Releases: petkaantonov/bluebird
Releases · petkaantonov/bluebird
v2.2.2
v2.2.1
- Fix multiline error messages only showing the first line
v2.2.0
Bugfixes:
.any
and.some
now consistently reject with RangeError when input array contains too few promises- Fix iteration bug with
.reduce
when input array contains already fulfilled promises
v2.1.3
v2.1.2
v2.1.0
Features:
- Add
promisifier
option toPromise.promisifyAll()
- Improve performance of
.props()
and collection methods when used with immediate values
Bugfixes:
- Fix a bug where .reduce calls the callback for an already visited item
- Fix a bug where stack trace limit is calculated to be too small, which resulted in too short stack traces
Add undocumented experimental yieldHandler
option to Promise.coroutine
v2.0.0
#What's new in 2.0
- Resource management - never leak resources again
- Promisification on steroids - entire modules can now be promisified with one line of code
.map()
,.each()
,.filter()
,.reduce()
reimagined from simple sugar to powerful concurrency coordination tools- API Documentation has been reorganized and more elaborate examples added
- Deprecated progression and deferreds
- Improved performance and readability
Features:
- Added
using()
anddisposer()
.map()
now calls the handler as soon as items in the input array become fulfilled- Added a concurrency option to
.map()
.filter()
now calls the handler as soon as items in the input array become fulfilled- Added a concurrency option to
.filter()
.reduce()
now calls the handler as soon as items in the input array become fulfilled, but in-order- Added
.each()
Promise.resolve()
behaves likePromise.cast
.Promise.cast
deprecated.- Synchronous inspection: Removed
.inspect()
, added.value()
and.reason()
Promise.join()
now takes a function as the last argument- Added
Promise.setScheduler()
.cancel()
supports a custom cancellation reason.timeout()
now cancels the promise instead of rejecting it.nodeify()
now supports passing multiple success results when mapping promises to nodebacks- Added
suffix
andfilter
options toPromise.promisifyAll()
Breaking changes:
- Sparse array holes are not skipped by collection methods but treated as existing elements with
undefined
value .map()
and.filter()
do not call the given mapper or filterer function in any specific order- Removed the
.inspect()
method - Yielding an array from a coroutine is not supported by default. You can use
coroutine.addYieldHandler()
to configure the old behavior (or any behavior you want). .any()
and.some()
no longer use an array as the rejection reason.AggregateError
is used instead.
v1.2.4
Bugfixes:
- Fix promisifyAll causing a syntax error when a method name is not a valid identifier
- Fix syntax error when es5.js is used in strict mode
v1.2.3
v1.2.2
Bugfixes:
- Promisified methods from promisifyAll no longer call the original method when it is overriden
- Nodeify doesn't pass second argument to the callback if the promise is fulfilled with
undefined