Skip to content

Releases: SimenB/jest

24.9.0

16 Aug 08:32
Compare
Choose a tag to compare

Features

  • [expect] Highlight substring differences when matcher fails, part 1 (#8448)
  • [expect] Highlight substring differences when matcher fails, part 2 (#8528)
  • [expect] Improve report when mock-spy matcher fails, part 1 (#8640)
  • [expect] Improve report when mock-spy matcher fails, part 2 (#8649)
  • [expect] Improve report when mock-spy matcher fails, part 3 (#8697)
  • [expect] Improve report when mock-spy matcher fails, part 4 (#8710)
  • [expect] Throw matcher error when received cannot be jasmine spy (#8747)
  • [expect] Improve report when negative CalledWith assertion fails (#8755)
  • [expect] Improve report when positive CalledWith assertion fails (#8771)
  • [expect] Display equal values for ReturnedWith similar to CalledWith (#8791)
  • [expect, jest-snapshot] Change color from green for some args in matcher hints (#8812)
  • [jest-snapshot] Highlight substring differences when matcher fails, part 3 (#8569)
  • [jest-core] Improve report when snapshots are obsolete (#8448)
  • [jest-cli] Improve chai support (with detailed output, to match jest exceptions) (#8454)
  • [*] Manage the global timeout with --testTimeout command line argument. (#8456)
  • [pretty-format] Render custom displayName of memoized components
  • [jest-validate] Allow maxWorkers as part of the jest.config.js (#8565)
  • [jest-runtime] Allow passing configuration objects to transformers (#7288)
  • [@jest/core, @jest/test-sequencer] Support async sort in custom testSequencer (#8642)
  • [jest-runtime, @jest/fake-timers] Add jest.advanceTimersToNextTimer (#8713)
  • [@jest-transform] Extract transforming require logic within jest-core into @jest-transform (#8756)
  • [jest-matcher-utils] Add color options to matcherHint (#8795)
  • [jest-circus/jest-jasmine2] Give clearer output for Node assert errors (#8792)
  • [jest-runner] Export all types in the type signature of jest-runner (#8825)`

Fixes

  • [jest-cli] Detect side-effect only imports when running --onlyChanged or --changedSince (#8670)
  • [jest-cli] Allow --maxWorkers to work with % input again (#8565)
  • [babel-plugin-jest-hoist] Expand list of whitelisted globals in global mocks (#8429
  • [jest-core] Make watch plugin initialization errors look nice (#8422)
  • [jest-snapshot] Prevent inline snapshots from drifting when inline snapshots are updated (#8492)
  • [jest-haste-map] Don't throw on missing mapper in Node crawler (#8558)
  • [jest-core] Fix incorrect passWithNoTests warning (#8595)
  • [jest-snapshots] Fix test retries that contain snapshots (#8629)
  • [jest-mock] Fix incorrect assignments when restoring mocks in instances where they originally didn't exist (#8631)
  • [expect] Fix stack overflow when matching objects with circular references (#8687)
  • [jest-haste-map] Workaround a node >=12.5.0 bug that causes the process not to exit after tests have completed and cancerous memory growth (#8787)

Chore & Maintenance

  • [jest-leak-detector] remove code repeat (#8438
  • [docs] Add example to jest.requireActual (#8482
  • [docs] Add example to jest.mock for mocking ES6 modules with the factory parameter (#8550)
  • [docs] Add information about using jest.doMock with ES6 imports (#8573)
  • [docs] Fix variable name in custom-matcher-api code example (#8582)
  • [docs] Fix example used in custom environment docs (#8617)
  • [docs] Updated react tutorial to refer to new package of react-testing-library (@testing-library/react) (#8753)
  • [docs] Updated imports of react-testing-library to @testing-library/react in website (#8757)
  • [jest-core] Add getVersion (moved from jest-cli) (#8706)
  • [docs] Fix MockFunctions example that was using toContain instead of toContainEqual (#8765)
  • [*] Make sure copyright header comment includes license (#8783)
  • [*] Check copyright and license as one joined substring (#8815)
  • [docs] Fix WatchPlugins jestHooks.shouldRunTestSuite example that receives an object (#8784)
  • [*] Enforce LF line endings (#8809)
  • [pretty-format] Delete obsolete link and simplify structure in README (#8824)

Performance

  • [jest-watcher] Minor optimization for JestHook (#8746
  • [@jest/reporters] Prevent runaway CPU useage with --notify on macOS (#8830)

23.6.0

16 Aug 08:32
23b9860
Compare
Choose a tag to compare

Features

  • [jest-cli] Add changedSince to allowed watch mode configs (#6955)
  • [babel-jest] Add support for babel.config.js added in Babel 7.0.0 (#6911)
  • [jest-resolve] Add support for an experimental mapper option (Watchman crawler only) that adds virtual files to the Haste map (#6940)

Fixes

  • [jest-resolve] Only resolve realpath once in try-catch (#6925)
  • [expect] Fix TypeError in toBeInstanceOf on null or undefined (#6912)
  • [jest-jasmine2] Throw a descriptive error if the first argument supplied to a hook was not a function (#6917) and (#6931)
  • [jest-circus] Throw a descriptive error if the first argument supplied to a hook was not a function (#6917) and (#6931)
  • [expect] Fix variadic custom asymmetric matchers (#6898)
  • [jest-cli] Fix incorrect testEnvironmentOptions warning (#6852)
  • [jest-each] Prevent done callback being supplied to describe (#6843)
  • [jest-config] Better error message for a case when a preset module was found, but no jest-preset.js or jest-preset.json at the root (#6863)
  • [jest-haste-map] Catch crawler error when unsuccessfully reading directories (#6761)

Chore & Maintenance

  • [docs] Add custom toMatchSnapshot matcher docs (#6837)
  • [docs] Improve the documentation regarding preset configuration (#6864)
  • [docs] Clarify usage of --projects CLI option (#6872)
  • [docs] Correct failure-change notification mode (#6878)
  • [scripts] Don’t remove node_modules from subdirectories of presets in e2e tests (#6948)
  • [diff-sequences] Double-check number of differences in tests (#6953)

23.5.0

16 Aug 08:32
23b9860
Compare
Choose a tag to compare

Features

  • [jest-cli] Add package name to NotifyReporter notification (#5898)
  • [jest-runner] print stack trace when process.exit is called from user code (#6714)
  • [jest-each] introduces %# option to add index of the test to its title (#6414)
  • [pretty-format] Support serializing DocumentFragment (#6705)
  • [jest-validate] Add recursive and recursiveBlacklist options for deep config checks (#6802)
  • [jest-cli] Check watch plugins for key conflicts (#6697)

Fixes

  • [jest-snapshot] Mark snapshots as obsolete when moved to an inline snapshot (#6773)
  • [jest-config] Fix --coverage with --findRelatedTests overwriting collectCoverageFrom options (#6736)
  • [jest-config] Update default config for testURL from 'about:blank' to 'http://localhost' to address latest JSDOM security warning. (#6792)
  • [jest-cli] Fix testMatch not working with negations (#6648)
  • [jest-cli] Don't report promises as open handles (#6716)
  • [jest-each] Add timeout support to parameterised tests (#6660)
  • [jest-cli] Improve the message when running coverage while there are no files matching global threshold (#6334)
  • [jest-snapshot] Correctly merge property matchers with the rest of the snapshot in toMatchSnapshot. (#6528)
  • [jest-snapshot] Add error messages for invalid property matchers. (#6528)
  • [jest-cli] Show open handles from inside test files as well (#6263)
  • [jest-haste-map] Fix a problem where creating folders ending with .js could cause a crash (#6818)

Chore & Maintenance

  • [docs] Document another option to avoid warnings with React 16 (#5258)
  • [docs] Add note explaining when jest.setTimeout should be called (#6817)
  • [docs] Fixed bug in example code (#6828)

23.4.2

16 Aug 08:32
23b9860
Compare
Choose a tag to compare

Performance

  • [jest-changed-files] limit git and hg commands to specified roots (#6732)

Fixes

  • [jest-circus] Fix retryTimes so errors are reset before re-running (#6762)
  • [docs] Update expect.objectContaining() description (#6754)
  • [babel-jest] Make getCacheKey() take into account createTransformer options (#6699)
  • [jest-jasmine2] Use prettier through require instead of localRequire. Fixes matchInlineSnapshot where prettier dependencies like path and fs are mocked with jest.mock. (#6776)
  • [docs] Fix contributors link (#6711)
  • [website] Fix website versions page to link to correct language (#6734)
  • [expect] Update toContain suggestion to contain equal message (#6792)

23.4.1

16 Aug 08:32
23b9860
Compare
Choose a tag to compare

Features

  • [jest-cli] Watch plugins now have access to a broader range of global configuration options in their updateConfigAndRun callbacks, so they can provide a wider set of extra features (#6473)
  • [jest-snapshot] babel-traverse is now passed to jest-snapshot explicitly to avoid unnecessary requires in every test

Fixes

  • [jest-haste-map] Optimize watchman crawler by using glob on initial query (#6689)
  • [pretty-format] Fix formatting of invalid Date objects (#6635)

23.4.0

16 Aug 08:32
23b9860
Compare
Choose a tag to compare

Features

  • [jest-haste-map] Add computeDependencies flag to avoid opening files if not needed (#6667)
  • [jest-runtime] Support require.resolve.paths (#6471)
  • [jest-runtime] Support paths option for require.resolve (#6471)

Fixes

  • [jest-runner] Force parallel runs for watch mode, to avoid TTY freeze (#6647)
  • [jest-cli] properly reprint resolver errors in watch mode (#6407)
  • [jest-cli] Write configuration to stdout when the option was explicitly passed to Jest (#6447)
  • [jest-cli] Fix regression on non-matching suites (6657)
  • [jest-runtime] Roll back micromatch version to prevent regression when matching files (#6661)

23.3.0

16 Aug 08:32
23b9860
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 08:32
23b9860
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 08:32
23b9860
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 08:32
23b9860
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)