This thread is for updates and discussions about the upcoming Scala 2.12.18 release.
The main motivation for the release would be to add JDK 20 support. (As usual, a new JDK version requires an ASM upgrade in order for the optimizer work.) The necessary changes, by Philippus Baalman, have already been merged. Oracle’s target release date for JDK 20 is March 21, 2023.
Our team at Lightbend has also been making some changes to help users migrate from 2.12 to 2.13, typically under the -Xsource:2.13 flag.
The 2.12.18 milestone on GitHub has lists of open and merged PRs for the release. You may wish to filter by the “release-notes” label to see only the most significant changes.
Feel free to use this thread to ask questions and share concerns about the timing and contents of the release.
We’ve just finished QAing the current 2.12 nightly on JDK 20 and all is well. Our test suite is green and will run nightly on JDK 20 from now on, and the same is true of the Scala 2.12 community build.
An update on timing: 3.3.0 is a bit delayed (not before April 17, is my understanding, since we don’t have RC4 yet), so that pushes 2.12.18 until at least April 20.
We have a new release candidate: 2.12.18-bin-ceaf7e6. The only change since the last candidate is a classfile parsing fix that makes the compiler work on the current JDK 21 early access build.
Just to be maximally clear about timing: our release candidate, 2.12.18-bin-ceaf7e6, was announced here on Monday, May 22. Unless someone finds some serious late breaking problem in testing, we’ll build 2.12.18 no sooner than Tuesday, May 30.
To test the nightly, you can scala-cli -S 2.12.nightly, or see these instructions.
Note that Scala 3.3.0 is now on Maven Central. (As usual, the publication of those JARs is just an early step in the overall release process.)
I still get 404 today (07/06/2023) when using sbt 1.9.0 with semantic db? I guess this is an issue now, because it’s been a few days since the artifact was published.
yes of course. I set Global / semanticdbEnabled := true in ~/.sbt/1.0/global.sbt.
and it fails for any projects that use sbt 1.9.0.
Here is the logs:
[lila] $ reload
[info] welcome to sbt 1.9.0 (Eclipse Adoptium Java 17.0.7)
[info] loading settings for project lila-build-build-build from metals.sbt ...
[info] loading project definition from /Users/tle/git/lichess/lila/project/project/project
[info] Updating
[info] Resolved dependencies
[warn]
[warn] Note: Unresolved dependencies path:
[error] stack trace is suppressed; run last update for the full output
[error] (update) sbt.librarymanagement.ResolveException: Error downloading org.scalameta:semanticdb-scalac_2.12.18:4.5.13
[error] Not found
[error] Not found
[error] not found: https://repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.12.18/4.5.13/semanticdb-scalac_2.12.18-4.5.13.pom
[error] not found: /Users/tle/.ivy2/local/org.scalameta/semanticdb-scalac_2.12.18/4.5.13/ivys/ivy.xml
[error] not found: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.scalameta/semanticdb-scalac_2.12.18/4.5.13/ivys/ivy.xml
[error] not found: https://repo.typesafe.com/typesafe/ivy-releases/org.scalameta/semanticdb-scalac_2.12.18/4.5.13/ivys/ivy.xml
[warn] Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? (default: r)