Commit Graph

1838 Commits

Author SHA1 Message Date
Eli Bosley
f2d7abedf4 chore: cleanup deployment by using built in s3 cli (#1212) 2025-03-04 15:30:13 -05:00
renovate[bot]
74408c73bb chore(deps): update dependency @types/node to v22 (#1163) 2025-03-04 15:27:15 -05:00
Eli Bosley
d63e54bdbc feat: split plugin builds
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced containerized plugin deployment support with updated Docker
Compose configurations.
- Added continuous build watch modes for API, web, and UI components for
smoother development iterations.
  - Added a new job for API testing in the CI/CD workflow.
- Added a new shell script to determine the local host's IP address for
Docker configurations.
- Introduced a new entry point and HTTP server setup in the plugin's
Docker environment.
- Added new scripts for building and watching plugin changes in
real-time.
- Added a new script for building the project in watch mode for the API
and UI components.

- **Improvements**
- Streamlined the plugin installation process and refined release
workflows for a more reliable user experience.
- Enhanced overall CI/CD pipelines to ensure efficient, production-ready
deployments.
- Updated artifact upload paths and job definitions for clarity and
efficiency.
- Implemented new utility functions for better URL management and
changelog generation.
- Modified the `.dockerignore` file to ignore all contents within the
`node_modules` directory.
- Added new constants and functions for managing plugin paths and
configurations.
- Updated the build process in the Dockerfile to focus on release
operations.

- **Tests**
- Expanded automated testing to validate environment setups and build
stability, ensuring higher reliability during updates.
- Introduced new test suites for validating plugin environment setups
and configurations.
- Added tests for validating environment variables and handling of
manifest files.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Datelle <mdatelle@icloud.com>
Co-authored-by: mdatelle <mike@datelle.net>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Pujit Mehrotra <pujit@lime-technology.com>
2025-03-04 15:18:04 -05:00
Pujit Mehrotra
270072266a fix(api): dynamix notifications dir during development (#1216)
In the `[notify]` section of the ./dev/dynamix config, updated the path from "/app/dev/notifications" to "./dev/notifications" to fix notification crud in local, non-docker development.
2025-03-03 15:03:14 -05:00
Pujit Mehrotra
bce06cd76c fix(api): type imports from generated graphql types (#1215)
## Summary by CodeRabbit

- Enhanced internal type handling by updating import statements to use
type-only syntax, ensuring clearer and more consistent type-checking
across modules.
- No changes to application behavior or user-facing functionality have
been introduced.
2025-03-03 14:54:01 -05:00
Pujit Mehrotra
4641894240 fix: one-command dev & web env files (#1214)
- fixes `pnpm dev`
- fixes `just setup`
- Prevents env pollution in nuxt dev/build
2025-03-03 13:14:08 -05:00
renovate[bot]
ff8eba3df5 fix(deps): update dependency @vueuse/core to v12 (#1199) 2025-02-26 14:16:31 -05:00
renovate[bot]
2cc8c9f675 chore(deps): update dependency eslint-plugin-n to v17 (#1206) 2025-02-26 14:16:13 -05:00
Eli Bosley
bde37d6751 fix: recreate watcher on path change (#1203)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Improved the notifications system by refreshing the monitoring process
only when configuration changes occur, leading to a more reliable
experience.

- **Chores**
- Updated internal synchronization timestamps in multiple files to
ensure consistency and accurate tracking of recent events.
- Removed logging functionality for notifications state to streamline
the logging process.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-26 14:04:24 -05:00
renovate[bot]
7044713508 chore(deps): replace dependency eslint-plugin-node with eslint-plugin-n ^14.0.0 (#1205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-26 11:55:59 -05:00
Eli Bosley
a2ba518bae chore: remove catch-exit dependency (#1204) 2025-02-26 11:55:21 -05:00
renovate[bot]
a9469127cc chore(deps): update vitest monorepo to v3 (major) (#1195)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-26 11:53:37 -05:00
renovate[bot]
85c8ef53ad fix(deps): update dependency @nestjs/schedule to v5 (#1197)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-26 11:53:16 -05:00
Eli Bosley
ae47866724 chore: pure ESM (#1202) 2025-02-25 14:14:14 -05:00
Eli Bosley
d59ca415af chore: cleanup packages (#1198)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Chores**
- Updated configuration versions and connection status settings for
improved consistency.
- Restructured build and tooling processes with refined script
organization, including new commands for type checking and cleanup.
- Updated dependency management to support enhanced styling and state
management.
- Removed legacy scripts related to environment handling and CSS
utilities.

- **Refactor**
- Streamlined module imports to align with an updated theme management
structure.

- **Bug Fixes**
- Enhanced error handling in various components to provide more
informative error messages during operations.
	- Improved error reporting in the update cancellation process.
	- Improved error reporting in date difference calculations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-25 13:09:02 -05:00
Eli Bosley
90e4913ef7 chore: add a single changelog for releases (#1191)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Documentation**
	- Streamlined the release notes presentation for improved clarity.
- Consolidated historical release records and now highlights the latest
enhancements and fixes in version 4.1.3.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-24 14:19:36 -05:00
renovate[bot]
b4aafbbe48 chore(deps): update dependency @nuxt/devtools to v2 (#1159)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nuxt/devtools](https://devtools.nuxt.com)
([source](https://redirect.github.com/nuxt/devtools/tree/HEAD/packages/devtools))
| [`^1.6.4` ->
`^2.0.0`](https://renovatebot.com/diffs/npm/@nuxt%2fdevtools/1.7.0/2.1.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@nuxt%2fdevtools/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nuxt%2fdevtools/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nuxt%2fdevtools/1.7.0/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nuxt%2fdevtools/1.7.0/2.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>nuxt/devtools (@&#8203;nuxt/devtools)</summary>

###
[`v2.1.0`](https://redirect.github.com/nuxt/devtools/blob/HEAD/CHANGELOG.md#210-2025-02-16)

[Compare
Source](https://redirect.github.com/nuxt/devtools/compare/v2.0.0...v2.1.0)

##### Bug Fixes

- hide inspector button when not available
([684897f](684897f306))

##### Features

- allow override component inspector with `__NUXT_INSPECTOR__`
([9f3c8bf](9f3c8bf147))
- filter out installed modules in search result, closes
[#&#8203;780](https://redirect.github.com/nuxt/devtools/issues/780)
([#&#8203;786](https://redirect.github.com/nuxt/devtools/issues/786))
([fc8ced3](fc8ced33f4))
- option to disable `vueDevTools`
([3e5251c](3e5251cb1b))

###
[`v2.0.0`](https://redirect.github.com/nuxt/devtools/blob/HEAD/CHANGELOG.md#200-2025-02-06)

[Compare
Source](https://redirect.github.com/nuxt/devtools/compare/v1.7.0...v2.0.0)

##### Features

- add directives page
([#&#8203;740](https://redirect.github.com/nuxt/devtools/issues/740))
([c20c724](c20c724db0))

</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:17:04 -05:00
renovate[bot]
d890fae296 chore(deps): update dependency rollup-plugin-node-externals to v8 (#1166)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[rollup-plugin-node-externals](https://redirect.github.com/Septh/rollup-plugin-node-externals)
| [`^7.1.3` ->
`^8.0.0`](https://renovatebot.com/diffs/npm/rollup-plugin-node-externals/7.1.3/8.0.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/rollup-plugin-node-externals/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/rollup-plugin-node-externals/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/rollup-plugin-node-externals/7.1.3/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rollup-plugin-node-externals/7.1.3/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>Septh/rollup-plugin-node-externals
(rollup-plugin-node-externals)</summary>

###
[`v8.0.0`](https://redirect.github.com/Septh/rollup-plugin-node-externals/releases/tag/v8.0.0)

[Compare
Source](https://redirect.github.com/Septh/rollup-plugin-node-externals/compare/v7.1.3...v8.0.0)

- Update devDependencies
[`cc6316b`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/cc6316b)
- Update README.md for v8
[`47728ca`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/47728ca)
- Cosmetic edits
[`607ed68`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/607ed68)
- Remove support for Rollup 3
[`fb47ce0`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/fb47ce0)
- Merge branch 'main' of
https://github.com/Septh/rollup-plugin-node-externals
[`30945fe`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/30945fe)
- Merge branch 'pr/segevfiner/33'
[`39986b1`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/39986b1)
- Add badges to README.md
[`1de5c7a`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/1de5c7a)
- Cosmetic edits
[`7c219c2`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/7c219c2)
- Merge pull request
[#&#8203;33](https://redirect.github.com/Septh/rollup-plugin-node-externals/issues/33)
from segevfiner/remove-order-pre
[`9ba4732`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/9ba4732)
- Remove order: 'pre' from resolveId
[`be98d35`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/be98d35)
- Add badges to README.md
[`e3a4ad0`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/e3a4ad0)
- Add LICENSE
[`72e6108`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/72e6108)
- Cleanup VS Code settings
[`e56d3be`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/e56d3be)
- Simplify package.json hunting
[`d24d066`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/d24d066)
- Remove useless await and imports
[`0ecd976`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/0ecd976)
- Remove spurious dep 'globals'
[`e1dd916`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/e1dd916)
- Enforce
[@&#8203;septh/ts-run](https://redirect.github.com/septh/ts-run) 1.2.6+
[`131a2ad`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/131a2ad)
- Tweak tsconfig
[`18d430e`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/18d430e)
- Use cmd.exe to run the build task in VS Code for Windows
[`3595b31`](https://redirect.github.com/Septh/rollup-plugin-node-externals/commit/3595b31)

***

</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:10:56 -05:00
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
renovate[bot]
baa8eb7375 chore(deps): update dependency shadcn-nuxt to v1 (#1193)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [shadcn-nuxt](https://redirect.github.com/unovue/shadcn-vue)
([source](https://redirect.github.com/unovue/shadcn-vue/tree/HEAD/packages/module))
| [`^0.11.3` ->
`^1.0.0`](https://renovatebot.com/diffs/npm/shadcn-nuxt/0.11.3/1.0.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/shadcn-nuxt/1.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/shadcn-nuxt/1.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/shadcn-nuxt/0.11.3/1.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/shadcn-nuxt/0.11.3/1.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>unovue/shadcn-vue (shadcn-nuxt)</summary>

###
[`v1.0.1`](https://redirect.github.com/unovue/shadcn-vue/releases/tag/v1.0.1)

[Compare
Source](https://redirect.github.com/unovue/shadcn-vue/compare/v1.0.0...v1.0.1)

#####    🐞 Bug Fixes

- **CLI**: Init, support js, update docs  -  by
[@&#8203;zernonia](https://redirect.github.com/zernonia) in
[https://github.com/unovue/shadcn-vue/issues/1053](https://redirect.github.com/unovue/shadcn-vue/issues/1053)
[<samp>(cdfe2)</samp>](https://redirect.github.com/unovue/shadcn-vue/commit/cdfe2e8e)

#####     [View changes on
GitHub](https://redirect.github.com/unovue/shadcn-vue/compare/v1.0.0...v1.0.1)

###
[`v1.0.0`](https://redirect.github.com/unovue/shadcn-vue/releases/tag/v1.0.0)

[Compare
Source](https://redirect.github.com/unovue/shadcn-vue/compare/v0.11.4...v1.0.0)

#####    🚀 Features

- Reka-ui & updated cli  -  by
[@&#8203;zernonia](https://redirect.github.com/zernonia) in
[https://github.com/unovue/shadcn-vue/issues/917](https://redirect.github.com/unovue/shadcn-vue/issues/917)
[<samp>(bc6da)</samp>](https://redirect.github.com/unovue/shadcn-vue/commit/bc6dae3d)

#####     [View changes on
GitHub](https://redirect.github.com/unovue/shadcn-vue/compare/v0.11.4...v1.0.0)

###
[`v0.11.4`](https://redirect.github.com/unovue/shadcn-vue/releases/tag/v0.11.4)

[Compare
Source](https://redirect.github.com/unovue/shadcn-vue/compare/v0.11.3...v0.11.4)

##### CLI

-   Modified to use updated registry url

   

##### 🐞 Bug Fixes

- Add missing `useMediaQuery` in `SidebarProvider.vue` new-york style
 -  by
[@&#8203;fabianbernhart](https://redirect.github.com/fabianbernhart) in
[https://github.com/unovue/shadcn-vue/issues/927](https://redirect.github.com/unovue/shadcn-vue/issues/927)
[<samp>(8a24d)</samp>](https://redirect.github.com/unovue/shadcn-vue/commit/8a24d11a)
- Only apply text-sidebar-foreground to sidebar  -  by
[@&#8203;benkroeger](https://redirect.github.com/benkroeger) in
[https://github.com/unovue/shadcn-vue/issues/986](https://redirect.github.com/unovue/shadcn-vue/issues/986)
[<samp>(1195a)</samp>](https://redirect.github.com/unovue/shadcn-vue/commit/1195a830)
- Sidebar not installable in JS projects  -  by
[@&#8203;4m1n0s](https://redirect.github.com/4m1n0s) in
[https://github.com/unovue/shadcn-vue/issues/1026](https://redirect.github.com/unovue/shadcn-vue/issues/1026)
[<samp>(efc4e)</samp>](https://redirect.github.com/unovue/shadcn-vue/commit/efc4e9f5)
- Calendar heading slots typing  -  by
[@&#8203;ZTL-UwU](https://redirect.github.com/ZTL-UwU) in
[https://github.com/unovue/shadcn-vue/issues/1038](https://redirect.github.com/unovue/shadcn-vue/issues/1038)
[<samp>(772b8)</samp>](https://redirect.github.com/unovue/shadcn-vue/commit/772b8d16)
- **RadioGroupItem**: Add peer class to RadioGroupItem  -  by
[@&#8203;wsehl](https://redirect.github.com/wsehl) in
[https://github.com/unovue/shadcn-vue/issues/1046](https://redirect.github.com/unovue/shadcn-vue/issues/1046)
[<samp>(86702)</samp>](https://redirect.github.com/unovue/shadcn-vue/commit/86702dd8)
- **Sidebar**: Component import and registry dependencies  -  by
[@&#8203;zernonia](https://redirect.github.com/zernonia)
[<samp>(693b0)</samp>](https://redirect.github.com/unovue/shadcn-vue/commit/693b0d2a)
- **navigation**: Add NavigationMenuIndicator export  -  by
[@&#8203;sanskar-mk2](https://redirect.github.com/sanskar-mk2) in
[https://github.com/unovue/shadcn-vue/issues/1012](https://redirect.github.com/unovue/shadcn-vue/issues/1012)
[<samp>(5572d)</samp>](https://redirect.github.com/unovue/shadcn-vue/commit/5572de2b)

#####     [View changes on
GitHub](https://redirect.github.com/unovue/shadcn-vue/compare/v0.11.3...v0.11.4)

</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:20 -05:00
renovate[bot]
982b22b1b4 chore(deps): update szenius/set-timezone action to v2 (#1194)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[szenius/set-timezone](https://redirect.github.com/szenius/set-timezone)
| action | major | `v1.2` -> `v2.0` |

---

### Release Notes

<details>
<summary>szenius/set-timezone (szenius/set-timezone)</summary>

###
[`v2.0`](https://redirect.github.com/szenius/set-timezone/releases/tag/v2.0)

[Compare
Source](https://redirect.github.com/szenius/set-timezone/compare/v1.2...v2.0)

##### What's Changed

- update deps & make use of node 20 instead of node 16 by
[@&#8203;kwarkjes](https://redirect.github.com/kwarkjes) in
[https://github.com/szenius/set-timezone/pull/19](https://redirect.github.com/szenius/set-timezone/pull/19)

##### New Contributors

- [@&#8203;kwarkjes](https://redirect.github.com/kwarkjes) made their
first contribution in
[https://github.com/szenius/set-timezone/pull/19](https://redirect.github.com/szenius/set-timezone/pull/19)

**Full Changelog**:
https://github.com/szenius/set-timezone/compare/v1.2...v2.0

</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:08:44 -05:00
Eli Bosley
d53577cd65 refactor: fix theme settings 2025-02-24 13:42:31 -05:00
renovate[bot]
3bcf7f5c29 chore(deps): update node.js to v22 (major) (#1179)
Updates node.js in plugin / monorepo
2025-02-24 12:18:07 -05:00
renovate[bot]
41252392d3 chore(deps): update dependency vite to v6 (#1171)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vite](https://vite.dev)
([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite))
| [`^5.0.0` ->
`^6.0.0`](https://renovatebot.com/diffs/npm/vite/5.4.14/6.1.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/6.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/6.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.14/6.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.14/6.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vite](https://vite.dev)
([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite))
| [`^5.4.14` ->
`^6.0.0`](https://renovatebot.com/diffs/npm/vite/5.4.14/6.1.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/6.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/6.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.14/6.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.14/6.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>vitejs/vite (vite)</summary>

###
[`v6.1.1`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small611-2025-02-19-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v6.1.0...v6.1.1)

- fix: ensure `.[cm]?[tj]sx?` static assets are JS mime
([#&#8203;19453](https://redirect.github.com/vitejs/vite/issues/19453))
([e7ba55e](e7ba55e7d5)),
closes
[#&#8203;19453](https://redirect.github.com/vitejs/vite/issues/19453)
- fix: ignore `*.ipv4` address in cert
([#&#8203;19416](https://redirect.github.com/vitejs/vite/issues/19416))
([973283b](973283bf84)),
closes
[#&#8203;19416](https://redirect.github.com/vitejs/vite/issues/19416)
- fix(css): run rewrite plugin if postcss plugin exists
([#&#8203;19371](https://redirect.github.com/vitejs/vite/issues/19371))
([bcdb51a](bcdb51a1ac)),
closes
[#&#8203;19371](https://redirect.github.com/vitejs/vite/issues/19371)
- fix(deps): bump tsconfck
([#&#8203;19375](https://redirect.github.com/vitejs/vite/issues/19375))
([746a583](746a583d42)),
closes
[#&#8203;19375](https://redirect.github.com/vitejs/vite/issues/19375)
- fix(deps): update all non-major dependencies
([#&#8203;19392](https://redirect.github.com/vitejs/vite/issues/19392))
([60456a5](60456a54fe)),
closes
[#&#8203;19392](https://redirect.github.com/vitejs/vite/issues/19392)
- fix(deps): update all non-major dependencies
([#&#8203;19440](https://redirect.github.com/vitejs/vite/issues/19440))
([ccac73d](ccac73d9d0)),
closes
[#&#8203;19440](https://redirect.github.com/vitejs/vite/issues/19440)
- fix(html): ignore malformed src attrs
([#&#8203;19397](https://redirect.github.com/vitejs/vite/issues/19397))
([aff7812](aff7812f0a)),
closes
[#&#8203;19397](https://redirect.github.com/vitejs/vite/issues/19397)
- fix(worker): fix web worker type detection
([#&#8203;19462](https://redirect.github.com/vitejs/vite/issues/19462))
([edc65ea](edc65eafa3)),
closes
[#&#8203;19462](https://redirect.github.com/vitejs/vite/issues/19462)
- refactor: remove custom .jxl mime
([#&#8203;19457](https://redirect.github.com/vitejs/vite/issues/19457))
([0c85464](0c854645bd)),
closes
[#&#8203;19457](https://redirect.github.com/vitejs/vite/issues/19457)
- feat: add support for injecting debug IDs
([#&#8203;18763](https://redirect.github.com/vitejs/vite/issues/18763))
([0ff556a](0ff556a6d9)),
closes
[#&#8203;18763](https://redirect.github.com/vitejs/vite/issues/18763)
- chore: update 6.1.0 changelog
([#&#8203;19363](https://redirect.github.com/vitejs/vite/issues/19363))
([fa7c211](fa7c211bf3)),
closes
[#&#8203;19363](https://redirect.github.com/vitejs/vite/issues/19363)

###
[`v6.1.0`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#610-2025-02-05)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v6.0.11...v6.1.0)

- refactor: deprecate `vite optimize` command
([#&#8203;19348](https://redirect.github.com/vitejs/vite/issues/19348))
([6e0e3c0](6e0e3c0b99)),
closes
[#&#8203;19348](https://redirect.github.com/vitejs/vite/issues/19348)
- feat: show hosts in cert in CLI
([#&#8203;19317](https://redirect.github.com/vitejs/vite/issues/19317))
([a5e306f](a5e306f2fc)),
closes
[#&#8203;19317](https://redirect.github.com/vitejs/vite/issues/19317)
- feat: support for env var for defining allowed hosts
([#&#8203;19325](https://redirect.github.com/vitejs/vite/issues/19325))
([4d88f6c](4d88f6c939)),
closes
[#&#8203;19325](https://redirect.github.com/vitejs/vite/issues/19325)
- feat: use native runtime to import the config
([#&#8203;19178](https://redirect.github.com/vitejs/vite/issues/19178))
([7c2a794](7c2a7942cc)),
closes
[#&#8203;19178](https://redirect.github.com/vitejs/vite/issues/19178)
- fix: avoid builtStart during vite optimize
([#&#8203;19356](https://redirect.github.com/vitejs/vite/issues/19356))
([fdb36e0](fdb36e0769)),
closes
[#&#8203;19356](https://redirect.github.com/vitejs/vite/issues/19356)
- fix(build): fix stale build manifest on watch rebuild
([#&#8203;19361](https://redirect.github.com/vitejs/vite/issues/19361))
([fcd5785](fcd578587b)),
closes
[#&#8203;19361](https://redirect.github.com/vitejs/vite/issues/19361)

###
[`v6.0.11`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small6011-2025-01-21-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v6.0.10...v6.0.11)

- fix: `preview.allowedHosts` with specific values was not respected
([#&#8203;19246](https://redirect.github.com/vitejs/vite/issues/19246))
([aeb3ec8](aeb3ec84a2)),
closes
[#&#8203;19246](https://redirect.github.com/vitejs/vite/issues/19246)
- fix: allow CORS from loopback addresses by default
([#&#8203;19249](https://redirect.github.com/vitejs/vite/issues/19249))
([3d03899](3d03899737)),
closes
[#&#8203;19249](https://redirect.github.com/vitejs/vite/issues/19249)

###
[`v6.0.10`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small6010-2025-01-20-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v6.0.9...v6.0.10)

- fix: try parse `server.origin` URL
([#&#8203;19241](https://redirect.github.com/vitejs/vite/issues/19241))
([2495022](2495022420)),
closes
[#&#8203;19241](https://redirect.github.com/vitejs/vite/issues/19241)

###
[`v6.0.9`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small609-2025-01-20-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v6.0.8...v6.0.9)

- fix!: check host header to prevent DNS rebinding attacks and introduce
`server.allowedHosts`
([bd896fb](bd896fb5f3))
- fix!: default `server.cors: false` to disallow fetching from untrusted
origins
([b09572a](b09572acc9))
- fix: verify token for HMR WebSocket connection
([029dcd6](029dcd6d77))

###
[`v6.0.8`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small608-2025-01-20-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v6.0.7...v6.0.8)

- fix: avoid SSR HMR for HTML files
([#&#8203;19193](https://redirect.github.com/vitejs/vite/issues/19193))
([3bd55bc](3bd55bcb7e)),
closes
[#&#8203;19193](https://redirect.github.com/vitejs/vite/issues/19193)
- fix: build time display 7m 60s
([#&#8203;19108](https://redirect.github.com/vitejs/vite/issues/19108))
([cf0d2c8](cf0d2c8e23)),
closes
[#&#8203;19108](https://redirect.github.com/vitejs/vite/issues/19108)
- fix: don't resolve URL starting with double slash
([#&#8203;19059](https://redirect.github.com/vitejs/vite/issues/19059))
([35942cd](35942cde11)),
closes
[#&#8203;19059](https://redirect.github.com/vitejs/vite/issues/19059)
- fix: ensure `server.close()` only called once
([#&#8203;19204](https://redirect.github.com/vitejs/vite/issues/19204))
([db81c2d](db81c2dada)),
closes
[#&#8203;19204](https://redirect.github.com/vitejs/vite/issues/19204)
- fix: resolve.conditions in ResolvedConfig was
`defaultServerConditions`
([#&#8203;19174](https://redirect.github.com/vitejs/vite/issues/19174))
([ad75c56](ad75c56dce)),
closes
[#&#8203;19174](https://redirect.github.com/vitejs/vite/issues/19174)
- fix: tree shake stringified JSON imports
([#&#8203;19189](https://redirect.github.com/vitejs/vite/issues/19189))
([f2aed62](f2aed62d0b)),
closes
[#&#8203;19189](https://redirect.github.com/vitejs/vite/issues/19189)
- fix: use shared sigterm callback
([#&#8203;19203](https://redirect.github.com/vitejs/vite/issues/19203))
([47039f4](47039f4643)),
closes
[#&#8203;19203](https://redirect.github.com/vitejs/vite/issues/19203)
- fix(deps): update all non-major dependencies
([#&#8203;19098](https://redirect.github.com/vitejs/vite/issues/19098))
([8639538](8639538e64)),
closes
[#&#8203;19098](https://redirect.github.com/vitejs/vite/issues/19098)
- fix(optimizer): use correct default install state path for yarn PnP
([#&#8203;19119](https://redirect.github.com/vitejs/vite/issues/19119))
([e690d8b](e690d8bb1e)),
closes
[#&#8203;19119](https://redirect.github.com/vitejs/vite/issues/19119)
- fix(types): improve `ESBuildOptions.include / exclude` type to allow
`readonly (string | RegExp)[]`
([ea53e70](ea53e70952)),
closes
[#&#8203;19146](https://redirect.github.com/vitejs/vite/issues/19146)
- chore(deps): update dependency pathe to v2
([#&#8203;19139](https://redirect.github.com/vitejs/vite/issues/19139))
([71506f0](71506f0a8d)),
closes
[#&#8203;19139](https://redirect.github.com/vitejs/vite/issues/19139)

###
[`v6.0.7`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small607-2025-01-02-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v6.0.6...v6.0.7)

- fix: fix `minify` when `builder.sharedPlugins: true`
([#&#8203;19025](https://redirect.github.com/vitejs/vite/issues/19025))
([f7b1964](f7b1964d3a)),
closes
[#&#8203;19025](https://redirect.github.com/vitejs/vite/issues/19025)
- fix: skip the plugin if it has been called before with the same id and
importer
([#&#8203;19016](https://redirect.github.com/vitejs/vite/issues/19016))
([b178c90](b178c90c7d)),
closes
[#&#8203;19016](https://redirect.github.com/vitejs/vite/issues/19016)
- fix(html): error while removing `vite-ignore` attribute for inline
script
([#&#8203;19062](https://redirect.github.com/vitejs/vite/issues/19062))
([a492253](a4922537a8)),
closes
[#&#8203;19062](https://redirect.github.com/vitejs/vite/issues/19062)
- fix(ssr): fix semicolon injection by ssr transform
([#&#8203;19097](https://redirect.github.com/vitejs/vite/issues/19097))
([1c102d5](1c102d517d)),
closes
[#&#8203;19097](https://redirect.github.com/vitejs/vite/issues/19097)
- perf: skip globbing for static path in warmup
([#&#8203;19107](https://redirect.github.com/vitejs/vite/issues/19107))
([677508b](677508bf82)),
closes
[#&#8203;19107](https://redirect.github.com/vitejs/vite/issues/19107)
- feat(css): show lightningcss warnings
([#&#8203;19076](https://redirect.github.com/vitejs/vite/issues/19076))
([b07c036](b07c036faf)),
closes
[#&#8203;19076](https://redirect.github.com/vitejs/vite/issues/19076)

###
[`v6.0.6`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small606-2024-12-26-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v6.0.5...v6.0.6)

- fix: replace runner-side path normalization with `fetchModule`-side
resolve
([#&#8203;18361](https://redirect.github.com/vitejs/vite/issues/18361))
([9f10261](9f10261e76)),
closes
[#&#8203;18361](https://redirect.github.com/vitejs/vite/issues/18361)
- fix(css): resolve style tags in HTML files correctly for lightningcss
([#&#8203;19001](https://redirect.github.com/vitejs/vite/issues/19001))
([afff05c](afff05c032)),
closes
[#&#8203;19001](https://redirect.github.com/vitejs/vite/issues/19001)
- fix(css): show correct error when unknown placeholder is used for CSS
modules pattern in lightningcs
([9290d85](9290d85b5d)),
closes
[#&#8203;19070](https://redirect.github.com/vitejs/vite/issues/19070)
- fix(resolve): handle package.json with UTF-8 BOM
([#&#8203;19000](https://redirect.github.com/vitejs/vite/issues/19000))
([902567a](902567ac53)),
closes
[#&#8203;19000](https://redirect.github.com/vitejs/vite/issues/19000)
- fix(ssrTransform): preserve line offset when transforming imports
([#&#8203;19004](https://redirect.github.com/vitejs/vite/issues/19004))
([1aa434e](1aa434e801)),
closes
[#&#8203;19004](https://redirect.github.com/vitejs/vite/issues/19004)
- chore: fix typo in comment
([#&#8203;19067](https://redirect.github.com/vitejs/vite/issues/19067))
([eb06ec3](eb06ec30bb)),
closes
[#&#8203;19067](https://redirect.github.com/vitejs/vite/issues/19067)
- chore: update comment about `build.target`
([#&#8203;19047](https://redirect.github.com/vitejs/vite/issues/19047))
([0e9e81f](0e9e81f622)),
closes
[#&#8203;19047](https://redirect.github.com/vitejs/vite/issues/19047)
- revert: unpin esbuild version
([#&#8203;19043](https://redirect.github.com/vitejs/vite/issues/19043))
([8bfe247](8bfe247511)),
closes
[#&#8203;19043](https://redirect.github.com/vitejs/vite/issues/19043)
- test(ssr): test virtual module with query
([#&#8203;19044](https://redirect.github.com/vitejs/vite/issues/19044))
([a1f4b46](a1f4b46896)),
closes
[#&#8203;19044](https://redirect.github.com/vitejs/vite/issues/19044)

###
[`v6.0.5`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small605-2024-12-20-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v6.0.4...v6.0.5)

- fix: esbuild regression (pin to 0.24.0)
([#&#8203;19027](https://redirect.github.com/vitejs/vite/issues/19027))
([4359e0d](4359e0d5b3)),
closes
[#&#8203;19027](https://redirect.github.com/vitejs/vite/issues/19027)

###
[`v6.0.4`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small604-2024-12-19-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v6.0.3...v6.0.4)

- fix: `this.resolve` skipSelf should not skip for different `id` or
`import`
([#&#8203;18903](https://redirect.github.com/vitejs/vite/issues/18903))
([4727320](472732057c)),
closes
[#&#8203;18903](https://redirect.github.com/vitejs/vite/issues/18903)
- fix: fallback terser to main thread when function options are used
([#&#8203;18987](https://redirect.github.com/vitejs/vite/issues/18987))
([12b612d](12b612d8be)),
closes
[#&#8203;18987](https://redirect.github.com/vitejs/vite/issues/18987)
- fix: merge client and ssr values for `pluginContainer.getModuleInfo`
([#&#8203;18895](https://redirect.github.com/vitejs/vite/issues/18895))
([258cdd6](258cdd637d)),
closes
[#&#8203;18895](https://redirect.github.com/vitejs/vite/issues/18895)
- fix(css): escape double quotes in `url()` when lightningcss is used
([#&#8203;18997](https://redirect.github.com/vitejs/vite/issues/18997))
([3734f80](3734f8099e)),
closes
[#&#8203;18997](https://redirect.github.com/vitejs/vite/issues/18997)
- fix(css): root relative import in sass modern API on Windows
([#&#8203;18945](https://redirect.github.com/vitejs/vite/issues/18945))
([c4b532c](c4b532cc90)),
closes
[#&#8203;18945](https://redirect.github.com/vitejs/vite/issues/18945)
- fix(css): skip non css in custom sass importer
([#&#8203;18970](https://redirect.github.com/vitejs/vite/issues/18970))
([21680bd](21680bdf9c)),
closes
[#&#8203;18970](https://redirect.github.com/vitejs/vite/issues/18970)
- fix(deps): update all non-major dependencies
([#&#8203;18967](https://redirect.github.com/vitejs/vite/issues/18967))
([d88d000](d88d0004a8)),
closes
[#&#8203;18967](https://redirect.github.com/vitejs/vite/issues/18967)
- fix(deps): update all non-major dependencies
([#&#8203;18996](https://redirect.github.com/vitejs/vite/issues/18996))
([2b4f115](2b4f115129)),
closes
[#&#8203;18996](https://redirect.github.com/vitejs/vite/issues/18996)
- fix(optimizer): keep NODE_ENV as-is when keepProcessEnv is `true`
([#&#8203;18899](https://redirect.github.com/vitejs/vite/issues/18899))
([8a6bb4e](8a6bb4e11d)),
closes
[#&#8203;18899](https://redirect.github.com/vitejs/vite/issues/18899)
- fix(ssr): recreate ssrCompatModuleRunner on restart
([#&#8203;18973](https://redirect.github.com/vitejs/vite/issues/18973))
([7d6dd5d](7d6dd5d1d6)),
closes
[#&#8203;18973](https://redirect.github.com/vitejs/vite/issues/18973)
- chore: better validation error message for dts build
([#&#8203;18948](https://redirect.github.com/vitejs/vite/issues/18948))
([63b82f1](63b82f1e29)),
closes
[#&#8203;18948](https://redirect.github.com/vitejs/vite/issues/18948)
- chore(deps): update all non-major dependencies
([#&#8203;18916](https://redirect.github.com/vitejs/vite/issues/18916))
([ef7a6a3](ef7a6a35e6)),
closes
[#&#8203;18916](https://redirect.github.com/vitejs/vite/issues/18916)
- chore(deps): update dependency
[@&#8203;rollup/plugin-node-resolve](https://redirect.github.com/rollup/plugin-node-resolve)
to v16
([#&#8203;18968](https://redirect.github.com/vitejs/vite/issues/18968))
([62fad6d](62fad6d79f)),
closes
[#&#8203;18968](https://redirect.github.com/vitejs/vite/issues/18968)
- refactor: make internal invoke event to use the same interface with
`handleInvoke`
([#&#8203;18902](https://redirect.github.com/vitejs/vite/issues/18902))
([27f691b](27f691b0c7)),
closes
[#&#8203;18902](https://redirect.github.com/vitejs/vite/issues/18902)
- refactor: simplify manifest plugin code
([#&#8203;18890](https://redirect.github.com/vitejs/vite/issues/18890))
([1bfe21b](1bfe21b944)),
closes
[#&#8203;18890](https://redirect.github.com/vitejs/vite/issues/18890)
- test: test `ModuleRunnerTransport` `invoke` API
([#&#8203;18865](https://redirect.github.com/vitejs/vite/issues/18865))
([e5f5301](e5f5301924)),
closes
[#&#8203;18865](https://redirect.github.com/vitejs/vite/issues/18865)
- test: test output hash changes
([#&#8203;18898](https://redirect.github.com/vitejs/vite/issues/18898))
([bfbb130](bfbb130fcc)),
closes
[#&#8203;18898](https://redirect.github.com/vitejs/vite/issues/18898)

###
[`v6.0.3`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small603-2024-12-05-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v6.0.2...v6.0.3)

- fix: handle postcss load unhandled rejections
([#&#8203;18886](https://redirect.github.com/vitejs/vite/issues/18886))
([d5fb653](d5fb653c15)),
closes
[#&#8203;18886](https://redirect.github.com/vitejs/vite/issues/18886)
- fix: make handleInvoke interface compatible with invoke
([#&#8203;18876](https://redirect.github.com/vitejs/vite/issues/18876))
([a1dd396](a1dd396da8)),
closes
[#&#8203;18876](https://redirect.github.com/vitejs/vite/issues/18876)
- fix: make result interfaces for `ModuleRunnerTransport#invoke` more
explicit
([#&#8203;18851](https://redirect.github.com/vitejs/vite/issues/18851))
([a75fc31](a75fc3193d)),
closes
[#&#8203;18851](https://redirect.github.com/vitejs/vite/issues/18851)
- fix: merge `environments.ssr.resolve` with root `ssr` config
([#&#8203;18857](https://redirect.github.com/vitejs/vite/issues/18857))
([3104331](310433106e)),
closes
[#&#8203;18857](https://redirect.github.com/vitejs/vite/issues/18857)
- fix: no permission to create vite config file
([#&#8203;18844](https://redirect.github.com/vitejs/vite/issues/18844))
([ff47778](ff47778004)),
closes
[#&#8203;18844](https://redirect.github.com/vitejs/vite/issues/18844)
- fix: remove CSS import in CJS correctly in some cases
([#&#8203;18885](https://redirect.github.com/vitejs/vite/issues/18885))
([690a36f](690a36ffdb)),
closes
[#&#8203;18885](https://redirect.github.com/vitejs/vite/issues/18885)
- fix(config): bundle files referenced with imports field
([#&#8203;18887](https://redirect.github.com/vitejs/vite/issues/18887))
([2b5926a](2b5926a0e7)),
closes
[#&#8203;18887](https://redirect.github.com/vitejs/vite/issues/18887)
- fix(config): make stacktrace path correct when sourcemap is enabled
([#&#8203;18833](https://redirect.github.com/vitejs/vite/issues/18833))
([20fdf21](20fdf210ee)),
closes
[#&#8203;18833](https://redirect.github.com/vitejs/vite/issues/18833)
- fix(css): rewrite url when image-set and url exist at the same time
([#&#8203;18868](https://redirect.github.com/vitejs/vite/issues/18868))
([d59efd8](d59efd8dfd)),
closes
[#&#8203;18868](https://redirect.github.com/vitejs/vite/issues/18868)
- fix(deps): update all non-major dependencies
([#&#8203;18853](https://redirect.github.com/vitejs/vite/issues/18853))
([5c02236](5c0223636f)),
closes
[#&#8203;18853](https://redirect.github.com/vitejs/vite/issues/18853)
- fix(html): allow unexpected question mark in tag name
([#&#8203;18852](https://redirect.github.com/vitejs/vite/issues/18852))
([1b54e50](1b54e506a4)),
closes
[#&#8203;18852](https://redirect.github.com/vitejs/vite/issues/18852)
- fix(module-runner): decode uri for file url passed to import
([#&#8203;18837](https://redirect.github.com/vitejs/vite/issues/18837))
([88e49aa](88e49aa041)),
closes
[#&#8203;18837](https://redirect.github.com/vitejs/vite/issues/18837)
- refactor: fix logic errors found by no-unnecessary-condition rule
([#&#8203;18891](https://redirect.github.com/vitejs/vite/issues/18891))
([ea802f8](ea802f8f8b)),
closes
[#&#8203;18891](https://redirect.github.com/vitejs/vite/issues/18891)
- chore: fix duplicate attributes issue number in comment
([#&#8203;18860](https://redirect.github.com/vitejs/vite/issues/18860))
([ffee618](ffee61893c)),
closes
[#&#8203;18860](https://redirect.github.com/vitejs/vite/issues/18860)

###
[`v6.0.2`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small602-2024-12-02-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v6.0.1...v6.0.2)

- chore: run typecheck in unit tests
([#&#8203;18858](https://redirect.github.com/vitejs/vite/issues/18858))
([49f20bb](49f20bb777)),
closes
[#&#8203;18858](https://redirect.github.com/vitejs/vite/issues/18858)
- chore: update broken links in changelog
([#&#8203;18802](https://redirect.github.com/vitejs/vite/issues/18802))
([cb754f8](cb754f8acc)),
closes
[#&#8203;18802](https://redirect.github.com/vitejs/vite/issues/18802)
- chore: update broken links in changelog
([#&#8203;18804](https://redirect.github.com/vitejs/vite/issues/18804))
([47ec49f](47ec49ffa1)),
closes
[#&#8203;18804](https://redirect.github.com/vitejs/vite/issues/18804)
- fix: don't store temporary vite config file in `node_modules` if deno
([#&#8203;18823](https://redirect.github.com/vitejs/vite/issues/18823))
([a20267b](a20267bb93)),
closes
[#&#8203;18823](https://redirect.github.com/vitejs/vite/issues/18823)
- fix(css): referencing aliased svg asset with lightningcss enabled
errored
([#&#8203;18819](https://redirect.github.com/vitejs/vite/issues/18819))
([ae68958](ae68958691)),
closes
[#&#8203;18819](https://redirect.github.com/vitejs/vite/issues/18819)
- fix(manifest): use `style.css` as a key for the style file for
`cssCodesplit: false`
([#&#8203;18820](https://redirect.github.com/vitejs/vite/issues/18820))
([ec51115](ec51115255)),
closes
[#&#8203;18820](https://redirect.github.com/vitejs/vite/issues/18820)
- fix(optimizer): resolve all promises when cancelled
([#&#8203;18826](https://redirect.github.com/vitejs/vite/issues/18826))
([d6e6194](d6e6194706)),
closes
[#&#8203;18826](https://redirect.github.com/vitejs/vite/issues/18826)
- fix(resolve): don't set builtinModules to `external` by default
([#&#8203;18821](https://redirect.github.com/vitejs/vite/issues/18821))
([2250ffa](2250ffac62)),
closes
[#&#8203;18821](https://redirect.github.com/vitejs/vite/issues/18821)
- fix(ssr): set `ssr.target: 'webworker'` defaults as fallback
([#&#8203;18827](https://redirect.github.com/vitejs/vite/issues/18827))
([b39e696](b39e69638b)),
closes
[#&#8203;18827](https://redirect.github.com/vitejs/vite/issues/18827)
- feat(css): format lightningcss error
([#&#8203;18818](https://redirect.github.com/vitejs/vite/issues/18818))
([dac7992](dac7992e87)),
closes
[#&#8203;18818](https://redirect.github.com/vitejs/vite/issues/18818)
- refactor: make properties of ResolvedServerOptions and
ResolvedPreviewOptions required
([#&#8203;18796](https://redirect.github.com/vitejs/vite/issues/18796))
([51a5569](51a5569e66)),
closes
[#&#8203;18796](https://redirect.github.com/vitejs/vite/issues/18796)

###
[`v6.0.1`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small601-2024-11-27-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v6.0.0...v6.0.1)

- fix: default empty server `proxy` prevents starting http2 server
([#&#8203;18788](https://redirect.github.com/vitejs/vite/issues/18788))
([bbaf514](bbaf514fb7)),
closes
[#&#8203;18788](https://redirect.github.com/vitejs/vite/issues/18788)
- fix(manifest): do not override existing js manifest entry
([#&#8203;18776](https://redirect.github.com/vitejs/vite/issues/18776))
([3b0837e](3b0837e0b9)),
closes
[#&#8203;18776](https://redirect.github.com/vitejs/vite/issues/18776)
- fix(server): close \_ssrCompatModuleRunner on server close
([#&#8203;18784](https://redirect.github.com/vitejs/vite/issues/18784))
([9b4c410](9b4c410ddd)),
closes
[#&#8203;18784](https://redirect.github.com/vitejs/vite/issues/18784)
- fix(server): skip hot channel client normalization for wsServer
([#&#8203;18782](https://redirect.github.com/vitejs/vite/issues/18782))
([cc7670a](cc7670abaf)),
closes
[#&#8203;18782](https://redirect.github.com/vitejs/vite/issues/18782)
- fix(worker): fix `applyToEnvironment` hooks on worker build
([#&#8203;18793](https://redirect.github.com/vitejs/vite/issues/18793))
([0c6cdb0](0c6cdb0f88)),
closes
[#&#8203;18793](https://redirect.github.com/vitejs/vite/issues/18793)
- chore: flat v6 config file
([#&#8203;18777](https://redirect.github.com/vitejs/vite/issues/18777))
([c7b3308](c7b3308326)),
closes
[#&#8203;18777](https://redirect.github.com/vitejs/vite/issues/18777)
- chore: split changelog
([#&#8203;18787](https://redirect.github.com/vitejs/vite/issues/18787))
([8542632](8542632b3b)),
closes
[#&#8203;18787](https://redirect.github.com/vitejs/vite/issues/18787)
- chore: update changelog for v6
([#&#8203;18773](https://redirect.github.com/vitejs/vite/issues/18773))
([b254fac](b254fac4aa)),
closes
[#&#8203;18773](https://redirect.github.com/vitejs/vite/issues/18773)
- revert: update moduleResolution value casing
([#&#8203;18409](https://redirect.github.com/vitejs/vite/issues/18409))
([#&#8203;18774](https://redirect.github.com/vitejs/vite/issues/18774))
([b0fc6e3](b0fc6e3c25)),
closes
[#&#8203;18409](https://redirect.github.com/vitejs/vite/issues/18409)
[#&#8203;18774](https://redirect.github.com/vitejs/vite/issues/18774)

###
[`v6.0.0`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#600-2024-11-26)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v5.4.14...v6.0.0)

- fix: `createRunnableDevEnvironment` returns `RunnableDevEnvironment`,
not `DevEnvironment`
([#&#8203;18673](https://redirect.github.com/vitejs/vite/issues/18673))
([74221c3](74221c391b)),
closes
[#&#8203;18673](https://redirect.github.com/vitejs/vite/issues/18673)
- fix: `getModulesByFile` should return a `serverModule`
([#&#8203;18715](https://redirect.github.com/vitejs/vite/issues/18715))
([b80d5ec](b80d5ecbbc)),
closes
[#&#8203;18715](https://redirect.github.com/vitejs/vite/issues/18715)
- fix: catch error in full reload handler
([#&#8203;18713](https://redirect.github.com/vitejs/vite/issues/18713))
([a10e741](a10e741065)),
closes
[#&#8203;18713](https://redirect.github.com/vitejs/vite/issues/18713)
- fix: display pre-transform error details
([#&#8203;18764](https://redirect.github.com/vitejs/vite/issues/18764))
([554f45f](554f45f4d8)),
closes
[#&#8203;18764](https://redirect.github.com/vitejs/vite/issues/18764)
- fix: exit code on `SIGTERM`
([#&#8203;18741](https://redirect.github.com/vitejs/vite/issues/18741))
([cc55e36](cc55e36dd3)),
closes
[#&#8203;18741](https://redirect.github.com/vitejs/vite/issues/18741)
- fix: expose missing `InterceptorOptions` type
([#&#8203;18766](https://redirect.github.com/vitejs/vite/issues/18766))
([6252c60](6252c60356)),
closes
[#&#8203;18766](https://redirect.github.com/vitejs/vite/issues/18766)
- fix: log error when send in module runner failed
([#&#8203;18753](https://redirect.github.com/vitejs/vite/issues/18753))
([ba821bb](ba821bb63e)),
closes
[#&#8203;18753](https://redirect.github.com/vitejs/vite/issues/18753)
- fix(client): overlay not appearing when multiple vite clients were
loaded
([#&#8203;18647](https://redirect.github.com/vitejs/vite/issues/18647))
([27d70b5](27d70b5fa6)),
closes
[#&#8203;18647](https://redirect.github.com/vitejs/vite/issues/18647)
- fix(deps): update all non-major dependencies
([#&#8203;18691](https://redirect.github.com/vitejs/vite/issues/18691))
([f005461](f005461ecc)),
closes
[#&#8203;18691](https://redirect.github.com/vitejs/vite/issues/18691)
- fix(html): fix inline proxy modules invalidation
([#&#8203;18696](https://redirect.github.com/vitejs/vite/issues/18696))
([8ab04b7](8ab04b70ad)),
closes
[#&#8203;18696](https://redirect.github.com/vitejs/vite/issues/18696)
- fix(module-runner): make evaluator optional
([#&#8203;18672](https://redirect.github.com/vitejs/vite/issues/18672))
([fd1283f](fd1283fe27)),
closes
[#&#8203;18672](https://redirect.github.com/vitejs/vite/issues/18672)
- fix(optimizer): detect npm / yarn / pnpm dependency changes correctly
([#&#8203;17336](https://redirect.github.com/vitejs/vite/issues/17336))
([#&#8203;18560](https://redirect.github.com/vitejs/vite/issues/18560))
([818cf3e](818cf3e7bf)),
closes
[#&#8203;17336](https://redirect.github.com/vitejs/vite/issues/17336)
[#&#8203;18560](https://redirect.github.com/vitejs/vite/issues/18560)
- fix(optimizer): trigger onCrawlEnd after manual included deps are
registered
([#&#8203;18733](https://redirect.github.com/vitejs/vite/issues/18733))
([dc60410](dc6041099c)),
closes
[#&#8203;18733](https://redirect.github.com/vitejs/vite/issues/18733)
- fix(optimizer): workaround firefox's false warning for no sources
source map
([#&#8203;18665](https://redirect.github.com/vitejs/vite/issues/18665))
([473424e](473424ee8d)),
closes
[#&#8203;18665](https://redirect.github.com/vitejs/vite/issues/18665)
- fix(ssr): replace `__vite_ssr_identity__` with `(0, ...)` and inject
`;` between statements
([#&#8203;18748](https://redirect.github.com/vitejs/vite/issues/18748))
([94546be](94546be183)),
closes
[#&#8203;18748](https://redirect.github.com/vitejs/vite/issues/18748)
- chore: add 5.4.x changelogs
([#&#8203;18768](https://redirect.github.com/vitejs/vite/issues/18768))
([26b58c8](26b58c8130)),
closes
[#&#8203;18768](https://redirect.github.com/vitejs/vite/issues/18768)
- chore: add some comments about mimes
([#&#8203;18705](https://redirect.github.com/vitejs/vite/issues/18705))
([f07e9b9](f07e9b9d01)),
closes
[#&#8203;18705](https://redirect.github.com/vitejs/vite/issues/18705)
- chore(deps): update all non-major dependencies
([#&#8203;18746](https://redirect.github.com/vitejs/vite/issues/18746))
([0ad16e9](0ad16e92d5)),
closes
[#&#8203;18746](https://redirect.github.com/vitejs/vite/issues/18746)
- perf: reduce bundle size for `Object.keys(import.meta.glob(...))` /
\`Object.values(import.meta.glob(
([ed99a2c](ed99a2cd31)),
closes
[#&#8203;18666](https://redirect.github.com/vitejs/vite/issues/18666)
- perf(worker): inline worker without base64
([#&#8203;18752](https://redirect.github.com/vitejs/vite/issues/18752))
([90c66c9](90c66c95ab)),
closes
[#&#8203;18752](https://redirect.github.com/vitejs/vite/issues/18752)
- feat: add support for .cur type
([#&#8203;18680](https://redirect.github.com/vitejs/vite/issues/18680))
([5ec9eed](5ec9eedc80)),
closes
[#&#8203;18680](https://redirect.github.com/vitejs/vite/issues/18680)
- feat: enable HMR by default on ModuleRunner side
([#&#8203;18749](https://redirect.github.com/vitejs/vite/issues/18749))
([4d2abc7](4d2abc7bba)),
closes
[#&#8203;18749](https://redirect.github.com/vitejs/vite/issues/18749)
- feat: support `module-sync` condition when loading config if enabled
([#&#8203;18650](https://redirect.github.com/vitejs/vite/issues/18650))
([cf5028d](cf5028d4bf)),
closes
[#&#8203;18650](https://redirect.github.com/vitejs/vite/issues/18650)
- feat!: drop node 21 support in version ranges
([#&#8203;18729](https://redirect.github.com/vitejs/vite/issues/18729))
([a384d8f](a384d8fd39)),
closes
[#&#8203;18729](https://redirect.github.com/vitejs/vite/issues/18729)
- fix(deps)!: update dependency dotenv-expand to v12
([#&#8203;18697](https://redirect.github.com/vitejs/vite/issues/18697))
([0c658de](0c658de41f)),
closes
[#&#8203;18697](https://redirect.github.com/vitejs/vite/issues/18697)
- docs: rename `HotUpdateContext` to `HotUpdateOptions`
([#&#8203;18718](https://redirect.github.com/vitejs/vite/issues/18718))
([824c347](824c347fa2)),
closes
[#&#8203;18718](https://redirect.github.com/vitejs/vite/issues/18718)
- test: simplify `playground/json/__tests__/ssr`
([#&#8203;18701](https://redirect.github.com/vitejs/vite/issues/18701))
([f731ca2](f731ca21ea)),
closes
[#&#8203;18701](https://redirect.github.com/vitejs/vite/issues/18701)
- refactor: first character judgment replacement regexp
([#&#8203;18658](https://redirect.github.com/vitejs/vite/issues/18658))
([58f1df3](58f1df3288)),
closes
[#&#8203;18658](https://redirect.github.com/vitejs/vite/issues/18658)

</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 these
updates 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 11:32:50 -05:00
renovate[bot]
f6e4ba47d4 chore(deps): update dependency eslint-config-prettier to v10 (#1164)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[eslint-config-prettier](https://redirect.github.com/prettier/eslint-config-prettier)
| [`^9.1.0` ->
`^10.0.0`](https://renovatebot.com/diffs/npm/eslint-config-prettier/9.1.0/10.0.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-config-prettier/10.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-config-prettier/10.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-config-prettier/9.1.0/10.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-config-prettier/9.1.0/10.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>prettier/eslint-config-prettier
(eslint-config-prettier)</summary>

###
[`v10.0.1`](https://redirect.github.com/prettier/eslint-config-prettier/releases/tag/v10.0.1)

[Compare
Source](https://redirect.github.com/prettier/eslint-config-prettier/compare/v10.0.0...v10.0.1)

### eslint-config-prettier

#### 10.0.1

#### What's Changed

- chore: migrate to changeset for automatically releasing by
[@&#8203;JounQin](https://redirect.github.com/JounQin) in
[https://github.com/prettier/eslint-config-prettier/pull/278](https://redirect.github.com/prettier/eslint-config-prettier/pull/278)
- add support for `@stylistic/eslint-plugin` by
[@&#8203;abrahamguo](https://redirect.github.com/abrahamguo) in
[https://github.com/prettier/eslint-config-prettier/pull/272](https://redirect.github.com/prettier/eslint-config-prettier/pull/272)

#### New Contributors

- [@&#8203;JounQin](https://redirect.github.com/JounQin) made their
first contribution in
[https://github.com/prettier/eslint-config-prettier/pull/278](https://redirect.github.com/prettier/eslint-config-prettier/pull/278)
- [@&#8203;abrahamguo](https://redirect.github.com/abrahamguo) made
their first contribution in
[https://github.com/prettier/eslint-config-prettier/pull/272](https://redirect.github.com/prettier/eslint-config-prettier/pull/272)

**Full Changelog**:
https://github.com/prettier/eslint-config-prettier/compare/v9.1.0...v10.0.1

###
[`v10.0.0`](https://redirect.github.com/prettier/eslint-config-prettier/blob/HEAD/CHANGELOG.md#1000)

[Compare
Source](https://redirect.github.com/prettier/eslint-config-prettier/compare/v9.1.0...v10.0.0)

##### Major Changes

-
[#&#8203;272](https://redirect.github.com/prettier/eslint-config-prettier/pull/272)
[`5be64be`](5be64bef68)
Thanks [@&#8203;abrahamguo](https://redirect.github.com/abrahamguo)! -
add support for
[@&#8203;stylistic](https://redirect.github.com/stylistic) formatting
rules

</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 11:32:26 -05:00
renovate[bot]
89620e9189 chore(deps): update dependency @nuxt/eslint to v1 (#1161)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@nuxt/eslint](https://redirect.github.com/nuxt/eslint)
([source](https://redirect.github.com/nuxt/eslint/tree/HEAD/packages/module))
| [`^0.7.3` ->
`^1.0.0`](https://renovatebot.com/diffs/npm/@nuxt%2feslint/0.7.6/1.1.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@nuxt%2feslint/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nuxt%2feslint/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nuxt%2feslint/0.7.6/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nuxt%2feslint/0.7.6/1.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>nuxt/eslint (@&#8203;nuxt/eslint)</summary>

###
[`v1.1.0`](https://redirect.github.com/nuxt/eslint/releases/tag/v1.1.0)

[Compare
Source](https://redirect.github.com/nuxt/eslint/compare/v1.0.1...v1.1.0)

#####    🚀 Features

- Migrate to `unicorn` v57, `stylistic` v4  -  by
[@&#8203;antfu](https://redirect.github.com/antfu)
[<samp>(a9846)</samp>](https://redirect.github.com/nuxt/eslint/commit/a9846af)

#####     [View changes on
GitHub](https://redirect.github.com/nuxt/eslint/compare/v1.0.1...v1.1.0)

###
[`v1.0.1`](https://redirect.github.com/nuxt/eslint/releases/tag/v1.0.1)

[Compare
Source](https://redirect.github.com/nuxt/eslint/compare/v1.0.0...v1.0.1)

#####    🐞 Bug Fixes

- Support non-hoisted dts type, fix
[#&#8203;539](https://redirect.github.com/nuxt/eslint/issues/539)  -  by
[@&#8203;antfu](https://redirect.github.com/antfu) in
[https://github.com/nuxt/eslint/issues/539](https://redirect.github.com/nuxt/eslint/issues/539)
[<samp>(4f3c1)</samp>](https://redirect.github.com/nuxt/eslint/commit/4f3c1d9)

#####     [View changes on
GitHub](https://redirect.github.com/nuxt/eslint/compare/v1.0.0...v1.0.1)

###
[`v1.0.0`](https://redirect.github.com/nuxt/eslint/releases/tag/v1.0.0)

[Compare
Source](https://redirect.github.com/nuxt/eslint/compare/v0.7.6...v1.0.0)

#####    🚨 Breaking Changes

- Drop legacy configs, requires ESLint v9 and ESM  -  by
[@&#8203;antfu](https://redirect.github.com/antfu) in
[https://github.com/nuxt/eslint/issues/534](https://redirect.github.com/nuxt/eslint/issues/534)
[<samp>(cbcd6)</samp>](https://redirect.github.com/nuxt/eslint/commit/cbcd674)

#####     [View changes on
GitHub](https://redirect.github.com/nuxt/eslint/compare/v0.7.6...v1.0.0)

</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 11:32:12 -05:00
Eli Bosley
a0306269c6 feat: update theme application logic and color picker (#1181)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Upgraded the theme customization interface with a dropdown that lets
you choose from multiple themes (Light, Dark, Azure, Gray). Users can
now adjust options like text colors, background color, gradients, and
banner display more intuitively.
- Introduced a structured approach to theme variables, enhancing
compatibility and customization options.

- **Style**
- Enhanced the header’s visual presentation by introducing dynamic
background imagery and refined layout adjustments for a more polished
look.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-24 11:31:46 -05:00
Eli Bosley
e11d5e976d docs: add license to package jsons (#1129)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Documentation**
- Added the complete GNU General Public License (GPL) Version 2 text to
the project’s licensing documentation, clarifying usage conditions and
disclaimers.

- **Chores**
- Updated licensing declarations across multiple project components,
ensuring all parts are now distributed under the GPL-2.0 license.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-02-24 09:27:23 -05:00
Eli Bosley
365dcae04b fix: log errors 2025-02-21 16:23:04 -05:00
Eli Bosley
a9d5ca8899 fix: fix changelog thing again 2025-02-21 16:20:51 -05:00
Eli Bosley
b24a575cbb fix: load tag correctly 2025-02-21 16:18:49 -05:00
Eli Bosley
b49159022d fix: re-release fixed 2025-02-21 16:14:38 -05:00
Eli Bosley
c0ad2e138c chore: allow editing releases and properly escape changelogs (#1190)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Chores**
- Enhanced the release process to update the plugin changelog more
reliably.
- Now supports updating release notes for both new and edited releases,
ensuring accurate and secure changelog information.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-21 16:09:53 -05:00
github-actions[bot]
d413be8dcb chore(main): release 4.1.3 (#1188)
🤖 I have created a release *beep* *boop*
---


## [4.1.3](https://github.com/unraid/api/compare/v4.1.2...v4.1.3)
(2025-02-21)


### Bug Fixes

* chown correctly ([#1185](https://github.com/unraid/api/issues/1185))
([46a05eb](46a05eb76d))
* create releases as drafts
([5483e9f](5483e9fee9))
* **deps:** update all non-major dependencies
([#1168](https://github.com/unraid/api/issues/1168))
([248d211](248d211050))
* revert config
([7957c2a](7957c2a681))
* small modal window
([#1183](https://github.com/unraid/api/issues/1183))
([08423b8](08423b8dae))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v4.1.3
2025-02-21 15:37:09 -05:00
github-actions[bot]
653b6df4d9 chore(main): release 4.1.2 (#1187)
🤖 I have created a release *beep* *boop*
---


## [4.1.2](https://github.com/unraid/api/compare/v4.1.3...v4.1.2)
(2025-02-21)


### Features

* add api key creation logic
([a1351b0](a1351b0469))
* add category.json
([e784391](e784391ac3))
* add command to package.json scripts
([3348a47](3348a47470))
* add csrf support to api & web components
([#999](https://github.com/unraid/api/issues/999))
([f0f5a30](f0f5a3057a))
* add description flag, remove console log, and update readme
([85cdb8f](85cdb8f525))
* add developer docs
([#1128](https://github.com/unraid/api/issues/1128))
([75474bd](75474bde47))
* add line about recommendation for sso command
([b63720a](b63720a6f2))
* add log rotation
([b1d9ad7](b1d9ad7ef1))
* add logging around fixture downloads
([fa16dcd](fa16dcd801))
* add logrotate cron again
([097415f](097415f6b8))
* add patch for auth-request.php
([b1a1779](b1a1779a8b))
* add unraid-ui documentation
([#1142](https://github.com/unraid/api/issues/1142))
([6378047](6378047bc4))
* add user with cli
([cb59090](cb59090698))
* address log level feedback
([bb95795](bb95795a31))
* allow csrf passing through querystring
([3a8c9b1](3a8c9b13ee))
* allow deletion and creation of files with patches
([1392bde](1392bdeecb))
* always ensureDirectory for keys exists
([8b93bce](8b93bcea08))
* always start the API and run npm link from script path
([bb6baf9](bb6baf9bf4))
* **api:** graphql sandbox on unraid servers
([#1047](https://github.com/unraid/api/issues/1047))
([5dd36d1](5dd36d1836))
* **api:** omit tz from sys time date format by default
([c36082e](c36082e82b))
* **api:** rm 2fa & t2fa from myservers config type
([#996](https://github.com/unraid/api/issues/996))
([f45719f](f45719fa6b))
* array iteration for restoring files
([349145b](349145ba53))
* async disk mapping
([f22b262](f22b262830))
* async hypervisor and FIXED vm listing
([cdfb3c7](cdfb3c772b))
* attempt to resolve performance issues with rm earlier in build …
([#1152](https://github.com/unraid/api/issues/1152))
([c74bdd8](c74bdd8890))
* attempt to start unraid-api with background task
([73a1249](73a12496d5))
* auto-docusaurus-prs
([#1127](https://github.com/unraid/api/issues/1127))
([8a57576](8a575765a9))
* automatic session setup for dev
([e885936](e88593620b))
* back to callbackUrl
([428ad15](428ad15ec7))
* begin building plugin with node instead of bash
([#1120](https://github.com/unraid/api/issues/1120))
([4f5c367](4f5c367fdf))
* begin fixing dark mode in the webcomponents
([2443561](24435613f8))
* begin nuking alpha beta gamma
([cb91fbb](cb91fbb054))
* better patch application
([445f3b5](445f3b50b1))
* better pm2 calls, log lines
([33dd90a](33dd90af04))
* bug report template
([d6fde34](d6fde34365))
* checkout correct branch on close
([#1123](https://github.com/unraid/api/issues/1123))
([e7b7caa](e7b7caae43))
* cleanup config entries
([c2e29df](c2e29dfb5f))
* cleanup disclaimer and command to add users
([3867dfa](3867dfacb2))
* cli Commands
([7fa849d](7fa849d2a0))
* CLI options for adding and deleting users
([bc04129](bc04129342))
* codeowners
([c4d7314](c4d731401c))
* coderabbit suggestion
([3cc3f27](3cc3f27dae))
* configure PM2 on startup
([b73623e](b73623e72a))
* contributing guide
([cc18239](cc18239748))
* convert to pnpm monorepo
([#1137](https://github.com/unraid/api/issues/1137))
([ad6b658](ad6b6589db))
* copy only needed files for nodejs
([cf08627](cf08627725))
* create key cli command logic and add to index command list
([796cb09](796cb09c61))
* csv validation
([89d756e](89d756ef4e))
* default value for option
([632775e](632775e435))
* delete unused imports
([0d6a003](0d6a0035aa))
* disable button on submit
([0da77d7](0da77d7119))
* disable casbin logging
([aa1ef1b](aa1ef1bd4c))
* do not move upgradepkg
([c12d8da](c12d8dae4e))
* docstrings
([935318d](935318dda6))
* dont pass entire server state for privacy
([b969f3a](b969f3a9ab))
* download fixtures from the web
([05f661e](05f661e0e5))
* download nodejs and install on legacy OS versions
([b1a2ba7](b1a2ba78cc))
* eliminate all alpha beta gamma variable usage
([4eda099](4eda0991d6))
* enable PR releases on non-mainline merges
([3419837](3419837eb5))
* enable sandbox in dev mode
([21208bf](21208bfcf6))
* enable sandbox with developer command
([9c5e418](9c5e418872))
* enable token sign in with comma separated subs in myservers.config
([e9bd18a](e9bd18a409))
* error state outside of button
([a1cf441](a1cf44162a))
* error when nodejs download fails
([af1994c](af1994cb62))
* exit cli after running command
([5ca225f](5ca225fe7a))
* extensive file checking
([4d45caf](4d45caf258))
* extract node to usr/local/
([9a0d63d](9a0d63d4ee))
* fallback to local
([36d8399](36d8399045))
* faster failure logic
([1f5c642](1f5c6424c7))
* feature request template
([0c0a63b](0c0a63b525))
* fix docusaurus build + update snapshot
([7a19c93](7a19c9331f))
* fix missing flash line
([5f1a61d](5f1a61d4aa))
* fix pm2 setup and add link command
([caf797c](caf797cf4a))
* force linting on build
([ad32cff](ad32cffd75))
* generate key one time
([1435155](143515560c))
* glob for files
([0652114](065211413d))
* group renovate updates
([d7b138b](d7b138b2a7))
* hide sign in from the dropdown text
([ea6ae83](ea6ae83919))
* hypervisor async imports
([f1e5383](f1e53831c8))
* ignore generated code
([0e9c91a](0e9c91af86))
* ignore nuxt-custom-elements and reflect-metadata
([8590a49](8590a49402))
* improve packing
([3c61a61](3c61a615f0))
* initial patcher implementation using the diff tool
([805bc5b](805bc5bfc0))
* initial setup of permissions on keys
([#1068](https://github.com/unraid/api/issues/1068))
([a554bde](a554bde5c2))
* initial version of modification service
([bb37140](bb37140d40))
* inject after form
([e5d1146](e5d1146613))
* kill timeout extended
([0c6f44d](0c6f44da35))
* log size and only tar files
([a6f6706](a6f67060b4))
* logrotate test
([5b0971e](5b0971ea8d))
* lots of progress on colors
([c6547a5](c6547a51fc))
* major release-please workflow improvements
([#1160](https://github.com/unraid/api/issues/1160))
([013cc1d](013cc1de7d))
* manually install libvirt in build process to ensure it is included in
the final build
([cea11da](cea11daf15))
* more pm2 fixes
([4655d72](4655d72fbb))
* move fixtures into __test__ folder
([dfb006e](dfb006e696))
* move ssoenabled to a boolean flag rather than ids
([6f5edb2](6f5edb2406))
* move variable declarations to theme.ts
([00b8ffe](00b8ffe87d))
* myservers_fb keepalive location
([69441d8](69441d890e))
* name package with PR number
([cf72c8b](cf72c8b359))
* nuxt config simplification and formatting
([2903542](29035429bd))
* only write config when a specific config update action occurs
([29ca582](29ca5829ff))
* or button on sign in page
([11ff890](11ff890bcc))
* **plugin:** rm Date & Time format settings from Notification Settings
([acba0b0](acba0b0365))
* properly read log level from environment
([8a374b5](8a374b5b27))
* public index
([8cbb3c4](8cbb3c4718))
* remove apiKey from server
([895d585](895d5857f9))
* remove nghttp3 and only bundle nodejs
([bb555f8](bb555f8296))
* remove sso if disabled on Unraid-API start
([daf904b](daf904bc1b))
* remove sso user command
([f302924](f30292484d))
* remove sso user options
([75d7e08](75d7e08824))
* remove unused config sections
([03e336b](03e336b72f))
* remove unused fields
([2d3892d](2d3892deb8))
* remove unused vars
([6f9977e](6f9977eea0))
* rename api key resource back to api_key
([8827483](8827483699))
* rename modification file
([5d909a8](5d909a856b))
* reorder index
([a4b3f8c](a4b3f8c6c3))
* responsive notifications
([cead975](cead97560c))
* restart the API when an SSO user is added
([dae5738](dae57389c6))
* restoring sso error
([3042ffa](3042ffa37e))
* revert local api key value
([6bfd8a2](6bfd8a2687))
* rollback if patch exists before applying
([a12181a](a12181a5e0))
* secondary changes
([cbb42dc](cbb42dc85e))
* separate install process
([9bbab0f](9bbab0f86c))
* service tests for modifier service
([d6fa35c](d6fa35cdee))
* session issues
([8026ef5](8026ef53e8))
* set background color on webcomponents
([7ef3286](7ef3286191))
* shared call to createPatch
([073a515](073a51572a))
* sidebar notification count
([a4e2a77](a4e2a77410))
* simplify docs
([1e4a4f0](1e4a4f0745))
* sso button token exchange
([3abf20b](3abf20b347))
* sso login boolean
([81f051e](81f051e02c))
* sso testing page and form disable on submit
([09f7415](09f741557b))
* state using crypto
([3734730](3734730bf7))
* style improvements
([a8211ce](a8211cef7d))
* swap to async exit hook
([c7d4e39](c7d4e39287))
* switch to nest-commander
([7ceac1b](7ceac1b184))
* try catch restart
([55100da](55100daed4))
* **ui:** webgui-compatible web component library
([#1075](https://github.com/unraid/api/issues/1075))
([61ee689](61ee689658))
* unnecessary comment
([f560df0](f560df0270))
* unraid single sign on with account app
([2b25537](2b25537e26))
* unraid ui component library
([#976](https://github.com/unraid/api/issues/976))
([91de6e6](91de6e6c1e))
* update based on review feedback
([16f00a0](16f00a0d8c))
* update packageManager field for pnpm
([eec9785](eec9785ba1))
* Update
plugin/source/dynamix.unraid.net/usr/local/emhttp/plugins/dynamix.my.servers/include/state.php
([336478c](336478c2e0))
* upgrade dependencies
([46c82ec](46c82ecae3))
* upgrade workflow and auto-assign reviewers
([59e48ad](59e48ad85c))
* use execa for start and stop
([05e77a4](05e77a4bc6))
* use plugin file for install and uninstall
([bbf2807](bbf28075c6))
* use state passing to validate requests
([bd58490](bd584902e0))
* use text-secondary-foreground instead of gray
([7828ef2](7828ef2648))
* use zod to parse config
([02c197f](02c197f244))
* validate entries correctly
([a39da15](a39da15be4))
* validate token format in both PHP and CLI
([b9d9105](b9d9105e3e))
* viewport watch refactor
([9d2405b](9d2405bd21))
* warning on missing fields
([c1fe95f](c1fe95fcb6))
* **web:** activation modal steps, updated copy
([#1079](https://github.com/unraid/api/issues/1079))
([d8a5b17](d8a5b1711a))
* **web:** add an 'all' option to notification filter
([939d7a3](939d7a304d))
* **web:** add confirmation before archiving or deleting all
notifications
([4c663dc](4c663dc69c))
* **web:** add count labels to notification tabs
([78ec466](78ec4663cc))
* **web:** add delete all notifications button to archive view in
notifications sidebar
([89eb841](89eb841b20))
* **web:** add link to settings in notification sidebar
([7296195](7296195495))
* **web:** add loading and error states to notification sidebar
([060fb91](060fb91546))
* **web:** clear notifications indicator after opening sidebar
([be7135e](be7135efdd))
* **web:** enhance notifications indicator in UPC
([#950](https://github.com/unraid/api/issues/950))
([0b469f5](0b469f5b3f))
* **web:** improve notification count syncing
([#1148](https://github.com/unraid/api/issues/1148))
([7588e0e](7588e0e3cf))
* **web:** move notification indicator icons to top-right of bell icon
([99704a9](99704a9dbb))
* **web:** open official release notes via header os version
([7dcf947](7dcf947527))
* **web:** pull date format from display/date and time settings
([7c8e8a0](7c8e8a0e53))
* **web:** remove notification indicator pulse
([bc4708f](bc4708f405))
* **web:** rm api-key validation from connect sign in
([#986](https://github.com/unraid/api/issues/986))
([939383e](939383e4ef))
* **web:** rm old notification bell upon plugin installation
([#979](https://github.com/unraid/api/issues/979))
([478254e](478254e134))
* **web:** support markdown in notification messages
([abcaa5a](abcaa5aedb))
* **web:** use Markdown helper class to interact with markdown
([2f4ff21](2f4ff21986))
* work intent
([c519ba2](c519ba28e4))
* work intent process
([8374af8](8374af8ee8))
* zod config no longer any
([6faef27](6faef27d7c))


### Bug Fixes

* 12 hour timestamp logic corrected
([6cbb9c0](6cbb9c07e4))
* add another missing symlink
([477c113](477c113ce1))
* allow concurrent testing with a shared patcher instance
([c007898](c00789865c))
* **api:** append time to formatted date when a custom date format is
selected
([b9cd8c4](b9cd8c426d))
* **api:** change log output location for diagnostic compatibility
([#1130](https://github.com/unraid/api/issues/1130))
([9bc8060](9bc8060a83))
* **api:** delay pm2 start until server has booted
([3c27b51](3c27b51ab8))
* **api:** exclude duplicates from legacy script in archive retrieval
([9c38fa6](9c38fa6a9c))
* **api:** improve defaults in PM2 service
([#1116](https://github.com/unraid/api/issues/1116))
([a21f39d](a21f39d617))
* **api:** logrotate modification & permissions
([#1145](https://github.com/unraid/api/issues/1145))
([b970fd9](b970fd9e6c))
* **api:** make cookie recognition during websocket connection more
([2a82ea4](2a82ea4765))
* **api:** pm2 start script & limit auto restarts
([#1040](https://github.com/unraid/api/issues/1040))
([b53bb3f](b53bb3f197))
* **api:** retry mothership connection up to 3x before logout
([#1069](https://github.com/unraid/api/issues/1069))
([c163998](c163998175))
* **api:** sanitize incoming user session id's
([3b2d61e](3b2d61efc2))
* **api:** slow init of unraid-api cli
([#1022](https://github.com/unraid/api/issues/1022))
([f37dda1](f37dda16c2))
* **api:** update deploy-dev script to dist instead of src
([2327b00](2327b00d30))
* **api:** validate cookie session data
([fe98295](fe98295496))
* apply and rollback error handling
([76711be](76711be3e8))
* authorization type error
([#987](https://github.com/unraid/api/issues/987))
([5f0446f](5f0446fa79))
* back to default configs
([a1a046f](a1a046f900))
* backup restore formatting
([0cfdd5a](0cfdd5a61b))
* basic test fixed
([bddda82](bddda823e1))
* better js file handling
([bb92c3f](bb92c3f9f8))
* better loader functionality and error handling
([a502134](a502134c0a))
* check width before changing viewport
([e2a1f27](e2a1f27b22))
* chown correctly ([#1185](https://github.com/unraid/api/issues/1185))
([46a05eb](46a05eb76d))
* cleaner logs for starting API
([eb1c62d](eb1c62d3d9))
* cleanup commands
([ef82ec5](ef82ec5af5))
* clearer error messaging
([f8393ee](f8393eeebe))
* code review feedback
([e7b689c](e7b689c546))
* completion script registration
([e338eb9](e338eb9788))
* connect breaks default css of header
([#1155](https://github.com/unraid/api/issues/1155))
([fb24723](fb2472399a))
* connect key role
([eff6c32](eff6c32ccd))
* create api key for connect on startup
([69cd92f](69cd92f974))
* create api key permissions
([14fe30e](14fe30e925))
* create connect key
([d88b1e9](d88b1e9660))
* create PR ignored
([dabe334](dabe334072))
* create releases as drafts
([5483e9f](5483e9fee9))
* cwd on ecosystem.config.json
([3fc4148](3fc41480a2))
* dark theme as array
([77558a5](77558a5cd9))
* default overwrite false test
([62824ba](62824ba76f))
* delete .original files
([547ae18](547ae180dd))
* delete unused line
([3e8c101](3e8c101edd))
* deprecated version warning
([a892a3c](a892a3ce35))
* **deps:** update all non-major dependencies
([#1158](https://github.com/unraid/api/issues/1158))
([48df88f](48df88f5c1))
* **deps:** update all non-major dependencies
([#1168](https://github.com/unraid/api/issues/1168))
([248d211](248d211050))
* **deps:** update apollo graphql packages
([1f9e282](1f9e282880))
* **deps:** update dependency @apollo/client to v3.12.6
([c0d3cf5](c0d3cf5782))
* **deps:** update dependency @apollo/client to v3.12.6
([91a9949](91a9949a5c))
* **deps:** update dependency @apollo/client to v3.12.9
([5b14be6](5b14be6b0f))
* **deps:** update dependency @floating-ui/dom to v1.6.13
([64d3765](64d3765a9a))
* **deps:** update dependency @floating-ui/dom to v1.6.13
([5dc1375](5dc13755df))
* **deps:** update dependency @floating-ui/vue to v1.1.6
([6cb28d5](6cb28d5f8f))
* **deps:** update dependency @floating-ui/vue to v1.1.6
([e5e1c43](e5e1c43bb3))
* **deps:** update dependency @graphql-tools/load-files to v7.0.1
([5f597f9](5f597f9d4c))
* **deps:** update dependency @nestjs/schedule to v4.1.2
([806bd63](806bd633ac))
* **deps:** update dependency chokidar to v4.0.3
([74b3e29](74b3e29c74))
* **deps:** update dependency dockerode to v4
([#830](https://github.com/unraid/api/issues/830))
([c311a89](c311a89aee))
* **deps:** update dependency dotenv to v16.4.7
([b32f84b](b32f84b105))
* **deps:** update dependency execa to v9.5.2
([6c54fa1](6c54fa14b1))
* **deps:** update dependency express to v4.21.2
([a947ff1](a947ff14fa))
* **deps:** update dependency focus-trap to v7.6.4
([8475204](84752043e5))
* **deps:** update dependency focus-trap to v7.6.4
([5dfd6d5](5dfd6d5ded))
* **deps:** update dependency got to v14.4.5
([71e2b70](71e2b70678))
* **deps:** update dependency graphql-ws to v5.16.2
([c112f19](c112f19c95))
* **deps:** update dependency graphql-ws to v5.16.2
([4daa54c](4daa54cfb5))
* **deps:** update dependency ini to v4.1.3
([c817cc4](c817cc4b7e))
* **deps:** update dependency node-window-polyfill to v1.0.4
([61ec04c](61ec04cb87))
* **deps:** update dependency openid-client to v6.1.7
([7ef3729](7ef3729769))
* **deps:** update dependency p-retry to v6.2.1
([46a368e](46a368e1b5))
* **deps:** update dependency pm2 to v5.4.3
([e366cad](e366cad0a4))
* **deps:** update dependency radix-vue to v1.9.12
([83344e0](83344e05c1))
* **deps:** update dependency radix-vue to v1.9.13
([c180728](c180728696))
* **deps:** update dependency uuid to v11.0.5
([0331e24](0331e24a74))
* **deps:** update graphql-tools monorepo
([344b023](344b023503))
* **deps:** update graphqlcodegenerator monorepo
([2bc9af2](2bc9af2578))
* **deps:** update graphqlcodegenerator monorepo
([8675653](8675653e4e))
* **deps:** update nest monorepo to v10.4.15
([2b597f9](2b597f9f02))
* **deps:** update nest-graphql monorepo to v12.2.2
([bd31e09](bd31e09bcf))
* dev mode
([aae38e3](aae38e3404))
* do not process.exit on restart or stop command
([e16763b](e16763b49b))
* docs creation workflow
([13b501a](13b501a342))
* don't check code for execa
([f62f0d3](f62f0d3a0f))
* don't specify pnpm version in install
([30ba5be](30ba5befdb))
* dont remove login file without a backup presetn
([1854aa9](1854aa9f28))
* downgrade marked to fix changelog preview issue
([943c907](943c907d03))
* edit settings padding issue
([4e9ab64](4e9ab645e6))
* empty manifest and version alignment
([b07828d](b07828d655))
* ensure directory exists before making connect key
([a6cd74d](a6cd74dc5c))
* excess spacing in api-key.service
([286ffc5](286ffc54e5))
* extra log line
([b56b215](b56b2157fa))
* extra spacing in config.ts
([84f4f67](84f4f67ce1))
* file modification service fixes
([e4ebfc8](e4ebfc8a13))
* finalize workflow fixes
([616be93](616be93be9))
* find by key, not ID
([124fb61](124fb610b1))
* fix libvirt bindings
([#1167](https://github.com/unraid/api/issues/1167))
([024719f](024719fa7a))
* format authrequest mod as other files
([8b75d6c](8b75d6cc99))
* formatting issue
([0042f14](0042f14ab3))
* further resolve sso sub ids issues
([b3551a1](b3551a1b69))
* improve typing and format lookup
([dfa27e2](dfa27e2c0d))
* initial feedback about report addressed
([060a199](060a1992c4))
* install as-integrations/fastify
([2fce2e9](2fce2e9a28))
* install syntax error
([a355a64](a355a64136))
* integration of `unraid-ui` tailwind config in `web`
([#1074](https://github.com/unraid/api/issues/1074))
([3acc0dc](3acc0dc9c0))
* length
([8481c9a](8481c9a9fb))
* lint
([133c8e0](133c8e0d70))
* lint
([42610d2](42610d290d))
* lint
([b1a993a](b1a993a8e9))
* lint
([6beafbe](6beafbe8ed))
* lint
([d38f3ef](d38f3ef49b))
* logrotate error
([7a009b6](7a009b6be7))
* lowercase or
([29a8689](29a8689ad8))
* main.yml release issue
([2b1e307](2b1e3076b0))
* make public not a part of folder structure in PR
([84611d7](84611d7691))
* marked single input
([d28fb24](d28fb24d68))
* missing server type
([76cf6f3](76cf6f35dc))
* mock ensureDirSync
([14abc13](14abc13cc8))
* more color work
([9a869a4](9a869a49e3))
* more generic test
([ddfc36f](ddfc36fd73))
* more verbose logging for node install to find issues
([c3f4cf5](c3f4cf53c1))
* oauth2 api prefix
([56cfa84](56cfa84794))
* only instantiate service one time
([b1b93e2](b1b93e2783))
* only run release if releases_create == 'true'
([00a444f](00a444fb92))
* only toast unread notifications, not archived ones
([8251c6f](8251c6f2d3))
* padding and glob function issues
([ae753d6](ae753d6bea))
* pass ssoSubIds only
([76a9ae9](76a9ae9386))
* pass token to password field
([9279931](92799312c9))
* patch-utils unused
([1d5c2c8](1d5c2c8338))
* paths now correct, better download logic
([9e12407](9e12407565))
* PHP Warning in state.php
([#1126](https://github.com/unraid/api/issues/1126))
([59d6c1b](59d6c1b678))
* properly log error with template string
([2ad612c](2ad612cef8))
* pull token from query not params
([1756cc5](1756cc5b4b))
* re-add manifest
([e721299](e72129953e))
* re-add type-check
([0fa41f5](0fa41f5690))
* recreate package-lock to fix issues
([e1515a1](e1515a118a))
* release-please upload single draft
([db134f0](db134f091d))
* remove console log
([d8f9f03](d8f9f03146))
* remove devDependencies from output package json
([d847815](d8478152e9))
* remove extra space
([000692c](000692ca50))
* remove isNaN in favor of number.isNaN
([e33c758](e33c7583f7))
* remove line from or in button
([961bcc5](961bcc5db6))
* remove memory key generation
([e58410b](e58410bd57))
* remove unused constructor
([ce92cb0](ce92cb06b7))
* remove unused date-fns
([0c1b89f](0c1b89ff41))
* remove unused login entries
([942b143](942b143fba))
* remove usage of Role.UPC
([ceac626](ceac6269b3))
* render function fixed
([833a99f](833a99fe18))
* report issues + pm2 issues
([4b3d6a7](4b3d6a7ba3))
* reset config to be closer to default
([d844903](d844903d78))
* resource busy when removing all subdirectories
([7b3834c](7b3834ca1f))
* restart command elegant
([b924954](b9249544fc))
* restore upgradepkg before install
([8f58145](8f5814589e))
* revert changelog
([efa7db3](efa7db3db6))
* revert changes to indicator.vue
([11ce9e2](11ce9e2644))
* revert config
([7957c2a](7957c2a681))
* revert dockerode upgrade
([#1140](https://github.com/unraid/api/issues/1140))
([2b163b3](2b163b361a))
* revert myservers.cfg
([7e5dd07](7e5dd07d4a))
* sandbox defaults in dev mode wrong
([d26ddef](d26ddef33e))
* sequential test execution for generic-modification
([9d1442b](9d1442b2ee))
* shell path to unraid-api
([44d3d93](44d3d939a7))
* shorten work intent form
([5b2403a](5b2403ad04))
* simplify api setup index
([5f29e6d](5f29e6d5e7))
* simplify upcoming features
([608151d](608151d84c))
* small modal window
([#1183](https://github.com/unraid/api/issues/1183))
([08423b8](08423b8dae))
* staging build issues
([63fcde8](63fcde8243))
* start command simplification
([27049d9](27049d9d91))
* stop command exits
([58f65ea](58f65eabba))
* storybook resolution issue
([#1153](https://github.com/unraid/api/issues/1153))
([5a3e8df](5a3e8df003))
* strip components from tar line
([bad7f71](bad7f71fea))
* swap to placeholder key
([39612cd](39612cd978))
* switch to useToggle
([5f8602b](5f8602b864))
* test issues
([4d8f2dd](4d8f2ddac6))
* test simplification to ensure no redownloads
([5347d54](5347d54b11))
* tests
([ed18945](ed18945088))
* tests and validate token clears screen
([6c46f94](6c46f9413f))
* theme store now uses singular variables object
([116efe6](116efe6f72))
* thorw on invalid token body
([1e6fb7e](1e6fb7e3e3))
* type error on element render
([45327ce](45327ce01d))
* type for generic test
([0163acb](0163acb7f3))
* unit test issues
([74b9fd0](74b9fd0159))
* unit tests updated
([0ab40fe](0ab40fefda))
* unneeded await on api-key service
([923e929](923e929878))
* unused imports
([0cb0fc9](0cb0fc9881))
* upc header text color
([d23a389](d23a38960b))
* Update renovate.json
([c47a655](c47a655b45))
* update tests
([b1ac0f9](b1ac0f9c83))
* upgradepkg
([6962cdd](6962cdd214))
* upload to correct tag directory on build
([f76c0f0](f76c0f05fb))
* upload to release by name
([2283e06](2283e064d5))
* use an enum and defaults for sandbox value
([2108ed0](2108ed0ecd))
* use batchProcess
([3c357e7](3c357e7e95))
* use cwd when running application
([e27776d](e27776df3d))
* use foreground text color for UPC
([d5f5921](d5f5921534))
* use placeholder in test API key
([5d72b5a](5d72b5a970))
* watch all events to load keys
([ff63535](ff63535b00))
* **web:** broken modals
([19208e5](19208e5fab))
* **web:** display error message in sidebar when api is offline
([#984](https://github.com/unraid/api/issues/984))
([4a29fc9](4a29fc9dda))
* **web:** edge case where archived notifications don't appear
([e40a9eb](e40a9ebecd))
* **web:** env var typo
([dffbfc2](dffbfc2dab))
* **web:** escaping html-encoded symbols like apostrophes in
translations ([#1002](https://github.com/unraid/api/issues/1002))
([4ee42a6](4ee42a6cf6))
* **web:** flash of disconnected api state on page load
([d0819b8](d0819b8d02))
* **web:** infinite scroll loop when there's only 1 page of
notifications
([eeb3289](eeb3289ae8))
* **web:** infinite trigger at bottom of infinite scroll
([001be86](001be86181))
* **web:** name of toaster component
([93980f9](93980f929d))
* **web:** notification styles & alignment
([#968](https://github.com/unraid/api/issues/968))
([547b75a](547b75a55e))
* **web:** refetch notifications for sidebar when new notifications
arrive
([23b1f1a](23b1f1ac73))
* **web:** remove warn and error console log removal
([#1086](https://github.com/unraid/api/issues/1086))
([e7d15ee](e7d15ee5ec))
* **web:** replaces dompurify with isomorphic-dompurify to enable
server-side usage with same syntax
([2724485](2724485989))
* **web:** reset infinite scroll when notification filters change
([3fe13d5](3fe13d5235))
* **web:** sanitize changelog markup after parsing
([83e00c6](83e00c640a))
* **web:** stop opening notification sidebar to archive tab
([ecfc797](ecfc797e7d))
* **web:** theme header differences
([#1085](https://github.com/unraid/api/issues/1085))
([1ecac5e](1ecac5ee4e))
* **web:** track 'notification seen' state across tabs & page loads
([#1121](https://github.com/unraid/api/issues/1121))
([321703e](321703e907))
* **web:** update unread total immediately upon archiving
([#982](https://github.com/unraid/api/issues/982))
([29d9371](29d9371cc3))


### Miscellaneous Chores

* release 4.1.2
([2323ee6](2323ee6838))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-21 15:35:35 -05:00
Eli Bosley
5483e9fee9 fix: create releases as drafts 2025-02-21 15:30:28 -05:00
Eli Bosley
7957c2a681 fix: revert config 2025-02-21 15:30:13 -05:00
Eli Bosley
d47bc0277d Revert "chore: update release-please config, allow releases from main.yml (#1177)"
This reverts commit 6adb4484c3.
2025-02-21 15:29:41 -05:00
github-actions[bot]
950bee951e chore(main): release 4.1.3 (#1178)
# Hotfix Release Feb 21, 2025

### Bug Fixes

* fix ssh issues
* fix issues with uninstalling the plugin
2025-02-21 15:17:46 -05:00
Eli Bosley
46a05eb76d fix: chown correctly (#1185)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Chores**
- Updated the approach to managing directory ownership for improved
consistency across various environments.
- Enhanced error handling in directory permission and ownership
commands.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-21 15:14:15 -05:00
Michael Datelle
08423b8dae fix: small modal window (#1183)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Style**
- Adjusted the modal’s width during transitions for a consistent
full-width display.
- Refined responsive behavior for improved modal display on smaller
screens.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: mdatelle <mike@datelle.net>
2025-02-21 14:12:48 -05:00
Eli Bosley
364eb62726 fix/plugin-always-restores (#1184)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Enhanced the plugin uninstallation process to ensure that system files
are properly restored during removal. This update uses a temporary flag
to trigger restoration only when needed and cleans up afterward,
ensuring a smooth and reliable uninstallation experience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-21 14:12:21 -05:00
Pujit Mehrotra
1718af1bb6 Revert "chore(web): prepare package.json and env files for monorepo tooling" (#1182)
Reverts unraid/api#1180

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Enhanced the repository setup process by separating configuration for
backend and website modules.
- Introduced a new web setup routine that automates environment
initialization and dependency installation.
- Expanded the development workflow with commands for live development,
linting, type checking, and code generation.

- **Chores**
- Reorganized project scripts and dependency management for improved
consistency.
- Streamlined cleanup routines and refined configuration settings for
staging environments.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-21 13:57:37 -05:00
Pujit Mehrotra
a50a2d9aeb chore(web): prepare package.json and env files for monorepo tooling (#1180)
- **Chores**
- Streamlined the installation and setup workflow by consolidating
multiple commands into a simpler process.
- Updated cleaning procedures to ensure complete removal of build
artifacts and dependencies.
- Adjusted environment file handling for clearer configuration
management.
2025-02-21 11:48:51 -05:00
renovate[bot]
248d211050 fix(deps): update all non-major dependencies (#1168)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@graphql-tools/merge](https://redirect.github.com/ardatan/graphql-tools)
([source](https://redirect.github.com/ardatan/graphql-tools/tree/HEAD/packages/merge))
| [`9.0.19` ->
`9.0.20`](https://renovatebot.com/diffs/npm/@graphql-tools%2fmerge/9.0.19/9.0.20)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-tools%2fmerge/9.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-tools%2fmerge/9.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-tools%2fmerge/9.0.19/9.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-tools%2fmerge/9.0.19/9.0.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@graphql-tools/schema](https://redirect.github.com/ardatan/graphql-tools)
([source](https://redirect.github.com/ardatan/graphql-tools/tree/HEAD/packages/schema))
| [`10.0.18` ->
`10.0.19`](https://renovatebot.com/diffs/npm/@graphql-tools%2fschema/10.0.18/10.0.19)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-tools%2fschema/10.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-tools%2fschema/10.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-tools%2fschema/10.0.18/10.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-tools%2fschema/10.0.18/10.0.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@graphql-tools/utils](https://redirect.github.com/ardatan/graphql-tools)
([source](https://redirect.github.com/ardatan/graphql-tools/tree/HEAD/packages/utils))
| [`10.8.1` ->
`10.8.2`](https://renovatebot.com/diffs/npm/@graphql-tools%2futils/10.8.1/10.8.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-tools%2futils/10.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-tools%2futils/10.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-tools%2futils/10.8.1/10.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-tools%2futils/10.8.1/10.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [ws](https://redirect.github.com/websockets/ws) | [`8.18.0` ->
`8.18.1`](https://renovatebot.com/diffs/npm/ws/8.18.0/8.18.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/ws/8.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ws/8.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ws/8.18.0/8.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ws/8.18.0/8.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>ardatan/graphql-tools (@&#8203;graphql-tools/merge)</summary>

###
[`v9.0.20`](https://redirect.github.com/ardatan/graphql-tools/blob/HEAD/packages/merge/CHANGELOG.md#9020)

[Compare
Source](https://redirect.github.com/ardatan/graphql-tools/compare/@graphql-tools/merge@9.0.19...@graphql-tools/merge@9.0.20)

##### Patch Changes

-   Updated dependencies

\[[`3547bba`](3547bbadd3)]:
-
[@&#8203;graphql-tools/utils](https://redirect.github.com/graphql-tools/utils)[@&#8203;10](https://redirect.github.com/10).8.2

</details>

<details>
<summary>ardatan/graphql-tools (@&#8203;graphql-tools/schema)</summary>

###
[`v10.0.19`](https://redirect.github.com/ardatan/graphql-tools/blob/HEAD/packages/schema/CHANGELOG.md#10019)

[Compare
Source](https://redirect.github.com/ardatan/graphql-tools/compare/@graphql-tools/schema@10.0.18...@graphql-tools/schema@10.0.19)

##### Patch Changes

-   Updated dependencies

\[[`3547bba`](3547bbadd3)]:
-
[@&#8203;graphql-tools/utils](https://redirect.github.com/graphql-tools/utils)[@&#8203;10](https://redirect.github.com/10).8.2
-
[@&#8203;graphql-tools/merge](https://redirect.github.com/graphql-tools/merge)[@&#8203;9](https://redirect.github.com/9).0.20

</details>

<details>
<summary>ardatan/graphql-tools (@&#8203;graphql-tools/utils)</summary>

###
[`v10.8.2`](https://redirect.github.com/ardatan/graphql-tools/blob/HEAD/packages/utils/CHANGELOG.md#1082)

[Compare
Source](https://redirect.github.com/ardatan/graphql-tools/compare/@graphql-tools/utils@10.8.1...@graphql-tools/utils@10.8.2)

##### Patch Changes

-
[`3547bba`](3547bbadd3)
Thanks [@&#8203;ardatan](https://redirect.github.com/ardatan)! - Relax
`extensions` type

</details>

<details>
<summary>websockets/ws (ws)</summary>

###
[`v8.18.1`](https://redirect.github.com/websockets/ws/compare/8.18.0...8.18.1)

[Compare
Source](https://redirect.github.com/websockets/ws/compare/8.18.0...8.18.1)

</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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- 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-21 10:24:22 -05:00
Eli Bosley
6adb4484c3 chore: update release-please config, allow releases from main.yml (#1177)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced the automated release process with integrated changelog
updates for better tracking of product changes.
- Expanded deployment support by distributing release assets through
additional cloud providers, ensuring more robust delivery.

- **Chores**
- Refined release configurations and streamlined component management
for a smoother rollout.
- Introduced file verification checks to prevent release interruptions
and maintain reliable updates.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-02-21 10:17:23 -05:00
renovate[bot]
dc2e02de86 chore(deps): update dependency vue-tsc to v2 (#1176)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vue-tsc](https://redirect.github.com/vuejs/language-tools)
([source](https://redirect.github.com/vuejs/language-tools/tree/HEAD/packages/tsc))
| [`^1.8.0` ->
`^2.0.0`](https://renovatebot.com/diffs/npm/vue-tsc/1.8.27/2.2.2) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/2.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/2.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/1.8.27/2.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/1.8.27/2.2.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>vuejs/language-tools (vue-tsc)</summary>

###
[`v2.2.2`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#222-supofficialsup-223-supinsiderssup-2025-02-15)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.2.0...v2.2.2)

##### Features

- feat(language-core): navigation support for `$attrs`, `$slots`,
`$refs` and `$el` in the template
([#&#8203;5056](https://redirect.github.com/vuejs/language-tools/issues/5056))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- feat(language-service): support global directives completion
([#&#8203;4989](https://redirect.github.com/vuejs/language-tools/issues/4989))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- feat(language-core): type support of `useAttrs`
([#&#8203;5106](https://redirect.github.com/vuejs/language-tools/issues/5106))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- feat(language-core): add options for fine-grained configuration of
`strictTemplates`
([#&#8203;5138](https://redirect.github.com/vuejs/language-tools/issues/5138))
- feat(language-service): display deprecated info of props in completion
([#&#8203;5134](https://redirect.github.com/vuejs/language-tools/issues/5134))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- feat(component-meta): collect destructured props defaults
([#&#8203;5101](https://redirect.github.com/vuejs/language-tools/issues/5101))
- Thanks to [@&#8203;Akryum](https://redirect.github.com/Akryum)!
- feat(language-core): add `checkUnknownDirectives` option
([#&#8203;5141](https://redirect.github.com/vuejs/language-tools/issues/5141))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- feat(language-core): support `<script vapor>` - Thanks to
[@&#8203;KazariEX](https://redirect.github.com/KazariEX)!

##### Bug Fixes

- fix(language-core): ignore ts errors in function-scoped declare
expressions
([#&#8203;5090](https://redirect.github.com/vuejs/language-tools/issues/5090))
- Thanks to
[@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)!
- fix(language-core, typescript-plugin): handle self-reference component
correctly
([#&#8203;5102](https://redirect.github.com/vuejs/language-tools/issues/5102))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- fix(language-core): do not generate element for `<template>` with
`v-slot`
([#&#8203;5077](https://redirect.github.com/vuejs/language-tools/issues/5077))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- fix(language-service): set code action kinds to avoid warning
([#&#8203;5096](https://redirect.github.com/vuejs/language-tools/issues/5096))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
-   fix(language-core): handle parentheses in v-for exp
- fix(language-core): slot exp formatting virtual code syntax incorrect
- fix(language-core): arrow function formatting virtual code syntax
incorrect in interpolation
-   fix(language-core): improve multiple lines event formatting result
-   fix(language-core): prefer `loc.source` instead of node content
- fix(language-core): intersect local `$attrs` with `__VLS_ctx.$attrs`
([#&#8203;5113](https://redirect.github.com/vuejs/language-tools/issues/5113))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- fix(language-core): only generate model modifiers for components -
Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- fix(language-plugin-pug): ignore duplicate attribute error of `class`
([#&#8203;5100](https://redirect.github.com/vuejs/language-tools/issues/5100))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- fix(language-core): align types of `v-for` with core
([#&#8203;5084](https://redirect.github.com/vuejs/language-tools/issues/5084))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- fix(language-core): map interpolation error with multiple variables
correctly
([#&#8203;5158](https://redirect.github.com/vuejs/language-tools/issues/5158))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- fix(vscode): ask user to reload extension host when configuration
changes
([#&#8203;5160](https://redirect.github.com/vuejs/language-tools/issues/5160))
- Thanks to
[@&#8203;typed-sigterm](https://redirect.github.com/typed-sigterm)!
- fix(typescript-plugin): update component names correctly for the first
time - Thanks to
[@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- fix(language-core): add `undefined` to first param type of optional
model emits
([#&#8203;5171](https://redirect.github.com/vuejs/language-tools/issues/5171))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- fix(language-core): intersect `__VLS_slots` with `__VLS_ctx.$slots`
([#&#8203;5083](https://redirect.github.com/vuejs/language-tools/issues/5083))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- fix(language-core): complete codegen of slot name prop
([#&#8203;5139](https://redirect.github.com/vuejs/language-tools/issues/5139))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!

##### Other Changes

- refactor(language-service): read ast from codegen instead of parsing
it repeatedly
([#&#8203;5086](https://redirect.github.com/vuejs/language-tools/issues/5086))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- refactor(language-core): rewrite `vueCompilerOptions` resolution logic
- refactor(component-meta): read `scriptSetupRanges` from codegen -
Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- refactor(component-meta): read node directly instead of creating sub
ast - Thanks to
[@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- refactor(component-meta): read ast from `sfc.script` - Thanks to
[@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- refactor(language-core): generate the type of slots with function
property
([#&#8203;5173](https://redirect.github.com/vuejs/language-tools/issues/5173))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- refactor(language-core): reduce codegen size of template returns -
Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- refactor(language-core): remove semantic highlight of directives -
Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- refactor: update alien-signals to 1.0.3
([#&#8203;5181](https://redirect.github.com/vuejs/language-tools/issues/5181))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!

###
[`v2.2.0`](https://redirect.github.com/vuejs/language-tools/compare/v2.1.10...5babca774658d4b9afbe877ac7c8cafdaecf2c3e)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.1.10...v2.2.0)

###
[`v2.1.10`](https://redirect.github.com/vuejs/language-tools/compare/v2.1.8...b0af30caee2f8dfb1a8393c1b400f38e31fa4883)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.1.8...v2.1.10)

###
[`v2.1.8`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#218-supofficialsup-219-supinsiderssup-2024-10-26)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.1.6...v2.1.8)

##### Features

- **vscode:** reactions visualization now identifies more use cases
<sup>Insiders</sup>
- **language-core:** auto infer `$el` type
([#&#8203;4805](https://redirect.github.com/vuejs/language-tools/issues/4805))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** typed directive arg and modifiers
([#&#8203;4813](https://redirect.github.com/vuejs/language-tools/issues/4813))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!

##### Bug Fixes

- **language-core:** avoid generic type loss due to destructured props
([#&#8203;4821](https://redirect.github.com/vuejs/language-tools/issues/4821))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** handle `v-for` with `v-once` correctly
([#&#8203;4830](https://redirect.github.com/vuejs/language-tools/issues/4830))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** avoid generating zero-length mappings for
interpolation edges
- **language-core:** don't assign `this` to `__VLS_ctx`
([#&#8203;4845](https://redirect.github.com/vuejs/language-tools/issues/4845))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-service:** initialize scope with null prototype object
([#&#8203;4855](https://redirect.github.com/vuejs/language-tools/issues/4855))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** inlay hints for `<component :is>` and `<slot
:name>`
([#&#8203;4661](https://redirect.github.com/vuejs/language-tools/issues/4661))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX),
[@&#8203;so1ve](https://redirect.github.com/so1ve)!
- **language-core:** should error when invalid syntax at script end
([#&#8203;4692](https://redirect.github.com/vuejs/language-tools/issues/4692))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** correct type inference of `defineModel` &
`defineEmits` in generic
([#&#8203;4823](https://redirect.github.com/vuejs/language-tools/issues/4823))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** inject generics of `useTemplateRef` into correct
location
([#&#8203;4829](https://redirect.github.com/vuejs/language-tools/issues/4829))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** prevent the generation of generics in JS
([#&#8203;4836](https://redirect.github.com/vuejs/language-tools/issues/4836))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX),
[@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)!
- **language-core:** generate correct reference for `v-on` on `<slot>`
([#&#8203;4864](https://redirect.github.com/vuejs/language-tools/issues/4864))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** match classname before `)`
([#&#8203;4887](https://redirect.github.com/vuejs/language-tools/issues/4887))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-service:** handle internal item key with leading slash
correctly
([#&#8203;4894](https://redirect.github.com/vuejs/language-tools/issues/4894))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** correctly obtain the index of style modules
([#&#8203;4907](https://redirect.github.com/vuejs/language-tools/issues/4907))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** refer absolute path of global types file
([#&#8203;4924](https://redirect.github.com/vuejs/language-tools/issues/4924))
- Thanks to
[@&#8203;depressedX](https://redirect.github.com/depressedX)!
- **component-meta:** error when signatures is undefined
([#&#8203;4930](https://redirect.github.com/vuejs/language-tools/issues/4930))
- Thanks to
[@&#8203;Hannesrasmussen](https://redirect.github.com/Hannesrasmussen)!
- **language-core:** intersect props of generic component with attrs
([#&#8203;4886](https://redirect.github.com/vuejs/language-tools/issues/4886))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** fix incorrect syntax for class component virtual
code
- **language-core:** generate `value` instead of model name into tuple
([#&#8203;4892](https://redirect.github.com/vuejs/language-tools/issues/4892))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** infer template ref's type of native elements with
`v-for` correctly
([#&#8203;4933](https://redirect.github.com/vuejs/language-tools/issues/4933))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** should wrap item with `Reactive` on `v-for`
([#&#8203;4902](https://redirect.github.com/vuejs/language-tools/issues/4902))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!

##### Performance

- **language-service:** find destructured props only with enabled
setting
([#&#8203;4815](https://redirect.github.com/vuejs/language-tools/issues/4815))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!

##### Other Changes

-   Upgraded Volar from `v2.4.1` to `v2.4.8`:
- Changing vue files causes internal state to desync in Sublime Text
([#&#8203;4909](https://redirect.github.com/vuejs/language-tools/issues/4909))
- Thanks to [@&#8203;rchl](https://redirect.github.com/rchl)!
- The syntax highlighting is not applied when destructuring props
([#&#8203;4811](https://redirect.github.com/vuejs/language-tools/issues/4811))
- chore: fix nvim config snippet in README
([#&#8203;4881](https://redirect.github.com/vuejs/language-tools/issues/4881))
- Thanks to
[@&#8203;LiamEderzeel](https://redirect.github.com/LiamEderzeel)!
- chore: remove side effects
([#&#8203;4871](https://redirect.github.com/vuejs/language-tools/issues/4871))
- Thanks to [@&#8203;vikingair](https://redirect.github.com/vikingair)!
- chore: remove `importsNotUsedAsValues`
([#&#8203;4897](https://redirect.github.com/vuejs/language-tools/issues/4897))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- chore(vscode): switch to `"module": "CommonJS"`
([#&#8203;4944](https://redirect.github.com/vuejs/language-tools/issues/4944))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- test: fix incorrect default value
([#&#8203;4934](https://redirect.github.com/vuejs/language-tools/issues/4934))
- Thanks to [@&#8203;jh-leong](https://redirect.github.com/jh-leong)!
-   test(tsc): add a test case for class component

###
[`v2.1.6`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#216-supofficialsup-217-supinsiderssup-2024-09-05)

[Compare
Source](a95b51ac0b...v2.1.6)

##### Features

- **language-plugin-pug:** support initial indentation
([#&#8203;4774](https://redirect.github.com/vuejs/language-tools/issues/4774))
- **language-service:** JSDoc display support when typing props on
component template
([#&#8203;4796](https://redirect.github.com/vuejs/language-tools/issues/4796))
- Thanks to [@&#8203;joy-yu](https://redirect.github.com/joy-yu)!
- **language-core:** typed directives in template
([#&#8203;4807](https://redirect.github.com/vuejs/language-tools/issues/4807))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!

##### Bug Fixes

- **language-core:** wrap template refs with `unref` in interpolation
([#&#8203;4777](https://redirect.github.com/vuejs/language-tools/issues/4777))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** ensure to pass tsc on inline global types
([#&#8203;4782](https://redirect.github.com/vuejs/language-tools/issues/4782))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** infer native template ref as build-in element
interface
([#&#8203;4786](https://redirect.github.com/vuejs/language-tools/issues/4786))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** generate `__VLS_StyleModules` after template
([#&#8203;4790](https://redirect.github.com/vuejs/language-tools/issues/4790))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** make `expose` of non-generic template ref required
([#&#8203;4795](https://redirect.github.com/vuejs/language-tools/issues/4795))
- Thanks to
[@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)!
- **language-core:** avoid using `__typeProps` with runtime props
([#&#8203;4800](https://redirect.github.com/vuejs/language-tools/issues/4800))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** ignore unknown attrs error when strictTemplates is
not enabled
([#&#8203;4785](https://redirect.github.com/vuejs/language-tools/issues/4785))
- **language-core:** prevent append globalTypes to virtual file
([#&#8203;4806](https://redirect.github.com/vuejs/language-tools/issues/4806))
- Thanks to
[@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)!
- **language-core:** prevent type error when use defineSlots and
non-template
([#&#8203;4809](https://redirect.github.com/vuejs/language-tools/issues/4809))
- Thanks to
[@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)!
- **typescript-plugin:** disconnect socket on error
([#&#8203;4672](https://redirect.github.com/vuejs/language-tools/issues/4672))

##### Performance

- **language-core:** don't emit event lnlayhint when content is none
([#&#8203;4776](https://redirect.github.com/vuejs/language-tools/issues/4776))
- Thanks to [@&#8203;Gehbt](https://redirect.github.com/Gehbt)!

##### Other Changes

- **language-core:** split `__VLS_templateResult`
([#&#8203;4781](https://redirect.github.com/vuejs/language-tools/issues/4781))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** wrap template virtual code into a function
([#&#8203;4784](https://redirect.github.com/vuejs/language-tools/issues/4784))
- **language-core:** move `templateRef` into `composibles`
([#&#8203;4791](https://redirect.github.com/vuejs/language-tools/issues/4791))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** generate global types for the first parsed Vue
component if cannot write global types file

##### Tests

- **language-server:** add renaming case for template `ref()`
([#&#8203;4794](https://redirect.github.com/vuejs/language-tools/issues/4794))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **tsc:** update to Vue 3.5
([#&#8203;4725](https://redirect.github.com/vuejs/language-tools/issues/4725))
- **tsc:** unknown props on non-strict generic component
([#&#8203;4792](https://redirect.github.com/vuejs/language-tools/issues/4792))

###
[`v2.1.5`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#214-supofficialsup-215-supinsiderssup-2024-09-01)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.1.4...a95b51ac0b0db8825f77fbba37e29932b5be61e4)

##### Features

- **typescript-plugin, language-server:** generate global types file
into `node_modules/.vue-global-types`
([#&#8203;4752](https://redirect.github.com/vuejs/language-tools/issues/4752))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** navigation support for template-ref
([#&#8203;4726](https://redirect.github.com/vuejs/language-tools/issues/4726))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!

##### Bug Fixes

- **language-core, typescript-plugin, language-server:** apply snake
case on globalTypes filename
([#&#8203;4749](https://redirect.github.com/vuejs/language-tools/issues/4749))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** hoist `$refs` type
([#&#8203;4763](https://redirect.github.com/vuejs/language-tools/issues/4763))
- **language-core:** disable lib check on global types file
([#&#8203;4767](https://redirect.github.com/vuejs/language-tools/issues/4767))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** prevent circular reference of templateRef
([#&#8203;4768](https://redirect.github.com/vuejs/language-tools/issues/4768))
- Thanks to
[@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)!
-   **language-core:** using interface merging for `GlobalComponents`
- **language-core:** `fallthroughAttributes` causes global components to
be self-referential
([#&#8203;4761](https://redirect.github.com/vuejs/language-tools/issues/4761))
- **language-core:** auto-completion for the last line of template block
([#&#8203;4771](https://redirect.github.com/vuejs/language-tools/issues/4771))
- Thanks to
[@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)!
- **language-core:** update ast correctly on repeated `v-for`
modifications
([#&#8203;4772](https://redirect.github.com/vuejs/language-tools/issues/4772))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-server:** leaking named pipes
([#&#8203;4672](https://redirect.github.com/vuejs/language-tools/issues/4672))
- **typescript-plugin:** compatible with Yarn PnP
([#&#8203;4751](https://redirect.github.com/vuejs/language-tools/issues/4751))
- **vscode:** whitelist `ms-dynamics-smb.al` extension for Vue Hybrid
Mode.
([#&#8203;4765](https://redirect.github.com/vuejs/language-tools/issues/4765))
- Thanks to
[@&#8203;kyleweishaupt](https://redirect.github.com/kyleweishaupt)!

##### Other Changes

- Add optional "dependencies" textarea to issue template
([#&#8203;4758](https://redirect.github.com/vuejs/language-tools/issues/4758))
- Thanks to
[@&#8203;davidmatter](https://redirect.github.com/davidmatter)!

###
[`v2.1.4`](https://redirect.github.com/vuejs/language-tools/compare/v2.1.2...5e197d08eaef57209ff2927c943ba1db3bf4eff6)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.1.2...v2.1.4)

###
[`v2.1.2`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#212-supofficialsup-213-supinsiderssup-2024-08-29)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.1.0...v2.1.2)

##### Bug Fixes

- **language-core, typescript-plugin, language-server:** write
globalTypes into dist for correct export
([#&#8203;4740](https://redirect.github.com/vuejs/language-tools/issues/4740))
([#&#8203;4737](https://redirect.github.com/vuejs/language-tools/issues/4737))
([#&#8203;4738](https://redirect.github.com/vuejs/language-tools/issues/4738))
([#&#8203;4739](https://redirect.github.com/vuejs/language-tools/issues/4739))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** don't default `vueCompilerOptions.lib` to
`@vue/runtime-dom` for Vue 2

###
[`v2.1.0`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#210-supofficialsup-211-supinsiderssup-2024-08-29)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.0.29...v2.1.0)

##### Features

- **language-core:** inlay hints for destructured props
([#&#8203;4634](https://redirect.github.com/vuejs/language-tools/issues/4634))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** typed fallthrough attributes
([#&#8203;4103](https://redirect.github.com/vuejs/language-tools/issues/4103))
- Thanks to [@&#8203;A5rocks](https://redirect.github.com/A5rocks),
[@&#8203;so1ve](https://redirect.github.com/so1ve)!
- **language-core:** document links for classname within `:class`
([#&#8203;4642](https://redirect.github.com/vuejs/language-tools/issues/4642))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** auto infer type for $refs & useTemplateRef
([#&#8203;4644](https://redirect.github.com/vuejs/language-tools/issues/4644))
- Thanks to
[@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)!
- **language-core:** type support for CSS Modules API
([#&#8203;4674](https://redirect.github.com/vuejs/language-tools/issues/4674))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-service:** better completion for directives
([#&#8203;4640](https://redirect.github.com/vuejs/language-tools/issues/4640))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-service:** better sorting & filtering of completion
([#&#8203;4671](https://redirect.github.com/vuejs/language-tools/issues/4671))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-service:** add style scoped and module completion
([#&#8203;4705](https://redirect.github.com/vuejs/language-tools/issues/4705))
- Thanks to [@&#8203;runyasak](https://redirect.github.com/runyasak)!

##### Bug Fixes

- **vscode:** type of `vue.server.hybridMode` config
([#&#8203;4703](https://redirect.github.com/vuejs/language-tools/issues/4703))
- Thanks to [@&#8203;KermanX](https://redirect.github.com/KermanX)!
- **language-core:** dependency on vulnerable version of
`vue-template-compiler`
([#&#8203;4613](https://redirect.github.com/vuejs/language-tools/issues/4613))
- Thanks to [@&#8203;yyx990803](https://redirect.github.com/yyx990803)!
- **language-core:** support parse method to access ctx var in object
([#&#8203;4609](https://redirect.github.com/vuejs/language-tools/issues/4609))
- Thanks to [@&#8203;linghaoSu](https://redirect.github.com/linghaoSu)!
- **language-core:** escape \ and ' in className avoid type error
([#&#8203;4619](https://redirect.github.com/vuejs/language-tools/issues/4619))
- Thanks to [@&#8203;linghaoSu](https://redirect.github.com/linghaoSu)!
- **language-core:** semantic highlight of the end tag of namespaced
elements
([#&#8203;4623](https://redirect.github.com/vuejs/language-tools/issues/4623))
- Thanks to [@&#8203;KermanX](https://redirect.github.com/KermanX)!
- **language-core:** nullable modelvalues
([#&#8203;4648](https://redirect.github.com/vuejs/language-tools/issues/4648))
- Thanks to
[@&#8203;davidmatter](https://redirect.github.com/davidmatter)!
- **language-core:** should try casting dynamic slot name into constant
([#&#8203;4669](https://redirect.github.com/vuejs/language-tools/issues/4669))
- Thanks to [@&#8203;KermanX](https://redirect.github.com/KermanX)!
- **language-core:** local name support for prop using runtime api
([#&#8203;4650](https://redirect.github.com/vuejs/language-tools/issues/4650))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** optimize matching of scoped class and `v-bind()`
([#&#8203;4679](https://redirect.github.com/vuejs/language-tools/issues/4679))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** should preserve generic info in directive
([#&#8203;4686](https://redirect.github.com/vuejs/language-tools/issues/4686))
- Thanks to [@&#8203;KermanX](https://redirect.github.com/KermanX)!
- **language-core:** generate `ref` as identifier instead of
interpolation
([#&#8203;4688](https://redirect.github.com/vuejs/language-tools/issues/4688))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** correct type narrowing from script to template
([#&#8203;4689](https://redirect.github.com/vuejs/language-tools/issues/4689))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** should camelize prop name in
`experimentalModelPropName`
([#&#8203;4691](https://redirect.github.com/vuejs/language-tools/issues/4691))
- Thanks to [@&#8203;KermanX](https://redirect.github.com/KermanX)!
- **language-core:** drop duplicate hints on incomplete tag
([#&#8203;4696](https://redirect.github.com/vuejs/language-tools/issues/4696))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** correct inlay hints for v-bind with modifier
([#&#8203;4721](https://redirect.github.com/vuejs/language-tools/issues/4721))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-core:** transform range of `file-md` correctly
([#&#8203;4735](https://redirect.github.com/vuejs/language-tools/issues/4735))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-plugin-pug:** should cache proxyed object
([#&#8203;4626](https://redirect.github.com/vuejs/language-tools/issues/4626))
- Thanks to [@&#8203;KermanX](https://redirect.github.com/KermanX)!
- **language-plugin-pug:** compute offset correctly of pug class
([#&#8203;4652](https://redirect.github.com/vuejs/language-tools/issues/4652))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-service:** completion documentations for binding attributes
([#&#8203;4667](https://redirect.github.com/vuejs/language-tools/issues/4667))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-service:** avoid converting internal id of special tags
([#&#8203;4643](https://redirect.github.com/vuejs/language-tools/issues/4643))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-service:** reinstate the completion for modifiers
([#&#8203;4639](https://redirect.github.com/vuejs/language-tools/issues/4639))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **language-service:** consistent data from provider for sfc completion
([#&#8203;4645](https://redirect.github.com/vuejs/language-tools/issues/4645))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!
- **typescript-plugin:** unknown request type warning
([#&#8203;4715](https://redirect.github.com/vuejs/language-tools/issues/4715))
- Thanks to
[@&#8203;davidmatter](https://redirect.github.com/davidmatter)!

##### Refactors

-   **language-core:** extract SFC root tags to separate virtual code
-   **language-core:** removed `__hint` trick from codegen
-   **language-core:** rewrite a part of confusing codegen code
- **language-core:** reduce virtual code generated by component tags
([#&#8203;4714](https://redirect.github.com/vuejs/language-tools/issues/4714))
- **language-core:** do not wrap template virtual code with function
([#&#8203;4731](https://redirect.github.com/vuejs/language-tools/issues/4731))
- **language-core**: write real files to FS for shared global types
([#&#8203;4736](https://redirect.github.com/vuejs/language-tools/issues/4736))
- **component-meta:** remove deprecated
`createComponentMetaCheckerByJsonConfig`, `createComponentMetaChecker`
api

##### Other Changes

-   Upgraded Volar from `v2.4.0-alpha.18` to `v2.4.1`:
- Ensure unopened files are synced to project
([#&#8203;4711](https://redirect.github.com/vuejs/language-tools/issues/4711))
([#&#8203;4632](https://redirect.github.com/vuejs/language-tools/issues/4632))
- Thanks to
[@&#8203;davidmatter](https://redirect.github.com/davidmatter)!
- **ci:** integrated
[pkg.pr.new](https://redirect.github.com/stackblitz-labs/pkg.pr.new)
- **tsc:** test all typecheck cases in one tsconfig
([#&#8203;4723](https://redirect.github.com/vuejs/language-tools/issues/4723))
- **tsc:** add test for TS-next
([#&#8203;4724](https://redirect.github.com/vuejs/language-tools/issues/4724))
- **tsc:** add tests for for
[#&#8203;3779](https://redirect.github.com/vuejs/language-tools/issues/3779),
[#&#8203;3820](https://redirect.github.com/vuejs/language-tools/issues/3820)
([#&#8203;3838](https://redirect.github.com/vuejs/language-tools/issues/3838))
- Thanks to [@&#8203;so1ve](https://redirect.github.com/so1ve)!
- **vscode:** add grammar test
([#&#8203;3861](https://redirect.github.com/vuejs/language-tools/issues/3861))
- Thanks to [@&#8203;so1ve](https://redirect.github.com/so1ve)!
- **language-service:** migrate tests to `@volar/test-utils`
([#&#8203;4719](https://redirect.github.com/vuejs/language-tools/issues/4719))
- **language-core:** add scoped classes renaming case
([#&#8203;4727](https://redirect.github.com/vuejs/language-tools/issues/4727))
- Thanks to [@&#8203;KazariEX](https://redirect.github.com/KazariEX)!

###
[`v2.0.29`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2028-supofficialsup-2029-supinsiderssup-2024-07-22)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.0.28...v2.0.29)

##### Features

- **vscode:** focus mode <sup>Insiders</sup>
([https://github.com/volarjs/insiders/pull/24](https://redirect.github.com/volarjs/insiders/pull/24))
-   **language-core:** Plugin API 2.1
    -   Added plugin hooks: `getLanguageId`, `isValidFile`, `parseSFC2`
- Improve backward compatibility
([#&#8203;4585](https://redirect.github.com/vuejs/language-tools/issues/4585))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
- **language-core:** support default prop when using \__typeProps
([#&#8203;4602](https://redirect.github.com/vuejs/language-tools/issues/4602))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
- **language-core:** improve nested plugins
([#&#8203;4581](https://redirect.github.com/vuejs/language-tools/issues/4581))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
- **language-service:** remove `v-bind` code action
([#&#8203;4601](https://redirect.github.com/vuejs/language-tools/issues/4601))
- **vscode:** add empty pattern to codeblock attributes scope
([#&#8203;4590](https://redirect.github.com/vuejs/language-tools/issues/4590))
- Thanks [@&#8203;KermanX](https://redirect.github.com/KermanX)

##### Fixes

- **tsc:** errors should be thrown instead of being console.log printed
- **language-server:** observe named pipes changes when server startup
([#&#8203;4292](https://redirect.github.com/vuejs/language-tools/issues/4292))
- **language-core:** infer define model type from options type
([#&#8203;4545](https://redirect.github.com/vuejs/language-tools/issues/4545))
- Thanks [@&#8203;davidmatter](https://redirect.github.com/davidmatter)
- **language-core:** type-checking not working with hyphen in slot name
with JS
([#&#8203;4478](https://redirect.github.com/vuejs/language-tools/issues/4478))
- Thanks [@&#8203;KermanX](https://redirect.github.com/KermanX)
- **language-core:** add type check for v-model without argument
([#&#8203;4598](https://redirect.github.com/vuejs/language-tools/issues/4598))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
- **language-service:** filter special tags
([#&#8203;4596](https://redirect.github.com/vuejs/language-tools/issues/4596))
- Thanks [@&#8203;so1ve](https://redirect.github.com/so1ve)
- **typescript-plugin:** improve named pipes reliability
([#&#8203;4603](https://redirect.github.com/vuejs/language-tools/issues/4603))
- **language-core:** property access is incorrectly identified as
compound expression
([#&#8203;4600](https://redirect.github.com/vuejs/language-tools/issues/4600))
- **language-core:** fix compatibility of generic component virtual code
with TS 5.5
([#&#8203;4577](https://redirect.github.com/vuejs/language-tools/issues/4577))
- **tsc:** TS4082 not reported for functional component
([#&#8203;4569](https://redirect.github.com/vuejs/language-tools/issues/4569))

##### Other Changes

-   Upgraded Volar from `v2.4.0-alpha.15` to `v2.4.0-alpha.18`:
- Fix VS Code IntelliSense will be lost in new created files
([#&#8203;4424](https://redirect.github.com/vuejs/language-tools/issues/4424))
- Add workspace symbols support in Hybrid Mode
([#&#8203;4595](https://redirect.github.com/vuejs/language-tools/issues/4595))
- Add workspace `addMissingImports` action support in Hybrid Mode
([#&#8203;4586](https://redirect.github.com/vuejs/language-tools/issues/4586))
- Fix yarn 4 compatibility
([#&#8203;4587](https://redirect.github.com/vuejs/language-tools/issues/4587))
- Add vue vine to hybrid mode compatible list
([#&#8203;4543](https://redirect.github.com/vuejs/language-tools/issues/4543))
- Thanks [@&#8203;so1ve](https://redirect.github.com/so1ve)
- Add global components prop validation test
([#&#8203;4542](https://redirect.github.com/vuejs/language-tools/issues/4542))
- Thanks [@&#8203;davidmatter](https://redirect.github.com/davidmatter)

###
[`v2.0.28`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2028-supofficialsup-2029-supinsiderssup-2024-07-22)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.0.26...v2.0.28)

##### Features

-   **vscode:** focus mode <sup>Insiders</sup>
-   **language-core:** Plugin API 2.1
    -   Added plugin hooks: `getLanguageId`, `isValidFile`, `parseSFC2`
- Improve backward compatibility
([#&#8203;4585](https://redirect.github.com/vuejs/language-tools/issues/4585))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
- **language-core:** support default prop when using \__typeProps
([#&#8203;4602](https://redirect.github.com/vuejs/language-tools/issues/4602))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
- **language-core:** improve nested plugins
([#&#8203;4581](https://redirect.github.com/vuejs/language-tools/issues/4581))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
- **language-service:** remove `v-bind` code action
([#&#8203;4601](https://redirect.github.com/vuejs/language-tools/issues/4601))
- **vscode:** add empty pattern to codeblock attributes scope
([#&#8203;4590](https://redirect.github.com/vuejs/language-tools/issues/4590))
- Thanks [@&#8203;KermanX](https://redirect.github.com/KermanX)

##### Fixes

- **tsc:** errors should be thrown instead of being console.log printed
- **language-server:** observe named pipes changes when server startup
([#&#8203;4292](https://redirect.github.com/vuejs/language-tools/issues/4292))
- **language-core:** infer define model type from options type
([#&#8203;4545](https://redirect.github.com/vuejs/language-tools/issues/4545))
- Thanks [@&#8203;davidmatter](https://redirect.github.com/davidmatter)
- **language-core:** type-checking not working with hyphen in slot name
with JS
([#&#8203;4478](https://redirect.github.com/vuejs/language-tools/issues/4478))
- Thanks [@&#8203;KermanX](https://redirect.github.com/KermanX)
- **language-core:** add type check for v-model without argument
([#&#8203;4598](https://redirect.github.com/vuejs/language-tools/issues/4598))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
- **language-service:** filter special tags
([#&#8203;4596](https://redirect.github.com/vuejs/language-tools/issues/4596))
- Thanks [@&#8203;so1ve](https://redirect.github.com/so1ve)
- **typescript-plugin:** improve named pipes reliability
([#&#8203;4603](https://redirect.github.com/vuejs/language-tools/issues/4603))
- **language-core** property access is incorrectly identified as
compound expression
([#&#8203;4600](https://redirect.github.com/vuejs/language-tools/issues/4600))
- **language-core** fix compatibility of generic component virtual code
with TS 5.5
([#&#8203;4577](https://redirect.github.com/vuejs/language-tools/issues/4577))
- **tsc** TS4082 not reported for functional component
([#&#8203;4569](https://redirect.github.com/vuejs/language-tools/issues/4569))

##### Other Changes

-   Upgraded Volar from `v2.4.0-alpha.15` to `v2.4.0-alpha.18`:
- Fix VS Code IntelliSense will be lost in new created files
([#&#8203;4424](https://redirect.github.com/vuejs/language-tools/issues/4424))
- Add workspace symbols support in Hybrid Mode
([#&#8203;4595](https://redirect.github.com/vuejs/language-tools/issues/4595))
- Add workspace `addMissingImports` action support in Hybrid Mode
([#&#8203;4586](https://redirect.github.com/vuejs/language-tools/issues/4586))
- Fix yarn 4 compatibility
([#&#8203;4587](https://redirect.github.com/vuejs/language-tools/issues/4587))
- Add vue vine to hybrid mode compatible list
([#&#8203;4543](https://redirect.github.com/vuejs/language-tools/issues/4543))
- Thanks [@&#8203;so1ve](https://redirect.github.com/so1ve)
- Add global components prop validation test
([#&#8203;4542](https://redirect.github.com/vuejs/language-tools/issues/4542))
- Thanks [@&#8203;davidmatter](https://redirect.github.com/davidmatter)

###
[`v2.0.26`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2026-supofficialsup-2027-supinsiderssup-2024-07-04)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.0.24...v2.0.26)

##### Features

- **language-service:** Support auto-complete for more preprocessing
languages.
- **language-core:** Improve type compatibility with Vue 3.5.
([#&#8203;4474](https://redirect.github.com/vuejs/language-tools/issues/4474))
- Thanks, [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj).

##### Bug Fixes

- **vscode:** Fix insider version display condition. <sup>Insiders</sup>
- **language-service:** Fix `vue-twoslash-queries` not working in LSP
mode.
- **language-service:** Add null handling for script tag completion
items.
([#&#8203;4520](https://redirect.github.com/vuejs/language-tools/issues/4520))
- **language-core:** Fix `any` in templates if the first checked file
was not root.
([#&#8203;4526](https://redirect.github.com/vuejs/language-tools/issues/4526))
- Thanks,
[@&#8203;daniluk4000](https://redirect.github.com/daniluk4000).

##### Other Changes

-   Upgraded Volar from `v2.4.0-alpha.2` to `v2.4.0-alpha.14`:
- Fixed an issue where, when Hybrid Mode is disabled, TS support for Vue
files not included in tsconfig may be missing.
- Improved the consistency of `vue-tsc` and `tsc` behavior.
([#&#8203;3526](https://redirect.github.com/vuejs/language-tools/issues/3526))
    -   Fixed the `--clean` flag support for `vue-tsc`.
-   Updated the high-level overview mermaid diagram.
- Added 'expected' and 'actually happening' sections to the bug report
template.
([#&#8203;4515](https://redirect.github.com/vuejs/language-tools/issues/4515))
- Thanks,
[@&#8203;davidmatter](https://redirect.github.com/davidmatter).

###
[`v2.0.24`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2024-supofficialsup-2025-supinsiderssup-2024-06-30)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.0.22...v2.0.24)

##### Features

- **vscode:** pop message box if new insiders version available
<sup>insiders</sup>
- **vscode:** if insiders versions information failed to fetch from
GitHub, try to fetch from CDN <sup>insiders</sup>
- **language-service:** better sfc-level tag name completion
([#&#8203;4506](https://redirect.github.com/vuejs/language-tools/issues/4506))
- Thanks [@&#8203;KermanX](https://redirect.github.com/KermanX)

##### Bug Fixes

- **tsc:** update required volar version
([#&#8203;4498](https://redirect.github.com/vuejs/language-tools/issues/4498))
- Thanks [@&#8203;davidmatter](https://redirect.github.com/davidmatter)
- **tsc:** bump peer typescript version
([#&#8203;4513](https://redirect.github.com/vuejs/language-tools/issues/4513))
- Thanks [@&#8203;so1ve](https://redirect.github.com/so1ve)

##### Refactors

- **language-server:** reorganize the code structure
([#&#8203;4507](https://redirect.github.com/vuejs/language-tools/issues/4507))

##### Other Changes

-   Upgrade Volar from `v2.3.1` to `v2.4.0-alpha.2`.
- Hybrid Mode compatibility improvements with other TS plugins
([https://github.com/volarjs/volar.js/issues/216](https://redirect.github.com/volarjs/volar.js/issues/216))
- **docs:** add nvim-cmp integration
([#&#8203;4463](https://redirect.github.com/vuejs/language-tools/issues/4463))
- Thanks
[@&#8203;RayGuo-ergou](https://redirect.github.com/RayGuo-ergou)
-   **docs:** update mermaid
- The following extensions have been added to Hybrid Mode’s
compatibility whitelist
([#&#8203;4206](https://redirect.github.com/vuejs/language-tools/issues/4206)):
    -   `p42ai.refactor`
    -   `nrwl.angular-console`
    -   `styled-components.vscode-styled-components`
    -   `Divlo.vscode-styled-jsx-languageserver`

###
[`v2.0.22`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2022-2024-06-22)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.0.21...v2.0.22)

##### Bug Fixes

- **vscode:** directive syntax highlighting
([#&#8203;4482](https://redirect.github.com/vuejs/language-tools/issues/4482))
- Thanks [@&#8203;KermanX](https://redirect.github.com/KermanX)
- **language-core:** move declare defineProp out of function scope
([#&#8203;4454](https://redirect.github.com/vuejs/language-tools/issues/4454))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
- **language-core:** compatible with TS 5.5
([#&#8203;4492](https://redirect.github.com/vuejs/language-tools/issues/4492))

##### Other Changes

-   Upgrade Volar from `v2.3.0-alpha.14` to `v2.3.1`.
- Error tolerant to `contentChanges` length
([#&#8203;4457](https://redirect.github.com/vuejs/language-tools/issues/4457))
- Add feature request template
([#&#8203;4490](https://redirect.github.com/vuejs/language-tools/issues/4490))
- Thanks [@&#8203;so1ve](https://redirect.github.com/so1ve)
- **docs:** fix wrong links in CHANGELOG.md
([#&#8203;4475](https://redirect.github.com/vuejs/language-tools/issues/4475))
- Thanks [@&#8203;KermanX](https://redirect.github.com/KermanX)

###
[`v2.0.21`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2021-2024-06-08)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.0.20...v2.0.21)

##### Bug Fixes

- fix(typescript-plugin): TS plugin cause type checking broken in .ts
files
([#&#8203;4453](https://redirect.github.com/vuejs/language-tools/issues/4453))

###
[`v2.0.20`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2020-2024-06-08)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.0.19...v2.0.20)

##### Features

-   feat(language-service): add localization support for zh-hk/zh-tw
- feat(vscode): enable syntax highlighting of cue code blocks in MDX
([#&#8203;4425](https://redirect.github.com/vuejs/language-tools/issues/4425))
- Thanks
[@&#8203;remcohaszing](https://redirect.github.com/remcohaszing)

##### Bug Fixes

- fix(vscode): fix "as"/"instanceof" expressions syntax highlight
([#&#8203;4412](https://redirect.github.com/vuejs/language-tools/issues/4412))
- fix(language-core): `ForIteratorExpression`'s `returns` property may
be undefined
([#&#8203;4418](https://redirect.github.com/vuejs/language-tools/issues/4418))
- Thanks [@&#8203;so1ve](https://redirect.github.com/so1ve)
- fix(language-core): use defineEmits calls instead of type infer
([#&#8203;4430](https://redirect.github.com/vuejs/language-tools/issues/4430))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
- fix(tsc): log catched errors to console
([#&#8203;4451](https://redirect.github.com/vuejs/language-tools/issues/4451))
- Thanks [@&#8203;mik3ybark3r](https://redirect.github.com/mik3ybark3r)
- fix(typescript-plugin): TS not working in template when tsconfig
missing
([#&#8203;4452](https://redirect.github.com/vuejs/language-tools/issues/4452))
- fix(language-core): use type infer instead of await import
([#&#8203;4436](https://redirect.github.com/vuejs/language-tools/issues/4436))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
- feat(language-core): ignore type error for new functional component
([#&#8203;4445](https://redirect.github.com/vuejs/language-tools/issues/4445))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
- fix(language-core): ignore type error for possible component name
([#&#8203;4446](https://redirect.github.com/vuejs/language-tools/issues/4446))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
-   fix(language-service): filter internal props in template completion
-   fix(language-service): sort component props in template completion
- fix(language-core): duplicate completion appears at the beginning of
script setup block

##### Other Changes

-   Upgrade Volar from `v2.2.4` to `v2.3.0-alpha.14`.
    -   LSP server performance improved
- Language server now responds with the exact server capabilities for
initialization requests
- Auto insertion requests can now exit early in the language client
- The following extensions have been added to Hybrid Mode’s
compatibility whitelist:
- `kimuson.ts-type-expand` - Thanks
[@&#8203;zcf0508](https://redirect.github.com/zcf0508)

###
[`v2.0.19`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2019-2024-05-16)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.0.18...v2.0.19)

##### Bug Fixes

- **language-core:** property 'xyz' does not exist on type 'abc' when
using v-for
([#&#8203;4386](https://redirect.github.com/vuejs/language-tools/issues/4386))
- **language-core:** avoid report error when events do not accept
parameters
([#&#8203;4387](https://redirect.github.com/vuejs/language-tools/issues/4387))
- **language-core:** inline dynamic event handlers should not expect
commas
([#&#8203;4387](https://redirect.github.com/vuejs/language-tools/issues/4387))

###
[`v2.0.18`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2018-2024-05-15)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.0.17...v2.0.18)

##### Features

- feat(language-core): report unknown events when strictTemplates is
enabled
([#&#8203;3718](https://redirect.github.com/vuejs/language-tools/issues/3718))
- feat(language-core): add `compileSFCScript` plugin hook
([#&#8203;3200](https://redirect.github.com/vuejs/language-tools/issues/3200))
-   feat(vscode): add coffeescript syntax highlight support

##### Bug Fixes

- fix(language-core): fix event handler type for hyphen-case event names
- fix(language-core): allow binding multiple events with the same name
([#&#8203;4369](https://redirect.github.com/vuejs/language-tools/issues/4369))
- fix(language-core): variable used in `key` appears as unused in v-for
template tag
([#&#8203;329](https://redirect.github.com/vuejs/language-tools/issues/329))
([#&#8203;3421](https://redirect.github.com/vuejs/language-tools/issues/3421))
- fix(language-core): generics with slots don't work with Vue 2.7
([#&#8203;3241](https://redirect.github.com/vuejs/language-tools/issues/3241))
- fix(language-core): template language of .md files should be markdown
([#&#8203;4299](https://redirect.github.com/vuejs/language-tools/issues/4299))
- fix(language-core): no template class links when
`experimentalResolveStyleCssClasses` is set to `always`
([#&#8203;4379](https://redirect.github.com/vuejs/language-tools/issues/4379))

##### Other Changes

-   Upgrade Volar from `v2.2.2` to `v2.2.4`.
    -   Fixed a few URI conversion issues
- fix(typescript): empty items list should be valid completion result
([#&#8203;4368](https://redirect.github.com/vuejs/language-tools/issues/4368))
    -   fix(typescript): path completion not working for meta files
-   Upgrade Volar services from `v0.0.44` to `v0.0.45`.
    -   fix(typescript-twoslash-queries): inlay hints not working
    -   fix(css, html, json, yaml): failed to resolve relative path
- feat(emmet): port VSCode emmet extension client logic
([https://github.com/volarjs/services/issues/95](https://redirect.github.com/volarjs/services/issues/95))
- The following extensions have been added to Hybrid Mode’s
compatibility whitelist:
    -   `miaonster.vscode-tsx-arrow-definition`
    -   `runem.lit-plugin`

###
[`v2.0.17`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2017-2024510)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.0.16...v2.0.17)

##### Features

- **language-core:** add JSDod support for component
([#&#8203;2377](https://redirect.github.com/vuejs/language-tools/issues/2377))
- **language-core:** add JSDoc support for script setup binding
variables
([#&#8203;3409](https://redirect.github.com/vuejs/language-tools/issues/3409))
- **language-core:** add class component support
([#&#8203;4354](https://redirect.github.com/vuejs/language-tools/issues/4354))
- **language-service:** re-support scoped class links in template
([#&#8203;4357](https://redirect.github.com/vuejs/language-tools/issues/4357))
- **typescript-plugin:** create script setup block when auto import if
needed
- **typescript-plugin:** add JSDoc support for events in template
([#&#8203;4365](https://redirect.github.com/vuejs/language-tools/issues/4365))
-   **component-meta:** add JSDoc tags support for events
- **language-core:** support defineOptions
([#&#8203;4362](https://redirect.github.com/vuejs/language-tools/issues/4362))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)

##### Bug Fixes

- **language-core:** hover not working for intrinsic element event name
- **language-core:** showing false *declared but not used* errors for
functions used in `v-on="{}"`
([#&#8203;4333](https://redirect.github.com/vuejs/language-tools/issues/4333))
-   **language-core:** fix nameless event expression formatting
- **language-core:** types imported in the `<script setup>` should not
be used as a variable in template
([#&#8203;4353](https://redirect.github.com/vuejs/language-tools/issues/4353))
- **language-core:** renaming classname within `scoped` not working
([#&#8203;4355](https://redirect.github.com/vuejs/language-tools/issues/4355))
- **language-core:** `<style>` completions and html custom data
completions not provided in some cases
([#&#8203;4092](https://redirect.github.com/vuejs/language-tools/issues/4092))
-   **language-core:** improve code action edits mapping fault tolerance
- **language-core:** support defineModel for generic component
([#&#8203;4345](https://redirect.github.com/vuejs/language-tools/issues/4345))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
-   **language-service:** completion cannot trigger in SFC root
-   **component-meta:** `forceUseTs` options not working

##### Other Changes

-   Upgrade Volar from `v2.2.0` to `v2.2.2`.
- fix(language-server): pass correct languageId when creating virtual
code
([https://github.com/volarjs/volar.js/issues/173](https://redirect.github.com/volarjs/volar.js/issues/173))
- fix(typescript): additional completion not working in plugin
([#&#8203;4323](https://redirect.github.com/vuejs/language-tools/issues/4323))
-   Upgrade Volar services from `v0.0.42` to `v0.0.44`.
- feat(typescript): code action edits respect editor formatting settings
([https://github.com/volarjs/services/issues/30](https://redirect.github.com/volarjs/services/issues/30))
- fix(typescript): not being able to jump to shims module definition
- fix(typescript): `allowTextChangesInNewFiles` never true for embedded
documents
- perf(typescript): check `command` resolve capability only for specific
refactors
([https://github.com/volarjs/services/issues/94](https://redirect.github.com/volarjs/services/issues/94))
- The following extensions have been added to Hybrid Mode’s
compatibility whitelist:
    -   `mxsdev.typescript-explorer`
- Deprecated `vueCompilerOptions.experimentalUseElementAccessInTemplate`
- Specify `packageManager`
([#&#8203;4358](https://redirect.github.com/vuejs/language-tools/issues/4358))
- Thanks [@&#8203;so1ve](https://redirect.github.com/so1ve)
- **docs:** emoved possibly redundant duplicate reference
([#&#8203;4348](https://redirect.github.com/vuejs/language-tools/issues/4348))
- Thanks [@&#8203;artshade](https://redirect.github.com/artshade)
- **language-service:** temporarily remove references codeLens
([#&#8203;4364](https://redirect.github.com/vuejs/language-tools/issues/4364))
-   **vscode:** auto enabling hybrid mode allows

###
[`v2.0.16`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2016-202451)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.0.15...v2.0.16)

##### Bug Fixes

- **language-core:** virtual document language ID is not updated when
changing SFC style block lang
- **language-core:** correct logic for `defineSlots` destructuring
([#&#8203;4326](https://redirect.github.com/vuejs/language-tools/issues/4326))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
- **language-core:** ObjectDirective does not work with `defineSlots`
([#&#8203;4327](https://redirect.github.com/vuejs/language-tools/issues/4327))
- **language-service:** emmet not working in postcss style block
([https://github.com/volarjs/volar.js/issues/169](https://redirect.github.com/volarjs/volar.js/issues/169))

##### Other Changes

- Upgrade to [Volar
2.2](https://redirect.github.com/volarjs/volar.js/releases/tag/v2.2.0)
- **language-core:** export `VueEmbeddedCode`
([#&#8203;4265](https://redirect.github.com/vuejs/language-tools/issues/4265))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)
- **typescript-plugin:** expose `FileRegistry` to `project.program`
([#&#8203;3963](https://redirect.github.com/vuejs/language-tools/issues/3963))
- Thanks [@&#8203;zcf0508](https://redirect.github.com/zcf0508)
- **vscode:** remove outdated formatters section
([#&#8203;4243](https://redirect.github.com/vuejs/language-tools/issues/4243))
- Thanks [@&#8203;BBboy01](https://redirect.github.com/BBboy01)

###
[`v2.0.15`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#2015-2024430)

[Compare
Source](https://redirect.github.com/vuejs/language-tools/compare/v2.0.14...v2.0.15)

##### Features

- Redesign additional extensions, VitePress, PetiteVue support
([#&#8203;4321](https://redirect.github.com/vuejs/language-tools/issues/4321))
- Fix custom file extensions not working in Hybrid Mode
([#&#8203;4251](https://redirect.github.com/vuejs/language-tools/issues/4251))
- **vscode:** prompt when Hybrid Mode is explicitly enabled but known
incompatible extensions are installed
- **language-core:** use internal options for directly exposing user
props/emits types
([vuejs/core#10801](https://redirect.github.com/vuejs/core/pull/10801))
- **language-core:** support defineSlots destructuring
([#&#8203;4312](https://redirect.github.com/vuejs/language-tools/issues/4312))
- Thanks [@&#8203;zhiyuanzmj](https://redirect.github.com/

</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-21 07:30:32 -05:00
renovate[bot]
f9f47cbab3 chore(deps): update dependency @rollup/plugin-node-resolve to v16 (#1162)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-20 19:50:41 -05:00
github-actions[bot]
d5e607797a chore: release main 4.1.2 (#1174) v4.1.2 2025-02-20 19:29:50 -05:00
Eli Bosley
616be93be9 fix: finalize workflow fixes 2025-02-20 19:26:21 -05:00