Skip to content

Releases: jestjs/jest

v29.0.0-alpha.1

04 Aug 08:26
Compare
Choose a tag to compare
v29.0.0-alpha.1 Pre-release
Pre-release

Features

  • [pretty-format] [BREAKING] Remove ConvertAnsi plugin in favour of jest-serializer-ansi-escapes (#13040)

Fixes

  • [jest-worker] When a process runs out of memory worker exits correctly and doesn't spin indefinitely (#13054)
  • [@jest/expect-utils] Fix deep equality of ImmutableJS Record (#13055)

New Contributors

Full Changelog: v29.0.0-alpha.0...v29.0.0-alpha.1

v29.0.0-alpha.0

17 Jul 22:14
Compare
Choose a tag to compare
v29.0.0-alpha.0 Pre-release
Pre-release

Features

  • [jest-config] [BREAKING] Make snapshotFormat default to escapeString: false and printBasicPrototype: false (#13036)
  • [jest-environment-jsdom] [BREAKING] Upgrade to jsdom@20 (#13037)

Chore & Maintenance

  • [*] [BREAKING] Drop support for Node v12 and v17 (#13033)
  • [jest-leak-detector] Remove support for weak-napi (#13035)

Full Changelog: v28.1.3...v29.0.0-alpha.0

v28.1.3

13 Jul 14:13
Compare
Choose a tag to compare

Features

  • [jest-leak-detector] Use native FinalizationRegistry when it exists to get rid of external C dependency (#12973)

Fixes

  • [jest-changed-files] Fix a lock-up after repeated invocations (#12757)
  • [@jest/expect-utils] Fix deep equality of ImmutableJS OrderedSets (#12977)
  • [jest-mock] Add index signature support for spyOn types (#13013, #13020)
  • [jest-snapshot] Fix indentation of awaited inline snapshots (#12986)

Chore & Maintenance

  • [*] Replace internal usage of pretty-format/ConvertAnsi with jest-serializer-ansi-escapes (#12935, #13004)
  • [docs] Update spyOn docs (#13000)

New Contributors

Full Changelog: v28.1.2...v28.1.3

v28.1.2

29 Jun 10:35
Compare
Choose a tag to compare

Fixes

  • [jest-runtime] Avoid star type import from @jest/globals (#12949)

Chore & Maintenance

  • [docs] Mention that jest-codemods now supports Sinon (#12898)

New Contributors

Full Changelog: v28.1.1...v28.1.2

v28.1.1

07 Jun 06:10
Compare
Choose a tag to compare

Features

  • [jest] Expose Config type (#12848)
  • [@jest/reporters] Improve GitHubActionsReporters annotation format (#12826)
  • [@jest/types] Infer argument types passed to test and describe callback functions from each tables (#12885, #12905)

Fixes

  • [@jest/expect-utils] Fix deep equality of ImmutableJS OrderedMaps (#12763)
  • [jest-docblock] Handle multiline comments in parseWithComments (#12845)
  • [jest-mock] Improve spyOn error messages (#12901)
  • [jest-runtime] Correctly report V8 coverage with resetModules: true (#12912)
  • [jest-worker] Make JestWorkerFarm helper type to include methods of worker module that take more than one argument (#12839)

Chore & Maintenance

  • [docs] Updated docs to indicate that jest-environment-jsdom is a separate package #12828

  • [docs] Document the comments used by coverage providers #12835

  • [docs] Use docusaurus-remark-plugin-tab-blocks to format tabs with code examples (#12859)

  • [jest-haste-map] Bump walker version (#12324)

  • [expect] Adjust typings of lastCalledWith, nthCalledWith, toBeCalledWith matchers to allow a case there a mock was called with no arguments (#12807)

  • [@jest/expect-utils] Fix deep equality of ImmutableJS Lists (#12763)

  • [jest-core] Do not collect SIGNREQUEST as open handles (#12789)

New Contributors

Full Changelog: v28.1.0...v28.1.1

v28.1.0

06 May 10:50
Compare
Choose a tag to compare

Features

  • [jest-circus] Add failing test modifier that inverts the behaviour of tests (#12610)
  • [jest-environment-node, jest-environment-jsdom] Allow specifying customExportConditions (#12774)

Fixes

  • [expect] Adjust typings of lastCalledWith, nthCalledWith, toBeCalledWith matchers to allow a case there a mock was called with no arguments (#12807)
  • [@jest/expect-utils] Fix deep equality of ImmutableJS Lists (#12763)
  • [jest-core] Do not collect SIGNREQUEST as open handles (#12789)

Chore & Maintenance

  • [docs] Specified documentation about --filter CLI docs (#12799)
  • [@jest-reporters] Move helper functions from utils.ts into separate files (#12782)
  • [jest-resolve] Replace process.versions.pnp type declaration with @types/pnpapi devDependency (#12783)

New Contributors

Full Changelog: v28.0.3...v28.1.0

v28.0.3

29 Apr 10:45
Compare
Choose a tag to compare

Fixes

  • [jest-config] Normalize reporters option defined in presets (#12769)
  • [@jest/reporters] Fix trailing slash in matching coverageThreshold key (#12714)
  • [jest-resolve] Fix (experimental) ESM module mocking for re-exports (#12766)
  • [@jest/transform] Throw better error if an invalid return value if encountered (#12764)

Chore & Maintenance

  • [docs] Fix typo in --shard CLI docs (#12761)

New Contributors

Full Changelog: v28.0.2...v28.0.3

v28.0.2

27 Apr 07:47
Compare
Choose a tag to compare

Features

  • [jest-worker] Add JestWorkerFarm helper type (#12753)

Fixes

  • [*] Lower Node 16 requirement to 16.10 from 16.13 due to a Node bug that causes memory and performance issues (#12754)

Full Changelog: v28.0.1...v28.0.2

v28.0.1

26 Apr 10:04
Compare
Choose a tag to compare

Features

  • [jest-resolve] Expose ResolverOptions type (#12736)

Fixes

  • [expect] Add missing dependency jest-util (#12744)
  • [jest-circus] Improve test.concurrent (#12748)
  • [jest-resolve] Correctly throw an error if jsdom test environment is used, but not installed (#12749)

Chore & Maintenance

  • [jest-serializer] Remove deprecated module from source tree (#12735)

Full Changelog: v28.0.0...v28.0.1

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