Releases: MartinHH/scalacheck-derived
v0.10.0
This release adds two new features:
deriveArbitraryExtraShallow,deriveCogenShallowandderiveCogenExtraShallowwere added to support "less automatic" derivation (deriveArbitraryShallowwas already added in v0.9.0).- It is now possible to override the way how the
Gen-instances of the subtypes of a sum type are combined to oneGen-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
- docs: update version in badge by @MartinHH in #144
- chore: update sbt, scripted-plugin to 1.11.2 by @scala-steward in #145
- feat: deriveArbitraryExtraShallow by @MartinHH in #146
- feat: deriveCogenShallow by @MartinHH in #147
- ci: fix native builds on windows by @MartinHH in #149
- feat!: deriveCogenExtraShallow by @MartinHH in #148
- fix: imports from specific "api-objects" by @MartinHH in #150
- feat: allow inheritance of APIs by @MartinHH in #151
- docs: buildSumGen by @MartinHH in #152
- docs: update README.md before 0.10.0 release by @MartinHH in #153
Full Changelog: v0.9.0...v0.10.0
v0.9.0
The main changes in this release are:
- fixed a bug (#135) where existing givens for subtypes of sum types (sealed traits & enums) were ignored and new instances were derived instead
- added
deriveArbitraryShallowwhere 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
- chore: update sbt-scalajs, scalajs-library_2.13, ... to 1.19.0 by @scala-steward in #114
- chore: update scalafmt-core to 3.9.5 by @scala-steward in #120
- chore: update munit to 1.1.1 by @scala-steward in #119
- feat: allow custom sum-gen logic by @MartinHH in #121
- feat: allow inheritance of APIs by @MartinHH in #122
- docs: update maven badge by @MartinHH in #118
- chore: update scalafmt-core to 3.9.6 by @scala-steward in #123
- chore: update scala3-library, ... to 3.3.6 by @scala-steward in #124
- build: bump sbt & sbt-ci-release by @MartinHH in #125
- chore: bump sbt-ci-release by @MartinHH in #126
- chore: update sbt, scripted-plugin to 1.11.0-RC2 by @scala-steward in #127
- chore: bump sbt-ci-release to 1.11.0-RC3 by @MartinHH in #128
- build: bump sbt & sbt-ci-release by @MartinHH in #129
- chore: update scalafmt-core to 3.9.7 by @scala-steward in #130
- chore: update sbt, scripted-plugin to 1.11.1 by @scala-steward in #132
- chore: update sbt-ci-release to 1.11.1 by @scala-steward in #131
- fix: error messages by @MartinHH in #134
- fix: givens for subtypes are ignored by @MartinHH in #136
- chore: update auxlib, clib, javalib, nativelib, ... to 0.5.8 by @scala-steward in #138
- feat: deriveArbitraryShallow by @MartinHH in #137
- chore: disallow inheritance of APIs by @MartinHH in #140
- docs: update readme by @MartinHH in #141
- docs: update README.md before 0.9.0 release by @MartinHH in #143
Full Changelog: v0.8.2...v0.9.0
v0.8.2
v0.8.1
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
- ci: bump java to 11 by @MartinHH in #111
- docs: update README.md before 0.8.1 release by @MartinHH in #112
Full Changelog: v0.8.0...v0.8.1
v0.8.0
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
- chore: update scalafmt-core to 3.9.2 by @scala-steward in #94
- chore: update sbt, scripted-plugin to 1.10.8 by @scala-steward in #95
- chore: update sbt, scripted-plugin to 1.10.10 by @scala-steward in #96
- chore: update scalafmt-core to 3.9.3 by @scala-steward in #97
- chore: fix typo in
extras.mdby @EnviousSwan in #98 - chore: update auxlib, clib, javalib, nativelib, ... to 0.5.7 by @scala-steward in #91
- chore: use Shrink.withLazyList by @MartinHH in #99
- chore: update scalafmt-core to 3.9.4 by @scala-steward in #101
- chore: update sbt-ci-release to 1.9.3 by @scala-steward in #100
- chore: remove outcommented code by @MartinHH in #102
- chore: update sbt, scripted-plugin to 1.10.11 by @scala-steward in #103
- ci: migrate to Sonatype Central by @MartinHH in #105
- fix!: avoid stack overflow by @MartinHH in #106
- feat: RecursionFallback by @MartinHH in #107
- docs: warn about compilation times by @MartinHH in #109
- docs: update README.md before 0.8.0 release by @MartinHH in #110
New Contributors
- @EnviousSwan made their first contribution in #98
Full Changelog: v0.7.1...v0.8.0
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) exceedederror. 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-extrasprovides 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) exceedederror. 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