Reth v2.11.0

Release

Version
v2.11.0
Repository
paradigmxyz/reth

Release notes

Summary

Reth v2.11.0 is a hardening and performance release. RPC calls that can do unbounded work are now capped or cancellable (eth_callMany, trace_callMany, debug_traceCallMany, eth_getProof, mev_simBundle, eth_simulateV1), and the release brings a broad set of transaction pool, P2P and storage correctness fixes. EIP-7702 authorization recovery is parallelized, P2P skips decoding responses it never asked for, and overlay provider setup is cheaper.

SDK users: Ethereum block execution now runs on evm2::block, and reth's executor types are thin adapters over it (see Breaking Changes).

Action Required

Removed no-op CLI flags. The node now refuses to start if you still pass --engine.legacy-state-root, --engine.caching-and-prewarming, --engine.parallel-sparse-trie, --engine.disable-parallel-sparse-trie, --engine.precompile-cache or --rpc-cache.max-headers (alias --rpc-cache.max-envs). Drop them from your config (#28369)

With --instance N and no explicit --auth-ipc.path, the Engine API IPC socket is now /tmp/reth_engine_api.ipc-N. Set --auth-ipc.path if your consensus client expects the old path (#28257)

Explicit IPC socket permissions are now validated at startup, and an invalid mode is a startup error. On platforms that can't set the mode before binding (including macOS), explicit permissions fail startup (#28326)

eth_callMany, trace_callMany and debug_traceCallMany now allow at most 1,024 calls and share one --rpc.gascap budget across the request. No additional call starts more than five seconds after the first. Previously successful requests may now fail; callers should review request sizes and gas budgets (#28314)

eth_getProof now allows at most 1,024 storage keys. eth_getMultiProof allows at most 1,024 targets and 1,024 storage keys in total. Requests exceeding these limits fail with invalid params (#27716)

Backwards Compatibility

Verification pending: Database migration and resync requirements, and supported downgrade versions, must be confirmed against the final v2.11.0 release build before publication.

Update Priority

User Class

Priority

Payload Builders

High

Non-Payload Builders

High

Breaking Changes

SDK

• Ethereum block execution moved into evm2::block: BundleState, BlockState/StateUpdate, the block execution errors, GasOutput/CommitChanges and the Ethereum executor now come from evm2, and EthBlockExecutor wraps evm2::block::ethereum::EthBlockExecutor. EthApiError::MuxTracerError now holds the error message (#28238)

• MessageInput no longer dereferences to bytes. Custom precompile integrations should read inputs through Evm::message_input (#28413)

• Discovery dependencies moved to discv5 0.12, ENR 0.14 and secp256k1 0.33. Downstream integrations using public discovery/key types must update their dependency versions and key APIs (#28289)

• EnrCombinedKeyWrapper implements TryFrom<Enr<SecretKey>> instead of From, and Discv5::add_node returns Error::InvalidEnr for records the discv5 key backend rejects (#28345)

• RpcServerArgs::auth_ipc_path is now Option<String>; read the effective endpoint with auth_ipc_path() (#28257)

• schnellru caches are replaced with reth-lru (#28291)

• Removed the unused DEFAULT_HEADER_CACHE_MAX_LEN constant (#28369)

Features

Performance

• Parallelized EIP-7702 authorization recovery (#28307)

• P2P skips decoding responses that weren't requested (#28403)

• Reduced overlay provider setup and state-sharing overhead (#28373, #28333)

• The engine's balance tracker only steps on the opcodes it needs (#28334)

• Replaced schnellru with the faster reth-lru caches (#28291)

• Reduced RPC serialization and authentication overhead (#28295, #28294)

RPC

• Block transaction replay now runs through the block executor (#28266)

Transaction Pool

• Subscribers can follow events of transactions held outside the pool (#28387)

Bug Fixes

RPC

• mev_simBundle work is bounded (#28386)

• eth_simulateV1 stops once its request is dropped (#28312), checks cancellation once per simulated…

Full release on GitHub ↗

Release viem

viem@2.57.19

Patch Changes #5498 e87e3ec03457c503377648548628180881974035 Thanks @jxom! - Fixed the Tempo verifyHash hook accepting a signature of a root key that a config commitment retired, which...

Release LND

lnd v0.21.8-beta

Database Migrations There are no migrations in this release. Verifying the Release In order to verify the release, you'll need to have gpg or gpg2 installed on your system. Once...