Skip to content

Releases: mochajs/mocha

v8.0.0

10 Jun 19:12
612fa31

Choose a tag to compare

8.0.0 / 2020-06-10

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 and @nicojs to the maintenance team!

💥 Breaking Changes

  • #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)

  • #4175: Having been deprecated with a warning since v7.0.0, mocha.opts is no longer supported (@juergba)

    WORKAROUND: Replace mocha.opts with a configuration file.

  • #4260: Remove enableTimeout() (this.enableTimeout()) from the context object (@craigtaub)

    WORKAROUND: Replace usage of this.enableTimeout(false) in your tests with this.timeout(0).

  • #4315: The spec option no longer supports a comma-delimited list of files (@juergba)

    WORKAROUND: Use an array instead (e.g., "spec": "foo.js,bar.js" becomes "spec": ["foo.js", "bar.js"]).

  • #4309: Drop support for Node.js v13.x line, which is now End-of-Life (@juergba)

  • #4282: --forbid-only will throw an error even if exclusive tests are avoided via --grep or other means (@arvidOtt)

  • #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)

  • #4178: Remove previously soft-deprecated APIs (@wnghdcjfe):

    • Mocha.prototype.ignoreLeaks()
    • Mocha.prototype.useColors()
    • Mocha.prototype.useInlineDiffs()
    • Mocha.prototype.hideDiff()

🎉 Enhancements

📖 Documentation

  • #4246: Add documentation for parallel mode and Root Hook plugins (@boneskull)

🔩 Other

🐛 Fixes

(All bug fixes in Mocha v8.0.0 are also breaking changes, and are listed above)

v7.2.0

23 May 11:41

Choose a tag to compare

7.2.0 / 2020-05-22

🎉 Enhancements

🐛 Fixes

📖 Documentation

🔩 Other

v7.1.2

26 Apr 06:16

Choose a tag to compare

7.1.2 / 2020-04-26

🔩 Other

📖 Documentation

v6.2.3 (latest-6)

25 Mar 13:56

Choose a tag to compare

6.2.3 / 2020-03-25

🔒 Security Fixes

v7.1.1

18 Mar 09:46

Choose a tag to compare

7.1.1 / 2020-03-18

🔒 Security Fixes

  • #4204: Update dependencies mkdirp, yargs-parser and yargs (@juergba)

🐛 Fixes

📖 Documentation

v7.1.0

26 Feb 07:36

Choose a tag to compare

7.1.0 / 2020-02-26

🎉 Enhancements

#4038: Add Node.js native ESM support (@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
  • for programmatic usage: see API: loadFilesAsync()

Note: Node.JS native ECMAScript Modules implementation has status: Stability: 1 - Experimental

🐛 Fixes

📖 Documentation

🔩 Other

v7.0.1

26 Jan 07:40

Choose a tag to compare

7.0.1 / 2020-01-25

🐛 Fixes

  • #4165: Fix exception when skipping tests programmatically (@juergba)
  • #4153: Restore backwards compatibility for reporterOptions (@holm)
  • #4150: Fix recovery of an open test upon uncaught exception (@juergba)
  • #4147: Fix regression of leaking uncaught exception handler (@juergba)

📖 Documentation

🔩 Other

v7.0.0-esm1 (experimental)

12 Jan 17:34

Choose a tag to compare

Pre-release

7.0.0-esm1 / 2020-01-12

This is an experimental release based on v7.0.0: npm i [email protected]

🎉 Enhancements

#4038: Add Node.js native ESM support (@giltayar)

Enables Mocha to load ECMAScript Modules test files, also valid for --file option.

Limitations:

  • Node.js only v12.11.0 and above
  • Node.js below v13.2.0, you must set --experimental-modules option
  • ESM not (yet) supported for:
    • --watch mode
    • --require option
    • --reporter custom reporters
    • --ui custom interfaces
    • mocharc configuration file

v7.0.0

04 Jan 19:04

Choose a tag to compare

7.0.0 / 2020-01-05

💥 Breaking Changes

  • #3885: Drop Node.js v6.x support (@mojosoeun)
  • #3890: Remove Node.js debug-related flags --debug/--debug-brk and deprecate debug argument (@juergba)
  • #3962: Changes to command-line options (@ParkSB):
    • --list-interfaces replaces --interfaces
    • --list-reporters replaces --reporters
  • Hook pattern of this.skip() (@juergba):
    • #3859: When conditionally skipping in a it test, related afterEach hooks are now executed
    • #3741: When conditionally skipping in a beforeEach hook, subsequent inner beforeEach hooks are now skipped and related afterEach hooks are executed
    • #4136: Disallow this.skip() within after hooks
  • #3967: Remove deprecated getOptions() and lib/cli/options.js (@juergba)
  • #4083: Uncaught exception in pending test: don't swallow, but retrospectively fail the test for correct exit code (@juergba)
  • #4004: Align Mocha constructor's option names with command-line options (@juergba)

🎉 Enhancements

  • #3980: Refactor and improve --watch mode with chokidar (@geigerzaehler):
    • adds command-line options --watch-files and --watch-ignore
    • removes --watch-extensions
  • #3979: Type "rs\n" to restart tests (@broofa)

📠 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: Deprecate legacy configuration via mocha.opts (@juergba)

🐛 Fixes

🔍 Coverage

📖 Documentation

🔩 Other

v6.2.2

18 Oct 20:05
843a322

Choose a tag to compare

6.2.2 / 2019-10-18

🐛 Fixes

📖 Documentation