v2.10.0
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 #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
OptionTcombinators for effectful Boolean by @ivan-klass in #4390 - Add
Bifunctor#leftLiftToby @eugkhp in #4336 - Add
Kleisli.localKFunctionKhelper by @ivan-klass in #4406 - add
zipforNonEmptySeqby @CristinaHG in #4431 - Add
Functor#composeBifunctorby @bpholt, @armanbilge in #4434 - Add
Validated.unitby @VladKopanev in #4420 - Add
raiseWhen/raiseUnlessconvenience methods toEitherObjectOpsby @Daenyth in #4436 OneAnd: addPartialOrderandOrderinstances by @satorg in #4460- Add
Deferinstances forEq,Hash,Order,Show, and variants by @morgen-peschke in #4414 - Fix ambiguous
Constinstances and add missing instances by @joroKr21 in #4458
Optimizations
- Avoid allocating an
OptioninNonEmptyList#lastby @valencik in #4417 - Improve
foldRightforSeqinstance by @rudolmi in #4440
Fixes
- Move
catsTraverseForSeqto lower-priority implicit scope by @UlisesTorrella in #4373 - Making
Map.unorderedTraversestack safe by @TonioGela in #4463 - Fix unnecessary syntax allocation by @mox692 in #4477
Documentation
- Nomenclature for the
SemigroupKhierarchy by @TimWSpence in #4329 - Fix readme by @danicheg in #4368
- Fix the nested unordered list HTML view of docs/typeclasses/alternative.md by @ShapelessCat in #4371
- Fix typo by @Masynchin in #4381
- Add missing syntax highlightning by @Masynchin in #4382
- Add a link about fs2-throttler by @kovstas in #4359
- Publish alleycats docs on website by @armanbilge in #4393
cats.implicits._->cats.syntax.all._by @armanbilge in #4394- Update no script links in readme by @RawToast in #4397
- Update CONTRIBUTING.md microsite information by @fabianhjr in #4399
- Improve
ChainDocumentation by @reardonj in #4386 - Add API documentation links by @reardonj in #4401
f >>> gin symbols table by @jose-puente in #4411- Fix outdated edit link in algebra docs by @lenguyenthanh in #4418
- Update version in readme by @lenguyenthanh in #4422
- Fix typo in
Iordocs by @fighur in #4423 - Update Ring-like table in Algebra for Semifield added in #3979 by @benhutchison in #4426
- Add
foldrnote toFoldabledoc by @lenguyenthanh in #4425 - Bump versions in law testing doc by @lenguyenthanh in #4424
- ExhaustiveCheck is a list, not a stream by @rossabaker in #4442
- Fix
traverseWithIndex=>traverseWithIndexMby @lenguyenthanh in #4443 - Fix typo in core's package object docs by @fatalem0 in #4446
- Fix
jump_start_guide.mdtypo by @BokChoyWarrior in #4465 - Remove
Eitherdocumentation page by @reardonj in #4400 - Add doctest for
IdTby @bulatkhabib in #4445 - Fix typo by @bwignall in #4482
Adopters
- Add IPONWEB as an adopter by @bio-aeon in #4384
- Update ADOPTERS.md by @ehsun7b in #4435
- Add PITS Globale Datenrettungsdienste as an adopter by @arnoldberlin in #4472
Behind-the-scenes
- Bump base version to 2.10 by @armanbilge in #4341
- Remove plugins we get via sbt-typelevel by @armanbilge in #4344
- Clean up benchmarks' dependencies by @danicheg in #4355
- Fix Native CI by @armanbilge in #4363
- remove unused version number by @kailuowang in #4358
- Move
NonEmptyReducibleinto its own file by @fabianhjr in #4398 - Delete PR template by @joroKr21 in #4459
- Replaced
traversebenchmarks with something more representative by @djspiewak in #4403 - Update to sbt-typelevel 0.5.0 by @armanbilge in #4478
Updates
- Update scala3-library, ... to 3.3.0 by @typelevel-steward in #4448
- Update nscplugin, sbt-scala-native, ... to 0.4.14 by @typelevel-steward in #4454
- Update scala-library, scala-reflect to 2.12.18 by @typelevel-steward in #4455
- Update scala-library, scala-reflect to 2.13.11 by @typelevel-steward in #4456
- Update sbt-scalajs, scalajs-compiler, ... to 1.13.2 by @typelevel-steward in #4464
New Contributors
- @ShapelessCat made their first contribution in #4371
- @UlisesTorrella made their first contribution in #4373
- @Masynchin made their first contribution in #4381
- @bio-aeon made their first contribution in #4384
- @kovstas made their first contribution in #4359
- @fabianhjr made their first contribution in #4398
- @reardonj made their first contribution in #4386
- @eugkhp made their first contribution in #4336
- @jose-puente made their first contribution in #4411
- @lenguyenthanh made their first contribution in #4418
- @fighur made their first contribution in #4423
- @ehsun7b made their first contribution in #4435
- @CristinaHG made their first contribution in #4431
- @VladKopanev made their first contribution in #4420
- @rudolmi made their first contribution in #4440
- @fatalem0 made their first contribution in #4446
- @BokChoyWarrior made their first contribution in #4465
- @arnoldberlin made their first contribution in #4472
- @bulatkhabib made their first contribution in #4445
- @mox692 made their first contribution in #4477
Full Changelog: v2.9.0...v2.10.0