Skip to content

Backport 2.1.0 changes for Scala 2.11 #3143

Closed
@travisbrown

Description

@travisbrown

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions