30秒で判断
- 対応すべき人: Astro 7系を利用中で、カスタムエラーページ(
404.astro/500.astro)でリクエスト中に変更したAstro.localsを参照しているプロジェクト。Cookie の値に依存した挙動をテストしている方。 - 対応不要な人: Astro を使用していない、またはカスタムエラーページや
Astro.localsの変更を利用していないプロジェクト(パッチのため緊急性は低め)。 - 確認コマンド:
npx astro --versionもしくはnpm ls astroで現在のバージョンを確認。
この変更が意味すること
Astro v7.1.2 は、依存更新とバグ修正を中心とした patch リリースです。特に、リクエストライフサイクル中に変更した Astro.locals がカスタムエラーページに引き継がれないバグが修正されており、エラーページでコンテキストを参照している場合は挙動が改善します。
依存する cookie パッケージの v2 更新も含まれますが、URL-safe な文字のみで構成される Cookie 値の扱いが変わる程度で、エンコード済みの値は従来どおりラウンドトリップするため、多くのプロジェクトでは影響は限定的です。
主な変更点
依存 cookie を v2 に更新(#17445)
URL-safe な文字のみで構成される Cookie 値は、Set-Cookie ヘッダで percent-encode されなくなりました。エンコードが必要な値は従来どおりエンコードされ、ラウンドトリップの結果は変わりません。
カスタムエラーページでの Astro.locals 消失を修正(#17402)
リクエストライフサイクル中に変更(mutate)した Astro.locals が失われ、カスタムエラーページ(404.astro / 500.astro)に渡らないバグを修正しました。
未処理の promise reject を防止(#17405)
未処理の promise rejection が発生しうる箇所を修正しています。
EOL / サポート状況
Astro は endoflife.date の EOL 追跡対象に含まれていないため、本記事では公式のサポートサイクル情報を掲載していません。最新の latest は 7.1.2 です。
開発者への影響
- カスタムエラーページで
Astro.localsを参照している場合、本パッチで期待どおりコンテキストが渡るようになります。 - Cookie 値を厳密に検査するテストがある場合は、percent-encode の挙動変化を確認してください(多くのケースで影響はありません)。
- 上記に該当しない場合、通常のパッチ更新として適用すれば十分です。
アップデート方法
# npm
npm install astro@7.1.2
# pnpm
pnpm add astro@7.1.2
データソース: GitHub Releases API, npm Registry AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
