Scala 2.13.18 release planning

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.

Let’s use this thread to ask, propose, discuss.

1 Like

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.

Also, 2.13.17 hit us with https://github.com/scala/scala/pull/11023 (I opened a discussion about it at about "Mix in the productPrefix hash statically in case class hashCode" (#11023) · Issue #13136 · scala/bug · GitHub ).

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).

This probably makes 2.13.18 more urgent.

1 Like

We decided to expedite the release of Scala 2.13.18.

Anticipated timeline:

  • Thu Nov 6: announce a “release candidate” (nightly build version)
  • Mon Nov 17: build and publish the release
  • Mon Nov 24: announcement

Fixes for the reported regressions (linting, scala 3 varargs interop) have been merged.

Of note: the new release will be signed with a different PGP key scala#11158

I’m planning to include

  • A fix for allowing compilation of Ordering subclasses when compiling on Java 26 (early access) scala#11153
  • An updated ASM build bug#13132
4 Likes

The release candidate is version 2.13.18-bin-ae6ae4d, the community build is green.

Release notes draft.

As announced recently there is a new resolver that can be used to access Scala 2 and Scala 3 nightly / mergely builds:

  • https://repo.scala-lang.org/artifactory/maven-nightlies

The build includes

We plan to build 2.13.18 by Nov 17 and announce it by Nov 24.

6 Likes

Checked Metals and Scalameta, the tests seem to be passing!

2 Likes

Built the Scala Plugin for IDEA and ran all tests against 2.13.18-bin-ae6ae4d, no problems whatsoever. Looking forward to the release. Thank you.

3 Likes

All good for Scala.js 1.20.1.

3 Likes

No problems found for Scala Native 0.5.9

3 Likes