この変更が意味すること
Angular v21.2.14は、コンパイラとコアモジュールのバグ修正を含むリリースです。このリリースにはセキュリティ観点で重要な修正が複数含まれており、XSS(クロスサイトスクリプティング)関連の攻撃ベクターを閉じる対応が行われています。
特に注目すべきは、テンプレートコンパイル時に名前空間付きSVG scriptエレメントをサニタイズするコンパイラ修正と、scriptエレメントを動的コンポーネントのホストとして拒否するコア修正です。これらはいずれも悪意あるスクリプト実行の防止を目的としています。また、リソースURLサニタイザーの大文字小文字区別の統一により、サニタイザーの迂回を防ぐ対応もされています。
Angular 22のRC(v22.0.0-rc.1)がnext dist-tagとして公開されており、Angular 22のリリースが近づいています。
主な変更点
compiler: テンプレート内の名前空間付きSVG scriptサニタイズ
テンプレートコンパイル時に、名前空間付きの<svg:script>エレメントがサニタイズされるように修正されました。この修正により、SVG名前空間を悪用したスクリプトインジェクションのリスクが低減します。
core: リソースURLサニタイザーの大文字小文字区別を統一
リソースURLのサニタイズ処理で大文字小文字が区別されない場合がある問題を修正しました。これにより、大文字混在URLを使ったサニタイザー迂回の防止が強化されます。
core: scriptエレメントを動的コンポーネントホストとして拒否
<script>エレメントを動的コンポーネントのホストとして使用しようとする操作を拒否するよう修正されました。動的コンポーネントのホスト要素に<script>を指定することで悪意あるコードが実行される可能性を塞ぎます。
core: void @Outputマイグレーション時の不要コメント挿入を修正
ng updateによるvoid @Outputの自動マイグレーション実行時に不要なコメントが挿入されることがあった問題を修正しました。開発体験の改善です。
EOL / サポート状況
| サイクル | 最新バージョン | サポート終了日 |
|---|---|---|
| 22 | 22.0.0-rc.1 | — (RC段階) |
| 21 | 21.2.14 | 2027-05-19 |
| 20 | 20.3.21 | 2026-11-28 |
| 19 | 19.2.22 | 2026-05-19 ❌ EOL |
| 18 | 18.2.14 | 2025-11-21 ❌ EOL |
Angular 19は2026-05-19(3日前)にEOLとなりました。Angular 19をご利用の場合は、v20またはv21へのアップグレードを推奨します。
開発者への影響
- テンプレートでSVG要素を動的に扱うプロジェクト: 名前空間付きSVG scriptの扱いが変わるため、既存テンプレートの動作を確認してください。
- 動的コンポーネントを利用するプロジェクト:
<script>をホストに使用している実装がある場合は修正が必要になる可能性があります(通常そのような用途はありません)。 void @Outputの移行を行ったプロジェクト: マイグレーションスクリプトの不要コメントが修正されています。- Angular 19利用者: EOL済みのため、速やかにv20以降へのアップグレードを推奨します。
アップデート方法
ng update @angular/core@21.2.14 @angular/cli@21.2.14
# または npm で直接
npm install @angular/core@21.2.14 @angular/cli@21.2.14
データソース: GitHub Releases API, endoflife.date
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
