This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [happy-dom](https://redirect.github.com/capricorn86/happy-dom) | [`^12.0.0` -> `^17.0.0`](https://renovatebot.com/diffs/npm/happy-dom/12.10.3/17.1.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>capricorn86/happy-dom (happy-dom)</summary> ### [`v17.1.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.1.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.1.0...v17.1.1) ##### 🎨 Features - Adds support for the `@media` selector "forced-colors" - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1727](https://redirect.github.com/capricorn86/happy-dom/issues/1727) - Read more about how to set the value in the [Wiki for IBrowserSettings](https://redirect.github.com/capricorn86/happy-dom/wiki/IBrowserSettings) under "device.forcedColors" ##### 👷♂️ Patch fixes - Fixes issue where it was not possible to nest `@media`, `@supports` and `@container` rules - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1727](https://redirect.github.com/capricorn86/happy-dom/issues/1727) - Fixes issue where `CSSStyleSheet` was instantiated internally without a Window context, causing errors to not be thrown correctly in `CSSStyleSheet` methods - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1727](https://redirect.github.com/capricorn86/happy-dom/issues/1727) - Changes errors thrown in `CSSStyleSheet` methods, so that they work according to spec - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1727](https://redirect.github.com/capricorn86/happy-dom/issues/1727) ### [`v17.1.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.1.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.0.4...v17.1.0) ##### 🎨 Features - Add support for CSS media query rule "prefers-reduced-motion" - By **[@​mwdiaz](https://redirect.github.com/mwdiaz)** in task [#​1724](https://redirect.github.com/capricorn86/happy-dom/issues/1724) - Read more about how to set this value under [IBrowserSettings](https://redirect.github.com/capricorn86/happy-dom/wiki/IBrowserSettings) in the Wiki. ### [`v17.0.4`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.0.4) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.0.3...v17.0.4) ##### 👷♂️ Patch fixes - The "slotchange" event should be fired after the element has been connected to the DOM - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1722](https://redirect.github.com/capricorn86/happy-dom/issues/1722) ### [`v17.0.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.0.3) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.0.2...v17.0.3) ##### 👷♂️ Patch fixes - Fix bug where nested query selector is not returning the correct result when there are multiple matching selectorGroups - By \*\*[@​christiango](https://redirect.github.com/christiango) \*\* in task [#​1720](https://redirect.github.com/capricorn86/happy-dom/issues/1720) ### [`v17.0.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.0.2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.0.1...v17.0.2) ##### 👷♂️ Patch fixes - The property "tabIndex" should return "0" by default in `HTMLAnchorElement`, `HTMLAreaElement`, `HTMLButtonElement`, `HTMLIFrameElement`, `HTMLInputElement`, `HTMLMediaElement`, `HTMLObjectElement`, `HTMLSelectElement` and `HTMLTextAreaElement` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1714](https://redirect.github.com/capricorn86/happy-dom/issues/1714) ### [`v17.0.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.0.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.0.0...v17.0.1) ##### 👷♂️ Patch fixes - Ensure `querySelector()` returns the first item that appears in the DOM for grouped selectors - By **[@​christiango](https://redirect.github.com/christiango)** in task [#​1710](https://redirect.github.com/capricorn86/happy-dom/issues/1710) ### [`v17.0.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.0.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.8.1...v17.0.0) ##### 💣 Breaking Changes - Adds support for ECMAScript modules - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​320](https://redirect.github.com/capricorn86/happy-dom/issues/320) - This change allows the use of `import` and `export` statements in JavaScript files ##### 🎨 Features - Adds support for tracing never ending tasks when using `waitUntilComplete()` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1567](https://redirect.github.com/capricorn86/happy-dom/issues/1567) - Read more about how to enable this feature under `debug.traceWaitUntilComplete` in the Wiki for [IBrowserSettings](https://redirect.github.com/capricorn86/happy-dom/wiki/IBrowserSettings) - Adds support for preloading fetch, stylesheet, script and modules in `HTMLLinkElement` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​320](https://redirect.github.com/capricorn86/happy-dom/issues/320) - Adds support for `HTMLLinkElement.relList.supports()` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​320](https://redirect.github.com/capricorn86/happy-dom/issues/320) - Adds support for `Request.mode` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​320](https://redirect.github.com/capricorn86/happy-dom/issues/320) - Output failed requests to the console - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​320](https://redirect.github.com/capricorn86/happy-dom/issues/320) - Adds support for `HTMLScriptElement.blocking`, `HTMLScriptElement.crossOrigin`, `HTMLScriptElement.fetchPriority`, `HTMLScriptElement.noModule`, `HTMLScriptElement.integrity`, `HTMLScriptElement.referrerPolicy` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​320](https://redirect.github.com/capricorn86/happy-dom/issues/320) - Use cache in virtual server requests - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​320](https://redirect.github.com/capricorn86/happy-dom/issues/320) - Adds support for `credentials` and `referrerPolicy` when fetching styles and scripts - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​320](https://redirect.github.com/capricorn86/happy-dom/issues/320) - Disallow invalid attributes from being set in `Element.setAttribute()` - By **[@​OlaviSau](https://redirect.github.com/OlaviSau)** in task [#​1706](https://redirect.github.com/capricorn86/happy-dom/issues/1706) ##### 👷♂️ Patch fixes - Call `afterAsyncResponse` fetch interceptor in virtual server requests - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​320](https://redirect.github.com/capricorn86/happy-dom/issues/320) - Fixes bug where children in a `ShadowRoot` of a custom element that was upgraded from a `HTMLElement` wasn't considered connected to the DOM - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​320](https://redirect.github.com/capricorn86/happy-dom/issues/320) ### [`v16.8.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.8.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.8.0...v16.8.1) ##### 👷♂️ Patch fixes - Handle non-string values gracefully when removing an attribute - By **[@​OlaviSau](https://redirect.github.com/OlaviSau)** in task [#​1706](https://redirect.github.com/capricorn86/happy-dom/issues/1706) ### [`v16.8.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.8.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.7.3...v16.8.0) ##### 🎨 Features - Add support for `insertRow()` and `deleteRow()` to `HTMLTableSectionElement` - By **[@​christiango](https://redirect.github.com/christiango)** in task [#​1708](https://redirect.github.com/capricorn86/happy-dom/issues/1708) ### [`v16.7.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.7.3) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.7.2...v16.7.3) ##### 👷♂️ Patch fixes - Removes space from directory name that prevents the repo to be cloned on MS Windows - By **[@​kleinfreund](https://redirect.github.com/kleinfreund)** in task [#​1703](https://redirect.github.com/capricorn86/happy-dom/issues/1703) ### [`v16.7.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.7.2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.7.1...v16.7.2) ##### 👷♂️ Patch fixes - Ignore invalid cookies in CookieContainer - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1693](https://redirect.github.com/capricorn86/happy-dom/issues/1693) ### [`v16.7.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.7.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.7.0...v16.7.1) ##### 👷♂️ Patch fixes - Adds `ICookie`, `IOptionalCookie`, `CookieSameSiteEnum` and `IVirtualServer` as exports to the index file - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1693](https://redirect.github.com/capricorn86/happy-dom/issues/1693) - Makes non-mandatory cookie properties optional in `CookieContainer.addCookies()` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1693](https://redirect.github.com/capricorn86/happy-dom/issues/1693) ### [`v16.7.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.7.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.6.0...v16.7.0) ##### 🎨 Features - Adds support for simulating local HTTP servers that serves files from the local file system - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1688](https://redirect.github.com/capricorn86/happy-dom/issues/1688) - Read more about virtual servers in the [Wiki](https://redirect.github.com/capricorn86/happy-dom/wiki/IVirtualServer) ### [`v16.6.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.6.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.5.3...v16.6.0) ##### 🎨 Features - Adds support for subsequent sibling combinator to `querySelector()`, `querySelectorAll()` and `matches()` (e.g. ".a ~ .b") - By **[@​karpiuMG](https://redirect.github.com/karpiuMG)** in task [#​1683](https://redirect.github.com/capricorn86/happy-dom/issues/1683) ### [`v16.5.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.5.3) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.5.2...v16.5.3) ##### 👷♂️ Patch fixes - Fixes problem with encoding and decoding attribute values in HTML - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1678](https://redirect.github.com/capricorn86/happy-dom/issues/1678) - Fixes issue where it was not possible to query selector by class when the attribute value had line breaks in it - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1678](https://redirect.github.com/capricorn86/happy-dom/issues/1678) ### [`v16.5.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.5.2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.5.1...v16.5.2) ##### 👷♂️ Patch fixes - `Event.target` should be the target element after an event has been dispatched - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1529](https://redirect.github.com/capricorn86/happy-dom/issues/1529) ### [`v16.5.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.5.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.5.0...v16.5.1) ##### 👷♂️ Patch fixes - Fixes issue where `Comment`, `Text` and `DocumentFragment` are not instances of their corresponding property on `Window` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1577](https://redirect.github.com/capricorn86/happy-dom/issues/1577) ### [`v16.5.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.5.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.4.3...v16.5.0) ##### 🎨 Features - Adds property `GlobalRegistrator.isRegistered` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1670](https://redirect.github.com/capricorn86/happy-dom/issues/1670) ### [`v16.4.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.4.3) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.4.2...v16.4.3) ##### 👷♂️ Patch fixes - Adds null check for if browser frame is available in `Response` during tear down of the `Window` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1669](https://redirect.github.com/capricorn86/happy-dom/issues/1669) ### [`v16.4.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.4.2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.4.1...v16.4.2) ##### 👷♂️ Patch fixes - Support using URL as an object for URL:s when using the Browser API - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1664](https://redirect.github.com/capricorn86/happy-dom/issues/1664) ### [`v16.4.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.4.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.4.0...v16.4.1) ##### 👷♂️ Patch fixes - Fixes issue where HTML assigned to `document.documentElement.innerHTML` isnt parsed correctly since v16 - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1663](https://redirect.github.com/capricorn86/happy-dom/issues/1663) ### [`v16.4.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.4.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.3.0...v16.4.0) ##### 🎨 Features - Allow fetch to be intercepted and modified by sending in an interceptor as a setting - By **[@​OlaviSau](https://redirect.github.com/OlaviSau)** in task [#​1502](https://redirect.github.com/capricorn86/happy-dom/issues/1502) - Read more about this in the Wiki at [IFetchInterceptor](https://redirect.github.com/capricorn86/happy-dom/wiki/IFetchInterceptor) ### [`v16.3.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.3.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.9...v16.3.0) ##### 🎨 Features - Adds support for child combinator to ":has()" pseudo selector (e.g. "span:has(> video)") - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1642](https://redirect.github.com/capricorn86/happy-dom/issues/1642) ### [`v16.2.9`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.2.9) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.8...v16.2.9) ##### 👷♂️ Patch fixes - Fixes the `HTMLInputElement.defaultChecked` property - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1587](https://redirect.github.com/capricorn86/happy-dom/issues/1587) - This issue caused React not to serialize the "checked" attribute correctly ### [`v16.2.8`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.2.8) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.7...v16.2.8) ##### 👷♂️ Patch fixes - Fixes issue where the wrong event target was used when dispatching events on `HTMLFormElement` or `HTMLSelectElement` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1628](https://redirect.github.com/capricorn86/happy-dom/issues/1628) ### [`v16.2.7`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.2.7) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.6...v16.2.7) ##### 👷♂️ Patch fixes - Fixes issue where text in `<script>` and `<style>` elements should not be decoded or encoded - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1564](https://redirect.github.com/capricorn86/happy-dom/issues/1564) ### [`v16.2.6`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.2.6) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.5...v16.2.6) ##### 👷♂️ Patch fixes - Fixes problem where snapshots did not result in HTML for `<form>` and `<select>` elements - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1608](https://redirect.github.com/capricorn86/happy-dom/issues/1608) ### [`v16.2.5`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.2.5) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.4...v16.2.5) ##### 👷♂️ Patch fixes - Fixes bug where the reference to a parent `HTMLFormElement` and `HTMLSelectElement` was wrong which affected the methods `remove()`, `replaceWith()`, `before()`, `after()`, `append()`, `prepend()`, `replaceChildren()` and `insertAdjacentElement()` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1637](https://redirect.github.com/capricorn86/happy-dom/issues/1637) ### [`v16.2.4`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.2.4) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.3...v16.2.4) ##### 👷♂️ Patch fixes - Fixes bug where the incorrect location is set after a redirect in `BrowserFrame.goto()` and `DetachedBrowserFrame.goto()` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1627](https://redirect.github.com/capricorn86/happy-dom/issues/1627) ### [`v16.2.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.2.3) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.2...v16.2.3) ##### 👷♂️ Patch fixes - Fixes the implementation for the `HTMLTableCellElement.headers` property - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1634](https://redirect.github.com/capricorn86/happy-dom/issues/1634) ### [`v16.2.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.2.2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.1...v16.2.2) ##### 👷♂️ Patch fixes - Improves error when a Symbol object is being sent to `querySelector()` or `querySelectorAll()` as selector - By **[@​chocolateboy](https://redirect.github.com/chocolateboy)** in task [#​1640](https://redirect.github.com/capricorn86/happy-dom/issues/1640) ### [`v16.2.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.2.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.2.0...v16.2.1) ##### 👷♂️ Patch fixes - Set request credentials to "same-origin" in `XMLHttpRequest` when "withCredentials" is false - By **[@​saitonakamura](https://redirect.github.com/saitonakamura)** in task [#​1631](https://redirect.github.com/capricorn86/happy-dom/issues/1631) ### [`v16.2.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.2.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.1.0...v16.2.0) ##### 🎨 Features - Adds support for `Window.scrollBy()` and `Element.scrollBy()` - By **[@​OlaviSau](https://redirect.github.com/OlaviSau)** in task [#​1623](https://redirect.github.com/capricorn86/happy-dom/issues/1623) ### [`v16.1.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.1.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.0.1...v16.1.0) ##### 🎨 Features - Add support for using whitespace-separated list to `getElementsByClassName()` - By **[@​kylehalleman](https://redirect.github.com/kylehalleman)** in task [#​1551](https://redirect.github.com/capricorn86/happy-dom/issues/1551) ### [`v16.0.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.0.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v16.0.0...v16.0.1) ##### 👷♂️ Patch fixes - Fixes problem with children of created documents (e.g. `document.implementation.createHTMLDocument()`) not being considered as connected to a DOM that was introduced in v16 - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1647](https://redirect.github.com/capricorn86/happy-dom/issues/1647) ### [`v16.0.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v16.0.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.11.7...v16.0.0) ##### 💣 Breaking Changes - Refactors XML and HTML parsing and serialization - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1615](https://redirect.github.com/capricorn86/happy-dom/issues/1615) - This change may break your tests as the serialized output may differ from v15 ##### 🎨 Features - Adds support for parsing XML in `DOMParser` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​284](https://redirect.github.com/capricorn86/happy-dom/issues/284) - Improved performance in `document.write()` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1615](https://redirect.github.com/capricorn86/happy-dom/issues/1615) - Elements are now added directly to the document during parsing ##### 👷♂️ Patch fixes - Fix for handling `<html>`, `<head>` and `<body>` during parsing - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1615](https://redirect.github.com/capricorn86/happy-dom/issues/1615) - Fix for handling HTML entities correctly when parsing and serializing - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1494](https://redirect.github.com/capricorn86/happy-dom/issues/1494) and [#​1498](https://redirect.github.com/capricorn86/happy-dom/issues/1498) - Fix for handling attribute names containing "\[" or "]" during parsing - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1638](https://redirect.github.com/capricorn86/happy-dom/issues/1638) - Fix for handling comments containing HTML tags - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1630](https://redirect.github.com/capricorn86/happy-dom/issues/1630) - Fix for handling namespaces in `XMLSerializer` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1615](https://redirect.github.com/capricorn86/happy-dom/issues/1615) - Handles rules for parsing table elements - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1126](https://redirect.github.com/capricorn86/happy-dom/issues/1126) - Loads scripts asynchronously when "defer" is set or "type" is "module" - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1615](https://redirect.github.com/capricorn86/happy-dom/issues/1615) ### [`v15.11.7`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.11.7) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.11.6...v15.11.7) ##### 👷♂️ Patch fixes - Allow for an URL to be a string or an URL object in `History.pushState()` and `History.replaceState()` - By **[@​sohailalam2](https://redirect.github.com/sohailalam2)** in task [#​1621](https://redirect.github.com/capricorn86/happy-dom/issues/1621) ### [`v15.11.6`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.11.6) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.11.5...v15.11.6) ##### 👷♂️ Patch fixes - Adds support for `window.TextEncoder` and `window.TextDecoder` - By **[@​iradonov](https://redirect.github.com/iradonov)** in task [#​1611](https://redirect.github.com/capricorn86/happy-dom/issues/1611) ### [`v15.11.5`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.11.5) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.11.4...v15.11.5) ##### 👷♂️ Patch fixes - `HTMLSelectElement` should not dispatch "change" event when changing value or index - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1603](https://redirect.github.com/capricorn86/happy-dom/issues/1603) ### [`v15.11.4`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.11.4) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.11.3...v15.11.4) ##### 👷♂️ Patch fixes - Strings should be converted into numbers in setters for `HTMLMeterElement` and `HTMLProgressElement` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1601](https://redirect.github.com/capricorn86/happy-dom/issues/1601) ### [`v15.11.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.11.3) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.11.2...v15.11.3) ##### 👷♂️ Patch fixes - Consider null as empty string in the setter for `HTMLInputElement.value` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1604](https://redirect.github.com/capricorn86/happy-dom/issues/1604) ### [`v15.11.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.11.2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.11.1...v15.11.2) ##### 👷♂️ Patch fixes - Fixes bug where pseudo selectors without an ending parentheses threw an in invalid selector error - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1558](https://redirect.github.com/capricorn86/happy-dom/issues/1558) - Fixes bug where it was not possible to use the characters ":" and "\\" in attribute selectors - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1561](https://redirect.github.com/capricorn86/happy-dom/issues/1561) ### [`v15.11.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.11.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.11.0...v15.11.1) ##### 👷♂️ Patch fixes - Fixes bug where `Document.activeElement` is set to the wrong target when triggering `HTMLSelectElement.focus()` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1592](https://redirect.github.com/capricorn86/happy-dom/issues/1592) - `HTMLSelectElement` is a `Proxy` since v15 and `focus()` was setting the target of the `Proxy` as the active element, but should set the `Proxy` ### [`v15.11.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.11.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.10.8...v15.11.0) ##### 🎨 Features - Adds support for the `:disabled` pseudo-class in CSS and query selectors - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1159](https://redirect.github.com/capricorn86/happy-dom/issues/1159) ### [`v15.10.8`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.10.8) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.10.7...v15.10.8) ##### 👷♂️ Patch fixes - Validate that object is of type `Blob` in `FileReader.readAsArrayBuffer()`, `FileReader.readAsBinaryString()`, `FileReader.readAsDataURL()` and `FileReader.readAsText()` - By **[@​btea](https://redirect.github.com/btea)** in task [#​1565](https://redirect.github.com/capricorn86/happy-dom/issues/1565) ### [`v15.10.7`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.10.7) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.10.6...v15.10.7) ##### 👷♂️ Patch fixes - Cookies with values that contains "=" should be supported - By **[@​btea](https://redirect.github.com/btea)** in task [#​1570](https://redirect.github.com/capricorn86/happy-dom/issues/1570) ### [`v15.10.6`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.10.6) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.10.5...v15.10.6) ##### 👷♂️ Patch fixes - Accept objects with a stringifier (such as a `URL` object) in `Location.assign()` and `Location.replace()` - By **[@​silverwind](https://redirect.github.com/silverwind)** in task [#​1568](https://redirect.github.com/capricorn86/happy-dom/issues/1568) ### [`v15.10.5`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.10.5) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.10.4...v15.10.5) ##### 👷♂️ Patch fixes - Fixes incorrect serialization of special characters in raw text elements such as `<script>` and `<style>` - By **[@​BenjaminAster](https://redirect.github.com/BenjaminAster)** in task [#​1566](https://redirect.github.com/capricorn86/happy-dom/issues/1566) ### [`v15.10.4`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.10.4) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.10.3...v15.10.4) ##### 👷♂️ Patch fixes - Adds missing setter for the `HTMLMediaElement.srcObject` property - By **[@​ewesemann](https://redirect.github.com/ewesemann)** in task [#​1557](https://redirect.github.com/capricorn86/happy-dom/issues/1557) ### [`v15.10.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.10.3) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.10.2...v15.10.3) ##### 👷♂️ Patch fixes - Allow to set custom export conditions in `@happy-dom/jest-environment` - By **[@​aearly](https://redirect.github.com/aearly)** in task [#​1555](https://redirect.github.com/capricorn86/happy-dom/issues/1555) ### [`v15.10.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.10.2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.10.1...v15.10.2) ##### 👷♂️ Patch fixes - Fixes a security vulnerability that allowed for server side code to be executed by a `<script>` tag - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1585](https://redirect.github.com/capricorn86/happy-dom/issues/1585) - There was a case that was missed with the first patch ### [`v15.10.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.10.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.10.0...v15.10.1) ##### 👷♂️ Patch fixes - Fixes a security vulnerability that allowed for server side code to be executed by a `<script>` tag - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1585](https://redirect.github.com/capricorn86/happy-dom/issues/1585) ### [`v15.10.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.10.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.9.0...v15.10.0) ##### 🎨 Features - Adds a new setting called `disableSameOriginPolicy` that makes it possible to bypass the same-origin policy in fetch requests - By **[@​OlaviSau](https://redirect.github.com/OlaviSau)** in task [#​1553](https://redirect.github.com/capricorn86/happy-dom/issues/1553) ### [`v15.9.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.9.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.8.5...v15.9.0) ##### 🎨 Features - Adds support for "aspect-ratio" to `CSSStyleDeclaration` - By **[@​yinm](https://redirect.github.com/yinm)** in task [#​1147](https://redirect.github.com/capricorn86/happy-dom/issues/1147) ### [`v15.8.5`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.8.5) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.8.4...v15.8.5) ##### 👷♂️ Patch fixes - Fixes bug where `Node.getRootNode()` returned null when it was within a `ShadowRoot` that previously been disconnected from the `Document` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1581](https://redirect.github.com/capricorn86/happy-dom/issues/1581) ### [`v15.8.4`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.8.4) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.8.3...v15.8.4) ##### 👷♂️ Patch fixes - Fixes bug where child nodes of `HTMLSelectElement` and `HTMLFormElement` had the wrong reference to the parent - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1578](https://redirect.github.com/capricorn86/happy-dom/issues/1578) ### [`v15.8.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.8.3) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.8.2...v15.8.3) ##### 👷♂️ Patch fixes - Toggle "open" attribute on `HTMLDetailsElement` when dispatching a click event on a summary element which is a child of the details element - By **[@​mikedidomizio](https://redirect.github.com/mikedidomizio)** in task [#​1534](https://redirect.github.com/capricorn86/happy-dom/issues/1534) ### [`v15.8.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.8.2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.8.1...v15.8.2) ##### 👷♂️ Patch fixes - Use `globalThis` instead of `global` to make Happy DOM work in other runtimes such as Cloudflare workers - By **[@​mattallty](https://redirect.github.com/mattallty)** in task [#​1546](https://redirect.github.com/capricorn86/happy-dom/issues/1546) ### [`v15.8.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.8.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.8.0...v15.8.1) ##### 👷♂️ Patch fixes - Always return `Promise<Blob>` from `ClipboardItem.getType()` - By **[@​ezzatron](https://redirect.github.com/ezzatron)** in task [#​1538](https://redirect.github.com/capricorn86/happy-dom/issues/1538) ### [`v15.8.0`](https://redirect.github.com/capricorn86/happy-dom/compare/v15.7.4...33a72ca38277d2aab5341b4b66b0ca6380285c0b) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.7.4...v15.8.0) ### [`v15.7.4`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.7.4) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.7.3...v15.7.4) ##### 👷♂️ Patch fixes - Fixes incorrect handling of non-node items inserted using `replaceWith()`, `before()` and `after()` - By **[@​BenjaminAster](https://redirect.github.com/BenjaminAster)** in task [#​1533](https://redirect.github.com/capricorn86/happy-dom/issues/1533) ### [`v15.7.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.7.3) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.7.2...v15.7.3) ##### 👷♂️ Patch fixes - Fixes bug that occurs when checking if a symbol property exists on `HTMLSelectElement` - By **[@​Cherry](https://redirect.github.com/Cherry)** in task [#​1526](https://redirect.github.com/capricorn86/happy-dom/issues/1526) ### [`v15.7.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.7.2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.7.1...v15.7.2) ##### 👷♂️ Patch fixes - Fixes problem where it is not possible to observe again after disconnecting in `MutationObserver` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1524](https://redirect.github.com/capricorn86/happy-dom/issues/1524) ### [`v15.7.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.7.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.7.0...v15.7.1) ##### 👷♂️ Patch fixes - Fixes selector validation and converts selectors to string (e.g. `querySelector(['.class'])`) - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1507](https://redirect.github.com/capricorn86/happy-dom/issues/1507) ### [`v15.7.0`](https://redirect.github.com/capricorn86/happy-dom/compare/v15.6.1...9bde659a1f05519c3986ec1a0bba9d12526525f7) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.6.1...v15.7.0) ### [`v15.6.1`](https://redirect.github.com/capricorn86/happy-dom/compare/v15.6.0...86748dba632a1716247785851c0009d2256f23ef) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.6.0...v15.6.1) ### [`v15.6.0`](https://redirect.github.com/capricorn86/happy-dom/compare/v15.5.0...71d243a6a3583cbc376dc90513d5739e96064691) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.5.0...v15.6.0) ### [`v15.5.0`](https://redirect.github.com/capricorn86/happy-dom/compare/v15.4.3...fec1c0165753112715e1295cc57bb0c16b679b39) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.4.3...v15.5.0) ### [`v15.4.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.4.3) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.4.2...v15.4.3) ##### 👷♂️ Patch fixes - Adds support for supporting new lines and tabs as white-space character in CSS selectors - By **[@​syi0808](https://redirect.github.com/syi0808)** in task [#​1414](https://redirect.github.com/capricorn86/happy-dom/issues/1414) ### [`v15.4.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.4.2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.4.1...v15.4.2) ##### 👷♂️ Patch fixes - Typo in CORS rejection error message - By **[@​rexxars](https://redirect.github.com/rexxars)** in task [#​1485](https://redirect.github.com/capricorn86/happy-dom/issues/1485) ### [`v15.4.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.4.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.4.0...v15.4.1) ##### 👷♂️ Patch fixes - Throw error in `FormData.append()` when value parameter type is incorrect - By **[@​btea](https://redirect.github.com/btea)** in task [#​1484](https://redirect.github.com/capricorn86/happy-dom/issues/1484) ### [`v15.4.0`](https://redirect.github.com/capricorn86/happy-dom/compare/v15.3.2...5b23cc1cf711b8b3c0132d5f3241de6425bc2dc2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.3.2...v15.4.0) ### [`v15.3.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.3.2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.3.1...v15.3.2) ##### 👷♂️ Patch fixes - Fixes the `HTMLInputElement.indeterminate`, so that it behaves correctly - By **[@​malko](https://redirect.github.com/malko)** in task [#​1439](https://redirect.github.com/capricorn86/happy-dom/issues/1439) ### [`v15.3.1`](https://redirect.github.com/capricorn86/happy-dom/compare/v15.3.0...530f535c01f72de9190d9e67d0c3540d3c44a5fa) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.3.0...v15.3.1) ### [`v15.3.0`](https://redirect.github.com/capricorn86/happy-dom/compare/v15.2.0...a99364fa80f968da81dbb6ceb899ae15a8e5b902) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.2.0...v15.3.0) ### [`v15.2.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.2.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.1.0...v15.2.0) ##### 🎨 Features - Adds support for the static method `AbortSignal.any()` - By **[@​ezzatron](https://redirect.github.com/ezzatron)** in task [#​1468](https://redirect.github.com/capricorn86/happy-dom/issues/1468) ### [`v15.1.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.1.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.0.0...v15.1.0) ##### 🎨 Features - Refactor internal logic related to injecting the Window context for classes that can be constructed using the "new" operator - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Improves the way classes can access the Browser context internally - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Refactor of the logic for `EventTarget.dispatchEvent()` to better handle the event phases "none", "capture", "atTarget" and "bubbling" - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Adds support for `HTMLInputElement.popoverTargetElement`, `HTMLInputElement.popoverTargetAction`, `HTMLButtonElement.popoverTargetElement` and `HTMLButtonElement.popoverTargetAction` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Adds support for `HTMLElement.popover` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Adds support for `PerformanceObserver`, `PerformanceEntry` and `PerformanceObserverEntryList` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) ##### 👷♂️ Patch fixes - Makes it possible for a polyfill to replace `NodeList[Symbol.iterator]()` with `Array.prototype.values()` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Adds logic for canceling any request to start new async tasks while the `Window` is closing (e.g. using `setTimeout()` or `fetch()`) - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Fixes issues with errors exiting the browser when using the setting "errorCapture" set to "processLevel" - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Refactor internal logic, so that thrown errors are instances of unique error classes assigned to the `Window`, which makes it possible for `BrowserExceptionObserver` to know which `Window` the error originated from - Changes `Event.composedPath()` to not return the `Window` object if the event type is "load", which is the same behaviour as the browser - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - This means that "load" events will not bubble up to the `Window` object ### [`v15.0.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.0.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v14.12.3...v15.0.0) ##### 💣 Breaking Changes - Drops offical support for Node.js 16.x and 17.x - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - A lot of internal logic has been refactored, so if you rely on internal APIs, this release may break your code - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) ##### 🎨 Features - Adds support for `HTMLAreaElement`, `HTMLBodyElement`, `HTMLQuoteElement`, `HTMLBRElement`, `HTMLTableCaptionElement`, `HTMLTableColElement`, `HTMLTableColElement`, `HTMLDataElement`, `HTMLDataListElement`, `HTMLModElement`, `HTMLDetailsElement`, `HTMLDivElement`, `HTMLDListElement`, `HTMLEmbedElement`, `HTMLFieldSetElement`, `HTMLHeadingElement`, `HTMLHeadElement`, `HTMLHRElement`, `HTMLHtmlElement`, `HTMLModElement`, `HTMLLegendElement`, `HTMLLIElement`, `HTMLMapElement`, `HTMLMenuElement`, `HTMLMeterElement`, `HTMLObjectElement`, `HTMLOListElement`, `HTMLOutputElement`, `HTMLParagraphElement`, `HTMLParamElement`, `HTMLPictureElement`, `HTMLPreElement`, `HTMLProgressElement`, `HTMLQuoteElement`, `HTMLSourceElement`, `HTMLSpanElement`, `HTMLTableElement`, `HTMLTableSectionElement`, `HTMLTableSectionElement`, `HTMLTitleElement`, `HTMLTableRowElement`, `HTMLTrackElement`, `HTMLUListElement` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Adds basic support for `HTMLCanvasElement` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Adds support for History API - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Adds cache to `CSSStyleDeclaration`, `querySelector()`, `querySelectorAll()`, `getElementById()`, `getElementsByClassName()`, `getElementsByTagName()`, `getElementsByTagNameNS()`, `getElementsByClassName()` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Uses proxy for `NodeList`, `HTMLCollection`, `DOMTokenList`, `TextTrackList`, `HTMLFormElement`, `HTMLSelectElement` - Makes `HTMLCollection` objects returned by `getElementsByClassName()`, `getElementsByTagName()`, `getElementsByTagNameNS()` and `getElementsByClassName()` live - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Improves support for `HTMLMediaElement` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - It now supports all methods and properties of the `HTMLMediaElement` interface - Adds support for `MediaStream`, `MediaStreamTrack`, `RemotePlayback`, `TextTrack`, `TextTrackCue`, `TextTrackCueList`, `TextTrackList`, `VTTCue`, `VTTRegion`, `CanvasCaptureMediaStream`, `ImageBitmap`, `OffscreenCanvas` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Adds basic support for `IntersectionObserver` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Uses Array for nodes and elements in the DOM-tree to leverage the JiT compiler better - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Adds support for `HTMLInputElement.list` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Improves support for `ShadowRoot` (it now supports `clonable`, `serializable` and `slotAssignment`) - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Adds support for `Element.getHTML()` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Improves performance for some pseudo query selectors - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Improves support for `HTMLSlotElement` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - It now supports `assign()`, `assignedNodes()`, `assignedElements()` and the `slotchange` event ##### 👷♂️ Patch fixes - Attributes and text data wasn't escaped correctly in `XMLSerializer` (used by features such as `innerHTML`) - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1265](https://redirect.github.com/capricorn86/happy-dom/issues/1265) - `waitForNavigation()` would not resolve when navigating to some URLs (e.g. "javascript" or "about:blank") - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - CSS rules for gradients where not parsed correctly - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Updates to CSSStyleDeclaration would not trigger listeners for the "style" attribute - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Attributes where added to elements after they were added to the DOM during parsing, causing problems for elements loading resources - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - `Attr.cloneNode()` would not clone internal values - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - `Document.title` included text data inside child elements, which it shouldn't - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - `Event.preventDefault()` shouldn't cancel the default behaviour if cancelable is not sent as an option in `EventTarget.dispatchEvent()` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Source attributes containing URLs would not be resolved correctly in some elements - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - Changes name on `TimeRange` to `TimeRanges` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) - `Window.parent` and `Window.top` would not be set correctly in some scenarios - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332) ### [`v14.12.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v14.12.3) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v14.12.2...v14.12.3) ##### 👷♂️ Patch fixes - Element.insertBefore works when the node is already inserted - In task [#​1429](https://redirect.github.com/capricorn86/happy-dom/issues/1429) ### [`v14.12.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v14.12.2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v14.12.1...v14.12.2) ##### 👷♂️ Patch fixes - Fixes problem related to the cookie container using the wrong path when caching cookies - By **[@​matcic](https://redirect.github.com/matcic)** in task [#​1455](https://redirect.github.com/capricorn86/happy-dom/issues/1455) ### [`v14.12.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v14.12.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v14.12.0...v14.12.1) ##### 👷♂️ Patch fixes - Fixes problem related to React click handler with `preventDefault` not preventing navigation - By **[@​amitdahan](https://redirect.github.com/amitdahan)** in task [#​1464](https://redirect.github.com/capricorn86/happy-dom/issues/1464) ### [`v14.12.0`](https://redirect.github.com/capricorn86/happy-dom/compare/v14.11.4...ef2dfeafc7673d53776f8db1a313fecaed5074f4) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v14.11.4...v14.12.0) ### [`v14.11.4`](https://redirect.github.com/capricorn86/happy-dom/compare/v14.11.3...v14.11.4) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v14.11.3...v14.11.4) ### [`v14.11.3`](https://redirect.github.com/capricorn86/happy-dom/compare/v14.11.2...f021a3305a20d0f0613d50c30ee694be831faa95) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v14.11.2...v14.11.3) ### [`v14.11.2`](https://redirect.github.com/capricorn86/happy-dom/compare/v14.11.1...db97904b3a11e575269a15bbb70031399729ff45) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v14.11.1...v14.11.2) ### [`v14.11.1`](https://redirect.github.com/capricorn86/happy-dom/compare/v14.11.0...6ada81698021c35f074e575ec232d1bb7bafb4bc) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v14.11.0...v14.11.1) ### [`v14.11.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v14.11.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v14.10.3...v14.11.0) ##### 🎨 Features - Adds support for `HTMLTimeElement` - By **[@​r-thomson](https://redirect.github.com/r-thomson)** in task [#​1431](https://redirect.github.com/capricorn86/happy-dom/issues/1431) ### [`v14.10.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v14.10.3) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v14.10.2...v14.10.3) ##### 👷♂️ Patch fixes - Adds check for if Window and MutationObserver has been destroyed when triggering listeners - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1436](https://redirect.github.com/capricorn86/happy-dom/issues/1436) ### [`v14.10.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v14.10.2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v14.10.1...v14.10.2) ##### 👷♂️ Patch fixes - `HTMLAnchorElement`, `HTMLButtonElement`, `HTMLInputElement` and `HTMLLabelElement` checked that click events triggering native behavior was of type `PointerEvent`, but should check that they are of type `MouseEvent` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1397](https://redirect.github.com/capricorn86/happy-dom/issues/1397) ### [`v14.10.1`](https://redirect.github.com/capricorn86/happy-dom/compare/v14.10.0...v14.10.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v14.10.0...v14.10.1) ### [`v14.10.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v14.10.0) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v14.9.0...v14.10.0) ##### 🎨 Features - Adds support for `Document.elementFromPoint()` - By **[@​TreyVigus](https://redirect.github.com/TreyVigus)** in task [#​1400](https://redirect.github.com/capricorn86/happy-dom/issues/1400) - The method will always return `null` as Happy DOM doesn't support rendering and can't calculate an element's position based on where it is r </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/unraid/api). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzYuMiIsInVwZGF0ZWRJblZlciI6IjM5LjE3Ni4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Unraid Connect
Monorepo for Unraid Connect and the Unraid API.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
About The Project
Built With
Getting Started
This section will guide you through the steps necessary to get the monorepo projects running and communicating with each other.
Prerequisites
Make sure the following software is installed before proceeding.
- Bash
- Docker (for macOS folks, Orbstack works too)
- Node.js (v20)
- Just
- An Unraid server for development
Next, create an SSH key if you haven't already. Once you have your key pair, add your public SSH key to your Unraid server:
- Log in to your Unraid development server.
- Use the navigation menu to go to 'Users'.
- Click on the user you logged in with (e.g.
root) - Paste your SSH public key into 'SSH authorized keys' and click 'Save'.
Installation
-
Clone and enter the repo
# Optionally, give the cloned folder a more specific name gh repo clone unraid/api api-monorepo cd api-monorepo -
Run the monorepo setup command.
just setupThis will run installation scripts, container builds, and some git scripts to reduce noise (i.e. personal editor customizations, etc).
-
Run the API container
cd api npm run container:start -
This should bring you inside the API container. There, run the following command to start the server:
npm run dev -
In another terminal, open the project and navigate to the web directory. Then, run the dev server:
cd web npm install # just in case npm run dev
Usage
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
For more examples, please refer to the Documentation
Contributing
Work Intent Process
Before starting development work on this project, you must submit a Work Intent and have it approved by a core developer. This helps prevent duplicate work and ensures changes align with the project's goals.
-
Create a Work Intent
- Go to Issues → New Issue → Work Intent
- Fill out the brief template describing what you want to work on
- The issue will be automatically labeled as
work-intentandunapproved
-
Wait for Approval
- A core developer will review your Work Intent
- They may ask questions or suggest changes
- Once approved, the
unapprovedlabel will be removed
-
Begin Development
- Only start coding after your Work Intent is approved
- Follow the approach outlined in your approved Work Intent
- Reference the Work Intent in your future PR
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Top contributors
Contact
@UnraidOfficial - support@unraid.net.com
Project Link: https://github.com/unraid/api