Skip to content

Latest commit

 

History

History
641 lines (488 loc) · 80.8 KB

CHANGELOG.md

File metadata and controls

641 lines (488 loc) · 80.8 KB

Changelog

0.10.3 (2023-08-16)

Features

  • Allow calling higher-order functions with closures (#2335) (75fd3e0)
  • lsp: Add Compile code lens for main function and contracts (#2309) (5fe69c6)
  • lsp: Add Execute code lens for main functions (#2330) (5aa59e0)

Bug Fixes

  • Display warning if last expression of block is unused (#2314) (8110136)

0.10.2 (2023-08-16)

Bug Fixes

  • Prevent dead instruction elimination of brillig functions which may contain side-effects (#2340) (ba8ffd8)

0.10.1 (2023-08-15)

Features

  • Add full call stacks to runtime errors (#2310) (9004181)
  • Improved error message for unexpected return type (#2302) (d7e1e65)
  • ssa: Perform dead instruction elimination on intrinsic functions (#2276) (3fe3f8c)
  • ssa: Switch mem2reg pass to be per function rather than per block (#2243) (0d548b9)
  • stdlib: Implement str as_bytes and into_bytes function (#2298) (92549d4)

0.10.0 (2023-08-15)

⚠ BREAKING CHANGES

  • nargo: Remove -p short flag from the --program-dir flag (#2300)
  • nargo: Replace --contracts flag with contract package type (#2204)
  • nargo: remove flat_witness feature flag (#2208)
  • nargo: Require package type be specified in Nargo.toml (#2134)
  • Allow specifying new package name with --name flag (#2144)
  • nargo: Remove unused flags on LSP command (#2170)
  • Support workspaces and package selection on every nargo command (#1992)
  • nargo: Require package names in Nargo.toml files (#2056)
  • Update to ACVM 0.21.0 (#2051)
  • Drop support for the legacy SSA (#2049)
  • nargo: Rename nargo gates to nargo info (#2038)
  • nargo: Default to new SSA code for compilation

Features

  • acir_gen: RecursiveAggregation opcode and updates to black box func call generation (#2097) (5cb8166)
  • Add assert_constant (#2242) (a72daa4)
  • Add deprecated attribute (#2041) (9e2cf6f)
  • Add Option<T> to noir stdlib (#1781) (920a900)
  • Add basic benchmarking (#2213) (c8fe617)
  • Add slice append (#2241) (90c5d18)
  • Add support for bitshifts by distances known at runtime (#2072) (b0fbc53)
  • Add support for slices of structs and nested slices in brillig (#2084) (620517f)
  • allow returning nested arrays from brillig (#2047) (4378bb8)
  • Allow specifying new package name with --name flag (#2144) (e932599)
  • Drop support for the legacy SSA (#2049) (3f33e44)
  • Execute brillig opcodes with constant inputs at compile-time (#2190) (79af8e6)
  • Format strings for prints (#1952) (3c82721)
  • Implement traits - parser support #2094 (#2230) (589f173)
  • Implement type aliases (#2112) (ce94cb4)
  • Include struct names in ABIs (#2266) (9824ca5)
  • Issue warning for signed integers (#2185) (1be1bcc)
  • Make arrays and slices polymorphic over each other (#2070) (ef91286)
  • nargo: Add --exact flag to nargo test (#2272) (1ad9199)
  • nargo: Add --workspace flag to run commands in every package (#2313) (d6deb0c)
  • nargo: Add support for contracts in nargo check (#2267) (3d1b252)
  • nargo: Default to new SSA code for compilation (ce37718)
  • nargo: Replace --contracts flag with contract package type (#2204) (968e12c)
  • nargo: Require package type be specified in Nargo.toml (#2134) (1c991d0)
  • nargo: Support custom entry points specified in TOML (#2158) (effb02a)
  • Only create new witnesses for distinctiveness when duplicates exist (#2191) (14cbdbc)
  • open functions are unconstrained (be44c7b)
  • Optimize x < 0 for unsigned x to false (#2206) (25bc969)
  • Optimize away constant calls to black box functions (#1981) (47b372c)
  • Optimize equality checks between a boolean and constant (#2201) (478c026)
  • Optionally output a debug artifact on compile (#2260) (edded24)
  • Perform input validation on user's package names (#2293) (87174ac)
  • Perform sorting of constant arrays at compile time (#2195) (c46d7a0)
  • Remove comptime and warn upon usage (#2178) (98d0de3)
  • Remove an unnecessary witness in mul_with_witness (#2078) (9f3198e)
  • replace boolean ANDs with multiplication (#1954) (435ab35)
  • ssa: Add additional BinaryOp simplifications (#2124) (50b2816)
  • Support contract package type in nargo info command (#2249) (d309cc0)
  • Support workspaces and package selection on every nargo command (#1992) (940b189)
  • Update to ACVM 0.21.0 (#2051) (ad118eb)

Bug Fixes

  • Add foreign impl error (#2216) (a53f5ed)
  • Avoid non-determinism in defunctionalization (#2069) (898a9fa)
  • avoid non-determinism in defunctionalize (898a9fa)
  • avoid potential panic in two_complement (#2081) (63c4da0)
  • Fix 3 parser test cases in parsing (#2284) (094aef1)
  • fix an ICE happening when we call a closure result from if/else (#2146) (928b3ad)
  • Fix an ICE when reassigning a mutable lambda variable to one with a different environment type (#2172) (a56db3e)
  • Fix assignment when both mut and &mut are used (#2264) (b07a7ff)
  • Fix methods not mutating fields (#2087) (6acc242)
  • flattening pass no longer overwrites previously mapped condition values (#2117) (f7742ab)
  • globals: Accurately filter literals for resolving globals (#2126) (1c21d0c)
  • Implement .len() in Acir-Gen (#2077) (ab61e3a)
  • Implement slices of structs (#2150) (6abcb79)
  • Initialize numeric generics' type to a polymorphic integer when used in an expression (#2179) (c74b228)
  • lsp: Ensure lsp does not crawl past the root specified (#2322) (d69e372)
  • lsp: Improve dependency resolution in context of Nargo.toml (#2226) (8846bf2)
  • lsp: Pass --program-dir to test command from codelens (#2292) (92e1802)
  • Mutating a variable no longer mutates its copy (#2057) (e85e485)
  • nargo: Allow --program-dir flag anywhere in a command (#2290) (7834fce)
  • nargo: Indicate which TOML file is missing package name (#2177) (9529157)
  • nargo: Make dependencies section optional in TOML (#2161) (099f4d4)
  • nargo: Remove -p short flag from the --program-dir flag (#2300) (cc2af74)
  • Open contract functions are unconstrained (#2052) (be44c7b)
  • optimize contracts built by nargo info (b30b3f4)
  • Optimize contracts built by nargo info (#2259) (b30b3f4)
  • Overflowing assignment will result in an error (#2321) (bc645fc)
  • Prevent panic when passing relative paths to --program-dir (#2324) (9eb45da)
  • properly capture lvalues in closure environments (#2120) (#2257) (ed5273c)
  • remove duplicated name option in nargo new (#2183) (68f5887)
  • Remove last vestige of array of structs to struct of arrays conversion (#2217) (34be264)
  • Rename Option::value to Option::_value (#2127) (8a1ace7)
  • Require package names to be non-empty (#2293) (87174ac)
  • Set location before cast instructions in SSA (#2202) (a72cc96)
  • simplification of overflowing integer operations (#2153) (4a5d2de)
  • stdlib: correct tecurve::contains formula (#1821) (6a10ecf)

Miscellaneous Chores

  • nargo: remove flat_witness feature flag (#2208) (32d52d3)
  • nargo: Remove unused flags on LSP command (#2170) (ccba78e)
  • nargo: Rename nargo gates to nargo info (#2038) (5907e96)
  • nargo: Require package names in Nargo.toml files (#2056) (bb28223)

0.9.0 (2023-07-25)

⚠ BREAKING CHANGES

  • ACIR bytecode encoding with Base64 (#1935)
  • Update to ACVM 0.18.1 and implement missing brillig blackboxes (#1914)

Features

Bug Fixes

  • 9_conditional end to end test (#1951) (2f6741f)
  • regression end to end test (#1965) (59f92e3)
  • Account for missing indices in flattened witness map (#1907) (3972410)
  • Add missing follow_bindings when checking if a type can be casted (#2022) (537c2bd)
  • Add Result to acir gen (#1927) (1f8fd51)
  • Assignment to arrays of structs (#1998) (2c3d976)
  • brillig_gen: Pass correct size of complex types input for brillig foreign calls (#1922) (04c89d2)
  • Create FileManager with a root and normalize filenames against it (#1881) (50c1648)
  • Differentiate stdlib CrateId from others (#1895) (211e251)
  • Don't panic when checking if an undeclared variable is mutable (#1987) (0449518)
  • emit Opcodes in correct order from GeneratedAcir::radix_le_decompose (#1903) (e5fe839)
  • emit opcode in correct order from GeneratedAcir::radix_le_decompose (e5fe839)
  • emit opcodes for sorting variables in order of execution (c43efab)
  • Emit opcodes for sorting variables in order of execution (#1941) (c43efab)
  • Fix auto-deref operations assigning the wrong result type (#1904) (827f78c)
  • lsp: Avoid storing Context until recompiles are possible (#1891) (fb5f20b)
  • method resolution when calling an &mut method with an &mut object type (#1947) (73c2e94)
  • Only flatten main (#1984) (ac865b1)
  • Parse an if followed by a tuple as a block (#1924) (8df4f05)
  • Perform occurs check before binding function types (#2027) (1544786)
  • Prevent if and for from parsing constructor expressions (#1916) (6d3029a)
  • Rebuild tests plus script to include secp256r1 change (#1908) (ca68666)
  • Switch from HashMap to BTreeMap in merge_stores (#2035) (4d179e3)
  • update int division optimization (#1928) (fb872c6)
  • Various fixes for defunctionalization & brillig gen (#1973) (f99f4bf)
  • workaround for LSP dependency resolution (#1865) (a8ac338)

0.8.0 (2023-07-07)

⚠ BREAKING CHANGES

  • ssa_refactor: Add Slices (#1728)
  • nargo: Make proving and verification keys optional (#1880)
  • update to ACVM 0.16.0 (#1863)

Features

  • add signed division (#1831) (d0894ad)
  • allow main to be a brillig function (#1861) (1330a2a)
  • brillig: implemented blackbox functions (#1788) (f9f38de)
  • brillig: wrap brillig fns to be top level (1330a2a)
  • defunctionalization pass for ssa refactor (#1870) (1d5d84d)
  • driver: Remove Driver struct and refactor functions to take Context (#1867) (8895853)
  • driver: Remove Driver struct and refactor functions to take context (8895853)
  • lsp: Add a codelens that runs test when clicked (#1835) (5d64f8a)
  • make array indexes polymophic integers (#1877) (0fc93fa)
  • make use of type information when serialising inputs (#1655) (310368d)
  • recursion working in brillig (#1854) (e55b5a8)
  • ssa refactor: Implement first-class references (#1849) (e5773e4)
  • ssa_refactor: Add Slices (#1728) (4bee979)
  • update to ACVM 0.16.0 (#1863) (9c89def)

Bug Fixes

  • crates: do not process relative dependencies twice (#1856) (b2e71bb)
  • lsp: Ensure stdlib is always added before the check_crate phase (#1840) (cb607f5)
  • lsp: Ensure that stdlib is always added to the driver during the check_crate phase (cb607f5)
  • Prevent comparisons from being used on Fields (#1860) (c8858fd)
  • ssa refactor: Add missed call to resolve (#1817) (fa9be1d)
  • ssa refactor: Fix recursive call to create_value_from_type (#1815) (890a63b)
  • ssa refactor: Prevent stores in 'then' branch from affecting the 'else' branch (#1827) (e068fd4)

Miscellaneous Chores

  • nargo: Make proving and verification keys optional (#1880) (be36c1e)

0.7.1 (2023-06-23)

Features

Bug Fixes

  • lsp: Ensure LSP can compile on Windows (#1794) (2992915)
  • Methods called after being passed through a generic type were not being detected (#1785) (e560cd2)
  • nargo: Update acvm-backend-barretenberg to allow wasm backend compilation (#1771) (97da745)
  • old ssa: fix to_be_bits (#1765) (2541fbd)
  • ssa refactor: ACIR gen NOT integer (#1749) (af749a0)
  • ssa refactor: allow simplified call inserts & fix const radix arg handling (#1774) (46facce)
  • ssa refactor: Fix flattening pass inserting loads before stores occur (#1783) (4293b15)
  • ssa refactor: Fix panic in acir-gen from multiplying values of different types (#1769) (1f9a132)
  • ssa refactor: function inlining orphans calls (#1747) (f30a90f)
  • ssa refactor: Ignore array out of bounds errors when enable_side_effects is false (#1797) (7b7682a)
  • ssa refactor: Implement merging of array values during flattening pass (#1767) (8f24751)
  • ssa refactor: recursion_level decrement (#1745) (e449b92)
  • ssa refactor: recursive branch analysis (#1759) (635b574)
  • ssa refactor: Reset condition value during flattening pass (#1811) (2e330e0)
  • ssa refactor: Speedup acir-gen (#1793) (1e75f0e)
  • ssa refactor: Speedup find-branch-ends (#1786) (861e42c)
  • Update array type when processing staged memory (#1751) (27eb748)

0.7.0 (2023-06-19)

⚠ BREAKING CHANGES

  • Update to acvm 0.14.0 (#1594)
  • update to ACVM 0.13.0 (#1393)
  • stdlib: remove unnecessary merkle functions from stdlib (#1424)
  • stdlib: return update verification functions to return bool
  • stdlib: update stdlib functions to return bool where appropriate (#1409)
  • Change serialization of struct field order to match the user defined order (#1166)
  • Update to ACVM 0.12.0 (#1339)
  • remove concept of noir fallbacks for foreign functions (#1371)
  • nargo: retire print-acir in favour of flag (#1328)

Features

  • Allow warnings by default (#1383) (e7a0d5c)
  • ci: update noir to build wasm with a nix flake file (#1208) (2209369)
  • lsp: Publish diagnostics on file save (#1676) (c53bfc8)
  • Make for-loop range be a polymorphic integer instead of just Field in unconstrained functions (#1583) (77fba56)
  • multiple item imports in use statement (#1466) (1dcd2ee)
  • nargo: Add lsp command to start server that reports no capabilities (#1560) (e28529d)
  • nargo: Allow user-specified file for prover inputs instead of Prover.toml (#1531) (91cbec6)
  • nargo: retire print-acir in favour of flag (#1328) (dffa3c5)
  • pass in closure to Driver to signal backend opcode support (#1349) (1e958c2)
  • remove concept of noir fallbacks for foreign functions (#1371) (dbec6f2)
  • ssa refactor: mem2reg opt pass (#1363) (5d1efd5)
  • stdlib: EdDSA sig verification (#1313) (04a15e0)
  • stdlib: return update verification functions to return bool (2b2be1e)
  • stdlib: update stdlib functions to return bool where appropriate (#1409) (2b2be1e)
  • Update to acvm 0.14.0 (#1594) (f2d6b7b)
  • update to ACVM 0.15.0 (#1616) (3109239)
  • use RAM/ROM opcode when supported by the backend (#1282) (242f07b)

Bug Fixes

  • Change serialization of struct field order to match the user defined order (#1166) (809aa3a)
  • Fix modulo operator for comptime values (#1361) (ba15d6d)
  • Fix nargo not showing compiler errors or warnings (#1694) (4233068)
  • frontend: Avoid panic if dependency cannot be resolved (#1719) (f35b346)
  • nargo: prevent -p arg clash (#1605) (4867f4e)
  • noirc_driver: Move error printing into nargo (#1598) (561cd63)
  • ssa refactor: Add missing calls to resolve in Instruction::simplify (#1678) (07b07d0)
  • ssa refactor: BigUint for radix (#1715) (00cf462)
  • ssa refactor: Change the result of simplifying Eq and Lt to bool (#1672) (1d48929)
  • ssa refactor: Do not remove enable_side_effects instructions in die pass (#1673) (cbee4c0)
  • ssa refactor: euclidean division for unsigned (#1721) (a1596bc)
  • ssa refactor: filter unreachable blocks from cfg (#1523) (202c345)
  • ssa refactor: fix array element propagation through constant folding and DIE (#1674) (301e244)
  • ssa refactor: Fix array elements not being mapped to new values (#1717) (4ebcbeb), closes #1688
  • ssa refactor: fix bad constant type caching (#1593) (37c0be6)
  • ssa refactor: Fix constant folding looping forever (#1611) (afe58cc)
  • ssa refactor: Fix failed_to_inline_a_function being set for intrinsics (#1675) (377ac5c)
  • ssa refactor: Fix flatten_cfg for ifs with no else (#1671) (7ce8cce)
  • ssa refactor: Fix mem2reg pass not always removing unused stores (#1677) (8310544)
  • ssa refactor: Fix ssa-gen of nested ifs (#1406) (5fd976e)
  • ssa refactor: Fix stack overflow during loop unrolling (#1666) (c7a7216)
  • ssa refactor: Implement array equality in SSA-gen (#1704) (0d31d83)
  • ssa refactor: more comprehensive instruction simplification (#1735) (97d6747)
  • ssa refactor: pad radix result (#1730) (8e9b612)
  • ssa refactor: resolve replaced value ids for printing (#1535) (08ca847)
  • ssa refactor: safe to query cfg for single block programs (#1401) (e2a23b3)
  • ssa refactor: schnorr signature handling (#1727) (98ecf93)
  • ssa refactor: Translate strings as arrays of characters (#1669) (2ba2ef6)
  • ssa refactor: truncate when simplifying constant casts (#1714) (a2108d7)
  • ssa: conditionalise array indexes under IF statements (#1395) (ddca3b4)
  • stdlib: Workaround for Field comparison error in EdDSA signature verification (#1372) (e790c9f)

Miscellaneous Chores

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

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)

0.5.0 (2023-04-28)

⚠ BREAKING CHANGES

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

Features

Bug Fixes

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)

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

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)

0.3.1 (2023-03-13)

Features

Bug Fixes

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

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)

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

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)