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
We are excited to announce the release of Scala.js 0.6.13!
This release contains one particularly anticipated feature: the ability to generate CommonJS modules with Scala.js!
It also standardizes on Node.js as the default runner for all sbt projects (with sbt run
and sbt test
), which constitutes a breaking change for builds.
Read on for more details!
Read more