Skip to content
Merged
Show file tree
Hide file tree
Changes from 27 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
aebeaa0
Fix .jvmopts for modern JDKs by removing unsupported CMSClassUnloadin…
halotukozak Feb 24, 2026
c55330d
Bump sbt to 1.10.7
halotukozak Feb 24, 2026
b7c6bf5
Bump sbt-scoverage to 2.3.1 to resolve scala-xml conflict
halotukozak Feb 24, 2026
3e83f14
Bump sbt-scalajs to 1.18.2
halotukozak Feb 24, 2026
d9a9cbd
Bump sbt-unidoc to 0.5.0 (org change to com.github.sbt)
halotukozak Feb 24, 2026
65a0106
Bump sbt-jmh to 0.4.7
halotukozak Feb 24, 2026
c1d3daa
Bump sbt-mima-plugin to 1.1.4
halotukozak Feb 24, 2026
85cb483
Bump sbt-header to 5.10.0
halotukozak Feb 24, 2026
031d577
Bump sbt-scalafmt to 2.5.4
halotukozak Feb 24, 2026
807251c
Bump sbt-assembly to 2.3.1
halotukozak Feb 24, 2026
9da2412
Bump sbt-reproducible-builds to 0.32
halotukozak Feb 24, 2026
b1d55b8
Bump sbt-dynver to 5.1.0 (org change to com.github.sbt)
halotukozak Feb 24, 2026
0f8710a
Bump sbt-git to 2.1.0 (org change to com.github.sbt)
halotukozak Feb 24, 2026
d365e23
Bump sbt-sonatype to 3.12.2
halotukozak Feb 24, 2026
911ea97
Bump sbt-pgp to 2.3.1
halotukozak Feb 24, 2026
f395995
Add libraryDependencySchemes for geny to resolve meta-build conflict
halotukozak Feb 24, 2026
6aeefdf
Fix geny version conflict using VersionScheme.Always
halotukozak Feb 24, 2026
45d359d
Update Scala versions to 2.12.20, 2.13.16, 3.3.5
halotukozak Feb 24, 2026
0c9251f
Fix Scala 2.13.16 compatibility and build configuration
halotukozak Feb 24, 2026
cb4aebe
Clarify Task.start/startAndForget stack tracing behavior
halotukozak Feb 25, 2026
b6440ef
feat(01-infrastructure-modernization-01): migrate sbt-tpolecat to org…
halotukozak Feb 25, 2026
da27598
docs(01-infrastructure-modernization-01): complete sbt-tpolecat migra…
halotukozak Feb 25, 2026
7465e7b
fix(01-02): add -Wconf suppressions and fix Scala 3 value-discard errors
halotukozak Feb 25, 2026
294f64c
fix(01-02): disable tpolecat test-time warnings for pre-existing patt…
halotukozak Feb 25, 2026
07bfa7f
docs(01-02): complete cross-compile verification plan
halotukozak Feb 26, 2026
cdb46e3
Remove .planning from git and add to .gitignore
halotukozak Feb 26, 2026
0ecf74e
some reverts
halotukozak Feb 26, 2026
f7e09ea
Address PR review feedback from mikkolaj
halotukozak Mar 23, 2026
42ba07d
Align formatting in `plugins.sbt` and remove unused scalacOptions
halotukozak Mar 25, 2026
f5ac711
Improve null-check error messages in ReactivePublisher and ReactiveSu…
halotukozak Mar 26, 2026
94d7fe8
Refactor operators to explicitly define Scheduler type for implicit v…
halotukozak Mar 26, 2026
0e77a08
Refactor test suites to explicitly import `Scheduler` where needed.
halotukozak Mar 26, 2026
4caee57
Merge branch 'series/3.x-avs' into bump-dependencies
halotukozak Mar 26, 2026
3d234b3
fix: add return type to `Eq` instance in test suite
halotukozak Mar 26, 2026
896756b
fix: add explicit Scheduler type annotation to AbstractBackPressuredB…
halotukozak Mar 26, 2026
689d308
Merge remote-tracking branch 'origin/drop-jdk-8-support-ci' into bump…
halotukozak Mar 26, 2026
07c6184
Merge branch 'series/3.x-avs' into bump-dependencies
halotukozak Mar 27, 2026
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
18 changes: 9 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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.12.20, 2.13.16, 3.3.5 ]

env:
CI: true
Expand Down Expand Up @@ -63,9 +63,9 @@ 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 }
- { java: 8, scala: 2.12.20 }
- { java: 8, scala: 2.13.16 }
- { java: 8, scala: 3.3.5 }
Comment thread
halotukozak marked this conversation as resolved.
Outdated

env:
CI: true
Expand Down Expand Up @@ -115,9 +115,9 @@ jobs:
fail-fast: false
matrix:
include:
- { java: 8, scala: 2.12.15 }
- { java: 8, scala: 2.13.8 }
- { java: 8, scala: 3.1.2 }
- { java: 8, scala: 2.12.20 }
- { java: 8, scala: 2.13.16 }
- { java: 8, scala: 3.3.5 }

steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -158,9 +158,9 @@ jobs:
fail-fast: false
matrix:
include:
- { java: 8, scala: 2.13.8 }
- { java: 8, scala: 2.13.16 }
# TODO: enable this after it works!
# - { java: 8, scala: 3.1.2 }
# - { java: 8, scala: 3.3.5 }
Comment thread
halotukozak marked this conversation as resolved.
Outdated

steps:
- uses: actions/checkout@v2
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ TAGS
metals.sbt
.vscode
.bsp
.planning/
1 change: 0 additions & 1 deletion .jvmopts
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,4 @@
-XX:ReservedCodeCacheSize=250M
-XX:+TieredCompilation
-XX:-UseGCOverheadLimit
-XX:+CMSClassUnloadingEnabled

29 changes: 23 additions & 6 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import sbt.{ Def, Global, Tags }

import scala.collection.immutable.SortedSet
import MonixBuildUtils._
import org.typelevel.scalacoptions.ScalacOptions

val benchmarkProjects = List(
"benchmarksPrev",
Expand Down Expand Up @@ -31,9 +32,9 @@ val reactiveStreams_Version = "1.0.4"
val macrotaskExecutor_Version = "1.0.0"
val minitest_Version = "2.9.6"
val implicitBox_Version = "0.3.4"
val kindProjector_Version = "0.13.2"
val kindProjector_Version = "0.13.3"
val betterMonadicFor_Version = "0.3.1"
val silencer_Version = "1.7.8"
val silencer_Version = "1.7.19"
val scalaCompat_Version = "2.7.0"

// The Monix version with which we must keep binary compatibility.
Expand Down Expand Up @@ -168,15 +169,19 @@ lazy val sharedSettings = pgpSettings ++ Seq(
else
ver
},
/*
// Enable this to debug warnings...
Compile / scalacOptions ++= {
Comment thread
halotukozak marked this conversation as resolved.
CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, 13)) => Seq("-Wconf:any:warning-verbose")
case Some((2, 13)) => Seq(
"-Wconf:cat=other-implicit-type:silent",
Comment thread
halotukozak marked this conversation as resolved.
Outdated
// Silence -Wvalue-discard warnings: tpolecat 0.5.x enables -Wvalue-discard which
// catches discarded values (e.g. trySuccess/tryFailure returning Boolean). These are
// pre-existing patterns in the codebase and not bugs.
"-Wconf:msg=unused value of type:silent"
Comment thread
halotukozak marked this conversation as resolved.
Outdated
)
case _ => Seq.empty
}
},
*/

// Disabled from the sbt-tpolecat set
Compile / scalacOptions --= Seq(
Expand All @@ -191,6 +196,16 @@ lazy val sharedSettings = pgpSettings ++ Seq(
"-Wunused:params",
"-Xlint:infer-any"
),
// Disabled from tpolecat for test compilation:
// -Wunused:patvars triggers on for-comprehension loop vars in tests (pre-existing pattern)
// -Xlint:constant triggers on intentional overflow tests (e.g. Long.MaxValue + 1)
Test / scalacOptions --= {
CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, 13)) => Seq("-Wunused:patvars", "-Xlint:constant")
case Some((2, 12)) => Seq("-Ywarn-unused:patvars")
case _ => Seq.empty
}
},
// Turning off fatal warnings for doc generation
Compile / doc / tpolecatExcludeOptions ++= ScalacOptions.defaultConsoleExclude,
// Silence everything in auto-generated files
Expand All @@ -202,7 +217,9 @@ lazy val sharedSettings = pgpSettings ++ Seq(
},
scalacOptions --= {
if (isDotty.value)
Seq("-Xfatal-warnings")
// tpolecat uses -Werror in Scala 3 (not -Xfatal-warnings); remove both to disable fatal warnings
// so that pre-existing value-discard and similar patterns don't break Scala 3 builds
Seq("-Xfatal-warnings", "-Werror")
Comment thread
halotukozak marked this conversation as resolved.
Outdated
else
Seq()
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ object CancelablePromise {
}
if (errors ne null) {
// Throws all errors as a composite
val x :: xs = errors.toList
val x :: xs = errors.toList: @unchecked
Comment thread
halotukozak marked this conversation as resolved.
Outdated
throw Platform.composeErrors(x, xs: _*)
}
true
Expand Down
2 changes: 1 addition & 1 deletion project/build.properties
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@
# limitations under the License.
#

sbt.version=1.5.2
sbt.version=1.10.7
28 changes: 15 additions & 13 deletions project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.10.0")
addSbtPlugin("com.eed3si9n" % "sbt-unidoc" % "0.4.3")
addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.3")
addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "1.1.0")
addSbtPlugin("de.heikoseeberger" % "sbt-header" % "5.7.0")
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6")
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.18.2")
addSbtPlugin("com.github.sbt" % "sbt-unidoc" % "0.5.0")
addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.7")
addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "1.1.4")
addSbtPlugin("de.heikoseeberger" % "sbt-header" % "5.10.0")
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.4")
addSbtPlugin("com.github.tkawachi" % "sbt-doctest" % "0.10.0")
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.9.3")
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.3.1")
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "1.2.0")
addSbtPlugin("net.bzzt" % "sbt-reproducible-builds" % "0.30")
addSbtPlugin("io.github.davidgregory084" % "sbt-tpolecat" % "0.3.1")
addSbtPlugin("com.dwijnand" % "sbt-dynver" % "4.1.1")
addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "1.0.2")
addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.9.12")
addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.1.2")
addSbtPlugin("net.bzzt" % "sbt-reproducible-builds" % "0.32")
addSbtPlugin("org.typelevel" % "sbt-tpolecat" % "0.5.3")
addSbtPlugin("com.github.sbt" % "sbt-dynver" % "5.1.0")
addSbtPlugin("com.github.sbt" % "sbt-git" % "2.1.0")
addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.12.2")
addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.3.1")

libraryDependencySchemes += "com.lihaoyi" %% "geny" % VersionScheme.Always
Comment thread
halotukozak marked this conversation as resolved.
Outdated
Comment thread
halotukozak marked this conversation as resolved.
Outdated
Loading