Pujit Mehrotra
24e834bcbe
Merge e1bbe0ca47 into 6ed2f5ce8e
2025-09-09 14:43:58 +00:00
Eli Bosley
6ed2f5ce8e
chore: add comment when PR is merged
2025-09-09 10:42:57 -04:00
Pujit Mehrotra
e1bbe0ca47
fix: uncaught synchronous exception in AsyncMutex
2025-09-09 10:42:33 -04:00
Eli Bosley
b79b44e95c
fix: staging PR plugin fixes + UI issues on 7.2 beta
2025-09-09 10:39:48 -04:00
Pujit Mehrotra
5b33e90ed5
use FeatureFlags const instead of direct env var
2025-09-09 10:30:15 -04:00
Eli Bosley
ca22285a26
chore: fix invalid user profile test ( #1678 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* New Features
* No user-facing changes in this release.
* Chores
* Streamlined release automation to run after successful build and test
stages on main, improving reliability of release tagging and downstream
usage.
* Simplified job dependencies for related build pipelines.
* Tests
* Updated User Profile tests to align with revised DOM structure for the
description area; assertions unchanged and no functional impact for
users.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-09 10:29:47 -04:00
Pujit Mehrotra
4fa89b95dc
refactor: explicit status item type for gql
2025-09-09 10:28:58 -04:00
Pujit Mehrotra
20986b217b
use zod for validation instead
2025-09-09 10:20:36 -04:00
Pujit Mehrotra
74835d1938
add validation for docker digest cache file
2025-09-09 10:10:49 -04:00
github-actions[bot]
838be2c52e
chore(main): release 4.20.3 ( #1677 )
...
🤖 I have created a release *beep* *boop*
---
## [4.20.3](https://github.com/unraid/api/compare/v4.20.2...v4.20.3 )
(2025-09-09)
### Bug Fixes
* header background color issues fixed on 7.2 - thanks Nick!
([73c1100 ](73c1100d0b ))
---
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-09-09 09:31:14 -04:00
Eli Bosley
73c1100d0b
fix: header background color issues fixed on 7.2 - thanks Nick!
2025-09-09 09:29:37 -04:00
github-actions[bot]
434e331384
chore(main): release 4.20.2 ( #1676 )
...
🤖 I have created a release *beep* *boop*
---
## [4.20.2](https://github.com/unraid/api/compare/v4.20.1...v4.20.2 )
(2025-09-09)
### Bug Fixes
* trigger deployment
([a27453f ](a27453fda8 ))
---
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-09-09 08:46:54 -04:00
Eli Bosley
a27453fda8
fix: trigger deployment
2025-09-09 08:45:02 -04:00
renovate[bot]
98e6058cd8
chore(deps): update actions/github-script action to v8 ( #1671 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/github-script](https://redirect.github.com/actions/github-script )
| action | major | `v7` -> `v8` |
---
### Release Notes
<details>
<summary>actions/github-script (actions/github-script)</summary>
###
[`v8`](https://redirect.github.com/actions/github-script/compare/v7...v8 )
[Compare
Source](https://redirect.github.com/actions/github-script/compare/v7...v8 )
</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 becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-09 08:30:02 -04:00
github-actions[bot]
6c2c51ae1d
chore(main): release 4.20.1 ( #1674 )
...
🤖 I have created a release *beep* *boop*
---
## [4.20.1](https://github.com/unraid/api/compare/v4.20.0...v4.20.1 )
(2025-09-09)
### Bug Fixes
* adjust header styles to fix flashing and width issues - thanks ZarZ
([4759b3d ](4759b3d0b3 ))
---
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-09-09 08:28:56 -04:00
Eli Bosley
d10c12035e
chore: Revert "fix(deps): update all non-major dependencies" ( #1675 )
...
Reverts unraid/api#1633
2025-09-09 08:25:30 -04:00
renovate[bot]
5dd6f42550
fix(deps): update all non-major dependencies ( #1633 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence | Type | Update |
|---|---|---|---|---|---|
| [@eslint/js](https://eslint.org )
([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js ))
| [`9.34.0` ->
`9.35.0`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.34.0/9.35.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[@graphql-codegen/typescript-resolvers](https://redirect.github.com/dotansimha/graphql-code-generator )
([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/resolvers ))
| [`4.5.1` ->
`4.5.2`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript-resolvers/4.5.1/4.5.2 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@ianvs/prettier-plugin-sort-imports](https://redirect.github.com/ianvs/prettier-plugin-sort-imports )
| [`4.6.3` ->
`4.7.0`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/4.6.3/4.7.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@manypkg/cli](https://redirect.github.com/Thinkmill/manypkg )
([source](https://redirect.github.com/Thinkmill/manypkg/tree/HEAD/packages/cli ))
| [`0.25.0` ->
`0.25.1`](https://renovatebot.com/diffs/npm/@manypkg%2fcli/0.25.0/0.25.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@nuxt/ui](https://ui.nuxt.com )
([source](https://redirect.github.com/nuxt/ui )) | [`4.0.0-alpha.0` ->
`4.0.0-alpha.1`](https://renovatebot.com/diffs/npm/@nuxt%2fui/4.0.0-alpha.0/4.0.0-alpha.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@reduxjs/toolkit](https://redux-toolkit.js.org )
([source](https://redirect.github.com/reduxjs/redux-toolkit )) | [`2.8.2`
->
`2.9.0`](https://renovatebot.com/diffs/npm/@reduxjs%2ftoolkit/2.8.2/2.9.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [@rollup/rollup-linux-x64-gnu](https://rollupjs.org/ )
([source](https://redirect.github.com/rollup/rollup )) | [`4.49.0` ->
`4.50.1`](https://renovatebot.com/diffs/npm/@rollup%2frollup-linux-x64-gnu/4.49.0/4.50.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| optionalDependencies | minor |
|
[@storybook/addon-docs](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/docs )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/docs ))
| [`9.1.3` ->
`9.1.5`](https://renovatebot.com/diffs/npm/@storybook%2faddon-docs/9.1.3/9.1.5 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links ))
| [`9.1.3` ->
`9.1.5`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/9.1.3/9.1.5 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@storybook/builder-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/builders/builder-vite/#readme )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/builders/builder-vite ))
| [`9.1.3` ->
`9.1.5`](https://renovatebot.com/diffs/npm/@storybook%2fbuilder-vite/9.1.3/9.1.5 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@storybook/vue3-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/vue3-vite )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/vue3-vite ))
| [`9.1.3` ->
`9.1.5`](https://renovatebot.com/diffs/npm/@storybook%2fvue3-vite/9.1.3/9.1.5 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [@tailwindcss/cli](https://tailwindcss.com )
([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-cli ))
| [`4.1.12` ->
`4.1.13`](https://renovatebot.com/diffs/npm/@tailwindcss%2fcli/4.1.12/4.1.13 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@tailwindcss/vite](https://tailwindcss.com )
([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite ))
| [`4.1.12` ->
`4.1.13`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.1.12/4.1.13 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ))
| [`22.18.0` ->
`22.18.1`](https://renovatebot.com/diffs/npm/@types%2fnode/22.18.0/22.18.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@types/semver](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/semver )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver ))
| [`7.7.0` ->
`7.7.1`](https://renovatebot.com/diffs/npm/@types%2fsemver/7.7.0/7.7.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin ))
| [`8.41.0` ->
`8.43.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.41.0/8.43.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[@vueuse/components](https://redirect.github.com/vueuse/vueuse/tree/main/packages/components#readme )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/components ))
| [`13.8.0` ->
`13.9.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcomponents/13.8.0/13.9.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [@vueuse/core](https://redirect.github.com/vueuse/vueuse )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/core ))
| [`13.8.0` ->
`13.9.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.8.0/13.9.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@vueuse/core](https://redirect.github.com/vueuse/vueuse )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/core ))
| [`13.8.0` ->
`13.9.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.8.0/13.9.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
|
[@vueuse/integrations](https://redirect.github.com/vueuse/vueuse/tree/main/packages/integrations#readme )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/integrations ))
| [`13.8.0` ->
`13.9.0`](https://renovatebot.com/diffs/npm/@vueuse%2fintegrations/13.8.0/13.9.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [chalk](https://redirect.github.com/chalk/chalk ) | [`5.6.0` ->
`5.6.2`](https://renovatebot.com/diffs/npm/chalk/5.6.0/5.6.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [dayjs](https://day.js.org )
([source](https://redirect.github.com/iamkun/dayjs )) | [`1.11.14` ->
`1.11.18`](https://renovatebot.com/diffs/npm/dayjs/1.11.14/1.11.18 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [dockerode](https://redirect.github.com/apocas/dockerode ) | [`4.0.7`
-> `4.0.8`](https://renovatebot.com/diffs/npm/dockerode/4.0.7/4.0.8 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [dotenv](https://redirect.github.com/motdotla/dotenv ) | [`17.2.1` ->
`17.2.2`](https://renovatebot.com/diffs/npm/dotenv/17.2.1/17.2.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [eslint](https://eslint.org )
([source](https://redirect.github.com/eslint/eslint )) | [`9.34.0` ->
`9.35.0`](https://renovatebot.com/diffs/npm/eslint/9.34.0/9.35.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[eslint-plugin-storybook](https://redirect.github.com/storybookjs/storybook/code/lib/eslint-plugin#readme )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/eslint-plugin ))
| [`9.1.3` ->
`9.1.5`](https://renovatebot.com/diffs/npm/eslint-plugin-storybook/9.1.3/9.1.5 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [fast-check](https://fast-check.dev/ )
([source](https://redirect.github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check ))
| [`4.2.0` ->
`4.3.0`](https://renovatebot.com/diffs/npm/fast-check/4.2.0/4.3.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [fastify](https://fastify.dev/ )
([source](https://redirect.github.com/fastify/fastify )) | [`5.5.0` ->
`5.6.0`](https://renovatebot.com/diffs/npm/fastify/5.5.0/5.6.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [got](https://redirect.github.com/sindresorhus/got ) | [`14.4.7` ->
`14.4.8`](https://renovatebot.com/diffs/npm/got/14.4.7/14.4.8 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | patch |
| [got](https://redirect.github.com/sindresorhus/got ) | [`14.4.7` ->
`14.4.8`](https://renovatebot.com/diffs/npm/got/14.4.7/14.4.8 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [got](https://redirect.github.com/sindresorhus/got ) | [`14.4.7` ->
`14.4.8`](https://renovatebot.com/diffs/npm/got/14.4.7/14.4.8 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [jose](https://redirect.github.com/panva/jose ) | [`6.0.13` ->
`6.1.0`](https://renovatebot.com/diffs/npm/jose/6.0.13/6.1.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | minor |
| [jose](https://redirect.github.com/panva/jose ) | [`6.0.13` ->
`6.1.0`](https://renovatebot.com/diffs/npm/jose/6.0.13/6.1.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [jose](https://redirect.github.com/panva/jose ) | [`6.0.13` ->
`6.1.0`](https://renovatebot.com/diffs/npm/jose/6.0.13/6.1.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [lint-staged](https://redirect.github.com/lint-staged/lint-staged ) |
[`16.1.5` ->
`16.1.6`](https://renovatebot.com/diffs/npm/lint-staged/16.1.5/16.1.6 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [lucide-vue-next](https://lucide.dev )
([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next ))
| [`0.542.0` ->
`0.543.0`](https://renovatebot.com/diffs/npm/lucide-vue-next/0.542.0/0.543.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [nest-commander](https://nest-commander.jaymcdoniel.dev )
([source](https://redirect.github.com/jmcdo29/nest-commander/tree/HEAD/pacakges/nest-commander ))
| [`3.19.0` ->
`3.19.1`](https://renovatebot.com/diffs/npm/nest-commander/3.19.0/3.19.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [node](https://nodejs.org )
([source](https://redirect.github.com/nodejs/node )) | `22.18.0` ->
`22.19.0` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| | minor |
| [node](https://redirect.github.com/actions/node-versions ) | `22.18.0`
-> `22.19.0` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| uses-with | minor |
| [node](https://redirect.github.com/nodejs/node ) |
`22.18.0-bookworm-slim` -> `22.19.0-bookworm-slim` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| final | minor |
| [openid-client](https://redirect.github.com/panva/openid-client ) |
[`6.6.4` ->
`6.7.1`](https://renovatebot.com/diffs/npm/openid-client/6.6.4/6.7.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [pino](https://getpino.io )
([source](https://redirect.github.com/pinojs/pino )) | [`9.9.0` ->
`9.9.4`](https://renovatebot.com/diffs/npm/pino/9.9.0/9.9.4 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [pm2](http://pm2.keymetrics.io/ )
([source](https://redirect.github.com/Unitech/pm2 )) | [`6.0.8` ->
`6.0.10`](https://renovatebot.com/diffs/npm/pm2/6.0.8/6.0.10 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [pnpm](https://pnpm.io )
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm )) |
[`10.15.0` ->
`10.15.1`](https://renovatebot.com/diffs/npm/pnpm/10.15.0/10.15.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| packageManager | patch |
| [pnpm](https://pnpm.io )
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm )) |
[`10.15.0` ->
`10.15.1`](https://renovatebot.com/diffs/npm/pnpm/10.15.0/10.15.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| engines | patch |
| [pnpm](https://pnpm.io )
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm )) |
`10.15.0` -> `10.15.1` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| uses-with | patch |
|
[rollup-plugin-node-externals](https://redirect.github.com/Septh/rollup-plugin-node-externals )
| [`8.1.0` ->
`8.1.1`](https://renovatebot.com/diffs/npm/rollup-plugin-node-externals/8.1.0/8.1.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [storybook](https://storybook.js.org )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/core ))
| [`9.1.3` ->
`9.1.5`](https://renovatebot.com/diffs/npm/storybook/9.1.3/9.1.5 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [tailwindcss](https://tailwindcss.com )
([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss ))
| [`4.1.12` ->
`4.1.13`](https://renovatebot.com/diffs/npm/tailwindcss/4.1.12/4.1.13 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [tailwindcss](https://tailwindcss.com )
([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss ))
| [`4.1.12` ->
`4.1.13`](https://renovatebot.com/diffs/npm/tailwindcss/4.1.12/4.1.13 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | patch |
| [terser](https://terser.org )
([source](https://redirect.github.com/terser/terser )) | [`5.43.1` ->
`5.44.0`](https://renovatebot.com/diffs/npm/terser/5.43.1/5.44.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[tw-animate-css](https://redirect.github.com/Wombosvideo/tw-animate-css )
| [`1.3.7` ->
`1.3.8`](https://renovatebot.com/diffs/npm/tw-animate-css/1.3.7/1.3.8 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[tw-animate-css](https://redirect.github.com/Wombosvideo/tw-animate-css )
| [`1.3.7` ->
`1.3.8`](https://renovatebot.com/diffs/npm/tw-animate-css/1.3.7/1.3.8 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
|
[typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ))
| [`8.41.0` ->
`8.43.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.41.0/8.43.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [vite](https://vite.dev )
([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite ))
| [`7.1.3` ->
`7.1.5`](https://renovatebot.com/diffs/npm/vite/7.1.3/7.1.5 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[vue](https://redirect.github.com/vuejs/core/tree/main/packages/vue#readme )
([source](https://redirect.github.com/vuejs/core )) | [`3.5.20` ->
`3.5.21`](https://renovatebot.com/diffs/npm/vue/3.5.20/3.5.21 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[vue](https://redirect.github.com/vuejs/core/tree/main/packages/vue#readme )
([source](https://redirect.github.com/vuejs/core )) | [`3.5.20` ->
`3.5.21`](https://renovatebot.com/diffs/npm/vue/3.5.20/3.5.21 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | patch |
|
[vue-i18n](https://redirect.github.com/intlify/vue-i18n/tree/master/packages/vue-i18n#readme )
([source](https://redirect.github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n ))
| [`11.1.11` ->
`11.1.12`](https://renovatebot.com/diffs/npm/vue-i18n/11.1.11/11.1.12 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [vuetify](https://vuetifyjs.com )
([source](https://redirect.github.com/vuetifyjs/vuetify/tree/HEAD/packages/vuetify ))
| [`3.9.6` ->
`3.9.7`](https://renovatebot.com/diffs/npm/vuetify/3.9.6/3.9.7 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [wrangler](https://redirect.github.com/cloudflare/workers-sdk )
([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler ))
| [`4.33.0` ->
`4.34.0`](https://renovatebot.com/diffs/npm/wrangler/4.33.0/4.34.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
---
### Release Notes
<details>
<summary>eslint/eslint (@​eslint/js)</summary>
###
[`v9.35.0`](https://redirect.github.com/eslint/eslint/compare/v9.34.0...af2a0870fdc646091d027516601888923e5bc202 )
[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v9.34.0...v9.35.0 )
</details>
<details>
<summary>dotansimha/graphql-code-generator
(@​graphql-codegen/typescript-resolvers)</summary>
###
[`v4.5.2`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/plugins/typescript/resolvers/CHANGELOG.md#452 )
[Compare
Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/typescript-resolvers@4.5.1...@graphql-codegen/typescript-resolvers@4.5.2 )
##### Patch Changes
-
[#​10419](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10419 )
[`2fc3869`](2fc3869de2 )
Thanks
[@​chdanielmueller](https://redirect.github.com/chdanielmueller )!
- Fix enum resolver for partially mapped enumValues
</details>
<details>
<summary>ianvs/prettier-plugin-sort-imports
(@​ianvs/prettier-plugin-sort-imports)</summary>
###
[`v4.7.0`](https://redirect.github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.7.0 )
[Compare
Source](https://redirect.github.com/ianvs/prettier-plugin-sort-imports/compare/v4.6.3...v4.7.0 )
#### What's Changed
This project began as a fork because I wanted a plugin that would not
move side-effect imports around and mess with my CSS cascade. So its
first and most distinguishing feature is that side-effect imports do not
move, and other imports are not sorted across them.
This works fine in most cases, but some people have side-effect imports
that they know *can* be sorted safely. For those, there is now an
"escape hatch" option named `importOrderSafeSideEffects`. It is an array
of glob pattern strings (similar to `importOrder`) which, when they
match against a side-effect import, allow that import to be sorted as if
it were a standard import.
Suggestions for safe use:
- Use `^` at the start of your pattern and `$` at the end, to avoid
accidentally matching part of an import name. For example,
`"^server-only$"`, to avoid matching against `import "not-server-only"`.
- Use extreme caution if matching against relative files or CSS files.
If you decide to sort CSS imports and a file ever imports more than one
CSS file, your cascade may change.
- You can still use `// prettier-ignore` to stop sorting a particular
import that would otherwise be sorted.
Feedback on this feature is welcome.
##### Features
- Add `importOrderSafeSideEffects` option by
[@​IanVS](https://redirect.github.com/IanVS ) in
[IanVS#240](https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/240 )
##### Internal
- Clean up options & remove explicit function types by
[@​IanVS](https://redirect.github.com/IanVS ) in
[IanVS#239](https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/239 )
**Full Changelog**:
<https://github.com/IanVS/prettier-plugin-sort-imports/compare/v4.6.3...v4.7.0 >
</details>
<details>
<summary>Thinkmill/manypkg (@​manypkg/cli)</summary>
###
[`v0.25.1`](https://redirect.github.com/Thinkmill/manypkg/blob/HEAD/packages/cli/CHANGELOG.md#0251 )
[Compare
Source](https://redirect.github.com/Thinkmill/manypkg/compare/@manypkg/cli@0.25.0...@manypkg/cli@0.25.1 )
##### Patch Changes
- [#​260](https://redirect.github.com/Thinkmill/manypkg/pull/260 )
[`5854938`](585493847a )
Thanks [@​jasekiw](https://redirect.github.com/jasekiw )! - Keep
detected line endings flavor of `package.json` files on Windows when
updating those files
</details>
<details>
<summary>nuxt/ui (@​nuxt/ui)</summary>
###
[`v4.0.0-alpha.1`](https://redirect.github.com/nuxt/ui/blob/HEAD/CHANGELOG.md#400-alpha1-2025-09-01 )
[Compare
Source](https://redirect.github.com/nuxt/ui/compare/v4.0.0-alpha.0...v4.0.0-alpha.1 )
##### ⚠ BREAKING CHANGES
- **components:** rename `nullify` modifier to `nullable` and add
`optional`
([#​4838](https://redirect.github.com/nuxt/ui/issues/4838 ))
- **module:** update compatibility to nuxt 4
- **PageAccordion:** remove in favor of `Accordion`
([#​4734](https://redirect.github.com/nuxt/ui/issues/4734 ))
- **Marquee:** rename from `PageMarquee`
([#​4741](https://redirect.github.com/nuxt/ui/issues/4741 ))
- **FieldGroup:** rename from `ButtonGroup`
([#​4596](https://redirect.github.com/nuxt/ui/issues/4596 ))
- **components:** upgrade `ai-sdk` to v5
([#​4698](https://redirect.github.com/nuxt/ui/issues/4698 ))
##### Features
- **components:** rename `nullify` modifier to `nullable` and add
`optional`
([#​4838](https://redirect.github.com/nuxt/ui/issues/4838 ))
([83b0306](83b0306a30 ))
- **components:** upgrade `ai-sdk` to v5
([#​4698](https://redirect.github.com/nuxt/ui/issues/4698 ))
([de7822f](de7822f6a1 ))
- **FieldGroup:** rename from `ButtonGroup`
([#​4596](https://redirect.github.com/nuxt/ui/issues/4596 ))
([a0963eb](a0963eba82 ))
- **Icon:** allow passing a component instead of a name
([#​4766](https://redirect.github.com/nuxt/ui/issues/4766 ))
([61b603f](61b603fff4 ))
- import `@nuxt/ui-pro` components
([#​4675](https://redirect.github.com/nuxt/ui/issues/4675 ))
([5cb65cf](5cb65cfbd0 ))
- **Marquee:** rename from `PageMarquee`
([#​4741](https://redirect.github.com/nuxt/ui/issues/4741 ))
([b6edce2](b6edce2662 ))
- **module:** update compatibility to nuxt 4
([2aca598](2aca598792 ))
- **PageAccordion:** remove in favor of `Accordion`
([#​4734](https://redirect.github.com/nuxt/ui/issues/4734 ))
([f70a3ff](f70a3ff13f ))
##### Bug Fixes
- **AuthForm:** use `error` from form field
([#​4738](https://redirect.github.com/nuxt/ui/issues/4738 ))
([00dfb6b](00dfb6b586 ))
- **BlogPost:** ensure date slot renders
([#​4743](https://redirect.github.com/nuxt/ui/issues/4743 ))
([4514880](4514880902 ))
- **ChangelogVersion/ChangelogVersions:** handle RTL mode
([#​4777](https://redirect.github.com/nuxt/ui/issues/4777 ))
([f91c408](f91c4081e5 ))
- **ContentSearch/DashboardSearch:** make `ui.modal` work
([946c2ec](946c2ec887 ))
- **module:** add `[@source](https://redirect.github.com/source )` on
components
([a16465f](a16465f3da )),
closes [#​4773](https://redirect.github.com/nuxt/ui/issues/4773 )
- **PageCard:** improve keyboard accessibility
([#​4733](https://redirect.github.com/nuxt/ui/issues/4733 ))
([3029568](3029568465 ))
- **ProseImg:** ensure unique motion layout id for images
([#​4720](https://redirect.github.com/nuxt/ui/issues/4720 ))
([9480a0b](9480a0baa4 ))
- **unplugin:** handle components overrides in subdirectories
([#​4781](https://redirect.github.com/nuxt/ui/issues/4781 ))
([69ee75e](69ee75e5b2 ))
</details>
<details>
<summary>reduxjs/redux-toolkit (@​reduxjs/toolkit)</summary>
###
[`v2.9.0`](https://redirect.github.com/reduxjs/redux-toolkit/releases/tag/v2.9.0 )
[Compare
Source](https://redirect.github.com/reduxjs/redux-toolkit/compare/v2.8.2...v2.9.0 )
This **feature release** rewrites RTK Query's internal subscription and
polling systems and the `useStableQueryArgs` hook for better perf, adds
automatic `AbortSignal` handling to requests still in progress when a
cache entry is removed, fixes a bug with the `transformResponse` option
for queries, adds a new `builder.addAsyncThunk` method, and fixes
assorted other issues.
#### Changelog
##### RTK Query Performance Improvements
We had reports that [RTK Query could get very slow when there were
thousands of subscriptions to the same cache
entry](https://redirect.github.com/reduxjs/redux-toolkit/issues/5052 ).
After investigation, we found that the internal polling logic was
attempting to recalculate the minimum polling time after every new
subscription was added. This was highly inefficient, as most
subscriptions don't change polling settings, and it required repeated
O(n) iteration over the growing list of subscriptions. We've rewritten
that logic to debounce the update check and ensure a max of one polling
value update per tick for the entire API instance.
Related, while working on the request abort changes, testing showed that
use of plain `Record`s to hold subscription data was inefficient because
we have to iterate keys to check size. We've rewritten the subscription
handling internals to use `Map`s instead, as well as restructuring some
additional checks around in-flight requests.
These two improvements drastically improved runtime perf for the
thousands-of-subscriptions-one-cache-entry repro, eliminating RTK
methods as visible hotspots in the perf profiles. It likely also
improves perf for general usage as well.
We've also changed the implementation of our internal
`useStableQueryArgs` hook to avoid calling `serializeQueryArgs` on its
value, which can avoid potential perf issues when a query takes a very
large object as its cache key.
> \[!NOTE]
> The internal logic switched from serializing the query arg to doing
reference checks on nested values. This means that if you are passing a
non-POJO value in a query arg, such as `useSomeQuery({a: new Set()})`,
*and* you have `refetchOnMountOrArgChange` enabled, this will now
trigger refeteches each time as the `Set` references are now considered
different based on equality instead of serialization.
##### Abort Signal Handling on Cleanup
We've had numerous requests over time for various forms of "abort
in-progress requests when the data is no longer needed / params change /
component unmounts / some expensive request is taking too long". This is
a complex topic with multiple potential use cases, and our standard
answer has been that we *don't* want to abort those requests - after
all, cache entries default to staying in memory for 1 minute after the
last subscription is removed, so RTKQ's cache can still be updated when
the request completes. That also means that it doesn't make sense to
abort a request "on unmount".
However, it does then make sense to abort an in-progress request if the
cache entry itself is removed. Given that, we've updated our cache
handling to automatically call the existing `resPromise.abort()` method
in that case, triggering the `AbortSignal` attached to the `baseQuery`.
The handling at that point depends on your app - `fetchBaseQuery` should
handle that, a custom `baseQuery` or `queryFn` would need to listen to
the `AbortSignal`.
We do have [an open issue asking for further discussions of potential
abort / cancelation use
cases](https://redirect.github.com/reduxjs/redux-toolkit/issues/2444 )
and would appreciate further feedback.
##### New Options
The builder callback used in `createReducer` and
`createSlice.extraReducers` now has `builder.addAsyncThunk` available,
which allows handling specific actions from a thunk in the same way that
you could define a thunk inside `createSlice.reducers`:
```ts
const slice = createSlice({
name: 'counter',
initialState: {
loading: false,
errored: false,
value: 0,
},
reducers: {},
extraReducers: (builder) =>
builder.addAsyncThunk(asyncThunk, {
pending(state) {
state.loading = true
},
fulfilled(state, action) {
state.value = action.payload
},
rejected(state) {
state.errored = true
},
settled(state) {
state.loading = false
},
}),
})
```
`createApi` and individual endpoint definitions now accept a
`skipSchemaValidation` option with an array of schema types to skip, or
`true` to skip validation entirely (in case you want to use a schema for
its types, but the actual validation is expensive).
##### Bug Fixes
The infinite query implementation accidentally changed the query
internals to *always* run `transformResponse` if provided, including if
you were using `upsertQueryData()`, which then broke. It's been fixed to
only run on an actual query request.
The internal changes to the structure of the `state.api.provided`
structure broke our handling of `extractRehydrationInfo` - we've updated
that to handle the changed structure.
The infinite query status fields like `hasNextPage` are now a looser
type of `boolean` initially, rather than strictly `false`.
##### TS Types
We now export Immer's `WritableDraft` type to fix another non-portable
types issue.
We've added an `api.endpoints.myEndpoint.types.RawResultType` types-only
field to match the other available fields.
#### What's Changed
- Add RawResultType as a type-only property on endpoints by
[@​EskiMojo14](https://redirect.github.com/EskiMojo14 ) in
[#​5037](https://redirect.github.com/reduxjs/redux-toolkit/pull/5037 )
- allow passing an array of specific schemas to skip by
[@​EskiMojo14](https://redirect.github.com/EskiMojo14 ) in
[#​5042](https://redirect.github.com/reduxjs/redux-toolkit/pull/5042 )
- fix(types): re-exporting WritableDraft from immer by
[@​marinsokol5](https://redirect.github.com/marinsokol5 ) in
[#​5015](https://redirect.github.com/reduxjs/redux-toolkit/pull/5015 )
- Remove Serialisation from useStableQueryArgs by
[@​riqts](https://redirect.github.com/riqts ) in
[#​4996](https://redirect.github.com/reduxjs/redux-toolkit/pull/4996 )
- add addAsyncThunk method to reducer map builder by
[@​EskiMojo14](https://redirect.github.com/EskiMojo14 ) in
[#​5007](https://redirect.github.com/reduxjs/redux-toolkit/pull/5007 )
- Only run `transformResponse` when a `query` is used by
[@​markerikson](https://redirect.github.com/markerikson ) in
[#​5049](https://redirect.github.com/reduxjs/redux-toolkit/pull/5049 )
- Assorted bugfixes for 2.8.3 by
[@​markerikson](https://redirect.github.com/markerikson ) in
[#​5060](https://redirect.github.com/reduxjs/redux-toolkit/pull/5060 )
- Abort pending requests if the cache entry is removed by
[@​markerikson](https://redirect.github.com/markerikson ) in
[#​5061](https://redirect.github.com/reduxjs/redux-toolkit/pull/5061 )
- Update TS CI config by
[@​markerikson](https://redirect.github.com/markerikson ) in
[#​5065](https://redirect.github.com/reduxjs/redux-toolkit/pull/5065 )
- Rewrite subscription handling and polling calculations for better perf
by [@​markerikson](https://redirect.github.com/markerikson ) in
[#​5064](https://redirect.github.com/reduxjs/redux-toolkit/pull/5064 )
**Full Changelog**:
<https://github.com/reduxjs/redux-toolkit/compare/v2.8.2...v2.9.0 >
</details>
<details>
<summary>rollup/rollup (@​rollup/rollup-linux-x64-gnu)</summary>
###
[`v4.50.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4501 )
[Compare
Source](https://redirect.github.com/rollup/rollup/compare/v4.50.0...v4.50.1 )
*2025-09-07*
##### Bug Fixes
- Resolve a situation where a destructuring default value was removed
([#​6090](https://redirect.github.com/rollup/rollup/issues/6090 ))
##### Pull Requests
- [#​6088](https://redirect.github.com/rollup/rollup/pull/6088 ):
feat(www): shorter repl shareables
([@​cyyynthia](https://redirect.github.com/cyyynthia ),
[@​lukastaegert](https://redirect.github.com/lukastaegert ))
- [#​6090](https://redirect.github.com/rollup/rollup/pull/6090 ):
Call includeNode for self or children nodes in
includeDestructuredIfNecessary
([@​TrickyPi](https://redirect.github.com/TrickyPi ))
- [#​6091](https://redirect.github.com/rollup/rollup/pull/6091 ):
fix(deps): update rust crate swc\_compiler\_base to v33
([@​renovate](https://redirect.github.com/renovate )\[bot])
- [#​6092](https://redirect.github.com/rollup/rollup/pull/6092 ):
chore(deps): lock file maintenance minor/patch updates
([@​renovate](https://redirect.github.com/renovate )\[bot])
- [#​6094](https://redirect.github.com/rollup/rollup/pull/6094 ):
perf: replace startsWith with strict equality
([@​btea](https://redirect.github.com/btea ))
###
[`v4.50.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4500 )
[Compare
Source](https://redirect.github.com/rollup/rollup/compare/v4.49.0...v4.50.0 )
*2025-08-31*
##### Features
- Support openharmony-arm64 platform
([#​6081](https://redirect.github.com/rollup/rollup/issues/6081 ))
##### Bug Fixes
- Fix loading of extensionless imports in config files
([#​6084](https://redirect.github.com/rollup/rollup/issues/6084 ))
##### Pull Requests
- [#​6081](https://redirect.github.com/rollup/rollup/pull/6081 ):
Add support for openharmony-arm64 platform
([@​hqzing](https://redirect.github.com/hqzing ),
[@​lukastaegert](https://redirect.github.com/lukastaegert ))
- [#​6084](https://redirect.github.com/rollup/rollup/pull/6084 ):
Return null to defer to the default resolution behavior
([@​TrickyPi](https://redirect.github.com/TrickyPi ))
</details>
<details>
<summary>storybookjs/storybook (@​storybook/addon-docs)</summary>
###
[`v9.1.5`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#915 )
[Compare
Source](https://redirect.github.com/storybookjs/storybook/compare/v9.1.4...v9.1.5 )
- CSF: Support `satisfies x as y` syntax -
[#​32169](https://redirect.github.com/storybookjs/storybook/pull/32169 ),
thanks [@​diagramatics](https://redirect.github.com/diagramatics )!
- Vitest addon: Handle Playwright installation errors gracefully -
[#​32329](https://redirect.github.com/storybookjs/storybook/pull/32329 ),
thanks [@​ndelangen](https://redirect.github.com/ndelangen )!
###
[`v9.1.4`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#914 )
[Compare
Source](https://redirect.github.com/storybookjs/storybook/compare/v9.1.3...v9.1.4 )
- Angular: Properly merge builder options and browserTarget options -
[#​32272](https://redirect.github.com/storybookjs/storybook/pull/32272 ),
thanks [@​kroeder](https://redirect.github.com/kroeder )!
- Core: Optimize bundlesize, by reusing internal/babel in mocking-utils
-
[#​32350](https://redirect.github.com/storybookjs/storybook/pull/32350 ),
thanks [@​ndelangen](https://redirect.github.com/ndelangen )!
- Svelte & Vue: Add framework-specific `docgen` option to disable docgen
processing -
[#​32319](https://redirect.github.com/storybookjs/storybook/pull/32319 ),
thanks
[@​copilot-swe-agent](https://redirect.github.com/copilot-swe-agent )!
- Svelte: Support `@sveltejs/vite-plugin-svelte` v6 -
[#​32320](https://redirect.github.com/storybookjs/storybook/pull/32320 ),
thanks [@​JReinhold](https://redirect.github.com/JReinhold )!
</details>
<details>
<summary>tailwindlabs/tailwindcss (@​tailwindcss/cli)</summary>
###
[`v4.1.13`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4113---2025-09-03 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.1.12...v4.1.13 )
##### Changed
- Drop warning from browser build
([#​18731](https://redirect.github.com/tailwindlabs/tailwindcss/issues/18731 ))
- Drop exact duplicate declarations when emitting CSS
([#​18809](https://redirect.github.com/tailwindlabs/tailwindcss/issues/18809 ))
##### Fixed
- Don't transition `visibility` when using `transition`
([#​18795](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18795 ))
- Discard matched variants with unknown named values
([#​18799](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18799 ))
- Discard matched variants with non-string values
([#​18799](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18799 ))
- Show suggestions for known `matchVariant` values
([#​18798](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18798 ))
- Replace deprecated `clip` with `clip-path` in `sr-only`
([#​18769](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18769 ))
- Hide internal fields from completions in `matchUtilities`
([#​18820](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18820 ))
- Ignore `.vercel` folders by default (can be overridden by `@source …`
rules)
([#​18855](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18855 ))
- Consider variants starting with `@-` to be invalid (e.g. `@-2xl:flex`)
([#​18869](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18869 ))
- Do not allow custom variants to start or end with a `-` or `_`
([#​18867](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18867 ),
[#​18872](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18872 ))
- Upgrade: Migrate `aria` theme keys to `@custom-variant`
([#​18815](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18815 ))
- Upgrade: Migrate `data` theme keys to `@custom-variant`
([#​18816](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18816 ))
- Upgrade: Migrate `supports` theme keys to `@custom-variant`
([#​18817](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18817 ))
</details>
<details>
<summary>typescript-eslint/typescript-eslint
(@​typescript-eslint/eslint-plugin)</summary>
###
[`v8.43.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8430-2025-09-08 )
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.42.0...v8.43.0 )
##### 🚀 Features
- **typescript-estree:** disallow empty type parameter/argument lists
([#​11563](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11563 ))
##### 🩹 Fixes
- **eslint-plugin:** \[prefer-return-this-type] don't report an error
when returning a union type that includes a classType
([#​11432](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11432 ))
- **eslint-plugin:** \[no-deprecated] should report deprecated exports
and reexports
([#​11359](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11359 ))
- **eslint-plugin:** \[no-floating-promises] allowForKnownSafeCalls now
supports function names
([#​11423](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11423 ),
[#​11430](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11430 ))
- **eslint-plugin:** \[consistent-type-exports] fix declaration
shadowing
([#​11457](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11457 ))
- **eslint-plugin:** \[no-unnecessary-type-conversion] only report \~\~
on integer literal types
([#​11517](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11517 ))
- **scope-manager:** exclude Program from DefinitionBase node types
([#​11469](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11469 ))
- **eslint-plugin:** \[no-non-null-assertion] do not suggest optional
chain on LHS of assignment
([#​11489](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11489 ))
- **type-utils:** add union type support to TypeOrValueSpecifier
([#​11526](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11526 ))
##### ❤️ Thank You
- Dima [@​dbarabashh](https://redirect.github.com/dbarabashh )
- Kirk Waiblinger
[@​kirkwaiblinger](https://redirect.github.com/kirkwaiblinger )
- mdm317
- tao
- Victor Genaev
[@​mainframev](https://redirect.github.com/mainframev )
- Yukihiro Hasegawa [@​y-hsgw](https://redirect.github.com/y-hsgw )
- 민감자(Minji Kim)
[@​mouse0429](https://redirect.github.com/mouse0429 )
- 송재욱
You can read about our [versioning
strategy](https://typescript-eslint.io/users/versioning ) and
[releases](https://typescript-eslint.io/users/releases ) on our website.
###
[`v8.42.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plug
</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 becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0MS44Mi43IiwidXBkYXRlZEluVmVyIjoiNDEuOTcuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-09 08:18:06 -04:00
Eli Bosley
4759b3d0b3
fix: adjust header styles to fix flashing and width issues - thanks ZarZ
2025-09-09 08:17:23 -04:00
Pujit Mehrotra
e76dd65b41
enable ENABLE_NEXT_DOCKER_RELEASE during development
2025-09-08 15:29:02 -04:00
Pujit Mehrotra
28a1ec552e
test: docker config validation
2025-09-08 15:13:48 -04:00
Pujit Mehrotra
34d542fecf
export schedule module from job module
2025-09-08 14:52:51 -04:00
Pujit Mehrotra
c128d8e3fc
feat: guard new docker features behind ENABLE_NEXT_DOCKER_RELEASE env
2025-09-08 14:49:06 -04:00
Pujit Mehrotra
473608eba3
feat: feature flag system
2025-09-08 14:48:16 -04:00
Eli Bosley
daeeba8c1f
chore: add public notice to unraid-components directory
2025-09-08 14:10:31 -04:00
github-actions[bot]
196bd52628
chore(main): release 4.20.0 ( #1666 )
...
🤖 I have created a release *beep* *boop*
---
## [4.20.0](https://github.com/unraid/api/compare/v4.19.1...v4.20.0 )
(2025-09-08)
### Features
* **disks:** add isSpinning field to Disk type
([#1527 ](https://github.com/unraid/api/issues/1527 ))
([193be3d ](193be3df36 ))
### Bug Fixes
* better component loading to prevent per-page strange behavior
([095c222 ](095c2221c9 ))
* **deps:** pin dependencies
([#1669 ](https://github.com/unraid/api/issues/1669 ))
([413db4b ](413db4bd30 ))
* **plugin:** add fallback for unraid-api stop in deprecation cleanup
([#1668 ](https://github.com/unraid/api/issues/1668 ))
([797bf50 ](797bf50ec7 ))
* prepend 'v' to API version in workflow dispatch inputs
([f0cffbd ](f0cffbdc7a ))
* progress frame background color fix
([#1672 ](https://github.com/unraid/api/issues/1672 ))
([785f1f5 ](785f1f5eb1 ))
* properly override header values
([#1673 ](https://github.com/unraid/api/issues/1673 ))
([aecf70f ](aecf70ffad ))
---
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-09-08 13:57:47 -04:00
Eli Bosley
6c0061923a
test(file-modification): add unit tests for version comparison methods
...
- Introduced a new test suite for the FileModification class to validate version comparison methods.
- Implemented tests for isUnraidVersionGreaterThanOrEqualTo and isUnraidVersionLessThanOrEqualTo, including scenarios for stable and prerelease versions.
- Enhanced the compareUnraidVersion method to streamline version comparison logic.
2025-09-08 13:45:54 -04:00
Eli Bosley
f33afe7ae5
refactor(auth-request): update asset file handling to include .css files
...
- Renamed method to getAssetFiles for clarity.
- Updated file search to include both .js and .css files in the specified directory.
- Adjusted logging to reflect the new asset file types found.
2025-09-08 13:19:13 -04:00
Eli Bosley
aecf70ffad
fix: properly override header values ( #1673 )
2025-09-08 12:55:52 -04:00
Eli Bosley
785f1f5eb1
fix: progress frame background color fix ( #1672 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Style**
* Introduces scoped CSS resets to confine UI framework effects to
elements using a .unapi prefix, normalizing typography, buttons,
toggles, links, dialogs, and logos for consistent visuals.
* Updates Unraid UI integrations and dark mode visuals for more reliable
appearance.
* Keeps progress iframe background aligned to app theme for visual
consistency.
* **Chores**
* Moves shared styling imports to the root and extends resource scanning
to support the new scoped approach.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-08 12:53:10 -04:00
Pujit Mehrotra
49189d9bb7
fix details in AsyncMutex util docs
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
7a6806835c
add docs
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
d1c98495c9
code cleanup
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
fc5fb1a1ba
watch php files
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
05bbe84175
feat: make cron schedule configurable for container manifest refresh
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
99a2103d16
revert to cron 4.3.0 for compat with @nest/schedule@6.0.0
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
240e104cca
refactor: docker config service -> docker organizer config service
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
90aecc3df3
use enum for update status
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
88b08754ea
fix AsynxMutex import
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
5f728c06f7
refactor: improve code organization
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
cf96f14a4b
rm docker-auth.service
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
aa04064949
rm fast-xml-parser
...
not needed yet
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
f9ebcb6155
add ContainerStatusJob to docker.module
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
f704143ed3
rm redundant executeOperation function
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
261d6c55ed
productionize & simplify docker digest computation
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
bb6dac2913
chore: add AsyncMutex to @unraid/shared/util/processing.ts
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
19fa436287
feat: check cached update status
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
95560c9155
add docker container resolver
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
17d151a020
fix: copy wrapper.php into api build
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
21466f1b88
add container status query to gql
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
9655c006fe
use php-loader to load containers (untested)
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
a9e62b4c3b
don't skip ci
2025-09-08 12:48:48 -04:00
Pujit Mehrotra
81aff48821
test: retrieveing remote container digest
2025-09-08 12:48:48 -04:00
Eli Bosley
193be3df36
feat(disks): add isSpinning field to Disk type ( #1527 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added a new "isSpinning" status to disks, allowing users to see
whether each disk is currently spinning.
* **Bug Fixes**
* Improved accuracy of disk metadata by integrating external
configuration data.
* **Tests**
* Enhanced test setup to better simulate application state for
disk-related features.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-09-08 12:07:15 -04:00
Pujit Mehrotra
116ee88fcf
refactor: add subscribe and enabled methods to ConfigFilePersister ( #1670 )
2025-09-08 11:05:22 -04:00
renovate[bot]
413db4bd30
fix(deps): pin dependencies ( #1669 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [ajv-errors](https://redirect.github.com/epoberezkin/ajv-errors ) |
dependencies | pin | [`^3.0.0` ->
`3.0.0`](https://renovatebot.com/diffs/npm/ajv-errors/3.0.0/3.0.0 ) |
| [ansi_up](https://redirect.github.com/drudru/ansi_up ) | dependencies |
pin | [`^6.0.6` ->
`6.0.6`](https://renovatebot.com/diffs/npm/ansi_up/6.0.6/6.0.6 ) |
| [globals](https://redirect.github.com/sindresorhus/globals ) |
devDependencies | pin | [`^16.3.0` ->
`16.3.0`](https://renovatebot.com/diffs/npm/globals/16.3.0/16.3.0 ) |
| [pify](https://redirect.github.com/sindresorhus/pify ) |
devDependencies | pin | [`^6.1.0` ->
`6.1.0`](https://renovatebot.com/diffs/npm/pify/6.1.0/6.1.0 ) |
| [vue-router](https://redirect.github.com/vuejs/router ) | dependencies
| pin | [`^4.5.1` ->
`4.5.1`](https://renovatebot.com/diffs/npm/vue-router/4.5.1/4.5.1 ) |
Add the preset `:preserveSemverRanges` to your config if you don't want
to pin your dependencies.
---
### 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:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 10:35:44 -04:00
Eli Bosley
095c2221c9
fix: better component loading to prevent per-page strange behavior
2025-09-08 10:33:26 -04:00
Eli Bosley
dfe891ce38
refactor: update PM2_HOME path and enhance environment handling ( #1667 )
...
- Changed the default PM2_HOME path from the user's home directory to
'/var/log/.pm2' for consistency in production environments.
- Updated PM2 service to always set PM2_HOME in the environment for all
PM2 commands, ensuring proper execution context.
- Modified integration tests to use the home directory for PM2_HOME
during testing, improving test reliability.
- Refactored the UserProfile dropdown component to enhance styling and
accessibility features.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* Bug Fixes
* Improved reliability of PM2-based commands by consistently setting
PM2_HOME and conditionally updating PATH.
* Defaulted PM2_HOME to a writable system location to reduce permission
issues.
* Made log directory creation more robust: failures no longer crash the
process and are properly logged.
* Enhanced PM2 connection handling to avoid stale connections during
startup and error scenarios.
* Tests
* Added comprehensive unit and integration tests covering PM2 dependency
setup, error handling, and connection scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-08 10:27:45 -04:00
Pujit Mehrotra
797bf50ec7
fix(plugin): add fallback for unraid-api stop in deprecation cleanup ( #1668 )
2025-09-08 10:06:33 -04:00
Eli Bosley
af5ca11860
Feat/vue ( #1655 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- New Features
- Introduced Docker management UI components: Overview, Logs, Console,
Preview, and Edit.
- Added responsive Card/Detail layouts with grouping, bulk actions, and
tabs.
- New UnraidToaster component and global toaster configuration.
- Component auto-mounting improved with async loading and multi-selector
support.
- UI/UX
- Overhauled theme system (light/dark tokens, primary/orange accents)
and added theme variants.
- Header OS version now includes integrated changelog modal.
- Registration displays warning states; multiple visual polish updates.
- API
- CPU load now includes percentGuest and percentSteal metrics.
- Chores
- Migrated web app to Vite; updated artifacts and manifests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: mdatelle <mike@datelle.net >
Co-authored-by: Michael Datelle <mdatelle@icloud.com >
2025-09-08 10:04:49 -04:00
Eli Bosley
f0cffbdc7a
fix: prepend 'v' to API version in workflow dispatch inputs
...
- Updated the build-plugin.yml workflow to include a 'v' prefix in the version input for the release-production workflow, ensuring proper version formatting during production releases.
2025-09-04 20:28:15 -04:00
github-actions[bot]
16905dd3a6
chore(main): release 4.19.1 ( #1665 )
...
🤖 I have created a release *beep* *boop*
---
## [4.19.1](https://github.com/unraid/api/compare/v4.19.0...v4.19.1 )
(2025-09-05)
### Bug Fixes
* custom path detection to fix setup issues
([#1664 ](https://github.com/unraid/api/issues/1664 ))
([2ecdb99 ](2ecdb99052 ))
---
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-09-04 20:19:36 -04:00
Eli Bosley
2ecdb99052
fix: custom path detection to fix setup issues ( #1664 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- Bug Fixes
- Improved reliability of background command execution by ensuring
common system binary paths are available, reducing PATH-related errors.
- Aligned environment handling for spawned processes with typical shell
behavior to prevent intermittent failures across different environments.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-04 20:03:28 -04:00
Eli Bosley
286f1be8ed
chore: start job correctly when releasing ( #1662 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- Chores
- Updated build and release workflows to include an additional admin
token secret used for triggering production releases via workflow
dispatch.
- Expanded secret mapping for the production build job to pass the token
through the pipeline as needed.
- No changes to application behavior, UI, or user workflows.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-04 16:48:28 -04:00
Eli Bosley
bcefdd5261
chore: add Discord notification action for release announcements
...
- Beat EDACerton to the punch
- Integrated a new action in the release workflow to send notifications to a Discord channel upon new releases.
- The notification includes the release version, a link to the release, and the changelog, enhancing communication with users.
This addition improves user engagement by providing timely updates on new releases directly in Discord.
2025-09-04 16:05:39 -04:00
github-actions[bot]
d3459ecbc6
chore(main): release 4.19.0 ( #1650 )
...
🤖 I have created a release *beep* *boop*
---
## [4.19.0](https://github.com/unraid/api/compare/v4.18.2...v4.19.0 )
(2025-09-04)
### Features
* mount vue apps, not web components
([#1639 ](https://github.com/unraid/api/issues/1639 ))
([88087d5 ](88087d5201 ))
### Bug Fixes
* api version json response
([#1653 ](https://github.com/unraid/api/issues/1653 ))
([292bc0f ](292bc0fc81 ))
* enhance DOM validation and cleanup in vue-mount-app
([6cf7c88 ](6cf7c88242 ))
* enhance getKeyFile function to handle missing key file gracefully
([#1659 ](https://github.com/unraid/api/issues/1659 ))
([728b38a ](728b38ac11 ))
* info alert docker icon
([#1661 ](https://github.com/unraid/api/issues/1661 ))
([239cdd6 ](239cdd6133 ))
* oidc cache busting issues fixed
([#1656 ](https://github.com/unraid/api/issues/1656 ))
([e204eb8 ](e204eb80a0 ))
* **plugin:** restore cleanup behavior for unsupported unraid versions
([#1658 ](https://github.com/unraid/api/issues/1658 ))
([534a077 ](534a07788b ))
* UnraidToaster component and update dialog close button
([#1657 ](https://github.com/unraid/api/issues/1657 ))
([44774d0 ](44774d0acd ))
* vue mounting logic with tests
([#1651 ](https://github.com/unraid/api/issues/1651 ))
([33774aa ](33774aa596 ))
---
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-09-04 15:42:35 -04:00
Pujit Mehrotra
534a07788b
fix(plugin): restore cleanup behavior for unsupported unraid versions ( #1658 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Adds guided warnings and an explicit cleanup/uninstall workflow for
unsupported Unraid versions, with safer removal paths by OS release.
* **Bug Fixes**
* Detects and removes both new and legacy Connect configurations,
ensuring proper sign-out and web-server reload.
* Strengthens version gating to avoid problematic pre-release builds and
advises uninstall/upgrade when needed.
* **Chores**
* Lowers declared minimum Unraid version to broaden compatibility.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-04 15:28:20 -04:00
Eli Bosley
239cdd6133
fix: info alert docker icon ( #1661 )
2025-09-04 15:18:07 -04:00
Eli Bosley
77cfc07dda
refactor: enhance CSS structure with @layer for component styles ( #1660 )
...
- Introduced @layer directive to ensure base styles have lower priority
than Tailwind utilities.
- Organized CSS resets for box-sizing, figures, headings, paragraphs,
and unordered lists under a single @layer base block for improved
maintainability.
These changes streamline the CSS structure and enhance compatibility
with Tailwind CSS utilities.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- Style
- Wrapped core resets in a base style layer, adjusting cascade with
utility classes.
- Applied global box-sizing within the base layer.
- Consolidated heading and paragraph resets into the layer.
- Added a reset for unordered lists to remove default bullets and
padding.
- Retained the logo figure reset within the layer.
- Updated formatting and header comments to reflect the layering
approach.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-04 14:36:25 -04:00
Eli Bosley
728b38ac11
fix: enhance getKeyFile function to handle missing key file gracefully ( #1659 )
...
- Updated the getKeyFile function to catch ENOENT errors when the
specified key file does not exist, returning an empty string instead of
throwing an error.
- Added new tests to verify the behavior of getKeyFile when the key file
is missing and when it exists, ensuring robust error handling and
correct functionality.
These changes improve the reliability of the key file retrieval process
in the application.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- New Features
- None
- Bug Fixes
- Prevents errors when the key file is missing by returning an empty
value instead of failing, while preserving existing behaviors in other
states.
- Tests
- Refactored tests to use a mocked filesystem with better isolation.
- Added scenarios for missing key files and correctly decoded keys.
- Improved assertions for clearer, deterministic outcomes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-09-04 14:23:42 -04:00
Eli Bosley
44774d0acd
fix: UnraidToaster component and update dialog close button ( #1657 )
...
- Introduced a new UnraidToaster component for displaying notifications
with customizable positions.
- Updated the DialogClose component to use a span element for better
semantic structure.
- Enhanced CSS for the sonner component to ensure proper layout and
styling.
These changes improve user feedback through notifications and refine the
dialog close button's implementation.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added a toaster notifications component with configurable screen
position, rich colors, and a close button; programmatic and legacy
mounting helpers exposed.
* **Style**
* Updated toast close-button spacing and min-width behavior.
* Simplified dialog close-button rendering and removed redundant style
resets.
* Reduced SSO provider icon size and added SSO button font-size tokens.
* **Tests**
* Added unit tests covering component mounting and global exports.
* **Chores**
* Deployment now performs broader remote cleanup before syncing.
* **Chores**
* Type declarations and tsconfig updated for global mount/utility
typings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-04 12:34:16 -04:00
Eli Bosley
e204eb80a0
fix: oidc cache busting issues fixed ( #1656 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- Bug Fixes
- SSO/OIDC provider changes now take effect immediately by clearing
caches on updates, deletes, and settings changes.
- Updating a provider’s issuer no longer requires an API restart.
- Tests
- Added extensive test coverage for OIDC config caching, including
per‑provider and global invalidation and manual/automatic configuration
paths.
- Chores
- Updated internal module wiring to resolve circular dependencies; no
user-facing changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-04 12:29:13 -04:00
Eli Bosley
0c727c37f4
refactor: update UserProfile positioning and clean up unraid components
...
- Adjusted the positioning of the UserProfile component to be absolute, ensuring it aligns correctly within its parent container.
- Modified the clean-unraid.sh script to remove the entire components directory instead of just the standalone apps directory, enhancing cleanup efficiency.
- Added a cleanup step in deploy-dev.sh to clear the remote standalone directory before deployment, ensuring a fresh setup.
These changes improve the layout of the UserProfile component and streamline the deployment process by ensuring no residual files remain.
2025-09-04 07:24:46 -04:00
Eli Bosley
292bc0fc81
fix: api version json response ( #1653 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Version command now supports JSON output via a -j/--json flag,
returning version, build (when available), and a combined value. Default
human-readable output remains unchanged.
* **Tests**
* Added comprehensive tests for version command behavior across
human-readable and JSON modes, including scenarios with and without
build metadata.
* **Chores**
* Bumped API configuration version from 4.18.1 to 4.18.2.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-03 21:09:37 -04:00
Eli Bosley
53f501e1a7
refactor: update test for hidden element mounting in vue-mount-app
...
- Renamed test case to clarify that the component should mount even when the element is hidden.
- Adjusted assertions to ensure that hidden elements can still mount successfully without triggering warnings.
This change enhances the clarity and reliability of the test suite for the vue-mount-app component.
2025-09-03 17:31:52 -04:00
Eli Bosley
6cf7c88242
fix: enhance DOM validation and cleanup in vue-mount-app
...
- Improved validation logic for mounted elements to ensure stable DOM connections and prevent manipulation issues.
- Added cleanup step to clear existing unraid-components directory before installation, ensuring a clean setup.
This update aims to enhance the reliability of component mounting and reduce potential UI issues.
2025-09-03 17:29:51 -04:00
Eli Bosley
33774aa596
fix: vue mounting logic with tests ( #1651 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* Bug Fixes
* Prevents duplicate modal instances and remounts, improving stability
across pages.
* Improves auto-mount reliability with better DOM validation and
recovery from mount errors.
* Enhances cleanup during unmounts to avoid residual artifacts and
intermittent UI issues.
* More robust handling of shadow DOM and problematic DOM structures,
reducing crashes.
* Style
* Adds extra top margin to the OS version controls for improved spacing.
* Tests
* Introduces a comprehensive test suite covering mounting, unmounting,
error recovery, i18n, and global state behaviors.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-03 17:10:21 -04:00
Eli Bosley
88087d5201
feat: mount vue apps, not web components ( #1639 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Standalone web bundle with auto-mount utilities and a self-contained
test page.
* New responsive modal components for consistent mobile/desktop dialogs.
* Header actions to copy OS/API versions.
* **Improvements**
* Refreshed UI styles (muted borders), accessibility and animation
refinements.
* Theming updates and Tailwind v4–aligned, component-scoped styles.
* Runtime GraphQL endpoint override and CSRF header support.
* **Bug Fixes**
* Safer network fetching and improved manifest/asset loading with
duplicate protection.
* **Tests/Chores**
* Parallel plugin tests, new extractor test suite, and updated
build/test scripts.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-03 15:42:21 -04:00
github-actions[bot]
5d89682a3f
chore(main): release 4.18.2 ( #1643 )
...
🤖 I have created a release *beep* *boop*
---
## [4.18.2](https://github.com/unraid/api/compare/v4.18.1...v4.18.2 )
(2025-09-03)
### Bug Fixes
* add missing CPU guest metrics to CPU responses
([#1644 ](https://github.com/unraid/api/issues/1644 ))
([99dbad5 ](99dbad57d5 ))
* **plugin:** raise minimum unraid os version to 6.12.15
([#1649 ](https://github.com/unraid/api/issues/1649 ))
([bc15bd3 ](bc15bd3d70 ))
* update GitHub Actions token for workflow trigger
([4d8588b ](4d8588b173 ))
* update OIDC URL validation and add tests
([#1646 ](https://github.com/unraid/api/issues/1646 ))
([c7c3bb5 ](c7c3bb57ea ))
* use shared bg & border color for styled toasts
([#1647 ](https://github.com/unraid/api/issues/1647 ))
([7c3aee8 ](7c3aee8f3f ))
---
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-09-03 15:23:02 -04:00
Pujit Mehrotra
bc15bd3d70
fix(plugin): raise minimum unraid os version to 6.12.15 ( #1649 )
2025-09-03 15:20:24 -04:00
Pujit Mehrotra
7c3aee8f3f
fix: use shared bg & border color for styled toasts ( #1647 )
...
Addresses user complaints about light colored notifications in dark
themes.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- New Features
- Introduced type-specific toast color tokens (success, info, warning,
error) for richer, clearer toast styling.
- Applied consistent theming across light, inverted, and dark modes to
improve readability and contrast.
- Enabled compatibility with rich color settings for toasts.
- Bug Fixes
- Corrected a CSS comment block to ensure styles compile and apply
reliably.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-03 12:36:18 -04:00
Eli Bosley
c7c3bb57ea
fix: update OIDC URL validation and add tests ( #1646 )
...
- Updated the OIDC issuer URL validation to prevent trailing slashes and
whitespace.
- Introduced a utility class `OidcUrlPatterns` for managing URL patterns
and validation logic.
- Added comprehensive tests for the new URL validation logic and
examples to ensure correctness.
- Bumped version to 4.18.1 in the configuration file.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- New Features
- Added strict validation for OIDC issuer URLs in the SSO configuration
form, with clearer guidance to avoid trailing slashes.
- Bug Fixes
- Prevented misconfiguration by rejecting issuer URLs with trailing
slashes (e.g., Google issuer), avoiding double slashes in discovery
URLs.
- Tests
- Introduced comprehensive unit tests covering issuer URL validation,
patterns, and real-world scenarios to ensure reliability.
- Chores
- Bumped version to 4.18.1.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-03 11:56:30 -04:00
Eli Bosley
99dbad57d5
fix: add missing CPU guest metrics to CPU responses ( #1644 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- New Features
- CPU load metrics now include guest runtime and hypervisor steal time
percentages, exposed as additional fields in CPU load responses
(per‑CPU).
- Tests
- Added comprehensive unit tests for CPU info and load generation,
including edge cases and validation of the new guest and steal metrics.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-03 11:06:51 -04:00
Eli Bosley
c42f79d406
chore: add code coverage monitoring ( #1645 )
2025-09-03 11:06:05 -04:00
Eli Bosley
4d8588b173
fix: update GitHub Actions token for workflow trigger
...
Replaced the token used for triggering workflows in the build-plugin.yml file from WORKFLOW_TRIGGER_PAT to UNRAID_BOT_GITHUB_ADMIN_TOKEN for improved security and access control.
2025-09-03 10:04:54 -04:00
github-actions[bot]
0d1d27064e
chore(main): release 4.18.1 ( #1641 )
...
🤖 I have created a release *beep* *boop*
---
## [4.18.1](https://github.com/unraid/api/compare/v4.18.0...v4.18.1 )
(2025-09-03)
### Bug Fixes
* OIDC and API Key management issues
([#1642 ](https://github.com/unraid/api/issues/1642 ))
([0fe2c2c ](0fe2c2c1c8 ))
* rm redundant emission to `$HOME/.pm2/logs`
([#1640 ](https://github.com/unraid/api/issues/1640 ))
([a8e4119 ](a8e4119270 ))
---
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-09-03 09:47:55 -04:00
Eli Bosley
0fe2c2c1c8
fix: OIDC and API Key management issues ( #1642 )
2025-09-03 09:47:11 -04:00
Pujit Mehrotra
a8e4119270
fix: rm redundant emission to $HOME/.pm2/logs ( #1640 )
...
Override the pm2 daemon's emission of `logs/unraid-api-{out,error}.log`,
which is a duplicate of the stdout appended to
`/var/log/graphql-api.log`.
Correctly implements the sane interpretation of what the `log_file`
configuration does.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Improved process logging by separating standard output and error
streams while supporting merged logs when multiple sources are present.
* Enhances log clarity and troubleshooting without changing application
behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-02 15:30:13 -04:00
github-actions[bot]
372a4ebb42
chore(main): release 4.18.0 ( #1636 )
...
🤖 I have created a release *beep* *boop*
---
## [4.18.0](https://github.com/unraid/api/compare/v4.17.0...v4.18.0 )
(2025-09-02)
### Features
* **api:** enhance OIDC redirect URI handling in service and tests
([#1618 ](https://github.com/unraid/api/issues/1618 ))
([4e945f5 ](4e945f5f56 ))
### Bug Fixes
* api key creation cli
([#1637 ](https://github.com/unraid/api/issues/1637 ))
([c147a6b ](c147a6b507 ))
* **cli:** support `--log-level` for `start` and `restart` cmds
([#1623 ](https://github.com/unraid/api/issues/1623 ))
([a1ee915 ](a1ee915ca5 ))
* confusing server -> status query
([#1635 ](https://github.com/unraid/api/issues/1635 ))
([9d42b36 ](9d42b36f74 ))
* use unraid css variables in sonner
([#1634 ](https://github.com/unraid/api/issues/1634 ))
([26a95af ](26a95af953 ))
---
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-09-02 13:03:04 -04:00
Eli Bosley
4e945f5f56
feat(api): enhance OIDC redirect URI handling in service and tests ( #1618 )
...
- Updated `getRedirectUri` method in `OidcAuthService` to handle various
edge cases for redirect URIs, including full URIs, malformed URLs, and
default ports.
- Added comprehensive tests for `OidcAuthService` to validate redirect
URI construction and error handling.
- Modified `RestController` to utilize `redirect_uri` query parameter
for authorization requests.
- Updated frontend components to include `redirect_uri` in authorization
URLs, ensuring correct handling of different protocols and ports.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Stronger OIDC redirect_uri validation and an admin GraphQL endpoint to
view full OIDC configuration.
* OIDC Debug Logs UI (panel, button, modal), enhanced log viewer with
presets/filters, ANSI-colored rendering, and a File Viewer component.
* New GraphQL queries to list and fetch config files; API Config
Download page.
* **Refactor**
* Centralized, modular OIDC flows and safer redirect handling;
topic-based log subscriptions with a watcher manager for scalable live
logs.
* **Documentation**
* Cache TTL guidance clarified to use milliseconds.
* **Chores**
* Added ansi_up and escape-html deps; improved log formatting; added
root codegen script.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-09-02 10:40:20 -04:00
Eli Bosley
6356f9c41d
chore: lint unraid ui ( #1638 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- New Features
- Fullscreen dialogs now use dedicated open/close animations for
smoother transitions.
- UX
- Added a “Loading Notifications...” message while notifications are
being fetched.
- Style
- Standardized Tailwind utility class ordering across numerous
components for consistent styling; no functional or visual changes
expected.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-29 14:48:14 -04:00
Pujit Mehrotra
a1ee915ca5
fix(cli): support --log-level for start and restart cmds ( #1623 )
...
Resolve #1614
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Start and Restart commands accept a validated --log-level option (now
includes "fatal"); chosen level is applied to the running/restarted
service and defaults to the LOG_LEVEL environment value when set.
* **Documentation**
* CLI docs updated to list the --log-level option and allowed levels
(including fatal), show LOG_LEVEL as an environment-variable
alternative, and include usage examples.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-29 10:56:20 -04:00
Eli Bosley
c147a6b507
fix: api key creation cli ( #1637 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- New Features
- CLI now prompts for roles/permissions only when not provided.
- Bug Fixes
- Existing API keys are detected by name during overwrite checks.
- Invalid role inputs are filtered out with clear warnings.
- Refactor
- Centralized role parsing/validation with improved error messages.
- CLI create flow prompts only when minimum info is missing and uses a
sensible default description.
- Tests
- Added comprehensive unit tests for role parsing and CLI flows (create,
retrieve, overwrite).
- Chores
- Updated API configuration version to 4.17.0.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-29 10:49:31 -04:00
Pujit Mehrotra
9d42b36f74
fix: confusing server -> status query ( #1635 )
...
represent the target server's status instead of whether it's connected to Mothership.
Resolves #1627
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- Bug Fixes
- Ensures the local server is handled consistently as a single server
across views; list views show it as a single-item list when applicable.
- Server status now reliably displays as Online for the local server.
- Documentation
- Added a clearer description for the server status field in the API
schema to improve tooltips and autogenerated docs.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-28 16:31:47 -04:00
Pujit Mehrotra
26a95af953
fix: use unraid css variables in sonner ( #1634 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- Style
- Unified toast colors with theme variables for consistent light/dark
theming.
- Refined close button colors, borders, and hover state for improved
contrast and clarity.
- Updated loading bar color to better align with muted text tones.
- Visual-only updates; no behavioral changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-28 16:26:32 -04:00
github-actions[bot]
0ead267838
chore(main): release 4.17.0 ( #1631 )
...
🤖 I have created a release *beep* *boop*
---
## [4.17.0](https://github.com/unraid/api/compare/v4.16.0...v4.17.0 )
(2025-08-27)
### Features
* add tailwind class sort plugin
([#1562 ](https://github.com/unraid/api/issues/1562 ))
([ab11e7f ](ab11e7ff7f ))
### Bug Fixes
* cleanup obsoleted legacy api keys on api startup (cli / connect)
([#1630 ](https://github.com/unraid/api/issues/1630 ))
([6469d00 ](6469d002b7 ))
---
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-08-27 16:38:35 -04:00
renovate[bot]
163763f9e5
chore(deps): pin dependency prettier-plugin-tailwindcss to 0.6.14 ( #1632 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[prettier-plugin-tailwindcss](https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss )
| devDependencies | pin | [`^0.6.14` ->
`0.6.14`](https://renovatebot.com/diffs/npm/prettier-plugin-tailwindcss/0.6.14/0.6.14 )
|
Add the preset `:preserveSemverRanges` to your config if you don't want
to pin your dependencies.
---
### 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:eyJjcmVhdGVkSW5WZXIiOiI0MS44Mi43IiwidXBkYXRlZEluVmVyIjoiNDEuODIuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-27 16:37:27 -04:00
Pujit Mehrotra
6469d002b7
fix: cleanup obsoleted legacy api keys on api startup (cli / connect) ( #1630 )
...
- these keys have been replaced with a session based authorization system
2025-08-27 16:37:13 -04:00
Michael Datelle
ab11e7ff7f
feat: add tailwind class sort plugin ( #1562 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Updated code formatting tools to include support for Tailwind
CSS-specific formatting.
* Adjusted code formatting issue reporting from errors to warnings for a
smoother development experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: mdatelle <mike@datelle.net >
Co-authored-by: Eli Bosley <ekbosley@gmail.com >
2025-08-27 16:26:09 -04:00
renovate[bot]
7316dc753f
fix(deps): update all non-major dependencies ( #1580 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence | Type | Update |
|---|---|---|---|---|---|
| [@apollo/client](https://www.apollographql.com/docs/react/ )
([source](https://redirect.github.com/apollographql/apollo-client )) |
[`3.13.9` ->
`3.14.0`](https://renovatebot.com/diffs/npm/@apollo%2fclient/3.13.9/3.14.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [@apollo/client](https://www.apollographql.com/docs/react/ )
([source](https://redirect.github.com/apollographql/apollo-client )) |
[`3.13.9` ->
`3.14.0`](https://renovatebot.com/diffs/npm/@apollo%2fclient/3.13.9/3.14.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | minor |
| [@apollo/client](https://www.apollographql.com/docs/react/ )
([source](https://redirect.github.com/apollographql/apollo-client )) |
[`3.13.9` ->
`3.14.0`](https://renovatebot.com/diffs/npm/@apollo%2fclient/3.13.9/3.14.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@eslint/js](https://eslint.org )
([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js ))
| [`9.33.0` ->
`9.34.0`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.33.0/9.34.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@floating-ui/dom](https://floating-ui.com )
([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/dom ))
| [`1.7.3` ->
`1.7.4`](https://renovatebot.com/diffs/npm/@floating-ui%2fdom/1.7.3/1.7.4 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@floating-ui/vue](https://floating-ui.com/docs/vue )
([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/vue ))
| [`1.1.8` ->
`1.1.9`](https://renovatebot.com/diffs/npm/@floating-ui%2fvue/1.1.8/1.1.9 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
|
[@ianvs/prettier-plugin-sort-imports](https://redirect.github.com/ianvs/prettier-plugin-sort-imports )
| [`4.6.1` ->
`4.6.3`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/4.6.1/4.6.3 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@internationalized/number](https://redirect.github.com/adobe/react-spectrum )
| [`3.6.4` ->
`3.6.5`](https://renovatebot.com/diffs/npm/@internationalized%2fnumber/3.6.4/3.6.5 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@nestjs/testing](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/testing ))
| [`11.1.5` ->
`11.1.6`](https://renovatebot.com/diffs/npm/@nestjs%2ftesting/11.1.5/11.1.6 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [@nuxt/devtools](https://devtools.nuxt.com )
([source](https://redirect.github.com/nuxt/devtools/tree/HEAD/packages/devtools ))
| [`2.6.2` ->
`2.6.3`](https://renovatebot.com/diffs/npm/@nuxt%2fdevtools/2.6.2/2.6.3 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [@nuxt/eslint](https://redirect.github.com/nuxt/eslint )
([source](https://redirect.github.com/nuxt/eslint/tree/HEAD/packages/module ))
| [`1.8.0` ->
`1.9.0`](https://renovatebot.com/diffs/npm/@nuxt%2feslint/1.8.0/1.9.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@nuxt/ui](https://ui.nuxt.com )
([source](https://redirect.github.com/nuxt/ui )) | [`3.3.0` ->
`3.3.2`](https://renovatebot.com/diffs/npm/@nuxt%2fui/3.3.0/3.3.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@rollup/rollup-linux-x64-gnu](https://rollupjs.org/ )
([source](https://redirect.github.com/rollup/rollup )) | [`4.46.2` ->
`4.49.0`](https://renovatebot.com/diffs/npm/@rollup%2frollup-linux-x64-gnu/4.46.2/4.49.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| optionalDependencies | minor |
|
[@storybook/addon-docs](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/docs )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/docs ))
| [`9.1.2` ->
`9.1.3`](https://renovatebot.com/diffs/npm/@storybook%2faddon-docs/9.1.2/9.1.3 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links ))
| [`9.1.2` ->
`9.1.3`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/9.1.2/9.1.3 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@storybook/builder-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/builders/builder-vite/#readme )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/builders/builder-vite ))
| [`9.1.2` ->
`9.1.3`](https://renovatebot.com/diffs/npm/@storybook%2fbuilder-vite/9.1.2/9.1.3 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@storybook/vue3-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/vue3-vite )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/vue3-vite ))
| [`9.1.2` ->
`9.1.3`](https://renovatebot.com/diffs/npm/@storybook%2fvue3-vite/9.1.2/9.1.3 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [@swc/core](https://swc.rs )
([source](https://redirect.github.com/swc-project/swc )) | [`1.13.3` ->
`1.13.5`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.13.3/1.13.5 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [@tailwindcss/cli](https://tailwindcss.com )
([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-cli ))
| [`4.1.11` ->
`4.1.12`](https://renovatebot.com/diffs/npm/@tailwindcss%2fcli/4.1.11/4.1.12 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@tailwindcss/vite](https://tailwindcss.com )
([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite ))
| [`4.1.11` ->
`4.1.12`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.1.11/4.1.12 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@types/bun](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/bun )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bun ))
| [`1.2.20` ->
`1.2.21`](https://renovatebot.com/diffs/npm/@types%2fbun/1.2.20/1.2.21 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@types/dockerode](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/dockerode )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dockerode ))
| [`3.3.42` ->
`3.3.43`](https://renovatebot.com/diffs/npm/@types%2fdockerode/3.3.42/3.3.43 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ))
| [`22.17.1` ->
`22.18.0`](https://renovatebot.com/diffs/npm/@types%2fnode/22.17.1/22.18.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[@types/wtfnode](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/wtfnode )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/wtfnode ))
| [`0.7.3` ->
`0.10.0`](https://renovatebot.com/diffs/npm/@types%2fwtfnode/0.7.3/0.10.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin ))
| [`8.39.1` ->
`8.41.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.39.1/8.41.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@vue/tsconfig](https://redirect.github.com/vuejs/tsconfig ) | [`0.7.0`
->
`0.8.1`](https://renovatebot.com/diffs/npm/@vue%2ftsconfig/0.7.0/0.8.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[@vueuse/components](https://redirect.github.com/vueuse/vueuse/tree/main/packages/components#readme )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/components ))
| [`13.6.0` ->
`13.8.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcomponents/13.6.0/13.8.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [@vueuse/core](https://redirect.github.com/vueuse/vueuse )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/core ))
| [`13.6.0` ->
`13.8.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.6.0/13.8.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@vueuse/core](https://redirect.github.com/vueuse/vueuse )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/core ))
| [`13.6.0` ->
`13.8.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.6.0/13.8.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
|
[@vueuse/integrations](https://redirect.github.com/vueuse/vueuse/tree/main/packages/integrations#readme )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/integrations ))
| [`13.6.0` ->
`13.8.0`](https://renovatebot.com/diffs/npm/@vueuse%2fintegrations/13.6.0/13.8.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
|
[@vueuse/nuxt](https://redirect.github.com/vueuse/vueuse/tree/main/packages/nuxt#readme )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/nuxt ))
| [`13.6.0` ->
`13.8.0`](https://renovatebot.com/diffs/npm/@vueuse%2fnuxt/13.6.0/13.8.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [cache-manager](https://redirect.github.com/jaredwray/cacheable )
([source](https://redirect.github.com/jaredwray/cacheable/tree/HEAD/packages/cache-manager ))
| [`7.1.1` ->
`7.2.0`](https://renovatebot.com/diffs/npm/cache-manager/7.1.1/7.2.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [chalk](https://redirect.github.com/chalk/chalk ) | [`5.5.0` ->
`5.6.0`](https://renovatebot.com/diffs/npm/chalk/5.5.0/5.6.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
|
[concurrently](https://redirect.github.com/open-cli-tools/concurrently )
| [`9.2.0` ->
`9.2.1`](https://renovatebot.com/diffs/npm/concurrently/9.2.0/9.2.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [dayjs](https://day.js.org )
([source](https://redirect.github.com/iamkun/dayjs )) | [`1.11.13` ->
`1.11.14`](https://renovatebot.com/diffs/npm/dayjs/1.11.13/1.11.14 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [eslint](https://eslint.org )
([source](https://redirect.github.com/eslint/eslint )) | [`9.33.0` ->
`9.34.0`](https://renovatebot.com/diffs/npm/eslint/9.33.0/9.34.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[eslint-plugin-storybook](https://redirect.github.com/storybookjs/storybook/code/lib/eslint-plugin#readme )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/eslint-plugin ))
| [`9.1.2` ->
`9.1.3`](https://renovatebot.com/diffs/npm/eslint-plugin-storybook/9.1.2/9.1.3 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[inquirer](https://redirect.github.com/SBoudrias/Inquirer.js/blob/main/packages/inquirer/README.md )
([source](https://redirect.github.com/SBoudrias/Inquirer.js )) |
[`12.9.1` ->
`12.9.4`](https://renovatebot.com/diffs/npm/inquirer/12.9.1/12.9.4 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [jose](https://redirect.github.com/panva/jose ) | [`6.0.12` ->
`6.0.13`](https://renovatebot.com/diffs/npm/jose/6.0.12/6.0.13 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | patch |
| [jose](https://redirect.github.com/panva/jose ) | [`6.0.12` ->
`6.0.13`](https://renovatebot.com/diffs/npm/jose/6.0.12/6.0.13 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [jose](https://redirect.github.com/panva/jose ) | [`6.0.12` ->
`6.0.13`](https://renovatebot.com/diffs/npm/jose/6.0.12/6.0.13 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [lucide-vue-next](https://lucide.dev )
([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next ))
| [`0.539.0` ->
`0.542.0`](https://renovatebot.com/diffs/npm/lucide-vue-next/0.539.0/0.542.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [marked](https://marked.js.org )
([source](https://redirect.github.com/markedjs/marked )) | [`16.1.2` ->
`16.2.1`](https://renovatebot.com/diffs/npm/marked/16.1.2/16.2.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [nest-commander](https://nest-commander.jaymcdoniel.dev )
([source](https://redirect.github.com/jmcdo29/nest-commander/tree/HEAD/pacakges/nest-commander ))
| [`3.18.0` ->
`3.19.0`](https://renovatebot.com/diffs/npm/nest-commander/3.18.0/3.19.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [openid-client](https://redirect.github.com/panva/openid-client ) |
[`6.6.2` ->
`6.6.4`](https://renovatebot.com/diffs/npm/openid-client/6.6.2/6.6.4 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [pino](https://getpino.io )
([source](https://redirect.github.com/pinojs/pino )) | [`9.8.0` ->
`9.9.0`](https://renovatebot.com/diffs/npm/pino/9.8.0/9.9.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [pnpm](https://pnpm.io )
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm )) |
[`10.14.0` ->
`10.15.0`](https://renovatebot.com/diffs/npm/pnpm/10.14.0/10.15.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| packageManager | minor |
| [pnpm](https://pnpm.io )
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm )) |
[`10.14.0` ->
`10.15.0`](https://renovatebot.com/diffs/npm/pnpm/10.14.0/10.15.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| engines | minor |
| [pnpm](https://pnpm.io )
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm )) |
`10.14.0` -> `10.15.0` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| uses-with | minor |
| [python](https://redirect.github.com/actions/python-versions ) |
`3.13.6` -> `3.13.7` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| uses-with | patch |
| [reka-ui](https://redirect.github.com/unovue/reka-ui ) | [`2.4.1` ->
`2.5.0`](https://renovatebot.com/diffs/npm/reka-ui/2.4.1/2.5.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
|
[rollup-plugin-node-externals](https://redirect.github.com/Septh/rollup-plugin-node-externals )
| [`8.0.1` ->
`8.1.0`](https://renovatebot.com/diffs/npm/rollup-plugin-node-externals/8.0.1/8.1.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [storybook](https://storybook.js.org )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/core ))
| [`9.1.2` ->
`9.1.3`](https://renovatebot.com/diffs/npm/storybook/9.1.2/9.1.3 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [systeminformation](https://systeminformation.io )
([source](https://redirect.github.com/sebhildebrandt/systeminformation ))
| [`5.27.7` ->
`5.27.8`](https://renovatebot.com/diffs/npm/systeminformation/5.27.7/5.27.8 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [tailwindcss](https://tailwindcss.com )
([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss ))
| [`4.1.11` ->
`4.1.12`](https://renovatebot.com/diffs/npm/tailwindcss/4.1.11/4.1.12 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [tailwindcss](https://tailwindcss.com )
([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss ))
| [`4.1.11` ->
`4.1.12`](https://renovatebot.com/diffs/npm/tailwindcss/4.1.11/4.1.12 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | patch |
| [tsx](https://tsx.is )
([source](https://redirect.github.com/privatenumber/tsx )) | [`4.20.3` ->
`4.20.5`](https://renovatebot.com/diffs/npm/tsx/4.19.3/4.20.5 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [tsx](https://tsx.is )
([source](https://redirect.github.com/privatenumber/tsx )) | [`4.20.3` ->
`4.20.5`](https://renovatebot.com/diffs/npm/tsx/4.20.3/4.20.5 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[tw-animate-css](https://redirect.github.com/Wombosvideo/tw-animate-css )
| [`1.3.6` ->
`1.3.7`](https://renovatebot.com/diffs/npm/tw-animate-css/1.3.6/1.3.7 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[tw-animate-css](https://redirect.github.com/Wombosvideo/tw-animate-css )
| [`1.3.6` ->
`1.3.7`](https://renovatebot.com/diffs/npm/tw-animate-css/1.3.6/1.3.7 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
|
[typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ))
| [`8.39.1` ->
`8.41.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.39.1/8.41.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [undici](https://undici.nodejs.org )
([source](https://redirect.github.com/nodejs/undici )) | [`7.13.0` ->
`7.15.0`](https://renovatebot.com/diffs/npm/undici/7.13.0/7.15.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | minor |
| [undici](https://undici.nodejs.org )
([source](https://redirect.github.com/nodejs/undici )) | [`7.13.0` ->
`7.15.0`](https://renovatebot.com/diffs/npm/undici/7.13.0/7.15.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [undici](https://undici.nodejs.org )
([source](https://redirect.github.com/nodejs/undici )) | [`7.13.0` ->
`7.15.0`](https://renovatebot.com/diffs/npm/undici/7.13.0/7.15.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
|
[unplugin-swc](https://redirect.github.com/unplugin/unplugin-swc/tree/main/#readme )
([source](https://redirect.github.com/unplugin/unplugin-swc )) | [`1.5.5`
-> `1.5.7`](https://renovatebot.com/diffs/npm/unplugin-swc/1.5.5/1.5.7 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [vite](https://vite.dev )
([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite ))
| [`7.1.1` ->
`7.1.3`](https://renovatebot.com/diffs/npm/vite/7.1.1/7.1.3 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [vite-plugin-vue-devtools](https://redirect.github.com/vuejs/devtools )
([source](https://redirect.github.com/vuejs/devtools/tree/HEAD/packages/vite ))
| [`8.0.0` ->
`8.0.1`](https://renovatebot.com/diffs/npm/vite-plugin-vue-devtools/8.0.0/8.0.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[vue](https://redirect.github.com/vuejs/core/tree/main/packages/vue#readme )
([source](https://redirect.github.com/vuejs/core )) | [`3.5.18` ->
`3.5.20`](https://renovatebot.com/diffs/npm/vue/3.5.18/3.5.20 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[vue](https://redirect.github.com/vuejs/core/tree/main/packages/vue#readme )
([source](https://redirect.github.com/vuejs/core )) | [`3.5.18` ->
`3.5.20`](https://renovatebot.com/diffs/npm/vue/3.5.18/3.5.20 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | patch |
| [vue-tsc](https://redirect.github.com/vuejs/language-tools )
([source](https://redirect.github.com/vuejs/language-tools/tree/HEAD/packages/tsc ))
| [`3.0.5` ->
`3.0.6`](https://renovatebot.com/diffs/npm/vue-tsc/3.0.5/3.0.6 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [vuetify](https://vuetifyjs.com )
([source](https://redirect.github.com/vuetifyjs/vuetify/tree/HEAD/packages/vuetify ))
| [`3.9.4` ->
`3.9.6`](https://renovatebot.com/diffs/npm/vuetify/3.9.4/3.9.6 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [wrangler](https://redirect.github.com/cloudflare/workers-sdk )
([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler ))
| [`4.28.1` ->
`4.33.0`](https://renovatebot.com/diffs/npm/wrangler/4.28.1/4.33.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [zx](https://google.github.io/zx/ )
([source](https://redirect.github.com/google/zx )) | [`8.8.0` ->
`8.8.1`](https://renovatebot.com/diffs/npm/zx/8.3.2/8.8.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [zx](https://google.github.io/zx/ )
([source](https://redirect.github.com/google/zx )) | [`8.8.0` ->
`8.8.1`](https://renovatebot.com/diffs/npm/zx/8.8.0/8.8.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
---
### Release Notes
<details>
<summary>apollographql/apollo-client (@​apollo/client)</summary>
###
[`v3.14.0`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3140 )
[Compare
Source](5c202cf3b2 ...v3.14.0)
##### Minor Changes
-
[#​12752](https://redirect.github.com/apollographql/apollo-client/pull/12752 )
[`8b779b4`](8b779b428b )
Thanks [@​jerelmiller](https://redirect.github.com/jerelmiller )! -
Add deprecations and warnings to remaining APIs changed in Apollo Client
4.0.
-
[#​12746](https://redirect.github.com/apollographql/apollo-client/pull/12746 )
[`0bcd2f4`](0bcd2f4ead )
Thanks [@​jerelmiller](https://redirect.github.com/jerelmiller )! -
Add warnings and deprecations for options and methods for all React
APIs.
-
[#​12751](https://redirect.github.com/apollographql/apollo-client/pull/12751 )
[`567cad8`](567cad8fcc )
Thanks [@​jerelmiller](https://redirect.github.com/jerelmiller )! -
Add `@deprecated` tags to all properties returned from any query API
(e.g. `client.query`, `observableQuery.refetch`, etc.), `client.mutate`,
and `client.subscribe` that are no longer available in Apollo Client
4.0.
-
[#​12746](https://redirect.github.com/apollographql/apollo-client/pull/12746 )
[`0bcd2f4`](0bcd2f4ead )
Thanks [@​jerelmiller](https://redirect.github.com/jerelmiller )! -
Add `preloadQuery.toPromise(queryRef)` as a replacement for
`queryRef.toPromise()`. `queryRef.toPromise()` has been removed in
Apollo Client 4.0 in favor of `preloadQuery.toPromise` and is now
considered deprecated.
-
[#​12736](https://redirect.github.com/apollographql/apollo-client/pull/12736 )
[`ea89440`](ea89440132 )
Thanks [@​jerelmiller](https://redirect.github.com/jerelmiller )! -
Add deprecations and deprecation warnings for `ApolloClient` options and
methods.
-
[#​12763](https://redirect.github.com/apollographql/apollo-client/pull/12763 )
[`5de6a3d`](5de6a3d318 )
Thanks [@​jerelmiller](https://redirect.github.com/jerelmiller )! -
Version bump only to release latest as `rc`.
-
[#​12459](https://redirect.github.com/apollographql/apollo-client/pull/12459 )
[`1c5a031`](1c5a0313d3 )
Thanks [@​jerelmiller](https://redirect.github.com/jerelmiller )! -
Reset `addTypenameTransform` and `fragments` caches when calling
`cache.gc()` only when `resetResultCache` is `true`.
-
[#​12743](https://redirect.github.com/apollographql/apollo-client/pull/12743 )
[`92ad409`](92ad4097e5 )
Thanks [@​jerelmiller](https://redirect.github.com/jerelmiller )! -
Add deprecations and warnings for `addTypename` in `InMemoryCache` and
`MockedProvider`.
-
[#​12743](https://redirect.github.com/apollographql/apollo-client/pull/12743 )
[`92ad409`](92ad4097e5 )
Thanks [@​jerelmiller](https://redirect.github.com/jerelmiller )! -
Add deprecations and warnings for `canonizeResults`.
-
[#​12751](https://redirect.github.com/apollographql/apollo-client/pull/12751 )
[`567cad8`](567cad8fcc )
Thanks [@​jerelmiller](https://redirect.github.com/jerelmiller )! -
Warn when using a `standby` fetch policy with `client.query`.
##### Patch Changes
-
[#​12750](https://redirect.github.com/apollographql/apollo-client/pull/12750 )
[`ecf3de1`](ecf3de1cc9 )
Thanks [@​phryneas](https://redirect.github.com/phryneas )! -
Prevent field policies from overwriting/merging into supertype field
policies.
</details>
<details>
<summary>eslint/eslint (@​eslint/js)</summary>
###
[`v9.34.0`](https://redirect.github.com/eslint/eslint/compare/v9.33.0...b48fa20034e53bc65d1a58f3d834705e3087b00c )
[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v9.33.0...v9.34.0 )
</details>
<details>
<summary>floating-ui/floating-ui (@​floating-ui/dom)</summary>
###
[`v1.7.4`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/dom/CHANGELOG.md#174 )
[Compare
Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/dom@1.7.3...@floating-ui/dom@1.7.4 )
##### Patch Changes
- fix(getViewportRect): account for space left by `scrollbar-gutter:
stable`
</details>
<details>
<summary>floating-ui/floating-ui (@​floating-ui/vue)</summary>
###
[`v1.1.9`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/vue/CHANGELOG.md#119 )
[Compare
Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/vue@1.1.8...@floating-ui/vue@1.1.9 )
##### Patch Changes
- Update dependencies: `@floating-ui/dom@1.7.4`
</details>
<details>
<summary>ianvs/prettier-plugin-sort-imports
(@​ianvs/prettier-plugin-sort-imports)</summary>
###
[`v4.6.3`](https://redirect.github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.6.3 )
[Compare
Source](https://redirect.github.com/ianvs/prettier-plugin-sort-imports/compare/4.6.2...v4.6.3 )
#### What's Changed
- Revert "fix: conditionally register ember and oxc parsers when depend…
by [@​IanVS](https://redirect.github.com/IanVS ) in
[IanVS#237](https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/237 )
**Full Changelog**:
<https://github.com/IanVS/prettier-plugin-sort-imports/compare/4.6.2...v4.6.3 >
###
[`v4.6.2`](https://redirect.github.com/IanVS/prettier-plugin-sort-imports/releases/tag/4.6.2 )
[Compare
Source](https://redirect.github.com/ianvs/prettier-plugin-sort-imports/compare/v4.6.1...4.6.2 )
#### What's Changed
- fix: conditionally register ember and oxc parsers when dependencies
available by [@​jahands](https://redirect.github.com/jahands ) in
[IanVS#234](https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/234 )
#### New Contributors
- [@​jahands](https://redirect.github.com/jahands ) made their
first contribution in
[IanVS#234](https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/234 )
**Full Changelog**:
<https://github.com/IanVS/prettier-plugin-sort-imports/compare/v4.6.1...4.6.2 >
</details>
<details>
<summary>adobe/react-spectrum
(@​internationalized/number)</summary>
###
[`v3.6.5`](https://redirect.github.com/adobe/react-spectrum/compare/@internationalized/number@3.6.4...@internationalized/number@3.6.5 )
[Compare
Source](https://redirect.github.com/adobe/react-spectrum/compare/@internationalized/number@3.6.4...@internationalized/number@3.6.5 )
</details>
<details>
<summary>nestjs/nest (@​nestjs/testing)</summary>
###
[`v11.1.6`](https://redirect.github.com/nestjs/nest/releases/tag/v11.1.6 )
[Compare
Source](https://redirect.github.com/nestjs/nest/compare/v11.1.5...v11.1.6 )
#### v11.1.6 (2025-08-07)
##### Bug fixes
- `core`
- [#​15504](https://redirect.github.com/nestjs/nest/pull/15504 )
fix(core): fix race condition in class dependency resolution from
imported modules
([@​hajekjiri](https://redirect.github.com/hajekjiri ))
- [#​15469](https://redirect.github.com/nestjs/nest/pull/15469 )
fix(core): attach root inquirer for nested transient providers
([@​kamilmysliwiec](https://redirect.github.com/kamilmysliwiec ))
- `microservices`
- [#​15508](https://redirect.github.com/nestjs/nest/pull/15508 )
fix(microservices): report correct buffer length in exception
([@​kim-sung-jee](https://redirect.github.com/kim-sung-jee ))
- [#​15492](https://redirect.github.com/nestjs/nest/pull/15492 )
fix(microservices): fix kafka serilization of class instances
([@​LeonBiersch](https://redirect.github.com/LeonBiersch ))
##### Dependencies
- `platform-fastify`
- [#​15493](https://redirect.github.com/nestjs/nest/pull/15493 )
chore(deps): bump
[@​fastify/cors](https://redirect.github.com/fastify/cors ) from
11.0.1 to 11.1.0
([@​dependabot\[bot\]](https://redirect.github.com/apps/dependabot ))
##### Committers: 6
- Jiri Hajek
([@​hajekjiri](https://redirect.github.com/hajekjiri ))
- Kamil Mysliwiec
([@​kamilmysliwiec](https://redirect.github.com/kamilmysliwiec ))
- Leon Biersch
([@​LeonBiersch](https://redirect.github.com/LeonBiersch ))
- Seongjee Kim
([@​kim-sung-jee](https://redirect.github.com/kim-sung-jee ))
- [@​premierbell](https://redirect.github.com/premierbell )
- pTr ([@​ptrgits](https://redirect.github.com/ptrgits ))
</details>
<details>
<summary>nuxt/devtools (@​nuxt/devtools)</summary>
###
[`v2.6.3`](https://redirect.github.com/nuxt/devtools/blob/HEAD/CHANGELOG.md#263-2025-08-22 )
[Compare
Source](https://redirect.github.com/nuxt/devtools/compare/v2.6.2...v2.6.3 )
</details>
<details>
<summary>nuxt/eslint (@​nuxt/eslint)</summary>
###
[`v1.9.0`](https://redirect.github.com/nuxt/eslint/releases/tag/v1.9.0 )
[Compare
Source](https://redirect.github.com/nuxt/eslint/compare/v1.8.0...v1.9.0 )
##### 🚀 Features
- Update plugins - by
[@​antfu](https://redirect.github.com/antfu )
[<samp>(b80cb)</samp>](https://redirect.github.com/nuxt/eslint/commit/b80cbeb )
##### 🐞 Bug Fixes
- Add `defineNuxtConfig` as ESLint's globals, close
[#​603](https://redirect.github.com/nuxt/eslint/issues/603 ) - by
[@​antfu](https://redirect.github.com/antfu ) in
[#​603](https://redirect.github.com/nuxt/eslint/issues/603 )
[<samp>(2e67f)</samp>](https://redirect.github.com/nuxt/eslint/commit/2e67f94 )
##### [View changes on
GitHub](https://redirect.github.com/nuxt/eslint/compare/v1.8.0...v1.9.0 )
</details>
<details>
<summary>nuxt/ui (@​nuxt/ui)</summary>
###
[`v3.3.2`](https://redirect.github.com/nuxt/ui/blob/HEAD/CHANGELOG.md#332-2025-08-14 )
[Compare
Source](https://redirect.github.com/nuxt/ui/compare/v3.3.1...v3.3.2 )
###
[`v3.3.1`](https://redirect.github.com/nuxt/ui/blob/HEAD/CHANGELOG.md#331-2025-08-14 )
[Compare
Source](https://redirect.github.com/nuxt/ui/compare/v3.3.0...v3.3.1 )
##### Features
- **Form:** support error RegExp in exposed methods
([#​4608](https://redirect.github.com/nuxt/ui/issues/4608 ))
([b8b74a0](b8b74a0c33 ))
- **Tree:** add `item-wrapper` slot
([#​4521](https://redirect.github.com/nuxt/ui/issues/4521 ))
([411d937](411d93710a ))
- **useOverlay:** return promise on `open` method
([#​4592](https://redirect.github.com/nuxt/ui/issues/4592 ))
([58aac86](58aac862dd ))
##### Bug Fixes
- **Drawer:** improve closing animation with `inset` prop
([#​4676](https://redirect.github.com/nuxt/ui/issues/4676 ))
([9da1527](9da1527f62 ))
- **FileUpload:** handle wildcard in dropzone `dataTypes`
([#​4671](https://redirect.github.com/nuxt/ui/issues/4671 ))
([729bed4](729bed47f5 ))
- **FileUpload:** improve file removal a11y
([#​4607](https://redirect.github.com/nuxt/ui/issues/4607 ))
([f90bba0](f90bba00c1 ))
- **FileUpload:** open dialog on keyup
([#​4629](https://redirect.github.com/nuxt/ui/issues/4629 ))
([8e9265e](8e9265e91f ))
- **FileUpload:** prevent default on keydown
([#​4633](https://redirect.github.com/nuxt/ui/issues/4633 ))
([68d8a98](68d8a983ed ))
- **Input:** incorrect rendering of type `date` / `time` on iOS
([#​4715](https://redirect.github.com/nuxt/ui/issues/4715 ))
([93cc83c](93cc83cbc7 ))
- **InputMenu/Select/SelectMenu:** add display value fallback when no
items found
([#​4689](https://redirect.github.com/nuxt/ui/issues/4689 ))
([34ca811](34ca811ff0 ))
- **Select/InputMenu:** handle focus via label inside a FormField
([#​4696](https://redirect.github.com/nuxt/ui/issues/4696 ))
([55dbcd2](55dbcd20a8 ))
- **Tabs:** add missing Badge import
([#​4594](https://redirect.github.com/nuxt/ui/issues/4594 ))
([fbec29c](fbec29c1b7 ))
- **Toast:** add type for progress `ui` prop
([#​4677](https://redirect.github.com/nuxt/ui/issues/4677 ))
([a8af85c](a8af85c14b ))
- **Tooltip:** render only if `text` or `kbds` are present
([#​4568](https://redirect.github.com/nuxt/ui/issues/4568 ))
([5e39cbb](5e39cbb3b2 ))
</details>
<details>
<summary>rollup/rollup (@​rollup/rollup-linux-x64-gnu)</summary>
###
[`v4.49.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4490 )
[Compare
Source](https://redirect.github.com/rollup/rollup/compare/v4.48.1...v4.49.0 )
*2025-08-27*
##### Features
- Allow config plugins to resolve imports first before deciding whether
to treat them as external
([#​6038](https://redirect.github.com/rollup/rollup/issues/6038 ))
##### Pull Requests
- [#​6038](https://redirect.github.com/rollup/rollup/pull/6038 ):
feat: Run external check in `cli/run/loadConfigFile.ts` as last in order
to allow handling of e.g. workspace package imports in TS monorepos
correctly ([@​stazz](https://redirect.github.com/stazz ),
[@​TrickyPi](https://redirect.github.com/TrickyPi ))
- [#​6082](https://redirect.github.com/rollup/rollup/pull/6082 ):
Improve build pipeline performance
([@​lukastaegert](https://redirect.github.com/lukastaegert ))
###
[`v4.48.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4481 )
[Compare
Source](https://redirect.github.com/rollup/rollup/compare/v4.48.0...v4.48.1 )
*2025-08-25*
##### Bug Fixes
- Correctly ignore white-space in JSX strings around line-breaks
([#​6051](https://redirect.github.com/rollup/rollup/issues/6051 ))
##### Pull Requests
- [#​6051](https://redirect.github.com/rollup/rollup/pull/6051 ):
fix: handle whitespace according to JSX common practice
([@​cyyynthia](https://redirect.github.com/cyyynthia ))
- [#​6078](https://redirect.github.com/rollup/rollup/pull/6078 ):
build: optimize pipeline take two
([@​cyyynthia](https://redirect.github.com/cyyynthia ))
###
[`v4.48.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4480 )
[Compare
Source](https://redirect.github.com/rollup/rollup/compare/v4.47.1...v4.48.0 )
*2025-08-23*
##### Features
- If configured, also keep unparseable import attributes of external
dynamic imports in the
output([#​6071](https://redirect.github.com/rollup/rollup/issues/6071 ))
##### Bug Fixes
- Ensure variables referenced in non-removed import attributes are
included
([#​6071](https://redirect.github.com/rollup/rollup/issues/6071 ))
##### Pull Requests
- [#​6071](https://redirect.github.com/rollup/rollup/pull/6071 ):
Keep attributes for external dynamic imports
([@​TrickyPi](https://redirect.github.com/TrickyPi ))
- [#​6079](https://redirect.github.com/rollup/rollup/pull/6079 ):
fix(deps): update swc monorepo (major)
([@​renovate](https://redirect.github.com/renovate )\[bot])
- [#​6080](https://redirect.github.com/rollup/rollup/pull/6080 ):
fix(deps): lock file maintenance minor/patch updates
([@​renovate](https://redirect.github.com/renovate )\[bot])
###
[`v4.47.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4471 )
[Compare
Source](https://redirect.github.com/rollup/rollup/compare/v4.47.0...v4.47.1 )
*2025-08-21*
##### Bug Fixes
- Revert build process changes to investigate issues
([#​6077](https://redirect.github.com/rollup/rollup/issues/6077 ))
##### Pull Requests
- [#​6077](https://redirect.github.com/rollup/rollup/pull/6077 ):
Revert "build: aggressively optimize wasm build, improve pipeline
([#​6053](https://redirect.github.com/rollup/rollup/issues/6053 ))"
([@​lukastaegert](https://redirect.github.com/lukastaegert ))
### [`v4.47.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/C
</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 becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0MS42MC40IiwidXBkYXRlZEluVmVyIjoiNDEuODIuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-27 16:14:56 -04:00
github-actions[bot]
1bf74e9d6c
chore(main): release 4.16.0 ( #1613 )
...
🤖 I have created a release *beep* *boop*
---
## [4.16.0](https://github.com/unraid/api/compare/v4.15.1...v4.16.0 )
(2025-08-27)
### Features
* add `parityCheckStatus` field to `array` query
([#1611 ](https://github.com/unraid/api/issues/1611 ))
([c508366 ](c508366702 ))
* generated UI API key management + OAuth-like API Key Flows
([#1609 ](https://github.com/unraid/api/issues/1609 ))
([674323f ](674323fd87 ))
### Bug Fixes
* **connect:** clear `wanport` upon disabling remote access
([#1624 ](https://github.com/unraid/api/issues/1624 ))
([9df6a3f ](9df6a3f5eb ))
* **connect:** valid LAN FQDN while remote access is enabled
([#1625 ](https://github.com/unraid/api/issues/1625 ))
([aa58888 ](aa588883cc ))
* correctly parse periods in share names from ini file
([#1629 ](https://github.com/unraid/api/issues/1629 ))
([7d67a40 ](7d67a40433 ))
* **rc.unraid-api:** remove profile sourcing
([#1622 ](https://github.com/unraid/api/issues/1622 ))
([6947b5d ](6947b5d4af ))
* remove unused api key calls
([#1628 ](https://github.com/unraid/api/issues/1628 ))
([9cd0d6a ](9cd0d6ac65 ))
* retry VMs init for up to 2 min
([#1612 ](https://github.com/unraid/api/issues/1612 ))
([b2e7801 ](b2e7801238 ))
---
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-08-27 16:06:03 -04:00
Eli Bosley
9cd0d6ac65
fix: remove unused api key calls ( #1628 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- New Features
- None.
- Bug Fixes
- Improved reliability of API key updates and clearer errors when keys
are missing or data is invalid.
- More robust initialization to prevent intermittent failures during API
key operations.
- Refactor
- Simplified API key management by unifying lookup flows and adopting
consistent async handling.
- Tests
- Expanded coverage for error scenarios and strengthened test setup for
initialization and file-read issues.
- Chores
- Minor formatting cleanups.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-27 15:50:15 -04:00
Eli Bosley
f0348aa038
refactor: simplify DockerService by removing OnModuleInit implementation
...
Removed the OnModuleInit interface and its associated initialization logic from DockerService. This change streamlines the service by eliminating unnecessary complexity related to module initialization, while maintaining core functionality.
2025-08-27 15:34:20 -04:00
Eli Bosley
c1ab3a4746
refactor: implement local-session for internal client auth ( #1606 )
...
Remove the confusing API keys that were auto-generated for the CLI &
Connect. Instead, support authentication via a custom `local-session`
header.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Local-session authentication for internal/CLI requests
(x-local-session) with generation, validation, on-disk persistence, and
lifecycle init.
* Internal client gains multi-strategy auth (local session, cookie, or
API key), supports subscriptions/origin, and can be cleared/recreated.
* **Security**
* Embedded development API keys removed from the repository.
* **Refactor**
* Canonical internal client introduced; consumers migrated from legacy
CLI key services.
* **Tests / Chores**
* Tests, env, and gitignore updated for local-session and
canonical-client changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pujit Mehrotra <pujit@lime-technology.com >
2025-08-27 15:28:25 -04:00
Pujit Mehrotra
7d67a40433
fix: correctly parse periods in share names from ini file ( #1629 )
...
Share names live as section headers in `emhttp/state/shares.ini`.
However, periods in ini section headers typically denote nested
hierarchy. This behavior is disabled in unraid's php setup, but cannot
be disabled/configured in the api's current ini parser.
So, we perform post-processing to reconcile nested objects into dot
notation.
Known issue: trailing and leading periods will not be treated as
distinct from shares without them.
i.e. `.share.name.` will conflict with `share.name`, `.share.name`, or
`share.name.`. The last of the conflicting names will be used/exposed.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- New Features
- Support shares with periods and emoji in their names across parsing
and listings.
- Bug Fixes
- Fixed configuration parsing for section names containing periods to
ensure affected shares load and display correctly.
- Standardized reporting of encryption status for all shares.
- Tests
- Expanded coverage to validate parsing and retrieval of shares with
special characters (periods and emoji), ensuring consistent behavior
across modules.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-27 15:14:07 -04:00
Eli Bosley
674323fd87
feat: generated UI API key management + OAuth-like API Key Flows ( #1609 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* API Key Authorization flow with consent screen, callback support, and
a Tools page.
* Schema-driven API Key creation UI with permission presets, templates,
and Developer Authorization Link.
* Effective Permissions preview and a new multi-select permission
control.
* **UI Improvements**
* Mask/toggle API keys, copy-to-clipboard with toasts, improved select
labels, new label styles, tab wrapping, and accordionized color
controls.
* **Documentation**
* Public guide for the API Key authorization flow and scopes added.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-27 12:37:39 -04:00
google-labs-jules[bot]
6947b5d4af
fix(rc.unraid-api): remove profile sourcing ( #1622 )
...
This change removes the line that sources `/etc/profile` from the
`rc.unraid-api` script. This is done to prevent unexpected side effects
and improve the script's isolation.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-08-26 13:11:16 -04:00
Pujit Mehrotra
c4cc54923c
test: add integration tests for deleting invalid notifications ( #1626 )
2025-08-25 13:58:02 -04:00
Pujit Mehrotra
c508366702
feat: add parityCheckStatus field to array query ( #1611 )
...
Responds with a ParityCheck:
```ts
type ParityCheck {
"""Date of the parity check"""
date: DateTime
"""Duration of the parity check in seconds"""
duration: Int
"""Speed of the parity check, in MB/s"""
speed: String
"""Status of the parity check"""
status: ParityCheckStatus!
"""Number of errors during the parity check"""
errors: Int
"""Progress percentage of the parity check"""
progress: Int
"""Whether corrections are being written to parity"""
correcting: Boolean
"""Whether the parity check is paused"""
paused: Boolean
"""Whether the parity check is running"""
running: Boolean
}
enum ParityCheckStatus {
NEVER_RUN = 'never_run',
RUNNING = 'running',
PAUSED = 'paused',
COMPLETED = 'completed',
CANCELLED = 'cancelled',
FAILED = 'failed',
}
```
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- New Features
- Exposes a structured parity-check status for arrays with detailed
fields (status enum: NEVER_RUN, RUNNING, PAUSED, COMPLETED, CANCELLED,
FAILED), date, duration, speed, progress, errors, and running/paused
flags.
- Tests
- Adds comprehensive unit tests covering all parity-check states,
numeric edge cases, speed/date/duration/progress calculations, and
real-world scenarios.
- Refactor
- Safer numeric/date parsing and a new numeric-conversion helper; minor
formatting/cleanup in shared utilities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-08-25 13:22:43 -04:00
Pujit Mehrotra
9df6a3f5eb
fix(connect): clear wanport upon disabling remote access ( #1624 )
...
Resolve #1615 -- lingering wanport caused issue with LAN Access via
Connect, because those URL's are constructed using `wanport`, but since
WAN access would be disabled, NGINX would not listen on the port.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* WAN access settings now correctly gate related options; UPnP only
enables when WAN access is Always.
* Static WAN port is applied only when eligible and is cleared when WAN
access is disabled to avoid unintended overrides.
* Dynamic remote access migration uses sanitized URLs to prevent
propagation of user-provided addressing.
* **Chores**
* Minor ordering and formatting adjustments to reflect updated
precedence and clarify behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-25 13:21:48 -04:00
Pujit Mehrotra
aa588883cc
fix(connect): valid LAN FQDN while remote access is enabled ( #1625 )
...
Stop appending `wanport` to LAN FQDN when remote access is enabled.
2025-08-25 13:15:07 -04:00
Pujit Mehrotra
b2e7801238
fix: retry VMs init for up to 2 min ( #1612 )
2025-08-22 15:29:44 -04:00
Pujit Mehrotra
fd895cacf0
refactor: reuse ChangelogModal in HeaderOsVersion component ( #1607 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- New Features
- View OS release notes directly for the currently displayed version,
with a link to open in a new tab.
- Changelog modal supports viewing a specific release outside the update
flow.
- Improvements
- Changelog modal prioritizes a prettier docs view when available, with
fallback to raw notes.
- Enhanced theming with better dark mode support, including Azure theme
alignment.
- Clearer modal behavior: consistent open/close handling and titles
based on the selected release.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-21 12:11:04 -04:00
github-actions[bot]
6edd3a3d16
chore(main): release 4.15.1 ( #1604 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-20 17:23:07 -04:00
Eli Bosley
ac198d5d1a
fix: minor duplicate click handler and version resolver nullability issue
2025-08-20 17:21:18 -04:00
github-actions[bot]
f1c043fe5f
chore(main): release 4.15.0 ( #1603 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-20 17:13:08 -04:00
Eli Bosley
d0c66020e1
feat(api): restructure versioning information in GraphQL schema ( #1600 )
2025-08-20 17:03:53 -04:00
Eli Bosley
335f949b53
docs: update API documentation for Unraid OS v7.2 integration
...
- Revised language to clarify that the API is built into Unraid OS v7.2 and does not require plugin installation.
- Updated sections for earlier versions to reflect the Unraid Connect plugin's role and access to newer API features.
- Enhanced clarity in the "Get Started" section with step-by-step instructions for both v7.2 and pre-7.2 users.
2025-08-20 15:13:06 -04:00
github-actions[bot]
26aeca3624
chore(main): release 4.14.0 ( #1589 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-19 14:45:26 -04:00
Eli Bosley
2b4c2a264b
feat(api): add cpu utilization query and subscription ( #1590 )
...
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-08-19 14:44:16 -04:00
Eli Bosley
b7798b82f4
feat: enhance OIDC claim evaluation with array handling ( #1596 )
2025-08-19 12:21:17 -04:00
Eli Bosley
426283011a
fix: remove unraid-api sso users & always apply sso modification on < 7.2 ( #1595 )
2025-08-19 12:00:00 -04:00
smdion
effdbcf0f5
Authentik SSO Instruction Clarity ( #1591 )
2025-08-18 17:20:52 -04:00
renovate[bot]
541b0edd35
chore(deps): update actions/checkout action to v5 ( #1581 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-18 13:30:54 -04:00
Eli Bosley
ce63d5dca2
docs: enhance API documentation with structured sections and tips
...
- Added front matter to CLI and API usage documentation for better organization.
- Introduced tips and info boxes to highlight important information and best practices.
- Updated sections with icons for improved visual clarity and navigation.
- Enhanced the OIDC provider setup guide with quick start instructions and detailed configuration tips.
2025-08-15 13:22:50 -04:00
Eli Bosley
bcaacca061
docs: enhance API documentation with web GUI management options
...
- Added tips for managing developer options and API keys through the web interface.
- Updated the GraphQL sandbox enabling instructions to include a web GUI method.
- Clarified API key management and authentication methods, including SSO/OIDC.
- Revised the availability section to reflect native integration in Unraid v7.2 and provide guidance for earlier versions.
2025-08-15 13:19:23 -04:00
Eli Bosley
0afc4e8e9a
docs: enhance OIDC provider setup and roadmap documentation
...
- Updated OIDC provider setup instructions to clarify redirect URI protocol requirements.
- Revised security best practices to emphasize the importance of using HTTPS.
- Expanded the upcoming features section with a detailed roadmap, including completed and planned features for the Unraid API.
2025-08-15 13:14:34 -04:00
Eli Bosley
1a01696dc7
fix: update OIDC provider setup documentation for navigation clarity
...
- Revised navigation instructions to specify the path for accessing OIDC settings.
- Enhanced clarity in the documentation to improve user experience.
2025-08-15 13:07:39 -04:00
Eli Bosley
1bc5251310
fix: update OIDC provider setup documentation for redirect URI and screenshots
...
- Changed the format of screenshot descriptions to italic for consistency.
- Updated redirect URI examples to remove the port number for standard configurations.
- Clarified instructions regarding the use of correct ports in non-standard setups.
2025-08-15 12:56:04 -04:00
Eli Bosley
3a10871918
fix: update Docusaurus PR workflow to process and copy API docs
...
- Renamed the step to "Copy and process docs" for clarity.
- Updated the workflow to copy images to the Docusaurus static directory.
- Added functionality to update image paths in markdown files to use absolute paths pointing to /img/api/.
2025-08-15 12:49:29 -04:00
github-actions[bot]
58b5544bea
chore(main): release 4.13.1 ( #1588 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-15 12:44:16 -04:00
Eli Bosley
a4ff3c4092
fix: insecure routes not working for SSO ( #1587 )
2025-08-15 12:43:22 -04:00
github-actions[bot]
1e0a54d9ef
chore(main): release 4.13.0 ( #1557 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-15 12:09:52 -04:00
Eli Bosley
096fe98710
chore: update reviewers in Docusaurus PR workflow
...
- Removed 'pujitm' and 'mdatelle' from the list of reviewers in the create-docusaurus-pr.yml workflow file to streamline the review process.
2025-08-15 12:04:02 -04:00
renovate[bot]
57217852a3
fix(deps): pin dependencies ( #1586 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 12:01:23 -04:00
Eli Bosley
979a267bc5
feat: implement OIDC provider management in GraphQL API ( #1563 )
...
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-08-15 11:59:21 -04:00
Zack Spear
96c120f9b2
feat: connect settings page updated for responsive webgui ( #1585 )
2025-08-15 09:44:06 -04:00
Eli Bosley
a2c5d2495f
fix: refactor API client to support Unix socket connections ( #1575 )
2025-08-13 16:15:15 -04:00
Eli Bosley
b3216874fa
fix(theme): API key white text on white background ( #1584 )
...
When generating an API key with the black theme active, the key was
displayed with white text on a white background. This was caused by
hardcoded light-theme classes (`bg-gray-50` and `border-gray-200`) on
the `Input` component that displays the key.
This change removes the hardcoded background and border color classes,
allowing the themed styles to be applied correctly.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- Refactor
- Consolidated common UI and form components behind single import entry
points, simplifying usage and making components easier to discover. No
functional changes.
- Style
- Refined API key input appearance for a cleaner, less intrusive look
while preserving readability and existing controls (copy, visibility
toggle, read-only).
- Chores
- Streamlined component import paths to improve developer experience and
consistency across the app. No user-facing behavior changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-08-13 14:43:42 -04:00
renovate[bot]
27dbfde845
chore(deps): update dependency vite-plugin-vue-devtools to v8 ( #1553 )
2025-08-11 22:24:31 -04:00
renovate[bot]
1a25fedd23
chore(deps): pin dependency pnpm to 10.14.0 ( #1578 )
2025-08-11 22:23:44 -04:00
renovate[bot]
ad6aa3b674
fix(deps): update all non-major dependencies ( #1579 )
2025-08-11 22:23:18 -04:00
Pujit Mehrotra
9c4e764c95
chore: add check-node-version pre-install check to monorepo ( #1570 )
...
---
- To see the specific tasks where the Asana app for GitHub is being
used, see below:
- https://app.asana.com/0/0/1210813683607812
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Enforced use of Node.js version 22 during installation.
* Added a new tool to verify Node.js version before installing
dependencies.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-11 11:06:54 -04:00
Pujit Mehrotra
20c2d5b445
feat: add moveDockerEntriesToFolder mutation ( #1569 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added the ability to move multiple Docker entries into a specified
folder using a new mutation in the API.
* **Tests**
* Introduced comprehensive tests to validate moving entries between
folders and collecting ancestor entries, ensuring correct behavior and
error handling in various scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-11 11:03:10 -04:00
renovate[bot]
85a441b51d
chore(deps): update actions/download-artifact action to v5 ( #1573 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/download-artifact](https://redirect.github.com/actions/download-artifact )
| action | major | `v4` -> `v5` |
---
### Release Notes
<details>
<summary>actions/download-artifact (actions/download-artifact)</summary>
###
[`v5`](https://redirect.github.com/actions/download-artifact/compare/v4...v5 )
[Compare
Source](https://redirect.github.com/actions/download-artifact/compare/v4...v5 )
</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 becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0MS41MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-10 20:53:47 -04:00
renovate[bot]
c9577e9bf2
chore(deps): update dependency tailwindcss to v4 ( #1281 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [tailwindcss](https://tailwindcss.com )
([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss ))
| [`3.4.17` ->
`4.1.11`](https://renovatebot.com/diffs/npm/tailwindcss/3.4.17/4.1.11 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>tailwindlabs/tailwindcss (tailwindcss)</summary>
###
[`v4.1.11`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4111---2025-06-26 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.1.10...v4.1.11 )
##### Fixed
- Add heuristic to skip candidate migrations inside `emit(…)`
([#​18330](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18330 ))
- Extract candidates with variants in Clojure/ClojureScript keywords
([#​18338](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18338 ))
- Document `--watch=always` in the CLI's usage
([#​18337](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18337 ))
- Add support for Vite 7 to `@tailwindcss/vite`
([#​18384](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18384 ))
###
[`v4.1.10`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4110---2025-06-11 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.1.9...v4.1.10 )
##### Fixed
- Fix incorrectly generated CSS when using percentages in arbitrary
values with calc, e.g.: `w-[calc(100%-var(--offset))]`
([#​18289](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18289 ))
###
[`v4.1.9`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#419---2025-06-11 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.1.8...v4.1.9 )
##### Fixed
- Correctly parse custom properties with strings containing semicolons
([#​18251](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18251 ))
- Upgrade: Migrate arbitrary modifiers without percentage signs to bare
values (e.g. `/[0.16]` → `/16`)
([#​18184](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18184 ))
- Upgrade: Migrate CSS variable shorthands where fallback value contains
function call
([#​18184](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18184 ))
- Upgrade: Migrate negative arbitrary values to negative bare values
(e.g. `mb-[-32rem]` → `-mb-128`)
([#​18212](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18212 ))
- Upgrade: Do not migrate `blur` in `wire:model.blur`
([#​18216](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18216 ))
- Don't add spaces around CSS dashed idents when formatting math
expressions
([#​18220](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18220 ))
###
[`v4.1.8`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#418---2025-05-27 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.1.7...v4.1.8 )
##### Added
- Improve error messages when `@apply` fails
([#​18059](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18059 ))
##### Fixed
- Upgrade: Do not migrate declarations that look like candidates in
`<style>` blocks
([#​18057](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18057 ),
[18068](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18068 ))
- Upgrade: Don't error when looking for `tailwindcss` in pnpm monorepos
([#​18065](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18065 ))
- Upgrade: Don't error when updating dependencies in pnpm monorepos
([#​18065](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18065 ))
- Upgrade: Migrate deprecated `order-none` to `order-0`
([#​18126](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18126 ))
- Support Leptos `class:` attributes when extracting classes
([#​18093](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18093 ))
- Fix "Cannot read properties of undefined" crash on malformed arbitrary
value
([#​18133](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18133 ))
- Upgrade: Migrate `-mt-[0px]` to `mt-[0px]` instead of the other way
around
([#​18154](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18154 ))
- Fix Haml pre-processing crash when there is no `\n` at the end of the
file
([#​18155](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18155 ))
- Ignore `.pnpm-store` folders by default (can be overridden by `@source
…` rules)
([#​18163](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18163 ))
- Fix PostCSS crash when calling `toJSON()`
([#​18083](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18083 ))
###
[`v4.1.7`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#417---2025-05-15 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.1.6...v4.1.7 )
##### Added
- Upgrade: Migrate bare values to named values
([#​18000](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18000 ))
- Upgrade: Added cache to improve template migration performance
([#​18025](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18025 ))
##### Fixed
- Allow `_` before numbers during candidate extraction
([#​17961](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17961 ))
- Prevent duplicate suggestions when using `@theme` and `@utility`
together
([#​17675](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17675 ))
- Ensure that media queries within `::before` and `::after` pseudo
selectors create valid CSS rules in production builds
([#​17979](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17979 ))
- Ensure that the standalone CLI does not leave temporary files behind
([#​17981](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17981 ))
- Ensure `-rotate-*` utilities properly negate arbitrary values
([#​18014](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18014 ))
- Ignore custom variants using `:merge(…)` selectors in legacy JS
plugins
([#​18020](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18020 ))
- Ensure classes containing `.` are properly extracted from Clojure
files
([#​18038](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18038 ))
- Upgrade: Fix error when using `@import … source(…)`
([#​17963](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17963 ))
- Upgrade: Change casing of utilities with named values to kebab-case to
match updated theme variables
([#​18017](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18017 ))
- Upgrade: Don't migrate strings that match utility names in Vue
attribute bindings other than `class`
([#​18025](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18025 ))
###
[`v4.1.6`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#416---2025-05-09 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.1.5...v4.1.6 )
##### Added
- Upgrade: Automatically convert arbitrary values to named values when
possible (e.g. `h-[1lh]` to `h-lh`)
([#​17831](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17831 ),
[#​17854](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17854 ))
- Upgrade: Update dependencies in parallel for improved performance
([#​17898](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17898 ))
- Add detailed logging about `@source` directives, discovered files and
scanned files when using `DEBUG=*`
([#​17906](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17906 ),
[#​17952](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17952 ))
- Add support for generating source maps in development
([#​17775](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17775 ))
##### Fixed
- Ensure negative arbitrary `scale` values generate negative values
([#​17831](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17831 ))
- Fix HAML extraction with embedded Ruby
([#​17846](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17846 ))
- Don't scan files for utilities when using `@reference`
([#​17836](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17836 ))
- Fix incorrectly replacing `_` with ` ` in arbitrary modifier shorthand
`bg-red-500/(--my_opacity)`
([#​17889](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17889 ))
- Don't scan `.log` files for classes by default
([#​17906](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17906 ))
- Ensure that custom utilities applying other custom utilities don't
swallow nested `@apply` rules
([#​17925](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17925 ))
- Download platform specific package if `optionalDependencies` are
skipped
([#​17929](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17929 ))
###
[`v4.1.5`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#415---2025-04-30 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.1.4...v4.1.5 )
##### Added
- Support using `@tailwindcss/upgrade` to upgrade between versions of
v4.\*
([#​17717](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17717 ))
- Add `h-lh` / `min-h-lh` / `max-h-lh` utilities
([#​17790](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17790 ))
- Transition `display`, `visibility`, `content-visibility`, `overlay`,
and `pointer-events` when using `transition` to simplify
`@starting-style` usage
([#​17812](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17812 ))
##### Fixed
- Don't scan `.geojson` or `.db` files for classes by default
([#​17700](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17700 ),
[#​17711](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17711 ))
- Hide default shadow suggestions when missing default shadow theme keys
([#​17743](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17743 ))
- Replace `_` with `.` in theme suggestions for `@utility` if surrounded
by digits
([#​17733](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17733 ))
- Skip `color-mix(…)` when opacity is `100%`
([#​17815](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17815 ))
- PostCSS: Ensure that errors in imported stylesheets are recoverable
([#​17754](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17754 ))
- Upgrade: Bump all Tailwind CSS related dependencies during upgrade
([#​17763](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17763 ))
- Upgrade: Don't add `-` to variants starting with `@`
([#​17814](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17814 ))
- Upgrade: Don't format stylesheets that didn't change when upgrading
([#​17824](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17824 ))
###
[`v4.1.4`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#414---2025-04-14 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.1.3...v4.1.4 )
##### Added
- Add experimental `@tailwindcss/oxide-wasm32-wasi` target for running
Tailwind in browser environments like StackBlitz
([#​17558](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17558 ))
##### Fixed
- Ensure `color-mix(…)` polyfills do not cause used CSS variables to be
removed
([#​17555](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17555 ))
- Ensure `color-mix(…)` polyfills create fallbacks for theme variables
that reference other theme variables
([#​17562](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17562 ))
- Fix brace expansion in declining ranges like `{10..0..5}` and
`{0..10..-5}`
([#​17591](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17591 ))
- Work around a Chrome rendering bug when using the `skew-*` utilities
([#​17627](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17627 ))
- Ensure container query variant names can contain hyphens
([#​17628](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17628 ))
- Ensure `shadow-inherit`, `inset-shadow-inherit`,
`drop-shadow-inherit`, and `text-shadow-inherit` inherit the shadow
color
([#​17647](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17647 ))
- Ensure compatibility with array tuples used in `fontSize` JS theme
keys
([#​17630](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17630 ))
- Ensure folders with binary file extensions in their names are scanned
for utilities
([#​17595](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17595 ))
- Upgrade: Convert `fontSize` array tuple syntax to CSS theme variables
([#​17630](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17630 ))
###
[`v4.1.3`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#413---2025-04-04 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.1.2...v4.1.3 )
##### Fixed
- Show warning when using unsupported bare value data type in
`--value(…)`
([#​17464](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17464 ))
- PostCSS: Ensure changes to the input CSS file don't generate stale
output when using Turbopack
([#​17554](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17554 ))
- Ensure classes are detected in Ruby's `%w` syntax in Slim templates
([#​17557](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17557 ))
###
[`v4.1.2`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#412---2025-04-03 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.1.1...v4.1.2 )
##### Fixed
- Don't rely on the presence of `@layer base` to polyfill `@property`
([#​17506](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17506 ))
- Support setting multiple inset shadows as arbitrary values
([#​17523](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17523 ))
- Fix `drop-shadow-*` utilities that are defined with multiple shadows
([#​17515](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17515 ))
- PostCSS: Fix race condition when two changes are queued concurrently
([#​17514](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17514 ))
- PostCSS: Ensure files containing `@tailwind utilities` are processed
([#​17514](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17514 ))
- Ensure the `color-mix(…)` polyfill creates fallbacks even when using
colors that cannot be statically analyzed
([#​17513](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17513 ))
- Fix slow incremental builds with `@tailwindcss/vite` and
`@tailwindcss/postscss` (especially on Windows)
([#​17511](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17511 ))
- Vite: Fix missing CSS file in Qwik setups
([#​17533](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17533 ))
###
[`v4.1.1`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#411---2025-04-02 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.1.0...v4.1.1 )
##### Fixed
- Disable padding in `@source inline(…)` brace expansion
([#​17491](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17491 ))
- Inject polyfills after `@import` and body-less `@layer`
([#​17493](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17493 ))
- Ensure `@tailwindcss/cli` does not contain an import for `jiti`
([#​17502](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17502 ))
###
[`v4.1.0`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#410---2025-04-01 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.17...v4.1.0 )
##### Added
- Add `details-content` variant
([#​15319](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15319 ))
- Add `inverted-colors` variant
([#​11693](https://redirect.github.com/tailwindlabs/tailwindcss/pull/11693 ))
- Add `noscript` variant
([#​11929](https://redirect.github.com/tailwindlabs/tailwindcss/pull/11929 ),
[#​17431](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17431 ))
- Add `items-baseline-last` and `self-baseline-last` utilities
([#​13888](https://redirect.github.com/tailwindlabs/tailwindcss/pull/13888 ),
[#​17476](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17476 ))
- Add `pointer-none`, `pointer-coarse`, and `pointer-fine` variants
([#​16946](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16946 ))
- Add `any-pointer-none`, `any-pointer-coarse`, and `any-pointer-fine`
variants
([#​16941](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16941 ))
- Add safe alignment utilities
([#​14607](https://redirect.github.com/tailwindlabs/tailwindcss/pull/14607 ))
- Add `user-valid` and `user-invalid` variants
([#​12370](https://redirect.github.com/tailwindlabs/tailwindcss/pull/12370 ))
- Add `wrap-anywhere`, `wrap-break-word`, and `wrap-normal` utilities
([#​12128](https://redirect.github.com/tailwindlabs/tailwindcss/pull/12128 ))
- Add `@source inline(…)` and `@source not inline(…)`
([#​17147](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17147 ))
- Add `@source not "…"`
([#​17255](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17255 ))
- Add `text-shadow-*` utilities
([#​17389](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17389 ))
- Add `mask-*` utilities
([#​17134](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17134 ))
- Add `bg-{position,size}-*` utilities for arbitrary values
([#​17432](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17432 ))
- Add `shadow-*/<alpha>`, `inset-shadow-*/<alpha>`,
`drop-shadow-*/<alpha>`, and `text-shadow-*/<alpha>` utilities to
control shadow opacity
([#​17398](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17398 ),
[#​17434](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17434 ))
- Add `drop-shadow-<color>` utilities
([#​17434](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17434 ))
- Improve compatibility with older versions of Safari and Firefox
([#​17435](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17435 ))
##### Fixed
- Follow symlinks when resolving `@source` directives
([#​17391](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17391 ))
- Don't scan ignored files for classes when changing an ignored file
triggers a rebuild using `@tailwindcss/cli`
([#​17255](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17255 ))
- Support negated `content` rules in legacy JavaScript configuration
([#​17255](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17255 ))
- Interpret syntax like `@("@​")md:…` as `@md:…` in Razor files
([#​17427](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17427 ))
- Disallow top-level braces, top-level semicolons, and unbalanced
parentheses and brackets in arbitrary values
([#​17361](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17361 ))
- Ensure the `--theme(…)` function still resolves to the CSS variables
when using legacy JS plugins
([#​17458](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17458 ))
- Detect used theme variables in CSS module files
([#​17433](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17433 ),
[#​17467](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17467 ))
##### Changed
- Ignore `node_modules` by default (can be overridden by `@source …`
rules)
([#​17255](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17255 ))
- `@source` rules that include file extensions or point inside
`node_modules/` folders no longer consider your `.gitignore` rules
([#​17255](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17255 ))
- Deprecate `bg-{left,right}-{top,bottom}` in favor of
`bg-{top,bottom}-{left,right}` utilities
([#​17378](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17378 ))
- Deprecate `object-{left,right}-{top,bottom}` in favor of
`object-{top,bottom}-{left,right}` utilities
([#​17437](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17437 ))
###
[`v4.0.17`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4017---2025-03-26 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.16...v4.0.17 )
##### Fixed
- Fix an issue causing the CLI to hang when processing Ruby files
([#​17383](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17383 ))
###
[`v4.0.16`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4016---2025-03-25 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.15...v4.0.16 )
##### Added
- Add support for literal values in `--value('…')` and `--modifier('…')`
([#​17304](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17304 ))
##### Fixed
- Fix class extraction followed by `(` in Pug
([#​17320](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17320 ))
- Ensure `@keyframes` for theme animations are emitted if they are
referenced following a comma
([#​17352](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17352 ))
- Vite: Ensure that updates to an imported CSS file are properly
propagated after updating source files
([#​17347](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17347 ))
- Pre process `Slim` templates embedded in Ruby files
([#​17336](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17336 ))
- Error when input and output files resolve to the same file when using
the CLI
([#​17311](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17311 ))
- Add missing suggestions when `--spacing(--value(integer, number))` is
used
([#​17308](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17308 ))
- Add `::-webkit-details-marker` pseudo to `marker` variant
([#​17362](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17362 ))
###
[`v4.0.15`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4015---2025-03-20 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.14...v4.0.15 )
##### Fixed
- Fix incorrect angle in `-bg-conic-*` utilities
([#​17174](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17174 ))
- Fix `border-[12px_4px]` being interpreted as a `border-color` instead
of a `border-width`
([#​17248](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17248 ))
- Work around a crash in Safari 16.4 and 16.5 when using the default
Preflight styles
([#​17306](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17306 ))
- Pre-process `<template lang="…">` in Vue files
([#​17252](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17252 ))
- Ensure that all CSS variables used by Preflight are prefixed
([#​17036](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17036 ))
- Prevent segfault when loaded in a worker thread on Linux
([#​17276](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17276 ))
- Ensure multiple `--value(…)` or `--modifier(…)` calls don't delete
subsequent declarations
([#​17273](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17273 ))
- Fix class extraction followed by `(` in Slim
([#​17278](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17278 ))
- Export `PluginUtils` from `tailwindcss/plugin` for compatibility with
v3
([#​17299](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17299 ))
- Remove redundant `line-height: initial` from Preflight
([#​15212](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15212 ))
- Increase Standalone hardware compatibility on macOS x64 builds
([#​17267](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17267 ))
- Ensure that the CSS file rebuilds if a new CSS variable is used from
templates
([#​17301](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17301 ))
##### Changed
- The `--theme(…)` function now returns CSS variables from your theme
variables unless used inside positions where CSS variables are invalid
(e.g. inside `@media` queries)
([#​17036](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17036 ))
###
[`v4.0.14`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4014---2025-03-13 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.13...v4.0.14 )
##### Fixed
- Do not extract candidates with JS string interpolation `${`
([#​17142](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17142 ))
- Fix extraction of variants containing `.` character
([#​17153](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17153 ))
- Fix extracting candidates in Clojure/ClojureScript
([#​17087](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17087 ))
###
[`v4.0.13`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4013---2025-03-11 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.12...v4.0.13 )
##### Fixed
- Fix Haml pre-processing
([#​17051](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17051 ))
- Ensure `.node` and `.wasm` files are not scanned for utilities
([#​17123](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17123 ))
- Improve performance when scanning JSON files
([#​17125](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17125 ))
- Fix extracting candidates containing dots in Haml, Pug, and Slim pre
processors
([#​17094](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17094 ),
[#​17085](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17085 ),
[#​17113](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17113 ))
- Don't create invalid CSS when encountering a link wrapped in square
brackets
([#​17129](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17129 ))
###
[`v4.0.12`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4012---2025-03-07 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.11...v4.0.12 )
##### Fixed
- Vite: Fix `url(…)` rebasing in transitively imported CSS files
([#​16965](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16965 ))
- PostCSS: Rebase `url(…)`s in imported CSS files
([#​16965](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16965 ))
- Ensure utilities are sorted based on their actual property order
([#​16995](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16995 ))
- Ensure strings in Pug and Slim templates are handled correctly
([#​17000](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17000 ))
- Ensure classes between `}` and `{` are properly extracted
([#​17001](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17001 ))
- Fix `razor`/`cshtml` pre-processing
([#​17027](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17027 ))
- Ensure extracting candidates from JS embedded in a PHP string works as
expected
([#​17031](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17031 ))
###
[`v4.0.11`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4011---2025-03-06 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.10...v4.0.11 )
##### Fixed
- Ensure classes containing `--` are extracted correctly
([#​16972](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16972 ))
- Ensure classes containing numbers followed by dash or underscore are
extracted correctly
([#​16980](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16980 ))
- Ensure arbitrary container queries are extracted correctly
([#​16984](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16984 ))
- Ensure classes ending in `[` are extracted in Slim templating language
([#​16985](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16985 ))
- Ensure arbitrary variables with data types are extracted correctly
([#​16986](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16986 ))
###
[`v4.0.10`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4010---2025-03-05 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.9...v4.0.10 )
##### Added
- Add `col-<number>` and `row-<number>` utilities for `grid-column` and
`grid-row`
([#​15183](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15183 ))
##### Fixed
- Ensure `not-*` does not remove `:is(…)` from variants
([#​16825](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16825 ))
- Ensure `@keyframes` are correctly emitted when using a prefix
([#​16850](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16850 ))
- Don't swallow `@utility` declarations when `@apply` is used in nested
rules
([#​16940](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16940 ))
- Ensure `outline-hidden` behaves like `outline-none` outside of forced
colors mode
([#​16943](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16943 ))
- Allow `!important` on CSS variables again
([#​16873](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16873 ))
- Vite: Do not crash when encountering an `.svg` file with `#` or `?` in
the filename
([#​16957](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16957 ))
- Ensure utilities are properly detected within square brackets
([#​16306](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16306 ))
- Ensure utilities are properly detected using Angular's conditional
class binding syntax
([#​16306](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16306 ))
- Ensure utilities starting with numbers are properly extracted from
Slim templates
([#​16306](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16306 ))
- Discard arbitrary property candidates that have guaranteed-invalid
property names
([#​16306](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16306 ))
##### Changed
- Removed `max-w-auto` and `max-h-auto` utilities as they generate
invalid CSS
([#​16917](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16917 ))
- Replaced the existing candidate extractor with a brand new extractor
to improve maintainability, correctness, and performance
([#​16306](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16306 ))
###
[`v4.0.9`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#409---2025-02-25 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.8...v4.0.9 )
##### Fixed
- Make JS APIs available to plugins and configs in the Standalone CLI
([#​15934](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15934 ))
- Vite: Don't crash when importing a virtual module from JavaScript that
ends in `.css`
([#​16780](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16780 ))
- Fix an issue where `@reference "…"` would sometimes omit keyframe
animations
([#​16774](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16774 ))
- Ensure `z-*!` utilities are properly marked as `!important`
([#​16795](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16795 ))
- Read UTF-8 CSS files that start with a byte-order mark (BOM)
([#​16796](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16796 ))
- Ensure nested functions in selectors used with JavaScript plugins are
not truncated
([#​16802](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16802 ))
##### Changed
- Emit variable fallbacks when using `@reference "…"` instead of
duplicate CSS variable declarations
([#​16774](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16774 ))
###
[`v4.0.8`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#408---2025-02-21 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.7...v4.0.8 )
##### Added
- Allow `@import` with `theme(…)` options for stylesheets that contain
more than just `@theme` rules
([#​16514](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16514 ))
##### Fixed
- Don't add `!important` to CSS variable declarations when using the
important modifier
([#​16668](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16668 ))
- Vite: Ignore files and directories specified in your `.gitignore` file
when using automatic source
detection([#​16631](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16631 ))
- Vite: Don't rely on the module graph for detecting candidates to
ensure setups with multiple Vite builds work as expected
([#​16631](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16631 ))
- Vite: Ensure Astro production builds always contain classes used in
client-only components
([#​16631](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16631 ))
- Vite: Always scan raw file contents for utility classes before any
other transforms have been applied to ensure utility classes are scanned
without any additional escaping
([#​16631](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16631 ))
- Ensure utilities with more declarations are always sorted before
utilities with fewer declarations when utilities only define CSS
variables
([#​16715](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16715 ))
- Only include `translate-z-px` utilities once in compiled CSS
([#​16718](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16718 ))
##### Changed
- Don't include theme variables that aren't used in compiled CSS
([#​16211](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16211 ),
[#​16676](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16676 ))
###
[`v4.0.7`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#407---2025-02-18 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.6...v4.0.7 )
##### Fixed
- Export `tailwindcss/lib/util/flattenColorPalette.js` for backward
compatibility
([#​16411](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16411 ))
- Fix sorting of numeric utility suggestions when they have different
magnitudes
([#​16414](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16414 ))
- Show suggestions for fractions in IntelliSense
([#​16353](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16353 ))
- Don’t replace `_` in suggested theme keys
([#​16433](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16433 ))
- Ensure `--default-outline-width` can be used to change the
`outline-width` value of the `outline` utility
([#​16469](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16469 ))
- Ensure drop shadow utilities don't inherit unexpectedly
([#​16471](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16471 ))
- Export config and plugin types from `tailwindcss/plugin` for backward
compatibility
([#​16505](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16505 ))
- Ensure JavaScript plugins that emit nested rules referencing the
utility name work as expected
([#​16539](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16539 ))
- Statically link Visual Studio redistributables in `@tailwindcss/oxide`
Windows builds
([#​16602](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16602 ))
- Ensure that Next.js splat routes are scanned for classes
([#​16457](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16457 ))
- Pin exact version of `tailwindcss` in `@tailwindcss/*` packages
([#​16623](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16623 ))
- Upgrade: Report errors when updating dependencies
([#​16504](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16504 ))
- Upgrade: Ensure a `darkMode` JS config setting with block syntax
converts to use `@slot`
([#​16507](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16507 ))
- Upgrade: Ensure the latest version of `tailwindcss` and
`@tailwindcss/postcss` are installed when upgrading
([#​16620](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16620 ))
###
[`v4.0.6`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#406---2025-02-10 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.5...v4.0.6 )
##### Fixed
- Revert change to no longer include theme variables that aren't used in
compiled CSS
([#​16403](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16403 ))
- Upgrade: Don't migrate `blur` to `blur-sm` when used with Next.js
`<Image placeholder="blur" />`
([#​16405](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16405 ))
###
[`v4.0.5`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#405---2025-02-08 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.4...v4.0.5 )
##### Added
- Add `@theme static` option for always including theme variables in
compiled CSS
([#​16211](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16211 ))
##### Fixed
- Remove rogue `console.log` from `@tailwindcss/vite`
([#​16307](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16307 ))
##### Changed
- Don't include theme variables that aren't used in compiled CSS
([#​16211](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16211 ))
###
[`v4.0.4`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#404---2025-02-06 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.3...v4.0.4 )
##### Fixed
- Fix a crash when setting JS theme values to `null`
([#​16210](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16210 ))
- Ensure escaped underscores in CSS variables in arbitrary values are
properly unescaped
([#​16206](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16206 ))
- Ensure that the `containers` JS theme key is added to the
`--container-*` namespace
([#​16169](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16169 ))
- Ensure theme `@keyframes` are generated even if an `--animation-*`
variable spans multiple lines
([#​16237](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16237 ))
- Vite: Skip parsing stylesheets with the `?commonjs-proxy` flag
([#​16238](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16238 ))
- Fix `order-first` and `order-last` for Firefox
([#​16266](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16266 ))
- Fix support for older instruction sets on Linux x64 builds of the
standalone CLI
([#​16244](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16244 ))
- Ensure `NODE_PATH` is respected when resolving JavaScript and CSS
files
([#​16274](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16274 ))
- Ensure Node addons are packaged correctly with FreeBSD builds
([#​16277](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16277 ))
- Fix an issue where `@variant` inside a referenced stylesheet could
cause a stack overflow
([#​16300](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16300 ))
###
[`v4.0.3`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#403---2025-02-01 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.2...v4.0.3 )
##### Fixed
- Fix incorrect removal of `@import url();`
([#​16144](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16144 ))
###
[`v4.0.2`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#402---2025-01-31 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.1...v4.0.2 )
##### Fixed
- Only generate positive `grid-cols-*` and `grid-rows-*` utilities
([#​16020](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16020 ))
- Ensure escaped theme variables are handled correctly
([#​16064](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16064 ))
- Ensure we process Tailwind CSS features when only using `@reference`
or `@variant`
([#​16057](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16057 ))
- Refactor gradient implementation to work around
[prettier/prettier#17058 ](https://redirect.github.com/prettier/prettier/issues/17058 )
([#​16072](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16072 ))
- Vite: Ensure hot-reloading works with SolidStart setups
([#​16052](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16052 ))
- Vite: Fix a crash when starting the development server in SolidStart
setups
([#​16052](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16052 ))
- Vite: Don't rebase URLs that appear to be aliases
([#​16078](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16078 ))
- Vite: Transform `<style>` blocks in HTML files
([#​16069](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16069 ))
- Prevent camel-casing CSS custom properties added by JavaScript plugins
([#​16103](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16103 ))
- Do not emit `@keyframes` in `@theme reference`
([#​16120](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16120 ))
- Discard invalid declarations when parsing CSS
([#​16093](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16093 ))
- Do not emit empty CSS rules and at-rules
([#​16121](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16121 ))
- Handle `@variant` when at the top-level of a stylesheet
([#​16129](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16129 ))
###
[`v4.0.1`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#4017---2025-03-26 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v4.0.0...v4.0.1 )
##### Fixed
- Fix an issue causing the CLI to hang when processing Ruby files
([#​17383](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17383 ))
###
[`v4.0.0`](https://redirect.github.com/tailwindlabs/tailwindcss/blob/HEAD/CHANGELOG.md#400---2025-01-21 )
[Compare
Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v3.4.17...v4.0.0 )
##### Added
- [New high-performance
engine](https://tailwindcss.com/blog/tailwindcss-v4#new-high-performance-engine )
— where full builds are up to 5x faster, and incremental builds are over
100x faster — and measured in microseconds.
- [Designed for the modern
web](https://tailwindcss.com/blog/tailwindcss-v4#designed-for-the-modern-web )
— built on cutting-edge CSS features like cascade layers, registered
custom properties with `@property`, and `color-mix()`.
- [Simplified
installation](https://tailwindcss.com/blog/tailwindcss-v4#simplified-installation )
— fewer dependencies, zero configuration, and just a single line of code
in your CSS file.
- [First-party Vite
plugin](https://tailwindcss.com/blog/tailwindcss-v4#first-party-vite-plugin )
— tight integration for maximum performance and minimum configuration.
- [Automatic content
detection](https://tailwindcss.com/blog/tailwindcss-v4#automatic-content-detection )
— all of your template files are discovered automatically, with no
configuration required.
- [Built-in import
support](https://tailwindcss.com/blog/tailwindcss-v4#built-in-import-support )
— no additional tooling necessary to bundle multiple CSS files.
- [CSS-first
configuration](https://tailwindcss.com/blog/tailwindcss-v4#css-first-configuration )
— a reimagined developer experience where you customize and extend the
framework directly in CSS instead of a JavaScript configuration file.
- [CSS theme
variables](https://tailwindcss.com/blog/tailwindcss-v4#css-theme-variables )
— all of your design tokens exposed as native CSS variables so you can
access them anywhere.
- [Dynamic utility values and
variants](https://tailwindcss.com/blog/tailwindcss-v4#dynamic-utility-values-and-variants )
— stop guessing what values exist in your spacing scale, or extending
your configuration for things like basic data attributes.
- [Modernized P3 color
palette](https://tailwindcss.com/blog/tailwindcss-v4#modernized-p3-color-palette )
— a redesigned, more vivid color palette that takes full advantage of
modern display technology.
- [Container
queries](https://tailwindcss.com/blog/tailwindcss-v4#container-queries )
— first-class APIs for styling elements based on their container size,
no plugins required.
- [New 3D transform
utilities](https://tailwindcss.com/blog/tailwindcss-v4#new-3d-transform-utilities )
— transform elements in 3D space directly in your HTML.
- [Expanded gradient
APIs](https://tailwindcss.com/blog/tailwindcss-v4#expanded-gradient-apis )
— radial and conic gradients, interpolation modes, and more.
- [@​starting-style
support](https://tailwindcss.com/blog/tailwindcss-v4#starting-style-support )
— a new variant you can use to create enter and exit transitions,
without the need for JavaScript.
- [not-\*
variant](https://tailwindcss.com/blog/tailwindcss-v4#not-variant ) —
style an element only when it doesn't match another variant, custom
selector, or media or feature query.
- [Even more new utilities and
variants](https://tailwindcss.com/blog/tailwindcss-v4#even-more-new-utilities-and-variants )
— including support for `color-scheme`, `field-sizing`, complex shadows,
`inert`, and more.
Start using Tailwind CSS v4.0 today by [installing it in a new
project](https://tailwindcss.com/docs/installation/ ), or playing with it
directly in the browser on [Tailwind
Play](https://play.tailwindcss.com/ ).
For existing projects, we've published a comprehensive [upgrade
guide](https://tailwindcss.com/docs/upgrade-guide ) and built an
[automated upgrade
tool](https://tailwindcss.com/docs/upgrade-guide#using-the-upgrade-tool )
to get you on the latest version as quickly and painlessly as possible.
For a deep-dive into everything that's new, [check out the announcement
post](https://tailwindcss.com/blog/tailwindcss-v4 ).
</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 becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjQxLjQwLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-10 20:52:43 -04:00
renovate[bot]
18b5209087
fix(deps): update all non-major dependencies ( #1543 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence | Type | Update |
|---|---|---|---|---|---|
| [@apollo/client](https://www.apollographql.com/docs/react/ )
([source](https://redirect.github.com/apollographql/apollo-client )) |
[`3.13.8` ->
`3.13.9`](https://renovatebot.com/diffs/npm/@apollo%2fclient/3.13.8/3.13.9 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@apollo/client](https://www.apollographql.com/docs/react/ )
([source](https://redirect.github.com/apollographql/apollo-client )) |
[`3.13.8` ->
`3.13.9`](https://renovatebot.com/diffs/npm/@apollo%2fclient/3.13.8/3.13.9 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | patch |
| [@apollo/client](https://www.apollographql.com/docs/react/ )
([source](https://redirect.github.com/apollographql/apollo-client )) |
[`3.13.8` ->
`3.13.9`](https://renovatebot.com/diffs/npm/@apollo%2fclient/3.13.8/3.13.9 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [@eslint/js](https://eslint.org )
([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js ))
| [`9.32.0` ->
`9.33.0`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.32.0/9.33.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@floating-ui/dom](https://floating-ui.com )
([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/dom ))
| [`1.7.2` ->
`1.7.3`](https://renovatebot.com/diffs/npm/@floating-ui%2fdom/1.7.2/1.7.3 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@floating-ui/vue](https://floating-ui.com/docs/vue )
([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/vue ))
| [`1.1.7` ->
`1.1.8`](https://renovatebot.com/diffs/npm/@floating-ui%2fvue/1.1.7/1.1.8 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
|
[@ianvs/prettier-plugin-sort-imports](https://redirect.github.com/ianvs/prettier-plugin-sort-imports )
| [`4.5.1` ->
`4.6.1`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/4.5.1/4.6.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@nestjs/common](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common ))
| [`11.1.5` ->
`11.1.6`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/11.1.5/11.1.6 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | patch |
| [@nestjs/common](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common ))
| [`11.1.5` ->
`11.1.6`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/11.1.5/11.1.6 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [@nestjs/common](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common ))
| [`11.1.5` ->
`11.1.6`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/11.1.5/11.1.6 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@nestjs/core](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core ))
| [`11.1.5` ->
`11.1.6`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/11.1.5/11.1.6 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | patch |
| [@nestjs/core](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core ))
| [`11.1.5` ->
`11.1.6`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/11.1.5/11.1.6 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [@nestjs/core](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core ))
| [`11.1.5` ->
`11.1.6`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/11.1.5/11.1.6 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@nestjs/platform-fastify](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-fastify ))
| [`11.1.5` ->
`11.1.6`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-fastify/11.1.5/11.1.6 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@nestjs/testing](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/testing ))
| [`11.1.5` ->
`11.1.6`](https://renovatebot.com/diffs/npm/@nestjs%2ftesting/11.1.5/11.1.6 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [@nuxt/eslint](https://redirect.github.com/nuxt/eslint )
([source](https://redirect.github.com/nuxt/eslint/tree/HEAD/packages/module ))
| [`1.7.1` ->
`1.8.0`](https://renovatebot.com/diffs/npm/@nuxt%2feslint/1.7.1/1.8.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@rollup/rollup-linux-x64-gnu](https://rollupjs.org/ )
([source](https://redirect.github.com/rollup/rollup )) | [`4.46.1` ->
`4.46.2`](https://renovatebot.com/diffs/npm/@rollup%2frollup-linux-x64-gnu/4.46.1/4.46.2 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| optionalDependencies | patch |
|
[@storybook/addon-docs](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/docs )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/docs ))
| [`9.0.18` ->
`9.1.1`](https://renovatebot.com/diffs/npm/@storybook%2faddon-docs/9.0.18/9.1.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links ))
| [`9.0.18` ->
`9.1.1`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/9.0.18/9.1.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[@storybook/builder-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/builders/builder-vite/#readme )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/builders/builder-vite ))
| [`9.0.18` ->
`9.1.1`](https://renovatebot.com/diffs/npm/@storybook%2fbuilder-vite/9.0.18/9.1.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[@storybook/vue3-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/vue3-vite )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/vue3-vite ))
| [`9.0.18` ->
`9.1.1`](https://renovatebot.com/diffs/npm/@storybook%2fvue3-vite/9.0.18/9.1.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@swc/core](https://swc.rs )
([source](https://redirect.github.com/swc-project/swc )) | [`1.13.2` ->
`1.13.3`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.13.2/1.13.3 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@types/inquirer](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/inquirer )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/inquirer ))
| [`9.0.8` ->
`9.0.9`](https://renovatebot.com/diffs/npm/@types%2finquirer/9.0.8/9.0.9 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ))
| [`22.16.5` ->
`22.17.1`](https://renovatebot.com/diffs/npm/@types%2fnode/22.16.5/22.17.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin ))
| [`8.38.0` ->
`8.39.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.38.0/8.39.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [cache-manager](https://redirect.github.com/jaredwray/cacheable )
([source](https://redirect.github.com/jaredwray/cacheable/tree/HEAD/packages/cache-manager ))
| [`7.0.1` ->
`7.1.1`](https://renovatebot.com/diffs/npm/cache-manager/7.0.1/7.1.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [chalk](https://redirect.github.com/chalk/chalk ) | [`5.4.1` ->
`5.5.0`](https://renovatebot.com/diffs/npm/chalk/5.4.1/5.5.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [cron](https://redirect.github.com/kelektiv/node-cron ) | [`4.3.2` ->
`4.3.3`](https://renovatebot.com/diffs/npm/cron/4.3.2/4.3.3 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [eslint](https://eslint.org )
([source](https://redirect.github.com/eslint/eslint )) | [`9.32.0` ->
`9.33.0`](https://renovatebot.com/diffs/npm/eslint/9.32.0/9.33.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[eslint-plugin-prettier](https://redirect.github.com/prettier/eslint-plugin-prettier )
| [`5.5.3` ->
`5.5.4`](https://renovatebot.com/diffs/npm/eslint-plugin-prettier/5.5.3/5.5.4 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[eslint-plugin-storybook](https://redirect.github.com/storybookjs/storybook/code/lib/eslint-plugin#readme )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/eslint-plugin ))
| [`9.0.18` ->
`9.1.1`](https://renovatebot.com/diffs/npm/eslint-plugin-storybook/9.0.18/9.1.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [eslint-plugin-vue](https://eslint.vuejs.org )
([source](https://redirect.github.com/vuejs/eslint-plugin-vue )) |
[`10.3.0` ->
`10.4.0`](https://renovatebot.com/diffs/npm/eslint-plugin-vue/10.3.0/10.4.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [fs-extra](https://redirect.github.com/jprichardson/node-fs-extra ) |
[`11.3.0` ->
`11.3.1`](https://renovatebot.com/diffs/npm/fs-extra/11.3.0/11.3.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [inquirer](https://redirect.github.com/SBoudrias/Inquirer.js ) |
[`12.8.2` ->
`12.9.1`](https://renovatebot.com/diffs/npm/inquirer/12.8.2/12.9.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [lint-staged](https://redirect.github.com/lint-staged/lint-staged ) |
[`16.1.2` ->
`16.1.5`](https://renovatebot.com/diffs/npm/lint-staged/16.1.2/16.1.5 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [lucide-vue-next](https://lucide.dev )
([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next ))
| [`0.528.0` ->
`0.539.0`](https://renovatebot.com/diffs/npm/lucide-vue-next/0.528.0/0.539.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [marked](https://marked.js.org )
([source](https://redirect.github.com/markedjs/marked )) | [`16.1.1` ->
`16.1.2`](https://renovatebot.com/diffs/npm/marked/16.1.1/16.1.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [node](https://nodejs.org )
([source](https://redirect.github.com/nodejs/node )) | `22.17.1` ->
`22.18.0` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| | minor |
| [node](https://redirect.github.com/actions/node-versions ) | `22.17.1`
-> `22.18.0` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| uses-with | minor |
| [node](https://redirect.github.com/nodejs/node ) |
`22.17.1-bookworm-slim` -> `22.18.0-bookworm-slim` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| final | minor |
| [nuxt](https://nuxt.com )
([source](https://redirect.github.com/nuxt/nuxt/tree/HEAD/packages/nuxt ))
| [`3.17.7` ->
`3.18.1`](https://renovatebot.com/diffs/npm/nuxt/3.17.7/3.18.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [pino](https://getpino.io )
([source](https://redirect.github.com/pinojs/pino )) | [`9.7.0` ->
`9.8.0`](https://renovatebot.com/diffs/npm/pino/9.7.0/9.8.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [pino-pretty](https://redirect.github.com/pinojs/pino-pretty ) |
[`13.0.0` ->
`13.1.1`](https://renovatebot.com/diffs/npm/pino-pretty/13.0.0/13.1.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [pnpm](https://pnpm.io )
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm )) |
[`10.13.1` ->
`10.14.0`](https://renovatebot.com/diffs/npm/pnpm/10.13.1/10.14.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| packageManager | minor |
| [pnpm](https://pnpm.io )
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm )) |
[`10.13.1` ->
`10.14.0`](https://renovatebot.com/diffs/npm/pnpm/10.13.1/10.14.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| engines | minor |
| [python](https://redirect.github.com/actions/python-versions ) |
`3.13.5` -> `3.13.6` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| uses-with | patch |
| [reka-ui](https://redirect.github.com/unovue/reka-ui ) | [`2.4.0` ->
`2.4.1`](https://renovatebot.com/diffs/npm/reka-ui/2.4.0/2.4.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
|
[simple-git-hooks](https://redirect.github.com/toplenboren/simple-git-hooks )
| [`2.13.0` ->
`2.13.1`](https://renovatebot.com/diffs/npm/simple-git-hooks/2.13.0/2.13.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [storybook](https://storybook.js.org )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/core ))
| [`9.0.18` ->
`9.1.1`](https://renovatebot.com/diffs/npm/storybook/9.0.18/9.1.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[tw-animate-css](https://redirect.github.com/Wombosvideo/tw-animate-css )
| [`1.3.5` ->
`1.3.6`](https://renovatebot.com/diffs/npm/tw-animate-css/1.3.5/1.3.6 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [typescript](https://www.typescriptlang.org/ )
([source](https://redirect.github.com/microsoft/TypeScript )) | [`5.8.3`
-> `5.9.2`](https://renovatebot.com/diffs/npm/typescript/5.8.3/5.9.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ))
| [`8.38.0` ->
`8.39.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.38.0/8.39.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [vite](https://vite.dev )
([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite ))
| [`7.0.6` ->
`7.1.1`](https://renovatebot.com/diffs/npm/vite/7.0.6/7.1.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [vue-tsc](https://redirect.github.com/vuejs/language-tools )
([source](https://redirect.github.com/vuejs/language-tools/tree/HEAD/packages/tsc ))
| [`3.0.4` ->
`3.0.5`](https://renovatebot.com/diffs/npm/vue-tsc/3.0.4/3.0.5 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [vuetify](https://vuetifyjs.com )
([source](https://redirect.github.com/vuetifyjs/vuetify/tree/HEAD/packages/vuetify ))
| [`3.9.2` ->
`3.9.4`](https://renovatebot.com/diffs/npm/vuetify/3.9.2/3.9.4 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [wrangler](https://redirect.github.com/cloudflare/workers-sdk )
([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler ))
| [`4.26.0` ->
`4.28.1`](https://renovatebot.com/diffs/npm/wrangler/4.26.0/4.28.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [zx](https://google.github.io/zx/ )
([source](https://redirect.github.com/google/zx )) | [`8.7.1` ->
`8.8.0`](https://renovatebot.com/diffs/npm/zx/8.3.2/8.8.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [zx](https://google.github.io/zx/ )
([source](https://redirect.github.com/google/zx )) | [`8.7.1` ->
`8.8.0`](https://renovatebot.com/diffs/npm/zx/8.7.1/8.8.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
---
### Release Notes
<details>
<summary>apollographql/apollo-client (@​apollo/client)</summary>
###
[`v3.13.9`](https://redirect.github.com/apollographql/apollo-client/blob/HEAD/CHANGELOG.md#3139 )
[Compare
Source](https://redirect.github.com/apollographql/apollo-client/compare/v3.13.8...5c202cf3b26dbcffe8314fd6af917dec1b77c65c )
##### Patch Changes
-
[#​12804](https://redirect.github.com/apollographql/apollo-client/pull/12804 )
[`32c9aa9`](32c9aa9215 )
Thanks [@​phryneas](https://redirect.github.com/phryneas )! - Fix a
possible race condition on queries that were reobserved before they were
subscribed to the first time.
</details>
<details>
<summary>eslint/eslint (@​eslint/js)</summary>
###
[`v9.33.0`](https://redirect.github.com/eslint/eslint/compare/v9.32.0...ad283717ed4764a171120ca7c6cba82a78fa024c )
[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v9.32.0...v9.33.0 )
</details>
<details>
<summary>floating-ui/floating-ui (@​floating-ui/dom)</summary>
###
[`v1.7.3`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/dom/CHANGELOG.md#173 )
[Compare
Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/dom@1.7.2...@floating-ui/dom@1.7.3 )
##### Patch Changes
- Update dependencies: `@floating-ui/core@1.7.3`
</details>
<details>
<summary>floating-ui/floating-ui (@​floating-ui/vue)</summary>
###
[`v1.1.8`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/vue/CHANGELOG.md#118 )
[Compare
Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/vue@1.1.7...@floating-ui/vue@1.1.8 )
##### Patch Changes
- Update dependencies: `@floating-ui/dom@1.7.3`
</details>
<details>
<summary>ianvs/prettier-plugin-sort-imports
(@​ianvs/prettier-plugin-sort-imports)</summary>
###
[`v4.6.1`](https://redirect.github.com/ianvs/prettier-plugin-sort-imports/compare/v4.6.0...ec4ea16eb0cddec2b80bf75625530e5b495b08f5 )
[Compare
Source](https://redirect.github.com/ianvs/prettier-plugin-sort-imports/compare/v4.6.0...v4.6.1 )
###
[`v4.6.0`](https://redirect.github.com/IanVS/prettier-plugin-sort-imports/releases/tag/v4.6.0 )
[Compare
Source](https://redirect.github.com/ianvs/prettier-plugin-sort-imports/compare/v4.5.1...v4.6.0 )
#### What's Changed
- Be more tolerant of babel parse errors by
[@​IanVS](https://redirect.github.com/IanVS ) in
[https://github.com/IanVS/prettier-plugin-sort-imports/pull/230 ](https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/230 )
- Add support for ember template tags by
[@​IanVS](https://redirect.github.com/IanVS ) in
[https://github.com/IanVS/prettier-plugin-sort-imports/pull/231 ](https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/231 )
**Full Changelog**:
https://github.com/IanVS/prettier-plugin-sort-imports/compare/v4.5.1...v4.6.0
</details>
<details>
<summary>nestjs/nest (@​nestjs/common)</summary>
###
[`v11.1.6`](https://redirect.github.com/nestjs/nest/compare/v11.1.5...35c3ded6dbf3f23f917ae88d0ed966932788cae6 )
[Compare
Source](https://redirect.github.com/nestjs/nest/compare/v11.1.5...v11.1.6 )
</details>
<details>
<summary>nestjs/nest (@​nestjs/core)</summary>
###
[`v11.1.6`](https://redirect.github.com/nestjs/nest/compare/v11.1.5...35c3ded6dbf3f23f917ae88d0ed966932788cae6 )
[Compare
Source](https://redirect.github.com/nestjs/nest/compare/v11.1.5...v11.1.6 )
</details>
<details>
<summary>nestjs/nest (@​nestjs/platform-fastify)</summary>
###
[`v11.1.6`](https://redirect.github.com/nestjs/nest/releases/tag/v11.1.6 )
[Compare
Source](https://redirect.github.com/nestjs/nest/compare/v11.1.5...v11.1.6 )
#### v11.1.6 (2025-08-07)
##### Bug fixes
- `core`
- [#​15504](https://redirect.github.com/nestjs/nest/pull/15504 )
fix(core): fix race condition in class dependency resolution from
imported modules
([@​hajekjiri](https://redirect.github.com/hajekjiri ))
- [#​15469](https://redirect.github.com/nestjs/nest/pull/15469 )
fix(core): attach root inquirer for nested transient providers
([@​kamilmysliwiec](https://redirect.github.com/kamilmysliwiec ))
- `microservices`
- [#​15508](https://redirect.github.com/nestjs/nest/pull/15508 )
fix(microservices): report correct buffer length in exception
([@​kim-sung-jee](https://redirect.github.com/kim-sung-jee ))
- [#​15492](https://redirect.github.com/nestjs/nest/pull/15492 )
fix(microservices): fix kafka serilization of class instances
([@​LeonBiersch](https://redirect.github.com/LeonBiersch ))
##### Dependencies
- `platform-fastify`
- [#​15493](https://redirect.github.com/nestjs/nest/pull/15493 )
chore(deps): bump
[@​fastify/cors](https://redirect.github.com/fastify/cors ) from
11.0.1 to 11.1.0
([@​dependabot\[bot\]](https://redirect.github.com/apps/dependabot ))
##### Committers: 6
- Jiri Hajek
([@​hajekjiri](https://redirect.github.com/hajekjiri ))
- Kamil Mysliwiec
([@​kamilmysliwiec](https://redirect.github.com/kamilmysliwiec ))
- Leon Biersch
([@​LeonBiersch](https://redirect.github.com/LeonBiersch ))
- Seongjee Kim
([@​kim-sung-jee](https://redirect.github.com/kim-sung-jee ))
- [@​premierbell](https://redirect.github.com/premierbell )
- pTr ([@​ptrgits](https://redirect.github.com/ptrgits ))
</details>
<details>
<summary>nestjs/nest (@​nestjs/testing)</summary>
###
[`v11.1.6`](https://redirect.github.com/nestjs/nest/compare/v11.1.5...35c3ded6dbf3f23f917ae88d0ed966932788cae6 )
[Compare
Source](https://redirect.github.com/nestjs/nest/compare/v11.1.5...v11.1.6 )
</details>
<details>
<summary>nuxt/eslint (@​nuxt/eslint)</summary>
###
[`v1.8.0`](https://redirect.github.com/nuxt/eslint/releases/tag/v1.8.0 )
[Compare
Source](https://redirect.github.com/nuxt/eslint/compare/v1.7.1...v1.8.0 )
##### 🚀 Features
- Update plugins - by
[@​antfu](https://redirect.github.com/antfu )
[<samp>(932a7)</samp>](https://redirect.github.com/nuxt/eslint/commit/932a760 )
##### [View changes on
GitHub](https://redirect.github.com/nuxt/eslint/compare/v1.7.1...v1.8.0 )
</details>
<details>
<summary>rollup/rollup (@​rollup/rollup-linux-x64-gnu)</summary>
###
[`v4.46.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4462 )
[Compare
Source](https://redirect.github.com/rollup/rollup/compare/v4.46.1...v4.46.2 )
*2025-07-29*
##### Bug Fixes
- Fix in-operator handling for external namespace and when the left side
cannot be analyzed
([#​6041](https://redirect.github.com/rollup/rollup/issues/6041 ))
##### Pull Requests
- [#​6041](https://redirect.github.com/rollup/rollup/pull/6041 ):
Correct the logic of include in BinaryExpression and don't optimize
external references away
([@​TrickyPi](https://redirect.github.com/TrickyPi ),
[@​cyyynthia](https://redirect.github.com/cyyynthia ),
[@​lukastaegert](https://redirect.github.com/lukastaegert ))
</details>
<details>
<summary>storybookjs/storybook (@​storybook/addon-docs)</summary>
###
[`v9.1.1`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#911 )
[Compare
Source](https://redirect.github.com/storybookjs/storybook/compare/v9.1.0...v9.1.1 )
- CLI: Fix throwing in readonly environments -
[#​31785](https://redirect.github.com/storybookjs/storybook/pull/31785 ),
thanks [@​JReinhold](https://redirect.github.com/JReinhold )!
- Onboarding: Tweak referral wording in survey -
[#​32185](https://redirect.github.com/storybookjs/storybook/pull/32185 ),
thanks [@​shilman](https://redirect.github.com/shilman )!
- Telemetry: Send index stats on dev exit -
[#​32168](https://redirect.github.com/storybookjs/storybook/pull/32168 ),
thanks [@​shilman](https://redirect.github.com/shilman )!
###
[`v9.1.0`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#910 )
[Compare
Source](https://redirect.github.com/storybookjs/storybook/compare/v9.0.18...v9.1.0 )
Storybook 9.1 is packed with new features and improvements to enhance
accessibility, streamline testing, and make your development workflow
even smoother!
🚀 Improved upgrade command with monorepo support for seamless upgrades
🅰 Angular fixes for Tailwind 4, cache busting, and zoneless
compatibility
🧪 `sb.mock` API and Automocking: one-line module mocking to simplify
your testing workflow
🧪 Favicon shows test run status for quick visual feedback
⚛️ Easier configuration for React Native projects
🔥 Auto-abort play functions on HMR to avoid unwanted side effects
🏗️ Improved CSF factories API for type safe story definitions
♿ ️ A11y improvements across Storybook’s UI — addon panel, toolbar,
sidebar, mobile & more
💯 Dozens more fixes and improvements based on community feedback!
<details>
<summary>List of all updates</summary>
- A11y: Improved toolbar a11y by fixing semantics -
[#​28672](https://redirect.github.com/storybookjs/storybook/pull/28672 ),
thanks [@​mehm8128](https://redirect.github.com/mehm8128 )!
- Addon Vitest: Remove Optimize deps candidates due to Vitest warnings -
[#​31809](https://redirect.github.com/storybookjs/storybook/pull/31809 ),
thanks
[@​valentinpalkovic](https://redirect.github.com/valentinpalkovic )!
- Angular: Bundle using TSup -
[#​31690](https://redirect.github.com/storybookjs/storybook/pull/31690 ),
thanks [@​ndelangen](https://redirect.github.com/ndelangen )!
- Angular: Prevent directory import in Angular builders -
[#​32012](https://redirect.github.com/storybookjs/storybook/pull/32012 ),
thanks [@​ghengeveld](https://redirect.github.com/ghengeveld )!
- Automigration: Await updateMainConfig in removeEssentials -
[#​32140](https://redirect.github.com/storybookjs/storybook/pull/32140 ),
thanks
[@​valentinpalkovic](https://redirect.github.com/valentinpalkovic )!
- Builder-Vite: Fix logic related to setting allowedHosts when IP
address used -
[#​31472](https://redirect.github.com/storybookjs/storybook/pull/31472 ),
thanks [@​JSMike](https://redirect.github.com/JSMike )!
- Controls: Improve the accessibility of the object control -
[#​31581](https://redirect.github.com/storybookjs/storybook/pull/31581 ),
thanks [@​Sidnioulz](https://redirect.github.com/Sidnioulz )!
- Core: Abort play function on HMR -
[#​31542](https://redirect.github.com/storybookjs/storybook/pull/31542 ),
thanks [@​ghengeveld](https://redirect.github.com/ghengeveld )!
- Core: Avoid pausing animations in non-Vitest Playwright environments -
[#​32123](https://redirect.github.com/storybookjs/storybook/pull/32123 ),
thanks [@​ghengeveld](https://redirect.github.com/ghengeveld )!
- Core: Cleanup of type following up v9 and small verbatimModuleSyntax
type fix -
[#​31823](https://redirect.github.com/storybookjs/storybook/pull/31823 ),
thanks [@​alcpereira](https://redirect.github.com/alcpereira )!
- Core: Fix aria-controls attribute on sidebar nodes to include all
children -
[#​31491](https://redirect.github.com/storybookjs/storybook/pull/31491 ),
thanks [@​candrepa1](https://redirect.github.com/candrepa1 )!
- Core: Fix horizontal scrollbar covering part of the toolbar -
[#​31704](https://redirect.github.com/storybookjs/storybook/pull/31704 ),
thanks [@​Sidnioulz](https://redirect.github.com/Sidnioulz )!
- Core: Fix moving log file across drives and projectRoot detection on
Windows -
[#​32020](https://redirect.github.com/storybookjs/storybook/pull/32020 ),
thanks [@​ghengeveld](https://redirect.github.com/ghengeveld )!
- Core: Prevent interactions panel from flickering and showing incorrect
state -
[#​32150](https://redirect.github.com/storybookjs/storybook/pull/32150 ),
thanks [@​ghengeveld](https://redirect.github.com/ghengeveld )!
- Core: Serve dynamic favicon based on testing module status -
[#​31763](https://redirect.github.com/storybookjs/storybook/pull/31763 ),
thanks [@​ghengeveld](https://redirect.github.com/ghengeveld )!
- Core: Support container queries in addon panels -
[#​23261](https://redirect.github.com/storybookjs/storybook/pull/23261 ),
thanks
[@​neil-morrison44](https://redirect.github.com/neil-morrison44 )!
- CSF Factories: Add parameters/globals types, `extend` API, portable
stories -
[#​30601](https://redirect.github.com/storybookjs/storybook/pull/30601 ),
thanks [@​kasperpeulen](https://redirect.github.com/kasperpeulen )!
- CSF: Improve controls parameters -
[#​31745](https://redirect.github.com/storybookjs/storybook/pull/31745 ),
thanks [@​kasperpeulen](https://redirect.github.com/kasperpeulen )!
- CSF: Improve docs parameter types -
[#​31736](https://redirect.github.com/storybookjs/storybook/pull/31736 ),
thanks [@​kasperpeulen](https://redirect.github.com/kasperpeulen )!
- CSF: Only add preview annotations to definePreview in csf-factories
automigration -
[#​31727](https://redirect.github.com/storybookjs/storybook/pull/31727 ),
thanks [@​kasperpeulen](https://redirect.github.com/kasperpeulen )!
- Docs: Update
[@​storybook/icons](https://redirect.github.com/storybook/icons ) -
[#​32144](https://redirect.github.com/storybookjs/storybook/pull/32144 ),
thanks
[@​valentinpalkovic](https://redirect.github.com/valentinpalkovic )!
- Docs: Update `react-element-to-jsx-string` -
[#​31170](https://redirect.github.com/storybookjs/storybook/pull/31170 ),
thanks [@​7rulnik](https://redirect.github.com/7rulnik )!
- Init: Exclude mdx stories when docs feature isn't selected during init
-
[#​32142](https://redirect.github.com/storybookjs/storybook/pull/32142 ),
thanks
[@​valentinpalkovic](https://redirect.github.com/valentinpalkovic )!
- Maintenance: Add flag to toggle default automigrations -
[#​32113](https://redirect.github.com/storybookjs/storybook/pull/32113 ),
thanks [@​yannbf](https://redirect.github.com/yannbf )!
- React Native Web: Simplify config by using vite-plugin-rnw -
[#​32051](https://redirect.github.com/storybookjs/storybook/pull/32051 ),
thanks [@​dannyhw](https://redirect.github.com/dannyhw )!
- Telemetry: Add automigration errors -
[#​32103](https://redirect.github.com/storybookjs/storybook/pull/32103 ),
thanks [@​yannbf](https://redirect.github.com/yannbf )!
- Telemetry: Fix `project.json` for getAbsolutePath -
[#​31510](https://redirect.github.com/storybookjs/storybook/pull/31510 ),
thanks [@​ndelangen](https://redirect.github.com/ndelangen )!
- Test: Add mock capabilities -
[#​31987](https://redirect.github.com/storybookjs/storybook/pull/31987 ),
thanks
[@​valentinpalkovic](https://redirect.github.com/valentinpalkovic )!
- Test: Consider exports map -
[#​32157](https://redirect.github.com/storybookjs/storybook/pull/32157 ),
thanks
[@​valentinpalkovic](https://redirect.github.com/valentinpalkovic )!
- Test: Fix missing source map for Webpack/Vite mock loaders and plugins
-
[#​32111](https://redirect.github.com/storybookjs/storybook/pull/32111 ),
thanks
[@​valentinpalkovic](https://redirect.github.com/valentinpalkovic )!
- Test: Invalidate vite cache for manual mocks -
[#​32152](https://redirect.github.com/storybookjs/storybook/pull/32152 ),
thanks
[@​valentinpalkovic](https://redirect.github.com/valentinpalkovic )!
- Test: Remove source map generation from webpack automock-loader -
[#​32115](https://redirect.github.com/storybookjs/storybook/pull/32115 ),
thanks
[@​valentinpalkovic](https://redirect.github.com/valentinpalkovic )!
- UI: Apply user updates for mobile navigation accessibility -
[#​31401](https://redirect.github.com/storybookjs/storybook/pull/31401 ),
thanks [@​yatishgoel](https://redirect.github.com/yatishgoel )!
- UI: Fix interaction step collapse icon -
[#​31853](https://redirect.github.com/storybookjs/storybook/pull/31853 ),
thanks [@​AvitalHass](https://redirect.github.com/AvitalHass )!
- UI: Visual focus indicators (VFIs) aren't visible in high contrast
mode (rebase) -
[#​31848](https://redirect.github.com/storybookjs/storybook/pull/31848 ),
thanks [@​Sidnioulz](https://redirect.github.com/Sidnioulz )!
</details>
</details>
<details>
<summary>swc-project/swc (@​swc/core)</summary>
###
[`v1.13.3`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#1133---2025-07-29 )
[Compare
Source](https://redirect.github.com/swc-project/swc/compare/v1.13.2...v1.13.3 )
##### Bug Fixes
- **(es/minifier)** Check exported when optimize last expr
([#​10939](https://redirect.github.com/swc-project/swc/issues/10939 ))
([f6f15f3](f6f15f38d3 ))
- **(es/minifier)** Disallow types
([#​10945](https://redirect.github.com/swc-project/swc/issues/10945 ))
([63172ef](63172ef3b0 ))
- **(es/minifier)** Don't optimize Number properties when Number is
shadowed
([#​10947](https://redirect.github.com/swc-project/swc/issues/10947 ))
([40a1e2e](40a1e2e6b8 ))
- **(es/minifier)** Fix cycle detection
([#​10950](https://redirect.github.com/swc-project/swc/issues/10950 ))
([212d8bc](212d8bcff1 ))
- **(es/parser)** Correctly handle EOF position
([#​10934](https://redirect.github.com/swc-project/swc/issues/10934 ))
([dd70fbd](dd70fbd0dd ))
##### Performance
- **(es/minifier)** Remove visitor of CharFreqAnalyzer
([#​10928](https://redirect.github.com/swc-project/swc/issues/10928 ))
([65534ff](65534ff998 ))
- **(es/minifier)** Remove pre-compress pass
([#​10932](https://redirect.github.com/swc-project/swc/issues/10932 ))
([c7f0e4d](c7f0e4d5e6 ))
- **(es/minifier)** Use bitflag for var kind
([#​10940](https://redirect.github.com/swc-project/swc/issues/10940 ))
([4317988](4317988952 ))
- **(es/minifier)** Remove needless clone
([#​10949](https://redirect.github.com/swc-project/swc/issues/10949 ))
([b5e5e8c](b5e5e8c35a ))
- **(es/parser)** Reduce comparison
([#​10933](https://redirect.github.com/swc-project/swc/issues/10933 ))
([e44fbd4](e44fbd44f3 ))
- **(es/parser)** Reduce comparison
([#​10941](https://redirect.github.com/swc-project/swc/issues/10941 ))
([a262eeb](a262eeb053 ))
</details>
<details>
<summary>typescript-eslint/typescript-eslint
(@​typescript-eslint/eslint-plugin)</summary>
###
[`v8.39.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8390-2025-08-04 )
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.38.0...v8.39.0 )
##### 🚀 Features
- **eslint-plugin:** \[only-throw-error] support yield/await expressions
([#​11417](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11417 ))
- **eslint-plugin:** add no-unnecessary-type-conversion to
strict-type-checked ruleset
([#​11427](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11427 ))
- update to TypeScript 5.9.2
([#​11445](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11445 ))
- **eslint-plugin:** \[naming-convention] add enumMember PascalCase
default option
([#​11127](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11127 ))
##### 🩹 Fixes
- **eslint-plugin:** \[no-unsafe-assignment] add an
`unsafeObjectPattern` message
([#​11403](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11403 ))
- **eslint-plugin:** \[prefer-optional-chain] ignore `check` option for
most RHS of a chain
([#​11272](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11272 ))
##### ❤️ Thank You
- Brad Zacher
[@​bradzacher](https://redirect.github.com/bradzacher )
- James Garbutt [@​43081j](https://redirect.github.com/43081j )
- Kim Sang Du
[@​developer-bandi](https://redirect.github.com/developer-bandi )
- Sasha Kondrashov
- tao
- Younsang Na
[@​nayounsang](https://redirect.github.com/nayounsang )
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning )
and
[releases](https://main--typescript-eslint.netlify.app/users/releases )
on our website.
</details>
<details>
<summary>chalk/chalk (chalk)</summary>
###
[`v5.5.0`](https://redirect.github.com/chalk/chalk/releases/tag/v5.5.0 )
[Compare
Source](https://redirect.github.com/chalk/chalk/compare/v5.4.1...v5.5.0 )
- Make Ghostty terminal use true color
([#​653](https://redirect.github.com/chalk/chalk/issues/653 ))
[`79ee2d3`](https://redirect.github.com/chalk/chalk/commit/79ee2d3 )
***
</details>
<details>
<summary>kelektiv/node-cron (cron)</summary>
###
[`v4.3.3`](https://redirect.github.com/kelektiv/node-cron/blob/HEAD/CHANGELOG.md#433-2025-08-01 )
[Compare
Source](https://redirect.github.com/kelektiv/node-cron/compare/v4.3.2...v4.3.3 )
##### 🛠 Builds
- **deps:** update dependency
[@​types](https://redirect.github.com/types )/luxon to ~3.7.0
([9bd0c4e](9bd0c4e1c0 ))
##### ♻️ Chores
- **action:** update github/codeql-action action to v3.29.4
([f28ea6a](f28ea6a660 ))
- **action:** update marocchino/sticky-pull-request-comment action to
v2.9.4
([ceb7a0c](ceb7a0c1b3 ))
- **action:** update step-security/harden-runner action to v2.13.0
([91e2402](91e2402038 ))
- **deps:** lock file maintenance
([34130fc](34130fc0d7 ))
- **deps:** lock file maintenance
([b79e0c2](b79e0c27eb ))
- **deps:** lock file maintenance
([281e1aa](281e1aa587 ))
- **deps:** update dependency
[@​types](https://redirect.github.com/types )/node to v22.16.5
([16cdbab](16cdbab130 ))
- **deps:** update dependency chai to v5.2.1
([08b58ce](08b58ceb38 ))
- **deps:** update dependency semantic-release to v24.2.7
([bc3fab6](bc3fab6bb8 ))
- **deps:** update linters
([b692865](b692865878 ))
- **deps:** update swc monorepo
([4f3d063](4f3d063bd3 ))
</details>
<details>
<summary>eslint/eslint (eslint)</summary>
###
[`v9.33.0`](https://redirect.github.com/eslint/eslint/compare/v9.32.0...a90d7c4fe5ef83054e29d21d7ffb442103429d03 )
[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v9.32.0...v9.33.0 )
</details>
<details>
<summary>prettier/eslint-plugin-prettier
(eslint-plugin-prettier)</summary>
###
[`v5.5.4`](https://redirect.github.com/prettier/eslint-plugin-prettier/blob/HEAD/CHANGELOG.md#554 )
[Compare
Source](https://redirect.github.com/prettier/eslint-plugin-prettier/compare/v5.5.3...v5.5.4 )
##### Patch Changes
-
[#​755](https://redirect.github.com/prettier/eslint-plugin-prettier/pull/755 )
[`723f7a8`](723f7a803f )
Thanks [@​kbrilla](https://redirect.github.com/kbrilla )! - fix:
add 'oxc', 'oxc-ts' and 'hermes' parsers to `parserBlocklist`
-
[#​751](https://redirect.github.com/prettier/eslint-plugin-prettier/pull/751 )
[`cf52b30`](cf52b306a5 )
Thanks [@​andreww2012](https://redirect.github.com/andreww2012 )! -
fix: disallow extra properties in rule options
</details>
<details>
<summary>vuejs/eslint-plugin-vue (eslint-plugin-vue)</summary>
###
[`v10.4.0`](https://redirect.github.com/vuejs/eslint-plugin-vue/blob/HEAD/CHANGELOG.md#1040 )
[Compare
Source](https://redirect.github.com/vuejs/eslint-plugin-vue/compare/v10.3.0...v10.4.0 )
##### Minor Changes
- Added `ignoreParents` option to
[`vue/no-deprecated-slot-attribute`](https://eslint.vuejs.org/rules/no-deprecated-slot-attribute.html )
([#​2784](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/2784 ))
- Added new
[`vue/no-negated-v-if-condition`](https://eslint.vuejs.org/rules/no-negated-v-if-condition.html )
rule
([#​2794](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/2794 ))
- Added new
[`vue/no-negated-condition`](https://eslint.vuejs.org/rules/no-negated-condition.html )
rule
([#​2795](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/2795 ))
##### Patch Changes
- Resolved TypeScript compatibility issues introduced by
[eslint-typegen](https://redirect.github.com/antfu/eslint-typegen )
([#​2790](https://redirect.github.com/vuejs/eslint-plugin-vue/pull/2790 ))
- Fixed inconsistent quotes in
[`vue/block-lang`](https://eslint.vuejs.org/rules/block-lang.html ) error
messages ([#​2805](https
</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 becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0MS40My41IiwidXBkYXRlZEluVmVyIjoiNDEuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Eli Bosley <ekbosley@gmail.com >
2025-08-08 21:12:46 -04:00
Eli Bosley
ec8f4f38c8
chore: less claude more code
2025-08-08 20:08:18 -04:00
Eli Bosley
db0e725107
chore(api): remove unused dependencies ( #1554 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Updated the API version to 4.12.0.
* Added configuration for improved TypeScript dependency checking.
* Removed unused dependencies and development tools from the project.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-08-08 15:35:00 -04:00
Pujit Mehrotra
5afca5ecba
chore: reduce logging verbosity in restore_dependencies script ( #1568 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Style**
* Adjusted the messages displayed during the restore process for
improved clarity and specificity.
* Reduced unnecessary informational messages, focusing on more relevant
feedback during restoration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-07 12:54:25 -04:00
Pujit Mehrotra
beab83b56e
refactor: mv 7.2.0 version check to file modifier super class ( #1567 )
...
## Summary by CodeRabbit
* **Bug Fixes**
* `nginx:reload` effect is no longer triggered via the nginx.conf
modification on 7.2.0.
* Improved consistency in determining when patches and modifications
should be applied for Unraid versions 7.2.0 and above.
* Removed redundant version checks from several modification modules to
streamline patch application logic.
* Adjusted logging for skipped modifications to reduce output verbosity.
* **Refactor**
* Centralized version-based logic for patch application, reducing
duplication and improving maintainability.
2025-08-07 10:03:53 -04:00
Pujit Mehrotra
78997a02c6
feat: deleteDockerEntries mutation ( #1564 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added the ability to delete multiple Docker entries (including folders
and their descendants) via a new mutation in the interface.
* **Bug Fixes**
* Ensured that deleting entries handles complex folder hierarchies,
circular references, and missing references robustly.
* **Tests**
* Introduced comprehensive tests for deleting entries and handling
organizer structures, ensuring correct behavior in various scenarios and
edge cases.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-07 09:28:09 -04:00
Pujit Mehrotra
3534d6fdd7
fix: change config file loading error log to debug ( #1565 )
...
To reduce noise and a false-negative syslog upon a user's first boot.
this way, we can opt into the trace if there's an issue.
---
- To see the specific tasks where the Asana app for GitHub is being
used, see below:
- https://app.asana.com/0/0/1210958709343109
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Style**
* Adjusted logging for configuration file loading errors to reduce log
verbosity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-05 11:29:44 -04:00
Pujit Mehrotra
557b03f882
feat: createDockerFolder & setDockerFolderChildren mutations ( #1558 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added the ability to create Docker folders and set folder children via
new GraphQL mutations in the Docker organizer.
* Enhanced organizer management with pure functions for folder creation
and child assignment, ensuring immutability.
* **Bug Fixes**
* Improved validation to prevent empty or invalid folder entries in the
organizer structure.
* **Tests**
* Added comprehensive tests for folder creation, child assignment, and
organizer resolution, including edge cases and immutability checks.
* Updated test guidelines to focus on observable behavior and error
handling best practices.
* **Documentation**
* Expanded testing best practices in project documentation.
* **Chores**
* Updated ignore rules for local configuration files.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-04 12:22:51 -04:00
Eli Bosley
514a0ef560
fix(connect): remove unraid-api folder before creating symlink ( #1556 )
...
During plugin installation, if `/usr/local/bin/unraid-api` exists as a
directory, the installation fails because `rm -f` cannot remove a
directory. This change replaces `rm -f` with `rm -rf` to ensure that the
path is removed regardless of whether it is a file or a directory,
allowing the symlink to be created successfully.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-08-01 11:01:13 -04:00
Pujit Mehrotra
dfe352dfa1
feat: add docker -> organizer query ( #1555 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Introduced a structured organizer system for Docker containers,
enabling hierarchical organization and retrieval of container data.
* Added a comprehensive UPS (Uninterruptible Power Supply) management
API, including device monitoring, configuration, and real-time updates.
* Exposed new GraphQL fields and types for organizer structures and UPS
management.
* **Bug Fixes**
* None.
* **Tests**
* Added extensive tests for organizer resource transformation, view
resolution, and UPS API functionality.
* **Chores**
* Updated configuration to enable sandbox mode and register a new
plugin.
* Updated .gitignore to exclude local status files.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-01 10:53:11 -04:00
renovate[bot]
8005b8c3b6
chore(deps): pin dependencies ( #1542 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
|
[@types/supertest](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/supertest )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/supertest ))
| devDependencies | pin | [`^6.0.3` ->
`6.0.3`](https://renovatebot.com/diffs/npm/@types%2fsupertest/6.0.3/6.0.3 )
|
| [supertest](https://redirect.github.com/ladjs/supertest ) |
devDependencies | pin | [`^7.1.4` ->
`7.1.4`](https://renovatebot.com/diffs/npm/supertest/7.1.4/7.1.4 ) |
|
[tw-animate-css](https://redirect.github.com/Wombosvideo/tw-animate-css )
| devDependencies | pin | [`^1.3.5` ->
`1.3.5`](https://renovatebot.com/diffs/npm/tw-animate-css/1.3.5/1.3.5 ) |
|
[vue-eslint-parser](https://redirect.github.com/vuejs/vue-eslint-parser )
| devDependencies | pin | [`^10.2.0` ->
`10.2.0`](https://renovatebot.com/diffs/npm/vue-eslint-parser/10.2.0/10.2.0 )
|
Add the preset `:preserveSemverRanges` to your config if you don't want
to pin your dependencies.
---
### 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:eyJjcmVhdGVkSW5WZXIiOiI0MS40MC4wIiwidXBkYXRlZEluVmVyIjoiNDEuNDMuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 21:55:26 -04:00
google-labs-jules[bot]
d6fa102d06
refactor: use go links for docs ( #1552 )
...
Update hardcoded doc links to use go-links and move them to a constants
file.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-07-30 21:37:28 -04:00
github-actions[bot]
52f22678e3
chore(main): release 4.12.0 ( #1547 )
...
🤖 I have created a release *beep* *boop*
---
## [4.12.0](https://github.com/unraid/api/compare/v4.11.0...v4.12.0 )
(2025-07-30)
### Features
* add ups monitoring to graphql api
([#1526 ](https://github.com/unraid/api/issues/1526 ))
([6ea94f0 ](6ea94f061d ))
### Bug Fixes
* enhance plugin management with interactive removal prompts
([#1549 ](https://github.com/unraid/api/issues/1549 ))
([23ef760 ](23ef760d76 ))
* remove connect api plugin upon removal of Connect Unraid plugin
([#1548 ](https://github.com/unraid/api/issues/1548 ))
([782d5eb ](782d5ebadc ))
* SSO not being detected
([#1546 ](https://github.com/unraid/api/issues/1546 ))
([6b3b951 ](6b3b951d82 ))
---
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-07-30 16:42:01 -04:00
Eli Bosley
23ef760d76
fix: enhance plugin management with interactive removal prompts ( #1549 )
...
- Add RemovePluginQuestionSet for interactive plugin removal
- Update plugin commands to use PluginManagementService
- Improve plugin installation error handling and warnings
- Clean up test fixtures and update plugin command tests
- Reset dev config to clean state (v4.11.0, no plugins)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Improved plugin management in the CLI with interactive prompts for
plugin removal and enhanced error handling.
* CLI plugin commands now provide clearer user feedback and warnings for
missing plugins.
* Added log suppression capability and dedicated plugin log file
support.
* **Refactor**
* Plugin CLI commands now use dedicated management services and
interactive prompts instead of direct GraphQL operations, streamlining
workflows and improving reliability.
* Simplified CLI imports and logging for more straightforward error
handling.
* Deferred plugin module logging to application bootstrap for improved
lifecycle management.
* Updated logging service to respect global log suppression and added
unconditional logging method.
* **Tests**
* Refactored plugin CLI command tests for better isolation and coverage,
using service mocks and enhanced prompt simulations.
* Updated report command tests to reflect new logging behavior.
* **Chores**
* Updated API configuration settings and removed outdated test fixture
files and timestamp data.
* Simplified test file logic by removing remote file download and cache
functionality.
* Adjusted build configuration to conditionally set CLI shebang based on
environment.
* Enhanced configuration file handler to optionally accept external
logging.
* Updated CLI command script to set environment variable for testing.
* Added environment variables for log file paths and log suppression.
* Updated logging setup to conditionally suppress logs and write plugin
logs to file.
* Improved error and output logging consistency across CLI commands.
* Added placeholder file to ensure log directory version control
tracking.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Pujit Mehrotra <pujit@lime-technology.com >
2025-07-30 16:38:08 -04:00
Eli Bosley
6ea94f061d
feat: add ups monitoring to graphql api ( #1526 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Introduced UPS management capabilities, including queries and
mutations for UPS device status, configuration, and live updates via
GraphQL.
* Added support for configuring UPS parameters such as service state,
cable type, communication protocol, shutdown thresholds, and power
control options.
* Provided detailed UPS device information including battery, power, and
operational status.
* **Tests**
* Added comprehensive tests for UPS resolver and service logic, covering
configuration, event publishing, killpower functionality, and error
handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-07-30 14:52:32 -04:00
Pujit Mehrotra
782d5ebadc
fix: remove connect api plugin upon removal of Connect Unraid plugin ( #1548 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved plugin removal process on Unraid 7.2 and above by ensuring
the associated API plugin component is actively uninstalled during
plugin removal.
* **Enhancements**
* API version is now consistently set during application startup and
configuration migration.
* Configuration file writing logs now include detailed file paths for
better traceability.
* File operations now use atomic writes for increased reliability.
* **Chores**
* Updated dependencies to include atomic file writing support.
* Removed redundant configuration persistence calls after plugin
changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-30 08:04:54 -04:00
Pujit Mehrotra
dfe363bc37
chore: add organizer data structure for docker folders ( #1540 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Introduced a comprehensive validation system for organizer data,
including structural and referential integrity checks for views and
organizers.
* Added new data models for resources, folders, references, and views,
with strong typing and validation.
* Implemented a sequential validation processor with configurable
fail-fast behavior and detailed error reporting.
* Added a dedicated service for managing and validating Docker organizer
configuration files.
* **Bug Fixes**
* Corrected spelling of error-related properties from "errorOccured" to
"errorOccurred" in multiple services to ensure consistent error
handling.
* **Tests**
* Added extensive unit tests for organizer validation logic, view
structure validation, and the validation processor to ensure correctness
across various edge cases and scenarios.
* Added comprehensive tests verifying validation processor behavior
under diverse conditions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-29 14:41:49 -04:00
Eli Bosley
6b3b951d82
fix: SSO not being detected ( #1546 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved reliability of Single Sign-On (SSO) status detection,
ensuring the SSO state is always correctly set regardless of plugin
status.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-28 17:04:23 -04:00
github-actions[bot]
5449e30eed
chore(main): release 4.11.0 ( #1519 )
...
🤖 I have created a release *beep* *boop*
---
## [4.11.0](https://github.com/unraid/api/compare/v4.10.0...v4.11.0 )
(2025-07-28)
### Features
* tailwind v4 ([#1522 ](https://github.com/unraid/api/issues/1522 ))
([2c62e0a ](2c62e0ad09 ))
* **web:** install and configure nuxt ui
([#1524 ](https://github.com/unraid/api/issues/1524 ))
([407585c ](407585cd40 ))
### Bug Fixes
* add missing breakpoints
([#1535 ](https://github.com/unraid/api/issues/1535 ))
([f5352e3 ](f5352e3a26 ))
* border color incorrect in tailwind
([#1544 ](https://github.com/unraid/api/issues/1544 ))
([f14b74a ](f14b74af91 ))
* **connect:** omit extraneous fields during connect config validation
([#1538 ](https://github.com/unraid/api/issues/1538 ))
([45bd736 ](45bd73698b ))
* **deps:** pin dependencies
([#1528 ](https://github.com/unraid/api/issues/1528 ))
([a74d935 ](a74d935b56 ))
* **deps:** pin dependency @nuxt/ui to 3.2.0
([#1532 ](https://github.com/unraid/api/issues/1532 ))
([8279531 ](8279531f2b ))
* **deps:** update all non-major dependencies
([#1510 ](https://github.com/unraid/api/issues/1510 ))
([1a8da6d ](1a8da6d92b ))
* **deps:** update all non-major dependencies
([#1520 ](https://github.com/unraid/api/issues/1520 ))
([e2fa648 ](e2fa648d1c ))
* inject Tailwind CSS into client entry point
([#1537 ](https://github.com/unraid/api/issues/1537 ))
([86b6c4f ](86b6c4f85b ))
* make settings grid responsive
([#1463 ](https://github.com/unraid/api/issues/1463 ))
([9dfdb8d ](9dfdb8dce7 ))
* **notifications:** gracefully handle & mask invalid notifications
([#1529 ](https://github.com/unraid/api/issues/1529 ))
([05056e7 ](05056e7ca1 ))
* truncate log files when they take up more than 5mb of space
([#1530 ](https://github.com/unraid/api/issues/1530 ))
([0a18b38 ](0a18b38008 ))
* use async for primary file read/writes
([#1531 ](https://github.com/unraid/api/issues/1531 ))
([23b2b88 ](23b2b88461 ))
---
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-07-28 11:55:29 -04:00
Eli Bosley
dc12656f81
chore: remove codeowners in favor of coderabbit suggested reviewers ( #1545 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Removed the code ownership assignments from the repository.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-28 11:50:22 -04:00
Eli Bosley
f14b74af91
fix: border color incorrect in tailwind ( #1544 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Introduced new UI theme variables for border color, border radius, and
primary color states to enhance customization options.
* **Refactor**
* Removed redundant and unused CSS variables related to primary color
and border radius for improved consistency and maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-28 11:33:22 -04:00
renovate[bot]
e2fa648d1c
fix(deps): update all non-major dependencies ( #1520 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence | Type | Update |
|---|---|---|---|---|---|
| [@eslint/js](https://eslint.org )
([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js ))
| [`9.31.0` ->
`9.32.0`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.31.0/9.32.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[@graphql-tools/merge](https://redirect.github.com/ardatan/graphql-tools )
([source](https://redirect.github.com/ardatan/graphql-tools/tree/HEAD/packages/merge ))
| [`9.0.24` ->
`9.1.1`](https://renovatebot.com/diffs/npm/@graphql-tools%2fmerge/9.0.24/9.1.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
|
[@graphql-tools/schema](https://redirect.github.com/ardatan/graphql-tools )
([source](https://redirect.github.com/ardatan/graphql-tools/tree/HEAD/packages/schema ))
| [`10.0.23` ->
`10.0.25`](https://renovatebot.com/diffs/npm/@graphql-tools%2fschema/10.0.23/10.0.25 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
|
[@graphql-tools/utils](https://redirect.github.com/ardatan/graphql-tools )
([source](https://redirect.github.com/ardatan/graphql-tools/tree/HEAD/packages/utils ))
| [`10.8.6` ->
`10.9.1`](https://renovatebot.com/diffs/npm/@graphql-tools%2futils/10.8.6/10.9.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | minor |
|
[@graphql-tools/utils](https://redirect.github.com/ardatan/graphql-tools )
([source](https://redirect.github.com/ardatan/graphql-tools/tree/HEAD/packages/utils ))
| [`10.8.6` ->
`10.9.1`](https://renovatebot.com/diffs/npm/@graphql-tools%2futils/10.8.6/10.9.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[@graphql-tools/utils](https://redirect.github.com/ardatan/graphql-tools )
([source](https://redirect.github.com/ardatan/graphql-tools/tree/HEAD/packages/utils ))
| [`10.8.6` ->
`10.9.1`](https://renovatebot.com/diffs/npm/@graphql-tools%2futils/10.8.6/10.9.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| pnpm.overrides | minor |
|
[@graphql-tools/utils](https://redirect.github.com/ardatan/graphql-tools )
([source](https://redirect.github.com/ardatan/graphql-tools/tree/HEAD/packages/utils ))
| [`10.8.6` ->
`10.9.1`](https://renovatebot.com/diffs/npm/@graphql-tools%2futils/10.8.6/10.9.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
|
[@internationalized/number](https://redirect.github.com/adobe/react-spectrum )
| [`3.6.3` ->
`3.6.4`](https://renovatebot.com/diffs/npm/@internationalized%2fnumber/3.6.3/3.6.4 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@manypkg/cli](https://redirect.github.com/Thinkmill/manypkg )
([source](https://redirect.github.com/Thinkmill/manypkg/tree/HEAD/packages/cli ))
| [`0.24.0` ->
`0.25.0`](https://renovatebot.com/diffs/npm/@manypkg%2fcli/0.24.0/0.25.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [@nestjs/common](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common ))
| [`11.1.3` ->
`11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/11.1.3/11.1.5 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | patch |
| [@nestjs/common](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common ))
| [`11.1.3` ->
`11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/11.1.3/11.1.5 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [@nestjs/common](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/common ))
| [`11.1.3` ->
`11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2fcommon/11.1.3/11.1.5 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@nestjs/core](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core ))
| [`11.1.3` ->
`11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/11.1.3/11.1.5 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | patch |
| [@nestjs/core](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core ))
| [`11.1.3` ->
`11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/11.1.3/11.1.5 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [@nestjs/core](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/core ))
| [`11.1.3` ->
`11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2fcore/11.1.3/11.1.5 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@nestjs/platform-fastify](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/platform-fastify ))
| [`11.1.3` ->
`11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2fplatform-fastify/11.1.3/11.1.5 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@nestjs/testing](https://nestjs.com )
([source](https://redirect.github.com/nestjs/nest/tree/HEAD/packages/testing ))
| [`11.1.3` ->
`11.1.5`](https://renovatebot.com/diffs/npm/@nestjs%2ftesting/11.1.3/11.1.5 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [@nuxt/eslint](https://redirect.github.com/nuxt/eslint )
([source](https://redirect.github.com/nuxt/eslint/tree/HEAD/packages/module ))
| [`1.5.2` ->
`1.7.1`](https://renovatebot.com/diffs/npm/@nuxt%2feslint/1.5.2/1.7.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@nuxt/ui](https://ui.nuxt.com )
([source](https://redirect.github.com/nuxt/ui )) | [`3.2.0` ->
`3.3.0`](https://renovatebot.com/diffs/npm/@nuxt%2fui/3.2.0/3.3.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [@pinia/nuxt](https://pinia.vuejs.org/ssr/nuxt.html )
([source](https://redirect.github.com/vuejs/pinia )) | [`0.11.1` ->
`0.11.2`](https://renovatebot.com/diffs/npm/@pinia%2fnuxt/0.11.1/0.11.2 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@rollup/rollup-linux-x64-gnu](https://rollupjs.org/ )
([source](https://redirect.github.com/rollup/rollup )) | [`4.45.1` ->
`4.46.1`](https://renovatebot.com/diffs/npm/@rollup%2frollup-linux-x64-gnu/4.45.1/4.46.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| optionalDependencies | minor |
|
[@storybook/addon-docs](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/docs )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/docs ))
| [`9.0.17` ->
`9.0.18`](https://renovatebot.com/diffs/npm/@storybook%2faddon-docs/9.0.17/9.0.18 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links ))
| [`9.0.17` ->
`9.0.18`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/9.0.17/9.0.18 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@storybook/builder-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/builders/builder-vite/#readme )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/builders/builder-vite ))
| [`9.0.17` ->
`9.0.18`](https://renovatebot.com/diffs/npm/@storybook%2fbuilder-vite/9.0.17/9.0.18 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@storybook/vue3-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/vue3-vite )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/vue3-vite ))
| [`9.0.17` ->
`9.0.18`](https://renovatebot.com/diffs/npm/@storybook%2fvue3-vite/9.0.17/9.0.18 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [@swc/core](https://swc.rs )
([source](https://redirect.github.com/swc-project/swc )) | [`1.12.14` ->
`1.13.2`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.12.14/1.13.2 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[@types/bun](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/bun )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bun ))
| [`1.2.18` ->
`1.2.19`](https://renovatebot.com/diffs/npm/@types%2fbun/1.2.18/1.2.19 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ))
| [`22.16.4` ->
`22.16.5`](https://renovatebot.com/diffs/npm/@types%2fnode/22.16.4/22.16.5 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin ))
| [`8.37.0` ->
`8.38.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.37.0/8.38.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[@vitejs/plugin-vue](https://redirect.github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme )
([source](https://redirect.github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue ))
| [`6.0.0` ->
`6.0.1`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-vue/6.0.0/6.0.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@vueuse/components](https://redirect.github.com/vueuse/vueuse/tree/main/packages/components#readme )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/components ))
| [`13.5.0` ->
`13.6.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcomponents/13.5.0/13.6.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [@vueuse/core](https://redirect.github.com/vueuse/vueuse )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/core ))
| [`13.5.0` ->
`13.6.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.5.0/13.6.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@vueuse/core](https://redirect.github.com/vueuse/vueuse )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/core ))
| [`13.5.0` ->
`13.6.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.5.0/13.6.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
|
[@vueuse/integrations](https://redirect.github.com/vueuse/vueuse/tree/main/packages/integrations#readme )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/integrations ))
| [`13.5.0` ->
`13.6.0`](https://renovatebot.com/diffs/npm/@vueuse%2fintegrations/13.5.0/13.6.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
|
[@vueuse/nuxt](https://redirect.github.com/vueuse/vueuse/tree/main/packages/nuxt#readme )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/nuxt ))
| [`13.5.0` ->
`13.6.0`](https://renovatebot.com/diffs/npm/@vueuse%2fnuxt/13.5.0/13.6.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [dotenv](https://redirect.github.com/motdotla/dotenv ) | [`17.2.0` ->
`17.2.1`](https://renovatebot.com/diffs/npm/dotenv/17.2.0/17.2.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [eslint](https://eslint.org )
([source](https://redirect.github.com/eslint/eslint )) | [`9.31.0` ->
`9.32.0`](https://renovatebot.com/diffs/npm/eslint/9.31.0/9.32.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[eslint-config-prettier](https://redirect.github.com/prettier/eslint-config-prettier )
| [`10.1.5` ->
`10.1.8`](https://renovatebot.com/diffs/npm/eslint-config-prettier/10.1.5/10.1.8 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[eslint-plugin-n](https://redirect.github.com/eslint-community/eslint-plugin-n )
| [`17.21.0` ->
`17.21.2`](https://renovatebot.com/diffs/npm/eslint-plugin-n/17.21.0/17.21.2 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[eslint-plugin-prettier](https://redirect.github.com/prettier/eslint-plugin-prettier )
| [`5.5.1` ->
`5.5.3`](https://renovatebot.com/diffs/npm/eslint-plugin-prettier/5.5.1/5.5.3 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[eslint-plugin-storybook](https://redirect.github.com/storybookjs/storybook/code/lib/eslint-plugin#readme )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/eslint-plugin ))
| [`9.0.17` ->
`9.0.18`](https://renovatebot.com/diffs/npm/eslint-plugin-storybook/9.0.17/9.0.18 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[inquirer](https://redirect.github.com/SBoudrias/Inquirer.js/blob/main/packages/inquirer/README.md )
([source](https://redirect.github.com/SBoudrias/Inquirer.js )) |
[`12.7.0` ->
`12.8.2`](https://renovatebot.com/diffs/npm/inquirer/12.7.0/12.8.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [jiti](https://redirect.github.com/unjs/jiti ) | [`2.4.2` ->
`2.5.1`](https://renovatebot.com/diffs/npm/jiti/2.4.2/2.5.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [jiti](https://redirect.github.com/unjs/jiti ) | [`2.4.2` ->
`2.5.1`](https://renovatebot.com/diffs/npm/jiti/2.4.2/2.5.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| overrides | minor |
| [jose](https://redirect.github.com/panva/jose ) | [`6.0.11` ->
`6.0.12`](https://renovatebot.com/diffs/npm/jose/6.0.11/6.0.12 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | patch |
| [jose](https://redirect.github.com/panva/jose ) | [`6.0.11` ->
`6.0.12`](https://renovatebot.com/diffs/npm/jose/6.0.11/6.0.12 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [jose](https://redirect.github.com/panva/jose ) | [`6.0.11` ->
`6.0.12`](https://renovatebot.com/diffs/npm/jose/6.0.11/6.0.12 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [lucide-vue-next](https://lucide.dev )
([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next ))
| [`0.525.0` ->
`0.528.0`](https://renovatebot.com/diffs/npm/lucide-vue-next/0.525.0/0.528.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [marked](https://marked.js.org )
([source](https://redirect.github.com/markedjs/marked )) | [`16.0.0` ->
`16.1.1`](https://renovatebot.com/diffs/npm/marked/16.0.0/16.1.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [nest-commander](https://nest-commander.jaymcdoniel.dev )
([source](https://redirect.github.com/jmcdo29/nest-commander/tree/HEAD/pacakges/nest-commander ))
| [`3.17.0` ->
`3.18.0`](https://renovatebot.com/diffs/npm/nest-commander/3.17.0/3.18.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [node](https://nodejs.org )
([source](https://redirect.github.com/nodejs/node )) | `22.17.0` ->
`22.17.1` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| | patch |
| [node](https://redirect.github.com/actions/node-versions ) | `22.17.0`
-> `22.17.1` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| uses-with | patch |
| [node](https://redirect.github.com/nodejs/node ) |
`22.17.0-bookworm-slim` -> `22.17.1-bookworm-slim` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| final | patch |
| [reka-ui](https://redirect.github.com/unovue/reka-ui ) | [`2.3.2` ->
`2.4.0`](https://renovatebot.com/diffs/npm/reka-ui/2.3.2/2.4.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [storybook](https://storybook.js.org )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/core ))
| [`9.0.17` ->
`9.0.18`](https://renovatebot.com/diffs/npm/storybook/9.0.17/9.0.18 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[tw-animate-css](https://redirect.github.com/Wombosvideo/tw-animate-css )
| [`1.3.5` ->
`1.3.6`](https://renovatebot.com/diffs/npm/tw-animate-css/1.3.5/1.3.6 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
|
[typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ))
| [`8.37.0` ->
`8.38.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.37.0/8.38.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[validate-npm-package-name](https://redirect.github.com/npm/validate-npm-package-name )
| [`6.0.1` ->
`6.0.2`](https://renovatebot.com/diffs/npm/validate-npm-package-name/6.0.1/6.0.2 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [vite](https://vite.dev )
([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite ))
| [`7.0.4` ->
`7.0.6`](https://renovatebot.com/diffs/npm/vite/7.0.4/7.0.6 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[vue](https://redirect.github.com/vuejs/core/tree/main/packages/vue#readme )
([source](https://redirect.github.com/vuejs/core )) | [`3.5.17` ->
`3.5.18`](https://renovatebot.com/diffs/npm/vue/3.5.17/3.5.18 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[vue](https://redirect.github.com/vuejs/core/tree/main/packages/vue#readme )
([source](https://redirect.github.com/vuejs/core )) | [`3.5.17` ->
`3.5.18`](https://renovatebot.com/diffs/npm/vue/3.5.17/3.5.18 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| peerDependencies | patch |
|
[vue-i18n](https://redirect.github.com/intlify/vue-i18n/tree/master/packages/vue-i18n#readme )
([source](https://redirect.github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n ))
| [`11.1.9` ->
`11.1.11`](https://renovatebot.com/diffs/npm/vue-i18n/11.1.9/11.1.11 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [vue-tsc](https://redirect.github.com/vuejs/language-tools )
([source](https://redirect.github.com/vuejs/language-tools/tree/HEAD/packages/tsc ))
| [`3.0.1` ->
`3.0.4`](https://renovatebot.com/diffs/npm/vue-tsc/3.0.1/3.0.4 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [vuetify](https://vuetifyjs.com )
([source](https://redirect.github.com/vuetifyjs/vuetify/tree/HEAD/packages/vuetify ))
| [`3.9.0` ->
`3.9.2`](https://renovatebot.com/diffs/npm/vuetify/3.9.0/3.9.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [wrangler](https://redirect.github.com/cloudflare/workers-sdk )
([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler ))
| [`4.24.3` ->
`4.26.0`](https://renovatebot.com/diffs/npm/wrangler/4.24.3/4.26.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
---
### Release Notes
<details>
<summary>eslint/eslint (@​eslint/js)</summary>
###
[`v9.32.0`](https://redirect.github.com/eslint/eslint/compare/v9.31.0...50de1ced9df2b1ee48ee6843c8cfe0f5d8edbc27 )
[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v9.31.0...v9.32.0 )
</details>
<details>
<summary>ardatan/graphql-tools (@​graphql-tools/merge)</summary>
###
[`v9.1.1`](https://redirect.github.com/ardatan/graphql-tools/blob/HEAD/packages/merge/CHANGELOG.md#911 )
[Compare
Source](https://redirect.github.com/ardatan/graphql-tools/compare/@graphql-tools/merge@9.1.0...@graphql-tools/merge@9.1.1 )
##### Patch Changes
-
[#​7298](https://redirect.github.com/ardatan/graphql-tools/pull/7298 )
[`984d542`](984d542b95 )
Thanks [@​jdolle](https://redirect.github.com/jdolle )! -
dependencies updates:
- Removed dependency
[`@theguild/federation-composition@^0.19.0`
↗︎](https://www.npmjs.com/package/@​theguild/federation-composition/v/0.19.0 )
(from `dependencies`)
-
[#​7298](https://redirect.github.com/ardatan/graphql-tools/pull/7298 )
[`984d542`](984d542b95 )
Thanks [@​jdolle](https://redirect.github.com/jdolle )! - Fix
"Named export 'OperationTypeNode' not found"
- Updated dependencies
\[[`32d0457`](32d0457f3f )]:
-
[@​graphql-tools/utils](https://redirect.github.com/graphql-tools/utils )@​10.9.1
###
[`v9.1.0`](https://redirect.github.com/ardatan/graphql-tools/blob/HEAD/packages/merge/CHANGELOG.md#910 )
[Compare
Source](https://redirect.github.com/ardatan/graphql-tools/compare/@graphql-tools/merge@9.0.24...@graphql-tools/merge@9.1.0 )
##### Minor Changes
-
[#​7249](https://redirect.github.com/ardatan/graphql-tools/pull/7249 )
[`e5f98c2`](e5f98c231b )
Thanks [@​jdolle](https://redirect.github.com/jdolle )! - Support
repeatable [@​link-ed](https://redirect.github.com/link-ed )
federation directives;
fix merging non-identical, repeatable directives
##### Patch Changes
-
[#​7249](https://redirect.github.com/ardatan/graphql-tools/pull/7249 )
[`e5f98c2`](e5f98c231b )
Thanks [@​jdolle](https://redirect.github.com/jdolle )! -
dependencies updates:
- Added dependency
[`@theguild/federation-composition@^0.16.0`
↗︎](https://www.npmjs.com/package/@​theguild/federation-composition/v/0.16.0 )
(to `dependencies`)
-
[#​7276](https://redirect.github.com/ardatan/graphql-tools/pull/7276 )
[`3c21496`](3c21496330 )
Thanks [@​renovate](https://redirect.github.com/apps/renovate )! -
dependencies updates:
- Updated dependency
[`@theguild/federation-composition@^0.19.0`
↗︎](https://www.npmjs.com/package/@​theguild/federation-composition/v/0.19.0 )
(from `^0.16.0`, in `dependencies`)
- Updated dependencies
\[[`22af985`](22af98581e ),
[`53db005`](53db00540c )]:
-
[@​graphql-tools/utils](https://redirect.github.com/graphql-tools/utils )@​10.9.0
</details>
<details>
<summary>ardatan/graphql-tools (@​graphql-tools/schema)</summary>
###
[`v10.0.25`](https://redirect.github.com/ardatan/graphql-tools/blob/HEAD/packages/schema/CHANGELOG.md#10025 )
[Compare
Source](https://redirect.github.com/ardatan/graphql-tools/compare/@graphql-tools/schema@10.0.24...@graphql-tools/schema@10.0.25 )
##### Patch Changes
- Updated dependencies
\[[`984d542`](984d542b95 ),
[`984d542`](984d542b95 ),
[`32d0457`](32d0457f3f )]:
-
[@​graphql-tools/merge](https://redirect.github.com/graphql-tools/merge )@​9.1.1
-
[@​graphql-tools/utils](https://redirect.github.com/graphql-tools/utils )@​10.9.1
###
[`v10.0.24`](https://redirect.github.com/ardatan/graphql-tools/blob/HEAD/packages/schema/CHANGELOG.md#10024 )
[Compare
Source](https://redirect.github.com/ardatan/graphql-tools/compare/@graphql-tools/schema@10.0.23...@graphql-tools/schema@10.0.24 )
##### Patch Changes
- Updated dependencies
\[[`e5f98c2`](e5f98c231b ),
[`3c21496`](3c21496330 ),
[`e5f98c2`](e5f98c231b ),
[`22af985`](22af98581e ),
[`53db005`](53db00540c )]:
-
[@​graphql-tools/merge](https://redirect.github.com/graphql-tools/merge )@​9.1.0
-
[@​graphql-tools/utils](https://redirect.github.com/graphql-tools/utils )@​10.9.0
</details>
<details>
<summary>ardatan/graphql-tools (@​graphql-tools/utils)</summary>
###
[`v10.9.1`](https://redirect.github.com/ardatan/graphql-tools/blob/HEAD/packages/utils/CHANGELOG.md#1091 )
[Compare
Source](https://redirect.github.com/ardatan/graphql-tools/compare/@graphql-tools/utils@10.9.0...@graphql-tools/utils@10.9.1 )
##### Patch Changes
-
[`32d0457`](32d0457f3f )
Thanks [@​ardatan](https://redirect.github.com/ardatan )! - Fix
oneOf handling
###
[`v10.9.0`](https://redirect.github.com/ardatan/graphql-tools/blob/HEAD/packages/utils/CHANGELOG.md#1090 )
[Compare
Source](https://redirect.github.com/ardatan/graphql-tools/compare/@graphql-tools/utils@10.8.6...@graphql-tools/utils@10.9.0 )
##### Minor Changes
-
[#​7281](https://redirect.github.com/ardatan/graphql-tools/pull/7281 )
[`53db005`](53db00540c )
Thanks [@​EmrysMyrddin](https://redirect.github.com/EmrysMyrddin )!
- Add optional `subgraphName` preoperty
to the `ExecutionRequest` interface for usage in Gateways like Hive
Gateway.
##### Patch Changes
-
[#​7282](https://redirect.github.com/ardatan/graphql-tools/pull/7282 )
[`22af985`](22af98581e )
Thanks [@​renovate](https://redirect.github.com/apps/renovate )! -
Support `@oneOf` directive
</details>
<details>
<summary>adobe/react-spectrum
(@​internationalized/number)</summary>
###
[`v3.6.4`](https://redirect.github.com/adobe/react-spectrum/compare/@internationalized/number@3.6.3...@internationalized/number@3.6.4 )
[Compare
Source](https://redirect.github.com/adobe/react-spectrum/compare/@internationalized/number@3.6.3...@internationalized/number@3.6.4 )
</details>
<details>
<summary>Thinkmill/manypkg (@​manypkg/cli)</summary>
###
[`v0.25.0`](https://redirect.github.com/Thinkmill/manypkg/blob/HEAD/packages/cli/CHANGELOG.md#0250 )
[Compare
Source](https://redirect.github.com/Thinkmill/manypkg/compare/@manypkg/cli@0.24.0...@manypkg/cli@0.25.0 )
##### Minor Changes
- [#​254](https://redirect.github.com/Thinkmill/manypkg/pull/254 )
[`2c06ac0`](2c06ac0939 )
Thanks [@​cjkihl](https://redirect.github.com/cjkihl )! - Add Bun
support
##### Patch Changes
- Updated dependencies
\[[`2c06ac0`](2c06ac0939 )]:
-
[@​manypkg/get-packages](https://redirect.github.com/manypkg/get-packages )@​3.1.0
</details>
<details>
<summary>nestjs/nest (@​nestjs/common)</summary>
###
[`v11.1.5`](https://redirect.github.com/nestjs/nest/compare/v11.1.4...9bb0560e79743cc0bd2ce198c65e21332200c3ad )
[Compare
Source](https://redirect.github.com/nestjs/nest/compare/v11.1.4...v11.1.5 )
###
[`v11.1.4`](https://redirect.github.com/nestjs/nest/compare/v11.1.3...1f101ac8b0a5bb5b97a7caf6634fcea8d65196e0 )
[Compare
Source](https://redirect.github.com/nestjs/nest/compare/v11.1.3...v11.1.4 )
</details>
<details>
<summary>nestjs/nest (@​nestjs/core)</summary>
###
[`v11.1.5`](https://redirect.github.com/nestjs/nest/compare/v11.1.4...9bb0560e79743cc0bd2ce198c65e21332200c3ad )
[Compare
Source](https://redirect.github.com/nestjs/nest/compare/v11.1.4...v11.1.5 )
###
[`v11.1.4`](https://redirect.github.com/nestjs/nest/releases/tag/v11.1.4 )
[Compare
Source](https://redirect.github.com/nestjs/nest/compare/v11.1.3...v11.1.4 )
##### v11.1.4 (2025-07-16)
##### Bug fixes
- `platform-fastify`
- [#​15385](https://redirect.github.com/nestjs/nest/pull/15385 )
fix(testing): auto-init fastify adapter for middleware registration
([@​mag123c](https://redirect.github.com/mag123c ))
- `core`, `testing`
- [#​15405](https://redirect.github.com/nestjs/nest/pull/15405 )
fix(core): fix race condition in class dependency resolution
([@​hajekjiri](https://redirect.github.com/hajekjiri ))
- `core`
- [#​15333](https://redirect.github.com/nestjs/nest/pull/15333 )
fix(core): Make flattenRoutePath return a valid module
([@​gentunian](https://redirect.github.com/gentunian ))
- `microservices`
- [#​15305](https://redirect.github.com/nestjs/nest/pull/15305 )
fix(microservices): Revisit RMQ pattern matching with wildcards
([@​getlarge](https://redirect.github.com/getlarge ))
- [#​15250](https://redirect.github.com/nestjs/nest/pull/15250 )
fix(constants): update RMQ\_DEFAULT\_QUEUE to an empty string
([@​EeeasyCode](https://redirect.github.com/EeeasyCode ))
##### Enhancements
- `platform-fastify`
- [#​14789](https://redirect.github.com/nestjs/nest/pull/14789 )
feat(fastify): add decorator for custom schema
([@​piotrfrankowski](https://redirect.github.com/piotrfrankowski ))
- `common`, `core`, `microservices`, `platform-express`,
`platform-fastify`, `websockets`
- [#​15386](https://redirect.github.com/nestjs/nest/pull/15386 )
feat: enhance introspection capabilities
([@​kamilmysliwiec](https://redirect.github.com/kamilmysliwiec ))
- `core`
- [#​15374](https://redirect.github.com/nestjs/nest/pull/15374 )
feat: supporting fine async storage control
([@​Farenheith](https://redirect.github.com/Farenheith ))
##### Dependencies
- `platform-ws`
- [#​15350](https://redirect.github.com/nestjs/nest/pull/15350 )
chore(deps): bump ws from 8.18.2 to 8.18.3
([@​dependabot\[bot\]](https://redirect.github.com/apps/dependabot ))
- `platform-fastify`
- [#​15278](https://redirect.github.com/nestjs/nest/pull/15278 )
chore(deps): bump fastify from 5.3.3 to 5.4.0
([@​dependabot\[bot\]](https://redirect.github.com/apps/dependabot ))
##### Committers: 11
- Alexey Filippov
([@​SocketSomeone](https://redirect.github.com/SocketSomeone ))
- EFIcats ([@​ext4cats](https://redirect.github.com/ext4cats ))
- Edouard Maleix
([@​getlarge](https://redirect.github.com/getlarge ))
- JaeHo Jang ([@​mag123c](https://redirect.github.com/mag123c ))
- Jiri Hajek
([@​hajekjiri](https://redirect.github.com/hajekjiri ))
- Kamil Mysliwiec
([@​kamilmysliwiec](https://redirect.github.com/kamilmysliwiec ))
- Khan / 이창민
([@​EeeasyCode](https://redirect.github.com/EeeasyCode ))
- Peter F.
([@​piotrfrankowski](https://redirect.github.com/piotrfrankowski ))
- Sebastian ([@​gentunian](https://redirect.github.com/gentunian ))
- Thiago Oliveira Santos
([@​Farenheith](https://redirect.github.com/Farenheith ))
- jochong ([@​jochongs](https://redirect.github.com/jochongs ))
</details>
<details>
<summary>nestjs/nest (@​nestjs/platform-fastify)</summary>
###
[`v11.1.5`](https://redirect.github.com/nestjs/nest/releases/tag/v11.1.5 )
[Compare
Source](https://redirect.github.com/nestjs/nest/compare/v11.1.4...v11.1.5 )
#### v11.1.5 (2025-07-18)
##### Dependencies
- `platform-express`
- [#​15425](https://redirect.github.com/nestjs/nest/pull/15425 )
chore(deps): bump multer from 2.0.1 to 2.0.2 in
/packages/platform-express
([@​dependabot\[bot\]](https://redirect.github.com/apps/dependabot ))
###
[`v11.1.4`](https://redirect.github.com/nestjs/nest/releases/tag/v11.1.4 )
[Compare
Source](https://redirect.github.com/nestjs/nest/compare/v11.1.3...v11.1.4 )
#### v11.1.4 (2025-07-16)
##### Bug fixes
- `platform-fastify`
- [#​15385](https://redirect.github.com/nestjs/nest/pull/15385 )
fix(testing): auto-init fastify adapter for middleware registration
([@​mag123c](https://redirect.github.com/mag123c ))
- `core`, `testing`
- [#​15405](https://redirect.github.com/nestjs/nest/pull/15405 )
fix(core): fix race condition in class dependency resolution
([@​hajekjiri](https://redirect.github.com/hajekjiri ))
- `core`
- [#​15333](https://redirect.github.com/nestjs/nest/pull/15333 )
fix(core): Make flattenRoutePath return a valid module
([@​gentunian](https://redirect.github.com/gentunian ))
- `microservices`
- [#​15305](https://redirect.github.com/nestjs/nest/pull/15305 )
fix(microservices): Revisit RMQ pattern matching with wildcards
([@​getlarge](https://redirect.github.com/getlarge ))
- [#​15250](https://redirect.github.com/nestjs/nest/pull/15250 )
fix(constants): update RMQ\_DEFAULT\_QUEUE to an empty string
([@​EeeasyCode](https://redirect.github.com/EeeasyCode ))
##### Enhancements
- `platform-fastify`
- [#​14789](https://redirect.github.com/nestjs/nest/pull/14789 )
feat(fastify): add decorator for custom schema
([@​piotrfrankowski](https://redirect.github.com/piotrfrankowski ))
- `common`, `core`, `microservices`, `platform-express`,
`platform-fastify`, `websockets`
- [#​15386](https://redirect.github.com/nestjs/nest/pull/15386 )
feat: enhance introspection capabilities
([@​kamilmysliwiec](https://redirect.github.com/kamilmysliwiec ))
- `core`
- [#​15374](https://redirect.github.com/nestjs/nest/pull/15374 )
feat: supporting fine async storage control
([@​Farenheith](https://redirect.github.com/Farenheith ))
##### Dependencies
- `platform-ws`
- [#​15350](https://redirect.github.com/nestjs/nest/pull/15350 )
chore(deps): bump ws from 8.18.2 to 8.18.3
([@​dependabot\[bot\]](https://redirect.github.com/apps/dependabot ))
- `platform-fastify`
- [#​15278](https://redirect.github.com/nestjs/nest/pull/15278 )
chore(deps): bump fastify from 5.3.3 to 5.4.0
([@​dependabot\[bot\]](https://redirect.github.com/apps/dependabot ))
##### Committers: 11
- Alexey Filippov
([@​SocketSomeone](https://redirect.github.com/SocketSomeone ))
- EFIcats ([@​ext4cats](https://redirect.github.com/ext4cats ))
- Edouard Maleix
([@​getlarge](https://redirect.github.com/getlarge ))
- JaeHo Jang ([@​mag123c](https://redirect.github.com/mag123c ))
- Jiri Hajek
([@​hajekjiri](https://redirect.github.com/hajekjiri ))
- Kamil Mysliwiec
([@​kamilmysliwiec](https://redirect.github.com/kamilmysliwiec ))
- Khan / 이창민
([@​EeeasyCode](https://redirect.github.com/EeeasyCode ))
- Peter F.
([@​piotrfrankowski](https://redirect.github.com/piotrfrankowski ))
- Sebastian ([@​gentunian](https://redirect.github.com/gentunian ))
- Thiago Oliveira Santos
([@​Farenheith](https://redirect.github.com/Farenheith ))
- jochong ([@​jochongs](https://redirect.github.com/jochongs ))
</details>
<details>
<summary>nestjs/nest (@​nestjs/testing)</summary>
###
[`v11.1.5`](https://redirect.github.com/nestjs/nest/compare/v11.1.4...9bb0560e79743cc0bd2ce198c65e21332200c3ad )
[Compare
Source](https://redirect.github.com/nestjs/nest/compare/v11.1.4...v11.1.5 )
###
[`v11.1.4`](https://redirect.github.com/nestjs/nest/compare/v11.1.3...1f101ac8b0a5bb5b97a7caf6634fcea8d65196e0 )
[Compare
Source](https://redirect.github.com/nestjs/nest/compare/v11.1.3...v11.1.4 )
</details>
<details>
<summary>nuxt/eslint (@​nuxt/eslint)</summary>
###
[`v1.7.1`](https://redirect.github.com/nuxt/eslint/releases/tag/v1.7.1 )
[Compare
Source](https://redirect.github.com/nuxt/eslint/compare/v1.7.0...v1.7.1 )
##### 🐞 Bug Fixes
- Include `eslint-typegen.d.ts` in `nuxt.node.d.ts`, close
[#​596](https://redirect.github.com/nuxt/eslint/issues/596 ) - by
[@​antfu](https://redirect.github.com/antfu ) in
[https://github.com/nuxt/eslint/issues/596 ](https://redirect.github.com/nuxt/eslint/issues/596 )
[<samp>(ab74e)</samp>](https://redirect.github.com/nuxt/eslint/commit/ab74efd )
##### [View changes on
GitHub](https://redirect.github.com/nuxt/eslint/compare/v1.7.0...v1.7.1 )
###
[`v1.7.0`](https://redirect.github.com/nuxt/eslint/releases/tag/v1.7.0 )
[Compare
Source](https://redirect.github.com/nuxt/eslint/compare/v1.6.0...v1.7.0 )
##### 🚀 Features
- Upgrade eslint-plugin-unicorn - by
[@​antfu](https://redirect.github.com/antfu )
[<samp>(b3b7d)</samp>](https://redirect.github.com/nuxt/eslint/commit/b3b7d93 )
##### [View changes on
GitHub](https://redirect.github.com/nuxt/eslint/compare/v1.6.0...v1.7.0 )
###
[`v1.6.0`](https://redirect.github.com/nuxt/eslint/releases/tag/v1.6.0 )
[Compare
Source](https://redirect.github.com/nuxt/eslint/compare/v1.5.2...v1.6.0 )
##### 🐞 Bug Fixes
- Bring back `eslint-plugin-import-x` as default, close
[#​590](https://redirect.github.com/nuxt/eslint/issues/590 ) - by
[@​antfu](https://redirect.github.com/antfu ) in
[https://github.com/nuxt/eslint/issues/590 ](https://redirect.github.com/nuxt/eslint/issues/590 )
[<samp>(e43d6)</samp>](https://redirect.github.com/nuxt/eslint/commit/e43d6de )
##### [View changes on
GitHub](https://redirect.github.com/nuxt/eslint/compare/v1.5.2...v1.6.0 )
</details>
<details>
<summary>nuxt/ui (@​nuxt/ui)</summary>
###
[`v3.3.0`](https://redirect.github.com/nuxt/ui/blob/HEAD/CHANGELOG.md#330-2025-07-24 )
[Compare
Source](https://redirect.github.com/nuxt/ui/compare/v3.2.0...v3.3.0 )
##### Features
- **CommandPalette:** add `footer` slot
([#​4457](https://redirect.github.com/nuxt/ui/issues/4457 ))
([63730d6](63730d684b ))
- **Drawer:** add `nested` prop
([e2695ee](e2695ee7e4 )),
closes [#​4320](https://redirect.github.com/nuxt/ui/issues/4320 )
- **FileUpload:** new component
([#​4564](https://redirect.github.com/nuxt/ui/issues/4564 ))
([35dbe6c](35dbe6c2ab ))
- **Input/Textarea:** add `default-value` prop
([#​4404](https://redirect.github.com/nuxt/ui/issues/4404 ))
([fb9e7bb](fb9e7bb856 ))
- **InputMenu:** emit `remove-tag` event
([#​4511](https://redirect.github.com/nuxt/ui/issues/4511 ))
([6ca7c8b](6ca7c8b7bf ))
- **InputTags:** add `max-length` prop
([b96a1cc](b96a1ccbab )),
closes [#​4405](https://redirect.github.com/nuxt/ui/issues/4405 )
- **Kbd:** add `color` prop & `soft` variant
([#​4549](https://redirect.github.com/nuxt/ui/issues/4549 ))
([f336600](f33660035f ))
- **module:** add `theme.defaultVariants` option
([#​4400](https://redirect.github.com/nuxt/ui/issues/4400 ))
([35f90b9](35f90b9920 ))
- **Popover:** add `reference` prop
([b00e07f](b00e07f13d ))
- **Table:** add `footer` support to display column summary
([#​4194](https://redirect.github.com/nuxt/ui/issues/4194 ))
([c355cac](c355cacd43 ))
- **Table:** add `style` to table and column `meta`
([#​4513](https://redirect.github.com/nuxt/ui/issues/4513 ))
([1db21d1](1db21d1b00 ))
- **Table:** add row `hover` event
([f903ec3](f903ec396f )),
closes [#​2435](https://redirect.github.com/nuxt/ui/issues/2435 )
- **Table:** add support for `colspan` and `rowspan`
([#​4460](https://redirect.github.com/nuxt/ui/issues/4460 ))
([7ef1933](7ef19333f0 ))
- **Table:** add support for context menu
([f62c5ec](f62c5ec20c )),
closes [#​4259](https://redirect.github.com/nuxt/ui/issues/4259 )
- **Tabs:** add badge on items
([#​4553](https://redirect.github.com/nuxt/ui/issues/4553 ))
([62ab016](62ab01655c ))
- **Toast:** progress bar with Progress component
([ec569e4](ec569e427b ))
- **Tooltip:** add `reference` prop
([69a7b95](69a7b957d5 )),
closes [#​4430](https://redirect.github.com/nuxt/ui/issues/4430 )
##### Bug Fixes
- **Button/Link:** merge `active-class` / `inactive-class` with app
config ([#​4446](https://redirect.github.com/nuxt/ui/issues/4446 ))
([9debce7](9debce737c ))
- **Button:** add `active` styles to behave like `hover` on mobile
([df8f202](df8f20232f )),
closes [#​991](https://redirect.github.com/nuxt/ui/issues/991 )
- **Carousel/Tree:** add type to button elements for accessibility
([#​4493](https://redirect.github.com/nuxt/ui/issues/4493 ))
([fc24e03](fc24e03cc4 ))
- **Carousel:** add `aria-current` attribute to active dot
([#​4447](https://redirect.github.com/nuxt/ui/issues/4447 ))
([1ba8a55](1ba8a55bcb ))
- **Carousel:** improve accessibility
([55e06e9](55e06e97e7 )),
closes [#​4494](https://redirect.github.com/nuxt/ui/issues/4494 )
- **Carousel:** resolve plugins with page transitions
([#​4380](https://redirect.github.com/nuxt/ui/issues/4380 ))
([3b67d54](3b67d54833 ))
- **ColorPicker:** update color conversion logic
([#​4550](https://redirect.github.com/nuxt/ui/issues/4550 ))
([6b6ec8c](https://redirec
</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 becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuNDMuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Eli Bosley <ekbosley@gmail.com >
2025-07-28 11:07:52 -04:00
Eli Bosley
3b00fec5fd
chore: Remove legacy store modules and add new API key and reporting services ( #1536 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added developer CLI tools for toggling GraphQL sandbox and modal
testing utilities.
* Introduced a "Show Activation Modal" developer component for UI
testing.
* Added system initial setup detection and related GraphQL queries.
* Enhanced login and welcome pages with dynamic server info and initial
setup state.
* Improved SSO button with internationalization and error handling.
* Added internal CLI admin API key management service and internal
GraphQL client service.
* Introduced comprehensive API report generation service for system and
service status.
* Added CLI commands and GraphQL mutations/queries for plugin and SSO
user management.
* Added new modal target components and improved teleport target
detection.
* **Enhancements**
* Refined modal dialog targeting and teleportation for flexible UI
placement.
* Updated modal components and stores for improved activation/welcome
modal control.
* Improved plugin and SSO user management via CLI through GraphQL API.
* Refactored partner logo components to use props instead of store
dependencies.
* Enhanced styling and accessibility for buttons and modals.
* Streamlined Tailwind CSS integration with shared styles and updated
theme variables.
* Improved GraphQL module configuration to avoid directive conflicts in
tests.
* Adjusted Vite config for better dependency handling in test mode.
* Improved error handling and logging in CLI commands and services.
* Reordered imports and refined component class bindings for UI
consistency.
* **Bug Fixes**
* Resolved issues with duplicate script tags and component registration
in the web UI.
* Fixed modal close button visibility and activation modal state
handling.
* Added error handling and logging improvements across CLI commands and
services.
* Fixed newline issues in last-download-time fixture files.
* **Chores**
* Added and updated numerous tests for CLI commands, services, and UI
components.
* Updated translation files and localization resources for new UI
messages.
* Adjusted environment, configuration, and dependency files for improved
development and test workflows.
* Cleaned up unused imports and mocks in tests.
* Reorganized exports and barrel files in shared and UI modules.
* Added integration and dependency resolution tests for core modules.
* **Removals & Refactoring**
* Removed legacy Redux state management, configuration, and UPnP logic
from the backend.
* Eliminated deprecated GraphQL subscriptions and client code related to
registration and mothership.
* Removed direct store manipulation and replaced with service-based
approaches in CLI commands.
* Deleted unused or redundant test files and configuration listeners.
* Refactored SSO user service to consolidate add/remove operations into
a single update method.
* Simplified API key services with new methods for automatic key
management.
* Replaced direct plugin and SSO user service calls with GraphQL client
interactions in CLI commands.
* Removed complex theme fallback and dark mode CSS rules, replacing with
streamlined static theme variables.
* Cleaned up Tailwind CSS configuration and removed deprecated local
styles.
* Removed multiple internal utility files and replaced with simplified
or centralized implementations.
* Removed deprecated local configuration and synchronization files and
listeners.
* Removed UPnP helper functions and job management classes.
* Refactored server resolver to dynamically construct local server data
internally.
* Removed CORS handler and replaced with simplified or externalized
logic.
* Removed store synchronization and registration event pubsub handling.
* Removed GraphQL client creation utilities for internal API
communication.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-25 15:07:37 -04:00
Eli Bosley
4ff6a1aaa0
Add Claude Code GitHub Workflow ( #1541 )
...
## 🤖 Installing Claude Code GitHub App
This PR adds a GitHub Actions workflow that enables Claude Code
integration in our repository.
### What is Claude Code?
[Claude Code](https://claude.ai/code ) is an AI coding agent that can
help with:
- Bug fixes and improvements
- Documentation updates
- Implementing new features
- Code reviews and suggestions
- Writing tests
- And more!
### How it works
Once this PR is merged, we'll be able to interact with Claude by
mentioning @claude in a pull request or issue comment.
Once the workflow is triggered, Claude will analyze the comment and
surrounding context, and execute on the request in a GitHub action.
### Important Notes
- **This workflow won't take effect until this PR is merged**
- **@claude mentions won't work until after the merge is complete**
- The workflow runs automatically whenever Claude is mentioned in PR or
issue comments
- Claude gets access to the entire PR or issue context including files,
diffs, and previous comments
### Security
- Our Anthropic API key is securely stored as a GitHub Actions secret
- Only users with write access to the repository can trigger the
workflow
- All Claude runs are stored in the GitHub Actions run history
- Claude's default tools are limited to reading/writing files and
interacting with our repo by creating comments, branches, and commits.
- We can add more allowed tools by adding them to the workflow file
like:
```
allowed_tools: Bash(npm install),Bash(npm run build),Bash(npm run lint),Bash(npm run test)
```
There's more information in the [Claude Code action
repo](https://github.com/anthropics/claude-code-action ).
After merging this PR, let's try mentioning @claude in a comment on any
PR to get started!
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Introduced automated code review using Claude AI for pull requests.
* Added Claude AI code assistance, triggered by comments containing
"@claude" in issues and pull requests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-25 15:00:03 -04:00
Eli Bosley
86b6c4f85b
fix: inject Tailwind CSS into client entry point ( #1537 )
...
Added a Vite plugin to automatically inject the Tailwind CSS import into
the `unraid-components.client.js` entry file, enhancing the integration
of Tailwind CSS within the application. This change improves the setup
for styling components consistently across the project.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added automated validation to ensure Tailwind CSS styles are correctly
included in the custom elements build output.
* **Chores**
* Updated the build process to include a CSS validation step after
manifest generation.
* Enhanced development build configuration to enable CSS source maps and
optimize Tailwind CSS injection into web components.
* Extended CSS theme with new responsive breakpoint variables.
* Improved CSS class specificity in user profile, server state, and
update modal components for consistent styling.
* Removed redundant style blocks and global CSS imports from multiple
components to streamline styling and reduce duplication.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-23 15:30:57 -04:00
Pujit Mehrotra
45bd73698b
fix(connect): omit extraneous fields during connect config validation ( #1538 )
...
Prevent extraneous fields from migrating to `connect.json` from
`myservers.cfg`
2025-07-23 13:55:35 -04:00
Pujit Mehrotra
fee7d4613e
refactor: add & use ConfigFilePersister primitive ( #1534 )
...
Add `ConfigFilePersister<T>` to provide automatic JSON file persistence
for configs. It bridges the gap between in-memory configuration (via
`ConfigService`) and persistent file storage, with minimal developer
effort.
## Key Features
- **Reactive Persistence**: Automatically saves config changes to disk
when `ConfigService` updates
- **NestJS Integration**: Implements lifecycle hooks for proper
initialization and cleanup
- **Standalone Operations**: Provides direct file access via
`getFileHandler()` for non-reactive use cases
- **Change Detection**: Only writes to disk when configuration actually
changes (performance optimization)
- **Error Handling**: Includes logging and graceful error handling
throughout
## How to Implement
Extend the class and implement these required methods:
```typescript
@Injectable()
class MyConfigPersister extends ConfigFilePersister<MyConfigType> {
constructor(configService: ConfigService) {
super(configService);
}
// Required: JSON filename in config directory
fileName(): string {
return "my-config.json";
}
// Required: ConfigService key for reactive updates
configKey(): string {
return "myConfig";
}
// Required: Default values for new installations
defaultConfig(): MyConfigType {
return { enabled: false, timeout: 5000 };
}
// optionally, override validate() and/or migrateConfig()
}
```
## Lifecycle Behavior
- **Initialization** (`onModuleInit`): Loads config from disk → sets in
ConfigService → starts reactive subscription
- **Runtime**: Automatically persists to disk when ConfigService changes
(buffered every 25ms)
- **Shutdown** (`onModuleDestroy`): Final persistence and cleanup
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
* **New Features**
* Introduced a unified, robust configuration file management system with
automatic migration, validation, and efficient persistence for plugins
and services.
* **Refactor**
* Centralized configuration persistence logic into a shared base class,
simplifying and standardizing config handling.
* Refactored multiple config persisters to extend the new base class,
removing redundant manual file and lifecycle management.
* Removed legacy config state management, persistence helpers, and
related modules, streamlining the codebase.
* Simplified test suites to focus on core functionality and error
handling.
* **Chores**
* Updated dependencies to support the new configuration management
system.
* Integrated the new API config module into plugin modules for
consistent configuration handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-23 13:34:12 -04:00
Michael Datelle
b6acf50c0d
refactor: update modals and color picker ( #1494 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* The Welcome modal now automatically appears when visiting the
`/welcome` page.
* "Create a password" button in the Welcome modal is now disabled while
loading.
* **Refactor**
* Activation and Welcome modals now use a new Dialog component for
improved layout and styling.
* Theme and server selection components now use a simplified Select
dropdown with options passed as data for a cleaner interface.
* **Tests**
* Updated modal-related tests to use the new Dialog component and
improved mocking for more accurate and maintainable test coverage.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: mdatelle <mike@datelle.net >
2025-07-23 08:28:31 -04:00
renovate[bot]
8279531f2b
fix(deps): pin dependency @nuxt/ui to 3.2.0 ( #1532 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [@nuxt/ui](https://ui.nuxt.com )
([source](https://redirect.github.com/nuxt/ui )) | dependencies | pin |
[`^3.2.0` ->
`3.2.0`](https://renovatebot.com/diffs/npm/@nuxt%2fui/3.2.0/3.2.0 ) |
Add the preset `:preserveSemverRanges` to your config if you don't want
to pin your dependencies.
---
### 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:eyJjcmVhdGVkSW5WZXIiOiI0MS40MC4wIiwidXBkYXRlZEluVmVyIjoiNDEuNDAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 14:41:25 -04:00
Eli Bosley
0a18b38008
fix: truncate log files when they take up more than 5mb of space ( #1530 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Updated configuration to enable WAN access, set custom ports, and add
new fields such as version and sandbox mode.
* **Bug Fixes**
* Improved log rotation reliability by directly managing log file size
and truncation every 20 minutes, with enhanced error handling and
logging.
* **Chores**
* Removed legacy log rotation configuration files and related test cases
to streamline maintenance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-22 14:40:39 -04:00
Eli Bosley
23b2b88461
fix: use async for primary file read/writes ( #1531 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Refactor**
* Improved application performance and responsiveness by converting all
synchronous file system operations to asynchronous ones throughout the
application.
* Enhanced reliability of file checks and file writing, ensuring
non-blocking behavior during configuration, notification handling, and
service operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-22 14:40:30 -04:00
Eli Bosley
f5352e3a26
fix: add missing breakpoints ( #1535 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Style**
* Introduced new CSS custom properties for additional responsive
breakpoints, enhancing layout adaptability across a wider range of
screen sizes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-22 10:14:48 -04:00
Pujit Mehrotra
9dfdb8dce7
fix: make settings grid responsive ( #1463 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Introduced a new SettingsGrid component for consistent and responsive
grid layouts.
* **Refactor**
* Updated settings-related layouts to use the new SettingsGrid
component, improving maintainability and visual consistency across the
interface.
* **Chores**
* Removed an unused CSS breakpoint variable from global styles.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-22 09:21:35 -04:00
Michael Datelle
407585cd40
feat(web): install and configure nuxt ui ( #1524 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Introduced a primary color palette and enhanced color theming for the
UI.
* Added and showcased new UI button variants with primary color styling
on the main page.
* Integrated the @nuxt/ui module to enable advanced UI components and
theming options.
* **Style**
* Updated keyframe animations in global styles for improved CSS
structure.
* Refined color variables and UI color states for both light and dark
modes.
* **Chores**
* Added @nuxt/ui as a project dependency.
* Centralized UI configuration for easier theming management.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: mdatelle <mike@datelle.net >
2025-07-21 17:14:41 -04:00
Pujit Mehrotra
05056e7ca1
fix(notifications): gracefully handle & mask invalid notifications ( #1529 )
...
prevents log explosion due to large, invalid notifications.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved handling of invalid or corrupted notifications by displaying
a warning message instead of causing errors or interruptions.
* Enhanced robustness in displaying notification timestamps by
gracefully handling invalid date formats.
* **Refactor**
* Improved internal date formatting for notifications, ensuring more
consistent and user-friendly display.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---
- To see the specific tasks where the Asana app for GitHub is being
used, see below:
- https://app.asana.com/0/0/1210811542761865
2025-07-21 15:28:05 -04:00
renovate[bot]
a74d935b56
fix(deps): pin dependencies ( #1528 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [@tailwindcss/cli](https://tailwindcss.com )
([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-cli ))
| dependencies | pin | [`^4.1.11` ->
`4.1.11`](https://renovatebot.com/diffs/npm/@tailwindcss%2fcli/4.1.11/4.1.11 )
|
| [@tailwindcss/vite](https://tailwindcss.com )
([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite ))
| devDependencies | pin | [`^4.1.11` ->
`4.1.11`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.1.11/4.1.11 )
|
|
[tw-animate-css](https://redirect.github.com/Wombosvideo/tw-animate-css )
| dependencies | pin | [`^1.3.5` ->
`1.3.5`](https://renovatebot.com/diffs/npm/tw-animate-css/1.3.5/1.3.5 ) |
Add the preset `:preserveSemverRanges` to your config if you don't want
to pin your dependencies.
---
### 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:eyJjcmVhdGVkSW5WZXIiOiI0MS40MC4wIiwidXBkYXRlZEluVmVyIjoiNDEuNDAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 13:13:23 -04:00
Eli Bosley
2c62e0ad09
feat: tailwind v4 ( #1522 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Streamlined Tailwind CSS integration using Vite plugin, eliminating
the need for separate Tailwind config files.
* Updated theme and color variables for improved consistency and
maintainability.
* **Style**
* Standardized spacing, sizing, and font classes across all components
using Tailwind’s default scale.
* Reduced excessive gaps, padding, and font sizes for a more compact and
cohesive UI.
* Updated gradient, border, and shadow classes to match Tailwind v4
conventions.
* Replaced custom pixel-based classes with Tailwind’s bracketed
arbitrary value syntax where needed.
* Replaced focus outline styles from `outline-none` to `outline-hidden`
for consistent focus handling.
* Updated flex shrink/grow utility classes to use newer shorthand forms.
* Converted several component templates to use self-closing tags for
cleaner markup.
* Adjusted icon sizes and spacing for improved visual balance.
* **Chores**
* Removed legacy Tailwind/PostCSS configuration files and related
scripts.
* Updated and cleaned up package dependencies for Tailwind v4 and
related plugins.
* Removed unused or redundant build scripts and configuration exports.
* Updated documentation to reflect new Tailwind v4 usage.
* Removed Prettier Tailwind plugin from formatting configurations.
* Removed Nuxt Tailwind module in favor of direct Vite plugin
integration.
* Cleaned up ESLint config by removing Prettier integration.
* **Bug Fixes**
* Corrected invalid or outdated Tailwind class names and syntax.
* Fixed issues with max-width and other utility classes for improved
layout consistency.
* **Tests**
* Updated test assertions to match new class names and styling
conventions.
* **Documentation**
* Revised README and internal notes to clarify Tailwind v4 adoption and
configuration changes.
* Added new development notes emphasizing Tailwind v4 usage and
documentation references.
* **UI Components**
* Enhanced BrandButton stories with detailed variant, size, and padding
showcases for better visual testing.
* Improved theme store to apply dark mode class on both `<html>` and
`<body>` elements for compatibility.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-21 09:58:02 -04:00
renovate[bot]
1a8da6d92b
fix(deps): update all non-major dependencies ( #1510 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [@eslint/js](https://eslint.org )
([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js ))
| [`9.30.1` ->
`9.31.0`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.30.1/9.31.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [@rollup/rollup-linux-x64-gnu](https://rollupjs.org/ )
([source](https://redirect.github.com/rollup/rollup )) | [`4.44.2` ->
`4.45.1`](https://renovatebot.com/diffs/npm/@rollup%2frollup-linux-x64-gnu/4.44.2/4.45.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[@storybook/addon-docs](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/docs )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/docs ))
| [`9.0.16` ->
`9.0.17`](https://renovatebot.com/diffs/npm/@storybook%2faddon-docs/9.0.16/9.0.17 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links ))
| [`9.0.16` ->
`9.0.17`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/9.0.16/9.0.17 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[@storybook/builder-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/builders/builder-vite/#readme )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/builders/builder-vite ))
| [`9.0.16` ->
`9.0.17`](https://renovatebot.com/diffs/npm/@storybook%2fbuilder-vite/9.0.16/9.0.17 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[@storybook/vue3-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/vue3-vite )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/vue3-vite ))
| [`9.0.16` ->
`9.0.17`](https://renovatebot.com/diffs/npm/@storybook%2fvue3-vite/9.0.16/9.0.17 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [@swc/core](https://swc.rs )
([source](https://redirect.github.com/swc-project/swc )) | [`1.12.11` ->
`1.12.14`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.12.11/1.12.14 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ))
| [`22.16.3` ->
`22.16.4`](https://renovatebot.com/diffs/npm/@types%2fnode/22.16.3/22.16.4 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin ))
| [`8.36.0` ->
`8.37.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.36.0/8.37.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [cron](https://redirect.github.com/kelektiv/node-cron ) | [`4.3.1` ->
`4.3.2`](https://renovatebot.com/diffs/npm/cron/4.3.1/4.3.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [eslint](https://eslint.org )
([source](https://redirect.github.com/eslint/eslint )) | [`9.30.1` ->
`9.31.0`](https://renovatebot.com/diffs/npm/eslint/9.30.1/9.31.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[eslint-plugin-storybook](https://redirect.github.com/storybookjs/storybook/code/lib/eslint-plugin#readme )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/eslint-plugin ))
| [`9.0.16` ->
`9.0.17`](https://renovatebot.com/diffs/npm/eslint-plugin-storybook/9.0.16/9.0.17 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [graphql-ws](https://the-guild.dev/graphql/ws )
([source](https://redirect.github.com/enisdenjo/graphql-ws )) | [`6.0.5`
-> `6.0.6`](https://renovatebot.com/diffs/npm/graphql-ws/6.0.5/6.0.6 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [nuxt](https://nuxt.com )
([source](https://redirect.github.com/nuxt/nuxt/tree/HEAD/packages/nuxt ))
| [`3.17.6` ->
`3.17.7`](https://renovatebot.com/diffs/npm/nuxt/3.17.6/3.17.7 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [storybook](https://storybook.js.org )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/core ))
| [`9.0.16` ->
`9.0.17`](https://renovatebot.com/diffs/npm/storybook/9.0.16/9.0.17 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ))
| [`8.36.0` ->
`8.37.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.36.0/8.37.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [zx](https://google.github.io/zx/ )
([source](https://redirect.github.com/google/zx )) | [`8.6.2` ->
`8.7.1`](https://renovatebot.com/diffs/npm/zx/8.3.2/8.7.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [zx](https://google.github.io/zx/ )
([source](https://redirect.github.com/google/zx )) | [`8.6.2` ->
`8.7.1`](https://renovatebot.com/diffs/npm/zx/8.6.2/8.7.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>eslint/eslint (@​eslint/js)</summary>
###
[`v9.31.0`](https://redirect.github.com/eslint/eslint/compare/v9.30.1...d5054e5454a537e9ade238c768c262c6c592cbc1 )
[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v9.30.1...v9.31.0 )
</details>
<details>
<summary>rollup/rollup (@​rollup/rollup-linux-x64-gnu)</summary>
###
[`v4.45.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4451 )
[Compare
Source](https://redirect.github.com/rollup/rollup/compare/v4.45.0...v4.45.1 )
*2025-07-15*
##### Bug Fixes
- Resolve crash when using certain conditional expressions
([#​6009](https://redirect.github.com/rollup/rollup/issues/6009 ))
##### Pull Requests
- [#​6009](https://redirect.github.com/rollup/rollup/pull/6009 ):
Add hasDeoptimizedCache flag for ConditionalExpression
([@​TrickyPi](https://redirect.github.com/TrickyPi ))
###
[`v4.45.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4450 )
[Compare
Source](https://redirect.github.com/rollup/rollup/compare/v4.44.2...v4.45.0 )
*2025-07-12*
##### Features
- Improve tree-shaking when both branches of a conditional expression
return the same boolean value
([#​6000](https://redirect.github.com/rollup/rollup/issues/6000 ))
- In environments that support both CJS and ESM, prefer the ESM build of
Rollup
([#​6005](https://redirect.github.com/rollup/rollup/issues/6005 ))
##### Bug Fixes
- Ensure static blocks do not prevent tree-shaking if they access `this`
([#​6001](https://redirect.github.com/rollup/rollup/issues/6001 ))
##### Pull Requests
- [#​6000](https://redirect.github.com/rollup/rollup/pull/6000 ):
feat: improve get literal value for conditional expression
([@​ahabhgk](https://redirect.github.com/ahabhgk ),
[@​lukastaegert](https://redirect.github.com/lukastaegert ))
- [#​6001](https://redirect.github.com/rollup/rollup/pull/6001 ):
Correct the parent scope for static blocks
([@​TrickyPi](https://redirect.github.com/TrickyPi ),
[@​lukastaegert](https://redirect.github.com/lukastaegert ))
- [#​6005](https://redirect.github.com/rollup/rollup/pull/6005 ):
fix: export field order prefer esm
([@​DylanPiercey](https://redirect.github.com/DylanPiercey ))
</details>
<details>
<summary>storybookjs/storybook (@​storybook/addon-docs)</summary>
###
[`v9.0.17`](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...06a11ce246b2e7a52d41e43420e37162c55133aa )
[Compare
Source](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...v9.0.17 )
</details>
<details>
<summary>storybookjs/storybook (@​storybook/addon-links)</summary>
###
[`v9.0.17`](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...06a11ce246b2e7a52d41e43420e37162c55133aa )
[Compare
Source](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...v9.0.17 )
</details>
<details>
<summary>storybookjs/storybook
(@​storybook/builder-vite)</summary>
###
[`v9.0.17`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#9017 )
[Compare
Source](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...v9.0.17 )
- Addon Vitest: Fix support for plain `stories.tsx` files -
[#​32041](https://redirect.github.com/storybookjs/storybook/pull/32041 ),
thanks [@​ghengeveld](https://redirect.github.com/ghengeveld )!
- Onboarding: Intent survey -
[#​31944](https://redirect.github.com/storybookjs/storybook/pull/31944 ),
thanks [@​ghengeveld](https://redirect.github.com/ghengeveld )!
- UI: Fix text color for failing stories in sidebar -
[#​32042](https://redirect.github.com/storybookjs/storybook/pull/32042 ),
thanks [@​ghengeveld](https://redirect.github.com/ghengeveld )!
</details>
<details>
<summary>swc-project/swc (@​swc/core)</summary>
###
[`v1.12.14`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11214---2025-07-14 )
[Compare
Source](https://redirect.github.com/swc-project/swc/compare/v1.12.11...v1.12.14 )
##### Bug Fixes
- **(es/minifier)** Don't inline arrow when it contain `this`
([#​10825](https://redirect.github.com/swc-project/swc/issues/10825 ))
([8b43bb3](8b43bb35bc ))
- **(es/parser)** Make `export` in NS to not affect file type
([#​10799](https://redirect.github.com/swc-project/swc/issues/10799 ))
([ae22033](ae22033dc4 ))
- **(es/parser)** Correctly check ambient context
([#​10802](https://redirect.github.com/swc-project/swc/issues/10802 ))
([f97ea03](f97ea03523 ))
##### Features
- **(es/parser)** Enable support for dynamic import with `defer` phase
([#​10845](https://redirect.github.com/swc-project/swc/issues/10845 ))
([097d29d](097d29d21c ))
- **(plugin)** Remove `bytecheck` to make Wasm plugins backward
compatible
([#​10842](https://redirect.github.com/swc-project/swc/issues/10842 ))
([30ad808](30ad80809c ))
##### Miscellaneous Tasks
- **(bindings)** Fix dependency issues
([7c57fbb](7c57fbb103 ))
- **(deps)** Update `class-validator` to avoid comments
([#​10819](https://redirect.github.com/swc-project/swc/issues/10819 ))
([bacfa4b](bacfa4b56d ))
- **(ide)** Enable `--workspace` for rust-analyzer check
([#​10809](https://redirect.github.com/swc-project/swc/issues/10809 ))
([92647ff](92647ff9d9 ))
##### Performance
- **(es/minifier)** Use `u8` for `remaining_depth`
([#​10833](https://redirect.github.com/swc-project/swc/issues/10833 ))
([ed6956a](ed6956a46e ))
- **(hstr)** Inline one more byte
([#​10817](https://redirect.github.com/swc-project/swc/issues/10817 ))
([3886c97](3886c9720d ))
- **(hstr)** Remove static tag
([#​10832](https://redirect.github.com/swc-project/swc/issues/10832 ))
([66ae1e8](66ae1e8d5a ))
##### Refactor
- **(es/helpers)** Make inline helpers optional at compile time
([#​10808](https://redirect.github.com/swc-project/swc/issues/10808 ))
([53f3881](53f38811cc ))
- **(es/lexer)** Don't store buffer in lexer
([#​10830](https://redirect.github.com/swc-project/swc/issues/10830 ))
([cac40f1](cac40f135d ))
- **(es/lints)** Remove warnings without features
([#​10794](https://redirect.github.com/swc-project/swc/issues/10794 ))
([41d507f](41d507fe1e ))
- **(es/parser)** Reduce token query
([#​10834](https://redirect.github.com/swc-project/swc/issues/10834 ))
([5cd5185](5cd5185a7a ))
- **(es/parser)** Reduce call to `parse_decorators`
([#​10846](https://redirect.github.com/swc-project/swc/issues/10846 ))
([356d3a0](356d3a0850 ))
- **(es/parser)** Remove duplicate check
([#​10847](https://redirect.github.com/swc-project/swc/issues/10847 ))
([2b04efd](2b04efd540 ))
- **(es/preset-env)** Use strpool,phf for corejs2 data
([#​10803](https://redirect.github.com/swc-project/swc/issues/10803 ))
([1652fd8](1652fd8038 ))
- **(es/react)** Remove redundant `replace` calls
([#​10795](https://redirect.github.com/swc-project/swc/issues/10795 ))
([a670b37](a670b37c33 ))
- **(es/react)** Remove `count_children`
([#​10818](https://redirect.github.com/swc-project/swc/issues/10818 ))
([2116ab2](2116ab2fa2 ))
- **(hstr)** Cleanup duplicate header
([#​10812](https://redirect.github.com/swc-project/swc/issues/10812 ))
([630dde9](630dde93c9 ))
- **(hstr)** Make the deallocation of `Atom`s explicit
([#​10813](https://redirect.github.com/swc-project/swc/issues/10813 ))
([406433d](406433d55d ))
- **(hstr)** Remove `is_global`
([#​10820](https://redirect.github.com/swc-project/swc/issues/10820 ))
([afda0f9](afda0f9d0d ))
##### Testing
- **(es/plugin)** Test memory layout of archived types
([#​10841](https://redirect.github.com/swc-project/swc/issues/10841 ))
([502e991](502e991a8b ))
</details>
<details>
<summary>typescript-eslint/typescript-eslint
(@​typescript-eslint/eslint-plugin)</summary>
###
[`v8.37.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8370-2025-07-14 )
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.36.0...v8.37.0 )
##### 🩹 Fixes
- **eslint-plugin:** \[unified-signatures] fix false positives for
ignoreOverloadsWithDifferentJSDoc option
([#​11381](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11381 ))
##### ❤️ Thank You
- Yukihiro Hasegawa [@​y-hsgw](https://redirect.github.com/y-hsgw )
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning )
and
[releases](https://main--typescript-eslint.netlify.app/users/releases )
on our website.
</details>
<details>
<summary>kelektiv/node-cron (cron)</summary>
###
[`v4.3.2`](https://redirect.github.com/kelektiv/node-cron/blob/HEAD/CHANGELOG.md#432-2025-07-13 )
[Compare
Source](https://redirect.github.com/kelektiv/node-cron/compare/v4.3.1...v4.3.2 )
##### 🛠 Builds
- **deps:** update dependency luxon to ~3.7.0
([db69c74](db69c74501 ))
##### ♻️ Chores
- **action:** update github/codeql-action action to v3.29.0
([#​990](https://redirect.github.com/kelektiv/node-cron/issues/990 ))
([a3fbb3c](a3fbb3cc4d ))
- **action:** update github/codeql-action action to v3.29.2
([0403c53](0403c53320 ))
- **action:** update marocchino/sticky-pull-request-comment action to
v2.9.3
([eda0c4d](eda0c4df35 ))
- **action:** update ossf/scorecard-action action to v2.4.2
([#​991](https://redirect.github.com/kelektiv/node-cron/issues/991 ))
([29a3a60](29a3a604ef ))
- **action:** update step-security/harden-runner action to v2.12.1
([ba49a56](ba49a5656c ))
- **action:** update step-security/harden-runner action to v2.12.2
([845202e](845202ee97 ))
- **deps:** lock file maintenance
([#​989](https://redirect.github.com/kelektiv/node-cron/issues/989 ))
([bc1bf72](bc1bf72ff7 ))
- **deps:** lock file maintenance
([#​999](https://redirect.github.com/kelektiv/node-cron/issues/999 ))
([e78d986](e78d9869d6 ))
- **deps:** update dependency
[@​swc](https://redirect.github.com/swc )/core to v1.12.1
([#​992](https://redirect.github.com/kelektiv/node-cron/issues/992 ))
([b5d3bd3](b5d3bd3328 ))
- **deps:** update dependency
[@​swc](https://redirect.github.com/swc )/core to v1.12.5
([d374494](d374494609 ))
- **deps:** update dependency
[@​swc](https://redirect.github.com/swc )/core to v1.12.9
([8060c41](8060c41685 ))
- **deps:** update dependency
[@​types](https://redirect.github.com/types )/node to v22.15.32
([#​993](https://redirect.github.com/kelektiv/node-cron/issues/993 ))
([ce9743b](ce9743ba05 ))
- **deps:** update dependency
[@​types](https://redirect.github.com/types )/node to v22.16.0
([7bae5b1](7bae5b1ef8 ))
- **deps:** update linters
([24eb53f](24eb53ff67 ))
- **deps:** update linters
([#​995](https://redirect.github.com/kelektiv/node-cron/issues/995 ))
([9395484](9395484758 ))
- **deps:** update node.js to v23.11.1
([#​985](https://redirect.github.com/kelektiv/node-cron/issues/985 ))
([674a344](674a3448b5 ))
- **deps:** update semantic-release related packages
([cc2676a](cc2676aa88 ))
- **deps:** update semantic-release related packages
([#​994](https://redirect.github.com/kelektiv/node-cron/issues/994 ))
([4d738df](4d738df05f ))
</details>
<details>
<summary>eslint/eslint (eslint)</summary>
###
[`v9.31.0`](https://redirect.github.com/eslint/eslint/compare/v9.30.1...14053edc64bd378ab920575f2488fbfcbb5a4ea0 )
[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v9.30.1...v9.31.0 )
</details>
<details>
<summary>enisdenjo/graphql-ws (graphql-ws)</summary>
###
[`v6.0.6`](https://redirect.github.com/enisdenjo/graphql-ws/blob/HEAD/CHANGELOG.md#606 )
[Compare
Source](https://redirect.github.com/enisdenjo/graphql-ws/compare/v6.0.5...v6.0.6 )
##### Patch Changes
-
[#​648](https://redirect.github.com/enisdenjo/graphql-ws/pull/648 )
[`1f53bb4`](1f53bb48b1 )
Thanks [@​enisdenjo](https://redirect.github.com/enisdenjo )! - Fix
building issues causing CJS type definitions referencing ESM modules
</details>
<details>
<summary>nuxt/nuxt (nuxt)</summary>
###
[`v3.17.7`](https://redirect.github.com/nuxt/nuxt/releases/tag/v3.17.7 )
[Compare
Source](https://redirect.github.com/nuxt/nuxt/compare/v3.17.6...v3.17.7 )
> 3.17.7 is the last patch release before v3.18.
##### ✅ Upgrading
Our recommendation for upgrading is to run:
```sh
npx nuxt upgrade --dedupe
```
This will deduplicate your lockfile as well, and help ensure that you
pull in updates from other dependencies that Nuxt relies on,
particularly in the unjs ecosystem.
##### 👉 Changelog
[compare
changes](https://redirect.github.com/nuxt/nuxt/compare/v3.17.6...v3.17.7 )
##### 🩹 Fixes
- **nuxt:** Safe-guard `extraPageMetaExtractionKeys`
([#​32510](https://redirect.github.com/nuxt/nuxt/pull/32510 ))
- **nuxt:** Expose `loadBuilder` error cause
([8f13ce3c2](https://redirect.github.com/nuxt/nuxt/commit/8f13ce3c2 ))
- **vite:** Handle resolving string vite input
([#​32527](https://redirect.github.com/nuxt/nuxt/pull/32527 ))
- **nuxt:** Wrap only server components with island generic
([#​32540](https://redirect.github.com/nuxt/nuxt/pull/32540 ))
- **vite:** Ignore when client entry cannot be resolved
([19a292f34](https://redirect.github.com/nuxt/nuxt/commit/19a292f34 ))
- **nuxt:** Normalize segment catchall pattern before checking for
parent
([#​32413](https://redirect.github.com/nuxt/nuxt/pull/32413 ))
- **nuxt:** Update warning message to warn against `null` values
([c1b83eab5](https://redirect.github.com/nuxt/nuxt/commit/c1b83eab5 ))
- **nuxt:** Ensure `semver.satisfies` returns true for pre-release
versions
([#​32574](https://redirect.github.com/nuxt/nuxt/pull/32574 ))
- **nuxt:** Scroll to anchor if present when changing page without saved
position
([#​32376](https://redirect.github.com/nuxt/nuxt/pull/32376 ))
- **nuxt:** Handle `execute being passed to `watch\`
([#​32591](https://redirect.github.com/nuxt/nuxt/pull/32591 ))
##### 📖 Documentation
- Update fetch types
([#​32522](https://redirect.github.com/nuxt/nuxt/pull/32522 ))
- Clarify that runtime env variables must start with `NUXT_`
([#​32223](https://redirect.github.com/nuxt/nuxt/pull/32223 ))
- Fix key change behavior in `useAsyncData` and `useFetch` migration
([#​32560](https://redirect.github.com/nuxt/nuxt/pull/32560 ))
- Change return type of async data from `undefined` to `null` in v3 docs
([#​32562](https://redirect.github.com/nuxt/nuxt/pull/32562 ))
- Add section on custom hooks for Nuxt modules
([#​32586](https://redirect.github.com/nuxt/nuxt/pull/32586 ))
- Provide `async` keyword
([#​32587](https://redirect.github.com/nuxt/nuxt/pull/32587 ))
- Move augmenting hook types in hooks page
([#​32595](https://redirect.github.com/nuxt/nuxt/pull/32595 ))
- Add section about module loading order
([#​32597](https://redirect.github.com/nuxt/nuxt/pull/32597 ))
##### ✅ Tests
- Reenable skipped unit tests
([8fc9b9ee9](https://redirect.github.com/nuxt/nuxt/commit/8fc9b9ee9 ))
- Update test snapshot for `generateTypes`
([c0855439d](https://redirect.github.com/nuxt/nuxt/commit/c0855439d ))
- Improve page scanning test stability
([84b96f3de](https://redirect.github.com/nuxt/nuxt/commit/84b96f3de ))
- Pass timeZone in to `<NuxtTime>` test
([#​32558](https://redirect.github.com/nuxt/nuxt/pull/32558 ))
- Add more useAsyncData + useFetch tests
([#​32585](https://redirect.github.com/nuxt/nuxt/pull/32585 ))
- Avoid hard-coding async-data keys
([bfca95118](https://redirect.github.com/nuxt/nuxt/commit/bfca95118 ))
##### ❤️ Contributors
- Daniel Roe
([@​danielroe](https://redirect.github.com/danielroe ))
- Julien Huang
([@​huang-julien](https://redirect.github.com/huang-julien ))
- abeer0 ([@​iiio2](https://redirect.github.com/iiio2 ))
- Bobbie Goede
([@​BobbieGoede](https://redirect.github.com/BobbieGoede ))
- Damian Głowala
([@​DamianGlowala](https://redirect.github.com/DamianGlowala ))
- Nestor Vera ([@​hacknug](https://redirect.github.com/hacknug ))
- Ezra Ashenafi ([@​Eazash](https://redirect.github.com/Eazash ))
- Mike Laumann Bellika
([@​MikeBellika](https://redirect.github.com/MikeBellika ))
- Maxime Pauvert
([@​maximepvrt](https://redirect.github.com/maximepvrt ))
- Chriest Yu ([@​jcppman](https://redirect.github.com/jcppman ))
- Andrei Hudalla
([@​paranoidPhantom](https://redirect.github.com/paranoidPhantom ))
- Sigrid Huemer ([@​s1gr1d](https://redirect.github.com/s1gr1d ))
- xjccc ([@​xjccc](https://redirect.github.com/xjccc ))
</details>
<details>
<summary>storybookjs/storybook (storybook)</summary>
###
[`v9.0.17`](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...06a11ce246b2e7a52d41e43420e37162c55133aa )
[Compare
Source](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...v9.0.17 )
</details>
<details>
<summary>typescript-eslint/typescript-eslint
(typescript-eslint)</summary>
###
[`v8.37.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8370-2025-07-14 )
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.36.0...v8.37.0 )
##### 🚀 Features
- **typescript-estree:** infer tsconfigRootDir from call stack
([#​11370](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11370 ))
##### ❤️ Thank You
- Josh Goldberg ✨
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning )
and
[releases](https://main--typescript-eslint.netlify.app/users/releases )
on our website.
</details>
<details>
<summary>google/zx (zx)</summary>
###
[`v8.7.1`](https://redirect.github.com/google/zx/releases/tag/8.7.1 ): —
Pipe Whisperer
[Compare
Source](https://redirect.github.com/google/zx/compare/8.7.0...8.7.1 )
Continues
[v8.7.0](https://redirect.github.com/google/zx/releases/tag/8.7.0 ):
handles new `ps()` corner case and improves `$.kill` mechanics on
Windows
[#​1266](https://redirect.github.com/google/zx/issues/1266 )
[#​1267](https://redirect.github.com/google/zx/pull/1267 )
[#​1269](https://redirect.github.com/google/zx/pull/1269 )
[webpod/ps#14 ](https://redirect.github.com/webpod/ps/pull/14 )
###
[`v8.7.0`](https://redirect.github.com/google/zx/releases/tag/8.7.0 ): —
Solder Savior
[Compare
Source](https://redirect.github.com/google/zx/compare/8.6.2...8.7.0 )
Important fixes for annoying flaky bugs
#### kill() 🐞
We've found an interesting case
[#​1262](https://redirect.github.com/google/zx/pull/1262 )
```js
const p = $`sleep 1000`
const {pid} = p // 12345
await p.kill()
```
If we kill the process again, the result might be unexpected:
```js
await ps({pid}) // {pid: 12345, ppid: 67890, command: 'another command', ...}
p.kill()
```
This happens because the `pid` may be reused by the system for another
process, so we've added extra assertions to prevent indeterminacy:
```js
p.kill() // Error: Too late to kill the process.
p.abort() // Error: Too late to abort the process.
```
#### ps() 🐛
- `ps()` uses
**[wmic](https://en.wikipedia.org/wiki/Windows_Management_Instrumentation )**
internally on Windows, it relies on *fragile* heuristics to parse the
output. We have improved this logic to handle more format variants, but
over time (in v9 maybe) we're planning to change the approach.
[#​1256](https://redirect.github.com/google/zx/pull/1256 )
[#​1263](https://redirect.github.com/google/zx/issues/1263 )
[webpod/ps#12 ](https://redirect.github.com/webpod/ps/pull/12 )
[webpod/ingrid#6 ](https://redirect.github.com/webpod/ingrid/pull/6 )
```js
const [root] = await ps.lookup({ pid: process.pid })
assert.equal(root.pid, process.pid)
```
###
[`v8.6.2`](https://redirect.github.com/google/zx/releases/tag/8.6.2 ): —
Flow Unstoppable
[Compare
Source](https://redirect.github.com/google/zx/compare/8.6.1...8.6.2 )
Fixes `$.prefix` & `$.postfix` values settings via env variables
[#​1261](https://redirect.github.com/google/zx/pull/1261 )
[#​1260](https://redirect.github.com/google/zx/issues/1260 )
###
[`v8.6.1`](https://redirect.github.com/google/zx/releases/tag/8.6.1 ): —
Drain Hero
[Compare
Source](https://redirect.github.com/google/zx/compare/8.6.0...8.6.1 )
- Use `process.env.SHELL` as default shell if defined
[#​1252](https://redirect.github.com/google/zx/pull/1252 )
```bash
SHELL=/bin/zsh zx script.js
```
- Accept numeric strings as `parseDuration()` arg
[#​1249](https://redirect.github.com/google/zx/pull/1249 )
```js
await sleep(1000) // 1 second
await sleep('1000') // 1 second
```
- Update docker base image to `node:24-alpine`
[#​1239](https://redirect.github.com/google/zx/pull/1239 )
- Docs improvements
[#​1242](https://redirect.github.com/google/zx/pull/1242 )
[#​1243](https://redirect.github.com/google/zx/pull/1243 )
[#​1246](https://redirect.github.com/google/zx/pull/1246 )
[#​1248](https://redirect.github.com/google/zx/pull/1248 )
[#​1251](https://redirect.github.com/google/zx/pull/1251 )
###
[`v8.6.0`](https://redirect.github.com/google/zx/releases/tag/8.6.0 ): —
Valve Vanguard
[Compare
Source](https://redirect.github.com/google/zx/compare/8.5.5...8.6.0 )
- Enabled `thenable` params processing for `$` literals
[#​1237](https://redirect.github.com/google/zx/pull/1237 )
```js
const a1 = $`echo foo`
const a2 = new Promise((resolve) => setTimeout(resolve, 20, ['bar', 'baz']))
await $`echo ${a1} ${a2}` // foo bar baz
```
- A dozen of internal refactorings
[#​1225](https://redirect.github.com/google/zx/pull/1225 )
[#​1226](https://redirect.github.com/google/zx/pull/1226 )
[#​1228](https://redirect.github.com/google/zx/pull/1228 )
[#​1229](https://redirect.github.com/google/zx/pull/1229 )
[#​1230](https://redirect.github.com/google/zx/pull/1230 )
[#​1231](https://redirect.github.com/google/zx/pull/1231 )
[#​1232](https://redirect.github.com/google/zx/pull/1232 )
[#​1233](https://redirect.github.com/google/zx/pull/1233 )
[#​1234](https://redirect.github.com/google/zx/pull/1234 )
[#​1235](https://redirect.github.com/google/zx/pull/1235 )
[#​1236](https://redirect.github.com/google/zx/pull/1236 )
[#​1238](https://redirect.github.com/google/zx/pull/1238 )
[#​1239](https://redirect.github.com/google/zx/pull/1239 )
- Deps bumping
- Bytes shrinking
- Docs improvements
###
[`v8.5.5`](https://redirect.github.com/google/zx/releases/tag/8.5.5 ): —
PVC Wizard
[Compare
Source](https://redirect.github.com/google/zx/compare/8.5.4...8.5.5 )
Minor feature polish.
- `ProcessPromise` and `ProcessOutput` `lines()` getters now accept a
custom delimiter
[#​1220](https://redirect.github.com/google/zx/issues/1220 )
[#​1218](https://redirect.github.com/google/zx/issues/1218 )
```ts
const cwd = tempdir()
const delimiter = '\0'
const p1 = $({
cwd
})`touch foo bar baz; find ./ -type f -print0 -maxdepth 1`
(await p1.lines(delimiter)).sort() // ['./bar', './baz', './foo']
// or via options
const lines = []
const p2 = $({
delimiter,
cwd,
})`find ./ -type f -print0 -maxdepth 1`
for await (const line of p2) {
lines.push(line)
}
lines.sort() // ['./bar', './baz', './foo']
```
- Handle `.nothrow()` option in `ProcessProcess[AsyncIterator]`
[#​1216](https://redirect.github.com/google/zx/pull/1216 )
[#​1217](https://redirect.github.com/google/zx/pull/1217 )
- Updates yaml to
[v2.8.0](https://redirect.github.com/eemeli/yaml/releases/tag/v2.8.0 )
[#​1221](https://redirect.github.com/google/zx/pull/1221 )
###
[`v8.5.4`](https://redirect.github.com/google/zx/releases/tag/8.5.4 ): —
Pipe Dreamer
[Compare
Source](https://redirect.github.com/google/zx/compare/8.5.3...8.5.4 )
- Fixed the `pipe(file: string)` signature type declaration
[#​1208](https://redirect.github.com/google/zx/issues/1208 )
[#​1209](https://redirect.github.com/google/zx/issues/1209 )
###
[`v8.5.3`](https://redirect.github.com/google/zx/releases/tag/8.5.3 ): —
Trap Master
[Compare
Source](https://redirect.github.com/google/zx/compare/8.5.2...8.5.3 )
- Another portion of JSR related improvements
[#​1193](https://redirect.github.com/google/zx/pull/1193 )
[#​1192](https://redirect.github.com/google/zx/pull/1192 )
- Goods refactoring
[#​1195](https://redirect.github.com/google/zx/pull/1195 )
- Fixes `expBackoff` implementation
- Sets `$.log.output` as default `spinner()` output
- Makes configurable `question()` I/O
- Added
[Graaljs](https://www.graalvm.org/latest/reference-manual/js/NodeJS/ )
compatability test
[#​1194](https://redirect.github.com/google/zx/pull/1194 )
- Docs improvements, usage examples updates
[#​1198](https://redirect.github.com/google/zx/pull/1198 )
###
[`v8.5.2`](https://redirect.github.com/google/zx/releases/tag/8.5.2 ): —
Threaded Perfection
[Compare
Source](https://redirect.github.com/google/zx/compare/8.5.0...8.5.2 )
- Various JSR fixes
[#​1189](https://redirect.github.com/google/zx/pull/1189 )
[#​1186](https://redirect.github.com/google/zx/pull/1186 )
[#​1179](https://redirect.github.com/google/zx/pull/1179 )
[#​1187](https://redirect.github.com/google/zx/pull/1187 )
- Docs improvements
[#​1185](https://redirect.github.com/google/zx/pull/1185 )
[#​1181](https://redirect.github.com/google/zx/pull/1181 )
###
[`v8.5.0`](https://redirect.github.com/google/zx/releases/tag/8.5.0 ): —
Flow Splitter
[Compare
Source](9ba1fb4b8d ...8.5.0)
In this release we're significantly expanding the zx setup capabilities.
#### zx@lite
Just core functions without extras, ~7x smaller than the full version.
[#​1131](https://redirect.github.com/google/zx/pull/1131 )
```shell
npm i zx@lite
npm i zx@8.5.0-lite
```
Detailed comparison: [zx/versions](https://google.github.io/zx/versions )
```ts
import { $ } from 'zx'
await $`echo foo`
```
#### Channels
We have completely reforged the distribution flow. Now zx is available
in multiple formats:
- [npmjs](https://www.npmjs.com/package/zx )
- [GH npm](https://redirect.github.com/google/zx/pkgs/npm/zx )
- [GH repo](https://redirect.github.com/google/zx )
- [GH docker](https://redirect.github.com/google/zx/pkgs/container/zx )
- [JSR](https://jsr.io/@​webpod/zx )
-
[Homebrew](https://redirect.github.com/Homebrew/homebrew-core/blob/master/Formula/z/zx.rb )
```shell
### npm pkg from registry.npmjs.org
npm i zx
### install directly from the GH
npm i google/zx
### from GH the npm registry
npm i --registry=https://npm.pkg.github.com @​google/zx
### fetch from the JSR
### https://jsr.io/docs/using-packages
### @​webpod is temporary JSR scope until @​google/zx becomes ready, we'll migrate later
npx jsr add @​webpod/zx
deno add jsr:@​webpod/zx
### homebrew formula
### https://github.com/Homebrew/homebrew-core/blob/master/Formula/z/zx.rb
brew install zx
```
[#​1141](https://redirect.github.com/google/zx/pull/1141 )...
[#​1157](https://redirect.github.com/google/zx/pull/1157 )
#### Docker
If you'd prefer to run zx in a container, you can pull the image from
the GH docker registry.
[node:22-alpine](https://hub.docker.com/_/node ) is used as a base.
[#​1142](https://redirect.github.com/google/zx/pull/1142 )
[#​1145](https://redirect.github.com/google/zx/pull/1145 )
```shell
docker pull ghcr.io/google/zx:8.5.0
docker run -t ghcr.io/google/zx:8.5.0 -e="await \$({verbose: true})\`echo foo\`"
docker run -t -i -v ./:/script ghcr.io/google/zx:8.5.0 script/t.js
```
#### Chores
- Introduced fetch pipe helper to bypass string size limits
[#​1130](https://redirect.github.com/google/zx/pull/1130 )
[#​977](https://redirect.github.com/google/zx/issues/977 )
```ts
const p1 = fetch('https://example.com ').pipe($`cat`)
const p2 = fetch('https://example.com ').pipe`cat`
```
- Added `glob.sync` shortcut
[#​1135](https://redirect.github.com/google/zx/pull/1135 )
```ts
import { glob } from 'zx'
const packages = glob.sync(['package.json', 'packages/*/package.json'])
```
- Restored CLI flags and envars symmetry
[#​1137](https://redirect.github.com/google/zx/pull/1137 )
[#​1138](https://redirect.github.com/google/zx/pull/1138 )
```shell
ZX_REGISTRY='https://custom-registry.example.com ' zx script.js
```
- Enhanced errors stacktrace formatting
[#​1166](https://redirect.github.com/google/zx/pull/1166 )
- Improved 3rd party licenses digest
[#​1140](https://redirect.github.com/google/zx/pull/1140 )
- Enabled zizmor checks
[#​1126](https://redirect.github.com/google/zx/pull/1126 )
- Docs improvements
[#​1128](https://redirect.github.com/google/zx/pull/1128 )
[#​1134](https://redirect.github.com/google/zx/pull/1134 )
[#​1136](https://redirect.github.com/google/zx/pull/1136 )
[#​1164](https://redirect.github.com/google/zx/pull/1164 )
###
[`v8.4.2`](https://redirect.github.com/google/zx/compare/8.4.1...9ba1fb4b8d17a4f5f0067d438b49568606469903 )
[Compare
Source](https://redirect.github.com/google/zx/compare/8.4.1...9ba1fb4b8d17a4f5f0067d438b49568606469903 )
###
[`v8.4.1`](https://redirect.github.com/google/zx/releases/tag/8.4.1 ): –
Rusty Elbow
[Compare
Source](https://redirect.github.com/google/zx/compare/8.4.0...8.4.1 )
Logger enhancements are arriving in this release.
[#​1119](https://redirect.github.com/google/zx/issues/1119 )
[#​1122](https://redirect.github.com/google/zx/pull/1122 )
[#​1123](https://redirect.github.com/google/zx/pull/1123 )
[#​1125](https://redirect.github.com/google/zx/pull/1125 )
- You can customize the output by defining your own formatters for each
log entry kind.
```ts
$.log.formatters = {
cmd: (entry: LogEntry) => `CMD: ${entry.cmd}`,
fetch: (entry: LogEntry) => `FETCH: ${entry.url}`
//...
}
```
- Cmd highlighter now *should* properly detect bins and arguments. If
still not, please report it in
[#​1122](https://redirect.github.com/google/zx/pull/1122 )
- Switched to TS 5.8
[#​1120](https://redirect.github.com/google/zx/pull/1120 )
- Applied [zizmor](https://woodruffw.github.io/zizmor/ ) to check GHA
workflows
[#​1126](https://redirect.github.com/google/zx/pull/1126 )
- Prettier is now enabled as a pre-commit hook
[#​1118](https://redirect.github.com/google/zx/pull/1118 )
###
[`v8.4.0`](https://redirect.github.com/google/zx/releases/tag/8.4.0 ): –
Drip Detective
[Compare
Source](https://redirect.github.com/google/zx/compare/8.3.2...8.4.0 )
Try the new batch of enhancements: `npm i zx@8.4.0`
https://www.npmjs.com/package/zx/v/8.4.0
#### Changes
- The CLI option `--prefer-local` now allows linking both external
binaries and packages
[#​1116](https://redirect.github.com/google/zx/pull/1116 )
[#​1117](https://redirect.github.com/google/zx/pull/1117 )
```js
const cwd = tmpdir()
const external = tmpdir()
await fs.outputJson(path.join(external, 'node_modules/a/package.json'), {
name: 'a',
version: '1.0.0',
type: 'module',
exports: './index.js',
})
await fs.outputFile(
path.join(external, 'node_modules/a/index.js'),
`
export const a = 'AAA'
`
)
const script = `
import {a} from 'a'
console.log(a);
`
const out = await $`zx --cwd=${cwd} --prefer-local=${external} --test <<< ${script}`
assert.equal(out.stdout, 'AAA\n')
```
- The `quote` has been slightly changed for a conner case, when zx
literal gets an array.
[#​999](https://redirect.github.com/google/zx/issues/999 )
[#​1113](https://redirect.github.com/google/zx/issues/1113 )
```js
const p = $({prefix: '', postfix: ''})`echo ${[1, '', '*', '2']}`
// before
p.cmd // `echo 1 $'*' 2`)
// after
p.cmd // `echo 1 $'' $'*' 2`)
```
- Provided support for custom script extensions via CLI
[#​1104](https://redirect.github.com/google/zx/pull/1104 )
[#​1105](https://redirect.github.com/google/zx/pull/1105 )
```bash
zx script.zx # Unknown file extension "\.zx"
zx --ext=mjs script.zx # OK
```
- Enhanced `nothrow` option to suppress any errors
[#​1108](https://redirect.github.com/google/zx/pull/1108 )
[#​1109](https://redirect.github.com/google/zx/pull/1109 )
```js
const err = new Error('BrokenSpawn')
const o = await $({
nothrow: true,
spawn() {
throw err
},
})`echo foo`
o.ok // false
o.exitCode // null
o.message // BrokenSpawn...
o.cause // err
```
- `@types/node` and `@types/fs-extra` deps replaced with triple-slash
typing refs
[#​1102](https://redirect.github.com/google/zx/pull/1102 )
- Made `ProcessOutput` iterable
[#​1101](https://redirect.github.com/google/zx/pull/1101 )
- Handle inappropriate `ProcessPromise` instantiation
[#​1097](https://redirect.github.com/google/zx/pull/1097 )
[#​1098](https://redirect.github.com/google/zx/pull/1098 )
- Pass origin error as `ProcessOuput` cause
[#​1110](https://redirect.github.com/google/zx/pull/1110 )
- Separated build and release steps
[#​1106](https://redirect.github.com/google/zx/pull/1106 )
- Internal improvements
- Introduced API bus
[#​1083](https://redirect.github.com/google/zx/pull/1083 )
- Optimized `ProcessOutput` inners
[#​1096](https://redirect.github.com/google/zx/pull/1096 )
[#​1095](https://redirect.github.com/google/zx/pull/1095 )
- Pinned deps
[#​1099](https://redirect.github.com/google/zx/pull/1099 )
[#​1100](https://redirect.github.com/google/zx/pull/1100 )
- Switched to explicit `.ts` extensions for relative imports
[#​1111](https://redirect.github.com/google/zx/pull/1111 )
</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 becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-15 14:55:56 -04:00
github-actions[bot]
81808ada0f
chore(main): release 4.10.0 ( #1505 )
...
🤖 I have created a release *beep* *boop*
---
## [4.10.0](https://github.com/unraid/api/compare/v4.9.5...v4.10.0 )
(2025-07-15)
### Features
* trial extension allowed within 5 days of expiration
([#1490 ](https://github.com/unraid/api/issues/1490 ))
([f34a33b ](f34a33bc9f ))
### Bug Fixes
* delay `nginx:reload` file mod effect by 10 seconds
([#1512 ](https://github.com/unraid/api/issues/1512 ))
([af33e99 ](af33e999a0 ))
* **deps:** update all non-major dependencies
([#1489 ](https://github.com/unraid/api/issues/1489 ))
([53b05eb ](53b05ebe5e ))
* ensure no crash if emhttp state configs are missing
([#1514 ](https://github.com/unraid/api/issues/1514 ))
([1a7d35d ](1a7d35d3f6 ))
* **my.servers:** improve DNS resolution robustness for backup server
([#1518 ](https://github.com/unraid/api/issues/1518 ))
([eecd9b1 ](eecd9b1017 ))
* over-eager cloud query from web components
([#1506 ](https://github.com/unraid/api/issues/1506 ))
([074370c ](074370c42c ))
* replace myservers.cfg reads in UpdateFlashBackup.php
([#1517 ](https://github.com/unraid/api/issues/1517 ))
([441e180 ](441e1805c1 ))
* rm short-circuit in `rc.unraid-api` if plugin config dir is absent
([#1515 ](https://github.com/unraid/api/issues/1515 ))
([29dcb7d ](29dcb7d0f0 ))
---
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-07-15 14:32:44 -04:00
Eli Bosley
eecd9b1017
fix(my.servers): improve DNS resolution robustness for backup server ( #1518 )
...
Add multiple fallback methods for DNS resolution when checking
backup.unraid.net
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved reliability of DNS resolution checks for backup services,
reducing false error reports.
* Enhanced error messages to provide clearer guidance if DNS resolution
fails, including advice to check DNS settings in network configuration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-15 11:33:21 -04:00
Pujit Mehrotra
441e1805c1
fix: replace myservers.cfg reads in UpdateFlashBackup.php ( #1517 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added a new method for verifying user sign-in status using a dedicated
configuration handler.
* Introduced a class to manage connection configuration and status
checks.
* **Refactor**
* Updated logic for checking connection and registration status to use
new configuration handling methods for improved clarity and reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-15 10:30:04 -04:00
Pujit Mehrotra
29dcb7d0f0
fix: rm short-circuit in rc.unraid-api if plugin config dir is absent ( #1515 )
...
This short-circuit causes any/all `rc.unraid-api` invocations to
immediately fail on fresh 7.2 images (because
`/boot/config/dynamix.my.servers` doesn't exist).
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Refactor**
* Removed initial checks and setup for a plugin directory and default
environment file in the startup script.
* Simplified environment switching with streamlined commands and
improved error handling.
* Removed deprecated environment path references and updated related
tests.
* **Documentation**
* Added descriptive comments clarifying build and environment settings.
* **Tests**
* Updated test cases by removing assertions related to deprecated
environment paths.
* **Maintenance**
* Updated timestamp fixtures for consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-15 09:48:12 -04:00
Pujit Mehrotra
1a7d35d3f6
fix: ensure no crash if emhttp state configs are missing ( #1514 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added new utility functions to improve file writing reliability by
ensuring parent directories exist before writing.
* Introduced a new watch command for easier development workflow in the
shared package.
* **Bug Fixes**
* Improved startup behavior by logging warnings for missing
configuration keys instead of crashing, allowing initialization to
proceed.
* **Chores**
* Updated configuration version number and reformatted plugin list for
clarity.
* Relocated certain GraphQL schema type and enum declarations without
changing their content.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---
- To see the specific tasks where the Asana app for GitHub is being
used, see below:
- https://app.asana.com/0/0/1210788779106748
2025-07-15 09:48:01 -04:00
Pujit Mehrotra
af33e999a0
fix: delay nginx:reload file mod effect by 10 seconds ( #1512 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Enhancements**
* Added logging to indicate when Nginx is successfully reloaded.
* Introduced a 10-second delay with a log message before triggering
Nginx reloads in file modification effects.
* **Style**
* Removed a startup message from the Unraid API service plugin
installation process.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: Eli Bosley <ekbosley@gmail.com >
2025-07-14 11:12:20 -04:00
renovate[bot]
85a35804c1
chore(deps): pin dependencies ( #1478 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [jiti](https://redirect.github.com/unjs/jiti ) | devDependencies | pin
| [`^2.4.2` ->
`2.4.2`](https://renovatebot.com/diffs/npm/jiti/2.4.2/2.4.2 ) |
| [node](https://redirect.github.com/actions/node-versions ) | uses-with
| pin | `22` -> `22.17.0` |
| [wrangler](https://redirect.github.com/cloudflare/workers-sdk )
([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler ))
| devDependencies | pin | [`^4.0.0` ->
`4.24.3`](https://renovatebot.com/diffs/npm/wrangler/4.24.3/4.24.3 ) |
| [ws](https://redirect.github.com/websockets/ws ) | peerDependencies |
pin | [`^8.18.0` ->
`8.18.3`](https://renovatebot.com/diffs/npm/ws/8.18.3/8.18.3 ) |
Add the preset `:preserveSemverRanges` to your config if you don't want
to pin your dependencies.
---
### 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 11:11:46 -04:00
Eli Bosley
a35c8ff2f1
refactor(install): add debugging to install process
...
- Remove redundant log file handling and display errors directly to users
- Add debug information for troubleshooting installation issues
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved installation and verification scripts to display output and
error messages directly to the user, rather than writing to a log file.
* Enhanced error messages to provide clearer instructions when issues
occur during installation or verification.
* **New Features**
* Added detailed debug output during the API service startup to assist
with troubleshooting.
* **Chores**
* Updated script environments and streamlined directory creation for
improved reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-14 10:59:05 -04:00
renovate[bot]
153e7a1e3a
chore(deps): update dependency @vitejs/plugin-vue to v6 ( #1431 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
|
[@vitejs/plugin-vue](https://redirect.github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme )
([source](https://redirect.github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue ))
| [`5.2.4` ->
`6.0.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-vue/5.2.4/6.0.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>vitejs/vite-plugin-vue (@​vitejs/plugin-vue)</summary>
###
[`v6.0.0`](https://redirect.github.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#600-2025-06-24 )
##### Bug Fixes
- **deps:** update all non-major dependencies
([#​590](https://redirect.github.com/vitejs/vite-plugin-vue/issues/590 ))
([43426c8](43426c8476 ))
- **deps:** update all non-major dependencies
([#​600](https://redirect.github.com/vitejs/vite-plugin-vue/issues/600 ))
([a4c32a8](a4c32a84f3 ))
- **deps:** update all non-major dependencies
([#​605](https://redirect.github.com/vitejs/vite-plugin-vue/issues/605 ))
([67534e5](67534e5d8c ))
- **deps:** update all non-major dependencies
([#​609](https://redirect.github.com/vitejs/vite-plugin-vue/issues/609 ))
([98c52eb](98c52eb594 ))
##### Miscellaneous Chores
- add `description` and `keywords` field to package.json
([#​604](https://redirect.github.com/vitejs/vite-plugin-vue/issues/604 ))
([67ab76b](67ab76b485 ))
- **deps:** update dependency rollup to ^4.41.1
([#​591](https://redirect.github.com/vitejs/vite-plugin-vue/issues/591 ))
([256ac31](256ac314e6 ))
- **deps:** update dependency rollup to ^4.43.0
([#​601](https://redirect.github.com/vitejs/vite-plugin-vue/issues/601 ))
([a495edf](a495edf617 ))
- remove Vite 7 beta from supported range
([#​598](https://redirect.github.com/vitejs/vite-plugin-vue/issues/598 ))
([c7ddd62](c7ddd625a7 ))
##### Code Refactoring
- always use `crypto.hash`
([#​606](https://redirect.github.com/vitejs/vite-plugin-vue/issues/606 ))
([5de85f6](5de85f6a15 ))
</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 becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-11 15:29:14 -04:00
renovate[bot]
e73fc356cb
chore(deps): update dependency wrangler to v4 ( #1508 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [wrangler](https://redirect.github.com/cloudflare/workers-sdk )
([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler ))
| [`^3.114.10` ->
`^4.0.0`](https://renovatebot.com/diffs/npm/wrangler/3.114.10/4.24.3 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>cloudflare/workers-sdk (wrangler)</summary>
###
[`v4.24.3`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4243 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.24.2...wrangler@4.24.3 )
##### Patch Changes
-
[#​9923](https://redirect.github.com/cloudflare/workers-sdk/pull/9923 )
[`c01c4ee`](c01c4ee6af )
Thanks [@​gpanders](https://redirect.github.com/gpanders )! - Fix
image name resolution when modifying a container application
-
[#​9833](https://redirect.github.com/cloudflare/workers-sdk/pull/9833 )
[`3743896`](3743896120 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- fix: ensure that container builds don't disrupt dev hotkey handling
currently container builds run during local development (via `wrangler
dev` or `startWorker`) prevent the standard hotkeys not to be recognized
(most noticeably `ctrl+c`, preventing developers from existing the
process), the changes here ensure that hotkeys are instead correctly
handled as expected
- Updated dependencies \[]:
- miniflare@4.20250709 .0
###
[`v4.24.2`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4242 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.24.1...wrangler@4.24.2 )
##### Patch Changes
-
[#​9917](https://redirect.github.com/cloudflare/workers-sdk/pull/9917 )
[`80cc834`](80cc83403e )
Thanks [@​edmundhung](https://redirect.github.com/edmundhung )! -
fix: assets only versions upload should include tag and message
###
[`v4.24.1`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4241 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.24.0...wrangler@4.24.1 )
##### Patch Changes
-
[#​9765](https://redirect.github.com/cloudflare/workers-sdk/pull/9765 )
[`05adc61`](05adc615c9 )
Thanks
[@​hasip-timurtas](https://redirect.github.com/hasip-timurtas )! -
Build container images without the user's account ID. This allows
containers to be built and verified in dry run mode (where we do not
necessarily have the user's account info).
When we push the image to the managed registry, we first re-tag the
image to include the user's account ID so that the image has the full
resolved image name.
- Updated dependencies
\[[`bb09e50`](bb09e50d8e ),
[`25dbe54`](25dbe5480d ),
[`3bdec6b`](3bdec6b768 )]:
- miniflare@4.20250709 .0
###
[`v4.24.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4240 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.23.0...wrangler@4.24.0 )
##### Minor Changes
-
[#​9796](https://redirect.github.com/cloudflare/workers-sdk/pull/9796 )
[`ba69586`](ba69586d8f )
Thanks [@​simonabadoiu](https://redirect.github.com/simonabadoiu )!
- Browser Rendering local mode
-
[#​9825](https://redirect.github.com/cloudflare/workers-sdk/pull/9825 )
[`49c85c5`](49c85c5306 )
Thanks [@​ReppCodes](https://redirect.github.com/ReppCodes )! - Add
support for origin\_connection\_limit to Wrangler
Configure connection limits to Hyperdrive via command line options:
- `--origin-connection-limit`: The (soft) maximum number of connections
that Hyperdrive may establish to the origin database.
-
[#​9064](https://redirect.github.com/cloudflare/workers-sdk/pull/9064 )
[`a1181bf`](a1181bf804 )
Thanks [@​sdnts](https://redirect.github.com/sdnts )! - Added an
`event-subscriptions` subcommand
##### Patch Changes
-
[#​9729](https://redirect.github.com/cloudflare/workers-sdk/pull/9729 )
[`1b3a2b7`](1b3a2b71b7 )
Thanks [@​404Wolf](https://redirect.github.com/404Wolf )! - Set
docker build context to the Dockerfile directory when
`image_build_context` is not explicitly provided
-
[#​9845](https://redirect.github.com/cloudflare/workers-sdk/pull/9845 )
[`dbfa4ef`](dbfa4ef4d4 )
Thanks [@​jonboulle](https://redirect.github.com/jonboulle )! -
remove extraneous double spaces from Wrangler help output
-
[#​9811](https://redirect.github.com/cloudflare/workers-sdk/pull/9811 )
[`fc29c31`](fc29c31ae0 )
Thanks [@​gpanders](https://redirect.github.com/gpanders )! - Fix
unauthorized errors on "containers images delete".
-
[#​9813](https://redirect.github.com/cloudflare/workers-sdk/pull/9813 )
[`45497ab`](45497ab4a4 )
Thanks [@​gpanders](https://redirect.github.com/gpanders )! -
Support container image names without account ID
-
[#​9821](https://redirect.github.com/cloudflare/workers-sdk/pull/9821 )
[`a447d67`](a447d6722a )
Thanks
[@​WillTaylorDev](https://redirect.github.com/WillTaylorDev )! -
Preview Aliases: Force alias generation to meet stricter naming
requirements.
For cases where CI is requesting Wrangler to generate the alias based on
the branch name, we want a stricter check around the generated alias
name in order to avoid version upload failures. If a valid alias name
was not able to be generated, we warn and do not provide an alias
(avoiding a version upload failure).
-
[#​9840](https://redirect.github.com/cloudflare/workers-sdk/pull/9840 )
[`7c55f9e`](7c55f9e1ea )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- fix: make sure that the experimental `remoteBindings` flag is properly
handled in `getPlatformProxy`
There are two issues related to how the experimental `remoteBindings`
flag is handled in `getPlatformProxy` that are being fixed by this
change:
- the `experimental_remote` configuration flag set on service bindings
is incorrectly always taken into account, even if `remoteBindings` is
set to `false`
- the `experimental_remote` configuration flag of all the other bindings
is never taken into account (effectively preventing the bindings to be
used in remote mode) since the `remoteBindings` flag is not being
properly propagated
-
[#​9801](https://redirect.github.com/cloudflare/workers-sdk/pull/9801 )
[`0bb619a`](0bb619a929 )
Thanks [@​IRCody](https://redirect.github.com/IRCody )! -
Containers: Fix issue where setting an image URI instead of dockerfile
would incorrectly not update the image
-
[#​9872](https://redirect.github.com/cloudflare/workers-sdk/pull/9872 )
[`a727db3`](a727db341a )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
fix: resolve Dockerfile path relative to the Wrangler config path
This fixes a bug where Wrangler would not be able to find a Dockerfile
if a Wrangler config path had been specified with the `--config` flag.
-
[#​9815](https://redirect.github.com/cloudflare/workers-sdk/pull/9815 )
[`1358034`](1358034ec2 )
Thanks [@​gpanders](https://redirect.github.com/gpanders )! -
Remove --json flag from containers and cloudchamber commands (except for
"images list")
-
[#​9734](https://redirect.github.com/cloudflare/workers-sdk/pull/9734 )
[`1a58bc3`](1a58bc34d6 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! - Make
Wrangler warn more loudly if you're missing auth scopes
-
[#​9748](https://redirect.github.com/cloudflare/workers-sdk/pull/9748 )
[`7e3aa1b`](7e3aa1b774 )
Thanks [@​alsuren](https://redirect.github.com/alsuren )! -
Internal-only WRANGLER\_D1\_EXTRA\_LOCATION\_CHOICES environment
variable for enabling D1's testing location hints
- Updated dependencies
\[[`ba69586`](ba69586d8f ),
[`1a75f85`](1a75f85ae9 ),
[`395f36d`](395f36de12 ),
[`6f344bf`](6f344bfe31 )]:
- miniflare@4.20250705 .0
###
[`v4.23.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4230 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.22.0...wrangler@4.23.0 )
##### Minor Changes
-
[#​9535](https://redirect.github.com/cloudflare/workers-sdk/pull/9535 )
[`56dc5c4`](56dc5c4946 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! - In
2023 we announced [breakpoint debugging
support](https://blog.cloudflare.com/debugging-cloudflare-workers/ ) for
Workers, which meant that you could easily debug your Worker code in
Wrangler's built-in devtools (accessible via the `[d]` hotkey) as well
as multiple other devtools clients, [including
VSCode](https://developers.cloudflare.com/workers/observability/dev-tools/breakpoints/ ).
For most developers, breakpoint debugging via VSCode is the most natural
flow, but until now it's required [manually configuring a `launch.json`
file](https://developers.cloudflare.com/workers/observability/dev-tools/breakpoints/#setup-vs-code-to-use-breakpoints ),
running `wrangler dev`, and connecting via VSCode's built-in debugger.
Now, using VSCode's built-in [JavaScript Debug
Terminals](https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_javascript-debug-terminal ),
there are just two steps: open a JS debug terminal and run `wrangler
dev` (or `vite dev`). VSCode will automatically connect to your running
Worker (even if you're running multiple Workers at once!) and start a
debugging session.
-
[#​9810](https://redirect.github.com/cloudflare/workers-sdk/pull/9810 )
[`8acaf43`](8acaf432ac )
Thanks
[@​WillTaylorDev](https://redirect.github.com/WillTaylorDev )! -
WC-3626 Pull branch name from WORKERS\_CI\_BRANCH if exists.
##### Patch Changes
-
[#​9775](https://redirect.github.com/cloudflare/workers-sdk/pull/9775 )
[`4309bb3`](4309bb30d2 )
Thanks [@​vicb](https://redirect.github.com/vicb )! - Cap the
number of errors and warnings for bulk KV put to avoid consuming too
much memory
-
[#​9799](https://redirect.github.com/cloudflare/workers-sdk/pull/9799 )
[`d11288a`](d11288aff5 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Better messaging for account owned tokens in `wrangler whoami`
- Updated dependencies
\[[`56dc5c4`](56dc5c4946 )]:
- miniflare@4.20250617 .5
###
[`v4.22.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4220 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.21.2...wrangler@4.22.0 )
##### Minor Changes
-
[#​7871](https://redirect.github.com/cloudflare/workers-sdk/pull/7871 )
[`f2a8d4a`](f2a8d4a91e )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- add support for assets bindings to `getPlatformProxy`
this change makes sure that that `getPlatformProxy`, when the input
configuration
file contains an assets field, correctly returns the appropriate asset
binding proxy
example:
```jsonc
// wrangler.jsonc
{
"name": "my-worker",
"assets": {
"directory": "./public/",
"binding": "ASSETS",
},
}
```
```js
import { getPlatformProxy } from "wrangler";
const { env, dispose } = await getPlatformProxy();
const text = await (await
env.ASSETS.fetch("http://0.0.0.0/file.txt ")).text();
console.log(text); // logs the content of file.txt
await dispose();
```
##### Patch Changes
-
[#​9717](https://redirect.github.com/cloudflare/workers-sdk/pull/9717 )
[`d2f2f72`](d2f2f726a1 )
Thanks
[@​nikitassharma](https://redirect.github.com/nikitassharma )! -
Containers should default to a "dev" instance type when no instance type
is specified in the wrangler config
-
[#​9620](https://redirect.github.com/cloudflare/workers-sdk/pull/9620 )
[`1b967ea`](1b967ea0ef )
Thanks [@​gpanders](https://redirect.github.com/gpanders )! -
Simplify containers images list output format
-
[#​9684](https://redirect.github.com/cloudflare/workers-sdk/pull/9684 )
[`94a340e`](94a340e121 )
Thanks
[@​WillTaylorDev](https://redirect.github.com/WillTaylorDev )! -
Select only successfully deployed deployments when tailing.
###
[`v4.21.2`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4212 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.21.1...wrangler@4.21.2 )
##### Patch Changes
-
[#​9731](https://redirect.github.com/cloudflare/workers-sdk/pull/9731 )
[`75b75f3`](75b75f3de7 )
Thanks [@​gabivlj](https://redirect.github.com/gabivlj )! -
containers: Check for container scopes before running a container
command to give a better error
-
[#​9641](https://redirect.github.com/cloudflare/workers-sdk/pull/9641 )
[`fdbc9f6`](fdbc9f6048 )
Thanks [@​IRCody](https://redirect.github.com/IRCody )! - Update
container builds to use a more robust method for detecting if the
currently built image already exists.
-
[#​9736](https://redirect.github.com/cloudflare/workers-sdk/pull/9736 )
[`55c83a7`](55c83a7cf9 )
Thanks [@​gabivlj](https://redirect.github.com/gabivlj )! -
containers: Do not check scopes if not defined
-
[#​9667](https://redirect.github.com/cloudflare/workers-sdk/pull/9667 )
[`406fba5`](406fba5fa2 )
Thanks [@​IRCody](https://redirect.github.com/IRCody )! - Fail
earlier in the deploy process when deploying a container worker if
docker is not detected.
###
[`v4.21.1`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4211 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.21.0...wrangler@4.21.1 )
##### Patch Changes
-
[#​9626](https://redirect.github.com/cloudflare/workers-sdk/pull/9626 )
[`9c938c2`](9c938c2183 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Support `wrangler version upload` for Python Workers
-
[#​9718](https://redirect.github.com/cloudflare/workers-sdk/pull/9718 )
[`fb83341`](fb83341bed )
Thanks [@​mhart](https://redirect.github.com/mhart )! - fix error
message when docker daemon is not running
-
[#​9689](https://redirect.github.com/cloudflare/workers-sdk/pull/9689 )
[`b137a6f`](b137a6f090 )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
fix: correctly pass container engine config to miniflare
-
[#​9722](https://redirect.github.com/cloudflare/workers-sdk/pull/9722 )
[`29e911a`](29e911abbb )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
Update containers config schema.
Deprecates `containers.configuration` in favour of top level fields.
Makes top level `image` required. Deprecates `instances` and
`durable_objects`. Makes `name` optional.
-
[#​9666](https://redirect.github.com/cloudflare/workers-sdk/pull/9666 )
[`f3c5791`](f3c5791e3a )
Thanks [@​IRCody](https://redirect.github.com/IRCody )! - Add a
reasonable default name for containers that have no defined name.
- Updated dependencies
\[[`b137a6f`](b137a6f090 )]:
- miniflare@4.20250617 .4
###
[`v4.21.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4210 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.20.5...wrangler@4.21.0 )
##### Minor Changes
-
[#​9692](https://redirect.github.com/cloudflare/workers-sdk/pull/9692 )
[`273952f`](273952ff89 )
Thanks [@​dom96](https://redirect.github.com/dom96 )! - Condenses
Python vendored modules in output table
-
[#​9654](https://redirect.github.com/cloudflare/workers-sdk/pull/9654 )
[`2a5988c`](2a5988c50a )
Thanks [@​dom96](https://redirect.github.com/dom96 )! - Python
Workers now automatically bundle .so files from vendored packages
##### Patch Changes
-
[#​9695](https://redirect.github.com/cloudflare/workers-sdk/pull/9695 )
[`0e64c35`](0e64c3515f )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
Move hotkey registration later in dev start up
This should have no functional change, but allows us to conditionally
render hotkeys based on config.
-
[#​9098](https://redirect.github.com/cloudflare/workers-sdk/pull/9098 )
[`ef20754`](ef207546d6 )
Thanks [@​jseba](https://redirect.github.com/jseba )! - Migrate
Workers Containers commands to Containers API Endpoints
The Workers Containers API was built on top of Cloudchamber, but has now
been moved to its own API
with a reduced scoping and new token.
-
[#​9712](https://redirect.github.com/cloudflare/workers-sdk/pull/9712 )
[`2a4c467`](2a4c467d83 )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
Make `wrangler container` commands print `open-beta` status
###
[`v4.20.5`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4205 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.20.4...wrangler@4.20.5 )
##### Patch Changes
-
[#​9688](https://redirect.github.com/cloudflare/workers-sdk/pull/9688 )
[`086e29d`](086e29daf4 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- add remote bindings support to `getPlatformProxy`
Example:
```json
// wrangler.jsonc
{
"name": "get-platform-proxy-test",
"services": [
{
"binding": "MY_WORKER",
"service": "my-worker",
"experimental_remote": true
}
]
}
```
```js
// index.mjs
import { getPlatformProxy } from "wrangler";
const { env } = await getPlatformProxy({
experimental: {
remoteBindings: true,
},
});
// env.MY_WORKER.fetch() fetches from the remote my-worker service
```
-
[#​9558](https://redirect.github.com/cloudflare/workers-sdk/pull/9558 )
[`d5edf52`](d5edf52b43 )
Thanks
[@​ichernetsky-cf](https://redirect.github.com/ichernetsky-cf )! -
`wrangler containers apply` uses `observability` configuration.
-
[#​9678](https://redirect.github.com/cloudflare/workers-sdk/pull/9678 )
[`24b2c66`](24b2c666cf )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- remove warnings during config validations on `experimental_remote`
fields
wrangler commands, run without the `--x-remote-bindings` flag, parsing
config files containing `experimental_remote` fields currently show
warnings stating that the field is not recognized. This is usually more
cumbersome than helpful so here we're loosening up this validation and
making wrangler always recognize the field even when no
`--x-remote-bindings` flag is provided
-
[#​9633](https://redirect.github.com/cloudflare/workers-sdk/pull/9633 )
[`3f478af`](3f478af7f1 )
Thanks
[@​nikitassharma](https://redirect.github.com/nikitassharma )! -
Add support for setting an instance type for containers in wrangler.
This allows users to configure memory, disk, and vCPU by setting
instance type when interacting with containers.
-
[#​9596](https://redirect.github.com/cloudflare/workers-sdk/pull/9596 )
[`5162c51`](5162c51946 )
Thanks
[@​CarmenPopoviciu](https://redirect.github.com/CarmenPopoviciu )!
- add ability to pull images for containers local dev
- Updated dependencies
\[[`bfb791e`](bfb791e708 ),
[`5162c51`](5162c51946 )]:
- miniflare@4.20250617 .3
###
[`v4.20.4`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4204 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.20.3...wrangler@4.20.4 )
##### Patch Changes
-
[#​9673](https://redirect.github.com/cloudflare/workers-sdk/pull/9673 )
[`ffa742f`](ffa742f32f )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- fix: ensure that wrangler deploy and version upload don't override the
remote-bindings flag
-
[#​9653](https://redirect.github.com/cloudflare/workers-sdk/pull/9653 )
[`8a60fe7`](8a60fe76ec )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Rename `WRANGLER_CONTAINERS_DOCKER_PATH` to `WRANGLER_DOCKER_BIN`
-
[#​9664](https://redirect.github.com/cloudflare/workers-sdk/pull/9664 )
[`c489a44`](c489a44847 )
Thanks [@​IRCody](https://redirect.github.com/IRCody )! - Remove
cloudchamber/container apply confirmation dialog when run
non-interactively.
-
[#​9653](https://redirect.github.com/cloudflare/workers-sdk/pull/9653 )
[`8a60fe7`](8a60fe76ec )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! - Add a
warning banner to `wrangler cloudchamber` and `wrangler containers`
commands
-
[#​9605](https://redirect.github.com/cloudflare/workers-sdk/pull/9605 )
[`17d23d8`](17d23d8e5f )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
Add rebuild hotkey for containers local dev, and clean up containers at
the end of a dev session.
- Updated dependencies
\[[`17d23d8`](17d23d8e5f )]:
- miniflare@4.20250617 .2
###
[`v4.20.3`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4203 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.20.2...wrangler@4.20.3 )
##### Patch Changes
-
[#​9621](https://redirect.github.com/cloudflare/workers-sdk/pull/9621 )
[`08be3ed`](08be3ed057 )
Thanks [@​gabivlj](https://redirect.github.com/gabivlj )! -
wrangler containers: 'default' scheduling policy should be the default
-
[#​9586](https://redirect.github.com/cloudflare/workers-sdk/pull/9586 )
[`d1d34fe`](d1d34fedd1 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Remove the Mixed Mode naming in favour of "remote bindings"/"remote
proxy"
- Updated dependencies
\[[`d1d34fe`](d1d34fedd1 )]:
- miniflare@4.20250617 .1
###
[`v4.20.2`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4202 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.20.1...wrangler@4.20.2 )
##### Patch Changes
-
[#​9565](https://redirect.github.com/cloudflare/workers-sdk/pull/9565 )
[`b1c9139`](b1c9139524 )
Thanks [@​IRCody](https://redirect.github.com/IRCody )! - Ensure
that a container applications image configuration is not updated if
there were not changes to the image.
-
[#​9628](https://redirect.github.com/cloudflare/workers-sdk/pull/9628 )
[`92f12f4`](92f12f442d )
Thanks [@​gpanders](https://redirect.github.com/gpanders )! -
Remove "Cloudchamber" from user facing error messages
-
[#​9576](https://redirect.github.com/cloudflare/workers-sdk/pull/9576 )
[`2671e77`](2671e77843 )
Thanks [@​vicb](https://redirect.github.com/vicb )! - Add core
local dev functionality for containers.
Adds a new WRANGLER\_DOCKER\_HOST env var to customise what socket to
connect to.
- Updated dependencies
\[[`828b7df`](828b7dffad ),
[`2671e77`](2671e77843 )]:
- miniflare@4.20250617 .0
###
[`v4.20.1`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4201 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.20.0...wrangler@4.20.1 )
##### Patch Changes
-
[#​9536](https://redirect.github.com/cloudflare/workers-sdk/pull/9536 )
[`3b61c41`](3b61c41f2c )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- expose `Unstable_Binding` type
-
[#​9564](https://redirect.github.com/cloudflare/workers-sdk/pull/9564 )
[`1d3293f`](1d3293f0cb )
Thanks [@​skepticfx](https://redirect.github.com/skepticfx )! -
Switch container registry to `registry.cloudflare.com` from
`registry.cloudchamber.cfdata.org`.
Also adds the env var `CLOUDFLARE_CONTAINER_REGISTRY` to override this
-
[#​9520](https://redirect.github.com/cloudflare/workers-sdk/pull/9520 )
[`04f9164`](04f9164bbc )
Thanks [@​vicb](https://redirect.github.com/vicb )! - fix the
default value for keep\_names (`true`)
-
[#​9506](https://redirect.github.com/cloudflare/workers-sdk/pull/9506 )
[`36113c2`](36113c29c8 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! - Strip
the `CF-Connecting-IP` header from outgoing fetches
-
[#​9592](https://redirect.github.com/cloudflare/workers-sdk/pull/9592 )
[`49f5ac7`](49f5ac7ef2 )
Thanks
[@​petebacondarwin](https://redirect.github.com/petebacondarwin )!
- Point to the right location for docs on telemetry
-
[#​9593](https://redirect.github.com/cloudflare/workers-sdk/pull/9593 )
[`cf33417`](cf33417320 )
Thanks [@​vicb](https://redirect.github.com/vicb )! - drop unused
`WRANGLER_UNENV_RESOLVE_PATHS` env var
-
[#​9566](https://redirect.github.com/cloudflare/workers-sdk/pull/9566 )
[`521eeb9`](521eeb9d7d )
Thanks [@​vicb](https://redirect.github.com/vicb )! - Bump
`@cloudflare/unenv-preset` to 2.3.3
-
[#​9344](https://redirect.github.com/cloudflare/workers-sdk/pull/9344 )
[`02e2c1e`](02e2c1e4de )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- add warning about env not specified to potentially risky wrangler
commands
add a warning suggesting users to specify their target environment (via
`-e` or `--env`)
when their wrangler config file contains some environments and they are
calling one
of the following commands:
- wrangler deploy
- wrangler versions upload
- wrangler versions deploy
- wrangler versions secret bulk
- wrangler versions secret put
- wrangler versions secret delete
- wrangler secret bulk
- wrangler secret put
- wrangler secret delete
- wrangler triggers deploy
this is a measure we're putting in place to try to prevent developers
from accidentally applying
changes to an incorrect (potentially even production) environment
-
[#​9344](https://redirect.github.com/cloudflare/workers-sdk/pull/9344 )
[`02e2c1e`](02e2c1e4de )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- allow passing an empty string to the `-e|--env` flag to target the
top-level environment
-
[#​9536](https://redirect.github.com/cloudflare/workers-sdk/pull/9536 )
[`3b61c41`](3b61c41f2c )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- performance improvement: restart a mixed mode session only if the
worker's remote bindings have changed
-
[#​9550](https://redirect.github.com/cloudflare/workers-sdk/pull/9550 )
[`c117904`](c11790486f )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- allow `startWorker` to accept `false` as an `inspector` option (to
disable the inspector server)
-
[#​9473](https://redirect.github.com/cloudflare/workers-sdk/pull/9473 )
[`fae8c02`](fae8c02bcf )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- expose new `experimental_maybeStartOrUpdateMixedModeSession` utility
- Updated dependencies
\[[`bd528d5`](bd528d5d53 ),
[`2177fb4`](2177fb44f4 ),
[`36113c2`](36113c29c8 ),
[`e16fcc7`](e16fcc747a )]:
- miniflare@4.20250612 .0
###
[`v4.20.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4200 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.19.2...wrangler@4.20.0 )
##### Minor Changes
-
[#​9509](https://redirect.github.com/cloudflare/workers-sdk/pull/9509 )
[`0b2ba45`](0b2ba4590c )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
feat: add static routing options via 'run\_worker\_first' to Wrangler
Implements the proposal noted here
[https://github.com/cloudflare/workers-sdk/discussions/9143 ](https://redirect.github.com/cloudflare/workers-sdk/discussions/9143 ).
This is now usable in `wrangler dev` and in production - just specify
the routes that should hit the worker first with `run_worker_first` in
your Wrangler config. You can also omit certain paths with `!` negative
rules.
##### Patch Changes
-
[#​9507](https://redirect.github.com/cloudflare/workers-sdk/pull/9507 )
[`1914b87`](1914b87e25 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- slightly improve wrangler dev bindings loggings
improve the bindings loggings by:
- removing the unnecessary (and potentially incorrect) `[connected]`
suffix for remote bindings
- making sure that the modes presented in the bindings logs are
correctly aligned
-
[#​9475](https://redirect.github.com/cloudflare/workers-sdk/pull/9475 )
[`931f467`](931f467e39 )
Thanks [@​edmundhung](https://redirect.github.com/edmundhung )! -
add hello world binding that serves as as an explanatory example.
-
[#​9443](https://redirect.github.com/cloudflare/workers-sdk/pull/9443 )
[`95eb47d`](95eb47d2c6 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- add workerName option to startMixedModeSession API
-
[#​9541](https://redirect.github.com/cloudflare/workers-sdk/pull/9541 )
[`80b8bd9`](80b8bd93e6 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- make workers created with `startWorker` await the `ready` promise on
`dispose`
-
[#​9443](https://redirect.github.com/cloudflare/workers-sdk/pull/9443 )
[`95eb47d`](95eb47d2c6 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- add mixed-mode support for mtls bindings
-
[#​9515](https://redirect.github.com/cloudflare/workers-sdk/pull/9515 )
[`9e4cd16`](9e4cd16ce1 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- make sure that remote binding errors are surfaced when using mixed
(hybrid) mode
-
[#​9516](https://redirect.github.com/cloudflare/workers-sdk/pull/9516 )
[`92305af`](92305af0a7 )
Thanks [@​IRCody](https://redirect.github.com/IRCody )! - Reorder
deploy output when deploying a container worker so the worker url is
printed last and the worker triggers aren't deployed until the container
has been built and deployed successfully.
- Updated dependencies
\[[`931f467`](931f467e39 ),
[`95eb47d`](95eb47d2c6 ),
[`0b2ba45`](0b2ba4590c )]:
- miniflare@4.20250604 .1
-
[@​cloudflare/unenv-preset](https://redirect.github.com/cloudflare/unenv-preset )@​2.3.3
###
[`v4.19.2`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4192 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.19.1...wrangler@4.19.2 )
##### Patch Changes
-
[#​9461](https://redirect.github.com/cloudflare/workers-sdk/pull/9461 )
[`66edd2f`](66edd2f3bd )
Thanks [@​skepticfx](https://redirect.github.com/skepticfx )! -
Enforce disk limits on container builds
-
[#​9481](https://redirect.github.com/cloudflare/workers-sdk/pull/9481 )
[`d1a1787`](d1a1787b27 )
Thanks
[@​WillTaylorDev](https://redirect.github.com/WillTaylorDev )! -
Force autogenerated aliases to be fully lowercased.
-
[#​9480](https://redirect.github.com/cloudflare/workers-sdk/pull/9480 )
[`1f84092`](1f84092851 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- add `experimentalMixedMode` dev option to `unstable_startWorker`
add an new `experimentalMixedMode` dev option to `unstable_startWorker`
that allows developers to programmatically start a new mixed mode
session using startWorker.
Example usage:
```js
// index.mjs
import { unstable_startWorker } from "wrangler";
await unstable_startWorker({
dev: {
experimentalMixedMode: true,
},
});
```
```json
// wrangler.jsonc
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "programmatic-start-worker-example",
"main": "src/index.ts",
"compatibility_date": "2025-06-01",
"services": [
{ "binding": "REMOTE_WORKER", "service": "remote-worker", "remote": true
}
]
}
```
- Updated dependencies
\[[`4ab5a40`](4ab5a4027d ),
[`485cd08`](485cd08679 ),
[`e3b3ef5`](e3b3ef51cf ),
[`3261957`](3261957aba )]:
- miniflare@4.20250604 .0
-
[@​cloudflare/unenv-preset](https://redirect.github.com/cloudflare/unenv-preset )@​2.3.3
###
[`v4.19.1`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4191 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.19.0...wrangler@4.19.1 )
##### Patch Changes
-
[#​9456](https://redirect.github.com/cloudflare/workers-sdk/pull/9456 )
[`db2cdc6`](db2cdc6b1e )
Thanks
[@​WillTaylorDev](https://redirect.github.com/WillTaylorDev )! -
Fix bug causing preview alias to always be generated.
###
[`v4.19.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4190 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.18.0...wrangler@4.19.0 )
##### Minor Changes
-
[#​9401](https://redirect.github.com/cloudflare/workers-sdk/pull/9401 )
[`03b8c1c`](03b8c1ca53 )
Thanks
[@​WillTaylorDev](https://redirect.github.com/WillTaylorDev )! -
Provide ability for Wrangler to upload preview aliases during version
upload.
##### Patch Changes
-
[#​9390](https://redirect.github.com/cloudflare/workers-sdk/pull/9390 )
[`80e75f4`](80e75f4a67 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Support additional Mixed Mode resources in Wrangler:
- AI
- Browser
- Images
- Vectorize
- Dispatch Namespaces
-
[#​9395](https://redirect.github.com/cloudflare/workers-sdk/pull/9395 )
[`b3be057`](b3be057344 )
Thanks [@​Maximo-Guk](https://redirect.github.com/Maximo-Guk )! -
Add WRANGLER\_CI\_OVERRIDE\_NETWORK\_MODE\_HOST for Workers CI
-
[#​9410](https://redirect.github.com/cloudflare/workers-sdk/pull/9410 )
[`87f3843`](87f38432ee )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- enable consumers of `unstable_readConfig` to silence `remote` warnings
- Updated dependencies
\[[`8c7ce77`](8c7ce7728c ),
[`80e75f4`](80e75f4a67 ),
[`80e75f4`](80e75f4a67 ),
[`fac2f9d`](fac2f9dfa6 ),
[`92719a5`](92719a535b )]:
- miniflare@4.20250525 .1
###
[`v4.18.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4180 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.17.0...wrangler@4.18.0 )
##### Minor Changes
-
[#​9393](https://redirect.github.com/cloudflare/workers-sdk/pull/9393 )
[`34b6174`](34b61746f2 )
Thanks [@​jamesopstad](https://redirect.github.com/jamesopstad )! -
Hard fail on Node.js < 20. Wrangler no longer supports Node.js 18.x as
it reached end-of-life on 2025-04-30. See
https://github.com/nodejs/release?tab=readme-ov-file#end-of-life-releases .
##### Patch Changes
-
[#​9308](https://redirect.github.com/cloudflare/workers-sdk/pull/9308 )
[`d3a6eb3`](d3a6eb30e5 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- expose new utilities and types to aid consumers of the programmatic
mixed-mode API
Specifically the exports have been added:
- `Experimental_MixedModeSession`: type representing a mixed-mode
session
- `Experimental_ConfigBindingsOptions`: type representing
config-bindings
- `experimental_pickRemoteBindings`: utility for picking only the remote
bindings from a record of start-worker bindings.
- `unstable_convertConfigBindingsToStartWorkerBindings`: utility for
converting config-bindings into start-worker bindings (that can be
passed to `startMixedModeSession`)
-
[#​9347](https://redirect.github.com/cloudflare/workers-sdk/pull/9347 )
[`b8f058c`](b8f058c81e )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Improve binding display on narrower terminals
- Updated dependencies
\[[`d9d937a`](d9d937ab6f ),
[`e39a45f`](e39a45ffa0 ),
[`fdae3f7`](fdae3f7665 )]:
- miniflare@4.20250525 .0
###
[`v4.17.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4170 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.16.1...wrangler@4.17.0 )
##### Minor Changes
-
[#​9321](https://redirect.github.com/cloudflare/workers-sdk/pull/9321 )
[`6c03bde`](6c03bde33f )
Thanks
[@​petebacondarwin](https://redirect.github.com/petebacondarwin )!
- Add support for FedRAMP High compliance region
Now it is possible to target Wrangler at the FedRAMP High compliance
region.
There are two ways to signal to Wrangler to run in this mode:
- set `"compliance_region": "fedramp_high"` in a Wrangler configuration
- set `CLOUDFLARE_COMPLIANCE_REGION=fedramp_high` environment variable
when running Wrangler
If both are provided and the values do not match then Wrangler will exit
with an error.
When in this mode OAuth authentication is not supported.
It is necessary to authenticate using a Cloudflare API Token acquired
from the Cloudflare FedRAMP High dashboard.
Most bindings and commands are supported in this mode.
- Unsupported commands may result in API requests that are not supported
- possibly 422 Unprocessable Entity responses.
- Unsupported bindings may work in local dev, as there is no local
validation, but will fail at Worker deployment time.
Resolves DEVX-1921.
-
[#​9330](https://redirect.github.com/cloudflare/workers-sdk/pull/9330 )
[`34c71ce`](34c71ce920 )
Thanks [@​edmundhung](https://redirect.github.com/edmundhung )! -
Updated internal configuration to use Miniflare’s new
`defaultPersistRoot` instead of per-plugin `persist` flags
-
[#​8973](https://redirect.github.com/cloudflare/workers-sdk/pull/8973 )
[`cc7fae4`](cc7fae4cb9 )
Thanks
[@​Caio-Nogueira](https://redirect.github.com/Caio-Nogueira )! -
Show latest instance by default on `workflows instances describe`
command
##### Patch Changes
-
[#​9335](https://redirect.github.com/cloudflare/workers-sdk/pull/9335 )
[`6479fc5`](6479fc5228 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Redesign `wrangler dev` to more clearly present information and have a
bit of a glow up ✨

-
[#​9329](https://redirect.github.com/cloudflare/workers-sdk/pull/9329 )
[`410d985`](410d985250 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! - Hide
logs in the `startMixedModeSession()` API
-
[#​9325](https://redirect.github.com/cloudflare/workers-sdk/pull/9325 )
[`c2678d1`](c2678d1681 )
Thanks [@​edmundhung](https://redirect.github.com/edmundhung )! -
refactor: fallbacks to local image binding from miniflare when local
mode is enabled
- Updated dependencies
\[[`34c71ce`](34c71ce920 ),
[`f7c82a4`](f7c82a4a9f ),
[`7ddd865`](7ddd865fa6 ),
[`6479fc5`](6479fc5228 ),
[`e5ae13a`](e5ae13adeb )]:
- miniflare@4.20250523 .0
###
[`v4.16.1`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4161 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.16.0...wrangler@4.16.1 )
##### Patch Changes
-
[#​9268](https://redirect.github.com/cloudflare/workers-sdk/pull/9268 )
[`7344344`](734434418f )
Thanks [@​gabivlj](https://redirect.github.com/gabivlj )! -
`wrangler containers delete` handles API errors correctly
###
[`v4.16.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4160 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.15.2...wrangler@4.16.0 )
##### Minor Changes
-
[#​9288](https://redirect.github.com/cloudflare/workers-sdk/pull/9288 )
[`3b8f7f1`](3b8f7f18be )
Thanks
[@​petebacondarwin](https://redirect.github.com/petebacondarwin )!
- allow --name and --env args on wrangler deploy
Previously it was not possible to provide a Worker name as a command
line argument at the same time as setting the Wrangler environment.
Now specifying `--name` is supported and will override any names set in
the Wrangler config:
**wrangler.json**
```json
{
"name": "config-worker"
"env": {
"staging": { "name": "config-worker-env" }
}
}
```
| Command | Previous (Worker name) | Proposed (Worker name) | Comment |
| ------------------------------------------------ |
---------------------- | ---------------------- |
------------------------------------- |
| wrangler deploy --name=args-worker | "args-worker" | "args-worker" |
CLI arg used |
| wrangler deploy --name=args-worker --env=staging | *Error* |
"args-worker" | CLI arg used |
| wrangler deploy --name=args-worker --env=prod | *Error* |
"args-worker" | CLI arg used |
| wrangler deploy | "config-worker" | "config-worker" | Top-level config
used |
| wrangler deploy --env=staging | "config-worker-env" |
"config-worker-env" | Named env config used |
| wrangler deploy --env=prod | "config-worker-prod" |
"config-worker-prod" | CLI arg and top-level config combined |
-
[#​9265](https://redirect.github.com/cloudflare/workers-sdk/pull/9265 )
[`16de0d5`](16de0d5227 )
Thanks [@​edmundhung](https://redirect.github.com/edmundhung )! -
docs: add documentation links to individual config properties in the
JSON schema of the Wrangler config file
##### Patch Changes
-
[#​9234](https://redirect.github.com/cloudflare/workers-sdk/pull/9234 )
[`2fe6219`](2fe62198d7 )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
fix: add no-op `props` to `ctx` in `getPlatformProxy` to fix type
mismatch
-
[#​9269](https://redirect.github.com/cloudflare/workers-sdk/pull/9269 )
[`66d975e`](66d975e905 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- Wire up mixed-mode remote bindings for multi-worker `wrangler dev`
Under the `--x-mixed-mode` flag, make sure that bindings configurations
with `remote: true` actually generate bindings to remote resources
during a multi-worker `wrangler dev` session, currently the bindings
included in this are: services, kv\_namespaces, r2\_buckets,
d1\_databases, queues and workflows.
Also include the ai binding since the bindings is already remote by
default anyways.
-
[#​9151](https://redirect.github.com/cloudflare/workers-sdk/pull/9151 )
[`5ab035d`](5ab035d8a1 )
Thanks [@​gabivlj](https://redirect.github.com/gabivlj )! -
wrangler containers can be configured with the kind of application
rollout on `apply`
-
[#​9231](https://redirect.github.com/cloudflare/workers-sdk/pull/9231 )
[`02d40ed`](02d40ed3bb )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- Wire up mixed-mode remote bindings for (single-worker) `wrangler dev`
Under the `--x-mixed-mode` flag, make sure that bindings configurations
with `remote: true` actually generate bindings to remote resources
during a single-worker `wrangler dev` session, currently the bindings
included in this are: services, kv\_namespaces, r2\_buckets,
d1\_databases, queues and workflows.
Also include the ai binding since the bindings is already remote by
default anyways.
-
[#​9221](https://redirect.github.com/cloudflare/workers-sdk/pull/9221 )
[`2ef31a9`](2ef31a9459 )
Thanks [@​vicb](https://redirect.github.com/vicb )! - bump
`@cloudflare/unenv-preset`
-
[#​9277](https://redirect.github.com/cloudflare/workers-sdk/pull/9277 )
[`db5ea8f`](db5ea8f1f6 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Support Mixed Mode for more binding types
-
[#​9266](https://redirect.github.com/cloudflare/workers-sdk/pull/9266 )
[`f2a16f1`](f2a16f1126 )
Thanks
[@​petebacondarwin](https://redirect.github.com/petebacondarwin )!
- fix: setting triggers.crons:\[] in Wrangler config should delete
deployed cron schedules
-
[#​9245](https://redirect.github.com/cloudflare/workers-sdk/pull/9245 )
[`b87b472`](b87b472a1a )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Support Mixed Mode Dispatch Namespaces
- Updated dependencies
\[[`db5ea8f`](db5ea8f1f6 ),
[`b87b472`](b87b472a1a )]:
- miniflare@4.20250508 .3
###
[`v4.15.2`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4152 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.15.1...wrangler@4.15.2 )
##### Patch Changes
-
[#​9257](https://redirect.github.com/cloudflare/workers-sdk/pull/9257 )
[`33daa09`](33daa0961f )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! - Relax
R2 bucket validation for `pages dev` commands
-
[#​9256](https://redirect.github.com/cloudflare/workers-sdk/pull/9256 )
[`3b384e2`](3b384e28c7 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! - Move
the Analytics Engine simulator implementation from JSRPC to a Wrapped
binding. This fixes a regression introduced in
[https://github.com/cloudflare/workers-sdk/pull/8935 ](https://redirect.github.com/cloudflare/workers-sdk/pull/8935 )
that preventing Analytics Engine bindings working in local dev for
Workers with a compatibility date prior to JSRPC being enabled.
- Updated dependencies
\[[`3b384e2`](3b384e28c7 )]:
- miniflare@4.20250508 .2
-
[@​cloudflare/unenv-preset](https://redirect.github.com/cloudflare/unenv-preset )@​2.3.2
###
[`v4.15.1`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4151 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.15.0...wrangler@4.15.1 )
##### Patch Changes
-
[#​9248](https://redirect.github.com/cloudflare/workers-sdk/pull/9248 )
[`07f4010`](07f4010e6d )
</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 becomes conflicted, 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-11 15:27:20 -04:00