Future Backward Incompatible
def
will be removed. Use master
instead. The term def
was too confusing to new users.enqueue
will be removed. Use nextTick
instead. This is more consistent with NodeJS and (subjectively) more explicit and intuitive.0.7.2
0.7.1
Array.prototype.reduce
. The enumerable property has bad side-effects. Libraries that depend on this (for example, QQ) will need to be revised.0.7.0 - BACKWARD INCOMPATIBILITY
report
and asap
callback
argument of the fin
function no longer receives any arguments. Thus, it can be used to call functions that should not receive arguments on resolution. Use when
, then
, or fail
if you need a value.MessageChannel
for nextTick
.enqueue
to nextTick
.view
and viewInfo
for creating views of promises either when or before they're fulfilled.0.6.0 - BACKWARD INCOMPATIBILITY
spy
and the name fin
were useful. I've removed the old fin
implementation and renamed/aliased spy
.ref
function as a “Q” constructor, with module systems that support exports assignment including NodeJS, RequireJS, and when used as a <script>
tag. Notably, strictly compliant CommonJS does not support this, but UncommonJS does.async
decorator for generators that use yield to “trampoline” promises. In engines that support generators (SpiderMonkey), this will greatly reduce the need for nested callbacks.when
chainable.all
chainable.0.5.3
all
and refactored join
and wait
to use it. All of these will now reject at the earliest rejection.0.5.2
spy
; now waits for resolution of callback promise.0.5.1
join
, wait
, and report
into Q API methods.apply
and call
to the Q API, and apply
as a promise handler.fail
, fin
, and spy
to Q and the promise prototype for convenience when observing rejection, fulfillment and rejection, or just observing without affecting the resolution.def
(although def
remains shimmed until the next major release) to master
.MessageChannel
for next tick task enqueue in browsers that support it.0.5.0 - MINOR BACKWARD INCOMPATIBILITY
error
from the API. Since exceptions are getting consumed, throwing them in an errback causes the exception to silently disappear. Use end
.end
as both an API method and a promise-chain ending method. It causes propagated rejections to be thrown, which allows Node to write stack traces and emit uncaughtException
events, and browsers to likewise emit onerror
and log to the console.join
and wait
as promise chain functions, so you can wait for variadic promises, returning your own promise back, or join variadic promises, resolving with a callback that receives variadic fulfillment values.0.4.4
end
no longer returns a promise. It is the end of the promise chain.when
callbacks and errbacks. These must be explicitly reported through .end()
, .then(null, Q.error)
, or some other mechanism.report
as an API method, which can be used as an errback to report and propagate an error.report
as a promise-chain method, so an error can be reported if it passes such a gate.0.4.3
<script>
support that regressed with 0.4.2 because of “use strict” in the module system multi-plexer.0.4.2
0.4.1
0.4.0 - BACKWARD INCOMPATIBLE*
0.3.0 - BACKWARD-INCOMPATIBLE
post
method has been reverted to its original signature, as provided in Tyler Close's ref_send
API. That is, post
accepts two arguments, the second of which is an arbitrary object, but usually invocation arguments as an Array
. To provide variadic arguments to post
, there is a new invoke
function that posts the variadic arguments to the value given in the first argument.defined
method has been moved from q
to q/util
since it gets no use in practice but is still theoretically useful.Promise
constructor has been renamed to makePromise
to be consistent with the convention that functions that do not require the new
keyword to be used as constructors have camelCase names.isResolved
function has been renamed to isFulfilled
. There is a new isResolved
function that indicates whether a value is not a promise or, if it is a promise, whether it has been either fulfilled or rejected. The code has been revised to reflect this nuance in terminology.0.2.10
join
to "q/util"
for variadically joining multiple promises.0.2.9
invoke
method has been added, to replace post
, since post
will become backward- incompatible in the next major release.when
call are now emitted to Node's "uncaughtException"
process
event in addition to being returned as a rejection reason.0.2.8
when
call are now consumed, warned, and transformed into rejections of the promise returned by when
.0.2.7
deep
method on dates and other primitives. Github issue #11.0.2.6
makePromise
, to replace the Promise
function eventually.makePromise
API such that the fallback
method no longer receives a superfluous resolved
method after the operator
. The fallback method is responsible only for returning a resolution. This breaks an undocumented API, so third-party API's depending on the previous undocumented behavior may break.0.2.5
promiseSend(op, resolved, ...)
method and valueOf
”.0.2.4
ref
that prevented del
messages from being received (gozala)0.2.3
keys
message to promises and to the promise API.0.2.2
q/queue
and q/util
.q/queue
.0.2.1
resolve
and reject
methods of defer
objects now return the resolution promise for convenience.q/util
, which provides step
, delay
, shallow
, deep
, and three reduction orders.q/queue
module for a promise Queue
.q-comm
to the list of compatible libraries.defined
from q
, with intent to move it to q/util
.0.2.0 - BACKWARD INCOMPATIBLE
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.0
0.0.3
0.0.2
0.0.1