Skip to content

Releases: paradigmxyz/reth

Reth v0.2.0-beta.6

22 Apr 21:15
ac29b4b
Compare
Choose a tag to compare

image

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:

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 for TransactionSignedEcRecovered (#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 CanonStateNotifications 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 on reth run and reth 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 to parent_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> for Transaction (#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 and Block 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> for BlockBody (#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 to ExExContext (#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 engin...
Read more

Reth v0.1.0-alpha.23

22 Apr 20:51
Compare
Choose a tag to compare

image

Summary

This release includes a critical bug fix that would lead to invalid trie state (#7753).

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.1.0-alpha.23
  • fix(tree): disable cached trie updates for chains with >1 block (#7753)

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.1.0-alpha.23-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v0.1.0-alpha.23-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v0.1.0-alpha.23-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v0.1.0-alpha.23-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v0.1.0-alpha.23-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker paradigmxyz/reth

Reth v0.2.0-beta.5

03 Apr 17:20
54f75cd
Compare
Choose a tag to compare

image

Summary

This release includes:

  • Discv5 integration (disabled by default, OP-Reth integration is in progress) (#7328, #7336, #7394)
  • Fix of the Merkle pipeline stage OOM (out of memory) issue (#7364)
    • Users experiencing this issue on existing (already initialized) nodes need to change their reth.toml accordingly:
    [stages.merkle]
    -clean_threshold = 50000
    +clean_threshold = 5000
  • Pruner timeout for better control of the time it's running on lower-end hardware (#6958)
  • --db.exclusive flag for running Reth on NFS-mounted volumes (#7346)
  • Misc. EIP-4844 improvements (#7338, #7354, #7399)

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

  • release: v0.2.0-beta.5 (#7442)
  • fix: use provider for header range on fn block_range (#7429)
  • feat: add helper functions to obtain a fully configured evm (#7439)
  • feat: add dev suffix to version if not on a git tag (#7337)
  • Convert panic to debug log (#7436)
  • feat(discv5): config via cli (#7394)
  • docs: fix broken op spec link (#7433)
  • perf: replace BytesMut with alloy_rlp::encode (#7432)
  • feat(prune): timeout (#6958)
  • chore: update kurtosis config in assertoor and book (#7261) (#7262)
  • feat(discv5): add crate for interfacing reth network and sigp/discv5 (#7336)
  • feat: use pipeline for reth stage unwind (#7085)
  • fix: use modify specid instead (#7427)
  • fix: reduce merkle clean_threshold to 5000 (#7364)
  • fix(static-file): run producer only if passed non-empty targets (#7424)
  • chore(node-core): unify stage progress log style (#7426)
  • chore: move FullNodeTypes to node-api (#7425)
  • fix: off by one trace_filter (#7422)
  • chore: move FullProvider trait to reth-provider (#7423)
  • fix: dont unwind genesis block in stage run (#7418)
  • feat: make more descriptive errors instead of ProviderError (#7380)
  • Remove outdated debug assertion (#7417)
  • fix: check finalized sync target is not zero (#7412)
  • feature: eth-wire types standalone crate (#7373)
  • feat: add helpers to obtain the engine API client (#7413)
  • feat: add reth-evm crate (#7397)
  • fix: shrink_to_fit PrefixSetMut on freeze (#7342)
  • CI: Disable hive job on forked repositories (#7405)
  • fix(grafana): time frame (#7407)
  • e2e eth node tests (#7075)
  • chore(docs): fix database mermaid graph (#7409)
  • fix(tx-mgr): report peers that send known bad transactions (#7400)
  • Add fix lint to make file (#7393)
  • chore(deps): weekly cargo update (#7403)
  • Add metrics for observing tx fetch outcome (#7401)
  • chore: enable 4844 support by default in validator (#7399)
  • chore: add EthApiError::Other (#7398)
  • chore: add spawn helpers (#7396)
  • Clean up log messages (#7390)
  • chore: move pk2id and id2pk to primitives (#7382)
  • Fix body stage insufficient backpressure (#7350)
  • chore: simplify examples recipient matching (#7385)
  • chore: downgrade dns debug! to trace (#7384)
  • fix: handle optimism deposit transactions on SenderRecovery stage (#7376)
  • Add announcement tx types panel (#7383)
  • feat: --db.exclusive flag for nfs volumes (#7346)
  • Do no use feature secp256k/rand-std in project level Cargo.toml (#7378)
  • fix: return an error if block does nit exist (#7374)
  • chore: add .editorconfig (#7369)
  • feat(node-builder): ExEx (Execution Extensions) installation (#7235)
  • fix: eth_callMany pending tag (#7351)
  • fix: err if no incoming capacity and no trusted nodes (#7361)
  • feat: public ::new() for BuilderContext (#7358)
  • crit(dep): bump zstd (#7356)
  • feat(discv5): open dns for discv5 (#7328)
  • fix: only set blob versioned hashes for 4844 (#7354)
  • docs: add builder flow docs and diagram (#7348)
  • bump alloy version (#7344)
  • feature: Add timeouts for handshake functions (#7295)
  • fix: don't write blob to disk if it already exists (#7338)

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.5-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v0.2.0-beta.5-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v0.2.0-beta.5-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v0.2.0-beta.5-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v0.2.0-beta.5-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker paradigmxyz/reth

Reth v0.2.0-beta.4

26 Mar 21:45
c04dbe6
Compare
Choose a tag to compare

image

Summary

This release highlights:

  • Parallel State Root Calculation: Improved performance up to 2x. (#7161)
  • Added ETL to the following stages:
    • Hashing: 50% faster with ~25GB less storage. (#7030)
    • IndexHistory: 20-40% faster with ~97GB less storage. ( #7249)
  • Fixes SenderRecovery timeouts. (#7333)

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.4 (#7341)
  • fix: ignore BlockHashNotFoundInChain error for unexpected canonical error log (#7286)
  • fix: return error on type 0 enveloped decoding (#7339)
  • fix: spawn batch ranges from a tokio thread instead on SenderRecovery stage (#7333)
  • feat: add ETL to HistoryStages (#7249)
  • feat: add ETL to Hashing Stages (#7030)
  • fix(provider): consider static files in last block num/hash lookups (#7327)
  • feat(reth_db/mdbx): fix API regression in DatabaseArguments (#7323)
  • feat: enable nursery lints without findings (#7334)
  • fix: prevent duplicate events for single blocks (#7335)
  • Implement ots_getInternalOperations (#7332)
  • reth-primitives: Allow feature gating zstd for non default feature set (#7296)
  • fix: some minor nits in txpool code (#7330)
  • Check RequestPair payload length during decoding (#7292)
  • perf: rm header lookup in feeHistory (#7329)
  • feat: Implement ots_getBlockTransactions (#7315)
  • chore: rm match arm for op deposit (#7324)
  • chore: misc static tx range (#7326)
  • fix(node-core): log stage progress only after the first stage run (#7319)
  • feat: Implement ots_getTransactionError endpoints (#7316)
  • fix: Returns an error if multiplex message is empty (#7314)
  • fix: race condition concurrent in and out from same peer (#7317)
  • feat(node-core): omit stage progress from Status logs if empty (#7318)
  • chore: apply some style suggestions (#7307)
  • chore(stages/metrics): use Counter instead of Gauge for mgas_processed (#7234)
  • chore: move paste to workspace deps (#7306)
  • chore(deps): weekly cargo update (#7313)
  • chore: make types pub (#7308)
  • feat: Extend fork activation blocks data with Arbitrum data (#7305)
  • chore: make Session established log debug (#7301)
  • Safe rlpx capability id masking (#7297)
  • fix: validate empty item in p2p start_send (#7294)
  • Add try_from method for TxType with U64 (#7291)
  • fix: DisconnectReason::decode should return error on zero length list (#7284)
  • chore: remove trusted setups (#7274)
  • Indicate that Syncing FCUs are not affecting sync progress during pipeline sync (#7245)
  • perf(tree): integrate parallel state root (#7161)
  • fix: configure global rayon pool to available_parallelism() - 2 (#7267)
  • docs: clarify how SubPool is determined from TxState (#7269)
  • chore: move nodetypes to node-api (#7268)
  • chore: fix typos (#7264)
  • fix(cmd-p2p): split off create_db from init_db (#7265)
  • chore(bump): revm v7.2, c-kzg v1.0 (#7240)
  • Enable clippy's large_stack_frames linter (#7258)
  • fix: do not rlp encode extradata (#7256)
  • chore: move op types; less op cfgs (#7255)
  • Integrate new pending session metrics into grafana (#7231)
  • feat: support any node format in admin API (#7247)
  • chore: remove unused op dep (#7252)
  • chore: make blockchain tree error results more specific (#7237)
  • chore: replace op cfg with default match arm (#7253)
  • fix: skip block tracing if empty (#7251)
  • Integrate Config into admin_nodeInfo response (#7206)
  • dev: with_capacity for HashMap (#7246)
  • feat(storage): bump mdbx to 0.12.10 (#7236)
  • chore(deps): use tikv-jemallocator instead of jemallocator (#7232)
  • feat: add BeaconConsensusEvent for live sync download requests (#7230)
  • fix: enforce max inbound == 0 (#7229)
  • Enable clippy's useless_let_if_seq linter (#7220)
  • feat(node-core): omit stage progress from logs if empty (#7218)
  • Enable clippy's branches_sharing_code linter (#7223)
  • fix: tell jemalloc to use 64-KiB pages when cross building aarch64 (#7123)
  • Enable clippy's or_fun_call linter (#7222)
  • Decode with EMPTY_STRING_CODE and buf.advance() (#7227)
  • fix: enforce timeouts for pending sessions (#7219)
  • feat: add metrics for pending connections (#7225)
  • Add AllTransactionsMetrics graph in txpool dashboard (#7141)
  • reth-primitives: Fix warnings when default features are off. (#7213)
  • Enable clippy's equatable_if_let linter (#7221)
  • support IPv6 for NetworkArgs.addr and DiscoveryArgs.addr (#7210)
  • docs(primitives): transaction method comments (#7217)
  • feat: Display the reth version in the log (#7207)
  • perf(trie): calculate state root from BundleState (#7186)
  • Small refactor (#7208)
  • Enable clippy's redundant_clone linter (#7202)
  • Enable clippy's uninlined_format_args linter (#7204)
  • perf: replace BytesMut with alloy_rlp::encode (#7170)
  • Enable clippy's trait_duplication_in_bounds linter (#7201)
  • Enable clippy's derive_partial_eq_without_eq linter (#7203)
  • fix bug: synchronized local node record with discv4 (#7181)
  • feat: autoscale session event capacity (#7149)
  • Enable clippy's empty_line_after_outer_attr linter (#7200)
  • Return invalid header on error in consensus validation methods (#7175)
  • fix: decrease pending out on already connected (#7197)
  • chore: remove txpool optimism feature (#7199)
  • docs: fix metric doc (#7198)
  • fix: propagate try_make_sync_target_canonical error (#7164)
  • chore: add AllTransactionsEvents::new (#7192)

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.4-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v0.2.0-beta.4-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v0.2.0-beta.4-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v0.2.0-beta.4-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v0.2.0-beta.4-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker paradigmxyz/reth

Reth v0.2.0-beta.3

18 Mar 13:49
56d688b
Compare
Choose a tag to compare

image

Summary

A quick follow-up release that includes:

  • Fix of the critical bug with static files that could lead to inconsistent (and sometimes irrecoverable) state due to duplicate entries. To ensure that we don't have such data consistency problems in the future, we have added an additional safety check.
  • OP Sepolia chainspec (#6812)
  • Networking improvements and fixes (#7140, #7142, #7155, #7165, #7171, #7177)

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

  • Small refactoring in transaction pool (#7179)
  • feat(net/manager): apply trust-nodes-only for incoming nodes (#7177)
  • bugfix: setup discovery addr appropriately (#7182)
  • chore(node-builder): display the hardfork info in new line (#7185)
  • chore(grafana): fetch each query with instance as filter (#7173)
  • chore(hardfork): add hardfork upgrade url (#7184)
  • chore(deps): weekly cargo update (#7180)
  • Comment pool import error is not nonce gap (#7145)
  • feat: support trusted peer ids without address (#7155)
  • fix: use tempdir when testing static files (#6962)
  • chore: bump rust-version in Cargo.toml to 1.76 (#7172)
  • fix: panic conditions for concat kdf in ecies (#7171)
  • bin/reth/db: use macro to dry (#7159)
  • release: v0.2.0-beta.3 (#7166)
  • fix: use unit workflow for README CI badge (#7168)
  • chore: bump revm inspector, bump msrv (#7167)
  • docs(node-core): add document of build_blockchain_tree (#7120)
  • fix: decrease connection info based on current state (#7165)
  • feat(node-core, stages): stage preparation notification (#7156)
  • Track PendingIn state separately (#7163)
  • Check that excess_blob_gas is a multiple of data_gas_per_blob (#7160)
  • fix(static-file): pass producer as Arc<Mutex<_>> to ensure only one is active (#7143)
  • chore: add ipv6 related cases in NodeRecord UT (#7152)
  • chore: remove unused deps (#7151)
  • chore: move tower+hyper to workspace (#7150)
  • chore: rm duplicated code (#7147)
  • Always accept incoming connections from trusted peers (#7140)
  • dep: lock enr (#7148)
  • chore: add safety check on StaticFileProviderRW::increment_block (#7137)
  • fix: payload builder london boundary block gaslimit and basefee (#7136)
  • fix: enforce soft response limit accurately (#7142)
  • chore: add cancun mainnet block (#7139)
  • feat(primitives): OP Sepolia ChainSpec (#6812)
  • fix: estimate gas (#7133)
  • perf: replace BytesMut with alloy_rlp::encode (#7087)
  • fix: apply block overrides before create env (#7135)

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.3-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v0.2.0-beta.3-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v0.2.0-beta.3-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v0.2.0-beta.3-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v0.2.0-beta.3-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker paradigmxyz/reth

Reth v0.2.0-beta.2

13 Mar 18:42
28f3a2e
Compare
Choose a tag to compare

image

Summary

This release includes:

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

  • feat: add EtlConfig as well as setting the directory to datadir (#7124)
  • Make ETL file size configurable (#6927)
  • fix: receipt for non EIP-4844 transactions (#7129)
  • add more helper functions to PooledTransactionElement (#7126)
  • feat(db): record client version history (#7119)
  • chore(stages): debug logs with progress in sender recovery (#7113)
  • docs(txpool): fix docs for cancun activation check (#7128)
  • test: headers first stage (#7127)
  • chore(make): run doctest in make test (#7125)
  • release: v0.2.0-beta.2 (#7122)
  • chore(primitives): remove static file stage (#7116)
  • Adds metrics for All Transactions (#7067)
  • feat(ci): tag docker image as latest only for beta (#7103)
  • fix(op-reth): non-deposit txs have depositReceiptVersion=1 (#6784)
  • fix: check that data is large enough to fit header and mac (#7118)
  • fix: use checked math for read_body (#7117)
  • fix: refactor ecies message parsing to check bounds (#7108)
  • fix: use INVALID_PAYLOAD_ATTRIBUTES code for attribute validation errors (#7059)
  • fix: use concat_kdf crate instead of hand rolled NIST SP 800-56A KDF (#7106)
  • fix(chain_spec): Set correct paris block and chain difficulty (#7111)
  • feat(grafana): trie charts (#7112)
  • fix: eth_getRawReceipts (#7101)
  • rm nippyjar from reth-interfaces (#7081)
  • chore: remove test structs that are never constructed (#7107)
  • Fix misleading comment (#7105)
  • feat(book): update CLI section (#7102)
  • Feat: add signers (#6826)
  • fix: ban trusted peer for a short period (#7071)
  • chore: use safe math when calculating missing senders (#7099)
  • cmd/debug: use inline cfg to reduce optimism/ethereum code duplicate (#7095)
  • docs: add note about hashing (#7073)
  • reth/db: make code more readable (#7094)

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.2-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v0.2.0-beta.2-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v0.2.0-beta.2-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v0.2.0-beta.2-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v0.2.0-beta.2-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker paradigmxyz/reth

Reth v0.2.0-beta.1

11 Mar 14:44
66c9403
Compare
Choose a tag to compare

image

🎉 Reth goes out of Alpha and enters Beta 🎉

Summary

Reth v0.2.0-beta.1 marks the beginning of our Beta release cycle. Reth is Cancun-ready, syncs from genesis, keeps up with the tip, performs extremely well under heavy RPC load for both point and range queries, and has improved validator performance.

This release includes:

  • Static Files and ETL for better separation of mutable/immutable data and faster initial sync
    • Initial sync time reduced by 4-5 hours, getting close to the sub-48h mark
    • Access speed to historical data increased by up to 10%-100%
    • Disk usage for historical data reduced by up to 10%
    • Ability to offload the historical static files to a separate read-only drive and serve it to multiple nodes
  • Database schema improvements
  • Rework of the networking interface has speeded up Reth's responsiveness to I/O and made it more DoS resistant
  • Resource leak fixes, such as a memory leak in our Transaction Pool

⚠️ Caution ⚠️

Breaking changes

This release includes breaking changes that are not compatible with the nodes synced on alpha versions. Alpha versions will be released with only critical fixes. All users are recommended to upgrade to the Beta release.

Beta update requires a resync from scratch:

  1. Stop your Reth node.
  2. Drop the database: reth db drop.
  3. Update your Reth binary to the latest v0.2.0-beta.1 version.
  4. Start the node using the same command you used on alpha versions.

OP-Reth users

Reth Beta is not compatible with Optimism yet. We expect op-reth to work on Beta in the next v0.2.0-beta.2 release. Until that, it's recommended for the op-reth users to stay on the alpha version.

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

  • primitives/chain: dev chain support cancun upgrade (#7033)
  • feat(rpc): Add 4844 checks to ethCallBundle (#7078)
  • fix: add timeouts to the hive CI (#7092)
  • chore: more Vec over BytesMut (#7084)
  • fix(storage): backport read-only FS database support (#7091)
  • feat(storage): bump mdbx to 0.12.9 (#7090)
  • fix(bin, node-core): commit genesis header into static files after db (#7089)
  • chore: mount all datadirs in docker-compose.yml (#7088)
  • fix(rpc): less clones in logs filter (#7060)
  • fix(rpc): cache transaction hash when filtering over receipt logs (#7074)
  • chore(deps): weekly cargo update (#7080)
  • chore: inspector stack from evm-inspectors (#7076)
  • grafana/overview: add RPC QPS dashboard (#7025)
  • fix: remove redundant checking for if peer is banned (#7069)
  • Remove tx pool row from reth dashboard (#7029)
  • perf: use special geth tracer config setups (#7062)
  • bump: revm v7.1.0 (#7064)
  • chore: bump max concurrent outbound dials (#7057)
  • chore(txpool): update size metrics on every insert & removal of transactions (#7051)
  • feat(rpc): add support for muxTracer (#7053)
  • chore: be less strict when slashing trusted peers (#7052)
  • bug template use multi-line input for version (#7055)
  • chore: fix typos (#7049)
  • perf: replace BytesMut with alloy_rlp::encode (#7047)
  • feat(trie): parallel storage roots (#6903)
  • chore: bump Grafana version in docker compose (#7032)
  • chore: make clippy happy (#7045)
  • chore: remove repetitive words (#7041)
  • fix: revert filter_logs type (#7046)
  • chore: mem take topics when converting logs (#7048)
  • Revert "chore(github): skip some heavy jobs when PR is not related (#6667)" (#7035)
  • decrease default tracing permits (#7010)
  • docs: more node-builder docs (#7034)
  • test(ef-tests, storage): do not sync_all static files in state tests (#6914)
  • feat(storage): improve current process detection for MDBX HSR (#6917)
  • chore: condition export of generate_blob_sidecar on its cfg (#7023)
  • Update panel descriptions (#7020)
  • release: v0.2.0-beta.1 (#7021)
  • chore(github): skip some heavy jobs when PR is not related (#6667)
  • chore(deps): bump ethers to 2.0.14, enr to 0.10, unpin discv5 (#6634)
  • docs: update static file documentation (#6878)
  • Add new mempool panels + existing mempool panels to new dashboard (#7014)
  • bugfix: hive build-args (#7013)
  • Rename TxType variants to UpperCamelCase (#7012)
  • test(stages): fix deadlock with multiple static file writers (#7011)
  • fix: setting GH_TOKEN for hive tests (#7009)
  • Shorten error message on debug assertion (#6988)
  • chore: remove most ethers mentions and code (#6999)
  • fix: immediately refill slots (#6997)
  • Prioritisation network manager + transactions manager + eth request handler (#6590)
  • ci/test: speed up tests (#6987)
  • chore: use IntoIterator more (#6998)
  • remove clique related tests (#6996)
  • Node tests crate (#6972)
  • chore: use cache to determine hardfork (#6989)
  • fix(staged-sync): correctly calculate total entries in bodies checkpoint (#6992)
  • fix: Canyon timestamp overflow (#6990)
  • test(storage): fix flaky read transaction safety (#6995)
  • test(storage): make read transaction safety tests faster (#6994)
  • chore(node-core): add stage id to eta overflow log (#6991)
  • feat(grafana): override Jemalloc chart axis (#6984)
  • chore: update cargo deny to handle deprecated config entries (#6980)
  • chore: rm more optimism features (#6981)
  • feat: add trace opcode gas (#6977)
  • feat: support any Inspector for block + tx tracing (#6978)
  • chore: rm coverage badge (#6976)
  • feat: add engine API metrics graphs (#6963)
  • Fix smallvec dependency conflict (#6956)
  • feat(node-core): stage progress decimal places (#6974)
  • fix(stages): calculate checkpoints from static files (#6973)
  • chore(node-core): log errors in debug when ETA fails to calculate (#6971)
  • feat: add OP specific txpool (#6902)
  • feat(api,rpc): improve engine API abstraction (#6871)
  • feat(bin): delete static files from highest to lowest in drop stage (#6970)
  • fix(stages, etl): clear ETL collectors in Headers stage when done (#6964)
  • rm deposit from pooledtx (#6941)
  • chore(deps): bump actions/setup-go from 3 to 5 (#6968)
  • chore(deps): bump actions/deploy-pages from 2 to 4 (#6967)
  • chore(deps): bump actions/download-artifact from 3 to 4 (#6966)
  • txpool: track failed delete blobs in cleanup (#6952)
  • Tx fetcher metrics (#6951)
  • restrict max concurrent outbound dials (#6860)
  • Comment TransactionsManager (#6651)
  • feat(trie): metrics (#6943)
  • chore(ci): run clippy with --locked (#6955)
  • cargo: missing once_cell (#6953)
  • chore(deps): bump docker/build-push-action from 4 to 5 (#6950)
  • chore(deps): bump docker/setup-buildx-action from 2 to 3 (#6949)
  • chore(deps): bump actions/upload-artifact from 3 to 4 (#6948)
  • chore(deps): bump peter-evans/create-pull-request from 5 to 6 (#6947)
  • chore(deps): bump actions/stale from 8 to 9 (#6946)
  • feat: dependabot to keep github actions workflows up to date (#6942)
  • feat(storage): log debug commit message only on commit (#6918)
  • feat(storage): use mdbx_txn_reset to time out transactions (#6924)
  • fix(tx-fetcher): only remove peer from active_peers when inflight_count <= 0 (#6928)
  • Small tx response verification optimisation (#6911)
  • Return fetch error on response that fails verification or validation (#6864)
  • Add panel for observing network manager future (#6892)
  • feat: creating issues when hive fails (#6938)
  • chore(deps): weekly cargo update (#6939)
  • chore(task): move blocking pool to reth-tasks (#6929)
  • Filter announcement txns pending import (#6932)
  • feat(transaction-pool): remove deposit variant for mocktransaction (#6931)
  • fix(db): race condition in Tx cached handles (#6923)
  • Add test for tx response verification (#6926)
  • Bump Prod-readiness status (#6921)
  • Revert "feat(storage): use mdbx_txn_reset to time out transactions … (#6919)
  • feat: raw_tx_by_hash (#6827)
  • fix: do not attempt clique header sender recovery on genesis (#6916)
  • feat: print a backtrace on SIGSEGV (#6907)
  • feat(node-core, storage): static files segment metrics (#6908)
  • Remove accidentally merged fields (#6912)
  • feat(provider): consistent database view (#6896)
  • feat: add activation timestamps (#6865)
  • Add grafana panel for maintenance txpool metrics (#6719)
  • 0x/rm unused dep (#6899)
  • chore: unify decode enveloped fn args (#6904)
  • feat: sat math for tx value (#6900)
  • bound hashes inflight and pending fetch size (#6877)
  • fix: use replacement transaction hash in PoolError (#6898)
  • perf: rm redundant collect (#6895)
  • Compute min length mempool transactions message by type (#6853)
  • feat(storage): use mdbx_txn_reset to time out transactions (#6850)
  • fix: use HashSet for transactions_by_peers (#6893)
  • feat: integrate builder (#6611)
  • fix: handle both compressed and uncompressed disconnect reason decoding (#6862)
  • chore: remove unused dependencies to speed up buildin...
Read more

Reth v0.1.0-alpha.22

11 Mar 16:55
Compare
Choose a tag to compare

image

This release includes revm version bump with a bug fix.

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.1.0-alpha.22
  • chore: bump revm

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.1.0-alpha.22-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v0.1.0-alpha.22-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v0.1.0-alpha.22-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v0.1.0-alpha.22-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v0.1.0-alpha.22-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker paradigmxyz/reth

Reth v0.1.0-alpha.21

28 Feb 11:28
e0c220e
Compare
Choose a tag to compare

image

Summary

A quick follow up release that includes:

  • A fix of critical bug during live sync that could lead to panic or bad state (#6821)
  • New eth_getRawTransaction RPC method (#6830, #6832)
  • TransactionFetcher improvement that forces proper response validation (#6439)

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

  • fix: actually use envelope encoding for pooled tx (#6832)
  • feat: add eth_getRawTransaction (#6830)
  • release: v0.1.0-alpha.21 (#6828)
  • Verify tx response data against request (#6439)
  • feat: Add dumpgenesis subcommand (#6797)
  • fix(primitives): sealed block senders check (#6822)
  • Fix units for tx manager poll metrics (#6817)
  • fix(ChainTree): set first block on forked chain (#6821)
  • feat(node): dev node print genesis account (#6819)
  • feat: NetworkHandle get access to TransactionsHandle (#6780)
  • fix(downloader): remove optimization for single full block download (#6820)
  • fix(docs): Remove op-node Rollup Config CLI Flag (#6813)
  • Add alexey as code owner for db (#6816)
  • Clone read transactions into TxnManager message listener (#6809)
  • Downgrade log level for remote client spec bug (#6815)
  • Ship TransactionFetcher panel in Grafana dashboard and fix InsertedTransactions panel bug (#6646)
  • chore(op): Clean up ChainSpecs (#6810)

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.1.0-alpha.21-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v0.1.0-alpha.21-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v0.1.0-alpha.21-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v0.1.0-alpha.21-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v0.1.0-alpha.21-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker paradigmxyz/reth

Reth v0.1.0-alpha.20

26 Feb 20:42
54db85a
Compare
Choose a tag to compare

image

Summary

This release includes:

Upcoming beta release will include breaking database changes and will require a full resync.
Follow-up alpha releases will only include backported critical fixes for Cancun.

Update Priority

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

User Class Priority
Payload Builders Low Priority
Non-Payload Builders Low Priority
OP-reth High priority

See Update Priorities for more information about this table.

All Changes

  • feat(primitives): Add Base Mainnet Ecotone fork time (#6806)
  • chore: pin cc (#6804)
  • release: v0.1.0-alpha.20 (#6800)
  • chore: downgrade backoff counter to u8 (#6799)
  • chore(deps): bump nybbles, correct some unchecked usages (#6794)
  • perf(db): cache db handles using OnceLock (#6750)
  • chore: simplify collect DatabaseProvider methods (#6747)
  • Replace async trait with ->impl Future (#6791)
  • fix: saturate blob metrics (#6779)
  • fix(ci): allow non_local_definitions on false positives (#6790)
  • chore: retrieve single pooled tx by hash (#6785)
  • fix some typos (#6789)
  • Remove async-trait as dependency from crate stages (#6771)
  • Improve eth_getLogs performance for latest block (#6305)
  • chore(deps): weekly cargo update (#6783)
  • docs: improve pool imports + pending transactions docs (#6781)
  • doc(hidden) for TransactionsManager handle only used in tests (#6748)
  • chore: use Display instead of Debug for most errors (#6777)
  • chore: rm duplicated remove_pending_session call (#6773)
  • chore: use fmt::Formatter helpers (#6775)
  • fmt: format some tests (#6774)
  • fmt: format tracing macro calls (#6776)
  • Disable jemalloc when cross-building aarch64 (#6766)
  • config cache from cli (#6767)
  • chore(trie): prefer accepting IntoIterator args (#6772)
  • feat: introduce evm config trait (#6461)
  • fix: make config backwards compat (#6768)
  • feat(op): Cancun support in payload builder and processor (#6731)
  • Replace #[async_trait] with ->imp for traits in rpc_testing_util (#6757)
  • Replace #[async_trait] with ->imp for traits in eth_wire (#6756)
  • refactor: rename blob_gas_price to blob_base_fee (#6721)
  • feat: using smallvec (#6740)
  • replace #[async_trait] with native async trait for trait Resolver (#6751)
  • Meter tx manager poll duration (#6688)
  • chore: rm unused op dep (#6743)
  • chore: remove some unnecessary calls to unwrap/expect (#6727)
  • chore: add missing trace targets (#6739)
  • perf(metrics): cache handles for database transaction metrics (#6730)
  • Fix(rpc) Effective gas_price for simulations (#6722)
  • feat: add BestTransactionsWithAttributes blob fee checks (#6674)
  • Bug fix, filter out already imported transactions (#6723)
  • docs: fix typo (#6733)
  • fix: BlockNumberAddress related doc and namings (#6732)
  • fix(op): Correct Cancun activation check in OP payload builder (#6729)
  • chore: don't box some futures (#6728)
  • chore: remove unrelated SAFETY tags on comments (#6726)
  • chore: a few parked pool touchups (#6725)
  • Clean up tx manager (#6681)
  • perf: track last sender's submission id (#6718)
  • perf: update added result in place (#6715)
  • chore: add exceeds fn (#6716)
  • test: add pprof flamgegraph bench (#6712)
  • chore: rm unused var (#6713)
  • chore: remove unused genesis_hash in NetworkState and NetworkManager (#6704)
  • chore: move cli runner to reth-node-core (#6710)
  • chore: set test-fuzz to workspace dep, bump c-kzg (#6705)
  • perf: make truncate_pool no-op if pending is under limits (#6706)
  • chore: improve docs (#6702)
  • chore: provide mined transactions in order (#6700)
  • perf: pre allocate unique senders list (#6689)
  • fix: dont include invalid responses (#6697)
  • docs: rm duplicate notes (#6694)
  • feat: add debug! log on database commit times (#6693)
  • fix: Duration serde execution stage (#6691)
  • feat: add queued pool truncate benchmarks (#6684)
  • chore: change consumer in docs of remove_transactions (#6685)
  • chore: cleanup ECIESError (#6687)
  • Unify txpool.remove function (#6641)
  • Clean up docs tx manager (#6682)
  • Fix broken test pack request (#6676)

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.1.0-alpha.20-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v0.1.0-alpha.20-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v0.1.0-alpha.20-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v0.1.0-alpha.20-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v0.1.0-alpha.20-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker paradigmxyz/reth