Skip to content

Bump Scala to 3.9.0 LTS, sbt to 1.13.0 and update plugins - #9

Closed
luksow wants to merge 3 commits into
masterfrom
claude/dependency-updates-scala-lts-iq8wod
Closed

luksow wants to merge 3 commits into
masterfrom
claude/dependency-updates-scala-lts-iq8wod

Conversation

@luksow

@luksow luksow commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator
  • Scala 3: 3.3.8 -> 3.9.0 (latest LTS); Scala 2.13.18 stays current
  • sbt: 1.12.13 -> 1.13.0 (sbt 2 is blocked until sbt-typelevel ships an
    sbt 2 build)
  • sbt-revolver: io.spray 0.10.0 -> com.indoorvivants 0.11.2 (maintained
    fork, also publishes for sbt 2)
  • sbt-scalafmt 2.6.1 -> 2.6.2, scalafmt 3.10.7 -> 3.11.5
  • sbt-mdoc 2.9.0 -> 2.9.2
  • sbt-scalajs-crossproject / sbt-scala-native-crossproject 1.3.2 -> 1.4.0
  • Docs: http4s snippets 0.23.33 -> 0.23.36 to match the build

Library dependencies (http4s 0.23.36, fs2 3.13.0, circe 0.14.16,
scalatest 3.2.20, scala-xml 2.4.0, Scala.js 1.22.0, Scala Native 0.5.12)
were already at their latest releases. specs2 stays on 4.23.0 because
5.x dropped Scala 2.13 support.

Co-Authored-By: Claude Fable 5.1 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01D2oCxqXTDWCHNnrZhjAmyB

- Scala 3: 3.3.8 -> 3.9.0 (latest LTS); Scala 2.13.18 stays current
- sbt: 1.12.13 -> 1.13.0 (sbt 2 is blocked until sbt-typelevel ships an
  sbt 2 build)
- sbt-revolver: io.spray 0.10.0 -> com.indoorvivants 0.11.2 (maintained
  fork, also publishes for sbt 2)
- sbt-scalafmt 2.6.1 -> 2.6.2, scalafmt 3.10.7 -> 3.11.5
- sbt-mdoc 2.9.0 -> 2.9.2
- sbt-scalajs-crossproject / sbt-scala-native-crossproject 1.3.2 -> 1.4.0
- Docs: http4s snippets 0.23.33 -> 0.23.36 to match the build

Library dependencies (http4s 0.23.36, fs2 3.13.0, circe 0.14.16,
scalatest 3.2.20, scala-xml 2.4.0, Scala.js 1.22.0, Scala Native 0.5.12)
were already at their latest releases. specs2 stays on 4.23.0 because
5.x dropped Scala 2.13 support.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D2oCxqXTDWCHNnrZhjAmyB
The com.indoorvivants sbt-revolver fork (all 0.11.x releases) calls
String.formatted, which only exists on JDK 15+, so the build failed to
load on the temurin@11 jobs. Scala Native also deprecates running on
JDK < 17. The published artifacts are unaffected; only the JDKs used to
build and test in CI change.

Regenerated .github/workflows/ci.yml via githubWorkflowGenerate.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D2oCxqXTDWCHNnrZhjAmyB
Compiling with Scala 3.9.0 instead of 3.3.8 changed two compiler-internal
details that MiMa reported as missing methods against 0.5.0:

- objects without eagerly-initialised fields no longer get a static
  initializer (<clinit>), which only the runtime invokes
- a lifted local default-argument method in PathMatchers changed its
  mangled `$$_$` name; such methods are synthetic and never user-callable

Neither is part of the public API, so exclude both classes of problem.
Verified mimaReportBinaryIssues passes on JVM, JS and Native for both
Scala 2.13 and 3.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D2oCxqXTDWCHNnrZhjAmyB
@luksow luksow closed this Sep 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants