From bac1b8bc484376c32a0f7dfc9c73ba941aab7e06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Kozak?= Date: Fri, 27 Feb 2026 16:22:43 +0100 Subject: [PATCH 1/3] drop Scala 2.12 support and remove `compat.scala` --- .github/workflows/build.yml | 2 +- .../scala_2.13-/monix/execution/compat.scala | 43 ------------------- 2 files changed, 1 insertion(+), 44 deletions(-) delete mode 100644 monix-execution/shared/src/main/scala_2.13-/monix/execution/compat.scala diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 406baf9a9..6ef547589 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,7 +17,7 @@ jobs: java: [ 8, 11 ] # WARN: build.sbt depends on this key path, as scalaVersion and # crossScalaVersions is determined from it - scala: [ 2.12.15, 2.13.8, 3.1.2 ] + scala: [ 2.13.8, 3.1.2 ] env: CI: true diff --git a/monix-execution/shared/src/main/scala_2.13-/monix/execution/compat.scala b/monix-execution/shared/src/main/scala_2.13-/monix/execution/compat.scala deleted file mode 100644 index 44487e7a3..000000000 --- a/monix-execution/shared/src/main/scala_2.13-/monix/execution/compat.scala +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2014-2021 by The Monix Project Developers. - * See the project homepage at: https://monix.io - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package monix.execution - -import scala.collection.generic.CanBuildFrom -import scala.collection.mutable - -object compat { - - type BuildFrom[-From, -A, +C] = CanBuildFrom[From, A, C] - - private[monix] object internal { - type IterableOnce[+X] = scala.collection.GenTraversableOnce[X] - def toIterator[X](i: IterableOnce[X]): Iterator[X] = i.toIterator - def hasDefiniteSize[X](i: IterableOnce[X]): Boolean = i.hasDefiniteSize - - def newBuilder[From, A, C](bf: BuildFrom[From, A, C], from: From): mutable.Builder[A, C] = bf.apply(from) - - def toSeq[A](array: Array[AnyRef]): Seq[A] = - new scala.collection.mutable.WrappedArray.ofRef(array).toSeq.asInstanceOf[Seq[A]] - } - - private[monix] object Features { - type Flag <: Long with monix.execution.Features.FlagTag - - type Flags <: Long with monix.execution.Features.FlagsTag - } -} From e14ef4d94406a9241917921710795763698852f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Kozak?= Date: Wed, 25 Mar 2026 21:54:47 +0100 Subject: [PATCH 2/3] Remove Scala 2.12.15 from GitHub Actions matrix --- .github/workflows/build.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6ef547589..4bd101c0e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -63,7 +63,6 @@ jobs: # WARN: build.sbt depends on this key path, as scalaVersion and # crossScalaVersions is determined from it include: - - { java: 8, scala: 2.12.15 } - { java: 8, scala: 2.13.8 } - { java: 8, scala: 3.1.2 } @@ -115,7 +114,6 @@ jobs: fail-fast: false matrix: include: - - { java: 8, scala: 2.12.15 } - { java: 8, scala: 2.13.8 } - { java: 8, scala: 3.1.2 } From 48a68747675755e92a3261a0c6eb1643f1d7ea93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Kozak?= Date: Thu, 26 Mar 2026 14:59:47 +0100 Subject: [PATCH 3/3] chore: remove dead Scala 2.12 branch from crossVersionSourcesSettings Co-Authored-By: Claude Opus 4.6 (1M context) --- build.sbt | 1 - 1 file changed, 1 deletion(-) diff --git a/build.sbt b/build.sbt index 4b40b98db..4a3e92d39 100644 --- a/build.sbt +++ b/build.sbt @@ -297,7 +297,6 @@ lazy val crossVersionSourcesSettings: Seq[Setting[_]] = (sc / unmanagedSourceDirectories) ++= { (sc / unmanagedSourceDirectories).value.flatMap { dir => scalaPartV.value match { - case Some((2, 12)) => Seq(new File(dir.getPath + "_2.13-"), new File(dir.getPath + "_3.0-")) case Some((3, _)) => Seq(new File(dir.getPath + "_3.0")) case _ => Seq(new File(dir.getPath + "_2.13+"), new File(dir.getPath + "_3.0-")) }