feat(deps): update erigon dependencies - #673
Open
graphops-renovate[bot] wants to merge 1 commit into
Open
Conversation
| datasource | package | from | to | | ---------- | ----------------- | ------ | ------ | | docker | erigontech/erigon | v3.5.4 | v3.6.0 |
graphops-renovate
Bot
force-pushed
the
renovate/erigon
branch
from
August 24, 2026 17:07
697b35e to
0a03382
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v3.5.4->v3.6.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
erigontech/erigon (erigontech/erigon)
v3.6.0Compare Source
Breaking Changes
--prune.include-receipts: historical receipts cache now off by default in all prune modesThe historical ("fat") receipts cache is no longer enabled by default on non-archive nodes. Previously
--prune.include-receipts(formerly--persist.receipts, still accepted as an alias) defaulted on for every prune modeexcept
archive; it now defaults off everywhere. The consensus layer was the consumer that justified retaining thesereceipts on pruned nodes, and it no longer needs them (#21617).
What changed:
--prune.modearchivefullblocksminimalReceipts and logs stay available within a node's retention window regardless: without the cache they are re-executed on
demand from state history, so
eth_getLogsandeth_getBlockReceiptskeep working, at higher latency. Forfullandminimalnodes the availability window is unchanged (receipts follow the state-history window either way). Forblocksnodes the cache previously made receipts and logs queryable back to genesis; without it they follow the state-history
window (last 262,144 blocks) — pass
--prune.include-receiptsif you rely on full-rangeeth_getLogs.Migration: existing datadirs are unaffected — the receipts-cache setting is recorded at datadir creation and the
stored value wins, so a node already syncing with the cache keeps it. Such a node now logs a startup notice that
--prune.include-receiptsdiffers from the value stored in the datadir; pass--prune.include-receiptsexplicitly tosilence it. Only newly-created
full/minimal/blocksdatadirs start without the cache; pass--prune.include-receiptson a fresh datadir to opt back in.(#22296) — by @yperbasis
CLI: receipts and commitment-history pruning flags moved under
--prune.*The receipt cache and commitment history now share the
--prune.*naming used by the rest of the pruning flags. Allformer names keep working as aliases, and stored datadir settings are unaffected.
--persist.receipts→--prune.include-receipts(alias:--persist.receipts,--experiment.persist.receipts.v2).--prune.receipts.distance(alias:--persist.receipts.distance) bounds how far back the receipt cache is kept:a block count,
keep-all, or empty/0(default) to follow the state-history window. Requires--prune.include-receipts. Snapshots older than the window are skipped at download time.--prune.commitment-history.distancenow also acceptskeep-all(in addition to a block count); empty or0stillkeeps everything.
(#22349) — by @AskAlexSharov
JSON-RPC: block-number strings must use the
0xhex formatQuoted decimal strings (e.g.,
"3") are no longer accepted as block-numberparameters; use the canonical hex form (e.g.,
"0x3") instead. Bare JSONintegers (
3) and named tags ("latest","earliest","pending","safe","finalized") are unchanged.What changed:
"3"(quoted decimal)-32602"0x3"(hex string)3(bare integer)Migration: replace any quoted decimal block number with its
0xequivalent — e.g.,
"3"→"0x3","1000000"→"0xf4240".eth_simulateV1: base fee too low error code corrected to-38012Aligns Erigon with the
eth_simulateV1error code specification (NethermindEth/nethermind#11412).What changed:
ErrFeeCapTooLowerror code-32602(generic "Invalid params")-38012(spec-mandated "baseFeePerGas is too low")Migration:
-32602to detect base-fee-too-low conditions ineth_simulateV1responses, update it to match-38012instead.JSON-RPC: idle polling filters are evicted after 5 minutes
Filters created with
eth_newFilter,eth_newBlockFilter, andeth_newPendingTransactionFilterare now evicted when not polled for 5 minutes, matching geth's stale-filter deadline. Previously they lived — and kept buffering data — untileth_uninstallFilteror a restart.What changed:
eth_getFilterChanges/eth_getFilterLogson an evicted idfilter not foundMigration: poll more often than the timeout, or recreate the filter when
filter not foundis returned (as with geth). Tune with--rpc.subscription.filters.timeout; set it to 0 to restore the previous keep-forever behavior. (#22261 by @onelapahead)Added
CLI & Operations
--prune.distance.blocksnow accepts readable policy names —keep-post-mergeandkeep-all— instead of the rawMaxUint64-based magic numbers (18446744073709551615/18446744073709551614);--prune.distancelikewise acceptskeep-all. Numeric values still work (#22119) — by @yperbasis--rpc.subscription.filters.timeout— deadline for evicting idle RPC polling filters (default 5m; 0 disables). Newsubscriptions_activegauge andsubscriptions_created_total/subscriptions_unsubscribed_total/subscriptions_reaped_totalcounters track the filter lifecycle (#22261) — by @onelapahead--witness.cache.blocks,--witness.cache.head-capture, and--witness.cache.maxmbenable an eager in-memory cache of recent-block legacydebug_executionWitnessresults, keyed by block hash. Head-capture mode lets a minimal node (no commitment-domain history) serve witnesses for the last N head blocks cache-only — a miss returns out-of-window rather than recomputing from history. Newwitness_cache_*metrics track hits, misses, builds, and resident entries. Embedded RPC only — by @awskiiv3.5.5Compare Source
v3.5.5 is a bugfix and security release recommended for all users, and especially for block proposers and archive-node operators. It fixes a panic on every Fulu blinded-block submission (#23150), a payload frozen before its slot began under an external consensus layer (#23102), and wrong
logIndexvalues on archive nodes (#22951). It is a drop-in upgrade from 3.5.4 — no re-sync required.Bugfixes
202 Acceptedand no body, so the builder client returned all-nil andpublishBlindedBlocksdereferenced the nil payload. The beacon router installs nomiddleware.Recoverer, so the validator client saw only a dropped connection and nothing reached the Erigon log. Fixes #22598.DomainReader(#22951) by @Sahil-4555 and @mh0lt — a block admitted through the block overlay read its receipt metadata from the committed tx, where a history miss fell back toGetLatestand returned the previous writing block's final log count. The wronglogIndexwas then cached in the RPC layer. Affected v3.5.1–v3.5.4. Fixes #22106.release/3.4build loggednil ptr after parsing file: caplin/…-NextSyncCommittee.segand silently stopped seeding its caplin state snapshots.Security
golang.org/x/textto v0.39.0 (#23178) by @lystopad — CVE-2026-56852: infinite loop inunicode/normon invalid UTF-8. Reachable from the downloader's HTTP/3 webseed path, and the only advisory here thatgovulncheckreports as called.golang.org/x/netto v0.56.0 (#23178) by @lystopad — CVE-2026-46600: panic parsing a malformed SVCB or HTTPS DNS resource record.github.com/quic-go/webtransport-goto v0.11.1 (#23178) by @lystopad — CVE-2026-57497: memory exhaustion from unbounded buffering of unknown capsules. Not reachable in Erigon: no WebTransport libp2p transport is registered.github.com/go-chi/chi/v5to v5.3.1 (#23178) by @lystopad — CVE-2025-69725 (open redirect inRedirectSlashes) plus threemiddleware.RealIPIP-spoofing advisories. Not reachable in Erigon: none of chi's middleware is used.Improvements
go-eth-kzgverifier optimization (#23177) by @yperbasis —release/3.5pinnedcrate-crypto/go-eth-kzgto an Erigon fork carrying an upstream change that is still an unmerged draft. This restores the released upstreamv1.5.0while the correctness concerns are investigated.Full Changelog: erigontech/erigon@v3.5.4...v3.5.5
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ 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.
This PR has been generated by Renovate Bot.