github capricorn86/happy-dom v19.0.0

latest release: v19.0.1
8 hours ago

💣 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

🎨 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

👷‍♂️ 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

Don't miss a new happy-dom release

NewReleases is sending notifications on new releases.