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.35.0) (noir-lang#6030)
🤖 I have created a release *beep* *boop* --- <details><summary>0.35.0</summary> ## [0.35.0](noir-lang/noir@v0.34.0...v0.35.0) (2024-10-03) ### ⚠ BREAKING CHANGES * Syncing TypeVariableKind with Kind ([noir-lang#6094](noir-lang#6094)) * remove sha256 opcode (AztecProtocol/aztec-packages#4571) * add support for u1 in the avm, ToRadix's radix arg is a memory addr (AztecProtocol/aztec-packages#8570) * Infer globals to be u32 when used in a type ([noir-lang#6083](noir-lang#6083)) * removing implicit numeric generics ([noir-lang#5837](noir-lang#5837)) ### Features * (LSP) if in runtime code, always suggest functions that return Quoted as macro calls ([noir-lang#6098](noir-lang#6098)) ([4a160cb](noir-lang@4a160cb)) * (LSP) remove unused imports ([noir-lang#6129](noir-lang#6129)) ([98bc460](noir-lang@98bc460)) * (LSP) show global value on hover ([noir-lang#6097](noir-lang#6097)) ([3d9d072](noir-lang@3d9d072)) * (LSP) suggest $vars inside `quote { ... }` ([noir-lang#6114](noir-lang#6114)) ([73245b3](noir-lang@73245b3)) * Add `Expr::as_constructor` ([noir-lang#5980](noir-lang#5980)) ([76dea7b](noir-lang@76dea7b)) * Add `Expr::as_for` and `Expr::as_for_range` ([noir-lang#6039](noir-lang#6039)) ([abcae75](noir-lang@abcae75)) * Add `Expr::as_lambda` ([noir-lang#6048](noir-lang#6048)) ([31130dc](noir-lang@31130dc)) * Add a `comptime` string type for string handling at compile-time ([noir-lang#6026](noir-lang#6026)) ([5d2984f](noir-lang@5d2984f)) * Add support for u1 in the avm, ToRadix's radix arg is a memory addr (AztecProtocol/aztec-packages#8570) ([e8bbce7](noir-lang@e8bbce7)) * Allow silencing an unused variable defined via `let` ([noir-lang#6149](noir-lang#6149)) ([a2bc059](noir-lang@a2bc059)) * Allow visibility modifiers in struct definitions ([noir-lang#6054](noir-lang#6054)) ([199be58](noir-lang@199be58)) * Check unconstrained trait impl method matches ([noir-lang#6057](noir-lang#6057)) ([aedc983](noir-lang@aedc983)) * Default to outputting witness with file named after package ([noir-lang#6031](noir-lang#6031)) ([e74b4ae](noir-lang@e74b4ae)) * Detect unconstructed structs ([noir-lang#6061](noir-lang#6061)) ([bcb438b](noir-lang@bcb438b)) * Do not double error on import with error ([noir-lang#6131](noir-lang#6131)) ([9b26650](noir-lang@9b26650)) * Expose `derived_generators` and `pedersen_commitment_with_separator` from the stdlib ([noir-lang#6154](noir-lang#6154)) ([877b806](noir-lang@877b806)) * Faster LSP by caching file managers ([noir-lang#6047](noir-lang#6047)) ([c48a4f8](noir-lang@c48a4f8)) * Hoist constant allocation outside of loops ([noir-lang#6158](noir-lang#6158)) ([180bfc9](noir-lang@180bfc9)) * Implement `to_be_radix` in the comptime interpreter ([noir-lang#6043](noir-lang#6043)) ([1550278](noir-lang@1550278)) * Implement solver for mov_registers_to_registers ([noir-lang#6089](noir-lang#6089)) ([4170c55](noir-lang@4170c55)) * Implement type paths ([noir-lang#6093](noir-lang#6093)) ([2174ffb](noir-lang@2174ffb)) * Let `Module::functions` and `Module::structs` return them in definition order ([noir-lang#6178](noir-lang#6178)) ([dec9874](noir-lang@dec9874)) * Let LSP suggest macro calls too ([noir-lang#6090](noir-lang#6090)) ([26d275b](noir-lang@26d275b)) * Let LSP suggest trait impl methods as you are typing them ([noir-lang#6029](noir-lang#6029)) ([dfed81b](noir-lang@dfed81b)) * LSP autocompletion for `TypePath` ([noir-lang#6117](noir-lang#6117)) ([3f79d8f](noir-lang@3f79d8f)) * **metaprogramming:** Add `#[use_callers_scope]` ([noir-lang#6050](noir-lang#6050)) ([8c34046](noir-lang@8c34046)) * Optimize allocating immediate amounts of memory (AztecProtocol/aztec-packages#8579) ([e8bbce7](noir-lang@e8bbce7)) * Optimize constraints in sha256 ([noir-lang#6145](noir-lang#6145)) ([164d29e](noir-lang@164d29e)) * **perf:** Allow array set last uses optimization in return block of Brillig functions ([noir-lang#6119](noir-lang#6119)) ([5598059](noir-lang@5598059)) * **perf:** Handle array set optimization across blocks for Brillig functions ([noir-lang#6153](noir-lang#6153)) ([12cb80a](noir-lang@12cb80a)) * **perf:** Optimize array set from get ([noir-lang#6207](noir-lang#6207)) ([dfeb1c5](noir-lang@dfeb1c5)) * **perf:** Remove inc_rc instructions for arrays which are never mutably borrowed ([noir-lang#6168](noir-lang#6168)) ([a195442](noir-lang@a195442)) * **perf:** Remove redundant inc rc without instructions between ([noir-lang#6183](noir-lang#6183)) ([be9dcfe](noir-lang@be9dcfe)) * **perf:** Remove unused loads in mem2reg and last stores per function ([noir-lang#5925](noir-lang#5925)) ([19eef30](noir-lang@19eef30)) * **perf:** Remove useless paired RC instructions within a block during DIE ([noir-lang#6160](noir-lang#6160)) ([59c4118](noir-lang@59c4118)) * **perf:** Simplify the cfg after DIE ([noir-lang#6184](noir-lang#6184)) ([a1b5046](noir-lang@a1b5046)) * Pretty print Quoted token stream ([noir-lang#6111](noir-lang#6111)) ([cd81f85](noir-lang@cd81f85)) * Refactor SSA passes to run on individual functions ([noir-lang#6072](noir-lang#6072)) ([85c502c](noir-lang@85c502c)) * Remove aztec macros ([noir-lang#6087](noir-lang#6087)) ([9d96207](noir-lang@9d96207)) * Remove orphaned blocks from cfg to improve `simplify_cfg` pass. ([noir-lang#6198](noir-lang#6198)) ([b4712c5](noir-lang@b4712c5)) * Remove sha256 opcode (AztecProtocol/aztec-packages#4571) ([e8bbce7](noir-lang@e8bbce7)) * Remove unnecessary branching in keccak impl ([noir-lang#6133](noir-lang#6133)) ([9c69dce](noir-lang@9c69dce)) * Represent assertions more similarly to function calls ([noir-lang#6103](noir-lang#6103)) ([3ecd0e2](noir-lang@3ecd0e2)) * Show test output when running via LSP ([noir-lang#6049](noir-lang#6049)) ([9fb010e](noir-lang@9fb010e)) * Simplify sha256 implementation ([noir-lang#6142](noir-lang#6142)) ([acdfbbc](noir-lang@acdfbbc)) * Skip `remove_enable_side_effects` pass on brillig functions ([noir-lang#6199](noir-lang#6199)) ([2303615](noir-lang@2303615)) * **ssa:** Simplify signed casts ([noir-lang#6166](noir-lang#6166)) ([eec3a61](noir-lang@eec3a61)) * Swap endianness in-place in keccak implementation ([noir-lang#6128](noir-lang#6128)) ([e3cdebe](noir-lang@e3cdebe)) * Syncing TypeVariableKind with Kind ([noir-lang#6094](noir-lang#6094)) ([6440e18](noir-lang@6440e18)) * Visibility for globals ([noir-lang#6161](noir-lang#6161)) ([103b54d](noir-lang@103b54d)) * Visibility for modules ([noir-lang#6165](noir-lang#6165)) ([fcdbcb9](noir-lang@fcdbcb9)) * Visibility for traits ([noir-lang#6056](noir-lang#6056)) ([5bbd9ba](noir-lang@5bbd9ba)) * Visibility for type aliases ([noir-lang#6058](noir-lang#6058)) ([66d2a07](noir-lang@66d2a07)) ### Bug Fixes * (LSP) make goto and hover work well for attributes ([noir-lang#6152](noir-lang#6152)) ([c679bc6](noir-lang@c679bc6)) * Allow macros to change types on each iteration of a comptime loop ([noir-lang#6105](noir-lang#6105)) ([0864e7c](noir-lang@0864e7c)) * Allow providing default implementations of unconstrained trait methods ([noir-lang#6138](noir-lang#6138)) ([7679bbc](noir-lang@7679bbc)) * Always parse all tokens from quoted token streams ([noir-lang#6064](noir-lang#6064)) ([23ed74b](noir-lang@23ed74b)) * Be more lenient with semicolons on interned expressions ([noir-lang#6062](noir-lang#6062)) ([052c4fe](noir-lang@052c4fe)) * Consider constants as used values to keep their rc ops ([noir-lang#6122](noir-lang#6122)) ([1217005](noir-lang@1217005)) * Correct stack trace order in comptime assertion failures ([noir-lang#6066](noir-lang#6066)) ([04f1636](noir-lang@04f1636)) * Databus panic for fns with empty params (AztecProtocol/aztec-packages#8847) ([d252748](noir-lang@d252748)) * Decode databus return values ([noir-lang#6095](noir-lang#6095)) ([c40eb1f](noir-lang@c40eb1f)) * Disable side-effects for no_predicates functions ([noir-lang#6027](noir-lang#6027)) ([fc74c55](noir-lang@fc74c55)) * Disambiguate field or int static trait method call ([noir-lang#6112](noir-lang#6112)) ([5b27ea4](noir-lang@5b27ea4)) * Do not duplicate constant arrays in brillig ([noir-lang#6155](noir-lang#6155)) ([68f3022](noir-lang@68f3022)) * **docs:** Rename recursion.md to recursion.mdx ([noir-lang#6195](noir-lang#6195)) ([054e48b](noir-lang@054e48b)) * Don't crash on untyped global used as array length ([noir-lang#6076](noir-lang#6076)) ([426f295](noir-lang@426f295)) * Ensure to_bytes returns the canonical decomposition ([noir-lang#6084](noir-lang#6084)) ([b280a79](noir-lang@b280a79)) * Error on `&mut x` when `x` is not mutable ([noir-lang#6037](noir-lang#6037)) ([57afc7d](noir-lang@57afc7d)) * Fix canonicalization bug ([noir-lang#6033](noir-lang#6033)) ([7397772](noir-lang@7397772)) * Fix comptime type formatting ([noir-lang#6079](noir-lang#6079)) ([e678091](noir-lang@e678091)) * Handle multi-byte utf8 characters in formatter ([noir-lang#6118](noir-lang#6118)) ([b1d0619](noir-lang@b1d0619)) * Handle parenthesized expressions in array length ([noir-lang#6132](noir-lang#6132)) ([9f0b397](noir-lang@9f0b397)) * Ignore compression of blocks after msg.len in sha256_var ([noir-lang#6206](noir-lang#6206)) ([76eec71](noir-lang@76eec71)) * Infer globals to be u32 when used in a type ([noir-lang#6083](noir-lang#6083)) ([78262c9](noir-lang@78262c9)) * Initialise databus using return values ([noir-lang#6074](noir-lang#6074)) ([e17dfa5](noir-lang@e17dfa5)) * Let LSP suggest fields and methods in LValue chains ([noir-lang#6051](noir-lang#6051)) ([5bf6567](noir-lang@5bf6567)) * Let token pretty printer handle `+=` and similar token sequences ([noir-lang#6135](noir-lang#6135)) ([684b6cc](noir-lang@684b6cc)) * **mem2reg:** Remove possibility of underflow ([noir-lang#6107](noir-lang#6107)) ([aea5cc7](noir-lang@aea5cc7)) * Parse a statement as an expression ([noir-lang#6040](noir-lang#6040)) ([ab203e4](noir-lang@ab203e4)) * Pass radix directly to the blackbox ([noir-lang#6164](noir-lang#6164)) ([82b89c4](noir-lang@82b89c4)) * Preserve generic kind on trait methods ([noir-lang#6099](noir-lang#6099)) ([1df102a](noir-lang@1df102a)) * Prevent check_can_mutate crashing on undefined variable ([noir-lang#6044](noir-lang#6044)) ([b3accfc](noir-lang@b3accfc)) * Revert mistaken stack size change ([noir-lang#6212](noir-lang#6212)) ([a37117a](noir-lang@a37117a)) * **ssa:** Check if result of array set is used in value of another array set ([noir-lang#6197](noir-lang#6197)) ([594ec91](noir-lang@594ec91)) * **ssa:** RC correctness issue ([noir-lang#6134](noir-lang#6134)) ([5b1c896](noir-lang@5b1c896)) * Type variables by default should have Any kind ([noir-lang#6203](noir-lang#6203)) ([268f2a0](noir-lang@268f2a0)) * Unify macro result type with actual type ([noir-lang#6086](noir-lang#6086)) ([af52873](noir-lang@af52873)) * Update databus in flattening ([noir-lang#6063](noir-lang#6063)) ([e993da1](noir-lang@e993da1)) ### Miscellaneous Chores * Removing implicit numeric generics ([noir-lang#5837](noir-lang#5837)) ([eda9043](noir-lang@eda9043)) </details> <details><summary>0.51.0</summary> ## [0.51.0](noir-lang/noir@v0.50.0...v0.51.0) (2024-10-03) ### ⚠ BREAKING CHANGES * remove sha256 opcode (AztecProtocol/aztec-packages#4571) * add support for u1 in the avm, ToRadix's radix arg is a memory addr (AztecProtocol/aztec-packages#8570) * Add Not instruction in brillig (AztecProtocol/aztec-packages#8488) * **avm:** variants for SET opcode (AztecProtocol/aztec-packages#8441) * **avm/brillig:** take addresses in calldatacopy (AztecProtocol/aztec-packages#8388) * constant inputs for blackbox (AztecProtocol/aztec-packages#7222) ### Features * (bb) 128-bit challenges (AztecProtocol/aztec-packages#8406) ([3c3ed1e](noir-lang@3c3ed1e)) * **acir_gen:** Width aware ACIR gen addition ([noir-lang#5493](noir-lang#5493)) ([85fa592](noir-lang@85fa592)) * Add assertions for ACVM `FunctionInput` `bit_size` ([noir-lang#5864](noir-lang#5864)) ([8712f4c](noir-lang@8712f4c)) * Add Not instruction in brillig (AztecProtocol/aztec-packages#8488) ([95e19ab](noir-lang@95e19ab)) * Add recursive aggregation object to proving/verification keys (AztecProtocol/aztec-packages#6770) ([4ea25db](noir-lang@4ea25db)) * Add reusable procedures to brillig generation (AztecProtocol/aztec-packages#7981) ([5c4f19f](noir-lang@5c4f19f)) * Add support for u1 in the avm, ToRadix's radix arg is a memory addr (AztecProtocol/aztec-packages#8570) ([e8bbce7](noir-lang@e8bbce7)) * Added indirect const instruction (AztecProtocol/aztec-packages#8065) ([5c4f19f](noir-lang@5c4f19f)) * Adding aggregation to honk and rollup (AztecProtocol/aztec-packages#7466) ([4ea25db](noir-lang@4ea25db)) * Automate verify_honk_proof input generation (AztecProtocol/aztec-packages#8092) ([5c4f19f](noir-lang@5c4f19f)) * **avm/brillig:** Take addresses in calldatacopy (AztecProtocol/aztec-packages#8388) ([3c3ed1e](noir-lang@3c3ed1e)) * **avm:** Variants for SET opcode (AztecProtocol/aztec-packages#8441) ([3c3ed1e](noir-lang@3c3ed1e)) * Avoid heap allocs when going to/from field (AztecProtocol/aztec-packages#7547) ([daad75c](noir-lang@daad75c)) * Change the layout of arrays and vectors to be a single pointer (AztecProtocol/aztec-packages#8448) ([d4832ec](noir-lang@d4832ec)) * Constant inputs for blackbox (AztecProtocol/aztec-packages#7222) ([fb97bb9](noir-lang@fb97bb9)) * Hook up secondary calldata column in dsl (AztecProtocol/aztec-packages#7759) ([4ea25db](noir-lang@4ea25db)) * Integrate new proving systems in e2e (AztecProtocol/aztec-packages#6971) ([daad75c](noir-lang@daad75c)) * Make Brillig do integer arithmetic operations using u128 instead of Bigint (AztecProtocol/aztec-packages#7518) ([daad75c](noir-lang@daad75c)) * Make token transfer be recursive (AztecProtocol/aztec-packages#7730) ([4ea25db](noir-lang@4ea25db)) * New test programs for wasm benchmarking (AztecProtocol/aztec-packages#8389) ([95e19ab](noir-lang@95e19ab)) * Note hashes as points (AztecProtocol/aztec-packages#7618) ([4ea25db](noir-lang@4ea25db)) * Optimize allocating immediate amounts of memory (AztecProtocol/aztec-packages#8579) ([e8bbce7](noir-lang@e8bbce7)) * Optimize constant array handling in brillig_gen (AztecProtocol/aztec-packages#7661) ([4ea25db](noir-lang@4ea25db)) * Optimize to_radix (AztecProtocol/aztec-packages#8073) ([5c4f19f](noir-lang@5c4f19f)) * Pass calldata ids to the backend (AztecProtocol/aztec-packages#7875) ([4ea25db](noir-lang@4ea25db)) * Poseidon2 gates for Ultra arithmetisation (AztecProtocol/aztec-packages#7494) ([5c4f19f](noir-lang@5c4f19f)) * **profiler:** Add support for brillig functions in opcodes-flamegraph (AztecProtocol/aztec-packages#7698) ([4ea25db](noir-lang@4ea25db)) * Remove sha256 opcode (AztecProtocol/aztec-packages#4571) ([e8bbce7](noir-lang@e8bbce7)) * Removing superfluous call to MSM (AztecProtocol/aztec-packages#7708) ([4ea25db](noir-lang@4ea25db)) * Report gates and VKs of private protocol circuits with megahonk (AztecProtocol/aztec-packages#7722) ([4ea25db](noir-lang@4ea25db)) * Simplify constant calls to `poseidon2_permutation`, `schnorr_verify` and `embedded_curve_add` ([noir-lang#5140](noir-lang#5140)) ([2823ba7](noir-lang@2823ba7)) * Small optimization in toradix (AztecProtocol/aztec-packages#8040) ([5c4f19f](noir-lang@5c4f19f)) * Sync from noir (AztecProtocol/aztec-packages#7392) ([fb97bb9](noir-lang@fb97bb9)) * Sync from noir (AztecProtocol/aztec-packages#7400) ([fb97bb9](noir-lang@fb97bb9)) * Sync from noir (AztecProtocol/aztec-packages#7432) ([daad75c](noir-lang@daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7444) ([daad75c](noir-lang@daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7454) ([daad75c](noir-lang@daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7512) ([daad75c](noir-lang@daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7577) ([daad75c](noir-lang@daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7583) ([daad75c](noir-lang@daad75c)) * Sync from noir (AztecProtocol/aztec-packages#7743) ([4ea25db](noir-lang@4ea25db)) * Sync from noir (AztecProtocol/aztec-packages#7862) ([4ea25db](noir-lang@4ea25db)) * Sync from noir (AztecProtocol/aztec-packages#7945) ([4ea25db](noir-lang@4ea25db)) * Sync from noir (AztecProtocol/aztec-packages#7958) ([5c4f19f](noir-lang@5c4f19f)) * Sync from noir (AztecProtocol/aztec-packages#8008) ([5c4f19f](noir-lang@5c4f19f)) * Sync from noir (AztecProtocol/aztec-packages#8093) ([5c4f19f](noir-lang@5c4f19f)) * Sync from noir (AztecProtocol/aztec-packages#8125) ([f0c2686](noir-lang@f0c2686)) * Sync from noir (AztecProtocol/aztec-packages#8237) ([f0c2686](noir-lang@f0c2686)) * Sync from noir (AztecProtocol/aztec-packages#8423) ([3c3ed1e](noir-lang@3c3ed1e)) * Sync from noir (AztecProtocol/aztec-packages#8435) ([3c3ed1e](noir-lang@3c3ed1e)) * Sync from noir (AztecProtocol/aztec-packages#8466) ([3c3ed1e](noir-lang@3c3ed1e)) * Sync from noir (AztecProtocol/aztec-packages#8482) ([d4832ec](noir-lang@d4832ec)) * Sync from noir (AztecProtocol/aztec-packages#8512) ([95e19ab](noir-lang@95e19ab)) * Sync from noir (AztecProtocol/aztec-packages#8526) ([95e19ab](noir-lang@95e19ab)) * TXE nr deployments, dependency cleanup for CLI (AztecProtocol/aztec-packages#7548) ([4ea25db](noir-lang@4ea25db)) * Typing return values of embedded_curve_ops (AztecProtocol/aztec-packages#7413) ([daad75c](noir-lang@daad75c)) * Unify all acir recursion constraints based on RecursionConstraint and proof_type (AztecProtocol/aztec-packages#7993) ([5c4f19f](noir-lang@5c4f19f)) ### Bug Fixes * Add trailing extra arguments for backend in gates_flamegraph (AztecProtocol/aztec-packages#7472) ([daad75c](noir-lang@daad75c)) * **debugger:** Update the debugger to handle the new Brillig debug metadata format ([noir-lang#5706](noir-lang#5706)) ([a31f82e](noir-lang@a31f82e)) * Deflatten databus visibilities (AztecProtocol/aztec-packages#7761) ([4ea25db](noir-lang@4ea25db)) * Do not duplicate redundant Brillig debug metadata ([noir-lang#5696](noir-lang#5696)) ([e4f7dbe](noir-lang@e4f7dbe)) * Export brillig names in contract functions (AztecProtocol/aztec-packages#8212) ([f0c2686](noir-lang@f0c2686)) * Handle multiple entry points for Brillig call stack resolution after metadata deduplication ([noir-lang#5788](noir-lang#5788)) ([38fe9dd](noir-lang@38fe9dd)) * Move BigInt modulus checks to runtime in brillig ([noir-lang#5374](noir-lang#5374)) ([741d339](noir-lang@741d339)) * Restrict keccak256_injective test input to 8 bits ([noir-lang#5977](noir-lang#5977)) ([a1b1346](noir-lang@a1b1346)) * Revert "feat: Sync from noir (AztecProtocol/aztec-packages#7512)" (AztecProtocol/aztec-packages#7558) ([daad75c](noir-lang@daad75c)) * Runtime brillig bigint id assignment ([noir-lang#5369](noir-lang#5369)) ([a8928dd](noir-lang@a8928dd)) </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