NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #913 most downloaded on npm
Full featured Promises/A+ implementation with exceptionally good performance
Last release 7 years ago
no release in 18 months
Release timing varies
gaps range from 8 days to 11 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
4 versions withdrawn
withdrawn after publishing
13 years old
223 releases · first in 2013
Bugfixes: - Fix #179
Bugfixes:
Promisified methods from promisifyAll no longer call the original method when it is overriden
Bugfixes:
undefinedOne column per quarter.
Bugfixes: - Fix #168
Bugfixes:
New method: `Promise.onUnhandledRejectionHandled()`
Bugfixes: - #138 - #144 - #148 - #151
Deprecate Promise.prototype.spawn
Features:
Promise.prototype.tap()Promise.coroutine.addYieldHandler()Promise.prototype.spawnBugfixes:
process.version.indexOfFix active domain being lost across asynchronous boundaries in Node.JS 10.xx
Bugfixes:
Fix handled errors being reported
Bugfixes:
Node.js performance: promisified functions try to check amount of passed arguments in most optimal order
Features:
.length as the original function minus one (for the callback parameter)Possibly unhandled rejection handler will always get a stack trace, even if the rejection or thrown error was not an error
Features:
Bugfixes:
Bugfixes: - #93
Bugfixes:
Significantly improve performance of foreign bluebird thenables
Error objects that have property .isAsync = true will now be caught by .error()
Features:
.isAsync = true will now be caught by .error()Bugfixes:
new operator.filter, .map, and .reduce no longer skip sparse array holes. This is a backwards incompatible change.
Nothing published for this version
You may now return promises and thenables from the filterer function used in Promise.filter and Promise.prototype.filter.
Features:
You may now return promises and thenables from the filterer function used in Promise.filter and Promise.prototype.filter.
.error() now catches additional sources of rejections:
Rejections originating from Promise.reject
Rejections originating from thenables using
the reject callback
Rejections originating from promisified callbacks
which use the errback argument
Rejections originating from new Promise constructor
where the reject callback is called explicitly
Rejections originating from PromiseResolver where
.reject() method is called explicitly
Bugfixes:
captureStackTrace being called when it was nullPromise.map not unwrapping thenablesNothing published for this version
Improve performance of collection methods
Features:
Nothing published for this version
Fix Promise.some behavior with arguments like negative integers, 0...
Bugfixes:
Promise.some behavior with arguments like negative integers, 0...Improve performance of generators
Features:
Bugfixes:
Improve performance of all collection methods
Features:
Improve performance of promisified functions.
Features:
Bugfixes:
.finally() rejecting if passed non-function. It will now ignore non-functions like .then..finally() not converting thenables returned from the handler to promises..spread() now rejects if the ultimate value given to it is not spreadable.Promises are now not cancellable by default. This is backwards incompatible change - see `.cancellable()`
Features:
.bind() or cancellation..cancellable()Promise.delay.delay().timeout()Fix race condition when mixing 3rd party asynchrony.
Bugfixes:
Nothing published for this version
Fix another bug with progression.
Bugfixes:
Bugfixes: - Fix bug with progression.
Bugfixes:
Nothing published for this version
Fix .race() not propagating bound values.
Bugfixes:
.race() not propagating bound values.Improve performance of Promise.race
Features:
Promise.raceFixed Promise.promisifyAll invoking property accessors. Only data properties with function values are considered.
Bugfixes:
Promise.promisifyAll invoking property accessors. Only data properties with function values are considered.Disable long stack traces in browsers by default. Call Promise.longStackTraces() to enable them.
Features:
Promise.longStackTraces() to enable them.Fail early when new Promise is constructed incorrectly
Bugfixes:
new Promise is constructed incorrectlyPromise.props now takes a thenable-for-collection
Bugfixes:
All static collection methods take thenable-for-collection
Features:
throw TypeError when thenable resolves with itself
Features:
Promise.resolve and PromiseResolver.resolve follow thenables too.
Bugfixes:
Fix infinite loop when thenable resolves with itself
Bugfixes:
Fix a file missing from build. (Critical fix)
Bugfixes:
Remove dependency of es5-shim and es5-sham when using ES3.
Features:
Improve performance of Promise.method
Features:
Promise.methodRename PromiseResolver#asCallback to PromiseResolver#callback
Features:
Remove memoization of thenables
Features:
Add methods Promise.resolve(), Promise.reject(), Promise.defer() and .resolve().
Features:
Promise.resolve(), Promise.reject(), Promise.defer() and .resolve().Nothing published for this version
Fix promises being able to use themselves as resolution or follower value
Features:
Promise.method().return().throw()Bugfixes:
Implicit Promise.all() when yielding an array from generators
Features:
Promise.all() when yielding an array from generatorsFix .spread not unwrapping thenables
Bugfixes:
.spread not unwrapping thenablesCatch filter method calls showing in stack traces
Bugfixes:
Support primitives in catch filters
Bugfixes:
Features: - Add Promise.race() and .race()
Features:
Promise.race() and .race()Fix bug with Promise.try not unwrapping returned promises and thenables
Bugfixes:
Promise.try not unwrapping returned promises and thenablesFix bug with build files containing duplicated code for promise.js
Bugfixes:
Improve output of reporting unhandled non-errors
Features:
.error() methodAllow fresh copies of the library to be made
Features:
Nothing published for this version
Rollback non-working multiple fresh copies feature
Bugfixes:
Allow fresh copies of the library to be made
Features:
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →