v0.6.13 : deterministic Scalacheck properties
Highlights :
Changed the Scalacheck integration to increase determinism : previously, forall
properties would be executed in parallel in a way that wouldn't conserve order, which lead runs originating from the same seed to exhibit different results. Now, the properties are still executed in parallel, but the processing of their outcomes respects the initial ordering.
This implies that, provided the properties do not depend on state of the outside world that might be subject to change (like, reading from a database record that could change for an external reason), the likelihood of having reproducible results is drastically increased. In particular, it means you can have fully deterministic unit tests, which wasn't the case before.
There is a little cost in terms of efficiency that should not be noticeable in most cases.
Kudos to @ollyw for the improvement !
What's Changed
- Update fs2-core to 2.5.11 by @scala-steward in #516
- Update scalafmt-core to 3.5.3 by @scala-steward in #522
- Improve determinism/coverage in Scalacheck tests by @ollyw in #527
Full Changelog: v0.6.12...v0.6.13