2012年5月28日、Node.jsの次期安定版であるv0.8.0に向けた開発版として、バージョン0.7.9 (unstable)が公開されました。

このアップデートでは、JavaScriptエンジンであるV8の刷新や、ファイルシステムおよびネットワーク機能の強化が図られています。

開発者はこれらの変更点を確認することで、将来の安定版導入に向けた準備を進めることができます。

エンジンおよびツールの主要なアップデート

JavaScript実行エンジンであるV8が、バージョン3.11.1へとアップグレードされました。

これにより、スクリプトの実行パフォーマンスがさらに向上することが期待されます。

また、パッケージ管理ツールであるnpmもバージョン1.1.23へと更新されました。

ファイルシステムおよびネットワーク機能の進化

fsモジュールにおける改善

fsモジュールでは、64ビットオフセットのサポートが新たに導入されました。

これにより、Node.jsで非常に大きなサイズのファイルを操作する際の信頼性が向上しています。

さらに、同期読み込み用のオープンフラグとして、新しく'rs''rs+'が利用可能になりました。

Windows環境においては、fs.symlinkによるディレクトリジャンクションの作成や、fs.lstatによるシンボリックリンクの正しい検出が可能になっています。

httpおよびnetモジュールの機能追加

http.get()メソッドが、新しくURLオブジェクトを引数として直接受け取れるようになりました。

この変更により、リクエストを送信するためのコードをより簡潔に記述できるようになります。

JavaScript
const http = require('http');

// URLを直接指定してGETリクエストを送信可能
http.get('http://nodejs.org/dist/v0.7.9/', (res) => {
  console.log(`STATUS: ${res.statusCode}`);
});
実行結果
STATUS: 200

また、.listen()メソッドにはbacklogパラメータが追加され、接続待ち行列の最大数を調整できるようになりました。

その他の重要な変更点

内部ライブラリであるlibuvにおいて、リファレンスカウントの仕組みが見直され、安定性が強化されました。

文字エンコーディングの面では、CESU-8およびUTF-16LEが公式にサポートされています。

さらに、アドオン開発者向けには、プログラム終了時に呼び出されるAtExit()関数が追加されました。

pathモジュールには、OSごとのパス区切り文字を取得できるpath.sepが追加されています。

対象カテゴリ主な変更内容
コアエンジンV8 3.11.1、npm 1.1.23への更新
ファイル操作64bitオフセット対応、Windowsシンボリックリンク修正
通信http.getのURL受容、backlogパラメータ追加
文字コードCESU-8、UTF-16LEのサポート

詳細なリリース情報は、公式サイトのドキュメントページから確認いただけます。

まとめ

Node.js v0.7.9は、開発版(unstable)ながらも、多くの機能追加と内部構造の最適化が行われた重要なリリースです。

特にファイルシステムやネットワーク周りのAPI拡張は、サーバーサイドJavaScriptの柔軟性を大きく高めるものとなっています。

安定版であるv0.8.0のリリースに向けて、Node.jsのエコシステムは着実に進化を続けています。