Releases: paradigmxyz/reth
Reth v0.2.0-beta.5
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
- Users experiencing this issue on existing (already initialized) nodes need to change their
- 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
Summary
This release highlights:
- Parallel State Root Calculation: Improved performance up to 2x. (#7161)
- Added ETL to the following stages:
- 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
toHistoryStages
(#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 forTxType
withU64
(#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
frominit_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
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 ofdata_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
Summary
This release includes:
- Critical fix for the bug when node transitioned to the live sync instead of the pipeline sync, and couldn't execute new blocks on top of the unsynced chain.
- ETL configuration improvements:
- Custom directory for temporary ETL files
- Maximum size of one temporary ETL file
- Client Version history persistence in a separate database table on every read-write opening. Improves the observability and debugging.
- Networking fixes (#7118, #7117, #7108, #7106, #7071)
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
🎉 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
- Switch to Roaring Bitmaps encoding for historical access indices resulted in almost 50% disk space reduction (10% of total database size) and improved querying speed
- Nicer database interface (better table names, removal of redundant wrappers)
- 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:
- Stop your Reth node.
- Drop the database: reth db drop.
- Update your Reth binary to the latest v0.2.0-beta.1 version.
- 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...
Reth v0.1.0-alpha.22
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
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 fixInsertedTransactions
panel bug (#6646) - chore(op): Clean up
ChainSpec
s (#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
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 cratestages
(#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)
forTransactionsManager
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 inrpc_testing_util
(#6757) - Replace
#[async_trait]
with->imp
for traits in eth_wire (#6756) - refactor: rename
blob_gas_price
toblob_base_fee
(#6721) - feat: using smallvec (#6740)
- replace
#[async_trait]
with native async trait for traitResolver
(#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 |
Reth v0.1.0-alpha.19
Summary
This release includes:
- Performance improvements in execution and database operations (#6550, bluealloy/revm#1097)
- Log and metrics improvements (#6649, #6659, #6650, #6399, #6622)
- The reth SDK node builder (#6447)
- Various bug fixes (#6612, #6672, #6593, #6607)
- Networking improvements (#6645, #6640, #6542)
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.19 (#6677)
- fix the issue of network is not known to be merged (#6649)
- Downgrade log level in net::tx target (#6675)
- chore(grafana): take back the messages in channel panel (#6665)
- Fix test, delayed changes (#6661)
- fix: correct nonce gap update check (#6672)
- fix: set fees correctly on eth_sendTransaction (#6671)
- fix(provider): history by block hash race condition (#6669)
- feat: add metrics for highest pruned block per segment (#6658)
- docs: finish missing doc (#6668)
- Add rust bug report to gitignore (#6662)
- chore: make clippy happy (#6666)
- fix(metrics): fix missing metrics by installing prometheus before creating db env (#6659)
- implements 'ethGetHeaderByNumber' and 'ethGetHeaderByHash' (#6648)
- test: fix connect many race condition (#6653)
- test: enhance invalid tx test (#6652)
- chore(grafana): make network pool metric readable (#6650)
- chore(deps): weekly
cargo update
(#6647) - chore: discv4 touchups (#6639)
- Decrease default count pending pool imports on fetch pending hashes (#6645)
- chore: decrease network manager budget (#6640)
- updating block_env (#6627)
- chore: bump revm 6.0 (#6638)
- feat: add debug_traceBlock test for entire chain (#6636)
- fix(revm): calculate failed transaction hash for logging (#6556)
- Bump lru version (#6635)
- fix: ignore nonce for call env (#6631)
- Make transaction manager param configurable from cli (#6594)
- fix: missing build profile from long version example (#6625)
- Minor documentation updates to
announce_block
docs (#6630) - chore: remove unused smallvec dep (#6629)
- Segmenting cfg and block env impl from PayloadBuilderAttributes (#6623)
- feat: add rpc server cache grafana panel (#6622)
- Accurately tracking on-disk blobstore metrics (#6399)
- enhance tx gossip test coverage (#6578)
- chore: dont set some ready when draining pending txs (#6620)
- Implement
Deref
andDerefMut
forStateProviderDatabase
(#6538) - fix: check versioned hash version for EIP-4844 transactions (#6601)
- fix: update highest nonce if highest nonce (#6618)
- Update readme on how to run only grafana in docker (#6522)
- feat: add OptimismNode type (#6610)
- fix: set AutoSealConsensus best_block correctly (#6612)
- Cache invalid txns (#6542)
- fix: add missing depositReceiptVersion field (#6607)
- fix(op): set handler cfg correctly in EvmProcessor (#6609)
- oneline change set excess_blob_gas in local pending block header (#6603)
- docs: add a few more docs for network loop (#6595)
- fix(op): Add optimism in node api, few cfg transitions (#6598)
- chore: remove redundant map (#6600)
- chore: impl default for PendingPoolImportsInfo (#6596)
- ci: auto-update homebrew formula (#6591)
- fix(op): set optimism flag correctly (#6593)
- feat: declarative builder v2 (#6447)
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.19-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.19-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.19-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.19-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.19-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | paradigmxyz/reth |
Reth v0.1.0-alpha.18
Summary
This release includes:
- Various trie performance improvements (#6548, #6466)
- Inclusion of the Mainnet Cancun timestamp (#6493)
- Reintroduce transaction re-fetch logic with budgeted search for idle peers and hashes pending fetch (#6318)
- Inclusion of op-reth Ecotone fork and fork timestamp (#6478, #6479, #6480)
- Update
eth_feeHistory
with Cancun fields (#6469) - Various log improvements (#6095, #6583, #6498, #6579)
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.18 (#6588)
- Speed up request buffered hashes (#6318)
- chore: add exit future back (#6587)
- chore: bump alloy revm + inspectors (#6586)
- chore: move events mod to node core (#6585)
- chore(tree): log state root calculation time (#6583)
- Payload Events (#6549)
- chore: move init to node-core (#6581)
- chore: simplify networkbuilder (#6580)
- fix(bin): do not display stage progress when we start executing (#6579)
- feat(grafana): use reth_info to query Reth instances (#6387)
- small refactoring in rpc crate (#6577)
- perf(db): pre-populate metric handles hashmap on env init (#6573)
- chore: improve BundleStateWithReceipts docs (#6572)
- chore: remove EitherBlockExecutor (#6567)
- fix: use real hash for derived from latest (#6561)
- chore: bump revm v5.0 (#6560)
- chore: use
Table::TABLE
in more places (#6563) - refactor(db): unify table macros (#6552)
- chore: remove unused
Default
requirement inTable
generics (#6551) - More raw rpc request testing (#6554)
- perf(db): introduce environment-level cache for metric handles (#6550)
- chore: remove non-existant
test-utils
cfg (#6555) - More raw rpc request testing (#6539)
- reuse alloy-eips constants (#6540)
- perf(trie): reduce key copying (#6548)
- chore(deps): weekly
cargo update
(#6545) - small refactoring (#6531)
- chore(deps): remove build-time dependency on libgit2 (#6537)
- fix: update broken links to Kurtosis (#6536)
- chore: bump revm +revm-inspectors+alloy (#6535)
- chore: remove chain_spec from ExecutorFactory (#6523)
- chore: remove op-flagged arguments from receipt root calc (#6517)
- replace &Bytes with &[u8] in optimism functions (#5896)
- chore: actually impl clone regardless of trait (#6514)
- dep: pin alloy & revm inspectors (#6512)
- chore: move type def (#6511)
- chore(trie): export node iter (#6509)
- refactor: rm
CallRequest
(#6364) - Update ci hive eth test suite (#6505)
- refactor(trie): prefix sets (#6502)
- Cache update on chain action (#6484)
- feat: Enhance block import log line (#6095)
- chore: make timestamp fork tests better (#6499)
- feat(bin): do not show target on INFO level (#6498)
- perf(trie): hashed state from revert range (#6485)
- chore(deps): bump curve25519-dalek, revert nightly pin (#6497)
- fix(docker): disable jemalloc feature by default (#6495)
- feat: add cancun mainnet timestamp (#6493)
- Feat: add blobs to eth history (#6469)
- chore(deps): rm unused dep (#6491)
- add
test_discard_blobs_on_blob_tx_eviction
unit test (#6445) - fix(trie): hashed state extension (#6483)
- fix: update outdated op links (#6486)
- feat(txpool): discard_worst compat with suffix comma (#6477)
- Add serde feature to ethereum-forks crate (#6476)
- feat(op):
Ecotone
reject blob txs (#6480) - feat(op):
Ecotone
L1 fee parsing (#6479) - feat(op):
Ecotone
hardfork spec (#6478) - chore(txpool): fix some format and typo (#6481)
- chore: fix validate_payload_timestamp engine spec comments (#6474)
- fix/ci: check individual crates in ci, fix features (#6472)
- fix: sealed header should not be immutable borrowed (#6456)
- chore(
reth-primitives
): add decode/recover test for 4844 tx (#6470) - perf(trie): pre-allocate prefix sets (#6466)
- chore(net): downgrade unseen hashes log to trace (#6459)
- chore: bump rpc deps (#6458)
- add unit tests for
BlobTransactionSidecar
(#6431) - feat: add txpool eviction property tests (#6437)
- chore: Bump revm to newest (#6357)
- Add clippy fixes and minor refactoring (#6450)
- fix: initial total_bytes value for response limit and typos (#6449)
- add minor improvements (#6448)
- Encapsulate
validate_header_regarding_parent
insideSealedHeader
(#6404) - chore(rpc-types-compat): use SealedBlock.raw_transactions to reduce deplicate (#6406)
- chore: bump some deps (#6443)
- Drop lock on listener as early as possible (#6414)
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.18-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.18-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.18-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v0.1.0-alpha.18-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v0.1.0-alpha.18-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | paradigmxyz/reth |