Releases
v0.17.0
0.17.0 (2023-10-20)
⚠ BREAKING CHANGES
Pass ACIR to ACVM by reference rather than passing ownership (#2872 )
Make for loops a statement (#2975 )
traits: trait functions with a default implementation must not be followed by a semicolon (#2987 )
wasm: improve and simplify wasm compiler interface (#2976 )
wasm: update wasm artifacts to match cli artifacts (#2973 )
Features
acir: Set dynamic array values (#3054 ) (e871866 )
acvm: Separate ACVM optimizations and transformations (#2979 ) (5865d1a )
Add destroy
method to Noir
(#3105 ) (7e40274 )
Add execute
method to Noir
class (#3081 ) (17bdd7e )
Add ACIR serializer C++ codegen (#2961 ) (7556982 )
Add an options object to BarretenbergBackend
constructor (#3105 ) (7e40274 )
Add aztec selectors for event structs (#2983 ) (982380e )
Add conditional compilation of methods based on the underlying field being used (#3045 ) (2e008e2 )
Add experimental REPL-based debugger (#2995 ) (281c696 )
Add JS types for ABI and input maps (#3023 ) (599e7a1 )
debugger: Highlight current src code loc (#3174 ) (6b87582 )
Format infix expressions (#3001 ) (7926ada )
formatter: Add formatter support for array literals (#3061 ) (a535321 )
Implement automatic dereferencing for index expressions (#3082 ) (8221bfd )
Implement automatic dereferencing for indexing lvalues (#3083 ) (6e2b70a )
Implement impl specialization (#3087 ) (44716fa )
lsp: Add "info" codelens (#2982 ) (80770d9 )
Nargo test runtime callstacks and assert messages without string matching (#2953 ) (1b6a4e6 )
Old docs issues (#3195 ) (26746c5 )
Optimize euclidean division acir-gen (#3121 ) (2c175c0 )
Pass ACIR to ACVM by reference rather than passing ownership (#2872 ) (b3a9c34 )
Pass brillig bytecode to VM by reference (#3030 ) (4ee290b )
Prevent unnecessary witness creation in euclidean division (#2980 ) (c6f660e )
Provide formatting subcommand (#2640 ) (a38b15f )
Publish aztec build of noir_wasm (#3049 ) (3b51f4d )
Remove unnecessary truncation of boolean multiplication (#3122 ) (39dbcf1 )
Return compilation errors from noir_wasm (#3091 ) (55f63c9 )
Reuse witnesses which have been assigned constant values during ACIR gen (#3137 ) (9eb43e2 )
Save Brillig execution state in ACVM (#3026 ) (88682da )
Solve fixed_base_scalar_mul
black box functions in rust (#3153 ) (1c1afbc )
traits: Add impl Trait as function return type #2397 (#3176 ) (4cb2024 )
traits: Add trait impl for buildin types (#2964 ) (2c87b27 )
traits: Added checks for duplicated trait associated items (types, consts, functions) (#2927 ) (d49492c )
traits: Allow multiple traits to share the same associated function name and to be implemented for the same type (#3126 ) (004f8dd )
traits: Improve support for traits static method resolution (#2958 ) (0d0d8f7 )
wasm: Improve and simplify wasm compiler interface (#2976 ) (1b5124b )
wasm: Update wasm artifacts to match cli artifacts (#2973 ) (ce16c0b )
Bug Fixes
ACIR optimizer should update assertion messages (#3010 ) (758b6b6 )
Add pub
modifier to grumpkin functions (#3036 ) (f8990d7 )
Add compiler error message for invalid input types (#3220 ) (989e80d )
Allow constructors in parentheses in if
conditions and for
ranges (#3219 ) (ad192d1 )
Allow two TypeVariable::Constant(N)
to unify even if their constants are not equal (#3225 ) (cc4ca4b )
Change non-constant argument errors from to_be_radix
from ICE to proper error (#3048 ) (19ce286 )
Check for overflow with hexadecimal inputs (#3004 ) (db1e736 )
Complete debug metadata (#3228 ) (2f6509d )
Determinism of fallback transformer (#3100 ) (12daad1 )
Disable modulo for fields (#3009 ) (7e68976 )
Disallow returning constant values (#2978 ) (79c2e88 )
Do not perform dead instruction elimination on mod,div unless rhs is constant (#3141 ) (af3d771 )
docs: Update editUrl
path for docusaurus (#3184 ) (4646a93 )
Download expected bb
version if installed backend has version mismatch (#3150 ) (3f03435 )
Fix aztec library after nargo fmt (#3014 ) (f43083c )
Fix method program_counter
, change method signature (#3012 ) (5ea522b )
Fix panic when using repeated arrays which define variables (#3221 ) (c4faf3a )
Include .nr and .sol files in builds (#3039 ) (ae8d0e9 )
Make for loops a statement (#2975 ) (0e266eb )
Minor problems with aztec
publishing (#3095 ) (0fc8f20 )
Parse parenthesized lvalues (#3058 ) (50ca58c )
Prevent duplicated assert message transformation (#3038 ) (082a6d0 )
Prevent mutating immutable bindings to mutable types (#3075 ) (d5ee20e )
Return error rather than panicking on unreadable circuits (#3179 ) (d4f61d3 )
traits: Trait functions with a default implementation must not be followed by a semicolon (#2987 ) (a3593c0 )
Transform hir before type checks (#2994 ) (a29b568 )
Update link to recursion example (#3224 ) (10eae15 )
You can’t perform that action at this time.