2012年8月3日、Node.jsのv0.6系統におけるメンテナンスアップデート版である「v0.6.21」がリリースされました。

今回のアップデートは、特定のプラットフォームにおける深刻な挙動の改善や、ネットワーク通信の制御をより正確にするための修正が中心となっています。

すでに旧バージョンとなっているv0.6系を利用しているユーザーにとって、システムの安定稼働を支えるための重要な更新内容が含まれています。

SunOSにおけるfs.watch()の挙動改善

SunOS環境において、ファイルシステムの変更を監視するfs.watch()関数が異常なCPU負荷(スピン状態)を引き起こすOS側のバグが確認されていました。

v0.6.21では、Bryan Cantrill氏によるOSバグを回避するためのワークアラウンドが導入されました。

この修正により、SunOS上でのファイル監視機能の安定性が大幅に向上し、予期せぬリソース消費を防止できるようになります。

JavaScript
// ファイルの変更を監視する基本的な実装例
const fs = require('fs');

fs.watch('config.json', (event, filename) => {
  // ファイル変更イベントを検知してログを出力
  console.log(`Event: ${event} on file: ${filename}`);
});
実行結果
Event: change on file: config.json

netモジュールにおける接続中ソケットの制御

ネットワーク通信を担うnetモジュールにも、重要な修正が加えられています。

具体的には、接続処理の途中にあるソケット(connecting sockets)に対して、pause()およびresume()メソッドが正しく動作するよう修正されました。

Bert Belder氏によるこの修正により、接続の確立を待機している最中であっても、データのフロー制御を意図通りに行うことが可能となりました。

リリース詳細と関連資料

本バージョンに関するソースコードや各種バイナリは、Node.jsの公式サイトより取得可能です。

項目詳細リンク
ソースコードnode-v0.6.21.tar.gz
Windows用インストーラーnode-v0.6.21.msi
APIドキュメントv0.6.21 API Reference

まとめ

Node.js v0.6.21は、特定のOS環境下での不具合対応やネットワークモジュールの品質向上を目的とした、堅実なメンテナンスリリースです。

プラットフォーム特有の問題解決が進んだことで、クロスプラットフォームでの開発環境としての信頼性がさらに高められました。

古い環境を運用しているエンジニアにとって、このリリースによる安定性の向上は大きなメリットとなります。