Releases: jestjs/jest
Releases Β· jestjs/jest
v30.0.0-alpha.6
Features
[babel-jest]
Add optionexcludeJestPreset
to allow opting out ofbabel-preset-jest
(#15164)[jest-circus, jest-test-result]
AddstartedAt
timestamp inTestCaseResultObject
withinonTestCaseResult
(#15145)[jest-config]
ShowrootDir
in error message when apreset
fails to load (#15194)[jest-config]
Support loading TS config files usingesbuild-register
via 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 inCalledWith
assertions (#15129)[@jest/expect-utils]
Properly compare all types ofTypedArray
s (#15178)[jest-resolver]
Supportfile://
URLs as paths (#15154)[jest-runtime]
Addunstable_unmockModule
(#15080)[expect]
UseArray.isArray
to 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-support
after 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-istanbul
to v6 (#15156)[babel-plugin-jest-hoist]
Move unnecessarydependencies
todevDependencies
(#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-snapshot
into its own package (#15095)[jest-each]
Introduce%$
option to add number of the test to its title (#14710)
Fixes
[jest-config]
Allow Node16/NodeNext/BundlermoduleResolution
in project's tsconfig (#14739)- [BREAKING] Specifying
testPathPatterns
when programmatically callingwatch
must be specified as `new
Chore & Maintenance
[*]
Increase version ofmicromatch
to^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 aretryImmediately
option tojest.retryTimes
(#14696)[@jest/core]
Support--outputFile
option for--listTests
(#14980)[@jest/environment]
[BREAKING] Remove deprecatedjest.genMockFromModule()
(#15042)[@jest/environment]
[BREAKING] Remove unnecessary defensive code (#15045)[jest-matcher-utils]
AddSERIALIZABLE_PROPERTIES
to 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 passglobalConfig
to theRuntime
constructor (#15044)[@jest/types]
Improve argument type inference passed totest
anddescribe
callback functions fromeach
tables (#14920)
Fixes
[expect]
Improve diff for failingexpect.objectContaining
(#15038)[jest-changed-files]
Print underlying errors when VCS commands fail (#15052)[jest-changed-files]
Abortsl root
call if output resembles a steam locomotive (#15053)[jest-each]
Allow$keypath
templates withnull
orundefined
values (#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]
Upgradepicomatch
to 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 awaitBeforeRetry
option tojest.retryTimes
(#14738)[jest-circus, jest-jasmine2]
AllowsetupFilesAfterEnv
to export an async function (#10962)[jest-config]
Loads config file from provided path inpackage.json
(#14044)[jest-config]
Allow loadingjest.config.cts
files (#14070)[@jest/core]
Group together open handles with the same stack trace (#13417, & #14789)[@jest/core]
[BREAKING] Changed--filter
to accept an object with shape{ filtered: Array<string> }
to match documentation (#13319)[@jest/environment-jsdom-abstract]
Introduce new package which abstracts over thejsdom
environment, 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 theusing
keyword withjest.spyOn(object, methodName)
(#14895)[jest-runtime]
Supportimport.meta.filename
andimport.meta.dirname
(available from Node 20.11)[jest-circus]
Replace recursivemakeTestResults
implementation 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]
SupporttestTimeout
in project config (#14697)[jest-config]
SupportcoverageReporters
in project config (#14697)[jest-config]
Allowreporters
in project config (#14768)[pretty-format]
[BREAKING] PrintArrayBuffer
andDataView
correctly (#14290)
Performance
[jest-haste-map]
Only spawn one process to check forwatchman
installation (#14826)
Chore & Maintenance
[*]
[BREAKING] Upgrade toglob@10
(#14509)[*]
UseTypeError
overError
where 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]
AddwaitNextEventLoopTurnForUnhandledRejectionEvents
flag to minimise performance impact of correct detection of unhandled promise rejections introduced in #14315 (#14681)[@jest/core]
AddperfStats
to surface test setup overhead (#14622)
Fixes
[jest-config]
SupporttestTimeout
in project config (#14697)[@jest/expect-utils]
[BREAKING] exclude non-enumerable in object matching (#14670)[@jest/expect-utils]
Fix comparison ofURL
(#14672)[@jest/expect-utils]
CheckSymbol
properties 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
,MockFunctionMetadata
andSpyInstance
types (#14621)[jest-transform]
Upgradewrite-file-atomic
(#14274)[jest-util]
Upgradepicomatch
to 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] Addmts
andcts
to defaultmoduleFileExtensions
config (#14369)[jest-config]
[BREAKING] UpdatetestMatch
andtestRegex
default 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
&contexts
toTestSequencer
(#14535, & #14543)[jest-environment-jsdom]
[BREAKING] Upgrade JSDOM to v22 (#13825)[@jest/fake-timers]
[BREAKING] Upgrade@sinonjs/fake-timers
to 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/typebox
to 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]
Usedenylist
instead of the deprecatedblacklist
for 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.failing
tests when containing failing snapshot matchers (#14313)[jest-config]
Make sure to respectrunInBand
option (#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 sureisInteractive
works in a browser (#14552)[pretty-format]
[BREAKING] PrintArrayBuffer
andDataView
correctly (#14290)[jest-cli]
When specifying paths on the command line, only match against the relative paths of the test files (#12519)- [BREAKING] Changes
testPathPattern
configuration option totestPathPatterns
, which now takes a list of patterns instead of the regex. - [BREAKING]
--testPathPattern
is 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/core
to^7.11
(#14109)[jest-cli, jest-config, @jest/types]
[BREAKING] Remove deprecated--init
argument (#14490)[docs]
Fix typos inCHANGELOG.md
andpackages/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 create
initialiser for Jest projects (#14465)[jest-validate]
Allow deprecation warnings for unknown options (#14499)
Fixes
[jest-resolver]
Replace unmatched capture groups inmoduleNameMapper
with 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.duration
is missing (#14473)
Performance
[@jest/create-cache-key-function]
Cache access ofNODE_ENV
andBABEL_ENV
(#14455)
Chore & Maintenance
[jest-cli]
Move internal config initialisation logic to thecreate-jest
package (#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 inscheduleAndRun
performance marker (#14434)[jest-environment-node]
Make sureatob
andbtoa
are writeable in Node 20 (#14446)[jest-worker]
Additional error wrapper forparentPort.postMessage
to 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]
ObjectContaining
supportsymbol
as key (#14414)[expect]
Remove@types/node
from dependencies (#14385)[jest-core]
Use workers in watch mode by default to avoid crashes (#14059 & #14085).[jest-reporters]
Updateistanbul-lib-instrument
dependency 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]
Useinvariant
andnotEmpty
fromjest-util
rather 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
v29.6.2
Fixes
[jest-circus]
Fix snapshot matchers in concurrent tests when nr of tests exceedsmaxConcurrency
(#14335)[@jest/core]
When running global setup and teardown, do not try to change themessage
property of the thrown error object when themessage
property is unwritable (#14113)[jest-snapshot]
Move@types/prettier
fromdependencies
todevDependencies
(#14328)[jest-snapshot]
Throw an explicit error if Prettier v3 is used (#14367)[jest-reporters]
Add "skipped" and "todo" symbols to Github Actions Reporter (#14309)
Chore & Maintenance
[@jest/core]
Usepluralize
fromjest-util
rather than own internal (#14322)
New Contributors
- @Kloen made their first contribution in #14328
- @eryue0220 made their first contribution in #14322
- @david-szabo97 made their first contribution in #14113
Full Changelog: v29.6.1...v29.6.2