NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1395 most downloaded on npm
Delightful JavaScript Testing.
Last release 16 days ago
18 Sep 2026
Release timing varies
gaps range from 8 days to 5 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
172 releases · first in 2019
Nothing published for this version
Nothing published for this version
[jest-resolve-dependencies] Continue dependency resolution if mock dependency can't be found
[jest-resolve-dependencies] Continue dependency resolution if mock dependency can't be found (#10779)One column per quarter.
[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)[jest-runtime] add support for dynamic import() from CommonJS
[jest-runtime] add support for dynamic import() from CommonJS (#10620)[jest-runner, jest-runtime] require.main should not be undefined with createRequire() (#10610)[jest-runtime] add missing module.path property (#10615)[jest-runtime] Add mainModule instance variable to runtime (#10621)[jest-runtime] Evaluate Node core modules on dynamic import() (#10622)[jest-validate] Show suggestion only when unrecognized cli param is longer than 1 character (#10604)[jest-validate] Validate testURL as CLI option (#10595)[*] 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)[expect] Fix toMatchObject to work with inherited class getters
[jest-core] Don't report ELDHistogram as open handle
[jest-core] Don't report ELDHistogram as open handle (#10417)[jest-matcher-utils] Fix diffing object contain readonly symbol key object (#10414)[jest-reporters] Fixes notify reporter on Linux (using notify-send) (#10393)[jest-snapshot] Correctly handles arrays and property matchers in snapshots (#10404)[jest-resolve] Add support for packageFilter on custom resolver
[jest-circus, jest-jasmine2] Include failureDetails property in test results
[jest-cli] Use correct file name to override existing jest config on init
[jest-worker] Make sure to work with Node TS typings v12
[jest-worker] Make sure to work with Node TS typings v12 (#10336)[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-jasmine2] Don't run beforeAll / afterAll in skipped describe blocks
[jest-circus] Fix memory leak when running in band
[jest-circus] Fix memory leak when running in band (#9934)[jest-globals] Export globals as values, not types
[jest-globals] Export globals as values, not types (#9925)[jest-haste-map] Add missing @types/graceful-fs dependency
[@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)[jest-matcher-utils] Replace accessors with values to avoid calling setters in object descriptors when computing diffs for error reporting
[*] 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-message-util] Check for common errors when using the wrong test environment
[*] Verify all packages are properly downleveled for older versions of TypeScript
[*] Verify all packages are properly downleveled for older versions of TypeScript (#9715)[jest-environment-node] Remove getVmContext from Node env on older versions of Node
[*] 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-resolve] Now supports PnP environment without plugins
[jest-resolve] Now supports PnP environment without plugins (#8094)[expect] Compare DOM nodes even if there are multiple Node classes (#8064)[jest-worker] worker.getStdout() can return null (#8083)[jest-worker] Re-attach stdout and stderr from new processes/threads created after retries (#8087)[jest-reporters/jest-runner] Serialize changedFiles passed to workers (#8090)[*] Make sure to include d.ts files in the tarball when building (#8086)Nothing published for this version
[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)Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →