Cats Mtl Versions Save

cats transformer type classes.

v1.4.0

6 months ago

Enhancements

Docs

Updates

New Contributors

Full Changelog: https://github.com/typelevel/cats-mtl/compare/v1.3.1...v1.4.0

v1.3.1

1 year ago

v1.3.0

1 year ago
  • Added support for Scala native
  • Upgraded Scala.js to 1.10.1
  • Upgraded Scala 3 to 3.1.3
  • Updated Cats to 2.8.0

v1.2.0

3 years ago
  • Dropped support for Scala 3.0.0-RC1
  • Added support for Scala 3.0.0-RC3
  • Documentation fixes and improvements (@dhinojosa, @yoohaemin)

Thank you, all!

v1.1.3

3 years ago
  • Dropped support for Scala 3.0.0-M3
  • Added support for Scala 3.0.0-RC2

v1.1.2

3 years ago
  • drop Scala 3.0.0-M2, introduce Scala 3.0.0-RC1
  • update cats to 2.4.2
  • #306 Add Tell instance for RWST

v1.1.1

3 years ago
  • Dropped support for Scala 3.0.0-M1
  • Added support for Scala 3.0.0-M3

v1.1.0

3 years ago

Belated release notes! This release is fully binary-compatible with the entire 1.x line.

  • Support for Scala 3.0.0-M1 and 3.0.0-M2 (@djspiewak)
  • Fixed typos in @implicitNotFound copy pasta (@djspiewak)
  • Upgraded to Cats 2.3.0
  • Implicitly materialize a Handle for all types which form an ApplicativeError (@pchpsky)

v1.1.0-M1

3 years ago
  • Support for Dotty 0.27.0-RC1 and Scala 3.0.0-M1 (@djspiewak)
  • Fixed typos in @implicitNotFound copy pasta (@djspiewak)
  • Upgraded to Cats 2.3.0-M2
  • Implicitly materialize a Handle for all types which form an ApplicativeError (@pchpsky)

v1.0.0

3 years ago

This release contains a full rewrite of… everything. It is not binary compatible with 0.7.x or any of the previous releases, nor is it source-compatible, but most of the changes should be relatively straightforward to adapt to on the usage side. This rewrite was not undertaken lightly, and it is hoped that the advantages which come from it are deemed worth the short-term inconvenience of upgrade pain. The major changes are as follows:

  • Renamed all typeclasses to be more concise and to avoid needing to understand implementation details (e.g. Ask rather than FunctorAsk)
  • Added variance to relevant classes (e.g. Ask and Raise), which ensures more robust usability in most cases. This is particularly helpful when working with an instance of Raise[F, Throwable], which now allows the use of the raise[F] syntax directly on all subtypes of Throwable, exactly as you would expect. This also makes it much easier to compose Ask instances together when both instances are using subtyping as a mechanism for subsetting some environmental context (a common technique in dependency injection).
  • Removed all ControlLayer typeclasses in favor of more direct derivation. This imposes a slightly higher cost in terms of boilerplate for class authors, but provides much greater control for both users and authors while avoiding the import tax. To this point, it is no longer necessary to import cats.mtl.implicits._ unless you want access to the syntax, in which case cats.mtl.syntax.all._ is probably a better approach.
  • Added MonadPartialOrder. This is a generalization of the Hoist typeclass in many ways, though not quite as general as ApplicativeK or similar. It is mostly used as an implementation detail in MTL instance derivation, but it can also be quite useful in user-land code for representing when a monad "contains" another monad's effects.
  • …probably other nice things!

One major omission for the moment is that documentation has not been updated at present. This requires some more work, but we didn't want to hold up all the goodies of 1.0 pending that rework. Expect more changes in the coming days!