Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: new formatter #6300

Merged
merged 222 commits into from
Oct 22, 2024
Merged

feat: new formatter #6300

merged 222 commits into from
Oct 22, 2024

Conversation

asterite
Copy link
Collaborator

@asterite asterite commented Oct 18, 2024

Description

Problem

Resolves #5281
Resolves #4768
Resolves #4767
Resolves #4766
Resolves #4558
Resolves #4462
Resolves #3945
Resolves #3312

Summary

I thought about trying to extend the existing formatter to format more code, but I couldn't understand it very well: it partially implemented things, and it lacked comments and some explanation of how it works. I think some chunks might have been copied from the Rust formatter. I also took a look into it but though it might be too complex.

I wrote a formatter in the past for Crystal with a technique that I saw was used in the Java formatter written for Eclipse. The idea is to traverse the AST together with a Lexer, writing things along the way, bumping into comments and formatting those, etc. It works pretty well! But that's not enough for the Noir formatter because here we also want to automatically wrap long lines (Crystal's formatter doesn't do that). That part (wrapping) is partially based on this excellent blog post.

Benefits:

  • All code kinds are formatted. For example previously traits weren't formatted.
  • Comments are never lost.
  • Lambdas appearing as the last argument of a call are formatted nicely (this was maybe the most trickier part to get right).
  • I believe the new code ends up being simpler than before, even though it's (slightly) longer (previously is was 2138 lines, now it's 6139, though 2608 lines are tests, so it ends up being 3531 lines, but this new formatter does many things the old one didn't). I tried to comment and document it well.
  • Adding new formatting rules, new configurations, or enabling formatting of new syntax should be relatively easy to do.
  • There are lots and lots of tests for each of the different scenarios. The existing overall formatter tests were kept, but with unit tests it's easier to see how edge cases are formatted.

Here's Aztec-Packages formatted with the new formatter:

  • Max line width seems to be respected more (making it more readable)
  • unsafe { ... } and comptime { ... } expressions will be inlined if possible (shortening the code and making it more readable)

Additional Context

Some things are subjective. For example Rust will put a function where clause in a separate line, with each trait bound on its own line. The new formatter does that too. But Rust will sometimes put an impl where clause on the same line. It's not clear to me why. I chose to always put where clauses on a separate line, but this could easily be changed if we wanted to.

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
Member

@TomAFrench TomAFrench left a comment

Choose a reason for hiding this comment

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

LGTM, we've got better coverage of the syntax and actual testing so this is a direct upgrade over the previous formatter.

@asterite asterite added this pull request to the merge queue Oct 22, 2024
Merged via the queue into master with commit 62404d7 Oct 22, 2024
48 checks passed
@asterite asterite deleted the ab/formatter branch October 22, 2024 13:28
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Oct 22, 2024
feat: Sync from aztec-packages (noir-lang/noir#6301)
fix: Allow array map on empty arrays (noir-lang/noir#6305)
fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291)
feat(interpreter): Comptime derive generators (noir-lang/noir#6303)
fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278)
feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296)
chore(docs): refactoring guides and some other nits (noir-lang/noir#6175)
fix: Do not warn on unused self in traits (noir-lang/noir#6298)
fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Oct 22, 2024
feat: Sync from aztec-packages (noir-lang/noir#6301)
fix: Allow array map on empty arrays (noir-lang/noir#6305)
fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291)
feat(interpreter): Comptime derive generators (noir-lang/noir#6303)
fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278)
feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296)
chore(docs): refactoring guides and some other nits (noir-lang/noir#6175)
fix: Do not warn on unused self in traits (noir-lang/noir#6298)
fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287)
/// Treating a `ChunkFormatter` as a `Formatter` in read-only mode is always fine,
/// and reduces some boilerplate.
impl<'a, 'b> Deref for ChunkFormatter<'a, 'b> {
type Target = Formatter<'b>;
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm surprised this isn't 'a, since ChunkFormatter<'a, 'b> has a 'b reference to a Formatter<'a> 🤔

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Oh, good point, it should be 'a. I don't know why it works, maybe the lifetimes are the same? I'll change it in a follow-up PR after I finish what I'm doing (or feel free to send a PR).

TomAFrench added a commit that referenced this pull request Oct 22, 2024
TomAFrench added a commit that referenced this pull request Oct 22, 2024
* master: (202 commits)
  chore: remove usage of slices in pedersen hash (#6295)
  chore: remove dead function (#6308)
  feat: new formatter (#6300)
  feat: Sync from aztec-packages (#6301)
  fix: Allow array map on empty arrays (#6305)
  fix: Display function name and body when inlining recursion limit hit (#6291)
  feat(interpreter): Comptime derive generators (#6303)
  fix: enforce correctness of decompositions performed at compile time (#6278)
  feat: Warn about private types leaking in public functions and struct fields (#6296)
  chore(docs): refactoring guides and some other nits (#6175)
  fix: Do not warn on unused self in traits (#6298)
  fix: Reject invalid expression with in CLI parser (#6287)
  chore: regression test for #5462 (#6286)
  feat(improve): Remove scan through globals (#6282)
  feat: show LSP diagnostic related information (#6277)
  feat: trait inheritance (#6252)
  feat: optimize reading a workspace's files (#6281)
  fix: prevent compiler panic when popping from empty slices (#6274)
  feat(test): Include the PoseidonHasher in the fuzzing (#6280)
  feat: slightly improve "unexpected token" error message (#6279)
  ...
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Oct 23, 2024
…/noir#6295)

chore: remove dead function (noir-lang/noir#6308)
feat: new formatter (noir-lang/noir#6300)
feat: Sync from aztec-packages (noir-lang/noir#6301)
fix: Allow array map on empty arrays (noir-lang/noir#6305)
fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291)
feat(interpreter): Comptime derive generators (noir-lang/noir#6303)
fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278)
feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296)
chore(docs): refactoring guides and some other nits (noir-lang/noir#6175)
fix: Do not warn on unused self in traits (noir-lang/noir#6298)
fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Oct 23, 2024
chore: remove dead function (noir-lang/noir#6308)
feat: new formatter (noir-lang/noir#6300)
feat: Sync from aztec-packages (noir-lang/noir#6301)
fix: Allow array map on empty arrays (noir-lang/noir#6305)
fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291)
feat(interpreter): Comptime derive generators (noir-lang/noir#6303)
fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278)
feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296)
chore(docs): refactoring guides and some other nits (noir-lang/noir#6175)
fix: Do not warn on unused self in traits (noir-lang/noir#6298)
fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287)
github-merge-queue bot pushed a commit that referenced this pull request Oct 23, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>0.36.0</summary>

## [0.36.0](v0.35.0...v0.36.0)
(2024-10-22)


### ⚠ BREAKING CHANGES

* remove pedersen commitment
(AztecProtocol/aztec-packages#9107)
* remove pedersen hash opcode
(AztecProtocol/aztec-packages#9245)
* Brillig and AVM default all uninitialized memory cells to Field 0
(AztecProtocol/aztec-packages#9057)
* remove keccak256 opcode from ACIR/Brillig
(AztecProtocol/aztec-packages#9104)
* Brillig with a stack and conditional inlining
(AztecProtocol/aztec-packages#8989)
* **avm:** remove CMOV opcode
(AztecProtocol/aztec-packages#9030)
* Integer division is not the inverse of integer multiplication
([#6243](#6243))
* kind size checks
([#6137](#6137))
* Change tag attributes to require a ' prefix
([#6235](#6235))

### Features

* Add `checked_transmute`
([#6262](#6262))
([2618061](2618061))
* Add more `Type` and `UnresolvedType` methods
([#5994](#5994))
([8236cbd](8236cbd))
* Allow `unconstrained` after visibility
([#6246](#6246))
([f6dfbcf](f6dfbcf))
* Brillig and AVM default all uninitialized memory cells to Field 0
(AztecProtocol/aztec-packages#9057)
([70dcf4a](70dcf4a))
* Brillig with a stack and conditional inlining
(AztecProtocol/aztec-packages#8989)
([70dcf4a](70dcf4a))
* Don't crash LSP when there are errors resolving the workspace
([#6257](#6257))
([7cc7197](7cc7197))
* Don't suggest private struct fields in LSP
([#6256](#6256))
([2a727b3](2a727b3))
* Handwritten parser
([#6180](#6180))
([c4273a0](c4273a0))
* **improve:** Remove scan through globals
([#6282](#6282))
([fd91913](fd91913))
* Inclusive for loop
([#6200](#6200))
([bd861f2](bd861f2))
* Integrate databus in the private kernels
(AztecProtocol/aztec-packages#9028)
([70dcf4a](70dcf4a))
* **interpreter:** Comptime derive generators
([#6303](#6303))
([d8767b3](d8767b3))
* Kind size checks
([#6137](#6137))
([6e40f62](6e40f62))
* New formatter ([#6300](#6300))
([62404d7](62404d7))
* Optimize `Quoted::as_expr` by parsing just once
([#6237](#6237))
([a4fcd00](a4fcd00))
* Optimize reading a workspace's files
([#6281](#6281))
([b54ed26](b54ed26))
* **perf:** Flamegraphs for test program execution benchmarks
([#6253](#6253))
([c186791](c186791))
* **perf:** Follow array sets backwards in array set from get
optimization ([#6208](#6208))
([999071b](999071b))
* Recover from '=' instead of ':' in struct constructor/pattern
([#6236](#6236))
([9a12f31](9a12f31))
* Remove byte decomposition in `compute_decomposition`
([#6159](#6159))
([a8bcae2](a8bcae2))
* Show LSP diagnostic related information
([#6277](#6277))
([c8a91a5](c8a91a5))
* Slightly improve "unexpected token" error message
([#6279](#6279))
([8232bfa](8232bfa))
* Sync from noir
(AztecProtocol/aztec-packages#8934)
([70dcf4a](70dcf4a))
* Sync from noir
(AztecProtocol/aztec-packages#9034)
([70dcf4a](70dcf4a))
* Sync from noir
(AztecProtocol/aztec-packages#9099)
([70dcf4a](70dcf4a))
* Sync from noir
(AztecProtocol/aztec-packages#9275)
([70dcf4a](70dcf4a))
* **test:** Fuzz poseidon hases against an external library
([#6273](#6273))
([8d8ea89](8d8ea89))
* **test:** Fuzz test poseidon2 hash equivalence
([#6265](#6265))
([f61ba03](f61ba03))
* **test:** Fuzz test stdlib hash functions
([#6233](#6233))
([1a2ca46](1a2ca46))
* **test:** Include the PoseidonHasher in the fuzzing
([#6280](#6280))
([afb8a7c](afb8a7c))
* Trait inheritance
([#6252](#6252))
([d3301a4](d3301a4))
* Visibility for impl functions
([#6179](#6179))
([1b26440](1b26440))
* Visibility for struct fields
([#6221](#6221))
([fc1c7ab](fc1c7ab))
* Warn about private types leaking in public functions and struct fields
([#6296](#6296))
([67ac0d6](67ac0d6))


### Bug Fixes

* Add missing visibility for auto-import names
([#6205](#6205))
([c3cb38a](c3cb38a))
* Address inactive public key check in `verify_signature_noir`
([#6270](#6270))
([e4325aa](e4325aa))
* Allow array map on empty arrays
([#6305](#6305))
([51ae1b3](51ae1b3))
* Change tag attributes to require a ' prefix
([#6235](#6235))
([b43dcb2](b43dcb2))
* Check for Schnorr null signature
([#6226](#6226))
([2430920](2430920))
* Display function name and body when inlining recursion limit hit
([#6291](#6291))
([33a1e7d](33a1e7d))
* Do not warn on unused self in traits
([#6298](#6298))
([4d524bf](4d524bf))
* Don't warn on unuse global if it has an abi annotation
([#6258](#6258))
([e13f617](e13f617))
* Don't warn on unused struct that has an abi annotation
([#6254](#6254))
([8a31632](8a31632))
* Don't warn twice when referring to private item
([#6216](#6216))
([619c545](619c545))
* Enforce correctness of decompositions performed at compile time
([#6278](#6278))
([53252fd](53252fd))
* **frontend:** Do not warn when a nested struct is provided as input to
main ([#6239](#6239))
([9dfe223](9dfe223))
* Handle dfg databus in SSA normalization
([#6249](#6249))
([9d8bee5](9d8bee5))
* Handle nested arrays in calldata
([#6232](#6232))
([0ab8f5e](0ab8f5e))
* Homogeneous input points for EC ADD
([#6241](#6241))
([f6a7306](f6a7306))
* Integer division is not the inverse of integer multiplication
([#6243](#6243))
([1cd2587](1cd2587))
* Panic on composite types within databus
([#6225](#6225))
([29bd125](29bd125))
* Prevent compiler panic when popping from empty slices
([#6274](#6274))
([87137d8](87137d8))
* Reject invalid expression with in CLI parser
([#6287](#6287))
([052aee8](052aee8))
* Remove need for duplicate attributes on each function
(AztecProtocol/aztec-packages#9244)
([70dcf4a](70dcf4a))
* Visibility for impl methods
([#6261](#6261))
([70cbeb4](70cbeb4))


### Miscellaneous Chores

* Remove keccak256 opcode from ACIR/Brillig
(AztecProtocol/aztec-packages#9104)
([70dcf4a](70dcf4a))
* Remove pedersen commitment
(AztecProtocol/aztec-packages#9107)
([70dcf4a](70dcf4a))
* Remove pedersen hash opcode
(AztecProtocol/aztec-packages#9245)
([70dcf4a](70dcf4a))


### Code Refactoring

* **avm:** Remove CMOV opcode
(AztecProtocol/aztec-packages#9030)
([70dcf4a](70dcf4a))
</details>

<details><summary>0.52.0</summary>

## [0.52.0](v0.51.0...v0.52.0)
(2024-10-22)


### ⚠ BREAKING CHANGES

* remove pedersen commitment
(AztecProtocol/aztec-packages#9107)
* remove pedersen hash opcode
(AztecProtocol/aztec-packages#9245)
* Brillig and AVM default all uninitialized memory cells to Field 0
(AztecProtocol/aztec-packages#9057)
* remove keccak256 opcode from ACIR/Brillig
(AztecProtocol/aztec-packages#9104)
* Brillig with a stack and conditional inlining
(AztecProtocol/aztec-packages#8989)
* **avm:** remove CMOV opcode
(AztecProtocol/aztec-packages#9030)
* remove sha256 opcode
(AztecProtocol/aztec-packages#4571)
* add support for u1 in the avm, ToRadix's radix arg is a memory addr
(AztecProtocol/aztec-packages#8570)
* Add Not instruction in brillig
(AztecProtocol/aztec-packages#8488)
* **avm:** variants for SET opcode
(AztecProtocol/aztec-packages#8441)
* **avm/brillig:** take addresses in calldatacopy
(AztecProtocol/aztec-packages#8388)
* constant inputs for blackbox
(AztecProtocol/aztec-packages#7222)

### Features

* (bb) 128-bit challenges
(AztecProtocol/aztec-packages#8406)
([3c3ed1e](3c3ed1e))
* **acir_gen:** Width aware ACIR gen addition
([#5493](#5493))
([85fa592](85fa592))
* Add assertions for ACVM `FunctionInput` `bit_size`
([#5864](#5864))
([8712f4c](8712f4c))
* Add Not instruction in brillig
(AztecProtocol/aztec-packages#8488)
([95e19ab](95e19ab))
* Add recursive aggregation object to proving/verification keys
(AztecProtocol/aztec-packages#6770)
([4ea25db](4ea25db))
* Add reusable procedures to brillig generation
(AztecProtocol/aztec-packages#7981)
([5c4f19f](5c4f19f))
* Add support for u1 in the avm, ToRadix's radix arg is a memory addr
(AztecProtocol/aztec-packages#8570)
([e8bbce7](e8bbce7))
* Added indirect const instruction
(AztecProtocol/aztec-packages#8065)
([5c4f19f](5c4f19f))
* Adding aggregation to honk and rollup
(AztecProtocol/aztec-packages#7466)
([4ea25db](4ea25db))
* Automate verify_honk_proof input generation
(AztecProtocol/aztec-packages#8092)
([5c4f19f](5c4f19f))
* **avm/brillig:** Take addresses in calldatacopy
(AztecProtocol/aztec-packages#8388)
([3c3ed1e](3c3ed1e))
* **avm:** Variants for SET opcode
(AztecProtocol/aztec-packages#8441)
([3c3ed1e](3c3ed1e))
* Avoid heap allocs when going to/from field
(AztecProtocol/aztec-packages#7547)
([daad75c](daad75c))
* Brillig and AVM default all uninitialized memory cells to Field 0
(AztecProtocol/aztec-packages#9057)
([70dcf4a](70dcf4a))
* Brillig with a stack and conditional inlining
(AztecProtocol/aztec-packages#8989)
([70dcf4a](70dcf4a))
* Change the layout of arrays and vectors to be a single pointer
(AztecProtocol/aztec-packages#8448)
([d4832ec](d4832ec))
* Constant inputs for blackbox
(AztecProtocol/aztec-packages#7222)
([fb97bb9](fb97bb9))
* Hook up secondary calldata column in dsl
(AztecProtocol/aztec-packages#7759)
([4ea25db](4ea25db))
* Integrate databus in the private kernels
(AztecProtocol/aztec-packages#9028)
([70dcf4a](70dcf4a))
* Integrate new proving systems in e2e
(AztecProtocol/aztec-packages#6971)
([daad75c](daad75c))
* Make Brillig do integer arithmetic operations using u128 instead of
Bigint (AztecProtocol/aztec-packages#7518)
([daad75c](daad75c))
* Make token transfer be recursive
(AztecProtocol/aztec-packages#7730)
([4ea25db](4ea25db))
* New test programs for wasm benchmarking
(AztecProtocol/aztec-packages#8389)
([95e19ab](95e19ab))
* Note hashes as points
(AztecProtocol/aztec-packages#7618)
([4ea25db](4ea25db))
* Optimize allocating immediate amounts of memory
(AztecProtocol/aztec-packages#8579)
([e8bbce7](e8bbce7))
* Optimize constant array handling in brillig_gen
(AztecProtocol/aztec-packages#7661)
([4ea25db](4ea25db))
* Optimize to_radix
(AztecProtocol/aztec-packages#8073)
([5c4f19f](5c4f19f))
* Pass calldata ids to the backend
(AztecProtocol/aztec-packages#7875)
([4ea25db](4ea25db))
* Poseidon2 gates for Ultra arithmetisation
(AztecProtocol/aztec-packages#7494)
([5c4f19f](5c4f19f))
* **profiler:** Add support for brillig functions in opcodes-flamegraph
(AztecProtocol/aztec-packages#7698)
([4ea25db](4ea25db))
* Remove sha256 opcode
(AztecProtocol/aztec-packages#4571)
([e8bbce7](e8bbce7))
* Removing superfluous call to MSM
(AztecProtocol/aztec-packages#7708)
([4ea25db](4ea25db))
* Report gates and VKs of private protocol circuits with megahonk
(AztecProtocol/aztec-packages#7722)
([4ea25db](4ea25db))
* Simplify constant calls to `poseidon2_permutation`, `schnorr_verify`
and `embedded_curve_add`
([#5140](#5140))
([2823ba7](2823ba7))
* Small optimization in toradix
(AztecProtocol/aztec-packages#8040)
([5c4f19f](5c4f19f))
* Sync from noir
(AztecProtocol/aztec-packages#7392)
([fb97bb9](fb97bb9))
* Sync from noir
(AztecProtocol/aztec-packages#7400)
([fb97bb9](fb97bb9))
* Sync from noir
(AztecProtocol/aztec-packages#7432)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7444)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7454)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7512)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7577)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7583)
([daad75c](daad75c))
* Sync from noir
(AztecProtocol/aztec-packages#7743)
([4ea25db](4ea25db))
* Sync from noir
(AztecProtocol/aztec-packages#7862)
([4ea25db](4ea25db))
* Sync from noir
(AztecProtocol/aztec-packages#7945)
([4ea25db](4ea25db))
* Sync from noir
(AztecProtocol/aztec-packages#7958)
([5c4f19f](5c4f19f))
* Sync from noir
(AztecProtocol/aztec-packages#8008)
([5c4f19f](5c4f19f))
* Sync from noir
(AztecProtocol/aztec-packages#8093)
([5c4f19f](5c4f19f))
* Sync from noir
(AztecProtocol/aztec-packages#8125)
([f0c2686](f0c2686))
* Sync from noir
(AztecProtocol/aztec-packages#8237)
([f0c2686](f0c2686))
* Sync from noir
(AztecProtocol/aztec-packages#8423)
([3c3ed1e](3c3ed1e))
* Sync from noir
(AztecProtocol/aztec-packages#8435)
([3c3ed1e](3c3ed1e))
* Sync from noir
(AztecProtocol/aztec-packages#8466)
([3c3ed1e](3c3ed1e))
* Sync from noir
(AztecProtocol/aztec-packages#8482)
([d4832ec](d4832ec))
* Sync from noir
(AztecProtocol/aztec-packages#8512)
([95e19ab](95e19ab))
* Sync from noir
(AztecProtocol/aztec-packages#8526)
([95e19ab](95e19ab))
* Sync from noir
(AztecProtocol/aztec-packages#8934)
([70dcf4a](70dcf4a))
* Sync from noir
(AztecProtocol/aztec-packages#9034)
([70dcf4a](70dcf4a))
* Sync from noir
(AztecProtocol/aztec-packages#9099)
([70dcf4a](70dcf4a))
* Sync from noir
(AztecProtocol/aztec-packages#9275)
([70dcf4a](70dcf4a))
* **test:** Fuzz test poseidon2 hash equivalence
([#6265](#6265))
([f61ba03](f61ba03))
* **test:** Fuzz test stdlib hash functions
([#6233](#6233))
([1a2ca46](1a2ca46))
* TXE nr deployments, dependency cleanup for CLI
(AztecProtocol/aztec-packages#7548)
([4ea25db](4ea25db))
* Typing return values of embedded_curve_ops
(AztecProtocol/aztec-packages#7413)
([daad75c](daad75c))
* Unify all acir recursion constraints based on RecursionConstraint and
proof_type (AztecProtocol/aztec-packages#7993)
([5c4f19f](5c4f19f))


### Bug Fixes

* Add trailing extra arguments for backend in gates_flamegraph
(AztecProtocol/aztec-packages#7472)
([daad75c](daad75c))
* **debugger:** Update the debugger to handle the new Brillig debug
metadata format ([#5706](#5706))
([a31f82e](a31f82e))
* Deflatten databus visibilities
(AztecProtocol/aztec-packages#7761)
([4ea25db](4ea25db))
* Do not duplicate redundant Brillig debug metadata
([#5696](#5696))
([e4f7dbe](e4f7dbe))
* Export brillig names in contract functions
(AztecProtocol/aztec-packages#8212)
([f0c2686](f0c2686))
* Handle multiple entry points for Brillig call stack resolution after
metadata deduplication
([#5788](#5788))
([38fe9dd](38fe9dd))
* Homogeneous input points for EC ADD
([#6241](#6241))
([f6a7306](f6a7306))
* Move BigInt modulus checks to runtime in brillig
([#5374](#5374))
([741d339](741d339))
* Reject invalid expression with in CLI parser
([#6287](#6287))
([052aee8](052aee8))
* Remove need for duplicate attributes on each function
(AztecProtocol/aztec-packages#9244)
([70dcf4a](70dcf4a))
* Restrict keccak256_injective test input to 8 bits
([#5977](#5977))
([a1b1346](a1b1346))
* Revert "feat: Sync from noir
(AztecProtocol/aztec-packages#7512)"
(AztecProtocol/aztec-packages#7558)
([daad75c](daad75c))


### Miscellaneous Chores

* Remove keccak256 opcode from ACIR/Brillig
(AztecProtocol/aztec-packages#9104)
([70dcf4a](70dcf4a))
* Remove pedersen commitment
(AztecProtocol/aztec-packages#9107)
([70dcf4a](70dcf4a))
* Remove pedersen hash opcode
(AztecProtocol/aztec-packages#9245)
([70dcf4a](70dcf4a))


### Code Refactoring

* **avm:** Remove CMOV opcode
(AztecProtocol/aztec-packages#9030)
([70dcf4a](70dcf4a))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Oct 23, 2024
…ompilation time (noir-lang/noir#6307)

chore: update `noir-edwards` repo to point at `noir-lang` org (noir-lang/noir#6323)
feat: Sha256 refactoring and benchmark with longer input (noir-lang/noir#6318)
chore: Release Noir(0.36.0) (noir-lang/noir#6213)
chore: remove usage of slices in pedersen hash (noir-lang/noir#6295)
chore: remove dead function (noir-lang/noir#6308)
feat: new formatter (noir-lang/noir#6300)
feat: Sync from aztec-packages (noir-lang/noir#6301)
fix: Allow array map on empty arrays (noir-lang/noir#6305)
fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291)
feat(interpreter): Comptime derive generators (noir-lang/noir#6303)
fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278)
feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296)
chore(docs): refactoring guides and some other nits (noir-lang/noir#6175)
fix: Do not warn on unused self in traits (noir-lang/noir#6298)
fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Oct 23, 2024
…ime (noir-lang/noir#6307)

chore: update `noir-edwards` repo to point at `noir-lang` org (noir-lang/noir#6323)
feat: Sha256 refactoring and benchmark with longer input (noir-lang/noir#6318)
chore: Release Noir(0.36.0) (noir-lang/noir#6213)
chore: remove usage of slices in pedersen hash (noir-lang/noir#6295)
chore: remove dead function (noir-lang/noir#6308)
feat: new formatter (noir-lang/noir#6300)
feat: Sync from aztec-packages (noir-lang/noir#6301)
fix: Allow array map on empty arrays (noir-lang/noir#6305)
fix: Display function name and body when inlining recursion limit hit (noir-lang/noir#6291)
feat(interpreter): Comptime derive generators (noir-lang/noir#6303)
fix: enforce correctness of decompositions performed at compile time (noir-lang/noir#6278)
feat: Warn about private types leaking in public functions and struct fields (noir-lang/noir#6296)
chore(docs): refactoring guides and some other nits (noir-lang/noir#6175)
fix: Do not warn on unused self in traits (noir-lang/noir#6298)
fix: Reject invalid expression with in CLI parser (noir-lang/noir#6287)
TomAFrench added a commit to AztecProtocol/aztec-packages that referenced this pull request Oct 23, 2024
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat(ssa): Various mem2reg reverts to reduce memory and compilation time
(noir-lang/noir#6307)
chore: update `noir-edwards` repo to point at `noir-lang` org
(noir-lang/noir#6323)
feat: Sha256 refactoring and benchmark with longer input
(noir-lang/noir#6318)
chore: Release Noir(0.36.0)
(noir-lang/noir#6213)
chore: remove usage of slices in pedersen hash
(noir-lang/noir#6295)
chore: remove dead function
(noir-lang/noir#6308)
feat: new formatter (noir-lang/noir#6300)
feat: Sync from aztec-packages
(noir-lang/noir#6301)
fix: Allow array map on empty arrays
(noir-lang/noir#6305)
fix: Display function name and body when inlining recursion limit hit
(noir-lang/noir#6291)
feat(interpreter): Comptime derive generators
(noir-lang/noir#6303)
fix: enforce correctness of decompositions performed at compile time
(noir-lang/noir#6278)
feat: Warn about private types leaking in public functions and struct
fields (noir-lang/noir#6296)
chore(docs): refactoring guides and some other nits
(noir-lang/noir#6175)
fix: Do not warn on unused self in traits
(noir-lang/noir#6298)
fix: Reject invalid expression with in CLI parser
(noir-lang/noir#6287)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Tom French <tom@tomfren.ch>
AztecBot added a commit to AztecProtocol/aztec-nr that referenced this pull request Oct 24, 2024
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat(ssa): Various mem2reg reverts to reduce memory and compilation time
(noir-lang/noir#6307)
chore: update `noir-edwards` repo to point at `noir-lang` org
(noir-lang/noir#6323)
feat: Sha256 refactoring and benchmark with longer input
(noir-lang/noir#6318)
chore: Release Noir(0.36.0)
(noir-lang/noir#6213)
chore: remove usage of slices in pedersen hash
(noir-lang/noir#6295)
chore: remove dead function
(noir-lang/noir#6308)
feat: new formatter (noir-lang/noir#6300)
feat: Sync from aztec-packages
(noir-lang/noir#6301)
fix: Allow array map on empty arrays
(noir-lang/noir#6305)
fix: Display function name and body when inlining recursion limit hit
(noir-lang/noir#6291)
feat(interpreter): Comptime derive generators
(noir-lang/noir#6303)
fix: enforce correctness of decompositions performed at compile time
(noir-lang/noir#6278)
feat: Warn about private types leaking in public functions and struct
fields (noir-lang/noir#6296)
chore(docs): refactoring guides and some other nits
(noir-lang/noir#6175)
fix: Do not warn on unused self in traits
(noir-lang/noir#6298)
fix: Reject invalid expression with in CLI parser
(noir-lang/noir#6287)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Tom French <tom@tomfren.ch>
ludamad pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Oct 24, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.60.0</summary>

##
[0.60.0](aztec-package-v0.59.0...aztec-package-v0.60.0)
(2024-10-24)


### Features

* Introduce default public keys and replace empty public keys
([#9277](#9277))
([47718ea](47718ea))
* Sequencer cast votes
([#9247](#9247))
([bd05d87](bd05d87))
</details>

<details><summary>barretenberg.js: 0.60.0</summary>

##
[0.60.0](barretenberg.js-v0.59.0...barretenberg.js-v0.60.0)
(2024-10-24)


### Features

* Eccvm translator zk sumcheck
([#9199](#9199))
([c7d4572](c7d4572))


### Miscellaneous

* Remove noir_js_backend_barretenberg
([#9338](#9338))
([cefe3d9](cefe3d9))
</details>

<details><summary>aztec-packages: 0.60.0</summary>

##
[0.60.0](aztec-packages-v0.59.0...aztec-packages-v0.60.0)
(2024-10-24)


### ⚠ BREAKING CHANGES

* replace usage of vector in keccakf1600 input with array
([#9350](#9350))
* TXE single execution env
([#9183](#9183))
* remove hash opcodes from AVM
([#9209](#9209))
* remove delegate call and storage address
([#9330](#9330))

### Features

* Apella
([#9084](#9084))
([205ce69](205ce69))
* **avm:** Full poseidon2
([#9141](#9141))
([eae7587](eae7587))
* Bytes to fields and back
([#8590](#8590))
([65b8493](65b8493))
* Constrain protocol VK hashing
([#9304](#9304))
([3d17e13](3d17e13))
* **docs:** Nits
([#8948](#8948))
([008fdd1](008fdd1))
* Eccvm translator zk sumcheck
([#9199](#9199))
([c7d4572](c7d4572))
* Gerousia
([#8942](#8942))
([54b5ba2](54b5ba2))
* Get logs by tags
([#9353](#9353))
([719c33e](719c33e))
* Handle reorgs on sequencer
([#9201](#9201))
([d4dea16](d4dea16))
* **interpreter:** Comptime derive generators
(noir-lang/noir#6303)
([a166203](a166203))
* Introduce default public keys and replace empty public keys
([#9277](#9277))
([47718ea](47718ea))
* Modify private calldata to use public keys
([#9276](#9276))
([e42e219](e42e219))
* New formatter (noir-lang/noir#6300)
([a166203](a166203))
* **nr:** Serde for signed ints
([#9211](#9211))
([66f31c7](66f31c7))
* Publicly accessible bootstrap cache
([#9335](#9335))
([28392d5](28392d5))
* Remove hash opcodes from AVM
([#9209](#9209))
([e6db535](e6db535)),
closes
[#9208](#9208)
* Sequencer cast votes
([#9247](#9247))
([bd05d87](bd05d87))
* Sha256 refactoring and benchmark with longer input
(noir-lang/noir#6318)
([a166203](a166203))
* **ssa:** Various mem2reg reverts to reduce memory and compilation time
(noir-lang/noir#6307)
([a166203](a166203))
* Sync from aztec-packages (noir-lang/noir#6301)
([a166203](a166203))
* Translator on Shplemini
([#9329](#9329))
([21fa3cf](21fa3cf))
* TXE single execution env
([#9183](#9183))
([1d1d76d](1d1d76d))
* Warn about private types leaking in public functions and struct fields
(noir-lang/noir#6296)
([a166203](a166203))


### Bug Fixes

* 4epochs kind test et al
([#9358](#9358))
([e480e6b](e480e6b))
* Allow array map on empty arrays
(noir-lang/noir#6305)
([a166203](a166203))
* **avm:** Public dispatch in proving tests
([#9331](#9331))
([42e5221](42e5221))
* Barretenberg readme scare warning
([#9313](#9313))
([f759d55](f759d55))
* Broken constants gen
([#9387](#9387))
([eb7bc6b](eb7bc6b))
* Ci github clone edge case
([#9320](#9320))
([15abe6f](15abe6f))
* **ci:** Report 4 epochs true
([#9346](#9346))
([1ce0fa5](1ce0fa5))
* Display function name and body when inlining recursion limit hit
(noir-lang/noir#6291)
([a166203](a166203))
* Do not warn on unused self in traits
(noir-lang/noir#6298)
([a166203](a166203))
* Enforce correctness of decompositions performed at compile time
(noir-lang/noir#6278)
([a166203](a166203))
* Reject invalid expression with in CLI parser
(noir-lang/noir#6287)
([a166203](a166203))
* Remove reliance on invalid decompositions in selector calculation
([#9337](#9337))
([c8e4260](c8e4260))
* Support empty epochs
([#9341](#9341))
([9dda91e](9dda91e))
* Use github.actor on publish workflow dispatch
([#9324](#9324))
([5fa660d](5fa660d))


### Miscellaneous

* **avm:** Some cleaning in avm prover
([#9311](#9311))
([523aa23](523aa23))
* Bump node types
([#9397](#9397))
([763d5b1](763d5b1))
* Copying world state binary to yarn project is on generate
([#9194](#9194))
([8d75dd4](8d75dd4))
* Disable bench-process-history
([#9360](#9360))
([8e6734e](8e6734e))
* **docs:** Refactoring guides and some other nits
(noir-lang/noir#6175)
([a166203](a166203))
* Fix and re-enable prover coordination e2e test
([#9344](#9344))
([3a1a62c](3a1a62c))
* Implement Fq add
([#9354](#9354))
([1711fac](1711fac))
* Minor test cleanup
([#9339](#9339))
([a2ed567](a2ed567))
* Print out gas at start and end of each enqueued call
([#9377](#9377))
([29c0b95](29c0b95))
* Quick account manager refactor
([#9357](#9357))
([648d043](648d043))
* Quick keystore refactor
([#9355](#9355))
([31b9999](31b9999))
* Redo typo PR by pucedoteth
([#9385](#9385))
([fd1a0d1](fd1a0d1))
* Release Noir(0.36.0) (noir-lang/noir#6213)
([a166203](a166203))
* Remove dead function (noir-lang/noir#6308)
([a166203](a166203))
* Remove delegate call and storage address
([#9330](#9330))
([465f88e](465f88e))
* Remove noir_js_backend_barretenberg
([#9338](#9338))
([cefe3d9](cefe3d9))
* Remove unnecessary `is_integral_bit_size` function
([#9352](#9352))
([ac8e6d7](ac8e6d7))
* Remove usage of slices in pedersen hash
(noir-lang/noir#6295)
([a166203](a166203))
* Replace relative paths to noir-protocol-circuits
([32bd7b9](32bd7b9))
* Replace relative paths to noir-protocol-circuits
([add4605](add4605))
* Replace relative paths to noir-protocol-circuits
([8cb89af](8cb89af))
* Replace usage of vector in keccakf1600 input with array
([#9350](#9350))
([cb58490](cb58490))
* Scenario for upgrading gerousia
([#9246](#9246))
([66f59d6](66f59d6))
* Silence cache-download.sh
([#9317](#9317))
([314d9d2](314d9d2))
* Test 4epochs in native-network
([#9309](#9309))
([ddb312a](ddb312a))
* Unstake the bond when the proof lands
([#9363](#9363))
([b25b913](b25b913))
* Update `noir-edwards` repo to point at `noir-lang` org
(noir-lang/noir#6323)
([a166203](a166203))
* Updated NFT flows
([#9150](#9150))
([407f8b4](407f8b4))
</details>

<details><summary>barretenberg: 0.60.0</summary>

##
[0.60.0](barretenberg-v0.59.0...barretenberg-v0.60.0)
(2024-10-24)


### ⚠ BREAKING CHANGES

* replace usage of vector in keccakf1600 input with array
([#9350](#9350))
* remove hash opcodes from AVM
([#9209](#9209))
* remove delegate call and storage address
([#9330](#9330))

### Features

* **avm:** Full poseidon2
([#9141](#9141))
([eae7587](eae7587))
* Eccvm translator zk sumcheck
([#9199](#9199))
([c7d4572](c7d4572))
* Remove hash opcodes from AVM
([#9209](#9209))
([e6db535](e6db535)),
closes
[#9208](#9208)
* Translator on Shplemini
([#9329](#9329))
([21fa3cf](21fa3cf))


### Bug Fixes

* **avm:** Public dispatch in proving tests
([#9331](#9331))
([42e5221](42e5221))
* Barretenberg readme scare warning
([#9313](#9313))
([f759d55](f759d55))


### Miscellaneous

* **avm:** Some cleaning in avm prover
([#9311](#9311))
([523aa23](523aa23))
* Copying world state binary to yarn project is on generate
([#9194](#9194))
([8d75dd4](8d75dd4))
* Remove delegate call and storage address
([#9330](#9330))
([465f88e](465f88e))
* Remove noir_js_backend_barretenberg
([#9338](#9338))
([cefe3d9](cefe3d9))
* Replace usage of vector in keccakf1600 input with array
([#9350](#9350))
([cb58490](cb58490))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
TomAFrench added a commit that referenced this pull request Oct 24, 2024
* master:
  fix: better formatting of leading/trailing line/block comments in expression lists (#6338)
  feat: let the formatter remove lambda block braces for single-statement blocks (#6335)
  chore: run tests in metaprogramming.rs (#6339)
  fix: formatter didn't format `>>=` well (#6337)
  chore: Update title from feedback (#6334)
  feat: Reject programs with unconditional recursion (#6292)
  fix: (formatter) indent after infix lhs (#6331)
  feat: merge and sort imports (#6322)
  fix: mutable global pattern didn't have a span (#6328)
  feat(ssa): Various mem2reg reverts to reduce memory and compilation time (#6307)
  chore: update `noir-edwards` repo to point at `noir-lang` org (#6323)
  feat: Sha256 refactoring and benchmark with longer input (#6318)
  chore: Release Noir(0.36.0) (#6213)
  chore: remove usage of slices in pedersen hash (#6295)
  chore: remove dead function (#6308)
  feat: new formatter (#6300)
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request Oct 25, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.60.0</summary>

##
[0.60.0](AztecProtocol/aztec-packages@aztec-package-v0.59.0...aztec-package-v0.60.0)
(2024-10-24)


### Features

* Introduce default public keys and replace empty public keys
([#9277](AztecProtocol/aztec-packages#9277))
([47718ea](AztecProtocol/aztec-packages@47718ea))
* Sequencer cast votes
([#9247](AztecProtocol/aztec-packages#9247))
([bd05d87](AztecProtocol/aztec-packages@bd05d87))
</details>

<details><summary>barretenberg.js: 0.60.0</summary>

##
[0.60.0](AztecProtocol/aztec-packages@barretenberg.js-v0.59.0...barretenberg.js-v0.60.0)
(2024-10-24)


### Features

* Eccvm translator zk sumcheck
([#9199](AztecProtocol/aztec-packages#9199))
([c7d4572](AztecProtocol/aztec-packages@c7d4572))


### Miscellaneous

* Remove noir_js_backend_barretenberg
([#9338](AztecProtocol/aztec-packages#9338))
([cefe3d9](AztecProtocol/aztec-packages@cefe3d9))
</details>

<details><summary>aztec-packages: 0.60.0</summary>

##
[0.60.0](AztecProtocol/aztec-packages@aztec-packages-v0.59.0...aztec-packages-v0.60.0)
(2024-10-24)


### ⚠ BREAKING CHANGES

* replace usage of vector in keccakf1600 input with array
([#9350](AztecProtocol/aztec-packages#9350))
* TXE single execution env
([#9183](AztecProtocol/aztec-packages#9183))
* remove hash opcodes from AVM
([#9209](AztecProtocol/aztec-packages#9209))
* remove delegate call and storage address
([#9330](AztecProtocol/aztec-packages#9330))

### Features

* Apella
([#9084](AztecProtocol/aztec-packages#9084))
([205ce69](AztecProtocol/aztec-packages@205ce69))
* **avm:** Full poseidon2
([#9141](AztecProtocol/aztec-packages#9141))
([eae7587](AztecProtocol/aztec-packages@eae7587))
* Bytes to fields and back
([#8590](AztecProtocol/aztec-packages#8590))
([65b8493](AztecProtocol/aztec-packages@65b8493))
* Constrain protocol VK hashing
([#9304](AztecProtocol/aztec-packages#9304))
([3d17e13](AztecProtocol/aztec-packages@3d17e13))
* **docs:** Nits
([#8948](AztecProtocol/aztec-packages#8948))
([008fdd1](AztecProtocol/aztec-packages@008fdd1))
* Eccvm translator zk sumcheck
([#9199](AztecProtocol/aztec-packages#9199))
([c7d4572](AztecProtocol/aztec-packages@c7d4572))
* Gerousia
([#8942](AztecProtocol/aztec-packages#8942))
([54b5ba2](AztecProtocol/aztec-packages@54b5ba2))
* Get logs by tags
([#9353](AztecProtocol/aztec-packages#9353))
([719c33e](AztecProtocol/aztec-packages@719c33e))
* Handle reorgs on sequencer
([#9201](AztecProtocol/aztec-packages#9201))
([d4dea16](AztecProtocol/aztec-packages@d4dea16))
* **interpreter:** Comptime derive generators
(noir-lang/noir#6303)
([a166203](AztecProtocol/aztec-packages@a166203))
* Introduce default public keys and replace empty public keys
([#9277](AztecProtocol/aztec-packages#9277))
([47718ea](AztecProtocol/aztec-packages@47718ea))
* Modify private calldata to use public keys
([#9276](AztecProtocol/aztec-packages#9276))
([e42e219](AztecProtocol/aztec-packages@e42e219))
* New formatter (noir-lang/noir#6300)
([a166203](AztecProtocol/aztec-packages@a166203))
* **nr:** Serde for signed ints
([#9211](AztecProtocol/aztec-packages#9211))
([66f31c7](AztecProtocol/aztec-packages@66f31c7))
* Publicly accessible bootstrap cache
([#9335](AztecProtocol/aztec-packages#9335))
([28392d5](AztecProtocol/aztec-packages@28392d5))
* Remove hash opcodes from AVM
([#9209](AztecProtocol/aztec-packages#9209))
([e6db535](AztecProtocol/aztec-packages@e6db535)),
closes
[#9208](AztecProtocol/aztec-packages#9208)
* Sequencer cast votes
([#9247](AztecProtocol/aztec-packages#9247))
([bd05d87](AztecProtocol/aztec-packages@bd05d87))
* Sha256 refactoring and benchmark with longer input
(noir-lang/noir#6318)
([a166203](AztecProtocol/aztec-packages@a166203))
* **ssa:** Various mem2reg reverts to reduce memory and compilation time
(noir-lang/noir#6307)
([a166203](AztecProtocol/aztec-packages@a166203))
* Sync from aztec-packages (noir-lang/noir#6301)
([a166203](AztecProtocol/aztec-packages@a166203))
* Translator on Shplemini
([#9329](AztecProtocol/aztec-packages#9329))
([21fa3cf](AztecProtocol/aztec-packages@21fa3cf))
* TXE single execution env
([#9183](AztecProtocol/aztec-packages#9183))
([1d1d76d](AztecProtocol/aztec-packages@1d1d76d))
* Warn about private types leaking in public functions and struct fields
(noir-lang/noir#6296)
([a166203](AztecProtocol/aztec-packages@a166203))


### Bug Fixes

* 4epochs kind test et al
([#9358](AztecProtocol/aztec-packages#9358))
([e480e6b](AztecProtocol/aztec-packages@e480e6b))
* Allow array map on empty arrays
(noir-lang/noir#6305)
([a166203](AztecProtocol/aztec-packages@a166203))
* **avm:** Public dispatch in proving tests
([#9331](AztecProtocol/aztec-packages#9331))
([42e5221](AztecProtocol/aztec-packages@42e5221))
* Barretenberg readme scare warning
([#9313](AztecProtocol/aztec-packages#9313))
([f759d55](AztecProtocol/aztec-packages@f759d55))
* Broken constants gen
([#9387](AztecProtocol/aztec-packages#9387))
([eb7bc6b](AztecProtocol/aztec-packages@eb7bc6b))
* Ci github clone edge case
([#9320](AztecProtocol/aztec-packages#9320))
([15abe6f](AztecProtocol/aztec-packages@15abe6f))
* **ci:** Report 4 epochs true
([#9346](AztecProtocol/aztec-packages#9346))
([1ce0fa5](AztecProtocol/aztec-packages@1ce0fa5))
* Display function name and body when inlining recursion limit hit
(noir-lang/noir#6291)
([a166203](AztecProtocol/aztec-packages@a166203))
* Do not warn on unused self in traits
(noir-lang/noir#6298)
([a166203](AztecProtocol/aztec-packages@a166203))
* Enforce correctness of decompositions performed at compile time
(noir-lang/noir#6278)
([a166203](AztecProtocol/aztec-packages@a166203))
* Reject invalid expression with in CLI parser
(noir-lang/noir#6287)
([a166203](AztecProtocol/aztec-packages@a166203))
* Remove reliance on invalid decompositions in selector calculation
([#9337](AztecProtocol/aztec-packages#9337))
([c8e4260](AztecProtocol/aztec-packages@c8e4260))
* Support empty epochs
([#9341](AztecProtocol/aztec-packages#9341))
([9dda91e](AztecProtocol/aztec-packages@9dda91e))
* Use github.actor on publish workflow dispatch
([#9324](AztecProtocol/aztec-packages#9324))
([5fa660d](AztecProtocol/aztec-packages@5fa660d))


### Miscellaneous

* **avm:** Some cleaning in avm prover
([#9311](AztecProtocol/aztec-packages#9311))
([523aa23](AztecProtocol/aztec-packages@523aa23))
* Bump node types
([#9397](AztecProtocol/aztec-packages#9397))
([763d5b1](AztecProtocol/aztec-packages@763d5b1))
* Copying world state binary to yarn project is on generate
([#9194](AztecProtocol/aztec-packages#9194))
([8d75dd4](AztecProtocol/aztec-packages@8d75dd4))
* Disable bench-process-history
([#9360](AztecProtocol/aztec-packages#9360))
([8e6734e](AztecProtocol/aztec-packages@8e6734e))
* **docs:** Refactoring guides and some other nits
(noir-lang/noir#6175)
([a166203](AztecProtocol/aztec-packages@a166203))
* Fix and re-enable prover coordination e2e test
([#9344](AztecProtocol/aztec-packages#9344))
([3a1a62c](AztecProtocol/aztec-packages@3a1a62c))
* Implement Fq add
([#9354](AztecProtocol/aztec-packages#9354))
([1711fac](AztecProtocol/aztec-packages@1711fac))
* Minor test cleanup
([#9339](AztecProtocol/aztec-packages#9339))
([a2ed567](AztecProtocol/aztec-packages@a2ed567))
* Print out gas at start and end of each enqueued call
([#9377](AztecProtocol/aztec-packages#9377))
([29c0b95](AztecProtocol/aztec-packages@29c0b95))
* Quick account manager refactor
([#9357](AztecProtocol/aztec-packages#9357))
([648d043](AztecProtocol/aztec-packages@648d043))
* Quick keystore refactor
([#9355](AztecProtocol/aztec-packages#9355))
([31b9999](AztecProtocol/aztec-packages@31b9999))
* Redo typo PR by pucedoteth
([#9385](AztecProtocol/aztec-packages#9385))
([fd1a0d1](AztecProtocol/aztec-packages@fd1a0d1))
* Release Noir(0.36.0) (noir-lang/noir#6213)
([a166203](AztecProtocol/aztec-packages@a166203))
* Remove dead function (noir-lang/noir#6308)
([a166203](AztecProtocol/aztec-packages@a166203))
* Remove delegate call and storage address
([#9330](AztecProtocol/aztec-packages#9330))
([465f88e](AztecProtocol/aztec-packages@465f88e))
* Remove noir_js_backend_barretenberg
([#9338](AztecProtocol/aztec-packages#9338))
([cefe3d9](AztecProtocol/aztec-packages@cefe3d9))
* Remove unnecessary `is_integral_bit_size` function
([#9352](AztecProtocol/aztec-packages#9352))
([ac8e6d7](AztecProtocol/aztec-packages@ac8e6d7))
* Remove usage of slices in pedersen hash
(noir-lang/noir#6295)
([a166203](AztecProtocol/aztec-packages@a166203))
* Replace relative paths to noir-protocol-circuits
([32bd7b9](AztecProtocol/aztec-packages@32bd7b9))
* Replace relative paths to noir-protocol-circuits
([add4605](AztecProtocol/aztec-packages@add4605))
* Replace relative paths to noir-protocol-circuits
([8cb89af](AztecProtocol/aztec-packages@8cb89af))
* Replace usage of vector in keccakf1600 input with array
([#9350](AztecProtocol/aztec-packages#9350))
([cb58490](AztecProtocol/aztec-packages@cb58490))
* Scenario for upgrading gerousia
([#9246](AztecProtocol/aztec-packages#9246))
([66f59d6](AztecProtocol/aztec-packages@66f59d6))
* Silence cache-download.sh
([#9317](AztecProtocol/aztec-packages#9317))
([314d9d2](AztecProtocol/aztec-packages@314d9d2))
* Test 4epochs in native-network
([#9309](AztecProtocol/aztec-packages#9309))
([ddb312a](AztecProtocol/aztec-packages@ddb312a))
* Unstake the bond when the proof lands
([#9363](AztecProtocol/aztec-packages#9363))
([b25b913](AztecProtocol/aztec-packages@b25b913))
* Update `noir-edwards` repo to point at `noir-lang` org
(noir-lang/noir#6323)
([a166203](AztecProtocol/aztec-packages@a166203))
* Updated NFT flows
([#9150](AztecProtocol/aztec-packages#9150))
([407f8b4](AztecProtocol/aztec-packages@407f8b4))
</details>

<details><summary>barretenberg: 0.60.0</summary>

##
[0.60.0](AztecProtocol/aztec-packages@barretenberg-v0.59.0...barretenberg-v0.60.0)
(2024-10-24)


### ⚠ BREAKING CHANGES

* replace usage of vector in keccakf1600 input with array
([#9350](AztecProtocol/aztec-packages#9350))
* remove hash opcodes from AVM
([#9209](AztecProtocol/aztec-packages#9209))
* remove delegate call and storage address
([#9330](AztecProtocol/aztec-packages#9330))

### Features

* **avm:** Full poseidon2
([#9141](AztecProtocol/aztec-packages#9141))
([eae7587](AztecProtocol/aztec-packages@eae7587))
* Eccvm translator zk sumcheck
([#9199](AztecProtocol/aztec-packages#9199))
([c7d4572](AztecProtocol/aztec-packages@c7d4572))
* Remove hash opcodes from AVM
([#9209](AztecProtocol/aztec-packages#9209))
([e6db535](AztecProtocol/aztec-packages@e6db535)),
closes
[#9208](AztecProtocol/aztec-packages#9208)
* Translator on Shplemini
([#9329](AztecProtocol/aztec-packages#9329))
([21fa3cf](AztecProtocol/aztec-packages@21fa3cf))


### Bug Fixes

* **avm:** Public dispatch in proving tests
([#9331](AztecProtocol/aztec-packages#9331))
([42e5221](AztecProtocol/aztec-packages@42e5221))
* Barretenberg readme scare warning
([#9313](AztecProtocol/aztec-packages#9313))
([f759d55](AztecProtocol/aztec-packages@f759d55))


### Miscellaneous

* **avm:** Some cleaning in avm prover
([#9311](AztecProtocol/aztec-packages#9311))
([523aa23](AztecProtocol/aztec-packages@523aa23))
* Copying world state binary to yarn project is on generate
([#9194](AztecProtocol/aztec-packages#9194))
([8d75dd4](AztecProtocol/aztec-packages@8d75dd4))
* Remove delegate call and storage address
([#9330](AztecProtocol/aztec-packages#9330))
([465f88e](AztecProtocol/aztec-packages@465f88e))
* Remove noir_js_backend_barretenberg
([#9338](AztecProtocol/aztec-packages#9338))
([cefe3d9](AztecProtocol/aztec-packages@cefe3d9))
* Replace usage of vector in keccakf1600 input with array
([#9350](AztecProtocol/aztec-packages#9350))
([cb58490](AztecProtocol/aztec-packages@cb58490))
</details>

---
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