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