Announcing Scala.js 0.5.2

Jul 9, 2014.

We are excited to announce the release of Scala.js 0.5.2!

Scala.js 0.5.2 is backward binary compatible with older versions of the 0.5.x branch. However, it is not forward binary compatible. This means:

  • You don’t need to re-publish libraries
  • You must upgrade to Scala.js 0.5.2 if any library you depend on uses Scala.js 0.5.2

If you choose to re-publish a library, make sure to bump its version.

Please report any issues on GitHub.

Improvements in the 0.5.2 release

For changes introduced in 0.5.0, how to upgrade, getting started etc. have a look at the 0.5.0 announcement (and maybe the 0.5.1 announcement).

TypedArrays

The new package scala.scalajs.js.typedarray contains facade types for JavaScript TypedArrays. It introduces compiler support to convert scala.Arrays to their TypedArray equivalent and vice versa.

Note that TypedArrays are not part of the ECMAScript 5 specification. You need to make sure your target platform supports TypedArrays in addition to ECMAScript 5, if you decide to use them. Scala.js’ TypedArray test suite covers the full typed API and should be sufficient to verify whether a given JavaScript runtime supports TypedArrays.

Bugfixes

The following bugs have been fixed in 0.5.2:

  • #789 fastOptStage::run fails with Node.js
  • #791 Default arguments in the constructor of facade classes fail if the companion object doesn’t extend js.Any
  • #796 Extending js.Any directly gives strange error messages

Changes to the IR

Some minor changes have been made to the IR to better accommodate the incremental optimizer in the pipeline for 0.5.3. This is the reason for the lack of forward binary compatibility.