Apr 15, 2019
We are very excited to announce the release of Scala.js 1.0.0-M7!
This development release is mostly intended for testing purposes, and as a synchronization point with library authors so that they can start upgrading in preparation for the final release.
As the change in “major” version number witnesses, this release is not binary compatible with 0.6.x, nor with the previous milestones of the 1.x series.
Libraries need to be recompiled and republished using this milestone to be compatible.
Moreover, this release is not entirely source compatible with 0.6.x either.
We expect, however, that further milestones for 1.0.0 will stay backward source compatible with this milestone.
These release notes contain cumulative changes with respect to 0.6.27.
Compared to 1.0.0-M6, the following changes are noteworthy:
- Add support for Scala 2.13.0-RC1
- Overall bring up-to-date with improvements and bug fixes available in 0.6.27, notably support for ECMAScript modules
- Namespaced top-level exports are no longer supported (they were deprecated in 0.6.26)
- Integer division by 0 (or
0L
) now, by spec, reliably throws an ArithmeticException
, following the JVM behavior
- The sbt task
jsExecutionFiles
has been replaced with a jsEnvInput
which encodes not only the set of files, but also their module kind and hence how they should be loaded by JS environments
- With the default module kind
NoModule
, top-level exports are now exposed to JavaScript as top-level var
s, rather than assigned as properties of the global object
- The Google Closure Compiler has been upgraded to v20181210, and is now also used with ECMAScript 2015 features
- Support for the magic global variable
__ScalaJSEnv
has been removed, with the following consequences:
System.exit()
is no longer supported
- Java system properties, while they are still supported per se and filled with essential properties, are no longer populated with the contents of
__ScalaJSEnv.javaSystemProperties
- For authors of
JSEnv
s: the test kit configuration option withTerminateVMJSCode
, which had beend replaced by withSupportsExit
in 1.0.0-M6, is coming back under the name withExitJSStatement
- The linker API has been refactored to be asynchronous in nature
We would also like to remind readers of the following important change that happened in 1.0.0-M5:
- Drop compatibility with sbt-crossproject v0.4.x and earlier (v0.5.0 or later is required)
Read more
Apr 8, 2019
We are pleased to announce the release of Scala.js 0.6.27!
The highlight of this release is the support for Scala 2.13.0-RC1.
It also fixes a few issues, and introduces a way to limit the number of concurrent linking operations in the sbt plugin.
Read on for more details.
Read more
Nov 29, 2018
We are pleased to announce the release of Scala.js 0.6.26!
The highlight of this release is the support for ECMAScript modules.
It also fixes a few issues.
Starting from 0.6.26 in the 0.6.x branch, Scala.js has been relicensed under the Apache License 2.0, following the corresponding relicensing of Scala upstream.
Scala.js 1.x milestones have also been relicensed since version 1.0.0-M6.
Read on for more details.
Read more
Oct 24, 2018
We are very excited to announce the release of Scala.js 1.0.0-M6!
This development release is mostly intended for testing purposes, and as a synchronization point with library authors so that they can start upgrading in preparation for the final release.
As the change in “major” version number witnesses, this release is not binary compatible with 0.6.x, nor with the previous milestones of the 1.x series.
Libraries need to be recompiled and republished using this milestone to be compatible.
Moreover, this release is not entirely source compatible with 0.6.x either.
We expect, however, that further milestones for 1.0.0 will stay backward source compatible with this milestone.
These release notes contain cumulative changes with respect to 0.6.25.
Compared to 1.0.0-M5, the following changes are noteworthy:
- Scala.js has been relicensed under the Apache License 2.0, following the corresponding relicensing of Scala upstream
- Add support for Scala 2.12.7 and 2.13.0-M5
- Overall bring up-to-date with improvements and bug fixes available in 0.6.25
- The
scalajs-stubs
artifact has been moved to its own repository, with its own versioning scheme; its latest release is 1.0.0-RC1
org.scalajs.testinterface.TestUtils
was removed (it was deprecated in 0.6.25); use scala.scalajs.reflect.Reflect
or portable-scala-reflect instead
- The package name for the
TestAdapter
has been renamed from org.scalajs.testadapter
to org.scalajs.testing.adapter
, which affects test integrators such as build tools
- For authors of
JSEnv
s: the test kit configuration option withTerminateVMJSCode
was replaced by withSupportsExit
#3413
We would also like to remind readers of the following important change that happened in 1.0.0-M5:
- Drop compatibility with sbt-crossproject v0.4.x and earlier (v0.5.0 or later is required)
Read more
Sep 3, 2018
We are pleased to announce the release of Scala.js 0.6.25!
This release brings support for Scala 2.13.0-M5, as well as jsdom v12.x.
It also fixes a number of issues.
Read on for more details.
Read more
Aug 13, 2018
We are very excited to announce the release of Scala.js 1.0.0-M5! (there is no 1.0.0-M4)
This development release is mostly intended for testing purposes, and as a synchronization point with library authors so that they can start upgrading in preparation for the final release.
As the change in “major” version number witnesses, this release is not binary compatible with 0.6.x, nor with the previous milestones of the 1.x series.
Libraries need to be recompiled and republished using this milestone to be compatible.
Moreover, this release is not entirely source compatible with 0.6.x either.
We expect, however, that further milestones for 1.0.0 will stay backward source compatible with this milestone.
These release notes contain cumulative changes with respect to 0.6.24.
Compared to 1.0.0-M3, the following changes are noteworthy:
- Add support for Scala 2.13.0-M4 and its new collections
- Overall bring up-to-date with improvements and bug fixes available in 0.6.24
- Drop compatibility with sbt-crossproject v0.4.x and earlier (v0.5.0 or later is required)
java.lang.Throwable
now properly extends JavaScript’s Error
class (providing better stack traces in ECMAScript 2015 mode)
- #3295 The sbt plugin does not automatically set up Java system properties from
-D
flags in javaOptions
anymore
- Overhaul of the linker API and the JS env API
Read more