Updatify / Tailwind | Release notes

Create your changelog

A utility-first CSS framework packed with classes like flex, pt-4, text-center and rotate-90 that can be composed to build any design, directly in your markup.

Update Jul 16, 2026 tracked by Updatify

v4.3.3

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-white) (#20298)
  • Prevent Preflight from overriding Firefox’s native iframe:focus-visible outline styles (#20292)
  • Ensure theme('colors.foo') in JS plugins resolves correctly when both --color-foo and --color-foo-bar exist (#20299)
  • Ensure fractional opacity modifiers work with named shadow sizes like shadow-sm/12.5, text-shadow-sm/12.5, drop-shadow-sm/12.5, and inset-shadow-sm/12.5 (#20302)
  • Parse selectors like [data-foo]div as two selectors instead of one (#20303)
  • Ensure @tailwindcss/postcss rebuilds when a preprocessor like Sass changes the input CSS without changing the input file on disk (#20310)
  • Ensure CSS nesting is handled even when Lightning CSS isn’t run, such as in @tailwindcss/browser and Tailwind Play (#20124)

Update Jun 29, 2026 tracked by Updatify

v4.3.2

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 exist (#20242)
  • Prevent @tailwindcss/vite from crashing in Deno v2.8.x when context.parentURL is not a valid URL (#20245)
  • Ensure @tailwindcss/cli in --watch mode rebuilds when the input CSS file changes in an ignored directory (#20246)
  • Allow @variant rules used in addBase(…) to use custom variants defined later (#20247)
  • Prevent @tailwindcss/vite from crashing during HMR when scanned files or directories are deleted (#20259)
  • Generate font-size instead of color declarations for text-[--spacing(…)] (#20260)
  • Prevent @source patterns from scanning unrelated sibling files and folders (#20263)

Update Jun 12, 2026 tracked by Updatify

v4.3.1

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 throw for unsupported values (#20052)
  • Allow @apply to be used with CSS mixins (#19427)
  • Ensure not-* correctly negates @container queries, including style(…) queries (#20059)
  • Ensure drop-shadow-* color utilities work with custom shadow values containing calc(…) (#20080)
  • Fix ‘Sourcemap is likely to be incorrect’ warnings when using @tailwindcss/vite (#20103)
  • Ensure @tailwindcss/webpack can be installed in Rspack projects without requiring webpack as a peer dependency (#20027)
  • Canonicalization: don’t suggest invalid calc(…) expressions (e.g. px-[calc(1rem+0px)]px-[calc(1rem+0)]) (#20127)

Update May 8, 2026 tracked by Updatify

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, #20019)
  • Add scrollbar-gutter-* utilities (#20018)
  • Add zoom-* utilities (#20020)
  • Add tab-* utilities (#20022)
  • Allow using @variant with stacked variants (e.g. @variant hover:focus { … }) (#19996)
  • Allow using @variant with compound variants (e.g. @variant hover, focus { … }) (#19996)
  • Support --default(…) in --value(…) and --modifier(…) for functional @utility definitions (#19989)

Fixed

  • Ensure @plugin resolves package JavaScript entries instead of browser CSS entries when using @tailwindcss/vite (#19949)

Update Apr 21, 2026 tracked by Updatify

v4.2.4

Fixed

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

Update Apr 20, 2026 tracked by Updatify

v4.2.3

Fixed

  • Canonicalization: improve canonicalizations for tracking-* utilities by preferring non-negative utilities (e.g. -tracking-tightertracking-wider) (#19827)
  • Fix crash due to invalid characters in candidate (exceeding valid unicode code point range) (#19829)
  • Ensure query params in imports are considered unique resources when using @tailwindcss/webpack (#19723)
  • Canonicalization: collapse arbitrary values into shorthand utilities (e.g. px-[1.2rem] py-[1.2rem]p-[1.2rem]) (#19837)
  • Canonicalization: collapse border-{t,b}-* into border-y-*, border-{l,r}-* into border-x-*, and border-{t,r,b,l}-* into border-* (#19842)
  • Canonicalization: collapse scroll-m{t,b}-* into scroll-my-*, scroll-m{l,r}-* into scroll-mx-*, and scroll-m{t,r,b,l}-* into scroll-m-* (#19842)
  • Canonicalization: collapse scroll-p{t,b}-* into scroll-py-*, scroll-p{l,r}-* into scroll-px-*, and scroll-p{t,r,b,l}-* into scroll-p-* (#19842)

Update Mar 18, 2026 tracked by Updatify

v4.2.2

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 canonicalization step when handling utilities containing @property at-rules (e.g. shadow-sm border) (#19727)
  • Skip full reload for server only modules scanned by client CSS when using @tailwindcss/vite (#19745)
  • Improve canonicalization for bare values exceeding default spacing scale suggestions (e.g. w-1234 h-1234size-1234) (#19809)
  • Fix canonicalization resulting in empty list (e.g. w-5 h-5 size-5'' instead of size-5) (#19812)

Update Feb 23, 2026 tracked by Updatify

v4.2.1

Fixed

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

Update Feb 18, 2026 tracked by Updatify

v4.2.0

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-end (#19601)
  • Add mbs-* and mbe-* utilities for margin-block-start and margin-block-end (#19601)
  • Add scroll-pbs-* and scroll-pbe-* utilities for scroll-padding-block-start and scroll-padding-block-end (#19601)
  • Add scroll-mbs-* and scroll-mbe-* utilities for scroll-margin-block-start and scroll-margin-block-end (#19601)
  • Add border-bs-* and border-be-* utilities for border-block-start and border-block-end (#19601)
  • Add inline-*, min-inline-*, max-inline-* utilities for inline-size, min-inline-size, and max-inline-size (#19612)
  • Add block-*, min-block-*, max-block-* utilities for block-size, min-block-size, and max-block-size (#19612)

Update Dec 11, 2025 tracked by Updatify

v4.1.18

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 property utilities with a top-level ! in the value (#19243)
  • Support environment API in @tailwindcss/vite (#18970)
  • Preserve case of theme keys from JS configs and plugins (#19337)
  • Write source maps correctly on the CLI when using --watch (#19373)
  • Handle special defaults (like ringColor.DEFAULT) in JS configs (#19348)
  • Improve backwards compatibility for content theme key from JS configs (#19381)
  • Upgrade: Handle future and experimental config keys (#19344)
  • Try to canonicalize any arbitrary utility to a bare value (#19379)

Update Oct 23, 2025 tracked by Updatify

v4.1.16

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)

Update Oct 20, 2025 tracked by Updatify

v4.1.15

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

  • Remove the postinstall script from oxide (#19149)

Update Oct 1, 2025 tracked by Updatify

v4.1.14

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)

Update Oct 1, 2025 tracked by Updatify

v3.4.18

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 (#18938)
  • Allow using newer versions of postcss-load-config for better ESM and TypeScript PostCSS config support with the CLI (#18938)
  • Remove irrelevant utility rules when matching important classes (#19030)

Update Sep 4, 2025 tracked by Updatify

v4.1.13

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)

Update Aug 14, 2025 tracked by Updatify

v4.1.12

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)

Update Jun 26, 2025 tracked by Updatify

v4.1.11

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)

Update Jun 11, 2025 tracked by Updatify

v4.1.9

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)

Update May 28, 2025 tracked by Updatify

v4.1.8

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)

Update May 15, 2025 tracked by Updatify

v4.1.7

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)

Update May 9, 2025 tracked by Updatify

v4.1.6

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)

Update Apr 30, 2025 tracked by Updatify

v4.1.5

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)

Update Apr 14, 2025 tracked by Updatify

v4.1.4

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)

Update Apr 4, 2025 tracked by Updatify

v4.1.3

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)

Update Apr 3, 2025 tracked by Updatify

v4.1.2

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)

Update Apr 1, 2025 tracked by Updatify

v4.1.0

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)

Update Mar 25, 2025 tracked by Updatify

v4.0.16

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)

Update Mar 20, 2025 tracked by Updatify

v4.0.15

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)

Update Mar 11, 2025 tracked by Updatify

v4.0.13

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)

Update Mar 7, 2025 tracked by Updatify

v4.0.12

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)

Update Mar 6, 2025 tracked by Updatify

v4.0.11

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)

Update Mar 5, 2025 tracked by Updatify

v4.0.10

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)

Update Feb 25, 2025 tracked by Updatify

v4.0.9

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)

Update Feb 21, 2025 tracked by Updatify

v4.0.8

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

Update Feb 18, 2025 tracked by Updatify

v4.0.7

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)

Update Feb 8, 2025 tracked by Updatify

v4.0.5

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)

Update Feb 6, 2025 tracked by Updatify

v4.0.4

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)

Update Jan 31, 2025 tracked by Updatify

v4.0.2

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)

Update Jan 29, 2025 tracked by Updatify

v4.0.1

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 none modifier have a line-height set e.g. text-sm/none (#15921)
  • Ensure font-size utilities with unknown modifier don’t generate CSS (#15921)
  • Don’t suggest font weight utilities more than once (#15857)
  • Suggest container query variants (#15857)
  • Disable bare value suggestions when not using the --spacing variable (#15857)
  • Ensure suggested classes are properly sorted (#15857)
  • Don’t look at .gitignore files outside initialized repos (#15941)
  • Find utilities when using the Svelte class shorthand syntax across multiple lines (#15974)

Update Jan 22, 2025 tracked by Updatify

v4.0.0

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 full advantage of the latest advancements the web platform has to offer.

  • 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 detection — all of your template files are discovered automatically, with no configuration required.