Skip to content

Releases: cujojs/when

3.4.3: Simplify some internals

05 Aug 14:05
Compare
Choose a tag to compare
  • Improve internal error handling for predicate catch
  • Simplify core promise internals and reduce code size

3.4.2: Minor unhandled rejection fix

21 Jul 14:24
Compare
Choose a tag to compare

3.4.1: promise.finally bug fix

19 Jul 00:27
Compare
Choose a tag to compare

3.4.0: Add when.filter

15 Jul 14:08
Compare
Choose a tag to compare
  • New when.filter for filtering arrays of promises.
  • when.map and when.filter now provide the array index as the second param to their mapping and filtering functions.
  • when/keys.map now provides the associated key to its mapping function.
  • Smaller ES6 shim.

3.3.1: Bug fix for when/node

03 Jul 02:37
Compare
Choose a tag to compare
  • Fix argument ordering bug in when/node introduced in 3.3.0.

3.3.0: Improved races

02 Jul 13:21
Compare
Choose a tag to compare
  • Promote when.race to public API.
  • when.any and when.some now reject with a RangeError if the race is obviously unwinnable, for example: when.some([1,2,3], 4). See the when.any and when.some docs for more info.

3.2.3 Improved unhandled rejection reporting

06 Jun 14:25
Compare
Choose a tag to compare
  • Updated Debugging Promises docs.
  • Report when previously unhandled rejections become handled, with an ID to correlate the two messages.
  • Improve unhandled rejection reporting for cases where multiple different promise implementations interleave.

3.2.2

25 May 18:50
Compare
Choose a tag to compare
  • More mem and perf improvements
  • Improvements to unhandled rejection reporting

3.2.1

20 May 02:04
Compare
Choose a tag to compare
  • Minor mem and perf tweaks for when.all
  • Defend against JSON.stringify exceptions when formatting unhandled rejection output.

3.2.0

15 May 15:38
Compare
Choose a tag to compare
  • Potentially unhandled rejections are now logged to console.error by default, even without using done or when/monitor/console. As before, enabling when/monitor/console still adds long async stack traces, and using done still makes errors fatal. See Debugging Promises for more info.
  • promise.timeout now rejects with a TimeoutError by default (unless you specify a custom reason) for better pattern matching with promise.catch.
  • Performance improvements across the board, especially to when.all (and Promise.all in the ES6-shim) and node.lift: lifted functions and lift_ing_ are faster now.
  • New promise.fold for combining two promises to generate a new promise.
  • Deprecated:
    • Using when/node.lift, when/function.lift, and when/callbacks.lift to provide partial arguments
    • promise.then's 3rd argument, and when()'s 4th argument. Use the dedicated promise.progress API to listen to promise progress events.
    • when.some. See #288
    • when/callbacks.promisify See #318