Last 7 days
0
Features: 0
Changes: 0
Fixes: 0
Deprecations: 0
Utility-first CSS framework.
Latest Tailwind CSS changelog updates, official release notes, breaking changes, security patches, pricing changes, and developer reactions in one product feed.
Follow this Tailwind CSS release-notes page to spot useful features, risky migrations, noisy announcements, and source links before they hit your backlog.
Changes.Watch links back to official changelog and release-note sources so summaries stay easy to verify.
Rolling windows show how many product updates landed in the last 7, 30, 90, and 365 days, grouped by existing changelog semantics.
0
0
3
18
Fixed numerous edge‑case bugs: watch‑poll handling, selector parsing, preflight outline overrides, theme color resolution, @source rule scanning, and @vite reload behavior.
Added support for bare spacing values in auto‑rows/auto‑cols utilities, class suggestions for named opacity modifiers, and allowed @variant rules in addBase to reference later‑defined custom variants.
Added a silent option to the CLI, support for @apply with CSS mixins, @variant inside addBase, improved @source globs handling, and ESM type declarations for @tailwindcss/postcss.
Incremental rebuilds are faster in projects with many imported CSS files.
Added new utilities: container size, scrollbar (width, colors, gutter), zoom, tab, and expanded @variant support for stacked and compound variants.
Fix Ensure imports in @import and @plugin to resolve correctly when using Vite aliases in @tailwindcss/vite.
Enhanced canonicalization: collapse redundant utilities, handle signs in arbitrary values, and migrate legacy utilities (e.g., overflow‑ellipsis → text‑ellipsis).
Add Vite 8 support and skip full reload for server‑only modules in @tailwindcss/vite
Fixed handling of trailing dashes in functional utility names to preserve backward compatibility.
Added new color palettes (mauve, olive, mist, taupe) and many utilities for block/inline spacing, scrolling, borders, insets, font features, and a Tailwind CSS webpack plugin.
Fixed source validation, CSS parse error reporting, Ruby comment handling, and CLI stability (duplicate args, /dev/stdout hangs, source maps during watch).
Fixed bug where sibling() functions were broken inside calc() expressions (issue #19335).
Fixed @variant substitution issue in legacy JavaScript APIs.
Fixed handling of discard candidates with empty data types.
Fixed multiple rendering and parsing bugs: Safari devtools color‑mix fallback, theme key resolution, tab handling in at‑rules, theme() string indexing, and isolation of important utilities
Fixed numerous extraction and generation bugs, including ClojureScript syntax handling, duplicate CSS prevention, grid utility generation, CLI watcher cleanup, and class detection in markdown and Maud templates.
Fix raw support queries in arbitrary values and resolve require.cache errors when loading TypeScript files in newer Node versions
Fixed CSS emission and transition bugs, including duplicate declarations and visibility transitions
Fixed numerous parsing and extraction bugs (global important state, Clojure keywords, false‑positive migrations, CLI help on Windows, etc.).
Fixed the heuristic to skip candidate migrations inside emit() calls.
Fixed incorrectly generated CSS for percentage values in arbitrary calc expressions.
Fixed parsing of custom properties with semicolons in strings
Improved error handling with clearer messages for @apply failures and fixed crashes (malformed arbitrary values, PostCSS toJSON, Haml preprocessing).
Added caching for faster template migration and introduced migration of bare values to named values.
Added automatic conversion of arbitrary values to named values, parallel dependency updates, and source‑map generation in development.
Added @tailwindcss/upgrade support, new height/line‑height utilities, and transition handling for display, visibility, content‑visibility, overlay, and pointer‑events.
Added experimental @tailwindcss/oxide WASM target for running Tailwind in browser environments like StackBlitz.
Fixed warning for unsupported bare value data type in value() calls
Fixed multiple utility and polyfill issues, including @layer base reliance, multiple inset shadows, drop‑shadow utilities, and color‑mix fallbacks
Fixed disabling padding in @source inline brace expansion
Added many new utility variants (content, inverted colors, pointers, safe alignment, text‑shadow, mask, bg position/size, shadow opacity/color, wrap, etc.) and enhanced @source handling and legacy config support.
Fix CLI hang when processing Ruby files
Added support for literal values in `value('…')` and `modifier('…')`, plus missing suggestions for `spacing(value(integer, number))`, and introduced the `::webkit-details-marker` pseudo-element to the marker variant.
Fixed multiple bugs: corrected bg‑conic angle handling, border width parsing, Safari 16.4/16.5 crash, Linux worker segfault, and class extraction in Slim templates; removed redundant line‑height from Preflight.
Fixed candidate extraction failures with JavaScript string interpolation (${...})
Fixed Haml, Pug, and Slim pre‑processor handling, including dot‑containing candidates and preprocessing errors
Fixed URL rebasing for Vite and PostCSS in transitively imported CSS files
Fixed extraction of classes containing numbers followed by dash or underscore
Added new grid column/row utilities (col <number>, row <number>) and re‑enabled !important on CSS variables.
Imported from changelog source; review and generate a concise summary before publishing.
Added support for @import with theme(...) in stylesheets and fixed !important handling on CSS variable declarations
Fixed multiple compatibility and utility bugs, including backward‑compatible exports, numeric suggestion sorting, fraction IntelliSense, default outline width handling, drop‑shadow inheritance, Next.js splat route scanning, and nested ru...
Fixed revert change that added unused theme variables to compiled CSS.
Add a new @theme static option to always include theme variables in compiled CSS
Fixed crashes and parsing issues with JS theme values, escaped underscores in CSS variables, and ensured @keyframes are generated across multiline animation variables.
Fixed bug where @import url() statements were incorrectly removed
Fixed multiple CSS processing bugs (positive grid utilities, escaped theme variables, invalid/empty declarations, camelCasing of CSS custom properties, @keyframes emission, @variant handling)
Fixed numerous utility generation issues (invalid min/max, font size modifiers, spacing variable handling, etc.)
Introduces a high‑performance engine (up to 5× faster full builds, 100× faster incremental) with CSS‑first configuration and native CSS variables.
Added a workaround to fix compatibility issues with Node v22.12+.
Fix TypeScript types for PluginsConfig to allow undefined values.
Bumped package versions to address security vulnerabilities (14697)
Fixed issue where elements with hidden="until found" were incorrectly given display:none
Improved source glob verification performance
Fixed @apply with utilities that use @defaults to work with base-layer rules when optimizeUniversalDefaults is enabled.
Imported from changelog source; review and generate a concise summary before publishing.
Fixed plugin version bump behavior in the Standalone CLI (issue #14185).
Fixed unnecessary warnings when broad glob patterns match vendor directories.
Fixed minification failure when using nested CSS.
Fix class detection in Slim templates with attached attributes and IDs (issue 14019)
Fix utility detection in Slim/Pug templates
Fixed var() injection for anchor properties and corrected backdrop blur utilities to use no value instead of blur(0px)
Fixed multiple <alpha> placeholders in color definitions and corrected class prefixing for has/group/peer variants.
Imported from changelog source; review and generate a concise summary before publishing.
Fixed JIT engine incorrectly generating CSS when using PostCSS 7
Multiple bug fixes covering max specificity for button/input preflight rules, improved glob handling for special characters, Intellisense crash with custom separators, reset form element letter‑spacing, missing xx‑large size fix, nested ...
Fixed removal of keyframe stops with important utilities and spacing issues in gradients/grid track names when using calc()
Added new height, width, and spacing utilities (svh, lvh, dvh) plus an expanded opacity scale and larger default grid row range
Fixed container query utilities to accept arbitrary values
Fixed several crashes and output bugs, including negative number spacing, @config emission during CLI watch, variant handling on negated utilities, slashes in arbitrary modifiers, source maps for @layer variants, and loading built‑in plu...
Fixed incorrect spaces around operators in calc() expressions
Fix and improve handling of calc() functions, arbitrary property syntax, and variant matching in the regex parser
Fixed selector generation for pseudo‑element variants, corrected theme() parsing in calc() and improved handling of unknown pseudo elements and animation name escaping
Fixed selector handling bugs (unknown pseudo‑elements, gradient stop inheritance, and default gradient positions)
Fixed edge‑case bug when loading a TypeScript config file with webpack
Added numerous new utilities including ESM/TS config support, expanded color palette, line‑height modifiers, arbitrary variable values, logical properties, hyphenation, position shortcuts, list‑style‑image, caption‑side, core line‑clamp,...
Fix use of :where(.btn) when matching !btn
Imported from changelog source; review and generate a concise summary before publishing.
Added a standalone CLI build for Windows ARM64, a container‑queries plugin, a watch=always option, and support for renaming output files via PostCSS plugins.
Add blocklist option to prevent unwanted CSS generation
Fixed CLI raw content handling and improved detection of files that are both context and content dependencies.
Fixed handling of escape characters, array merging, and container reuse in config resolution and variant functions.
Fixed missing supports in type definitions
Added new @config directive, relative config paths, supports, min/max, aria and data variants, plus many new utilities such as break‑keep, collapse, fill‑none, stroke‑none, and baseline placement utilities.
Fixed class prefix handling in reused arbitrary variants
Imported from changelog source; review and generate a concise summary before publishing.
Fixed usage on Node 12.x
Add default font weight per font size utility and support alpha values in safe list
Provide default <alpha> value when using theme()
Fixed extraction of multi‑word utilities with arbitrary values and quotes, and corrected the import casing for the corePluginList type definition.
Fixed handling of backslash as a valid arbitrary variant token (issue 8576).
Resolved candidate extractor regression (issue 8558)
Add dozens of new utilities (border‑spacing, text‑start/end, grid‑flow dense, mix‑blend‑plus‑lighter, etc.) and expand TypeScript support for tailwind.config.js and plugins
Fixed numerous bugs affecting plugin interaction, source maps, selector handling, animation name parsing, arbitrary values, and added support for custom properties in color functions
Fixed removal of opacity variables from :visited pseudo‑class
Imported from changelog source; review and generate a concise summary before publishing.
Moved prettier plugin from dependencies to dev dependencies
Exposed new helper function context.sortClassList(classes) for sorting class lists.
Fixed preflight border color fallback and improved URL handling in custom properties
Fixed @apply order regression in addComponents, addUtilities, and related functions.
Imported from changelog source; review and generate a concise summary before publishing.
Fixed transpilation of Tailwind CSS Nesting plugin (postcss nesting)
Imported from changelog source; review and generate a concise summary before publishing.
Add warnings for invalid content configuration
Fixed issue where consecutive builds with `at apply` produced differing CSS
Fixed handling of falsy values in theme config and improved selector grouping for @apply.
Fix preserving case of CSS variables added by plugins
Fix @apply handling in files lacking @tailwind directives
Fixed DEBUG flag handling and improved detection of theme() usage in arbitrary values and properties
Fixed reduced specificity of the abbr rule in preflight.
Fixed mutation of custom color palette during per‑plugin color overrides and corrected @apply handling inside AtRules.
Fixed support for square bracket notation in paths (issue 6519).
Fixed regression that re‑added <li> to the list‑style reset, correcting visual styling issues.
Corrected Insert placement on the defaults layer so it appears in the proper spot
Added a standalone Tailwind CSS CLI and warnings for invalid content globs.
Temporarily disable universal defaults optimization to resolve @apply issues in CSS modules and framework components
Fixed handling of complex variants with multiple classes.
Made the JIT engine the default by removing AOT, and added a massive set of new utilities (colored box shadows, aspect ratio, column, break, text decoration, outline, accent, scroll snap/behavior, touch action, flex basis, etc.) plus ful...
Ensured consistent ordering of corePlugins in AOT mode.
Updated dependencies to mitigate identified security vulnerabilities
Fixed chokidar's awaitWriteFinish configuration to prevent stale builds on Windows.
Imported from changelog source; review and generate a concise summary before publishing.
Fixed CLI behavior to allow running without the -i input flag, maintaining functionality despite its deprecation.
Fixes the handling of @defaults in JIT mode
Fixed divide utilities to correctly inject a default border color
Resolved Rebundle issue causing missing CLI peer dependencies
- Resolved the broken CDN build issue
Fix build error when config file contains empty presets array
Fixed JIT handling of @apply utilities with variants and the important modifier
Fixed multiple JIT compiler bugs including animation variant corruption, animation list support, object‑position arbitrary values, escaped commas handling, and unbalanced bracket values
Reverted the runtime performance optimizations introduced in v2.2.5
Fix issue where base styles were not generated for translate transforms in JIT
Added self baseline utility and major JIT optimization for universal selectors, yielding significant performance gains but introducing potential breaking changes in rare edge cases.
Fixed removal of postinstall script that blocked library installation
Added Pass extended color palette to theme closures and enabled purge via CLI for easier Tailwind usage without full install.
Fixed JIT issue by reintroducing transform, filter, and backdrop-filter utility classes.
Fixed CLI watch mode error recovery handling
Rewritten Tailwind CLI with zero‑config JIT support, watch mode, minification, and PostCSS plugin integration.
Imported from changelog source; review and generate a concise summary before publishing.
Fixed Register PurgeCSS paths to be registered as PostCSS dependencies, ensuring proper cache busting in webpack 5.
Resolved JIT engine compilation failure when a source path is missing from the build runner input.
Integrated JIT engine into core as an opt‑in preview mode
Imported from changelog source; review and generate a concise summary before publishing.
Fixed bugs: deterministic sourcemap for @apply in Vue components, consistent placeholder opacity across browsers, and theme() handling for function‑based colors.
Fixed multiple @apply issues, including handling of !important, defined classes, and a memory leak when splitting files
Version bump to work around npm tag limitation.
Introduces a redesigned color palette, dark mode, new 2xl breakpoint, expanded spacing and font size scales, and many new utilities (ring, overflow, transform‑gpu, etc.).
Fixed presets inheritance: preset configs without a `presets` key now correctly extend the default configuration.
Fixed theme handling of default line heights
Imported from changelog source; review and generate a concise summary before publishing.
Fix corrupt config file generation during `tailwindcss init` (issue #2556).
Fixed merging of plugins when combining config with a preset.
Fixed resolveConfig to stop importing corePlugins, preventing bundling of browser‑incompatible code.
Introduces a new `presets` config option and scaffolds `tailwind.config.js` with future flags commented out.
Imported from changelog source; review and generate a concise summary before publishing.
Imported from changelog source; review and generate a concise summary before publishing.
Add ESM support to tailwindcss.plugin
Fixed an issue where the new dark experiment caused third‑party dark variants to inherit unintended stacking behavior
Fixed handling of negative spacing values in the inset plugin for the extendedSpacingScale experiment.
Fixed registration of dark mode plugin when used outside the resolveConfig code path.
Imported from changelog source; review and generate a concise summary before publishing.
Fixed container padding not applied when using object syntax.
ResolveConfig now correctly incorporates configs added by feature flags
Fix PurgeCSS comment handling and dark variant interaction with group‑hover.
Fixed a bug where font variant numeric utilities broke with most CSS minifier configurations.
Imported from changelog source; review and generate a concise summary before publishing.
Fix bug in new font variant numeric utilities that broke rule processing
Added composable font‑variant‑numeric utilities and a full set of grid‑alignment classes (place‑items, place‑content, etc.) with responsive variants.
Imported from changelog source; review and generate a concise summary before publishing.
Imported from changelog source; review and generate a concise summary before publishing.
Fixed applyComplexClasses experiment bug with multi‑selector rules.
Fixed bug that prevented defining colors as closures when the gradientColorStops plugin was enabled.
Optimize CSS generation by reusing cached CSS in long‑running processes
Prevent duplicate flag notices during long-running build processes
Added built‑in gradient support, new background‑clip utilities, and renamed gap utilities (gap‑x / gap‑y) with deprecation warnings.
Fixed stacking behavior of motion-safe and motion-reduce variants with group-hover variants
Fix Chrome bug where @keyframes with the !important option broke animations
Fixed issue where animation keyframes were omitted from the build when @tailwind base was not included.
Add animation core plugin with built‑in spin, ping, pulse, and bounce utilities and configurable keyframes.
Fixed @apply failure with unprefixed class names when a prefix is configured.
Fixed bug where adding component variants with the old manual syntax (as documented) stopped working.
Added support for variants on component classes, enabling responsive variants for custom components and the @tailwindcss/typography plugin.
Throw an explicit error when the `important` config is set to a class name
Imported from changelog source; review and generate a concise summary before publishing.
Fix bug where setting target to 'browserslist' was ignored
Prevent generation of unnecessary CSS in color plugins when opacity utilities are disabled.
Fixed bug where `purge: { enabled: false }` was ignored
Enhanced built-in PurgeCSS extractor to better handle Haml templates
Added color opacity utilities (bg-, text-, border-, divide-, placeholder-opacity) configurable via theme keys.
Fixed missing unit in calc bug for the space plugin (e.g., `space-x-0` now works).
Fixed divide-by-zero utilities that failed due to a missing unit in the calc call
Fixed divide‑x utilities mis‑reference causing incorrect behavior
Add responsive variants for space utilities.
Fixed incorrect mapping of space X utilities that were referencing space Y reverse, restoring proper functionality.
Introduced parent‑level spacing and divide utilities (space‑x/y, divide‑x/y, color, reverse) with responsive support
Added core CSS features: transition, transform, and grid utilities (with IE11 limitations).
Fixed .group class not receiving user-configured prefix when using the prefix option.
Fixed issue where function properties in user theme config didn't receive the second utils argument.
Fix horizontal rule border to correct 1px thickness
Fixes bug where 'auto' values were not correctly handled by the default negative margin configuration.
Added screen‑reader visibility and placeholder color utilities, plus new variants (first/last/odd/even, disabled, visited) and default hover/focus on opacity
Fixed a bug where modifiers unintentionally mutated nested rules.
Added built‑in variant support for utilities that include pseudo‑elements.
Imported from changelog source; review and generate a concise summary before publishing.
Added an error for misuse of @tailwind preflight instead of @tailwind base.
Imported from changelog source; review and generate a concise summary before publishing.
Imported from changelog source; review and generate a concise summary before publishing.
Update PostCSS-related dependencies to their latest versions.
Upgrade Normalize library to version 8.0.1
Imported from changelog source; review and generate a concise summary before publishing.
Update autoprefixer dependency to a newer version
Added official plugin API to register custom variants and made variant order configurable per module, introducing a focus‑within variant and optional prefix for @apply
Imported from changelog source; review and generate a concise summary before publishing.
Fixed bug where units were stripped from zero-value properties
Fixes issue where changes to the configuration file were ignored during webpack watch.
Imported from changelog source; review and generate a concise summary before publishing.
Added .table-auto and .table-fixed utilities with responsive variants and updated Preflight table styling.
Corrected invalid box‑shadow syntax in the .shadow outline utility.
Added new utilities: border‑collapse, axis‑specific overflow, .outline‑none, .shadow‑outline, and expanded padding/margin/width/height scales.
Enhanced sourcemaps for replaced styles such as preflight.
Resolved a security vulnerability in a project dependency
Reverted the rename of .roman back from .not italic to preserve compatibility with cssnext.
Introduced a plugin system with a built‑in .container plugin and new `plugins` config key
Imported from changelog source; review and generate a concise summary before publishing.
Fixed inability to apply borders to img tags without a specified border style
Update default sans-serif font stack for better future-proofing and CSS shorthand compatibility
Add support for marking @apply declarations as !important, enforcing !important on applied rules
Added configurable modules with granular variant control (focus, group‑hover) and a new @variants rule, plus new utilities (.pin none, .resize both, background‑attachment/repeat, SVG fill/stroke) and a customizable separator character.
Fixed missing distribution files caused by a bug in the latest npm version
Imported from changelog source; review and generate a concise summary before publishing.
Add an `options` key allowing a custom prefix for all utilities and a global `!important` flag;
Fixed issue where CDN files were not included in the npm package
Fix CLI tool loading config files
Added Webpack config watching, autoprefixing of distribution assets, and auto‑appending “.js” to init filenames