2013年2月25日、Node.jsの安定版(Stable)アップデートとなるバージョン0.8.21が正式にリリースされました。
今回の更新は、システムの安定性を高めるための不具合修正が中心となっています。
特にHTTPモジュールやzlibモジュールなど、サーバーの根幹に関わる部分の改善が含まれていることが特徴です。
本記事では、このリリースに含まれる主な変更点と修正内容について詳しく紹介します。
主要な修正点と機能改善
今回のバージョンでは、ネットワーク通信の信頼性を向上させるための修正がいくつか実施されました。
具体的には、HTTPモジュールにおいてソケットクローズ時に誤ったパーサーを解放してしまう不具合が解消されています。
また、ハングアップ時の書き込み処理がより丁寧に行われるようになり、異常終了のリスクが軽減されました。
zlibモジュールでは、不正な入力データを受け取った際に発生していたアサートエラーが修正されています。
システムレベルの変更
Unix系OSにおけるドメインソケットの使用時に、EINPROGRESSエラーが正しくハンドルされるようになりました。
これにより、プロセスの非同期処理における挙動が一段と安定しています。
さらに、テストランナーにはTAP(Test Anything Protocol)形式の出力が追加されました。
この変更により、開発者はテスト結果を他のツールと連携させることが容易になります。
変更内容のまとめ表
今回実施された主なパッチの内容を以下の表にまとめました。
| カテゴリ | 修正・改善内容 |
|---|---|
| http | ソケットクローズ時のパーサー解放処理の修正 |
| zlib | 不正な入力によるアサートエラーの解消 |
| test | テストランナーへのTAP出力サポート追加 |
| unix | ドメインソケットのEINPROGRESS処理の改善 |
コードによるバージョン確認
Node.jsのバージョンを確認し、正常にアップデートされたかを確認するには、以下のコマンドを使用します。
# インストールされているNode.jsのバージョンを表示します
node -v
v0.8.21
また、zlibモジュールなどの内部挙動が修正されたことで、複雑なストリーム処理における予期せぬクラッシュを防止できるようになっています。
まとめ
Node.js 0.8.21は、安定性を最優先するユーザーにとって非常に重要なバグ修正リリースです。
特にHTTP通信やデータ圧縮を利用するアプリケーションにおいては、早期のアップデートが推奨されます。
公式のインストーラーやソースコードを利用して、最新の環境を構築しましょう。
