This is the first release with support for type class derivation on Scala 3! 馃コ
It adds derivation for the type classes FunctorK
, ContravariantK
, InvariantK
, SemigroupalK
and ApplyK
. One caveat compared to Scala 2 is that algebras with type members are not supported. The derivation macros are experimental meaning that call-sites need to be annotated with @experimental
. Alternatively, users can enable the -experimental
compiler option starting with Scala 3.4. The reasons for both limitations are rooted in the underlying macro APIs.
What's Changed
- Update scala3-library, ... to 3.3.0 by @pomadchin in #429
- check binary compatibility with v0.14.0 wherever possible by @bpholt in #430
- Added examples project by @vasiliybondarenko in #418
- Fix microsite links by @joroKr21 in #437
- Support Semigroupal for more complex types by @joroKr21 in #438
- Quality of life improvements in DeriveMacros by @joroKr21 in #439
- Fix FunctorK when F occurs only in contravariant position by @joroKr21 in #440
- Add FunctorK instance for FS2 Stream by @m50d in #443
- Derive SemigroupK by @joroKr21 in #441
- Derive MonoidK, fix SemigroupK by @joroKr21 in #445
- Update Ruby and Jekyll by @joroKr21 in #507
- Exclude metals.sbt from scalafmt by @joroKr21 in #511
- Scala3 FunctorK macros by @pomadchin in #442
- Scala3 SemigroupalK and InvariantK macros by @pomadchin in #513
- Scala3 ContravariantK macros by @pomadchin in #518
- Scala3 ApplyK macros and SemigroupalK derivation improvement by @pomadchin in #516
- Handle repeated and by-name parameters by @joroKr21 in #519
- Hacky solution of the Tuple2K problem by @joroKr21 in #520
- [Scala 3] Use Semigroup to combine results in SemigroupalK derivation by @joroKr21 in #521
- Consolidate Derive API between Scala 2 and Scala 3 by @joroKr21 in #522
Dependency Updates
- Update sbt to 1.9.0 by @typelevel-steward in #431
- Update nscplugin, sbt-scala-native, ... to 0.4.13 by @typelevel-steward in #432
- Update sbt-typelevel, ... to 0.4.22 by @typelevel-steward in #433
- Update nscplugin, sbt-scala-native, ... to 0.4.14 by @typelevel-steward in #434
- Update scala-compiler, scala-library, ... to 2.12.18 by @typelevel-steward in #435
- Update scala-compiler, scala-library, ... to 2.13.11 by @typelevel-steward in #436
- Update scalafmt-core to 3.7.4 by @typelevel-steward in #426
- Update sbt-scalajs, scalajs-compiler, ... to 1.13.2 by @typelevel-steward in #444
- Update sbt to 1.9.1 by @typelevel-steward in #446
- Update scalafmt-core to 3.7.5 by @typelevel-steward in #447
- Update scalafmt-core to 3.7.6 by @typelevel-steward in #448
- Update scalafmt-core to 3.7.7 by @typelevel-steward in #449
- Update sbt-scala-native-crossproject to 1.3.2 by @typelevel-steward in #450
- Update sbt to 1.9.2 by @typelevel-steward in #451
- Update scalafmt-core to 3.7.8 by @typelevel-steward in #452
- Update scalafmt-core to 3.7.9 by @typelevel-steward in #453
- Update scalafmt-core to 3.7.10 by @typelevel-steward in #454
- Update sbt to 1.9.3 by @typelevel-steward in #455
- Update scalafmt-core to 3.7.11 by @typelevel-steward in #456
- Update fs2-core to 3.8.0 by @typelevel-steward in #457
- Update scalafmt-core to 3.7.12 by @typelevel-steward in #458
- Update cats-core, cats-free, cats-laws, ... to 2.10.0 by @typelevel-steward in #459
- Update sbt to 1.9.4 by @typelevel-steward in #461
- Update scalafmt-core to 3.7.13 by @typelevel-steward in #462
- Update fs2-core to 3.9.0 by @typelevel-steward in #463
- Update fs2-core to 3.9.1 by @typelevel-steward in #464
- Update circe-core to 0.14.6 by @typelevel-steward in #465
- Update scalafmt-core to 3.7.14 by @typelevel-steward in #466
- Update nscplugin, sbt-scala-native, ... to 0.4.15 by @typelevel-steward in #467
- Update scala3-library, ... to 3.3.1 by @typelevel-steward in #468
- Update sbt-typelevel, ... to 0.5.2 by @typelevel-steward in #471
- Update scala-compiler, scala-library, ... to 2.13.12 by @typelevel-steward in #470
- Update fs2-core to 3.9.2 by @typelevel-steward in #472
- Update sbt to 1.9.5 by @typelevel-steward in #473
- Update sbt to 1.9.6 by @typelevel-steward in #474
- Update sbt-typelevel, ... to 0.5.3 by @typelevel-steward in #475
- Update sbt-scalajs, scalajs-compiler, ... to 1.14.0 by @typelevel-steward in #476
- Update sbt-typelevel, ... to 0.5.4 by @typelevel-steward in #477
- Update sbt-mdoc to 2.3.8 by @typelevel-steward in #478
- Update nscplugin, sbt-scala-native, ... to 0.4.16 by @typelevel-steward in #479
- Update sbt-typelevel, ... to 0.6.0 by @typelevel-steward in #480
- Update sbt-mdoc to 2.4.0 by @typelevel-steward in #481
- Update sbt to 1.9.7 by @typelevel-steward in #482
- Update scalafmt-core to 3.7.15 by @typelevel-steward in #483
- Update sbt-typelevel, ... to 0.6.1 by @typelevel-steward in #484
- Update fs2-core to 3.9.3 by @typelevel-steward in #485
- Update sbt-mdoc to 2.5.0 by @typelevel-steward in #486
- Update sbt-microsites to 1.4.4 by @typelevel-steward in #487
- Update sbt-mdoc to 2.5.1 by @typelevel-steward in #488
- Update sbt-typelevel, ... to 0.6.2 by @typelevel-steward in #490
- Update scalafmt-core to 3.7.17 by @typelevel-steward in #491
- Update sbt-typelevel, ... to 0.6.3 by @typelevel-steward in #492
- Update sbt-typelevel, ... to 0.6.4 by @typelevel-steward in #494
- Update sbt to 1.9.8 by @typelevel-steward in #493
- Update sbt-mdoc to 2.5.2 by @typelevel-steward in #495
- Update sbt-typelevel, ... to 0.6.5 by @typelevel-steward in #496
- Update sbt-scalajs, scalajs-compiler, ... to 1.15.0 by @typelevel-steward in #497
- Update nscplugin, sbt-scala-native, ... to 0.4.17 by @typelevel-steward in #498
- Update fs2-core to 3.9.4 by @typelevel-steward in #499
- Update sbt-typelevel, ... to 0.6.6 by @typelevel-steward in #500
- Update scalafmt-core to 3.8.0 by @typelevel-steward in #501
- Update sbt to 1.9.9 by @typelevel-steward in #502
- Update kind-projector to 0.13.3 by @typelevel-steward in #503
- Update sbt-typelevel, ... to 0.6.7 by @typelevel-steward in #504
- Update scala-compiler, scala-library, ... to 2.12.19 by @typelevel-steward in #505
- Update scala-compiler, scala-library, ... to 2.13.13 by @typelevel-steward in #506
- Update scala3-library, ... to 3.3.3 by @typelevel-steward in #508
- Update fs2-core to 3.10.0 by @typelevel-steward in #509
- Update fs2-core to 3.10.1 by @typelevel-steward in #512
- Update fs2-core to 3.10.2 by @typelevel-steward in #514
- Update scalafmt-core to 3.8.1 by @typelevel-steward in #515
- Update sbt-scalajs, scalajs-compiler, ... to 1.16.0 by @typelevel-steward in #517
New Contributors
- @vasiliybondarenko made their first contribution in #418
- @m50d made their first contribution in #443
Full Changelog: v0.15.0...v0.16.0