News

Announcing Scala.js 0.6.9

Apr 30, 2016

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

This release was mostly focused on ironing out the support of Scala 2.12.0-M4 and the upcoming M5. All users of 2.12.0-M4 are highly encouraged to upgrade to Scala.js 0.6.9. The release also contains a few bug fixes, as well as the following improvements:

  • #2009 No own class for anonymous Scala.js-defined JS classes (see below)
  • #2350 A read-only sbt setting isScalaJSProject which is true iff the current project is a Scala.js project

Read more

Announcing Scala.js 0.6.8

Mar 18, 2016

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

This release is mostly a bugfix release. The most important changes are:

  • Fixed #2243: -jsdeps.min.js not produced anymore after upgrading from 0.6.5 to 0.6.6 and 0.6.7
  • Upgrade the implementation of the standard library to Scala 2.11.8
  • #2238 Drop support for ES6 Strong Mode

This release also contains important although invisible changes to prepare for Scala 2.12.0-M4, which will start using default methods to encode traits. This required substantial changes in Scala.js. Although most of the work was done in earlier releases of Scala.js, 0.6.8 is the first version that should be able to support Scala 2.12.0-M4.

Read more

Announcing Scala.js 0.6.7

Feb 12, 2016

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

This release is almost exclusively a bugfix release, after some critical regressions regarding the sbt plugin in Scala.js 0.6.6. In particular, it fixes:

  • #2195 Source maps to the Scala standard library are broken
  • #2198 “Illegal classpath entry: " after upgrading from 0.6.5 to 0.6.6
  • #2202 and #2219 NullPointerException or AssertionError while linking in client/server projects
  • #2222 Huge performance regression of the optimizer

Besides bug fixes, this release brings a few improvements:

  • js.Promise and its conversions to/from Future
  • Proper stack traces for Throwables in Node.js
  • Support for Scala cross-version source directories in shared/

Read more

Announcing Scala.js 0.6.6

Jan 25, 2016

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

It has been a long while since the last release, almost 5 months already. That was too long, and we apologize. In the future, we hope never to let more than 2 months elapse between consecutive releases.

Besides bug fixes, this release brings several major improvements:

  • js.TupleN, a JS equivalent of Scala tuples
  • Support for JUnit
  • Better support of constructors of @ScalaJSDefined classes: they can now have overloads, default parameters and varargs
  • A completely redesigned internal API for the linker, whose main visible impact should be reduced memory usage and improved speed
  • js.ConstructorTag[C], a ClassTag equivalent to js.constructorOf[C]

Read more

A new website for Scala.js

Nov 23, 2015

After a couple months of design, content writing, and a lot of discussions, we are pleased to finally release our new website for Scala.js! Most if not all of the credit for this huge task goes to Otto Chrons. Big round of thanks to him!

Go and see the front page!

This new website is structured and designed specifically for front-end developers, highlighting the benefits of Scala.js over JavaScript itself, but also ECMAScript 6 or other languages targeting JavaScript, such as TypeScript.

We hope you will like it. Come and tell us in the Scala.js Gitter chat room! We would love to hear your feedback.

Read more

Announcing Scala.js 0.6.5

Aug 31, 2015

We are thrilled to announce the release of Scala.js 0.6.5!

This is probably the most important release since Scala.js 0.5.0! It brings significant advances to interoperability with JavaScript:

  • You can now implement subclasses of JavaScript classes and traits in Scala.js!
  • Using the same semantics, you can now define object literals with new js.Object { val x = 5 }
  • There is a new unboxed pseudo-union type A | B to more accurately type your JavaScript facades
  • You can statically typecheck that the @JSExports of a Scala class comply with a JavaScript facade trait with js.use(x).as[T]

Read more