Skip to content

chore: backport #22393 (Update Noir to nightly-2026-04-10) to v4-next#22485

Open
AztecBot wants to merge 14 commits intobackport-to-v4-next-stagingfrom
claudebox/backport-noir-nightly-22393
Open

chore: backport #22393 (Update Noir to nightly-2026-04-10) to v4-next#22485
AztecBot wants to merge 14 commits intobackport-to-v4-next-stagingfrom
claudebox/backport-noir-nightly-22393

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

@AztecBot AztecBot commented Apr 11, 2026

Summary

Backport of #22393 (Update Noir to nightly-2026-04-10) to v4-next, plus 3 companion PRs needed for Noir compatibility since v4-next was still on nightly-2026-02-12.

Companion PRs included

Since v4-next hadn't updated Noir since nightly-2026-02-12 (~2 months behind), several intermediate Noir-adaptation PRs were also needed:

  1. chore: Update poseidon version & remove unnecessary comptime globals #20702 — Remove unnecessary comptime qualifier from VK tree constants (Noir broke comptime globals used in non-comptime contexts)
  2. chore: Update Noir to nightly-2026-02-27 #20798 — Remove unnecessary let mut across noir-projects (newer Noir errors on this)
  3. chore: Remove Noir builtin comptime mutable methods from macros #21801 — Replace deprecated Noir comptime APIs: add_attribute()add_abi(), set_body()/set_parameters()/set_return_public()function.disable(), update fn_has_noinitcheck to also check is_fn_only_self()

Commits

  1. Cherry-pick with conflict markers — raw cherry-pick of chore: Update Noir to nightly-2026-04-10 #22393
  2. Conflict resolution — version bumps + reformatting resolved
  3. Cherry-pick chore: Update poseidon version & remove unnecessary comptime globals #20702 — comptime globals + poseidon2 hash fix
  4. Cherry-pick chore: Update Noir to nightly-2026-02-27 #20798 — unnecessary mut removal (24 files)
  5. Cherry-pick chore: Remove Noir builtin comptime mutable methods from macros #21801 — macro API migration (4 files)
  6. Remaining fixes — private_context.nr mut + utils.nr style alignment

benesjan and others added 2 commits April 11, 2026 06:51
Cherry-pick of merge commit 0daa54d with conflicts.
Conflicts in: avm-transpiler/Cargo.lock, noir-projects Nargo.toml files,
noir-projects macro files, noir/noir-repo submodule.
Resolved conflicts by taking the PR side for all changes:
- poseidon v0.2.3 -> v0.3.0 in Nargo.toml files
- bignum v0.9.0 -> v0.10.0, bigcurve v0.13.0 -> v0.14.0 in blob/rollup-lib
- indexmap 2.13.0 -> 2.13.1, added itertools in Cargo.lock
- Comment reformatting to 120-char line limit in .nr files
- Updated noir/noir-repo submodule to 842974fcf034b0
@AztecBot AztecBot added ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR. labels Apr 11, 2026
AztecBot and others added 5 commits April 11, 2026 07:03
Cherry-pick of b2b258d — removes comptime qualifier from VK tree constants
and updates poseidon2 hash function. Nargo.toml conflicts resolved by keeping
our newer dependency versions from #22393.
Cherry-pick of 17ba18a — removes unnecessary 'let mut' across noir-projects
(now errors in newer Noir). Conflicts in private_context.nr and discovery/mod.nr
resolved by keeping HEAD which already has the fixes via newer code.
Cargo.lock/yarn.lock/submodule kept at our versions.
…ds from macros)

Cherry-pick of 5de59a7 — replaces deprecated Noir comptime APIs:
- add_attribute('abi(events)') -> add_abi('events')
- set_body/set_parameters/add_attribute/set_return_public -> function.disable()
- fn_has_noinitcheck now also checks is_fn_only_self()
- Removes f.add_attribute('noinitcheck') from only_self
- Remove unnecessary mut from is_static_call in private_context.nr
- Simplify fn_has_noinitcheck in utils.nr to match next
@socket-security
Copy link
Copy Markdown

socket-security bot commented Apr 11, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedcargo/​libc@​0.2.182 ⏵ 0.2.1848010093100100
Addedcargo/​once_cell@​1.21.410010093100100
Updatedcargo/​env_logger@​0.11.9 ⏵ 0.11.109910093100100
Updatednpm/​@​aztec/​noir-noir_js@​1.0.0-beta.18 ⏵ 1.0.0-beta.19100100100100100

View full report

@benesjan benesjan added ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure ci-full Run all master checks. labels Apr 11, 2026
@AztecBot
Copy link
Copy Markdown
Collaborator Author

Flakey Tests

🤖 says: This CI run detected 1 tests that failed, but were tolerated due to a .test_patterns.yml entry.

\033FLAKED\033 (8;;http://ci.aztec-labs.com/0d9dd549cf9fc54c�0d9dd549cf9fc54c8;;�):  yarn-project/end-to-end/scripts/run_test.sh simple src/e2e_epochs/epochs_ha_sync.test.ts (62s) (code: 0) group:e2e-p2p-epoch-flakes

@benesjan benesjan marked this pull request as ready for review April 11, 2026 15:10
function_locations: z.array(z.object({ start: z.number(), name: z.string() })),
}),
),
) as z.ZodType<DebugFileMap>,
Copy link
Copy Markdown
Contributor

@benesjan benesjan Apr 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the only fuckery needed to be able to successfully finish the backport.

The change in Noir was introduced in this PR

Copy link
Copy Markdown
Contributor

@benesjan benesjan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than the changes to abi.ts the backport was "fully" clean.

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. ci-full Run all master checks. ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants