This PR contains the following updates:
Release Notes
tailwindlabs/tailwindcss (tailwindcss)
Compare Source
Fixed
- Discard candidates with an empty data type (#19172)
- Fix canonicalization of arbitrary variants with attribute selectors (#19176)
- Fix invalid colors due to nested
& (#19184)
- Improve canonicalization for
& > :pseudo and & :pseudo arbitrary variants (#19178)
Compare Source
Fixed
- Fix Safari devtools rendering issue due to
color-mix fallback (#19069)
- Suppress Lightning CSS warnings about
:deep, :slotted, and :global (#19094)
- Fix resolving theme keys when starting with the name of another theme key in JS configs and plugins (#19097)
- Allow named groups in combination with
not-*, has-*, and in-* (#19100)
- Prevent important utilities from affecting other utilities (#19110)
- Don’t index into strings with the
theme(...) function (#19111)
- Fix parsing issue when
\t is used in at-rules (#19130)
- Upgrade: Canonicalize utilities containing
0 values (#19095)
- Upgrade: Migrate deprecated
break-words to wrap-break-word (#19157)
Changed
Compare Source
Fixed
- Handle
' syntax in ClojureScript when extracting classes (#18888)
- Handle
@variant inside @custom-variant (#18885)
- Merge suggestions when using
@utility (#18900)
- Ensure that file system watchers created when using the CLI are always cleaned up (#18905)
- Do not generate
grid-column utilities when configuring grid-column-start or grid-column-end (#18907)
- Do not generate
grid-row utilities when configuring grid-row-start or grid-row-end (#18907)
- Prevent duplicate CSS when overwriting a static utility with a theme key (#18056)
- Show Lightning CSS warnings (if any) when optimizing/minifying (#18918)
- Use
default export condition for @tailwindcss/vite (#18948)
- Re-throw errors from PostCSS nodes (#18373)
- Detect classes in markdown inline directives (#18967)
- Ensure files with only
@theme produce no output when built (#18979)
- Support Maud templates when extracting classes (#18988)
- Upgrade: Do not migrate
variant = 'outline' during upgrades (#18922)
- Upgrade: Show version mismatch (if any) when running upgrade tool (#19028)
- Upgrade: Ensure first class inside
className is migrated (#19031)
- Upgrade: Migrate classes inside
*ClassName and *Class attributes (#19031)
Compare Source
Changed
- Drop warning from browser build (#18731)
- Drop exact duplicate declarations when emitting CSS (#18809)
Fixed
- Don't transition
visibility when using transition (#18795)
- Discard matched variants with unknown named values (#18799)
- Discard matched variants with non-string values (#18799)
- Show suggestions for known
matchVariant values (#18798)
- Replace deprecated
clip with clip-path in sr-only (#18769)
- Hide internal fields from completions in
matchUtilities (#18820)
- Ignore
.vercel folders by default (can be overridden by @source ... rules) (#18855)
- Consider variants starting with
@- to be invalid (e.g. @-2xl:flex) (#18869)
- Do not allow custom variants to start or end with a
- or _ (#18867, #18872)
- Upgrade: Migrate
aria theme keys to @custom-variant (#18815)
- Upgrade: Migrate
data theme keys to @custom-variant (#18816)
- Upgrade: Migrate
supports theme keys to @custom-variant (#18817)
Compare Source
Fixed
- Don't consider the global important state in
@apply (#18404)
- Add missing suggestions for
flex-<number> utilities (#18642)
- Fix trailing
) from interfering with extraction in Clojure keywords (#18345)
- Detect classes inside Elixir charlist, word list, and string sigils (#18432)
- Track source locations through
@plugin and @config (#18345)
- Allow boolean values of
process.env.DEBUG in @tailwindcss/node (#18485)
- Ignore consecutive semicolons in the CSS parser (#18532)
- Center the dropdown icon added to an input with a paired datalist by default (#18511)
- Extract candidates in Slang templates (#18565)
- Improve error messages when encountering invalid functional utility names (#18568)
- Discard CSS AST objects with
false or undefined properties (#18571)
- Allow users to disable URL rebasing in
@tailwindcss/postcss via transformAssetUrls: false (#18321)
- Fix false-positive migrations in
addEventListener and JavaScript variable names (#18718)
- Fix Standalone CLI showing default Bun help when run via symlink on Windows (#18723)
- Read from
--border-color-* theme keys in divide-* utilities for backwards compatibility (#18704)
- Don't scan
.hdr and .exr files for classes by default (#18734)
Compare Source
Fixed
- Add heuristic to skip candidate migrations inside
emit(...) (#18330)
- Extract candidates with variants in Clojure/ClojureScript keywords (#18338)
- Document
--watch=always in the CLI's usage (#18337)
- Add support for Vite 7 to
@tailwindcss/vite (#18384)
Compare Source
Fixed
- Fix incorrectly generated CSS when using percentages in arbitrary values with calc (e.g.
w-[calc(100%-var(--offset))]) (#18289)
Compare Source
Fixed
- Correctly parse custom properties with strings containing semicolons (#18251)
- Upgrade: Migrate arbitrary modifiers without percentage signs to bare values (e.g.
/[0.16] → /16) (#18184)
- Upgrade: Migrate CSS variable shorthands where fallback value contains function call (#18184)
- Upgrade: Migrate negative arbitrary values to negative bare values (e.g.
mb-[-32rem] → -mb-128) (#18212)
- Upgrade: Do not migrate
blur in wire:model.blur (#18216)
- Don't add spaces around CSS dashed idents when formatting math expressions (#18220)
Compare Source
Added
- Improve error messages when
@apply fails (#18059)
Fixed
- Upgrade: Do not migrate declarations that look like candidates in
<style> blocks (#18057, 18068)
- Upgrade: Don't error when looking for
tailwindcss in pnpm monorepos (#18065)
- Upgrade: Don't error when updating dependencies in pnpm monorepos (#18065)
- Upgrade: Migrate deprecated
order-none to order-0 (#18126)
- Support Leptos
class: attributes when extracting classes (#18093)
- Fix "Cannot read properties of undefined" crash on malformed arbitrary value (#18133)
- Upgrade: Migrate
-mt-[0px] to mt-[0px] instead of the other way around (#18154)
- Fix Haml pre-processing crash when there is no
\n at the end of the file (#18155)
- Ignore
.pnpm-store folders by default (can be overridden by @source ... rules) (#18163)
- Fix PostCSS crash when calling
toJSON() (#18083)
Compare Source
Added
- Upgrade: Migrate bare values to named values (#18000)
- Upgrade: Added cache to improve template migration performance (#18025)
Fixed
- Allow
_ before numbers during candidate extraction (#17961)
- Prevent duplicate suggestions when using
@theme and @utility together (#17675)
- Ensure that media queries within
::before and ::after pseudo selectors create valid CSS rules in production builds (#17979)
- Ensure that the standalone CLI does not leave temporary files behind (#17981)
- Ensure
-rotate-* utilities properly negate arbitrary values (#18014)
- Ignore custom variants using
:merge(...) selectors in legacy JS plugins (#18020)
- Ensure classes containing
. are properly extracted from Clojure files (#18038)
- Upgrade: Fix error when using
@import ... source(...) (#17963)
- Upgrade: Change casing of utilities with named values to kebab-case to match updated theme variables (#18017)
- Upgrade: Don't migrate strings that match utility names in Vue attribute bindings other than
class (#18025)
Compare Source
Added
- Upgrade: Automatically convert arbitrary values to named values when possible (e.g.
h-[1lh] to h-lh) (#17831, #17854)
- Upgrade: Update dependencies in parallel for improved performance (#17898)
- Add detailed logging about
@source directives, discovered files and scanned files when using DEBUG=* (#17906, #17952)
- Add support for generating source maps in development (#17775)
Fixed
- Ensure negative arbitrary
scale values generate negative values (#17831)
- Fix HAML extraction with embedded Ruby (#17846)
- Don't scan files for utilities when using
@reference (#17836)
- Fix incorrectly replacing
_ with in arbitrary modifier shorthand bg-red-500/(--my_opacity) (#17889)
- Don't scan
.log files for classes by default (#17906)
- Ensure that custom utilities applying other custom utilities don't swallow nested
@apply rules (#17925)
- Download platform specific package if
optionalDependencies are skipped (#17929)
Compare Source
Added
- Support using
@tailwindcss/upgrade to upgrade between versions of v4.* (#17717)
- Add
h-lh / min-h-lh / max-h-lh utilities (#17790)
- Transition
display, visibility, content-visibility, overlay, and pointer-events when using transition to simplify @starting-style usage (#17812)
Fixed
- Don't scan
.geojson or .db files for classes by default (#17700, #17711)
- Hide default shadow suggestions when missing default shadow theme keys (#17743)
- Replace
_ with . in theme suggestions for @utility if surrounded by digits (#17733)
- Skip
color-mix(...) when opacity is 100% (#17815)
- PostCSS: Ensure that errors in imported stylesheets are recoverable (#17754)
- Upgrade: Bump all Tailwind CSS related dependencies during upgrade (#17763)
- Upgrade: Don't add
- to variants starting with @ (#17814)
- Upgrade: Don't format stylesheets that didn't change when upgrading (#17824)
Changed
- Ignore
.hg, .svn, .venv, venv, .yarn, .next, .turbo, .parcel-cache, __pycache__, and .svelte-kit folders by default (can be overridden by @source ... rules) (#17892)
@source rules that point inside .hg, .svn, .venv, venv, .yarn, .next, .turbo, .parcel-cache, __pycache__, and .svelte-kit folders no longer consider your .gitignore rules (#17892)
Compare Source
Added
- Add experimental
@tailwindcss/oxide-wasm32-wasi target for running Tailwind in browser environments like StackBlitz (#17558)
Fixed
- Ensure
color-mix(...) polyfills do not cause used CSS variables to be removed (#17555)
- Ensure
color-mix(...) polyfills create fallbacks for theme variables that reference other theme variables (#17562)
- Fix brace expansion in declining ranges like
{10..0..5} and {0..10..-5} (#17591)
- Work around a Chrome rendering bug when using the
skew-* utilities (#17627)
- Ensure container query variant names can contain hyphens (#17628)
- Ensure
shadow-inherit, inset-shadow-inherit, drop-shadow-inherit, and text-shadow-inherit inherit the shadow color (#17647)
- Ensure compatibility with array tuples used in
fontSize JS theme keys (#17630)
- Ensure folders with binary file extensions in their names are scanned for utilities (#17595)
- Upgrade: Convert
fontSize array tuple syntax to CSS theme variables (#17630)
Compare Source
Fixed
- Show warning when using unsupported bare value data type in
--value(...) (#17464)
- PostCSS: Ensure changes to the input CSS file don't generate stale output when using Turbopack (#17554)
- Ensure classes are detected in Ruby's
%w syntax in Slim templates (#17557)
Compare Source
Fixed
- Don't rely on the presence of
@layer base to polyfill @property (#17506)
- Support setting multiple inset shadows as arbitrary values (#17523)
- Fix
drop-shadow-* utilities that are defined with multiple shadows (#17515)
- PostCSS: Fix race condition when two changes are queued concurrently (#17514)
- PostCSS: Ensure files containing
@tailwind utilities are processed (#17514)
- Ensure the
color-mix(...) polyfill creates fallbacks even when using colors that cannot be statically analyzed (#17513)
- Fix slow incremental builds with
@tailwindcss/vite and @tailwindcss/postscss (especially on Windows) (#17511)
- Vite: Fix missing CSS file in Qwik setups (#17533)
Compare Source
Fixed
- Handle
' syntax in ClojureScript when extracting classes (#18888)
- Handle
@variant inside @custom-variant (#18885)
- Merge suggestions when using
@utility (#18900)
- Ensure that file system watchers created when using the CLI are always cleaned up (#18905)
- Do not generate
grid-column utilities when configuring grid-column-start or grid-column-end (#18907)
- Do not generate
grid-row utilities when configuring grid-row-start or grid-row-end (#18907)
- Prevent duplicate CSS when overwriting a static utility with a theme key (#18056)
- Show Lightning CSS warnings (if any) when optimizing/minifying (#18918)
- Use
default export condition for @tailwindcss/vite (#18948)
- Re-throw errors from PostCSS nodes (#18373)
- Detect classes in markdown inline directives (#18967)
- Ensure files with only
@theme produce no output when built (#18979)
- Support Maud templates when extracting classes (#18988)
- Upgrade: Do not migrate
variant = 'outline' during upgrades (#18922)
- Upgrade: Show version mismatch (if any) when running upgrade tool (#19028)
- Upgrade: Ensure first class inside
className is migrated (#19031)
- Upgrade: Migrate classes inside
*ClassName and *Class attributes (#19031)
Compare Source
Added
- Add
details-content variant (#15319)
- Add
inverted-colors variant (#11693)
- Add
noscript variant (#11929, #17431)
- Add
items-baseline-last and self-baseline-last utilities (#13888, #17476)
- Add
pointer-none, pointer-coarse, and pointer-fine variants (#16946)
- Add
any-pointer-none, any-pointer-coarse, and any-pointer-fine variants (#16941)
- Add safe alignment utilities (#14607)
- Add
user-valid and user-invalid variants (#12370)
- Add
wrap-anywhere, wrap-break-word, and wrap-normal utilities (#12128)
- Add
@source inline(...) and @source not inline(...) (#17147)
- Add
@source not "..." (#17255)
- Add
text-shadow-* utilities (#17389)
- Add
mask-* utilities (#17134)
- Add
bg-{position,size}-* utilities for arbitrary values (#17432)
- Add
shadow-*/<alpha>, inset-shadow-*/<alpha>, drop-shadow-*/<alpha>, and text-shadow-*/<alpha> utilities to control shadow opacity (#17398, #17434)
- Add
drop-shadow-<color> utilities (#17434)
- Improve compatibility with older versions of Safari and Firefox (#17435)
Fixed
- Follow symlinks when resolving
@source directives (#17391)
- Don't scan ignored files for classes when changing an ignored file triggers a rebuild using
@tailwindcss/cli (#17255)
- Support negated
content rules in legacy JavaScript configuration (#17255)
- Interpret syntax like
@("@​")md:... as @md:... in Razor files (#17427)
- Disallow top-level braces, top-level semicolons, and unbalanced parentheses and brackets in arbitrary values (#17361)
- Ensure the
--theme(...) function still resolves to the CSS variables when using legacy JS plugins (#17458)
- Detect used theme variables in CSS module files (#17433, #17467)
Changed
- Ignore
node_modules by default (can be overridden by @source ... rules) (#17255)
@source rules that include file extensions or point inside node_modules/ folders no longer consider your .gitignore rules (#17255)
- Deprecate
bg-{left,right}-{top,bottom} in favor of bg-{top,bottom}-{left,right} utilities (#17378)
- Deprecate
object-{left,right}-{top,bottom} in favor of object-{top,bottom}-{left,right} utilities (#17437)
Compare Source
Fixed
- Fix an issue causing the CLI to hang when processing Ruby files (#17383)
Compare Source
Added
- Add support for literal values in
--value('...') and --modifier('...') (#17304)
Fixed
- Fix class extraction followed by
( in Pug (#17320)
- Ensure
@keyframes for theme animations are emitted if they are referenced following a comma (#17352)
- Vite: Ensure that updates to an imported CSS file are properly propagated after updating source files (#17347)
- Pre process
Slim templates embedded in Ruby files (#17336)
- Error when input and output files resolve to the same file when using the CLI (#17311)
- Add missing suggestions when
--spacing(--value(integer, number)) is used (#17308)
- Add
::-webkit-details-marker pseudo to marker variant (#17362)
Compare Source
Fixed
- Fix incorrect angle in
-bg-conic-* utilities (#17174)
- Fix
border-[12px_4px] being interpreted as a border-color instead of a border-width (#17248)
- Work around a crash in Safari 16.4 and 16.5 when using the default Preflight styles (#17306)
- Pre-process
<template lang="..."> in Vue files (#17252)
- Ensure that all CSS variables used by Preflight are prefixed (#17036)
- Prevent segfault when loaded in a worker thread on Linux (#17276)
- Ensure multiple
--value(...) or --modifier(...) calls don't delete subsequent declarations (#17273)
- Fix class extraction followed by
( in Slim (#17278)
- Export
PluginUtils from tailwindcss/plugin for compatibility with v3 (#17299)
- Remove redundant
line-height: initial from Preflight (#15212)
- Increase Standalone hardware compatibility on macOS x64 builds (#17267)
- Ensure that the CSS file rebuilds if a new CSS variable is used from templates (#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)
Compare Source
Fixed
- Do not extract candidates with JS string interpolation
${ (#17142)
- Fix extraction of variants containing
. character (#17153)
- Fix extracting candidates in Clojure/ClojureScript (#17087)
Compare Source
Fixed
- Fix Haml pre-processing (#17051)
- Ensure
.node and .wasm files are not scanned for utilities (#17123)
- Improve performance when scanning JSON files (#17125)
- Fix extracting candidates containing dots in Haml, Pug, and Slim pre processors (#17094, #17085, #17113)
- Don't create invalid CSS when encountering a link wrapped in square brackets (#17129)
Compare Source
Fixed
- Vite: Fix
url(...) rebasing in transitively imported CSS files (#16965)
- PostCSS: Rebase
url(...)s in imported CSS files (#16965)
- Ensure utilities are sorted based on their actual property order (#16995)
- Ensure strings in Pug and Slim templates are handled correctly (#17000)
- Ensure classes between
} and { are properly extracted (#17001)
- Fix
razor/cshtml pre-processing (#17027)
- Ensure extracting candidates from JS embedded in a PHP string works as expected (#17031)
Compare Source
Fixed
- Ensure classes containing
-- are extracted correctly (#16972)
- Ensure classes containing numbers followed by dash or underscore are extracted correctly (#16980)
- Ensure arbitrary container queries are extracted correctly (#16984)
- Ensure classes ending in
[ are extracted in Slim templating language (#16985)
- Ensure arbitrary variables with data types are extracted correctly (#16986)
Compare Source
Added
- Add
col-<number> and row-<number> utilities for grid-column and grid-row (#15183)
Fixed
- Ensure
not-* does not remove :is(...) from variants (#16825)
- Ensure
@keyframes are correctly emitted when using a prefix (#16850)
- Don't swallow
@utility declarations when @apply is used in nested rules (#16940)
- Ensure
outline-hidden behaves like outline-none outside of forced colors mode (#16943)
- Allow
!important on CSS variables again (#16873)
- Vite: Do not crash when encountering an
.svg file with # or ? in the filename (#16957)
- Ensure utilities are properly detected within square brackets (#16306)
- Ensure utilities are properly detected using Angular's conditional class binding syntax (#16306)
- Ensure utilities starting with numbers are properly extracted from Slim templates (#16306)
- Discard arbitrary property candidates that have guaranteed-invalid property names (#16306)
Changed
- Removed
max-w-auto and max-h-auto utilities as they generate invalid CSS (#16917)
- Replaced the existing candidate extractor with a brand new extractor to improve maintainability, correctness, and performance (#16306)
Compare Source
Fixed
- Make JS APIs available to plugins and configs in the Standalone CLI (#15934)
- Vite: Don't crash when importing a virtual module from JavaScript that ends in
.css (#16780)
- Fix an issue where
@reference "..." would sometimes omit keyframe animations (#16774)
- Ensure
z-*! utilities are properly marked as !important (#16795)
- Read UTF-8 CSS files that start with a byte-order mark (BOM) (#16800)
- Ensure nested functions in selectors used with JavaScript plugins are not truncated (#16802)
Changed
- Emit variable fallbacks when using
@reference "..." instead of duplicate CSS variable declarations (#16774)
Compare Source
Added
- Allow
@import with theme(...) options for stylesheets that contain more than just @theme rules (#16514)
Fixed
- Don't add
!important to CSS variable declarations when using the important modifier (#16668)
- Vite: Ignore files and directories specified in your
.gitignore file when using automatic source detection(#16631)
- Vite: Don't rely on the module graph for detecting candidates to ensure setups with multiple Vite builds work as expected (#16631)
- Vite: Ensure Astro production builds always contain classes used in client-only components (#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)
- Ensure utilities with more declarations are always sorted before utilities with fewer declarations when utilities only define CSS variables (#16715)
- Only include
translate-z-px utilities once in compiled CSS (#16718)
Changed
- Don't include theme variables that aren't used in compiled CSS (#16211, #16676)
Compare Source
Fixed
- Export
tailwindcss/lib/util/flattenColorPalette.js for backward compatibility (#16411)
- Fix sorting of numeric utility suggestions when they have different magnitudes (#16414)
- Show suggestions for fractions in IntelliSense (#16353)
- Don’t replace
_ in suggested theme keys (#16433)
- Ensure
--default-outline-width can be used to change the outline-width value of the outline utility (#16469)
- Ensure drop shadow utilities don't inherit unexpectedly (#16471)
- Export config and plugin types from
tailwindcss/plugin for backward compatibility (#16505)
- Ensure JavaScript plugins that emit nested rules referencing the utility name work as expected (#16539)
- Statically link Visual Studio redistributables in
@tailwindcss/oxide Windows builds (#16602)
- Ensure that Next.js splat routes are scanned for classes (#16457)
- Pin exact version of
tailwindcss in @tailwindcss/* packages (#16623)
- Upgrade: Report errors when updating dependencies (#16504)
- Upgrade: Ensure a
darkMode JS config setting with block syntax converts to use @slot (#16507)
- Upgrade: Ensure the latest version of
tailwindcss and @tailwindcss/postcss are installed when upgrading (#16620)
Compare Source
Fixed
- Revert change to no longer include theme variables that aren't used in compiled CSS (#16403)
- Upgrade: Don't migrate
blur to blur-sm when used with Next.js <Image placeholder="blur" /> (#16405)
Compare Source
Added
- Add
@theme static option for always including theme variables in compiled CSS (#16211)
Fixed
- Remove rogue
console.log from @tailwindcss/vite (#16307)
Changed
- Don't include theme variables that aren't used in compiled CSS (#16211)
Compare Source
Fixed
- Fix a crash when setting JS theme values to
null (#16210)
- Ensure escaped underscores in CSS variables in arbitrary values are properly unescaped (#16206)
- Ensure that the
containers JS theme key is added to the --container-* namespace (#16169)
- Ensure theme
@keyframes are generated even if an --animation-* variable spans multiple lines (#16237)
- Vite: Skip parsing stylesheets with the
?commonjs-proxy flag (#16238)
- Fix
order-first and order-last for Firefox (#16266)
- Fix support for older instruction sets on Linux x64 builds of the standalone CLI (#16244)
- Ensure
NODE_PATH is respected when resolving JavaScript and CSS files (#16274)
- Ensure Node addons are packaged correctly with FreeBSD builds (#16277)
- Fix an issue where
@variant inside a referenced stylesheet could cause a stack overflow (#16300)
Compare Source
Fixed
- Fix incorrect removal of
@import url(); (#16144)
Compare Source
Fixed
- Only generate positive
grid-cols-* and grid-rows-* utilities (#16020)
- Ensure escaped theme variables are handled correctly (#16064)
- Ensure we process Tailwind CSS features when only using
@reference or @variant (#16057)
- Refactor gradient implementation to work around prettier/prettier#17058 (#16072)
- Vite: Ensure hot-reloading works with SolidStart setups (#16052)
- Vite: Fix a crash when starting the development server in SolidStart setups (#16052)
- Vite: Don't rebase URLs that appear to be aliases (#16078)
- Vite: Transform
<style> blocks in HTML files (#16069)
- Prevent camel-casing CSS custom properties added by JavaScript plugins (#16103)
- Do not emit
@keyframes in @theme reference (#16120)
- Discard invalid declarations when parsing CSS (#16093)
- Do not emit empty CSS rules and at-rules (#16121)
- Handle
@variant when at the top-level of a stylesheet (#16129)
Compare Source
Fixed
- Fix an issue causing the CLI to hang when processing Ruby files (#17383)
Compare Source
Added
- 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 — built on cutting-edge CSS features like cascade layers, registered custom properties with
@property, and color-mix().
- Simplified installation — fewer dependencies, zero configuration, and just a single line of code in your CSS file.
- First-party Vite plugin — tight integration for maximum performance and minimum configuration.
- [Automatic content de
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.
This PR was generated by Mend Renovate. View the repository job log.
Uh oh!
There was an error while loading. Please reload this page.
This PR contains the following updates:
^3.4.3->^4.0.0Release Notes
tailwindlabs/tailwindcss (tailwindcss)
v4.1.16Compare Source
Fixed
&(#19184)& > :pseudoand& :pseudoarbitrary variants (#19178)v4.1.15Compare Source
Fixed
color-mixfallback (#19069):deep,:slotted, and:global(#19094)not-*,has-*, andin-*(#19100)theme(...)function (#19111)\tis used in at-rules (#19130)0values (#19095)break-wordstowrap-break-word(#19157)Changed
postinstallscript from oxide ([#19149])(#19149)v4.1.14Compare Source
Fixed
'syntax in ClojureScript when extracting classes (#18888)@variantinside@custom-variant(#18885)@utility(#18900)grid-columnutilities when configuringgrid-column-startorgrid-column-end(#18907)grid-rowutilities when configuringgrid-row-startorgrid-row-end(#18907)defaultexport condition for@tailwindcss/vite(#18948)@themeproduce no output when built (#18979)variant = 'outline'during upgrades (#18922)classNameis migrated (#19031)*ClassNameand*Classattributes (#19031)v4.1.13Compare Source
Changed
Fixed
visibilitywhen usingtransition(#18795)matchVariantvalues (#18798)clipwithclip-pathinsr-only(#18769)matchUtilities(#18820).vercelfolders by default (can be overridden by@source ...rules) (#18855)@-to be invalid (e.g.@-2xl:flex) (#18869)-or_(#18867, #18872)ariatheme keys to@custom-variant(#18815)datatheme keys to@custom-variant(#18816)supportstheme keys to@custom-variant(#18817)v4.1.12Compare Source
Fixed
@apply(#18404)flex-<number>utilities (#18642))from interfering with extraction in Clojure keywords (#18345)@pluginand@config(#18345)process.env.DEBUGin@tailwindcss/node(#18485)falseorundefinedproperties (#18571)@tailwindcss/postcssviatransformAssetUrls: false(#18321)addEventListenerand JavaScript variable names (#18718)--border-color-*theme keys individe-*utilities for backwards compatibility (#18704).hdrand.exrfiles for classes by default (#18734)v4.1.11Compare Source
Fixed
emit(...)(#18330)--watch=alwaysin the CLI's usage (#18337)@tailwindcss/vite(#18384)v4.1.10Compare Source
Fixed
w-[calc(100%-var(--offset))]) (#18289)v4.1.9Compare Source
Fixed
/[0.16]→/16) (#18184)mb-[-32rem]→-mb-128) (#18212)blurinwire:model.blur(#18216)v4.1.8Compare Source
Added
@applyfails (#18059)Fixed
<style>blocks (#18057, 18068)tailwindcssin pnpm monorepos (#18065)order-nonetoorder-0(#18126)class:attributes when extracting classes (#18093)-mt-[0px]tomt-[0px]instead of the other way around (#18154)\nat the end of the file (#18155).pnpm-storefolders by default (can be overridden by@source ...rules) (#18163)toJSON()(#18083)v4.1.7Compare Source
Added
Fixed
_before numbers during candidate extraction (#17961)@themeand@utilitytogether (#17675)::beforeand::afterpseudo selectors create valid CSS rules in production builds (#17979)-rotate-*utilities properly negate arbitrary values (#18014):merge(...)selectors in legacy JS plugins (#18020).are properly extracted from Clojure files (#18038)@import ... source(...)(#17963)class(#18025)v4.1.6Compare Source
Added
h-[1lh]toh-lh) (#17831, #17854)@sourcedirectives, discovered files and scanned files when usingDEBUG=*(#17906, #17952)Fixed
scalevalues generate negative values (#17831)@reference(#17836)_with in arbitrary modifier shorthandbg-red-500/(--my_opacity)(#17889).logfiles for classes by default (#17906)@applyrules (#17925)optionalDependenciesare skipped (#17929)v4.1.5Compare Source
Added
@tailwindcss/upgradeto upgrade between versions of v4.* (#17717)h-lh/min-h-lh/max-h-lhutilities (#17790)display,visibility,content-visibility,overlay, andpointer-eventswhen usingtransitionto simplify@starting-styleusage (#17812)Fixed
.geojsonor.dbfiles for classes by default (#17700, #17711)_with.in theme suggestions for@utilityif surrounded by digits (#17733)color-mix(...)when opacity is100%(#17815)-to variants starting with@(#17814)Changed
.hg,.svn,.venv,venv,.yarn,.next,.turbo,.parcel-cache,__pycache__, and.svelte-kitfolders by default (can be overridden by@source ...rules) (#17892)@sourcerules that point inside.hg,.svn,.venv,venv,.yarn,.next,.turbo,.parcel-cache,__pycache__, and.svelte-kitfolders no longer consider your.gitignorerules (#17892)v4.1.4Compare Source
Added
@tailwindcss/oxide-wasm32-wasitarget for running Tailwind in browser environments like StackBlitz (#17558)Fixed
color-mix(...)polyfills do not cause used CSS variables to be removed (#17555)color-mix(...)polyfills create fallbacks for theme variables that reference other theme variables (#17562){10..0..5}and{0..10..-5}(#17591)skew-*utilities (#17627)shadow-inherit,inset-shadow-inherit,drop-shadow-inherit, andtext-shadow-inheritinherit the shadow color (#17647)fontSizeJS theme keys (#17630)fontSizearray tuple syntax to CSS theme variables (#17630)v4.1.3Compare Source
Fixed
--value(...)(#17464)%wsyntax in Slim templates (#17557)v4.1.2Compare Source
Fixed
@layer baseto polyfill@property(#17506)drop-shadow-*utilities that are defined with multiple shadows (#17515)@tailwind utilitiesare processed (#17514)color-mix(...)polyfill creates fallbacks even when using colors that cannot be statically analyzed (#17513)@tailwindcss/viteand@tailwindcss/postscss(especially on Windows) (#17511)v4.1.1Compare Source
Fixed
'syntax in ClojureScript when extracting classes (#18888)@variantinside@custom-variant(#18885)@utility(#18900)grid-columnutilities when configuringgrid-column-startorgrid-column-end(#18907)grid-rowutilities when configuringgrid-row-startorgrid-row-end(#18907)defaultexport condition for@tailwindcss/vite(#18948)@themeproduce no output when built (#18979)variant = 'outline'during upgrades (#18922)classNameis migrated (#19031)*ClassNameand*Classattributes (#19031)v4.1.0Compare Source
Added
details-contentvariant (#15319)inverted-colorsvariant (#11693)noscriptvariant (#11929, #17431)items-baseline-lastandself-baseline-lastutilities (#13888, #17476)pointer-none,pointer-coarse, andpointer-finevariants (#16946)any-pointer-none,any-pointer-coarse, andany-pointer-finevariants (#16941)user-validanduser-invalidvariants (#12370)wrap-anywhere,wrap-break-word, andwrap-normalutilities (#12128)@source inline(...)and@source not inline(...)(#17147)@source not "..."(#17255)text-shadow-*utilities (#17389)mask-*utilities (#17134)bg-{position,size}-*utilities for arbitrary values (#17432)shadow-*/<alpha>,inset-shadow-*/<alpha>,drop-shadow-*/<alpha>, andtext-shadow-*/<alpha>utilities to control shadow opacity (#17398, #17434)drop-shadow-<color>utilities (#17434)Fixed
@sourcedirectives (#17391)@tailwindcss/cli(#17255)contentrules in legacy JavaScript configuration (#17255)@("@​")md:...as@md:...in Razor files (#17427)--theme(...)function still resolves to the CSS variables when using legacy JS plugins (#17458)Changed
node_modulesby default (can be overridden by@source ...rules) (#17255)@sourcerules that include file extensions or point insidenode_modules/folders no longer consider your.gitignorerules (#17255)bg-{left,right}-{top,bottom}in favor ofbg-{top,bottom}-{left,right}utilities (#17378)object-{left,right}-{top,bottom}in favor ofobject-{top,bottom}-{left,right}utilities (#17437)v4.0.17Compare Source
Fixed
v4.0.16Compare Source
Added
--value('...')and--modifier('...')(#17304)Fixed
(in Pug (#17320)@keyframesfor theme animations are emitted if they are referenced following a comma (#17352)Slimtemplates embedded in Ruby files (#17336)--spacing(--value(integer, number))is used (#17308)::-webkit-details-markerpseudo tomarkervariant (#17362)v4.0.15Compare Source
Fixed
-bg-conic-*utilities (#17174)border-[12px_4px]being interpreted as aborder-colorinstead of aborder-width(#17248)<template lang="...">in Vue files (#17252)--value(...)or--modifier(...)calls don't delete subsequent declarations (#17273)(in Slim (#17278)PluginUtilsfromtailwindcss/pluginfor compatibility with v3 (#17299)line-height: initialfrom Preflight (#15212)Changed
--theme(...)function now returns CSS variables from your theme variables unless used inside positions where CSS variables are invalid (e.g. inside@mediaqueries) (#17036)v4.0.14Compare Source
Fixed
${(#17142).character (#17153)v4.0.13Compare Source
Fixed
.nodeand.wasmfiles are not scanned for utilities (#17123)v4.0.12Compare Source
Fixed
url(...)rebasing in transitively imported CSS files (#16965)url(...)s in imported CSS files (#16965)}and{are properly extracted (#17001)razor/cshtmlpre-processing (#17027)v4.0.11Compare Source
Fixed
--are extracted correctly (#16972)[are extracted in Slim templating language (#16985)v4.0.10Compare Source
Added
col-<number>androw-<number>utilities forgrid-columnandgrid-row(#15183)Fixed
not-*does not remove:is(...)from variants (#16825)@keyframesare correctly emitted when using a prefix (#16850)@utilitydeclarations when@applyis used in nested rules (#16940)outline-hiddenbehaves likeoutline-noneoutside of forced colors mode (#16943)!importanton CSS variables again (#16873).svgfile with#or?in the filename (#16957)Changed
max-w-autoandmax-h-autoutilities as they generate invalid CSS (#16917)v4.0.9Compare Source
Fixed
.css(#16780)@reference "..."would sometimes omit keyframe animations (#16774)z-*!utilities are properly marked as!important(#16795)Changed
@reference "..."instead of duplicate CSS variable declarations (#16774)v4.0.8Compare Source
Added
@importwiththeme(...)options for stylesheets that contain more than just@themerules (#16514)Fixed
!importantto CSS variable declarations when using the important modifier (#16668).gitignorefile when using automatic source detection(#16631)translate-z-pxutilities once in compiled CSS (#16718)Changed
v4.0.7Compare Source
Fixed
tailwindcss/lib/util/flattenColorPalette.jsfor backward compatibility (#16411)_in suggested theme keys (#16433)--default-outline-widthcan be used to change theoutline-widthvalue of theoutlineutility (#16469)tailwindcss/pluginfor backward compatibility (#16505)@tailwindcss/oxideWindows builds (#16602)tailwindcssin@tailwindcss/*packages (#16623)darkModeJS config setting with block syntax converts to use@slot(#16507)tailwindcssand@tailwindcss/postcssare installed when upgrading (#16620)v4.0.6Compare Source
Fixed
blurtoblur-smwhen used with Next.js<Image placeholder="blur" />(#16405)v4.0.5Compare Source
Added
@theme staticoption for always including theme variables in compiled CSS (#16211)Fixed
console.logfrom@tailwindcss/vite(#16307)Changed
v4.0.4Compare Source
Fixed
null(#16210)containersJS theme key is added to the--container-*namespace (#16169)@keyframesare generated even if an--animation-*variable spans multiple lines (#16237)?commonjs-proxyflag (#16238)order-firstandorder-lastfor Firefox (#16266)NODE_PATHis respected when resolving JavaScript and CSS files (#16274)@variantinside a referenced stylesheet could cause a stack overflow (#16300)v4.0.3Compare Source
Fixed
@import url();(#16144)v4.0.2Compare Source
Fixed
grid-cols-*andgrid-rows-*utilities (#16020)@referenceor@variant(#16057)<style>blocks in HTML files (#16069)@keyframesin@theme reference(#16120)@variantwhen at the top-level of a stylesheet (#16129)v4.0.1Compare Source
Fixed
v4.0.0Compare Source
Added
@property, andcolor-mix().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.
This PR was generated by Mend Renovate. View the repository job log.