All Versions
66
Latest Version
Avg Release Cycle
87 days
Latest Release
545 days ago

Changelog History
Page 3

  • v2.2.0-RC1 Changes

    July 06, 2020

    ๐Ÿš€ 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

    ๐Ÿ“š 7 documentation improvements

    ๐Ÿ— 14 build improvements

  • v2.2.0-M3 Changes

    June 17, 2020

    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

    ๐Ÿ“š 3 documentation improvements

    ๐Ÿ— 14 build improvements

  • v2.2.0-M2 Changes

    May 25, 2020

    ๐Ÿš€ 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

    7 API / feature enhancements

    ๐Ÿ“š 3 documentation improvements

    โœ… 2 test improvements

    ๐Ÿ— 11 build improvements

  • v2.2.0-M1 Changes

    2020 March 31

    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 in NonEmptyList#last by @PeterPerhac
    • #2689 Add orElseRaise syntax for ApplicativeError by @kubukoz
    • #3372 Add zipAll to Align typeclass by @dantb
    • #3328 Fix short circuiting behaviour in traverse and traverseFilter 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 use separateFoldable instead of separate 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 Update sbt-scalajs-crossproject to 1.0.0 by @scala-steward
    • โšก๏ธ #3284 Update sbt to 1.3.8 by @scala-steward
    • โšก๏ธ #3288 Update sbt-mima-plugin to 0.6.4 by @scala-steward
    • โšก๏ธ #3282 Update sbt-mima-plugin to 0.6.3 by @scala-steward
    • โšก๏ธ #3276 Update sbt-unidoc to 0.4.3 by @scala-steward
    • โšก๏ธ #3267 Update sbt-scalajs to 0.6.32 by @scala-steward
    • โšก๏ธ #3268 Update sbt-doctest with ScalaTest 3.1.0 and Dotty fixes by @travisbrown
    • โšก๏ธ #3266 Update discipline-scalatest to 1.0.0 by @scala-steward
    • โšก๏ธ #3277 Update sbt-scalafmt to 2.3.1 by @scala-steward
    • #3246 Minor changes for Scala.js 1.0 compatibility by @travisbrown
    • โšก๏ธ #3259 Update discipline-scalatest by @travisbrown
    • ๐Ÿš€ #3258 Update sbt-release to 1.0.13 by @scala-steward
    • โšก๏ธ #3257 Update sbt to 1.3.7 by @scala-steward
    • โšก๏ธ #3251 Update sbt-microsites to 1.1.0 by @scala-steward
    • โœ… #3250 Avoid ScalaTest 3.1.0 deprecations by @travisbrown
    • โšก๏ธ #3244 Update discipline-scalatest and scalatestplus dependency by @travisbrown
    • ๐Ÿšš #3243 Remove unused Scala Native sbt plugin by @travisbrown
    • โšก๏ธ #3232 Update Scalafmt to 2.3.2 by @travisbrown
    • #3231 Drop cats-macros project by @travisbrown
    • โšก๏ธ #3227 Update sbt to 1.3.6 by @scala-steward
  • v2.1.1 Changes

    2020 February 25

    ๐Ÿš€ 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.

  • v2.1.0 Changes

    2019 December 18

    ๐Ÿš€ 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).

    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
  • v2.1.0-RC3 Changes

    2019 December 11

    ๐Ÿš€ This release candidate provides the same binary compatibility guarantees as Cats 2.0.

    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
  • v2.1.0-RC2 Changes

    _2019 November 26

    ๐Ÿš€ 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
    • 0๏ธโƒฃ #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
  • v2.1.0-RC1 Changes

    2019 November 15

    ๐Ÿš€ This release is currently only available for Scala 2.11 and Scala 2.12. It provides the same binary compatibility guarantees as Cats 2.0 (and is verified by MiMa to be fully binary-compatible with 2.0 itself).

    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
  • v2.0.0 Changes

    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 @travisbrown

    1 bug fix

    • ๐Ÿ“ฆ #3037 Add cats.kernel.instances.finiteDuration package by @travisbrown

    ๐Ÿ“š 1 documentation improvement

    • ๐Ÿ›  #3034 minor typo fixed by @ikr0m