io.jsをマージ、ES6サポートを実現した「Node.js 4.0」リリース

 「Node.js」開発チームおよびNode.js Foundationは9月8日、最新版となる「Node.js 4.0.0」をリリースした。Node.jsからフォークし、独自のリリースを行っていたio.jsプロジェクトのコードを統合した最初のバージョンとなり、ECMASCript 6のサポート、ARMプロセッサ対応などを盛り込んだ。

 Node.jsはJavaScriptランタイムおよび各種ライブラリから構成されるJavaScript実行環境。JavaScript実行エンジンにはGoogleのV8を採用し、イベント主導、ノンブロッキングI/0モデルなどの特徴を備える。また、パッケージマネージャnpmも提供されている。

 Node.jsは米Joyentのプロジェクトとしてスタートしたが、2014年末に開発の方針や方向性に不満を持った開発者がフォークプロジェクトとなるio.jsを立ち上げた。Joyentはその後、Node.js開発母体となる非営利団体Node.js Foundationを立ち上げ、io.jsもこれに参加、Node.jsとio.jsは再びマージする計画を打ち出していた。

 Node.js 4.0では計画通りio.jsのコードが統合された。V8はGoogleが現行の「Chrome」ブラウザで採用するバージョン4.5(4.5.103.30)を採用、これによりECMAScript 6(ES6)の多数の新機能を利用できるようになった。例として、ブロックスコープ、型付き配列、Promisesなどを挙げている。

 また、ARMプロセッサのサポートも実現した。ARM v6/v7、64ビットARMv8で検証済みで、ARMベースのシステムで利用できる。

 このほか、child_processモジュールではメッセージが送られたのちに非同期でコールバックパラメーターを呼び出すことができるようになった。また、ネイティブアドオン構築ツールのnode-gypをアップデートし、Node.jsとio.jsの全バージョンで利用できるようになった。npmもセキュリティ修正を含む2.14.2にアップデートされている。またtimerも改良され、性能を改善した。一方で、util.isは非推奨となり、別の代替を探すよう助言している。

 開発チームは今後、定期的なリリースサイクルの下に開発と公開を進める。まずは10月に長期サポート(LTS)をリリースし、同時に5系を立ち上げる。4系は安定性を目的にバグ修正とセキュリティ修正が中心となり、新機能開発の場となる5系より安定版のリリースを進めていく。4系は18か月のLTS(Long Term Support、長期サポート)が提供去れ、その後は12か月のメンテナンス段階に入り重要なバグとセキュリティ修正のみが行われるという。バージョン番号はセマンティックバージョン「SemVer 2.0」を採用、リリースサイクルとしては10月と4月の6か月おきに安定版を公開するというサイクルをとるとのことだ。

Node.js
https://nodejs.org/