Skip to content

Releases: scala-js/scala-js-dom

v2.8.0

28 Sep 01:09
aa82b8f
Compare
Choose a tag to compare

scala-js-dom v2.8.0 is the ninth release in the 2.x series. It is binary-compatible with previous 2.x releases, although there are minor source-breaking changes, and is published for Scala 2.11, 2.12, 2.13, and 3.1+ with Scala.js 1.7+.

If you are upgrading from scala-js-dom 1.x, please find the migration guide in #627. ⚠️ Make sure to remove CrossVersion.for3Use2_13 from your build. ⚠️

What's Changed

New Contributors

Full Changelog: v2.7.0...v2.8.0

v2.7.0

19 Sep 12:44
5520533
Compare
Choose a tag to compare

scala-js-dom v2.7.0 is the eighth release in the 2.x series. It is binary-compatible with previous 2.x releases, although there are minor source-breaking changes, and is published for Scala 2.11, 2.12, 2.13, and 3.1+ with Scala.js 1.7+.

If you are upgrading from scala-js-dom 1.x, please find the migration guide in #627. ⚠️ Make sure to remove CrossVersion.for3Use2_13 from your build. ⚠️

Thank you to the many new contributors to this release, we appreciate your efforts!

What's Changed

New Contributors

Full Changelog: v2.6.0...v2.7.0

v2.6.0

18 May 18:06
3aa2f9b
Compare
Choose a tag to compare

scala-js-dom v2.6.0 is the seventh release in the 2.x series. It is binary-compatible with previous 2.x releases, although there are minor source-breaking changes, and is published for Scala 2.11, 2.12, 2.13, and 3.1+ with Scala.js 1.7+.

If you are upgrading from scala-js-dom 1.x, please find the migration guide in #627. ⚠️ Make sure to remove CrossVersion.for3Use2_13 from your build. ⚠️

This release fixes a regression introduced in v2.5.0. We apologize for the inconvenience.

What's Changed

Full Changelog: v2.5.0...v2.6.0

v2.5.0

12 May 15:09
77d8fd3
Compare
Choose a tag to compare

scala-js-dom v2.5.0 is the sixth release in the 2.x series. It is binary-compatible with previous 2.x releases, although there are minor source-breaking changes, and is published for Scala 2.11, 2.12, 2.13, and 3.1+ with Scala.js 1.7+.

If you are upgrading from scala-js-dom 1.x, please find the migration guide in #627. ⚠️ Make sure to remove CrossVersion.for3Use2_13 from your build. ⚠️

What's Changed

New Contributors

Full Changelog: v2.4.0...v2.5.0

v2.4.0

16 Feb 01:57
4ee8bbc
Compare
Choose a tag to compare

scala-js-dom v2.4.0 is the fifth release in the 2.x series. It is binary-compatible with previous 2.x releases, although there are minor source-breaking changes, and is published for Scala 2.11, 2.12, 2.13, and 3.1+ with Scala.js 1.7+.

If you are upgrading from scala-js-dom 1.x, please find the migration guide in #627. ⚠️ Make sure to remove CrossVersion.for3Use2_13 from your build. ⚠️

In other news: we are happy to welcome @zetashift to the maintainer team!

User-facing PRs

New Contributors

Thank you wonderful contributors, new and returning!

Full Changelog: v2.3.0...v2.4.0

v2.3.0

31 Aug 03:42
b736c66
Compare
Choose a tag to compare

scala-js-dom v2.3.0 is the fourth release in the 2.x series. It is binary-compatible with previous 2.x releases, although there are minor source-breaking changes, and is published for Scala 2.11, 2.12, 2.13, and 3.1+ with Scala.js 1.7+.

If you are upgrading from scala-js-dom 1.x, please find the migration guide in #627. ⚠️ Make sure to remove CrossVersion.for3Use2_13 from your build. ⚠️

User-facing PRs

New Contributors

Thank you wonderful contributors!

Full Changelog: v2.2.0...v2.3.0

v2.2.0

13 May 05:09
8d9ae46
Compare
Choose a tag to compare

scala-js-dom v2.2.0 is the third release in the 2.x series. It is fully binary-compatible with v2.0.0 and v2.1.0, although there are minor source-breaking changes, and is published for Scala 2.11, 2.12, 2.13, and 3.0+ with Scala.js 1.5+.

If you are upgrading from scala-js-dom 1.x, please find the migration guide in #627. ⚠️ Make sure to remove CrossVersion.for3Use2_13 from your build. ⚠️

User-facing PRs

New Contributors

Thank you wonderful contributors!

Full Changelog: v2.1.0...v2.2.0

v2.1.0

31 Dec 05:42
37da9a6
Compare
Choose a tag to compare

scala-js-dom v2.1.0 is the second release in the 2.x series. It is fully binary-compatible with v2.0.0, although there are minor source-breaking changes, and is published for Scala 2.11, 2.12, 2.13, and 3.0+ with Scala.js 1.5+.

If you are upgrading from scala-js-dom 1.x, please find the migration guide in #627. ⚠️ Make sure to remove CrossVersion.for3Use2_13 from your build. ⚠️

User-facing PRs

New Contributors

Thank you both!

Full Changelog: v2.0.0...v2.1.0

v2.0.0

21 Oct 06:42
a96c76d
Compare
Choose a tag to compare

scala-js-dom v2.0.0 is the first release in the 2.x series. It is published for Scala 2.11, 2.12, 2.13, and 3.0+ with Scala.js 1.5+. Note that it breaks binary-compatibility with the 1.x series.

!! IMPORTANT: Remove CrossVersion.for3Use2_13 !!

As scala-js-dom v2.x publishes a Scala 3 artifact, this setting is no longer necessary. Failing to remove this from your build.sbt will cause your library to become binary-incompatible with other libraries correctly depending on scala-js-dom v2.x.

Migration guide

Update: for the latest migration guide with additional notes/hints from the community see #627.

scala-js-dom v2.0.0 is source-compatible to a great extent with v1.2.0, besides some corrections to facades and many new deprecation warnings. While testing the RC, we were able to upgrade several projects without making any changes!

To address the deprecation warnings:

  1. Replace imports into the dom.raw.*, dom.experimental.* and dom.crypto.* sub-packages with dom.*. Nearly everything is in dom.* now except for intl and webgl.
  2. Use new-based constructors instead of apply-based constructors.

Note that a consequence of retiring the experimental package is that we no longer designate experimental APIs. You can consult MDN and caniuse to determine which APIs are suitable for your projects.

You can also automate some, hopefully the majority, of your migration by running this quick script:

find . -type f -path '*/src/*.scala' -exec perl -pi -e '
  s/\bdom\.(raw|crypto|webworkers)\./dom./;
  s/\bdom\.experimental\.[a-z]+\./dom./;
  s/\bClientRect\b/DOMRect/g;
' {} +

Example migration

import org.scalajs.dom

// Before (deprecated)
val response = dom.experimental.ResponseInit(myStatus, myStatusText, myHeaders)

// After
val response = new dom.ResponseInit {
  var status = myStatus
  var statusText = myStatusText
  var headers = myHeaders
}

User-facing PRs

Thanks to our community contributors to this release for bravely opening PRs despite the significant churn as we put together 2.0.0! Now that things have stabilized, we look forward to many more PRs. Check out the contributing guide and help-wanted issues.

Full Changelog: v1.2.0...v2.0.0

v1.2.0

26 Aug 21:46
v1.2.0
Compare
Choose a tag to compare

This is the first scala-js-dom release in over a year and brings many improvements and fixes. Nearly all outstanding PRs were merged (save a few that will target v2.0.0). We are very grateful to the many contributors to this release for their patience!

This release is fully binary-compatible with every 1.x release. It is published for Scala 2.11, 2.12, and 2.13 for both SJS 0.6 and 1, as well as 2.10 for SJS 0.6 only.

This release is the first under new maintainership of @japgolly and @armanbilge. Thanks to infrastructure introduced in #471 by @japgolly, the review process will be much more streamlined going forward. We look forward to your PRs!

Finally, as we approach v2.0.0 there are many opportunities to improve scala-js-dom. Please weigh in on #481 and #487 or propose an idea of your own.

Thanks again to all of our contributors!

User-facing PRs