facebook/jest
### [`v25.1.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2510)
[Compare Source](https://togithub.com/facebook/jest/compare/ff9269be05fd8316e95232198fce3463bf2f270e...v25.1.0)
##### Features
- `[babel-plugin-jest-hoist]` Show codeframe on static hoisting issues ([#8865](https://togithub.com/facebook/jest/pull/8865))
- `[babel-plugin-jest-hoist]` Add `BigInt` to `WHITELISTED_IDENTIFIERS` ([#8382](https://togithub.com/facebook/jest/pull/8382))
- `[babel-preset-jest]` Add `@babel/plugin-syntax-bigint` ([#8382](https://togithub.com/facebook/jest/pull/8382))
- `[expect]` Add `BigInt` support to `toBeGreaterThan`, `toBeGreaterThanOrEqual`, `toBeLessThan` and `toBeLessThanOrEqual` ([#8382](https://togithub.com/facebook/jest/pull/8382))
- `[expect, jest-matcher-utils]` Display change counts in annotation lines ([#9035](https://togithub.com/facebook/jest/pull/9035))
- `[expect, jest-snapshot]` Support custom inline snapshot matchers ([#9278](https://togithub.com/facebook/jest/pull/9278))
- `[jest-config]` Throw the full error message and stack when a Jest preset is missing a dependency ([#8924](https://togithub.com/facebook/jest/pull/8924))
- `[jest-config]` [**BREAKING**] Set default display name color based on runner ([#8689](https://togithub.com/facebook/jest/pull/8689))
- `[jest-config]` Merge preset globals with project globals ([#9027](https://togithub.com/facebook/jest/pull/9027))
- `[jest-config]` Support `.cjs` config files ([#9291](https://togithub.com/facebook/jest/pull/9291))
- `[jest-config]` [**BREAKING**] Support `.mjs` config files ([#9431](https://togithub.com/facebook/jest/pull/9431))
- `[jest-core]` Support reporters as default exports ([#9161](https://togithub.com/facebook/jest/pull/9161))
- `[jest-core]` Support `--findRelatedTests` paths case insensitivity on Windows ([#8900](https://togithub.com/facebook/jest/issues/8900))
- `[jest-diff]` Add options for colors and symbols ([#8841](https://togithub.com/facebook/jest/pull/8841))
- `[jest-diff]` [**BREAKING**] Export as ECMAScript module ([#8873](https://togithub.com/facebook/jest/pull/8873))
- `[jest-diff]` Add `includeChangeCounts` and rename `Indicator` options ([#8881](https://togithub.com/facebook/jest/pull/8881))
- `[jest-diff]` Add `changeColor` and `patchColor` options ([#8911](https://togithub.com/facebook/jest/pull/8911))
- `[jest-diff]` Add `trailingSpaceFormatter` option and replace cyan with `commonColor` ([#8927](https://togithub.com/facebook/jest/pull/8927))
- `[jest-diff]` Add `firstOrLastEmptyLineReplacement` option and export 3 `diffLines` functions ([#8955](https://togithub.com/facebook/jest/pull/8955))
- `[jest-environment]` Add optional `getVmContext` next to `runScript` ([#9252](https://togithub.com/facebook/jest/pull/9252) & [#9428](https://togithub.com/facebook/jest/pull/9428))
- `[jest-environment-jsdom]` Add `fakeTimersLolex` ([#8925](https://togithub.com/facebook/jest/pull/8925))
- `[jest-environment-node]` Add `fakeTimersLolex` ([#8925](https://togithub.com/facebook/jest/pull/8925))
- `[jest-environment-node]` Add `queueMicrotask` ([#9140](https://togithub.com/facebook/jest/pull/9140))
- `[jest-environment-node]` Implement `getVmContext` ([#9252](https://togithub.com/facebook/jest/pull/9252) & [#9428](https://togithub.com/facebook/jest/pull/9428))
- `[@jest/fake-timers]` Add Lolex as implementation of fake timers ([#8897](https://togithub.com/facebook/jest/pull/8897))
- `[jest-get-type]` Add `BigInt` support. ([#8382](https://togithub.com/facebook/jest/pull/8382))
- `[jest-matcher-utils]` Add `BigInt` support to `ensureNumbers` `ensureActualIsNumber`, `ensureExpectedIsNumber` ([#8382](https://togithub.com/facebook/jest/pull/8382))
- `[jest-matcher-utils]` Ignore highlighting matched asymmetricMatcher in diffs ([#9257](https://togithub.com/facebook/jest/pull/9257))
- `[jest-reporters]` Export utils for path formatting ([#9162](https://togithub.com/facebook/jest/pull/9162))
- `[jest-reporters]` Provides global coverage thresholds as watermarks for istanbul ([#9416](https://togithub.com/facebook/jest/pull/9416))
- `[jest-runner]` Warn if a worker had to be force exited ([#8206](https://togithub.com/facebook/jest/pull/8206))
- `[jest-runtime]` [**BREAKING**] Do not export `ScriptTransformer` - it can be imported from `@jest/transform` instead ([#9256](https://togithub.com/facebook/jest/pull/9256))
- `[jest-runtime]` Use `JestEnvironment.getVmContext` and `vm.compileFunction` if available to avoid the module wrapper ([#9252](https://togithub.com/facebook/jest/pull/9252) & [#9428](https://togithub.com/facebook/jest/pull/9428))
- `[jest-snapshot]` Display change counts in annotation lines ([#8982](https://togithub.com/facebook/jest/pull/8982))
- `[jest-snapshot]` [**BREAKING**] Improve report when the matcher has properties ([#9104](https://togithub.com/facebook/jest/pull/9104))
- `[jest-snapshot]` Improve colors when snapshots are updatable ([#9132](https://togithub.com/facebook/jest/pull/9132))
- `[jest-snapshot]` Ignore indentation for most serialized objects ([#9203](https://togithub.com/facebook/jest/pull/9203))
- `[jest-transform]` Create `createTranspilingRequire` function for easy transpiling modules ([#9194](https://togithub.com/facebook/jest/pull/9194))
- `[jest-transform]` [**BREAKING**] Return transformed code as a string, do not wrap in `vm.Script` ([#9253](https://togithub.com/facebook/jest/pull/9253))
- `[@jest/test-result]` Create method to create empty `TestResult` ([#8867](https://togithub.com/facebook/jest/pull/8867))
- `[jest-worker]` [**BREAKING**] Return a promise from `end()`, resolving with the information whether workers exited gracefully ([#8206](https://togithub.com/facebook/jest/pull/8206))
- `[jest-reporters]` Transform file paths into hyperlinks ([#8980](https://togithub.com/facebook/jest/pull/8980))
##### Fixes
- `[expect]` Display `expectedDiff` more carefully in `toBeCloseTo` ([#8389](https://togithub.com/facebook/jest/pull/8389))
- `[expect]` Avoid incorrect difference for subset when `toMatchObject` fails ([#9005](https://togithub.com/facebook/jest/pull/9005))
- `[expect]` Consider all RegExp flags for equality ([#9167](https://togithub.com/facebook/jest/pull/9167))
- `[expect]` [**BREAKING**] Consider primitives different from wrappers instantiated with `new` ([#9167](https://togithub.com/facebook/jest/pull/9167))
- `[expect]` Prevent maintaining RegExp state between multiple tests ([#9289](https://togithub.com/facebook/jest/pull/9289))
- `[expect]` Fix subsetEquality false circular reference detection ([#9322](https://togithub.com/facebook/jest/pull/9322))
- `[jest-config]` Use half of the available cores when `watchAll` mode is enabled ([#9117](https://togithub.com/facebook/jest/pull/9117))
- `[jest-config]` Fix Jest multi project runner still cannot handle exactly one project ([#8894](https://togithub.com/facebook/jest/pull/8894))
- `[jest-console]` Add missing `console.group` calls to `NullConsole` ([#9024](https://togithub.com/facebook/jest/pull/9024))
- `[jest-core]` Don't include unref'd timers in --detectOpenHandles results ([#8941](https://togithub.com/facebook/jest/pull/8941))
- `[jest-core]` Limit number of workers when creating haste maps in projects ([#9259](https://togithub.com/facebook/jest/pull/9259))
- `[jest-diff]` Do not inverse format if line consists of one change ([#8903](https://togithub.com/facebook/jest/pull/8903))
- `[jest-diff]` Rename some new options and change their default values ([#9077](https://togithub.com/facebook/jest/pull/9077))
- `[jest-environment-node]` Fix `TextEncoder.encode` not referencing same global `Uint8Array` constructor ([#9261](https://togithub.com/facebook/jest/pull/9261))
- `[jest-fake-timers]` `getTimerCount` will not include cancelled immediates ([#8764](https://togithub.com/facebook/jest/pull/8764))
- `[jest-fake-timers]` Support `util.promisify` on `setTimeout` ([#9180](https://togithub.com/facebook/jest/pull/9180))
- `[jest-jasmine2, jest-circus]` Improve error message format for Node's assert.fail ([#9262](https://togithub.com/facebook/jest/pull/9262))
- `[jest-leak-detector]` [**BREAKING**] Use `weak-napi` instead of `weak` package ([#8686](https://togithub.com/facebook/jest/pull/8686))
- `[jest-mock]` Fix for mockReturnValue overriding mockImplementationOnce ([#8398](https://togithub.com/facebook/jest/pull/8398))
- `[jest-reporters]` Make node-notifier an optional dependency ([#8918](https://togithub.com/facebook/jest/pull/8918))
- `[jest-reporters]` Make all arguments to methods on `BaseReporter` optional ([#9159](https://togithub.com/facebook/jest/pull/9159))
- `[jest-resolve]`: Set MODULE_NOT_FOUND as error code when module is not resolved from paths ([#8487](https://togithub.com/facebook/jest/pull/8487))
- `[jest-resolve-dependencies]` Handle dynamic dependencies correctly even when using module maps ([#9303](https://togithub.com/facebook/jest/pull/9303))
- `[jest-snapshot]` Remove only the added newlines in multiline snapshots ([#8859](https://togithub.com/facebook/jest/pull/8859))
- `[jest-snapshot]` Distinguish empty string from external snapshot not written ([#8880](https://togithub.com/facebook/jest/pull/8880))
- `[jest-snapshot]` [**BREAKING**] Distinguish empty string from internal snapshot not written ([#8898](https://togithub.com/facebook/jest/pull/8898))
- `[jest-snapshot]` [**BREAKING**] Remove `report` method and throw matcher errors ([#9049](https://togithub.com/facebook/jest/pull/9049))
- `[jest-snapshot]` Omit irrelevant `received` properties when property matchers fail ([#9198](https://togithub.com/facebook/jest/pull/9198))
- `[jest-transform]` Properly cache transformed files across tests ([#8890](https://togithub.com/facebook/jest/pull/8890))
- `[jest-transform]` Don't fail the test suite when a generated source map is invalid ([#9058](https://togithub.com/facebook/jest/pull/9058))
- `[jest-types]` [**BREAKING**] Use less `null | undefined` in config types ([#9200](https://togithub.com/facebook/jest/pull/9200))
- `[jest-util]` Allow querying process.domain ([#9136](https://togithub.com/facebook/jest/pull/9136))
- `[pretty-format]` Correctly detect memoized elements ([#9196](https://togithub.com/facebook/jest/pull/9196))
- `[pretty-format]` Fix pretty-format to respect displayName on forwardRef ([#9422](https://togithub.com/facebook/jest/pull/9422))
##### Chore & Maintenance
- `[*]` [**BREAKING**] Drop support for Node 6 ([#8455](https://togithub.com/facebook/jest/pull/8455))
- `[*]` Add Node 12 to CI ([#8411](https://togithub.com/facebook/jest/pull/8411))
- `[*]` [**BREAKING**] Upgrade to Micromatch v4 ([#8852](https://togithub.com/facebook/jest/pull/8852))
- `[babel-plugin-jest-hoist]` [**BREAKING**] Use ESM exports ([#8874](https://togithub.com/facebook/jest/pull/8874))
- `[docs]` Add alias and optional boolean value to `coverage` CLI Reference ([#8996](https://togithub.com/facebook/jest/pull/8996))
- `[docs]` Fix broken link pointing to legacy JS file in "Snapshot Testing".
- `[docs]` Add `setupFilesAfterEnv` and `jest.setTimeout` example ([#8971](https://togithub.com/facebook/jest/pull/8971))
- `[expect]` Test that `toStrictEqual` is equivalent to Node's `assert.deepStrictEqual` ([#9167](https://togithub.com/facebook/jest/pull/9167))
- `[jest]` [**BREAKING**] Use ESM exports ([#8874](https://togithub.com/facebook/jest/pull/8874))
- `[jest-cli]` [**BREAKING**] Use ESM exports ([#8874](https://togithub.com/facebook/jest/pull/8874))
- `[jest-cli]` [**BREAKING**] Remove re-exports from `@jest/core` ([#8874](https://togithub.com/facebook/jest/pull/8874))
- `[jest-diff]` Remove the need to export `splitLines0` function ([#9151](https://togithub.com/facebook/jest/pull/9151))
- `[jest-environment-jsdom]` [**BREAKING**] Upgrade JSDOM from v11 to v15 ([#8851](https://togithub.com/facebook/jest/pull/8851))
- `[jest-haste-map]` Upgrade to `fsevents@2` ([#9215](https://togithub.com/facebook/jest/pull/9215))
- `[jest-reporters]` [**BREAKING**] Upgrade Istanbul dependencies, which are used for code coverage ([#9192](https://togithub.com/facebook/jest/pull/9192))
- `[jest-util]` [**BREAKING**] Remove deprecated exports ([#8863](https://togithub.com/facebook/jest/pull/8863))
- `[jest-validate]` [**BREAKING**] Use ESM exports ([#8874](https://togithub.com/facebook/jest/pull/8874))
- `[jest-types]` Mark `InitialOptions` as `Partial` ([#8848](https://togithub.com/facebook/jest/pull/8848))
- `[jest-config]` Refactor `normalize` to be more type safe ([#8848](https://togithub.com/facebook/jest/pull/8848))
##### Performance
### [`v25.0.0`](https://togithub.com/facebook/jest/compare/v24.9.0...ff9269be05fd8316e95232198fce3463bf2f270e)
[Compare Source](https://togithub.com/facebook/jest/compare/v24.9.0...ff9269be05fd8316e95232198fce3463bf2f270e)
### [`v24.9.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2490)
[Compare Source](https://togithub.com/facebook/jest/compare/v24.8.0...v24.9.0)
##### Features
- `[expect]` Highlight substring differences when matcher fails, part 1 ([#8448](https://togithub.com/facebook/jest/pull/8448))
- `[expect]` Highlight substring differences when matcher fails, part 2 ([#8528](https://togithub.com/facebook/jest/pull/8528))
- `[expect]` Improve report when mock-spy matcher fails, part 1 ([#8640](https://togithub.com/facebook/jest/pull/8640))
- `[expect]` Improve report when mock-spy matcher fails, part 2 ([#8649](https://togithub.com/facebook/jest/pull/8649))
- `[expect]` Improve report when mock-spy matcher fails, part 3 ([#8697](https://togithub.com/facebook/jest/pull/8697))
- `[expect]` Improve report when mock-spy matcher fails, part 4 ([#8710](https://togithub.com/facebook/jest/pull/8710))
- `[expect]` Throw matcher error when received cannot be jasmine spy ([#8747](https://togithub.com/facebook/jest/pull/8747))
- `[expect]` Improve report when negative CalledWith assertion fails ([#8755](https://togithub.com/facebook/jest/pull/8755))
- `[expect]` Improve report when positive CalledWith assertion fails ([#8771](https://togithub.com/facebook/jest/pull/8771))
- `[expect]` Display equal values for ReturnedWith similar to CalledWith ([#8791](https://togithub.com/facebook/jest/pull/8791))
- `[expect, jest-snapshot]` Change color from green for some args in matcher hints ([#8812](https://togithub.com/facebook/jest/pull/8812))
- `[jest-snapshot]` Highlight substring differences when matcher fails, part 3 ([#8569](https://togithub.com/facebook/jest/pull/8569))
- `[jest-core]` Improve report when snapshots are obsolete ([#8448](https://togithub.com/facebook/jest/pull/8665))
- `[jest-cli]` Improve chai support (with detailed output, to match jest exceptions) ([#8454](https://togithub.com/facebook/jest/pull/8454))
- `[*]` Manage the global timeout with `--testTimeout` command line argument. ([#8456](https://togithub.com/facebook/jest/pull/8456))
- `[pretty-format]` Render custom displayName of memoized components ([#8546](https://togithub.com/facebook/jest/pull/8546))
- `[jest-validate]` Allow `maxWorkers` as part of the `jest.config.js` ([#8565](https://togithub.com/facebook/jest/pull/8565))
- `[jest-runtime]` Allow passing configuration objects to transformers ([#7288](https://togithub.com/facebook/jest/pull/7288))
- `[@jest/core, @jest/test-sequencer]` Support async sort in custom `testSequencer` ([#8642](https://togithub.com/facebook/jest/pull/8642))
- `[jest-runtime, @jest/fake-timers]` Add `jest.advanceTimersToNextTimer` ([#8713](https://togithub.com/facebook/jest/pull/8713))
- `[@jest-transform]` Extract transforming require logic within `jest-core` into `@jest-transform` ([#8756](https://togithub.com/facebook/jest/pull/8756))
- `[jest-matcher-utils]` Add color options to `matcherHint` ([#8795](https://togithub.com/facebook/jest/pull/8795))
- `[jest-circus/jest-jasmine2]` Give clearer output for Node assert errors ([#8792](https://togithub.com/facebook/jest/pull/8792))
- `[jest-runner]` Export all types in the type signature of `jest-runner` ([#8825](https://togithub.com/facebook/jest/pull/8825))
##### Fixes
- `[jest-cli]` Detect side-effect only imports when running `--onlyChanged` or `--changedSince` ([#8670](https://togithub.com/facebook/jest/pull/8670))
- `[jest-cli]` Allow `--maxWorkers` to work with % input again ([#8565](https://togithub.com/facebook/jest/pull/8565))
- `[babel-plugin-jest-hoist]` Expand list of whitelisted globals in global mocks ([#8429](https://togithub.com/facebook/jest/pull/8429))
- `[jest-core]` Make watch plugin initialization errors look nice ([#8422](https://togithub.com/facebook/jest/pull/8422))
- `[jest-snapshot]` Prevent inline snapshots from drifting when inline snapshots are updated ([#8492](https://togithub.com/facebook/jest/pull/8492))
- `[jest-haste-map]` Don't throw on missing mapper in Node crawler ([#8558](https://togithub.com/facebook/jest/pull/8558))
- `[jest-core]` Fix incorrect `passWithNoTests` warning ([#8595](https://togithub.com/facebook/jest/pull/8595))
- `[jest-snapshots]` Fix test retries that contain snapshots ([#8629](https://togithub.com/facebook/jest/pull/8629))
- `[jest-mock]` Fix incorrect assignments when restoring mocks in instances where they originally didn't exist ([#8631](https://togithub.com/facebook/jest/pull/8631))
- `[expect]` Fix stack overflow when matching objects with circular references ([#8687](https://togithub.com/facebook/jest/pull/8687))
- `[jest-haste-map]` Workaround a node >=12.5.0 bug that causes the process not to exit after tests have completed and cancerous memory growth ([#8787](https://togithub.com/facebook/jest/pull/8787))
##### Chore & Maintenance
- `[docs]` Replace FlowType with TypeScript in CONTRIBUTING.MD code conventions
- `[jest-leak-detector]` remove code repeat ([#8438](https://togithub.com/facebook/jest/pull/8438))
- `[docs]` Add example to `jest.requireActual` ([#8482](https://togithub.com/facebook/jest/pull/8482))
- `[docs]` Add example to `jest.mock` for mocking ES6 modules with the `factory` parameter ([#8550](https://togithub.com/facebook/jest/pull/8550))
- `[docs]` Add information about using `jest.doMock` with ES6 imports ([#8573](https://togithub.com/facebook/jest/pull/8573))
- `[docs]` Fix variable name in custom-matcher-api code example ([#8582](https://togithub.com/facebook/jest/pull/8582))
- `[docs]` Fix example used in custom environment docs ([#8617](https://togithub.com/facebook/jest/pull/8617))
- `[docs]` Updated react tutorial to refer to new package of react-testing-library ([@testing-library/react](https://togithub.com/testing-library/react)) ([#8753](https://togithub.com/facebook/jest/pull/8753))
- `[docs]` Updated imports of react-testing-library to [@testing-library/react](https://togithub.com/testing-library/react) in website ([#8757](https://togithub.com/facebook/jest/pull/8757))
- `[jest-core]` Add `getVersion` (moved from `jest-cli`) ([#8706](https://togithub.com/facebook/jest/pull/8706))
- `[docs]` Fix MockFunctions example that was using toContain instead of toContainEqual ([#8765](https://togithub.com/facebook/jest/pull/8765))
- `[*]` Make sure copyright header comment includes license ([#8783](https://togithub.com/facebook/jest/pull/8783))
- `[*]` Check copyright and license as one joined substring ([#8815](https://togithub.com/facebook/jest/pull/8815))
- `[docs]` Fix WatchPlugins `jestHooks.shouldRunTestSuite` example that receives an object ([#8784](https://togithub.com/facebook/jest/pull/8784))
- `[*]` Enforce LF line endings ([#8809](https://togithub.com/facebook/jest/pull/8809))
- `[pretty-format]` Delete obsolete link and simplify structure in README ([#8824](https://togithub.com/facebook/jest/pull/8824))
- `[docs]` Fix broken transform link on webpack page ([#9155](https://togithub.com/facebook/jest/pull/9155))
##### Performance
- `[jest-watcher]` Minor optimization for JestHook ([#8746](https://togithub.com/facebook/jest/pull/8746))
- `[@jest/reporters]` Prevent runaway CPU useage with `--notify` on macOS ([#8830](https://togithub.com/facebook/jest/issues/8830))
### [`v24.8.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2480)
[Compare Source](https://togithub.com/facebook/jest/compare/v24.7.1...v24.8.0)
##### Features
- `[jest-circus]` Bind to Circus events via an optional event handler on any custom env ([#8344](https://togithub.com/facebook/jest/pull/8344))
- `[expect]` Improve report when matcher fails, part 15 ([#8281](https://togithub.com/facebook/jest/pull/8281))
- `[jest-cli]` Update `--forceExit` and "did not exit for one second" message colors ([#8329](https://togithub.com/facebook/jest/pull/8329))
- `[expect]` Improve report when matcher fails, part 16 ([#8306](https://togithub.com/facebook/jest/pull/8306))
- `[jest-runner]` Pass docblock pragmas to TestEnvironment constructor ([#8320](https://togithub.com/facebook/jest/pull/8320))
- `[docs]` Add DynamoDB guide ([#8319](https://togithub.com/facebook/jest/pull/8319))
- `[expect]` Improve report when matcher fails, part 17 ([#8349](https://togithub.com/facebook/jest/pull/8349))
- `[expect]` Improve report when matcher fails, part 18 ([#8356](https://togithub.com/facebook/jest/pull/8356))
- `[expect]` Improve report when matcher fails, part 19 ([#8367](https://togithub.com/facebook/jest/pull/8367))
##### Fixes
- `[jest-each]` Fix bug with placeholder values ([#8289](https://togithub.com/facebook/jest/pull/8289))
- `[jest-snapshot]` Inline snapshots: do not indent empty lines ([#8277](https://togithub.com/facebook/jest/pull/8277))
- `[@jest/runtime, @jest/transform]` Allow custom transforms for JSON dependencies ([#2578](https://togithub.com/facebook/jest/pull/2578))
- `[jest-core]` Make `detectOpenHandles` imply `runInBand` ([#8283](https://togithub.com/facebook/jest/pull/8283))
- `[jest-haste-map]` Fix the `mapper` option which was incorrectly ignored ([#8299](https://togithub.com/facebook/jest/pull/8299))
- `[jest-jasmine2]` Fix describe return value warning being shown if the describe function throws ([#8335](https://togithub.com/facebook/jest/pull/8335))
- `[jest-environment-jsdom]` Re-declare global prototype of JSDOMEnvironment ([#8352](https://togithub.com/facebook/jest/pull/8352))
- `[jest-snapshot]` Handle arrays when merging snapshots ([#7089](https://togithub.com/facebook/jest/pull/7089))
- `[expect]` Extract names of async and generator functions ([#8362](https://togithub.com/facebook/jest/pull/8362))
- `[jest-runtime]` Fix virtual mocks not being unmockable after previously being mocked ([#8396](https://togithub.com/facebook/jest/pull/8396))
- `[jest-transform]` Replace special characters in transform cache filenames to support Windows ([#8353](https://togithub.com/facebook/jest/pull/8353))
- `[jest-config]` Allow exactly one project ([#7498](https://togithub.com/facebook/jest/pull/7498))
##### Chore & Maintenance
- `[expect]` Fix label and add opposite assertion for toEqual tests ([#8288](https://togithub.com/facebook/jest/pull/8288))
- `[docs]` Mention Jest MongoDB Preset ([#8318](https://togithub.com/facebook/jest/pull/8318))
- `[@jest/reporters]` Migrate away from `istanbul-api` ([#8294](https://togithub.com/facebook/jest/pull/8294))
- `[*]` Delete obsolete emails tag from header comment in test files ([#8377](https://togithub.com/facebook/jest/pull/8377))
- `[expect]` optimize compare nodes ([#8368](https://togithub.com/facebook/jest/pull/8368))
- `[docs]` Fix typo in MockFunctionAPI.md ([#8406](https://togithub.com/facebook/jest/pull/8406))
- `[LICENSE]` Follow copyright header guidelines and delete For Jest software ([#8428](https://togithub.com/facebook/jest/pull/8428))
##### Performance
- `[jest-runtime]` Fix module registry memory leak ([#8282](https://togithub.com/facebook/jest/pull/8282))
- `[jest-resolve]` optimize resolve module path ([#8388](https://togithub.com/facebook/jest/pull/8388))
- `[jest-resolve]` cache current directory ([#8412](https://togithub.com/facebook/jest/pull/8412))
- `[jest-get-type]` Simplify checking for primitive ([#8416](https://togithub.com/facebook/jest/pull/8416))
### [`v24.7.1`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2471)
[Compare Source](https://togithub.com/facebook/jest/compare/v24.7.0...v24.7.1)
##### Fixes
- `[@jest/config]` Normalize `testSequencer` to its absolute path ([#8267](https://togithub.com/facebook/jest/pull/8267))
- `[@jest/console]` Print to stderr when calling `console.error`, `console.warn` or `console.assert` using the `jest-runtime` CLI ([#8261](https://togithub.com/facebook/jest/pull/8261))
### [`v24.7.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2470)
[Compare Source](https://togithub.com/facebook/jest/compare/v24.6.0...v24.7.0)
##### Features
- `[@jest/core, @jest/test-sequencer]` Move `testSequencer` to individual package `@jest/test-sequencer` ([#8223](https://togithub.com/facebook/jest/pull/8223))
- `[@jest/core, jest-cli, jest-config]` Add option `testSequencer` allow user use custom sequencer. ([#8223](https://togithub.com/facebook/jest/pull/8223))
##### Fixes
- `[expect]` Add negative equality tests for iterables ([#8260](https://togithub.com/facebook/jest/pull/8260))
- `[jest-haste-map]` Resolve fs watcher EMFILE error ([#8258](https://togithub.com/facebook/jest/pull/8258))
##### Chore & Maintenance
- `[expect]` Remove repetition of matcherName and options in matchers ([#8224](https://togithub.com/facebook/jest/pull/8224))
##### Performance
### [`v24.6.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2460)
[Compare Source](https://togithub.com/facebook/jest/compare/v24.5.0...v24.6.0)
##### Features
- `[expect]`: Improve report when matcher fails, part 13 ([#8077](https://togithub.com/facebook/jest/pull/8077))
- `[@jest/core]` Filter API pre-filter setup hook ([#8142](https://togithub.com/facebook/jest/pull/8142))
- `[jest-snapshot]` Improve report when matcher fails, part 14 ([#8132](https://togithub.com/facebook/jest/pull/8132))
- `[@jest/reporter]` Display todo and skip test descriptions when verbose is true ([#8038](https://togithub.com/facebook/jest/pull/8038))
- `[jest-runner]` Support default exports for test environments ([#8163](https://togithub.com/facebook/jest/pull/8163))
- `[pretty-format]` Support React.Suspense ([#8180](https://togithub.com/facebook/jest/pull/8180))
- `[jest-snapshot]` Indent inline snapshots ([#8198](https://togithub.com/facebook/jest/pull/8198))
- `[jest-config]` Support colors in `displayName` configuration ([#8025](https://togithub.com/facebook/jest/pull/8025))
##### Fixes
- `[jest-circus]` Fix test retries with beforeAll/beforeEach failures ([#8227](https://togithub.com/facebook/jest/pull/8227))
- `[expect]` Fix circular references in iterable equality ([#8160](https://togithub.com/facebook/jest/pull/8160))
- `[jest-changed-files]` Change method of obtaining git root ([#8052](https://togithub.com/facebook/jest/pull/8052))
- `[jest-each]` Fix test function type ([#8145](https://togithub.com/facebook/jest/pull/8145))
- `[jest-fake-timers]` `getTimerCount` not taking immediates and ticks into account ([#8139](https://togithub.com/facebook/jest/pull/8139))
- `[jest-runtime]` Allow json file as manual mock ([#8159](https://togithub.com/facebook/jest/pull/8159))
- `[pretty-format]` Print `BigInt` as a readable number instead of `{}` ([#8138](https://togithub.com/facebook/jest/pull/8138))
- `[jest-core]` Fix ability to transform dependencies required from globalSetup script ([#8143](https://togithub.com/facebook/jest/pull/8143))
- `[@jest/reporters]` Fix Cannot read property converageData of null ([#8168](https://togithub.com/facebook/jest/pull/8168))
- `[jest-worker]` `JEST_WORKER_ID` starts at 1 ([#8205](https://togithub.com/facebook/jest/pull/8205))
- `[jest-config]` Use default cwd even if config contains a cwd property ([#7923](https://togithub.com/facebook/jest/pull/7923))
- `[jest-resolve-dependencies]`: Remove internal peer dependencies ([#8215](https://togithub.com/facebook/jest/pull/8215))
- `[jest-resolve]`: Remove internal peer dependencies ([#8215](https://togithub.com/facebook/jest/pull/8215))
- `[jest-snapshot]`: Remove internal peer dependencies ([#8215](https://togithub.com/facebook/jest/pull/8215))
- `[jest-resolve]` Fix requireActual with moduleNameMapper ([#8210](https://togithub.com/facebook/jest/pull/8210))
- `[jest-haste-map]` Fix haste map duplicate detection in watch mode ([#8237](https://togithub.com/facebook/jest/pull/8237))
##### Chore & Maintenance
- `[*]` Remove flow from code base ([#8061](https://togithub.com/facebook/jest/pull/8061))
- `[*]` Use property initializer syntax in Jest codebase ([#8117](https://togithub.com/facebook/jest/pull/8117))
- `[*]` Move [@types/node](https://togithub.com/types/node) to the root package.json ([#8129](https://togithub.com/facebook/jest/pull/8129))
- `[*]` Add documentation and tests related to auto-mocking ([#8099](https://togithub.com/facebook/jest/pull/8099))
- `[*]` Add `jest-watch-typeahead` as a devDependency ([#6449](https://togithub.com/facebook/jest/pull/6449))
- `[*]` upgrade TS to 3.4.0-dev\* for incremental builds ([#8149](https://togithub.com/facebook/jest/pull/8149))
- `[docs]` Improve description of optional arguments in ExpectAPI.md ([#8126](https://togithub.com/facebook/jest/pull/8126))
##### Performance
- `[jest-haste-map]` Optimize haste map data structure for serialization/deserialization ([#8171](https://togithub.com/facebook/jest/pull/8171))
- `[jest-haste-map]` Avoid persisting haste map or processing files when not changed ([#8153](https://togithub.com/facebook/jest/pull/8153))
- `[jest-core]` Improve performance of SearchSource.findMatchingTests by 15% ([#8184](https://togithub.com/facebook/jest/pull/8184))
- `[jest-resolve]` Optimize internal cache lookup performance ([#8183](https://togithub.com/facebook/jest/pull/8183))
- `[jest-core]` Dramatically improve watch mode performance ([#8201](https://togithub.com/facebook/jest/pull/8201))
- `[jest-transform]` Cache regular expression instead of creating anew for every file in ScriptTransformer ([#8235](https://togithub.com/facebook/jest/pull/8235))
- `[jest-core]` Fix memory leak of source map info and minor performance improvements ([#8234](https://togithub.com/facebook/jest/pull/8234))
- `[jest-console]` Fix memory leak by releasing console output reference when printed to stdout ([#8233](https://togithub.com/facebook/jest/pull/8233))
- `[jest-runtime]` Use `Map` instead of `Object` for module registry ([#8232](https://togithub.com/facebook/jest/pull/8232))
### [`v24.5.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2450)
[Compare Source](https://togithub.com/facebook/jest/compare/v24.4.0...v24.5.0)
##### Features
- `[jest-haste-map]` Expose `throwOnModuleCollision` via `config.haste` ([#8113](https://togithub.com/facebook/jest/pull/8113))
##### Chore & Maintenance
- `[expect]` Export `Matchers` interface from `expect` ([#8093](https://togithub.com/facebook/jest/pull/8093))
### [`v24.4.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2440)
[Compare Source](https://togithub.com/facebook/jest/compare/v24.3.1...v24.4.0)
##### Features
- `[jest-resolve]` Now supports PnP environment without plugins ([#8094](https://togithub.com/facebook/jest/pull/8094))
##### Fixes
- `[expect]` Compare DOM nodes even if there are multiple Node classes ([#8064](https://togithub.com/facebook/jest/pull/8064))
- `[jest-worker]` `worker.getStdout()` can return `null` ([#8083](https://togithub.com/facebook/jest/pull/8083))
- `[jest-worker]` Re-attach stdout and stderr from new processes/threads created after retries ([#8087](https://togithub.com/facebook/jest/pull/8087))
- `[jest-reporters/jest-runner]` Serialize `changedFiles` passed to workers ([#8090](https://togithub.com/facebook/jest/pull/8090))
##### Chore & Maintenance
- `[*]` Make sure to include `d.ts` files in the tarball when building ([#8086](https://togithub.com/facebook/jest/pull/8086))
### [`v24.3.1`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2431)
[Compare Source](https://togithub.com/facebook/jest/compare/v24.3.0...v24.3.1)
##### Fixes
- `[jest-cli]` export functions compatible with `import {default}` ([#8080](https://togithub.com/facebook/jest/pull/8080))
- `[jest-worker]`: Fix retries and error notification in workers ([#8079](https://togithub.com/facebook/jest/pull/8079))
##### Chore & Maintenance
- `[pretty-format]`: Use `react-is` instead of manual `$typeof` checks ([#8060](https://togithub.com/facebook/jest/pull/8060))
### [`v24.3.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2430)
[Compare Source](https://togithub.com/facebook/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 ([#7985](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), [#7809](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/facebook/jest/blob/master/CHANGELOG.md#2410)
[Compare Source](https://togithub.com/facebook/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/facebook/jest/blob/master/CHANGELOG.md#2400)
[Compare Source](https://togithub.com/facebook/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][#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 ([#76
Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you tick the rebase/retry checkbox below.
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
23.6.0
->25.1.0
Release Notes
facebook/jest
### [`v25.1.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2510) [Compare Source](https://togithub.com/facebook/jest/compare/ff9269be05fd8316e95232198fce3463bf2f270e...v25.1.0) ##### Features - `[babel-plugin-jest-hoist]` Show codeframe on static hoisting issues ([#8865](https://togithub.com/facebook/jest/pull/8865)) - `[babel-plugin-jest-hoist]` Add `BigInt` to `WHITELISTED_IDENTIFIERS` ([#8382](https://togithub.com/facebook/jest/pull/8382)) - `[babel-preset-jest]` Add `@babel/plugin-syntax-bigint` ([#8382](https://togithub.com/facebook/jest/pull/8382)) - `[expect]` Add `BigInt` support to `toBeGreaterThan`, `toBeGreaterThanOrEqual`, `toBeLessThan` and `toBeLessThanOrEqual` ([#8382](https://togithub.com/facebook/jest/pull/8382)) - `[expect, jest-matcher-utils]` Display change counts in annotation lines ([#9035](https://togithub.com/facebook/jest/pull/9035)) - `[expect, jest-snapshot]` Support custom inline snapshot matchers ([#9278](https://togithub.com/facebook/jest/pull/9278)) - `[jest-config]` Throw the full error message and stack when a Jest preset is missing a dependency ([#8924](https://togithub.com/facebook/jest/pull/8924)) - `[jest-config]` [**BREAKING**] Set default display name color based on runner ([#8689](https://togithub.com/facebook/jest/pull/8689)) - `[jest-config]` Merge preset globals with project globals ([#9027](https://togithub.com/facebook/jest/pull/9027)) - `[jest-config]` Support `.cjs` config files ([#9291](https://togithub.com/facebook/jest/pull/9291)) - `[jest-config]` [**BREAKING**] Support `.mjs` config files ([#9431](https://togithub.com/facebook/jest/pull/9431)) - `[jest-core]` Support reporters as default exports ([#9161](https://togithub.com/facebook/jest/pull/9161)) - `[jest-core]` Support `--findRelatedTests` paths case insensitivity on Windows ([#8900](https://togithub.com/facebook/jest/issues/8900)) - `[jest-diff]` Add options for colors and symbols ([#8841](https://togithub.com/facebook/jest/pull/8841)) - `[jest-diff]` [**BREAKING**] Export as ECMAScript module ([#8873](https://togithub.com/facebook/jest/pull/8873)) - `[jest-diff]` Add `includeChangeCounts` and rename `Indicator` options ([#8881](https://togithub.com/facebook/jest/pull/8881)) - `[jest-diff]` Add `changeColor` and `patchColor` options ([#8911](https://togithub.com/facebook/jest/pull/8911)) - `[jest-diff]` Add `trailingSpaceFormatter` option and replace cyan with `commonColor` ([#8927](https://togithub.com/facebook/jest/pull/8927)) - `[jest-diff]` Add `firstOrLastEmptyLineReplacement` option and export 3 `diffLines` functions ([#8955](https://togithub.com/facebook/jest/pull/8955)) - `[jest-environment]` Add optional `getVmContext` next to `runScript` ([#9252](https://togithub.com/facebook/jest/pull/9252) & [#9428](https://togithub.com/facebook/jest/pull/9428)) - `[jest-environment-jsdom]` Add `fakeTimersLolex` ([#8925](https://togithub.com/facebook/jest/pull/8925)) - `[jest-environment-node]` Add `fakeTimersLolex` ([#8925](https://togithub.com/facebook/jest/pull/8925)) - `[jest-environment-node]` Add `queueMicrotask` ([#9140](https://togithub.com/facebook/jest/pull/9140)) - `[jest-environment-node]` Implement `getVmContext` ([#9252](https://togithub.com/facebook/jest/pull/9252) & [#9428](https://togithub.com/facebook/jest/pull/9428)) - `[@jest/fake-timers]` Add Lolex as implementation of fake timers ([#8897](https://togithub.com/facebook/jest/pull/8897)) - `[jest-get-type]` Add `BigInt` support. ([#8382](https://togithub.com/facebook/jest/pull/8382)) - `[jest-matcher-utils]` Add `BigInt` support to `ensureNumbers` `ensureActualIsNumber`, `ensureExpectedIsNumber` ([#8382](https://togithub.com/facebook/jest/pull/8382)) - `[jest-matcher-utils]` Ignore highlighting matched asymmetricMatcher in diffs ([#9257](https://togithub.com/facebook/jest/pull/9257)) - `[jest-reporters]` Export utils for path formatting ([#9162](https://togithub.com/facebook/jest/pull/9162)) - `[jest-reporters]` Provides global coverage thresholds as watermarks for istanbul ([#9416](https://togithub.com/facebook/jest/pull/9416)) - `[jest-runner]` Warn if a worker had to be force exited ([#8206](https://togithub.com/facebook/jest/pull/8206)) - `[jest-runtime]` [**BREAKING**] Do not export `ScriptTransformer` - it can be imported from `@jest/transform` instead ([#9256](https://togithub.com/facebook/jest/pull/9256)) - `[jest-runtime]` Use `JestEnvironment.getVmContext` and `vm.compileFunction` if available to avoid the module wrapper ([#9252](https://togithub.com/facebook/jest/pull/9252) & [#9428](https://togithub.com/facebook/jest/pull/9428)) - `[jest-snapshot]` Display change counts in annotation lines ([#8982](https://togithub.com/facebook/jest/pull/8982)) - `[jest-snapshot]` [**BREAKING**] Improve report when the matcher has properties ([#9104](https://togithub.com/facebook/jest/pull/9104)) - `[jest-snapshot]` Improve colors when snapshots are updatable ([#9132](https://togithub.com/facebook/jest/pull/9132)) - `[jest-snapshot]` Ignore indentation for most serialized objects ([#9203](https://togithub.com/facebook/jest/pull/9203)) - `[jest-transform]` Create `createTranspilingRequire` function for easy transpiling modules ([#9194](https://togithub.com/facebook/jest/pull/9194)) - `[jest-transform]` [**BREAKING**] Return transformed code as a string, do not wrap in `vm.Script` ([#9253](https://togithub.com/facebook/jest/pull/9253)) - `[@jest/test-result]` Create method to create empty `TestResult` ([#8867](https://togithub.com/facebook/jest/pull/8867)) - `[jest-worker]` [**BREAKING**] Return a promise from `end()`, resolving with the information whether workers exited gracefully ([#8206](https://togithub.com/facebook/jest/pull/8206)) - `[jest-reporters]` Transform file paths into hyperlinks ([#8980](https://togithub.com/facebook/jest/pull/8980)) ##### Fixes - `[expect]` Display `expectedDiff` more carefully in `toBeCloseTo` ([#8389](https://togithub.com/facebook/jest/pull/8389)) - `[expect]` Avoid incorrect difference for subset when `toMatchObject` fails ([#9005](https://togithub.com/facebook/jest/pull/9005)) - `[expect]` Consider all RegExp flags for equality ([#9167](https://togithub.com/facebook/jest/pull/9167)) - `[expect]` [**BREAKING**] Consider primitives different from wrappers instantiated with `new` ([#9167](https://togithub.com/facebook/jest/pull/9167)) - `[expect]` Prevent maintaining RegExp state between multiple tests ([#9289](https://togithub.com/facebook/jest/pull/9289)) - `[expect]` Fix subsetEquality false circular reference detection ([#9322](https://togithub.com/facebook/jest/pull/9322)) - `[jest-config]` Use half of the available cores when `watchAll` mode is enabled ([#9117](https://togithub.com/facebook/jest/pull/9117)) - `[jest-config]` Fix Jest multi project runner still cannot handle exactly one project ([#8894](https://togithub.com/facebook/jest/pull/8894)) - `[jest-console]` Add missing `console.group` calls to `NullConsole` ([#9024](https://togithub.com/facebook/jest/pull/9024)) - `[jest-core]` Don't include unref'd timers in --detectOpenHandles results ([#8941](https://togithub.com/facebook/jest/pull/8941)) - `[jest-core]` Limit number of workers when creating haste maps in projects ([#9259](https://togithub.com/facebook/jest/pull/9259)) - `[jest-diff]` Do not inverse format if line consists of one change ([#8903](https://togithub.com/facebook/jest/pull/8903)) - `[jest-diff]` Rename some new options and change their default values ([#9077](https://togithub.com/facebook/jest/pull/9077)) - `[jest-environment-node]` Fix `TextEncoder.encode` not referencing same global `Uint8Array` constructor ([#9261](https://togithub.com/facebook/jest/pull/9261)) - `[jest-fake-timers]` `getTimerCount` will not include cancelled immediates ([#8764](https://togithub.com/facebook/jest/pull/8764)) - `[jest-fake-timers]` Support `util.promisify` on `setTimeout` ([#9180](https://togithub.com/facebook/jest/pull/9180)) - `[jest-jasmine2, jest-circus]` Improve error message format for Node's assert.fail ([#9262](https://togithub.com/facebook/jest/pull/9262)) - `[jest-leak-detector]` [**BREAKING**] Use `weak-napi` instead of `weak` package ([#8686](https://togithub.com/facebook/jest/pull/8686)) - `[jest-mock]` Fix for mockReturnValue overriding mockImplementationOnce ([#8398](https://togithub.com/facebook/jest/pull/8398)) - `[jest-reporters]` Make node-notifier an optional dependency ([#8918](https://togithub.com/facebook/jest/pull/8918)) - `[jest-reporters]` Make all arguments to methods on `BaseReporter` optional ([#9159](https://togithub.com/facebook/jest/pull/9159)) - `[jest-resolve]`: Set MODULE_NOT_FOUND as error code when module is not resolved from paths ([#8487](https://togithub.com/facebook/jest/pull/8487)) - `[jest-resolve-dependencies]` Handle dynamic dependencies correctly even when using module maps ([#9303](https://togithub.com/facebook/jest/pull/9303)) - `[jest-snapshot]` Remove only the added newlines in multiline snapshots ([#8859](https://togithub.com/facebook/jest/pull/8859)) - `[jest-snapshot]` Distinguish empty string from external snapshot not written ([#8880](https://togithub.com/facebook/jest/pull/8880)) - `[jest-snapshot]` [**BREAKING**] Distinguish empty string from internal snapshot not written ([#8898](https://togithub.com/facebook/jest/pull/8898)) - `[jest-snapshot]` [**BREAKING**] Remove `report` method and throw matcher errors ([#9049](https://togithub.com/facebook/jest/pull/9049)) - `[jest-snapshot]` Omit irrelevant `received` properties when property matchers fail ([#9198](https://togithub.com/facebook/jest/pull/9198)) - `[jest-transform]` Properly cache transformed files across tests ([#8890](https://togithub.com/facebook/jest/pull/8890)) - `[jest-transform]` Don't fail the test suite when a generated source map is invalid ([#9058](https://togithub.com/facebook/jest/pull/9058)) - `[jest-types]` [**BREAKING**] Use less `null | undefined` in config types ([#9200](https://togithub.com/facebook/jest/pull/9200)) - `[jest-util]` Allow querying process.domain ([#9136](https://togithub.com/facebook/jest/pull/9136)) - `[pretty-format]` Correctly detect memoized elements ([#9196](https://togithub.com/facebook/jest/pull/9196)) - `[pretty-format]` Fix pretty-format to respect displayName on forwardRef ([#9422](https://togithub.com/facebook/jest/pull/9422)) ##### Chore & Maintenance - `[*]` [**BREAKING**] Drop support for Node 6 ([#8455](https://togithub.com/facebook/jest/pull/8455)) - `[*]` Add Node 12 to CI ([#8411](https://togithub.com/facebook/jest/pull/8411)) - `[*]` [**BREAKING**] Upgrade to Micromatch v4 ([#8852](https://togithub.com/facebook/jest/pull/8852)) - `[babel-plugin-jest-hoist]` [**BREAKING**] Use ESM exports ([#8874](https://togithub.com/facebook/jest/pull/8874)) - `[docs]` Add alias and optional boolean value to `coverage` CLI Reference ([#8996](https://togithub.com/facebook/jest/pull/8996)) - `[docs]` Fix broken link pointing to legacy JS file in "Snapshot Testing". - `[docs]` Add `setupFilesAfterEnv` and `jest.setTimeout` example ([#8971](https://togithub.com/facebook/jest/pull/8971)) - `[expect]` Test that `toStrictEqual` is equivalent to Node's `assert.deepStrictEqual` ([#9167](https://togithub.com/facebook/jest/pull/9167)) - `[jest]` [**BREAKING**] Use ESM exports ([#8874](https://togithub.com/facebook/jest/pull/8874)) - `[jest-cli]` [**BREAKING**] Use ESM exports ([#8874](https://togithub.com/facebook/jest/pull/8874)) - `[jest-cli]` [**BREAKING**] Remove re-exports from `@jest/core` ([#8874](https://togithub.com/facebook/jest/pull/8874)) - `[jest-diff]` Remove the need to export `splitLines0` function ([#9151](https://togithub.com/facebook/jest/pull/9151)) - `[jest-environment-jsdom]` [**BREAKING**] Upgrade JSDOM from v11 to v15 ([#8851](https://togithub.com/facebook/jest/pull/8851)) - `[jest-haste-map]` Upgrade to `fsevents@2` ([#9215](https://togithub.com/facebook/jest/pull/9215)) - `[jest-reporters]` [**BREAKING**] Upgrade Istanbul dependencies, which are used for code coverage ([#9192](https://togithub.com/facebook/jest/pull/9192)) - `[jest-util]` [**BREAKING**] Remove deprecated exports ([#8863](https://togithub.com/facebook/jest/pull/8863)) - `[jest-validate]` [**BREAKING**] Use ESM exports ([#8874](https://togithub.com/facebook/jest/pull/8874)) - `[jest-types]` Mark `InitialOptions` as `Partial` ([#8848](https://togithub.com/facebook/jest/pull/8848)) - `[jest-config]` Refactor `normalize` to be more type safe ([#8848](https://togithub.com/facebook/jest/pull/8848)) ##### Performance ### [`v25.0.0`](https://togithub.com/facebook/jest/compare/v24.9.0...ff9269be05fd8316e95232198fce3463bf2f270e) [Compare Source](https://togithub.com/facebook/jest/compare/v24.9.0...ff9269be05fd8316e95232198fce3463bf2f270e) ### [`v24.9.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2490) [Compare Source](https://togithub.com/facebook/jest/compare/v24.8.0...v24.9.0) ##### Features - `[expect]` Highlight substring differences when matcher fails, part 1 ([#8448](https://togithub.com/facebook/jest/pull/8448)) - `[expect]` Highlight substring differences when matcher fails, part 2 ([#8528](https://togithub.com/facebook/jest/pull/8528)) - `[expect]` Improve report when mock-spy matcher fails, part 1 ([#8640](https://togithub.com/facebook/jest/pull/8640)) - `[expect]` Improve report when mock-spy matcher fails, part 2 ([#8649](https://togithub.com/facebook/jest/pull/8649)) - `[expect]` Improve report when mock-spy matcher fails, part 3 ([#8697](https://togithub.com/facebook/jest/pull/8697)) - `[expect]` Improve report when mock-spy matcher fails, part 4 ([#8710](https://togithub.com/facebook/jest/pull/8710)) - `[expect]` Throw matcher error when received cannot be jasmine spy ([#8747](https://togithub.com/facebook/jest/pull/8747)) - `[expect]` Improve report when negative CalledWith assertion fails ([#8755](https://togithub.com/facebook/jest/pull/8755)) - `[expect]` Improve report when positive CalledWith assertion fails ([#8771](https://togithub.com/facebook/jest/pull/8771)) - `[expect]` Display equal values for ReturnedWith similar to CalledWith ([#8791](https://togithub.com/facebook/jest/pull/8791)) - `[expect, jest-snapshot]` Change color from green for some args in matcher hints ([#8812](https://togithub.com/facebook/jest/pull/8812)) - `[jest-snapshot]` Highlight substring differences when matcher fails, part 3 ([#8569](https://togithub.com/facebook/jest/pull/8569)) - `[jest-core]` Improve report when snapshots are obsolete ([#8448](https://togithub.com/facebook/jest/pull/8665)) - `[jest-cli]` Improve chai support (with detailed output, to match jest exceptions) ([#8454](https://togithub.com/facebook/jest/pull/8454)) - `[*]` Manage the global timeout with `--testTimeout` command line argument. ([#8456](https://togithub.com/facebook/jest/pull/8456)) - `[pretty-format]` Render custom displayName of memoized components ([#8546](https://togithub.com/facebook/jest/pull/8546)) - `[jest-validate]` Allow `maxWorkers` as part of the `jest.config.js` ([#8565](https://togithub.com/facebook/jest/pull/8565)) - `[jest-runtime]` Allow passing configuration objects to transformers ([#7288](https://togithub.com/facebook/jest/pull/7288)) - `[@jest/core, @jest/test-sequencer]` Support async sort in custom `testSequencer` ([#8642](https://togithub.com/facebook/jest/pull/8642)) - `[jest-runtime, @jest/fake-timers]` Add `jest.advanceTimersToNextTimer` ([#8713](https://togithub.com/facebook/jest/pull/8713)) - `[@jest-transform]` Extract transforming require logic within `jest-core` into `@jest-transform` ([#8756](https://togithub.com/facebook/jest/pull/8756)) - `[jest-matcher-utils]` Add color options to `matcherHint` ([#8795](https://togithub.com/facebook/jest/pull/8795)) - `[jest-circus/jest-jasmine2]` Give clearer output for Node assert errors ([#8792](https://togithub.com/facebook/jest/pull/8792)) - `[jest-runner]` Export all types in the type signature of `jest-runner` ([#8825](https://togithub.com/facebook/jest/pull/8825)) ##### Fixes - `[jest-cli]` Detect side-effect only imports when running `--onlyChanged` or `--changedSince` ([#8670](https://togithub.com/facebook/jest/pull/8670)) - `[jest-cli]` Allow `--maxWorkers` to work with % input again ([#8565](https://togithub.com/facebook/jest/pull/8565)) - `[babel-plugin-jest-hoist]` Expand list of whitelisted globals in global mocks ([#8429](https://togithub.com/facebook/jest/pull/8429)) - `[jest-core]` Make watch plugin initialization errors look nice ([#8422](https://togithub.com/facebook/jest/pull/8422)) - `[jest-snapshot]` Prevent inline snapshots from drifting when inline snapshots are updated ([#8492](https://togithub.com/facebook/jest/pull/8492)) - `[jest-haste-map]` Don't throw on missing mapper in Node crawler ([#8558](https://togithub.com/facebook/jest/pull/8558)) - `[jest-core]` Fix incorrect `passWithNoTests` warning ([#8595](https://togithub.com/facebook/jest/pull/8595)) - `[jest-snapshots]` Fix test retries that contain snapshots ([#8629](https://togithub.com/facebook/jest/pull/8629)) - `[jest-mock]` Fix incorrect assignments when restoring mocks in instances where they originally didn't exist ([#8631](https://togithub.com/facebook/jest/pull/8631)) - `[expect]` Fix stack overflow when matching objects with circular references ([#8687](https://togithub.com/facebook/jest/pull/8687)) - `[jest-haste-map]` Workaround a node >=12.5.0 bug that causes the process not to exit after tests have completed and cancerous memory growth ([#8787](https://togithub.com/facebook/jest/pull/8787)) ##### Chore & Maintenance - `[docs]` Replace FlowType with TypeScript in CONTRIBUTING.MD code conventions - `[jest-leak-detector]` remove code repeat ([#8438](https://togithub.com/facebook/jest/pull/8438)) - `[docs]` Add example to `jest.requireActual` ([#8482](https://togithub.com/facebook/jest/pull/8482)) - `[docs]` Add example to `jest.mock` for mocking ES6 modules with the `factory` parameter ([#8550](https://togithub.com/facebook/jest/pull/8550)) - `[docs]` Add information about using `jest.doMock` with ES6 imports ([#8573](https://togithub.com/facebook/jest/pull/8573)) - `[docs]` Fix variable name in custom-matcher-api code example ([#8582](https://togithub.com/facebook/jest/pull/8582)) - `[docs]` Fix example used in custom environment docs ([#8617](https://togithub.com/facebook/jest/pull/8617)) - `[docs]` Updated react tutorial to refer to new package of react-testing-library ([@testing-library/react](https://togithub.com/testing-library/react)) ([#8753](https://togithub.com/facebook/jest/pull/8753)) - `[docs]` Updated imports of react-testing-library to [@testing-library/react](https://togithub.com/testing-library/react) in website ([#8757](https://togithub.com/facebook/jest/pull/8757)) - `[jest-core]` Add `getVersion` (moved from `jest-cli`) ([#8706](https://togithub.com/facebook/jest/pull/8706)) - `[docs]` Fix MockFunctions example that was using toContain instead of toContainEqual ([#8765](https://togithub.com/facebook/jest/pull/8765)) - `[*]` Make sure copyright header comment includes license ([#8783](https://togithub.com/facebook/jest/pull/8783)) - `[*]` Check copyright and license as one joined substring ([#8815](https://togithub.com/facebook/jest/pull/8815)) - `[docs]` Fix WatchPlugins `jestHooks.shouldRunTestSuite` example that receives an object ([#8784](https://togithub.com/facebook/jest/pull/8784)) - `[*]` Enforce LF line endings ([#8809](https://togithub.com/facebook/jest/pull/8809)) - `[pretty-format]` Delete obsolete link and simplify structure in README ([#8824](https://togithub.com/facebook/jest/pull/8824)) - `[docs]` Fix broken transform link on webpack page ([#9155](https://togithub.com/facebook/jest/pull/9155)) ##### Performance - `[jest-watcher]` Minor optimization for JestHook ([#8746](https://togithub.com/facebook/jest/pull/8746)) - `[@jest/reporters]` Prevent runaway CPU useage with `--notify` on macOS ([#8830](https://togithub.com/facebook/jest/issues/8830)) ### [`v24.8.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2480) [Compare Source](https://togithub.com/facebook/jest/compare/v24.7.1...v24.8.0) ##### Features - `[jest-circus]` Bind to Circus events via an optional event handler on any custom env ([#8344](https://togithub.com/facebook/jest/pull/8344)) - `[expect]` Improve report when matcher fails, part 15 ([#8281](https://togithub.com/facebook/jest/pull/8281)) - `[jest-cli]` Update `--forceExit` and "did not exit for one second" message colors ([#8329](https://togithub.com/facebook/jest/pull/8329)) - `[expect]` Improve report when matcher fails, part 16 ([#8306](https://togithub.com/facebook/jest/pull/8306)) - `[jest-runner]` Pass docblock pragmas to TestEnvironment constructor ([#8320](https://togithub.com/facebook/jest/pull/8320)) - `[docs]` Add DynamoDB guide ([#8319](https://togithub.com/facebook/jest/pull/8319)) - `[expect]` Improve report when matcher fails, part 17 ([#8349](https://togithub.com/facebook/jest/pull/8349)) - `[expect]` Improve report when matcher fails, part 18 ([#8356](https://togithub.com/facebook/jest/pull/8356)) - `[expect]` Improve report when matcher fails, part 19 ([#8367](https://togithub.com/facebook/jest/pull/8367)) ##### Fixes - `[jest-each]` Fix bug with placeholder values ([#8289](https://togithub.com/facebook/jest/pull/8289)) - `[jest-snapshot]` Inline snapshots: do not indent empty lines ([#8277](https://togithub.com/facebook/jest/pull/8277)) - `[@jest/runtime, @jest/transform]` Allow custom transforms for JSON dependencies ([#2578](https://togithub.com/facebook/jest/pull/2578)) - `[jest-core]` Make `detectOpenHandles` imply `runInBand` ([#8283](https://togithub.com/facebook/jest/pull/8283)) - `[jest-haste-map]` Fix the `mapper` option which was incorrectly ignored ([#8299](https://togithub.com/facebook/jest/pull/8299)) - `[jest-jasmine2]` Fix describe return value warning being shown if the describe function throws ([#8335](https://togithub.com/facebook/jest/pull/8335)) - `[jest-environment-jsdom]` Re-declare global prototype of JSDOMEnvironment ([#8352](https://togithub.com/facebook/jest/pull/8352)) - `[jest-snapshot]` Handle arrays when merging snapshots ([#7089](https://togithub.com/facebook/jest/pull/7089)) - `[expect]` Extract names of async and generator functions ([#8362](https://togithub.com/facebook/jest/pull/8362)) - `[jest-runtime]` Fix virtual mocks not being unmockable after previously being mocked ([#8396](https://togithub.com/facebook/jest/pull/8396)) - `[jest-transform]` Replace special characters in transform cache filenames to support Windows ([#8353](https://togithub.com/facebook/jest/pull/8353)) - `[jest-config]` Allow exactly one project ([#7498](https://togithub.com/facebook/jest/pull/7498)) ##### Chore & Maintenance - `[expect]` Fix label and add opposite assertion for toEqual tests ([#8288](https://togithub.com/facebook/jest/pull/8288)) - `[docs]` Mention Jest MongoDB Preset ([#8318](https://togithub.com/facebook/jest/pull/8318)) - `[@jest/reporters]` Migrate away from `istanbul-api` ([#8294](https://togithub.com/facebook/jest/pull/8294)) - `[*]` Delete obsolete emails tag from header comment in test files ([#8377](https://togithub.com/facebook/jest/pull/8377)) - `[expect]` optimize compare nodes ([#8368](https://togithub.com/facebook/jest/pull/8368)) - `[docs]` Fix typo in MockFunctionAPI.md ([#8406](https://togithub.com/facebook/jest/pull/8406)) - `[LICENSE]` Follow copyright header guidelines and delete For Jest software ([#8428](https://togithub.com/facebook/jest/pull/8428)) ##### Performance - `[jest-runtime]` Fix module registry memory leak ([#8282](https://togithub.com/facebook/jest/pull/8282)) - `[jest-resolve]` optimize resolve module path ([#8388](https://togithub.com/facebook/jest/pull/8388)) - `[jest-resolve]` cache current directory ([#8412](https://togithub.com/facebook/jest/pull/8412)) - `[jest-get-type]` Simplify checking for primitive ([#8416](https://togithub.com/facebook/jest/pull/8416)) ### [`v24.7.1`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2471) [Compare Source](https://togithub.com/facebook/jest/compare/v24.7.0...v24.7.1) ##### Fixes - `[@jest/config]` Normalize `testSequencer` to its absolute path ([#8267](https://togithub.com/facebook/jest/pull/8267)) - `[@jest/console]` Print to stderr when calling `console.error`, `console.warn` or `console.assert` using the `jest-runtime` CLI ([#8261](https://togithub.com/facebook/jest/pull/8261)) ### [`v24.7.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2470) [Compare Source](https://togithub.com/facebook/jest/compare/v24.6.0...v24.7.0) ##### Features - `[@jest/core, @jest/test-sequencer]` Move `testSequencer` to individual package `@jest/test-sequencer` ([#8223](https://togithub.com/facebook/jest/pull/8223)) - `[@jest/core, jest-cli, jest-config]` Add option `testSequencer` allow user use custom sequencer. ([#8223](https://togithub.com/facebook/jest/pull/8223)) ##### Fixes - `[expect]` Add negative equality tests for iterables ([#8260](https://togithub.com/facebook/jest/pull/8260)) - `[jest-haste-map]` Resolve fs watcher EMFILE error ([#8258](https://togithub.com/facebook/jest/pull/8258)) ##### Chore & Maintenance - `[expect]` Remove repetition of matcherName and options in matchers ([#8224](https://togithub.com/facebook/jest/pull/8224)) ##### Performance ### [`v24.6.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2460) [Compare Source](https://togithub.com/facebook/jest/compare/v24.5.0...v24.6.0) ##### Features - `[expect]`: Improve report when matcher fails, part 13 ([#8077](https://togithub.com/facebook/jest/pull/8077)) - `[@jest/core]` Filter API pre-filter setup hook ([#8142](https://togithub.com/facebook/jest/pull/8142)) - `[jest-snapshot]` Improve report when matcher fails, part 14 ([#8132](https://togithub.com/facebook/jest/pull/8132)) - `[@jest/reporter]` Display todo and skip test descriptions when verbose is true ([#8038](https://togithub.com/facebook/jest/pull/8038)) - `[jest-runner]` Support default exports for test environments ([#8163](https://togithub.com/facebook/jest/pull/8163)) - `[pretty-format]` Support React.Suspense ([#8180](https://togithub.com/facebook/jest/pull/8180)) - `[jest-snapshot]` Indent inline snapshots ([#8198](https://togithub.com/facebook/jest/pull/8198)) - `[jest-config]` Support colors in `displayName` configuration ([#8025](https://togithub.com/facebook/jest/pull/8025)) ##### Fixes - `[jest-circus]` Fix test retries with beforeAll/beforeEach failures ([#8227](https://togithub.com/facebook/jest/pull/8227)) - `[expect]` Fix circular references in iterable equality ([#8160](https://togithub.com/facebook/jest/pull/8160)) - `[jest-changed-files]` Change method of obtaining git root ([#8052](https://togithub.com/facebook/jest/pull/8052)) - `[jest-each]` Fix test function type ([#8145](https://togithub.com/facebook/jest/pull/8145)) - `[jest-fake-timers]` `getTimerCount` not taking immediates and ticks into account ([#8139](https://togithub.com/facebook/jest/pull/8139)) - `[jest-runtime]` Allow json file as manual mock ([#8159](https://togithub.com/facebook/jest/pull/8159)) - `[pretty-format]` Print `BigInt` as a readable number instead of `{}` ([#8138](https://togithub.com/facebook/jest/pull/8138)) - `[jest-core]` Fix ability to transform dependencies required from globalSetup script ([#8143](https://togithub.com/facebook/jest/pull/8143)) - `[@jest/reporters]` Fix Cannot read property converageData of null ([#8168](https://togithub.com/facebook/jest/pull/8168)) - `[jest-worker]` `JEST_WORKER_ID` starts at 1 ([#8205](https://togithub.com/facebook/jest/pull/8205)) - `[jest-config]` Use default cwd even if config contains a cwd property ([#7923](https://togithub.com/facebook/jest/pull/7923)) - `[jest-resolve-dependencies]`: Remove internal peer dependencies ([#8215](https://togithub.com/facebook/jest/pull/8215)) - `[jest-resolve]`: Remove internal peer dependencies ([#8215](https://togithub.com/facebook/jest/pull/8215)) - `[jest-snapshot]`: Remove internal peer dependencies ([#8215](https://togithub.com/facebook/jest/pull/8215)) - `[jest-resolve]` Fix requireActual with moduleNameMapper ([#8210](https://togithub.com/facebook/jest/pull/8210)) - `[jest-haste-map]` Fix haste map duplicate detection in watch mode ([#8237](https://togithub.com/facebook/jest/pull/8237)) ##### Chore & Maintenance - `[*]` Remove flow from code base ([#8061](https://togithub.com/facebook/jest/pull/8061)) - `[*]` Use property initializer syntax in Jest codebase ([#8117](https://togithub.com/facebook/jest/pull/8117)) - `[*]` Move [@types/node](https://togithub.com/types/node) to the root package.json ([#8129](https://togithub.com/facebook/jest/pull/8129)) - `[*]` Add documentation and tests related to auto-mocking ([#8099](https://togithub.com/facebook/jest/pull/8099)) - `[*]` Add `jest-watch-typeahead` as a devDependency ([#6449](https://togithub.com/facebook/jest/pull/6449)) - `[*]` upgrade TS to 3.4.0-dev\* for incremental builds ([#8149](https://togithub.com/facebook/jest/pull/8149)) - `[docs]` Improve description of optional arguments in ExpectAPI.md ([#8126](https://togithub.com/facebook/jest/pull/8126)) ##### Performance - `[jest-haste-map]` Optimize haste map data structure for serialization/deserialization ([#8171](https://togithub.com/facebook/jest/pull/8171)) - `[jest-haste-map]` Avoid persisting haste map or processing files when not changed ([#8153](https://togithub.com/facebook/jest/pull/8153)) - `[jest-core]` Improve performance of SearchSource.findMatchingTests by 15% ([#8184](https://togithub.com/facebook/jest/pull/8184)) - `[jest-resolve]` Optimize internal cache lookup performance ([#8183](https://togithub.com/facebook/jest/pull/8183)) - `[jest-core]` Dramatically improve watch mode performance ([#8201](https://togithub.com/facebook/jest/pull/8201)) - `[jest-transform]` Cache regular expression instead of creating anew for every file in ScriptTransformer ([#8235](https://togithub.com/facebook/jest/pull/8235)) - `[jest-core]` Fix memory leak of source map info and minor performance improvements ([#8234](https://togithub.com/facebook/jest/pull/8234)) - `[jest-console]` Fix memory leak by releasing console output reference when printed to stdout ([#8233](https://togithub.com/facebook/jest/pull/8233)) - `[jest-runtime]` Use `Map` instead of `Object` for module registry ([#8232](https://togithub.com/facebook/jest/pull/8232)) ### [`v24.5.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2450) [Compare Source](https://togithub.com/facebook/jest/compare/v24.4.0...v24.5.0) ##### Features - `[jest-haste-map]` Expose `throwOnModuleCollision` via `config.haste` ([#8113](https://togithub.com/facebook/jest/pull/8113)) ##### Chore & Maintenance - `[expect]` Export `Matchers` interface from `expect` ([#8093](https://togithub.com/facebook/jest/pull/8093)) ### [`v24.4.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2440) [Compare Source](https://togithub.com/facebook/jest/compare/v24.3.1...v24.4.0) ##### Features - `[jest-resolve]` Now supports PnP environment without plugins ([#8094](https://togithub.com/facebook/jest/pull/8094)) ##### Fixes - `[expect]` Compare DOM nodes even if there are multiple Node classes ([#8064](https://togithub.com/facebook/jest/pull/8064)) - `[jest-worker]` `worker.getStdout()` can return `null` ([#8083](https://togithub.com/facebook/jest/pull/8083)) - `[jest-worker]` Re-attach stdout and stderr from new processes/threads created after retries ([#8087](https://togithub.com/facebook/jest/pull/8087)) - `[jest-reporters/jest-runner]` Serialize `changedFiles` passed to workers ([#8090](https://togithub.com/facebook/jest/pull/8090)) ##### Chore & Maintenance - `[*]` Make sure to include `d.ts` files in the tarball when building ([#8086](https://togithub.com/facebook/jest/pull/8086)) ### [`v24.3.1`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2431) [Compare Source](https://togithub.com/facebook/jest/compare/v24.3.0...v24.3.1) ##### Fixes - `[jest-cli]` export functions compatible with `import {default}` ([#8080](https://togithub.com/facebook/jest/pull/8080)) - `[jest-worker]`: Fix retries and error notification in workers ([#8079](https://togithub.com/facebook/jest/pull/8079)) ##### Chore & Maintenance - `[pretty-format]`: Use `react-is` instead of manual `$typeof` checks ([#8060](https://togithub.com/facebook/jest/pull/8060)) ### [`v24.3.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2430) [Compare Source](https://togithub.com/facebook/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 ([#7985](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), [#7809](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/facebook/jest/blob/master/CHANGELOG.md#2410) [Compare Source](https://togithub.com/facebook/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/facebook/jest/blob/master/CHANGELOG.md#2400) [Compare Source](https://togithub.com/facebook/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][#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 ([#76Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you tick the rebase/retry checkbox below.
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.