2013年4月3日、Node.jsの安定版シリーズにおける最新のアップデートとなる「Node.js v0.10.3」が公開されました。
今回のリリースでは、パッケージマネージャーであるnpmのバージョン更新をはじめ、HTTPやTLSといったネットワーク通信の基幹部分に関する重要な修正が行われています。
開発環境の安定性を維持しつつ、通信処理の信頼性を高めるための細かな改善が含まれており、v0.10系を利用しているすべての開発者にとって推奨される更新内容です。
主要なアップデート内容
本バージョンでは、コアモジュールの不具合修正とパフォーマンスの最適化が図られました。
特にHTTPおよびTLSに関連するソケット管理の改善は、サーバーアプリケーションの安定稼働に大きく寄与するものです。
npmのバージョンアップとネットワーク接続の修正
同梱されているパッケージ管理ツールのnpmが バージョン 1.2.17 へとアップグレード されました。
HTTPモジュールにおいては、過去の互換性のために存在していたECONNRESETの回避策コードが削除されています。
クライアントレスポンスの終了時に、確実にソケットのクリーンアップが行われるよう isaacs 氏による修正が施されました。
さらに、TLS接続において暗号化サイドがクローズした際に、適切にソケットを破棄する処理が追加されています。
これにより、特定の条件下で発生していたリソースの解放漏れや通信エラーの発生を抑制することが期待できます。
開発者向け改善とプラットフォーム対応
ビルドプロセスにおいては、OS X上でdtraceを利用したビルドが可能になるよう修正が行われました。
また、REPL環境では isSyntaxError() が “strict mode” 時のエラーを正しく検知できるように改善されています。
cryptoモジュールでは、コンストラクタの呼び出し時にオプションを渡せるようになり、柔軟なコーディングが可能になりました。
内部的な変更として、process.versions.uv が uv_version_string() に紐付けられたことも特筆すべき点です。
リリース情報の概要
以下の表は、今回のリリースで更新された主要なコンポーネントと修正対象のモジュールをまとめたものです。
| カテゴリー | 更新・修正の内容 |
|---|---|
| npm | v1.2.17 へのアップグレード |
| HTTP/TLS | ソケットクリーンアップおよび破棄プロセスの改善 |
| Build | OS X上でのdtraceサポート |
| REPL | strict modeにおける構文エラー検知の修正 |
現在のNode.jsのバージョンを確認するには、以下のコマンドを実行してください。
# Node.jsのバージョンを確認
node -v
v0.10.3
まとめ
Node.js v0.10.3は、npmの更新とネットワーク層の堅牢性を高めるための重要なステップとなるリリースです。
OS Xユーザー向けのdtrace対応やREPLの挙動修正など、細部まで配慮が行き届いた内容となっています。
安定したサーバー環境を維持するためにも、利用中のユーザーは速やかなアップデートの実施を検討してください。
