release: v1.3.0 → stable#797
Conversation
* **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
…ths, add tests for them (#599)
* **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 -->
 <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=github&utm_medium=referral&page=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=github&utm_medium=referral&page=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=viem&utm_source=github&utm_medium=referral&page=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>
 <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=github&utm_medium=referral&page=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=github&utm_medium=referral&page=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=lucide-react&utm_source=github&utm_medium=referral&page=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>
 <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=github&utm_medium=referral&page=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=github&utm_medium=referral&page=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=viem&utm_source=github&utm_medium=referral&page=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>
 <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 >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=github&utm_medium=referral&page=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=github&utm_medium=referral&page=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=tailwind-merge&utm_source=github&utm_medium=referral&page=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 "womir" 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>
 <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=github&utm_medium=referral&page=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=github&utm_medium=referral&page=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=viem&utm_source=github&utm_medium=referral&page=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>
 <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 >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=github&utm_medium=referral&page=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=github&utm_medium=referral&page=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=tailwind-merge&utm_source=github&utm_medium=referral&page=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>
 <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=github&utm_medium=referral&page=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=github&utm_medium=referral&page=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=lucide-react&utm_source=github&utm_medium=referral&page=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 /> [](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>
## 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 --> [](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 --> [](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 --> [](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 --> [](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 -->
[](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 "http2: client connection lost" (<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 "")</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 /> [](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 "is not supported in an individual project configuration" instead of "probably a typing mistake" 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>"type":"module"</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 "is not supported in an individual project configuration" instead of "probably a typing mistake" 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 >= 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 --> [](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 --> [](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>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
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>
Summary
@yellow-org/sdk,@yellow-org/sdk-compat,@yellow-org/sdk-mcp) to1.3.0appVersion: 1.3.0on nitronode, playground, faucet-app Helm chartsMerges
release/v1.3.0intostable. Taggingv1.3.0on stable HEAD after merge triggersstable-tag.yml(Docker builds for nitronode, faucet-app, playground).mcp-v1.3.0tag triggers MCP publish.Test plan
v1.3.0on stable HEAD post-mergemcp-v1.3.0for MCP publish🤖 Generated with Claude Code