30秒で判断
- 対応すべき人: NetlifyにデプロイしたAstroサイトで、
astro.configのimage.remotePatterns(hostname/pathname)やimage.domainsに.などの正規表現メタ文字を含むホスト名・パスを設定している人 - 対応不要な人: Netlify以外にデプロイしている人、
image.remotePatterns/image.domainsを使っていない人、上記設定にメタ文字を含んでいない人 - 確認コマンド:
npx astro infoでAstroおよびアダプタのバージョンを確認、cat astro.config.mjsでimage設定を確認
この変更が意味すること
@astrojs/netlify はAstro本体とは独立したバージョニングを行うパッケージで、今回のリリースはトラッキングシステム上は「major」に分類されていますが、実際のリリースノートは Patch Changes のみで構成されており、破壊的変更は含まれていません。
内容は、Netlify Image CDN向けに生成される remote_images のパターンにおいて、image.remotePatterns の hostname / pathname や image.domains に含まれる正規表現メタ文字(. など)が、意図せずワイルドカードとして扱われてしまっていた不具合の修正です。これにより、想定外のホスト・パスが画像最適化の対象としてマッチしてしまう可能性がありましたが、修正後はAstroの他の箇所での挙動と一貫した「リテラルマッチ」になります。
主な変更点
remote_imagesパターンの正規表現エスケープ修正
image.remotePatterns の hostname / pathname、および image.domains の値からNetlify Image CDN向けパターンを生成する際、. のような正規表現メタ文字がエスケープされずワイルドカード扱いされていた問題を修正しました(#17368)。
依存パッケージの更新
@astrojs/underscore-redirects を 1.0.3 に更新しています。
EOL / サポート状況
endoflife.dateには本日時点でAstro単体のサポートサイクルデータが登録されていないため、EOL情報は確認できません。
開発者への影響
- Netlify以外へデプロイしている場合は影響ありません
image.remotePatterns/image.domainsを使っていない場合も影響ありません- ホスト名やパスにドットなどの記号を含む設定をしている場合のみ、意図しない画像マッチが解消される方向に挙動が変わります
アップデート方法
npm install @astrojs/netlify@latest
該当設定を使っている場合は、更新後にNetlify上でのビルド・画像最適化の動作確認を行ってください。
データソース: GitHub Releases API AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
export const impactScoreData = {
"total": 15,
"level": "low",
"label": "影響度: 低",
"factors": [
{"name": "Breaking Changes", "score": 0, "maxScore": 40},
{"name": "新機能", "score": 0, "maxScore": 25},
{"name": "バグ修正", "score": 12, "maxScore": 20},
{"name": "セキュリティ", "score": 0, "maxScore": 15},
{"name": "依存関係", "score": 3, "maxScore": 15}
]
};
export const eolData = [];
export const breakingChangesData = {
"count": 0,
"items": []
};
export const updateAdviceData = {
"rating": 2,
"maxRating": 5,
"label": "該当設定を使っている場合のみ更新を推奨",
"shouldUpdate": ["image.remotePatterns/domainsにメタ文字を含むホスト名・パスを設定している"],
"canWait": ["Netlify以外にデプロイしている", "image.remotePatterns/domainsを使用していない"]
};
export const versionNavData = {
"previousVersion": null,
"nextVersion": null
};
export const actionGuideData = {
"evaluation": {
"priority": "low",
"actionRequired": "optional"
},
"action": {
"steps": [
"astro.configのimage.remotePatterns/domainsの設定内容を確認する",
"該当する場合は@astrojs/netlifyを8.1.2以上に更新する",
"Netlify上で画像最適化の動作確認を行う"
],
"skipIf": [
"Netlify以外にデプロイしている",
"image.remotePatterns/domainsを使用していない",
"設定値に正規表現メタ文字を含んでいない"
],
"notes": ["破壊的変更はありません。@astrojs/netlifyはAstro本体と独立してバージョニングされています"]
},
"impact": {
"targets": ["Netlifyへデプロイし画像最適化設定にメタ文字を含むAstroユーザー"],
"scope": "minimal"
},
"changeCategory": "バグ修正"
};
