Skip to content

v30.0.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 21:13
80b774a

Important

Hoodi operators must run this release before Glamsterdam activates on Hoodi at 1793036568 (2026-10-26 17:42:48 UTC). It is the first ethrex release with the fork scheduled on Hoodi; earlier releases stop following Hoodi at the fork. Pair it with a consensus client release that ships the Hoodi Gloas config. Mainnet has no Glamsterdam time scheduled.

Warning

L2: the prover and the SP1 guest move to SP1 6.9.0. SP1 6 proofs need the SP1 v6.1.0 Groth16 verifier, and an existing deployment's SP1 5 verifier rejects them whatever key is registered. Before the upgraded sequencer commits batches, let every committed batch be verified, then upgrade the OnChainProposer and replace the verifier in one Timelock call, upgradeToAndCall(newImplementation, upgradeSP1Verifier(newVerifier)), and register this release's verification key. The L2 upgrades guide has the full procedure. Aligned mode is unavailable until Aligned ships SP1 6 support, and the OpenVM L2 prover backend is removed. L1 node operators are unaffected.

Note

What's new

  • Hardening: JSON-RPC parsing is bounded in memory and the Auth-RPC token is checked before the request body is read; eth_getLogs and log filter polls are bounded in cost; serving eth/72 cells to peers is bounded in CPU; what a peer's transaction announcements can make the node track is bounded; maps keyed by contract- or block-chosen values are seeded; and MODEXP gas is charged before its operands are sized.
  • RPC: eth_getFilterChanges reports each new log once, and the receipts of blocks still held in memory are returned in full.
  • Sync: snap/2 catch-up charges peers that cannot serve block access lists, and accounts left with no storage slots get the empty storage root.
  • Performance and zkVM guests: calldata, CALL arguments and CREATE initcode are no longer copied per call, so zkVM guests stop running out of heap; finality pruning no longer piles up overlapping range deletes; and state-history journaling skips layers that are already final.
  • L2: the committer generates the prover input for batches another build sealed, so a sequencer that takes over, or batches committed again after a revert, can still be proven; and the OnChainProposer owner can replace the SP1 verifier.

No resync is needed.

Installation and running instructions can be found in our docs

✨ New Features

🐛 Bug Fixes

⚡ Performance Improvements