github NethermindEth/nethermind 1.37.0-alpha
v1.37.0-alpha

pre-release4 hours ago

Release notes

Important

This is an alpha pre-release. It is intended for testing and early feedback only. Some features may be incomplete, unstable, or subject to change before the final 1.37.0 release. Do not run this in production.

Breaking changes

eth66 and eth67 protocol support dropped; eth69 added as default

The deprecated eth/66 and eth/67 devp2p protocol versions have been removed. eth/69 is now enabled as a default protocol. Peers that only support eth66/eth67 will no longer be able to connect. (#9938)

Highlights

Performance

  • Optimized transaction processing via encoded-tx trie root and fast block re-encode (#10435)
  • KeccakCache optimized; public-key-to-address recovery now cached (#10391, #10003)
  • SeqlockCache added for hot-path caching (#10415)
  • Improved FastHash quality (#10082)
  • EVM: EXP stays in UInt256 domain (#10060), MOD short-circuits on zero (#10061), skip cache for identity precompile (#10366)
  • Pruning: default cache +512MB (#10247), skip GC during pruning (#10230), inline prunes (#10112), schedule largest storage changes first (#10236)
  • JSON requests parsed in chunks (#10207), hex parsing optimized (#10389), eth_gasPrice kth algorithm (#10100)
  • Numerous allocation reductions across RetryCache, nibble keys, ConcurrentDict, CREATE/EOFCREATE, DbOnTheRocks iterators, ColumnDb.MultiGet, and more

State management & storage

  • World state backend refactor enabling pluggable storage backends (#9089)
  • RocksDB snapshot support including column DB snapshots (#10080, #10262)
  • Discv5 nodes moved to a separate database (#10027)

EVM extensibility

  • Policy-based gas tracking in the VM for custom gas metering (#9846)
  • External tracer registration and VM inheritance (#10228)
  • Extensible block processing statistics and metrics (#10420, #10429, #10076)

RPC & correctness

  • eth_estimateGas further adjusted for correctness (#10559)
  • eth_getBlockByNumber enforces canonical block retrieval (#10024)
  • eth_getLogs performance improved (#9923)
  • engine_getBlobsV3 added (#9942)
  • engine_getPayloadV4 adapted for Optimism (#10328)
  • debug_ calls support overriding block fields (#10405)
  • Hardened RPC transaction validations (#10395)

Networking

  • Faster protocol handshake parsing; Ethrex added as recognized client (#9935)
  • Discovery v5 optimized (#10081)

What's Changed

New Contributors

  • @aso20455 made their first contribution in #9900
  • @anim001k made their first contribution in #9928
  • @igladun made their first contribution in #9875
  • @cuiweixie made their first contribution in #10100
  • @dizer-ti made their first contribution in #10085
  • @letmehateu made their first contribution in #10086
  • @Savid made their first contribution in #10158
  • @ArtiomTr made their first contribution in #10148
  • @vtjl10 made their first contribution in #10225
  • @zeevick10 made their first contribution in #10229
  • @majtte made their first contribution in #10268
  • @davidjsonn made their first contribution in #10296
  • @diega made their first contribution in #10307
  • @andrewshab3 made their first contribution in #10310
  • @cbermudez97 made their first contribution in #10347
  • @leopardracer made their first contribution in #10340
  • @M0ndarynka made their first contribution in #10234
  • @splinter012 made their first contribution in #10468

Full Changelog: 1.36.0...release/1.37.0-alpha Release notes

This is an alpha pre-release. It is intended for testing and early feedback only. Some features may be incomplete, unstable, or subject to change before the final 1.37.0 release. Do not run this in production.

Breaking changes

eth66 and eth67 protocol support dropped; eth69 added as default

The deprecated eth/66 and eth/67 devp2p protocol versions have been removed. eth/69 is now enabled as a default protocol. Peers that only support eth66/eth67 will no longer be able to connect. (#9938)

Highlights

Performance

  • Optimized transaction processing via encoded-tx trie root and fast block re-encode (#10435)
  • KeccakCache optimized; public-key-to-address recovery now cached (#10391, #10003)
  • SeqlockCache added for hot-path caching (#10415)
  • Improved FastHash quality (#10082)
  • EVM: EXP stays in UInt256 domain (#10060), MOD short-circuits on zero (#10061), skip cache for identity precompile (#10366)
  • Pruning: default cache +512MB (#10247), skip GC during pruning (#10230), inline prunes (#10112), schedule largest storage changes first (#10236)
  • JSON requests parsed in chunks (#10207), hex parsing optimized (#10389), eth_gasPrice kth algorithm (#10100)
  • Numerous allocation reductions across RetryCache, nibble keys, ConcurrentDict, CREATE/EOFCREATE, DbOnTheRocks iterators, ColumnDb.MultiGet, and more

State management & storage

  • World state backend refactor enabling pluggable storage backends (#9089)
  • RocksDB snapshot support including column DB snapshots (#10080, #10262)
  • Discv5 nodes moved to a separate database (#10027)

EVM extensibility

  • Policy-based gas tracking in the VM for custom gas metering (#9846)
  • External tracer registration and VM inheritance (#10228)
  • Extensible block processing statistics and metrics (#10420, #10429, #10076)

RPC & correctness

  • eth_estimateGas further adjusted for correctness (#10559)
  • eth_getBlockByNumber enforces canonical block retrieval (#10024)
  • eth_getLogs performance improved (#9923)
  • engine_getBlobsV3 added (#9942)
  • engine_getPayloadV4 adapted for Optimism (#10328)
  • debug_ calls support overriding block fields (#10405)
  • Hardened RPC transaction validations (#10395)

Networking

  • Faster protocol handshake parsing; Ethrex added as recognized client (#9935)
  • Discovery v5 optimized (#10081)

What's Changed

New Contributors

  • @aso20455 made their first contribution in #9900
  • @anim001k made their first contribution in #9928
  • @igladun made their first contribution in #9875
  • @cuiweixie made their first contribution in #10100
  • @dizer-ti made their first contribution in #10085
  • @letmehateu made their first contribution in #10086
  • @Savid made their first contribution in #10158
  • @ArtiomTr made their first contribution in #10148
  • @vtjl10 made their first contribution in #10225
  • @zeevick10 made their first contribution in #10229
  • @majtte made their first contribution in #10268
  • @davidjsonn made their first contribution in #10296
  • @diega made their first contribution in #10307
  • @andrewshab3 made their first contribution in #10310
  • @cbermudez97 made their first contribution in #10347
  • @leopardracer made their first contribution in #10340
  • @M0ndarynka made their first contribution in #10234
  • @splinter012 made their first contribution in #10468

Full Changelog: 1.36.0...release/1.37.0-alpha

Build signatures

The packages are signed with the following OpenPGP key: AD12 7976 5093 C675 9CD8 A400 24A7 7461 6F1E 617E

Don't miss a new nethermind release

NewReleases is sending notifications on new releases.