main
fix(jest-message-util): print inner errors of AggregateError test failures (#16316)
Update copyrights with Meta Platforms, restore original license in Jasmine fork (#13879)
chore: use `String.replaceAll` if possible (#14823)
Fix(expect-utils): Circular references not being caught when inside arrays (#14894)
fix(jest-circus): always run `beforeAll`/`afterAll` in proper order with `.concurrent` tests in `describe` (#15825)
chore: replace line numbers in snapshots (#16079)
feat(collect-tests): expand .each and report accurate per-status counts (#16259)
chore: enable disabled `BigInt` test (#15576)
feat(jest-config): add `defineConfig` and `mergeConfig` functions (#15844)
chore: update jest repo organisation in urls (#14413)
chore: use consistent casing in escape characters (#14806)
fix(jest-runtime, @jest/transform): allow V8 coverage provider to collect coverage from files which were not loaded explicitly (#13974)
fix: make coverage work when using `projects` option (#16140)
fix(jest-reporters): apply global coverage threshold to unmatched pattern files (#16137)
chore: add more tests for symlinking (#16303)
feat: support JSDOM 27 for `@jest/environment-jsdom-abstract` (#15834)
chore: prefer `.includes` over `indexOf` (#14524)
chore: use numeric separators (#14570)
feat(jest-circus): add `onTestCaseStart` hook `Reporter` (#14174)
feat(jest-config): `openHandlesTimeout` config option (#13875)
fix: allow templating of null and undefined in a jest each key path template (#14831)
chore: use consistent type imports (#14662)
Rename some options before releasing Jest 30.
fix: prevent double teardown on test environment error (#15731)
chore: use for..of instead of forEach (#14517)
Fix testPathPatterns when config is in subdirectory (#14934)
feat: add support for Explicit Resource Management to mocked functions (#14895)
ci: run the test matrix on Node 26 (#16321)
feat: split some `jest-snapshot` utility functions to its own package `@jest/snapshot-utils` (#15095)
fix: actually add `dispose` Symbols to Node globals (#14909)
chore: avoid await expressions (#14815)
fix: handle `import`s after teardown same as `require` (#16080)
feat(expect): remove alias methods (#14632)
fix: isolate esm async import bug (#14397)
chore(runtime): extract transform cache and mock registries (#16082)
chore: enable lint rule for better `RegExp`es (#14803)
fix(cfg): load jest.config.ts with TS loader specified in docblock pragma (#15839)
fix(runtime): resolve `expect` and `@jest/expect` from the internal module registry (#16130)
Stop using `import X = require('…')`. (#15659)
chore: enable `eqeqeq` lint rule (#15182)
fix: jest --onlyFailures --listTests now correctly lists only failed tests (#15700)
fix(node-env): do not warn on `localStorage` unless actually accessed (#16086)
fix: use --config for global config with multiple --projects (#16273)
feat: support import attributes (#16127)
Better ESM-CJS compatibility fix (#16050)
fix(jest-runtime): fall back to native ESM when a .js file contains ESM syntax (#16152)
fix: fall back to require(esm) when CJS parses .js with ESM syntax (#16078)
feat: support `require(esm)` (#16074)
fix(runtime): user can use dynamic import in code when running tests (#15842)
Only match relative paths when specifying paths (#12519)
fix(jest-runtime, jest-resolver): Allow core models to be mocked with "node:" URL paths (#14297) (#14297)
test: cover asymmetric matcher failures with worker threads (#16211)
chore: update some more deps (#16299)
fix(jest-test-sequencer): make `--onlyFailures` flag working for tests failed due to compilation errors (#15851)
fix(jest-config): fix preset path resolution on Windows (#15961)
Support jest.config.mts (#16005)
refactor: use `util.stripVTControlCharacters()` instead of `strip-ansi` (#15627)
docs(cli): updated documentation for `--runTestsByPath` command (#14004)
feat: allow custom runner configuration options (tuple format) (#16141)
chore: remove redundant word in comment (#15602)
feat(jest-circus, jest-jasmine2): Add support for async function in setupFilesAfterEnv (#14749)
jest-circus runs children in shuffled order (#12922)
feat: add support for snapshot matchers in concurrent tests (#14139)
feat: handle line endings in snapshot (#15708)
refactor(jest-environment)!: remove unnecessary defensive code (#15045)
chore: Fix typos (#15527)
Add mts and cts to test match and test regex (#14584)
fix(jest-config): add `mts` and `cts` to default `moduleFileExtensions` config (#14369)
fix: Avoid creating the word testfalse in the message on test timeout (#13954)
chore: update yarn & refresh lockfiles (#16251)
fix: use parsed source text for Prettier formatting (#15764)
feat(examples): replace `react-test-renderer` reference with `@testing-library/react` for snapshot testing (#15806)
Support Prettier 3 (#14566)
Revert "feat: add match named snapshot (#14045)"
feat(jest-snapshot): Support Error.cause in snapshots (#13965)
fix(tests): Fix test failures due to unflagged strip-types (#15795)
fix(jest-runtime, @jest/transform): improve ESM error handling on Node < 24.9 (#16244)
fix: support `silent` and `verbose` as project config (#16133)
fix(jest-resolve): isolate virtual mock module IDs (#16296)
feat(haste-map): replace `NodeWatcher` and `FSEventsWatcher` with `@parcel/watcher` (#16188)
fix: remove use of goo.gl link shortener in generated snapshots (#15611)
ci: exercise watchman on Node LTS (#16319)
fix: Restart a shut down worker before sending it a task. (#14015)
chore!: drop support for Node.js 21 (#15118)