github OffchainLabs/prysm v7.1.3

8 hours ago

v7.1.3 - 2026-03-18

This release brings extensive Gloas (next fork) groundwork, a major logging infrastructure overhaul, and numerous performance optimizations across the beacon chain. A security update to go-ethereum v1.16.8 is also included. Operators are encouraged to update at their convenience.

Release highlights:

  • Logging revamp: New ephemeral debug logfile (24h retention, enabled by default), per-package loggers with CI enforcement, per-hook verbosity control (--log.vmodule), and a version banner at startup.
  • Performance: Forkchoice updates moved to background, post-Electra attestation data cached per slot, parallel data column cache warmup, reduced heap allocations in SSZ marshaling and MixInLength, and proposer preprocessing behind a feature flag.
  • Validator client: gRPC fallback now matches the REST API implementation — both connect only to fully synced nodes. The gRPC health endpoint returns an error on syncing/optimistic status.
  • Security: go-ethereum updated to v1.16.8; fixed an authentication bypass on /v2/validator/* endpoints.

There are no known security issues in this release.

Added

  • Use the head state to validate attestations for the previous epoch if head is compatible with the target checkpoint. [PR]
  • Added separate logrus hooks for handling the formatting and output of terminal logs vs log-file logs, instead of the. [PR]
  • Batch publish data columns for faster data propogation. [PR]
  • --disable-get-blobs-v2 flag. [PR]
  • Update spectests to v1.7.0-alpha.0. [PR]
  • Added basic Gloas builder support (Builder message and BeaconStateGloas builders/next_withdrawal_builder_index fields). [PR]
  • Added an ephemeral debug logfile that for beacon and validator nodes that captures debug-level logs for 24 hours. It. [PR]
  • Add a feature flag to pass spectests with low validator count. [PR]
  • Add feature flag --enable-proposer-preprocessing to process the block and verify signatures before proposing. [PR]
  • Add ProofByFieldIndex to generalize merkle proof generation for BeaconState. [PR]
  • Update spectests to v1.7.0-alpha-1. [PR]
  • Add feature flag to use hashtree instead of gohashtre. [PR]
  • Migrate to cold with the hdiff feature. [PR]
  • Adding basic fulu fork transition support for mainnet and minimal e2e tests (multi scenario is not included). [PR]
  • commitment_count_in_gossip_processed_blocks gauge metric to track the number of blob KZG commitments in processed beacon blocks. [PR]
  • Add Gloas latest execution bid processing. [PR]
  • Added shell completion support for beacon-chain and validator CLI tools. [PR]
  • add pending payments processing and quorum threshold, plus spectests and state hooks (rotate/append). [PR]
  • Add slot processing with execution payload availability updates. [PR]
  • Implement modified proposer slashing for gloas. [PR]
  • Added missing beacon config in fulu so that the presets don't go missing in /eth/v1/config/spec beacon api. [PR]
  • Close opened file in data_column.go. [PR]
  • Flag --log.vmodule to set per-package verbosity levels for logging. [PR]
  • Added a version log at startup to display the version of the build. [PR]
  • gloas block return support for /eth/v2/beacon/blocks/{block_id} and /eth/v1/beacon/blocks/{block_id}/root endpoints. [PR]
  • Add Gloas process payload attestation. [PR]
  • Initialize db with state-diff feature flag. [PR]
  • Gloas-specific timing intervals for validator attestation, aggregation, and sync duties. [PR]
  • Added new proofCollector type to ssz-query. [PR]
  • Added README for maintaining specrefs. [PR]
  • The ability to download the nightly reference tests from a specific day. [PR]
  • Set beacon node options after reading the config file. [PR]
  • Implement finalization-based eviction for CheckpointStateCache. [PR]

Changed

  • Performance improvement in ProcessConsolidationRequests: Use more performance HasPendingBalanceToWithdraw instead of PendingBalanceToWithdraw as no need to calculate full total pending balance. [PR]
  • Extend httperror analyzer to more functions. [PR]
  • Do not check block signature on state transition. [PR]
  • Notify the engine about forkchoice updates in the background. [PR]
  • Use a separate context when updating the slot cache. [PR]
  • Data column sidecars cache warmup: Process in parallel all sidecars for a given epoch. [PR]
  • Use lookahead to validate data column sidecar proposer index. [PR]
  • Summarize DEBUG log corresponding to incoming via gossip data column sidecar. [PR]
  • Added a log.go file for every important package with a logger variable containing a package field set to the package. [PR]
  • Added a CI check to ensure every important package has a log.go file with the correct package field. [PR]
  • Changed the log formatter to use this package field instead of the previous prefix field. [PR]
  • Replaced time.Sleep with require.Eventually polling in tests to fix flaky behavior caused by race conditions between goroutines and assertions. [PR]
  • changed IsHealthy check to IsReady for validator client's interpretation from /eth/v1/node/health, 206 will now return false as the node is syncing. [PR]
  • Performance improvement in state (MarshalSSZTo): use copy() instead of byte-by-byte loop which isn't required. [PR]
  • Moved verbosity settings to be configurable per hook, rather than just globally. This allows us to control the. [PR]
  • updated go ethereum to 1.16.7. [PR]
  • Use dependent root and target root to verify data column proposer index. [PR]
  • post electra we now call attestation data once per slot and use a cache for subsequent requests. [PR]
  • Avoid unnessary heap allocation while calling MixInLength. [PR]
  • Log commitments instead of indices in missingCommitError. [PR]
  • Added some defensive checks to prevent overflows in block batch requests. [PR]
  • gRPC health endpoint will now return an error on syncing or optimistic status showing that it's unavailable. [PR]
  • Sample PTC per committee to reduce allocations. [PR]
  • gRPC fallback now matches rest api implementation and will also check and connect to only synced nodes. [PR]
  • Improved node fallback logs. [PR]
  • Improved integrations with ethspecify so specrefs can be used throughout the codebase. [PR]
  • Fixed the logging issue described in #16314. [PR]

Removed

  • removed github.com/MariusVanDerWijden/FuzzyVM and github.com/MariusVanDerWijden/tx-fuzz due to lack of support post 1.16.7, only used in e2e for transaction fuzzing. [PR]
  • Remove unused delay parameter from fetchOriginDataColumnSidecars function. [PR]
  • Batching of KZG verification for incoming via gossip data column sidecars. [PR]
  • --disable-get-blobs-v2 flag from help. [PR]
  • gRPC resolver for load balancing, the new implementation matches rest api's so we should remove the resolver so it's handled the same way for consistency. [PR]

Fixed

  • avoid panic when fork schedule is empty #16175. [PR]
  • Fix validation logic for --backfill-oldest-slot, which was rejecting slots newer than 1056767. [PR]
  • Don't call trace.WithMaxExportBatchSize(trace.DefaultMaxExportBatchSize) twice. [PR]
  • When adding the --[semi-]supernode flag, update the ealiest available slot accordingly. [PR]
  • fixed broken and old links to actual. [PR]
  • stop SlotIntervalTicker goroutine leaks #16241. [PR]
  • Fix prysmctl testnet generate-genesis to use the timestamp from --geth-genesis-json-in when --genesis-time is not explicitly provided. [PR]
  • Prevent authentication bypass on direct /v2/validator/* endpoints by enforcing auth checks for non-public routes. [PR]
  • Fixed a typo: AggregrateDueBPS -> AggregateDueBPS. [PR]
  • Fixed a bug in hack/check-logs.sh where untracked files were ignored. [PR]
  • Fix hashtree release builds. [PR]
  • Fix Bazel build failure on macOS x86_64 (darwin_amd64) (adds missing assembly stub to hashtree patch). [PR]
  • a potential race condition when switching hosts quickly and reconnecting to same host on an old connection. [PR]
  • Fixed a bug where cmd/beacon-chain/execution was being ignored by hack/gen-logs.sh due to a .gitignore rule. [PR]

Security

  • Update go-ethereum to v1.16.8. [PR]

Don't miss a new prysm release

NewReleases is sending notifications on new releases.