Node.js FoundationがリリースしたArgonは,ワーキンググループの長期サポート(Long Term Support)プランが初めて適用されたNode.jsリリースである。
Node.jsバージョン4.2の名称でも知られるArgonでは,icu(International Component for Unicode) 56の採用やUnicodeデータ8.0の搭載,ICUデータサイズの削減,Stringsearchへの変更など,重要なアップデートや改良が行われている。
さらに4.2では,npm利用者向けの新たなユーザガイドを含む,npm 2.14.7へのアップデートも実施された。npm 2.14.7に更新されたということは,開発者にとっては,json
リクエトのデフォルトがapplication/json
ではなくなるという意味もある。
今回のリリースでは,小さな問題もいくつか残っている。例えば,DNSクエリ実行中のdns.setServers()
呼び出しが,アサーション失敗によるプロセスのクラッシュを起こす可能性がある。また,beforeExit
実行中の参照されないタイマに関するバグも報告されている。
未参照のタイマに関しては,コアチームメンバのTrevor Norris氏が,Jeremy Whitock, Jeremiah Senkpiel, Fedor Indutny各氏の協力を得て調査を進めているという。氏はその問題について,”ちょっとした落とし穴”だと説明しているが,beforeExit
の動作に関しては,より正確な定義が必要だとも述べている。
Redditでの“Node.js v4.2.0 will be first LTS release”ディスカッションには,長期サポートリリースが意味するものの重要性について,意見の交錯が見られる。
‘LTS’でNodeの何が変わるというのですか? 私に関して言えば,アップグレードの時間があるか,あるいは新しいプロジェクトを開始する時に,最新の安定版にアップグレードしています。Nodeの機能について詳しく知らない人たちは,ほとんどがこのようにしているのではないでしょうか? あるいは古いバージョンが突然動作しなくなるような何かを,開発チームが計画しているのでしょうか?
“Essential Steps: Long Term Support for Node.js“と題したブログ記事では,Node.js Foundation技術運営委員会の代表者であるRod Vagg氏が次のように述べている。
NodeのLTS計画を成功させるポイントは,既存の安定版リリースサイクルをベースとして,拡張サポートのライフサイクルが明確に定義された新バージョンを,予測可能なスケジュールで提供することにあります。オープンソースの“早くリリース,頻繁にリリース”という伝統に反するように思われるかも知れませんが,企業のアプリケーション開発や運用チームにとっては重要な要件なのです。
希ガスにちなんで名付けられた最初のLTSリリースは,LTSリリースを通常のNode.jsリリースと区別するために適用される予定である,元素の周期表にちなんだ命名規則の始まりを示している。アルゴン(Argon)が化学反応性のないガスであることと,リリースの名称には特別な関係はなく,単に元素の頭文字がアルファベット順になるように選択されたに過ぎない。