Skip to content

Releases: paradigmxyz/reth

Reth v1.5.1

08 Jul 13:15
dbe7ee9
Compare
Choose a tag to compare

image

Reth v1.5.1 Release Notes

This is a maintenance release focusing on stability improvements and bug fixes.
This release includes a fix for historical sync issue on base mainnet, op-reth operators are advised to update their nodes.

Fixes

  • Optimized KZG settings loading to run in background (#17224)
  • Updated size metrics to calculate once instead of repeatedly (#17242)
  • Fixes an exception in the javascript custom tracer implementation (#17198)
  • Properly serialize responses from op-reth historical rpc endpoint (#17133
  • Added chain-id query parameter support for Etherscan v2 API (#17167)

New Features

  • Added minimal priority fee configuration for better transaction handling (#17183)
  • Added support for Flashbots v5 relay block validation API for Fusaka (#17179)

Compatible Dependencies

  • alloy-primitives: 1.2.0
  • alloy: 1.0.18
  • op-alloy: 0.18.7
  • revm: 27.0.2
  • op-revm: 8.0.2

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Priority
Payload Builders medium
Non-Payload Builders medium
Op-reth high

See Update Priorities for more information about this table.

All Changes

  • chore: bump 1.5.1 (#17277)
  • docs: fix correction in storage reverts iterator test comment (#17276)
  • docs(guides): Add history expiry (#17274)
  • chore(trie): add Send and Sync to SparseTrieInterface (#17270)
  • feat(trie): add parallel sparse trie to TreeConfig (#17265)
  • docs: update snapshot URL from downloads.merkle.io to snapshots.merkle.io (#17248)
  • feat: include chain-id query param for etherscan v2 API (#17167)
  • fix(trie): correctly handle path field on cleared ParallelSparseTrie lower subtries (#17259)
  • feat(test): add apply_with_import method to e2e Setup (#17263)
  • chore: bump alloy (#17275)
  • docs: fix typo basfee → basefee in txpool.mmd (#17252)
  • chore: fix typos (#17251)
  • chore: Fix typo in block number reader comment (#17250)
  • fix: dead link (#17200)
  • chore: check blob fee (#17272)
  • chore: update size metrics once (#17242)
  • fix(trie): add lower subtrie root paths to upper subtrie prefix set (#17262)
  • feat(test): spin up e2e test nodes with imported data (#17261)
  • feat(test): allow to create testing nodes with specific datadir (#17260)
  • fix(trie): track branch node updates only in ParallelSparseTrie, not subtries (#17223)
  • docs: typos (#17246)
  • docs: fix typo fileted to filtered (#17257)
  • refactor: extract import functionality to separate module (#17253)
  • fix(trie): ParallelSparseTrie::default should have an empty root node (#17256)
  • fix: correct comment in static file writer (#17254)
  • chore(deps): weekly cargo update (#17247)
  • docs: deleted extra duplicate environment.rs (#17249)
  • docs: correction comments (#17244)
  • refactor(rpc): Arc PendingBlock internals (#17240)
  • docs: Consistent Spelling for "Reuse" in Documentation (#17232)
  • fix: correct typo in ValidationApi comment (#17241)
  • feat: add v5 flashbots relay block validation api for Fusaka (#17179)
  • refactor(txpool): Remove txhash from PoolUpdate (#17239)
  • docs: fix typo mod.rs (#17233)
  • fix: logical error in pruning test for storage_history PruneMode::Full (#17235)
  • chore: add capabilities to NetworkStatus (#17236)
  • chore(doc): update exclude list for doc/cli (#17234)
  • feat(p2p): separate args for (header, body) (#17184)
  • docs: fix typo in documentation comments (#17207)
  • chore: use alloy traits for build receipt (#17211)
  • docs: fix typos across documentation (#17212)
  • Fix typo in EVM component documentation (#17227)
  • Update metrics documentation link to new official Reth docs (#17220)
  • fix: Returns Arc in BlockAndReceiptsResult (#17213)
  • chore: load kzg settings in background (#17224)
  • chore: make receipt root mismatch log more useful (#17225)
  • docs: improve NodeAddOns trait documentation (#17178)
  • chore: fix typo in documentation comment in environment.rs (#17218)
  • deps: Upgrade alloy version 1.0.16 => 1.0.17 and all other deps minor versions (#17217)
  • feat(txpool): add minimal priority fee configuration for transaction pool (#17183)
  • chore(trie): make SparseStateTrie generic with respect to trie implementation (#17205)
  • chore: make clippy happy (#17219)
  • chore: bump evm 0.14 (#17206)
  • fix: dont double serialize resp (#17204)
  • chore(test): don't use EvmInternals::new (#17188)
  • perf(trie): implement SparseTrieInterface for ParallelSparseTrie (#17192)
  • perf(trie): implement SparseTrieInterface for RevealedSparseTrie (#17191)
  • docs: fix typo in trie test comment (#17199)
  • perf(trie): sparse trie trait (#17181)
  • chore: bump inspectors (#17198)
  • feat(trie): ParallelSparseTrie: Compute lower subtrie hashes in parallel (#17173)
  • docs: typos (#17168)
  • docs: update snapshot URL from downloads.merkle.io to snapshots.merkle.io (#17190)
  • feat(trie): add ParallelSparseTrie::update_leaf (#16956)
  • Add bootnode cmd to cli runner (#17180)
  • chore: relax rpc middleware generic (#17174)
  • docs: update Grafana repository URL in monitoring documentation (#17175)
  • feat: expose chain_spec field in LocalPayloadAttributesBuilder (#17151)
  • feat: trait impl for dbmock (#17124)
  • docs: update metrics link in ethereum.mdx (#17170)
  • chore(trie): factor out SparseTrieState (#17166)
  • chore: removed link for book repo/layout.md (#17164)
  • feat: eth addons' middleware setter (#17159)
  • chore: add debug for forkid mismatch (#17157)
  • fix(trie): correct ParallelSparseTrie lower subtrie path management (#17143)
  • chore: bump revm (#17153)
  • docs: fix broken links and typos (#17149)
  • fix: use safe math for withdrawals check (#17150)
  • feat: introduce max_tx_gas_limit feature to enforce per-transaction gas limits (#17028)
  • chore: fixed dead link in docs/.../sync-op-mainnet.mdx (#17146)
  • chore: pass provider into SparseTrie and SparseStateTrie via impl argument in update/remove_leaf (#17099)
  • chore: promote trace to debug (#17144)
  • feat: remove redundant generic from EthereumEngineValidatorBuilder (#17108)
  • refactor: Replace reth recover_singer_with_buf with alloy (#17107)
  • chore: rm unused either type (#17126)
  • feat(optimism): add debug namespace endpoints to historical RPC forwarding (#17133)
  • chore: fixed broken links in opstack.mdx (#17135)
  • docs: fix spelling errors (#17139)
  • docs: update Engine API link in ethereum.mdx (#17137)
  • docs: add comprehensive documentation for LaunchContext type system (#17120)
  • docs: fix installation source URL in ARM devices guide (#17128)
  • docs: remove reference to ContextStatefulPrecompile in precompile cache example (#17130)
  • chore(deps): weekly cargo update (#17131)
  • docs: fix broken tutorial link (#17127)
  • Replace Book with Docs references (#17125)
  • feat(alloy-provider): implement fetch block (#16934)
  • docs: fix typo in section of node-components.mdx (#17105)
  • refactor: move consensus layer events to launch context (#17117)
  • refactor: move ERA import source creation to LaunchContext (#17115)
  • refactor: make get_healthy_node_client async (#17119)
  • chore: tell claude to run fmt before opening a pr (#17118)
  • refactor: move ExEx launching to LaunchContext method (#17114)
  • docs: fix error in config.rs (#17113)
  • refactor: simplify handling of NetworkPrimitives in CLI (#17112)
  • fix: track earliest available block correctly (#17095)
  • docs: fix typos across documentation (#17102)
  • feat: relax EthereumNode ChainSpec bounds (#17106)
  • feat: use Header AT in EthChainSpec::next_block_base_fee (#17101)
  • deps: Upgrade alloy and op-alloy versions 1.0.13 => 0.18.7 and 0.18.9 (#17103)
  • docs: debug clarify healtyh node rpc url setting (#17100)
  • chore: rm redundant bounds (#17104)
  • feat: Add StatelessTrie trait for reth-stateless (#17098)
  • feat: add per-address metrics for precompile cache (#17058)
  • chore(docs): move to docs from book (#17096)
  • fix: use safe conversions for number and timestamps (#17093)
  • perf(trie): implement remove_leaf for ParallelSparseTrie (#17035)
  • chore: replace revm_utils with alloy_evm helpers (#17046)
  • docs: error fixes for clarity (#17091)
  • feat: centralize EIP-1559 base fee calculation in EthChainSpec (#16927)
  • feat: punish malicious peers (#16818)
  • chore: bump version in docs (#17085)
  • feat(docs): serve rustdocs (#17084)

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-v1.5.1-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v1.5.1-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 [reth-v1.5.1-x86_64-pc-windows-gnu.tar.gz](https://github.com/paradigmxyz/reth/releases/download/v1.5.1/reth-v1.5.1-x86_64-pc-windows-gnu...
Read more

Reth v1.5.0

26 Jun 14:04
61e38f9
Compare
Choose a tag to compare

image

Summary

This release brings significant performance improvements to state root computation, resolves a problem with Base mainnet Merkle stage, and introduces opt-in ERA sync support and initial rollout of pre-merge history expiry.

The release also includes important OP Stack improvements with historical RPC forwarding for pre-Bedrock requrests and various RPC and EVM enhancements.

Additionally, we've revamped the documentation at reth.rs for better developer experience.

Highlights

Performance

This release boosts performance, achieving 15-20% faster block processing times on average.

image

  • State root computation performance improved through optimized U256 nybbles implementation (#16727)
  • Introduced incremental threshold mechanism in Merkle stage to prevent OOM issues during sync (#16178)

Pre-Merge History Expiry

This release integrates features for pre-merge history expiry.

With --prune.bodies.pre-merge pre merge transactions are now deleted on launch (it is also possible to manually delete the static files for transactions pre merge).

This behaviour is currently still opt-in but will become the default behaviour for full nodes eventually.

With pre-merge history expiry, clients are allowed to no longer serve blocks pre merge over p2p. ERA sync allows new nodes to download pre-merge history (genesis to merge block (15,537,393)) using pre-validated ERA1 archive files instead of syncing from peers. Enable it with --era.enable when starting a new node. ERA1 files are automatically downloaded from default hosts or can be provided locally with --era.path. If you're starting a new sync, please give it a try.

  • Introduced opt-in ERA sync support for pre-merge history via --era.enable flag for Sepolia and Mainnet (#16008)
  • Added reth era export command for ERA file generation (#15909)
  • Implemented pre-merge transaction file pruning to prepare for EIP-4444 history expiry (#16702)

OP Stack

  • Added --rollup.historicalrpc CLI argument for op-mainnet historical RPC pre-Bedrock forwarding (#16941)
  • Fixed missing historical RPC endpoints for Optimism pre-Bedrock (#16976)
  • Implemented median-based priority fee suggestion for Optimism (#16794)

Bug Fixes

  • Fixed Base mainnet Merkle trie OOM issues during sync (#16178)
  • Corrected beacon block root handling logic (#16767)
  • Fixed max-tx-input-bytes propagation in CLI (#17066)
  • Resolved empty withdrawals issue when parent has withdrawals root (#16980)
  • Enforced EIP-2681 in transaction pool (#16967)

RPC and EVM Improvements

  • Added eth_sendRawTransactionSync support (#16683)
  • Enhanced RPC type system with configurable middleware (#17024)
  • Improved transaction request propagation across network types (#17025)
  • Optimized EVM reuse in eth_estimateGas RPC calls (#16958)

Other Notable Changes

  • Enhanced testing infrastructure with improved eth/69 protocol coverage (#16759)
  • Added eth/69 protocol support with proper version constants (#16880)

Compatible Dependencies

  • alloy-primitives: 1.2.0
  • alloy: 1.0.13
  • op-alloy: 0.18.7
  • revm: 26.0.1
  • op-revm: 7.0.1

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Priority
Payload Builders medium
Non-Payload Builders medium

See Update Priorities for more information about this table.

All Changes

  • chore: bump version 1.5.0 (#17083)
  • feat: add blanket impl for Receipt trait (#17082)
  • fix(docs/sdk): heading hierarchy (#17079)
  • feat: convert reth-bench scripts to use uv script format (#17078)
  • docs: error fixes for clarity (#17062)
  • fix(docs): redo system reqs, fix links, rebrand to docs (#17071)
  • chore: bump alloy 1.0.13 (#17072)
  • feat: include eth_sendRawTransactionSync in eth namesapce (#17070)
  • docs: typo in comment for get_pending_transactions_by_origin (#17065)
  • fix(cli): propagate max-tx-input-bytes setting (#17066)
  • docs: add libmdbx restriction to CLAUDE.md (#17060)
  • refactor(examples): Use TransactionEnvelope macro from alloy for CustomTransaction in the custom-node example (#17057)
  • chore: bump alloy patches (#17067)
  • feat(trie): add assert_eq_parallel_sparse_trie_proof_nodes (#17052)
  • docs: fix typo "takes effect" (#17053)
  • chore: delete reth-performance dashboard (#16635)
  • chore: Add precompile cache hit rate graph to grafana overview (#17055)
  • feat: make jwt-secret argument consistent across reth-bench commands (#17050)
  • chore: use earliest block number (#17044)
  • chore: use payload_builder target (#17049)
  • perf(trie): implement ParallelSparseTrie::root method (#17030)
  • chore: fix typo execution.rs (#17004)
  • feat: introduce reth era export (#15909)
  • fix(docs): banner on landing (#17048)
  • docs: fix errors and correction (#17047)
  • fix(docs): broken links for images on landing (#17043)
  • chore(ci): rm concurrency from book workflow (#17038)
  • docs: fix typo in transaction expiration comment (#17037)
  • chore: fix spelling errors (#17029)
  • refactor(rpc): replace ExtendedTxEnvelopeRepr with ExtendedRepr in serde_bincode_compat (#17033)
  • feat: add --rollup.historicalrpc CLI argument for op-reth (#16941)
  • chore(book): migrate to vocs (#16605)
  • fix: correct typo “reseipt” → “receipt” in serde_bincode_compat tests (#17034)
  • feat: prune pre merge transaction files (#16702)
  • chore(trie): rephrase the log about storage proof task result sending (#17032)
  • refactor(trie): introduce SparseSubtrieInner::rlp_node method (#17031)
  • feat(rpc): Propagate the RPC transaction request from Network and RpcTypes (#17025)
  • feat: add configurable RPC middleware to RpcAddOns (#17024)
  • chore: enable state root task in engine tree unit tests (#17023)
  • feat(tx-pool): add getter methods for EthTransactionValidator internal fields (#17022)
  • docs: update outdated validtor docs (#17027)
  • chore: remove unused for<'a> (#17026)
  • feat: add codec re-exports to reth-op and reth-ethereum (#17020)
  • chore: re-export op hardforks from op chainspec (#17018)
  • perf(trie): SparseSubtrie::update_hashes (#16943)
  • feat: allow access to db via NodeBuilder (#17021)
  • perf(trie): Place the root nodes of the lower SparseSubtries in those tries (#17011)
  • refactor(rpc): rename crate reth_rpc_types_compat → reth_rpc_convert (#17019)
  • revert: test: special case for nibbles implementations of Compact (#17006) (#17012)
  • feat(rpc): Add TransactionRequest into RpcTypes (#17017)
  • refactor(rpc): Rename crate reth_rpc_types_compat => reth_rpc_convert (#17013)
  • perf: U256 nybbles (#16727)
  • docs(rpc): Add documentation for RpcConverter (#17010)
  • chore: rm standalone fn (#17007)
  • refactor(rpc): Rename TransactionCompat => RpcConvert (#17009)
  • docs: rephrase RpcNodeCore docs (#17005)
  • chore: add size field in the new_header_stream method (#17008)
  • test: special case for nibbles implementations of Compact (#17006)
  • chore: simplify RpcConverter (#17002)
  • chore: rm unused eof variant (#17001)
  • docs: improve ConfigureEvm trait documentation (#16937)
  • refactor: introduce OpFullNodeTypes helper trait to reduce bound duplication (#16431)
  • feat: bump revm v26 (#16969)
  • docs: improve payload primitives documentation (#16986)
  • feat(test): rewrite test_engine_tree_live_sync_transition_eventually_canonical using e2e framework (#16972)
  • chore: fix typo bootnode.rs (#16995)
  • chore: changed example command (#16993)
  • docs: add reth_fs_util suggestion instead of std::fs to claude doc helper (#16992)
  • chore(deps): weekly cargo update (#16987)
  • docs: fix error in HARDFORK-CHECKLIST.md (#16989)
  • chore: use from conversion for txkind (#16990)
  • feat: add rpc header compat (#16988)
  • feat(rpc): Replace associated type Transaction with Network in TransactionCompat (#16973)
  • chore: simplify test HttpClient implementations (#16985)
  • fix: use empty withdrawals if parent has withdrawals root (#16980)
  • chore: relax localpending block bounds (#16979)
  • chore(era): complete doc for ClientWithFakeIndex (#16984)
  • feat: add From impl for RecoveredBlock from blocks with recovered transactions (#16983)
  • refactor: remove CallFees re-export and relocate tests (#16981)
  • chore: remove unused features (#16963)
  • chore(sdk): Add default for noop component (#16570)
  • fix: Improve comment in historical RPC tests (#16971)
  • feat(transaction-pool): enforce EIP-2681 (#16967)
  • perf(rpc): optimize EVM reuse in eth_estimateGas (#16958)
  • feat(era): Attach file name and path to checksum error (#16974)...
Read more

Reth v1.4.8

04 Jun 18:03
127595e
Compare
Choose a tag to compare

image

Summary

Caution

This release contains a critical bug fix in the chain reorg logic. All node operators are recommended to upgrade, especially those running with --engine.persistence-threshold 0 --engine.memory-block-buffer-target 0 CLI arguments.

Besides, this release contains following changes:

  1. The default gas limit for Ethereum Mainnet has been increased to 60M gas.
  2. Improved performance for engine_newPayload response times on chain reorgs.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Priority
Payload Builders High
Non-Payload Builders High

See Update Priorities for more information about this table.

All Changes

  • ci: check Cargo version against Git tag in release.yml (#16657)
  • chore: bump version 1.4.8 (#16655)
  • chore: bump default gas limit 60M mainnet (#16650)
  • perf: use already recovered signer (#16640)
  • perf(engine): do not use state root task for non-empty revert state (#16631)
  • feat(txpool): EIP-7825 max gas limit check (#16648)
  • feat: json ChainNotification subscription endpoint (#16644)
  • fix(engine): recompute trie updates for forked blocks (#16568)
  • fix: check additional settings when enabling discv5 (#16643)
  • chore: make BuildOutcome::map_payload pub (#16636)
  • chore: add minSuggestedPriorityFee check to OpEthapi (#16637)
  • feat(OpEngineValidator): pub chain_spec (#16638)
  • feat: make NewBlock message generic (#16627)
  • chore: removed alloy_consensus::Header constraint in setup_without_db (#16623)
  • chore: include target and latest in error message (#16630)
  • refactor: extract common pool setup logic for Eth and Op nodes (#16607)
  • chore: update Grafana dashboard (#16575)
  • feat(rpc): Add Primitives associated type to TransactionCompat trait (#16626)
  • feat: enable external EngineApi access (#16248)
  • feat(OpAddOns): relax trait bounds for generic engine validators (#16615)
  • feat: impl compress decompress for customheader (#16617)
  • refactor(e2e): split actions.rs into submodule (#16609)
  • fix: wrap forkid entry for eth key (#16616)
  • feat: 🐛 fix using latest header (#16614)
  • chore: Remove OmmersProvider (#16539)
  • chore: make clippy happy (#16611)
  • feat: fixed missing blocktimestamp in logs subscription (#16598)
  • feat: fix tx da scaling (#16558)
  • refactor: relax OpAddOns trait bounds (#16582)
  • docs(net): replace 404 link message.rs (#16597)
  • fix(era): Use the url as the index page for HTTP hosts (#16555)
  • ci: special treatment for release candidate tags (#16603)
  • test(e2e): set test_state_root_fallback for deep reorg test (#16573)
  • refactor: replace generics with Node types for OpExecutorBuilder (#16601)

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-v1.4.8-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v1.4.8-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v1.4.8-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v1.4.8-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v1.4.8-aarch64-apple-darwin.tar.gz PGP Signature
Docker paradigmxyz/reth -

OP-Reth

System Architecture Binary PGP Signature
x86_64 op-reth-v1.4.8-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 op-reth-v1.4.8-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 op-reth-v1.4.8-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 op-reth-v1.4.8-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 op-reth-v1.4.8-aarch64-apple-darwin.tar.gz PGP Signature
Docker paradigmxyz/op-reth -

Reth v1.4.7

02 Jun 18:24
dc7cb6e
Compare
Choose a tag to compare

image

Summary

Caution

This release contains a critical bug fix for the chain split event on OP Mainnet: OP Labs Incident Post Mortem.

Besides, this release contains following changes since v1.4.3:

RPC

  • Add debug_stateRootWithUpdates method (#16353)
  • Fix nonce in pending tag for eth_getTransactionCount method (#16407)

Reth SDK

Major custom_node example overhaul:

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Priority
Payload Builders -
Non-Payload Builders -
OP Reth Users High

See Update Priorities for more information about this table.

All Changes

  • chore: bump version to 1.4.7 (#16606)
  • deps: revm 24.0.1 (#16604)
  • feat(optimism): Remove bounds on EthChainSpec and Hardforks for ChainSpec in the evm crate (#16576)
  • chore: simplify NetworkPrimitives (#16556)
  • chore: rm some clones (#16588)
  • chore(deps): weekly cargo update (#16587)
  • chore: put dev name last (#16585)
  • chore: make clippy happy (#16581)
  • chore: Remove Withdrawals Provider (#16538)
  • feat(engine): allow configuring tree to always use state root fallback (#16569)
  • test: set TreeConfig for nodes in e2e tests (#16572)
  • revert: ci: deduplicate changelog in release notes (#16294) (#16563)
  • feat(optimism): Remove bounds on EthChainSpec and Hardforks for OpEngineValidator (#16574)
  • feat(e2e): add helper functions for FCU status checks (#16548)
  • chore: added map helper fns for OpAddOns (#16541)

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-v1.4.7-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v1.4.7-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v1.4.7-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v1.4.7-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v1.4.7-aarch64-apple-darwin.tar.gz PGP Signature
Docker paradigmxyz/reth -

OP-Reth

System Architecture Binary PGP Signature
x86_64 op-reth-v1.4.7-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 op-reth-v1.4.7-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 op-reth-v1.4.7-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 op-reth-v1.4.7-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 op-reth-v1.4.7-aarch64-apple-darwin.tar.gz PGP Signature
Docker paradigmxyz/op-reth -

Reth v1.4.3

20 May 10:45
fe3653f
Compare
Choose a tag to compare

image

This is a patch release that fixes a regression on eth_getLogs introduced in 1.4.1: #16355
It also includes some additional RPC fixes:

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Priority
Payload Builders Medium
Non-Payload Builders Medium

See Update Priorities for more information about this table.

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-v1.4.3-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v1.4.3-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v1.4.3-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v1.4.3-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v1.4.3-aarch64-apple-darwin.tar.gz PGP Signature
Docker paradigmxyz/reth -

OP-Reth

System Architecture Binary PGP Signature
x86_64 op-reth-v1.4.3-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 op-reth-v1.4.3-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 op-reth-v1.4.3-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 op-reth-v1.4.3-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 op-reth-v1.4.3-aarch64-apple-darwin.tar.gz PGP Signature
Docker paradigmxyz/op-reth -

What's Changed

New Contributors

Full Changelog: v1.4.2...v1.4.3

Reth v1.4.1

16 May 09:55
e6ce41e
Compare
Choose a tag to compare

image

Summary

This release contains significant performance improvements, especially for users who run on consumer hardware, as well as bug fixes.

The default gas limit for Holesky and Sepolia has been increased to 60MGas.

Performance

  • Transaction prewarming is enabled by default. engine_newPayload latency is improved by up to 4x on DAppNode and similar lower-end machines. image
  • Removed various redundant clones: #15624 #15979
  • Improved txpool validation lock behaviour: 029fa59

Bug fixes

  • Add state override support to eth_createAccessList #15840
  • Txpool fixes for 7702 transaction handling: #15312
  • Fixed cache memory metrics reporting #16075
  • Skip nonce check in eth_simulateV1 if no validation required: #16109
  • Properly set 4844 txtype in eth_call if versioned hashes are provided: #16182
  • Activate prague support in the txpool by default

OP Stack

This release has full superchain registry support, so that the —chain argument accept any registered superchain, e.g. —chain unichain

  • mint now always returns a value: #15835
  • Don’t insert tx into the pool if forwarding eth_sendRawTransaction fails: #15867
  • Include withdrawals root in ExecutionWitness after isthmus: bdbefd0
  • Correctly estimate DA size when building payloads: #16153
  • Fix memory bloat during extended finalization periods #16157

Reth SDK

  • All transaction types have been unified with alloy’s and op-alloy’s, so that reth_ethereum_primitves::TransactionSigned and reth_op_primitives::TransactionSigned are now just aliases.
  • The recommend crates for using the ethereum stack and opstack are reth_ethereum and reth_op.
  • This release also includes more no-std support for various crates: #15821
  • Introduced Block::into_ethereum_block for easier conversions: #15940

Migrating changes

  • Changed EthBuiltPayload::with_sidecar api for sidecars in preparation for osaka, #16218
  • Transaction Sender recovery (tx.recover_signer) has been move to a trait SignerRecoverable that needs to be imported under some circumstances #16174
  • The BlockExecutorProvider trait has been removed and replaced with the existing ConfigureEvm trait. This removes one layer of abstraction and components.executor() becomes components.evm_config() and associated type ExecutorbecomesEvm``#15989
  • The NetworkBuilder ’s associated type Primitives has been changed to Network to support custom network implementations. #16037 so that type Primitives = EthNetworkPrimitives; becomes type Network = NetworkHandle<EthNetworkPrimitives>;

MSRV is 1.86

Compatible dependencies:

  • alloy-primitives: 1.0.0
  • alloy: 1.0.3
  • op-alloy 0.16.0
  • revm: 23.0.0
  • op-revm 4.0.2

Upcoming features

  • Full support for handling ERA files for pre-merge history expiry: #13186
  • Better ergonomics for modifications, see also #16067
  • More performance improvements

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Priority
Payload Builders High
Non-Payload Builders High

See Update Priorities for more information about this table.

Binaries

See pre-built binaries documentation.

The binaries are signed with the PGP key: 50FB 7CC5 5B2E 8AFA 59FE 03B7 AA5E D56A 7FBF 253E

System Architecture Binary PGP Signature
x86_64 reth-v1.4.1-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v1.4.1-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v1.4.1-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v1.4.1-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v1.4.1-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker paradigmxyz/reth

What's Changed

Read more

Reth v1.3.12

17 Apr 20:04
6f8e725
Compare
Choose a tag to compare

image

Note

This is a recommended version for Pectra mainnet upgrade.

Summary

This is another hotfix release for the opstack isthmus hardfork, this includes a bugfix where payloads are incorrectly being invalided post isthmus:
fix: skip isthmus root validation if we dont have the parent state (#15796)

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Priority
Payload Builders low
Non-Payload Builders low
Op Sepolia high

See Update Priorities for more information about this table.

All Changes

  • chore: release 1.3.12 (#15797)
  • refactor(block): Inline from_block_with_transaction fn (#15788)
  • fix: skip isthmus root validation if we dont have the parent state (#15796)
  • chore: Make reth-errors crate no_std compatible (#15790)
  • feat: Introducing reth_engine_rpc_new_payload_v4 to grafana (#15794)
  • fix: Revert "feat: add precompile cache for execution" (#15791)
  • feat: MockEthProvider generic over NodePrimitives (#15694)
  • chore: enable invalid_blocks tests in EF (#15564)
  • test: setup once for benchmark_fetch_pending_hashes to avoid excessive losses (#15783)
  • feat: Add --rollup.sequencer-ws to support WebSocket (#15499)
  • chore: Relax the bounds on DBProvider (#15781)
  • chore: bump inspectors 0.19.1 (#15780)

Binaries

See pre-built binaries documentation.

The binaries are signed with the PGP key: 50FB 7CC5 5B2E 8AFA 59FE 03B7 AA5E D56A 7FBF 253E

System Architecture Binary PGP Signature
x86_64 reth-v1.3.12-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v1.3.12-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v1.3.12-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v1.3.12-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v1.3.12-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker paradigmxyz/reth
Docker (Reproducible) paradigmxyz/reth-reproducible

What's Changed

New Contributors

Full Changelog: v1.3.11...v1.3.12

Reth v1.3.11

16 Apr 20:52
e0e85aa
Compare
Choose a tag to compare

image

Summary

This release contains a high priority opstack p2p fix for the upcoming isthmus hardfork on sepolia. Opstack sepolia nodes running in execution layer sync mode should update ahead of the isthmus hardfork on April 17 16:00 UTC.

  • fix: relax body against validation for isthmus (#15773)

Dev opstack changes:

  • The reth OpTransactionSigned type has been unified with op-alloy's (#15733)

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Priority
Payload Builders Low
Non-Payload Builders Low
OP Sepolia High

See Update Priorities for more information about this table.

All Changes

  • chore: bump version 1.3.11 (#15776)
  • chore: bump op alloy 0.14 (#15779)
  • chore: set clippy check for const fn to warn (#15777)
  • fix(discv5): ForkId set to head block (#15769)
  • fix: relax body against validation for isthmus (#15773)
  • chore(transaction-pool): make price_bump fn public (#15772)
  • feat: add EthSnapStream (#15684)
  • feat(op-isthmus): Add isthmus mainnet timestamps to op hardforks (#15766)
  • feat!: replace OpTransactionSigned with alloys (#15733)
  • feat: add precompile cache for execution (#15536)
  • refactor: simplify announcement filter (#15761)
  • feat: disable EIP-3607 for eth_createAccessList (#15763)

Binaries

See pre-built binaries documentation.

The binaries are signed with the PGP key: 50FB 7CC5 5B2E 8AFA 59FE 03B7 AA5E D56A 7FBF 253E

System Architecture Binary PGP Signature
x86_64 reth-v1.3.11-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v1.3.11-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v1.3.11-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v1.3.11-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v1.3.11-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker paradigmxyz/reth
Docker (Reproducible) paradigmxyz/reth-reproducible

What's Changed

New Contributors

Full Changelog: v1.3.10...v1.3.11

Reth v1.3.10

15 Apr 19:54
b36fc95
Compare
Choose a tag to compare

image

Summary

This release contains various bug fixes.

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Priority
Payload Builders High
Non-Payload Builders High

See Update Priorities for more information about this table.

All Changes

  • chore: bump version 1.3.10 (#15756)
  • feat: adding cli --rpc.txfeecap flag (#15654)
  • fix: use a lower backoff duration for trusted or static peers (#15740)
  • fix: activate Prague in custom-evm example (#15741)
  • chore: add serde_as support for TransactionSigned (#15755)
  • feat: add config for reserved CPU cores Resolves #15633 (#15710)
  • chore: exempt static peers from removal (#15732)
  • fix(rpc): set code hash in code override (#15738)
  • fix: to_compact for CompactEnvelope (#15736)
  • chore: bump revm (#15735)
  • fix: make CompactEnvelope equivalent (#15731)
  • Revert "feat!: replace OpTransactionSigned with alloys" (#15730)
  • refactor(rpc): eliminate unnecessary cloning in RpcService::call (#15728)
  • deps: bump libmdbx to 0.12.13 (#15413)
  • chore(rpc): warn on unimplemented flashbots rpc methods (#15727)
  • feat!: replace OpTransactionSigned with alloys (#15634)
  • feat(era): Add EraStream that downloads all era files (#15613)

Binaries

See pre-built binaries documentation.

The binaries are signed with the PGP key: 50FB 7CC5 5B2E 8AFA 59FE 03B7 AA5E D56A 7FBF 253E

System Architecture Binary PGP Signature
x86_64 reth-v1.3.10-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v1.3.10-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v1.3.10-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v1.3.10-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v1.3.10-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker paradigmxyz/reth
Docker (Reproducible) paradigmxyz/reth-reproducible

What's Changed

New Contributors

Full Changelog: v1.3.9...v1.3.10

Reth v1.3.9

14 Apr 13:47
00e5b6e
Compare
Choose a tag to compare

image

Summary

This patch release contains RPC-related fixes:

  • eth_callMany returns an array of bundles (#15622)
  • debug_executionWitness now returns headers (#15608)

Other bug fixes

  • fix: use --http.corsdomain for http rpc server (#15620) previously this was using --ws.origins

OpStack

This release is fully ready for superchain sepolia isthmus activation

  • includes timestamps for upcoming sepolia isthmus hardfork (#15685)
  • fixes an issue with genesis.json parsing if pragueTime is missing (#15683)

Compatible versions:

  • alloy-primitives: 1.0.0
  • alloy 0.14.0
  • revm: 22.0.0

Update Priority

This table provides priorities for which classes of users should update particular components.

User Class Priority
Payload Builders low
Non-Payload Builders low
Op-reth high

See Update Priorities for more information about this table.

All Changes

  • chore: bump version 1.3.9 (#15716)
  • chore: rm lifetime (#15723)
  • Add metric for supervisor RPC latency (#15570)
  • chore: Replace remaining uses of reth_primitives with reth_primitives_traits (#15704)
  • chore: unify proof task concurrency consts (#15715)
  • fix(engine): update cached bytecodes with bundle state (#15676)
  • chore(op-consensus): Remove redundant module (#15718)
  • chore: bump op-revm (#15714)
  • chore: bump alloy-trie (#15717)
  • chore: periodically resolve trusted nodes dns (#15678)
  • fix(op-interop): incorrect parsing of supervisor_checkAccessList error (#15670)
  • feat: use L2 timestamps for mapped L1 (#15683)
  • test: benchmark for fetch pending hashes (#15574)
  • chore: bump ssz (#15713)
  • chore(deps): weekly cargo update (#15708)
  • feat: added getter functions for PeerMetadata (#15709)
  • chore: Remove TODO (#15706)
  • refactor: better encapsulation of tx_fetcher for easier testing and refactoring (#15688)
  • chore: rm outdated unreachable (#15700)
  • feat(net): add transaction gossip policy (#15341)
  • fix(book): Web3 JsonRPC incorrect keccak example (#15696)
  • perf(discv5): Relax peer filter, fallback on source socket for enr missing tcp port (#15267)
  • feat: add bincode compat to ethereum tx envelope (#15686)
  • docs: add op-reth to hardfork checklist (#15687)
  • chore(trie): make RevealedNode usable externally (#15691)
  • fix: op isthmus activation timestamps (#15685)
  • feat: add CLI args for concurrency settings (#15657)
  • chore!: Populate the headers field in the ExecutionWitness when calling debug_executionWitness (#15608)
  • chore: alloy 0.14 (#15635)
  • perf(trie): reserve space for new proof nodes ahead of time (#15637)
  • feat(engine): add bytecodes to invalid block hook witness (#15649)
  • chore: changed import for custom-node(examples) (#15662)
  • chore: double check blob gas in header standalone (#15672)
  • ci: add revert to allowed PR titles (#15667)
  • Revert "feat(engine): enable prewarming & caching by default (#15630)" (#15666)
  • chore: bump crossbeam channel (#15665)
  • chore: changed import for manual-p2p (#15664)
  • chore: changed import of polygon-p2p (examples) (#15663)
  • chore: remove unused evm_config field in EngineApiTreeHandler (#15660)
  • chore: changed import of rpc-db (examples) (#15661)
  • feat: add no-local-exemptions settings to MaintainPoolConfig (#15651)
  • fix(era1): use framed snap encoding/decoding instead of raw one (#15652)
  • chore: changed import for txpool-tracing(examples) (#15650)
  • chore: changed import for precompile-cache(examples) (#15647)
  • chore: changed imports for node-custom-rpc (example) (#15646)
  • chore: changed import for node-event-hooks(example) (#15645)
  • chore: changed imports in network-proxy (examples) (#15644)
  • chore: changed import for network(examples) (#15642)
  • chore: changed import for custom-payload-builder (examples) (#15641)
  • chore: changed import for custom-rlpx-subprotocol(examples) (#15639)
  • chore: make build eth api async (#15636)
  • chore: changed import for network-txpool(examples) (#15643)
  • feat(engine): enable prewarming & caching by default (#15630)
  • chore(lint): Remove redundant lint attributes (#15531)
  • chore: prep alloy TxEnvelope transition (#15628)
  • chore: add serdebincodecompat to optxenvelope (#15629)
  • test: activate holocene and isthmus in kurtosis-op (#15611)
  • chore: bump op-alloy (#15626)
  • fix!(rpc): wrap call many response in vec (#15622)
  • chore: rm bundlestateprovider (#15607)
  • fix: use --http.corsdomain for http rpc server (#15620)
  • feat: add ability to handle dedicated storage proof result (#15252)
  • chore: changed import for custom-inspector (example) (#15610)
  • chore: changed import for custom-node-components(examples) (#15609)

Binaries

See pre-built binaries documentation.

The binaries are signed with the PGP key: 50FB 7CC5 5B2E 8AFA 59FE 03B7 AA5E D56A 7FBF 253E

System Architecture Binary PGP Signature
x86_64 reth-v1.3.9-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v1.3.9-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v1.3.9-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v1.3.9-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v1.3.9-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker paradigmxyz/reth
Docker (Reproducible) paradigmxyz/reth-reproducible

What's Changed

Read more