Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
74 changes: 74 additions & 0 deletions _posts/news/2020-05-13-announcing-scalajs-0.6.33.md
Original file line number Diff line number Diff line change
@@ -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.

<!--more-->

## 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).
11 changes: 11 additions & 0 deletions doc/all-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
Expand Down
10 changes: 10 additions & 0 deletions doc/internals/downloads.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
1 change: 1 addition & 0 deletions doc/internals/version-history.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
Expand Down