サーバーサイドJavaScript環境「Node.js」の新しいメジャーバージョン「Node.js 12」が、4月23日にリリースされた。JavaScriptエンジン「V8」のアップデートや「TLS 1.3」のサポート、起動速度の改善などが行われている。

「Node.js 12」は、昨年10月に公開された「Node.js 11」に代わる“Current”リリース。「Node.js」のメジャーリリースは4月と10月の年2回実施されるが、4月にリリースされる偶数バージョンは、その次の奇数バージョンが公開されると長期サポート（Long-term support：LTS）へ移行する。「Node.js 12」の場合、今年10月から2021年4月までの18カ月間は“Active LTS”として積極的にメンテナンスされる。その後は18カ月間の“Maintenance LTS”へ移行し、セキュリティにかかわる問題など、最小限のメンテナンスが行われる。サポート終了（EoL）は2022年4月。

「Node.js 12」では、JavaScriptエンジン「V8」がv7.4へとアップグレードされ、引数の数がマッチしないケースでの関数呼び出しでオーバーヘッドが最大60％削減されたほか、“Harmony await optimization”と呼ばれる手法（「Google Chrome 72」でもデフォルト有効化）により“await”を利用した非同期処理が高速化された。非同期処理のスタックトレースやJavaScriptのパースも改善されている。

また、ビルトインライブラリのコードキャッシュを事前に生成し、ビルド時にバイナリへ埋め込むことにより、起動速度を最大30％向上。デフォルトのヒープ制限も、プラットフォームで固定の値（32bit環境で700MB、64bit環境で1,400MB）を用いるのではなく、利用可能なメモリをベースに設定できるようになった。これは大きなデータセットを処理する際に役立つ。

そのほかにも、「OpenSSL 1.1.1」の採用により「TLS 1.3」をサポート。デフォルトのHTTPパーサーは「llhttp」へと変更された。また、ES6モジュールが実験的にサポートされたほか、診断レポートの追加やヒープダンプの改善により、デバッグやトラブルシューティングが容易となった。