github paradigmxyz/reth v1.0.6
Reth v1.0.6

latest releases: v1.1.1, v1.1.0, v1.0.8...
2 months ago

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-state: rm Arc wrapper around BlockState for pending_state (#10408)
  • deps: bump derive_more to 1.0 (#10403)
  • evm: add unit tests for ConfigureEvm with Op cfg (#10280)
  • test: BlockReaderIdExt implementation for BlockchainProvider2 (#10376)
  • feat(node): remove freelist from status log (#10395)
  • fix: reorgs with forks including invalid blocks (#10320)
  • feat: track persistence metrics (#10250)
  • docs: fix discv4 typos (#10394)
  • feat: add ForkChoiceSubscriptions to FullProvider supertrait (#10319)
  • chain-state: add unit test for set_pending_block (#10363)
  • chore(net): expose pending pool imports bound in cli (#10357)
  • chore: invert p2p and network types dep (#10390)
  • feat(provider): implement ForkChoiceSubscriptions for BlockchainProvider2 (#10318)
  • exex: add unit tests for exex manager (#10380)
  • feat: add subscribe_safe_block & subscribe_finalized_block to CanonicalInMemoryState (#10317)
  • dep: rm confy as a dep (#10290)
  • feat: Superchain mainnet - Granite hardfork timestamps (#10387)
  • feat: light cleaning (#10385)
  • chore: update hive expected failures (#10386)
  • chore(db): enable arbitrary feature on reth-db-models (#10384)
  • chore(deps): weekly cargo update (#10379)
  • feat(rpc): get_account (#10369)
  • very small refactor (#10382)
  • feat: improve connecting downloaded blocks (#10368)
  • test(provider): BlockNumReader of BlockchainProvider2 (#10354)
  • chore(tx-pool): pool cli args (#10323)
  • chore(net): Expose max seen transactions history size as cli arg (#10327)
  • fix(net): fix constants for TransactionsManager that use LruMap by length (#10324)
  • feat: add impl From GenesisAccount to Account (#10256)
  • test(provider): HeaderProvider of BlockchainProvider2 (#10330)
  • fix(trie): exclude trie updates for root node (#10306)
  • feat(db): models crate (#10314)
  • fix(payload): 7702 hardfork activation validation (#10360)
  • test(provider): BlockHashReader of BlockchainProvider2 (#10335)
  • dev(primitives): signature conversion (#10371)
  • chore(node): Refactor node builder wrt stable 1.79.0 (#10367)
  • chain-state: add unit test for to_chain_notification (#10373)
  • fix(engine2): ensure static files are up to the tip when coming from an old engine node (#10299)
  • chain-state: derive Default for ExecutedBlock (#10372)
  • docs: fix param name (#10366)
  • refactor(storage): small refactor in convert_block_number (#10364)
  • chore(lint): Fix lint (#10359)
  • feat: disable l1 data gas cost in --dev mode (#10332)
  • rpc: small refactor in ommer_by_block_and_index (#10325)
  • feat: implement tx validator for either (#10328)
  • fix: use saturating add for datagas (#10315)
  • feat(provider): receipt and transaction by id in BlockchainProvider2 (#10281)
  • feat(provider): BlockchainProvider2::transaction_id (#10296)
  • doc: update the recommended hardware in the installation page (#10313)
  • fix(engine): aggregate state for chain notification (#10295)
  • feat(provider): BlockchainProvider2::account_block_changeset (#10311)
  • reth book: add instruction to update rust version (#10308)
  • book: add env guide to exex book (#10310)
  • fix(provider): range methods in BlockchainProvider2 (#10300)
  • fix: set first block at the beginning of batch execution (#10302)
  • feat(net): Add panel for dropped egress cap messages (#10275)
  • docs: add engine kind flag to op-mainnet book (#10289)
  • chore: remove rlp derivation from sealed block (#10287)
  • chore(reth-storage-errors): no_std support (#10011)
  • chore(consensus): ease accepted validation types (#10285)
  • feat: return empty list for post-merge blocks in BlockchainProvider2::ommers (#10286)
  • fix: make RequestsProvider method aware of in-memory state (#10252)
  • perf(tree): re-use intermediate nodes (#9836)
  • chore(engine): enable engine debug streams in new implementation (#10282)
  • feat(ci): compile reth-consensus crate for Wasm (#10277)
  • fix(ci): include Wasm job in merge group success (#10279)
  • fix(network, p2p): Wasm compilation (#10278)
  • rpc: small refactoring in build_transaction_receipt (#10269)
  • feat(ci): check all crates for Wasm (#10084)
  • chore(reth-consensus): no_std support (#9663)
  • chore(reth-execution-errors) no_std (#10048)
  • chore: prevent warnings on docker build (#10273)
  • rpc: rm PeerCount usage (#10271)
  • fix: fix tx propagation when full (#10251)
  • chore(deps): weekly cargo update (#10257)
  • docs: delete interface (#10265)
  • refactor: remove #[reth_codec] and #[derive_arbitrary] macros (#10263)
  • chore: fix typos (#10260)
  • chore(reth-engine-primitives): remove unused code (#10261)

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

What's Changed

New Contributors

Full Changelog: v1.0.5...v1.0.6

Don't miss a new reth release

NewReleases is sending notifications on new releases.