Reth v1.0.0
Reth 1.0: Production-ready:
- Stable: Since releasing reth 0.2.0-beta.6 in April 2024, there have been no crash reports, a requirement for any high uptime deployment of Reth. This is a significant improvement over previous versions that occasionally experienced crashes in reorg-related edge cases.
- Efficient Resource Usage: We've successfully addressed memory leaks in critical components such as the network and the mempool, and optimized Reth’s resource utilization across the board.
- No performance regressions: With our tooling improving, we’re able to confidently ship releases that consistently improve performance from previous releases.
While we expect Reth the node to run stable, we will introduce more breaking internal API changes.
Summary
- misc RPC fixes (#8868)
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
- feat(rpc): remove ipc future and now using ServerHandle and StopHandle from jsonrpsee (#9044)
- chore: release 1.0.0 (#9045)
- feat: add
AnyNodeTypes
type (#9034) - refactor(rpc): add builder pattern for
EthHandlers
(#9035) - Change the wrong 'Child' and 'Auxiliary' usage (#9033)
- chore(deps): weekly
cargo update
(#9036) - chore: remove some more usages of BytesMut (#9025)
- chore(deps): rm reth-rpc-types dep from reth-network (#9023)
- chore(deps): replace fnv with fx (#9024)
- chore(op): add link to op labs bedrock datadir download (#9014)
- chore: rm default serde feature in reth-dns (#9021)
- chore: rm serde for network builder (#9020)
- chore: remove unused type (#9019)
- chore: remove
serde
fromChainSpec
(#9017) - chore: rename net-common to banlist (#9016)
- chore: remove
AllGenesisFormats
(#9013) - chore: move different chain hardfork sets to
reth-ethereum-forks
(#8984) - chore: move ratelimit type to tokio util (#9007)
- chore(deps): rm provider dep (#9006)
- chore(deps): rm unused dev deps (#9005)
- chore: remove proptest arbitrary from codec derive and tests (#8968)
- test: disable dns discovery (#9004)
- fix: skip failed new payload submission (#9003)
- feat: add _with_senders_unchecked methods to SealedBlock (#9002)
- chore(deps): bump revm 10.0, un-git revm-inspectors (#8997)
- chore: rm custom chainspec parser (#8998)
- chore: bump alloy to 0.1.2 (#8990)
- fix(pruner): prune history segments first (#8996)
- chore: weaken engine type requirements (#8976)
- chore(deps): bump interprocess and others (#8982)
- perf: memoize address pruning filter as a hashset (#8989)
- docs(book): add sigma_prime_audit_v1.pdf (#8942)
- Update docs db (#8979)
- Make ReceiptFileClient generic (#8955)
- feat(stages): clarify Merkle error (#8981)
- feat(exex): derive serde ser/deser for
ExExNotification
(#8963) - chore: use alloy-genesis imports for Genesis (#8973)
- feat: add stage unwind to sync 100k CI flow (#8974)
- fix: make sure to commit static file provider on
stage run
(#8972) - chore: use execution-types instead of provider where possible (#8971)
- chore: remove cursed comments from broken proptest impl (#8969)
- chore: update CODEOWNERS with updated layout (#8970)
- feat: make FullNodeComponents Clone (#8966)
- chore: add stateful precompile example to readme (#8965)
- implement
From
forChainSplitTarget
(#8962) - use watch channels instead of rwlock (#8950)
- chore: move
GotExpected
,log
andgas_units
toreth-primitives-traits
(#8958) - fix: enable autoseal in op correctly (#8961)
- chore(ci): exclude examples from docs (#8953)
- chore: remove
revm/compat
fromreth-primitives
(#8960) - chore: move
StorageEntry
toreth-primitives-traits
(#8949) - chore(makefile): remove cfg-check (#8959)
- chore: move
Bytecode
,Requests
andWithdrawals
toreth-primitives-traits
(#8954) - fix(ethereum-forks): add missing
transitions_at_timestamp
(#8944) - chore: move
IntegerList
toreth-primitives-traits
(#8948) - feat: move calculate_intrinsic_gas_after_merge to tx pool (#8914)
- feat(consensus-auto-seal): fix missing logs_bloom gas_used receipts_root for dev env (#8946)
- chore(deps): bump curve25519-dalek (#8947)
- fix(rpc/trace): include block rewards in trace_filter rpc (#8868)
- fix: don't drop the TaskManager (#8941)
- feat: Add
no-std
support toreth-chainspec
(#8939) - ci: fix no_std script (#8938)
- feat: extend LaunchContext with more components (#8937)
- feat: re-export test types (#8936)
- chore: make reth-ethereum-evm compile with no-std (#8935)
- chore: make reth-evm compile with no-std (#8934)
- chore(cargo): rm enr default features (#8933)
- chore: make reth-revm compile with no-std (#8931)
- chore: simplify optimism tx compat (#8925)
- chore: rm codecov.yml (#8923)
- chore: remove enr TODO (#8926)
- chore: move audit (#8922)
- chore: use
BLOCKHASH_SERVE_WINDOW
from revm (#8924)
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.0.0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v1.0.0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v1.0.0-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v1.0.0-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v1.0.0-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | paradigmxyz/reth |
What's Changed
- chore: use
BLOCKHASH_SERVE_WINDOW
from revm by @onbjerg in #8924 - chore: move audit by @onbjerg in #8922
- chore: remove enr TODO by @DaniPopes in #8926
- chore: rm codecov.yml by @onbjerg in #8923
- chore: simplify optimism tx compat by @DaniPopes in #8925
- chore: make reth-revm compile with no-std by @mattsse in #8931
- chore(cargo): rm enr default features by @9547 in #8933
- chore: make reth-evm compile with no-std by @mattsse in #8934
- chore: make reth-ethereum-evm compile with no-std by @mattsse in #8935
- feat: re-export test types by @prestwich in #8936
- feat: extend LaunchContext with more components by @fgimenez in #8937
- ci: fix no_std script by @DaniPopes in #8938
- feat: Add
no-std
support toreth-chainspec
by @JackG-eth in #8939 - fix: don't drop the TaskManager by @prestwich in #8941
- fix(rpc/trace): include block rewards in trace_filter rpc by @jsvisa in #8868
- chore(deps): bump curve25519-dalek by @mattsse in #8947
- feat(consensus-auto-seal): fix missing logs_bloom gas_used receipts_root for dev env by @mattsse in #8946
- feat: move calculate_intrinsic_gas_after_merge to tx pool by @kamuik16 in #8914
- chore: move
IntegerList
toreth-primitives-traits
by @joshieDo in #8948 - fix(ethereum-forks): add missing
transitions_at_timestamp
by @pythonberg1997 in #8944 - chore: move
Bytecode
,Requests
andWithdrawals
toreth-primitives-traits
by @joshieDo in #8954 - chore(makefile): remove cfg-check by @DaniPopes in #8959
- chore: move
StorageEntry
toreth-primitives-traits
by @joshieDo in #8949 - chore: remove
revm/compat
fromreth-primitives
by @joshieDo in #8960 - chore(ci): exclude examples from docs by @shekhirin in #8953
- fix: enable autoseal in op correctly by @mattsse in #8961
- chore: move
GotExpected
,log
andgas_units
toreth-primitives-traits
by @joshieDo in #8958 - use watch channels instead of rwlock by @lakshya-sky in #8950
- implement
From
forChainSplitTarget
by @tcoratger in #8962 - chore: add stateful precompile example to readme by @Rjected in #8965
- feat: make FullNodeComponents Clone by @mattsse in #8966
- chore: remove cursed comments from broken proptest impl by @Rjected in #8969
- chore: update CODEOWNERS with updated layout by @Rjected in #8970
- chore: use execution-types instead of provider where possible by @Rjected in #8971
- fix: make sure to commit static file provider on
stage run
by @joshieDo in #8972 - feat: add stage unwind to sync 100k CI flow by @Rjected in #8974
- chore: use alloy-genesis imports for Genesis by @Rjected in #8973
- feat(exex): derive serde ser/deser for
ExExNotification
by @shekhirin in #8963 - feat(stages): clarify Merkle error by @shekhirin in #8981
- Make ReceiptFileClient generic by @ochenane in #8955
- Update docs db by @9547 in #8979
- docs(book): add sigma_prime_audit_v1.pdf by @9547 in #8942
- perf: memoize address pruning filter as a hashset by @DaniPopes in #8989
- chore(deps): bump interprocess and others by @DaniPopes in #8982
- chore: weaken engine type requirements by @mattsse in #8976
- fix(pruner): prune history segments first by @shekhirin in #8996
- chore: bump alloy to 0.1.2 by @onbjerg in #8990
- chore: rm custom chainspec parser by @mattsse in #8998
- chore(deps): bump revm 10.0, un-git revm-inspectors by @DaniPopes in #8997
- feat: add _with_senders_unchecked methods to SealedBlock by @Rjected in #9002
- fix: skip failed new payload submission by @mattsse in #9003
- test: disable dns discovery by @mattsse in #9004
- chore: remove proptest arbitrary from codec derive and tests by @Rjected in #8968
- chore(deps): rm unused dev deps by @mattsse in #9005
- chore(deps): rm provider dep by @mattsse in #9006
- chore: move ratelimit type to tokio util by @mattsse in #9007
- chore: move different chain hardfork sets to
reth-ethereum-forks
by @joshieDo in #8984 - chore: remove
AllGenesisFormats
by @joshieDo in #9013 - chore: rename net-common to banlist by @mattsse in #9016
- chore: remove
serde
fromChainSpec
by @joshieDo in #9017 - chore: remove unused type by @mattsse in #9019
- chore: rm serde for network builder by @mattsse in #9020
- chore: rm default serde feature in reth-dns by @mattsse in #9021
- chore(op): add link to op labs bedrock datadir download by @emhane in #9014
- chore(deps): replace fnv with fx by @mattsse in #9024
- chore(deps): rm reth-rpc-types dep from reth-network by @mattsse in #9023
- chore: remove some more usages of BytesMut by @DaniPopes in #9025
- chore(deps): weekly
cargo update
by @github-actions in #9036 - Change the wrong 'Child' and 'Auxiliary' usage by @leniram159 in #9033
- refactor(rpc): add builder pattern for
EthHandlers
by @tcoratger in #9035 - feat: add
AnyNodeTypes
type by @leruaa in #9034 - chore: release 1.0.0 by @mattsse in #9045
- feat(rpc): remove ipc future and now using ServerHandle and StopHandle from jsonrpsee by @htiennv in #9044
- feat(node): derive
Clone
forFullNode
by @tcoratger in #9046 - feat: integrate Node traits into LaunchContextWith by @fgimenez in #8993
- ci: use reth-prod.png for release notes by @mattsse in #9047
- chore: tweak profiles, rename debug-fast to profiling by @DaniPopes in #9051
- feat(examples): remote exex by @shekhirin in #8890
- fix: Change Arc to EnvKzgSettings by @ochenane in #9054
- fix(op): configure discv5 properly in op builder by @mattsse in #9058
New Contributors
- @pythonberg1997 made their first contribution in #8944
- @leniram159 made their first contribution in #9033
- @htiennv made their first contribution in #9044
Full Changelog: v1.0.0-rc.2...v1.0.0