Scala-dev: Release 2.13.2

Created on 31 Jan 2020  Â·  13Comments  Â·  Source: scala/scala-dev

release lead: @SethTisue

```
SCALA_VER_BASE="2.13.2"
SCALA_VER_SUFFIX=""
SCALA_SHA=706ef1b291134a5e5bce2275df2c222261f73451
DIST_SHA=????????????????????????????????????????
SCALA_VER="$SCALA_VER_BASE$SCALA_VER_SUFFIX"
````

Key links:

N weeks before the release

  • [x] Wind down PR queue. There has to be enough time after the last (non-trivial) PR is merged and the next phase. The core of the eco-system needs time to prepare for the final!
  • [x] Triage scala/bug and scala/scala-dev tickets
  • [x] Create next scala/scala milestone, move the magical "Merge to 2.13.x" description to it (so Scabot uses it as default for new PRs)
  • [x] Close the scala/bug milestone, create next milestone, move pending issues
  • [x] Close the scala/scala-dev milestone, create next milestone, move pending issues
  • [x] Check PRs assigned to the milestone, also check WIP
  • [x] Announce expected release date and current nightly "release candidate" (nightly sha-mangled version) at https://scala-ci.typesafe.com/artifactory/scala-integration/ on https://contributors.scala-lang.org/c/announcements

Release announcement / notes

N days before release

  • Announce no more PRs will be merged unless last-minute regressions are found. Re-iterate current nightly sha version for testing.
  • [x] Community build
  • [x] Run scala-collections-laws and evaluate results

    • Rex Kerr (@Ichoran) is the keeper and expert on this

  • [x] Windows Jenkins job
  • [x] Check any merged PRs accidentally assigned to the next milestone in this branch, and re-assign them to this milestone
  • [x] Merge in any older release branch
  • [x] Check module versioning (is everything in versions.properties up to date?)
  • [x] On major release, bump PickleFormat version

Point of no return

Check availability

When everything is on maven central

Modules

Announcements

Afterwards

  • [x] Create PR to add/update spec links on scala-lang.org (example: https://github.com/scala/scala-lang/pull/1050)
  • [x] Create PR to update scala-version on docs.scala-lang.org (example: https://github.com/scala/docs.scala-lang/pull/1294)
  • [x] Create a scala/scala PR to update versions.properties and the baseVersion in build.sbt.
  • If it's a major bump:

    • [x] Update latestSpecVersion in spec/_config.yml on the old branch, so that spec is marked as no longer current

    • [x] Ditto for the nightly build and spec links in _data/footer.yml and _data/doc-nav-header.yml on docs.scala-lang.org

  • [x] Create PR to update https://github.com/lightbend/lightbend-platform-docs/blob/master/docs/modules/getting-help/pages/build-dependencies.adoc
  • [x] Update WhiteSource

Most helpful comment

@ijuma I hope to build tomorrow. only a few JLine tweaks have yet to land; I expect to finish those up today

All 13 comments

Do we have a rough ETA for 2.13.2?

@ijuma I hope to build tomorrow. only a few JLine tweaks have yet to land; I expect to finish those up today

Awesome, thanks!

2.13.2-bin-7d29ccc is the release candidate. If all goes well 2.13.2 itself will hit Maven Central later today

2.13.2-bin-7d29ccc is the release candidate. If all goes well 2.13.2 itself will hit Maven Central later today

Seeing that https://github.com/scala/scala/commit/7d29ccc4369a6122031e55a7afe1bc987a532481 was created 2h ago, that's a tremendously short window for a release candidate (I was, for example, hoping the spark folks would test a release candidate once it became available, with enough time to provide feedback). Why bother at all with rc's if it's <24h?

@h-vetinari Good question! I think I can explain.

Spark doesn't support 2.13 yet, except on a development branch, so until that upgrade work is farther along, I see no reason for a 2.13.x release to block waiting on Spark specifically.

Nonetheless, we welcome feedback from Spark folks at any point — the earlier the better! Note that one of the major changes in 2.13.2, https://github.com/scala/scala/pull/8748, involves aligning the REPL with Spark's needs.

Also, we've already publicized several release candidates at https://contributors.scala-lang.org/t/coming-soon-scala-2-12-11-scala-2-13-2/4003/31 , the current one is merely the latest. Very little has changed in the last 4 weeks, and most of what has changed in these final weeks is in the UI code for the REPL, or in other minor features that don't affect the viability of a release.

Finally, note that the 7-month delay between 2.13.1 and 2.13.2 is an extreme outlier. 2.13.3 is likely to follow in 2–3 months, or even sooner if notable regressions turn up.

Well, who am I to say. Just from my POV: I was waiting for the REPL work to finish, and to see an actual tagged rc under releases. Then I would have reached out to the spark people if that fixes the issues that blocked them from upgrading to 2.13, and figure out what if anything is missing before having them blocked another ~6 months.

The spark ecosystem is lagging extremely in terms of scala versions (for example, the entire cloudera stack up until the most recent version is still on scala 2.11, because spark 3.0 hasn't been released yet, much less made it into a CDH/CDP release). This creates quite an extreme stretch for some libraries in terms of widely used scala versions needing support. It's 10 months since the release of 2.13, and if there are any blockers still left in 2.13.2 as currently planned from the spark side of things, that gap will only continue to widen.

Anyway, just my 2 cents.

@h-vetinari There was a single issue that was known to be blocking Spark from using Scala 2.13.1: https://github.com/scala/bug/issues/11840. I quickly fixed it as soon as I heard about it, and I left a comment giving detailed instructions on how to test a version of Scala with the fix: https://github.com/scala/bug/issues/11840#issuecomment-575944777, since then, there hasn't been any feedback from Spark, so I don't really see what else you were expecting.

Then I would have reached out to the spark people if that fixes the issues that blocked them from upgrading to 2.13, and figure out what if anything is missing before having them blocked another ~6 months.

@SethTisue clarified in his message that 2.13.3 is likely to follow in 2-3 months. Given that Spark 3.0.0 RC1 is in progress[1], I don't think Scala 2.13 support will be available until Spark 3.1.0 in the best case.

[1] http://apache-spark-developers-list.1001551.n3.nabble.com/VOTE-Apache-Spark-3-0-0-RC1-td29151.html

Yes, in fact https://issues.apache.org/jira/browse/SPARK-25075 has been listing 3.1 as target version since November.

JARs are on Maven Central, websites are updated, tweet is tweeted

@smarter: [...] there hasn't been any feedback from Spark, so I don't really see what else you were expecting.

Considering that the spark issue for 2.13 REPL changes hasn't yet seen much action, and considering that the JLine changes came in shortly before the release, there's a non-negligible probability for another blocker, and verifying this would have IMO been beneficial. I had asked about this three weeks ago, and was then planning to ping the spark people once there was a release candidate (not realising that there would be no such tagged release candidate).

But ok, no use over-analysing this further. Let's see how things go.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

adriaanm picture adriaanm  Â·  3Comments

KieranPringle picture KieranPringle  Â·  7Comments

lrytz picture lrytz  Â·  4Comments

lrytz picture lrytz  Â·  7Comments

retronym picture retronym  Â·  5Comments