Skip to content

v0.23.0

Compare
Choose a tag to compare
@kevaundray kevaundray released this 22 Jan 15:34
5be9f9d

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::Constrains 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::Constrains 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