Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop Scala 2.11.x #713

Merged
merged 3 commits into from
Dec 6, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,6 @@ language: scala

matrix:
include:
- jdk: openjdk8
scala: 2.11.12
env: COVERAGE=coverage
- jdk: openjdk11
scala: 2.11.12
env: COVERAGE=
- jdk: openjdk8
scala: 2.13.0
env: COVERAGE=
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Cats Effect relies on improved type inference and needs partial unification enab

If your project uses Scala.js, replace the double-`%` with a triple. Note that **cats-effect** has an upstream dependency on **cats-core** version 2.x.

Cross-builds are available for Scala 2.11.x, 2.12.x, and 2.13.0, as well as Scala.js 0.6.x.
Cross-builds are available for Scala 2.12.x and 2.13.x, as well as Scala.js 0.6.x.

The most current snapshot (or major release) can be found in the maven badge at the top of this readme. If you are a very brave sort, you are free to depend on snapshots; they are stable versions, as they are derived from the git hash rather than an unstable `-SNAPSHOT` suffix, but they do not come with any particular confidence or compatibility guarantees.

Expand Down
7 changes: 3 additions & 4 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -151,10 +151,9 @@ val commonSettings = Seq(
val mimaSettings = Seq(
mimaPreviousArtifacts := {
CrossVersion.partialVersion(scalaVersion.value) match {
//2.11 has some incompatibilities in core in 2.0.0, 2.13 didn't have a release before
case Some((2, 11) | (2, 13)) => Set(organization.value %% name.value % "2.0.0")
case Some((2, 12)) => Set(organization.value %% name.value % "1.0.0")
case _ => Set.empty
case Some((2, 13)) => Set(organization.value %% name.value % "2.0.0")
case Some((2, 12)) => Set(organization.value %% name.value % "1.0.0")
case _ => Set.empty
}
},
mimaBinaryIssueFilters ++= {
Expand Down
1 change: 1 addition & 0 deletions core/shared/src/main/scala/cats/effect/package.scala
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ package object effect {
* Provides missing methods on Scala 2.11's Either while allowing
* -Xfatal-warnings along with -Ywarn-unused-import
*/
@deprecated("Cats-effect no longer supports Scala 2.11.x", "2.1.0")
implicit private[effect] class scala211EitherSyntax[A, B](val self: Either[A, B]) extends AnyVal {
def map[B2](f: B => B2): Either[A, B2] = self match {
case l @ Left(_) => l.asInstanceOf[Either[A, B2]]
Expand Down
2 changes: 0 additions & 2 deletions versioning.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ Within a single *major/minor* version (e.g. the **1.0** in **1.0.5**), all relea

*Backward binary compatibility* is not guaranteed. Thus, code compiled against 1.0.5 may not run with the same semantics against 1.0, though it is *very* likely that it will.

Please note that there are some limits in Scala's binary compatibility story prior to Scala 2.12. At the present time, the guarantees in this section hold for all cats-effect cross-builds: 2.11 and 2.12; but we reserve the right to restrict certain guarantees to just 2.12 in the future.

## Snapshots

Snapshots may be published to sonatype at any time. They will be denoted as versions of the form `major.minor-hash`, where the `hash` is the 7 character git hash prefix of the commit from which the snapshot was published. Thus, "snapshots" are in fact stable, and can be used as repeatable upstream dependencies if you're feeling courageous. A snapshot with a `major` version of *x* and a `minor` version of *y* is expected (and indeed, machine-checked in so far as possible) to be binary compatible with the full release with version *x*.*y* (and all its subsequent minor versions). Thus, eviction works basically the way you expect. The only exception to this is *unreleased* incompatible versions, since such versions are still in flux and early snapshots may be incompatible with this future release.
Expand Down