"consructor" as an argument in memoize (#998)auto dependency checking fails (#994)pause in queue with concurrency enabled (#946)while and until now pass the final result to callback (#963)auto will properly handle concurrency when there is no callback (#966)auto will now properly stop execution when an error occurs (#988, #993)transform, analogous to _.transform (#892)map now returns an object when an object is passed in, rather than array with non-numeric keys. map will begin always returning an array with numeric indexes in the next major release. (#873)auto now accepts an optional concurrency argument to limit the number of running tasks (#637)queue#workersList(), to retrieve the list of currently running tasks. (#891)detectLimit method (#866)asyncify now supports promises (#840)Limit versions of filter and reject (#836)Limit versions of detect, some and every (#828, #829)some, every and detect now short circuit early (#828, #829)whilst now called with arguments from iterator (#823)during now gets called with arguments from iterator (#824)New Features:
constantasyncify/wrapSync for making sync functions work with callbacks. (#671, #806)during and doDuring, which are like whilst with an async truth test. (#800)retry now accepts an interval parameter to specify a delay between retries. (#793)async should work better in Web Workers due to better root detection (#804)whilst, doWhilst, until, and doUntil (#642)Bug Fixes:
cargo now exposes the payload size, and cargo.payload can be changed on the fly after the cargo is created. (#740, #744, #783)Bug Fix:
eachSeries with a 1-element array. Before 1.1.0, eachSeries's callback was called on the same tick, which this patch restores. In 2.0.0, it will be called on the next tick. (#782)New Features:
timesLimit (#743)concurrency can be changed after initialization in queue by setting q.concurrency. The new concurrency will be reflected the next time a task is processed. (#747, #772)Bug Fixes:
each and family with empty arrays that have additional properties. (#775, #777)Bug Fix:
eachSeries with a 1-element array. Before 1.1.0, eachSeries's callback was called on the same tick, which this patch restores. In 2.0.0, it will be called on the next tick. (#782)New Features:
cargo now supports all of the same methods and event callbacks as queue.ensureAsync - A wrapper that ensures an async function calls its callback on a later tick. (#769)map, eachOf, and waterfall families of functionsnull or undefined array to map, each, parallel and families will be treated as an empty array (#667).compose and seq. (#618)nyc and coveralls (#768)Bug Fixes:
forever will no longer stack overflow with a synchronous iterator (#622)eachLimit and other limit functions will stop iterating once an error occurs (#754)null in callbacks when there is no error (#439)drain() after pushing an empty data set to a queue (#668)each and family will properly handle an empty array (#578)eachSeries and family will finish if the underlying array is modified during execution (#557)queue will throw if a non-function is passed to q.push() (#593)No known breaking changes, we are simply complying with semver from here on out.
Changes:
forEachOf for iterating over Objects (or to iterate Arrays with indexes available) (#168 #704 #321)auto (#663)0 (#714)queue.resume() (#758)setImmediate (#609 #611)_each, _map and _keys functions.