Cats 2.2.0-M3
Pre-release
Pre-release
Please note that while this release is verified to be backward binary compatible with all 2.1.x and 2.0.x releases (and with 1.x for the non-laws modules), it is not binary compatible with either 2.2.0-M1 or 2.2.0-M2, primarily because of #3397. It should be source compatible with the previous 2.2.0 milestones, with the exception of some non-standard usage (e.g. calling instance methods like catsFunctorFilterForMap
explicitly) and the ap
method on Kleisli
(see #3462).
This is the first Cats release that drops Scala.js 0.6 cross-building and only supports Scala.js 1.x. It's likely that the next release will be a 2.2.0 release candidate, but we don't currently have a definite timeline for 2.2.0.
1 source breaking change
15 API / feature enhancements
- #3467 Add Parallel traverseFilter functions by @LukaJCB
- #3464 Add BinCompat extensions to syntax.apply import by @gagandeepkalra
- #3463 Added CommutativeMonoid for Option to scope by @barambani
- #3457 Add EitherT and IorT constructors from Option with monad left value by @ivan-klass
- #3456 Override map2Eval and combineKEval for monad transformers by @LukaJCB
- #3451 Issue 3447: Add more foldMapK shortcircuiting by @barambani
- #3446 Add combineKEval and add short-circuiting for foldMapK by @LukaJCB
- #3440 Mark Ops traits as Serializable by @travisbrown
- #3439 Make boilerplate syntax classes extend Serializable by @ceedubs
- #3436 Add auto variance as additional import by @LukaJCB
- #3432 NonEmptyList.groupByNelA by @pk044
- #3397 Remove Order constraints from SortedMap and NonEmptyMap instances by @joroKr21
- #3396 Syntax for function1 kleisli-composition by @valenterry
- #3392 Add PartialFunction instance for Profunctor typeclass by @gagandeepkalra
- #3382 Optimise NonEmptyTraverse implementation by @gagandeepkalra
3 documentation improvements
- #3469 Move nomenclature questions below introductory paragraph by @rmehri01
- #3468 Add Filippo Mariotti as a maintainer by @LukaJCB
- #3455 Update faq for ammonite by @psilospore
14 build improvements
- #3471 Some travis ci updates by @barambani
- #3466 Adding travis job names by @barambani
- #3461 Update sbt-scalafix to 0.9.17 by @scala-steward
- #3448 Update simulacrum-scalafix-annotations to 0.3.0 by @scala-steward
- #3445 Update sbt to 1.3.12 by @scala-steward
- #3444 Scalafmt 2.5.3 by @travisbrown
- #3442 Deprecate Simulacrum ops objects by @travisbrown
- #3441 Update sbt to 1.3.11 by @scala-steward
- #3438 Change value-level kind-projector syntax by @travisbrown
- #3437 Update sbt-scalafix to 0.9.16 by @scala-steward
- #3435 Use FullOptStage by @travisbrown
- #3428 Configure codecov to simplify PR comments by @travisbrown
- #3425 Update Scalafmt to 2.5.2 by @travisbrown
- #3357 Update Scala.js to 1.0, disable Scala.js coverage reporting by @travisbrown