This thread is for updates and discussions about the eventual Scala 2.13.18 release.
As of yet, we don’t know much about the release’s likely contents or timing. If no followup to 2.13.17 needs to be rushed out, then a typical timeframe might be 3–6 months.
Could it happen that 2.13.18 gets released ASAP with reworked linting false positives?
At $WORK, we are actively postponing the rollout of 2.13.17, as it is not a simple “update version and rebuild” - one has to either add the extra (and possibly temporary) flag or provide explicit types in many libraries and projects.
The linting issue has a workaround, but it’s true that it seems to affect a lot of people.
There is also a more serious regression that affects Scala 3 scala/scala3#24204. Example:
def va(s: String*) =
if (s == null) println(0)
else println(1)
@main def run(): Unit =
val arr: Array[String] = null
va(arr*)
Running this with the 2.13.16 standard library prints 0, but running with 2.13.17 prints 1.
It’s not very common for Scala 3 users to manually update the scala-library in their project, but over time more and more projects will get exposed to it by dependency resolution (an updated dependency can pull in a newer scala-library).
A new annotation: @annotation.unchecked.uncheckedOverride is equivalent to the override keyword, except that it allows to override nothing. This is useful when cross-building: a method may override or not, depending on the version of some dependency. This will be ported to Scala 3.
We plan to build 2.13.18 by Nov 17 and announce it by Nov 24.