2.13.0-RC1 timing: January 2019

@SethTisue Thank you for organizing the Scala community toward Scala 2.13.0-RC1. I’m really impressed with the number of Scala 2.13.0-RC1-ready libraries, including ScalaTest, scala-xml, etc.

Releasing Airframe for Scala 2.13.0-RC1 https://wvlet.org/airframe/docs/release-notes.html#1941 was quite smooth compared to the work for the past milestone releases.

2 Likes

shapeless 2.3.3 is now available too.

1 Like

now available: specs2, kind-projector, discipline, machinist, jsoniter-scala, scalaz

still pending: scala-collection-compat, genjavadoc

full list: https://github.com/scala/make-release-notes/blob/2.13.x/projects-2.13.md

We’ll announce the release more broadly once scala-collection-compat crosses the finish line.

the release is announced:

1 Like

macro-compat 1.1.1 also available.

2 Likes

com.lihaoyi:utest v0.6.7 is out with support for 2.13.0-RC1

1 Like

Published 2.13.0-RC1 builds for:
org.scodec::scodec-bits:1.1.10
com.github.mpilquist::simulacrum:0.16.0

1 Like

The question has come up of what is or isn’t mergeable onto 2.13.x at present.

The answer is: it isn’t clear yet whether we will need an RC2 or not. In the meantime, we are merging a small number of PRs onto 2.13.x on the RC2 milestone. If there is an RC2, these PRs will go in. If not, they will be pushed to 2.13.1.

Until 2.13.0 is out, no PRs should be merged onto 2.13.x without signoff from Adriaan. (Tests, spec changes, and doc changes don’t count.)

ScalaTags, which is a dependency of Binding.scala, is not built for 2.13.0-RC1

I don’t see how shipping 2.13.0 with known bugs for which there is a fix could possibly be better than fixing those bugs but not having another RC.

I understand the concern about including stuff that hasn’t been extensively tested and therefore wanting an RC2 for anything important. I just don’t understand a “We fixed some problems but you can’t have the fixes” stance.

(For PRs that aren’t bugs–performance enhancements, for instance–then I do understand.)

4 Likes

The benefit of last-minute bug fixes (addressing bugs of known severity) has to be weighed against the risk of those same fixes causing unintended last-minute regressions (of completely unknown severity).

There are RC2 bugs and PRs now:

It’s still unclear whether an actual RC2 will be needed, time will tell. (Nothing reported yet is definitely significant enough to block important libraries from publishing or to block the 2.13 community build from progressing. But some bugs are still under investigation.)

On the library publishing front, https://github.com/scala/make-release-notes/blob/2.13.x/projects-2.13.md is looking pretty good.

The main things we’re still missing are:

  • scala-java8-compat shims for cross-compiling
  • Akka
  • Cats

Work is in progress on all of these.

1 Like

A week ago we released scala-collection-compat 1.0.0 for easier cross-building of collections code on 2.11/2.12 and 2.13. It was supposed to be binary compatible but due to https://github.com/scala/scala-collection-compat/issues/195 we have to break binary compatibility already. The new version will be called 2.0.0 to comply with the formal rules set out for binary compatibility but it doesn’t change the fundamental problem: You cannot use a library that needs 1.0.0 together with one that needs 2.x.

Please do not release any non-milestone/snapshot artifacts against version 1.0.0 and let us know if you have already done so. If this is a common problem we may have to find a different solution (either using a new package + artifact name or not fixing the bug that requires breaking binary compatibility).

All three projects have now published.

make-release-notes/projects-2.13.md at 2.13.x · scala/make-release-notes · GitHub is looking healthy overall; lots of projects have published, some significant things are still pending.

There will definitely be an RC2, hopefully in a matter of days.

…which should still leave enough time to publish 2.13.0 final before Scala Days — knock on wood!

RC2 thread: Scala 2.13.0-RC2 release