All Versions
58
Latest Version
Avg Release Cycle
21 days
Latest Release
-

Changelog History
Page 2

  • v2.2.0-RC3 Changes

    August 15, 2020

    ๐Ÿš€ This is the third release candidate for Cats 2.2.0. We decided to publish another release candidate because since 2.2.0-RC2 we've received contributions that add new type class instances and new methods, fix some issues related to laziness and stack-safety, and improve performance.

    ๐Ÿš€ This release is verified to be backward binary compatible with all 2.1.x and 2.0.x releases (and also with 1.x for the non-laws modules), but not with any of the other 2.2.0 milestones or release candidates. It breaks binary compatibility with the previous release candidates only in removing a single unnecessary type class instance, the catsTraverseForEither method in Traverse, which was introduced in 2.2.0-M1.

    ๐Ÿš€ The largest change since 2.2.0-RC2 is @LukaJCB's migration of the Cats tests from ScalaTest to MUnit, which makes it easier for us to track current Dotty releases, but this switch has no effect on any published artifacts.

    1 bug fix

    • #3565 Fix ReducibleLaws causing stack overflow by calling Eval.now early by @bastewart

    15 API / feature enhancements

    ๐Ÿ“š 4 documentation improvements

    ๐Ÿ— 11 build improvements

  • v2.2.0-RC2 Changes

    July 21, 2020

    ๐Ÿš€ This is the second release candidate for Cats 2.2.0. We decided to publish another release candidate because of several significant implementation improvements by @johnynek, including in particular #3519 and #3521. This release is verified to be backward binary compatible with 2.2.0-RC1, 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 not with 2.2.0-M1 or 2.2.0-M2.

    7 API / feature enhancements

    • #3524 A method StateT.fromState turning State[A, F[B]] into StateT[F,A, B] is added. by @akopich
    • #3498 Enable breakout in functions reduceRightToOption and reduceRightTo. by @takayahilton
    • ๐Ÿšš #3519 remove casts from Eval, fix stack overflow in Eval by @johnynek
    • #3521 make collection traversals stack safe by @johnynek
    • #3516 Override some Option Apply/Applicative methods by @johnynek
    • ๐Ÿšš #3518 remove some casts in AndThen by @johnynek
    • #3515 Add some more implementations to Function0 and Function1 Monads by @johnynek

    ๐Ÿ— 3 build improvements

  • 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