Intent to (re-)Ship: Readable Streams

Skip to first unread message

Matthew Gaudet

Jan 27, 2022, 9:07:53 AMJan 27

We have been shipping ReadableStreams since 2018 [1], with today’s implementation living mostly inside of SpiderMonkey. However, we have elected to re-implement the Streams standard using DOM and WebIDL technologies, under a project called DOM Streams [2].

Shortly after the branch for Firefox 99 (the week of February 7th) I plan to change the implementation backing our ReadableStreams implementation from the JS implementation to DOM ReadableStreams, in Bug 1752206 [3]. This should purely be an implementation change, causing only very small changes for users, all of which are changes more in keeping with the current standard than the JS implementation.

There is always a risk with this work, so I am writing this Intent to (re)-Ship mostly to notify so that breakage can be reported quickly.

By changing implementation technologies we will have increased our ability to easily implement the Streams standard, keep up with the specification as it evolves, and made it much more likely we’ll have the rest of the Streams implementation (WritableStreams and TransformStreams) done sooner.

I would like to extend a special thank you to Tom Schuster, Olli Pettay and Kagami Rosylight who have helped with this project. 




Matthew Gaudet

Feb 15, 2022, 1:27:21 PMFeb 15
A slightly belated notification that this has in fact shipped now. The enablement patch landed February 10th, and has been on Nightly since.

Please report any breakage you spot.

If you're not sure if your build has DOM or JS streams, a quick test is to open the console and run `new ReadableStream({type: null})`. JS Streams will report a RangeError, and DOM Streams will report a TypeError.

Thank you again to everyone who has helped make this happen.
Reply all
Reply to author
0 new messages