Skip to content

feat(ssa): Basic control dependent LICM#7660

Merged
vezenovm merged 61 commits intomasterfrom
mv/control-dep-licm
Mar 20, 2025
Merged

feat(ssa): Basic control dependent LICM#7660
vezenovm merged 61 commits intomasterfrom
mv/control-dep-licm

Conversation

@vezenovm
Copy link
Contributor

@vezenovm vezenovm commented Mar 11, 2025

Description

Problem*

Resolves #7569

Builds upon #7595 (post-dominator tree) and #7692 (dominance frontiers)

This PR resolves the optimizations described in the issue. However, the optimization can be expanded by further accounting for predicates and possibly even hoisting instructions under predicates as part of loop peeling/splitting. I leave these tasks to be captured in separate issues.

Summary*

We have certain instructions that we mark as unsafe for hoisting when they are only dependent upon a predicate and do not have any other side effects (e.g. a checked arithmetic operation). You can look into the linked issue for an example of logic that will not be hoisted.

If a predicated instruction shares the same predicate as the entire loop we can now hoist this instruction. The new unit tests under loop_invariant.rs provide examples of when a predicated instruction can now be hoisted.

We check for whether an instruction shares a predicate with the entire loop through control dependence analysis. If the block containing an instruction is control dependent on any blocks between the pre-header and the instruction's block we know that there has been some branching. We then mark the current block as being control dependent.

If a block is not control dependent, we mark instructions that are reliant upon predicates (but do not have other side effects) as safe for hoisting.

We determine whether a block is control dependent on a parent block by following Definition 3 in Ferrante et al., 1987, The program dependence graph and its use in optimization.

Definition 3. Let G be a control flow graph. Let X and Y be nodes in G. Y is
control dependent on X iff
(1) there exists a directed path P from X to Y with any 2 in P (excluding X
and Y) post-dominated by Y and
(2) X is not post-dominated by Y. 

Builds upon #7595 to utilize the post-dominator tree. We can further optimize our control dependence check by looking at the post-dominator frontiers #7692.

Verifying the above conditions for every loop block would be quite inefficient.
For example, let's say we just want to check whether a given loop block is control dependent at all
after the loop preheader. We would have to to verify the conditions above for every block between the loop preheader
and the given loop block. This is n^2 complexity in the worst case.

To optimize the control dependence checks, we can use post-dominance frontiers (PDF).
From Cooper, Keith D. et al. “A Simple, Fast Dominance Algorithm.” (1999).

A dominance frontier is the set of all CFG nodes, y, such that
b dominates a predecessor of y but does not strictly dominate y.

Reversing this for post-dominance we can see that the conditions for control dependence
are the same as those for post-dominance frontiers.
Thus, we rewrite our control dependence condition as Y is control dependent on X iff Y is in PDF(Y).
We then can store the PDFs for every block as part of the context of this pass, and use it for checking control dependence.
Using PDFs gets us from a worst case n^2 complexity to a worst case n.

Hoisting vs. Deduplicating

This PR also adds a new method can_be_hoisted on Instruction. This is essentially the same as can_be_deduplicated except it accounts for that certain instructions are not safe for hoisting as lone instructions. The main difference is that we do not hoist Constrain, ConstrainNotEqual, RangeCheck, and functions with Purity::PureWithPredicate with predicates.

The reason for this is that we may have dynamic loop bounds or a equal lower and upper loop bounds (e.g. a loop that will never execute). If we were to hoist the instructions above they could potentially cause a program to fail when it should not. When deduplicating this is allowed as we have a matching instruction, but for hoisting this can break the program logic.

Additional Context

As mentioned in the PR description this work builds upon #7595 and #7692. You may want to review those PRs first as to have the full context. This is also outlined in the new doc comments on the loop invariant pass.

We can probably further differentiate Purity::PureWithPredicate to differentiate between instructions pure with predicates for hoisting and pure with predicates for deduplication. I leave this for follow-up work.

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Test Suite Duration'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: 305f5e2 Previous: 58be0cd Ratio
noir-lang_noir_json_parser_ 12 s 8 s 1.50

This comment was automatically generated by workflow using github-action-benchmark.

CC: @TomAFrench

@github-actions
Copy link
Contributor

github-actions bot commented Mar 11, 2025

Changes to Brillig bytecode sizes

Generated at commit: 0b9db7264e237efca7a5fd51ad12dd307f6a8b4f, compared to commit: 58be0cd3897cd8ca3a99bac3b9fbbe561dfcb4a8

🧾 Summary (10% most significant diffs)

Program Brillig opcodes (+/-) %
poseidon_bn254_hash_inliner_min -12 ✅ -0.24%
poseidon_bn254_hash_width_3_inliner_min -12 ✅ -0.24%
loop_invariant_regression_inliner_max -16 ✅ -10.67%
loop_invariant_regression_inliner_zero -16 ✅ -10.67%

Full diff report 👇
Program Brillig opcodes (+/-) %
poseidon_bn254_hash_inliner_max 5,242 (-2) -0.04%
poseidon_bn254_hash_width_3_inliner_max 5,242 (-2) -0.04%
poseidon_bn254_hash_inliner_zero 4,656 (-2) -0.04%
poseidon_bn254_hash_width_3_inliner_zero 4,656 (-2) -0.04%
regression_5252_inliner_max 4,434 (-2) -0.05%
poseidonsponge_x5_254_inliner_max 4,098 (-2) -0.05%
regression_5252_inliner_min 3,555 (-6) -0.17%
regression_5252_inliner_zero 3,390 (-6) -0.18%
poseidonsponge_x5_254_inliner_min 3,159 (-6) -0.19%
poseidonsponge_x5_254_inliner_zero 3,019 (-6) -0.20%
poseidon_bn254_hash_inliner_min 5,023 (-12) -0.24%
poseidon_bn254_hash_width_3_inliner_min 5,023 (-12) -0.24%
loop_invariant_regression_inliner_max 134 (-16) -10.67%
loop_invariant_regression_inliner_zero 134 (-16) -10.67%

@vezenovm vezenovm added the bench-show Display benchmark results on PR label Mar 11, 2025
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Compilation Time

Details
Benchmark suite Current: 305f5e2 Previous: 58be0cd Ratio
regression_4709 0.708 s 0.67 s 1.06
ram_blowup_regression 14.8 s 14.6 s 1.01
global_var_regression_entry_points 0.498 s 0.484 s 1.03
private-kernel-inner 2.274 s 2.388 s 0.95
private-kernel-reset 6.706 s 6.782 s 0.99
private-kernel-tail 1.088 s 1.104 s 0.99
rollup-base-private 16.42 s 15.2 s 1.08
rollup-base-public 12.76 s 11.34 s 1.13
rollup-block-root-empty 0.973 s 0.933 s 1.04
rollup-block-root-single-tx 130 s 129 s 1.01
rollup-block-root 128 s 133 s 0.96
rollup-merge 0.943 s 0.928 s 1.02
rollup-root 1.478 s 1.57 s 0.94

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Execution Time

Details
Benchmark suite Current: 305f5e2 Previous: 58be0cd Ratio
private-kernel-inner 0.069 s 0.069 s 1
private-kernel-reset 0.284 s 0.283 s 1.00
private-kernel-tail 0.026 s 0.026 s 1
rollup-base-private 0.728 s 0.73 s 1.00
rollup-base-public 0.488 s 0.487 s 1.00
rollup-block-root 17.1 s 16.7 s 1.02
rollup-merge 0.006 s 0.006 s 1
rollup-root 0.024 s 0.025 s 0.96

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Compilation Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: 60a01ba Previous: 4c1c76e Ratio
regression_4709 0.893 s 0.693 s 1.29

This comment was automatically generated by workflow using github-action-benchmark.

CC: @TomAFrench

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Test Suite Duration

Details
Benchmark suite Current: 305f5e2 Previous: 58be0cd Ratio
AztecProtocol_aztec-packages_noir-projects_aztec-nr 37 s 37 s 1
AztecProtocol_aztec-packages_noir-projects_noir-contracts 77 s 78 s 0.99
AztecProtocol_aztec-packages_noir-projects_noir-protocol-circuits_crates_blob 46 s 44 s 1.05
AztecProtocol_aztec-packages_noir-projects_noir-protocol-circuits_crates_private-kernel-lib 172 s 170 s 1.01
AztecProtocol_aztec-packages_noir-projects_noir-protocol-circuits_crates_reset-kernel-lib 10 s 9 s 1.11
AztecProtocol_aztec-packages_noir-projects_noir-protocol-circuits_crates_rollup-lib 169 s 168 s 1.01
AztecProtocol_aztec-packages_noir-projects_noir-protocol-circuits_crates_types 53 s 54 s 0.98
noir-lang_noir-bignum_ 84 s 86 s 0.98
noir-lang_noir_bigcurve_ 223 s 209 s 1.07
noir-lang_noir_json_parser_ 12 s 8 s 1.50
noir-lang_sha512_ 24 s 23 s 1.04

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Compilation Memory

Details
Benchmark suite Current: 305f5e2 Previous: 58be0cd Ratio
private-kernel-inner 301.59 MB 301.63 MB 1.00
private-kernel-reset 611.54 MB 611.54 MB 1
private-kernel-tail 228.23 MB 228.23 MB 1
rollup-base-private 1250 MB 1250 MB 1
rollup-base-public 1330 MB 1330 MB 1
rollup-block-root-empty 305.09 MB 305.11 MB 1.00
rollup-block-root-single-tx 7860 MB 7860 MB 1
rollup-block-root 7870 MB 7870 MB 1
rollup-merge 303.51 MB 303.53 MB 1.00
rollup-root 351.07 MB 351.05 MB 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Execution Memory

Details
Benchmark suite Current: 305f5e2 Previous: 58be0cd Ratio
private-kernel-inner 241.44 MB 241.44 MB 1
private-kernel-reset 275.87 MB 275.87 MB 1
private-kernel-tail 215.09 MB 215.09 MB 1
rollup-base-private 509.27 MB 509.27 MB 1
rollup-base-public 418.07 MB 418.07 MB 1
rollup-block-root 1420 MB 1420 MB 1
rollup-merge 289 MB 289 MB 1
rollup-root 295.48 MB 295.48 MB 1

This comment was automatically generated by workflow using github-action-benchmark.

Base automatically changed from mv/post-dominator-tree to master March 13, 2025 13:01
@vezenovm vezenovm mentioned this pull request Mar 13, 2025
5 tasks
@vezenovm
Copy link
Contributor Author

The tests in #7705 actually flagged a bug with how we were specifying instructions safe for hoisting. I have added a new method can_be_hoisted on Instruction which I go over in the Hoisting vs. Deduplicating section of the PR description as well as additional logic and tests to the loop invariant pass.

In summary, we do not want to hoist certain instructions (which may be safe for deduplication) when a loop may not execute.

@vezenovm vezenovm requested review from a team and michaeljklein March 20, 2025 14:07
@vezenovm
Copy link
Contributor Author

vezenovm commented Mar 20, 2025

The execution trace reports look to be bugged out. loop_invariant_regression with an inliner aggressiveness of 0 is giving me 379 opcodes as expected, but the report is saying that there is no difference.

EDIT: Ah it is the new reference_counts tests at different inliner settings

@github-actions
Copy link
Contributor

github-actions bot commented Mar 20, 2025

Changes to number of Brillig opcodes executed

Generated at commit: 0b9db7264e237efca7a5fd51ad12dd307f6a8b4f, compared to commit: 58be0cd3897cd8ca3a99bac3b9fbbe561dfcb4a8

🧾 Summary (10% most significant diffs)

Program Brillig opcodes (+/-) %
loop_invariant_regression_inliner_min -690 ✅ -39.27%
loop_invariant_regression_inliner_max -689 ✅ -64.51%
loop_invariant_regression_inliner_zero -689 ✅ -64.51%

Full diff report 👇
Program Brillig opcodes (+/-) %
brillig_cow_regression_inliner_min 220,181 (-180) -0.08%
brillig_cow_regression_inliner_max 216,973 (-180) -0.08%
brillig_cow_regression_inliner_zero 216,973 (-180) -0.08%
poseidon_bn254_hash_inliner_zero 181,451 (-1,509) -0.82%
poseidon_bn254_hash_width_3_inliner_zero 181,451 (-1,509) -0.82%
poseidon_bn254_hash_inliner_max 150,934 (-1,509) -0.99%
poseidon_bn254_hash_width_3_inliner_max 150,934 (-1,509) -0.99%
poseidonsponge_x5_254_inliner_max 170,888 (-2,160) -1.25%
regression_5252_inliner_max 851,025 (-10,800) -1.25%
poseidon_bn254_hash_inliner_min 185,143 (-3,641) -1.93%
poseidon_bn254_hash_width_3_inliner_min 185,143 (-3,641) -1.93%
poseidonsponge_x5_254_inliner_min 205,645 (-5,110) -2.42%
regression_5252_inliner_min 1,027,722 (-25,550) -2.43%
poseidonsponge_x5_254_inliner_zero 201,569 (-5,110) -2.47%
regression_5252_inliner_zero 1,004,827 (-25,550) -2.48%
loop_invariant_regression_inliner_min 1,067 (-690) -39.27%
loop_invariant_regression_inliner_max 379 (-689) -64.51%
loop_invariant_regression_inliner_zero 379 (-689) -64.51%

@vezenovm vezenovm added this pull request to the merge queue Mar 20, 2025
Merged via the queue into master with commit 97e4090 Mar 20, 2025
106 checks passed
@vezenovm vezenovm deleted the mv/control-dep-licm branch March 20, 2025 19:04
TomAFrench pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Mar 21, 2025
Automated pull of nightly from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: add more test suites to CI
(noir-lang/noir#7757)
chore(docs): Avoid colliding filenames
(noir-lang/noir#7771)
feat(ssa): Basic control dependent LICM
(noir-lang/noir#7660)
chore: run `noir_wasm` over `test_programs`
(noir-lang/noir#7765)
fix(ci): Fail the CI job on a Brillig report failure
(noir-lang/noir#7762)
fix(ci): Exclude inliner specific reference count tests from Brillig
trace report (noir-lang/noir#7761)
chore: pull out pure functions from interpreter
(noir-lang/noir#7755)
fix: add missing inputs to `BlackBoxFuncCall::get_inputs_vec` for EcAdd
(noir-lang/noir#7752)
feat: add `EmbeddedCurvePoint::generator()` to return generator point
(noir-lang/noir#7754)
chore: remove bun from docs in favour of yarn
(noir-lang/noir#7756)
chore: Fix rustdocs error (noir-lang/noir#7750)
chore: add `shared` module within `noirc_frontend`
(noir-lang/noir#7746)
chore: push users towards nargo in tutorial
(noir-lang/noir#7736)
chore: Add GITHUB_TOKEN for downloading prost_prebuilt to acvm.js build
(noir-lang/noir#7745)
END_COMMIT_OVERRIDE

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
TomAFrench pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Mar 21, 2025
🤖 I have created a new Aztec Packages release
---


##
[0.82.0](v0.81.0...v0.82.0)
(2025-03-21)


### ⚠ BREAKING CHANGES

* `AztecNode.findLeavesIndexes` returning block info
([#12890](#12890))
* make `ResolverError::UnnecessaryPub` a hard error
(noir-lang/noir#7664)

### Features

* `AztecNode.findLeavesIndexes` returning block info
([#12890](#12890))
([9770e15](9770e15))
* add `EmbeddedCurvePoint::generator()` to return generator point
(noir-lang/noir#7754)
([ce84b2d](ce84b2d))
* add AMM support to transaction bot
([#12897](#12897))
([b2c35cc](b2c35cc))
* add minter role to TestERC20
([#12889](#12889))
([716ab4f](716ab4f)),
closes
[#12887](#12887)
[#12882](#12882)
* allow `fn` returning `()` without having to write `-&gt; ()`
(noir-lang/noir#7717)
([e9526cf](e9526cf))
* avm merkle gadget in vm2
([#12726](#12726))
([898d50e](898d50e))
* **avm:** instruction fetching parsing error
([#12804](#12804))
([09a09d5](09a09d5))
* **bb:** Introduce chunks for univariate computation for the AVM
([#12707](#12707))
([c912bd6](c912bd6))
* can associate error regex with entry in flake file
([#12785](#12785))
([da48e38](da48e38))
* capture app stacks for bb usage
([#12383](#12383))
([293eb9d](293eb9d))
* **docs:** Docs on shared mutable, contract classes, and injecting data
([#12043](#12043))
([94beffe](94beffe))
* Fallback to blobscan API on blob miss
([#12857](#12857))
([f2f0d72](f2f0d72)),
closes
[#12856](#12856)
* Fast node_modules caching in CI.
([#12371](#12371))
([09f50d7](09f50d7))
* generate subrelation-label comment in generated relation hpp
([#12914](#12914))
([fa2bf95](fa2bf95))
* lets try grinding
([4342491](4342491))
* Montgomery optimisation (partial)
([#12822](#12822))
([c524339](c524339))
* **noir sync:** Calculate noir hash based on just `noir-repo-ref` and
`noir-repo.patch`
([#12861](#12861))
([fa5991f](fa5991f))
* observe L1 and init proposal counter
([#12681](#12681))
([1e3d71e](1e3d71e))
* precomputed ClientIVC VKs
([#12126](#12126))
([65bd276](65bd276))
* reapplying reverted circuits recorder with a fix
([#12919](#12919))
([bf9a034](bf9a034))
* recording circuit inputs + oracles
([#12148](#12148))
([5436627](5436627))
* rotate over instances on request fail
([#12270](#12270))
([7ee2e24](7ee2e24))
* Separate Aztec Node Admin API
([#12790](#12790))
([ccac9ff](ccac9ff)),
closes
[#12789](#12789)
* slim wallet
([#12803](#12803))
([3f9f30a](3f9f30a))
* **sol:** setup epoch - sampling without replacement
([#12753](#12753))
([096f739](096f739))
* **ssa:** Basic control dependent LICM
(noir-lang/noir#7660)
([ce84b2d](ce84b2d))
* **ssa:** Dominance frontiers
(noir-lang/noir#7692)
([e9526cf](e9526cf))
* **ssa:** Post dominator tree
(noir-lang/noir#7595)
([e9526cf](e9526cf))


### Bug Fixes

* add missing inputs to `BlackBoxFuncCall::get_inputs_vec` for EcAdd
(noir-lang/noir#7752)
([ce84b2d](ce84b2d))
* add random deployment salt to sandbox
([#12869](#12869))
([49acd71](49acd71))
* agent reporting jobs completion correctly
([#12835](#12835))
([18d68f0](18d68f0))
* allow method call after block, if and match
(noir-lang/noir#7655)
([e9526cf](e9526cf))
* allow omitting ';' after last block statement if it's an assignment
(noir-lang/noir#7718)
([e9526cf](e9526cf))
* allow referring to comptime locals at runtime
(noir-lang/noir#7681)
([e9526cf](e9526cf))
* allow renaming a trait when importing it
(noir-lang/noir#7688)
([e9526cf](e9526cf))
* avm merkle cpp broke darwin
([#12917](#12917))
([75c9098](75c9098))
* **bb.js:** remove size metadata from UH proof
([#12775](#12775))
([5b064bc](5b064bc))
* bench upload logic
([#12800](#12800))
([52575d8](52575d8))
* bring back matrix on grind. try several things to resolve txe port in
use.
([79af7a3](79af7a3))
* CI Tweaks
([#12908](#12908))
([326767c](326767c))
* ci.sh gh-bench logic
([#12776](#12776))
([8080f47](8080f47))
* **ci:** Exclude inliner specific reference count tests from Brillig
trace report (noir-lang/noir#7761)
([ce84b2d](ce84b2d))
* **ci:** Fail the CI job on a Brillig report failure
(noir-lang/noir#7762)
([ce84b2d](ce84b2d))
* clientivc capture benchmarks include authwits
([#12873](#12873))
([5df2aea](5df2aea))
* config ordering
([#12893](#12893))
([44af76e](44af76e))
* consensus URL as CLI config
([#12796](#12796))
([66e8028](66e8028))
* correctly format let followed by comment before unsafe
(noir-lang/noir#7659)
([e9526cf](e9526cf))
* cpp ivc bench
([#12815](#12815))
([95a0ec1](95a0ec1))
* disable gpg signing for noir bootstrap
([#12840](#12840))
([2a76c8c](2a76c8c))
* Disallow registration of contract classes with no public bytecode
([#12910](#12910))
([41bf13e](41bf13e))
* doc comments on functions warn unexpectedly
(noir-lang/noir#7721)
([e9526cf](e9526cf))
* don't gpg sign the noir patch
([#12912](#12912))
([43191e0](43191e0))
* Don't log config
([#12876](#12876))
([545b4e0](545b4e0))
* Experiment with `DecrementRc`
(noir-lang/noir#7629)
([66a62d0](66a62d0))
* Fix prover node publisher for multi-proofs
([#12924](#12924))
([42733a6](42733a6))
* Fix stdout testing when running test programs
(noir-lang/noir#7741)
([66a62d0](66a62d0))
* Fixes regressed LSP and adds a test to sanity check.
([#12915](#12915))
([30f9087](30f9087))
* generate ivc benchmarks
([#12811](#12811))
([3ee32a9](3ee32a9))
* handle predicate value reduction in array get also for the databus
(noir-lang/noir#7730)
([66a62d0](66a62d0))
* hotfix git user config
([d58efbb](d58efbb))
* kind on sepolia + balance consolidation + sepolia values service
indices
([#12473](#12473))
([000d515](000d515))
* misleading test
([#12877](#12877))
([dc8ab31](dc8ab31))
* nightly versioning
([#12872](#12872))
([7586192](7586192))
* oracles handlers
([#12864](#12864))
([4bae397](4bae397))
* pass bot salt
([#12923](#12923))
([7aa0b87](7aa0b87))
* post-checkout hook installation to include `$@`
([#12781](#12781))
([323c958](323c958))
* redact sensitive fields in logs
([#12913](#12913))
([31feb0b](31feb0b))
* redo "fix: make vk metadata actual witnesses"
([#12535](#12535))
([392abc2](392abc2))
* **redo:** "fix: Switch to `noir-repo` context for cache content
hashing"
([#12825](#12825))
([5a98d20](5a98d20))
* Remove hack to register contract class directly on node
([#12795](#12795))
([eff2501](eff2501)),
closes
[#10007](#10007)
* Removed logged config object in L1 Tx Utils
([#12901](#12901))
([5d871f8](5d871f8))
* Restart proving job if epoch content changes
([#12655](#12655))
([613994f](613994f))
* retries starting txe
([3fcc601](3fcc601))
* revert "Switch to `noir-repo` context for cache content hashing"
([#12824](#12824))
([37ccc38](37ccc38))
* Run aztec-up tests as ubuntu not root.
([#12875](#12875))
([41cf5a4](41cf5a4))
* run nightly as bot
([#12833](#12833))
([3799330](3799330))
* Some basic re-org handling
([#12812](#12812))
([558e315](558e315))
* source_refname
([#12827](#12827))
([b4a0b71](b4a0b71))
* **ssa:** don't check Brillig calls for coverage if they don't return
anything (e.g. println) (noir-lang/noir#7644)
([e9526cf](e9526cf))
* Stop blockstream on world-state sync error
([#12854](#12854))
([810ee2d](810ee2d))
* Switch to `noir-repo` context for cache content hashing
([#12784](#12784))
([6214c8c](6214c8c))
* update join split test hash
([#12798](#12798))
([2fd47f6](2fd47f6))
* Use schnorr lib with reduced sig.e
([#12844](#12844))
([d03d61c](d03d61c))
* validators verify tx proofs
([#12939](#12939))
([c02132d](c02132d))
* wrong printing of line comment in quoted
(noir-lang/noir#7694)
([e9526cf](e9526cf))
* yolo annotated tag on nightlies. only run kind smoke test.
([8cdfb9a](8cdfb9a))
* yolo debug info
([6681c8f](6681c8f))
* yolo fix
([aec93df](aec93df))
* yolo mark flakey discv5 timeout test
([b45a994](b45a994))
* yolo trying to fix txe port
([ea553d2](ea553d2))
* yolo wait for docker to be up on aztec-up tests.
([8dcc1b5](8dcc1b5))


### Miscellaneous

* add `mapi`/`for_eachi` functions
(noir-lang/noir#7705)
([66a62d0](66a62d0))
* add `shared` module within `noirc_frontend`
(noir-lang/noir#7746)
([ce84b2d](ce84b2d))
* add acir_test for bb.js classes
([#12892](#12892))
([ffe1f4f](ffe1f4f))
* add cargo deny advisory (noir-lang/noir#7691)
([e9526cf](e9526cf))
* Add comment on verifyHistoricBlock
([#12933](#12933))
([cb978b5](cb978b5))
* add extra docs lint (noir-lang/noir#7742)
([66a62d0](66a62d0))
* Add GITHUB_TOKEN for downloading prost_prebuilt to acvm.js build
(noir-lang/noir#7745)
([ce84b2d](ce84b2d))
* add kind diagnostics during startup
([#12805](#12805))
([450f9bb](450f9bb))
* add lambda calculus test (noir-lang/noir#7646)
([e9526cf](e9526cf))
* add more test suites to CI
(noir-lang/noir#7757)
([ce84b2d](ce84b2d))
* add regression tests for PR
[#7570](#7570)
from lambda interpreter test
(noir-lang/noir#7638)
([e9526cf](e9526cf))
* add support for caching `node_modules` within a nested repository
([#12862](#12862))
([16232c8](16232c8))
* add tests for trait renaming in imports
(noir-lang/noir#7631)
([e9526cf](e9526cf))
* add timeouts to CI (noir-lang/noir#7725)
([e9526cf](e9526cf))
* add trailing slash to link on docs homepage
(noir-lang/noir#7682)
([e9526cf](e9526cf))
* add workflow to publish rustdoc to github pages
(noir-lang/noir#7687)
([e9526cf](e9526cf))
* address recurring typo in docs
(noir-lang/noir#7656)
([e9526cf](e9526cf))
* allow individual service data map size configuration
([#12853](#12853))
([b9e6a19](b9e6a19)),
closes
[#12831](#12831)
* **artifact_cli:** Print circuit output to stdout
(noir-lang/noir#7696)
([e9526cf](e9526cf))
* **avm:** Constrain pc_size_in_bits column and rename
([#12899](#12899))
([d69901f](d69901f))
* **avm:** make contract db returns optional
([#12867](#12867))
([cf2beb2](cf2beb2))
* **avm:** vm2 lazy bytecode loading
([#12847](#12847))
([233ca3e](233ca3e))
* **avm:** vm2 recursive execution
([#12842](#12842))
([04981e2](04981e2))
* avoid syncing recursive proofs between repositories
([#12769](#12769))
([7259b92](7259b92))
* begin splitting out note discovery
([#12819](#12819))
([75d545a](75d545a))
* begin the introduction of log type id and standard log layouts
([#12823](#12823))
([e86a258](e86a258))
* bump bb (noir-lang/noir#7726)
([66a62d0](66a62d0))
* bump external pinned commits
(noir-lang/noir#7667)
([e9526cf](e9526cf))
* bump external pinned commits
(noir-lang/noir#7728)
([e9526cf](e9526cf))
* bump JS dependencies (noir-lang/noir#7669)
([e9526cf](e9526cf))
* bump node to v22.18.3 (noir-lang/noir#7668)
([e9526cf](e9526cf))
* bump wasm-pack to 0.13.1 (noir-lang/noir#7675)
([e9526cf](e9526cf))
* check test program execution success output
(noir-lang/noir#7713)
([e9526cf](e9526cf))
* **ci:** enforce rustdoc lints
(noir-lang/noir#7738)
([66a62d0](66a62d0))
* **ci:** Exclude enum tests from Brillig reports
(noir-lang/noir#7661)
([e9526cf](e9526cf))
* **ci:** private-kernel-inner timeout bump
(noir-lang/noir#7732)
([66a62d0](66a62d0))
* Cleanup and re-specify sequencer config in RC1
([#12898](#12898))
([13aa4f5](13aa4f5))
* comment out kind tests
([#12793](#12793))
([39986e5](39986e5))
* delete honk programs from `test_programs`
(noir-lang/noir#7727)
([66a62d0](66a62d0))
* **docs:** Avoid colliding filenames
(noir-lang/noir#7771)
([ce84b2d](ce84b2d))
* **docs:** Brillig opcodes
(noir-lang/noir#7722)
([e9526cf](e9526cf))
* **docs:** Document BlackBoxFuncCall enum
(noir-lang/noir#7702)
([e9526cf](e9526cf))
* **docs:** Extend stable documentation versions to build to cover
multiple `beta.n` releases (noir-lang/noir#7685)
([e9526cf](e9526cf))
* **docs:** Landing page jargonless intro
(noir-lang/noir#7649)
([66a62d0](66a62d0))
* **docs:** Minor fixes on local documentation development workflows
(noir-lang/noir#7684)
([e9526cf](e9526cf))
* **docs:** More acir docs (noir-lang/noir#7731)
([66a62d0](66a62d0))
* **docs:** update bb commands to match the new version
(noir-lang/noir#7677)
([e9526cf](e9526cf))
* **docs:** update profiler usage docs
([#12782](#12782))
([3b2fccb](3b2fccb))
* don't switch out bb.js install in noir repo
([#12771](#12771))
([79c3c62](79c3c62))
* easier way to test monormophization errors
(noir-lang/noir#7679)
([e9526cf](e9526cf))
* enable wtr debug logging
([#12848](#12848))
([0fc5528](0fc5528))
* encapsulate `Index` within `LocalModuleId`
(noir-lang/noir#7719)
([e9526cf](e9526cf))
* Faster tx production on masternet
([#12878](#12878))
([17d0301](17d0301))
* fix archiver.test.ts
([#12907](#12907))
([fd7adb1](fd7adb1))
* fix gemini
([#12602](#12602))
([3eb9e9a](3eb9e9a))
* fix rustdoc issues (noir-lang/noir#7712)
([e9526cf](e9526cf))
* Fix rustdocs error (noir-lang/noir#7750)
([ce84b2d](ce84b2d))
* fixing timeouts (noir-lang/noir#7666)
([e9526cf](e9526cf))
* **frontend:** Regression test for creating a mutable reference to an
array element (noir-lang/noir#7699)
([e9526cf](e9526cf))
* hide Ident fields (noir-lang/noir#7709)
([e9526cf](e9526cf))
* Increase bracket_depth to 2048
([#12801](#12801))
([2e9a7a3](2e9a7a3))
* make `ResolverError::UnnecessaryPub` a hard error
(noir-lang/noir#7664)
([e9526cf](e9526cf))
* migrate to use new flat eslint config file
(noir-lang/noir#7676)
([e9526cf](e9526cf))
* minor `CommitmentsDB` cleanup
([#12817](#12817))
([ff8a199](ff8a199))
* more descriptive SSA tests
(noir-lang/noir#7697)
([e9526cf](e9526cf))
* more logging in kind setup
([#12852](#12852))
([9824336](9824336))
* note getter internals
([#12809](#12809))
([3a89a24](3a89a24))
* nuking MemoryArchiveStore
([#12826](#12826))
([c5405d8](c5405d8))
* once again skip the uniswap tests
([#12859](#12859))
([4f37dec](4f37dec))
* **p2p:** add tx queue to prevent ddos attacks
([#12603](#12603))
([a96a908](a96a908))
* pr linking job for merge queue
([#12546](#12546))
([a0cee9f](a0cee9f))
* pull most logic from `get_all_contracts` up out of the `CrateDefMap`
(noir-lang/noir#7715)
([e9526cf](e9526cf))
* pull out pure functions from interpreter
(noir-lang/noir#7755)
([ce84b2d](ce84b2d))
* push users towards nargo in tutorial
(noir-lang/noir#7736)
([ce84b2d](ce84b2d))
* re-enable nightly tests
([#12673](#12673))
([d2f8f18](d2f8f18)),
closes
[#12107](#12107)
* Refactor entrypoints
([#12868](#12868))
([5f48055](5f48055))
* **refactor:** Move resolved error structures out of acir crate
(noir-lang/noir#7734)
([66a62d0](66a62d0))
* remove `examples` from testing of noir
([#12768](#12768))
([cd6a3af](cd6a3af))
* remove `noir-lang/ec` dependency
([#12507](#12507))
([181d6e0](181d6e0))
* remove bun from docs in favour of yarn
(noir-lang/noir#7756)
([ce84b2d](ce84b2d))
* Remove magic number from AVM bytecode
([#12900](#12900))
([4d96fc0](4d96fc0))
* Remove seemingly unused compose files
([#12794](#12794))
([1a75797](1a75797))
* remove some unnecessary mod.nr files
([#12797](#12797))
([99fc705](99fc705))
* remove some unused HIR code
(noir-lang/noir#7643)
([e9526cf](e9526cf))
* remove ultraplonk tests (noir-lang/noir#7680)
([e9526cf](e9526cf))
* remove unconditional sleep
([#12814](#12814))
([e61c376](e61c376))
* remove whyle, use native while
([#12820](#12820))
([889bc48](889bc48))
* rename note discovery to message discovery
([#12755](#12755))
([ae4f935](ae4f935))
* replace relative paths to noir-protocol-circuits
([070ad0a](070ad0a))
* replace relative paths to noir-protocol-circuits
([f62614d](f62614d))
* replace relative paths to noir-protocol-circuits
([742162c](742162c))
* replace relative paths to noir-protocol-circuits
([801244c](801244c))
* replace relative paths to noir-protocol-circuits
([c39d88b](c39d88b))
* replace relative paths to noir-protocol-circuits
([2cb1a37](2cb1a37))
* replace relative paths to noir-protocol-circuits
([a42309b](a42309b))
* Resolve various rustdoc warnings
(noir-lang/noir#7724)
([e9526cf](e9526cf))
* run `noir_wasm` over `test_programs`
(noir-lang/noir#7765)
([ce84b2d](ce84b2d))
* separated multi map and fixed indexeddb map
([#12896](#12896))
([05af647](05af647))
* Set max txs per block
([#12837](#12837))
([74476ff](74476ff))
* simplify note getter oracle
([#12807](#12807))
([2fc01a3](2fc01a3))
* **ssa:** Do not print entire functions in underconstrained values
check trace (noir-lang/noir#7665)
([e9526cf](e9526cf))
* update docusaurus config to correct trailing slash issue
(noir-lang/noir#7720)
([e9526cf](e9526cf))
* update examples to use UltraHonk
(noir-lang/noir#7653)
([e9526cf](e9526cf))
* Update README.md to add trailing docs `/`
(noir-lang/noir#7689)
([e9526cf](e9526cf))
* Update references to GH issues to reflect recent changes
([#12722](#12722))
([100d31f](100d31f))
* update yarn version to 4.5.2
(noir-lang/noir#7678)
([e9526cf](e9526cf))
* use rollup.ts more consistenty
([#12863](#12863))
([bd9f3ce](bd9f3ce))
* vars for --network ignition-testnet
([#12886](#12886))
([6efc8ce](6efc8ce))


### Documentation

* Add sponsoredFPC
([#12485](#12485))
([87bb6da](87bb6da))
* additions
([#12551](#12551))
([c9ea1cd](c9ea1cd))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
DanielKotov pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Mar 27, 2025
Automated pull of nightly from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: add more test suites to CI
(noir-lang/noir#7757)
chore(docs): Avoid colliding filenames
(noir-lang/noir#7771)
feat(ssa): Basic control dependent LICM
(noir-lang/noir#7660)
chore: run `noir_wasm` over `test_programs`
(noir-lang/noir#7765)
fix(ci): Fail the CI job on a Brillig report failure
(noir-lang/noir#7762)
fix(ci): Exclude inliner specific reference count tests from Brillig
trace report (noir-lang/noir#7761)
chore: pull out pure functions from interpreter
(noir-lang/noir#7755)
fix: add missing inputs to `BlackBoxFuncCall::get_inputs_vec` for EcAdd
(noir-lang/noir#7752)
feat: add `EmbeddedCurvePoint::generator()` to return generator point
(noir-lang/noir#7754)
chore: remove bun from docs in favour of yarn
(noir-lang/noir#7756)
chore: Fix rustdocs error (noir-lang/noir#7750)
chore: add `shared` module within `noirc_frontend`
(noir-lang/noir#7746)
chore: push users towards nargo in tutorial
(noir-lang/noir#7736)
chore: Add GITHUB_TOKEN for downloading prost_prebuilt to acvm.js build
(noir-lang/noir#7745)
END_COMMIT_OVERRIDE

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
DanielKotov pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Mar 27, 2025
🤖 I have created a new Aztec Packages release
---


##
[0.82.0](v0.81.0...v0.82.0)
(2025-03-21)


### ⚠ BREAKING CHANGES

* `AztecNode.findLeavesIndexes` returning block info
([#12890](#12890))
* make `ResolverError::UnnecessaryPub` a hard error
(noir-lang/noir#7664)

### Features

* `AztecNode.findLeavesIndexes` returning block info
([#12890](#12890))
([9770e15](9770e15))
* add `EmbeddedCurvePoint::generator()` to return generator point
(noir-lang/noir#7754)
([ce84b2d](ce84b2d))
* add AMM support to transaction bot
([#12897](#12897))
([b2c35cc](b2c35cc))
* add minter role to TestERC20
([#12889](#12889))
([716ab4f](716ab4f)),
closes
[#12887](#12887)
[#12882](#12882)
* allow `fn` returning `()` without having to write `-&gt; ()`
(noir-lang/noir#7717)
([e9526cf](e9526cf))
* avm merkle gadget in vm2
([#12726](#12726))
([898d50e](898d50e))
* **avm:** instruction fetching parsing error
([#12804](#12804))
([09a09d5](09a09d5))
* **bb:** Introduce chunks for univariate computation for the AVM
([#12707](#12707))
([c912bd6](c912bd6))
* can associate error regex with entry in flake file
([#12785](#12785))
([da48e38](da48e38))
* capture app stacks for bb usage
([#12383](#12383))
([293eb9d](293eb9d))
* **docs:** Docs on shared mutable, contract classes, and injecting data
([#12043](#12043))
([94beffe](94beffe))
* Fallback to blobscan API on blob miss
([#12857](#12857))
([f2f0d72](f2f0d72)),
closes
[#12856](#12856)
* Fast node_modules caching in CI.
([#12371](#12371))
([09f50d7](09f50d7))
* generate subrelation-label comment in generated relation hpp
([#12914](#12914))
([fa2bf95](fa2bf95))
* lets try grinding
([4342491](4342491))
* Montgomery optimisation (partial)
([#12822](#12822))
([c524339](c524339))
* **noir sync:** Calculate noir hash based on just `noir-repo-ref` and
`noir-repo.patch`
([#12861](#12861))
([fa5991f](fa5991f))
* observe L1 and init proposal counter
([#12681](#12681))
([1e3d71e](1e3d71e))
* precomputed ClientIVC VKs
([#12126](#12126))
([65bd276](65bd276))
* reapplying reverted circuits recorder with a fix
([#12919](#12919))
([bf9a034](bf9a034))
* recording circuit inputs + oracles
([#12148](#12148))
([5436627](5436627))
* rotate over instances on request fail
([#12270](#12270))
([7ee2e24](7ee2e24))
* Separate Aztec Node Admin API
([#12790](#12790))
([ccac9ff](ccac9ff)),
closes
[#12789](#12789)
* slim wallet
([#12803](#12803))
([3f9f30a](3f9f30a))
* **sol:** setup epoch - sampling without replacement
([#12753](#12753))
([096f739](096f739))
* **ssa:** Basic control dependent LICM
(noir-lang/noir#7660)
([ce84b2d](ce84b2d))
* **ssa:** Dominance frontiers
(noir-lang/noir#7692)
([e9526cf](e9526cf))
* **ssa:** Post dominator tree
(noir-lang/noir#7595)
([e9526cf](e9526cf))


### Bug Fixes

* add missing inputs to `BlackBoxFuncCall::get_inputs_vec` for EcAdd
(noir-lang/noir#7752)
([ce84b2d](ce84b2d))
* add random deployment salt to sandbox
([#12869](#12869))
([49acd71](49acd71))
* agent reporting jobs completion correctly
([#12835](#12835))
([18d68f0](18d68f0))
* allow method call after block, if and match
(noir-lang/noir#7655)
([e9526cf](e9526cf))
* allow omitting ';' after last block statement if it's an assignment
(noir-lang/noir#7718)
([e9526cf](e9526cf))
* allow referring to comptime locals at runtime
(noir-lang/noir#7681)
([e9526cf](e9526cf))
* allow renaming a trait when importing it
(noir-lang/noir#7688)
([e9526cf](e9526cf))
* avm merkle cpp broke darwin
([#12917](#12917))
([75c9098](75c9098))
* **bb.js:** remove size metadata from UH proof
([#12775](#12775))
([5b064bc](5b064bc))
* bench upload logic
([#12800](#12800))
([52575d8](52575d8))
* bring back matrix on grind. try several things to resolve txe port in
use.
([79af7a3](79af7a3))
* CI Tweaks
([#12908](#12908))
([326767c](326767c))
* ci.sh gh-bench logic
([#12776](#12776))
([8080f47](8080f47))
* **ci:** Exclude inliner specific reference count tests from Brillig
trace report (noir-lang/noir#7761)
([ce84b2d](ce84b2d))
* **ci:** Fail the CI job on a Brillig report failure
(noir-lang/noir#7762)
([ce84b2d](ce84b2d))
* clientivc capture benchmarks include authwits
([#12873](#12873))
([5df2aea](5df2aea))
* config ordering
([#12893](#12893))
([44af76e](44af76e))
* consensus URL as CLI config
([#12796](#12796))
([66e8028](66e8028))
* correctly format let followed by comment before unsafe
(noir-lang/noir#7659)
([e9526cf](e9526cf))
* cpp ivc bench
([#12815](#12815))
([95a0ec1](95a0ec1))
* disable gpg signing for noir bootstrap
([#12840](#12840))
([2a76c8c](2a76c8c))
* Disallow registration of contract classes with no public bytecode
([#12910](#12910))
([41bf13e](41bf13e))
* doc comments on functions warn unexpectedly
(noir-lang/noir#7721)
([e9526cf](e9526cf))
* don't gpg sign the noir patch
([#12912](#12912))
([43191e0](43191e0))
* Don't log config
([#12876](#12876))
([545b4e0](545b4e0))
* Experiment with `DecrementRc`
(noir-lang/noir#7629)
([66a62d0](66a62d0))
* Fix prover node publisher for multi-proofs
([#12924](#12924))
([42733a6](42733a6))
* Fix stdout testing when running test programs
(noir-lang/noir#7741)
([66a62d0](66a62d0))
* Fixes regressed LSP and adds a test to sanity check.
([#12915](#12915))
([30f9087](30f9087))
* generate ivc benchmarks
([#12811](#12811))
([3ee32a9](3ee32a9))
* handle predicate value reduction in array get also for the databus
(noir-lang/noir#7730)
([66a62d0](66a62d0))
* hotfix git user config
([d58efbb](d58efbb))
* kind on sepolia + balance consolidation + sepolia values service
indices
([#12473](#12473))
([000d515](000d515))
* misleading test
([#12877](#12877))
([dc8ab31](dc8ab31))
* nightly versioning
([#12872](#12872))
([7586192](7586192))
* oracles handlers
([#12864](#12864))
([4bae397](4bae397))
* pass bot salt
([#12923](#12923))
([7aa0b87](7aa0b87))
* post-checkout hook installation to include `$@`
([#12781](#12781))
([323c958](323c958))
* redact sensitive fields in logs
([#12913](#12913))
([31feb0b](31feb0b))
* redo "fix: make vk metadata actual witnesses"
([#12535](#12535))
([392abc2](392abc2))
* **redo:** "fix: Switch to `noir-repo` context for cache content
hashing"
([#12825](#12825))
([5a98d20](5a98d20))
* Remove hack to register contract class directly on node
([#12795](#12795))
([eff2501](eff2501)),
closes
[#10007](#10007)
* Removed logged config object in L1 Tx Utils
([#12901](#12901))
([5d871f8](5d871f8))
* Restart proving job if epoch content changes
([#12655](#12655))
([613994f](613994f))
* retries starting txe
([3fcc601](3fcc601))
* revert "Switch to `noir-repo` context for cache content hashing"
([#12824](#12824))
([37ccc38](37ccc38))
* Run aztec-up tests as ubuntu not root.
([#12875](#12875))
([41cf5a4](41cf5a4))
* run nightly as bot
([#12833](#12833))
([3799330](3799330))
* Some basic re-org handling
([#12812](#12812))
([558e315](558e315))
* source_refname
([#12827](#12827))
([b4a0b71](b4a0b71))
* **ssa:** don't check Brillig calls for coverage if they don't return
anything (e.g. println) (noir-lang/noir#7644)
([e9526cf](e9526cf))
* Stop blockstream on world-state sync error
([#12854](#12854))
([810ee2d](810ee2d))
* Switch to `noir-repo` context for cache content hashing
([#12784](#12784))
([6214c8c](6214c8c))
* update join split test hash
([#12798](#12798))
([2fd47f6](2fd47f6))
* Use schnorr lib with reduced sig.e
([#12844](#12844))
([d03d61c](d03d61c))
* validators verify tx proofs
([#12939](#12939))
([c02132d](c02132d))
* wrong printing of line comment in quoted
(noir-lang/noir#7694)
([e9526cf](e9526cf))
* yolo annotated tag on nightlies. only run kind smoke test.
([8cdfb9a](8cdfb9a))
* yolo debug info
([6681c8f](6681c8f))
* yolo fix
([aec93df](aec93df))
* yolo mark flakey discv5 timeout test
([b45a994](b45a994))
* yolo trying to fix txe port
([ea553d2](ea553d2))
* yolo wait for docker to be up on aztec-up tests.
([8dcc1b5](8dcc1b5))


### Miscellaneous

* add `mapi`/`for_eachi` functions
(noir-lang/noir#7705)
([66a62d0](66a62d0))
* add `shared` module within `noirc_frontend`
(noir-lang/noir#7746)
([ce84b2d](ce84b2d))
* add acir_test for bb.js classes
([#12892](#12892))
([ffe1f4f](ffe1f4f))
* add cargo deny advisory (noir-lang/noir#7691)
([e9526cf](e9526cf))
* Add comment on verifyHistoricBlock
([#12933](#12933))
([cb978b5](cb978b5))
* add extra docs lint (noir-lang/noir#7742)
([66a62d0](66a62d0))
* Add GITHUB_TOKEN for downloading prost_prebuilt to acvm.js build
(noir-lang/noir#7745)
([ce84b2d](ce84b2d))
* add kind diagnostics during startup
([#12805](#12805))
([450f9bb](450f9bb))
* add lambda calculus test (noir-lang/noir#7646)
([e9526cf](e9526cf))
* add more test suites to CI
(noir-lang/noir#7757)
([ce84b2d](ce84b2d))
* add regression tests for PR
[#7570](#7570)
from lambda interpreter test
(noir-lang/noir#7638)
([e9526cf](e9526cf))
* add support for caching `node_modules` within a nested repository
([#12862](#12862))
([16232c8](16232c8))
* add tests for trait renaming in imports
(noir-lang/noir#7631)
([e9526cf](e9526cf))
* add timeouts to CI (noir-lang/noir#7725)
([e9526cf](e9526cf))
* add trailing slash to link on docs homepage
(noir-lang/noir#7682)
([e9526cf](e9526cf))
* add workflow to publish rustdoc to github pages
(noir-lang/noir#7687)
([e9526cf](e9526cf))
* address recurring typo in docs
(noir-lang/noir#7656)
([e9526cf](e9526cf))
* allow individual service data map size configuration
([#12853](#12853))
([b9e6a19](b9e6a19)),
closes
[#12831](#12831)
* **artifact_cli:** Print circuit output to stdout
(noir-lang/noir#7696)
([e9526cf](e9526cf))
* **avm:** Constrain pc_size_in_bits column and rename
([#12899](#12899))
([d69901f](d69901f))
* **avm:** make contract db returns optional
([#12867](#12867))
([cf2beb2](cf2beb2))
* **avm:** vm2 lazy bytecode loading
([#12847](#12847))
([233ca3e](233ca3e))
* **avm:** vm2 recursive execution
([#12842](#12842))
([04981e2](04981e2))
* avoid syncing recursive proofs between repositories
([#12769](#12769))
([7259b92](7259b92))
* begin splitting out note discovery
([#12819](#12819))
([75d545a](75d545a))
* begin the introduction of log type id and standard log layouts
([#12823](#12823))
([e86a258](e86a258))
* bump bb (noir-lang/noir#7726)
([66a62d0](66a62d0))
* bump external pinned commits
(noir-lang/noir#7667)
([e9526cf](e9526cf))
* bump external pinned commits
(noir-lang/noir#7728)
([e9526cf](e9526cf))
* bump JS dependencies (noir-lang/noir#7669)
([e9526cf](e9526cf))
* bump node to v22.18.3 (noir-lang/noir#7668)
([e9526cf](e9526cf))
* bump wasm-pack to 0.13.1 (noir-lang/noir#7675)
([e9526cf](e9526cf))
* check test program execution success output
(noir-lang/noir#7713)
([e9526cf](e9526cf))
* **ci:** enforce rustdoc lints
(noir-lang/noir#7738)
([66a62d0](66a62d0))
* **ci:** Exclude enum tests from Brillig reports
(noir-lang/noir#7661)
([e9526cf](e9526cf))
* **ci:** private-kernel-inner timeout bump
(noir-lang/noir#7732)
([66a62d0](66a62d0))
* Cleanup and re-specify sequencer config in RC1
([#12898](#12898))
([13aa4f5](13aa4f5))
* comment out kind tests
([#12793](#12793))
([39986e5](39986e5))
* delete honk programs from `test_programs`
(noir-lang/noir#7727)
([66a62d0](66a62d0))
* **docs:** Avoid colliding filenames
(noir-lang/noir#7771)
([ce84b2d](ce84b2d))
* **docs:** Brillig opcodes
(noir-lang/noir#7722)
([e9526cf](e9526cf))
* **docs:** Document BlackBoxFuncCall enum
(noir-lang/noir#7702)
([e9526cf](e9526cf))
* **docs:** Extend stable documentation versions to build to cover
multiple `beta.n` releases (noir-lang/noir#7685)
([e9526cf](e9526cf))
* **docs:** Landing page jargonless intro
(noir-lang/noir#7649)
([66a62d0](66a62d0))
* **docs:** Minor fixes on local documentation development workflows
(noir-lang/noir#7684)
([e9526cf](e9526cf))
* **docs:** More acir docs (noir-lang/noir#7731)
([66a62d0](66a62d0))
* **docs:** update bb commands to match the new version
(noir-lang/noir#7677)
([e9526cf](e9526cf))
* **docs:** update profiler usage docs
([#12782](#12782))
([3b2fccb](3b2fccb))
* don't switch out bb.js install in noir repo
([#12771](#12771))
([79c3c62](79c3c62))
* easier way to test monormophization errors
(noir-lang/noir#7679)
([e9526cf](e9526cf))
* enable wtr debug logging
([#12848](#12848))
([0fc5528](0fc5528))
* encapsulate `Index` within `LocalModuleId`
(noir-lang/noir#7719)
([e9526cf](e9526cf))
* Faster tx production on masternet
([#12878](#12878))
([17d0301](17d0301))
* fix archiver.test.ts
([#12907](#12907))
([fd7adb1](fd7adb1))
* fix gemini
([#12602](#12602))
([3eb9e9a](3eb9e9a))
* fix rustdoc issues (noir-lang/noir#7712)
([e9526cf](e9526cf))
* Fix rustdocs error (noir-lang/noir#7750)
([ce84b2d](ce84b2d))
* fixing timeouts (noir-lang/noir#7666)
([e9526cf](e9526cf))
* **frontend:** Regression test for creating a mutable reference to an
array element (noir-lang/noir#7699)
([e9526cf](e9526cf))
* hide Ident fields (noir-lang/noir#7709)
([e9526cf](e9526cf))
* Increase bracket_depth to 2048
([#12801](#12801))
([2e9a7a3](2e9a7a3))
* make `ResolverError::UnnecessaryPub` a hard error
(noir-lang/noir#7664)
([e9526cf](e9526cf))
* migrate to use new flat eslint config file
(noir-lang/noir#7676)
([e9526cf](e9526cf))
* minor `CommitmentsDB` cleanup
([#12817](#12817))
([ff8a199](ff8a199))
* more descriptive SSA tests
(noir-lang/noir#7697)
([e9526cf](e9526cf))
* more logging in kind setup
([#12852](#12852))
([9824336](9824336))
* note getter internals
([#12809](#12809))
([3a89a24](3a89a24))
* nuking MemoryArchiveStore
([#12826](#12826))
([c5405d8](c5405d8))
* once again skip the uniswap tests
([#12859](#12859))
([4f37dec](4f37dec))
* **p2p:** add tx queue to prevent ddos attacks
([#12603](#12603))
([a96a908](a96a908))
* pr linking job for merge queue
([#12546](#12546))
([a0cee9f](a0cee9f))
* pull most logic from `get_all_contracts` up out of the `CrateDefMap`
(noir-lang/noir#7715)
([e9526cf](e9526cf))
* pull out pure functions from interpreter
(noir-lang/noir#7755)
([ce84b2d](ce84b2d))
* push users towards nargo in tutorial
(noir-lang/noir#7736)
([ce84b2d](ce84b2d))
* re-enable nightly tests
([#12673](#12673))
([d2f8f18](d2f8f18)),
closes
[#12107](#12107)
* Refactor entrypoints
([#12868](#12868))
([5f48055](5f48055))
* **refactor:** Move resolved error structures out of acir crate
(noir-lang/noir#7734)
([66a62d0](66a62d0))
* remove `examples` from testing of noir
([#12768](#12768))
([cd6a3af](cd6a3af))
* remove `noir-lang/ec` dependency
([#12507](#12507))
([181d6e0](181d6e0))
* remove bun from docs in favour of yarn
(noir-lang/noir#7756)
([ce84b2d](ce84b2d))
* Remove magic number from AVM bytecode
([#12900](#12900))
([4d96fc0](4d96fc0))
* Remove seemingly unused compose files
([#12794](#12794))
([1a75797](1a75797))
* remove some unnecessary mod.nr files
([#12797](#12797))
([99fc705](99fc705))
* remove some unused HIR code
(noir-lang/noir#7643)
([e9526cf](e9526cf))
* remove ultraplonk tests (noir-lang/noir#7680)
([e9526cf](e9526cf))
* remove unconditional sleep
([#12814](#12814))
([e61c376](e61c376))
* remove whyle, use native while
([#12820](#12820))
([889bc48](889bc48))
* rename note discovery to message discovery
([#12755](#12755))
([ae4f935](ae4f935))
* replace relative paths to noir-protocol-circuits
([070ad0a](070ad0a))
* replace relative paths to noir-protocol-circuits
([f62614d](f62614d))
* replace relative paths to noir-protocol-circuits
([742162c](742162c))
* replace relative paths to noir-protocol-circuits
([801244c](801244c))
* replace relative paths to noir-protocol-circuits
([c39d88b](c39d88b))
* replace relative paths to noir-protocol-circuits
([2cb1a37](2cb1a37))
* replace relative paths to noir-protocol-circuits
([a42309b](a42309b))
* Resolve various rustdoc warnings
(noir-lang/noir#7724)
([e9526cf](e9526cf))
* run `noir_wasm` over `test_programs`
(noir-lang/noir#7765)
([ce84b2d](ce84b2d))
* separated multi map and fixed indexeddb map
([#12896](#12896))
([05af647](05af647))
* Set max txs per block
([#12837](#12837))
([74476ff](74476ff))
* simplify note getter oracle
([#12807](#12807))
([2fc01a3](2fc01a3))
* **ssa:** Do not print entire functions in underconstrained values
check trace (noir-lang/noir#7665)
([e9526cf](e9526cf))
* update docusaurus config to correct trailing slash issue
(noir-lang/noir#7720)
([e9526cf](e9526cf))
* update examples to use UltraHonk
(noir-lang/noir#7653)
([e9526cf](e9526cf))
* Update README.md to add trailing docs `/`
(noir-lang/noir#7689)
([e9526cf](e9526cf))
* Update references to GH issues to reflect recent changes
([#12722](#12722))
([100d31f](100d31f))
* update yarn version to 4.5.2
(noir-lang/noir#7678)
([e9526cf](e9526cf))
* use rollup.ts more consistenty
([#12863](#12863))
([bd9f3ce](bd9f3ce))
* vars for --network ignition-testnet
([#12886](#12886))
([6efc8ce](6efc8ce))


### Documentation

* Add sponsoredFPC
([#12485](#12485))
([87bb6da](87bb6da))
* additions
([#12551](#12551))
([c9ea1cd](c9ea1cd))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
DanielKotov pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Mar 27, 2025
Automated pull of nightly from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
chore: add more test suites to CI
(noir-lang/noir#7757)
chore(docs): Avoid colliding filenames
(noir-lang/noir#7771)
feat(ssa): Basic control dependent LICM
(noir-lang/noir#7660)
chore: run `noir_wasm` over `test_programs`
(noir-lang/noir#7765)
fix(ci): Fail the CI job on a Brillig report failure
(noir-lang/noir#7762)
fix(ci): Exclude inliner specific reference count tests from Brillig
trace report (noir-lang/noir#7761)
chore: pull out pure functions from interpreter
(noir-lang/noir#7755)
fix: add missing inputs to `BlackBoxFuncCall::get_inputs_vec` for EcAdd
(noir-lang/noir#7752)
feat: add `EmbeddedCurvePoint::generator()` to return generator point
(noir-lang/noir#7754)
chore: remove bun from docs in favour of yarn
(noir-lang/noir#7756)
chore: Fix rustdocs error (noir-lang/noir#7750)
chore: add `shared` module within `noirc_frontend`
(noir-lang/noir#7746)
chore: push users towards nargo in tutorial
(noir-lang/noir#7736)
chore: Add GITHUB_TOKEN for downloading prost_prebuilt to acvm.js build
(noir-lang/noir#7745)
END_COMMIT_OVERRIDE

---------

Co-authored-by: AztecBot <tech@aztecprotocol.com>
DanielKotov pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Mar 27, 2025
🤖 I have created a new Aztec Packages release
---


##
[0.82.0](v0.81.0...v0.82.0)
(2025-03-21)


### ⚠ BREAKING CHANGES

* `AztecNode.findLeavesIndexes` returning block info
([#12890](#12890))
* make `ResolverError::UnnecessaryPub` a hard error
(noir-lang/noir#7664)

### Features

* `AztecNode.findLeavesIndexes` returning block info
([#12890](#12890))
([9770e15](9770e15))
* add `EmbeddedCurvePoint::generator()` to return generator point
(noir-lang/noir#7754)
([ce84b2d](ce84b2d))
* add AMM support to transaction bot
([#12897](#12897))
([b2c35cc](b2c35cc))
* add minter role to TestERC20
([#12889](#12889))
([716ab4f](716ab4f)),
closes
[#12887](#12887)
[#12882](#12882)
* allow `fn` returning `()` without having to write `-&gt; ()`
(noir-lang/noir#7717)
([e9526cf](e9526cf))
* avm merkle gadget in vm2
([#12726](#12726))
([898d50e](898d50e))
* **avm:** instruction fetching parsing error
([#12804](#12804))
([09a09d5](09a09d5))
* **bb:** Introduce chunks for univariate computation for the AVM
([#12707](#12707))
([c912bd6](c912bd6))
* can associate error regex with entry in flake file
([#12785](#12785))
([da48e38](da48e38))
* capture app stacks for bb usage
([#12383](#12383))
([293eb9d](293eb9d))
* **docs:** Docs on shared mutable, contract classes, and injecting data
([#12043](#12043))
([94beffe](94beffe))
* Fallback to blobscan API on blob miss
([#12857](#12857))
([f2f0d72](f2f0d72)),
closes
[#12856](#12856)
* Fast node_modules caching in CI.
([#12371](#12371))
([09f50d7](09f50d7))
* generate subrelation-label comment in generated relation hpp
([#12914](#12914))
([fa2bf95](fa2bf95))
* lets try grinding
([4342491](4342491))
* Montgomery optimisation (partial)
([#12822](#12822))
([c524339](c524339))
* **noir sync:** Calculate noir hash based on just `noir-repo-ref` and
`noir-repo.patch`
([#12861](#12861))
([fa5991f](fa5991f))
* observe L1 and init proposal counter
([#12681](#12681))
([1e3d71e](1e3d71e))
* precomputed ClientIVC VKs
([#12126](#12126))
([65bd276](65bd276))
* reapplying reverted circuits recorder with a fix
([#12919](#12919))
([bf9a034](bf9a034))
* recording circuit inputs + oracles
([#12148](#12148))
([5436627](5436627))
* rotate over instances on request fail
([#12270](#12270))
([7ee2e24](7ee2e24))
* Separate Aztec Node Admin API
([#12790](#12790))
([ccac9ff](ccac9ff)),
closes
[#12789](#12789)
* slim wallet
([#12803](#12803))
([3f9f30a](3f9f30a))
* **sol:** setup epoch - sampling without replacement
([#12753](#12753))
([096f739](096f739))
* **ssa:** Basic control dependent LICM
(noir-lang/noir#7660)
([ce84b2d](ce84b2d))
* **ssa:** Dominance frontiers
(noir-lang/noir#7692)
([e9526cf](e9526cf))
* **ssa:** Post dominator tree
(noir-lang/noir#7595)
([e9526cf](e9526cf))


### Bug Fixes

* add missing inputs to `BlackBoxFuncCall::get_inputs_vec` for EcAdd
(noir-lang/noir#7752)
([ce84b2d](ce84b2d))
* add random deployment salt to sandbox
([#12869](#12869))
([49acd71](49acd71))
* agent reporting jobs completion correctly
([#12835](#12835))
([18d68f0](18d68f0))
* allow method call after block, if and match
(noir-lang/noir#7655)
([e9526cf](e9526cf))
* allow omitting ';' after last block statement if it's an assignment
(noir-lang/noir#7718)
([e9526cf](e9526cf))
* allow referring to comptime locals at runtime
(noir-lang/noir#7681)
([e9526cf](e9526cf))
* allow renaming a trait when importing it
(noir-lang/noir#7688)
([e9526cf](e9526cf))
* avm merkle cpp broke darwin
([#12917](#12917))
([75c9098](75c9098))
* **bb.js:** remove size metadata from UH proof
([#12775](#12775))
([5b064bc](5b064bc))
* bench upload logic
([#12800](#12800))
([52575d8](52575d8))
* bring back matrix on grind. try several things to resolve txe port in
use.
([79af7a3](79af7a3))
* CI Tweaks
([#12908](#12908))
([326767c](326767c))
* ci.sh gh-bench logic
([#12776](#12776))
([8080f47](8080f47))
* **ci:** Exclude inliner specific reference count tests from Brillig
trace report (noir-lang/noir#7761)
([ce84b2d](ce84b2d))
* **ci:** Fail the CI job on a Brillig report failure
(noir-lang/noir#7762)
([ce84b2d](ce84b2d))
* clientivc capture benchmarks include authwits
([#12873](#12873))
([5df2aea](5df2aea))
* config ordering
([#12893](#12893))
([44af76e](44af76e))
* consensus URL as CLI config
([#12796](#12796))
([66e8028](66e8028))
* correctly format let followed by comment before unsafe
(noir-lang/noir#7659)
([e9526cf](e9526cf))
* cpp ivc bench
([#12815](#12815))
([95a0ec1](95a0ec1))
* disable gpg signing for noir bootstrap
([#12840](#12840))
([2a76c8c](2a76c8c))
* Disallow registration of contract classes with no public bytecode
([#12910](#12910))
([41bf13e](41bf13e))
* doc comments on functions warn unexpectedly
(noir-lang/noir#7721)
([e9526cf](e9526cf))
* don't gpg sign the noir patch
([#12912](#12912))
([43191e0](43191e0))
* Don't log config
([#12876](#12876))
([545b4e0](545b4e0))
* Experiment with `DecrementRc`
(noir-lang/noir#7629)
([66a62d0](66a62d0))
* Fix prover node publisher for multi-proofs
([#12924](#12924))
([42733a6](42733a6))
* Fix stdout testing when running test programs
(noir-lang/noir#7741)
([66a62d0](66a62d0))
* Fixes regressed LSP and adds a test to sanity check.
([#12915](#12915))
([30f9087](30f9087))
* generate ivc benchmarks
([#12811](#12811))
([3ee32a9](3ee32a9))
* handle predicate value reduction in array get also for the databus
(noir-lang/noir#7730)
([66a62d0](66a62d0))
* hotfix git user config
([d58efbb](d58efbb))
* kind on sepolia + balance consolidation + sepolia values service
indices
([#12473](#12473))
([000d515](000d515))
* misleading test
([#12877](#12877))
([dc8ab31](dc8ab31))
* nightly versioning
([#12872](#12872))
([7586192](7586192))
* oracles handlers
([#12864](#12864))
([4bae397](4bae397))
* pass bot salt
([#12923](#12923))
([7aa0b87](7aa0b87))
* post-checkout hook installation to include `$@`
([#12781](#12781))
([323c958](323c958))
* redact sensitive fields in logs
([#12913](#12913))
([31feb0b](31feb0b))
* redo "fix: make vk metadata actual witnesses"
([#12535](#12535))
([392abc2](392abc2))
* **redo:** "fix: Switch to `noir-repo` context for cache content
hashing"
([#12825](#12825))
([5a98d20](5a98d20))
* Remove hack to register contract class directly on node
([#12795](#12795))
([eff2501](eff2501)),
closes
[#10007](#10007)
* Removed logged config object in L1 Tx Utils
([#12901](#12901))
([5d871f8](5d871f8))
* Restart proving job if epoch content changes
([#12655](#12655))
([613994f](613994f))
* retries starting txe
([3fcc601](3fcc601))
* revert "Switch to `noir-repo` context for cache content hashing"
([#12824](#12824))
([37ccc38](37ccc38))
* Run aztec-up tests as ubuntu not root.
([#12875](#12875))
([41cf5a4](41cf5a4))
* run nightly as bot
([#12833](#12833))
([3799330](3799330))
* Some basic re-org handling
([#12812](#12812))
([558e315](558e315))
* source_refname
([#12827](#12827))
([b4a0b71](b4a0b71))
* **ssa:** don't check Brillig calls for coverage if they don't return
anything (e.g. println) (noir-lang/noir#7644)
([e9526cf](e9526cf))
* Stop blockstream on world-state sync error
([#12854](#12854))
([810ee2d](810ee2d))
* Switch to `noir-repo` context for cache content hashing
([#12784](#12784))
([6214c8c](6214c8c))
* update join split test hash
([#12798](#12798))
([2fd47f6](2fd47f6))
* Use schnorr lib with reduced sig.e
([#12844](#12844))
([d03d61c](d03d61c))
* validators verify tx proofs
([#12939](#12939))
([c02132d](c02132d))
* wrong printing of line comment in quoted
(noir-lang/noir#7694)
([e9526cf](e9526cf))
* yolo annotated tag on nightlies. only run kind smoke test.
([8cdfb9a](8cdfb9a))
* yolo debug info
([6681c8f](6681c8f))
* yolo fix
([aec93df](aec93df))
* yolo mark flakey discv5 timeout test
([b45a994](b45a994))
* yolo trying to fix txe port
([ea553d2](ea553d2))
* yolo wait for docker to be up on aztec-up tests.
([8dcc1b5](8dcc1b5))


### Miscellaneous

* add `mapi`/`for_eachi` functions
(noir-lang/noir#7705)
([66a62d0](66a62d0))
* add `shared` module within `noirc_frontend`
(noir-lang/noir#7746)
([ce84b2d](ce84b2d))
* add acir_test for bb.js classes
([#12892](#12892))
([ffe1f4f](ffe1f4f))
* add cargo deny advisory (noir-lang/noir#7691)
([e9526cf](e9526cf))
* Add comment on verifyHistoricBlock
([#12933](#12933))
([cb978b5](cb978b5))
* add extra docs lint (noir-lang/noir#7742)
([66a62d0](66a62d0))
* Add GITHUB_TOKEN for downloading prost_prebuilt to acvm.js build
(noir-lang/noir#7745)
([ce84b2d](ce84b2d))
* add kind diagnostics during startup
([#12805](#12805))
([450f9bb](450f9bb))
* add lambda calculus test (noir-lang/noir#7646)
([e9526cf](e9526cf))
* add more test suites to CI
(noir-lang/noir#7757)
([ce84b2d](ce84b2d))
* add regression tests for PR
[#7570](#7570)
from lambda interpreter test
(noir-lang/noir#7638)
([e9526cf](e9526cf))
* add support for caching `node_modules` within a nested repository
([#12862](#12862))
([16232c8](16232c8))
* add tests for trait renaming in imports
(noir-lang/noir#7631)
([e9526cf](e9526cf))
* add timeouts to CI (noir-lang/noir#7725)
([e9526cf](e9526cf))
* add trailing slash to link on docs homepage
(noir-lang/noir#7682)
([e9526cf](e9526cf))
* add workflow to publish rustdoc to github pages
(noir-lang/noir#7687)
([e9526cf](e9526cf))
* address recurring typo in docs
(noir-lang/noir#7656)
([e9526cf](e9526cf))
* allow individual service data map size configuration
([#12853](#12853))
([b9e6a19](b9e6a19)),
closes
[#12831](#12831)
* **artifact_cli:** Print circuit output to stdout
(noir-lang/noir#7696)
([e9526cf](e9526cf))
* **avm:** Constrain pc_size_in_bits column and rename
([#12899](#12899))
([d69901f](d69901f))
* **avm:** make contract db returns optional
([#12867](#12867))
([cf2beb2](cf2beb2))
* **avm:** vm2 lazy bytecode loading
([#12847](#12847))
([233ca3e](233ca3e))
* **avm:** vm2 recursive execution
([#12842](#12842))
([04981e2](04981e2))
* avoid syncing recursive proofs between repositories
([#12769](#12769))
([7259b92](7259b92))
* begin splitting out note discovery
([#12819](#12819))
([75d545a](75d545a))
* begin the introduction of log type id and standard log layouts
([#12823](#12823))
([e86a258](e86a258))
* bump bb (noir-lang/noir#7726)
([66a62d0](66a62d0))
* bump external pinned commits
(noir-lang/noir#7667)
([e9526cf](e9526cf))
* bump external pinned commits
(noir-lang/noir#7728)
([e9526cf](e9526cf))
* bump JS dependencies (noir-lang/noir#7669)
([e9526cf](e9526cf))
* bump node to v22.18.3 (noir-lang/noir#7668)
([e9526cf](e9526cf))
* bump wasm-pack to 0.13.1 (noir-lang/noir#7675)
([e9526cf](e9526cf))
* check test program execution success output
(noir-lang/noir#7713)
([e9526cf](e9526cf))
* **ci:** enforce rustdoc lints
(noir-lang/noir#7738)
([66a62d0](66a62d0))
* **ci:** Exclude enum tests from Brillig reports
(noir-lang/noir#7661)
([e9526cf](e9526cf))
* **ci:** private-kernel-inner timeout bump
(noir-lang/noir#7732)
([66a62d0](66a62d0))
* Cleanup and re-specify sequencer config in RC1
([#12898](#12898))
([13aa4f5](13aa4f5))
* comment out kind tests
([#12793](#12793))
([39986e5](39986e5))
* delete honk programs from `test_programs`
(noir-lang/noir#7727)
([66a62d0](66a62d0))
* **docs:** Avoid colliding filenames
(noir-lang/noir#7771)
([ce84b2d](ce84b2d))
* **docs:** Brillig opcodes
(noir-lang/noir#7722)
([e9526cf](e9526cf))
* **docs:** Document BlackBoxFuncCall enum
(noir-lang/noir#7702)
([e9526cf](e9526cf))
* **docs:** Extend stable documentation versions to build to cover
multiple `beta.n` releases (noir-lang/noir#7685)
([e9526cf](e9526cf))
* **docs:** Landing page jargonless intro
(noir-lang/noir#7649)
([66a62d0](66a62d0))
* **docs:** Minor fixes on local documentation development workflows
(noir-lang/noir#7684)
([e9526cf](e9526cf))
* **docs:** More acir docs (noir-lang/noir#7731)
([66a62d0](66a62d0))
* **docs:** update bb commands to match the new version
(noir-lang/noir#7677)
([e9526cf](e9526cf))
* **docs:** update profiler usage docs
([#12782](#12782))
([3b2fccb](3b2fccb))
* don't switch out bb.js install in noir repo
([#12771](#12771))
([79c3c62](79c3c62))
* easier way to test monormophization errors
(noir-lang/noir#7679)
([e9526cf](e9526cf))
* enable wtr debug logging
([#12848](#12848))
([0fc5528](0fc5528))
* encapsulate `Index` within `LocalModuleId`
(noir-lang/noir#7719)
([e9526cf](e9526cf))
* Faster tx production on masternet
([#12878](#12878))
([17d0301](17d0301))
* fix archiver.test.ts
([#12907](#12907))
([fd7adb1](fd7adb1))
* fix gemini
([#12602](#12602))
([3eb9e9a](3eb9e9a))
* fix rustdoc issues (noir-lang/noir#7712)
([e9526cf](e9526cf))
* Fix rustdocs error (noir-lang/noir#7750)
([ce84b2d](ce84b2d))
* fixing timeouts (noir-lang/noir#7666)
([e9526cf](e9526cf))
* **frontend:** Regression test for creating a mutable reference to an
array element (noir-lang/noir#7699)
([e9526cf](e9526cf))
* hide Ident fields (noir-lang/noir#7709)
([e9526cf](e9526cf))
* Increase bracket_depth to 2048
([#12801](#12801))
([2e9a7a3](2e9a7a3))
* make `ResolverError::UnnecessaryPub` a hard error
(noir-lang/noir#7664)
([e9526cf](e9526cf))
* migrate to use new flat eslint config file
(noir-lang/noir#7676)
([e9526cf](e9526cf))
* minor `CommitmentsDB` cleanup
([#12817](#12817))
([ff8a199](ff8a199))
* more descriptive SSA tests
(noir-lang/noir#7697)
([e9526cf](e9526cf))
* more logging in kind setup
([#12852](#12852))
([9824336](9824336))
* note getter internals
([#12809](#12809))
([3a89a24](3a89a24))
* nuking MemoryArchiveStore
([#12826](#12826))
([c5405d8](c5405d8))
* once again skip the uniswap tests
([#12859](#12859))
([4f37dec](4f37dec))
* **p2p:** add tx queue to prevent ddos attacks
([#12603](#12603))
([a96a908](a96a908))
* pr linking job for merge queue
([#12546](#12546))
([a0cee9f](a0cee9f))
* pull most logic from `get_all_contracts` up out of the `CrateDefMap`
(noir-lang/noir#7715)
([e9526cf](e9526cf))
* pull out pure functions from interpreter
(noir-lang/noir#7755)
([ce84b2d](ce84b2d))
* push users towards nargo in tutorial
(noir-lang/noir#7736)
([ce84b2d](ce84b2d))
* re-enable nightly tests
([#12673](#12673))
([d2f8f18](d2f8f18)),
closes
[#12107](#12107)
* Refactor entrypoints
([#12868](#12868))
([5f48055](5f48055))
* **refactor:** Move resolved error structures out of acir crate
(noir-lang/noir#7734)
([66a62d0](66a62d0))
* remove `examples` from testing of noir
([#12768](#12768))
([cd6a3af](cd6a3af))
* remove `noir-lang/ec` dependency
([#12507](#12507))
([181d6e0](181d6e0))
* remove bun from docs in favour of yarn
(noir-lang/noir#7756)
([ce84b2d](ce84b2d))
* Remove magic number from AVM bytecode
([#12900](#12900))
([4d96fc0](4d96fc0))
* Remove seemingly unused compose files
([#12794](#12794))
([1a75797](1a75797))
* remove some unnecessary mod.nr files
([#12797](#12797))
([99fc705](99fc705))
* remove some unused HIR code
(noir-lang/noir#7643)
([e9526cf](e9526cf))
* remove ultraplonk tests (noir-lang/noir#7680)
([e9526cf](e9526cf))
* remove unconditional sleep
([#12814](#12814))
([e61c376](e61c376))
* remove whyle, use native while
([#12820](#12820))
([889bc48](889bc48))
* rename note discovery to message discovery
([#12755](#12755))
([ae4f935](ae4f935))
* replace relative paths to noir-protocol-circuits
([070ad0a](070ad0a))
* replace relative paths to noir-protocol-circuits
([f62614d](f62614d))
* replace relative paths to noir-protocol-circuits
([742162c](742162c))
* replace relative paths to noir-protocol-circuits
([801244c](801244c))
* replace relative paths to noir-protocol-circuits
([c39d88b](c39d88b))
* replace relative paths to noir-protocol-circuits
([2cb1a37](2cb1a37))
* replace relative paths to noir-protocol-circuits
([a42309b](a42309b))
* Resolve various rustdoc warnings
(noir-lang/noir#7724)
([e9526cf](e9526cf))
* run `noir_wasm` over `test_programs`
(noir-lang/noir#7765)
([ce84b2d](ce84b2d))
* separated multi map and fixed indexeddb map
([#12896](#12896))
([05af647](05af647))
* Set max txs per block
([#12837](#12837))
([74476ff](74476ff))
* simplify note getter oracle
([#12807](#12807))
([2fc01a3](2fc01a3))
* **ssa:** Do not print entire functions in underconstrained values
check trace (noir-lang/noir#7665)
([e9526cf](e9526cf))
* update docusaurus config to correct trailing slash issue
(noir-lang/noir#7720)
([e9526cf](e9526cf))
* update examples to use UltraHonk
(noir-lang/noir#7653)
([e9526cf](e9526cf))
* Update README.md to add trailing docs `/`
(noir-lang/noir#7689)
([e9526cf](e9526cf))
* Update references to GH issues to reflect recent changes
([#12722](#12722))
([100d31f](100d31f))
* update yarn version to 4.5.2
(noir-lang/noir#7678)
([e9526cf](e9526cf))
* use rollup.ts more consistenty
([#12863](#12863))
([bd9f3ce](bd9f3ce))
* vars for --network ignition-testnet
([#12886](#12886))
([6efc8ce](6efc8ce))


### Documentation

* Add sponsoredFPC
([#12485](#12485))
([87bb6da](87bb6da))
* additions
([#12551](#12551))
([c9ea1cd](c9ea1cd))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bench-show Display benchmark results on PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Hoist instructions from loops in non control dependent blocks

3 participants