All Versions
Latest Version
Avg Release Cycle
150 days
Latest Release
3406 days ago

Changelog History
Page 2

  • v1.1.0 Changes

    November 10, 2014
    • Adds support for enabling long stack traces in node.js by setting environment variable Q_DEBUG=1.
    • Introduces the tap method to promises, which will see a value pass through without alteration.
    • Use instanceof to recognize own promise instances as opposed to thenables.
    • Construct timeout errors with code === ETIMEDOUT (Kornel Lesiล„ski)
    • More descriminant CommonJS module environment detection.
    • Dropped continuous integration for Node.js 0.6 and 0.8 because of changes to npm that preclude the use of new ^ version predicate operator in any transitive dependency.
    • Users can now override Q.nextTick.
  • v1.0.1 Changes

    • Adds support for Q.Promise, which implements common usage of the ES6 Promise constructor and its methods. Promise does not have a valid promise constructor and a proper implementation awaits version 2 of Q.
    • Removes the console stopgap for a promise inspector. This no longer works with any degree of reliability.
    • Fixes support for content security policies that forbid eval. Now using the StopIteration global to distinguish SpiderMonkey generators from ES6 generators, assuming that they will never coexist.
  • v1.0.0 Changes

    ๐Ÿš€ :cake: This is all but a re-release of version 0.9, which has settled ๐Ÿšง into a gentle maintenance mode and rightly deserves an official 1.0. ๐Ÿš€ An ambitious 2.0 release is already around the corner, but 0.9/1.0 ๐Ÿ‘ have been distributed far and wide and demand long term support.

    • Q will now attempt to post a debug message in browsers regardless of whether window.Touch is defined. Chrome at least now has this property regardless of whether touch is supported by the underlying hardware.
    • Remove deprecation warning from promise.valueOf. The function is called by the browser in various ways so there is no way to distinguish usage that should be migrated from usage that cannot be altered.
  • v0.9.7 Changes

    • :warning: q.min.js is no longer checked-in. It is however still created by Grunt and NPM.
    • Fixes a bug that inhibited Q.async with implementations of the new ES6 generators.
    • Fixes a bug with nextTick affecting Safari 6.0.5 the first time a page loads when an iframe is involved.
    • Introduces passByCopy, join, and race.
    • Shows stack traces or error messages on the console, instead of Error objects.
    • Elimintates wrapper methods for improved performance.
    • Q.all now propagates progress notifications of the form you might expect of ES6 iterations, {value, index} where the value is the progress notification from the promise at index.
  • v0.9.6 Changes

    • Fixes a bug in recognizing the difference between compatible Q promises, and Q promises from before the implementation of "inspect". The latter are now coerced.
    • Fixes an infinite asynchronous coercion cycle introduced by former solution, in two independently sufficient ways. 1.) All promises returned by makePromise now implement "inspect", albeit a default that reports that the promise has an "unknown" state. 2.) The implementation of "then/when" is now in "then" instead of "when", so that the responsibility to "coerce" the given promise rests solely in the "when" method and the "then" method may assume that "this" is a promise of the right type.
    • Refactors nextTick to use an unrolled microtask within Q regardless of how new ticks a requested. #316 @rkatic
  • v0.9.5 Changes

    • Introduces inspect for getting the state of a promise as {state: "fulfilled" | "rejected" | "pending", value | reason}.
    • Introduces allSettled which produces an array of promises states for the input promises once they have all "settled". This is in accordance with a discussion on Promises/A+ that "settled" refers to a promise that is "fulfilled" or "rejected". "resolved" refers to a deferred promise that has been "resolved" to another promise, "sealing its fate" to the fate of the successor promise.
    • Long stack traces are now off by default. Set Q.longStackSupport to true to enable long stack traces.
    • Long stack traces can now follow the entire asynchronous history of a promise, not just a single jump.
    • Introduces spawn for an immediately invoked asychronous generator. @jlongster
    • Support for experimental synonyms mapply, mcall, nmapply, nmcall for method invocation.
  • v0.9.4 Changes

    • isPromise and isPromiseAlike now always returns a boolean (even for falsy values). #284 @lfac-pt
    • Support for ES6 Generators in async #288 @andywingo
    • Clear duplicate promise rejections from dispatch methods #238 @SLaks
    • Unhandled rejection API #296 @domenic stopUnhandledRejectionTracking, getUnhandledReasons, resetUnhandledRejections.
  • v0.9.3 Changes

    • Add the ability to give Q.timeout's errors a custom error message. #270 @jgrenon
    • Fix Q's call-stack busting behavior in Node.js 0.10, by switching from process.nextTick to setImmediate. #254 #259
    • Fix Q's behavior when used with the Mocha test runner in the browser, since Mocha introduces a fake process global without a nextTick property. #267
    • Fix some, but not all, cases wherein Q would give false positives in its unhandled rejection detection (#252). A fix for other cases (#238) is hopefully coming soon.
    • Made Q.promise throw early if given a non-function.
  • v0.9.2 Changes

    • Pass through progress notifications when using timeout. #229 @omares
    • Pass through progress notifications when using delay.
    • Fix nbind to actually bind the thisArg. #232 @davidpadbury
  • v0.9.1 Changes

    • Made the AMD detection compatible with the RequireJS optimizer's namespace option. #225 @terinjokes
    • Fix side effects from valueOf, and thus from isFulfilled, isRejected, and isPending. #226 @benjamn