Releases: jestjs/jest
Releases Β· jestjs/jest
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
v29.6.1
v29.6.0
Features
[jest-circus, jest-snapshot]
Add support for snapshot matchers in concurrent tests (#14139)[jest-cli]
Include type definitions to generated config files (#14078)[jest-snapshot]
Support arrays as property matchers (#14025)[jest-core, jest-circus, jest-reporter, jest-runner]
Added support for reporting about start individual test cases using jest-circus (#14174)
Fixes
[jest-circus]
Prevent false test failures caused by promise rejections handled asynchronously (#14110)[jest-config]
Handle frozen config object (#14054)[jest-config]
AllowcoverageDirectory
andcollectCoverageFrom
in project config (#14180)[jest-core]
Always use workers in watch mode to avoid crashes (#14059).[jest-environment-jsdom, jest-environment-node]
Fix assignment ofcustomExportConditions
viatestEnvironmentOptions
when custom env subclass defines a default value (#13989)[jest-matcher-utils]
Fix copying value of inherited getters (#14007)[jest-mock]
Tweak typings to allowjest.replaceProperty()
replace methods (#14008)[jest-mock]
Improve user input validation and error messages ofspyOn
andreplaceProperty
methods (#14087)[jest-runtime]
Bindjest.isolateModulesAsync
tothis
(#14083)[jest-runtime]
ForwardwrapperLength
to theScript
constructor ascolumnOffset
for accurate debugging (#14148)[jest-runtime]
Guard_isMockFunction
access within
(#14188)[jest-snapshot]
Fix a potential bug when not using prettier and improve performance (#14036)[@jest/transform]
Do not instrument.json
modules (#14048)[jest-worker]
Restart a shut down worker before sending it a task (#14015)
Chore & Maintenance
[*]
Updatesemver
dependency to get vulnerability fix (#14262)[docs]
Updated documentation for the--runTestsByPath
CLI command (#14004)[docs]
Updated documentation regarding the synchronous fallback when asynchronous code transforms are unavailable (#14056)[docs]
Update jest statistics of use and downloads in website Index.
New Contributors
- @huntie made their first contribution in #13989
- @liammulh made their first contribution in #14001
- @BenceSzalai made their first contribution in #14007
- @Mike-Dax made their first contribution in #14056
- @bakasmarius made their first contribution in #14025
- @PeteTheHeat made their first contribution in #14015
- @tjenkinson made their first contribution in #14083
- @soyjuanmacias made their first contribution in #14101
- @bharathkalyans made their first contribution in #14154
- @itzjacki made their first contribution in #14165
- @DmitryMakhnev made their first contribution in #14174
- @BobdenOs made their first contribution in #14148
- @william-lai-927 made their first contribution in #14179
- @bakamitai456 made their first contribution in #14045
- @rbuckton made their first contribution in #14188
- @barbados-clemens made their first contribution in #14180
- @rburdet made their first contribution in #14197
- @cw1997 made their first contribution in #14184
- @renovate made their first contribution in #14209
- @stekycz made their first contribution in #14110
- @ziyad-elabid-nw made their first contribution in #14262
Full Changelog: v29.5.0...v29.6.0
v29.5.0
Features
[jest-changed-files]
Support Sapling (#13941)[jest-circus, @jest/cli, jest-config]
Add feature to randomize order of tests via CLI flag or through the config file(#12922)[jest-cli, jest-config, @jest/core, jest-haste-map, @jest/reporters, jest-runner, jest-runtime, @jest/types]
AddworkerThreads
configuration option to allow using worker threads for parallelization (#13939)[jest-cli]
ExportyargsOptions
(#13970)[jest-config]
AddopenHandlesTimeout
option to configure possible open handles warning. (#13875)[@jest/create-cache-key-function]
Allow passinglength
argument tocreateCacheKey()
function and set its default value to16
on Windows (#13827)[jest-message-util]
Add support for AggregateError (#13946 & #13947)[jest-message-util]
Add support for Error causes intest
andit
(#13935 & #13966)[jest-reporters]
AddsummaryThreshold
option to summary reporter to allow overriding the internal threshold that is used to print the summary of all failed tests when the number of test suites surpasses it (#13895)[jest-runtime]
Expose@sinonjs/fake-timers
async APIs functionsadvanceTimersByTimeAsync(msToRun)
(tickAsync(msToRun)
),advanceTimersToNextTimerAsync(steps)
(nextAsync
),runAllTimersAsync
(runAllAsync
), andrunOnlyPendingTimersAsync
(runToLastAsync
) (#13981)[jest-runtime, @jest/transform]
Allow V8 coverage provider to collect coverage from files which were not loaded explicitly (#13974)[jest-snapshot]
Add support tocts
andmts
TypeScript files to inline snapshots (#13975)[jest-worker]
Addstart
method to worker farms (#13937)[jest-worker]
Support passing a URL as path to worker (#13982)
Fixes
[babel-plugin-jest-hoist]
Fix unwanted hoisting of nestedjest
usages (#13952)[jest-circus]
Send test case results fortodo
tests (#13915)[jest-circus]
Update message printed on test timeout (#13830)[jest-circus]
Avoid creating the word "testfalse" whentakesDoneCallback
isfalse
in the message printed on test timeout AND updated timeouts test (#13954)[jest-environment-jsdom]
Stop settingdocument
tonull
on teardown (#13972)[@jest/expect-utils]
UpdatetoStrictEqual()
to be able to checkjest.fn().mock.calls
(#13960)[@jest/test-result]
AllowTestResultsProcessor
type to return a Promise (#13950)
Chore & Maintenance
[jest-snapshot]
Remove dependency onjest-haste-map
(#13977)
New Contributors
- @frosas made their first contribution in #13932
- @akshitsinha made their first contribution in #13915
- @trajano made their first contribution in #13827
- @DercilioFontes made their first contribution in #13954
- @jsnajdr made their first contribution in #13952
- @SteveFlames made their first contribution in #13895
- @willc001 made their first contribution in #13970
- @benjaminhobbs made their first contribution in #13901
Full Changelog: v29.4.3...v29.5.0