This PR contains the following updates:
Release Notes
jsdom/jsdom (jsdom)
Compare Source
- Improved CSS parsing by switching to
@acemir/cssom, including support for nested selectors, nested declarations, layer statements, and improved at-rule validation. (acemir) - Fixed some selector cache invalidation issues where changes to attributes were not being picked up. (asamuzaK)
- Fixed
package.json"engines" field to reflect the new minimum Node.js versions needed to run jsdom, as noted in the changelog for v27.0.1.
Compare Source
- Fixed some regressions in CSS selectors. Most such regression fixes were done in a minor update of a dependency, and thus available for all fresh installs of v27.0.0. However, one related to
class="" attribute changes is only possible with a new version of jsdom. (asamuzaK)
Compare Source
Changes since 26.1.0
- Node.js v20 is now the minimum supported version.
- Added a variety of event constructors, even though we do not implement their associated specifications or ever fire them:
BeforeUnloadEvent,BlobEvent,DeviceMotionEvent (omittingrequestPermission()),DeviceOrientationEvent (omittingrequestPermission()),PointerEvent,PromiseRejectionEvent, andTransitionEvent. - Added
movementX andmovementY toMouseEvent. (These are from thePointer Lock specification, the rest of which is not implemented.) - Added
customElements.getName(). (mash-graz) - Updated thevirtual console:
"jsdomError" events are now documented, with specifictype properties and other properties that depend on the type.sendTo() was renamed toforwardTo().- The
jsdomErrors option toforwardTo() can be used to control which errors are sent to the Node.js console. This replaces the previousomitJSDOMErrors boolean option. "jsdomError"s for failedXMLHttpRequest fetches are no longer emitted.- The values that are printed when forwarding
"jsdomError"s to the Node.js console are streamlined.
- Switched our CSS selector engine from
nwsapi to@asamuzakjp/dom-selector, closing over 20 selector-related bugs. - Upgraded
tough-cookie, which now considers URLs likehttp://localhost/ to be secure contexts (perthe spec), and thus will returnSecure-flagged cookies for such URLs. (colincasey) - Upgraded
cssstyle, which brings along many improvements and fixes to theCSSStyleDeclaration object and its properties. - Updated the user agent stylesheet to be derived from the HTML Standard, instead of from an old revision of Chromium.
- Changed
element.click() to fire aPointerEvent instead of aMouseEvent. - Changed certain events to be passive by default.
- Changed the
<input> element'spattern="" attribute to use thev regular expression flag, instead ofu. - Fixed many specification conformance issues with the
Window object, including named properties and changing various data properties to accessor properties. - Fixed
document.createEvent() to accept a more correct set of event names. - Fixed the
ElementInternals accessibility getters and setters. (They were introduced in v23.1.0, but due to inadequate test coverage never actually worked.) - Fixed using
Object.defineProperty() on certain objects, such asHTMLSelectElement instances. - Fixed
jsdom.reconfigure({ url }) not updatingdocument.baseURI or properties derived from it. (This regressed in v26.1.0.) - Fixed CSS system colors, as well as the
initial,inherit, andunset keywords, to resolve correctly. (asamuzaK) - Fixed CSS
display style resolution. (asamuzaK)
Changes since 27.0.0-beta.3
- Upgraded
cssstyle, which brings along various CSS parsing fixes.
Compare Source
- Added at least partial support for various SVG elements and their classes:
<defs> (SVGDefsElement),<desc> (SVGDescElement),<g> (SVGGElement),<metadata> (SVGMetadataElement),<switch> (SVGSwitchElement), and<symbol> (SVGSymbolElement). - Added
SVGAnimatedPreserveAspectRatio andSVGAnimatedRect, including support in the reflection layer. - Added the
SVGSVGElementcreateSVGRect() method, and theSVGRect type (which is distinct fromDOMRect.) - Added indexed property support to
HTMLFormElement. - Updated the
SVGElementviewportElement() method to correctly establish the viewport based on ancestor elements. - Removed the now-bloated
form-data dependency in favor of our own smaller implementation ofmultipart/form-data serialization. No functional changes are expected. - Various performance improvements, caches, microoptimizations, and deferred object creation.
Compare Source
Breaking change:canvas peer dependency requirement has been upgraded from v2 to v3. (sebastianwachter)
Other changes:
- Added
AbortSignal.any(). (jdbevan) - Added initial support for form-associated custom elements, in particular making them labelable and supporting the
ElementInternalslabels property. The form-associated callbacks are not yet supported. (hesxenon) - Updated
whatwg-url, adding support forURL.parse(). - Updated
cssstyle andrrweb-cssom, to improve CSS parsing capabilities. - Updated
nwsapi, improving CSS selector matching. - Updated
parse5, fixing a bug around<noframes> elements and HTML entity decoding. - Fixed
JSDOM.fromURL() to properly reject the returned promise if the server redirects to an invalid URL, instead of causing an uncaught exception.
Compare Source
- Updated dependencies, notably
tough-cookie, which no longer prints a deprecation warning.
Configuration
📅Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated byMend Renovate. View therepository job log.
Uh oh!
There was an error while loading.Please reload this page.
This PR contains the following updates:
^25.0.0->^27.0.0Release Notes
jsdom/jsdom (jsdom)
v27.1.0Compare Source
@acemir/cssom, including support for nested selectors, nested declarations, layer statements, and improved at-rule validation. (acemir)package.json"engines"field to reflect the new minimum Node.js versions needed to run jsdom, as noted in the changelog for v27.0.1.v27.0.1Compare Source
class=""attribute changes is only possible with a new version of jsdom. (asamuzaK)v27.0.0Compare Source
Changes since 26.1.0
BeforeUnloadEvent,BlobEvent,DeviceMotionEvent(omittingrequestPermission()),DeviceOrientationEvent(omittingrequestPermission()),PointerEvent,PromiseRejectionEvent, andTransitionEvent.movementXandmovementYtoMouseEvent. (These are from thePointer Lock specification, the rest of which is not implemented.)customElements.getName(). (mash-graz)"jsdomError"events are now documented, with specifictypeproperties and other properties that depend on the type.sendTo()was renamed toforwardTo().jsdomErrorsoption toforwardTo()can be used to control which errors are sent to the Node.js console. This replaces the previousomitJSDOMErrorsboolean option."jsdomError"s for failedXMLHttpRequestfetches are no longer emitted."jsdomError"s to the Node.js console are streamlined.nwsapito@asamuzakjp/dom-selector, closing over 20 selector-related bugs.tough-cookie, which now considers URLs likehttp://localhost/to be secure contexts (perthe spec), and thus will returnSecure-flagged cookies for such URLs. (colincasey)cssstyle, which brings along many improvements and fixes to theCSSStyleDeclarationobject and its properties.element.click()to fire aPointerEventinstead of aMouseEvent.<input>element'spattern=""attribute to use thevregular expression flag, instead ofu.Windowobject, including named properties and changing various data properties to accessor properties.document.createEvent()to accept a more correct set of event names.ElementInternalsaccessibility getters and setters. (They were introduced in v23.1.0, but due to inadequate test coverage never actually worked.)Object.defineProperty()on certain objects, such asHTMLSelectElementinstances.jsdom.reconfigure({ url })not updatingdocument.baseURIor properties derived from it. (This regressed in v26.1.0.)initial,inherit, andunsetkeywords, to resolve correctly. (asamuzaK)displaystyle resolution. (asamuzaK)Changes since 27.0.0-beta.3
cssstyle, which brings along various CSS parsing fixes.v26.1.0Compare Source
<defs>(SVGDefsElement),<desc>(SVGDescElement),<g>(SVGGElement),<metadata>(SVGMetadataElement),<switch>(SVGSwitchElement), and<symbol>(SVGSymbolElement).SVGAnimatedPreserveAspectRatioandSVGAnimatedRect, including support in the reflection layer.SVGSVGElementcreateSVGRect()method, and theSVGRecttype (which is distinct fromDOMRect.)HTMLFormElement.SVGElementviewportElement()method to correctly establish the viewport based on ancestor elements.form-datadependency in favor of our own smaller implementation ofmultipart/form-dataserialization. No functional changes are expected.v26.0.0Compare Source
Breaking change:
canvaspeer dependency requirement has been upgraded from v2 to v3. (sebastianwachter)Other changes:
AbortSignal.any(). (jdbevan)ElementInternalslabelsproperty. The form-associated callbacks are not yet supported. (hesxenon)whatwg-url, adding support forURL.parse().cssstyleandrrweb-cssom, to improve CSS parsing capabilities.nwsapi, improving CSS selector matching.parse5, fixing a bug around<noframes>elements and HTML entity decoding.JSDOM.fromURL()to properly reject the returned promise if the server redirects to an invalid URL, instead of causing an uncaught exception.v25.0.1Compare Source
tough-cookie, which no longer prints a deprecation warning.Configuration
📅Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated byMend Renovate. View therepository job log.