Date: 2026-06-04
Tag: v4.3.1
Base: v4.3.0
Range: v4.3.0..v4.3.1 — three bug fixes
Summary
v4.3.1 is a recommended patch on top of v4.3.0. It ships three bug fixes: a partial-epoch-proof failure mode in the prover-node when the prior epoch is still pending, a block-stream tips-store bug where finalized drifting ahead of proven could orphan still-live block data, and a release-tooling fix that re-stamps the actual aztec_version into published noir-contracts artifacts (v4.3.0 shipped them with "dev").
All sequencers should upgrade to v4.3.1: #23505 closes a block-stream wedge that, under unusual finalization ordering, could stall attestations and lead to slashable downtime. Provers running partial epoch proofs should also upgrade — #23457 fixes the spurious failures when the previous epoch is still pending.
No breaking changes. No migration steps required.
What contract developers should care about
- Published contract artifacts now carry the correct aztec_version (#23851, backport of #23470): The v4.3.0 release of @aztec/noir-contracts.js shipped artifact JSONs with aztec_version: "dev" baked in (REF_NAME wasn't being populated during the release-image build). From v4.3.1 onward, artifact JSONs are stamped with the actual release version, so any tooling that asserts artifact-version compatibility against the installed aztec version will work correctly.
What node operators should care about
- Prover-node — partial epoch proofs no longer race the previous epoch (#23457): The prover-node would attempt to generate a partial proof for epoch N while epoch N−1 was still pending, producing spurious failures. It now waits for the previous epoch to be proven before kicking off a partial proof. If you've been seeing intermittent partial-proof errors on testnet, this is the fix.
- L2 tips store — finalized no longer orphans live block data (#23505): handleChainFinalized previously assumed the finalized tip was always the oldest live tip, and deleted block hashes / checkpoints below it. Under conditions where finalized drifted ahead of proven, this orphaned data referenced by a still-live tip and locked the block stream into an error loop. The patch caps every deletion bound at the lowest live tip (proposed / checkpointed / proven).
What changed since v4.3.0
Three PRs — all bug fixes, no features:
- #23457 — fix(prover): wait for previous epoch to be proven
- #23505 — chore(backport-to-v4): fix(stdlib): guard tip-store finalize against deleting live tips
- #23851 — chore(backport-to-v4): fix: released contract artifact aztec version (backport of #23470)
Reference
- v4.3.0 release notes — full breaking-change list, detailed highlights
- CHANGELOG.md — complete categorized commit list