Skip to content

chore(deps): bump jsdom from 28.0.0 to 29.1.1#158

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/jsdom-29.1.1
Closed

chore(deps): bump jsdom from 28.0.0 to 29.1.1#158
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/jsdom-29.1.1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 1, 2026

Bumps jsdom from 28.0.0 to 29.1.1.

Release notes

Sourced from jsdom's releases.

v29.1.1

  • Fixed 'border-radius' computed style serialization. (@​asamuzaK)
  • Fixed computed style computation when using 'background-origin' and 'background-clip' CSS properties. (@​asamuzaK)
  • Significantly optimized initial calls to getComputedStyle(), before the cache warms up. (@​asamuzaK)

v29.1.0

  • Added basic support for the ratio CSS type. (@​asamuzaK)
  • Fixed getComputedStyle() sometimes returning outdated results after CSS was modified. (@​asamuzaK)

v29.0.2

  • Significantly improved and sped up getComputedStyle(). Computed value rules are now applied across a broader set of properties, and include fixes related to inheritance, defaulting keywords, custom properties, and color-related values such as currentcolor and system colors. (@​asamuzaK)
  • Fixed CSS 'background' and 'border' shorthand parsing. (@​asamuzaK)

v29.0.1

  • Fixed CSS parsing of 'border', 'background', and their sub-shorthands containing keywords or var(). (@​asamuzaK)
  • Fixed getComputedStyle() to return a more functional CSSStyleDeclaration object, including indexed access support, which regressed in v29.0.0.

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.

v28.1.0

  • Added blob.text(), blob.arrayBuffer(), and blob.bytes() methods.
  • Improved getComputedStyle() to account for CSS specificity when multiple rules apply. (@​asamuzaK)
  • Improved synchronous XMLHttpRequest performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.
  • Improved performance of node.getRootNode(), node.isConnected, and event.dispatchEvent() by caching the root node of document-connected trees.
  • Fixed getComputedStyle() to correctly handle !important priority. (@​asamuzaK)
  • Fixed document.getElementById() to return the first element in tree order when multiple elements share the same ID.
  • Fixed <svg> elements to no longer incorrectly proxy event handlers to the Window.
  • Fixed FileReader event timing and fileReader.result state to more closely follow the spec.

... (truncated)

Commits
  • 9b9ea7e 29.1.1
  • 07efb78 Optimize computed style comparison
  • 5f66329 Fix background-origin/background-clip in background shorthand
  • ad8af77 Fix border shorthand handling
  • 5a3e88e 29.1.0
  • 73db204 Update dependencies and dev dependencies
  • a7168a5 Support ratio CSS unit type
  • 15346e0 Fix style cache invalidation
  • 2a1e2cd 29.0.2
  • 4097d66 Resolve computed CSS values lazily in CSSStyleDeclaration
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for jsdom since your current version.

Install script changes

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


@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github May 1, 2026

Labels

The following labels could not be found: dependencies. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
unicon Ignored Ignored Preview May 11, 2026 10:44pm

Request Review

@dependabot dependabot Bot force-pushed the dependabot/npm_and_yarn/jsdom-29.1.1 branch 2 times, most recently from 7345d1b to 09c9b60 Compare May 1, 2026 19:42
Copy link
Copy Markdown

@mogplex mogplex Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mogplex PR Review

Status: Attention needed

Routine devDependency bump for jsdom (28.0.0 → 29.1.1). No security or correctness issues found. Two warnings: new transitive dependencies raise the effective Node.js floor to 20.19.0, and jsdom v29's CSSOM overhaul warrants test validation before merge.

1 finding was added inline.

Warnings

  • New transitive dependencies require Node.js ^20.19.0 (pnpm-lock.yaml)
    New transitive dependencies introduced by this bump—@asamuzakjp/css-color@5.1.11, @asamuzakjp/dom-selector@7.1.1, and @asamuzakjp/generational-cache@1.0.1—declare engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}. The project has no .nvmrc or engines field in package.json, so there is no documented Node version floor. Developers running Node 20.18 or earlier will hit engine mismatch warnings from pnpm.

View check run

Comment thread package.json
"eslint-config-next": "16.2.3",
"husky": "^9.1.7",
"jsdom": "^28.0.0",
"jsdom": "^29.1.1",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning: Major jsdom version includes CSSOM overhaul — validate tests

jsdom v29 includes a major CSSOM implementation overhaul—replacing @acemir/cssom and cssstyle with fresh internal implementations built on css-tree. This affects getComputedStyle(), shorthand parsing, and style mutation behavior. Since this project uses environment: "jsdom" in Vitest, any tests relying on computed styles or CSSOM edge cases could fail silently or produce different results.

@dependabot dependabot Bot force-pushed the dependabot/npm_and_yarn/jsdom-29.1.1 branch 4 times, most recently from 855361e to 803c358 Compare May 11, 2026 22:13
Bumps [jsdom](https://github.com/jsdom/jsdom) from 28.0.0 to 29.1.1.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Commits](jsdom/jsdom@v28.0.0...v29.1.1)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-version: 29.1.1
  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/jsdom-29.1.1 branch from 803c358 to 79c3c16 Compare May 11, 2026 22:44
@charlesrhoward
Copy link
Copy Markdown
Contributor

Closing: jsdom@29 breaks the Vitest forks pool — every worker fails to start with TypeError: webidl.util.markAsUncloneable is not a function (jsdom 29's bundled undici/webidl is incompatible with the current vitest@4.1.6 + Node 20 setup). Not worth pinning around right now; revisit when Vitest catches up or we move to a Node version that ships a compatible undici.

@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github May 11, 2026

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@charlesrhoward charlesrhoward deleted the dependabot/npm_and_yarn/jsdom-29.1.1 branch May 11, 2026 23:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant