Skip to content

Releases: MartinHH/scalacheck-derived

v0.10.0

28 Jun 08:58
d82c702

Choose a tag to compare

This release adds two new features:

  1. deriveArbitraryExtraShallow, deriveCogenShallow and deriveCogenExtraShallow were added to support "less automatic" derivation (deriveArbitraryShallow was already added in v0.9.0).
  2. It is now possible to override the way how the Gen-instances of the subtypes of a sum type are combined to one Gen-instance for the parent type. See here for further details.

BREAKING CHANGE: in this release the public trait CogenSumInstanceSummoner and its public companion object were made private. Those were not meant to be public - users who use this library as intended should not be affected by this and it appears very unlikely any users would be affected by this.

What's Changed

Full Changelog: v0.9.0...v0.10.0

v0.9.0

08 Jun 17:18
57f3bd3

Choose a tag to compare

The main changes in this release are:

  1. fixed a bug (#135) where existing givens for subtypes of sum types (sealed traits & enums) were ignored and new instances were derived instead
  2. added deriveArbitraryShallow where derivation fails if instances for members of product types are missing (instead of deriving those instances) - this is meant for users who prefer to have more control of what instances are being derived

What's Changed

Full Changelog: v0.8.2...v0.9.0

v0.8.2

25 Apr 16:30
e33fba1

Choose a tag to compare

This release fixes a bug in the recently-introduced RecursionFallback feature - now, it actually works.

What's Changed

  • fix: RecursionFallback not in implicit scope by @MartinHH in #116
  • docs: update README.md before 0.8.2 release by @MartinHH in #117

Full Changelog: v0.8.1...v0.8.2

v0.8.1

20 Apr 11:57
6ef1d6e

Choose a tag to compare

This release drops support for Java 8. This release is instead compiled against Java 11. (Main reason is that the sbt plugin used for publishing does not support Java versions below 11 anymore.)

Make sure to also check the release notes for v0.8.0 as this is the "de-facto 0.8.0 release" (as v0.8.0 could not be published due to said limitations).

What's Changed

Full Changelog: v0.8.0...v0.8.1

v0.8.0

20 Apr 10:05
544355d

Choose a tag to compare

ATTENTION: this release will not be available on maven central due to java 8 not bein supported by the publishing mechanism anymore. Use v0.8.1 instead.

This release improves the support for recursive data structures, introducing a configurable mechnism to avoid stack overflow during generation of values at runtime - see recursive.md for details.

BREAKING CHANGE: this release introduces a runtime-breaking change as it changes the way how instances for sum types (sealed traits & enums) are derived. Hence, reproducing failed tests that ran with previous versions of this library using this new version may not be possible.

What's Changed

New Contributors

Full Changelog: v0.7.1...v0.8.0

v0.7.1

01 Mar 13:35
30d639d

Choose a tag to compare

This realeses fixes a Shrink-related bug (where derived Shrinks would result in deprecated-warnings due to the internal use of Stream).

What's Changed

  • fix: leaking Shrink-related deprecations by @MartinHH in #92
  • docs: update README.md before 0.7.1 release by @MartinHH in #93

Full Changelog: v0.7.0...v0.7.1

v0.7.0

27 Feb 10:46
9a7c406

Choose a tag to compare

The main change in this release is:

  • Derivation for "sum types" (i.e. enums / sealed traits) was optimized to reduce recursive inlining. You can now derive instances for enums with more than 32 members without hitting the Maximal number of successive inlines (32) exceeded error. This optimization leverages changes of the Scala compiler that were introduced in Scala 3.4.0, so to benefit from this, you'd need to use Scala 3.4.0 or higher. (The same optimization was already applied for product types (i.e. case classes) in the previous release.)

What's Changed

Full Changelog: v0.6.0...v0.7.0

v0.6.0

15 Feb 10:11
4546ff5

Choose a tag to compare

The main changes in this release are:

  • A new submodule scalacheck-derived-extras provides instances for literal and union types. Read here for the details. Note that derivation for union-types is a relatively new feature - you might encounter bugs.
  • Derivation for "product types" (i.e. case classes) was optimized to reduce recursive inlining. You can now derive instances for case classes with more than 32 members without hitting the Maximal number of successive inlines (32) exceeded error. This optimization leverages changes of the Scala compiler that were introduced in Scala 3.4.0, so to benefit from this, you'd need to use Scala 3.4.0 or higher.

What's Changed

Full Changelog: v0.5.0...v0.6.0

v0.5.0

20 Apr 10:33

Choose a tag to compare

This release does not provide any new functionality, but it updates the scalacheck dependency to version 1.18.0, thereby allowing to support scala-native 0.5.x.

Futhermore, the scala-js version was updated to 1.16.0.

What's Changed

  • docs: update version in "getting started" by @MartinHH in #40
  • ci: bump scala-cli to 1.2.2 by @MartinHH in #41
  • feat: scala-native 0.5.x / scalacheck 1.18.0 by @MartinHH in #42
  • docs: update README.md before 0.5.0 release by @MartinHH in #43

Full Changelog: v0.4.2...v0.5.0

v0.4.2

23 Sep 19:13

Choose a tag to compare

This release fixes two bugs where derivation would not lead to the expected results.

What's Changed

Full Changelog: v0.4.1...v0.4.2