Skip to content

Releases: typelevel/cats-tagless

v0.16.0

05 Apr 08:41
166e72f
Compare
Choose a tag to compare

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

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, s...
Read more

v0.15.0

29 May 10:00
Compare
Choose a tag to compare

Now available for Scala 2.12, 2.13 and partially for Scala 3 on the JVM, JS and Native. Many thanks to all contributors ❤️

This is the first release that adds partial support for Scala 3 to the core and laws modules! 🥳
This means that the typeclasses themselves and their laws are published for Scala 3, but not yet automatic derivation.
We will need to have a little more patience for this long awaited addition, but hopefully some users can already be unblocked.
Special thanks to @pomadchin for this release and for the ongoing work on cats-tagless for Scala 3.
This involves no less than a complete rewrite of typeclass derivation with the new macro system!

What's Changed

Dependency updates:

Read more

Cats-tagless 0.14.0

25 Apr 07:50
3962dcf
Compare
Choose a tag to compare

Now available for Scala 2.12 and 2.13 on JVM, JS and Native. Thanks to all contributors ❤️
New - extended support for SemigroupalK, credit to @ivan-klass for the idea!

Feature enhancements

  • Extend SemigroupalK support to parameter occurrences (#231 by @joroKr21)

Documentation improvements

Build changes

Dependency updates

Cats-tagless 0.13.0

07 Apr 00:55
f8b275d
Compare
Choose a tag to compare

Now available for Scala 2.12 and 2.13. Thanks to all contributors ❤️
New - first release supporting Scala Native 🎉

Build changes

Documentation

Refactoring

  • Replace simulacrum with the expanded source code (#203 by @joroKr21)

Dependency updates

Cats-tagless 0.12

22 Oct 05:49
Compare
Choose a tag to compare

Now available for Scala 2.12 and 2.13. Thanks to all contributors ❤️

API / Feature enhancements

  • Bring back algebraName at Instrumentation and add it to Aspect (#155 by @Fristi)
  • (Inv/Cov/Con)-FunctorK and SemigroupalK instances for core cats classes (#97 by @cosmin33)
  • Dependency injection via ReaderT (#153 by @joroKr21)
  • Add laws for Aspect and Instrument (#156 by @joroKr21)
  • Add Aspect that can do a form of AOP in Tagless Final with type classes (#141 by @joroKr21)
  • Add derivation of const / void algebra implementations (#152 by @joroKr21)

Bug fixes

  • Fix byname parameters when they have to be transformed (#134 by @joroKr21)
  • Fix swapped type parameters of contramapK in mapK (#115 by @joroKr21)

Documentation enhancements

  • update README with sbt settings for cross-Scala-version builds (#120 by @bpholt)

Test improvements

Build changes

Dependency updates

Cats-tagless 0.9

08 Jul 18:55
Compare
Choose a tag to compare

Cats-tagless 0.8

18 Jun 13:28
Compare
Choose a tag to compare

Now available on 2.11, 2.12 and 2.13

3 API/Feature enhancements

  • #55 update to scala 2.13 and latest cats by @kailuowang
  • #50 Add Profunctor derivation macro by @joroKr21
  • #49 Optimize typeclass instances for algebras without extra type params by @joroKr21

1 bug fixes

  • #54 Add support for repeated (vararg) parameters by @joroKr21

cats-tagless 0.7

03 Jun 13:47
Compare
Choose a tag to compare

scala-meta annotations were replaced with scala-reflect ones.
Available on Scala 2.13.0-RC2

Cats-tagless 0.6

07 May 01:20
Compare
Choose a tag to compare

add support for Scala 2.13-RC1

v0.5

26 Mar 17:27
Compare
Choose a tag to compare