Releases
v1.0.0-beta.1
⚠ BREAKING CHANGES
Features
nargo test -q
(or nargo test --format terse
) (#6776 ) (919149d )
std::hint::black_box
function. (#6529 ) (237e8fa )
Add (x | 1)
optimization for booleans (#6795 ) (feec2a1 )
Add BoundedVec::from_parts
and BoundedVec::from_parts_unchecked
(#6691 ) (768aa7c )
Add nargo test --format json
(#6796 ) (eb975ab )
Add a warning when using unsafe blocks without safety comments (#6860 ) (5c00a79 )
Add memory report into the CI (#6630 ) (6acef6d )
Allow filtering which SSA passes are printed (#6636 ) (50f4aa7 )
Allow ignoring test failures from foreign calls (#6660 ) (e3a0914 )
Better error message when trying to invoke struct function field (#6661 ) (ea7c04a )
ci: Initial compilation report on test_programs (#6731 ) (b3c04f0 )
cli: Run command on the package closest to the current directory (#6752 ) (f45b354 )
cli: Verify return
against ABI and Prover.toml
(#6765 ) (5795a09 )
comptime: Implement blackbox functions in comptime interpreter (#6551 ) (10a9f81 )
Configurable external check failures (#6810 ) (73ccd45 )
Flatten nested if-else statements with equivalent conditions (#6875 ) (1a0a5f6 )
Improve parser recovery of constructor field with '::' instead of ':' (#6701 ) (c400543 )
Order attribute execution by their source ordering (#6326 ) (852155d )
perf: Track last loads per block in mem2reg and remove them if possible (#6088 ) (624ae6c )
Reduce memory consumption by storing array length as u32
during SSA (#6606 ) (6196d05 )
Replace eval_global_as_array_length
with type/interpreter evaluation (#6469 ) (ddb4673 )
Replace quadratic removal of rc
instructions (#6705 ) (7619da5 )
Replace quadratic removal of rc instructions (AztecProtocol/aztec-packages#10416 ) (66d3275 )
Revert changes to ValueMerger
and Instruction::IfElse
(#6673 ) (f81244c )
Several nargo test
improvements (#6728 ) (1b0dd41 )
Show printable byte arrays as byte strings in SSA (#6709 ) (fc11b63 )
Simplify jmpif
s by reversing branches if condition is negated (#5891 ) (ba7a568 )
ssa: Bring back tracking of RC instructions during DIE (#6783 ) (bc03152 )
ssa: Deduplicate intrinsics with predicates (#6615 ) (53f16c7 )
ssa: Hoist MakeArray instructions during loop invariant code motion (#6782 ) (b88db67 )
ssa: Hoisting of array get using known induction variable maximum (#6639 ) (26d2351 )
ssa: Implement missing brillig constraints SSA check (#6658 ) (c5a4caf )
ssa: Option to set the maximum acceptable Brillig bytecode increase in unrolling (#6641 ) (4ff3081 )
ssa: Simplify array get from set that writes to the same dynamic index (#6684 ) (304403f )
Sync from aztec-packages (#6634 ) (aa143a7 )
Sync from aztec-packages (#6656 ) (594aad2 )
Sync from aztec-packages (#6824 ) (b3bca76 )
Sync from noir (AztecProtocol/aztec-packages#10307 ) (66d3275 )
test: Check that nargo::ops::transform_program
is idempotent (#6694 ) (9f3e0e6 )
tooling: Skip program transformation when loaded from cache (#6689 ) (7feb658 )
Warn on unnecessary unsafe blocks (#6867 ) (a97402a )
Bug Fixes
Allow empty loop headers (#6736 ) (332ba79 )
Allow multiple _
parameters, and disallow _
as an expression you can read from (#6657 ) (d80a9d7 )
Always return an array of u8
s when simplifying Intrinsic::ToRadix
calls (#6663 ) (59c0c35 )
Correct signed integer handling in noirc_abi
(#6638 ) (ecaf63d )
Correct types returned by constant EC operations simplified within SSA (#6652 ) (eec5970 )
Detect cycles in globals (#6859 ) (0d7642c )
Disable failure persistance in nargo test fuzzing (#6777 ) (68ff7bd )
Disallow #[export]
on associated methods (#6626 ) (7b56904 )
Do not merge expressions that contain output witnesses (#6757 ) (f9abf72 )
Do not warn on unused functions marked with #[export] (#6625 ) (30f8378 )
Don't deduplicate binary math of unsigned types (#6848 ) (ee0754b )
Don't remove necessary RC instructions in DIE pass (#6585 ) (440d94d )
Double alias in path (#6855 ) (82f595b )
Git dependency trailing slash (#6725 ) (df71df7 )
Implement as_field
and from_field
in the interpreter (#6829 ) (f037c36 )
Improve type error when indexing a variable of unknown type (#6744 ) (909b22b )
LSP auto-import text indent (#6699 ) (bbe7564 )
LSP code action wasn't triggering on beginning or end of identifier (#6616 ) (1b910bc )
LSP: Use generic self type to narrow down methods to complete (#6617 ) (454b77b )
Map entry point indexes after all ssa passes (#6740 ) (1b6e26b )
Minimal change to avoid reverting entire PR #6685 (#6778 ) (0925a33 )
Optimize array ref counts to copy arrays much less often (#6685 ) (24cc19e )
Optimizer to keep track of changing opcode locations (#6781 ) (13c41d2 )
Parser would hand on function type with colon in it (#6764 ) (9d7aadc )
Prevent hoisting binary instructions which can overflow (#6672 ) (b4750d8 )
Print ssa blocks without recursion (#6715 ) (5ccde81 )
Println("{{}}") was printing "{{}}" instead of "{}" (#6745 ) (36bca82 )
Several format string fixes and improvements (#6703 ) (b70daf4 )
ssa: Don't deduplicate constraints in blocks that are not dominated (#6627 ) (b024581 )
ssa: Remove RC tracker in DIE (#6700 ) (f2607fd )
ssa: Track all local allocations during flattening (#6619 ) (6491175 )
Typo in u128 docs (#6711 ) (37a4996 )
Use correct type for attribute arguments (#6640 ) (de3e77a )
Use extension in docs link so it also works on GitHub (#6787 ) (655a3d3 )
Used signed division for signed modulo (#6635 ) (dace078 )
Miscellaneous Chores
You can’t perform that action at this time.