# 5.2.0 / 2018-05-18 ## :tada: Enhancements - [#3375]: Add support for comments in `mocha.opts` ([@plroebuck]) ## :bug: Fixes - [#3346]: Exit correctly from `before` hooks when using `--bail` ([@outsideris]) ## :book: Documentation - [#3328]: Mocha-flavored [API docs](https://mochajs.org/api/)! ([@Munter]) ## :nut_and_bolt: Other - [#3330]: Use `Buffer.from()` ([@harrysarson]) - [#3295]: Remove redundant folder ([@DavNej]) - [#3356]: Refactoring ([@plroebuck]) [#3375]: https://github.com/mochajs/mocha/pull/3375 [#3346]: https://github.com/mochajs/mocha/pull/3346 [#3328]: https://github.com/mochajs/mocha/pull/3328 [#3330]: https://github.com/mochajs/mocha/pull/3330 [#3295]: https://github.com/mochajs/mocha/pull/3295 [#3356]: https://github.com/mochajs/mocha/pull/3356 [@plroebuck]: https://github.com/plroebuck [@harrysarson]: https://github.com/harrysarson [@outsideris]: https://github.com/outsideris [@Munter]: https://github.com/Munter # 5.1.1 / 2018-04-18 ## :bug: Fixes - [#3325]: Revert change which broke `--watch` ([@boneskull]) [#3325]: https://github.com/mochajs/mocha/issues/3325 # 5.1.0 / 2018-04-12 ## :tada: Enhancements - [#3210]: Add `--exclude` option ([@metalex9]) ## :bug: Fixes - [#3318]: Fix failures in circular objects in JSON reporter ([@jeversmann], [@boneskull]) ## :book: Documentation - [#3323]: Publish actual [API documentation](https://mochajs.org/api/)! ([@dfberry], [@Munter]) - [#3299]: Improve docs around exclusive tests ([@nicgirault]) ## :nut_and_bolt: Other - [#3302], [#3308], [#3310], [#3315], [#3316]: Build matrix improvements ([more info](https://boneskull.com/mocha-and-travis-ci-build-stages/)) ([@outsideris], [@boneskull]) - [#3272]: Refactor reporter tests ([@jMuzsik]) [#3210]: https://github.com/mochajs/mocha/pull/3210 [#3318]: https://github.com/mochajs/mocha/pull/3318 [#3323]: https://github.com/mochajs/mocha/pull/3323 [#3299]: https://github.com/mochajs/mocha/pull/3299 [#3302]: https://github.com/mochajs/mocha/pull/3302 [#3308]: https://github.com/mochajs/mocha/pull/3308 [#3310]: https://github.com/mochajs/mocha/pull/3310 [#3315]: https://github.com/mochajs/mocha/pull/3315 [#3316]: https://github.com/mochajs/mocha/pull/3316 [#3272]: https://github.com/mochajs/mocha/pull/3272 [@metalex9]: https://github.com/metalex9 [@jeversmann]: https://github.com/jeversmann [@dfberry]: https://github.com/dfberry [@nicgirault]: https://github.com/nicgirault [@jMuzsik]: https://github.com/jMuzsik # 5.0.5 / 2018-03-22 Welcome [@outsideris] to the team! ## :bug: Fixes - [#3096]: Fix `--bail` failing to bail within hooks ([@outsideris]) - [#3184]: Don't skip too many suites (using `describe.skip()`) ([@outsideris]) ## :book: Documentation - [#3133]: Improve docs regarding "pending" behavior ([@ematicipo]) - [#3276], [#3274]: Fix broken stuff in `CHANGELOG.md` ([@tagoro9], [@honzajavorek]) ## :nut_and_bolt: Other - [#3208]: Improve test coverage for AMD users ([@outsideris]) - [#3267]: Remove vestiges of PhantomJS from CI ([@anishkny]) - [#2952]: Fix a debug message ([@boneskull]) [#3096]: https://github.com/mochajs/mocha/issues/3096 [#3184]: https://github.com/mochajs/mocha/issues/3184 [#3133]: https://github.com/mochajs/mocha/issues/3133 [#3276]: https://github.com/mochajs/mocha/pull/3276 [#3274]: https://github.com/mochajs/mocha/pull/3274 [#3208]: https://github.com/mochajs/mocha/issues/3208 [#2952]: https://github.com/mochajs/mocha/issues/2952 [#3267]: https://github.com/mochajs/mocha/pull/3267 [@ematicipo]: https://github.com/ematicipo [@tagoro9]: https://github.com/tagoro9 [@honzajavorek]: https://github.com/honajavorek [@anishkny]: https://github.com/anishkny # 5.0.4 / 2018-03-07 ## :bug: Fixes - [#3265]: Fixes regression in "watch" functionality introduced in v5.0.2 ([@outsideris]) [#3265]: https://github.com/mochajs/mocha/issues/3265 # 5.0.3 / 2018-03-06 This patch features a fix to address a potential "low severity" [ReDoS vulnerability](https://snyk.io/vuln/npm:diff:20180305) in the [diff](https://npm.im/diff) package (a dependency of Mocha). ## :lock: Security Fixes - [#3266]: Bump `diff` to v3.5.0 ([@anishkny]) ## :nut_and_bolt: Other - [#3011]: Expose `generateDiff()` in `Base` reporter ([@harrysarson]) [#3266]: https://github.com/mochajs/mocha/pull/3266 [#3011]: https://github.com/mochajs/mocha/issues/3011 [@anishkny]: https://github.com/anishkny [@harrysarson]: https://github.com/harrysarson # 5.0.2 / 2018-03-05 This release fixes a class of tests which report as *false positives*. **Certain tests will now break**, though they would have previously been reported as passing. Details below. Sorry for the inconvenience! ## :bug: Fixes - [#3226]: Do not swallow errors that are thrown asynchronously from passing tests ([@boneskull]). Example: ```js it('should actually fail, sorry!', function (done) { // passing assertion assert(true === true); // test complete & is marked as passing done(); // ...but something evil lurks within setTimeout(() => { throw new Error('chaos!'); }, 100); }); ``` Previously to this version, Mocha would have *silently swallowed* the `chaos!` exception, and you wouldn't know. Well, *now you know*. Mocha cannot recover from this gracefully, so it will exit with a nonzero code. **Maintainers of external reporters**: *If* a test of this class is encountered, the `Runner` instance will emit the `end` event *twice*; you *may* need to change your reporter to use `runner.once('end')` intead of `runner.on('end')`. - [#3093]: Fix stack trace reformatting problem ([@outsideris]) ## :nut_and_bolt: Other - [#3248]: Update `browser-stdout` to v1.3.1 ([@honzajavorek]) [#3248]: https://github.com/mochajs/mocha/issues/3248 [#3226]: https://github.com/mochajs/mocha/issues/3226 [#3093]: https://github.com/mochajs/mocha/issues/3093 [@honzajavorek]: https://github.com/honzajavorek # 5.0.1 / 2018-02-07 ...your garden-variety patch release. Special thanks to [Wallaby.js](https://wallabyjs.com) for their continued support! :heart: ## :bug: Fixes - [#1838]: `--delay` now works with `.only()` ([@silviom]) - [#3119]: Plug memory leak present in v8 ([@boneskull]) ## :book: Documentation - [#3132], [#3098]: Update `--glob` docs ([@outsideris]) - [#3212]: Update [Wallaby.js](https://wallabyjs.com)-related docs ([@ArtemGovorov]) - [#3205]: Remove outdated cruft ([@boneskull]) ## :nut_and_bolt: Other - [#3224]: Add proper Wallaby.js config ([@ArtemGovorov]) - [#3230]: Update copyright year ([@josephlin55555]) [#1838]: https://github.com/mochajs/mocha/issues/1838 [#3119]: https://github.com/mochajs/mocha/issues/3119 [#3132]: https://github.com/mochajs/mocha/issues/3132 [#3098]: https://github.com/mochajs/mocha/issues/3098 [#3212]: https://github.com/mochajs/mocha/pull/3212 [#3205]: https://github.com/mochajs/mocha/pull/3205 [#3224]: https://github.com/mochajs/mocha/pull/3224 [#3230]: https://github.com/mochajs/mocha/pull/3230 [@silviom]: https://github.com/silviom [@outsideris]: https://github.com/outsideris [@ArtemGovorov]: https://github.com/ArtemGovorov [@josephlin55555]: https://github.com/josephlin55555 # 5.0.0 / 2018-01-17 Mocha starts off 2018 right by again dropping support for *unmaintained rubbish*. Welcome [@vkarpov15] to the team! ## :boom: Breaking Changes - **[#3148]: Drop support for IE9 and IE10** ([@Bamieh]) Practically speaking, only code which consumes (through bundling or otherwise) the userland [buffer](https://npm.im/buffer) module should be affected. However, Mocha will no longer test against these browsers, nor apply fixes for them. ## :tada: Enhancements - [#3181]: Add useful new `--file` command line argument ([documentation](https://mochajs.org/#--file-file)) ([@hswolff]) ## :bug: Fixes - [#3187]: Fix inaccurate test duration reporting ([@FND]) - [#3202]: Fix bad markup in HTML reporter ([@DanielRuf]) ## :sunglasses: Developer Experience - [#2352]: Ditch GNU Make for [nps](https://npm.im/nps) to manage scripts ([@TedYav]) ## :book: Documentation - [#3137]: Add missing `--no-timeouts` docs ([@dfberry]) - [#3134]: Improve `done()` callback docs ([@maraisr]) - [#3135]: Fix cross-references ([@vkarpov15]) - [#3163]: Fix tpyos ([@tbroadley]) - [#3177]: Tweak `README.md` organization ([@xxczaki]) - Misc updates ([@boneskull]) ## :nut_and_bolt: Other - [#3118]: Move TextMate Integration to [its own repo](https://github.com/mochajs/mocha.tmbundle) ([@Bamieh]) - [#3185]: Add Node.js v9 to build matrix; remove v7 ([@xxczaki]) - [#3172]: Markdown linting ([@boneskull]) - Test & Netlify updates ([@Munter], [@boneskull]) [#3148]: https://github.com/mochajs/mocha/issues/3148 [#3181]: https://github.com/mochajs/mocha/issues/3181 [#3187]: https://github.com/mochajs/mocha/issues/3187 [#3202]: https://github.com/mochajs/mocha/pull/3202 [#2352]: https://github.com/mochajs/mocha/issues/2352 [#3137]: https://github.com/mochajs/mocha/issues/3137 [#3134]: https://github.com/mochajs/mocha/issues/3134 [#3135]: https://github.com/mochajs/mocha/issues/3135 [#3163]: https://github.com/mochajs/mocha/pull/3163 [#3177]: https://github.com/mochajs/mocha/pull/3177 [#3118]: https://github.com/mochajs/mocha/issues/3118 [#3185]: https://github.com/mochajs/mocha/issues/3185 [#3172]: https://github.com/mochajs/mocha/issues/3172 [@hswolff]: https://github.com/hswolff [@FND]: https://github.com/FND [@DanielRuf]: https://github.com/DanielRuf [@TedYav]: https://github.com/TedYav [@dfberry]: https://github.com/dfberry [@maraisr]: https://github.com/maraisr [@vkarpov15]: https://github.com/vkarpov15 [@tbroadley]: https://github.com/tbroadley # 4.1.0 / 2017-12-28 This is mainly a "housekeeping" release. Welcome [@Bamieh] and [@xxczaki] to the team! ## :bug: Fixes - [#2661]: `progress` reporter now accepts reporter options ([@canoztokmak]) - [#3142]: `xit` in `bdd` interface now properly returns its `Test` object ([@Bamieh]) - [#3075]: Diffs now computed eagerly to avoid misinformation when reported ([@abrady0]) - [#2745]: `--help` will now help you even if you have a `mocha.opts` ([@Zarel]) ## :tada: Enhancements - [#2514]: The `--no-diff` flag will completely disable diff output ([@CapacitorSet]) - [#3058]: All "setters" in Mocha's API are now also "getters" if called without arguments ([@makepanic]) ## :book: Documentation - [#3170]: Optimization and site speed improvements ([@Munter]) - [#2987]: Moved the old [site repo](https://github.com/mochajs/mochajs.github.io) into the main repo under `docs/` ([@boneskull]) - [#2896]: Add [maintainer guide](https://github.com/mochajs/mocha/blob/master/MAINTAINERS.md) ([@boneskull]) - Various fixes and updates ([@xxczaki], [@maty21], [@leedm777]) ## :nut_and_bolt: Other - Test improvements and fixes ([@eugenet8k], [@ngeor], [@38elements], [@Gerhut], [@ScottFreeCode], [@boneskull]) - Refactoring and cruft excision ([@38elements], [@Bamieh], [@finnigantime], [@boneskull]) [#2661]: https://github.com/mochajs/mocha/issues/2661 [#3142]: https://github.com/mochajs/mocha/issues/3142 [#3075]: https://github.com/mochajs/mocha/pull/3075 [#2745]: https://github.com/mochajs/mocha/issues/2745 [#2514]: https://github.com/mochajs/mocha/issues/2514 [#3058]: https://github.com/mochajs/mocha/issues/3058 [#3170]: https://github.com/mochajs/mocha/pull/3170 [#2987]: https://github.com/mochajs/mocha/issues/2987 [#2896]: https://github.com/mochajs/mocha/issues/2896 [@canoztokmak]: https://github.com/canoztokmak [@Bamieh]: https://github.com/Bamieh [@abrady0]: https://github.com/abrady0 [@Zarel]: https://github.com/Zarel [@CapacitorSet]: https://github.com/CapacitorSet [@xxczaki]: https://github.com/xxczaki [@maty21]: https://github.com/maty21 [@leedm777]: https://github.com/leedm777 [@eugenet8k]: https://github.com/eugenet8k [@38elements]: https://github.com/38elements [@Gerhut]: https://github.com/Gerhut [@finnigantime]: https://github.com/finnigantime # 4.0.1 / 2017-10-05 ## :bug: Fixes - [#3051]: Upgrade Growl to v1.10.3 to fix its [peer dep problems](https://github.com/tj/node-growl/pull/68) ([@dpogue]) [#3051]: https://github.com/mochajs/mocha/pull/3051 [@dpogue]: https://github.com/dpogue # 4.0.0 / 2017-10-02 You might want to read this before filing a new bug! :stuck_out_tongue_closed_eyes: ## :boom: Breaking Changes For more info, please [read this article](https://boneskull.com/mocha-v4-nears-release/). ### Compatibility - [#3016]: Drop support for unmaintained versions of Node.js ([@boneskull]): - 0.10.x - 0.11.x - 0.12.x - iojs (any) - 5.x.x - [#2979]: Drop support for non-ES5-compliant browsers ([@boneskull]): - IE7 - IE8 - PhantomJS 1.x - [#2615]: Drop Bower support; old versions (3.x, etc.) will remain available ([@ScottFreeCode], [@boneskull]) ### Default Behavior - [#2879]: By default, Mocha will no longer force the process to exit once all tests complete. This means any test code (or code under test) which would normally prevent `node` from exiting will do so when run in Mocha. Supply the `--exit` flag to revert to pre-v4.0.0 behavior ([@ScottFreeCode], [@boneskull]) ### Reporter Output - [#2095]: Remove `stdout:` prefix from browser reporter logs ([@skeggse]) - [#2295]: Add separator in "unified diff" output ([@olsonpm]) - [#2686]: Print failure message when `--forbid-pending` or `--forbid-only` is specified ([@ScottFreeCode]) - [#2814]: Indent contexts for better readability when reporting failures ([@charlierudolph]) ## :-1: Deprecations - [#2493]: The `--compilers` command-line option is now soft-deprecated and will emit a warning on `STDERR`. Read [this](https://github.com/mochajs/mocha/wiki/compilers-deprecation) for more info and workarounds ([@ScottFreeCode], [@boneskull]) ## :tada: Enhancements - [#2628]: Allow override of default test suite name in XUnit reporter ([@ngeor]) ## :book: Documentation - [#3020]: Link to CLA in `README.md` and `CONTRIBUTING.md` ([@skeggse]) ## :nut_and_bolt: Other - [#2890]: Speed up build by (re-)consolidating SauceLabs tests ([@boneskull]) [#3016]: https://github.com/mochajs/mocha/issues/3016 [#2979]: https://github.com/mochajs/mocha/issues/2979 [#2615]: https://github.com/mochajs/mocha/issues/2615 [#2879]: https://github.com/mochajs/mocha/issues/2879 [#2095]: https://github.com/mochajs/mocha/issues/2095 [#2295]: https://github.com/mochajs/mocha/issues/2295 [#2686]: https://github.com/mochajs/mocha/issues/2686 [#2814]: https://github.com/mochajs/mocha/pull/2814 [#2493]: https://github.com/mochajs/mocha/issues/2493 [#2628]: https://github.com/mochajs/mocha/issues/2628 [#3020]: https://github.com/mochajs/mocha/pull/3020 [#2890]: https://github.com/mochajs/mocha/issues/2890 [@skeggse]: https://github.com/skeggse [@olsonpm]: https://github.com/olsonpm [@ngeor]: https://github.com/ngeor # 3.5.3 / 2017-09-11 ## :bug: Fixes - [#3003]: Fix invalid entities in xUnit reporter first appearing in v3.5.1 ([@jkrems]) [#3003]: https://github.com/mochajs/mocha/pull/3003 # 3.5.2 / 2017-09-10 ## :bug: Fixes - [#3001]: Fix AMD-related failures first appearing in v3.5.1 ([@boneskull]) [#3001]: https://github.com/mochajs/mocha/pull/3001 # 3.5.1 / 2017-09-09 ## :newspaper: News - :mega: Mocha is now sponsoring [PDXNode](http://pdxnode.org)! If you're in the [Portland](https://wikipedia.org/wiki/Portland,_Oregon) area, come check out the monthly talks and hack nights! ## :bug: Fixes - [#2997]: Fix missing `xit` export for "require" interface ([@solodynamo]) - [#2957]: Fix unicode character handling in XUnit reporter failures ([@jkrems]) ## :nut_and_bolt: Other - [#2986]: Add issue and PR templates ([@kungapal]) - [#2918]: Drop bash dependency for glob-related tests ([@ScottFreeCode]) - [#2922]: Improve `--compilers` coverage ([@ScottFreeCode]) - [#2981]: Fix tpyos and spelling errors ([@jsoref]) [#2997]: https://github.com/mochajs/mocha/pull/2997 [#2957]: https://github.com/mochajs/mocha/pull/2957 [#2918]: https://github.com/mochajs/mocha/pull/2918 [#2986]: https://github.com/mochajs/mocha/pull/2986 [#2922]: https://github.com/mochajs/mocha/pull/2922 [#2981]: https://github.com/mochajs/mocha/pull/2981 [@solodynamo]: https://github.com/solodynamo [@jkrems]: https://github.com/jkrems [@jsoref]: https://github.com/jsoref # 3.5.0 / 2017-07-31 ## :newspaper: News - Mocha now has a [code of conduct](https://github.com/mochajs/mocha/blob/master/.github/CODE_OF_CONDUCT.md) (thanks [@kungapal]!). - Old issues and PRs are now being marked "stale" by [Probot's "Stale" plugin](https://github.com/probot/stale). If an issue is marked as such, and you would like to see it remain open, simply add a new comment to the ticket or PR. - **WARNING**: Support for non-ES5-compliant environments will be dropped starting with version 4.0.0 of Mocha! ## :lock: Security Fixes - [#2860]: Address [CVE-2015-8315](https://nodesecurity.io/advisories/46) via upgrade of [debug](https://npm.im/debug) ([@boneskull]) ## :tada: Enhancements - [#2696]: Add `--forbid-only` and `--forbid-pending` flags. Use these in CI or hooks to ensure tests aren't accidentally being skipped! ([@charlierudolph]) - [#2813]: Support Node.js 8's `--napi-modules` flag ([@jupp0r]) ## :nut_and_bolt: Other - Various CI-and-test-related fixes and improvements ([@boneskull], [@dasilvacontin], [@PopradiArpad], [@Munter], [@ScottFreeCode]) - "Officially" support Node.js 8 ([@elergy]) [#2860]: https://github.com/mochajs/mocha/pull/2860 [#2696]: https://github.com/mochajs/mocha/pull/2696 [#2813]: https://github.com/mochajs/mocha/pull/2813 [@charlierudolph]: https://github.com/charlierudolph [@PopradiArpad]: https://github.com/PopradiArpad [@kungapal]: https://github.com/kungapal [@elergy]: https://github.com/elergy [@jupp0r]: https://github.com/jupp0r # 3.4.2 / 2017-05-24 ## :bug: Fixes - [#2802]: Remove call to deprecated `os.tmpDir` ([@makepanic]) - [#2820]: Eagerly set `process.exitCode` ([@chrisleck]) ## :nut_and_bolt: Other - [#2778]: Move linting into an npm script ([@Munter]) [@chrisleck]: https://github.com/chrisleck [@makepanic]: https://github.com/makepanic [@Munter]: https://github.com/Munter [#2778]: https://github.com/mochajs/mocha/pull/2778 [#2802]: https://github.com/mochajs/mocha/issues/2802 [#2820]: https://github.com/mochajs/mocha/pull/2820 # 3.4.1 / 2017-05-14 Fixed a publishing mishap with git's autocrlf settings. # 3.4.0 / 2017-05-14 Mocha is now moving to a quicker release schedule: when non-breaking changes are merged, a release should happen that week. This week's highlights: - `allowUncaught` added to commandline as `--allow-uncaught` (and bugfixed) - warning-related Node flags ## :tada: Enhancements - [#2793], [#2697]: add --allowUncaught to Node.js ([@lrowe]) - [#2733]: Add `--no-warnings` and `--trace-warnings` flags ([@sonicdoe]) ## :bug: Fixes - [#2793], [#2697]: fix broken allowUncaught ([@lrowe]) ## :nut_and_bolt: Other - [#2778]: Add license report and scan status ([@xizhao]) - [#2794]: no special case for macOS running Karma locally ([@boneskull]) - [#2795]: reverts use of semistandard directly ([#2648]) ([@boneskull]) [@lrowe]: https://github.com/lrowe [@sonicdoe]: https://github.com/sonicdoe [@xizhao]: https://github.com/xizhao [@boneskull]: https://github.com/boneskull [#2795]: https://github.com/mochajs/mocha/pull/2795 [#2733]: https://github.com/mochajs/mocha/pull/2733 [#2793]: https://github.com/mochajs/mocha/pull/2793 [#2697]: https://github.com/mochajs/mocha/pull/2697 [#2778]: https://github.com/mochajs/mocha/pull/2778 [#2794]: https://github.com/mochajs/mocha/pull/2794 # 3.3.0 / 2017-04-24 Thanks to all our contributors, maintainers, sponsors, and users! ❤️ As highlights: - We've got coverage now! - Testing is looking less flaky \o/. - No more nitpicking about "mocha.js" build on PRs. ## :tada: Enhancements - [#2659]: Adds support for loading reporter from an absolute or relative path ([@sul4bh]) - [#2769]: Support `--inspect-brk` on command-line ([@igwejk]) ## :bug: Fixes - [#2662]: Replace unicode chars w/ hex codes in HTML reporter ([@rotemdan]) ## :mag: Coverage - [#2672]: Add coverage for node tests ([@c089], [@Munter]) - [#2680]: Increase tests coverage for base reporter ([@epallerols]) - [#2690]: Increase tests coverage for doc reporter ([@craigtaub]) - [#2701]: Increase tests coverage for landing, min, tap and list reporters ([@craigtaub]) - [#2691]: Increase tests coverage for spec + dot reporters ([@craigtaub]) - [#2698]: Increase tests coverage for xunit reporter ([@craigtaub]) - [#2699]: Increase tests coverage for json-stream, markdown and progress reporters ([@craigtaub]) - [#2703]: Cover .some() function in utils.js with tests ([@seppevs]) - [#2773]: Add tests for loading reporters w/ relative/absolute paths ([@sul4bh]) ## :nut_and_bolt: Other - Remove bin/.eslintrc; ensure execs are linted ([@boneskull]) - [#2542]: Expand CONTRIBUTING.md ([@boneskull]) - [#2660]: Double timeouts on integration tests ([@Munter]) - [#2653]: Update copyright year ([@Scottkao85], [@Munter]) - [#2621]: Update dependencies to enable Greenkeeper ([@boneskull], [@greenkeeper]) - [#2625]: Use trusty container in travis-ci; use "artifacts" addon ([@boneskull]) - [#2670]: doc(CONTRIBUTING): fix link to org members ([@coderbyheart]) - Add Mocha propaganda to README.md ([@boneskull]) - [#2470]: Avoid test flake in "delay" test ([@boneskull]) - [#2675]: Limit browser concurrency on sauce ([@boneskull]) - [#2669]: Use temporary test-only build of mocha.js for browsers tests ([@Munter]) - Fix "projects" link in README.md ([@boneskull]) - [#2678]: Chore(Saucelabs): test on IE9, IE10 and IE11 ([@coderbyheart]) - [#2648]: Use `semistandard` directly ([@kt3k]) - [#2727]: Make the build reproducible ([@lamby]) [@boneskull]: https://github.com/boneskull [@c089]: https://github.com/c089 [@coderbyheart]: https://github.com/coderbyheart [@craigtaub]: https://github.com/craigtaub [@epallerols]: https://github.com/epallerols [@greenkeeper]: https://github.com/greenkeeper [@igwejk]: https://github.com/igwejk [@kt3k]: https://github.com/kt3k [@lamby]: https://github.com/lamby [@Munter]: https://github.com/Munter [@rotemdan]: https://github.com/rotemdan [@seppevs]: https://github.com/seppevs [@sul4bh]: https://github.com/sul4bh [#2470]: https://github.com/mochajs/mocha/pull/2470 [#2542]: https://github.com/mochajs/mocha/issues/2542 [#2621]: https://github.com/mochajs/mocha/pull/2621 [#2625]: https://github.com/mochajs/mocha/pull/2625 [#2648]: https://github.com/mochajs/mocha/pull/2648 [#2653]: https://github.com/mochajs/mocha/pull/2653 [#2659]: https://github.com/mochajs/mocha/pull/2659 [#2660]: https://github.com/mochajs/mocha/pull/2660 [#2662]: https://github.com/mochajs/mocha/pull/2662 [#2669]: https://github.com/mochajs/mocha/pull/2669 [#2670]: https://github.com/mochajs/mocha/pull/2670 [#2672]: https://github.com/mochajs/mocha/pull/2672 [#2675]: https://github.com/mochajs/mocha/pull/2675 [#2678]: https://github.com/mochajs/mocha/pull/2678 [#2680]: https://github.com/mochajs/mocha/pull/2680 [#2690]: https://github.com/mochajs/mocha/pull/2690 [#2691]: https://github.com/mochajs/mocha/pull/2691 [#2698]: https://github.com/mochajs/mocha/pull/2698 [#2699]: https://github.com/mochajs/mocha/pull/2699 [#2701]: https://github.com/mochajs/mocha/pull/2701 [#2703]: https://github.com/mochajs/mocha/pull/2703 [#2727]: https://github.com/mochajs/mocha/pull/2727 [#2769]: https://github.com/mochajs/mocha/pull/2769 [#2773]: https://github.com/mochajs/mocha/pull/2773 # 3.2.0 / 2016-11-24 ## :newspaper: News ### Mocha is now a JS Foundation Project! Mocha is proud to have joined the [JS Foundation](https://js.foundation). For more information, [read the announcement](https://js.foundation/announcements/2016/10/17/Linux-Foundation-Unites-JavaScript-Community-Open-Web-Development/). ### Contributor License Agreement Under the foundation, all contributors to Mocha must sign the [JS Foundation CLA](https://js.foundation/CLA/) before their code can be merged. When sending a PR--if you have not already signed the CLA--a friendly bot will ask you to do so. Mocha remains licensed under the [MIT license](https://github.com/mochajs/mocha/blob/master/LICENSE). ## :bug: Bug Fix - [#2535]: Fix crash when `--watch` encounters broken symlinks ([@villesau]) - [#2593]: Fix (old) regression; incorrect symbol shown in `list` reporter ([@Aldaviva]) - [#2584]: Fix potential error when running XUnit reporter ([@vobujs]) ## :tada: Enhancement - [#2294]: Improve timeout error messaging ([@jeversmann], [@boneskull]) - [#2520]: Add info about `--inspect` flag to CLI help ([@ughitsaaron]) ## :nut_and_bolt: Other - [#2570]: Use [karma-mocha](https://npmjs.com/package/karma-mocha) proper ([@boneskull]) - Licenses updated to reflect new copyright, add link to license and browser matrix to `README.md` ([@boneskull], [@ScottFreeCode], [@dasilvacontin]) [#2294]: https://github.com/mochajs/mocha/issues/2294 [#2535]: https://github.com/mochajs/mocha/issues/2535 [#2520]: https://github.com/mochajs/mocha/pull/2520 [#2593]: https://github.com/mochajs/mocha/pull/2593 [#2584]: https://github.com/mochajs/mocha/issues/2584 [#2570]: https://github.com/mochajs/mocha/issues/2570 [@Aldaviva]: https://github.com/Aldaviva [@jeversmann]: https://github.com/jeversmann [@ughitsaaron]: https://github.com/ughitsaaron [@villesau]: https://github.com/villesau [@vobujs]: https://github.com/vobujs Thanks to all our contributors, sponsors and backers! Keep on the lookout for a public roadmap and new contribution guide coming soon. # 3.1.2 / 2016-10-10 ## :bug: Bug Fix - [#2528]: Recovery gracefully if an `Error`'s `stack` property isn't writable ([@boneskull]) [#2528]: https://github.com/mochajs/mocha/issues/2528 # 3.1.1 / 2016-10-09 ## :bug: Bug Fix - [#1417]: Don't report `done()` was called multiple times when it wasn't ([@frankleonrose]) ## :nut_and_bolt: Other - [#2490]: Lint with [semistandard](https://npmjs.com/package/semistandard) config ([@makepanic]) - [#2525]: Lint all `.js` files ([@boneskull]) - [#2524]: Provide workaround for developers unable to run browser tests on macOS Sierra ([@boneskull]) [#1417]: https://github.com/mochajs/mocha/issues/1417 [#2490]: https://github.com/mochajs/mocha/issues/2490 [#2525]: https://github.com/mochajs/mocha/issues/2525 [#2524]: https://github.com/mochajs/mocha/issues/2524 [@makepanic]: https://github.com/makepanic [@frankleonrose]: https://github.com/frankleonrose # 3.1.0 / 2016-09-27 ## :tada: Enhancement - [#2357]: Support `--inspect` on command-line ([@simov]) - [#2194]: Human-friendly error if no files are matched on command-line ([@Munter]) - [#1744]: Human-friendly error if a Suite has no callback (BDD/TDD only) ([@anton]) ## :bug: Bug Fix - [#2488]: Fix case in which *variables beginning with lowercase "D"* may not have been reported properly as global leaks ([@JustATrick]) :laughing: - [#2465]: Always halt execution in async function when `this.skip()` is called ([@boneskull]) - [#2445]: Exits with expected code 130 when `SIGINT` encountered; exit code can no longer rollover at 256 ([@Munter]) - [#2315]: Fix uncaught TypeError thrown from callback stack ([@1999]) - Fix broken `only()`/`skip()` in IE7/IE8 ([@boneskull]) - [#2502]: Fix broken stack trace filter on Node.js under Windows ([@boneskull]) - [#2496]: Fix diff output for objects instantiated with `String` constructor ([more](https://youtrack.jetbrains.com/issue/WEB-23383)) ([@boneskull]) [#2496]: https://github.com/mochajs/mocha/issues/2496 [#2502]: https://github.com/mochajs/mocha/issues/2502 [#2315]: https://github.com/mochajs/mocha/issues/2315 [#2445]: https://github.com/mochajs/mocha/pull/2445 [#2465]: https://github.com/mochajs/mocha/issues/2465 [#2488]: https://github.com/mochajs/mocha/issues/2488 [#1744]: https://github.com/mochajs/mocha/issues/1744 [#2194]: https://github.com/mochajs/mocha/issues/2194 [#2357]: https://github.com/mochajs/mocha/issues/2357 [@1999]: https://github.com/1999 [@JustATrick]: https://github.com/JustATrick [@anton]: https://github.com/anton [@simov]: https://github.com/simov # 3.0.2 / 2016-08-08 ## :bug: Bug Fix - [#2424]: Fix error loading Mocha via Require.js ([@boneskull]) - [#2417]: Fix execution of *deeply* nested `describe.only()` suites ([@not-an-aardvark]) - Remove references to `json-cov` and `html-cov` reporters in CLI ([@boneskull]) [#2417]: https://github.com/mochajs/mocha/issues/2417 [#2424]: https://github.com/mochajs/mocha/issues/2424 # 3.0.1 / 2016-08-03 ## :bug: Bug Fix - [#2406]: Restore execution of nested `describe.only()` suites ([@not-an-aardvark]) [#2406]: https://github.com/mochajs/mocha/issues/2406 [@not-an-aardvark]: https://github.com/not-an-aardvark # 3.0.0 / 2016-07-31 ## :boom: Breaking Changes - :warning: Due to the increasing difficulty of applying security patches made within its dependency tree, as well as looming incompatibilities with Node.js v7.0, **Mocha no longer supports Node.js v0.8**. - :warning: **Mocha may no longer be installed by versions of `npm` less than `1.4.0`.** Previously, this requirement only affected Mocha's development dependencies. In short, this allows Mocha to depend on packages which have dependencies fixed to major versions (`^`). - `.only()` is no longer "fuzzy", can be used multiple times, and generally just works like you think it should. :joy: - To avoid common bugs, when a test injects a callback function (suggesting asynchronous execution), calls it, *and* returns a `Promise`, Mocha will now throw an exception: ```js const assert = require('assert'); it('should complete this test', function (done) { return new Promise(function (resolve) { assert.ok(true); resolve(); }) .then(done); }); ``` The above test will fail with `Error: Resolution method is overspecified. Specify a callback *or* return a Promise; not both.`. - When a test timeout value *greater than* `2147483648` is specified in any context (`--timeout`, `mocha.setup()`, per-suite, per-test, etc.), the timeout will be *disabled* and the test(s) will be allowed to run indefinitely. This is equivalent to specifying a timeout value of `0`. See [MDN](https://developer.mozilla.org/docs/Web/API/WindowTimers/setTimeout#Maximum_delay_value) for reasoning. - The `dot` reporter now uses more visually distinctive characters when indicating "pending" and "failed" tests. - Mocha no longer supports [component](https://www.npmjs.com/package/component). - The long-forsaken `HTMLCov` and `JSONCov` reporters--and any relationship to the "node-jscoverage" project--have been removed. - `spec` reporter now omits leading carriage returns (`\r`) in non-TTY environment. ## :tada: Enhancements - [#808]: Allow regular-expression-like strings in `--grep` and browser's `grep` querystring; enables flags such as `i` for case-insensitive matches and `u` for unicode. ([@a8m]) - [#2000]: Use distinctive characters in `dot` reporter; `,` will denote a "pending" test and `!` will denote a "failing" test. ([@elliottcable]) - [#1632]: Throw a useful exception when a suite or test lacks a title. ([@a8m]) - [#1481]: Better `.only()` behavior. ([@a8m]) - [#2334]: Allow `this.skip()` in async tests and hooks. ([@boneskull]) - [#1320]: Throw a useful exception when test resolution method is overspecified. ([@jugglinmike]) - [#2364]: Support `--preserve-symlinks`. ([@rosswarren]) ## :bug: Bug Fixes - [#2259]: Restore ES3 compatibility. Specifically, support an environment lacking `Date.prototype.toISOString()`, `JSON`, or has a non-standard implementation of `JSON`. ([@ndhoule], [@boneskull]) - [#2286]: Fix `after()` failing to execute if test skipped using `this.skip()` in `beforeEach()`; no longer marks the entire suite as "pending". ([@dasilvacontin], [@boneskull]) - [#2208]: Fix function name display in `markdown` and `html` (browser) reporters. ([@ScottFreeCode]) - [#2299]: Fix progress bar in `html` (browser) reporter. ([@AviVahl]) - [#2307]: Fix `doc` reporter crashing when test fails. ([@jleyba]) - [#2323]: Ensure browser entry point (`browser-entry.js`) is published to npm (for use with bundlers). ([@boneskull]) - [#2310]: Ensure custom reporter with an absolute path works in Windows. ([@silentcloud]) - [#2311]: Fix problem wherein calling `this.slow()` without a value would blast any previously set value. ([@boneskull]) - [#1813]: Ensure Mocha's own test suite will run in Windows. ([@tswaters], [@TimothyGu], [@boneskull]) - [#2317]: Ensure all interfaces are displayed in `--help` on CLI. ([@ScottFreeCode]) - [#1644]: Don't exhibit undefined behavior when calling `this.timeout()` with very large values ([@callumacrae], [@boneskull]) - [#2361]: Don't truncate name of thrown anonymous exception. ([@boneskull]) - [#2367]: Fix invalid CSS. ([@bensontrent]) - [#2401]: Remove carriage return before each test line in spec reporter. ([@Munter]) ## :nut_and_bolt: Other - Upgrade production dependencies to address security advisories (and because now we can): `glob`, `commander`, `escape-string-regexp`, and `supports-color`. ([@boneskull], [@RobLoach]) - Add Windows to CI. ([@boneskull], [@TimothyGu]) - Ensure appropriate `engines` field in `package.json`. ([@shinnn], [@boneskull]) - [#2348]: Upgrade ESLint to v2 ([@anthony-redfox]) We :heart: our [backers and sponsors](https://opencollective.com/mochajs)! :shipit: [#2401]: https://github.com/mochajs/mocha/pull/2401 [#2348]: https://github.com/mochajs/mocha/issues/2348 [#808]: https://github.com/mochajs/mocha/issues/808 [#2361]: https://github.com/mochajs/mocha/pull/2361 [#2367]: https://github.com/mochajs/mocha/pull/2367 [#2364]: https://github.com/mochajs/mocha/pull/2364 [#1320]: https://github.com/mochajs/mocha/pull/1320 [#2307]: https://github.com/mochajs/mocha/pull/2307 [#2259]: https://github.com/mochajs/mocha/pull/2259 [#2208]: https://github.com/mochajs/mocha/pull/2208 [#2299]: https://github.com/mochajs/mocha/pull/2299 [#2286]: https://github.com/mochajs/mocha/issues/2286 [#1644]: https://github.com/mochajs/mocha/issues/1644 [#2310]: https://github.com/mochajs/mocha/issues/2310 [#2311]: https://github.com/mochajs/mocha/issues/2311 [#2323]: https://github.com/mochajs/mocha/issues/2323 [#2000]: https://github.com/mochajs/mocha/pull/2000 [#1632]: https://github.com/mochajs/mocha/issues/1632 [#1813]: https://github.com/mochajs/mocha/issues/1813 [#2334]: https://github.com/mochajs/mocha/issues/2334 [#2317]: https://github.com/mochajs/mocha/issues/2317 [#1481]: https://github.com/mochajs/mocha/issues/1481 [@elliottcable]: https://github.com/elliottcable [@RobLoach]: https://github.com/robloach [@AviVahl]: https://github.com/avivahl [@silentcloud]: https://github.com/silentcloud [@tswaters]: https://github.com/tswaters [@jleyba]: https://github.com/jleyba [@TimothyGu]: https://github.com/timothygu [@callumacrae]: https://github.com/callumacrae [@shinnn]: https://github.com/shinnn [@bensontrent]: https://github.com/bensontrent [@jugglinmike]: https://github.com/jugglinmike [@rosswarren]: https://github.com/rosswarren [@anthony-redfox]: https://github.com/anthony-redfox [@Munter]: https://github.com/munter # 2.5.3 / 2016-05-25 - [#2112] - Fix HTML reporter regression causing duplicate error output ([@danielstjules] via 6d24063) - [#2119] - Make HTML reporter failure/passed links preventDefault to avoid SPA's hash navigation ([@jimenglish81] via 9e93efc) [@danielstjules]: https://github.com/danielstjules [@jimenglish81]: https://github.com/jimenglish81 [#2112]: https://github.com/mochajs/mocha/pull/2112 [#2119]: https://github.com/mochajs/mocha/pull/2119 # 2.5.2 / 2016-05-24 - [#2178] - Avoid double and triple xUnit XML escaping ([@graingert] via 49b5ff1) [@graingert]: https://github.com/graingert [#2178]: https://github.com/mochajs/mocha/pull/2178 # 2.5.1 / 2016-05-23 - Fix [to-iso-string](https://npmjs.com/package/to-iso-string) dependency ([@boneskull] via bd9450b) Thanks @entertainyou, @SimenB, @just-paja for the heads-up. # 2.5.0 / 2016-05-23 This has been awhile coming! We needed to feel confident that the next release wouldn't break browser compatibility (e.g. the last few patch releases). ## Browser Tests in CI We now run unit tests against PhantomJS v1.x and an assortment of browsers on [SauceLabs](https://saucelabs.com), including: - Internet Explorer v8.0 - Chrome (latest) - Firefox (latest) - Safari (latest) - Microsoft Edge (latest) To accomplish this, we now run Mocha's unit tests (and a handful of integration tests) via [Karma](https://npmjs.com/package/karma) and a modified [karma-mocha](https://npmjs.com/package/karma-mocha). Along the way, we had to solve issue [#880] (apologies to @mderijcke and @sukima who had PRs addressing this), as well as replace most usages of [should](https://npmjs.com/package/should) with [expect.js](https://npmjs.com/package/expect.js) for IE8. Going forward, when sending PRs, your code will *only* run against PhantomJS v1.x (and not hit SauceLabs) [because security](https://docs.travis-ci.com/user/pull-requests/#Security-Restrictions-when-testing-Pull-Requests). ## Node.js 6.x Node.js 6.x "just worked" before, but now it's in the CI matrix, so it's "officially" supported. Mocha *still retains support* for Node.js 0.8.x. ## "Minor" Release You'll see mostly bug fixes below, but also a couple features--as such, it's a "minor" release. ## TYVM Thanks to everyone who contributed, and our fabulous [sponsors and backers](https://opencollective.com/mochajs)! - [#2079] - Add browser checks to CI; update [browserify](https://npmjs.com/package/browserify) to v13.0.0 ([@dasilvacontin], [@ScottFreeCode], [@boneskull] via c04c1d7, 0b1e9b3, 0dde0fa, f8a3d86, 9e8cbaa) - [#880] - Make Mocha browserifyable ([@boneskull] via 524862b) - [#2121] - Update [glob](https://npmjs.com/package/glob) to v3.2.11 ([@astorije] via 7920fc4) - [#2126] - Fix dupe error messages in stack trace filter ([@Turbo87] via 4301caa) - [#2109] - Fix certain diffs when objects cannot be coerced into primitives ([@joshlory] via 61fbb7f) - [#1827] - Fix TWBS/`mocha.css` collisions ([@irnc] via 0543798) - [#1760], [#1936] - Fix `this.skip()` in HTML reporter ([@mislav] via cb4248b) - [#2115] - Fix exceptions thrown from hooks in HTML reporter ([@danielstjules] via e290bc0) - [#2089] - Handle Symbol values in `util.stringify()` ([@ryym] via ea61d05) - [#2097] - Fix diff for objects overriding `Object.prototype.hasOwnProperty` ([@mantoni] via b20fdfe) - [#2101] - Properly handle non-string "messages" thrown from assertion libraries ([@jkimbo] via 9c41051) - [#2124] - Update [growl](https://npmjs.com/package/growl) ([@benjamine] via 9ae6a85) - [#2162], [#2205] - JSDoc fixes ([@OlegTsyba] via 8031f20, [@ScottFreeCode] via f83b1d9) - [#2132] - Remove Growl-related cruft ([@julienw] via 00d6469) - [#2172] - Add [OpenCollective](https://opencollective.com) badge, sponsors & backers ([@xdamman], [@boneskull] via caee94f) - [#1841] - Add new logo, banner assets ([@dasilvacontin] via 00fd0e1) - [#2214] - Update `README.md` header ([@dasilvacontin] via c0f9be2) - [#2236] - Better checks for Node.js v0.8 compatibility in CI ([@dasilvacontin] via ba5637d) - [#2239] - Add Node.js v6.x to CI matrix ([@boneskull] via 3904da4) [#880]: https://github.com/mochajs/mocha/issues/880 [#1841]: https://github.com/mochajs/mocha/pull/1841 [#2239]: https://github.com/mochajs/mocha/issues/2239 [#2153]: https://github.com/mochajs/mocha/pull/2153 [#2214]: https://github.com/mochajs/mocha/pull/2214 [#2236]: https://github.com/mochajs/mocha/pull/2236 [#2079]: https://github.com/mochajs/mocha/issues/2079 [#2231]: https://github.com/mochajs/mocha/pull/2231 [#2089]: https://github.com/mochajs/mocha/issues/2089 [#2097]: https://github.com/mochajs/mocha/pull/2097 [#1760]: https://github.com/mochajs/mocha/issues/1760 [#1936]: https://github.com/mochajs/mocha/issues/1936 [#2115]: https://github.com/mochajs/mocha/pull/2115 [#1827]: https://github.com/mochajs/mocha/pull/1827 [#2101]: https://github.com/mochajs/mocha/pull/2101 [#2124]: https://github.com/mochajs/mocha/pull/2124 [#2109]: https://github.com/mochajs/mocha/issues/2109 [#2162]: https://github.com/mochajs/mocha/pull/2162 [#2132]: https://github.com/mochajs/mocha/issues/2132 [#2126]: https://github.com/mochajs/mocha/issues/2126 [#2121]: https://github.com/mochajs/mocha/issues/2121 [#2205]: https://github.com/mochajs/mocha/pull/2205 [#2172]: https://github.com/mochajs/mocha/pull/2172 [@xdamman]: https://github.com/xdamman [@Turbo87]: https://github.com/Turbo87 [@OlegTsyba]: https://github.com/OlegTsyba [@ryym]: https://github.com/ryym [@mantoni]: https://github.com/mantoni [@mislav]: https://github.com/mislav [@irnc]: https://github.com/irnc [@jkimbo]: https://github.com/jkimbo [@benjamine]: https://github.com/benjamine [@joshlory]: https://github.com/joshlory [@julienw]: https://github.com/julienw [@ScottFreeCode]: https://github.com/ScottFreeCode [@astorije]: https://github.com/astorije [@dasilvacontin]: https://github.com/dasilvacontin # 2.4.5 / 2016-01-28 - [#2080], [#2078], [#2072], [#2073], [#1200] - Revert changes to console colors in changeset [1192914](https://github.com/mochajs/mocha/commit/119291449cd03a11cdeda9e37cf718a69a012896) and subsequent related changes thereafter. Restores compatibility with IE8 & PhantomJS. See also [mantoni/mochify.js#129](https://github.com/mantoni/mochify.js/issues/129) and [openlayers/ol3#4746](https://github.com/openlayers/ol3/pull/4746) ([@boneskull]) - [#2082] - Fix several test assertions ([@mislav]) [#1200]: https://github.com/mochajs/mocha/issues/1200 [#2082]: https://github.com/mochajs/mocha/pull/2082 # 2.4.4 / 2016-01-27 - [#2080] - Fix broken RequireJS compatibility ([@boneskull]) [#2080]: https://github.com/mochajs/mocha/issues/2080 # 2.4.3 / 2016-01-27 - [#2078] - Fix broken IE8 ([@boneskull]) [#2078]: https://github.com/mochajs/mocha/issues/2078 # 2.4.2 / 2016-01-26 - [#2053] - Fix web worker compatibility ([@mislav]) - [#2072] - Fix Windows color output ([@thedark1337]) - [#2073] - Fix colors in `progress` and `landing` reporters ([@gyandeeps]) [#2053]: https://github.com/mochajs/mocha/pull/2053 [#2072]: https://github.com/mochajs/mocha/pull/2072 [#2073]: https://github.com/mochajs/mocha/pull/2073 [@gyandeeps]: https://github.com/gyandeeps [@thedark1337]: https://github.com/thedark1337 # 2.4.1 / 2016-01-26 - [#2067] - Fix HTML/doc reporter regressions ([@danielstjules]) [#2067]: https://github.com/mochajs/mocha/pull/2067 # 2.4.0 / 2016-01-25 - [#1945] - Correctly skip tests when skipping in suite's before() ([@ryanshawty]) - [#2056] - chore(license): update license year to 2016 ([@pra85]) - [#2048] - Fix `this.skip` from spec with HTML reporter ([@mislav]) - [#2033] - Update tests for newer versions of should.js ([@tomhughes]) - [#2037] - Fix for memory leak caused by referenced to deferred test ([@bd82]) - [#2038] - Also run Travis-CI on node.js 4 & 5 ([@bd82]) - [#2028] - Remove reference to test before afterAll hook runs ([@stonelgh]) - Bump mkdirp to 0.5.1 to support strict mode ([@danielstjules]) - [#1977] - safely stringify PhantomJS undefined value ([@ahamid]) - Add the ability to retry tests ([@@longlho]) - [#1982] - Enable --log-timer-events option [@Alaneor] - Fix #1980: Load mocha.opts from bin/mocha and bin/_mocha ([@danielstjules]) - [#1976] - Simplify function call ([@iclanzan]) - [#1963] - Add support --perf-basic-prof ([@robraux]) - [#1981] - Fix HTML reporter handling of done and exceptions ([@Standard8]) - [#1993] - propagate "file" property for "exports" interface ([@segrey]) - [#1999] - Add support for strict mode ([@tmont]) - [#2005] - XUnit Reporter Writes to stdout, falls back to console.log ([@jonnyreeves]) - [#2021] - Fix non ES5 compliant regexp ([@zetaben]) - [#1965] - Don't double install BDD UI ([@cowboyd]) - [#1995] - Make sure the xunit output dir exists before writing to it ([@ianwremmel]) - Use chalk for the base reporter colors; closes #1200 ([@boneskull]) - Fix requiring custom interfaces ([@jgkim]) - [#1967] Silence Bluebird js warnings ([@krisr]) [#1945]: https://github.com/mochajs/mocha/pull/1945 [#2056]: https://github.com/mochajs/mocha/pull/2056 [#2048]: https://github.com/mochajs/mocha/pull/2048 [#2033]: https://github.com/mochajs/mocha/pull/2033 [#2037]: https://github.com/mochajs/mocha/pull/2037 [#2038]: https://github.com/mochajs/mocha/pull/2038 [#2028]: https://github.com/mochajs/mocha/pull/2028 [#1977]: https://github.com/mochajs/mocha/pull/1977 [#1982]: https://github.com/mochajs/mocha/pull/1982 [#1976]: https://github.com/mochajs/mocha/pull/1976 [#1963]: https://github.com/mochajs/mocha/pull/1963 [#1981]: https://github.com/mochajs/mocha/pull/1981 [#1993]: https://github.com/mochajs/mocha/pull/1993 [#1999]: https://github.com/mochajs/mocha/pull/1999 [#2005]: https://github.com/mochajs/mocha/pull/2005 [#2021]: https://github.com/mochajs/mocha/pull/2021 [1965#]: https://github.com/mochajs/mocha/pull/1965 [#1995]: https://github.com/mochajs/mocha/pull/1995 [#1967]: https://github.com/mochajs/mocha/pull/1967 [@ryanshawty]: https://github.com/ryanshawty [@pra85]: https://github.com/pra85 [@mislav]: https://github.com/mislav [@tomhughes]: https://github.com/tomhughes [@bd82]: https://github.com/bd82 [@stonelgh]: https://github.com/stonelgh [@danielstjules]: https://github.com/danielstjules [@ahamid]: https://github.com/ahamid [@longlho]: https://github.com/longlho [@Alaneor]: https://github.com/Alaneor [@iclanzan]: https://github.com/iclanzan [@robraux]: https://github.com/robraux [@Standard8]: https://github.com/Standard8 [@segrey]: https://github.com/segrey [@tmont]: https://github.com/tmont [@jonnyreeves]: https://github.com/jonnyreeves [@zetaben]: https://github.com/zetaben [@cowboyd]: https://github.com/cowboyd [@ianwremmel]: https://github.com/ianwremmel [@boneskull]: https://github.com/boneskull [@jgkim]: https://github.com/jgkim [@krisr]: https://github.com/krisr # 2.3.4 / 2015-11-15 - Update debug dependency to 2.2.0 - remove duplication of mocha.opts on process.argv - Fix typo in test/reporters/nyan.js # 2.3.3 / 2015-09-19 - [#1875] - Fix Markdown reporter exceeds maximum call stack size ([@danielstjules]) - [#1864] - Fix xunit missing output with --reporter-options output ([@danielstjules]) - [#1846] - Support all harmony flags ([@danielstjules]) - Fix fragile xunit reporter spec ([@danielstjules]) - [#1669] - Fix catch uncaught errors outside test suite execution ([@danielstjules]) - [#1868] - Revert jade to support npm < v1.3.7 ([@danielstjules]) - [#1766] - Don't remove modules/components from stack trace in the browser ([@danielstjules]) - [#1798] - Fix correctly attribute mutiple done err with hooks ([@danielstjules]) - Fix use utils.reduce for IE8 compatibility ([@wsw0108]) - Some linting errors fixed by [@danielstjules] - Call the inspect() function if message is not set ([@kevinburke]) [#1875]: https://github.com/mochajs/mocha/issues/1875 [#1864]: https://github.com/mochajs/mocha/issues/1864 [#1846]: https://github.com/mochajs/mocha/issues/1846 [#1669]: https://github.com/mochajs/mocha/issues/1669 [#1868]: https://github.com/mochajs/mocha/issues/1868 [#1766]: https://github.com/mochajs/mocha/issues/1766 [#1798]: https://github.com/mochajs/mocha/issues/1798 [@danielstjules]: https://github.com/danielstjules [@wsw0108]: https://github.com/wsw0108 [@kevinburke]: https://github.com/kevinburke # 2.3.2 / 2015-09-07 - [#1868] - Fix compatibility with older versions of NPM ([@boneskull]) [#1868]: https://github.com/mochajs/mocha/issues/1868 # 2.3.1 / 2015-09-06 - [#1812] - Fix: Bail flag causes before() hooks to be run even after a failure ([@aaroncrows]) [#1812]: https://github.com/mochajs/mocha/issues/1812 [aaroncrows]: https://github.com/aaroncrows # 2.3.0 / 2015-08-30 - [#553] - added --allowUncaught option ([@amsul]) - [#1490] - Allow --async-only to be satisfied by returning a promise ([@jlai]) - [#1829] - support --max-old-space-size ([@gigadude]) - [#1811] - upgrade Jade dependency ([@outsideris]) - [#1769] - Fix async hook error handling ([@ajaykodali]) - [#1230] - More descriptive beforeEach/afterEach messages ([@duncanbeevers]) - [#1787] - Scope loading behaviour instead of using early return ([@aryeguy]) - [#1789] - Fix: html-runner crashing ([@sunesimonsen]) - [#1749] - Fix maximum call stack error on large amount of tests ([@tinganho]) - [#1230] - Decorate failed hook titles with test title ([@duncanbeevers]) - [#1260] - Build using Browserify ([@ndhoule]) - [#1728] - Don't use `__proto__` ([@ndhoule]) - [#1781] - Fix hook error tests ([@glenjamin]) - [#1754] - Allow boolean --reporter-options ([@papandreou]) - [#1766] - Fix overly aggressive stack suppression ([@moll]) - [#1752] - Avoid potential infinite loop ([@gsilk]) - [#1761] - Fix problems running under PhantomJS ([@chromakode]) - [#1700] - Fix more problems running under PhantomJS ([@jbnicolai]) - [#1774] - Support escaped spaces in CLI options ([@adamgruber]) - [#1687] - Fix HTML reporter links with special chars ([@benvinegar]) - [#1359] - Adopt code style and enforce it using ESLint ([@ndhoule] w/ assist from [@jbnicolai] & [@boneskull]) - various refactors ([@jbnicolai]) - [#1758] - Add cross-frame compatible Error checking ([@outdooricon]) - [#1741] - Remove moot `version` property from bower.json ([@kkirsche]) - [#1739] - Improve `HISTORY.md` ([@rstacruz]) - [#1730] - Support more io.js flags ([@ryedog]) - [#1349] - Allow HTML in HTML reporter errors ([@papandreou] / [@sunesimonsen]) - [#1572] - Prevent default browser behavior for failure/pass links ([@jschilli]) - [#1630] - Support underscored harmony flags ([@dominicbarnes]) - [#1718] - Support more harmony flags ([@slyg]) - [#1689] - Add stack to JSON-stream reporter ([@jonathandelgado]) - [#1654] - Fix `ReferenceError` "location is not defined" ([@jakemmarsh]) [#553]: https://github.com/mochajs/mocha/issues/553 [#1490]: https://github.com/mochajs/mocha/issues/1490 [#1829]: https://github.com/mochajs/mocha/issues/1829 [#1811]: https://github.com/mochajs/mocha/issues/1811 [#1769]: https://github.com/mochajs/mocha/issues/1769 [#1230]: https://github.com/mochajs/mocha/issues/1230 [#1787]: https://github.com/mochajs/mocha/issues/1787 [#1789]: https://github.com/mochajs/mocha/issues/1789 [#1749]: https://github.com/mochajs/mocha/issues/1749 [#1230]: https://github.com/mochajs/mocha/issues/1230 [#1260]: https://github.com/mochajs/mocha/issues/1260 [#1728]: https://github.com/mochajs/mocha/issues/1728 [#1781]: https://github.com/mochajs/mocha/issues/1781 [#1754]: https://github.com/mochajs/mocha/issues/1754 [#1766]: https://github.com/mochajs/mocha/issues/1766 [#1752]: https://github.com/mochajs/mocha/issues/1752 [#1761]: https://github.com/mochajs/mocha/issues/1761 [#1700]: https://github.com/mochajs/mocha/issues/1700 [#1774]: https://github.com/mochajs/mocha/issues/1774 [#1687]: https://github.com/mochajs/mocha/issues/1687 [#1359]: https://github.com/mochajs/mocha/issues/1359 [#1758]: https://github.com/mochajs/mocha/issues/1758 [#1741]: https://github.com/mochajs/mocha/issues/1741 [#1739]: https://github.com/mochajs/mocha/issues/1739 [#1730]: https://github.com/mochajs/mocha/issues/1730 [#1349]: https://github.com/mochajs/mocha/issues/1349 [#1572]: https://github.com/mochajs/mocha/issues/1572 [#1630]: https://github.com/mochajs/mocha/issues/1630 [#1718]: https://github.com/mochajs/mocha/issues/1718 [#1689]: https://github.com/mochajs/mocha/issues/1689 [#1654]: https://github.com/mochajs/mocha/issues/1654 [@adamgruber]: https://github.com/adamgruber [@ajaykodali]: https://github.com/ajaykodali [@amsul]: https://github.com/amsul [@aryeguy]: https://github.com/aryeguy [@benvinegar]: https://github.com/benvinegar [@boneskull]: https://github.com/boneskull [@chromakode]: https://github.com/chromakode [@dominicbarnes]: https://github.com/dominicbarnes [@duncanbeevers]: https://github.com/duncanbeevers [@gigadude]: https://github.com/gigadude [@glenjamin]: https://github.com/glenjamin [@gsilk]: https://github.com/gsilk [@jakemmarsh]: https://github.com/jakemmarsh [@jbnicolai]: https://github.com/jbnicolai [@jlai]: https://github.com/jlai [@jonathandelgado]: https://github.com/jonathandelgado [@jschilli]: https://github.com/jschilli [@kkirsche]: https://github.com/kkirsche [@moll]: https://github.com/moll [@ndhoule]: https://github.com/ndhoule [@outdooricon]: https://github.com/outdooricon [@outsideris]: https://github.com/outsideris [@papandreou]: https://github.com/papandreou [@rstacruz]: https://github.com/rstacruz [@ryedog]: https://github.com/ryedog [@slyg]: https://github.com/slyg [@sunesimonsen]: https://github.com/sunesimonsen [@tinganho]: https://github.com/tinganho # 2.2.5 / 2015-05-14 - [#1699] - Upgrade jsdiff to v1.4.0 ([@nylen]) - [#1648] - fix diff background colors in the console ([@nylen]) - [#1327] - fix tests running twice, a regression issue. ([#1686], [@danielstjules]) - [#1675] - add integration tests ([@danielstjules]) - [#1682] - use a valid SPDX license identifier in package.json ([@kemitchell]) - [#1660] - fix assertion of invalid dates ([#1661], [@a8m]) - [#1241] - fix issue with multiline diffs appearing as single line ([#1655], [@a8m]) [#1699]: https://github.com/mochajs/mocha/issues/1699 [#1648]: https://github.com/mochajs/mocha/issues/1648 [#1327]: https://github.com/mochajs/mocha/issues/1327 [#1686]: https://github.com/mochajs/mocha/issues/1686 [#1675]: https://github.com/mochajs/mocha/issues/1675 [#1682]: https://github.com/mochajs/mocha/issues/1682 [#1660]: https://github.com/mochajs/mocha/issues/1660 [#1661]: https://github.com/mochajs/mocha/issues/1661 [#1241]: https://github.com/mochajs/mocha/issues/1241 [#1655]: https://github.com/mochajs/mocha/issues/1655 [@nylen]: https://github.com/nylen [@danielstjules]: https://github.com/danielstjules [@kemitchell]: https://github.com/kemitchell [@a8m]: https://github.com/a8m # 2.2.4 / 2015-04-08 - Load mocha.opts in _mocha for now (close #1645) # 2.2.3 / 2015-04-07 - fix(reporter/base): string diff - issue #1241 - fix(reporter/base): string diff - issue #1241 - fix(reporter/base): don't show diffs for errors without expectation - fix(reporter/base): don't assume error message is first line of stack - improve: dry up reporter/base test - fix(reporter/base): explicitly ignore showDiff #1614 - Add iojs to travis build - Pass `--allow-natives-syntax` flag to node. - Support --harmony_classes flag for io.js - Fix 1556: Update utils.clean to handle newlines in func declarations - Fix 1606: fix err handling in IE <= 8 and non-ES5 browsers - Fix 1585: make _mocha executable again - chore(package.json): add a8m as a contributor - Fixed broken link on html-cov reporter - support --es_staging flag - fix issue where menu overlaps content. - update contributors in package.json - Remove trailing whitespace from reporter output - Remove contributors list from readme - log third-party reporter errors - [Fix] Exclude not own properties when looping on options - fix: support node args in mocha.opts (close #1573) - fix(reporter/base): string diff - issue #1241 # 2.2.1 / 2015-03-09 - Fix passing of args intended for node/iojs. # 2.2.0 / 2015-03-06 - Update mocha.js - Add --fgrep. Use grep for RegExp, fgrep for str - Ignore async global errors after spec resolution - Fixing errors that prevent mocha.js from loading in the browser - fixes #1558 - fix(utils): issue #1558 + make - add ability to delay root suite; closes #362, closes #1124 - fix insanity in http tests - update travis: add node 0.12, add gitter, remove slack - building - resolve #1548: ensure the environment's "node" executable is used - reporters/base: use supports-color to detect colorable term - travis: use docker containers - small fix: commander option for --expose-gc - Ignore asynchronous errors after global failure - Improve error output when a test fails with a non-error - updated travis badge, uses svg instead of img - Allow skip from test context for #332 - [JSHINT] Unnecessary semicolon fixed in bin/_mocha - Added a reminder about the done() callback to test timeout error messages - fixes #1496, in Mocha.run(fn), check if fn exists before executing it, added tests too - Add Harmony Proxy flag for iojs - test(utils|ms|*): test existing units - add support for some iojs flags - fix(utils.stringify): issue #1229, diff viewer - Remove slack link - Prevent multiple 'grep=' querystring params in html reporter - Use grep as regexp (close #1381) - utils.stringify should handle objects without an Object prototype - in runnable test, comparing to undefined error's message rather than a literal - Fix test running output truncation on async STDIO - amended for deprecated customFds option in child_process # 2.1.0 / 2014-12-23 - showDiff: don’t stringify strings - Clean up unused module dependencies. - Filter zero-length strings from mocha.opts - only write to stdout in reporters - Revert "only write to stdout in reporters" - Print colored output only to a tty - update summary in README.md - rename Readme.md/History.md to README.md/HISTORY.md because neurotic - add .mailmap to fix "git shortlog" or "git summary" output - fixes #1461: nyan-reporter now respects Base.useColors, fixed bug where Base.color would not return a string when str wasn't a string. - Use existing test URL builder in failed replay links - modify .travis.yml: use travis_retry; closes #1449 - fix -t 0 behavior; closes #1446 - fix tests (whoops) - improve diff behavior - Preserve pathname when linking to individual tests - Fix test - Tiny typo in comments fixed - after hooks now being called on failed tests when using bail, fixes #1093 - fix throwing undefined/null now makes tests fail, fixes #1395 - compiler extensions are added as watched extensions, removed non-standard extensions from watch regex, resolves #1221 - prefix/namespace for suite titles in markdown reporter, fixes #554 - fix more bad markdown in CONTRIBUTING.md - fix bad markdown in CONTRIBUTING.md - add setImmediate/clearImmediate to globals; closes #1435 - Fix buffer diffs (closes #1132, closes #1433) - add a CONTRIBUTING.md. closes #882 - fix intermittent build failures (maybe). closes #1407 - add Slack notification to .travis.yml - Fix slack link - Add slack room to readme - Update maintainers - update maintainers and contributors - resolves #1393: kill children with more effort on SIGINT - xunit reporter support for optionally writing to a file - if a reporter has a .done method, call it before exiting - add support for reporter options - only write to stdout in reporters # 2.0.0 / 2014-10-21 - remove: support for node 0.6.x, 0.4.x - fix: landing reporter with non ansi characters (#211) - fix: html reporter - preserve query params when navigating to suites/tests (#1358) - fix: json stream reporter add error message to failed test - fix: fixes for visionmedia -> mochajs - fix: use stdio, fixes node deprecation warnings (#1391) # 1.21.5 / 2014-10-11 - fix: build for NodeJS v0.6.x - fix: do not attempt to highlight syntax when non-HTML reporter is used - update: escape-string-regexp to 1.0.2. - fix: botched indentation in canonicalize() - fix: .gitignore: ignore .patch and .diff files - fix: changed 'Catched' to 'Caught' in uncaught exception error handler messages - add: `pending` field for json reporter - fix: Runner.prototype.uncaught: don't double-end runnables that already have a state. - fix: --recursive, broken by f0facd2e - update: replaces escapeRegexp with the escape-string-regexp package. - update: commander to 2.3.0. - update: diff to 1.0.8. - fix: ability to disable syntax highlighting (#1329) - fix: added empty object to errorJSON() call to catch when no error is present - fix: never time out after calling enableTimeouts(false) - fix: timeout(0) will work at suite level (#1300) - Fix for --watch+only() issue (#888 ) - fix: respect err.showDiff, add Base reporter test (#810) # 1.22.1-3 / 2014-07-27 - fix: disabling timeouts with this.timeout(0) (#1301) # 1.22.1-3 / 2014-07-27 - fix: local uis and reporters (#1288) - fix: building 1.21.0's changes in the browser (#1284) # 1.21.0 / 2014-07-23 - add: --no-timeouts option (#1262, #1268) - add: --*- deprecation node flags (#1217) - add: --watch-extensions argument (#1247) - change: spec reporter is default (#1228) - fix: diff output showing incorrect +/- (#1182) - fix: diffs of circular structures (#1179) - fix: re-render the progress bar when progress has changed only (#1151) - fix support for environments with global and window (#1159) - fix: reverting to previously defined onerror handler (#1178) - fix: stringify non error objects passed to done() (#1270) - fix: using local ui, reporters (#1267) - fix: cleaning es6 arrows (#1176) - fix: don't include attrs in failure tag for xunit (#1244) - fix: fail tests that return a promise if promise is rejected w/o a reason (#1224) - fix: showing failed tests in doc reporter (#1117) - fix: dot reporter dots being off (#1204) - fix: catch empty throws (#1219) - fix: honoring timeout for sync operations (#1242) - update: growl to 1.8.0 # 1.20.1 / 2014-06-03 - update: should dev dependency to ~4.0.0 (#1231) # 1.20.0 / 2014-05-28 - add: filenames to suite objects (#1222) # 1.19.0 / 2014-05-17 - add: browser script option to package.json - add: export file in Mocha.Test objects (#1174) - add: add docs for wrapped node flags - fix: mocha.run() to return error status in browser (#1216) - fix: clean() to show failure details (#1205) - fix: regex that generates html for new keyword (#1201) - fix: sibling suites have inherited but separate contexts (#1164) # 1.18.2 / 2014-03-18 - fix: html runner was prevented from using #mocha as the default root el (#1162) # 1.18.1 / 2014-03-18 - fix: named before/after hooks in bdd, tdd, qunit interfaces (#1161) # 1.18.0 / 2014-03-13 - add: promise support (#329) - add: named before/after hooks (#966) # 1.17.1 / 2014-01-22 - fix: expected messages in should.js (should.js#168) - fix: expect errno global in node versions < v0.9.11 (#1111) - fix: unreliable checkGlobals optimization (#1110) # 1.17.0 / 2014-01-09 - add: able to require globals (describe, it, etc.) through mocha (#1077) - fix: abort previous run on --watch change (#1100) - fix: reset context for each --watch triggered run (#1099) - fix: error when cli can't resolve path or pattern (#799) - fix: canonicalize objects before stringifying and diffing them (#1079) - fix: make CR call behave like carriage return for non tty (#1087) # 1.16.2 / 2013-12-23 - fix: couple issues with ie 8 (#1082, #1081) - fix: issue running the xunit reporter in browsers (#1068) - fix: issue with firefox < 3.5 (#725) # 1.16.1 / 2013-12-19 - fix: recompiled for missed changes from the last release # 1.16.0 / 2013-12-19 - add: Runnable.globals(arr) for per test global whitelist (#1046) - add: mocha.throwError(err) for assertion libs to call (#985) - remove: --watch's spinner (#806) - fix: duplicate test output for multi-line specs in spec reporter (#1006) - fix: gracefully exit on SIGINT (#1063) - fix expose the specified ui only in the browser (#984) - fix: ensure process exit code is preserved when using --no-exit (#1059) - fix: return true from window.onerror handler (#868) - fix: xunit reporter to use process.stdout.write (#1068) - fix: utils.clean(str) indentation (#761) - fix: xunit reporter returning test duration a NaN (#1039) # 1.15.1 / 2013-12-03 - fix: recompiled for missed changes from the last release # 1.15.0 / 2013-12-02 - add: `--no-exit` to prevent `process.exit()` (#1018) - fix: using inline diffs (#1044) - fix: show pending test details in xunit reporter (#1051) - fix: faster global leak detection (#1024) - fix: yui compression (#1035) - fix: wrapping long lines in test results (#1030, #1031) - fix: handle errors in hooks (#1043) # 1.14.0 / 2013-11-02 - add: unified diff (#862) - add: set MOCHA_COLORS env var to use colors (#965) - add: able to override tests links in html reporters (#776) - remove: teamcity reporter (#954) - update: commander dependency to 2.0.0 (#1010) - fix: mocha --ui will try to require the ui if not built in, as --reporter does (#1022) - fix: send cursor commands only if isatty (#184, #1003) - fix: include assertion message in base reporter (#993, #991) - fix: consistent return of it, it.only, and describe, describe.only (#840) # 1.13.0 / 2013-09-15 - add: sort test files with --sort (#813) - update: diff dependency to 1.0.7 - update: glob dependency to 3.2.3 (#927) - fix: diffs show whitespace differences (#976) - fix: improve global leaks (#783) - fix: firefox window.getInterface leak - fix: accessing iframe via window[iframeIndex] leak - fix: faster global leak checking - fix: reporter pending css selector (#970) # 1.12.1 / 2013-08-29 - remove test.js from .gitignore - update included version of ms.js # 1.12.0 / 2013-07-01 - add: prevent diffs for differing types. Closes #900 - add `Mocha.process` hack for phantomjs - fix: use compilers with requires - fix regexps in diffs. Closes #890 - fix xunit NaN on failure. Closes #894 - fix: strip tab indentation in `clean` utility method - fix: textmate bundle installation # 1.11.0 / 2013-06-12 - add --prof support - add --harmony support - add --harmony-generators support - add "Uncaught " prefix to uncaught exceptions - add web workers support - add `suite.skip()` - change to output # of pending / passing even on failures. Closes #872 - fix: prevent hooks from being called if we are bailing - fix `this.timeout(0)` # 1.10.0 / 2013-05-21 - add add better globbing support for windows via `glob` module - add support to pass through flags such as --debug-brk=1234. Closes #852 - add test.only, test.skip to qunit interface - change to always use word-based diffs for now. Closes #733 - change `mocha init` tests.html to index.html - fix `process` global leak in the browser - fix: use resolve() instead of join() for --require - fix: filterLeaks() condition to not consider indices in global object as leaks - fix: restrict mocha.css styling to #mocha id - fix: save timer references to avoid Sinon interfering in the browser build. # 1.9.0 / 2013-04-03 - add improved setImmediate implementation - replace --ignore-leaks with --check-leaks - change default of ignoreLeaks to true. Closes #791 - remove scrolling for HTML reporter - fix retina support - fix tmbundle, restrict to js scope # 1.8.2 / 2013-03-11 - add `setImmediate` support for 0.10.x - fix mocha -w spinner on windows # 1.8.1 / 2013-01-09 - fix .bail() arity check causing it to default to true # 1.8.0 / 2013-01-08 - add Mocha() options bail support - add `Mocha#bail()` method - add instanceof check back for inheriting from Error - add component.json - add diff.js to browser build - update growl - fix TAP reporter failures comment :D # 1.7.4 / 2012-12-06 - add total number of passes and failures to TAP - remove .bind() calls. re #680 - fix indexOf. Closes #680 # 1.7.3 / 2012-11-30 - fix uncaught error support for the browser - revert uncaught "fix" which breaks node # 1.7.2 / 2012-11-28 - fix uncaught errors to expose the original error message # 1.7.0 / 2012-11-07 - add `--async-only` support to prevent false positives for missing `done()` - add sorting by filename in code coverage - add HTML 5 doctype to browser template. - add play button to html reporter to rerun a single test - add `this.timeout(ms)` as Suite#timeout(ms). Closes #599 - update growl dependency to 1.6.x - fix encoding of test-case ?grep. Closes #637 - fix unicode chars on windows - fix dom globals in Opera/IE. Closes #243 - fix markdown reporter a tags - fix `this.timeout("5s")` support # 1.6.0 / 2012-10-02 - add object diffs when `err.showDiff` is present - add hiding of empty suites when pass/failures are toggled - add faster `.length` checks to `checkGlobals()` before performing the filter # 1.5.0 / 2012-09-21 - add `ms()` to `.slow()` and `.timeout()` - add `Mocha#checkLeaks()` to re-enable global leak checks - add `this.slow()` option [aheckmann] - add tab, CR, LF to error diffs for now - add faster `.checkGlobals()` solution [guille] - remove `fn.call()` from reduce util - remove `fn.call()` from filter util - fix forEach. Closes #582 - fix relaying of signals [TooTallNate] - fix TAP reporter grep number # 1.4.2 / 2012-09-01 - add support to multiple `Mocha#globals()` calls, and strings - add `mocha.reporter()` constructor support [jfirebaugh] - add `mocha.timeout()` - move query-string parser to utils.js - move highlight code to utils.js - fix third-party reporter support [exogen] - fix client-side API to match node-side [jfirebaugh] - fix mocha in iframe [joliss] # 1.4.1 / 2012-08-28 - add missing `Markdown` export - fix `Mocha#grep()`, escape regexp strings - fix reference error when `devicePixelRatio` is not defined. Closes #549 # 1.4.0 / 2012-08-22 - add mkdir -p to `mocha init`. Closes #539 - add `.only()`. Closes #524 - add `.skip()`. Closes #524 - change str.trim() to use utils.trim(). Closes #533 - fix HTML progress indicator retina display - fix url-encoding of click-to-grep HTML functionality # 1.3.2 / 2012-08-01 - fix exports double-execution regression. Closes #531 # 1.3.1 / 2012-08-01 - add passes/failures toggling to HTML reporter - add pending state to `xit()` and `xdescribe()` [Brian Moore] - add the @charset "UTF-8"; to fix #522 with FireFox. [Jonathan Creamer] - add border-bottom to #stats links - add check for runnable in `Runner#uncaught()`. Closes #494 - add 0.4 and 0.6 back to travis.yml - add `-E, --growl-errors` to growl on failures only - add prefixes to debug() names. Closes #497 - add `Mocha#invert()` to js api - change dot reporter to use sexy unicode dots - fix error when clicking pending test in HTML reporter - fix `make tm` # 1.3.0 / 2012-07-05 - add window scrolling to `HTML` reporter - add v8 `--trace-*` option support - add support for custom reports via `--reporter MODULE` - add `--invert` switch to invert `--grep` matches - fix export of `Nyan` reporter. Closes #495 - fix escaping of `HTML` suite titles. Closes #486 - fix `done()` called multiple times with an error test - change `--grep` - regexp escape the input # 1.2.2 / 2012-06-28 - Added 0.8.0 support # 1.2.1 / 2012-06-25 - Added `this.test.error(err)` support to after each hooks. Closes #287 - Added: export top-level suite on global mocha object (mocha.suite). Closes #448 - Fixed `js` code block format error in markdown reporter - Fixed deprecation warning when using `path.existsSync` - Fixed --globals with wildcard - Fixed chars in nyan when his head moves back - Remove `--growl` from test/mocha.opts. Closes #289 # 1.2.0 / 2012-06-17 - Added `nyan` reporter [Atsuya Takagi] - Added `mocha init ` to copy client files - Added "specify" synonym for "it" [domenic] - Added global leak wildcard support [nathanbowser] - Fixed runner emitter leak. closes #432 - Fixed omission of .js extension. Closes #454 # 1.1.0 / 2012-05-30 - Added: check each `mocha(1)` arg for directories to walk - Added `--recursive` [tricknotes] - Added `context` for BDD [hokaccha] - Added styling for new clickable titles - Added clickable suite titles to HTML reporter - Added warning when strings are thrown as errors - Changed: green arrows again in HTML reporter styling - Changed ul/li elements instead of divs for better copy-and-pasting [joliss] - Fixed issue #325 - add better grep support to js api - Fixed: save timer references to avoid Sinon interfering. # 1.0.3 / 2012-04-30 - Fixed string diff newlines - Fixed: removed mocha.css target. Closes #401 # 1.0.2 / 2012-04-25 - Added HTML reporter duration. Closes #47 - Fixed: one postMessage event listener [exogen] - Fixed: allow --globals to be used multiple times. Closes #100 [brendannee] - Fixed #158: removes jquery include from browser tests - Fixed grep. Closes #372 [brendannee] - Fixed #166 - When grepping don't display the empty suites - Removed test/browser/style.css. Closes #385 # 1.0.1 / 2012-04-04 - Fixed `.timeout()` in hooks - Fixed: allow callback for `mocha.run()` in client version - Fixed browser hook error display. Closes #361 # 1.0.0 / 2012-03-24 - Added js API. Closes #265 - Added: initial run of tests with `--watch`. Closes #345 - Added: mark `location` as a global on the CS. Closes #311 - Added `markdown` reporter (github flavour) - Added: scrolling menu to coverage.html. Closes #335 - Added source line to html report for Safari [Tyson Tate] - Added "min" reporter, useful for `--watch` [Jakub Nešetřil] - Added support for arbitrary compilers via . Closes #338 [Ian Young] - Added Teamcity export to lib/reporters/index [Michael Riley] - Fixed chopping of first char in error reporting. Closes #334 [reported by topfunky] - Fixed terrible FF / Opera stack traces # 0.14.1 / 2012-03-06 - Added lib-cov to _.npmignore_ - Added reporter to `mocha.run([reporter])` as argument - Added some margin-top to the HTML reporter - Removed jQuery dependency - Fixed `--watch`: purge require cache. Closes #266 # 0.14.0 / 2012-03-01 - Added string diff support for terminal reporters # 0.13.0 / 2012-02-23 - Added preliminary test coverage support. Closes #5 - Added `HTMLCov` reporter - Added `JSONCov` reporter [kunklejr] - Added `xdescribe()` and `xit()` to the BDD interface. Closes #263 (docs * Changed: make json reporter output pretty json - Fixed node-inspector support, swapped `--debug` for `debug` to match node. Closes #247 # 0.12.1 / 2012-02-14 - Added `npm docs mocha` support [TooTallNate] - Added a `Context` object used for hook and test-case this. Closes #253 - Fixed `Suite#clone()` `.ctx` reference. Closes #262 # 0.12.0 / 2012-02-02 - Added .coffee `--watch` support. Closes #242 - Added support to `--require` files relative to the CWD. Closes #241 - Added quick n dirty syntax highlighting. Closes #248 - Changed: made HTML progress indicator smaller - Fixed xunit errors attribute [dhendo] # 0.10.2 / 2012-01-21 - Fixed suite count in reporter stats. Closes #222 - Fixed `done()` after timeout error reporting [Phil Sung] - Changed the 0-based errors to 1 # 0.10.1 / 2012-01-17 - Added support for node 0.7.x - Fixed absolute path support. Closes #215 [kompiro] - Fixed `--no-colors` option [Jussi Virtanen] - Fixed Arial CSS typo in the correct file # 0.10.0 / 2012-01-13 - Added `-b, --bail` to exit on first exception [guillermo] - Added support for `-gc` / `--expose-gc` [TooTallNate] - Added `qunit`-inspired interface - Added MIT LICENSE. Closes #194 - Added: `--watch` all .js in the CWD. Closes #139 - Fixed `self.test` reference in runner. Closes #189 - Fixed double reporting of uncaught exceptions after timeout. Closes #195 # 0.8.2 / 2012-01-05 - Added test-case context support. Closes #113 - Fixed exit status. Closes #187 - Update commander. Closes #190 # 0.8.1 / 2011-12-30 - Fixed reporting of uncaught exceptions. Closes #183 - Fixed error message defaulting [indutny] - Changed mocha(1) from bash to node for windows [Nathan Rajlich] # 0.8.0 / 2011-12-28 - Added `XUnit` reporter [FeeFighters/visionmedia] - Added `say(1)` notification support [Maciej Małecki] - Changed: fail when done() is invoked with a non-Error. Closes #171 - Fixed `err.stack`, defaulting to message. Closes #180 - Fixed: `make tm` mkdir -p the dest. Closes #137 - Fixed mocha(1) --help bin name - Fixed `-d` for `--debug` support # 0.7.1 / 2011-12-22 - Removed `mocha-debug(1)`, use `mocha --debug` - Fixed CWD relative requires - Fixed growl issue on windows [Raynos] - Fixed: platform specific line endings [TooTallNate] - Fixed: escape strings in HTML reporter. Closes #164 # 0.7.0 / 2011-12-18 - Added support for IE{7,8} [guille] - Changed: better browser nextTick implementation [guille] # 0.6.0 / 2011-12-18 - Added setZeroTimeout timeout for browser (nicer stack traces). Closes #153 - Added "view source" on hover for HTML reporter to make it obvious - Changed: replace custom growl with growl lib - Fixed duplicate reporting for HTML reporter. Closes #154 - Fixed silent hook errors in the HTML reporter. Closes #150 # 0.5.0 / 2011-12-14 - Added: push node_modules directory onto module.paths for relative require Closes #93 - Added teamcity reporter [blindsey] - Fixed: recover from uncaught exceptions for tests. Closes #94 - Fixed: only emit "test end" for uncaught within test, not hook # 0.4.0 / 2011-12-14 - Added support for test-specific timeouts via `this.timeout(0)`. Closes #134 - Added guillermo's client-side EventEmitter. Closes #132 - Added progress indicator to the HTML reporter - Fixed slow browser tests. Closes #135 - Fixed "suite" color for light terminals - Fixed `require()` leak spotted by [guillermo] # 0.3.6 / 2011-12-09 - Removed suite merging (for now) # 0.3.5 / 2011-12-08 - Added support for `window.onerror` [guillermo] - Fixed: clear timeout on uncaught exceptions. Closes #131 [guillermo] - Added `mocha.css` to PHONY list. - Added `mocha.js` to PHONY list. # 0.3.4 / 2011-12-08 - Added: allow `done()` to be called with non-Error - Added: return Runner from `mocha.run()`. Closes #126 - Fixed: run afterEach even on failures. Closes #125 - Fixed clobbering of current runnable. Closes #121 # 0.3.3 / 2011-12-08 - Fixed hook timeouts. Closes #120 - Fixed uncaught exceptions in hooks # 0.3.2 / 2011-12-05 - Fixed weird reporting when `err.message` is not present # 0.3.1 / 2011-12-04 - Fixed hook event emitter leak. Closes #117 - Fixed: export `Spec` constructor. Closes #116 # 0.3.0 / 2011-12-04 - Added `-w, --watch`. Closes #72 - Added `--ignore-leaks` to ignore global leak checking - Added browser `?grep=pattern` support - Added `--globals ` to specify accepted globals. Closes #99 - Fixed `mocha-debug(1)` on some systems. Closes #232 - Fixed growl total, use `runner.total` # 0.2.0 / 2011-11-30 - Added `--globals ` to specify accepted globals. Closes #99 - Fixed funky highlighting of messages. Closes #97 - Fixed `mocha-debug(1)`. Closes #232 - Fixed growl total, use runner.total # 0.1.0 / 2011-11-29 - Added `suiteSetup` and `suiteTeardown` to TDD interface [David Henderson] - Added growl icons. Closes #84 - Fixed coffee-script support # 0.0.8 / 2011-11-25 - Fixed: use `Runner#total` for accurate reporting # 0.0.7 / 2011-11-25 - Added `Hook` - Added `Runnable` - Changed: `Test` is `Runnable` - Fixed global leak reporting in hooks - Fixed: > 2 calls to done() only report the error once - Fixed: clear timer on failure. Closes #80 # 0.0.6 / 2011-11-25 - Fixed return on immediate async error. Closes #80 # 0.0.5 / 2011-11-24 - Fixed: make mocha.opts whitespace less picky [kkaefer] # 0.0.4 / 2011-11-24 - Added `--interfaces` - Added `--reporters` - Added `-c, --colors`. Closes #69 - Fixed hook timeouts # 0.0.3 / 2011-11-23 - Added `-C, --no-colors` to explicitly disable - Added coffee-script support # 0.0.2 / 2011-11-22 - Fixed global leak detection due to Safari bind() change - Fixed: escape html entities in Doc reporter - Fixed: escape html entities in HTML reporter - Fixed pending test support for HTML reporter. Closes #66 # 0.0.1 / 2011-11-22 - Added `--timeout` second shorthand support, ex `--timeout 3s`. - Fixed "test end" event for uncaughtExceptions. Closes #61 # 0.0.1-alpha6 / 2011-11-19 - Added travis CI support (needs enabling when public) - Added preliminary browser support - Added `make mocha.css` target. Closes #45 - Added stack trace to TAP errors. Closes #52 - Renamed tearDown to teardown. Closes #49 - Fixed: cascading hooksc. Closes #30 - Fixed some colors for non-tty - Fixed errors thrown in sync test-cases due to nextTick - Fixed Base.window.width... again give precedence to 0.6.x # 0.0.1-alpha5 / 2011-11-17 - Added `doc` reporter. Closes #33 - Added suite merging. Closes #28 - Added TextMate bundle and `make tm`. Closes #20 # 0.0.1-alpha4 / 2011-11-15 - Fixed getWindowSize() for 0.4.x # 0.0.1-alpha3 / 2011-11-15 - Added `-s, --slow ` to specify "slow" test threshold - Added `mocha-debug(1)` - Added `mocha.opts` support. Closes #31 - Added: default [files] to _test/*.js_ - Added protection against multiple calls to `done()`. Closes #35 - Changed: bright yellow for slow Dot reporter tests # 0.0.1-alpha2 / 2011-11-08 - Missed this one :) # 0.0.1-alpha1 / 2011-11-08 - Initial release