Releases: mochajs/mocha
v8.1.0
8.1.0 / 2020-07-30
In this release, Mocha now builds its browser bundle with Rollup and Babel, which will provide the project's codebase more flexibility and consistency.
While we've been diligent about backwards compatibility, it's possible consumers of the browser bundle will encounter differences (other than an increase in the bundle size). If you do encounter an issue with the build, please report it here.
This release does not drop support for IE11.
Other community contributions came from @Devjeel, @Harsha509 and @sharath2106. Thank you to everyone who contributed to this release!
Do you read Korean? See this guide to running parallel tests in Mocha, translated by our maintainer, @outsideris.
🎉 Enhancements
- #4287: Use background colors with inline diffs for better visual distinction (@michael-brade)
🐛 Fixes
- #4328: Fix "watch" mode when Mocha run in parallel (@boneskull)
- #4382: Fix root hook execution in "watch" mode (@indieisaconcept)
- #4383: Consistent auto-generated hook titles (@cspotcode)
- #4359: Better errors when running
mocha init
(@boneskull) - #4341: Fix weirdness when using
delay
option in browser (@craigtaub)
🔒 Security Fixes
- #4378, #4333: Update javascript-serialize (@martinoppitz, @wnghdcjfe)
- #4354: Update yargs-unparser (@martinoppitz)
📖 Documentation & Website
- #4173: Document how to use
--enable-source-maps
with Mocha (@bcoe) - #4343: Clean up some API docs (@craigtaub)
- #4318: Sponsor images are now self-hosted (@Munter)
🔩 Other
v8.0.1
v8.0.0
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 withthis.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
-
#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)
🔩 Other
- #4200: Drop mkdirp and replace it with fs.mkdirSync (@HyunSangHan)
🐛 Fixes
(All bug fixes in Mocha v8.0.0 are also breaking changes, and are listed above)
v7.2.0
7.2.0 / 2020-05-22
🎉 Enhancements
- #4234: Add ability to run tests in a mocha instance multiple times (@nicojs)
- #4219: Exposing filename in JSON, doc, and json-stream reporters (@Daniel0113)
- #4244: Add Root Hook Plugins (@boneskull)
🐛 Fixes
- #4258: Fix missing dot in name of configuration file (@sonicdoe)
- #4194: Check if module.paths really exists (@ematipico)
- #4256:
--forbid-only
does not recognizeit.only
whenbefore
crashes (@arvidOtt) - #4152: Bug with multiple async done() calls (@boneskull)
- #4275: Improper warnings for invalid reporters (@boneskull)
- #4288: Broken hook.spec.js test for IE11 (@boneskull)
📖 Documentation
- #4081: Insufficient white space for API docs in view on mobile (@HyunSangHan)
- #4255: Update mocha-docdash for UI fixes on API docs (@craigtaub)
- #4235: Enable emoji on website; enable normal ul elements (@boneskull)
- #4272: Fetch sponsors at build time, show ALL non-skeevy sponsors (@boneskull)
🔩 Other
- #4249: Refactoring improving encapsulation (@arvidOtt)
- #4242: CI add job names, add Node.js v14 to matrix (@boneskull)
- #4237: Refactor validatePlugins to throw coded errors (@boneskull)
- #4236: Better debug output (@boneskull)
v7.1.2
7.1.2 / 2020-04-26
🔩 Other
- #4251: Prevent karma-mocha from stalling (@juergba)
- #4222: Update dependency mkdirp to v0.5.5 (@outsideris)
📖 Documentation
- #4208: Add Wallaby logo to site (@boneskull)
v6.2.3 (latest-6)
v7.1.1
v7.1.0
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
- #4181: Programmatic API cannot access retried test objects (@juergba)
- #4174: Browser: fix
allowUncaught
option (@juergba)
📖 Documentation
- #4058: Manage author list in AUTHORS instead of
package.json
(@outsideris)
🔩 Other
- #4138: Upgrade ESLint v6.8 (@kaicataldo)
v7.0.1
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
- #4146: Update copyright & trademark notices per OJSF (@boneskull)
- #4140: Fix broken links (@KyoungWan)
🔩 Other
v7.0.0-esm1 (experimental)
7.0.0-esm1 / 2020-01-12
This is an experimental release based on v7.0.0: npm i mocha@7.0.0-esm1
🎉 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 interfacesmocharc
configuration file