v4.3.0
Added Add @container-size utility ( #18901 ) Add scrollbar-{auto,thin,none} utilities for scrollbar-width , and scrollbar-thumb-* / scrollbar-track-* color utilities for scrollbar-color ( #19981 , #2…
A utility-first CSS framework for rapid UI development.
Added Add @container-size utility ( #18901 ) Add scrollbar-{auto,thin,none} utilities for scrollbar-width , and scrollbar-thumb-* / scrollbar-track-* color utilities for scrollbar-color ( #19981 , #2…
Fixed Ensure imports in @import and @plugin still resolve correctly when using Vite aliases in @tailwindcss/vite ( #19947 )
Fixed Canonicalization: improve canonicalizations for tracking-* utilities by preferring non-negative utilities (e.g. -tracking-tighter → tracking-wider ) ( #19827 ) Fix crash due to invalid characte…
Added Support Vite 8 in @tailwindcss/vite ( #19790 ) Fixed Don't crash when candidates contain prototype properties like row-constructor ( #19725 ) Canonicalize calc(var(--spacing)*…) expressions int…
Fixed Allow trailing dash in functional utility names for backwards compatibility ( #19696 ) Properly detect classes containing . characters within curly braces in MDX files ( #19711 )
Added Add mauve, olive, mist, and taupe color palettes to the default theme ( #19627 ) Add @tailwindcss/webpack package to run Tailwind CSS as a webpack plugin ( #19610 ) Add pbs-* and pbe-* utilitie…
Fixed Ensure validation of source(…) happens relative to the file it is in ( #19274 ) Include filename and line numbers in CSS parse errors ( #19282 ) Skip comments in Ruby files when checking for cl…
Fixed Don’t break sibling-*() functions when used inside calc(…) ( #19335 )
Fixed Substitute @variant inside legacy JS APIs ( #19263 ) Prevent occasional crash on Windows when loaded into a worker thread ( #19242 )
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 c…
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 w…
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 wa…
Fixed Improve support for raw supports-[…] queries in arbitrary values ( #13605 ) Fix require.cache error when loaded through a TypeScript file in Node 22.18+ ( #18665 ) Support import.meta.resolve(……
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 va…
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 key…
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 ( #…
Fixed Fix incorrectly generated CSS when using percentages in arbitrary values with calc (e.g. w-[calc(100%-var(--offset))] ) ( #18289 )
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 ) Upg…
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 look…
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 ( #179…
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 ( #17…
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 , over…
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 variable…
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 ) Ensur…
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 wit…
Fixed Disable padding in @source inline(…) brace expansion ( #17491 ) Inject polyfills after @import and body-less @layer ( #17493 ) Ensure @tailwindcss/cli does not contain an import for jiti ( #175…
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…
Fixed Fix an issue causing the CLI to hang when processing Ruby files ( #17383 )
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 th…
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.…
Fixed Do not extract candidates with JS string interpolation ${ ( #17142 ) Fix extraction of variants containing . character ( #17153 ) Fix extracting candidates in Clojure/ClojureScript ( #17087 )
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 contai…
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 orde…
Fixed Ensure classes containing -- are extracted correctly ( #16972 ) Ensure classes containing numbers followed by dash or underscore are extracted correctly ( #16980 ) Ensure arbitrary container qu…
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…
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…
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…
Fixed Export tailwindcss/lib/util/flattenColorPalette.js for backward compatibility ( #16411 ) Fix sorting of numeric utility suggestions when they have different magnitudes ( #16414 ) Show suggestio…
Fixed Revert change to no longer include theme variables that aren't used in compiled CSS ( #16403 )
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 t…
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…
Fixed Fix incorrect removal of @import url(); ( #16144 )
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 @…
Added Include :open pseudo-class in existing open variant ( #15349 ) Fixed Remove invalid min-w/h-none utilities ( #15845 ) Discard CSS variable shorthand utilities that don't use valid CSS variables…
Holy shit it's actually done — we just tagged Tailwind CSS v4.0. Tailwind CSS v4.0 is an all-new version of the framework optimized for performance and flexibility, with a reimagined configuration an…
Added Add support for using @variant to use variants in your CSS ( #15663 ) Include outline-color when transitioning colors ( #15690 ) Fixed Add missing main and browser fields for @tailwindcss/brows…
Added Add @tailwindcss/browser package to run Tailwind CSS in the browser ( #15558 ) Add @reference "…" API as a replacement for the previous @import "…" reference option ( #15565 ) Add support for d…
Fixed Ensure Symbol.dispose and Symbol.asyncDispose are polyfilled ( #15404 )
Fixed Work around Node v22.12+ issue ( #15421 )
Added Export tailwindcss/lib/util/flattenColorPalette for backward compatibility ( #15318 ) Improve debug logs to get better insights ( #15303 ) Fixed Fix dependency related warnings when using @tail…