Announce: sbt 0.13.17

Lightbend Tooling team is happy to announce sbt 0.13.17. sbt 0.13.17 is a maintenance release from 0.13 branch.

Here are the additions since sbt 0.13.16:

This release is intended to be binary and source compatible with 0.13.x. It is possible to use the existing 0.13.x or 1.x launcher with this release by settings project/build.properties as follows:

sbt.version=0.13.17

Special thanks to the contributors for making this release a success.

I’ll repeat what I said on Twitter: for Scala.js users on Java 9, this new sbt version will make fastOptJS parallel again, including with existing Scala.js versions.

Yup, sbt-scalajs from the past was so smart that it now knows to re-enable the parallel linker when run with an sbt that better supports Java 9 :sunglasses:

3 Likes

It sounds too good to be true

Scala.js often has that effect :innocent:

I didn’t see it on Twitter. Is there more information about it somewhere? I’m curious what is parallelized and what changed to enable it.

It’s the optimizer. It detects what needs to be reoptimized in parallel, then does those optimizations in parallel.

It wasn’t on Twitter because it’s been parallel since forever. Literally since the optimizer was added in Scala.js in 0.5.3. Yes, 0.five.3.

It was broken on JDK 9 because the parallel collections crashed on that version, so Scala.js deactivated its parallelism on JDK 9 to avoid the crash. Scala 2.10.7 fixed that, which was picked up by sbt 0.13.17, and Scala.js automatically reenabled its parallelism. See also https://github.com/scala-js/scala-js/issues/2798
It was always working on JDK 8, so nothing’s actually changed on that version.

Okay I misunderstood a few things. Thanks for clarifying.