renovate[bot] c9577e9bf2 chore(deps): update dependency tailwindcss to v4 (#1281)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [tailwindcss](https://tailwindcss.com)
([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss))
| [`3.4.17` ->
`4.1.11`](https://renovatebot.com/diffs/npm/tailwindcss/3.4.17/4.1.11) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.1.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/3.4.17/4.1.11?slim=true)](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(…)`
([#&#8203;18330](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18330))
- Extract candidates with variants in Clojure/ClojureScript keywords
([#&#8203;18338](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18338))
- Document `--watch=always` in the CLI's usage
([#&#8203;18337](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18337))
- Add support for Vite 7 to `@tailwindcss/vite`
([#&#8203;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))]`
([#&#8203;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
([#&#8203;18251](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18251))
- Upgrade: Migrate arbitrary modifiers without percentage signs to bare
values (e.g. `/[0.16]` → `/16`)
([#&#8203;18184](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18184))
- Upgrade: Migrate CSS variable shorthands where fallback value contains
function call
([#&#8203;18184](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18184))
- Upgrade: Migrate negative arbitrary values to negative bare values
(e.g. `mb-[-32rem]` → `-mb-128`)
([#&#8203;18212](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18212))
- Upgrade: Do not migrate `blur` in `wire:model.blur`
([#&#8203;18216](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18216))
- Don't add spaces around CSS dashed idents when formatting math
expressions
([#&#8203;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
([#&#8203;18059](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18059))

##### Fixed

- Upgrade: Do not migrate declarations that look like candidates in
`<style>` blocks
([#&#8203;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
([#&#8203;18065](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18065))
- Upgrade: Don't error when updating dependencies in pnpm monorepos
([#&#8203;18065](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18065))
- Upgrade: Migrate deprecated `order-none` to `order-0`
([#&#8203;18126](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18126))
- Support Leptos `class:` attributes when extracting classes
([#&#8203;18093](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18093))
- Fix "Cannot read properties of undefined" crash on malformed arbitrary
value
([#&#8203;18133](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18133))
- Upgrade: Migrate `-mt-[0px]` to `mt-[0px]` instead of the other way
around
([#&#8203;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
([#&#8203;18155](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18155))
- Ignore `.pnpm-store` folders by default (can be overridden by `@source
…` rules)
([#&#8203;18163](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18163))
- Fix PostCSS crash when calling `toJSON()`
([#&#8203;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
([#&#8203;18000](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18000))
- Upgrade: Added cache to improve template migration performance
([#&#8203;18025](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18025))

##### Fixed

- Allow `_` before numbers during candidate extraction
([#&#8203;17961](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17961))
- Prevent duplicate suggestions when using `@theme` and `@utility`
together
([#&#8203;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
([#&#8203;17979](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17979))
- Ensure that the standalone CLI does not leave temporary files behind
([#&#8203;17981](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17981))
- Ensure `-rotate-*` utilities properly negate arbitrary values
([#&#8203;18014](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18014))
- Ignore custom variants using `:merge(…)` selectors in legacy JS
plugins
([#&#8203;18020](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18020))
- Ensure classes containing `.` are properly extracted from Clojure
files
([#&#8203;18038](https://redirect.github.com/tailwindlabs/tailwindcss/pull/18038))
- Upgrade: Fix error when using `@import … source(…)`
([#&#8203;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
([#&#8203;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`
([#&#8203;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`)
([#&#8203;17831](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17831),
[#&#8203;17854](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17854))
- Upgrade: Update dependencies in parallel for improved performance
([#&#8203;17898](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17898))
- Add detailed logging about `@source` directives, discovered files and
scanned files when using `DEBUG=*`
([#&#8203;17906](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17906),
[#&#8203;17952](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17952))
- Add support for generating source maps in development
([#&#8203;17775](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17775))

##### Fixed

- Ensure negative arbitrary `scale` values generate negative values
([#&#8203;17831](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17831))
- Fix HAML extraction with embedded Ruby
([#&#8203;17846](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17846))
- Don't scan files for utilities when using `@reference`
([#&#8203;17836](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17836))
- Fix incorrectly replacing `_` with ` ` in arbitrary modifier shorthand
`bg-red-500/(--my_opacity)`
([#&#8203;17889](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17889))
- Don't scan `.log` files for classes by default
([#&#8203;17906](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17906))
- Ensure that custom utilities applying other custom utilities don't
swallow nested `@apply` rules
([#&#8203;17925](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17925))
- Download platform specific package if `optionalDependencies` are
skipped
([#&#8203;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.\*
([#&#8203;17717](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17717))
- Add `h-lh` / `min-h-lh` / `max-h-lh` utilities
([#&#8203;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
([#&#8203;17812](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17812))

##### Fixed

- Don't scan `.geojson` or `.db` files for classes by default
([#&#8203;17700](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17700),
[#&#8203;17711](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17711))
- Hide default shadow suggestions when missing default shadow theme keys
([#&#8203;17743](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17743))
- Replace `_` with `.` in theme suggestions for `@utility` if surrounded
by digits
([#&#8203;17733](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17733))
- Skip `color-mix(…)` when opacity is `100%`
([#&#8203;17815](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17815))
- PostCSS: Ensure that errors in imported stylesheets are recoverable
([#&#8203;17754](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17754))
- Upgrade: Bump all Tailwind CSS related dependencies during upgrade
([#&#8203;17763](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17763))
- Upgrade: Don't add `-` to variants starting with `@`
([#&#8203;17814](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17814))
- Upgrade: Don't format stylesheets that didn't change when upgrading
([#&#8203;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
([#&#8203;17558](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17558))

##### Fixed

- Ensure `color-mix(…)` polyfills do not cause used CSS variables to be
removed
([#&#8203;17555](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17555))
- Ensure `color-mix(…)` polyfills create fallbacks for theme variables
that reference other theme variables
([#&#8203;17562](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17562))
- Fix brace expansion in declining ranges like `{10..0..5}` and
`{0..10..-5}`
([#&#8203;17591](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17591))
- Work around a Chrome rendering bug when using the `skew-*` utilities
([#&#8203;17627](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17627))
- Ensure container query variant names can contain hyphens
([#&#8203;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
([#&#8203;17647](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17647))
- Ensure compatibility with array tuples used in `fontSize` JS theme
keys
([#&#8203;17630](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17630))
- Ensure folders with binary file extensions in their names are scanned
for utilities
([#&#8203;17595](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17595))
- Upgrade: Convert `fontSize` array tuple syntax to CSS theme variables
([#&#8203;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(…)`
([#&#8203;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
([#&#8203;17554](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17554))
- Ensure classes are detected in Ruby's `%w` syntax in Slim templates
([#&#8203;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`
([#&#8203;17506](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17506))
- Support setting multiple inset shadows as arbitrary values
([#&#8203;17523](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17523))
- Fix `drop-shadow-*` utilities that are defined with multiple shadows
([#&#8203;17515](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17515))
- PostCSS: Fix race condition when two changes are queued concurrently
([#&#8203;17514](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17514))
- PostCSS: Ensure files containing `@tailwind utilities` are processed
([#&#8203;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
([#&#8203;17513](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17513))
- Fix slow incremental builds with `@tailwindcss/vite` and
`@tailwindcss/postscss` (especially on Windows)
([#&#8203;17511](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17511))
- Vite: Fix missing CSS file in Qwik setups
([#&#8203;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
([#&#8203;17491](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17491))
- Inject polyfills after `@import` and body-less `@layer`
([#&#8203;17493](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17493))
- Ensure `@tailwindcss/cli` does not contain an import for `jiti`
([#&#8203;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
([#&#8203;15319](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15319))
- Add `inverted-colors` variant
([#&#8203;11693](https://redirect.github.com/tailwindlabs/tailwindcss/pull/11693))
- Add `noscript` variant
([#&#8203;11929](https://redirect.github.com/tailwindlabs/tailwindcss/pull/11929),
[#&#8203;17431](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17431))
- Add `items-baseline-last` and `self-baseline-last` utilities
([#&#8203;13888](https://redirect.github.com/tailwindlabs/tailwindcss/pull/13888),
[#&#8203;17476](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17476))
- Add `pointer-none`, `pointer-coarse`, and `pointer-fine` variants
([#&#8203;16946](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16946))
- Add `any-pointer-none`, `any-pointer-coarse`, and `any-pointer-fine`
variants
([#&#8203;16941](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16941))
- Add safe alignment utilities
([#&#8203;14607](https://redirect.github.com/tailwindlabs/tailwindcss/pull/14607))
- Add `user-valid` and `user-invalid` variants
([#&#8203;12370](https://redirect.github.com/tailwindlabs/tailwindcss/pull/12370))
- Add `wrap-anywhere`, `wrap-break-word`, and `wrap-normal` utilities
([#&#8203;12128](https://redirect.github.com/tailwindlabs/tailwindcss/pull/12128))
- Add `@source inline(…)` and `@source not inline(…)`
([#&#8203;17147](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17147))
- Add `@source not "…"`
([#&#8203;17255](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17255))
- Add `text-shadow-*` utilities
([#&#8203;17389](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17389))
- Add `mask-*` utilities
([#&#8203;17134](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17134))
- Add `bg-{position,size}-*` utilities for arbitrary values
([#&#8203;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
([#&#8203;17398](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17398),
[#&#8203;17434](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17434))
- Add `drop-shadow-<color>` utilities
([#&#8203;17434](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17434))
- Improve compatibility with older versions of Safari and Firefox
([#&#8203;17435](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17435))

##### Fixed

- Follow symlinks when resolving `@source` directives
([#&#8203;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`
([#&#8203;17255](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17255))
- Support negated `content` rules in legacy JavaScript configuration
([#&#8203;17255](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17255))
- Interpret syntax like `@("@&#8203;")md:…` as `@md:…` in Razor files
([#&#8203;17427](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17427))
- Disallow top-level braces, top-level semicolons, and unbalanced
parentheses and brackets in arbitrary values
([#&#8203;17361](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17361))
- Ensure the `--theme(…)` function still resolves to the CSS variables
when using legacy JS plugins
([#&#8203;17458](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17458))
- Detect used theme variables in CSS module files
([#&#8203;17433](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17433),
[#&#8203;17467](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17467))

##### Changed

- Ignore `node_modules` by default (can be overridden by `@source …`
rules)
([#&#8203;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
([#&#8203;17255](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17255))
- Deprecate `bg-{left,right}-{top,bottom}` in favor of
`bg-{top,bottom}-{left,right}` utilities
([#&#8203;17378](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17378))
- Deprecate `object-{left,right}-{top,bottom}` in favor of
`object-{top,bottom}-{left,right}` utilities
([#&#8203;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
([#&#8203;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('…')`
([#&#8203;17304](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17304))

##### Fixed

- Fix class extraction followed by `(` in Pug
([#&#8203;17320](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17320))
- Ensure `@keyframes` for theme animations are emitted if they are
referenced following a comma
([#&#8203;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
([#&#8203;17347](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17347))
- Pre process `Slim` templates embedded in Ruby files
([#&#8203;17336](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17336))
- Error when input and output files resolve to the same file when using
the CLI
([#&#8203;17311](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17311))
- Add missing suggestions when `--spacing(--value(integer, number))` is
used
([#&#8203;17308](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17308))
- Add `::-webkit-details-marker` pseudo to `marker` variant
([#&#8203;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
([#&#8203;17174](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17174))
- Fix `border-[12px_4px]` being interpreted as a `border-color` instead
of a `border-width`
([#&#8203;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
([#&#8203;17306](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17306))
- Pre-process `<template lang="…">` in Vue files
([#&#8203;17252](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17252))
- Ensure that all CSS variables used by Preflight are prefixed
([#&#8203;17036](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17036))
- Prevent segfault when loaded in a worker thread on Linux
([#&#8203;17276](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17276))
- Ensure multiple `--value(…)` or `--modifier(…)` calls don't delete
subsequent declarations
([#&#8203;17273](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17273))
- Fix class extraction followed by `(` in Slim
([#&#8203;17278](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17278))
- Export `PluginUtils` from `tailwindcss/plugin` for compatibility with
v3
([#&#8203;17299](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17299))
- Remove redundant `line-height: initial` from Preflight
([#&#8203;15212](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15212))
- Increase Standalone hardware compatibility on macOS x64 builds
([#&#8203;17267](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17267))
- Ensure that the CSS file rebuilds if a new CSS variable is used from
templates
([#&#8203;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)
([#&#8203;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 `${`
([#&#8203;17142](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17142))
- Fix extraction of variants containing `.` character
([#&#8203;17153](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17153))
- Fix extracting candidates in Clojure/ClojureScript
([#&#8203;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
([#&#8203;17051](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17051))
- Ensure `.node` and `.wasm` files are not scanned for utilities
([#&#8203;17123](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17123))
- Improve performance when scanning JSON files
([#&#8203;17125](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17125))
- Fix extracting candidates containing dots in Haml, Pug, and Slim pre
processors
([#&#8203;17094](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17094),
[#&#8203;17085](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17085),
[#&#8203;17113](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17113))
- Don't create invalid CSS when encountering a link wrapped in square
brackets
([#&#8203;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
([#&#8203;16965](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16965))
- PostCSS: Rebase `url(…)`s in imported CSS files
([#&#8203;16965](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16965))
- Ensure utilities are sorted based on their actual property order
([#&#8203;16995](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16995))
- Ensure strings in Pug and Slim templates are handled correctly
([#&#8203;17000](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17000))
- Ensure classes between `}` and `{` are properly extracted
([#&#8203;17001](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17001))
- Fix `razor`/`cshtml` pre-processing
([#&#8203;17027](https://redirect.github.com/tailwindlabs/tailwindcss/pull/17027))
- Ensure extracting candidates from JS embedded in a PHP string works as
expected
([#&#8203;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
([#&#8203;16972](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16972))
- Ensure classes containing numbers followed by dash or underscore are
extracted correctly
([#&#8203;16980](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16980))
- Ensure arbitrary container queries are extracted correctly
([#&#8203;16984](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16984))
- Ensure classes ending in `[` are extracted in Slim templating language
([#&#8203;16985](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16985))
- Ensure arbitrary variables with data types are extracted correctly
([#&#8203;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`
([#&#8203;15183](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15183))

##### Fixed

- Ensure `not-*` does not remove `:is(…)` from variants
([#&#8203;16825](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16825))
- Ensure `@keyframes` are correctly emitted when using a prefix
([#&#8203;16850](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16850))
- Don't swallow `@utility` declarations when `@apply` is used in nested
rules
([#&#8203;16940](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16940))
- Ensure `outline-hidden` behaves like `outline-none` outside of forced
colors mode
([#&#8203;16943](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16943))
- Allow `!important` on CSS variables again
([#&#8203;16873](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16873))
- Vite: Do not crash when encountering an `.svg` file with `#` or `?` in
the filename
([#&#8203;16957](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16957))
- Ensure utilities are properly detected within square brackets
([#&#8203;16306](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16306))
- Ensure utilities are properly detected using Angular's conditional
class binding syntax
([#&#8203;16306](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16306))
- Ensure utilities starting with numbers are properly extracted from
Slim templates
([#&#8203;16306](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16306))
- Discard arbitrary property candidates that have guaranteed-invalid
property names
([#&#8203;16306](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16306))

##### Changed

- Removed `max-w-auto` and `max-h-auto` utilities as they generate
invalid CSS
([#&#8203;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
([#&#8203;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
([#&#8203;15934](https://redirect.github.com/tailwindlabs/tailwindcss/pull/15934))
- Vite: Don't crash when importing a virtual module from JavaScript that
ends in `.css`
([#&#8203;16780](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16780))
- Fix an issue where `@reference "…"` would sometimes omit keyframe
animations
([#&#8203;16774](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16774))
- Ensure `z-*!` utilities are properly marked as `!important`
([#&#8203;16795](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16795))
- Read UTF-8 CSS files that start with a byte-order mark (BOM)
([#&#8203;16796](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16796))
- Ensure nested functions in selectors used with JavaScript plugins are
not truncated
([#&#8203;16802](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16802))

##### Changed

- Emit variable fallbacks when using `@reference "…"` instead of
duplicate CSS variable declarations
([#&#8203;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
([#&#8203;16514](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16514))

##### Fixed

- Don't add `!important` to CSS variable declarations when using the
important modifier
([#&#8203;16668](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16668))
- Vite: Ignore files and directories specified in your `.gitignore` file
when using automatic source
detection([#&#8203;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
([#&#8203;16631](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16631))
- Vite: Ensure Astro production builds always contain classes used in
client-only components
([#&#8203;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
([#&#8203;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
([#&#8203;16715](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16715))
- Only include `translate-z-px` utilities once in compiled CSS
([#&#8203;16718](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16718))

##### Changed

- Don't include theme variables that aren't used in compiled CSS
([#&#8203;16211](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16211),
[#&#8203;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
([#&#8203;16411](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16411))
- Fix sorting of numeric utility suggestions when they have different
magnitudes
([#&#8203;16414](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16414))
- Show suggestions for fractions in IntelliSense
([#&#8203;16353](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16353))
- Don’t replace `_` in suggested theme keys
([#&#8203;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
([#&#8203;16469](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16469))
- Ensure drop shadow utilities don't inherit unexpectedly
([#&#8203;16471](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16471))
- Export config and plugin types from `tailwindcss/plugin` for backward
compatibility
([#&#8203;16505](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16505))
- Ensure JavaScript plugins that emit nested rules referencing the
utility name work as expected
([#&#8203;16539](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16539))
- Statically link Visual Studio redistributables in `@tailwindcss/oxide`
Windows builds
([#&#8203;16602](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16602))
- Ensure that Next.js splat routes are scanned for classes
([#&#8203;16457](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16457))
- Pin exact version of `tailwindcss` in `@tailwindcss/*` packages
([#&#8203;16623](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16623))
- Upgrade: Report errors when updating dependencies
([#&#8203;16504](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16504))
- Upgrade: Ensure a `darkMode` JS config setting with block syntax
converts to use `@slot`
([#&#8203;16507](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16507))
- Upgrade: Ensure the latest version of `tailwindcss` and
`@tailwindcss/postcss` are installed when upgrading
([#&#8203;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
([#&#8203;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" />`
([#&#8203;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
([#&#8203;16211](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16211))

##### Fixed

- Remove rogue `console.log` from `@tailwindcss/vite`
([#&#8203;16307](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16307))

##### Changed

- Don't include theme variables that aren't used in compiled CSS
([#&#8203;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`
([#&#8203;16210](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16210))
- Ensure escaped underscores in CSS variables in arbitrary values are
properly unescaped
([#&#8203;16206](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16206))
- Ensure that the `containers` JS theme key is added to the
`--container-*` namespace
([#&#8203;16169](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16169))
- Ensure theme `@keyframes` are generated even if an `--animation-*`
variable spans multiple lines
([#&#8203;16237](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16237))
- Vite: Skip parsing stylesheets with the `?commonjs-proxy` flag
([#&#8203;16238](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16238))
- Fix `order-first` and `order-last` for Firefox
([#&#8203;16266](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16266))
- Fix support for older instruction sets on Linux x64 builds of the
standalone CLI
([#&#8203;16244](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16244))
- Ensure `NODE_PATH` is respected when resolving JavaScript and CSS
files
([#&#8203;16274](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16274))
- Ensure Node addons are packaged correctly with FreeBSD builds
([#&#8203;16277](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16277))
- Fix an issue where `@variant` inside a referenced stylesheet could
cause a stack overflow
([#&#8203;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();`
([#&#8203;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
([#&#8203;16020](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16020))
- Ensure escaped theme variables are handled correctly
([#&#8203;16064](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16064))
- Ensure we process Tailwind CSS features when only using `@reference`
or `@variant`
([#&#8203;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)
([#&#8203;16072](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16072))
- Vite: Ensure hot-reloading works with SolidStart setups
([#&#8203;16052](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16052))
- Vite: Fix a crash when starting the development server in SolidStart
setups
([#&#8203;16052](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16052))
- Vite: Don't rebase URLs that appear to be aliases
([#&#8203;16078](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16078))
- Vite: Transform `<style>` blocks in HTML files
([#&#8203;16069](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16069))
- Prevent camel-casing CSS custom properties added by JavaScript plugins
([#&#8203;16103](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16103))
- Do not emit `@keyframes` in `@theme reference`
([#&#8203;16120](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16120))
- Discard invalid declarations when parsing CSS
([#&#8203;16093](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16093))
- Do not emit empty CSS rules and at-rules
([#&#8203;16121](https://redirect.github.com/tailwindlabs/tailwindcss/pull/16121))
- Handle `@variant` when at the top-level of a stylesheet
([#&#8203;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
([#&#8203;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.
- [@&#8203;starting-style
support](https://tailwindcss.com/blog/tailwindcss-v4#starting-style-support)
— a new variant you can use to create enter and exit transitions,
without the need for JavaScript.
- [not-\*
variant](https://tailwindcss.com/blog/tailwindcss-v4#not-variant) —
style an element only when it doesn't match another variant, custom
selector, or media or feature query.
- [Even more new utilities and
variants](https://tailwindcss.com/blog/tailwindcss-v4#even-more-new-utilities-and-variants)
— including support for `color-scheme`, `field-sizing`, complex shadows,
`inert`, and more.

Start using Tailwind CSS v4.0 today by [installing it in a new
project](https://tailwindcss.com/docs/installation/), or playing with it
directly in the browser on [Tailwind
Play](https://play.tailwindcss.com/).

For existing projects, we've published a comprehensive [upgrade
guide](https://tailwindcss.com/docs/upgrade-guide) and built an
[automated upgrade
tool](https://tailwindcss.com/docs/upgrade-guide#using-the-upgrade-tool)
to get you on the latest version as quickly and painlessly as possible.

For a deep-dive into everything that's new, [check out the announcement
post](https://tailwindcss.com/blog/tailwindcss-v4).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/unraid/api).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjQxLjQwLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-10 20:52:43 -04:00
2025-05-27 07:52:25 -04:00
2025-07-03 10:02:34 -04:00

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Unraid API

Monorepo for the Unraid API and Unraid Connect.
Explore the docs »

· Report Bug · Request Feature · Submit Work Intent

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Built With

Unraid Node.js Vite Nuxt PHP

(back to top)

Getting Started

This section will guide you through the steps necessary to get the monorepo projects running and communicating with each other.

Prerequisites

Make sure the following software is installed before proceeding.

  • Bash
  • Docker (for macOS folks, Orbstack works too)
  • Node.js (v20)
  • Just (optional)
  • libvirt (macOS folks can run brew install libvirt)
  • rclone (for development)
  • An Unraid server for development

Alternative: Using Nix Flake

If you have Nix installed, you can use the provided flake to automatically set up all development dependencies:

nix develop

This will provide all the required tools (Node.js, Docker, Just, libvirt, rclone, etc.) without needing to install them manually.

SSH Key Setup

Next, create an SSH key if you haven't already. Once you have your key pair, add your public SSH key to your Unraid server:

  1. Log in to your Unraid development server.
  2. Use the navigation menu to go to 'Users'.
  3. Click on the user you logged in with (e.g. root)
  4. Paste your SSH public key into 'SSH authorized keys' and click 'Save'.

Installation

  1. Clone and enter the repo

    git clone git@github.com:unraid/api.git
    cd api
    

    If using Nix, enter the development environment:

    nix develop
    
  2. Run the monorepo setup command.

     pnpm install
    
  3. Run the build watcher to build the components and serve a local plugin file that can be installed on your Unraid server.

    pnpm build:watch
    

    Navigate to Plugins->Install and install the local plugin file that is output to the console.

Tip

View other workflows (local dev, etc.) in the Developer Workflows

(back to top)

Usage

See How to Use the API.

For more examples, please refer to the Documentation

(back to top)

Contributing

For a complete guide on contributing to the project, including our code of conduct and development process, please see our Contributing Guide. Please read this before contributing.

Developer Documentation

For more information about development workflows, repository organization, and other technical details, please refer to the developer documentation inside this repository:

Work Intent Process

Before starting development work on this project, you must submit a Work Intent and have it approved by a core developer. This helps prevent duplicate work and ensures changes align with the project's goals.

  1. Create a Work Intent

  2. Wait for Approval

    • A core developer will review your Work Intent
    • They may ask questions or suggest changes
    • Once approved, the unapproved label will be removed
  3. Begin Development

    • Only start coding after your Work Intent is approved
    • Follow the approach outlined in your approved Work Intent
    • Reference the Work Intent in your future PR

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Top contributors

contrib.rocks image

Community

🌐 Forums
💬 Discord

(back to top)

Contact

@UnraidOfficial - contact@unraid.net

Project Link: https://github.com/unraid/api

(back to top)

Description
Unraid API / Connect / UI Monorepo
Readme 130 MiB
Languages
TypeScript 78.2%
Vue 11.9%
PHP 5.1%
Shell 1.9%
JavaScript 1.3%
Other 1.5%