Skip to content

fix(aztec-up): strip leading v prefix from version strings (backport #21813)#21911

Closed
AztecBot wants to merge 8 commits into
backport-to-v4-next-stagingfrom
claudebox/backport-21813-v4-next
Closed

fix(aztec-up): strip leading v prefix from version strings (backport #21813)#21911
AztecBot wants to merge 8 commits into
backport-to-v4-next-stagingfrom
claudebox/backport-21813-v4-next

Conversation

@AztecBot

Copy link
Copy Markdown
Collaborator

Summary

Backport of #21813 to v4-next.

Strips a leading v from version arguments in aztec-up and aztec-install so that aztec-up install v4.1.0-nightly.20260313 works correctly instead of failing with a confusing alias resolution error.

Conflict Resolution

The cherry-pick conflicted in aztec-up/bin/0.0.1/aztec-install because v4-next has a print_colored function where next has a typewriter function. Resolution: kept print_colored from v4-next, added the new is_semver and resolve_version functions (the actual fix). The typewriter function from next was excluded as it doesn't exist on v4-next.

aztec-up/bin/0.0.1/aztec-up applied cleanly with no conflicts.

ClaudeBox log: https://claudebox.work/s/77d63df28c93c09d?run=1

benesjan and others added 8 commits March 17, 2026 12:26
## Summary

Merges v4 into v4-next, resolving the conflict in
`getBlockHashMembershipWitness` in `server.ts`.

The conflict was between v4-next's simple passthrough to
`getWorldState(referenceBlock)` and v4's off-by-one bugfix that uses
`getWorldState(BlockNumber(referenceBlockNumber - 1))`. The v4 fix is
correct: the Noir circuit checks the archive membership proof against
`anchor_block_header.last_archive.root`, which is the archive tree root
BEFORE the anchor block was added, so we need the world state at block
N-1.

Resolution: took the v4 bugfix, adapted to use v4-next's `getWorldState`
(protected) instead of v4's `#getWorldState` (private).

Replaces #21493
which had stale conflict markers.

ClaudeBox log: https://claudebox.work/s/d4b96d5b355d7fba?run=1

Co-authored-by: Jan Beneš <janbenes1234@gmail.com>
Co-authored-by: PhilWindle <60546371+PhilWindle@users.noreply.github.com>
Co-authored-by: Phil Windle <philip.windle@gmail.com>
Co-authored-by: Santiago Palladino <santiago@aztecprotocol.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: ludamad <adam.domurad@gmail.com>
Co-authored-by: Alex Gherghisan <alexghr@users.noreply.github.com>
## Summary

Merges latest `v4` (`bb3ea6f1`) into `v4-next` with a proper **merge
commit** to preserve the merge topology. This fixes the issue where PR
#21702 was squash-merged, causing git to lose track of which v4 commits
were already in v4-next.

## Commits

1. **Merge commit with conflict markers** — raw `git merge origin/v4`
showing the conflicts
2. **Fix server.ts** — resolve `getWorldState` vs `#getWorldState`
conflict (use protected version), remove duplicate `resolveBlockNumber`
method
3. **Fix deploy_network.sh** — resolve pre-existing conflict from old
merge (keep default multiplier of 2)

## Important

**This PR must be merged with a merge commit (not squashed)** to
preserve the v4→v4-next merge topology. Add the `ci-no-squash` label.
Without the merge commit, future auto-merges will re-encounter the same
conflicts.

ClaudeBox log: https://claudebox.work/s/3402fef75fe1ebde?run=4

---------

Co-authored-by: Jan Beneš <janbenes1234@gmail.com>
Co-authored-by: PhilWindle <60546371+PhilWindle@users.noreply.github.com>
Co-authored-by: Phil Windle <philip.windle@gmail.com>
Co-authored-by: Santiago Palladino <santiago@aztecprotocol.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: ludamad <adam.domurad@gmail.com>
Co-authored-by: Alex Gherghisan <alexghr@users.noreply.github.com>
Co-authored-by: spypsy <spypsy@users.noreply.github.com>
## Summary
- Bump `.release-please-manifest.json` from `4.1.0` to `4.2.0` in
preparation for the next release cycle.
BEGIN_COMMIT_OVERRIDE
feat: entrypoint replay protection (#21649)
feat: guard BoundedVec oracle returns against dirty trailing storage
(#21589)
fix: add bounds when allocating arrays in deserialization (#21622)
feat: implement manual Packable for structs with sub-Field members
(#21576)
fix(aztec-node): throw on existing nullifier in
getLowNullifierMembershipWitness (#21472)
fix: use trait dispatch for array Packable::unpack in card_game_contract
(#21683)
fix(p2p): penalize peers for errors during response reading (#21680)
fix: update nullifier non-inclusion test expectations after early oracle
throw (backport #21600) (#21615)
fix(aztec-nr): fix OOB index with nonzero offset (#21613)
fix(builder): persist contractsDB across blocks within a checkpoint
(#21520)
fix(stdlib): accept null return_type for void Noir functions (#21647)
feat: gas estimations on send (#21646)
fix(validator): process block proposals from own validator keys in HA
setups (backport #21603) (#21659)
fix(p2p): penalize peer on tx rejected by pool (#21677)
fix(sequencer): fix checkpoint budget redistribution for multi-block
slots (#21692)
feat: sync cache invalidation oracle (backport #21459) (#21730)
feat!: make AES128 decrypt oracle return Option (backport #21696)
(#21735)
feat!: include init_hash in private initialization nullifier (backport
#21427) (#21736)
fix(sequencer): extract gas and blob configs from valid requests only
(A-677) (#21747)
chore: backport #21744 — replace dead BOOTSTRAP_TO env var with
bootstrap.sh build arg (#21748)
refactor: revert remove assert_bounded_vec_trimmed (#21758)
END_COMMIT_OVERRIDE
BEGIN_COMMIT_OVERRIDE
chore: backport #21754 (feat!: make isContractInitialized a tri-state
enum) to v4-next (#21792)
fix(stdlib): zero-pad bufferFromFields when declared length exceeds
payload (#21802)
test(protocol-contracts): verify max-size bytecode fits in contract
class log (#21818)
chore: port P2P mesh topic deflake fix to v4-next (#21825)
fix(archiver): throw on duplicate contract class or instance additions
(#21799)
feat: sync poseidon in the browser (#21833)
chore: backport #21824 (fix(aztec-up): add sensible defaults to
installer y/n prompts) to v4-next (#21844)
fix(sequencer): backport wall-clock time for slot estimation to v4-next
(#21769) (#21847)
chore: backport PR #21788 (feat(p2p): add tx validation for contract
class id verification) to v4-next (#21852)
feat: sync poseidon browser (#21851)
END_COMMIT_OVERRIDE
…gs (#21813)

Cherry-pick of merge commit 32a5796 with conflicts in aztec-up/bin/0.0.1/aztec-install.
Keep existing print_colored function from v4-next while adding is_semver and
resolve_version functions with v-prefix stripping. The typewriter function from
next is excluded as it doesn't exist on v4-next.
@AztecBot AztecBot added ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR. labels Mar 23, 2026
@AztecBot AztecBot closed this Mar 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants