2011年3月26日、Node.jsの安定版ブランチにおいてバージョン 0.4.4が正式にリリースされました。

このアップデートは、JavaScript実行エンジンであるV8のアップグレードをはじめ、HTTPSモジュールの機能拡張や、複数の重要なバグ修正を含むメンテナンスリリースとなっています。

0.4系の安定性をさらに高める内容となっており、開発者にとって信頼性の向上が期待される更新です。

V8エンジンの刷新とコア機能の改善

本バージョンにおける最大の変更点の一つは、V8エンジンが3.1.8.5へとアップグレードされたことです。

これにより、スクリプトの実行パフォーマンスやメモリ管理の最適化が進んでいます。

また、APIの拡張としてhttps.Agentが公開(expose)されました。

これにより、HTTPS接続におけるコネクションプーリングやエージェントのカスタマイズが容易になっています。

さらに、イベント駆動プログラミングにおいて重要な、onceリスナーの削除サポート(GH-806)が追加されたことも大きな改善点です。

以下は、今回サポートされたリスナー削除のイメージです。

JavaScript
// onceリスナーの登録と削除の例
const EventEmitter = require('events');
const myEmitter = new EventEmitter();

const myCallback = () => {
  console.log('このメッセージは表示されません');
};

// 一度だけ実行されるリスナーを登録
myEmitter.once('update', myCallback);

// 今回の修正により、onceで登録したリスナーの削除も確実に行えるようになりました
myEmitter.removeListener('update', myCallback);

myEmitter.emit('update');

修正された主な不具合

今回のリリースでは、ネットワークやストリーム処理に関連するいくつかの重要な修正が行われました。

項目内容
CryptoStream書き込み不可の状態でも end が例外をスローしないよう修正(GH-820)
Network接続が確立される前に接続が破棄された場合の処理を改善(GH-819)
TTYtty.open において setsid が正しく設定されるよう修正(GH-815)
Bufferバッファ構築が失敗した際のバグを修正

これらの修正により、特に暗号化通信やストリーム操作を多用するアプリケーションの堅牢性が向上しています。

まとめ

Node.js 0.4.4は、V8エンジンの更新やAPIの微調整、そして細かなバグ修正を積み重ねた安定性の高いリリースです。

特にHTTPS通信を利用するプロジェクトや、複雑なイベントハンドリングを行う開発者にとって、恩恵の大きいアップデートと言えるでしょう。

詳細なドキュメントやバイナリは、以下の公式サイトより確認いただけます。