0.38.0 (2024-05-07)
⚠ BREAKING CHANGES
- AES blackbox (#6016)
Features
multi_scalar_mul
blackbox func (#6097) (f6b1ba6)- Add
Neg
trait to stdlib (noir-lang/noir#4983) (02d3d17) - Add ciphertext computation for log header (#6175) (3e05534)
- Add proving retries (#6145) (39ab99c)
- Add public teardown to circuit structs (#6191) (03e1b93)
- AES blackbox (#6016) (e4b97a8)
- Always including debug data in a function artifact (#6223) (5d6d22c)
- avm-simulator: Consider previous pending nullifiers across enqueued calls (#6188) (4676431)
- avm-simulator: Make storage work across enqueued calls (#6181) (8e218a2)
- avm: Add TransactionFee opcode to simulator (#6210) (fcac844)
- Complex outputs from acir call (noir-lang/noir#4952) (3ed41a0)
- Expose set_public_teardown_function in private context (#6199) (4d8b51c)
- Handle empty response foreign calls without an external resolver (noir-lang/noir#4959) (3ed41a0)
- Hash logs inside circuit (#5934) (6b99527)
- Honk flows exposed through wasm (#6096) (c9b3206)
- Implement
From
array trait forBoundedVec
(noir-lang/noir#4927) (02d3d17) - Include transaction fee in txreceipt (#6139) (6785512)
- Making keys getters complete (#6171) (e85dde9)
- Move noir-tests to earthly (#6185) (4daea40)
- Note hash read requests fixes and refactoring (#6125) (9d03f34)
- Optimize array sets in if conditions (alternate version) (noir-lang/noir#4716) (3ed41a0)
- Osxcross (#6099) (6cc924d)
- Parsing non-string assertion payloads in noir js (#6079) (fbd78fd)
- Proving benchmark (#6051) (644bd85)
- Proving the private kernels and app circuits (#6112) (4a43fab)
- Publish transaction_fee (#6126) (6f3a036)
- Recursive folding verifier and decider as ultra circuits and circuit simulator (#6150) (acc8641)
- Reproducible ClientIVC proofs (#6227) (c145757)
- Run noir-packages-test in Earthly (#6174) (58e40c9)
- Set aztec private functions to be recursive (#6192) (22625f8)
- Use actual tx fee in gas token when charging fee (#6166) (8418eac)
Bug Fixes
- abstract-phase-manager: Get available gas from latest kernel output (#6102) (0fa509b)
- Aztec-run not exposing port for builder (#6241) (a80c091)
- Boxes use base image (#6120) (ef2589a)
- Compute the correct slice length when coercing from a literal array of complex types (noir-lang/noir#4986) (02d3d17)
- Correct circuit size estimation for UltraHonk (#6164) (ed84fe3)
- Docs release ci setup (#6159) (6d5cfe6)
- docs: Fix broken link in tree implementations page (#6143) (b39f1db)
- docs: Update sandbox reference (#6094) (0641085)
- Increase default number of proving agents (#6146) (5ade36e)
- Install aztec-builder (#6149) (0497dcf)
- Move remove_if_else pass after second inlining (noir-lang/noir#4976) (02d3d17)
- public-kernel: Only validate start-gas for execution requests (#6100) (3ec9303)
- Registering PublicDataWitness in JsonRpcServer (#6243) (e8c4455)
- Scope netlify to yarn bin (#6162) (be8e3c0)
- Set index and value to 0 for array_get with predicate (noir-lang/noir#4971) (02d3d17)
- Set up the ci runner for doc deployment (#6160) (e295900)
- Sporadic failure of GoblinRecursionTests.Vanilla (#6218) (f4ecea5)
- Use annotated type when checking declaration (noir-lang/noir#4966) (3ed41a0)
- Use pushed build images. (#6154) (426f7a7)
- Use random id for proving jobs (#6084) (0e0fc58)
- Various aztec-builder issues (#6233) (9a644ba)
Miscellaneous
- Add avm team as codeowners for public context (#6247) (c571ff0)
- avm-simulator: Avm's nested calls now stay internal and properly track PublicExecutionResult (#6165) (9fd4f39)
- avm-simulator: Make shifts take u8 (#5905) (4719ff1)
- avm-simulator: Track recursive public execution result in avm-simulator for integration with old kernel (#6106) (df3bcc6)
- aztec-macros: Avm function return types are auto tagged as
pub
(#6250) (0e828f3) - aztec-nr: Create a 'with_selector' version of
emit_unencrypted_log
in avm context (#6248) (fda6442) - Bump bb.js timeouts (#6196) (acab3de)
- Check root parity is only enqueued once its deps are ready (#6015) (c1120d1)
- ci: Fix restarts with fresh spot, acir test fixes, non-mandatory benches (#6226) (adb7f37)
- ci: Force earthly prune if corrupted cache (#6152) (3910314)
- ci: Improve dependency structure (#6200) (3abc862)
- ci: Migrate
protocol-circuits-gate-diff
to earthly (#6204) (4b43295) - ci: More stable spot request (#6212) (00156b5)
- ci: Optimize e2e build (#6202) (4614059)
- ci: Rollback earthly prune (#6208) (3ccc6ac)
- ci: Try to make base image more stable (#6144) (979a22d)
- Debug log oracle calls return nothing (#6209) (151d3a3)
- docs: Fix some typos in specs of private kernel initial (#6224) (ead54c4)
- E2e workaround (#6158) (7794d78)
- Migrate acir tests to earthly (#6142) (18c8ea8)
- Misc AVM migration prep changes (#6253) (fe19404)
- Nuking
GrumpkinScalar
(#6240) (d2df10d) - Release Noir(0.29.0) (noir-lang/noir#4905) (02d3d17)
- Rename instruction checks for side effects (noir-lang/noir#4945) (3ed41a0)
- Replace relative paths to noir-protocol-circuits (cf543a6)
- Replace relative paths to noir-protocol-circuits (53cf7bb)
- Replace relative paths to noir-protocol-circuits (ca29cea)
- Replace relative paths to noir-protocol-circuits (08e538b)
- Speedup static_call test (#6157) (abe8875)
- Switch Noir JS to use execute program instead of circuit (noir-lang/noir#4965) (3ed41a0)
- Use correct call type (#6064) (b3ae289)