Skip to content

chore(deps): update docker.io/erigontech/erigon docker tag to v3.5.0#56

Merged
renovate[bot] merged 1 commit into
mainfrom
renovate/docker.io-erigontech-erigon-3.x
Jun 27, 2026
Merged

chore(deps): update docker.io/erigontech/erigon docker tag to v3.5.0#56
renovate[bot] merged 1 commit into
mainfrom
renovate/docker.io-erigontech-erigon-3.x

Conversation

@renovate

@renovate renovate Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Update Change OpenSSF
docker.io/erigontech/erigon (source) minor v3.4.4v3.5.0 OpenSSF Scorecard

Release Notes

erigontech/erigon (docker.io/erigontech/erigon)

v3.5.0

Compare Source

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.

Added
RPC
CLI & Operations
Changed
RPC
Networking & P2P
  • New eth/70 wire protocol: partial block receipt lists (EIP-7975, #​19755) — by @​yperbasis
  • All eth protocol versions now multiplex on a single TCP listener (see Breaking Changes, #​21335) — by @​lystopad
  • Peer hygiene / DoS hardening: cap and rate-limit inbound NewBlockHashes (#​21557), enforce the 4096-hash limit on NewPooledTransactionHashes (#​20577), drop peers failing blob KZG verification (#​21421), and bound fan-out stream buffers (#​20783) — by @​yperbasis
  • Skip chain-specific bootnodes on genesis-hash mismatch (#​19807); honour an explicitly empty --bootnodes (#​20630) — by @​yperbasis
TxPool
  • Proactive dormancy-based eviction of stale queued transactions (#​19862) — by @​lystopad
  • Transaction parsing migrated onto the shared execution/types transaction types (#​19757); malformed EIP-7702 authorization tuples are now tolerated rather than rejected wholesale (#​20809) — by @​yperbasis
Caplin (Consensus Layer)
  • Unified Engine API client for standalone mode (#​20035) — by @​mh0lt
  • Fork-choice and ENR-stability fixes — recovery from a post-Gloas fork-choice stall and a persistent node key for stable ENR across restarts (#​21228, #​21276) — by @​domiwei
  • Block production: give the EL builder a build window before stopping it, fixing near-empty proposed blocks (~0–2% gas) on otherwise-healthy validators (#​21990) — by @​lystopad
Storage & Performance
Removed
Security

Full Changelog: erigontech/erigon@v3.4.4...v3.5.0



Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At 12:00 AM through 04:59 AM and 10:00 PM through 11:59 PM, Monday through Friday (* 0-4,22-23 * * 1-5)
    • Only on Sunday and Saturday (* * * * 0,6)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@github-actions github-actions Bot added the chart label Jun 26, 2026
@renovate renovate Bot merged commit 00b0a4f into main Jun 27, 2026
1 check passed
@renovate renovate Bot deleted the renovate/docker.io-erigontech-erigon-3.x branch June 27, 2026 02:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants