jestjs/jest (jest-cli)
### [`v24.3.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2430)
[Compare Source](https://togithub.com/jestjs/jest/compare/v24.1.0...v24.3.0)
We skipped 24.2.0 because a draft was accidentally published. Please use `24.3.0` or a newer version instead.
##### Features
- `[expect]`: Improve report when matcher fails, part 10 ([#7960](https://togithub.com/facebook/jest/pull/7960))
- `[expect]`: Improve report when matcher fails, part 11 ([#8008](https://togithub.com/facebook/jest/pull/8008))
- `[expect]`: Improve report when matcher fails, part 12 ([#8033](https://togithub.com/facebook/jest/pull/8033))
- `[expect]`: Improve report when matcher fails, part 7 ([#7866](https://togithub.com/facebook/jest/pull/7866))
- `[expect]`: Improve report when matcher fails, part 8 ([#7876](https://togithub.com/facebook/jest/pull/7876))
- `[expect]`: Improve report when matcher fails, part 9 ([#7940](https://togithub.com/facebook/jest/pull/7940))
- `[jest-circus/jest-jasmine2]` Warn if describe returns a value ([#7852](https://togithub.com/facebook/jest/pull/7852))
- `[jest-config]` Print error information on preset normalization error ([#7935](https://togithub.com/facebook/jest/pull/7935))
- `[jest-get-type]` Add `isPrimitive` function ([#7708](https://togithub.com/facebook/jest/pull/7708))
- `[jest-haste-map]` Add `skipPackageJson` option ([#7778](https://togithub.com/facebook/jest/pull/7778))
- `[jest-util]` Add `isPromise` ([#7852](https://togithub.com/facebook/jest/pull/7852))
- `[pretty-format]` Support `React.memo` ([#7891](https://togithub.com/facebook/jest/pull/7891))
##### Fixes
- `[expect]` Fix `toStrictEqual` not considering arrays with objects having undefined values correctly ([#7938](https://togithub.com/facebook/jest/pull/7938))
- `[expect]` Fix custom async matcher stack trace ([#7652](https://togithub.com/facebook/jest/pull/7652))
- `[expect]` Fix non-object received value in toHaveProperty ([#7986](https://togithub.com/facebook/jest/pull/7986), [#8067](https://togithub.com/facebook/jest/pull/8067))
- `[expect]` Fix non-symmetric equal for Number ([#7948](https://togithub.com/facebook/jest/pull/7948))
- `[expect]` Remove duck typing and obsolete browser support code when comparing DOM nodes and use DOM-Level-3 API instead ([#7995](https://togithub.com/facebook/jest/pull/7995))
- `[jest-changed-files]` Fix `getChangedFilesFromRoots` to not return parts of the commit messages as if they were files, when the commit messages contained multiple paragraphs ([#7961](https://togithub.com/facebook/jest/pull/7961))
- `[jest-changed-files]` Fix pattern for HG changed files ([#8066](https://togithub.com/facebook/jest/pull/8066))
- `[jest-changed-files]` Improve default file selection for Mercurial repos ([#7880](https://togithub.com/facebook/jest/pull/7880))
- `[jest-circus]` Fix bug with test.only ([#7888](https://togithub.com/facebook/jest/pull/7888))
- `[jest-circus]`: Throw explicit error when errors happen after test is considered complete ([#8005](https://togithub.com/facebook/jest/pull/8005))
- `[jest-cli]` Fix prototype pollution vulnerability in dependency ([#7904](https://togithub.com/facebook/jest/pull/7904))
- `[jest-cli]` Refactor `-o` and `--coverage` combined ([#7611](https://togithub.com/facebook/jest/pull/7611))
- `[jest-environment-node]` Add missing globals: TextEncoder and TextDecoder ([#8022](https://togithub.com/facebook/jest/pull/8022))
- `[jest-haste-map]` Enforce uniqueness in names (mocks and haste ids) ([#8002](https://togithub.com/facebook/jest/pull/8002))
- `[jest-jasmine2]`: Throw explicit error when errors happen after test is considered complete ([#8005](https://togithub.com/facebook/jest/pull/8005))
- `[jest-mock]` Adds a type check to `prototype` to allow mocks of objects with a primitive `prototype` property. ([#8040](https://togithub.com/facebook/jest/pull/8040))
- `[jest-transform]` Normalize config and remove unnecessary checks, convert `TestUtils.js` to TypeScript ([#7801](https://togithub.com/facebook/jest/pull/7801))
- `[jest-util]`Make sure to not fail if unable to assign `toStringTag` to the `process` object, which is read only in Node 12 ([#8050](https://togithub.com/facebook/jest/pull/8050))
- `[jest-validate]` Fix validating async functions ([#7894](https://togithub.com/facebook/jest/issues/7894))
- `[jest-worker]` Fix `jest-worker` when using pre-allocated jobs ([#7934](https://togithub.com/facebook/jest/pull/7934))
- `[static]` Remove console log '-' on the front page ([#7977](https://togithub.com/facebook/jest/pull/7977))
##### Chore & Maintenance
- `[*]`: Setup building, linting and testing of TypeScript ([#7808](https://togithub.com/facebook/jest/pull/7808), [#7855](https://togithub.com/facebook/jest/pull/7855), [#7951](https://togithub.com/facebook/jest/pull/7951))
- `[@jest/console]`: Extract custom `console` implementations from `jest-util` into a new separate package ([#8030](https://togithub.com/facebook/jest/pull/8030))
- `[@jest/core]` Create new package, which is `jest-cli` minus `yargs` and `prompts` ([#7696](https://togithub.com/facebook/jest/pull/7696))
- `[@jest/core]`: Migrate to TypeScript ([#7998](https://togithub.com/facebook/jest/pull/7998))
- `[@jest/fake-timers]`: Extract FakeTimers class from `jest-util` into a new separate package ([#7987](https://togithub.com/facebook/jest/pull/7987))
- `[@jest/reporter]`: New package extracted from `jest-cli` ([#7902](https://togithub.com/facebook/jest/pull/7902))
- `[@jest/reporters]`: Migrate to TypeScript ([#7994](https://togithub.com/facebook/jest/pull/7994), [#8045](https://togithub.com/facebook/jest/pull/8045))
- `[@jest/source-map]`: Extract `getCallsite` function from `jest-util` into a new separate package ([#8029](https://togithub.com/facebook/jest/pull/8029))
- `[@jest/test-result]`: Extract TestResult types and helpers into a new separate package ([#8034](https://togithub.com/facebook/jest/pull/8034))
- `[@jest/transform]`: Migrate to TypeScript ([#7918](https://togithub.com/facebook/jest/pull/7918), [#7945](https://togithub.com/facebook/jest/pull/7945))
- `[@jest/transform]`: New package extracted from `jest-runtime` ([#7915](https://togithub.com/facebook/jest/pull/7915))
- `[@jest/types]`: New package to handle shared types ([#7834](https://togithub.com/facebook/jest/pull/7834))
- `[babel-jest]`: Migrate to TypeScript ([#7862](https://togithub.com/facebook/jest/pull/7862))
- `[babel-plugin-jest-hoist]`: Migrate to TypeScript ([#7898](https://togithub.com/facebook/jest/pull/7898))
- `[diff-sequences]`: Migrate to Typescript ([#7820](https://togithub.com/facebook/jest/pull/7820))
- `[docs]` Add missing import to docs ([#7928](https://togithub.com/facebook/jest/pull/7928))
- `[docs]` Update automock configuration, add note related to manual mocks ([#8051](https://togithub.com/facebook/jest/pull/8051))
- `[docs]` Update/Organize TestSequencer and testSchedulerHelper code comments([#7984](https://togithub.com/facebook/jest/pull/7984))
- `[docs]`: Fix image paths in SnapshotTesting.md for current and version 24 ([#7872](https://togithub.com/facebook/jest/pull/7872))
- `[docs]`: Improve runAllTimers doc (it exhausts the micro-task queue) ([#8031](https://togithub.com/facebook/jest/pull/8031))
- `[docs]`: Update CONTRIBUTING.md to add information about running jest with `jest-circus` locally ([#8013](https://togithub.com/facebook/jest/pull/8013)).
- `[expect]`: Migrate to TypeScript ([#7919](https://togithub.com/facebook/jest/pull/7919), [#8028](https://togithub.com/facebook/jest/pull/8028))
- `[jest-changed-files]`: Migrate to TypeScript ([#7827](https://togithub.com/facebook/jest/pull/7827))
- `[jest-circus]`: Migrate to TypeScript ([#7916](https://togithub.com/facebook/jest/pull/7916))
- `[jest-cli]`: Migrate to TypeScript ([#8024](https://togithub.com/facebook/jest/pull/8024))
- `[jest-diff]`: Migrate to TypeScript ([#7824](https://togithub.com/facebook/jest/pull/7824), [#8027](https://togithub.com/facebook/jest/pull/8027))
- `[jest-docblock]`: Migrate to TypeScript ([#7836](https://togithub.com/facebook/jest/pull/7836))
- `[jest-each]`: Migrate to Typescript ([#8007](https://togithub.com/facebook/jest/pull/8007))
- `[jest-each]`: Refactor into multiple files with better types ([#8018](https://togithub.com/facebook/jest/pull/8018))
- `[jest-environment-jsdom]`: Migrate to TypeScript ([#8003](https://togithub.com/facebook/jest/pull/8003))
- `[jest-environment-node]`: Migrate to TypeScript ([#7985](https://togithub.com/facebook/jest/pull/7985))
- `[jest-get-type]`: Migrate to TypeScript ([#7818](https://togithub.com/facebook/jest/pull/7818))
- `[jest-haste-map]`: Migrate to TypeScript ([#7854](https://togithub.com/facebook/jest/pull/7854), [#7951](https://togithub.com/facebook/jest/pull/7951))
- `[jest-jasmine2]`: TS migration ([#7970](https://togithub.com/facebook/jest/pull/7970))
- `[jest-leak-detector]`: Migrate to TypeScript ([#7825](https://togithub.com/facebook/jest/pull/7825))
- `[jest-matcher-utils]`: Migrate to TypeScript ([#7835](https://togithub.com/facebook/jest/pull/7835))
- `[jest-message-util]`: Migrate to TypeScript ([#7834](https://togithub.com/facebook/jest/pull/7834))
- `[jest-mock]`: Migrate to TypeScript ([#7847](https://togithub.com/facebook/jest/pull/7847), [#7850](https://togithub.com/facebook/jest/pull/7850), [#7971](https://togithub.com/facebook/jest/pull/7971))
- `[jest-phabricator]`: Migrate to TypeScript ([#7965](https://togithub.com/facebook/jest/pull/7965))
- `[jest-regex-util]`: Migrate to TypeScript ([#7822](https://togithub.com/facebook/jest/pull/7822))
- `[jest-repl]`: Migrate to TypeScript ([#8000](https://togithub.com/facebook/jest/pull/8000))
- `[jest-resolve-dependencies]`: Migrate to TypeScript ([#7922](https://togithub.com/facebook/jest/pull/7922))
- `[jest-resolve]`: Migrate to TypeScript ([#7871](https://togithub.com/facebook/jest/pull/7871))
- `[jest-runner]`: Migrate to TypeScript ([#7968](https://togithub.com/facebook/jest/pull/7968))
- `[jest-runtime]`: Migrate to TypeScript ([#7964](https://togithub.com/facebook/jest/pull/7964), [#7988](https://togithub.com/facebook/jest/pull/7988))
- `[jest-serializer]`: Migrate to TypeScript ([#7841](https://togithub.com/facebook/jest/pull/7841))
- `[jest-snapshot]`: Migrate to TypeScript ([#7899](https://togithub.com/facebook/jest/pull/7899))
- `[jest-util]`: Migrate to TypeScript ([#7844](https://togithub.com/facebook/jest/pull/7844), [#8021](https://togithub.com/facebook/jest/pull/8021))
- `[jest-validate]`: Migrate to TypeScript ([#7991](https://togithub.com/facebook/jest/pull/7991))
- `[jest-watcher]`: Migrate to TypeScript ([#7843](https://togithub.com/facebook/jest/pull/7843))
- `[jest-worker]`: Migrate to TypeScript ([#7853](https://togithub.com/facebook/jest/pull/7853))
- `[jest]`: Migrate to TypeScript ([#8024](https://togithub.com/facebook/jest/pull/8024))
- `[pretty-format]`: Migrate to TypeScript ([#7809](https://togithub.com/facebook/jest/pull/7809), [#7972](https://togithub.com/facebook/jest/pull/7972))
##### Performance
- `[jest-haste-map]` Optimize haste map tracking of deleted files with Watchman. ([#8056](https://togithub.com/facebook/jest/pull/8056))
### [`v24.1.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2410)
[Compare Source](https://togithub.com/jestjs/jest/compare/v24.0.0...v24.1.0)
##### Features
- `[jest-resolve]`: Pass default resolver into custom resolvers ([#7714](https://togithub.com/facebook/jest/pull/7714))
- `[jest-cli]`: `global{Setup,Teardown}` use default export with es modules ([#7750](https://togithub.com/facebook/jest/pull/7750))
- `[jest-runtime]` Better error messages when the jest environment is used after teardown by async code ([#7756](https://togithub.com/facebook/jest/pull/7756))
- `[jest-jasmine2]` Will now only execute at most 5 concurrent tests *within the same testsuite* when using `test.concurrent` ([#7770](https://togithub.com/facebook/jest/pull/7770))
- `[jest-circus]` Same as `[jest-jasmine2]`, only 5 tests will run concurrently by default ([#7770](https://togithub.com/facebook/jest/pull/7770))
- `[jest-config]` A new `maxConcurrency` option allows to change the number of tests allowed to run concurrently ([#7770](https://togithub.com/facebook/jest/pull/7770))
##### Fixes
- `[jest-runtime]` Fix for mocks not working with module name mapper ([#7787](https://togithub.com/facebook/jest/pull/7787))
- `[jest-cli]` Break dependency cycle when using Jest programmatically ([#7707](https://togithub.com/facebook/jest/pull/7707))
- `[jest-config]` Extract setupFilesAfterEnv from preset ([#7724](https://togithub.com/facebook/jest/pull/7724))
- `[jest-cli]` Do not execute any `globalSetup` or `globalTeardown` if there are no tests to execute ([#7745](https://togithub.com/facebook/jest/pull/7745))
- `[jest-runtime]` Lock down version of `write-file-atomic` ([#7725](https://togithub.com/facebook/jest/pull/7725))
- `[jest-cli]` Print log entries when logging happens after test environment is torn down ([#7731](https://togithub.com/facebook/jest/pull/7731))
- `[jest-config]` Do not use a uuid as `name` since that breaks caching ([#7746](https://togithub.com/facebook/jest/pull/7746))
- `[jest-config]` Make sure `normalize` can consume `Defaults` without warnings ([#7742](https://togithub.com/facebook/jest/pull/7742))
- `[jest-config]` Allow `moduleFileExtensions` without 'js' for custom runners ([#7751](https://togithub.com/facebook/jest/pull/7751))
- `[jest-cli]` Load transformers before installing require hooks ([#7752](https://togithub.com/facebook/jest/pull/7752))
- `[jest-cli]` Handle missing `numTodoTests` in test results ([#7779](https://togithub.com/facebook/jest/pull/7779))
- `[jest-runtime]` Exclude setup/teardown files from coverage report ([#7790](https://togithub.com/facebook/jest/pull/7790))
- `[babel-jest]` Throw an error if `babel-jest` tries to transform a file ignored by Babel ([#7797](https://togithub.com/facebook/jest/pull/7797))
- `[babel-plugin-jest-hoist]` Ignore TS type references when looking for out-of-scope references ([#7799](https://togithub.com/facebook/jest/pull/7799))
- `[expect]` fixed asymmetrical equality of cyclic objects ([#7730](https://togithub.com/facebook/jest/pull/7730))
##### Chore & Maintenance
- `[jest]` Update jest-junit to ^6.2.1 ([#7739](https://togithub.com/facebook/jest/pull/7739))
- `[website]` Fix broken help link on homepage ([#7706](https://togithub.com/facebook/jest/pull/7706))
- `[docs]` Changed Babel setup documentation to correctly compile `async/await` ([#7701](https://togithub.com/facebook/jest/pull/7701))
### [`v24.0.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2400)
[Compare Source](https://togithub.com/jestjs/jest/compare/v23.6.0...v24.0.0)
##### Features
- `[jest-each]` \[**BREAKING**] Add primitive pretty printing for interpolated titles ([#7694](https://togithub.com/facebook/jest/pull/7694))
- `[jest-runtime]` Add `jest.isolateModules` for scoped module initialization ([#6701](https://togithub.com/facebook/jest/pull/6701))
- `[jest-diff]` \[**BREAKING**] Support diffing numbers and booleans instead of returning null for different ones ([#7605](https://togithub.com/facebook/jest/pull/7605))
- `[jest-diff]` \[**BREAKING**] Replace `diff` with `diff-sequences` package ([#6961](https://togithub.com/facebook/jest/pull/6961))
- `[jest-cli]` \[**BREAKING**] Only set error process error codes when they are non-zero ([#7363](https://togithub.com/facebook/jest/pull/7363))
- `[jest-config]` \[**BREAKING**] Deprecate `setupTestFrameworkScriptFile` in favor of new `setupFilesAfterEnv` ([#7119](https://togithub.com/facebook/jest/pull/7119))
- `[jest-worker]` \[**BREAKING**] Add functionality to call a `setup` method in the worker before the first call and a `teardown` method when ending the farm ([#7014](https://togithub.com/facebook/jest/pull/7014))
- `[jest-config]` \[**BREAKING**] Set default `notifyMode` to `failure-change` ([#7024](https://togithub.com/facebook/jest/pull/7024))
- `[jest-haste-map]` \[**BREAKING**] Remove support for `@providesModule` ([#6104](https://togithub.com/facebook/jest/pull/6104))
- `[jest-haste-map]` \[**BREAKING**] Replace internal data structures to improve performance ([#6960](https://togithub.com/facebook/jest/pull/6960))
- `[jest-haste-map]` \[**BREAKING**] Use relative paths to allow remote caching ([#7020](https://togithub.com/facebook/jest/pull/7020))
- `[jest-haste-map]` \[**BREAKING**] Remove name from hash in `HasteMap.getCacheFilePath` ([#7218](https://togithub.com/facebook/jest/pull/7218))
- `[babel-preset-jest]` \[**BREAKING**] Export a function instead of an object for Babel 7 compatibility ([#7203](https://togithub.com/facebook/jest/pull/7203))
- `[jest-haste-map]` \[**BREAKING**] Expose relative paths when getting the file iterator ([#7321](https://togithub.com/facebook/jest/pull/7321))
- `[jest-cli]` \[**BREAKING**] Run code transforms over `global{Setup,Teardown}` ([#7562](https://togithub.com/facebook/jest/pull/7562))
- `[jest-haste-map]` Add `hasteFS.getSize(path)` ([#7580](https://togithub.com/facebook/jest/pull/7580))
- `[jest-cli]` Print version ending in `-dev` when running a local Jest clone ([#7582](https://togithub.com/facebook/jest/pull/7582))
- `[jest-cli]` Add Support for `globalSetup` and `globalTeardown` in projects ([#6865](https://togithub.com/facebook/jest/pull/6865))
- `[jest-runtime]` Add `extraGlobals` to config to load extra global variables into the execution vm ([#7454](https://togithub.com/facebook/jest/pull/7454))
- `[jest-util]` Export `specialChars` containing Unicode characters and ANSI escapes for console output ([#7532](https://togithub.com/facebook/jest/pull/7532))
- `[jest-config]` Handle typescript (`ts` and `tsx`) by default ([#7533](https://togithub.com/facebook/jest/pull/7533))
- `[jest-validate]` Add support for comments in `package.json` using a `"//"` key ([#7295](https://togithub.com/facebook/jest/pull/7295))
- `[jest-config]` Add shorthand for watch plugins and runners ([#7213](https://togithub.com/facebook/jest/pull/7213))
- `[jest-jasmine2/jest-circus/jest-cli]` Add test.todo ([#6996](https://togithub.com/facebook/jest/pull/6996))
- `[pretty-format]` Option to not escape strings in diff messages ([#5661](https://togithub.com/facebook/jest/pull/5661))
- `[jest-haste-map]` Add `getFileIterator` to `HasteFS` for faster file iteration ([#7010](https://togithub.com/facebook/jest/pull/7010))
- `[jest-config]` Add `readConfigs` function, previously in `jest-cli` ([#7096](https://togithub.com/facebook/jest/pull/7096))
- `[jest-snapshot]` Enable configurable snapshot paths ([#6143](https://togithub.com/facebook/jest/pull/6143))
- `[pretty-format]` Support HTMLCollection and NodeList in DOMCollection plugin ([#7125](https://togithub.com/facebook/jest/pull/7125))
- `[jest-runtime]` Pass the normalized configuration to script transformers ([#7148](https://togithub.com/facebook/jest/pull/7148))
- `[expect]` Improve report when assertion fails, part 3 ([#7152](https://togithub.com/facebook/jest/pull/7152))
- `[jest-runtime]` If `require` fails without a file extension, print all files that match with one ([#7160](https://togithub.com/facebook/jest/pull/7160))
- `[jest-haste-map]` Make `ignorePattern` optional ([#7166](https://togithub.com/facebook/jest/pull/7166))
- `[jest-haste-map]` Add `getCacheFilePath` to get the path to the cache file for a `HasteMap` instance ([#7217](https://togithub.com/facebook/jest/pull/7217))
- `[jest-runtime]` Remove `cacheDirectory` from `ignorePattern` for `HasteMap` if not necessary ([#7166](https://togithub.com/facebook/jest/pull/7166))
- `[jest-validate]` Add syntax to validate multiple permitted types ([#7207](https://togithub.com/facebook/jest/pull/7207))
- `[jest-config]` Accept an array as as well as a string for `testRegex` ([#7209](https://togithub.com/facebook/jest/pull/7209))
- `[expect/jest-matcher-utils]` Improve report when assertion fails, part 4 ([#7241](https://togithub.com/facebook/jest/pull/7241))
- `[expect/jest-matcher-utils]` Improve report when assertion fails, part 5 ([#7557](https://togithub.com/facebook/jest/pull/7557))
- `[expect]` Check constructor equality in .toStrictEqual() ([#7005](https://togithub.com/facebook/jest/pull/7005))
- `[jest-util]` Add `jest.getTimerCount()` to get the count of scheduled fake timers ([#7285](https://togithub.com/facebook/jest/pull/7285))
- `[jest-config]` Add `dependencyExtractor` option to use a custom module to extract dependencies from files ([#7313](https://togithub.com/facebook/jest/pull/7313), [#7349](https://togithub.com/facebook/jest/pull/7349), [#7350](https://togithub.com/facebook/jest/pull/7350), [#7362](https://togithub.com/facebook/jest/pull/7362))
- `[jest-haste-map]` Accept a `getCacheKey` method in `hasteImplModulePath` modules to reset the cache when the logic changes ([#7350](https://togithub.com/facebook/jest/pull/7350))
- `[jest-config]` Add `haste.computeSha1` option to compute the sha-1 of the files in the haste map ([#7345](https://togithub.com/facebook/jest/pull/7345))
- `[expect]` `expect(Infinity).toBeCloseTo(Infinity)` Treats `Infinity` as equal in toBeCloseTo matcher ([#7405](https://togithub.com/facebook/jest/pull/7405))
- `[jest-worker]` Add node worker-thread support to jest-worker ([#7408](https://togithub.com/facebook/jest/pull/7408))
- `[jest-config]` Allow `bail` setting to be configured with a number allowing tests to abort after `n` of failures ([#7335](https://togithub.com/facebook/jest/pull/7335))
- `[jest-config]` Allow % based configuration of `--max-workers` ([#7494](https://togithub.com/facebook/jest/pull/7494))
- `[jest-runner]` Instantiate the test environment class with the current `testPath` ([#7442](https://togithub.com/facebook/jest/pull/7442))
- `[jest-config]` Always resolve jest-environment-jsdom from jest-config ([#7476](https://togithub.com/facebook/jest/pull/7476))
- `[expect]` Improve report when assertion fails, part 6 ([#7621](https://togithub.com/facebook/jest/pull/7621))
- `[jest-worker]` Add `enableWorkerThreads` option to explicitly opt-in to `worker_threads` if available ([#7681](https://togithub.com/facebook/jest/pull/7681))
##### Fixes
- `[expect]` Accept inherited properties in `toHaveProperty` matcher ([#7686](https://togithub.com/facebook/jest/pull/7686))
- `[jest-diff]` Do not claim that `-0` and `0` have no visual difference ([#7605](https://togithub.com/facebook/jest/pull/7605))
- `[jest-mock]` Fix automock for numeric function names ([#7653](https://togithub.com/facebook/jest/pull/7653))
- `[jest-config]` Ensure `existsSync` is only called with a string parameter ([#7607](https://togithub.com/facebook/jest/pull/7607))
- `[expect]` `toStrictEqual` considers sparseness of arrays. ([#7591](https://togithub.com/facebook/jest/pull/7591))
- `[jest-cli]` Fix empty coverage data for untested files ([#7388](https://togithub.com/facebook/jest/pull/7388))
- `[jest-cli]` \[**BREAKING**] Do not use `text-summary` coverage reporter by default if other reporters are configured ([#7058](https://togithub.com/facebook/jest/pull/7058))
- `[jest-mock]` \[**BREAKING**] Fix bugs with mock/spy result tracking of recursive functions ([#6381](https://togithub.com/facebook/jest/pull/6381))
- `[jest-haste-map]` \[**BREAKING**] Recover files correctly after haste name collisions are fixed ([#7329](https://togithub.com/facebook/jest/pull/7329))
- `[pretty-format]` \[**BREAKING**] Omit non-enumerable symbol properties ([#7448](https://togithub.com/facebook/jest/pull/7448))
- `[*]` \[**BREAKING**] Upgrade to Babel 7, dropping support for Babel 6 ([#7016](https://togithub.com/facebook/jest/pull/7016))
- `[jest-cli]` Avoid watch mode causing bad terminal behavior in some cases ([#7523](https://togithub.com/facebook/jest/pull/7523))
- `[jest-runner/jest-worker]` Fix missing console output in verbose mode ([#6871](https://togithub.com/facebook/jest/pull/6871))
- `[expect]` Standardize file naming in `expect` ([#7306](https://togithub.com/facebook/jest/pull/7306))
- `[jest-each]` Add empty array validation check ([#7249](https://togithub.com/facebook/jest/pull/7249))
- `[jest-cli]` Interrupt tests if interactive watch plugin key is pressed ([#7222](https://togithub.com/facebook/jest/pull/7222))
- `[jest-each]` Add each array validation check ([#7033](https://togithub.com/facebook/jest/pull/7033))
- `[jest-haste-map]` Do not visit again files with the same sha-1 ([#6990](https://togithub.com/facebook/jest/pull/6990))
- `[jest-jasmine2]` Fix memory leak in Error objects hold by the framework ([#6965](https://togithub.com/facebook/jest/pull/6965))
- `[jest-haste-map]` Fixed Haste whitelist generation for scoped modules on Windows ([#6980](https://togithub.com/facebook/jest/pull/6980))
- `[jest-mock]` Fix inheritance of static properties and methods in mocks ([#7003](https://togithub.com/facebook/jest/pull/7003))
- `[jest-mock]` Fix mocking objects without `Object.prototype` in their prototype chain ([#7003](https://togithub.com/facebook/jest/pull/7003))
- `[jest-mock]` Check `_isMockFunction` is true rather than truthy on potential mocks ([#7017](https://togithub.com/facebook/jest/pull/7017))
- `[jest-cli]` Update jest-cli to show git ref in message when using `changedSince` ([#7028](https://togithub.com/facebook/jest/pull/7028))
- `[jest-jasmine2`] Fix crash when test return Promise rejected with null ([#7049](https://togithub.com/facebook/jest/pull/7049))
- `[jest-runtime]` Check `_isMockFunction` is true rather than truthy on potential global mocks ([#7017](https://togithub.com/facebook/jest/pull/7017))
- `[jest-jasmine]` Show proper error message from async `assert` errors ([#6821](https://togithub.com/facebook/jest/pull/6821))
- `[jest-jasmine2]` Better error message when a describe block is empty ([#6372](https://togithub.com/facebook/jest/pull/6372))
- `[jest-jasmine2]` Pending calls inside async tests are reported as pending not failed ([#6782](https://togithub.com/facebook/jest/pull/6782))
- `[jest-circus]` Better error message when a describe block is empty ([#6372](https://togithub.com/facebook/jest/pull/6372))
- `[jest-jasmine2]` Add missing testLocationResults for `xit` and `fit` ([#6482](https://togithub.com/facebook/jest/pull/6482))
- `[expect]` Return false from asymmetric matchers if received value isn’t string ([#7107](https://togithub.com/facebook/jest/pull/7107))
- `[jest-cli]` Fix unhandled error when a bad revision is provided to `changedSince` ([#7115](https://togithub.com/facebook/jest/pull/7115))
- `[jest-config]` Moved dynamically assigned `cwd` from `jest-cli` to default configuration in `jest-config` ([#7146](https://togithub.com/facebook/jest/pull/7146))
- `[jest-config]` Fix `getMaxWorkers` on termux ([#7154](https://togithub.com/facebook/jest/pull/7154))
- `[jest-runtime]` Throw an explicit error if `js` is missing from `moduleFileExtensions` ([#7160](https://togithub.com/facebook/jest/pull/7160))
- `[jest-runtime]` Fix missing coverage when using negative glob pattern in `testMatch` ([#7170](https://togithub.com/facebook/jest/pull/7170))
- `[*]` Ensure `maxWorkers` is at least 1 (was 0 in some cases where there was only 1 CPU) ([#7182](https://togithub.com/facebook/jest/pull/7182))
- `[jest-runtime]` Fix transform cache invalidation when requiring a test file from multiple projects ([#7186](https://togithub.com/facebook/jest/pull/7186))
- `[jest-changed-files]` Return correctly the changed files when using `lastCommit=true` on Mercurial repositories ([#7228](https://togithub.com/facebook/jest/pull/7228))
- `[babel-jest]` Cache includes babel environment variables ([#7239](https://togithub.com/facebook/jest/pull/7239))
- `[jest-config]` Use strings instead of `RegExp` instances in normalized configuration ([#7251](https://togithub.com/facebook/jest/pull/7251))
- `[jest-circus]` Make sure to display real duration even if time is mocked ([#7264](https://togithub.com/facebook/jest/pull/7264))
- `[expect]` Improves the failing message for `toStrictEqual` matcher. ([#7224](https://togithub.com/facebook/jest/pull/7224))
- `[expect]` Improves the failing message for `toEqual` matcher. ([#7325](https://togithub.com/facebook/jest/pull/7325))
- `[jest-resolve]` Fix not being able to resolve path to mapped file with custom platform ([#7312](https://togithub.com/facebook/jest/pull/7312))
- `[jest-message-util]` Improve parsing of error messages for unusually formatted stack traces ([#7319](https://togithub.com/facebook/jest/pull/7319))
- `[jest-runtime]` Ensure error message text is not lost on errors with code frames ([#7319](https://togithub.com/facebook/jest/pull/7319))
- `[jest-haste-map]` Fix to resolve path that is start with words same as rootDir ([#7324](https://togithub.com/facebook/jest/pull/7324))
- `[expect]` Fix toMatchObject matcher when used with `Object.create(null)` ([#7334](https://togithub.com/facebook/jest/pull/7334))
- `[jest-haste-map]` Remove legacy condition for duplicate module detection ([#7333](https://togithub.com/facebook/jest/pull/7333))
- `[jest-haste-map]` Fix `require` detection with trailing commas and ignore `import typeof` modules ([#7385](https://togithub.com/facebook/jest/pull/7385))
- `[jest-cli]` Fix to set prettierPath via config file ([#7412](https://togithub.com/facebook/jest/pull/7412))
- `[expect]` Test more precisely for class instance getters ([#7477](https://togithub.com/facebook/jest/pull/7477))
- `[jest-cli]` Support dashed args ([#7497](https://togithub.com/facebook/jest/pull/7497))
- `[jest-cli]` Fix to run in band tests if watch mode enable when runInBand arg used ([#7518](https://togithub.com/facebook/jest/pull/7518))
- `[jest-runtime]` Fix mistake as test files when run coverage issue. ([#7506](https://togithub.com/facebook/jest/pull/7506))
- `[jest-cli]` print info about passWithNoTests flag ([#7309](https://togithub.com/facebook/jest/pull/7309))
- `[pretty-format]` Omit unnecessary symbol filter for object keys ([#7457](https://togithub.com/facebook/jest/pull/7457))
- `[jest-runtime]` Fix `requireActual` on node_modules with mock present ([#7404](https://togithub.com/facebook/jest/pull/7404))
- `[jest-resolve]` Fix `isBuiltinModule` to support versions of node without `module.builtinModules` ([#7565](https://togithub.com/facebook/jest/pull/7565))
- `[babel-jest]` Set `cwd` to be resilient to it changing during the runtime of the tests ([#7574](https://togithub.com/facebook/jest/pull/7574))
- `[jest-snapshot]` Write and read snapshots from disk even if `fs` is mocked ([#7080](https://togithub.com/facebook/jest/pull/7080))
- `[jest-config]` Normalize `config.cwd` and `config.rootDir` using \`realpath ([#7598](https://togithub.com/facebook/jest/pull/7598))
- `[jest-environment-node]` Fix buffer property is not ArrayBuffer issue. ([#7626](https://togithub.com/facebook/jest/pull/7626))
- `[babel-plugin-jest-hoist]` Ignore TS type annotations when looking for out-of-scope references ([#7641](https://togithub.com/facebook/jest/pull/7641))
- `[jest-config]` Add name to project if one does not exist to pick correct resolver ([#5862](https://togithub.com/facebook/jest/pull/5862))
- `[jest-runtime]` Pass `watchPathIgnorePatterns` to Haste instance ([#7585](https://togithub.com/facebook/jest/pull/7585))
- `[jest-runtime]` Resolve mock files via Haste when using `require.resolve` ([#7687](https://togithub.com/facebook/jest/pull/7687))
##### Chore & Maintenance
- `[*]` \[**BREAKING**] Require Node.js 6+ for all packages ([#7258](https://togithub.com/facebook/jest/pull/7258))
- `[jest-util]` \[**BREAKING**] Remove long-deprecated globals for fake timers ([#7285](https://togithub.com/facebook/jest/pull/7285))
- `[*]` \[**BREAKING**] Upgrade to Micromatch 3 ([#6650](https://togithub.com/facebook/jest/pull/6650))
- `[*]` \[**BREAKING**] Remove regenerator-runtime injection ([#7595](https://togithub.com/facebook/jest/pull/7595))
- `[jest-worker]` Disable `worker_threads` to avoid issues with libraries to ready for it ([#7681](https://togithub.com/facebook/jest/pull/7681))
- `[docs]` Fix message property in custom matcher example to return a function instead of a constant. ([#7426](https://togithub.com/facebook/jest/pull/7426))
- `[jest-circus]` Standardize file naming in `jest-circus` ([#7301](https://togithub.com/facebook/jest/pull/7301))
- `[docs]` Add synchronous test.each setup ([#7150](https://togithub.com/facebook/jest/pull/7150))
- `[docs]` Add `this.extend` to the Custom Matchers API reference ([#7130](https://togithub.com/facebook/jest/pull/7130))
- `[docs]` Fix default value for `coverageReporters` value in configuration docs ([#7126](https://togithub.com/facebook/jest/pull/7126))
- `[docs]` Add link for jest-extended in expect docs ([#7078](https://togithub.com/facebook/jest/pull/7078))
- `[jest-util]` Add ErrorWithStack class ([#7067](https://togithub.com/facebook/jest/pull/7067))
- `[docs]` Document `--runTestsByPath` CLI parameter ([#7046](https://togithub.com/facebook/jest/pull/7046))
- `[docs]` Fix babel-core installation instructions ([#6745](https://togithub.com/facebook/jest/pull/6745))
- `[docs]` Explain how to rewrite assertions to avoid large irrelevant diff ([#6971](https://togithub.com/facebook/jest/pull/6971))
- `[examples]` add example using Babel 7 ([#6983](https://togithub.com/facebook/jest/pull/6983))
- `[docs]` Replace shallow equality with referential identity in `ExpectAPI.md` ([#6991](https://togithub.com/facebook/jest/pull/6991))
- `[jest-changed-files]` Refactor to use `execa` over `child_process` ([#6987](https://togithub.com/facebook/jest/pull/6987))
- `[*]` Bump dated dependencies ([#6978](https://togithub.com/facebook/jest/pull/6978))
- `[scripts]` Don’t make empty sub-folders for ignored files in build folder ([#7001](https://togithub.com/facebook/jest/pull/7001))
- `[docs]` Add missing export statement in `puppeteer_environment.js` under `docs/Puppeteer.md` ([#7127](https://togithub.com/facebook/jest/pull/7127))
- `[docs]` Removed useless expect.assertions in `TestingAsyncCode.md` ([#7131](https://togithub.com/facebook/jest/pull/7131))
- `[docs]` Remove references to `@providesModule` which isn't supported anymore ([#7147](https://togithub.com/facebook/jest/pull/7147))
- `[docs]` Update `setupFiles` documentation for clarity ([#7187](https://togithub.com/facebook/jest/pull/7187))
- `[docs]` Change `require.require*` to `jest.require*` ([#7210](https://togithub.com/facebook/jest/pull/7210))
- `[jest-circus]` Add readme.md ([#7198](https://togithub.com/facebook/jest/pull/7198))
- `[jest-editor-support]` Remove from the repository ([#7232](https://togithub.com/facebook/jest/pull/7232))
- `[jest-test-typescript-parser]` Remove from the repository ([#7232](https://togithub.com/facebook/jest/pull/7232))
- `[tests]` Free tests from the dependency on value of FORCE_COLOR ([#6585](https://togithub.com/facebook/jest/pull/6585/files))
- `[*]` Add babel plugin to make sure Jest is unaffected by fake Promise implementations ([#7225](https://togithub.com/facebook/jest/pull/7225))
- `[docs]` Add correct default value for `testUrl` config option ([#7277](https://togithub.com/facebook/jest/pull/7277))
- `[docs]` Remove duplicate code in `MockFunctions` ([#7297](https://togithub.com/facebook/jest/pull/7297))
- `[*]` Add check for Facebook copyright headers on CI ([#7370](https://togithub.com/facebook/jest/pull/7370))
- `[*]` Update Facebook copyright headers ([#7589](https://togithub.com/facebook/jest/pull/7589))
- `[jest-haste-map]` Refactor `dependencyExtractor` and tests ([#7385](https://togithub.com/facebook/jest/pull/7385))
- `[docs]` Clearify conditional setting of `NODE_ENV` ([#7369](https://togithub.com/facebook/jest/pull/7369))
- `[docs]` Clarify conditional setting of `NODE_ENV` ([#7369](https://togithub.com/facebook/jest/pull/7369))
- `[*]` Standardize file names ([#7316](https://togithub.com/facebook/jest/pull/7316), [#7266](https://togithub.com/facebook/jest/pull/7266), [#7238](https://togithub.com/facebook/jest/pull/7238), [#7314](https://togithub.com/facebook/jest/pull/7314), [#7467](https://togithub.com/facebook/jest/pull/7467), [#7464](https://togithub.com/facebook/jest/pull/7464)), [#7471](https://togithub.com/facebook/jest/pull/7471))
- `[docs]` Add `testPathIgnorePatterns` in CLI documentation ([#7440](https://togithub.com/facebook/jest/pull/7440))
- `[docs]` Removed misleading text about `describe()` grouping together tests into a test suite ([#7434](https://togithub.com/facebook/jest/pull/7434))
- `[diff-sequences]` Add performance benchmark to package ([#7603](https://togithub.com/facebook/jest/pull/7603))
- `[*]` Replace as many `Object.assign` with object spread as possible ([#7627](https://togithub.com/facebook/jest/pull/7627))
- `[ci]` Initial support for Azure Pipelines ([#7556](https://togithub.com/facebook/jest/pull/7556))
##### Performance
- `[jest-mock]` Improve `getType` function performance. ([#7159](https://togithub.com/facebook/jest/pull/7159))
### [`v23.6.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2360)
[Compare Source](https://togithub.com/jestjs/jest/compare/v23.5.0...v23.6.0)
##### Features
- `[jest-cli]` Add `changedSince` to allowed watch mode configs ([#6955](https://togithub.com/facebook/jest/pull/6955))
- `[babel-jest]` Add support for `babel.config.js` added in Babel 7.0.0 ([#6911](https://togithub.com/facebook/jest/pull/6911))
- `[jest-resolve]` Add support for an experimental `mapper` option (Watchman crawler only) that adds virtual files to the Haste map ([#6940](https://togithub.com/facebook/jest/pull/6940))
##### Fixes
- `[jest-resolve]` Only resolve realpath once in try-catch ([#6925](https://togithub.com/facebook/jest/pull/6925))
- `[expect]` Fix TypeError in `toBeInstanceOf` on `null` or `undefined` ([#6912](https://togithub.com/facebook/jest/pull/6912))
- `[jest-jasmine2]` Throw a descriptive error if the first argument supplied to a hook was not a function ([#6917](https://togithub.com/facebook/jest/pull/6917)) and ([#6931](https://togithub.com/facebook/jest/pull/6931))
- `[jest-circus]` Throw a descriptive error if the first argument supplied to a hook was not a function ([#6917](https://togithub.com/facebook/jest/pull/6917)) and ([#6931](https://togithub.com/facebook/jest/pull/6931))
- `[expect]` Fix variadic custom asymmetric matchers ([#6898](https://togithub.com/facebook/jest/pull/6898))
- `[jest-cli]` Fix incorrect `testEnvironmentOptions` warning ([#6852](https://togithub.com/facebook/jest/pull/6852))
- `[jest-each]` Prevent done callback being supplied to describe ([#6843](https://togithub.com/facebook/jest/pull/6843))
- `[jest-config]` Better error message for a case when a preset module was found, but no `jest-preset.js` or `jest-preset.json` at the root ([#6863](https://togithub.com/facebook/jest/pull/6863))
- `[jest-haste-map]` Catch crawler error when unsuccessfully reading directories ([#6761](https://togithub.com/facebook/jest/pull/6761))
##### Chore & Maintenance
- `[docs]` Add custom toMatchSnapshot matcher docs ([#6837](https://togithub.com/facebook/jest/pull/6837))
- `[docs]` Improve the documentation regarding preset configuration ([#6864](https://togithub.com/facebook/jest/issues/6864))
- `[docs]` Clarify usage of `--projects` CLI option ([#6872](https://togithub.com/facebook/jest/pull/6872))
- `[docs]` Correct `failure-change` notification mode ([#6878](https://togithub.com/facebook/jest/pull/6878))
- `[scripts]` Don’t remove node_modules from subdirectories of presets in e2e tests ([#6948](https://togithub.com/facebook/jest/pull/6948))
- `[diff-sequences]` Double-check number of differences in tests ([#6953](https://togithub.com/facebook/jest/pull/6953))
### [`v23.5.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2350)
[Compare Source](https://togithub.com/jestjs/jest/compare/v23.4.2...v23.5.0)
##### Features
- `[jest-cli]` Add package name to `NotifyReporter` notification ([#5898](https://togithub.com/facebook/jest/pull/5898))
- `[jest-runner]` print stack trace when `process.exit` is called from user code ([#6714](https://togithub.com/facebook/jest/pull/6714))
- `[jest-each]` introduces `%#` option to add index of the test to its title ([#6414](https://togithub.com/facebook/jest/pull/6414))
- `[pretty-format]` Support serializing `DocumentFragment` ([#6705](https://togithub.com/facebook/jest/pull/6705))
- `[jest-validate]` Add `recursive` and `recursiveBlacklist` options for deep config checks ([#6802](https://togithub.com/facebook/jest/pull/6802))
- `[jest-cli]` Check watch plugins for key conflicts ([#6697](https://togithub.com/facebook/jest/pull/6697))
##### Fixes
- `[jest-snapshot]` Mark snapshots as obsolete when moved to an inline snapshot ([#6773](https://togithub.com/facebook/jest/pull/6773))
- `[jest-config]` Fix `--coverage` with `--findRelatedTests` overwriting `collectCoverageFrom` options ([#6736](https://togithub.com/facebook/jest/pull/6736))
- `[jest-config]` Update default config for testURL from 'about:blank' to 'http://localhost' to address latest JSDOM security warning. ([#6792](https://togithub.com/facebook/jest/pull/6792))
- `[jest-cli]` Fix `testMatch` not working with negations ([#6648](https://togithub.com/facebook/jest/pull/6648))
- `[jest-cli]` Don't report promises as open handles ([#6716](https://togithub.com/facebook/jest/pull/6716))
- `[jest-each]` Add timeout support to parameterised tests ([#6660](https://togithub.com/facebook/jest/pull/6660))
- `[jest-cli]` Improve the message when running coverage while there are no files matching global threshold ([#6334](https://togithub.com/facebook/jest/pull/6334))
- `[jest-snapshot]` Correctly merge property matchers with the rest of the snapshot in `toMatchSnapshot`. ([#6528](https://togithub.com/facebook/jest/pull/6528))
- `[jest-snapshot]` Add error messages for invalid property matchers. ([#6528](https://togithub.com/facebook/jest/pull/6528))
- `[jest-cli]` Show open handles from inside test files as well ([#6263](https://togithub.com/facebook/jest/pull/6263))
- `[jest-haste-map]` Fix a problem where creating folders ending with `.js` could cause a crash ([#6818](https://togithub.com/facebook/jest/pull/6818))
##### Chore & Maintenance
- `[docs]` Document another option to avoid warnings with React 16 ([#5258](https://togithub.com/facebook/jest/issues/5258))
- `[docs]` Add note explaining when `jest.setTimeout` should be called ([#6817](https://togithub.com/facebook/jest/pull/6817/files))
- `[docs]` Fixed bug in example code ([#6828](https://togithub.com/facebook/jest/pull/6828))
### [`v23.4.2`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2342)
[Compare Source](https://togithub.com/jestjs/jest/compare/v23.4.1...v23.4.2)
##### Performance
- `[jest-changed-files]` limit git and hg commands to specified roots ([#6732](https://togithub.com/facebook/jest/pull/6732))
##### Fixes
- `[jest-circus]` Fix retryTimes so errors are reset before re-running ([#6762](https://togithub.com/facebook/jest/pull/6762))
- `[docs]` Update `expect.objectContaining()` description ([#6754](https://togithub.com/facebook/jest/pull/6754))
- `[babel-jest]` Make `getCacheKey()` take into account `createTransformer` options ([#6699](https://togithub.com/facebook/jest/pull/6699))
- `[jest-jasmine2]` Use prettier through `require` instead of `localRequire`. Fixes `matchInlineSnapshot` where prettier dependencies like `path` and `fs` are mocked with `jest.mock`. ([#6776](https://togithub.com/facebook/jest/pull/6776))
- `[docs]` Fix contributors link ([#6711](https://togithub.com/facebook/jest/pull/6711))
- `[website]` Fix website versions page to link to correct language ([#6734](https://togithub.com/facebook/jest/pull/6734))
- `[expect]` Update `toContain` suggestion to contain equal message ([#6810](https://togithub.com/facebook/jest/pull/6810))
### [`v23.4.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2341)
[Compare Source](https://togithub.com/jestjs/jest/compare/v23.4.0...v23.4.1)
##### Features
- `[jest-cli]` Watch plugins now have access to a broader range of global configuration options in their `updateConfigAndRun` callbacks, so they can provide a wider set of extra features ([#6473](https://togithub.com/facebook/jest/pull/6473))
- `[jest-snapshot]` `babel-traverse` is now passed to `jest-snapshot` explicitly to avoid unnecessary requires in every test
##### Fixes
- `[jest-haste-map]` Optimize watchman crawler by using `glob` on initial query ([#6689](https://togithub.com/facebook/jest/pull/6689))
- `[pretty-format]` Fix formatting of invalid Date objects ([#6635](https://togithub.com/facebook/jest/pull/6635))
### [`v23.4.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2340)
[Compare Source](https://togithub.com/jestjs/jest/compare/v23.3.0...v23.4.0)
##### Features
- `[jest-haste-map]` Add `computeDependencies` flag to avoid opening files if not needed ([#6667](https://togithub.com/facebook/jest/pull/6667))
- `[jest-runtime]` Support `require.resolve.paths` ([#6471](https://togithub.com/facebook/jest/pull/6471))
- `[jest-runtime]` Support `paths` option for `require.resolve` ([#6471](https://togithub.com/facebook/jest/pull/6471))
##### Fixes
- `[jest-runner]` Force parallel runs for watch mode, to avoid TTY freeze ([#6647](https://togithub.com/facebook/jest/pull/6647))
- `[jest-cli]` properly reprint resolver errors in watch mode ([#6407](https://togithub.com/facebook/jest/pull/6407))
- `[jest-cli]` Write configuration to stdout when the option was explicitly passed to Jest ([#6447](https://togithub.com/facebook/jest/pull/6447))
- `[jest-cli]` Fix regression on non-matching suites ([6657](https://togithub.com/facebook/jest/pull/6657))
- `[jest-runtime]` Roll back `micromatch` version to prevent regression when matching files ([#6661](https://togithub.com/facebook/jest/pull/6661))
### [`v23.3.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2330)
[Compare Source](https://togithub.com/jestjs/jest/compare/v23.2.0...v23.3.0)
##### Features
- `[jest-cli]` Allow watch plugin to be configured ([#6603](https://togithub.com/facebook/jest/pull/6603))
- `[jest-snapshot]` Introduce `toMatchInlineSnapshot` and `toThrowErrorMatchingInlineSnapshot` matchers ([#6380](https://togithub.com/facebook/jest/pull/6380))
##### Fixes
- `[jest-regex-util]` Improve handling already escaped path separators on Windows ([#6523](https://togithub.com/facebook/jest/pull/6523))
- `[jest-cli]` Fix `testNamePattern` value with interactive snapshots ([#6579](https://togithub.com/facebook/jest/pull/6579))
- `[jest-cli]` Fix enter to interrupt watch mode ([#6601](https://togithub.com/facebook/jest/pull/6601))
##### Chore & Maintenance
- `[website]` Switch domain to ([#6549](https://togithub.com/facebook/jest/pull/6549))
- `[tests]` Improve stability of `yarn test` on Windows ([#6534](https://togithub.com/facebook/jest/pull/6534))
- `[*]` Transpile object shorthand into Node 4 compatible syntax ([#6582](https://togithub.com/facebook/jest/pull/6582))
- `[*]` Update all legacy links to jestjs.io ([#6622](https://togithub.com/facebook/jest/pull/6622))
- `[docs]` Add docs for 23.1, 23.2, and 23.3 ([#6623](https://togithub.com/facebook/jest/pull/6623))
- `[website]` Only test/deploy website if relevant files are changed ([#6626](https://togithub.com/facebook/jest/pull/6626))
- `[docs]` Describe behavior of `resetModules` option when set to `false` ([#6641](https://togithub.com/facebook/jest/pull/6641))
### [`v23.2.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2320)
[Compare Source](https://togithub.com/jestjs/jest/compare/v23.1.0...v23.2.0)
##### Features
- `[jest-each]` Add support for keyPaths in test titles ([#6457](https://togithub.com/facebook/jest/pull/6457))
- `[jest-cli]` Add `jest --init` option that generates a basic configuration file with a short description for each option ([#6442](https://togithub.com/facebook/jest/pull/6442))
- `[jest.retryTimes]` Add `jest.retryTimes()` option that allows failed tests to be retried n-times when using jest-circus. ([#6498](https://togithub.com/facebook/jest/pull/6498))
##### Fixes
- `[docs]` Fixed error in documentation for expect.not.arrayContaining(array). ([#6491](https://togithub.com/facebook/jest/pull/6491))
- `[jest-cli]` Add check to make sure one or more tests have run before notifying when using `--notify` ([#6495](https://togithub.com/facebook/jest/pull/6495))
- `[jest-cli]` Pass `globalConfig` as a parameter to `globalSetup` and `globalTeardown` functions ([#6486](https://togithub.com/facebook/jest/pull/6486))
- `[jest-config]` Add missing options to the `defaults` object ([#6428](https://togithub.com/facebook/jest/pull/6428))
- `[expect]` Using symbolic property names in arrays no longer causes the `toEqual` matcher to fail ([#6391](https://togithub.com/facebook/jest/pull/6391))
- `[expect]` `toEqual` no longer tries to compare non-enumerable symbolic properties, to be consistent with non-symbolic properties. ([#6398](https://togithub.com/facebook/jest/pull/6398))
- `[jest-util]` `console.timeEnd` now properly log elapsed time in milliseconds. ([#6456](https://togithub.com/facebook/jest/pull/6456))
- `[jest-mock]` Fix `MockNativeMethods` access in react-native `jest.mock()` ([#6505](https://togithub.com/facebook/jest/pull/6505))
- `[jest-cli]` Fix `reporters` for `moduleName` = `'default'` ([#6542](https://togithub.com/facebook/jest/pull/6542))
##### Chore & Maintenance
- `[docs]` Add jest-each docs for 1 dimensional arrays ([#6444](https://togithub.com/facebook/jest/pull/6444/files))
### [`v23.1.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2310)
[Compare Source](https://togithub.com/jestjs/jest/compare/v23.0.1...v23.1.0)
##### Features
- `[jest-each]` Add pretty-format serialising to each titles ([#6357](https://togithub.com/facebook/jest/pull/6357))
- `[jest-cli]` shouldRunTestSuite watch hook now receives an object with `config`, `testPath` and `duration` ([#6350](https://togithub.com/facebook/jest/pull/6350))
- `[jest-each]` Support one dimensional array of data ([#6351](https://togithub.com/facebook/jest/pull/6351))
- `[jest-watch]` create new package `jest-watch` to ease custom watch plugin development ([#6318](https://togithub.com/facebook/jest/pull/6318))
- `[jest-circus]` Make hooks in empty describe blocks error ([#6320](https://togithub.com/facebook/jest/pull/6320))
- Add a config/CLI option `errorOnDeprecated` which makes calling deprecated APIs throw hepful error messages ([#6339](https://togithub.com/facebook/jest/pull/6339))
##### Fixes
- `[jest-each]` Fix pluralising missing arguments error ([#6369](https://togithub.com/facebook/jest/pull/6369))
- `[jest-each]` Stop test title concatenating extra args ([#6346](https://togithub.com/facebook/jest/pull/6346))
- `[expect]` toHaveBeenNthCalledWith/nthCalledWith gives wrong call messages if not matched ([#6340](https://togithub.com/facebook/jest/pull/6340))
- `[jest-each]` Make sure invalid arguments to `each` points back to the user's code ([#6347](https://togithub.com/facebook/jest/pull/6347))
- `[expect]` toMatchObject throws TypeError when a source property is null ([#6313](https://togithub.com/facebook/jest/pull/6313))
- `[jest-cli]` Normalize slashes in paths in CLI output on Windows ([#6310](https://togithub.com/facebook/jest/pull/6310))
- `[jest-cli]` Fix run beforeAll in excluded suites tests" mode. ([#6234](https://togithub.com/facebook/jest/pull/6234))
- `[jest-haste-map`] Compute SHA-1s for non-tracked files when using Node crawler ([#6264](https://togithub.com/facebook/jest/pull/6264))
##### Chore & Maintenance
- `[docs]` Improve documentation of `mockClear`, `mockReset`, and `mockRestore` ([#6227](https://togithub.com/facebook/jest/pull/6227/files))
- `[jest-each]` Refactor each to use shared implementation with core ([#6345](https://togithub.com/facebook/jest/pull/6345))
- `[jest-each]` Update jest-each docs for serialising values into titles ([#6337](https://togithub.com/facebook/jest/pull/6337))
- `[jest-circus]` Add dependency on jest-each ([#6309](https://togithub.com/facebook/jest/pull/6309))
- `[filenames]` Rename "integration-tests" to "e2e" ([#6315](https://togithub.com/facebook/jest/pull/6315))
- `[docs]` Mention the use of commit hash with `--changedSince` flag ([#6330](https://togithub.com/facebook/jest/pull/6330))
### [`v23.0.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2301)
[Compare Source](https://togithub.com/jestjs/jest/compare/v23.0.0...v23.0.1)
##### Chore & Maintenance
- `[jest-jasemine2]` Add dependency on jest-each ([#6308](https://togithub.com/facebook/jest/pull/6308))
- `[jest-each]` Move jest-each into core Jest ([#6278](https://togithub.com/facebook/jest/pull/6278))
- `[examples]` Update typescript example to using `ts-jest` ([#6260](https://togithub.com/facebook/jest/pull/6260))
##### Fixes
- `[pretty-format]` Serialize inverse asymmetric matchers correctly ([#6272](https://togithub.com/facebook/jest/pull/6272))
### [`v23.0.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2300)
[Compare Source](https://togithub.com/jestjs/jest/compare/v22.4.4...v23.0.0)
##### Features
- `[expect]` Expose `getObjectSubset`, `iterableEquality`, and `subsetEquality` ([#6210](https://togithub.com/facebook/jest/pull/6210))
- `[jest-snapshot]` Add snapshot property matchers ([#6210](https://togithub.com/facebook/jest/pull/6210))
- `[jest-config]` Support jest-preset.js files within Node modules ([#6185](https://togithub.com/facebook/jest/pull/6185))
- `[jest-cli]` Add `--detectOpenHandles` flag which enables Jest to potentially track down handles keeping it open after tests are complete. ([#6130](https://togithub.com/facebook/jest/pull/6130))
- `[jest-jasmine2]` Add data driven testing based on `jest-each` ([#6102](https://togithub.com/facebook/jest/pull/6102))
- `[jest-m
This PR contains the following updates:
^0.2.1
->^24.3.0
By merging this PR, the below issues will be automatically resolved and closed:
Release Notes
jestjs/jest (jest-cli)
### [`v24.3.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2430) [Compare Source](https://togithub.com/jestjs/jest/compare/v24.1.0...v24.3.0) We skipped 24.2.0 because a draft was accidentally published. Please use `24.3.0` or a newer version instead. ##### Features - `[expect]`: Improve report when matcher fails, part 10 ([#7960](https://togithub.com/facebook/jest/pull/7960)) - `[expect]`: Improve report when matcher fails, part 11 ([#8008](https://togithub.com/facebook/jest/pull/8008)) - `[expect]`: Improve report when matcher fails, part 12 ([#8033](https://togithub.com/facebook/jest/pull/8033)) - `[expect]`: Improve report when matcher fails, part 7 ([#7866](https://togithub.com/facebook/jest/pull/7866)) - `[expect]`: Improve report when matcher fails, part 8 ([#7876](https://togithub.com/facebook/jest/pull/7876)) - `[expect]`: Improve report when matcher fails, part 9 ([#7940](https://togithub.com/facebook/jest/pull/7940)) - `[jest-circus/jest-jasmine2]` Warn if describe returns a value ([#7852](https://togithub.com/facebook/jest/pull/7852)) - `[jest-config]` Print error information on preset normalization error ([#7935](https://togithub.com/facebook/jest/pull/7935)) - `[jest-get-type]` Add `isPrimitive` function ([#7708](https://togithub.com/facebook/jest/pull/7708)) - `[jest-haste-map]` Add `skipPackageJson` option ([#7778](https://togithub.com/facebook/jest/pull/7778)) - `[jest-util]` Add `isPromise` ([#7852](https://togithub.com/facebook/jest/pull/7852)) - `[pretty-format]` Support `React.memo` ([#7891](https://togithub.com/facebook/jest/pull/7891)) ##### Fixes - `[expect]` Fix `toStrictEqual` not considering arrays with objects having undefined values correctly ([#7938](https://togithub.com/facebook/jest/pull/7938)) - `[expect]` Fix custom async matcher stack trace ([#7652](https://togithub.com/facebook/jest/pull/7652)) - `[expect]` Fix non-object received value in toHaveProperty ([#7986](https://togithub.com/facebook/jest/pull/7986), [#8067](https://togithub.com/facebook/jest/pull/8067)) - `[expect]` Fix non-symmetric equal for Number ([#7948](https://togithub.com/facebook/jest/pull/7948)) - `[expect]` Remove duck typing and obsolete browser support code when comparing DOM nodes and use DOM-Level-3 API instead ([#7995](https://togithub.com/facebook/jest/pull/7995)) - `[jest-changed-files]` Fix `getChangedFilesFromRoots` to not return parts of the commit messages as if they were files, when the commit messages contained multiple paragraphs ([#7961](https://togithub.com/facebook/jest/pull/7961)) - `[jest-changed-files]` Fix pattern for HG changed files ([#8066](https://togithub.com/facebook/jest/pull/8066)) - `[jest-changed-files]` Improve default file selection for Mercurial repos ([#7880](https://togithub.com/facebook/jest/pull/7880)) - `[jest-circus]` Fix bug with test.only ([#7888](https://togithub.com/facebook/jest/pull/7888)) - `[jest-circus]`: Throw explicit error when errors happen after test is considered complete ([#8005](https://togithub.com/facebook/jest/pull/8005)) - `[jest-cli]` Fix prototype pollution vulnerability in dependency ([#7904](https://togithub.com/facebook/jest/pull/7904)) - `[jest-cli]` Refactor `-o` and `--coverage` combined ([#7611](https://togithub.com/facebook/jest/pull/7611)) - `[jest-environment-node]` Add missing globals: TextEncoder and TextDecoder ([#8022](https://togithub.com/facebook/jest/pull/8022)) - `[jest-haste-map]` Enforce uniqueness in names (mocks and haste ids) ([#8002](https://togithub.com/facebook/jest/pull/8002)) - `[jest-jasmine2]`: Throw explicit error when errors happen after test is considered complete ([#8005](https://togithub.com/facebook/jest/pull/8005)) - `[jest-mock]` Adds a type check to `prototype` to allow mocks of objects with a primitive `prototype` property. ([#8040](https://togithub.com/facebook/jest/pull/8040)) - `[jest-transform]` Normalize config and remove unnecessary checks, convert `TestUtils.js` to TypeScript ([#7801](https://togithub.com/facebook/jest/pull/7801)) - `[jest-util]`Make sure to not fail if unable to assign `toStringTag` to the `process` object, which is read only in Node 12 ([#8050](https://togithub.com/facebook/jest/pull/8050)) - `[jest-validate]` Fix validating async functions ([#7894](https://togithub.com/facebook/jest/issues/7894)) - `[jest-worker]` Fix `jest-worker` when using pre-allocated jobs ([#7934](https://togithub.com/facebook/jest/pull/7934)) - `[static]` Remove console log '-' on the front page ([#7977](https://togithub.com/facebook/jest/pull/7977)) ##### Chore & Maintenance - `[*]`: Setup building, linting and testing of TypeScript ([#7808](https://togithub.com/facebook/jest/pull/7808), [#7855](https://togithub.com/facebook/jest/pull/7855), [#7951](https://togithub.com/facebook/jest/pull/7951)) - `[@jest/console]`: Extract custom `console` implementations from `jest-util` into a new separate package ([#8030](https://togithub.com/facebook/jest/pull/8030)) - `[@jest/core]` Create new package, which is `jest-cli` minus `yargs` and `prompts` ([#7696](https://togithub.com/facebook/jest/pull/7696)) - `[@jest/core]`: Migrate to TypeScript ([#7998](https://togithub.com/facebook/jest/pull/7998)) - `[@jest/fake-timers]`: Extract FakeTimers class from `jest-util` into a new separate package ([#7987](https://togithub.com/facebook/jest/pull/7987)) - `[@jest/reporter]`: New package extracted from `jest-cli` ([#7902](https://togithub.com/facebook/jest/pull/7902)) - `[@jest/reporters]`: Migrate to TypeScript ([#7994](https://togithub.com/facebook/jest/pull/7994), [#8045](https://togithub.com/facebook/jest/pull/8045)) - `[@jest/source-map]`: Extract `getCallsite` function from `jest-util` into a new separate package ([#8029](https://togithub.com/facebook/jest/pull/8029)) - `[@jest/test-result]`: Extract TestResult types and helpers into a new separate package ([#8034](https://togithub.com/facebook/jest/pull/8034)) - `[@jest/transform]`: Migrate to TypeScript ([#7918](https://togithub.com/facebook/jest/pull/7918), [#7945](https://togithub.com/facebook/jest/pull/7945)) - `[@jest/transform]`: New package extracted from `jest-runtime` ([#7915](https://togithub.com/facebook/jest/pull/7915)) - `[@jest/types]`: New package to handle shared types ([#7834](https://togithub.com/facebook/jest/pull/7834)) - `[babel-jest]`: Migrate to TypeScript ([#7862](https://togithub.com/facebook/jest/pull/7862)) - `[babel-plugin-jest-hoist]`: Migrate to TypeScript ([#7898](https://togithub.com/facebook/jest/pull/7898)) - `[diff-sequences]`: Migrate to Typescript ([#7820](https://togithub.com/facebook/jest/pull/7820)) - `[docs]` Add missing import to docs ([#7928](https://togithub.com/facebook/jest/pull/7928)) - `[docs]` Update automock configuration, add note related to manual mocks ([#8051](https://togithub.com/facebook/jest/pull/8051)) - `[docs]` Update/Organize TestSequencer and testSchedulerHelper code comments([#7984](https://togithub.com/facebook/jest/pull/7984)) - `[docs]`: Fix image paths in SnapshotTesting.md for current and version 24 ([#7872](https://togithub.com/facebook/jest/pull/7872)) - `[docs]`: Improve runAllTimers doc (it exhausts the micro-task queue) ([#8031](https://togithub.com/facebook/jest/pull/8031)) - `[docs]`: Update CONTRIBUTING.md to add information about running jest with `jest-circus` locally ([#8013](https://togithub.com/facebook/jest/pull/8013)). - `[expect]`: Migrate to TypeScript ([#7919](https://togithub.com/facebook/jest/pull/7919), [#8028](https://togithub.com/facebook/jest/pull/8028)) - `[jest-changed-files]`: Migrate to TypeScript ([#7827](https://togithub.com/facebook/jest/pull/7827)) - `[jest-circus]`: Migrate to TypeScript ([#7916](https://togithub.com/facebook/jest/pull/7916)) - `[jest-cli]`: Migrate to TypeScript ([#8024](https://togithub.com/facebook/jest/pull/8024)) - `[jest-diff]`: Migrate to TypeScript ([#7824](https://togithub.com/facebook/jest/pull/7824), [#8027](https://togithub.com/facebook/jest/pull/8027)) - `[jest-docblock]`: Migrate to TypeScript ([#7836](https://togithub.com/facebook/jest/pull/7836)) - `[jest-each]`: Migrate to Typescript ([#8007](https://togithub.com/facebook/jest/pull/8007)) - `[jest-each]`: Refactor into multiple files with better types ([#8018](https://togithub.com/facebook/jest/pull/8018)) - `[jest-environment-jsdom]`: Migrate to TypeScript ([#8003](https://togithub.com/facebook/jest/pull/8003)) - `[jest-environment-node]`: Migrate to TypeScript ([#7985](https://togithub.com/facebook/jest/pull/7985)) - `[jest-get-type]`: Migrate to TypeScript ([#7818](https://togithub.com/facebook/jest/pull/7818)) - `[jest-haste-map]`: Migrate to TypeScript ([#7854](https://togithub.com/facebook/jest/pull/7854), [#7951](https://togithub.com/facebook/jest/pull/7951)) - `[jest-jasmine2]`: TS migration ([#7970](https://togithub.com/facebook/jest/pull/7970)) - `[jest-leak-detector]`: Migrate to TypeScript ([#7825](https://togithub.com/facebook/jest/pull/7825)) - `[jest-matcher-utils]`: Migrate to TypeScript ([#7835](https://togithub.com/facebook/jest/pull/7835)) - `[jest-message-util]`: Migrate to TypeScript ([#7834](https://togithub.com/facebook/jest/pull/7834)) - `[jest-mock]`: Migrate to TypeScript ([#7847](https://togithub.com/facebook/jest/pull/7847), [#7850](https://togithub.com/facebook/jest/pull/7850), [#7971](https://togithub.com/facebook/jest/pull/7971)) - `[jest-phabricator]`: Migrate to TypeScript ([#7965](https://togithub.com/facebook/jest/pull/7965)) - `[jest-regex-util]`: Migrate to TypeScript ([#7822](https://togithub.com/facebook/jest/pull/7822)) - `[jest-repl]`: Migrate to TypeScript ([#8000](https://togithub.com/facebook/jest/pull/8000)) - `[jest-resolve-dependencies]`: Migrate to TypeScript ([#7922](https://togithub.com/facebook/jest/pull/7922)) - `[jest-resolve]`: Migrate to TypeScript ([#7871](https://togithub.com/facebook/jest/pull/7871)) - `[jest-runner]`: Migrate to TypeScript ([#7968](https://togithub.com/facebook/jest/pull/7968)) - `[jest-runtime]`: Migrate to TypeScript ([#7964](https://togithub.com/facebook/jest/pull/7964), [#7988](https://togithub.com/facebook/jest/pull/7988)) - `[jest-serializer]`: Migrate to TypeScript ([#7841](https://togithub.com/facebook/jest/pull/7841)) - `[jest-snapshot]`: Migrate to TypeScript ([#7899](https://togithub.com/facebook/jest/pull/7899)) - `[jest-util]`: Migrate to TypeScript ([#7844](https://togithub.com/facebook/jest/pull/7844), [#8021](https://togithub.com/facebook/jest/pull/8021)) - `[jest-validate]`: Migrate to TypeScript ([#7991](https://togithub.com/facebook/jest/pull/7991)) - `[jest-watcher]`: Migrate to TypeScript ([#7843](https://togithub.com/facebook/jest/pull/7843)) - `[jest-worker]`: Migrate to TypeScript ([#7853](https://togithub.com/facebook/jest/pull/7853)) - `[jest]`: Migrate to TypeScript ([#8024](https://togithub.com/facebook/jest/pull/8024)) - `[pretty-format]`: Migrate to TypeScript ([#7809](https://togithub.com/facebook/jest/pull/7809), [#7972](https://togithub.com/facebook/jest/pull/7972)) ##### Performance - `[jest-haste-map]` Optimize haste map tracking of deleted files with Watchman. ([#8056](https://togithub.com/facebook/jest/pull/8056)) ### [`v24.1.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2410) [Compare Source](https://togithub.com/jestjs/jest/compare/v24.0.0...v24.1.0) ##### Features - `[jest-resolve]`: Pass default resolver into custom resolvers ([#7714](https://togithub.com/facebook/jest/pull/7714)) - `[jest-cli]`: `global{Setup,Teardown}` use default export with es modules ([#7750](https://togithub.com/facebook/jest/pull/7750)) - `[jest-runtime]` Better error messages when the jest environment is used after teardown by async code ([#7756](https://togithub.com/facebook/jest/pull/7756)) - `[jest-jasmine2]` Will now only execute at most 5 concurrent tests *within the same testsuite* when using `test.concurrent` ([#7770](https://togithub.com/facebook/jest/pull/7770)) - `[jest-circus]` Same as `[jest-jasmine2]`, only 5 tests will run concurrently by default ([#7770](https://togithub.com/facebook/jest/pull/7770)) - `[jest-config]` A new `maxConcurrency` option allows to change the number of tests allowed to run concurrently ([#7770](https://togithub.com/facebook/jest/pull/7770)) ##### Fixes - `[jest-runtime]` Fix for mocks not working with module name mapper ([#7787](https://togithub.com/facebook/jest/pull/7787)) - `[jest-cli]` Break dependency cycle when using Jest programmatically ([#7707](https://togithub.com/facebook/jest/pull/7707)) - `[jest-config]` Extract setupFilesAfterEnv from preset ([#7724](https://togithub.com/facebook/jest/pull/7724)) - `[jest-cli]` Do not execute any `globalSetup` or `globalTeardown` if there are no tests to execute ([#7745](https://togithub.com/facebook/jest/pull/7745)) - `[jest-runtime]` Lock down version of `write-file-atomic` ([#7725](https://togithub.com/facebook/jest/pull/7725)) - `[jest-cli]` Print log entries when logging happens after test environment is torn down ([#7731](https://togithub.com/facebook/jest/pull/7731)) - `[jest-config]` Do not use a uuid as `name` since that breaks caching ([#7746](https://togithub.com/facebook/jest/pull/7746)) - `[jest-config]` Make sure `normalize` can consume `Defaults` without warnings ([#7742](https://togithub.com/facebook/jest/pull/7742)) - `[jest-config]` Allow `moduleFileExtensions` without 'js' for custom runners ([#7751](https://togithub.com/facebook/jest/pull/7751)) - `[jest-cli]` Load transformers before installing require hooks ([#7752](https://togithub.com/facebook/jest/pull/7752)) - `[jest-cli]` Handle missing `numTodoTests` in test results ([#7779](https://togithub.com/facebook/jest/pull/7779)) - `[jest-runtime]` Exclude setup/teardown files from coverage report ([#7790](https://togithub.com/facebook/jest/pull/7790)) - `[babel-jest]` Throw an error if `babel-jest` tries to transform a file ignored by Babel ([#7797](https://togithub.com/facebook/jest/pull/7797)) - `[babel-plugin-jest-hoist]` Ignore TS type references when looking for out-of-scope references ([#7799](https://togithub.com/facebook/jest/pull/7799)) - `[expect]` fixed asymmetrical equality of cyclic objects ([#7730](https://togithub.com/facebook/jest/pull/7730)) ##### Chore & Maintenance - `[jest]` Update jest-junit to ^6.2.1 ([#7739](https://togithub.com/facebook/jest/pull/7739)) - `[website]` Fix broken help link on homepage ([#7706](https://togithub.com/facebook/jest/pull/7706)) - `[docs]` Changed Babel setup documentation to correctly compile `async/await` ([#7701](https://togithub.com/facebook/jest/pull/7701)) ### [`v24.0.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2400) [Compare Source](https://togithub.com/jestjs/jest/compare/v23.6.0...v24.0.0) ##### Features - `[jest-each]` \[**BREAKING**] Add primitive pretty printing for interpolated titles ([#7694](https://togithub.com/facebook/jest/pull/7694)) - `[jest-runtime]` Add `jest.isolateModules` for scoped module initialization ([#6701](https://togithub.com/facebook/jest/pull/6701)) - `[jest-diff]` \[**BREAKING**] Support diffing numbers and booleans instead of returning null for different ones ([#7605](https://togithub.com/facebook/jest/pull/7605)) - `[jest-diff]` \[**BREAKING**] Replace `diff` with `diff-sequences` package ([#6961](https://togithub.com/facebook/jest/pull/6961)) - `[jest-cli]` \[**BREAKING**] Only set error process error codes when they are non-zero ([#7363](https://togithub.com/facebook/jest/pull/7363)) - `[jest-config]` \[**BREAKING**] Deprecate `setupTestFrameworkScriptFile` in favor of new `setupFilesAfterEnv` ([#7119](https://togithub.com/facebook/jest/pull/7119)) - `[jest-worker]` \[**BREAKING**] Add functionality to call a `setup` method in the worker before the first call and a `teardown` method when ending the farm ([#7014](https://togithub.com/facebook/jest/pull/7014)) - `[jest-config]` \[**BREAKING**] Set default `notifyMode` to `failure-change` ([#7024](https://togithub.com/facebook/jest/pull/7024)) - `[jest-haste-map]` \[**BREAKING**] Remove support for `@providesModule` ([#6104](https://togithub.com/facebook/jest/pull/6104)) - `[jest-haste-map]` \[**BREAKING**] Replace internal data structures to improve performance ([#6960](https://togithub.com/facebook/jest/pull/6960)) - `[jest-haste-map]` \[**BREAKING**] Use relative paths to allow remote caching ([#7020](https://togithub.com/facebook/jest/pull/7020)) - `[jest-haste-map]` \[**BREAKING**] Remove name from hash in `HasteMap.getCacheFilePath` ([#7218](https://togithub.com/facebook/jest/pull/7218)) - `[babel-preset-jest]` \[**BREAKING**] Export a function instead of an object for Babel 7 compatibility ([#7203](https://togithub.com/facebook/jest/pull/7203)) - `[jest-haste-map]` \[**BREAKING**] Expose relative paths when getting the file iterator ([#7321](https://togithub.com/facebook/jest/pull/7321)) - `[jest-cli]` \[**BREAKING**] Run code transforms over `global{Setup,Teardown}` ([#7562](https://togithub.com/facebook/jest/pull/7562)) - `[jest-haste-map]` Add `hasteFS.getSize(path)` ([#7580](https://togithub.com/facebook/jest/pull/7580)) - `[jest-cli]` Print version ending in `-dev` when running a local Jest clone ([#7582](https://togithub.com/facebook/jest/pull/7582)) - `[jest-cli]` Add Support for `globalSetup` and `globalTeardown` in projects ([#6865](https://togithub.com/facebook/jest/pull/6865)) - `[jest-runtime]` Add `extraGlobals` to config to load extra global variables into the execution vm ([#7454](https://togithub.com/facebook/jest/pull/7454)) - `[jest-util]` Export `specialChars` containing Unicode characters and ANSI escapes for console output ([#7532](https://togithub.com/facebook/jest/pull/7532)) - `[jest-config]` Handle typescript (`ts` and `tsx`) by default ([#7533](https://togithub.com/facebook/jest/pull/7533)) - `[jest-validate]` Add support for comments in `package.json` using a `"//"` key ([#7295](https://togithub.com/facebook/jest/pull/7295)) - `[jest-config]` Add shorthand for watch plugins and runners ([#7213](https://togithub.com/facebook/jest/pull/7213)) - `[jest-jasmine2/jest-circus/jest-cli]` Add test.todo ([#6996](https://togithub.com/facebook/jest/pull/6996)) - `[pretty-format]` Option to not escape strings in diff messages ([#5661](https://togithub.com/facebook/jest/pull/5661)) - `[jest-haste-map]` Add `getFileIterator` to `HasteFS` for faster file iteration ([#7010](https://togithub.com/facebook/jest/pull/7010)) - `[jest-config]` Add `readConfigs` function, previously in `jest-cli` ([#7096](https://togithub.com/facebook/jest/pull/7096)) - `[jest-snapshot]` Enable configurable snapshot paths ([#6143](https://togithub.com/facebook/jest/pull/6143)) - `[pretty-format]` Support HTMLCollection and NodeList in DOMCollection plugin ([#7125](https://togithub.com/facebook/jest/pull/7125)) - `[jest-runtime]` Pass the normalized configuration to script transformers ([#7148](https://togithub.com/facebook/jest/pull/7148)) - `[expect]` Improve report when assertion fails, part 3 ([#7152](https://togithub.com/facebook/jest/pull/7152)) - `[jest-runtime]` If `require` fails without a file extension, print all files that match with one ([#7160](https://togithub.com/facebook/jest/pull/7160)) - `[jest-haste-map]` Make `ignorePattern` optional ([#7166](https://togithub.com/facebook/jest/pull/7166)) - `[jest-haste-map]` Add `getCacheFilePath` to get the path to the cache file for a `HasteMap` instance ([#7217](https://togithub.com/facebook/jest/pull/7217)) - `[jest-runtime]` Remove `cacheDirectory` from `ignorePattern` for `HasteMap` if not necessary ([#7166](https://togithub.com/facebook/jest/pull/7166)) - `[jest-validate]` Add syntax to validate multiple permitted types ([#7207](https://togithub.com/facebook/jest/pull/7207)) - `[jest-config]` Accept an array as as well as a string for `testRegex` ([#7209](https://togithub.com/facebook/jest/pull/7209)) - `[expect/jest-matcher-utils]` Improve report when assertion fails, part 4 ([#7241](https://togithub.com/facebook/jest/pull/7241)) - `[expect/jest-matcher-utils]` Improve report when assertion fails, part 5 ([#7557](https://togithub.com/facebook/jest/pull/7557)) - `[expect]` Check constructor equality in .toStrictEqual() ([#7005](https://togithub.com/facebook/jest/pull/7005)) - `[jest-util]` Add `jest.getTimerCount()` to get the count of scheduled fake timers ([#7285](https://togithub.com/facebook/jest/pull/7285)) - `[jest-config]` Add `dependencyExtractor` option to use a custom module to extract dependencies from files ([#7313](https://togithub.com/facebook/jest/pull/7313), [#7349](https://togithub.com/facebook/jest/pull/7349), [#7350](https://togithub.com/facebook/jest/pull/7350), [#7362](https://togithub.com/facebook/jest/pull/7362)) - `[jest-haste-map]` Accept a `getCacheKey` method in `hasteImplModulePath` modules to reset the cache when the logic changes ([#7350](https://togithub.com/facebook/jest/pull/7350)) - `[jest-config]` Add `haste.computeSha1` option to compute the sha-1 of the files in the haste map ([#7345](https://togithub.com/facebook/jest/pull/7345)) - `[expect]` `expect(Infinity).toBeCloseTo(Infinity)` Treats `Infinity` as equal in toBeCloseTo matcher ([#7405](https://togithub.com/facebook/jest/pull/7405)) - `[jest-worker]` Add node worker-thread support to jest-worker ([#7408](https://togithub.com/facebook/jest/pull/7408)) - `[jest-config]` Allow `bail` setting to be configured with a number allowing tests to abort after `n` of failures ([#7335](https://togithub.com/facebook/jest/pull/7335)) - `[jest-config]` Allow % based configuration of `--max-workers` ([#7494](https://togithub.com/facebook/jest/pull/7494)) - `[jest-runner]` Instantiate the test environment class with the current `testPath` ([#7442](https://togithub.com/facebook/jest/pull/7442)) - `[jest-config]` Always resolve jest-environment-jsdom from jest-config ([#7476](https://togithub.com/facebook/jest/pull/7476)) - `[expect]` Improve report when assertion fails, part 6 ([#7621](https://togithub.com/facebook/jest/pull/7621)) - `[jest-worker]` Add `enableWorkerThreads` option to explicitly opt-in to `worker_threads` if available ([#7681](https://togithub.com/facebook/jest/pull/7681)) ##### Fixes - `[expect]` Accept inherited properties in `toHaveProperty` matcher ([#7686](https://togithub.com/facebook/jest/pull/7686)) - `[jest-diff]` Do not claim that `-0` and `0` have no visual difference ([#7605](https://togithub.com/facebook/jest/pull/7605)) - `[jest-mock]` Fix automock for numeric function names ([#7653](https://togithub.com/facebook/jest/pull/7653)) - `[jest-config]` Ensure `existsSync` is only called with a string parameter ([#7607](https://togithub.com/facebook/jest/pull/7607)) - `[expect]` `toStrictEqual` considers sparseness of arrays. ([#7591](https://togithub.com/facebook/jest/pull/7591)) - `[jest-cli]` Fix empty coverage data for untested files ([#7388](https://togithub.com/facebook/jest/pull/7388)) - `[jest-cli]` \[**BREAKING**] Do not use `text-summary` coverage reporter by default if other reporters are configured ([#7058](https://togithub.com/facebook/jest/pull/7058)) - `[jest-mock]` \[**BREAKING**] Fix bugs with mock/spy result tracking of recursive functions ([#6381](https://togithub.com/facebook/jest/pull/6381)) - `[jest-haste-map]` \[**BREAKING**] Recover files correctly after haste name collisions are fixed ([#7329](https://togithub.com/facebook/jest/pull/7329)) - `[pretty-format]` \[**BREAKING**] Omit non-enumerable symbol properties ([#7448](https://togithub.com/facebook/jest/pull/7448)) - `[*]` \[**BREAKING**] Upgrade to Babel 7, dropping support for Babel 6 ([#7016](https://togithub.com/facebook/jest/pull/7016)) - `[jest-cli]` Avoid watch mode causing bad terminal behavior in some cases ([#7523](https://togithub.com/facebook/jest/pull/7523)) - `[jest-runner/jest-worker]` Fix missing console output in verbose mode ([#6871](https://togithub.com/facebook/jest/pull/6871)) - `[expect]` Standardize file naming in `expect` ([#7306](https://togithub.com/facebook/jest/pull/7306)) - `[jest-each]` Add empty array validation check ([#7249](https://togithub.com/facebook/jest/pull/7249)) - `[jest-cli]` Interrupt tests if interactive watch plugin key is pressed ([#7222](https://togithub.com/facebook/jest/pull/7222)) - `[jest-each]` Add each array validation check ([#7033](https://togithub.com/facebook/jest/pull/7033)) - `[jest-haste-map]` Do not visit again files with the same sha-1 ([#6990](https://togithub.com/facebook/jest/pull/6990)) - `[jest-jasmine2]` Fix memory leak in Error objects hold by the framework ([#6965](https://togithub.com/facebook/jest/pull/6965)) - `[jest-haste-map]` Fixed Haste whitelist generation for scoped modules on Windows ([#6980](https://togithub.com/facebook/jest/pull/6980)) - `[jest-mock]` Fix inheritance of static properties and methods in mocks ([#7003](https://togithub.com/facebook/jest/pull/7003)) - `[jest-mock]` Fix mocking objects without `Object.prototype` in their prototype chain ([#7003](https://togithub.com/facebook/jest/pull/7003)) - `[jest-mock]` Check `_isMockFunction` is true rather than truthy on potential mocks ([#7017](https://togithub.com/facebook/jest/pull/7017)) - `[jest-cli]` Update jest-cli to show git ref in message when using `changedSince` ([#7028](https://togithub.com/facebook/jest/pull/7028)) - `[jest-jasmine2`] Fix crash when test return Promise rejected with null ([#7049](https://togithub.com/facebook/jest/pull/7049)) - `[jest-runtime]` Check `_isMockFunction` is true rather than truthy on potential global mocks ([#7017](https://togithub.com/facebook/jest/pull/7017)) - `[jest-jasmine]` Show proper error message from async `assert` errors ([#6821](https://togithub.com/facebook/jest/pull/6821)) - `[jest-jasmine2]` Better error message when a describe block is empty ([#6372](https://togithub.com/facebook/jest/pull/6372)) - `[jest-jasmine2]` Pending calls inside async tests are reported as pending not failed ([#6782](https://togithub.com/facebook/jest/pull/6782)) - `[jest-circus]` Better error message when a describe block is empty ([#6372](https://togithub.com/facebook/jest/pull/6372)) - `[jest-jasmine2]` Add missing testLocationResults for `xit` and `fit` ([#6482](https://togithub.com/facebook/jest/pull/6482)) - `[expect]` Return false from asymmetric matchers if received value isn’t string ([#7107](https://togithub.com/facebook/jest/pull/7107)) - `[jest-cli]` Fix unhandled error when a bad revision is provided to `changedSince` ([#7115](https://togithub.com/facebook/jest/pull/7115)) - `[jest-config]` Moved dynamically assigned `cwd` from `jest-cli` to default configuration in `jest-config` ([#7146](https://togithub.com/facebook/jest/pull/7146)) - `[jest-config]` Fix `getMaxWorkers` on termux ([#7154](https://togithub.com/facebook/jest/pull/7154)) - `[jest-runtime]` Throw an explicit error if `js` is missing from `moduleFileExtensions` ([#7160](https://togithub.com/facebook/jest/pull/7160)) - `[jest-runtime]` Fix missing coverage when using negative glob pattern in `testMatch` ([#7170](https://togithub.com/facebook/jest/pull/7170)) - `[*]` Ensure `maxWorkers` is at least 1 (was 0 in some cases where there was only 1 CPU) ([#7182](https://togithub.com/facebook/jest/pull/7182)) - `[jest-runtime]` Fix transform cache invalidation when requiring a test file from multiple projects ([#7186](https://togithub.com/facebook/jest/pull/7186)) - `[jest-changed-files]` Return correctly the changed files when using `lastCommit=true` on Mercurial repositories ([#7228](https://togithub.com/facebook/jest/pull/7228)) - `[babel-jest]` Cache includes babel environment variables ([#7239](https://togithub.com/facebook/jest/pull/7239)) - `[jest-config]` Use strings instead of `RegExp` instances in normalized configuration ([#7251](https://togithub.com/facebook/jest/pull/7251)) - `[jest-circus]` Make sure to display real duration even if time is mocked ([#7264](https://togithub.com/facebook/jest/pull/7264)) - `[expect]` Improves the failing message for `toStrictEqual` matcher. ([#7224](https://togithub.com/facebook/jest/pull/7224)) - `[expect]` Improves the failing message for `toEqual` matcher. ([#7325](https://togithub.com/facebook/jest/pull/7325)) - `[jest-resolve]` Fix not being able to resolve path to mapped file with custom platform ([#7312](https://togithub.com/facebook/jest/pull/7312)) - `[jest-message-util]` Improve parsing of error messages for unusually formatted stack traces ([#7319](https://togithub.com/facebook/jest/pull/7319)) - `[jest-runtime]` Ensure error message text is not lost on errors with code frames ([#7319](https://togithub.com/facebook/jest/pull/7319)) - `[jest-haste-map]` Fix to resolve path that is start with words same as rootDir ([#7324](https://togithub.com/facebook/jest/pull/7324)) - `[expect]` Fix toMatchObject matcher when used with `Object.create(null)` ([#7334](https://togithub.com/facebook/jest/pull/7334)) - `[jest-haste-map]` Remove legacy condition for duplicate module detection ([#7333](https://togithub.com/facebook/jest/pull/7333)) - `[jest-haste-map]` Fix `require` detection with trailing commas and ignore `import typeof` modules ([#7385](https://togithub.com/facebook/jest/pull/7385)) - `[jest-cli]` Fix to set prettierPath via config file ([#7412](https://togithub.com/facebook/jest/pull/7412)) - `[expect]` Test more precisely for class instance getters ([#7477](https://togithub.com/facebook/jest/pull/7477)) - `[jest-cli]` Support dashed args ([#7497](https://togithub.com/facebook/jest/pull/7497)) - `[jest-cli]` Fix to run in band tests if watch mode enable when runInBand arg used ([#7518](https://togithub.com/facebook/jest/pull/7518)) - `[jest-runtime]` Fix mistake as test files when run coverage issue. ([#7506](https://togithub.com/facebook/jest/pull/7506)) - `[jest-cli]` print info about passWithNoTests flag ([#7309](https://togithub.com/facebook/jest/pull/7309)) - `[pretty-format]` Omit unnecessary symbol filter for object keys ([#7457](https://togithub.com/facebook/jest/pull/7457)) - `[jest-runtime]` Fix `requireActual` on node_modules with mock present ([#7404](https://togithub.com/facebook/jest/pull/7404)) - `[jest-resolve]` Fix `isBuiltinModule` to support versions of node without `module.builtinModules` ([#7565](https://togithub.com/facebook/jest/pull/7565)) - `[babel-jest]` Set `cwd` to be resilient to it changing during the runtime of the tests ([#7574](https://togithub.com/facebook/jest/pull/7574)) - `[jest-snapshot]` Write and read snapshots from disk even if `fs` is mocked ([#7080](https://togithub.com/facebook/jest/pull/7080)) - `[jest-config]` Normalize `config.cwd` and `config.rootDir` using \`realpath ([#7598](https://togithub.com/facebook/jest/pull/7598)) - `[jest-environment-node]` Fix buffer property is not ArrayBuffer issue. ([#7626](https://togithub.com/facebook/jest/pull/7626)) - `[babel-plugin-jest-hoist]` Ignore TS type annotations when looking for out-of-scope references ([#7641](https://togithub.com/facebook/jest/pull/7641)) - `[jest-config]` Add name to project if one does not exist to pick correct resolver ([#5862](https://togithub.com/facebook/jest/pull/5862)) - `[jest-runtime]` Pass `watchPathIgnorePatterns` to Haste instance ([#7585](https://togithub.com/facebook/jest/pull/7585)) - `[jest-runtime]` Resolve mock files via Haste when using `require.resolve` ([#7687](https://togithub.com/facebook/jest/pull/7687)) ##### Chore & Maintenance - `[*]` \[**BREAKING**] Require Node.js 6+ for all packages ([#7258](https://togithub.com/facebook/jest/pull/7258)) - `[jest-util]` \[**BREAKING**] Remove long-deprecated globals for fake timers ([#7285](https://togithub.com/facebook/jest/pull/7285)) - `[*]` \[**BREAKING**] Upgrade to Micromatch 3 ([#6650](https://togithub.com/facebook/jest/pull/6650)) - `[*]` \[**BREAKING**] Remove regenerator-runtime injection ([#7595](https://togithub.com/facebook/jest/pull/7595)) - `[jest-worker]` Disable `worker_threads` to avoid issues with libraries to ready for it ([#7681](https://togithub.com/facebook/jest/pull/7681)) - `[docs]` Fix message property in custom matcher example to return a function instead of a constant. ([#7426](https://togithub.com/facebook/jest/pull/7426)) - `[jest-circus]` Standardize file naming in `jest-circus` ([#7301](https://togithub.com/facebook/jest/pull/7301)) - `[docs]` Add synchronous test.each setup ([#7150](https://togithub.com/facebook/jest/pull/7150)) - `[docs]` Add `this.extend` to the Custom Matchers API reference ([#7130](https://togithub.com/facebook/jest/pull/7130)) - `[docs]` Fix default value for `coverageReporters` value in configuration docs ([#7126](https://togithub.com/facebook/jest/pull/7126)) - `[docs]` Add link for jest-extended in expect docs ([#7078](https://togithub.com/facebook/jest/pull/7078)) - `[jest-util]` Add ErrorWithStack class ([#7067](https://togithub.com/facebook/jest/pull/7067)) - `[docs]` Document `--runTestsByPath` CLI parameter ([#7046](https://togithub.com/facebook/jest/pull/7046)) - `[docs]` Fix babel-core installation instructions ([#6745](https://togithub.com/facebook/jest/pull/6745)) - `[docs]` Explain how to rewrite assertions to avoid large irrelevant diff ([#6971](https://togithub.com/facebook/jest/pull/6971)) - `[examples]` add example using Babel 7 ([#6983](https://togithub.com/facebook/jest/pull/6983)) - `[docs]` Replace shallow equality with referential identity in `ExpectAPI.md` ([#6991](https://togithub.com/facebook/jest/pull/6991)) - `[jest-changed-files]` Refactor to use `execa` over `child_process` ([#6987](https://togithub.com/facebook/jest/pull/6987)) - `[*]` Bump dated dependencies ([#6978](https://togithub.com/facebook/jest/pull/6978)) - `[scripts]` Don’t make empty sub-folders for ignored files in build folder ([#7001](https://togithub.com/facebook/jest/pull/7001)) - `[docs]` Add missing export statement in `puppeteer_environment.js` under `docs/Puppeteer.md` ([#7127](https://togithub.com/facebook/jest/pull/7127)) - `[docs]` Removed useless expect.assertions in `TestingAsyncCode.md` ([#7131](https://togithub.com/facebook/jest/pull/7131)) - `[docs]` Remove references to `@providesModule` which isn't supported anymore ([#7147](https://togithub.com/facebook/jest/pull/7147)) - `[docs]` Update `setupFiles` documentation for clarity ([#7187](https://togithub.com/facebook/jest/pull/7187)) - `[docs]` Change `require.require*` to `jest.require*` ([#7210](https://togithub.com/facebook/jest/pull/7210)) - `[jest-circus]` Add readme.md ([#7198](https://togithub.com/facebook/jest/pull/7198)) - `[jest-editor-support]` Remove from the repository ([#7232](https://togithub.com/facebook/jest/pull/7232)) - `[jest-test-typescript-parser]` Remove from the repository ([#7232](https://togithub.com/facebook/jest/pull/7232)) - `[tests]` Free tests from the dependency on value of FORCE_COLOR ([#6585](https://togithub.com/facebook/jest/pull/6585/files)) - `[*]` Add babel plugin to make sure Jest is unaffected by fake Promise implementations ([#7225](https://togithub.com/facebook/jest/pull/7225)) - `[docs]` Add correct default value for `testUrl` config option ([#7277](https://togithub.com/facebook/jest/pull/7277)) - `[docs]` Remove duplicate code in `MockFunctions` ([#7297](https://togithub.com/facebook/jest/pull/7297)) - `[*]` Add check for Facebook copyright headers on CI ([#7370](https://togithub.com/facebook/jest/pull/7370)) - `[*]` Update Facebook copyright headers ([#7589](https://togithub.com/facebook/jest/pull/7589)) - `[jest-haste-map]` Refactor `dependencyExtractor` and tests ([#7385](https://togithub.com/facebook/jest/pull/7385)) - `[docs]` Clearify conditional setting of `NODE_ENV` ([#7369](https://togithub.com/facebook/jest/pull/7369)) - `[docs]` Clarify conditional setting of `NODE_ENV` ([#7369](https://togithub.com/facebook/jest/pull/7369)) - `[*]` Standardize file names ([#7316](https://togithub.com/facebook/jest/pull/7316), [#7266](https://togithub.com/facebook/jest/pull/7266), [#7238](https://togithub.com/facebook/jest/pull/7238), [#7314](https://togithub.com/facebook/jest/pull/7314), [#7467](https://togithub.com/facebook/jest/pull/7467), [#7464](https://togithub.com/facebook/jest/pull/7464)), [#7471](https://togithub.com/facebook/jest/pull/7471)) - `[docs]` Add `testPathIgnorePatterns` in CLI documentation ([#7440](https://togithub.com/facebook/jest/pull/7440)) - `[docs]` Removed misleading text about `describe()` grouping together tests into a test suite ([#7434](https://togithub.com/facebook/jest/pull/7434)) - `[diff-sequences]` Add performance benchmark to package ([#7603](https://togithub.com/facebook/jest/pull/7603)) - `[*]` Replace as many `Object.assign` with object spread as possible ([#7627](https://togithub.com/facebook/jest/pull/7627)) - `[ci]` Initial support for Azure Pipelines ([#7556](https://togithub.com/facebook/jest/pull/7556)) ##### Performance - `[jest-mock]` Improve `getType` function performance. ([#7159](https://togithub.com/facebook/jest/pull/7159)) ### [`v23.6.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2360) [Compare Source](https://togithub.com/jestjs/jest/compare/v23.5.0...v23.6.0) ##### Features - `[jest-cli]` Add `changedSince` to allowed watch mode configs ([#6955](https://togithub.com/facebook/jest/pull/6955)) - `[babel-jest]` Add support for `babel.config.js` added in Babel 7.0.0 ([#6911](https://togithub.com/facebook/jest/pull/6911)) - `[jest-resolve]` Add support for an experimental `mapper` option (Watchman crawler only) that adds virtual files to the Haste map ([#6940](https://togithub.com/facebook/jest/pull/6940)) ##### Fixes - `[jest-resolve]` Only resolve realpath once in try-catch ([#6925](https://togithub.com/facebook/jest/pull/6925)) - `[expect]` Fix TypeError in `toBeInstanceOf` on `null` or `undefined` ([#6912](https://togithub.com/facebook/jest/pull/6912)) - `[jest-jasmine2]` Throw a descriptive error if the first argument supplied to a hook was not a function ([#6917](https://togithub.com/facebook/jest/pull/6917)) and ([#6931](https://togithub.com/facebook/jest/pull/6931)) - `[jest-circus]` Throw a descriptive error if the first argument supplied to a hook was not a function ([#6917](https://togithub.com/facebook/jest/pull/6917)) and ([#6931](https://togithub.com/facebook/jest/pull/6931)) - `[expect]` Fix variadic custom asymmetric matchers ([#6898](https://togithub.com/facebook/jest/pull/6898)) - `[jest-cli]` Fix incorrect `testEnvironmentOptions` warning ([#6852](https://togithub.com/facebook/jest/pull/6852)) - `[jest-each]` Prevent done callback being supplied to describe ([#6843](https://togithub.com/facebook/jest/pull/6843)) - `[jest-config]` Better error message for a case when a preset module was found, but no `jest-preset.js` or `jest-preset.json` at the root ([#6863](https://togithub.com/facebook/jest/pull/6863)) - `[jest-haste-map]` Catch crawler error when unsuccessfully reading directories ([#6761](https://togithub.com/facebook/jest/pull/6761)) ##### Chore & Maintenance - `[docs]` Add custom toMatchSnapshot matcher docs ([#6837](https://togithub.com/facebook/jest/pull/6837)) - `[docs]` Improve the documentation regarding preset configuration ([#6864](https://togithub.com/facebook/jest/issues/6864)) - `[docs]` Clarify usage of `--projects` CLI option ([#6872](https://togithub.com/facebook/jest/pull/6872)) - `[docs]` Correct `failure-change` notification mode ([#6878](https://togithub.com/facebook/jest/pull/6878)) - `[scripts]` Don’t remove node_modules from subdirectories of presets in e2e tests ([#6948](https://togithub.com/facebook/jest/pull/6948)) - `[diff-sequences]` Double-check number of differences in tests ([#6953](https://togithub.com/facebook/jest/pull/6953)) ### [`v23.5.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2350) [Compare Source](https://togithub.com/jestjs/jest/compare/v23.4.2...v23.5.0) ##### Features - `[jest-cli]` Add package name to `NotifyReporter` notification ([#5898](https://togithub.com/facebook/jest/pull/5898)) - `[jest-runner]` print stack trace when `process.exit` is called from user code ([#6714](https://togithub.com/facebook/jest/pull/6714)) - `[jest-each]` introduces `%#` option to add index of the test to its title ([#6414](https://togithub.com/facebook/jest/pull/6414)) - `[pretty-format]` Support serializing `DocumentFragment` ([#6705](https://togithub.com/facebook/jest/pull/6705)) - `[jest-validate]` Add `recursive` and `recursiveBlacklist` options for deep config checks ([#6802](https://togithub.com/facebook/jest/pull/6802)) - `[jest-cli]` Check watch plugins for key conflicts ([#6697](https://togithub.com/facebook/jest/pull/6697)) ##### Fixes - `[jest-snapshot]` Mark snapshots as obsolete when moved to an inline snapshot ([#6773](https://togithub.com/facebook/jest/pull/6773)) - `[jest-config]` Fix `--coverage` with `--findRelatedTests` overwriting `collectCoverageFrom` options ([#6736](https://togithub.com/facebook/jest/pull/6736)) - `[jest-config]` Update default config for testURL from 'about:blank' to 'http://localhost' to address latest JSDOM security warning. ([#6792](https://togithub.com/facebook/jest/pull/6792)) - `[jest-cli]` Fix `testMatch` not working with negations ([#6648](https://togithub.com/facebook/jest/pull/6648)) - `[jest-cli]` Don't report promises as open handles ([#6716](https://togithub.com/facebook/jest/pull/6716)) - `[jest-each]` Add timeout support to parameterised tests ([#6660](https://togithub.com/facebook/jest/pull/6660)) - `[jest-cli]` Improve the message when running coverage while there are no files matching global threshold ([#6334](https://togithub.com/facebook/jest/pull/6334)) - `[jest-snapshot]` Correctly merge property matchers with the rest of the snapshot in `toMatchSnapshot`. ([#6528](https://togithub.com/facebook/jest/pull/6528)) - `[jest-snapshot]` Add error messages for invalid property matchers. ([#6528](https://togithub.com/facebook/jest/pull/6528)) - `[jest-cli]` Show open handles from inside test files as well ([#6263](https://togithub.com/facebook/jest/pull/6263)) - `[jest-haste-map]` Fix a problem where creating folders ending with `.js` could cause a crash ([#6818](https://togithub.com/facebook/jest/pull/6818)) ##### Chore & Maintenance - `[docs]` Document another option to avoid warnings with React 16 ([#5258](https://togithub.com/facebook/jest/issues/5258)) - `[docs]` Add note explaining when `jest.setTimeout` should be called ([#6817](https://togithub.com/facebook/jest/pull/6817/files)) - `[docs]` Fixed bug in example code ([#6828](https://togithub.com/facebook/jest/pull/6828)) ### [`v23.4.2`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2342) [Compare Source](https://togithub.com/jestjs/jest/compare/v23.4.1...v23.4.2) ##### Performance - `[jest-changed-files]` limit git and hg commands to specified roots ([#6732](https://togithub.com/facebook/jest/pull/6732)) ##### Fixes - `[jest-circus]` Fix retryTimes so errors are reset before re-running ([#6762](https://togithub.com/facebook/jest/pull/6762)) - `[docs]` Update `expect.objectContaining()` description ([#6754](https://togithub.com/facebook/jest/pull/6754)) - `[babel-jest]` Make `getCacheKey()` take into account `createTransformer` options ([#6699](https://togithub.com/facebook/jest/pull/6699)) - `[jest-jasmine2]` Use prettier through `require` instead of `localRequire`. Fixes `matchInlineSnapshot` where prettier dependencies like `path` and `fs` are mocked with `jest.mock`. ([#6776](https://togithub.com/facebook/jest/pull/6776)) - `[docs]` Fix contributors link ([#6711](https://togithub.com/facebook/jest/pull/6711)) - `[website]` Fix website versions page to link to correct language ([#6734](https://togithub.com/facebook/jest/pull/6734)) - `[expect]` Update `toContain` suggestion to contain equal message ([#6810](https://togithub.com/facebook/jest/pull/6810)) ### [`v23.4.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2341) [Compare Source](https://togithub.com/jestjs/jest/compare/v23.4.0...v23.4.1) ##### Features - `[jest-cli]` Watch plugins now have access to a broader range of global configuration options in their `updateConfigAndRun` callbacks, so they can provide a wider set of extra features ([#6473](https://togithub.com/facebook/jest/pull/6473)) - `[jest-snapshot]` `babel-traverse` is now passed to `jest-snapshot` explicitly to avoid unnecessary requires in every test ##### Fixes - `[jest-haste-map]` Optimize watchman crawler by using `glob` on initial query ([#6689](https://togithub.com/facebook/jest/pull/6689)) - `[pretty-format]` Fix formatting of invalid Date objects ([#6635](https://togithub.com/facebook/jest/pull/6635)) ### [`v23.4.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2340) [Compare Source](https://togithub.com/jestjs/jest/compare/v23.3.0...v23.4.0) ##### Features - `[jest-haste-map]` Add `computeDependencies` flag to avoid opening files if not needed ([#6667](https://togithub.com/facebook/jest/pull/6667)) - `[jest-runtime]` Support `require.resolve.paths` ([#6471](https://togithub.com/facebook/jest/pull/6471)) - `[jest-runtime]` Support `paths` option for `require.resolve` ([#6471](https://togithub.com/facebook/jest/pull/6471)) ##### Fixes - `[jest-runner]` Force parallel runs for watch mode, to avoid TTY freeze ([#6647](https://togithub.com/facebook/jest/pull/6647)) - `[jest-cli]` properly reprint resolver errors in watch mode ([#6407](https://togithub.com/facebook/jest/pull/6407)) - `[jest-cli]` Write configuration to stdout when the option was explicitly passed to Jest ([#6447](https://togithub.com/facebook/jest/pull/6447)) - `[jest-cli]` Fix regression on non-matching suites ([6657](https://togithub.com/facebook/jest/pull/6657)) - `[jest-runtime]` Roll back `micromatch` version to prevent regression when matching files ([#6661](https://togithub.com/facebook/jest/pull/6661)) ### [`v23.3.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2330) [Compare Source](https://togithub.com/jestjs/jest/compare/v23.2.0...v23.3.0) ##### Features - `[jest-cli]` Allow watch plugin to be configured ([#6603](https://togithub.com/facebook/jest/pull/6603)) - `[jest-snapshot]` Introduce `toMatchInlineSnapshot` and `toThrowErrorMatchingInlineSnapshot` matchers ([#6380](https://togithub.com/facebook/jest/pull/6380)) ##### Fixes - `[jest-regex-util]` Improve handling already escaped path separators on Windows ([#6523](https://togithub.com/facebook/jest/pull/6523)) - `[jest-cli]` Fix `testNamePattern` value with interactive snapshots ([#6579](https://togithub.com/facebook/jest/pull/6579)) - `[jest-cli]` Fix enter to interrupt watch mode ([#6601](https://togithub.com/facebook/jest/pull/6601)) ##### Chore & Maintenance - `[website]` Switch domain to