Skip to content

Releases: jestjs/jest

v29.5.0

06 Mar 13:34
Compare
Choose a tag to compare

Features

  • [jest-changed-files] Support Sapling (#13941)
  • [jest-circus, @jest/cli, jest-config] Add feature to randomize order of tests via CLI flag or through the config file(#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 for parallelization (#13939)
  • [jest-cli] Export yargsOptions (#13970)
  • [jest-config] Add openHandlesTimeout option to configure possible open handles warning. (#13875)
  • [@jest/create-cache-key-function] Allow passing length argument to createCacheKey() function and set its default value to 16 on Windows (#13827)
  • [jest-message-util] Add support for AggregateError (#13946 & #13947)
  • [jest-message-util] Add support for Error causes in test and it (#13935 & #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)
  • [jest-runtime] Expose @sinonjs/fake-timers async APIs functions advanceTimersByTimeAsync(msToRun) (tickAsync(msToRun)), advanceTimersToNextTimerAsync(steps) (nextAsync), runAllTimersAsync (runAllAsync), and runOnlyPendingTimersAsync (runToLastAsync) (#13981)
  • [jest-runtime, @jest/transform] Allow V8 coverage provider to collect coverage from files which were not loaded explicitly (#13974)
  • [jest-snapshot] Add support to cts and mts TypeScript files to inline snapshots (#13975)
  • [jest-worker] Add start method to worker farms (#13937)
  • [jest-worker] Support passing a URL as path to worker (#13982)

Fixes

  • [babel-plugin-jest-hoist] Fix unwanted hoisting of nested jest usages (#13952)
  • [jest-circus] Send test case results for todo tests (#13915)
  • [jest-circus] Update message printed on test timeout (#13830)
  • [jest-circus] Avoid creating the word "testfalse" when takesDoneCallback is false in the message printed on test timeout AND updated timeouts test (#13954)
  • [jest-environment-jsdom] Stop setting document to null on teardown (#13972)
  • [@jest/expect-utils] Update toStrictEqual() to be able to check jest.fn().mock.calls (#13960)
  • [@jest/test-result] Allow TestResultsProcessor type to return a Promise (#13950)

Chore & Maintenance

  • [jest-snapshot] Remove dependency on jest-haste-map (#13977)

New Contributors

Full Changelog: v29.4.3...v29.5.0

v29.4.3

15 Feb 11:58
Compare
Choose a tag to compare

Features

  • [expect] Update toThrow() to be able to use error causes (#13606)
  • [jest-core] allow to use workerIdleMemoryLimit with only 1 worker or runInBand option (#13846)
  • [jest-message-util] Add support for error causes (#13868 & #13912)
  • [jest-runtime] Revert import assertions for JSON modules as it's been relegated to Stage 2 (#13911)

Fixes

  • [@jest/expect-utils] subsetEquality should consider also an object's inherited string keys (#13824)
  • [jest-mock] Clear mock state when jest.restoreAllMocks() is called (#13867)
  • [jest-mock] Prevent mockImplementationOnce and mockReturnValueOnce bleeding into withImplementation (#13888)
  • [jest-mock] Do not restore mocks when jest.resetAllMocks() is called (#13866)

New Contributors

Full Changelog: v29.4.2...v29.4.3

v29.4.2

07 Feb 13:46
Compare
Choose a tag to compare

Features

Fixes

  • [expect, @jest/expect] Provide type of actual as a generic argument to Matchers to allow better-typed extensions (#13848)
  • [jest-circus] Added explicit mention of test failing because done() is not being called in error message (#13847)
  • [jest-runtime] Handle CJS re-exports of node core modules from ESM (#13856)
  • [jest-transform] Downgrade write-file-atomic to v4 (#13853)
  • [jest-worker] Ignore IPC messages not intended for Jest (#13543)

Chore & Maintenance

  • [*] make sure to exclude .eslintcache from published module (#13832)
  • [docs] Cleanup incorrect links in CHANGELOG.md (#13857)

New Contributors

Full Changelog: v29.4.1...v29.4.2

v29.4.1

26 Jan 15:09
Compare
Choose a tag to compare

Features

  • [expect, jest-circus, @jest/types] Implement numPassingAsserts of testResults to track the number of passing asserts in a test (#13795)
  • [jest-core] Add newlines to JSON output (#13817)
  • [@jest/reporters] Automatic log folding in GitHub Actions Reporter (#13626)

Fixes

  • [@jest/expect-utils] toMatchObject diffs should include Symbol properties (#13810)
  • [jest-runtime] Handle missing replaceProperty (#13823)
  • [@jest/types] Add partial support for done callbacks in typings of each (#13756)

New Contributors

Full Changelog: v29.4.0...v29.4.1

v29.4.0

24 Jan 10:57
Compare
Choose a tag to compare

Features

  • [expect, @jest/expect-utils] Support custom equality testers (#13654)
  • [jest-config, jest-worker] Use os.availableParallelism if available to calculate number of workers to spawn (#13738)
  • [@jest/globals, jest-mock] Add jest.replaceProperty() that replaces property value (#13496)
  • [jest-haste-map] ignore Sapling vcs directories (.sl/) (#13674)
  • [jest-resolve] Support subpath imports (#13705, #13723, #13777)
  • [jest-runtime] Add jest.isolateModulesAsync for scoped module initialization of asynchronous functions (#13680)
  • [jest-runtime] Add jest.isEnvironmentTornDown function (#13741)
  • [jest-test-result] Added skipped and focused status to FormattedTestResult (#13700)
  • [jest-transform] Support for asynchronous createTransformer (#13762)

Fixes

  • [jest-environment-node] Fix non-configurable globals (#13687)
  • [@jest/expect-utils] toMatchObject should handle Symbol properties (#13639)
  • [jest-mock] Fix mockReset and resetAllMocks undefined return value(#13692)
  • [jest-resolve] Add global paths to require.resolve.paths (#13633)
  • [jest-resolve] Correct node core module detection when using node: specifiers (#13806)
  • [jest-runtime] Support WASM files that import JS resources (#13608)
  • [jest-runtime] Use the scriptTransformer cache in jest-runner (#13735)
  • [jest-runtime] Enforce import assertions when importing JSON in ESM (#12755 & #13805)
  • [jest-snapshot] Make sure to import babel outside of the sandbox (#13694)
  • [jest-transform] Ensure the correct configuration is passed to preprocessors specified multiple times in the transform option (#13770)

Chore & Maintenance

  • [@jest/fake-timers] Update @sinonjs/fake-timers (#13612)
  • [docs] Improve custom puppeteer example to prevent worker warnings (#13619)

New Contributors

Full Changelog: v29.3.1...v29.4.0

v29.3.1

08 Nov 22:57
Compare
Choose a tag to compare

Fixes

  • [jest-config] Do not warn about preset in ProjectConfig (#13583)

Performance

  • [jest-transform] Defer creation of cache directory (#13420)

v29.3.0

07 Nov 17:58
Compare
Choose a tag to compare

Features

  • [jest-runtime] Support WebAssembly (Wasm) imports in ESM modules (#13505)

Fixes

  • [jest-config] Add config validation for projects option (#13565)
  • [jest-mock] Treat cjs modules as objects so they can be mocked (#13513)
  • [jest-worker] Throw an error instead of hanging when jest workers terminate unexpectedly (#13566)

Chore & Maintenance

  • [@jest/transform] Update convert-source-map (#13509)
  • [docs] Mention toStrictEqual in UsingMatchers docs. (#13560)

New Contributors

Full Changelog: v29.2.2...v29.3.0

v29.2.2

24 Oct 20:27
Compare
Choose a tag to compare

Fixes

  • [@jest/test-sequencer] Make sure sharding does not produce empty groups (#13476)
  • [jest-circus] Test marked as todo are shown as todo when inside a focussed describe (#13504)
  • [jest-mock] Ensure mock resolved and rejected values are promises from correct realm (#13503)
  • [jest-snapshot] Don't highlight passing asymmetric property matchers in snapshot diff (#13480)

Chore & Maintenance

  • [docs] Update link to Jest 28 upgrade guide in error message (#13483)
  • [jest-runner, jest-watcher] Update emittery (#13490)

New Contributors

Full Changelog: v29.2.1...v29.2.2

v29.2.1

18 Oct 16:01
Compare
Choose a tag to compare

Features

  • [@jest/globals, jest-mock] Add jest.Spied* utility types (#13440)

Fixes

  • [jest-environment-node] make globalThis.performance writable for Node 19 and fake timers (#13467)
  • [jest-mock] Revert #13398 to restore mocking of setters (#13472)

Performance

  • [*] Use sha1 instead of sha256 for hashing (#13421)

Full Changelog: v29.2.0...v29.2.1

v29.2.0

14 Oct 09:15
Compare
Choose a tag to compare

Features

  • [@jest/cli, jest-config] A seed for the test run will be randomly generated, or set by a CLI option (#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)
  • [jest-config] Add readInitialConfig utility function (#13356)
  • [jest-core] Allow testResultsProcessor to be async (#13343)
  • [@jest/environment, jest-environment-node, jest-environment-jsdom, jest-runtime] Add getSeed() to the jest object (#13400)
  • [expect, @jest/expect-utils] Allow isA utility to take a type argument (#13355)
  • [expect] Expose AsyncExpectationResult and SyncExpectationResult types (#13411)

Fixes

  • [babel-plugin-jest-hoist] Ignore TSTypeQuery when checking for hoisted references (#13367)
  • [jest-core] Fix detectOpenHandles false positives for some special objects such as TLSWRAP (#13414)
  • [jest-mock] Fix mocking of getters and setters on classes (#13398)
  • [jest-reporters] Revert: Transform file paths into hyperlinks (#13399)
  • [@jest/types] Infer type of each table correctly when the table is a tuple or array (#13381)
  • [@jest/types] Rework typings to allow the *ReturnedWith matchers to be called with no argument (#13385)

Chore & Maintenance

  • [*] Update @babel/* deps, resulting in slightly different stack traces for each (#13422)

Performance

  • [jest-runner] Do not instrument v8 coverage data if coverage should not be collected (#13282)

New Contributors

Full Changelog: v29.1.2...v29.2.0