Tailwind Release Notes
19 release notes curated from 1 source by the Releasebot Team. Last updated: Jul 18, 2026
- Jul 16, 2026
- Date parsed from source:Jul 16, 2026
- First seen by Releasebot:Jul 18, 2026
v4.3.3
Tailwind fixes and improves key CLI, PostCSS, Vite, and browser behavior, including more reliable watch mode, better color and selector handling, stronger CSS nesting support, and smoother rebuilds and rendering across platforms.
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)
- Prevent achromatic theme colors from shifting hue when mixed in polar color spaces like oklch (#20314)
- Ensure --spacing(0) is optimized to 0px instead of 0 so it remains a <length> when used in calc(…) (#20319)
- Load @parcel/watcher only when needed in @tailwindcss/cli --watch mode, so one-off builds and --watch --poll work when @parcel/watcher can't be loaded (#20325)
- Use explicit platform fonts instead of system-ui and ui-sans-serif so CJK text respects the page's lang attribute on Windows (#20318)
- Prevent @tailwindcss/upgrade from rewriting ignored files when run from a subdirectory (#20329)
- Ensure earlier @source rules pointing to nested files are scanned when later @source rules point to files in parent folders (#20335)
- Prevent @tailwindcss/vite from triggering full page reloads when scanned files are processed by Vite but haven't been loaded as modules yet (#20336)
- Jun 29, 2026
- Date parsed from source:Jun 29, 2026
- First seen by Releasebot:Jun 29, 2026
v4.3.2
Tailwind fixes and improves core utilities, CLI, Vite, and PostCSS with better watch mode stability, safer source scanning, expanded class extraction, and smoother support for variants, opacity suggestions, and newer PostCSS 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 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)
- Extract class candidates adjacent to Template Toolkit delimiters like %]…[% in .tt, .tt2, and .tx files (#20269)
- Extract class candidates from conditional Maud syntax like p.text-black[condition] (#20269)
- Prevent @position-try rules from triggering unknown at-rule warnings when optimizing CSS (#20277)
- Support class suggestions for named opacity modifiers from --opacity theme values (#20287)
- Prevent type errors in @tailwindcss/postcss when used with newer PostCSS patch releases (#20289)
All of your release notes in one feed
Join Releasebot and get updates from Tailwind and hundreds of other software products.
- Jun 12, 2026
- Date parsed from source:Jun 12, 2026
- First seen by Releasebot:Jun 16, 2026
v4.3.1
Tailwind adds a broad update for the CLI and framework integrations, with silent mode, better watch and source scanning, improved @apply and @variant support, and many fixes for canonicalization, containers, shadows, sourcemaps, and package compatibility.
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)
- Canonicalization: avoid suggesting large spacing-scale values for arbitrary lengths (e.g. left-[99999px] → left-[99999px], not left-24999.75) (#20130)
- Ensure @tailwindcss/cli in --watch mode recovers when a tracked dependency is deleted and restored (#20137)
- Ensure standalone @tailwindcss/cli binaries are ignored when scanning for class candidates (#20139)
- Ensure class candidates are extracted from Twig addClass(…) and removeClass(…) calls (#20198)
- Don't crash in the Ruby or Vue preprocessors when scanning files containing invalid UTF-8 bytes (#19588)
- Allow @variant to be used inside addBase (#19480)
- Ensure @source globs with symlinks are preserved (#20203)
- Ensure later @source rules can re-include files excluded by earlier @source not rules (#20203)
- Upgrade: don't migrate empty class rules to invalid @utility rules (#20205)
- Ensure transitions between inset-shadow-none and other inset shadows work correctly (#20208)
- Ensure explicitly referenced @source directories are scanned even when ignored by git (#20214)
- Ensure @source globs ending in **/* preserve dynamic path segments to avoid scanning too many files (#20217)
- Canonicalization: don't fold calc(…) divisions when the result would require high precision (e.g. w-[calc(100%/3.5)] → w-[calc(100%/3.5)], not w-[28.571428571428573%]) (#20221)
- Serve ESM type declarations to ESM importers of @tailwindcss/postcss (#20228)
Changed
- Generate 0 instead of calc(var(--spacing) * 0) for spacing utilities like m-0 and left-0 (#20196)
- Generate var(--spacing) instead of calc(var(--spacing) * 1) for spacing utilities like m-1 and left-1 (#20196)
- May 8, 2026
- Date parsed from source:May 8, 2026
- First seen by Releasebot:May 9, 2026
v4.3.0
Tailwind adds new utilities for containers, scrollbars, zoom, and tabs, while improving variant handling, canonicalization, and plugin and import resolution. It also fixes several Vite and PostCSS issues and sharpens upgrade and type support.
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)
- Fix relative @import and @plugin paths resolving from the wrong directory when using @tailwindcss/vite (#19965)
- Ensure CSS files containing @variant are processed by @tailwindcss/vite (#19966)
- Resolve imports relative to base when result.opts.from is not provided when using @tailwindcss/postcss (#19980)
- Canonicalization: preserve significant _ whitespace in arbitrary values (#19986)
- Canonicalization: add parentheses when removing whitespace from arbitrary values would hurt readability (e.g. w-[calc(100%---spacing(60))] → w-[calc(100%-(--spacing(60)))]) (#19986)
- Canonicalization: preserve the original unit in arbitrary values instead of normalizing to base units (e.g. -mt-[20in] → mt-[-20in], not mt-[-1920px]) (#19988)
- Canonicalization: migrate arbitrary :has() variants from [&:has(…)] to has-[…] (#19991)
- Upgrade: don’t migrate inline style attributes (e.g. style="flex-grow: 1" → style="flex-grow: 1", not style="grow: 1") (#19918)
- Allow multiple @utility definitions with the same name but different value types (#19777)
- Export missing PluginWithConfig type from tailwindcss/plugin to fix errors when inferring plugin config types (#19707)
- Ensure start and end legacy utilities without values do not generate CSS (#20003)
- Ensure --value(…) is required in functional @utility definitions (#20005)
- Canonicalization: preserve required whitespace around operators in negated arbitrary values (e.g. -left-[(var(--a)+var(--b))]) (#20011)
- Apr 21, 2026
- Date parsed from source:Apr 21, 2026
- First seen by Releasebot:Apr 22, 2026
v4.2.4
Tailwind fixes @import and @plugin imports to resolve correctly with Vite aliases in @tailwindcss/vite.
Fixed
Ensure imports in @import and @plugin still resolve correctly when using Vite aliases in @tailwindcss/vite (#19947)
Original source Similar to Tailwind with recent updates:
- xAI release notes178 release notes · Latest Jul 21, 2026
- Cursor release notes114 release notes · Latest Jul 17, 2026
- Obsidian release notes94 release notes · Latest Jul 21, 2026
- Perplexity release notes27 release notes · Latest Jul 13, 2026
- Anthropic release notes726 release notes · Latest Jul 22, 2026
- n8n release notes61 release notes · Latest Jul 21, 2026
- Apr 20, 2026
- Date parsed from source:Apr 20, 2026
- First seen by Releasebot:Apr 21, 2026
v4.2.3
Tailwind releases canonicalization, migration, and CLI improvements, including smarter utility collapsing, better tracking and placeholder handling, safer upgrade behavior, faster JSONL scanning, and NODE_PATH support in the standalone CLI.
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 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)
Canonicalization: collapse overflow-{x,y}-* into overflow-* (#19842)
Canonicalization: collapse overscroll-{x,y}-* into overscroll-* (#19842)
Read from --placeholder-color instead of --background-color for placeholder-* utilities (#19843)
Upgrade: ensure files are not emptied out when killing the upgrade process while it's running (#19846)
Upgrade: use config.content when migrating from Tailwind CSS v3 to Tailwind CSS v4 (#19846)
Upgrade: never migrate files that are ignored by git (#19846)
Add .env and .env.* to default ignored content files (#19846)
Canonicalization: migrate overflow-ellipsis into text-ellipsis (#19849)
Canonicalization: migrate start-full → inset-s-full, start-auto → inset-s-auto, start-px → inset-s-px, and start-<number> → inset-s-<number> as well as negative versions (#19849)
Canonicalization: migrate end-full → inset-e-full, end-auto → inset-e-auto, end-px → inset-e-px, and end-<number> → inset-e-<number> as well as negative versions (#19849)
Canonicalization: move the - sign inside the arbitrary value -left-[9rem] → left-[-9rem] (#19858)
Canonicalization: move the - sign outside the arbitrary value ml-[calc(-1*var(--width))] → -ml-(--width) (#19858)
Improve performance when scanning JSONL / NDJSON files (#19862)
Support NODE_PATH environment variable in standalone CLI (#19617)
Original source - Mar 18, 2026
- Date parsed from source:Mar 18, 2026
- First seen by Releasebot:Mar 19, 2026
v4.2.2
Tailwind releases fixes and improvements for Vite and canonicalization. It adds Vite 8 support in @tailwindcss/vite, prevents crashes from prototype properties, canonicalizes calc(var(--spacing)*…) to --spacing(…), fixes crashes with @property rules, skips full reload for server-only modules, and improves empty or oversized value handling.
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-1234 → size-1234) (#19809)
- Fix canonicalization resulting in empty list (e.g. w-5 h-5 size-5 → '' instead of size-5) (#19812)
- Feb 23, 2026
- Date parsed from source:Feb 23, 2026
- First seen by Releasebot:Feb 23, 2026
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)
- Feb 18, 2026
- Date parsed from source:Feb 18, 2026
- First seen by Releasebot:Feb 19, 2026
v4.2.0
Tailwind CSS adds fresh color palettes, a webpack plugin, and a wide range of new utilities for inline and block sizing, padding, margins, borders, scrolling, and typography. The release includes multiple fixes and a deprecation note guiding future changes.
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)
- Add inset-s-, inset-e-, inset-bs-, inset-be- utilities for inset-inline-start, inset-inline-end, inset-block-start, and inset-block-end (#19613)
- Add font-features-* utility for font-feature-settings (#19623)
Fixed
- Prevent double @supports wrapper for color-mix values (#19450)
- Allow whitespace around @source inline() argument (#19461)
- Emit comment when source maps are saved to files when using @tailwindcss/cli (#19447)
- Detect utilities containing capital letters followed by numbers (#19465)
- Fix class extraction for Rails' strict locals (#19525)
- Align @utility name validation with Oxide scanner rules (#19524)
- Fix infinite loop when using @variant inside @custom-variant (#19633)
- Allow multiples of .25 in aspect-* fractions (e.g. aspect-8.5/11) (#19688)
- Ensure changes to external files listed via @source trigger a full page reload when using @tailwindcss/vite (#19670)
- Improve performance of Oxide scanner in bigger projects by reducing file system walks (#19632)
- Ensure import aliases in Astro v5 work without crashing when using @tailwindcss/vite (#19677)
- Allow escape characters in @utility names to improve support with formatters such as Biome (#19626)
- Fix incorrect canonicalization results when canonicalizing multiple times (#19675)
- Add .jj to default ignored content directories (#19687)
Deprecated
- Deprecate start-* and end-* utilities in favor of inline-s-* and inline-e-* utilities (#19613)
- Dec 11, 2025
- Date parsed from source:Dec 11, 2025
- First seen by Releasebot:Dec 23, 2025
v4.1.18
A robust set of fixes and compatibility upgrades improve validation, error reporting, and config handling across CSS parsing, Ruby checks, Vite integration, and CLI behavior. It expands theme and config support and strengthens canonicalization of utility classes.
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)
- Validate candidates similarly to Oxide (#19397)
- Canonicalization: combine text-* and leading-* classes (#19396)
- Correctly handle duplicate CLI arguments (#19416)
- Don’t emit color-mix fallback rules inside @keyframes (#19419)
- CLI: Don't hang when output is /dev/stdout (#19421)
- Dec 10, 2025
- Date parsed from source:Dec 10, 2025
- First seen by Releasebot:Dec 23, 2025
v3.4.19
- Nov 6, 2025
- Date parsed from source:Nov 6, 2025
- First seen by Releasebot:Dec 23, 2025
v4.1.17
Fixed
- Substitute @variant inside legacy JS APIs (#19263)
- Prevent occasional crash on Windows when loaded into a worker thread (#19242)
- Oct 23, 2025
- Date parsed from source:Oct 23, 2025
- First seen by Releasebot:Dec 23, 2025
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)
- Oct 20, 2025
- Date parsed from source:Oct 20, 2025
- First seen by Releasebot:Dec 23, 2025
v4.1.15
New release delivers robust bug fixes and upgrades across themes, utilities, and CSS tooling. Highlights include Safari devtools rendering fix, CSS warning suppression, improved theme key resolution, named groups support, and safer utilities with 0-value canonicalization and wrap-break-word migration. Postinstall script removed.
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)
- Oct 1, 2025
- Date parsed from source:Oct 1, 2025
- First seen by Releasebot:Dec 23, 2025
v4.1.14
Tailwind CSS release fixes syntax issues and edge cases across ClojureScript, markdown directives, and templates while tightening file watchers and error handling. It streamlines grid and utility generation, adds better upgrade migrations, and improves warnings and theme handling for a smoother developer experience.
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)
- Ensure files with only @theme produce no output when built (#18979)
- Support Maud templates when extracting classes (#18988)
- Upgrade: Do not migrate variant = 'outline' during upgrades (#18922)
- Upgrade: Show version mismatch (if any) when running upgrade tool (#19028)
- Upgrade: Ensure first class inside className is migrated (#19031)
- Upgrade: Migrate classes inside *ClassName and *Class attributes (#19031)
Curated by the Releasebot team
Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.
Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.