Skip to content

chore(deps-dev): bump jsdom from 28.1.0 to 29.0.0 in /src/microsoft-trydotnet#153

Merged
intellitect-bot merged 1 commit intomainfrom
dependabot/npm_and_yarn/src/microsoft-trydotnet/jsdom-29.0.0
Mar 17, 2026
Merged

chore(deps-dev): bump jsdom from 28.1.0 to 29.0.0 in /src/microsoft-trydotnet#153
intellitect-bot merged 1 commit intomainfrom
dependabot/npm_and_yarn/src/microsoft-trydotnet/jsdom-29.0.0

Conversation

@dependabot
Copy link

@dependabot dependabot bot commented on behalf of github Mar 16, 2026

Bumps jsdom from 28.1.0 to 29.0.0.

Release notes

Sourced from jsdom's releases.

v29.0.0

Breaking changes:

  • Node.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).

Other changes:

  • Overhauled the CSSOM implementation, replacing the @acemir/cssom and cssstyle dependencies with fresh internal implementations built on webidl2js wrappers and the css-tree parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.
  • Added CSSCounterStyleRule and CSSNamespaceRule to jsdom Windows.
  • Added cssMediaRule.matches and cssSupportsRule.matches getters.
  • Added proper media query parsing in MediaList, using css-tree instead of naive comma-splitting. Invalid queries become "not all" per spec.
  • Added cssKeyframeRule.keyText getter/setter validation.
  • Added cssStyleRule.selectorText setter validation: invalid selectors are now rejected.
  • Added styleSheet.ownerNode, styleSheet.href, and styleSheet.title.
  • Added bad port blocking per the fetch specification, preventing fetches to commonly-abused ports.
  • Improved Document initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per Document. (@​thypon)
  • Fixed a memory leak when stylesheets were removed from the document.
  • Fixed CSSStyleDeclaration modifications to properly trigger custom element reactions.
  • Fixed nested @media rule parsing.
  • Fixed CSSStyleSheet's "disallow modification" flag not being checked in all mutation methods.
  • Fixed XMLHttpRequest's response getter returning parsed JSON during the LOADING state instead of null.
  • Fixed getComputedStyle() crashing in XHTML documents when stylesheets contained at-rules such as @page or @font-face.
  • Fixed a potential hang in synchronous XMLHttpRequest caused by a race condition with the worker thread's idle timeout.
Changelog

Sourced from jsdom's changelog.

29.0.0

Breaking changes:

  • Node.js v22.13.0+ is now the minimum supported v22 version (was v22.12.0+).

Other changes:

  • Overhauled the CSSOM implementation, replacing the @acemir/cssom and cssstyle dependencies with fresh internal implementations built on webidl2js wrappers and the css-tree parser. Serialization, parsing, and API behavior is improved in various ways, especially around edge cases.
  • Added CSSCounterStyleRule and CSSNamespaceRule to jsdom Windows.
  • Added cssMediaRule.matches and cssSupportsRule.matches getters.
  • Added proper media query parsing in MediaList, using css-tree instead of naive comma-splitting. Invalid queries become "not all" per spec.
  • Added cssKeyframeRule.keyText getter/setter validation.
  • Added cssStyleRule.selectorText setter validation: invalid selectors are now rejected.
  • Added styleSheet.ownerNode, styleSheet.href, and styleSheet.title.
  • Added bad port blocking per the fetch specification, preventing fetches to commonly-abused ports.
  • Improved Document initialization performance by lazily initializing the CSS selector engine, avoiding ~0.5 ms of overhead per Document. (thypon)
  • Fixed a memory leak when stylesheets were removed from the document.
  • Fixed CSSStyleDeclaration modifications to properly trigger custom element reactions.
  • Fixed nested @media rule parsing.
  • Fixed CSSStyleSheet's "disallow modification" flag not being checked in all mutation methods.
  • Fixed XMLHttpRequest's response getter returning parsed JSON during the LOADING state instead of null.
  • Fixed getComputedStyle() crashing in XHTML documents when stylesheets contained at-rules such as @page or @font-face.
  • Fixed a potential hang in synchronous XMLHttpRequest caused by a race condition with the worker thread's idle timeout.
Commits
  • 00522ce Version 29.0.0
  • a217975 Use undici's request() API for XHR dispatching
  • f29722d Convert CSSStyleDeclaration to webidl2js
  • 4aaacc6 Merge in cssstyle and replace @acemir/cssom
  • 6c2769a Remove unused http(s)-proxy-agent dependencies
  • eba96b5 Update domSelector
  • 54f9995 Use --fgrep for npm run test:tuwpt:browser
  • 15e7664 Use stable ports for test:tuwpt:browser
  • 7410bdb Suppress informational WPT output when using the min reporter
  • c44377e Lazily initialize DOMSelector
  • Additional commits viewable in compare view
Install script changes

This version modifies prepare script that runs during installation. Review the package contents before updating.


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added dependencies Pull requests that update a dependency file npm labels Mar 16, 2026
@dependabot dependabot bot temporarily deployed to BuildAndUploadImage March 16, 2026 16:01 Inactive
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/src/microsoft-trydotnet/jsdom-29.0.0 branch from d474b5a to 267347c Compare March 16, 2026 16:27
@dependabot dependabot bot temporarily deployed to BuildAndUploadImage March 16, 2026 16:27 Inactive
Bumps [jsdom](https://github.com/jsdom/jsdom) from 28.1.0 to 29.0.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/v29.0.0/Changelog.md)
- [Commits](jsdom/jsdom@v28.1.0...v29.0.0)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 29.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/src/microsoft-trydotnet/jsdom-29.0.0 branch from 267347c to 8a44ea2 Compare March 16, 2026 16:36
@dependabot dependabot bot temporarily deployed to BuildAndUploadImage March 16, 2026 16:36 Inactive
@github-actions github-actions bot added the ai-approved-major-update AI-reviewed major dependency update safe to merge label Mar 17, 2026
@github-actions
Copy link

🤖 Automated Major Version Review — APPROVED

Package: jsdom
Ecosystem: npm
Version change: 28.1.0 → 29.0.0 (major bump)

Research Summary

Breaking Changes Analysis

  • Node.js v22.13.0+ minimum for v22 series (was v22.12.0+): This repository uses Node.js 20 in CI (node-version: '20' in the setup-node action), so this change does not affect the build or test pipeline. Node.js 20.19.0+ is still supported (same as jsdom 28).
  • All other changes in jsdom 29.0.0 are improvements and bug fixes: overhauled CSSOM implementation (removing @acemir/cssom and cssstyle dependencies in favor of fresh internal implementations), new APIs (CSSCounterStyleRule, CSSNamespaceRule, etc.), performance improvements, and memory leak fixes.
  • jsdom is a dev dependency used only for tests, so the CSSOM/CSS improvements carry no production risk.

Security Check

  • The GitHub Advisory Database shows 2 historical advisories for jsdom; these are known older vulnerabilities affecting versions well below 28.x. No advisories were found affecting jsdom 28.1.0 or 29.0.0 specifically. Upgrading to 29.0.0 reduces the attack surface by removing external dependencies (agent-base, http-proxy-agent, https-proxy-agent, cssstyle, @acemir/cssom).

Decision

✅ This major version update is safe to merge. CI checks pass, the diff contains only version file changes (package.json, package-lock.json), and no breaking changes affect this repository's usage of the package.

Generated by Dependabot Major Version Reviewer ·

@intellitect-bot intellitect-bot merged commit 7179823 into main Mar 17, 2026
9 checks passed
@intellitect-bot intellitect-bot deleted the dependabot/npm_and_yarn/src/microsoft-trydotnet/jsdom-29.0.0 branch March 17, 2026 01:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-approved-major-update AI-reviewed major dependency update safe to merge dependencies Pull requests that update a dependency file npm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant