DiffDaily Deep & Concise - OSS変更の定点観測
トップに戻る

tailwindlabs/tailwindcss

https://github.com/tailwindlabs/tailwindcss

Canonicalization: 大きな任意値をスペーシングスケールへ変換しないよう制限

Tailwind CSS のキャノニカライゼーション処理で、`left-[99999px]` が `left-24999.75` のような不自然な bare value に変換される問題を修正。デフォルトテーマ最大のブレークポイント `--breakpoint-2xl`(1536px)を閾値とし、`--spacing` 変数を介した変換のみを対象に上限を設けました。

2026年05月30日 Claude Sonnet 4.6

`calc()` 内の `0<unit>` を誤って `0` に正規化するバグを修正

`px-[calc(1rem+0px)]` を正規化する際に `calc()` 内の `0px` を単位なしの `0` に書き換え、有効なCSSが無効になる不具合を修正。`constantFoldDeclarationAst` に親ノードの文脈チェックを追加し、`calc()` 内では `0<unit>` の単位を保持するようになりました。

2026年05月29日 Claude Sonnet 4.6

内部計測モジュールに `span` と `track` APIを追加

Tailwind CSS内部の計測モジュールに `span` と `track` という2つの新APIが追加されました。既存の `start`/`end` 方式では複数の `return` 文を持つ関数で計測漏れが生じやすい問題があり、`span` はコールバックで処理を包む形式、`track` は `using` 宣言と組み合わせてブロック終了時に自動で計測を終了する形式でそれぞれ解決しています。

2026年05月27日 Claude Sonnet 4.6

walkコンテキストに`index`と`siblings`を追加し、冗長なノード探索を解消

TailwindCSS の AST 走査関数 `walk` のコンテキストに `index` と `siblings` フィールドが追加されました。従来必要だった `ctx.parent?.nodes.indexOf(node)` や `ctx.parent?.nodes ?? ast` といった迂回的なコードを排除でき、ルートレベルのノードでも `null` チェックなしに兄弟配列へアクセス可能になります。

2026年05月25日 Claude Sonnet 4.6

`@tailwindcss/webpack` が Rspack のオプショナルピア依存として `@rspack/core` を追加

`@tailwindcss/webpack` に `@rspack/core` をオプショナルピア依存として追加し、Rspack プロジェクトへのインストール時に `webpack` が不要になりました。ローダー実装は変更されておらず、Rspack の webpack 互換ローダー API を通じてそのまま動作します。従来の `webpack` も `peerDependenciesMeta` で `optional: true` に変更され、どちらか一方のバンドラーのみを使うプロジェクトでも不要なパッケージを強制されなくなります。

2026年05月23日 Claude Sonnet 4.6

`@tailwindcss/vite`でSourcemapの警告が出ていた問題を修正

`@tailwindcss/vite`のtransformフックで、Tailwind CSSのルートでないCSSファイルを処理した際に `src` をそのまま返していたことが原因で、`Sourcemap is likely to be incorrect` 警告が大量出力されていた問題を修正しました。変更なしの場合は `undefined` を返すというViteの仕様に従い、2箇所の `return src` を `return` に変更するだけの修正で、CIログのノイズを解消します。

2026年05月23日 Claude Sonnet 4.6

`--silent` オプションで CLIの非エラー出力を抑制

`@tailwindcss/cli` に `--silent` フラグが追加され、ヘッダーやビルド完了メッセージなどの通常出力を抑制しつつ、エラーは引き続き stderr に出力できるようになりました。RushJS など stderr への出力をビルド失敗と判定するビルドシステムや、複数プロセス混在の開発環境での誤検知・ログ汚染を解消します。

2026年05月22日 Claude Sonnet 4.6

SelectorParserにおける疑似要素セレクタの二重コロン解析バグを修正

`::before` などの疑似要素セレクタが `:` と `::before` に誤分割されていた SelectorParser のバグを修正しました。バッファの状態チェックによる5行の早期リターンで対処し、後続の機能開発に向けてパーサー出力の正確性を担保しています。

2026年05月20日 Claude Sonnet 4.6

セレクターコンビネーターの型付けと空白処理の統一

セレクターパーサーのコンビネーター値に `Combinator` 型を導入し、空白の正規化をパーサー内部で完結させることで、利用側コードの `.trim()` 呼び出しを廃止しました。また `toCss` 関数に `minify` フラグを追加し、正規化用途での空白なし出力と通常出力を切り替えられるようにしています。

2026年05月20日 Claude Sonnet 4.6

SelectorParserにCSS仕様準拠の構造化ノードを追加

Tailwind CSSの内部SelectorParserに `list`・`complex`・`compound` の3種類のノード型が追加されました。これまでフラットな配列として扱われていたセレクタASTが階層構造になり、複数セレクタの判定にセパレータノードを全走査する必要がなくなります。CSS Selector仕様に準拠した設計で、内部リファクタリングのため公開APIへの破壊的変更はありません。

2026年05月20日 Claude Sonnet 4.6

`calc()` を含むシャドウ値のカラー解析バグを修正

`drop-shadow-[color]` ユーティリティと `calc()` を含むカスタムシャドウ値を組み合わせると CSS が壊れるバグを修正。シャドウ値のカラー検出ロジックを正規表現ベースから ValueParser によるAST解析に刷新し、`calc()` や `min()` 等の数学関数を長さ値として、`rgb()` や `hsl()` 等を色値として型に基づいて正確に判別できるようになりました。

2026年05月19日 Claude Sonnet 4.6

`not-*` バリアントによる `@container` クエリの否定が正しく生成されるように修正

`@container style(…)` を使ったカスタムバリアントに `not-*` を組み合わせると `not` の挿入位置が誤り無効な CSS が生成されるバグを修正。原因は `condition.startsWith('(')` という文字列チェックが `style(…)` 形式に対応できていなかったことで、`ValueParser` による AST 解析に切り替えることで `(…)` と `style(…)` を等価に扱えるようになりました。

2026年05月15日 Claude Sonnet 4.6

`@apply` がCSS Mixins仕様のダッシュ識別子を素通しするよう変更

Tailwind CSS v4で、CSS Custom Functions and Mixins仕様のダッシュ識別子(`--my-mixin` 形式)を `@apply` に渡した場合、Tailwindのユーティリティとして解釈せずそのまま出力するよう変更されました。ユーティリティとミックスインの混在は意図的にエラーとして禁止されており、ネイティブCSSミックスインとTailwindの共存が可能になります。

2026年05月14日 Claude Sonnet 4.6

1000コンポーネントでの`@reference` + `@apply`メモリ・パフォーマンス検証テストを追加

Vueコンポーネント1000個が`@reference`と`@apply`を使用するシナリオの統合テストを追加しました。Discussion #16429で報告されたOOMやCSSサイズ肥大化の問題が現行バージョンで発生しないことを確認し、将来のリグレッションを自動検出する仕組みを整備しています。ビルド時間の増加(約1.2秒)は確認されましたが、CSSサイズの肥大化は発生していません。

2026年05月14日 Claude Sonnet 4.6

Node 26+の非推奨警告を解消するESMフック登録APIの切り替え

Node.js 26で`Module#register`が非推奨となり発生する`[DEP0205]`警告を解消するため、`@tailwindcss/node`が`Module#registerHooks`を優先使用するよう変更されました。ランタイムでAPIの存在を確認してフォールバックする方式を採用し、旧バージョンのNode.jsとの後方互換性を維持しながら非推奨警告を排除しています。

2026年05月11日 Claude Sonnet 4.6

Tailwind CSS 4.3.0 リリース:スクロールバー・ズーム・タブ関連ユーティリティが正式追加

Tailwind CSS 4.3.0 がリリースされた。実験的フラグで管理されていたスクロールバー系ユーティリティ(`scrollbar-width`・`scrollbar-color`・`scrollbar-gutter`)が正式機能として有効化され、`zoom-*`・`tab-*`・`@container-size` も新たに追加された。あわせて `@variant` のスタック・複合バリアント対応、Canonicalization の複数バグ修正、アップグレードツールのインライン `style` 誤変換修正なども含まれている。

2026年05月09日 Claude Sonnet 4.6

`tab-*` ユーティリティの追加による `tab-size` 制御のサポート

Tailwind CSS に `tab-*` ユーティリティが追加され、CSSの `tab-size` プロパティをクラスで直接制御できるようになりました。正の整数値のベア値(`tab-2`など)とArbitrary Values(`tab-[12px]`など)をサポートし、`isPositiveInteger` によるバリデーション、プロパティ順序への組み込み、Intellisense対応まで一貫して整備されています。

2026年05月09日 Claude Sonnet 4.6

`zoom-*` ユーティリティの追加

Tailwind CSSに `zoom-*` ユーティリティが追加され、CSSの `zoom` プロパティをクラスベースで利用できるようになりました。bare valueは自動的に `%` 値に変換され、任意値や CSS 変数参照にも対応しています。プロパティの並び順も `transform` ブロックの直後に配置されるよう整理されました。

2026年05月09日 Claude Sonnet 4.6

`scrollbar-gutter-*` ユーティリティの追加

Tailwind CSSに `scrollbar-gutter-*` ユーティリティが追加されました。`scrollbar-gutter-auto`・`scrollbar-gutter-stable`・`scrollbar-gutter-both` の3クラスが実装され、スクロールバー出現時のレイアウトシフトをクラス指定で制御できるようになります。`scrollbar-width` や `scrollbar-color` に続くスクロールバー系ユーティリティの整備の一環です。

2026年05月09日 Claude Sonnet 4.6

`scrollbar-width` と `scrollbar-color` をプロパティ順序リストに追加

Tailwind CSS の内部プロパティ順序リストに `scrollbar-width` と `scrollbar-color` が追加されました。既存の `border-width` → `border-color` パターンと同じ順序で `scrollbar-gutter` の直前に挿入されており、スクロールバーユーティリティ使用時のCSS出力順が決定論的に保たれます。

2026年05月07日 Claude Sonnet 4.6
1 2 3 … 5 次へ

© 2026 DiffDaily - Powered by AI

タケユー・ウェブ