Coming soon: Scala 2.13.3

This is a thread to discuss plans and share progress on Scala 2.13.3.

2.13.2 has no single regression bad enough to require rushing out 2.13.3, but there are enough smaller regressions that it makes sense not to wait too long, either.

I’ve set the rough target date on the 2.13.3 milestone to June 1. I also created a 2.13.4 milestone, with a rough date in August.

Most open PRs have been moved to the 2.13.4 milestone, but some of those could still make 2.13.3, depending on risk vs. benefit.

Links helpful for seeing how 2.13.3 is shaping up:

8 Likes

I’m wondering about the added deprecations. This version is fastracked because some users experienced troubles upgrading. Introducing more deprecations now seems counterproductive.

1 Like

Good point, however:

  1. Deprecations aren’t fatal, however, unless you make them.
  2. In 2.13 you can also configure warning suppression (keeping the rest fatal).
  3. The deprecations have accompanying rewrites in https://github.com/scala/scala-rewrites, however that lacks docs on how to run the new rewrites and it would be useful to have it already published on Maven Central.
5 Likes

We are winding up work on 2.13.3. There are still some in-flight issues and PRs, so I’ve pushed the date on the milestone forward to June 8. (And, it might slip again.)

The links in the first post in this topic are still usable for seeing how the release is shaping up.

Re: deprecations, in the release notes we’ll include the appropriate -Wconf/@nowarn incantations for suppressing them, to ease the upgrade. (We hope upgraders won’t leave them suppressed indefinitely, but the suppression can be useful for upgrading in stages.)

3 Likes

Barring something very unexpected suddenly popping up, we will build 2.13.3 this week.

6 Likes

The community build uncovered several late-breaking regressions, including one that actually originated on the 2.12.x branch. It’ll take a few days to first push fixes through on both the 2.12.x and 2.13.x branches, and then also push those fixes through the community build, so we’re looking at early next week now for building. (Assuming nothing else crops up…)

5 Likes

For those who like to watch the release checkboxes get checked :popcorn: : https://github.com/scala/scala-dev/issues/712

We’re still chasing down the last few open tickets.

One exciting development is that Jason’s big async PR https://github.com/scala/scala/pull/8816 (“Compiler support for scala-async”) has now landed and will be included in both 2.12.12 and 2.13.3 — behind a flag, so it’s a safe change. I expect there will be a blog post devoted to this, but in the meantime, there’s a good deal of info in the PR description.

5 Likes

Milestones closed — release candidate is 2.13.3-bin-98b9a1c — community build is running now — with luck, we can release tomorrow (Wednesday)

4 Likes

Draft release notes: https://gist.github.com/SethTisue/3c5c425cb884ed4b912dd97bf1d5afeb

Feedback welcome

3 Likes

The Scala.js nightly build passed, and, after deactivating lots of fatal warnings (see below), so did the build of v1.1.0.

For reference:

set Seq(library, javalib, javalanglib, testInterface, jUnitRuntime, testBridge).map(p => scalacOptions in p.v2_13 -= "-Xfatal-warnings") :+ (scalacOptions in (compiler.v2_13,  Test) -= "-Xfatal-warnings")
2 Likes

Jason found a recent regression in the thread safety of runtime reflection. Fix: https://github.com/scala/scala/pull/9080.

A map ordering problem also turned up, present at least since 2.13.0, but an easy/safe fix to include since we’re rebuilding anyway.

Both fixes are now merged. The second release candidate is 2.13.3-bin-d23424c. Community build is now re-running. Hopefully we can release on Thursday.

2 Likes

2.13.3 JARs are on Maven Central. No changes since 2.13.3-bin-d23424c

Still in process: website updates, announcements, etc

3 Likes

The compiler plugins of Scala.js 0.6.33, 1.0.0, 1.0.1 and 1.1.0 are on their way to Maven Central, with support for Scala 2.13.3.

3 Likes

Websites updated, announcements announced.

The API docs didn’t entirely arrive on the site, working on that.

1 Like

Just tried out 2.13.3 and all looks well except this annoying error message everytime we compile

[error] ‘nullary-override’ is not a valid choice for ‘-Xlint’

We use sbt-tpolecat for all the scalac compiler options. Was this flag removed? (didn’t find it in the release notes)

Oops, that should have been mentioned in the release notes. It is now! Thank you.

2 Likes