mocha v8.0.0 Release Notes

Release Date: 2020-06-10 // almost 4 years ago
  • 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.0.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

    #4245: Add ability to run tests in parallel for Node.js (see docs) (@boneskull)

    ๐Ÿ”Œ โ— See also #4244; Root Hook Plugins (docs) -- root hooks must be defined via Root Hook Plugins to work in parallel mode

    #4304: --require now works with ES modules (@JacobLey)

    ๐Ÿ‘‰ #4299: In some circumstances, Mocha can run ES modules under Node.js v10 -- use at your own risk! (@giltayar)

    ๐Ÿ“š ๐Ÿ“– Documentation

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

    ๐Ÿฑ ๐Ÿ› Fixes

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