Skip to content

Releases: jestjs/jest

23.3.0

16 Aug 10:38
Compare
Choose a tag to compare

Features

  • [jest-cli] Allow watch plugin to be configured (#6603)
  • [jest-snapshot] Introduce toMatchInlineSnapshot and toThrowErrorMatchingInlineSnapshot matchers (#6380)

Fixes

  • [jest-regex-util] Improve handling already escaped path separators on Windows (#6523)
  • [jest-cli] Fix testNamePattern value with interactive snapshots (#6579)
  • [jest-cli] Fix enter to interrupt watch mode (#6601)

Chore & Maintenance

  • [website] Switch domain to https://jestjs.io (#6549)
  • [tests] Improve stability of yarn test on Windows (#6534)
  • [*] Transpile object shorthand into Node 4 compatible syntax (#6582)
  • [*] Update all legacy links to jestjs.io (#6622)
  • [docs] Add docs for 23.1, 23.2, and 23.3 (#6623)
  • [website] Only test/deploy website if relevant files are changed (#6626)
  • [docs] Describe behavior of resetModules option when set to false (#6641)

23.2.0

16 Aug 10:38
Compare
Choose a tag to compare

Features

  • [jest-each] Add support for keyPaths in test titles (#6457)
  • [jest-cli] Add jest --init option that generates a basic configuration file with a short description for each option (#6442)
  • [jest.retryTimes] Add jest.retryTimes() option that allows failed tests to be retried n-times when using jest-circus. (#6498)

Fixes

  • [docs] Fixed error in documentation for expect.not.arrayContaining(array). (#6491)
  • [jest-cli] Add check to make sure one or more tests have run before notifying when using --notify (#6495)
  • [jest-cli] Pass globalConfig as a parameter to globalSetup and globalTeardown functions (#6486)
  • [jest-config] Add missing options to the defaults object (#6428)
  • [expect] Using symbolic property names in arrays no longer causes the toEqual matcher to fail (#6391)
  • [expect] toEqual no longer tries to compare non-enumerable symbolic properties, to be consistent with non-symbolic properties. (#6398)
  • [jest-util] console.timeEnd now properly log elapsed time in milliseconds. (#6456)
  • [jest-mock] Fix MockNativeMethods access in react-native jest.mock() (#6505)
  • [jest-cli] Fix reporters for moduleName = 'default' (#6542)

Chore & Maintenance

  • [docs] Add jest-each docs for 1 dimensional arrays (#6444)

23.1.0

16 Aug 10:38
Compare
Choose a tag to compare

Features

  • [jest-each] Add pretty-format serialising to each titles (#6357)
  • [jest-cli] shouldRunTestSuite watch hook now receives an object with config, testPath and duration (#6350)
  • [jest-each] Support one dimensional array of data (#6351)
  • [jest-watch] create new package jest-watch to ease custom watch plugin development (#6318)
  • [jest-circus] Make hooks in empty describe blocks error (#6320)
  • Add a config/CLI option errorOnDeprecated which makes calling deprecated APIs throw hepful error messages (#6339)

Fixes

  • [jest-each] Fix pluralising missing arguments error (#6369)
  • [jest-each] Stop test title concatenating extra args (#6346)
  • [expect] toHaveBeenNthCalledWith/nthCalledWith gives wrong call messages if not matched (#6340)
  • [jest-each] Make sure invalid arguments to each points back to the user's code (#6347)
  • [expect] toMatchObject throws TypeError when a source property is null (#6313)
  • [jest-cli] Normalize slashes in paths in CLI output on Windows (#6310)
  • [jest-cli] Fix run beforeAll in excluded suites tests" mode. (#6234)
  • [jest-haste-map] Compute SHA-1s for non-tracked files when using Node crawler (#6264)

Chore & Maintenance

  • [docs] Improve documentation of mockClear, mockReset, and mockRestore (#6227)
  • [jest-each] Refactor each to use shared implementation with core (#6345)
  • [jest-each] Update jest-each docs for serialising values into titles (#6337)
  • [jest-circus] Add dependency on jest-each (#6309)
  • [filenames] Rename "integration-tests" to "e2e" (#6315)
  • [docs] Mention the use of commit hash with --changedSince flag (#6330)

23.0.1

16 Aug 10:38
Compare
Choose a tag to compare

Chore & Maintenance

  • [jest-jasemine2] Add dependency on jest-each (#6308)
  • [jest-each] Move jest-each into core Jest (#6278)
  • [examples] Update typescript example to using ts-jest (#6260)

Fixes

  • [pretty-format] Serialize inverse asymmetric matchers correctly (#6272)

23.0.0

16 Aug 10:38
Compare
Choose a tag to compare

Features

  • [expect] Expose getObjectSubset, iterableEquality, and subsetEquality (#6210)
  • [jest-snapshot] Add snapshot property matchers (#6210)
  • [jest-config] Support jest-preset.js files within Node modules (#6185)
  • [jest-cli] Add --detectOpenHandles flag which enables Jest to potentially track down handles keeping it open after tests are complete. (#6130)
  • [jest-jasmine2] Add data driven testing based on jest-each (#6102)
  • [jest-matcher-utils] Change "suggest to equal" message to be more advisory (#6103)
  • [jest-message-util] Don't ignore messages with vendor anymore (#6117)
  • [jest-validate] Get rid of jest-config dependency (#6067)
  • [jest-validate] Adds option to inject deprecationEntries (#6067)
  • [jest-snapshot] [BREAKING] Concatenate name of test, optional snapshot name and count (#6015)
  • [jest-runtime] Allow for transform plugins to skip the definition process method if createTransformer method was defined. (#5999)
  • [expect] Add stack trace for async errors (#6008)
  • [jest-jasmine2] Add stack trace for timeouts (#6008)
  • [jest-jasmine2] Add stack trace for thrown non-Errors (#6008)
  • [jest-runtime] Prevent modules from marking themselves as their own parent (#5235)
  • [jest-mock] Add support for auto-mocking generator functions (#5983)
  • [expect] Add support for async matchers (#5919)
  • [expect] Suggest toContainEqual (#5948)
  • [jest-config] Export Jest's default options (#5948)
  • [jest-editor-support] Move coverage to ProjectWorkspace.collectCoverage (#5929)
  • [jest-editor-support] Add coverage option to runner (#5836)
  • [jest-haste-map] Support extracting dynamic imports (#5883)
  • [expect] Improve output format for mismatchedArgs in mock/spy calls. (#5846)
  • [jest-cli] Add support for using --coverage in combination with watch mode, --onlyChanged, --findRelatedTests and more (#5601)
  • [jest-jasmine2] [BREAKING] Adds error throwing and descriptive errors to it/ test for invalid arguments. [jest-circus] Adds error throwing and descriptive errors to it/ test for invalid arguments (#5558)
  • [jest-matcher-utils] Add isNot option to matcherHint function (#5512)
  • [jest-config] Add <rootDir> to runtime files not found error report (#5693)
  • [expect] Make toThrow matcher pass only if Error object is returned from promises (#5670)
  • [expect] Add isError to utils (#5670)
  • [expect] Add inverse matchers (expect.not.arrayContaining, etc., #5517)
  • [expect] expect.extend now also extends asymmetric matchers (#5503)
  • [jest-mock] Update spyOnProperty to support spying on the prototype chain (#5753)
  • [jest-mock] Add tracking of return values in the mock property (#5752)
  • [jest-mock] Add tracking of thrown errors in the mock property (#5764)
  • [expect]Add nthCalledWith spy matcher (#5605)
  • [jest-cli] Add isSerial property that runners can expose to specify that they can not run in parallel (#5706)
  • [expect] Add .toBeCalledTimes and toHaveBeenNthCalledWith aliases (#5826)
  • [jest-cli] Interactive Snapshot Mode improvements (#5864)
  • [jest-editor-support] Add no-color option to runner (#5909)
  • [jest-jasmine2] Pretty-print non-Error object errors (#5980)
  • [jest-message-util] Include column in stack frames (#5889)
  • [expect] Introduce toStrictEqual (#6032)
  • [expect] Add return matchers (#5879)
  • [jest-cli] Improve snapshot summaries (#6181)
  • [expect] Include custom mock names in error messages (#6199)
  • [jest-diff] Support returning diff from oneline strings (#6221)
  • [expect] Improve return matchers (#6172)
  • [jest-cli] Overhaul watch plugin hooks names (#6249)
  • [jest-mock] [BREAKING] Include tracked call results in serialized mock (#6244)

Fixes

  • [jest-cli] Fix stdin encoding to utf8 for watch plugins. (#6253)
  • [expect] Better detection of DOM Nodes for equality (#6246)
  • [jest-cli] Fix misleading action description for F key when in "only failed tests" mode. (#6167)
  • [jest-worker] Stick calls to workers before processing them (#6073)
  • [babel-plugin-jest-hoist] Allow using console global variable (#6075)
  • [jest-jasmine2] Always remove node core message from assert stack traces (#6055)
  • [expect] Add stack trace when expect.assertions and expect.hasAssertions causes test failures. (#5997)
  • [jest-runtime] Throw a more useful error when trying to require modules after the test environment is torn down (#5888)
  • [jest-mock] [BREAKING] Replace timestamps with invocationCallOrder (#5867)
  • [jest-jasmine2] Install sourcemap-support into normal runtime to catch runtime errors (#5945)
  • [jest-jasmine2] Added assertion error handling inside afterAll hook (#5884)
  • [jest-cli] Remove the notifier actions in case of failure when not in watch mode. (#5861)
  • [jest-mock] Extend .toHaveBeenCalled return message with outcome (#5951)
  • [jest-runner] Assign process.env.JEST_WORKER_ID="1" when in runInBand mode (#5860)
  • [jest-cli] Add descriptive error message when trying to use globalSetup/globalTeardown file that doesn't export a function. (#5835)
  • [expect] Do not rely on instanceof RegExp, since it will not work for RegExps created inside of a different VM (#5729)
  • [jest-resolve] Update node module resolution algorithm to correctly handle symlinked paths (#5085)
  • [jest-editor-support] Update Settings to use spawn in shell option (#5658)
  • [jest-cli] Improve the error message when 2 projects resolve to the same config (#5674)
  • [jest-runtime] remove retainLines from coverage instrumentation (#5692)
  • [jest-cli] Fix update snapshot issue when using watchAll (#5696)
  • [expect] Fix rejects.not matcher (#5670)
  • [jest-runtime] Prevent Babel warnings on large files (#5702)
  • [jest-mock] Prevent mockRejectedValue from causing unhandled rejection (#5720)
  • [pretty-format] Handle React fragments better (#5816)
  • [pretty-format] Handle formatting of React.forwardRef and Context components (#6093)
  • [jest-cli] Switch collectCoverageFrom back to a string (#5914)
  • [jest-regex-util] Fix handling regex symbols in tests path on Windows (#5941)
  • [jest-util] Fix handling of NaN/Infinity in mock timer delay (#5966)
  • [jest-resolve] Generalise test for package main entries equivalent to ".". ([#5968](https://github.com/face...
Read more

22.4.2

16 Aug 10:38
Compare
Choose a tag to compare

Fixes

  • [jest-haste-map] Recreate Haste map when deserialization fails (#5642)

22.4.1

16 Aug 10:38
Compare
Choose a tag to compare

Fixes

  • [jest-haste-map] Parallelize Watchman calls in crawler (#5640)
  • [jest-editor-support] Update TypeScript definitions (#5625)
  • [babel-jest] Remove retainLines argument to babel. (#5594)

Features

  • [jest-runtime] Provide require.main property set to module with test suite (#5618)

Chore & Maintenance

  • [docs] Add note about Node version support (#5622)
  • [docs] Update to use yarn (#5624)
  • [docs] Add how to mock scoped modules to Manual Mocks doc (#5638)

22.4.0

16 Aug 10:38
Compare
Choose a tag to compare

Fixes

  • [jest-haste-map] Overhauls how Watchman crawler works fixing Windows (#5615)
  • [expect] Allow matching of Errors against plain objects (#5611)
  • [jest-haste-map] Do not read binary files in Haste, even when instructed to do so (#5612)
  • [jest-cli] Don't skip matchers for exact files (#5582)
  • [docs] Update discord links (#5586)
  • [jest-runtime] Align handling of testRegex on Windows between searching for tests and instrumentation checks (#5560)
  • [jest-config] Make it possible to merge transform option with preset (#5505)
  • [jest-util] Fix console.assert behavior in custom & buffered consoles (#5576)

Features

  • [docs] Add MongoDB guide (#5571)
  • [jest-runtime] Deprecate mapCoverage option. (#5177)
  • [babel-jest] Add option to return sourcemap from the transformer separately from source. (#5177)
  • [jest-validate] Add ability to log deprecation warnings for CLI flags. (#5536)
  • [jest-serializer] Added new module for serializing. Works using V8 or JSON (#5609)
  • [docs] Add a documentation note for project displayName configuration (#5600)

Chore & Maintenance

  • [docs] Update automatic mocks documentation (#5630)

22.3.0

16 Aug 10:38
Compare
Choose a tag to compare

Fixes

  • [expect] Add descriptive error message to CalledWith methods when missing optional arguments (#5547)
  • [jest-cli] Fix inability to quit watch mode while debugger is still attached (#5029)
  • [jest-haste-map] Properly handle platform-specific file deletions (#5534)

Features

  • [jest-util] Add the following methods to the "console" implementations: assert, count, countReset, dir, dirxml, group, groupCollapsed, groupEnd, time, timeEnd (#5514)
  • [docs] Add documentation for interactive snapshot mode (#5291)
  • [jest-editor-support] Add watchAll flag (#5523)
  • [jest-cli] Support multiple glob patterns for collectCoverageFrom (#5537)
  • [docs] Add versioned documentation to the website (#5541)

Chore & Maintenance

  • [jest-config] Allow <rootDir> to be used with collectCoverageFrom (#5524)
  • [filenames] Standardize files names in "integration-tests" folder (#5513)

22.2.2

16 Aug 10:38
Compare
Choose a tag to compare

Fixes

  • [babel-jest] Revert "Remove retainLines from babel-jest" (#5496)
  • [jest-docblock] Support multiple of the same @pragma. (#5154)

Features

  • [jest-worker] Assign a unique id for each worker and pass it to the child process. It will be available via process.env.JEST_WORKER_ID (#5494)

Chore & Maintenance

  • [filenames] Standardize file names in root (#5500)