build(deps): bump the production-dependencies group across 1 directory with 3 updates
Bumps the production-dependencies group with 3 updates in the / directory: @tailwindcss/vite, lucide-react and tailwindcss.
Updates @tailwindcss/vite from 4.3.3 to 4.3.4
Release notes
Sourced from @tailwindcss/vite'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/vite'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
Updates lucide-react from 1.61.0 to 1.68.0
Release notes
Sourced from lucide-react's releases.
Version 1.68.0
What's Changed
- fix(site): keep sponsor tiers within content width by
@ffgeniusin lucide-icons/lucide#5149- feat(icons): added
mangoicon by@Prsenapati09in lucide-icons/lucide#4902- chore(icons): Renamed *-warning and *-alert to *-exclamation-point by
@ericfennisin lucide-icons/lucide#5143New Contributors
@ffgeniusmade their first contribution in lucide-icons/lucide#5149@Prsenapati09made their first contribution in lucide-icons/lucide#4902Full Changelog: https://github.com/lucide-icons/lucide/compare/1.67.0...1.68.0
Version 1.67.0
What's Changed
- feat(site): Add sponsor page by
@ericfennisin lucide-icons/lucide#5132- fix(icons): changed
chef-haticon by@karsa-mistmerein lucide-icons/lucide#4577- fix(icons): changed
(circle|square)-letter-jby@karsa-mistmerein lucide-icons/lucide#5138- feat(icons): added
globe-banicon by@PrimeTestLabin lucide-icons/lucide#5020- chore(deps): bump playwright to 1.64.1 to support ubuntu 26.04 runners by
@ericfennisin lucide-icons/lucide#5140- chore(deps): bump the svelte-deps group across 1 directory with 3 updates by
@dependabot[bot] in lucide-icons/lucide#5139- feat(icons): added
diagram-flow-horizontal,diagram-flow-verticalicons by@karsa-mistmerein lucide-icons/lucide#5125- chore(deps-dev): bump preact from 11.0.2 to 11.1.0 in the preact-deps group across 1 directory by
@dependabot[bot] in lucide-icons/lucide#5135- feat(icons): added
globe-plusicon by@Turboman3000in lucide-icons/lucide#4938- feat(lab): added
map-pin-laptopicon by@k8adevin lucide-icons/lucide#3699- feat(lab): added
circuit-resistoricon by@synthetic-bloodin lucide-icons/lucide#4698- feat(lab): added
flask-conical-titrationicon by@jwlinqxin lucide-icons/lucide#4428- feat(lab): added
soldering-ironicon by@psjdevin lucide-icons/lucide#4850- feat(lab): added
cup-bubble-teaicon by@DrashtiC07in lucide-icons/lucide#5098- test(build-icons): cover Windows file URL imports by
@vugarbbakhishov-hubin lucide-icons/lucide#4862- chore(deps-dev): bump the angular-deps group across 1 directory with 15 updates by
@dependabot[bot] in lucide-icons/lucide#5114- chore(deps-dev): bump react-native from 0.88.0 to 0.88.1 in the react-native-deps group across 1 directory by
@dependabot[bot] in lucide-icons/lucide#5134- chore(deps-dev): bump the solid-deps group across 1 directory with 6 updates by
@dependabot[bot] in lucide-icons/lucide#5142- chore(deps): Update dependencies by
@ericfennisin lucide-icons/lucide#5146- fix(dev): avoid polynomial regex backtracking in toCamelCase helper by
@ericfennisin lucide-icons/lucide#5148- chore(deps): Fix security vulnerabilities alerts by
@ericfennisin lucide-icons/lucide#5147New Contributors
@k8adevmade their first contribution in lucide-icons/lucide#3699@synthetic-bloodmade their first contribution in lucide-icons/lucide#4698Full Changelog: https://github.com/lucide-icons/lucide/compare/1.66.0...1.67.0
Version 1.66.0
What's Changed
- feat(icons): added
monitor-activityicon by@karsa-mistmerein lucide-icons/lucide#5090- chore(deps): bump the github-actions group across 1 directory with 4 updates by
@dependabot[bot] in lucide-icons/lucide#5111- feat(icons): added
file-databaseicon by@PrimeTestLabin lucide-icons/lucide#5014- feat(icons): added
margin-bottom,margin-horizontal,margin-leftand 11 more icons by@irvineacostain lucide-icons/lucide#3525- feat(groups): added
chartandgraphgroups by@karsa-mistmerein lucide-icons/lucide#5124- feat(site): Add Hover And Focus Animations Across The Docs Site by
@PrimeTestLabin lucide-icons/lucide#5085
... (truncated)
Commits
b196797Update deps (#5146)588113etest(build-icons): cover Windows file URL imports (#4862)14cab02feat(site): Add sponsor page (#5132)1668a0cchore(deps): bump rollup to 4.65.1 and keep typescript on v6 (#5110)e8f86fcfix(lucide-react): ignore stale DynamicIcon loads after the name changes (#5060)6657faachore(deps-dev): bump vite from 8.3.2 to 8.3.3 (#5052)1802f33feat(lucide-react): add package exports for per-icon imports without changing...20aef31chore(packages): Update sponsors (#5034)- See full diff in compare view
Updates 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 <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions
Summary by cubic
Updates production dependencies: tailwindcss and @tailwindcss/vite to 4.3.4 (resolving to 4.3.5) and lucide-react from 1.61.0 to 1.68.0. Also updates the transitive lightningcss dependency to 1.33.0.
Notes
- Tailwind 4.3.4 is a bug-fix release;
@tailwindcss/viteno longer crashes in Vite's experimentalbundledDevmode and stops forcing full-page reloads for scanned non-module files. lucide-react1.68.0 renames*-warningand*-alerticons to*-exclamation-point— verify no usages of the old names.