Releases: typelevel/cats
Cats 2.0.0-RC3
Version 2.0.0-RC3
2019 September 7
Cats 2.0.0-RC3 is the third release candidate for Cats 2.0, and is available for Scala 2.11, 2.12, 2.13, and Scala.js 0.6. This release (like the upcoming 2.0.0) 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.
We're planning to release 2.0.0 on Monday, September 9, unless any major issues in this release candidate are reported.
2 source breaking changes
- #3033 Move Parallel instances for EitherT and OptionT into implicit scope by @travisbrown
- #3031 Add Parallel.apply overload with one type parameter by @travisbrown
3 documentation improvements
- #3028 Doc fixes by @mebubo
- #3020 [DOC] Fix optionT link in monad documentation by @CucumisSativus
- #3019 Fix typo in Comonad documentation by @chiller
4 build improvements
- #3027 Update sbt-sonatype to 2.6 by @scala-steward
- #3021 Update sbt-microsites to 0.9.4 by @scala-steward
- #3017 Update sbt-microsites to 0.9.3 by @scala-steward
- #3014 Update sbt-scalafmt to 2.0.4 by @scala-steward
Cats 2.0.0-RC2
Version 2.0.0-RC2
2019 August 26
Cats 2.0.0-RC2 is the second release candidate for Cats 2.0, and is available for Scala 2.11, 2.12, 2.13, and Scala.js 0.6. This release (like the upcoming 2.0.0) 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.
4 source breaking changes
- #3012 Make Parallel's F a type member by @travisbrown
- #3003 Make bincompat and prioritization traits package-private by @travisbrown
- #3001 Move appropriate SortedSet and SortedMap instances to kernel by @travisbrown
- #2983 Treat Stream and LazyList as different types by @travisbrown
2 bug fixes
- #3010 Fix a few issues related to bin-compat traits by @travisbrown
- #3004 Fix argument order in deprecations by @travisbrown
9 API/feature enhancements
- #3002 Fix easy typos by @travisbrown
- #2999 optimize chain's get. by @takayahilton
- #2996 Add :== unapply to Chain. by @takayahilton
- #2995 Chain optimize map method by @gagandeepkalra
- #2990 unapplySeq in Chain (issue #2960) by @vasiliybondarenko
- #2989 Add Hash instance for NonEmptyMap. by @takayahilton
- #2984 improve liftTo/rethrowT/raiseOrPure syntax to be more flexible by @bpholt
- #2981 Add Hash instance for NonEmptySet. by @takayahilton
- #2980 Remove redundant type annotation. by @takayahilton
2 documentation improvements
4 build improvements
- #2987 Update snakeyaml to 1.25 by @scala-steward
- #2986 Update scalafmt to 2.0.1 by @scala-steward
- #2979 Update sbt-scalafmt to 2.0.3 by @scala-steward
- #2978 Update Scala 2.12 to 2.12.9 by @jhnsmth
Cats 2.0.0-RC1
Version 2.0.0-RC1
2019 August 2
Cats 2.0.0-RC1 is the first release candidate for Cats 2.0, It's available on Scala 2.11, 2.12, 2.13.0 and Scala.js 0.6.
Cats 2.0.0-RC1 (like the upcoming 2.0.0 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 breaking changes
- #2970 Decouple published modules from scalatest by @rossabaker
- #2896 replace
Stream
in ExhaustiveCheck withList
by @kailuowang
1 bug fix
21 API/feature enhancements
- #2969 Add syntax to option. by @takayahilton
- #2964 Implement LazyList tailRecM using Iterator.unfold by @andyscott
- #2956 added Chain#takeWhile and Chain#dropWhile by @kailuowang
- #2953 Add method init and last to NonEmptyChain like NonEmptyList. by @takayahilton
- #2946 add unordered parallel variants of (flat)traverse and (flat)sequence by @mberndt123
- #2941 Added
NonEmptyLazyList
to replaceNonEmptyStream
by @kailuowang - #2939 add map to NonEmptyChain. by @takayahilton
- #2929 Migrate to new kind-projector symbol by @LukaJCB
- #2925 Replace machinist macros by plain forwarders by @smarter
- #2924 More stack safety for IndexedReaderWriterStateT & IndexedStateT by @ybasket
- #2922 Reader contravariant on input type A by @kklorenzotesta
- #2917 Implement local for Reader by @jooohn
- #2916 Add listen for Writer and WriterT by @jooohn
- #2914 Fixed all 2.13 warnings, reenabled fatalWarning on 2.13 by @kailuowang
- #2913 Add LowerBounded and UpperBounded typeclasses by @izeigerman
- #2911 fixed more warnings on 2.13 by @kailuowang
- #2904 Cross compile replace Stream with LazyList on Scala 2.13 by @kailuowang
- #2895 Replace ⇒ with => to avoid Scala 2.13 warnings by @travisbrown
- #2889 Add missing factories similar to existing factories by @morgen-peschke
- #2880 Improve MonadError rethrow syntax to be more flexible by @bpholt
- #2787 Add Order instance for NonEmptySet (#2779) by @jatcwang
7 documentation improvements
- #2967 Fix FunctorFilter mapFilter doc example by @regadas
- #2966 add ContT to Data Types menu by @Jasper-M
- #2949 Update "README.md" for Scala 2.13.0 compiler specification changing(a… by @SeanDaru
- #2921 Fix typo in show.md by @ollyw
- #2888 Comonad documentation by @justinhj
- #2881 improve process document and release notes script by @kailuowang
- #2876 Fix typo by @asakaev
1 test improvement
14 build improvements
- #2923 Update sbt-scalafmt to 2.0.2 by @scala-steward
- #2918 Update sbt-scala-native-crossproject, ... to 0.6.1 by @scala-steward
- #2912 Update sbt-microsites to 0.9.2 by @scala-steward
- #2908 Update sbt-scalafmt to 2.0.1 by @fthomas
- #2907 Update sbt-scalafix to 0.9.5 by @fthomas
- #2906 Update sbt-microsites to 0.9.1 by @scala-steward
- #2902 Update sbt-sonatype to 2.5 by @scala-steward
- #2901 Update sbt-scoverage to 1.6.0 by @scala-steward
- #2900 Update sbt-doctest to 0.9.5 by @scala-steward
- #2899 Update sbt-microsites to 0.7.27 by @scala-steward
- #2897 Update sbt-jmh to 0.3.7 by @scala-steward
- #2882 Update tut-plugin to 0.6.12 by @scala-steward
- #2828 make stage more explicit by @kailuowang
Cats 2.0.0-M4
Cats 2.0.0-M4 is a milestone release for Cats 2.0 that's available on Scala 2.11, 2.12, 2.13.0 and Scala.js 0.6.
Cats 2.0.0-M4 (like the upcoming 2.0.0 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 documentation additions/fixes
- #2868 mention cats by example by @TomTriple
- #2860 Remove index.md from post-release process by @rossabaker
1 build improvement
- #2884 Upgrade Scala to 2.13.0 by @kailuowang
Cats 1.6.1
Cats 2.0.0-M3
Cats 2.0.0-M3 is a milestone release for Cats 2.0 that's available on Scala 2.11, 2.12, 2.13.0-RC3 and Scala.js 0.6.
Cats 2.0.0-M3 (like the upcoming 2.0.0 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.
1 breaking change
- #2830 Remove deprecated
cats.laws.discipline.eq
methods (by @kailuowang).
1 source-breaking change
1 documentation fix
3 build improvements
- #2869 Updates for 2.13.0-RC3 (by @travisbrown).
- #2865 Update sbt-hydra plugin (by @scala-steward).
- #2871 Remove closed-source sbt-hydra plugin (by @travisbrown).
Cats 2.0.0-M2
Version 2.0.0-M2
2019 May 25
Cats 2.0.0-M2 is a milestone release for Cats 2.0. It's available on Scala 2.11, Scala 2.12, Scala 2.13.0-RC2 and Scala.js 0.6.
Cats 2.0.0-M2 maintains binary compatibility on cats-kernel, cats-core and cats-free with Cats 1.x.x.
Their 2.0.0-M2 jars are drop-in replacements for 1.0.1, 1.1.0, 1.2.0, 1.3.1, 1.4.0, 1.5.0, 1.6.0, and 2.0.0-M1 jars.
cats-kernel, cats-core and cats-free 2.0.0 will remain binary compatible with 1.x.
Cats 2.0.0-M2 breaks binary compatibility on cats-laws, cats-kernel-laws, cats-testkit and alleycats.
1 breaking change in cats-laws
- #2817 Added a new foldRight lazy law, move forallLazy and existLazy laws by @kailuowang
6 documentation additions/fixes
- #2855 Edit example in Parallel docs by @Jasper-M
- #2850 Small Readme fix by @dispalt
- #2819 added FreeT basic example by @mtsokol
- #2815 added navigation links to readme by @kailuowang
- #2813 Remove 'cats experimental' clause from README.md. by @kamilkloch
- #2811 added availability information by @kailuowang
3 API/Feature enhancements
- #2840 2708 sorted set semigroupal by @vladislavGutov
- #2837 Delete unnecessary restriction on biFlatMap by @AdrianRaFo
- #2796 Added collectFirst to Chain and NonEmptyChain by @LMnet
5 build improvements
- #2858 Don't create the hydra.license if $HydraLicense is empty by @dotta
- #2857 Updates for 2.13.0-RC2 by @travisbrown
- #2856 Update sbt-scalajs to 0.6.28 by @scala-steward
- #2848 Enables Hydra on cats build by @kailuowang
- #2821 removing unused resolver by @kailuowang
2 test improvements
- #2831 fixed applicative monoid test by @kailuowang
- #2827 In Apply.semigroup test replace
ListWrapper
withOption
by @kailuowang
1 bug fix
Cats 2.0.0-M1
Version 2.0.0-M1
2019 April 24
Cats 2.0.0-M1 is a milestone release for Cats 2.0. It's available on Scala 2.11, Scala 2.12, Scala 2.13.0-RC1 and Scala.js 0.6.
Cats 2.0.0-M1 maintains binary compatibility on cats-kernel, cats-core and cats-free with Cats 1.x.x.
Their 2.0.0-M1 jars are drop-in replacements for 1.0.1, 1.1.0, 1.2.0, 1.3.1, 1.4.0, 1.5.0 and 1.6.0 jars.
cats-kernel, cats-core and cats-free 2.0.0 will remain binary compatible with 1.x.
Cats 2.0.0-M1 breaks binary compatibility on cats-laws, cats-kernel-laws, cats-testkit and alleycats.
Breaking changes
- cats-laws and cats-kernel-laws now depend on Scalacheck 1.14.0 which is not binary compatible with Scalacheck 1.13.
- cats-testkit now depends on Scalatest 3.1.0-SNAP9 whics is not backward compatible with Scalatest 3.0.x.
- alleycats no longer supports export-hook.
- #2672 Alter from Reflexitivity to Reflexivity by @mattkohl
- #2640 Strong profunctor laws based on category theory by @lemastero
4 documentation additions/fixes
- #2803 Fix repetition in NonEmptyChain scala docs by @Obarros
- #2753 fix typo in faq.md by @xuwei-k
- #2736 Fix minor typo in parse-test-durations.awk example by @ceedubs
- #2722 Add more doctests to Kleisli by @nasadorian
18 API/Feature enhancements
- #2794 removed export hook by @kailuowang
- #2791 Remove catalysts dependency by @travisbrown
- #2785 Fix unconventional package objects in kernel by @denisrosca
- #2780 added
foldF
toEitherT
by @kailuowang - #2775 Distributive instance for Representable Functor by @catostrophe
- #2765 Define OptionT.mapFilter in terms of OptionT.subflatMap by @morgen-peschke
- #2760 Make MonoidK[Endo] stack safe on combineK by @denisrosca
- #2759 Category[Is] and related tests by @ctongfei
- #2750 Par functions for Bitraverse by @catostrophe
- #2747 add method on
object CommutativeApplicative
to getCommutativeMonoid
by @alexeygorobets - #2744 MonoidK instances for Map and SortedMap by @alexeygorobets
- #2728 Optimize productR in Apply by @maphi
- #2726 Add
TraverseFilter
instance forSet
to alleycats by @dcastro - #2724 adding helper method
toFreeT
toFree
by @jcouyang - #2711 Fixes #2631 Fix InvariantMonoidal Laws by @wojciechUrbanski
- #2709 Adds version of mkString_ with no prefix/suffix, matching the std lib. by @matthughes
- #2698 Add
adaptErr
toApplicativeErrorOps
by @bplommer - #2696 Add a
defer
factory method toContT
by @cb372
15 build improvements
- #2806 update scalatest and discipline. by @kailuowang
- #2804 Update sbt-scala-native to 0.3.9 by @scala-steward
- #2797 Tuning JVM options for throughput by @DavidGregory084
- #2793 Update sbt-jmh to 0.3.6 by @scala-steward
- #2792 2.13.0-RC1 by @travisbrown
- #2786 Update tut-plugin to 0.6.11 by @scala-steward
- #2773 Update sbt-scalajs, scalajs-compiler to 0.6.27 by @scala-steward
- #2771 Fix our crossScalaVersions since the last change to travis.yml by @kailuowang
- #2764 Update sbt-jmh to 0.3.5 by @scala-steward
- #2762 Update sbt-travisci to 1.2.0 by @scala-steward
- #2752 added a styling stage to check the styles first by @kailuowang
- #2740 Update paradise to 2.1.1 by @scala-steward
- #2737 Experiment with modularizing Travis jobs by @ceedubs
- #2734 upgrade to scalacheck 1.14 by @kailuowang
- #2732 new better release settings by @kailuowang
3 test improvments
- #2672 Alter from Reflexitivity to Reflexivity by @mattkohl
- #2640 Strong profunctor laws based on category theory by @lemastero
- #2577 Don't depend on random sampling to determine function equivalence by @ceedubs
2 bug fixes
Cats 1.6.0
Version 1.6.0
2019 Jan 31
Cats 1.6.0 is binary compatible with all previous 1.x Cats releases, i.e. its jar is a drop-in replacement for 1.0.1, 1.1.0, 1.2.0, 1.3.1, 1.4.0 and 1.5.0 jars.
1.6.0 is mostly identical to 1.6.0-RC1 except one additional feature enhancement.
- #2709 Adds a version of mkString_ with no prefix/suffix, matching the std lib. by @matthughes
Cats 1.6.0-RC1
Cats 1.6.0-RC1 is binary compatible with all previous 1.x Cats releases, i.e. its jar is a drop-in replacement for 1.0.1, 1.1.0, 1.2.0, 1.3.1, 1.4.0 and 1.5.0 jars.
It brought you:
12 API/Feature enhancements
- #2641 Adding partitionEitherM by @blast-hardcheese
- #2609 Add an If-Then-Else operation to the Apply. by @diesalbla
- #2606 Add syntax for Bitraverse to allow traversal and sequencing of the left side by @andimiller
- #2600 Add
sequenceFilter
syntax by @kubukoz - #2563 Add an
applyK
function toKleisli
. by @diesalbla - #2450 Add Kleisli#mapK equivalent returning FunctionK by @kubukoz
- #2292 Add foldMapK, reduceMapK by @kubukoz
- #2693 Add IndexedState alias (#2686) by @valydia
- #2690 Override equals and hashCode on Chain by @ceedubs
- #2671 add syntax <&> for parallel by @jcouyang
- #2655 Add
rethrowT
method to EitherT by @bplommer - #2647 Move cats.tests.ListWrapper to cats-testkit by @ArturGajowy
3 bug fixes
- #2702 Reverted binary incompatible changes to generated parallel syntax by @barambani
- #2692 Private val in value classes (Resolve TODO since 2.10 is dropped) by @barambani
- #2670 Issue 2657 - Ambiguous duration instances by @barambani
17 documentation additions/fixes
- #2642 Update table headers and clarify method signature for
flatTap
by @mtomko - #2636 Some changes to glossary. by @diesalbla
- #2630 Fix a typo in Chain's doc by @satansk
- #2627 A bit clarification on PULL Request template by @kailuowang
- #2625 Fix type signature of
productL
in cats glossary by @mtomko - #2622 Fix documented constraint on B param in foldMapM by @ksonj
- #2574 Remove duplicate menu item in docs by @petern-sc
- #2277 Add an explanation for the missing Applicative instances for monad transformers by @kubukoz
- #2700 update the copyright by @RafalSladek
- #2699 typo in Comanad[Try] by @philipschwarz
- #2684 Fix FAQ formatting error by @ceedubs
- #2677 Write documentation for ContT by @cb372
- #2668 Fix broken link to Arrow.scala by @DieBauer
- #2665 minor fix by @kailuowang
- #2664 Cleaning up docs to no longer use fine grained imports by @calvinbrown085
- #2659 change prePR to run BC test on Scala 2.11 build by @kailuowang
- #2656 Fix instructions for checking binary compatibility by @bplommer
10 build improvements
- #2637 Update kind-projector to 0.9.9 by @scala-steward
- #2619 Use composite projects by @Alistair-Johnson
- #2703 Update simulacrum to 0.15.0 by @scala-steward
- #2691 Don't send Gitter notifications for fork builds by @ceedubs
- #2681 Update sbt-release to 1.0.11 by @scala-steward
- #2674 minor fix to build by @kailuowang
- #2660 Update tut-plugin to 0.6.10 by @scala-steward
- #2654 Add a shell.nix and instructions for using it by @ceedubs
- #2652 Update SBT 1.2.7 by @ChristopherDavenport
- #2643 Update sbt-scalajs, scalajs-compiler, scalajs-library... to 0.6.26 by @scala-steward