Skip to content

lib-v1.0.0-preview.6

Pre-release
Pre-release

Choose a tag to compare

1.0.0-preview.6 — September 2, 2026

A license change every consumer should read, a nullable-widening generator, and a fairer draw for Half.

⚠️ Breaking changes

  • JustDummies is now licensed under PolyForm Internal Use 1.0.0, not Apache 2.0 — source-available, not open source. You may read, build, modify and run the library (and its bundled analyzers) for your own or your company's internal business operations; you may not distribute the software. Versions already published on NuGet are untouched and keep the license they shipped with. Contributions are now governed by a Contributor Agreement.

✨ New

  • New generator.AsNullable() — widens a generator's type to nullable without ever drawing an absent value, the opposite of .OrNull(). It keeps the wrapped generator's known value count, so Any.SetOf(Any.Enum<T>().AsNullable()) sizes correctly against the enum's members (ADR-0094).

🙌 Improvements

  • Any.Half() now draws uniformly over the values a half can actually represent, instead of over the reals and rounding — which produced almost nothing below 1. A seeded test drawing a Half will replay a different value than before (ADR-0091).

🐛 Bug Fixes

  • Any.Half() now states how many distinct values it holds, so Any.SetOf(Any.Half()) beyond that count is refused instead of exhausting a redraw budget.
  • JD016 now proves several more small element domains exactly (Char, Byte/SByte, Int16/UInt16, Half, and an enum's distinct values), and counts a caller-supplied Any.Char().OneOf(...) pool exactly.
  • JD015 now weighs a value set against every declared constraint together, so a chain refused only by the intersection of several constraints is reported.
  • An element generator that admits nothing now names its own emptying constraint, even inside a distinct collection like Any.SetOf(...).