mirror of
https://github.com/unraid/api.git
synced 2026-05-03 13:40:36 -05:00
d56797c59f40193c65f3fed65dea73a774f4581d
2370 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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
([
v4.20.1
|
||
|
|
d10c12035e |
chore: Revert "fix(deps): update all non-major dependencies" (#1675)
Reverts unraid/api#16334.20.0-build-number-11 |
||
|
|
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`](https://redirect.github.com/dotansimha/graphql-code-generator/commit/2fc3869de216554fa896359a082066eaa18e8634) 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`](https://redirect.github.com/Thinkmill/manypkg/commit/585493847a530bd87540eb0207b337d8ea5d05c6) 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](https://redirect.github.com/nuxt/ui/commit/83b0306a30835a385049200c5de804c51577c64c)) - **components:** upgrade `ai-sdk` to v5 ([#​4698](https://redirect.github.com/nuxt/ui/issues/4698)) ([de7822f](https://redirect.github.com/nuxt/ui/commit/de7822f6a11f6d1830421db337237c6e16f530b1)) - **FieldGroup:** rename from `ButtonGroup` ([#​4596](https://redirect.github.com/nuxt/ui/issues/4596)) ([a0963eb](https://redirect.github.com/nuxt/ui/commit/a0963eba8254d2ecf02cd1ee87cee7f73c4b2bc4)) - **Icon:** allow passing a component instead of a name ([#​4766](https://redirect.github.com/nuxt/ui/issues/4766)) ([61b603f](https://redirect.github.com/nuxt/ui/commit/61b603fff476aeac065268bd8dd493ff45577de4)) - import `@nuxt/ui-pro` components ([#​4675](https://redirect.github.com/nuxt/ui/issues/4675)) ([5cb65cf](https://redirect.github.com/nuxt/ui/commit/5cb65cfbd0d176393e841796bbbcd825be7cd376)) - **Marquee:** rename from `PageMarquee` ([#​4741](https://redirect.github.com/nuxt/ui/issues/4741)) ([b6edce2](https://redirect.github.com/nuxt/ui/commit/b6edce266281ef8448588f303e4d8e28c7adf6ea)) - **module:** update compatibility to nuxt 4 ([2aca598](https://redirect.github.com/nuxt/ui/commit/2aca598792cf2075db9b763bb41c4044ee9ad258)) - **PageAccordion:** remove in favor of `Accordion` ([#​4734](https://redirect.github.com/nuxt/ui/issues/4734)) ([f70a3ff](https://redirect.github.com/nuxt/ui/commit/f70a3ff13f3e9baa0e9ef2070596512f67189c1a)) ##### Bug Fixes - **AuthForm:** use `error` from form field ([#​4738](https://redirect.github.com/nuxt/ui/issues/4738)) ([00dfb6b](https://redirect.github.com/nuxt/ui/commit/00dfb6b5866760e0669e9dbbaa247919f5400f55)) - **BlogPost:** ensure date slot renders ([#​4743](https://redirect.github.com/nuxt/ui/issues/4743)) ([4514880](https://redirect.github.com/nuxt/ui/commit/4514880902ba6ec75b5bf69099f4b6bef0f58efa)) - **ChangelogVersion/ChangelogVersions:** handle RTL mode ([#​4777](https://redirect.github.com/nuxt/ui/issues/4777)) ([f91c408](https://redirect.github.com/nuxt/ui/commit/f91c4081e5d6b884fc7dd8c5669fd262ddb98649)) - **ContentSearch/DashboardSearch:** make `ui.modal` work ([946c2ec](https://redirect.github.com/nuxt/ui/commit/946c2ec8875af2c3fc74862b2c29d08dfb4cf6e2)) - **module:** add `[@source](https://redirect.github.com/source)` on components ([a16465f](https://redirect.github.com/nuxt/ui/commit/a16465f3da051d1a4dbef6dadfe7a5f66da1216e)), closes [#​4773](https://redirect.github.com/nuxt/ui/issues/4773) - **PageCard:** improve keyboard accessibility ([#​4733](https://redirect.github.com/nuxt/ui/issues/4733)) ([3029568](https://redirect.github.com/nuxt/ui/commit/30295684653f89b811e75e7a79a9684814c68ec1)) - **ProseImg:** ensure unique motion layout id for images ([#​4720](https://redirect.github.com/nuxt/ui/issues/4720)) ([9480a0b](https://redirect.github.com/nuxt/ui/commit/9480a0baa46a2391d43d2f868fa8efdba12011f6)) - **unplugin:** handle components overrides in subdirectories ([#​4781](https://redirect.github.com/nuxt/ui/issues/4781)) ([69ee75e](https://redirect.github.com/nuxt/ui/commit/69ee75e5b291873e3b9466bfdb9187ac05e82d6f)) </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> |
||
|
|
4759b3d0b3 | fix: adjust header styles to fix flashing and width issues - thanks ZarZ | ||
|
|
daeeba8c1f | chore: add public notice to unraid-components directory | ||
|
|
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)) ([v4.20.0 |
||
|
|
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.4.19.1-build-number-61 |
||
|
|
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. |
||
|
|
aecf70ffad | fix: properly override header values (#1673) | ||
|
|
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 --> |
||
|
|
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> |
||
|
|
116ee88fcf |
refactor: add subscribe and enabled methods to ConfigFilePersister (#1670)
|
||
|
|
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> |
||
|
|
095c2221c9 | fix: better component loading to prevent per-page strange behavior | ||
|
|
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 --> |
||
|
|
797bf50ec7 | fix(plugin): add fallback for unraid-api stop in deprecation cleanup (#1668) | ||
|
|
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> |
||
|
|
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. |
||
|
|
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))
([
v4.19.1
|
||
|
|
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 -->4.19.0-build-number-10 |
||
|
|
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 --> |
||
|
|
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. |
||
|
|
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)) ([v4.19.0 |
||
|
|
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 --> |
||
|
|
239cdd6133 | fix: info alert docker icon (#1661) | ||
|
|
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 --> |
||
|
|
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> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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. |
||
|
|
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 --> |
||
|
|
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. |
||
|
|
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. |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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)) ([v4.18.2 |
||
|
|
bc15bd3d70 | fix(plugin): raise minimum unraid os version to 6.12.15 (#1649) | ||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
c42f79d406 | chore: add code coverage monitoring (#1645) | ||
|
|
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. |
||
|
|
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)) ([v4.18.1 |
||
|
|
0fe2c2c1c8 | fix: OIDC and API Key management issues (#1642) | ||
|
|
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 -->
|
||
|
|
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)) ([v4.18.0 |
||
|
|
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> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |