cats v2.4.1 Release Notes

  • 2021 February 10

    ๐Ÿš€ This release fixes a problem in Cats 2.4.0. It is not binary compatible with Cats 2.4.0. We urge everyone to skip 2.4.0 and upgrade directly to 2.4.1.

    Cats 2.4.1 is a hotfix release in the 2.x series. It is binary compatible to every previous release in the 2.x series, except for Cats 2.4.0.

    ๐Ÿš€ The following release notes contain all cumulative changes since Cats 2.3.1.

    โž• Additions

    • #3220, #3222, #3773 Add Invariant instances for Numeric and Integral by @tmccarthy & @kubukoz
    • #3650, #3579 add grouped to NonEmptyCollection by @bbstilson & @larsrh
    • #3299, #3293 Generate Show instances for Tuple3 and higher by @barambani
    • #3727 .slidingN using tuples by @Slakah
    • ๐Ÿ‘ #3750, #1549 Support scala-native 0.4 by @arashi01
    • #3771 add NonEmptyChain.of by @larsrh
    • #3318 add syntax for unzip on functors by @yangzai
    • #3680 Add more group-like methods to NonEmptyList & Chain by @BalmungSan
    • #3748 Delimited continuations via shiftT/resetT for ContT by @TimWSpence
    • #3747 Add callCC to ContT by @TimWSpence
    • #3765 Add NonEmptyList.take by @saeltz
    • #2087, #3753 add Monoid[Comparison] for lexographical ordering by @adelbertc & @larsrh
    • #3759 Provide BoundedEnumerable[Byte] instance by @ashleymercer
    • #3699 Allow finding a list of maxiumum/minimum items for Foldable/Reducible by @Billzabob & @larsrh
    • #3730 Add NonEmptyList.zip by @saeltz
    • #3724 Trivial semigroup instances by @RaasAhsan
    • ๐Ÿ†“ #3707, #3710 Add missing Free.liftK and Free.liftId by @phongngtuan

    ๐Ÿ”„ Changes

    • ๐Ÿšš #3776, #3777 Removed and replaced inconsistent Parallel derivation for EitherT by @djspiewak
      • this change is potentially source-breaking: an existing implicit has been made un-implicit, but another implicit with a different semantics has been provided (core)
      • more discussion at typelevel/cats-effect#1645
      • this change emits new deprecation warnings
    • โœ… #3734, #3772 Cogen for (Finite)Duration to fix test failures by @larsrh
      • this change is only internal in tests
    • ๐Ÿ—„ #2207, #3758 deprecate Free.inject by @larsrh
      • this change emits new deprecation warnings
    • #3702 specialized EqOps by @YannMoisan
      • this change accidentally broke source compatibility, please upgrade to 2.4.1
      • reverted by #3784, #3785 by @larsrh
    • #3677 Added EmptyK instance for Map by @LMnet
      • this change marks a previously non-implicit method as implicit (alleycats)

    ๐Ÿ“š Documentation

    • #3722 Rename productM to mproduct in the glossary by @BenFradet
    • #3745 Adjust to GitHub Actions by @sh0hei
    • #3744 Improve scaladoc for EitherT.rethrowT by @majk-p
    • ๐Ÿ›  #3732 scaladoc fixes for PartialOrder by @martijnhoekstra
    • #3728 Fix a link in typelevelEcosystem.md by @akiomik
    • โšก๏ธ #3726 update README by @gokyo