Releases: typelevel/cats
Cats 2.2.0-RC1
This is the first release candidate for Cats 2.2.0, and it will become 2.2.0 if no major issues turn up in the next week or two. It includes some minor changes that technically break source compatibility with 2.2.0-M3 (for example), but these should not affect normal usage. It is backward binary compatible with 2.2.0-M3 and all 2.1.x and 2.0.x releases (and also with 1.x for the non-laws modules), but it is not binary compatible with 2.2.0-M1 or 2.2.0-M2.
Please note that this release follows 2.2.0-M3 in dropping support for Scala.js 0.6.
10 API / feature enhancements
- #3458 Enum typeclass by @yilinwei
- #3508 Put implicit support for evidence from predef types by @johnynek
- #3459 attemptTap by @RaasAhsan
- #3502 Add Tuple2K Semigroupal by @rmehri01
- #3495 Add implicit variance support for Profunctor typeclass by @gagandeepkalra
- #3358 ApplicativeError: add raiseOption operation. by @diesalbla
- #3493 Don't skip PartialOrder antisymmetry and transitivity by @rossabaker
- #3336 some convenient for IndexedReaderWriterStateT by @enzief
- #3486 Another attempt at Dotty cross-building by @travisbrown
- #3485 Remove unnecessary type parameter by @travisbrown
7 documentation improvements
- #3501 improved MonoidK docs by @kazchimo
- #3492 Add invariant docs by @kazchimo
- #3497 Modify document expressions by @yu-croco
- #3390 Add document about Arrow Choice by @jcouyang
- #3481 Improve documentation for typeclasses by @kkalavantavanich
- #3478 Add ior docs by @kazchimo
- #3479 Clean up Community Announcements a little by @travisbrown
14 build improvements
- #3496 Fix cross-versioning for docs by @travisbrown
- #3506 Update scalafmt-core to 2.6.2 by @scala-steward
- #3506 Update sbt-scalafix to 0.9.18 by @scala-steward
- #3507 Update sbt-sonatype to 3.9.4 by @scala-steward
- #3496 Review Simulacrum Scalafix annotation practices by @travisbrown
- #3504 Update sbt-scalajs, scalajs-compiler to 1.1.1 by @scala-steward
- #3500 Update sbt to 1.3.13 by @scala-steward
- #3491 Update sbt-sonatype to 3.9.3 by @scala-steward
- #3490 Fixed formatting on master by @barambani
- #3488 Scalafmt core 2.6.1 by @barambani
- #3484 Add ScalaTest 3.2.0 dependencies by @travisbrown
- #3482 Rerun Simulacrum after rearrangement for Scala.js by @travisbrown
- #3476 Update to Scalafmt 2.6.0 by @travisbrown
- #3475 Merge 2.2.x after 2.2.0-M3 release by @travisbrown
Cats 2.2.0-M3
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
Cats 2.2.0-M2
This release fixes two minor bugs (a couple of instances were missing from the implicit scope additions in 2.2.0-M1, and some WriterT
instances weren't property prioritized). It also includes several API additions and build-related version updates.
There's also been a significant change to the way cats.syntax
enrichment method boilerplate is generated (see #3424 and #3192 for details). This change should not have any user-facing effects, but if you notice anything unusual please let us know.
This release is verified to be backward binary compatible with all previous 2.1.x and 2.0.x releases, and the non-laws modules are binary compatible with all 1.x releases. It also happens to be binary compatible with the previous 2.2.0-M1 milestone, although we don't guarantee compatibility between milestones.
This release is cross-published for Scala.js 0.6 (specifically 0.6.33) and 1.1.0. Like the last few releases, this may be the last that supports Scala.js 0.6; we're planning to move the build to 1.x soon.
The warnings in the 2.2.0-M1 release notes apply to this milestone as well. Please try it out, but be careful, and if possible report any issues you run into.
Any feedback about these milestones (either positive or negative) would be useful for us in planning the 2.2.0 release. We don't currently have a definite timeline, but it's likely to happen in June.
2 bug fixes
- #3394 WriterTInstances: insufficient prioritization by @barambani
- #3380 First two missing instances by @travisbrown
7 API / feature enhancements
- #3423 Add toNev to NonEmptyList variants by @saraiva132
- #3421 Functor - fproductLeft by @pk044
- #3415 Add partialComparison syntax by @joroKr21
- #3412 Update sbt-microsites to 1.2.1 by @scala-steward
- #3408 Tweak EitherT.pure and rightT to avoid a map call by @joroKr21
- #3403 Add Cont alias to ContT by @RaasAhsan
- #3335 Add foldF, cataF and emptyflatTap to OptionT by @ybasket
3 documentation improvements
- #3419 fix scalaz source url. s/As.scala/Liskov.scala/ by @xuwei-k
- #3393 Remove TODO from guidelines by @DieBauer
- #3383 Fix a link in the documentation for Traverse by @justinhj
2 test improvements
- #3378 Remove cats.instances from tests by @travisbrown
- #3375 Add laws to check Short-Circuiting behaviour by @gagandeepkalra
11 build improvements
- #3430 Fix Simulacrum exclusion in POM by @travisbrown
- #3424 Use Simulacrum Scalafix by @travisbrown
- #3417 Update sbt-scalafmt to 2.4.0 by @scala-steward
- #3416 Update scalacheck-1-14 to 3.1.2.0 by @scala-steward
- #3413 Update sbt-scalajs, scalajs-compiler to 0.6.33 by @scala-steward
- #3399 Update sbt-microsites to 1.2.0 by @scala-steward
- #3395 Update sbt to 1.3.10 by @scala-steward
- #3389 Update sbt-scalafmt to 2.3.4 by @scala-steward
- #3388 Update sbt-scalafmt to 2.3.3 by @scala-steward
- #3379 Merge 2.2.x after 2.2.0-M1 release by @travisbrown
- #3376 Update sbt to 1.3.9 by @scala-steward
Cats 2.2.0-M1
Please note that this is a milestone release and should be considered experimental. It includes significant changes that may break source compatibility in some situations we haven't foreseen, and it's likely to be followed by subsequent milestone releases in the 2.2.x series that are not guaranteed to be binary-compatible with their milestone predecessors. We're excited about this release and want people to try it out, but please do so carefully (and let us know if you run into issues).
The biggest change in this release is that Cats's type class instances for standard library types are now available in implicit scope, and no longer have to be imported. This has a number of benefits, including faster compile times and fewer things to think about. Please see this pull request, this blog post, or the migration guide below for more information about this change.
While this release is guaranteed by MiMa to be binary compatible with all 2.x releases (and with 1.x for most modules), and while we believe the implicit scope change should be fully source compatible, there are many other changes that may cause your code not to compile, or to behave differently. In particular Cats's BigDecimal
arithmetic now works slightly differently on Scala 2.13 than it did in previous releases, the short-circuiting behavior of traverse
and traverseFilter
has been changed for some instances, and attemptNarrow
will no longer compile if its type parameter isn't a subtype of Throwable
. If you run into compilation errors or changes you don't understand, please let us know, either by asking a question in the Cats Gitter channel or opening an issue here.
We're also no longer publishing cats-macros artifacts. This module has been empty since Cats 1.x, but if you explicitly depend on it for some reason, you'll have to remove it from your build.
This release is published for Scala 2.12 and 2.13, and for Scala.js 0.6 and 1.x.
We don't currently have a definite timeline for Cats 2.2.0, but it's likely to be out by the end of April (2020).
3 source breaking changes
- #3043 Move standard library type class instances into implicit scope by @travisbrown
- #3241 Reimplemented MonadError[FreeT[...]] to be correct by @djspiewak
- #3361 Restrict attemptNarrow to subtypes of Throwable by @travisbrown
2 bug fixes
- #3306 Make cats.syntax.flatMap include untilDefinedM by @travisbrown
- #3305 Add cats.syntax.hash by @travisbrown
31 API/feature enhancements
- #3321 Reinstate @johnynek's intercalate optimization from #3279 by @travisbrown
- #3374 Add EitherT.liftAttemptK by @kubukoz
- #3168 Use
getOrElse
inNonEmptyList#last
by @PeterPerhac - #2689 Add
orElseRaise
syntax forApplicativeError
by @kubukoz - #3372 Add zipAll to Align typeclass by @dantb
- #3328 Fix short circuiting behaviour in
traverse
andtraverseFilter
by @gagandeepkalra - #3362 Prepend a Vector to a NonEmptyVector by @ssanj
- #3361 Restrict attemptNarrow to subtypes of Throwable by @travisbrown
- #3346 Add Either.unit, use in Applicative[Either[A, ?]] by @rossabaker
- #3323 Re-encode relationships to avoid implicit conversion functions by @travisbrown
- #3316 Add semiflatTap and leftSemiflatTap functions to EitherT by @matwojcik
- #3324 Use ArraySeq.untagged instead of ClassTag[Nothing] by @travisbrown
- #3235 Added flatMapK to FreeT by @djspiewak
- #3279 Add Semigroup and Monoid combinators reverse and intercalate by @johnynek
- #3303 Use unlimited MathContext for BigDecimal arithmetic by @travisbrown
- #3307 Clean up some NonEmpty stuff by @travisbrown
- #3283 Optimize traverse by @travisbrown
- #3294 Add traverseEither by @LukaJCB
- #3302 ArraySeq instance follow-up by @travisbrown
- #3278 Issue 2304: Missing functions for RWST by @barambani
- #3273 Adding instances for ArraySeq by @BalmungSan
- #3274 Add ContT.liftF and ContT.liftK by @lavrov
- #3263 Avoid syntax methods in implementations in cats-core by @travisbrown
- #3261 Fix compiler warnings in tests by @travisbrown
- #3255 More Dotty compat stuff in tests by @travisbrown
- #3254 Use dotty-friendly kind-projector placeholder by @travisbrown
- #3253 Some Dotty compat for tests by @travisbrown
- #3239 add List#scanLeftNel and List#scanRightNel by @enzief
- #3237 Follow up to #3233 by @strong-zero
- #3233 Add when and unless to OptionT by @strong-zero
- #3230 Add two casts to satisfy Dotty by @travisbrown
- #3225 Publicize Free#foldStep by @djspiewak
11 documentation improvements
- #3301 Cats package: add comprehensive scaladoc. by @diesalbla
- #3364 Fix typo by @MaT1g3R
- #3314 Fix doc examples for Ior.map by @ybasket
- #3290 Update readme with latest cats-core version by @leusgalvan
- #3285 Remove machinist from colophon microsite page by @markusa380
- #3272 Fix typo on Chain docs by @LLCampos
- #3265 Copyright and license by @travisbrown
- #3229 fixes #3206 remove references to waffle.io by @ssikdar1
- #3226 Update kind-projector and simulacrum url by @xuwei-k
- #3224 Add a Developer-Comment regarding an unused parameter. by @diesalbla
- #3221 Fix typos by @bwignall
38 build improvements
- #3193 Expand kind-projector's syntax for polymorphic function values by @travisbrown
- #3365 Update sbt-microsites to 1.1.5 by @scala-steward
- #3371 Update sbt-sonatype to 3.9.2 by @scala-steward
- #3325 Specific commutativity and associativity tests for BigDecimal by @travisbrown
- #3342 Fix
Foldable
doctest to useseparateFoldable
instead ofseparate
by @gagandeepkalra - #3352 Update sbt-microsites to 1.1.3 by @scala-steward
- #3354 Change review policy for PRs that don't target master by @travisbrown
- #3319 Update changelog by @travisbrown
- #3337 Update Scalafmt to 2.4.2 by @travisbrown
- #3331 Update sbt-mima-plugin to 0.7.0 by @scala-steward
- #3326 Update snakeyaml to 1.26 by @scala-steward
- #3344 Update sbt-scalafmt to 2.3.2 by @scala-steward
- #3350 Add Align lawful tests for Option instance by @gagandeepkalra
- #3304 Replace instance trait inheritance with imports in tests by @travisbrown
- #3322 Add parentheses for Dotty by @travisbrown
- #3311 Update sbt-microsites to 1.1.2 by @scala-steward
- #3310 Update discipline-scalatest by @travisbrown
- #3308 Update scalacheck-1-14 to 3.1.1.0 by @scala-steward
- [#3291](https:/...
Cats 2.1.1
This release introduces support for Scala.js 1.0.0. There are no changes since 2.1.0 for the Scala.js 0.6 or JVM artifacts. This is likely to be the last Cats release supporting Scala.js 0.6, and we encourage Scala.js users to upgrade to 1.0.0 as soon as possible.
Cats 2.1.0
Please see the release notes for the three 2.1.0 release candidates for a complete list of changes since 2.0.0:
This release currently only supports Scala 2.12 and 2.13. It provides the same binary compatibility guarantees as Cats 2.0 (note that it is not guaranteed to be binary-compatible with the 2.1.0 release candidates).
This release introduces support for Scala.js 1.0.0-RC2.
3 API / feature enhancements
- #3208 Add Defer.fix by @johnynek
- #3215 Replace kind-projector placeholders in infix types by @travisbrown
- #3207 Avoid kind-projector syntax with variance annotations by @travisbrown
1 documentation improvement
- #3218 Update sbt-microsites by @travisbrown
4 build improvements
- #3217 Remove sbt-partial-unification by @travisbrown
- #3216 Update sbt-pgp to 2.0.1 by @scala-steward
- #3213 Update discipline-core to 1.0.2 by @scala-steward
- #3212 Update sbt-scalafix and sbt versions by @travisbrown
Cats 2.1.0-RC3
This release fixes a few more instances of broken binary compatibility that were accidentally introduced in 2.1.0-RC1 (see the RC2 release notes for more detail). It provides the same binary compatibility guarantees as Cats 2.0.
We'll publish Cats 2.1.0 in one week, on 18 December, unless any major issues come up before then.
1 bug fix
- #3203 Fix more bincompat breakage by @travisbrown
14 API / feature enhancements
- #3199 Fix foldA, reduceA, and reduceMapA short-circuiting by @travisbrown
- #3198 Rename rangeE for clarity by @travisbrown
- #3150 Add foldA, reduceA, and reduceMapA by @Twizty
- #3174 Optimize Iterable instances implementation. by @takayahilton
- #3186 Avoid unusual kind-projector syntax by @travisbrown
- #3187 Helping out Dotty's type inference by @travisbrown
- #3190 Mark match that is unchecked by Scala 2 as unchecked by @travisbrown
- #3191 Add type for implicit val by @travisbrown
- #3158 add
filterNot
to FunctorFilter by @gagandeepkalra - #3188 Add explicit type annotations for implicit Ordering vals by @travisbrown
- #3189 Replace do-while by @travisbrown
- #3185 Update Function0 syntax by @travisbrown
- #3183 Remove redundant final modifiers on objects by @travisbrown
- #3182 Parenthesize lambda parameters with type annotations by @travisbrown
4 documentation improvements
- #3155 Enable and fix doctests on 2.13 by @travisbrown
- #3178 Add ApplicativeError for EitherT documentation by @tg44
- #3181 Fix typo by @msinton
- #3173 Fix typo in Alternative docs by @SimY4
1 build improvement
- #3197 Update sbt-scalafmt to 2.3.0 by @scala-steward
Cats 2.1.0-RC2
2019 November 26
This release fixes a few instances of broken binary compatibility that were accidentally introduced in 2.1.0-RC1 and reported by Ben Stewart. Unfortunately MiMa didn't catch this breakage because of a bug, but we've confirmed that this release fixes all instances of this particular kind of breakage (see #3162 for details).
The issue in the previous release candidate should only affect users who are calling the adaptError
syntax method when the MonadError
instance is defined in a library that depends on a previous version of Cats, but we encourage everyone to upgrade as soon as possible.
This release candidate provides the same binary compatibility guarantees as Cats 2.0.
2 bug fixes
- #3163 Fix broken binary compatibility by @travisbrown
- #3162 Add adaptError override to MonadError by @travisbrown
3 API / feature enhancements
- #3165 Add catchOnly to ApplicativeError by @takayahilton
- #3159 Some minor optimizations by @travisbrown
- #3167 Make default reduceMapM lazy if reduceRightTo is lazy by @travisbrown
3 documentation improvements
- #3172 Fix typo by @bwignall
- #3153 Activating Open Collective by @monkeywithacupcake
- #3160 update links to sustainability program by @kailuowang
4 build improvements
- #3166 Update Scala to 2.13.1 by @travisbrown
- #3171 Update sbt to 1.3.4 by @scala-steward
- #3169 Update sbt-sonatype to 3.8.1 by @scala-steward
- #3170 Update sbt-scalajs, scalajs-compiler to 0.6.31 by @scala-steward
Cats 2.1.0-RC1
2019 November 15
This is the first release candidate for Cats 2.1.0. The most significant change since 2.0.0 is that Scala 2.11 is no longer supported on the master branch, which has freed us up to make more significant improvements without breaking binary compatibility. This 2.1.0-RC1 release is currently only published for Scala 2.12 and 2.13, not for 2.11, although that may change.
The release provides the same binary compatibility guarantees as Cats 2.0 (and is verified by MiMa to be fully binary-compatible with 2.0 itself).
There are changes in this release that break source compatibility with 2.0. Most methods that were deprecated in Cats 1.x have been made package-private (which maintains binary compatibility but cleans up the documentation), and cats.instances.parallel
imports will need to be rewritten (see #3059 for details).
We don't currently have additional changes planned for 2.1.0, although that may change. If no major issues come up we'll publish 2.1.0 by the end of this month.
Note that this is pre-release software! Please use with care, and let us know if you run into problems.
2 source breaking changes
- #3154 Make 1.x deprecation targets package-private by @travisbrown
- #3099 Issue 3059: Move Parallel instances into instance packages for the type constructors they characterize by @barambani
3 bug fixes
- #3126 Remove Order constraint from Hash instance for Map by @vasiliybondarenko
- #3105 Issue 2701 - Ambiguous Eq instances for tuples by @barambani
- #3100 Issue 2891 - Ambiguous Vector instances by @barambani
25 API / feature enhancements
- #3152 "Move" type class syntax methods onto type classes by @travisbrown
- #3149 Deprecate and make private syntax methods that are now on Either by @travisbrown
- #3148 Move adaptError by @travisbrown
- #3147 Add Parallel.parFoldMapA by @nigredo-tori
- #3146 Add redeem and redeemWith by @travisbrown
- #3144 Add Align for Stream by @travisbrown
- #3136 Add benchmark for foldMapA by @travisbrown
- #3135 Minor clean up. Removed duplication. by @barambani
- #3133 Fix NonEmptyChain.fromSeq signature on 2.12 by @travisbrown
- #3130 add foldMapA as an alternative to foldMapM that only requires an Applicative rather than a monad by @mberndt123
- #3124 SemigroupK sum: F[A], F[B] => F[A Either B] by @pk044
- #3122 Fix constraints and names for new Foldable methods by @travisbrown
- #3103 Add TraverseFilter instance for Queue. by @takayahilton
- #3088 #2947 Added bifold to Bifoldable typeclass by @Twizty
- #3084 Add minimumBy/maximumBy/Option to Foldable by @joroKr21
- #3076 Add Align typeclass by @LukaJCB
- #3062 add unzip to Functor by @gagandeepkalra
- #3058 Add
ifF
on Functor #3040 by @vasiliybondarenko - #3041 Add scala.util.control.TailCalls.TailRec instances by @johnynek
- #3015 Use Foldable foldRight for Traverse and TraverseFilter. by @takayahilton
- #2863 add attemptNarrow to ApplicativeErrorOps by @marcodippy
- #2834 CommutativeMonoid[Option[A]] from CommutativeSemigroup by @valydia
- #2772 Add foldRightDefer to Foldable by @denisrosca
- #2742 Added separateFoldable by @tkroman
- #2380 Add combineAllOption to Foldable by @barambani
12 documentation improvements
- #3156 Fix link to Monad and Comonad by @XeeD
- #3151 fix link to moniodK and Applicative by @stsatlantis
- #3104 Update faq.md repl documentation by @psilospore
- #3081 Correct some mistakes in Comonad documentatoin by @justinhj
- #3073 add more doctest to WriterT by @hamednourhani
- #3072 Mention additional dependencies in lawtesting docs by @miklos-martin
- #3071 Update Semigroup docs for Map by @codingismy11to7
- #3065 Link to relevant Const doc from doc of Traverse by @LPTK
- #3063 add more doctest to Ior by @hamednourhani
- #3061 Validated doctest by @hamednourhani
- #3054 add more doctest to EitherT by @hamednourhani
- #3049 minor update to the doc to include cats-testkit-scalatest by @kailuowang
29 build improvements
- #3142 Backport MiMa config and dependency updates for 2.11 by @travisbrown
- #3139 Update 2.11 branch build by @travisbrown
- #3129 Check bincompat on stuff we should be checking bincompat for by @travisbrown
- #3125 Fix order of @deprecated arguments by @travisbrown
- #3120 Update sbt-scalafmt to 2.2.1 by @scala-steward
- #3118 Update sbt-scalafmt to 2.2.0 by @scala-steward
- #3115 Update sbt-release to 1.0.12 by @scala-steward
- #3114 Update sbt to 1.3.3 by @scala-steward
- #3110 Update sbt-scalafmt to 2.0.7 by @scala-steward
- #3106 ci: Enable 2.13 build for scalajs and linting in travis by @DieBauer
- #3102 Use new group ID for simulacrum by @travisbrown
- #3101 update ScalaTest by @larsrh
- #3096 Enable coverage and docs by @DieBauer
- #3095 Update sbt-microsites to 0.9.7 by @scala-steward
- #3094 Update tut-plugin to 0.6.13 by @scala-steward
- #3092 Update scalafmt-core to 2.1.0 by @scala-steward
- #3091 Update sbt-sonatype to 3.8 by @scala-steward
- #3090 Update sbt-scalafmt to 2.0.6 by @scala-steward
- #3089 Update scalacheck to 1.14.2 by @scala-steward
- #3086 Update simulacrum to 1.0.0 by @scala-steward
- #3085 Update sbt-microsites to 0.9.6 by @scala-steward
- #3079 update to sbt 1.3.x, uses coursier by default by @larsrh
- #3070 Update sbt-scalajs, scalajs-compiler to 0.6.29 by @scala-steward
- #3066 Update sbt-scalafmt to 2.0.5 by @scala-steward
- #3064 Update sbt-pgp to 2.0.1-M3 by @scala-steward
- #3056 Update sbt-sonatype to 3.7 by @scala-steward
- #3052 Create a Scala 2.11 branch by @kailuowang
- #3051 Drops Scala 2.11 support on master by @kailuowang
- #3030 Update sbt-sonatype to 3.6 by @scala-steward
Cats 2.0.0
Version 2.0.0
2019 September 9
Cats 2.0.0 is available for Scala 2.11, 2.12, 2.13, and Scala.js 0.6. This release maintains binary compatibility with Cats 1.x.x in the cats-kernel, cats-core and cats-free modules, but not cats-laws, cats-kernel-laws, cats-testkit, or alleycats.
2 source breaking changes
- #3046 Infer dependent parameter in NonEmpty/ParallelTests/Laws by @djspiewak
- #3042 Remove unused type parameter for Parallel instances by @Billzabob
1 bug fix
- #3037 Add cats.kernel.instances.finiteDuration package by @travisbrown