Download Latest Version v20.0.0 source code.tar.gz (923.6 kB)
Email in envelope

Get an email when there's a new version of Happy DOM

Home / v19.0.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-09-28 3.9 kB
v19.0.0 source code.tar.gz 2025-09-28 918.8 kB
v19.0.0 source code.zip 2025-09-28 1.6 MB
Totals: 3 Items   2.5 MB 0

:bomb: Breaking Changes

  • Removes support for CommonJS - By @capricorn86 in task [#1730]
    • Support for CommonJS is no longer needed as Node.js v18 is deprecated and v20 and above supports loading ES modules from CommonJS using require()
  • Updates Jest to v30 in the @happy-dom/jest-environment package - By @capricorn86 in task [#1730]
  • Makes Jest packages peer dependencies to make it easier to align versions with the project using @happy-dom/jest-environment - By @capricorn86 in task [#1730]

:art: Features

  • Adds a new package called @happy-dom/server-renderer - By @capricorn86 in task [#1730]
    • This package provides a simple way to statically render (SSG) or server-side render (SSR) your client-side application
    • Read more in the Wiki under Server-Renderer
  • Adds support for import.meta to the ESM compiler - By @capricorn86 in task [#1730]
  • Adds support for the CSS pseudo selector :scope - By @capricorn86 in task [#1620]
  • Improves support for MediaList - By @capricorn86 in task [#1730]
  • Adds support for CSSKeywordValue, CSSStyleValue, StylePropertyMap, StylePropertyMap, StylePropertyMapReadOnly - By @capricorn86 in task [#1730]
  • Improves debug information in the ESM compiler - By @capricorn86 in task [#1730]
  • Adds validation of browser settings when creating a new Browser instance - By @capricorn86 in task [#1730]
  • Adds support for the browser setting navigation.beforeContentCallback which makes it possible to inject event listeners or logic before content is loaded to the document when navigating a browser frame - By @capricorn86 in task [#1730]
  • Adds support for the browser setting fetch.requestHeaders which provides with a declarative and simple way to add request headers - By @capricorn86 in task [#1730]
  • Adds support for setting an object to timer.preventTimerLoops which makes it possible to define different settings for setTimeout() and requestAnimationFrame() - By @capricorn86 in task [#1730]
  • Adds support for the browser setting viewport which makes it possible to define a default viewport size - By @capricorn86 in task [#1730]
  • Adds support for the parameters beforeContentCallback and headers to BrowserFrame.goto(), BrowserFrame.goBack(), BrowserFrame.goForward(), BrowserFrame.goSteps() and BrowserFrame.reload() - By @capricorn86 in task [#1730]
  • Adds support for PopStateEvent and trigger the event when navigating the page history using History.pushState() - By @capricorn86 in task [#1730]
  • Use local file paths for virtual server files in stack traces - By @capricorn86 in task [#1730]
  • Adds support for ResponseCache.fileSystem.load() and ResponseCache.fileSystem.save() for storing and loading cache from the file system - By @capricorn86 in task [#1730]

:construction_worker_man: Patch fixes

  • Fixes a bug in the ESM compiler that caused it to fail to parse certain code - By @capricorn86 in task [#1730]
  • Disables the same origin policy when navigating a browser frame using BrowserFrame.goto() - By @capricorn86 in task [#1730]
  • Fixes bug where CSS selectors with the pseudos "+" and ">" failed for selectors without arguments - By @capricorn86 in task [#1730]
  • Adds try and catch to listeners for events dispatched from XMLHttpRequest to prevent it from being set to an invalid state if a listener throws an Error - By @capricorn86 in task [#1730]
Source: README.md, updated 2025-09-28