Summary
This release includes a critical bug fix that would lead to invalid trie state (#7753).
Note
Update is highly recommended.
This release also includes:
- Discv5 support (#7446, #7662, #7683)
- Engine fixes (#7511, #7669, #7735) and better observability (#7801)
- Ongoing work on Execution Extensions (ExExs) (#7340, #7506, #7578, #7632, #7633, #7673)
- Ongoing work on pre-Bedrock Optimism support (#7555, #7622, #7659, #7661, #7726, #7769)
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
- release: v0.2.0-beta.6 (#7802)
- feat(rpc-engine-api): add engine API response type metrics (#7801)
- feat: base fee param fetching at a specific block (#7783)
- fix(cli): read exact chunk len (#7777)
- chore: ask for debug logs in bug template (#7795)
- chore: flatten beacon-consensus test deps (#7796)
- chore: pull async-stream into workspace deps (#7794)
- chore: remove consensus setup from node-core (#7793)
- chore: use workspace deps in nippy jar (#7792)
- chore(deps): move http crate deps to workspace (#7791)
- chore: relax some bounds (#7789)
- feat(op): signature encoding (#7769)
- bench: fix
reth-stages
criterion benchmarks (#7786) - feat: enable OP hardforks in DEV chainspec (#7787)
- Implement
try_from
rpc tx forTransactionSignedEcRecovered
(#7752) - chore: enable optimism e2e tests (#7776)
- chore(deps): weekly
cargo update
(#7778) - fix(tree): disable cached trie updates for chains with >1 block (#7753)
- fix(discv5): fix bug flip byte lookup tgt (#7764)
- chore(e2e): refactor e2e tests (#7773)
- chore: bump alloy 39b8695 (#7774)
- feat(op): init genesis alloc (#7748)
- feat: gracefully shutdown prometheus server (#7728)
- fix(exex): properly check ready state in
poll_ready
(#7772) - chore(lint): duplicate attributes (#7770)
- fix(tracing): wrong header in error (#7767)
- fix(stages): block number in error (#7766)
- chore: relax some bounds (#7762)
- fix: dont await changes (#7760)
- fix(deps): bump rustls (#7758)
- perf(discv5): populate kbuckets & improved RLPx peering (#7683)
- chore(debug): allow first fcu through in
EngineApiSkipFcu
interceptor (#7756) - ci: stop github from fighting us over labels (#7754)
- fix: enable --dev for op-reth (#7755)
- docs: add more docs to recover_signer (#7751)
- chore: make alloy impls feature gated (#7747)
- chore: move engine primitives (#7746)
- feat: send
CanonStateNotification
s from execution stage (#7578) - chore: move node-api to node dir (#7743)
- chore: introduce ethereum folder (#7744)
- chore: remove todo comments from #7599, and improve the visibility of certain methods. (#7741)
- chore: stages crates touchups (#7742)
- feat(op): allow import without state (#7661)
- feat: group optimism crates (#7740)
- refactor: split reth-stages into reth-stages-api and reth-stages (#7666)
- chore: relax some trait bounds (#7739)
- fix(engine): remove block execution error matching (#7735)
- chore(engine): extract fcu make canonical result processing (#7737)
- feat: block executor provider and ethereum + op impl (#7594)
- chore(engine): extract fcu pre-validation (#7736)
- chore(engine): remove map insert error (#7733)
- docs: update base sequencer url (#7731)
- chore: extract cli runner from node-core (#7719)
- chore(engine): remove
find_canonical_ancestor
(#7716) - fix(examples): send finished height from minimal exex (#7730)
- fix(grafana): adds missing panel for tx fetcher (#7700)
- feat: add pre bedrock recovery check (#7726)
- fix: set ETL directory inside
datadir
onreth run
andreth import
(#7722) - feat(pruner): respect ExEx finished height (#7673)
- chore: introduce node dir (#7720)
- Revert "feat(op): import bodies (#7659)" (#7724)
- chore(storage): use chain spec from provider field (#7723)
- chore: rename
parent_block_hashed
toparent_block_hashes
(#7715) - chore: Move node-core/events to standalone crate (#7713)
- ci: enable eth_getProof hive test (#7710)
- nit: use ref slice for
random_account_change
(#7714) - fix: don't import ipc client on windows (#7712)
- Dencun readiness - pin Lighthouse image tag in base Docker Compose setup (#7066)
- ci: update runners for apple builds (#7408)
- feat:
--debug.skip-fcu
(#7709) - perf(discv5): boost bootstrap lookups (#7695)
- fix(discv5): fix panel filtered peers (#7696)
- fix(docker): obsolete syntax compose file (#7697)
- fix: disable read timeout for tx in db list (#7689)
- fix: add discv5 config to p2p cmd (#7662)
- chore(engine): refactor sync target determination on failed fcu (#7704)
- chore(engine): inline
update_tree_on_finished_pipeline
method (#7703) - chore: convert tab to space and trim trailing space (#7705)
- chore: bump alloy (#7701)
- chore(engine): refactor pipeline outcome processing (#7692)
- fix: check for genesis block on pool validator init (#7699)
- feat: add Prague hardfork variant (#7694)
- test: add
test_requests_timeout()
for disv4 (#7693) - fix(docker): Add support for RUSTFLAGS and feature flags in Dockerfile (#7658)
- storage: fixes behaviour of cursor delete_current on start item (#7646)
- chore(engine): dedup consistent forkchoice state check (#7677)
- fix(discv5): remove todo (#7684)
- fix: add enable missing arbitrary feature (#7688)
- feat: add native compact impl for alloy TxKind (#7686)
- chore: remove DOS line endings from basefee.rs (#7685)
- chore(node): unify the format of command args (#7656)
- chore: flatten node-api dep (#7682)
- chore: move optimism bootnodes to
reth-primitives
(#7657) - feat: add missing hardfork convenience fns (#7678)
- chore(engine):
BeaconConsensusEngine::current_engine_hook_context
(#7676) - refactor: Drop reth_primitives::Log (#7651)
- chore(tree):
CanonicalError::is_block_hash_not_found
(#7675) - chore: include block num and hash in bctree debug logs (#7665)
- feat(discv5): add enr to tracing (#7664)
- chore: move BlockExecutorStats (#7672)
- chore: extract evm processor batch handling (#7671)
- P2P Sync e2e (#7529)
- refactor(exex, primitives): move finished exex height to primitives (#7670)
- chore: convert FromRecoveredTransaction into TryFromRecoveredTransaction (#7497)
- safer
TryFrom<reth_rpc_types::Transaction>
forTransaction
(#7667) - fix(tree): overlapping parent block hashes (#7669)
- feat: add rpc trait bindings for optimism specific endpoints (#7621)
- feat(discv5): add tracing (#7663)
- refactor: replace
calculate_next_block_base_fee
with alloy's builtin function (#7641) - fix: check if regexp match is null in label-pr script (#7654)
- Convert
Header
andBlock
rpc to primitives (#7660) - docs(discv5): additional info regarding requested enrs on bootstrap (#7655)
- feat(op): import bodies (#7659)
- refactor(exex): make finished height an enum (#7652)
- refactor: remove unused codecs (#7639)
- feat(op): chunked chain import (#7574)
- ci: automatically set pr labels upon open (#7613)
- chore: update
decode_enveloped
docs (#7645) - fix(op): headers above merge (#7622)
- chore(tree): remove
BlockchainTreeEngine::unwind
(#7647) - Implement
From<Block>
forBlockBody
(#7643) - docs(book): update node size numbers (#7638)
- feat: replace reth native AccessList type (#7636)
- fix(cli): import cmd boundaries (#7620)
- chore(discv5): add comments for op bootnodes (#7634)
- chore(deps): weekly
cargo update
(#7627) - fix: crash ExEx task when the ExEx future returns (#7633)
- feat: add a metric for the number of ExEx's on a node (#7632)
- chore: simplify DisplayBlocksChain (#7624)
- use alloy's BaseFeeParams (2) (#7617)
- Implement compact codec for alloy eip access_list (#7554)
- feat(rpc): add anvil and hardhat and ganache trait bindings (#7495)
- chore(deps): bump alloy+evm inspectors (#7616)
- feat(rpc): add block timestamp to logs (#7606)
- feat: impl TryFrom<reth_rpc_types::Transaction> for Transaction (#7551)
- feat(exex): add
Pool
toExExContext
(#7573) - feat: Implement BlockReader::block_with_senders_range (#7402)
- refactor(exex): use async fns in op bridge example (#7601)
- fix(cli): bug fix import cmd (#7602)
- fix(cli): import cmd logs (#7592)
- refactor: use async fns in minimal example (#7600)
- fix(test): add missing dep (#7595)
- chore(node-api): move
FullNodeComponents
from builder (#7597) - chore: rm node api deps (#7593)
- fix(cmd): get tip block (#7591)
- chore: extract engine type defs to dedicated crate (#7589)
- docs(docker): improper docker volume path causes data loss (#7590)
- feat: introduce reth db stats --checksum (#7581)
- chore: move pipeline setup to node-builder (#7588)
- feat(op): import below bedrock blocks (#7555)
- chore: clean up some errors (#7585)
- chore(tasks): comment formatting (#7583)
- refactor: rm unused fns in
NodeConfig
(#7584) - chore: move tree setup to builder (#7577)
- fix: disable long read transaction safety in db diff (#7575)
- feat(examples): minimal viable ExEx (#7565)
- feat(examples): OP Stack bridge stats ExEx (#7556)
- feat: exex manager (#7340)
- chore: make function private (#7569)
- chore: rm unused fn (#7568)
- chore: relax stateprovider db trait bound (#7567)
- feat(storage): non-optional committed chain in CanonStateNotification (#7566)
- chore: add
reth-exex
to CODEOWNERS (#7563) - ci: fix iai benches the sequel (#7562)
- feat: add
reth db checksum <TABLE>
command (#7257) - Feat: support for engine api over ipc (#7428)
- ci: fix iai job (#7544)
- perf(pool): send blob sidecars as
Arc
to listeners (#7545) - chore: reserve an upper bound in
ReusableDecompressor
(#7523) - feat: set local enr in nodeInfo (#7543)
- Update iai benchmarks to use iai-callgrind (#7534)
- Update revm-inspectors link (#7541)
- feat: add PeersInfo::local_enr (#7539)
- chore: use alloy nodeinfo (#7512)
- refactor: launch disc services concurrently (#7533)
- chore: bump jsonrpsee 0.22.4 (#7538)
- chore: bump sse example (#7537)
- chore(stages): log hash insertion progress as Display string (#7535)
- chore: move request hashes failed log to trace (#7524)
- test: add forkid rlp tests (#7528)
- chore: use builtin optimism fn (#7522)
- feat: integrate evm in OP payload builder (#7527)
- feat: auto impl Arc, & and Box for StateProviderFactory (#7526)
- fix: Remove extra return when init uses too much gas (#7521)
- test: extend
test_pending_ping()
to respect limit ofpending_pings
(#7520) - chore: add
asm-keccak
to reth crate docs (#7518) - Implement Compact codec for alloy_primitives::Log (#7474)
- feat(exex): use unbounded sender for events (#7517)
- chore: fix some warnings (#7515)
- chore: rm unused execute function (#7513)
- feat(node-builder): add
install_exex
toWithLaunchContext
(#7514) - feat(tree): disable long read transaction safety on
newPayload
(#7511) - chore: use
while
for allpoll_tick()
to make code consistent (#7510) - chore: remove ethers deps (#7508)
- fix: ensure transfer gas estimation succeeds (#7485)
- feat: exex crate (#7506)
- feat: add beacon api headers types (#7493)
- chore: set expiration duration properly (#7507)
- chore: bump alloy (#7502)
- chore(deps): weekly
cargo update
(#7499) - chore: allow transmute annotations (#7494)
- feat: extract optimism sequencer client to node-optimism (#7482)
- E2e improvements (#7453)
- feat(grafana): bad imports (#7481)
- feat(grafana): remove networking (#7483)
- fix(grafana): reth-mempool (#7480)
- chore(deps): migrate to jsonrpsee 0.22 (#5894)
- fix(grafana): warning tx fetcher hashes panel (#7462)
- chore: add
pid=host
to docker-compose.yml (#7479) - chore(tree): unify
remove_and_split_chain
method (#7468) - feat: integrate evm in rpc (#7470)
- chore(tree): refactor
make_canonical
(#7469) - chore(tree): remove useless oneline methods (#7467)
- chore(tree): accept owned block hash in
make_canonical
instead of ref (#7465) - feat: change evm trait bound (#7463)
- feat: add evm-ethereum crate (#7464)
- chore: display total storage size in Grafana (#7455)
- feat: add block timestamp to meta (#7460)
- fix: Add more observability on
stdout
during ETL stages execution (#7377) - feat(discv5): disable noisy logs (#7458)
- feat(discv5): Grafana panels (#7461)
- chore: bump revm+alloy (#7431)
- feat(discv5): plug discv5 crate into network (#7446)
- fix(pruner): highest pruned block metric (#7441)
- fix: race condition in test setup (#7448)
- feat: move transact and inspect calls to trait (#7438)
- feat: add SequencerClient (#7440)
- chore: change README.md and release images to beta (#7447)
Binaries
See pre-built binaries documentation.
The binaries are signed with the PGP key: A3AE 097C 8909 3A12 4049 DF1F 5391 A3C4 1005 30B4
System | Architecture | Binary | PGP Signature |
---|---|---|---|
x86_64 | reth-v0.2.0-beta.6-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v0.2.0-beta.6-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.2.0-beta.6-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.2.0-beta.6-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v0.2.0-beta.6-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | paradigmxyz/reth |