Node.js v4.0がリリースされた。これはNode.jsとio.jsのコードベースが統合された最初のリリースだ。
新しいNode.jsでは、多数の新しいES6機能がデフォルトで有効になり、V8 v4.5など多数の新機能が含まれている。
昨年12月、NodeコミュニティのコアメンバーたちがJoyentのアドバイザーリボードとリリース不足に失望し、Nodeからio.jsをフォークした。今やこうした問題は解決され、2つのプロジェクトは公式に統合された。Node Foundationはブログ記事「Node v4.0.0 (Stable)」で、改善についてはっきり説明した。
そこには、このように書かれている。
現在、Node.jsプロジェクトは、コラボレーター44名、TSC(Technical Steering Committee)を構成する15名によって運営されています。加えてv0.12.7以降、新たに100名以上の個人が、コアにコードをコントリビュートする人々のリストに名を連ねています...
Node.js v4は長期サポート(LTS)計画と定期的なリリースサイクルをもたらします。今後、リリースのバージョニングはSemVerに準じます。したがって、バグ修正や機能追加によって、数週間のうちにマイナーバージョンとパッチバージョンがインクリメントされていくでしょう。
Node.jsで最も重要なアップデートのひとつが、JavaScriptのES2015仕様だ。その他、REPLサポート、TLS暗号化、PPCビルド、そしてdgraph、node、bufferモジュールに対する修正もio.jsから取り込まれている。
Mikeal Rogers氏(Node.js Foundationのコミュニティマネージャ)によると、Node.js v4.0のアイドルメモリ利用は0.12.xのときの約4分の1になったという。
Node.js v4.0リリースは、V8のバージョンを4.4.63.30から4.5.103.30にアップデートし、アロー関数、新しいTypedArray.from()
およびTypedArray.of()
関数、TypedArrayプロトタイプメソッド(copyWithin()
, every()
, fill()
, filter()
, find()
, findIndex()
, forEach()
, indexOf()
, join()
, lastIndexOf()
, map()
, reduce()
, reduceRight()
, reverse()
, slice()
, some()
, sort()
)を実装している。
今年初めにTJ Fontaine氏が、Node.jsは「V8の新しいバージョンを単に受け入れて、リリースサイクルをそのアップストリームの部分に負わせてはいけない」とコメントした。それについてRogers氏に尋ねたところ、V8チームはランタイムを大きく改善しており、Node.jsユーザにとって明らかにメリットがあると述べた。
そして、「ネイティブモジュールエコシステムは、V8チームの開発と同じスピードでV8の新しいバージョンを取り入れることはできない」が、「今すぐに」そのメリットを取り入れるのをやめたくないだろう、と考えていると述べた。
Node 4.0で注目すべき変更に、child_process
のアップデートがある。Node.js Foundationによると、ChildProcess.prototype.send()
とprocess.send()
はすべてのプラットフォームで非同期に動くので、メッセージが送られたときに実行されるオプショナルなcallbackパラメータが導入された。
統合された最初のリリースに対するJavaScriptコミュニティの反応について、Rogers氏はこう語った。
これは大きな勝利です。フォークが統合されるのはまれなことですが、私たちは大変な労力を注いで、これを成し遂げました。
Node.jsとio.jsのコミュニティが一体となって、このリリースに貢献しました。また、このリリースには、これまで以上のコントリビュータと会社が手助けしてくれました。1年前を考えると、これは信じられないことです。
私たちはプロジェクトのコアバリューを犠牲にすることなく、すばらしいものを作り上げました。引き続き、もっと多くのコードをすばやくリリースしていきたいと思っています。
Node.jsに貢献したい読者は、Working Groupsのリストをhttps://github.com/