Releases: noir-lang/noir
Releases · noir-lang/noir
v0.6.0
0.6.0 (2023-05-16)
⚠ BREAKING CHANGES
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
andto_radix
for values >128 bits (#1312) (12f3e7e)
Miscellaneous Chores
v0.5.1
v0.5.0
v0.4.1
0.4.1 (2023-04-20)
Features
- Add Poseidon-BN254 hash functions (#1176) (33feb2b)
- bump noir-source-resolver version (#1182) (750ed77)
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
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
andDependencyResolutionError
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
tonargo
(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
tonargo
(#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
v0.3.1
v0.3.0
0.3.0 (2023-03-13)
⚠ BREAKING CHANGES
- nargo: rename
contract
command tocodegen-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
andto_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
v0.2.0
0.2.0 (2023-02-16)
⚠ BREAKING CHANGES
Features
- acvm: Update to acvm 0.4.1 (#779) (6f57e86)
- ci: Add concurrency group for rust workflow (#806) (1b80f55)
- ci: Add concurreny group for rust workflow (1b80f55)
- ci: Build binaries when a release is made (#773) (a0c0c2c)
- Impls with generics (#798) (bea735d)
- nargo: add flag to verify created proofs (#737) (e981c7c)
- nargo: add panic hook (74cb340)
- nargo: Add panic hook (#850) (74cb340)
- nargo: Update nargo to use preprocessing interface (#765) (b3f1556)
- nargo: Version info in nargo and wasm (#802) (fd64be5)
- ssa: array sort (#754) (32e9320)
- std_lib: println statements (#630) (d5d1be2)
- stdlib: Add higher order array functions (#833) (9c62fef)
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
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)