GoogleのV8エンジン上に構築されたサーバーサイドのJavaScriptプラットフォームであるNode.jsの安定していない0.9.4リリースには、新しいStreaming APIが含まれている。"streams2"という愛称をつけられたそれは、0.10安定バージョンに含まれる予定になっている。
新しいAPIは、一時停止状態でストリームを開始することでデータロスから保護して、リスナーは、‘data’イベントを発行する前にアタッチされるまで待機する。また一時停止状態は、単にアドバイザリーである代わりに、いかなる‘data’イベントも発行しないことが保障される。新しいread()メソッドには、ストリームから任意のバイト数の読み込みや、ほかのプログラムで利用するために残りを捨てることが可能だ。
古いメソッドとイベントは、後方互換が維持されている:
'data'イベントハンドラーが追加されたとき、またはpause()かresume()メソッドが呼ばれたとき、読み可能なストリームが"old mode"に切り替わる。この効果は、もし新しいread()メソッドとreadable'イベントを使っていなかったとしても、チャンクを失う心配をする必要がなくなるということである。
エッジケースが導入された - ‘data’イベントハンドラが追加されず、pause()とresume()メソッドが呼ばれていないとき、ストリームは、‘end’イベントが発行されて、残りは停止し続ける。
新しいストリームの実装は、0.4リリースから議論されてきたが、より緊急度の高い問題が常にあって、後方互換を維持するのが難しいと考えられてきた。0.10では、問題は小さくなって、開発者はトライしてフィードバックを送ることが推奨されている。
Node.jsは、早く構築でき、ネットワークアプリケーションにスケーラブルに設計されており、Joyent, Incと同様にオープンソースコミュニティで開発され、Microsoft、LinkedIn、eBayといった企業で利用されている。