Skip to content

Commit 51839c9

Browse files
committed
Squash: Straight to 1.18.1.
1 parent 941eb3c commit 51839c9

File tree

4 files changed

+28
-20
lines changed

4 files changed

+28
-20
lines changed

_config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ colors: #in hex code if not noted else
6464

6565
### VERSIONS ###
6666
versions:
67-
scalaJS: 1.18.0
67+
scalaJS: 1.18.1
6868
scalaJSBinary: 1
6969
scalaJS06x: 0.6.33
7070
scalaJS06xBinary: 0.6

_posts/news/2025-01-07-announcing-scalajs-1.18.0.md renamed to _posts/news/2025-01-09-announcing-scalajs-1.18.1.md

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
---
22
layout: post
3-
title: Announcing Scala.js 1.18.0
3+
title: Announcing Scala.js 1.18.1
44
category: news
55
tags: [releases]
6-
permalink: /news/2025/01/07/announcing-scalajs-1.18.0/
6+
permalink: /news/2025/01/09/announcing-scalajs-1.18.1/
77
---
88

99

10-
We are pleased to announce the release of Scala.js 1.18.0!
10+
We are pleased to announce the release of Scala.js 1.18.1!
11+
12+
This is technically a hotfix patch release for 1.18.0, which was discovered to be [severely broken](https://github.com/scala-js/scala-js/issues/5107), and was therefore never announced.
13+
These release notes therefore present it as a "minor release" compared to 1.17.0.
1114

1215
This release drops support for Scala 2.12.{2-5} and 2.13.{0-2}.
1316
Other than that, it is mostly a bugfix release.
1417

15-
This release also contains a number of internal changes to the intermediate representation and linker.
18+
It also contains a number of internal changes to the intermediate representation and linker.
1619
These are not externally visible, except for users who directly manipulate the IR and/or linker.
1720
They pave the way for upcoming changes that are still ongoing work.
1821

@@ -32,20 +35,23 @@ Bug reports can be filed [on GitHub](https://github.com/scala-js/scala-js/issues
3235

3336
If upgrading from Scala.js 0.6.x, make sure to read [the release notes of Scala.js 1.0.0]({{ BASE_PATH }}/news/2020/02/25/announcing-scalajs-1.0.0/) first, as they contain a host of important information, including breaking changes.
3437

35-
This is a **minor** release:
38+
This is a **minor** release, compared to 1.17.0:
3639

3740
* It is backward binary compatible with all earlier versions in the 1.x series: libraries compiled with 1.0.x through 1.17.x can be used with 1.18.0 without change.
3841
* It is *not* forward binary compatible with 1.17.x: libraries compiled with 1.18.0 cannot be used with 1.17.x or earlier.
3942
* It is *not* entirely backward source compatible: it is not guaranteed that a codebase will compile *as is* when upgrading from 1.17.x (in particular in the presence of `-Xfatal-warnings`).
4043

44+
Technically 1.18.1 is a patch release with respect to 1.18.0.
45+
Our usual patch version guarantees do apply, despite the retraction of 1.18.0.
46+
4147
As a reminder, libraries compiled with 0.6.x cannot be used with Scala.js 1.x; they must be republished with 1.x first.
4248

4349
## Changes with compatibility concerns
4450

4551
### Enforce stricter rules on the use of `this` in the IR of constructors
4652

4753
Exceptionally, **this is theoretically a binary-breaking change**.
48-
It is possible for previously valid IR (Intermediate Representation, as published in binaries on Maven Central) to be rejected by Scala.js 1.18.0.
54+
It is possible for previously valid IR (Intermediate Representation, as published in binaries on Maven Central) to be rejected by Scala.js 1.18.x.
4955

5056
We now enforce, during IR checking (by default, only enabled in `fullLink` builds), that constructors abide by stricter rules.
5157
Before calling their `super` constructor (or delegate `this()` constructor), they may not refer to the `this` instance.
@@ -79,7 +85,7 @@ If your application depends on a library that contained such a code shape, you m
7985
[error] There were 1 ClassDef checking errors.
8086
{% endhighlight %}
8187

82-
If that is the case, the library needs to be recompiled with Scala.js 1.18.0 or later to be usable again.
88+
If that is the case, the library needs to be recompiled with Scala.js 1.18.x or later to be usable again.
8389
Make sure to [tell us on the relevant PR](https://github.com/scala-js/scala-js/pull/5019) if that happens.
8490

8591
In order to mitigate the impact of this change, we conducted an audit of (the latest version of) all Scala.js libraries published to Maven Central.
@@ -96,7 +102,7 @@ However that will start causing real issues once we leverage the new restriction
96102

97103
### Drop support for Scala 2.12.2 to 2.12.5 and 2.13.0 to 2.13.2
98104

99-
In order to reduce our maintenance burden and ease further development, Scala.js 1.18.0 drops support for Scala 2.12.2 to 2.12.5 and 2.13.0 to 2.13.2.
105+
In order to reduce our maintenance burden and ease further development, Scala.js 1.18.1 drops support for Scala 2.12.2 to 2.12.5 and 2.13.0 to 2.13.2.
100106
Scala 2.12.6+ and 2.13.3+ are still supported.
101107

102108
We still had a number of dedicated code paths, special cases and exceptions for these versions in our codebase.
@@ -155,8 +161,9 @@ This release adds shell definitions for the following JDK 21 interfaces, but wit
155161

156162
## Bug fixes
157163

158-
Among others, the following bugs have been fixed in 1.18.0:
164+
Among others, the following bugs have been fixed since 1.17.0:
159165

166+
* [#5107](https://github.com/scala-js/scala-js/issues/5107) IR checking error for IR coming from Scala.js < 1.11 through deserialization hack
160167
* [#5085](https://github.com/scala-js/scala-js/issues/5085) `java.math.BigDecimal.valueOf(0, 9).stripTrailingZeros.scale` returns 9 instead of 0.
161168
* [#5069](https://github.com/scala-js/scala-js/issues/5069) Linking errors with `java.util.SequencedCollection` on JDK 21+ (considered a bug because they surfaced even in code that did not mention that new interface).
162169
* [#5048](https://github.com/scala-js/scala-js/issues/5048) Wasm backend fails when no modules are defined.

doc/all-api.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ title: All previous versions of the Scala.js API
55

66
## All previous versions of the API
77

8-
### Scala.js 1.18.0
9-
* [1.18.0 scalajs-library]({{ site.production_url }}/api/scalajs-library/1.18.0/scala/scalajs/js/index.html)
10-
* [1.18.0 scalajs-test-interface]({{ site.production_url }}/api/scalajs-test-interface/1.18.0/)
11-
* [1.18.0 scalajs-javalib-intf]({{ site.production_url }}/api/scalajs-javalib-intf/1.18.0/)
12-
* [1.18.0 scalajs-ir]({{ site.production_url }}/api/scalajs-ir/1.18.0/org/scalajs/ir/index.html)
13-
* [1.18.0 scalajs-linker-interface]({{ site.production_url }}/api/scalajs-linker-interface/1.18.0/org/scalajs/linker/interface/index.html) ([Scala.js version]({{ site.production_url }}/api/scalajs-linker-interface-js/1.18.0/org/scalajs/linker/interface/index.html))
14-
* [1.18.0 scalajs-linker]({{ site.production_url }}/api/scalajs-linker/1.18.0/org/scalajs/linker/index.html) ([Scala.js version]({{ site.production_url }}/api/scalajs-linker-js/1.18.0/org/scalajs/linker/index.html))
15-
* [1.18.0 scalajs-test-adapter]({{ site.production_url }}/api/scalajs-sbt-test-adapter/1.18.0/org/scalajs/testing/adapter/index.html)
16-
* [1.18.0 sbt-scalajs]({{ site.production_url }}/api/sbt-scalajs/1.18.0/#org.scalajs.sbtplugin.package)
8+
### Scala.js 1.18.1
9+
* [1.18.1 scalajs-library]({{ site.production_url }}/api/scalajs-library/1.18.1/scala/scalajs/js/index.html)
10+
* [1.18.1 scalajs-test-interface]({{ site.production_url }}/api/scalajs-test-interface/1.18.1/)
11+
* [1.18.1 scalajs-javalib-intf]({{ site.production_url }}/api/scalajs-javalib-intf/1.18.1/)
12+
* [1.18.1 scalajs-ir]({{ site.production_url }}/api/scalajs-ir/1.18.1/org/scalajs/ir/index.html)
13+
* [1.18.1 scalajs-linker-interface]({{ site.production_url }}/api/scalajs-linker-interface/1.18.1/org/scalajs/linker/interface/index.html) ([Scala.js version]({{ site.production_url }}/api/scalajs-linker-interface-js/1.18.1/org/scalajs/linker/interface/index.html))
14+
* [1.18.1 scalajs-linker]({{ site.production_url }}/api/scalajs-linker/1.18.1/org/scalajs/linker/index.html) ([Scala.js version]({{ site.production_url }}/api/scalajs-linker-js/1.18.1/org/scalajs/linker/index.html))
15+
* [1.18.1 scalajs-test-adapter]({{ site.production_url }}/api/scalajs-sbt-test-adapter/1.18.1/org/scalajs/testing/adapter/index.html)
16+
* [1.18.1 sbt-scalajs]({{ site.production_url }}/api/sbt-scalajs/1.18.1/#org.scalajs.sbtplugin.package)
1717

1818
### Scala.js 1.17.0
1919
* [1.17.0 scalajs-library]({{ site.production_url }}/api/scalajs-library/1.17.0/scala/scalajs/js/index.html)

doc/internals/version-history.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ title: Version history
55

66
## Version history of Scala.js
77

8-
- [1.18.0](/news/2025/01/07/announcing-scalajs-1.18.0/)
8+
- [1.18.1](/news/2025/01/09/announcing-scalajs-1.18.1/)
9+
- ~~1.18.0~~ ([severely broken](https://github.com/scala-js/scala-js/issues/5107) and therefore never announced)
910
- [1.17.0](/news/2024/09/28/announcing-scalajs-1.17.0/)
1011
- [1.16.0](/news/2024/03/19/announcing-scalajs-1.16.0/)
1112
- [1.15.0](/news/2023/12/29/announcing-scalajs-1.15.0/)

0 commit comments

Comments
 (0)