Skiff
Pre-release⚠️
Summary
This is Anchor's third pre-release, focusing on cleanup in preparation for our first mainnet release. It also includes fixes and a couple of features for increased network resilience.
Please carefully read the details below if you want to migrate your existing Anchor instance to v0.3.0
, as this release contains breaking changes.
As a reminder, Anchor currently must not be used on mainnet.
The full documentation is available at https://anchor.sigmaprime.io/.
We hope to gather the community's feedback. Please report issues or suggestions on GitHub. If you have any questions or feedback, the best place to reach us is the #anchor channel in the Lighthouse discord server.
💾 Database upgradability ⚠️
We updated our database schema to support database upgrades in future releases, as well as safety features to avoid database mixups and double use of a data directory.
Important
While future database upgrades will be handled automatically, this upgrade requires manual intervention. Please delete the anchor_db.sqlite
file in your data directory when updating Anchor to v0.3.0
. Otherwise, Anchor will crash on startup. Make sure to NOT delete your operator key!
🔑 Legacy key support dropped ⚠️
Anchor v0.1.0
used a custom key format. Anchor v0.2.0
deprecated that format and converted existing keys to the format used by Go-SSV. In this release, we fully remove support for the Anchor v0.1.0
legacy format.
Important
Users still on v0.1.0
will be unable to directly migrate to v0.3.0
. Please migrate to v0.2.0
first, using the instructions of that release. Users already on v0.2.0
do not need to take further action.
All Changes
- chore: Release v0.3.0 (#507)
- Merge branch 'stable' into unstable
- fix: Pass in slot metadata to avoid errors on late collection start (#500)
- fix: Always save ENR on address update, do not set TCP port (#502)
- fix: Specify an empty list on index fetch for Teku compat (#503)
- fix: Only historic sync using a synced endpoint (#504)
- feat: QBFT value checks for
ValidatorConsensusData
(#488) - fix: Do not log duplicate errors, instead of only (#499)
- feat: QBFT value checks for
BeaconVote
(#487) - ci: Remove x86 Apple from the release builds (#495)
- ci: Add CI checks for conventional commits (#430)
- feat: Add lockfile to data dir (#475)
- fix(sync): Increase connection timeout to avoid index sync error (#362)
- feat: verify gossipsub subnets via observed subscriptions (#478)
- refactor: Create
QbftDataValidator
for flexible QBFT data validation (#480) - fix: round change data (#482)
- Fix CI for new docs (#489)
- Transition Mdbook to Vocs (#483)
- chore: small git chore (#484)
- chore:
cargo update
to fix CI (#485) - fix(validator_store): Use database directly in validator store (#443)
- fix: revert removal of
base_hash
(#477) - chore: add claude md (#451)
- fix: Revert
multi_index_map
refactor (#476) - chore: Update dependencies (#452)
- feat(database): Add
metadata
table for upgradability and avoiding database switchups (#387) - chore: Enable topic scoring by default (#469)
- chore: Clippy for 1.89 (#470)
- refactor: Implement data dir module for central management of paths (#448)
- feat: prune peers lowest score peers (#456)
- feat(networking): update ports in ENR (#457)
- refactor: Remove pre-genesis polling (#458)
- refactor(network): Avoid specialized Lighthouse types (#459)
- refactor: replace custom MultiIndexMap with multi_index_map Crate (#463)
- fix: version command in book (#460)
- refactor(keysplit): Use
eth2_keystore
from LH instead of reimplementing it (#449) - ci: Fix rust version in docker workflow (#453)
- refactor(signature_collector): Remove
base_hash
(#437) - chore!: Remove legacy key support (#447)
- refactor: Switch to let-chains where possible (#435)
- feat(peer_manager): integrate peer blocking functionality into modular peer manager (#432)
- fix: Avoid duplicate entries in
MultiIndexMap
(#434) - refactor: Revamp startup sequence and check sync status (#372)
- refactor(peer_manager): modular peer manager (#428)
- refactor(cli): Unify CLI parameters and refactor CLI definition (#347)
- Avoid accidentally skipping blocks when switching to live sync (#363)
- Combine owners and nonce tables (#391)
Binaries
See pre-built binaries documentation.
The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0
System | Architecture | Binary | PGP Signature |
---|---|---|---|
aarch64 | anchor-v0.3.0-aarch64-apple-darwin.tar.gz | PGP Signature | |
x86_64 | anchor-v0.3.0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | anchor-v0.3.0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v0.3.0 | sigp/anchor |