Releases
v0.34.0
Compare
Sorry, something went wrong.
No results found
0.34.0 (2024-09-13)
⚠ BREAKING CHANGES
Features
(bb) 128-bit challenges (AztecProtocol/aztec-packages#8406 ) (3c3ed1e )
(LSP) suggest names that match any part of the current prefix (#5752 ) (cb0d490 )
Module::add_item (#5947 ) (af50a7b )
Add Expr::as_any_integer and Expr::as_member_access (#5742 ) (6266755 )
Add Expr::as_array, Expr::as_repeated_element_array and same for slice (#5750 ) (f44e0b3 )
Add Expr::as_assert_eq (#5880 ) (88f7858 )
Add Expr::as_assert (#5857 ) (4e4ad26 )
Add Expr::as_binary_op (#5734 ) (73a9f51 )
Add Expr::as_block and Expr::has_semicolon (#5784 ) (19ffa20 )
Add Expr::as_bool (#5729 ) (ca75cc2 )
Add Expr::as_cast and UnresolvedType::is_field (#5801 ) (c9aa50d )
Add Expr::as_let (#5964 ) (65da598 )
Add Expr::as_unary (#5731 ) (ae33811 )
Add Expr::resolve and TypedExpr::as_function_definition (#5859 ) (bceee55 )
Add Expr methods: as_tuple, as_parenthesized, as_index, as_if (#5726 ) (f57a7b2 )
Add Expr methods: as_comptime, as_unsafe, is_break, is_continue (#5799 ) (619fa5c )
Add fmtstr::contents (#5928 ) (f18e9ca )
Add FunctionDef::body (#5825 ) (39b30ba )
Add FunctionDef::has_named_attribute (#5870 ) (a950195 )
Add FunctionDef::set_return_visibility (#5941 ) (8beda6b )
Add FunctionDefinition::add_attribute (#5944 ) (c7479c4 )
Add FunctionDefinition::module and StructDefinition::module (#5956 ) (f19344c )
Add FunctionDefinition methods is_unconstrained and set_unconstrained (#5962 ) (b9a072d )
Add Module::structs (#6017 ) (fc5bb02 )
Add Quoted::as_expr and Expr::as_function_call (#5708 ) (3f79607 )
Add Quoted::tokens (#5942 ) (a297ec6 )
Add std::meta::typ::fresh_type_variable (#5948 ) (3dab4dd )
Add StructDefinition::add_attribute and has_named_attribute (#5945 ) (344dd5e )
Add StructDefinition::add_generic (#5961 ) (6004067 )
Add StructDefinition::name (#5960 ) (102ebe3 )
Add StructDefinition::set_fields (#5931 ) (9d2629d )
Add TraitImpl::trait_generic_args and TraitImpl::methods (#5722 ) (8c7e493 )
Add Type::as_string (#5871 ) (e29d4b3 )
Add Type::get_trait_impl (#5716 ) (eb33d1c )
Add Type::implements (#5701 ) (2166c94 )
Add TypedExpr::get_type (#5992 ) (31f50c4 )
Add UnresolvedType::is_field and Expr::as_assign (#5804 ) (c45df4e )
Add unsafe blocks for calling unconstrained code from constrained functions (#4429 ) (79593b4 )
Add a panic method to the stdlib (#5966 ) (b86c2bc )
Add array_to_str_lossy (#5613 ) (af5acf4 )
Add assertions for ACVM FunctionInput bit_size (#5864 ) (8712f4c )
Add Expr::as_method_call (#5822 ) (806af24 )
Add mutating FunctionDefinition functions (#5685 ) (2882eae )
Add Not instruction in brillig (AztecProtocol/aztec-packages#8488 ) (95e19ab )
Add recursive aggregation object to proving/verification keys (AztecProtocol/aztec-packages#6770 ) (4ea25db )
Add reusable procedures to brillig generation (AztecProtocol/aztec-packages#7981 ) (5c4f19f )
Add some Module comptime functions (#5684 ) (eefd69b )
Added indirect const instruction (AztecProtocol/aztec-packages#8065 ) (5c4f19f )
Adding aggregation to honk and rollup (AztecProtocol/aztec-packages#7466 ) (4ea25db )
Allow inserting new structs and into programs from attributes (#5927 ) (94e661e )
Arithmetic Generics (#5950 ) (00a79ce )
Automate verify_honk_proof input generation (AztecProtocol/aztec-packages#8092 ) (5c4f19f )
avm/brillig: Take addresses in calldatacopy (AztecProtocol/aztec-packages#8388 ) (3c3ed1e )
avm: Variants for SET opcode (AztecProtocol/aztec-packages#8441 ) (3c3ed1e )
Better error message for misplaced doc comments (#5990 ) (28415ef )
Better println for Quoted (#5896 ) (6f30e42 )
Calculate FunctionSelectors and EventSelectors during comptime (AztecProtocol/aztec-packages#8354 ) (33bd102 )
Change the layout of arrays and vectors to be a single pointer (AztecProtocol/aztec-packages#8448 ) (d4832ec )
Check argument count and types on attribute function callback (#5921 ) (91f693d )
Do not encode assertion strings in the programs (AztecProtocol/aztec-packages#8315 ) (4144152 )
Explicit Associated Types & Constants (#5739 ) (e050e93 )
Extract brillig slice ops to reusable procedures (#6002 ) (339c17b )
Fault-tolerant parsing of fn and impl (#5753 ) (d4e2f0a )
Format trait impl functions (#6016 ) (da32bd8 )
Hook up secondary calldata column in dsl (AztecProtocol/aztec-packages#7759 ) (4ea25db )
Impl Hash and Eq on more comptime types (#6022 ) (114903d )
Implement str_as_bytes in the comptime interpreter (#5887 ) (45344bf )
Implement LSP code action "Implement missing members" (#6020 ) (9bf2dcb )
Improve "type annotations needed" errors (#5830 ) (90f9ea0 )
Let has_named_attribute work for built-in attributes (#6024 ) (a09646b )
Let nargo and LSP work well in the stdlib (#5969 ) (8e8e97c )
Liveness analysis for constants (AztecProtocol/aztec-packages#8294 ) (71e1556 )
LSP auto-import completion (#5741 ) (cdbb940 )
LSP autocomplete constructor fields (#5732 ) (e71c75a )
LSP autocompletion for attributes (#5963 ) (b7b9e3f )
LSP autocompletion for use statement (#5704 ) (226aeb1 )
LSP code action "Fill struct fields" (#5885 ) (1e6e4f4 )
LSP code actions to import or qualify unresolved paths (#5876 ) (410c1f6 )
LSP completion function detail (#5993 ) (e84f7d2 )
LSP completion now works better in the middle of idents (#5795 ) (1c84038 )
LSP diagnostics for all package files (#5895 ) (4e616b3 )
LSP diagnostics now have "unnecessary" and "deprecated" tags (#5878 ) (2f0d4e0 )
LSP fields, functions and methods completion after "." and "::" (#5714 ) (13c1fe6 )
LSP hover and go-to-definition for crates (#5786 ) (86d8840 )
LSP now suggests self fields and methods (#5955 ) (f57ce85 )
LSP path completion (#5712 ) (3c6b998 )
LSP signature help (#5725 ) (5a3d241 )
LSP signature help for assert and assert_eq (#5862 ) (663e00c )
LSP will now suggest private items if they are visible (#5923 ) (d2caa5b )
Make token transfer be recursive (AztecProtocol/aztec-packages#7730 ) (4ea25db )
meta: Comptime keccak (#5854 ) (0e8becc )
Module attributes (#5888 ) (2ca2e5c )
New test programs for wasm benchmarking (AztecProtocol/aztec-packages#8389 ) (95e19ab )
Note hashes as points (AztecProtocol/aztec-packages#7618 ) (4ea25db )
Only check array bounds in brillig if index is unsafe (#5938 ) (8b60bbc )
optimization: Avoid merging identical (by ID) arrays (#5853 ) (062103e )
optimization: Follow past array_sets when optimizing array_gets (#5772 ) (090501d )
Optimize constant array handling in brillig_gen (AztecProtocol/aztec-packages#7661 ) (4ea25db )
Optimize to_radix (AztecProtocol/aztec-packages#8073 ) (5c4f19f )
Pass calldata ids to the backend (AztecProtocol/aztec-packages#7875 ) (4ea25db )
perf: Mem2reg function state for value loads to optimize across blocks (#5757 ) (0b297b3 )
perf: Remove known store values that equal the store address in mem2reg (#5935 ) (b84009c )
perf: Remove last store in return block if last load is before that store (#5910 ) (1737b65 )
perf: Simplify poseidon2 cache zero-pad (#5869 ) (31e9be6 )
Poseidon2 gates for Ultra arithmetisation (AztecProtocol/aztec-packages#7494 ) (5c4f19f )
profiler: Add support for brillig functions in opcodes-flamegraph (AztecProtocol/aztec-packages#7698 ) (4ea25db )
Remove blocks which consist of only a jump to another block (#5889 ) (f391af2 )
Remove unnecessary copying of vector size during reversal (#5852 ) (5739904 )
Removing superfluous call to MSM (AztecProtocol/aztec-packages#7708 ) (4ea25db )
Report gates and VKs of private protocol circuits with megahonk (AztecProtocol/aztec-packages#7722 ) (4ea25db )
Return arrays instead of slices from to_be_radix functions (#5851 ) (d59c708 )
Show backtrace on comptime assertion failures (#5842 ) (cfd68d4 )
Show doc comments in LSP (#5968 ) (45f4ae0 )
Simplify constant calls to poseidon2_permutation, schnorr_verify and embedded_curve_add (#5140 ) (2823ba7 )
Small optimization in toradix (AztecProtocol/aztec-packages#8040 ) (5c4f19f )
Suggest trait methods in LSP completion (#5735 ) (e2f7e95 )
Suggest tuple fields in LSP completion (#5730 ) (64d7d78 )
Sync from noir (AztecProtocol/aztec-packages#7743 ) (4ea25db )
Sync from noir (AztecProtocol/aztec-packages#7862 ) (4ea25db )
Sync from noir (AztecProtocol/aztec-packages#7945 ) (4ea25db )
Sync from noir (AztecProtocol/aztec-packages#7958 ) (5c4f19f )
Sync from noir (AztecProtocol/aztec-packages#8008 ) (5c4f19f )
Sync from noir (AztecProtocol/aztec-packages#8093 ) (5c4f19f )
Sync from noir (AztecProtocol/aztec-packages#8125 ) (f0c2686 )
Sync from noir (AztecProtocol/aztec-packages#8237 ) (f0c2686 )
Sync from noir (AztecProtocol/aztec-packages#8314 ) (4144152 )
Sync from noir (AztecProtocol/aztec-packages#8333 ) (33bd102 )
Sync from noir (AztecProtocol/aztec-packages#8423 ) (3c3ed1e )
Sync from noir (AztecProtocol/aztec-packages#8435 ) (3c3ed1e )
Sync from noir (AztecProtocol/aztec-packages#8466 ) (3c3ed1e )
Sync from noir (AztecProtocol/aztec-packages#8482 ) (d4832ec )
Sync from noir (AztecProtocol/aztec-packages#8512 ) (95e19ab )
Sync from noir (AztecProtocol/aztec-packages#8526 ) (95e19ab )
TXE nr deployments, dependency cleanup for CLI (AztecProtocol/aztec-packages#7548 ) (4ea25db )
Unify all acir recursion constraints based on RecursionConstraint and proof_type (AztecProtocol/aztec-packages#7993 ) (5c4f19f )
Unquote some value as tokens, not as unquote markers (#5924 ) (70ebb90 )
Use visibility (#5856 ) (e349f30 )
Use Zac's quicksort algorithm in stdlib sorting (#5940 ) (19f5757 )
User super:: in LSP autocompletion if possible (#5751 ) (5192e53 )
Warn on unused functions (#5892 ) (af3db4b )
Warn on unused imports (#5847 ) (58f855e )
Bug Fixes
(LSP) only add cached files relevant to workspace (#5775 ) (1958a79 )
acir_gen: Nested dynamic array initialization (#5810 ) (4df53ad )
acvm: Clear ACIR call stack after successful circuit execution (#5783 ) (656a7d6 )
Add locations to most SSA instructions (#5697 ) (85d5c85 )
Add missing trait impls for integer types to stdlib (#5738 ) (d3f20c6 )
Allow comptime code to use break without also being unconstrained (#5744 ) (c2a1a87 )
Always place module attribute generated items inside module (#5943 ) (89ac6e0 )
Bit shifting type checking (#5824 ) (fb5136e )
Check unused generics are bound (#5840 ) (82eb158 )
Collect functions generated by attributes (#5930 ) (2c22fe5 )
Correctly print string tokens (#6021 ) (b8a3a9b )
debugger: Update the debugger to handle the new Brillig debug metadata format (#5706 ) (a31f82e )
Deflatten databus visibilities (AztecProtocol/aztec-packages#7761 ) (4ea25db )
Do not duplicate redundant Brillig debug metadata (#5696 ) (e4f7dbe )
Do not use predicate for index in array operation, when the index is safe (#5779 ) (9d8f2bd )
docs: Fix file paths for metaprogramming docs (#5826 ) (a764c5b )
Error when quote is used in runtime code (#5978 ) (cc30d88 )
Error when comptime functions are used in runtime code (#5976 ) (ec24917 )
Error when comptime types are used in runtime code (#5987 ) (3d39196 )
Error when mutating comptime variables in non-comptime code (#6003 ) (e20c44d )
Export brillig names in contract functions (AztecProtocol/aztec-packages#8212 ) (f0c2686 )
Fix some mistakes in arithmetic generics docs (#5999 ) (29550d1 )
Fix using lazily elaborated comptime globals (#5995 ) (f6f493c )
frontend: Ban type vars bound to a reference from passing the unconstrained boundary (#5949 ) (ce34fbd )
frontend: Continue type check if we are missing an unsafe block (#5720 ) (86de991 )
Handle multiple entry points for Brillig call stack resolution after metadata deduplication (#5788 ) (38fe9dd )
Help link was outdated (#6004 ) (d1e52f3 )
Honor function visibility in LSP completion (#5809 ) (335de05 )
Let derive(Eq) work for empty structs (#5965 ) (ff8e8b5 )
Let LSP autocompletion work in more contexts (#5719 ) (03ba6dd )
LSP document symbol didn't work for primitive impls (#5970 ) (e1f81da )
mem2reg: Handle aliases better when setting a known value for a load (#5959 ) (1b72a17 )
mem2reg: Handle aliases in function last store cleanup and additional alias unit test (#5967 ) (36756e8 )
nargo: Resolve Brillig assertion payloads (#5872 ) (f53a28b )
Prevent comptime println from crashing LSP (#5918 ) (44cf9a2 )
Replace unused ArrayGet/Set with constrain if possibly out of bounds (#5691 ) (a87d926 )
Restrict keccak256_injective test input to 8 bits (#5977 ) (a1b1346 )
sha256: Add extra checks against message size when constructing msg blocks (#5861 ) (46e266a )
sha256: Fix upper bound when building msg block and delay final block compression under certain cases (#5838 ) (130b7b6 )
sha256: Perform compression per block and utilize ROM instead of RAM when setting up the message block (#5760 ) (c52dc1c )
Suggest trait attributes in LSP (#5972 ) (d6f60d7 )
Support debug comptime flag for attributes (#5929 ) (34f21c0 )
Temporary register leaks in brillig gen (AztecProtocol/aztec-packages#8350 ) (33bd102 )
Try to move constant terms to one side for arithmetic generics (#6008 ) (4d8fe28 )
Unconstrained fn mismatch is now a warning (#5764 ) (37af966 )
Use element_size() instead of computing it with division (#5939 ) (6a45007 )
Use module name as line after which we'll insert auto-import (#6025 ) (c2e4a9a )
You can’t perform that action at this time.