# jsdom: what changed from 29 to 30 - Product: jsdom (https://whatsnew.fyi/product/jsdom) - Vendor: jsdom - Range: changelog entries numbered after v29.1.1 up to and including v30.0.1, stable releases only - Entries below: 2 releases (newest first) - Resolved: 29 is v29.1.1 and 30 is v30.0.1, the newest stable release of each major we track - Carrying security changes: 0 · CVEs mentioned: 0 · Mentioning breaking changes: 1 · Removing or deprecating something: 1 - Page: https://whatsnew.fyi/product/jsdom/compare/29...30 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## What changed (8 changes, grouped by kind) ### Added #### v30.0.0 (2026-07-27) - Add CSS.escape() and CSS.supports() functions - Add 'background-position-x' and 'background-position-y' CSS properties ### Changed #### v30.0.1 (2026-07-29) - Sped up range operations on large documents ### Fixed #### v30.0.1 (2026-07-29) - getComputedStyle() with calc() and other functions throwing an exception, which regressed in v30.0.0 #### v30.0.0 (2026-07-27) - Fix getComputedStyle() to convert length values into pixels - Fix CSS function serialization in the return value of getPropertyValue() - Fix the type of error thrown by document.evaluate() ### Removed #### v30.0.0 (2026-07-27) - Raise Node.js minimum version to ^22.22.2 || ^24.15.0 || >=26.0.0 ## Release notes ### v30.0.1 - Date: 2026-07-29 - Version: v30.0.1 - Original notes: https://github.com/jsdom/jsdom/releases/tag/v30.0.1 - Permalink: https://whatsnew.fyi/product/jsdom/releases/v30.0.1 - **fixed** — getComputedStyle() with calc() and other functions throwing an exception, which regressed in v30.0.0 - **changed** — Sped up range operations on large documents * Fixed `getComputedStyle()` with `calc()` and other functions throwing an exception, which regressed in v30.0.0. (@asamuzaK) * Sped up up range operations on large documents (@leonidaz) ### v30.0.0 - Date: 2026-07-27 - Version: v30.0.0 - Original notes: https://github.com/jsdom/jsdom/releases/tag/v30.0.0 - Permalink: https://whatsnew.fyi/product/jsdom/releases/v30.0.0 - **removed** — Raise Node.js minimum version to ^22.22.2 || ^24.15.0 || >=26.0.0 - **added** — Add CSS.escape() and CSS.supports() functions - **added** — Add 'background-position-x' and 'background-position-y' CSS properties - **fixed** — Fix getComputedStyle() to convert length values into pixels - **fixed** — Fix CSS function serialization in the return value of getPropertyValue() - **fixed** — Fix the type of error thrown by document.evaluate() Breaking changes: - Node.js minimum version raised to `^22.22.2 || ^24.15.0 || >=26.0.0`. Other changes: * Added `CSS.escape()` and `CSS.supports()` functions. (@asamuzaK) * Added `'background-position-x'` and `'background-position-y'` CSS properties. (@olagokemills) * Fixed `getComputedStyle()` to convert length values into pixels. (@asamuzaK) * Fixed CSS function serialization, e.g., in the return value of `getPropertyValue()`. (@asamuzaK) * Fixed the type of error thrown by `document.evaluate()` (@dokson)