Releases: typelevel/cats
Cats 1.5.0
Version 1.5.0
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.
Cats 1.5.0-RC1
Version 1.5.0-RC1
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
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
Cats 1.5.0-RC0
Version 1.5.0-RC0
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 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 fixes
- #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
- #2523 Add doctests for Semigroup, Group, and Monoid enhancement by @DennisVDB
- #2509 Adding tests for binary compat that can't be tested by Mima by @kailuowang
Cats 1.4.0
Version 1.4.0
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
Cats 1.3.1
This is a bug fix release addressing the binary compatibility breakage on Monad[OptionT[F, ?]]
.
See #2471 for details.
Please update to this release if you are on 1.3.0.
Cats 1.3.0
Version 1.3.0
2018 Sep 3
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.
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
Cats 1.2.0
Version 1.2.0
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
Cats 1.1.0
Version 1.1.0
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:
- #2189 split build jvm,add workers to kernel by @BennyHill
- #2164 remove java 7 build by @xuwei-k
- #2158 update travis cache settings by @kailuowang
- #1919 update to sbt 1.0 by @kailuowang
Cats 1.0.1
Version 1.0.1
2017 Dec 31
There is zero code change since 1.0.0. This is a release to fix the 1.0.0-MF issue that on Maven 1.0.0-MF is deemed later than 1.0.0.
For details see #2131