Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: Release Noir(0.24.0) (noir-lang#4113)
🤖 I have created a release *beep* *boop* --- <details><summary>0.24.0</summary> ## [0.24.0](noir-lang/noir@v0.23.0...v0.24.0) (2024-02-12) ### ⚠ BREAKING CHANGES * rename bigint_neg into bigint_sub (AztecProtocol/aztec-packages#4420) * Add expression width into acir (AztecProtocol/aztec-packages#4014) * init storage macro (AztecProtocol/aztec-packages#4200) * **acir:** Move `is_recursive` flag to be part of the circuit definition (AztecProtocol/aztec-packages#4221) * Sync commits from `aztec-packages` ([noir-lang#4144](noir-lang#4144)) ### Features * Add bit size to const opcode (AztecProtocol/aztec-packages#4385) ([158c8ce](noir-lang@158c8ce)) * Add brillig array index check ([noir-lang#4127](noir-lang#4127)) ([c29f85f](noir-lang@c29f85f)) * Add definitions for From and Into traits to Noir prelude ([noir-lang#4169](noir-lang#4169)) ([4421ce4](noir-lang@4421ce4)) * Add expression width into acir (AztecProtocol/aztec-packages#4014) ([158c8ce](noir-lang@158c8ce)) * Add instrumentation for tracking variables in debugging ([noir-lang#4122](noir-lang#4122)) ([c58d691](noir-lang@c58d691)) * Add option to print monomorphized program ([noir-lang#4119](noir-lang#4119)) ([80f7e29](noir-lang@80f7e29)) * Add support for overriding expression width ([noir-lang#4117](noir-lang#4117)) ([c8026d5](noir-lang@c8026d5)) * Add warnings for usage of restricted bit sizes ([noir-lang#4234](noir-lang#4234)) ([0ffc38b](noir-lang@0ffc38b)) * Allow bitshifts to be represented in SSA for brillig ([noir-lang#4301](noir-lang#4301)) ([d86ff1a](noir-lang@d86ff1a)) * Allow brillig to read arrays directly from memory (AztecProtocol/aztec-packages#4460) ([158c8ce](noir-lang@158c8ce)) * Allow globals to refer to any expression ([noir-lang#4293](noir-lang#4293)) ([479330e](noir-lang@479330e)) * Allow nested arrays and vectors in Brillig foreign calls (AztecProtocol/aztec-packages#4478) ([158c8ce](noir-lang@158c8ce)) * Allow variables and stack trace inspection in the debugger ([noir-lang#4184](noir-lang#4184)) ([bf263fc](noir-lang@bf263fc)) * **avm:** Back in avm context with macro - refactor context (AztecProtocol/aztec-packages#4438) ([158c8ce](noir-lang@158c8ce)) * **aztec-nr:** Initial work for aztec public vm macro (AztecProtocol/aztec-packages#4400) ([158c8ce](noir-lang@158c8ce)) * Deallocate stack items at the instruction level ([noir-lang#4339](noir-lang#4339)) ([8f024a8](noir-lang@8f024a8)) * Disable constraint bubbling pass ([noir-lang#4131](noir-lang#4131)) ([9ba2de6](noir-lang@9ba2de6)) * Disable unused variable checks on low-level and oracle functions ([noir-lang#4179](noir-lang#4179)) ([8f70e57](noir-lang@8f70e57)) * Evaluation of dynamic assert messages ([noir-lang#4101](noir-lang#4101)) ([c284e01](noir-lang@c284e01)) * Improve Error Handling for Cargo in Bootstrap Script ([noir-lang#4211](noir-lang#4211)) ([3a90849](noir-lang@3a90849)) * Init storage macro (AztecProtocol/aztec-packages#4200) ([158c8ce](noir-lang@158c8ce)) * **lsp:** Goto type reference for Struct ([noir-lang#4091](noir-lang#4091)) ([d56cac2](noir-lang@d56cac2)) * Move bounded_vec into the noir stdlib ([noir-lang#4197](noir-lang#4197)) ([c50621f](noir-lang@c50621f)) * Multiply first to allow more ACIR gen optimizations ([noir-lang#4201](noir-lang#4201)) ([882639d](noir-lang@882639d)) * Option expect method ([noir-lang#4219](noir-lang#4219)) ([8e042f2](noir-lang@8e042f2)) * Perform constraints on uncasted values if they are the same type ([noir-lang#4303](noir-lang#4303)) ([816fa85](noir-lang@816fa85)) * Remove predicate from `sort` intrinsic function ([noir-lang#4228](noir-lang#4228)) ([d646243](noir-lang@d646243)) * Remove replacement of boolean range opcodes with `AssertZero` opcodes ([noir-lang#4107](noir-lang#4107)) ([dac0e87](noir-lang@dac0e87)) * Replace bitwise ANDs used for truncation with `Instruction::Truncate` ([noir-lang#4327](noir-lang#4327)) ([eb67ff6](noir-lang@eb67ff6)) * Replace modulo operations with truncations where possible ([noir-lang#4329](noir-lang#4329)) ([70f2435](noir-lang@70f2435)) * Separate compilation and expression narrowing in `nargo` interface ([noir-lang#4100](noir-lang#4100)) ([62a4e37](noir-lang@62a4e37)) * Simplify all unsigned constant NOT instructions ([noir-lang#4230](noir-lang#4230)) ([fab4a6e](noir-lang@fab4a6e)) * Sync commits from `aztec-packages` ([noir-lang#4144](noir-lang#4144)) ([0205d3b](noir-lang@0205d3b)) * Use constraint information to perform constant folding ([noir-lang#4060](noir-lang#4060)) ([9a4bf16](noir-lang@9a4bf16)) ### Bug Fixes * Accurate tracking of slice capacities across blocks ([noir-lang#4240](noir-lang#4240)) ([7420dbb](noir-lang@7420dbb)) * Allow function calls in global definitions ([noir-lang#4320](noir-lang#4320)) ([0dc205c](noir-lang@0dc205c)) * Allow performing bitwise NOT on unsigned integers ([noir-lang#4229](noir-lang#4229)) ([b3ddf10](noir-lang@b3ddf10)) * Apply generic arguments from trait constraints before instantiating identifiers ([noir-lang#4121](noir-lang#4121)) ([eb6fc0f](noir-lang@eb6fc0f)) * Apply range constraints to return values from unconstrained functions ([noir-lang#4217](noir-lang#4217)) ([3af2a89](noir-lang@3af2a89)) * Apply trait constraints from method calls ([noir-lang#4152](noir-lang#4152)) ([68c5486](noir-lang@68c5486)) * Better errors for missing `fn` keyword ([noir-lang#4154](noir-lang#4154)) ([057c208](noir-lang@057c208)) * Check for tests in all packages before failing due to an unsatisfied test filter ([noir-lang#4114](noir-lang#4114)) ([1107373](noir-lang@1107373)) * Clean error when attemping to return a slice from Brillig to ACIR ([noir-lang#4280](noir-lang#4280)) ([bcad4ec](noir-lang@bcad4ec)) * Correct result when assigning shared arrays in unconstrained code ([noir-lang#4210](noir-lang#4210)) ([bdd8a96](noir-lang@bdd8a96)) * **docs:** Codegen docs before cutting a new version ([noir-lang#4183](noir-lang#4183)) ([2914310](noir-lang@2914310)) * Ensure that destination register is allocated when moving between registers in brillig gen ([noir-lang#4316](noir-lang#4316)) ([ca0a56e](noir-lang@ca0a56e)) * Ensure that unconstrained entrypoint functions don't generate constraints ([noir-lang#4292](noir-lang#4292)) ([fae4ead](noir-lang@fae4ead)) * From field with constant values ([noir-lang#4226](noir-lang#4226)) ([593916b](noir-lang@593916b)) * **lsp:** Crash when file not in workspace ([noir-lang#4146](noir-lang#4146)) ([cf7130f](noir-lang@cf7130f)) * **lsp:** Replace panics with errors ([noir-lang#4209](noir-lang#4209)) ([26e9618](noir-lang@26e9618)) * Maintain correct type when simplifying `x ^ x` ([noir-lang#4082](noir-lang#4082)) ([9d83c2b](noir-lang@9d83c2b)) * Message formatting for assert statement ([noir-lang#4323](noir-lang#4323)) ([3972ead](noir-lang@3972ead)) * Prevent debugger crashing on circuits with no opcodes ([noir-lang#4283](noir-lang#4283)) ([2e32845](noir-lang@2e32845)) * Prevent declarations of blackbox functions outside of the stdlib ([noir-lang#4177](noir-lang#4177)) ([9fb6b09](noir-lang@9fb6b09)) * Remove panic from `init_log_level` in `acvm_js` ([noir-lang#4195](noir-lang#4195)) ([2e26530](noir-lang@2e26530)) * Respect order in bubble up for redundant asserts ([noir-lang#4109](noir-lang#4109)) ([189aa48](noir-lang@189aa48)) * Revert "correct result when assigning shared arrays" and added regression test ([noir-lang#4333](noir-lang#4333)) ([05e78b3](noir-lang@05e78b3)) * Save the data bus to the current function before generating others ([noir-lang#4047](noir-lang#4047)) ([0a5bd4f](noir-lang@0a5bd4f)) * Simplify constant assert messages into `ConstrainError::Static` ([noir-lang#4287](noir-lang#4287)) ([fd15052](noir-lang@fd15052)) * Ssa typing for array & slice indexes ([noir-lang#4278](noir-lang#4278)) ([4074bab](noir-lang@4074bab)) * Ssa typing for assign_lvalue_index ([noir-lang#4289](noir-lang#4289)) ([37f149c](noir-lang@37f149c)) * SSA typing for right shifts ([noir-lang#4302](noir-lang#4302)) ([41ee1aa](noir-lang@41ee1aa)) * Ssa typing of make_offset ([noir-lang#4277](noir-lang#4277)) ([e4378ee](noir-lang@e4378ee)) * Track graphs of item dependencies to find dependency cycles ([noir-lang#4266](noir-lang#4266)) ([61eabf1](noir-lang@61eabf1)) * Type check ACIR mutable reference passed to brillig ([noir-lang#4281](noir-lang#4281)) ([7e139de](noir-lang@7e139de)) * Update array method type signatures in the docs ([noir-lang#4178](noir-lang#4178)) ([7c0a955](noir-lang@7c0a955)) * Zero out input to `to_radix` calls if inactive ([noir-lang#4116](noir-lang#4116)) ([3f5bad3](noir-lang@3f5bad3)) ### Miscellaneous Chores * **acir:** Move `is_recursive` flag to be part of the circuit definition (AztecProtocol/aztec-packages#4221) ([158c8ce](noir-lang@158c8ce)) * Rename bigint_neg into bigint_sub (AztecProtocol/aztec-packages#4420) ([158c8ce](noir-lang@158c8ce)) </details> <details><summary>0.40.0</summary> ## [0.40.0](noir-lang/noir@v0.39.0...v0.40.0) (2024-02-12) ### ⚠ BREAKING CHANGES * rename bigint_neg into bigint_sub (AztecProtocol/aztec-packages#4420) * Add expression width into acir (AztecProtocol/aztec-packages#4014) * init storage macro (AztecProtocol/aztec-packages#4200) * **acir:** Move `is_recursive` flag to be part of the circuit definition (AztecProtocol/aztec-packages#4221) * Sync commits from `aztec-packages` ([noir-lang#4144](noir-lang#4144)) * Breaking changes from aztec-packages ([noir-lang#3955](noir-lang#3955)) * Rename Arithmetic opcode to AssertZero ([noir-lang#3840](noir-lang#3840)) * Remove unused methods on ACIR opcodes ([noir-lang#3841](noir-lang#3841)) * Remove partial backend feature ([noir-lang#3805](noir-lang#3805)) ### Features * Add bit size to const opcode (AztecProtocol/aztec-packages#4385) ([158c8ce](noir-lang@158c8ce)) * Add expression width into acir (AztecProtocol/aztec-packages#4014) ([158c8ce](noir-lang@158c8ce)) * Add instrumentation for tracking variables in debugging ([noir-lang#4122](noir-lang#4122)) ([c58d691](noir-lang@c58d691)) * Add support for overriding expression width ([noir-lang#4117](noir-lang#4117)) ([c8026d5](noir-lang@c8026d5)) * Allow brillig to read arrays directly from memory (AztecProtocol/aztec-packages#4460) ([158c8ce](noir-lang@158c8ce)) * Allow nested arrays and vectors in Brillig foreign calls (AztecProtocol/aztec-packages#4478) ([158c8ce](noir-lang@158c8ce)) * Allow variables and stack trace inspection in the debugger ([noir-lang#4184](noir-lang#4184)) ([bf263fc](noir-lang@bf263fc)) * **avm:** Back in avm context with macro - refactor context (AztecProtocol/aztec-packages#4438) ([158c8ce](noir-lang@158c8ce)) * **aztec-nr:** Initial work for aztec public vm macro (AztecProtocol/aztec-packages#4400) ([158c8ce](noir-lang@158c8ce)) * Aztec-packages ([noir-lang#3754](noir-lang#3754)) ([c043265](noir-lang@c043265)) * Breaking changes from aztec-packages ([noir-lang#3955](noir-lang#3955)) ([5be049e](noir-lang@5be049e)) * Evaluation of dynamic assert messages ([noir-lang#4101](noir-lang#4101)) ([c284e01](noir-lang@c284e01)) * Init storage macro (AztecProtocol/aztec-packages#4200) ([158c8ce](noir-lang@158c8ce)) * Remove range constraints from witnesses which are constrained to be constants ([noir-lang#3928](noir-lang#3928)) ([afe9c7a](noir-lang@afe9c7a)) * Remove replacement of boolean range opcodes with `AssertZero` opcodes ([noir-lang#4107](noir-lang#4107)) ([dac0e87](noir-lang@dac0e87)) * Speed up transformation of debug messages ([noir-lang#3815](noir-lang#3815)) ([2a8af1e](noir-lang@2a8af1e)) * Sync `aztec-packages` ([noir-lang#4011](noir-lang#4011)) ([fee2452](noir-lang@fee2452)) * Sync commits from `aztec-packages` ([noir-lang#4068](noir-lang#4068)) ([7a8f3a3](noir-lang@7a8f3a3)) * Sync commits from `aztec-packages` ([noir-lang#4144](noir-lang#4144)) ([0205d3b](noir-lang@0205d3b)) ### Bug Fixes * Deserialize odd length hex literals ([noir-lang#3747](noir-lang#3747)) ([4000fb2](noir-lang@4000fb2)) * Remove panic from `init_log_level` in `acvm_js` ([noir-lang#4195](noir-lang#4195)) ([2e26530](noir-lang@2e26530)) * Return error rather instead of panicking on invalid circuit ([noir-lang#3976](noir-lang#3976)) ([67201bf](noir-lang@67201bf)) ### Miscellaneous Chores * **acir:** Move `is_recursive` flag to be part of the circuit definition (AztecProtocol/aztec-packages#4221) ([158c8ce](noir-lang@158c8ce)) * Remove partial backend feature ([noir-lang#3805](noir-lang#3805)) ([0383100](noir-lang@0383100)) * Remove unused methods on ACIR opcodes ([noir-lang#3841](noir-lang#3841)) ([9e5d0e8](noir-lang@9e5d0e8)) * Rename Arithmetic opcode to AssertZero ([noir-lang#3840](noir-lang#3840)) ([836f171](noir-lang@836f171)) * Rename bigint_neg into bigint_sub (AztecProtocol/aztec-packages#4420) ([158c8ce](noir-lang@158c8ce)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
- Loading branch information