https://github.com/tailwindlabs/tailwindcss
Tailwind CSS のキャノニカライゼーション処理で、`left-[99999px]` が `left-24999.75` のような不自然な bare value に変換される問題を修正。デフォルトテーマ最大のブレークポイント `--breakpoint-2xl`(1536px)を閾値とし、`--spacing` 変数を介した変換のみを対象に上限を設けました。
`px-[calc(1rem+0px)]` を正規化する際に `calc()` 内の `0px` を単位なしの `0` に書き換え、有効なCSSが無効になる不具合を修正。`constantFoldDeclarationAst` に親ノードの文脈チェックを追加し、`calc()` 内では `0<unit>` の単位を保持するようになりました。
Tailwind CSS内部の計測モジュールに `span` と `track` という2つの新APIが追加されました。既存の `start`/`end` 方式では複数の `return` 文を持つ関数で計測漏れが生じやすい問題があり、`span` はコールバックで処理を包む形式、`track` は `using` 宣言と組み合わせてブロック終了時に自動で計測を終了する形式でそれぞれ解決しています。
TailwindCSS の AST 走査関数 `walk` のコンテキストに `index` と `siblings` フィールドが追加されました。従来必要だった `ctx.parent?.nodes.indexOf(node)` や `ctx.parent?.nodes ?? ast` といった迂回的なコードを排除でき、ルートレベルのノードでも `null` チェックなしに兄弟配列へアクセス可能になります。
`@tailwindcss/webpack` に `@rspack/core` をオプショナルピア依存として追加し、Rspack プロジェクトへのインストール時に `webpack` が不要になりました。ローダー実装は変更されておらず、Rspack の webpack 互換ローダー API を通じてそのまま動作します。従来の `webpack` も `peerDependenciesMeta` で `optional: true` に変更され、どちらか一方のバンドラーのみを使うプロジェクトでも不要なパッケージを強制されなくなります。
`@tailwindcss/vite`のtransformフックで、Tailwind CSSのルートでないCSSファイルを処理した際に `src` をそのまま返していたことが原因で、`Sourcemap is likely to be incorrect` 警告が大量出力されていた問題を修正しました。変更なしの場合は `undefined` を返すというViteの仕様に従い、2箇所の `return src` を `return` に変更するだけの修正で、CIログのノイズを解消します。
`@tailwindcss/cli` に `--silent` フラグが追加され、ヘッダーやビルド完了メッセージなどの通常出力を抑制しつつ、エラーは引き続き stderr に出力できるようになりました。RushJS など stderr への出力をビルド失敗と判定するビルドシステムや、複数プロセス混在の開発環境での誤検知・ログ汚染を解消します。
`::before` などの疑似要素セレクタが `:` と `::before` に誤分割されていた SelectorParser のバグを修正しました。バッファの状態チェックによる5行の早期リターンで対処し、後続の機能開発に向けてパーサー出力の正確性を担保しています。
セレクターパーサーのコンビネーター値に `Combinator` 型を導入し、空白の正規化をパーサー内部で完結させることで、利用側コードの `.trim()` 呼び出しを廃止しました。また `toCss` 関数に `minify` フラグを追加し、正規化用途での空白なし出力と通常出力を切り替えられるようにしています。
Tailwind CSSの内部SelectorParserに `list`・`complex`・`compound` の3種類のノード型が追加されました。これまでフラットな配列として扱われていたセレクタASTが階層構造になり、複数セレクタの判定にセパレータノードを全走査する必要がなくなります。CSS Selector仕様に準拠した設計で、内部リファクタリングのため公開APIへの破壊的変更はありません。
`drop-shadow-[color]` ユーティリティと `calc()` を含むカスタムシャドウ値を組み合わせると CSS が壊れるバグを修正。シャドウ値のカラー検出ロジックを正規表現ベースから ValueParser によるAST解析に刷新し、`calc()` や `min()` 等の数学関数を長さ値として、`rgb()` や `hsl()` 等を色値として型に基づいて正確に判別できるようになりました。
`@container style(…)` を使ったカスタムバリアントに `not-*` を組み合わせると `not` の挿入位置が誤り無効な CSS が生成されるバグを修正。原因は `condition.startsWith('(')` という文字列チェックが `style(…)` 形式に対応できていなかったことで、`ValueParser` による AST 解析に切り替えることで `(…)` と `style(…)` を等価に扱えるようになりました。
Tailwind CSS v4で、CSS Custom Functions and Mixins仕様のダッシュ識別子(`--my-mixin` 形式)を `@apply` に渡した場合、Tailwindのユーティリティとして解釈せずそのまま出力するよう変更されました。ユーティリティとミックスインの混在は意図的にエラーとして禁止されており、ネイティブCSSミックスインとTailwindの共存が可能になります。
Vueコンポーネント1000個が`@reference`と`@apply`を使用するシナリオの統合テストを追加しました。Discussion #16429で報告されたOOMやCSSサイズ肥大化の問題が現行バージョンで発生しないことを確認し、将来のリグレッションを自動検出する仕組みを整備しています。ビルド時間の増加(約1.2秒)は確認されましたが、CSSサイズの肥大化は発生していません。
Node.js 26で`Module#register`が非推奨となり発生する`[DEP0205]`警告を解消するため、`@tailwindcss/node`が`Module#registerHooks`を優先使用するよう変更されました。ランタイムでAPIの存在を確認してフォールバックする方式を採用し、旧バージョンのNode.jsとの後方互換性を維持しながら非推奨警告を排除しています。
Tailwind CSS 4.3.0 がリリースされた。実験的フラグで管理されていたスクロールバー系ユーティリティ(`scrollbar-width`・`scrollbar-color`・`scrollbar-gutter`)が正式機能として有効化され、`zoom-*`・`tab-*`・`@container-size` も新たに追加された。あわせて `@variant` のスタック・複合バリアント対応、Canonicalization の複数バグ修正、アップグレードツールのインライン `style` 誤変換修正なども含まれている。
Tailwind CSS に `tab-*` ユーティリティが追加され、CSSの `tab-size` プロパティをクラスで直接制御できるようになりました。正の整数値のベア値(`tab-2`など)とArbitrary Values(`tab-[12px]`など)をサポートし、`isPositiveInteger` によるバリデーション、プロパティ順序への組み込み、Intellisense対応まで一貫して整備されています。
Tailwind CSSに `zoom-*` ユーティリティが追加され、CSSの `zoom` プロパティをクラスベースで利用できるようになりました。bare valueは自動的に `%` 値に変換され、任意値や CSS 変数参照にも対応しています。プロパティの並び順も `transform` ブロックの直後に配置されるよう整理されました。
Tailwind CSSに `scrollbar-gutter-*` ユーティリティが追加されました。`scrollbar-gutter-auto`・`scrollbar-gutter-stable`・`scrollbar-gutter-both` の3クラスが実装され、スクロールバー出現時のレイアウトシフトをクラス指定で制御できるようになります。`scrollbar-width` や `scrollbar-color` に続くスクロールバー系ユーティリティの整備の一環です。
Tailwind CSS の内部プロパティ順序リストに `scrollbar-width` と `scrollbar-color` が追加されました。既存の `border-width` → `border-color` パターンと同じ順序で `scrollbar-gutter` の直前に挿入されており、スクロールバーユーティリティ使用時のCSS出力順が決定論的に保たれます。