Releases: OffchainLabs/prysm
v7.0.0
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-epochblob 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-epochto 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) to60000000(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_subnetmetric. [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)tolen(block.payload.transactions). [PR] - Update
go-netroutetov0.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) to60000000(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-methodshas been removed. [PR] - Deprecated flag
--disable-build-block-parallelhas been removed. [PR] - Deprecated flag
--disable-reorg-late-blockshas been removed. [PR] - Deprecated flag
--disable-optional-engine-methodshas been removed. [PR] - Deprecated flag
--disable-aggregate-parallelhas been removed. [PR] - Deprecated flag
--enable-eip-4881has been removed. [PR] - Deprecated flag
--disable-eip-4881has been removed. [PR] - Deprecated flag
--enable-verbose-sig-verificationhas been removed. [PR] - Deprecated flag
--enable-debug-rpc-endpointshas been removed. [PR] - Deprecated flag
--beacon-rpc-gateway-providerhas been removed. [PR] - Deprecated flag
--disable-grpc-gatewayhas been removed. [PR] - Deprecated flag
--enable-experimental-statehas been removed. [PR] - Deprecated flag
--enable-committee-aware-packinghas been removed. [PR] - Deprecated flag
--interop-genesis-timehas been removed. [PR] - Deprecated flag
--interop-num-validatorshas been removed (from beacon-chain only; still available in validator client). [PR] - Deprecated flag
--enable-quichas been removed. [PR] - Deprecated flag
--attest-timelyhas been removed. [PR] - Deprecated flag
--disable-experimental-statehas been removed. [PR] - Deprecated flag
--p2p-metadatahas 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
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: UseNumberOfCustodyGroupsinstead ofNumberOfColumns. [PR]- Sync committee uses correct state to calculate position. [PR]
v6.1.3
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'sSizeSSZmethod for calculating the size ofContainertype. [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
Sizemethod with more sophisticatedSSZTypes. [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
ValidationIgnorewithout 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: UsedataColumnRetentionEpochinstead ofblobColumnRetentionEpoch. [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
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=releasenow properly apply--strip=alwaysto 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 fromv2.1.1tov2.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/specendpoint. [PR]
Fixed
- SSZ-QL: Support nested
Listtype (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_peersandconnected_libp2p_peers_average_scores. [PR] buildStatusFromStream: RespondstatusV2only 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
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-statebeacon-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_timelyflag 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-checksconfigures 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
CustodyInfoinBeaconNode. [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_dataand. [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
submitPoolAttestationsV2beacon API. [PR] - New
StatusV2proto 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-limitflag to configure max number of signatures to batch verify on gossip. [PR] disable-attest-timelyflag to disable attest timely. [PR]- Added
max-health-checksflag 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 theBeaconChainConfigin theparamspackage. [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_lookaheadbeacon 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/specendpoint response to expose blob scheduling configuration for networks. [PR] - Add timing metric
publish_block_v2_duration_millisecondsto measure processing duration of thePublishBlockV2beacon API endpoint. [PR] - Add Fulu case for
saveStatesEfficientInternal. [PR] - Support for fusaka
nfdenr 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-Agentheader in the formatPrysm/<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-pathflag. [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...
v6.1.0
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-statebeacon-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_timelyflag 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-checksconfigures 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
CustodyInfoinBeaconNode. [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_dataand. [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
submitPoolAttestationsV2beacon API. [PR] - New
StatusV2proto 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-limitflag to configure max number of signatures to batch verify on gossip. [PR] disable-attest-timelyflag to disable attest timely. [PR]- Added
max-health-checksflag 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 theBeaconChainConfigin theparamspackage. [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_lookaheadbeacon 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/specendpoint response to expose blob scheduling configuration for networks. [PR] - Add timing metric
publish_block_v2_duration_millisecondsto measure processing duration of thePublishBlockV2beacon API endpoint. [PR] - Add Fulu case for
saveStatesEfficientInternal. [PR] - Support for fusaka
nfdenr 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-Agentheader in the formatPrysm/<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-pathflag. [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
Listtype 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...
v6.0.5
v6.0.4
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/shis now symlinked to/bin/bashfor 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_rankingtests. [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 exportfailing whenvalidator.dbis in a nested folder likedata/direct/. (#14954). [PR] - Made
/eth/v1/beacon/states/{state_id}/committeesendpoint return400when 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
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}/participationand/prysm/v1/validators/{state_id}/active_set_changesto properly handle{state_id}. [PR]
v6.0.2
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
- Fixed wrong field name in pending partial withdrawals was returned on state json representation, described in https://github.com/ethereum/consensus-specs/blob/dev/specs/electra/beacon-chain.md#pendingpartialwithdrawal. [PR]
- Fixed gocognit on propose block rest path. [PR]