Scala 2.13.11 release planning

This thread is for updates and discussions about the upcoming Scala 2.13.11 release.

The two main motivations for the release are:

  • Scala 3.3.0 will be released sometime soon (3.3.0-RC2 is already out), and a new Scala 2.13 release is needed for the TASTy reader to support reading 3.3’s TASTy. (The necessary changes, by Jamie Thompson, have already been merged.)
  • We aim to release every 3–6 months. 2.13.10 came out on 8 Oct 22, so it’s now been over 4 months which means it’s getting to be time anyway.

The 2.13.11 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.

6 Likes

Oh, I should have mentioned that another reason to do 2.13.11 is to ship JDK 20 support in the optimizer (support was already merged). We should do 2.12.18 at about the same time for the same reason; see the 2.12.18 release planning thread.

4 Likes

We’ve just finished QAing the current 2.13 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.13 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.13.11 until at least April 20.

3.3.0-RC5 is now out. With a little luck, 3.3.0 will follow before too much longer.

Work on 2.13.11 is nearly complete. Two open pull requests are still pending on the 2.13.11 milestone.

If you would like to test a nightly build, it’s currently 2.13.11-bin-eeb52dc.

You can scala-cli -S 2.nightly, or see these instructions.

1 Like

Scala 2.13.11 draft release notes:

If you have any suggested improvements to the notes themselves, you can comment on this pull request.

3 Likes

Both Scalameta and Metals (some really minor incompatibilities, but nothin important) work with the newest release candidate for 2.12.18 :tada:

A WIP PR for Scalameta is herehttps://github.com/scalameta/scalameta/pull/3121

2 Likes

Release candidate: 2.13.11-bin-d542045. Release notes draft updated.

(One final PR, bugfix: Matcher should be able to match on name exactly by tgodzik · Pull Request #10148 · scala/scala · GitHub, might still make it in. It’s unlikely we’ll merge anything else.)

5 Likes

We merged a few more PRs and now we have what with any luck should be the final release candidate: 2.13.11-bin-fd209dc

Unless someone finds some serious late breaking problem in testing, we’ll build 2.13.11 no sooner than Friday, June 2.

To test the nightly, you can scala-cli -S 2.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.)

3 Likes

We ended up reverting one minor, late-merged PR having to do with the presentation compiler’s handling of tab completion for constructors, because it caused a test failure downstream in Metals in the community build. (reference)

I don’t think we need to reset the 7 day testing countdown, as the reversion merely restores the 2.13.10 status quo in this one small area.

Regardless, if you’re still doing any testing, the new release candidate is 2.13.11-bin-f113b1a.

4 Likes

2.13.11 JARs are now on Maven Central.

Tooling and compiler plugin maintainer powers, activate! Please publish support.

We won’t announce before Wednesday, June 7, 2023.

2 Likes

The Scala.js compiler plugins v1.7.1 through v1.13.1 are on their way to Maven Central with support for Scala 2.13.11.

3 Likes

Scala Native compiler plugins v0.4.9 through v0.4.12 for Scala 2.13.11 are on their way to Maven Central

4 Likes

While fighting jet lag I managed to backpublish semanticdb support for Scala 2.13.11 for scalameta 4.7.7 and 4.7.8.

Metals work still pending.

6 Likes

scalafix & sbt-scalafix 0.11.0 are on Maven central, built with and supporting 2.13.11

1 Like

One regression in 2.13.11 has been reported, involving Java reflection and Java’s @Deprecated annotation: java.lang.annotation.AnnotationFormatError thrown when checking @Deprecated annotations present on java method through scala class · Issue #12799 · scala/bug · GitHub

Obviously we’ll want to fix it for 2.13.12, but how big a problem is it for 2.13.11? Is it an obscure corner case, or will it be encountered commonly? If you feel you have some insight into how many users are likely to be affected, please comment on the ticket.

1 Like

A second regression has been reported, involving spurious exhaustivity warnings when pattern matching on a Java enum type: Exhaustivity checker emits spurious warning when matching on Java enum type (2.13.11 regression) · Issue #12800 · scala/bug · GitHub

We’ll mention both regressions in the 2.13.11 release notes. (And before long, I’ll open a 2.13.12 release planning thread here to discuss timing.)

2 Likes

Scala 2.13.11 is announced! Thanks to everyone who participated in making this happen.

2 Likes