release: v1.4.0 → stable#849
Merged
Merged
Conversation
## Summary Sibling of \`release/v1.3.1 → stable\` PR. Carries the version bumps and the \`prepublishOnly\` hardening into main so future development sees them. ## Changes - Bump \`@yellow-org/sdk\`, \`@yellow-org/sdk-compat\`, \`@yellow-org/sdk-mcp\` → \`1.3.1\` - Add \`prepublishOnly\` to \`@yellow-org/sdk-compat\` - Tighten \`@yellow-org/sdk-mcp\` \`prepublishOnly\` to clean before build 🤖 Generated with [Claude Code](https://claude.com/claude-code)
## Summary Fixes the Go SDK channel transform so `ChallengeExpiresAt` from RPC `ChannelV1` is preserved on the returned core `Channel`. ## Context Auditor note: https://yellownetworkgroup.slack.com/archives/C0AHWMC0BRT/p1780517217044149 ## Changes - Copy `ChallengeExpiresAt` in `transformChannel`. - Add regression coverage in `TestTransformChannel`. ## Checks - `git diff --check -- sdk/go/utils.go sdk/go/utils_test.go` - `go test ./sdk/go ./pkg/core ./pkg/rpc` - `go test ./...` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Channels now properly expose the challenge expiration timestamp field in the SDK response. * **Tests** * Updated channel transformation test to validate the newly exposed timestamp field. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Summary - Refresh `sdk/mcp/package-lock.json` so the MCP SDK dependency tree resolves `hono` 4.12.23 instead of vulnerable 4.12.18. - Fix the `Publish SDK MCP` workflow failure in the `Audit production dependencies` step, where `npm audit --omit=dev --audit-level=moderate` reports Hono moderate advisories. ## Root cause The PR #810 job failed because `sdk/mcp/package-lock.json` pinned production dependency `hono` at 4.12.18, which matches the vulnerable `<=4.12.20` advisory range. The package manifest already allows a patched Hono through `@modelcontextprotocol/sdk`; the lockfile needed to be refreshed. ## Validation - `npm ci` - `npm audit --omit=dev --audit-level=moderate` - `npm run typecheck` - `npm run build` - `npm run verify:package -- pack.json` - Local packed MCP server smoke test equivalent to the workflow smoke job
- MF3-C01: fix(nitronode): require enforcing deposit states before crediting off-chain (#808) - MF3-M04: fix(nitronode): fix uint8 overflow in quorum weight accumulators (#802) - MF-L02: fix(nitronode): lock user balance row in HandleHomeChannelCreated + backfill unsigned receiver states (#803) - MF3-H01: fix(nitronode): fix pagination.limit=0 DoS (divide-by-zero) (#801) - fix(go-sdk): preserve channel challenge expiry (#816) - MF3-L01: fix(core): align transaction ID with referencing transition TxID (#807) - MF3-L10: reject missing last user state in submit_deposit_state (#812) - MF3-L11: fix unbounded responseSinks growth on marshal failure (#813) - fix(nitronode): remediate MF3-I* audit findings (#814) - MF3-L04: fix(nitronode): enforce canonical allocations in deposit state (#811) - MF3-M01, M02, M03, L09: feat(app-sessions): remove rebalance feature (#806) - MF3-L05, L06, L07, L08, I11 : feat(nitronode): remove app registry, action allowances, and user staking (#810) - MF3-M05: allow wallet-only revocation of session keys (#809) - MF3-L14: enforce request-rate limit at the frame layer (#819) - MF3-H02: lock home channel before reading status in event handlers (#820) - MF3-L13: document asset-symbol equivalence operator invariant (#818) - MF3-L16: fix(rpc): escape error message in NewErrorPayload (#829) - MF3-I12, I13, I14: nitronode audit remediations (#822) - MF3-L12: validate session-key scope ID formats at request boundary (#826) - MF3-H03: fix(nitronode): skip unsupported NodeBalanceUpdated tokens instead of fatal (#827) - MF3-L17, I15, I16: app-session participant docs, Void-checkpoint promotion, signature canonicalization note (#828) - MF3-L18: fix(nitronode): lock transfer balances in deterministic order (#830) - MF3-L03: docs: document app session close atomicity blocking on in-flight escrow (#831) - MF3-L15: fix(nitronode): fix reorg double-spend via confirmation gate (#832) - MF3-L19: fix: prevent SC reentrancy + event-handler monotonicity (#837)
…815) Bumps [github.com/quic-go/quic-go](https://github.com/quic-go/quic-go) from 0.59.0 to 0.59.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/quic-go/quic-go/releases">github.com/quic-go/quic-go's releases</a>.</em></p> <blockquote> <h2>v0.59.1</h2> <p>This patch release backports <a href="https://redirect.github.com/quic-go/quic-go/pull/5642">quic-go/quic-go#5642</a>, which adds validation for HTTP/3 trailers.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/quic-go/quic-go/commit/438abf0e467326af9fd964636b4cc18cfbaf5298"><code>438abf0</code></a> http3: implement trailer validation logic (<a href="https://redirect.github.com/quic-go/quic-go/issues/5642">#5642</a>)</li> <li>See full diff in <a href="https://github.com/quic-go/quic-go/compare/v0.59.0...v0.59.1">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>
… 22 updates (#839) Bumps the npm-dependencies group with 8 updates in the /sdk/ts directory: | Package | From | To | | --- | --- | --- | | [viem](https://github.com/wevm/viem) | `2.51.2` | `2.52.2` | | [@ethereumjs/blockchain](https://github.com/ethereumjs/ethereumjs-monorepo) | `10.1.1` | `10.1.2` | | [@ethereumjs/evm](https://github.com/ethereumjs/ethereumjs-monorepo) | `10.1.1` | `10.1.2` | | [@ethereumjs/vm](https://github.com/ethereumjs/ethereumjs-monorepo) | `10.1.1` | `10.1.2` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.9.1` | `25.9.3` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.60.0` | `8.61.0` | | [eslint](https://github.com/eslint/eslint) | `10.4.0` | `10.5.0` | | [prettier](https://github.com/prettier/prettier) | `3.8.3` | `3.8.4` | 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 | | --- | --- | --- | | [@radix-ui/react-accordion](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/accordion) | `1.2.12` | `1.2.13` | | [@radix-ui/react-separator](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/separator) | `1.1.8` | `1.1.9` | | [@radix-ui/react-slot](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/slot) | `1.2.4` | `1.2.5` | | [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.16.0` | `1.18.0` | | [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.6` | `19.2.7` | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.15` | `19.2.17` | | [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.6` | `19.2.7` | | [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.3.0` | `4.3.1` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.14` | `8.0.16` | Updates `viem` from 2.51.2 to 2.52.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.52.2</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/wevm/viem/pull/4718">#4718</a> <a href="https://github.com/wevm/viem/commit/1969c01715736de8a16b841cfed81640f0d708c2"><code>1969c01715736de8a16b841cfed81640f0d708c2</code></a> Thanks <a href="https://github.com/jxom"><code>@jxom</code></a>! - <strong>Tempo:</strong> Set the <code>t5</code> hardfork on the Tempo Testnet (Moderato) chain.</li> </ul> <h2>viem@2.52.0</h2> <h3>Minor Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/wevm/viem/pull/4689">#4689</a> <a href="https://github.com/wevm/viem/commit/fb032ee43ace76bbe72170c1b3ed48880033b763"><code>fb032ee43ace76bbe72170c1b3ed48880033b763</code></a> Thanks <a href="https://github.com/jxom"><code>@jxom</code></a>! - <strong><code>viem/tempo</code>:</strong> Added admin access key actions, and an <code>accessKey.verifyHash</code> action.</p> </li> <li> <p><a href="https://redirect.github.com/wevm/viem/pull/4688">#4688</a> <a href="https://github.com/wevm/viem/commit/19a26084eb448632883602b401516e17cc9f7e0d"><code>19a26084eb448632883602b401516e17cc9f7e0d</code></a> Thanks <a href="https://github.com/jxom"><code>@jxom</code></a>! - <strong><code>viem/tempo</code>:</strong> Added access-key witness actions.</p> </li> <li> <p><a href="https://redirect.github.com/wevm/viem/pull/4683">#4683</a> <a href="https://github.com/wevm/viem/commit/42d54ef89a85aa9ef8658a89b67271331b5a31d4"><code>42d54ef89a85aa9ef8658a89b67271331b5a31d4</code></a> Thanks <a href="https://github.com/jxom"><code>@jxom</code></a>! - <strong><code>viem/tempo</code>:</strong> Updated precompile ABIs and added the <code>receivePolicyGuard</code> and <code>signatureVerifier</code> precompile addresses to <code>Addresses</code>, plus the <code>t4</code>/<code>t5</code>/<code>t6</code> hardforks to <code>Hardfork</code>.</p> </li> <li> <p><a href="https://redirect.github.com/wevm/viem/pull/4687">#4687</a> <a href="https://github.com/wevm/viem/commit/0e826149964a6e76d8079b368ca6f034bde7f482"><code>0e826149964a6e76d8079b368ca6f034bde7f482</code></a> Thanks <a href="https://github.com/jxom"><code>@jxom</code></a>! - <strong><code>viem/tempo</code>:</strong> Added <code>receivePolicy</code> actions.</p> </li> </ul> <h2>viem@2.51.3</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/wevm/viem/pull/4675">#4675</a> <a href="https://github.com/wevm/viem/commit/cc15e56ae47e03d2ec8fe9b0e443b4e52b7c350a"><code>cc15e56ae47e03d2ec8fe9b0e443b4e52b7c350a</code></a> Thanks <a href="https://github.com/deodad"><code>@deodad</code></a>! - Fixed access key metadata reads incorrectly using the client account.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/wevm/viem/commit/1b6a8880005a41fc3fd410d6a8f9ab9e6749f452"><code>1b6a888</code></a> chore: version package (<a href="https://redirect.github.com/wevm/viem/issues/4719">#4719</a>)</li> <li><a href="https://github.com/wevm/viem/commit/78a9a60fec8784af779823904cdae21875cdbb56"><code>78a9a60</code></a> chore: version package (<a href="https://redirect.github.com/wevm/viem/issues/4707">#4707</a>)</li> <li><a href="https://github.com/wevm/viem/commit/5fe74ca53beb8e9d26023ea226b403d8d37f2507"><code>5fe74ca</code></a> docs(tempo): use calls in multisig transaction examples (<a href="https://redirect.github.com/wevm/viem/issues/4716">#4716</a>)</li> <li><a href="https://github.com/wevm/viem/commit/1969c01715736de8a16b841cfed81640f0d708c2"><code>1969c01</code></a> feat(chains): set t5 hardfork on Tempo Testnet (Moderato) (<a href="https://redirect.github.com/wevm/viem/issues/4718">#4718</a>)</li> <li><a href="https://github.com/wevm/viem/commit/394f1c5cf3f895ff35cfc0bf7372033df2dbbbee"><code>394f1c5</code></a> chore: bump chains size-limit budgets (<a href="https://redirect.github.com/wevm/viem/issues/4717">#4717</a>)</li> <li><a href="https://github.com/wevm/viem/commit/51c51ba763e37aa166aa11789db4b968e17707f0"><code>51c51ba</code></a> Update multisig account support in viem/tempo</li> <li><a href="https://github.com/wevm/viem/commit/a74b05d6e6a4c74ce74990469804858a77af612e"><code>a74b05d</code></a> chore: bump vitest to fix audit vulnerability (<a href="https://redirect.github.com/wevm/viem/issues/4715">#4715</a>)</li> <li><a href="https://github.com/wevm/viem/commit/f5ae20d741cad7a6a368266890bc2b62a8a3f48e"><code>f5ae20d</code></a> feat(tempo): infer multisig config from account in prepareTransactionRequest ...</li> <li><a href="https://github.com/wevm/viem/commit/25c2d6ac46ba293c830d7593cd2e71a772e6b960"><code>25c2d6a</code></a> feat(tempo): add native multisig account support (<a href="https://redirect.github.com/wevm/viem/issues/4710">#4710</a>)</li> <li><a href="https://github.com/wevm/viem/commit/cee9b68daccd6e1995f6f304c7002e10b534b0b0"><code>cee9b68</code></a> chore: bump <code>vocs</code> to 2.0.11 (<a href="https://redirect.github.com/wevm/viem/issues/4708">#4708</a>)</li> <li>Additional commits viewable in <a href="https://github.com/wevm/viem/compare/viem@2.51.2...viem@2.52.2">compare view</a></li> </ul> </details> <br /> Updates `@ethereumjs/blockchain` from 10.1.1 to 10.1.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ethereumjs/ethereumjs-monorepo/releases">@ethereumjs/blockchain's releases</a>.</em></p> <blockquote> <h2><code>@ethereumjs/blockchain</code> v10.1.2</h2> <h3>Release round overview</h3> <p>Welcome to <strong><code>10.1.2</code></strong> — a coordinated release across all active <code>@ethereumjs/*</code> libraries on the <strong><code>10.1.x</code></strong> line. If you have been following the upcoming Amsterdam hardfork, this is our <strong>first experimental preview</strong> ready to try out: a largely complete <strong>nine-EIP <code>Hardfork.Amsterdam</code> bundle</strong>, currently aligned with <a href="https://github.com/ethereum/execution-specs/releases/tag/tests-bal@v7.1.0">tests-bal@v7.1.0</a> and <a href="https://notes.ethereum.org/@ethpandaops/bal-devnet-7">BAL devnet-7</a>.</p> <p>Amsterdam is still in flux — <strong>please do not use this in production yet</strong> — and we expect further <strong><code>10.1.x</code></strong> releases as the spec and official tests evolve. The sections below cover <strong>this package only</strong>; for the full fork picture (EIP list, examples, release ↔ spec tracking), see the <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm#amsterdam-hardfork-experimental">@ethereumjs/vm Amsterdam overview</a>. On Osaka or earlier hardforks? Nothing changes unless you explicitly select <code>Hardfork.Amsterdam</code>.</p> <h3><code>@ethereumjs/blockchain</code></h3> <p><code>@ethereumjs/blockchain</code> implements a minimal chain backend (block insertion, validation hooks, reorg handling) on top of <code>@ethereumjs/block</code> and <code>@ethereumjs/mpt</code>. It is not on the hot path for Amsterdam EST testing — most integrators exercise Amsterdam via <code>@ethereumjs/vm</code> directly — but within the <code>10.1.2</code> round this package stays aligned with the dependency set so full-stack setups do not hit version skew. No package-specific API or consensus changes.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/3adf102baf8991f82feda860e0d3a3ec644d0802"><code>3adf102</code></a> Small Post Release Updates (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4312">#4312</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/5498b0a7dc87440a4b9884a7b24215ea2708b15d"><code>5498b0a</code></a> New v10.1.2 Releases (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4311">#4311</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/01439b355b575601be278972ba0aceec4d066780"><code>01439b3</code></a> deps: override tmp to ^0.2.6 to fix path-traversal advisory (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4310">#4310</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/f4556b0ea1f4675c121422cf98b9064a1ab9acda"><code>f4556b0</code></a> deps: fix dependabot security alerts + dep-related cleanups (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4309">#4309</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/082900273c4106494961a52b75a9b23ca1b88333"><code>0829002</code></a> Amsterdam-Related Docs (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4308">#4308</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/c17e66891742e54c53a75dd3e674320ea288c238"><code>c17e668</code></a> vm: fix EIP-7778 / EIP-8037 fixture regressions (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4307">#4307</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/9add6bb744df1aaf9df94660def1c22c9d7c79f2"><code>9add6bb</code></a> vm: EIP-7976 floor-gas test fixes (broaden exception regex) (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4305">#4305</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/baa83fe933f5a264d5fdc6fc86aa75a67023cd15"><code>baa83fe</code></a> mpt: awasm noble keccak | Benchmark comparison (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4278">#4278</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/6093985d7635c786bc92c31b6a0fd202d2483536"><code>6093985</code></a> Final BAL Fixes (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4306">#4306</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/cc0c17d74d2b6742a14bfb30fbcb1c054437a5fe"><code>cc0c17d</code></a> BAL gas ordering fixes + EVM BAL gas logic refactor (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4304">#4304</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ethereumjs/ethereumjs-monorepo/compare/@ethereumjs/blockchain@10.1.1...@ethereumjs/blockchain@10.1.2">compare view</a></li> </ul> </details> <br /> Updates `@ethereumjs/common` from 10.1.1 to 10.1.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ethereumjs/ethereumjs-monorepo/releases">@ethereumjs/common's releases</a>.</em></p> <blockquote> <h2><code>@ethereumjs/common</code> v10.1.2</h2> <h3>Release round overview</h3> <p>Welcome to <strong><code>10.1.2</code></strong> — a coordinated release across all active <code>@ethereumjs/*</code> libraries on the <strong><code>10.1.x</code></strong> line. If you have been following the upcoming Amsterdam hardfork, this is our <strong>first experimental preview</strong> ready to try out: a largely complete <strong>nine-EIP <code>Hardfork.Amsterdam</code> bundle</strong>, currently aligned with <a href="https://github.com/ethereum/execution-specs/releases/tag/tests-bal@v7.1.0">tests-bal@v7.1.0</a> and <a href="https://notes.ethereum.org/@ethpandaops/bal-devnet-7">BAL devnet-7</a>.</p> <p>Amsterdam is still in flux — <strong>please do not use this in production yet</strong> — and we expect further <strong><code>10.1.x</code></strong> releases as the spec and official tests evolve. The sections below cover <strong>this package only</strong>; for the full fork picture (EIP list, examples, release ↔ spec tracking), see the <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm#amsterdam-hardfork-experimental">@ethereumjs/vm Amsterdam overview</a>. On Osaka or earlier hardforks? Nothing changes unless you explicitly select <code>Hardfork.Amsterdam</code>.</p> <h3><code>@ethereumjs/common</code></h3> <p><code>@ethereumjs/common</code> is the fork and parameter engine: it answers “which EIPs are active?”, “what is <code>maxCodeSize</code>?”, and “what gas schedule applies?” for every other library. Within the <code>10.1.2</code> round, Amsterdam lands here as a new <strong><code>Hardfork.Amsterdam</code></strong> entry that activates the full nine-EIP bundle together — the same bundling execution-spec-tests and devnets use, so you should not cherry-pick individual Amsterdam EIPs in isolation when reproducing fixtures.</p> <p>For integrators, the practical effect is a single switch: construct your <code>Common</code> with <code>hardfork: Hardfork.Amsterdam</code> and all downstream packages (<code>@ethereumjs/evm</code>, <code>@ethereumjs/vm</code>, <code>@ethereumjs/tx</code>, …) inherit consistent activation and parameter values.</p> <h3>At a glance</h3> <ul> <li>Add experimental <strong><code>Hardfork.Amsterdam</code></strong> with EIPs 7708, 7843, 7778, 7928, 7954, 7976, 7981, 8024, and 8037.</li> <li>Updated <code>gasPrices</code>, <code>gasConfig</code>, and <code>vm</code> parameters for Amsterdam (7954 size limits, 7976/7981 floor pricing constants, 8037 state-gas dimensions, …).</li> </ul> <h3>Amsterdam (experimental)</h3> <blockquote> <p>Behaviour may change in subsequent <code>10.1.x</code> patch releases. <strong>Spec snapshot:</strong> <a href="https://github.com/ethereum/execution-specs/releases/tag/tests-bal@v7.1.0">tests-bal@v7.1.0</a> · <strong>Testnet:</strong> <a href="https://notes.ethereum.org/@ethpandaops/bal-devnet-7">BAL devnet-7</a> Execution details: <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm#amsterdam-hardfork-experimental">Amsterdam hardfork (experimental)</a></p> </blockquote> <pre lang="ts"><code>import { Common, Hardfork, Mainnet } from '@ethereumjs/common' <p>const common = new Common({ chain: Mainnet, hardfork: Hardfork.Amsterdam })</p> <p>// Amsterdam raises max code / initcode size (EIP-7954)<br /> common.param('maxCodeSize') // 51200 (vs 24576 pre-Amsterdam)</p> <p>// EIP active checks drive behaviour in EVM, VM, Tx, Block<br /> common.isActivatedEIP(7928) // true — BAL accumulation in VM/EVM<br /> common.isActivatedEIP(8037) // true — two-dimensional block gas<br /> </code></pre></p> <p>The <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/common#supported-eips">Supported EIPs</a> section lists every Amsterdam EIP with links to the package that implements execution semantics.</p> <h3>Changes</h3> <ul> <li>Amsterdam hardfork definition and EIP activations, see PR <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4239">#4239</a>, <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4248">#4248</a>, <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4280">#4280</a>, <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4282">#4282</a>, <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4285">#4285</a>, <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4299">#4299</a></li> <li>Supported EIP list and Amsterdam documentation cross-links, see PR <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4308">#4308</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/3adf102baf8991f82feda860e0d3a3ec644d0802"><code>3adf102</code></a> Small Post Release Updates (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4312">#4312</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/5498b0a7dc87440a4b9884a7b24215ea2708b15d"><code>5498b0a</code></a> New v10.1.2 Releases (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4311">#4311</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/01439b355b575601be278972ba0aceec4d066780"><code>01439b3</code></a> deps: override tmp to ^0.2.6 to fix path-traversal advisory (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4310">#4310</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/f4556b0ea1f4675c121422cf98b9064a1ab9acda"><code>f4556b0</code></a> deps: fix dependabot security alerts + dep-related cleanups (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4309">#4309</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/082900273c4106494961a52b75a9b23ca1b88333"><code>0829002</code></a> Amsterdam-Related Docs (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4308">#4308</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/c17e66891742e54c53a75dd3e674320ea288c238"><code>c17e668</code></a> vm: fix EIP-7778 / EIP-8037 fixture regressions (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4307">#4307</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/9add6bb744df1aaf9df94660def1c22c9d7c79f2"><code>9add6bb</code></a> vm: EIP-7976 floor-gas test fixes (broaden exception regex) (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4305">#4305</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/baa83fe933f5a264d5fdc6fc86aa75a67023cd15"><code>baa83fe</code></a> mpt: awasm noble keccak | Benchmark comparison (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4278">#4278</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/6093985d7635c786bc92c31b6a0fd202d2483536"><code>6093985</code></a> Final BAL Fixes (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4306">#4306</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/cc0c17d74d2b6742a14bfb30fbcb1c054437a5fe"><code>cc0c17d</code></a> BAL gas ordering fixes + EVM BAL gas logic refactor (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4304">#4304</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ethereumjs/ethereumjs-monorepo/compare/@ethereumjs/common@10.1.1...@ethereumjs/common@10.1.2">compare view</a></li> </ul> </details> <br /> Updates `@ethereumjs/evm` from 10.1.1 to 10.1.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ethereumjs/ethereumjs-monorepo/releases">@ethereumjs/evm's releases</a>.</em></p> <blockquote> <h2><code>@ethereumjs/evm</code> v10.1.2</h2> <h3>Release round overview</h3> <p>Welcome to <strong><code>10.1.2</code></strong> — a coordinated release across all active <code>@ethereumjs/*</code> libraries on the <strong><code>10.1.x</code></strong> line. If you have been following the upcoming Amsterdam hardfork, this is our <strong>first experimental preview</strong> ready to try out: a largely complete <strong>nine-EIP <code>Hardfork.Amsterdam</code> bundle</strong>, currently aligned with <a href="https://github.com/ethereum/execution-specs/releases/tag/tests-bal@v7.1.0">tests-bal@v7.1.0</a> and <a href="https://notes.ethereum.org/@ethpandaops/bal-devnet-7">BAL devnet-7</a>.</p> <p>Amsterdam is still in flux — <strong>please do not use this in production yet</strong> — and we expect further <strong><code>10.1.x</code></strong> releases as the spec and official tests evolve. The sections below cover <strong>this package only</strong>; for the full fork picture (EIP list, examples, release ↔ spec tracking), see the <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm#amsterdam-hardfork-experimental">@ethereumjs/vm Amsterdam overview</a>. On Osaka or earlier hardforks? Nothing changes unless you explicitly select <code>Hardfork.Amsterdam</code>.</p> <h3><code>@ethereumjs/evm</code></h3> <p><code>@ethereumjs/evm</code> is the low-level EVM interpreter: opcodes, precompiles, gas metering, and message-call semantics. Within the <code>10.1.2</code> round, Amsterdam changes land here first — new instructions, revised size limits, state-gas accounting inside the interpreter, and BAL footprint recording on <code>evm.blockLevelAccessList</code>. The VM wraps these details into <code>runBlock()</code> / <code>runTx()</code>; use the EVM directly when building tracers, custom runners, or <code>runCall()</code>-style tools.</p> <h3>At a glance</h3> <ul> <li><strong>EIP-8024</strong> stack opcodes <code>DUPN</code>, <code>SWAPN</code>, <code>EXCHANGE</code> with immediate validation at decode time.</li> <li><strong>EIP-7954</strong> raised max contract code and initcode size (via <code>common.param('maxCodeSize')</code>).</li> <li><strong>EIP-8037</strong> state-gas reservoir on the EVM instance — state-touching ops draw from <code>evm.stateGasReservoir</code> before spilling into regular gas.</li> <li><strong>EIP-7708</strong> synthetic <code>Transfer</code> / <code>Burn</code> logs on value-moving paths; <strong>EIP-7843</strong> <code>SLOTNUM</code> opcode.</li> <li><strong>EIP-7928</strong> automatic state-access recording on <code>evm.blockLevelAccessList</code> when active.</li> <li>Custom precompile API improvements (<code>PrefixedHexString</code>, <code>getPrecompile</code>, exported types), see PR <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4261">#4261</a>.</li> </ul> <h3>Amsterdam (experimental)</h3> <blockquote> <p>Behaviour may change in subsequent <code>10.1.x</code> patch releases. <strong>Spec snapshot:</strong> <a href="https://github.com/ethereum/execution-specs/releases/tag/tests-bal@v7.1.0">tests-bal@v7.1.0</a> · <strong>Testnet:</strong> <a href="https://notes.ethereum.org/@ethpandaops/bal-devnet-7">BAL devnet-7</a> Fork overview: <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm#amsterdam-hardfork-experimental">Amsterdam hardfork (experimental)</a></p> </blockquote> <p><strong>EIP-8024</strong> adds three stack-manipulation opcodes, each with a single-byte immediate (validated at decode — invalid immediates trap):</p> <pre lang="ts"><code>import { EVM } from '@ethereumjs/evm' import { Common, Hardfork, Mainnet } from '@ethereumjs/common' <p>const common = new Common({ chain: Mainnet, hardfork: Hardfork.Amsterdam })<br /> const evm = await EVM.create({ common })</p> <p>// DUPN/SWAPN/EXCHANGE behave like extended DUP/SWAP variants;<br /> // gas: dupnGas / swapnGas / exchangeGas (default 3 each)<br /> </code></pre></p> <p>When <strong>EIP-7928</strong> is active, every state-touching operation appends to <code>evm.blockLevelAccessList</code> during <code>runCall()</code> / internal message execution. The VM reads this object after each transaction to build the block-level list. For BAL builder/validator flows see <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm#eip-7928-block-level-access-lists-amsterdam">@ethereumjs/vm</a>.</p> <p>Further Amsterdam notes: <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/evm#eip-8024-stack-opcodes-amsterdam">EIP-8024</a>, <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/evm#eip-7954-contract-and-initcode-size-limits-amsterdam">EIP-7954</a>, <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/evm#eip-8037-and-eip-7708-amsterdam">EIP-8037 / EIP-7708</a>.</p> <h3>Changes</h3> <ul> <li>EIP-8024 stack opcodes, see PR <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4248">#4248</a>, <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4302">#4302</a></li> <li>EIP-7954 max contract and initcode size, see PR <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4299">#4299</a></li> <li>EIP-8037 state-gas accounting and reservoir logic, see PR <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4285">#4285</a>, <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4293">#4293</a>, <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4301">#4301</a>, <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4304">#4304</a></li> <li>EIP-7708 / EIP-7843 execution changes, see PR <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4239">#4239</a>, <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4251">#4251</a>, <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4263">#4263</a>, <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4301">#4301</a></li> <li>EIP-7928 BAL accumulation during message execution, see PR <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4233">#4233</a>, <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4304">#4304</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/3adf102baf8991f82feda860e0d3a3ec644d0802"><code>3adf102</code></a> Small Post Release Updates (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4312">#4312</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/5498b0a7dc87440a4b9884a7b24215ea2708b15d"><code>5498b0a</code></a> New v10.1.2 Releases (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4311">#4311</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/01439b355b575601be278972ba0aceec4d066780"><code>01439b3</code></a> deps: override tmp to ^0.2.6 to fix path-traversal advisory (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4310">#4310</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/f4556b0ea1f4675c121422cf98b9064a1ab9acda"><code>f4556b0</code></a> deps: fix dependabot security alerts + dep-related cleanups (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4309">#4309</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/082900273c4106494961a52b75a9b23ca1b88333"><code>0829002</code></a> Amsterdam-Related Docs (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4308">#4308</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/c17e66891742e54c53a75dd3e674320ea288c238"><code>c17e668</code></a> vm: fix EIP-7778 / EIP-8037 fixture regressions (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4307">#4307</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/9add6bb744df1aaf9df94660def1c22c9d7c79f2"><code>9add6bb</code></a> vm: EIP-7976 floor-gas test fixes (broaden exception regex) (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4305">#4305</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/baa83fe933f5a264d5fdc6fc86aa75a67023cd15"><code>baa83fe</code></a> mpt: awasm noble keccak | Benchmark comparison (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4278">#4278</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/6093985d7635c786bc92c31b6a0fd202d2483536"><code>6093985</code></a> Final BAL Fixes (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4306">#4306</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/cc0c17d74d2b6742a14bfb30fbcb1c054437a5fe"><code>cc0c17d</code></a> BAL gas ordering fixes + EVM BAL gas logic refactor (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4304">#4304</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ethereumjs/ethereumjs-monorepo/compare/@ethereumjs/evm@10.1.1...@ethereumjs/evm@10.1.2">compare view</a></li> </ul> </details> <br /> Updates `@ethereumjs/statemanager` from 10.1.1 to 10.1.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ethereumjs/ethereumjs-monorepo/releases">@ethereumjs/statemanager's releases</a>.</em></p> <blockquote> <h2><code>@ethereumjs/statemanager</code> v10.1.2</h2> <h3>Release round overview</h3> <p>Welcome to <strong><code>10.1.2</code></strong> — a coordinated release across all active <code>@ethereumjs/*</code> libraries on the <strong><code>10.1.x</code></strong> line. If you have been following the upcoming Amsterdam hardfork, this is our <strong>first experimental preview</strong> ready to try out: a largely complete <strong>nine-EIP <code>Hardfork.Amsterdam</code> bundle</strong>, currently aligned with <a href="https://github.com/ethereum/execution-specs/releases/tag/tests-bal@v7.1.0">tests-bal@v7.1.0</a> and <a href="https://notes.ethereum.org/@ethpandaops/bal-devnet-7">BAL devnet-7</a>.</p> <p>Amsterdam is still in flux — <strong>please do not use this in production yet</strong> — and we expect further <strong><code>10.1.x</code></strong> releases as the spec and official tests evolve. The sections below cover <strong>this package only</strong>; for the full fork picture (EIP list, examples, release ↔ spec tracking), see the <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm#amsterdam-hardfork-experimental">@ethereumjs/vm Amsterdam overview</a>. On Osaka or earlier hardforks? Nothing changes unless you explicitly select <code>Hardfork.Amsterdam</code>.</p> <h3><code>@ethereumjs/statemanager</code></h3> <p><code>@ethereumjs/statemanager</code> is the state persistence abstraction the VM uses for account/storage reads and writes — whether backed by an in-memory trie (<code>MerkleStateManager</code>), a cached RPC view, or other implementations. Amsterdam increases how much state metadata is tracked during execution (BAL footprints, state-gas touches), but that tracking happens inside the EVM/VM; the state manager interface itself is unchanged in the <code>10.1.2</code> round. Debug logging across packages now uses <code>@ethereumjs/util</code>'s <code>isDebugEnabled()</code> internally, see PR <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4265">#4265</a>.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/3adf102baf8991f82feda860e0d3a3ec644d0802"><code>3adf102</code></a> Small Post Release Updates (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4312">#4312</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/5498b0a7dc87440a4b9884a7b24215ea2708b15d"><code>5498b0a</code></a> New v10.1.2 Releases (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4311">#4311</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/01439b355b575601be278972ba0aceec4d066780"><code>01439b3</code></a> deps: override tmp to ^0.2.6 to fix path-traversal advisory (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4310">#4310</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/f4556b0ea1f4675c121422cf98b9064a1ab9acda"><code>f4556b0</code></a> deps: fix dependabot security alerts + dep-related cleanups (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4309">#4309</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/082900273c4106494961a52b75a9b23ca1b88333"><code>0829002</code></a> Amsterdam-Related Docs (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4308">#4308</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/c17e66891742e54c53a75dd3e674320ea288c238"><code>c17e668</code></a> vm: fix EIP-7778 / EIP-8037 fixture regressions (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4307">#4307</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/9add6bb744df1aaf9df94660def1c22c9d7c79f2"><code>9add6bb</code></a> vm: EIP-7976 floor-gas test fixes (broaden exception regex) (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4305">#4305</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/baa83fe933f5a264d5fdc6fc86aa75a67023cd15"><code>baa83fe</code></a> mpt: awasm noble keccak | Benchmark comparison (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4278">#4278</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/6093985d7635c786bc92c31b6a0fd202d2483536"><code>6093985</code></a> Final BAL Fixes (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4306">#4306</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/cc0c17d74d2b6742a14bfb30fbcb1c054437a5fe"><code>cc0c17d</code></a> BAL gas ordering fixes + EVM BAL gas logic refactor (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4304">#4304</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ethereumjs/ethereumjs-monorepo/compare/@ethereumjs/statemanager@10.1.1...@ethereumjs/statemanager@10.1.2">compare view</a></li> </ul> </details> <br /> Updates `@ethereumjs/util` from 10.1.1 to 10.1.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ethereumjs/ethereumjs-monorepo/releases">@ethereumjs/util's releases</a>.</em></p> <blockquote> <h2><code>@ethereumjs/util</code> v10.1.2</h2> <h3>Release round overview</h3> <p>Welcome to <strong><code>10.1.2</code></strong> — a coordinated release across all active <code>@ethereumjs/*</code> libraries on the <strong><code>10.1.x</code></strong> line. If you have been following the upcoming Amsterdam hardfork, this is our <strong>first experimental preview</strong> ready to try out: a largely complete <strong>nine-EIP <code>Hardfork.Amsterdam</code> bundle</strong>, currently aligned with <a href="https://github.com/ethereum/execution-specs/releases/tag/tests-bal@v7.1.0">tests-bal@v7.1.0</a> and <a href="https://notes.ethereum.org/@ethpandaops/bal-devnet-7">BAL devnet-7</a>.</p> <p>Amsterdam is still in flux — <strong>please do not use this in production yet</strong> — and we expect further <strong><code>10.1.x</code></strong> releases as the spec and official tests evolve. The sections below cover <strong>this package only</strong>; for the full fork picture (EIP list, examples, release ↔ spec tracking), see the <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm#amsterdam-hardfork-experimental">@ethereumjs/vm Amsterdam overview</a>. On Osaka or earlier hardforks? Nothing changes unless you explicitly select <code>Hardfork.Amsterdam</code>.</p> <h3><code>@ethereumjs/util</code></h3> <p><code>@ethereumjs/util</code> is the shared toolbox the whole monorepo builds on — bytes, accounts, addresses, and fork-specific helpers that higher layers import rather than reimplement. Within the <code>10.1.2</code> round, the headline addition is a dedicated <strong><code>bal</code> module</strong> for working with <a href="https://eips.ethereum.org/EIPS/eip-7928">EIP-7928</a> Block Level Access Lists <em>outside</em> of live execution: parsing fixtures, validating structure, computing the header hash, and writing test tooling. The VM performs accumulation during <code>runBlock()</code>; Util gives you the portable data model and canonical encoding.</p> <p>This package also picks up two cross-environment fixes: <code>Account.isEmpty()</code> for partial accounts, and a new <code>isDebugEnabled()</code> helper used across the monorepo for safe <code>DEBUG</code> checks in browsers and Web Workers.</p> <h3>At a glance</h3> <ul> <li>New <strong><code>bal</code> module</strong>: <code>BlockLevelAccessList</code>, JSON/RLP factories, validation helpers, and <code>hash()</code> for offline BAL work.</li> <li>Fix <code>Account.isEmpty()</code> when called on partial accounts (e.g. state trie reads), see PR <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4268">#4268</a>.</li> <li>Add <code>isDebugEnabled(namespace)</code> — avoids <code>ReferenceError</code> in workers where <code>process</code> is undeclared, see PR <a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/pull/4265">#4265</a>.</li> </ul> <h3>Amsterdam (experimental)</h3> <blockquote> <p>Behaviour may change in subsequent <code>10.1.x</code> patch releases. <strong>Spec snapshot:</strong> <a href="https://github.com/ethereum/execution-specs/releases/tag/tests-bal@v7.1.0">tests-bal@v7.1.0</a> · <strong>Testnet:</strong> <a href="https://notes.ethereum.org/@ethpandaops/bal-devnet-7">BAL devnet-7</a> Fork overview: <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm#amsterdam-hardfork-experimental">Amsterdam hardfork (experimental)</a></p> </blockquote> <p>Typical Util workflow: ingest a BAL JSON fixture (from a test vector or RPC payload), validate structure and gas-limit footprint, and verify the hash against an expected <code>blockAccessListHash</code>. Example from <code>packages/util/examples/bal.ts</code>:</p> <pre lang="ts"><code>import { bytesToHex, createBlockLevelAccessListFromJSON, validateBlockAccessListHashFromJSON, validateBlockAccessListStructure, } from '@ethereumjs/util' <p>const balJson = [ { address: '0x0000000000000000000000000000000000000001', storageChanges: [], storageReads: [], balanceChanges: [{ blockAccessIndex: '0x01', postBalance: '0x03e8' }], nonceChanges: [], codeChanges: [], }, ]</p> <p>const bal = createBlockLevelAccessListFromJSON(balJson) validateBlockAccessListStructure(bal) validateBlockAccessListHashFromJSON(balJson, bal.hash())</p> <p></tr></table> </code></pre></p> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/3adf102baf8991f82feda860e0d3a3ec644d0802"><code>3adf102</code></a> Small Post Release Updates (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4312">#4312</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/5498b0a7dc87440a4b9884a7b24215ea2708b15d"><code>5498b0a</code></a> New v10.1.2 Releases (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4311">#4311</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/01439b355b575601be278972ba0aceec4d066780"><code>01439b3</code></a> deps: override tmp to ^0.2.6 to fix path-traversal advisory (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4310">#4310</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/f4556b0ea1f4675c121422cf98b9064a1ab9acda"><code>f4556b0</code></a> deps: fix dependabot security alerts + dep-related cleanups (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4309">#4309</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/082900273c4106494961a52b75a9b23ca1b88333"><code>0829002</code></a> Amsterdam-Related Docs (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4308">#4308</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/c17e66891742e54c53a75dd3e674320ea288c238"><code>c17e668</code></a> vm: fix EIP-7778 / EIP-8037 fixture regressions (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4307">#4307</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/9add6bb744df1aaf9df94660def1c22c9d7c79f2"><code>9add6bb</code></a> vm: EIP-7976 floor-gas test fixes (broaden exception regex) (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4305">#4305</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/baa83fe933f5a264d5fdc6fc86aa75a67023cd15"><code>baa83fe</code></a> mpt: awasm noble keccak | Benchmark comparison (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4278">#4278</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/6093985d7635c786bc92c31b6a0fd202d2483536"><code>6093985</code></a> Final BAL Fixes (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4306">#4306</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/cc0c17d74d2b6742a14bfb30fbcb1c054437a5fe"><code>cc0c17d</code></a> BAL gas ordering fixes + EVM BAL gas logic refactor (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4304">#4304</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ethereumjs/ethereumjs-monorepo/compare/@ethereumjs/util@10.1.1...@ethereumjs/util@10.1.2">compare view</a></li> </ul> </details> <br /> Updates `@ethereumjs/vm` from 10.1.1 to 10.1.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ethereumjs/ethereumjs-monorepo/releases">@ethereumjs/vm's releases</a>.</em></p> <blockquote> <h2><code>@ethereumjs/vm</code> v10.1.2</h2> <h3>Release round overview</h3> <p>Welcome to <strong><code>10.1.2</code></strong> — a coordinated release across all active <code>@ethereumjs/*</code> libraries on the <strong><code>10.1.x</code></strong> line. If you have been following the upcoming Amsterdam hardfork, this is our <strong>first experimental preview</strong> ready to try out: a largely complete <strong>nine-EIP <code>Hardfork.Amsterdam</code> bundle</strong>, currently aligned with <a href="https://github.com/ethereum/execution-specs/releases/tag/tests-bal@v7.1.0">tests-bal@v7.1.0</a> and <a href="https://notes.ethereum.org/@ethpandaops/bal-devnet-7">BAL devnet-7</a>.</p> <p>Amsterdam is still in flux — <strong>please do not use this in production yet</strong> — and we expect further <strong><code>10.1.x</code></strong> releases as the spec and official tests evolve. The sections below cover <strong>this package only</strong>; for the full fork picture (EIP list, examples, release ↔ spec tracking), see the <a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm#amsterdam-hardfork-experimental">@ethereumjs/vm Amsterdam overview</a>. On Osaka or earlier hardforks? Nothing changes unless you explicitly select <code>Hardfork.Amsterdam</code>.</p> <h3><code>@ethereumjs/vm</code></h3> <p><code>@ethereumjs/vm</code> is the block-and-transaction execution orchestrator: it wires state, the EVM, consensus checks, and receipts into the high-level APIs most integrators call (<code>runBlock()</code>, <code>runTx()</code>, <code>createVM()</code>). Within the <code>10.1.2</code> round, this package carries the bulk of Amsterdam execution logic — BAL builder/validator flows, two-dimensional block gas, and receipt-level fork behaviour — along with spec-alignment fixes and an internal <code>runTx()</code> refactor since <code>10.1.1</code>.</p> <h3>At a glance</h3> <ul> <li>End-to-end <strong>Amsterdam</strong> block execution on <code>Hardfork.Amsterdam</code>: nine EIPs active together, matching how execution-spec-tests and devnets exercise the fork.</li> <li><strong>EIP-7928</strong> Block Level Access Lists (BAL): generate during <code>runBlock({ generate: true })</code>, validate with <code>RunBlockOpts.blockAccessList</code>, read back via <code>RunBlockResult.blockLevelAccessList</code>.</li> <li><strong>EIP-8037 / EIP-7778</strong> two-dimensional block gas and refund-aware header accounting — surfaced on <code>RunTxResult</code> without extra VM flags.</li> <li>Passes the v700 mixed EST slice for <a href="https://github.com/ethereum/execution-specs/releases/tag/tests-bal@v7.1.0">tests-bal@v7.1.0</a>.</li> </ul> <h3>Amsterdam (experimental)</h3> <blockquote> <p><strong>Do not use in production.</strong> Spec alignment and public APIs may change in subsequent <code>10.1.x</code> patch releases.</p> </blockquote> <table> <thead> <tr> <th></th> <th></th> </tr> </thead> <tbody> <tr> <td><strong>Spec snapshot</strong></td> <td><a href="https://github.com/ethereum/execution-specs/releases/tag/tests-bal@v7.1.0">tests-bal@v7.1.0</a></td> </tr> <tr> <td><strong>Testnet</strong></td> <td><a href="https://notes.ethereum.org/@ethpandaops/bal-devnet-7">BAL devnet-7</a></td> </tr> <tr> <td><strong>Full overview</strong></td> <td><a href="https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm#amsterdam-hardfork-experimental">Amsterdam hardfork (experimental)</a></td> </tr> </tbody> </table> <p>When EIP-7928 is active the VM accumulates state accesses automatically during execution — no separate opt-in flag. For <strong>block building</strong>, run the block with <code>generate: true</code> and read the BAL from the result; the <code>afterBlock</code> event delivers a block whose header already carries the matching <code>blockAccessListHash</code>. For <strong>validation</strong>, pass a known BAL (JSON, RLP, or <code>BlockLevelAccessList</code>) via <code>blockAccessList</code>; the VM checks structure and hash before execution and compares against the list produced afterward.</p> <p>Full walkthrough: <code>packages/vm/examples/runBlockBalGenerate.ts</code> and <code>runBlockBalValidate.ts</code>. The validator example below shows the round-trip pattern:</p> <pre lang="ts"><code>import { createBlock } from '@ethereumjs/block' import { Common, Hardfork, Mainnet } from '@ethereumjs/common' import { createLegacyTx } from '@ethereumjs/tx' import { Account, createAddressFromPrivateKey, createZeroAddress, hexToBytes } from '@ethereumjs/util' import { createVM, runBlock } from '@ethereumjs/vm' <p>const common = new Common({ chain: Mainnet, hardfork: Hardfork.Amsterdam })<br /> const vm = await createVM({ common })<br /> // … fund sender, build block …</p> <p>const generated = await runBlock(vm, { block, generate: true, skipBlockValidation: true })<br /> const balJson = generated.blockLevelAccessList!.toJSON()</p> <p>// Validator node: replay with the provided BAL<br /> await runBlock(vm2, { block: sealedBlock, blockAccessList: balJson, skipBlockValidation: true })<br /> </code></pre></p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/3adf102baf8991f82feda860e0d3a3ec644d0802"><code>3adf102</code></a> Small Post Release Updates (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4312">#4312</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/5498b0a7dc87440a4b9884a7b24215ea2708b15d"><code>5498b0a</code></a> New v10.1.2 Releases (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4311">#4311</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/01439b355b575601be278972ba0aceec4d066780"><code>01439b3</code></a> deps: override tmp to ^0.2.6 to fix path-traversal advisory (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4310">#4310</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/f4556b0ea1f4675c121422cf98b9064a1ab9acda"><code>f4556b0</code></a> deps: fix dependabot security alerts + dep-related cleanups (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4309">#4309</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/082900273c4106494961a52b75a9b23ca1b88333"><code>0829002</code></a> Amsterdam-Related Docs (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4308">#4308</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/c17e66891742e54c53a75dd3e674320ea288c238"><code>c17e668</code></a> vm: fix EIP-7778 / EIP-8037 fixture regressions (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4307">#4307</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/9add6bb744df1aaf9df94660def1c22c9d7c79f2"><code>9add6bb</code></a> vm: EIP-7976 floor-gas test fixes (broaden exception regex) (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4305">#4305</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/baa83fe933f5a264d5fdc6fc86aa75a67023cd15"><code>baa83fe</code></a> mpt: awasm noble keccak | Benchmark comparison (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4278">#4278</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/6093985d7635c786bc92c31b6a0fd202d2483536"><code>6093985</code></a> Final BAL Fixes (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4306">#4306</a>)</li> <li><a href="https://github.com/ethereumjs/ethereumjs-monorepo/commit/cc0c17d74d2b6742a14bfb30fbcb1c054437a5fe"><code>cc0c17d</code></a> BAL gas ordering fixes + EVM BAL gas logic refactor (<a href="https://redirect.github.com/ethereumjs/ethereumjs-monorepo/issues/4304">#4304</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ethereumjs/ethereumjs-monorepo/compare/@ethereumjs/vm@10.1.1...@ethereumjs/vm@10.1.2">compare view</a></li> </ul> </details> <br /> Updates `@types/node` from 25.9.1 to 25.9.3 <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.60.0 to 8.61.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.61.0</h2> <h2>8.61.0 (2026-06-08)</h2> <h3>🚀 Features</h3> <ul> <li><strong>ast-spec:</strong> change type of <code>UnaryExpression.prefix</code> to always <code>true</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12372">#12372</a>)</li> <li><strong>ast-spec:</strong> tighten types of <code>ArrowFunction</code>, <code>YieldExpression</code>, <code>TSTypePredicate</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12373">#12373</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>rule-schema-to-typescript-types:</strong> respect ECMAScript line terminators (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12374">#12374</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <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.61.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.60.1</h2> <h2>8.60.1 (2026-06-01)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> respect ECMAScript line terminators in ts-comment rules (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352">#12352</a>)</li> <li><strong>eslint-plugin:</strong> [no-shadow] correct rule to match ESLint v10 handling (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182">#12182</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>lumir</li> <li>Nevette Bailey <a href="https://github.com/nevette-bailey"><code>@nevette-bailey</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.1">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.61.0 (2026-06-08)</h2> <h3>🚀 Features</h3> <ul> <li><strong>ast-spec:</strong> change type of <code>UnaryExpression.prefix</code> to always <code>true</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12372">#12372</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Kirk Waiblinger <a href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.61.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.60.1 (2026-06-01)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-shadow] correct rule to match ESLint v10 handling (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182">#12182</a>)</li> <li><strong>eslint-plugin:</strong> respect ECMAScript line terminators in ts-comment rules (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352">#12352</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>lumir</li> <li>Nevette Bailey <a href="https://github.com/nevette-bailey"><code>@nevette-bailey</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.1">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/16a5b247affc32af21b695cf96dfd75d7ded50a3"><code>16a5b24</code></a> chore(release): publish 8.61.0</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/ef1fd28c68b10da2e5b56823da8491f10f2c2b97"><code>ef1fd28</code></a> feat(ast-spec): change type of <code>UnaryExpression.prefix</code> to always <code>true</code> (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12">#12</a>...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/4f84a697aedc436559c3ae09b5b357d98b448d68"><code>4f84a69</code></a> chore(release): publish 8.60.1</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/598af564db50593277ba46c7fdea3648e4425391"><code>598af56</code></a> docs(eslint-plugin): clarify no-redeclare type-value collision not covered by...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964"><code>1849b53</code></a> chore: typecheck using tsgo (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12139">#12139</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/5341d59dd3c21fc4e2bf3bce55cf35d8f84e5216"><code>5341d59</code></a> chore: fix lint issues (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12369">#12369</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/f525814f01766487ab34a54d56de20ea5c4fb576"><code>f525814</code></a> fix(eslint-plugin): [no-shadow] correct rule to match ESLint v10 handling (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/1">#1</a>...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/2df540cd8bbeb3e2c56d516912f69bf63c1e9450"><code>2df540c</code></a> chore(eslint-plugin): defer type checks to improve rules performance (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12296">#12296</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/1ab4284789b36cf482a4d9924719162a02d54243"><code>1ab4284</code></a> fix(eslint-plugin): respect ECMAScript line terminators in ts-comment rules (...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/2f49df599b2db5f2937caf975d3c63e5cdeb0ea1"><code>2f49df5</code></a> docs: update references to <code>@stylistic/eslint-plugin</code> rules in documentation ...</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.61.0/packages/eslint-plugin">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/parser` from 8.60.0 to 8.61.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.61.0</h2> <h2>8.61.0 (2026-06-08)</h2> <h3>🚀 Features</h3> <ul> <li><strong>ast-spec:</strong> change type of <code>UnaryExpression.prefix</code> to always <code>true</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12372">#12372</a>)</li> <li><strong>ast-spec:</strong> tighten types of <code>ArrowFunction</code>, <code>YieldExpression</code>, <code>TSTypePredicate</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12373">#12373</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>rule-schema-to-typescript-types:</strong> respect ECMAScript line terminators (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12374">#12374</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <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.61.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.60.1</h2> <h2>8.60.1 (2026-06-01)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> respect ECMAScript line terminators in ts-comment rules (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12352">#12352</a>)</li> <li><strong>eslint-plugin:</strong> [no-shadow] correct rule to match ESLint v10 handling (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12182">#12182</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>lumir</li> <li>Nevette Bailey <a href="https://github.com/nevette-bailey"><code>@nevette-bailey</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.60.1">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.61.0 (2026-06-08)</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.61.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.60.1 (2026-06-01)</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.1">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/16a5b247affc32af21b695cf96dfd75d7ded50a3"><code>16a5b24</code></a> chore(release): publish 8.61.0</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/4f84a697aedc436559c3ae09b5b357d98b448d68"><code>4f84a69</code></a> chore(release): publish 8.60.1</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/1849b530c254fb4f89d7270160f3a998e4acd964"><code>1849b53</code></a> chore: typecheck using tsgo (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12139">#12139</a>)</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.61.0/packages/parser">compare view</a></li> </ul> </details> <br /> Updates `eslint` from 10.4.0 to 10.5.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.5.0</h2> <h2>Features</h2> <ul> <li><a href="https://github.com/eslint/eslint/commit/5ca8c5278edea1fd84d3ba83d8ea3f52fb3831ad"><code>5ca8c52</code></a> feat: correct stack tracking in max-nested-callbacks (<a href="https://redirect.github.com/eslint/eslint/issues/20973">#20973</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/b5657837604fa5e8cf1278074782025cadd34b6c"><code>b565783</code></a> feat: report no-with violations at the with keyword (<a href="https://redirect.github.com/eslint/eslint/issues/20971">#20971</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/2ce032fbc72a1a80c024c084a4f382fb6dece684"><code>2ce032f</code></a> feat: report max-lines-per-function violations at function head (<a href="https://redirect.github.com/eslint/eslint/issues/20966">#20966</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/732cb3e09d5b8b809b5f461d118a5d9fdcd6427f"><code>732cb3e</code></a> feat: report max-nested-callbacks violations at function head (<a href="https://redirect.github.com/eslint/eslint/issues/20967">#20967</a>) (Pixel998)</li> <li><a href="https://github.com/eslint/eslint/commit/f9c138a0ba7d8e37aed39aef4a3ff1cae8c669f7"><code>f9c138…
Bump npm package versions (sdk/ts, sdk/ts-compat, sdk/mcp), MCP server.json, and Helm chart appVersions (nitronode, playground, faucet-app) to 1.4.0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
|
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release v1.4.0
Highlights
docs/api.yaml) trimmed.Versioning note
Minor bump (1.3.1 → 1.4.0). Note: removal of app-registry/staking/rebalance + RPC methods is a breaking change for downstream consumers — flagged here rather than a major bump per 1.x cadence.
MCP
mcp-v1.4.0tag intentionally NOT pushed this release.@yellow-org/sdk-mcppublished manually (npm + MCP registry), alongside manual@yellow-org/sdk+@yellow-org/sdk-compatpublishes.