jestjs/jest (jest)
### [`v29.7.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2970)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.6.4...v29.7.0)
##### Features
- `[create-jest]` Add `npm init` / `yarn create` initialiser for Jest projects ([#14465](https://togithub.com/jestjs/jest/pull/14453))
- `[jest-validate]` Allow deprecation warnings for unknown options ([#14499](https://togithub.com/jestjs/jest/pull/14499))
##### Fixes
- `[jest-resolver]` Replace unmatched capture groups in `moduleNameMapper` with empty string instead of `undefined` ([#14507](https://togithub.com/jestjs/jest/pull/14507))
- `[jest-snapshot]` Allow for strings as well as template literals in inline snapshots ([#14465](https://togithub.com/jestjs/jest/pull/14465))
- `[@jest/test-sequencer]` Calculate test runtime if `perStats.duration` is missing ([#14473](https://togithub.com/jestjs/jest/pull/14473))
##### Performance
- `[@jest/create-cache-key-function]` Cache access of `NODE_ENV` and `BABEL_ENV` ([#14455](https://togithub.com/jestjs/jest/pull/14455))
##### Chore & Maintenance
- `[jest-cli]` Move internal config initialisation logic to the `create-jest` package ([#14465](https://togithub.com/jestjs/jest/pull/14453))
### [`v29.6.4`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2964)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.6.3...v29.6.4)
##### Fixes
- `[jest-core]` Fix typo in `scheduleAndRun` performance marker ([#14434](https://togithub.com/jestjs/jest/pull/14434))
- `[jest-environment-node]` Make sure `atob` and `btoa` are writeable in Node 20 ([#14446](https://togithub.com/jestjs/jest/pull/14446))
- `[jest-worker]` Additional error wrapper for `parentPort.postMessage` to fix unhandled `DataCloneError`. ([#14437](https://togithub.com/jestjs/jest/pull/14437))
### [`v29.6.3`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2963)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.6.2...v29.6.3)
##### Fixes
- `[expect, @jest/expect-utils]` `ObjectContaining` support `sumbol` as key ([#14414](https://togithub.com/jestjs/jest/pull/14414))
- `[expect]` Remove `@types/node` from dependencies ([#14385](https://togithub.com/jestjs/jest/pull/14385))
- `[jest-core]` Use workers in watch mode by default to avoid crashes ([#14059](https://togithub.com/facebook/jest/pull/14059) & [#14085](https://togithub.com/facebook/jest/pull/14085)).
- `[jest-reporters]` Update `istanbul-lib-instrument` dependency to v6. ([#14401](https://togithub.com/jestjs/jest/pull/14401))
- `[jest-mock]` Revert [#13692](https://togithub.com/jestjs/jest/pull/13692) as it was a breaking change ([#14429](https://togithub.com/jestjs/jest/pull/14429))
- `[jest-mock]` Revert [#13866](https://togithub.com/jestjs/jest/pull/13866) as it was a breaking change ([#14429](https://togithub.com/jestjs/jest/pull/14429))
- `[jest-mock]` Revert [#13867](https://togithub.com/jestjs/jest/pull/13867) as it was a breaking change ([#14429](https://togithub.com/jestjs/jest/pull/14429))
- `[@jest/reporters]` Marks Reporter's hooks as optional ([#14433](https://togithub.com/jestjs/jest/pull/14433))
- `[jest-runtime]` Fix dynamic ESM import module bug when loaded module through `jest.isolateModulesAsync` ([#14397](https://togithub.com/jestjs/jest/pull/14397))
##### Chore & Maintenance
- `[jest-changed-files, jest-circus, jest-console, @jest/core, @jest/runtime, @jest/transform]` Use `invariant` and `notEmpty` from `jest-util` rather than own internal ([#14366](https://togithub.com/jestjs/jest/pull/14366))
### [`v29.6.2`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2962)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.6.1...v29.6.2)
##### Fixes
- `[jest-circus]` Fix snapshot matchers in concurrent tests when nr of tests exceeds `maxConcurrency` ([#14335](https://togithub.com/jestjs/jest/pull/14335))
- `[@jest/core]` When running global setup and teardown, do not try to change the `message` property of the thrown error object when the `message` property is unwritable ([#14113](https://togithub.com/jestjs/jest/pull/14113))
- `[jest-snapshot]` Move `@types/prettier` from `dependencies` to `devDependencies` ([#14328](https://togithub.com/jestjs/jest/pull/14328))
- `[jest-snapshot]` Throw an explicit error if Prettier v3 is used ([#14367](https://togithub.com/jestjs/jest/pull/14367))
- `[jest-reporters]` Add "skipped" and "todo" symbols to Github Actions Reporter ([#14309](https://togithub.com/jestjs/jest/pull/14309))
##### Chore & Maintenance
- `[@jest/core]` Use `pluralize` from `jest-util` rather than own internal ([#14322](https://togithub.com/jestjs/jest/pull/14322))
### [`v29.6.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2961)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.6.0...v29.6.1)
##### Fixes
- `[jest-circus]` Revert [#14110](https://togithub.com/jestjs/jest/pull/14110) as it was a breaking change ([#14304](https://togithub.com/jestjs/jest/pull/14304))
### [`v29.6.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2960)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.5.0...v29.6.0)
##### Features
- `[jest-circus, jest-snapshot]` Add support for snapshot matchers in concurrent tests ([#14139](https://togithub.com/jestjs/jest/pull/14139))
- `[jest-cli]` Include type definitions to generated config files ([#14078](https://togithub.com/facebook/jest/pull/14078))
- `[jest-snapshot]` Support arrays as property matchers ([#14025](https://togithub.com/facebook/jest/pull/14025))
- `[jest-core, jest-circus, jest-reporter, jest-runner]` Added support for reporting about start individual test cases using jest-circus ([#14174](https://togithub.com/jestjs/jest/pull/14174))
##### Fixes
- `[jest-circus]` Prevent false test failures caused by promise rejections handled asynchronously ([#14110](https://togithub.com/jestjs/jest/pull/14110))
- `[jest-config]` Handle frozen config object ([#14054](https://togithub.com/facebook/jest/pull/14054))
- `[jest-config]` Allow `coverageDirectory` and `collectCoverageFrom` in project config ([#14180](https://togithub.com/jestjs/jest/pull/14180))
- `[jest-core]` Always use workers in watch mode to avoid crashes ([#14059](https://togithub.com/facebook/jest/pull/14059)).
- `[jest-environment-jsdom, jest-environment-node]` Fix assignment of `customExportConditions` via `testEnvironmentOptions` when custom env subclass defines a default value ([#13989](https://togithub.com/facebook/jest/pull/13989))
- `[jest-matcher-utils]` Fix copying value of inherited getters ([#14007](https://togithub.com/facebook/jest/pull/14007))
- `[jest-mock]` Tweak typings to allow `jest.replaceProperty()` replace methods ([#14008](https://togithub.com/facebook/jest/pull/14008))
- `[jest-mock]` Improve user input validation and error messages of `spyOn` and `replaceProperty` methods ([#14087](https://togithub.com/facebook/jest/pull/14087))
- `[jest-runtime]` Bind `jest.isolateModulesAsync` to `this` ([#14083](https://togithub.com/facebook/jest/pull/14083))
- `[jest-runtime]` Forward `wrapperLength` to the `Script` constructor as `columnOffset` for accurate debugging ([#14148](https://togithub.com/facebook/jest/pull/14148))
- `[jest-runtime]` Guard `_isMockFunction` access with `in` ([#14188](https://togithub.com/facebook/jest/pull/14188))
- `[jest-snapshot]` Fix a potential bug when not using prettier and improve performance ([#14036](https://togithub.com/facebook/jest/pull/14036))
- `[@jest/transform]` Do not instrument `.json` modules ([#14048](https://togithub.com/facebook/jest/pull/14048))
- `[jest-worker]` Restart a shut down worker before sending it a task ([#14015](https://togithub.com/facebook/jest/pull/14015))
##### Chore & Maintenance
- `[*]` Update `semver` dependency to get vulnerability fix ([#14262](https://togithub.com/jestjs/jest/pull/14262))
- `[docs]` Updated documentation for the `--runTestsByPath` CLI command ([#14004](https://togithub.com/facebook/jest/pull/14004))
- `[docs]` Updated documentation regarding the synchronous fallback when asynchronous code transforms are unavailable ([#14056](https://togithub.com/facebook/jest/pull/14056))
- `[docs]` Update jest statistics of use and downloads in website Index.
### [`v29.5.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2950)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.4.3...v29.5.0)
##### Features
- `[jest-changed-files]` Support Sapling ([#13941](https://togithub.com/facebook/jest/pull/13941))
- `[jest-circus, @jest/cli, jest-config]` Add feature to randomize order of tests via CLI flag or through the config file([#12922](https://togithub.com/facebook/jest/pull/12922))
- `[jest-cli, jest-config, @jest/core, jest-haste-map, @jest/reporters, jest-runner, jest-runtime, @jest/types]` Add `workerThreads` configuration option to allow using [worker threads](https://nodejs.org/dist/latest/docs/api/worker_threads.html) for parallelization ([#13939](https://togithub.com/facebook/jest/pull/13939))
- `[jest-cli]` Export `yargsOptions` ([#13970](https://togithub.com/facebook/jest/pull/13970))
- `[jest-config]` Add `openHandlesTimeout` option to configure possible open handles warning. ([#13875](https://togithub.com/facebook/jest/pull/13875))
- `[@jest/create-cache-key-function]` Allow passing `length` argument to `createCacheKey()` function and set its default value to `16` on Windows ([#13827](https://togithub.com/facebook/jest/pull/13827))
- `[jest-message-util]` Add support for [AggregateError](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError) ([#13946](https://togithub.com/facebook/jest/pull/13946) & [#13947](https://togithub.com/facebook/jest/pull/13947))
- `[jest-message-util]` Add support for [Error causes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause) in `test` and `it` ([#13935](https://togithub.com/facebook/jest/pull/13935) & [#13966](https://togithub.com/facebook/jest/pull/13966))
- `[jest-reporters]` Add `summaryThreshold` option to summary reporter to allow overriding the internal threshold that is used to print the summary of all failed tests when the number of test suites surpasses it ([#13895](https://togithub.com/facebook/jest/pull/13895))
- `[jest-runtime]` Expose `@sinonjs/fake-timers` async APIs functions `advanceTimersByTimeAsync(msToRun)` (`tickAsync(msToRun)`), `advanceTimersToNextTimerAsync(steps)` (`nextAsync`), `runAllTimersAsync` (`runAllAsync`), and `runOnlyPendingTimersAsync` (`runToLastAsync`) ([#13981](https://togithub.com/facebook/jest/pull/13981))
- `[jest-runtime, @jest/transform]` Allow V8 coverage provider to collect coverage from files which were not loaded explicitly ([#13974](https://togithub.com/facebook/jest/pull/13974))
- `[jest-snapshot]` Add support to `cts` and `mts` TypeScript files to inline snapshots ([#13975](https://togithub.com/facebook/jest/pull/13975))
- `[jest-worker]` Add `start` method to worker farms ([#13937](https://togithub.com/facebook/jest/pull/13937))
- `[jest-worker]` Support passing a URL as path to worker ([#13982](https://togithub.com/facebook/jest/pull/13982))
##### Fixes
- `[babel-plugin-jest-hoist]` Fix unwanted hoisting of nested `jest` usages ([#13952](https://togithub.com/facebook/jest/pull/13952))
- `[jest-circus]` Send test case results for `todo` tests ([#13915](https://togithub.com/facebook/jest/pull/13915))
- `[jest-circus]` Update message printed on test timeout ([#13830](https://togithub.com/facebook/jest/pull/13830))
- `[jest-circus]` Avoid creating the word "testfalse" when `takesDoneCallback` is `false` in the message printed on test timeout AND updated timeouts test ([#13954](https://togithub.com/facebook/jest/pull/13954))
- `[jest-environment-jsdom]` Stop setting `document` to `null` on teardown ([#13972](https://togithub.com/facebook/jest/pull/13972))
- `[@jest/expect-utils]` Update `toStrictEqual()` to be able to check `jest.fn().mock.calls` ([#13960](https://togithub.com/facebook/jest/pull/13960))
- `[@jest/test-result]` Allow `TestResultsProcessor` type to return a Promise ([#13950](https://togithub.com/facebook/jest/pull/13950))
##### Chore & Maintenance
- `[jest-snapshot]` Remove dependency on `jest-haste-map` ([#13977](https://togithub.com/facebook/jest/pull/13977))
### [`v29.4.3`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2943)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.4.2...v29.4.3)
##### Features
- `[expect]` Update `toThrow()` to be able to use error `cause`s ([#13606](https://togithub.com/facebook/jest/pull/13606))
- `[jest-core]` allow to use `workerIdleMemoryLimit` with only 1 worker or `runInBand` option ([#13846](https://togithub.com/facebook/jest/pull/13846))
- `[jest-message-util]` Add support for [error `cause`s](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause) ([#13868](https://togithub.com/facebook/jest/pull/13868) & [#13912](https://togithub.com/facebook/jest/pull/13912))
- `[jest-runtime]` Revert `import assertions` for JSON modules as it's been relegated to Stage 2 ([#13911](https://togithub.com/facebook/jest/pull/13911))
##### Fixes
- `[@jest/expect-utils]` `subsetEquality` should consider also an object's inherited string keys ([#13824](https://togithub.com/facebook/jest/pull/13824))
- `[jest-mock]` Clear mock state when `jest.restoreAllMocks()` is called ([#13867](https://togithub.com/facebook/jest/pull/13867))
- `[jest-mock]` Prevent `mockImplementationOnce` and `mockReturnValueOnce` bleeding into `withImplementation` ([#13888](https://togithub.com/facebook/jest/pull/13888))
- `[jest-mock]` Do not restore mocks when `jest.resetAllMocks()` is called ([#13866](https://togithub.com/facebook/jest/pull/13866))
### [`v29.4.2`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2942)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.4.1...v29.4.2)
##### Features
- `[@jest/core]` Instrument significant lifecycle events with [`performance.mark()`](https://nodejs.org/docs/latest-v16.x/api/perf_hooks.html#performancemarkname-options) ([#13859](https://togithub.com/facebook/jest/pull/13859))
##### Fixes
- `[expect, @jest/expect]` Provide type of `actual` as a generic argument to `Matchers` to allow better-typed extensions ([#13848](https://togithub.com/facebook/jest/pull/13848))
- `[jest-circus]` Added explicit mention of test failing because `done()` is not being called in error message ([#13847](https://togithub.com/facebook/jest/pull/13847))
- `[jest-runtime]` Handle CJS re-exports of node core modules from ESM ([#13856](https://togithub.com/facebook/jest/pull/13856))
- `[jest-transform]` Downgrade `write-file-atomic` to v4 ([#13853](https://togithub.com/facebook/jest/pull/13853))
- `[jest-worker]` Ignore IPC messages not intended for Jest ([#13543](https://togithub.com/facebook/jest/pull/13543))
##### Chore & Maintenance
- `[*]` make sure to exclude `.eslintcache` from published module ([#13832](https://togithub.com/facebook/jest/pull/13832))
- `[docs]` Cleanup incorrect links in CHANGELOG.md ([#13857](https://togithub.com/facebook/jest/pull/13857))
### [`v29.4.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2941)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.4.0...v29.4.1)
##### Features
- `[expect, jest-circus, @jest/types]` Implement `numPassingAsserts` of testResults to track the number of passing asserts in a test ([#13795](https://togithub.com/facebook/jest/pull/13795))
- `[jest-core]` Add newlines to JSON output ([#13817](https://togithub.com/facebook/jest/pull/13817))
- `[@jest/reporters]` Automatic log folding in GitHub Actions Reporter ([#13626](https://togithub.com/facebook/jest/pull/13626))
##### Fixes
- `[@jest/expect-utils]` `toMatchObject` diffs should include `Symbol` properties ([#13810](https://togithub.com/facebook/jest/pull/13810))
- `[jest-runtime]` Handle missing `replaceProperty` ([#13823](https://togithub.com/facebook/jest/pull/13823))
- `[@jest/types]` Add partial support for `done` callbacks in typings of `each` ([#13756](https://togithub.com/facebook/jest/pull/13756))
### [`v29.4.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2940)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.3.1...v29.4.0)
##### Features
- `[expect, @jest/expect-utils]` Support custom equality testers ([#13654](https://togithub.com/facebook/jest/pull/13654))
- `[jest-config, jest-worker]` Use `os.availableParallelism` if available to calculate number of workers to spawn ([#13738](https://togithub.com/facebook/jest/pull/13738))
- `[@jest/globals, jest-mock]` Add `jest.replaceProperty()` that replaces property value ([#13496](https://togithub.com/facebook/jest/pull/13496))
- `[jest-haste-map]` ignore Sapling vcs directories (`.sl/`) ([#13674](https://togithub.com/facebook/jest/pull/13674))
- `[jest-resolve]` Support subpath imports ([#13705](https://togithub.com/facebook/jest/pull/13705), [#13723](https://togithub.com/facebook/jest/pull/13723), [#13777](https://togithub.com/facebook/jest/pull/13777))
- `[jest-runtime]` Add `jest.isolateModulesAsync` for scoped module initialization of asynchronous functions ([#13680](https://togithub.com/facebook/jest/pull/13680))
- `[jest-runtime]` Add `jest.isEnvironmentTornDown` function ([#13741](https://togithub.com/facebook/jest/pull/13741))
- `[jest-test-result]` Added `skipped` and `focused` status to `FormattedTestResult` ([#13700](https://togithub.com/facebook/jest/pull/13700))
- `[jest-transform]` Support for asynchronous `createTransformer` ([#13762](https://togithub.com/facebook/jest/pull/13762))
##### Fixes
- `[jest-environment-node]` Fix non-configurable globals ([#13687](https://togithub.com/facebook/jest/pull/13687))
- `[@jest/expect-utils]` `toMatchObject` should handle `Symbol` properties ([#13639](https://togithub.com/facebook/jest/pull/13639))
- `[jest-mock]` Fix `mockReset` and `resetAllMocks` `undefined` return value([#13692](https://togithub.com/facebook/jest/pull/13692))
- `[jest-resolve]` Add global paths to `require.resolve.paths` ([#13633](https://togithub.com/facebook/jest/pull/13633))
- `[jest-resolve]` Correct node core module detection when using `node:` specifiers ([#13806](https://togithub.com/facebook/jest/pull/13806))
- `[jest-runtime]` Support WASM files that import JS resources ([#13608](https://togithub.com/facebook/jest/pull/13608))
- `[jest-runtime]` Use the `scriptTransformer` cache in `jest-runner` ([#13735](https://togithub.com/facebook/jest/pull/13735))
- `[jest-runtime]` Enforce import assertions when importing JSON in ESM ([#12755](https://togithub.com/facebook/jest/pull/12755) & [#13805](https://togithub.com/facebook/jest/pull/13805))
- `[jest-snapshot]` Make sure to import `babel` outside of the sandbox ([#13694](https://togithub.com/facebook/jest/pull/13694))
- `[jest-transform]` Ensure the correct configuration is passed to preprocessors specified multiple times in the `transform` option ([#13770](https://togithub.com/facebook/jest/pull/13770))
##### Chore & Maintenance
- `[@jest/fake-timers]` Update `@sinonjs/fake-timers` ([#13612](https://togithub.com/facebook/jest/pull/13612))
- `[docs]` Improve custom puppeteer example to prevent worker warnings ([#13619](https://togithub.com/facebook/jest/pull/13619))
### [`v29.3.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2931)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.3.0...v29.3.1)
##### Fixes
- `[jest-config]` Do not warn about `preset` in `ProjectConfig` ([#13583](https://togithub.com/facebook/jest/pull/13583))
##### Performance
- `[jest-transform]` Defer creation of cache directory ([#13420](https://togithub.com/facebook/jest/pull/13420))
### [`v29.3.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2930)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.2.2...v29.3.0)
##### Features
- `[jest-runtime]` Support WebAssembly (Wasm) imports in ESM modules ([#13505](https://togithub.com/facebook/jest/pull/13505))
##### Fixes
- `[jest-config]` Add config validation for `projects` option ([#13565](https://togithub.com/facebook/jest/pull/13565))
- `[jest-mock]` Treat cjs modules as objects so they can be mocked ([#13513](https://togithub.com/facebook/jest/pull/13513))
- `[jest-worker]` Throw an error instead of hanging when jest workers terminate unexpectedly ([#13566](https://togithub.com/facebook/jest/pull/13566))
##### Chore & Maintenance
- `[@jest/transform]` Update `convert-source-map` ([#13509](https://togithub.com/facebook/jest/pull/13509))
- `[docs]` Mention `toStrictEqual` in UsingMatchers docs. ([#13560](https://togithub.com/facebook/jest/pull/13560))
### [`v29.2.2`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2922)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.2.1...v29.2.2)
##### Fixes
- `[@jest/test-sequencer]` Make sure sharding does not produce empty groups ([#13476](https://togithub.com/facebook/jest/pull/13476))
- `[jest-circus]` Test marked as `todo` are shown as todo when inside a focussed describe ([#13504](https://togithub.com/facebook/jest/pull/13504))
- `[jest-mock]` Ensure mock resolved and rejected values are promises from correct realm ([#13503](https://togithub.com/facebook/jest/pull/13503))
- `[jest-snapshot]` Don't highlight passing asymmetric property matchers in snapshot diff ([#13480](https://togithub.com/facebook/jest/issues/13480))
##### Chore & Maintenance
- `[docs]` Update link to Jest 28 upgrade guide in error message ([#13483](https://togithub.com/facebook/jest/pull/13483))
- `[jest-runner, jest-watcher]` Update `emittery` ([#13490](https://togithub.com/facebook/jest/pull/13490))
### [`v29.2.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2921)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.2.0...v29.2.1)
##### Features
- `[@jest/globals, jest-mock]` Add `jest.Spied*` utility types ([#13440](https://togithub.com/facebook/jest/pull/13440))
##### Fixes
- `[jest-environment-node]` make `globalThis.performance` writable for Node 19 and fake timers ([#13467](https://togithub.com/facebook/jest/pull/13467))
- `[jest-mock]` Revert [#13398](https://togithub.com/facebook/jest/pull/13398) to restore mocking of setters ([#13472](https://togithub.com/facebook/jest/pull/13472))
##### Performance
- `[*]` Use sha1 instead of sha256 for hashing ([#13421](https://togithub.com/facebook/jest/pull/13421))
### [`v29.2.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2920)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.1.2...v29.2.0)
##### Features
- `[@jest/cli, jest-config]` A seed for the test run will be randomly generated, or set by a CLI option ([#13400](https://togithub.com/facebook/jest/pull/13400))
- `[@jest/cli, jest-config]` `--show-seed` will display the seed value in the report, and can be set via a CLI flag or through the config file ([#13400](https://togithub.com/facebook/jest/pull/13400))
- `[jest-config]` Add `readInitialConfig` utility function ([#13356](https://togithub.com/facebook/jest/pull/13356))
- `[jest-core]` Allow `testResultsProcessor` to be async ([#13343](https://togithub.com/facebook/jest/pull/13343))
- `[@jest/environment, jest-environment-node, jest-environment-jsdom, jest-runtime]` Add `getSeed()` to the `jest` object ([#13400](https://togithub.com/facebook/jest/pull/13400))
- `[expect, @jest/expect-utils]` Allow `isA` utility to take a type argument ([#13355](https://togithub.com/facebook/jest/pull/13355))
- `[expect]` Expose `AsyncExpectationResult` and `SyncExpectationResult` types ([#13411](https://togithub.com/facebook/jest/pull/13411))
##### Fixes
- `[babel-plugin-jest-hoist]` Ignore `TSTypeQuery` when checking for hoisted references ([#13367](https://togithub.com/facebook/jest/pull/13367))
- `[jest-core]` Fix `detectOpenHandles` false positives for some special objects such as `TLSWRAP` ([#13414](https://togithub.com/facebook/jest/pull/13414))
- `[jest-mock]` Fix mocking of getters and setters on classes ([#13398](https://togithub.com/facebook/jest/pull/13398))
- `[jest-reporters]` Revert: Transform file paths into hyperlinks ([#13399](https://togithub.com/facebook/jest/pull/13399))
- `[@jest/types]` Infer type of `each` table correctly when the table is a tuple or array ([#13381](https://togithub.com/facebook/jest/pull/13381))
- `[@jest/types]` Rework typings to allow the `*ReturnedWith` matchers to be called with no argument ([#13385](https://togithub.com/facebook/jest/pull/13385))
##### Chore & Maintenance
- `[*]` Update `@babel/*` deps, resulting in slightly different stack traces for `each` ([#13422](https://togithub.com/facebook/jest/pull/13422))
##### Performance
- `[jest-runner]` Do not instrument v8 coverage data if coverage should not be collected ([#13282](https://togithub.com/facebook/jest/pull/13282))
### [`v29.1.2`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2912)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.1.1...v29.1.2)
##### Fixes
- `[expect, @jest/expect]` Revert buggy inference of argument types for `*CalledWith` and `*ReturnedWith` matchers introduced in 29.1.0 ([#13339](https://togithub.com/facebook/jest/pull/13339))
- `[jest-worker]` Add missing dependency on `jest-util` ([#13341](https://togithub.com/facebook/jest/pull/13341))
### [`v29.1.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2911)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.1.0...v29.1.1)
##### Fixes
- `[jest-mock]` Revert [#13145](https://togithub.com/facebook/jest/pull/13145) which broke mocking of transpiled ES modules
### [`v29.1.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2910)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.0.3...v29.1.0)
##### Features
- `[expect, @jest/expect]` Support type inference for function parameters in `CalledWith` assertions ([#13268](https://togithub.com/facebook/jest/pull/13268))
- `[expect, @jest/expect]` Infer type of `*ReturnedWith` matchers argument ([#13278](https://togithub.com/facebook/jest/pull/13278))
- `[@jest/environment, jest-runtime]` Allow `jest.requireActual` and `jest.requireMock` to take a type argument ([#13253](https://togithub.com/facebook/jest/pull/13253))
- `[@jest/environment]` Allow `jest.mock` and `jest.doMock` to take a type argument ([#13254](https://togithub.com/facebook/jest/pull/13254))
- `[@jest/fake-timers]` Add `jest.now()` to return the current fake clock time ([#13244](https://togithub.com/facebook/jest/pull/13244), [#13246](https://togithub.com/facebook/jest/pull/13246))
- `[@jest/mock]` Add `withImplementation` method for temporarily overriding a mock ([#13281](https://togithub.com/facebook/jest/pull/13281))
- `[expect]` Export `toThrow*` matchers ([#13328](https://togithub.com/facebook/jest/pull/13328))
##### Fixes
- `[jest-circus, jest-jasmine2]` Fix error messages for Node's `assert.throes` ([#13322](https://togithub.com/facebook/jest/pull/13322))
- `[jest-haste-map]` Remove `__proto__` usage ([#13256](https://togithub.com/facebook/jest/pull/13256))
- `[jest-mock]` Improve `spyOn` typings to handle optional properties ([#13247](https://togithub.com/facebook/jest/pull/13247))
- `[jest-mock]` Fix mocking of getters and setters on classes ([#13145](https://togithub.com/facebook/jest/pull/13145))
- `[jest-snapshot]` Throw useful error when an array is passed as property matchers ([#13263](https://togithub.com/facebook/jest/pull/13263))
- `[jest-snapshot]` Prioritize parser used in the project ([#13323](https://togithub.com/facebook/jest/pull/13323))
- `[jest-transform]` Attempt to work around issues with atomic writes on Windows ([#11423](https://togithub.com/facebook/jest/pull/11423))
### [`v29.0.3`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2903)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.0.2...v29.0.3)
##### Features
- `[@jest/environment, jest-runtime]` Allow passing a generic type argument to `jest.createMockFromModule()` method ([#13202](https://togithub.com/facebook/jest/pull/13202))
- `[expect]` Expose `ExpectationResult` type ([#13240](https://togithub.com/facebook/jest/pull/13240))
- `[jest-snapshot]` Expose `Context` type ([#13240](https://togithub.com/facebook/jest/pull/13240))
- `[@jest/globals]` Add `jest.Mock` type helper ([#13235](https://togithub.com/facebook/jest/pull/13235))
##### Fixes
- `[jest-core]` Capture `execError` during `TestScheduler.scheduleTests` and dispatch to reporters ([#13203](https://togithub.com/facebook/jest/pull/13203))
- `[jest-resolve]` Make sure to resolve module paths after looking at `exports` ([#13242](https://togithub.com/facebook/jest/pull/13242))
- `[jest-resolve]` Improve error on module not found deep in the `require` stack ([#8704](https://togithub.com/facebook/jest/pull/8704))
- `[jest-snapshot]` Fix typings of snapshot matchers ([#13240](https://togithub.com/facebook/jest/pull/13240))
##### Chore & Maintenance
- `[*]` Fix inconsistent workspace prefixes ([#13217](https://togithub.com/facebook/jest/pull/13217))
- `[jest-haste-map]` Expose a minimal public API to TypeScript ([#13023](https://togithub.com/facebook/jest/pull/13023))
### [`v29.0.2`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2902)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.0.1...v29.0.2)
##### Features
- `[jest-transform]` Expose `TransformFactory` type ([#13184](https://togithub.com/facebook/jest/pull/13184))
##### Fixes
- `[babel-plugin-jest-hoist]` Support imported `jest` in mock factory ([#13188](https://togithub.com/facebook/jest/pull/13188))
- `[jest-mock]` Align the behavior and return type of `generateFromMetadata` method ([#13207](https://togithub.com/facebook/jest/pull/13207))
- `[jest-runtime]` Support `jest.resetModules()` with ESM ([#13211](https://togithub.com/facebook/jest/pull/13211))
### [`v29.0.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2901)
[Compare Source](https://togithub.com/jestjs/jest/compare/v29.0.0...v29.0.1)
##### Fixes
- `[jest-snapshot]` Pass `snapshotFormat` through when diffing snapshots ([#13181](https://togithub.com/facebook/jest/pull/13181))
### [`v29.0.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2900)
[Compare Source](https://togithub.com/jestjs/jest/compare/v28.1.3...v29.0.0)
##### Features
- `[expect]` \[**BREAKING**] Differentiate between `MatcherContext` `MatcherUtils` and `MatcherState` types ([#13141](https://togithub.com/facebook/jest/pull/13141))
- `[jest-circus]` Add support for `test.failing.each` ([#13142](https://togithub.com/facebook/jest/pull/13142))
- `[jest-config]` \[**BREAKING**] Make `snapshotFormat` default to `escapeString: false` and `printBasicPrototype: false` ([#13036](https://togithub.com/facebook/jest/pull/13036))
- `[jest-config]` \[**BREAKING**] Remove undocumented `collectCoverageOnlyFrom` option ([#13156](https://togithub.com/facebook/jest/pull/13156))
- `[jest-environment-jsdom]` \[**BREAKING**] Upgrade to `jsdom@20` ([#13037](https://togithub.com/facebook/jest/pull/13037), [#13058](https://togithub.com/facebook/jest/pull/13058))
- `[@jest/globals]` Add `jest.Mocked`, `jest.MockedClass`, `jest.MockedFunction` and `jest.MockedObject` utility types ([#12727](https://togithub.com/facebook/jest/pull/12727))
- `[jest-mock]` \[**BREAKING**] Refactor `Mocked*` utility types. `MaybeMockedDeep` and `MaybeMocked` became `Mocked` and `MockedShallow` respectively; only deep mocked variants of `MockedClass`, `MockedFunction` and `MockedObject` are exported ([#13123](https://togithub.com/facebook/jest/pull/13123), [#13124](https://togithub.com/facebook/jest/pull/13124))
- `[jest-mock]` \[**BREAKING**] Change the default `jest.mocked` helper’s behavior to deep mocked ([#13125](https://togithub.com/facebook/jest/pull/13125))
- `[jest-snapshot]` \[**BREAKING**] Let `babel` find config when updating inline snapshots ([#13150](https://togithub.com/facebook/jest/pull/13150))
- `[@jest/test-result, @jest/types]` \[**BREAKING**] Replace `Bytes` and `Milliseconds` types with `number` ([#13155](https://togithub.com/facebook/jest/pull/13155))
- `[jest-worker]` Adds `workerIdleMemoryLimit` option which is used as a check for worker memory leaks >= Node 16.11.0 and recycles child workers as required ([#13056](https://togithub.com/facebook/jest/pull/13056), [#13105](https://togithub.com/facebook/jest/pull/13105), [#13106](https://togithub.com/facebook/jest/pull/13106), [#13107](https://togithub.com/facebook/jest/pull/13107))
- `[pretty-format]` \[**BREAKING**] Remove `ConvertAnsi` plugin in favour of `jest-serializer-ansi-escapes` ([#13040](https://togithub.com/facebook/jest/pull/13040))
- `[pretty-format]` Allow to opt out from sorting object keys with `compareKeys: null` ([#12443](https://togithub.com/facebook/jest/pull/12443))
##### Fixes
- `[jest-config]` Fix testing multiple projects with TypeScript config files ([#13099](https://togithub.com/facebook/jest/pull/13099))
- `[@jest/expect-utils]` Fix deep equality of ImmutableJS Record ([#13055](https://togithub.com/facebook/jest/pull/13055))
- `[jest-haste-map]` Increase the maximum possible file size that jest-haste-map can handle ([#13094](https://togithub.com/facebook/jest/pull/13094))
- `[jest-runtime]` Properly support CJS re-exports from dual packages ([#13170](https://togithub.com/facebook/jest/pull/13170))
- `[jest-snapshot]` Make `prettierPath` optional in `SnapshotState` ([#13149](https://togithub.com/facebook/jest/pull/13149))
- `[jest-snapshot]` Fix parsing error from inline snapshot files with `JSX` ([#12760](https://togithub.com/facebook/jest/pull/12760))
- `[jest-worker]` When a process runs out of memory worker exits correctly and doesn't spin indefinitely ([#13054](https://togithub.com/facebook/jest/pull/13054))
##### Chore & Maintenance
- `[*]` \[**BREAKING**] Drop support for Node v12 and v17 ([#13033](https://togithub.com/facebook/jest/pull/13033))
- `[docs]` Fix webpack name ([#13049](https://togithub.com/facebook/jest/pull/13049))
- `[docs]` Explicit how to set `n` for `--bail` ([#13128](https://togithub.com/facebook/jest/pull/13128))
- `[docs]` Update Enzyme URL ([#13166](https://togithub.com/facebook/jest/pull/13166))
- `[jest-leak-detector]` Remove support for `weak-napi` ([#13035](https://togithub.com/facebook/jest/pull/13035))
- `[jest-snapshot]` \[**BREAKING**] Require `rootDir` as argument to `SnapshotState` ([#13150](https://togithub.com/facebook/jest/pull/13150))
### [`v28.1.3`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2813)
[Compare Source](https://togithub.com/jestjs/jest/compare/v28.1.2...v28.1.3)
##### Features
- `[jest-leak-detector]` Use native `FinalizationRegistry` when it exists to get rid of external C dependency ([#12973](https://togithub.com/facebook/jest/pull/12973))
##### Fixes
- `[jest-changed-files]` Fix a lock-up after repeated invocations ([#12757](https://togithub.com/facebook/jest/issues/12757))
- `[@jest/expect-utils]` Fix deep equality of ImmutableJS OrderedSets ([#12977](https://togithub.com/facebook/jest/pull/12977))
- `[jest-mock]` Add index signature support for `spyOn` types ([#13013](https://togithub.com/facebook/jest/pull/13013), [#13020](https://togithub.com/facebook/jest/pull/13020))
- `[jest-snapshot]` Fix indentation of awaited inline snapshots ([#12986](https://togithub.com/facebook/jest/pull/12986))
##### Chore & Maintenance
- `[*]` Replace internal usage of `pretty-format/ConvertAnsi` with `jest-serializer-ansi-escapes` ([#12935](https://togithub.com/facebook/jest/pull/12935), [#13004](https://togithub.com/facebook/jest/pull/13004))
- `[docs]` Update spyOn docs ([#13000](https://togithub.com/facebook/jest/pull/13000))
### [`v28.1.2`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2812)
[Compare Source](https://togithub.com/jestjs/jest/compare/v28.1.1...v28.1.2)
##### Fixes
- `[jest-runtime]` Avoid star type import from `@jest/globals` ([#12949](https://togithub.com/facebook/jest/pull/12949))
##### Chore & Maintenance
- `[docs]` Mention that jest-codemods now supports Sinon ([#12898](https://togithub.com/facebook/jest/pull/12898))
### [`v28.1.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2811)
[Compare Source](https://togithub.com/jestjs/jest/compare/v28.1.0...v28.1.1)
##### Features
- `[jest]` Expose `Config` type ([#12848](https://togithub.com/facebook/jest/pull/12848))
- `[@jest/reporters]` Improve `GitHubActionsReporter`s annotation format ([#12826](https://togithub.com/facebook/jest/pull/12826))
- `[@jest/types]` Infer argument types passed to `test` and `describe` callback functions from `each` tables ([#12885](https://togithub.com/facebook/jest/pull/12885), [#12905](https://togithub.com/facebook/jest/pull/12905))
##### Fixes
- `[@jest/expect-utils]` Fix deep equality of ImmutableJS OrderedMaps ([#12899](https://togithub.com/facebook/jest/pull/12899))
- `[jest-docblock]` Handle multiline comments in parseWithComments ([#12845](https://togithub.com/facebook/jest/pull/12845))
- `[jest-mock]` Improve `spyOn` error messages ([#12901](https://togithub.com/facebook/jest/pull/12901))
- `[jest-runtime]` Correctly report V8 coverage with `resetModules: true` ([#12912](https://togithub.com/facebook/jest/pull/12912))
- `[jest-worker]` Make `JestWorkerFarm` helper type to include methods of worker module that take more than one argument ([#12839](https://togithub.com/facebook/jest/pull/12839))
##### Chore & Maintenance
- `[docs]` Updated docs to indicate that `jest-environment-jsdom` is a separate package [#12828](https://togithub.com/facebook/jest/issues/12828)
- `[docs]` Document the comments used by coverage providers [#12835](https://togithub.com/facebook/jest/issues/12835)
- `[docs]` Use `docusaurus-remark-plugin-tab-blocks` to format tabs with code examples ([#12859](https://togithub.com/facebook/jest/pull/12859))
- `[jest-haste-map]` Bump `walker` version ([#12324](https://togithub.com/facebook/jest/pull/12324))
### [`v28.1.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2810)
[Compare Source](https://togithub.com/jestjs/jest/compare/v28.0.3...v28.1.0)
##### Features
- `[jest-circus]` Add `failing` test modifier that inverts the behavior of tests ([#12610](https://togithub.com/facebook/jest/pull/12610))
- `[jest-environment-node, jest-environment-jsdom]` Allow specifying `customExportConditions` ([#12774](https://togithub.com/facebook/jest/pull/12774))
##### Fixes
- `[expect]` Adjust typings of `lastCalledWith`, `nthCalledWith`, `toBeCalledWith` matchers to allow a case there a mock was called with no arguments ([#12807](https://togithub.com/facebook/jest/pull/12807))
- `[@jest/expect-utils]` Fix deep equality of ImmutableJS Lists ([#12763](https://togithub.com/facebook/jest/pull/12763))
- `[jest-core]` Do not collect `SIGNREQUEST` as open handles ([#12789](https://togithub.com/facebook/jest/pull/12789))
##### Chore & Maintenance
- `[docs]` Specified documentation about `--filter` CLI docs ([#12799](https://togithub.com/facebook/jest/pull/12799))
- `[@jest-reporters]` Move helper functions from `utils.ts` into separate files ([#12782](https://togithub.com/facebook/jest/pull/12782))
- `[jest-resolve]` Replace `process.versions.pnp` type declaration with `@types/pnpapi` devDependency ([#12783](https://togithub.com/facebook/jest/pull/12783))
### [`v28.0.3`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2803)
[Compare Source](https://togithub.com/jestjs/jest/compare/v28.0.2...v28.0.3)
##### Fixes
- `[jest-config]` Normalize `reporters` option defined in presets ([#12769](https://togithub.com/facebook/jest/pull/12769))
- `[@jest/reporters]` Fix trailing slash in matching `coverageThreshold` key ([#12714](https://togithub.com/facebook/jest/pull/12714))
- `[jest-resolve]` Fix (experimental) ESM module mocking for re-exports ([#12766](https://togithub.com/facebook/jest/pull/12766))
- `[@jest/transform]` Throw better error if an invalid return value if encountered ([#12764](https://togithub.com/facebook/jest/pull/12764))
##### Chore & Maintenance
- `[docs]` Fix typo in `--shard` CLI docs ([#12761](https://togithub.com/facebook/jest/pull/12761))
### [`v28.0.2`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2802)
[Compare Source](https://togithub.com/jestjs/jest/compare/v28.0.1...v28.0.2)
##### Features
- `[jest-worker]` Add `JestWorkerFarm` helper type ([#12753](https://togithub.com/facebook/jest/pull/12753))
##### Fixes
- `[*]` Lower Node 16 requirement to 16.10 from 16.13 due to a [Node bug](https://togithub.com/nodejs/node/issues/40014) that causes memory and performance issues ([#12754](https://togithub.com/facebook/jest/pull/12754))
### [`v28.0.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2801)
[Compare Source](https://togithub.com/jestjs/jest/compare/v28.0.0...v28.0.1)
##### Features
- `[jest-resolve]` Expose `ResolverOptions` type ([#12736](https://togithub.com/facebook/jest/pull/12736))
##### Fixes
- `[expect]` Add missing dependency `jest-util` ([#12744](https://togithub.com/facebook/jest/pull/12744))
- `[jest-circus]` Improve `test.concurrent` ([#12748](https://togithub.com/facebook/jest/pull/12748))
- `[jest-resolve]` Correctly throw an error if `jsdom` test environment is used, but not installed ([#12749](https://togithub.com/facebook/jest/pull/12749))
##### Chore & Maintenance
- `[jest-serializer]` Remove deprecated module from source tree ([#12735](https://togithub.com/facebook/jest/pull/12735))
### [`v28.0.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2800)
[Compare Source](https://togithub.com/jestjs/jest/compare/v27.5.1...v28.0.0)
##### Features
- `[babel-jest]` Export `createTransformer` function ([#12399](https://togithub.com/facebook/jest/pull/12399))
- `[expect]` Expose `AsymmetricMatchers`, `MatcherFunction` and `MatcherFunctionWithState` interfaces ([#12363](https://togithub.com/facebook/jest/pull/12363), [#12376](https://togithub.com/facebook/jest/pull/12376))
- `[jest-circus]` Support error logging before retry ([#12201](https://togithub.com/facebook/jest/pull/12201))
- `[jest-circus, jest-jasmine2]` Allowed classes and functions as `describe` and `it`/`test` names ([#12484](https://togithub.com/facebook/jest/pull/12484))
- `[jest-cli, jest-config]` \[**BREAKING**] Remove `testURL` config, use `testEnvironmentOptions.url` instead ([#10797](https://togithub.com/facebook/jest/pull/10797))
- `[jest-cli, jest-core]` Add `--shard` parameter for distributed parallel test execution ([#12546](https://togithub.com/facebook/jest/pull/12546))
- `[jest-cli]` \[**BREAKING**] Remove undocumented `--timers` option ([#12572](https://togithub.com/facebook/jest/pull/12572))
- `[jest-config]` \[**BREAKING**] Stop shipping `jest-environment-jsdom` by default ([#12354](https://togithub.com/facebook/jest/pull/12354))
- `[jest-config]` \[**BREAKING**] Stop shipping `jest-jasmine2` by default ([#12355](https://togithub.com/facebook/jest/pull/12355))
- `[jest-config, @jest/types]` Add `ci` to `GlobalConfig` ([#12378](https://togithub.com/facebook/jest/pull/12378))
- `[jest-config]` \[**BREAKING**] Rename `moduleLoader` to `runtime` ([#10817](https://togithub.com/facebook/jest/pull/10817))
- `[jest-config]` \[**BREAKING**] Rename `extraGlobals` to `sandboxInjectedGlobals` ([#10817](https://togithub.com/facebook/jest/pull/10817))
- `[jest-config]` \[**BREAKING**] Throw an error instead of showing a warning if multiple configs are used ([#12510](https://togithub.com/facebook/jest/pull/12510))
- `[jest-config]` \[**BREAKING**] Do not normalize long deprecated configuration options `preprocessorIgnorePatterns`, `scriptPreprocessor`, `setupTestFrameworkScriptFile` and `testPathDirs` ([#12701](https://togithub.com/facebook/jest/pull/12701))
- `[jest-cli, jest-core]` Add `--ignoreProjects` CLI argument to ignore test suites by project name ([#12620](https://togithub.com/facebook/jest/pull/12620))
- `[jest-core]` Pass project config to `globalSetup`/`globalTeardown` function as second argument ([#12440](https://togithub.com/facebook/jest/pull/12440))
- `[jest-core]` Stabilize test runners with event emitters ([#12641](https://togithub.com/facebook/jest/pull/12641))
- `[jest-core, jest-watcher]` \[**BREAKING**] Move `TestWatcher` class to `jest-watcher` package ([#12652](https://togithub.com/facebook/jest/pull/12652))
- `[jest-core]` Allow using Summary Reporter as stand-alone reporter ([#12687](https://togithub.com/facebook/jest/pull/12687))
- `[jest-environment-jsdom]` \[**BREAKING**] Upgrade jsdom to 19.0.0 ([#12290](https://togithub.com/facebook/jest/pull/12290))
- `[jest-environment-jsdom]` \[**BREAKING**] Add default `browser` condition to `exportConditions` for `jsdom` environment ([#11924](https://togithub.com/facebook/jest/pull/11924))
- `[jest-environment-jsdom]` \[**BREAKING**] Pass global config to Jest environment constructor for `jsdom` environment ([#12461](https://togithub.com/facebook/jest/pull/12461))
- `[jest-environment-jsdom]` \[**BREAKING**] Second argument `context` to constructor is mandatory ([#12469](https://togithub.com/facebook/jest/pull/12469))
- `[jest-environment-node]` \[**BREAKING**] Add default `node` and `node-addon` conditions to `exportConditions` for `node` environment ([#11924](https://togithub.com/facebook/jest/pull/11924))
- `[jest-environment-node]` \[**BREAKING**] Pass global config to Jest environment constructor for `node` environment ([#12461](https://togithub.com/facebook/jest/pull/12461))
- `[jest-environment-node]` \[**BREAKING**] Second argument `context` to constructor is mandatory ([#12469](https://togithub.com/facebook/jest/pull/12469))
- `[jest-environment-node]` Add all available globals to test globals, not just explicit ones ([#12642](https://togithub.com/facebook/jest/pull/12642), [#12696](https://togithub.com/facebook/jest/pull/12696))
- `[@jest/expect]` New module which extends `expect` with `jest-snapshot` matchers ([#12404](https://togithub.com/facebook/jest/pull/12404), [#12410](https://togithub.com/facebook/jest/pull/12410), [#12418](https://togithub.com/facebook/jest/pull/12418))
- `[@jest/expect-utils]` New module exporting utils for `expect` ([#12323](https://togithub.com/facebook/jest/pull/12323))
- `[@jest/fake-timers]` \[**BREAKING**] Rename `timers` configuration option to `fakeTimers` ([#12572](https://togithub.com/facebook/jest/pull/12572))
- `[@jest/fake-timers]` \[**BREAKING**] Allow `jest.useFakeTimers()` and `projectConfig.fakeTimers` to take an options bag ([#12572](https://togithub.com/facebook/jest/pull/12572))
- `[jest-haste-map]` \[**BREAKING**] `HasteMap.create` now returns a promise ([#12008](https://togithub.com/facebook/jest/pull/12008))
- `[jest-haste-map]` Add support for `dependencyExtractor` written in ESM ([#12008](https://togithub.com/facebook/jest/pull/12008))
- `[jest-mock]` \[**BREAKING**] Rename exported utility types `ClassLike`, `FunctionLike`, `ConstructorLikeKeys`, `MethodLikeKeys`, `PropertyLikeKeys`; remove exports of utility types `ArgumentsOf`, `ArgsType`, `ConstructorArgumentsOf` - TS builtin utility types `ConstructorParameters` and `Parameters` should be used instead ([#12435](https://togithub.com/facebook/jest/pull/12435), [#12489](https://togithub.com/facebook/jest/pull/12489))
- `[jest-mock]` Improve `isMockFunction` to infer types of passed function ([#12442](https://togithub.com/facebook/jest/pull/12442))
- `[jest-mock]` \[**BREAKING**] Improve the usage of `jest.fn` generic type argument ([#12489](https://togithub.com/facebook/jest/pull/12489))
- `[jest-mock]` Add support for auto-mocking async generator functions ([#11080](https://togithub.com/facebook/jest/pull/11080))
- `[jest-mock]` Add `contexts` member to mock functions ([#12601](https://togithub.com/facebook/jest/pull/12601))
- `[@jest/reporters]` Add GitHub Actions reporter ([#11320](https://togithub.com/facebook/jest/pull/11320), [#12658](https://togithub.com/facebook/jest/pull/12658))
- `[@jest/reporters]` Pass `reporterContext` to custom reporter constructors as third argument ([#12657](https://togithub.com/facebook/jest/pull/12657))
- `[jest-resolve]` \[**BREAKING**] Add support for `package.json` `exports` ([#11961](https://togithub.com/facebook/jest/pull/11961), [#12373](https://togithub.com/facebook/jest/pull/12373))
- `[jest-resolve]` Support package self-reference ([#12682](https://togithub.com/facebook/jest/pull/12682))
- `[jest-resolve, jest-runtime]` Add support for `data:` URI import and mock ([#12392](https://togithub.com/facebook/jest/pull/12392))
- `[jest-resolve, jest-runtime]` Add support for async resolver ([#11540](https://togithub.com/facebook/jest/pull/11540))
- `[jest-resolve]` \[**BREAKING**] Remove `browser?: boolean` from resolver options, `conditions: ['browser']` should be used instead ([#12707](https://togithub.com/facebook/jest/pull/12707))
- `[jest-resolve]` Expose `JestResolver`, `AsyncResolver`, `SyncResolver`, `PackageFilter`, `PathFilter` and `PackageJSON` types ([#12707](https://togithub.com/facebook/jest/pull/12707), ([#12712](https://togithub.com/facebook/jest/pull/12712))
- `[jest-runner]` Allow `setupFiles` module to export an async function ([#12042](https://togithub.com/facebook/jest/pull/12042))
- `[jest-runner]` Allow passing `testEnvironmentOptions` via docblocks ([#12470](https://togithub.com/facebook/jest/pull/12470))
- `[jest-runner]` Expose `CallbackTestRunner`, `EmittingTestRunner` abstract classes and `CallbackTestRunnerInterface`, `EmittingTestRunnerInterface` to help typing third party runners ([#12646](https://togithub.com/facebook/jest/pull/12646), [#12715](https://togithub.com/facebook/jest/pull/12715))
- `[jest-runner]` Lock version of `source-map-support` to 0.5.13 ([#12720](https://togithub.com/facebook/jest/pull/12720))
- `[jest-runtime]` \[**BREAKING**] `Runtime.createHasteMap` now returns a promise ([#12008](https://togithub.com/facebook/jest/pull/12008))
- `[jest-runtime]` Calling `jest.resetModules` function will clear FS and transform cache ([#12531](https://togithub.com/facebook/jest/pull/12531))
- `[jest-runtime]` \[**BREAKING**] Remove `Context` type export, it must be imported from `@jest/test-result` ([#12685](https://togithub.com/facebook/jest/pull/12685))
- `[jest-runtime]` Add `import.meta.jest` ([#12698](https://togithub.com/facebook/jest/pull/12698))
- `[@jest/schemas]` New module for JSON schemas for Jest's config ([#12384](https://togithub.com/facebook/jest/pull/12384))
- `[@jest/source-map]` Migrate from `source-map` to `@jridgewell/trace-mapping` ([#12692](https://togithub.com/facebook/jest/pull/12692))
- `[jest-transform]` \[**BREAKING**] Make it required for `process()` and `processAsync()` methods to always return structured data ([#12638](https://togithub.com/facebook/jest/pull/12638))
- `[jest-test-result]` Add duration property to JSON test output ([#12518](https://togithub.com/facebook/jest/pull/12518))
- `[jest-watcher]` \[**BREAKING**] Make `PatternPrompt` class to take `entityName` as third constructor parameter instead of `this._entityName` ([#12591](https://togithub.com/facebook/jest/pull/12591))
- `[jest-worker]` \[**BREAKING**] Allow only absolute `workerPath` ([#12343](https://togithub.com/facebook/jest/pull/12343))
- `[jest-worker]` \[**BREAKING**] Default to advanced serialization when using child process workers ([#10983](https://togithub.com/facebook/jest/pull/10983))
- `[pretty-format]` New `maxWidth` parameter ([#12402](https://togithub.com/facebook/jest/pull/12402))
##### Fixes
- `[*]` Use `sha256` instead of `md5` as hashing algortihm for compatibility with FIPS systems ([#12722](https://togithub.com/facebook/jest/pull/12722))
- `[babel-jest]` \[**BREAKING**] Pass `rootDir` as `root` in Babel's options ([#12689](https://togithub.com/facebook/jest/pull/12689))
- `[expect]` Move typings of `.not`, `.rejects` and `.resolves` modifiers outside of `Matchers` interface ([#12346](https://togithub.com/facebook/jest/pull/12346))
- `[expect]` Throw useful error if `expect.extend` is called with invalid matchers ([#12488](https://togithub.com/facebook/jest/pull/12488))
- `[expect]` Fix `iterableEquality` ignores other properties ([#8359](https://togithub.com/facebook/jest/pull/8359))
- `[expect]` Fix print for the `closeTo` matcher ([#12626](https://togithub.com/facebook/jest/pull/12626))
- `[jest-changed-files]` Improve `changedFilesWithAncestor` pattern for Mercurial SCM ([#12322](https://togithub.com/facebook/jest/pull/12322))
- `[jest-circus, @jest/types]` Disallow undefined value in `TestContext` type ([#12507](https://togithub.com/facebook/jest/pull/12507))
- `[jest-config]` Correctly detect CI environment and update snapshots accordingly ([#12378](https://togithub.com/facebook/jest/pull/12378))
- `[jest-config]` Pass `moduleTypes` to `ts-node` to enforce CJS when transpiling ([#12397](https://togithub.com/facebook/jest/pull/12397))
- `[jest-config]` \[**BREAKING**] Add `mjs` and `cjs` to default `moduleFileExtensions` config ([#12578](https://togithub.com/facebook/jest/pull/12578))
- `[jest-config, jest-haste-map]` Allow searching for tests in `node_modules` by exposing `retainAllFiles` ([#11084](https://togithub.com/facebook/jest/pull/11084))
- `[jest-core]` \[**BREAKING**] Exit with status `1` if no tests are found with `--findRelatedTests` flag ([#12487](https://togithub.com/facebook/jest/pull/12487))
- `[jest-core]` Do not report unref-ed subprocesses as open handles ([#12705](https://togithub.com/facebook/jest/pull/12705))
- `[jest-each]` `%#` is not replaced with index of the test case ([#12517](https://togithub.com/facebook/jest/pull/12517))
- `[jest-each]` Fixes error message with incorrect count of missing arguments ([#12464](https://togithub.com/facebook/jest/pull/12464))
- `[jest-environment-jsdom]` Make `jsdom` accessible to extending environments again ([#12232](https://togithub.com/facebook/jest/pull/12232))
- `[jest-environment-jsdom]` Log JSDOM errors more cleanly ([#12386](https://togithub.com/facebook/jest/pull/12386))
- `[jest-environment-node]` Add `MessageChannel`, `MessageEvent` to globals ([#12553](https://togithub.com/facebook/jest/pull/12553))
- `[jest-environment-node]` Add `structuredClone` to globals ([#12631](https://togithub.com/facebook/jest/pull/12631))
- `[@jest/expect-utils]` \[**BREAKING**] Fix false positives when looking for `undefined` prop ([#8923](https://togithub.com/facebook/jest/pull/8923))
- `[jest-haste-map]` Don't use partial results if file crawl errors ([#12420](https://togithub.com/facebook/jest/pull/12420))
- `[jest-haste-map]` Make watchman existence check lazy+async ([#12675](https://togithub.com/facebook/jest/pull/12675))
- `[jest-jasmine2, jest-types]` \[**BREAKING**] Move al
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 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 issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This PR contains the following updates:
26.6.3
->29.7.0
Release Notes
jestjs/jest (jest)
### [`v29.7.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2970) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.6.4...v29.7.0) ##### Features - `[create-jest]` Add `npm init` / `yarn create` initialiser for Jest projects ([#14465](https://togithub.com/jestjs/jest/pull/14453)) - `[jest-validate]` Allow deprecation warnings for unknown options ([#14499](https://togithub.com/jestjs/jest/pull/14499)) ##### Fixes - `[jest-resolver]` Replace unmatched capture groups in `moduleNameMapper` with empty string instead of `undefined` ([#14507](https://togithub.com/jestjs/jest/pull/14507)) - `[jest-snapshot]` Allow for strings as well as template literals in inline snapshots ([#14465](https://togithub.com/jestjs/jest/pull/14465)) - `[@jest/test-sequencer]` Calculate test runtime if `perStats.duration` is missing ([#14473](https://togithub.com/jestjs/jest/pull/14473)) ##### Performance - `[@jest/create-cache-key-function]` Cache access of `NODE_ENV` and `BABEL_ENV` ([#14455](https://togithub.com/jestjs/jest/pull/14455)) ##### Chore & Maintenance - `[jest-cli]` Move internal config initialisation logic to the `create-jest` package ([#14465](https://togithub.com/jestjs/jest/pull/14453)) ### [`v29.6.4`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2964) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.6.3...v29.6.4) ##### Fixes - `[jest-core]` Fix typo in `scheduleAndRun` performance marker ([#14434](https://togithub.com/jestjs/jest/pull/14434)) - `[jest-environment-node]` Make sure `atob` and `btoa` are writeable in Node 20 ([#14446](https://togithub.com/jestjs/jest/pull/14446)) - `[jest-worker]` Additional error wrapper for `parentPort.postMessage` to fix unhandled `DataCloneError`. ([#14437](https://togithub.com/jestjs/jest/pull/14437)) ### [`v29.6.3`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2963) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.6.2...v29.6.3) ##### Fixes - `[expect, @jest/expect-utils]` `ObjectContaining` support `sumbol` as key ([#14414](https://togithub.com/jestjs/jest/pull/14414)) - `[expect]` Remove `@types/node` from dependencies ([#14385](https://togithub.com/jestjs/jest/pull/14385)) - `[jest-core]` Use workers in watch mode by default to avoid crashes ([#14059](https://togithub.com/facebook/jest/pull/14059) & [#14085](https://togithub.com/facebook/jest/pull/14085)). - `[jest-reporters]` Update `istanbul-lib-instrument` dependency to v6. ([#14401](https://togithub.com/jestjs/jest/pull/14401)) - `[jest-mock]` Revert [#13692](https://togithub.com/jestjs/jest/pull/13692) as it was a breaking change ([#14429](https://togithub.com/jestjs/jest/pull/14429)) - `[jest-mock]` Revert [#13866](https://togithub.com/jestjs/jest/pull/13866) as it was a breaking change ([#14429](https://togithub.com/jestjs/jest/pull/14429)) - `[jest-mock]` Revert [#13867](https://togithub.com/jestjs/jest/pull/13867) as it was a breaking change ([#14429](https://togithub.com/jestjs/jest/pull/14429)) - `[@jest/reporters]` Marks Reporter's hooks as optional ([#14433](https://togithub.com/jestjs/jest/pull/14433)) - `[jest-runtime]` Fix dynamic ESM import module bug when loaded module through `jest.isolateModulesAsync` ([#14397](https://togithub.com/jestjs/jest/pull/14397)) ##### Chore & Maintenance - `[jest-changed-files, jest-circus, jest-console, @jest/core, @jest/runtime, @jest/transform]` Use `invariant` and `notEmpty` from `jest-util` rather than own internal ([#14366](https://togithub.com/jestjs/jest/pull/14366)) ### [`v29.6.2`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2962) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.6.1...v29.6.2) ##### Fixes - `[jest-circus]` Fix snapshot matchers in concurrent tests when nr of tests exceeds `maxConcurrency` ([#14335](https://togithub.com/jestjs/jest/pull/14335)) - `[@jest/core]` When running global setup and teardown, do not try to change the `message` property of the thrown error object when the `message` property is unwritable ([#14113](https://togithub.com/jestjs/jest/pull/14113)) - `[jest-snapshot]` Move `@types/prettier` from `dependencies` to `devDependencies` ([#14328](https://togithub.com/jestjs/jest/pull/14328)) - `[jest-snapshot]` Throw an explicit error if Prettier v3 is used ([#14367](https://togithub.com/jestjs/jest/pull/14367)) - `[jest-reporters]` Add "skipped" and "todo" symbols to Github Actions Reporter ([#14309](https://togithub.com/jestjs/jest/pull/14309)) ##### Chore & Maintenance - `[@jest/core]` Use `pluralize` from `jest-util` rather than own internal ([#14322](https://togithub.com/jestjs/jest/pull/14322)) ### [`v29.6.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2961) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.6.0...v29.6.1) ##### Fixes - `[jest-circus]` Revert [#14110](https://togithub.com/jestjs/jest/pull/14110) as it was a breaking change ([#14304](https://togithub.com/jestjs/jest/pull/14304)) ### [`v29.6.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2960) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.5.0...v29.6.0) ##### Features - `[jest-circus, jest-snapshot]` Add support for snapshot matchers in concurrent tests ([#14139](https://togithub.com/jestjs/jest/pull/14139)) - `[jest-cli]` Include type definitions to generated config files ([#14078](https://togithub.com/facebook/jest/pull/14078)) - `[jest-snapshot]` Support arrays as property matchers ([#14025](https://togithub.com/facebook/jest/pull/14025)) - `[jest-core, jest-circus, jest-reporter, jest-runner]` Added support for reporting about start individual test cases using jest-circus ([#14174](https://togithub.com/jestjs/jest/pull/14174)) ##### Fixes - `[jest-circus]` Prevent false test failures caused by promise rejections handled asynchronously ([#14110](https://togithub.com/jestjs/jest/pull/14110)) - `[jest-config]` Handle frozen config object ([#14054](https://togithub.com/facebook/jest/pull/14054)) - `[jest-config]` Allow `coverageDirectory` and `collectCoverageFrom` in project config ([#14180](https://togithub.com/jestjs/jest/pull/14180)) - `[jest-core]` Always use workers in watch mode to avoid crashes ([#14059](https://togithub.com/facebook/jest/pull/14059)). - `[jest-environment-jsdom, jest-environment-node]` Fix assignment of `customExportConditions` via `testEnvironmentOptions` when custom env subclass defines a default value ([#13989](https://togithub.com/facebook/jest/pull/13989)) - `[jest-matcher-utils]` Fix copying value of inherited getters ([#14007](https://togithub.com/facebook/jest/pull/14007)) - `[jest-mock]` Tweak typings to allow `jest.replaceProperty()` replace methods ([#14008](https://togithub.com/facebook/jest/pull/14008)) - `[jest-mock]` Improve user input validation and error messages of `spyOn` and `replaceProperty` methods ([#14087](https://togithub.com/facebook/jest/pull/14087)) - `[jest-runtime]` Bind `jest.isolateModulesAsync` to `this` ([#14083](https://togithub.com/facebook/jest/pull/14083)) - `[jest-runtime]` Forward `wrapperLength` to the `Script` constructor as `columnOffset` for accurate debugging ([#14148](https://togithub.com/facebook/jest/pull/14148)) - `[jest-runtime]` Guard `_isMockFunction` access with `in` ([#14188](https://togithub.com/facebook/jest/pull/14188)) - `[jest-snapshot]` Fix a potential bug when not using prettier and improve performance ([#14036](https://togithub.com/facebook/jest/pull/14036)) - `[@jest/transform]` Do not instrument `.json` modules ([#14048](https://togithub.com/facebook/jest/pull/14048)) - `[jest-worker]` Restart a shut down worker before sending it a task ([#14015](https://togithub.com/facebook/jest/pull/14015)) ##### Chore & Maintenance - `[*]` Update `semver` dependency to get vulnerability fix ([#14262](https://togithub.com/jestjs/jest/pull/14262)) - `[docs]` Updated documentation for the `--runTestsByPath` CLI command ([#14004](https://togithub.com/facebook/jest/pull/14004)) - `[docs]` Updated documentation regarding the synchronous fallback when asynchronous code transforms are unavailable ([#14056](https://togithub.com/facebook/jest/pull/14056)) - `[docs]` Update jest statistics of use and downloads in website Index. ### [`v29.5.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2950) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.4.3...v29.5.0) ##### Features - `[jest-changed-files]` Support Sapling ([#13941](https://togithub.com/facebook/jest/pull/13941)) - `[jest-circus, @jest/cli, jest-config]` Add feature to randomize order of tests via CLI flag or through the config file([#12922](https://togithub.com/facebook/jest/pull/12922)) - `[jest-cli, jest-config, @jest/core, jest-haste-map, @jest/reporters, jest-runner, jest-runtime, @jest/types]` Add `workerThreads` configuration option to allow using [worker threads](https://nodejs.org/dist/latest/docs/api/worker_threads.html) for parallelization ([#13939](https://togithub.com/facebook/jest/pull/13939)) - `[jest-cli]` Export `yargsOptions` ([#13970](https://togithub.com/facebook/jest/pull/13970)) - `[jest-config]` Add `openHandlesTimeout` option to configure possible open handles warning. ([#13875](https://togithub.com/facebook/jest/pull/13875)) - `[@jest/create-cache-key-function]` Allow passing `length` argument to `createCacheKey()` function and set its default value to `16` on Windows ([#13827](https://togithub.com/facebook/jest/pull/13827)) - `[jest-message-util]` Add support for [AggregateError](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError) ([#13946](https://togithub.com/facebook/jest/pull/13946) & [#13947](https://togithub.com/facebook/jest/pull/13947)) - `[jest-message-util]` Add support for [Error causes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause) in `test` and `it` ([#13935](https://togithub.com/facebook/jest/pull/13935) & [#13966](https://togithub.com/facebook/jest/pull/13966)) - `[jest-reporters]` Add `summaryThreshold` option to summary reporter to allow overriding the internal threshold that is used to print the summary of all failed tests when the number of test suites surpasses it ([#13895](https://togithub.com/facebook/jest/pull/13895)) - `[jest-runtime]` Expose `@sinonjs/fake-timers` async APIs functions `advanceTimersByTimeAsync(msToRun)` (`tickAsync(msToRun)`), `advanceTimersToNextTimerAsync(steps)` (`nextAsync`), `runAllTimersAsync` (`runAllAsync`), and `runOnlyPendingTimersAsync` (`runToLastAsync`) ([#13981](https://togithub.com/facebook/jest/pull/13981)) - `[jest-runtime, @jest/transform]` Allow V8 coverage provider to collect coverage from files which were not loaded explicitly ([#13974](https://togithub.com/facebook/jest/pull/13974)) - `[jest-snapshot]` Add support to `cts` and `mts` TypeScript files to inline snapshots ([#13975](https://togithub.com/facebook/jest/pull/13975)) - `[jest-worker]` Add `start` method to worker farms ([#13937](https://togithub.com/facebook/jest/pull/13937)) - `[jest-worker]` Support passing a URL as path to worker ([#13982](https://togithub.com/facebook/jest/pull/13982)) ##### Fixes - `[babel-plugin-jest-hoist]` Fix unwanted hoisting of nested `jest` usages ([#13952](https://togithub.com/facebook/jest/pull/13952)) - `[jest-circus]` Send test case results for `todo` tests ([#13915](https://togithub.com/facebook/jest/pull/13915)) - `[jest-circus]` Update message printed on test timeout ([#13830](https://togithub.com/facebook/jest/pull/13830)) - `[jest-circus]` Avoid creating the word "testfalse" when `takesDoneCallback` is `false` in the message printed on test timeout AND updated timeouts test ([#13954](https://togithub.com/facebook/jest/pull/13954)) - `[jest-environment-jsdom]` Stop setting `document` to `null` on teardown ([#13972](https://togithub.com/facebook/jest/pull/13972)) - `[@jest/expect-utils]` Update `toStrictEqual()` to be able to check `jest.fn().mock.calls` ([#13960](https://togithub.com/facebook/jest/pull/13960)) - `[@jest/test-result]` Allow `TestResultsProcessor` type to return a Promise ([#13950](https://togithub.com/facebook/jest/pull/13950)) ##### Chore & Maintenance - `[jest-snapshot]` Remove dependency on `jest-haste-map` ([#13977](https://togithub.com/facebook/jest/pull/13977)) ### [`v29.4.3`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2943) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.4.2...v29.4.3) ##### Features - `[expect]` Update `toThrow()` to be able to use error `cause`s ([#13606](https://togithub.com/facebook/jest/pull/13606)) - `[jest-core]` allow to use `workerIdleMemoryLimit` with only 1 worker or `runInBand` option ([#13846](https://togithub.com/facebook/jest/pull/13846)) - `[jest-message-util]` Add support for [error `cause`s](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause) ([#13868](https://togithub.com/facebook/jest/pull/13868) & [#13912](https://togithub.com/facebook/jest/pull/13912)) - `[jest-runtime]` Revert `import assertions` for JSON modules as it's been relegated to Stage 2 ([#13911](https://togithub.com/facebook/jest/pull/13911)) ##### Fixes - `[@jest/expect-utils]` `subsetEquality` should consider also an object's inherited string keys ([#13824](https://togithub.com/facebook/jest/pull/13824)) - `[jest-mock]` Clear mock state when `jest.restoreAllMocks()` is called ([#13867](https://togithub.com/facebook/jest/pull/13867)) - `[jest-mock]` Prevent `mockImplementationOnce` and `mockReturnValueOnce` bleeding into `withImplementation` ([#13888](https://togithub.com/facebook/jest/pull/13888)) - `[jest-mock]` Do not restore mocks when `jest.resetAllMocks()` is called ([#13866](https://togithub.com/facebook/jest/pull/13866)) ### [`v29.4.2`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2942) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.4.1...v29.4.2) ##### Features - `[@jest/core]` Instrument significant lifecycle events with [`performance.mark()`](https://nodejs.org/docs/latest-v16.x/api/perf_hooks.html#performancemarkname-options) ([#13859](https://togithub.com/facebook/jest/pull/13859)) ##### Fixes - `[expect, @jest/expect]` Provide type of `actual` as a generic argument to `Matchers` to allow better-typed extensions ([#13848](https://togithub.com/facebook/jest/pull/13848)) - `[jest-circus]` Added explicit mention of test failing because `done()` is not being called in error message ([#13847](https://togithub.com/facebook/jest/pull/13847)) - `[jest-runtime]` Handle CJS re-exports of node core modules from ESM ([#13856](https://togithub.com/facebook/jest/pull/13856)) - `[jest-transform]` Downgrade `write-file-atomic` to v4 ([#13853](https://togithub.com/facebook/jest/pull/13853)) - `[jest-worker]` Ignore IPC messages not intended for Jest ([#13543](https://togithub.com/facebook/jest/pull/13543)) ##### Chore & Maintenance - `[*]` make sure to exclude `.eslintcache` from published module ([#13832](https://togithub.com/facebook/jest/pull/13832)) - `[docs]` Cleanup incorrect links in CHANGELOG.md ([#13857](https://togithub.com/facebook/jest/pull/13857)) ### [`v29.4.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2941) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.4.0...v29.4.1) ##### Features - `[expect, jest-circus, @jest/types]` Implement `numPassingAsserts` of testResults to track the number of passing asserts in a test ([#13795](https://togithub.com/facebook/jest/pull/13795)) - `[jest-core]` Add newlines to JSON output ([#13817](https://togithub.com/facebook/jest/pull/13817)) - `[@jest/reporters]` Automatic log folding in GitHub Actions Reporter ([#13626](https://togithub.com/facebook/jest/pull/13626)) ##### Fixes - `[@jest/expect-utils]` `toMatchObject` diffs should include `Symbol` properties ([#13810](https://togithub.com/facebook/jest/pull/13810)) - `[jest-runtime]` Handle missing `replaceProperty` ([#13823](https://togithub.com/facebook/jest/pull/13823)) - `[@jest/types]` Add partial support for `done` callbacks in typings of `each` ([#13756](https://togithub.com/facebook/jest/pull/13756)) ### [`v29.4.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2940) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.3.1...v29.4.0) ##### Features - `[expect, @jest/expect-utils]` Support custom equality testers ([#13654](https://togithub.com/facebook/jest/pull/13654)) - `[jest-config, jest-worker]` Use `os.availableParallelism` if available to calculate number of workers to spawn ([#13738](https://togithub.com/facebook/jest/pull/13738)) - `[@jest/globals, jest-mock]` Add `jest.replaceProperty()` that replaces property value ([#13496](https://togithub.com/facebook/jest/pull/13496)) - `[jest-haste-map]` ignore Sapling vcs directories (`.sl/`) ([#13674](https://togithub.com/facebook/jest/pull/13674)) - `[jest-resolve]` Support subpath imports ([#13705](https://togithub.com/facebook/jest/pull/13705), [#13723](https://togithub.com/facebook/jest/pull/13723), [#13777](https://togithub.com/facebook/jest/pull/13777)) - `[jest-runtime]` Add `jest.isolateModulesAsync` for scoped module initialization of asynchronous functions ([#13680](https://togithub.com/facebook/jest/pull/13680)) - `[jest-runtime]` Add `jest.isEnvironmentTornDown` function ([#13741](https://togithub.com/facebook/jest/pull/13741)) - `[jest-test-result]` Added `skipped` and `focused` status to `FormattedTestResult` ([#13700](https://togithub.com/facebook/jest/pull/13700)) - `[jest-transform]` Support for asynchronous `createTransformer` ([#13762](https://togithub.com/facebook/jest/pull/13762)) ##### Fixes - `[jest-environment-node]` Fix non-configurable globals ([#13687](https://togithub.com/facebook/jest/pull/13687)) - `[@jest/expect-utils]` `toMatchObject` should handle `Symbol` properties ([#13639](https://togithub.com/facebook/jest/pull/13639)) - `[jest-mock]` Fix `mockReset` and `resetAllMocks` `undefined` return value([#13692](https://togithub.com/facebook/jest/pull/13692)) - `[jest-resolve]` Add global paths to `require.resolve.paths` ([#13633](https://togithub.com/facebook/jest/pull/13633)) - `[jest-resolve]` Correct node core module detection when using `node:` specifiers ([#13806](https://togithub.com/facebook/jest/pull/13806)) - `[jest-runtime]` Support WASM files that import JS resources ([#13608](https://togithub.com/facebook/jest/pull/13608)) - `[jest-runtime]` Use the `scriptTransformer` cache in `jest-runner` ([#13735](https://togithub.com/facebook/jest/pull/13735)) - `[jest-runtime]` Enforce import assertions when importing JSON in ESM ([#12755](https://togithub.com/facebook/jest/pull/12755) & [#13805](https://togithub.com/facebook/jest/pull/13805)) - `[jest-snapshot]` Make sure to import `babel` outside of the sandbox ([#13694](https://togithub.com/facebook/jest/pull/13694)) - `[jest-transform]` Ensure the correct configuration is passed to preprocessors specified multiple times in the `transform` option ([#13770](https://togithub.com/facebook/jest/pull/13770)) ##### Chore & Maintenance - `[@jest/fake-timers]` Update `@sinonjs/fake-timers` ([#13612](https://togithub.com/facebook/jest/pull/13612)) - `[docs]` Improve custom puppeteer example to prevent worker warnings ([#13619](https://togithub.com/facebook/jest/pull/13619)) ### [`v29.3.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2931) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.3.0...v29.3.1) ##### Fixes - `[jest-config]` Do not warn about `preset` in `ProjectConfig` ([#13583](https://togithub.com/facebook/jest/pull/13583)) ##### Performance - `[jest-transform]` Defer creation of cache directory ([#13420](https://togithub.com/facebook/jest/pull/13420)) ### [`v29.3.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2930) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.2.2...v29.3.0) ##### Features - `[jest-runtime]` Support WebAssembly (Wasm) imports in ESM modules ([#13505](https://togithub.com/facebook/jest/pull/13505)) ##### Fixes - `[jest-config]` Add config validation for `projects` option ([#13565](https://togithub.com/facebook/jest/pull/13565)) - `[jest-mock]` Treat cjs modules as objects so they can be mocked ([#13513](https://togithub.com/facebook/jest/pull/13513)) - `[jest-worker]` Throw an error instead of hanging when jest workers terminate unexpectedly ([#13566](https://togithub.com/facebook/jest/pull/13566)) ##### Chore & Maintenance - `[@jest/transform]` Update `convert-source-map` ([#13509](https://togithub.com/facebook/jest/pull/13509)) - `[docs]` Mention `toStrictEqual` in UsingMatchers docs. ([#13560](https://togithub.com/facebook/jest/pull/13560)) ### [`v29.2.2`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2922) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.2.1...v29.2.2) ##### Fixes - `[@jest/test-sequencer]` Make sure sharding does not produce empty groups ([#13476](https://togithub.com/facebook/jest/pull/13476)) - `[jest-circus]` Test marked as `todo` are shown as todo when inside a focussed describe ([#13504](https://togithub.com/facebook/jest/pull/13504)) - `[jest-mock]` Ensure mock resolved and rejected values are promises from correct realm ([#13503](https://togithub.com/facebook/jest/pull/13503)) - `[jest-snapshot]` Don't highlight passing asymmetric property matchers in snapshot diff ([#13480](https://togithub.com/facebook/jest/issues/13480)) ##### Chore & Maintenance - `[docs]` Update link to Jest 28 upgrade guide in error message ([#13483](https://togithub.com/facebook/jest/pull/13483)) - `[jest-runner, jest-watcher]` Update `emittery` ([#13490](https://togithub.com/facebook/jest/pull/13490)) ### [`v29.2.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2921) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.2.0...v29.2.1) ##### Features - `[@jest/globals, jest-mock]` Add `jest.Spied*` utility types ([#13440](https://togithub.com/facebook/jest/pull/13440)) ##### Fixes - `[jest-environment-node]` make `globalThis.performance` writable for Node 19 and fake timers ([#13467](https://togithub.com/facebook/jest/pull/13467)) - `[jest-mock]` Revert [#13398](https://togithub.com/facebook/jest/pull/13398) to restore mocking of setters ([#13472](https://togithub.com/facebook/jest/pull/13472)) ##### Performance - `[*]` Use sha1 instead of sha256 for hashing ([#13421](https://togithub.com/facebook/jest/pull/13421)) ### [`v29.2.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2920) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.1.2...v29.2.0) ##### Features - `[@jest/cli, jest-config]` A seed for the test run will be randomly generated, or set by a CLI option ([#13400](https://togithub.com/facebook/jest/pull/13400)) - `[@jest/cli, jest-config]` `--show-seed` will display the seed value in the report, and can be set via a CLI flag or through the config file ([#13400](https://togithub.com/facebook/jest/pull/13400)) - `[jest-config]` Add `readInitialConfig` utility function ([#13356](https://togithub.com/facebook/jest/pull/13356)) - `[jest-core]` Allow `testResultsProcessor` to be async ([#13343](https://togithub.com/facebook/jest/pull/13343)) - `[@jest/environment, jest-environment-node, jest-environment-jsdom, jest-runtime]` Add `getSeed()` to the `jest` object ([#13400](https://togithub.com/facebook/jest/pull/13400)) - `[expect, @jest/expect-utils]` Allow `isA` utility to take a type argument ([#13355](https://togithub.com/facebook/jest/pull/13355)) - `[expect]` Expose `AsyncExpectationResult` and `SyncExpectationResult` types ([#13411](https://togithub.com/facebook/jest/pull/13411)) ##### Fixes - `[babel-plugin-jest-hoist]` Ignore `TSTypeQuery` when checking for hoisted references ([#13367](https://togithub.com/facebook/jest/pull/13367)) - `[jest-core]` Fix `detectOpenHandles` false positives for some special objects such as `TLSWRAP` ([#13414](https://togithub.com/facebook/jest/pull/13414)) - `[jest-mock]` Fix mocking of getters and setters on classes ([#13398](https://togithub.com/facebook/jest/pull/13398)) - `[jest-reporters]` Revert: Transform file paths into hyperlinks ([#13399](https://togithub.com/facebook/jest/pull/13399)) - `[@jest/types]` Infer type of `each` table correctly when the table is a tuple or array ([#13381](https://togithub.com/facebook/jest/pull/13381)) - `[@jest/types]` Rework typings to allow the `*ReturnedWith` matchers to be called with no argument ([#13385](https://togithub.com/facebook/jest/pull/13385)) ##### Chore & Maintenance - `[*]` Update `@babel/*` deps, resulting in slightly different stack traces for `each` ([#13422](https://togithub.com/facebook/jest/pull/13422)) ##### Performance - `[jest-runner]` Do not instrument v8 coverage data if coverage should not be collected ([#13282](https://togithub.com/facebook/jest/pull/13282)) ### [`v29.1.2`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2912) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.1.1...v29.1.2) ##### Fixes - `[expect, @jest/expect]` Revert buggy inference of argument types for `*CalledWith` and `*ReturnedWith` matchers introduced in 29.1.0 ([#13339](https://togithub.com/facebook/jest/pull/13339)) - `[jest-worker]` Add missing dependency on `jest-util` ([#13341](https://togithub.com/facebook/jest/pull/13341)) ### [`v29.1.1`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2911) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.1.0...v29.1.1) ##### Fixes - `[jest-mock]` Revert [#13145](https://togithub.com/facebook/jest/pull/13145) which broke mocking of transpiled ES modules ### [`v29.1.0`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2910) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.0.3...v29.1.0) ##### Features - `[expect, @jest/expect]` Support type inference for function parameters in `CalledWith` assertions ([#13268](https://togithub.com/facebook/jest/pull/13268)) - `[expect, @jest/expect]` Infer type of `*ReturnedWith` matchers argument ([#13278](https://togithub.com/facebook/jest/pull/13278)) - `[@jest/environment, jest-runtime]` Allow `jest.requireActual` and `jest.requireMock` to take a type argument ([#13253](https://togithub.com/facebook/jest/pull/13253)) - `[@jest/environment]` Allow `jest.mock` and `jest.doMock` to take a type argument ([#13254](https://togithub.com/facebook/jest/pull/13254)) - `[@jest/fake-timers]` Add `jest.now()` to return the current fake clock time ([#13244](https://togithub.com/facebook/jest/pull/13244), [#13246](https://togithub.com/facebook/jest/pull/13246)) - `[@jest/mock]` Add `withImplementation` method for temporarily overriding a mock ([#13281](https://togithub.com/facebook/jest/pull/13281)) - `[expect]` Export `toThrow*` matchers ([#13328](https://togithub.com/facebook/jest/pull/13328)) ##### Fixes - `[jest-circus, jest-jasmine2]` Fix error messages for Node's `assert.throes` ([#13322](https://togithub.com/facebook/jest/pull/13322)) - `[jest-haste-map]` Remove `__proto__` usage ([#13256](https://togithub.com/facebook/jest/pull/13256)) - `[jest-mock]` Improve `spyOn` typings to handle optional properties ([#13247](https://togithub.com/facebook/jest/pull/13247)) - `[jest-mock]` Fix mocking of getters and setters on classes ([#13145](https://togithub.com/facebook/jest/pull/13145)) - `[jest-snapshot]` Throw useful error when an array is passed as property matchers ([#13263](https://togithub.com/facebook/jest/pull/13263)) - `[jest-snapshot]` Prioritize parser used in the project ([#13323](https://togithub.com/facebook/jest/pull/13323)) - `[jest-transform]` Attempt to work around issues with atomic writes on Windows ([#11423](https://togithub.com/facebook/jest/pull/11423)) ### [`v29.0.3`](https://togithub.com/jestjs/jest/blob/HEAD/CHANGELOG.md#2903) [Compare Source](https://togithub.com/jestjs/jest/compare/v29.0.2...v29.0.3) ##### Features - `[@jest/environment, jest-runtime]` Allow passing a generic type argument to `jest.createMockFromModuleConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.