NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2276 most downloaded on npm
Classic, reliable, trusted test framework for Node.js and the browser
Last release 3 days ago
01 Oct 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
105 versions withdrawn
withdrawn after publishing
15 years old
251 releases · first in 2011
keep watching when the last test file is removed
One column per quarter.
fail nested tests on beforeEach failure
--parallel integration suite (#6313) (856a1ae)bump serialize-javascript to ^7.1.1
fixup parsing negative numbers and quoted strings
deps: update dependency starlight-blog to ^0.28.0
add package.json exports to avoid DEP0151 warning
replace yargs with Node.js util.parseArgs
replace yargs-unparser in CLI respawn paths
replace he dependency with manual HTML encoding
...-rc-1 (#6106) (00d59bc)change root package.json type to module
require serializer.mjs in parallel worker pool files
remove bin/_mocha and convert bin/ and entry points to ESM
bin/_mocha and convert bin/ and entry points to ESM (#6017)lib/nodejs/ utility files to ESM (#6011) (a8ffaa9)lib/reporters/base to ESM (#6012) (d12dd90)remove unused legacy errors.js functions
errors.js functions (#5835)lib/cli/cli.mjs to ESM (#5909) (6e91a89)webpack from v6 to v7 + remove obsolete fail-on-errors-webpack-plugin (#5908) (103ad41)errors.js functions (#5835) (4116368)alpha, not next (#5951) (8e29413), closes #5947begin running tests immediately instead of waiting for watcher, reload required files in watch mode
escape-string-regexp (single-regex utility) (#5883) (25e6538)add FAQ explainer for dependency security vulnerability reports
docs-next to docs (#5770) (39c15a8)Tests workflow ignore more relevant paths (#5762) (8e2cebe)global.setImmediate fallback (#5836) (5e69d16)repeat() polyfill (#5837) (f988a80)utils.inherits (#5766) (d0a636b)libc props from package-lock.json (#5817) (b0a89ce)beta-9.1 instead of beta.10 (#5821) (bc1eff2)### 🌟 Features * remove log-symbols dependency
### 🧹 Chores * use OIDC to publish to npm
print helpful message when internal CLI error happens
allow chain call timeout to override nested items timeout
add --fail-hook-affected-tests option to report skipped tests as failed
migrate Markdown lint to @eslint/markdown
@eslint/markdown (#5593) (d9e1f0a)npm (#5610) (dc0fdb7)docs/ (#5583) (d8c310e)bump serialize-javascript from 6.0.2 to 7.0.2
### 🧹 Chores * bump glob to version 13
Nothing published for this version
cleanup references of --compilers
ps-list instead of pidtree to remove wmic (#5479) (b2985b3)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
add --fail-hook-affected-tests option to report skipped tests as failed
migrate remaining legacy wiki pages to main documentation
use original require() error for TS files if ERR_UNKNOWN_FILE_EXTENSION
fail with an informative error message on a file with a broken default import
-R import-only-loader (#5391) (6ee5b48)## 11.7.0 (2025-06-18) ### 🌟 Features * use require to load esm
bump workerpool from ^6.5.1 to ^9.2.0
bump mimimatch from ^5.1.6 to ^9.0.5
add option to use posix exit code upon fatal signal
switch from ansi-colors to picocolors
enable reporters to show relative paths of tests
Note that this also included a version bump of `yargs-parser` from ^20.2.9 to ^21.1., which fixed a bug that caused extra quotes in file paths to be r
yargs-parser from ^20.2.9 to ^21.1., which fixed a bug that caused extra quotes in file paths to be removed.
See #5341 for more information.yargs-parser from ^20.2.9 to ^21.1., which fixed a bug that caused extra quotes in file paths to be removed.
See #5341 for more information.strip-ansi with util.stripVTControlCharacters (#5267) (3c191c0), closes #5265adapt new engine range for Mocha 11
Nothing published for this version
support errors with circular dependencies in object values with --parallel
handle case of invalid package.json with no explicit config
remove :is() from mocha.css to support older browsers
## 10.7.3 (2024-08-09) ### 🩹 Fixes * make release-please build work
feat: add option to not fail on failing test suite by @ilgonmic in https://github.com/mochajs/mocha/pull/4771
Full Changelog: https://github.com/mochajs/mocha/compare/v10.6.1...v10.7.0
fix: do not exit when only unref'd timer is present in test code by @boneskull in https://github.com/mochajs/mocha/pull/3825
Full Changelog: https://github.com/mochajs/mocha/compare/v10.6.0...v10.6.1
feat: allow ^ versions for character encoding packages by @JoshuaKGoldberg in https://github.com/mochajs/mocha/pull/5150
Full Changelog: https://github.com/mochajs/mocha/compare/v10.5.2...v10.6.0
fix: better tracking of seen objects in error serialization by @sam-super in https://github.com/mochajs/mocha/pull/5032
Full Changelog: https://github.com/mochajs/mocha/compare/v10.5.1...v10.5.2
fix: Add error handling for nonexistent file case with --file option by @khoaHyh in https://github.com/mochajs/mocha/pull/5086
Full Changelog: https://github.com/mochajs/mocha/compare/v10.5.0...v10.5.1
### :tada: Enhancements - #5015 feat: use \ and \ for browser progress indicator instead of \ (@yourWaifu) - #5143 feat: allow using any 3.x chokidar
## 10.4.0 / 2024-03-26 ### :tada: Enhancements - #4829 feat: include .cause stacks in the error stack traces (@voxpelli) - #4985 feat: add file path t
.cause stacks in the error stack traces (@voxpelli)Your coding agent can read these notes before it upgrades. Set up the MCP server →