サポート終了(EOL)

Node.jsのサポート終了(End-Of-Life)について

Node.jsのメジャーバージョンは予定されたスケジュールでリリースやパッチの適用を経て、サポート終了(End-Of-Life)を迎えます。すべてのリリースラインを永続的に維持することは現実的ではないため計画されたメンテナンス期間の終了後、Node.jsのメジャーリリースラインはプロジェクトによるメンテナンスを終了します。

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

EOLになったリリースラインについて

サポート終了(End-Of-Life)を迎えたバージョンはセキュリティーパッチを含む更新が提供されなくなります。これによりこれらのバージョンで動作するアプリケーションは修正されないセキュリティー上の問題やバグに対して脆弱な状態に置かれる可能性があります。

  • 脆弱性修正の提供終了:新しいセキュリティーリリースで新たな脆弱性が発見され、主要な新バージョンラインにパッチが適用された場合、たとえ同じ脆弱性がサポート終了(EOL)のリリースラインに影響を与えていても、それらに対する新たなリリースは提供されません。サポート終了のリリースラインを使い続け、影響を受けるコードを使用しているユーザーはこれらの公開された脆弱性を悪用する攻撃に対して即座に脆弱な状態となります。
  • ツールチェーンの破損:EOLバージョンは依存する共有ライブラリーの新バージョンへの動的リンクができなくなる可能性があり、システム更新を妨げたり壊す恐れがあります。
  • エコシステムドリフト:多くの一般的なサードパーティーパッケージは時間の経過とともにEOLバージョンのサポートを終了します。アプリケーションが古いパッケージに固執すると修正されていない脆弱性やバグにさらされる可能性が高まり、エコシステムの標準からさらに離れていくことになります。
  • コンプライアンス上の危険信号:多くの業界の監査ではメンテナンスされていないランタイムの使用を禁止されています。

EOLバージョン

バージョン (コードネーム)最終更新日脆弱性詳細
v23
22
v21
75
v19
132
v18 (Hydrogen)
15194
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バージョンの使用は一時的な解決策と見なすべきであり、常に積極的にサポートされているバージョンへのアップグレードを目標とすべきです。