2012年6月6日、Node.jsの安定版であるバージョン0.6.19が正式にリリースされました。

今回のアップデートは、パッケージマネージャーであるnpmの更新やシステムの安定性を高めるための重要な修正が中心となっています。

特に、商用環境で長時間稼働させるサーバーにとって非常に有益な改善が含まれています。

開発チームは、メモリリークの解消やネットワーク負荷時のパフォーマンス改善に注力しました。

主要なアップデート内容とnpmの更新

本バージョンにおける最も顕著な変更点は、パッケージマネージャーであるnpmがバージョン1.1.24へアップグレードされたことです。

これにより、モジュールのインストールや依存関係の管理における安定性がさらに強化されました。

また、内部モジュールであるvmにおいて発生していたメモリリークの問題が修正されています。

具体的には、モジュールのクリーンアップ処理が見直され、長期間の実行においてもメモリ使用量が肥大化しにくくなりました。

さらに、fs.createReadStream().pause()を呼び出した後に、誤ってendイベントが送出される挙動も修正されました。

プラットフォーム別の最適化と修正

Unix系およびWindowsの各プラットフォームにおいて、特定の条件下で発生するバグの修正が行われています。

Unix環境におけるネットワーク改善

Unix系OSでは、高いネットワーク負荷がかかった際に発生するループの枯渇(starvation)問題が解消されました。

この修正により、高トラフィックな環境下でもNode.jsのイベントループがより公平に処理を継続できるようになります。

Windows環境におけるファイル操作の高速化

Windows環境においては、ファイルオープン時の処理に最適化が施されました。

具体的には、ファイルをオープンする際に不要なGetFileAttributesの呼び出しをスキップするように変更されています。

これにより、ファイルシステムへのアクセス負荷が軽減され、全体的なパフォーマンスが向上しています。

Shell
# Node.jsのバージョンを確認するコマンド
node -v
実行結果
v0.6.19

その他、TTYに関連するエラー報告の修正など、Windowsユーザー向けの細かな利便性向上が図られています。

まとめ

Node.js v0.6.19は、npmの最新版への追従やメモリ管理の最適化など、安定性を重視したメンテナンスリリースです。

特にUnix環境でのネットワークパフォーマンス向上やWindowsでのファイル操作の改善は、多くの開発者にとって恩恵があるでしょう。

安定したサーバー運用を目指す場合は、これらの修正が含まれた本バージョンへの更新を検討してください。