- `-d` is no longer an alias for `--debug`
- `--grep` and `--fgrep` are now mutually exclusive
- The option formerly known as `--compilers` is now removed from Mocha
- `lib/template.html` moved to `lib/browser/template.html`
- An error is thrown if a path to `mocha.opts` is specified by the user and the file was not found
- `-gc` users should use `--gc-global`
- Public API method `getOptions()` in `bin/options.js` is deprecated and currently has no alternative
- Users of the `enableTimeouts` option of the `Mocha` constructor should use `timeout` instead. Specify `false` for no timeout
- Users of the `useColors` option of the `Mocha` constructor should use `color` instead
- Mocha now supports JS, JSON, YAML, or `package.json`-based config.
- Any/all configuration, including `mocha.opts` can be used in addition to command-line arguments, and everything will be merged as applicable
- Node/V8 flag support:
- Support of all available `node` flags on a *per-version* basis
- Support of any V8 flag by prepending `--v8-` to the option
- These are supported within `mocha.opts` or config files
- More flexible command-line parsing including negation of any boolean flag by prepending `--no-` to the name
- Better `--help`
- Descriptions of interfaces in `--help` text
- A useful `Mocha` constructor
- Debug-related flags (e.g., `--inspect`) now *imply* `--no-timeouts`
- Many bug fixes around CLI option handling, e.g., closes #3475
- Fixes #3363, #2576, #3570
- `--no-timeouts` works
- Added new, updated, or rewrote documentation for all non-self-explanatory options
- Updated usage text, TOC
- Added section on configuration
- Added example configuration files in `example/config/`
- Updated many dev deps, mostly within existing semver ranges
- Removed `commander`
- Added production deps:
- ansi-colors - color terminal output
- findup-sync - find package.json and other config files
- js-yaml - parse YAML
- log-symbols - visual symbols for success/fail etc.
- node-environment-flags - per-version allowed Node.js env flags
- object.assign - for IE11
- strip-json-comments - allow comments in JSON config files
- wide-align - terminal formatting
- yargs - option parser
- yargs-parser - for compatible, lightweight parsing of config files
- yargs-unparser - for passing config to `bin/_mocha` from `bin/mocha`