この変更が意味すること
Angular v21.2.2 はフォームモジュールへの新機能追加とコンパイラのバグ修正を含むリリースです。
最も注目すべきは forms モジュールへの blur debounce オプションの追加です。これまでの debounce ルールに加えて、フォーカスが外れたタイミングでバリデーションやモデル更新をトリガーできるようになりました。入力中はバリデーションを抑制し、フィールドを離れた時点で検証を実行するといったUXパターンが簡潔に実装できます。
コンパイラ側では RecursiveVisitor の children 配列が意図せず変更される問題と、compiler-cli での TCB 生成に関する修正が含まれています。
主な変更点
フォーム debounce に blur オプション追加
forms モジュールの debounce ルールに blur オプションが新たに追加されました。これにより、ユーザーがフィールドからフォーカスを外したタイミングで更新を発火させることができます。リアルタイムバリデーションの挙動を細かく制御したい場合に便利です。
RecursiveVisitor の children 配列変異防止
コンパイラの RecursiveVisitor が走査中に children 配列を変更してしまう問題が修正されました。テンプレート解析の安定性が向上します。
TCB でのオブジェクトリテラル括弧付け
compiler-cli でテンプレート型チェックブロック(TCB)を生成する際、オブジェクトリテラルが常に括弧で囲まれるようになりました。型チェックの正確性が向上します。
ngDevMode シグナルブランチのカバレッジ除外
生成された ngDevMode のシグナルブランチがコードカバレッジの対象から除外されるようになりました。テストカバレッジレポートがより正確な値を示すようになります。
EOL / サポート状況
| サイクル | 最新バージョン | ステータス | EOL |
|---|---|---|---|
| 21 | 21.2.2 | アクティブ | 2027-05-19 |
| 20 | 20.3.17 | LTS | 2026-11-28 |
| 19 | 19.2.19 | LTS | 2026-05-19 |
| 18 | 18.2.14 | EOL済 | 2025-11-21 |
| 17 | 17.3.12 | EOL済 | 2025-05-15 |
Angular 19 の EOL が 2026年5月に迫っています。19 系を利用中の場合は 20 または 21 への移行を計画してください。next タグでは v22.0.0-next.1 が公開されており、次期メジャーバージョンの開発が始まっています。
開発者への影響
- フォーム開発者: debounce の
blurオプションにより、フォーカスアウト時のバリデーション制御が簡潔に実装できます - テンプレート開発者: TCB のオブジェクトリテラル修正により、型チェックがより正確になります
- テスト担当者: ngDevMode ブランチがカバレッジから除外され、レポートが正確になります
- Angular 18 以前の利用者: EOL 済みのため、20 または 21 へのアップグレードを検討してください
アップデート方法
# Angular CLI
ng update @angular/core@21.2.2 @angular/cli@21.2.2
# npm
npm install @angular/core@21.2.2 @angular/common@21.2.2
# pnpm
pnpm update @angular/core@21.2.2 @angular/common@21.2.2
データソース: GitHub Releases API, endoflife.date, npm Registry AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
