website/node_modules/jsdom/Changelog.md

9.2.1

9.2.0

9.1.0

9.0.0

This major release removes jsdom's support for mutation events. Mutation events were never well-specified, and the modern DOM Standard omits them in the hopes that they can be removed from browsers (although this has not yet happened in major browser engines). We had hoped to implement their modern alternative, mutation observers, before performing this removal, to give jsdom users the same capabilities.

However, recent performance investigations revealed that mutation events were the major bottleneck in most jsdom operations; tools like ecmarkup which make heavy use of jsdom had their running time halved by removing mutation events, which add serious overhead to every DOM mutation. As such, we are doing a major release with them removed, so that jsdom users can benefit from this massive performance gain.

Mutation observer support is in progress; please use the GitHub reactions feature to vote on that issue if you are impacted by this removal and are hoping for mutation observer support to replace it.

Your normal change log follows:

8.5.0

8.4.1

8.4.0

8.3.1

8.3.0

8.2.0

8.1.1

8.1.0

8.0.4

8.0.3

8.0.2

8.0.1

8.0.0

This major release includes a large rewrite of most of the DOM and HTML classes exposed in jsdom. A lot of their behavior is generated from their specs' IDL syntax, taking care of many type conversions, attribute/property reflections, and much more. Many properties that were previously not present are now available, and almost everything behaves in a more spec-compliant way. Additionally, for these classes all of their implementation details are no longer available as underscore-prefixed properties, but instead are hidden behind a single symbol.

Although normally jsdom does not mark a new major release for changes that simply update us to the latest specs or hide internal implementation details better, the magnitude of the changes is so extensive that we want to bump the major version in order to ensure that consumers perform adequate testing before upgrading. But, you should definitely upgrade! The new stuff is really awesome!

7.2.2

7.2.1

7.2.0

7.1.1

7.1.0

This is a rather large release bringing with it several important re-implementations of DOM and HTML APIs.

7.0.2

7.0.1

7.0.0

This major release has as its headlining feature a completely re-written XMLHttpRequest implementation, in a heroic effort by @nicolashenry. It includes a number of other smaller improvements and fixes. The breaking changes are highlighted in bold below.

6.5.1

6.5.0

6.4.0

6.3.0

6.2.0

6.1.0

6.0.1

6.0.0

This major release is focused on massive improvements in speed, URL parsing, and error handling. The potential breaking changes are highlighted in bold below; the largest ones are around the jsdom.env error-handling paradigm.

This release also welcomes long-time contributer @Joris-van-der-Wel to the core team. You may recognize him from earlier changelogs. We're very happy to have his help in making jsdom awesome!

Finally, if you're a loyal jsdom fan whose made it this far into the changelog, I'd urge you to come join us in #1139, where we are brainstorming a modernized jsdom API that could get rid of many of the warts in the current one.

5.6.1

5.6.0

5.5.0

Additionally, Joris-van-der-Wel added a benchmarking framework, and a number of benchmarks, which should help us avoid performance regressions going forward, and also make targeted performance fixes. We're already investigating some real-world issues using this framework. Very exciting!

5.4.3

5.4.2

5.4.1

5.4.0

This is a pretty exciting release! It includes a couple features I never really anticipated jsdom being awesome enough to have, but our wonderful contributors powered through and made them happen anyway:

We also have a bunch more fixes and additions:

5.3.0

5.2.0

5.1.0

5.0.1

5.0.0

This release overhauls how cookies are handled in jsdom to be less fiddly and more like-a-browser. The work for this was done by @inikulin, who is also our beloved parse5 maintainer.

You should only need to worry about upgrading to this release if you use jsdom's cookie handling capabilities beyond the basics of reading and writing to document.cookie. If that describes you, here's what changed:

In addition to these changes to the public API, the following new cookie-related features came along for the ride:

Finally, it's worth noting that we now delegate our cookie handling in general to the tough-cookie package, which should hopefully mean that it now captures many of the behaviors that were previously missing (for example #1027). @inikulin is working on a large pull request to fix tough-cookie to be more spec compliant, which should automatically be picked up by jsdom installs once it is merged.

4.5.1

4.5.0

4.4.0

4.3.0

4.2.0

4.1.0

4.0.5

Note: this probably should have been a minor version number increment (i.e. 4.1.0 instead of 4.0.5), since it added HTMLUnknownElement. We apologize for the deviation from semver.

4.0.4

4.0.3

4.0.2

4.0.1

4.0.0

This release relies on the newly-overhauled vm module of io.js to eliminate the Contextify native module dependency. jsdom should now be much easier to use and install, without requiring a C++ compiler toolchain!

Note that as of this release, jsdom no longer works with Node.js™, and instead requires io.js. You are still welcome to install a release in the 3.x series if you are stuck on legacy technology like Node.js™.

In the process of rewriting parts of jsdom to use vm, a number of related fixes were made regarding the Window object:

3.1.2

3.1.1

3.1.0

3.0.3

3.0.2

3.0.1

3.0.0

This release updates large swathes of the DOM APIs to conform to the standard, mostly by removing old stuff. It also fixes a few bugs, introduces a couple new features, and changes some defaults.

3.0.x will be the last release of jsdom to support Node.js. All future releases (starting with 4.0.0) will require io.js, whose new vm module will allow us to remove our contextify native-module dependency. (Given that I submitted the relevant patch to joyent/node 1.5 years ago, I'm very excited that we can finally use it!)

2.0.0

This release is largely a refactoring release to remove the defunct concept of "levels" from jsdom, in favor of the living standard model that browsers follow. Although the code is still organized that way, that's now noted as a historical artifact. The public API changes while doing so were fairly minimal, but this sets the stage for a cleaner jsdom code structure going forward.

1.5.0

1.4.1

1.4.0

1.3.2

1.3.1

1.3.0

1.2.3

1.2.2

1.2.1

1.2.0

1.1.0

1.0.3

1.0.2

1.0.1

1.0.0

For a consolidated list of changes from 0.11.1 to 1.0.0, see this wiki page.

1.0.0-pre.7

1.0.0-pre.6

1.0.0-pre.5

1.0.0-pre.4

1.0.0-pre.3

1.0.0-pre.2

1.0.0-pre.1

This is a prerelease of jsdom's first major version. It incorporates several great additions, as well as a general cleanup of the API surface, which make it more backward-incompatible than usual. Starting with the 1.0.0 release, we will be following semantic versioning, so that you can depend on stability within major version ranges. But we still have a few more issues before we can get there, so I don't want to do 1.0.0 quite yet.

This release owes a special thanks to @Sebmaster, for his amazing work taking on some of the hardest problems in jsdom and solving them with gusto.

Major changes

Removed jsdom APIs

Changed jsdom APIs

Removed non-standard DOM APIs

Other fixes

0.11.1

0.11.0

0.10.6

0.10.5

0.10.4

0.10.3

0.10.2

0.10.1

0.10.0

0.9.0

0.8.11

0.8.10

0.8.9

0.8.8

0.8.7

0.8.6

0.8.5

0.8.4

0.8.3

0.8.2

0.8.1 (hotfix)

0.8.0

0.7.0

0.6.5

0.6.4

0.6.3

0.6.2

0.6.1

0.6.0

Integrated a new HTML parser, htmlparser2, from fb55. This is an actively maintained and much less buggy parser, fixing many of our parsing issues, including:

0.5.7

0.5.6

0.5.5

0.5.4

This release, and all future releases, require at least Node.js 0.8.

0.5.3

This release is compatible with Node.js 0.6, whereas all future releases will require at least Node.js 0.8.

0.5.2

0.5.1

0.5.0

0.4.2

0.4.1 (hotfix)

0.4.0

0.3.4

0.3.3

0.3.2

0.3.1 (hotfix)

0.3.0

0.2.19

0.2.18

0.2.17 (hotfix)

0.2.16

0.2.15

0.2.14

0.2.13

0.2.12

0.2.11

0.2.10

0.2.9

0.2.8 (hotfix)

0.2.7 (hotfix)

0.2.6

0.2.5

0.2.4

0.2.3

0.2.2

0.2.1



JohnCoene/chirp documentation built on May 25, 2021, 6:33 p.m.