2013年3月28日、Node.jsの安定版ラインであるv0.10系の最新パッチとなるv0.10.2が正式に公開されました。
このリリースは、先代のv0.10.1から続くメンテナンスアップデートであり、主にシステムの安定性を高めるためのバグ修正が中心となっています。
特にネットワーク通信の安全性を担うTLSや、データの流れを制御するストリーム機能において、複数の重要な修正が適用されました。
開発チームは、安定したサーバーサイドJavaScript環境を維持するために、すべてのユーザーに対して最新の安定版への更新を推奨しています。
主要コンポーネントのバージョンアップ
Node.jsの基盤を支える主要なエコシステムとライブラリが最新の状態に更新されました。
パッケージマネージャーであるnpmはバージョン 1.2.15へと引き上げられています。
また、イベントループを管理する低レイヤーライブラリのlibuvもバージョン 0.10.3へとアップグレードされました。
TLSとストリームの信頼性向上
ネットワーク通信におけるセキュリティと、データ処理の整合性が大幅に改善されています。
TLSモジュールでは、SSL_ERROR_ZERO_RETURNの適切なハンドリングや、不要な境界チェックの削除が行われました。
ストリームモジュールにおいては、特定の条件下でTransformストリームが停止(ストール)してしまう問題が修正されています。
さらに、書き込み可能なストリームにおいて、長さがゼロのデータを書き込んだ際に処理が早期終了してしまう不具合も解消されました。
タイマーとプロセス管理の修正
setTimeoutなどのタイマー機能において、1ミリ秒の計算誤差や符号付き32ビット整数のオーバーフロー問題が修正されています。
暗号化を担当するcryptoモジュールでは、getCiphers()がSSL以外の暗号方式も正しく返すように調整されました。
子プロセスとの通信を管理するchild_processでは、UTF-8文字列の送信に関する不具合が改善され、より堅牢なプロセス間通信が可能になっています。
# インストールされているNode.jsのバージョンを確認します
node -v
v0.10.2
まとめ
Node.js v0.10.2は、TLS、ストリーム、タイマーといったコア機能のバグを徹底的に修正した重要な安定版リリースです。
システムのインフラストラクチャにおいて安定稼働を重視する開発者にとって、今回のアップデートは不可欠なものといえます。
最新のバイナリやソースコードは公式サイトの配信ディレクトリから取得可能であるため、速やかな動作検証とアップデートを計画することをお勧めします。
