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
Fix settlePromises using trampoline
Bugfixes:
Fix Chrome DevTools async stack traceability (#542).
Bugfixes:
One column per quarter.
Features: - Use setImmediate if available
Features:
Added .asCallback alias for .nodeify.
Always use process.nextTick. Fixes #525
Bugfixes:
Fix .each, .filter, .reduce and .map callbacks being called synchornously if the input is immediate.
Bugfixes:
Fix memory leak introduced in 2.9.0
Bugfixes:
Bugfixes: - Fix #503
Bugfixes:
Bugfixes: - Fix #501
Bugfixes:
Fix TypeError: Cannot assign to read only property 'length' when jsdom has declared a read-only length for all objects to inherit.
Bugfixes:
TypeError: Cannot assign to read only property 'length' when jsdom has declared a read-only length for all objects to inherit.Fix regression introduced in 2.9.7 where promisify didn't properly dynamically look up methods on this
Bugfixes:
thisFix promisify not retaining custom properties of the function. This enables promisifying the "request" module's export function and its methods at the
Bugfixes:
promisify not retaining custom properties of the function. This enables promisifying the "request" module's export function and its methods at the same time.promisifyAll methods being dependent on this when they are not originally dependent on this. This enables e.g. passing promisified fs functions directly as callbacks without having to bind them to fs.process.nextTick being used over setImmediate in node.Node environment detection can no longer be fooled
Bugfixes:
Warn when `.then()` is passed non-functions
Misc:
.then() is passed non-functionsFix .timeout() not calling clearTimeout with the proper handle in node causing the process to wait for unneeded timeout. This was a regression introdu
Bugfixes:
clearTimeout with the proper handle in node causing the process to wait for unneeded timeout. This was a regression introduced in 2.9.1.Fix node-webkit compatibility issue
Bugfixes:
Fix critical bug regarding to using promisifyAll in browser that was introduced in 2.9.0 (#466).
Bugfixes:
Misc:
"browser" entry point to package.jsonIf a bound promise is returned by the callback to `Promise.method` and `Promise.try`, the returned promise will be bound to the same value
Features:
Promise.method and Promise.try, the returned promise will be bound to the same valueAdd new paramter value for `Promise.bind`
Features:
Promise.fromNodevalue for Promise.bindBugfixes:
cancellation and .bind() interoperation when thisArg is a promise or thenabledisposers not having proper long stack trace contextPromise.join sometimes passing the passed in callback function as the last argument to itself.Misc:
Global rejection events are now fired both as DOM3 events and as legacy events in browsers
Features:
Fix long stack trace stiching consistency when rejected from thenables
Bugfixes:
Major debuggability improvements:
Features:
Features:
Bugfixes: - Fix #447
Bugfixes:
Added more context to stack traces originating from coroutines
Features:
passesDefaultFilter booleanBugfixes:
.noConflict() call signature (#446)Promise.methodified functions being called with undefined when they were called with no argumentsOperationalErrors thrown by promisified functions retain custom properties, such as .code and .path.
Bugfixes:
OperationalErrors thrown by promisified functions retain custom properties, such as .code and .path.Bugfixes: - Fix #429 - Fix #432 - Fix #433
Bugfixes: - Fix #426
Bugfixes:
Fixed built browser files not being included in the git tag release for bower
Bugfixes:
Significantly improve parallel promise performance and memory usage (+50% faster, -50% less memory)
Features:
Nothing published for this version
Fix bug where already resolved promise gets attached more handlers while calling its handlers resulting in some handlers not being called
Bugfixes:
Object.create(null) as a rejection reason would crash bluebirdFix .finally throwing null error when it is derived from a promise that is resolved with a promise that is resolved with a promise
Bugfixes:
.finally throwing null error when it is derived from a promise that is resolved with a promise that is resolved with a promise`.get` now supports negative indexing.
Features:
.get now supports negative indexing.Bugfixes:
Promise.method wrapped function returning a promise that never resolves if the function returns a promise that is resolved with another promisePromise.delay never resolving if the value is a promise that is resolved with another promiseFix memory leak as described in this Promises/A+ spec issue.
Bugfixes:
Fix bug where spread rejected handler is ignored in case of rejection
Bugfixes:
setScheduler causing infinite loopError messages now have links to wiki pages for additional information
Features:
Better filtering of bluebird internal calls in long stack traces, especially when using minified file in browsers
Features:
console.warn for errors that are thrown in the process/window from rejected .done() promises. See #411Bugfixes: - Fix #371, #373
Promise.method no longer wraps primitive errors
Features:
Promise.method no longer wraps primitive errorsPromise.try no longer wraps primitive errorsNothing published for this version
Features: - Implement `.reflect()`
Features:
.reflect()Fix issue when promisifying methods whose names contain the string 'args'
Bugfixes:
P alias was not declared inside WebWorkers
P alias was not declared inside WebWorkersBugfixes: - Fix #318, #314
P alias for Promise now exists in global scope when using browser builds without a module loader, fixing an issue with firefox extensions
Bugfixes:
P alias for Promise now exists in global scope when using browser builds without a module loader, fixing an issue with firefox extensions.using can now be used with disposers created from different bluebird copy
Features:
.using can now be used with disposers created from different bluebird copy`.bind()` and `Promise.bind()` now await for the resolution of the thisArg if it's a promise or a thenable
Features:
.bind() and Promise.bind() now await for the resolution of the thisArg if it's a promise or a thenableBugfixes:
- Fix #259
Fix multiline error messages only showing the first line
.any and .some now consistently reject with RangeError when input array contains too few promises
Bugfixes:
.any and .some now consistently reject with RangeError when input array contains too few promises.reduce when input array contains already fulfilled promisesBugfixes: - Fix #235
Bugfixes:
Bugfixes: - Fix #232
Bugfixes:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Fix promisifyAll causing a syntax error when a method name is not a valid identifier
Bugfixes:
Your coding agent can read these notes before it upgrades. Set up the MCP server →