renovate[bot] 9a9ef54d2d chore(deps): update dependency happy-dom to v17 (#1165)
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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/17.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/17.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/12.10.3/17.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/12.10.3/17.1.1?slim=true)](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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1727](https://redirect.github.com/capricorn86/happy-dom/issues/1727)
- Changes errors thrown in `CSSStyleSheet` methods, so that they work
according to spec - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;mwdiaz](https://redirect.github.com/mwdiaz)** in task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
\*\*[@&#8203;christiango](https://redirect.github.com/christiango) \*\*
in task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;christiango](https://redirect.github.com/christiango)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;320](https://redirect.github.com/capricorn86/happy-dom/issues/320)
- Adds support for `HTMLLinkElement.relList.supports()` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;320](https://redirect.github.com/capricorn86/happy-dom/issues/320)
- Adds support for `Request.mode` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;320](https://redirect.github.com/capricorn86/happy-dom/issues/320)
- Output failed requests to the console - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;320](https://redirect.github.com/capricorn86/happy-dom/issues/320)
- Use cache in virtual server requests - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;320](https://redirect.github.com/capricorn86/happy-dom/issues/320)
- Adds support for `credentials` and `referrerPolicy` when fetching
styles and scripts - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;320](https://redirect.github.com/capricorn86/happy-dom/issues/320)
- Disallow invalid attributes from being set in `Element.setAttribute()`
- By **[@&#8203;OlaviSau](https://redirect.github.com/OlaviSau)** in
task
[#&#8203;1706](https://redirect.github.com/capricorn86/happy-dom/issues/1706)

##### 👷‍♂️ Patch fixes

- Call `afterAsyncResponse` fetch interceptor in virtual server requests
- By **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)**
in task
[#&#8203;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 **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)**
in task
[#&#8203;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
**[@&#8203;OlaviSau](https://redirect.github.com/OlaviSau)** in task
[#&#8203;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
**[@&#8203;christiango](https://redirect.github.com/christiango)** in
task
[#&#8203;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
**[@&#8203;kleinfreund](https://redirect.github.com/kleinfreund)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1693](https://redirect.github.com/capricorn86/happy-dom/issues/1693)
- Makes non-mandatory cookie properties optional in
`CookieContainer.addCookies()` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;karpiuMG](https://redirect.github.com/karpiuMG)** in task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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 **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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 **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;OlaviSau](https://redirect.github.com/OlaviSau)** in task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;chocolateboy](https://redirect.github.com/chocolateboy)** in
task
[#&#8203;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
**[@&#8203;saitonakamura](https://redirect.github.com/saitonakamura)**
in task
[#&#8203;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
**[@&#8203;OlaviSau](https://redirect.github.com/OlaviSau)** in task
[#&#8203;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
**[@&#8203;kylehalleman](https://redirect.github.com/kylehalleman)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;284](https://redirect.github.com/capricorn86/happy-dom/issues/284)
- Improved performance in `document.write()` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1615](https://redirect.github.com/capricorn86/happy-dom/issues/1615)
- Fix for handling HTML entities correctly when parsing and serializing
- By **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)**
in task
[#&#8203;1494](https://redirect.github.com/capricorn86/happy-dom/issues/1494)
and
[#&#8203;1498](https://redirect.github.com/capricorn86/happy-dom/issues/1498)
- Fix for handling attribute names containing "\[" or "]" during parsing
- By **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)**
in task
[#&#8203;1638](https://redirect.github.com/capricorn86/happy-dom/issues/1638)
- Fix for handling comments containing HTML tags - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1630](https://redirect.github.com/capricorn86/happy-dom/issues/1630)
- Fix for handling namespaces in `XMLSerializer` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1615](https://redirect.github.com/capricorn86/happy-dom/issues/1615)
- Handles rules for parsing table elements - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1126](https://redirect.github.com/capricorn86/happy-dom/issues/1126)
- Loads scripts asynchronously when "defer" is set or "type" is "module"
- By **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)**
in task
[#&#8203;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
**[@&#8203;sohailalam2](https://redirect.github.com/sohailalam2)** in
task
[#&#8203;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
**[@&#8203;iradonov](https://redirect.github.com/iradonov)** in task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;btea](https://redirect.github.com/btea)** in task
[#&#8203;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
**[@&#8203;btea](https://redirect.github.com/btea)** in task
[#&#8203;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
**[@&#8203;silverwind](https://redirect.github.com/silverwind)** in task
[#&#8203;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
**[@&#8203;BenjaminAster](https://redirect.github.com/BenjaminAster)**
in task
[#&#8203;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
**[@&#8203;ewesemann](https://redirect.github.com/ewesemann)** in task
[#&#8203;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 **[@&#8203;aearly](https://redirect.github.com/aearly)** in task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;OlaviSau](https://redirect.github.com/OlaviSau)** in task
[#&#8203;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
**[@&#8203;yinm](https://redirect.github.com/yinm)** in task
[#&#8203;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 **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;mikedidomizio](https://redirect.github.com/mikedidomizio)**
in task
[#&#8203;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
**[@&#8203;mattallty](https://redirect.github.com/mattallty)** in task
[#&#8203;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
**[@&#8203;ezzatron](https://redirect.github.com/ezzatron)** in task
[#&#8203;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
**[@&#8203;BenjaminAster](https://redirect.github.com/BenjaminAster)**
in task
[#&#8203;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
**[@&#8203;Cherry](https://redirect.github.com/Cherry)** in task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;syi0808](https://redirect.github.com/syi0808)** in task
[#&#8203;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
**[@&#8203;rexxars](https://redirect.github.com/rexxars)** in task
[#&#8203;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 **[@&#8203;btea](https://redirect.github.com/btea)** in
task
[#&#8203;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 **[@&#8203;malko](https://redirect.github.com/malko)** in
task
[#&#8203;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
**[@&#8203;ezzatron](https://redirect.github.com/ezzatron)** in task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Improves the way classes can access the Browser context internally -
By **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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 **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Adds support for `HTMLInputElement.popoverTargetElement`,
`HTMLInputElement.popoverTargetAction`,
`HTMLButtonElement.popoverTargetElement` and
`HTMLButtonElement.popoverTargetAction` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Adds support for `HTMLElement.popover` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Adds support for `PerformanceObserver`, `PerformanceEntry` and
`PerformanceObserverEntryList` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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 **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Adds basic support for `HTMLCanvasElement` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Adds support for History API - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Adds cache to `CSSStyleDeclaration`, `querySelector()`,
`querySelectorAll()`, `getElementById()`, `getElementsByClassName()`,
`getElementsByTagName()`, `getElementsByTagNameNS()`,
`getElementsByClassName()` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Improves support for `HTMLMediaElement` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Adds basic support for `IntersectionObserver` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Adds support for `HTMLInputElement.list` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Improves support for `ShadowRoot` (it now supports `clonable`,
`serializable` and `slotAssignment`) - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Adds support for `Element.getHTML()` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Improves performance for some pseudo query selectors - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Improves support for `HTMLSlotElement` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- CSS rules for gradients where not parsed correctly - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Updates to CSSStyleDeclaration would not trigger listeners for the
"style" attribute - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- `Attr.cloneNode()` would not clone internal values - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- `Document.title` included text data inside child elements, which it
shouldn't - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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 **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Source attributes containing URLs would not be resolved correctly in
some elements - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- Changes name on `TimeRange` to `TimeRanges` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1332](https://redirect.github.com/capricorn86/happy-dom/issues/1332)
- `Window.parent` and `Window.top` would not be set correctly in some
scenarios - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
[#&#8203;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
**[@&#8203;matcic](https://redirect.github.com/matcic)** in task
[#&#8203;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
**[@&#8203;amitdahan](https://redirect.github.com/amitdahan)** in task
[#&#8203;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
**[@&#8203;r-thomson](https://redirect.github.com/r-thomson)** in task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;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
**[@&#8203;TreyVigus](https://redirect.github.com/TreyVigus)** in task
[#&#8203;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>
2025-02-24 14:09:46 -05:00
2025-02-12 10:39:22 -05:00

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Unraid Connect

Monorepo for Unraid Connect and the Unraid API.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Built With

  • Unraid
  • Node.js
  • Nuxt
  • PHP

(back to top)

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.

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:

  1. Log in to your Unraid development server.
  2. Use the navigation menu to go to 'Users'.
  3. Click on the user you logged in with (e.g. root)
  4. Paste your SSH public key into 'SSH authorized keys' and click 'Save'.

Installation

  1. Clone and enter the repo

    # Optionally, give the cloned folder a more specific name
    gh repo clone unraid/api api-monorepo
    cd api-monorepo
    
  2. Run the monorepo setup command.

    just setup
    

    This will run installation scripts, container builds, and some git scripts to reduce noise (i.e. personal editor customizations, etc).

  3. Run the API container

    cd api
    npm run container:start
    
  4. This should bring you inside the API container. There, run the following command to start the server:

    npm run dev
    
  5. 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
    

(back to top)

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

(back to top)

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.

  1. Create a Work Intent

  2. Wait for Approval

    • A core developer will review your Work Intent
    • They may ask questions or suggest changes
    • Once approved, the unapproved label will be removed
  3. 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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Top contributors

contrib.rocks image

Contact

@UnraidOfficial - support@unraid.net.com

Project Link: https://github.com/unraid/api

(back to top)

Acknowledgments

(back to top)

Description
Unraid API / Connect / UI Monorepo
Readme 130 MiB
Languages
TypeScript 78.2%
Vue 11.9%
PHP 5.1%
Shell 1.9%
JavaScript 1.3%
Other 1.5%