diff --git a/_config.yml b/_config.yml index 198012ce..7cf8d986 100644 --- a/_config.yml +++ b/_config.yml @@ -59,6 +59,6 @@ colors: #in hex code if not noted else versions: scalaJS: 1.0.1 scalaJSBinary: 1 - scalaJS06x: 0.6.32 + scalaJS06x: 0.6.33 scalaJS06xBinary: 0.6 scalaJSDOM: 1.0.0 diff --git a/_posts/news/2020-05-13-announcing-scalajs-0.6.33.md b/_posts/news/2020-05-13-announcing-scalajs-0.6.33.md new file mode 100644 index 00000000..d607ccb1 --- /dev/null +++ b/_posts/news/2020-05-13-announcing-scalajs-0.6.33.md @@ -0,0 +1,74 @@ +--- +layout: post +title: Announcing Scala.js 0.6.33 +category: news +tags: [releases] +permalink: /news/2020/05/13/announcing-scalajs-0.6.33/ +--- + + +We are pleased to announce the release of Scala.js 0.6.33! + +This is mostly a bugfix release, including a fix for a bad interaction with React.js' development mode and the `jsdom` JS env. +In addition, we have upgraded to the standard libraries of Scala 2.12.11 and 2.13.2. + +Read on for more details. + + + +## Getting started + +If you are new to Scala.js, head over to +[the tutorial]({{ BASE_PATH }}/tutorial/). + +## Release notes + +If you use `.scala` build files in `project/` and are upgrading from Scala.js 0.6.22 or earlier, do read [the release notes of 0.6.23]({{ BASE_PATH }}/news/2018/05/22/announcing-scalajs-0.6.23/), which contain a source breaking change in that situation. + +If upgrading from Scala.js 0.6.14 or earlier, make sure to read [the release notes of 0.6.15]({{ BASE_PATH }}/news/2017/03/21/announcing-scalajs-0.6.15/), which contain important migration information. + +As a minor release, 0.6.33 is backward binary compatible with previous releases in the 0.6.x series. +Libraries compiled with earlier versions can be used with 0.6.33 without change. +0.6.33 is also forward binary compatible with 0.6.{29-32}, but not with earlier releases: libraries compiled with 0.6.33 cannot be used by projects using 0.6.{0-28}. + +Please report any issues [on GitHub](https://github.com/scala-js/scala-js/issues). + +## New warnings + +In Scala.js 0.6.33, the Scala.js compiler will start reporting warnings when trying to override `equals` and `hashCode` in a JS type (extending `js.Any`). +For example: + +{% highlight scala %} +class A extends js.Object { + override def hashCode(): Int = 1 + override def equals(obj: Any): Boolean = false +} +{% endhighlight %} + +will report the following warnings: + +{% highlight none %} +Test.scala:6: warning: Overriding hashCode in a JS class does not change its hash code. + To silence this warning, change the name of the method and optionally add @JSName("hashCode"). + override def hashCode(): Int = 1 + ^ +Test.scala:7: warning: Overriding equals in a JS class does not change how it is compared. + To silence this warning, change the name of the method and optionally add @JSName("equals"). + override def equals(obj: Any): Boolean = false + ^ +{% endhighlight %} + +Overriding `equals` and `hashCode` never *worked*, in the sense that it would not affect `==` and `##`. +The new warnings make it clear. + +## Bug fixes + +Among others, the following bugs have been fixed in 0.6.33: + +* [#4034](https://github.com/scala-js/scala-js/issues/4034) Incorrect result for `-x` when `x` is `+0.0` +* [#3998](https://github.com/scala-js/scala-js/issues/3998) Self-types in non-native JS traits cause confusing error message +* [#3458](https://github.com/scala-js/scala-js/issues/3458) Bad interactions in `JSDOMNodeJSEnv` error handling with React.js dev mode +* [#3818](https://github.com/scala-js/scala-js/issues/3818) Linking error for `Future.never` from Scala 2.13 +* [#3939](https://github.com/scala-js/scala-js/issues/3939) Compile error on a method with `@JSName("finalize")` in a non-native JS class + +You can find the full list [on GitHub](https://github.com/scala-js/scala-js/issues?q=is%3Aissue+milestone%3Av0.6.33+is%3Aclosed). diff --git a/doc/all-api.md b/doc/all-api.md index 654fae38..bc365e81 100644 --- a/doc/all-api.md +++ b/doc/all-api.md @@ -5,6 +5,17 @@ title: All previous versions of the Scala.js API ## All previous versions of the API +### Scala.js 0.6.33 +* [0.6.33 scalajs-library]({{ site.production_url }}/api/scalajs-library/0.6.33/#scala.scalajs.js.package) +* [0.6.33 scalajs-test-interface]({{ site.production_url }}/api/scalajs-test-interface/0.6.33/) +* [0.6.33 scalajs-stubs]({{ site.production_url }}/api/scalajs-stubs/0.6.33/) +* [0.6.33 scalajs-ir]({{ site.production_url }}/api/scalajs-ir/0.6.33/#org.scalajs.core.ir.package) +* [0.6.33 scalajs-tools]({{ site.production_url }}/api/scalajs-tools/0.6.33/#org.scalajs.core.tools.package) ([Scala.js version]({{ site.production_url }}/api/scalajs-tools-js/0.6.33/#org.scalajs.core.tools.package)) +* [0.6.33 scalajs-js-envs]({{ site.production_url }}/api/scalajs-js-envs/0.6.33/#org.scalajs.jsenv.package) +* [0.6.33 scalajs-js-envs-test-kit]({{ site.production_url }}/api/scalajs-js-envs-test-kit/0.6.33/#org.scalajs.jsenv.test.package) +* [0.6.33 scalajs-test-adapter]({{ site.production_url }}/api/scalajs-sbt-test-adapter/0.6.33/#org.scalajs.testadapter.package) +* [0.6.33 sbt-scalajs]({{ site.production_url }}/api/sbt-scalajs/0.6.33/#org.scalajs.sbtplugin.package) + ### Scala.js 1.0.1 * [1.0.1 scalajs-library]({{ site.production_url }}/api/scalajs-library/1.0.1/scala/scalajs/js/index.html) * [1.0.1 scalajs-test-interface]({{ site.production_url }}/api/scalajs-test-interface/1.0.1/) diff --git a/doc/internals/downloads.md b/doc/internals/downloads.md index 757dea74..0ac4b3b0 100644 --- a/doc/internals/downloads.md +++ b/doc/internals/downloads.md @@ -7,6 +7,16 @@ We strongly recommend using the SBT plugin, as shown in the [bootstrapping skele The CLI distribution requires `scala` and `scalac` (of the right major version) to be on the execution path. Unpack it wherever you like and add the `bin/` folder to your execution path. +#### Scala.js 0.6.33 +* [0.6.33, Scala 2.13 (tgz, 23MB)]({{ site.production_url }}/files/scalajs_2.13-0.6.33.tgz) +* [0.6.33, Scala 2.13 (zip, 23MB)]({{ site.production_url }}/files/scalajs_2.13-0.6.33.zip) +* [0.6.33, Scala 2.12 (tgz, 30MB)]({{ site.production_url }}/files/scalajs_2.12-0.6.33.tgz) +* [0.6.33, Scala 2.12 (zip, 30MB)]({{ site.production_url }}/files/scalajs_2.12-0.6.33.zip) +* [0.6.33, Scala 2.11 (tgz, 36MB)]({{ site.production_url }}/files/scalajs_2.11-0.6.33.tgz) +* [0.6.33, Scala 2.11 (zip, 36MB)]({{ site.production_url }}/files/scalajs_2.11-0.6.33.zip) +* [0.6.33, Scala 2.10 (tgz, 30MB)]({{ site.production_url }}/files/scalajs_2.10-0.6.33.tgz) +* [0.6.33, Scala 2.10 (zip, 30MB)]({{ site.production_url }}/files/scalajs_2.10-0.6.33.zip) + #### Scala.js 1.0.0 * [1.0.0, Scala 2.13 (tgz, 21MB)]({{ site.production_url }}/files/scalajs_2.13-1.0.0.tgz) * [1.0.0, Scala 2.13 (zip, 21MB)]({{ site.production_url }}/files/scalajs_2.13-1.0.0.zip) diff --git a/doc/internals/version-history.md b/doc/internals/version-history.md index ba9c0caa..c87cb3f5 100644 --- a/doc/internals/version-history.md +++ b/doc/internals/version-history.md @@ -5,6 +5,7 @@ title: Version history ## Version history of Scala.js +- [0.6.33](/news/2020/05/13/announcing-scalajs-0.6.33/) - [1.0.1](/news/2020/03/10/announcing-scalajs-1.0.1/) - [1.0.0](/news/2020/02/25/announcing-scalajs-1.0.0/) - [0.6.32](/news/2020/01/24/announcing-scalajs-0.6.32/)