Skip to content

release: v1.3.0 → stable#797

Merged
philanton merged 94 commits into
stablefrom
release/v1.3.0
May 28, 2026
Merged

release: v1.3.0 → stable#797
philanton merged 94 commits into
stablefrom
release/v1.3.0

Conversation

@philanton
Copy link
Copy Markdown
Contributor

Summary

  • Bump NPM packages (@yellow-org/sdk, @yellow-org/sdk-compat, @yellow-org/sdk-mcp) to 1.3.0
  • Set appVersion: 1.3.0 on nitronode, playground, faucet-app Helm charts

Merges release/v1.3.0 into stable. Tagging v1.3.0 on stable HEAD after merge triggers stable-tag.yml (Docker builds for nitronode, faucet-app, playground). mcp-v1.3.0 tag triggers MCP publish.

Test plan

  • CI green
  • Tag v1.3.0 on stable HEAD post-merge
  • Tag mcp-v1.3.0 for MCP publish
  • Verify Docker images pushed to ghcr.io
  • Verify NPM packages published

🤖 Generated with Claude Code

dimast-x and others added 30 commits April 16, 2026 16:27
* **New Features**
* App registry: register apps with owner signature and per-app approval
setting
* APIs to submit app versions and to list apps (filters: app_id,
owner_wallet) with pagination
* Optional owner signature path for creating app sessions when required

* **Database**
* App registry table added; app session records include version, status,
and timestamps

* **Tests & Docs**
  * Expanded tests and API docs for app registry and owner-sign flows
* **New Features**
* Action gateway enforcing per-action 24h allowances (scales with staked
tokens and app count).
  * Action logging and per-blockchain staking to support allowances.
  * CLI: commands to view action allowances and manage app registry.
  * New RPC/API and SDK methods to fetch a wallet's action allowances.

* **Configuration**
  * Environment-specific action gateway config and schema added.

* **Breaking Changes**
* App identifier fields renamed to application_id and app metadata now
nested under an app definition in responses.

---------

Co-authored-by: Anton Filonenko <philanton@users.noreply.github.com>
* **New Features**
* Added lifespan metrics storage, total-value-locked metric, and
active-user/app-session metrics with day/week/month windows.

* **Enhancements**
* Standardized/renamed session and channel metrics and added setters;
exporter now emits additional metrics and runs less frequently.
* Improved parsing for session and channel status inputs; expanded
intent constants.

* **Performance**
  * Added indexes to speed metric collection and aggregation.

* **Tests**
* Added comprehensive tests for metric recording, retrieval, ID
behavior, and activity counts.

---------

Co-authored-by: Anton Filonenko <philanton@users.noreply.github.com>
Bumps the gomod-dependencies group with 3 updates: [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum), [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) and [go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go).


Updates `github.com/ethereum/go-ethereum` from 1.17.0 to 1.17.1
- [Release notes](https://github.com/ethereum/go-ethereum/releases)
- [Commits](ethereum/go-ethereum@v1.17.0...v1.17.1)

Updates `go.opentelemetry.io/otel` from 1.40.0 to 1.41.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-go@v1.40.0...v1.41.0)

Updates `go.opentelemetry.io/otel/trace` from 1.40.0 to 1.41.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-go@v1.40.0...v1.41.0)

---
updated-dependencies:
- dependency-name: github.com/ethereum/go-ethereum
  dependency-version: 1.17.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gomod-dependencies
- dependency-name: go.opentelemetry.io/otel
  dependency-version: 1.41.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gomod-dependencies
- dependency-name: go.opentelemetry.io/otel/trace
  dependency-version: 1.41.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: gomod-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
…mples Updates, SigValidators Registration (#606)

* **New Features**
* Security token escrow: lock, relock, unlock, withdraw, approve, and
balance queries across chains (SDK & CLI)
* New CLI commands for security token management and WS URL/config
handling
  * Added "Yellow" asset support on Ethereum Sepolia
* Per-chain locking contract configuration and client support (Go/TS
SDKs)

* **Refactors**
* Reorganized blockchain client and event handling to separate
channel-hub and locking contract flows

---------

Co-authored-by: Anton Filonenko <philanton@users.noreply.github.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added an automated deployment script to deploy ChannelHub and its
associated components.

* **Chores**
* Added comprehensive deployment records and run traces across sandbox
and test networks for ChannelHub, validators, engines, session/key
validators, and premint tokens.

* **Documentation**
* Updated example and default WebSocket endpoints in docs and client
examples to point to the sandbox connection URL.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Dmytro Steblyna <dsteblyna@openware.center>
…stry, gated actions (#609)

## Summary

Reconciles `@yellow-org/sdk-compat` with `@yellow-org/sdk` v1.2.0,
adding all missing API surface and fixing several issues. Version bump:
**1.1.1 → 1.2.0** (minor, no breaking changes).

### New Compat Methods (15+)

- **Security Token Locking:** `lockSecurityTokens`,
`initiateSecurityTokensWithdrawal`, `cancelSecurityTokensWithdrawal`,
`withdrawSecurityTokens`, `approveSecurityToken`, `getLockedBalance` —
accept raw `bigint` amounts (v0.5.3 style), convert to `Decimal`
internally, with `amount > 0` validation
- **App Registry:** `getApps`, `registerApp`
- **Queries:** `getBlockchains`, `getActionAllowances`,
`getEscrowChannel`, `checkTokenAllowance`
- **Channel:** `acknowledge`
- **App Sessions:** `rebalanceAppSessions`
- **Lifecycle:** `waitForClose`

### Bug Fixes

- Fix `application` → `applicationId` field rename in `AppDefinitionV1`
(was broken against SDK v1.2.0)
- Export `OngoingStateTransitionError` from barrel + add to
`classifyError` detection
- Add `console.warn` when locking token decimals lookup falls back to
default (6)

### Improvements

- Add `ensureBlockchains()` cache to avoid redundant RPC calls in
locking methods
- Update stale `@layer-3/nitrolite` package references to
`@yellow-org/sdk` (keep old name only in v0.5.3 migration context)
- Peer dep tightened to `@yellow-org/sdk >=1.2.0`

### Files Changed

| File | Change |
|------|--------|
| `src/client.ts` | 15+ new methods, bugfixes, caching |
| `src/index.ts` | `OngoingStateTransitionError` export, package name
updates |
| `package.json` | Version bump, peer dep update |
| `README.md` | New method cheat sheet sections |
| `docs/migration-overview.md` | Package name fixes |
| `docs/migration-offchain.md` | Package name fix |
| `examples/lifecycle.ts` | Package name fix |
| `examples/tsconfig.json` | Path alias updates |

## Test Plan

- [x] `npm run typecheck` passes
- [x] `npm run build` passes
- [ ] Manual verification with clearnode sandbox

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Security token locking flows (lock, approve, initiate/cancel/withdraw,
check locked balance)
  * App registry (discover & register apps) and app session rebalancing
* New client endpoints: blockchains, token allowances, action
allowances, escrow lookup, and wait-for-close lifecycle

* **Documentation**
* Expanded README with examples, usage and amount conventions; migration
guides and examples updated to new package names

* **Behavior Changes**
* App session APIs now require quorum signatures; optional owner
signature supported

* **Chores**
  * Package bumped to 1.2.0 and peer requirement updated

* **Other**
  * Added ongoing-state-transition error type
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
![snyk-top-banner](https://res.cloudinary.com/snyk/image/upload/r-d/scm-platform/snyk-pull-requests/pr-banner-default.svg)


<h3>Snyk has created this PR to upgrade viem from 2.45.1 to 2.46.0.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.

<hr/>


- The recommended version is **3 versions** ahead of your current
version.

- The recommended version was released **22 days ago**.



<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>viem</b></summary>
    <ul>
      <li>
<b>2.46.0</b> - <a
href="https://redirect.github.com/wevm/viem/releases/tag/viem%402.46.0">2026-02-15</a></br><h3>Minor
Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4304"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4304/hovercard">#4304</a> <a
href="https://redirect.github.com/wevm/viem/commit/b6b50d40fb6bbadc851377b74b2dd4da584958b0"><code>b6b50d40fb6bbadc851377b74b2dd4da584958b0</code></a>
Thanks <a href="https://redirect.github.com/jxom">@ jxom</a>! -
<strong>Breaking (<code>viem/tempo</code>):</strong> Renamed
<code>nonceKey: 'random'</code> to <code>nonceKey: 'expiring'</code> to
align with <a href="https://docs.tempo.xyz/protocol/tips/tip-1009"
rel="nofollow">TIP-1009</a> terminology.</p>
<p>TIP-1009 defines "expiring nonces" as time-based replay protection
using <code>validBefore</code> timestamps. The name
<code>'expiring'</code> better describes the mechanism than
<code>'random'</code>.</p>
<div class="highlight highlight-source-diff notranslate
position-relative overflow-auto"
data-snippet-clipboard-copy-content="await sendTransaction(client, {
  account,
- nonceKey: 'random',
+ nonceKey: 'expiring',
  to: '0x...',
})"><pre>await sendTransaction(client, {
  account,
<span class="pl-md"><span class="pl-md">-</span> nonceKey:
'random',</span>
<span class="pl-mi1"><span class="pl-mi1">+</span> nonceKey:
'expiring',</span>
  to: '0x...',
})</pre></div>
</li>
</ul>
      </li>
      <li>
<b>2.45.3</b> - <a
href="https://redirect.github.com/wevm/viem/releases/tag/viem%402.45.3">2026-02-11</a></br><h3>Patch
Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4329"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4329/hovercard">#4329</a> <a
href="https://redirect.github.com/wevm/viem/commit/d12bb351c0b8c973b995583695606f9d083af1bb"><code>d12bb351c0b8c973b995583695606f9d083af1bb</code></a>
Thanks <a href="https://redirect.github.com/sakulstra">@ sakulstra</a>!
- Added multicall batching support for <code>getBalance</code> via
multicall3's <code>getEthBalance</code>. When the client has
<code>batch.multicall</code> enabled, <code>getBalance</code> calls are
now batched via <code>eth_call</code> instead of making individual
<code>eth_getBalance</code> RPC calls.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4333"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4333/hovercard">#4333</a> <a
href="https://redirect.github.com/wevm/viem/commit/71a324d6b98332f4f98e10c9de4d61287de8534a"><code>71a324d6b98332f4f98e10c9de4d61287de8534a</code></a>
Thanks <a href="https://redirect.github.com/kiyoakii">@ kiyoakii</a>! -
Added <code>blockCreated</code> field to MegaETH Mainnet and Testnet
multicall3 contract definitions.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4330"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4330/hovercard">#4330</a> <a
href="https://redirect.github.com/wevm/viem/commit/aab32a4a5eb3df06cdf8eab5d6f91259d438590b"><code>aab32a4a5eb3df06cdf8eab5d6f91259d438590b</code></a>
Thanks <a href="https://redirect.github.com/boredland">@ boredland</a>!
- Added <code>blockCreated</code> field to <code>zkSync</code>
multicall3 contract.</p>
</li>
</ul>
      </li>
      <li>
<b>2.45.2</b> - <a
href="https://redirect.github.com/wevm/viem/releases/tag/viem%402.45.2">2026-02-09</a></br><h3>Patch
Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4300"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4300/hovercard">#4300</a> <a
href="https://redirect.github.com/wevm/viem/commit/cc60e25ca55c022a56ed9e991ec23cb615593da6"><code>cc60e25ca55c022a56ed9e991ec23cb615593da6</code></a>
Thanks <a href="https://redirect.github.com/LXPDevs">@ LXPDevs</a>! -
Added LuxePorts chain.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4306"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4306/hovercard">#4306</a> <a
href="https://redirect.github.com/wevm/viem/commit/e3901661ba0442d6ae66c4d702396e8ee247d03f"><code>e3901661ba0442d6ae66c4d702396e8ee247d03f</code></a>
Thanks <a href="https://redirect.github.com/izharan-fireblocks">@
izharan-fireblocks</a>! - Added
<code>WalletConnectSessionSettlementError</code> as a non-retryable
transport error.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4301"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4301/hovercard">#4301</a> <a
href="https://redirect.github.com/wevm/viem/commit/662215f12310c3c2b17424093d3f4922693432f2"><code>662215f12310c3c2b17424093d3f4922693432f2</code></a>
Thanks <a href="https://redirect.github.com/xGreen-project">@
xGreen-project</a>! - Added XGR Mainnet chain.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4315"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4315/hovercard">#4315</a> <a
href="https://redirect.github.com/wevm/viem/commit/56d0920fd654ab93e89fff77769b0c982b8928d5"><code>56d0920fd654ab93e89fff77769b0c982b8928d5</code></a>
Thanks <a href="https://redirect.github.com/jxom">@ jxom</a>! - Fixed
<code>sendCallsSync</code> to respect client-level action overrides
(e.g. smart account clients).</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4294"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4294/hovercard">#4294</a> <a
href="https://redirect.github.com/wevm/viem/commit/8c3fa2684820c80e8908cc799fd47815594e4871"><code>8c3fa2684820c80e8908cc799fd47815594e4871</code></a>
Thanks <a href="https://redirect.github.com/Oighty">@ Oighty</a>! -
Added Citrea Mainnet chain support.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4321"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4321/hovercard">#4321</a> <a
href="https://redirect.github.com/wevm/viem/commit/059274e18c19270e7f7e98f0b087e7986d5a6dd7"><code>059274e18c19270e7f7e98f0b087e7986d5a6dd7</code></a>
Thanks <a href="https://redirect.github.com/highonrice">@
highonrice</a>! - Updated the native currency of Stable Mainnet.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4319"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4319/hovercard">#4319</a> <a
href="https://redirect.github.com/wevm/viem/commit/746f5ae3b220313748bf7e0eb2d86f07848b6628"><code>746f5ae3b220313748bf7e0eb2d86f07848b6628</code></a>
Thanks <a href="https://redirect.github.com/brotherlymite">@
brotherlymite</a>! - Added etherscan explorer for MegaETH.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4305"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4305/hovercard">#4305</a> <a
href="https://redirect.github.com/wevm/viem/commit/428ef7cd7b4d6e9860296df841ce2f4a8d494bc1"><code>428ef7cd7b4d6e9860296df841ce2f4a8d494bc1</code></a>
Thanks <a href="https://redirect.github.com/LxpSrDev">@ LxpSrDev</a>! -
Added LuxePorts chain.</p>
</li>
</ul>
      </li>
      <li>
<b>2.45.1</b> - <a
href="https://redirect.github.com/wevm/viem/releases/tag/viem%402.45.1">2026-01-29</a></br><h3>Patch
Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4273"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4273/hovercard">#4273</a> <a
href="https://redirect.github.com/wevm/viem/commit/bf3f117aa4d6a4693af29894b1c27e130623cbc7"><code>bf3f117aa4d6a4693af29894b1c27e130623cbc7</code></a>
Thanks <a href="https://redirect.github.com/nicodlz">@ nicodlz</a>! -
Added Subtensor EVM chain.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4272"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4272/hovercard">#4272</a> <a
href="https://redirect.github.com/wevm/viem/commit/a3a4ff9a25c8f31d3caef533d3d100cf22c1ea5e"><code>a3a4ff9a25c8f31d3caef533d3d100cf22c1ea5e</code></a>
Thanks <a href="https://redirect.github.com/matzapata">@ matzapata</a>!
- Added Alpen Testnet</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4228"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4228/hovercard">#4228</a> <a
href="https://redirect.github.com/wevm/viem/commit/26ffdfbef41e08a4d6837051eda615fb659c2c31"><code>26ffdfbef41e08a4d6837051eda615fb659c2c31</code></a>
Thanks <a href="https://redirect.github.com/sakulstra">@ sakulstra</a>!
- Improved performance in <code>parseEventLogs</code> by memoizing.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4275"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4275/hovercard">#4275</a> <a
href="https://redirect.github.com/wevm/viem/commit/ea8398b80c6fa90747e979d959c32e276bdd43e1"><code>ea8398b80c6fa90747e979d959c32e276bdd43e1</code></a>
Thanks <a href="https://redirect.github.com/GiovaniGuizzo">@
GiovaniGuizzo</a>! - Added KiiChain mainnet chain definition</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4259"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4259/hovercard">#4259</a> <a
href="https://redirect.github.com/wevm/viem/commit/1ae28c2a9acb55b8fc599643549a52ec71a02e72"><code>1ae28c2a9acb55b8fc599643549a52ec71a02e72</code></a>
Thanks <a href="https://redirect.github.com/cruzdanilo">@
cruzdanilo</a>! - Fixed error decoding in <code>simulateBlocks</code>
when RPC returns revert data in <code>returnData</code> instead of
<code>error.data</code>.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4260"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4260/hovercard">#4260</a> <a
href="https://redirect.github.com/wevm/viem/commit/1f2a1839c201a2f5b97bddf26d605fb0394cdbd7"><code>1f2a1839c201a2f5b97bddf26d605fb0394cdbd7</code></a>
Thanks <a href="https://redirect.github.com/akitothemoon">@
akitothemoon</a>! - Added Horizen Testnet.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/wevm/viem/commit/4fe411bd4231ec0a89159723ec68fcfe13c10071"><code>4fe411bd4231ec0a89159723ec68fcfe13c10071</code></a>
Thanks <a href="https://redirect.github.com/jxom">@ jxom</a>! - Added
<code>nonce</code> and <code>faucet.fundSync</code> actions to
decorator.</p>
</li>
</ul>
      </li>
    </ul>
from <a href="https://redirect.github.com/wevm/viem/releases">viem
GitHub release notes</a>
  </details>
</details>

---

> [!IMPORTANT]
>
> - Check the changes in this PR to ensure they won't cause issues with
your project.
> - This PR was automatically created by Snyk using the credentials of a
real user.

---

**Note:** _You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs._

**For more information:** <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6ImZha2Uta2V5IiwiYW5vbnltb3VzSWQiOiJkMWJjNzNmYS05NmNhLTQ4YTUtYjhkMC04OGE5Y2VmOGUxYjUiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6ImQxYmM3M2ZhLTk2Y2EtNDhhNS1iOGQwLTg4YTljZWY4ZTFiNSJ9fQ=="
width="0" height="0"/>

> - 🧐 [View latest project
report](https://app.eu.snyk.io/org/layer-3-foundation-default/project/91b1884e-49c9-4b0d-a397-0ff65ce23030?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 📜 [Customise PR
templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates?utm_source=&utm_content=fix-pr-template)
> - 🛠 [Adjust upgrade PR
settings](https://app.eu.snyk.io/org/layer-3-foundation-default/project/91b1884e-49c9-4b0d-a397-0ff65ce23030/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.eu.snyk.io/org/layer-3-foundation-default/project/91b1884e-49c9-4b0d-a397-0ff65ce23030/settings/integration?pkg&#x3D;viem&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

[//]: #
'snyk:metadata:{"breakingChangeRiskLevel":null,"FF_showPullRequestBreakingChanges":false,"FF_showPullRequestBreakingChangesWebSearch":false,"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"viem","from":"2.45.1","to":"2.46.0"}],"env":"prod","hasFixes":false,"isBreakingChange":false,"isMajorUpgrade":false,"issuesToFix":[],"prId":"d1bc73fa-96ca-48a5-b8d0-88a9cef8e1b5","prPublicId":"d1bc73fa-96ca-48a5-b8d0-88a9cef8e1b5","packageManager":"npm","priorityScoreList":[],"projectPublicId":"91b1884e-49c9-4b0d-a397-0ff65ce23030","projectUrl":"https://app.eu.snyk.io/org/layer-3-foundation-default/project/91b1884e-49c9-4b0d-a397-0ff65ce23030?utm_source=github&utm_medium=referral&page=upgrade-pr","prType":"upgrade","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":[],"type":"auto","upgrade":[],"upgradeInfo":{"versionsDiff":3,"publishedDate":"2026-02-15T04:02:45.482Z"},"vulns":[]}'

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
* **Documentation**
* Expanded and clarified communication flows into multi‑phase, stepwise
processes (deposit, withdrawal, escrow, transfer, channel lifecycle)
with clearer client/node interactions and event semantics.
* Standardized state ID and signing notes (epoch-based IDs, explicit
signer-type handling) and renamed transition identifiers for clarity.
* Restructured project and data‑model docs: modularized components,
added explicit entity/enumeration descriptions, and improved
relationship diagrams and terminology.
* **Documentation**
* Added comprehensive documentation guide establishing standards and
structure for repository documentation across four domains: Protocol,
System Architecture, Build, and Operator. Includes terminology
management, directory layout specifications, and formatting guidelines
for consistent documentation practices.

Co-authored-by: Anton Filonenko <philanton@users.noreply.github.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added explicit challenge-expired error and enforced expiry checks for
escrow challenge flows.
* Renamed the non-existent-escrow error to clarify escrow-specific
reporting.

* **Bug Fixes**
* Adjusted escrow finalization on non-home chains so timed-out
unilateral finalizations release funds to users as intended.
  * Normalized time-comparison logic in challenge expiry checks.

* **Tests**
* Expanded non-home-chain challenge tests for deposits, withdrawals, and
migration; removed some obsolete home-chain tests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Introduced NodeBalanceUpdated event so external observers can track
per-node token balance changes; emitted only when a node's balance
actually changes.

* **Tests**
* Added comprehensive tests ensuring the event is emitted for expected
operations and not emitted when balances remain unchanged across
lifecycle and escrow scenarios.

* **Chores**
* Updated import paths, lint directives, and compilation optimizer
settings to align project structure and build configuration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
* **Documentation**
* Added comprehensive Nitrolite Protocol documentation suite covering
channel operations, state management, cryptographic authentication,
unified asset and cross-chain functionality, on-chain enforcement
procedures, peer communication protocols, security guarantees, and
terminology reference guide.

---------

Co-authored-by: Dmytro Steblyna <dsteblyna@openware.center>
…th 7 updates (#622)

Bumps the gomod-dependencies group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
|
[github.com/testcontainers/testcontainers-go](https://github.com/testcontainers/testcontainers-go)
| `0.40.0` | `0.41.0` |
|
[github.com/testcontainers/testcontainers-go/modules/postgres](https://github.com/testcontainers/testcontainers-go)
| `0.40.0` | `0.41.0` |
| [go.yaml.in/yaml/v2](https://github.com/yaml/go-yaml) | `2.4.2` |
`2.4.4` |
| [golang.org/x/term](https://github.com/golang/term) | `0.40.0` |
`0.41.0` |
|
[google.golang.org/api](https://github.com/googleapis/google-api-go-client)
| `0.269.0` | `0.271.0` |
|
[go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go)
| `1.41.0` | `1.42.0` |


Updates `github.com/testcontainers/testcontainers-go` from 0.40.0 to
0.41.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/testcontainers/testcontainers-go/releases">github.com/testcontainers/testcontainers-go's
releases</a>.</em></p>
<blockquote>
<h2>v0.41.0</h2>
<h1>What's Changed</h1>
<h2>🚀 Features</h2>
<ul>
<li>feat: add TiDB module (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3575">#3575</a>)
<a
href="https://github.com/iyiola-dev"><code>@​iyiola-dev</code></a></li>
<li>feat: add Forgejo module (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3556">#3556</a>)
<a href="https://github.com/s04"><code>@​s04</code></a></li>
<li>feat: improve container conflict detection (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3574">#3574</a>)
<a href="https://github.com/Desuuuu"><code>@​Desuuuu</code></a></li>
<li>feat(azure): add lowkey vault container (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3542">#3542</a>)
<a href="https://github.com/nagyesta"><code>@​nagyesta</code></a></li>
<li>feat(chroma): update to chroma 1.x (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3552">#3552</a>)
<a href="https://github.com/tazarov"><code>@​tazarov</code></a></li>
<li>feat(cassandra): add ssl option cassandra (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3151">#3151</a>)
<a
href="https://github.com/MitulShah1"><code>@​MitulShah1</code></a></li>
</ul>
<h2>🐛 Bug Fixes</h2>
<ul>
<li>fix(redpanda): closing provider in test after use (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3539">#3539</a>)
<a href="https://github.com/mabrarov"><code>@​mabrarov</code></a></li>
<li>fix: docker auth for docker.io images (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3482">#3482</a>)
<a
href="https://github.com/LaurentGoderre"><code>@​LaurentGoderre</code></a></li>
<li>fix(solace): set ulimits for container (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3497">#3497</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>fix(kafka): strip architecture suffix from Kafka image tags for
semver parsing (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3276">#3276</a>)
<a
href="https://github.com/asahasrabuddhe"><code>@​asahasrabuddhe</code></a></li>
</ul>
<h2>📖 Documentation</h2>
<ul>
<li>docs(metrics): automate usage metrics collection and publish it in
the docs site (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3495">#3495</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
</ul>
<h2>🧹 Housekeeping</h2>
<ul>
<li>chore(deps): bump actions/checkout from 6.0.1 to 6.0.2 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3560">#3560</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore(pulsar): bump base image to 4.x, replacing the wait for log
strategy with wait for listening port (deterministic) (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3573">#3573</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>chore(deps): bump github.com/modelcontextprotocol/go-sdk from 1.0.0
to 1.3.1 in /modules/dockermcpgateway (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3557">#3557</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore: update usage metrics (2026-03-02) (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3565">#3565</a>)
@<a
href="https://github.com/apps/github-actions">github-actions[bot]</a></li>
<li>chore(deps): bump mkdocs-include-markdown-plugin from 7.2.0 to 7.2.1
(<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3547">#3547</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore(deps): bump tj-actions/changed-files from 47.0.0 to 47.0.1 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3546">#3546</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore(deps): bump actions/upload-artifact from 4.6.2 to 6.0.0 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3545">#3545</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore: update usage metrics (2026-02-02) (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3551">#3551</a>)
@<a
href="https://github.com/apps/github-actions">github-actions[bot]</a></li>
<li>chore(deps): bump pymdown-extensions from 10.8.1 to 10.16.1 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3513">#3513</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore: update usage metrics (2026-01-01) (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3515">#3515</a>)
@<a
href="https://github.com/apps/github-actions">github-actions[bot]</a></li>
<li>chore: update usage metrics (2025-12-01) (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3506">#3506</a>)
@<a
href="https://github.com/apps/github-actions">github-actions[bot]</a></li>
<li>chore(metrics): allow sending PRs from the workflow (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3503">#3503</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>fix(metrics): use the right CSV file (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3502">#3502</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>fix(metrics): use the right CSV file (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3501">#3501</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>chore(metrics): even better rate limit strategy (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3500">#3500</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>chore(metrics): properly detect rate limits (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3499">#3499</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>fix(metrics): set GH _TOKEN in workflow (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3498">#3498</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
</ul>
<h2>📦 Dependency updates</h2>
<ul>
<li>fix: update compose-replace Makefile target to use compose/v5 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3590">#3590</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>chore(deps): bump atomicjar/testcontainers-cloud-setup-action from
1.3.0 to 1.4.0 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3559">#3559</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore(deps): bump golang.org/x/text from 0.14.0 to 0.34.0 in
/modulegen (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3582">#3582</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore(deps): bump mkdocs-codeinclude-plugin from 0.2.1 to 0.3.1 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3579">#3579</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore(deps): bump golang.org/x/mod from 0.16.0 to 0.33.0 in
/modulegen (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3583">#3583</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore(deps): bump github.com/aerospike/aerospike-client-go/v8 from
8.2.0 to 8.6.0 in /modules/aerospike (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3584">#3584</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/2ea97c81e0490179340340526025f9b084948780"><code>2ea97c8</code></a>
chore: use new version (v0.41.0) in modules and examples</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/9a663f75e6aa5f0a5ccbac8e89a2a56d7565b9f8"><code>9a663f7</code></a>
fix: update compose-replace Makefile target to use compose/v5 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3590">#3590</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/10481c29a07792cf7d7d774483ffe3d96a16dd88"><code>10481c2</code></a>
chore(deps): bump atomicjar/testcontainers-cloud-setup-action (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3559">#3559</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/bdb12ddc45d0be326134352f0d9459e6f6af6faf"><code>bdb12dd</code></a>
chore(deps): bump golang.org/x/text from 0.14.0 to 0.34.0 in /modulegen
(<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3582">#3582</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/5bd7f075ffb765d86d0e1633d5ea88c63c92b60f"><code>5bd7f07</code></a>
chore(deps): bump mkdocs-codeinclude-plugin from 0.2.1 to 0.3.1 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3579">#3579</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/c9ccfc5de28352b12a5adee5d54853edaf0d2873"><code>c9ccfc5</code></a>
chore(deps): bump golang.org/x/mod from 0.16.0 to 0.33.0 in /modulegen
(<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3583">#3583</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/21ec740d8d09247709ab07a9b42aaef7dba245a1"><code>21ec740</code></a>
chore(deps): bump github.com/aerospike/aerospike-client-go/v8 from 8.2.0
to 8...</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/fb47b827e83fe018ec96a331823fa28dbaeef72c"><code>fb47b82</code></a>
chore(deps): bump golang.org/x/mod in /modules/localstack (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3587">#3587</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/6686e3164aeea4e469810ddbc87f7bb1ecfc2434"><code>6686e31</code></a>
chore(deps): bump golang.org/x/mod in /modules/elasticsearch (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3585">#3585</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/0656548f8a4877e7c0617196ec84ff0c5f43d88b"><code>0656548</code></a>
chore(deps): bump golang.org/x/mod in /modules/redpanda (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3588">#3588</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/testcontainers/testcontainers-go/compare/v0.40.0...v0.41.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/testcontainers/testcontainers-go/modules/postgres`
from 0.40.0 to 0.41.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/testcontainers/testcontainers-go/releases">github.com/testcontainers/testcontainers-go/modules/postgres's
releases</a>.</em></p>
<blockquote>
<h2>v0.41.0</h2>
<h1>What's Changed</h1>
<h2>🚀 Features</h2>
<ul>
<li>feat: add TiDB module (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3575">#3575</a>)
<a
href="https://github.com/iyiola-dev"><code>@​iyiola-dev</code></a></li>
<li>feat: add Forgejo module (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3556">#3556</a>)
<a href="https://github.com/s04"><code>@​s04</code></a></li>
<li>feat: improve container conflict detection (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3574">#3574</a>)
<a href="https://github.com/Desuuuu"><code>@​Desuuuu</code></a></li>
<li>feat(azure): add lowkey vault container (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3542">#3542</a>)
<a href="https://github.com/nagyesta"><code>@​nagyesta</code></a></li>
<li>feat(chroma): update to chroma 1.x (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3552">#3552</a>)
<a href="https://github.com/tazarov"><code>@​tazarov</code></a></li>
<li>feat(cassandra): add ssl option cassandra (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3151">#3151</a>)
<a
href="https://github.com/MitulShah1"><code>@​MitulShah1</code></a></li>
</ul>
<h2>🐛 Bug Fixes</h2>
<ul>
<li>fix(redpanda): closing provider in test after use (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3539">#3539</a>)
<a href="https://github.com/mabrarov"><code>@​mabrarov</code></a></li>
<li>fix: docker auth for docker.io images (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3482">#3482</a>)
<a
href="https://github.com/LaurentGoderre"><code>@​LaurentGoderre</code></a></li>
<li>fix(solace): set ulimits for container (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3497">#3497</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>fix(kafka): strip architecture suffix from Kafka image tags for
semver parsing (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3276">#3276</a>)
<a
href="https://github.com/asahasrabuddhe"><code>@​asahasrabuddhe</code></a></li>
</ul>
<h2>📖 Documentation</h2>
<ul>
<li>docs(metrics): automate usage metrics collection and publish it in
the docs site (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3495">#3495</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
</ul>
<h2>🧹 Housekeeping</h2>
<ul>
<li>chore(deps): bump actions/checkout from 6.0.1 to 6.0.2 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3560">#3560</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore(pulsar): bump base image to 4.x, replacing the wait for log
strategy with wait for listening port (deterministic) (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3573">#3573</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>chore(deps): bump github.com/modelcontextprotocol/go-sdk from 1.0.0
to 1.3.1 in /modules/dockermcpgateway (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3557">#3557</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore: update usage metrics (2026-03-02) (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3565">#3565</a>)
@<a
href="https://github.com/apps/github-actions">github-actions[bot]</a></li>
<li>chore(deps): bump mkdocs-include-markdown-plugin from 7.2.0 to 7.2.1
(<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3547">#3547</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore(deps): bump tj-actions/changed-files from 47.0.0 to 47.0.1 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3546">#3546</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore(deps): bump actions/upload-artifact from 4.6.2 to 6.0.0 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3545">#3545</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore: update usage metrics (2026-02-02) (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3551">#3551</a>)
@<a
href="https://github.com/apps/github-actions">github-actions[bot]</a></li>
<li>chore(deps): bump pymdown-extensions from 10.8.1 to 10.16.1 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3513">#3513</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore: update usage metrics (2026-01-01) (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3515">#3515</a>)
@<a
href="https://github.com/apps/github-actions">github-actions[bot]</a></li>
<li>chore: update usage metrics (2025-12-01) (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3506">#3506</a>)
@<a
href="https://github.com/apps/github-actions">github-actions[bot]</a></li>
<li>chore(metrics): allow sending PRs from the workflow (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3503">#3503</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>fix(metrics): use the right CSV file (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3502">#3502</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>fix(metrics): use the right CSV file (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3501">#3501</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>chore(metrics): even better rate limit strategy (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3500">#3500</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>chore(metrics): properly detect rate limits (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3499">#3499</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>fix(metrics): set GH _TOKEN in workflow (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3498">#3498</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
</ul>
<h2>📦 Dependency updates</h2>
<ul>
<li>fix: update compose-replace Makefile target to use compose/v5 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3590">#3590</a>)
<a
href="https://github.com/mdelapenya"><code>@​mdelapenya</code></a></li>
<li>chore(deps): bump atomicjar/testcontainers-cloud-setup-action from
1.3.0 to 1.4.0 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3559">#3559</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore(deps): bump golang.org/x/text from 0.14.0 to 0.34.0 in
/modulegen (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3582">#3582</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore(deps): bump mkdocs-codeinclude-plugin from 0.2.1 to 0.3.1 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3579">#3579</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore(deps): bump golang.org/x/mod from 0.16.0 to 0.33.0 in
/modulegen (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3583">#3583</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
<li>chore(deps): bump github.com/aerospike/aerospike-client-go/v8 from
8.2.0 to 8.6.0 in /modules/aerospike (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3584">#3584</a>)
@<a href="https://github.com/apps/dependabot">dependabot[bot]</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/2ea97c81e0490179340340526025f9b084948780"><code>2ea97c8</code></a>
chore: use new version (v0.41.0) in modules and examples</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/9a663f75e6aa5f0a5ccbac8e89a2a56d7565b9f8"><code>9a663f7</code></a>
fix: update compose-replace Makefile target to use compose/v5 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3590">#3590</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/10481c29a07792cf7d7d774483ffe3d96a16dd88"><code>10481c2</code></a>
chore(deps): bump atomicjar/testcontainers-cloud-setup-action (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3559">#3559</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/bdb12ddc45d0be326134352f0d9459e6f6af6faf"><code>bdb12dd</code></a>
chore(deps): bump golang.org/x/text from 0.14.0 to 0.34.0 in /modulegen
(<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3582">#3582</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/5bd7f075ffb765d86d0e1633d5ea88c63c92b60f"><code>5bd7f07</code></a>
chore(deps): bump mkdocs-codeinclude-plugin from 0.2.1 to 0.3.1 (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3579">#3579</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/c9ccfc5de28352b12a5adee5d54853edaf0d2873"><code>c9ccfc5</code></a>
chore(deps): bump golang.org/x/mod from 0.16.0 to 0.33.0 in /modulegen
(<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3583">#3583</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/21ec740d8d09247709ab07a9b42aaef7dba245a1"><code>21ec740</code></a>
chore(deps): bump github.com/aerospike/aerospike-client-go/v8 from 8.2.0
to 8...</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/fb47b827e83fe018ec96a331823fa28dbaeef72c"><code>fb47b82</code></a>
chore(deps): bump golang.org/x/mod in /modules/localstack (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3587">#3587</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/6686e3164aeea4e469810ddbc87f7bb1ecfc2434"><code>6686e31</code></a>
chore(deps): bump golang.org/x/mod in /modules/elasticsearch (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3585">#3585</a>)</li>
<li><a
href="https://github.com/testcontainers/testcontainers-go/commit/0656548f8a4877e7c0617196ec84ff0c5f43d88b"><code>0656548</code></a>
chore(deps): bump golang.org/x/mod in /modules/redpanda (<a
href="https://redirect.github.com/testcontainers/testcontainers-go/issues/3588">#3588</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/testcontainers/testcontainers-go/compare/v0.40.0...v0.41.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `go.yaml.in/yaml/v2` from 2.4.2 to 2.4.4
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/yaml/go-yaml/commit/43b627a9da72517e91dbcf07cd10dfd6618423d8"><code>43b627a</code></a>
Replace gopkg.in/check.v1 with the standard testing library</li>
<li><a
href="https://github.com/yaml/go-yaml/commit/3b57511c5e469cd030f5df7705d1f4208aa8b339"><code>3b57511</code></a>
Retract v2 tags that cannot be installed</li>
<li>See full diff in <a
href="https://github.com/yaml/go-yaml/compare/v2.4.2...v2.4.4">compare
view</a></li>
</ul>
</details>
<br />

Updates `golang.org/x/term` from 0.40.0 to 0.41.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/golang/term/commit/9d2dc074d2bdcb2229cbbaa0a252eace245a6489"><code>9d2dc07</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="https://github.com/golang/term/commit/d954e03213327a5b6380b6c2aec621192ee56007"><code>d954e03</code></a>
all: upgrade go directive to at least 1.25.0 [generated]</li>
<li>See full diff in <a
href="https://github.com/golang/term/compare/v0.40.0...v0.41.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `google.golang.org/api` from 0.269.0 to 0.271.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/google-api-go-client/releases">google.golang.org/api's
releases</a>.</em></p>
<blockquote>
<h2>v0.271.0</h2>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.270.0...v0.271.0">0.271.0</a>
(2026-03-10)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3532">#3532</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/ccff5b35c0d730214473de122dcb96b110be0029">ccff5b3</a>)</li>
</ul>
<h2>v0.270.0</h2>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.269.0...v0.270.0">0.270.0</a>
(2026-03-08)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3515">#3515</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/44db8ef7d07171dad68a5cc9026ab3f1cd77ef12">44db8ef</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3518">#3518</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/b3dc663d78cba7be5dbd998a439edcdf4991b807">b3dc663</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3519">#3519</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/01c06b9034963e27855bf188049d1752fc2de525">01c06b9</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3520">#3520</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/7ed04540e547ca9cef1f9f48d54c1277f24773bf">7ed0454</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3521">#3521</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/d11f54e813163dfc52515d214065c67bc944c7ef">d11f54e</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3523">#3523</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/ce39b40dedcd239ea2fb4a18aedf23ba61b8ae90">ce39b40</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3525">#3525</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/15b140d66a7b67dd6bfea7d1473bd2df4d878f95">15b140d</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3526">#3526</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/1b18158bb7807b1a5a9f73dd4ec450f274a81da8">1b18158</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3527">#3527</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/a932a454c4fd97dfc66f0cca97afeae231a7e4e9">a932a45</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3528">#3528</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/f6ede69e7094cf4f7353841d593867f087f06b84">f6ede69</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3529">#3529</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/b73e4fbc0017249279922cb4c223e44f98cc5db9">b73e4fb</a>)</li>
<li><strong>option/internaloption:</strong> Add more option
introspection (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3524">#3524</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/ac5da8f06619417a42c5e128dcb5aafcb1912353">ac5da8f</a>)</li>
<li><strong>option/internaloption:</strong> Unsafe option resolver (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3514">#3514</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/b263ceeb1a4062ae6cda17c49073d5051d96fc90">b263cee</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md">google.golang.org/api's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.270.0...v0.271.0">0.271.0</a>
(2026-03-10)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3532">#3532</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/ccff5b35c0d730214473de122dcb96b110be0029">ccff5b3</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.269.0...v0.270.0">0.270.0</a>
(2026-03-08)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3515">#3515</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/44db8ef7d07171dad68a5cc9026ab3f1cd77ef12">44db8ef</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3518">#3518</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/b3dc663d78cba7be5dbd998a439edcdf4991b807">b3dc663</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3519">#3519</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/01c06b9034963e27855bf188049d1752fc2de525">01c06b9</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3520">#3520</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/7ed04540e547ca9cef1f9f48d54c1277f24773bf">7ed0454</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3521">#3521</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/d11f54e813163dfc52515d214065c67bc944c7ef">d11f54e</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3523">#3523</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/ce39b40dedcd239ea2fb4a18aedf23ba61b8ae90">ce39b40</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3525">#3525</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/15b140d66a7b67dd6bfea7d1473bd2df4d878f95">15b140d</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3526">#3526</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/1b18158bb7807b1a5a9f73dd4ec450f274a81da8">1b18158</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3527">#3527</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/a932a454c4fd97dfc66f0cca97afeae231a7e4e9">a932a45</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3528">#3528</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/f6ede69e7094cf4f7353841d593867f087f06b84">f6ede69</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3529">#3529</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/b73e4fbc0017249279922cb4c223e44f98cc5db9">b73e4fb</a>)</li>
<li><strong>option/internaloption:</strong> Add more option
introspection (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3524">#3524</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/ac5da8f06619417a42c5e128dcb5aafcb1912353">ac5da8f</a>)</li>
<li><strong>option/internaloption:</strong> Unsafe option resolver (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3514">#3514</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/b263ceeb1a4062ae6cda17c49073d5051d96fc90">b263cee</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/e79327bd305ea52af1334ef6b5385cf7a5acbbdc"><code>e79327b</code></a>
chore(main): release 0.271.0 (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3533">#3533</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/a3dde28f12bc0c1aaab4a8a74ad9f46b53d53004"><code>a3dde28</code></a>
chore(deps): bump github.com/cloudflare/circl from 1.6.1 to 1.6.3 in
/interna...</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/bad57c0a2c19b7e0e5f5083d911544cca340a98a"><code>bad57c0</code></a>
chore(all): update all (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3530">#3530</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/ccff5b35c0d730214473de122dcb96b110be0029"><code>ccff5b3</code></a>
feat(all): auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3532">#3532</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/15dd0b11d31423e7811736bbabe7e512a214f225"><code>15dd0b1</code></a>
chore(option/internaloption): more accessors (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3531">#3531</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/ad5d5aa8fa892f0129604d9c139081cc99eb4700"><code>ad5d5aa</code></a>
chore(main): release 0.270.0 (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3516">#3516</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/b73e4fbc0017249279922cb4c223e44f98cc5db9"><code>b73e4fb</code></a>
feat(all): auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3529">#3529</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/f6ede69e7094cf4f7353841d593867f087f06b84"><code>f6ede69</code></a>
feat(all): auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3528">#3528</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/7342fc24a37cfa818cf4834578e0198c1b5e0334"><code>7342fc2</code></a>
chore(all): update all (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3522">#3522</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/a932a454c4fd97dfc66f0cca97afeae231a7e4e9"><code>a932a45</code></a>
feat(all): auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3527">#3527</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/google-api-go-client/compare/v0.269.0...v0.271.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `go.opentelemetry.io/otel` from 1.41.0 to 1.42.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md">go.opentelemetry.io/otel's
changelog</a>.</em></p>
<blockquote>
<h2>[1.42.0/0.64.0/0.18.0/0.0.16] 2026-03-06</h2>
<h3>Added</h3>
<ul>
<li>Add <code>go.opentelemetry.io/otel/semconv/v1.40.0</code> package.
The package contains semantic conventions from the <code>v1.40.0</code>
version of the OpenTelemetry Semantic Conventions.
See the <a
href="https://github.com/open-telemetry/opentelemetry-go/blob/main/semconv/v1.40.0/MIGRATION.md">migration
documentation</a> for information on how to upgrade from
<code>go.opentelemetry.io/otel/semconv/v1.39.0</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7985">#7985</a>)</li>
<li>Add <code>Err</code> and <code>SetErr</code> on <code>Record</code>
in <code>go.opentelemetry.io/otel/log</code> to attach an error and set
record exception attributes in
<code>go.opentelemetry.io/otel/log/sdk</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7924">#7924</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li><code>TracerProvider.ForceFlush</code> in
<code>go.opentelemetry.io/otel/sdk/trace</code> joins errors together
and continues iteration through SpanProcessors as opposed to returning
the first encountered error without attempting exports on subsequent
SpanProcessors. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7856">#7856</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix missing <code>request.GetBody</code> in
<code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>
to correctly handle HTTP2 GOAWAY frame. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7931">#7931</a>)</li>
<li>Fix semconv v1.39.0 generated metric helpers skipping required
attributes when extra attributes were empty. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7964">#7964</a>)</li>
<li>Preserve W3C TraceFlags bitmask (including the random Trace ID flag)
during trace context extraction and injection in
<code>go.opentelemetry.io/otel/propagation</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7834">#7834</a>)</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Drop support for [Go 1.24]. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7984">#7984</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/a3941ff595235e952774f0a581c7655bec93b0ab"><code>a3941ff</code></a>
Release v1.42.0/v0.64.0/v0.18.0/v0.0.16 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8006">#8006</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/6059c47bc64a1329618d8c06d31098cd1eee7750"><code>6059c47</code></a>
chore(deps): update golang.org/x/telemetry digest to e526e8a (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8010">#8010</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/44c7edf896e0672b8b522700dcb9d56011349897"><code>44c7edf</code></a>
chore(deps): update module github.com/mgechev/revive to v1.15.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8009">#8009</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/de5fb3ad101bc8de082bcaae93d4129ce467ad8c"><code>de5fb3a</code></a>
fix(deps): update module google.golang.org/grpc to v1.79.2 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8007">#8007</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/0b82ded815a410d3bc0fc8b30802fd3a41059db3"><code>0b82ded</code></a>
chore(deps): update codspeedhq/action action to v4.11.1 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8001">#8001</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/aa3660f77e65ad0873ae7f06084bfc9ddc62948b"><code>aa3660f</code></a>
chore(deps): update github/codeql-action action to v4.32.6 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8004">#8004</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/9be8c92a131a085c8b33b32bf19b3e16c413e2ae"><code>9be8c92</code></a>
chore(deps): update dependency codespell to v2.4.2 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8003">#8003</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/c9d20155fcfa8d7dad13d1358fcdf63989113693"><code>c9d2015</code></a>
log: add error field to Record and make SDK to emit exception attributes
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7924">#7924</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/fdd1320c39ebc4b8e976f58e0af55965f25411c7"><code>fdd1320</code></a>
TracerProvider ForceFlush() Error Fix (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7856">#7856</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/78f99042e2b038c4c86c5fa1ffd0609ec498c1db"><code>78f9904</code></a>
chore(deps): update golang.org/x/telemetry digest to 18da590 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8000">#8000</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/open-telemetry/opentelemetry-go/compare/v1.41.0...v1.42.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `go.opentelemetry.io/otel/trace` from 1.41.0 to 1.42.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md">go.opentelemetry.io/otel/trace's
changelog</a>.</em></p>
<blockquote>
<h2>[1.42.0/0.64.0/0.18.0/0.0.16] 2026-03-06</h2>
<h3>Added</h3>
<ul>
<li>Add <code>go.opentelemetry.io/otel/semconv/v1.40.0</code> package.
The package contains semantic conventions from the <code>v1.40.0</code>
version of the OpenTelemetry Semantic Conventions.
See the <a
href="https://github.com/open-telemetry/opentelemetry-go/blob/main/semconv/v1.40.0/MIGRATION.md">migration
documentation</a> for information on how to upgrade from
<code>go.opentelemetry.io/otel/semconv/v1.39.0</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7985">#7985</a>)</li>
<li>Add <code>Err</code> and <code>SetErr</code> on <code>Record</code>
in <code>go.opentelemetry.io/otel/log</code> to attach an error and set
record exception attributes in
<code>go.opentelemetry.io/otel/log/sdk</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7924">#7924</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li><code>TracerProvider.ForceFlush</code> in
<code>go.opentelemetry.io/otel/sdk/trace</code> joins errors together
and continues iteration through SpanProcessors as opposed to returning
the first encountered error without attempting exports on subsequent
SpanProcessors. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7856">#7856</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix missing <code>request.GetBody</code> in
<code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>
to correctly handle HTTP2 GOAWAY frame. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7931">#7931</a>)</li>
<li>Fix semconv v1.39.0 generated metric helpers skipping required
attributes when extra attributes were empty. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7964">#7964</a>)</li>
<li>Preserve W3C TraceFlags bitmask (including the random Trace ID flag)
during trace context extraction and injection in
<code>go.opentelemetry.io/otel/propagation</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7834">#7834</a>)</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Drop support for [Go 1.24]. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7984">#7984</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/a3941ff595235e952774f0a581c7655bec93b0ab"><code>a3941ff</code></a>
Release v1.42.0/v0.64.0/v0.18.0/v0.0.16 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8006">#8006</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/6059c47bc64a1329618d8c06d31098cd1eee7750"><code>6059c47</code></a>
chore(deps): update golang.org/x/telemetry digest to e526e8a (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8010">#8010</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/44c7edf896e0672b8b522700dcb9d56011349897"><code>44c7edf</code></a>
chore(deps): update module github.com/mgechev/revive to v1.15.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8009">#8009</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/de5fb3ad101bc8de082bcaae93d4129ce467ad8c"><code>de5fb3a</code></a>
fix(deps): update module google.golang.org/grpc to v1.79.2 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8007">#8007</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/0b82ded815a410d3bc0fc8b30802fd3a41059db3"><code>0b82ded</code></a>
chore(deps): update codspeedhq/action action to v4.11.1 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8001">#8001</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/aa3660f77e65ad0873ae7f06084bfc9ddc62948b"><code>aa3660f</code></a>
chore(deps): update github/codeql-action action to v4.32.6 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8004">#8004</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/9be8c92a131a085c8b33b32bf19b3e16c413e2ae"><code>9be8c92</code></a>
chore(deps): update dependency codespell to v2.4.2 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8003">#8003</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/c9d20155fcfa8d7dad13d1358fcdf63989113693"><code>c9d2015</code></a>
log: add error field to Record and make SDK to emit exception attributes
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7924">#7924</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/fdd1320c39ebc4b8e976f58e0af55965f25411c7"><code>fdd1320</code></a>
TracerProvider ForceFlush() Error Fix (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7856">#7856</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/78f99042e2b038c4c86c5fa1ffd0609ec498c1db"><code>78f9904</code></a>
chore(deps): update golang.org/x/telemetry digest to 18da590 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8000">#8000</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/open-telemetry/opentelemetry-go/compare/v1.41.0...v1.42.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
![snyk-top-banner](https://res.cloudinary.com/snyk/image/upload/r-d/scm-platform/snyk-pull-requests/pr-banner-default.svg)


<h3>Snyk has created this PR to upgrade lucide-react from 0.563.0 to
0.564.0.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.

<hr/>


- The recommended version is **1 version** ahead of your current
version.

- The recommended version was released **24 days ago**.



<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>lucide-react</b></summary>
    <ul>
      <li>
        <b>0.564.0</b> - 2026-02-13
      </li>
      <li>
        <b>0.563.0</b> - 2026-01-23
      </li>
    </ul>
from <a
href="https://redirect.github.com/lucide-icons/lucide/releases">lucide-react
GitHub release notes</a>
  </details>
</details>

---

> [!IMPORTANT]
>
> - Check the changes in this PR to ensure they won't cause issues with
your project.
> - This PR was automatically created by Snyk using the credentials of a
real user.

---

**Note:** _You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs._

**For more information:** <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6ImZha2Uta2V5IiwiYW5vbnltb3VzSWQiOiJiZmVmYTcyMi05NzYyLTQ1MWYtYTdmMi1iMWZlZGNlN2YwOGUiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6ImJmZWZhNzIyLTk3NjItNDUxZi1hN2YyLWIxZmVkY2U3ZjA4ZSJ9fQ=="
width="0" height="0"/>

> - 🧐 [View latest project
report](https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 📜 [Customise PR
templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates?utm_source=&utm_content=fix-pr-template)
> - 🛠 [Adjust upgrade PR
settings](https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf/settings/integration?pkg&#x3D;lucide-react&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

[//]: #
'snyk:metadata:{"breakingChangeRiskLevel":null,"FF_showPullRequestBreakingChanges":false,"FF_showPullRequestBreakingChangesWebSearch":false,"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"lucide-react","from":"0.563.0","to":"0.564.0"}],"env":"prod","hasFixes":false,"isBreakingChange":false,"isMajorUpgrade":false,"issuesToFix":[],"prId":"bfefa722-9762-451f-a7f2-b1fedce7f08e","prPublicId":"bfefa722-9762-451f-a7f2-b1fedce7f08e","packageManager":"npm","priorityScoreList":[],"projectPublicId":"6ec96c13-2fa1-4d2e-a2c9-55875479edaf","projectUrl":"https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf?utm_source=github&utm_medium=referral&page=upgrade-pr","prType":"upgrade","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":[],"type":"auto","upgrade":[],"upgradeInfo":{"versionsDiff":1,"publishedDate":"2026-02-13T11:31:38.098Z"},"vulns":[]}'

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
![snyk-top-banner](https://res.cloudinary.com/snyk/image/upload/r-d/scm-platform/snyk-pull-requests/pr-banner-default.svg)


<h3>Snyk has created this PR to upgrade viem from 2.45.1 to 2.46.1.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.

<hr/>


- The recommended version is **4 versions** ahead of your current
version.

- The recommended version was released **21 days ago**.



<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>viem</b></summary>
    <ul>
      <li>
<b>2.46.1</b> - <a
href="https://redirect.github.com/wevm/viem/releases/tag/viem%402.46.1">2026-02-16</a></br><h3>Patch
Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/wevm/viem/commit/44cbba75ab219c4e297f6cfd21c04f47548585e2"><code>44cbba75ab219c4e297f6cfd21c04f47548585e2</code></a>
Thanks <a href="https://redirect.github.com/jxom">@ jxom</a>! - Removed
Ekta chain.</li>
</ul>
      </li>
      <li>
<b>2.46.0</b> - <a
href="https://redirect.github.com/wevm/viem/releases/tag/viem%402.46.0">2026-02-15</a></br><h3>Minor
Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4304"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4304/hovercard">#4304</a> <a
href="https://redirect.github.com/wevm/viem/commit/b6b50d40fb6bbadc851377b74b2dd4da584958b0"><code>b6b50d40fb6bbadc851377b74b2dd4da584958b0</code></a>
Thanks <a href="https://redirect.github.com/jxom">@ jxom</a>! -
<strong>Breaking (<code>viem/tempo</code>):</strong> Renamed
<code>nonceKey: 'random'</code> to <code>nonceKey: 'expiring'</code> to
align with <a href="https://docs.tempo.xyz/protocol/tips/tip-1009"
rel="nofollow">TIP-1009</a> terminology.</p>
<p>TIP-1009 defines "expiring nonces" as time-based replay protection
using <code>validBefore</code> timestamps. The name
<code>'expiring'</code> better describes the mechanism than
<code>'random'</code>.</p>
<div class="highlight highlight-source-diff notranslate
position-relative overflow-auto"
data-snippet-clipboard-copy-content="await sendTransaction(client, {
  account,
- nonceKey: 'random',
+ nonceKey: 'expiring',
  to: '0x...',
})"><pre>await sendTransaction(client, {
  account,
<span class="pl-md"><span class="pl-md">-</span> nonceKey:
'random',</span>
<span class="pl-mi1"><span class="pl-mi1">+</span> nonceKey:
'expiring',</span>
  to: '0x...',
})</pre></div>
</li>
</ul>
      </li>
      <li>
<b>2.45.3</b> - <a
href="https://redirect.github.com/wevm/viem/releases/tag/viem%402.45.3">2026-02-11</a></br><h3>Patch
Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4329"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4329/hovercard">#4329</a> <a
href="https://redirect.github.com/wevm/viem/commit/d12bb351c0b8c973b995583695606f9d083af1bb"><code>d12bb351c0b8c973b995583695606f9d083af1bb</code></a>
Thanks <a href="https://redirect.github.com/sakulstra">@ sakulstra</a>!
- Added multicall batching support for <code>getBalance</code> via
multicall3's <code>getEthBalance</code>. When the client has
<code>batch.multicall</code> enabled, <code>getBalance</code> calls are
now batched via <code>eth_call</code> instead of making individual
<code>eth_getBalance</code> RPC calls.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4333"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4333/hovercard">#4333</a> <a
href="https://redirect.github.com/wevm/viem/commit/71a324d6b98332f4f98e10c9de4d61287de8534a"><code>71a324d6b98332f4f98e10c9de4d61287de8534a</code></a>
Thanks <a href="https://redirect.github.com/kiyoakii">@ kiyoakii</a>! -
Added <code>blockCreated</code> field to MegaETH Mainnet and Testnet
multicall3 contract definitions.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4330"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4330/hovercard">#4330</a> <a
href="https://redirect.github.com/wevm/viem/commit/aab32a4a5eb3df06cdf8eab5d6f91259d438590b"><code>aab32a4a5eb3df06cdf8eab5d6f91259d438590b</code></a>
Thanks <a href="https://redirect.github.com/boredland">@ boredland</a>!
- Added <code>blockCreated</code> field to <code>zkSync</code>
multicall3 contract.</p>
</li>
</ul>
      </li>
      <li>
<b>2.45.2</b> - <a
href="https://redirect.github.com/wevm/viem/releases/tag/viem%402.45.2">2026-02-09</a></br><h3>Patch
Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4300"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4300/hovercard">#4300</a> <a
href="https://redirect.github.com/wevm/viem/commit/cc60e25ca55c022a56ed9e991ec23cb615593da6"><code>cc60e25ca55c022a56ed9e991ec23cb615593da6</code></a>
Thanks <a href="https://redirect.github.com/LXPDevs">@ LXPDevs</a>! -
Added LuxePorts chain.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4306"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4306/hovercard">#4306</a> <a
href="https://redirect.github.com/wevm/viem/commit/e3901661ba0442d6ae66c4d702396e8ee247d03f"><code>e3901661ba0442d6ae66c4d702396e8ee247d03f</code></a>
Thanks <a href="https://redirect.github.com/izharan-fireblocks">@
izharan-fireblocks</a>! - Added
<code>WalletConnectSessionSettlementError</code> as a non-retryable
transport error.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4301"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4301/hovercard">#4301</a> <a
href="https://redirect.github.com/wevm/viem/commit/662215f12310c3c2b17424093d3f4922693432f2"><code>662215f12310c3c2b17424093d3f4922693432f2</code></a>
Thanks <a href="https://redirect.github.com/xGreen-project">@
xGreen-project</a>! - Added XGR Mainnet chain.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4315"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4315/hovercard">#4315</a> <a
href="https://redirect.github.com/wevm/viem/commit/56d0920fd654ab93e89fff77769b0c982b8928d5"><code>56d0920fd654ab93e89fff77769b0c982b8928d5</code></a>
Thanks <a href="https://redirect.github.com/jxom">@ jxom</a>! - Fixed
<code>sendCallsSync</code> to respect client-level action overrides
(e.g. smart account clients).</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4294"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4294/hovercard">#4294</a> <a
href="https://redirect.github.com/wevm/viem/commit/8c3fa2684820c80e8908cc799fd47815594e4871"><code>8c3fa2684820c80e8908cc799fd47815594e4871</code></a>
Thanks <a href="https://redirect.github.com/Oighty">@ Oighty</a>! -
Added Citrea Mainnet chain support.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4321"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4321/hovercard">#4321</a> <a
href="https://redirect.github.com/wevm/viem/commit/059274e18c19270e7f7e98f0b087e7986d5a6dd7"><code>059274e18c19270e7f7e98f0b087e7986d5a6dd7</code></a>
Thanks <a href="https://redirect.github.com/highonrice">@
highonrice</a>! - Updated the native currency of Stable Mainnet.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4319"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4319/hovercard">#4319</a> <a
href="https://redirect.github.com/wevm/viem/commit/746f5ae3b220313748bf7e0eb2d86f07848b6628"><code>746f5ae3b220313748bf7e0eb2d86f07848b6628</code></a>
Thanks <a href="https://redirect.github.com/brotherlymite">@
brotherlymite</a>! - Added etherscan explorer for MegaETH.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4305"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4305/hovercard">#4305</a> <a
href="https://redirect.github.com/wevm/viem/commit/428ef7cd7b4d6e9860296df841ce2f4a8d494bc1"><code>428ef7cd7b4d6e9860296df841ce2f4a8d494bc1</code></a>
Thanks <a href="https://redirect.github.com/LxpSrDev">@ LxpSrDev</a>! -
Added LuxePorts chain.</p>
</li>
</ul>
      </li>
      <li>
<b>2.45.1</b> - <a
href="https://redirect.github.com/wevm/viem/releases/tag/viem%402.45.1">2026-01-29</a></br><h3>Patch
Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4273"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4273/hovercard">#4273</a> <a
href="https://redirect.github.com/wevm/viem/commit/bf3f117aa4d6a4693af29894b1c27e130623cbc7"><code>bf3f117aa4d6a4693af29894b1c27e130623cbc7</code></a>
Thanks <a href="https://redirect.github.com/nicodlz">@ nicodlz</a>! -
Added Subtensor EVM chain.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4272"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4272/hovercard">#4272</a> <a
href="https://redirect.github.com/wevm/viem/commit/a3a4ff9a25c8f31d3caef533d3d100cf22c1ea5e"><code>a3a4ff9a25c8f31d3caef533d3d100cf22c1ea5e</code></a>
Thanks <a href="https://redirect.github.com/matzapata">@ matzapata</a>!
- Added Alpen Testnet</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4228"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4228/hovercard">#4228</a> <a
href="https://redirect.github.com/wevm/viem/commit/26ffdfbef41e08a4d6837051eda615fb659c2c31"><code>26ffdfbef41e08a4d6837051eda615fb659c2c31</code></a>
Thanks <a href="https://redirect.github.com/sakulstra">@ sakulstra</a>!
- Improved performance in <code>parseEventLogs</code> by memoizing.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4275"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4275/hovercard">#4275</a> <a
href="https://redirect.github.com/wevm/viem/commit/ea8398b80c6fa90747e979d959c32e276bdd43e1"><code>ea8398b80c6fa90747e979d959c32e276bdd43e1</code></a>
Thanks <a href="https://redirect.github.com/GiovaniGuizzo">@
GiovaniGuizzo</a>! - Added KiiChain mainnet chain definition</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4259"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4259/hovercard">#4259</a> <a
href="https://redirect.github.com/wevm/viem/commit/1ae28c2a9acb55b8fc599643549a52ec71a02e72"><code>1ae28c2a9acb55b8fc599643549a52ec71a02e72</code></a>
Thanks <a href="https://redirect.github.com/cruzdanilo">@
cruzdanilo</a>! - Fixed error decoding in <code>simulateBlocks</code>
when RPC returns revert data in <code>returnData</code> instead of
<code>error.data</code>.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4260"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4260/hovercard">#4260</a> <a
href="https://redirect.github.com/wevm/viem/commit/1f2a1839c201a2f5b97bddf26d605fb0394cdbd7"><code>1f2a1839c201a2f5b97bddf26d605fb0394cdbd7</code></a>
Thanks <a href="https://redirect.github.com/akitothemoon">@
akitothemoon</a>! - Added Horizen Testnet.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/wevm/viem/commit/4fe411bd4231ec0a89159723ec68fcfe13c10071"><code>4fe411bd4231ec0a89159723ec68fcfe13c10071</code></a>
Thanks <a href="https://redirect.github.com/jxom">@ jxom</a>! - Added
<code>nonce</code> and <code>faucet.fundSync</code> actions to
decorator.</p>
</li>
</ul>
      </li>
    </ul>
from <a href="https://redirect.github.com/wevm/viem/releases">viem
GitHub release notes</a>
  </details>
</details>

---

> [!IMPORTANT]
>
> - Check the changes in this PR to ensure they won't cause issues with
your project.
> - This PR was automatically created by Snyk using the credentials of a
real user.

---

**Note:** _You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs._

**For more information:** <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6ImZha2Uta2V5IiwiYW5vbnltb3VzSWQiOiJjMWRkNzkxZi04YWNkLTRkNTAtOGQxOS0xYTc5Nzk3YmU0ZDMiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6ImMxZGQ3OTFmLThhY2QtNGQ1MC04ZDE5LTFhNzk3OTdiZTRkMyJ9fQ=="
width="0" height="0"/>

> - 🧐 [View latest project
report](https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 📜 [Customise PR
templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates?utm_source=&utm_content=fix-pr-template)
> - 🛠 [Adjust upgrade PR
settings](https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf/settings/integration?pkg&#x3D;viem&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

[//]: #
'snyk:metadata:{"breakingChangeRiskLevel":null,"FF_showPullRequestBreakingChanges":false,"FF_showPullRequestBreakingChangesWebSearch":false,"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"viem","from":"2.45.1","to":"2.46.1"}],"env":"prod","hasFixes":false,"isBreakingChange":false,"isMajorUpgrade":false,"issuesToFix":[],"prId":"c1dd791f-8acd-4d50-8d19-1a79797be4d3","prPublicId":"c1dd791f-8acd-4d50-8d19-1a79797be4d3","packageManager":"npm","priorityScoreList":[],"projectPublicId":"6ec96c13-2fa1-4d2e-a2c9-55875479edaf","projectUrl":"https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf?utm_source=github&utm_medium=referral&page=upgrade-pr","prType":"upgrade","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":[],"type":"auto","upgrade":[],"upgradeInfo":{"versionsDiff":4,"publishedDate":"2026-02-16T02:28:36.614Z"},"vulns":[]}'

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
![snyk-top-banner](https://res.cloudinary.com/snyk/image/upload/r-d/scm-platform/snyk-pull-requests/pr-banner-default.svg)


<h3>Snyk has created this PR to upgrade tailwind-merge from 3.4.0 to
3.4.1.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.

<hr/>


- The recommended version is **7 versions** ahead of your current
version.

- The recommended version was released **22 days ago**.



<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>tailwind-merge</b></summary>
    <ul>
      <li>
<b>3.4.1</b> - <a
href="https://redirect.github.com/dcastil/tailwind-merge/releases/tag/v3.4.1">2026-02-15</a></br><h3>Bug
Fixes</h3>
<ul>
<li>Prevent arbitrary font-family and font-weight from merging by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/roneymoon/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/roneymoon">@ roneymoon</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3859932231" data-permission-text="Title is private"
data-url="dcastil/tailwind-merge#635"
data-hovercard-type="pull_request"
data-hovercard-url="/dcastil/tailwind-merge/pull/635/hovercard"
href="https://redirect.github.com/dcastil/tailwind-merge/pull/635">#635</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://redirect.github.com/dcastil/tailwind-merge/compare/v3.4.0...v3.4.1"><tt>v3.4.0...v3.4.1</tt></a></p>
<p>Thanks to <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/brandonmcconnell/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/brandonmcconnell">@
brandonmcconnell</a>, <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/manavm1990/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/manavm1990">@ manavm1990</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/langy/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/langy">@ langy</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/roboflow/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/roboflow">@ roboflow</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/syntaxfm/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/syntaxfm">@ syntaxfm</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/getsentry/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/getsentry">@ getsentry</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/codecov/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/codecov">@ codecov</a>, a private
sponsor, <a class="user-mention notranslate"
data-hovercard-type="organization"
data-hovercard-url="/orgs/block/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/block">@ block</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/openclaw/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/openclaw">@ openclaw</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/sourcegraph/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sourcegraph">@ sourcegraph</a> and
more via <a class="user-mention notranslate"
data-hovercard-type="organization"
data-hovercard-url="/orgs/thnxdev/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/thnxdev">@ thnxdev</a> for sponsoring
tailwind-merge! ❤️</p>
      </li>
      <li>
<b>3.4.1-dev.d2bbc293406dc65ef26eb2b0dc75ff69c765039b</b> - 2026-02-15
      </li>
      <li>
<b>3.4.1-dev.bb32e1c31b971ead8b49750a167b996eb0480649</b> - 2026-02-15
      </li>
      <li>
<b>3.4.1-dev.a363aa43401a35e2ebd26df401bfd286f854f6ec</b> - 2026-02-15
      </li>
      <li>
<b>3.4.1-dev.6c1f77ca717df7d2685eb783c568ef7696148171</b> - 2026-02-18
      </li>
      <li>
<b>3.4.1-dev.60634fdace8a9efd7af290e0382cefa81c00f8cf</b> - 2026-02-15
      </li>
      <li>
<b>3.4.1-dev.02b6eb6df78e6fb7994b43d4b5f4bbecbe05c43a</b> - 2026-02-15
      </li>
      <li>
<b>3.4.0</b> - <a
href="https://redirect.github.com/dcastil/tailwind-merge/releases/tag/v3.4.0">2025-11-09</a></br><h3>New
Features</h3>
<ul>
<li>Performance optimizations which make tailwind-merge &gt;10% faster
<ul>
<li>Vibe optimization by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/quantizor/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/quantizor">@ quantizor</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2923243792" data-permission-text="Title is private"
data-url="dcastil/tailwind-merge#547"
data-hovercard-type="pull_request"
data-hovercard-url="/dcastil/tailwind-merge/pull/547/hovercard"
href="https://redirect.github.com/dcastil/tailwind-merge/pull/547">#547</a></li>
<li>Additional optimizations by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/quantizor/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/quantizor">@ quantizor</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3567413691" data-permission-text="Title is private"
data-url="dcastil/tailwind-merge#619"
data-hovercard-type="pull_request"
data-hovercard-url="/dcastil/tailwind-merge/pull/619/hovercard"
href="https://redirect.github.com/dcastil/tailwind-merge/pull/619">#619</a></li>
</ul>
</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Improve docs by clarifying things, adding more examples by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/dcastil/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/dcastil">@ dcastil</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3554414538" data-permission-text="Title is private"
data-url="dcastil/tailwind-merge#618"
data-hovercard-type="pull_request"
data-hovercard-url="/dcastil/tailwind-merge/pull/618/hovercard"
href="https://redirect.github.com/dcastil/tailwind-merge/pull/618">#618</a></li>
<li>Make examples more realistic by <a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/dcastil/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/dcastil">@ dcastil</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3554404528" data-permission-text="Title is private"
data-url="dcastil/tailwind-merge#617"
data-hovercard-type="pull_request"
data-hovercard-url="/dcastil/tailwind-merge/pull/617/hovercard"
href="https://redirect.github.com/dcastil/tailwind-merge/pull/617">#617</a></li>
<li>Add custom variant as an alternative to docs by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/kidonng/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/kidonng">@ kidonng</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3152183374" data-permission-text="Title is private"
data-url="dcastil/tailwind-merge#592"
data-hovercard-type="pull_request"
data-hovercard-url="/dcastil/tailwind-merge/pull/592/hovercard"
href="https://redirect.github.com/dcastil/tailwind-merge/pull/592">#592</a></li>
</ul>
<h3>Other</h3>
<ul>
<li>Improve benchmarking suite by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/quantizor/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/quantizor">@ quantizor</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3567535310" data-permission-text="Title is private"
data-url="dcastil/tailwind-merge#620"
data-hovercard-type="pull_request"
data-hovercard-url="/dcastil/tailwind-merge/pull/620/hovercard"
href="https://redirect.github.com/dcastil/tailwind-merge/pull/620">#620</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://redirect.github.com/dcastil/tailwind-merge/compare/v3.3.1...v3.4.0"><tt>v3.3.1...v3.4.0</tt></a></p>
<p>Thanks to <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/brandonmcconnell/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/brandonmcconnell">@
brandonmcconnell</a>, <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/manavm1990/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/manavm1990">@ manavm1990</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/langy/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/langy">@ langy</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/roboflow/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/roboflow">@ roboflow</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/syntaxfm/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/syntaxfm">@ syntaxfm</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/getsentry/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/getsentry">@ getsentry</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/codecov/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/codecov">@ codecov</a> and a private
sponsor for sponsoring tailwind-merge! ❤️</p>
      </li>
    </ul>
from <a
href="https://redirect.github.com/dcastil/tailwind-merge/releases">tailwind-merge
GitHub release notes</a>
  </details>
</details>

---

> [!IMPORTANT]
>
> - Check the changes in this PR to ensure they won't cause issues with
your project.
> - This PR was automatically created by Snyk using the credentials of a
real user.

---

**Note:** _You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs._

**For more information:** <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6ImZha2Uta2V5IiwiYW5vbnltb3VzSWQiOiI0ZjI5Y2Q1My05NDFlLTRlZTktOTY4OC0xMDgxMzYxMmY3OTQiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjRmMjljZDUzLTk0MWUtNGVlOS05Njg4LTEwODEzNjEyZjc5NCJ9fQ=="
width="0" height="0"/>

> - 🧐 [View latest project
report](https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 📜 [Customise PR
templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates?utm_source=&utm_content=fix-pr-template)
> - 🛠 [Adjust upgrade PR
settings](https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf/settings/integration?pkg&#x3D;tailwind-merge&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

[//]: #
'snyk:metadata:{"breakingChangeRiskLevel":null,"FF_showPullRequestBreakingChanges":false,"FF_showPullRequestBreakingChangesWebSearch":false,"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"tailwind-merge","from":"3.4.0","to":"3.4.1"}],"env":"prod","hasFixes":false,"isBreakingChange":false,"isMajorUpgrade":false,"issuesToFix":[],"prId":"4f29cd53-941e-4ee9-9688-10813612f794","prPublicId":"4f29cd53-941e-4ee9-9688-10813612f794","packageManager":"npm","priorityScoreList":[],"projectPublicId":"6ec96c13-2fa1-4d2e-a2c9-55875479edaf","projectUrl":"https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf?utm_source=github&utm_medium=referral&page=upgrade-pr","prType":"upgrade","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":[],"type":"auto","upgrade":[],"upgradeInfo":{"versionsDiff":7,"publishedDate":"2026-02-15T10:35:13.860Z"},"vulns":[]}'

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: Alessio Treglia <229356+alessio@users.noreply.github.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Added deployment configuration for multiple environments (`sandbox-v1`
and `v1-rc`), enabling environment-specific releases and dynamic image
tagging. Configuration sourcing updated to support environment-specific
parameters.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Application registry validation can now be independently toggled via
configuration flag.
* Added permissive action allowance mode that allows all actions without
restrictions.

* **Refactor**
* Restructured action gateway to use interface-based dependency
injection for improved modularity.
* Extracted interface definitions into dedicated configuration file for
clarity.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…th 6 updates (#648)

Bumps the gomod-dependencies group with 4 updates in the / directory:
[cloud.google.com/go/kms](https://github.com/googleapis/google-cloud-go),
[github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum),
[github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) and
[go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go).

Updates `cloud.google.com/go/kms` from 1.26.0 to 1.27.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/google-cloud-go/releases">cloud.google.com/go/kms's
releases</a>.</em></p>
<blockquote>
<h2>kms: v1.27.0</h2>
<h2><a
href="https://github.com/googleapis/google-cloud-go/compare/kms/v1.26.0...kms/v1.27.0">v1.27.0</a>
(2026-04-02)</h2>
<h2>retail: v1.27.0</h2>
<h2><a
href="https://github.com/googleapis/google-cloud-go/compare/retail/v1.26.0...retail/v1.27.0">v1.27.0</a>
(2026-04-02)</h2>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/google-cloud-go/blob/main/documentai/CHANGES.md">cloud.google.com/go/kms's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/google-cloud-go/compare/documentai/v1.26.1...documentai/v1.27.0">1.27.0</a>
(2024-04-15)</h2>
<h3>Features</h3>
<ul>
<li><strong>documentai:</strong> Support a new Layout Processor in
Document AI (<a
href="https://github.com/googleapis/google-cloud-go/commit/2cdc40a0b4288f5ab5f2b2b8f5c1d6453a9c81ec">2cdc40a</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/google-cloud-go/compare/documentai/v1.26.0...documentai/v1.26.1">1.26.1</a>
(2024-03-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>documentai:</strong> Update protobuf dep to v1.33.0 (<a
href="https://github.com/googleapis/google-cloud-go/commit/30b038d8cac0b8cd5dd4761c87f3f298760dd33a">30b038d</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>documentai:</strong> A comment for field
<code>processor_version_source</code> in message
<code>.google.cloud.documentai.v1beta3.ImportProcessorVersionRequest</code>
is changed (<a
href="https://github.com/googleapis/google-cloud-go/commit/25c3f2dfcf1e720df82b3ee236d8e6a1fe888318">25c3f2d</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/b64e8dcf0af61e231e62f4d4ed85841a40ac6ecd"><code>b64e8dc</code></a>
chore: librarian release pull request: 20251013T184035Z (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/13116">#13116</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/ddc086c9e374b6c48b5f6ddfefd20a5eadd488ac"><code>ddc086c</code></a>
feat(aiplatform): Add JAILBREAK category to SafetySettings for
prediction ser...</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/c79db96ce252ecae47e7436ba1a9455c96ff2629"><code>c79db96</code></a>
chore: librarian generate pull request: 20251013T073656Z (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/13101">#13101</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/b0413159023d346680aa56b257b773b7d28f212e"><code>b041315</code></a>
chore: migrate 18 modules to Librarian (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/13112">#13112</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/a75de408e8bb9820ce085b0af9c9e8fcc681c4f5"><code>a75de40</code></a>
chore: migrate advisorynotifications to Librarian (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/13110">#13110</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/3cf5269facc9c314967813a14ef7c4169b2b1ded"><code>3cf5269</code></a>
chore: undo IAM semi-migration (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/13109">#13109</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/7663fdce3663478cf9fe02f265c4abdb27775b61"><code>7663fdc</code></a>
fix(internal/stategen): be more conservative about removing OwlBot lines
(<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/13">#13</a>...</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/8ebb89625c08f6c1920171046812c72ef087750a"><code>8ebb896</code></a>
chore: librarian release pull request: 20251010T200657Z (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/13107">#13107</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/befb302203c845525ea5b0b6ae09cff433edbbcb"><code>befb302</code></a>
test(internal/postprocessor): skip test that expects certain live config
(<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/13">#13</a>...</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/1930511848285206fa69ac18586fa9c7efe7912d"><code>1930511</code></a>
testing(internal/godocfx): convert equality check to a diff check (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/13089">#13089</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/google-cloud-go/compare/kms/v1.26.0...dlp/v1.27.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/ethereum/go-ethereum` from 1.17.1 to 1.17.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ethereum/go-ethereum/releases">github.com/ethereum/go-ethereum's
releases</a>.</em></p>
<blockquote>
<h2>EMF Suppressor (v1.17.2)</h2>
<!-- raw HTML omitted -->
<p>This is a maintenance release with several important bug fixes.
Notably, a critical issue in <code>debug_executionWitness</code> could
previously corrupt node data, users relying on this RPC endpoint are
strongly advised to upgrade.</p>
<p>Geth now also supports syncing with chains where pre-Prague history
has been pruned, and allows explicitly removing it via <code>geth
prune-history --history.chain postprague</code>.</p>
<h3>Geth</h3>
<ul>
<li>Set default cache size to 4GB across all networks (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33836">#33836</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33975">#33975</a>)</li>
<li>Added support for pruning chain history prior to the Prague fork (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33657">#33657</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34036">#34036</a>)</li>
<li>Added <code>fetchpayload</code> command to build execution witnesses
for specific blocks (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33919">#33919</a>)</li>
<li>Optimized Era history import with batched insertion (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33894">#33894</a>)</li>
<li>Added <code>womir</code> target for keeper (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34079">#34079</a>)</li>
<li>Added support for iterating a single storage trie in <code>geth
snapshot traverse-state</code> and <code>geth snapshot
traverse-rawstate</code> (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34051">#34051</a>)</li>
</ul>
<h3>Core</h3>
<ul>
<li>Amsterdam fork updates:
<ul>
<li>EIP-8024: Switch to branchless normalization and extend EXCHANGE (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33869">#33869</a>)</li>
<li>EIP-7778: Block gas accounting without refunds (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33593">#33593</a>)</li>
<li>EIP-7954: Increase maximum contract size (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33832">#33832</a>)</li>
<li>EIP-7708: ETH transfers now emit logs (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33645">#33645</a>)</li>
<li>Reworked gas measurement order (prerequisite for EIP-7928) (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33648">#33648</a>)</li>
</ul>
</li>
<li>Improved payload building by prewarming trie nodes for state hash
computation (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33945">#33945</a>)</li>
<li>Various binary trie improvements (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33951">#33951</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33961">#33961</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33989">#33989</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34021">#34021</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34032">#34032</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34022">#34022</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34056">#34056</a>)</li>
<li>Upgraded go-eth-kzg to v1.5.0, significantly reducing allocations in
<code>VerifyCellProofBatch</code> (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33963">#33963</a>)</li>
<li>Refactored state database in preparation for binary trie integration
(<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33816">#33816</a>)</li>
<li>Enabled trie node history retention on existing nodes (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33934">#33934</a>)</li>
<li>Optimized historical state indexer with batch processing (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33640">#33640</a>)</li>
<li>Fixed potential deadlock in txlookup (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34039">#34039</a>)</li>
<li>Added new RLP APIs (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34052">#34052</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34048">#34048</a>)</li>
<li>Fix dir.Sync() failure in freezer on Windows (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34115">#34115</a>)</li>
</ul>
<h3>Networking</h3>
<ul>
<li>Avoid duplicate connections by skipping simultaneous
inbound/outbound dials (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33198">#33198</a>)</li>
<li>Fixed session key mismatch by using consistent remote address
handling in discv5 tests (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34031">#34031</a>)</li>
<li>Added DNS hostname resolution for bootstrap nodes (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34101">#34101</a>)</li>
</ul>
<h3>RPC</h3>
<ul>
<li>Fixed state corruption issue in <code>debug_executionWitness</code>;
deprecated <code>debug_executionWitnessByHash</code> (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33931">#33931</a>)</li>
<li>Added MaxUsedGas field to <code>eth_simulateV1</code> response (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/32789">#32789</a>)</li>
<li>Fixed gas cap handling in <code>eth_simulateV1</code> (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33952">#33952</a>)</li>
<li>Fixed nonce revert edge case during contract creation in tracer (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33978">#33978</a>)</li>
<li>Fixed <code>eth_createAccessList</code> to return an empty list
instead of null for storage keys (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33976">#33976</a>)</li>
<li><code>eth_getFilterLogs</code> now returns an error if the requested
chain segment has been pruned (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33823">#33823</a>)</li>
<li>Fixed slot number encoding in RPC responses (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34005">#34005</a>)</li>
<li>Enforce RPC call limits for <code>eth_simulateV1</code> (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34616">#34616</a>)</li>
<li>Enforce storage slot limits for proofs in <code>eth_getProof</code>
(<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34617">#34617</a>)</li>
</ul>
<h3>Observability</h3>
<ul>
<li>Various OpenTelemetry fixes (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33927">#33927</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33955">#33955</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/be4dc0c4be2fe316dbdd0a73e48421f64978232f"><code>be4dc0c</code></a>
version: release go-ethereum v1.17.2 stable (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34618">#34618</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/95705e8b7b6e021b3312c4dc9c817b7646bf67af"><code>95705e8</code></a>
internal/ethapi: limit number of getProofs keys (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34617">#34617</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/ceabc39304ec298d891d3cde51b8cfddc6842197"><code>ceabc39</code></a>
internal/ethapi: limit number of calls to eth_simulateV1 (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34616">#34616</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/e585ad3b42994ca7e77a34c0f5bcf808d9987e48"><code>e585ad3</code></a>
core/rawdb: fix freezer dir.Sync() failure on Windows (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34115">#34115</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/d1369b69f5d8b86741299a6b3c171ac58ed296bf"><code>d1369b6</code></a>
core/txpool/legacypool: use types.Sender instead of signer.Sender (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34059">#34059</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/bd3c8431d9f7282e840670ef72c9a7c8f67e3271"><code>bd3c843</code></a>
build, cmd/keeper: add &quot;womir&quot; target (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34079">#34079</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/a2496852e98876530130c93ca540860a31a0d18a"><code>a249685</code></a>
p2p/discover: resolve DNS hostnames for bootstrap nodes (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34101">#34101</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/c3467dd8b5e2cf151744b04b62888649ee21f52d"><code>c3467dd</code></a>
core, miner, trie: relocate witness stats (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34106">#34106</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/acdd13971705c767330bdfbd4511b4d1e53580fd"><code>acdd139</code></a>
miner: set slot number when building test payload (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34094">#34094</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/1b3b028d1da4aedcb480693e58910712abe20009"><code>1b3b028</code></a>
miner: fix txFitsSize comment (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34100">#34100</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ethereum/go-ethereum/compare/v1.17.1...v1.17.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `google.golang.org/api` from 0.271.0 to 0.273.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/google-api-go-client/releases">google.golang.org/api's
releases</a>.</em></p>
<blockquote>
<h2>v0.273.1</h2>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.273.0...v0.273.1">0.273.1</a>
(2026-03-31)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Merge duplicate x-goog-request-params header (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3547">#3547</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/2008108eb50215407a945afc2db9c45998c42bbe">2008108</a>)</li>
</ul>
<h2>v0.273.0</h2>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.272.0...v0.273.0">0.273.0</a>
(2026-03-23)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3542">#3542</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/a4b47110f2ba5bf8bdb32174f26f609615e0e8dc">a4b4711</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3546">#3546</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/0cacfa8557f0f7d21166c4dfef84f60c6d9f1a49">0cacfa8</a>)</li>
</ul>
<h2>v0.272.0</h2>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.271.0...v0.272.0">0.272.0</a>
(2026-03-16)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3534">#3534</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/b4d37a1279665d52b8b4672a6a91732ae8eb3cf6">b4d37a1</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3536">#3536</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/549ef3e69575edbe4fee27bc485a093dc88b90b3">549ef3e</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3537">#3537</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/6def284013185ab4ac2fa389594ee6013086d5d0">6def284</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3538">#3538</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/319b5abcbc42b77f6acc861e45365b65695e8096">319b5ab</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3539">#3539</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/73bcfcf9b2fd8def3aec1cdff10e6d4ee646af41">73bcfcf</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3541">#3541</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/6374c496fde577aa9f5b32470e45676ff4f69dde">6374c49</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md">google.golang.org/api's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.273.0...v0.273.1">0.273.1</a>
(2026-03-31)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>Merge duplicate x-goog-request-params header (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3547">#3547</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/2008108eb50215407a945afc2db9c45998c42bbe">2008108</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.272.0...v0.273.0">0.273.0</a>
(2026-03-23)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3542">#3542</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/a4b47110f2ba5bf8bdb32174f26f609615e0e8dc">a4b4711</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3546">#3546</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/0cacfa8557f0f7d21166c4dfef84f60c6d9f1a49">0cacfa8</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.271.0...v0.272.0">0.272.0</a>
(2026-03-16)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3534">#3534</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/b4d37a1279665d52b8b4672a6a91732ae8eb3cf6">b4d37a1</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3536">#3536</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/549ef3e69575edbe4fee27bc485a093dc88b90b3">549ef3e</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3537">#3537</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/6def284013185ab4ac2fa389594ee6013086d5d0">6def284</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3538">#3538</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/319b5abcbc42b77f6acc861e45365b65695e8096">319b5ab</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3539">#3539</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/73bcfcf9b2fd8def3aec1cdff10e6d4ee646af41">73bcfcf</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3541">#3541</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/6374c496fde577aa9f5b32470e45676ff4f69dde">6374c49</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/550f00c8f854c300c59f266cc0ddd60568ccfe20"><code>550f00c</code></a>
chore(main): release 0.273.1 (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3551">#3551</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/da01f6aec8d3dd7914c6be434ce3bf26c1903396"><code>da01f6a</code></a>
chore(deps): bump github.com/go-git/go-git/v5 (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3552">#3552</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/2008108eb50215407a945afc2db9c45998c42bbe"><code>2008108</code></a>
fix: merge duplicate x-goog-request-params header (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3547">#3547</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/2e86962ce58da59e39ffacd1cb9930abe979fd3c"><code>2e86962</code></a>
chore(main): release 0.273.0 (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3545">#3545</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/50ea74c1b06b4bb59546145272bc51fc205b36ed"><code>50ea74c</code></a>
chore(google-api-go-generator): restore aiplatform:v1beta1 (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3549">#3549</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/0cacfa8557f0f7d21166c4dfef84f60c6d9f1a49"><code>0cacfa8</code></a>
feat(all): auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3546">#3546</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/d38a12991f9cee22a29ada664c5eef3942116ad9"><code>d38a129</code></a>
chore(all): update all (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3548">#3548</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/a4b47110f2ba5bf8bdb32174f26f609615e0e8dc"><code>a4b4711</code></a>
feat(all): auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3542">#3542</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/67cf706bd3f9bd26f2a61ada3290190c0c8545ff"><code>67cf706</code></a>
chore(all): update module google.golang.org/grpc to v1.79.3 [SECURITY]
(<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3544">#3544</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/e7df9fe0b92461f87b6d267a600e6825d1221e75"><code>e7df9fe</code></a>
chore(main): release 0.272.0 (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3535">#3535</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/google-api-go-client/compare/v0.271.0...v0.273.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/mattn/go-sqlite3` from 1.14.34 to 1.14.40
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mattn/go-sqlite3/commit/f92973809df03ae476bc981876fbc45da862921a"><code>f929738</code></a>
Merge pull request <a
href="https://redirect.github.com/mattn/go-sqlite3/issues/1384">#1384</a>
from mattn/raise-go121-cleanup</li>
<li><a
href="https://github.com/mattn/go-sqlite3/commit/efae5e768693f226337ffbc618b033c78c65c287"><code>efae5e7</code></a>
raise minimum Go version to 1.21</li>
<li><a
href="https://github.com/mattn/go-sqlite3/commit/b23d54cb764130e03474c8a7da2b38ed5207424f"><code>b23d54c</code></a>
Merge pull request <a
href="https://redirect.github.com/mattn/go-sqlite3/issues/1383">#1383</a>
from mattn/codex/next-row-batch-fetch</li>
<li><a
href="https://github.com/mattn/go-sqlite3/commit/e1557be6ce32a773d714bcf60a92b7ee89b173a0"><code>e1557be</code></a>
batch row column fetches in Next</li>
<li><a
href="https://github.com/mattn/go-sqlite3/commit/cc39db7160c9a30c621a0953da9f1385ea3efd2c"><code>cc39db7</code></a>
Merge pull request <a
href="https://redirect.github.com/mattn/go-sqlite3/issues/1382">#1382</a>
from mattn/codex/sqlite3-bind-fastpath</li>
<li><a
href="https://github.com/mattn/go-sqlite3/commit/9a908a9fd0ac26b20b237cf190e302a1fb0703fb"><code>9a908a9</code></a>
optimize sqlite bind fast path</li>
<li><a
href="https://github.com/mattn/go-sqlite3/commit/edadafaf6142acd975ed96557cad1cdeb712b707"><code>edadafa</code></a>
Merge pull request <a
href="https://redirect.github.com/mattn/go-sqlite3/issues/1381">#1381</a>
from mattn/eliminate-bounds-checks</li>
<li><a
href="https://github.com/mattn/go-sqlite3/commit/8f9f86ea433f211114f5a7e5d01b480ee8b1d7bb"><code>8f9f86e</code></a>
Eliminate unnecessary bounds checks in hot paths</li>
<li><a
href="https://github.com/mattn/go-sqlite3/commit/0d2388125f1ed562d751b4437b999692febaf710"><code>0d23881</code></a>
Merge pull request <a
href="https://redirect.github.com/mattn/go-sqlite3/issues/1379">#1379</a>
from theimpostor/pr-1322-missing-constraint-op-types</li>
<li><a
href="https://github.com/mattn/go-sqlite3/commit/84bdc43851d3523353b842201f8dec2bdba1b9e4"><code>84bdc43</code></a>
add missing index constraint op types</li>
<li>Additional commits viewable in <a
href="https://github.com/mattn/go-sqlite3/compare/v1.14.34...v1.14.40">compare
view</a></li>
</ul>
</details>
<br />

Updates `go.opentelemetry.io/otel` from 1.42.0 to 1.43.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md">go.opentelemetry.io/otel's
changelog</a>.</em></p>
<blockquote>
<h2>[1.43.0/0.65.0/0.19.0] 2026-04-02</h2>
<h3>Added</h3>
<ul>
<li>Add <code>IsRandom</code> and <code>WithRandom</code> on
<code>TraceFlags</code>, and <code>IsRandom</code> on
<code>SpanContext</code> in <code>go.opentelemetry.io/otel/trace</code>
for <a
href="https://www.w3.org/TR/trace-context-2/#random-trace-id-flag">W3C
Trace Context Level 2 Random Trace ID Flag</a> support. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8012">#8012</a>)</li>
<li>Add service detection with <code>WithService</code> in
<code>go.opentelemetry.io/otel/sdk/resource</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7642">#7642</a>)</li>
<li>Add <code>DefaultWithContext</code> and
<code>EnvironmentWithContext</code> in
<code>go.opentelemetry.io/otel/sdk/resource</code> to support plumbing
<code>context.Context</code> through default and environment detectors.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8051">#8051</a>)</li>
<li>Support attributes with empty value (<code>attribute.EMPTY</code>)
in
<code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Support attributes with empty value (<code>attribute.EMPTY</code>)
in
<code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Support attributes with empty value (<code>attribute.EMPTY</code>)
in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Support attributes with empty value (<code>attribute.EMPTY</code>)
in
<code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Support attributes with empty value (<code>attribute.EMPTY</code>)
in
<code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Support attributes with empty value (<code>attribute.EMPTY</code>)
in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Support attributes with empty value (<code>attribute.EMPTY</code>)
in
<code>go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Add support for per-series start time tracking for cumulative
metrics in <code>go.opentelemetry.io/otel/sdk/metric</code>.
Set <code>OTEL_GO_X_PER_SERIES_START_TIMESTAMPS=true</code> to enable.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8060">#8060</a>)</li>
<li>Add <code>WithCardinalityLimitSelector</code> for metric reader for
configuring cardinality limits specific to the instrument kind. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7855">#7855</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Introduce the <code>EMPTY</code> Type in
<code>go.opentelemetry.io/otel/attribute</code> to reflect that an empty
value is now a valid value, with <code>INVALID</code> remaining as a
deprecated alias of <code>EMPTY</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Improve slice handling in
<code>go.opentelemetry.io/otel/attribute</code> to optimize short slice
values with fixed-size fast paths. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8039">#8039</a>)</li>
<li>Improve performance of span metric recording in
<code>go.opentelemetry.io/otel/sdk/trace</code> by returning early if
self-observability is not enabled. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8067">#8067</a>)</li>
<li>Improve formatting of metric data diffs in
<code>go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8073">#8073</a>)</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li>Deprecate <code>INVALID</code> in
<code>go.opentelemetry.io/otel/attribute</code>. Use <code>EMPTY</code>
instead. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Return spec-compliant <code>TraceIdRatioBased</code> description.
This is a breaking behavioral change, but it is necessary to
make the implementation <a
href="https://opentelemetry.io/docs/specs/otel/trace/sdk/#traceidratiobased">spec-compliant</a>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8027">#8027</a>)</li>
<li>Fix a race condition in
<code>go.opentelemetry.io/otel/sdk/metric</code> where the lastvalue
aggregation could collect the value 0 even when no zero-value
measurements were recorded. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8056">#8056</a>)</li>
<li>Limit HTTP response body to 4 MiB in
<code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>
to mitigate excessive memory usage caused by a misconfigured or
malicious server.
Responses exceeding the limit are treated as non-retryable errors. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8108">#8108</a>)</li>
<li>Limit HTTP response body to 4 MiB in
<code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>
to mitigate excessive memory usage caused by a misconfigured or
malicious server.
Responses exceeding the limit are treated as non-retryable errors. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8108">#8108</a>)</li>
<li>Limit HTTP response body to 4 MiB in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>
to mitigate excessive memory usage caused by a misconfigured or
malicious server.
Responses exceeding the limit are treated as non-retryable errors. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8108">#8108</a>)</li>
<li><code>WithHostID</code> detector in
<code>go.opentelemetry.io/otel/sdk/resource</code> to use full path for
<code>kenv</code> command on BSD. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8113">#8113</a>)</li>
<li>Fix missing <code>request.GetBody</code> in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>
to correctly handle HTTP2 GOAWAY frame. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8096">#8096</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/9276201a64b623606e3eaa0d61ae8ee6d62756c0"><code>9276201</code></a>
Release v1.43.0 / v0.65.0 / v0.19.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8128">#8128</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/61b8c9466c4e6b17e69b622279fe9b63fb15c89a"><code>61b8c94</code></a>
chore(deps): update module github.com/mattn/go-runewidth to v0.0.22 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8131">#8131</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/97a086e82ffe01502f4c620e9c447efa229e2a23"><code>97a086e</code></a>
chore(deps): update github.com/golangci/dupl digest to c99c5cf (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8122">#8122</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/5e363de517dba6db62736b2f5cdef0e0929b4cd0"><code>5e363de</code></a>
limit response body size for OTLP HTTP exporters (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8108">#8108</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/35214b60138eac8dec97a2d2b851d8c8471680c7"><code>35214b6</code></a>
Use an absolute path when calling bsd kenv (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8113">#8113</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/290024ceaf695f9cdbf29a0c6731a317d92bc361"><code>290024c</code></a>
fix(deps): update module google.golang.org/grpc to v1.80.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8121">#8121</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/e70658e098033d6bb5ec1b399de16bbb2642f6dc"><code>e70658e</code></a>
fix: support getBody in otelploghttp (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8096">#8096</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/4afe468e3b4859c949a1c1e8d92684d43d86ef8a"><code>4afe468</code></a>
fix(deps): update googleapis to 9d38bb4 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8117">#8117</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/b9ca729776309e3c08fe700c131797a3b4d10634"><code>b9ca729</code></a>
chore(deps): update module github.com/go-git/go-git/v5 to v5.17.2 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8115">#8115</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/69472ec56cb7674d55ca2e2bcb04dea73228ab79"><code>69472ec</code></a>
chore(deps): update fossas/fossa-action action to v1.9.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8118">#8118</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/open-telemetry/opentelemetry-go/compare/v1.42.0...v1.43.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `go.opentelemetry.io/otel/trace` from 1.42.0 to 1.43.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md">go.opentelemetry.io/otel/trace's
changelog</a>.</em></p>
<blockquote>
<h2>[1.43.0/0.65.0/0.19.0] 2026-04-02</h2>
<h3>Added</h3>
<ul>
<li>Add <code>IsRandom</code> and <code>WithRandom</code> on
<code>TraceFlags</code>, and <code>IsRandom</code> on
<code>SpanContext</code> in <code>go.opentelemetry.io/otel/trace</code>
for <a
href="https://www.w3.org/TR/trace-context-2/#random-trace-id-flag">W3C
Trace Context Level 2 Random Trace ID Flag</a> support. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8012">#8012</a>)</li>
<li>Add service detection with <code>WithService</code> in
<code>go.opentelemetry.io/otel/sdk/resource</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7642">#7642</a>)</li>
<li>Add <code>DefaultWithContext</code> and
<code>EnvironmentWithContext</code> in
<code>go.opentelemetry.io/otel/sdk/resource</code> to support plumbing
<code>context.Context</code> through default and environment detectors.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8051">#8051</a>)</li>
<li>Support attributes with empty value (<code>attribute.EMPTY</code>)
in
<code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Support attributes with empty value (<code>attribute.EMPTY</code>)
in
<code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Support attributes with empty value (<code>attribute.EMPTY</code>)
in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Support attributes with empty value (<code>attribute.EMPTY</code>)
in
<code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Support attributes with empty value (<code>attribute.EMPTY</code>)
in
<code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Support attributes with empty value (<code>attribute.EMPTY</code>)
in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Support attributes with empty value (<code>attribute.EMPTY</code>)
in
<code>go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Add support for per-series start time tracking for cumulative
metrics in <code>go.opentelemetry.io/otel/sdk/metric</code>.
Set <code>OTEL_GO_X_PER_SERIES_START_TIMESTAMPS=true</code> to enable.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8060">#8060</a>)</li>
<li>Add <code>WithCardinalityLimitSelector</code> for metric reader for
configuring cardinality limits specific to the instrument kind. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/7855">#7855</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Introduce the <code>EMPTY</code> Type in
<code>go.opentelemetry.io/otel/attribute</code> to reflect that an empty
value is now a valid value, with <code>INVALID</code> remaining as a
deprecated alias of <code>EMPTY</code>. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
<li>Improve slice handling in
<code>go.opentelemetry.io/otel/attribute</code> to optimize short slice
values with fixed-size fast paths. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8039">#8039</a>)</li>
<li>Improve performance of span metric recording in
<code>go.opentelemetry.io/otel/sdk/trace</code> by returning early if
self-observability is not enabled. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8067">#8067</a>)</li>
<li>Improve formatting of metric data diffs in
<code>go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest</code>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8073">#8073</a>)</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li>Deprecate <code>INVALID</code> in
<code>go.opentelemetry.io/otel/attribute</code>. Use <code>EMPTY</code>
instead. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8038">#8038</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Return spec-compliant <code>TraceIdRatioBased</code> description.
This is a breaking behavioral change, but it is necessary to
make the implementation <a
href="https://opentelemetry.io/docs/specs/otel/trace/sdk/#traceidratiobased">spec-compliant</a>.
(<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8027">#8027</a>)</li>
<li>Fix a race condition in
<code>go.opentelemetry.io/otel/sdk/metric</code> where the lastvalue
aggregation could collect the value 0 even when no zero-value
measurements were recorded. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8056">#8056</a>)</li>
<li>Limit HTTP response body to 4 MiB in
<code>go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp</code>
to mitigate excessive memory usage caused by a misconfigured or
malicious server.
Responses exceeding the limit are treated as non-retryable errors. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8108">#8108</a>)</li>
<li>Limit HTTP response body to 4 MiB in
<code>go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp</code>
to mitigate excessive memory usage caused by a misconfigured or
malicious server.
Responses exceeding the limit are treated as non-retryable errors. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8108">#8108</a>)</li>
<li>Limit HTTP response body to 4 MiB in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>
to mitigate excessive memory usage caused by a misconfigured or
malicious server.
Responses exceeding the limit are treated as non-retryable errors. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8108">#8108</a>)</li>
<li><code>WithHostID</code> detector in
<code>go.opentelemetry.io/otel/sdk/resource</code> to use full path for
<code>kenv</code> command on BSD. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8113">#8113</a>)</li>
<li>Fix missing <code>request.GetBody</code> in
<code>go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp</code>
to correctly handle HTTP2 GOAWAY frame. (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8096">#8096</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/9276201a64b623606e3eaa0d61ae8ee6d62756c0"><code>9276201</code></a>
Release v1.43.0 / v0.65.0 / v0.19.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8128">#8128</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/61b8c9466c4e6b17e69b622279fe9b63fb15c89a"><code>61b8c94</code></a>
chore(deps): update module github.com/mattn/go-runewidth to v0.0.22 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8131">#8131</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/97a086e82ffe01502f4c620e9c447efa229e2a23"><code>97a086e</code></a>
chore(deps): update github.com/golangci/dupl digest to c99c5cf (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8122">#8122</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/5e363de517dba6db62736b2f5cdef0e0929b4cd0"><code>5e363de</code></a>
limit response body size for OTLP HTTP exporters (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8108">#8108</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/35214b60138eac8dec97a2d2b851d8c8471680c7"><code>35214b6</code></a>
Use an absolute path when calling bsd kenv (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8113">#8113</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/290024ceaf695f9cdbf29a0c6731a317d92bc361"><code>290024c</code></a>
fix(deps): update module google.golang.org/grpc to v1.80.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8121">#8121</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/e70658e098033d6bb5ec1b399de16bbb2642f6dc"><code>e70658e</code></a>
fix: support getBody in otelploghttp (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8096">#8096</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/4afe468e3b4859c949a1c1e8d92684d43d86ef8a"><code>4afe468</code></a>
fix(deps): update googleapis to 9d38bb4 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8117">#8117</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/b9ca729776309e3c08fe700c131797a3b4d10634"><code>b9ca729</code></a>
chore(deps): update module github.com/go-git/go-git/v5 to v5.17.2 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8115">#8115</a>)</li>
<li><a
href="https://github.com/open-telemetry/opentelemetry-go/commit/69472ec56cb7674d55ca2e2bcb04dea73228ab79"><code>69472ec</code></a>
chore(deps): update fossas/fossa-action action to v1.9.0 (<a
href="https://redirect.github.com/open-telemetry/opentelemetry-go/issues/8118">#8118</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/open-telemetry/opentelemetry-go/compare/v1.42.0...v1.43.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…lity (#623)

## Summary
Both `@yellow-org/sdk` and `@yellow-org/sdk-compat` declared `"type":
"module"` but used extensionless relative imports in source (e.g. `from
'./client'`). TypeScript emits these as-is, and Node.js strict ESM
resolution rejects them. This forced consumers to use `tsx`, postinstall
patches, or `--experimental-specifier-resolution=node`.
## Changes
- Add `.js` extensions to all relative imports in `sdk/ts/src/` (24
files) and `sdk/ts-compat/src/` (7 files)
- Switch `module` and `moduleResolution` from `ESNext`/`bundler` to
`Node16` in both `tsconfig.json` files
- Fix `Decimal` import: default import -> named import for Node16
compatibility
## Verification
- Both packages build clean with `tsc`
- `node -e "import('./dist/index.js')"` succeeds in both packages
without any flags
- Bundler consumers (Vite, webpack) are unaffected since they handle
`.js` extensions natively

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Refactor: Updated module imports across the SDK to use explicit .js
extensions for ESM compatibility.
  * Refactor: Adjusted TypeScript config to Node16 module resolution.
* Refactor: Replaced several default imports with named imports for
improved interoperability.
  * Note: Public APIs and runtime behavior remain unchanged.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Alessio Treglia <229356+alessio@users.noreply.github.com>
![snyk-top-banner](https://res.cloudinary.com/snyk/image/upload/r-d/scm-platform/snyk-pull-requests/pr-banner-default.svg)


<h3>Snyk has created this PR to upgrade viem from 2.45.1 to 2.46.2.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.

<hr/>


- The recommended version is **5 versions** ahead of your current
version.

- The recommended version was released **a month ago**.



<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>viem</b></summary>
    <ul>
      <li>
<b>2.46.2</b> - <a
href="https://redirect.github.com/wevm/viem/releases/tag/viem%402.46.2">2026-02-17</a></br><h3>Patch
Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/wevm/viem/commit/1a10fb7812cc13bd72495552c4a590aa5ce8cf15"><code>1a10fb7812cc13bd72495552c4a590aa5ce8cf15</code></a>
Thanks <a href="https://redirect.github.com/jxom">@ jxom</a>! -
<code>viem/tempo</code>: Removed fee payer magic in favor of pure
support for <code>0x78</code>-prefixed fee payer envelopes.</li>
</ul>
      </li>
      <li>
<b>2.46.1</b> - <a
href="https://redirect.github.com/wevm/viem/releases/tag/viem%402.46.1">2026-02-16</a></br><h3>Patch
Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/wevm/viem/commit/44cbba75ab219c4e297f6cfd21c04f47548585e2"><code>44cbba75ab219c4e297f6cfd21c04f47548585e2</code></a>
Thanks <a href="https://redirect.github.com/jxom">@ jxom</a>! - Removed
Ekta chain.</li>
</ul>
      </li>
      <li>
<b>2.46.0</b> - <a
href="https://redirect.github.com/wevm/viem/releases/tag/viem%402.46.0">2026-02-15</a></br><h3>Minor
Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4304"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4304/hovercard">#4304</a> <a
href="https://redirect.github.com/wevm/viem/commit/b6b50d40fb6bbadc851377b74b2dd4da584958b0"><code>b6b50d40fb6bbadc851377b74b2dd4da584958b0</code></a>
Thanks <a href="https://redirect.github.com/jxom">@ jxom</a>! -
<strong>Breaking (<code>viem/tempo</code>):</strong> Renamed
<code>nonceKey: 'random'</code> to <code>nonceKey: 'expiring'</code> to
align with <a href="https://docs.tempo.xyz/protocol/tips/tip-1009"
rel="nofollow">TIP-1009</a> terminology.</p>
<p>TIP-1009 defines "expiring nonces" as time-based replay protection
using <code>validBefore</code> timestamps. The name
<code>'expiring'</code> better describes the mechanism than
<code>'random'</code>.</p>
<div class="highlight highlight-source-diff notranslate
position-relative overflow-auto"
data-snippet-clipboard-copy-content="await sendTransaction(client, {
  account,
- nonceKey: 'random',
+ nonceKey: 'expiring',
  to: '0x...',
})"><pre>await sendTransaction(client, {
  account,
<span class="pl-md"><span class="pl-md">-</span> nonceKey:
'random',</span>
<span class="pl-mi1"><span class="pl-mi1">+</span> nonceKey:
'expiring',</span>
  to: '0x...',
})</pre></div>
</li>
</ul>
      </li>
      <li>
<b>2.45.3</b> - <a
href="https://redirect.github.com/wevm/viem/releases/tag/viem%402.45.3">2026-02-11</a></br><h3>Patch
Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4329"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4329/hovercard">#4329</a> <a
href="https://redirect.github.com/wevm/viem/commit/d12bb351c0b8c973b995583695606f9d083af1bb"><code>d12bb351c0b8c973b995583695606f9d083af1bb</code></a>
Thanks <a href="https://redirect.github.com/sakulstra">@ sakulstra</a>!
- Added multicall batching support for <code>getBalance</code> via
multicall3's <code>getEthBalance</code>. When the client has
<code>batch.multicall</code> enabled, <code>getBalance</code> calls are
now batched via <code>eth_call</code> instead of making individual
<code>eth_getBalance</code> RPC calls.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4333"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4333/hovercard">#4333</a> <a
href="https://redirect.github.com/wevm/viem/commit/71a324d6b98332f4f98e10c9de4d61287de8534a"><code>71a324d6b98332f4f98e10c9de4d61287de8534a</code></a>
Thanks <a href="https://redirect.github.com/kiyoakii">@ kiyoakii</a>! -
Added <code>blockCreated</code> field to MegaETH Mainnet and Testnet
multicall3 contract definitions.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4330"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4330/hovercard">#4330</a> <a
href="https://redirect.github.com/wevm/viem/commit/aab32a4a5eb3df06cdf8eab5d6f91259d438590b"><code>aab32a4a5eb3df06cdf8eab5d6f91259d438590b</code></a>
Thanks <a href="https://redirect.github.com/boredland">@ boredland</a>!
- Added <code>blockCreated</code> field to <code>zkSync</code>
multicall3 contract.</p>
</li>
</ul>
      </li>
      <li>
<b>2.45.2</b> - <a
href="https://redirect.github.com/wevm/viem/releases/tag/viem%402.45.2">2026-02-09</a></br><h3>Patch
Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4300"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4300/hovercard">#4300</a> <a
href="https://redirect.github.com/wevm/viem/commit/cc60e25ca55c022a56ed9e991ec23cb615593da6"><code>cc60e25ca55c022a56ed9e991ec23cb615593da6</code></a>
Thanks <a href="https://redirect.github.com/LXPDevs">@ LXPDevs</a>! -
Added LuxePorts chain.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4306"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4306/hovercard">#4306</a> <a
href="https://redirect.github.com/wevm/viem/commit/e3901661ba0442d6ae66c4d702396e8ee247d03f"><code>e3901661ba0442d6ae66c4d702396e8ee247d03f</code></a>
Thanks <a href="https://redirect.github.com/izharan-fireblocks">@
izharan-fireblocks</a>! - Added
<code>WalletConnectSessionSettlementError</code> as a non-retryable
transport error.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4301"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4301/hovercard">#4301</a> <a
href="https://redirect.github.com/wevm/viem/commit/662215f12310c3c2b17424093d3f4922693432f2"><code>662215f12310c3c2b17424093d3f4922693432f2</code></a>
Thanks <a href="https://redirect.github.com/xGreen-project">@
xGreen-project</a>! - Added XGR Mainnet chain.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4315"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4315/hovercard">#4315</a> <a
href="https://redirect.github.com/wevm/viem/commit/56d0920fd654ab93e89fff77769b0c982b8928d5"><code>56d0920fd654ab93e89fff77769b0c982b8928d5</code></a>
Thanks <a href="https://redirect.github.com/jxom">@ jxom</a>! - Fixed
<code>sendCallsSync</code> to respect client-level action overrides
(e.g. smart account clients).</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4294"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4294/hovercard">#4294</a> <a
href="https://redirect.github.com/wevm/viem/commit/8c3fa2684820c80e8908cc799fd47815594e4871"><code>8c3fa2684820c80e8908cc799fd47815594e4871</code></a>
Thanks <a href="https://redirect.github.com/Oighty">@ Oighty</a>! -
Added Citrea Mainnet chain support.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4321"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4321/hovercard">#4321</a> <a
href="https://redirect.github.com/wevm/viem/commit/059274e18c19270e7f7e98f0b087e7986d5a6dd7"><code>059274e18c19270e7f7e98f0b087e7986d5a6dd7</code></a>
Thanks <a href="https://redirect.github.com/highonrice">@
highonrice</a>! - Updated the native currency of Stable Mainnet.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4319"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4319/hovercard">#4319</a> <a
href="https://redirect.github.com/wevm/viem/commit/746f5ae3b220313748bf7e0eb2d86f07848b6628"><code>746f5ae3b220313748bf7e0eb2d86f07848b6628</code></a>
Thanks <a href="https://redirect.github.com/brotherlymite">@
brotherlymite</a>! - Added etherscan explorer for MegaETH.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4305"
data-hovercard-type="pull_request"
data-hovercard-url="/wevm/viem/pull/4305/hovercard">#4305</a> <a
href="https://redirect.github.com/wevm/viem/commit/428ef7cd7b4d6e9860296df841ce2f4a8d494bc1"><code>428ef7cd7b4d6e9860296df841ce2f4a8d494bc1</code></a>
Thanks <a href="https://redirect.github.com/LxpSrDev">@ LxpSrDev</a>! -
Added LuxePorts chain.</p>
</li>
</ul>
      </li>
      <li>
        <b>2.45.1</b> - 2026-01-29
      </li>
    </ul>
from <a href="https://redirect.github.com/wevm/viem/releases">viem
GitHub release notes</a>
  </details>
</details>

---

> [!IMPORTANT]
>
> - Check the changes in this PR to ensure they won't cause issues with
your project.
> - This PR was automatically created by Snyk using the credentials of a
real user.

---

**Note:** _You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs._

**For more information:** <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6ImZha2Uta2V5IiwiYW5vbnltb3VzSWQiOiI2MGZiNzQ3Ny04ZTRkLTQ2Y2EtYjhhMy05NGU3MzZlOWVkMTAiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjYwZmI3NDc3LThlNGQtNDZjYS1iOGEzLTk0ZTczNmU5ZWQxMCJ9fQ=="
width="0" height="0"/>

> - 🧐 [View latest project
report](https://app.eu.snyk.io/org/layer-3-foundation-default/project/91b1884e-49c9-4b0d-a397-0ff65ce23030?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 📜 [Customise PR
templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates?utm_source=&utm_content=fix-pr-template)
> - 🛠 [Adjust upgrade PR
settings](https://app.eu.snyk.io/org/layer-3-foundation-default/project/91b1884e-49c9-4b0d-a397-0ff65ce23030/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.eu.snyk.io/org/layer-3-foundation-default/project/91b1884e-49c9-4b0d-a397-0ff65ce23030/settings/integration?pkg&#x3D;viem&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

[//]: #
'snyk:metadata:{"breakingChangeRiskLevel":null,"FF_showPullRequestBreakingChanges":false,"FF_showPullRequestBreakingChangesWebSearch":false,"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"viem","from":"2.45.1","to":"2.46.2"}],"env":"prod","hasFixes":false,"isBreakingChange":false,"isMajorUpgrade":false,"issuesToFix":[],"prId":"60fb7477-8e4d-46ca-b8a3-94e736e9ed10","prPublicId":"60fb7477-8e4d-46ca-b8a3-94e736e9ed10","packageManager":"npm","priorityScoreList":[],"projectPublicId":"91b1884e-49c9-4b0d-a397-0ff65ce23030","projectUrl":"https://app.eu.snyk.io/org/layer-3-foundation-default/project/91b1884e-49c9-4b0d-a397-0ff65ce23030?utm_source=github&utm_medium=referral&page=upgrade-pr","prType":"upgrade","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":[],"type":"auto","upgrade":[],"upgradeInfo":{"versionsDiff":5,"publishedDate":"2026-02-17T20:43:35.088Z"},"vulns":[]}'

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
![snyk-top-banner](https://res.cloudinary.com/snyk/image/upload/r-d/scm-platform/snyk-pull-requests/pr-banner-default.svg)


<h3>Snyk has created this PR to upgrade tailwind-merge from 3.4.0 to
3.5.0.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.

<hr/>


- The recommended version is **15 versions** ahead of your current
version.

- The recommended version was released **a month ago**.



<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>tailwind-merge</b></summary>
    <ul>
      <li>
<b>3.5.0</b> - <a
href="https://redirect.github.com/dcastil/tailwind-merge/releases/tag/v3.5.0">2026-02-18</a></br><h3>New
Features</h3>
<ul>
<li>Add support for Tailwind CSS v4.2 by <a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/dcastil/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/dcastil">@ dcastil</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3959950622" data-permission-text="Title is private"
data-url="dcastil/tailwind-merge#651"
data-hovercard-type="pull_request"
data-hovercard-url="/dcastil/tailwind-merge/pull/651/hovercard"
href="https://redirect.github.com/dcastil/tailwind-merge/pull/651">#651</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://redirect.github.com/dcastil/tailwind-merge/compare/v3.4.1...v3.5.0"><tt>v3.4.1...v3.5.0</tt></a></p>
<p>Thanks to <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/brandonmcconnell/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/brandonmcconnell">@
brandonmcconnell</a>, <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/manavm1990/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/manavm1990">@ manavm1990</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/langy/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/langy">@ langy</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/roboflow/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/roboflow">@ roboflow</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/syntaxfm/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/syntaxfm">@ syntaxfm</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/getsentry/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/getsentry">@ getsentry</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/codecov/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/codecov">@ codecov</a>, a private
sponsor, <a class="user-mention notranslate"
data-hovercard-type="organization"
data-hovercard-url="/orgs/block/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/block">@ block</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/openclaw/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/openclaw">@ openclaw</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/sourcegraph/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sourcegraph">@ sourcegraph</a> and
more via <a class="user-mention notranslate"
data-hovercard-type="organization"
data-hovercard-url="/orgs/thnxdev/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/thnxdev">@ thnxdev</a> for sponsoring
tailwind-merge! ❤️</p>
      </li>
      <li>
<b>3.5.0-dev.ef91df55ea3be957e222aaa5963d0cac8b69d380</b> - 2026-03-08
      </li>
      <li>
<b>3.5.0-dev.bcbabfd92e5ffa904bc01cd8c9fd2aa92f2d7eeb</b> - 2026-02-19
      </li>
      <li>
<b>3.5.0-dev.8ac9280f7a64a2fa9bfd70ce97c29e6678058eda</b> - 2026-03-03
      </li>
      <li>
<b>3.5.0-dev.78ba9f7d65bb45fabfae0e55a85677b92ad66cc1</b> - 2026-03-02
      </li>
      <li>
<b>3.5.0-dev.5e0d222ca5d9786adcff8b59ada3e275155e5bc1</b> - 2026-03-14
      </li>
      <li>
<b>3.5.0-dev.3808eecf2ff9a3b493462e9de68111deb628ae86</b> - 2026-03-14
      </li>
      <li>
<b>3.5.0-dev.270ac79f2c54fcaaabe811df2aa3c20300318bd9</b> - 2026-02-18
      </li>
      <li>
<b>3.4.1</b> - <a
href="https://redirect.github.com/dcastil/tailwind-merge/releases/tag/v3.4.1">2026-02-15</a></br><h3>Bug
Fixes</h3>
<ul>
<li>Prevent arbitrary font-family and font-weight from merging by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/roneymoon/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/roneymoon">@ roneymoon</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3859932231" data-permission-text="Title is private"
data-url="dcastil/tailwind-merge#635"
data-hovercard-type="pull_request"
data-hovercard-url="/dcastil/tailwind-merge/pull/635/hovercard"
href="https://redirect.github.com/dcastil/tailwind-merge/pull/635">#635</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://redirect.github.com/dcastil/tailwind-merge/compare/v3.4.0...v3.4.1"><tt>v3.4.0...v3.4.1</tt></a></p>
<p>Thanks to <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/brandonmcconnell/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/brandonmcconnell">@
brandonmcconnell</a>, <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/manavm1990/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/manavm1990">@ manavm1990</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/langy/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/langy">@ langy</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/roboflow/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/roboflow">@ roboflow</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/syntaxfm/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/syntaxfm">@ syntaxfm</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/getsentry/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/getsentry">@ getsentry</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/codecov/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/codecov">@ codecov</a>, a private
sponsor, <a class="user-mention notranslate"
data-hovercard-type="organization"
data-hovercard-url="/orgs/block/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/block">@ block</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/openclaw/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/openclaw">@ openclaw</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/sourcegraph/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/sourcegraph">@ sourcegraph</a> and
more via <a class="user-mention notranslate"
data-hovercard-type="organization"
data-hovercard-url="/orgs/thnxdev/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/thnxdev">@ thnxdev</a> for sponsoring
tailwind-merge! ❤️</p>
      </li>
      <li>
<b>3.4.1-dev.d2bbc293406dc65ef26eb2b0dc75ff69c765039b</b> - 2026-02-15
      </li>
      <li>
<b>3.4.1-dev.bb32e1c31b971ead8b49750a167b996eb0480649</b> - 2026-02-15
      </li>
      <li>
<b>3.4.1-dev.a363aa43401a35e2ebd26df401bfd286f854f6ec</b> - 2026-02-15
      </li>
      <li>
<b>3.4.1-dev.6c1f77ca717df7d2685eb783c568ef7696148171</b> - 2026-02-18
      </li>
      <li>
<b>3.4.1-dev.60634fdace8a9efd7af290e0382cefa81c00f8cf</b> - 2026-02-15
      </li>
      <li>
<b>3.4.1-dev.02b6eb6df78e6fb7994b43d4b5f4bbecbe05c43a</b> - 2026-02-15
      </li>
      <li>
<b>3.4.0</b> - <a
href="https://redirect.github.com/dcastil/tailwind-merge/releases/tag/v3.4.0">2025-11-09</a></br><h3>New
Features</h3>
<ul>
<li>Performance optimizations which make tailwind-merge &gt;10% faster
<ul>
<li>Vibe optimization by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/quantizor/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/quantizor">@ quantizor</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2923243792" data-permission-text="Title is private"
data-url="dcastil/tailwind-merge#547"
data-hovercard-type="pull_request"
data-hovercard-url="/dcastil/tailwind-merge/pull/547/hovercard"
href="https://redirect.github.com/dcastil/tailwind-merge/pull/547">#547</a></li>
<li>Additional optimizations by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/quantizor/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/quantizor">@ quantizor</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3567413691" data-permission-text="Title is private"
data-url="dcastil/tailwind-merge#619"
data-hovercard-type="pull_request"
data-hovercard-url="/dcastil/tailwind-merge/pull/619/hovercard"
href="https://redirect.github.com/dcastil/tailwind-merge/pull/619">#619</a></li>
</ul>
</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Improve docs by clarifying things, adding more examples by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/dcastil/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/dcastil">@ dcastil</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3554414538" data-permission-text="Title is private"
data-url="dcastil/tailwind-merge#618"
data-hovercard-type="pull_request"
data-hovercard-url="/dcastil/tailwind-merge/pull/618/hovercard"
href="https://redirect.github.com/dcastil/tailwind-merge/pull/618">#618</a></li>
<li>Make examples more realistic by <a class="user-mention notranslate"
data-hovercard-type="user" data-hovercard-url="/users/dcastil/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/dcastil">@ dcastil</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3554404528" data-permission-text="Title is private"
data-url="dcastil/tailwind-merge#617"
data-hovercard-type="pull_request"
data-hovercard-url="/dcastil/tailwind-merge/pull/617/hovercard"
href="https://redirect.github.com/dcastil/tailwind-merge/pull/617">#617</a></li>
<li>Add custom variant as an alternative to docs by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/kidonng/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/kidonng">@ kidonng</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3152183374" data-permission-text="Title is private"
data-url="dcastil/tailwind-merge#592"
data-hovercard-type="pull_request"
data-hovercard-url="/dcastil/tailwind-merge/pull/592/hovercard"
href="https://redirect.github.com/dcastil/tailwind-merge/pull/592">#592</a></li>
</ul>
<h3>Other</h3>
<ul>
<li>Improve benchmarking suite by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/quantizor/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/quantizor">@ quantizor</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3567535310" data-permission-text="Title is private"
data-url="dcastil/tailwind-merge#620"
data-hovercard-type="pull_request"
data-hovercard-url="/dcastil/tailwind-merge/pull/620/hovercard"
href="https://redirect.github.com/dcastil/tailwind-merge/pull/620">#620</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://redirect.github.com/dcastil/tailwind-merge/compare/v3.3.1...v3.4.0"><tt>v3.3.1...v3.4.0</tt></a></p>
<p>Thanks to <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/brandonmcconnell/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/brandonmcconnell">@
brandonmcconnell</a>, <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/manavm1990/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/manavm1990">@ manavm1990</a>, <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/langy/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/langy">@ langy</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/roboflow/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/roboflow">@ roboflow</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/syntaxfm/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/syntaxfm">@ syntaxfm</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/getsentry/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/getsentry">@ getsentry</a>, <a
class="user-mention notranslate" data-hovercard-type="organization"
data-hovercard-url="/orgs/codecov/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/codecov">@ codecov</a> and a private
sponsor for sponsoring tailwind-merge! ❤️</p>
      </li>
    </ul>
from <a
href="https://redirect.github.com/dcastil/tailwind-merge/releases">tailwind-merge
GitHub release notes</a>
  </details>
</details>

---

> [!IMPORTANT]
>
> - Check the changes in this PR to ensure they won't cause issues with
your project.
> - This PR was automatically created by Snyk using the credentials of a
real user.

---

**Note:** _You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs._

**For more information:** <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6ImZha2Uta2V5IiwiYW5vbnltb3VzSWQiOiI5YmNiMmVkMi1mOWY3LTRhNjAtYWU4My1jN2U3MmM3ZjZjNGQiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjliY2IyZWQyLWY5ZjctNGE2MC1hZTgzLWM3ZTcyYzdmNmM0ZCJ9fQ=="
width="0" height="0"/>

> - 🧐 [View latest project
report](https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 📜 [Customise PR
templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates?utm_source=&utm_content=fix-pr-template)
> - 🛠 [Adjust upgrade PR
settings](https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf/settings/integration?pkg&#x3D;tailwind-merge&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

[//]: #
'snyk:metadata:{"breakingChangeRiskLevel":null,"FF_showPullRequestBreakingChanges":false,"FF_showPullRequestBreakingChangesWebSearch":false,"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"tailwind-merge","from":"3.4.0","to":"3.5.0"}],"env":"prod","hasFixes":false,"isBreakingChange":false,"isMajorUpgrade":false,"issuesToFix":[],"prId":"9bcb2ed2-f9f7-4a60-ae83-c7e72c7f6c4d","prPublicId":"9bcb2ed2-f9f7-4a60-ae83-c7e72c7f6c4d","packageManager":"npm","priorityScoreList":[],"projectPublicId":"6ec96c13-2fa1-4d2e-a2c9-55875479edaf","projectUrl":"https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf?utm_source=github&utm_medium=referral&page=upgrade-pr","prType":"upgrade","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":[],"type":"auto","upgrade":[],"upgradeInfo":{"versionsDiff":15,"publishedDate":"2026-02-18T23:45:37.340Z"},"vulns":[]}'

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
![snyk-top-banner](https://res.cloudinary.com/snyk/image/upload/r-d/scm-platform/snyk-pull-requests/pr-banner-default.svg)


<h3>Snyk has created this PR to upgrade lucide-react from 0.563.0 to
0.575.0.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.

<hr/>


- The recommended version is **12 versions** ahead of your current
version.

- The recommended version was released **a month ago**.



<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>lucide-react</b></summary>
    <ul>
      <li>
<b>0.575.0</b> - <a
href="https://redirect.github.com/lucide-icons/lucide/releases/tag/0.575.0">2026-02-19</a></br><h2>What's
Changed</h2>
<ul>
<li>feat(icons): added <code>message-square-check</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/karsa-mistmere/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/karsa-mistmere">@ karsa-mistmere</a>
in <a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="3952331220" data-permission-text="Title is private"
data-url="lucide-icons/lucide#4076"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/4076/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/4076">#4076</a></li>
<li>fix(lucide): Fix ESM Module output path in build by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/ericfennis/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/ericfennis">@ ericfennis</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3961758540" data-permission-text="Title is private"
data-url="lucide-icons/lucide#4084"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/4084/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/4084">#4084</a></li>
<li>feat(icons): added <code>metronome</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/edwloef/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/edwloef">@ edwloef</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3925776649" data-permission-text="Title is private"
data-url="lucide-icons/lucide#4063"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/4063/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/4063">#4063</a></li>
<li>fix(icons): remove execution permission of SVG files by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/duckafire/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/duckafire">@ duckafire</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3908048918" data-permission-text="Title is private"
data-url="lucide-icons/lucide#4053"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/4053/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/4053">#4053</a></li>
<li>fix(icons): changed <code>file-pen-line</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/jguddas/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/jguddas">@ jguddas</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3800600777" data-permission-text="Title is private"
data-url="lucide-icons/lucide#3970"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3970/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3970">#3970</a></li>
<li>feat(icons): added <code>square-arrow-right-exit</code> and
<code>square-arrow-right-enter</code> icons by <a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/EthanHazel/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/EthanHazel">@ EthanHazel</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3794686024" data-permission-text="Title is private"
data-url="lucide-icons/lucide#3958"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3958/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3958">#3958</a></li>
<li>fix(icons): renamed <code>flip-*</code> to
<code>square-centerline-dashed-*</code> by <a class="user-mention
notranslate" data-hovercard-type="user"
data-hovercard-url="/users/jguddas/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/jguddas">@ jguddas</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3779330597" data-permission-text="Title is private"
data-url="lucide-icons/lucide#3945"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3945/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3945">#3945</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/edwloef/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/edwloef">@ edwloef</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="3925776649"
data-permission-text="Title is private"
data-url="lucide-icons/lucide#4063"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/4063/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/4063">#4063</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/duckafire/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/duckafire">@ duckafire</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="3908048918"
data-permission-text="Title is private"
data-url="lucide-icons/lucide#4053"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/4053/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/4053">#4053</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://redirect.github.com/lucide-icons/lucide/compare/0.573.0...0.575.0"><tt>0.573.0...0.575.0</tt></a></p>
      </li>
      <li>
<b>0.574.0</b> - <a
href="https://redirect.github.com/lucide-icons/lucide/releases/tag/0.574.0">2026-02-17</a></br><h2>What's
Changed</h2>
<ul>
<li>fix(icons): changed <code>rocking-chair</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/jamiemlaw/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/jamiemlaw">@ jamiemlaw</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3262551830" data-permission-text="Title is private"
data-url="lucide-icons/lucide#3445"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3445/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3445">#3445</a></li>
<li>fix(icons): flipped <code>coins</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/jguddas/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/jguddas">@ jguddas</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3023068418" data-permission-text="Title is private"
data-url="lucide-icons/lucide#3158"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3158/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3158">#3158</a></li>
<li>feat(icons): added <code>x-line-top</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/jguddas/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/jguddas">@ jguddas</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2873441893" data-permission-text="Title is private"
data-url="lucide-icons/lucide#2838"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/2838/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/2838">#2838</a></li>
<li>feat(icons): added <code>mouse-left</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/marvfash/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/marvfash">@ marvfash</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2842710884" data-permission-text="Title is private"
data-url="lucide-icons/lucide#2788"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/2788/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/2788">#2788</a></li>
<li>feat(icons): added <code>mouse-right</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/marvfash/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/marvfash">@ marvfash</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2842697979" data-permission-text="Title is private"
data-url="lucide-icons/lucide#2787"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/2787/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/2787">#2787</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/marvfash/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/marvfash">@ marvfash</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2842710884"
data-permission-text="Title is private"
data-url="lucide-icons/lucide#2788"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/2788/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/2788">#2788</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://redirect.github.com/lucide-icons/lucide/compare/0.572.0...0.574.0"><tt>0.572.0...0.574.0</tt></a></p>
      </li>
      <li>
<b>0.573.0</b> - <a
href="https://redirect.github.com/lucide-icons/lucide/releases/tag/0.573.0">2026-02-17</a></br><h2>What's
Changed</h2>
<ul>
<li>fix(icons): changed <code>rocking-chair</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/jamiemlaw/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/jamiemlaw">@ jamiemlaw</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3262551830" data-permission-text="Title is private"
data-url="lucide-icons/lucide#3445"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3445/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3445">#3445</a></li>
<li>fix(icons): flipped <code>coins</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/jguddas/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/jguddas">@ jguddas</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3023068418" data-permission-text="Title is private"
data-url="lucide-icons/lucide#3158"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3158/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3158">#3158</a></li>
<li>feat(icons): added <code>x-line-top</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/jguddas/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/jguddas">@ jguddas</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2873441893" data-permission-text="Title is private"
data-url="lucide-icons/lucide#2838"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/2838/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/2838">#2838</a></li>
<li>feat(icons): added <code>mouse-left</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/marvfash/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/marvfash">@ marvfash</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2842710884" data-permission-text="Title is private"
data-url="lucide-icons/lucide#2788"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/2788/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/2788">#2788</a></li>
<li>feat(icons): added <code>mouse-right</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/marvfash/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/marvfash">@ marvfash</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2842697979" data-permission-text="Title is private"
data-url="lucide-icons/lucide#2787"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/2787/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/2787">#2787</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/marvfash/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/marvfash">@ marvfash</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2842710884"
data-permission-text="Title is private"
data-url="lucide-icons/lucide#2788"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/2788/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/2788">#2788</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://redirect.github.com/lucide-icons/lucide/compare/0.572.0...0.573.0"><tt>0.572.0...0.573.0</tt></a></p>
      </li>
      <li>
<b>0.572.0</b> - <a
href="https://redirect.github.com/lucide-icons/lucide/releases/tag/0.572.0">2026-02-17</a></br><h2>What's
Changed</h2>
<ul>
<li>feat(icons): added <code>message-circle-check</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Shrinks99/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/Shrinks99">@ Shrinks99</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3602965188" data-permission-text="Title is private"
data-url="lucide-icons/lucide#3770"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3770/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3770">#3770</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Shrinks99/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/Shrinks99">@ Shrinks99</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="3602965188"
data-permission-text="Title is private"
data-url="lucide-icons/lucide#3770"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3770/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3770">#3770</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://redirect.github.com/lucide-icons/lucide/compare/0.571.0...0.572.0"><tt>0.571.0...0.572.0</tt></a></p>
      </li>
      <li>
<b>0.571.0</b> - <a
href="https://redirect.github.com/lucide-icons/lucide/releases/tag/0.571.0">2026-02-17</a></br><h2>What's
Changed</h2>
<ul>
<li>fix(icons): rearange <code>circle</code>-icons path and circle order
by <a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/adamlindqvist/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/adamlindqvist">@ adamlindqvist</a> in
<a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="3573720648" data-permission-text="Title is private"
data-url="lucide-icons/lucide#3746"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3746/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3746">#3746</a></li>
<li>feat(icons): added <code>shelving-unit</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/karsa-mistmere/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/karsa-mistmere">@ karsa-mistmere</a>
in <a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="2992915519" data-permission-text="Title is private"
data-url="lucide-icons/lucide#3041"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3041/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3041">#3041</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/adamlindqvist/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/adamlindqvist">@ adamlindqvist</a>
made their first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="3573720648"
data-permission-text="Title is private"
data-url="lucide-icons/lucide#3746"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3746/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3746">#3746</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://redirect.github.com/lucide-icons/lucide/compare/0.570.0...0.571.0"><tt>0.570.0...0.571.0</tt></a></p>
      </li>
      <li>
<b>0.570.0</b> - <a
href="https://redirect.github.com/lucide-icons/lucide/releases/tag/0.570.0">2026-02-17</a></br><h2>What's
Changed</h2>
<ul>
<li>feat(icons): added <code>towel-rack</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/jguddas/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/jguddas">@ jguddas</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3165279086" data-permission-text="Title is private"
data-url="lucide-icons/lucide#3350"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3350/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3350">#3350</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://redirect.github.com/lucide-icons/lucide/compare/0.569.0...0.570.0"><tt>0.569.0...0.570.0</tt></a></p>
      </li>
      <li>
<b>0.569.0</b> - <a
href="https://redirect.github.com/lucide-icons/lucide/releases/tag/0.569.0">2026-02-17</a></br><h2>What's
Changed</h2>
<ul>
<li>fix(icons): changed <code>clipboard-pen</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/Spleefies/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/Spleefies">@ Spleefies</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3828292405" data-permission-text="Title is private"
data-url="lucide-icons/lucide#4006"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/4006/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/4006">#4006</a></li>
<li>feat(icons): add <code>mirror-round</code> and
<code>mirror-rectangular</code> by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/Muhammad-Aqib-Bashir/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/Muhammad-Aqib-Bashir">@
Muhammad-Aqib-Bashir</a> in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="3676565659"
data-permission-text="Title is private"
data-url="lucide-icons/lucide#3832"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3832/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3832">#3832</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://redirect.github.com/lucide-icons/lucide/compare/0.568.0...0.569.0"><tt>0.568.0...0.569.0</tt></a></p>
      </li>
      <li>
<b>0.568.0</b> - <a
href="https://redirect.github.com/lucide-icons/lucide/releases/tag/0.568.0">2026-02-17</a></br><h2>What's
Changed</h2>
<ul>
<li>fix(icons): adjusted <code>clapperboard</code> so slash is no longer
protruding by <a class="user-mention notranslate"
data-hovercard-type="user"
data-hovercard-url="/users/torfmuer/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/torfmuer">@ torfmuer</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="3597431079" data-permission-text="Title is private"
data-url="lucide-icons/lucide#3764"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3764/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3764">#3764</a></li>
<li>feat(icons): Add <code>git-merge-conflict</code> icon by <a
class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/timmy471/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/timmy471">@ timmy471</a> in <a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2978224641" data-permission-text="Title is private"
data-url="lucide-icons/lucide#3008"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3008/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3008">#3008</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/torfmuer/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/torfmuer">@ torfmuer</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="3597431079"
data-permission-text="Title is private"
data-url="lucide-icons/lucide#3764"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3764/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3764">#3764</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/timmy471/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://redirect.github.com/timmy471">@ timmy471</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2978224641"
data-permission-text="Title is private"
data-url="lucide-icons/lucide#3008"
data-hovercard-type="pull_request"
data-hovercard-url="/lucide-icons/lucide/pull/3008/hovercard"
href="https://redirect.github.com/lucide-icons/lucide/pull/3008">#3008</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://redirect.github.com/lucide-icons/lucide/compare/0.567.0...0.568.0"><tt>0.567.0...0.568.0</tt></a></p>
      </li>
      <li>
        <b>0.567.0</b> - 2026-02-17
      </li>
      <li>
        <b>0.566.0</b> - 2026-02-17
      </li>
      <li>
        <b>0.565.0</b> - 2026-02-17
      </li>
      <li>
        <b>0.564.0</b> - 2026-02-13
      </li>
      <li>
        <b>0.563.0</b> - 2026-01-23
      </li>
    </ul>
from <a
href="https://redirect.github.com/lucide-icons/lucide/releases">lucide-react
GitHub release notes</a>
  </details>
</details>

---

> [!IMPORTANT]
>
> - Check the changes in this PR to ensure they won't cause issues with
your project.
> - This PR was automatically created by Snyk using the credentials of a
real user.

---

**Note:** _You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs._

**For more information:** <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6ImZha2Uta2V5IiwiYW5vbnltb3VzSWQiOiIyMzc0MGIyZS0yNjdmLTQ2YjctYWJiZi03MDU4MGE3MmJkNmMiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjIzNzQwYjJlLTI2N2YtNDZiNy1hYmJmLTcwNTgwYTcyYmQ2YyJ9fQ=="
width="0" height="0"/>

> - 🧐 [View latest project
report](https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 📜 [Customise PR
templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates?utm_source=&utm_content=fix-pr-template)
> - 🛠 [Adjust upgrade PR
settings](https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf/settings/integration?pkg&#x3D;lucide-react&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

[//]: #
'snyk:metadata:{"breakingChangeRiskLevel":null,"FF_showPullRequestBreakingChanges":false,"FF_showPullRequestBreakingChangesWebSearch":false,"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"lucide-react","from":"0.563.0","to":"0.575.0"}],"env":"prod","hasFixes":false,"isBreakingChange":false,"isMajorUpgrade":false,"issuesToFix":[],"prId":"23740b2e-267f-46b7-abbf-70580a72bd6c","prPublicId":"23740b2e-267f-46b7-abbf-70580a72bd6c","packageManager":"npm","priorityScoreList":[],"projectPublicId":"6ec96c13-2fa1-4d2e-a2c9-55875479edaf","projectUrl":"https://app.eu.snyk.io/org/layer-3-foundation-default/project/6ec96c13-2fa1-4d2e-a2c9-55875479edaf?utm_source=github&utm_medium=referral&page=upgrade-pr","prType":"upgrade","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":[],"type":"auto","upgrade":[],"upgradeInfo":{"versionsDiff":12,"publishedDate":"2026-02-19T12:20:13.016Z"},"vulns":[]}'

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to
2.3.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/micromatch/picomatch/releases">picomatch's
releases</a>.</em></p>
<blockquote>
<h2>2.3.2</h2>
<p>This is a security release fixing several security relevant
issues.</p>
<h2>What's Changed</h2>
<ul>
<li>fix: exception when glob pattern contains constructor by <a
href="https://github.com/Jason3S"><code>@​Jason3S</code></a> in <a
href="https://redirect.github.com/micromatch/picomatch/pull/144">micromatch/picomatch#144</a></li>
<li>Fix for <a
href="https://github.com/micromatch/picomatch/security/advisories/GHSA-c2c7-rcm5-vvqj">CVE-2026-33671</a></li>
<li>Fix for <a
href="https://github.com/micromatch/picomatch/security/advisories/GHSA-3v7f-55p6-f55p">CVE-2026-33672</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2">https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md">picomatch's
changelog</a>.</em></p>
<blockquote>
<h1>Release history</h1>
<p><strong>All notable changes to this project will be documented in
this file.</strong></p>
<p>The format is based on <a
href="http://keepachangelog.com/en/1.0.0/">Keep a Changelog</a>
and this project adheres to <a
href="http://semver.org/spec/v2.0.0.html">Semantic Versioning</a>.</p>
<!-- raw HTML omitted -->
<ul>
<li>Changelogs are for humans, not machines.</li>
<li>There should be an entry for every single version.</li>
<li>The same types of changes should be grouped.</li>
<li>Versions and sections should be linkable.</li>
<li>The latest version comes first.</li>
<li>The release date of each versions is displayed.</li>
<li>Mention whether you follow Semantic Versioning.</li>
</ul>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<p>Changelog entries are classified using the following labels <em>(from
<a href="http://keepachangelog.com/">keep-a-changelog</a></em>):</p>
<ul>
<li><code>Added</code> for new features.</li>
<li><code>Changed</code> for changes in existing functionality.</li>
<li><code>Deprecated</code> for soon-to-be removed features.</li>
<li><code>Removed</code> for now removed features.</li>
<li><code>Fixed</code> for any bug fixes.</li>
<li><code>Security</code> in case of vulnerabilities.</li>
</ul>
<!-- raw HTML omitted -->
<h2>4.0.0 (2024-02-07)</h2>
<h3>Fixes</h3>
<ul>
<li>Fix bad text values in parse <a
href="https://redirect.github.com/micromatch/picomatch/issues/126">#126</a>,
thanks to <a
href="https://github.com/connor4312"><code>@​connor4312</code></a></li>
</ul>
<h3>Changed</h3>
<ul>
<li>Remove process global to work outside of node <a
href="https://redirect.github.com/micromatch/picomatch/issues/129">#129</a>,
thanks to <a
href="https://github.com/styfle"><code>@​styfle</code></a></li>
<li>Add sideEffects to package.json <a
href="https://redirect.github.com/micromatch/picomatch/issues/128">#128</a>,
thanks to <a
href="https://github.com/frandiox"><code>@​frandiox</code></a></li>
<li>Removed <code>os</code>, make compatible browser environment. See <a
href="https://redirect.github.com/micromatch/picomatch/issues/124">#124</a>,
thanks to <a
href="https://github.com/gwsbhqt"><code>@​gwsbhqt</code></a></li>
</ul>
<h2>3.0.1</h2>
<h3>Fixes</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/micromatch/picomatch/commit/81cba8d4b767cab3cb29d26eb4f691eed75b73b2"><code>81cba8d</code></a>
Publish 2.3.2</li>
<li><a
href="https://github.com/micromatch/picomatch/commit/fc1f6b69006e9435caf8fb40d8aff378bc0b7bce"><code>fc1f6b6</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/micromatch/picomatch/commit/eec17aee5428a7249e9ca5adbb8a0d28fa29619b"><code>eec17ae</code></a>
Merge commit from fork</li>
<li><a
href="https://github.com/micromatch/picomatch/commit/78f8ca4362d9e66cadea97b93e292f10096452ed"><code>78f8ca4</code></a>
Merge pull request <a
href="https://redirect.github.com/micromatch/picomatch/issues/156">#156</a>
from micromatch/backport-144</li>
<li><a
href="https://github.com/micromatch/picomatch/commit/3f4f10eaa65bf3a52e8f2999674cd27e11fa3c9b"><code>3f4f10e</code></a>
Merge pull request <a
href="https://redirect.github.com/micromatch/picomatch/issues/144">#144</a>
from Jason3S/jdent-object-properties</li>
<li>See full diff in <a
href="https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=picomatch&package-manager=npm_and_yarn&previous-version=2.3.1&new-version=2.3.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/layer-3/nitrolite/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
philanton and others added 19 commits May 21, 2026 13:54
## Summary
- Submit handlers for `channels.v1.submit_session_key_state` and
`app_sessions.v1.submit_session_key_state` accept a past `expires_at` as
a revocation, preserving the monotonic version sequence. The auth path
already filters `expires_at > now`, so the key deactivates immediately;
a later submit with the next version and a future `expires_at`
re-activates the same session key address.
- Reject `expires_at < 0` instead of `expires_at <= now`.
Defense-in-depth against `int64 → uint64` wrap in the metadata-hash
packer, which would otherwise silently desynchronize the user-signed
payload from the persisted row.
- `CountSessionKeysForUser` JOINs both history tables and only counts
rows with `expires_at > now`, so a revoke frees the per-user cap slot. A
single `now` is bound for both kind branches. The `int64` sum is
bounds-checked before the `uint32` cast.
- Emit an Info log (`session key revoked` / `channel session key
revoked`) when a submission deactivates the key, distinct from the
existing `successfully stored` log.
- Refresh `docs/api.yaml`, `pkg/rpc/types.go`, and the Go SDK `Submit*`
doc comments to describe revoke and re-activation semantics, including
the explicit constraint that `session_key_sig` is required on every
submit (including revocation).

## Follow-ups (out of scope for this PR)
- **Wallet-only revocation path** for lost or compromised keys. The
current handler requires `session_key_sig` on every submit, so a user
cannot revoke a key whose private material they no longer control. A
wallet-only flow is a separate code path (asymmetric auth,
replay-across-wallets threat model, version monotonicity when the key is
unrecoverable) and warrants its own ticket.
- **SDK ergonomics — `Revoke*SessionKeyState` helpers** for the Go SDK
and the TypeScript SDK, hiding the past-timestamp construction, version
bump, and dual signing behind a first-class API. Also touches the TS SDK
public-API drift snapshots, so worth a dedicated PR.

## Test plan
- [x] `go build ./...`
- [x] `go vet ./...`
- [x] `go test ./nitronode/api/app_session_v1/...
./nitronode/api/channel_v1/... ./nitronode/store/database/...`
- [ ] CI green

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

* **New Features**
  * Session key reactivation is now supported after revocation
  * Session key revocation via past `expires_at` timestamp

* **Documentation**
* API documentation clarified with explicit session key lifecycle
semantics (registration, update, revocation, reactivation)
  * Updated examples and guides reflecting revised revocation procedure
* Clarified validation rules and signature requirements for session key
submissions

* **Behavior Changes**
* Per-user session key cap enforcement now applies only when activating
previously inactive slots
  * Negative unix timestamps are explicitly rejected
* Both user and session key signatures required for all submission types

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…se sepolia (#779)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * Support for deployments across additional test networks.
  * Configurable fixed gas limit for blockchain transactions.
  * Native-ETH deposits supported in deposit tooling.
  * Added XRP asset and expanded asset coverage in the sandbox.

* **Chores**
* Updated deployment/sandbox manifests, Helm templates, and secrets for
sandbox/stress environments.
  * Improved batch-deposit tooling to handle native token decimals.

* **Tests**
  * Added unit tests validating blockchain gas-limit behavior.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/layer-3/nitrolite/pull/779?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Anton Filonenko <phil@yellow.org>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * Added support for Linea Sepolia network

* **Chores**
* Updated blockchain network configurations with new ChannelHub
addresses and signature validators across multiple networks
* Refreshed deployment/run records and sandbox metadata for several
networks
  * Rotated GCP KMS key reference used by the sandbox configuration

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/layer-3/nitrolite/pull/785?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Anton Filonenko <phil@yellow.org>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Added deployment records across multiple blockchain networks
documenting complete transaction execution details, including
transaction hashes, deployed contract addresses, gas consumption
metrics, library address mappings, receipt information, and
comprehensive network-specific metadata. These records enable enhanced
deployment tracking, verification, and full auditability of deployment
activities across all supported blockchain networks and system
configurations.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/layer-3/nitrolite/pull/783?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Anton Filonenko <phil@yellow.org>
## Summary

Three audit-finding fixes from the MF3 batch, intended to squash-merge.

### Commits

- **MF3-L01** (`1827cfbf`) — `pkg/core`: validate aggregate net-flow /
allocation ranges. Individually-valid scaled balances can still overflow
the contract's `int256` net-flow sum or `uint256` allocation sum,
producing states the contract will always reject. Adds aggregate bounds
checks in both `Ledger.Validate` (domain) and `contractLedger.Validate`
(ABI/packing) as defense in depth.

- **MF3-H01** (`064512de`) — `nitronode/event_handlers`: issue
`challenge_rescue` on Challenged → Closed unconditionally. Drops the
`HasSignedFinalize` skip that under-credited the user when a Path-1
timeout close landed at version `Y < F` despite a node-signed Finalize
existing locally. Sources rescue `prev` via `GetLastUserState` across
both channel-attached and detached entries; `NewChallengeRescueState`
now branches on `prev.HomeChannelID` (detached → append at `(prev.Epoch,
prev.Version+1)`; in-channel → wrap to `(prev.Epoch+1, 0)`), eliminating
the state-ID collision the old skip worked around. Also drops the
redundant `epoch` filter from `SumNetTransitionAmountAfterVersion`.

- **MF3-I01** (`c6f945af`) — docs only: promotes the implicit "events
processed in strict `(block, log_index)` order with idempotent resume"
property of `pkg/blockchain/evm/listener.go` into a named, citeable
invariant. Cross-references it at every consumer that relies on it
(receiver-credit issuance in `channel_v1` / `app_session_v1`, close
handler in `event_handlers`), so future changes that weaken any of the
four guarantees have to update the named consumers. No behavior change —
auditor reframed I01 as Informational defense-in-depth.

## Test plan

- [x] `go build ./...` clean
- [x] `go vet ./...` clean
- [x] `go test ./...` all packages pass
- [x] New tests on each commit (see individual commit messages)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

* **Bug Fixes**
* Enhanced validation to prevent overflow conditions in state
allocations and net flows.

* **Documentation**
* Expanded documentation on event ordering guarantees and channel
closure recovery scenarios.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/layer-3/nitrolite/pull/787?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Maharshi Mishra <ihsraham27@gmail.com>
## Summary
- Adds `sdk/go/examples/round_robin/main.go` and
`sdk/ts/examples/round_robin/{lifecycle.ts,package.json,tsconfig.json}`.
- Each example exercises deposit / transfer-send / close /
transfer-receive / withdraw on every chain on which the configured asset
is supported. Funds circulate: deposit chain[i] → A→B transfer → close →
B→A transfer (off-chain credit on void state) → withdraw chain[i+1];
last iteration wraps to chain[0].
- Preflight verifies per-chain native gas balance and seed-chain asset
balance before any tx runs; bails with a per-chain shortfall table if
anything is missing.
- Optional channel session key path (`sessionKeyPriv`) mirrored from the
existing `channel_session_key` example — registers a v1 key for asset,
builds a session-key-backed client, and runs the entire loop through it.
- Header comments document the full 1.a–1.e + 2.a–2.e flow; in-code
section banners and per-step comments reference those identifiers.

## Test plan
- [x] `go vet ./sdk/go/examples/round_robin/...`
- [x] `go build ./sdk/go/examples/round_robin/...`
- [x] `tsc --noEmit` against `sdk/ts/examples/round_robin/lifecycle.ts`
(skipLibCheck, ES2022+DOM lib)
- [x] End-to-end run against sandbox nitronode with funded wallets
(manual, requires real keys)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added Go and TypeScript round‑robin examples demonstrating end‑to‑end
channel lifecycle across supported chains.

* **Bug Fixes**
* Enforced chain-binding checks for deposits/withdrawals to prevent
operations on the wrong chain.
* Improved transaction/receipt handling and simulation account behavior
for deposit/withdraw flows.

* **Documentation**
* Added TypeScript example package and config for running the lifecycle
demo.

* **Tests**
* Added unit and integration tests covering cross-chain guard behavior.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/layer-3/nitrolite/pull/789?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…th 5 updates (#793)

Bumps the gomod-dependencies group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
|
[cloud.google.com/go/kms](https://github.com/googleapis/google-cloud-go)
| `1.30.0` | `1.31.0` |
|
[github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum)
| `1.17.2` | `1.17.3` |
| [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) |
`1.11.0` | `1.12.0` |
| [golang.org/x/term](https://github.com/golang/term) | `0.42.0` |
`0.43.0` |
|
[google.golang.org/api](https://github.com/googleapis/google-api-go-client)
| `0.277.0` | `0.281.0` |


Updates `cloud.google.com/go/kms` from 1.30.0 to 1.31.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/google-cloud-go/releases">cloud.google.com/go/kms's
releases</a>.</em></p>
<blockquote>
<h2>retail: v1.31.0</h2>
<h2><a
href="https://github.com/googleapis/google-cloud-go/compare/retail/v1.30.0...retail/v1.31.0">v1.31.0</a>
(2026-05-07)</h2>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/google-cloud-go/blob/main/documentai/CHANGES.md">cloud.google.com/go/kms's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/google-cloud-go/compare/documentai/v1.30.5...documentai/v1.31.0">1.31.0</a>
(2024-08-01)</h2>
<h3>Features</h3>
<ul>
<li><strong>documentai:</strong> A new field <code>imageless_mode</code>
is added to message
<code>.google.cloud.documentai.v1.ProcessRequest</code> (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/10615">#10615</a>)
(<a
href="https://github.com/googleapis/google-cloud-go/commit/97fa56008a30857fc6d835517fc2d9a2959b19a5">97fa560</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li><strong>documentai:</strong> Keep the API doc up-to-date with recent
changes (<a
href="https://github.com/googleapis/google-cloud-go/commit/97fa56008a30857fc6d835517fc2d9a2959b19a5">97fa560</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/google-cloud-go/compare/documentai/v1.30.4...documentai/v1.30.5">1.30.5</a>
(2024-07-24)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>documentai:</strong> Update dependencies (<a
href="https://github.com/googleapis/google-cloud-go/commit/257c40bd6d7e59730017cf32bda8823d7a232758">257c40b</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/google-cloud-go/compare/documentai/v1.30.3...documentai/v1.30.4">1.30.4</a>
(2024-07-10)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>documentai:</strong> Bump google.golang.org/grpc@v1.64.1 (<a
href="https://github.com/googleapis/google-cloud-go/commit/8ecc4e9622e5bbe9b90384d5848ab816027226c5">8ecc4e9</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/google-cloud-go/compare/documentai/v1.30.2...documentai/v1.30.3">1.30.3</a>
(2024-07-01)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>documentai:</strong> Bump google.golang.org/api@v0.187.0 (<a
href="https://github.com/googleapis/google-cloud-go/commit/8fa9e398e512fd8533fd49060371e61b5725a85b">8fa9e39</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/google-cloud-go/compare/documentai/v1.30.1...documentai/v1.30.2">1.30.2</a>
(2024-06-26)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>documentai:</strong> Enable new auth lib (<a
href="https://github.com/googleapis/google-cloud-go/commit/b95805f4c87d3e8d10ea23bd7a2d68d7a4157568">b95805f</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/google-cloud-go/compare/documentai/v1.30.0...documentai/v1.30.1">1.30.1</a>
(2024-06-20)</h2>
<h3>Documentation</h3>
<ul>
<li><strong>documentai:</strong> Update the comment to add a note about
<code>documentai.processors.create</code> permission (<a
href="https://github.com/googleapis/google-cloud-go/commit/4fa43082511e153044084c1e6736553de41a9894">4fa4308</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/9a44b31c75e76a0f6e05ebd9a68c8227f4525cb1"><code>9a44b31</code></a>
chore: librarian release pull request: 20260409T070606Z (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/14406">#14406</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/18a3318e010ed0dc5ee4a5c4a95b55955e64f101"><code>18a3318</code></a>
feat: Make AgentEngine APIs public</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/db45f2d9b642c177938eed2ff825a4aa31ad20b3"><code>db45f2d</code></a>
feat(bigtable): enable bigtable conn pool by default (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/14319">#14319</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/124ffd3b68a2bcc9f3dc067a36d30fe577e7c87c"><code>124ffd3</code></a>
feat(vertexai): Add AgentEngine Memories Revisions module</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/e247d48b886c686de79a9e306a6d570c4096fb91"><code>e247d48</code></a>
chore: onboard new library appoptimize (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/14393">#14393</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/ece84abc19fd70cdc74b2b92632aace9f7332f2c"><code>ece84ab</code></a>
chore: update librarian to v0.10.1-0.20260408193841-095ea7e727aa (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/14392">#14392</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/ecf9783b6e6d89043924b59f92791eb08b20512d"><code>ecf9783</code></a>
chore: librarian release pull request: 20260408T191440Z (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/14390">#14390</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/70b47d20b85c47df04388293999a47dff6ec0edd"><code>70b47d2</code></a>
chore: librarian release pull request: 20260408T190447Z (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/14389">#14389</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/95c53a6540e0a88efe0b3fb591422aa053823223"><code>95c53a6</code></a>
chore(bigquery): bump <code>api</code> to v0.275.0 and unskip bq tracing
tests (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/14333">#14333</a>)</li>
<li><a
href="https://github.com/googleapis/google-cloud-go/commit/df22e9e38ea6de00d858ef00475ae286d3fc6834"><code>df22e9e</code></a>
fix(storage): add retry logic for &quot;http2: client connection
lost&quot; (<a
href="https://redirect.github.com/googleapis/google-cloud-go/issues/14385">#14385</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/google-cloud-go/compare/kms/v1.30.0...dlp/v1.31.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/ethereum/go-ethereum` from 1.17.2 to 1.17.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ethereum/go-ethereum/releases">github.com/ethereum/go-ethereum's
releases</a>.</em></p>
<blockquote>
<h2>Enzymatic Injector (v1.17.3)</h2>
<!-- raw HTML omitted -->
<p>This is a maintenance release with continued progress on the
Amsterdam fork implementation. It also introduces ETH/70, which is now
live on the network.</p>
<p><code>ethereum/execution-apis#762</code><code>reexec</code> has been
removed from the tracing config:</p>
<ul>
<li><code>memory</code>: words are 0x-prefixed and padded to 32
bytes</li>
<li><code>storage</code>: keys and values are 0x-prefixed</li>
<li><code>error</code>: omitted when empty (previously serialized as
&quot;&quot;)</li>
</ul>
<h3>Geth</h3>
<ul>
<li>Add retry mechanism for checkpoint init in blsync (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33966">#33966</a>)</li>
<li>Add subcommand for offline binary tree conversion (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33740">#33740</a>)</li>
<li>Add code exporter for db export (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34696">#34696</a>)</li>
</ul>
<h3>Core</h3>
<ul>
<li>Amsterdam fork updates:
<ul>
<li>Prerequisites of EIP-7928: Block-Level Access Lists (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34064">#34064</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34644">#34644</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34726">#34726</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34776">#34776</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34799">#34799</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33737">#33737</a>)</li>
<li>Prerequisites of EIP-8037: State Creation Gas Cost Increase (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34691">#34691</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34712">#34712</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34841">#34841</a>)</li>
<li>EIP-7976: Increase Calldata Floor Cost (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34748">#34748</a>)</li>
<li>EIP-7981: Increase Access List Cost (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34755">#34755</a>)</li>
<li>EIP-7610: Reject contract creation when storage is non-empty (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34718">#34718</a>)</li>
<li>Update state tests (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34671">#34671</a>)</li>
</ul>
</li>
<li>Implement stack arena (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33960">#33960</a>)</li>
<li>Implement EIP-7975: eth/70 partial block receipt lists (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33153">#33153</a>)</li>
<li>Prerequisites of <code>snap/2</code> protocol (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34083">#34083</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34649">#34649</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34654">#34654</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34874">#34874</a>)</li>
<li>Implement history index pruner for path-mode archive nodes (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33999">#33999</a>)</li>
<li>Add Prague chain segment pruning point for Hoodi (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34714">#34714</a>)</li>
<li>Allow reorging head to parent within 32 blocks under ePBS (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34767">#34767</a>)</li>
<li>Stop serving chain segment requests when data is unavailable (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34787">#34787</a>)</li>
<li>Drop peers sending invalid bodies or receipts (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34745">#34745</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34870">#34870</a>)</li>
<li>Add kzg4844 cell-related functions (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34766">#34766</a>)</li>
<li>State database refactoring (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33102">#33102</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34700">#34700</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34763">#34763</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34724">#34724</a>)</li>
<li>Binary trie improvements (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34055">#34055</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34110">#34110</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34670">#34670</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34676">#34676</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34680">#34680</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34690">#34690</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34754">#34754</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34758">#34758</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34777">#34777</a>,
<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34794">#34794</a>)</li>
<li>Merge EIP-4762 access events for all system calls (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34637">#34637</a>)</li>
<li>Reject duplicate layers in the path database (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34642">#34642</a>)</li>
<li>Omit empty <code>slotNumber</code> and fix block value collection in
pre-Amsterdam engine API payloads (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34704">#34704</a>)</li>
<li>Include the operand in EIP-8024 error messages (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34635">#34635</a>)</li>
<li>Fix vmodule downgrades and propagate verbosity changes to derived
loggers (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33111">#33111</a>)</li>
<li>Fix incorrect fsync ordering for index file truncation (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34728">#34728</a>)</li>
<li>Fix file descriptor leak in freezer error paths (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34735">#34735</a>)</li>
<li>Fix size calculation in path database (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34828">#34828</a>)</li>
<li>Fix gapped queue size cap in blobpool (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34831">#34831</a>)</li>
<li>Improve txpool pending concurrency by using read-only locking (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/32924">#32924</a>)</li>
<li>Replace deprecated TypeMux with Feed (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/32585">#32585</a>)</li>
<li>Continue blob retrieval when individual cell proof extraction fails
(<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34891">#34891</a>)</li>
<li>Use uint256 in core Message for faster gas calculations (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34934">#34934</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/117e067f0f0bae1a17082321f224dedb6765b10f"><code>117e067</code></a>
version: release go-ethereum v1.17.3 stable (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34937">#34937</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/e1047b9c8489ed2e26845498b58e3e30dad66f1c"><code>e1047b9</code></a>
core: use uint256 in core.Message (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34934">#34934</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/2f11dccca00bc66b68f348193e98dee4b6e2206d"><code>2f11dcc</code></a>
cmd/geth: respect --dev=false (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34920">#34920</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/934a0091fa66b474832b3664854e979fe8bf76b2"><code>934a009</code></a>
triedb/pathdb: fix layer 5 key range in storage iterator traversal test
(<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34883">#34883</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/18becee8cb01f6d35224a6bac3e45d49b2074857"><code>18becee</code></a>
appveyor.yml: remove appveyor configuration (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34720">#34720</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/f63c26509298ecfdf7e50d7b08f96809b2235ddd"><code>f63c265</code></a>
internal/download: close dst on io.Copy error (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34910">#34910</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/7facf9c1292d3783cb079a16ba797def4738e1c8"><code>7facf9c</code></a>
core/txpool: use cmp.Compare instead of subtraction (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34918">#34918</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/bcb68d23b3e78855be7d825ede37815d83b3142b"><code>bcb68d2</code></a>
p2p: handle return false from TCPEndpoint (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34916">#34916</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/8581125a21ee4592631abe127749d6ca3f1020fa"><code>8581125</code></a>
crypto: add hash length check in nocgo VerifySignature (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/33839">#33839</a>)</li>
<li><a
href="https://github.com/ethereum/go-ethereum/commit/2ba9be9c0efcb640860cfedc4a43b6f6b2d68c7b"><code>2ba9be9</code></a>
build: upgrade -dlgo version to Go 1.25.10 (<a
href="https://redirect.github.com/ethereum/go-ethereum/issues/34911">#34911</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ethereum/go-ethereum/compare/v1.17.2...v1.17.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `github.com/gin-gonic/gin` from 1.11.0 to 1.12.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/gin-gonic/gin/releases">github.com/gin-gonic/gin's
releases</a>.</em></p>
<blockquote>
<h2>v1.12.0</h2>
<h2>Changelog</h2>
<h3>Features</h3>
<ul>
<li>192ac89eefc1c30f7c97ae48a9ffb1c6f1c8c8bc: feat(binding): add support
for encoding.UnmarshalText in uri/query binding (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4203">#4203</a>)
(<a
href="https://github.com/takanuva15"><code>@​takanuva15</code></a>)</li>
<li>53410d2e07054369e0960fbe2eed97e1b9966f12: feat(context): add
GetError and GetErrorSlice methods for error retrieval (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4502">#4502</a>)
(<a
href="https://github.com/raju-mechatronics"><code>@​raju-mechatronics</code></a>)</li>
<li>acc55e049e33b401e810dbd8c0d6dcb6b3ba2b05: feat(context): add
Protocol Buffers support to content negotiation (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4423">#4423</a>)
(<a
href="https://github.com/1911860538"><code>@​1911860538</code></a>)</li>
<li>38e765119241d990705169bedb5002a29ae0cbd1: feat(context): implemented
Delete method (<a
href="https://github.com/Spyder01"><code>@​Spyder01</code></a>)</li>
<li>771dcc6476d7bc6abb9ec0235ecefa4d38fe6fb0: feat(gin): add option to
use escaped path (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4420">#4420</a>)
(<a href="https://github.com/ldesauw"><code>@​ldesauw</code></a>)</li>
<li>4dec17afdff48e8018c83618fbbe69fceeb2b41d: feat(logger): color
latency (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4146">#4146</a>)
(<a href="https://github.com/wsyqn6"><code>@​wsyqn6</code></a>)</li>
<li>d7776de7d444935ea4385999711bd6331a98fecb: feat(render): add bson
protocol (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4145">#4145</a>)
(<a
href="https://github.com/laurentcau"><code>@​laurentcau</code></a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>b917b14ff9d189f16a7492be79d123a47806ee19: fix(binding): empty value
error (<a
href="https://redirect.github.com/gin-gonic/gin/issues/2169">#2169</a>)
(<a
href="https://github.com/guonaihong"><code>@​guonaihong</code></a>)</li>
<li>c3d1092b3b48addf6f9cd00fe274ec3bd14650eb: fix(binding): improve
empty slice/array handling in form binding (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4380">#4380</a>)
(<a
href="https://github.com/1911860538"><code>@​1911860538</code></a>)</li>
<li>9914178584e42458ff7d23891463a880f58c9d86: fix(context): ClientIP
handling for multiple X-Forwarded-For header values (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4472">#4472</a>)
(<a href="https://github.com/Nurysso"><code>@​Nurysso</code></a>)</li>
<li>2a794cd0b0faa7d829291375b27a3467ea972b0d: fix(debug): version
mismatch (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4403">#4403</a>)
(<a href="https://github.com/zeek0x"><code>@​zeek0x</code></a>)</li>
<li>c3d5a28ed6d3849da820195b6774d212bcc038a9: fix(gin): close os.File in
RunFd to prevent resource leak (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4422">#4422</a>)
(<a
href="https://github.com/1911860538"><code>@​1911860538</code></a>)</li>
<li>5fad976b372e381312f8de69f0969f1284d229d3: fix(gin): literal colon
routes not working with engine.Handler() (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4415">#4415</a>)
(<a href="https://github.com/pawannn"><code>@​pawannn</code></a>)</li>
<li>63dd3e60cab89c27fb66bce1423bd268d52abad1: fix(recover): suppress
http.ErrAbortHandler in recover (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4336">#4336</a>)
(<a
href="https://github.com/MondayCha"><code>@​MondayCha</code></a>)</li>
<li>5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a: fix(render): write content
length in Data.Render (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4206">#4206</a>)
(<a
href="https://github.com/dengaleev"><code>@​dengaleev</code></a>)</li>
<li>234a6d4c00cb77af9852aca0b8289745d5529b4b: fix(response): refine
hijack behavior for response lifecycle (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4373">#4373</a>)
(<a href="https://github.com/appleboy"><code>@​appleboy</code></a>)</li>
<li>472d086af2acd924cb4b9d7be0525f7d790f69bc: fix(tree): panic in
findCaseInsensitivePathRec with RedirectFixedPath (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4535">#4535</a>)
(<a href="https://github.com/veeceey"><code>@​veeceey</code></a>)</li>
<li>8e07d37c63e5536eb25f4af4c91eabeee4011fba: fix: Correct typos,
improve documentation clarity, and remove dead code (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4511">#4511</a>)
(<a href="https://github.com/mahanadh"><code>@​mahanadh</code></a>)</li>
</ul>
<h3>Enhancements</h3>
<ul>
<li>ba093d19477b896ac89a7fc3246af23d290b8e26: chore(binding): upgrade
bson dependency to mongo-driver v2 (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4549">#4549</a>)
(<a href="https://github.com/BobDu"><code>@​BobDu</code></a>)</li>
<li>b2b489dbf4826c2c630717a77fd5e42774625410: chore(context): always
trust xff headers from unix socket (<a
href="https://redirect.github.com/gin-gonic/gin/issues/3359">#3359</a>)
(<a
href="https://github.com/WeidiDeng"><code>@​WeidiDeng</code></a>)</li>
<li>ecb3f7b5e2f3915bf1db240ed5eee572f8dbea36: chore(deps): upgrade
golang.org/x/crypto to v0.45.0 (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4449">#4449</a>)
(<a href="https://github.com/appleboy"><code>@​appleboy</code></a>)</li>
<li>af6e8b70b8261bb0c99ad094fe552ab92991620a: chore(deps): upgrade
quic-go to v0.57.1 (<a
href="https://github.com/appleboy"><code>@​appleboy</code></a>)</li>
<li>db309081bc5c137b2aa15701ef53f7f19788da25: chore(logger): allow
skipping query string output (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4547">#4547</a>)
(<a
href="https://github.com/USA-RedDragon"><code>@​USA-RedDragon</code></a>)</li>
<li>26c3a628655cad2388380cb8102d6ce7d4875f3b: chore(response): prevent
Flush() panic when <code>http.Flusher</code> (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4479">#4479</a>)
(<a href="https://github.com/Twacqwq"><code>@​Twacqwq</code></a>)</li>
<li>5dd833f1f26de0eb30eae47b17e05ced2482dc41: chore: bump minimum Go
version to 1.24 and update workflows (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4388">#4388</a>)
(<a href="https://github.com/appleboy"><code>@​appleboy</code></a>)</li>
</ul>
<h3>Refactor</h3>
<ul>
<li>39858a0859c914bd26948fa950477e11bd8d3823: refactor(binding): use
maps.Copy for cleaner map handling (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4352">#4352</a>)
(<a href="https://github.com/russcoss"><code>@​russcoss</code></a>)</li>
<li>c0048f645ee945c4db30593afdea10123e2c30a6: refactor(context): omit
the return value names (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4395">#4395</a>)
(<a
href="https://github.com/wanghaolong613"><code>@​wanghaolong613</code></a>)</li>
<li>915e4c90d28ec4cffc6eb146e208ab5a65eac772: refactor(context): replace
hardcoded localhost IPs with constants (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4481">#4481</a>)
(<a
href="https://github.com/pauloappbr"><code>@​pauloappbr</code></a>)</li>
<li>414de60574449457f3192a7a1d5528940db2836d: refactor(context): using
maps.Clone (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4333">#4333</a>)
(<a
href="https://github.com/cuiweixie"><code>@​cuiweixie</code></a>)</li>
<li>59e9d4a794f12c4f9a6c7bed441b9644e5f6d99b: refactor(ginS): use
sync.OnceValue to simplify engine function (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4314">#4314</a>)
(<a
href="https://github.com/1911860538"><code>@​1911860538</code></a>)</li>
<li>3ab698dc5110af1977d57226e4995c57dd34c233: refactor(recovery): smart
error comparison (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4142">#4142</a>)
(<a href="https://github.com/zeek0x"><code>@​zeek0x</code></a>)</li>
<li>d1a15347b1e45a8ee816193d3578a93bfd73b70f: refactor(utils): move util
functions to utils.go (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4467">#4467</a>)
(<a href="https://github.com/zeek0x"><code>@​zeek0x</code></a>)</li>
<li>e3118cc378d263454098924ebbde7e8d1dd2e904: refactor: for loop can be
modernized using range over int (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4392">#4392</a>)
(<a
href="https://github.com/wanghaolong613"><code>@​wanghaolong613</code></a>)</li>
<li>488f8c3ffa579a8d19beb2bae95ff8ef36b3d53f: refactor: replace magic
numbers with named constants in bodyAllowedForStatus (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4529">#4529</a>)
(<a href="https://github.com/veeceey"><code>@​veeceey</code></a>)</li>
<li>9968c4bf9d5a99edc3eee2c068a4c9160ece8915: refactor: use b.Loop() to
simplify the code and improve performance (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4389">#4389</a>)
(<a
href="https://github.com/reddaisyy"><code>@​reddaisyy</code></a>)</li>
<li>a85ef5ce4d0cda8834c59c855068ed48b51192d1: refactor: use b.Loop() to
simplify the code and improve performance (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4432">#4432</a>)
(<a href="https://github.com/efcking"><code>@​efcking</code></a>)</li>
</ul>
<h3>Build process updates</h3>
<ul>
<li>61b67de522a189b568aced4c5c16917c558e3387: ci(bot): increase
frequency and group updates for dependencies (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4367">#4367</a>)
(<a href="https://github.com/appleboy"><code>@​appleboy</code></a>)</li>
<li>fb27ef26c2fdfe25344b4c039d8a53551f9e912c: ci(lint): refactor test
assertions and linter configuration (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4436">#4436</a>)
(<a href="https://github.com/appleboy"><code>@​appleboy</code></a>)</li>
<li>93ff771e6dbf10e432864b30f3719ac5c84a4d4a: ci(sec): improve type
safety and server organization in HTTP middleware (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4437">#4437</a>)
(<a href="https://github.com/appleboy"><code>@​appleboy</code></a>)</li>
<li>e88fc8927a52b74f55bec0351604a56ac0aa1c51: ci(sec): schedule Trivy
security scans to run daily at midnight UTC (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4439">#4439</a>)
(<a href="https://github.com/appleboy"><code>@​appleboy</code></a>)</li>
<li>5e5ff3ace496a31b138b0820136a146bfb5de0ef: ci: replace vulnerability
scanning workflow with Trivy integration (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4421">#4421</a>)
(<a href="https://github.com/appleboy"><code>@​appleboy</code></a>)</li>
<li>00900fb3e1ea9dde33985a0e4f6afec793d5e786: ci: update CI workflows
and standardize Trivy config quotes (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4531">#4531</a>)
(<a href="https://github.com/appleboy"><code>@​appleboy</code></a>)</li>
<li>ae3f524974fc4f55d18c9e7fae4614503c015226: ci: update Go version
support to 1.25+ across CI and docs (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4550">#4550</a>)
(<a href="https://github.com/appleboy"><code>@​appleboy</code></a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md">github.com/gin-gonic/gin's
changelog</a>.</em></p>
<blockquote>
<h2>Gin v1.12.0</h2>
<h3>Features</h3>
<ul>
<li>feat(render): add bson protocol (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4145">#4145</a>)</li>
<li>feat(context): add GetError and GetErrorSlice methods for error
retrieval (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4502">#4502</a>)</li>
<li>feat(binding): add support for encoding.UnmarshalText in uri/query
binding (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4203">#4203</a>)</li>
<li>feat(gin): add option to use escaped path (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4420">#4420</a>)</li>
<li>feat(context): add Protocol Buffers support to content negotiation
(<a
href="https://redirect.github.com/gin-gonic/gin/pull/4423">#4423</a>)</li>
<li>feat(context): implemented Delete method (<a
href="https://github.com/gin-gonic/gin/commit/38e7651">#38e7651</a>)</li>
<li>feat(logger): color latency (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4146">#4146</a>)</li>
</ul>
<h3>Enhancements</h3>
<ul>
<li>perf(tree): reduce allocations in findCaseInsensitivePath (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4417">#4417</a>)</li>
<li>perf(recovery): optimize line reading in stack function (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4466">#4466</a>)</li>
<li>perf(path): replace regex with custom functions in
redirectTrailingSlash (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4414">#4414</a>)</li>
<li>perf(tree): optimize path parsing using strings.Count (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4246">#4246</a>)</li>
<li>chore(logger): allow skipping query string output (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4547">#4547</a>)</li>
<li>chore(context): always trust xff headers from unix socket (<a
href="https://redirect.github.com/gin-gonic/gin/pull/3359">#3359</a>)</li>
<li>chore(response): prevent Flush() panic when the underlying
ResponseWriter does not implement <code>http.Flusher</code> (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4479">#4479</a>)</li>
<li>refactor(recovery): smart error comparison (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4142">#4142</a>)</li>
<li>refactor(context): replace hardcoded localhost IPs with constants
(<a
href="https://redirect.github.com/gin-gonic/gin/pull/4481">#4481</a>)</li>
<li>refactor(utils): move util functions to utils.go (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4467">#4467</a>)</li>
<li>refactor(binding): use maps.Copy for cleaner map handling (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4352">#4352</a>)</li>
<li>refactor(context): using maps.Clone (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4333">#4333</a>)</li>
<li>refactor(ginS): use sync.OnceValue to simplify engine function (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4314">#4314</a>)</li>
<li>refactor: replace magic numbers with named constants in
bodyAllowedForStatus (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4529">#4529</a>)</li>
<li>refactor: for loop can be modernized using range over int (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4392">#4392</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>fix(tree): panic in findCaseInsensitivePathRec with
RedirectFixedPath (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4535">#4535</a>)</li>
<li>fix(render): write content length in Data.Render (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4206">#4206</a>)</li>
<li>fix(context): ClientIP handling for multiple X-Forwarded-For header
values (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4472">#4472</a>)</li>
<li>fix(binding): empty value error (<a
href="https://redirect.github.com/gin-gonic/gin/pull/2169">#2169</a>)</li>
<li>fix(recover): suppress http.ErrAbortHandler in recover (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4336">#4336</a>)</li>
<li>fix(gin): literal colon routes not working with engine.Handler() (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4415">#4415</a>)</li>
<li>fix(gin): close os.File in RunFd to prevent resource leak (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4422">#4422</a>)</li>
<li>fix(response): refine hijack behavior for response lifecycle (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4373">#4373</a>)</li>
<li>fix(binding): improve empty slice/array handling in form binding (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4380">#4380</a>)</li>
<li>fix(debug): version mismatch (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4403">#4403</a>)</li>
<li>fix: correct typos, improve documentation clarity, and remove dead
code (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4511">#4511</a>)</li>
</ul>
<h3>Build process updates / CI</h3>
<ul>
<li>ci: update Go version support to 1.25+ across CI and docs (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4550">#4550</a>)</li>
<li>chore(binding): upgrade bson dependency to mongo-driver v2 (<a
href="https://redirect.github.com/gin-gonic/gin/pull/4549">#4549</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/gin-gonic/gin/commit/73726dc606796a025971fe451f0aa6f1b9b847f6"><code>73726dc</code></a>
docs: update documentation to reflect Go version changes (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4552">#4552</a>)</li>
<li><a
href="https://github.com/gin-gonic/gin/commit/e292e5caa777bce70b66fe08c94cbe9cef3e2ec9"><code>e292e5c</code></a>
docs: document and finalize Gin v1.12.0 release (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4551">#4551</a>)</li>
<li><a
href="https://github.com/gin-gonic/gin/commit/ae3f524974fc4f55d18c9e7fae4614503c015226"><code>ae3f524</code></a>
ci: update Go version support to 1.25+ across CI and docs (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4550">#4550</a>)</li>
<li><a
href="https://github.com/gin-gonic/gin/commit/38534e2bf98a06e1f62d6b24384e90b5f78699bf"><code>38534e2</code></a>
chore(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4548">#4548</a>)</li>
<li><a
href="https://github.com/gin-gonic/gin/commit/472d086af2acd924cb4b9d7be0525f7d790f69bc"><code>472d086</code></a>
fix(tree): panic in findCaseInsensitivePathRec with RedirectFixedPath
(<a
href="https://redirect.github.com/gin-gonic/gin/issues/4535">#4535</a>)</li>
<li><a
href="https://github.com/gin-gonic/gin/commit/fb2583442c4d9bccb75e6d26f1aa6e7c01950db6"><code>fb25834</code></a>
test(context): use http.StatusContinue constant instead of magic number
100 (...</li>
<li><a
href="https://github.com/gin-gonic/gin/commit/6f1d5fe3cdb171a08928c3c9dd3fbcfc9ee1b521"><code>6f1d5fe</code></a>
test(render): add comprehensive error handling tests (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4541">#4541</a>)</li>
<li><a
href="https://github.com/gin-gonic/gin/commit/5c00df8afadd06cc5be530dde00fe6d9fa4a2e4a"><code>5c00df8</code></a>
fix(render): write content length in Data.Render (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4206">#4206</a>)</li>
<li><a
href="https://github.com/gin-gonic/gin/commit/db309081bc5c137b2aa15701ef53f7f19788da25"><code>db30908</code></a>
chore(logger): allow skipping query string output (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4547">#4547</a>)</li>
<li><a
href="https://github.com/gin-gonic/gin/commit/ba093d19477b896ac89a7fc3246af23d290b8e26"><code>ba093d1</code></a>
chore(binding): upgrade bson dependency to mongo-driver v2 (<a
href="https://redirect.github.com/gin-gonic/gin/issues/4549">#4549</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `golang.org/x/term` from 0.42.0 to 0.43.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/golang/term/commit/3c3e4855f7d2eb06c3e48933554add9ec6b599b5"><code>3c3e485</code></a>
go.mod: update golang.org/x dependencies</li>
<li>See full diff in <a
href="https://github.com/golang/term/compare/v0.42.0...v0.43.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `google.golang.org/api` from 0.277.0 to 0.281.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/google-api-go-client/releases">google.golang.org/api's
releases</a>.</em></p>
<blockquote>
<h2>v0.281.0</h2>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.280.0...v0.281.0">0.281.0</a>
(2026-05-26)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3600">#3600</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/bcaee85f93824a21f5441c2ccd3b4d4811d97de7">bcaee85</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3602">#3602</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/f0071d379f4443ffdae9994fe141b1b5e0c18a62">f0071d3</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3603">#3603</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/b1aa9dea8c3c0e539c8d9687c99c55ec3679c996">b1aa9de</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3604">#3604</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/711e008d9caf16e6fb68c860f83a28fd0a8c0f98">711e008</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3606">#3606</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/3ad8e8e2ab4ae50862c0fc5b17efa2d3cda33d9a">3ad8e8e</a>)</li>
</ul>
<h2>v0.280.0</h2>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.279.0...v0.280.0">0.280.0</a>
(2026-05-19)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3591">#3591</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/55ba2fab69ee14286ad052f57ed90a726b071e86">55ba2fa</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3593">#3593</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/054d4b6054450d2be21f50fad64145a4e0125424">054d4b6</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3594">#3594</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/03829161b8cd77bf11f4a3a5d07a43f6b1904fbe">0382916</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3595">#3595</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/13e1ad2eeb540d19709df87ce9a0cfdb632f1bf3">13e1ad2</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3596">#3596</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/4c77865748dda2086de226e9401531c934cd909f">4c77865</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3598">#3598</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/ae2f33001826f523ecc6d2f141244e55fbac45c0">ae2f330</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3599">#3599</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/f82d2049187ed2ab7ee27831a1a78887c5969ca4">f82d204</a>)</li>
</ul>
<h2>v0.279.0</h2>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.278.0...v0.279.0">0.279.0</a>
(2026-05-12)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3585">#3585</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/09db0e346a6b567747dceee3872229a62c95124c">09db0e3</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3587">#3587</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/e87e376dbd590cffb3632c378e1ade4a9dacf3ce">e87e376</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3590">#3590</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/d4241eaef9ab3daad4fd4aaeccc118795cfc58a7">d4241ea</a>)</li>
</ul>
<h2>v0.278.0</h2>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.277.0...v0.278.0">0.278.0</a>
(2026-05-05)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3582">#3582</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/76b1187e506ac0f48caac67907dd0805b253f74c">76b1187</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3584">#3584</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/e36c88361d11545583325c3ac6bdbd9cf1f1a7d0">e36c883</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md">google.golang.org/api's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.280.0...v0.281.0">0.281.0</a>
(2026-05-26)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3600">#3600</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/bcaee85f93824a21f5441c2ccd3b4d4811d97de7">bcaee85</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3602">#3602</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/f0071d379f4443ffdae9994fe141b1b5e0c18a62">f0071d3</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3603">#3603</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/b1aa9dea8c3c0e539c8d9687c99c55ec3679c996">b1aa9de</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3604">#3604</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/711e008d9caf16e6fb68c860f83a28fd0a8c0f98">711e008</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3606">#3606</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/3ad8e8e2ab4ae50862c0fc5b17efa2d3cda33d9a">3ad8e8e</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.279.0...v0.280.0">0.280.0</a>
(2026-05-19)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3591">#3591</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/55ba2fab69ee14286ad052f57ed90a726b071e86">55ba2fa</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3593">#3593</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/054d4b6054450d2be21f50fad64145a4e0125424">054d4b6</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3594">#3594</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/03829161b8cd77bf11f4a3a5d07a43f6b1904fbe">0382916</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3595">#3595</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/13e1ad2eeb540d19709df87ce9a0cfdb632f1bf3">13e1ad2</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3596">#3596</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/4c77865748dda2086de226e9401531c934cd909f">4c77865</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3598">#3598</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/ae2f33001826f523ecc6d2f141244e55fbac45c0">ae2f330</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3599">#3599</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/f82d2049187ed2ab7ee27831a1a78887c5969ca4">f82d204</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.278.0...v0.279.0">0.279.0</a>
(2026-05-12)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3585">#3585</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/09db0e346a6b567747dceee3872229a62c95124c">09db0e3</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3587">#3587</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/e87e376dbd590cffb3632c378e1ade4a9dacf3ce">e87e376</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3590">#3590</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/d4241eaef9ab3daad4fd4aaeccc118795cfc58a7">d4241ea</a>)</li>
</ul>
<h2><a
href="https://github.com/googleapis/google-api-go-client/compare/v0.277.0...v0.278.0">0.278.0</a>
(2026-05-05)</h2>
<h3>Features</h3>
<ul>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3582">#3582</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/76b1187e506ac0f48caac67907dd0805b253f74c">76b1187</a>)</li>
<li><strong>all:</strong> Auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3584">#3584</a>)
(<a
href="https://github.com/googleapis/google-api-go-client/commit/e36c88361d11545583325c3ac6bdbd9cf1f1a7d0">e36c883</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/8f434ff91fe8dc299942ecd7c87ebab151ff38e5"><code>8f434ff</code></a>
chore(main): release 0.281.0 (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3601">#3601</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/57f4b28d8c80b464f7f0b486a555de528fb89c4e"><code>57f4b28</code></a>
chore(all): update all (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3605">#3605</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/3ad8e8e2ab4ae50862c0fc5b17efa2d3cda33d9a"><code>3ad8e8e</code></a>
feat(all): auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3606">#3606</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/711e008d9caf16e6fb68c860f83a28fd0a8c0f98"><code>711e008</code></a>
feat(all): auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3604">#3604</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/b1aa9dea8c3c0e539c8d9687c99c55ec3679c996"><code>b1aa9de</code></a>
feat(all): auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3603">#3603</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/f0071d379f4443ffdae9994fe141b1b5e0c18a62"><code>f0071d3</code></a>
feat(all): auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3602">#3602</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/bcaee85f93824a21f5441c2ccd3b4d4811d97de7"><code>bcaee85</code></a>
feat(all): auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3600">#3600</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/3887b09ecbbaf25fba1bf52227ad5ca4f89e9968"><code>3887b09</code></a>
chore(main): release 0.280.0 (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3592">#3592</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/f82d2049187ed2ab7ee27831a1a78887c5969ca4"><code>f82d204</code></a>
feat(all): auto-regenerate discovery clients (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3599">#3599</a>)</li>
<li><a
href="https://github.com/googleapis/google-api-go-client/commit/13e7314e1377c0dd4e132a681b3130abc5843dbd"><code>13e7314</code></a>
chore(all): update all (<a
href="https://redirect.github.com/googleapis/google-api-go-client/issues/3597">#3597</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/googleapis/google-api-go-client/compare/v0.277.0...v0.281.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…_yarn group across 1 directory (#784)

Bumps the npm_and_yarn group with 1 update in the /sdk/mcp directory:
[qs](https://github.com/ljharb/qs).

Updates `qs` from 6.15.0 to 6.15.2
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/ljharb/qs/blob/main/CHANGELOG.md">qs's
changelog</a>.</em></p>
<blockquote>
<h2><strong>6.15.2</strong></h2>
<ul>
<li>[Fix] <code>stringify</code>: skip null/undefined entries in
<code>arrayFormat: 'comma'</code> + <code>encodeValuesOnly</code>
instead of crashing in <code>encoder</code></li>
<li>[Fix] <code>stringify</code>: use configured <code>delimiter</code>
after <code>charsetSentinel</code> (<a
href="https://redirect.github.com/ljharb/qs/issues/555">#555</a>)</li>
<li>[Fix] <code>stringify</code>: apply <code>formatter</code> to
encoded key under <code>strictNullHandling</code> (<a
href="https://redirect.github.com/ljharb/qs/issues/554">#554</a>)</li>
<li>[Fix] <code>stringify</code>: skip null/undefined filter-array
entries instead of crashing in <code>encoder</code> (<a
href="https://redirect.github.com/ljharb/qs/issues/551">#551</a>)</li>
<li>[Fix] <code>parse</code>: handle nested bracket groups and add
regression tests (<a
href="https://redirect.github.com/ljharb/qs/issues/530">#530</a>)</li>
<li>[readme] fix grammar (<a
href="https://redirect.github.com/ljharb/qs/issues/550">#550</a>)</li>
<li>[Dev Deps] update <code>@ljharb/eslint-config</code></li>
<li>[Tests] add regression tests for keys containing percent-encoded
bracket text</li>
</ul>
<h2><strong>6.15.1</strong></h2>
<ul>
<li>[Fix] <code>parse</code>: <code>parameterLimit: Infinity</code> with
<code>throwOnLimitExceeded: true</code> silently drops all
parameters</li>
<li>[Deps] update <code>@ljharb/eslint-config</code></li>
<li>[Dev Deps] update <code>@ljharb/eslint-config</code>,
<code>iconv-lite</code></li>
<li>[Tests] increase coverage</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ljharb/qs/commit/9aca4076fe788338c67cf7e115f0be6bc58d85a8"><code>9aca407</code></a>
v6.15.2</li>
<li><a
href="https://github.com/ljharb/qs/commit/5e33d33447ed0bf1ddab9abc41d27dea4687d992"><code>5e33d33</code></a>
[Dev Deps] update <code>@ljharb/eslint-config</code></li>
<li><a
href="https://github.com/ljharb/qs/commit/21f80b33e5c8b3f7eba1034fff0da4a4a37a1d41"><code>21f80b3</code></a>
[Fix] <code>stringify</code>: skip null/undefined entries in
<code>arrayFormat: 'comma'</code> + `e...</li>
<li><a
href="https://github.com/ljharb/qs/commit/a0a81ea2071acce3eff41a040f719ac8f5c4f64c"><code>a0a81ea</code></a>
[Fix] <code>stringify</code>: use configured <code>delimiter</code>
after <code>charsetSentinel</code></li>
<li><a
href="https://github.com/ljharb/qs/commit/e3062f78f5233b338ceeb8e8dfa5a07dea4b32a8"><code>e3062f7</code></a>
[Fix] <code>stringify</code>: apply <code>formatter</code> to encoded
key under <code>strictNullHandling</code></li>
<li><a
href="https://github.com/ljharb/qs/commit/0c180a40adb8c6703fffc85b2ff06ca209f5c1e0"><code>0c180a4</code></a>
[Fix] <code>stringify</code>: skip null/undefined filter-array entries
instead of crashi...</li>
<li><a
href="https://github.com/ljharb/qs/commit/3a8b94aec19bd664720f6f6b1e66c4a0dfe4b656"><code>3a8b94a</code></a>
[Tests] add regression tests for keys containing percent-encoded bracket
text</li>
<li><a
href="https://github.com/ljharb/qs/commit/96755abd357c0e534dd3442a84a04d08864bfe0d"><code>96755ab</code></a>
[readme] fix grammar</li>
<li><a
href="https://github.com/ljharb/qs/commit/a419ce5bbfcdb98a299f1a0bb47ea055baef20e6"><code>a419ce5</code></a>
[Fix] <code>parse</code>: handle nested bracket groups and add
regression tests</li>
<li><a
href="https://github.com/ljharb/qs/commit/3f5e1c528c967d915096787efbffa73cf6044170"><code>3f5e1c5</code></a>
v6.15.1</li>
<li>Additional commits viewable in <a
href="https://github.com/ljharb/qs/compare/v6.15.0...v6.15.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=qs&package-manager=npm_and_yarn&previous-version=6.15.0&new-version=6.15.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/layer-3/nitrolite/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ws](https://github.com/websockets/ws) from 8.18.3 to 8.20.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/websockets/ws/releases">ws's
releases</a>.</em></p>
<blockquote>
<h2>8.20.1</h2>
<h1>Bug fixes</h1>
<ul>
<li>Fixed an uninitialized memory disclosure issue in
<code>websocket.close()</code>
(c0327ec1).</li>
</ul>
<p>Providing a <code>TypedArray</code> (e.g. <code>Float32Array</code>)
as the <code>reason</code> argument for
<code>websocket.close()</code>, rather than the supported string or
<code>Buffer</code> types, caused
uninitialized memory to be disclosed to the remote peer.</p>
<pre lang="js"><code>import { deepStrictEqual } from 'node:assert';
import { WebSocket, WebSocketServer } from 'ws';
<p>const wss = new WebSocketServer(
{ port: 0, skipUTF8Validation: true },
function () {
const { port } = wss.address();
const ws = new WebSocket(<code>ws://localhost:${port}</code>, {
skipUTF8Validation: true
});</p>
<pre><code>ws.on('close', function (code, reason) {
  deepStrictEqual(reason, Buffer.alloc(80));
});
</code></pre>
<p>}
);</p>
<p>wss.on('connection', function (ws) {
ws.close(1000, new Float32Array(20));
});
</code></pre></p>
<p>The issue was privately reported by <a
href="https://github.com/ChALkeR">Nikita Skovoroda</a>.</p>
<h2>8.20.0</h2>
<h1>Features</h1>
<ul>
<li>Added exports for the <code>PerMessageDeflate</code> class and
utilities for the
<code>Sec-WebSocket-Extensions</code> and
<code>Sec-WebSocket-Protocol</code> headers (d3503c1f).</li>
</ul>
<h2>8.19.0</h2>
<h1>Features</h1>
<ul>
<li>Added the <code>closeTimeout</code> option (<a
href="https://redirect.github.com/websockets/ws/issues/2308">#2308</a>).</li>
</ul>
<h1>Bug fixes</h1>
<ul>
<li>Handled a forthcoming breaking change in Node.js core
(19984854).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/websockets/ws/commit/5d9b316230ea931532a6671cc450f18c11edd02f"><code>5d9b316</code></a>
[dist] 8.20.1</li>
<li><a
href="https://github.com/websockets/ws/commit/c0327ec15a54d701eb6ccefaa8bef328cfc03086"><code>c0327ec</code></a>
[security] Fix uninitialized memory disclosure in
<code>websocket.close()</code></li>
<li><a
href="https://github.com/websockets/ws/commit/ce2a3d62437995a47e6056d485a33d21b6a8f867"><code>ce2a3d6</code></a>
[ci] Test on node 26</li>
<li><a
href="https://github.com/websockets/ws/commit/58e45b872bb0f35a3edd553c27e105300a4f5bd0"><code>58e45b8</code></a>
[ci] Do not test on node 25</li>
<li><a
href="https://github.com/websockets/ws/commit/5f26c245231a4b018479a9269e8c3da4773fe42f"><code>5f26c24</code></a>
[ci] Run the lint step on node 24</li>
<li><a
href="https://github.com/websockets/ws/commit/843925544e2f4cffe445e0179947f56d6c5b608f"><code>8439255</code></a>
[dist] 8.20.0</li>
<li><a
href="https://github.com/websockets/ws/commit/d3503c1fd36a310985108f62b343bae18346ab67"><code>d3503c1</code></a>
[minor] Export the <code>PerMessageDeflate</code> class and header
utils</li>
<li><a
href="https://github.com/websockets/ws/commit/3ee5349a0b1580f6e1f347b59ec3371011bd8481"><code>3ee5349</code></a>
[api] Convert the <code>isServer</code> and <code>maxPayload</code>
parameters to options</li>
<li><a
href="https://github.com/websockets/ws/commit/91707b470ebd803aaa3fd1e896217740f39267d4"><code>91707b4</code></a>
[doc] Add missing space</li>
<li><a
href="https://github.com/websockets/ws/commit/8b553192268810a83253e2a4a39ac16768e75bb3"><code>8b55319</code></a>
[pkg] Update eslint to version 10.0.1</li>
<li>Additional commits viewable in <a
href="https://github.com/websockets/ws/compare/8.18.3...8.20.1">compare
view</a></li>
</ul>
</details>
<br />

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Removes [esbuild](https://github.com/evanw/esbuild). It's no longer used
after updating ancestor dependency
[vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). These
dependencies need to be updated together.

Removes `esbuild`

Updates `vite` from 5.4.21 to 8.0.14
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/releases">vite's
releases</a>.</em></p>
<blockquote>
<h2>v8.0.14</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.0.14/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.0.13</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.0.13/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.0.12</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.0.12/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.0.11</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.0.11/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.0.10</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.0.10/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.0.9</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.0.9/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.0.8</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.0.8/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.0.7</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.0.7/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.0.6</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.0.6/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.0.5</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.0.5/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.0.4</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.0.4/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>create-vite@8.0.3</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/create-vite@8.0.3/packages/create-vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.0.3</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.0.3/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>create-vite@8.0.2</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/create-vite@8.0.2/packages/create-vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v8.0.2</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v8.0.2/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>plugin-legacy@8.0.2</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/plugin-legacy@8.0.2/packages/plugin-legacy/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>create-vite@8.0.1</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/create-vite@8.0.1/packages/create-vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md">vite's
changelog</a>.</em></p>
<blockquote>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v8.0.13...v8.0.14">8.0.14</a>
(2026-05-21)<!-- raw HTML omitted --></h2>
<h3>Features</h3>
<ul>
<li>update rolldown to 1.0.2 (<a
href="https://redirect.github.com/vitejs/vite/issues/22484">#22484</a>)
(<a
href="https://github.com/vitejs/vite/commit/96efc88570b6a6ddf1a910f106920cbac07b3cf0">96efc88</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> update all non-major dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/22471">#22471</a>)
(<a
href="https://github.com/vitejs/vite/commit/98b81632139d51820f82036e58d6fbbf122b77b3">98b8163</a>)</li>
<li><strong>dev:</strong> handle errors when sending messages to vite
server (<a
href="https://redirect.github.com/vitejs/vite/issues/22450">#22450</a>)
(<a
href="https://github.com/vitejs/vite/commit/e8e9a34dcf2540139de558a10187630884d10217">e8e9a34</a>)</li>
<li><strong>html:</strong> handle trailing slash paths in
transformIndexHtml (<a
href="https://redirect.github.com/vitejs/vite/issues/22480">#22480</a>)
(<a
href="https://github.com/vitejs/vite/commit/5d94d1bffdb2a15de9341194d89baec86ce1f693">5d94d1b</a>)</li>
<li><strong>optimizer:</strong> pass oxc jsx options to transformSync in
dependency scan (<a
href="https://redirect.github.com/vitejs/vite/issues/22342">#22342</a>)
(<a
href="https://github.com/vitejs/vite/commit/b3132dacea9c6e0cf526cd9f0f09d850f577c262">b3132da</a>)</li>
</ul>
<h3>Miscellaneous Chores</h3>
<ul>
<li><strong>deps:</strong> update rolldown-related dependencies (<a
href="https://redirect.github.com/vitejs/vite/issues/22470">#22470</a>)
(<a
href="https://github.com/vitejs/vite/commit/7cb728eb629cc677661f1bc52a044ffc0b87fc7f">7cb728e</a>)</li>
<li>remove irrelevant commits from changelog (<a
href="https://github.com/vitejs/vite/commit/2c69495f250edf01132d4a20128de19dbe836086">2c69495</a>)</li>
</ul>
<h3>Code Refactoring</h3>
<ul>
<li><strong>glob:</strong> do not rewrite import path for absolute base
(<a
href="https://redirect.github.com/vitejs/vite/issues/22310">#22310</a>)
(<a
href="https://github.com/vitejs/vite/commit/0ae2844ab6d6d1ccf78a2975b8132769fc35b302">0ae2844</a>)</li>
</ul>
<h3>Tests</h3>
<ul>
<li><strong>css:</strong> sass does not use main field (<a
href="https://redirect.github.com/vitejs/vite/issues/22449">#22449</a>)
(<a
href="https://github.com/vitejs/vite/commit/ebf39a04329ddc6ba765e006a5d463680a952270">ebf39a0</a>)</li>
</ul>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v8.0.12...v8.0.13">8.0.13</a>
(2026-05-14)<!-- raw HTML omitted --></h2>
<h3>Features</h3>
<ul>
<li><strong>bundled-dev:</strong> add lazy bundling support (<a
href="https://redirect.github.com/vitejs/vite/issues/21406">#21406</a>)
(<a
href="https://github.com/vitejs/vite/commit/4f0949f3f13e4b2b34d32bf7b2b4de5f26bea192">4f0949f</a>)</li>
<li><strong>optimizer:</strong> improve the esbuild plugin converter to
pass some properties of build result to <code>onEnd</code> (<a
href="https://redirect.github.com/vitejs/vite/issues/22357">#22357</a>)
(<a
href="https://github.com/vitejs/vite/commit/47071ce53f21726cf39e999c4407c4828ecbe957">47071ce</a>)</li>
<li>update rolldown to 1.0.1 (<a
href="https://redirect.github.com/vitejs/vite/issues/22444">#22444</a>)
(<a
href="https://github.com/vitejs/vite/commit/8c766a6c5ee014969c4e32f29cc265e8e2c96e18">8c766a6</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>build:</strong> copy public directory after building same
environment with <code>write=false</code> (<a
href="https://redirect.github.com/vitejs/vite/issues/22328">#22328</a>)
(<a
href="https://github.com/vitejs/vite/commit/158e8ae8efdf7075ab295727e36b5ff68da3243e">158e8ae</a>)</li>
<li><strong>css:</strong> await sass/less/styl worker disposal on
teardown (fix <a
href="https://redirect.github.com/vitejs/vite/issues/22274">#22274</a>)
(<a
href="https://redirect.github.com/vitejs/vite/issues/22275">#22275</a>)
(<a
href="https://github.com/vitejs/vite/commit/b7edcb7d0dd17ddfeef4ace78d610c099216dade">b7edcb7</a>)</li>
<li><strong>css:</strong> keep deprecated
<code>name</code>/<code>originalFileName</code> in synthetic
<code>assetFileNames</code> call (<a
href="https://redirect.github.com/vitejs/vite/issues/22439">#22439</a>)
(<a
href="https://github.com/vitejs/vite/commit/8e59c97a44d923c4c06f67287a793c9aa5a4ebaa">8e59c97</a>)</li>
<li>make <code>isBundled</code> per environment (<a
href="https://redirect.github.com/vitejs/vite/issues/22257">#22257</a>)
(<a
href="https://github.com/vitejs/vite/commit/a5763266170f8606836da5c6f987b4b2fd6ddc55">a576326</a>)</li>
<li><strong>ssr:</strong> avoid rewriting labels that collide with
imports (<a
href="https://redirect.github.com/vitejs/vite/issues/22451">#22451</a>)
(<a
href="https://github.com/vitejs/vite/commit/d9b18e0387a253628d3d834288e79c5f7e85d566">d9b18e0</a>)</li>
</ul>
<h3>Miscellaneous Chores</h3>
<ul>
<li>remove irrelevant commits from changelog (<a
href="https://redirect.github.com/vitejs/vite/issues/22430">#22430</a>)
(<a
href="https://github.com/vitejs/vite/commit/6ea383859aaf0ef8e673b458f164e84aeb6ff51d">6ea3838</a>)</li>
<li>update changelog (<a
href="https://redirect.github.com/vitejs/vite/issues/22413">#22413</a>)
(<a
href="https://github.com/vitejs/vite/commit/fcdc87cc6799857e2bab0f44f333a681694fff74">fcdc87c</a>)</li>
</ul>
<h2><!-- raw HTML omitted --><a
href="https://github.com/vitejs/vite/compare/v8.0.11...v8.0.12">8.0.12</a>
(2026-05-11)<!-- raw HTML omitted --></h2>
<h3>Features</h3>
<ul>
<li>update rolldown to 1.0.0 (<a
href="https://redirect.github.com/vitejs/vite/issues/22401">#22401</a>)
(<a
href="https://github.com/vitejs/vite/commit/cf0ff4154b26cffbf18541ade1a50818842731d3">cf0ff41</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vitejs/vite/commit/c917f1ef9d9c6ef131af96d89089d8ec680b18f2"><code>c917f1e</code></a>
release: v8.0.14</li>
<li><a
href="https://github.com/vitejs/vite/commit/5d94d1bffdb2a15de9341194d89baec86ce1f693"><code>5d94d1b</code></a>
fix(html): handle trailing slash paths in transformIndexHtml (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22480">#22480</a>)</li>
<li><a
href="https://github.com/vitejs/vite/commit/98b81632139d51820f82036e58d6fbbf122b77b3"><code>98b8163</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22471">#22471</a>)</li>
<li><a
href="https://github.com/vitejs/vite/commit/96efc88570b6a6ddf1a910f106920cbac07b3cf0"><code>96efc88</code></a>
feat: update rolldown to 1.0.2 (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22484">#22484</a>)</li>
<li><a
href="https://github.com/vitejs/vite/commit/ebf39a04329ddc6ba765e006a5d463680a952270"><code>ebf39a0</code></a>
test(css): sass does not use main field (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22449">#22449</a>)</li>
<li><a
href="https://github.com/vitejs/vite/commit/0ae2844ab6d6d1ccf78a2975b8132769fc35b302"><code>0ae2844</code></a>
refactor(glob): do not rewrite import path for absolute base (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22310">#22310</a>)</li>
<li><a
href="https://github.com/vitejs/vite/commit/7cb728eb629cc677661f1bc52a044ffc0b87fc7f"><code>7cb728e</code></a>
chore(deps): update rolldown-related dependencies (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22470">#22470</a>)</li>
<li><a
href="https://github.com/vitejs/vite/commit/b3132dacea9c6e0cf526cd9f0f09d850f577c262"><code>b3132da</code></a>
fix(optimizer): pass oxc jsx options to transformSync in dependency scan
...</li>
<li><a
href="https://github.com/vitejs/vite/commit/e8e9a34dcf2540139de558a10187630884d10217"><code>e8e9a34</code></a>
fix(dev): handle errors when sending messages to vite server (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22450">#22450</a>)</li>
<li><a
href="https://github.com/vitejs/vite/commit/2c69495f250edf01132d4a20128de19dbe836086"><code>2c69495</code></a>
chore: remove irrelevant commits from changelog</li>
<li>Additional commits viewable in <a
href="https://github.com/vitejs/vite/commits/v8.0.14/packages/vite">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/layer-3/nitrolite/network/alerts).

</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Anton Filonenko <phil@yellow.org>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… 19 updates (#778)

Bumps the npm-dependencies group with 8 updates in the /sdk/ts
directory:

| Package | From | To |
| --- | --- | --- |
|
[jest-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-util)
| `30.3.0` | `30.4.1` |
| [viem](https://github.com/wevm/viem) | `2.48.8` | `2.51.2` |
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
| `25.6.0` | `25.9.1` |
|
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
| `8.59.2` | `8.60.0` |
| [eslint](https://github.com/eslint/eslint) | `10.3.0` | `10.4.0` |
| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) |
`30.3.0` | `30.4.2` |
| [ts-jest](https://github.com/kulshekhar/ts-jest) | `29.4.9` |
`29.4.11` |
| [ws](https://github.com/websockets/ws) | `8.20.1` | `8.21.0` |

Bumps the npm-dependencies group with 1 update in the
/sdk/ts/examples/app_sessions directory:
[tsx](https://github.com/privatenumber/tsx).
Bumps the npm-dependencies group with 9 updates in the
/sdk/ts/examples/example-app directory:

| Package | From | To |
| --- | --- | --- |
|
[lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)
| `1.14.0` | `1.16.0` |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react) |
`19.2.5` | `19.2.6` |
|
[@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)
| `19.2.14` | `19.2.15` |
|
[react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom)
| `19.2.5` | `19.2.6` |
| [tailwind-merge](https://github.com/dcastil/tailwind-merge) | `3.5.0`
| `3.6.0` |
|
[@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react)
| `6.0.1` | `6.0.2` |
| [postcss](https://github.com/postcss/postcss) | `8.5.14` | `8.5.15` |
|
[tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)
| `4.2.4` | `4.3.0` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) |
`8.0.10` | `8.0.14` |


Updates `jest-util` from 30.3.0 to 30.4.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jestjs/jest/releases">jest-util's
releases</a>.</em></p>
<blockquote>
<h2>v30.4.1</h2>
<h2>Features</h2>
<ul>
<li><code>[jest-config, jest-core, jest-runner, jest-schemas,
jest-types]</code> Allow custom runner configuration options via tuple
format <code>['runner-path', {options}]</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16141">#16141</a>)</li>
</ul>
<h2>Fixes</h2>
<ul>
<li><code>[jest-runtime]</code> Align CJS-from-ESM default export with
Node: <code>module.exports</code> is always the ESM default,
<code>__esModule</code> unwrapping is no longer applied (<a
href="https://redirect.github.com/jestjs/jest/pull/16143">#16143</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1">https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1</a></p>
<h2>v30.4.0</h2>
<p>Big release! 😀</p>
<p>Main feature is a rewrite of our custom runtime in preparation for
stabilisation of native support of ESM. As part of that work
<code>require(esm)</code> module is now supported on Node 24.9+ (still
requires <code>--experimental-vm-modules</code> like before).</p>
<p>In addition we now support fake timers for the recently released
<code>Temporal</code> API in Node v26.</p>
<p>React 19 is also supported properly in <code>pretty-format</code>,
meaning snapshots of React components now work like they should.</p>
<p>Due to all the changes, there might be regressions that snuck in.
Please report them!</p>
<p>Full list of changes below</p>
<h2>Features</h2>
<ul>
<li><code>[babel-jest]</code> Support collecting coverage from
<code>.mts</code>, <code>.cts</code> (and other) files (<a
href="https://redirect.github.com/jestjs/jest/pull/15994">#15994</a>)</li>
<li><code>[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2,
jest-types]</code> Add <code>--collect-tests</code> flag to discover and
list tests without executing them (<a
href="https://redirect.github.com/jestjs/jest/pull/16006">#16006</a>)</li>
<li><code>[jest-config, jest-runner, jest-worker]</code> Add
<code>workerGracefulExitTimeout</code> config option to control how long
workers are given to exit before being force-killed (<a
href="https://redirect.github.com/jestjs/jest/pull/15984">#15984</a>)</li>
<li><code>[jest-config]</code> Add support for
<code>jest.config.mts</code> as a valid configuration file (<a
href="https://redirect.github.com/jestjs/jest/pull/16005">#16005</a>)</li>
<li><code>[jest-config, jest-core, jest-reporters, jest-runner]</code>
<code>verbose</code> and <code>silent</code> can now be set per-project;
the project-level value overrides the global value for that project's
tests (<a
href="https://redirect.github.com/jestjs/jest/pull/16133">#16133</a>)</li>
<li><code>[@jest/fake-timers]</code> Accept
<code>Temporal.Duration</code> in
<code>jest.advanceTimersByTime()</code> and
<code>jest.advanceTimersByTimeAsync()</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16128">#16128</a>)</li>
<li><code>[@jest/fake-timers]</code> Accept
<code>Temporal.Instant</code> and <code>Temporal.ZonedDateTime</code> in
<code>jest.setSystemTime()</code> and <code>useFakeTimers({now})</code>
(<a
href="https://redirect.github.com/jestjs/jest/pull/16128">#16128</a>)</li>
<li><code>[@jest/fake-timers]</code> Support faking
<code>Temporal.Now.*</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16131">#16131</a>)</li>
<li><code>[jest-mock]</code> Add <code>clearMocksOnScope(scope)</code>
on <code>ModuleMocker</code> for clearing every mock function exposed on
a scope object (<a
href="https://redirect.github.com/jestjs/jest/pull/16088">#16088</a>)</li>
<li><code>[jest-resolve]</code> Add <code>canResolveSync()</code> on
<code>Resolver</code> so callers can detect when a user-configured
resolver only exports an <code>async</code> hook (<a
href="https://redirect.github.com/jestjs/jest/pull/16064">#16064</a>)</li>
<li><code>[jest-runtime]</code> Use synchronous <code>evaluate()</code>
for ES modules without top-level <code>await</code> on Node versions
that support it (v24.9+), and prefer the synchronous transform path when
a sync transformer is configured (<a
href="https://redirect.github.com/jestjs/jest/pull/16062">#16062</a>)</li>
<li><code>[jest-runtime]</code> Support <code>require()</code> of ES
modules on Node v24.9+ (<a
href="https://redirect.github.com/jestjs/jest/pull/16074">#16074</a>)</li>
<li><code>[jest-runtime]</code> Validate TC39 import attributes
(<code>with { type: 'json' }</code>) on ESM imports (<a
href="https://redirect.github.com/jestjs/jest/pull/16127">#16127</a>)</li>
<li><code>[@jest/transform]</code> Add
<code>canTransformSync(filename)</code> on
<code>ScriptTransformer</code> so callers can pick the sync vs async
transform path (<a
href="https://redirect.github.com/jestjs/jest/pull/16062">#16062</a>)</li>
<li><code>[jest-util]</code> Add <code>isError</code> helper (<a
href="https://redirect.github.com/jestjs/jest/pull/16076">#16076</a>)</li>
<li><code>[pretty-format]</code> Support React 19 (<a
href="https://redirect.github.com/jestjs/jest/pull/16123">#16123</a>)</li>
</ul>
<h2>Fixes</h2>
<ul>
<li><code>[expect-utils]</code> Fix <code>toStrictEqual</code> failing
on <code>structuredClone</code> results due to cross-realm constructor
mismatch (<a
href="https://redirect.github.com/jestjs/jest/pull/15959">#15959</a>)</li>
<li><code>[@jest/expect-utils]</code> Prevent
<code>toMatchObject</code>/subset matching from throwing when
encountering exotic iterables (<a
href="https://redirect.github.com/jestjs/jest/pull/15952">#15952</a>)</li>
<li><code>[fake-timers]</code> Convert <code>Date</code> to milliseconds
before passing to <code>@sinonjs/fake-timers</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16029">#16029</a>)</li>
<li><code>[jest]</code> Export <code>GlobalConfig</code> and
<code>ProjectConfig</code> TypeScript types (<a
href="https://redirect.github.com/jestjs/jest/pull/16132">#16132</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jestjs/jest/blob/main/CHANGELOG.md">jest-util's
changelog</a>.</em></p>
<blockquote>
<h2>30.4.1</h2>
<h3>Features</h3>
<ul>
<li><code>[jest-config, jest-core, jest-runner, jest-schemas,
jest-types]</code> Allow custom runner configuration options via tuple
format <code>['runner-path', {options}]</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16141">#16141</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li><code>[jest-runtime]</code> Align CJS-from-ESM default export with
Node: <code>module.exports</code> is always the ESM default,
<code>__esModule</code> unwrapping is no longer applied (<a
href="https://redirect.github.com/jestjs/jest/pull/16143">#16143</a>)</li>
</ul>
<h2>30.4.0</h2>
<h3>Features</h3>
<ul>
<li><code>[babel-jest]</code> Support collecting coverage from
<code>.mts</code>, <code>.cts</code> (and other) files (<a
href="https://redirect.github.com/jestjs/jest/pull/15994">#15994</a>)</li>
<li><code>[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2,
jest-types]</code> Add <code>--collect-tests</code> flag to discover and
list tests without executing them (<a
href="https://redirect.github.com/jestjs/jest/pull/16006">#16006</a>)</li>
<li><code>[jest-config, jest-runner, jest-worker]</code> Add
<code>workerGracefulExitTimeout</code> config option to control how long
workers are given to exit before being force-killed (<a
href="https://redirect.github.com/jestjs/jest/pull/15984">#15984</a>)</li>
<li><code>[jest-config]</code> Add support for
<code>jest.config.mts</code> as a valid configuration file (<a
href="https://redirect.github.com/jestjs/jest/pull/16005">#16005</a>)</li>
<li><code>[jest-config, jest-core, jest-reporters, jest-runner]</code>
<code>verbose</code> and <code>silent</code> can now be set per-project;
the project-level value overrides the global value for that project's
tests (<a
href="https://redirect.github.com/jestjs/jest/pull/16133">#16133</a>)</li>
<li><code>[@jest/fake-timers]</code> Accept
<code>Temporal.Duration</code> in
<code>jest.advanceTimersByTime()</code> and
<code>jest.advanceTimersByTimeAsync()</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16128">#16128</a>)</li>
<li><code>[@jest/fake-timers]</code> Accept
<code>Temporal.Instant</code> and <code>Temporal.ZonedDateTime</code> in
<code>jest.setSystemTime()</code> and <code>useFakeTimers({now})</code>
(<a
href="https://redirect.github.com/jestjs/jest/pull/16128">#16128</a>)</li>
<li><code>[@jest/fake-timers]</code> Support faking
<code>Temporal.Now.*</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16131">#16131</a>)</li>
<li><code>[jest-mock]</code> Add <code>clearMocksOnScope(scope)</code>
on <code>ModuleMocker</code> for clearing every mock function exposed on
a scope object (<a
href="https://redirect.github.com/jestjs/jest/pull/16088">#16088</a>)</li>
<li><code>[jest-resolve]</code> Add <code>canResolveSync()</code> on
<code>Resolver</code> so callers can detect when a user-configured
resolver only exports an <code>async</code> hook (<a
href="https://redirect.github.com/jestjs/jest/pull/16064">#16064</a>)</li>
<li><code>[jest-runtime]</code> Use synchronous <code>evaluate()</code>
for ES modules without top-level <code>await</code> on Node versions
that support it (v24.9+), and prefer the synchronous transform path when
a sync transformer is configured (<a
href="https://redirect.github.com/jestjs/jest/pull/16062">#16062</a>)</li>
<li><code>[jest-runtime]</code> Support <code>require()</code> of ES
modules on Node v24.9+ (<a
href="https://redirect.github.com/jestjs/jest/pull/16074">#16074</a>)</li>
<li><code>[jest-runtime]</code> Validate TC39 import attributes
(<code>with { type: 'json' }</code>) on ESM imports (<a
href="https://redirect.github.com/jestjs/jest/pull/16127">#16127</a>)</li>
<li><code>[@jest/transform]</code> Add
<code>canTransformSync(filename)</code> on
<code>ScriptTransformer</code> so callers can pick the sync vs async
transform path (<a
href="https://redirect.github.com/jestjs/jest/pull/16062">#16062</a>)</li>
<li><code>[jest-util]</code> Add <code>isError</code> helper (<a
href="https://redirect.github.com/jestjs/jest/pull/16076">#16076</a>)</li>
<li><code>[pretty-format]</code> Support React 19 (<a
href="https://redirect.github.com/jestjs/jest/pull/16123">#16123</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li><code>[expect-utils]</code> Fix <code>toStrictEqual</code> failing
on <code>structuredClone</code> results due to cross-realm constructor
mismatch (<a
href="https://redirect.github.com/jestjs/jest/pull/15959">#15959</a>)</li>
<li><code>[@jest/expect-utils]</code> Prevent
<code>toMatchObject</code>/subset matching from throwing when
encountering exotic iterables (<a
href="https://redirect.github.com/jestjs/jest/pull/15952">#15952</a>)</li>
<li><code>[fake-timers]</code> Convert <code>Date</code> to milliseconds
before passing to <code>@sinonjs/fake-timers</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16029">#16029</a>)</li>
<li><code>[jest]</code> Export <code>GlobalConfig</code> and
<code>ProjectConfig</code> TypeScript types (<a
href="https://redirect.github.com/jestjs/jest/pull/16132">#16132</a>)</li>
<li><code>[jest-circus]</code> Prevent crash when
<code>asyncError</code> is undefined for non-Error throws (<a
href="https://redirect.github.com/jestjs/jest/pull/16003">#16003</a>)</li>
<li><code>[jest-circus, jest-jasmine2]</code> Include
<code>Error.cause</code> in JSON <code>failureMessages</code> output (<a
href="https://redirect.github.com/jestjs/jest/pull/15967">#15967</a>)</li>
<li><code>[jest-config]</code> Fix preset path resolution on Windows
when the preset uses subpath <code>exports</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15961">#15961</a>)</li>
<li><code>[jest-config]</code> Allow <code>collectCoverage</code> and
<code>coverageProvider</code> in project config without a validation
warning (<a
href="https://redirect.github.com/jestjs/jest/pull/16132">#16132</a>)</li>
<li><code>[jest-config]</code> Project config validator now emits
&quot;is not supported in an individual project configuration&quot;
instead of &quot;probably a typing mistake&quot; for known global-only
options (<a
href="https://redirect.github.com/jestjs/jest/pull/16132">#16132</a>)</li>
<li><code>[jest-environment-node]</code> Fix
<code>--localstorage-file</code> warning on Node 25+ (<a
href="https://redirect.github.com/jestjs/jest/pull/16086">#16086</a>)</li>
<li><code>[jest-reporters]</code> Apply global coverage threshold to
unmatched pattern files in addition to glob/path thresholds (<a
href="https://redirect.github.com/jestjs/jest/pull/16137">#16137</a>)</li>
<li><code>[jest-reporters, jest-runner, jest-runtime,
jest-transform]</code> Fix coverage report not showing correct code
coverage when using <code>projects</code> config option (<a
href="https://redirect.github.com/jestjs/jest/pull/16140">#16140</a>)</li>
<li><code>[jest-runtime]</code> Resolve <code>expect</code> and
<code>@jest/expect</code> from the internal module registry so test-file
imports share the same <code>JestAssertionError</code> as the global
<code>expect</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16130">#16130</a>)</li>
<li><code>[jest-runtime]</code> Improve CJS-from-ESM interop:
<code>__esModule</code>/Babel default unwrap, broader named-export
coverage, and shared CJS singleton across importers (<a
href="https://redirect.github.com/jestjs/jest/pull/16050">#16050</a>)</li>
<li><code>[jest-runtime]</code> Load <code>.js</code> files with ESM
syntax but no <code>&quot;type&quot;:&quot;module&quot;</code> marker as
native ESM (<a
href="https://redirect.github.com/jestjs/jest/pull/16050">#16050</a>)</li>
<li><code>[jest-runtime]</code> Extend the
<code>.js</code>-with-ESM-syntax fallback to <code>require()</code> on
Node v24.9+ - falls back to <code>require(esm)</code> when the CJS
parser rejects ESM syntax (<a
href="https://redirect.github.com/jestjs/jest/pull/16078">#16078</a>)</li>
<li><code>[jest-runtime]</code> Fix deadlocks and double-evaluation in
concurrent ESM and wasm imports (<a
href="https://redirect.github.com/jestjs/jest/pull/16050">#16050</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785"><code>b3b4a09</code></a>
v30.4.1</li>
<li><a
href="https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20"><code>5cbb21e</code></a>
v30.4.0</li>
<li><a
href="https://github.com/jestjs/jest/commit/42de652ac7e371c7b275f23eddd1fc7afb98cd74"><code>42de652</code></a>
Support jest.config.mts (<a
href="https://github.com/jestjs/jest/tree/HEAD/packages/jest-util/issues/16005">#16005</a>)</li>
<li><a
href="https://github.com/jestjs/jest/commit/6886816ab4f2a14a2d53b3020ed02afb2cf0ac9c"><code>6886816</code></a>
chore: enable node protocol in imports (<a
href="https://github.com/jestjs/jest/tree/HEAD/packages/jest-util/issues/16077">#16077</a>)</li>
<li><a
href="https://github.com/jestjs/jest/commit/7a1588e41bfaff92742865c716776cead0d62e86"><code>7a1588e</code></a>
feat: add <code>isError</code> helper (<a
href="https://github.com/jestjs/jest/tree/HEAD/packages/jest-util/issues/16076">#16076</a>)</li>
<li><a
href="https://github.com/jestjs/jest/commit/487f4e86abd0ccbbd8b24111b5699979d40a2731"><code>487f4e8</code></a>
chore: remove unused ignore comment (<a
href="https://github.com/jestjs/jest/tree/HEAD/packages/jest-util/issues/16069">#16069</a>)</li>
<li>See full diff in <a
href="https://github.com/jestjs/jest/commits/v30.4.1/packages/jest-util">compare
view</a></li>
</ul>
</details>
<br />

Updates `viem` from 2.48.8 to 2.51.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/wevm/viem/releases">viem's
releases</a>.</em></p>
<blockquote>
<h2>viem@2.51.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4668">#4668</a>
<a
href="https://github.com/wevm/viem/commit/672a7ef72cd7fb9b9330d5c90979729e6b96cbbc"><code>672a7ef72cd7fb9b9330d5c90979729e6b96cbbc</code></a>
Thanks <a href="https://github.com/deodad"><code>@​deodad</code></a>! -
<code>viem/tempo</code>: Fixed <code>signVoucher</code> to raw sign
channel vouchers with access key accounts.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4672">#4672</a>
<a
href="https://github.com/wevm/viem/commit/c582dad966c136488b9f36c01f0f3986ff98e407"><code>c582dad966c136488b9f36c01f0f3986ff98e407</code></a>
Thanks <a href="https://github.com/deodad"><code>@​deodad</code></a>! -
Added a Tempo key authorization manager that can be used by
<code>prepareTransactionRequest</code> to attach pending key
authorizations.</p>
</li>
</ul>
<h2>viem@2.51.0</h2>
<h3>Minor Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4663">#4663</a>
<a
href="https://github.com/wevm/viem/commit/752712f1d2358715e9d63bd754f80c90a8d02e91"><code>752712f1d2358715e9d63bd754f80c90a8d02e91</code></a>
Thanks <a href="https://github.com/jxom"><code>@​jxom</code></a>! -
<code>viem/tempo</code>: Added <code>Actions.channel</code> actions for
reading and mutating TIP-20 channel reserve state.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4597">#4597</a>
<a
href="https://github.com/wevm/viem/commit/d346038e71f31cb1c82fc94bb49c4ac553a23717"><code>d346038e71f31cb1c82fc94bb49c4ac553a23717</code></a>
Thanks <a href="https://github.com/wwared"><code>@​wwared</code></a>! -
<code>viem/op-stack</code>: Added OP Stack super-root dispute game
support for withdrawal prove flows.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4661">#4661</a>
<a
href="https://github.com/wevm/viem/commit/9713c7562eac9fd328e6cc1be7388bc1659a9c27"><code>9713c7562eac9fd328e6cc1be7388bc1659a9c27</code></a>
Thanks <a href="https://github.com/jxom"><code>@​jxom</code></a>! -
Updated generated Tempo precompile ABIs from latest Tempo main and added
<code>logoURI</code> to TIP-20 metadata and token creation.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4653">#4653</a>
<a
href="https://github.com/wevm/viem/commit/a29cf5eef5809b50bbb7931f35331203c32d7692"><code>a29cf5eef5809b50bbb7931f35331203c32d7692</code></a>
Thanks <a
href="https://github.com/islishude"><code>@​islishude</code></a>! -
Added support for <code>eth_getBlockReceipts</code>.</p>
</li>
</ul>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4650">#4650</a>
<a
href="https://github.com/wevm/viem/commit/73b8b89c0369597bf4df781b021130f544ebe6b0"><code>73b8b89c0369597bf4df781b021130f544ebe6b0</code></a>
Thanks <a href="https://github.com/deodad"><code>@​deodad</code></a>! -
Exported <code>ExtractFormattedTransactionRequest</code>.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4664">#4664</a>
<a
href="https://github.com/wevm/viem/commit/c3fda73603695bc68336f6e22f6475ba6ed0cdc7"><code>c3fda73603695bc68336f6e22f6475ba6ed0cdc7</code></a>
Thanks <a href="https://github.com/jxom"><code>@​jxom</code></a>! -
Handled <code>eth_createAccessList</code> responses that include an
<code>error</code> field.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4660">#4660</a>
<a
href="https://github.com/wevm/viem/commit/c5cc58ebbc027029022f09eba54ed2e789b8b2b1"><code>c5cc58ebbc027029022f09eba54ed2e789b8b2b1</code></a>
Thanks <a href="https://github.com/struong"><code>@​struong</code></a>!
- Emitted a full broadcast envelope when the fee payer co-signed during
<code>eth_fillTransaction</code>, enabling single round-trip
sponsorship, and stripped <code>feeToken</code> from the sender's sign
payload under sponsorship per the Tempo Transaction spec.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4654">#4654</a>
<a
href="https://github.com/wevm/viem/commit/038a062a8c2a875a3bbd58426e6060cf5d1d7986"><code>038a062a8c2a875a3bbd58426e6060cf5d1d7986</code></a>
Thanks <a href="https://github.com/deodad"><code>@​deodad</code></a>! -
Added <code>raw</code> signing support to Tempo access key accounts.</p>
</li>
</ul>
<h2>viem@2.50.4</h2>
<h3>Patch Changes</h3>
<ul>
<li><a href="https://redirect.github.com/wevm/viem/pull/4647">#4647</a>
<a
href="https://github.com/wevm/viem/commit/423131df9e00e3df062274e483b98a4921674cea"><code>423131df9e00e3df062274e483b98a4921674cea</code></a>
Thanks <a href="https://github.com/jxom"><code>@​jxom</code></a>! -
Fixed Tempo chain declarations to emit portable inferred types for
exported derived chains.</li>
</ul>
<h2>viem@2.50.3</h2>
<h3>Patch Changes</h3>
<ul>
<li><a href="https://redirect.github.com/wevm/viem/pull/4642">#4642</a>
<a
href="https://github.com/wevm/viem/commit/5bafcd444f7ebae9bb06a8efbc801a7ea845154d"><code>5bafcd444f7ebae9bb06a8efbc801a7ea845154d</code></a>
Thanks <a href="https://github.com/jxom"><code>@​jxom</code></a>! -
<code>viem/tempo</code>: Updated <code>wallet.deposit</code> to use
<code>amount</code> and supported token symbols for
<code>wallet_deposit</code> requests.</li>
</ul>
<h2>viem@2.49.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4621">#4621</a>
<a
href="https://github.com/wevm/viem/commit/6d80eaeea315c552a57e9683607ed36f7d219a9e"><code>6d80eaeea315c552a57e9683607ed36f7d219a9e</code></a>
Thanks <a
href="https://github.com/Blessing-Circle"><code>@​Blessing-Circle</code></a>!
- Added Arc chain.</p>
</li>
<li>
<p><a href="https://redirect.github.com/wevm/viem/pull/4622">#4622</a>
<a
href="https://github.com/wevm/viem/commit/c5dc4d63506f787e92417eff77dd0ef84e3a2c8c"><code>c5dc4d63506f787e92417eff77dd0ef84e3a2c8c</code></a>
Thanks <a href="https://github.com/struong"><code>@​struong</code></a>!
- <code>viem/tempo</code>: Preserved <code>feeToken</code> on broadcast
envelope when <code>feePayerSignature</code> is present. Previously
stripped unconditionally when <code>feePayer === true</code>, breaking
fee payer signature verification on-chain.</p>
</li>
</ul>
<h2>viem@2.49.2</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://github.com/wevm/viem/commit/215469280e57b4ec729bd2537857a4ca363c984b"><code>215469280e57b4ec729bd2537857a4ca363c984b</code></a>
Thanks <a href="https://github.com/jxom"><code>@​jxom</code></a>! -
<code>viem/tempo</code>: Renamed <code>Actions.wallet.send</code> to
<code>Actions.wallet.transfer</code>.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/wevm/viem/commit/585d806b7b4e68fdcc5e29479b4be7615748b70c"><code>585d806</code></a>
chore: version package (<a
href="https://redirect.github.com/wevm/viem/issues/4673">#4673</a>)</li>
<li><a
href="https://github.com/wevm/viem/commit/741bceb508e081c50e49e5b7ae55c205f21e9b53"><code>741bceb</code></a>
ci: disable Tempo devnet tests</li>
<li><a
href="https://github.com/wevm/viem/commit/6e50f3991e4ed4b3968b2acfb70dfe9d1084c3d8"><code>6e50f39</code></a>
fix: stabilize local tests</li>
<li><a
href="https://github.com/wevm/viem/commit/c582dad966c136488b9f36c01f0f3986ff98e407"><code>c582dad</code></a>
feat(tempo): add key authorization manager (<a
href="https://redirect.github.com/wevm/viem/issues/4672">#4672</a>)</li>
<li><a
href="https://github.com/wevm/viem/commit/672a7ef72cd7fb9b9330d5c90979729e6b96cbbc"><code>672a7ef</code></a>
fix(tempo): raw sign access key vouchers (<a
href="https://redirect.github.com/wevm/viem/issues/4668">#4668</a>)</li>
<li><a
href="https://github.com/wevm/viem/commit/9deee0d249d7bf4db3502a42050eeabbb01ebeda"><code>9deee0d</code></a>
chore: update ox to 0.14.25</li>
<li><a
href="https://github.com/wevm/viem/commit/7b06563938d1e361f1bf17dbdc0980500f1b0ec4"><code>7b06563</code></a>
chore: version package (<a
href="https://redirect.github.com/wevm/viem/issues/4670">#4670</a>)</li>
<li><a
href="https://github.com/wevm/viem/commit/c3c23179eb2e8e19e18d445d978432cbd156e443"><code>c3c2317</code></a>
ci: re-enable wagmi check (<a
href="https://redirect.github.com/wevm/viem/issues/4667">#4667</a>)</li>
<li><a
href="https://github.com/wevm/viem/commit/44a197c6d3ca881472c5a849d199907b5ede453d"><code>44a197c</code></a>
chore: use published ox package (<a
href="https://redirect.github.com/wevm/viem/issues/4669">#4669</a>)</li>
<li><a
href="https://github.com/wevm/viem/commit/f6ce88620d8c6b9546dbef1cf3a5f91ff057ebc0"><code>f6ce886</code></a>
chore: version package (<a
href="https://redirect.github.com/wevm/viem/issues/4655">#4655</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/wevm/viem/compare/viem@2.48.8...viem@2.51.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `@types/node` from 25.6.0 to 25.9.1
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />

Updates `@typescript-eslint/eslint-plugin` from 8.59.2 to 8.60.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases">@​typescript-eslint/eslint-plugin's
releases</a>.</em></p>
<blockquote>
<h2>v8.60.0</h2>
<h2>8.60.0 (2026-05-25)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>rule-tester:</strong> added updates of RuleTester from
upstream (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291">#12291</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li>playground TS version selector is not working (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326">#12326</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325">#12325</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Evyatar Daud <a
href="https://github.com/StyleShit"><code>@​StyleShit</code></a></li>
<li>Vinccool96</li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
<h2>v8.59.4</h2>
<h2>8.59.4 (2026-05-18)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-floating-promises] stack
overflow when using recursive types (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294">#12294</a>)</li>
<li><strong>project-service:</strong> throw error cause in
<code>getParsedConfigFileFromTSServer</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321">#12321</a>)</li>
<li><strong>typescript-eslint:</strong> export Compatible* types from
typescript-eslint to resolve pnpm TS error (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340">#12340</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Evyatar Daud <a
href="https://github.com/StyleShit"><code>@​StyleShit</code></a></li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
<li>lumir</li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
<h2>v8.59.3</h2>
<h2>8.59.3 (2026-05-11)</h2>
<p>This was a version bump only, there were no code changes.</p>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md">@​typescript-eslint/eslint-plugin's
changelog</a>.</em></p>
<blockquote>
<h2>8.60.0 (2026-05-25)</h2>
<p>This was a version bump only for eslint-plugin to align it with other
projects, there were no code changes.</p>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
<h2>8.59.4 (2026-05-18)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-floating-promises] stack
overflow when using recursive types (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294">#12294</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Evyatar Daud <a
href="https://github.com/StyleShit"><code>@​StyleShit</code></a></li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
<h2>8.59.3 (2026-05-11)</h2>
<p>This was a version bump only for eslint-plugin to align it with other
projects, there were no code changes.</p>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58"><code>f891c29</code></a>
chore(release): publish 8.60.0</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2"><code>ca6ca14</code></a>
chore(release): publish 8.59.4</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/4302433ae6bf93d4ddc35264ad1b951254758566"><code>4302433</code></a>
fix(eslint-plugin): [no-floating-promises] stack overflow when using
recursiv...</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/10b79f1ba8e98610a3af85152a1b3b406f91e633"><code>10b79f1</code></a>
chore(deps): update dependency eslint to v10.4.0 (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12339">#12339</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/2a6765d9628dc776f8127c96f088bb807c0bcab2"><code>2a6765d</code></a>
chore: clenaup <code>getAwaitedType</code> from
<code>typescript.d.ts</code> (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12302">#12302</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383"><code>48e13c0</code></a>
chore(release): publish 8.59.3</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/e26dc8003ababf078aad4df17765ee4cea30644c"><code>e26dc80</code></a>
docs: update stale links to latest (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12313">#12313</a>)</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648"><code>44f9625</code></a>
chore(deps): update vitest monorepo to v4.1.5 (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12307">#12307</a>)</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin">compare
view</a></li>
</ul>
</details>
<br />

Updates `@typescript-eslint/parser` from 8.59.2 to 8.60.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases">@​typescript-eslint/parser's
releases</a>.</em></p>
<blockquote>
<h2>v8.60.0</h2>
<h2>8.60.0 (2026-05-25)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>rule-tester:</strong> added updates of RuleTester from
upstream (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12291">#12291</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li>playground TS version selector is not working (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12326">#12326</a>,
<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12325">#12325</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Evyatar Daud <a
href="https://github.com/StyleShit"><code>@​StyleShit</code></a></li>
<li>Vinccool96</li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
<h2>v8.59.4</h2>
<h2>8.59.4 (2026-05-18)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [no-floating-promises] stack
overflow when using recursive types (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294">#12294</a>)</li>
<li><strong>project-service:</strong> throw error cause in
<code>getParsedConfigFileFromTSServer</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321">#12321</a>)</li>
<li><strong>typescript-eslint:</strong> export Compatible* types from
typescript-eslint to resolve pnpm TS error (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340">#12340</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Evyatar Daud <a
href="https://github.com/StyleShit"><code>@​StyleShit</code></a></li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@​kirkwaiblinger</code></a></li>
<li>lumir</li>
</ul>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
<h2>v8.59.3</h2>
<h2>8.59.3 (2026-05-11)</h2>
<p>This was a version bump only, there were no code changes.</p>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md">@​typescript-eslint/parser's
changelog</a>.</em></p>
<blockquote>
<h2>8.60.0 (2026-05-25)</h2>
<p>This was a version bump only for parser to align it with other
projects, there were no code changes.</p>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.0">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
<h2>8.59.4 (2026-05-18)</h2>
<p>This was a version bump only for parser to align it with other
projects, there were no code changes.</p>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
<h2>8.59.3 (2026-05-11)</h2>
<p>This was a version bump only for parser to align it with other
projects, there were no code changes.</p>
<p>See <a
href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3">GitHub
Releases</a> for more information.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/f891c29de5f3e23f3d8c59cc599d3196e54e9b58"><code>f891c29</code></a>
chore(release): publish 8.60.0</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2"><code>ca6ca14</code></a>
chore(release): publish 8.59.4</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383"><code>48e13c0</code></a>
chore(release): publish 8.59.3</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648"><code>44f9625</code></a>
chore(deps): update vitest monorepo to v4.1.5 (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12307">#12307</a>)</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser">compare
view</a></li>
</ul>
</details>
<br />

Updates `eslint` from 10.3.0 to 10.4.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/eslint/eslint/releases">eslint's
releases</a>.</em></p>
<blockquote>
<h2>v10.4.0</h2>
<h2>Features</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf"><code>1a45ec5</code></a>
feat: check sequence expressions in <code>for-direction</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20701">#20701</a>)
(kuldeep kumar)</li>
<li><a
href="https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b"><code>450040b</code></a>
feat: add <code>includeIgnoreFile()</code> to <code>eslint/config</code>
(<a
href="https://redirect.github.com/eslint/eslint/issues/20735">#20735</a>)
(Kirk Waiblinger)</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be"><code>544c0c3</code></a>
fix: escape code path DOT labels in debug output (<a
href="https://redirect.github.com/eslint/eslint/issues/20866">#20866</a>)
(Pixel998)</li>
<li><a
href="https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c"><code>6799431</code></a>
fix: update dependency <code>@​eslint/config-helpers</code> to ^0.6.0
(<a
href="https://redirect.github.com/eslint/eslint/issues/20850">#20850</a>)
(renovate[bot])</li>
<li><a
href="https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd"><code>f078fef</code></a>
fix: handle non-array deprecated rule replacements (<a
href="https://redirect.github.com/eslint/eslint/issues/20825">#20825</a>)
(xbinaryx)</li>
</ul>
<h2>Documentation</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f"><code>7e52a71</code></a>
docs: add mention of <code>@eslint-react/eslint-plugin</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20869">#20869</a>)
(Pavel)</li>
<li><a
href="https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08"><code>db3468b</code></a>
docs: tweak wording around ambiguous CJS-vs-ESM config (<a
href="https://redirect.github.com/eslint/eslint/issues/20865">#20865</a>)
(Kirk Waiblinger)</li>
<li><a
href="https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a"><code>9084664</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f"><code>9cc7387</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5"><code>3d7b548</code></a>
docs: Update README (GitHub Actions Bot)</li>
<li><a
href="https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb"><code>191ec3c</code></a>
docs: Update README (GitHub Actions Bot)</li>
</ul>
<h2>Chores</h2>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf"><code>6616856</code></a>
chore: upgrade knip to v6 (<a
href="https://redirect.github.com/eslint/eslint/issues/20875">#20875</a>)
(Pixel998)</li>
<li><a
href="https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554"><code>d13b084</code></a>
ci: ensure auto-created PRs run CI (<a
href="https://redirect.github.com/eslint/eslint/issues/20860">#20860</a>)
(lumir)</li>
<li><a
href="https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594"><code>e71c7af</code></a>
ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (<a
href="https://redirect.github.com/eslint/eslint/issues/20862">#20862</a>)
(dependabot[bot])</li>
<li><a
href="https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99"><code>d84393d</code></a>
test: add unit tests for SuppressionsService.applySuppressions() (<a
href="https://redirect.github.com/eslint/eslint/issues/20863">#20863</a>)
(kuldeep kumar)</li>
<li><a
href="https://github.com/eslint/eslint/commit/24db8cb8e6f07fba667121777a15b1785486be94"><code>24db8cb</code></a>
test: add tests for SuppressionsService.save() (<a
href="https://redirect.github.com/eslint/eslint/issues/20802">#20802</a>)
(kuldeep kumar)</li>
<li><a
href="https://github.com/eslint/eslint/commit/2ef0549cac4a9537e4c3a26b9f3edd4c99476bf6"><code>2ef0549</code></a>
chore: update ecosystem plugins (<a
href="https://redirect.github.com/eslint/eslint/issues/20857">#20857</a>)
(github-actions[bot])</li>
<li><a
href="https://github.com/eslint/eslint/commit/a4297918d264d229a06cd96051ef9b91c7b86732"><code>a429791</code></a>
ci: remove <code>eslint-webpack-plugin</code> types integration test (<a
href="https://redirect.github.com/eslint/eslint/issues/20668">#20668</a>)
(Milos Djermanovic)</li>
<li><a
href="https://github.com/eslint/eslint/commit/9e37386aa7f2ce220b2ef74a6afbac5f6b3527c5"><code>9e37386</code></a>
chore: replace <code>recast</code> with range approach in
code-sample-minimizer (<a
href="https://redirect.github.com/eslint/eslint/issues/20682">#20682</a>)
(Copilot)</li>
<li><a
href="https://github.com/eslint/eslint/commit/0dd1f9ffc9a07704d46e2a4c8d4ccc0d0908b0c0"><code>0dd1f9f</code></a>
test: disable warning for
<code>vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20845">#20845</a>)
(Francesco Trotta)</li>
<li><a
href="https://github.com/eslint/eslint/commit/9da3c7bc92d9579f8db19ecb56e718538d09db2b"><code>9da3c7b</code></a>
refactor: remove deprecated <code>meta.language</code> and migrate
<code>meta.dialects</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20716">#20716</a>)
(Pixel998)</li>
<li><a
href="https://github.com/eslint/eslint/commit/2099ed12a0a74c3d7f0808514362af2499b4fe2b"><code>2099ed1</code></a>
refactor: add <code>meta.defaultOptions</code> to more rules, enable
linting (<a
href="https://redirect.github.com/eslint/eslint/issues/20800">#20800</a>)
(xbinaryx)</li>
<li><a
href="https://github.com/eslint/eslint/commit/f1dfbc9ca57196de7092e1888cc99427bd6fe06e"><code>f1dfbc9</code></a>
chore: update ecosystem plugins (<a
href="https://redirect.github.com/eslint/eslint/issues/20836">#20836</a>)
(github-actions[bot])</li>
<li><a
href="https://github.com/eslint/eslint/commit/c75941390c14728806cd4baef4f6072f6de78318"><code>c759413</code></a>
ci: bump pnpm/action-setup from 6.0.3 to 6.0.5 (<a
href="https://redirect.github.com/eslint/eslint/issues/20843">#20843</a>)
(dependabot[bot])</li>
<li><a
href="https://github.com/eslint/eslint/commit/5b817d6fdc9ae2c35b528dc662b2eca8f40f64aa"><code>5b817d6</code></a>
test: add unit tests for lib/shared/ast-utils (<a
href="https://redirect.github.com/eslint/eslint/issues/20838">#20838</a>)
(kuldeep kumar)</li>
<li><a
href="https://github.com/eslint/eslint/commit/1c13ae3934c198c494e5958fa3a68b33244ff06a"><code>1c13ae3</code></a>
test: add unit tests for lib/shared/severity (<a
href="https://redirect.github.com/eslint/eslint/issues/20835">#20835</a>)
(kuldeep kumar)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/eslint/eslint/commit/452c4010c07dc2e36fe6ec6a8c48298878e86887"><code>452c401</code></a>
10.4.0</li>
<li><a
href="https://github.com/eslint/eslint/commit/b6417e8b55c9525070d6e168b485ce6ff21688ed"><code>b6417e8</code></a>
Build: changelog update for 10.4.0</li>
<li><a
href="https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf"><code>6616856</code></a>
chore: upgrade knip to v6 (<a
href="https://redirect.github.com/eslint/eslint/issues/20875">#20875</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554"><code>d13b084</code></a>
ci: ensure auto-created PRs run CI (<a
href="https://redirect.github.com/eslint/eslint/issues/20860">#20860</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f"><code>7e52a71</code></a>
docs: add mention of <code>@eslint-react/eslint-plugin</code> (<a
href="https://redirect.github.com/eslint/eslint/issues/20869">#20869</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594"><code>e71c7af</code></a>
ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (<a
href="https://redirect.github.com/eslint/eslint/issues/20862">#20862</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be"><code>544c0c3</code></a>
fix: escape code path DOT labels in debug output (<a
href="https://redirect.github.com/eslint/eslint/issues/20866">#20866</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08"><code>db3468b</code></a>
docs: tweak wording around ambiguous CJS-vs-ESM config (<a
href="https://redirect.github.com/eslint/eslint/issues/20865">#20865</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99"><code>d84393d</code></a>
test: add unit tests for SuppressionsService.applySuppressions() (<a
href="https://redirect.github.com/eslint/eslint/issues/20863">#20863</a>)</li>
<li><a
href="https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a"><code>9084664</code></a>
docs: Update README</li>
<li>Additional commits viewable in <a
href="https://github.com/eslint/eslint/compare/v10.3.0...v10.4.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `jest` from 30.3.0 to 30.4.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/jestjs/jest/releases">jest's
releases</a>.</em></p>
<blockquote>
<h2>v30.4.2</h2>
<h1>Fixes</h1>
<ul>
<li><code>[jest-runtime]</code> Fix named imports from CJS modules whose
<code>module.exports</code> is a function with own-property exports (<a
href="https://redirect.github.com/jestjs/jest/pull/16150">#16150</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2">https://github.com/jestjs/jest/compare/v30.4.1...v30.4.2</a></p>
<h2>v30.4.1</h2>
<h2>Features</h2>
<ul>
<li><code>[jest-config, jest-core, jest-runner, jest-schemas,
jest-types]</code> Allow custom runner configuration options via tuple
format <code>['runner-path', {options}]</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16141">#16141</a>)</li>
</ul>
<h2>Fixes</h2>
<ul>
<li><code>[jest-runtime]</code> Align CJS-from-ESM default export with
Node: <code>module.exports</code> is always the ESM default,
<code>__esModule</code> unwrapping is no longer applied (<a
href="https://redirect.github.com/jestjs/jest/pull/16143">#16143</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1">https://github.com/jestjs/jest/compare/v30.4.0...v30.4.1</a></p>
<h2>v30.4.0</h2>
<p>Big release! 😀</p>
<p>Main feature is a rewrite of our custom runtime in preparation for
stabilisation of native support of ESM. As part of that work
<code>require(esm)</code> module is now supported on Node 24.9+ (still
requires <code>--experimental-vm-modules</code> like before).</p>
<p>In addition we now support fake timers for the recently released
<code>Temporal</code> API in Node v26.</p>
<p>React 19 is also supported properly in <code>pretty-format</code>,
meaning snapshots of React components now work like they should.</p>
<p>Due to all the changes, there might be regressions that snuck in.
Please report them!</p>
<p>Full list of changes below</p>
<h2>Features</h2>
<ul>
<li><code>[babel-jest]</code> Support collecting coverage from
<code>.mts</code>, <code>.cts</code> (and other) files (<a
href="https://redirect.github.com/jestjs/jest/pull/15994">#15994</a>)</li>
<li><code>[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2,
jest-types]</code> Add <code>--collect-tests</code> flag to discover and
list tests without executing them (<a
href="https://redirect.github.com/jestjs/jest/pull/16006">#16006</a>)</li>
<li><code>[jest-config, jest-runner, jest-worker]</code> Add
<code>workerGracefulExitTimeout</code> config option to control how long
workers are given to exit before being force-killed (<a
href="https://redirect.github.com/jestjs/jest/pull/15984">#15984</a>)</li>
<li><code>[jest-config]</code> Add support for
<code>jest.config.mts</code> as a valid configuration file (<a
href="https://redirect.github.com/jestjs/jest/pull/16005">#16005</a>)</li>
<li><code>[jest-config, jest-core, jest-reporters, jest-runner]</code>
<code>verbose</code> and <code>silent</code> can now be set per-project;
the project-level value overrides the global value for that project's
tests (<a
href="https://redirect.github.com/jestjs/jest/pull/16133">#16133</a>)</li>
<li><code>[@jest/fake-timers]</code> Accept
<code>Temporal.Duration</code> in
<code>jest.advanceTimersByTime()</code> and
<code>jest.advanceTimersByTimeAsync()</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16128">#16128</a>)</li>
<li><code>[@jest/fake-timers]</code> Accept
<code>Temporal.Instant</code> and <code>Temporal.ZonedDateTime</code> in
<code>jest.setSystemTime()</code> and <code>useFakeTimers({now})</code>
(<a
href="https://redirect.github.com/jestjs/jest/pull/16128">#16128</a>)</li>
<li><code>[@jest/fake-timers]</code> Support faking
<code>Temporal.Now.*</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16131">#16131</a>)</li>
<li><code>[jest-mock]</code> Add <code>clearMocksOnScope(scope)</code>
on <code>ModuleMocker</code> for clearing every mock function exposed on
a scope object (<a
href="https://redirect.github.com/jestjs/jest/pull/16088">#16088</a>)</li>
<li><code>[jest-resolve]</code> Add <code>canResolveSync()</code> on
<code>Resolver</code> so callers can detect when a user-configured
resolver only exports an <code>async</code> hook (<a
href="https://redirect.github.com/jestjs/jest/pull/16064">#16064</a>)</li>
<li><code>[jest-runtime]</code> Use synchronous <code>evaluate()</code>
for ES modules without top-level <code>await</code> on Node versions
that support it (v24.9+), and prefer the synchronous transform path when
a sync transformer is configured (<a
href="https://redirect.github.com/jestjs/jest/pull/16062">#16062</a>)</li>
<li><code>[jest-runtime]</code> Support <code>require()</code> of ES
modules on Node v24.9+ (<a
href="https://redirect.github.com/jestjs/jest/pull/16074">#16074</a>)</li>
<li><code>[jest-runtime]</code> Validate TC39 import attributes
(<code>with { type: 'json' }</code>) on ESM imports (<a
href="https://redirect.github.com/jestjs/jest/pull/16127">#16127</a>)</li>
<li><code>[@jest/transform]</code> Add
<code>canTransformSync(filename)</code> on
<code>ScriptTransformer</code> so callers can pick the sync vs async
transform path (<a
href="https://redirect.github.com/jestjs/jest/pull/16062">#16062</a>)</li>
<li><code>[jest-util]</code> Add <code>isError</code> helper (<a
href="https://redirect.github.com/jestjs/jest/pull/16076">#16076</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jestjs/jest/blob/main/CHANGELOG.md">jest's
changelog</a>.</em></p>
<blockquote>
<h2>30.4.2</h2>
<h3>Fixes</h3>
<ul>
<li><code>[jest-runtime]</code> Fix named imports from CJS modules whose
<code>module.exports</code> is a function with own-property exports (<a
href="https://redirect.github.com/jestjs/jest/pull/16150">#16150</a>)</li>
</ul>
<h2>30.4.1</h2>
<h3>Features</h3>
<ul>
<li><code>[jest-config, jest-core, jest-runner, jest-schemas,
jest-types]</code> Allow custom runner configuration options via tuple
format <code>['runner-path', {options}]</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16141">#16141</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li><code>[jest-runtime]</code> Align CJS-from-ESM default export with
Node: <code>module.exports</code> is always the ESM default,
<code>__esModule</code> unwrapping is no longer applied (<a
href="https://redirect.github.com/jestjs/jest/pull/16143">#16143</a>)</li>
</ul>
<h2>30.4.0</h2>
<h3>Features</h3>
<ul>
<li><code>[babel-jest]</code> Support collecting coverage from
<code>.mts</code>, <code>.cts</code> (and other) files (<a
href="https://redirect.github.com/jestjs/jest/pull/15994">#15994</a>)</li>
<li><code>[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2,
jest-types]</code> Add <code>--collect-tests</code> flag to discover and
list tests without executing them (<a
href="https://redirect.github.com/jestjs/jest/pull/16006">#16006</a>)</li>
<li><code>[jest-config, jest-runner, jest-worker]</code> Add
<code>workerGracefulExitTimeout</code> config option to control how long
workers are given to exit before being force-killed (<a
href="https://redirect.github.com/jestjs/jest/pull/15984">#15984</a>)</li>
<li><code>[jest-config]</code> Add support for
<code>jest.config.mts</code> as a valid configuration file (<a
href="https://redirect.github.com/jestjs/jest/pull/16005">#16005</a>)</li>
<li><code>[jest-config, jest-core, jest-reporters, jest-runner]</code>
<code>verbose</code> and <code>silent</code> can now be set per-project;
the project-level value overrides the global value for that project's
tests (<a
href="https://redirect.github.com/jestjs/jest/pull/16133">#16133</a>)</li>
<li><code>[@jest/fake-timers]</code> Accept
<code>Temporal.Duration</code> in
<code>jest.advanceTimersByTime()</code> and
<code>jest.advanceTimersByTimeAsync()</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16128">#16128</a>)</li>
<li><code>[@jest/fake-timers]</code> Accept
<code>Temporal.Instant</code> and <code>Temporal.ZonedDateTime</code> in
<code>jest.setSystemTime()</code> and <code>useFakeTimers({now})</code>
(<a
href="https://redirect.github.com/jestjs/jest/pull/16128">#16128</a>)</li>
<li><code>[@jest/fake-timers]</code> Support faking
<code>Temporal.Now.*</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16131">#16131</a>)</li>
<li><code>[jest-mock]</code> Add <code>clearMocksOnScope(scope)</code>
on <code>ModuleMocker</code> for clearing every mock function exposed on
a scope object (<a
href="https://redirect.github.com/jestjs/jest/pull/16088">#16088</a>)</li>
<li><code>[jest-resolve]</code> Add <code>canResolveSync()</code> on
<code>Resolver</code> so callers can detect when a user-configured
resolver only exports an <code>async</code> hook (<a
href="https://redirect.github.com/jestjs/jest/pull/16064">#16064</a>)</li>
<li><code>[jest-runtime]</code> Use synchronous <code>evaluate()</code>
for ES modules without top-level <code>await</code> on Node versions
that support it (v24.9+), and prefer the synchronous transform path when
a sync transformer is configured (<a
href="https://redirect.github.com/jestjs/jest/pull/16062">#16062</a>)</li>
<li><code>[jest-runtime]</code> Support <code>require()</code> of ES
modules on Node v24.9+ (<a
href="https://redirect.github.com/jestjs/jest/pull/16074">#16074</a>)</li>
<li><code>[jest-runtime]</code> Validate TC39 import attributes
(<code>with { type: 'json' }</code>) on ESM imports (<a
href="https://redirect.github.com/jestjs/jest/pull/16127">#16127</a>)</li>
<li><code>[@jest/transform]</code> Add
<code>canTransformSync(filename)</code> on
<code>ScriptTransformer</code> so callers can pick the sync vs async
transform path (<a
href="https://redirect.github.com/jestjs/jest/pull/16062">#16062</a>)</li>
<li><code>[jest-util]</code> Add <code>isError</code> helper (<a
href="https://redirect.github.com/jestjs/jest/pull/16076">#16076</a>)</li>
<li><code>[pretty-format]</code> Support React 19 (<a
href="https://redirect.github.com/jestjs/jest/pull/16123">#16123</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li><code>[expect-utils]</code> Fix <code>toStrictEqual</code> failing
on <code>structuredClone</code> results due to cross-realm constructor
mismatch (<a
href="https://redirect.github.com/jestjs/jest/pull/15959">#15959</a>)</li>
<li><code>[@jest/expect-utils]</code> Prevent
<code>toMatchObject</code>/subset matching from throwing when
encountering exotic iterables (<a
href="https://redirect.github.com/jestjs/jest/pull/15952">#15952</a>)</li>
<li><code>[fake-timers]</code> Convert <code>Date</code> to milliseconds
before passing to <code>@sinonjs/fake-timers</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/16029">#16029</a>)</li>
<li><code>[jest]</code> Export <code>GlobalConfig</code> and
<code>ProjectConfig</code> TypeScript types (<a
href="https://redirect.github.com/jestjs/jest/pull/16132">#16132</a>)</li>
<li><code>[jest-circus]</code> Prevent crash when
<code>asyncError</code> is undefined for non-Error throws (<a
href="https://redirect.github.com/jestjs/jest/pull/16003">#16003</a>)</li>
<li><code>[jest-circus, jest-jasmine2]</code> Include
<code>Error.cause</code> in JSON <code>failureMessages</code> output (<a
href="https://redirect.github.com/jestjs/jest/pull/15967">#15967</a>)</li>
<li><code>[jest-config]</code> Fix preset path resolution on Windows
when the preset uses subpath <code>exports</code> (<a
href="https://redirect.github.com/jestjs/jest/pull/15961">#15961</a>)</li>
<li><code>[jest-config]</code> Allow <code>collectCoverage</code> and
<code>coverageProvider</code> in project config without a validation
warning (<a
href="https://redirect.github.com/jestjs/jest/pull/16132">#16132</a>)</li>
<li><code>[jest-config]</code> Project config validator now emits
&quot;is not supported in an individual project configuration&quot;
instead of &quot;probably a typing mistake&quot; for known global-only
options (<a
href="https://redirect.github.com/jestjs/jest/pull/16132">#16132</a>)</li>
<li><code>[jest-environment-node]</code> Fix
<code>--localstorage-file</code> warning on Node 25+ (<a
href="https://redirect.github.com/jestjs/jest/pull/16086">#16086</a>)</li>
<li><code>[jest-reporters]</code> Apply global coverage threshold to
unmatched pattern files in addition to glob/path thresholds (<a
href="https://redirect.github.com/jestjs/jest/pull/16137">#16137</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/jestjs/jest/commit/746f2a0f57c56e3bba555280f0587d40f3db95c0"><code>746f2a0</code></a>
v30.4.2</li>
<li><a
href="https://github.com/jestjs/jest/commit/b3b4a09ed3005369dacc7466d1d2122797283785"><code>b3b4a09</code></a>
v30.4.1</li>
<li><a
href="https://github.com/jestjs/jest/commit/5cbb21e0b3037edb42e503ec1a1ce80efad40c20"><code>5cbb21e</code></a>
v30.4.0</li>
<li><a
href="https://github.com/jestjs/jest/commit/db7141a93cc85fab81cf9c25368e1f2b2c312286"><code>db7141a</code></a>
fix: allow <code>collectCoverage</code> and
<code>coverageProvider</code> in project config (<a
href="https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/16132">#16132</a>)</li>
<li>See full diff in <a
href="https://github.com/jestjs/jest/commits/v30.4.2/packages/jest">compare
view</a></li>
</ul>
</details>
<br />

Updates `ts-jest` from 29.4.9 to 29.4.11
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/kulshekhar/ts-jest/releases">ts-jest's
releases</a>.</em></p>
<blockquote>
<h2>v29.4.11</h2>
<p>Please refer to <a
href="https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
<h2>v29.4.10</h2>
<p>Please refer to <a
href="https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md">ts-jest's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/kulshekhar/ts-jest/compare/v29.4.10...v29.4.11">29.4.11</a>
(2026-05-21)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>preserve Bundler on the CJS path under TypeScript &gt;= 6 (<a
href="https://github.com/kulshekhar/ts-jest/commit/39418187515f11b6584d35a4e3ddf50231f74936">3941818</a>),
closes <a
href="https://redirect.github.com/kulshekhar/ts-jest/issues/4198">#4198</a></li>
</ul>
<h2><a
href="https://github.com/kulshekhar/ts-jest/compare/v29.4.9...v29.4.10">29.4.10</a>
(2026-05-18)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>pass <code>resolutionMode</code> to
<code>ts.resolveModuleName</code> for hybrid module support (<a
href="https://github.com/kulshekhar/ts-jest/commit/b557a85f85c3fd34523ec3a15293afbdc9dea83c">b557a85</a>)</li>
<li>rebuild <code>Program</code> when consecutive compiles need
different module kinds (<a
href="https://github.com/kulshekhar/ts-jest/commit/a82a2b32c4987a5249fd5284283117dd2fa3be47">a82a2b3</a>),
closes <a
href="https://redirect.github.com/kulshekhar/ts-jest/issues/4774">#4774</a></li>
<li>respect tsconfig <code>moduleResolution</code> instead of forcing
<code>Node10</code> (<a
href="https://github.com/kulshekhar/ts-jest/commit/1bffffc667557c173ae0c1f93dd436920775dac4">1bffffc</a>)</li>
<l…
## Summary
- Update TypeScript SDK and example package `viem` ranges so they
resolve `ws@8.20.1`.
- Pin direct `ws` usage in `sdk/ts` and `app_sessions` to the patched
`8.20.1` release.
- Add an npm override in `sdk/ts` so the dev-only `ethers` dependency
dedupes to `ws@8.20.1` instead of keeping a vulnerable nested copy.
- Refresh `sdk/ts/package-lock.json` dev-tool transitive dependencies so
`brace-expansion` resolves to `5.0.6` and `diff` resolves to `4.0.4`.

## Validation
- `cd sdk/ts && npm audit --package-lock-only --json` reports 0
vulnerabilities
- Package-lock audits for `sdk/ts`, `sdk/ts/examples/app_sessions`, and
`sdk/ts/examples/example-app` all report 0 vulnerabilities
- `cd sdk/ts && npm run typecheck`
- `cd sdk/ts && npm test` (12 suites, 180 tests)


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated `viem` dependency to version 2.50.4 across SDK and example
packages
* Updated `ws` dependency to versions 2.20.1 and 2.21.0 in example
packages
  * Added dependency override configuration for `ws` in main SDK package

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/layer-3/nitrolite/pull/781?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
… ingress (#796)

## Summary

The faucet sits behind the same nginx ingress as nitronode, so per-IP
flood protection belongs on the ingress where source IPs are already
propagated for nitronode's own rate-limit annotations. Today the app's
per-IP bucket actively misbehaves: `TRUSTED_PROXIES` is unset in
sandbox/stress, so gin's `ClientIP()` returns the ingress pod address
for every request — meaning every wallet across every IP collapses into
a single shared cooldown slot. First drip on any wallet locks out the
rest of the cluster until the cooldown expires.

- Adds `IP_RATE_LIMIT_ENABLED` (default `true`) so the per-IP bucket can
be disabled at runtime without having to populate `TRUSTED_PROXIES`.
When disabled, `requestTokens` falls back to `checkAndRecord` on the
wallet key only — per-address cooldown stays in force.
- Exposes the toggle in the chart as `config.ipRateLimitEnabled` and
emits it through `_common.tpl` env helper.
- Per-env values for `sandbox-v1` and `stress-v1` flip the toggle to
`false` and add `nginx.ingress.kubernetes.io/limit-connections`,
`limit-rps`, and `limit-burst-multiplier` annotations to the faucet
ingress. Limits are lower than nitronode's (10 conn / 5 rps / x3 burst)
because the faucet is rare-write.
- Test added: with the toggle off, same IP / different wallets both
succeed, but a duplicate wallet request is still rejected.

## Test plan

- [ ] `go test ./faucet-app/...` passes (covers the new toggled-off
branch + the existing same-IP-different-wallet rejection when toggled
on).
- [ ] `helm template faucet faucet-app/chart -f
faucet-app/chart/config/sandbox-v1/faucet.yaml.gotmpl --set
image.tag=test` renders `IP_RATE_LIMIT_ENABLED=false` and the three
`limit-*` annotations.
- [ ] After rollout: hitting `/requestTokens` from two browsers on the
same WAN IP with two different wallets succeeds for both (instead of the
second getting 429).
- [ ] Burst test: 30 rapid `/requestTokens` POSTs from a single client
get throttled by the ingress (`503` once `limit-rps * burst-multiplier`
is exceeded) rather than reaching the app.

## Notes

- Faucet is currently non-prod only (`installed: {{ ne .Environment.Name
"prod-v1" }}` in helmfile), so no prod-v1 config change needed.
- `TRUSTED_PROXIES` left empty intentionally — once the per-IP app
bucket is off, the app no longer needs the real client IP. If we ever
re-enable per-IP at the app, we'll also need to set `TRUSTED_PROXIES` to
the ingress-nginx pod CIDR.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
## Summary

- Adds a multi-stage Dockerfile (node 22 → nginx 1.27 alpine) that
builds `sdk/ts` first and then the playground bundle. `NITRONODE_URL` is
injected at container start via envsubst into `/playground/env.js`, so a
single image is reused across all envs (matches the nitronode/faucet
workflow).
- New `playground/chart/` Helm chart mirroring `faucet-app/chart`
(Gateway + Ingress, TCP probes, ClusterIP service). The Vite bundle is
built with `base: '/playground/'` and nginx serves the same prefix
directly, so no ingress rewrite is needed. Per-env values for
`sandbox-v1` / `stress-v1` / `prod-v1` point at the matching public
`nitronode-*.yellow.org` host.
- Helmfile gains a `playground` release with `needs: nitronode`,
installed in every env (prod included).
- CI: `build-node-project.yml` learns a `bootstrap-project-path` input
(mirrors `test-sdk.yml`) so it can build the `file:`-linked `sdk/ts`
before the playground. `build-and-publish-playground` jobs added to
`main-pr.yml`, `main-push.yml`, `v1-push.yml`, and `stable-tag.yml` with
the same tag schemes as the nitronode and faucet images (`:<sha>`,
`:latest-main`, `:<rc-tag>`/`:latest-rc`, `:<tag>`/`:latest`).
- Playground source: extracted `NODE_URL` into `src/config.ts`, which
reads `window.__ENV__.NITRONODE_URL` →
`import.meta.env.VITE_NITRONODE_URL` → hard-coded fallback so `npm run
dev` keeps working.

## Test plan

- [ ] `cd playground && npm run typecheck` passes.
- [ ] `helm template playground playground/chart -f
playground/chart/config/sandbox-v1/playground.yaml.gotmpl --set
image.tag=test` renders without errors.
- [ ] CI `test-playground` job on this PR green (builds sdk/ts then
playground).
- [ ] CI `build-and-publish-playground` job on `main` push produces
`ghcr.io/layer-3/nitrolite/playground:<sha>` and `:latest-main`.
- [ ] Smoke deploy to `sandbox-v1`: `IMAGE_TAG=<sha> helmfile -e
sandbox-v1 apply -l name=playground` brings up the pod and
`https://nitronode-sandbox.yellow.org/playground/` serves the UI with
the correct WS URL baked into `env.js`.
- [ ] Verify the playground inside the browser can open a WebSocket to
`wss://nitronode-sandbox.yellow.org/v1/ws` and round-trip a session-key
auth.

## Notes

- The empty `replicas: ` line that helm template emits is inherited from
the faucet chart's `_component.replicaCount` macro (it ignores
`.Values.replicaCount` because of how the include is invoked). K8s
applies the OpenAPI default (1), so this is cosmetic; happy to fix in
both charts in a follow-up if you'd like.
- Prod `replicaCount: 2` is a guess for minimal HA — adjust if you have
a different target.
- Per-Dockerfile ignore (`playground/Dockerfile.dockerignore`) is used
because the repo-root `.dockerignore` excludes `sdk/ts/` for the
nitronode/faucet Go builds.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated CI/CD pipelines to build and publish the playground
application to the container registry across multiple deployment
branches.
* Added Kubernetes/Helm deployment configuration for the playground with
multi-environment support and dynamic service scaling.
* Added Docker containerization for the playground with optimized build
process.
* Configured runtime environment variable injection to support dynamic
endpoint configuration.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/layer-3/nitrolite/pull/794?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Bump @yellow-org/sdk, @yellow-org/sdk-compat, @yellow-org/sdk-mcp to 1.3.0
- Set appVersion 1.3.0 on nitronode, playground, faucet-app Helm charts

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 28, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ea7e14de-896d-487c-a672-5acbbb30240c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v1.3.0

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 28, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0483def0-6b6b-4c06-a2ae-7030d629b9c4

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v1.3.0

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Stable's content (pre-v1.2.0 PRs) already lives in main via squash equivalents.
Using -s ours to declare stable ancestor without re-applying its diff.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@philanton philanton merged commit cc41d48 into stable May 28, 2026
23 checks passed
@philanton philanton deleted the release/v1.3.0 branch May 28, 2026 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants