diff --git a/.release-please-manifest.json b/.release-please-manifest.json index fd6cef7047a..e3112f8e85e 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.0.0-beta.1" + ".": "1.0.0-beta.2" } diff --git a/CHANGELOG.md b/CHANGELOG.md index da72291a3b0..4046ae8001f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,151 @@ # Changelog +## [1.0.0-beta.2](https://github.com/noir-lang/noir/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2025-02-05) + + +### ⚠ BREAKING CHANGES + +* `loop` statements (only frontend) ([#7092](https://github.com/noir-lang/noir/issues/7092)) +* Include kind in `StructDefinition::generics` and fix derivation of Eq in structs with numeric generics ([#7076](https://github.com/noir-lang/noir/issues/7076)) +* Handle generic fields in `StructDefinition::fields` and move old functionality to `StructDefinition::fields_as_written` ([#7067](https://github.com/noir-lang/noir/issues/7067)) +* disallow calling unconstrained functions outside of `unsafe` blocks and passing unconstrained functions in place of constrained functions ([#6938](https://github.com/noir-lang/noir/issues/6938)) +* Disable mocks in `execute` ([#6869](https://github.com/noir-lang/noir/issues/6869)) +* require trait primitive functions/calls to have their trait in scope ([#6901](https://github.com/noir-lang/noir/issues/6901)) +* Reserve `enum` and `match` keywords ([#6961](https://github.com/noir-lang/noir/issues/6961)) +* require trait method calls (`foo.bar()`) to have the trait in scope (imported) ([#6895](https://github.com/noir-lang/noir/issues/6895)) +* type-check trait default methods ([#6645](https://github.com/noir-lang/noir/issues/6645)) +* update `aes128_encrypt` to return an array ([#6973](https://github.com/noir-lang/noir/issues/6973)) +* turn TypeIsMorePrivateThenItem into an error ([#6953](https://github.com/noir-lang/noir/issues/6953)) +* turn CannotReexportItemWithLessVisibility into an error ([#6952](https://github.com/noir-lang/noir/issues/6952)) +* Switch to using `jsonrpsee` for foreign calls; refactor `run_test`; foreign call layering ([#6849](https://github.com/noir-lang/noir/issues/6849)) + +### Features + +* `--pedantic-solving` flag ([#6716](https://github.com/noir-lang/noir/issues/6716)) ([5b9a113](https://github.com/noir-lang/noir/commit/5b9a113b1540ef18479dbc63c7ad916dc4891276)) +* `loop` keyword in runtime and comptime code ([#7096](https://github.com/noir-lang/noir/issues/7096)) ([c4f183c](https://github.com/noir-lang/noir/commit/c4f183c1f35b1eeb4190b9b0cbf8613a883cb113)) +* `loop` must have at least one `break` ([#7126](https://github.com/noir-lang/noir/issues/7126)) ([8804f0a](https://github.com/noir-lang/noir/commit/8804f0a8c4f75b51fad83fc1a423da2b36f184af)) +* `loop` statements (only frontend) ([#7092](https://github.com/noir-lang/noir/issues/7092)) ([48e613e](https://github.com/noir-lang/noir/commit/48e613ea97afb829012b3c5b1f8181d4f5ccfb7b)) +* Add `ConstrainNotEqual` instruction ([#7032](https://github.com/noir-lang/noir/issues/7032)) ([51180b9](https://github.com/noir-lang/noir/commit/51180b9c2c74d9746240a9fbc29d4214d7729f6a)) +* Add `noir-inspector` ([#7136](https://github.com/noir-lang/noir/issues/7136)) ([a0704aa](https://github.com/noir-lang/noir/commit/a0704aa53250aed9c5460a60f5aaffa87772732f)) +* Allow associated types to be ellided from trait constraints ([#7026](https://github.com/noir-lang/noir/issues/7026)) ([aa7b91c](https://github.com/noir-lang/noir/commit/aa7b91c4657f1dbdf734dfd8071c0517272092ba)) +* Allow resolved types in constructors ([#7223](https://github.com/noir-lang/noir/issues/7223)) ([6d319af](https://github.com/noir-lang/noir/commit/6d319afe651ebc6d36493604e088489787b1b612)) +* Allow specifying multiple patterns in nargo test ([#7186](https://github.com/noir-lang/noir/issues/7186)) ([bd44e40](https://github.com/noir-lang/noir/commit/bd44e40c42ff33afd7daa0abd0c4267e972bef26)) +* Auto-import traits when suggesting trait methods ([#7037](https://github.com/noir-lang/noir/issues/7037)) ([a9acf5a](https://github.com/noir-lang/noir/commit/a9acf5a2fa8a673074e623e3ebd899bd24598649)) +* Avoid generating a new witness when checking if linear expression is zero ([#7031](https://github.com/noir-lang/noir/issues/7031)) ([14c9237](https://github.com/noir-lang/noir/commit/14c9237c92d4f7d2d30a25a20307d58c586e9fc0)) +* Avoid inserting `inc_rc` instructions into ACIR ([#7036](https://github.com/noir-lang/noir/issues/7036)) ([2d316c2](https://github.com/noir-lang/noir/commit/2d316c2075cc53de5f62141ea293afc57c9d3802)) +* **brillig:** Set global memory size at program compile time ([#7151](https://github.com/noir-lang/noir/issues/7151)) ([7f9525d](https://github.com/noir-lang/noir/commit/7f9525dfdb4036befbd21b0d2546b83884593aa4)) +* **brillig:** SSA globals code gen ([#7021](https://github.com/noir-lang/noir/issues/7021)) ([82cb900](https://github.com/noir-lang/noir/commit/82cb9007b89c1a3520c85d3134916a29127226db)) +* **cli:** Add CLI option to filter by contract function name ([#7018](https://github.com/noir-lang/noir/issues/7018)) ([fc5848c](https://github.com/noir-lang/noir/commit/fc5848c7e24a3708ed8c3c378d081895997bfb54)) +* **comptime:** Implement to_be_bits and to_le_bits in the interpreter ([#7008](https://github.com/noir-lang/noir/issues/7008)) ([a7eea81](https://github.com/noir-lang/noir/commit/a7eea81e8418a90ba415a1f37157371f56ea4f1d)) +* Disable mocks in `execute` ([#6869](https://github.com/noir-lang/noir/issues/6869)) ([e71fcdf](https://github.com/noir-lang/noir/commit/e71fcdfebd92c349d4b2f52d87ead2b18edfcd4a)) +* Disallow calling unconstrained functions outside of `unsafe` blocks and passing unconstrained functions in place of constrained functions ([#6938](https://github.com/noir-lang/noir/issues/6938)) ([2732947](https://github.com/noir-lang/noir/commit/2732947a45ee8827045cdc3d0aff2001fd270080)) +* Don't report warnings for dependencies ([#6926](https://github.com/noir-lang/noir/issues/6926)) ([7cc8dbf](https://github.com/noir-lang/noir/commit/7cc8dbfe670aeaf9ec84f30265417658f5465d11)) +* Don't simplify SSA instructions when creating them from a string ([#6948](https://github.com/noir-lang/noir/issues/6948)) ([da94c2b](https://github.com/noir-lang/noir/commit/da94c2b45fd43cbd6a5f2ba15b665dcb3a5e33a5)) +* **experimental:** Construct enum variants in expressions ([#7174](https://github.com/noir-lang/noir/issues/7174)) ([e338952](https://github.com/noir-lang/noir/commit/e33895248ccfbfaf728fe12b8c430420b7bf7468)) +* **experimental:** Implement enum tag constants ([#7183](https://github.com/noir-lang/noir/issues/7183)) ([0c6c637](https://github.com/noir-lang/noir/commit/0c6c6371c6d0a19be3f4347678fab52f6c91f79a)) +* **experimental:** Implement zeroed for enums ([#7252](https://github.com/noir-lang/noir/issues/7252)) ([b410f56](https://github.com/noir-lang/noir/commit/b410f562e6a2580c1afb283812856da5d430ddd5)) +* **experimental:** Parse match expressions ([#7243](https://github.com/noir-lang/noir/issues/7243)) ([97073b2](https://github.com/noir-lang/noir/commit/97073b2af2b8527c6332fe1f621adef6b9460ee6)) +* **experimental:** Support enums in comptime code ([#7194](https://github.com/noir-lang/noir/issues/7194)) ([4fe4cc6](https://github.com/noir-lang/noir/commit/4fe4cc68c2a45e09f0ec103ad11bd4224f1d9b25)) +* **experimental:** Try to infer lambda argument types inside calls ([#7088](https://github.com/noir-lang/noir/issues/7088)) ([a3b823c](https://github.com/noir-lang/noir/commit/a3b823c18962c0fa026d1d34a7eaaa1ad037a3cb)) +* Handle generic fields in `StructDefinition::fields` and move old functionality to `StructDefinition::fields_as_written` ([#7067](https://github.com/noir-lang/noir/issues/7067)) ([14a7e37](https://github.com/noir-lang/noir/commit/14a7e37d7f18f1d6e9148ecc77059999d5f9b14b)) +* Impl Default for U128 ([#6984](https://github.com/noir-lang/noir/issues/6984)) ([3c488f4](https://github.com/noir-lang/noir/commit/3c488f4b272f460383341c51270b87bfe2b94468)) +* Infer lambda parameter types from return type and let type ([#7267](https://github.com/noir-lang/noir/issues/7267)) ([05dc343](https://github.com/noir-lang/noir/commit/05dc3433ceeb3a395673b9b8431cfdbdc762249f)) +* Inline simple functions ([#7160](https://github.com/noir-lang/noir/issues/7160)) ([c17e228](https://github.com/noir-lang/noir/commit/c17e228f98e5714fb3a2b56ff4c0a2aa469e77c4)) +* Lock on Nargo.toml on several nargo commands ([#6941](https://github.com/noir-lang/noir/issues/6941)) ([54d81ca](https://github.com/noir-lang/noir/commit/54d81ca7236b2d418cd87d8c26e87f4790ab3d78)) +* LSP autocomplete module declaration ([#7154](https://github.com/noir-lang/noir/issues/7154)) ([1f1e750](https://github.com/noir-lang/noir/commit/1f1e7508e024d187c6a69501e7459a613e381b4a)) +* LSP chain inlay hints ([#7152](https://github.com/noir-lang/noir/issues/7152)) ([1927bda](https://github.com/noir-lang/noir/commit/1927bdaba6fe9ddb8f62948f13e2af84285f0ac7)) +* **LSP:** Auto-import trait reexport if trait is not visible ([#7079](https://github.com/noir-lang/noir/issues/7079)) ([197b02a](https://github.com/noir-lang/noir/commit/197b02ada3a251720bf762b9e892df0b7448fa37)) +* **LSP:** Code action to import trait in a method call ([#7066](https://github.com/noir-lang/noir/issues/7066)) ([3b8d1da](https://github.com/noir-lang/noir/commit/3b8d1da2ac9f751b8fff3eaad0c64cbba8d01575)) +* **LSP:** Suggest enum variants without parameters ([#7261](https://github.com/noir-lang/noir/issues/7261)) ([fc75298](https://github.com/noir-lang/noir/commit/fc7529850bf76df5e771f6d7b95bbcf8702eb570)) +* **LSP:** Suggest trait methods from where clauses ([#6915](https://github.com/noir-lang/noir/issues/6915)) ([21eef0d](https://github.com/noir-lang/noir/commit/21eef0dd9f4afe0602b418b468d84058bcf5128c)) +* **lsp:** Use trait method docs for trait impl method docs on hover ([#7003](https://github.com/noir-lang/noir/issues/7003)) ([4d38a88](https://github.com/noir-lang/noir/commit/4d38a8849c2731182bef11f4e616561c498a76d7)) +* **optimization:** Add purity analysis to SSA ([#7197](https://github.com/noir-lang/noir/issues/7197)) ([9f21824](https://github.com/noir-lang/noir/commit/9f218247aecf2a57eab43fde667e7b0759eeb78c)) +* Parse globals in SSA parser ([#7112](https://github.com/noir-lang/noir/issues/7112)) ([fd3377b](https://github.com/noir-lang/noir/commit/fd3377b3ae279fafc6d72a62c7661c542c713117)) +* Parser and formatter support for `enum`s ([#7110](https://github.com/noir-lang/noir/issues/7110)) ([7705a62](https://github.com/noir-lang/noir/commit/7705a624842d1e1f716506b005ca65e397ff7a9f)) +* Require trait function calls (`Foo::bar()`) to have the trait in scope (imported) ([#6882](https://github.com/noir-lang/noir/issues/6882)) ([a5447ed](https://github.com/noir-lang/noir/commit/a5447edd8befb72d2fcae4c79de4bd54f1620bea)) +* Require trait method calls (`foo.bar()`) to have the trait in scope (imported) ([#6895](https://github.com/noir-lang/noir/issues/6895)) ([d61633d](https://github.com/noir-lang/noir/commit/d61633d628a0baa20ea45fb95386b262d7fbf7bc)) +* Require trait primitive functions/calls to have their trait in scope ([#6901](https://github.com/noir-lang/noir/issues/6901)) ([56c931a](https://github.com/noir-lang/noir/commit/56c931a8e59e9e67e8bd5aae4a114e85fe40ff98)) +* Resolve enums & prepare type system ([#7115](https://github.com/noir-lang/noir/issues/7115)) ([a1cf830](https://github.com/noir-lang/noir/commit/a1cf830b3cdf17a9265b8bdbf366d65c253f0ca4)) +* Simplify subtraction from self to return zero ([#7189](https://github.com/noir-lang/noir/issues/7189)) ([49d1b13](https://github.com/noir-lang/noir/commit/49d1b13a185dbf4a61beddd62c5304b4ec8ea3bc)) +* Skip codegen of zero iteration loops ([#7030](https://github.com/noir-lang/noir/issues/7030)) ([fa12b7f](https://github.com/noir-lang/noir/commit/fa12b7fe81a637586e4af78ff1487355e9b2020c)) +* SSA globals in monomorphization and SSA gen ([#6985](https://github.com/noir-lang/noir/issues/6985)) ([db28cb9](https://github.com/noir-lang/noir/commit/db28cb9ffb710c286b54dbfcf57292ae3dffb03d)) +* **ssa:** Add flag to DIE pass to be able to keep `store` instructions ([#7106](https://github.com/noir-lang/noir/issues/7106)) ([ed12ad7](https://github.com/noir-lang/noir/commit/ed12ad751336e726436b4fa7aad6958497e96285)) +* **ssa:** Expand feature set of the Brillig constraint check ([#7060](https://github.com/noir-lang/noir/issues/7060)) ([2d415ca](https://github.com/noir-lang/noir/commit/2d415ca12b7f4511c6634b833ed1a6dcdf9f76fc)) +* **ssa:** Hoist add and mul binary ops using known induction variables ([#6910](https://github.com/noir-lang/noir/issues/6910)) ([ebc4d2c](https://github.com/noir-lang/noir/commit/ebc4d2cf2b91658a10393733407f33d50a0faaf1)) +* **ssa:** Immediately simplify away RefCount instructions in ACIR functions ([#6893](https://github.com/noir-lang/noir/issues/6893)) ([ab8807d](https://github.com/noir-lang/noir/commit/ab8807d27b0442bd7e9ff73050f44bacea3add16)) +* **ssa:** Pass to preprocess functions ([#7072](https://github.com/noir-lang/noir/issues/7072)) ([bc0c0ca](https://github.com/noir-lang/noir/commit/bc0c0ca7f96d52f79944ec7a002df315b91337f2)) +* **ssa:** Reuse constants from the globals graph when making constants in a function DFG ([#7153](https://github.com/noir-lang/noir/issues/7153)) ([d3ca3b7](https://github.com/noir-lang/noir/commit/d3ca3b711d358e0ac98410121d3c798b9327523b)) +* **ssa:** Treat globals as constant in a function's DFG ([#7040](https://github.com/noir-lang/noir/issues/7040)) ([1273ea4](https://github.com/noir-lang/noir/commit/1273ea4ebbbc88f30b4dfd15e45fbeba9136d761)) +* Switch to using `jsonrpsee` for foreign calls; refactor `run_test`; foreign call layering ([#6849](https://github.com/noir-lang/noir/issues/6849)) ([51a4d5d](https://github.com/noir-lang/noir/commit/51a4d5d5237ba78e1b9eb3cdce760d3fb6b8d295)) +* **test:** Enable the test fuzzer for Wasm ([#6835](https://github.com/noir-lang/noir/issues/6835)) ([f4745d4](https://github.com/noir-lang/noir/commit/f4745d4578a4aec526b3440707e5fdcb0452811f)) +* Turn CannotReexportItemWithLessVisibility into an error ([#6952](https://github.com/noir-lang/noir/issues/6952)) ([da18a12](https://github.com/noir-lang/noir/commit/da18a12e32e60fb2301e747fd24505fb46d679d7)) +* Turn TypeIsMorePrivateThenItem into an error ([#6953](https://github.com/noir-lang/noir/issues/6953)) ([8b6f720](https://github.com/noir-lang/noir/commit/8b6f720fb5b855f557d3d520f18b69a5830242b2)) +* Type-check trait default methods ([#6645](https://github.com/noir-lang/noir/issues/6645)) ([8bb3908](https://github.com/noir-lang/noir/commit/8bb3908281d531160db7d7898c67fb2647792e6e)) +* Unchecked math operations in SSA ([#7011](https://github.com/noir-lang/noir/issues/7011)) ([f6ed6aa](https://github.com/noir-lang/noir/commit/f6ed6aa9f469c719ca47d01e3118f37cedde0f9e)) +* Unconstrained optimizations for BoundedVec ([#7119](https://github.com/noir-lang/noir/issues/7119)) ([3597ffe](https://github.com/noir-lang/noir/commit/3597ffe1c9098aecf1be808c5575d9cd62a70dda)) +* Update `aes128_encrypt` to return an array ([#6973](https://github.com/noir-lang/noir/issues/6973)) ([dcdccfc](https://github.com/noir-lang/noir/commit/dcdccfcafaf29f91187951f0a26bcbd48cd67c27)) +* Warn on trait method visibility ([#6923](https://github.com/noir-lang/noir/issues/6923)) ([bb71bcb](https://github.com/noir-lang/noir/commit/bb71bcb3a0eec6f76a48085ba9684cb8dd4aa27f)) + + +### Bug Fixes + +* `Function::is_no_predicates` always returned false for brillig f… ([#7167](https://github.com/noir-lang/noir/issues/7167)) ([8cab0e4](https://github.com/noir-lang/noir/commit/8cab0e4578aada98402a95386e7c4258afd38a6c)) +* Add missing `is_empty` check for enums ([#7257](https://github.com/noir-lang/noir/issues/7257)) ([a9e9850](https://github.com/noir-lang/noir/commit/a9e985064303b0843cbf68fb5a9d41f9ade1e30d)) +* Allow calling trait impl method from struct if multiple impls exist ([#7124](https://github.com/noir-lang/noir/issues/7124)) ([966d8a6](https://github.com/noir-lang/noir/commit/966d8a607436f371079f2e7fa3774046fb9785a5)) +* Allow implicit associated types on integer type kinds ([#7078](https://github.com/noir-lang/noir/issues/7078)) ([f2a6d10](https://github.com/noir-lang/noir/commit/f2a6d1038ecb922367ffb7280c4b0781043ade02)) +* Allow multiple trait impls for the same trait as long as one is in scope ([#6987](https://github.com/noir-lang/noir/issues/6987)) ([7328f0b](https://github.com/noir-lang/noir/commit/7328f0b2a7411e7c38dae0c2bd5fa2cd04c75461)) +* Always normalize ssa when priting at least one pass ([#7299](https://github.com/noir-lang/noir/issues/7299)) ([d327462](https://github.com/noir-lang/noir/commit/d3274622aecd32a105a0f494f47646bca61585bc)) +* Avoid creating unnecessary memory blocks ([#7114](https://github.com/noir-lang/noir/issues/7114)) ([521f5ce](https://github.com/noir-lang/noir/commit/521f5ce5721181e0b686887bdb47d3be1a8501a8)) +* Avoid type error when calling something with a type alias of a function ([#7239](https://github.com/noir-lang/noir/issues/7239)) ([429ae52](https://github.com/noir-lang/noir/commit/429ae523bbc6ab69daadcfde7dce0dc548ba69f2)) +* Bigint builtins are foreigns ([#6892](https://github.com/noir-lang/noir/issues/6892)) ([a1f9c94](https://github.com/noir-lang/noir/commit/a1f9c949825bac1068a4e00e93e95b0dbfa8b5a7)) +* **brillig:** Globals entry point reachability analysis ([#7188](https://github.com/noir-lang/noir/issues/7188)) ([bdcfd38](https://github.com/noir-lang/noir/commit/bdcfd38e4d8c9fb9dcd4298ac263f681e470a6ce)) +* Consistent file_id across installation paths ([#6912](https://github.com/noir-lang/noir/issues/6912)) ([baca790](https://github.com/noir-lang/noir/commit/baca790a7241044c7a1cce1f2aab13a2c5c998a8)) +* Correct reversed callstacks ([#7212](https://github.com/noir-lang/noir/issues/7212)) ([dc06d8e](https://github.com/noir-lang/noir/commit/dc06d8eabeba18a9928e32477dbfa7ca5cdc8dfe)) +* Defunctionalize pass on the caller runtime to apply ([#7100](https://github.com/noir-lang/noir/issues/7100)) ([dd70845](https://github.com/noir-lang/noir/commit/dd7084545dfd93a07599fc10676b6c8ec1e3d458)) +* Do not emit range check for multiplication by bool ([#6983](https://github.com/noir-lang/noir/issues/6983)) ([c0a4010](https://github.com/noir-lang/noir/commit/c0a4010444a8c59562f760d1c36429caf08c0608)) +* Do not panic on indices which are not valid `u32`s ([#6976](https://github.com/noir-lang/noir/issues/6976)) ([bf474c0](https://github.com/noir-lang/noir/commit/bf474c0ee837fdf8809b2785759f86a433122174)) +* Do not remove memory blocks used as brillig input ([#7073](https://github.com/noir-lang/noir/issues/7073)) ([8d2a2dd](https://github.com/noir-lang/noir/commit/8d2a2ddcd90053483cc62c2cdf0797bee3490b10)) +* **docs:** Update broken links to EC lib ([#7141](https://github.com/noir-lang/noir/issues/7141)) ([ff55a77](https://github.com/noir-lang/noir/commit/ff55a77b809cf40f747d79048639a8c544d733b5)) +* Don't always select trait impl when verifying trait constraints ([#7041](https://github.com/noir-lang/noir/issues/7041)) ([ba07336](https://github.com/noir-lang/noir/commit/ba07336e5e5229eefae342dadec2526bfb0a72a2)) +* Don't always use an exclusive lock in `nargo check` ([#7120](https://github.com/noir-lang/noir/issues/7120)) ([bbdb937](https://github.com/noir-lang/noir/commit/bbdb937d44ddfbcd02a746dba9ad73ac704fcdd3)) +* Don't fail parsing macro if there are parser warnings ([#6969](https://github.com/noir-lang/noir/issues/6969)) ([7f0067c](https://github.com/noir-lang/noir/commit/7f0067c3f7efa804d244e93258351f998e281ccb)) +* Ensure canonical bits decomposition ([#7168](https://github.com/noir-lang/noir/issues/7168)) ([3e2fe1f](https://github.com/noir-lang/noir/commit/3e2fe1f8634cd575d76f0f5ccbcc563af6bf948c)) +* Error on missing function parameters ([#6967](https://github.com/noir-lang/noir/issues/6967)) ([38d429e](https://github.com/noir-lang/noir/commit/38d429e0cd8c23ce23f7c0559250809fed7f67ac)) +* Include kind in `StructDefinition::generics` and fix derivation of Eq in structs with numeric generics ([#7076](https://github.com/noir-lang/noir/issues/7076)) ([f17b7cc](https://github.com/noir-lang/noir/commit/f17b7ccb075f1e7fb1ecfaf2807d350532ae3ebf)) +* Keep `inc_rc` for array inputs during preprocessing ([#7163](https://github.com/noir-lang/noir/issues/7163)) ([29d2d8a](https://github.com/noir-lang/noir/commit/29d2d8ad657c21aa230afee38a5be4926857c3e2)) +* Let static_assert fail with the provided message ([#7005](https://github.com/noir-lang/noir/issues/7005)) ([268229e](https://github.com/noir-lang/noir/commit/268229e8e1497472dc514baeb792985677963735)) +* LSP hover over function with `&mut self` ([#7155](https://github.com/noir-lang/noir/issues/7155)) ([c8d5ce5](https://github.com/noir-lang/noir/commit/c8d5ce5e72f3171f24e4fe2b94ac098ba6d99ef6)) +* **LSP:** Correct signature for assert and assert_eq ([#7184](https://github.com/noir-lang/noir/issues/7184)) ([b6fa180](https://github.com/noir-lang/noir/commit/b6fa1805c71e343d36e26a56cf243680b444b61e)) +* **lsp:** Suggest all possible trait methods, but only visible ones ([#7027](https://github.com/noir-lang/noir/issues/7027)) ([7d46287](https://github.com/noir-lang/noir/commit/7d46287a2c7f538f2df09de11946ac16932b1d63)) +* Mark field division and modulo as requiring predicate for all necessary types ([#7290](https://github.com/noir-lang/noir/issues/7290)) ([e476f95](https://github.com/noir-lang/noir/commit/e476f95da8749c97735ac54bf5aaf2a442b034fc)) +* **nargo_fmt:** Don't consider identifiers the same if they are equal… ([#7043](https://github.com/noir-lang/noir/issues/7043)) ([18ea051](https://github.com/noir-lang/noir/commit/18ea0515c47b65fa8e599cc22b1772619ae69b2e)) +* **nargo_fmt:** Let doc comment could come after regular comment ([#7046](https://github.com/noir-lang/noir/issues/7046)) ([c3f8a46](https://github.com/noir-lang/noir/commit/c3f8a46e5491fb6d6d9662ff46165ca087c9f60b)) +* Non-determinism from under constrained checks ([#6945](https://github.com/noir-lang/noir/issues/6945)) ([203242c](https://github.com/noir-lang/noir/commit/203242c0c05e9333caaa8df55a4ed9a02e000882)) +* Preserve types when reading from calldata arrays ([#7144](https://github.com/noir-lang/noir/issues/7144)) ([f73dc9a](https://github.com/noir-lang/noir/commit/f73dc9a0830b8484684b2ce1bc7fdde938cf537b)) +* Prevent overlapping associated types impls ([#7047](https://github.com/noir-lang/noir/issues/7047)) ([ed9977a](https://github.com/noir-lang/noir/commit/ed9977a57e0015ed653f54ce9377225434a947df)) +* Prevent panic within `remove_possibly_mutated_cached_make_arrays` ([#7264](https://github.com/noir-lang/noir/issues/7264)) ([130d991](https://github.com/noir-lang/noir/commit/130d99125a09110a3ee3e877d88d83b5aa37f369)) +* Proper cleanup when breaking from comptime loop on error ([#7125](https://github.com/noir-lang/noir/issues/7125)) ([bf32a22](https://github.com/noir-lang/noir/commit/bf32a22b4f813602123aa377cb50b1baac7f856c)) +* Reduce memory usage in mem2reg ([#7053](https://github.com/noir-lang/noir/issues/7053)) ([a0ffedf](https://github.com/noir-lang/noir/commit/a0ffedfdf445b2dc6655cafa6fe614958ddb9603)) +* Remove unnecessary cast in bit-shift ([#6890](https://github.com/noir-lang/noir/issues/6890)) ([011fbc1](https://github.com/noir-lang/noir/commit/011fbc195419df0254af69cfea593291c8f80af3)) +* Remove unused brillig functions ([#7102](https://github.com/noir-lang/noir/issues/7102)) ([4727b16](https://github.com/noir-lang/noir/commit/4727b16047f1eef229b3f8ec1096c661b45e10ae)) +* Reproduce and fix bytecode blowup ([#6972](https://github.com/noir-lang/noir/issues/6972)) ([724547d](https://github.com/noir-lang/noir/commit/724547d8c18cb814342441a7ec83e35bbd931cba)) +* Require generic trait impls to be in scope to call them ([#6913](https://github.com/noir-lang/noir/issues/6913)) ([5300ec3](https://github.com/noir-lang/noir/commit/5300ec321fb99ddaad32e83f751aed28e175736f)) +* Return trait impl method as FuncId if there's only one ([#6989](https://github.com/noir-lang/noir/issues/6989)) ([8d7f1f9](https://github.com/noir-lang/noir/commit/8d7f1f909c50887bca6ff1243d70622c2a3b3ec8)) +* Show output of `test_program_is_idempotent` on failure ([#6942](https://github.com/noir-lang/noir/issues/6942)) ([a690d96](https://github.com/noir-lang/noir/commit/a690d96e6111830aba245fd3f1118a87f6f6b018)) +* **ssa:** Only attempt to inline constant Brillig calls for entry points ([#7260](https://github.com/noir-lang/noir/issues/7260)) ([1ae035f](https://github.com/noir-lang/noir/commit/1ae035fd0719b63f632e1225d9f240ef074b3705)) +* **ssa:** Resolve value before fetching from DFG in a couple cases ([#7169](https://github.com/noir-lang/noir/issues/7169)) ([39af02f](https://github.com/noir-lang/noir/commit/39af02fc618822fe0bca7df8ddb95f96413b2299)) +* **ssa:** Unused functions removals post folding constant Brillig calls ([#7265](https://github.com/noir-lang/noir/issues/7265)) ([d5d6cb7](https://github.com/noir-lang/noir/commit/d5d6cb7c8520ab3fa635db2b4f690fa333e78e59)) +* **ssa:** Use number of SSA instructions for the Brillig unrolling bytecode size limit ([#7242](https://github.com/noir-lang/noir/issues/7242)) ([8d39337](https://github.com/noir-lang/noir/commit/8d39337bc25bed77d03413ce02b90a2a30863ec1)) +* **ssa:** Use post order when mapping instructions in loop invariant pass ([#7140](https://github.com/noir-lang/noir/issues/7140)) ([b00facb](https://github.com/noir-lang/noir/commit/b00facbbf9f9ec2b4d8887155770c6b288a7bb60)) +* Start RC at 1 again ([#6958](https://github.com/noir-lang/noir/issues/6958)) ([6f086b3](https://github.com/noir-lang/noir/commit/6f086b3c4b240ae5e95ccd18f2499596edee9408)) +* **unrolling:** Fetch original bytecode size from the original function ([#7253](https://github.com/noir-lang/noir/issues/7253)) ([5841122](https://github.com/noir-lang/noir/commit/5841122627ed7f786d24ea2fef3008126569fd55)) +* Wrong module to lookup trait when using crate or super ([#6974](https://github.com/noir-lang/noir/issues/6974)) ([74ec723](https://github.com/noir-lang/noir/commit/74ec7239fcc5664e97fd41b0987967e671c742b6)) + + +### Miscellaneous Chores + +* Reserve `enum` and `match` keywords ([#6961](https://github.com/noir-lang/noir/issues/6961)) ([e08f4fa](https://github.com/noir-lang/noir/commit/e08f4faef0bed5331824d2d6fdca7416a3154e5d)) + ## [1.0.0-beta.1](https://github.com/noir-lang/noir/compare/v1.0.0-beta.0...v1.0.0-beta.1) (2024-12-20) diff --git a/Cargo.toml b/Cargo.toml index 31088d923a4..6e586b009a3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -47,7 +47,7 @@ resolver = "2" [workspace.package] # x-release-please-start-version -version = "1.0.0-beta.1" +version = "1.0.0-beta.2" # x-release-please-end authors = ["The Noir Team "] edition = "2021" diff --git a/acvm-repo/acir/Cargo.toml b/acvm-repo/acir/Cargo.toml index d7ff0a085f0..de55860762e 100644 --- a/acvm-repo/acir/Cargo.toml +++ b/acvm-repo/acir/Cargo.toml @@ -2,7 +2,7 @@ name = "acir" description = "ACIR is the IR that the VM processes, it is analogous to LLVM IR" # x-release-please-start-version -version = "1.0.0-beta.1" +version = "1.0.0-beta.2" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/acvm-repo/acir_field/Cargo.toml b/acvm-repo/acir_field/Cargo.toml index f9ae3a4ea3f..bc4be250cfd 100644 --- a/acvm-repo/acir_field/Cargo.toml +++ b/acvm-repo/acir_field/Cargo.toml @@ -2,7 +2,7 @@ name = "acir_field" description = "The field implementation being used by ACIR." # x-release-please-start-version -version = "1.0.0-beta.1" +version = "1.0.0-beta.2" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/acvm-repo/acvm/Cargo.toml b/acvm-repo/acvm/Cargo.toml index e0948720b8c..90291847513 100644 --- a/acvm-repo/acvm/Cargo.toml +++ b/acvm-repo/acvm/Cargo.toml @@ -2,7 +2,7 @@ name = "acvm" description = "The virtual machine that processes ACIR given a backend/proof system." # x-release-please-start-version -version = "1.0.0-beta.1" +version = "1.0.0-beta.2" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/acvm-repo/acvm_js/Cargo.toml b/acvm-repo/acvm_js/Cargo.toml index a69c5e2adec..308d0ef516b 100644 --- a/acvm-repo/acvm_js/Cargo.toml +++ b/acvm-repo/acvm_js/Cargo.toml @@ -2,7 +2,7 @@ name = "acvm_js" description = "Typescript wrapper around the ACVM allowing execution of ACIR code" # x-release-please-start-version -version = "1.0.0-beta.1" +version = "1.0.0-beta.2" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/acvm-repo/acvm_js/package.json b/acvm-repo/acvm_js/package.json index 85fcfd7adfb..e54a952698b 100644 --- a/acvm-repo/acvm_js/package.json +++ b/acvm-repo/acvm_js/package.json @@ -1,6 +1,6 @@ { "name": "@noir-lang/acvm_js", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "publishConfig": { "access": "public" }, diff --git a/acvm-repo/blackbox_solver/Cargo.toml b/acvm-repo/blackbox_solver/Cargo.toml index 2c2e0d7675e..bcd5be3f43a 100644 --- a/acvm-repo/blackbox_solver/Cargo.toml +++ b/acvm-repo/blackbox_solver/Cargo.toml @@ -2,7 +2,7 @@ name = "acvm_blackbox_solver" description = "A solver for the blackbox functions found in ACIR and Brillig" # x-release-please-start-version -version = "1.0.0-beta.1" +version = "1.0.0-beta.2" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/acvm-repo/bn254_blackbox_solver/Cargo.toml b/acvm-repo/bn254_blackbox_solver/Cargo.toml index 146759cfd65..5ac93d9d8f6 100644 --- a/acvm-repo/bn254_blackbox_solver/Cargo.toml +++ b/acvm-repo/bn254_blackbox_solver/Cargo.toml @@ -2,7 +2,7 @@ name = "bn254_blackbox_solver" description = "Solvers for black box functions which are specific for the bn254 curve" # x-release-please-start-version -version = "1.0.0-beta.1" +version = "1.0.0-beta.2" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/acvm-repo/brillig/Cargo.toml b/acvm-repo/brillig/Cargo.toml index 0d52b4b05ed..d037531b8ed 100644 --- a/acvm-repo/brillig/Cargo.toml +++ b/acvm-repo/brillig/Cargo.toml @@ -2,7 +2,7 @@ name = "brillig" description = "Brillig is the bytecode ACIR uses for non-determinism." # x-release-please-start-version -version = "1.0.0-beta.1" +version = "1.0.0-beta.2" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/acvm-repo/brillig_vm/Cargo.toml b/acvm-repo/brillig_vm/Cargo.toml index 41d845f0d9e..531179f54d1 100644 --- a/acvm-repo/brillig_vm/Cargo.toml +++ b/acvm-repo/brillig_vm/Cargo.toml @@ -2,7 +2,7 @@ name = "brillig_vm" description = "The virtual machine that processes Brillig bytecode, used to introduce non-determinism to the ACVM" # x-release-please-start-version -version = "1.0.0-beta.1" +version = "1.0.0-beta.2" # x-release-please-end authors.workspace = true edition.workspace = true diff --git a/compiler/wasm/package.json b/compiler/wasm/package.json index 84250dfa7da..d93a2b7f1d8 100644 --- a/compiler/wasm/package.json +++ b/compiler/wasm/package.json @@ -3,7 +3,7 @@ "contributors": [ "The Noir Team " ], - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "license": "(MIT OR Apache-2.0)", "main": "dist/main.js", "types": "./dist/types/src/index.d.cts", diff --git a/tooling/noir_codegen/package.json b/tooling/noir_codegen/package.json index 351a29ae595..02aef995d2a 100644 --- a/tooling/noir_codegen/package.json +++ b/tooling/noir_codegen/package.json @@ -3,7 +3,7 @@ "contributors": [ "The Noir Team " ], - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "packageManager": "yarn@3.5.1", "license": "(MIT OR Apache-2.0)", "type": "module", diff --git a/tooling/noir_js/package.json b/tooling/noir_js/package.json index 2a6dc614cb0..fee79c680de 100644 --- a/tooling/noir_js/package.json +++ b/tooling/noir_js/package.json @@ -3,7 +3,7 @@ "contributors": [ "The Noir Team " ], - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "packageManager": "yarn@3.5.1", "license": "(MIT OR Apache-2.0)", "type": "module", diff --git a/tooling/noir_js_types/package.json b/tooling/noir_js_types/package.json index 057ff29ef25..4cf637db0db 100644 --- a/tooling/noir_js_types/package.json +++ b/tooling/noir_js_types/package.json @@ -4,7 +4,7 @@ "The Noir Team " ], "packageManager": "yarn@3.5.1", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "license": "(MIT OR Apache-2.0)", "homepage": "https://noir-lang.org/", "repository": { diff --git a/tooling/noirc_abi_wasm/package.json b/tooling/noirc_abi_wasm/package.json index 0148a9343db..769efe1d92a 100644 --- a/tooling/noirc_abi_wasm/package.json +++ b/tooling/noirc_abi_wasm/package.json @@ -3,7 +3,7 @@ "contributors": [ "The Noir Team " ], - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "license": "(MIT OR Apache-2.0)", "homepage": "https://noir-lang.org/", "repository": {