Is bluebird still maintained?
No — bluebird stopped being maintained around November 2019. Promise (native) covers this in the language or runtime now, so the right move is to delete the dependency rather than replace it.
- Status
- No longer maintained
- Last maintained
- November 2019
- Use instead
Promise (native)- Succession
- Absorbed elsewhere
- Drop-in
- not applicable
- Confidence
- high
What replaced bluebird?
Promise (native) covers this in the language or runtime now, so the right move is to delete the dependency rather than replace it. There is no package to install; the dependency comes out and platform code goes in.
How to migrate from bluebird to Promise (native)
Delete the require('bluebird') and rely on the global Promise; for the concurrency helpers Bluebird provided, Promise.map maps onto p-map and Promise.promisify onto util.promisify.
Why bluebird is on this list
Bluebird's README now tells readers to "use native promises instead if at all possible", noting that native promises have been stable and fast for about a decade and that most of Bluebird's useful features were absorbed into the language. The last release was 3.7.2 in November 2019; the package is not formally deprecated on npm and still works. The maintainer suggests keeping Bluebird only for very old browsers, end-of-life Node.js, or temporarily for its warnings and monitoring.
The succession is settled: primary sources agree and the ecosystem has already moved.
bluebird alternatives
Beyond the primary recommendation, these are credible for bluebird's use case:
p-limit— view on npmp-map— view on npmp-retry— view on npm
Check your own project for bluebird
npx dead-deps --all --min-state unmaintained
Run that in the directory holding your lockfile. If bluebird is anywhere in your tree — a direct dependency or buried under something else — it appears in the report with this verdict, this successor and the same evidence links, alongside anything else that has stopped moving. Nothing is uploaded; the scan reads your lockfile locally and queries public registry metadata.
Exit code 1 means something was flagged, which makes npx dead-deps --min-state deprecated usable as a CI gate. See how verdicts are produced.
Evidence
Every claim on this page traces to a primary source. Check them:
- Bluebird README recommending native promisesgithub.com
- npm package page showing the last release in 2019npmjs.com
Packages related to bluebird
- qReplaced by Promise (native) in the platform · unmaintained since October 2017
- @angular/httpAbsorbed elsewhere: @angular/common · unmaintained since May 2019
- left-padReplaced by String.prototype.padStart in the platform · unmaintained since April 2018
- lodash.getReplaced by optional chaining (?.) in the platform · unmaintained since August 2016
- lodash.isequalReplaced by node:util.isDeepStrictEqual in the platform · unmaintained since January 2017
See the full index of covered packages, or read the methodology for how a verdict is reached and why a quiet package is not a dead one.