Jest v24.9.0 Release Notes

Release Date: 2019-08-16 // 4 months ago
  • 🔋 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 (#8546)
    • 👷 [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

    • 📄 [docs] Replace FlowType with TypeScript in CONTRIBUTING.MD code conventions
    • 🚚 [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)
    • 📄 [docs] Fix broken transform link on webpack page (#9155)

    🐎 Performance

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

Previous changes from v24.8.0

  • 🔋 Features

    • [jest-circus] Bind to Circus events via an optional event handler on any custom env (#8344)
    • [expect] Improve report when matcher fails, part 15 (#8281)
    • ⚡️ [jest-cli] Update --forceExit and "did not exit for one second" message colors (#8329)
    • [expect] Improve report when matcher fails, part 16 (#8306)
    • [jest-runner] Pass docblock pragmas to TestEnvironment constructor (#8320)
    • 📄 [docs] Add DynamoDB guide (#8319)
    • [expect] Improve report when matcher fails, part 17 (#8349)
    • [expect] Improve report when matcher fails, part 18 (#8356)
    • [expect] Improve report when matcher fails, part 19 (#8367)

    🛠 Fixes

    • [jest-each] Fix bug with placeholder values (#8289)
    • [jest-snapshot] Inline snapshots: do not indent empty lines (#8277)
    • [@jest/runtime, @jest/transform] Allow custom transforms for JSON dependencies (#2578)
    • [jest-core] Make detectOpenHandles imply runInBand (#8283)
    • [jest-haste-map] Fix the mapper option which was incorrectly ignored (#8299)
    • [jest-jasmine2] Fix describe return value warning being shown if the describe function throws (#8335)
    • [jest-environment-jsdom] Re-declare global prototype of JSDOMEnvironment (#8352)
    • 🔀 [jest-snapshot] Handle arrays when merging snapshots (#7089)
    • [expect] Extract names of async and generator functions (#8362)
    • 🤡 [jest-runtime] Fix virtual mocks not being unmockable after previously being mocked (#8396)
    • 🏁 [jest-transform] Replace special characters in transform cache filenames to support Windows (#8353)
    • [jest-config] Allow exactly one project (#7498)

    🚧 Chore & Maintenance

    • [expect] Fix label and add opposite assertion for toEqual tests (#8288)
    • 📄 [docs] Mention Jest MongoDB Preset (#8318)
    • [@jest/reporters] Migrate away from istanbul-api (#8294)
    • [*] Delete obsolete emails tag from header comment in test files (#8377)
    • ⚡️ [expect] optimize compare nodes (#8368)
    • 🤡 [docs] Fix typo in MockFunctionAPI.md (#8406)
    • [LICENSE] Follow copyright header guidelines and delete For Jest software (#8428)

    🐎 Performance

    • [jest-runtime] Fix module registry memory leak (#8282)
    • ⚡️ [jest-resolve] optimize resolve module path (#8388)
    • [jest-resolve] cache current directory (#8412)
    • [jest-get-type] Simplify checking for primitive (#8416)