2011年4月22日、Node.jsの安定版 (Stable) シリーズにおいて最新のアップデートとなる「Node.js 0.4.7」がリリースされました。
今回の更新は、システムの安定性を向上させるためのバグ修正とマイナーな機能追加が中心となっています。
開発現場で報告されていたネットワーク関連の挙動や、ストリーム処理の不具合が解消されており、アプリケーションの信頼性をさらに高める内容となっています。
修正および改善の概要
今回のアップデートにおける主な変更点は以下の通りです。
| カテゴリ | 変更内容 |
|---|---|
| ネットワーク | read() における ECONNRESET のエラー送出を抑制 |
| ストリーム | 同一ストリームへの複数パイプ処理の修正 |
| URL | 解析およびフォーマット処理の精度向上 |
| OS | SmartOSにおける os.loadavg のサポート |
ストリームとネットワークの修正
技術的な修正の中で特に重要なのが、ストリーム処理の安定化です。
以前のバージョンでは、同一のストリームに対して複数のパイプを接続した際に動作が壊れるという問題がありましたが、今回のリリースで修正されました。
また、ネットワーク通信中の ECONNRESET エラーが read() 関数から送出されなくなったことで、予期せぬ例外によるアプリケーションの停止を防ぎやすくなっています。
その他の機能追加と修正
特定のプラットフォームへの対応として、SmartOSにおいてシステム負荷を確認するための os.loadavg メソッドが追加されました。
// osモジュールを使用して負荷平均を取得する例
const os = require('os');
// SmartOSを含む各OSで平均負荷を取得
const load = os.loadavg();
console.log('Load Average:', load);
Load Average: [ 0.05, 0.02, 0.01 ]
また、タイマー処理においてタイムアウト値に浮動小数点数が指定された場合の不具合が修正され、数値の扱いに関する正確性が向上しました。
REPL (対話型評価環境) においても、repl.start('', stream) の形式でストリームを指定して開始できるようになり、デバッグやツール開発における柔軟性が提供されています。
まとめ
Node.js 0.4.7は、大規模な機能追加ではなく、既存の不具合を丁寧に取り除いた堅実なリリースです。
特にストリームやURL処理の修正は、日常的な開発における予期せぬトラブルを回避するために不可欠な改善といえます。
安定した運用を重視するユーザーにとって、信頼性を支える重要なアップデートとなるでしょう。
