Skip to content

Releases: erigontech/erigon

v3.5.0

Choose a tag to compare

@erigon-release erigon-release released this 26 Jun 12:31
7e8c1ef

Erigon v3.5.0 — Tidal Tails

Erigon 3.5.0 is a major release headlined by parallel block execution becoming the default and initial support for Ethereum's upcoming Glamsterdam hardfork. It is a drop-in upgrade for 3.4.x users — no re-sync required; existing datadirs upgrade their prune configuration automatically (see Breaking Changes).

Key Features

  • Parallel block execution, on by default. Erigon now executes EVM transactions across multiple cores by default, using the Block-STM (software transactional memory) design pioneered by Aptos: transactions run optimistically in parallel and are re-validated against a multi-version state, re-executing only on conflict (#21591 by @mh0lt, closes #17630). Revert to serial with EXEC3_PARALLEL=false or --exec.serial.
  • Glamsterdam devnet support. Initial implementation of Ethereum's next hardfork: Block-Level Access Lists (EIP-7928), enshrined Proposer-Builder Separation / "Gloas" (EIP-7732) in Caplin, gas repricings (EIP-8037, EIP-7976, EIP-7981), larger contracts (EIP-7954), transfer logs (EIP-7708), and the eth/71 Block Access List wire protocol (EIP-8159). Devnet/testing only — not scheduled on mainnet or any public testnet.
  • debug_executionWitness. Stateless execution-witness generation (EIP-7928/8025) with reth-compatible output, for zkEVM and stateless clients (#20205 by @antonis19, #21629 by @awskii).
  • More aggressive history pruning by default. --prune.mode=full now follows the EIP-8252 reorg-retention window (~36 days / 262,144 blocks) — see Breaking Changes.
  • GraphQL API revival. Broad resolver coverage restored — queries, logs, call, sendRawTransaction, estimateGas, gasPrice, storage, and EIP-4844 fields.

Breaking Changes

--prune.mode=full: EIP-8252 retention window replaces pre-merge history-expiry

Full mode now retains state and block data for the last 262,144 blocks (~36.4 days), matching EIP-8252's REORG_RETENTION_WINDOW (#21342). Previously full mode pruned only pre-merge block data (EIP-4444 history-expiry) and kept the last 100,000 blocks of state history.

What changed:

Before After
State history retention last 100,000 blocks last 262,144 blocks
Block data retention pre-merge pruned, all post-merge kept (EIP-4444) last 262,144 blocks

Migration: existing datadirs upgrade automatically and silently. To keep the old "retain all post-merge block data" behavior, set --prune.distance.blocks=18446744073709551615.

Note: physical deletion of frozen snapshot files is not implemented yet (see #21306), so existing on-disk historical blocks persist for now, though the new cutoff is already recorded at the config level.

In practice, this means only freshly synced full nodes will have a reduced disk footprint.

--prune.mode=blocks: state history retention bumped to 262,144 blocks

--prune.mode=blocks keeps the same shape as before (all block data retained), but its state history retention also bumps from 100,000 to 262,144 blocks. --prune.mode=minimal is unchanged — both block and state history retain the 100,000-block window, deliberately sub-EIP-8252 for disk-constrained operators. See #21342 for details.


Single p2p listener: --p2p.allowed-ports removed, all eth versions multiplex on --port

Erigon now opens a single TCP listener on --port (default 30303) carrying every configured eth protocol version, instead of one listener per protocol on 30303/30304/30305. This fixes a discovery-DHT race that left inbound peers stuck at a fraction of --maxpeers for multi-protocol deployments: per-protocol ENRs collided under one Node ID, so only one survived in the DHT and peers dialed the wrong listener (#21335).

What changed:

Aspect Before After
Inbound peer ports 30303, 30304, 30305, … (one per eth version) 30303 only
--p2p.allowed-ports flag Picked one port per protocol from this list Removed — passing it now errors
--maxpeers semantics Per-protocol cap; actual ceiling ≈ N × maxpeers Honest total cap
Default --maxpeers 32 64 (compensates for the now-honest cap)
Enode database directory <datadir>/nodes/eth68, <datadir>/nodes/eth69, … <datadir>/nodes/eth

Migration:

  • Remove --p2p.allowed-ports=... from CLI args / config files; it is no longer recognised.
  • Firewall, Kubernetes Service, and monitoring rules that explicitly opened 30304/30305 can drop those entries — only --port is bound now.
  • If you previously lowered --maxpeers because you knew the per-protocol multiplication inflated the real ceiling, raise it back to the target total (the cap is now what the flag says).
  • First run after upgrade loses the warm peer cache in nodes/eth{68,69,…} — nothing on disk is deleted, the directories are simply no longer read; discovery rebuilds the peer set from bootnodes within a few minutes.

Standalone sentry binary (cmd/sentry) and --sentry.api.addr (remote sentry over gRPC) are unaffected — neither had the bug.


debug_trace* RPC: enableMemory / enableReturnData replace disableMemory / disableReturnData

Aligns Erigon with the execution-apis specification (ethereum/execution-apis#762) and Geth behavior.

What changed:

Field Before (Erigon) After (Erigon / Geth / Spec)
Memory in trace disableMemory (default: included) enableMemory (default: excluded)
Return data in trace disableReturnData (default: included) enableReturnData (default: excluded)

Both the key and its default changed: disable*enable*, and memory and return data are now excluded unless explicitly enabled — matching the spec and Geth.

Migration: memory and return data are now excluded by default. To include them, add the new opt-in key (omit it to keep the default):

  • Memory: { "enableMemory": true }
  • Return data: { "enableReturnData": true }

Affected RPC methods: debug_traceTransaction, debug_traceBlockByHash, debug_traceBlockByNumber, debug_traceCall.


Clique PoA consensus engine removed

The legacy Clique proof-of-authority engine has been removed (#20532 by @yperbasis). --chain=dev now runs on an embedded proof-of-stake consensus instead of Clique (#20451 by @mh0lt), matching how all live networks operate post-Merge. Networks or tooling that still depended on Clique are no longer supported.


Silkworm integration removed

The optional Silkworm C++ execution-backend integration and its --silkworm.* flags have been removed (#19662 by @canepat). Erigon uses its native Go execution engine exclusively.


Glamsterdam (Devnet Support)

3.5.0 adds an initial implementation of Ethereum's next hardfork — Glamsterdam (consensus-layer "Gloas" + execution-layer "Amsterdam") — for devnet testing and validation. It is not scheduled on mainnet or any public testnet, and these code paths are inert on production networks until an activation time is configured.

  • EIP-7928 — Block-Level Access Lists (BAL): records every account and storage slot a block touches, enabling deterministic parallel validation. Full builder, validator, and strict-validation support (#19627, #19656, #20602, #20776), plus the eth_getBlockAccessList RPC method (#19929) — by @mh0lt, @yperbasis, @Sahil-4555
  • EIP-7732 — Enshrined Proposer-Builder Separation (ePBS / "Gloas"): implemented in Caplin — execution-payload envelope, PTC, and builder payments (#18956) — with follow-up audit and fork-choice fixes (#21248, #21228) — by @domiwei
  • Gas repricings: EIP-8037 State Creation Gas Cost Increase (#19596), EIP-7976 calldata floor cost (#20613), EIP-7981 access-list cost (#20671) — by @taratorio
  • EIP-7954 — Increase Maximum Contract Size (#19624) — by @yperbasis
  • EIP-7843 — slot-number opcode (SLOTNUM), wired into Caplin block production and engine_forkchoiceUpdatedV4 (#20175) — by @yperbasis
  • Networking: eth/71 Block Access List exchange (EIP-8159, #20793, #20794, #20795) — by @mh0lt

Added

RPC

  • debug_executionWitness: generate stateless execution witnesses (EIP-7928/8025), with legacy and canonical output modes — the legacy format is reth-compatible — for zkEVM and stateless clients (#20205, #21371, #21518, #21629) — by @antonis19, @lupin012, @awskii
  • eth_capabilities: report the set of supported RPC methods (#20951) — by @lupin012
  • debug_setHead: rewind the chain head (#19577) — by @canepat
  • GraphQL substantially revived — transaction, logs, call, sendRawTransaction, estimateGas, gasPrice, and storage resolvers, plus EIP-4844 fields (#20389, #20916, #21219, #21379, #21060) — by @lupin012
  • testing_ namespace exposed via --http.api for engine/spec test harnesses (#20482) — by @lupin012
  • eth_simulateV1: per-call gas and result limits (#20232) — by @Sahil-4555

CLI & Operations

  • --exec.no-prune (disable all DB pruning), --exec.serial (force single-threaded execution), and --exec.* executor-tuning flags (#20915, #20853, #20797) — by @mh0lt
  • seg du (snapshot disk-usage analysis, #20104) and seg rm-blocks (remove latest block snapshots, #20554) — by @awskii, @sudeepdino008

Changed

RPC

Read more

v3.4.4

Choose a tag to compare

@erigon-release erigon-release released this 18 Jun 19:07
5da2eae

Erigon v3.4.4 — Splashing Saga

v3.4.4 is a bugfix release recommended for all users.

Bugfixes

  • execution/stagedsync: prune in-RAM overlay when execution unwind is a no-op (#21824, #21847) by @JkLondon — third fix for the post-reorg gas used mismatch.
  • caplin: serialize uint64 beacon API fields as JSON strings (#21805) by @BitWonka - Per the beacon-APIs spec, Uint64/Gwei fields must be serialized as JSON strings. Several Caplin response types were emitting them as JSON numbers, breaking spec-compliant clients. Fixes #20562.

Full Changelog: v3.4.3...v3.4.4

v3.4.3

Choose a tag to compare

@erigon-release erigon-release released this 02 Jun 09:03
c045521

Erigon v3.4.3 — Splashing Saga

v3.4.3 is a bugfix release recommended for all users.

Bugfixes

  • db/state: prune TemporalMemBatch overlay entries past the unwind point (#21538) by @JkLondon — second
    fix for the post-reorg gas used mismatch / state-leak some users still hit on v3.4.2. After a tip reorg
    a stale read in the in-memory overlay could return a write made inside the unwound txNum range,
    flipping an SSTORE from cold to warm gas pricing. Complements the #21157 diffset fix shipped in v3.4.2.
  • rpc: match Geth semantics in debug_getModifiedAccountsByHash / debug_getModifiedAccountsByNumber
    (#21507) by @lupin012 — corrects the block-range convention (exclusive start), now also reports contracts
    whose storage changed without an account change, and excludes touched-but-unchanged precompiles and
    self-destructed accounts.
  • node/cli: register --rpc.logs.maxresults in DefaultFlags so it takes effect via the CLI (#21389) by
    @lupin012 — the limit was documented in 3.4.0 but never wired into the flag set, so setting it on the
    command line had no effect; it now applies.

Improvements

  • execution/p2p, execution/engineapi: fail-fast engine_newPayload backward download when the gap exceeds
    the reorg limit (#21502) by @yperbasis — when a payload's parent is more than MaxReorgDepth blocks from
    the local head, the download short-circuits instead of fetching a header batch every slot, and logs the
    expected gap at INFO instead of WARN. The gap is still closed by the following fork-choice update.

Full Changelog: v3.4.2...v3.4.3

v3.4.2

Choose a tag to compare

@erigon-release erigon-release released this 22 May 16:14
aebbd15

Erigon v3.4.2 — Splashing Saga

v3.4.2 is a bugfix release recommended for all users.

Bugfixes

  • execution/stagedsync: find diffset by actually-executed hash on unwind (#21157) by @JkLondon — fixes a
    state-leak bug in unwindExec3 that surfaces as gas used mismatch / Cannot update chain head after
    a tip reorg whose unwound block deployed a contract via CREATE/CREATE2 to a counterfactual address
    (safe-wallets, EIP-1167 clone factories, ERC-4337 accounts, deterministic deployers). The unwind now
    walks every header at the height to find the diffset of the block actually executed, instead of
    assuming the (already-flipped) canonical hash matches.
  • rawdb: ignore invalid receipt cache transaction indexes (#21262) by @Sahil-4555

Improvements

  • db/state, ethconfig: bound domain merge; add --erigondb.domain.steps-in-frozen-file (#21148) by
    @wmitsuda

Full Changelog: v3.4.1...v3.4.2

v3.4.1

Choose a tag to compare

@erigon-release erigon-release released this 11 May 07:00
6fdfdb7

Erigon v3.4.1 — Splashing Saga

Bugfixes:

  • [r3.4] commitment: segfault fix - caused by branch slice returned by TrieContext.Branch by @awskii in #21044

Full Changelog: v3.4.0...v3.4.1

v3.4.0

Choose a tag to compare

@erigon-release erigon-release released this 28 Apr 14:12
ab501fc

Erigon v3.4.0 — Splashing Saga

The Erigon team is happy to announce the release of Erigon 3.4.0 "Splashing Saga" — a major update for node operators and validators, focused on stability, performance, and efficiency at ChainTip.

3.4.0 brings together months of work on making Erigon faster to start, cheaper to run, and lighter on disk: a 4x smaller Chaindata (~20 GB), non-blocking startup, persistent historical downloads in Caplin, historical eth_getProof leaving experimental, a fresh set of RPC endpoints, and a long list of correctness and reliability fixes across execution, the consensus layer, RPC, and the snapshot subsystem. It is a drop-in upgrade for 3.3.x users — no data migration or re-sync required.

This release would not exist without the wider Erigon community: external contributors, validators, testnet operators, and everyone who ran release candidates, reported bugs, and sent patches. Thank you.

Key Features

  • Fast restart on ChainTip: no more blocking indexing or pruning at startup; Caplin doesn't lose its download progress.
  • 4x smaller Chaindata (~20 GB): improves ChainTip speed. Available via re-sync, or by running ./build/bin/erigon seg step-rebase --datadir=<your_path> --new-step-size=390625 (takes ~10 seconds).
  • Historical eth_getProof: is no longer experimental. Recommended: 32 GB+ RAM. Re-sync with --prune.include-commitment-history to apply the latest data fixes.
  • New RPC endpoints: trace_rawTransaction, eth_getStorageValues, admin_addTrustedPeer, admin_removeTrustedPeer, flat tracers, engine_getBlobsV3.
  • Reduced impact on ChainTip performance: from RPC, background file merging, pruning, and optional heavy flags (--persist.receipts, --prune.include-commitment-history).

Breaking Changes

  • Minimum Go version: 1.25
  • --rpc.blockrange.limit=1_000 new limit. Maximum block range (end - begin) allowed for range queries over RPC. 0 - means unlimited. Default: 1_000
  • --rpc.logs.maxresults=20_000 new limit. Maximum number of logs returned by eth_getLogs, erigon_getLogs, erigon_getLatestLogs. 0 - means unlimited. Default: 20_000
  • --rpc.max.concurrency=0 new limit. Maximum number of concurrent HTTP RPC requests (HTTP admission control). 0 = use db.read.concurrency, -1 = unlimited (no admission control). Default: 0
  • p2p: switched to discv5. discv4 disabled by default.

How to Upgrade

Erigon 3.4 is a drop-in upgrade. No data migration or re-sync is required.

Docker

docker pull erigontech/erigon:v3.4.0

Changes

RPC Reliability

  • eth_getBlockReceipts: limit over-concurrency — prevents latency growth and out-of-memory (OOM) at high request rates. (#19725)
  • debug_traceCallMany: fix global BlockOverrides and StateOverrides not being applied. (#19547)
  • debug_traceCall: fix state and block overrides interaction. (#18480)
  • eth_blobBaseFee: fix incorrect value returned. (#18506)
  • eth_getBalance and others: fix block-not-found error for certain historical queries. (#18457)
  • Block-hash canonicality check: added to APIs that accept a block hash and state. (#19356)
  • rpc: fix batch limit exceeded error to comply with the JSON-RPC spec. (#18260)
  • trace_replayTransaction(): add stack info for TLOAD opcode. (#19550)
  • eth_feeHistory: performance optimisation and pending block support. (#19526, #19455)
  • debug_trace*: zero-alloc memory word encoding in JsonStreamLogger — eliminates per-word heap allocations and prevents OOM on large block traces. (#20754)
  • prestateTracer: fix diff mode missing deleted accounts to match geth behaviour (resolves flaky rpc-compat test_42). (#20775)
  • rpc/mcp: fix tools/call hanging indefinitely under DB load by switching the SSE context to non-blocking read-tx acquire. (#20778)

New RPC Endpoints

  • trace_rawTransaction: execute and trace a raw signed transaction without broadcasting it. (#19524)
  • eth_getStorageValues: batch fetch of multiple storage slots in a single call. (#19442)
  • admin_addTrustedPeer / admin_removeTrustedPeer: manage trusted peers at runtime. (#19413)
  • Call flat tracers (trace_call family): flat trace output format support. (#18556)
  • engine_getBlobsV3: Engine API blob retrieval v3. (#18512)
  • trace_call: StateOverrides precompile support. (#18401, #18492)

TxPool

  • Zombie queued transactions: transactions exceeding MaxNonceGap are now evicted. (#19449)
  • txnprovider/shutter: fix premature encrypted txn pool cleanup and peer drops. (#18351)
  • txpool: cache pendingBaseFee for queue comparisons to reduce recomputation. (#18341)

Protocol

  • Fusaka scheduled for Chiado (Gnosis Chain testnet) at slot 21 651 456, epoch 1 353 216, timestamp 1 773 653 580 (Mon 16 Mar 2026 09:33:00 UTC). (#19682)
  • Chiado bootstrap nodes updated to match the Lighthouse built-in Chiado network config. (#19693)
  • Balancer hard fork for Gnosis Chain mainnet. (#18122)
  • Amsterdam signer support and BAL non-determinism fix. (#19434)
  • BAL selfdestruct net-zero fix. (#19528)
  • Parallel execution fixes for block-access-list (BAL) workloads. (#17319)
  • execution/vm: EIP-8024 (SWAPN, DUPN, EXCHANGE) opcodes implemented. (#18670)
  • Pectra requests-hash validation: fix partial block receipt reconstruction when execution resumes from a snapshot boundary mid-block — resolves invalid requests root hash in header on mainnet re-sync at block 24966723. (#20452)

Consensus Layer (Caplin)

  • Persistent historical download — Caplin now persists and resumes historical beacon block downloads across restarts. (#18320)
  • Discovery v5 enabled by defaultdiscv5 is now the default peer discovery protocol. (#18578)
  • cl/p2p, cl/sentinel: fix DISCV5 ENR missing IP when the discovery address is unspecified. (#19585)
  • Fix missing attestations by using GossipSub for subnet peer coverage. (#19523)
  • cl/gossip: fix conditions forwarding, ENR lifecycle, and epoch-mismatch — prevents false peer banning, reduces log flooding from redundant ENR updates, and guards against stale RANDAO committee computation. (#20777)
  • cl/beacon: add single_attestation event topic support. (#18142)
  • cl/beacon: set Eth-Consensus-Version header when versioned. (#18377)

P2P

  • p2p/sentry: fix wrong OR in case statement for wit protocol messages. (#19580)
  • p2p: better handling of RLP errors in wit. (#19569)
  • discv4 disabled by default on mainnet (discv5 preferred). (#18640)

Snapshot & Storage

  • merge: prioritize Domain merge over History — 2x less disk space required, and less impact to ChainTip from history-merge. (#19441)
  • merge: fix O(n²) InvertedIndex re-merge — eliminates quadratic time complexity during re-merge. (#19680)
  • SequenceBuilder: avoids an intermediate Elias-Fano representation during sequence building and merge. (#19552, #19567)
  • Faster startup: state-file index building deferred to reduce restart latency. (#19583, #19407)
  • Graceful restart in history download: SpawnStageHistoryDownload now honours the stage context, so Ctrl+C during history download exits promptly instead of waiting for the download to finish. (#20766)
  • DB integrity checks: time budget added so checks no longer run un...
Read more

v3.4.0-rc.5

v3.4.0-rc.5 Pre-release
Pre-release

Choose a tag to compare

@erigon-release erigon-release released this 24 Apr 08:33
ac5e71d

Erigon v3.4.0-rc.5

Key Features

  • Fast restart on ChainTip: no more blocking indexing or pruning at startup; Caplin doesn't lose its download progress.
  • 4x smaller Chaindata (~20 GB): improves ChainTip perf. Available via re-sync, or by running ./build/bin/erigon seg step-rebase --datadir=<your_path> --new-step-size=390625 (takes ~10 seconds).
  • Historical eth_getProof: is no longer experimental. Recommended: 32 GB+ RAM. Re-sync with --prune.include-commitment-history to apply the latest data fixes.
  • New RPC endpoints: trace_rawTransaction, eth_getStorageValues, admin_addTrustedPeer, admin_removeTrustedPeer, flat tracers, engine_getBlobsV3.
  • Reduced impact on ChainTip performance: from RPC, background file merging, pruning, and optional heavy flags (--persist.receipts, --prune.include-commitment-history).
  • Accounts history: 268G -> 118G

Breaking Changes

  • Minimum Go version: 1.25
  • --rpc.blockrange.limit=1_000 new limit. Maximum block range (end - begin) allowed for range queries over RPC. 0 - means unlimited. Default: 1_000
  • --rpc.logs.maxresults=20_000 new limit. Maximum number of logs returned by eth_getLogs, erigon_getLogs, erigon_getLatestLogs. 0 - means unlimited. Default: 20_000
  • --rpc.max.concurrency=0 new limit. Maximum number of concurrent HTTP RPC requests (HTTP admission control). 0 = use db.read.concurrency, -1 = unlimited (no admission control). Default: 0
  • p2p: switched to discv5. discv4 disabled by default.

MCP Server for AI

  • Added a built-in Model Context Protocol (MCP) server for AI integrations. Enabled by default (in embedded SSE mode on 127.0.0.1:8553). Configurable: --mcp.addr, --mcp.port, --mcp.disable.
  • Exposes read-only Erigon capabilities as MCP tools, resources, and prompts: eth_*, erigon_*, and ots_* RPC calls, sync status, recent blocks, gas data, and address/block/transaction summaries. AI can see and grep: logs, metrics, pprof. Just ask: "available Erigon mcp methods"
  • Security note: the embedded MCP server binds to localhost by default and should not be exposed publicly.

How to Upgrade

Erigon 3.4 is a drop-in upgrade. No data migration or re-sync is required.

Docker

docker pull erigontech/erigon:v3.4.0-rc.5

Changes

RPC Reliability

  • eth_getBlockReceipts: limit over-concurrency — prevents latency growth and out-of-memory (OOM) at high request rates. (#19725)
  • debug_traceCallMany: fix global BlockOverrides and StateOverrides not being applied. (#19547)
  • debug_traceCall: fix state and block overrides interaction. (#18480)
  • eth_blobBaseFee: fix incorrect value returned. (#18506)
  • eth_getBalance and others: fix block-not-found error for certain historical queries. (#18457)
  • Block-hash canonicality check: added to APIs that accept a block hash and state. (#19356)
  • rpc: fix batch limit exceeded error to comply with the JSON-RPC spec. (#18260)
  • trace_replayTransaction(): add stack info for TLOAD opcode. (#19550)
  • eth_feeHistory: performance optimisation and pending block support. (#19526, #19455)

New RPC Endpoints

  • trace_rawTransaction: execute and trace a raw signed transaction without broadcasting it. (#19524)
  • eth_getStorageValues: batch fetch of multiple storage slots in a single call. (#19442)
  • admin_addTrustedPeer / admin_removeTrustedPeer: manage trusted peers at runtime. (#19413)
  • Call flat tracers (trace_call family): flat trace output format support. (#18556)
  • engine_getBlobsV3: Engine API blob retrieval v3. (#18512)
  • trace_call: StateOverrides precompile support. (#18401, #18492)

TxPool

  • Zombie queued transactions: transactions exceeding MaxNonceGap are now evicted. (#19449)
  • txnprovider/shutter: fix premature encrypted txn pool cleanup and peer drops. (#18351)
  • txpool: cache pendingBaseFee for queue comparisons to reduce recomputation. (#18341)

Protocol

  • Fusaka scheduled for Chiado (Gnosis Chain testnet) at slot 21 651 456, epoch 1 353 216, timestamp 1 773 653 580 (Mon 16 Mar 2026 09:33:00 UTC). (#19682)
  • Chiado bootstrap nodes updated to match the Lighthouse built-in Chiado network config. (#19693)
  • Balancer hard fork for Gnosis Chain mainnet. (#18122)
  • Amsterdam signer support and BAL non-determinism fix. (#19434)
  • BAL selfdestruct net-zero fix. (#19528)
  • Parallel execution fixes for block-access-list (BAL) workloads. (#17319)
  • execution/vm: EIP-8024 (SWAPN, DUPN, EXCHANGE) opcodes implemented. (#18670)

Consensus Layer (Caplin)

  • Persistent historical download — Caplin now persists and resumes historical beacon block downloads across restarts. (#18320)
  • Discovery v5 enabled by defaultdiscv5 is now the default peer discovery protocol. (#18578)
  • cl/p2p, cl/sentinel: fix DISCV5 ENR missing IP when the discovery address is unspecified. (#19585)
  • Fix missing attestations by using GossipSub for subnet peer coverage. (#19523)
  • cl/beacon: add single_attestation event topic support. (#18142)
  • cl/beacon: set Eth-Consensus-Version header when versioned. (#18377)

P2P

  • p2p/sentry: fix wrong OR in case statement for wit protocol messages. (#19580)
  • p2p: better handling of RLP errors in wit. (#19569)
  • discv4 disabled by default on mainnet (discv5 preferred). (#18640)

Snapshot & Storage

  • merge: prioritize Domain merge over History — 2x less disk space required, and less impact to ChainTip from history-merge. (#19441)
  • merge: fix O(n²) InvertedIndex re-merge — eliminates quadratic time complexity during re-merge. (#19680)
  • SequenceBuilder: avoids an intermediate Elias-Fano representation during sequence building and merge. (#19552, #19567)
  • Faster startup: state-file index building deferred to reduce restart latency. (#19583, #19407)

Changelog

View full changelog on GitHub

v3.3.10 - Rocky Romp

Choose a tag to compare

@erigon-release erigon-release released this 27 Mar 08:51
e7de183

This release schedules Fusaka on Gnosis Chain mainnet at Tue 14 April 2026, 12:06:20 UTC and thus is mandatory for all Gnosis users. It is also recommended for all users in general.

What's Changed

  • Shedule Gnosis Fusaka by @domiwei in #20090
  • txpool: fully discard pre-Osaka blob txns in best() by @yperbasis in #20120
  • rpc: auto-convert legacy blob sidecar to v1 cell proofs after Osaka by @domiwei
    in #20087
  • rpc: add blockRangeLimit param for API works on blocks range by @lupin012 in #19614
  • cl: fall back to local head state when remote checkpoint sync fails by @domiwei in #20003
  • cl: fix fork choice block validation and error propagation by @domiwei in #19927
  • cl: re-enable voluntary_exit gossip topic subscription by @Giulio2002 in #19764

Full Changelog: v3.3.9...v3.3.10

v3.3.9 - Rocky Romp

Choose a tag to compare

@lystopad lystopad released this 09 Mar 08:34
8d7d33c

This release schedules Fusaka on Chiado on Mon 16 March 2026, 09:33:00 UTC and thus is mandatory for all Chiado users.

What's Changed

Full Changelog: v3.3.8...v3.3.9

v3.3.8 - Rocky Romp

Choose a tag to compare

@AskAlexSharov AskAlexSharov released this 20 Feb 11:43
e071586

What's Changed

Bugfixes

Full Changelog: v3.3.7...v3.3.8