✅ Propagate thread-local arbitraries to thread pool threads that are executing tests.
🛠 Fix FsCheck.Xunit so it properly calls Dispose if the test class implements IDisposable. (by Laurence King)
📇 Assembly metadata fix. This caused version 2.14.1 to be unusable in some cases; it was unlisted.
➕ Add support for struct type generation and shrinking. (by Kody Musick)
👌 Support setting PropertyAttribute.Replay to null. (by Eirik Tsarpalis)
➕ Add shrinker for data transfer objects. (by Carlo Zancanaro)
➕ Add shrinker for Interval type. (by Nazar Vinnichuk)
➕ Add shrinker for flags enums. (by Nazar Vinnichuk)
➕ Add new Arbitrary instances for Numerics.Complex and ConsoleKeyInfo. (by Nazar Vinnichuk)
🛠 Fix float, int32 and int64 generators so their distribution is uniform. This also improves downstream generators. (by Nazar Vinnichuk)
🛠 Fix decimal generator so size is respected. (by Nazar Vinnichuk)
➕ Add Gen.scale and ScaleSize extension method which can remove some boilerplate. (by Nazar Vinnichuk)
🗄 Stop shipping Portable Class Libraries (PCL), which are essentially deprecated by Microsoft in favor of .NET Standard. FsCheck now targets .NET Standard 1.0 (which takes the place of 3 PCLs that were previously included, while it still run on all those platforms and more), .NET Standard 1.6 (which is the lowest version modern FSharp.Core versions support) and .NET Standard 2.0 (which is advised by NuGet so clients don't need to download as much stuff if they can target 2.0 or higher). FsCheck also still targets .NET Framework 4.5.2 and upwards as a convenience.
FsCheck.Xunit and FsCheck.NUnit similarly target .NET Standard 1.6 and 2.0, as well as .NET Framework 4.5.2. They've never targeted PCL before.
It's my hope and expectation that this makes FsCheck usable on the same range of platforms (and more) as before, while greatly simplifying development: there is now just one solution (instead of three), and only one FsCheck project (instead of five) and so on.
➕ Add NonWhiteSpaceString to default generated types. (by Stijn Moreels)
🛠 Fix FsCheck.Xunit's CheckExtensions so that the throwing methods actually throw on failure.
➕ Add new generator extensions for C#: Zip, Zip3, Or and OrNull. (by Stijn Moreels)
➕ Add Gen.collect and variations. (by Stijn Moreels)
🛠 Fix to offset of DateTimeOffset generator. (by Evgeny Grebenyuk)
⚡️ Update NUnit to 3.10.1.
➕ Add Arbitrary instance for XML encoded string. (by Stijn Moreels)
DateTime now also generates kind and milliseconds (by Matthew Peacock)
✂ Removed EditorBrowsable.Never from all but the obsoleted methods. F# intellisense now also honors these attributes, and so they
👀 were hiding a bunch of methods unnecessarily. The upshot is that C# users will see more of the API that is F# specific.
Gen.subListOf can now generate the entire given list, where previously it would always generate a strict sublist. (by Michał Niegrzybowski)