We’ve decided to postpone the 2.13.0-RC1 release by 3 months (from mid October to mid January), to make sure that we have enough time to deliver the best possible upgrade experience from 2.12.7 to 2.13.0.
No major issues have come up since the last milestone, but we still feel it would be better to take some more time to resolve more of the smaller issues that remain, to improve the migration guide and the compatibility layer for cross-building between 2.12 and 2.13, and generally to help the eco-system upgrade to 2.13.0-M5 before starting the RC cycle.
Concretely, the Scala team at Lightbend is seeking to collaborate with OSS project maintainers to help port projects from 2.12 to 2.13. I’ve created a ticket to coordinate the effort – please comment there with any projects you’d like to nominate (including your own ;-)).
PS: We remain in feature freeze – this extra time is purely meant for extra polish, not more new shiny
Here’s a quick status update for the new collections library, the biggest change in 2.13: We are currently down to 47 open collection-related tickets for 2.13.0-RC1. Many of them are small issues that are not assigned yet. Contributions from the community would be especially welcome in this area.
Very few blockers remain and we believe to be on track for the scheduled release.
We have a proof of concept for the parallel collections based on the new design but some implementation work still remains to be done to port the rest of the library. We still expect to have a fully working version in time for 2.13.0.
The good news is:
- many more libraries have published for 2.13.0-M5
- there will be no need for an 2.13.0-M6, as we had feared
- the 2.13 community build is looking strong, with as many as 83 green projects (currently lower because of small recent breaking changes, but regaining that ground won’t be hard)
- Julien has completed the work on updating parallel collections, and we will publish it for RC1
- there are just 22 open RC1 PRs in scala/scala
- scala/bug is down to 14 open RC1 issues on the RC1 milestone
- plus just 2 RC1 tickets in scala-dev
- and no open tickets left in collection-strawman, which is now archived
but the bad news is obvious, we didn’t make the January target, and a couple weeks or so of work remains.
I wonder how long it will take Spark to make its way to 2.13
We have gone through the RC1 pull request queue (16 PRs) and marked blocker tickets as “prio:blocker” (11 of 16).
Anything without the blocker label is in real danger of missing RC1. Anything with the label, we’re very eager to get done ASAP and get RC1 out the door. So there is time pressure either way.
If you could use help getting something across the finish line, blocker or not, please ask on the PR, time is running short (perhaps as little as one week).
The last really major RC1 PR is merged, integrating scala-java8-compat into stdlib: https://github.com/scala/scala/pull/7458
We’re now down to a single open RC1 PR at https://github.com/scala/scala/milestones/2.13.0-RC1
Additional issues may turn up as we push the changes through the 2.13 community build over the next few days.
I’ve opened two tickets with lists of projects in the 2.13 community build that need attention:
the currently nightly is 2.13.0-pre-bd28253
Since my last update, we’ve merged about 10 additional PRs for RC1.
There are now no known RC1 blocker bugs, and only one in-flight PR that Adriaan is working to finish (PR 7929).
As for the community build, thanks to community help with https://github.com/scala/bug/issues/11453, we’re up to 94 green projects now, and in addition, a number of not-yet-green projects were investigated and determined not to have uncovered Scala regressions.
Akka is the remaining community build project we want to either get green, or verify that any failures are harmless. Akka is important both as a cornerstone of a sector of the Scala ecosystem, and as a test of the viability of the new stdlib APIs that replace the scala-java8-compat module.
Lukas now has Akka compiling with the latest Scala nightly, but there are test failures that remain to be investigated.
Final PRs merged, community build looking good.
Today we will work on repackaging 2.13.0-pre-63769af as 2.13.0-RC1.
(Note that anyone wanting to track progress in gory detail can keep an eye on https://github.com/scala/scala-dev/issues/599)
RC1 is on Maven Central now.
We will wait to make a broader announcement until modules are published along with a few key libraries like ScalaCheck.
Draft release notes, feedback and corrections welcome: https://gist.github.com/SethTisue/5baa94c7d6c2f7f939a53a75f3c9816e
Seb expects to publish Scala.js tomorrow morning, then the rest of us can start publishing (including modules).
Scala.js 0.6.27 with support for 2.13.0-RC1 (and still M5 as well) is on its way to Maven Central. Scala.js 1.0.0-M7’s CI is still running.
com.lihaoyi:sourcecode_2.13.0-RC1:0.1.6 is published now
Scala.js 1.0.0-M7 is now on its way to Maven Central.
portable-scala-reflect and scalajs-stubs to follow.
scalajs-stubs (JVM-only) 1.0.0-RC1 for Scala 2.13.0-RC1 on its way to Maven Central.
portable-scala-reflect 0.1.0 for JVM 2.13.0-RC1, JS 0.6.x with 2.13.0-RC1 and JS 1.0.0-M7 for 2.11/2.12/2.13.0-M5/2.13.0-RC1 on their way to Maven Central.
And now, it’s time for a nap…
using scala-parser-combinators 1.1.2 on Scala 2.11 may run afoul of a classpath clash between 1.1.2 and the version the Scala 2.11 compiler uses internally; see https://github.com/scala/scala-parser-combinators/issues/197 for details and workarounds
ScalaTest 3.0.8-RC2 is now available (thanks @cheeseng!)