build(deps): bump tailwindcss from 4.3.3 to 4.3.4 in /docs
Merged
DE
4d ago+12+12+01234567890123456789-12-12-01234567890123456789
Bumps tailwindcss from 4.3.3 to 4.3.4.
Release notes
Sourced from tailwindcss's releases.
v4.3.4
Added
- Add
@tailwindcss/turbopack, a Turbopack loader for using Tailwind CSS with Next.js (#20367)Fixed
- Ensure watch mode detects changes to symlinked
@sourcefiles whose real paths aren't otherwise scanned (#20356)- Ensure variants using
@scopewrap generated utilities instead of nesting inside them (#20369)- Ensure nested
@scoperules preserve their scoping semantics when flattened (#20369)- Preserve declarations directly inside
@scopeby wrapping them in:where(:scope)(#20369)- Ensure generated utilities include a space in empty
var()fallbacks (e.g.var(--tw-blur,)→var(--tw-blur, )) (#20373)- Canonicalization: convert arbitrary breakpoint and container query variants to named equivalents (e.g.
max-[64rem]:flex→max-lg:flex) (#20380)- Prevent
@tailwindcss/vitefrom crashing on every edit under Vite's experimentalbundledDevmode (#20379)- Ensure
@tailwindcss/oxidefalls back to WASM on platforms without native bindings (#20383)- Extract class candidates from Ruby
%wand%Wliterals using angle brackets or custom delimiters (e.g.%w<flex>,%w|flex|), including in Slim and Haml templates (#20387)- Preserve whitespace in
--default(…)values in functional@utilitydefinitions (e.g.--default(box alphabetic)no longer becomesboxalphabetic) (#20392)- Ensure automatic source detection respects negation-based
.gitignorefiles (e.g./*followed by!/…patterns) (#20397)- Ensure root
theme('…')namespace lookups in JavaScript plugins and config files return the full namespace object instead of the value of itsDEFAULTkey (#20399)- Skip ignored directories when generating watch globs instead of walking their contents on every rebuild (#20408)
- Drop invalid UTF-8 candidates during class detection (#20389)
- Prevent
@tailwindcss/vitefrom forcing full-page reloads for scanned files that Vite does not handle as modules (e.g..phpfiles) (#20414)- Canonicalization: don't merge utilities that reference different theme variables set to CSS-wide keywords like
unset(#20417)- Don't generate utilities when a modifier is used that would otherwise be silently ignored (e.g.
rounded-sm/[5],shadow-sm/foo,stroke-2/50) (#20419)- Preserve
and,or, andnotinside selectors insupports-[…]variants (e.g.supports-[selector(a:not(.foo))]:flex) (#20420)- Don't warn about Angular's
::ng-deepand:host-context()when optimizing CSS (#20434)- Don't generate CSS for candidates containing an empty additional modifier (e.g.
bg-red-500/50/andgroup-hover/foo//bar:flex) (#20466)- Ensure
min-*,max-*, and container query variants with decimal values are sorted numerically (e.g.min-[40.25rem]beforemin-[40.5rem]) (#20512)- Ensure CSS comments ending with
\*/are closed correctly instead of swallowing the CSS that follows (e.g./* C:\temp\*/) (#20508)- Improve style invalidation performance of
group-*andpeer-*variants (#20513)- Ensure cached compilers release their
loadModuleandloadStylesheetcallbacks after compilation (#20531)- Canonicalization: preserve
&when moving a pseudo-element into*or**(e.g.[&_::before]:flex→**:[&::before]:flex) (#20550)- Ensure the
Set.prototype.intersectionpolyfill incanonicalizeCandidates(…)returns the intersection instead of the first set on Node.js < 22 (#20562)- Canonicalization: ensure inline
theme(…)alphas with more than 2 decimals migrate to a percentage modifier with the same opacity (e.g.theme(colors.red.500/.12345)→text-red-500/[12.345%], nottext-red-500/[12.345]) (#20563)- Canonicalization: preserve inline
theme(…)alphas as an arbitrary percentage when a custom--opacity-*theme value would change the opacity (e.g.theme(colors.red.500/50%)→text-red-500/[50%]with--opacity-50: 10%) (#20563)- Ensure the
@propertyfallback isn't applied in Safari versions that no longer supportmargin-trim: inline(#20569)- Treat viewport units like
dvminandsviand font-relative units likecapandrexas lengths in arbitrary values (e.g.text-[10dvmin]generatesfont-sizeinstead ofcolor) (#20516)- Write plugin logs to stderr in
tailwindcss canonicalizeso they don't end up in the results on stdout (#20561)- Extract class shorthands on later lines when Pug text, comments, or quoted attribute values contain unbalanced brackets, or a quote that doesn't start a string (e.g.
input(pattern=/"/.source)) (#20547, #20572)- Underline the correct occurrence of an unsupported data type in
--value(…)warnings (#20554)- Canonicalization: prefer an existing candidate when collapsing utilities over another utility with the same default theme value (e.g.
text-foreground text-primary→text-primary, nottext-card-checked-border) (#20540)- Canonicalization: don't collapse utilities into a utility that uses another theme variable with the same default value (e.g.
mt-card mb-card→my-card, notmy-4) (#20574)- Ensure
@tailwindcss/postcssrewrites relativeurl(…)s of stylesheets that are inlined before it runs (e.g.@imports in Vite) in optimized builds (#20576)- Drop nested rules that put a combinator after a pseudo-element when using pseudo-element variants (e.g.
selection:*on a utility with a nested& > *rule) (#20575)- Don't generate CSS for arbitrary values with unbalanced parentheses or brackets (e.g.
w-[calc(1px]or[--x:a[b]) (#20577)- Canonicalization: prevent
collapse: truefrom taking exponentially longer when classes are linked through a utility that sets many properties (e.g.sr-only) (#20558)- Ensure
&is substituted inside:-moz-any(…)and:-webkit-any(…)in custom variants (e.g.@custom-variant firefox (:-moz-any(&));) (#20486)- Ensure the standalone macOS binaries have a valid code signature, so macOS 27 no longer kills them at launch (#20578)
- Ensure
@tailwindcss/turbopackand@tailwindcss/webpackrebuild when the input CSS changes (e.g.next devwith Turbopack no longer serves the CSS of the previous edit) (#20582)- Canonicalization: don't drop a utility that sets a
--tw-*variable when an unrelated property has the same value (e.g.link mt-4no longer becomesmt-4whenlinksetsmargin-top: 16pxand--tw-translate-x: 16px) (#20593)
... (truncated)
Changelog
Sourced from tailwindcss's changelog.
[4.3.4] - 2026-11-02
Added
- Add
@tailwindcss/turbopack, a Turbopack loader for using Tailwind CSS with Next.js (#20367)Fixed
- Ensure watch mode detects changes to symlinked
@sourcefiles whose real paths aren't otherwise scanned (#20356)- Ensure variants using
@scopewrap generated utilities instead of nesting inside them (#20369)- Ensure nested
@scoperules preserve their scoping semantics when flattened (#20369)- Preserve declarations directly inside
@scopeby wrapping them in:where(:scope)(#20369)- Ensure generated utilities include a space in empty
var()fallbacks (e.g.var(--tw-blur,)→var(--tw-blur, )) (#20373)- Canonicalization: convert arbitrary breakpoint and container query variants to named equivalents (e.g.
max-[64rem]:flex→max-lg:flex) (#20380)- Prevent
@tailwindcss/vitefrom crashing on every edit under Vite's experimentalbundledDevmode (#20379)- Ensure
@tailwindcss/oxidefalls back to WASM on platforms without native bindings (#20383)- Extract class candidates from Ruby
%wand%Wliterals using angle brackets or custom delimiters (e.g.%w<flex>,%w|flex|), including in Slim and Haml templates (#20387)- Preserve whitespace in
--default(…)values in functional@utilitydefinitions (e.g.--default(box alphabetic)no longer becomesboxalphabetic) (#20392)- Ensure automatic source detection respects negation-based
.gitignorefiles (e.g./*followed by!/…patterns) (#20397)- Ensure root
theme('…')namespace lookups in JavaScript plugins and config files return the full namespace object instead of the value of itsDEFAULTkey (#20399)- Skip ignored directories when generating watch globs instead of walking their contents on every rebuild (#20408)
- Drop invalid UTF-8 candidates during class detection (#20389)
- Prevent
@tailwindcss/vitefrom forcing full-page reloads for scanned files that Vite does not handle as modules (e.g..phpfiles) (#20414)- Canonicalization: don't merge utilities that reference different theme variables set to CSS-wide keywords like
unset(#20417)- Don't generate utilities when a modifier is used that would otherwise be silently ignored (e.g.
rounded-sm/[5],shadow-sm/foo,stroke-2/50) (#20419)- Preserve
and,or, andnotinside selectors insupports-[…]variants (e.g.supports-[selector(a:not(.foo))]:flex) (#20420)- Don't warn about Angular's
::ng-deepand:host-context()when optimizing CSS (#20434)- Don't generate CSS for candidates containing an empty additional modifier (e.g.
bg-red-500/50/andgroup-hover/foo//bar:flex) (#20466)- Ensure
min-*,max-*, and container query variants with decimal values are sorted numerically (e.g.min-[40.25rem]beforemin-[40.5rem]) (#20512)- Ensure CSS comments ending with
\*/are closed correctly instead of swallowing the CSS that follows (e.g./* C:\temp\*/) (#20508)- Improve style invalidation performance of
group-*andpeer-*variants (#20513)- Ensure cached compilers release their
loadModuleandloadStylesheetcallbacks after compilation (#20531)- Canonicalization: preserve
&when moving a pseudo-element into*or**(e.g.[&_::before]:flex→**:[&::before]:flex) (#20550)- Ensure the
Set.prototype.intersectionpolyfill incanonicalizeCandidates(…)returns the intersection instead of the first set on Node.js < 22 (#20562)- Canonicalization: ensure inline
theme(…)alphas with more than 2 decimals migrate to a percentage modifier with the same opacity (e.g.theme(colors.red.500/.12345)→text-red-500/[12.345%], nottext-red-500/[12.345]) (#20563)- Canonicalization: preserve inline
theme(…)alphas as an arbitrary percentage when a custom--opacity-*theme value would change the opacity (e.g.theme(colors.red.500/50%)→text-red-500/[50%]with--opacity-50: 10%) (#20563)- Ensure the
@propertyfallback isn't applied in Safari versions that no longer supportmargin-trim: inline(#20569)- Treat viewport units like
dvminandsviand font-relative units likecapandrexas lengths in arbitrary values (e.g.text-[10dvmin]generatesfont-sizeinstead ofcolor) (#20516)- Write plugin logs to stderr in
tailwindcss canonicalizeso they don't end up in the results on stdout (#20561)- Extract class shorthands on later lines when Pug text, comments, or quoted attribute values contain unbalanced brackets, or a quote that doesn't start a string (e.g.
input(pattern=/"/.source)) (#20547, #20572)- Underline the correct occurrence of an unsupported data type in
--value(…)warnings (#20554)- Canonicalization: prefer an existing candidate when collapsing utilities over another utility with the same default theme value (e.g.
text-foreground text-primary→text-primary, nottext-card-checked-border) (#20540)- Canonicalization: don't collapse utilities into a utility that uses another theme variable with the same default value (e.g.
mt-card mb-card→my-card, notmy-4) (#20574)- Ensure
@tailwindcss/postcssrewrites relativeurl(…)s of stylesheets that are inlined before it runs (e.g.@imports in Vite) in optimized builds (#20576)- Drop nested rules that put a combinator after a pseudo-element when using pseudo-element variants (e.g.
selection:*on a utility with a nested& > *rule) (#20575)- Don't generate CSS for arbitrary values with unbalanced parentheses or brackets (e.g.
w-[calc(1px]or[--x:a[b]) (#20577)- Canonicalization: prevent
collapse: truefrom taking exponentially longer when classes are linked through a utility that sets many properties (e.g.sr-only) (#20558)- Ensure
&is substituted inside:-moz-any(…)and:-webkit-any(…)in custom variants (e.g.@custom-variant firefox (:-moz-any(&));) (#20486)- Ensure the standalone macOS binaries have a valid code signature, so macOS 27 no longer kills them at launch (#20578)
- Ensure
@tailwindcss/turbopackand@tailwindcss/webpackrebuild when the input CSS changes (e.g.next devwith Turbopack no longer serves the CSS of the previous edit) (#20582)
... (truncated)
Commits
2626ae64.3.4 (#20447)cd5831fKeep a declaration without a;at the end of the CSS input (#20655)2570e00Parse a custom property at the end of the input without a trailing;(#20653)410a465Don't treat!importantinside a declaration value as the important flag (#2...a982d5bDecode single-digit hexadecimal CSS escapes (#20591)fda34f8Canonicalization: only ignore--tw-{property}next to the related property ...1f18d20Handle vendor-prefixed selector functions in custom variants (#20486)955d37aFix out of memory error in the canonicalize tests on macOS CI (#20579)92172d3Canonicalization: avoid exponential collapse when a utility sets many propert...374d191Reject arbitrary values with unbalanced parens or brackets (#20577)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Summary by cubic
Bumps tailwindcss from 4.3.3 to 4.3.4 in the docs project. This is a patch release with no breaking changes.
Dependencies
- Updates
tailwindcssto 4.3.4, which includes fixes for watch mode, scoped variants, and several CSS generation edge cases.