v4.3.1
Added
- Add `--silent` option to suppress output in `@tailwindcss/cli`
Changed
- Generate `0` instead of `calc(var(--spacing) * 0)` for spacing utilities like `m-0` and `left-0`
- Generate `var(--spacing)` instead of `calc(var(--spacing) * 1)` for spacing utilities like `m-1` and `left-1`
Fixed
- Remove deprecation warnings by using `Module#registerHooks` instead of `Module#register` on Node 26+
- Don't crash when plugin utilities throw for unsupported values during canonicalization
- Allow `@apply` to be used with CSS mixins
- Ensure `not-*` correctly negates `@container` queries, including `style(…)` queries
- Ensure `drop-shadow-*` color utilities work with custom shadow values containing `calc(…)`
- Fix 'Sourcemap is likely to be incorrect' warnings when using `@tailwindcss/vite`
- Ensure `@tailwindcss/webpack` can be installed in Rspack projects without requiring `webpack` as a peer dependency
- Don't suggest invalid `calc(…)` expressions during canonicalization
- Avoid suggesting large spacing-scale values for arbitrary lengths during canonicalization
- Ensure `@tailwindcss/cli` in `--watch` mode recovers when a tracked dependency is deleted and restored
- Ensure standalone `@tailwindcss/cli` binaries are ignored when scanning for class candidates
- Ensure class candidates are extracted from Twig `addClass(…)` and `removeClass(…)` calls
- Don't crash in the Ruby or Vue preprocessors when scanning files containing invalid UTF-8 bytes
- Allow `@variant` to be used inside `addBase`
- Ensure `@source` globs with symlinks are preserved
- Ensure later `@source` rules can re-include files excluded by earlier `@source not` rules
- Don't migrate empty class rules to invalid `@utility` rules during upgrade
- Ensure transitions between `inset-shadow-none` and other inset shadows work correctly
- Ensure explicitly referenced `@source` directories are scanned even when ignored by git
- Ensure `@source` globs ending in `**/*` preserve dynamic path segments to avoid scanning too many files
- Don't fold `calc(…)` divisions when the result would require high precision during canonicalization
- Serve ESM type declarations to ESM importers of `@tailwindcss/postcss`
Added
- Add
--silentoption to suppress output in@tailwindcss/cli(#20100)
Fixed
- Remove deprecation warnings by using
Module#registerHooksinstead ofModule#registeron Node 26+ (#20028) - Canonicalization: don't crash when plugin utilities throw for unsupported values (#20052)
- Allow
@applyto be used with CSS mixins (#19427) - Ensure
not-*correctly negates@containerqueries, includingstyle(…)queries (#20059) - Ensure
drop-shadow-*color utilities work with custom shadow values containingcalc(…)(#20080) - Fix 'Sourcemap is likely to be incorrect' warnings when using
@tailwindcss/vite(#20103) - Ensure
@tailwindcss/webpackcan be installed in Rspack projects without requiringwebpackas 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], notleft-24999.75) (#20130) - Ensure
@tailwindcss/cliin--watchmode recovers when a tracked dependency is deleted and restored (#20137) - Ensure standalone
@tailwindcss/clibinaries are ignored when scanning for class candidates (#20139) - Ensure class candidates are extracted from Twig
addClass(…)andremoveClass(…)calls (#20198) - Don't crash in the Ruby or Vue preprocessors when scanning files containing invalid UTF-8 bytes (#19588)
- Allow
@variantto be used insideaddBase(#19480) - Ensure
@sourceglobs with symlinks are preserved (#20203) - Ensure later
@sourcerules can re-include files excluded by earlier@source notrules (#20203) - Upgrade: don't migrate empty class rules to invalid
@utilityrules (#20205) - Ensure transitions between
inset-shadow-noneand other inset shadows work correctly (#20208) - Ensure explicitly referenced
@sourcedirectories are scanned even when ignored by git (#20214) - Ensure
@sourceglobs 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)], notw-[28.571428571428573%]) (#20221) - Serve ESM type declarations to ESM importers of
@tailwindcss/postcss(#20228)