v0.37.0
Pre-release
Pre-release
0.37.0 (2024-10-31)
⚠ BREAKING CHANGES
- remove mimc from stdlib (#6402)
- avm/brillig: revert/rethrow oracle (AztecProtocol/aztec-packages#9408)
- use Brillig opcode when possible for less-than operations on fields (AztecProtocol/aztec-packages#9416)
- remove noir_js_backend_barretenberg (AztecProtocol/aztec-packages#9338)
- replace usage of vector in keccakf1600 input with array (AztecProtocol/aztec-packages#9350)
- profiler: New flamegraph command that profiles the opcodes executed (#6327)
Features
- Add capacities to brillig vectors and use them in slice ops (#6332) (c9ff9a3)
- avm/brillig: Revert/rethrow oracle (AztecProtocol/aztec-packages#9408) (321a493)
- Better LSP hover for functions (#6376) (e92b519)
- Check trait where clause (#6325) (0de3241)
- ci: Add report of Brillig opcodes executed (#6396) (e04b026)
- Do not increment reference counts on arrays through references (#6375) (60c770f)
- Improve malformed test attribute error (#6414) (8f516d7)
- Let LSP suggest traits in trait bounds (#6370) (e909dcb)
- Let the formatter remove lambda block braces for single-statement blocks (#6335) (52f7c0b)
- Let the LSP import code action insert into existing use statements (#6358) (308717b)
- LSP auto-import will try to add to existing use statements (#6354) (647f6a4)
- Merge and sort imports (#6322) (07ab515)
- perf: Use [u32;16] for message block in sha256 (#6324) (81c612f)
- profiler: Add Brillig procedure info to debug artifact for more informative profiling (#6385) (f5f65dc)
- profiler: New flamegraph command that profiles the opcodes executed (#6327) (4d87c9a)
- Reject programs with unconditional recursion (#6292) (00c5c51)
- Remove 'single use' intermediate variables (#6268) (ec75e8e)
- Remove mimc from stdlib (#6402) (ec03e77)
- Sha256 refactoring and benchmark with longer input (#6318) (d606491)
- ssa: Various mem2reg reverts to reduce memory and compilation time (#6307) (b820328)
- Suggest removing
!
from macro call that doesn't return Quoted (#6384) (0232b57) - Support specifying generics on a struct when calling an associated function (#6306) (eba151e)
- test: Run test matrix on stdlib tests (#6352) (4c39514)
Bug Fixes
- (formatter) correctly format quote delimiters (#6377) (b42accf)
- (formatter) indent after infix lhs (#6331) (c891ffd)
- (LSP) check visibility of module that re-exports item, if any (#6371) (a4fc6e8)
- Aliases in path (#6399) (be882f1)
- Allow globals in format strings (#6382) (15c729a)
- Allow type aliases in let patterns (#6356) (91c0842)
- Always inline
derive_generators
(#6350) (7c98b36) - Better formatting of leading/trailing line/block comments in expression lists (#6338) (3299c25)
- Display every bit in integer tokens (#6360) (b985fdf)
- Distinguish TypePath with and without turbofish (#6404) (0e974c2)
- Fix panic in comptime code (#6361) (2f37610)
- Formatter didn't format
>>=
well (#6337) (598230d) - LSP auto-import would import public item inside private module (#6366) (51eb295)
- Make keccak256 work with input lengths greater than 136 bytes (#6393) (07c9322)
- Mutable global pattern didn't have a span (#6328) (5a6dae9)
- Numeric generic doesn't have a default type (#6405) (3a073f7)
- Remove assumed parent traits (#6365) (83d29f2)
- Slightly better formatting of empty blocks with comments (#6367) (da72979)
- ssa: Do not mark an array from a parameter mutable (#6355) (bcd8976)
Miscellaneous Chores
- Remove noir_js_backend_barretenberg (AztecProtocol/aztec-packages#9338) (3925228)
- Replace usage of vector in keccakf1600 input with array (AztecProtocol/aztec-packages#9350) (3925228)
- Use Brillig opcode when possible for less-than operations on fields (AztecProtocol/aztec-packages#9416) (321a493)