Releases: jestjs/jest
Releases Β· jestjs/jest
v30.0.0-alpha.7
Features
[jest-cli]ExportbuildArgv(#15310)[jest-config]If Node is running with type stripping enabled, do not require a TS loader (#15480)[@jest/core]Stringify Errors properly with--jsonflag (#15329)[@jest/fake-timers][BREAKING] Upgrade@sinonjs/fake-timersto v13 (#14544 & #15470)[jest-runtime]AddonGenerateMocktransformer callback for auto generated callbacks (#15433)[@jest/schemas]Upgrade@sinclair/typeboxto v0.34 (#15450)
Fixes
[*]Replaceexitwithexit-x(#15399)[babel-plugin-jest-hoist]Do not rely on buggy Babel behaviour (#15415)[jest-circus]Concurrent tests now emit jest circus events at the correct point and in the expected order. (#15381)[jest-schemas, jest-types][BREAKING] Fix type oftestFailureExitCodeconfig option(#15232)[jest-util]Always loadmjsfiles withimport(#15447)
New Contributors
- @brandonnorsworthy made their first contribution in #15270
- @jzaefferer made their first contribution in #15266
- @ZuBB made their first contribution in #15328
- @ikonst made their first contribution in #15315
- @gagan-bhullar-tech made their first contribution in #15311
- @jayvdb made their first contribution in #15422
- @dongwa made their first contribution in #15310
- @MillerSvt made their first contribution in #15433
- @mohammednumaan made their first contribution in #15437
- @madcapnmckay made their first contribution in #15381
- @tonyd33 made their first contribution in #15329
- @hyperupcall made their first contribution in #15426
Full Changelog: v30.0.0-alpha.6...v30.0.0-alpha.7
v30.0.0-alpha.6
Features
[babel-jest]Add optionexcludeJestPresetto allow opting out ofbabel-preset-jest(#15164)[jest-circus, jest-test-result]AddstartedAttimestamp inTestCaseResultObjectwithinonTestCaseResult(#15145)[jest-config]ShowrootDirin error message when apresetfails to load (#15194)[jest-config]Support loading TS config files usingesbuild-registervia docblock loader (#15190)[jest-config]allow passing TS config loader options via docblock comment (#15234)[expect, @jest/expect][BREAKING] Add type inference for function parameters inCalledWithassertions (#15129)[@jest/expect-utils]Properly compare all types ofTypedArrays (#15178)[jest-resolver]Supportfile://URLs as paths (#15154)[jest-runtime]Addunstable_unmockModule(#15080)[expect]UseArray.isArrayto check if an array is anArray(#15101)[@jest/create-cache-key-function]Correct the return type ofcreateCacheKey(#15159)[pretty-format]Fixed a bug where "anonymous custom elements" were not being printed as expected. (#15138)[jest-worker]Properly handle a circular reference error when worker tries to send an assertion fails where either the expected or actual value is circular (#15191)[jest-worker]Properly handle a BigInt when worker tries to send an assertion fails where either the expected or actual value is BigInt (#15191)
Performance
[jest-runner]Better cleanupsource-map-supportafter test to resolve (minor) memory leak (#15233)
Chore & Maintenance
[*][BREAKING] Drop support for Node.js versions 14, 19 and 21 (#14460, #15118)[babel-jest, @jest/transform]Updatebabel-plugin-istanbulto v6 (#15156)[babel-plugin-jest-hoist]Move unnecessarydependenciestodevDependencies(#15010)
New Contributors
- @eyalroth made their first contribution in #15129
- @BondarenkoAlex made their first contribution in #15080
- @KonnorRogers made their first contribution in #15138
- @fynsta made their first contribution in #15149
- @latin-1 made their first contribution in #15164
- @Jon-Biz made their first contribution in #15122
- @RahulARanger made their first contribution in #15145
- @askoufis made their first contribution in #15194
- @henny1105 made their first contribution in #15246
Full Changelog: v30.0.0-alpha.5...v30.0.0-alpha.6
v30.0.0-alpha.5
Features
[@jest/util-snapshot]Extract utils used by tooling fromjest-snapshotinto its own package (#15095)[jest-each]Introduce%$option to add number of the test to its title (#14710)
Fixes
[jest-config]Allow Node16/NodeNext/BundlermoduleResolutionin project's tsconfig (#14739)- [BREAKING] Specifying
testPathPatternswhen programmatically callingwatchmust be specified as `new
Chore & Maintenance
[*]Increase version ofmicromatchto^4.0.7(#15082)[docs]Revised documentation for .toHaveBeenCalled()to accurately depict its functionality. (#14853)
New Contributors
- @dnicolson made their first contribution in #15056
- @mukul-turing made their first contribution in #14853
- @akwodkiewicz made their first contribution in #14739
- @brandonchinn178 made their first contribution in #14934
- @davidroeca made their first contribution in #14913
- @Darkmift made their first contribution in #15096
- @kemuridama made their first contribution in #14710
- @mouadhbb made their first contribution in #15082
Full Changelog: v30.0.0-alpha.4...v30.0.0-alpha.5
v30.0.0-alpha.4
Features
[jest-circus]Add aretryImmediatelyoption tojest.retryTimes(#14696)[@jest/core]Support--outputFileoption for--listTests(#14980)[@jest/environment][BREAKING] Remove deprecatedjest.genMockFromModule()(#15042)[@jest/environment][BREAKING] Remove unnecessary defensive code (#15045)[jest-matcher-utils]AddSERIALIZABLE_PROPERTIESto allow custom serialization of objects (#14893)[jest-reporters]Add support for DEC mode 2026 (#15008)[jest-runtime]Supportimport.meta.resolve(#14930)[jest-runtime][BREAKING] Make it mandatory to passglobalConfigto theRuntimeconstructor (#15044)[@jest/types]Improve argument type inference passed totestanddescribecallback functions fromeachtables (#14920)
Fixes
[expect]Improve diff for failingexpect.objectContaining(#15038)[jest-changed-files]Print underlying errors when VCS commands fail (#15052)[jest-changed-files]Abortsl rootcall if output resembles a steam locomotive (#15053)[jest-each]Allow$keypathtemplates withnullorundefinedvalues (#14831)[@jest/expect-utils]Catch circular references within arrays when matching objects (#14894)[@jest/expect-utils]Fix not addressing to Sets and Maps as objects without keys (#14873)[jest-util]Add missing dependency onjest-regex-util(#15030)
Chore & Maintenance
[@jest/reporters]Upgradeistanbul-lib-source-maps(#14924)[jest-util]Upgradepicomatchto v4 (#14653 & #14885)[docs]Link NestJS documentation on testing with Jest (#14940)
New Contributors
- @CheadleCheadle made their first contribution in #14930
- @Germandrummer92 made their first contribution in #14831
- @hkdobrev made their first contribution in #14940
- @MathieuFedrigo made their first contribution in #14920
- @georgekaran made their first contribution in #14893
- @manoraj made their first contribution in #14980
- @ShuZhong made their first contribution in #14957
- @peterdenham made their first contribution in #14988
- @Vadimchesh made their first contribution in #14977
- @haze made their first contribution in #15008
- @ofekm97 made their first contribution in #14873
- @rmartine-ias made their first contribution in #15052
- @colinacassidy made their first contribution in #15038
Full Changelog: v30.0.0-alpha.3...v30.0.0-alpha.4
v30.0.0-alpha.3
Features
[jest-circus]Add awaitBeforeRetryoption tojest.retryTimes(#14738)[jest-circus, jest-jasmine2]AllowsetupFilesAfterEnvto export an async function (#10962)[jest-config]Loads config file from provided path inpackage.json(#14044)[jest-config]Allow loadingjest.config.ctsfiles (#14070)[@jest/core]Group together open handles with the same stack trace (#13417, & #14789)[@jest/core][BREAKING] Changed--filterto accept an object with shape{ filtered: Array<string> }to match documentation (#13319)[@jest/environment-jsdom-abstract]Introduce new package which abstracts over thejsdomenvironment, allowing usage of custom versions of JSDOM (#14717)[jest-environment-node]Update jest environment with dispose symbolsSymbol(#14888 & #14909)[jest-mock]Add support for the Explicit Resource Management proposal to use theusingkeyword withjest.spyOn(object, methodName)(#14895)[jest-runtime]Supportimport.meta.filenameandimport.meta.dirname(available from Node 20.11)[jest-circus]Replace recursivemakeTestResultsimplementation with iterative one (#14760)[jest-circus]Omitexpect.hasAssertions()errors if a test already has errors (#14866)[jest-cli][BREAKING] Validate CLI flags that require arguments receives them (#14783)[jest-config]SupporttestTimeoutin project config (#14697)[jest-config]SupportcoverageReportersin project config (#14697)[jest-config]Allowreportersin project config (#14768)[pretty-format][BREAKING] PrintArrayBufferandDataViewcorrectly (#14290)
Performance
[jest-haste-map]Only spawn one process to check forwatchmaninstallation (#14826)
Chore & Maintenance
[*][BREAKING] Upgrade toglob@10(#14509)[*]UseTypeErroroverErrorwhere appropriate (#14799)[jest-schemas]Upgrade@sinclair/typebox(#14775)[docs]Append toNODE_OPTIONS, not overwrite (#14730)[docs]Updated.toHaveBeenCalled()documentation to correctly reflect its functionality (#14842)
New Contributors
- @rafaelrabelos made their first contribution in #14044
- @someone635 made their first contribution in #14730
- @faizanu94 made their first contribution in #14625
- @casey-lentz made their first contribution in #14763
- @WillianAgostini made their first contribution in #14738
- @jeremiah-snee-openx made their first contribution in #14768
- @ginabethrussell made their first contribution in #14747
- @vkml made their first contribution in #14749
- @DerTimonius made their first contribution in #14070
- @JimminiKin made their first contribution in #14830
- @arescrimson made their first contribution in #14847
- @notaphplover made their first contribution in #14888
- @bensternthal made their first contribution in #14904
- @phryneas made their first contribution in #14895
Full Changelog: v30.0.0-alpha.2...v30.0.0-alpha.3
v30.0.0-alpha.2
Features
[jest-circus, jest-cli, jest-config]AddwaitNextEventLoopTurnForUnhandledRejectionEventsflag to minimise performance impact of correct detection of unhandled promise rejections introduced in #14315 (#14681)[@jest/core]AddperfStatsto surface test setup overhead (#14622)
Fixes
[jest-config]SupporttestTimeoutin project config (#14697)[@jest/expect-utils][BREAKING] exclude non-enumerable in object matching (#14670)[@jest/expect-utils]Fix comparison ofURL(#14672)[@jest/expect-utils]CheckSymbolproperties in equality (#14688)
Chore & Maintenance
[expect][BREAKING] Remove.toBeCalled(),.toBeCalledTimes(),.toBeCalledWith(),.lastCalledWith(),.nthCalledWith(),.toReturn(),.toReturnTimes(),.toReturnWith(),.lastReturnedWith(),.nthReturnedWith()and.toThrowError()matcher aliases (#14632)[jest-config, @jest/core, jest-util]Upgradeci-info(#14655)[jest-mock][BREAKING] RemoveMockFunctionMetadataType,MockFunctionMetadataandSpyInstancetypes (#14621)[jest-transform]Upgradewrite-file-atomic(#14274)[jest-util]Upgradepicomatchto v3 (#14653)
New Contributors
- @fa93hws made their first contribution in #14670
- @tr1ckydev made their first contribution in #14672
- @mattkubej made their first contribution in #14622
- @DaniAcu made their first contribution in #14688
- @RayBrokeSomething made their first contribution in #14697
Full Changelog: v30.0.0-alpha.1...v30.0.0-alpha.2
v30.0.0-alpha.1
Features
[jest-config][BREAKING] Addmtsandctsto defaultmoduleFileExtensionsconfig (#14369)[jest-config][BREAKING] UpdatetestMatchandtestRegexdefault option for supportingmjs,cjs,mts, andcts(#14584)[@jest/core][BREAKING] Group together open handles with the same stack trace (#13417, & #14543)[@jest/core, @jest/test-sequencer][BREAKING] ExposesglobalConfig&contextstoTestSequencer(#14535, & #14543)[jest-environment-jsdom][BREAKING] Upgrade JSDOM to v22 (#13825)[@jest/fake-timers][BREAKING] Upgrade@sinonjs/fake-timersto v11 (#14544)[@jest/fake-timers]Exposing new modern timers functionadvanceTimersToFrame()which advances all timers by the needed milliseconds to execute callbacks currently scheduled withrequestAnimationFrame(#14598)[jest-runtime]Exposing new modern timers functionjest.advanceTimersToFrame()from@jest/fake-timers(#14598)[@jest/schemas]Upgrade@sinclair/typeboxto v0.31 (#14072)[@jest/types]test.each(): Accept a readonly (as const) table properly (#14565)[jest-snapshot][BREAKING] Add support for Error causes in snapshots (#13965)[jest-snapshot]Support Prettier 3 (#14566)[pretty-format][BREAKING] Do not render empty string children ('') in React plugin (#14470)
Fixes
[babel-plugin-jest-hoist]Usedenylistinstead of the deprecatedblacklistfor Babel 8 support (#14109)[expect]Check error instance type fortoThrow/toThrowError(#14576)[jest-circus][BREAKING] Prevent false test failures caused by promise rejections handled asynchronously (#14315)[jest-circus, jest-expect, jest-snapshot]Passtest.failingtests when containing failing snapshot matchers (#14313)[jest-config]Make sure to respectrunInBandoption (#14578)[@jest/expect-utils]Fix comparison ofDataView(#14408)[jest-leak-detector]Make leak-detector more aggressive when running GC (#14526)[jest-runtime]Properly handle re-exported native modules in ESM via CJS (#14589)[jest-util]Make sureisInteractiveworks in a browser (#14552)[pretty-format][BREAKING] PrintArrayBufferandDataViewcorrectly (#14290)[jest-cli]When specifying paths on the command line, only match against the relative paths of the test files (#12519)- [BREAKING] Changes
testPathPatternconfiguration option totestPathPatterns, which now takes a list of patterns instead of the regex. - [BREAKING]
--testPathPatternis now--testPathPatterns
- [BREAKING] Changes
[jest-reporters, jest-runner]Unhandled errors without stack get correctly logged to console (#14619)
Performance
Chore & Maintenance
[*][BREAKING] Drop support for Node.js versions 14 and 19 (#14460)[*][BREAKING] Drop support for[email protected], minimum version is now5.0(#14542)[*]Depend on exact versions of monorepo dependencies instead of^range (#14553)[*][BREAKING] Add ESM wrapper for all of Jest's modules (#14661)[babel-jest, babel-preset-jest][BREAKING] Increase peer dependency of@babel/coreto^7.11(#14109)[jest-cli, jest-config, @jest/types][BREAKING] Remove deprecated--initargument (#14490)[docs]Fix typos inCHANGELOG.mdandpackages/jest-validate/README.md(#14640)[docs]Don't use alias matchers in docs (#14631)
New Contributors
- @Eric-Tyrrell22 made their first contribution in #14535
- @Dunqing made their first contribution in #14290
- @maro1993 made their first contribution in #14175
- @mknight-atl made their first contribution in #14560
- @verycosy made their first contribution in #14576
- @Peeja made their first contribution in #14565
- @KhaledElmorsy made their first contribution in #14313
- @alexreardon made their first contribution in #14598
- @nolddor made their first contribution in #14611
- @Mutesa-Cedric made their first contribution in #14613
- @the-ress made their first contribution in #14619
- @shresthasurav made their first contribution in #14640
Full Changelog: v29.7.0...v30.0.0-alpha.1
v29.7.0
Features
[create-jest]Addnpm init/yarn createinitialiser for Jest projects (#14465)[jest-validate]Allow deprecation warnings for unknown options (#14499)
Fixes
[jest-resolver]Replace unmatched capture groups inmoduleNameMapperwith empty string instead ofundefined(#14507)[jest-snapshot]Allow for strings as well as template literals in inline snapshots (#14465)[@jest/test-sequencer]Calculate test runtime ifperStats.durationis missing (#14473)
Performance
[@jest/create-cache-key-function]Cache access ofNODE_ENVandBABEL_ENV(#14455)
Chore & Maintenance
[jest-cli]Move internal config initialisation logic to thecreate-jestpackage (#14465)
New Contributors
- @bawjensen made their first contribution in #14465
- @malaviya-parth made their first contribution in #14467
- @niklasholm made their first contribution in #14507
Full Changelog: v29.6.4...v29.7.0
v29.6.4
Fixes
[jest-core]Fix typo inscheduleAndRunperformance marker (#14434)[jest-environment-node]Make sureatobandbtoaare writeable in Node 20 (#14446)[jest-worker]Additional error wrapper forparentPort.postMessageto fix unhandledDataCloneError. (#14437)
New Contributors
- @stanleyume made their first contribution in #14424
- @dj-stormtrooper made their first contribution in #14437
- @thw0rted made their first contribution in #14444
Full Changelog: v29.6.3...v29.6.4
v29.6.3
Fixes
[expect, @jest/expect-utils]ObjectContainingsupportsymbolas key (#14414)[expect]Remove@types/nodefrom dependencies (#14385)[jest-core]Use workers in watch mode by default to avoid crashes (#14059 & #14085).[jest-reporters]Updateistanbul-lib-instrumentdependency to v6. (#14401)[jest-mock]Revert #13692 as it was a breaking change (#14429)[jest-mock]Revert #13866 as it was a breaking change (#14429)[jest-mock]Revert #13867 as it was a breaking change (#14429)[@jest/reporters]Marks Reporter's hooks as optional (#14433)[jest-runtime]Fix dynamic ESM import module bug when loaded module throughjest.isolateModulesAsync(#14397)
Chore & Maintenance
[jest-changed-files, jest-circus, jest-console, @jest/core, @jest/runtime, @jest/transform]UseinvariantandnotEmptyfromjest-utilrather than own internal (#14366)
New Contributors
- @karlnorling made their first contribution in #14401
- @vinicinbgs made their first contribution in #14388
- @panteleevnikita made their first contribution in #14433
Full Changelog: v29.6.2...v29.6.3