Skip to content

v1.0.0-beta.22

Latest

Choose a tag to compare

@noirwhal noirwhal released this 01 Jun 13:10
c57152f

1.0.0-beta.22 (2026-05-29)

⚠ BREAKING CHANGES

  • Remove DeprecatedVectorStart (#12740)
  • update serialization format (#12407)
  • allow UTF-8 in comments (#12699)
  • remove Expr::modify (#12653)
  • remove bytes32_to_field from stdlib (#12619)

Features

Bug Fixes

  • A couple of UHashMap fixes (#12457) (538683b)
  • acvm: Require recursive aggregation operands in validate_witness (#12795) (f5f1381)
  • Add impl bindings to monomorphization definition key (#12725) (fb8c60e)
  • Add lint checks for databus visibility on parameters and return … (#12837) (7d7bcd5)
  • Add side-effect check to is_oracle_wrapper (#12703) (69c05fa)
  • Allow referencing generated structs in struct fields, enum variants and globals (#12687) (9b2eab6)
  • ast_fuzzer: Forbid rebinding &mut T locals in constrained code (#12791) (bf1f2b3)
  • Avoid hashing instructions to detect whether they changed (#12742) (9776636)
  • Avoid panic on zero-limb field byte decomposition (#12738) (c1f34cd)
  • Change error exprs to return SkippedDueToEarlierErrors (#12686) (9dfec15)
  • Change mod by 0 error message (#12691) (7e476b2)
  • Check trait impl associated constant visibility (#12804) (3a400a7)
  • ci: Strip ANSI escapes in extract-fuzz-seeds.sh (#12683) (3306222)
  • Composite offsets in array_set (#12701) (1cdfd15)
  • Correct error span for unused numeric type alias (#12603) (2c4f1e5)
  • coverage: Avoid duplicate impl method names (#12622) (3f5e2e7)
  • coverage: Include impl trait generics in name (#12644) (c70e0b4)
  • Disallow inlining closures (#12805) (a8889ca)
  • docs: Preserve first-line indent in #include_code snippets (#12655) (32b539f)
  • Drop noirc_span dep from acir to unblock publish (#12587) (aaca1e0)
  • Elaborate numeric type alias in its module (#12776) (f04257a)
  • Elaborate op-assign RHS before LHS (#12682) (f6a584c)
  • Elaborate trait default methods only once (#12799) (dcd6249)
  • elaborator: Detect cyclic type aliases to prevent stack overflow (#12633) (c7a3bec)
  • elaborator: Simplify re-borrowing expressions (#12599) (f08f27b)
  • Evaluate attributes on impl methods (#12649) (36b02b0)
  • Fix ICE in find_by_path_suffix (#12643) (c0837a4)
  • Fix private trait's method being visible when imported directly (#12770) (8f1cde6)
  • Follow self_type bindings when matching turbofish on type (#12613) (5123dc0)
  • frontend: Bind impl-method generics on Normal trait-dispatch path (#12829) (a2e70b5)
  • frontend: Identify trait generics by id in <Self as Trait<..>>::Assoc shortcut (#12825) (ba91e25)
  • frontend: Infer trait generic in default method body (#12813) (e8c72ee)
  • frontend: Reject call_data ids that exceed u32::MAX (#12796) (3b19130)
  • frontend: Snapshot+restore call expr bindings around trait-item monomorphization (#12579) (884cef8)
  • Handle blocks inside references when finding last uses (#12705) (3b0ea26)
  • Handle quoted values in desugar_generic_trait_bounds (#12612) (85e6954)
  • Lazily define function metas (#12585) (e5caaf9)
  • Let nargo interpret validate inputs and output (#12744) (354282b)
  • licm: Insert inc_rc after hoisting array_set (#12665) (491cde7)
  • licm: Only apply to ascending loops (#12797) (f2e5668)
  • lsp: Correct trait impl generics on hover (#12755) (697f517)
  • lsp: Don't add to existing use in different module (#12648) (b129a3b)
  • lsp: Don't delete from id_to_location (#12647) (69efcf7)
  • lsp: Don't OOB when completing trait impl function (#12764) (c57d26a)
  • lsp: Let signature help work for "foo(" calls (#12765) (2160948)
  • Mark all UHashMap methods as unconstrained (#12766) (1d07ff4)
  • monomorphization: Give each captured-env reference a fresh IdentId (#12749) (d6a562b)
  • Normalize signatures during defunctionalization (#12700) (73e99dd)
  • Only produce one error when non-ASCII is used in identifier (#12704) (3d19976)
  • ownership: &mut { ...; expr } always clones expr (#12724) (b95448f)
  • Range-check decoded ABI values to keep encode/decode symmetric (#12847) (78591d8)
  • Remove all dead store removal from DIE (#12595) (f858ac6)
  • Remove zeroing of popped elements (#11679) (b1e6116)
  • Run mem2reg while it keeps making progress (#12664) (20aa041)
  • Simplify ref-deref respect mutability (#12840) (6f6c80f)
  • ssa-gen: Consider &mut (*x) to be x in codegen_reference (#12684) (be7d175)
  • ssa: Accept &mut T as &T in SSA validation in more places (#12751) (b544d28)
  • ssa: Do not remove Brillig stores in DIE (#12594) (fd7093f)
  • ssa: Don't flatten Brillig conditionals with branch-local RC ops (#12803) (f94303a)
  • ssa: Insert inc_rc on array items popped/removed from a vector (#12753) (3bb712d)
  • ssa: Use canonic_eq in Store/Load validation (#12754) (3a7dd32)
  • Unify inner types for mutable reference mismatches (#12002) (4d8ac14)
  • Use caller's module in macro visibility checks (#11759) (2f4c3bd)
  • Validate closure environment at constrained/unconstrained boundary (#12842) (a17acd0)
  • Validate generic argument kinds in type definitions (#12540) (653e33a)
  • Warn when a negative integer literal is casted to an integer type (#12830) (0463d86)

Miscellaneous Chores