Releases: MartinHH/scalacheck-derived
v0.7.1
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
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
- chore: minor code cleanup by @MartinHH in #83
- test: more tests for Shrink by @MartinHH in #84
- chore: update scalafmt-core to 3.9.0 by @scala-steward in #85
- refactor: reduce inlining by @MartinHH in #86
- chore: update scalafmt-core to 3.9.1 by @scala-steward in #87
- refactor: rearrange @nowarn by @MartinHH in #88
- build: update .sbtopts by @MartinHH in #89
- docs: update README.md before 0.7.0 release by @MartinHH in #90
Full Changelog: v0.6.0...v0.7.0
v0.6.0
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
- Update scala3-library to 3.3.3 by @scala-steward in #44
- docs: update version in "getting started" by @MartinHH in #45
- chore: .scala-steward.conf by @MartinHH in #47
- chore: bump munit to 1.0.0 by @MartinHH in #48
- chore: bump scala-native to 0.5.5 by @MartinHH in #54
- chore: bump scala to 3.3.4 by @MartinHH in #55
- Update munit to 1.0.2 by @scala-steward in #57
- chore: scala-steward commit messages by @MartinHH in #58
- chore: update scalacheck to 1.18.1 by @scala-steward in #56
- build: switch to sbt by @MartinHH in #61
- build: skip publishing of root by @MartinHH in #62
- chore: update scala-native to 0.5.6 by @scala-steward in #65
- chore: update scalajs to 1.18.2 by @scala-steward in #64
- chore: update munit to 1.0.4 by @scala-steward in #60
- chore: update munit-scalacheck to 1.1.0 by @scala-steward in #66
- chore: update scalafmt-core to 3.8.6 by @scala-steward in #67
- feat: instances for literal and union types by @MartinHH in #63
- build: refactor PomPostProcessor by @MartinHH in #68
- refactor: extras api by @MartinHH in #69
- fix: ensure union-macros fail for non-union types by @MartinHH in #70
- feat: Cogen for literal types by @MartinHH in #71
- chore: update scala3-library, ... to 3.3.5 by @scala-steward in #72
- chore: update munit to 1.1.0 by @scala-steward in #73
- chore: compatibility rewrite by @MartinHH in #75
- chore: remove unused test code by @MartinHH in #76
- refactor: reduce inlining by @MartinHH in #78
- fix: uneven distribution #79 by @MartinHH in #80
- docs: document 0.6.0 features by @MartinHH in #81
- docs: update README.md before 0.6.0 release by @MartinHH in #82
Full Changelog: v0.5.0...v0.6.0
v0.5.0
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
This release fixes two bugs where derivation would not lead to the expected results.
What's Changed
- fix: direct recursion by @MartinHH in #28
- Update munit, munit-scalacheck to 1.0.0-M10 by @scala-steward in #30
- Update scala3-library to 3.3.1 by @scala-steward in #29
- fix: explicit derivation not using some givens by @MartinHH in #31
- fix: munit 1.0.0-M10 breaking scala-native tests by @MartinHH in #33
- ci: bump scala-cli to 1.0.4 by @MartinHH in #35
- chore: bump scala-native to 0.4.15 by @MartinHH in #36
- chore: update munit to 1.0.0-M10 by @MartinHH in #34
- chore: bump scala-js to 1.13.2 by @MartinHH in #37
- chore: move declaration of test-dependencies by @MartinHH in #38
- docs: update README.md before 0.4.2 release by @MartinHH in #39
Full Changelog: v0.4.1...v0.4.2
v0.4.1
This release fixes incompatibility to older JVM versions (the JVM artifact is now compiled with Java 8).
What's Changed
- docs: update version in "getting started" by @MartinHH in #24
- build: downgrade jvm version to 8 by @MartinHH in #26
- docs: update README.md before 0.4.1 release by @MartinHH in #27
Full Changelog: v0.4.0...v0.4.1
v0.4.0
This release adds support for reursive structures.
It includes a change that is somewhat breaking:
Up to two further inlining step(s) had to be added to derivation (one for Arbitrary and Cogen, two for Shrink), thus increasing the risk to hit "Maximal number of successive inlines (32) exceeded".
In case you experience that after upgrading to this version, consider incrementing that limit by 1 or 2 using the -Xmax-inlines
compiler setting.
What's Changed
- docs: update version in "getting started" by @MartinHH in #19
- feat!: support for recursive structures by @MartinHH in #22
- docs: update README.md before 0.4.0 release by @MartinHH in #23
Full Changelog: v0.3.0...v0.4.0
v0.3.0
This release introduces support for derivation of Shrink-instances. Futhermore, it bumps the scala version to 3.3.0 and the scala-native version to 0.4.14.
What's Changed
- docs: update version in "getting started" by @MartinHH in #8
- Update scala3-library to 3.3.0 by @scala-steward in #9
- ci: bump scala-cli-setup to 1.0.0 by @MartinHH in #11
- chore: enable -Wunused and clean up accordingly by @MartinHH in #10
- Update munit, munit-scalacheck to 1.0.0-M8 by @scala-steward in #12
- feat: support derivation of Shrink instances by @MartinHH in #13
- chore: use common syntax for Quotes.reflect.* by @MartinHH in #14
- test: more tests for implicit precedence by @MartinHH in #15
- ci: bump scala-cli-setup to 1.0.2 by @MartinHH in #16
- chore: bump scala-native to 0.4.14 by @MartinHH in #17
- docs: update README.md before 0.3.0 release by @MartinHH in #18
New Contributors
- @scala-steward made their first contribution in #9
Full Changelog: v0.2.0...v0.3.0
v0.2.0
This release introduces support for derivation of Cogen
-instances and improves the error messaging for "maximal number of successive inlines exceeded".
What's Changed
- docs: add "getting started" section to README.md by @MartinHH in #1
- docs: add "version matrix" section to README.md by @MartinHH in #2
- feat: support derivation of Cogen instances by @MartinHH in #3
- test: add tests that document inlining limits by @MartinHH in #4
- fix!: non-helpful max inlines error messages by @MartinHH in #5
- docs: add some badges to README.md by @MartinHH in #6
- docs: update README.md before 0.2.0 release by @MartinHH in #7
New Contributors
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Initial release.
Full Changelog: https://github.com/MartinHH/scalacheck-derived/commits/v0.1.0