Skip to content

Releases: NethermindEth/nethermind

v1.33.1

04 Sep 10:04
cda59e5
Compare
Choose a tag to compare

Release notes

Note

This release replaces v1.33.0 and addresses important issues reported for that version, specifically around eth_config and Receipts handling.

  • Receipts fix: Corrects an issue where receipts were being removed for blocks beyond TxLookupLimit even when History pruning was disabled. See PR #9231.
  • eth_config fix: Resolves a configuration issue reported by the EF Testing team. See PR #9233.

These changes improve stability and consistency for users relying on long-term history and accurate transaction receipts.

For further details, please review the full changelog and linked PRs below.

Full Changelog: 1.33.0...1.33.1

v1.33.0

01 Sep 14:36
Compare
Choose a tag to compare

Release notes

This release brings over 340 improvements across 2012 files, ranging from performance enhancements, protocol upgrades, and node-runner improvements.

Nethermind UI (initial release)

image

This version introduces the first iteration of the Nethermind UI (#9090), providing an integrated interface to interact with and monitor your node. This marks the beginning of a more user-friendly experience for running Nethermind.

The UI is enabled when UI health checks UI is enabled: --healthchecks-enabled --healthchecks-uienabled

If you wish to expose only the UI and not RPC externally, then you can do this using capabilities on HTTP endpoints with the JsonRpc.AdditionalRpcUrls parameter.

For example, if your consensus client is running locally (running in the same instance) and your external IP is 10.4.0.4, then you can expose only the UI using just the http|health capabilities on the external IP binding and want it enabled at HTTP port 80, then binding the other capabilities needed by the consensus client to localhost:

--jsonrpc-additionalrpcurls "[http://10.4.0.4:80|http|health,http://localhost:8551|http;ws|net;eth;subscribe;engine;web3;client]"

This ensures you don't additionally enable your node as a public RPC endpoint while also enabling the UI.

Historical data live pruning

We’ve added automatic history pruning capabilities (#8040), giving operators the ability to keep disk usage under control by pruning historical chain data as the node runs. This feature is disabled by default but can be enabled via configuration. It is an experimental feature, not yet recommended for use on production nodes.

History pruning can be enabled by passing the flag --history-pruning UseAncientBarriers. This will automatically prune any blocks older than the ancient barriers cutoff.

Alternatively, pruning can be enabled in rolling window mode with the flag --history-pruning Rolling. This will prune any blocks older than 82125 epochs, which is around 1 year on the Ethereum Mainnet. The specific number of epochs can be configured with the flag --history-retentionepochs <value> -- the number of epochs must be a minimum of 82125.

History pruning can be disabled with the flag --history-pruning disabled -- currently this is the default behavior, but this may change in the future.

Peering improvements for OP Stack

Several improvements were made to Optimism and OP Stack, including:

  • better handling of finalized/safe blocks #8658
  • a dedicated optimism RPC namespace #8667
  • refined peer management to improve stability and sync performance #8684, #8960

Performance improvements

A wide range of EVM and networking optimizations were introduced, including:

  • Reduced allocations in opcode execution #8687, #8740 and transaction sender recovery #8781, #8824.
  • Warmup and precomputation improvements for EVM instructions #8699, #8836.
  • Faster logging and RPC handling #8879, #8976.
  • RocksDB upgrades and optimizations #8640, #9059.

These changes collectively reduce CPU and memory usage while improving throughput and responsiveness.

Other improvements

Additionally, this release includes important fixes and feature updates:

  • EIP implementations:
    • EIP-7823: Gas accounting #8649
    • EIP-7825: Transaction gas limit cap #8663
    • EIP-7883: ModExp changes #8489, #8964
    • EIP-7907: Contract code size metering #8845
    • EIP-7910: eth_config #8956
    • EIP-7918: Blob base fee updates (#8656, #8935
    • EIP-7934: Execution block size limit #8815
    • EIP-7939: CLZ instruction #8759
    • EIP-7951: RIP-7212 renamed & enabled in Osaka #8753
  • Consensus layer & OP-CL: Split finalized/safe blocks #8658, new RPC methods for Taiko and OP #8874, and refined health checks #8755.
  • Discovery & peering: Faster removal of inactive peers #9037, improved gossip prioritization for peers on the same fork #9043, and fixes for discv4/discv5 edge cases #9046, #9113.
  • Testing & tooling: Revamped Hive/Assertoor test integrations #8711, #8862, new worldstate benchmarks #9051, and initial support for HTML and Grafana reporting #9074, #8960.

What's Changed

Read more

v1.33.0-rc

26 Aug 11:06
Compare
Choose a tag to compare
v1.33.0-rc Pre-release
Pre-release

Release notes

This release brings over 341 improvements across 2012 files ranging from performance enhancements, protocol upgrades, and node-runner improvements.

Nethermind UI (initial release)

image

This version introduces the first iteration of the Nethermind UI #9090, providing an integrated interface to interact with and monitor your node. This marks the beginning of a more user-friendly experience for running Nethermind.

The UI is enabled when UI health checks UI is enabled --HealthChecks.Enabled true --HealthChecks.UIEnabled true

If you wish to expose only the UI and not RPC externally then you can do this using capabilities on http endpoints with JsonRpc.AdditionalRpcUrls parameter.

For example if your CL is local (running in same instance) and your external IP was 10.4.0.4 then you can expose only the UI using just the http|health capabilities on the external ip binding and want it enabled at port 80 (http) then binding the other capabilities needed by the CL to localhost:

--JsonRpc.AdditionalRpcUrls "[http://10.4.0.4:80|http|health,http://localhost:8551|http;ws|net;eth;subscribe;engine;web3;client]"

This ensures you don't additionally enable your node as a public RPC endpoint while also enabling the UI.

Historical data live pruning

We’ve added automatic history pruning capabilities #8040, giving operators the ability to keep disk usage under control by pruning historical chain data as the node runs. This feature is disabled by default but can be enabled via configuration. It is an experimental feature, not yet recommended for use on production nodes.

History pruning can be enabled by passing the flag History.Pruning=UseAncientBarriers. This will automatically prune any blocks older than the ancient barriers cutoff.

Alternatively, pruning can be enabled in rolling window mode with the flag History.Pruning=Rolling. This will prune any blocks older than 82125 epochs, which is around 1 year on Ethereum mainnet. The specific number of epochs can be configured with the flag `History.RetentionEpochs=...' - the number of epochs must be a minimum of 82125.

History pruning can be disabled with the flag History.Pruning=Disabled - currently this is the default behaviour, but this may change in future.

Peering improvements for OP Stack

Several improvements were made to Optimism and OP Stack network support, including:

  • better handling of finalized/safe blocks #8658,
  • a dedicated optimism RPC namespace #8667,
  • refined peer management to improve stability and sync performance #8684, #8960.

Performance improvements

A wide range of EVM and networking optimizations were introduced, including:

  • Reduced allocations in opcode execution #8687, #8740 and transaction sender recovery #8781, #8824.
  • Warmup and precomputation improvements for EVM instructions #8699, #8836.
  • Faster logging and RPC handling #8879, #8976.
  • RocksDB upgrades and optimizations #8640, #9059.

These changes collectively reduce CPU and memory usage while improving throughput and responsiveness.

Other improvements

Additionally, this release includes important fixes and feature updates:

  • EIP implementations:
    • EIP-7823: Gas accounting #8649
    • EIP-7825: Transaction gas limit cap #8663
    • EIP-7883: ModExp changes #8489, #8964
    • EIP-7907: Contract code size metering #8845
    • EIP-7910: eth_config #8956
    • EIP-7918: Blob base fee updates (#8656, #8935
    • EIP-7934: Execution block size limit #8815
    • EIP-7939: CLZ instruction #8759
    • EIP-7951: RIP-7212 renamed & enabled in Osaka #8753
  • Consensus layer & OP-CL: Split finalized/safe blocks #8658, new RPC methods for Taiko and OP #8874, and refined health checks #8755.
  • Discovery & peering: Faster removal of inactive peers #9037, improved gossip prioritization for peers on the same fork #9043, and fixes for discv4/discv5 edge cases #9046, #9113.
  • Testing & tooling: Revamped Hive/Assertoor test integrations #8711, #8862, new worldstate benchmarks #9051, and initial support for HTML and Grafana reporting #9074, #8960.

What's Changed

Read more

v1.32.4

31 Jul 09:41
Compare
Choose a tag to compare

Release notes

Fixed the peer discovery issue

After the Geth v1.16.0 release, there was a sudden drop in discovered Nethermind nodes in network crawlers. This version exposed one edge-case issue, which was much more likely to happen, and is now addressed.

Other improvements

Additionally, a few extra improvements were added to the general discovery phase of finding new peers and ensuring a high peer count can be achieved:

  • #9046: Ensures we reuse the original request identifier when replying, fixing mismatches in ENR messages.
  • #8712: Fixes corrupt snappy message when disconnecting fast due to too many peers.
  • #9037: Speeds up how quickly inactive or problematic peers are dropped.
  • #9043: Prefers peers on the same blockchain fork for gossiping to improve message propagation.
  • #9040: Fixes an issue that could miss some transaction receipts during syncing.
  • #9054: Optimizes peer-distance calculations for faster network operations.

Full Changelog: 1.32.3...1.32.4

v1.32.3

21 Jul 14:45
Compare
Choose a tag to compare

Release notes

Important

This release is a mandatory upgrade for all node operators of the Energy Web Chain.

The Zurich hard-fork of EWC is set to the block number 36871000, which is expected to occur in the UTC afternoon of August 5, 2025.

Major highlights

Addressed OOM issues during full and archive sync

More resilient syncing of Archive nodes with better memory management thanks to #8975

Fixed the issue with broken block processing thread when a block is suggested out of order

This is an edge case scenario, but with some consensus clients and under very rare circumstances, it tends to break the processing in #8683

Improved the general performance of a node and its stability

Improved peering and validation performance under heavy P2P demand (snapserving, mempool txs, etc) in #8968

Few extra changes which are improving overall node performance, like #8926, #8947, #8927

Additionally, whenever a node breaks via random database corruption, now Nethermind will shut down to ensure no further corruption of the database is happening, and with proper setup (via Docker, systemd, or in systems like DappNode), it may self-recover in a few minutes; in #8986

Full Changelog: 1.32.2...1.32.3

v1.31.13

15 Jul 11:01
1b54872
Compare
Choose a tag to compare

Release notes

Important

This release is a mandatory upgrade for all node operators of the Energy Web Chain.

The Zurich hard-fork of EWC is set to the block number 36871000, which is expected to occur in the UTC afternoon of August 5, 2025.

Full Changelog: 1.31.12...1.31.13

v1.32.2

29 Jun 18:43
d3e7eb9
Compare
Choose a tag to compare

Release notes

Note

This release replaces v1.32.0 and v1.32.1 and addresses Linux and CPU compatibility issues reported for those versions.

Full Changelog: 1.32.1...1.32.2

v1.32.1

28 Jun 08:10
bb80b35
Compare
Choose a tag to compare

Release notes

Warning

Use v1.32.2 instead. This release replaces v1.32.0 and addresses compatibility issues with some Linux distros. However, it still has compatibility issues with some older or low-end CPUs.

Full Changelog: 1.32.0...1.32.1

v1.32.0

27 Jun 12:32
55fe750
Compare
Choose a tag to compare

Release notes

Warning

Use v1.32.2 instead. This release has compatibility issues with older or low-end CPUs, Ubuntu 22.04, and some other Linux distros.

This release brings over 300 performance enhancements, protocol improvements, and developer-focused upgrades:

  • Increase Ethereum Mainnet Gas Limit to 45MGas
  • Drop the pre-merge history for Ethereum Mainnet (around 300GB smaller DB)
  • Faster block production, sync, and pruning
  • New admin RPCs and richer metrics for tracing and debugging
  • EIP-4444 and EIP-2935 fixes, plus extended snapshot handling
  • Refactors improving stability, modularity, and test coverage

Major highlights

Protocol

  • Drop pre-merge history from Ethereum Mainnet
    • It gives about 300GB in disk space
    • Requires a full resync of a node to have an effect of that
    • To preserve them on fresh sync add flags --Sync.AncientReceiptsBarrier=0 and --Sync.AncientBodiesBarrier=0
  • RPC error support for EIP-4444 (pruned blocks)
  • Fixes for EIP-2935 edge cases

Performance

  • A lot of performance improvements which allows now to bump safely gas limit of Ethereum Mainnet to 45 MGas
  • Significantly improved local block building and profitability logic
  • State sync, pruning, blob fee calc
  • Improved memory use by networking and Trie cache
  • Parallel block downloading (with rollback safety)
  • AVX512 and ARM64-specific boost for 256-bit integer arithmetic

JSON-RPC & metrics

  • New JSON-RPC methods: admin_addTrustedPeer, admin_removeTrustedPeer, admin_peerEvents
  • More granular metrics: engine_getBlobsV1, pruning, block stats
  • Improved Geth-compatible debug_trace support
  • Default extradata for local building includes Nethermind version (as per Besu, Erigon, Geth)

Chain support

  • Updates to OP Superchain, World Chain, Hoodi, Taiko Pacaya
  • Snap sync support for Energy Web
  • Configuration fixes: deposit contracts, gas limits, ancient block barriers

CLI improvements

Shortened boolean command line option notation. For example, --metrics-enabled true can now be written as --metrics-enabled, omitting the value part. If the value is false, it still must be explicitly specified.

nethermind-cli

nethermind-cli is retired as deprecated. See the docs for suggested replacements.

Other improvements

  • Major refactors: pruning, sync, metrics, plugins, discovery
  • Plugin system enhancements and modular debug features

Changelog

Read more

v1.31.12

26 Jun 15:00
3b5f1ca
Compare
Choose a tag to compare

Release notes

Important

This release is a mandatory upgrade for all node operators of the Volta chain.

The Zurich hard-fork of Volta is set to the block number 32597900, which is expected to occur in the UTC afternoon of July 8, 2025.

Changes

  • Configure Volta Zurich hard fork by @rubo in #8851

Full Changelog: 1.31.11...1.31.12