Download Latest Version nethermind-1.39.3-28cbe2a0-linux-arm64.zip (112.7 MB)
Email in envelope

Get an email when there's a new version of Nethermind

Home / 1.39.0
Name Modified Size InfoDownloads / Week
Parent folder
nethermind-1.39.0-14aca2c5-windows-x64.zip.asc 2026-07-08 833 Bytes
nethermind-1.39.0-14aca2c5-linux-arm64.zip.asc 2026-07-08 833 Bytes
nethermind-1.39.0-14aca2c5-linux-x64.zip.asc 2026-07-08 833 Bytes
nethermind-1.39.0-14aca2c5-macos-arm64.zip.asc 2026-07-08 833 Bytes
nethermind-1.39.0-14aca2c5-macos-x64.zip.asc 2026-07-08 833 Bytes
nethermind-1.39.0-14aca2c5-linux-arm64.zip 2026-07-08 112.4 MB
nethermind-1.39.0-14aca2c5-linux-x64.zip 2026-07-08 121.3 MB
nethermind-1.39.0-14aca2c5-macos-arm64.zip 2026-07-08 104.7 MB
nethermind-1.39.0-14aca2c5-macos-x64.zip 2026-07-08 113.6 MB
nethermind-1.39.0-14aca2c5-windows-x64.zip 2026-07-08 111.1 MB
README.md 2026-07-08 50.3 kB
v1.39.0 source code.tar.gz 2026-07-08 16.8 MB
v1.39.0 source code.zip 2026-07-08 20.4 MB
Totals: 13 Items   600.3 MB 0

Release notes

This release focuses on node robustness, Flat DB durability — alongside the eth/71 wire protocol, a reworked discovery stack, a large JSON-RPC features-and-correctness batch, continued Block-level Access Lists (EIP-7928) maturation, and a broad round of EVM, precompile, and state performance work.

OP Karst reminder: the OP Karst hardfork (shipped in 1.38.1 and included here) activates on OP Mainnet: Wed, Jul 8, 2026 at 16:00:01 UTC. OP Stack operators must be on 1.38.1 or later before then.

Overview

Full diff: https://github.com/NethermindEth/nethermind/compare/1.38.1…1.39.0

337 changes since 1.38.1. Highlights include restart-safety fixes for header sync and pivot selection, a Flat DB durability overhaul, the eth/71 wire protocol, a rework of discv4 discovery, SSZ-REST transport for the Engine API, eight new JSON-RPC methods with a large correctness batch, EIP-7928 (BALs) devnet-7 support with major performance work, EraE fixes, and chain-specific improvements for XDC, Taiko, Optimism, and Arbitrum.

Highlights

Sync & restart safety

  • Recover header sync after a lost chain level on unclean shutdown (#11994, fixes [#8029])
  • Unwedge UpdatingPivot for nodes restarted before the first pivot update (#11995)
  • Flush all column families in ColumnsDb.Flush — makes column-DB writes (incl. Flat DB) durable across restarts (#12223, fixes [#11993])
  • Refresh snap pivot instead of punishing the only peer (#11569, fixes [#6803]); support infinite pivot-update attempts via 1 (#11600, fixes [#5992])
  • Fix shutdown race in SnapProvider (#11807); accept receipts with zero bloom from peers (#11743); prevent negative RequestSize crash when the beacon pivot advances mid-sync (#11478)
  • New Sync.StaticSnapPivot option for fixed-pivot snap sync from a frozen peer (#11943)

Flat DB (experimental, opt-in) durability & hardening

  • Crash-durable snap finalize with a cheap restart wipe (#11997); preserve format markers when clearing the flat DB (#11996)
  • Force-persist the head-reachable fork instead of an arbitrary one (#11967); persistence cache (#12035); prune orphaned non-canonical snapshots on persist (#11739)
  • RLP-wrap storage slot values behind a versioned flag (#11909) with legacy-DB detection (#11975); improved state-backend compatibility and auto-detection (#11911, [#11404])
  • Stagger compaction per instance (#11756) with a CompactionOffset config to pin the schedule (#11958)

Networking & discovery

  • eth/71 wire protocol (#10844); eth/70 hardening (#11456, [#11615], [#11754]); eth/69 BlockRangeUpdate validation (#11796)
  • discv4 rework (#8616) and discovery now defaults to V4 (#11614); faster discv4 timeout handling (#11859)
  • Disconnect peers on unknown protocol message type (#11266); reduced per-message and per-peer allocations across Eth, Snap, and RLPx (#11639)

JSON-RPC

  • New methods: eth_getHeaderByHash/eth_getHeaderByNumber (#11531), eth_getRawTransactionByBlockHashAndIndex/eth_getRawTransactionByBlockNumberAndIndex/eth_sendRawTransactionSync (#11521), eth_signTransaction (#11517), eth_baseFee (#11522), debug_intermediateRoots (#11524), eth_capabilities (#11438), proof_call (#11732), proof_getProofWithMeta (#11498)
  • Streaming responses for debug_* and trace_* (#11693, [#11755], [#11781]) with a synchronous-wait fix (#12006)
  • Correctness batch: eth_estimateGas zero/revert semantics (#11780, [#11783]), reject EIP-1898 blockHash+blockNumber (#11777), reject oversized blob calls (#11782), eth_simulateV1 fixes (#11506, [#11665], [#11841]), eth_createAccessList reverted-frame accesses (#11431), omit non-spec error field from receipts (#11454), zero hashes for absent eth_getProof accounts (#11912)
  • Route eth_call through a shareable tx-processor pool (#11548); drain in-flight requests before disposing databases on shutdown (#11845)

Engine API

  • SSZ-REST transport (#11301) with Accept-negotiation fix (#11856) and capabilities-warning fix (#12176)
  • Fix forkchoice validation order (#11681); validate FCU safe/finalized by ancestry when main-chain markers are outdated (#11746); guard against null safe/finalized hash (#12110)
  • Bound dangling block-cache growth (#11426); capture bad blocks at pre-process rejection stages (#11696)

Block-level Access Lists (EIP-7928)

  • BAL devnet 6 and devnet 7 support (#11436, [#11561]) incl. the EIP-8037 intrinsic-gas cap (#11635, [#11579])
  • Network encoding fix (#11950), RLP fix (#11861), validation refactor (#11878), activation only when needed (#11795)
  • Performance series: verify-only fast path (#11659), account-presence bitmap (#11661), single-pass build (#11676), reduced recording overhead on warm reads (#11905), allocation cuts (#11702, [#11725])

Performance

  • Fast ETH-transfer execution path (#11804); TrieWarmer reworked onto ThreadPool (#11848); tightened CALL hot path with EIP-7702 delegation-to-precompile fix (#11547)
  • Precompiles: BN254 pairing optimizations (#11916, [#11888]), BLS G1MSM decoding (#11889), per-thread RIPEMD-160 (#11890), ModExp int32 overflow fix (#11692)
  • State: storage-trie warm-up driven from writes (#11409), RocksDB native memory reported to GC (#11453), lock-free ChainHeadSpecProvider (#11618)

Chain-specific

  • XDC: XDPoS RPC module (#10553), rewards upgrade (#11016), HotStuff and QC-manager refactors (#11711, [#11644]), snapshot recovery (#11602), discovery (#11527), sync fixes
  • Taiko: Unzen scheduled on Taiko Hoodi (#11977) with zk-gas recalibrations (#11749, [#11896], [#11940]); beacon-sync deadlock fix (#11648); engine payload aligned with alethia-reth (#11776)
  • Optimism: OP Karst fork (#11917) and Superchain registry refresh with Base removal (#11655, [#11852]) — already shipped to OP operators in 1.38.1
  • Arbitrum groundwork: ArbOS 60 multi-gas constraints (#10765) and EVM extension points
  • zkEVM/stateless: migration to zkVM/SSZ standards (#11481, [#11625]), EEST stateless-execution tests (#11908), intrinsic zk gas (#11584)

Other notable

  • EraE (EIP-4444) fixes and spec updates (#11727, [#11771], [#11772], [#11928])
  • Structured console logging via -logging-format (#11610); non-default config values shown at startup (#11523); health UI behind a reverse proxy (#11946)
  • StatsAnalyzer plugin (#7345, [#11766])

⚠️ Breaking / behavior changes

  • Legacy BloomStorage removed (#11906) — the bloom-filter index database and its configuration are gone; log queries rely on the current log-index path.
  • Discovery defaults to V4 (#11614).
  • Per-method JSON-RPC metrics are now enabled by default (#11494).
  • Non-spec error field removed from transaction receipts in JSON-RPC responses (#11454).
  • IPC socket is restricted to owner-only permissions when configured (#9449).

What’s Changed

New Contributors

Full Changelog: https://github.com/NethermindEth/nethermind/compare/1.38.1…1.39.0

Build signatures

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

Build signatures

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

Source: README.md, updated 2026-07-08