Skip to content

chore: update Noir to v1.0.0-beta.22 (v5-next)#23870

Merged
ludamad merged 1 commit into
v5-nextfrom
cb/bump-noir-beta22-v5-next
Jun 4, 2026
Merged

chore: update Noir to v1.0.0-beta.22 (v5-next)#23870
ludamad merged 1 commit into
v5-nextfrom
cb/bump-noir-beta22-v5-next

Conversation

@AztecBot

@AztecBot AztecBot commented Jun 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

Bumps the noir/noir-repo submodule on v5-next to the official noir-lang/noir v1.0.0-beta.22 release (c57152f), replacing the off-mainline temp-serialization-tag commit (f1a4575, "Fixes") that v5-next was pinned to. This is so v5 is built from a proper noir release rather than a nightly/temp tag.

Changes

  • noir/noir-repoc57152f91260ecdb9faad4efc20abb14b6d2ece7 (v1.0.0-beta.22).
  • avm-transpiler/Cargo.lock → noir crates 1.0.0-beta.211.0.0-beta.22 (adds msgpack_tagged, serde_bytes, bs58, tinyvec; bumps darling 0.23, serde_with 3.20). This matches the lockfile delta the automated nightly noir-sync produces.
  • noir-projects/aztec-nr — replace the now-deprecated BoundedVec::from_parts_unchecked with BoundedVec::from_parts in note_getter.nr and utils/array/subbvec.nr. beta.22 deprecates from_parts_unchecked (from_parts no longer needs the extra zeroing loop), and aztec-nr's CI step runs nargo check --deny-warnings, so the deprecation is a hard failure without this. Same fix the team's cb/bump-noir-with-from-parts-fix branch applied.

Verification (local)

  • Built nargo from the beta.22 submodule (noirc 1.0.0-beta.22+c57152f).
  • cargo build of avm-transpiler against beta.22: passes (no source changes needed beyond the lockfile).
  • noir-protocol-circuits crates/types + representative binaries (parity-root, private-kernel-init, private-kernel-tail, rollup-block-root, rollup-root) compile clean.
  • Full noir-contracts workspace nargo compile --silence-warnings: passes.
  • aztec-nr nargo check --deny-warnings: fails before the from_parts fix (on the two files above), passes after.

Remaining knock-on — yarn-project/yarn.lock (needs CI/maintainer regen)

beta.22 bumps the published noir JS package versions (@aztec/noir-acvm_js, noirc_abi, noir_js, types, noir_codegen) 1.0.0-beta.211.0.0-beta.22. Because yarn install runs --immutable in CI, yarn-project/yarn.lock must be refreshed:

  • 6 1.0.0-beta.211.0.0-beta.22 version strings, plus
  • the regenerated @aztec/noir-noir_js@file: resolution hash= and checksum: (content-derived).

This is exactly the lockfile refresh the nightly noir-sync performs automatically (see the precedent in 7683ee71a58). I could not regenerate it in this sandbox: producing the noir_js file: checksum requires building the noir JS/wasm packages (noir/bootstrap.sh), and the wasm toolchain (wasm-bindgen/wasm-opt) install is network-blocked here (crates.io index unreachable). To finish locally:

cd noir && ./bootstrap.sh           # builds noir/packages/* at beta.22
cd ../yarn-project && yarn install  # refreshes yarn.lock

Then commit the resulting yarn-project/yarn.lock.

Tracking label private-port-next added per the v5 sync request.


Created by claudebox · group: slackbot

@AztecBot AztecBot added C-noir Component: Noir/Nargo ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR. private-port-next labels Jun 4, 2026
@ludamad ludamad marked this pull request as ready for review June 4, 2026 16:35
@ludamad ludamad requested a review from nventuro as a code owner June 4, 2026 16:35
@ludamad ludamad enabled auto-merge June 4, 2026 16:35
@ludamad ludamad added this pull request to the merge queue Jun 4, 2026
Merged via the queue into v5-next with commit 3dd0b4f Jun 4, 2026
38 of 48 checks passed
@ludamad ludamad deleted the cb/bump-noir-beta22-v5-next branch June 4, 2026 16:35
ludamad pushed a commit that referenced this pull request Jun 4, 2026
## Summary

Redo of #23870 against the current `v5-next` (after it was reverted in `9e53e1f` "revert two bad automerges").

Cherry-pick of the original PR head `884e84e8` (the noir submodule bump + Rust/Noir source fixes) plus a second commit that regenerates `yarn-project/yarn.lock`. That lockfile refresh was the explicit "Remaining knock-on" the original PR called out as needing CI/maintainer work; without it, CI's `yarn install --immutable` rejects the mismatched `@aztec/noir-noir_js` file: hash and the `npm:1.0.0-beta.21` references for the noir-* packages.

## Changes

Commit 1 (cherry-pick of `884e84e8`, original PR #23870):

- **`noir/noir-repo`** → `c57152f91260ecdb9faad4efc20abb14b6d2ece7` (`v1.0.0-beta.22`), replacing the off-mainline `temp-serialization-tag` commit (`f1a4575`, "Fixes") that `v5-next` was pinned back to after the revert.
- **`avm-transpiler/Cargo.lock`** → noir crates `1.0.0-beta.21` → `1.0.0-beta.22` (adds `msgpack_tagged`, `serde_bytes`, `bs58`, `tinyvec`; bumps `darling` 0.23, `serde_with` 3.20).
- **`noir-projects/aztec-nr`** → replace the now-deprecated `BoundedVec::from_parts_unchecked` with `BoundedVec::from_parts` in `note_getter.nr` and `utils/array/subbvec.nr` (`aztec-nr` CI runs `nargo check --deny-warnings`, so the deprecation is otherwise a hard failure).

Commit 2 (new):

- **`yarn-project/yarn.lock`** → regenerated against the v5 noir commit `c57152f` (`1.0.0-beta.22`) via `yarn install --mode=update-lockfile` (noir-* package versions `1.0.0-beta.21` → `1.0.0-beta.22`; `@aztec/noir-noir_js@file:` hash `294c27` → `893a3e`; checksum updated).

## Notes

- Same diff shape as the original PR (4 files, +91/-38) plus the `yarn-project/yarn.lock` regen. The yarn.lock change is binary in `git diff --stat` due to the `.gitattributes` `-diff` setting; the textual change is the noir-* version bump + the `file:` hash and checksum update, matching what the `merge-train/fairies-v5` lockfile already carries.
- This is the same lockfile regeneration the parallel fix in #23875 (against `merge-train/fairies-v5`) used, sourced from the prebuilt `noir-packages-7c3d4e0f9363947d.tar.gz` build-cache artifact.
- Tracking label `private-port-next` and `C-noir` mirror the original. `ci-draft` so CI runs while the PR is in draft.

---
*Created by [claudebox](https://claudebox.work/v2/sessions/c29eb43af6cd3071) · group: `slackbot`*
vezenovm added a commit that referenced this pull request Jun 5, 2026
## The gap

This draft exists just so display the first half of a red-green flow. We
should merge the child PR
#23896 into this one
before merging.

The contract-snapshots suite (added in #23061) has never run in CI. It
was wired only into the `noir-projects/bootstrap.sh test_cmds`
aggregate, but the Makefile-driven CI never invokes parent aggregates:
it calls each subproject's `test_cmds` directly
(`noir-protocol-circuits-tests` in `fast`, `noir-projects-txe-tests`
post-build). The aggregate is a local-dev entry point only.

Consequences so far:
- the noir 1.0.0-beta.22 bump (#23870) landed green with stale snapshots
(see #23878),
- aztec-nr changes since the last regen in #23464 have drifted the
snapshots unnoticed. 14 of 61 tests fail on this branch with its own
pinned nargo.

## The fix

- New `contract-snapshots-tests` Makefile target (mirrors
`noir-protocol-circuits-tests`, depends only on `noir` for the nargo
binary), included in `fast`.
- Comment on the bootstrap aggregate marking it local-dev only, so the
next suite added there also gets a Makefile target.

## Expected CI result

This PR is intentionally red: the newly wired suite fails with the 14
drifted snapshots, demonstrating the gap. A follow-up PR targeting this
branch regenerates the snapshots and turns it green. Merge order: regen
PR into this branch, then this branch into the train.

Draft with `ci-draft` label so CI runs while merge automation stays off
until the regen lands.

---------

Co-authored-by: AztecBot <tech@aztec-labs.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C-noir Component: Noir/Nargo ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR. private-port-next

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants