npx @buildinternet/releases get tailwind-cssv4.3.1 shipped June 12 with a round of fixes for the utility engine and compatibility patches for Node 26.
Scrollbar, zoom, and tab utilities close gaps with native CSS. The scrollbar suite (scrollbar-{auto,thin,none}, scrollbar-thumb-*, scrollbar-track-*, scrollbar-gutter-*) maps directly to CSS scrollbar-width and scrollbar-color; zoom-* covers the zoom property; tab-* controls tab-size — all areas where developers previously needed custom CSS or a plugin. @container-size landed alongside these, enabling container queries that key on height as well as width.
@variant gained stacked and compound forms. You can now write @variant hover:focus { … } and @variant hover, focus { … } directly, and functional @utility definitions support --default(…) for fallback values.
The class optimizer shrank your output more aggressively. The canonicalization engine now collapses shorthand pairs (px-[…] py-[…] → p-[…], border-t-* border-b-* → border-y-*), migrates legacy :has() variants to idiomatic has-[…] form, and preserves arbitrary value formatting faithfully without normalizing units to base pixels. v4.3.1 also patched a crash when plugin utilities throw for unsupported values, and fixed not-* negation of @container style(…) queries.
@apply now works inside CSS mixins. The module loader also switched to Module#registerHooks to silence Node 26 deprecation warnings.
The Prettier plugin opened a public sorting API. The /sorter subpath exports programmatic class ordering so tooling authors can reuse the logic outside Prettier. The release also dropped recast and ast-types, switched to directory-based config caching, and requires Prettier 3.7+.
Fixed
- Support
--watch --poll[=ms]in@tailwindcss/cliwhen filesystem events are unreliable or unavailable (#20297) - Canonicalization: match arbitrary hex colors against theme colors case-insensitively…
Fixed
- Don't remove escape sequences when sorting classes in JavaScript string literals, which could produce invalid code in Vue attribute expressions (#461)
- Restore class sorting in Svelte markup…
Fixed
- Support bare spacing values for
auto-rows-*andauto-cols-*utilities (e.g.auto-rows-12andauto-cols-16) (#20229) - Prevent
@tailwindcss/cliin--watchmode from crashing on Windows when…
Added
- Add
--silentoption to suppress output in@tailwindcss/cli(#20100)
Fixed
- Remove deprecation warnings by using
Module#registerHooksinstead ofModule#registeron Node 26+…
Added
- Add
@container-sizeutility (#18901) - Add
scrollbar-{auto,thin,none}utilities forscrollbar-width, andscrollbar-thumb-*/scrollbar-track-*color utilities forscrollbar-color…
Tailwind CSS v4.3 is here, and because apparently shipping v4.2 was easier than remembering to blog about it, this post is secretly about two releases worth of new stuff.
Fixed
- Ensure imports in
@importand@pluginstill 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…
Added
- Support Vite 8 in
@tailwindcss/vite(#19790)
Fixed
- Don't crash when candidates contain prototype properties like
row-constructor…
Fixed
- Allow trailing dash in functional utility names for backwards compatibility (#19696)
- Properly detect classes containing
.characters within curly braces in MDX files…
Added
- Add mauve, olive, mist, and taupe color palettes to the default theme (#19627)
- Add
@tailwindcss/webpackpackage to run Tailwind CSS as a webpack plugin…
Fixed
- Don’t break
sibling-*()functions when used insidecalc(…)(#19335)
Fixed
- Load compatible plugins sequentially to work around race conditions in Node.js (#412)
- Fix compatibility with
prettier-plugin-sveltewhen using Prettier v3.7+…