github paradigmxyz/reth v2.10.0
Reth v2.10.0

4 hours ago

image

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 -

Don't miss a new reth release

NewReleases is sending notifications on new releases.