Releases
v0.23.0
0.23.0 (2024-01-22)
⚠ BREAKING CHANGES
Ban nested slices (#4018 )
Breaking changes from aztec-packages (#3955 )
Rename Arithmetic opcode to AssertZero (#3840 )
remove circuit methods from noir_wasm (#3869 )
Features
Add assert_max_bit_size
method to Field
(#4016 ) (bc9a44f )
Add noir-compiler
checks to aztec_macros
(#4031 ) (420a5c7 )
Add a --force
flag to force a full recompile (#4054 ) (27a8e68 )
Add dependency resolver for noir_wasm
and implement FileManager
for consistency with native interface (#3891 ) (c29c7d7 )
Add foreign call support to noir_codegen
functions (#3933 ) (e5e52a8 )
Add MVP nargo export
command (#3870 ) (fbb51ed )
Add support for codegenning multiple functions which use the same structs in their interface (#3868 ) (1dcfcc5 )
Added efficient field comparisons for bn254 (#4042 ) (1f9cad0 )
Assert maximum bit size when creating a U128 from an integer (#4024 ) (8f9c7e4 )
Avoid unnecessary range checks by inspecting instructions for casts (#4039 ) (378c18e )
Breaking changes from aztec-packages (#3955 ) (5be049e )
Bubble up Instruction::Constrain
s to be applied as early as possible. (#4065 ) (66f5cdd )
Cached LSP parsing (#4083 ) (b4f724e )
Comparison for signed integers (#3873 ) (bcbd49b )
Decompose Instruction::Cast
to have an explicit truncation instruction (#3946 ) (35f18ef )
Decompose Instruction::Constrain
into multiple more basic constraints (#3892 ) (51cf9d3 )
Docker testing flow (#3895 ) (179c90d )
Extract parsing to its own pass and do it in parallel (#4063 ) (569cbbc )
Implement Eq
trait on curve points (#3944 ) (abf751a )
Implement DAP protocol in Nargo (#3627 ) (13834d4 )
Implement generic traits (#4000 ) (916fd15 )
Implement Operator Overloading (#3931 ) (4b16090 )
lsp: Cache definitions for goto requests (#3930 ) (4a2140f )
lsp: Goto global (#4043 ) (15237b3 )
lsp: Goto struct member inside Impl method (#3918 ) (99c2c5a )
lsp: Goto trait from trait impl (#3956 ) (eb566e2 )
lsp: Goto trait method declaration (#3991 ) (eb79166 )
lsp: Goto type alias (#4061 ) (dc83385 )
lsp: Goto type definition (#4029 ) (8bb4ddf )
lsp: Re-add code lens feature with improved performance (#3829 ) (8f5cd6c )
Optimize array ops for arrays of structs (#4027 ) (c9ec0d8 )
Optimize logic gate ACIR-gen (#3897 ) (926460a )
Prefer AcirContext
-native methods for performing logic operations (#3898 ) (0ec39b8 )
Remove range constraints from witnesses which are constrained to be constants (#3928 ) (afe9c7a )
Remove truncation from brillig casts (#3997 ) (857ff97 )
Remove truncations which can be seen to be noops using type information (#3953 ) (cc3c2c2 )
Remove unnecessary predicate from Lt
instruction (#3922 ) (a63433f )
Simplify chains of casts to be all in terms of the original ValueId
(#3984 ) (2384d3e )
Simplify multiplications by 0
or 1
in ACIR gen (#3924 ) (e58844d )
Support for u128 (#3913 ) (b4911dc )
Support printing more types (#4071 ) (f5c4632 )
Sync aztec-packages
(#4011 ) (fee2452 )
Sync commits from aztec-packages
(#4068 ) (7a8f3a3 )
Use singleton WasmBlackBoxFunctionSolver
in noir_js
(#3966 ) (10b28de )
Bug Fixes
Acir gen doesn't panic on unsupported BB function (#3866 ) (34fd978 )
Allow abi encoding arrays of structs from JS (#3867 ) (9b713f8 )
Allow abi encoding tuples from JS (#3894 ) (f7fa181 )
Allow ast when macro errors (#4005 ) (efccec3 )
Allow lsp to run inside of a docker container (#3876 ) (2529977 )
Bit-shifts for signed integers (#3890 ) (6ddd98a )
Checks for cyclic dependencies (#3699 ) (642011a )
debugger: Crash when stepping through locations spanning multiple lines (#3920 ) (223e860 )
Don't fail if no tests and the user didn't provide a pattern (#3864 ) (decbd0f )
Fix advisory issue in cargo-deny (#4077 ) (19baea0 )
Fixing dark mode background on the CTA button (#3882 ) (57eae42 )
Fixup exports from noir_wasm
(#4022 ) (358cdd2 )
Handle multiple imports in the same file (#3903 ) (219423e )
Hoist constraints on inputs to top of program (#4076 ) (447aa34 )
Implement missing codegen for BlackBoxFunc::EcdsaSecp256r1
in brillig (#3943 ) (2c5eceb )
Improve nargo test
output (#3973 ) (3ab5ff4 )
Make constant_to_radix
emit a slice instead of an array (#4049 ) (5cdb1d0 )
Operator overloading & static trait method references resolving to generic impls (#3967 ) (f1de8fa )
Preserve brillig entrypoint functions without arguments (#3951 ) (1111465 )
Prevent Instruction::Constrain
s for non-primitive types (#3916 ) (467948f )
Remove panic for adding an invalid crate name in wasm compiler (#3977 ) (7a1baa5 )
Return error rather instead of panicking on invalid circuit (#3976 ) (67201bf )
Search all levels of struct nesting before codegenning primitive types (#3970 ) (13ae014 )
Update generics docs to mention we have traits now (#3980 ) (c2acdf1 )
Miscellaneous Chores
You can’t perform that action at this time.