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