Skip to content

v1.0.0-beta.21

Choose a tag to compare

@noirwhal noirwhal released this 07 May 16:50
89a0f0f

1.0.0-beta.21 (2026-05-07)

⚠ BREAKING CHANGES

  • hashmap: Have insert return a bool (#12551)
  • remove UnresolvedType methods (#12425)

Features

Bug Fixes

  • acir: Allow removing from zero-sized vectors (#12485) (5aed8fe)
  • Allow lvalue assignment to mutate mutable reference behind immutable reference (#12422) (23478b1)
  • Allow sorting empty arrays in constrained code (#12509) (214dcce)
  • Always clone array indexes (#12321) (3bcd132)
  • Assert location is the entire assert (#12520) (d52888d)
  • ast_fuzzer: Decode raw assertion payload as string when selector is unmapped (#12536) (e0b2c54)
  • brillig: Fix register spill bug and refactor SpillRecord state into an enum (#12391) (41c9bbe)
  • brillig: Guard JmpIf then-arg spill stores with the branch condi… (#12560) (9b9e34f)
  • brillig: Use value set for tracking max live count (#12334) (2596078)
  • Check struct visibility after macro call expansion (#12424) (780128f)
  • comptime: Handle mutable tuple and struct patterns (#12533) (d504659)
  • comptime: Handle non-constant generics to_le_radix (#12508) (a375528)
  • Consider reference mutability in load_store_forwarding (#12331) (1d77f5a)
  • constant_folding: Don't deduplicate calls that return arrays that are later mutated (#12498) (20391fd)
  • coverage: Several fixes (#12546) (3abcf7d)
  • Do not skip truncating the results of field divisions (#12582) (bd6ad95)
  • docs: Fill in missing docs (#12242) (04a373e)
  • docs: Update sgn0 signature from u1 to bool (#12250) (55a01b2)
  • docs: Use canonical paths in llms.txt links (#12455) (5b84279)
  • Don't compute similarly named types in LSP single-file mode (#12464) (5e48b65)
  • Don't crash on duplicate trait impl (#12477) (d2c1ebd)
  • Don't drop inline trait constraints when generated via metaprogramming (#12423) (5f68596)
  • Don't resolve to trait method if a direct method exists (#12394) (442adeb)
  • Error on failing assert_constant in minimal SSA passes (#12514) (def68c9)
  • Fix Type::instantiate_with_bindings_and_turbofish generic order (#12358) (abc3c76)
  • Fix more small refactorings (#12385) (cc57592)
  • Fix prioritize types over globals for resolution (#12274) (ad02a20)
  • fmt: Don't indent twice when wrapping block comments (#12559) (c592aa9)
  • Fmtstr with functions in globals didn't compile (#12356) (fa0d3d4)
  • Follow bindings when working with comptime types (#12466) (2f6bbf1)
  • frontend: Emit one error for numeric type alias overflow (#12565) (edcf12e)
  • fuzzer: Wrap oracle print calls in wrapper functions (#12147) (363cbe7)
  • Handle zero-sized arrays in ACIR (#12481) (5f15451)
  • Inconsistent Brillig failure message on modulo overflow (#12482) (dd2b758)
  • Incorrect length in as_vector intrinsic in nargo interpret (#12480) (bcc99c3)
  • Incorrect type_def_generics implemented return type (#12415) (00113f0)
  • licm: Check lower bound when simplifying checked arithmetic to unchecked (#12301) (73dad8e)
  • licm: Don't simplify lt when loop bounds are descending (#12496) (92610d8)
  • Lookup method on struct with turbofish separately (#12381) (9619f96)
  • lsp: Don't fail on out-of-bounds position (#12462) (5610ecb)
  • opt: Collect all nested arrays beforehand (#12418) (01fdf8d)
  • Predicate the user-supplied index inside get_flattened_index (#12452) (ca7b6f2)
  • Prevent overriding an existing derive handler (#12549) (6dd239d)
  • Reject unhandled unit return type oracle calls (#12368) (0cd4232)
  • Replace equality with try_unify (#12272) (5c1a8fd)
  • ssa interpreter: Clarify overflow error (#12483) (bda0d7a)
  • ssa validation: Fix mutable and immutable references from same type (#12519) (53c6a3b)
  • ssa: Array_gets are not side-effectual in brillig (#12567) (7e3ab10)
  • ssa: Assert that there's no i128 in expand_signed_math (#12522) (3e0f101)
  • ssa: Avoid overflow incrementing u128::MAX (#12500) (6f8db13)
  • ssa: Bail out of array_set simplify loop when array is a global (#12557) (a91fbbb)
  • ssa: Check aliases when invalidating references passed to calls (#12320) (6e31b8e)
  • ssa: Keep signed shl results inside the signed range (#12571) (e88d35b)
  • ssa: Preserve arguments when simplify_cfg folds jmpif-same-target (#12240) (eadb743)
  • ssa: Simplify LSF to only run on single block functions (#12243) (0ad5555)
  • ssa: Special handling of intrinsics for zero-sized vectors (#12487) (0430dec)
  • ssa: Wire both edges of jmpif-same-target in mem2reg (#12239) (0c71571)
  • Support turbofish on <Ty as Trait>::method::<T>() paths (#12396) (4b1f515)
  • Update parent argument handling for array get instructions (#12545) (51e476f)
  • Use changed |= ... in compute_dominator_tree (#12476) (a77d070)
  • Use bytes in Hir strings (#12269) (228ae9c)
  • Use fresh type vars when unifying type turbofish against impl ge… (#12566) (d01417b)
  • Validate oracle-resolver argument (#12516) (0e5abb1)

Miscellaneous Chores