Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix --inspect and its ilk; closes #3681 #3699

Merged
merged 4 commits into from Feb 8, 2019

Conversation

Projects
None yet
5 participants
@boneskull
Copy link
Member

commented Jan 28, 2019

this is rebased onto the branch from #3698 and thus depends on it.

This seems to make --inspect work properly with or without a parameter (--inspect=0.0.0.0:12345). The = is required, as it's required by node.

In v6 of Node, --debug --port=12345 should also work as expected.

UPDATE #3698 was merged

@boneskull boneskull added this to the v6.0.0 milestone Jan 28, 2019

@boneskull boneskull self-assigned this Jan 28, 2019

@boneskull boneskull requested review from outsideris and juergba Jan 28, 2019

@boneskull boneskull force-pushed the boneskull/issue/3681 branch from 0abb65f to 94fc7b7 Jan 28, 2019

@coveralls

This comment has been minimized.

Copy link

commented Jan 28, 2019

Coverage Status

Coverage increased (+0.04%) to 91.543% when pulling 79b5f09 on boneskull/issue/3681 into 52b9a5f on master.

@boneskull boneskull force-pushed the boneskull/issue/3681 branch from 94fc7b7 to a1c50ad Jan 29, 2019

@outsideris
Copy link
Member

left a comment

It works well.

Show resolved Hide resolved package.json Outdated
Show resolved Hide resolved lib/cli/node-flags.js
Show resolved Hide resolved test/integration/options/debug.spec.js

@boneskull boneskull force-pushed the boneskull/issue/3681 branch 4 times, most recently from 8d06106 to 0e20087 Jan 29, 2019

@boneskull

This comment has been minimized.

Copy link
Member Author

commented Jan 30, 2019

normal boolean node flags also are subject to the positional argument munching problem, so I'll need to fix those, e.g., mocha --prof foo.js thinks the value of prof is foo. we need to assume all node flags are boolean unless we know otherwise.

@juergba

This comment has been minimized.

Copy link
Member

commented Jan 30, 2019

Maybe the "=" could be used in the parser to be more specific.
mocha --prof foo.js the value of prof would be the default.
mocha --prof=foo.js the value of prof would be the foo.js.

Yes, backwards compability. timeout 5000 => timeout=5000
But v6 could be a good occasion to change that. And Node seems to parse that way (see f.e. --inspect[=[host:]port]).

Yargs has a method .NARGS(KEY, COUNT) The number of arguments that should be consumed after a key. It doesn't really help, it's like declaring the option as boolean.

I need more time for reviewing this PR.

@juergba

This comment has been minimized.

Copy link
Member

commented Jan 30, 2019

My solution would be:

  • Define all options that way they don't consume any subsequent parameter as value:
    • by typing them as boolean
    • or by using nargs( key, 0) (influences dynamically created --help)
  • define default values, f.e. boolean=true
  • to assign a value in CL, the "=" has to be used

The handling of all flags - Mocha and Node - is consistent, all require nothing or "=".

--inspect ok, works
--inspect=0.0.0.0:12345 ok, works
--inspect 0.0.0.0:12345 no, does not work

@boneskull

This comment has been minimized.

Copy link
Member Author

commented Jan 30, 2019

yargs-parser (which we're consuming directly) has no option which requires = (though they could add one), which means we won't be able to easily restrict this. That said...

But v6 could be a good occasion to change that. And Node seems to parse that way (see f.e. --inspect[=[host:]port]).

IMO...

This ("yargs-parser is confused" or "node.js does it this way") is a poor reason to break backwards compatibility.

Breaking backwards compat for such a widely-used API should be a last resort. We're not automatically justified in breaking anything just because it's a major version bump.

Other projects may have the luxury of issuing frequent breaking changes, or have the resources to provide migration scripts, but Mocha is the most widely-depended-on package on npm--our justifications need to be solid. For more unpopular APIs, it's easier to make that justification.

(It would be helpful to provide some information on API maturity. APIs marked "experimental" would be subject to breaking changes; "stable" APIs will likely never change, etc.)

Obviously I'm still trying to get this one working as intended.

AFAICT nargs: 0 doesn't actually do anything.

@boneskull boneskull force-pushed the boneskull/issue/3681 branch from 0e20087 to d6f5dba Jan 30, 2019

const flag = pair[0].replace(/^--?/, '');
if (isNodeFlag(flag)) {
return arg.includes('=')
? acc.concat([[flag, pair[1]]])

This comment has been minimized.

Copy link
@boneskull

boneskull Jan 30, 2019

Author Member

(sic)

This comment has been minimized.

Copy link
@boneskull

boneskull Jan 30, 2019

Author Member

we save ALL found node args here so we can use them in the boolean array below.
the values are saved as whatever they are; if there is no value (e.g., --inspect), then the value is saved as true, which is what yargs-unparser understands.

@boneskull boneskull force-pushed the boneskull/issue/3681 branch from d6f5dba to 4a4f348 Jan 30, 2019

@boneskull

This comment has been minimized.

Copy link
Member Author

commented Jan 30, 2019

OK, the tests pass in Node v8+ anyway. and I can do stuff like mocha --v8-prof some-test.js to output a profile log. 👍

@boneskull boneskull force-pushed the boneskull/issue/3681 branch from 4a4f348 to 233eba9 Jan 31, 2019

@boneskull

This comment has been minimized.

Copy link
Member Author

commented Jan 31, 2019

just going to skip windows tests for now, because the behavior upon SIGINT differs (the child process doesn't return an exit code OR any output, afaik). I'm not knowledgeable enough about windows processes to know how to address this myself. maybe @juergba can take a look at some point.

@boneskull

This comment has been minimized.

Copy link
Member Author

commented Jan 31, 2019

I did naively test this on a windows machine, and it works, it's just that it cannot be tested the same way.

@boneskull

This comment has been minimized.

Copy link
Member Author

commented Jan 31, 2019

@juergba Please complete a review if/when you are satisfied

@juergba

This comment has been minimized.

Copy link
Member

commented Jan 31, 2019

I did some quick tests and have found some issues:

  • there is no error when using non-existent options
    (you could add synonyms for uppercase shortcuts like -V/-v, -A/-a, -G/-g, -R/-r, -S/-s)
  • the --help output does not list --inspect / --debug
  • I have difficulties debugging out of my VSCode, most breakpoints are just ignored. It seems to happen when calling bin/mocha. With bin/_mocha it seems to work though.

Btw: --timeout 5000 and --timeout=5000 both ways do work.

@juergba

This comment has been minimized.

Copy link
Member

commented Jan 31, 2019

When debugging with VSCode, the command looks like this:
node --inspect-brk=12925 bin\mocha --timeout 999999 --colors async-only-async.fixture.js

I guess --inspect-brk is parsed twice. Once by Node directly (since flag follows immediatly after node.exe), then a second time by Mocha. Possibly the port gets lost on the way. In this constellation Mocha should not parse these flags a second time. (I'm not sure, just thinking loud)

Calling a Mocha flag like this:
node --bail D:\mocha3291\mocha\bin\mocha async-only-async.fixture.js
results in Node error: node: bad option: --bail

@boneskull

This comment has been minimized.

Copy link
Member Author

commented Jan 31, 2019

there is no error when using non-existent options

This is intended (for now)

the --help output does not list --inspect / --debug

This is also intended, as they are Node flags.

I have difficulties debugging out of my VSCode, most breakpoints are just ignored. It seems to happen when calling bin/mocha. With bin/_mocha it seems to work though.

This is expected, but not ideal. When you create a "Mocha" launch config, it points to bin/_mocha for this reason. It has something to do with being unable to debug the child process, but I don't know why.

@boneskull

This comment has been minimized.

Copy link
Member Author

commented Jan 31, 2019

I guess --inspect-brk is parsed twice. Once by Node directly (since flag follows immediatly after node.exe), then a second time by Mocha. Possibly the port gets lost on the way. In this constellation Mocha should not parse these flags a second time. (I'm not sure, just thinking loud)

I don't really follow you here, but the node flags shouldn't be passed into Mocha a second time.

const args = [].concat(
unparse(nodeArgs),
unparseNodeFlags(nodeArgs),
mochaPath,
unparse(mochaArgs, {alias: aliases})
);

This comment has been minimized.

Copy link
@juergba

juergba Feb 1, 2019

Member

down L131:
when Node env variable NODE_OPTIONS is used, it just feeds the CL arguments list, I guess. Does the child process inherit these variables correctly?

This comment has been minimized.

Copy link
@boneskull

boneskull Feb 4, 2019

Author Member

the short answer is "yes". the longer answer is we ignore NODE_OPTIONS, and whatever's there does not go into any arguments list. when node args and NODE_OPTIONS conflict, node does whatever node does to resolve it.

});

it('should invoke --inspect-brk', function(done) {
var proc = invokeMocha(

This comment has been minimized.

Copy link
@juergba

juergba Feb 1, 2019

Member

This one is failing with "Uncaught UnexpectedError" on my Windows. I need to investigate further.
The other three "Node.js v8+" tests do pass.
"Node.js v6" tests are skipped.

This comment has been minimized.

Copy link
@boneskull

boneskull Feb 4, 2019

Author Member

yes, I don't know how to fix this. that's where I was hoping you could help (eventually)

killing the subprocess using our method (because inspect-brk means you're in a debugging session) doesn't return any process output nor an exit code on windows. the method is likely wrong for windows (using SIGINT on posix), but I don't know what the correct one is.

@juergba

This comment has been minimized.

Copy link
Member

commented Feb 1, 2019

Just to make sure: node bin\mocha --pail async-only-async.fixture.js
results in: 0 passing (2ms)

So there is not only no error about the non-existent option --pail, the output is just confusing.

return done(err);
}
expect(res, 'to have passed').and(
'to contain output',

This comment has been minimized.

Copy link
@juergba

juergba Feb 1, 2019

Member

change to: expect(res, 'to have failed).and(

This comment has been minimized.

Copy link
@juergba

juergba Feb 5, 2019

Member

The exit code (on windows) is 1, so expect(res, 'to have passed').and( will not work.

{
  output: '(node:2960) Warning: "--debug-brk" is not available in Node.js v10.5.0; use "--inspect-brk" instead.\nDebugger listening on ws://127.0.0.1:9229/b4e4ff84-bfc4-4987-8cab-7a5514610ab7\r\nFor help, see: https://nodejs.org/en/docs/inspector\r\n',
  code: 1
}
setTimeout(function() {
proc.kill('SIGINT');
}, 1000);
});

This comment has been minimized.

Copy link
@juergba

juergba Feb 1, 2019

Member

change to:

setTimeout(function() {
  process.kill(proc.pid, 'SIGINT');
}, 2000);

This way the err.code is 1 (not undefined which crashes to have failed).
A timeout of 1000 is too short, res may not be ready, yet => to contain output fails.

On my windows platform the four 'Node.js v8+' tests do pass.

This comment has been minimized.

Copy link
@boneskull

boneskull Feb 4, 2019

Author Member

I don't quite understand what you're asking for

@juergba

juergba approved these changes Feb 5, 2019

@plroebuck

This comment has been minimized.

Copy link
Member

commented Feb 5, 2019

...but Mocha is the most widely-depended-on package on npm --

Uh, according to npm, , that would be 'lodash'.
Mocha's in the mid-60's, though Top 100 is nothing to sneeze at.

Where does Libraries.io get their numbers?

@boneskull

This comment has been minimized.

Copy link
Member Author

commented Feb 6, 2019

...but Mocha is the most widely-depended-on package on npm --

Uh, according to npm, , that would be 'lodash'.
Mocha's in the mid-60's, though Top 100 is nothing to sneeze at.

Where does Libraries.io get their numbers?

npm's list only reports dependencies, not devDependencies, where most people use Mocha. taken as a sum--dependencies and devDependencies--Mocha has the most by a considerable margin.

boneskull added some commits Jan 28, 2019

fix --inspect and its ilk; closes #3681
- upgrade `node-environment-flags`
- add some tests
- use `mocha:cli:mocha` in `bin/mocha` as unique `DEBUG` identifier (`DEBUG=mocha:cli:mocha bin/mocha ...`)
- add some handiness to the integration test helpers
- update docstrings in integration test helpers

@boneskull boneskull force-pushed the boneskull/issue/3681 branch from 708ff2e to 2abc1a8 Feb 6, 2019

@boneskull boneskull force-pushed the boneskull/issue/3681 branch from a0afd97 to 9b4c6f0 Feb 7, 2019

@boneskull boneskull merged commit 21ba5ce into master Feb 8, 2019

7 checks passed

continuous-integration/appveyor/branch AppVeyor build succeeded
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details
coverage/coveralls Coverage increased (+0.04%) to 91.543%
Details
deploy/netlify Deploy preview ready!
Details
licence/cla Contributor License Agreement is signed.
Details

@boneskull boneskull deleted the boneskull/issue/3681 branch Feb 8, 2019

germanattanasio added a commit to watson-developer-cloud/language-translator-nodejs that referenced this pull request Feb 18, 2019

Update mocha to the latest version 🚀 (#67)
## The devDependency [mocha](https://github.com/mochajs/mocha) was updated from `5.2.0` to `6.0.0`.
This version is **not covered** by your **current version range**.

If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

---

<details>
<summary>Release Notes for v6.0.0</summary>

<h1>6.0.0 / 2019-02-18</h1>
<h2><g-emoji class="g-emoji" alias="boom" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f4a5.png">💥</g-emoji> Breaking Changes</h2>
<ul>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3149" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3149/hovercard">#3149</a>: <strong>Drop Node.js v4.x support</strong> (<a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3556" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3556/hovercard">#3556</a>: Changes to command-line options (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>):
<ul>
<li><code>--grep</code> and <code>--fgrep</code> are now mutually exclusive; attempting to use both will cause Mocha to fail instead of simply ignoring <code>--grep</code></li>
<li><code>--compilers</code> is no longer supported; attempting to use will cause Mocha to fail with a link to more information</li>
<li><code>-d</code> is no longer an alias for <code>--debug</code>; <code>-d</code> is currently ignored</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3275" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3275/hovercard">#3275</a>: <code>--watch-extensions</code> no longer implies <code>js</code>; it must be explicitly added (<a href="https://urls.greenkeeper.io/TheDancingCode"><strong>@TheDancingCode</strong></a>)</li>
</ul>
</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2908" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/2908/hovercard">#2908</a>: <code>tap</code> reporter emits error messages (<a href="https://urls.greenkeeper.io/chrmod"><strong>@chrmod</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2819" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2819/hovercard">#2819</a>: When conditionally skipping in a <code>before</code> hook, subsequent <code>before</code> hooks <em>and</em> tests in nested suites are now skipped (<a href="https://urls.greenkeeper.io/bannmoore"><strong>@bannmoore</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/627" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/627/hovercard">#627</a>: Emit filepath in "timeout exceeded" exceptions where applicable (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3556" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3556/hovercard">#3556</a>: <code>lib/template.html</code> has moved to <code>lib/browser/template.html</code> (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2576" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2576/hovercard">#2576</a>: An exception is now thrown if Mocha fails to parse or find a <code>mocha.opts</code> at a user-specified path (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3458" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3458/hovercard">#3458</a>: Instantiating a <code>Base</code>-extending reporter without a <code>Runner</code> parameter will throw an exception (<a href="https://urls.greenkeeper.io/craigtaub"><strong>@craigtaub</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3125" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3125/hovercard">#3125</a>: For consumers of Mocha's programmatic API, all exceptions thrown from Mocha now have a <code>code</code> property (and some will have additional metadata).  Some <code>Error</code> messages have changed.  <strong>Please use the <code>code</code> property to check <code>Error</code> types instead of the <code>message</code> property</strong>; these descriptions will be  localized in the future. (<a href="https://urls.greenkeeper.io/craigtaub"><strong>@craigtaub</strong></a>)</li>
</ul>
<h2><g-emoji class="g-emoji" alias="fax" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e0.png">📠</g-emoji> Deprecations</h2>
<p>These are <em>soft</em>-deprecated, and will emit a warning upon use.  Support will be removed in (likely) the next major version of Mocha:</p>
<ul>
<li><code>-gc</code> users should use <code>--gc-global</code> instead</li>
<li>Consumers of the function exported by <code>bin/options</code> should now use the <code>loadMochaOpts</code> or <code>loadOptions</code> (preferred) functions exported by the <code>lib/cli/options</code> module</li>
</ul>
<p>Regarding the <code>Mocha</code> class constructor (from <code>lib/mocha</code>):</p>
<ul>
<li>Use property <code>color: false</code> instead of <code>useColors: false</code></li>
<li>Use property <code>timeout: false</code> instead of <code>enableTimeouts: false</code></li>
</ul>
<p>All of the above deprecations were introduced by <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3556" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3556/hovercard">#3556</a>.</p>
<p><code>mocha.opts</code> is now considered "legacy"; please prefer RC file or <code>package.json</code> over <code>mocha.opts</code>.</p>
<h2><g-emoji class="g-emoji" alias="tada" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f389.png">🎉</g-emoji> Enhancements</h2>
<ul>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3726" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3726/hovercard">#3726</a>: Add ability to unload files from <code>require</code> cache (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
</ul>
<p>Enhancements introduced in <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3556" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3556/hovercard">#3556</a>:</p>
<ul>
<li>
<p>Mocha now supports "RC" files in JS, JSON, YAML, or <code>package.json</code>-based (using <code>mocha</code> property) format</p>
<ul>
<li><code>.mocharc.js</code>, <code>.mocharc.json</code>, <code>.mocharc.yaml</code> or <code>.mocharc.yml</code> are valid "rc" file names and will be automatically loaded</li>
<li>Use <code>--config /path/to/rc/file</code> to specify an explicit path</li>
<li>Use <code>--package /path/to/package.json</code> to specify an explicit <code>package.json</code> to read the <code>mocha</code> prop from</li>
<li>Use <code>--no-config</code> or <code>--no-package</code> to completely disable loading of configuration via RC file and <code>package.json</code>, respectively</li>
<li>Configurations are merged as applicable using the priority list:
<ol>
<li>Command-line arguments</li>
<li>RC file</li>
<li><code>package.json</code></li>
<li><code>mocha.opts</code></li>
<li>Mocha's own defaults</li>
</ol>
</li>
<li>Check out these <a href="https://urls.greenkeeper.io/mochajs/mocha/tree/master/example/config">example config files</a></li>
</ul>
</li>
<li>
<p>Node/V8 flag support in <code>mocha</code> executable:</p>
<ul>
<li>Support all allowed <code>node</code> flags as supported by the running version of <code>node</code> (also thanks to <a href="https://urls.greenkeeper.io/demurgos"><strong>@demurgos</strong></a>)</li>
<li>Support any V8 flag by prepending <code>--v8-</code> to the flag name</li>
<li>All flags are also supported via config files, <code>package.json</code> properties, or <code>mocha.opts</code></li>
<li>Debug-related flags (e.g., <code>--inspect</code>) now <em>imply</em> <code>--no-timeouts</code></li>
<li>Use of e.g., <code>--debug</code> will automatically invoke <code>--inspect</code> if supported by running version of <code>node</code></li>
</ul>
</li>
<li>
<p>Support negation of any Mocha-specific command-line flag by prepending <code>--no-</code> to the flag name</p>
</li>
<li>
<p>Interfaces now have descriptions when listed using <code>--interfaces</code> flag</p>
</li>
<li>
<p><code>Mocha</code> constructor supports all options</p>
</li>
<li>
<p><code>--extension</code> is now an alias for <code>--watch-extensions</code> and affects <em>non-watch-mode</em> test runs as well.  For example, to run <em>only</em> <code>test/*.coffee</code> (not <code>test/*.js</code>), you can do <code>mocha --require coffee-script/register --extensions coffee</code>.</p>
</li>
<li>
<p><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3552" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3552/hovercard">#3552</a>: <code>tap</code> reporter is now TAP13-capable (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a> &amp; <a href="https://urls.greenkeeper.io/mollstam"><strong>@mollstam</strong></a>)</p>
</li>
<li>
<p><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3535" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3535/hovercard">#3535</a>: Mocha's version can now be queried programmatically via public property <code>Mocha.prototype.version</code> (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</p>
</li>
<li>
<p><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3428" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3428/hovercard">#3428</a>: <code>xunit</code> reporter shows diffs (<a href="https://urls.greenkeeper.io/mlucool"><strong>@mlucool</strong></a>)</p>
</li>
<li>
<p><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2529" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2529/hovercard">#2529</a>: <code>Runner</code> now emits a <code>retry</code> event when tests are retried (reporters can listen for this) (<a href="https://urls.greenkeeper.io/catdad"><strong>@catdad</strong></a>)</p>
</li>
<li>
<p><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2962" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/2962/hovercard">#2962</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3111" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3111/hovercard">#3111</a>: In-browser notification support; warn about missing prereqs when <code>--growl</code> supplied (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</p>
</li>
</ul>
<h2><g-emoji class="g-emoji" alias="bug" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f41b.png">🐛</g-emoji> Fixes</h2>
<ul>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3737" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3737/hovercard">#3737</a>: Fix falsy values from options globals (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3707" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3707/hovercard">#3707</a>: Fix encapsulation issues for <code>Suite#_onlyTests</code> and <code>Suite#_onlySuites</code> (<a href="https://urls.greenkeeper.io/vkarpov15"><strong>@vkarpov15</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3711" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3711/hovercard">#3711</a>: Fix diagnostic messages dealing with plurality and markup of output (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3723" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3723/hovercard">#3723</a>: Fix "reporter-option" to allow comma-separated options (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3722" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3722/hovercard">#3722</a>: Fix code quality and performance of <code>lookupFiles</code> and <code>files</code> (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3650" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3650/hovercard">#3650</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3654" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3654/hovercard">#3654</a>: Fix noisy error message when no files found (<a href="https://urls.greenkeeper.io/craigtaub"><strong>@craigtaub</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3632" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3632/hovercard">#3632</a>: Tests having an empty title are no longer confused with the "root" suite (<a href="https://urls.greenkeeper.io/juergba"><strong>@juergba</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3666" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3666/hovercard">#3666</a>: Fix missing error codes (<a href="https://urls.greenkeeper.io/vkarpov15"><strong>@vkarpov15</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3684" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3684/hovercard">#3684</a>: Fix exiting problem in Node.js v11.7.0+ (<a href="https://urls.greenkeeper.io/addaleax"><strong>@addaleax</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3691" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3691/hovercard">#3691</a>: Fix <code>--delay</code> (and other boolean options) not working in all cases (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3692" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3692/hovercard">#3692</a>: Fix invalid command-line argument usage not causing actual errors (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3698" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3698/hovercard">#3698</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3699" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3699/hovercard">#3699</a>: Fix debug-related Node.js options not working in all cases (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3700" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3700/hovercard">#3700</a>: Growl notifications now show the correct number of tests run (<a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3686" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3686/hovercard">#3686</a>: Avoid potential ReDoS when diffing large objects (<a href="https://urls.greenkeeper.io/cyjake"><strong>@cyjake</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3715" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3715/hovercard">#3715</a>: Fix incorrect order of emitted events when used programmatically (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3706" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3706/hovercard">#3706</a>: Fix regression wherein <code>--reporter-option</code>/<code>--reporter-options</code> did not support comma-separated key/value pairs (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li>Fix missing <code>mocharc.json</code> in published package (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3356" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3356/hovercard">#3356</a>: <code>--no-timeouts</code> and <code>--timeout 0</code> now does what you'd expect (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3475" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3475/hovercard">#3475</a>: Restore <code>--no-exit</code> option (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3570" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3570/hovercard">#3570</a>: Long-running tests now respect <code>SIGINT</code> (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2944" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2944/hovercard">#2944</a>: <code>--forbid-only</code> and <code>--forbid-pending</code> now "fail fast" when encountered on a suite (<a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/1652" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/1652/hovercard">#1652</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2951" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2951/hovercard">#2951</a>: Fix broken clamping of timeout values (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2753" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2753/hovercard">#2753</a>: <code>start</code> and <code>end</code> events now emitted properly from <code>Runner</code> instance when using Mocha programmatically (<a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2095" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2095/hovercard">#2095</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3521" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3521/hovercard">#3521</a>: Do not log <code>stdout:</code> prefix in browser console (<a href="https://urls.greenkeeper.io/Bamieh"><strong>@Bamieh</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3595" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3595/hovercard">#3595</a>: Fix mochajs.org deployment problems (<a href="https://urls.greenkeeper.io/papandreou"><strong>@papandreou</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3518" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3518/hovercard">#3518</a>: Improve <code>utils.isPromise()</code> (<a href="https://urls.greenkeeper.io/fabiosantoscode"><strong>@fabiosantoscode</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3320" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3320/hovercard">#3320</a>: Fail gracefully when non-extensible objects are thrown in async tests (<a href="https://urls.greenkeeper.io/fargies"><strong>@fargies</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2475" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/2475/hovercard">#2475</a>: XUnit does not duplicate test result numbers in "errors" and "failures"; "failures" will <strong>always</strong> be zero (<a href="https://urls.greenkeeper.io/mlucool"><strong>@mlucool</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3398" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3398/hovercard">#3398</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3598" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3598/hovercard">#3598</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3457" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3457/hovercard">#3457</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3617" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3617/hovercard">#3617</a>: Fix regression wherein <code>--bail</code> would not execute "after" nor "after each" hooks (<a href="https://urls.greenkeeper.io/juergba"><strong>@juergba</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3580" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3580/hovercard">#3580</a>: Fix potential exception when using XUnit reporter programmatically (<a href="https://urls.greenkeeper.io/Lana-Light"><strong>@Lana-Light</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/1304" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/1304/hovercard">#1304</a>: Do not output color to <code>TERM=dumb</code> (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
</ul>
<h2><g-emoji class="g-emoji" alias="book" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f4d6.png">📖</g-emoji> Documentation</h2>
<ul>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3525" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3525/hovercard">#3525</a>: Improvements to <code>.github/CONTRIBUTING.md</code> (<a href="https://urls.greenkeeper.io/markowsiak"><strong>@markowsiak</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3466" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3466/hovercard">#3466</a>: Update description of <code>slow</code> option (<a href="https://urls.greenkeeper.io/finfin"><strong>@finfin</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3405" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3405/hovercard">#3405</a>: Remove references to bower installations (<a href="https://urls.greenkeeper.io/goteamtim"><strong>@goteamtim</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3361" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3361/hovercard">#3361</a>: Improvements to <code>--watch</code> docs (<a href="https://urls.greenkeeper.io/benglass"><strong>@benglass</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3136" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3136/hovercard">#3136</a>: Improve docs around globbing and shell expansion (<a href="https://urls.greenkeeper.io/akrawchyk"><strong>@akrawchyk</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2819" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2819/hovercard">#2819</a>: Update docs around skips and hooks (<a href="https://urls.greenkeeper.io/bannmoore"><strong>@bannmoore</strong></a>)</li>
<li>Many improvements by <a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3652" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3652/hovercard">#3652</a>: Switch from Jekyll to Eleventy (<a href="https://urls.greenkeeper.io/Munter"><strong>@Munter</strong></a>)</li>
</ul>
<h2><g-emoji class="g-emoji" alias="nut_and_bolt" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f529.png">🔩</g-emoji> Other</h2>
<ul>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3677" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3677/hovercard">#3677</a>: Add error objects for createUnsupportedError and createInvalidExceptionError (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3733" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3733/hovercard">#3733</a>: Removed unnecessary processing in post-processing hook (<a href="https://urls.greenkeeper.io/wanseob"><strong>@wanseob</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3730" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3730/hovercard">#3730</a>: Update nyc to latest version (<a href="https://urls.greenkeeper.io/coreyfarrell"><strong>@coreyfarrell</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3648" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3648/hovercard">#3648</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3680" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3680/hovercard">#3680</a>: Fixes to support latest versions of <a href="https://npm.im/unexpected" rel="nofollow">unexpected</a> and <a href="https://npm.im/unexpected-sinon" rel="nofollow">unexpected-sinon</a> (<a href="https://urls.greenkeeper.io/sunesimonsen"><strong>@sunesimonsen</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3638" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3638/hovercard">#3638</a>: Add meta tag to site (<a href="https://urls.greenkeeper.io/MartijnCuppens"><strong>@MartijnCuppens</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3653" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3653/hovercard">#3653</a>: Fix parts of test suite failing to run on Windows (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3557" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3557/hovercard">#3557</a>: Use <code>ms</code> userland module instead of hand-rolled solution (<a href="https://urls.greenkeeper.io/gizemkeser"><strong>@gizemkeser</strong></a>)</li>
<li>Many CI fixes and other refactors by <a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a></li>
<li>Test refactors by <a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a></li>
</ul>
</details>

<details>
<summary>Commits</summary>
<p>The new version differs by 209 commits ahead by 209, behind by 39.</p>
<ul>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/42303e2acba217af554294b1174ee53b5627cc33"><code>42303e2</code></a> <code>Release v6.0.0</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/a553ca70287f407abd4a82180e4a1155b8730756"><code>a553ca7</code></a> <code>punctuation updates for changelog v6.0.0</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/c7107926b3a546960e841b0339bf4a3b85170c4c"><code>c710792</code></a> <code>grammar updates for changelog v6.0.0</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/9f9293a0db44ce41e1bd9cc38d68e3d7a1010f41"><code>9f9293a</code></a> <code>update changelog for v6.0.0</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/a540eb06f23135db563a6b2bd2e0b3b51583fde7"><code>a540eb0</code></a> <code>remove "projects" section from MAINTAINERS.md [ci skip]</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/52b5c42c3dda8c386735969642843bd1129a4562"><code>52b5c42</code></a> <code>Uppercased JSON reporter name in <code>describe</code> title (#3739)</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/82307fbf9bfa7cd72042facd1d42fb108257100c"><code>82307fb</code></a> <code>Fix <code>.globals</code> to remove falsy values (#3737)</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/56dc28e62f63903632d5fe4169b52cb2cdb5f7ea"><code>56dc28e</code></a> <code>Remove unnecessary post-processing code having no effect; closes #3708 (#3733)</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/16b4281b6e86d93e959a37f830a349c0542d968a"><code>16b4281</code></a> <code>Documentation updates (#3728)</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/5d9d3eb665825ea69435388f5776150f40c844be"><code>5d9d3eb</code></a> <code>Update nyc</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/118c9aeab5b6192d627b0b369e43584ab8f9f0b7"><code>118c9ae</code></a> <code>Refactor out usages of Suite#_onlyTests and Suite#_onlyTests (#3689) (#3707)</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/0dacd1fb0067e40f8567653f828f677022e4fb89"><code>0dacd1f</code></a> <code>Add ability to unload files from <code>require</code> cache (redux) (#3726)</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/66a52f25cafd266ab3cce2db975a560a695ecae9"><code>66a52f2</code></a> <code>update release steps [ci skip]</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/45ae014d0baba97b4b50b37ae526e1b50a9334e9"><code>45ae014</code></a> <code>Refactor <code>lookupFiles</code> and <code>files</code> (#3722)</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/94c932095b4b8e8a7a5d9dde93ad2172d95f5ebe"><code>94c9320</code></a> <code>fix --reporter-option to allow comma-separated options; closes #3706</code></li>
</ul>
<p>There are 209 commits in total.</p>
<p>See the <a href="https://urls.greenkeeper.io/mochajs/mocha/compare/5bd33a0ba201d227159759e8ced86756595b0c54...42303e2acba217af554294b1174ee53b5627cc33">full diff</a></p>
</details>

<details>
  <summary>FAQ and help</summary>

  There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>

---


Your [Greenkeeper](https://greenkeeper.io) bot 🌴



Co-authored-by: null <greenkeeper[bot]@users.noreply.github.com>

goto-bus-stop added a commit to u-wave/react-vimeo that referenced this pull request Feb 19, 2019

Update mocha to the latest version 🚀 (#73)
## The devDependency [mocha](https://github.com/mochajs/mocha) was updated from `5.2.0` to `6.0.0`.
This version is **not covered** by your **current version range**.

If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

---

<details>
<summary>Release Notes for v6.0.0</summary>

<h1>6.0.0 / 2019-02-18</h1>
<h2><g-emoji class="g-emoji" alias="boom" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f4a5.png">💥</g-emoji> Breaking Changes</h2>
<ul>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3149" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3149/hovercard">#3149</a>: <strong>Drop Node.js v4.x support</strong> (<a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3556" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3556/hovercard">#3556</a>: Changes to command-line options (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>):
<ul>
<li><code>--grep</code> and <code>--fgrep</code> are now mutually exclusive; attempting to use both will cause Mocha to fail instead of simply ignoring <code>--grep</code></li>
<li><code>--compilers</code> is no longer supported; attempting to use will cause Mocha to fail with a link to more information</li>
<li><code>-d</code> is no longer an alias for <code>--debug</code>; <code>-d</code> is currently ignored</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3275" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3275/hovercard">#3275</a>: <code>--watch-extensions</code> no longer implies <code>js</code>; it must be explicitly added (<a href="https://urls.greenkeeper.io/TheDancingCode"><strong>@TheDancingCode</strong></a>)</li>
</ul>
</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2908" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/2908/hovercard">#2908</a>: <code>tap</code> reporter emits error messages (<a href="https://urls.greenkeeper.io/chrmod"><strong>@chrmod</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2819" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2819/hovercard">#2819</a>: When conditionally skipping in a <code>before</code> hook, subsequent <code>before</code> hooks <em>and</em> tests in nested suites are now skipped (<a href="https://urls.greenkeeper.io/bannmoore"><strong>@bannmoore</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/627" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/627/hovercard">#627</a>: Emit filepath in "timeout exceeded" exceptions where applicable (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3556" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3556/hovercard">#3556</a>: <code>lib/template.html</code> has moved to <code>lib/browser/template.html</code> (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2576" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2576/hovercard">#2576</a>: An exception is now thrown if Mocha fails to parse or find a <code>mocha.opts</code> at a user-specified path (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3458" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3458/hovercard">#3458</a>: Instantiating a <code>Base</code>-extending reporter without a <code>Runner</code> parameter will throw an exception (<a href="https://urls.greenkeeper.io/craigtaub"><strong>@craigtaub</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3125" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3125/hovercard">#3125</a>: For consumers of Mocha's programmatic API, all exceptions thrown from Mocha now have a <code>code</code> property (and some will have additional metadata).  Some <code>Error</code> messages have changed.  <strong>Please use the <code>code</code> property to check <code>Error</code> types instead of the <code>message</code> property</strong>; these descriptions will be  localized in the future. (<a href="https://urls.greenkeeper.io/craigtaub"><strong>@craigtaub</strong></a>)</li>
</ul>
<h2><g-emoji class="g-emoji" alias="fax" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e0.png">📠</g-emoji> Deprecations</h2>
<p>These are <em>soft</em>-deprecated, and will emit a warning upon use.  Support will be removed in (likely) the next major version of Mocha:</p>
<ul>
<li><code>-gc</code> users should use <code>--gc-global</code> instead</li>
<li>Consumers of the function exported by <code>bin/options</code> should now use the <code>loadMochaOpts</code> or <code>loadOptions</code> (preferred) functions exported by the <code>lib/cli/options</code> module</li>
</ul>
<p>Regarding the <code>Mocha</code> class constructor (from <code>lib/mocha</code>):</p>
<ul>
<li>Use property <code>color: false</code> instead of <code>useColors: false</code></li>
<li>Use property <code>timeout: false</code> instead of <code>enableTimeouts: false</code></li>
</ul>
<p>All of the above deprecations were introduced by <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3556" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3556/hovercard">#3556</a>.</p>
<p><code>mocha.opts</code> is now considered "legacy"; please prefer RC file or <code>package.json</code> over <code>mocha.opts</code>.</p>
<h2><g-emoji class="g-emoji" alias="tada" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f389.png">🎉</g-emoji> Enhancements</h2>
<ul>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3726" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3726/hovercard">#3726</a>: Add ability to unload files from <code>require</code> cache (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
</ul>
<p>Enhancements introduced in <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3556" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3556/hovercard">#3556</a>:</p>
<ul>
<li>
<p>Mocha now supports "RC" files in JS, JSON, YAML, or <code>package.json</code>-based (using <code>mocha</code> property) format</p>
<ul>
<li><code>.mocharc.js</code>, <code>.mocharc.json</code>, <code>.mocharc.yaml</code> or <code>.mocharc.yml</code> are valid "rc" file names and will be automatically loaded</li>
<li>Use <code>--config /path/to/rc/file</code> to specify an explicit path</li>
<li>Use <code>--package /path/to/package.json</code> to specify an explicit <code>package.json</code> to read the <code>mocha</code> prop from</li>
<li>Use <code>--no-config</code> or <code>--no-package</code> to completely disable loading of configuration via RC file and <code>package.json</code>, respectively</li>
<li>Configurations are merged as applicable using the priority list:
<ol>
<li>Command-line arguments</li>
<li>RC file</li>
<li><code>package.json</code></li>
<li><code>mocha.opts</code></li>
<li>Mocha's own defaults</li>
</ol>
</li>
<li>Check out these <a href="https://urls.greenkeeper.io/mochajs/mocha/tree/master/example/config">example config files</a></li>
</ul>
</li>
<li>
<p>Node/V8 flag support in <code>mocha</code> executable:</p>
<ul>
<li>Support all allowed <code>node</code> flags as supported by the running version of <code>node</code> (also thanks to <a href="https://urls.greenkeeper.io/demurgos"><strong>@demurgos</strong></a>)</li>
<li>Support any V8 flag by prepending <code>--v8-</code> to the flag name</li>
<li>All flags are also supported via config files, <code>package.json</code> properties, or <code>mocha.opts</code></li>
<li>Debug-related flags (e.g., <code>--inspect</code>) now <em>imply</em> <code>--no-timeouts</code></li>
<li>Use of e.g., <code>--debug</code> will automatically invoke <code>--inspect</code> if supported by running version of <code>node</code></li>
</ul>
</li>
<li>
<p>Support negation of any Mocha-specific command-line flag by prepending <code>--no-</code> to the flag name</p>
</li>
<li>
<p>Interfaces now have descriptions when listed using <code>--interfaces</code> flag</p>
</li>
<li>
<p><code>Mocha</code> constructor supports all options</p>
</li>
<li>
<p><code>--extension</code> is now an alias for <code>--watch-extensions</code> and affects <em>non-watch-mode</em> test runs as well.  For example, to run <em>only</em> <code>test/*.coffee</code> (not <code>test/*.js</code>), you can do <code>mocha --require coffee-script/register --extensions coffee</code>.</p>
</li>
<li>
<p><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3552" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3552/hovercard">#3552</a>: <code>tap</code> reporter is now TAP13-capable (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a> &amp; <a href="https://urls.greenkeeper.io/mollstam"><strong>@mollstam</strong></a>)</p>
</li>
<li>
<p><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3535" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3535/hovercard">#3535</a>: Mocha's version can now be queried programmatically via public property <code>Mocha.prototype.version</code> (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</p>
</li>
<li>
<p><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3428" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3428/hovercard">#3428</a>: <code>xunit</code> reporter shows diffs (<a href="https://urls.greenkeeper.io/mlucool"><strong>@mlucool</strong></a>)</p>
</li>
<li>
<p><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2529" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2529/hovercard">#2529</a>: <code>Runner</code> now emits a <code>retry</code> event when tests are retried (reporters can listen for this) (<a href="https://urls.greenkeeper.io/catdad"><strong>@catdad</strong></a>)</p>
</li>
<li>
<p><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2962" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/2962/hovercard">#2962</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3111" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3111/hovercard">#3111</a>: In-browser notification support; warn about missing prereqs when <code>--growl</code> supplied (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</p>
</li>
</ul>
<h2><g-emoji class="g-emoji" alias="bug" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f41b.png">🐛</g-emoji> Fixes</h2>
<ul>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3737" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3737/hovercard">#3737</a>: Fix falsy values from options globals (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3707" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3707/hovercard">#3707</a>: Fix encapsulation issues for <code>Suite#_onlyTests</code> and <code>Suite#_onlySuites</code> (<a href="https://urls.greenkeeper.io/vkarpov15"><strong>@vkarpov15</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3711" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3711/hovercard">#3711</a>: Fix diagnostic messages dealing with plurality and markup of output (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3723" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3723/hovercard">#3723</a>: Fix "reporter-option" to allow comma-separated options (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3722" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3722/hovercard">#3722</a>: Fix code quality and performance of <code>lookupFiles</code> and <code>files</code> (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3650" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3650/hovercard">#3650</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3654" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3654/hovercard">#3654</a>: Fix noisy error message when no files found (<a href="https://urls.greenkeeper.io/craigtaub"><strong>@craigtaub</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3632" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3632/hovercard">#3632</a>: Tests having an empty title are no longer confused with the "root" suite (<a href="https://urls.greenkeeper.io/juergba"><strong>@juergba</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3666" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3666/hovercard">#3666</a>: Fix missing error codes (<a href="https://urls.greenkeeper.io/vkarpov15"><strong>@vkarpov15</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3684" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3684/hovercard">#3684</a>: Fix exiting problem in Node.js v11.7.0+ (<a href="https://urls.greenkeeper.io/addaleax"><strong>@addaleax</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3691" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3691/hovercard">#3691</a>: Fix <code>--delay</code> (and other boolean options) not working in all cases (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3692" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3692/hovercard">#3692</a>: Fix invalid command-line argument usage not causing actual errors (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3698" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3698/hovercard">#3698</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3699" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3699/hovercard">#3699</a>: Fix debug-related Node.js options not working in all cases (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3700" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3700/hovercard">#3700</a>: Growl notifications now show the correct number of tests run (<a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3686" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3686/hovercard">#3686</a>: Avoid potential ReDoS when diffing large objects (<a href="https://urls.greenkeeper.io/cyjake"><strong>@cyjake</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3715" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3715/hovercard">#3715</a>: Fix incorrect order of emitted events when used programmatically (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3706" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3706/hovercard">#3706</a>: Fix regression wherein <code>--reporter-option</code>/<code>--reporter-options</code> did not support comma-separated key/value pairs (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li>Fix missing <code>mocharc.json</code> in published package (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3356" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3356/hovercard">#3356</a>: <code>--no-timeouts</code> and <code>--timeout 0</code> now does what you'd expect (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3475" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3475/hovercard">#3475</a>: Restore <code>--no-exit</code> option (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3570" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3570/hovercard">#3570</a>: Long-running tests now respect <code>SIGINT</code> (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2944" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2944/hovercard">#2944</a>: <code>--forbid-only</code> and <code>--forbid-pending</code> now "fail fast" when encountered on a suite (<a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/1652" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/1652/hovercard">#1652</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2951" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2951/hovercard">#2951</a>: Fix broken clamping of timeout values (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2753" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2753/hovercard">#2753</a>: <code>start</code> and <code>end</code> events now emitted properly from <code>Runner</code> instance when using Mocha programmatically (<a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2095" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2095/hovercard">#2095</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3521" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3521/hovercard">#3521</a>: Do not log <code>stdout:</code> prefix in browser console (<a href="https://urls.greenkeeper.io/Bamieh"><strong>@Bamieh</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3595" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3595/hovercard">#3595</a>: Fix mochajs.org deployment problems (<a href="https://urls.greenkeeper.io/papandreou"><strong>@papandreou</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3518" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3518/hovercard">#3518</a>: Improve <code>utils.isPromise()</code> (<a href="https://urls.greenkeeper.io/fabiosantoscode"><strong>@fabiosantoscode</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3320" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3320/hovercard">#3320</a>: Fail gracefully when non-extensible objects are thrown in async tests (<a href="https://urls.greenkeeper.io/fargies"><strong>@fargies</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2475" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/2475/hovercard">#2475</a>: XUnit does not duplicate test result numbers in "errors" and "failures"; "failures" will <strong>always</strong> be zero (<a href="https://urls.greenkeeper.io/mlucool"><strong>@mlucool</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3398" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3398/hovercard">#3398</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3598" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3598/hovercard">#3598</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3457" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3457/hovercard">#3457</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3617" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3617/hovercard">#3617</a>: Fix regression wherein <code>--bail</code> would not execute "after" nor "after each" hooks (<a href="https://urls.greenkeeper.io/juergba"><strong>@juergba</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3580" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3580/hovercard">#3580</a>: Fix potential exception when using XUnit reporter programmatically (<a href="https://urls.greenkeeper.io/Lana-Light"><strong>@Lana-Light</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/1304" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/1304/hovercard">#1304</a>: Do not output color to <code>TERM=dumb</code> (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
</ul>
<h2><g-emoji class="g-emoji" alias="book" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f4d6.png">📖</g-emoji> Documentation</h2>
<ul>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3525" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3525/hovercard">#3525</a>: Improvements to <code>.github/CONTRIBUTING.md</code> (<a href="https://urls.greenkeeper.io/markowsiak"><strong>@markowsiak</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3466" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3466/hovercard">#3466</a>: Update description of <code>slow</code> option (<a href="https://urls.greenkeeper.io/finfin"><strong>@finfin</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3405" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3405/hovercard">#3405</a>: Remove references to bower installations (<a href="https://urls.greenkeeper.io/goteamtim"><strong>@goteamtim</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3361" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3361/hovercard">#3361</a>: Improvements to <code>--watch</code> docs (<a href="https://urls.greenkeeper.io/benglass"><strong>@benglass</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3136" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3136/hovercard">#3136</a>: Improve docs around globbing and shell expansion (<a href="https://urls.greenkeeper.io/akrawchyk"><strong>@akrawchyk</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2819" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2819/hovercard">#2819</a>: Update docs around skips and hooks (<a href="https://urls.greenkeeper.io/bannmoore"><strong>@bannmoore</strong></a>)</li>
<li>Many improvements by <a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3652" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3652/hovercard">#3652</a>: Switch from Jekyll to Eleventy (<a href="https://urls.greenkeeper.io/Munter"><strong>@Munter</strong></a>)</li>
</ul>
<h2><g-emoji class="g-emoji" alias="nut_and_bolt" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f529.png">🔩</g-emoji> Other</h2>
<ul>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3677" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3677/hovercard">#3677</a>: Add error objects for createUnsupportedError and createInvalidExceptionError (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3733" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3733/hovercard">#3733</a>: Removed unnecessary processing in post-processing hook (<a href="https://urls.greenkeeper.io/wanseob"><strong>@wanseob</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3730" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3730/hovercard">#3730</a>: Update nyc to latest version (<a href="https://urls.greenkeeper.io/coreyfarrell"><strong>@coreyfarrell</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3648" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3648/hovercard">#3648</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3680" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3680/hovercard">#3680</a>: Fixes to support latest versions of <a href="https://npm.im/unexpected" rel="nofollow">unexpected</a> and <a href="https://npm.im/unexpected-sinon" rel="nofollow">unexpected-sinon</a> (<a href="https://urls.greenkeeper.io/sunesimonsen"><strong>@sunesimonsen</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3638" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3638/hovercard">#3638</a>: Add meta tag to site (<a href="https://urls.greenkeeper.io/MartijnCuppens"><strong>@MartijnCuppens</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3653" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3653/hovercard">#3653</a>: Fix parts of test suite failing to run on Windows (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3557" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3557/hovercard">#3557</a>: Use <code>ms</code> userland module instead of hand-rolled solution (<a href="https://urls.greenkeeper.io/gizemkeser"><strong>@gizemkeser</strong></a>)</li>
<li>Many CI fixes and other refactors by <a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a></li>
<li>Test refactors by <a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a></li>
</ul>
</details>

<details>
<summary>Commits</summary>
<p>The new version differs by 209 commits ahead by 209, behind by 39.</p>
<ul>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/42303e2acba217af554294b1174ee53b5627cc33"><code>42303e2</code></a> <code>Release v6.0.0</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/a553ca70287f407abd4a82180e4a1155b8730756"><code>a553ca7</code></a> <code>punctuation updates for changelog v6.0.0</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/c7107926b3a546960e841b0339bf4a3b85170c4c"><code>c710792</code></a> <code>grammar updates for changelog v6.0.0</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/9f9293a0db44ce41e1bd9cc38d68e3d7a1010f41"><code>9f9293a</code></a> <code>update changelog for v6.0.0</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/a540eb06f23135db563a6b2bd2e0b3b51583fde7"><code>a540eb0</code></a> <code>remove "projects" section from MAINTAINERS.md [ci skip]</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/52b5c42c3dda8c386735969642843bd1129a4562"><code>52b5c42</code></a> <code>Uppercased JSON reporter name in <code>describe</code> title (#3739)</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/82307fbf9bfa7cd72042facd1d42fb108257100c"><code>82307fb</code></a> <code>Fix <code>.globals</code> to remove falsy values (#3737)</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/56dc28e62f63903632d5fe4169b52cb2cdb5f7ea"><code>56dc28e</code></a> <code>Remove unnecessary post-processing code having no effect; closes #3708 (#3733)</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/16b4281b6e86d93e959a37f830a349c0542d968a"><code>16b4281</code></a> <code>Documentation updates (#3728)</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/5d9d3eb665825ea69435388f5776150f40c844be"><code>5d9d3eb</code></a> <code>Update nyc</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/118c9aeab5b6192d627b0b369e43584ab8f9f0b7"><code>118c9ae</code></a> <code>Refactor out usages of Suite#_onlyTests and Suite#_onlyTests (#3689) (#3707)</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/0dacd1fb0067e40f8567653f828f677022e4fb89"><code>0dacd1f</code></a> <code>Add ability to unload files from <code>require</code> cache (redux) (#3726)</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/66a52f25cafd266ab3cce2db975a560a695ecae9"><code>66a52f2</code></a> <code>update release steps [ci skip]</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/45ae014d0baba97b4b50b37ae526e1b50a9334e9"><code>45ae014</code></a> <code>Refactor <code>lookupFiles</code> and <code>files</code> (#3722)</code></li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/commit/94c932095b4b8e8a7a5d9dde93ad2172d95f5ebe"><code>94c9320</code></a> <code>fix --reporter-option to allow comma-separated options; closes #3706</code></li>
</ul>
<p>There are 209 commits in total.</p>
<p>See the <a href="https://urls.greenkeeper.io/mochajs/mocha/compare/5bd33a0ba201d227159759e8ced86756595b0c54...42303e2acba217af554294b1174ee53b5627cc33">full diff</a></p>
</details>

<details>
  <summary>FAQ and help</summary>

  There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>

---


Your [Greenkeeper](https://greenkeeper.io) bot 🌴

goto-bus-stop added a commit to u-wave/react-youtube that referenced this pull request Feb 19, 2019

Update mocha to the latest version 🚀 (#65)
## The devDependency [mocha](https://github.com/mochajs/mocha) was updated from `5.2.0` to `6.0.0`.
This version is **not covered** by your **current version range**.

If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

---

<details>
<summary>Release Notes for v6.0.0</summary>

<h1>6.0.0 / 2019-02-18</h1>
<h2><g-emoji class="g-emoji" alias="boom" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f4a5.png">💥</g-emoji> Breaking Changes</h2>
<ul>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3149" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3149/hovercard">#3149</a>: <strong>Drop Node.js v4.x support</strong> (<a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3556" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3556/hovercard">#3556</a>: Changes to command-line options (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>):
<ul>
<li><code>--grep</code> and <code>--fgrep</code> are now mutually exclusive; attempting to use both will cause Mocha to fail instead of simply ignoring <code>--grep</code></li>
<li><code>--compilers</code> is no longer supported; attempting to use will cause Mocha to fail with a link to more information</li>
<li><code>-d</code> is no longer an alias for <code>--debug</code>; <code>-d</code> is currently ignored</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3275" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3275/hovercard">#3275</a>: <code>--watch-extensions</code> no longer implies <code>js</code>; it must be explicitly added (<a href="https://urls.greenkeeper.io/TheDancingCode"><strong>@TheDancingCode</strong></a>)</li>
</ul>
</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2908" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/2908/hovercard">#2908</a>: <code>tap</code> reporter emits error messages (<a href="https://urls.greenkeeper.io/chrmod"><strong>@chrmod</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2819" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2819/hovercard">#2819</a>: When conditionally skipping in a <code>before</code> hook, subsequent <code>before</code> hooks <em>and</em> tests in nested suites are now skipped (<a href="https://urls.greenkeeper.io/bannmoore"><strong>@bannmoore</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/627" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/627/hovercard">#627</a>: Emit filepath in "timeout exceeded" exceptions where applicable (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3556" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3556/hovercard">#3556</a>: <code>lib/template.html</code> has moved to <code>lib/browser/template.html</code> (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2576" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2576/hovercard">#2576</a>: An exception is now thrown if Mocha fails to parse or find a <code>mocha.opts</code> at a user-specified path (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3458" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3458/hovercard">#3458</a>: Instantiating a <code>Base</code>-extending reporter without a <code>Runner</code> parameter will throw an exception (<a href="https://urls.greenkeeper.io/craigtaub"><strong>@craigtaub</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3125" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3125/hovercard">#3125</a>: For consumers of Mocha's programmatic API, all exceptions thrown from Mocha now have a <code>code</code> property (and some will have additional metadata).  Some <code>Error</code> messages have changed.  <strong>Please use the <code>code</code> property to check <code>Error</code> types instead of the <code>message</code> property</strong>; these descriptions will be  localized in the future. (<a href="https://urls.greenkeeper.io/craigtaub"><strong>@craigtaub</strong></a>)</li>
</ul>
<h2><g-emoji class="g-emoji" alias="fax" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f4e0.png">📠</g-emoji> Deprecations</h2>
<p>These are <em>soft</em>-deprecated, and will emit a warning upon use.  Support will be removed in (likely) the next major version of Mocha:</p>
<ul>
<li><code>-gc</code> users should use <code>--gc-global</code> instead</li>
<li>Consumers of the function exported by <code>bin/options</code> should now use the <code>loadMochaOpts</code> or <code>loadOptions</code> (preferred) functions exported by the <code>lib/cli/options</code> module</li>
</ul>
<p>Regarding the <code>Mocha</code> class constructor (from <code>lib/mocha</code>):</p>
<ul>
<li>Use property <code>color: false</code> instead of <code>useColors: false</code></li>
<li>Use property <code>timeout: false</code> instead of <code>enableTimeouts: false</code></li>
</ul>
<p>All of the above deprecations were introduced by <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3556" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3556/hovercard">#3556</a>.</p>
<p><code>mocha.opts</code> is now considered "legacy"; please prefer RC file or <code>package.json</code> over <code>mocha.opts</code>.</p>
<h2><g-emoji class="g-emoji" alias="tada" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f389.png">🎉</g-emoji> Enhancements</h2>
<ul>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3726" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3726/hovercard">#3726</a>: Add ability to unload files from <code>require</code> cache (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
</ul>
<p>Enhancements introduced in <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3556" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3556/hovercard">#3556</a>:</p>
<ul>
<li>
<p>Mocha now supports "RC" files in JS, JSON, YAML, or <code>package.json</code>-based (using <code>mocha</code> property) format</p>
<ul>
<li><code>.mocharc.js</code>, <code>.mocharc.json</code>, <code>.mocharc.yaml</code> or <code>.mocharc.yml</code> are valid "rc" file names and will be automatically loaded</li>
<li>Use <code>--config /path/to/rc/file</code> to specify an explicit path</li>
<li>Use <code>--package /path/to/package.json</code> to specify an explicit <code>package.json</code> to read the <code>mocha</code> prop from</li>
<li>Use <code>--no-config</code> or <code>--no-package</code> to completely disable loading of configuration via RC file and <code>package.json</code>, respectively</li>
<li>Configurations are merged as applicable using the priority list:
<ol>
<li>Command-line arguments</li>
<li>RC file</li>
<li><code>package.json</code></li>
<li><code>mocha.opts</code></li>
<li>Mocha's own defaults</li>
</ol>
</li>
<li>Check out these <a href="https://urls.greenkeeper.io/mochajs/mocha/tree/master/example/config">example config files</a></li>
</ul>
</li>
<li>
<p>Node/V8 flag support in <code>mocha</code> executable:</p>
<ul>
<li>Support all allowed <code>node</code> flags as supported by the running version of <code>node</code> (also thanks to <a href="https://urls.greenkeeper.io/demurgos"><strong>@demurgos</strong></a>)</li>
<li>Support any V8 flag by prepending <code>--v8-</code> to the flag name</li>
<li>All flags are also supported via config files, <code>package.json</code> properties, or <code>mocha.opts</code></li>
<li>Debug-related flags (e.g., <code>--inspect</code>) now <em>imply</em> <code>--no-timeouts</code></li>
<li>Use of e.g., <code>--debug</code> will automatically invoke <code>--inspect</code> if supported by running version of <code>node</code></li>
</ul>
</li>
<li>
<p>Support negation of any Mocha-specific command-line flag by prepending <code>--no-</code> to the flag name</p>
</li>
<li>
<p>Interfaces now have descriptions when listed using <code>--interfaces</code> flag</p>
</li>
<li>
<p><code>Mocha</code> constructor supports all options</p>
</li>
<li>
<p><code>--extension</code> is now an alias for <code>--watch-extensions</code> and affects <em>non-watch-mode</em> test runs as well.  For example, to run <em>only</em> <code>test/*.coffee</code> (not <code>test/*.js</code>), you can do <code>mocha --require coffee-script/register --extensions coffee</code>.</p>
</li>
<li>
<p><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3552" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3552/hovercard">#3552</a>: <code>tap</code> reporter is now TAP13-capable (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a> &amp; <a href="https://urls.greenkeeper.io/mollstam"><strong>@mollstam</strong></a>)</p>
</li>
<li>
<p><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3535" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3535/hovercard">#3535</a>: Mocha's version can now be queried programmatically via public property <code>Mocha.prototype.version</code> (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</p>
</li>
<li>
<p><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3428" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3428/hovercard">#3428</a>: <code>xunit</code> reporter shows diffs (<a href="https://urls.greenkeeper.io/mlucool"><strong>@mlucool</strong></a>)</p>
</li>
<li>
<p><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2529" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2529/hovercard">#2529</a>: <code>Runner</code> now emits a <code>retry</code> event when tests are retried (reporters can listen for this) (<a href="https://urls.greenkeeper.io/catdad"><strong>@catdad</strong></a>)</p>
</li>
<li>
<p><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2962" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/2962/hovercard">#2962</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3111" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3111/hovercard">#3111</a>: In-browser notification support; warn about missing prereqs when <code>--growl</code> supplied (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</p>
</li>
</ul>
<h2><g-emoji class="g-emoji" alias="bug" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f41b.png">🐛</g-emoji> Fixes</h2>
<ul>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3737" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3737/hovercard">#3737</a>: Fix falsy values from options globals (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3707" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3707/hovercard">#3707</a>: Fix encapsulation issues for <code>Suite#_onlyTests</code> and <code>Suite#_onlySuites</code> (<a href="https://urls.greenkeeper.io/vkarpov15"><strong>@vkarpov15</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3711" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3711/hovercard">#3711</a>: Fix diagnostic messages dealing with plurality and markup of output (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3723" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3723/hovercard">#3723</a>: Fix "reporter-option" to allow comma-separated options (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3722" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3722/hovercard">#3722</a>: Fix code quality and performance of <code>lookupFiles</code> and <code>files</code> (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3650" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3650/hovercard">#3650</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3654" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3654/hovercard">#3654</a>: Fix noisy error message when no files found (<a href="https://urls.greenkeeper.io/craigtaub"><strong>@craigtaub</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3632" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3632/hovercard">#3632</a>: Tests having an empty title are no longer confused with the "root" suite (<a href="https://urls.greenkeeper.io/juergba"><strong>@juergba</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3666" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3666/hovercard">#3666</a>: Fix missing error codes (<a href="https://urls.greenkeeper.io/vkarpov15"><strong>@vkarpov15</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3684" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3684/hovercard">#3684</a>: Fix exiting problem in Node.js v11.7.0+ (<a href="https://urls.greenkeeper.io/addaleax"><strong>@addaleax</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3691" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3691/hovercard">#3691</a>: Fix <code>--delay</code> (and other boolean options) not working in all cases (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3692" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3692/hovercard">#3692</a>: Fix invalid command-line argument usage not causing actual errors (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3698" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3698/hovercard">#3698</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3699" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3699/hovercard">#3699</a>: Fix debug-related Node.js options not working in all cases (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3700" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3700/hovercard">#3700</a>: Growl notifications now show the correct number of tests run (<a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3686" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3686/hovercard">#3686</a>: Avoid potential ReDoS when diffing large objects (<a href="https://urls.greenkeeper.io/cyjake"><strong>@cyjake</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3715" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3715/hovercard">#3715</a>: Fix incorrect order of emitted events when used programmatically (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3706" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3706/hovercard">#3706</a>: Fix regression wherein <code>--reporter-option</code>/<code>--reporter-options</code> did not support comma-separated key/value pairs (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li>Fix missing <code>mocharc.json</code> in published package (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3356" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/3356/hovercard">#3356</a>: <code>--no-timeouts</code> and <code>--timeout 0</code> now does what you'd expect (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3475" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3475/hovercard">#3475</a>: Restore <code>--no-exit</code> option (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3570" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3570/hovercard">#3570</a>: Long-running tests now respect <code>SIGINT</code> (<a href="https://urls.greenkeeper.io/boneskull"><strong>@boneskull</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2944" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2944/hovercard">#2944</a>: <code>--forbid-only</code> and <code>--forbid-pending</code> now "fail fast" when encountered on a suite (<a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/1652" data-hovercard-type="pull_request" data-hovercard-url="/mochajs/mocha/pull/1652/hovercard">#1652</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2951" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2951/hovercard">#2951</a>: Fix broken clamping of timeout values (<a href="https://urls.greenkeeper.io/plroebuck"><strong>@plroebuck</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2753" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2753/hovercard">#2753</a>: <code>start</code> and <code>end</code> events now emitted properly from <code>Runner</code> instance when using Mocha programmatically (<a href="https://urls.greenkeeper.io/outsideris"><strong>@outsideris</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/2095" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/2095/hovercard">#2095</a>, <a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3521" data-hovercard-type="issue" data-hovercard-url="/mochajs/mocha/issues/3521/hovercard">#3521</a>: Do not log <code>stdout:</code> prefix in browser console (<a href="https://urls.greenkeeper.io/Bamieh"><strong>@Bamieh</strong></a>)</li>
<li><a href="https://urls.greenkeeper.io/mochajs/mocha/issues/3595" data-hovercar