Good day everyone! This is our v1.29.0 Pectra ready release for mandatory upgrading. If you are running on Gnosis or Ethereum mainnet, this version is the minimum required to ensure your node makes it through the hard forks on Gnosis (Apr-30-2025 14:03:40 UTC) and Ethereum (May-7-2025 10:05:11 UTC).
v1.29.0 includes some stack upgrades such as js-libp2p 2.0, IDONTWANT in gossipsub, ssz v1.2 and optimizations for Pectra seen on previous testnets such as improved block attestation packing.
Happy Pectra forking 🍴🦒! See you on the other side.
Changelog
Features
- track libp2p dial error (#7712) (@twoeths)
- sort packed attestations by total effective balance (#7673) (@twoeths)
- schedule electra on gnosis (#7678) (@nflaig)
- track insert outcome of aggregated attestations to oppool (#7674) (@nflaig)
- adjust aggregate participation buckets and track aggregate cache misses (#7667) (@nflaig)
- upgrade to js-libp2p 2.0 and enable IDONTWANT (#7359) (@wemeetagain)
- track new seen attesters per block (#7650) (@twoeths)
- schedule electra on mainnet (#7655) (@ensi321)
- add Electra state pending consolidations endpoint (#7615) (@csehatt741)
- lazy load pending consolidations (#7597) (@ensi321)
- make committee_index optional for post-electra produce attestation data calls (#7626) (@nflaig)
- ssz v1.2.0 (#7608) (@twoeths)
Bug Fixes
- no peer expiry from peerstore (#7708) (@wemeetagain)
- aggregated attestation pool for electra (#7656) (@twoeths)
- update pruning to account for increase of max attestation inclusion slot post-deneb (#7636) (@nflaig)
- use persistent-merkle-tree v1.1.0 (#7621) (@twoeths)
- improve epoch transition using ssz v1.2.0 (#7617) (@twoeths)
- change hoodi's SECONDS_PER_ETH1_BLOCK config from 14s to 12s. (#7609) (@OisinKyne)
Refactoring
- decouple pre and post deneb calculation in verifyPropagationSlotRange (#7711) (@ensi321)
- move ValidatorMonitor to the BeaconChain (#7647) (@KatyaRyazantseva)
- use shorter alias for aggregated attestation pool metrics (#7688) (@nflaig)
- slight improvement on updating metrics in
AggregatedAttestationPool
(#7672) (@ensi321) - rename Archiver to ArchiveStore (#7591) (@nazarhussain)
Continuous Integration
- enable spec tests for validator in the CI (#7661) (@nazarhussain)
Maintenance
- v1.29.0 release (#7690) (@philknows)
- update chiado bootnode ENRs (#7731) (@nflaig)
- refactor withdrawal logic (#7714) (@nflaig)
- fix grafana roundtrip request time panel (#7701) (@twoeths)
- fix packed attestation total effective balance metric name (#7691) (@nflaig)
- bump CL spec to v1.5.0-beta.5 (#7685) (@nflaig)
- adjust buckets to track number of attestations in our blocks (#7676) (@nflaig)
- add organize imports to VS Code settings (#7670) (@dguenther)
- reduce time to retain registered validators in monitor to 1 hour (#7668) (@nflaig)
- update teku mainnet bootnodes (#7662) (@nflaig)
- update mainnet bootnodes (#7649) (@philknows)
- bump CL spec to v1.5.0-beta.4 (#7643) (@nflaig)
- only retrieve source validator once when processing pending consolidations (#7641) (@nflaig)
- fix query in "Heap Allocations - Beacon Node and Validator" panel (#7627) (@nflaig)
- re-merge v1.28.1 back to unstable (#7613) (@philknows)
- fix type errors introduced by previous PR (#7606) (@matthewkeil)
- upgrade biomejs to 1.9.4 (#7533) (@nazarhussain)
- merge stable back (#7605) (@wemeetagain)
- deps: bump fastify from 5.2.1 to 5.3.2 (#7725) (@dependabot[bot])
Documentation
- add slashing protection information (#7689) (@TobiWo)
- replace holesky with hoodi in docs and flags (#7596) (@KatyaRyazantseva)
- add PR workflow section in contribution guide (#7602) (@nazarhussain)