V8 5.8ベースの「Node.js 8」がリリース、npmはバージョン5に

 サーバーサイドJavaScriptのNode.jsを開発するNode.js Foundationは5月30日、最新版となる「Node.js 8.0」を発表した。

 Node.jsはGoogleが開発するJavaScriptエンジン「V8」をベースに、コマンドラインフロントエンドやライブラリなどを加えたJavaScript実行環境。イベント駆動型のノンブロッキングI/Oモデルを利用することで、軽量で効率の良いコード実行を実現する。プロジェクトは非営利団体Linux Foundationの下で運営されている。

 Node.js 8.0は、2016年秋に初回が公開されたNode.js 7に続くメジャーリリース版となる。V8エンジンはバージョン5.8となり、性能や開発者向けのAPIでの改善を利用できるようになった。V8 5.8は次期5.9、6.0とABI(Application Binary Interface)互換が約束されており、ネイティブのアドオンエコシステムの安定性を約束するとしている。将来的にNode.jsも今後V8を5.9、あるいは6にアップデートする計画という。npmについても、先に公開された最新版npm 5.0.0が採用されている。

 アドオン利用者やアドオン開発者向けの新たなAPI「N-API」が実験的に導入された。N-APIを利用することで、ビルド時に使用したのとは異なるバージョンのNode.jsでも、アドオンをリビルドせずに利用できる。ただしまだ実験的な実装であるため、APIは今後大きく変更される可能性があるという。

 また、async_hooksモジュール(旧名async_warp)についても大きく機能が強化された。このモジュールを利用することでNode.jsのイベントループを監視したり、非同期リクエストを追跡したり、そのライフサイクルを管理できる。そのほか、WHATWG標準に沿って実装されたURLパーサーも導入されている。

 Buffer関連についても多くの変更が加えられ、「new Buffer(num)」や「Buffer.alloc(num)」といった形でBufferオブジェクトを生成した場合、バッファ内容が0で初期化されるようになった。明示的にバッファを初期化しない「Buffer.allocUnsafe(num)」メソッドも提供される。

 このほか、Promisesのサポート強化など多数の機能強化、バグの修正が加わっている。

 Node.js 8.0はプロジェクトのWebサイトより入手できる。なお、Node.jsでは長期サポート(LTS)版という位置付けのバージョン6.10系も同時に提供しており、一般的なユーザーに対してはこちらの利用を推奨している。

Node.js Foundation
https://nodejs.org/