Fixed Support --watch --poll[=ms] in @tailwindcss/cli when filesystem events are unreliable or unavailable (#20297) Canonicalization: match arbitrary hex colors against theme colors case-insensitively (e.g. bg-[#fff] and bg-[#FFF] → bg-whit
Catalog / Frontend
Tailwind CSS changelog
Utility class framework that generates CSS from the class names found in your markup.
- Latest
- 4.3.3
- Shipped
- 16 Jul 20261 month ago
- Collected
- 60 releasesback to 16 Jul 2024
- Source
- tailwindlabs/tailwindcss
- Project
- tailwindcss.com
- Feed
- RSS
Read today, the first day on record. Collection status
Version history
4.x46 releases
Fixed Support bare spacing values for auto-rows-* and auto-cols-* utilities (e.g. auto-rows-12 and auto-cols-16) (#20229) Prevent @tailwindcss/cli in --watch mode from crashing on Windows when @source points to a directory that doesn't exis
Added Add --silent option to suppress output in @tailwindcss/cli (#20100) Fixed Remove deprecation warnings by using Module#registerHooks instead of Module#register on Node 26+ (#20028) Canonicalization: don't crash when plugin utilities th
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, #20019) Add scrollbar-gutter-* utilities (#20018
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 characters in candidate (exceeding valid unicode cod
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 into --spacing(…) (#19769) Fix crash in canonica
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-* utilities for padding-block-start and padding-block-e
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 class names (#19243) Skip over arbitrary proper
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 canonicalization for & > :pseudo and & :pseudo arbitr
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
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 cl
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) Disca
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 charli
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/
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) Upgrade: Migrate CSS variable shorthands where fa
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) Upgr
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 @
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 direct
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
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(…
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
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
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 (#17502)
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-fi
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 they are referenced following a comma (#17352)
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 (#1
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 containing dots in Haml, Pug, and Slim pre processors
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 temp
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
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 @uti
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
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 directorie
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
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 that aren't used in compiled CSS (#16211)
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
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 @reference or @variant (#16057) Refactor gradi
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 (#15738) Ensure font-size utilities with non
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 and customization experience, and taking fu
3.x14 releases
Fixed Don’t break sibling-*() functions when used inside calc(…) (#19335)
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(…) in configs for new enough Node.js versions
Fixed Work around Node v22.12+ issue (#15421)
Fixed Ensure the TypeScript types for PluginsConfig allow undefined values (#14668) Changed Bumped lilconfig to v3.x (#15289)
Bump versions for security vulnerabilities (#14697) Ensure the TypeScript types for the boxShadow theme configuration allows arrays (#14856) Set fallback for opacity variables to ensure setting colors with the selection:* variant works in C
Fixed Don't set display: none on elements that use hidden="until-found" (#14625)
Fixed Improve source glob verification performance (#14481)
Fixed Ensure using @apply with utilities that use @defaults works with rules defined in the base layer when using optimizeUniversalDefaults (#14427)
Fixed Allow anchor-size(…) in arbitrary values (#14393)
Fixed Bump versions of plugins in the Standalone CLI (#14185)
Fixed No longer warns when broad glob patterns are detecting vendor folders
Fixed Fix minification when using nested CSS (#14105) Warn when broad glob patterns are used in the content configuration (#14140)
Fixed Fix class detection in Slim templates with attached attributes and ID (#14019) Ensure attribute values in data-* and aria-* modifiers are always quoted in the generated CSS (#14037)
Fixed Fix detection of some utilities in Slim/Pug templates (#14006) Changed Loosen :is() wrapping rules when using an important selector (#13900)