Skip to content

Releases: sigp/anchor

Obelisk ship

Choose a tag to compare

@github-actions github-actions released this 22 Jun 14:07
v1.2.4
72e0705

Summary

⚠️ Anchor v1.2.4 is a high-priority patch release with further security-critical fixes atop v1.2.3.

This is a mandatory upgrade for all users running any prior version. All prior Anchor releases including v1.2.3 are affected by vulnerabilities. All Anchor nodes should be upgraded as soon as possible. Further details to come in the following days.

All Changes

  • chore: Release v1.2.4 (#1101)
  • chore: Migrate to prost and bump deps (#1100)
  • merge from stable
  • ci: scope claude review/mention bots to read-only git tools (#1069)
  • fix(ci): claude-mentions fork PR checkout for action v1.0.127 (#1054)
  • ci: bump Node20-deprecated actions in stable-loaded workflows (Phase 1 of #1040) (#1042)
  • ci: bump Claude PR review to Opus 4.7 (#997)
  • fix: claude-pr-review to be able to grep around forked branch (#974)

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
Apple logo aarch64 anchor-v1.2.4-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 anchor-v1.2.4-x86_64-unknown-linux-gnu.tar.gz PGP Signature
Raspberrypi logo aarch64 anchor-v1.2.4-aarch64-unknown-linux-gnu.tar.gz PGP Signature
System Option - Resource
Docker logo Docker v1.2.4 sigp/anchor

Dispatch boat

Choose a tag to compare

@github-actions github-actions released this 26 Mar 14:20
v1.2.3
2205722

Summary

⚠️ Anchor v1.2.3 is a high-priority patch release with further security-critical fixes atop v1.2.2.

This is a mandatory upgrade for all users running any prior version. All prior Anchor releases including v1.2.2 are affected by vulnerabilities. All Anchor nodes should be upgraded as soon as possible. Further details to come in the following days.

All Changes

  • chore: Release v1.2.3 (#913)
  • chore: bump deps in stable (#912)
  • ci: strengthen PR template with evidence, risk, and rollback prompts (#892)

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
Apple logo aarch64 anchor-v1.2.3-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 anchor-v1.2.3-x86_64-unknown-linux-gnu.tar.gz PGP Signature
Raspberrypi logo aarch64 anchor-v1.2.3-aarch64-unknown-linux-gnu.tar.gz PGP Signature
System Option - Resource
Docker logo Docker v1.2.3 sigp/anchor

Mail boat

Choose a tag to compare

@github-actions github-actions released this 09 Mar 12:08
v1.2.2
8f48396

Summary

⚠️ Anchor v1.2.2 is a high-priority patch release with further security-critical fixes atop v1.2.1.

This is a mandatory upgrade for all users running any prior version. All prior Anchor releases including v1.2.1 are affected by vulnerabilities. All Anchor nodes should be upgraded as soon as possible. Further details to come in the following days.

All Changes

  • chore: Release v1.2.2 (#873)
  • chore: change gossipsub dependency to main repo (#872)
  • fix: prompt file needs to be read from stable branch (#845)

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
Apple logo aarch64 anchor-v1.2.2-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 anchor-v1.2.2-x86_64-unknown-linux-gnu.tar.gz PGP Signature
Raspberrypi logo aarch64 anchor-v1.2.2-aarch64-unknown-linux-gnu.tar.gz PGP Signature
System Option - Resource
Docker logo Docker v1.2.2 sigp/anchor

Packet boat

Choose a tag to compare

@github-actions github-actions released this 27 Feb 09:15
v1.2.1
63a91de

Summary

Anchor v1.2.1 is a patch release that includes an important security fix.

This is a mandatory upgrade for all users running any prior versions. All prior Anchor releases are affected by a security vulnerability. Users should upgrade as soon as possible. Further details to come in the following days.

All Changes

  • chore: Update Rust version for docker images (#850)
  • Merge branch 'stable' into release-v1.2.0
  • chore: Release v1.2.1 (#849)
  • chore: Bump dependencies (#848)
  • fix: claude mentions (#844)
  • refactor: claude-mentions (#830)

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
Apple logo aarch64 anchor-v1.2.1-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 anchor-v1.2.1-x86_64-unknown-linux-gnu.tar.gz PGP Signature
Raspberrypi logo aarch64 anchor-v1.2.1-aarch64-unknown-linux-gnu.tar.gz PGP Signature
System Option - Resource
Docker logo Docker v1.2.1 sigp/anchor

Proa

Choose a tag to compare

@github-actions github-actions released this 18 Dec 10:50
v1.2.0
2b39ae4

Summary

This release includes Operator Doppelgänger Protection, as well as other minor improvements!

We recommend this release for everyone. However, there are no important bugfixes included, so rollout is not urgent.

👥 Operator Doppelgänger Protection

Anchor now offers Operator Doppelgänger Protection! This optional feature helps to prevent running two SSV clients with the same operator key, e.g. a Go-SSV node and a freshly created Anchor node. This should be avoided as it can cause missed duties and, if there are multiple Doppelgänger operators in a committee, slashing.

This works by listening for network messages signed by the own operator key before commencing normal operation. If such a message is detected, there is another node acting as our operator, and Anchor shuts down to avoid creating a duplicate node (Doppelgänger).

Operator Doppelgänger Protection is disabled by default. You can activate it using the --operator-dg true CLI option. Also, you can configure the number of epochs to listen using --operator-dg-wait-epochs, the default is 2.

↩️🛡️ Altered Majority Fork Protection

In the previous release we introduced Majority Fork Protection, which makes sure that the full attestation checkpoint data matches the local view of the chain. However some users observed significantly reduced validator performance.

We are relaxing the majority fork protection rules to only check the target and source epochs of a BeaconVote (attestation) against the node's own local view of the chain.

This change prioritizes validator liveness over fork protection. Slashing protection remains active and prevents actual slashable attestations. We make sure to maintain liveness during benign reorgs when operators' beacon nodes temporarily see different roots.

If you want to go back to the more strict checks, even if it means reduced validator performance, you can use the experimental --strict-mfp flag.

All Changes

  • chore: Release 1.2.0 (#760)
  • refactor: relax BeaconVote validation to epoch-only comparison (#749)
  • fix: only store one node info and update that (#738)
  • Merge branch 'stable' into unstable
  • feat(keysplit): Split multiple validator keys into one file (#440)
  • refactor: use Result for error handling instead of of early returns (#727)
  • feat: add 34-slot TTL for ValidatorRegistration and VoluntaryExit messages (#711)
  • feat: add blocked peer metrics (#708)
  • feat: operator doppelgänger protection with slot-based detection (#692)
  • ci: fix workflow configuration format and add timeout (#713)
  • ci: add timeout and debug logging to claude-pr-review workflow (#705)
  • fix: prevent handshake race condition causing ConnectionClosed failures (#644)
  • docs: Add warning for key format issue (#714)

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
Apple logo aarch64 anchor-v1.2.0-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 anchor-v1.2.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
Raspberrypi logo aarch64 anchor-v1.2.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
System Option - Resource
Docker logo Docker v1.2.0 sigp/anchor

Benzaisen

Choose a tag to compare

@github-actions github-actions released this 11 Nov 14:38
v1.1.0
3feea1e

Summary

This release includes support for the upcoming Fulu-Osaka (Fusaka) fork on mainnet.

Upgrading to v1.1.0 is mandatory for all mainnet users prior to the Fulu fork at epoch 411,392 (2025-12-03, 21:49 UTC).

Other included features are Majority Fork Protection, blinded self-built blocks, and a dynamic target peer count.

🛡️ Majority Fork Protection

Anchor now only votes for a proposed attestation if the target and source checkpoint matches with it's local view of the chain. This allows validators to further benefit from client diversity: If a committee does not agree on the attestation data, no attestation is signed to avoid committing to a chain that is possibly being finalized by a faulty majority of nodes.

This scenario happened earlier this year on Holesky. With the previous behaviour, a validator running on SSV would eventually become "trapped" on such a fork if just one operator ran a client following the incorrect chain. Now this can only happen if the committee reaches consensus when voting for the incorrect chain. For a committee of 4, this would require 3 of 4 operators to vote for the incorrect chain. Committees consisting of operators using varying client implementations are well protected against this.

This strengthens Ethereum's resiliency as well-distributed SSV validators will not support the finalization of a possibly bad fork, giving the community time to figure out the issue.

🧊 Blinded self-built blocks

Previously, self-built (i.e. non-MEV) blocks were sent between SSV nodes with full transaction and blob data. While this allows all operators in a committee to publish the completed signed block, it requires high bandwidth and good peering to propagate the data in time to all operators in the committee. With Fusaka, maximum blob count will increase, further raising the amount of data to be sent and therefore raising the risk of missed proposals.

In v1.1.0, Anchor will blind self-built blocks before the block is sent to committee members. This means that transaction and blob data is removed from the block, which quickens the consensus between nodes as less data has to be sent. Then, the full signed block is reconstructed and sent to the Ethereum network by the proposing node. This approach makes proposing non-MEV blocks more reliable.

🎯 Dynamic Target Peer Count

Anchor currently tries to maintain 50 peers. This number is sufficient for many operators, especially for those that are only members of few committees. However, the more committees an operator is member of, the higher the number of required subnets is. To be able to maintain a healthy peer set for each subnet, the total target number of peers will now be automatically adjusted. The base target peer count is 60, which will be increased by 3 per subnet, up to a maximum of 150.

The new --target-peers CLI option overrides this dynamic limit. Users can use it to manually increase the target if they observe WARN Round timer elapsed frequently and the node is at the target peer count.

All Changes

  • chore: Release 1.1.0 (#736)
  • fix: remove newlines from checkpoint mismatch error (#730)
  • feat(network): add dynamic peer count based on active subnets (#726)
  • fix: Use pubkey instead of pubKey in encrypted key JSON (#721)
  • chore: Update to Lighthouse v8.0.0 (#723)
  • chore: Release v1.1.0-rc.0 (#715)
  • fix: Sync committee partial signature limit (#710)
  • chore: Update Lighthouse for Fulu and other deps (#709)
  • feat: Majority Fork Protection (#695)
  • feat(cli): add target peers config (#704)
  • feat: blind all blocks before QBFT (#694)
  • Merge branch 'stable' into unstable
  • test: migrate SQLite tests to use in-memory databases (#637)
  • chore: Improve Documentation (#690)
  • chore: improve claude workflow (#693)
  • feat: Add metrics dash (#689)
  • Merge branch 'release-v1.0.0' into unstable
  • chore: less noisy claude
  • Merge branch 'release-v1.0.0' into unstable
  • chore: add claude tools
  • Increase max-turns for Claude PR review
  • Claude PR review prompt
  • chore: testing workflow (#687)
  • chore: delete .github/workflows/claude-code-action.yml (#680)
  • chore: add claude workflow (#678)
  • chore: switch to unstable lighthouse and update dependencies (#597)
  • test: add comprehensive operator lifecycle integration test (#633)
  • test: add SSV event processing integration tests (#626)
  • feat: ssz infrastructure (#580)
  • Merge branch 'release-v1.0.0' into backmerge-release-v1.0.0
  • perf(database): Enable exclusive WAL mode for DB (#358)
  • feat: specific qbft errors (#577)
  • fix: typos in comments and log messages (#564)
  • Merge branch 'release-v0.3.0' into unstable
  • chore: Add PartialEq and Eq to KeyId (#520)
  • Merge branch 'stable' into unstable
  • docs: small revision to the documentation (#512)

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
Apple logo aarch64 anchor-v1.1.0-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 anchor-v1.1.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
Raspberrypi logo aarch64 anchor-v1.1.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
System Option - Resource
Docker logo Docker v1.1.0 sigp/anchor

Sloop

Sloop Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Oct 13:21
v1.1.0-rc.0
c204563

Summary

Anchor v1.1.0-rc.0 is a release candidate. It contains support for the upcoming Fusaka fork on Hoodi. Users must upgrade to this version to be able to continue performing duties after the Fusaka fork is triggered:

  • Fusaka on Hoodi: 2025-10-28 18:53:12 UTC. Slot 1622016.

Other included features are Majority Fork Protection, blinded self-built blocks, and the --target-peers flag.

⚠️ This release is not recommended for mainnet. ⚠️

We will release the full version of v1.1.0 before Fusaka arrives on mainnet.

🛡️ Majority Fork Protection

Anchor now only votes for a proposed attestation if the target and source checkpoint matches with it's local view of the chain. This allows validators to further benefit from client diversity: If a committee does not agree on the attestation data, no attestation is signed to avoid committing to a chain that is possibly being finalized by a faulty majority of nodes.

This scenario happened earlier this year on Holesky. With the previous behaviour, a validator running on SSV would eventually become "trapped" on such a fork if just one operator ran a client following the incorrect chain. Now this can only happen if the committee reaches consensus when voting for the incorrect chain. For a committee of 4, this would require 3 of 4 operators to vote for the incorrect chain. Committees consisting of operators using varying client implementations are well protected against this.

This strengthens Ethereum's resiliency as well-distributed SSV validators will not support the finalization of a possibly bad fork, giving the community time to figure out the issue.

🧊 Blinded self-built blocks

Previously, self-built (i.e. non-MEV) blocks were sent between SSV nodes with full transaction and blob data. While this allows all operators in a committee to publish the completed signed block, it requires high bandwidth and good peering to propagate the data in time to all operators in the committee. With Fusaka, maximum blob count will increase, further raising the amount of data to be sent and therefore raising the risk of missed proposals.

In v1.1.0-rc.0, Anchor will blind self-built blocks before the block is sent to committee members. This means that transaction and blob data is removed from the block, which quickens the consensus between nodes as less data has to be sent. Then, the full signed block is reconstructed and sent to the Ethereum network by the proposing node. This approach makes proposing non-MEV blocks more reliable.

🎯 --target-peers

Anchor currently tries to maintain 50 peers. This number is sufficient for many operators, especially for those that are only members of few committees. However, the more committees an operator is member of, the higher the number of required subnets is. To be able to maintain a healthy peer set for each subnet, the total target number of peers needs to be adjusted.

Therefore we recommend increasing the number of target peers if you are member of many committees and/or often encounter WARN Round timer elapsed log messages even though other committee members are online. A sensible limit is somewhere between 100 and 200 peers.

All Changes

  • chore: Release v1.1.0-rc.0 (#715)
  • fix: Sync committee partial signature limit (#710)
  • chore: Update Lighthouse for Fulu and other deps (#709)
  • feat: Majority Fork Protection (#695)
  • feat(cli): add target peers config (#704)
  • feat: blind all blocks before QBFT (#694)
  • Merge branch 'stable' into unstable
  • test: migrate SQLite tests to use in-memory databases (#637)
  • chore: Improve Documentation (#690)
  • chore: improve claude workflow (#693)
  • feat: Add metrics dash (#689)
  • Merge branch 'release-v1.0.0' into unstable
  • chore: less noisy claude
  • Merge branch 'release-v1.0.0' into unstable
  • chore: add claude tools
  • Increase max-turns for Claude PR review
  • Claude PR review prompt
  • chore: testing workflow (#687)
  • chore: delete .github/workflows/claude-code-action.yml (#680)
  • chore: add claude workflow (#678)
  • chore: switch to unstable lighthouse and update dependencies (#597)
  • test: add comprehensive operator lifecycle integration test (#633)
  • test: add SSV event processing integration tests (#626)
  • feat: ssz infrastructure (#580)
  • Merge branch 'release-v1.0.0' into backmerge-release-v1.0.0
  • perf(database): Enable exclusive WAL mode for DB (#358)
  • feat: specific qbft errors (#577)
  • fix: typos in comments and log messages (#564)
  • Merge branch 'release-v0.3.0' into unstable
  • chore: Add PartialEq and Eq to KeyId (#520)
  • Merge branch 'stable' into unstable
  • docs: small revision to the documentation (#512)

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
Apple logo aarch64 anchor-v1.1.0-rc.0-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 anchor-v1.1.0-rc.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
Raspberrypi logo aarch64 anchor-v1.1.0-rc.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
System Option - Resource
Docker logo Docker v1.1.0-rc.0 sigp/anchor

Launch

Choose a tag to compare

@github-actions github-actions released this 20 Oct 11:51
v1.0.0
01fcbf5

Summary

This is Anchor's first Mainnet-ready release, v1.0.0!

If you are running Go-SSV on Mainnet, we invite you to try Anchor. As we use the same operator key format as Go-SSV, it is easy to switch between implementations. See our migration guide for details.

If you are already running an Anchor pre-release on Hoodi, there is a small breaking change. See the section below for details.

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.

⚠️ --network CLI option default changed

In v1.0.0, the default network is set to Mainnet. Existing users on Hoodi will need to add --network hoodi to their command line, if not already present. Anchor will fail to start up if the existing data dir mismatches the configured network.

Known issues

  • On Hoodi, Anchor will log "Beacon node has mismatched Fulu fork epoch". We will address this in a future release before the Fulu fork on Hoodi.

All Changes

  • chore: Release v1.0.0 (#700)
  • chore: Remove "not prod ready" warnings (#701)
  • chore: change default network to Mainnet (#698)
  • fix: Re-add node version to Handshake completed (#697)
  • chore: update alloy-dyn-abi to address CVE-2025-62370 (#691)

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
Apple logo aarch64 anchor-v1.0.0-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 anchor-v1.0.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
Raspberrypi logo aarch64 anchor-v1.0.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
System Option - Resource
Docker logo Docker v1.0.0 sigp/anchor

Yawl

Yawl Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 12:20
v1.0.0-rc.1
04a02aa

⚠️ Pre-release for testing on testnets only. ⚠️

Summary

This is release v1.0.0-rc.1, containing fixes for better peering, new metrics, and minor cosmetic improvements for logging and CLI.

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.

Known issues

  • On Hoodi, Anchor will log "Beacon node has mismatched Fulu fork epoch". We will address this in a future release before the Fulu fork on Hoodi.

All Changes

  • chore: Release v1.0.0-rc.1 (#684)
  • chore: change default network back to hoodi (#683)
  • fix: Version info on root command, consistent output style of help (#638)
  • chore: add client version in metrics (#670)
  • chore: add handshake metrics (#668)
  • feat: add panic hook for logging (#674)
  • fix: remove unneeded tracing init in error case (#675)
  • feat: metric for own version and startup timestamp (#673)
  • fix: Use correct slot for validator registration signature message (#659)
  • fix: metrics scraping bug (#651)
  • fix: only fetch the sync duties once per committee period (#666)
  • fix: Prevent dialing connected peers (#662)
  • feat: Logging improvement (#655)
  • chore: Reduce number of log files (#646)
  • chore: Update libp2p for v1.0.0 branch (#648)
  • fix: Allow incomming peers (#661)
  • feat(network): log peer id on failed dial (#660)
  • fix: implement periodic peer discovery without connection failure tracking (#650)
  • chore: remove user directories from .gitignore (#657)
  • fix: Rpc Error handling (#656)
  • chore: Fix libp2p metrics feature (#654)
  • fix: Use xxhash64 for gossipsub message ID to match Go-SSV (#641)
  • fix: Read keystore password from disk or stdin (#639)
  • fix: Sign validator registration at the same time as Go-SSV (#634)
  • docs: enhance logging agent analysis methodology and document specialized agents (#578)
  • chore: Enable mainnet (#623)
  • fix: Remove/Downgrade some logs triggerable by bad contract events in the validatorExited code path (#624)

Binaries

See pre-built binaries documentation.

The binaries are signed with Sigma Prime's PGP key: 15E66D941F697E28F49381F426416DC3F30674B0

System Architecture Binary PGP Signature
Apple logo aarch64 anchor-v1.0.0-rc.1-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 anchor-v1.0.0-rc.1-x86_64-unknown-linux-gnu.tar.gz PGP Signature
Raspberrypi logo aarch64 anchor-v1.0.0-rc.1-aarch64-unknown-linux-gnu.tar.gz PGP Signature
System Option - Resource
Docker logo Docker v1.0.0-rc.1 sigp/anchor

Pinnace

Pinnace Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Sep 15:15
v1.0.0-rc.0
65a39a5

This 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-level and --libp2p-log-level have been added to provide a way to reduce log volume for the discv5.log and libp2p.log files.
  • --disable-enr-auto-update has 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_OPERATOR to 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
Apple logo aarch64 anchor-v1.0.0-rc.0-aarch64-apple-darwin.tar.gz PGP Signature
Linux logo x86_64 anchor-v1.0.0-rc.0-x86_64-unknown-linux-gnu.tar.gz PGP Signature
Raspberrypi logo aarch64 anchor-v1.0.0-rc.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
System Option - Resource
Docker logo Docker v1.0.0-rc.0 sigp/anchor