Skip to content

chore(deps): update devdependency jsdom to v29#208

Merged
kodiakhq[bot] merged 2 commits into
mainfrom
renovate/major-test-packages
Jun 25, 2026
Merged

chore(deps): update devdependency jsdom to v29#208
kodiakhq[bot] merged 2 commits into
mainfrom
renovate/major-test-packages

Conversation

@renovate

@renovate renovate Bot commented May 25, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
jsdom 26.1.029.1.1 age confidence

Release Notes

jsdom/jsdom (jsdom)

v29.1.1

Compare Source

v29.1.0

Compare Source

v29.0.2

Compare Source

  • 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

Compare Source

v29.0.0

Compare Source

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

Compare Source

  • 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.
  • Fixed a potential hang when synchronous XMLHttpRequest encountered dispatch errors.
  • Fixed compatibility with environments where Node.js's built-in fetch() has been used before importing jsdom, by working around undici v6/v7 incompatibilities.

v28.0.0

Compare Source

  • Overhauled resource loading customization. See the new README for details on the new API.
  • Added MIME type sniffing to <iframe> and <frame> loads.
  • Regression: WebSockets are no longer correctly throttled to one connection per origin. This is a result of the bug at nodejs/undici#4743.
  • Fixed decoding of the query components of <a> and <area> elements in non-UTF-8 documents.
  • Fixed XMLHttpRequest fetches and WebSocket upgrade requests to be interceptable by the new customizable resource loading. (Except synchronous XMLHttpRequests.)
  • Fixed the referrer of a document to be set correctly when redirects are involved; it is now the initiating page, not the last hop in the redirect chain.
  • Fixed correctness bugs when passing ArrayBuffers or typed arrays to various APIs, where they would not correctly snapshot the data.
  • Fixed require("url").parse() deprecation warning when using WebSockets.
  • Fixed <iframe>, <frame>, and <img> (when canvas is installed) to fire load events, not error events, on non-OK HTTP responses.
  • Fixed many small issues in XMLHttpRequest.

v27.4.0

Compare Source

  • Added TextEncoder and TextDecoder.
  • Improved decoding of HTML bytes by using the new @exodus/bytes package; it is now much more correct. (ChALkeR)
  • Improved decoding of XML bytes to use UTF-8 more often, instead of sniffing for <meta charset> or using the parent frame's encoding.
  • Fixed a memory leak when Ranges were used and then the elements referred to by those ranges were removed.

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.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "on Monday"
  • 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 this update 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 added chore dependencies Pull requests that update a dependency file labels May 25, 2026
@sentry

sentry Bot commented May 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.06%. Comparing base (856192b) to head (3d7459c).
⚠️ Report is 1 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #208   +/-   ##
=======================================
  Coverage   68.06%   68.06%           
=======================================
  Files         121      121           
  Lines        2655     2655           
  Branches      573      573           
=======================================
  Hits         1807     1807           
  Misses        444      444           
  Partials      404      404           
Flag Coverage Δ
component 57.10% <ø> (ø)
unit 68.63% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
package.json 100.00% <ø> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@codspeed-hq

codspeed-hq Bot commented May 25, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 15.19%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

❌ 1 regressed benchmark
✅ 43 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
unicode - accented characters 274.5 µs 323.6 µs -15.19%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing renovate/major-test-packages (3d7459c) with main (856192b)

Open in CodSpeed

@renovate
renovate Bot force-pushed the renovate/major-test-packages branch 2 times, most recently from 650d841 to 1187457 Compare May 26, 2026 16:41
@renovate
renovate Bot force-pushed the renovate/major-test-packages branch from 1187457 to 7f40053 Compare May 27, 2026 11:23
@kodiakhq
kodiakhq Bot merged commit 93e426b into main Jun 25, 2026
18 of 19 checks passed
@kodiakhq
kodiakhq Bot deleted the renovate/major-test-packages branch June 25, 2026 11:55
@github-actions github-actions Bot mentioned this pull request Jun 25, 2026
RedStar071 added a commit that referenced this pull request Jun 30, 2026
This PR will deploy the following changes to production
(`wolfstar.rocks`).

**Next version: `v0.8.0`** (current: `v0.7.4`)

### Features

- feat(ui): add WolfStar logo mark to header with accessibility tests
(#252) (`581a22bd`)
- feat: bootstrap Storybook and Chromatic integration (#209)
(`bd3107ea`)
- feat(ui): add WolfStar logo mark to header (#251) (`df3d7a88`)
- feat(auth): make session cookie name configurable per deployment
(#250) (`3b408d0e`)
- feat: add session refresh on app mount and document visibility (#248)
(`fadf006b`)
- feat(feedback): prefill dashboard feedback from OAuth email (#241)
(`b4c9d067`)
- feat(sentry): add Sentry user feedback with custom site design (#239)
(`9478a08d`)
- feat(discord): enhance manageable guild filtering and loading state
handling (#236) (`13113c53`)
- feat(dashboard): dashboard audit log system with slideover UI (#144)
(`2e3b629d`)

### Fixes

- fix(sentry): delete client source maps after upload to prevent public
exposure (#243) (`1a6125e6`)
- fix(ui): align feedback and scroll-to-top floating buttons (#240)
(`8a06d1d0`)

### Other Changes

- docs: restructure contributing guide and add zizmor dev tasks (#258)
(`608a9a5d`)
- test(a11y): consolidate app component accessibility audits into
a11y.spec (#257) (`c13329b0`)
- chore(deps): update Prisma to v7.8.0 and TypeScript to v6.0.3 (#256)
(`cc62791e`)
- chore(deps): update all non-major dependencies (#205) (`19cfb004`)
- chore(deps): update devdependency @shelve/cli to v5 (#160)
(`ead2b558`)
- chore(deps): update devdependency @e18e/eslint-plugin to v0.5.0 (#207)
(`6295e7e3`)
- ci: block compromised npm packages with Socket Firewall Free (#254)
(`342694dc`)
- ci: migrate workflows to Blacksmith runners (#253) (`69264375`)
- refactor: replace intersection observer with scroll-driven animations
(#247) (`b015ab4e`)
- chore: update skills skilld (#249) (`a69d33c9`)
- chore(deps): update dependency vite-plus to v0.1.22 (#174)
(`2662f244`)
- chore(deps): update nuxt core (#196) (`182f3dec`)
- chore(deps): update devdependency jsdom to v29 (#208) (`93e426bb`)
- chore(docs): consolidate agent instructions and add design lint (#246)
(`856192bf`)
- chore(docs): update AGENTS.md to reflect recent changes (#245)
(`b8d5a73f`)
- chore(docs): update AGENTS.md to reflect recent changes (#242)
(`03083f6e`)

---

> Merging this PR will:
> - Deploy to `wolfstar.rocks` via Netlify
> - Create a `v0.8.0` tag and GitHub Release
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant