v5.1.1
This release has a number of features and improvements. Most notably, the feature flag --enable-experimental-state
has been flipped to "opt out" via --disable-experimental-state
. The experimental state management design has shown significant improvements in memory usage at runtime. Updates to libp2p's gossipsub have some bandwidith stability improvements with support for IDONTWANT control messages.
💡 This is our first release using pull request authors' entries from our CHANGELOG.md file.
❤️ Please give feedback in github issues or on discord.
Updating to this release is recommended at your convenience.
Full diff here: v5.1.0...v5.1.1
Added
- Aggregate and proof committee validation for Electra.
- More tests for electra field generation.
- Light client support: Implement
ComputeFieldRootsForBlockBody
. - Light client support: Add light client database changes.
- Light client support: Implement capella and deneb changes.
- Light client support: Implement
BlockToLightClientHeader
function. - Light client support: Consensus types.
- GetBeaconStateV2: add Electra case.
- Implement consensus-specs/3875.
- Tests to ensure sepolia config matches the official upstream yaml.
- HTTP endpoint for PublishBlobs.
- GetBlockV2, GetBlindedBlock, ProduceBlockV2, ProduceBlockV3: add Electra case.
- Add Electra support and tests for light client functions.
- fastssz version bump (better error messages).
- SSE implementation that sheds stuck clients. pr
Changed
- Electra: Updated interop genesis generator to support Electra.
getLocalPayload
has been refactored to enable work in ePBS branch.TestNodeServer_GetPeer
andTestNodeServer_ListPeers
test flakes resolved by iterating the whole peer list to find
a match rather than taking the first peer in the map.- Passing spectests v1.5.0-alpha.4 and v1.5.0-alpha.5.
- Beacon chain now asserts that the external builder block uses the expected gas limit.
- Electra: Add electra objects to beacon API.
- Electra: Updated block publishing beacon APIs to support Electra.
- "Submitted builder validator registration settings for custom builders" log message moved to debug level.
- config: Genesis validator root is now hardcoded in params.BeaconConfig()
grpc-gateway-host
is renamed to http-host. The old name can still be used as an alias.grpc-gateway-port
is renamed to http-port. The old name can still be used as an alias.grpc-gateway-corsdomain
is renamed to http-cors-domain. The old name can still be used as an alias.api-timeout
is changed from int flag to duration flag, default value updated.- Light client support: abstracted out the light client headers with different versions.
ApplyToEveryValidator
has been changed to prevent misuse bugs, it takes a closure that takes aReadOnlyValidator
and returns a raw pointer to aValidator
.- Removed gorilla mux library and replaced it with net/http updates in go 1.22.
- Clean up
ProposeBlock
for validator client to reduce cognitive scoring and enable further changes. - Updated k8s-io/client-go to v0.30.4 and k8s-io/apimachinery to v0.30.4
- Migrated tracing library from opencensus to opentelemetry for both the beacon node and validator.
- Refactored light client code to make it more readable and make future PRs easier.
- Update light client helper functions to reference
dev
branch of CL specs - Updated Libp2p Dependencies to allow prysm to use gossipsub v1.2 .
- Updated Sepolia bootnodes.
- Make committee aware packing the default by deprecating
--enable-committee-aware-packing
. - Moved
ConvertKzgCommitmentToVersionedHash
to theprimitives
package.
Deprecated
--disable-grpc-gateway
flag is deprecated due to grpc gateway removal.--enable-experimental-state
flag is deprecated. This feature is now on by default. Opt-out with--disable-experimental-state
.
Removed
- Removed gRPC Gateway.
- Removed unused blobs bundle cache.
- Removed consolidation signing domain from params. The Electra design changed such that EL handles consolidation signature verification.
Fixed
- Fixed early release of read lock in BeaconState.getValidatorIndex.
- Electra: resolve inconsistencies with validator committee index validation.
- Electra: build blocks with blobs.
- E2E: fixed gas limit at genesis
- Light client support: use LightClientHeader instead of BeaconBlockHeader.
- validator registration log changed to debug, and the frequency of validator registration calls are reduced
- Core: Fix process effective balance update to safe copy validator for Electra.
== nil
checks before callingIsNil()
on interfaces to prevent panics.- Core: Fixed slash processing causing extra hashing.
- Core: Fixed extra allocations when processing slashings.
- remove unneeded container in blob sidecar ssz response
- Light client support: create finalized header based on finalizedBlock's version, not attestedBlock.
- Light client support: fix light client attested header execution fields' wrong version bug.
- Testing: added custom matcher for better push settings testing.
- Registered
GetDepositSnapshot
Beacon API endpoint.
Security
No notable security updates.