mochajs/mocha
### [`v8.0.0`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#800--2020-06-10)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v7.2.0...v8.0.0)
In this major release, Mocha adds the ability to *run tests in parallel*. Better late than never! Please note the **breaking changes** detailed below.
Let's welcome [**@giltayar**](https://togithub.com/giltayar) and [**@nicojs**](https://togithub.com/nicojs) to the maintenance team!
#### :boom: Breaking Changes
- [#4164](https://togithub.com/mochajs/mocha/issues/4164): **Mocha v8.0.0 now requires Node.js v10.12.0 or newer.** Mocha no longer supports the Node.js v8.x line ("Carbon"), which entered End-of-Life at the end of 2019 ([**@UlisesGascon**](https://togithub.com/UlisesGascon))
- [#4175](https://togithub.com/mochajs/mocha/issues/4175): Having been deprecated with a warning since v7.0.0, **`mocha.opts` is no longer supported** ([**@juergba**](https://togithub.com/juergba))
:sparkles: **WORKAROUND:** Replace `mocha.opts` with a [configuration file](https://mochajs.org/#configuring-mocha-nodejs).
- [#4260](https://togithub.com/mochajs/mocha/issues/4260): Remove `enableTimeout()` (`this.enableTimeout()`) from the context object ([**@craigtaub**](https://togithub.com/craigtaub))
:sparkles: **WORKAROUND:** Replace usage of `this.enableTimeout(false)` in your tests with `this.timeout(0)`.
- [#4315](https://togithub.com/mochajs/mocha/issues/4315): The `spec` option no longer supports a comma-delimited list of files ([**@juergba**](https://togithub.com/juergba))
:sparkles: **WORKAROUND**: Use an array instead (e.g., `"spec": "foo.js,bar.js"` becomes `"spec": ["foo.js", "bar.js"]`).
- [#4309](https://togithub.com/mochajs/mocha/issues/4309): Drop support for Node.js v13.x line, which is now End-of-Life ([**@juergba**](https://togithub.com/juergba))
- [#4282](https://togithub.com/mochajs/mocha/issues/4282): `--forbid-only` will throw an error even if exclusive tests are avoided via `--grep` or other means ([**@arvidOtt**](https://togithub.com/arvidOtt))
- [#4223](https://togithub.com/mochajs/mocha/issues/4223): The context object's `skip()` (`this.skip()`) in a "before all" (`before()`) hook will no longer execute subsequent sibling hooks, in addition to hooks in child suites ([**@juergba**](https://togithub.com/juergba))
- [#4178](https://togithub.com/mochajs/mocha/issues/4178): Remove previously soft-deprecated APIs ([**@wnghdcjfe**](https://togithub.com/wnghdcjfe)):
- `Mocha.prototype.ignoreLeaks()`
- `Mocha.prototype.useColors()`
- `Mocha.prototype.useInlineDiffs()`
- `Mocha.prototype.hideDiff()`
#### :tada: Enhancements
- [#4245](https://togithub.com/mochajs/mocha/issues/4245): Add ability to run tests in parallel for Node.js (see [docs](https://mochajs.org/#parallel-tests)) ([**@boneskull**](https://togithub.com/boneskull))
:exclamation: See also [#4244](https://togithub.com/mochajs/mocha/issues/4244); [Root Hook Plugins (docs)](https://mochajs.org/#root-hook-plugins) -- *root hooks must be defined via Root Hook Plugins to work in parallel mode*
- [#4304](https://togithub.com/mochajs/mocha/issues/4304): `--require` now works with ES modules ([**@JacobLey**](https://togithub.com/JacobLey))
- [#4299](https://togithub.com/mochajs/mocha/issues/4299): In some circumstances, Mocha can run ES modules under Node.js v10 -- *use at your own risk!* ([**@giltayar**](https://togithub.com/giltayar))
#### :book: Documentation
- [#4246](https://togithub.com/mochajs/mocha/issues/4246): Add documentation for parallel mode and Root Hook plugins ([**@boneskull**](https://togithub.com/boneskull))
#### :nut_and_bolt: Other
- [#4200](https://togithub.com/mochajs/mocha/issues/4200): Drop mkdirp and replace it with fs.mkdirSync ([**@HyunSangHan**](https://togithub.com/HyunSangHan))
#### :bug: Fixes
(All bug fixes in Mocha v8.0.0 are also breaking changes, and are listed above)
### [`v7.2.0`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#720--2020-05-22)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v7.1.2...v7.2.0)
#### :tada: Enhancements
- [#4234](https://togithub.com/mochajs/mocha/issues/4234): Add ability to run tests in a mocha instance multiple times ([**@nicojs**](https://togithub.com/nicojs))
- [#4219](https://togithub.com/mochajs/mocha/issues/4219): Exposing filename in JSON, doc, and json-stream reporters ([**@Daniel0113**](https://togithub.com/Daniel0113))
- [#4244](https://togithub.com/mochajs/mocha/issues/4244): Add Root Hook Plugins ([**@boneskull**](https://togithub.com/boneskull))
#### :bug: Fixes
- [#4258](https://togithub.com/mochajs/mocha/issues/4258): Fix missing dot in name of configuration file ([**@sonicdoe**](https://togithub.com/sonicdoe))
- [#4194](https://togithub.com/mochajs/mocha/issues/4194): Check if module.paths really exists ([**@ematipico**](https://togithub.com/ematipico))
- [#4256](https://togithub.com/mochajs/mocha/issues/4256): `--forbid-only` does not recognize `it.only` when `before` crashes ([**@arvidOtt**](https://togithub.com/arvidOtt))
- [#4152](https://togithub.com/mochajs/mocha/issues/4152): Bug with multiple async done() calls ([**@boneskull**](https://togithub.com/boneskull))
- [#4275](https://togithub.com/mochajs/mocha/issues/4275): Improper warnings for invalid reporters ([**@boneskull**](https://togithub.com/boneskull))
- [#4288](https://togithub.com/mochajs/mocha/issues/4288): Broken hook.spec.js test for IE11 ([**@boneskull**](https://togithub.com/boneskull))
#### :book: Documentation
- [#4081](https://togithub.com/mochajs/mocha/issues/4081): Insufficient white space for API docs in view on mobile ([**@HyunSangHan**](https://togithub.com/HyunSangHan))
- [#4255](https://togithub.com/mochajs/mocha/issues/4255): Update mocha-docdash for UI fixes on API docs ([**@craigtaub**](https://togithub.com/craigtaub))
- [#4235](https://togithub.com/mochajs/mocha/issues/4235): Enable emoji on website; enable normal ul elements ([**@boneskull**](https://togithub.com/boneskull))
- [#4272](https://togithub.com/mochajs/mocha/issues/4272): Fetch sponsors at build time, show ALL non-skeevy sponsors ([**@boneskull**](https://togithub.com/boneskull))
#### :nut_and_bolt: Other
- [#4249](https://togithub.com/mochajs/mocha/issues/4249): Refactoring improving encapsulation ([**@arvidOtt**](https://togithub.com/arvidOtt))
- [#4242](https://togithub.com/mochajs/mocha/issues/4242): CI add job names, add Node.js v14 to matrix ([**@boneskull**](https://togithub.com/boneskull))
- [#4237](https://togithub.com/mochajs/mocha/issues/4237): Refactor validatePlugins to throw coded errors ([**@boneskull**](https://togithub.com/boneskull))
- [#4236](https://togithub.com/mochajs/mocha/issues/4236): Better debug output ([**@boneskull**](https://togithub.com/boneskull))
### [`v7.1.2`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#712--2020-04-26)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v7.1.1...v7.1.2)
#### :nut_and_bolt: Other
- [#4251](https://togithub.com/mochajs/mocha/issues/4251): Prevent karma-mocha from stalling ([**@juergba**](https://togithub.com/juergba))
- [#4222](https://togithub.com/mochajs/mocha/issues/4222): Update dependency mkdirp to v0.5.5 ([**@outsideris**](https://togithub.com/outsideris))
#### :book: Documentation
- [#4208](https://togithub.com/mochajs/mocha/issues/4208): Add Wallaby logo to site ([**@boneskull**](https://togithub.com/boneskull))
### [`v7.1.1`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#711--2020-03-18)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v7.1.0...v7.1.1)
#### :lock: Security Fixes
- [#4204](https://togithub.com/mochajs/mocha/issues/4204): Update dependencies mkdirp, yargs-parser and yargs ([**@juergba**](https://togithub.com/juergba))
#### :bug: Fixes
- [#3660](https://togithub.com/mochajs/mocha/issues/3660): Fix `runner` listening to `start` and `end` events ([**@juergba**](https://togithub.com/juergba))
#### :book: Documentation
- [#4190](https://togithub.com/mochajs/mocha/issues/4190): Show Netlify badge on footer ([**@outsideris**](https://togithub.com/outsideris))
### [`v7.1.0`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#710--2020-02-26)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v7.0.1...v7.1.0)
#### :tada: Enhancements
[#4038](https://togithub.com/mochajs/mocha/issues/4038): Add Node.js native ESM support ([**@giltayar**](https://togithub.com/giltayar))
Mocha supports writing your test files as ES modules:
- Node.js only v12.11.0 and above
- Node.js below v13.2.0, you must set `--experimental-modules` option
- current limitations: please check our [documentation](https://mochajs.org/#nodejs-native-esm-support)
- for programmatic usage: see [API: loadFilesAsync()](https://mochajs.org/api/mocha#loadFilesAsync)
**Note:** Node.JS native [ECMAScript Modules](https://nodejs.org/api/esm.html) implementation has status: **Stability: 1 - Experimental**
#### :bug: Fixes
- [#4181](https://togithub.com/mochajs/mocha/issues/4181): Programmatic API cannot access retried test objects ([**@juergba**](https://togithub.com/juergba))
- [#4174](https://togithub.com/mochajs/mocha/issues/4174): Browser: fix `allowUncaught` option ([**@juergba**](https://togithub.com/juergba))
#### :book: Documentation
- [#4058](https://togithub.com/mochajs/mocha/issues/4058): Manage author list in AUTHORS instead of `package.json` ([**@outsideris**](https://togithub.com/outsideris))
#### :nut_and_bolt: Other
- [#4138](https://togithub.com/mochajs/mocha/issues/4138): Upgrade ESLint v6.8 ([**@kaicataldo**](https://togithub.com/kaicataldo))
### [`v7.0.1`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#701--2020-01-25)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v7.0.0...v7.0.1)
#### :bug: Fixes
- [#4165](https://togithub.com/mochajs/mocha/issues/4165): Fix exception when skipping tests programmatically ([**@juergba**](https://togithub.com/juergba))
- [#4153](https://togithub.com/mochajs/mocha/issues/4153): Restore backwards compatibility for `reporterOptions` ([**@holm**](https://togithub.com/holm))
- [#4150](https://togithub.com/mochajs/mocha/issues/4150): Fix recovery of an open test upon uncaught exception ([**@juergba**](https://togithub.com/juergba))
- [#4147](https://togithub.com/mochajs/mocha/issues/4147): Fix regression of leaking uncaught exception handler ([**@juergba**](https://togithub.com/juergba))
#### :book: Documentation
- [#4146](https://togithub.com/mochajs/mocha/issues/4146): Update copyright & trademark notices per OJSF ([**@boneskull**](https://togithub.com/boneskull))
- [#4140](https://togithub.com/mochajs/mocha/issues/4140): Fix broken links ([**@KyoungWan**](https://togithub.com/KyoungWan))
#### :nut_and_bolt: Other
- [#4133](https://togithub.com/mochajs/mocha/issues/4133): Print more descriptive error message ([**@Zirak**](https://togithub.com/Zirak))
### [`v7.0.0`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#700--2020-01-05)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v6.2.3...v7.0.0)
#### :boom: Breaking Changes
- [#3885](https://togithub.com/mochajs/mocha/issues/3885): **Drop Node.js v6.x support** ([**@mojosoeun**](https://togithub.com/mojosoeun))
- [#3890](https://togithub.com/mochajs/mocha/issues/3890): Remove Node.js debug-related flags `--debug`/`--debug-brk` and deprecate `debug` argument ([**@juergba**](https://togithub.com/juergba))
- [#3962](https://togithub.com/mochajs/mocha/issues/3962): Changes to command-line options ([**@ParkSB**](https://togithub.com/ParkSB)):
- `--list-interfaces` replaces `--interfaces`
- `--list-reporters` replaces `--reporters`
- Hook pattern of `this.skip()` ([**@juergba**](https://togithub.com/juergba)):
- [#3859](https://togithub.com/mochajs/mocha/issues/3859): When conditionally skipping in a `it` test, related `afterEach` hooks are now executed
- [#3741](https://togithub.com/mochajs/mocha/issues/3741): When conditionally skipping in a `beforeEach` hook, subsequent inner `beforeEach` hooks are now skipped and related `afterEach` hooks are executed
- [#4136](https://togithub.com/mochajs/mocha/issues/4136): Disallow `this.skip()` within `after` hooks
- [#3967](https://togithub.com/mochajs/mocha/issues/3967): Remove deprecated `getOptions()` and `lib/cli/options.js` ([**@juergba**](https://togithub.com/juergba))
- [#4083](https://togithub.com/mochajs/mocha/issues/4083): Uncaught exception in `pending` test: don't swallow, but retrospectively fail the test for correct exit code ([**@juergba**](https://togithub.com/juergba))
- [#4004](https://togithub.com/mochajs/mocha/issues/4004): Align `Mocha` constructor's option names with command-line options ([**@juergba**](https://togithub.com/juergba))
#### :tada: Enhancements
- [#3980](https://togithub.com/mochajs/mocha/issues/3980): Refactor and improve `--watch` mode with chokidar ([**@geigerzaehler**](https://togithub.com/geigerzaehler)):
- adds command-line options `--watch-files` and `--watch-ignore`
- removes `--watch-extensions`
- [#3979](https://togithub.com/mochajs/mocha/issues/3979): Type "rs\n" to restart tests ([**@broofa**](https://togithub.com/broofa))
#### :fax: Deprecations
These are *soft*-deprecated, and will emit a warning upon use. Support will be removed in (likely) the next major version of Mocha:
- [#3968](https://togithub.com/mochajs/mocha/issues/3968): Deprecate legacy configuration via `mocha.opts` ([**@juergba**](https://togithub.com/juergba))
#### :bug: Fixes
- [#4125](https://togithub.com/mochajs/mocha/issues/4125): Fix timeout handling with `--inspect-brk`/`--inspect` ([**@juergba**](https://togithub.com/juergba))
- [#4070](https://togithub.com/mochajs/mocha/issues/4070): `Mocha` constructor: improve browser setup ([**@juergba**](https://togithub.com/juergba))
- [#4068](https://togithub.com/mochajs/mocha/issues/4068): XUnit reporter should handle exceptions during diff generation ([**@rgroothuijsen**](https://togithub.com/rgroothuijsen))
- [#4030](https://togithub.com/mochajs/mocha/issues/4030): Fix `--allow-uncaught` with `this.skip()` ([**@juergba**](https://togithub.com/juergba))
#### :mag: Coverage
- [#4109](https://togithub.com/mochajs/mocha/issues/4109): Add Node.js v13.x to CI test matrix ([**@juergba**](https://togithub.com/juergba))
#### :book: Documentation
- [#4129](https://togithub.com/mochajs/mocha/issues/4129): Fix broken links ([**@SaeromB**](https://togithub.com/SaeromB))
- [#4127](https://togithub.com/mochajs/mocha/issues/4127): Add reporter alias names to docs ([**@khg0712**](https://togithub.com/khg0712))
- [#4101](https://togithub.com/mochajs/mocha/issues/4101): Clarify invalid usage of `done()` ([**@jgehrcke**](https://togithub.com/jgehrcke))
- [#4092](https://togithub.com/mochajs/mocha/issues/4092): Replace `:coffee:` with emoji ☕️ ([**@pzrq**](https://togithub.com/pzrq))
- [#4088](https://togithub.com/mochajs/mocha/issues/4088): Initial draft of project charter ([**@boneskull**](https://togithub.com/boneskull))
- [#4066](https://togithub.com/mochajs/mocha/issues/4066): Change `sh` to `bash` for code block in docs/index.md ([**@HyunSangHan**](https://togithub.com/HyunSangHan))
- [#4045](https://togithub.com/mochajs/mocha/issues/4045): Update README.md concerning GraphicsMagick installation ([**@HyunSangHan**](https://togithub.com/HyunSangHan))
- [#3988](https://togithub.com/mochajs/mocha/issues/3988): Fix sponsors background color for readability ([**@outsideris**](https://togithub.com/outsideris))
#### :nut_and_bolt: Other
- [#4118](https://togithub.com/mochajs/mocha/issues/4118): Update node-environment-flags to 1.0.6 ([**@kylef**](https://togithub.com/kylef))
- [#4097](https://togithub.com/mochajs/mocha/issues/4097): Add GH Funding Metadata ([**@SheetJSDev**](https://togithub.com/SheetJSDev))
- [#4089](https://togithub.com/mochajs/mocha/issues/4089): Add funding information to `package.json` ([**@Munter**](https://togithub.com/Munter))
- [#4077](https://togithub.com/mochajs/mocha/issues/4077): Improve integration tests ([**@soobing**](https://togithub.com/soobing))
### [`v6.2.3`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#623--2020-03-25)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v6.2.2...v6.2.3)
#### :lock: Security Fixes
- [848d6fb8](https://togithub.com/mochajs/mocha/commit/848d6fb8feef659564b296db457312d38176910d): Update dependencies mkdirp, yargs-parser and yargs ([**@juergba**](https://togithub.com/juergba))
### [`v6.2.2`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#622--2019-10-18)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v6.2.1...v6.2.2)
#### :bug: Fixes
- [#4025](https://togithub.com/mochajs/mocha/issues/4025): Fix duplicate `EVENT_RUN_END` events upon uncaught exception ([**@juergba**](https://togithub.com/juergba))
- [#4051](https://togithub.com/mochajs/mocha/issues/4051): Fix "unhide" function in `html` reporter (browser) ([**@pec9399**](https://togithub.com/pec9399))
- [#4063](https://togithub.com/mochajs/mocha/issues/4063): Fix use of [esm](https://npm.im/esm) in Node.js v8.x ([**@boneskull**](https://togithub.com/boneskull))
- [#4033](https://togithub.com/mochajs/mocha/issues/4033): Fix output when multiple async exceptions are thrown ([**@juergba**](https://togithub.com/juergba))
#### :book: Documentation
- [#4046](https://togithub.com/mochajs/mocha/issues/4046): Site accessibility fixes ([**@Mia-jeong**](https://togithub.com/Mia-jeong))
- [#4026](https://togithub.com/mochajs/mocha/issues/4026): Update docs for custom reporters in browser ([**@Lindsay-Needs-Sleep**](https://togithub.com/Lindsay-Needs-Sleep))
- [#3971](https://togithub.com/mochajs/mocha/issues/3971): Adopt new OpenJS Foundation Code of Conduct ([**@craigtaub**](https://togithub.com/craigtaub))
### [`v6.2.1`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#621--2019-09-29)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v6.2.0...v6.2.1)
#### :bug: Fixes
- [#3955](https://togithub.com/mochajs/mocha/issues/3955): tty.getWindowSize is not a function inside a "worker_threads" worker ([**@1999**](https://togithub.com/1999))
- [#3970](https://togithub.com/mochajs/mocha/issues/3970): remove extraGlobals() ([**@juergba**](https://togithub.com/juergba))
- [#3984](https://togithub.com/mochajs/mocha/issues/3984): Update yargs-unparser to v1.6.0 ([**@juergba**](https://togithub.com/juergba))
- [#3983](https://togithub.com/mochajs/mocha/issues/3983): Package 'esm': spawn child-process for correct loading ([**@juergba**](https://togithub.com/juergba))
- [#3986](https://togithub.com/mochajs/mocha/issues/3986): Update yargs to v13.3.0 and yargs-parser to v13.1.1 ([**@juergba**](https://togithub.com/juergba))
#### :book: Documentation
- [#3886](https://togithub.com/mochajs/mocha/issues/3886): fix styles on mochajs.org ([**@outsideris**](https://togithub.com/outsideris))
- [#3966](https://togithub.com/mochajs/mocha/issues/3966): Remove jsdoc index.html placeholder from eleventy file structure and fix broken link in jsdoc tutorial ([**@Munter**](https://togithub.com/Munter))
- [#3765](https://togithub.com/mochajs/mocha/issues/3765): Add Matomo to website ([**@MarioDiaz98**](https://togithub.com/MarioDiaz98))
- [#3947](https://togithub.com/mochajs/mocha/issues/3947): Clarify effect of .skip() ([**@oliversalzburg**](https://togithub.com/oliversalzburg))
### [`v6.2.0`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#620--2019-07-18)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v6.1.4...v6.2.0)
#### :tada: Enhancements
- [#3827](https://togithub.com/mochajs/mocha/issues/3827): Do not fork child-process if no Node flags are present ([**@boneskull**](https://togithub.com/boneskull))
- [#3725](https://togithub.com/mochajs/mocha/issues/3725): Base reporter store ref to console.log, see [mocha/wiki](https://togithub.com/mochajs/mocha/wiki/HOW-TO:-Correctly-stub-stdout) ([**@craigtaub**](https://togithub.com/craigtaub))
#### :bug: Fixes
- [#3942](https://togithub.com/mochajs/mocha/issues/3942): Fix "No test files found" Error when file is passed via `--file` ([**@gabegorelick**](https://togithub.com/gabegorelick))
- [#3914](https://togithub.com/mochajs/mocha/issues/3914): Modify Mocha constructor to accept options `global` or `globals` ([**@pascalpp**](https://togithub.com/pascalpp))
- [#3894](https://togithub.com/mochajs/mocha/issues/3894): Fix parsing of config files with `_mocha` binary ([**@juergba**](https://togithub.com/juergba))
- [#3834](https://togithub.com/mochajs/mocha/issues/3834): Fix CLI parsing with default values ([**@boneskull**](https://togithub.com/boneskull), [**@juergba**](https://togithub.com/juergba))
- [#3831](https://togithub.com/mochajs/mocha/issues/3831): Fix `--timeout`/`--slow` string values and duplicate arguments ([**@boneskull**](https://togithub.com/boneskull), [**@juergba**](https://togithub.com/juergba))
#### :book: Documentation
- [#3906](https://togithub.com/mochajs/mocha/issues/3906): Document option to define custom report name for XUnit reporter ([**@pkuczynski**](https://togithub.com/pkuczynski))
- [#3889](https://togithub.com/mochajs/mocha/issues/3889): Adds doc links for mocha-examples ([**@craigtaub**](https://togithub.com/craigtaub))
- [#3887](https://togithub.com/mochajs/mocha/issues/3887): Fix broken links ([**@toyjhlee**](https://togithub.com/toyjhlee))
- [#3841](https://togithub.com/mochajs/mocha/issues/3841): Fix anchors to configuration section ([**@trescube**](https://togithub.com/trescube))
#### :mag: Coverage
- [#3915](https://togithub.com/mochajs/mocha/issues/3915), [#3929](https://togithub.com/mochajs/mocha/issues/3929): Increase tests coverage for `--watch` options ([**@geigerzaehler**](https://togithub.com/geigerzaehler))
#### :nut_and_bolt: Other
- [#3953](https://togithub.com/mochajs/mocha/issues/3953): Collect test files later, prepares improvements to the `--watch` mode behavior ([**@geigerzaehler**](https://togithub.com/geigerzaehler))
- [#3939](https://togithub.com/mochajs/mocha/issues/3939): Upgrade for npm audit ([**@boneskull**](https://togithub.com/boneskull))
- [#3930](https://togithub.com/mochajs/mocha/issues/3930): Extract `runWatch` into separate module ([**@geigerzaehler**](https://togithub.com/geigerzaehler))
- [#3922](https://togithub.com/mochajs/mocha/issues/3922): Add `mocha.min.js` file to stacktrace filter ([**@brian-lagerman**](https://togithub.com/brian-lagerman))
- [#3919](https://togithub.com/mochajs/mocha/issues/3919): Update CI config files to use Node-12.x ([**@plroebuck**](https://togithub.com/plroebuck))
- [#3892](https://togithub.com/mochajs/mocha/issues/3892): Rework reporter tests ([**@plroebuck**](https://togithub.com/plroebuck))
- [#3872](https://togithub.com/mochajs/mocha/issues/3872): Rename `--exclude` to `--ignore` and create alias ([**@boneskull**](https://togithub.com/boneskull))
- [#3963](https://togithub.com/mochajs/mocha/issues/3963): Hide stacktrace when cli args are missing ([**@outsideris**](https://togithub.com/outsideris))
- [#3956](https://togithub.com/mochajs/mocha/issues/3956): Do not redeclare variable in docs array example ([**@DanielRuf**](https://togithub.com/DanielRuf))
- [#3957](https://togithub.com/mochajs/mocha/issues/3957): Remove duplicate line-height property in `mocha.css` ([**@DanielRuf**](https://togithub.com/DanielRuf))
- [#3960](https://togithub.com/mochajs/mocha/issues/3960): Don't re-initialize grep option on watch re-run ([**@geigerzaehler**](https://togithub.com/geigerzaehler))
### [`v6.1.4`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#614--2019-04-18)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v6.1.3...v6.1.4)
#### :lock: Security Fixes
- [#3877](https://togithub.com/mochajs/mocha/issues/3877): Upgrade [js-yaml](https://npm.im/js-yaml), addressing [code injection vulnerability](https://www.npmjs.com/advisories/813) ([**@bjornstar**](https://togithub.com/bjornstar))
### [`v6.1.3`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#613--2019-04-11)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v6.1.2...v6.1.3)
#### :bug: Fixes
- [#3863](https://togithub.com/mochajs/mocha/issues/3863): Fix `yargs`-related global scope pollution ([**@inukshuk**](https://togithub.com/inukshuk))
- [#3869](https://togithub.com/mochajs/mocha/issues/3869): Fix failure when installed w/ `pnpm` ([**@boneskull**](https://togithub.com/boneskull))
### [`v6.1.2`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#612--2019-04-08)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v6.1.1...v6.1.2)
#### :bug: Fixes
- [#3867](https://togithub.com/mochajs/mocha/issues/3867): Re-publish v6.1.1 from POSIX OS to avoid dropped executable flags ([**@boneskull**](https://togithub.com/boneskull))
### [`v6.1.1`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#611--2019-04-07)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v6.1.0...v6.1.1)
#### :bug: Fixes
- [#3866](https://togithub.com/mochajs/mocha/issues/3866): Fix Windows End-of-Line publishing issue ([**@juergba**](https://togithub.com/juergba) & [**@cspotcode**](https://togithub.com/cspotcode))
### [`v6.1.0`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#610--2019-04-07)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v6.0.2...v6.1.0)
#### :lock: Security Fixes
- [#3845](https://togithub.com/mochajs/mocha/issues/3845): Update dependency "js-yaml" to v3.13.0 per npm security advisory ([**@plroebuck**](https://togithub.com/plroebuck))
#### :tada: Enhancements
- [#3766](https://togithub.com/mochajs/mocha/issues/3766): Make reporter constructor support optional `options` parameter ([**@plroebuck**](https://togithub.com/plroebuck))
- [#3760](https://togithub.com/mochajs/mocha/issues/3760): Add support for config files with `.jsonc` extension ([**@sstephant**](https://togithub.com/sstephant))
#### :fax: Deprecations
These are *soft*-deprecated, and will emit a warning upon use. Support will be removed in (likely) the next major version of Mocha:
- [#3719](https://togithub.com/mochajs/mocha/issues/3719): Deprecate `this.skip()` for "after all" hooks ([**@juergba**](https://togithub.com/juergba))
#### :bug: Fixes
- [#3829](https://togithub.com/mochajs/mocha/issues/3829): Use cwd-relative pathname to load config file ([**@plroebuck**](https://togithub.com/plroebuck))
- [#3745](https://togithub.com/mochajs/mocha/issues/3745): Fix async calls of `this.skip()` in "before each" hooks ([**@juergba**](https://togithub.com/juergba))
- [#3669](https://togithub.com/mochajs/mocha/issues/3669): Enable `--allow-uncaught` for uncaught exceptions thrown inside hooks ([**@givanse**](https://togithub.com/givanse))
and some regressions:
- [#3848](https://togithub.com/mochajs/mocha/issues/3848): Fix `Suite` cloning by copying `root` property ([**@fatso83**](https://togithub.com/fatso83))
- [#3816](https://togithub.com/mochajs/mocha/issues/3816): Guard against undefined timeout option ([**@boneskull**](https://togithub.com/boneskull))
- [#3814](https://togithub.com/mochajs/mocha/issues/3814): Update "yargs" in order to avoid deprecation message ([**@boneskull**](https://togithub.com/boneskull))
- [#3788](https://togithub.com/mochajs/mocha/issues/3788): Fix support for multiple node flags ([**@aginzberg**](https://togithub.com/aginzberg))
#### :book: Documentation
- [mochajs/mocha-examples](https://togithub.com/mochajs/mocha-examples): New repository of working examples of common configurations using mocha ([**@craigtaub**](https://togithub.com/craigtaub))
- [#3850](https://togithub.com/mochajs/mocha/issues/3850): Remove pound icon showing on header hover on docs ([**@jd2rogers2**](https://togithub.com/jd2rogers2))
- [#3812](https://togithub.com/mochajs/mocha/issues/3812): Add autoprefixer to documentation page CSS ([**@Munter**](https://togithub.com/Munter))
- [#3811](https://togithub.com/mochajs/mocha/issues/3811): Update doc examples "tests.html" ([**@DavidLi119**](https://togithub.com/DavidLi119))
- [#3807](https://togithub.com/mochajs/mocha/issues/3807): Mocha website HTML tweaks ([**@plroebuck**](https://togithub.com/plroebuck))
- [#3793](https://togithub.com/mochajs/mocha/issues/3793): Update config file example ".mocharc.yml" ([**@cspotcode**](https://togithub.com/cspotcode))
#### :nut_and_bolt: Other
- [#3830](https://togithub.com/mochajs/mocha/issues/3830): Replace dependency "findup-sync" with "find-up" for faster startup ([**@cspotcode**](https://togithub.com/cspotcode))
- [#3799](https://togithub.com/mochajs/mocha/issues/3799): Update devDependencies to fix many npm vulnerabilities ([**@XhmikosR**](https://togithub.com/XhmikosR))
### [`v6.0.2`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#602--2019-02-25)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v6.0.1...v6.0.2)
#### :bug: Fixes
Two more regressions fixed:
- [#3768](https://togithub.com/mochajs/mocha/issues/3768): Test file paths no longer dropped from `mocha.opts` ([**@boneskull**](https://togithub.com/boneskull))
- [#3767](https://togithub.com/mochajs/mocha/issues/3767): `--require` does not break on module names that look like certain `node` flags ([**@boneskull**](https://togithub.com/boneskull))
### [`v6.0.1`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#601--2019-02-21)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v6.0.0...v6.0.1)
The obligatory round of post-major-release bugfixes.
#### :bug: Fixes
These issues were regressions.
- [#3754](https://togithub.com/mochajs/mocha/issues/3754): Mocha again finds `test.js` when run without arguments ([**@plroebuck**](https://togithub.com/plroebuck))
- [#3756](https://togithub.com/mochajs/mocha/issues/3756): Mocha again supports third-party interfaces via `--ui` ([**@boneskull**](https://togithub.com/boneskull))
- [#3755](https://togithub.com/mochajs/mocha/issues/3755): Fix broken `--watch` ([**@boneskull**](https://togithub.com/boneskull))
- [#3759](https://togithub.com/mochajs/mocha/issues/3759): Fix unwelcome deprecation notice when Mocha run against languages (CoffeeScript) with implicit return statements; *returning a non-`undefined` value from a `describe` callback is no longer considered deprecated* ([**@boneskull**](https://togithub.com/boneskull))
#### :book: Documentation
- [#3738](https://togithub.com/mochajs/mocha/issues/3738): Upgrade to `@mocha/docdash@2` ([**@tendonstrength**](https://togithub.com/tendonstrength))
- [#3751](https://togithub.com/mochajs/mocha/issues/3751): Use preferred names for example config files ([**@Szauka**](https://togithub.com/Szauka))
### [`v6.0.0`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#600--2019-02-18)
[Compare Source](https://togithub.com/mochajs/mocha/compare/v5.2.0...v6.0.0)
#### :tada: Enhancements
- [#3726](https://togithub.com/mochajs/mocha/issues/3726): Add ability to unload files from `require` cache ([**@plroebuck**](https://togithub.com/plroebuck))
#### :bug: Fixes
- [#3737](https://togithub.com/mochajs/mocha/issues/3737): Fix falsy values from options globals ([**@plroebuck**](https://togithub.com/plroebuck))
- [#3707](https://togithub.com/mochajs/mocha/issues/3707): Fix encapsulation issues for `Suite#_onlyTests` and `Suite#_onlySuites` ([**@vkarpov15**](https://togithub.com/vkarpov15))
- [#3711](https://togithub.com/mochajs/mocha/issues/3711): Fix diagnostic messages dealing with plurality and markup of output ([**@plroebuck**](https://togithub.com/plroebuck))
- [#3723](https://togithub.com/mochajs/mocha/issues/3723): Fix "reporter-option" to allow comma-separated options ([**@boneskull**](https://togithub.com/boneskull))
- [#3722](https://togithub.com/mochajs/mocha/issues/3722): Fix code quality and performance of `lookupFiles` and `files` ([**@plroebuck**](https://togithub.com/plroebuck))
- [#3650](https://togithub.com/mochajs/mocha/issues/3650), [#3654](https://togithub.com/mochajs/mocha/issues/3654): Fix noisy error message when no files found ([**@craigtaub**](https://togithub.com/craigtaub))
- [#3632](https://togithub.com/mochajs/mocha/issues/3632): Tests having an empty title are no longer confused with the "root" suite ([**@juergba**](https://togithub.com/juergba))
- [#3666](https://togithub.com/mochajs/mocha/issues/3666): Fix missing error codes ([**@vkarpov15**](https://togithub.com/vkarpov15))
- [#3684](https://togithub.com/mochajs/mocha/issues/3684): Fix exiting problem in Node.js v11.7.0+ ([**@addaleax**](https://togithub.com/addaleax))
- [#3691](https://togithub.com/mochajs/mocha/issues/3691): Fix `--delay` (and other boolean options) not working in all cases ([**@boneskull**](https://togithub.com/boneskull))
- [#3692](https://togithub.com/mochajs/mocha/issues/3692): Fix invalid command-line argument usage not causing actual errors ([**@boneskull**](https://togithub.com/boneskull))
- [#3698](https://togithub.com/mochajs/mocha/issues/3698), [#3699](https://togithub.com/mochajs/mocha/issues/3699): Fix debug-related Node.js options not working in all cases ([**@boneskull**](https://togithub.com/boneskull))
- [#3700](https://togithub.com/mochajs/mocha/issues/3700): Growl notifications now show the correct number of tests run ([**@outsideris**](https://togithub.com/outsideris))
- [#3686](https://togithub.com/mochajs/mocha/issues/3686): Avoid potential ReDoS when diffing large objects ([**@cyjake**](https://togithub.com/cyjake))
- [#3715](https://togithub.com/mochajs/mocha/issues/3715): Fix incorrect order of emitted events when used programmatically ([**@boneskull**](https://togithub.com/boneskull))
- [#3706](https://togithub.com/mochajs/mocha/issues/3706): Fix regression wherein `--reporter-option`/`--reporter-options` did not support comma-separated key/value pairs ([**@boneskull**](https://togithub.com/boneskull))
#### :book: Documentation
- [#3652](https://togithub.com/mochajs/mocha/issues/3652): Switch from Jekyll to Eleventy ([**@Munter**](https://togithub.com/Munter))
#### :nut_and_bolt: Other
- [#3677](https://togithub.com/mochajs/mocha/issues/3677): Add error objects for createUnsupportedError and createInvalidExceptionError ([**@boneskull**](https://togithub.com/boneskull))
- [#3733](https://togithub.com/mochajs/mocha/issues/3733): Removed unnecessary processing in post-processing hook ([**@wanseob**](https://togithub.com/wanseob))
- [#3730](https://togithub.com/mochajs/mocha/issues/3730): Update nyc to latest version ([**@coreyfarrell**](https://togithub.com/coreyfarrell))
- [#3648](https://togithub.com/mochajs/mocha/issues/3648), [#3680](https://togithub.com/mochajs/mocha/issues/3680): Fixes to support latest versions of [unexpected](https://npm.im/unexpected) and [unexpected-sinon](https://npm.im/unexpected-sinon) ([**@sunesimonsen**](https://togithub.com/sunesimonsen))
- [#3638](https://togithub.com/mochajs/mocha/issues/3638): Add meta tag to site ([**@MartijnCuppens**](https://togithub.com/MartijnCuppens))
- [#3653](https://togithub.com/mochajs/mocha/issues/3653): Fix parts of test suite failing to run on Windows ([**@boneskull**](https://togithub.com/boneskull))
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.
This PR contains the following updates:
^5.2.0
->^8.0.0
By merging this PR, the below issues will be automatically resolved and closed:
Release Notes
mochajs/mocha
### [`v8.0.0`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#800--2020-06-10) [Compare Source](https://togithub.com/mochajs/mocha/compare/v7.2.0...v8.0.0) In this major release, Mocha adds the ability to *run tests in parallel*. Better late than never! Please note the **breaking changes** detailed below. Let's welcome [**@giltayar**](https://togithub.com/giltayar) and [**@nicojs**](https://togithub.com/nicojs) to the maintenance team! #### :boom: Breaking Changes - [#4164](https://togithub.com/mochajs/mocha/issues/4164): **Mocha v8.0.0 now requires Node.js v10.12.0 or newer.** Mocha no longer supports the Node.js v8.x line ("Carbon"), which entered End-of-Life at the end of 2019 ([**@UlisesGascon**](https://togithub.com/UlisesGascon)) - [#4175](https://togithub.com/mochajs/mocha/issues/4175): Having been deprecated with a warning since v7.0.0, **`mocha.opts` is no longer supported** ([**@juergba**](https://togithub.com/juergba)) :sparkles: **WORKAROUND:** Replace `mocha.opts` with a [configuration file](https://mochajs.org/#configuring-mocha-nodejs). - [#4260](https://togithub.com/mochajs/mocha/issues/4260): Remove `enableTimeout()` (`this.enableTimeout()`) from the context object ([**@craigtaub**](https://togithub.com/craigtaub)) :sparkles: **WORKAROUND:** Replace usage of `this.enableTimeout(false)` in your tests with `this.timeout(0)`. - [#4315](https://togithub.com/mochajs/mocha/issues/4315): The `spec` option no longer supports a comma-delimited list of files ([**@juergba**](https://togithub.com/juergba)) :sparkles: **WORKAROUND**: Use an array instead (e.g., `"spec": "foo.js,bar.js"` becomes `"spec": ["foo.js", "bar.js"]`). - [#4309](https://togithub.com/mochajs/mocha/issues/4309): Drop support for Node.js v13.x line, which is now End-of-Life ([**@juergba**](https://togithub.com/juergba)) - [#4282](https://togithub.com/mochajs/mocha/issues/4282): `--forbid-only` will throw an error even if exclusive tests are avoided via `--grep` or other means ([**@arvidOtt**](https://togithub.com/arvidOtt)) - [#4223](https://togithub.com/mochajs/mocha/issues/4223): The context object's `skip()` (`this.skip()`) in a "before all" (`before()`) hook will no longer execute subsequent sibling hooks, in addition to hooks in child suites ([**@juergba**](https://togithub.com/juergba)) - [#4178](https://togithub.com/mochajs/mocha/issues/4178): Remove previously soft-deprecated APIs ([**@wnghdcjfe**](https://togithub.com/wnghdcjfe)): - `Mocha.prototype.ignoreLeaks()` - `Mocha.prototype.useColors()` - `Mocha.prototype.useInlineDiffs()` - `Mocha.prototype.hideDiff()` #### :tada: Enhancements - [#4245](https://togithub.com/mochajs/mocha/issues/4245): Add ability to run tests in parallel for Node.js (see [docs](https://mochajs.org/#parallel-tests)) ([**@boneskull**](https://togithub.com/boneskull)) :exclamation: See also [#4244](https://togithub.com/mochajs/mocha/issues/4244); [Root Hook Plugins (docs)](https://mochajs.org/#root-hook-plugins) -- *root hooks must be defined via Root Hook Plugins to work in parallel mode* - [#4304](https://togithub.com/mochajs/mocha/issues/4304): `--require` now works with ES modules ([**@JacobLey**](https://togithub.com/JacobLey)) - [#4299](https://togithub.com/mochajs/mocha/issues/4299): In some circumstances, Mocha can run ES modules under Node.js v10 -- *use at your own risk!* ([**@giltayar**](https://togithub.com/giltayar)) #### :book: Documentation - [#4246](https://togithub.com/mochajs/mocha/issues/4246): Add documentation for parallel mode and Root Hook plugins ([**@boneskull**](https://togithub.com/boneskull)) #### :nut_and_bolt: Other - [#4200](https://togithub.com/mochajs/mocha/issues/4200): Drop mkdirp and replace it with fs.mkdirSync ([**@HyunSangHan**](https://togithub.com/HyunSangHan)) #### :bug: Fixes (All bug fixes in Mocha v8.0.0 are also breaking changes, and are listed above) ### [`v7.2.0`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#720--2020-05-22) [Compare Source](https://togithub.com/mochajs/mocha/compare/v7.1.2...v7.2.0) #### :tada: Enhancements - [#4234](https://togithub.com/mochajs/mocha/issues/4234): Add ability to run tests in a mocha instance multiple times ([**@nicojs**](https://togithub.com/nicojs)) - [#4219](https://togithub.com/mochajs/mocha/issues/4219): Exposing filename in JSON, doc, and json-stream reporters ([**@Daniel0113**](https://togithub.com/Daniel0113)) - [#4244](https://togithub.com/mochajs/mocha/issues/4244): Add Root Hook Plugins ([**@boneskull**](https://togithub.com/boneskull)) #### :bug: Fixes - [#4258](https://togithub.com/mochajs/mocha/issues/4258): Fix missing dot in name of configuration file ([**@sonicdoe**](https://togithub.com/sonicdoe)) - [#4194](https://togithub.com/mochajs/mocha/issues/4194): Check if module.paths really exists ([**@ematipico**](https://togithub.com/ematipico)) - [#4256](https://togithub.com/mochajs/mocha/issues/4256): `--forbid-only` does not recognize `it.only` when `before` crashes ([**@arvidOtt**](https://togithub.com/arvidOtt)) - [#4152](https://togithub.com/mochajs/mocha/issues/4152): Bug with multiple async done() calls ([**@boneskull**](https://togithub.com/boneskull)) - [#4275](https://togithub.com/mochajs/mocha/issues/4275): Improper warnings for invalid reporters ([**@boneskull**](https://togithub.com/boneskull)) - [#4288](https://togithub.com/mochajs/mocha/issues/4288): Broken hook.spec.js test for IE11 ([**@boneskull**](https://togithub.com/boneskull)) #### :book: Documentation - [#4081](https://togithub.com/mochajs/mocha/issues/4081): Insufficient white space for API docs in view on mobile ([**@HyunSangHan**](https://togithub.com/HyunSangHan)) - [#4255](https://togithub.com/mochajs/mocha/issues/4255): Update mocha-docdash for UI fixes on API docs ([**@craigtaub**](https://togithub.com/craigtaub)) - [#4235](https://togithub.com/mochajs/mocha/issues/4235): Enable emoji on website; enable normal ul elements ([**@boneskull**](https://togithub.com/boneskull)) - [#4272](https://togithub.com/mochajs/mocha/issues/4272): Fetch sponsors at build time, show ALL non-skeevy sponsors ([**@boneskull**](https://togithub.com/boneskull)) #### :nut_and_bolt: Other - [#4249](https://togithub.com/mochajs/mocha/issues/4249): Refactoring improving encapsulation ([**@arvidOtt**](https://togithub.com/arvidOtt)) - [#4242](https://togithub.com/mochajs/mocha/issues/4242): CI add job names, add Node.js v14 to matrix ([**@boneskull**](https://togithub.com/boneskull)) - [#4237](https://togithub.com/mochajs/mocha/issues/4237): Refactor validatePlugins to throw coded errors ([**@boneskull**](https://togithub.com/boneskull)) - [#4236](https://togithub.com/mochajs/mocha/issues/4236): Better debug output ([**@boneskull**](https://togithub.com/boneskull)) ### [`v7.1.2`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#712--2020-04-26) [Compare Source](https://togithub.com/mochajs/mocha/compare/v7.1.1...v7.1.2) #### :nut_and_bolt: Other - [#4251](https://togithub.com/mochajs/mocha/issues/4251): Prevent karma-mocha from stalling ([**@juergba**](https://togithub.com/juergba)) - [#4222](https://togithub.com/mochajs/mocha/issues/4222): Update dependency mkdirp to v0.5.5 ([**@outsideris**](https://togithub.com/outsideris)) #### :book: Documentation - [#4208](https://togithub.com/mochajs/mocha/issues/4208): Add Wallaby logo to site ([**@boneskull**](https://togithub.com/boneskull)) ### [`v7.1.1`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#711--2020-03-18) [Compare Source](https://togithub.com/mochajs/mocha/compare/v7.1.0...v7.1.1) #### :lock: Security Fixes - [#4204](https://togithub.com/mochajs/mocha/issues/4204): Update dependencies mkdirp, yargs-parser and yargs ([**@juergba**](https://togithub.com/juergba)) #### :bug: Fixes - [#3660](https://togithub.com/mochajs/mocha/issues/3660): Fix `runner` listening to `start` and `end` events ([**@juergba**](https://togithub.com/juergba)) #### :book: Documentation - [#4190](https://togithub.com/mochajs/mocha/issues/4190): Show Netlify badge on footer ([**@outsideris**](https://togithub.com/outsideris)) ### [`v7.1.0`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#710--2020-02-26) [Compare Source](https://togithub.com/mochajs/mocha/compare/v7.0.1...v7.1.0) #### :tada: Enhancements [#4038](https://togithub.com/mochajs/mocha/issues/4038): Add Node.js native ESM support ([**@giltayar**](https://togithub.com/giltayar)) Mocha supports writing your test files as ES modules: - Node.js only v12.11.0 and above - Node.js below v13.2.0, you must set `--experimental-modules` option - current limitations: please check our [documentation](https://mochajs.org/#nodejs-native-esm-support) - for programmatic usage: see [API: loadFilesAsync()](https://mochajs.org/api/mocha#loadFilesAsync) **Note:** Node.JS native [ECMAScript Modules](https://nodejs.org/api/esm.html) implementation has status: **Stability: 1 - Experimental** #### :bug: Fixes - [#4181](https://togithub.com/mochajs/mocha/issues/4181): Programmatic API cannot access retried test objects ([**@juergba**](https://togithub.com/juergba)) - [#4174](https://togithub.com/mochajs/mocha/issues/4174): Browser: fix `allowUncaught` option ([**@juergba**](https://togithub.com/juergba)) #### :book: Documentation - [#4058](https://togithub.com/mochajs/mocha/issues/4058): Manage author list in AUTHORS instead of `package.json` ([**@outsideris**](https://togithub.com/outsideris)) #### :nut_and_bolt: Other - [#4138](https://togithub.com/mochajs/mocha/issues/4138): Upgrade ESLint v6.8 ([**@kaicataldo**](https://togithub.com/kaicataldo)) ### [`v7.0.1`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#701--2020-01-25) [Compare Source](https://togithub.com/mochajs/mocha/compare/v7.0.0...v7.0.1) #### :bug: Fixes - [#4165](https://togithub.com/mochajs/mocha/issues/4165): Fix exception when skipping tests programmatically ([**@juergba**](https://togithub.com/juergba)) - [#4153](https://togithub.com/mochajs/mocha/issues/4153): Restore backwards compatibility for `reporterOptions` ([**@holm**](https://togithub.com/holm)) - [#4150](https://togithub.com/mochajs/mocha/issues/4150): Fix recovery of an open test upon uncaught exception ([**@juergba**](https://togithub.com/juergba)) - [#4147](https://togithub.com/mochajs/mocha/issues/4147): Fix regression of leaking uncaught exception handler ([**@juergba**](https://togithub.com/juergba)) #### :book: Documentation - [#4146](https://togithub.com/mochajs/mocha/issues/4146): Update copyright & trademark notices per OJSF ([**@boneskull**](https://togithub.com/boneskull)) - [#4140](https://togithub.com/mochajs/mocha/issues/4140): Fix broken links ([**@KyoungWan**](https://togithub.com/KyoungWan)) #### :nut_and_bolt: Other - [#4133](https://togithub.com/mochajs/mocha/issues/4133): Print more descriptive error message ([**@Zirak**](https://togithub.com/Zirak)) ### [`v7.0.0`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#700--2020-01-05) [Compare Source](https://togithub.com/mochajs/mocha/compare/v6.2.3...v7.0.0) #### :boom: Breaking Changes - [#3885](https://togithub.com/mochajs/mocha/issues/3885): **Drop Node.js v6.x support** ([**@mojosoeun**](https://togithub.com/mojosoeun)) - [#3890](https://togithub.com/mochajs/mocha/issues/3890): Remove Node.js debug-related flags `--debug`/`--debug-brk` and deprecate `debug` argument ([**@juergba**](https://togithub.com/juergba)) - [#3962](https://togithub.com/mochajs/mocha/issues/3962): Changes to command-line options ([**@ParkSB**](https://togithub.com/ParkSB)): - `--list-interfaces` replaces `--interfaces` - `--list-reporters` replaces `--reporters` - Hook pattern of `this.skip()` ([**@juergba**](https://togithub.com/juergba)): - [#3859](https://togithub.com/mochajs/mocha/issues/3859): When conditionally skipping in a `it` test, related `afterEach` hooks are now executed - [#3741](https://togithub.com/mochajs/mocha/issues/3741): When conditionally skipping in a `beforeEach` hook, subsequent inner `beforeEach` hooks are now skipped and related `afterEach` hooks are executed - [#4136](https://togithub.com/mochajs/mocha/issues/4136): Disallow `this.skip()` within `after` hooks - [#3967](https://togithub.com/mochajs/mocha/issues/3967): Remove deprecated `getOptions()` and `lib/cli/options.js` ([**@juergba**](https://togithub.com/juergba)) - [#4083](https://togithub.com/mochajs/mocha/issues/4083): Uncaught exception in `pending` test: don't swallow, but retrospectively fail the test for correct exit code ([**@juergba**](https://togithub.com/juergba)) - [#4004](https://togithub.com/mochajs/mocha/issues/4004): Align `Mocha` constructor's option names with command-line options ([**@juergba**](https://togithub.com/juergba)) #### :tada: Enhancements - [#3980](https://togithub.com/mochajs/mocha/issues/3980): Refactor and improve `--watch` mode with chokidar ([**@geigerzaehler**](https://togithub.com/geigerzaehler)): - adds command-line options `--watch-files` and `--watch-ignore` - removes `--watch-extensions` - [#3979](https://togithub.com/mochajs/mocha/issues/3979): Type "rs\n" to restart tests ([**@broofa**](https://togithub.com/broofa)) #### :fax: Deprecations These are *soft*-deprecated, and will emit a warning upon use. Support will be removed in (likely) the next major version of Mocha: - [#3968](https://togithub.com/mochajs/mocha/issues/3968): Deprecate legacy configuration via `mocha.opts` ([**@juergba**](https://togithub.com/juergba)) #### :bug: Fixes - [#4125](https://togithub.com/mochajs/mocha/issues/4125): Fix timeout handling with `--inspect-brk`/`--inspect` ([**@juergba**](https://togithub.com/juergba)) - [#4070](https://togithub.com/mochajs/mocha/issues/4070): `Mocha` constructor: improve browser setup ([**@juergba**](https://togithub.com/juergba)) - [#4068](https://togithub.com/mochajs/mocha/issues/4068): XUnit reporter should handle exceptions during diff generation ([**@rgroothuijsen**](https://togithub.com/rgroothuijsen)) - [#4030](https://togithub.com/mochajs/mocha/issues/4030): Fix `--allow-uncaught` with `this.skip()` ([**@juergba**](https://togithub.com/juergba)) #### :mag: Coverage - [#4109](https://togithub.com/mochajs/mocha/issues/4109): Add Node.js v13.x to CI test matrix ([**@juergba**](https://togithub.com/juergba)) #### :book: Documentation - [#4129](https://togithub.com/mochajs/mocha/issues/4129): Fix broken links ([**@SaeromB**](https://togithub.com/SaeromB)) - [#4127](https://togithub.com/mochajs/mocha/issues/4127): Add reporter alias names to docs ([**@khg0712**](https://togithub.com/khg0712)) - [#4101](https://togithub.com/mochajs/mocha/issues/4101): Clarify invalid usage of `done()` ([**@jgehrcke**](https://togithub.com/jgehrcke)) - [#4092](https://togithub.com/mochajs/mocha/issues/4092): Replace `:coffee:` with emoji ☕️ ([**@pzrq**](https://togithub.com/pzrq)) - [#4088](https://togithub.com/mochajs/mocha/issues/4088): Initial draft of project charter ([**@boneskull**](https://togithub.com/boneskull)) - [#4066](https://togithub.com/mochajs/mocha/issues/4066): Change `sh` to `bash` for code block in docs/index.md ([**@HyunSangHan**](https://togithub.com/HyunSangHan)) - [#4045](https://togithub.com/mochajs/mocha/issues/4045): Update README.md concerning GraphicsMagick installation ([**@HyunSangHan**](https://togithub.com/HyunSangHan)) - [#3988](https://togithub.com/mochajs/mocha/issues/3988): Fix sponsors background color for readability ([**@outsideris**](https://togithub.com/outsideris)) #### :nut_and_bolt: Other - [#4118](https://togithub.com/mochajs/mocha/issues/4118): Update node-environment-flags to 1.0.6 ([**@kylef**](https://togithub.com/kylef)) - [#4097](https://togithub.com/mochajs/mocha/issues/4097): Add GH Funding Metadata ([**@SheetJSDev**](https://togithub.com/SheetJSDev)) - [#4089](https://togithub.com/mochajs/mocha/issues/4089): Add funding information to `package.json` ([**@Munter**](https://togithub.com/Munter)) - [#4077](https://togithub.com/mochajs/mocha/issues/4077): Improve integration tests ([**@soobing**](https://togithub.com/soobing)) ### [`v6.2.3`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#623--2020-03-25) [Compare Source](https://togithub.com/mochajs/mocha/compare/v6.2.2...v6.2.3) #### :lock: Security Fixes - [848d6fb8](https://togithub.com/mochajs/mocha/commit/848d6fb8feef659564b296db457312d38176910d): Update dependencies mkdirp, yargs-parser and yargs ([**@juergba**](https://togithub.com/juergba)) ### [`v6.2.2`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#622--2019-10-18) [Compare Source](https://togithub.com/mochajs/mocha/compare/v6.2.1...v6.2.2) #### :bug: Fixes - [#4025](https://togithub.com/mochajs/mocha/issues/4025): Fix duplicate `EVENT_RUN_END` events upon uncaught exception ([**@juergba**](https://togithub.com/juergba)) - [#4051](https://togithub.com/mochajs/mocha/issues/4051): Fix "unhide" function in `html` reporter (browser) ([**@pec9399**](https://togithub.com/pec9399)) - [#4063](https://togithub.com/mochajs/mocha/issues/4063): Fix use of [esm](https://npm.im/esm) in Node.js v8.x ([**@boneskull**](https://togithub.com/boneskull)) - [#4033](https://togithub.com/mochajs/mocha/issues/4033): Fix output when multiple async exceptions are thrown ([**@juergba**](https://togithub.com/juergba)) #### :book: Documentation - [#4046](https://togithub.com/mochajs/mocha/issues/4046): Site accessibility fixes ([**@Mia-jeong**](https://togithub.com/Mia-jeong)) - [#4026](https://togithub.com/mochajs/mocha/issues/4026): Update docs for custom reporters in browser ([**@Lindsay-Needs-Sleep**](https://togithub.com/Lindsay-Needs-Sleep)) - [#3971](https://togithub.com/mochajs/mocha/issues/3971): Adopt new OpenJS Foundation Code of Conduct ([**@craigtaub**](https://togithub.com/craigtaub)) ### [`v6.2.1`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#621--2019-09-29) [Compare Source](https://togithub.com/mochajs/mocha/compare/v6.2.0...v6.2.1) #### :bug: Fixes - [#3955](https://togithub.com/mochajs/mocha/issues/3955): tty.getWindowSize is not a function inside a "worker_threads" worker ([**@1999**](https://togithub.com/1999)) - [#3970](https://togithub.com/mochajs/mocha/issues/3970): remove extraGlobals() ([**@juergba**](https://togithub.com/juergba)) - [#3984](https://togithub.com/mochajs/mocha/issues/3984): Update yargs-unparser to v1.6.0 ([**@juergba**](https://togithub.com/juergba)) - [#3983](https://togithub.com/mochajs/mocha/issues/3983): Package 'esm': spawn child-process for correct loading ([**@juergba**](https://togithub.com/juergba)) - [#3986](https://togithub.com/mochajs/mocha/issues/3986): Update yargs to v13.3.0 and yargs-parser to v13.1.1 ([**@juergba**](https://togithub.com/juergba)) #### :book: Documentation - [#3886](https://togithub.com/mochajs/mocha/issues/3886): fix styles on mochajs.org ([**@outsideris**](https://togithub.com/outsideris)) - [#3966](https://togithub.com/mochajs/mocha/issues/3966): Remove jsdoc index.html placeholder from eleventy file structure and fix broken link in jsdoc tutorial ([**@Munter**](https://togithub.com/Munter)) - [#3765](https://togithub.com/mochajs/mocha/issues/3765): Add Matomo to website ([**@MarioDiaz98**](https://togithub.com/MarioDiaz98)) - [#3947](https://togithub.com/mochajs/mocha/issues/3947): Clarify effect of .skip() ([**@oliversalzburg**](https://togithub.com/oliversalzburg)) ### [`v6.2.0`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#620--2019-07-18) [Compare Source](https://togithub.com/mochajs/mocha/compare/v6.1.4...v6.2.0) #### :tada: Enhancements - [#3827](https://togithub.com/mochajs/mocha/issues/3827): Do not fork child-process if no Node flags are present ([**@boneskull**](https://togithub.com/boneskull)) - [#3725](https://togithub.com/mochajs/mocha/issues/3725): Base reporter store ref to console.log, see [mocha/wiki](https://togithub.com/mochajs/mocha/wiki/HOW-TO:-Correctly-stub-stdout) ([**@craigtaub**](https://togithub.com/craigtaub)) #### :bug: Fixes - [#3942](https://togithub.com/mochajs/mocha/issues/3942): Fix "No test files found" Error when file is passed via `--file` ([**@gabegorelick**](https://togithub.com/gabegorelick)) - [#3914](https://togithub.com/mochajs/mocha/issues/3914): Modify Mocha constructor to accept options `global` or `globals` ([**@pascalpp**](https://togithub.com/pascalpp)) - [#3894](https://togithub.com/mochajs/mocha/issues/3894): Fix parsing of config files with `_mocha` binary ([**@juergba**](https://togithub.com/juergba)) - [#3834](https://togithub.com/mochajs/mocha/issues/3834): Fix CLI parsing with default values ([**@boneskull**](https://togithub.com/boneskull), [**@juergba**](https://togithub.com/juergba)) - [#3831](https://togithub.com/mochajs/mocha/issues/3831): Fix `--timeout`/`--slow` string values and duplicate arguments ([**@boneskull**](https://togithub.com/boneskull), [**@juergba**](https://togithub.com/juergba)) #### :book: Documentation - [#3906](https://togithub.com/mochajs/mocha/issues/3906): Document option to define custom report name for XUnit reporter ([**@pkuczynski**](https://togithub.com/pkuczynski)) - [#3889](https://togithub.com/mochajs/mocha/issues/3889): Adds doc links for mocha-examples ([**@craigtaub**](https://togithub.com/craigtaub)) - [#3887](https://togithub.com/mochajs/mocha/issues/3887): Fix broken links ([**@toyjhlee**](https://togithub.com/toyjhlee)) - [#3841](https://togithub.com/mochajs/mocha/issues/3841): Fix anchors to configuration section ([**@trescube**](https://togithub.com/trescube)) #### :mag: Coverage - [#3915](https://togithub.com/mochajs/mocha/issues/3915), [#3929](https://togithub.com/mochajs/mocha/issues/3929): Increase tests coverage for `--watch` options ([**@geigerzaehler**](https://togithub.com/geigerzaehler)) #### :nut_and_bolt: Other - [#3953](https://togithub.com/mochajs/mocha/issues/3953): Collect test files later, prepares improvements to the `--watch` mode behavior ([**@geigerzaehler**](https://togithub.com/geigerzaehler)) - [#3939](https://togithub.com/mochajs/mocha/issues/3939): Upgrade for npm audit ([**@boneskull**](https://togithub.com/boneskull)) - [#3930](https://togithub.com/mochajs/mocha/issues/3930): Extract `runWatch` into separate module ([**@geigerzaehler**](https://togithub.com/geigerzaehler)) - [#3922](https://togithub.com/mochajs/mocha/issues/3922): Add `mocha.min.js` file to stacktrace filter ([**@brian-lagerman**](https://togithub.com/brian-lagerman)) - [#3919](https://togithub.com/mochajs/mocha/issues/3919): Update CI config files to use Node-12.x ([**@plroebuck**](https://togithub.com/plroebuck)) - [#3892](https://togithub.com/mochajs/mocha/issues/3892): Rework reporter tests ([**@plroebuck**](https://togithub.com/plroebuck)) - [#3872](https://togithub.com/mochajs/mocha/issues/3872): Rename `--exclude` to `--ignore` and create alias ([**@boneskull**](https://togithub.com/boneskull)) - [#3963](https://togithub.com/mochajs/mocha/issues/3963): Hide stacktrace when cli args are missing ([**@outsideris**](https://togithub.com/outsideris)) - [#3956](https://togithub.com/mochajs/mocha/issues/3956): Do not redeclare variable in docs array example ([**@DanielRuf**](https://togithub.com/DanielRuf)) - [#3957](https://togithub.com/mochajs/mocha/issues/3957): Remove duplicate line-height property in `mocha.css` ([**@DanielRuf**](https://togithub.com/DanielRuf)) - [#3960](https://togithub.com/mochajs/mocha/issues/3960): Don't re-initialize grep option on watch re-run ([**@geigerzaehler**](https://togithub.com/geigerzaehler)) ### [`v6.1.4`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#614--2019-04-18) [Compare Source](https://togithub.com/mochajs/mocha/compare/v6.1.3...v6.1.4) #### :lock: Security Fixes - [#3877](https://togithub.com/mochajs/mocha/issues/3877): Upgrade [js-yaml](https://npm.im/js-yaml), addressing [code injection vulnerability](https://www.npmjs.com/advisories/813) ([**@bjornstar**](https://togithub.com/bjornstar)) ### [`v6.1.3`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#613--2019-04-11) [Compare Source](https://togithub.com/mochajs/mocha/compare/v6.1.2...v6.1.3) #### :bug: Fixes - [#3863](https://togithub.com/mochajs/mocha/issues/3863): Fix `yargs`-related global scope pollution ([**@inukshuk**](https://togithub.com/inukshuk)) - [#3869](https://togithub.com/mochajs/mocha/issues/3869): Fix failure when installed w/ `pnpm` ([**@boneskull**](https://togithub.com/boneskull)) ### [`v6.1.2`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#612--2019-04-08) [Compare Source](https://togithub.com/mochajs/mocha/compare/v6.1.1...v6.1.2) #### :bug: Fixes - [#3867](https://togithub.com/mochajs/mocha/issues/3867): Re-publish v6.1.1 from POSIX OS to avoid dropped executable flags ([**@boneskull**](https://togithub.com/boneskull)) ### [`v6.1.1`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#611--2019-04-07) [Compare Source](https://togithub.com/mochajs/mocha/compare/v6.1.0...v6.1.1) #### :bug: Fixes - [#3866](https://togithub.com/mochajs/mocha/issues/3866): Fix Windows End-of-Line publishing issue ([**@juergba**](https://togithub.com/juergba) & [**@cspotcode**](https://togithub.com/cspotcode)) ### [`v6.1.0`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#610--2019-04-07) [Compare Source](https://togithub.com/mochajs/mocha/compare/v6.0.2...v6.1.0) #### :lock: Security Fixes - [#3845](https://togithub.com/mochajs/mocha/issues/3845): Update dependency "js-yaml" to v3.13.0 per npm security advisory ([**@plroebuck**](https://togithub.com/plroebuck)) #### :tada: Enhancements - [#3766](https://togithub.com/mochajs/mocha/issues/3766): Make reporter constructor support optional `options` parameter ([**@plroebuck**](https://togithub.com/plroebuck)) - [#3760](https://togithub.com/mochajs/mocha/issues/3760): Add support for config files with `.jsonc` extension ([**@sstephant**](https://togithub.com/sstephant)) #### :fax: Deprecations These are *soft*-deprecated, and will emit a warning upon use. Support will be removed in (likely) the next major version of Mocha: - [#3719](https://togithub.com/mochajs/mocha/issues/3719): Deprecate `this.skip()` for "after all" hooks ([**@juergba**](https://togithub.com/juergba)) #### :bug: Fixes - [#3829](https://togithub.com/mochajs/mocha/issues/3829): Use cwd-relative pathname to load config file ([**@plroebuck**](https://togithub.com/plroebuck)) - [#3745](https://togithub.com/mochajs/mocha/issues/3745): Fix async calls of `this.skip()` in "before each" hooks ([**@juergba**](https://togithub.com/juergba)) - [#3669](https://togithub.com/mochajs/mocha/issues/3669): Enable `--allow-uncaught` for uncaught exceptions thrown inside hooks ([**@givanse**](https://togithub.com/givanse)) and some regressions: - [#3848](https://togithub.com/mochajs/mocha/issues/3848): Fix `Suite` cloning by copying `root` property ([**@fatso83**](https://togithub.com/fatso83)) - [#3816](https://togithub.com/mochajs/mocha/issues/3816): Guard against undefined timeout option ([**@boneskull**](https://togithub.com/boneskull)) - [#3814](https://togithub.com/mochajs/mocha/issues/3814): Update "yargs" in order to avoid deprecation message ([**@boneskull**](https://togithub.com/boneskull)) - [#3788](https://togithub.com/mochajs/mocha/issues/3788): Fix support for multiple node flags ([**@aginzberg**](https://togithub.com/aginzberg)) #### :book: Documentation - [mochajs/mocha-examples](https://togithub.com/mochajs/mocha-examples): New repository of working examples of common configurations using mocha ([**@craigtaub**](https://togithub.com/craigtaub)) - [#3850](https://togithub.com/mochajs/mocha/issues/3850): Remove pound icon showing on header hover on docs ([**@jd2rogers2**](https://togithub.com/jd2rogers2)) - [#3812](https://togithub.com/mochajs/mocha/issues/3812): Add autoprefixer to documentation page CSS ([**@Munter**](https://togithub.com/Munter)) - [#3811](https://togithub.com/mochajs/mocha/issues/3811): Update doc examples "tests.html" ([**@DavidLi119**](https://togithub.com/DavidLi119)) - [#3807](https://togithub.com/mochajs/mocha/issues/3807): Mocha website HTML tweaks ([**@plroebuck**](https://togithub.com/plroebuck)) - [#3793](https://togithub.com/mochajs/mocha/issues/3793): Update config file example ".mocharc.yml" ([**@cspotcode**](https://togithub.com/cspotcode)) #### :nut_and_bolt: Other - [#3830](https://togithub.com/mochajs/mocha/issues/3830): Replace dependency "findup-sync" with "find-up" for faster startup ([**@cspotcode**](https://togithub.com/cspotcode)) - [#3799](https://togithub.com/mochajs/mocha/issues/3799): Update devDependencies to fix many npm vulnerabilities ([**@XhmikosR**](https://togithub.com/XhmikosR)) ### [`v6.0.2`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#602--2019-02-25) [Compare Source](https://togithub.com/mochajs/mocha/compare/v6.0.1...v6.0.2) #### :bug: Fixes Two more regressions fixed: - [#3768](https://togithub.com/mochajs/mocha/issues/3768): Test file paths no longer dropped from `mocha.opts` ([**@boneskull**](https://togithub.com/boneskull)) - [#3767](https://togithub.com/mochajs/mocha/issues/3767): `--require` does not break on module names that look like certain `node` flags ([**@boneskull**](https://togithub.com/boneskull)) ### [`v6.0.1`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#601--2019-02-21) [Compare Source](https://togithub.com/mochajs/mocha/compare/v6.0.0...v6.0.1) The obligatory round of post-major-release bugfixes. #### :bug: Fixes These issues were regressions. - [#3754](https://togithub.com/mochajs/mocha/issues/3754): Mocha again finds `test.js` when run without arguments ([**@plroebuck**](https://togithub.com/plroebuck)) - [#3756](https://togithub.com/mochajs/mocha/issues/3756): Mocha again supports third-party interfaces via `--ui` ([**@boneskull**](https://togithub.com/boneskull)) - [#3755](https://togithub.com/mochajs/mocha/issues/3755): Fix broken `--watch` ([**@boneskull**](https://togithub.com/boneskull)) - [#3759](https://togithub.com/mochajs/mocha/issues/3759): Fix unwelcome deprecation notice when Mocha run against languages (CoffeeScript) with implicit return statements; *returning a non-`undefined` value from a `describe` callback is no longer considered deprecated* ([**@boneskull**](https://togithub.com/boneskull)) #### :book: Documentation - [#3738](https://togithub.com/mochajs/mocha/issues/3738): Upgrade to `@mocha/docdash@2` ([**@tendonstrength**](https://togithub.com/tendonstrength)) - [#3751](https://togithub.com/mochajs/mocha/issues/3751): Use preferred names for example config files ([**@Szauka**](https://togithub.com/Szauka)) ### [`v6.0.0`](https://togithub.com/mochajs/mocha/blob/HEAD/CHANGELOG.md#600--2019-02-18) [Compare Source](https://togithub.com/mochajs/mocha/compare/v5.2.0...v6.0.0) #### :tada: Enhancements - [#3726](https://togithub.com/mochajs/mocha/issues/3726): Add ability to unload files from `require` cache ([**@plroebuck**](https://togithub.com/plroebuck)) #### :bug: Fixes - [#3737](https://togithub.com/mochajs/mocha/issues/3737): Fix falsy values from options globals ([**@plroebuck**](https://togithub.com/plroebuck)) - [#3707](https://togithub.com/mochajs/mocha/issues/3707): Fix encapsulation issues for `Suite#_onlyTests` and `Suite#_onlySuites` ([**@vkarpov15**](https://togithub.com/vkarpov15)) - [#3711](https://togithub.com/mochajs/mocha/issues/3711): Fix diagnostic messages dealing with plurality and markup of output ([**@plroebuck**](https://togithub.com/plroebuck)) - [#3723](https://togithub.com/mochajs/mocha/issues/3723): Fix "reporter-option" to allow comma-separated options ([**@boneskull**](https://togithub.com/boneskull)) - [#3722](https://togithub.com/mochajs/mocha/issues/3722): Fix code quality and performance of `lookupFiles` and `files` ([**@plroebuck**](https://togithub.com/plroebuck)) - [#3650](https://togithub.com/mochajs/mocha/issues/3650), [#3654](https://togithub.com/mochajs/mocha/issues/3654): Fix noisy error message when no files found ([**@craigtaub**](https://togithub.com/craigtaub)) - [#3632](https://togithub.com/mochajs/mocha/issues/3632): Tests having an empty title are no longer confused with the "root" suite ([**@juergba**](https://togithub.com/juergba)) - [#3666](https://togithub.com/mochajs/mocha/issues/3666): Fix missing error codes ([**@vkarpov15**](https://togithub.com/vkarpov15)) - [#3684](https://togithub.com/mochajs/mocha/issues/3684): Fix exiting problem in Node.js v11.7.0+ ([**@addaleax**](https://togithub.com/addaleax)) - [#3691](https://togithub.com/mochajs/mocha/issues/3691): Fix `--delay` (and other boolean options) not working in all cases ([**@boneskull**](https://togithub.com/boneskull)) - [#3692](https://togithub.com/mochajs/mocha/issues/3692): Fix invalid command-line argument usage not causing actual errors ([**@boneskull**](https://togithub.com/boneskull)) - [#3698](https://togithub.com/mochajs/mocha/issues/3698), [#3699](https://togithub.com/mochajs/mocha/issues/3699): Fix debug-related Node.js options not working in all cases ([**@boneskull**](https://togithub.com/boneskull)) - [#3700](https://togithub.com/mochajs/mocha/issues/3700): Growl notifications now show the correct number of tests run ([**@outsideris**](https://togithub.com/outsideris)) - [#3686](https://togithub.com/mochajs/mocha/issues/3686): Avoid potential ReDoS when diffing large objects ([**@cyjake**](https://togithub.com/cyjake)) - [#3715](https://togithub.com/mochajs/mocha/issues/3715): Fix incorrect order of emitted events when used programmatically ([**@boneskull**](https://togithub.com/boneskull)) - [#3706](https://togithub.com/mochajs/mocha/issues/3706): Fix regression wherein `--reporter-option`/`--reporter-options` did not support comma-separated key/value pairs ([**@boneskull**](https://togithub.com/boneskull)) #### :book: Documentation - [#3652](https://togithub.com/mochajs/mocha/issues/3652): Switch from Jekyll to Eleventy ([**@Munter**](https://togithub.com/Munter)) #### :nut_and_bolt: Other - [#3677](https://togithub.com/mochajs/mocha/issues/3677): Add error objects for createUnsupportedError and createInvalidExceptionError ([**@boneskull**](https://togithub.com/boneskull)) - [#3733](https://togithub.com/mochajs/mocha/issues/3733): Removed unnecessary processing in post-processing hook ([**@wanseob**](https://togithub.com/wanseob)) - [#3730](https://togithub.com/mochajs/mocha/issues/3730): Update nyc to latest version ([**@coreyfarrell**](https://togithub.com/coreyfarrell)) - [#3648](https://togithub.com/mochajs/mocha/issues/3648), [#3680](https://togithub.com/mochajs/mocha/issues/3680): Fixes to support latest versions of [unexpected](https://npm.im/unexpected) and [unexpected-sinon](https://npm.im/unexpected-sinon) ([**@sunesimonsen**](https://togithub.com/sunesimonsen)) - [#3638](https://togithub.com/mochajs/mocha/issues/3638): Add meta tag to site ([**@MartijnCuppens**](https://togithub.com/MartijnCuppens)) - [#3653](https://togithub.com/mochajs/mocha/issues/3653): Fix parts of test suite failing to run on Windows ([**@boneskull**](https://togithub.com/boneskull))