Releases: jestjs/jest
Releases · jestjs/jest
24.5.0
24.4.0
Features
[jest-resolve]
Now supports PnP environment without plugins (#8094)
Fixes
[expect]
Compare DOM nodes even if there are multiple Node classes (#8064)[jest-worker]
worker.getStdout()
can returnnull
(#8083)[jest-worker]
Re-attach stdout and stderr from new processes/threads created after retries (#8087)[jest-reporters/jest-runner]
SerializechangedFiles
passed to workers (#8090)
Chore & Maintenance
[*]
Make sure to included.ts
files in the tarball when building (#8086)
24.3.0
We skipped 24.2.0 because a draft was accidentally published. Please use 24.3.0
or a newer version instead.
Features
[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]
AddisPrimitive
function (#7708)[jest-haste-map]
AddskipPackageJson
option (#7778)[jest-util]
AddisPromise
(#7852)[pretty-format]
SupportReact.memo
(#7891)
Fixes
[expect]
FixtoStrictEqual
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]
FixgetChangedFilesFromRoots
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 toprototype
to allow mocks of objects with a primitiveprototype
property. (#8040)[jest-transform]
Normalize config and remove unnecessary checks, convertTestUtils.js
to TypeScript (#7801)[jest-util]
Make sure to not fail if unable to assigntoStringTag
to theprocess
object, which is read only in Node 12 (#8050)[jest-validate]
Fix validating async functions (#7894)[jest-worker]
Fixjest-worker
when using pre-allocated jobs (#7934)[static]
Remove console log '-' on the front page (#7977)
Chore & Maintenance
[*]
: Setup building, linting and testing of TypeScript (#7808, #7855, #7951)[@jest/console]
: Extract customconsole
implementations fromjest-util
into a new separate package (#8030)[@jest/core]
Create new package, which isjest-cli
minusyargs
andprompts
(#7696)[@jest/core]
: Migrate to TypeScript (#7998)[@jest/fake-timers]
: Extract FakeTimers class fromjest-util
into a new separate package (#7987)[@jest/reporter]
: New package extracted fromjest-cli
(#7902)[@jest/reporters]
: Migrate to TypeScript (#7994, #8045)[@jest/source-map]
: ExtractgetCallsite
function fromjest-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 fromjest-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 withjest-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](#789...
24.1.0
Features
[jest-resolve]
: Pass default resolver into custom resolvers (#7714)[jest-cli]
:global{Setup,Teardown}
use default export with es modules (#7750)[jest-runtime]
Better error messages when the jest environment is used after teardown by async code (#7756)[jest-jasmine2]
Will now only execute at most 5 concurrent tests within the same testsuite when usingtest.concurrent
(#7770)[jest-circus]
Same as[jest-jasmine2]
, only 5 tests will run concurrently by default (#7770)[jest-config]
A newmaxConcurrency
option allows to change the number of tests allowed to run concurrently (#7770)
Fixes
[jest-runtime]
Fix for mocks not working with module name mapper (#7787)[jest-cli]
Break dependency cycle when using Jest programmatically (#7707)[jest-config]
Extract setupFilesAfterEnv from preset (#7724)[jest-cli]
Do not execute anyglobalSetup
orglobalTeardown
if there are no tests to execute (#7745)[jest-runtime]
Lock down version ofwrite-file-atomic
(#7725)[jest-cli]
Print log entries when logging happens after test environment is torn down (#7731)[jest-config]
Do not use a uuid asname
since that breaks caching (#7746)[jest-config]
Make surenormalize
can consumeDefaults
without warnings (#7742)[jest-config]
AllowmoduleFileExtensions
without 'js' for custom runners (#7751)[jest-cli]
Load transformers before installing require hooks (#7752)[jest-cli]
Handle missingnumTodoTests
in test results (#7779)[jest-runtime]
Exclude setup/teardown files from coverage report (#7790)[babel-jest]
Throw an error ifbabel-jest
tries to transform a file ignored by Babel (#7797)[babel-plugin-jest-hoist]
Ignore TS type references when looking for out-of-scope references (#7799)[expect]
fixed asymmetrical equality of cyclic objects (#7730)
Chore & Maintenance
24.0.0
Features
[jest-each]
[BREAKING] Add primitive pretty printing for interpolated titles (#7694)[jest-runtime]
Addjest.isolateModules
for scoped module initialization (#6701)[jest-diff]
[BREAKING] Support diffing numbers and booleans instead of returning null for different ones (#7605)[jest-diff]
[BREAKING] Replacediff
withdiff-sequences
package (#6961)[jest-cli]
[BREAKING] Only set error process error codes when they are non-zero (#7363)[jest-config]
[BREAKING] DeprecatesetupTestFrameworkScriptFile
in favor of newsetupFilesAfterEnv
(#7119)[jest-worker]
[BREAKING] Add functionality to call asetup
method in the worker before the first call and ateardown
method when ending the farm (#7014)[jest-config]
[BREAKING] Set defaultnotifyMode
tofailure-change
(#7024)[jest-haste-map]
[BREAKING] Remove support for@providesModule
(#6104)[jest-haste-map]
[BREAKING] Replace internal data structures to improve performance (#6960)[jest-haste-map]
[BREAKING] Use relative paths to allow remote caching (#7020)[jest-haste-map]
[BREAKING] Remove name from hash inHasteMap.getCacheFilePath
(#7218)[babel-preset-jest]
[BREAKING] Export a function instead of an object for Babel 7 compatibility (#7203)[jest-haste-map]
[BREAKING] Expose relative paths when getting the file iterator (#7321)[jest-cli]
[BREAKING] Run code transforms overglobal{Setup,Teardown}
(#7562)[jest-haste-map]
AddhasteFS.getSize(path)
(#7580)[jest-cli]
Print version ending in-dev
when running a local Jest clone (#7582)[jest-cli]
Add Support forglobalSetup
andglobalTeardown
in projects (#6865)[jest-runtime]
AddextraGlobals
to config to load extra global variables into the execution vm (#7454)[jest-util]
ExportspecialChars
containing Unicode characters and ANSI escapes for console output (#7532)[jest-config]
Handle typescript (ts
andtsx
) by default (#7533)[jest-validate]
Add support for comments inpackage.json
using a"//"
key (#7295)[jest-config]
Add shorthand for watch plugins and runners (#7213)[jest-jasmine2/jest-circus/jest-cli]
Add test.todo (#6996)[pretty-format]
Option to not escape strings in diff messages (#5661)[jest-haste-map]
AddgetFileIterator
toHasteFS
for faster file iteration (#7010)[jest-config]
AddreadConfigs
function, previously injest-cli
(#7096)[jest-snapshot]
Enable configurable snapshot paths (#6143)[pretty-format]
Support HTMLCollection and NodeList in DOMCollection plugin (#7125)[jest-runtime]
Pass the normalized configuration to script transformers (#7148)[expect]
Improve report when assertion fails, part 3 (#7152)[jest-runtime]
Ifrequire
fails without a file extension, print all files that match with one (#7160)[jest-haste-map]
MakeignorePattern
optional (#7166)[jest-haste-map]
AddgetCacheFilePath
to get the path to the cache file for aHasteMap
instance (#7217)[jest-runtime]
RemovecacheDirectory
fromignorePattern
forHasteMap
if not necessary (#7166)[jest-validate]
Add syntax to validate multiple permitted types (#7207)[jest-config]
Accept an array as as well as a string fortestRegex
([#7209]#7209))[expect/jest-matcher-utils]
Improve report when assertion fails, part 4 (#7241)[expect/jest-matcher-utils]
Improve report when assertion fails, part 5 (#7557)[expect]
Check constructor equality in .toStrictEqual() (#7005)[jest-util]
Addjest.getTimerCount()
to get the count of scheduled fake timers (#7285)[jest-config]
AdddependencyExtractor
option to use a custom module to extract dependencies from files (#7313, #7349, #7350, #7362)[jest-haste-map]
Accept agetCacheKey
method inhasteImplModulePath
modules to reset the cache when the logic changes (#7350)[jest-config]
Addhaste.computeSha1
option to compute the sha-1 of the files in the haste map (#7345)[expect]
expect(Infinity).toBeCloseTo(Infinity)
TreatsInfinity
as equal in toBeCloseTo matcher (#7405)[jest-worker]
Add node worker-thread support to jest-worker (#7408)[jest-config]
Allowbail
setting to be configured with a number allowing tests to abort aftern
of failures (#7335)[jest-config]
Allow % based configuration of--max-workers
(#7494)[jest-runner]
Instantiate the test environment class with the currenttestPath
(#7442)[jest-config]
Always resolve jest-environment-jsdom from jest-config (#7476)[expect]
Improve report when assertion fails, part 6 (#7621)[jest-worker]
AddenableWorkerThreads
option to explicitly opt-in toworker_threads
if available (#7681)
Fixes
[expect]
Accept inherited properties intoHaveProperty
matcher (#7686)[jest-diff]
Do not claim that-0
and0
have no visual difference (#7605)[jest-mock]
Fix automock for numeric function names (#7653)[jest-config]
EnsureexistsSync
is only called with a string parameter (#7607)[expect]
toStrictEqual
considers sparseness of arrays. (#7591)[jest-cli]
Fix empty coverage data for untested files (#7388)[jest-cli]
[BREAKING] Do not usetext-summary
coverage reporter by default if other reporters are configured (#7058)[jest-mock]
[BREAKING] Fix bugs with mock/spy result tracking of recursive functions (#6381)[jest-haste-map]
[BREAKING] Recover files correctly after haste name collisions are fixed (#7329)[pretty-format]
[BREAKING] Omit non-enumerable symbol properties (#7448)[*]
[BREAKING] Upgrade to Babel 7, dropping support for Babel 6 (#7016)[jest-cli]
Avoid watch mode causing bad terminal behavior in some cases (#7523)[jest-runner/jest-worker]
Fix missing console output in verbose mode (#6871)[expect]
Standardize file naming inexpect
(#7306)[jest-each]
Add empty array validation check (#7249)[jest-cli]
Interrupt tests if interactive watch plugin key is pressed (#7222)[jest-each]
Add each array validation check (#7033)[jest-haste-map]
Do not visit again files with the same sha-1 (#6990)[jest-jasmine2]
Fix memory leak in Error objects hold by the framework (#6965)[jest-haste-map]
Fixed Haste whitelist generation for scoped modules on Windows (#6980)[jest-mock]
Fix inheritance of static properties and methods in mocks (#7003)- `[jest-...
23.6.0
Features
[jest-cli]
AddchangedSince
to allowed watch mode configs (#6955)[babel-jest]
Add support forbabel.config.js
added in Babel 7.0.0 (#6911)[jest-resolve]
Add support for an experimentalmapper
option (Watchman crawler only) that adds virtual files to the Haste map (#6940)
Fixes
[jest-resolve]
Only resolve realpath once in try-catch (#6925)[expect]
Fix TypeError intoBeInstanceOf
onnull
orundefined
(#6912)[jest-jasmine2]
Throw a descriptive error if the first argument supplied to a hook was not a function (#6917) and (#6931)[jest-circus]
Throw a descriptive error if the first argument supplied to a hook was not a function (#6917) and (#6931)[expect]
Fix variadic custom asymmetric matchers (#6898)[jest-cli]
Fix incorrecttestEnvironmentOptions
warning (#6852)[jest-each]
Prevent done callback being supplied to describe (#6843)[jest-config]
Better error message for a case when a preset module was found, but nojest-preset.js
orjest-preset.json
at the root (#6863)[jest-haste-map]
Catch crawler error when unsuccessfully reading directories (#6761)
Chore & Maintenance
[docs]
Add custom toMatchSnapshot matcher docs (#6837)[docs]
Improve the documentation regarding preset configuration (#6864)[docs]
Clarify usage of--projects
CLI option (#6872)[docs]
Correctfailure-change
notification mode (#6878)[scripts]
Don’t remove node_modules from subdirectories of presets in e2e tests (#6948)[diff-sequences]
Double-check number of differences in tests (#6953)
23.5.0
Features
[jest-cli]
Add package name toNotifyReporter
notification (#5898)[jest-runner]
print stack trace whenprocess.exit
is called from user code (#6714)[jest-each]
introduces%#
option to add index of the test to its title (#6414)[pretty-format]
Support serializingDocumentFragment
(#6705)[jest-validate]
Addrecursive
andrecursiveBlacklist
options for deep config checks (#6802)[jest-cli]
Check watch plugins for key conflicts (#6697)
Fixes
[jest-snapshot]
Mark snapshots as obsolete when moved to an inline snapshot (#6773)[jest-config]
Fix--coverage
with--findRelatedTests
overwritingcollectCoverageFrom
options (#6736)[jest-config]
Update default config for testURL from 'about:blank' to 'http://localhost' to address latest JSDOM security warning. (#6792)[jest-cli]
FixtestMatch
not working with negations (#6648)[jest-cli]
Don't report promises as open handles (#6716)[jest-each]
Add timeout support to parameterised tests (#6660)[jest-cli]
Improve the message when running coverage while there are no files matching global threshold (#6334)[jest-snapshot]
Correctly merge property matchers with the rest of the snapshot intoMatchSnapshot
. (#6528)[jest-snapshot]
Add error messages for invalid property matchers. (#6528)[jest-cli]
Show open handles from inside test files as well (#6263)[jest-haste-map]
Fix a problem where creating folders ending with.js
could cause a crash (#6818)
Chore & Maintenance
23.4.2
Performance
[jest-changed-files]
limit git and hg commands to specified roots (#6732)
Fixes
[jest-circus]
Fix retryTimes so errors are reset before re-running (#6762)[docs]
Updateexpect.objectContaining()
description (#6754)[babel-jest]
MakegetCacheKey()
take into accountcreateTransformer
options (#6699)[jest-jasmine2]
Use prettier throughrequire
instead oflocalRequire
. FixesmatchInlineSnapshot
where prettier dependencies likepath
andfs
are mocked withjest.mock
. (#6776)[docs]
Fix contributors link (#6711)[website]
Fix website versions page to link to correct language (#6734)[expect]
UpdatetoContain
suggestion to contain equal message (#6792)
23.4.1
Features
[jest-cli]
Watch plugins now have access to a broader range of global configuration options in theirupdateConfigAndRun
callbacks, so they can provide a wider set of extra features (#6473)[jest-snapshot]
babel-traverse
is now passed tojest-snapshot
explicitly to avoid unnecessary requires in every test
Fixes
23.4.0
Features
[jest-haste-map]
AddcomputeDependencies
flag to avoid opening files if not needed (#6667)[jest-runtime]
Supportrequire.resolve.paths
(#6471)[jest-runtime]
Supportpaths
option forrequire.resolve
(#6471)
Fixes
[jest-runner]
Force parallel runs for watch mode, to avoid TTY freeze (#6647)[jest-cli]
properly reprint resolver errors in watch mode (#6407)[jest-cli]
Write configuration to stdout when the option was explicitly passed to Jest (#6447)[jest-cli]
Fix regression on non-matching suites (6657)[jest-runtime]
Roll backmicromatch
version to prevent regression when matching files (#6661)