Scala 2.13.9 is here!

The Scala team at Lightbend is proud to announce Scala 2.13.9.

This release improves compatibility with Scala 3, supports JDK 19, updates -release and deprecates -target, adds -Wnonunit-statement to warn on discarded values, improves security, and fixes various bugs.

For details, refer to the release notes on GitHub.

8 Likes

2.13.9 contains a regression, primarily affecting library maintainers (whether the libraries are public, or internal to an organization).

We are fast-tracking a followup 2.13.10 release in order to promptly address [2.13.9] `productIterator` change to case classes breaks bincompat if the class is also a value class · Issue #12650 · scala/bug · GitHub .

12650 is a regression where case classes that are also value classes (case class ... extends AnyVal) compile to binary-incompatible bytecode. That is, the bytecode may not work for users who are still on an older Scala 2.13.x version.

The problem was caught because MiMa alerts library maintainers when it occurs. MiMa is usable at publishing time, and it is also usable after the fact. So if you have already published a library using 2.13.9, you can use MiMa to determine if your library might be broken (for users who haven’t also moved to 2.13.9). If you used MiMa before publishing and weren’t alerted, then your library should be fine.

We aim to publish 2.13.10 to Maven Central today, and then fully announce it on Thursday, October 13th. (As usual, the delay between publishing and announcing gives tooling authors time to add support for the new version.)

You can track progress on the release at Scala 2.13.10 release planning - Announcements - Scala Contributors