mirror of
https://github.com/unraid/api.git
synced 2025-12-31 21:49:57 -06:00
v4.13.0
2181 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
1e0a54d9ef |
chore(main): release 4.13.0 (#1557)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>v4.13.0 |
||
|
|
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.4.12.0-build-number-201 |
||
|
|
57217852a3 |
fix(deps): pin dependencies (#1586)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
979a267bc5 |
feat: implement OIDC provider management in GraphQL API (#1563)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> |
||
|
|
96c120f9b2 | feat: connect settings page updated for responsive webgui (#1585) | ||
|
|
a2c5d2495f | fix: refactor API client to support Unix socket connections (#1575) | ||
|
|
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> |
||
|
|
27dbfde845 | chore(deps): update dependency vite-plugin-vue-devtools to v8 (#1553) | ||
|
|
1a25fedd23 | chore(deps): pin dependency pnpm to 10.14.0 (#1578) | ||
|
|
ad6aa3b674 | fix(deps): update all non-major dependencies (#1579) | ||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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> |
||
|
|
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> |
||
|
|
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`]( |
||
|
|
ec8f4f38c8 | chore: less claude more code | ||
|
|
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> |
||
|
|
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 --> |
||
|
|
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. |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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> |
||
|
|
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 --> |
||
|
|
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> |
||
|
|
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> |
||
|
|
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)) ([v4.12.0 |
||
|
|
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> |
||
|
|
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> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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)) ([v4.11.0 |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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`]( |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
45bd73698b |
fix(connect): omit extraneous fields during connect config validation (#1538)
Prevent extraneous fields from migrating to `connect.json` from `myservers.cfg` |
||
|
|
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 -->
|
||
|
|
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> |
||
|
|
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> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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> |
||
|
|
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 |
||
|
|
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> |