Packages/happy-dom

Releases of happy-dom

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

  1. 21.0.3

    15 October 2026

    :construction_worker_man: Patch fixes

    • security

      Fixes security vulnerability where authorization header was forwarded when redirecting - By @capricorn86

  2. 21.0.2

    15 October 2026

    :construction_worker_man: Patch fixes

    • security

      Fixes SSRF security vulnerability by doing a target-origin bypass in the proxy server in @happy-dom/server-renderer - By @capricorn86

  3. 21.0.1

    12 October 2026

    :construction_worker_man: Patch fixes

  4. 21.0.0

    11 October 2026

    :bomb: Breaking Changes

    • breaking

      Disables CSS and IFrame loading by default to prevent server-side request forgery (SSRF) - By @capricorn86

      • An attacker could embed <iframe> or <link rel="stylesheet"> elements in untrusted HTML to make Happy DOM send HTTP requests from the server to attacker-chosen URLs, including internal services. This could allow access to otherwise unreachable endpoints or trigger unintended actions, depending on the application and its network access.

      • The settings property disableCSSFileLoading has been deprecated

      • Added the new settings properties enableCSSFileLoading and enableIframePageLoading

  5. 20.14.6

    8 October 2026

    :construction_worker_man: Patch fixes

    • security

      Fixes cookie scope forgery vulnerability - By @capricorn86

  6. 20.14.5

    12 September 2026

    :construction_worker_man: Patch fixes

    • Preserve character references in comment data - By @hampustagerud in task #2409

  7. 20.14.4

    12 September 2026

    :construction_worker_man: Patch fixes

    • End comments at the first comment end tag when it overlaps a comment start tag - By @hampustagerud in task #2407

  8. 20.14.3

    9 September 2026

    :construction_worker_man: Patch fixes

    • Avoids cloning all properties in CSSPropertyManager.toString - By @erictheswift in task #2363

  9. 20.14.2

    9 September 2026

    :construction_worker_man: Patch fixes

    • Fixes regression where not all CSS variables where resolved in getComputedStyle() - By @klaesra in task #2344

  10. 20.14.1

    9 September 2026

    :construction_worker_man: Patch fixes

    • Invalidate the computed style cache for the whole subtree - By @matmannion and @capricorn86 in task #2366

  11. 20.14.0

    3 September 2026

    :art: Features

    • Improves computed style cache - By @capricorn86 in task #2357

  12. 20.13.2

    2 September 2026

    :construction_worker_man: Patch fixes

    • Fix problem with getComputedStyle with :host and :host-context selectors - By @capricorn86 in task #2349

  13. 20.13.1

    2 September 2026

    :construction_worker_man: Patch fixes

    • GetComputedStyle should return inherited value when it is set to inherit - By @capricorn86 in task #2347

  14. 20.13.0

    2 September 2026

    :art: Features

    • Adds support for :host psuedo query selector - By @capricorn86 in task #2345

  15. 20.12.2

    2 September 2026

    :construction_worker_man: Patch fixes

    • Custom elements should be upgraded when connected to DOM - By @capricorn86 in task #2342

  16. 20.12.1

    1 September 2026

    :art: Features

    • Adds support for kebab-case properties on CSSStyleDeclaration - By @capricorn86 in task #2256

    • Adds support for all Chromium CSS properties to CSSStyleDeclaration - By @capricorn86 in task #2256

      • Downloads a list from the Chromium project when compiling

  17. 20.12.0

    29 August 2026

    :art: Features

    • Adds support for Animation, AnimationTimeline, DocumentTimeline and KeyframeEffect - By @capricorn86

    • Adds support for Element.animate() - By @capricorn86

  18. 20.11.15

    28 August 2026

    :construction_worker_man: Patch fixes

    • Fixes issue with upgrading custom element caused by previous release - By @capricorn86 in task #2331

  19. 20.11.14

    28 August 2026

    :construction_worker_man: Patch fixes

    • Change prototype of element to the custom element when upgraded to keep the reference - By @capricorn86 in task #2331

      • The previous solution replaced the element with the custom element and copied it's properties, but this made any reference to the original element invalid

  20. 20.11.13

    28 August 2026

    :construction_worker_man: Patch fixes

    • Copy event listeners when upgrading a custom element - By @capricorn86 in task #2329

  21. 20.11.12

    27 August 2026

    :construction_worker_man: Patch fixes

    • Add check for if the node is still a parent during disconnect - By @capricorn86 in task #2322

  22. 20.11.11

    27 August 2026

    :construction_worker_man: Patch fixes

    • Use proxy as parent node in Node.connectedToNode - By @diegohaz in task #2253

  23. 20.11.10

    27 August 2026

    :construction_worker_man: Patch fixes

    • Return default validationMessage for built-in constraint violations - By @mixelburg in task #2187

  24. 20.11.9

    27 August 2026

    :construction_worker_man: Patch fixes

    • Make sure that the element has been upgraded before invoking reaction callback in custom elements - By @capricorn86 in task #2317

  25. 20.11.8

    26 August 2026

    :construction_worker_man: Patch fixes

    • Values pushed or assigned to the adoptedStyleSheet array should be validated - By @capricorn86 in task #2315

  26. 20.11.7

    26 August 2026

    :construction_worker_man: Patch fixes

    • The properties Document.adoptedStyleSheets and ShadowRoot.adoptedStyleSheets should validate it's value - By @capricorn86 in task #2313

  27. 20.11.6

    19 August 2026

    :construction_worker_man: Patch fixes

    • Updates docs for the global-registrator package - By @capricorn86 in task #2300

  28. 20.11.5

    19 August 2026

    :construction_worker_man: Patch fixes

    • Allow explicit element types for querySelector (e.g. querySelector<HTMLInputElement>(".my-input")) - By @cyphercodes

  29. 20.11.4

    19 August 2026

    :construction_worker_man: Patch fixes

    • Fixes the CORS check fetch() to match origins instead of host and protocol - By @rexxars in task #1490

  30. 20.11.3

    19 August 2026

    :construction_worker_man: Patch fixes

    • Make document.links return a live HTMLCollection - By @bangseongbeom in task #2299

    • Copy labels array to prevent mutation of cached querySelectorAll result - By @mixelburg in task #2226

  31. 20.11.2

    7 August 2026

    :construction_worker_man: Patch fixes

    • MutationObserver callback being GC'd due to orphaned WeakRef - By @mixelburg in task #2264

  32. 20.11.1

    22 July 2026

    :construction_worker_man: Patch fixes

    • Improve performance of query selectors by avoiding construction of DOMException when not needed - By @@cyfung1031 in task #2228

  33. 20.11.0

    18 July 2026

    :art: Features

  34. 20.10.6

    17 June 2026
  35. 20.10.5

    16 June 2026
  36. 20.10.4

    15 June 2026
  37. 20.10.3

    12 June 2026
  38. 20.10.2

    6 June 2026
  39. 20.10.1

    4 June 2026
  40. 20.10.0

    3 June 2026
  41. 20.9.0

    13 April 2026
  42. 20.8.9

    26 March 2026
  43. 20.8.8

    24 March 2026
  44. 20.8.7

    23 March 2026
  45. 20.8.6

    23 March 2026
  46. 20.8.5

    23 March 2026
  47. 20.8.4

    12 March 2026
  48. 20.8.3

    3 March 2026
  49. 20.8.2

    3 March 2026
  50. 20.8.1

    2 March 2026