Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Sep 14, 2025

This PR contains the following updates:

Package Change Age Confidence
jsdom 25.0.1 -> 27.3.0 age confidence
@types/jsdom (source) 21.1.7 -> 27.0.0 age confidence

Release Notes

jsdom/jsdom (jsdom)

v27.3.0

Compare Source

  • Improved CSS parsing and CSSOM object APIs via updates to @acemir/cssom. (acemir)

v27.2.0

Compare Source

  • Added CSSGroupingRule, CSSNestedDeclarations, CSSConditionRule, CSSContainerRule, CSSScopeRule, CSSSupportsRule, CSSLayerBlockRule, and CSSLayerStatementRule to jsdom Windows. (acemir)
  • Improved CSS parsing and CSSOM object APIs via updates to @acemir/cssom. (acemir)
  • Fixed @import-ed stylesheets to be properly exposed to CSSOM, and not to overwrite the sheet created from the <link> or <style> element. (acemir)

v27.1.0

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.

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)

v27.0.0

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 (omitting requestPermission()), DeviceOrientationEvent (omitting requestPermission()), PointerEvent, PromiseRejectionEvent, and TransitionEvent.
  • Added movementX and movementY to MouseEvent. (These are from the Pointer Lock specification, the rest of which is not implemented.)
  • Added customElements.getName(). (mash-graz)
  • Updated the virtual console:
    • "jsdomError" events are now documented, with specific type properties and other properties that depend on the type.
    • sendTo() was renamed to forwardTo().
    • The jsdomErrors option to forwardTo() can be used to control which errors are sent to the Node.js console. This replaces the previous omitJSDOMErrors boolean option.
    • "jsdomError"s for failed XMLHttpRequest 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 like http://localhost/ to be secure contexts (per the spec), and thus will return Secure-flagged cookies for such URLs. (colincasey)
  • Upgraded cssstyle, which brings along many improvements and fixes to the CSSStyleDeclaration 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 a PointerEvent instead of a MouseEvent.
  • Changed certain events to be passive by default.
  • Changed the <input> element's pattern="" attribute to use the v regular expression flag, instead of u.
  • 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 as HTMLSelectElement instances.
  • Fixed jsdom.reconfigure({ url }) not updating document.baseURI or properties derived from it. (This regressed in v26.1.0.)
  • Fixed CSS system colors, as well as the initial, inherit, and unset 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.

v26.1.0

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 and SVGAnimatedRect, including support in the reflection layer.
  • Added the SVGSVGElement createSVGRect() method, and the SVGRect type (which is distinct from DOMRect.)
  • Added indexed property support to HTMLFormElement.
  • Updated the SVGElement viewportElement() method to correctly establish the viewport based on ancestor elements.
  • Removed the now-bloated form-data dependency in favor of our own smaller implementation of multipart/form-data serialization. No functional changes are expected.
  • Various performance improvements, caches, microoptimizations, and deferred object creation.

v26.0.0

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 ElementInternals labels property. The form-associated callbacks are not yet supported. (hesxenon)
  • Updated whatwg-url, adding support for URL.parse().
  • Updated cssstyle and rrweb-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.

Configuration

📅 Schedule: Branch creation - "before 6am" in timezone America/New_York, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/jsdom-27.x branch 2 times, most recently from 407ea61 to d08245e Compare September 29, 2025 22:56
@renovate renovate bot force-pushed the renovate/jsdom-27.x branch from d08245e to 7a5e6f8 Compare October 18, 2025 10:06
@renovate renovate bot force-pushed the renovate/jsdom-27.x branch from 7a5e6f8 to f4836eb Compare October 31, 2025 06:42
@renovate renovate bot force-pushed the renovate/jsdom-27.x branch 2 times, most recently from a548d40 to 93c217c Compare November 12, 2025 06:15
@renovate renovate bot force-pushed the renovate/jsdom-27.x branch from 93c217c to 1d84864 Compare November 18, 2025 12:18
@renovate renovate bot force-pushed the renovate/jsdom-27.x branch from 1d84864 to 12daa21 Compare December 3, 2025 20:12
@renovate renovate bot force-pushed the renovate/jsdom-27.x branch from 12daa21 to 800319b Compare December 8, 2025 19:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

1 participant