Erigon v3.8.1 — Watery Whiskers
Erigon 3.8.1 unschedules Glamsterdam on Hoodi and improves block validation, validator reliability,
and block production. Hoodi operators running 3.8.0 must upgrade before 26 October 2026, 17:42:48 UTC.
This release is recommended for all users. Non-archive nodes can upgrade from 3.8.0 without a re-sync.
Beacon API metadata consumers and Caplin archive operators should read the breaking changes and upgrade notes below.
Highlights
- Glamsterdam on Hoodi postponed. Removes the Amsterdam execution-layer and Gloas Caplin activations at epoch
132352and the scheduled gas-limit increase to 200 million. No replacement activation date has been set. This supersedes the 3.8.0 Hoodi activation instructions. Hoodi nodes on 3.8.0 must upgrade before 26 October 2026, 17:42:48 UTC; for Hoodi nodes on versions earlier than 3.8.0, upgrading is recommended but not urgent. Check your consensus client (Caplin or external) and validator client for any required updates. See the Ethereum Foundation announcement (#25269) — by @yperbasis - Block validation. Fixes state-copy races and balance errors after reorgs in Caplin, plus stale commitment-cache reads during block access list prefetching. These could produce wrong state roots and reject valid blocks (#25257, #25215, #25159) — by @domiwei, @yperbasis
- Validator votes. Caplin waits for late blocks before rejecting Beacon API attestations and accepts a full slot's aggregate burst from one peer, avoiding lost votes. Sync committee subscriptions honor requested indices and survive fork-digest changes (#25114, #25250, #25130, #25119) — by @lystopad, @domiwei
- Faster head updates at epoch boundaries. Caplin prepares checkpoint states ahead of time and reduces epoch-processing work, shortening head-update delays at the first slot of an epoch (#25171, #25170, #25163) — by @awskii, @domiwei
Breaking Changes
- Beacon API node identity metadata.
/eth/v1/node/identitynow returnsseq_numberinstead ofseq,0x-prefixedattnetsandsyncnets, andcustody_group_countfrom Fulu. Update metadata parsers (#25194) — by @domiwei - Sync committee message rejections.
POST /eth/v1/beacon/pool/sync_committeesreturns HTTP400with failing message indices for validators outside the slot's sync committee, instead of silently returning200(#25131) — by @lystopad - No downgrade for Caplin archive nodes after Gloas history is rewritten. See Caplin archive upgrade notes (#25256) — by @domiwei, @0xShadowX
Fixes and Improvements
Consensus layer and execution
- Block-production delays.
engine_getPayloadreturns the payload built so far instead of waiting for its parent after a head change.engine_newPayloadavoids scanning every header snapshot before validation (#25254, #25242) — by @domiwei, @lystopad - Head updates and envelope propagation. Caplin reduces state-dump pauses, speeds up block validation at epoch boundaries, and publishes head changes at slot start to prevent proposal failures from stale heads. Gloas payload envelopes received before their beacon block are republished after successful processing (#25287) — by @domiwei
- Gloas performance. Caplin reduces hashing and signature-verification costs on Gloas networks such as Sepolia, retries payload preparation sooner when block processing is busy, and relays bursts of proposer preferences more reliably (#25175, #25202, #25217, #25255, #25221, #25147, #25246) — by @domiwei, @lystopad
- Validator-client recovery after Gloas. Caplin recognizes attached Teku and Prysm validators after restarts, restoring aggregate and sync contribution processing, custody requirements, and the correct block fee recipient (#25195) — by @domiwei
- Data availability after downtime. Caplin backfills missing custody columns within the current forward-sync range and preserves its highest advertised custody group count across restarts. Older gaps outside that range are not repaired automatically (#25148, #25196) — by @lystopad, @domiwei
Operations
- Disable speculative payload preparation. New
--caplin.payload-preparation.disableflag turns off speculative payload preparation while keeping the validator API and normal block production enabled (#25180) — by @yperbasis - Blob snapshot protection.
capcli dump-blobs-snapshotspreserves existing and preverified segments by default and no longer overwrites valid blob data with empty entries after blob-count pruning (#25174) — by @awskii, @lystopad
Security
- Peer-traffic resilience. Caplin enforces consensus-spec size limits on gossip and peer responses. Historical block access list requests use a separate serving stream and bounded re-execution, protecting block-body and receipt responses (#25119, #25107) — by @domiwei, @yperbasis
Caplin archive upgrade notes
Gloas historical-state fixes change the builder-history format and reduce archive growth
(#25256) — by @domiwei, @0xShadowX.
- Nodes that already processed Gloas may rebuild historical states from before the fork. Without
PtcWindowEpochsnapshots, post-fork history is processed locally. - Downgrading after writing the new builder-history records is not supported.
- Upgrading does not repair frozen Gloas history in the old format, including affected Sepolia snapshots. Historical reads keep failing until those snapshots are rebuilt or replaced.
Full Changelog: v3.8.0...v3.8.1