For this release we'd like to welcome @pmdartus to the core team. Among other work, he's driven the heroic effort of constructor prototype and reform in jsdom and its dependencies over the last few months, to allow us to move away from shared constructors and prototypes, and set the groundwork for custom elements support (coming soon!).
- Node v10 is now the minimum supported version.
dom.runVMScript()API has been replaced with the more general
- Each jsdom
Windownow creates new instances of all the web platform globals. That is, our old shared constructor and prototypes caveat is no longer in play.
- Each jsdom
runScriptsis disabled, it exposes them as aliases of the ones from the outer Node.js environment. Whereas when
runScriptsis enabled, it exposes fresh copies of each global from the new scripting environment. (Previously, a few typed array classes would always be aliased, and with
runScriptsdisabled, the other classes would not be exposed at all.)
- Added the
- Added working constructors for
<template>to work correctly inside XML documents.
- Fixed some bugs which would cause jsdom to choose the wrong character encoding because it was failing to detect
input.typeto default to
- Fixed incorrect validation errors for
<input>with fractional values for their
- Fixed incorrect validation errors on readonly
<input type="email" multiple pattern="...">validation.
fileReader.readAsDataURL()to always base64-encode the result. (ytetsuro)
- Fixed inserting
<img>elements into documents without a browsing context to no longer crash when the
canvaspackage is installed.
- Fixed a memory leak when using
- Improved the performance of