github ssvlabs/ssv v2.3.7-unstable.2

pre-release2 days ago

This version is Fusaka fork support version to be used in testnets and devnets.
DO NOT DEPLOY TO MAINNET

🔐 Upgrade Priority

Network Priority Fork date
Mainnet 🔴 Don't upgrade TBD
Hoodi 🟢 Required 28.10.25

⚠️ Always ensure your Execution + Consensus clients and any remote signers (web3signer, external signers) are updated, SSV strives to support latest released versions of these clients.


🐳 Docker image

docker pull ssvlabs/ssv-node:v2.3.7-unstable.2

What's Changed

Protocol / Consensus / Core runners

[#2569] feat: blind all blocks

This PR implements blinded block proposals for all beacon blocks (Capella, Deneb, Electra, Fulu) to reduce network bandwidth during QBFT consensus.

[#2358] protocol: majority fork protection

Integrate slashing protection data into value checks and refactor the existing value-checking infrastructure to use a unified ValueChecker interface.

[#2445] runners: robust message replay

This PR implements a robust message replay system for duty runners to handle timing synchronization issues in the SSV protocol. The core problem being addressed is that operators sometimes receive peer-to-peer messages before their duty runners are ready to process them, causing valid messages to be dropped and potentially leading to consensus failures.

The solution categorizes errors into two types: fatal/non-retryable errors (like beacon client failures or validation errors that should permanently drop messages) and retryable errors (like timing mismatches where messages arrive before duties start).

[#2476] duties: clarify & fix typos & fix sync-committee subscription

This PR focuses on improving code clarity and documentation in the duty handlers area of the SSV protocol.

[#2466] fix(threshold): Add validation to threshold signature split

Add a sanity-check for a parameter to threshold signature split program turning a panic into human-readable error.

[#2557] message/validation: log signers on invalid message

Adds logging of message signers (operator IDs) when messages are rejected or ignored during validation, improving debugging capabilities.

[#2553] operator-id: clarify & simplify

Cleans up operator-id management and resolves potential SSV-node crash on startup scenario with ssv-signer.

Exporter & Observability

[#2552] feat(exporter): add schedule to store

This PR:

  • Fetches the list of scheduled duties from the beacon node, using an optimized beacon adapter that is only used for the exporters (safe switch since exporter does not execute any real duties) --> optimized adapter allows to query duties for all validators in a single call
  • Stores these duties efficiently on disk using roaring bitmap
  • Exposes these duties in the API responses under schedule key

[#2558] Exporter: Fix partial sig messages classification

Fixes partial signature message classification by buffering messages until the proposal with BeaconVote FullData arrives, then cross-referencing signing roots to correctly classify attestation vs sync committee duties.

[#2559] Exporter: clear beacon adapter cache periodically

This PR fixes a slow memory leak in duty-fetching functionality by clearing the cache opportunistically.

[#2556] Fix(exporter): silence no-signer errors to prevent duty-syncer getting stuck

Changes error handling for entries with no signers from appending to error collection to logging only, preventing HTTP 500 responses that block the duty-syncer.

Tooling / CI / Chores

[#2564] spec-alignment: trigger manually only

Disables spec-alignment (limit it to manual runs only for now) pipeline because the ssv implementation has diverged from ssv-spec implementation so much it no longer helps to highlight "potentially dangerous" changes.

[#2566] chore: fix some inconsistent function name in comment

Fixes typos and inconsistent naming.

[#2495] chore: fix function name

Fixes typo in function name.

New Contributors

Full Changelog

v2.3.7-unstable.1...v2.3.7-unstable.2

co-authored with @iurii-ssv 🙏

Don't miss a new ssv release

NewReleases is sending notifications on new releases.