Packages/jsdom

Releases of jsdom

279 stable releases, newest first. Release notes are kept for the last 90 days; older ones link to where they were published.

  1. 30.1.3

    15 October 2026
    • Improved performance of getComputedStyle() and computed CSS property reads, including with stylesheets containing attribute selectors. (@scttcper, @asamuzaK)

    • Fixed slowdowns when focusing elements and running interaction tests, which regressed in v30.1.2. (@scttcper)

    • Fixed XMLHttpRequest reusing credentials supplied to xhr.open() after cross-origin redirects, including in response to authentication challenges from the destination.

    • Fixed XMLHttpRequest incorrectly sending and accepting cookies after cross-origin redirects back to the document's origin when xhr.withCredentials is false.

  2. 30.1.2

    4 October 2026
    • Updated URLs to support Unicode v18.0.0 in internationalized domain names.

    • Reduced package size and memory use for CSS property definitions. (@scttcper)

    • Fixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (@cmdcolin)

    • Fixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an initial reset. (@scttcper)

  3. 30.1.1

    22 September 2026
    • Fixed spurious window blur and focusout events and incorrect event.relatedTarget values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (@asamuzaK)

    • Fixed focus and blur behavior across frames, and focusing the document's viewport through document.documentElement.focus(). (@asamuzaK)

    • Fixed focus targets removed or disabled by blur listeners becoming active, and text selections made by focus and blur listeners being overwritten. (@asamuzaK)

    • Fixed element.focus() incorrectly focusing disabled form controls and <input type="hidden"> elements with tabindex="". (@scttcper)

  4. 30.1.0

    17 September 2026

    jsdom is feeling the AGI!

    This release is dedicated to @scttcper, who unleashed @codex upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.

    We really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.

    • Added named access to elements on document, such as document.myForm for <form name="myForm">. (@vojtisprime11)

  5. 30.0.1

    29 July 2026
    • 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)

  6. 30.0.0

    27 July 2026

    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)

  7. 29.1.1

    30 April 2026
  8. 29.1.0

    27 April 2026
  9. 29.0.2

    7 April 2026
  10. 29.0.1

    20 March 2026
  11. 29.0.0

    15 March 2026
  12. 28.1.0

    15 February 2026
  13. 28.0.0

    2 February 2026
  14. 27.4.0

    26 December 2025
  15. 27.3.0

    8 December 2025
  16. 27.2.0

    12 November 2025
  17. 27.1.0

    31 October 2025
  18. 27.0.1

    18 October 2025
  19. 27.0.0

    13 September 2025
  20. 26.1.0

    13 April 2025
  21. 26.0.0

    9 January 2025
  22. 25.0.1

    22 September 2024
  23. 25.0.0

    25 August 2024
  24. 24.1.3

    25 August 2024
  25. 24.1.2

    25 August 2024
  26. 24.1.1

    21 July 2024
  27. 24.1.0

    26 May 2024
  28. 24.0.0

    21 January 2024
  29. 23.2.0

    7 January 2024
  30. 23.1.0

    5 January 2024
  31. 23.0.1

    30 November 2023
  32. 23.0.0

    26 November 2023
  33. 22.1.0

    27 May 2023
  34. 22.0.0

    2 May 2023
  35. 21.1.2

    1 May 2023
  36. 21.1.1

    12 March 2023
  37. 21.1.0

    22 January 2023
  38. 21.0.0

    7 January 2023
  39. 20.0.3

    20 November 2022
  40. 20.0.2

    30 October 2022
  41. 20.0.1

    2 October 2022
  42. 20.0.0

    19 June 2022
  43. 19.0.0

    2 December 2021
  44. 18.1.1

    21 November 2021
  45. 18.1.0

    12 November 2021
  46. 18.0.1

    1 November 2021
  47. 18.0.0

    8 October 2021
  48. 17.0.0

    13 August 2021
  49. 16.7.0

    1 August 2021
  50. 16.6.0

    23 May 2021