Announcing Scala.js 0.6.10
Jun 17, 2016.
We are pleased to announce the release of Scala.js 0.6.10!
This release is mostly a bug-fix release. It also contains further adaptations to support the upcoming Scala 2.12.0-M5.
The most important improvement is that the sbt plugin can now generate HTML pages to run your test suites in browsers (with any testing framework), so that you can use your browser’s debugger to step through your tests.
Getting started
If you are new to Scala.js, head over to the tutorial.
Release notes
If upgrading from 0.6.5 or earlier, please also read the release notes of 0.6.6, which contains some breaking changes.
As a minor release, 0.6.10 is backward source and binary compatible with previous releases in the 0.6.x series. Libraries compiled with earlier versions can be used with 0.6.10 without change. 0.6.10 is also forward binary compatible with 0.6.8 and 0.6.9, but not with earlier releases: libraries compiled with 0.6.10 cannot be used by projects using 0.6.{0-7}.
Please report any issues on GitHub.
HTML test runners
You already know that you can use the test
task of sbt to run your unit tests in Rhino, Node.js, PhantomJS or even Selenium.
All these runners however lack friendly, graphical debbugers.
In Scala.js 0.6.10, we have enhanced the sbt plugin with two new tasks testHtmlFastOpt
and testHtmlFullOpt
.
These tasks generate an HTML file which, when opened in a web browser, will run your test suite within the browser.
From there, you can use your browser’s debugger.
Bug fixes
Among others, the following bugs have been fixed:
- #2314 Infinite loop in
BigDecimal.isValidLong
(again) - #2376 PhantomJSEnv does not properly escape JS code in webpage (duplicate #2279, #2322)
- #2368 RhinoJSEnv does not support setTimeout without second argument
- #2333 The JUnit runner does not report failures as events, causing
sbt test
to erroneously succeed - #2392 java.util.Date should have method getTimezoneOffset
- #2400 java.util.Arrays.sort is not stable
- #2401 Allow native objects in package objects without @JSName
- A number of discrepancies with the way our implementation of JUnit was logging its output wrt. the JVM reference
You can find the full list on GitHub.