Repository navigation
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
QbftDataValidatorfor 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 updateto 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_maprefactor (#476) - chore: Update dependencies (#452)
- feat(database): Add
metadatatable 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_keystorefrom 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 |