Skip to content
Node-core streams for userland
Branch: master
Clone or download

Latest commit


Type Name Latest commit message Commit time
Failed to load latest commit information.
build Update to Node v10.18.1 (#420) Jan 17, 2020
doc/wg-meetings build for 7.1.0 and remove documentation but include link to node docs Nov 9, 2016
examples replace Buffer.alloc() with Buffer.from() where appropriate (#360) Aug 30, 2018
lib [Fix] babel's "loose mode" class transform enbrittles BufferList (#428) Feb 13, 2020
test [Fix] babel's "loose mode" class transform enbrittles BufferList (#428) Feb 13, 2020
.airtap.yml Added back IE 11. Jul 10, 2018
.babelrc [Fix] babel's "loose mode" class transform enbrittles BufferList (#428) Feb 13, 2020
.gitignore Added yarn.lock to .gitignore Dec 16, 2018
.npmignore Use @babel/preset-env exclusively (#395) Dec 23, 2018
.travis.yml Update to Node v10.18.1 (#420) Jan 17, 2020 Added the governance template. Dec 19, 2016 Updated after @williamkapke suggestions. Dec 19, 2016
LICENSE Added the governance template. Dec 19, 2016 Add vweevers to streams wg (#431) Feb 28, 2020
errors-browser.js Use @babel/preset-env exclusively (#395) Dec 23, 2018
errors.js Fix error messages (#352) Aug 12, 2018
experimentalWarning.js Emit no experimental warning in browser. (#367) Oct 2, 2018
package.json Bumped v3.6.0 Feb 13, 2020
readable-browser.js add missing exports for browsers (#409) May 27, 2019
readable.js export * from `stream` when `process.env.READABLE_STREAM === 'disable… Feb 27, 2019


Node.js core streams for userland Build Status


Sauce Test Status

npm install --save readable-stream

This package is a mirror of the streams implementations in Node.js.

Full documentation may be found on the Node.js website.

If you want to guarantee a stable streams base, regardless of what version of Node you, or the users of your libraries are using, use readable-stream only and avoid the "stream" module in Node-core, for background see this blogpost.

As of version 2.0.0 readable-stream uses semantic versioning.

Version 3.x.x

v3.x.x of readable-stream is a cut from Node 10. This version supports Node 6, 8, and 10, as well as evergreen browsers, IE 11 and latest Safari. The breaking changes introduced by v3 are composed by the combined breaking changes in Node v9 and Node v10, as follows:

  1. Error codes:,,,,,
  2. 'readable' have precedence over flowing
  3. make virtual methods errors consistent
  4. updated streams error handling
  5. writable.end should return this.
  6. readable continues to read when push('')
  7. add custom inspect to BufferList
  8. always defer 'readable' with nextTick

Version 2.x.x

v2.x.x of readable-stream is a cut of the stream module from Node 8 (there have been no semver-major changes from Node 4 to 8). This version supports all Node.js versions from 0.8, as well as evergreen browsers and IE 10 & 11.

Big Thanks

Cross-browser Testing Platform and Open Source <3 Provided by Sauce Labs


You can swap your require('stream') with require('readable-stream') without any changes, if you are just using one of the main classes and functions.

const {
} = require('readable-stream')

Note that require('stream') will return Stream, while require('readable-stream') will return Readable. We discourage using whatever is exported directly, but rather use one of the properties as shown in the example above.

Streams Working Group

readable-stream is maintained by the Streams Working Group, which oversees the development and maintenance of the Streams API within Node.js. The responsibilities of the Streams Working Group include:

  • Addressing stream issues on the Node.js issue tracker.
  • Authoring and editing stream documentation within the Node.js project.
  • Reviewing changes to stream subclasses within the Node.js project.
  • Redirecting changes to streams from the Node.js project to this project.
  • Assisting in the implementation of stream providers within Node.js.
  • Recommending versions of readable-stream to be included in Node.js.
  • Messaging about the future of streams to give the community advance notice of changes.

Team Members

You can’t perform that action at this time.