As explained here and in the Cats 2019 roadmap, we dropped support for Scala 2.11 on the Cats master branch after the 2.0.0 release, and we're relying on Scala 2.11 users to backport features from master to the scala_2.11 branch for all future Cats releases.
We're planning to publish Cats 2.1.0-RC1 this Friday (15 November) and 2.1.0 by the end of this month. I've backported many of the build config changes and dependency updates to the 2.11 branch, but there are still many features that need to be backported in order for us to publish Cats 2.1.0 for Scala 2.11 (we're not necessarily aiming for 100% source compatibility between the 2.11 and 2.12 releases, but want to be close).
Note that many of the changes listed below are substantially more difficult to make on Scala 2.11 than on 2.12+ because adding methods to traits on 2.11 breaks binary compatibility (which is why we dropped decided to drop 2.11 support on master in the first place 😄). You can see an example of what's necessary in this pre-2.0 PR adding an ifA method for Apply.
Pull requests currently merged on master that still need to be backported:
Not yet merged but likely to be in 2.1.0-RC1:
I'll keep these checklists updated, and you can find a complete list of what will be included in 2.1.0-RC1 in the milestone.
If most of these PRs aren't backported by the end of the month, it's unlikely that we'll publish Cats 2.1.0 for Scala 2.11. (We will continue to publish 2.0.x bugfix releases for Scala 2.11, and 2.1.0 will be backwards binary-compatible with 2.0, so even if we do drop 2.11 support in 2.1.0, that generally shouldn't cause major problems for Cats users who are still on Scala 2.11.)
Please comment here to let us know if you're working on backporting any of these changes, and please feel free to request reviews or other feedback from me or other Cats maintainers for backport PRs.
As explained here and in the Cats 2019 roadmap, we dropped support for Scala 2.11 on the Cats master branch after the 2.0.0 release, and we're relying on Scala 2.11 users to backport features from master to the
scala_2.11branch for all future Cats releases.We're planning to publish Cats 2.1.0-RC1 this Friday (15 November) and 2.1.0 by the end of this month. I've backported many of the build config changes and dependency updates to the 2.11 branch, but there are still many features that need to be backported in order for us to publish Cats 2.1.0 for Scala 2.11 (we're not necessarily aiming for 100% source compatibility between the 2.11 and 2.12 releases, but want to be close).
Note that many of the changes listed below are substantially more difficult to make on Scala 2.11 than on 2.12+ because adding methods to traits on 2.11 breaks binary compatibility (which is why we dropped decided to drop 2.11 support on master in the first place 😄). You can see an example of what's necessary in this pre-2.0 PR adding an
ifAmethod forApply.Pull requests currently merged on master that still need to be backported:
unziptoFunctor: add unzip to Functor #3062ifFtoFunctor: AddifFon Functor #3040Align: Add Align typeclass #3076bifoldtoBifoldable: #2947 Added bifold to Bifoldable typeclass #3088Parallelinstances: Issue 3059: Move Parallel instances into instance packages for the type constructors they characterize #3099Vectorinstances: Issue 2891 - Ambiguous Vector instances #3100attemptNarrowtoApplicativeErrorOps: add attemptNarrow to ApplicativeErrorOps #2863TraverseFilterinstance forQueue: Add TraverseFilter instance for Queue. #3103Eqinstances for tuples: Issue 2701 - Ambiguous Eq instances for tuples #3105minimumByOption, etc.: Add minimumBy/maximumBy/Option to Foldable #3084, Fix constraints and names for new Foldable methods #3122sumforSemigroupK: SemigroupK sum: F[A], F[B] => F[A Either B] #3124foldMapA: Minor clean up. Removed duplication. #3135TailCalls.TailRec: Add scala.util.control.TailCalls.TailRec instances #3041Foldable'sfoldRightforTraverse, etc.: Use Foldable foldRight for Traverse and TraverseFilter. #3015CommutativeMonoidforOptionfromCommutativeSemigroup: CommutativeMonoid[Option[A]] from CommutativeSemigroup #2834foldRightDefertoFoldable: Add foldRightDefer to Foldable #2772Hashinstances forMap: Remove Order constraint from Hash instance for Map #3126combineAllOptiontoFoldable: Add combineAllOption to Foldable #2380NonEmptyChain.fromSeqsignature: Fix NonEmptyChain.fromSeq signature on 2.12 #3133 (in progress: Backports #3133 to scala_2.11 #3134)separateFoldable: Added separateFoldable #2742redeemandredeemWith: Add redeem and redeemWith #3146Not yet merged but likely to be in 2.1.0-RC1:
adaptError: Move adaptError #3148I'll keep these checklists updated, and you can find a complete list of what will be included in 2.1.0-RC1 in the milestone.
If most of these PRs aren't backported by the end of the month, it's unlikely that we'll publish Cats 2.1.0 for Scala 2.11. (We will continue to publish 2.0.x bugfix releases for Scala 2.11, and 2.1.0 will be backwards binary-compatible with 2.0, so even if we do drop 2.11 support in 2.1.0, that generally shouldn't cause major problems for Cats users who are still on Scala 2.11.)
Please comment here to let us know if you're working on backporting any of these changes, and please feel free to request reviews or other feedback from me or other Cats maintainers for backport PRs.