News

Announcing Scala.js 0.6.17

Jun 4, 2017

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

Announcing Scala.js 0.6.16

Apr 29, 2017

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

Announcing Scala.js 0.6.15

Mar 21, 2017

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

Announcing Scala.js 0.6.14

Dec 21, 2016

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

Announcing Scala.js 0.6.13

Oct 17, 2016

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

Announcing Scala.js 0.6.12

Sep 1, 2016

We are pleased to announce the release of Scala.js 0.6.12!

This release exclusively contains bug fixes, and a few internal changes to support the upcoming Scala 2.12.0-RC1.

Read more