Cats v2.10.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.13+ and Scala Native 0.4.
This release includes https://github.com/typelevel/cats/pull/4477 which fixes the encoding of Apply (and Semigroupal) syntax to avoid allocating an intermediate "Ops" wrapper class. This affected commonly-used operators such as *>. Unfortunately libraries will need to re-compile and re-publish against Cats v2.10.0 to use the new allocation-free syntax.
Thanks to all the contributors to this release! There are many accumulated changes.
What's Changed
Features
Add OptionT combinators for effectful Boolean by @ivan-klass in https://github.com/typelevel/cats/pull/4390
Add Bifunctor#leftLiftTo by @eugkhp in https://github.com/typelevel/cats/pull/4336
Add Kleisli.localKFunctionK helper by @ivan-klass in https://github.com/typelevel/cats/pull/4406
add zip for NonEmptySeq by @CristinaHG in https://github.com/typelevel/cats/pull/4431
v2.10.0 - cats Release Notes | AnnounceHQ
Add Functor#composeBifunctor by @bpholt, @armanbilge in https://github.com/typelevel/cats/pull/4434
Add Validated.unit by @VladKopanev in https://github.com/typelevel/cats/pull/4420
Add raiseWhen/raiseUnless convenience methods to EitherObjectOps by @Daenyth in https://github.com/typelevel/cats/pull/4436
OneAnd: add PartialOrder and Order instances by @satorg in https://github.com/typelevel/cats/pull/4460
Add Defer instances for Eq, Hash, Order, Show, and variants by @morgen-peschke in https://github.com/typelevel/cats/pull/4414
Fix ambiguous Const instances and add missing instances by @joroKr21 in https://github.com/typelevel/cats/pull/4458
Optimizations
Avoid allocating an Option in NonEmptyList#last by @valencik in https://github.com/typelevel/cats/pull/4417
Improve foldRight for Seq instance by @rudolmi in https://github.com/typelevel/cats/pull/4440
Fixes
Move catsTraverseForSeq to lower-priority implicit scope by @UlisesTorrella in https://github.com/typelevel/cats/pull/4373
Making Map.unorderedTraverse stack safe by @TonioGela in https://github.com/typelevel/cats/pull/4463
Fix unnecessary syntax allocation by @mox692 in https://github.com/typelevel/cats/pull/4477
Documentation
Nomenclature for the SemigroupK hierarchy by @TimWSpence in https://github.com/typelevel/cats/pull/4329
Fix readme by @danicheg in https://github.com/typelevel/cats/pull/4368
Fix the nested unordered list HTML view of docs/typeclasses/alternative.md by @ShapelessCat in https://github.com/typelevel/cats/pull/4371
Fix typo by @Masynchin in https://github.com/typelevel/cats/pull/4381
Add missing syntax highlightning by @Masynchin in https://github.com/typelevel/cats/pull/4382
Add a link about fs2-throttler by @kovstas in https://github.com/typelevel/cats/pull/4359
Publish alleycats docs on website by @armanbilge in https://github.com/typelevel/cats/pull/4393
cats.implicits._ -> cats.syntax.all._ by @armanbilge in https://github.com/typelevel/cats/pull/4394
Update no script links in readme by @RawToast in https://github.com/typelevel/cats/pull/4397
Update CONTRIBUTING.md microsite information by @fabianhjr in https://github.com/typelevel/cats/pull/4399
Improve Chain Documentation by @reardonj in https://github.com/typelevel/cats/pull/4386
Add API documentation links by @reardonj in https://github.com/typelevel/cats/pull/4401
f >>> g in symbols table by @jose-puente in https://github.com/typelevel/cats/pull/4411
Fix outdated edit link in algebra docs by @lenguyenthanh in https://github.com/typelevel/cats/pull/4418
Update version in readme by @lenguyenthanh in https://github.com/typelevel/cats/pull/4422
Fix typo in Ior docs by @fighur in https://github.com/typelevel/cats/pull/4423
Update Ring-like table in Algebra for Semifield added in #3979 by @benhutchison in https://github.com/typelevel/cats/pull/4426
Add foldr note to Foldable doc by @lenguyenthanh in https://github.com/typelevel/cats/pull/4425
Bump versions in law testing doc by @lenguyenthanh in https://github.com/typelevel/cats/pull/4424
ExhaustiveCheck is a list, not a stream by @rossabaker in https://github.com/typelevel/cats/pull/4442
Fix traverseWithIndex => traverseWithIndexM by @lenguyenthanh in https://github.com/typelevel/cats/pull/4443
Fix typo in core's package object docs by @fatalem0 in https://github.com/typelevel/cats/pull/4446
Fix jump_start_guide.md typo by @BokChoyWarrior in https://github.com/typelevel/cats/pull/4465
Remove Either documentation page by @reardonj in https://github.com/typelevel/cats/pull/4400
Add doctest for IdT by @bulatkhabib in https://github.com/typelevel/cats/pull/4445
Fix typo by @bwignall in https://github.com/typelevel/cats/pull/4482
Adopters
Add IPONWEB as an adopter by @bio-aeon in https://github.com/typelevel/cats/pull/4384
Update ADOPTERS.md by @ehsun7b in https://github.com/typelevel/cats/pull/4435
Add PITS Globale Datenrettungsdienste as an adopter by @arnoldberlin in https://github.com/typelevel/cats/pull/4472
Behind-the-scenes
Bump base version to 2.10 by @armanbilge in https://github.com/typelevel/cats/pull/4341
Remove plugins we get via sbt-typelevel by @armanbilge in https://github.com/typelevel/cats/pull/4344
Clean up benchmarks' dependencies by @danicheg in https://github.com/typelevel/cats/pull/4355
Fix Native CI by @armanbilge in https://github.com/typelevel/cats/pull/4363
remove unused version number by @kailuowang in https://github.com/typelevel/cats/pull/4358
Move NonEmptyReducible into its own file by @fabianhjr in https://github.com/typelevel/cats/pull/4398
Delete PR template by @joroKr21 in https://github.com/typelevel/cats/pull/4459
Replaced traverse benchmarks with something more representative by @djspiewak in https://github.com/typelevel/cats/pull/4403
Update to sbt-typelevel 0.5.0 by @armanbilge in https://github.com/typelevel/cats/pull/4478
Updates
Update scala3-library, ... to 3.3.0 by @typelevel-steward in https://github.com/typelevel/cats/pull/4448
Update nscplugin, sbt-scala-native, ... to 0.4.14 by @typelevel-steward in https://github.com/typelevel/cats/pull/4454
Update scala-library, scala-reflect to 2.12.18 by @typelevel-steward in https://github.com/typelevel/cats/pull/4455
Update scala-library, scala-reflect to 2.13.11 by @typelevel-steward in https://github.com/typelevel/cats/pull/4456
Update sbt-scalajs, scalajs-compiler, ... to 1.13.2 by @typelevel-steward in https://github.com/typelevel/cats/pull/4464
New Contributors
@ShapelessCat made their first contribution in https://github.com/typelevel/cats/pull/4371
@UlisesTorrella made their first contribution in https://github.com/typelevel/cats/pull/4373
@Masynchin made their first contribution in https://github.com/typelevel/cats/pull/4381
@bio-aeon made their first contribution in https://github.com/typelevel/cats/pull/4384
@kovstas made their first contribution in https://github.com/typelevel/cats/pull/4359
@fabianhjr made their first contribution in https://github.com/typelevel/cats/pull/4398
@reardonj made their first contribution in https://github.com/typelevel/cats/pull/4386
@eugkhp made their first contribution in https://github.com/typelevel/cats/pull/4336
@jose-puente made their first contribution in https://github.com/typelevel/cats/pull/4411
@lenguyenthanh made their first contribution in https://github.com/typelevel/cats/pull/4418
@fighur made their first contribution in https://github.com/typelevel/cats/pull/4423
@ehsun7b made their first contribution in https://github.com/typelevel/cats/pull/4435
@CristinaHG made their first contribution in https://github.com/typelevel/cats/pull/4431
@VladKopanev made their first contribution in https://github.com/typelevel/cats/pull/4420
@rudolmi made their first contribution in https://github.com/typelevel/cats/pull/4440
@fatalem0 made their first contribution in https://github.com/typelevel/cats/pull/4446
@BokChoyWarrior made their first contribution in https://github.com/typelevel/cats/pull/4465
@arnoldberlin made their first contribution in https://github.com/typelevel/cats/pull/4472
@bulatkhabib made their first contribution in https://github.com/typelevel/cats/pull/4445
@mox692 made their first contribution in https://github.com/typelevel/cats/pull/4477
Full Changelog: https://github.com/typelevel/cats/compare/v2.9.0...v2.10.0