NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #765 most downloaded on npm
Last release 14 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
1 version withdrawn
withdrawn after publishing
8 years old
132 releases · first in 2019
[*] 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
One column per quarter.
[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/config] Normalize testSequencer to its absolute path
[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-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 →