|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: Announcing Scala.js 0.6.4 |
| 4 | +category: news |
| 5 | +tags: [releases] |
| 6 | +--- |
| 7 | +{% include JB/setup %} |
| 8 | + |
| 9 | +We are excited to announce the release of Scala.js 0.6.4! |
| 10 | + |
| 11 | +This release brings support for Scala 2.11.7 and 2.12.0-M1, as well as a significant part of the Java collections library in `java.util`, thanks to [@andreaTP](https://github.com/andreaTP) and [@nicolasstucki](https://github.com/nicolasstucki). |
| 12 | +It also fixes numerous bugs. |
| 13 | + |
| 14 | +## Getting started |
| 15 | + |
| 16 | +If you are new to Scala.js, head over to |
| 17 | +[the tutorial]({{ BASE_PATH }}/doc/tutorial.html). |
| 18 | + |
| 19 | +## Release notes |
| 20 | + |
| 21 | +For changes in the 0.6.x series compared to 0.5.x, read [the announcement of 0.6.0]({{ BASE_PATH }}/news/2015/02/05/announcing-scalajs-0.6.0/). |
| 22 | + |
| 23 | +As a minor release, 0.6.4 is backward source and binary compatible with previous releases in the 0.6.x series. |
| 24 | +Libraries compiled with earlier versions can be used with 0.6.4 without change. |
| 25 | +However, it is not forward compatible: libraries compiled with 0.6.4 cannot be used by projects using 0.6.{0-3}. |
| 26 | + |
| 27 | +Please report any issues [on GitHub](https://github.com/scala-js/scala-js/issues). |
| 28 | + |
| 29 | +## Improvements |
| 30 | + |
| 31 | +### Java Collections API |
| 32 | + |
| 33 | +Some Scala libraries use the collections of Java in some cases. |
| 34 | +To help port these libraries to Scala.js, a number of collection types have been ported. |
| 35 | +At the moment, the following data structures are supported: |
| 36 | + |
| 37 | +* `List`: `ArrayList`, `LinkedList`, `CopyOnWriteArrayList` |
| 38 | +* `Set`: `HashSet`, `LinkedHashSet`, `ConcurrentSkipListSet` |
| 39 | +* `Map`: `HashMap`, `LinkedHashMap`, `ConcurrentHashMap` |
| 40 | +* `Queue`: `LinkedList`, `ConcurrentLinkedQueue` |
| 41 | + |
| 42 | +as well as the helper classes `Arrays` and `Collections`. |
| 43 | + |
| 44 | +### Running with Rhino also reports linking errors |
| 45 | + |
| 46 | +Until 0.6.3, running with Rhino (the default) would not truly link, and therefore would not report linking errors. |
| 47 | +This caused confusions in several occasions, because code that appeared to work on Rhino refused to link and therefore `fastOptJS` would not work. |
| 48 | +As of 0.6.4, even running with Rhino will report linking errors. |
| 49 | + |
| 50 | +## Bug fixes |
| 51 | + |
| 52 | +Among others, the following bugs have been fixed: |
| 53 | + |
| 54 | +* [#1646](https://github.com/scala-js/scala-js/issues/1646) `Char#isUpper` behavior diverges between Scala.js/Scala-JVM |
| 55 | +* [#1664](https://github.com/scala-js/scala-js/issues/1664) `@JSName(variable)` annotation does not fail on objects and classes |
| 56 | +* [#1671](https://github.com/scala-js/scala-js/issues/1671) `Double.toInt` and `Float.toInt` are broken |
| 57 | +* [#1718](https://github.com/scala-js/scala-js/issues/1718) `Pattern.compile` doesn't validate regex |
| 58 | +* [#1722](https://github.com/scala-js/scala-js/issues/1722) Rhino crash with Scalatest |
| 59 | +* [#1734](https://github.com/scala-js/scala-js/issues/1734) Charset decoding fails with read-only byte buffers |
| 60 | +* [#1743](https://github.com/scala-js/scala-js/issues/1743) `js.Dynamic.literal.applyDynamic("apply")(map.toSeq: _*)` causes optimizer to crash |
| 61 | +* [#1748](https://github.com/scala-js/scala-js/issues/1748) Source root not found for shared project error (`CrossProject` friendlier to Scoverage) |
| 62 | +* [#1759](https://github.com/scala-js/scala-js/issues/1759) `new Int8Array(n).toArray` throws TypeError |
| 63 | +* [#1764](https://github.com/scala-js/scala-js/issues/1764) `BigInteger.modInverse` always throws an exception |
| 64 | +* [#1774](https://github.com/scala-js/scala-js/issues/1774) `ClassCastException`: `org.mozilla.javascript.UniqueTag` running Scala.js project |
| 65 | +* [#1781](https://github.com/scala-js/scala-js/issues/1781) When the optimizer crashes, it is left in an inconsistent state |
| 66 | + |
| 67 | +You can find the full list [on GitHub](https://github.com/scala-js/scala-js/issues?q=is%3Aissue+milestone%3Av0.6.4+is%3Aclosed). |
0 commit comments