chore: update Noir to v1.0.0-beta.22 (v5-next)#23870
Merged
Merged
Conversation
ludamad
approved these changes
Jun 4, 2026
This was referenced Jun 4, 2026
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bumps the
noir/noir-reposubmodule onv5-nextto the official noir-lang/noirv1.0.0-beta.22release (c57152f), replacing the off-mainlinetemp-serialization-tagcommit (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-repo→c57152f91260ecdb9faad4efc20abb14b6d2ece7(v1.0.0-beta.22).avm-transpiler/Cargo.lock→ noir crates1.0.0-beta.21→1.0.0-beta.22(addsmsgpack_tagged,serde_bytes,bs58,tinyvec; bumpsdarling0.23,serde_with3.20). This matches the lockfile delta the automated nightly noir-sync produces.noir-projects/aztec-nr— replace the now-deprecatedBoundedVec::from_parts_uncheckedwithBoundedVec::from_partsinnote_getter.nrandutils/array/subbvec.nr. beta.22 deprecatesfrom_parts_unchecked(from_partsno longer needs the extra zeroing loop), andaztec-nr's CI step runsnargo check --deny-warnings, so the deprecation is a hard failure without this. Same fix the team'scb/bump-noir-with-from-parts-fixbranch applied.Verification (local)
nargofrom the beta.22 submodule (noirc 1.0.0-beta.22+c57152f).cargo buildofavm-transpileragainst beta.22: passes (no source changes needed beyond the lockfile).noir-protocol-circuitscrates/types+ representative binaries (parity-root,private-kernel-init,private-kernel-tail,rollup-block-root,rollup-root) compile clean.noir-contractsworkspacenargo compile --silence-warnings: passes.aztec-nrnargo 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.21→1.0.0-beta.22. Becauseyarn installruns--immutablein CI,yarn-project/yarn.lockmust be refreshed:1.0.0-beta.21→1.0.0-beta.22version strings, plus@aztec/noir-noir_js@file:resolutionhash=andchecksum:(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 thenoir_jsfile: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:Then commit the resulting
yarn-project/yarn.lock.Tracking label
private-port-nextadded per the v5 sync request.Created by claudebox · group:
slackbot