Skip to content

Releases: OffchainLabs/prysm

v7.0.0

10 Nov 22:32
Immutable release. Only release title and notes can be modified.
7794a77

Choose a tag to compare

v7.0.0 - 2025-11-10

This is our initial mainnet release for the Ethereum mainnet Fulu fork on December 3rd, 2025. All operators MUST update to v7.0.0 or later release prior to the fulu fork epoch 411392. See the Ethereum Foundation blog post for more information on Fulu.

Other than the mainnet fulu fork schedule, there are a few callouts in this release:

  • by-epoch blob storage format is the default for new installations. Users that haven't migrated will see a warning to migrate to the new format. Existing deployments may set --blob-storage-layout=by-epoch to perform the migration.
  • Several deprecated flags have been deleted! Please review the "removed" section of this changelog carefully. If you are referencing a removed flag, Prysm will not start! All of these flags had no effect for at least one release.
  • Several deprecated API endpoints have been deleted. Please review the "removed" section of this changelog carefully.
  • Backfill is not supported in Fulu. This is expected to be fixed in the next release and should be delivered prior to the mainnet activation fork.
  • The builder default gas limit is raised from 45000000 (45 MGas) to 60000000 (60 MGas).
  • Several bug fixes and improvements.

Added

  • Allow custom headers in validator client HTTP requests. [PR]
  • Metric to track data columns recovered from execution layer. [PR]
  • Metrics: Add count of peers per direction and type (inbound/outbound), (TCP/QUIC). [PR]
  • p2p_subscribed_topic_peer_total: Reset to avoid dangling values. [PR]
  • Add p2p_minimum_peers_per_subnet metric. [PR]
  • Added GeneralizedIndicesFromPath function to calculate the GIs for a given sszInfo object and a PathElement. [PR]
  • Add Gloas protobuf definitions with spec tests and SSZ serialization support. [PR]
  • Fulu fork epoch for mainnet configurations set for December 3, 2025, 09:49:11pm UTC. [PR]
  • Added BPO schedules for December 9, 2025, 02:21:11pm UTC and January 7, 2026, 01:01:11am UTC. [PR]

Changed

  • Updated consensus spec tests to v1.6.0-beta.1 with new hashes and URL template. [PR]
  • Use the `by-epoch' blob storage layout by default and log a warning to users who continue to use the flat layout, encouraging them to switch. [PR]
  • Update go-netroute to v0.3.0. [PR]
  • Introduced Path type for SSZ-QL queries and updated PathElement (removed Length field, kept Index) enforcing that len queries are terminal (at most one per path). [PR]
  • Changed length query syntax from block.payload.len(transactions) to len(block.payload.transactions). [PR]
  • Update go-netroute to v0.4.0. [PR]
  • Updated consensus spec tests to v1.6.0-beta.2. [PR]
  • Updated go bitfield from prysmaticlabs to offchainlabs. [PR]
  • Bump builder default gas limit from 45000000 (45 MGas) to 60000000 (60 MGas). [PR]
  • Use head state for block pubsub validation when possible. [PR]
  • updated consensus spec to 1.6.0 from 1.6.0-beta.2. [PR]
  • Upgrade Prysm v6 to v7. [PR]
  • Use head state readonly when possible to validate data column sidecars. [PR]

Removed

  • log mentioning removed flag --show-deposit-data. [PR]
  • Remove Beacon API endpoints that were deprecated in Electra: GET /eth/v1/beacon/deposit_snapshot, GET /eth/v1/beacon/blocks/{block_id}/attestations, GET /eth/v1/beacon/pool/attestations, POST /eth/v1/beacon/pool/attestations, GET /eth/v1/beacon/pool/attester_slashings, POST /eth/v1/beacon/pool/attester_slashings, GET /eth/v1/validator/aggregate_attestation, POST /eth/v1/validator/aggregate_and_proofs, POST /eth/v1/beacon/blocks, POST /eth/v1/beacon/blinded_blocks, GET /eth/v1/builder/states/{state_id}/expected_withdrawals. [PR]
  • Deprecated flag --enable-optional-engine-methods has been removed. [PR]
  • Deprecated flag --disable-build-block-parallel has been removed. [PR]
  • Deprecated flag --disable-reorg-late-blocks has been removed. [PR]
  • Deprecated flag --disable-optional-engine-methods has been removed. [PR]
  • Deprecated flag --disable-aggregate-parallel has been removed. [PR]
  • Deprecated flag --enable-eip-4881 has been removed. [PR]
  • Deprecated flag --disable-eip-4881 has been removed. [PR]
  • Deprecated flag --enable-verbose-sig-verification has been removed. [PR]
  • Deprecated flag --enable-debug-rpc-endpoints has been removed. [PR]
  • Deprecated flag --beacon-rpc-gateway-provider has been removed. [PR]
  • Deprecated flag --disable-grpc-gateway has been removed. [PR]
  • Deprecated flag --enable-experimental-state has been removed. [PR]
  • Deprecated flag --enable-committee-aware-packing has been removed. [PR]
  • Deprecated flag --interop-genesis-time has been removed. [PR]
  • Deprecated flag --interop-num-validators has been removed (from beacon-chain only; still available in validator client). [PR]
  • Deprecated flag --enable-quic has been removed. [PR]
  • Deprecated flag --attest-timely has been removed. [PR]
  • Deprecated flag --disable-experimental-state has been removed. [PR]
  • Deprecated flag --p2p-metadata has been removed. [PR]

Fixed

  • Remove Reading static P2P private key from a file. log if Fulu is enabled. [PR]
  • blobSidecarByRootRPCHandler: Do not serve a sidecar if the corresponding block is not available. [PR]
  • dataColumnSidecarByRootRPCHandler: Do not serve a sidecar if the corresponding block is not available. [PR]
  • Fix incorrect version used when sending attestation version in Fulu. [PR]
  • Changed the behavior of topic subscriptions such that only topics that require the active validator count will compute that value. [PR]
  • Added a Mutex to the computation of active validator count during topic subscription to avoid a race condition where multiple goroutines are computing the same work. [PR]
  • RODataColumnsVerifier.ValidProposerSignature: Ensure the expensive signature verification is only performed once for concurrent requests for the same signature data. [PR]
  • use filepath for path operations (clean, join, etc.) to ensure correct behavior on Windows. [PR]
  • Fix #15969: Handle addition overflow in /eth/v1/beacon/rewards/attestations/{epoch}. [PR]
  • SidecarProposerExpected: Add the slot in the single flight key. [PR]
  • Ensures the rate limitation is respected for by root blob and data column sidecars requests. [PR]
  • Use head only if its compatible with target for attestation validation. [PR]
  • Backfill disabled if checkpoint sync origin is after fulu fork due to lack of DataColumnSidecar support in backfill. To track the availability of fulu-compatible backfill please watch #15982. [PR]
  • SidecarProposerExpected: Use the correct value of proposer index in the singleflight group. [PR]

v6.1.4

28 Oct 15:32
253f919

Choose a tag to compare

v6.1.4 - 2025-10-28

This release includes a bug fix affecting block proposals in rare cases, along with an important update for Windows users running post-Fusaka fork.

Added

  • SSZ-QL: Add endpoints for BeaconState/BeaconBlock. [PR]
  • Add native state diff type and marshalling functions. [PR]
  • Update the earliest available slot after pruning operations in beacon chain database pruner. This ensures the P2P layer accurately knows which historical data is available after pruning, preventing nodes from advertising or attempting to serve data that has been pruned. [PR]

Fixed

  • Correctly advertise (in ENR and beacon API) attestation subnets when using --subscribe-all-subnets. [PR]
  • randomPeer: Return if the context is cancelled when waiting for peers. [PR]
  • Improve error message when the byte count read from disk when reading a data column sidecars is lower than expected. (Mostly, because the file is truncated.). [PR]
  • Delete the genesis state file when --clear-db / --force-clear-db is specified. [PR]
  • Fix sync committee subscription to use subnet indices instead of committee indices. [PR]
  • Fixed metadata extraction on Windows by correctly splitting file paths. [PR]
  • VerifyDataColumnsSidecarKZGProofs: Check if sizes match. [PR]
  • Fix recoverStateSummary to persist state summaries in stateSummaryBucket instead of stateBucket (#15896). [PR]
  • updateCustodyInfoInDB: Use NumberOfCustodyGroups instead of NumberOfColumns. [PR]
  • Sync committee uses correct state to calculate position. [PR]

v6.1.3

21 Oct 15:22
41e7607

Choose a tag to compare

v6.1.3 - 2025-10-21

This release has several important beacon API and p2p fixes.

Added

  • Add Grandine to P2P known agents. (Useful for metrics). [PR]
  • Delegate sszInfo HashTreeRoot to FastSSZ-generated implementations via SSZObject, enabling roots calculation for generated types while avoiding duplicate logic. [PR]
  • SSZ-QL: Use fastssz's SizeSSZ method for calculating the size of Container type. [PR]
  • SSZ-QL: Access n-th element in List/Vector. [PR]

Changed

  • Do not verify block data when calculating rewards. [PR]
  • Process pending attestations after pending blocks are cleared. [PR]
  • updated web3signer to 25.9.1. [PR]
  • Gracefully handle submit blind block returning 502 errors. [PR]
  • Improve returning individual message errors from Beacon API. [PR]
  • SSZ-QL: Clarify Size method with more sophisticated SSZTypes. [PR]

Fixed

  • Use service context and continue on slasher attestation errors (#15803). [PR]
  • block event probably shouldn't be sent on certain block processing failures, now sends only on successing processing Block is NON-CANONICAL, Block IS CANONICAL but getFCUArgs FAILS, and Full success. [PR]
  • Fixed web3signer e2e, issues caused due to a regression on old fork support. [PR]
  • Do not mark blocks as invalid from ErrNotDescendantOfFinalized. [PR]
  • Fixed #15812: Gossip attestation validation incorrectly rejecting attestations that arrive before their referenced blocks. Previously, attestations were saved to the pending queue but immediately rejected by forkchoice validation, causing "not descendant of finalized checkpoint" errors. Now attestations for missing blocks return ValidationIgnore without error, allowing them to be properly processed when their blocks arrive. This eliminates false positive rejections and prevents potential incorrect peer downscoring during network congestion. [PR]
  • Mark the block as invalid if it has an invalid signature. [PR]
  • Display error messages from the server verbatim when they are not encoded as application/json. [PR]
  • HasAtLeastOneIndex: Check the index is not too high. [PR]
  • Fix /eth/v1/beacon/blob_sidecars/ beacon API is the fulu fork epoch is set to the far future epoch. [PR]
  • dataColumnSidecarsByRangeRPCHandler: Gracefully close the stream if no data to return. [PR]
  • VerifyDataColumnSidecar: Check if there is no too many commitments. [PR]
  • WithDataColumnRetentionEpochs: Use dataColumnRetentionEpoch instead of blobColumnRetentionEpoch. [PR]
  • Mark epoch transition correctly on new head events. [PR]
  • reject committee index >= committees_per_slot in unaggregated attestation validation. [PR]
  • Decreased attestation gossip validation batch deadline to 5ms. [PR]

v6.1.2

10 Oct 14:50
38955fd

Choose a tag to compare

v6.1.2 - 2025-10-10

This release has several important fixes to improve Prysm's peering, stability, and attestation inclusion on mainnet and all testnets. All node operators are encouraged to update to this release as soon as practical for the best mainnet performance.

Added

  • Added a 1 minute timeout on PruneAttestationOnEpoch operations to prevent very large bolt transactions. [PR]
  • Added expected delay before broadcasting light client p2p messages. [PR]

Changed

  • Replaced reflect.TypeOf with reflect.TypeFor. [PR]
  • Bazel builds with --config=release now properly apply --strip=always to strip debug symbols from the release assets. [PR]
  • Add sources for compute_fork_digest to specrefs. [PR]
  • Aggregate logs when broadcasting data column sidecars (one per root instead of one per sidecar). [PR]
  • c-kzg-4844: Update from v2.1.1 to v2.1.5. [PR]
  • Process pending attestations as soon as the block arrives. [PR]
  • Compare received LC messages over gossipsub with locally computed ones before forwarding. Also no longer save updates. [PR]
  • Optimize pending attestation processing by adding batching. [PR]

Removed

  • removed unused configs and hides prysm specific configs from /eth/v1/config/spec endpoint. [PR]

Fixed

  • SSZ-QL: Support nested List type (e.g., ExecutionPayload.Transactions). [PR]
  • Fixing Unsupported config field kind; value forwarded verbatim errors for type string. [PR]
  • fix /eth/v1/config/spec endpoint to properly skip omitted values. [PR]
  • Fix ProduceSyncCommitteeContribution not returning error when committee index is out of range. [PR]
  • adding in improvements to getduties v2, replaces helpers.PrecomputeCommittees() ( exepensive ) with CommitteeAssignments. [PR]
  • Avoid unnecessary calls to ExitInformation(). [PR]
  • inclusionProofKey: Include the commitments in the key. [PR]
  • Do not reject peers if they have a mismatched version|digest when the next for epoch is FAR_FUTURE_EPOCH. [PR]
  • Don't include entries in the fork schedule if their epoch is set to far future epoch. Avoids reporting next_fork_version == . [PR]
  • Wait for custody info to be initialized before querying them. [PR]
  • fixes level=error msg="Could not clean up dirty states" error="OriginBlockRoot: not found in db" prefix=state-gen error when starting in kurtosis. [PR]
  • Correctly clear disconnected peers from connected_libp2p_peers and connected_libp2p_peers_average_scores. [PR]
  • buildStatusFromStream: Respond statusV2 only if Fulu is enabled. [PR]
  • Send our real earliest available slot when sending a Status request post Fulu instead of 0. [PR]
  • switch to built-in min/max. [PR]
  • findPeersWithSubnets: If the filter function returns an error for a given peer, log an error and skip the peer instead of aborting the whole function. [PR]
  • computeIndicesByRootByPeer: If the loop returns an error for a given peer, log an error and skip the peer instead of aborting the whole function. [PR]
  • Fixed issue #15738 where separate goroutines assume sole responsibility for topic registration. [PR]

v6.1.1

29 Sep 16:56
83d75bc

Choose a tag to compare

v6.1.1

This release is a reissue of v6.1.0 from the same commit. The only difference is that this release has debug symbols stripped from the release binaries. We built these release assets with --strip=always. These release assets have been tested to work in a windows VM (resolves #15760). See #15774 for more information.

⬇️ v6.1.0 changelog below ⬇️

v6.1.0 - 2025-09-26

Important note: All operators should upgrade as soon as possible to v6.0.5 OR v6.1.0 to receive a critical stability patch. v6.0.5 only includes the stability fix on top of v6.0.4, whereas v6.1.0 includes a much larger set of changes, detailed below.

This release has support for Fusaka testnets as well as many mainnet improvements. Testnet operators are required to update prior to the testnet fork date. See PR #15721.

Mainnet operators are encouraged to update per their regular update cadence.

v6.1.0 raises the default builder gas limit[1] from 36M to 45M, includes a memory utilization optimization that should benefit all beacon nodes, along with other improvements and bugfixes. Also included are incremental light client support components and fusaka features waiting to be activated. This will be the last release in the v6 cycle before the mainnet fusaka release, which will be tagged v7.0.0.

Noteworthy improvements, changes and bugfixes:

  • The --disable-experimental-state beacon-node flag has been removed, marking the full graduation of the Copy-on-write design for BeaconState fields, which reduces the memory overhead of keeping multiple BeaconStates in RAM for block processing. Congrats @rkapka!
  • The behavior set by the --attest_timely flag is now on by default, with the flag itself deprecated.
  • GetDutiesV2 introduced, lowering duty request latency and beacon-node load. Multiple other improvements and bugfixes have been made to harden the validator run loop.
  • New validator flag --max-health-checks configures a validator to switch to a fallback beacon node after the given number of health check failures.
  • Improvements to rest-mode validator, defaulting to SSZ where available and adding SSZ support to more Beacon API endpoints.
  • Beacon API now honors the gzip content-encoding header.
  • Log timestamps now include milliseconds.
  • Full fusaka support for testnets!

Special shout out to our new team member @satushh!!
Welcome to new contributors: @Alleysira, @raulk, @tomasandroil, @trinadh61, @Sahil-4555, @ppopth, @Galoretka, @fernantho, @Muzry, @jihoonsong, @sashass1315, @DeVikingMark
Thanks for your continued contributions: @KaloyanTanev, @rose2221, @jtraglia, @syjn99, @NikolaiKryshnev, @hyunchel, @syjn99

[1] To override this limit, use the validator flag --suggested-gas-limit or set the builder.gas_limit setting in your proposer settings file.

Added

  • PeerDAS: Add CustodyInfo in BeaconNode. [PR]
  • GetDutiesV2 gRPC function, removes committee list from duties, replaced with committee length, validator committee index. [PR]
  • Add SSZ support for two attestation APIs: /eth/v1/validator/attestation_data and. [PR]
  • Added feature flag for validator client to use get duties v2. [PR]
  • PeerDAS: Implement DAS. [PR]
  • verifyBlobCommitmentCount: Print max allowed blob count in error message. [PR]
  • Data column support for beacon api event end point. [PR]
  • Implement EIP-7917: Stable proposer lookahead. [PR]
  • Implement dataColumnSidecarByRootRPCHandler. [PR]
  • New ssz-only flag for validator client to enable calling rest apis in SSZ, starting with get block endpoint. [PR]
  • Implement dataColumnSidecarsByRangeRPCHandler. [PR]
  • Add SSZ support for submitPoolAttestationsV2 beacon API. [PR]
  • New StatusV2 proto message. [PR]
  • Implement SendDataColumnSidecarsByRangeRequest. [PR]
  • Implement SendDataColumnSidecarsByRootRequest. [PR]
  • Implement beacon API blob sidecar enpoint for Fulu. [PR]
  • PeerDAS: Implement the new Fulu Metadata. [PR]
  • PeerDAS: Implement reconstruction. [PR]
  • Implement engine method GetBlobsV2. [PR]
  • Implement execution ReconstructDataColumnSidecars, which reconstruct data column sidecars from data fetched from the execution layer. [PR]
  • new --batch-verifier-limit flag to configure max number of signatures to batch verify on gossip. [PR]
  • disable-attest-timely flag to disable attest timely. [PR]
  • Added max-health-checks flag that sets the maximum times the validator tries to check the health of the beacon node before timing out. 0 or a negative number is indefinite. (the default is 0). [PR]
  • Add method VersionToForkEpochMap() to the BeaconChainConfig in the params package. [PR]
  • Add log capitalization analyzer and apply changes across codebase. [PR]
  • Slot aware cache for seen data column gossip p2p to reduce memory usages. [PR]
  • Gzip Compression for Beacon API:. [PR]
  • Implement data column sidecars reconstruction with data retrieved from the execution client when receiving a block via gossip. [PR]
  • Add support for parsing and handling ExecutionPayloadAndBlobsBundleV2. [PR]
  • Added new PRYSM_API_OVERRIDE_ACCEPT environment variable to override ssz accept header as a replacement to flag. [PR]
  • Implements the /eth/v1/beacon/states/{state_id}/proposer_lookahead beacon api endpoint. [PR]
  • Added new metadata fields (attnets,syncnets,custody_group_count) to /eth/v1/node/identity. [PR]
  • Add BLOB_SCHEDULE field to /eth/v1/config/spec endpoint response to expose blob scheduling configuration for networks. [PR]
  • Add timing metric publish_block_v2_duration_milliseconds to measure processing duration of the PublishBlockV2 beacon API endpoint. [PR]
  • Add Fulu case for saveStatesEfficientInternal. [PR]
  • Support for fusaka nfd enr field, and changes to the semantics of the eth2 field. [PR]
  • Implement post-Fulu MEV-boost protocol changes where relays only return status codes for blinded block submissions. [PR]
  • Added fulu block support to StreamBlocksAltair. [PR]
  • All outbound HTTP requests from the validator client now include a custom User-Agent header in the format Prysm/<name>/<version>. This enhances observability and enables upstream systems to correctly identify Prysm validator clients by their name and version. [PR]
  • Fixes #15435. [PR]
  • Data columns syncing for Fusaka. [PR]
  • Added specification references which map spec to implementation. [PR]
  • Warm data columns storage cache at start. [PR]
  • Add --data-column-path flag. [PR]
  • Initialize package for SSZ Query Language. [PR]
  • In FetchDataColumnSidecars, after retrieving sidecars from peers, if still some sidecars are missing for a given root and if a reconstruction is possible (combining sidecars already retrieved from peers and sidecars in the storage), then reconstruct missing sidecars instead of trying to fetch the missing ones from peers. [PR]
  • Fulu block proposal changes for beacon api and gRPC. [PR]
  • Retry to fetch origin data column sidecars when starting from a checkpoint. [[PR]](https://github.com/pry...
Read more

v6.1.0

26 Sep 15:41
83d75bc

Choose a tag to compare

v6.1.0 - 2025-09-26

Important note: All operators should upgrade as soon as possible to v6.0.5 OR v6.1.0 to receive a critical stability patch. v6.0.5 only includes the stability fix on top of v6.0.4, whereas v6.1.0 includes a much larger set of changes, detailed below.

This release has support for Fusaka testnets as well as many mainnet improvements. Testnet operators are required to update prior to the testnet fork date. See PR #15721.

Mainnet operators are encouraged to update per their regular update cadence.

v6.1.0 raises the default builder gas limit[1] from 36M to 45M, includes a memory utilization optimization that should benefit all beacon nodes, along with other improvements and bugfixes. Also included are incremental light client support components and fusaka features waiting to be activated. This will be the last release in the v6 cycle before the mainnet fusaka release, which will be tagged v7.0.0.

Noteworthy improvements, changes and bugfixes:

  • The --disable-experimental-state beacon-node flag has been removed, marking the full graduation of the Copy-on-write design for BeaconState fields, which reduces the memory overhead of keeping multiple BeaconStates in RAM for block processing. Congrats @rkapka!
  • The behavior set by the --attest_timely flag is now on by default, with the flag itself deprecated.
  • GetDutiesV2 introduced, lowering duty request latency and beacon-node load. Multiple other improvements and bugfixes have been made to harden the validator run loop.
  • New validator flag --max-health-checks configures a validator to switch to a fallback beacon node after the given number of health check failures.
  • Improvements to rest-mode validator, defaulting to SSZ where available and adding SSZ support to more Beacon API endpoints.
  • Beacon API now honors the gzip content-encoding header.
  • Log timestamps now include milliseconds.
  • Full fusaka support for testnets!

Special shout out to our new team member @satushh!!
Welcome to new contributors: @Alleysira, @raulk, @tomasandroil, @trinadh61, @Sahil-4555, @ppopth, @Galoretka, @fernantho, @Muzry, @jihoonsong, @sashass1315, @DeVikingMark
Thanks for your continued contributions: @KaloyanTanev, @rose2221, @jtraglia, @syjn99, @NikolaiKryshnev, @hyunchel, @syjn99

[1] To override this limit, use the validator flag --suggested-gas-limit or set the builder.gas_limit setting in your proposer settings file.

Added

  • PeerDAS: Add CustodyInfo in BeaconNode. [PR]
  • GetDutiesV2 gRPC function, removes committee list from duties, replaced with committee length, validator committee index. [PR]
  • Add SSZ support for two attestation APIs: /eth/v1/validator/attestation_data and. [PR]
  • Added feature flag for validator client to use get duties v2. [PR]
  • PeerDAS: Implement DAS. [PR]
  • verifyBlobCommitmentCount: Print max allowed blob count in error message. [PR]
  • Data column support for beacon api event end point. [PR]
  • Implement EIP-7917: Stable proposer lookahead. [PR]
  • Implement dataColumnSidecarByRootRPCHandler. [PR]
  • New ssz-only flag for validator client to enable calling rest apis in SSZ, starting with get block endpoint. [PR]
  • Implement dataColumnSidecarsByRangeRPCHandler. [PR]
  • Add SSZ support for submitPoolAttestationsV2 beacon API. [PR]
  • New StatusV2 proto message. [PR]
  • Implement SendDataColumnSidecarsByRangeRequest. [PR]
  • Implement SendDataColumnSidecarsByRootRequest. [PR]
  • Implement beacon API blob sidecar enpoint for Fulu. [PR]
  • PeerDAS: Implement the new Fulu Metadata. [PR]
  • PeerDAS: Implement reconstruction. [PR]
  • Implement engine method GetBlobsV2. [PR]
  • Implement execution ReconstructDataColumnSidecars, which reconstruct data column sidecars from data fetched from the execution layer. [PR]
  • new --batch-verifier-limit flag to configure max number of signatures to batch verify on gossip. [PR]
  • disable-attest-timely flag to disable attest timely. [PR]
  • Added max-health-checks flag that sets the maximum times the validator tries to check the health of the beacon node before timing out. 0 or a negative number is indefinite. (the default is 0). [PR]
  • Add method VersionToForkEpochMap() to the BeaconChainConfig in the params package. [PR]
  • Add log capitalization analyzer and apply changes across codebase. [PR]
  • Slot aware cache for seen data column gossip p2p to reduce memory usages. [PR]
  • Gzip Compression for Beacon API:. [PR]
  • Implement data column sidecars reconstruction with data retrieved from the execution client when receiving a block via gossip. [PR]
  • Add support for parsing and handling ExecutionPayloadAndBlobsBundleV2. [PR]
  • Added new PRYSM_API_OVERRIDE_ACCEPT environment variable to override ssz accept header as a replacement to flag. [PR]
  • Implements the /eth/v1/beacon/states/{state_id}/proposer_lookahead beacon api endpoint. [PR]
  • Added new metadata fields (attnets,syncnets,custody_group_count) to /eth/v1/node/identity. [PR]
  • Add BLOB_SCHEDULE field to /eth/v1/config/spec endpoint response to expose blob scheduling configuration for networks. [PR]
  • Add timing metric publish_block_v2_duration_milliseconds to measure processing duration of the PublishBlockV2 beacon API endpoint. [PR]
  • Add Fulu case for saveStatesEfficientInternal. [PR]
  • Support for fusaka nfd enr field, and changes to the semantics of the eth2 field. [PR]
  • Implement post-Fulu MEV-boost protocol changes where relays only return status codes for blinded block submissions. [PR]
  • Added fulu block support to StreamBlocksAltair. [PR]
  • All outbound HTTP requests from the validator client now include a custom User-Agent header in the format Prysm/<name>/<version>. This enhances observability and enables upstream systems to correctly identify Prysm validator clients by their name and version. [PR]
  • Fixes #15435. [PR]
  • Data columns syncing for Fusaka. [PR]
  • Added specification references which map spec to implementation. [PR]
  • Warm data columns storage cache at start. [PR]
  • Add --data-column-path flag. [PR]
  • Initialize package for SSZ Query Language. [PR]
  • In FetchDataColumnSidecars, after retrieving sidecars from peers, if still some sidecars are missing for a given root and if a reconstruction is possible (combining sidecars already retrieved from peers and sidecars in the storage), then reconstruct missing sidecars instead of trying to fetch the missing ones from peers. [PR]
  • Fulu block proposal changes for beacon api and gRPC. [PR]
  • Retry to fetch origin data column sidecars when starting from a checkpoint. [PR]
  • Aggregate and pack sync committee messages into blocks. [PR]
  • Support List type for SSZ-QL. [PR]
  • Configured the beacon node to seek peers when we have validator custody requirements. If one or more validators are connected to the beacon node, then the beacon node should seek a diverse set of peers such that broadcasting to all d...
Read more

v6.0.5

26 Sep 15:40

Choose a tag to compare

v6.0.5 - 2025-09-26

We are releasing a patch update on top of v6.0.4 to address a stability issue with quic-go.
All operators should update as soon as possible to v6.0.5 or later.

Security

  • Updated quic-go to latest version. [PR]

v6.0.4

06 Jun 01:29
91b4436

Choose a tag to compare

v6.0.4

This release has more work on PeerDAS, and light client support. Additionally, we have a few bug fixes:

  • Blob cache size now correctly set at startup.
  • A fix for slashing protection history exports where the validator database was in a nested folder.
  • Corrected behavior of the API call for state committees with an invalid request.
  • /bin/sh is now symlinked to /bin/bash for Prysm docker images.

In the Hoodi testnet, the default gas limit is raised to 60M gas.

Added

  • Add light client mainnet spec test. [PR]
  • Add support for light client req/resp domain. [PR]
  • Added /bin/sh simlink to docker images. [PR]
  • Added Prysm build data to otel tracing spans. [PR]
  • Add light client minimal spec test support for update_ranking tests. [PR]
  • Add fulu operation and epoch processing spec tests. [PR]
  • Updated e2e Beacon API evaluator to support more endpoints, including the ones introduced in Electra. [PR]
  • Data column sidecars verification methods. [PR]
  • Implement data column sidecars filesystem. [PR]
  • Add blob schedule support from ethereum/consensus-specs#4277. [PR]
  • random forkchoice spec tests for fulu. [PR]
  • Add ability to download nightly test vectors. [PR]
  • PeerDAS: Validation pipeline for data column sidecars received via gossip. [PR]
  • PeerDAS: Implement P2P. [PR]
  • PeerDAS: Implement the blockchain package. [PR]

Changed

  • Update spec tests to v1.6.0-alpha.0. [PR]
  • PeerDAS: Refactor the reconstruction pipeline. [PR]
  • PeerDAS: DataColumnStorage.Get - Exit early no columns are available. [PR]
  • Default hoodi testnet builder gas limit to 60M. [PR]

Fixed

  • Fix cyclical dependencies issue when using testing/util package. [PR]
  • Set seen blob cache size correctly based on current slot time at start up. [PR]
  • Fix slashing-protection-history export failing when validator.db is in a nested folder like data/direct/. (#14954). [PR]
  • Made /eth/v1/beacon/states/{state_id}/committees endpoint return 400 when slot does not belong to the specified epoch, aligning with the Beacon API spec (#15355). [PR]
  • Removed eager validator context cancellation that was causing validator builder registrations to fail occasionally. [PR]

v6.0.3

21 May 20:04
eafef8c

Choose a tag to compare

v6.0.3

This release has important bugfixes for users of the Beacon API. These fixes include:

  • Fixed pending consolidations endpoint to return the correct response.
  • Fixed attester slashing to return an empty array instead of nil/null.
  • Fixed validator participation and active set changes endpoints to accept a {state_id} parameter.

Other improvements include:

  • Disabled deposit log processing routine for Electra and beyond.

Operators are encouraged to update at their own convenience.

Full release notes are below.

Added

  • ssz static spec tests for fulu. [PR]
  • finality and merkle proof spec tests for fulu. [PR]
  • sanity and rewards spec tests for fulu. [PR]

Changed

  • Added more tracing spans to various helpers related to GetDuties. [PR]
  • Disable log processing after deposit requests are activated. [PR]

Fixed

  • fixed wrong handler for get pending consolidations endpoint. [PR]
  • Fixed /eth/v2/beacon/pool/attester_slashings no slashings returns empty array instead of nil. [PR]
  • Fix Prysm endpoints /prysm/v1/validators/{state_id}/participation and /prysm/v1/validators/{state_id}/active_set_changes to properly handle {state_id}. [PR]

v6.0.2

12 May 19:13
b4a66a0

Choose a tag to compare

v6.0.2 - 2025-05-12

This is a patch release to fix a few important bugs. Most importantly, we have adjusted the index limit for field tries in the beacon state to better support Pectra states. This should alleviate memory issues that clients are seeing since Pectra mainnet fork.

Added

  • Enable light client gossip for optimistic and finality updates. [PR]
  • Implement peerDAS core functions. [PR]
  • Force duties start on received blocks. [PR]
  • Added additional tracing spans for the GetDuties routine. [PR]

Changed

  • Use otelgrpc for tracing grpc server and client. [PR]
  • Upgraded ristretto to v2.2.0, for RISC-V support. [PR]
  • Update spec to v1.5.0 compliance which changes minimal execution requests size. [PR]
  • Increase indices limit in field trie rebuilding. [PR]
  • Increase sepolia gas limit to 60M. [PR]

Fixed