Reth v2.10.0
- Version
v2.10.0- Repository
- paradigmxyz/reth
Release notes
Summary
Reth v2.10.0 is a hardening release. It fixes an engine panic after a reorg below the persisted tip, bounds eth_callBundle work, and stops reth download from deleting files outside the datadir. It also brings several RPC correctness fixes and P2P interop fixes. db repair-trie now verifies storage in parallel, and --tracing-otlp can write spans straight to a local file.
SDK users: the commit-condition callback on BlockExecutor and BlockBuilder now also receives the transaction's state changes (see Breaking Changes).
Backwards Compatibility
Important
v2.10.0 can be downgraded to v2.9.0.
Update Priority
User Class
Priority
Payload Builders
High
Non-Payload Builders
High
Breaking Changes
SDK
• The commit-condition callback on BlockExecutor and BlockBuilder now also receives evm2::TxStateChanges, so payload builders can decide whether to keep a transaction based on its state changes as well as its result (#28207)
Features
Performance
• db repair-trie verifies storage in parallel, with new --storage-workers (default: available CPUs) and --storage-lookahead (default: 1024) flags. A dry run now requires the node to be stopped (#28078)
CLI
• --tracing-otlp accepts file:///absolute/path and writes OTLP spans to a local file, with no collector needed (#28215)
Bug Fixes
Engine & Trie
• Fixed an engine-thread panic when building an invalid-block witness after a reorg below the persisted tip (#28249)
• Fixed the trie iterator's seek decision at cached branch boundaries (#28264)
• Payload tasks keep their parent tracing spans (#28221)
• Detached trie and overlay tasks keep their parent tracing spans (#28259)
RPC
• eth_callBundle now takes a blocking-IO permit, stops when the client disconnects, and shares one gas limit across the bundle (#28253)
• Pending block builds stop when the request is cancelled (#28251)
• Empty reverts return 0x data (#28243)
• mev_simBundle reports the refundable value before payouts (#28218)
• trace_replayBlockTransactions returns an error for an unknown block (#28160)
P2P
• Extra fields in the p2p Hello message are ignored (#28180)
• Extra fields in discv4 ENRResponse are ignored (#28232)
• Trusted peer IDs are kept when their DNS lookup fails at startup (#28202)
• Known peers are promoted when they're trusted by hostname (#28199)
CLI
• reth download rejects output paths that escape the datadir and skips cleanup through symlinked parent directories (#28247)
• ERA index listing handles multibyte separators (#28222)
SDK
• The custom precompile example keeps its precompile after Prague (#28237)
Dependencies
• evm2 592bf18
• alloy-* 2.5.0
• alloy-primitives 1.6.1
Full changelog: v2.9.0...v2.10.0
Binaries
See pre-built binaries documentation.
The binaries are signed with the PGP key: 50FB 7CC5 5B2E 8AFA 59FE 03B7 AA5E D56A 7FBF 253E
Reth
System
Architecture
Binary
PGP Signature
x86_64
reth-v2.10.0-x86_64-unknown-linux-gnu.tar.gz
PGP Signature
aarch64
reth-v2.10.0-aarch64-unknown-linux-gnu.tar.gz
PGP Signature
aarch64
reth-v2.10.0-aarch64-apple-darwin.tar.gz
PGP Signature
Docker
paradigmxyz/reth
-