サポート終了(EOL)

サポート終了となるNode.jsバージョンについて

Node.jsのメジャーバージョンは予測可能なスケジュールに従ってリリースされ、パッチが適用され、サポート終了(EOL)となります。すべてのリリースラインを永久に維持することは現実的ではないため、計画されたメンテナンス期間を持って、Node.jsのメジャーバージョンのリリースラインはメンテナンスを終了します。

Node.jsのリリーススケジュールを確認

リリースラインがEOLになった際に起こること

バージョンがサポート終了(EOL)に達すると、そのバージョンはセキュリティパッチを含むすべての更新プログラムの提供が終了します。これにより、これらのバージョンで動作するアプリケーションは、修正されないままのセキュリティ上の脆弱性やバグにさらされる可能性があります。

  • 脆弱性修正の終了: 新しいセキュリティ更新プログラムで、より新しいメジャーバージョンで問題やパッチが発見された場合、同じ脆弱性がEOLのバージョンに影響を与える場合でも、それらに対して新しいリリースは提供されません。EOL済みのバージョンに依存し、影響を受けるコードを使用し続けるユーザーは、これらの脆弱性を悪用した攻撃に対して即座に脆弱な状態になります。
  • ツールチェーンの破損: EOLのバージョンは依存する共有ライブラリの新しいバージョンに動的にリンクできなくなるため、システム更新がブロックされたり破損したりする可能性があります。
  • エコシステムドリフト: 多くの人気のあるユーザーランドのパッケージは時間の経過とともにEOLとなったNode.jsのバージョンへのサポートを終了します。アプリケーションが古いパッケージに依存し続けると、未修正の脆弱性やバグにさらされるリスクが高まり、エコシステムの標準からさらに乖離していく可能性があります。
  • コンプライアンスの警告: 多くの業界の監査ではメンテナンスが行われていないランタイムの使用が禁止されています。

EOLのバージョン

バージョン (コードネーム)最終更新日脆弱性詳細
v23
22
詳細
v21
66
詳細
v19
132
詳細
v18 (Hydrogen)
14204
詳細
v17
131
詳細
v16 (Gallium)
11184
詳細
v15
1深刻611
詳細
v14 (Fermium)
2深刻16165
詳細
v13
1深刻2
詳細
v12 (Erbium)
2深刻1363
詳細
v11
31
詳細
v10 (Dubnium)
1深刻1231
詳細
v9
1深刻411
詳細
v8 (Carbon)
1深刻1121
詳細
v7
32
詳細
v6 (Boron)
1612
詳細
v5
158
詳細
v4 (Argon)
2深刻179
詳細
v0
2深刻
詳細

商用サポート

EOLのバージョンを使用する明らかな欠点にもかかわらず、組織はレガシーコードベース、コンプライアンス要件、または複雑な依存関係チェーンなど、即時アップグレードを妨げる制約に直面しています。即時アップグレードが不可能ながら、Node.jsのEOLバージョンに対する継続的なセキュリティサポートが必要なユーザー向けに、OpenJSエコシステム持続可能プログラムパートナーシップを通じて商用サポートが提供されています。

Node.jsは現在HeroDevsと提携し公式メンテナンスを終了したNode.jsのバージョン向けに「Never-Ending Support(NES)」を提供しています。これにはセキュリティパッチ、コンプライアンス支援、および技術サポートが含まれ、アップグレード戦略を計画する際にギャップを埋めるお手伝いをします。詳細な情報については、HeroDevs Node.js NESページをご覧ください。

NES経由でEOLバージョンを使用することは一時的な解決策として捉えるべきです。目標は常に積極的にサポートされているバージョンへのアップグレードです。