# What changed in @tailwindcss/vite

> 90 changes in @tailwindcss/vite 4 from its official release notes, upgrade guides and advisories: 5 breaking, 1 deprecations, 10 new APIs and options. Each one cited. Sources checked 2026-10-18. HTML: https://unstale.sh/npm/@tailwindcss/vite/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @tailwindcss/vite 4

### Breaking changes

- Spacing utilities like m-1 and left-1 now generate var(--spacing) instead of calc(var(--spacing) * 1). (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Canonicalization changes where the minus sign appears for negative arbitrary values. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)
- .env and .env.* files are now excluded from default content scanning. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)
- Canonicalization collapses matching axis-specific overscroll utilities into overscroll-*. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)
- Canonicalization collapses matching arbitrary horizontal and vertical padding utilities into a single shorthand utility. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)

### Deprecations

- Deprecates start-* and end-* utilities in favor of inset-s-* and inset-e-* utilities. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)

### New APIs and options

- Adds utilities for block-size, min-block-size, and max-block-size. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Adds utilities for border-block-start and border-block-end. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Adds a utility for font-feature-settings. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Adds utilities for inline-size, min-inline-size, and max-inline-size. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Adds logical inset utilities for inline and block start and end. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Adds utilities for margin-block-start and margin-block-end. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Adds utilities for padding-block-start and padding-block-end. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Adds utilities for scroll-margin-block-start and scroll-margin-block-end. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Adds utilities for scroll-padding-block-start and scroll-padding-block-end. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Allows named groups to be combined with not-*, has-*, and in-*. (4.1.15) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4115---2025-10-20)

### Performance

- Scanning JSONL and NDJSON files is faster. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)

### Behavior and default changes

- Spacing utilities like m-0 and left-0 now generate 0 instead of calc(var(--spacing) * 0). (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Canonicalization can move a negative sign outside an arbitrary value and use shorthand variable syntax. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)
- Canonicalization collapses matching directional border utilities into axis-specific or general border utilities. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)
- Canonicalization migrates end utilities, including negative versions, to their inset-e equivalents. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)
- Canonicalization migrates start utilities, including negative versions, to their inset-s equivalents. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)
- Canonicalization collapses matching axis-specific overflow utilities into overflow-*. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)
- Canonicalization collapses matching directional scroll-margin utilities into axis-specific or general scroll-margin utilities. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)
- Aspect fractions now allow multiples of .25, such as aspect-8.5/11. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Utilities containing capital letters followed by numbers are now detected. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)

### Tooling

- @tailwindcss/vite now supports Vite 8. (4.2.2) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#422---2026-03-18)
- .jj is now included in the default ignored content directories. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- The Vite integration now supports the environment API. (4.1.18) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4118---2025-12-11)
- The upgrade process migrates deprecated break-words to wrap-break-word. (4.1.15) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4115---2025-10-20)
- A dedicated Vite plugin is available as an alternative to the PostCSS plugin, with improved performance and developer experience. (4.0.0) — [upgrade guide](https://tailwindcss.com/docs/upgrade-guide)

### Fixes and other changes

- No longer triggers full page reloads when Vite has processed scanned files that have not yet been loaded as modules. (4.3.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#433---2026-07-16)
- Prevents crashes in Deno v2.8.x when context.parentURL is not a valid URL. (4.3.2) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#432---2026-06-26)
- Prevents crashes during HMR when scanned files or directories are deleted. (4.3.2) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#432---2026-06-26)
- Can now be used with CSS mixins. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Avoids crashing when plugin utilities throw for unsupported values. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- No longer suggests invalid calc(…) expressions. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Avoids suggesting large spacing-scale values for arbitrary lengths. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Avoids folding calc(…) divisions when the result would require high precision. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Extracts candidates from Twig addClass(…) and removeClass(…) calls. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Color utilities work with custom shadow values containing calc(…). (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Transitions between inset-shadow-none and other inset shadows now work correctly. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Uses Module#registerHooks instead of Module#register on Node 26+ to remove deprecation warnings. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Correctly negates @container queries, including style(…) queries. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Avoids crashes when scanning files containing invalid UTF-8 bytes. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Globs ending in **/* preserve dynamic path segments to avoid scanning too many files. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Preserves symlinks in source globs. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Later source rules can re-include files excluded by earlier @source not rules. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Explicitly referenced directories are scanned even when ignored by git. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Fixes 'Sourcemap is likely to be incorrect' warnings when using the Vite integration. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- Can now be used inside addBase. (4.3.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#431---2026-06-12)
- When using @tailwindcss/vite, @plugin resolves package JavaScript entries instead of browser CSS entries. (4.3.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#430---2026-05-08)
- Relative @import and @plugin paths resolve from the correct directory when using @tailwindcss/vite. (4.3.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#430---2026-05-08)
- CSS files containing @variant are processed by @tailwindcss/vite. (4.3.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#430---2026-05-08)
- Imports in @import and @plugin now resolve correctly when using Vite aliases. (4.2.4) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#424---2026-04-21)
- Invalid characters in candidates that exceed the valid Unicode code point range no longer cause a crash. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)
- Placeholder utilities now read their color from --placeholder-color instead of --background-color. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)
- Canonicalization collapses matching directional scroll-padding utilities into axis-specific or general scroll-padding utilities. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)
- Canonicalization migrates overflow-ellipsis to text-ellipsis. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)
- Canonicalization now prefers non-negative tracking utilities, such as converting -tracking-tighter to tracking-wider. (4.2.3) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#423---2026-04-20)
- Expressions written as calc(var(--spacing)*…) are canonicalized into --spacing(…). (4.2.2) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#422---2026-03-18)
- Candidates containing prototype properties like row-constructor no longer crash. (4.2.2) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#422---2026-03-18)
- Server-only modules scanned by client CSS no longer trigger a full reload when using @tailwindcss/vite. (4.2.2) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#422---2026-03-18)
- @tailwindcss/vite resolves tsconfig paths for imports such as @import '@/path/to/file';. (4.2.2) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#422---2026-03-18)
- Canonicalization no longer crashes when handling utilities containing @property at-rules. (4.2.2) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#422---2026-03-18)
- Bare values exceeding default spacing scale suggestions are canonicalized more effectively, such as w-1234 h-1234 to size-1234. (4.2.2) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#422---2026-03-18)
- Canonicalization no longer produces an empty list for equivalent utilities such as w-5 h-5 size-5. (4.2.2) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#422---2026-03-18)
- Functional utility names can now end with a trailing dash for backwards compatibility. (4.2.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#421---2026-02-23)
- Classes containing `.` characters within curly braces in MDX files are now properly detected. (4.2.1) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#421---2026-02-23)
- Prevents a duplicate @supports wrapper from being emitted for color-mix values. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- The default theme adds mauve, olive, mist, and taupe color palettes. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Whitespace around the @source inline() argument is now allowed. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Changes to external files listed via @source now trigger a full page reload. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Import aliases in Astro v5 now work without crashing. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Utility name validation now aligns with Oxide scanner rules. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Utility names now allow escape characters, improving support with formatters such as Biome. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Fixes an infinite loop when @variant is used inside @custom-variant. (4.2.0) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#420---2026-02-18)
- Substitute @variant inside legacy JS APIs. (4.1.17) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4117---2025-11-06)
- Prevent an occasional crash on Windows when loaded into a worker thread. (4.1.17) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4117---2025-11-06)
- Fixes canonicalization of arbitrary variants that use attribute selectors. (4.1.16) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4116---2025-10-23)
- Improves canonicalization for arbitrary variants using `& > :pseudo` and `& :pseudo` selectors. (4.1.16) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4116---2025-10-23)
- Candidates with an empty data type are discarded, preventing them from affecting candidate processing. (4.1.16) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4116---2025-10-23)
- Fixes invalid colors caused by nested `&`. (4.1.16) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4116---2025-10-23)
- Fixes a parsing issue when \t is used in at-rules. (4.1.15) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4115---2025-10-20)
- Fixes a Safari DevTools rendering issue caused by the color-mix fallback. (4.1.15) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4115---2025-10-20)
- Suppresses Lightning CSS warnings about :deep, :slotted, and :global. (4.1.15) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4115---2025-10-20)
- Prevents important utilities from affecting other utilities. (4.1.15) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4115---2025-10-20)
- Fixes resolving theme keys that start with the name of another theme key in JS configs and plugins. (4.1.15) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4115---2025-10-20)
- The theme(…) function no longer indexes into strings. (4.1.15) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4115---2025-10-20)
- Canonicalizes utilities containing 0 values during upgrades. (4.1.15) — [release notes](https://github.com/tailwindlabs/tailwindcss/blob/f7f47f8e98b0312784515605901dbb0c907d28bf/CHANGELOG.md#4115---2025-10-20)
