tailwindlabs/tailwindcss v4.3.2 → v4.3.3

v4.3.3 is a focused bugfix release across the CLI, compiler, and framework integrations. It also tightens a few edge cases in color handling, selectors, and upgrade tooling.

What's new

  • @tailwindcss/cli now supports --watch --poll[=ms] again, which gives you a fallback for environments where filesystem events are unreliable or unavailable. You can use the default poll interval or pass your own in milliseconds. (#20297)
  • Tailwind now handles CSS nesting natively in places where Lightning CSS is not being used, including @tailwindcss/browser and Tailwind Play. This also lets the nesting pass clean up empty nodes as it walks the AST. (#20124)

Breaking changes

  • None documented.

Fixes

  • Preflight no longer overrides Firefox’s native iframe:focus-visible outline styling. (#20292)
  • Arbitrary hex colors are now canonicalized case-insensitively, so values like bg-[#fff] and bg-[#FFF] both match theme colors correctly. (#20298)
  • theme('colors.foo') in JS plugins now resolves to the expected value when both --color-foo and --color-foo-bar exist. (#20299)
  • Fractional opacity modifiers now work for named shadow sizes such as shadow-sm/12.5, text-shadow-sm/12.5, drop-shadow-sm/12.5, and inset-shadow-sm/12.5. (#20302)
  • Attribute selectors like [data-foo]div are now parsed as two selectors instead of one. (#20303)
  • @tailwindcss/postcss now rebuilds when the input CSS changes even if the source file’s mtime does not, which matters for upstream preprocessors like Sass. (#20310)
  • Achromatic theme colors now preserve their hue as none instead of 0, avoiding unwanted hue shifts when they are mixed in polar color spaces like oklch. (#20314)
  • --spacing(0) now optimizes to 0px so it stays a <length> in calc(...) contexts. (#20319)
  • @tailwindcss/cli now lazy-loads @parcel/watcher, so one-off builds and --watch --poll work even when that package can’t be loaded. (#20325)
  • The Windows Japanese-locale font issue is fixed by using explicit platform fonts instead of system-ui and ui-sans-serif. (#20318)
  • @tailwindcss/upgrade no longer rewrites ignored files when run from a workspace subpackage. (#20329)
  • Earlier @source rules pointing at nested files are now scanned correctly even when a later @source points at a file in a parent folder. (#20335)
  • @tailwindcss/vite no longer triggers a full page reload for scanned files that Vite can process as modules but has not loaded yet. (#20336)

Other notable changes

  • Dependency updates were refreshed as part of the release. (#20300)

Contributors

@RobinMalfait @highoncomputers @benface @koreahghg @lazerg