NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #246 most downloaded on npm
This packages is a collection of utilities and helper functions
Last release 16 days ago
01 Sep 2026
Release timing varies
gaps range from 8 days to 6 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
11 years old
277 releases · first in 2016
[jest-config] [BREAKING] Stop shipping jest-environment-jsdom by default
[jest-config] [BREAKING] Stop shipping jest-environment-jsdom by default (#12354)[jest-config] [BREAKING] Stop shipping jest-jasmine2 by default (#12355)[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-node] [BREAKING] Add default node and node-addon conditions to exportConditions for node environment (#11924)[@jest/expect-utils] New module exporting utils for expect (#12323)[jest-resolve] [BREAKING] Add support for package.json exports (#11961)[jest-worker] [BREAKING] Allow only absolute workerPath (#12343)[expect] Move typings of .not, .rejects and .resolves modifiers outside of Matchers interface (#12346)[jest-environment-jsdom] Make jsdom accessible to extending environments again (#12232)[jest-jasmine2, jest-types] [BREAKING] Move all jasmine specific types from @jest/types to its own package (#12125)[*] [BREAKING] Drop support for Node v10 and v15 and target first LTS 16.13.0 (#12220)[*] [BREAKING] Drop support for typescript@3.8, minimum version is now 4.2 (#11142)[*] Bundle all .d.ts files into a single index.d.ts per module (#12345)[expect] [BREAKING] Remove support for importing build/utils (#12323)[expect] [BREAKING] Migrate to ESM (#12344)[jest-cli] Update yargs to v17 (#12357)[jest-config] [BREAKING] Remove getTestEnvironment export (#12353)[@jest/core] Use index.ts instead of jest.ts as main export (#12329)[jest-environment-jsdom] [BREAKING] Migrate to ESM (#12340)[jest-environment-node] [BREAKING] Migrate to ESM (#12340)[@jest/fake-timers] Update @sinonjs/fake_timers to v9 (#12357)[jest-jasmine2, jest-runtime] [BREAKING] Use Symbol to pass jest.setTimeout value instead of jasmine specific logic (#12124)[jest-phabricator] [BREAKING] Migrate to ESM (#12341)[jest-resolve] [BREAKING] Make requireResolveFunction argument mandatory (#12353)[jest-runner] [BREAKING] Remove some type exports from @jest/test-result (#12353)[jest-snapshot] [BREAKING] Migrate to ESM (#12342)[jest-transform] Update write-file-atomic to v4 (#12357)[jest] Use index.ts instead of jest.ts as main export (#12329)[jest-haste-map] [BREAKING] Default to node crawler over shelling out to find if watchman is not enabled (#12320)Full Changelog: https://github.com/facebook/jest/compare/v27.5.1...v28.0.0-alpha.0
One column per quarter.
[jest-config] Support comments in JSON config file
[jest-config] Support comments in JSON config file (#12316)[pretty-format] Expose ConvertAnsi plugin (#12308)[expect] Add type definitions for asymmetric closeTo matcher (#12304)[jest-cli] Load binary via exported API (#12315)[jest-config] Replace jsonlint with parse-json (#12316)[jest-repl] Make module importable (#12311 & #12315)[*] Avoid anonymous default exports (#12313)Full Changelog: https://github.com/facebook/jest/compare/v27.5.0...v27.5.1
[expect] Add asymmetric matcher expect.closeTo
[expect] Add asymmetric matcher expect.closeTo (#12243)[jest-mock] Added mockFn.mock.lastCall to retrieve last argument (#12285)[expect] Add a fix for .toHaveProperty('') (#12251)[jest-each, @jest/globals] Allow passing ReadonlyArray type of a table to describe.each and test.each (#12297)[@jest/globals] Add missing options argument to jest.doMock typing (#12292)[jest-environment-node] Add atob and btoa (#12269)[jest-matcher-utils] Correct diff for expected asymmetric matchers (#12264)[jest-message-util] Fix .getTopFrame() (and toMatchInlineSnapshot()) with mjs files (#12277)[*] Update graceful-fs to ^4.2.9 (#11749)[jest-resolve] perf: skip error creation on not found stat calls (#11749)Full Changelog: https://github.com/facebook/jest/compare/v27.4.7...v27.5.0
[jest-worker] Add additional execArgv to filter
[jest-worker] Add additional execArgv to filter (#12103)Full Changelog: https://github.com/facebook/jest/compare/v27.4.1...v27.4.2
[jest-worker] Filter execArgv correctly
[jest-worker] Filter execArgv correctly (#12097)Full Changelog: https://github.com/facebook/jest/compare/v27.4.0...v27.4.1
[expect] Enhancing the toHaveProperty matcher to support array selection
[expect] Enhancing the toHaveProperty matcher to support array selection (#12092)[jest-core] Add support for testResultsProcessor written in ESM (#12006)[jest-diff, pretty-format] Add compareKeys option for custom sorting of object keys (#11992)[jest-mock] Add ts-jest mock util functions (#12089)[expect] Allow again expect.Matchers generic with single value (#11986)[jest-circus, jest-jasmine2] Avoid false concurrent test failures due to unhandled promise rejections (#11987)[jest-config] Add missing slash dependency to package.json (#12080)[jest-core] Incorrect detection of open ZLIB handles (#12022)[jest-diff] Break dependency cycle (#10818)[jest-environment-jsdom] Add @types/jsdom dependency (#11999)[jest-environment-jsdom] Do not reset the global.document too early on teardown (#11871)[jest-transform] Improve error and warning messages (#11998)[jest-worker] Pass execArgv correctly to worker_threads worker (#12069)[docs] CLI options alphabetized (#11586)[jest-runner] Add info regarding timers to forcedExit message(#12083)[*] Replaced substr method with substring (#12066)[*] Add types entry to all export maps (#12073)Full Changelog: https://github.com/facebook/jest/compare/v27.3.1...v27.4.0
[expect] Make expect extension properties configurable
[expect] Make expect extension properties configurable (#11978)[expect] Fix .any() checks on primitive wrapper classes (#11976)[expect] BigInt global is always defined, don't check for its existence at runtime (#11979)[jest-config, jest-util] Use ci-info instead of is-ci to detect CI environment (#11973)Full Changelog: https://github.com/facebook/jest/compare/v27.3.0...v27.3.1
[jest-config] Add testEnvironmentOptions.html to apply to jsdom input
[jest-config] Add testEnvironmentOptions.html to apply to jsdom input (#11950)[jest-resolver] Support default export (.) in exports field if main is missing (#11919)[expect] Tweak and improve types (#11949)[jest-runtime] Ensure absolute paths can be resolved within test modules (#11943)[jest-runtime] Fix instanceof for ModernFakeTimers and LegacyFakeTimers methods (#11946)Full Changelog: https://github.com/facebook/jest/compare/v27.2.5...v27.3.0
[@jest/types] Mark deprecated configuration options as @deprecated
[jest-config] Warn when multiple Jest configs are located (#11922)[expect] Pass matcher context to asymmetric matchers (#11926 & #11930)[expect] Improve TypeScript types (#11931)[expect] Improve typings of toThrow() and toThrowError() matchers (#11929)[jest-cli] Improve --help printout by removing defunct --browser option (#11914)[jest-haste-map] Use distinct cache paths for different values of computeDependencies (#11916)[@jest/reporters] Do not buffer console.logs when using verbose reporter (#11054)[expect] Export default matchers (#11932)[@jest/types] Mark deprecated configuration options as @deprecated (#11913)Full Changelog: https://github.com/facebook/jest/compare/v27.2.4...v27.2.5
[expect] Add equality checks for Array Buffers in expect.ToStrictEqual()
[@jest/fake-timers] Update @sinonjs/fake-timers to v8
[jest-resolver, jest-runtime] Pass conditions to custom resolvers to enable them to implement support for package.json exports field
[jest-runtime] Add experimental, limited (and undocumented) support for mocking ECMAScript Modules
[jest-haste-map] Use watchman suffix-set option for faster file indexing.
[jest-haste-map] Use watchman suffix-set option for faster file indexing. (#11784)[jest-cli] Adds a new config options snapshotFormat which offers a way to override any of the formatting settings which come with pretty-format. (#11654)[jest-reporters] Expose the getSummary util (#11695).[jest-resolver] Support node: prefix when importing Node core modules (#11331)[jest-each] Relaxed the validation to allow multibyte characters in headings (#11575)[jest-environment-jsdom] Add support for userAgent option (#11773)[jest-environment-node] Add Event and EventTarget to node global environment. (#11727)[jest-mock] Fix spyOn to use Object.prototype.hasOwnProperty (#11721)[jest-resolver] Add dependency on jest-haste-map (#11759)[jest-types] Compat with @types/node v16 (#11645)[docs] Correct expects.assertions documentation by adding async/await for asynchronous function.[*] Publish all modules to include the build change in #11569
[*] Publish all modules to include the build change in #11569[jest-circus] Add some APIs to make it easier to build your own test runner
[jest-circus] Add some APIs to make it easier to build your own test runner[jest-reporters] Expose the getResultHeader util (#11460)[jest-resolver] Export resolve* utils for different Jest modules (#11466)[@jest/test-result] Export Test, TestEvents and TestFileEvent (#11466)[jest-circus] Add missing slash dependency (#11465)[jest-circus, @jest/test-sequencer] Remove dependency on jest-runner (#11466)[jest-config] Resolve config.runner to absolute path (#11465)[jest-config] Make sure to support functions as config (#11475)[jest-core] Do not warn about DNSCHANNEL handles when using the --detectOpenHandles option (#11470)[jest-runner] Remove dependency on jest-config (#11466)[jest-worker] Loosen engine requirement to >= 10.13.0 (#11451)[jest-environment-jsdom] Bump version of JSDOM to avoid deprecated request package
[jest-environment-jsdom] Bump version of JSDOM to avoid deprecated request package (#11442)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
[jest-core] Add findRelatedTests and nonFlagArgs in allowed config options for updateConfigAndRun in watch plugins
[jest-core] Add findRelatedTests and nonFlagArgs in allowed config options for updateConfigAndRun in watch plugins (#10659)[babel-plugin-jest-hoist] Preserve order of hoisted mock nodes within containing block (#10536)[babel-plugin-jest-hoist] Hoist pure constants to support experimental JSX transform in hoisted mocks (#10723)[babel-preset-jest] Update babel-preset-current-node-syntax to support top level await (#10747)[expect] Revert "Fix objectContaining to work recursively into sub-objects (#10508)" (#10766)[jest-circus, jest-jasmine2] fix: don't assume stack is always a string (#10697)[jest-config] Fix bug introduced in watch mode by PR #10678 (#10692)[jest-config] Throw correct error for missing preset modules (#10737)[jest-resolve-dependencies] Resolve mocks as dependencies (#10713)[jest-runtime] Handle file URLs in dynamic imports (#10744)[jest-runtime, babel-jest] Pass more ESM options to @jest/transform (#10752)[jest-runtime] Properly inject extraGlobals into the runtime (#10758)[jest-transform] Link to ESM docs on syntax errors (#10748)[jest-runtime] Support named exports from CommonJS as named ES Module imports
[jest-runtime] Support named exports from CommonJS as named ES Module imports (#10673)[jest-validate] Add support for recursiveDenylist option as an alternative to recursiveBlacklist (#10236)[expect] Fix objectContaining to work recursively into sub-objects (#10508)[jest-cli, jest-core, jest-config, jest-types] Fix --onlyFailures flag to work in non-watch mode (#10678)[jest-config] Fix for the jest.config.ts compiler to not interfere with tsconfig.json files (#10675)[jest-message-util] Update to work properly with Node 15 (#10660)[jest-mock] Allow to mock methods in getters (TypeScript 3.9 export) (#10156)[jest-cli, jest-config] Add support for the jest.config.ts configuration file
[jest-cli, jest-config] Add support for the jest.config.ts configuration file (#10564)[jest-config] Simplify transform RegExp (#10207)[jest-fake-timers] Lazily instantiate mock timers (#10551)[jest-runtime] require.main is no longer undefined when using jest.resetModules (#10626)[@jest/types] Add missing values for timers (#10632)[*] Revert usage of Escalade and rollback Yargs to v15 as it breaks Node 13
[*] Revert usage of Escalade and rollback Yargs to v15 as it breaks Node 13 (#10599)[jest-circus] Setup globals before emitting setup, and include Jest globals in the setup payload (#10598)[jest-mock] Fix typings for mockResolvedValue, mockResolvedValueOnce, mockRejectedValue and mockRejectedValueOnce (#10600)[jest-circus, jest-config, jest-runtime] Add new injectGlobals config and CLI option to disable injecting global variables into the runtime
[jest-circus, jest-config, jest-runtime] Add new injectGlobals config and CLI option to disable injecting global variables into the runtime (#10484)[jest-each] Fixes .each type to always be callable (#10447)[jest-runner] Add support for moduleLoaders with default exports (#10541)[@jest/create-cache-key-function] Added a new package for creating cache keys (#10587)[jest-circus, jest-jasmine2] Find correct location for test.each tests (#10413)[jest-console] Add Console constructor to console object (#10502)[jest-globals] Fix lifecycle hook function types (#10480)[jest-runtime] Remove usage of vm.compileFunction due to a performance issue (#10586)[jest-circus, jest-jasmine2] Include failureDetails property in test results
[jest-core, jest-circus, jest-reporter, jest-runner] Added support for reporting individual test cases using jest-circus
[jest-core, jest-circus, jest-reporter, jest-runner] Added support for reporting individual test cases using jest-circus (#10227)[jest-config, jest-reporter, jest-runner, jest-test-sequencer] Add slowTestThreshold configuration option (#9366)[jest-haste-map] Watchman crawler now includes dotfiles (#10075)[jest-worker] Added support for workers to send custom messages to parent in jest-worker (#10293)[jest-worker] Support passing resourceLimits (#10335)[pretty-format] Added support for serializing custom elements (web components) (#10217)[expect] Match symbols and bigints in any() (#10223)[jest-changed-files] Use git diff instead of git log for --changedSince (#10155)[jest-console] Add missing console.timeLog for compatibility with Node (#10209)[jest-haste-map] Check find binary supports the -iname parameter (#10308)[jest-snapshot] Strip added indentation for inline error snapshots (#10217)[*] Add missing dependency on @types/node (#10248)[jest-jasmine2] Convert PCancelable to TypeScript (#10215)[jest-jasmine2] Refine typings of queueRunner (#10215)[jest-jasmine2] Remove usage of Function type (#10216)[jest-resolve] Improve types (#10239)[docs] Clarify the jest.requireActual(moduleName) example[jest-types] Refine typings of coverageReporters (#10275)[jest-mock] Export Mock, MockInstance, SpyInstance types
[jest-mock] Export Mock, MockInstance, SpyInstance types (#10138)[jest-config] Support config files exporting (async) functions (#10001)[jest-cli, jest-core] Add --selectProjects CLI argument to filter test suites by project name (#8612)[jest-cli, jest-init] Add coverageProvider to jest --init prompts (#10044)[jest-console] getConsoleOutput to receive global stack trace config and use it to format stack trace (#10081)[jest-jasmine2] Stop adding : after an error that has no message (#9990)[jest-diff] Control no diff message color with commonColor in diff options (#9997)[jest-snapshot] Fix TypeScript compilation (#10008)[docs] Correct confusing filename in enableAutomock example (#10055)[jest-core] 🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉 (#10000)[jest-core, jest-reporters, jest-test-result, jest-types] Cleanup displayName type (#10049)[jest-runtime] Jest-internal sandbox escape hatch (#9907)[jest-fake-timers] Update now param type to support Date in addition to number. (#10169)[docs] Add param to setSystemTime docs and remove preceding period from it and getRealSystemTime (#10169)[jest-snapshot, jest-util] Replace make-dir with fs.mkdir (#10136)[docs] Added parcel-bundler documentation inside readme.md file[jest-core, jest-transform, jest-haste-map] Improve Jest startup time and test runtime, particularly when running with coverage, by caching micromatch and avoiding recreating RegExp instances (#10131)[jest-circus] Backward compatibility for deprecated DescribeBlock.tests to not break e.g. Detox reporter
[jest-circus] Backward compatibility for deprecated DescribeBlock.tests to not break e.g. Detox reporterNothing published for this version
[jest-runtime] [BREAKING] Remove long-deprecated require.requireActual and require.requireMock methods
[jest-environment-jsdom] [BREAKING] Upgrade jsdom to v16 (#9606)[@jest/fake-timers] Add possibility to use a modern implementation of fake timers, backed by @sinonjs/fake-timers (#7776)[jest-runtime] Add createMockFromModule as an alias for genMockFromModule (#9962)[babel-jest] Handle null being passed to createTransformer (#9955)[jest-circus, jest-console, jest-jasmine2, jest-reporters, jest-util, pretty-format] Fix time durating formatting and consolidate time formatting code (#9765)[jest-circus] [BREAKING] Fail tests if a test takes a done callback and have return values (#9129)[jest-circus] [BREAKING] Throw a proper error if a test / hook is defined asynchronously (#8096)[jest-circus] Throw more descriptive error if hook is defined inside test (#9957)[jest-circus] [BREAKING] Align execution order of tests to match jasmine's top to bottom order (#9965)[jest-config, jest-resolve] [BREAKING] Remove support for browser field (#9943)[jest-haste-map] Stop reporting files as changed when they are only accessed (#7347)[jest-resolve] Show relative path from root dir for module not found errors (#9963)[jest-runtime] Fix absolute path moduleNameMapper + jest.mock bug (#8727)[*] [BREAKING] TypeScript definitions requires a minimum of TypeScript v3.8 (#9823)[*] [BREAKING] Drop support for Node 8 (#9423)[*] Upgrade to chalk@4 (#9752)[*] Remove usage of realpath-native (#9952)[docs] Fix example reference implementation to use Jest with Phabricator (#8662)[docs] Added default compiler to tranform (#8583)[docs] Updated Testing Frameworks guide with React; make it generic (#9106)[expect, jest-mock, pretty-format] [BREAKING] Remove build-es5 from package (#9945)[@jest/fake-timers, @jest/environment] [BREAKING] Rename LolexFakeTimers to ModernFakeTimers (#9960)[jest-haste-map] [BREAKING] removed providesModuleNodeModules (#8535)[jest-runtime] [BREAKING] Remove long-deprecated require.requireActual and require.requireMock methods (#9854)Nothing published for this version
Nothing published for this version
Nothing published for this version
[@jest/globals] New package so Jest's globals can be explicitly imported
[@jest/globals] New package so Jest's globals can be explicitly imported (#9801)[jest-core] Show coverage of sources related to tests in changed files (#9769)[jest-runtime] Populate require.cache (#9841)[*] Use graceful-fs directly in every package instead of relying on fs being monkey patched (#9443)[expect] Prints the Symbol name into the error message with a custom asymmetric matcher (#9888)[jest-circus, jest-jasmine2] Support older version of jest-runtime (#9903 & #9842)[@jest/environment] Make sure not to reference Jest types (#9875)[jest-message-util] Code frame printing should respect --noStackTrace flag (#9866)[jest-runtime] Support importing CJS from ESM using import statements (#9850)[jest-runtime] Support importing parallel dynamic imports (#9858)[jest-transform] Improve source map handling when instrumenting transformed code (#9811)[docs] Add an example for mocking non-default export class[jest-resolve] Update resolve to a version using native realpath, which is faster than the default JS implementation (#9872)[jest-resolve] Pass custom cached realpath function to resolve (#9873)[jest-runtime] Add teardown method to clear any caches when tests complete (#9906)[jest-runtime] Do not pass files required internally through transformation when loading them (#9900)[jest-runtime] Use Maps instead of object literals as cache holders (#9901)[expect] Support async functions in toThrow
[expect] Support async functions in toThrow (#9817)[jest-console] Add code frame to console.error and console.warn (#9741)[jest-runtime, jest-jasmine2, jest-circus] Experimental, limited ECMAScript Modules support (#9772 & #9842)[expect] Restore support for passing functions to toHaveLength matcher (#9796)[jest-changed-files] --only-changed should include staged files (#9799)[jest-circus] Throw on nested test definitions (#9828)[jest-each] each will throw an error when called with too many arguments (#9818)[jest-runner] Don't print warning to stdout when using --json (#9843)[babel-jest] Support passing supportsDynamicImport and supportsStaticESM
[babel-jest] Support passing supportsDynamicImport and supportsStaticESM (#9766)[babel-preset-jest] Enable all syntax plugins not enabled by default that works on current version of Node (#9774)[jest-circus] Enable writing async test event handlers (#9397)[jest-runtime, @jest/transformer] Support passing supportsDynamicImport and supportsStaticESM (#9597)[*] 25.2.5 was published without changes from 25.2.4 - 25.2.6 includes all changes from that version.
[*] 25.2.5 was published without changes from 25.2.4 - 25.2.6 includes all changes from that version.[@jest/console] Fix typescript<@3.8 compatibility in published types
[@jest/console] Fix typescript<@3.8 compatibility in published types[docs] Update link to watchman troubleshooting docs (#9727)[@jest/message-util] Remove dependency on @jest/test-result, which lead to a sprawling dependency tree (#9749)[@jest/test-result] Remove dependency on @jest/transform, which lead to a sprawling dependency tree (#9747)[@jest/transform] Expose type TransformedSource (#9736)[*] Verify all packages are properly downleveled for older versions of TypeScript
[*] Verify all packages are properly downleveled for older versions of TypeScript (#9715)[*] Downlevel TypeScript definitions files for compatibility with TS<3.8
[*] Downlevel TypeScript definitions files for compatibility with TS<3.8 (#9705)Nothing published for this version
Nothing published for this version
[jest-config] Support ESM config files with .js extension (#9573).
[jest-config] Support ESM config files with .js extension (#9573).[jest-runtime] Override module.createRequire to return a Jest-compatible require function (#9469)[jest-haste-map] [BREAKING] Remove mapper option (#9581)[*] Support array of paths for moduleNameMapper aliases (#9465)[jest-reporters] Adds ability to pass options to the istanbul-reporter through coverageReporters (#9572)[jest-runtime] Require stack when a module cannot be resolved (#9681)[jest-transform] writeCacheFile no longer calls fsync (#9695)[expect] Handle readonly properties correctly (#9575)[jest-cli] Set coverageProvider correctly when provided in config (#9562)[jest-cli] Allow specifying .cjs and .mjs config files by --config CLI option (#9578)[jest-cli] Update yargs to fix CLI flag overriding (#9519)[jest-config] Treat setupFilesAfterEnv like setupFiles when normalizing configs against presets (#9495)[jest-config] Support .mjs config files on Windows as well (#9558)[jest-config] Verify rootDir and all roots are directories (#9569)[jest-config] Ensure pattern of replacePosixSep is a string (#9546)[jest-haste-map] Fix crash on unix based systems without find (#9579)[jest-jasmine2] Fix --testNamePattern matching with concurrent tests (#9090)[jest-matcher-utils] Fix diff highlight of symbol-keyed object. (#9499)[@jest/reporters] Notifications should be fire&forget rather than having a timeout (#9567)[jest-resolve] Fix module identity preservation with symlinks and browser field resolution (#9511)[jest-resolve] Do not confuse directories with files (#8912)[jest-resolve] moduleNameMapper should take precedence over Node core modules (#9563)[jest-runtime] Reset isolateModules if it fails (#9541)[jest-runtime] Yarn PnP errors displayed to the user (#9681)[jest-snapshot] Downgrade semver to v6 to support node 8 (#9451)[jest-snapshot] Properly indent new snapshots in the presences of existing ones (#9523)[jest-transform] Correct sourcemap behavior for transformed and instrumented code (#9460)[jest-transform] Allow instrumentation of transformed files with weird file extensions (#9589)[@jest/types] Make ConfigGlobals an interface to allow for declaration merging. (#9570)[pretty-format] Export OldPlugin type (#9491)[docs] Warn about unexpected behavior / bug of node-notifier when using the notify options.[docs] Grammatical corrections to Async docs page. (#9679)[jest-resolver] Use resolve package to implement custom module resolution (#9520)[jest-runtime] Move execution of setupFiles to jest-runner (#9596)[jest-runtime] Update anchor link in helpers (#9616)[@jest/reporters] Remove unused dependencies and type exports (#9462)[website] Update pictures of reports when matchers fail (#9214)[jest-haste-map] Reduce number of lstat calls in node crawler (#9514)Nothing published for this version
[jest-util] [BREAKING] Remove deprecated exports
[babel-plugin-jest-hoist] Show codeframe on static hoisting issues (#8865)[babel-plugin-jest-hoist] Add BigInt to ALLOWED_IDENTIFIERS (#8382)[babel-preset-jest] Add @babel/plugin-syntax-bigint (#8382)[expect] Add BigInt support to toBeGreaterThan, toBeGreaterThanOrEqual, toBeLessThan and toBeLessThanOrEqual (#8382)[expect, jest-matcher-utils] Display change counts in annotation lines (#9035)[expect, jest-snapshot] Support custom inline snapshot matchers (#9278)[jest-config] Throw the full error message and stack when a Jest preset is missing a dependency (#8924)[jest-config] [BREAKING] Set default display name color based on runner (#8689)[jest-config] Merge preset globals with project globals (#9027)[jest-config] Support .cjs config files (#9291)[jest-config] [BREAKING] Support .mjs config files (#9431)[jest-core] Support reporters as default exports (#9161)[jest-core] Support --findRelatedTests paths case insensitivity on Windows (#8900)[jest-diff] Add options for colors and symbols (#8841)[jest-diff] [BREAKING] Export as ECMAScript module (#8873)[jest-diff] Add includeChangeCounts and rename Indicator options (#8881)[jest-diff] Add changeColor and patchColor options (#8911)[jest-diff] Add trailingSpaceFormatter option and replace cyan with commonColor (#8927)[jest-diff] Add firstOrLastEmptyLineReplacement option and export 3 diffLines functions (#8955)[jest-environment] Add optional getVmContext next to runScript (#9252 & #9428)[jest-environment-jsdom] Add fakeTimersLolex (#8925)[jest-environment-node] Add fakeTimersLolex (#8925)[jest-environment-node] Add queueMicrotask (#9140)[jest-environment-node] Implement getVmContext (#9252 & #9428)[@jest/fake-timers] Add Lolex as implementation of fake timers (#8897)[jest-get-type] Add BigInt support. (#8382)[jest-matcher-utils] Add BigInt support to ensureNumbers ensureActualIsNumber, ensureExpectedIsNumber (#8382)[jest-matcher-utils] Ignore highlighting matched asymmetricMatcher in diffs (#9257)[jest-reporters] Export utils for path formatting (#9162)[jest-reporters] Provides global coverage thresholds as watermarks for istanbul (#9416)[jest-runner] Warn if a worker had to be force exited (#8206)[jest-runtime] [BREAKING] Do not export ScriptTransformer - it can be imported from @jest/transform instead (#9256)[jest-runtime] Use JestEnvironment.getVmContext and vm.compileFunction if available to avoid the module wrapper (#9252 & #9428)[jest-snapshot] Display change counts in annotation lines (#8982)[jest-snapshot] [BREAKING] Improve report when the matcher has properties (#9104)[jest-snapshot] Improve colors when snapshots are updatable (#9132)[jest-snapshot] Ignore indentation for most serialized objects (#9203)[jest-transform] Create createTranspilingRequire function for easy transpiling modules (#9194)[jest-transform] [BREAKING] Return transformed code as a string, do not wrap in vm.Script (#9253)[@jest/test-result] Create method to create empty TestResult (#8867)[jest-worker] [BREAKING] Return a promise from end(), resolving with the information whether workers exited gracefully (#8206)[jest-reporters] Transform file paths into hyperlinks (#8980)[expect] Display expectedDiff more carefully in toBeCloseTo (#8389)[expect] Avoid incorrect difference for subset when toMatchObject fails (#9005)[expect] Consider all RegExp flags for equality (#9167)[expect] [BREAKING] Consider primitives different from wrappers instantiated with new (#9167)[expect] Prevent maintaining RegExp state between multiple tests (#9289)[expect] Fix subsetEquality false circular reference detection (#9322)[jest-config] Use half of the available cores when watchAll mode is enabled (#9117)[jest-config] Fix Jest multi project runner still cannot handle exactly one project (#8894)[jest-console] Add missing console.group calls to NullConsole (#9024)[jest-core] Don't include unref'd timers in --detectOpenHandles results (#8941)[jest-core] Limit number of workers when creating haste maps in projects (#9259)[jest-diff] Do not inverse format if line consists of one change (#8903)[jest-diff] Rename some new options and change their default values (#9077)[jest-environment-node] Fix TextEncoder.encode not referencing same global Uint8Array constructor (#9261)[jest-fake-timers] getTimerCount will not include cancelled immediates (#8764)[jest-fake-timers] Support util.promisify on setTimeout (#9180)[jest-jasmine2, jest-circus] Improve error message format for Node's assert.fail (#9262)[jest-leak-detector] [BREAKING] Use weak-napi instead of weak package (#8686)[jest-mock] Fix for mockReturnValue overriding mockImplementationOnce (#8398)[jest-reporters] Make node-notifier an optional dependency (#8918)[jest-reporters] Make all arguments to methods on BaseReporter optional (#9159)[jest-resolve]: Set MODULE_NOT_FOUND as error code when module is not resolved from paths (#8487)[jest-resolve-dependencies] Handle dynamic dependencies correctly even when using module maps (#9303)[jest-snapshot] Remove only the added newlines in multiline snapshots (#8859)[jest-snapshot] Distinguish empty string from external snapshot not written (#8880)[jest-snapshot] [BREAKING] Distinguish empty string from internal snapshot not written (#8898)[jest-snapshot] [BREAKING] Remove report method and throw matcher errors (#9049)[jest-snapshot] Omit irrelevant received properties when property matchers fail (#9198)[jest-transform] Properly cache transformed files across tests (#8890)[jest-transform] Don't fail the test suite when a generated source map is invalid (#9058)[jest-types] [BREAKING] Use less null | undefined in config types (#9200)[jest-util] Allow querying process.domain (#9136)[pretty-format] Correctly detect memoized elements (#9196)[pretty-format] Fix pretty-format to respect displayName on forwardRef (#9422)[*] [BREAKING] Drop support for Node 6 (#8455)[*] Add Node 12 to CI (#8411)[*] [BREAKING] Upgrade to Micromatch v4 (#8852)[babel-plugin-jest-hoist] [BREAKING] Use ESM exports (#8874)[docs] Add alias and optional boolean value to coverage CLI Reference (#8996)[docs] Fix broken link pointing to legacy JS file in "Snapshot Testing".[docs] Add setupFilesAfterEnv and jest.setTimeout example (#8971)[expect] Test that toStrictEqual is equivalent to Node's assert.deepStrictEqual (#9167)[jest] [BREAKING] Use ESM exports (#8874)[jest-cli] [BREAKING] Use ESM exports (#8874)[jest-cli] [BREAKING] Remove re-exports from @jest/core (#8874)[jest-diff] Remove the need to export splitLines0 function (#9151)[jest-environment-jsdom] [BREAKING] Upgrade JSDOM from v11 to v15 (#8851)[jest-haste-map] Upgrade to fsevents@2 (#9215)[jest-reporters] [BREAKING] Upgrade Istanbul dependencies, which are used for code coverage (#9192)[jest-util] [BREAKING] Remove deprecated exports (#8863)[jest-validate] [BREAKING] Use ESM exports (#8874)[jest-types] Mark InitialOptions as Partial (#8848)[jest-config] Refactor normalize to be more type safe (#8848)Nothing published for this version
[expect] Highlight substring differences when matcher fails, part 1
[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)[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)[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)[jest-circus] Bind to Circus events via an optional event handler on any custom env
[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)[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 (#8278)[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)[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)[@jest/config] Normalize testSequencer to its absolute path
[@jest/core, @jest/test-sequencer] Move testSequencer to individual package @jest/test-sequencer
[@jest/core, @jest/test-sequencer] Move testSequencer to individual package @jest/test-sequencer (#8223)[@jest/core, jest-cli, jest-config] Add option testSequencer allow user use custom sequencer. (#8223)[expect] Add negative equality tests for iterables (#8260)[jest-haste-map] Resolve fs watcher EMFILE error (#8258)[expect] Remove repetition of matcherName and options in matchers (#8224)[expect]: Improve report when matcher fails, part 13
[expect]: Improve report when matcher fails, part 13 (#8077)[@jest/core] Filter API pre-filter setup hook (#8142)[jest-snapshot] Improve report when matcher fails, part 14 (#8132)[@jest/reporter] Display todo and skip test descriptions when verbose is true (#8038)[jest-runner] Support default exports for test environments (#8163)[pretty-format] Support React.Suspense (#8180)[jest-snapshot] Indent inline snapshots (#8198)[jest-config] Support colors in displayName configuration (#8025)[jest-circus] Fix test retries with beforeAll/beforeEach failures (#8227)[expect] Fix circular references in iterable equality (#8160)[jest-changed-files] Change method of obtaining git root (#8052)[jest-each] Fix test function type (#8145)[jest-fake-timers] getTimerCount not taking immediates and ticks into account (#8139)[jest-runtime] Allow json file as manual mock (#8159)[pretty-format] Print BigInt as a readable number instead of {} (#8138)[jest-core] Fix ability to transform dependencies required from globalSetup script (#8143)[@jest/reporters] Fix Cannot read property converageData of null (#8168)[jest-worker] JEST_WORKER_ID starts at 1 (#8205)[jest-config] Use default cwd even if config contains a cwd property (#7923)[jest-resolve-dependencies]: Remove internal peer dependencies (#8215)[jest-resolve]: Remove internal peer dependencies (#8215)[jest-snapshot]: Remove internal peer dependencies (#8215)[jest-resolve] Fix requireActual with moduleNameMapper (#8210)[jest-haste-map] Fix haste map duplicate detection in watch mode (#8237)[*] Remove flow from code base (#8061)[*] Use property initializer syntax in Jest codebase (#8117)[*] Move @types/node to the root package.json (#8129)[*] Add documentation and tests related to auto-mocking (#8099)[*] Add jest-watch-typeahead as a devDependency (#6449)[*] upgrade TS to 3.4.0-dev* for incremental builds (#8149)[docs] Improve description of optional arguments in ExpectAPI.md (#8126)[jest-haste-map] Optimize haste map data structure for serialization/deserialization (#8171)[jest-haste-map] Avoid persisting haste map or processing files when not changed (#8153)[jest-core] Improve performance of SearchSource.findMatchingTests by 15% (#8184)[jest-resolve] Optimize internal cache lookup performance (#8183)[jest-core] Dramatically improve watch mode performance (#8201)[jest-transform] Cache regular expression instead of creating anew for every file in ScriptTransformer (#8235)[jest-core] Fix memory leak of source map info and minor performance improvements (#8234)[jest-console] Fix memory leak by releasing console output reference when printed to stdout (#8233)[jest-runtime] Use Map instead of Object for module registry (#8232)[jest-haste-map] Expose throwOnModuleCollision via config.haste
[jest-cli] Fix prototype pollution vulnerability in dependency
We skipped 24.2.0 because a draft was accidentally published. Please use 24.3.0 or a newer version instead.
[expect]: Improve report when matcher fails, part 10 (#7960)[expect]: Improve report when matcher fails, part 11 (#8008)[expect]: Improve report when matcher fails, part 12 (#8033)[expect]: Improve report when matcher fails, part 7 (#7866)[expect]: Improve report when matcher fails, part 8 (#7876)[expect]: Improve report when matcher fails, part 9 (#7940)[jest-circus/jest-jasmine2] Warn if describe returns a value (#7852)[jest-config] Print error information on preset normalization error (#7935)[jest-get-type] Add isPrimitive function (#7708)[jest-haste-map] Add skipPackageJson option (#7778)[jest-util] Add isPromise (#7852)[pretty-format] Support React.memo (#7891)[expect] Fix toStrictEqual not considering arrays with objects having undefined values correctly (#7938)[expect] Fix custom async matcher stack trace (#7652)[expect] Fix non-object received value in toHaveProperty (#7986, #8067)[expect] Fix non-symmetric equal for Number (#7948)[expect] Remove duck typing and obsolete browser support code when comparing DOM nodes and use DOM-Level-3 API instead (#7995)[jest-changed-files] Fix getChangedFilesFromRoots to not return parts of the commit messages as if they were files, when the commit messages contained multiple paragraphs (#7961)[jest-changed-files] Fix pattern for HG changed files (#8066)[jest-changed-files] Improve default file selection for Mercurial repos (#7880)[jest-circus] Fix bug with test.only (#7888)[jest-circus]: Throw explicit error when errors happen after test is considered complete (#8005)[jest-cli] Fix prototype pollution vulnerability in dependency (#7904)[jest-cli] Refactor -o and --coverage combined (#7611)[jest-environment-node] Add missing globals: TextEncoder and TextDecoder (#8022)[jest-haste-map] Enforce uniqueness in names (mocks and haste ids) (#8002)[jest-jasmine2]: Throw explicit error when errors happen after test is considered complete (#8005)[jest-mock] Adds a type check to prototype to allow mocks of objects with a primitive prototype property. (#8040)[jest-transform] Normalize config and remove unnecessary checks, convert TestUtils.js to TypeScript (#7801)[jest-util]Make sure to not fail if unable to assign toStringTag to the process object, which is read only in Node 12 (#8050)[jest-validate] Fix validating async functions (#7894)[jest-worker] Fix jest-worker when using pre-allocated jobs (#7934)[static] Remove console log '-' on the front page (#7977)[*]: Setup building, linting and testing of TypeScript (#7808, #7855, #7951)[@jest/console]: Extract custom console implementations from jest-util into a new separate package (#8030)[@jest/core] Create new package, which is jest-cli minus yargs and prompts (#7696)[@jest/core]: Migrate to TypeScript (#7998)[@jest/fake-timers]: Extract FakeTimers class from jest-util into a new separate package (#7987)[@jest/reporter]: New package extracted from jest-cli (#7902)[@jest/reporters]: Migrate to TypeScript (#7994, #8045)[@jest/source-map]: Extract getCallsite function from jest-util into a new separate package (#8029)[@jest/test-result]: Extract TestResult types and helpers into a new separate package (#8034)[@jest/transform]: Migrate to TypeScript (#7918, #7945)[@jest/transform]: New package extracted from jest-runtime (#7915)[@jest/types]: New package to handle shared types (#7834)[babel-jest]: Migrate to TypeScript (#7862)[babel-plugin-jest-hoist]: Migrate to TypeScript (#7898)[diff-sequences]: Migrate to Typescript (#7820)[docs] Add missing import to docs (#7928)[docs] Update automock configuration, add note related to manual mocks (#8051)[docs] Update/Organize TestSequencer and testSchedulerHelper code comments(#7984)[docs]: Fix image paths in SnapshotTesting.md for current and version 24 (#7872)[docs]: Improve runAllTimers doc (it exhausts the micro-task queue) (#8031)[docs]: Update CONTRIBUTING.md to add information about running jest with jest-circus locally (#8013).[expect]: Migrate to TypeScript (#7919, #8028)[jest-changed-files]: Migrate to TypeScript (#7827)[jest-circus]: Migrate to TypeScript (#7916)[jest-cli]: Migrate to TypeScript (#8024)[jest-diff]: Migrate to TypeScript (#7824, #8027)[jest-docblock]: Migrate to TypeScript (#7836)[jest-each]: Migrate to Typescript (#8007)[jest-each]: Refactor into multiple files with better types (#8018)[jest-environment-jsdom]: Migrate to TypeScript (#7985)[jest-environment-node]: Migrate to TypeScript (#7985)[jest-get-type]: Migrate to TypeScript (#7818)[jest-haste-map]: Migrate to TypeScript (#7854, #7951)[jest-jasmine2]: TS migration (#7970)[jest-leak-detector]: Migrate to TypeScript (#7825)[jest-matcher-utils]: Migrate to TypeScript (#7835)[jest-message-util]: Migrate to TypeScript (#7834)[jest-mock]: Migrate to TypeScript (#7847, #7850, #7971)[jest-phabricator]: Migrate to TypeScript (#7965)[jest-regex-util]: Migrate to TypeScript (#7822)[jest-repl]: Migrate to TypeScript (#8000)[jest-resolve-dependencies]: Migrate to TypeScript (#7922)[jest-resolve]: Migrate to TypeScript (#7871)[jest-runner]: Migrate to TypeScript (#7968)[jest-runtime]: Migrate to TypeScript (#7964, #7988)[jest-serializer]: Migrate to TypeScript (#7841)[jest-snapshot]: Migrate to TypeScript (#7899)[jest-util]: Migrate to TypeScript (#7844, #8021)[jest-validate]: Migrate to TypeScript (#7991)[jest-watcher]: Migrate to TypeScript (#7843)[jest-worker]: Migrate to TypeScript (#7853)[jest]: Migrate to TypeScript (#8024)[pretty-format]: Migrate to TypeScript (#7809, #7809)[jest-haste-map] Optimize haste map tracking of deleted files with Watchman. (#8056)Your coding agent can read these notes before it upgrades. Set up the MCP server →