Scala-js: RFC: Discontinuing Scala.js 0.6.x?

Created on 13 May 2020  路  6Comments  路  Source: scala-js/scala-js

What do people think about us discontinuing support for Scala.js 0.6.x? Concretely, I mean freezing the 0.6.x branch (not accepting any more PR targeting it), and declare 0.6.33 as the last 0.6.x release.

This is earlier than I would have dreamed of suggesting this, but the rate of adoption of Scala.js 1.x in the ecosystem of libraries has been extremely fast. Basically all the core libraries support Scala.js 1.x at this point. The last major milestone on that road was scalajs-react, whose version 1.7.0 was released a few days ago with Scala.js 1.x support. Laminar and Slinky have already published for 1.x; Bindings.scala has a Milestone published with 1.x support.

The above means that no one should really be blocked from upgrading to Scala.js 1.x. Therefore, any benefit to be gained from upgrading to a hypothetical 0.6.34 can also be obtained by upgrading to 1.x instead.

In addition, 0.6.x releases have already been further and further apart from each other, with less and less changes in each one, only affecting more and more obscure corner cases. The last interesting bit was js.import in 0.6.29, 8 months ago.

The benefits of discontinuing 0.6.x, for us, would be:

  • Don't wait so long for PR validation (the 1.x CI is much faster than the 0.6.x CI)
  • Don't spend time every few weeks to perform forward merges
  • Get rid of the implicit constraint not to have the JDK implem diverge too much between 0.6.x and 1.x, which would make it more plausible to apply scalafmt at some point, as well as making it easier to progress towards a Scala-lib-free javalib

The benefits for the community would be that we send a strong signal that it's OK to drop support for 0.6.x in the libraries, freeing up all the libraries from the constraints of cross-building, both in terms of build complexity and in CI time.

What do people think?

Most helpful comment

I believe we've waited long enough for this, and the response has been massively positive, so let us make this official: Scala.js 0.6.x is now EOL.

All 6 comments

I agree, the switch has been quick

Strongly agree.

In our case only two libs are still not there on 1.x but they look very close to doing that: enumeratum and play-json

Strongly agreed. We at LearnRaga haven't switched to 1.x yet (due to https://github.com/apollographql/apollo-scalajs), but will do so soon.

Absolutely, onward and upward -- the transition from 0.6 to 1.0 was basically seamless, no need to continue to improve/maintain the past...

I'm still running behind personally (due to a variety of factors), but I agree with the general principle: at this point, focusing development on 1.x makes sense.

I believe we've waited long enough for this, and the response has been massively positive, so let us make this official: Scala.js 0.6.x is now EOL.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

MasseGuillaume picture MasseGuillaume  路  7Comments

uosis picture uosis  路  6Comments

japgolly picture japgolly  路  3Comments

ghik picture ghik  路  5Comments

dispalt picture dispalt  路  7Comments