Skip to content

Releases: typelevel/cats

v2.10.0

14 Aug 02:57
f496e25
Compare
Choose a tag to compare

Cats v2.10.0 is a binary-compatible release in the 2.x series. It is published for Scala 2.12, 2.13, and 3.3+ with Scala.js 1.13+ and Scala Native 0.4.

This release includes #4477 which fixes the encoding of Apply (and Semigroupal) syntax to avoid allocating an intermediate "Ops" wrapper class. This affected commonly-used operators such as *>. Unfortunately libraries will need to re-compile and re-publish against Cats v2.10.0 to use the new allocation-free syntax.

Thanks to all the contributors to this release! There are many accumulated changes.

What's Changed

Features

Optimizations

Fixes

Documentation

Adopters

Behind-the-scenes

Updates

  • Update scala3-library, ... to 3.3.0 by @typelevel-steward in #4448
  • Update nscplugin, sbt-scala-native, ... to 0.4.14 by @typelevel-steward in #4454
  • Update scala-library, scala-reflect to 2.12.18 by @typelevel-steward in #4455
  • Update scala-library, scala-reflect to 2.13.11 by @typelevel-steward in #4456
  • Update sbt-scalajs, scalajs-compiler, ... to 1.13.2 by @typelevel-steward in #4464

New Contributors

Full Changelog: v2.9.0...v2.10.0

v2.9.0

12 Nov 21:20
85d0355
Compare
Choose a tag to compare

Cats v2.9.0 is a binary-compatible release in the 2.x series. It is published for Scala 2.12, 2.13, and 3.2+ with Scala.js 1.8+ and Scala Native 0.4.

What's Changed

Features

Optimizations

Fixes

  • Don't require Order for the value on Cogen for SortedMap and NonEmptyMap by @cquiroz in #4296
  • Make cats.compat a package object for for2_13Use3 compatibility by @TonioGela in #4315
  • Fix ambiguous contains_ syntax by @armanbilge in #4320

Deprecations

Documentation

Behind-the-scenes

Updates

  • Update sbt-scalajs, scalajs-compiler, ... to 1.10.1 by @typelevel-steward in #4254
  • Update nscplugin, sbt-scala-native, ... to 0.4.7 by @typelevel-steward in #4289
  • Update scalacheck to 1.17.0 by @typelevel-steward in #4297
  • Update scala3-library, ... to 3.2.1 by @typelevel-steward in #4337

New Contributors

Full Changelog: v2.8.0...v2.9.0

v2.8.0

16 Jun 19:56
bf216a4
Compare
Choose a tag to compare

Cats v2.8.0 is a binary-compatible release in the 2.x series. It is published for Scala 2.12, 2.13, and 3.1+ with Scala.js 1.8+ and Scala Native 0.4. This release is the first to support Scala 3 on the Native platform.

Features

Optimizations

Fixes

Deprecations

Documentation

Adopters

Behind-the-scenes

Updates

Read more

Cats 2.7.0

28 Nov 03:04
v2.7.0
c6d3c28
Compare
Choose a tag to compare

The most significant change in this release is the incorporation of the Typelevel Algebra project within Cats. Cats has long been the primary downstream dependent of this library, and it has significant overlap with a lot of the Cats core mission. Note that this change was made without breaking binary compatibility for transitive downstream users of Algebra, meaning that the package remains algebra rather than the more-conventional cats.algebra. This will be adjusted in Cats 3, which has no timeline at present.

Additions

Changes

Cats 2.6.1

26 May 17:26
v2.6.1
49e5eb9
Compare
Choose a tag to compare

There are no noteworthy additions in this release, but it is the first Cats release for Scala 3!

Cats 2.6.0

25 Apr 15:51
v2.6.0
9260ca2
Compare
Choose a tag to compare

Cats 2.6.0 is a binary-compatible release in the 2.x series. It provides support for Scala 2.12, 2.13, 3.0.0-RC2 and 3.0.0-RC3.

Additions

Changes

Cats 2.5.0

10 Apr 09:39
v2.5.0
3109f69
Compare
Choose a tag to compare

Cats 2.5.0 is a binary-compatible release in the 2.x series. It provides support for Scala 2.12, 2.13, 3.0.0-RC1 and 3.0.0-RC2.

Additions

Changes

Documentation

Cats 2.4.2

19 Feb 20:32
v2.4.2
5ef354b
Compare
Choose a tag to compare

Cats 2.4.2 is a small maintenance release, with added support Scala 3.0.0-RC1.

Additions

Changes

Cats 2.4.1 (hotfix)

10 Feb 17:18
v2.4.1
520869e
Compare
Choose a tag to compare

This release fixes a problem in Cats 2.4.0. It is not binary compatible with Cats 2.4.0. We urge everyone to skip 2.4.0 and upgrade directly to 2.4.1.

Cats 2.4.1 is a hotfix release in the 2.x series. It is binary compatible to every previous release in the 2.x series, except for Cats 2.4.0.

The following release notes contain all cumulative changes since Cats 2.3.1.

Additions

Changes

  • #3776, #3777 Removed and replaced inconsistent Parallel derivation for EitherT by @djspiewak
    • this change is potentially source-breaking: an existing implicit has been made un-implicit, but another implicit with a different semantics has been provided (core)
    • more discussion at typelevel/cats-effect#1645
    • this change emits new deprecation warnings
  • #3734, #3772 Cogen for (Finite)Duration to fix test failures by @larsrh
    • this change is only internal in tests
  • #2207, #3758 deprecate Free.inject by @larsrh
    • this change emits new deprecation warnings
  • #3702 specialized EqOps by @YannMoisan
    • this change accidentally broke source compatibility, please upgrade to 2.4.1
    • reverted by #3784, #3785 by @larsrh
  • #3677 Added EmptyK instance for Map by @LMnet
    • this change marks a previously non-implicit method as implicit (alleycats)

Documentation

Cats 2.4.0 (broken, see notes)

10 Feb 17:03
v2.4.0
6cd8ced
Compare
Choose a tag to compare
Pre-release

Cats 2.4.0 contains an unintended source-breaking change, please upgrade directly to 2.4.1.

Cats 2.4.0 is a binary-compatible release in the 2.x series. It is the first release with support for Scala Native.

Additions

Changes

  • #3776, #3777 Removed and replaced inconsistent Parallel derivation for EitherT by @djspiewak
    • this change is potentially source-breaking: an existing implicit has been made un-implicit, but another implicit with a different semantics has been provided (core)
    • more discussion at typelevel/cats-effect#1645
    • this change emits new deprecation warnings
  • #3734, #3772 Cogen for (Finite)Duration to fix test failures by @larsrh
    • this change is only internal in tests
  • #2207, #3758 deprecate Free.inject by @larsrh
    • this change emits new deprecation warnings
  • #3702 specialized EqOps by @YannMoisan
    • this change accidentally broke source compatibility, please upgrade to 2.4.1
  • #3677 Added EmptyK instance for Map by @LMnet
    • this change marks a previously non-implicit method as implicit (alleycats)

Documentation