Traceary

Catalog / Tailwind CSS

Tailwind CSS 3 to 4

Every Tailwind CSS 4.x release the archive holds, 46 of them, starting at 4.0.0 and running to 4.3.3. The publisher writes these one at a time and its documentation describes the version you are on, so the run between two majors is not laid out anywhere as a list.

Releases
4646 carry notes
Opened
22 Jan 20251.6 years ago
Span
18 monthsto 16 Jul 2026
Breaking
0none tagged

The turn

The last 3.x release the archive holds before the turn is 3.4.17, on 17 Dec 2024. 4.0.0 followed 36 days later. 3.x did not stop there. 2 more 3.x releases shipped after 4.0.0 opened, the last of them on 10 Dec 2025, so both lines were being maintained at once.

Every 4.x release

All Tailwind CSS releases
4.3.3fixed

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

4.3.2fixed

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

4.3.1addedfixedchanged

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

4.3.0addedfixed

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

4.2.4fixed

Fixed Ensure imports in @import and @plugin still resolve correctly when using Vite aliases in @tailwindcss/vite (#19947)

4.2.3addedfixedchanged

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

4.2.2fixedchanged

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

4.2.1fixed

Fixed Allow trailing dash in functional utility names for backwards compatibility (#19696) Properly detect classes containing . characters within curly braces in MDX files (#19711)

4.2.0addedfixedchanged

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

4.1.18fixedchanged

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

4.1.17fixed

Fixed Substitute @variant inside legacy JS APIs (#19263) Prevent occasional crash on Windows when loaded into a worker thread (#19242)

4.1.16fixedchanged

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

4.1.15fixedchangeddeprecated

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

4.1.14fixed

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

4.1.13fixedchangeddeprecated

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

4.1.12addedfixedchanged

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

4.1.11addedfixed

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/

4.1.10fixed

Fixed Fix incorrectly generated CSS when using percentages in arbitrary values with calc (e.g. w-[calc(100%-var(--offset))]) (#18289)

4.1.9addedfixed

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

4.1.8fixedchangeddeprecated

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

4.1.7fixedchanged

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 @

4.1.6addedfixedchanged

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

4.1.5addedfixed

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

4.1.4addedfixedremoved

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(…

4.1.3fixed

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

4.1.2fixed

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

4.1.1fixed

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)

4.1.0addedfixedchanged

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

4.0.17fixed

Fixed Fix an issue causing the CLI to hang when processing Ruby files (#17383)

4.0.16addedfixedchanged

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)

4.0.15addedfixedchanged

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

4.0.14fixed

Fixed Do not extract candidates with JS string interpolation ${ (#17142) Fix extraction of variants containing . character (#17153) Fix extracting candidates in Clojure/ClojureScript (#17087)

4.0.13fixedchanged

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

4.0.12fixed

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

4.0.11fixed

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

4.0.10addedfixedchanged

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

4.0.9fixedchanged

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

4.0.8addedfixedchanged

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

4.0.7fixed

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

4.0.6fixed

Fixed Revert change to no longer include theme variables that aren't used in compiled CSS (#16403)

4.0.5addedfixedchanged

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)

4.0.4fixed

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

4.0.3fixed

Fixed Fix incorrect removal of @import url(); (#16144)

4.0.2fixed

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

4.0.1fixed

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

4.0.0added

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