0.35.0 (2024-04-16)
⚠ BREAKING CHANGES
- Use fixed size arrays in black box functions where sizes are known (#5620)
- trap with revert data (#5732)
- acir: BrilligCall opcode (#5709)
- rename request_max_block_number (#5675)
- pay fee for account init (#5601)
Features
- acir: BrilligCall opcode (#5709) (f06f64c)
- Add serialisation methods (#5749) (20d290c)
- App siloing in new key store (#5721) (ae37d32), closes #5635
- avm-simulator: Plumb noir assertion messages (#5774) (2cf11ac)
- avm: CMOV opcode (#5575) (19dbe46), closes #5557
- avm: Enable contract testing with bb binary (#5584) (d007d79)
- avm: Enable range check on the ALU registers (#5696) (202fc1b)
- avm: Keccak as blackbox function (#5722) (6ea677a)
- avm: Poseidon2_permutation as black box (#5707) (5526b36)
- avm: Sha256 as blackbox function (#5727) (cac9cba)
- avm: Take sizeOffset in CALL (#5763) (95eadd6)
- Brillig heterogeneous memory cells (#5608) (3287aa2)
- Change public nullifiers api (#5660) (986e7f9)
- Changing finite field arithmetic in wasm to 29 bits for multiplications (#5435) (b2d9b9d)
- ci: Turn on new CI as mandatory (#5761) (bebed32)
- docs: Merge yellow paper into docs protocol specs section (#5668) (66dc509)
- E2e token contract can run in 2m with snapshots and test separation. (#5526) (b0037dd)
- Export poseidon2_permutation and add to foundation/crypto (#5706) (6b91e27)
- Get last mock oracles params (noir-lang/noir#4789) (825c455)
- Impl of missing functionality in new key store (#5750) (af49a29)
- LT/LTE for AVM (#5559) (350abeb)
- New key store (#5653) (3e44a58), closes #5607
- Pay fee for account init (#5601) (aca804f)
- Poseidon separator (#5717) (d5256d2)
- Proving the rollup circuits (#5599) (145cbcd)
- Public Kernel proving orchestration (#5748) (2ae0ee5)
- Rename request_max_block_number (#5675) (c695fcd)
- Separate nullfier_inclusion checks for private/public/avm (#5657) (e4d2df6)
- Sequencer validates setup/teardown function selectors (#5649) (8f8ad56), closes #5401
- Shared mutable storage (#5490) (c4e41a9)
- simulator: Fetch return values at circuit execution (#5642) (413a4e0)
- Split
backend_barretenburg
into prover and verifier classes (noir-lang/noir#4769) (825c455) - Sync from aztec-packages (noir-lang/noir#4764) (1eb288e)
- Sync from aztec-packages (noir-lang/noir#4787) (825c455)
- Trap with revert data (#5732) (f849575)
- Unroll loops iteratively (noir-lang/noir#4779) (1eb288e)
- Update circuits structs with gas info (#5677) (3db6dd1)
- Use fixed size arrays in black box functions where sizes are known (#5620) (f50b180)
- Variable length returns (#5633) (b4a6f17)
- Wire AVM gas used to public kernel (#5740) (4f55d10)
Bug Fixes
- "feat: Changing finite field arithmetic in wasm to 29 bits for multiplications" (#5779) (bcfee97)
- Anvil start retry in case something bad. Fix colors. (#5673) (0b6b6f6)
- ArrayGet and Set are not pure (noir-lang/noir#4783) (825c455)
- Avoid get row in databus (#5742) (d67b6c8)
- Avoid huge unrolling in hash_args (#5703) (10d9ad9)
- ci,noir-projects: Bring apt-get higher in cache (#5775) (d37cbb9)
- ci: 192 core spot runner (#5767) (37daac6)
- ci: Bigger cache disk, cache+prune docker images, disable ClientIvcTests.Full (#5729) (5dcbd75)
- ci: Builder types (#5711) (b16f169)
- ci: Cache size not honoured (#5738) (d4ff340)
- ci: Don't fail if can't prune (d9bb2c7)
- ci: Error in spot (#5745) (4d754aa)
- ci: Fix arm e2e references, spot shutdown (#5741) (1c4667c)
- ci: Hotfix arm (1ddb1c7)
- ci: Hotfix just one ARM task (10f27ae)
- ci: Speculative deploy fix (9a9eab6)
- ci: Wait for mainnet fork deployment (#5735) (8f3794d)
- ci: Wait_for_fork env var (#5780) (d85267b)
- Correct ICE panic messages in brillig
convert_black_box_call
(noir-lang/noir#4761) (1eb288e) - Disable flakey vanilla recursion test (#5672) (f84f7b6)
- Don't run e2e tests against wrong anvil (#5686) (9ff45f6)
- Dont error in bench summary (#5693) (470b0f3)
- E2e getStack, disable failing e2e (#5768) (e5f3ece)
- GA concurrency (#5713) (eac2585)
- Generate_aztecnr_reference.js not getting generics or multi-line params (#5679) (a22bc3d)
- Hotfix submodule cache (92b92b3)
- Hotfix underspec'd machine (#5710) (059e38e)
- hotfix: CI ignore git safe.directory checks (#5659) (9fc3fe3)
- Less earthly cache (#5690) (8190dc7)
- Make earthly more parallel (#5747) (9734455)
- Primary_message typo in errors.rs (#5646) (1dfbe7b)
- Pull noir (#5699) (bf35464)
- REDO dont error in bench summary (#5695) (8c1a7b9)
- Running e2e tests as part of build, requires forcing ip4 (not ip6) when connecting to anvil (#5744) (66fc89f)
- Simplify ECCVM prover constructor and add a TODO (#5681) (8c151ea)
- Spot refcount (#5746) (9e18444)
- Take a deep copy of circuit inputs for proving (#5777) (785591e)
- Temporarily disable the bench tests (#5755) (1d52ac5)
- Update commit for noir-gates-diff (noir-lang/noir#4773) (1eb288e)
- Use entrypoint instead of pay_init_fee (#5623) (62ac765)
- Watch less files. (#5651) (57a1d69)
Miscellaneous
- Add missing aztec-address tests (#5674) (58aefba)
- avm: Add a boolean to toggle proving in AVM unit tests (#5667) (ec122c9), closes #5663
- avm: Hashing tests cleanup (#5733) (53d0102)
- avm: Range checks negative tests (#5770) (2907142)
- avm: Split the negative test on range check for high 16-bit registers (#5785) (8ebbe57)
- avm: Split up AVM test contract as it was growing too large (#5702) (5b8e812)
- aztec-nr: Minor public interface changes (#5776) (91b8110)
- ci: Break e2e-deploy into multiple test suites (#5704) (2522294)
- ci: Earthly in spot with persistent cache (#5644) (a39c2f6)
- ci: Hotfix AMI's, workflow to stop personal spot runners (#5712) (5f18139)
- ci: Only run ARM on master (#5705) (f77c142)
- ci: Use 128 cores for x86 and add timeouts (#5665) (0c5dc0a)
- Compute_note_hash_and_nullifier - improve error message (#5671) (8942d69)
- Create placeholder version of 0.26.0 docs (noir-lang/noir#4782) (1eb288e)
- doc: Fix broken docs links (noir-lang/noir#4606) (1eb288e)
- docs: Fix link in the Data Types page (noir-lang/noir#4527) (1eb288e)
- Don't strip bb wasm (#5743) (d4cb410)
- Fix master after merge issue related to validate_trace renaming (#5676) (44e0d8a)
- Fix max-block-number and auth e2e tests (#5694) (f1bf314)
- Op queue (#5648) (822c7e6)
- public: Remove getNullifierMembershipWitness (#5715) (3be402c)
- Re-enable e2e fees tests (#5784) (102e8b8)
- Release Noir(0.27.0) (noir-lang/noir#4632) (1eb288e)
- Remove the old Value struct from the oracle docs (noir-lang/noir#4738) (1eb288e)
- Replace relative paths to noir-protocol-circuits (fb2b298)
- Replace relative paths to noir-protocol-circuits (e20920d)
- Replace relative paths to noir-protocol-circuits (6351dc5)
- Replace relative paths to noir-protocol-circuits (fee13bf)
- Replacing unsafe::zeroed() (#5685) (ea3884e)
- Small logging changes (#5654) (25cc70d)
- Temporarily skip failing e2e fees test (a3ac5ff)
- Testing that nargo fmt is idempotent (noir-lang/noir#4765) (825c455)
- TS hash wrappers cleanup (#5691) (7f8b09f)
- Turn ENABLE_GAS where it is needed (#5730) (30a2edd)
- Update noir gates diff (#5658) (9816c1a)
- We can run 35 of our e2e tests just using jest. (#5643) (4fcaeae)