Skip to content

Releases: noir-lang/noir

nightly-2025-07-20

20 Jul 02:52
80b04ec
Compare
Choose a tag to compare
nightly-2025-07-20 Pre-release
Pre-release
chore: enforce clippy in `ssa_fuzzer` (#9247)

nightly-2025-07-19

19 Jul 02:42
80b04ec
Compare
Choose a tag to compare
nightly-2025-07-19 Pre-release
Pre-release
chore: enforce clippy in `ssa_fuzzer` (#9247)

nightly-2025-07-18

18 Jul 02:49
1719bc3
Compare
Choose a tag to compare
nightly-2025-07-18 Pre-release
Pre-release
fix: suggest traits via visible reexports if they are not directly vi…

nightly-2025-07-17

17 Jul 02:47
7cf7a89
Compare
Choose a tag to compare
nightly-2025-07-17 Pre-release
Pre-release
chore: replace array operation on 0-len arrays with side effect asser…

nightly-2025-07-16

16 Jul 02:50
e294e66
Compare
Choose a tag to compare
nightly-2025-07-16 Pre-release
Pre-release
feat(ssa): Following an always failing binary, replace instructions w…

nightly-2025-07-15

15 Jul 02:49
49c49ce
Compare
Choose a tag to compare
nightly-2025-07-15 Pre-release
Pre-release
feat(fuzz): Generate Match expressions and statements (#9108)

v1.0.0-beta.8

11 Jul 14:33
ba05d72
Compare
Choose a tag to compare
v1.0.0-beta.8 Pre-release
Pre-release

1.0.0-beta.8 (2025-07-10)

⚠ BREAKING CHANGES

  • disallow casting signed integers to field (#8818)
  • remove hash_to_field from stdlib (#9098)

Features

  • nargo expand for LSP (#9012) (4fb8d36)
  • Allow TraitAsType syntax to refer to associated constants in expressions (#9041) (e64ae7d)
  • debug: Print ssa locations along with ssa (#9001) (759dc57)
  • fuzz: Add comptime_vs_brillig_direct target (#8924) (1478114)
  • fuzz: Generate references in the AST fuzzer (#8728) (071c897)
  • fuzz: Use Slice in the AST generator (#9156) (a8fe98e)
  • Implement type suffixes (#8970) (27e5ed3)
  • Implicit coercion of str and fmtstr into CtString (#9032) (2d8f14e)
  • Push overflow checks inside of signed binary ops (#9074) (2684469)
  • Show why an assertion will always fail if it's a static string (#9013) (ea507d6)
  • Simplify apply function cfg immediately (#8895) (b09073a)
  • Some nargo expand fixes related to function and method calls (#9038) (30a491d)
  • ssa_fuzzer: Custom mutations (#8988) (4f52a7a)
  • ssa_fuzzer: Loops + signed (#8881) (8a7046b)
  • ssa: Handle println in the SSA interpreter (#9028) (85527e0)

Bug Fixes

  • Add a aliased check for last stores (#8955) (a56d36a)
  • Add a remove_unreachable_instructions SSA pass (with unreachable terminator) (#9008) (9fc413d)
  • Add parent traits when adding trait impl where clause (#9000) (caabecf)
  • Apply instantiation bindings to associated constants (#9117) (8988213)
  • Assorted SSA interpreter fixes (#8893) (ca3238c)
  • Better package name validation and error messages for nargo new/init (#8978) (06c73d7)
  • Catch unbound type variables during frontend compilation (#8686) (53bd661)
  • Check "negate with overflow" in comptime code + allow u1 to be used in comptime code (#8969) (256c678)
  • Check both coordinates for point doubling (#9039) (d692001)
  • Check for maximum limbs during radix decomposition (#9134) (409c838)
  • Codegen generic type arguments (#9044) (b8abf30)
  • Combine turbofish types with potential type bindings (#9062) (f627889)
  • Compute the dominance frontier of the reverse cfg using the extended cfg (#9019) (d596f68)
  • Create calls to apply before function values are changed to fields in defunctionalize (#8916) (3546f47)
  • defunctionalize: Create a placeholder function for first-class function calls with no variants (#8697) (e96b40c)
  • Do not hoist control dependent cast (#8886) (98d19fb)
  • Enum match on integer type variable (#9122) (b6f0dee)
  • Execution and proving discrepancy in ecdsa (#9157) (d651576)
  • expand: Handle HirIdent with TraitItem (and other related fixes) (#9143) (4742c02)
  • expand: Missing struct member visibility, and use "crate" instead of "super" when possible (#9081) (014d793)
  • expand: Show references to ModuleDefId recursing on parents (#8977) (2cfc786)
  • Fix if/match tracking in last uses pass (#8935) (670063c)
  • formatter: Reset indetnation after group changed it (#8966) (39cec14)
  • fuzz: Assign to an index variable to sequence side effects (#9056) (3672e3e)
  • fuzz: Avoid negating i8::MIN into i8::MAX+1 which won't compile (#8972) (f1a3938)
  • fuzz: Avoid overflow in gen_unary (#9024) (301d86e)
  • fuzz: Avoid overflowing binary ops in "no dynamic" mode (#8996) (f9b66d6)
  • fuzz: Consider == turning into != equivalent (#9025) (a77d56d)
  • fuzz: Consider values returned from Brillig to ACIR as dynamic (#8931) (b04a51c)
  • fuzz: Do not access arrays with &mut inside if using dynamic condition (#9072) (00980ec)
  • fuzz: Do not take a mutable reference over immutable vars which contain a mutable ref (#8971) (de51b8f)
  • **fuzz:*...
Read more

nightly-2025-07-14

14 Jul 02:49
1c7c6f2
Compare
Choose a tag to compare
nightly-2025-07-14 Pre-release
Pre-release
fix: cast values before inserting them in the databus (#8918)

nightly-2025-07-13

13 Jul 02:50
1c7c6f2
Compare
Choose a tag to compare
nightly-2025-07-13 Pre-release
Pre-release
fix: cast values before inserting them in the databus (#8918)

nightly-2025-07-12

12 Jul 02:45
1c7c6f2
Compare
Choose a tag to compare
nightly-2025-07-12 Pre-release
Pre-release
fix: cast values before inserting them in the databus (#8918)