Async version 3.1.1 represents a minor update to the popular asynchronous JavaScript utility library, building upon version 3.1.0. Both versions share the same core purpose: providing higher-order functions and common patterns to simplify asynchronous JavaScript code. Developers familiar with async's capabilities, such as managing parallel operations, controlling execution order, and handling collections asynchronously, will find a familiar landscape in these releases.
A crucial difference lies in the updated development dependencies. Version 3.1.1 features upgrades to several testing and linting tools, notably nyc (from ^11.8.0 to ^14.1.1) and eslint (^4.19.1 to ^6.0.1) along with a variety of other updated packages related to testing, browser support, and code transpilation. Most of the updated packages are dev dependencies. These updates likely indicate improvements in code quality, security, and compatibility testing, ensuring a more robust and reliable library. Developers integrating async into their projects can benefit from these advancements through better static analysis from modern eslint and improved code coverage metrics. The update to babel-plugin-istanbul from v2.0.1 to v5.1.4 signals a significant upgrade related to generating Istanbul code coverage reports during testing as well. The releaseDate is also a relevant difference. Version 3.1.1 was released in January 2020 while v3.1.0 was released in June 2019. This indicates a more updated codebase and potentially better support.
Existing users should review the changelog for detailed information about specific bug fixes and improvements. Generally, upgrading from 3.1.0 to 3.1.1 should present minimal disruption and will bring the advantage of a refined development environment and potentially increased stability.
All the vulnerabilities related to the version 3.1.1 of the package
Prototype Pollution in async
A vulnerability exists in Async through 3.2.1 for 3.x and through 2.6.3 for 2.x (fixed in 3.2.2 and 2.6.4), which could let a malicious user obtain privileges via the mapValues()
method.