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オブジェクトを引数として直接受け取れるようになりました。
この変更により、リクエストを送信するためのコードをより簡潔に記述できるようになります。
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のエコシステムは着実に進化を続けています。
