Skip to content

Releases: jestjs/jest

v28.0.0

25 Apr 12:09
Compare
Choose a tag to compare

Blog post: https://jestjs.io/blog/2022/04/25/jest-28

Features

  • [babel-jest] Export createTransformer function (#12399)
  • [expect] Expose AsymmetricMatchers, MatcherFunction and MatcherFunctionWithState interfaces (#12363, #12376)
  • [jest-circus] Support error logging before retry (#12201)
  • [jest-circus, jest-jasmine2] Allowed classes and functions as describe and it/test names (#12484)
  • [jest-cli, jest-config] [BREAKING] Remove testURL config, use testEnvironmentOptions.url instead (#10797)
  • [jest-cli, jest-core] Add --shard parameter for distributed parallel test execution (#12546)
  • [jest-cli] [BREAKING] Remove undocumented --timers option (#12572)
  • [jest-config] [BREAKING] Stop shipping jest-environment-jsdom by default (#12354)
  • [jest-config] [BREAKING] Stop shipping jest-jasmine2 by default (#12355)
  • [jest-config, @jest/types] Add ci to GlobalConfig (#12378)
  • [jest-config] [BREAKING] Rename moduleLoader to runtime (#10817)
  • [jest-config] [BREAKING] Rename extraGlobals to sandboxInjectedGlobals (#10817)
  • [jest-config] [BREAKING] Throw an error instead of showing a warning if multiple configs are used (#12510)
  • [jest-config] [BREAKING] Do not normalize long deprecated configuration options preprocessorIgnorePatterns, scriptPreprocessor, setupTestFrameworkScriptFile and testPathDirs (#12701)
  • [jest-cli, jest-core] Add --ignoreProjects CLI argument to ignore test suites by project name (#12620)
  • [jest-core] Pass project config to globalSetup/globalTeardown function as second argument (#12440)
  • [jest-core] Stabilize test runners with event emitters (#12641)
  • [jest-core, jest-watcher] [BREAKING] Move TestWatcher class to jest-watcher package (#12652)
  • [jest-core] Allow using Summary Reporter as stand-alone reporter (#12687)
  • [jest-environment-jsdom] [BREAKING] Upgrade jsdom to 19.0.0 (#12290)
  • [jest-environment-jsdom] [BREAKING] Add default browser condition to exportConditions for jsdom environment (#11924)
  • [jest-environment-jsdom] [BREAKING] Pass global config to Jest environment constructor for jsdom environment (#12461)
  • [jest-environment-jsdom] [BREAKING] Second argument context to constructor is mandatory (#12469)
  • [jest-environment-node] [BREAKING] Add default node and node-addon conditions to exportConditions for node environment (#11924)
  • [jest-environment-node] [BREAKING] Pass global config to Jest environment constructor for node environment (#12461)
  • [jest-environment-node] [BREAKING] Second argument context to constructor is mandatory (#12469)
  • [jest-environment-node] Add all available globals to test globals, not just explicit ones (#12642, #12696)
  • [@jest/expect] New module which extends expect with jest-snapshot matchers (#12404, #12410, #12418)
  • [@jest/expect-utils] New module exporting utils for expect (#12323)
  • [@jest/fake-timers] [BREAKING] Rename timers configuration option to fakeTimers (#12572)
  • [@jest/fake-timers] [BREAKING] Allow jest.useFakeTimers() and projectConfig.fakeTimers to take an options bag (#12572)
  • [jest-haste-map] [BREAKING] HasteMap.create now returns a promise (#12008)
  • [jest-haste-map] Add support for dependencyExtractor written in ESM (#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, #12489)
  • [jest-mock] Improve isMockFunction to infer types of passed function (#12442)
  • [jest-mock] [BREAKING] Improve the usage of jest.fn generic type argument (#12489)
  • [jest-mock] Add support for auto-mocking async generator functions (#11080)
  • [jest-mock] Add contexts member to mock functions (#12601)
  • [@jest/reporters] Add GitHub Actions reporter (#11320, #12658)
  • [@jest/reporters] Pass reporterContext to custom reporter constructors as third argument (#12657)
  • [jest-resolve] [BREAKING] Add support for package.json exports (#11961, #12373)
  • [jest-resolve] Support package self-reference (#12682)
  • [jest-resolve, jest-runtime] Add support for data: URI import and mock (#12392)
  • [jest-resolve, jest-runtime] Add support for async resolver (#11540)
  • [jest-resolve] [BREAKING] Remove browser?: boolean from resolver options, conditions: ['browser'] should be used instead (#12707)
  • [jest-resolve] Expose JestResolver, AsyncResolver, SyncResolver, PackageFilter, PathFilter and PackageJSON types (#12707, (#12712)
  • [jest-runner] Allow setupFiles module to export an async function (#12042)
  • [jest-runner] Allow passing testEnvironmentOptions via docblocks (#12470)
  • [jest-runner] Expose CallbackTestRunner, EmittingTestRunner abstract classes and CallbackTestRunnerInterface, EmittingTestRunnerInterface to help typing third party runners (#12646, #12715)
  • [jest-runner] Lock version of source-map-support to 0.5.13 (#12720)
  • [jest-runtime] [BREAKING] Runtime.createHasteMap now returns a promise (#12008)
  • [jest-runtime] Calling jest.resetModules function will clear FS and transform cache (#12531)
  • [jest-runtime] [BREAKING] Remove Context type export, it must be imported from @jest/test-result (#12685)
  • [jest-runtime] Add import.meta.jest (#12698)
  • [@jest/schemas] New module for JSON schemas for Jest's config (#12384)
  • [@jest/source-map] Migrate from source-map to @jridgewell/trace-mapping (#12692)
  • [jest-transform] [BREAKING] Make it required for process() and processAsync() methods to always return structured data (#12638)
  • [jest-test-result] Add duration property to JSON test output (#12518)
  • [jest-watcher] [BREAKING] Make PatternPrompt class to take entityName as third constructor parameter instead of this._entityName (#12591)
  • [jest-worker] [BREAKING] Allow only absolute workerPath (#12343)
  • [jest-worker] [BREAKING] Default to advanced serialization when using child process workers (#10983)
  • [pretty-format] New maxWidth parameter (#12402)

Fixes

  • [*] Use sha256 instead of md5 as hashing algortihm for compatibility with FIPS systems (#12722)
  • `[babel-jes...
Read more

v28.0.0-alpha.11

20 Apr 13:33
Compare
Choose a tag to compare
v28.0.0-alpha.11 Pre-release
Pre-release

Features

  • [jest-runtime] Add import.meta.jest (#12698)
  • [@jest/source-map] Migrate from source-map to @jridgewell/trace-mapping (#12692)
  • [jest-worker] [BREAKING] Default to advanced serialization when using child process workers (#10983)

Fixes

  • [@jest/reporters] Update v8-to-istanbul (#12697)

New Contributors

Full Changelog: v28.0.0-alpha.10...v28.0.0-alpha.11

v28.0.0-alpha.10

20 Apr 07:41
Compare
Choose a tag to compare
v28.0.0-alpha.10 Pre-release
Pre-release

Features

  • [jest-environment-node] Add all available globals to test globals, not just explicit ones (#12696)
  • [@jest/source-map] Migrate from source-map to @jridgewell/trace-mapping (#12692)

Fixes

  • [babel-jest] [BREAKING] Pass rootDir as root in Babel's options (#12689)

Full Changelog: v28.0.0-alpha.9...v28.0.0-alpha.10

v28.0.0-alpha.9

19 Apr 11:05
Compare
Choose a tag to compare
v28.0.0-alpha.9 Pre-release
Pre-release

Features

  • [jest-core] Stabilize test runners with event emitters (#12641)
  • [jest-core, jest-watcher] [BREAKING] Move TestWatcher class to jest-watcher package (#12652)
  • [jest-core] Allow using Summary Reporter as stand-alone reporter (#12687)
  • [jest-environment-node] Add all available globals to test globals, not just explicit ones (#12642)
  • [@jest/reporters] Add GitHub Actions reporter (#12658)
  • [@jest/reporters] Pass reporterContext to custom reporter constructors as third argument (#12657)
  • [jest-resolve] Support package self-reference (#12682)
  • [jest-runner] Exposing CallbackTestRunner, EmittingTestRunner abstract classes to help typing third party runners (#12646)
  • [jest-runtime] [BREAKING] Remove Context type export, it must be imported from @jest/test-result (#12685)
  • [jest-transform] [BREAKING] Make it required for process() and processAsync() methods to always return structured data (#12638)

Fixes

  • [expect] Fix print for the closeTo matcher (#12626)
  • [jest-each] Fixes error message with incorrect count of missing arguments (#12464)
  • [jest-haste-map] Make watchman existence check lazy+async (#12675)
  • [jest-mock] Handle overridden Function.name property (#12674)
  • [jest-resolver] Call custom resolver with core node.js modules (#12654)

Chore & Maintenance

  • [*] [BREAKING] Drop support for typescript@4.2, minimum version is now 4.3 (#12648)
  • [docs] Add upgrading guide (#12633)
  • [jest-config] [BREAKING] Rename config option name to id (#11981)
  • [jest-haste-map] Remove legacy isRegExpSupported (#12676)
  • [jest-runner] [BREAKING] Second argument to constructor (Context) is not optional (#12640)

New Contributors

Full Changelog: v28.0.0-alpha.8...v28.0.0-alpha.9

v28.0.0-alpha.8

05 Apr 15:06
Compare
Choose a tag to compare
v28.0.0-alpha.8 Pre-release
Pre-release

Features

  • [jest-cli] [BREAKING] Remove undocumented --timers option (#12572)
  • [jest-cli, jest-core] Add --ignoreProjects CLI argument to ignore test suites by project name (#12620)
  • [@jest/fake-timers] [BREAKING] Rename timers configuration option to fakeTimers (#12572)
  • [@jest/fake-timers] [BREAKING] Allow jest.useFakeTimers() and projectConfig.fakeTimers to take an options bag (#12572)
  • [jest-mock] Add contexts member to mock functions (#12601)
  • [jest-reporters] Add GitHub Actions reporter (#11320)
  • [jest-watcher] [BREAKING] Make PatternPrompt class to take entityName as third constructor parameter instead of this._entityName (#12591)

Fixes

  • [jest-config] [BREAKING] Add mjs and cjs to default moduleFileExtensions config (#12578)
  • [jest-environment-node] Add MessageChannel, MessageEvent to globals (#12553)
  • [jest-environment-node] Add structuredClone to globals (#12631)
  • [@jest/reporters] Move missing icon file which is needed for NotifyReporter class. (#12593)

Chore & Maintenance

  • [babel-jest] [BREAKING] Only export createTransformer (#12407)
  • [docs] Add more information about how code transformers work (#12407)

New Contributors

Full Changelog: v28.0.0-alpha.7...v28.0.0-alpha.8

v28.0.0-alpha.7

06 Mar 10:05
Compare
Choose a tag to compare
v28.0.0-alpha.7 Pre-release
Pre-release

Features

  • [jest-cli, jest-core] Add --shard parameter for distributed parallel test execution (#12546)
  • [jest-runtime] Calling jest.resetModules function will clear FS and transform cache (#12531)
  • [jest-test-result] Add duration property to JSON test output (#12518)

Fixes

  • [jest-jasmine2] Do not set duration to 0 for skipped tests (#12518)

New Contributors

Full Changelog: v28.0.0-alpha.6...v28.0.0-alpha.7

v28.0.0-alpha.6

01 Mar 08:36
Compare
Choose a tag to compare
v28.0.0-alpha.6 Pre-release
Pre-release

Features

  • [jest-config] [BREAKING] Throw an error instead of showing a warning if multiple configs are used (#12510)
  • [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, #12489)
  • [jest-mock] [BREAKING] Improve the usage of jest.fn generic type argument (#12489)
  • [jest-runner] Allow setupFiles module to export an async function (#12042)

Fixes

  • [jest-circus, @jest/types] Disallow undefined value in TestContext type (#12507)
  • [jest-each] %# is not replaced with index of the test case (#12517)
  • [jest-reporters] Notifications generated by the --notify flag are no longer persistent in GNOME Shell. (#11733)
  • [jest-worker] Fix Farm execution results memory leak (#12497)

Chore & Maintenance

  • [jest-create-cache-key-function] Added README.md file with basic usage instructions (#12492)

New Contributors

Full Changelog: v28.0.0-alpha.5...v28.0.0-alpha.6

v28.0.0-alpha.5

24 Feb 21:01
Compare
Choose a tag to compare
v28.0.0-alpha.5 Pre-release
Pre-release

Features

  • [jest-circus, jest-jasmine2] Allowed classes and functions as describe and it/test names (#12484)
  • [jest-cli, jest-config] [BREAKING] Remove testURL config, use testEnvironmentOptions.url instead (#10797)
  • [jest-config] [BREAKING] Rename moduleLoader to runtime (#10817)
  • [jest-config] [BREAKING] Rename extraGlobals to sandboxInjectedGlobals (#10817)
  • [jest-environment-jsdom] [BREAKING] Pass global config to Jest environment constructor for jsdom environment (#12461)
  • [jest-environment-jsdom] [BREAKING] Second argument context to constructor is mandatory (#12469)
  • [jest-environment-node] [BREAKING] Pass global config to Jest environment constructor for node environment (#12461)
  • [jest-environment-node] [BREAKING] Second argument context to constructor is mandatory (#12469)
  • [jest-haste-map] [BREAKING] HasteMap.create now returns a promise (#12008)
  • [jest-haste-map] Add support for dependencyExtractor written in ESM (#12008)
  • [jest-mock] [BREAKING] Rename exported utility types ConstructorLike, MethodLike, ConstructorLikeKeys, MethodLikeKeys, PropertyLikeKeys; remove exports of utility types ArgumentsOf, ArgsType, ConstructorArgumentsOf - TS builtin utility types ConstructorParameters and Parameters should be used instead (#12435)
  • [jest-mock] Add support for auto-mocking async generator functions (#11080)
  • [jest-runner] Allow passing testEnvironmentOptions via docblocks (#12470)
  • [jest-runtime] [BREAKING] Runtime.createHasteMap now returns a promise (#12008)

Fixes

  • [expect] Throw useful error if expect.extend is called with invalid matchers (#12488)
  • [expect] Fix iterableEquality ignores other properties (#8359)
  • [jest-config, jest-haste-map] Allow searching for tests in node_modules by exposing retainAllFiles (#11084)
  • [jest-core] [BREAKING] Exit with status 1 if no tests are found with --findRelatedTests flag (#12487)
  • [jest-environment-jsdom] Log JSDOM errors more cleanly (#12386)
  • [@jest/expect-utils] [BREAKING] Fix false positives when looking for undefined prop (#8923)

New Contributors

Full Changelog: v28.0.0-alpha.4...v28.0.0-alpha.5

v28.0.0-alpha.4

22 Feb 12:17
Compare
Choose a tag to compare
v28.0.0-alpha.4 Pre-release
Pre-release

Features

  • [jest-core] Pass project config to globalSetup/globalTeardown function as second argument (#12440)
  • [jest-mock] Improve isMockFunction to infer types of passed function (#12442)
  • [jest-resolve, jest-runtime] Add support for async resolver (#11540)

Fixes

  • [jest-haste-map] Don't use partial results if file crawl errors (#12420)
  • [jest-mock] Fix function overloads for spyOn to allow more correct type inference in complex object (#12442)

Chore & Maintenance

  • [*] Use globalThis instead of global (#12447)

New Contributors

Full Changelog: v28.0.0-alpha.3...v28.0.0-alpha.4

v28.0.0-alpha.3

17 Feb 15:45
Compare
Choose a tag to compare
v28.0.0-alpha.3 Pre-release
Pre-release

Fixes

  • [jest-resolve] Support directory remapping in package.json exports (#12373)

Full Changelog: https://github.com/facebook/jest/compare/v28.0.0-alpha.2..v28.0.0-alpha.3