Skip to content

Releases: noir-lang/noir

v0.6.0

16 May 10:50
0181813
Compare
Choose a tag to compare

0.6.0 (2023-05-16)

⚠ BREAKING CHANGES

  • Update to acvm 0.11.0 (#1322)
  • parser: deprecate constrain keyword for assert (#1286)

Features

  • Enable to_radix for any field element (#1343) (c3bdec2)
  • Enable dynamic arrays (#1271) (9f43450)
  • Issue an error when attempting to use a return expression (#1330) (a6de557)
  • nargo: Remove usage of CompiledProgram in CLI code and use separate ABI/bytecode (#1269) (f144391)
  • ssa refactor: experimental-ssa compiler flag (#1289) (afa6749)
  • ssa refactor: Implement dominator tree (#1278) (144ebf5)
  • ssa: add block opcode (#1291) (951ad71)
  • stdlib: add keccak256 foreign function (#1249) (260d87d)

Bug Fixes

  • Fix issue with parsing nested generics (#1319) (36f5b8e)
  • Fix parser error preventing assignments to tuple fields (#1318) (460568e)
  • Fix struct or tuple field assignment failing with generics (#1317) (d872890), closes #1315
  • stdlib: support use of to_bits and to_radix for values >128 bits (#1312) (12f3e7e)

Miscellaneous Chores

v0.5.1

01 May 19:30
7f6dede
Compare
Choose a tag to compare

0.5.1 (2023-05-01)

Bug Fixes

  • Add Poseidon examples into integration tests (#1257) (2a5aa52)
  • fix linear_eval is no 0 serialisation issue (#1226) (41d96ae)

v0.5.0

28 Apr 21:37
049773b
Compare
Choose a tag to compare
v0.5.0 Pre-release
Pre-release

0.5.0 (2023-04-28)

⚠ BREAKING CHANGES

  • Switch to aztec_backend that uses upstream BB & UltraPlonk (#1114)

Features

Bug Fixes

v0.4.1

20 Apr 19:43
3d2233d
Compare
Choose a tag to compare

0.4.1 (2023-04-20)

Features

Bug Fixes

  • Add checks for nop (#1160) (809b85f)
  • allow comptime or non comptime fields in unconstrained for loops (#1172) (73df465)
  • maintain ordering of return value witnesses when constructing ABI (#1177) (b799c8a)
  • nargo: restore nargo codegen-verifier functionality (#1185) (528a2a4)
  • ssa: set correct predecessors of IF join (#1171) (7628ed6)

v0.4.0

17 Apr 16:43
a4b196a
Compare
Choose a tag to compare

0.4.0 (2023-04-17)

⚠ BREAKING CHANGES

  • remove outdated arkworks backend (#1151)
  • nargo: define preprocessed artifacts for programs/contracts (#1126)
  • nargo: use faster hash function for checking preprocessed keys (#1094)
  • Fix returning of structs in ACIR (#1058)
  • upgrade to acvm 0.8.0 (#1047)

Features

  • Add new Vec type to frontend (#1103) (e125157)
  • Add storage slots to globals (#1019) (4190e11)
  • Allow arbitrary noir functions to be unconstrained (#1044) (ebc8a36)
  • Allow non-comptime field indices in unconstrained functions (#1053) (bc52612)
  • Allow numeric generics to be referenced and add map (#997) (34eab32)
  • Allow secret functions to use public parameters (#1051) (12c0668)
  • Allow structs and arrays as globals (#1054) (dadbd3c)
  • Changes serialization for contract functions (#1056) (41e0020)
  • compiler: Allows specify entry_point source (#1026) (9789f89)
  • dynamic array indexing (#886) (aba1ed2)
  • Implement 'open' and 'unconstrained' keywords (#1037) (5a66dec)
  • Implement std::unsafe::zeroed (#1048) (9a43f85)
  • Implement arrays of structs (#1068) (f607150)
  • import core logic in cli from nargo crate (#1142) (753a272)
  • make noirc_driver aware of contracts (#999) (c21afca)
  • Merge all contracts into one ABI (#1033) (473428c)
  • nargo: add InvalidPackageError and DependencyResolutionError error types. (#1007) (1e6761b)
  • nargo: add skeleton of composite types in template input tomls (#1104) (1fb2756)
  • nargo: add test to example noir program (#1039) (f994c4f)
  • nargo: allow running nargo from any directory in package (#1010) (761fdb5)
  • nargo: define preprocessed artifacts for programs/contracts (#1126) (7528f59)
  • nargo: print-acir command (#1031) (408d9c0)
  • nargo: remove misleading quotes in generated Prover.toml (#1087) (57c817f)
  • nargo: split nargo into core and cli packages (#1065) (7c388f9)
  • read-only array (#899) (2e38ab0)
  • stdlib: Implement Poseidon hash (#768) (779ab66)

Bug Fixes

  • Avoid asserting in typechecker if struct field count is not correct (#1036) (b3d1d7f), closes #1028
  • compiler identifying imported functions as being part of a contract (#1112) (61c38d2)
  • correct name in CLI output from nargo_cli to nargo (74d7369)
  • correct test for mutually exclusive feature flags (#1085) (eb5c917)
  • crash when typechecking fields that don't exist (#1070) (a67e8c5)
  • Fix returning of structs in ACIR (#1058) (91bd471)
  • nargo: correct logic for rejecting transitive local dependencies (#1015) (e2b8b65)
  • nargo: correct name in CLI output from nargo_cli to nargo (#1095) (74d7369)
  • nargo: give contract artifacts unique names to prevent overwrites (#1158) (1227b2c)
  • nargo: only search for Nargo.toml in commands which act on a Nargo package (#1029) (6e642b9)
  • nargo: resolve local dependencies relative to root of depending package (38bf571)
  • Numeric generics with impls error (#1148) (5d6e4d0)
  • rationalise witness for constant values (#984) (ab32365)
  • Resolve globals in types (#1043) (2badf14)

Miscellaneous Chores

v0.3.2

17 Mar 13:34
29b1f7d
Compare
Choose a tag to compare

0.3.2 (2023-03-16)

Features

  • stdlib: Implement elliptic curve primitives (#964) (30d612d)

Bug Fixes

  • nargo: correct inconsistent file extension for ACIR hashes (#994) (23c22d7)
  • Prevent calling contract functions from outside the contract (#980) (21360e3)
  • reverse slash direction in StdLibAssets prefix on windows (#992) (65b7108)

v0.3.1

14 Mar 14:50
07b7576
Compare
Choose a tag to compare

0.3.1 (2023-03-13)

Features

Bug Fixes

  • Update backend dependency containing updated pk write fix (#956) (5d627a7)

v0.3.0

13 Mar 18:35
e7fea94
Compare
Choose a tag to compare

0.3.0 (2023-03-13)

⚠ BREAKING CHANGES

  • nargo: rename contract command to codegen-verifier (#959)
  • replace dummy ABIs with FunctionSignature type alias (#930)
  • nargo: save program ABI alongside ACIR (#922)
  • nargo: restrict CliError visibility to crate (#911)
  • prevent inconsistent language usage in Driver (#881)
  • abi: add explicit return type field to ABI. (#865)
  • abi: merge both abi encoding/decoding methods (#862)
  • abi: add an explicit mapping from ABI params to witness indices (#851)
  • Allow impls on primitive types (#847)

Features

  • abi: add an explicit mapping from ABI params to witness indices (#851) (5bd4bd5)
  • abi: add explicit return type field to ABI. (#865) (8ca5676)
  • abi: merge both abi encoding/decoding methods (#862) (fecd32c)
  • add support for reading boolean arrays from toml (#900) (93d83bf)
  • Allow impls on primitive types (#847) (479da0e)
  • ci: Publish noir_wasm when we cut a release (#871) (5186ab9)
  • compile: compile w/dependencies and options (#965) (3f897f6)
  • compile: Noir std lib embedded (#973) (13b9069)
  • Implement basic contracts (#944) (8ba3ab2)
  • Implement endianness specified versions of to_bytes to_radix and to_bits (#914) (43abc6b)
  • nargo: save program ABI alongside ACIR (#922) (ddaf305)
  • separate contract/program compilation from IO (#967) (c60f545)
  • Silence output of prove and verify (#892) (811b346)
  • ssa: add location to ssa instructions (#931) (356858b)
  • update to ACVM 0.5.0 (#902) (9b58da4)

Bug Fixes

  • abi: ensure that return value is loaded from toml (#883) (adba24c)
  • add more readable error for missing argument in toml (#971) (e31f41f)
  • allow parsing strings from toml into booleans (#894) (f729a00)
  • check the argument count of generic types (#970) (2688dc4)
  • compute witness when println evaluated before input (#891) (2727b34)
  • correct type checking to handle false bools (#893) (6c7aa2f)
  • display command description in CLI for nargo prove (#949) (2829af1)
  • evaluate constant division (#909) (b91307b)
  • Fix multiple call of to_le_bytes (#941) (2ee0119)
  • generate valid toml when outputting nested structs (#936) (ba947a7)
  • Improve member access error (#940) (9b5b5f6)
  • nargo: Switch order of writing acir file and acir checksum file (#895) (4fc94dc)
  • nargo: Use yml extension for bug report link presented upon panic (#960) (f7b3711)
  • nargo: Use yml extension on the bug report link presented upon panic (f7b3711)
  • noir_wasm: Update wasm ACIR serialization (#898) (575436f)
  • Optimize parser (#869) (e927a39)
  • prevent inconsistent language usage in Driver (48cda7a)
  • prevent inconsistent language usage in Driver (#881) (48cda7a)
  • properly initialise Evaluator in test (#863) (bbb70bd)
  • properly initialise Evaluator in test (bbb70bd)
  • Remove uses of std::process::exit (#963) (870ea46)
  • ssa: fix the compile-time check for equality in acir-gen (#904) (161e4fb)

Miscellaneous Chores

  • nargo: rename contract command to codegen-verifier (#959) (2e63492)
  • nargo: restrict CliError visibility to crate (#911) (ed0e1ab)
  • replace dummy ABIs with FunctionSignature type alias (#930) (156125b)

v0.2.0

16 Feb 22:22
ca986a4
Compare
Choose a tag to compare

0.2.0 (2023-02-16)

⚠ BREAKING CHANGES

  • Make abi field non-optional in CompiledProgram (#856)
  • nargo: bump MSRV to 1.66.0 (#799)

Features

Bug Fixes

  • avoid testing equality between unit values in acir_gen test (#849) (c2b7230)
  • ci: Skip the title check if handling a merge group (#790) (71b179c)
  • nargo: nargo test now only runs test functions defined in the current module (#805) (c6293c9)
  • operators issuing type errors when used with matching integer types arising from generic code (#789) (932943a)
  • ssa: delete instructions with false predicate (#760) (f329379)
  • ssa: synchronisation for functions (#764) (615357a)

Miscellaneous Chores

v0.1.1

06 Feb 19:51
0c16089
Compare
Choose a tag to compare

0.1.1 (2023-02-06)

Features

  • ci: Add workflow to validate PR title (#730) (e5e8542)
  • ci: Change release workflow to use release-please (950ca55)
  • docs: Introduce Conventional Commits & release process docs (#717) (950ca55)
  • nargo: add nargo execute command (#725) (9d6be60)
  • nargo: Add nargo test command to run all unit tests (#728) (2e1dc82)
  • nargo: add option to save witness to file in execute command (9d6be60)
  • nargo: add support for testing noir libraries (#752) (27bd2ac)
  • nargo: Leverage rustls instead of openssl for downloads (#691) (933809c)