Node.jsからフォークした「io.js」バージョン1.0系がリリースされる

 「io.js」の開発プロジェクトは1月14日、「io.js 1.0.0」および「io.js 1.0.1」をリリースした。io.jsはNode.jsの開発体制に対し異議を持つ開発者らが立ち上げたプロジェクトで、Node.jsとの互換性を保ちつつ機能強化や改善を行うことを目的とする。

 io.jsは一部のNode.js開発者が2014年12月にスタートしたプロジェクト。Node.jsの開発とメンテナンスを行う米Joyentのプロジェクトの進め方などに不満を持ったことがフォークプロジェクト開始につながっており、io.jsではオープンガバナンスモデルの下で高速かつ予測性のあるリリースサイクルを持つプロジェクトを進めて行くと強調している。io.jsもGoogle ChromeのV8ランタイムをベースとするJavaScriptプラットフォームで、Node.jsやそのパッケージと互換性がある。

 io.jsのコードはNode.jsの最新の開発版である0.11系をベースとしており、「0.11の拡張とみることができる」という。バージョン番号は1.0系だが、運用環境向けではないとしている。なお、io.isではセマンティックバージョニングを採用している。

 Node.jsの安定版であるNode.js 0.10.35とio.js 1.0.0/1.0.1との違いは、Node.jsがV8のバージョン3.14.5.9をサポート(最新開発版のNode.js 0.11.14では3.26.33)するのに対し、io.js 1.0.0/1.0.1ではバージョン3.31.71.4をバンドルした点。最新版のV8では国際標準であるECMAScript(ECMA-262)の仕様により多く対応しており、バグの修正やパフォーマンスの強化が図れるほか、最新の機能を利用できるという。たとえば、ブロックスコープでletやconstといったキーワードが利用できるほか、コレクション、ジェネレーターなどの新機能もデフォルトでサポートする。

V8のほかにも、c-ares、http_parser、libuv、npm、openssl、punycodeなどのモジュールでより新しいバージョンが採用されているという。全体として性能と安定性も強化した。

 このほか、バッファ、子プロセス(child_process)、コンソール、クラスターなど多数のモジュールが強化されている。たとえば暗号化のcryptoでは、RSA公開鍵/秘密鍵の暗号化/復号化のサポートなどが加わっており、ストリームでのStreams3、HTTPでのresponse.writeとresponse.endのサポートとKeep-Aliveの修正などの変更もある。

io.js
https://iojs.org/