0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Angular サポート終了(EOL)完全ガイド:AngularJS〜Angular 22 全バージョンのリリース日・サポート期間・EOL日まとめ

0
Posted at

TL;DR(要点まとめ)

Angularは2010年のAngularJS登場以来、世界で最も広く採用されてきたフロントエンドフレームワークのひとつです。現在も120万件以上の本番サイトがAngularJSで動いており、Angular 2〜22の現代的なAngularはさらに数十万のサイトで稼働しています。

Googleは6ヶ月ごとに新しいメジャーバージョンをリリースし、18ヶ月後には古いバージョンが公式サポートを終了(EOL)します。

エンタープライズアプリを管理するエンジニアにとって、「どのバージョンがまだサポートされているか」「どのバージョンが静かに脆弱性を蓄積しているか」を常に把握しておくことは重要な課題です。このガイドでは全Angularバージョンのリリース日・サポート期間・EOL日を網羅的にまとめ、EOL後に何が起きるかを解説します。

Angular EOLとは何か:サポートポリシーの仕組み

Googleは全メジャーリリースに対して、以下の一貫したライフサイクルを採用しています。

  • アクティブサポート(6ヶ月):定期アップデート、バグ修正、マイナー機能追加、セキュリティパッチを受け取れます。
  • LTS(長期サポート、12ヶ月):重大なバグ修正とセキュリティパッチのみ。新機能の追加はありません。
  • EOL(サポート終了):いかなる更新も行われません。セキュリティパッチなし、互換性修正なし。

つまり各メジャーバージョンのトータルサポート期間は 18ヶ月 です。6ヶ月ごとに新バージョンがリリースされるため、常にサポート対象は2〜3バージョン程度しかなく、サポート切れバージョンはリスクを抱えたまま残り続けます。

Angular 2(2016年)以降、このサイクルは一度も崩れていません(バージョン3はルーターパッケージのバージョン競合により未リリース)。この予測可能性は計画面では強みですが、バージョンが素早くサポート切れになることも意味します。たとえば2022年半ばにAngular 14を採用したチームは、2023年末には公式サポートを失っています。

Angular 全バージョン EOL一覧表

バージョン リリース日 EOL日 サポート状況
AngularJS (1.x) 2010年10月 2021年12月31日 ❌ EOL
Angular 2 2016年9月 2018年10月 ❌ EOL
Angular 4 2017年3月 2018年9月 ❌ EOL
Angular 5 2017年11月 2019年5月 ❌ EOL
Angular 6 2018年5月 2019年11月 ❌ EOL
Angular 7 2018年10月 2020年4月 ❌ EOL
Angular 8 2019年5月 2020年11月 ❌ EOL
Angular 9 2020年2月 2021年8月 ❌ EOL
Angular 10 2020年6月 2021年12月 ❌ EOL
Angular 11 2020年11月 2022年5月 ❌ EOL
Angular 12 2021年5月 2022年11月 ❌ EOL
Angular 13 2021年11月 2023年5月 ❌ EOL
Angular 14 2022年6月 2023年11月 ❌ EOL
Angular 15 2022年11月 2024年5月 ❌ EOL
Angular 16 2023年5月 2024年11月 ❌ EOL
Angular 17 2023年11月 2025年5月 ❌ EOL
Angular 18 2024年5月 2025年11月 ❌ EOL
Angular 19 2024年11月 2026年5月19日 ❌ EOL
Angular 20 2025年5月 2026年11月頃 ✅ LTS
Angular 21 2025年11月 2027年5月頃 ✅ アクティブサポート
Angular 22 2026年5月頃(予定) 2027年11月頃(予定) 🔜 リリース予定

※AngularJS 1.8.3が最終オープンソースリリース。Googleによる公式サポートは2021年12月31日に終了し、最終パッチは2022年4月に配布されました。
※Angular バージョン3は未リリース(ルーターパッケージのバージョン競合によりスキップ)。

AngularJS EOL後の実態:まだ使われている現実

AngularJSはJavaScriptベースのMVCフレームワークとして、シングルページアプリケーション(SPA)向けに作られました。双方向データバインディング、依存性注入、ディレクティブといった概念をWeb開発にもたらした先駆者です。

公式EOLから4年以上が経過した現在も、その利用規模は驚くほど大きいです。

  • 本番サイト数:120万件以上がAngularJSで稼働中
  • 週次npmダウンロード数:2021年12月の約63.9万回から2025年初頭でも約41.9万回(減少率わずか33%)

AngularJS EOL以降に開示された主な脆弱性

CVE番号 種別 パッチ状況
CVE-2022-25844 ReDoS(正規表現DoS) ❌ パッチなし
CVE-2022-25869 XSS(クロスサイトスクリプティング) ❌ パッチなし
CVE-2024-8372 コンテンツスプーフィング ❌ パッチなし
CVE-2024-8373 コンテンツスプーフィング ❌ パッチなし

オープンソースプロジェクトはこれらのどれに対してもパッチを提供しません。

注目すべきEOL間近のバージョン

Angular 19:2026年5月19日にEOL

Angular 19は現在LTS期間中で、2026年5月19日(Angular 22のリリース予定日と重なる)に全公式サポートが終了します。Angular 19を本番環境で運用しているチームは、残り約2ヶ月以内にAngular 20・21(または22)へのアップグレード、もしくは商用延長サポートの採用を検討する必要があります。

Angular 19は特に注意が必要です。2025年後半に3件の重大CVEが開示されましたが、Angular 19はその直前にリリースされたバージョンです。

CVE番号 CVSS 内容
CVE-2025-59052 7.1 SSRパイプラインのレースコンディション。リクエスト間でデータが漏洩する可能性
CVE-2025-66035 7.7 HttpClientがプロトコル相対URLを経由してXSRFトークンを漏洩
CVE-2025-66412 High テンプレートコンパイラのSVG/MathML属性サニタイズに関連するストアドXSS

パッチ済みバージョン:Angular 19(19.2.17以降)、20(20.3.15以降)、21(21.0.2以降)。Angular 18以下には公式パッチが提供されません。

Angular 20:2026年11月までLTS

Angular 20はSignals APIを安定化させ、effect()linkedSignal()toSignal()をプロダクション対応ステータスに昇格させた重要なマイルストーンリリースです。provideZoneChangeDetection()の非推奨化により、Zone.jsからの脱却が明確になりました。2026年11月末までは移行の猶予があります。

Angular 22の展望(2026年5月頃リリース予定)

Angularの6ヶ月サイクルに基づくと、Angular 22は2026年5月頃にリリース予定です。注目される機能は以下の通りです。

  • セレクターレスコンポーネント:文字列セレクターを定義・記憶する必要がなくなり、テンプレートへの直接インポートが可能になります。リファクタリング性と型安全性が向上します。
  • Signal Formsの安定版化:Angular 21で実験的に導入されたSignal Formsが、Angular 22では安定版に近づく(または到達する)見込みです。
  • OnPushをデフォルトに:新規コンポーネントの変更検知戦略としてChangeDetectionStrategy.OnPushがデフォルト採用される見込みです。
  • TypeScript 5.9サポート:最新のTypeScript機能と型チェック改善を享受できます。
  • AI開発ツールの強化:Angular 21で導入されたAngular MCPサーバーとAI支援開発ワークフローの継続強化。

Angular 22リリース時、Angular 20はアクティブからLTSへ移行し、Angular 19はEOLとなります。

AngularJSからAngularへの移行:終わらない物語

2016年にGoogleがAngular 2を発表した際、それは完全な書き直しでした。言語(JavaScriptからTypeScript)、アーキテクチャ(コントローラーからコンポーネント)、そして後方互換性なし。移行パスは事実上フルアプリケーションの書き直しを意味しました。

この決定が今も続く分断を生みました。AngularJSに多大な投資をした多くの組織は、再構築ではなく現状維持を選びました。EOLから4年以上経った現在のデータが、その実態を裏付けています。

120万件以上の本番サイトが今もAngularJSで動き続けています。 これらは放置されたホビープロジェクトではなく、セキュリティアップデートを受け取れないまま重要なビジネス機能を提供し続けているエンタープライズアプリケーション、社内ツール、顧客向けプラットフォームです。

Angular EOL後に起きること:3つのリスク

Angular EOLが到達すると、即座に3つのことが止まります。

1. セキュリティパッチの停止

EOLバージョンに対する新規CVEにはパッチが当たりません。2025年末の3件のCVE(SSRデータ漏洩・XSRFトークン露出・ストアドXSS)は全Angularバージョンに影響しますが、公式修正を受け取れるのはAngular 19・20・21のみです。

2. ブラウザ互換性の破損

Chrome・Safari・Edge・Firefoxは独自のスケジュールでアップデートを続けます。EOL版Angularはブラウザ変更に対してテスト・更新されないため、徐々に動作が劣化していきます。

3. コンプライアンス監査での指摘

SOC 2・PCI DSS・HIPAA・FedRAMP・EU Cyber Resilience Actはいずれも、サポート対象のソフトウェアを維持することを組織に求めています。EOLフレームワークの使用は監査の指摘事項となり、規制産業ではデプロイやビジネス取引をブロックすることがあります。

さらに問題を複雑にするのが、Angularのシーケンシャルアップグレード要件です。Angular 12からAngular 21に直接ジャンプすることはできません。各メジャーバージョンを順番にアップグレードする必要があります。大幅に遅れている組織にとって、これは数十もの移行ステップ、数ヶ月のエンジニアリング作業、そして大規模なリグレッションテストを意味します。Angular 13から16への移行だけで、65の独立した移行ステップが必要というデータもあります。

Angular EOLバージョンへの3つの対応策

1. サポート対象バージョンへのアップグレード

ほとんどのチームにとって最良の長期戦略です。Angularの公式アップデートガイド(update.angular.dev)がシーケンシャルアップグレードのツールと移行パスを提供しています。

考慮点:遅れているほど工数は増えます。Angular 14以降であれば移行は現実的です。AngularJSやAngular 9以前であれば、大規模な書き直しを覚悟する必要があります。

2. 別フレームワークへの移行

ReactやVueへの完全移行を選ぶ組織もあります。ゼロからの再設計がすでに計画されている場合には合理的ですが、最もコストと時間がかかる選択肢です。EOLという理由だけで正当化されることは稀です。

3. 商用延長サポートの採用

すぐに移行できない組織向けに、EOL版Angularに対してセキュリティパッチ・ブラウザ互換性アップデート・コンプライアンス対応を提供する商用サポートがあります。

HeroDevsの NES(Never-Ending Support)for Angular は、Angular 4〜18のドロップイン置き換えパッチを提供します。AngularJS・Angularの作者であるMiško Heveryを含むAngularコアコントリビューターによって構築されており、CVE-2025-66412などの脆弱性に対するバックポートパッチをEOL全バージョンに提供します。

使い方は簡単です。package.jsonを更新してHeroDevsレジストリを指定し、再ビルドするだけ。コード変更は不要で、SOC 2・FedRAMP・PCI・HIPAAのコンプライアンスドキュメントも含まれます。

クイックリファレンス:自分のAngularバージョンはサポートされているか?

バージョン 状況 推奨アクション
AngularJS (1.x) ❌ EOL(2021年12月31日) 移行または商用サポートを検討
Angular 2〜18 ❌ EOL 移行または商用サポートを検討
Angular 19 ⚠️ LTS(2026年5月19日にEOL) 早急にアップグレード計画を立てる
Angular 20 ✅ LTS(2026年11月頃まで) 当面は安全、次期アップグレードを計画
Angular 21 ✅ アクティブサポート 最新・推奨バージョン
Angular 22 🔜 2026年5月頃リリース予定 リリース後に移行を検討

よくある質問(FAQ)

Q. Googleは各Angularバージョンを何年間サポートしますか?

メジャーリリースごとに合計18ヶ月のサポートが提供されます。最初の6ヶ月はアクティブサポート(定期アップデート・バグ修正・新機能・セキュリティパッチ)、次の12ヶ月はLTS(重大バグ修正とセキュリティパッチのみ)です。その後EOLとなり、いかなる更新も提供されません。

Q. 現在サポートされているAngularバージョンはどれですか?

2026年初頭時点では、Angular 21がアクティブサポート中、Angular 20がLTS(2026年11月頃まで)、Angular 19がLTS(2026年5月19日にEOL)です。Angular 18以前は全てEOLです。

Q. Angular 3はなぜリリースされなかったのですか?

Angular 2のリリース時、Angularルーターパッケージがすでにバージョン3.xでした。全パッケージのバージョン番号を揃えるため、チームはバージョン3をスキップし、Angular 2から直接Angular 4に飛びました。

Q. Angular EOLになると具体的に何が起きますか?

3つのことが即座に止まります。セキュリティパッチ、ブラウザ互換性アップデート、公式サポートです。新規CVEにパッチが当たらなくなり、ブラウザアップデートに対してテストされなくなり、SOC 2・PCI DSS・HIPAA・FedRAMP・EU Cyber Resilience Actのようなコンプライアンス要件の観点で監査指摘事項となります。

Q. 古いAngularから最新版に直接ジャンプできますか?

できません。Angularは各メジャーバージョンを順番にアップグレードする必要があります。バージョンのスキップは不可です。遅れれば遅れるほど必要な移行ステップは増えます。Angular 13から16への移行だけで65の独立したステップが必要というデータがあります。

Q. EOL版Angularに影響する最新のCVEは何ですか?

2025年末に3件の重大CVEが開示されました。CVE-2025-59052(CVSS 7.1)はSSRパイプラインのレースコンディション、CVE-2025-66035(CVSS 7.7)はHttpClientのXSRFトークン漏洩、CVE-2025-66412(High)はテンプレートコンパイラのストアドXSSです。Angular 19・20・21には公式パッチが存在しますが、Angular 18以下には修正が提供されません。

Q. AngularJSは本当にまだそんなに使われているのですか?

はい。2021年12月31日のEOL後も、AngularJSは120万件以上の本番サイトで動いており、2025年初頭のnpmダウンロード数は週約41.9万回(ピーク時から約33%減少)です。その多くはエンタープライズアプリケーションや業務上重要なプラットフォームで、移行が完了しないまま運用が続いています。

Q. EOL版Angularを使っている場合、どんな選択肢がありますか?

3つのパスがあります。(1) 公式アップデートツールを使ってサポート対象バージョンへシーケンシャルにアップグレード、(2) 別のフレームワークに完全移行、(3) 商用延長サポートの採用です。HeroDevs NES for AngularはAngular 4〜18向けのドロップイン対応、NES for AngularJSはAngularJS 1.4.x・1.5.x・1.8.xに対応し、コード変更なしで導入できます。

Q. Angular 22はいつリリースされ、何が含まれますか?

Angular 22は2026年5月頃のリリースが予定されています。期待される機能は、セレクターレスコンポーネント、安定版Signal Forms、OnPushのデフォルト化、TypeScript 5.9サポート、Angular MCPサーバーおよびAI支援開発ツールの強化です。

まとめ:Angular EOLをそのままにするのが最悪の選択

Angularの18ヶ月サポートウィンドウと6ヶ月リリースサイクルは、最新状態を維持するための継続的な投資を必要とします。ペースを保てているチームにとっては、Signalsベースのリアクティビティ、ゾーンレス変更検知、AI統合ツールなど、Angular 21〜22の進化は開発体験とランタイムパフォーマンスの両面で大きな恩恵をもたらします。

EOL版を運用するリスクは理論上のものではありません。 CVEは今も開示され続け、ブラウザ互換性は劣化し、コンプライアンス要件は厳しくなっています。アップグレード、移行、延長サポートのどれを選ぶにしても、何もしないことが最悪の選択です。


この記事はHeroDevsの公式ブログの内容を日本語で紹介するものです。
https://www.herodevs.com/blog-posts/angular-version-history-every-release-date-support-window-and-end-of-life-date-from-angularjs-to-angular-22

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?