Skip to content

v1.0.0-beta.4

Pre-release
Pre-release
Compare
Choose a tag to compare
@noirwhal noirwhal released this 07 Apr 16:33
3a5a15a

1.0.0-beta.4 (2025-04-07)

⚠ BREAKING CHANGES

  • remove poseidon from stdlib (#7650)
  • make ResolverError::UnnecessaryPub a hard error (#7664)
  • convert TraitMethodNotInScope to error (#7427)
  • bump bb version to v0.77.0 (#7599)
  • remove merkle module from stdlib (#7582)
  • remove deprecated hash functions from stdlib (#7477)
  • frontend: Restrict capturing mutable variable in lambdas (#7488)
  • remove U128 struct from stdlib (#7529)
  • bump rust edition to 2024 (#7533)
  • bump msrv to 1.85.0 (#7530)
  • cli: Add --unstable-features to gate unstable features (#7449)

Features

  • Add EmbeddedCurvePoint::generator() to return generator point (#7754) (49c56a5)
  • Add basic comptime correctness tests (#7825) (29e8fb4)
  • Add Hash impls for EmbeddedCurvePoint and EmbeddedCurveScalar (#6970) (3e3a2c8)
  • Add optional oracle resolver url in acvm_cli (#7630) (a9de769)
  • Add simplified OR when rhs or lhs is all 1s (#7880) (f1b10dc)
  • Allow fn returning () without having to write -> () (#7717) (e8644d0)
  • Array concat method (#7199) (5b725bb)
  • Better error message when generic argument cannot be determined (#7839) (77cf4f6)
  • Better error message when keyword is found instead of type in p… (#7501) (43ca11a)
  • cli: Add --unstable-features to gate unstable features (#7449) (fd213f6)
  • cli: Log and replay oracle transcript (#7417) (95ac7a8)
  • Compare bincode to CBOR, FlexBuffers and Protobuf - implement best (#7513) (d047779)
  • debugger: REPL add breakpoint by sourcecode line (#5204) (ef51d8a)
  • debugging: Add --count-array-copies flag (#7789) (2c63f80)
  • Error if generic type parameter in impl is not mentioned in self type (#6388) (90ad693)
  • experimental: Add invalid pattern syntax error (#7487) (7aa23ec)
  • experimental: Enable ownership syntax (#7603) (9594dee)
  • experimental: Issue errors for unreachable match branches (#7556) (e832244)
  • experimental: Support struct constructors in match patterns (#7489) (6f79fd1)
  • Faster Field decomposition (#7788) (507a453)
  • formatter: Improved formatting of long struct patterns (#7899) (9c94ab1)
  • fuzz: AST fuzzer skeleton (#7865) (52ef553)
  • Fuzzer for noir programs (#6770) (0dbd66e)
  • Generic trait bounds (#7891) (d066dca)
  • Let all compiler errors carry a Location instead of a Span (#7486) (4fdc742)
  • Optimize out range checks on limiting cases (#7510) (6f78848)
  • Optimize unconstrained embedded_curve_add (#7751) (6723aec)
  • opt: Remove truncate after range_check (#7832) (25fd5c2)
  • parser: Better error recovery when identifier doesn't come in constructor (#7887) (ebb5015)
  • parser: Improve error recovery when fn is missing between mod… (#7884) (f6b39b1)
  • Perform constant sha256 compressions at compile-time (#7566) (c2022f4)
  • performance: Avoid extra Brillig array offsetting for constant indices (#7522) (b8b0e73)
  • Print initialization witnesses and show all blackbox witnesses (#7919) (836bd12)
  • Relate errors to macro built-ins errors (#7609) (83d7e6a)
  • Remove range constraints on witnesses when use as array index is more restrictive (#7848) (632252d)
  • Show which generic argument cannot be inferred when it's on the… (#7914) (c6aa9ba)
  • Simplify simple conditionals for brillig (#7205) (9056d74)
  • SSA gen unit tests (#7868) (702cb9c)
  • ssa: Basic control dependent LICM (#7660) (97e4090)
  • ssa: Dominance frontiers (#7692) (0816c41)
  • ssa: Post dominator tree (#7595) (94e1a99)
  • Support <Type as Trait>::method in expressions (#7551) (fdd2fe7)
  • Sync from aztec-packages (#7474) (c254c3c)
  • Sync from aztec-packages (#7606) (3531474)
  • Test error spans and messages (#7526) (da5227e)
  • Type path for any type (#7824) (fd674f0)
  • Use relative paths in "Call stack" and "Witness saved to" (#7708) (c39f33d)
  • Use resolved type instead of needing Constructor.struct_type (#7500) (e26e993)
  • Warn if array index type is not u32 (#7820) (90c0f4f)

Bug Fixes

  • Add missing inputs to BlackBoxFuncCall::get_inputs_vec for EcAdd (#7752) (a46f05f)
  • Address warnings in stdlib (#7845) (ab13480)
  • Allow method call after block, if and match (#7655) (a7356e2)
  • Allow omitting ';' after last block statement if it's an assignment (#7718) (df20280)
  • Allow referring to comptime locals at runtime (#7681) (6d7c543)
  • Allow renaming a trait when importing it (#7688) (4f67909)
  • Bump tokio to 1.44.2 (#7950) (b633d23)
  • ci: Exclude inliner specific reference count tests from Brillig trace report (#7761) (58be0cd)
  • ci: Fail the CI job on a Brillig report failure (#7762) (3b4b7fa)
  • Compare Quoted by expanding interned values (#7602) (1a1eb6f)
  • Correctly format let followed by comment before unsafe (#7659) (637deea)
  • Correctly format trait function with multiple where clauses (#7531) (c438547)
  • debug: Fix RC underflow check (#7849) (f1afc07)
  • Display causes but not stack trace in CLI error report (#7584) (d57e0ac)
  • Do not use enable_side_effect in acir-gen if instruction does not req… (#7847) (1b3743b)
  • Doc comments on functions warn unexpectedly (#7721) (bce7399)
  • Don't crash on broken impl syntax (#7512) (677c10c)
  • Don't panic when shifting too much (#7429) (5073370)
  • Don't use dummy location when inserting debug code (#7482) (87196fe)
  • Error on infinitely recursive types (#7579) (ba5beb6)
  • Experiment with DecrementRc (#7629) (b059fd1)
  • experimental: Allow shadowing in match patterns (#7484) (8e68ce6)
  • experimental: Fix execution of match expressions with multiple branches (#7570) (d148df6)
  • experimental: Replace most remaining match panics with errors (#7536) (d118e17)
  • Fix a few cases where safety comment wasn't correctly identified (#7548) (22c7d9d)
  • Fix nondeterminsm on aarch64 vs amd64 (#7942) (8c4d9a2)
  • Fix stdout testing when running test programs (#7741) (cbbfc38)
  • Fix type of internal variable created while destructuring tuples and structs during monomorphization (#7916) (8b12368)
  • Fixes signed integer mutations in the fuzzers (#7815) (162ef86)
  • Format last statement in block with optional semicolon (#7802) (ff7e215)
  • Format string literals verbatim (#7792) (c2641c1)
  • formatter: Account lambda beginning when formatting method call (#7857) (9dc5818)
  • formatter: Format &[...] type (#7858) (cd74dbf)
  • frontend: Restrict capturing mutable variable in lambdas (#7488) (899e8c8)
  • FunctionDefinition::as_typed_expr didn't work well for trait imp… (#7611) (b3443c1)
  • Handle predicate value reduction in array get also for the databus (#7730) (d9714db)
  • Implicit associated types come before explicit types (#7813) (a942990)
  • Improve misleading error message when object type is unknown (#7799) (d18a1dd)
  • Issue duplicate error on impl function without self (#7490) (69e901f)
  • Log to stderr (#7585) (223656f)
  • LSP: Bring back global values on hover (#7829) (a511b50)
  • LSP: References/rename only when underlying span has the correct… (#7598) (a6e5526)
  • Mark array index as used in DIE pass when replacing read with explicit bounds check (#7786) (20a9084)
  • No longer error on INT_MIN globals (#7519) (0c0c397)
  • noir_codegen: Allow exporting argless functions (#7862) (6f9c9ff)
  • parser: Parse double & in type (#7867) (f349597)
  • performance: Accurately mark safe constant indices for arrays of complex types (#7491) (ffcc6f8)
  • Proper use of add_unsafe in unconstrained (#7816) (9f47761)
  • Properly constrain quotient during field truncation (#7895) (47ba613)
  • Shift right overflow in ACIR with unknown var now returns zero (#7509) (ca21820)
  • Show-ssa-pass implies force-compile (#7841) (891c5aa)
  • ssa: Don't check Brillig calls for coverage if they don't return anything (e.g. println) (#7644) (ceb8b35)
  • TokensPrettyPrinter was missing some spaces between tokens (#7607) (073625a)
  • Update error message to display 128 bits as valid bit size (#7626) (b4916a5)
  • Use generics from self type when using Self (#7897) (c5d8dfe)
  • Wrong printing of line comment in quoted (#7694) (c30bcd7)

Miscellaneous Chores