0.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)
- kind size checks (#6137)
- Change tag attributes to require a ' prefix (#6235)
Features
- Add
checked_transmute
(#6262) (2618061) - Add more
Type
andUnresolvedType
methods (#5994) (8236cbd) - Allow
unconstrained
after visibility (#6246) (f6dfbcf) - Brillig and AVM default all uninitialized memory cells to Field 0 (AztecProtocol/aztec-packages#9057) (70dcf4a)
- Brillig with a stack and conditional inlining (AztecProtocol/aztec-packages#8989) (70dcf4a)
- Don't crash LSP when there are errors resolving the workspace (#6257) (7cc7197)
- Don't suggest private struct fields in LSP (#6256) (2a727b3)
- Handwritten parser (#6180) (c4273a0)
- improve: Remove scan through globals (#6282) (fd91913)
- Inclusive for loop (#6200) (bd861f2)
- Integrate databus in the private kernels (AztecProtocol/aztec-packages#9028) (70dcf4a)
- interpreter: Comptime derive generators (#6303) (d8767b3)
- Kind size checks (#6137) (6e40f62)
- New formatter (#6300) (62404d7)
- Optimize
Quoted::as_expr
by parsing just once (#6237) (a4fcd00) - Optimize reading a workspace's files (#6281) (b54ed26)
- perf: Flamegraphs for test program execution benchmarks (#6253) (c186791)
- perf: Follow array sets backwards in array set from get optimization (#6208) (999071b)
- Recover from '=' instead of ':' in struct constructor/pattern (#6236) (9a12f31)
- Remove byte decomposition in
compute_decomposition
(#6159) (a8bcae2) - Show LSP diagnostic related information (#6277) (c8a91a5)
- Slightly improve "unexpected token" error message (#6279) (8232bfa)
- Sync from noir (AztecProtocol/aztec-packages#8934) (70dcf4a)
- Sync from noir (AztecProtocol/aztec-packages#9034) (70dcf4a)
- Sync from noir (AztecProtocol/aztec-packages#9099) (70dcf4a)
- Sync from noir (AztecProtocol/aztec-packages#9275) (70dcf4a)
- test: Fuzz poseidon hases against an external library (#6273) (8d8ea89)
- test: Fuzz test poseidon2 hash equivalence (#6265) (f61ba03)
- test: Fuzz test stdlib hash functions (#6233) (1a2ca46)
- test: Include the PoseidonHasher in the fuzzing (#6280) (afb8a7c)
- Trait inheritance (#6252) (d3301a4)
- Visibility for impl functions (#6179) (1b26440)
- Visibility for struct fields (#6221) (fc1c7ab)
- Warn about private types leaking in public functions and struct fields (#6296) (67ac0d6)
Bug Fixes
- Add missing visibility for auto-import names (#6205) (c3cb38a)
- Address inactive public key check in
verify_signature_noir
(#6270) (e4325aa) - Allow array map on empty arrays (#6305) (51ae1b3)
- Change tag attributes to require a ' prefix (#6235) (b43dcb2)
- Check for Schnorr null signature (#6226) (2430920)
- Display function name and body when inlining recursion limit hit (#6291) (33a1e7d)
- Do not warn on unused self in traits (#6298) (4d524bf)
- Don't warn on unuse global if it has an abi annotation (#6258) (e13f617)
- Don't warn on unused struct that has an abi annotation (#6254) (8a31632)
- Don't warn twice when referring to private item (#6216) (619c545)
- Enforce correctness of decompositions performed at compile time (#6278) (53252fd)
- frontend: Do not warn when a nested struct is provided as input to main (#6239) (9dfe223)
- Handle dfg databus in SSA normalization (#6249) (9d8bee5)
- Handle nested arrays in calldata (#6232) (0ab8f5e)
- Homogeneous input points for EC ADD (#6241) (f6a7306)
- Integer division is not the inverse of integer multiplication (#6243) (1cd2587)
- Panic on composite types within databus (#6225) (29bd125)
- Prevent compiler panic when popping from empty slices (#6274) (87137d8)
- Reject invalid expression with in CLI parser (#6287) (052aee8)
- Remove need for duplicate attributes on each function (AztecProtocol/aztec-packages#9244) (70dcf4a)
- Visibility for impl methods (#6261) (70cbeb4)
Miscellaneous Chores
- Remove keccak256 opcode from ACIR/Brillig (AztecProtocol/aztec-packages#9104) (70dcf4a)
- Remove pedersen commitment (AztecProtocol/aztec-packages#9107) (70dcf4a)
- Remove pedersen hash opcode (AztecProtocol/aztec-packages#9245) (70dcf4a)
Code Refactoring
- avm: Remove CMOV opcode (AztecProtocol/aztec-packages#9030) (70dcf4a)