We are very excited to announce the first milestone of Scala.js 1.0.0, aka 1.0.0-M1!
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.
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 first milestone.
Read more
We are pleased to announce the release of Scala.js 0.6.18!
This release is mostly a bug-fix release, but it also brings one new feature: the ability to recognize “standard” main
methods (with args: Array[String]
) in addition to js.JSApp
objects.
Read on for more details.
Read more
We are excited to announce the release of Scala.js 0.6.17!
This release is mostly a bug-fix release, but it also brings a few new features.
One bug fix which we would like to highlight is #2943/#2827.
The optimizer exposed a quadratic behavior which meant insanely long times of fastOptJS
on some codebases, which we have now fixed.
This was particularly true in test suites using ScalaTest.
The main new feature of this release is the ability for facade libraries to support both the traditional NoModule
style, where JS libraries are exposed as global variables and accessed through @JSGlobal
, and the CommonJSModule
style, where JS libraries are imported through @JSImport
.
Read on for more details.
Read more
We are excited to announce the release of Scala.js 0.6.16!
This release is mostly a bug-fix release.
It also adds support for jsdom v10.x (which contains breaking changes wrt. jsdom v9.x) and Scala 2.13.0-M1.
Read on for more details.
Read more
We are excited to announce the release of Scala.js 0.6.15!
This release was focused on preparations for Scala.js 1.0.0.
It notably contains better replacements for some features that we were not 100% happy with, which are now deprecated and will be dropped in 1.0.0.
Thanks to @olafurpg and his great tool scalafix, you can automatically migrate your codebase for the first and most intrusive of those deprecations.
See below for details.
Scala.js 0.6.15 also comes with a set of exciting new features, including several awesome JavaScript interoperability features:
- Use
@JSExportStatic
to define static members on Scala.js-defined JS classes.
@JSExportTopLevel
is not restricted to methods anymore: it can be used on fields and top-level classes/objects.
- The standard library now contains the API for ECMAScript 2015 symbols (as
js.Symbol
) and iterables/iterators (as js.Iterable
and js.Iterator
).
- In JS types (both native and non-native),
@JSName
can be given a reference to a js.Symbol
(instead of a constant string) to declare members whose “name” is a JavaScript symbol.
Finally, the sbt plugin also features a replacement for the “launcher” files, so that the call to the main method of your program can be included directly inside the main -fastopt.js
.
Read on for more details.
Read more
We are excited to announce the release of Scala.js 0.6.14!
This release features a few language enhancements for interoperability.
Among others, it allows to export top-level functions, and provides language support for JavaScript “configuration objects”.
Read more