Cats Tagless Versions Save

Library of utilities for tagless final encoded algebras

v0.16.1

3 weeks ago

We continue to bridge the gap between Scala 2 and Scala 3. This release adds support for deriving type classes from Cats. 🥳

What's Changed

Dependency Updates

Full Changelog: https://github.com/typelevel/cats-tagless/compare/v0.16.0...v0.16.1

v0.16.0

2 months ago

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

New Contributors

Full Changelog: https://github.com/typelevel/cats-tagless/compare/v0.15.0...v0.16.0

v0.15.0

1 year ago

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:

New Contributors

Full Changelog: https://github.com/typelevel/cats-tagless/compare/v0.14.0...v0.15.0

v0.14.0

3 years ago

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

v0.13.0

3 years ago

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

v0.12

3 years ago

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

v0.8

4 years ago

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

v0.7

5 years ago

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

v0.6

5 years ago

add support for Scala 2.13-RC1