facebook/jest
### [`v25.1.0`](https://togithub.com/facebook/jest/blob/HEAD/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 `ALLOWED_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 ([#8961](https://togithub.com/facebook/jest/pull/8961))
- `[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))
### [`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/HEAD/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 usage with `--notify` on macOS ([#8831](https://togithub.com/facebook/jest/pull/8831))
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR contains the following updates:
^24.8.0
->^25.0.0
By merging this PR, the below issues will be automatically resolved and closed:
By merging this PR, the below issues will be automatically resolved and closed:
Release Notes
facebook/jest
### [`v25.1.0`](https://togithub.com/facebook/jest/blob/HEAD/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 `ALLOWED_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 ([#8961](https://togithub.com/facebook/jest/pull/8961)) - `[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)) ### [`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/HEAD/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 usage with `--notify` on macOS ([#8831](https://togithub.com/facebook/jest/pull/8831))