Pinnace
Pre-releaseThis is release v1.0.0-rc.0, containing fixes and minor improvements for our mainnet release ahead.
The full documentation is available at https://anchor.sigmaprime.io/.
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.
🔁 Resync needed ⚠️
Due to a bug, a certain order of contract events could cause duties to fail. This was fixed, but a resync is required to reachieve correct database state. Please remove anchor_db.sqlite from your data dir when updating, otherwise Anchor will fail to launch. Make sure to NOT delete your operator key.
🖥️ Added CLI flags
--discv5-log-leveland--libp2p-log-levelhave been added to provide a way to reduce log volume for thediscv5.logandlibp2p.logfiles.--disable-enr-auto-updatehas been added for users specifying ENR data via CLI that are confident that these values are correct and should not be automatically adjusted based on node pongs.
🪵 Logs reduced
Anchor's logging has been fine-tuned. INFO logs should be cleaner now and DEBUG log volume is reduced.
Known issues
Anchor will log Cluster not found for validator during initial sync on Hoodi. Sync will correctly complete regardless.
All Changes
- chore: Release v1.0.0-rc.0 (#621)
- Merge branch 'stable' into release-v0.3.0
- fix!: Removed operators in committee (#608)
- feat: Add logging flags for dependencies (#619)
- chore: update anchor to discv5 v0.10 (#618)
- feat: Add CLI flag to disable Enr auto update (#617)
- chore: Increase
MAX_VALIDATORS_PER_OPERATORto 3000 (#612) - fix(validation): Check the signatures of the justifications' justifications (#604)
- fix: safe arithmetic in timeout calculation (#609)
- fix(qbft): store data from decided message (#607)
- fix(qbft): prevent unsafe leader fallback when highest prepared data missing (#598)
- fix(handshake): verify payload type (#602)
- fix: Make startup log nicer (#605)
- fix: Check all quorums more rigorously (#606)
- fix(qbft): enforce strict prepared_round < round validation for RoundChange messages (#599)
- fix: relax QBFT proposal validation for mixed RoundChange values (#601)
- chore: Add coauthor info to merge commits (#584)
- fix: verify signatures of justifications (#591)
- fix(qbft): check whether the leader is correct wrt the round sent with the message (#596)
- fix(qbft): Validate the full data in round changes late (#574)
- fix(qbft): check whether the justification signer is in the committee (#594)
- fix: reduce external library logging noise (#583)
- fix: remove state check for changing rounds (#588)
- fix(validator_store): filter inactive validators (#589)
- fix: Do not log exit event as unknown during historic sync (#522)
- fix: check for rc quorum before and after (#586)
- fix: check for multi signer on prepare justifications (#585)
- chore: Avoid mergify nagging while tests are pending (#494)
- fix: prevent Round arithmetic overflow in consensus validation (#575)
- fix: comprehensive DEBUG logging noise reduction (#561)
- fix: fix name and docs of
lowest_partial_quorum_above_round(#570) - fix(qbft): Check round change quorum disregarding root (#571)
- fix: use proposal hash if not justified (#566)
- fix: Remove error log for missing operators (#523)
- fix: Validation for prepared round changes before insertion (#528)
- fix: properly justify round change (#555)
- chore: Update tracing-subscriber to address RUSTSEC-2025-0055 (#563)
- fix: Remove full data fomr justifications on send (#556)
- feat: reduce validator operation logging noise with aggregated summaries (#554)
- fix: commit validation (#537)
- fix: prepare justification fetching (#544)
- docs: update CLAUDE.md with tester-subagent configuration (#550)
- fix: round change justification fetching (#543)
- chore: add Claude Code specialized agents configuration (#545)
- fix: partial roundchange quorum (#541)
- fix: store messages without full data (#538)
- feat: future round validation (#534)
- fix: prepare validation (#536)
- fix: proposal validation (#535)
- fix: preserve order in message containers (#533)
- fix: Disconnect peers on handshake failure (#441)
- fix: Update peer store to limit peers in memory (#525)
- fix: disconnect blocked peers (#531)
- fix: Allow reaching consensus in PREPARE state (#527)
- feat: Log dial failures (#521)
Binaries
See pre-built binaries documentation.
The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0
| System | Architecture | Binary | PGP Signature |
|---|---|---|---|
| aarch64 | anchor-v1.0.0-rc.0-aarch64-apple-darwin.tar.gz | PGP Signature | |
| x86_64 | anchor-v1.0.0-rc.0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
| aarch64 | anchor-v1.0.0-rc.0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
| System | Option | - | Resource |
| Docker | v1.0.0-rc.0 | sigp/anchor |