Bugfixes:
Features:
Promise.prototype.tap()
Promise.coroutine.addYieldHandler()
Promise.prototype.spawn
Bugfixes:
process.version.indexOf
Bugfixes:
Bugfixes:
Bugfixes:
Promise.try
or Promise.method
without attaching further handlersFeatures:
.length
as the original function minus one (for the callback parameter)Features:
Bugfixes:
Bugfixes:
Features:
Bugfixes:
Features:
.isAsync = true
will now be caught by .error()
Bugfixes:
new
operatorFeatures:
.filter
, .map
, and .reduce
no longer skip sparse array holes. This is a backwards incompatible change..map
and .filter
, .reduce
now allows returning promises and thenables from the iteration function.Bugfixes:
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 null
Promise.map
not unwrapping thenablesFeatures:
Bugfixes:
Promise.some
behavior with arguments like negative integers, 0...Features:
Bugfixes:
Features:
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.Features:
.bind()
or cancellation..cancellable()
Promise.delay
.delay()
.timeout()
Bugfixes:
Bugfixes:
Bugfixes:
Bugfixes:
.race()
not propagating bound values.Features:
Promise.race
Bugfixes:
Promise.promisifyAll
invoking property accessors. Only data properties with function values are considered.Features:
Promise.longStackTraces()
to enable them.Bugfixes:
new Promise
is constructed incorrectlyBugfixes:
Features:
Features:
Bugfixes:
Bugfixes:
Bugfixes:
Features:
Features:
Promise.method
Features:
Features:
Features:
Promise.resolve()
, Promise.reject()
, Promise.defer()
and .resolve()
.Features:
Promise.method()
.return()
.throw()
Bugfixes:
Features:
Promise.all()
when yielding an array from generatorsBugfixes:
.spread
not unwrapping thenablesFeatures:
Bugfixes:
.error()
showing up in stack tracesBugfixes:
Bugfixes:
Features:
Promise.race()
and .race()
Bugfixes:
Promise.try
not unwrapping returned promises and thenablesBugfixes:
Features:
.error()
methodFeatures:
Bugfixes:
Features:
Features:
Bugfixes:
Features:
Promise.try
Promise.try
to accept arguments and ctx to make it more usable in promisification of synchronous functions.Features:
.bind
and Promise.bind
Bugfixes:
.some()
when argument is a pending promise that later resolves to an arrayFeatures:
Features:
Bugfixes:
Bugfixes:
Bugfixes:
Bugfixes:
Features:
require("bluebird/zalgo");
Bugfixes:
Features:
Promise.props()
and Promise.prototype.props()
. They work like .all()
for object properties.Bugfixes:
Features:
.reduce()
when initialValue
can be synchronously cast to a valueBugfixes:
Features:
.some()
Bugfixes:
new Function
, eval
etc) when strictly not necessary. Use feature detection to use static evaluation to avoid errors when dynamic evaluation is prohibited.Features:
.asCallback
property to PromiseResolver
sFeatures:
Bugfixes:
Bugfixes:
MutationObserver
as a schedulerBugfixes:
Features:
this
if no explicit receiver is givenError
object.Bugfixes:
Features:
Promise.promisify(Object target)
in favor of Promise.promisifyAll(Object target)
to avoid confusion with function objectsyielded
Features:
Features:
Bugfixes:
Features:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes:
Features:
Bugfixes: