Skip to content

v0.4.0

Compare
Choose a tag to compare
@kevaundray kevaundray released this 17 Apr 16:43
a4b196a

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