desktop-app
desktop-app copied to clipboard
Bump async from 0.9.0 to 2.6.4
Bumps async from 0.9.0 to 2.6.4.
Release notes
Sourced from async's releases.
v2.3.0
- Added support for ES2017
async
functions. Wherever you can pass a Node-style/CPS function that uses a callback, you can also pass anasync
function. Previously, you had to wrapasync
functions withasyncify
. The caveat is that it will only work ifasync
functions are supported natively in your environment, transpiled implementations can't be detected. (#1386, #1390)v2.2.0
- Added
groupBy
, and theSeries
/Limit
equivalents, analogous to_.groupBy
(#1364)- Fixed
transform
bug whencallback
was not passed (#1381)v2.1.5
- Fix
auto
bug when function names collided with Array.prototype (#1358)- Improve some error messages (#1349)
- Avoid stack overflow case in queue
- Fixed an issue in
some
,every
andfind
where processing would continue after the result was determined.- Cleanup implementations of
some
,every
andfind
v2.1.3
- Make bundle size smaller
- Create optimized hotpath for
filter
in array case.v2.1.2
- Fixed a stackoverflow bug with
detect
,some
,every
on large inputs (#1293).v2.1.0
retry
andretryable
now support an optionalerrorFilter
function that determines if thetask
should retry on the error (#1256, #1261)- Optimized array iteration in
race
,cargo
,queue
, andpriorityQueue
(#1253)v2.0.0
Lots of changes here!
First and foremost, we have a slick new site for docs. Special thanks to
@hargasinski
for his work converting our old docs tojsdoc
format and implementing the new website. Also huge ups to@ivanseidel
for designing our new logo. It was a long process for both of these tasks, but I think these changes turned out extraordinary well.The biggest feature is modularization. You can now
require("async/series")
to only require theseries
function. Every Async library function is available this way. You still canrequire("async")
to require the entire library, like you could do before.We also provide Async as a collection of ES2015 modules. You can now
import {each} from 'async-es'
orimport waterfall from 'async-es/waterfall'
. If you are using only a few Async functions, and are using a ES bundler such as Rollup, this can significantly lower your build size.Major thanks to
@Kikobeats
,@aearly
and@megawac
for doing the majority of the modularization work, as well as@jdalton
and@Rich-Harris
for advisory work on the general modularization strategy.Another one of the general themes of the 2.0 release is standardization of what an "async" function is. We are now more strictly following the node-style continuation passing style. That is, an async function is a function that:
- Takes a variable number of arguments
- The last argument is always a callback
- The callback can accept any number of arguments
- The first argument passed to the callback will be treated as an error result, if the argument is truthy
- Any number of result arguments can be passed after the "error" argument
- The callback is called once and exactly once, either on the same tick or later tick of the JavaScript event loop.
There were several cases where Async accepted some functions that did not strictly have these properties, most notably
auto
,every
,some
, andfilter
.Another theme is performance. We have eliminated internal deferrals in all cases where they make sense. For example, in
waterfall
andauto
, there was asetImmediate
between each task -- these deferrals have been removed. AsetImmediate
call can add up to 1ms of delay. This might not seem like a lot, but it can add up if you are using many Async functions in the course of processing a HTTP request, for example. Nearly all asynchronous functions that do I/O already have some sort of deferral built in, so the extra deferral is unnecessary. The trade-off of this change is removing our built-in stack-overflow defense. Many synchronous callback calls in series can quickly overflow the JS call stack. If you do have a function that is sometimes synchronous (calling its callback on the same tick), and are running into stack overflows, wrap it withasync.ensureAsync()
.Another big performance win has been re-implementing
queue
,cargo
, andpriorityQueue
with doubly linked lists instead of arrays. This has lead to queues being an order of magnitude faster on large sets of tasks.
... (truncated)
Changelog
Sourced from async's changelog.
v2.6.4
- Fix potential prototype pollution exploit (#1828)
v2.6.3
- Updated lodash to squelch a security warning (#1675)
v2.6.2
- Updated lodash to squelch a security warning (#1620)
v2.6.1
- Updated lodash to prevent
npm audit
warnings. (#1532, #1533)- Made
async-es
more optimized for webpack users (#1517)- Fixed a stack overflow with large collections and a synchronous iterator (#1514)
- Various small fixes/chores (#1505, #1511, #1527, #1530)
v2.6.0
- Added missing aliases for many methods. Previously, you could not (e.g.)
require('async/find')
or useasync.anyLimit
. (#1483)- Improved
queue
performance. (#1448, #1454)- Add missing sourcemap (#1452, #1453)
- Various doc updates (#1448, #1471, #1483)
v2.5.0
- Added
concatLimit
, theLimit
equivalent ofconcat
(#1426, #1430)concat
improvements: it now preserves order, handles falsy values and theiteratee
callback takes a variable number of arguments (#1437, #1436)- Fixed an issue in
queue
where there was a size discrepancy betweenworkersList().length
andrunning()
(#1428, #1429)- Various doc fixes (#1422, #1424)
v2.4.1
v2.4.0
- Added
tryEach
, for running async functions in parallel, where you only expect one to succeed. (#1365, #687)- Improved performance, most notably in
parallel
andwaterfall
(#1395)- Added
queue.remove()
, for removing items in aqueue
(#1397, #1391)- Fixed using
eval
, preventing Async from running in pages with Content Security Policy (#1404, #1403)- Fixed errors thrown in an
asyncify
ed function's callback being caught by the underlying Promise (#1408)- Fixed timing of
queue.empty()
(#1367)- Various doc fixes (#1314, #1394, #1412)
v2.3.0
- Added support for ES2017
async
functions. Wherever you can pass a Node-style/CPS function that uses a callback, you can also pass anasync
function. Previously, you had to wrapasync
functions withasyncify
. The caveat is that it will only work ifasync
functions are supported natively in your environment, transpiled implementations can't be detected. (#1386, #1390)- Small doc fix (#1392)
v2.2.0
- Added
groupBy
, and theSeries
/Limit
equivalents, analogous to_.groupBy
(#1364)- Fixed
transform
bug whencallback
was not passed (#1381)- Added note about
reflect
toparallel
docs (#1385)v2.1.5
- Fix
auto
bug when function names collided with Array.prototype (#1358)
... (truncated)
Commits
c6bdaca
Version 2.6.48870da9
Update built files4df6754
update changelog8f7f903
Fix prototype pollution vulnerability (#1828)f1d8383
Version 2.6.32b674c1
update changelogeab740f
fix: udpate lodash. closes #1675eaf32be
Version 2.6.2684b42e
Update built filese1bd3da
update changelog- Additional commits viewable in compare view
Maintainer changes
This version was pushed to npm by hargasinski, a new releaser for async since your current version.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebase
will rebase this PR -
@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it -
@dependabot merge
will merge this PR after your CI passes on it -
@dependabot squash and merge
will squash and merge this PR after your CI passes on it -
@dependabot cancel merge
will cancel a previously requested merge and block automerging -
@dependabot reopen
will reopen this PR if it is closed -
@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) -
@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language -
@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language -
@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language -
@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.