概要

2023年4月にリリースされたNode.js v20が、2026年4月30日をもってEnd-of-Life(EOL)を迎える。EOL到達後は公式のセキュリティアップデートやメンテナンスリリースが一切提供されなくなる。広く採用されたバージョンの一つであるv20は、Permission Model(権限モデル)や組み込みテストランナーの安定化、ECMAScript Modulesの進化など多くの貢献を残した。特にNode.js v20.19.0ではrequire(esm)がデフォルトで有効化され、CommonJS/ESM間の摩擦が大幅に軽減された。

EOL後のリスクと影響

EOLを迎えると、セキュリティスキャナーは修正の有無にかかわらずv20を脆弱なランタイムとしてフラグを立てるため、コンプライアンス上の圧力が生じる。また、AWS LambdaなどのクラウドプロバイダーもNode.js 20ランタイムの非推奨化を予定しており、運用環境への実質的な影響が避けられない。EOLは単なる日付の問題ではなく、サポートなしで本番環境を維持し続けることへの現実的なリスクを意味する。

移行の推奨とサポート選択肢

移行先としては、v22ではなくNode.js v24が推奨されている。v22自体も2027年4月にEOLを迎えるため、より長期的なサポートが得られるv24への直接移行がより合理的とされる。一方、大規模なコードベースや規制上の制約、外部依存関係によってすぐにアップグレードできないチーム向けには、HeroDevsが提供するNever-Ending Supportという延長サポートサービスが選択肢として挙げられている。これにより、移行計画を進めながらもEOLバージョンに対するセキュリティパッチの適用が継続できる。Node.js TSCメンバーでv20のリリース担当を務めたMarco Ippolito氏は、計画的な移行の重要性を強調している。