30秒で判断
- 対応すべき人:
vite.css.transformer: 'lightningcss'を使用してコンテンツコレクションのrender()でコンポーネントを描画しているプロジェクト、または dev サーバーの Node.js 警告に悩まされている Astro 7.x ユーザー - 対応不要な人: lightningcss を使用していない(デフォルトの Vite CSS 処理を使用中)かつ dev サーバーの問題がないプロジェクト
- 確認コマンド:
npx astro --version
この変更が意味すること
Astro v7.0.7 が2026年7月8日にリリースされました。破壊的変更を含まないパッチリリースで、特定の設定環境で発生していた重要なバグ 2 件が修正されています。
最も影響が大きいのは CSS モジュールのスコープ名ハッシュ不一致の修正です。vite.css.transformer: 'lightningcss' を設定している環境で、コンテンツコレクションの render() を通じてコンポーネントを描画した場合、要素のクラス名と <style> タグ内のクラス名で異なるハッシュが生成されてしまい、スタイルが一切適用されないという問題が発生していました。
lightningcss は Vite のデフォルト CSS トランスパイラーの代替として使われるケースが増えており、Astro 7 では公式サポートも強化されています。この組み合わせでスタイルが効かないという問題は開発体験に直接影響するため、対象ユーザーには早めの適用を推奨します。
主な変更点
CSS モジュールのスコープ名ハッシュ不一致修正
vite.css.transformer: 'lightningcss' を使用しているプロジェクトで、コンテンツコレクションの render() 関数でレンダリングしたコンポーネントの CSS モジュールが正しく適用されない問題を修正しました。
問題の詳細: CSS モジュールのスコープされたクラス名のハッシュが、HTML 要素側と注入される <style> タグ側で異なる値で生成されていました。これにより、セレクタが要素にマッチせずスタイルが適用されない状態が発生していました。
Contributors: @astrobot-houston(PR #17318)
dev サーバーのメモリリーク修正
Astro dev サーバーでメモリリークが発生し、Node.js がコンソールに警告を出力していた問題を修正しました。長時間 dev サーバーを稼働させている場合や、ホットリロードを繰り返した際にメモリ使用量が増加し続ける問題が解消されます。
Contributors: @ematipico(PR #17323)
EOL / サポート状況
Astro は公式の EOL ポリシーを endoflife.date に登録していません。npm dist-tags によると、現在のサポート状況は以下の通りです:
| バージョン | ステータス | 備考 |
|---|---|---|
| v7.x | active | 現在のメジャー安定版(latest: 7.0.7) |
| v6.x | legacy | legacy タグで参照可能 |
| v5.x以前 | 非推奨 | サポート対象外 |
開発者への影響
- lightningcss + コンテンツコレクション使用者: スタイルが適用されない問題が解消されます。優先的にアップデートしてください
- 長時間 dev サーバーを稼働させる開発者: メモリリークが解消され、Node.js の警告も消えます
- 上記に該当しない Astro 7.x 利用者: 通常のアップデートサイクルで適用して問題ありません
- Astro 6.x 以前の利用者: 今回の修正はバックポートされていません。Astro 7 への移行を検討してください
アップデート方法
# npm
npm install astro@7.0.7
# pnpm
pnpm add astro@7.0.7
# yarn
yarn add astro@7.0.7
Astro 関連のインテグレーションパッケージ(@astrojs/react 等)は個別にバージョン管理されているため、必要に応じて合わせてアップデートしてください。
データソース: GitHub Releases API, npm Registry
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
