Changelog
Features
- add QUIC support (#8051) (@wemeetagain)
- schedule Fulu fork for Chiado testnet (#9027) (@dapplion)
- use tsgo for build and type checks (#8992) (@nazarhussain)
- set attestation data index based on payload status (#8982) (@nflaig)
- implement epbs fork choice (#8739) (@ensi321)
- integrate gossip validation spec tests (#8965) (@nflaig)
- add gloas block import pipeline (#8940) (@ensi321)
- libp2p v3 (#8890) (@wemeetagain)
- model BeaconStateView (#8773) (@twoeths)
- create standalone fork-choice dashboard (#8928) (@nazarhussain)
- add execution payload envelope repositories (#8916) (@ensi321)
- implement epbs block production (#8838) (@nflaig)
- support connecting multiple external signers to validator client (#8822) (@KoxyG)
- update to spec v1.7.0-alpha.2 (#8881) (@nflaig)
- add getNodeVersionV2 endpoint (#8772) (@nflaig)
- state-transition: add gloas fields/methods to IBeaconStateView (#8963) (@twoeths)
Bug Fixes
- correct pre-Deneb attestation propagation slot range boundary (#9031) (@nflaig)
- prune serialized cache by block input keys (#9007) (@nflaig)
- cache previous epoch payload timeliness committees (#8991) (@nflaig)
- use inclusive boundary for gossip clock disparity checks (#8968) (@lodekeeper)
- libp2p v3 unknown peers (#8960) (@nflaig)
- bootstrap already-open libp2p connections at PeerManager startup (#8948) (@lodekeeper)
- log payload attestations for gloas block bodies (#8942) (@nflaig)
- yield to event loop between block imports during sync (#8925) (@lodekeeper)
- return available light client updates instead of throwing on missing periods (#8906) (@lodekeeper)
- combine error status and message into single chunk in reqresp response (#8908) (@lodekeeper)
- remove leaked process listener in metrics close() (#8894) (@wemeetagain)
- reqresp: clear composed response timeout signals (#9029) (@lodekeeper)
- fork-choice: make payloadStatus explicit in ancestor traversal APIs (#8996) (@twoeths)
- beacon-node: move serializedCache.clear() to after DB write completes (#8907) (@twoeths)
Refactoring
- simplify default variant lookup to avoid double hash lookup (#9023) (@GrapeBaBa)
- use BitArray for PTC votes instead of boolean[] (#9021) (@GrapeBaBa)
- clone state in processExecutionPayloadEnvelope (#9015) (@ensi321)
- separate writeBlockInputToDb into parallel block and column writes (#8974) (@twoeths)
- unified pubkey cache (#8945) (@wemeetagain)
Continuous Integration
- remove bun tests (#8959) (@spiral-ladder)
Tests
- disable flaky E2E tests on slow CI runners (#8936) (@lodekeeper)
- unskip and fix unknownBlock.test.ts (#8897) (@wemeetagain)
- increase prover e2e hook timeout to include genesis delay (#8910) (@lodekeeper)
- enable gloas finality spec tests (#8911) (@lodekeeper)
- fix flaky sim tests (#8909) (@lodekeeper)
- sim: use directPeers for backup eth provider sim test (#8917) (@lodekeeper)
- sim: use directPeers to maintain peer connections during sync (#8912) (@lodekeeper)
Maintenance
- update lockfile for @libp2p/utils 7.0.13 (#9037) (@lodekeeper)
- bump libp2p deps to latest published versions (#9035) (@lodekeeper)
- fix seen block input cache metrics (#9020) (@nflaig)
- remove getComputeShuffledIndexFn() (#9011) (@twoeths)
- fix private imports (#8990) (@nazarhussain)
- pin github actions by commit hash (#9017) (@nflaig)
- pin pnpm with sha512 integrity in package.json (#9008) (@nflaig)
- bump fastify to v5.8.1 (#8989) (@lodekeeper)
- bump libp2p deps to latest patch releases (#8984) (@lodekeeper)
- bump libp2p to 3.1.4 (#8973) (@lodekeeper)
- bump libp2p deps and fix peer-collections type mismatch (#8970) (@lodekeeper)
- add .claude project configuration with skills and permissions (#8961) (@lodekeeper)
- track forkchoice update results via metrics (#8895) (@wemeetagain)
- properly await async monitoring requests during shutdown (#8896) (@wemeetagain)
- fix Dockerfile.dev build and improve layer caching (#8922) (@lodekeeper)
- enable corepack in Dockerfile.dev for pnpm support (#8921) (@lodekeeper)
- use grep -F for fixed string matching in docs workflows (#8904) (@lodekeeper)
- merge stable v1.40.0 back to unstable (#8893) (@matthewkeil)
- deps: bump the actions group with 13 updates (#9018) (@dependabot[bot])
- deps: bump systeminformation from 5.27.14 to 5.30.8 (#8926) (@dependabot[bot])
- ci: pin ethspecify to 0.3.7 in check-specrefs (#8986) (@lodekeeper)
- deps-dev: bump ajv from 8.17.1 to 8.18.0 (#8927) (@dependabot[bot])
Documentation
- fix prettier formatting in AGENTS.md (#8930) (@lodekeeper)
- improve AGENTS.md with architecture patterns and pitfalls (#8929) (@lodekeeper)
- add documentation versioning support (#8901) (@lodekeeper)
- reqresp: add upstream issue reference to createRespSignal (#9033) (@lodekeeper)