Changelog History
Page 4
-
v1.6.0 Changes
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 version of mkString_ with no prefix/suffix, matching the std lib. by @matthughes
-
v1.6.0-RC1 Changes
2019 Jan 22
🚀 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
-
v1.5.0 Changes
2018 Nov 30
🚀 Cats 1.5.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 and 1.4.0 jars.
🚀 The artifacts are identical to Cats 1.5.0-RC1. For changes since 1.4.0 please check release notes of Cats 1.5.0-RC0 and Cats 1.5.0-RC1.
-
v1.5.0-RC1 Changes
2018 Nov 19
🚀 Cats 1.5.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 and 1.4.0 jars.
It brought you:
5 API/Feature enhancements
- #2610 Expose headOption for Chain by @ChristopherDavenport
- #2596 Add standalone Try syntax import by @kubukoz
- #2594 Get FunctorFilter on par with the other MTL typeclasses by @barambani
- #2588 Add flap function to Apply by @ssanj
- #2506 Add ContT monad by @johnynek
✅ 1 test improvment
- ✅ #2578 Add awk script to parse test durations by @ceedubs
🛠 5 bug fixes
- #2618 Issue 2608 - Ambiguous implicit values for Functor[Kleisli[F, A, ?]] by @barambani
- 💅 #2617 Make the vals inside all 'Ops' style classes private by @coltfred
- #2615 2611 - MonadError syntax for OptionT uses incorrect instance by @barambani
- #2614 Make the value of the class private by @coltfred
- #2603 Rename EitherT.biflatMap by @ochrons
🏗 1 build improvement
- 🏗 #2605 Reduce Xmx in .jvmopts and build.sbt by @Alistair-Johnson
-
v1.5.0-RC0 Changes
2018 Nov 8
🚀 Cats 1.5.0-RC0 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 and 1.4.0 jars.
1.5.0-RC0 brought
23 API/Feature enhancements
- ⚡️ #2597 Optimize
Apply
methods inFlatMap
by @kailuowang - ⚡️ #2592 Add
updateWith
method to NonEmptyMap by @nasadorian - #2579 Added
Chain#distinct
andNonEmptyChain#distinct
to matchList#distinct
andNonEmptyList#distinct
by @fmsbeekmans - #2573 Add biFlatMap to EitherT by @agajek
- #2557 Add NonEmptyList#toNes (issue #2346) by @CucumisSativus
- #2555 Add OptionOps.toInvalidNec and OptionOps.toValidNec by @ybasket
- ⚡️ #2552 Optimize the foldM implementation for Vector by @ceedubs
- #2548 Missing Contravariant instance for OptionT by @barambani
- #2544 Adding FiniteDuration instances by @calvinbrown085
- #2543 Adding Nes and Nec equivalents of Nel functions by @calvinbrown085
- #2541 Add NonEmptyList#toNem (issue #2346) by @CucumisSativus
- #2535 Add NonEmptyMap#toNonEmptyList (issue #2346) by @CucumisSativus
- 🗄 #2534 avoid deprecated macro APIs post 2.10 by @larsrh
- #2533 Add empty to State and StateT objects by @larsrh
- #2527 align type parameter of smart constructor with Validated (#2525) by @thoefer
- #2522 added Convenience functions for Ior NonEmptyChain by @binkabir
- 🛠 #2521 fixed eqv alias issue #2513: by @binkabir
- #2520 Add count as syntax to UnorderedFoldable by @leusgalvan
- #2515 Add Duration Instances to cats.instances.all and cats.implicits by @LukaJCB
- 👀 #2511 .raiseError syntax allows an error subtype by @guersam
- #2510 Add Pure instance for Future by @danslapman
- #2487 Add toValidatedNec to Validated by @satansk
- #2475 Add Either#toEitherNel extension and friends by @kubukoz
1 bug fix
- 0️⃣ #2586 UnorderedFoldable#isEmpty default implementation is incorrect by @barambani
📚 16 documentation additions/fixes
- #2576 Contributing guidelines link by @fmsbeekmans
- 📄 #2572 Add Alternative docs by @stephen-lazaro
- #2566 Add Tuple2 Example for Bifunctor by @stephen-lazaro
- 🛠 #2564 Fixed typo in the docs by @barambani
- #2558 Add Nomenclature / Cheatsheet page by @diesalbla
- #2554 Adding the cats friendly badge link to README by @calvinbrown085
- #2550 Proposal: add
cats-collections
as an external cats module by @kailuowang - 🙋 #2549 Add FAQ for monad transformer variance by @ceedubs
- 📚 #2547 Fix link for contributing documentation by @ceedubs
- ⚡️ #2537 Updating Year. by @shankarshastri
- 📚 #2528 fix typo in validated documentation by @ssanj
- #2524 cats logo as svg and new "cats friendly" badge by @thoefer
- #2512 Add definition of point-wise to README by @AaronDelaplane
- 📄 #2505 Add Chain docs by @LukaJCB
- 📄 #2472 Replace List with Chain in Validated's docs by @satansk
- 📚 #2459 Add documentation for FlatMap and Bifunctor by @asoltysik
🏗 20 build improvements
- ⚡️ #2591 Update tut-plugin to 0.6.9 by @scala-steward
- 🚀 #2590 Update sbt-release to 1.0.10 by @scala-steward
- ⚡️ #2589 updated to 2.13-M5 by @kailuowang
- #2583 added a prePR command and PR template to remind people to run it by @kailuowang
- ✅ #2581 Fix test fork settings I think by @ceedubs
- ✅ #2568 give test more memory by @kailuowang
- 🏗 #2565 Disable Scala Native build for kernel by @agajek
- #2562 Introduce Scalafmt by @joan38
- ⚡️ #2507 Update sbt to 1.2.3 by @fthomas
- ⚡️ #2503 Update sbt-jmh to 0.3.4 by @scala-steward
- ⚡️ #2502 Update tut-core to 0.6.7 by @scala-steward
- ⚡️ #2501 Update sbt-scala-native to 0.3.8 by @scala-steward
- ⚡️ #2499 Update sbt-crossproject to 0.6.0 by @scala-steward
- ⚡️ #2497 Update partial-unification to 1.1.2 by @scala-steward
- ⚡️ #2496 Update sbt-git to 1.0.0 by @scala-steward
- ⚡️ #2495 Update sbt-pgp to 1.1.2 by @scala-steward
- 🚀 #2494 Update sbt-release to 1.0.9 by @scala-steward
- ⚡️ #2493 Update sbt-unidoc to 0.4.2 by @scala-steward
- ⚡️ #2492 Update sbt-travisci to 1.1.3 by @scala-steward
- 🚚 #2382 Removed not used sbt-scala-native plugin and fixed importing the project into intellij by @LukaszMarchewka
✅ 2 test improvments
- ⚡️ #2597 Optimize
-
v1.4.0 Changes
2018 Sep 12
🚀 Cats 1.4.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, and 1.3.1 jars. 🚀 Cats 1.3.1 introduced an unnecessary runtime dependency (scala-collection-compat), this 1.4.0 release removes it.
1.4.0 also brought you:
🛠 2 Bug fixes
- #2488 Kill scala-collection-compat by @travisbrown
- #2423 Fix NestedIdOps.value leaking to types of shapes
F[G[A]]
by @zarthross
4 API Enhancements
- #2480 improve interaction with subtyping in OptionOps#liftTo by @mberndt123
- #2452 Add filterFold and collectFold to Foldable by @satansk
- ✅ #2426 Enrich return type for Representable.apply and add doctests by @ceedubs
- #2477 Add Order#fromLessThan by @vlovgr
📚 7 Documentation Additions/Fixes
- #2485 Proposal - add cats-tagless as an external module by @kailuowang
- 💅 #2483 Add examples to Functor and verify with docstyle by @YuvalItzchakov
- 🚚 #2481 moved a couple of ecosystem project to more accurate section by @kailuowang
- #2478 Made it slightly easier to add a Cats ecosystem project by @kailuowang
- #2476 add nezasa to adopters list by @rethab
- #2461 Fix typo in CHANGES by @asakaev
- 📄 #2234 Fix CONTRIBUTING docs by @asakaev
-
v1.3.1 Changes
2018 Sep 5
🚀 Cats 1.3.1 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 and 1.2.0 jars. 👍 Cats 1.3.1 does not support Scala 2.10.
🚀 This is a bug fix release that fixed the binary compatibility breakage when summoning
Monad[OptionT[F, ?]]
in 1.3.0 -
v1.3.0 Changes
2018 Sep 4
🚀 ~Cats 1.3.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 and 1.2.0 jars.~ There is a bug in this release that breaks binary compatibility when summoning
Monad[OptionT[F, ?]]
. 👍 Cats 1.3.0 does not support Scala 2.10.1.3.0 brought you:
12 API Enhancements
- #2431 Give NonEmptyChain more presence by @LukaJCB
- #2421 Add/fix Foldable extensions: findM and collectFirstSomeM by @catostrophe
- #2416 add append method to NEL by @julien-truffaut
- #2406 Add NonEmptyChain by @LukaJCB
- #2405 Add FunctorFilter and TraverseFilter by @LukaJCB
- #2402 Add Compose instance for Map by @denisrosca
- #2371 Add Chain by @LukaJCB
- #2367 add Tuple2K#swap by @aoiroaoino
- #2366 Add Foldable extension collectFirstSomeM by @catostrophe
- 📜 #2351 Add parTraverse_ and parSequence_ syntax by @denisrosca
- #2345 Add one off object for importing lawless Map instances by @andyscott
- #2314 Adding on flatTransform to OptionT as suggested. by @abhishek7
1 Bug fix:
- 🆓 #2383 Monad[Free[Id, ?]] cannot be found by @barambani
3 Code Cleanups
- 🚚 #2451 Remove unnecessary semicolons by @satansk
- #2425 Override size in Chain instance by @ceedubs
- #2403 use as and void instead of map(_ => ) by @julien-truffaut
📚 13 Documentation Additions/Fixes
- #2427 Add scaladoc example for Semigroupal.product by @ceedubs
- ✏️ #2378 Fix typos detected by github.com/client9/misspell by @seratch
- ✏️ #2377 Fix minor typos in typeclasses docs by @ksonj
- 🚚 #2374 proofread: remove extra word by @jarrodu
- #2373 add new nested to menu by @kailuowang
- #2372 Add initial adopters list by @kubukoz
- 📚 #2369 Add a documentation page for Nested by @cb372
- #2368 fix typo by @letusfly85
- #2361 Make kittens officially a Cats module (still separate repo) by @kailuowang
- ⚡️ #2337 Update the outdated FAQ on IO/Task by @ceedubs
- ✅ #2344 Use sbt-doctest for Defer example by @ceedubs
- 📄 #2429 Replace all usage of the list Monoid in the docs with the chain Monoid by @jan0sch
- #2465 fix laws link in CONTRIBUTING by @melrief
🏗 7 Build and Tests Improvements:
- 🏗 #2430 Make Chain Arbitraries recursively build concatenations by @johnynek
- 👍 #2420 Better Chain Arbitrary by @LukaJCB
- ✅ #2359 tweak a test to compile on latest Scala 2.13 nightlies by @SethTisue
- #2354 temporarily disable scaladoc on 2.13 by @kailuowang
- ⚡️ #2335 Updating to scala 2.13-M4 by @kailuowang
- ⚡️ #2306 Drop 2.10 support / update to 2.13-M4 by @larsrh
- 🚀 ##2466 remove bench from release by @kailuowang
-
v1.2.0 Changes
🚀 Cats 1.2.0 is binary compatible with all previous 1.x Cats releases, i.e. its jar is a drop-in replacement for 1.0.1 and 1.1.0 jars.
🚀 Cats 1.2.0 is also the last non-patch release that supports Scala 2.10. Farewell Scala 2.10.
1.2.0 brought you:
24 API Enhancements
- #2329 Add Representable instance for Eval. by @denisrosca
- #2325 Add Cofree.ana and Cofree.anaEval. by @andyscott
- #2315 Add choice syntax. by @catostrophe
- #2299 2228-add MonadError instance for optionT where F is a Monad. by @heyrutvik
- #2297 Make cats.data.AndThen public. by @alexandru
- #2293 added
liftTo
syntax toValidated
. by @kailuowang - #2285 Add groupBy for NonEmptySet. by @Obarros
- #2284 Add Representable Functor enhancemen. by @eli
- #2279 Add Defer typeclass, laws and implementations. by @johnynek
- #2274 Adding biSemiflatMap to EitherT (#2269). by @ericaovo
- #2262 Add
.nested
syntax.. by @danielkarch - #2259 Add a Binested data type. by @iravid
- ⚡️ #2258 updated trait ComposedFoldable in Composed.scala. by @Zhen
- #2256 Add .parFlatTraverse and .parFlatSequence syntax. by @Avasil
- #2253 Add .toOptionT to option syntax. by @marcodippy
- #2252 Add tapWithF to Kleisli. by @marcodippy
- #2249 Add some FlatMap loops useful for State and Effects. by @johnynek
- #2246 Use unit from Applicative. by @johnynek
- #2243 Add
orElse
to ApplicativeError. by @barambani - #2232 Change override of neqv in Order. by @ceedubs
- #2219 Add Bimonad instance to NEL and NEV. by @LukaJCB
- #2217 Add dual categories.. by @sellout
- #2204 Added commutative apply and applicative to Const. by @barambani
- #2191 Extend Functor implementation in the Traverse instance of EitherT, OptionT and Tuple2K. by @barambani
📚 22 Documentation Additions/Fixes
- #2330 Add droste to project list. by @andyscott
- #2311 Add Rainier to the cats library list. by @andyscott
- #2307 Specify the source of the autogenerated boilerplate. by @dadepo
- 📚 #2303 Change scaladoc link title to "API Documentation". by @Obarros
- ⚡️ #2291 Update Bitraverse docs. by @Zelenya
- #2280 add editor setup tips to contrib guide. by @eli
- #2278 Elaborate on Foldable#collectFirst comment. by @kubukoz
- #2270 markdown improvements. by @martijnhoekstra
- ⚡️ #2266 Update 'Scala with Cats' reference in docs. by @guersam
- #2251 Be more precise about left vs right in Foldable doc. by @ceedubs
- ⚡️ #2248 Update state.md. by @rsekulski
- 📜 #2247 Add fastparse-cats to the list of projects. by @johnynek
- ✅ #2245 clarify law testing's dependency on cats-testkit and scalates. by @kailuowang
- #2241 Added shims to the ecosystem list. by @djspiewak
- 📄 #2226 Slight clean up of State docs. by @ceedubs
- ✅ #2225 Add doctest example for groupByNel. by @ceedubs
- #2223 replace cats with Cats for consistency in README.md. by @satansk
- #2222 Port alleycats README.md from the defunct repo. by @longcao
- ⚡️ #2221 Update contributors guide. by @AlejandroME
- 🚚 #2218 Remove extra 'a' in eithert.md. by @donaldosalas
- #2211 2.12.x no longer needs future-tense. by @mattkohl
- #2178 Add jump start guide. by @PawelLipski
🏗 12 Build and Tests Improvements:
- ⚡️ #2302 Update sbt-partial-unification with support for 2.13.0-M4. by @kailuowang
- #2301 sbt 1.1.6. by @sullis
- #2298 Replace to new jvm flag. by @jiminhsieh
- #2265 Add Function To Check All Relevant MiMa Versions. by @ChristopherDavenport
- ⚡️ #2264 update bin compat versions to 1.0.0 and 1.1.0. by @kailuowang
- ⚡️ #2260 Update Scala, sbt, and sbt plugins. by @fthomas
- ⬆️ #2206 upgraded scala 2.12.5. by @kailuowang
- 🔌 #2205 Use helper addSbtCoursier in project/plugins.sbt. by @BennyHill
- 👍 #2203 Add support for 2.13.0-M3. by @BennyHill
- ✅ #2215 Test Show instance for Duration. by @ceedubs
- ✅ #2214 Check MonadTests for Vector and List. by @ceedubs
- ✅ #2213 Use poly lambda syntax in FreeApplicative test. @ceedubs
-
v1.1.0 Changes
Cats 1.1.0 is binary compatible with 1.0.1, i.e. its jar is a drop-in replacement for the 1.0.1 jar.
1.1.0 brought you:
15 API Enhancements
- #2194 Add
reject
(partial function) method to MonadError by @Wogan - #2192 Add valueOrF to EitherT by @denisrosca
- #2183 Add parTuple by @barambani
- #2182 Add
Foldable
,Traverse
andComonad
instances toWriterT
by @barambani - #2179 added
liftTo
toTry
,Either
andOption
by @kailuowang - #2169 Add FreeT.inject helper function (#1534) by @valydia
- #2159 Added Bitraverse for Ior (#2144) by @V-Lamp
- #2150 contravariant coyoneda by @tpolecat
- #2149 Add leftFlatMap to Either by @rohanshah
- #2146 added
leftNel
andrightNel
syntax by @kailuowang - #2143 Add NonEmptySet by @LukaJCB
- #2141 Add NonEmptyMap by @LukaJCB
- #2123 Add
contains_
,foldSmash
andmkString_
toFoldableOps
by @rsoeldner - 🛠 #2119 Fixes type params for OptionT.getOrElse(F) by @fcanedo
- #2076 Add
Endo
type alias for (A => A
) by @kailuowang
🛠 4 Bug Fixes
- 🚚 #2188 Remove calls to PartialFunction.apply, deprecated in 2.12.5 by @BennyHill
- #2187 Fix #2186: make IndexedStateT stack safe by @alexandru
- #2185 Fix #1733: make Kleisli.flatMap stack safe by @alexandru
- #2148 Add missing UnorderedTraverse syntax by @andyscott
📚 16 Documentation Additions/Fixes
- ✅ #2196 Add "Law Testing" to side menu to increase visiblity. by @wjlow
- #2190 Add Ciris to list of projects in readme by @vlovgr
- #2184 Add Dsl.scala in the cats ecosystem by @Atry
- ⚡️ #2177 Docs: Updated typeclass instances table by @battermann
- #2171 adding validation video by @Andrea
- #2165 Add types in the Kleisli code sample for composition by @jcranky
- #2156 Fix Spooky scaladoc typo by @jcranky
- 📚 #2155 Fix broken link in parallel documentation by @allantl
- #2154 contravariant.md [reversing roles of A and B in commentary to match the code] by @phderome
- #2153 added ammonite instructions to faq by @kailuowang
- ⚡️ #2145 Update version in lawtesting docs by @LukaJCB
- 📚 #2140 Set micrositeDocumentationUrl as root-relative by @calvellido
- #2134 Minor scaladoc fix for ::: by @jcranky
- #2125 Wrong link in Eval doc by @gruggiero
- 👀 #2122 Add doctest example for ApplicativeError.raiseError by @ceedubs
- #1720 type classes with only defined laws to guideline by @kailuowang
🏗 4 Build Improvements:
- #2194 Add