Cats v2.13.0 is a binary-compatible release in the 2.x series. It is published for Scala 2.12, 2.13, and 3.3 with Scala.js 1.17 and Scala Native 0.5.
What's Changed
The release comes with new APIs, as well as bugfixes and optimizations. While it is binary- and source- compatible, it is recommended for downstream projects to start replacing calls to sequence_
and traverse_
functions (along with their unordered*
and par*
counterparts) with sequenceVoid
, traverseVoid
, etc., correspondingly.
Features
- Add FunctionN.liftN, parLiftN by @kubukoz in #4340
- Add distinctBy to NonEmptyCollection and all impls by @cybersaurus in #4608
- Add Hash and Order Instances for NonEmptyVector by @isomarcte in #4612
- Semigroup object additions by @igstan in #4625
- Issue #4631: Make Later covariant by @yanns in #4632
- Add
EitherOps#leftMapOrKeep
andEitherOps#leftFlatMapOrKeep
by @danicheg in #4638 - Add Defer.recursiveFn to aid in recursion by @johnynek in #4656
- Add
unorderedFoldMapA
method by @m50d in #4662 - alleycats - Extract[F[_]] the only way to get the syntax is the deprecated one by @aluscent in #4670
- Use alignWith in alignMergeWith by @joroKr21 in #4676
- Aliases
traverseVoid
/sequenceVoid
and their counterparts by @satorg in #4682 - Add take/takeRight/drop/dropRight to Chain by @johnynek in #4694
Bugfixes
- Fix alleycats Set Functor ambiguous implicits by @LaurenceWarne in #4678
Optimizations
- Override Foldable#toIterable for Chain by @durban in #4693
- Optimize Chain.traverseVoid by @johnynek in #4695
Documentation
- add Blue Insight Digital to ADOPTERS.md by @ahoy196 in #4528
- correct & add documentation links by @performantdata in #4613
- Fix typo in Newtype scaladoc by @i-am-the-slime in #4619
- Fix broken internal link by @bwignall in #4622
- Point to sbt 1.x by @bwignall in #4624
- Fix typos by @bwignall in #4634
- Replace tut with mdoc on the colophon page by @danicheg in #4641
- Fix the broken link on the typeclasses page by @danicheg in #4645
- Fix foldLeft nomenclature signature by @Masynchin in #4648
- Fix some awkward imports by @satorg in #4659
- Fix Sponsors section by @valencik in #4660
- Change IPONWEB to Criteo in ADOPTERS.md by @bio-aeon in #4679
Behind-the-scenes
- Use helper functions in generated code by @joroKr21 in #4303
- Fix/suppress warnings in kernel and kernel-laws by @satorg in #4614
- Adjust the JVM options to heal the Native build on CI by @danicheg in #4623
- Rename root -> cats in build.sbt by @danicheg in #4644
- use
&
instead ofwith
by @xuwei-k in #4673
Updates
- Update GraalVM from 17 to 21 by @mzuehlke in #4667
- Update auxlib, clib, javalib, nativelib, ... to 0.5.2 by @typelevel-steward in #4607
- Update auxlib, clib, javalib, nativelib, ... to 0.5.3 by @typelevel-steward in #4609
- Update auxlib, clib, javalib, nativelib, ... to 0.5.4 by @typelevel-steward in #4627
- Update auxlib, clib, javalib, nativelib, ... to 0.5.5 by @typelevel-steward in #4646
- Update auxlib, clib, javalib, nativelib, ... to 0.5.6 by @typelevel-steward in #4675
- Update munit to 1.0.1 by @typelevel-steward in #4643
- Update munit to 1.0.2 by @typelevel-steward in #4653
- Update munit to 1.0.3 by @typelevel-steward in #4684
- Update munit to 1.0.4 by @typelevel-steward in #4697
- Update sbt to 1.10.1 by @typelevel-steward in #4633
- Update sbt to 1.10.2 by @typelevel-steward in #4655
- Update sbt to 1.10.3 by @typelevel-steward in #4666
- Update sbt to 1.10.4 by @typelevel-steward in #4669
- Update sbt to 1.10.5 by @typelevel-steward in #4672
- Update sbt, scripted-plugin to 1.10.6 by @typelevel-steward in #4683
- Update sbt, scripted-plugin to 1.10.7 by @typelevel-steward in #4691
- Update sbt-buildinfo to 0.13.0 by @typelevel-steward in #4671
- Update sbt-buildinfo to 0.13.1 by @typelevel-steward in #4674
- Update sbt-doctest to 0.11.0 by @typelevel-steward in #4668
- Update sbt-doctest to 0.11.1 by @typelevel-steward in #4688
- Update sbt-scalajs, scalajs-compiler, ... to 1.17.0 by @typelevel-steward in #4685
- Update sbt-typelevel, sbt-typelevel-site to 0.7.2 by @typelevel-steward in #4636
- Update sbt-typelevel, sbt-typelevel-site to 0.7.3 by @typelevel-steward in #4651
- Update sbt-typelevel, sbt-typelevel-site to 0.7.4 by @typelevel-steward in #4665
- Update sbt-typelevel, sbt-typelevel-site to 0.7.5 by @typelevel-steward in #4692
- Update sbt-typelevel, sbt-typelevel-site to 0.7.6 by @typelevel-steward in #4701
- Update scala-library, scala-reflect to 2.12.20 by @typelevel-steward in #4649
- Update scala-library, scala-reflect to 2.13.15 by @typelevel-steward in #4657
- Update scala-library, scala-reflect to 2.13.16 by @typelevel-steward in #4699
- Update scala3-library, ... to 3.3.4 by @typelevel-steward in #4658
- Update scalacheck to 1.18.1 by @typelevel-steward in #4654
- Update scalafmt-core to 3.8.2 by @typelevel-steward in #4620
- Update scalafmt-core to 3.8.4 by @typelevel-steward in #4698
- Update scalafmt-core to 3.8.5 by @typelevel-steward in #4700
New Contributors
- @cybersaurus made their first contribution in #4608
- @performantdata made their first contribution in #4613
- @i-am-the-slime made their first contribution in #4619
- @yanns made their first contribution in #4632
- @mzuehlke made their first contribution in #4667
- @ahoy196 made their first contribution in #4528
- @LaurenceWarne made their first contribution in #4678
- @aluscent made their first contribution in #4670
Full Changelog: v2.12.0...v2.13.0