You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixes issue where export names can be interpolated as executable code in ESM - By @capricorn86 in task #2113
A security advisory (GHSA-6q6h-j7hj-3r64) has been reported that shows a security vulnerability where it may be possible to escape the VM context and get access to process level functionality in unsafe environments using CommonJS. Big thanks to @tndud042713 for reporting this!
Fixes issue where it wasn't possible to toggle the "open" attribute of <details> by clicking on a child of the <summary> element - By @Nxooah in task #1928
Use Element.classList.contains() instead of splitting className in query selectors to improve performance as it's cached - By @TrevorBurnham in task #1884
Moves URL resolution to after checking if module preloading is enabled to prevent URL errors to be thrown when unresolvable - By @iam-medvedev in task #1851
Fixes issue where CSS variables aren't parsed correctly when inside CSS functions - By @fimion in task #1837
Adds warning for environment with unfrozen intrinsics (builtins) when JavaScript evaluation is enabled- By @capricorn86 in task #1932
A security advisory has been reported showing that the recommended preventive measure of running Node.js with --disallow-code-generation-from-strings wasn't enough to protect against attackers escaping the VM context and accessing process-level functions. Big thanks to @cristianstaicu for reporting this!
The documentation for how to run Happy DOM with JavaScript evaluation enabled in a safer way has been updated. Read more about it in the Wiki
I avoid making breaking changes as much as possible in Happy DOM. When I have to make a breaking change, I try to keep it as minimal as possible. This could be a breaking change that impacts many projects, and I am truly sorry if you are negatively affected by this.
💣 Breaking Changes
Due to security risks, JavaScript evaluation is now disabled by default - By @capricorn86 in task #1930
A security advisory (GHSA-37j7-fg3j-429f) has been reported that shows a security vulnerability where it's possible to escape the VM context and get access to process level functionality. Big thanks to @Mas0nShi for reporting this!
Due to this security risk, JavaScript evaluation is now disabled by default to prevent that consumers accidentally executes untrusted code without taking precautions
JavaScript evaluation can be enabled by setting enableJavaScriptEvaluation to "true". Read more about how to enable this in a safer way in the Wiki
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
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
Configuration
📅 Schedule: (UTC)
Branch creation
"on Monday"
Automerge
At any time (no schedule defined)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
If you want to rebase/retry this PR, check this box
Updated Dependency Version
The version of the 'happy-dom' dependency used in the project has been updated. This could enhance the performance of the project and potentially bring new features or bug fixes from the latest version.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^18.0.1→^20.12.0Release Notes
capricorn86/happy-dom (happy-dom)
v20.12.0Compare Source
v20.11.15Compare Source
👷♂️ Patch fixes
v20.11.14Compare Source
v20.11.13Compare Source
👷♂️ Patch fixes
v20.11.12Compare Source
👷♂️ Patch fixes
v20.11.11Compare Source
v20.11.10Compare Source
v20.11.9Compare Source
v20.11.8Compare Source
👷♂️ Patch fixes
v20.11.7Compare Source
👷♂️ Patch fixes
v20.11.6Compare Source
👷♂️ Patch fixes
v20.11.5Compare Source
v20.11.4Compare Source
v20.11.3Compare Source
👷♂️ Patch fixes
v20.11.2Compare Source
👷♂️ Patch fixes
v20.11.1Compare Source
v20.11.0Compare Source
🎨 Features
v20.10.6Compare Source
👷♂️ Patch fixes
v20.10.5Compare Source
👷♂️ Patch fixes
v20.10.4Compare Source
👷♂️ Patch fixes
v20.10.3Compare Source
👷♂️ Patch fixes
v20.10.2Compare Source
👷♂️ Patch fixes
v20.10.1Compare Source
v20.10.0Compare Source
🎨 Features
v20.9.0Compare Source
🎨 Features
Window.onkeydown) - By @capricorn86 in task #2131v20.8.9Compare Source
👷♂️ Patch fixes
v20.8.8Compare Source
👷♂️ Patch fixes
v20.8.7Compare Source
👷♂️ Patch fixes
Consolewith commonIConsoleinterface to support latest version of Bun - By @YevheniiKotyrlo in task #1845v20.8.6Compare Source
👷♂️ Patch fixes
Request.formData()should honor "Content-Type" header - By @brianhelba in task #2106v20.8.5Compare Source
👷♂️ Patch fixes
connectedCallback()- By @capricorn86 in task #2110v20.8.4Compare Source
👷♂️ Patch fixes
v20.8.3Compare Source
👷♂️ Patch fixes
EventinEventTarget.dispatchEvent()- By @capricorn86 in task #2054v20.8.2Compare Source
👷♂️ Patch fixes
Event.cancelBubbleandEvent.defaultPreventedwhen callingEvent.initEvent()- By @capricorn86 in task #2090v20.8.1Compare Source
👷♂️ Patch fixes
v20.8.0Compare Source
🎨 Features
v20.7.2Compare Source
👷♂️ Patch fixes
v20.7.1Compare Source
👷♂️ Patch fixes
>) and universal (*) query selectors - By @Cherry in task #2078v20.7.0Compare Source
🎨 Features
Window.getScreenDetails()- By @TrevorBurnham in task #1923ScreenfromEventTarget- By @TrevorBurnham in task #1923v20.6.5Compare Source
👷♂️ Patch fixes
v20.6.4Compare Source
👷♂️ Patch fixes
v20.6.3Compare Source
👷♂️ Patch fixes
[data-value="it's a test"]) - By @capricorn86 in task #2034v20.6.2Compare Source
👷♂️ Patch fixes
v20.6.1Compare Source
👷♂️ Patch fixes
rgba()- By @atzzCokeK in task #2042v20.6.0Compare Source
🎨 Features
@happy-dom/global-registratorpackage - By @capricorn86 in task #2060v20.5.5Compare Source
👷♂️ Patch fixes
v20.5.4Compare Source
👷♂️ Patch fixes
v20.5.3Compare Source
👷♂️ Patch fixes
v20.5.2Compare Source
👷♂️ Patch fixes
v20.5.1Compare Source
👷♂️ Patch fixes
HTMLInputElement.stepUp()andHTMLInputElement.stepDown()to work according to spec - By @stevematney in task #1955v20.5.0Compare Source
👷♂️ Patch fixes
import typeandexport type) - By @capricorn86 in task #2055v20.4.0Compare Source
🎨 Features
v20.3.9Compare Source
👷♂️ Patch fixes
v20.3.8Compare Source
👷♂️ Patch fixes
focusNodeandfocusOffsetin the Selection API returned incorrect values - By @skoch13 in task #1850v20.3.7Compare Source
👷♂️ Patch fixes
v20.3.6Compare Source
👷♂️ Patch fixes
<details>by clicking on a child of the<summary>element - By @Nxooah in task #1928v20.3.5Compare Source
👷♂️ Patch fixes
BrowserFrameURLto avoid mock interference - By @marchaos in task #1964CookieURLUtility- By @marchaos in task #1968v20.3.4Compare Source
👷♂️ Patch fixes
<p>elements per HTML spec - By @TrevorBurnham in task #1949EventTargetshould not call arbitrary on* properties - By @TrevorBurnham in task #1895v20.3.3Compare Source
👷♂️ Patch fixes
KeyboardEvent- By @TrevorBurnham in task #1897Node.getRootNode()returns correct root for detached shadow trees - By @TrevorBurnham in task #1941Node.contains()to work for<select>and<form>elements - By @TrevorBurnham in task #1876setTimeout()withqueueMicrotask()where appropriate - By @TrevorBurnham in task #1880XMLEncodeUtilitywith pre-compiledRegExpand lookup tables - By @TrevorBurnham in task #1983parseFloat()for "Cache-Control" header max-age parsing - By @TrevorBurnham in task #1985RegExpflags inHTMLParser- By @TrevorBurnham in task #1981v20.3.2Compare Source
👷♂️ Patch fixes
PropertySymbol.bodyto set body incloneBodyStream- By @TrevorBurnham in task #1963DOMTokenListadd/remove with Set for O - By @TrevorBurnham in task #1989WebSocketURLs - By @TrevorBurnham in task #1975v20.3.1Compare Source
👷♂️ Patch fixes
DataTransfer.getData()- By @marchaos in task #1965XMLHttpRequest- By @rexxars in task #1890v20.3.0Compare Source
🎨 Features
RegExpto convert ASCII character casing to improve performance - By @TrevorBurnham in task #1886v20.2.0Compare Source
🎨 Features
Element.classList.contains()instead of splittingclassNamein query selectors to improve performance as it's cached - By @TrevorBurnham in task #1884v20.1.1Compare Source
👷♂️ Patch fixes
querySelector()- By @TrevorBurnham in task #1882querySelector()to improve performance - By @TrevorBurnham in task #1882v20.1.0Compare Source
🎨 Features
BrowserPage.evaluateModule()andBrowserFrame.evaluateModule()- By @capricorn86 in task #1944moduleto the browser settings - By @capricorn86 in task #1944import()to JavaScript evaluation - By @capricorn86 in task #1944type="module"on script elementsWebSocket- By @capricorn86 in task #1944CloseEvent- By @capricorn86 in task #1944render.setupScriptandrender.modeto the configuration in @happy-dom/server-renderer - By @capricorn86 in task #1944urlstorenderItemsin the configuration in @happy-dom/server-renderer - By @capricorn86 in task #1944ServerRendererin @happy-dom/server-renderer - By @capricorn86 in task #1944👷♂️ Patch fixes
v20.0.11Compare Source
👷♂️ Patch fixes
v20.0.10Compare Source
👷♂️ Patch fixes
v20.0.9Compare Source
👷♂️ Patch fixes
v20.0.8Compare Source
👷♂️ Patch fixes
previousSibling()andnextSibling()didn't work inHTMLSelectElementandHTMLFormElement- By @capricorn86 in task #1939<tr>) should be valid inside a<template>element - By @capricorn86 in task #1939v20.0.7Compare Source
👷♂️ Patch fixes
>=operator in media query parser - By @lkritsimas in task #1869v20.0.6Compare Source
👷♂️ Patch fixes
DOMTokenList.forEach(),Headers.forEach()andNodeList.forEach()to be spec compliant - By @ikeyan in task #1858v20.0.5Compare Source
👷♂️ Patch fixes
TreeWalker.currentNodeshould validate if the value is aNode- By @capricorn86 in task #1935v20.0.4Compare Source
👷♂️ Patch fixes
FormDataif they are the submitter - By @maxmil and @karpiuMG in task #1859
v20.0.3Compare Source
👷♂️ Patch fixes
v20.0.2Compare Source
👷♂️ Patch fixes
@happy-dom/server-renderer- By @capricorn86 in task #1934v20.0.1Compare Source
👷♂️ Patch fixes
--disallow-code-generation-from-stringswasn't enough to protect against attackers escaping the VM context and accessing process-level functions. Big thanks to @cristianstaicu for reporting this!v20.0.0Compare Source
I avoid making breaking changes as much as possible in Happy DOM. When I have to make a breaking change, I try to keep it as minimal as possible. This could be a breaking change that impacts many projects, and I am truly sorry if you are negatively affected by this.
💣 Breaking Changes
v19.0.2Compare Source
👷♂️ Patch fixes
:scopethat didn't work correctly for direct descendants to root - By @capricorn86 in task #1620v19.0.1Compare Source
👷♂️ Patch fixes
@happy-dom/server-rendererconfig using CLI - By @capricorn86 in task #1908v19.0.0Compare Source
💣 Breaking Changes
require()@happy-dom/jest-environmentpackage - By @capricorn86 in task #1730@happy-dom/jest-environment- By @capricorn86 in task #1730🎨 Features
@happy-dom/server-renderer- By @capricorn86 in task #1730import.metato the ESM compiler - By @capricorn86 in task #1730:scope- By @capricorn86 in task #1620MediaList- By @capricorn86 in task #1730CSSKeywordValue,CSSStyleValue,StylePropertyMap,StylePropertyMap,StylePropertyMapReadOnly- By @capricorn86 in task #1730Browserinstance - By @capricorn86 in task #1730setTimeout()andrequestAnimationFrame()- By @capricorn86 in task #1730beforeContentCallbackandheaderstoBrowserFrame.goto(),BrowserFrame.goBack(),BrowserFrame.goForward(),BrowserFrame.goSteps()andBrowserFrame.reload()- By @capricorn86 in task #1730PopStateEventand trigger the event when navigating the page history usingHistory.pushState()- By @capricorn86 in task #1730ResponseCache.fileSystem.load()andResponseCache.fileSystem.save()for storing and loading cache from the file system - By @capricorn86 in task #1730👷♂️ Patch fixes
BrowserFrame.goto()- By @capricorn86 in task #1730XMLHttpRequestto prevent it from being set to an invalid state if a listener throws an Error - By @capricorn86 in task #1730Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.