Skip to content

v5.1.1

Compare
Choose a tag to compare
@prestonvanloon prestonvanloon released this 15 Oct 20:43
· 110 commits to develop since this release
3fa6d3b

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.

⚠️ The gRPC gateway has been deprecated from Prysm in this release. If you need JSON data, consider the standardized beacon-APIs.
💡 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 and TestNodeServer_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 a ReadOnlyValidator and returns a raw pointer to a Validator.
  • 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 the primitives 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 calling IsNil() 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.