2.13.0-M5 release train

Is there a concrete date next week?

Are these problems identified somewhere?

LazyList is under active discussion at `LazyList`'s `last` method (and perhaps others?) should be lazier · Issue #11089 · scala/bug · GitHub (and LazyList.fill and LazyList.tabulate aren't lazy in the head · Issue #11083 · scala/bug · GitHub)

re: StringOps, see Deprecate nonsensical StringOps operations by szeiger · Pull Request #6702 · scala/scala · GitHub , which didn’t attract a lot of discussion at the time, but perhaps that will change now.

Neither is a blocker for M5, as there is still time for further changes before RC1.

1 Like

here’s the current M5 status:

  • about 40 more PRs have been merged in the last 7 days
  • we’re down to three remaining open PRs on the M5 milestone, all blockers
  • all three are likely near resolution
  • there aren’t currently any additional blockers in other repos (scala/bug, scala/scala-dev, scala/collection-strawman)

after these three PRs are merged, before rolling M5 we’ll need to do a last round of QA via the Scala 2.13 community build, which currently has about 60 projects in it (compared to ~160 in the 2.12 build). Hopefully anything that turns up can be dealt with fairly quickly, knock on wood.

So right now we’re looking at Monday as the earliest possible build day.

2 Likes

the last M5 PR has been merged. release candidate is 2.13.0-pre-53c4be1

we’ll start pulling release levers now

2 Likes

the community build showed that https://github.com/scala/scala/pull/7068 necessitates changes to scala-xml, ticket on that is https://github.com/scala/scala-xml/issues/253 . working on it

(scala-xml might not be the only affected project, we won’t know until scala-xml is fixed so downstream projects can build)

scala-xml is believed fixed, waiting on fresh community build run

release ticket: https://github.com/scala/scala-dev/issues/544

the release is staged. you can try it via

resolvers += "staging" at
  "https://oss.sonatype.org/content/repositories/staging"
scalaVersion := "2.13.0-M5"
1 Like

draft release notes: https://gist.github.com/SethTisue/545abfca429315af47fa0d31d2ef15d7

they are epic! sooooooo much stuff has landed

9 Likes

Quick update: we’re now a bit torn on whether to include my proposed fix for https://github.com/scala/bug/issues/10762, as that regression has prevented running the test suites in quite a few projects. It was tricky to fix, so we don’t want to rush to merge https://github.com/scala/scala/pull/7119, but it also seems like it would help to have it in M5 so that we can more easily publish these libraries against M5 (without having to disable their test suite).

we’re leaning towards including https://github.com/scala/scala/pull/7119 and rebuilding early next week, as multiple projects in the community build are affected. if we do rebuild, we’ll also include a few VectorMap fixes

PR 7119 is merged.

the new candidate is 2.13.0-pre-8a52aa1. I’ll run it through the community build today

the release is now staged again. you can try it via

resolvers += "staging" at
  "https://oss.sonatype.org/content/repositories/staging"
scalaVersion := "2.13.0-M5"

if you tried the last version that was staged, you may need to delete it from your local ivy cache, coursier cache, etc.

2 Likes

M5 is on Maven Central now. JAR checksums:

% sum ~/.ivy2/cache/**/*M5*.jar
42388 10055 cache/org.scala-lang/scala-compiler/jars/scala-compiler-2.13.0-M5.jar
58717 3972 cache/org.scala-lang/scala-library/jars/scala-library-2.13.0-M5.jar
62224 3567 cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.13.0-M5.jar
1 Like

the JARs on Maven Central seem fine…

…but for distribution bundles, we’re delayed waiting for the replaced files on S3 to show up in all locales, and then get propagated through the Travis-CI -> chara -> scala-lang.org chain. so we won’t officially announce until that’s finished (later today? tomorrow? knock on wood)

Support for 2.13.0-M5 has been merged in Scala.js. We’ve started our own release train for 0.6.25 to make that support available. Assuming everything goes smoothly, jars will be available sometime tomorrow, although an official announcement will probably wait until Monday.

We’re not very happy about our process. The 2.13.x cycle has put enormous pressure on Scala.js to keep up and be released in a timely manner. We had to actively reduce our quality standards in terms of review process to make both M4 and M5. In both cases, changes merged in 2.13.x up to a few days or even the very same day as the release were source-breaking for Scala.js. Normally, we’re able to back-published already released versions of Scala.js when milestones of Scala show up, but that was far from being true for 2.13.0-M4 and M5.

I very much hope that the fast pace of 2.13.x is winding down, and that future milestones/RCs will be backward source compatible for Scala.js. In the future, I would like to ask for a bit more consideration for the ecosystem: allow for a few weeks between the last merges of source-breaking changes and the release of a milestones. That way, there is a chance that we don’t need to make changes, PR, review, merge, and deploy all within a few days, which is detrimental to our quality standards.

3 Likes

Scala 2.13.0-M5 is fully released and announced https://twitter.com/scala_lang/status/1035227635784212481

That’s very reasonable, and I’m sorry we haven’t been more proactive in coordinating with you! I agree there should be more time between last merged PR and staging the release, and again between staging and actually publishing.

We definitely want to slow things down for the RC cycle, which will start in 6 weeks, and will have RCs every two-three weeks. We intend to spend a significant amount of time helping more of the eco system upgrade, so we may end up delaying the RCs as necessary.

At least that’s the current plan. Let’s discuss!

2 Likes

Scala.js 0.6.25 is en route to Maven Central. Supports 2.10 through 2.12 as usual, plus 2.13.0-M3, M4 and M5.

Official announcement with release notes etc. to follow. For now, I announce it only here mostly for libraries blocked on Scala.js to publish their 2.13.0-M5 version.

1 Like

I’ve just published macro-compat 1.1.1 for 2.13.0-M5 JVM/JS.