mirror of
https://github.com/unraid/api.git
synced 2026-01-02 22:50:02 -06:00
25ff13b0bb53df0144c1949d8a22b60e1ecad8e2
2204 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
25ff13b0bb |
fix(api): ensure proper cleanup in InfoResolver integration tests
- Added a null check for the `module` before calling `close()` in the `afterEach` hook to prevent potential errors during test teardown. |
||
|
|
6930bb0500 |
feat(api): integrate ScheduleModule for task scheduling
- Added `ScheduleModule` to the main application module for managing scheduled tasks. - Removed redundant `ScheduleModule` imports from `CronModule` and `ServicesModule` to streamline module dependencies. |
||
|
|
b4a761c168 |
test(api): enhance integration tests for MetricsResolver with SubscriptionPollingService
- Integrated `ScheduleModule` to manage polling intervals effectively. - Updated tests to utilize `SubscriptionPollingService` for CPU and memory polling, ensuring single execution during concurrent attempts. - Improved error handling in polling tests to verify graceful error logging. - Ensured proper cleanup of polling subscriptions and timers during module destruction. |
||
|
|
ca691b71aa |
refactor(api): enhance metrics polling mechanism and simplify subscription handling
- Removed legacy polling methods from `MetricsResolver` and integrated polling logic into `SubscriptionPollingService` for better separation of concerns. - Updated `SubscriptionTrackerService` to support polling configuration directly, allowing for cleaner topic registration. - Adjusted unit tests to accommodate changes in the subscription handling and polling logic. - Introduced `SubscriptionPollingService` to manage polling intervals and ensure efficient execution of polling tasks. |
||
|
|
99da8bf309 |
fix(api): enhance type safety in pubsub subscription methods
- Updated `createSubscription` and `createTrackedSubscription` methods to include generic type parameters, improving type safety and ensuring correct async iterable handling. |
||
|
|
0fadb6fbd9 |
feat: extract CPU and memory metrics from info resolver and move to metrics resolver (#1594)
- also enables subscription resolution for CPU and memory usage |
||
|
|
573b04813d |
feat(api): expand GraphQL schema with new types and mutations for remote access and connection settings
- Introduced new types including `AccessUrl`, `Cloud`, `RemoteAccess`, and `Connect` to enhance remote access capabilities. - Added enums for `URL_TYPE`, `WAN_ACCESS_TYPE`, and `WAN_FORWARD_TYPE` to standardize access configurations. - Implemented new input types for connection settings and remote access setup, improving API usability. - Updated the `Query` and `Mutation` types to include new fields for managing remote access and connection settings. - Bumped API version to 4.13.1 in configuration. |
||
|
|
f8cfe38d6f |
feat(api): introduce SubscriptionHelperService for improved subscription management
- Added `SubscriptionHelperService` to streamline the creation of tracked GraphQL subscriptions with automatic cleanup. - Updated `InfoResolver` to utilize the new service for managing CPU utilization subscriptions, enhancing code clarity and maintainability. - Introduced unit tests for `SubscriptionHelperService` and `SubscriptionTrackerService` to ensure robust functionality and reliability. - Refactored `SubscriptionTrackerService` to include logging for subscription events, improving observability. - Removed deprecated types and methods related to previous subscription handling, simplifying the codebase. |
||
|
|
3afc4219ee |
refactor(api): streamline InfoResolver and SubscriptionTrackerService
- Removed unnecessary imports and parameters in InfoResolver for cleaner code. - Updated CPU utilization method to directly use infoService for generating CPU load. - Enhanced SubscriptionTrackerService to improve subscriber count management and added early return for idempotency in unsubscribe method. |
||
|
|
476abd5f53 |
refactor(api): update CPU utilization handling in InfoResolver
- Changed CPU utilization topic references to use the new PUBSUB_CHANNEL enum for consistency. - Updated InfoResolver to handle CPU polling timer as potentially undefined, improving type safety. - Adjusted import statement for SubscriptionTrackerService to include the correct file extension. |
||
|
|
a08726aad7 |
refactor(api): improve CPU load data caching in CpuDataService
- Updated `CpuDataService` to use nullish coalescing for initializing `cpuLoadData`, enhancing readability and efficiency. - Ensured `cpuLoadData` can be undefined, allowing for more flexible handling of CPU load data retrieval. |
||
|
|
ed98206769 |
refactor(api): reorganize info module imports and enhance CPU data handling
- Consolidated imports in the info resolver and service for better readability. - Added `CpuDataService` to manage CPU load data more efficiently. - Updated `InfoResolver` to include `InfoCpuResolver` for improved CPU data handling. - Enhanced documentation for CPU load fields in the model to improve clarity. - Streamlined the `SubscriptionTrackerService` for better topic management. |
||
|
|
f7e1d8f259 |
feat(api): add cpu utilization query and subscription
Adds a new query and subscription to the info resolver for CPU to get CPU utilization on Unraid. - Adds `cpuUtilization` query to get a one-time snapshot of CPU load. - Adds `cpuUtilizationSubscription` to get real-time updates on CPU load. - Adds a `utilization` field to the `InfoCpu` type. - Creates a generic `SubscriptionTrackerService` to manage polling for subscriptions, ensuring that polling only occurs when there are active subscribers. - Creates a request-scoped `CpuDataService` to cache CPU load data within a single GraphQL request to improve performance. - Updates tests to cover the new functionality. - Adds detailed documentation to the `CpuLoad` object type. |
||
|
|
effdbcf0f5 | Authentik SSO Instruction Clarity (#1591) | ||
|
|
541b0edd35 |
chore(deps): update actions/checkout action to v5 (#1581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
ce63d5dca2 |
docs: enhance API documentation with structured sections and tips
- Added front matter to CLI and API usage documentation for better organization. - Introduced tips and info boxes to highlight important information and best practices. - Updated sections with icons for improved visual clarity and navigation. - Enhanced the OIDC provider setup guide with quick start instructions and detailed configuration tips. |
||
|
|
bcaacca061 |
docs: enhance API documentation with web GUI management options
- Added tips for managing developer options and API keys through the web interface. - Updated the GraphQL sandbox enabling instructions to include a web GUI method. - Clarified API key management and authentication methods, including SSO/OIDC. - Revised the availability section to reflect native integration in Unraid v7.2 and provide guidance for earlier versions. |
||
|
|
0afc4e8e9a |
docs: enhance OIDC provider setup and roadmap documentation
- Updated OIDC provider setup instructions to clarify redirect URI protocol requirements. - Revised security best practices to emphasize the importance of using HTTPS. - Expanded the upcoming features section with a detailed roadmap, including completed and planned features for the Unraid API. |
||
|
|
1a01696dc7 |
fix: update OIDC provider setup documentation for navigation clarity
- Revised navigation instructions to specify the path for accessing OIDC settings. - Enhanced clarity in the documentation to improve user experience. |
||
|
|
1bc5251310 |
fix: update OIDC provider setup documentation for redirect URI and screenshots
- Changed the format of screenshot descriptions to italic for consistency. - Updated redirect URI examples to remove the port number for standard configurations. - Clarified instructions regarding the use of correct ports in non-standard setups. |
||
|
|
3a10871918 |
fix: update Docusaurus PR workflow to process and copy API docs
- Renamed the step to "Copy and process docs" for clarity. - Updated the workflow to copy images to the Docusaurus static directory. - Added functionality to update image paths in markdown files to use absolute paths pointing to /img/api/. |
||
|
|
58b5544bea |
chore(main): release 4.13.1 (#1588)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>v4.13.1 |
||
|
|
a4ff3c4092 | fix: insecure routes not working for SSO (#1587) | ||
|
|
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 |