
\begin{DoxyItemize}
\item Address an issue that prevented Q from being used as a {\ttfamily $<$script$>$} for Firefox add-\/ons. Q can now be used in any environment that provides {\ttfamily window} or {\ttfamily self} globals, favoring {\ttfamily window} since add-\/ons have an an immutable {\ttfamily self} that is distinct from {\ttfamily window}.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22862}{}\doxysection{1.\+4.\+0}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22862}

\begin{DoxyItemize}
\item Add {\ttfamily no\+Conflict} support for use in {\ttfamily $<$script$>$} (@jahnjw).
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22863}{}\doxysection{1.\+3.\+0}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22863}

\begin{DoxyItemize}
\item Add tracking for unhandled and handled rejections in Node.\+js (@benjamingr).
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22864}{}\doxysection{1.\+2.\+1}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22864}

\begin{DoxyItemize}
\item Fix Node.\+js environment detection for modern Browserify (@kahnjw).
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22865}{}\doxysection{1.\+2.\+0}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22865}

\begin{DoxyItemize}
\item Added Q.\+any(promises\+Array) method (@vergara). Returns a promise fulfilled with the value of the first resolved promise in promises\+Array. If all promises in promises\+Array are rejected, it returns a rejected promise.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22866}{}\doxysection{1.\+1.\+2}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22866}

\begin{DoxyItemize}
\item Removed extraneous files from the npm package by using the \char`\"{}files\char`\"{} whitelist in package.\+json instead of the .npmignore blacklist. (@anton-\/rudeshko)
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22867}{}\doxysection{1.\+1.\+1}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22867}

\begin{DoxyItemize}
\item Fix a pair of regressions in bootstrapping, one which precluded Web\+Worker support, and another that precluded support in {\ttfamily $<$script$>$} usage outright. \#607
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22868}{}\doxysection{1.\+1.\+0}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22868}

\begin{DoxyItemize}
\item Adds support for enabling long stack traces in node.\+js by setting environment variable {\ttfamily Q\+\_\+\+DEBUG=1}.
\item Introduces the {\ttfamily tap} method to promises, which will see a value pass through without alteration.
\item Use instanceof to recognize own promise instances as opposed to thenables.
\item Construct timeout errors with {\ttfamily code === ETIMEDOUT} (Kornel Lesiński)
\item More descriminant Common\+JS module environment detection.
\item Dropped continuous integration for Node.\+js 0.\+6 and 0.\+8 because of changes to npm that preclude the use of new {\ttfamily $^\wedge$} version predicate operator in any transitive dependency.
\item Users can now override {\ttfamily Q.\+next\+Tick}.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22869}{}\doxysection{1.\+0.\+1}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22869}

\begin{DoxyItemize}
\item Adds support for {\ttfamily Q.\+Promise}, which implements common usage of the ES6 {\ttfamily Promise} constructor and its methods. {\ttfamily Promise} does not have a valid promise constructor and a proper implementation awaits version 2 of Q.
\item Removes the console stopgap for a promise inspector. This no longer works with any degree of reliability.
\item Fixes support for content security policies that forbid eval. Now using the {\ttfamily Stop\+Iteration} global to distinguish Spider\+Monkey generators from ES6 generators, assuming that they will never coexist.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22870}{}\doxysection{1.\+0.\+0}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22870}
\+: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.


\begin{DoxyItemize}
\item 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.
\item Remove deprecation warning from {\ttfamily promise.\+value\+Of}. 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.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22871}{}\doxysection{0.\+9.\+7}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22871}

\begin{DoxyItemize}
\item \+:warning\+: {\ttfamily q.\+min.\+js} is no longer checked-\/in. It is however still created by Grunt and NPM.
\item Fixes a bug that inhibited {\ttfamily Q.\+async} with implementations of the new ES6 generators.
\item Fixes a bug with {\ttfamily next\+Tick} affecting Safari 6.\+0.\+5 the first time a page loads when an {\ttfamily iframe} is involved.
\item Introduces {\ttfamily pass\+By\+Copy}, {\ttfamily join}, and {\ttfamily race}.
\item Shows stack traces or error messages on the console, instead of {\ttfamily Error} objects.
\item Elimintates wrapper methods for improved performance.
\item {\ttfamily Q.\+all} now propagates progress notifications of the form you might expect of ES6 iterations, {\ttfamily \{value, index\}} where the {\ttfamily value} is the progress notification from the promise at {\ttfamily index}.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22872}{}\doxysection{0.\+9.\+6}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22872}

\begin{DoxyItemize}
\item Fixes a bug in recognizing the difference between compatible Q promises, and Q promises from before the implementation of \char`\"{}inspect\char`\"{}. The latter are now coerced.
\item Fixes an infinite asynchronous coercion cycle introduced by former solution, in two independently sufficient ways. 1.) All promises returned by make\+Promise now implement \char`\"{}inspect\char`\"{}, albeit a default that reports that the promise has an \char`\"{}unknown\char`\"{} state. 2.) The implementation of \char`\"{}then/when\char`\"{} is now in \char`\"{}then\char`\"{} instead of \char`\"{}when\char`\"{}, so that the responsibility to \char`\"{}coerce\char`\"{} the given promise rests solely in the \char`\"{}when\char`\"{} method and the \char`\"{}then\char`\"{} method may assume that \char`\"{}this\char`\"{} is a promise of the right type.
\item Refactors {\ttfamily next\+Tick} to use an unrolled microtask within Q regardless of how new ticks a requested. \#316 @rkatic
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22873}{}\doxysection{0.\+9.\+5}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22873}

\begin{DoxyItemize}
\item Introduces {\ttfamily inspect} for getting the state of a promise as {\ttfamily \{state\+: \char`\"{}fulfilled\char`\"{} $\vert$ \char`\"{}rejected\char`\"{} $\vert$ \char`\"{}pending\char`\"{}, value $\vert$ reason\}}.
\item Introduces {\ttfamily all\+Settled} which produces an array of promises states for the input promises once they have all \char`\"{}settled\char`\"{}. This is in accordance with a discussion on Promises/\+A+ that \char`\"{}settled\char`\"{} refers to a promise that is \char`\"{}fulfilled\char`\"{} or \char`\"{}rejected\char`\"{}. \char`\"{}resolved\char`\"{} refers to a deferred promise that has been \char`\"{}resolved\char`\"{} to another promise, \char`\"{}sealing its fate\char`\"{} to the fate of the successor promise.
\item Long stack traces are now off by default. Set {\ttfamily Q.\+long\+Stack\+Support} to true to enable long stack traces.
\item Long stack traces can now follow the entire asynchronous history of a promise, not just a single jump.
\item Introduces {\ttfamily spawn} for an immediately invoked asychronous generator. @jlongster
\item Support for {\itshape experimental} synonyms {\ttfamily mapply}, {\ttfamily mcall}, {\ttfamily nmapply}, {\ttfamily nmcall} for method invocation.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22874}{}\doxysection{0.\+9.\+4}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22874}

\begin{DoxyItemize}
\item {\ttfamily is\+Promise} and {\ttfamily is\+Promise\+Alike} now always returns a boolean (even for falsy values). \#284 @lfac-\/pt
\item Support for ES6 Generators in {\ttfamily async} \#288 @andywingo
\item Clear duplicate promise rejections from dispatch methods \#238 @\+SLaks
\item Unhandled rejection API \#296 @domenic {\ttfamily stop\+Unhandled\+Rejection\+Tracking}, {\ttfamily get\+Unhandled\+Reasons}, {\ttfamily reset\+Unhandled\+Rejections}.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22875}{}\doxysection{0.\+9.\+3}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22875}

\begin{DoxyItemize}
\item Add the ability to give {\ttfamily Q.\+timeout}\textquotesingle{}s errors a custom error message. \#270 @jgrenon
\item Fix Q\textquotesingle{}s call-\/stack busting behavior in Node.\+js 0.\+10, by switching from {\ttfamily process.\+next\+Tick} to {\ttfamily set\+Immediate}. \#254 \#259
\item Fix Q\textquotesingle{}s behavior when used with the Mocha test runner in the browser, since Mocha introduces a fake {\ttfamily process} global without a {\ttfamily next\+Tick} property. \#267
\item 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.
\item Made {\ttfamily Q.\+promise} throw early if given a non-\/function.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22876}{}\doxysection{0.\+9.\+2}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22876}

\begin{DoxyItemize}
\item Pass through progress notifications when using {\ttfamily timeout}. \#229 @omares
\item Pass through progress notifications when using {\ttfamily delay}.
\item Fix {\ttfamily nbind} to actually bind the {\ttfamily this\+Arg}. \#232 @davidpadbury
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22877}{}\doxysection{0.\+9.\+1}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22877}

\begin{DoxyItemize}
\item Made the AMD detection compatible with the Require\+JS optimizer\textquotesingle{}s {\ttfamily namespace} option. \#225 @terinjokes
\item Fix side effects from {\ttfamily value\+Of}, and thus from {\ttfamily is\+Fulfilled}, {\ttfamily is\+Rejected}, and {\ttfamily is\+Pending}. \#226 @benjamn
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22878}{}\doxysection{0.\+9.\+0}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22878}
This release removes many layers of deprecated methods and brings Q closer to alignment with Mark Miller’s TC39 \href{http://wiki.ecmascript.org/doku.php?id=strawman:concurrency}{\texttt{ strawman}} for concurrency. At the same time, it fixes many bugs and adds a few features around error handling. Finally, it comes with an updated and comprehensive \href{https://github.com/kriskowal/q/wiki/API-Reference}{\texttt{ API Reference}}.\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22879}{}\doxysubsection{API Cleanup}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22879}
The following deprecated or undocumented methods have been removed. Their replacements are listed here\+:

\tabulinesep=1mm
\begin{longtabu}spread 0pt [c]{*{0}{|X[-1]}|}
\hline
\end{longtabu}


0.\+8.\+x method 

0.\+9 replacement  $<$/thead$>$ $<$tbody$>$ 

{\ttfamily Q.\+ref} 

{\ttfamily Q}  

{\ttfamily call}, {\ttfamily apply}, {\ttfamily bind} ($\ast$) 

{\ttfamily fcall}/{\ttfamily invoke}, {\ttfamily fapply}/{\ttfamily post}, {\ttfamily fbind}  

{\ttfamily ncall}, {\ttfamily napply} ($\ast$) 

{\ttfamily nfcall}/{\ttfamily ninvoke}, {\ttfamily nfapply}/{\ttfamily npost}  

{\ttfamily end} 

{\ttfamily done}  

{\ttfamily put} 

{\ttfamily set}  

{\ttfamily node} 

{\ttfamily nbind}  

{\ttfamily nend} 

{\ttfamily nodeify}  

{\ttfamily is\+Resolved} 

{\ttfamily is\+Pending}  

{\ttfamily deferred.\+node} 

{\ttfamily deferred.\+make\+Node\+Resolver}  

{\ttfamily Method}, {\ttfamily sender} 

{\ttfamily dispatcher}  

{\ttfamily send} 

{\ttfamily dispatch}  

{\ttfamily view}, {\ttfamily view\+Info} 

(none)  $<$/tbody$>$ 

($\ast$) Use of {\ttfamily thisp} is discouraged. For calling methods, use {\ttfamily post} or {\ttfamily invoke}.\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22880}{}\doxysubsection{Alignment with the Concurrency Strawman}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22880}

\begin{DoxyItemize}
\item Q now exports a {\ttfamily Q(value)} function, an alias for {\ttfamily resolve}. {\ttfamily Q.\+call}, {\ttfamily Q.\+apply}, and {\ttfamily Q.\+bind} were removed to make room for the same methods on the function prototype.
\item {\ttfamily invoke} has been aliased to {\ttfamily send} in all its forms.
\item {\ttfamily post} with no method name acts like {\ttfamily fapply}.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22881}{}\doxysubsection{Error Handling}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22881}

\begin{DoxyItemize}
\item Long stack traces can be turned off by setting {\ttfamily Q.\+stack\+Jump\+Limit} to zero. In the future, this property will be used to fine tune how many stack jumps are retained in long stack traces; for now, anything nonzero is treated as one (since Q only tracks one stack jump at the moment, see \#144). \#168
\item In Node.\+js, if there are unhandled rejections when the process exits, they are output to the console. \#115
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22882}{}\doxysubsection{Other}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22882}

\begin{DoxyItemize}
\item {\ttfamily delete} and {\ttfamily set} (née {\ttfamily put}) no longer have a fulfillment value.
\item Q promises are no longer frozen, which \href{http://code.google.com/p/v8/issues/detail?id=1858}{\texttt{ helps with performance}}.
\item {\ttfamily then\+Reject} is now included, as a counterpart to {\ttfamily then\+Resolve}.
\item The included browser {\ttfamily next\+Tick} shim is now faster. \#195 @rkatic.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22883}{}\doxysubsection{Bug Fixes}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22883}

\begin{DoxyItemize}
\item Q now works in Internet Explorer 10. \#186 @\+Forbes\+Lindesay
\item {\ttfamily fbind} no longer hard-\/binds the returned function\textquotesingle{}s {\ttfamily this} to {\ttfamily undefined}. \#202
\item {\ttfamily Q.\+reject} no longer leaks memory. \#148
\item {\ttfamily npost} with no arguments now works. \#207
\item {\ttfamily all\+Resolved} now works with non-\/Q promises (\char`\"{}thenables\char`\"{}). \#179
\item {\ttfamily keys} behavior is now correct even in browsers without native {\ttfamily Object.\+keys}. \#192 @rkatic
\item {\ttfamily is\+Rejected} and the {\ttfamily exception} property now work correctly if the rejection reason is falsy. \#198
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22884}{}\doxysubsection{Internals and Advanced}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22884}

\begin{DoxyItemize}
\item The internal interface for a promise now uses {\ttfamily dispatch\+Promise(resolve, op, operands)} instead of {\ttfamily send\+Promise(op, resolve, ...operands)}, which reduces the cases where Q needs to do argument slicing.
\item The internal protocol uses different operands. \char`\"{}put\char`\"{} is now \char`\"{}set\char`\"{}. \char`\"{}del\char`\"{} is now \char`\"{}delete\char`\"{}. \char`\"{}view\char`\"{} and \char`\"{}view\+Info\char`\"{} have been removed.
\item {\ttfamily Q.\+fulfill} has been added. It is distinct from {\ttfamily Q.\+resolve} in that it does not pass promises through, nor coerces promises from other systems. The promise becomes the fulfillment value. This is only recommended for use when trying to fulfill a promise with an object that has a {\ttfamily then} function that is at the same time not a promise.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22885}{}\doxysection{0.\+8.\+12}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22885}

\begin{DoxyItemize}
\item Treat foreign promises as unresolved in {\ttfamily Q.\+is\+Fulfilled}; this lets {\ttfamily Q.\+all} work on arrays containing foreign promises. \#154
\item Fix minor incompliances with the \href{http://promises-aplus.github.com/promises-spec/}{\texttt{ Promises/\+A+ spec}} and \href{https://github.com/promises-aplus/promises-tests}{\texttt{ test suite}}. \#157 \#158
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22886}{}\doxysection{0.\+8.\+11}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22886}

\begin{DoxyItemize}
\item Added {\ttfamily nfcall}, {\ttfamily nfapply}, and {\ttfamily nfbind} as {\ttfamily thisp}-\/less versions of {\ttfamily ncall}, {\ttfamily napply}, and {\ttfamily nbind}. The latter are now deprecated. \#142
\item Long stack traces no longer cause linearly-\/growing memory usage when chaining promises together. \#111
\item Inspecting {\ttfamily error.\+stack} in a rejection handler will now give a long stack trace. \#103
\item Fixed {\ttfamily Q.\+timeout} to clear its timeout handle when the promise is rejected; previously, it kept the event loop alive until the timeout period expired. \#145 @dfilatov
\item Added {\ttfamily q/queue} module, which exports an infinite promise queue constructor.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22887}{}\doxysection{0.\+8.\+10}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22887}

\begin{DoxyItemize}
\item Added {\ttfamily done} as a replacement for {\ttfamily end}, taking the usual fulfillment, rejection, and progress handlers. It\textquotesingle{}s essentially equivalent to {\ttfamily then(f, r, p).end()}.
\item Added {\ttfamily Q.\+onerror}, a settable error trap that you can use to get full stack traces for uncaught errors. \#94
\item Added {\ttfamily then\+Resolve} as a shortcut for returning a constant value once a promise is fulfilled. \#108 @\+Forbes\+Lindesay
\item Various tweaks to progress notification, including propagation and transformation of progress values and only forwarding a single progress object.
\item Renamed {\ttfamily nend} to {\ttfamily nodeify}. It no longer returns an always-\/fulfilled promise when a Node callback is passed.
\item {\ttfamily deferred.\+resolve} and {\ttfamily deferred.\+reject} no longer (sometimes) return {\ttfamily deferred.\+promise}.
\item Fixed stack traces getting mangled if they hit {\ttfamily end} twice. \#116 \#121 @ef4
\item Fixed {\ttfamily ninvoke} and {\ttfamily npost} to work on promises for objects with Node methods. \#134
\item Fixed accidental coercion of objects with nontrivial {\ttfamily value\+Of} methods, like {\ttfamily Date}s, by the promise\textquotesingle{}s {\ttfamily value\+Of} method. \#135
\item Fixed {\ttfamily spread} not calling the passed rejection handler if given a rejected promise.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22888}{}\doxysection{0.\+8.\+9}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22888}

\begin{DoxyItemize}
\item Added {\ttfamily nend}
\item Added preliminary progress notification support, via {\ttfamily promise.\+then(on\+Fulfilled, on\+Rejected, on\+Progress)}, {\ttfamily promise.\+progress(on\+Progress)}, and {\ttfamily deferred.\+notify(...\+progress\+Data)}.
\item Made {\ttfamily put} and {\ttfamily del} return the object acted upon for easier chaining. \#84
\item Fixed coercion cycles with cooperating promises. \#106
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22889}{}\doxysection{0.\+8.\+7}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22889}

\begin{DoxyItemize}
\item Support \href{http://github.com/kriskowal/mr}{\texttt{ Montage Require}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22890}{}\doxysection{0.\+8.\+6}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22890}

\begin{DoxyItemize}
\item Fixed {\ttfamily npost} and {\ttfamily ninvoke} to pass the correct {\ttfamily thisp}. \#74
\item Fixed various cases involving unorthodox rejection reasons. \#73 \#90 @ef4
\item Fixed double-\/resolving of misbehaved custom promises. \#75
\item Sped up {\ttfamily Q.\+all} for arrays contain already-\/resolved promises or scalar values. @\+Forbes\+Lindesay
\item Made stack trace filtering work when concatenating assets. \#93 @ef4
\item Added warnings for deprecated methods. @\+Forbes\+Lindesay
\item Added {\ttfamily .npmignore} file so that dependent packages get a slimmer {\ttfamily node\+\_\+modules} directory.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22891}{}\doxysection{0.\+8.\+5}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22891}

\begin{DoxyItemize}
\item Added preliminary support for long traces (@domenic)
\item Added {\ttfamily fapply}, {\ttfamily fcall}, {\ttfamily fbind} for non-\/thisp promised function calls.
\item Added {\ttfamily return} for async generators, where generators are implemented.
\item Rejected promises now have an \char`\"{}exception\char`\"{} property. If an object is\+Rejected(object), then object.\+value\+Of().exception will be the wrapped error.
\item Added Jasmine specifications
\item Support Internet Explorers 7–9 (with multiple bug fixes @domenic)
\item Support Firefox 12
\item Support Safari 5.\+1.\+5
\item Support Chrome 18
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22892}{}\doxysection{0.\+8.\+4}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22892}

\begin{DoxyItemize}
\item WARNING\+: {\ttfamily promise.\+timeout} is now rejected with an {\ttfamily Error} object and the message now includes the duration of the timeout in miliseconds. This doesn\textquotesingle{}t constitute (in my opinion) a backward-\/incompatibility since it is a change of an undocumented and unspecified public behavior, but if you happened to depend on the exception being a string, you will need to revise your code.
\item Added {\ttfamily deferred.\+make\+Node\+Resolver()} to replace the more cryptic {\ttfamily deferred.\+node()} method.
\item Added experimental {\ttfamily Q.\+promise(maker(resolve, reject))} to make a promise inside a callback, such that thrown exceptions in the callback are converted and the resolver and rejecter are arguments. This is a shorthand for making a deferred directly and inspired by @gozala’s stream constructor pattern and the Microsoft Windows Metro Promise constructor interface.
\item Added experimental {\ttfamily Q.\+begin()} that is intended to kick off chains of {\ttfamily .then} so that each of these can be reordered without having to edit the new and former first step.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22893}{}\doxysection{0.\+8.\+3}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22893}

\begin{DoxyItemize}
\item Added {\ttfamily is\+Fulfilled}, {\ttfamily is\+Rejected}, and {\ttfamily is\+Resolved} to the promise prototype.
\item Added {\ttfamily all\+Resolved} for waiting for every promise to either be fulfilled or rejected, without propagating an error. @utvara \#53
\item Added {\ttfamily Q.\+bind} as a method to transform functions that return and throw into promise-\/returning functions. See \href{https://gist.github.com/1782808}{\texttt{ an example}}. @domenic
\item Renamed {\ttfamily node} export to {\ttfamily nbind}, and added {\ttfamily napply} to complete the set. {\ttfamily node} remains as deprecated. @domenic \#58
\item Renamed {\ttfamily Method} export to {\ttfamily sender}. {\ttfamily Method} remains as deprecated and will be removed in the next major version since I expect it has very little usage.
\item Added browser console message indicating a live list of unhandled errors.
\item Added support for {\ttfamily ms\+Set\+Immediate} (IE10) or {\ttfamily set\+Immediate} (available via \href{https://github.com/NobleJS/setImmediate}{\texttt{ polyfill}}) as a browser-\/side {\ttfamily next\+Tick} implementation. \#44 \#50 \#59
\item Stopped using the event-\/queue dependency, which was in place for Narwhal support\+: now directly using {\ttfamily process.\+next\+Tick}.
\item WARNING\+: EXPERIMENTAL\+: added {\ttfamily finally} alias for {\ttfamily fin}, {\ttfamily catch} alias for {\ttfamily fail}, {\ttfamily try} alias for {\ttfamily call}, and {\ttfamily delete} alias for {\ttfamily del}. These properties are enquoted in the library for cross-\/browser compatibility, but may be used as property names in modern engines.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22894}{}\doxysection{0.\+8.\+2}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22894}

\begin{DoxyItemize}
\item Deprecated {\ttfamily ref} in favor of {\ttfamily resolve} as recommended by @domenic.
\item Update event-\/queue dependency.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22895}{}\doxysection{0.\+8.\+1}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22895}

\begin{DoxyItemize}
\item Fixed Opera bug. \#35 @cadorn
\item Fixed {\ttfamily Q.\+all(\mbox{[}$\,$\mbox{]})} \#32 @domenic
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22896}{}\doxysection{0.\+8.\+0}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22896}

\begin{DoxyItemize}
\item WARNING\+: {\ttfamily enqueue} removed. Use {\ttfamily next\+Tick} instead. This is more consistent with Node\+JS and (subjectively) more explicit and intuitive.
\item WARNING\+: {\ttfamily def} removed. Use {\ttfamily master} instead. The term {\ttfamily def} was too confusing to new users.
\item WARNING\+: {\ttfamily spy} removed in favor of {\ttfamily fin}.
\item WARNING\+: {\ttfamily wait} removed. Do {\ttfamily all(args).get(0)} instead.
\item WARNING\+: {\ttfamily join} removed. Do {\ttfamily all(args).spread(callback)} instead.
\item WARNING\+: Removed the {\ttfamily Q} function module.\+exports alias for {\ttfamily Q.\+ref}. It conflicts with {\ttfamily Q.\+apply} in weird ways, making it uncallable.
\item Revised {\ttfamily delay} so that it accepts both {\ttfamily (value, timeout)} and {\ttfamily (timeout)} variations based on arguments length.
\item Added {\ttfamily ref().spread(cb(...\+args))}, a variant of {\ttfamily then} that spreads an array across multiple arguments. Useful with {\ttfamily all()}.
\item Added {\ttfamily defer().node()} Node callback generator. The callback accepts {\ttfamily (error, value)} or {\ttfamily (error, ...values)}. For multiple value arguments, the fulfillment value is an array, useful in conjunction with {\ttfamily spread}.
\item Added {\ttfamily node} and {\ttfamily ncall}, both with the signature {\ttfamily (fun, thisp\+\_\+opt, ...args)}. The former is a decorator and the latter calls immediately. {\ttfamily node} optional binds and partially applies. {\ttfamily ncall} can bind and pass arguments.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22897}{}\doxysection{0.\+7.\+2}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22897}

\begin{DoxyItemize}
\item Fixed thenable promise assimilation.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22898}{}\doxysection{0.\+7.\+1}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22898}

\begin{DoxyItemize}
\item Stopped shimming {\ttfamily Array.\+prototype.\+reduce}. The enumerable property has bad side-\/effects. Libraries that depend on this (for example, QQ) will need to be revised.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22899}{}\doxysection{0.\+7.\+0 -\/ BACKWARD INCOMPATIBILITY}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22899}

\begin{DoxyItemize}
\item WARNING\+: Removed {\ttfamily report} and {\ttfamily asap}
\item WARNING\+: The {\ttfamily callback} argument of the {\ttfamily fin} function no longer receives any arguments. Thus, it can be used to call functions that should not receive arguments on resolution. Use {\ttfamily when}, {\ttfamily then}, or {\ttfamily fail} if you need a value.
\item IMPORTANT\+: Fixed a bug in the use of {\ttfamily Message\+Channel} for {\ttfamily next\+Tick}.
\item Renamed {\ttfamily enqueue} to {\ttfamily next\+Tick}.
\item Added experimental {\ttfamily view} and {\ttfamily view\+Info} for creating views of promises either when or before they\textquotesingle{}re fulfilled.
\item Shims are now externally applied so subsequent scripts or dependees can use them.
\item Improved minification results.
\item Improved readability.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22900}{}\doxysection{0.\+6.\+0 -\/ BACKWARD INCOMPATIBILITY}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22900}

\begin{DoxyItemize}
\item WARNING\+: In practice, the implementation of {\ttfamily spy} and the name {\ttfamily fin} were useful. I\textquotesingle{}ve removed the old {\ttfamily fin} implementation and renamed/aliased {\ttfamily spy}.
\item The \char`\"{}q\char`\"{} module now exports its {\ttfamily ref} function as a \char`\"{}\+Q\char`\"{} constructor, with module systems that support exports assignment including Node\+JS, Require\+JS, and when used as a {\ttfamily $<$script$>$} tag. Notably, strictly compliant Common\+JS does not support this, but Uncommon\+JS does.
\item Added {\ttfamily async} decorator for generators that use yield to \char`\"{}trampoline\char`\"{} promises. In engines that support generators (Spider\+Monkey), this will greatly reduce the need for nested callbacks.
\item Made {\ttfamily when} chainable.
\item Made {\ttfamily all} chainable.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22901}{}\doxysection{0.\+5.\+3}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22901}

\begin{DoxyItemize}
\item Added {\ttfamily all} and refactored {\ttfamily join} and {\ttfamily wait} to use it. All of these will now reject at the earliest rejection.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22902}{}\doxysection{0.\+5.\+2}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22902}

\begin{DoxyItemize}
\item Minor improvement to {\ttfamily spy}; now waits for resolution of callback promise.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22903}{}\doxysection{0.\+5.\+1}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22903}

\begin{DoxyItemize}
\item Made most Q API methods chainable on promise objects, and turned the previous promise-\/methods of {\ttfamily join}, {\ttfamily wait}, and {\ttfamily report} into Q API methods.
\item Added {\ttfamily apply} and {\ttfamily call} to the Q API, and {\ttfamily apply} as a promise handler.
\item Added {\ttfamily fail}, {\ttfamily fin}, and {\ttfamily spy} to Q and the promise prototype for convenience when observing rejection, fulfillment and rejection, or just observing without affecting the resolution.
\item Renamed {\ttfamily def} (although {\ttfamily def} remains shimmed until the next major release) to {\ttfamily master}.
\item Switched to using {\ttfamily Message\+Channel} for next tick task enqueue in browsers that support it.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22904}{}\doxysection{0.\+5.\+0 -\/ MINOR BACKWARD INCOMPATIBILITY}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22904}

\begin{DoxyItemize}
\item Exceptions are no longer reported when consumed.
\item Removed {\ttfamily error} from the API. Since exceptions are getting consumed, throwing them in an errback causes the exception to silently disappear. Use {\ttfamily end}.
\item Added {\ttfamily 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 {\ttfamily uncaught\+Exception} events, and browsers to likewise emit {\ttfamily onerror} and log to the console.
\item Added {\ttfamily join} and {\ttfamily 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.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22905}{}\doxysection{0.\+4.\+4}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22905}

\begin{DoxyItemize}
\item {\ttfamily end} no longer returns a promise. It is the end of the promise chain.
\item Stopped reporting thrown exceptions in {\ttfamily when} callbacks and errbacks. These must be explicitly reported through {\ttfamily .end()}, {\ttfamily .then(null, Q.\+error)}, or some other mechanism.
\item Added {\ttfamily report} as an API method, which can be used as an errback to report and propagate an error.
\item Added {\ttfamily report} as a promise-\/chain method, so an error can be reported if it passes such a gate.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22906}{}\doxysection{0.\+4.\+3}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22906}

\begin{DoxyItemize}
\item Fixed {\ttfamily $<$script$>$} support that regressed with 0.\+4.\+2 because of \char`\"{}use strict\char`\"{} in the module system multi-\/plexer.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22907}{}\doxysection{0.\+4.\+2}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22907}

\begin{DoxyItemize}
\item Added support for Require\+JS (jburke)
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22908}{}\doxysection{0.\+4.\+1}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22908}

\begin{DoxyItemize}
\item Added an \char`\"{}end\char`\"{} method to the promise prototype, as a shorthand for waiting for the promise to be resolved gracefully, and failing to do so, to dump an error message.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22909}{}\doxysection{0.\+4.\+0 -\/ BACKWARD INCOMPATIBLE$\ast$}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22909}

\begin{DoxyItemize}
\item $\ast$\+Removed the utility modules. NPM and Node no longer expose any module except the main module. These have been moved and merged into the \char`\"{}qq\char`\"{} package.
\item $\ast$\+In a non-\/\+Common\+JS browser, q.\+js can be used as a script. It now creates a Q global variable.
\item Fixed thenable assimilation.
\item Fixed some issues with asap, when it resolves to undefined, or throws an exception.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22910}{}\doxysection{0.\+3.\+0 -\/ BACKWARD-\/\+INCOMPATIBLE}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22910}

\begin{DoxyItemize}
\item The {\ttfamily post} method has been reverted to its original signature, as provided in Tyler Close\textquotesingle{}s {\ttfamily ref\+\_\+send} API. That is, {\ttfamily post} accepts two arguments, the second of which is an arbitrary object, but usually invocation arguments as an {\ttfamily Array}. To provide variadic arguments to {\ttfamily post}, there is a new {\ttfamily invoke} function that posts the variadic arguments to the value given in the first argument.
\item The {\ttfamily defined} method has been moved from {\ttfamily q} to {\ttfamily q/util} since it gets no use in practice but is still theoretically useful.
\item The {\ttfamily Promise} constructor has been renamed to {\ttfamily make\+Promise} to be consistent with the convention that functions that do not require the {\ttfamily new} keyword to be used as constructors have camel\+Case names.
\item The {\ttfamily is\+Resolved} function has been renamed to {\ttfamily is\+Fulfilled}. There is a new {\ttfamily is\+Resolved} 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.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22911}{}\doxysection{0.\+2.\+10}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22911}

\begin{DoxyItemize}
\item Added {\ttfamily join} to {\ttfamily \char`\"{}q/util\char`\"{}} for variadically joining multiple promises.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22912}{}\doxysection{0.\+2.\+9}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22912}

\begin{DoxyItemize}
\item The future-\/compatible {\ttfamily invoke} method has been added, to replace {\ttfamily post}, since {\ttfamily post} will become backward-\/ incompatible in the next major release.
\item Exceptions thrown in the callbacks of a {\ttfamily when} call are now emitted to Node\textquotesingle{}s {\ttfamily \char`\"{}uncaught\+Exception\char`\"{}} {\ttfamily process} event in addition to being returned as a rejection reason.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22913}{}\doxysection{0.\+2.\+8}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22913}

\begin{DoxyItemize}
\item Exceptions thrown in the callbacks of a {\ttfamily when} call are now consumed, warned, and transformed into rejections of the promise returned by {\ttfamily when}.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22914}{}\doxysection{0.\+2.\+7}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22914}

\begin{DoxyItemize}
\item Fixed a minor bug in thenable assimilation, regressed because of the change in the forwarding protocol.
\item Fixed behavior of \char`\"{}q/util\char`\"{} {\ttfamily deep} method on dates and other primitives. Github issue \#11.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22915}{}\doxysection{0.\+2.\+6}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22915}

\begin{DoxyItemize}
\item Thenables (objects with a \char`\"{}then\char`\"{} method) are accepted and provided, bringing this implementation of Q into conformance with Promises/A, B, and D.
\item Added {\ttfamily make\+Promise}, to replace the {\ttfamily Promise} function eventually.
\item Rejections are now also duck-\/typed. A rejection is a promise with a value\+Of method that returns a rejection descriptor. A rejection descriptor has a \char`\"{}promise\+Rejected\char`\"{} property equal to \char`\"{}true\char`\"{} and a \char`\"{}reason\char`\"{} property corresponding to the rejection reason.
\item Altered the {\ttfamily make\+Promise} API such that the {\ttfamily fallback} method no longer receives a superfluous {\ttfamily resolved} method after the {\ttfamily operator}. The fallback method is responsible only for returning a resolution. This breaks an undocumented API, so third-\/party API\textquotesingle{}s depending on the previous undocumented behavior may break.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22916}{}\doxysection{0.\+2.\+5}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22916}

\begin{DoxyItemize}
\item Changed promises into a duck-\/type such that multiple instances of the Q module can exchange promise objects. A promise is now defined as \char`\"{}an object that implements the    \`{}promise\+Send(op, resolved, ...)\`{} method and \`{}value\+Of\`{}\char`\"{}.
\item Exceptions in promises are now captured and returned as rejections.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22917}{}\doxysection{0.\+2.\+4}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22917}

\begin{DoxyItemize}
\item Fixed bug in {\ttfamily ref} that prevented {\ttfamily del} messages from being received (gozala)
\item Fixed a conflict with Fire\+Fox 4; constructor property is now read-\/only.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22918}{}\doxysection{0.\+2.\+3}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22918}

\begin{DoxyItemize}
\item Added {\ttfamily keys} message to promises and to the promise API.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22919}{}\doxysection{0.\+2.\+2}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22919}

\begin{DoxyItemize}
\item Added boilerplate to {\ttfamily q/queue} and {\ttfamily q/util}.
\item Fixed missing dependency to {\ttfamily q/queue}.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22920}{}\doxysection{0.\+2.\+1}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22920}

\begin{DoxyItemize}
\item The {\ttfamily resolve} and {\ttfamily reject} methods of {\ttfamily defer} objects now return the resolution promise for convenience.
\item Added {\ttfamily q/util}, which provides {\ttfamily step}, {\ttfamily delay}, {\ttfamily shallow}, {\ttfamily deep}, and three reduction orders.
\item Added {\ttfamily q/queue} module for a promise {\ttfamily Queue}.
\item Added {\ttfamily q-\/comm} to the list of compatible libraries.
\item Deprecated {\ttfamily defined} from {\ttfamily q}, with intent to move it to {\ttfamily q/util}.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22921}{}\doxysection{0.\+2.\+0 -\/ BACKWARD INCOMPATIBLE}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22921}

\begin{DoxyItemize}
\item Changed post(ref, name, args) to variadic post(ref, name, ...\+args). BACKWARD INCOMPATIBLE
\item Added a def(value) method to annotate an object as being necessarily a local value that cannot be serialized, such that inter-\/process/worker/vat promise communication libraries will send messages to it, but never send it back.
\item Added a send(value, op, ...\+args) method to the public API, for forwarding messages to a value or promise in a future turn.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22922}{}\doxysection{0.\+1.\+9}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22922}

\begin{DoxyItemize}
\item Added is\+Rejected() for testing whether a value is a rejected promise. is\+Resolved() retains the behavior of stating that rejected promises are not resolved.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22923}{}\doxysection{0.\+1.\+8}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22923}

\begin{DoxyItemize}
\item Fixed is\+Resolved(null) and is\+Resolved(undefined) \mbox{[}issue \#9\mbox{]}
\item Fixed a problem with the Object.\+create shim
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22924}{}\doxysection{0.\+1.\+7}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22924}

\begin{DoxyItemize}
\item shimmed ES5 Object.\+create in addition to Object.\+freeze for compatibility on non-\/\+ES5 engines (gozala)
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22925}{}\doxysection{0.\+1.\+6}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22925}

\begin{DoxyItemize}
\item Q.\+is\+Resolved added
\item promise.\+value\+Of() now returns the value of resolved and near values
\item asap retried
\item promises are frozen when possible
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22926}{}\doxysection{0.\+1.\+5}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22926}

\begin{DoxyItemize}
\item fixed dependency list for Teleport (gozala)
\item all unit tests now pass (gozala)
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22927}{}\doxysection{0.\+1.\+4}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22927}

\begin{DoxyItemize}
\item added support for Teleport as an engine (gozala)
\item simplified and updated methods for getting internal print and enqueue functions universally (gozala)
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22928}{}\doxysection{0.\+1.\+3}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22928}

\begin{DoxyItemize}
\item fixed erroneous link to the q module in package.\+json
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22929}{}\doxysection{0.\+1.\+2}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22929}

\begin{DoxyItemize}
\item restructured for overlay style package compatibility
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22930}{}\doxysection{0.\+1.\+0}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22930}

\begin{DoxyItemize}
\item removed asap because it was broken, probably down to the philosophy.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22931}{}\doxysection{0.\+0.\+3}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22931}

\begin{DoxyItemize}
\item removed q-\/util
\item fixed asap so it returns a value if completed
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22932}{}\doxysection{0.\+0.\+2}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22932}

\begin{DoxyItemize}
\item added q-\/util
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22933}{}\doxysection{0.\+0.\+1}\label{md_sfcode_node_modules_protractor_node_modules_q_CHANGES_autotoc_md22933}

\begin{DoxyItemize}
\item initial version 
\end{DoxyItemize}