Releases: ssvlabs/ssv
v2.0.2
Release Notes: Version 2.0.2
This release introduces bug fixes, pre-Alan fork cleanup, and connectivity enhancements for public operators.
🚀 Upgrade Priority
Network | Priority |
---|---|
Mainnet | 👍 Strongly Recommended |
Holesky | 👍 Strongly Recommended |
🐳 Docker Image
Pull the latest version using:
docker pull ssvlabs/ssv-node:v2.0.2
🆕 What's New and Improved
Improvements and Enhancements
- Reduced excessive “skipped peers” logs in Discovery.
- Improved connectivity with increased block propagation delay.
- Enhanced public operator usability by setting a max message size in PubSub.
- Optimized committee management by sharing
CommitteeDutyGuard
across committees. - Discovery adjustments: Fixed IP logging and enhanced subnet index removal logic.
Performance Optimizations
- Avoid in-memory lock delays during database operations in Registry/Storage.
- Reduced memory usage in hashmap for tests.
- Added caching for Beacon Client attestation data requests.
- Concurrent slashing protection tests for increased robustness.
Bug Fixes
- Resolved typos in documentation.
- Fixed participant updates to occur atomically in Exporter.
- Addressed DutyScheduler issues with missed first epoch slot duties.
- Corrected queue message type priorities.
- Restored proper configuration logging in Discovery.
Chore and Maintenance
- Cleaned up code related to the pre-Alan fork.
- Updated GitLab CI pipeline and removed old CI/CD stages.
- Redesigned the README for improved readability.
- Updated dependencies to align with
ssv-spec v1.0.0
.
Feature Updates
- Discovery improvements: Re-enabled post-fork discovery.
- P2P enhancements: Dynamically grow
MaxPeers
based on subnet count. - Added tracing context arguments for improved observability.
📋 Full Changelog
v2.0.1
This release includes a few bug fixes, mainly causing validators to miss some duties in certain edge cases described below.
Upgrade Priority
Network | Priority |
---|---|
Mainnet | 👍 Strongly recommended |
Holesky | 👍 Strongly recommended |
Docker Tag
docker pull ssvlabs/ssv-node:v2.0.1
What's Changed
- Chore: Set committee runner log to debug level by @anatolie-ssv in #1895
- Fix: Add discovery ID to the mainnet bootnode by @moshe-blox in #1868
- Fix: Change msg types priorities (consensus que) by @MatusKysel in #1891
- Fix: First slot proposals in message validation by @olegshmuelov in #1892
- Fix: MinParticipationEpoch protection by @olegshmuelov in #1902
Full Changelog: v2.0.0...v2.0.1
v2.0.0
This release introduces support for the Alan fork to Mainnet.
Note: Alan databases are not backwards-compatible, meaning an upgraded node cannot downgrade without removing the database and syncing from scratch.
Warning
Mainnet operators MUST upgrade to v2.0.0 prior to the fork epoch!
Fork Schedule
Network | Upgrade | Alan Fork |
---|---|---|
Mainnet | ❗ Mandatory | ⌛ Nov. 25 12:00:23 UTC (Epoch 327,375) |
Holesky | 👌 Recommended | Already forked (Epoch 84,600) |
Docker Tag
docker pull ssvlabs/ssv-node:v2.0.0
Introducing Alan
Alan is the most significant SSV upgrade to date, poised to tackle scalability by dramatically reducing resource usage.
Alan changes the way a committee (group of operators) perform their validators's duties. Rather than performing every attestation and sync committee duty separately, a committee would perform them all together.
For more, see Meet Alan.
Other Changes
On top of Alan support, this release includes many fixes and improvements.
Features
- feat: custom graffiti (#1600)
- feat: duty stopping (#1743)
- feat: (p2p) drop bad or irrelevant peers (#1707)
- spec alignment to
dev
branch (#1639)
Optimizations
- perf: (eventsyncer) don't remove QBFT instances to speed up historical syncing (#1615)
- should significantly reduce how long it takes to sync from scratch
- perf: batch-save validator metadata (#1392)
Bugs
- fix: (discovery) publish latest ENR despite ongoing publish (#1740)
- fix: minor refactor ECDSAPrivFromInterface to remove ScalarBaseMult (#1734)
- fix: (eventhandler) pubkey & id uniqueness check in OperatorAdded (#1729)
- fix: Erroneous Threshold Logic in Key Splitting Mechanism (#1737)
- fix: (differ) incorrect diffs
- fix: run local nodes using local events (#1688)
- fix: ekm deadlock (#1675)
- fix: (validation) MessageCounts check (#1652)
- fix: replace
cornelk/hashmap
withsync.Map
(#1683) - fix: (queue) nil return condition in Pop (#1678)
- fix: (network/records) panic due to insufficient subnets length (#1804)
v1.3.11
Caution
THIS VERSION DOES NOT SUPPORT THE ALAN FORK, AND IS ONLY MEANT FOR EMERGENCY ROLLBACK FROM v2.0.0 BEFORE NOVEMBER 25th.
PLEASE UPGRADE TO v2.0.0 INSTEAD
This release is a fallback version to prevent slow rollback in case of emergencies with v2.0.0. This version only improves the syncing speed of the node.
Caution
This database is not compatible with Alan. To downgrade from v2.0.0, first wipe your existing database.
When to use v1.3.11?
Network | Priority |
---|---|
Mainnet | v2.0.0 failed before the fork (November 25th) |
Holesky |
Docker Tag
docker pull ssvlabs/ssv-node:v1.3.11
Changes
- optimization: (eventsyncer) don't remove QBFT instances to speed up sync #1824
v1.3.10
This releases rolls out only three features from the upcoming Alan Mainnet release, in preparation for it.
After enough of the network upgrades to v1.3.10
, SSV nodes should find peers significantly faster, which is crucial for the Alan fork to pass smoothly.
Upgrade Priority
Network | Priority |
---|---|
Mainnet | 👍 Strongly recommended |
Holesky | v2.0.0-unstable.2 |
Docker Tag
docker pull ssvlabs/ssv-node:v1.3.10
When Alan?
The next release (v2.0.0
) should schedule the Alan fork on Mainnet 🤞
Changes
v2.0.0-unstable.0
This release introduces support for the Alan fork to the SSV Holesky testnet.
Note: Alan databases are not backwards-compatible, meaning an upgraded node cannot downgrade without removing the database and syncing from scratch.
Upgrade Priority
Network | Priority | Alan Fork |
---|---|---|
Holesky | Mandatory | Oct. 8th 12:00 UTC (Epoch 84,600) |
Mainnet | Don't upgrade |
TBD |
Docker Tag
docker pull ssvlabs/ssv-node:v2.0.0-unstable.0
Intoducing Alan
Alan is the most significant SSV upgrade to date, poised to tackle scalability by dramatically reducing resource usage.
Alan changes the way a committee (group of operators) perform their validators's duties. Rather than performing every attestation and sync committee duty separately, a committee would perform them all together.
For more, see Meet Alan.
Other Changes
On top of Alan support, this release includes many fixes and improvements.
Features
- feat: custom graffiti (#1600)
- feat: duty stopping (#1743)
- feat: (p2p) drop bad or irrelevant peers (#1707)
- spec alignment to
dev
branch (#1639)
Optimizations
- perf: (eventsyncer) don't remove QBFT instances to speed up historical syncing (#1615)
- should significantly reduce how long it takes to sync from scratch
- perf: batch-save validator metadata (#1392)
Bugs
- fix: (discovery) publish latest ENR despite ongoing publish (#1740)
- fix: minor refactor ECDSAPrivFromInterface to remove ScalarBaseMult (#1734)
- fix: (eventhandler) pubkey & id uniqueness check in OperatorAdded (#1729)
- fix: Erroneous Threshold Logic in Key Splitting Mechanism (#1737)
- fix: (differ) incorrect diffs
- fix: run local nodes using local events (#1688)
- fix: ekm deadlock (#1675)
- fix: (validation) MessageCounts check (#1652)
- fix: replace
cornelk/hashmap
withsync.Map
(#1683) - fix: (queue) nil return condition in Pop (#1678)
v1.3.8: Custom DomainType and Trusted Peers (#1493)
* enable custom domain support * update domain type while loading shares * print self address * new address format * fix unit test * parse trusted peers in p2p.New --------- Co-authored-by: Lior Rutenberg <[email protected]> Co-authored-by: rehs0y <[email protected]>
v1.3.7
v1.3.6
This release features a hotfix for block proposals with recent Lighthouse and Teku versions.
Upgrade Priority
Beacon Node | Version | Priority |
---|---|---|
Lighthouse | >= v5.2.0 | |
Teku | >= 24.4.0 | |
Others | ⭐️ Strongly Recommended |
Note: Affected Teku users can safely remove the --validators-graffiti-client-append-format=DISABLED
flag after upgrading to SSV v1.3.6
Brief
Recent Lighthouse and Teku versions began modifying the graffiti of block proposals to include EL/CL versions for client diversity analysis.
This caused a dependency we use to interact with Beacon nodes to reject block proposals from those Beacon nodes, because the returned graffiti was different than requested.
This hotfix removes this unnecessary constraint.
Changes
v1.3.5
This release includes an optimization which should accelerate the rate at which nodes form connections.
This should improve the performance of nodes after restarts, by helping them recover their ideal peer count quicker.