You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CHANGELOG.md 5.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. # v1.5.2
  2. - Allow using `"consructor"` as an argument in `memoize` (#998)
  3. - Give a better error messsage when `auto` dependency checking fails (#994)
  4. - Various doc updates (#936, #956, #979, #1002)
  5. # v1.5.1
  6. - Fix issue with `pause` in `queue` with concurrency enabled (#946)
  7. - `while` and `until` now pass the final result to callback (#963)
  8. - `auto` will properly handle concurrency when there is no callback (#966)
  9. - `auto` will now properly stop execution when an error occurs (#988, #993)
  10. - Various doc fixes (#971, #980)
  11. # v1.5.0
  12. - Added `transform`, analogous to [`_.transform`](http://lodash.com/docs#transform) (#892)
  13. - `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)
  14. - `auto` now accepts an optional `concurrency` argument to limit the number of running tasks (#637)
  15. - Added `queue#workersList()`, to retrieve the list of currently running tasks. (#891)
  16. - Various code simplifications (#896, #904)
  17. - Various doc fixes :scroll: (#890, #894, #903, #905, #912)
  18. # v1.4.2
  19. - Ensure coverage files don't get published on npm (#879)
  20. # v1.4.1
  21. - Add in overlooked `detectLimit` method (#866)
  22. - Removed unnecessary files from npm releases (#861)
  23. - Removed usage of a reserved word to prevent :boom: in older environments (#870)
  24. # v1.4.0
  25. - `asyncify` now supports promises (#840)
  26. - Added `Limit` versions of `filter` and `reject` (#836)
  27. - Add `Limit` versions of `detect`, `some` and `every` (#828, #829)
  28. - `some`, `every` and `detect` now short circuit early (#828, #829)
  29. - Improve detection of the global object (#804), enabling use in WebWorkers
  30. - `whilst` now called with arguments from iterator (#823)
  31. - `during` now gets called with arguments from iterator (#824)
  32. - Code simplifications and optimizations aplenty ([diff](https://github.com/caolan/async/compare/v1.3.0...v1.4.0))
  33. # v1.3.0
  34. New Features:
  35. - Added `constant`
  36. - Added `asyncify`/`wrapSync` for making sync functions work with callbacks. (#671, #806)
  37. - Added `during` and `doDuring`, which are like `whilst` with an async truth test. (#800)
  38. - `retry` now accepts an `interval` parameter to specify a delay between retries. (#793)
  39. - `async` should work better in Web Workers due to better `root` detection (#804)
  40. - Callbacks are now optional in `whilst`, `doWhilst`, `until`, and `doUntil` (#642)
  41. - Various internal updates (#786, #801, #802, #803)
  42. - Various doc fixes (#790, #794)
  43. Bug Fixes:
  44. - `cargo` now exposes the `payload` size, and `cargo.payload` can be changed on the fly after the `cargo` is created. (#740, #744, #783)
  45. # v1.2.1
  46. Bug Fix:
  47. - Small regression with synchronous iterator behavior in `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)
  48. # v1.2.0
  49. New Features:
  50. - Added `timesLimit` (#743)
  51. - `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)
  52. Bug Fixes:
  53. - Fixed a regression in `each` and family with empty arrays that have additional properties. (#775, #777)
  54. # v1.1.1
  55. Bug Fix:
  56. - Small regression with synchronous iterator behavior in `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)
  57. # v1.1.0
  58. New Features:
  59. - `cargo` now supports all of the same methods and event callbacks as `queue`.
  60. - Added `ensureAsync` - A wrapper that ensures an async function calls its callback on a later tick. (#769)
  61. - Optimized `map`, `eachOf`, and `waterfall` families of functions
  62. - Passing a `null` or `undefined` array to `map`, `each`, `parallel` and families will be treated as an empty array (#667).
  63. - The callback is now optional for the composed results of `compose` and `seq`. (#618)
  64. - Reduced file size by 4kb, (minified version by 1kb)
  65. - Added code coverage through `nyc` and `coveralls` (#768)
  66. Bug Fixes:
  67. - `forever` will no longer stack overflow with a synchronous iterator (#622)
  68. - `eachLimit` and other limit functions will stop iterating once an error occurs (#754)
  69. - Always pass `null` in callbacks when there is no error (#439)
  70. - Ensure proper conditions when calling `drain()` after pushing an empty data set to a queue (#668)
  71. - `each` and family will properly handle an empty array (#578)
  72. - `eachSeries` and family will finish if the underlying array is modified during execution (#557)
  73. - `queue` will throw if a non-function is passed to `q.push()` (#593)
  74. - Doc fixes (#629, #766)
  75. # v1.0.0
  76. No known breaking changes, we are simply complying with semver from here on out.
  77. Changes:
  78. - Start using a changelog!
  79. - Add `forEachOf` for iterating over Objects (or to iterate Arrays with indexes available) (#168 #704 #321)
  80. - Detect deadlocks in `auto` (#663)
  81. - Better support for require.js (#527)
  82. - Throw if queue created with concurrency `0` (#714)
  83. - Fix unneeded iteration in `queue.resume()` (#758)
  84. - Guard against timer mocking overriding `setImmediate` (#609 #611)
  85. - Miscellaneous doc fixes (#542 #596 #615 #628 #631 #690 #729)
  86. - Use single noop function internally (#546)
  87. - Optimize internal `_each`, `_map` and `_keys` functions.