Skip to content

Releases: paradigmxyz/reth

Reth v1.0.7

19 Sep 20:17
75b7172
Compare
Choose a tag to compare

image

Summary

This release contains performance improvements, new features, and bug fixes.

RPC now includes eth_simulateV1 (#10829), as well as many bug fixes:

  • fix: don't recurse on op rpc err conversion (#10860)
  • fix: improve nonce too low error (#10711)
  • fix: reject 7702 transactions with empty auth list (#10709)
  • feat: Include missing block id in error responses (#7416)

The new Engine API --engine.experimental mode has had some bug fixes:

  • fix: always acquire numbers lock first (#10842, #10843) - fixes a deadlock that some users were experiencing

Users should try the --engine.experimental mode on non-critical workloads, although ExEx usage is still discouraged. The --engine.experimental mode has also had some observability improvements:

  • fix(metrics): set sync metrics when blocks are added (#10799)
  • chore(tree): make tree trace targets consistent (#10731)

Block witnesses are now produced whenever a bad block is produced:

  • feat(engine, tree): witness invalid block hook (#10685)
  • feat(cli): enable witness invalid block hook by default (#10839)

Syncing optimism mainnet is now supported with minimal bootstrap (only requires bedrock state snapshot)

  • feat: allow syncing op-mainnet with only state and without importing blocks/receipts (#10850)

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

  • fix: rm more windows (#11050)
  • feat: add blocks_per_file field to StaticFileProvider (#11043)
  • chore: use alloy-chains is_ethereum (#11049)
  • feat: make NodeConfig generic over ChainSpec (#11039)
  • chore(engine): revert disabling parallel state root (#11047)
  • Revert "chore(op-payload-builder): Refactor optimism_payload into smaller, reusable functions" (#11041)
  • hash_keys bench: use HashSet::with_capacity (#11044)
  • Update OptimismPayloadBuilder field visibility (#11042)
  • feat: make DatabaseProvider generic over chainspec (#10978)
  • reth-stages: remove duplicate buf clear (#11035)
  • chain-state: replace primitive imports with alloy-eips (#11038)
  • feat: local engine (#10803)
  • test: 4844 testdata (#11033)
  • fix(engine): state retrieval for parallel root with persisted parent (#10966)
  • Update function visibility for cfg_and_block_env() (#11022)
  • fix(lint): lint warnings for db benchmark tools (#11011)
  • chore(payload): replace reth_primitives with alloy_primitives (#11030)
  • fix: only decode fields (#11031)
  • fix(lint): lint warnings trie tests (#11012)
  • fix(lint): lint warnings consensus test-utils (#11013)
  • fix(lint): lint warnings in reth-eth-wire (#11008)
  • fix(lint): lint warnings rpc builder (#11014)
  • fix(lint): warnings engine API (#11015)
  • fix(lint): warnings ef testing (#11016)
  • fix(lint): warnings network tests (#11017)
  • fix(lint): warnings rpc testing utils (#11018)
  • fix(lint): ethereum node tests (#11019)
  • fix(lint): op-reth tests (#11020)
  • feat: make reth-stages independent of concrete DatabaseProvider (#10934)
  • fix(lint): lint warnings for storage codecs fuzz (#11009)
  • docs: recorrect the sentry (#11028)
  • fix: update pool gas limit (#11025)
  • chore(engine): disable parallel state root (#11024)
  • net: replace reth-primitive imports (#11023)
  • chore(op-payload-builder): Refactor optimism_payload into smaller, reusable functions (#10904)
  • fix(lint): lint for derive Compat (#11005)
  • fix(lint): lint warnings for libmdbx benches (#11007)
  • (fix): lint warning IPC (#11006)
  • Handle non-default cargo target dir (#10775)
  • chore: remove windows cfg (#11002)
  • storage: replace reth-primitive imports with alloy-eips (#10992)
  • feat(cli): expose tree engine persistence configuration (#10999)
  • chore: move eip7251 impl (#11000)
  • chore: move eip7002 impl (#10998)
  • chore(reth-primitives): use COMPACT_EXTENDED_IDENTIFIER_FLAG (#10926)
  • feat: eth_simulateV1 support (#10829)
  • emv: add BlockHeader trait and default fill_block_env (#10993)
  • feat: allow syncing op-mainnet with only state and without importing blocks/receipts (#10850)
  • storage: replace reth-primitive imports (#10981)
  • chore: make error msg conform to normal usage (#10988)
  • feat: extend pool configuration (#10985)
  • cli: replace reth-primitive imports with alloy-eips (#10994)
  • chore: move eip4788 impl (#10977)
  • chore: change BlockAndProofV1 to use alloy_eips instead (#10969)
  • chore: release 1.0.7 (#10990)
  • chore: bump alloy (#10989)
  • chore: bump revm and inspectors (#10982)
  • chore: add display to FromEngine and other messages (#10986)
  • fix: also include reverts for op (#10979)
  • chore(e2e-test-utils): replace reth_primitives with alloy_primitives (#10980)
  • chore(chain-state): replace reth_primitives with alloy_primitives (#10975)
  • evm: use Header AT in ConfigureEvmEnv (#10968)
  • fix(trie): remove debug_assert for storage root (#10973)
  • docs: add geth reference for call fee check (#10970)
  • feat: move next block cfg and env to configureevm (#10962)
  • deps: bump alloy-trie to 0.5.3 (#10960)
  • perf(rpc): use only Revm cache for execution witness (#10454)
  • feat(cli): enable witness invalid block hook by default (#10839)
  • chore: early return EMPTY_ROOT_HASH (#10957)
  • chore: move eip2935 impl (#10954)
  • feat(exex): backfill on subscription with head (#10787)
  • chore: include network primitives in workspace (#10952)
  • execution: add transaction and header AT to ConfigureEvmEnv (#10754)
  • Move cfg_env and block_env configuration from PayloadBuilderAttributes into PayloadBuilder (#10510)
  • reafctor: improve tx count (#10889)
  • fix(cli) Allow Pruning CLI Args to take precedence over TOML configuration (#10774)
  • error: use derive-more Error for deriving error (#10841)
  • chore(reth-primitives): use derive_more::From when possible (#10917)
  • chore(primitives, ethereum-forks): replace std feature gate alloc imports (#10945)
  • blockchain-tree-api:replace reth_primitives with alloy_primitives (#10946)
  • fix(rpc): add fee/value and balance to insufficient funds RPC error (#10872)
  • chore(op): remove redundant op feature from reth-optimism-consensus (#10944)
  • chore(reth-ethereum-consensus): use const GAS_LIMIT_BOUND_DIVISOR (#10948)
  • chore(reth-primitives-traits): use EOF_BYTECODE_ID etc (#10949)
  • chore(reth-provider): use Vec::with_capacity (#10912)
  • feat(reth-evm-ethereum): use EVMError::map_db_err (#10916)
  • chore: use MIN_TRANSACTION_GAS replace magic number (#10910)
  • fix(exex): do not advance backfill range twice (#10942)
  • feat: use DBProvider instead of DB on init_genesis (#10937)
  • fix(ci): use taiki-e/install-action instead for cargo-udeps (#10938)
  • feat: use DbProvider on UnifiedStorageWriter (#10933)
  • ci: dev udeps (#10855)
  • trie: replace reth_primitives with alloy_primitives (#10931)
  • refactor: make reth-prune independent of concrete DatabaseProvider (#10921)
  • feat(engine): compare invalid block witness against a healthy node (#10844)
  • feat(trie): integrate TrieInput into ParallelStateRoot & AsyncStateRoot (#10930)
  • feat(trie): expose multiproof via StateProofProvider (#10915)
  • feat(trie): integrate TrieInput into StateProofProvider methods (#10929)
  • feat(trie): async root intermediate nodes (#10920)
  • feat(trie): TrieInput (#10918)
  • chore(deps): weekly cargo update (#10911)
  • chore: add is granite active at timestamp (#10908)
  • chore: update genesis to chain spec conversion (#10764)
  • chore(reth-execution-errors): use derive_more::From when possible (#10897)
  • chore: Some minor refactoring for cargo.toml (#10906)
  • chore: fix ci (#10903)
  • feat(evm-optimism): add OpBlockAccessListExecutor (#10895)
  • chore: remove an intermediate allocation in ExecutionOutcome (#10900)
  • fix: actually use RevmBytecode::new_raw_checked (#10899)
  • perf: improve genesis handling (#10878)
  • chore: separate trait for conversion into state provider (#10858)
  • Fix: Allow missing docs for test modules (#10893)
  • feat(evm-ethereum): add BlockAccessListExecutor (#10849)
  • feat: add support for wrapping the allocator with tracy (#10874)
  • chore: bump alloy 0.3.5 (#10891)
  • chore(op): Move imports in reth_optimism_rpc::sequencer to module prelude (#10886)
  • chore(op): Use tokio::sync::OnceCell to set SequencerClient (#10885)
  • cfg: replace std feature gate alloc imports with extern crate alloc (#10861)
  • dev: add send_and_resolve (#10847)
  • fix(cli): remove static file providers from cache on reth db stats (#10887)
  • chore(op): Clean up module reth_optimism_rpc::eth::sequencer (#10884)
  • chore: remove unnecessary segment argument from StaticFileProviderRW (#10882)
  • fix: don't validate requests in optimism (#10883)
  • fix(cli): ensure reth init-state doesn't end in an invalid state root (#10880)
  • fix(reth): bin/reth missing help msg of segment (#10873)
  • fix: use configured chainspec parser for commands (#10876)
  • docs: minor evm doc changes (#10867)
  • dev: test vectors seed (#10859)
  • fix: revert header error message change (#10866)
  • chore: remove useless non exhaustive (#10865)
  • fix: include reverts in execution outcome when building payload (#10837)
  • chore(grafana): display empty string if no cargo features are available (#10862)
  • perf(engine): parallel storage roots (#10666)
  • chore: alias of datadir.static-files and upate book cli (#10856)
  • fix: don't recurse on...
Read more

Reth v1.0.6

29 Aug 19:44
c228fe1
Compare
Choose a tag to compare

image

Summary

This release contains performance optimizations, bugfixes, and new features.

It comes with the (still experimental) new EngineAPI implementation which is available as an opt-in via --engine.experimental, drastically reducing the time it takes to handle the fork choice update message (<1ms). ExEx usage in this mode is currently discouraged.
Further performance improvements are underway before this becomes the default implementation of EngineAPI in upcoming versions.

The main bugfixes are:

  • RPC
  • OP-Reth
    • chore: Update granite mainnet time (#10430)
    • fix: only set isSystemtx if true (#10496)
    • fix(op): empty receipts for block not counted by file client (#10581)
    • fix: set gas price for op deposit (#10495)
    • feat: disable l1 data gas cost in --dev mode (#10332)

New dev changes and features include:

  • Dev
    • feat: ChainSpec associated type (#10292)
    • feat(rpc): Add method removal functionality for RPC transports (#10497)
    • feat: add subscribe_safe_block & subscribe_finalized_block to CanonicalInMemoryState (#10317)
    • feat : add the ability to connect to a peer (#10028)

Breaking Changes

  • removed CLI value for rpc module eth_callBundle which is now part of eth: (#10486)

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

  • fix(op): empty receipts for block not counted by file client (#10581)
  • fix: op fee fields (#10615)
  • release: v1.0.6 (#10609)
  • chore: bump op-alloy to latest (#10607)
  • test: TransactionsProvider implementation of BlockchainProvider2<DB> (#10594)
  • tree: bump persistence threshold and memory buffer target (#10608)
  • chore(deps): bump alloy (#10537)
  • chore: re-export reth_chainspec in reth (#10604)
  • chore(tree): make on_engine_message more concise (#10605)
  • fix(hive): remove eth_createAccessList tests from expected failures (#10601)
  • chore(trie): clean up state root methods (#10598)
  • Pending receipt (#10597)
  • chore(trie): StorageRootProvider (#10592)
  • ethereum: add unit tests for consensus validation (#10578)
  • chore(trie): remove plain state proof variant (#10593)
  • refactor: split validate_block_pre_execution into hardfork specific functions (#10576)
  • fix: pop consolidation requests in payload builder (#10591)
  • feat(debug): engine reorg util depth (#10575)
  • chore: bump discv5 (#7981)
  • docs(book): update observability.md (#10587)
  • fix(op): receipts import, fix chunked read of file with optional block data (#10577)
  • chore(tree): make remove_before bound inclusive (#10559)
  • chore: add tempfile to dev dep (#10569)
  • refactor(provider): random_block and random_block_range functions (#10563)
  • chore(op): Add OpChainSpec (#10516)
  • chore: sort lints (#10565)
  • test: BlockReader implementation of BlockchainProvider2<DB> (#10557)
  • clippy: add needless_for_each clippy lint (#10555)
  • docs(reth-engine-tree): slightly improve inline docs (#10561)
  • clippy: add manual_is_variant_and clippy lint (#10556)
  • chore: delay initial filter tick (#10564)
  • feat: Properly bubble up InsertBlockFatalError (#10276)
  • fix(engine): memory overlay hashed storage root (#10543)
  • remove transaction forwarder trait (#9678)
  • chore(chainspec): move op stack chain specs to reth-optimism-chainspec (#10485)
  • chore: export RethApiClient trait (#10545)
  • feat(rpc): implement eth_getTransactionBySenderAndNonce (#10540)
  • chore: remove usage of RichBlock (#10538)
  • perf(engine): lazy load overlay trie state (#10541)
  • dev(pool): trait object safe BestTransactions (#10478)
  • perf(trie): remove some clones (#10406)
  • feat: use system call to update blockhashes (#10535)
  • clippy: add implicit_clone clippy lint (#10529)
  • clippy: add if_not_else clippy lint (#10524)
  • Feat: exact gasUsed for eth_createAccessList (#10422)
  • storage: add test_block_body_indices for block_body_indices (#10429)
  • clippy: add unnested_or_patterns clippy lint (#10526)
  • clippy: add redundant_else clippy lint (#10525)
  • chore: rm unused op rpc types (#10534)
  • clippy: add cloned_instead_of_copied clippy lint (#10530)
  • feat: impl From alloy-consensus::TxType for reth_primitives::TxType (#10523)
  • clippy: add option_as_ref_cloned clippy lint (#10528)
  • chore(reth-codec): remove unused code (#10531)
  • chore(reth-codec): use constant (#10533)
  • fix(trie): consider all intermediate nodes invalidated for wiped storage (#10476)
  • chore: fix clippy (#10532)
  • feat: add impl From BlockExecutionOutput for ExecutionOutcome (#10507)
  • tx-pool: add try_from_consensus for PoolTransaction (#10504)
  • chore(deps): weekly cargo update (#10506)
  • primitives: rm IntoRecoveredTransaction for TransactionSignedEcRecovered (#10505)
  • fix: transaction_by_hash_with_meta implementation of CanonicalInMemoryState (#10501)
  • docs: fix git clone urls (#10490)
  • fix: only set isSystemtx if true (#10496)
  • refactor(rpc): Use TransactionInfo instead of individual fields (#10500)
  • fix: set gas price for op deposit (#10495)
  • tx-pool: rm into tx constraint for PoolTransaction (#10057)
  • feat(rpc): Add method removal functionality for RPC transports (#10497)
  • refactor: mv ChangedAccount (#10472)
  • chore(txpool): rename the function of tx_by_sender_and_nonce (#10473)
  • docs: fix broken link in review.md (#10480)
  • chore: remove clippy::missing_debug_implementations (#10491)
  • chore(cli): rename optimism args test (#10492)
  • rpc: remove special module handling for eth_callBundle (#10486)
  • feat : add the ability to connect to a peer (#10028)
  • Add emhane as code owner for optimism crates (#10488)
  • Add emhane as code owner for reth-chainspec (#10487)
  • refactor: replace ForkChoiceStream type with generic stream type (#10458)
  • fix(provider): check list size before calling range.nth (#10460)
  • fix(provider): fix subtract overflow on block_state_by_tx_id (#10467)
  • fix(exex): instrument ExEx::launch with the span (#10481)
  • Remove redundant EthChainSpec::Hardfork (#10470)
  • fix(trie): take earliest value in HashedStorage::from_reverts (#10475)
  • perf(rpc): avoid redundant tx decoding on witness generation (#10474)
  • chore(trie): remove PrefixSetMut::contains (#10466)
  • fix(trie): collect revert state for historical storage root (#10465)
  • refactor: use EIP TX_TYPE_ID (#10471)
  • Add tests for withdrawals provider (#10428)
  • chore(tree): remove BlockAttachment usage (#10453)
  • feat(trie): hashed state from cache (#10455)
  • docs(ci): expand introduction to CI workflows (#10291)
  • fix: FetchFullBlockRangeFuture doesn't return on bad header (#10449)
  • chore(rpc): config network specific transaction type in node builder (#10417)
  • test: BlockIdReader implementation of BlockchainProvider2<DB> (#10362)
  • Test CanonStateSubscriptions for BlockchainProvider2 (#10361)
  • chore(net): expose max concurrent GetPooledTransactions reqs in cli (#10358)
  • feat: ChainSpec associated type (#10292)
  • test: CanonChainTracker implementation for BlockchainProvider2 (#10378)
  • feat: make js-feature non default (#10447)
  • chore: no feature gated imports (#10440)
  • Make js-feature non default (#10445)
  • consensus: fix build_header_template output (#10444)
  • exex: add more robust tests for finished_height update (#10439)
  • consensus: refactor build_header_template (#10442)
  • fix(trie): filter out removed nodes on extend (#10433)
  • evm: wider use of RethEvmBuilder (#9944)
  • fix: range update (#10424)
  • chore: replace RichBlock by Block (#10399)
  • feat: add method in txpool for handling pending transactions (#10303)
  • chore: Update granite mainnet time (#10430)
  • fix link typo on BlockState (#10431)
  • test(provider): RequestsProvider of BlockchainProvider2 (#10356)
  • chore: make consensus/debug-client helpers public (#10423)
  • test: add gh workflow to run hive tests with experimental flag (#10355)
  • test(provider): ChangeSetReader of BlockchainProvider2 (#10415)
  • fix(rpc): apply blockhashes update in witness RPC (#10419)
  • fix(rpc/otterscan): set fullblock.tx_count with block's (#10421)
  • test(trie): fuzz in-memory storage nodes (#10413)
  • test: ReceiptProviderIdExt (#10420)
  • fix: block_range (#10418)
  • chore(lint): allow needless update for tests (#10414)
  • fix(trie): skip cleared storage database lookup on InMemoryStorageTrieCursor::next (#10412)
  • fix(trie): clear all deleted storage nodes on extend (#10411)
  • test: BlockReader implementation of BlockchainProvider2<DB> (#10370)
  • Use more appropriate names for forkchoice subscriptions (#10401)
  • fix: getAccount (#10402)
  • fix(trie): filter in-memory storage node on seek_exact (#10410)
  • chain...
Read more

Reth v1.0.5

12 Aug 15:13
603e39a
Compare
Choose a tag to compare

image

Summary

  • Support for OP Granite hardfork (#10107)

Update Priority

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

User Class Priority
OP (Sepolia) critical

See Update Priorities for more information about this table.

All Changes

  • evm: unit tests for evm_with_inspector and evm_with_env_and_inspector (#10253)
  • deps: rm useless dependencies (#10255)
  • typo: replace [Block] by [Block] in doc (#10254)
  • feat: ForkChoiceNotifications for BlockchainProvider and NoopProvider (#10231)
  • Add generic BlockStateNotificationStream type for pending, safe, finalized watchers (#10249)
  • fix: TreeState::on_new_head fork and reorg handling (#10232)
  • fix: make WithdrawalsProvider methods aware of in-memory state (#10245)
  • docs: add more engine design docs (#9748)
  • fix: use --chain base for op-sync CI test (#10244)
  • fix: use op-reth bin for unwind in op-sync CI (#10243)
  • fix: make EvmEnvProvider methods aware of in-memory state (#10240)
  • chore: remove WriteTransactions from PersistenceAction (#10241)
  • chore: release 1.0.5 (#10242)
  • feat: add stage run tests (#10164)
  • chore: remove reference to EngineApiTreeHandlerImpl (#10239)
  • test: add test for prune.segments toml parsing (#10236)
  • feat: add setting for how many blocks can be persisted (#10237)
  • feat: function-like macro for generating tests (#10233)
  • chore: add trace for when nothing to propagate (#10226)
  • chore: use exact max full peer count or round (#10228)
  • fix: only mark propagated txs as seen (#10234)
  • feat: add metrics for dropped outgoing messages (#10225)
  • evm: add unit tests for ConfigureEvm trait (#10230)
  • deps: rm unused deps (#10229)
  • Add support for optimism granite hardfork (#10107)
  • docs: fix Common metrics types path (#10224)
  • feat: make additional validation tasks size configurable (#10200)
  • feat: integrate engine2 for optimism (#10222)
  • feat: inject locally built payloads into the tree (#10216)
  • feat: make Eth node launcher generic (#10218)
  • fix: detect invalid buffered block when insert fails (#10217)
  • feat: make EthService generic over engine types and block executor (#10212)
  • chore: derive serde traits (#10198)
  • fix: properly modify spec id for evm (#10210)
  • refactor: replace once_cell Lazy with LazyLock (#9844)
  • Bump tokio version to mitigate default error in reth-chain-state (#10207)
  • chore: downgrade ipc warning (#10205)
  • fix: return only canonical blocks for history_by_* methods (#10190)
  • refactor: derive PartialEq for CanonStateNotification (#10195)
  • reth-eth-types: Do not import JsInspectorError by default (#10202)
  • fix: add requests root when converting alloy header (#10197)
  • chore: remove some outdated todos (#10196)
  • Convert pending block to a watch channel (#10203)
  • deps: rm unused deps (#10192)
  • chore: allocate for encoded txs (#10193)
  • feat: use in memory state for header_td (#10189)
  • feat: add basic engine2 exec and root perf logs (#10188)
  • feat(engine-util): reorg interceptor (#10173)
  • feat: add block_body_indices for BlockchainProvider2 (#10106)
  • chore: Replace reth-provider dependency for reth-eth-types with direct dependencies (#10175)
  • build in --debug mode for update-book-cli (#10178)
  • fix: reset auth list in txenv on non-7702 txs (#10177)
  • feat: add error tracing when persistence service fails (#10170)
  • docs: add spec docs and todo for OP (#10171)
  • fix: dont reset build interval when block finished (#10166)
  • feat: support ms for --builder.interval (#10168)
  • feat: integrate executed block into OP built payload (#10162)
  • feat: introduce EngineApiRequest type (#10158)
  • feat: add stream helper types (#10163)
  • feat: add executed block to built payload trait (#10161)
  • chore: lower persistence threshold (#10156)
  • test: engine tree live sync, FCU extends canon chain with existing blocks (#10154)
  • feat: execute downloaded blocks in batches (#10155)
  • feat: swap Dashmap for StaticFileWriters on StaticFileProvider (#10089)
  • test: live sync test to check make canonical (#10131)
  • Feature gate jsonrpsee related crates and check features powerset for reth-rpc-types (#10141)
  • feat: make EngineApiRequestHandler generic over request (#10147)
  • fix: use in memory state for state_by_block_number_or_tag (#10152)
  • Add CI lint check using cargo hack for checking features powerset (#10142)
  • chore: remove EngineTwoDockerfile (#10151)
  • fix: only use tags if they have been set (#10150)
  • feat: add --engine.experimental flag to enable engine2 (#10051)
  • feat: keep sender in tree task (#10148)
  • feat: add header to stage command (#10127)
  • chore: remove clippy::manual_unwarp_or_default (#10146)
  • feat: ensure consistent forkchoice state always (#10144)

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

What's Changed

Read more

Reth v1.0.4

06 Aug 19:01
e24e4c7
Compare
Choose a tag to compare

image

Summary

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

  • Check features powerset for reth-primitives (#10138)
  • chore: ensure persistence receiver is dropped (#10133)
  • fix: use actual latest state for BlockchainProvider2 (#10137)
  • chore: rename EngineApiTreeHandler (#10140)
  • chore(reth-node-metrics): remove unused code (#10139)
  • chore: remove trait EngineApiTreeHandler (#10136)
  • Check features powerset in reth-codecs (#10134)
  • chore: release 1.0.4 (#10122)
  • docs: misc engine docs (#10135)
  • feat: add EngineApiKind enum (#10128)
  • typo: replace [BlockId] by [BlockId] (#10121)
  • trie: add Default impl for AccountProof (#10132)
  • remove pending block support from OpEthApi (#10074)
  • feat: add EngineApi metrics (#10125)
  • chore(engine): enable clippy checks (#10120)
  • update op-reth docs for discv4 option (#10119)
  • feat: Support custom EvmConfig for ethereumpayload builder (#10117)
  • fix: validate header against parent in engine2 (#10114)
  • dep: rm unused dependencies (#10099)
  • perf: spawn eth orchestrator as regular task (#10113)
  • chore: rm redundant ( (#10112)
  • chore(deps): bump EmbarkStudios/cargo-deny-action from 1 to 2 (#10109)
  • fix: use in memory state for state_by_hash (#10105)
  • feat: enable asm-keccak on more platforms (#10101)
  • chore(net): Move reth_network::NetworkEvents into reth-network-api (#10062)
  • chore: add additional traces for promoted txs (#10093)
  • fix: ensure we're skipping invalid tx kinds (#10095)
  • chore(reth-network-api): fix typos (#10094)
  • test: live sync transition, tree requests required blocks (#10082)
  • chore: dont use tmp lock vars (#10092)
  • Add in-memory block TD lookup support (#10052)
  • tx-pool: add unit tests for add_sender_count (#10086)
  • chore(rpc): remove parent beacon root from conversion functions (#10090)
  • feat: add metrics for in-memory state (#10085)
  • fix: use recv timeout if persistence task is active (#10087)
  • feat(evm): support wasm32-wasip1 (#10083)
  • fix: deadlock on StaticFileProvider::get_writer (#10069)
  • tx-pool: add unit tests for EthPooledTransaction (#10080)
  • feat: add api bindings for eth_simulateV1 (#10050)
  • feat: add empty state method for tests (#10045)
  • chore: re-add derived 7702 arbitrary impl (#9720)
  • workflows: don't run assertoor tests on forks (#10077)
  • Move PeersHandleProvider to new module reth_network_api::test_utils (#10060)
  • tx-pool: add unit tests for FinalizedBlockTracker update (#10078)
  • chore(reth-ethereum-engine): Replace HeadersClient + BodiesClient with BlockClient (#10065)
  • chore(reth-beacon-consensus): Replace HeadersClient + BodiesClient with BlockClient (#10066)
  • chore(reth): Replace HeadersClient + BodiesClient with BlockClient (#10067)
  • chore(reth-engine-tree): Replace HeadersClient + BodiesClient with BlockClient (#10073)
  • Move reth_eth_wire::ProtocolVersion and reth_eth_wire::Capabilities to reth-eth-wire-types (#10071)
  • chore(reth-network-p2p): Replace HeadersClient + BodiesClient with BlockClient (#10058)
  • chore(reth-node-builder): Replace HeadersClient + BodiesClient with BlockClient (#10059)
  • chore(deps): weekly cargo update (#10064)
  • fix: start payload builder on already canon head (#10041)
  • chore(net): move reth_network::BlockDownloaderProvider to reth-network-api (#10003)
  • chore: replace unreachable error variant (#10049)
  • feat: improve download observability (#10039)
  • implement part of reth p2p rlpx ping (#9762)
  • Added sync stages status to eth_sync (#10042)
  • chore: remove expects in persistence task (#10031)
  • fix: drop provider before getting the next one on range queries (#10034)
  • feat: use BTreemap for block numbers in CanonicalInMemoryState (#10040)
  • feat: add prague check in ExecutionPayloadValidator (#10033)
  • feat: add engine2 Dockerfile (#10036)
  • deps: bump zstd (#10032)
  • feat: support in memory lookups in BlockchainProvider2 (#9999)
  • feat: add more granular tx propagation logs (#10026)
  • chore(net): move reth_eth_wire::DisconnectReason to reth-eth-wire-types (#10006)
  • tx-pool: rm constraint for PoolTransaction (#10024)
  • chore: use correct type in getAccount (#10023)
  • chore: use UnifiedStorageWriter::commit where possible (#10019)
  • chore: sort workspace Cargo.toml entries (#10022)
  • chore: use alloy AccessList result (#10021)
  • feat: add method to check prague active at timestamp (#10020)
  • feat(primitives): k256 crate fallback for secp256k1 module (#9989)
  • fix(rpc/trace): trace_filter filting with trace's address (#9722)
  • feat: add tx-level subpool add and remove traces (#10001)
  • chore: better tree observability (#10014)
  • tx-pool: add Default impl for TransactionOrigin (#10013)
  • chore: downgrade empty blocks to persist trace to debug (#10012)
  • feat : add storage_root provider function for account (#9659)
  • op-reth: Enable eth_getProof inside authrpc (#10010)
  • refactor(trie): remove dependency on reth-db and reth-db-api (#10008)
  • refactor(trie): move database implementations of trie cursors to reth-trie-db crate (#10004)
  • feat(rpc): debug_executionWitness (#9249)
  • refactor(trie): move hashed post state database transaction related functions to reth-trie-db crate (#9987)
  • chore(sdk): enable referencing network type via FullNodeComponents::Network (#9921)
  • feat(ci): check_no_std -> check_wasm (#9982)
  • feat: add has eip7702 transactions (#9996)
  • chore: move remove_blocks_above to StorageWriter (#9997)
  • feat: add pipeline consistency check to launch ctx and use in launcher (#9994)
  • chore(net): extract NetworkHandle methods for launching node to traits (#9966)
  • chore: move save_blocks to StorageWriter (#9991)
  • chore: combine persistence task removal methods (#9975)
  • fix: do not truncate blocks to persist (#9986)
  • chore(net, primitives): use derive_more::Display more (#9992)
  • test: add engine tree test, FCU triggers reorg with all the blocks present (#9943)
  • feat(primitives): improve no_std with manual errors and alloc::String (#9990)
  • typo: fix typo in best tx pool doc (#9988)
  • feat(trie): expose trie witness on proof provider (#9915)
  • feat: handle disconnected blocks (#9981)
  • tx-pool: Make txpool independent of primitive tx types (#9916)
  • chore: turn static file field generic on StorageWriter (#9980)
  • chore(trie): move PrefixSetLoader to db crate (#9985)
  • chore(net): Remove dependency reth-network-p2p -> reth-network-types (#9984)
  • feat: Add OP cli flag to opt-in into discv4 discovery (#9938)
  • chore: remove segment argument from increment_block (#9977)
  • fix: only write receipts once on PersistenceService::save_blocks (#9976)
  • feat: include block number in input (#9971)
  • feat: combine block writing in persistence task (#9960)
  • fix: remove persisted blocks properly (#9969)
  • doc: replace expired example (#9973)
  • fix: treat maxfeepergas 0 as missing (#9967)
  • fix: also ignore nonce in eth_estimate (#9968)
  • feat(exex): backfill stream in batches (#9738)
  • chore: remove outdated Bodies stage TODO (#9965)
  • chore: remove outdated TODOs on execution tests (#9964)
  • Move reputation types from reth-network-api to reth-network-types (#9914)
  • fix: dont select more rayon threads than cpus (#9956)
  • fix: allow empty IP when decoding Ping's from field (#9953)
  • refactor(trie): use reth-storage-errors for DatabaseError type (#9951)
  • feat(provider): more logs for static files (#9949)
  • feat: set pending block in canonical memory (#9950)
  • chore: remove write_trie_updates from StorageWriter (#9947)
  • fix: share DatabaseProviderRW on PersistenceAction::SaveBlocks (#9929)
  • fix: update indices outside of loop on PersistenceService (#9945)
  • fix: only check canonical height (#9941)
  • docs: improving docs from TestBlockBuilder (#9936)
  • chore: pick safe hash for initial download (#9934)
  • feat: handle insert buffered block err gracefully (#9933)
  • fix: persistence action initial block insertion (#9930)
  • chore: move write_hashed_state from StorageWriter to trait StateChangeWriter (#9927)
  • feat: support DNS in reth.toml for trusted_nodes (#9864)
  • test: add TestBlockBuilder (#9925)
  • chore: use StateRootProvider::hashed_state_root_w...
Read more

Reth v1.0.3

18 Jul 17:32
390f30a
Compare
Choose a tag to compare

image

Summary

  • Critical fix for base mainnet (#9600)
  • Async Backfill stream (#9578)

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 base critical

See Update Priorities for more information about this table.

All Changes

  • chore: release 1.0.3 (#9619)
  • feat: move canon state types to new module (#9613)
  • configurable middleware and metrics & http middleware (#9596)
  • feat: allow custom provider type (#9606)
  • revert: 4b8a66f (#9604)
  • chore(reth-network-api): no_std support (#9595)
  • chore: clarify metrics and prometheus (#9603)
  • chore: rm unused mods (#9602)
  • feat(trie): add empty reth-trie-db crate (#9585)
  • chore(reth-db): no_std support (#9597)
  • ef-tests: derive Default for ef-tests structs (#9601)
  • chore: disable reth-codec default feature (#9556)
  • feat: BackFillJobStream (#9578)
  • feat: add canonical in memory state (#9588)
  • fix: Use correct base fee params for Base mainnet after canyon hardfork (#9600)
  • feat: make to_compact borrow (#9488)
  • fix(prune): saturating subtract for genesis deposit contract block (#9584)
  • no_std in reth-ethereum-forks (#9589)
  • chore(tracing): export tracing-appender crate (#9590)
  • chore: no_std in reth-codec (#9587)
  • chore(no_std): fixed no_std compiler errors in reth-primitives-traits (#9572)
  • chore: use each prune segment method on remove_blocks_above (#9568)
  • chore(exex): move notification to types crate (#9586)
  • feat: add in memory state container (#9574)
  • feat: add start backfill sync fn (#9580)
  • feat: add EthNodeLauncher (#9575)
  • chore(evm): remove unneeded lifetimes (#9583)
  • chore(rpc): remove use of optimism feature from reth-rpc library (#9579)
  • chore(rpc): move OpEthApi traits into reth-optimism-rpc (#9581)
  • chore: replace StoredBranchNode, StoredTrieMask and StoredHashBuilderValue types with Compact impl instead (#9573)
  • chore: remove serde support from reth-codec (#9570)

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

What's Changed

New Contributors

Full Changelog: v1.0.2...v1.0.3

Reth v1.0.2

17 Jul 15:50
ffb44e6
Compare
Choose a tag to compare

image

Summary

  • RPC Bug fixes (#9448 #9477 #9469)
  • Prometheus metrics endpoint improvement (#9459)
  • Improved full node pruning observability (#9520)
  • Breaking NodeBuilder API (#9444)

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 revm 12.1 (#9567)
  • chore: update Base to new max gas limit (#9566)
  • feat: rm HashedStateChanges, introduce StorageWriter::write_hashed_state (#9561)
  • feat(rpc/admin): compatible with geth's admin_nodeInfo (#9448)
  • chore: rm outdated impls (#9560)
  • feat(rpc/otterscan): set total_fees in ots_getBlockDetails (#9477)
  • feat: bump alloy version (#9545)
  • feat: impl remove_blocks_above to static file service (#9553)
  • chore(deps): move zstd to workspace (#9552)
  • rpc: refactor ReceiptBuilder (#9551)
  • chore(meta): remove myself from CODEOWNERS (#9549)
  • chore: release 1.0.2 (#9538)
  • chore(net): enable rust.unnameable-types = "warn" lint (#9505)
  • chore(op): remove optimism feature for LoadReceipts (#9504)
  • chore: more reth-codec cfgs (#9547)
  • chore(op): remove optimism feature from LoadPendingBlock (#9503)
  • chore(op): implement Call for OpEthApi (#9502)
  • feat: add StorageWriter standalone type (#9507)
  • feat: feature gate reth-codec impl (#9492)
  • test: flaky tx type test (#9542)
  • feat: blockchain provider tree state integration (#9518)
  • chore(rpc): expose ethapi in node builder for op customisation (#9444)
  • feat(stages): unwind prune checkpoints (#9528)
  • feat: implement remove_blocks_above in db service (#9533)
  • fix: commit receipts in write_execution_data (#9525)
  • Rename main codec to reth db codec (#9501)
  • chore(deps): bump tsickert/discord-webhook from 5.3.0 to 6.0.0 (#9532)
  • docs: document Options in get_highest_* and ensure_invariants (#9529)
  • chore: rename terminal_difficulty to total_difficulty (#9530)
  • fix: add sync-op-mainnet to book (#9527)
  • feat(pruner, stages): logs for Prune stage (#9520)
  • typo: fix typo in rpc (#9514)
  • feat(tree): implement trie traits for in-memory overlay provider (#9522)
  • feat(stages): add more logs to Execution (#9524)
  • move HackReceiptFileCodec into reth-optimism-cli (#9499)
  • feat(trie): write sorted hashed state (#9519)
  • fix(stages): update prune sender recovery stage checkpoint (#9513)
  • feat: subscribe to finalized and safe headers (#9402)
  • feat(trie): sorted iterators for updated hashed state entries (#9516)
  • feat(provider): hashed state methods for trie related providers (#9510)
  • chore(grafana): re-order prune stages (#9511)
  • feat: implement generalizable rpc middleware (#9429)
  • feat(ci): add hive discord alert on failure (#9482)
  • fix(grafana): fix broken mempool panel (#9506)
  • example(exex): move to a separate repo (#9500)
  • chore(deps): weekly cargo update (#9496)
  • refactor: optimize eth_sendTransaction to exit early if signer not found (#9494)
  • chore: rm redundant optimism feature (#9489)
  • feat: OP: keep encoded txs in payload attributes (#9467)
  • replace optimism error variant with Other (#9483)
  • feat: route commands to correct persistence service (#9435)
  • test: add EngineApiTreeHandlerImpl integration test (#9453)
  • feat(primitives): re-export EIP-7702 types (#9481)
  • chore: some no-std touchups (#9480)
  • feat(trie): reimplement in-memory trie cursors (#9305)
  • replaced generic to box dyn (#9443)
  • feat: add max_gas_limit to ChainSpec (#9473)
  • test(revm): unit test insert_post_block_withdrawals_balance_increments (#9194)
  • refactor(pruner): dedicated static file segments (#9262)
  • feat(net/peer): simple support rank higher with static peer (#9471)
  • chore: use create_test_provider_factory in more places (#9463)
  • chore: remove BundleStateInit dup in take/get/remove_state methods (#9464)
  • chore: remove sender recovery dup in db provider (#9466)
  • fix(chainspec): set dao_fork_support=true for mainnet,sepolia,holesky (#9468)
  • feat(rpc/otterscan): change BlockId to u64 in has_code (#9469)
  • chore: add COMPACT_EXTENDED_IDENTIFIER_FLAG const to TxType (#9461)
  • book: remove not exist files links (#9360)
  • feat: add remove_block_and_execution_range (#9432)
  • chore: use DatabaseProviderRW instead of TX on *State*::write_to_db (#9460)
  • chore: move get methods to DatabaseProvider<DbTx> (#9454)
  • chore: replace base fee constants with native const (#9437)
  • chore(pruner): remove deletion limit per block, make it per run (#9446)
  • fix: accept concurrent prometheus connections (#9459)
  • chore: use DatabaseProviderRW on StateWriter::write_to_storage instead of TX (#9449)
  • feat(prune, stages): prune pipeline stage (#9419)
  • chore: use DatabaseProviderRW instead of TX on insert_genesis_header (#9452)
  • chore: use DatabaseProviderRW instead of TX on stages (#9451)
  • feat: tree hook for persisting blocks (#9365)
  • chore: resolve new clippy error w/ suggested fix part 2 (#9447)
  • test: ensure block reader traits are object safe (#9440)
  • chore: use vec for encoding (#9442)
  • chore: rm redundant is_optimism checks (#9438)
  • chore: remove node-core from CODEOWNERS (#9426)
  • feat: eip-7702 (#9214)
  • docs(node): replace the old --dicsv5.addr with --discovery.addr (#9436)
  • feat: introduce static file task (#9234)
  • chore: resolve new clippy error w/ suggested fix (#9427)
  • docs: remove random pub from transaction docs (#9423)
  • chore: move sigsegv handler to reth-cli-util crate (#9421)
  • feat: remove get or take usage (#9412)
  • feat: add fs-util for reading, writing json files (#9418)
  • chore: rm redundant clippy allow (#9415)
  • Optimism Cli struct (#9416)
  • feat: parsers (#9366)
  • Added wrapper type defaulting to prague engine caps (#9413)
  • chore(deps): trim cli-util crate deps (#9410)
  • feat: add get and take methods to db provider (#9406)
  • feat: add DatabaseProvider remove method (#9405)
  • feat: make unwind_table_by_walker take RangeBounds (#9404)
  • fix(op): fixes impl of eth api for OP (#9377)
  • test: add serial lock for lockfile tests (#9403)
  • chore: remove unused chainspec field from OptimismPayloadBuilder (#9397)
  • test: make test compile in reth-rpc (#9399)
  • style: move function below impl (#9398)
  • chore: move import command to reth-cli-commands (#9394)
  • Integrate Request evm env filling in ethapi (#9358)
  • chore: move node command to reth-cli-commands (#9395)

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

What's Changed

Read more

Reth v1.0.1

09 Jul 14:53
d599393
Compare
Choose a tag to compare

image

Summary

  • RPC Bug fixes (#9383 #9353)
  • Full Node performance improvements (#9055, #9312). See the warning below.
  • ExEx features: backfill (#9123)

⚠️ Important information for full node operators ⚠️

This update requires special care for full nodes. Please follow these instructions:

  1. Stop the node
  2. Update the binary to 1.0.1
  3. Run reth prune (along with the --chain and datadir arguments you've used with reth node) and wait until completion
  4. Start Reth as usual

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
Full Nodes high

See Update Priorities for more information about this table.

All Changes

  • chore(deps): rm reth-codecs dep (#9390)
  • chore(deps): bump revm 11 (#9391)
  • fix: support additional eth call bundle args (#9383)
  • chore: release 1.0.1 (#9388)
  • feat(rpc/ots): implement ots_getTransactionBySenderAndNonce (#9263)
  • chore: update private-testnet.md (#9389)
  • feat(rpc/ots): implement ots_traceTransaction RPC (#9246)
  • chore: fix clippy warnings for needless_borrows_for_generic_args (#9387)
  • refactor(rpc): remove intermediate types from rpc start up process (#9180)
  • feat(rpc/ots): implement ots_getContractCreator (#9236)
  • chore: move stage command to reth-cli-commands (#9384)
  • feat: add support for payload bodies (#9378)
  • Integrate permits for getproof (#9363)
  • feat(tree): pre-validate fcu (#9371)
  • clippy: rm useless clippy statement (#9380)
  • perf(pruner): delete history indices by changeset keys (#9312)
  • docs: typos (#9379)
  • feat(tree): validate state root (#9369)
  • feat: move mev rpc types to alloy (#9108)
  • feat(pruner): log stats as an ordered list of segments (#9370)
  • chore(deps): bump alloy 0.1.4 (#9368)
  • book: add troubleshooting commands to check disk and memory health and performance (#9364)
  • replacing network_handle with peer_info trait object (#9367)
  • feat: eip-7251 (#9335)
  • feat: Add required trait impls for OpEthApi (#9341)
  • feat: adds eth request panels to grafana (#9026)
  • feat: add entrypoint and main loop to EngineApiTreeHandlerImpl (#9334)
  • test(tx-pool): add unit tests for BestTransactions add_new_transactions (#9355)
  • chore(deps): weekly cargo update (#9354)
  • chore: remove unused private stream type (#9357)
  • fix: encode block as is in debug_getRawBlock (#9353)
  • chore: remove cfg'ed use serde (#9352)
  • chore: make eyre optional in reth-db (#9351)
  • chore(meta): remove security link from issue template config (#9350)
  • chore: dont enable serde by default for eth-wire (#9339)
  • chore(deps): rm discv4 dep from eth-wire (#9344)
  • chore(meta): fix link in issue template config (#9349)
  • test: make eth-wire tests compile with --all-features (#9340)
  • chore: rm unused optimism feature (#9342)
  • chore: use usize in internal functions (#9337)
  • chore: remove test-utils, arbitrary and proptest from built binary (#9332)
  • chore: move featureless commands from bin to reth-cli-commands (#9333)
  • move header.rs to eth-wire-types (#9345)
  • chore(deps): trim tokio features in eth-wire (#9343)
  • fix: format_gas show two decimal places (#9336)
  • chore: disable test-utils for stages-api on stages (#9331)
  • chore: move reth test-vectors to cli/commands with feature (#9329)
  • chore(ci): improve hive workflow (#9320)
  • chore: use *_GENESIS_HASH constants on ethereum chainspecs (#9328)
  • feat: log throughput in execution stage (#9253)
  • feat: implement HistoricalStateProviderRef::proof (#9327)
  • feat: op eth api scaffolding (#9324)
  • feat(trie): pass state reference to StateProofProvider::proof (#9308)
  • Remove fullprovider trait restriction in backfill impls (#9326)
  • qol: purge goerli (#9310)
  • chore(evm): turn associated ConfigureEvm fns into methods (#9322)
  • use op-alloy genesis types for genesis parsing (#9292)
  • fix: no_std build (#9313)
  • github-workflows: delete the direction of dead(deleted) code (#9316)
  • feat(trie): HashedPostState::account_proof (#9319)
  • feat(trie): allow supplying prefix sets to Proof (#9317)
  • fix: holesky genesis hash (#9318)
  • perf: resolve trusted peers (#9301)
  • feat: backfill job single block iterator (#9245)
  • feat(trie): allow setting hashed cursor factory on Proof (#9304)
  • Fix: fix the issue of not being able to specify bootnode through command parameters (#9237)
  • chore(trie): return mutable prefix sets from HashedPostState::construct_prefix_sets (#9306)
  • feat: extract proof generation into StateProofProvider (#9303)
  • fix(rpc/ots): set block_number as u64 instead of NumberOrTag (#9302)
  • fix: remove useless arbitrary feature (#9307)
  • chore(cli): move utils to reth-cli-utils crate (#9297)
  • feat(rpc/ots): add rpc erigon_getHeaderByNumber (#9300)
  • chore: remove unused async (#9299)
  • feat: feature gate tokio::net lookup (#9289)
  • ci: re-enable hive tests (#9240)
  • feat: add empty optimism rpc crate (#9295)
  • perf: spawn eth proof on IO pool (#9293)
  • perf: resolve trusted nodes concurrently (#9291)
  • chore(trie): revamp inner in-memory trie cursor representation (#9287)
  • chore: rename eth engine module orchestrator -> service (#9288)
  • fix(cli): don't init datadir if it doesn't exist in db command (#9264)
  • chore: move withdrawal_requests_contract_call to reth-evm (#9272)
  • chore(rpc): rm dup getters EthApi (#9283)
  • chore: use direct link to threshold docs (#9284)
  • chore: Expose TrieUpdates inner fields (#9277)
  • ci(hive): build reth externally (#9281)
  • feat(rpc): enable historical proofs (#9273)
  • fix: always evaluate build_profile_name at compile time (#9278)
  • test: rm useless unit tests for calc_next_block_base_fee (#9280)
  • clippy: rm some type_complexity (#9276)
  • test(transaction-pool): add unit tests for BestTransactionsWithFees next (#9274)
  • feat: add resolve blocking for TrustedNode (#9258)
  • chore(rpc): EthApi builder (#9041)
  • test: add unit tests for save_receipts (#9255)
  • feat: add empty ethereum cli crate (#9268)
  • feat: add ethereum engine chain orchestrator (#9241)
  • chore: move pre_block_beacon_root_contract_call to evm crates (#9244)
  • feat: moved optimism commands to create and remove from bin (#9242)
  • trie: revamp trie updates (#9239)
  • chore: simplify p2p subcommand (#9265)
  • refactor: move write_peers_to_file to NetworkManager impl (#9134)
  • feat: add non feature gated noop block reader (#9261)
  • feat: add pruner to persistence task (#9251)
  • refactor(evm): set prune modes optionally for the batch executor (#9176)
  • feat: add ChainspecParser trait (#9259)
  • chore: fix pruner exex height docs, add run docs (#9250)
  • chore: remove prune_modes from BlockWriter (#9231)
  • chore: use format_gas and format_gas_throughput for gas logs (#9247)
  • chore: add send_action method to persistence task (#9233)
  • chore: move fill_block_env to ConfigureEvmEnv (#9238)
  • feat: add pruning related persistence API (#9232)
  • chore: disable discovery for --dev (#9229)
  • chore(trie): return nibbles from TrieCursor::current (#9227)
  • fix(rpc/admin): missing enode/enr in admin_peers endpoint (#9043)
  • fix: typo in book intro (#9228)
  • feat(clippy): add iter_without_into_iter (#9195)
  • chore: extract db commands (#9217)
  • feat: implement write method on persistence task (#9225)
  • chore(trie): store only deleted keys in TrieWalker (#9226)
  • docs(book): remote ExEx chapter (#8992)
  • chore(execution): verify cumulative gas used before receipts root (#9224)
  • chore: rename pipeline references to backfill sync (#9223)
  • chore: remove unused static-file code (#9178)
  • chore: remove usage of tx_env_with_recovered (#9222)
  • chore: add builder with rng secret key fn (#9218)
  • chore(trie): clean up trie update operation matching (#9202)
  • chore: remove unused MIN_LENGTH_EIPXXXX_ENCODED (#9211)
  • feat: new engine API handler (#8559)
  • fix: ambiguous deposit mint value in arbitrary (#9216)
  • refactor(chainspec): simplify genesis_header using default pattern (#9198)
  • refactor: some simplifications around revm database (#9212)
  • refactor: small refactoring (#9208)
  • feat(net/peer): set rpc added peer as static (#9201)
  • docs: fix the links to code in discv4 docs (#9204)
  • refactor(revm): simplify fill_tx_env (#9206)
  • refactor(net): some refactor in eth requests (#9205)
  • chore(trie): rename in-memory trie cursors (#9203)
  • chore(deps): weekly cargo update (#9199)
  • chore(deps): remove igd-next (#9200)
  • chore: finally move node-core to node folder (#9191)
  • chore: replace raw usage of revm evm builder with EvmConfig usage (#9190)
  • feat(net/peer): add peer with udp socket (#9156)
  • chore: rm leftover mods (#9188)
  • chore: update audit doc to v2 (#9177)
  • chore(ecies): expose ECIESCodec for fuzzing (#9182)
  • chore(trie): remove database-related types from trie keys (#9175)
  • chore: remove tx_env_with_recovered from rpc crates (#9158)
  • chore: rm redundant clone (#9174)
  • feat(exex): backfill executor (#9123)
  • fix(net/peer): remove the duplicated disconnect logic (#9162)
  • fix: derive arbitrary for tests (#9167)
  • refactor: reduce number of args for post_block_balance_increments (#9154)
  • chore: fix wrong function name (#9164)
  • dev: update NodeExitFuture (#9153)
  • chore(storage, provider): rename bundle state with receipts (#9160)
  • feat(trie): in-memory trie node overlay (#8199)
  • chore: fix clippy (#9163)
  • refactor(net): move node record constants to network-peers crate (#9161)
  • chore: move revm_spec methods from `reth-primiti...
Read more

Reth v1.0.0

26 Jun 07:54
83d412d
Compare
Choose a tag to compare

image

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

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 from ChainSpec (#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 for ChainSplitTarget (#8962)
  • use watch channels instead of rwlock (#8950)
  • chore: move GotExpected, log and gas_units to reth-primitives-traits (#8958)
  • fix: enable autoseal in op correctly (#8961)
  • chore(ci): exclude examples from docs (#8953)
  • chore: remove revm/compat from reth-primitives (#8960)
  • chore: move StorageEntry to reth-primitives-traits (#8949)
  • chore(makefile): remove cfg-check (#8959)
  • chore: move Bytecode, Requests and Withdrawals to reth-primitives-traits (#8954)
  • fix(ethereum-forks): add missing transitions_at_timestamp (#8944)
  • chore: move IntegerList to reth-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 to reth-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

Read more

Reth v1.0.0-rc.2

18 Jun 15:09
d786b45
Compare
Choose a tag to compare

image

Last scheduled candidate before 1.0.0

Summary

  • misc stability and performance improvements
  • rpc fixes (#8874, #8853, #8876)

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

  • feat: implement conversion of optimism deposit tx from alloy to reth (#8763)
  • chore(deps): enable missing arbitrary in tests (#8921)
  • fix: enable enr secp256k1 feature (#8919)
  • chore: release 1.0.0-rc.2 (#8918)
  • feat: reth-primitives-trait no-std support (#8869)
  • move forkcondition and displayhardfork types to fork crate (#8909)
  • fix: edge case divide by zero (#8912)
  • feat: add stateful precompile example (#8911)
  • chore: fix repeat words (#8916)
  • chore(deps): bump docker/build-push-action from 5 to 6 (#8910)
  • fix: typo (#8908)
  • feat: no_std CI integration (#8871)
  • fix: Add missing fjord condition to revm_spec_by_timestamp_after_merge (#8906)
  • chore: remove reth-primitives dependency from reth-static-file (#8903)
  • chore: remove reth-primitives dependency from reth-stages-api (#8902)
  • chore: remove reth-primitives dependency from discv5, discv4 and etl crates (#8900)
  • feat: replace engine types in payload stack (#8893)
  • feat: calc block base reward use block number only (#8876)
  • chore: remove reth-primitives dependency from reth-node-ethereum tests (#8898)
  • chore: remove reth-primitives dependency from reth-prune (#8897)
  • deps: bump alloy to 0.1 (#8892)
  • chore: use reth_chainspec where possible (#8891)
  • feat: move builtpayload to payload types (#8858)
  • refactor: extract Chainspec type from primitives (#8055)
  • fix(commands): prevents potential arithmetic underflow in debug commands (#8883)
  • chore: use blob explorers from crates (#8885)
  • fix(docs): op-node flags (#8884)
  • feat: support no_std for ethereum-forks (#8877)
  • chore(deps): bump revm dd98b3b (#8882)
  • docs(book): tracking state in ExExes (#8804)
  • chore: bump alloy and rm EvmOverrides (#8875)
  • chore(dep): bump secp256k1 (#8880)
  • fix: division by zero when reading from nippy jar archive (#8878)
  • feat: support no_std for reth-primitives (#8817)
  • fix: manually override certain chainconfig fields for adminNodeInfo (#8874)
  • feat: add is paris active at block fn (#8872)
  • feat(rpc/block): simplify the block_receipts rpc (#8866)
  • chore: Upgrade revm (#8870)
  • rpc: make revm utils pub (#8860)
  • chore(deps): weekly cargo update (#8863)
  • fix: re-add validate_against_parent_4844 to optimism header validation (#8835)
  • chore(deps): move futures-core to workspace (#8857)
  • feat(primitives): gas limit setter (#8850)
  • fix(net): use real tcp port for local node record (#8853)
  • chore: use new quantity mod (#8855)
  • chore: remove reth-rpc-types dep in node-events (#8854)
  • chore: clean up reth-bench payload status checks (#8852)
  • chore: move gas units to primitives constants (#8849)
  • feat: add some utils to EvmOverrides (#8848)
  • chore(deps): rm unused arb feature (#8846)
  • chore(rpc): use TypedData type in eth_signTypedData signature (#8845)
  • chore: rm unused clap feature (#8843)
  • chore: re-export payload types from engine types (#8841)
  • chore: move primitives/constants to reth-primitives-traits (#8842)
  • chore(mbdx): use std::ffi, remove unused files (#8839)
  • docs(book): clarify what ExExes are not (#8805)
  • chore(deps): bump jsonwebtoken (#8840)
  • chore: move Header and SealedHeader to reth-primitives-traits (#8831)
  • chore(primitives): use derive_more where possible (#8834)
  • chore: add address constants with 0x prefix (#8833)
  • test: add unit tests for Chain execution type (#8826)
  • chore(evm): rename bundle.rs to execution_outcome.rs (#8832)
  • chore: bump rust version 1.79 (#8829)
  • fix: split requests in split_at execution outcome (#8823)
  • feat: implement deref and derefMut for Requests (#8816)
  • chore(deps): use workspace deps (#8824)
  • chore: fix references (#8820)
  • chore: move header validation from reth-primitives to consensus crates (#8802)
  • reth-primitives: Hide alloy-consensus/arbitrary behind reth-primitives/arbitrary (#8821)
  • fix(ci): add missing const fn (#8822)
  • fix: truncate request vectors when reverting exec outcome (#8815)

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

What's Changed

Read more

Reth v1.0.0-rc.1: Production ready release candidate

17 Jun 11:26
560080e
Compare
Choose a tag to compare


We are thrilled to launch Reth 1.0, marking our first production-ready release tailored for Ethereum Mainnet.

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(deps): replace reth-primitives in dns (#8814)
  • chore(ecies): replace reth-primitives with alloy-primitives (#8812)
  • chore(deps): replace reth-primitives in discv4 (#8813)
  • chore: use sha2 from workspace (#8811)
  • chore: rm HasRemoteAddr trait (#8809)
  • chore: remove educe dependency (#8810)
  • fix: only check that base fee is not zero (#8808)
  • fix: windows build (#8807)
  • fix(grafana): fix broken panel (#8806)
  • chore: move proof types and root functions from primitives/proofs into reth-trie-common (#8724)
  • chore: bump inspectors and alloy (#8803)
  • feat: add append_receipts function (#8718)
  • refactor: disable default features for alloy workspace deps (#8768)
  • docs(book): start documenting ExExes (#8779)
  • fix: migration of ethereum-package to ethpandaops (#8797)
  • feat: log debug log directory on startup (#8785)
  • feat: support no_std for reth-storage-errors (#8790)
  • feat: support no_std for reth-consensus (#8792)
  • fix: separate Base Sepolia and OP Sepolia BASE_FEE_PARAMS (#8789)
  • fix: disable sysinfo multithreading (#8783)
  • fix: add a 5 second timeout for tokio_runtime shutdown (#8771)
  • fix: prometheus graceful shutdown (#8784)
  • chore: bump version 1.0.0-rc.1 (#8775)
  • chore: remove HeaderSyncMode::Continuous & debug.continuous (#8714)
  • feat: introduce reth benchmark command (#8284)
  • fix(rpc/trace): wrong calculate of block ommer rewards (#8767)
  • fix(rpc/trace): trace_filter check block range (#8766)
  • fix: ensure that a new offset file ends with the zero data file length (#8770)
  • fix: add start_time to ProcessUID on StorageLock (#8753)
  • chore: dont depend on reth-primitives (#8762)
  • feat: support no_std for reth-execution-errors (#8729)
  • feat: introduce payload types (#8756)
  • chore: Remove optimism flag from eth consensus crate (#8760)
  • fix: add requests in ExecutionOutcome extend (#8761)
  • fix: Use OptimismBeaconConsensus in the OptimismNode (#8487)
  • feat(provider): BlockReader::sealed_block_with_senders_range (#8750)
  • refactor: rename BundleStateWithReceipts to BlockExecutionOutcome (#8730)
  • chore: adds reth-primitives-traits & Account (#8722)
  • chore: move primitives/stage to reth-stages-types (#8749)
  • test: add unit tests for BundleStateWithReceipts (#8741)
  • example(exex): tests for In Memory State (#8682)
  • test: unit test for TransactionGasLimitMoreThanAvailableBlockGas (#8740)
  • refactor: move discv5 logic for op to reth-node-optimism (#8690)
  • chore(deps): bump http, hyper etc. to 1.0; jsonrpsee 0.23 (#7018)
  • chore: add a few missing trait bounds (#8731)
  • fix(db): format tracing log fields with Debug (#8738)
  • chore(deps): remove libffi dependency (#8736)
  • feat: add gas throughput debug log to execution progress (#8734)
  • feat(stages): send a notification to ExExes only when Execution stage commits (#8720)
  • chore: disable currently failing engine hive tests with reasons (#8733)
  • feat: move RethRpcConfig to rpc-builder (#8684)
  • chore(book): rotate gpg keys
  • fix: dont panic on invalud fcu response (#8725)
  • Add the Sigma Prime audit (#8728)
  • refactor: replace BatchBlockExecutionOutput by BundleStateWithReceipts (#8709)
  • feat: --debug.etherscan for fake consensus client (#8082)
  • chore: move primitives/trie to reth-trie-types (#8717)
  • refactor: simplify Receipts implementation (#8710)
  • chore(stages): remove execute_inner method (#8719)
  • feat: add secp256k1 feature in reth-network-peers (#8712)
  • feat: add ExExLauncher (#8693)
  • feat: add launch_with_fn (#8694)
  • chore: move workspace.package to top of Cargo.toml (#8691)
  • feat: add storage consistency checks on CLI commands (#8667)
  • docs: improve custom-evm example docs (#8703)
  • chore: replace secp256k1 with fully qualified path (#8701)
  • feat: remove Bandwidthmeter type (#8698)
  • chore: rename network-types to network-peers (#8699)
  • chore(deps): weekly cargo update (#8697)
  • fix(example/op-bridge): ethereum Receipt needless update (#8695)
  • fix: ensure jsonrpsee logs are off by default (#8689)
  • chore: add link to new_payload_v4 docs (#8686)
  • feat: add ExecutionPayloadV2 to ExecutionPayloadInputV2 conversion (#8685)
  • fix: atomically write to static file configuration file (#8666)
  • chore: rm unused launch functions (#8663)
  • chore: move primitives/exex to reth-exex-types (#8677)
  • example(exex): tests for OP Bridge (#8658)
  • chore: move primitives/prune to reth-prune-types (#8676)
  • fix: bad unwrap on resolve (#8675)
  • chore: move static file crates in static file folder (#8671)
  • test: fix flaky test (#8673)
  • chore: move ethereum payload builder to ethereum (#8490)
  • chore: misc stages docs (#8669)
  • refactor: extract trusted peer resolve into separate function (#8660)
  • docs: updates README.md regarding reth-codecs and Compact (#8665)
  • fix: ensure tx forwarder is set (#8664)
  • test(exex): improve PollOnce trait error handling (#8653)
  • chore: reintroduce receipts verification debug log (#8662)
  • feat: Introduce payload primitives (#8642)
  • feat(node-builder): move network setup to node-builder launch/ BuilderContext types (#8648)

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-v1.0.0-rc.1-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v1.0.0-rc.1-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v1.0.0-rc.1-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v1.0.0-rc.1-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v1.0.0-rc.1-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker paradigmxyz/reth

What's Changed

Read more