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) |
| TTY | tty.open において setsid が正しく設定されるよう修正(GH-815) |
| Buffer | バッファ構築が失敗した際のバグを修正 |
これらの修正により、特に暗号化通信やストリーム操作を多用するアプリケーションの堅牢性が向上しています。
まとめ
Node.js 0.4.4は、V8エンジンの更新やAPIの微調整、そして細かなバグ修正を積み重ねた安定性の高いリリースです。
特にHTTPS通信を利用するプロジェクトや、複雑なイベントハンドリングを行う開発者にとって、恩恵の大きいアップデートと言えるでしょう。
詳細なドキュメントやバイナリは、以下の公式サイトより確認いただけます。
