Browser running for Vitest
Last release 9 days ago
18 Aug 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 162 of 162 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
233 releases ยท first in 2022
Release timeline
233 releases since 2022Releases
- 4.0.0-beta.528 Jul 2025pre-release
Release notes
Open source โ๐จ Breaking Changes
- Use module-runner instead of vite-node - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8208 <samp>(9be01)</samp>
- runner: Set mode to
todoif no function is passed down totestordescribe- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8346 <samp>(1a81c)</samp>
๐ Bug Fixes
- Invalidate modules in all module graphs when the file is changed - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8352 <samp>(94ab3)</samp>
- wdio: Properly construct the shadow root selector if there are multiple elements - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8354 <samp>(28765)</samp>
View changes on GitHub
- 4.0.0-beta.422 Jul 2025pre-release
Release notes
Open source โ๐ Features
- browser:
- Add qwik to the
vitest initcli command - by @thejackshelton in https://github.com/vitest-dev/vitest/issues/8330 <samp>(1638b)</samp> - Introduce
toMatchScreenshotfor Visual Regression Testing - by @macarie in https://github.com/vitest-dev/vitest/issues/8041 <samp>(d45f9)</samp>
- Add qwik to the
๐ Bug Fixes
- Add
--changedflag support tovitest listcommand - by @haakonjackfloat in https://github.com/vitest-dev/vitest/issues/8270 and https://github.com/vitest-dev/vitest/issues/8272 <samp>(e71a5)</samp> - Prevent rpc timeout on slow thread blocking synchronous methods - by @AriPerkkio and @sheremet-va in https://github.com/vitest-dev/vitest/issues/8297 <samp>(bea87)</samp>
- Forbid setting environment to
browser- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8334 <samp>(0417a)</samp> - deps: Update all non-major dependencies - in https://github.com/vitest-dev/vitest/issues/8328 <samp>(aa79e)</samp>
- wdio: Wait for the driver to be properly closed - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8305 <samp>(c16ab)</samp>
View changes on GitHub
- browser:
- 4.0.0-beta.315 Jul 2025pre-release
Release notes
Open source โ๐จ Breaking Changes
- Remove deprecated
workspaceoption in favor ofprojects- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8218 <samp>(76fb7)</samp> - Ignore
--standalonewhen CLI filename filter is used - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8262 <samp>(013bf)</samp>
๐ Features
- Add spy option to vi.mockObject - by @rChaoz in https://github.com/vitest-dev/vitest/issues/8285 <samp>(81d76)</samp>
- browser: Support
toBeInViewportutility method to assert element is in viewport or not - by @Shinyaigeek in https://github.com/vitest-dev/vitest/issues/8234 <samp>(ceed5)</samp> - expect: Support
toBeNullableexpect function to check provided value is nullish - by @Shinyaigeek and @sheremet-va in https://github.com/vitest-dev/vitest/issues/8294 <samp>(eeec5)</samp> - mocker: Add
automockerentry - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8301 <samp>(e9c92)</samp>
๐ Bug Fixes
- Remove unused dependencies - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8184 <samp>(feadc)</samp>
- Distribute test files to shards more evenly - by @Shinyaigeek and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8288 <samp>(7b489)</samp>
- Use suite's timeout when
test.extend- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8278 <samp>(43977)</samp> - Support snapshot with no object key sorting - by @hi-ogawa and @sheremet-va in https://github.com/vitest-dev/vitest/issues/8136 <samp>(e85e3)</samp>
- Annotation location always points to the test file - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8315 <samp>(88071)</samp>
- core:
- Fix
objectContainingexpect utility to have more compatibility to jest's one - by @Shinyaigeek in https://github.com/vitest-dev/vitest/issues/8241 <samp>(480be)</samp>
- Fix
- coverage:
- Include files based on
--projectfilter - by @gtbuchanan in https://github.com/vitest-dev/vitest/issues/7885 <samp>(761be)</samp> - Prevent encoding filenames of uncovered files - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8239 <samp>(8a998)</samp>
- Include files based on
- deps:
- Update all non-major dependencies - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8235 <samp>(a1e57)</samp>
- mocker:
- Fix
regexpHoistableto allow whitespace before parentheses - by @cszhjh in https://github.com/vitest-dev/vitest/issues/8231 <samp>(a0f9a)</samp>
- Fix
- reporter:
- Invisible CLI menus when
vitest --standalone- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8248 <samp>(37cc2)</samp>
- Invisible CLI menus when
- rolldown-vite:
- Properly disable minifier in the browser client - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8306 <samp>(f55bb)</samp>
- watch:
- Filename filter runs duplicate tests in workspaces - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8250 <samp>(932d8)</samp>
View changes on GitHub
- Remove deprecated
- 4.0.0-beta.224 Jun 2025pre-release
Release notes
Open source โ๐จ Breaking Changes
- Remove support for Vite 5 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8202 <samp>(cb8b0)</samp>
- Remove deprecated types - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8203 <samp>(66bee)</samp>
- Remove deprecated environmentMatchGlobs and poolMatchGlobs - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8205 <samp>(be11d)</samp>
- snapshot: Fail test with obsolete snapshot on CI - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7963 <samp>(4d84f)</samp>
- spy: Support spying on classes - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6160 <samp>(abc0d)</samp>
๐ Features
- Add
onUnhandledErrorcallback - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8162 <samp>(924cb)</samp>
๐ Bug Fixes
- Allow overriding globals in types - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8215 <samp>(2248b)</samp>
- browser: Run in-source tests only when the file itsels is a test file - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8204 <samp>(bdd2e)</samp>
View changes on GitHub
- 4.0.0-beta.120 Jun 2025pre-release
Release notes
Open source โ๐จ Breaking Changes
- Remove
'basic'reporter - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7884 <samp>(82fcf)</samp> - Simplify default exclude pattern - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6287 <samp>(14c50)</samp>
- Remove deprecated getSourceMap - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8194 <samp>(ff934)</samp>
- Replace deprecated ErrorWithDiff with TestError - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8195 <samp>(da59e)</samp>
- Remove UserConfig type in favor of ViteUserConfig - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8196 <samp>(22f7f)</samp>
- Remove deprecated coverage options in favor of
vitest/nodeexports - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8197 <samp>(dc848)</samp> - Remove deprecated internal helpers and environment exports - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8198 <samp>(4703c)</samp>
- Remove deprecated typecheck and runner types - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8199 <samp>(89a1c)</samp>
- Remove Node types from the main entry point, use
vitest/nodeinstead - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8200 <samp>(1e60c)</samp> - coverage:
- V8 to support only AST based remapping by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8064 <samp>(176133e)</samp>
- Remove
.all, reworkedinclude/excludeby @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7837 <samp>(41a111c)</samp>
๐ Features
- Provide entity to onConsoleLog - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8159 <samp>(437d4)</samp>
๐ Bug Fixes
- types: Ensure Chai declaration merge works with TS-Go - by @LukeAbby in https://github.com/vitest-dev/vitest/issues/8188 <samp>(5261d)</samp>
View changes on GitHub
- Remove
- 3.2.76 Jul 2026
Release notes
Open source โ๐ Bug Fixes
- browser: Check fs access in builtin commands [backport to v3] - by @hi-ogawa, Hiroshi Ogawa and OpenCode (claude-opus-4-8) in #10679 (b795e)
View changes on GitHub
- 3.2.61 Jun 2026
Release notes
Open source โ๐ Bug Fixes
- Pin last supported vite-node version - by @sheremet-va <samp>(16f12)</samp>
View changes on GitHub
- 3.2.51 Jun 2026
Release notes
Open source โ๐ Features
- api: Add
allowWriteandallowExecoptions toapi[backport to v3] - by @hi-ogawa and Codex in https://github.com/vitest-dev/vitest/issues/10445 <samp>(af88b)</samp>
๐ Bug Fixes
- browser: Disable client
cdpAPI whenallowWrite/allowExec: false[backport to v3] - by @hi-ogawa and Codex in https://github.com/vitest-dev/vitest/issues/10456 <samp>(385a1)</samp>
View changes on GitHub
- api: Add
- 3.2.417 Jun 2025
Release notes
Open source โ๐ Bug Fixes
- Use correct path for optimisation of strip-literal - by @mrginglymus in https://github.com/vitest-dev/vitest/issues/8139 <samp>(44940)</samp>
- Print uint and buffer as a simple string - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8141 <samp>(b86bf)</samp>
- browser:
- Show a helpful error when spying on an export - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8178 <samp>(56007)</samp>
- cli:
vitest run --watchshould be watch-mode - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8128 <samp>(657e8)</samp>- Use absolute path environment on Windows - by @colinaaa in https://github.com/vitest-dev/vitest/issues/8105 <samp>(85dc0)</samp>
- Throw error when
--shard x/<count>exceeds count of test files - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8112 <samp>(8a18c)</samp>
- coverage:
- Ignore SCSS in browser mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8161 <samp>(0c3be)</samp>
- deps:
- Update all non-major dependencies - in https://github.com/vitest-dev/vitest/issues/8123 <samp>(93f32)</samp>
- expect:
- Handle async errors in expect.soft - by @lzl0304 in https://github.com/vitest-dev/vitest/issues/8145 <samp>(68699)</samp>
- pool:
- Auto-adjust
minWorkerswhen onlymaxWorkersspecified - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8110 <samp>(14dc0)</samp>
- Auto-adjust
- reporter:
task.metashould be available in custom reporter's errors - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8115 <samp>(27df6)</samp>
- runner:
- Preserve handler wrapping on extend - by @pengooseDev in https://github.com/vitest-dev/vitest/issues/8153 <samp>(a9281)</samp>
- ui:
- Ensure ui config option works correctly - by @lzl0304 in https://github.com/vitest-dev/vitest/issues/8147 <samp>(42eeb)</samp>
View changes on GitHub
- 3.2.39 Jun 2025
Release notes
Open source โ๐ Features
- browser: Use base url instead of vitest - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8126 <samp>(1d8eb)</samp>
- ui: Show test annotations and metadata in the test report tab - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8093 <samp>(c69be)</samp>
๐ Bug Fixes
- Rerun tests when project's setup file is changed - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8097 <samp>(0f335)</samp>
- Revert
expect.anyreturn type - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8129 <samp>(47514)</samp> - Run only the name plugin last, not all config plugins - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8130 <samp>(83862)</samp>
- pool:
- Throw if user's tests use
process.send()- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8125 <samp>(dfe81)</samp>
- Throw if user's tests use
- runner:
- Fast sequential task updates missing - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8121 <samp>(7bd11)</samp>
- Comments between fixture destructures - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8127 <samp>(dc469)</samp>
- vite-node:
- Unable to handle errors where sourcemap mapping empty - by @blake-newman and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/8071 <samp>(8aa25)</samp>
View changes on GitHub
- 3.2.25 Jun 2025
Release notes
Open source โ๐ Features
- Support rolldown-vite - by @sheremet-va and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7509 <samp>(c8d62)</samp>
๐ Bug Fixes
- browser:
- Calculate prepare time from
createTesterscall on the main thread - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8101 <samp>(142c7)</samp> - Optimize build output and always prebundle vitest - by @sheremet-va <samp>(00a39)</samp>
- Make custom locators available in
vitest-browser-*packages - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8103 <samp>(247ef)</samp>
- Calculate prepare time from
- expect:
- Ensure we can always self
toEqual- by @dubzzz in https://github.com/vitest-dev/vitest/issues/8094 <samp>(02ec8)</samp>
- Ensure we can always self
- reporter:
- Allow
dotreporter to work in non interactive terminals - by @bstephen1 and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7994 <samp>(6db9f)</samp>
- Allow
View changes on GitHub
- 3.2.13 Jun 2025
Release notes
Open source โ๐ Bug Fixes
- Use sha1 instead of md5 for hashing - by @sheremet-va <samp>(e4c73)</samp>
- expect:
- Fix chai import in dts - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/8077 <samp>(a7593)</samp>
- Export
DeeplyAllowMatchers- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8078 <samp>(30ab4)</samp>
View changes on GitHub
- 3.2.02 Jun 2025
Release notes
Open source โ๐ Features
- Provide
ctx.signal- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7878 <samp>(e761f)</samp> - Support custom colors for
test.name- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7809 <samp>(4af5d)</samp> - Add
vi.mockObjectto automock any object - by @hi-ogawa and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7761 <samp>(465bd)</samp> - Introduce
watchTriggerPatternsoption - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7778 <samp>(a0675)</samp> - Deprecate
workspacein favor ofprojects- by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7923 <samp>(41beb)</samp> - Explicit Resource Management support in mocked functions - by @EskiMojo14 in https://github.com/vitest-dev/vitest/issues/7927 <samp>(b67d3)</samp>
- Add
sequence.groupOrderoption - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7852 <samp>(d1a1d)</samp> - Initial support for Temporal equality - by @dirkluijk in https://github.com/vitest-dev/vitest/issues/8007 <samp>(52bd7)</samp>
- Support Vite 7 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8003 <samp>(1716b)</samp>
- Track module execution totalTime and selfTime - by @abrenneke in https://github.com/vitest-dev/vitest/issues/8027 <samp>(95961)</samp>
- Annotation API - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7953 <samp>(b03f2)</samp>
- browser:
- Implement
connectoption forplaywrightbrowser provider - by @egfx-notifications and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7915 <samp>(029c0)</samp> - Add
screenshot.saveoption - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7777 <samp>(d9f51)</samp> - Custom locators API - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7993 <samp>(e6fbd)</samp>
- Implement
- coverage:
- V8 experimental AST-aware remapping - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7736 <samp>(78a3d)</samp>
- reporter:
- Add
onWritePathoption togithub-actions- by @nwalters512 and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8015 <samp>(abd3b)</samp>
- Add
- vitest:
- Allow per-file and per-worker fixtures - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7704 <samp>(9cbfc)</samp>
๐ Bug Fixes
- Replace
micromatchwithpicomatch- by @sapphi-red in https://github.com/vitest-dev/vitest/issues/7951 <samp>(df076)</samp> - Try to catch unhandled error outside of a test - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7968 <samp>(46421)</samp>
- Generate a separate config for "vitest init browser" instead of a workspace file - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7934 <samp>(e84e2)</samp>
- Switch ExpectStatic
anytypes toAsymmetricMatcher<unknown>, withDeeplyAllowMatchers<T>- by @JoshuaKGoldberg in https://github.com/vitest-dev/vitest/issues/7016 <samp>(8ec44)</samp> - Remove unused exports - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7618 <samp>(33d05)</samp>
- Throw an error if typechecker failed to spawn - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7990 <samp>(0e960)</samp>
- Ignore non-string
stackproperties - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7995 <samp>(330f9)</samp> - Apply browser CLI options only if the project has the browser set in the config already - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7984 <samp>(70358)</samp>
- Ensure errors keep their message and stack after
toJSONserialisation - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8053 <samp>(3bdf0)</samp> - browser:
- Resolve FS commands relative to the project root - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7896 <samp>(69ac9)</samp>
- Run tests serially if provider doesn't provide a mocker - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8032 <samp>(227a9)</samp>
- Resolve
uploadfiles relative to the project root - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8042 <samp>(b9a31)</samp> - Await mocker invalidation to avoid race condition with "mock wasn't registered" - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8021 <samp>(b34ff)</samp>
- Share vite cache with the project cache - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8049 <samp>(0cbad)</samp>
- Add
thistype tolocators.extend- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8069 <samp>(70fb0)</samp>
- cache:
- Preserve test results from previous runs - by @macko911 in https://github.com/vitest-dev/vitest/issues/8043 <samp>(d6ef0)</samp>
- cli:
- Add built-in reporters list to --help output - by @pengooseDev in https://github.com/vitest-dev/vitest/issues/7955 <samp>(ef6ef)</samp>
- Parse
--silentvalues properly - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8055 <samp>(8fad7)</samp>
- coverage:
- Istanbul provider to not use Vite preserved query params - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7939 <samp>(a05d4)</samp>
- Browser + v8 in source tests missing - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7946 <samp>(51cd8)</samp>
- In-source test cases excluded - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7985 <samp>(407c0)</samp>
- dev:
- Fix relay of custom equality testers - by @StefanLiebscher in https://github.com/vitest-dev/vitest/issues/6140 <samp>(6dc1d)</samp>
- expect:
- Unbundle
@types/chai- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7937 <samp>(525f5)</samp> - Support type-safe declaration of custom matchers - by @kettanaito and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7656 <samp>(e996b)</samp>
- Unbundle
- reporters:
- Check the test result again when tests are rerunning - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8063 <samp>(35e31)</samp>
- spy:
- Copy over static properties from the function - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7780 <samp>(9b9f0)</samp>
- typecheck:
- Don't panic during
vitest listcommand - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7933 <samp>(ba6da)</samp> - Avoid creating a temporary tsconfig file when typechecking - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7967 <samp>(34f43)</samp>
- Don't panic during
- vite-node:
- Add
__vite_ssr_exportName__- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7925 <samp>(76091)</samp>
- Add
- vitest:
- Adjust
getWorkerMemoryLimitpriority for vmForks - by @pengooseDev in https://github.com/vitest-dev/vitest/issues/7960 <samp>(5a91e)</samp>
- Adjust
- wdio:
- Don't scale browser in headless mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8033 <samp>(c23b0)</samp>
View changes on GitHub
- Provide
- 3.2.0-beta.328 May 2025pre-release
Release notes
Open source โ๐ Features
- Initial support for Temporal equality - by @dirkluijk in https://github.com/vitest-dev/vitest/issues/8007 <samp>(52bd7)</samp>
- Support Vite 7 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8003 <samp>(1716b)</samp>
- reporter: Add
onWritePathoption togithub-actions- by @nwalters512 and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/8015 <samp>(abd3b)</samp>
๐ Bug Fixes
- Throw an error if typechecker failed to spawn - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7990 <samp>(0e960)</samp>
- Ignore non-string
stackproperties - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7995 <samp>(330f9)</samp> - Apply browser CLI options only if the project has the browser set in the config already - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7984 <samp>(70358)</samp>
- browser:
- Run tests serially if provider doesn't provide a mocker - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8032 <samp>(227a9)</samp>
- Resolve
uploadfiles relative to the project root - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8042 <samp>(b9a31)</samp> - Await mocker invalidation to avoid race condition with "mock wasn't registered" - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8021 <samp>(b34ff)</samp>
- cache:
- Preserve test results from previous runs - by @macko911 in https://github.com/vitest-dev/vitest/issues/8043 <samp>(d6ef0)</samp>
- coverage:
- Browser + v8 in source tests missing - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7946 <samp>(51cd8)</samp>
- expect:
- Support type-safe declaration of custom matchers - by @kettanaito and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7656 <samp>(e996b)</samp>
- vite-node:
- Add
__vite_ssr_exportName__- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7925 <samp>(76091)</samp>
- Add
- webdriverio:
- Don't scale the iframe - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8033 <samp>(c23b0)</samp>
[!NOTE]
playwrightandpreviewstill scale it for better DX, but webdriver has fundamental issues with it. We are looking for a solution that works across all providersView changes on GitHub
- 3.2.0-beta.219 May 2025pre-release
Release notes
Open source โ๐ Features
- Explicit Resource Management support in mocked functions - by @EskiMojo14 in https://github.com/vitest-dev/vitest/issues/7927 <samp>(b67d3)</samp>
- Add
sequence.groupOrderoption - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7852 <samp>(d1a1d)</samp> - browser:
- Add
screenshot.saveoption - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7777 <samp>(d9f51)</samp> - Custom locators API - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7993 <samp>(e6fbd)</samp>
- Add
๐ Bug Fixes
- Replace
micromatchwithpicomatch- by @sapphi-red in https://github.com/vitest-dev/vitest/issues/7951 <samp>(df076)</samp> - Try to catch unhandled error outside of a test - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7968 <samp>(46421)</samp>
- Generate a separate config for "vitest init browser" instead of a workspace file - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7934 <samp>(e84e2)</samp>
- Switch ExpectStatic
anytypes toAsymmetricMatcher<unknown>, withDeeplyAllowMatchers<T>- by @JoshuaKGoldberg in https://github.com/vitest-dev/vitest/issues/7016 <samp>(8ec44)</samp> - Remove unused exports - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7618 <samp>(33d05)</samp>
- cli:
- Add built-in reporters list to --help output - by @pengooseDev in https://github.com/vitest-dev/vitest/issues/7955 <samp>(ef6ef)</samp>
- coverage:
- Istanbul provider to not use Vite preserved query params - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7939 <samp>(a05d4)</samp>
- dev:
- Fix relay of custom equality testers - by @StefanLiebscher in https://github.com/vitest-dev/vitest/issues/6140 <samp>(6dc1d)</samp>
- expect:
- Unbundle
@types/chai- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7937 <samp>(525f5)</samp>
- Unbundle
- typecheck:
- Don't panic during
vitest listcommand - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7933 <samp>(ba6da)</samp> - Avoid creating a temporary tsconfig file when typechecking - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7967 <samp>(34f43)</samp>
- Don't panic during
- vitest:
- Adjust
getWorkerMemoryLimitpriority for vmForks - by @pengooseDev in https://github.com/vitest-dev/vitest/issues/7960 <samp>(5a91e)</samp>
- Adjust
View changes on GitHub
- 3.2.0-beta.15 May 2025pre-release
Release notes
Open source โ๐ Features
- Provide
ctx.signal- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7878 <samp>(e761f)</samp> - Support custom colors for
test.name- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7809 <samp>(4af5d)</samp> - Add
vi.mockObjectto automock any object - by @hi-ogawa and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7761 <samp>(465bd)</samp> - Introduce
watchTriggerPatternsoption - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7778 <samp>(a0675)</samp> - Deprecate
workspacein favor ofprojects- by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7923 <samp>(41beb)</samp> - browser: Implement
connectoption forplaywrightbrowser provider - by @egfx-notifications and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7915 <samp>(029c0)</samp> - coverage: V8 experimental AST-aware remapping - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7736 <samp>(78a3d)</samp>
๐ Bug Fixes
- browser: Resolve FS commands relative to the project root - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7896 <samp>(69ac9)</samp>
View changes on GitHub
- Provide
- 3.1.419 May 2025
Release notes
Open source โ๐ Bug Fixes
- Apply browser CLI options only if the project has the browser set in the config already - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/8002 <samp>(64f2b)</samp>
View changes on GitHub
- 3.1.35 May 2025
Release notes
Open source โ๐ Bug Fixes
- Correctly resolve vitest import if
inline: trueis set - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7856 <samp>(a83f3)</samp> - Fix fixture parsing with lowered async with esbuild 0.25.3 - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7921 <samp>(c5c85)</samp>
- Remove event-catcher code - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7898 <samp>(deb1b)</samp>
- Reset mocks on test retry/repeat - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7897 <samp>(2fa76)</samp>
- Ignore failures on writeToCache - by @orgads in https://github.com/vitest-dev/vitest/issues/7893 <samp>(8c7f7)</samp>
- browser: Correctly inherit CLI options - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7858 <samp>(03660)</samp>
- deps: Update all non-major dependencies - in https://github.com/vitest-dev/vitest/issues/7867 <samp>(67ef7)</samp>
- reporters:
--merge-reportsto show each total run times - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7877 <samp>(d613b)</samp>
View changes on GitHub
- Correctly resolve vitest import if
- 3.1.221 Apr 2025
Release notes
Open source โ๐ Bug Fixes
- Add global
chaivariable invitest/globals(fix: #7474) - by @Jay-Karia in https://github.com/vitest-dev/vitest/issues/7771 and https://github.com/vitest-dev/vitest/issues/7474 <samp>(d9297)</samp> - Prevent modifying
test.excludewhen same object passed incoverage.exclude- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7774 <samp>(c3751)</samp> - Fix already hoisted mock - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7815 <samp>(773b1)</samp>
- Fix test.scoped inheritance - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7814 <samp>(db6c3)</samp>
- Remove pointer-events-none after resizing the left panel - by @alexprudhomme in https://github.com/vitest-dev/vitest/issues/7811 <samp>(a7e77)</samp>
- Default to run mode when stdin is not a TTY - by @kentonv, @hi-ogawa and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7673 <samp>(6358f)</samp>
- Use happy-dom/jsdom types for
envionmentOptions- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7795 <samp>(67430)</samp> - browser:
- Fix transform error before browser server initialization - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7783 <samp>(5f762)</samp>
- Fix mocking from outside of root - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7789 <samp>(03f55)</samp>
- Scale iframe for non ui case - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6512 <samp>(c3374)</samp>
- coverage:
awaitprofiler calls - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7763 <samp>(795a6)</samp>- Expose profiling timers - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7820 <samp>(5652b)</samp>
- deps:
- Update all non-major dependencies - in https://github.com/vitest-dev/vitest/issues/7765 <samp>(7c3df)</samp>
- Update all non-major dependencies - in https://github.com/vitest-dev/vitest/issues/7831 <samp>(15701)</samp>
- runner:
- Correctly call test hooks and teardown functions - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7775 <samp>(3c00c)</samp>
- Show stacktrace on test timeout error - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7799 <samp>(df33b)</samp>
- ui:
- Load panel sizes from storage on initial load - by @userquin in https://github.com/vitest-dev/vitest/issues/7265 <samp>(6555d)</samp>
- vite-node:
- Named export should overwrite export all - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7846 <samp>(5ba0d)</samp>
- Add ERR_MODULE_NOT_FOUND code error if module cannot be loaded - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7776 <samp>(f9eac)</samp>
๐ Performance
- browser: Improve browser parallelisation - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7665 <samp>(816a5)</samp>
View changes on GitHub
- Add global
- 3.1.131 Mar 2025
Release notes
Open source โ๐ Bug Fixes
- reporter:
- Report tests in correct order - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7752 <samp>(b166e)</samp>
- Print test only once in the verbose mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7738 <samp>(69ca4)</samp>
View changes on GitHub
- reporter:
- 3.1.031 Mar 2025
Release notes
Open source โ๐ Features
- Introduce
%$option to add number of the test to its title - by @kemuridama in https://github.com/vitest-dev/vitest/issues/7412 <samp>(df347)</samp> - Add
diff.maxDepthoption and set non-Infinityvalue as a default to reduce crash - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7481 <samp>(eacab)</samp> - Allow array element for
test.each/fortitle formatting - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7522 <samp>(ea3d6)</samp> - Add "configureVitest" plugin hook - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7349 <samp>(20a5d)</samp>
- Support
--configLoaderCLI option - by @Carnageous and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7574 <samp>(2a852)</samp> - Added
vitest-browser-littovitest init browserand docs - by @EskiMojo14 and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7705 <samp>(5659a)</samp> - Use providers request interception for module mocking - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7576 <samp>(7883a)</samp>
- browser:
- Introduce
and,orandfilterlocators - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7463 <samp>(63949)</samp>
- Introduce
- reporter:
- Always render test time - by @AriPerkkio and @spamshaker in https://github.com/vitest-dev/vitest/issues/7529 <samp>(5eba6)</samp>
--silent=passed-onlyto log failed tasks only - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7530 <samp>(f9e1c)</samp>
- runner:
- Add
test.scopedto overridetest.extendfixtures per-suite - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7233 <samp>(e5851)</samp>
- Add
- vitest:
- Allow conditional
context.skip(boolean)- by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7659 <samp>(6adec)</samp> - Support rolldown-vite in NormalizeUrlPlugin - by @sapphi-red and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7739 <samp>(1ef31)</samp>
- Allow conditional
๐ Bug Fixes
- Update test stats regularly - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7700 <samp>(b7953)</samp>
- Fix vm tests flakiness - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7741 <samp>(2702c)</samp>
- Set
diff.expand: falseas default - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7697 <samp>(f3420)</samp> - browser:
- Correctly calculate timeout in hooks when actions are performed - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7747 <samp>(a5505)</samp>
- deps:
- Update all non-major dependencies - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7600 <samp>(7fc5a)</samp>
- reporter:
--hideSkippedTestsshould hide suites too - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7695 <samp>(ba9b5)</samp>- Report tests in correct order - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7752 <samp>(b166e)</samp>
- Print test only once in the verbose mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7738 <samp>(69ca4)</samp>
- snapshot:
- Fix indent normalization - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7400 <samp>(82997)</samp>
- This change can cause small amount of very old snapshots to be updated, but there will be no functional change to how they work.
๐ Performance
- browser: Fork jest-dom instead of bundling it - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7605 <samp>(12762)</samp>
View changes on GitHub
- Introduce
- 3.1.0-beta.221 Mar 2025pre-release
Release notes
Open source โ๐ Features
- Add "configureVitest" plugin hook - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7349 <samp>(20a5d)</samp>
- browser: Introduce
and,orandfilterlocators - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7463 <samp>(63949)</samp> - runner: Add
test.scopedto overridetest.extendfixtures per-suite - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7233 <samp>(e5851)</samp>
๐ Bug Fixes
- reporter:
--hideSkippedTestsshould hide suites too - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7695 <samp>(ba9b5)</samp>
View changes on GitHub
- 3.1.0-beta.117 Mar 2025pre-release
Release notes
Open source โ๐ Features
- Introduce
%$option to add number of the test to its title - by @kemuridama in https://github.com/vitest-dev/vitest/issues/7412 <samp>(df347)</samp> - Add
diff.maxDepthoption and set non-Infinityvalue as a default to reduce crash - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7481 <samp>(eacab)</samp> - Allow array element for
test.each/fortitle formatting - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7522 <samp>(ea3d6)</samp> - reporter:
- Always render test time - by @AriPerkkio and Michaล Grzegorzewski in https://github.com/vitest-dev/vitest/issues/7529 <samp>(5eba6)</samp>
--silent=passed-onlyto log failed tasks only - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7530 <samp>(f9e1c)</samp>
- vitest:
- Allow conditional
context.skip(boolean)- by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7659 <samp>(6adec)</samp>
- Allow conditional
View changes on GitHub
- Introduce
- 3.0.917 Mar 2025
Release notes
Open source โ๐ Bug Fixes
- Typings of
ctx.skip()asnever- by @sirlancelot in https://github.com/vitest-dev/vitest/issues/7608 <samp>(09f35)</samp> - Cleanup vitest in public
resolveConfigAPI - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7623 <samp>(db14a)</samp> - Fix
toHaveBeenCalledWith(asymmetricMatcher)withundefinedarguments - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7624 <samp>(0fb21)</samp> - Race condition in RPC filesystem cache. - by @dts in https://github.com/vitest-dev/vitest/issues/7531 <samp>(b7f55)</samp>
- Fix
getState().testPathduring collection with no isolation - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7640 <samp>(3fb3f)</samp> - Support custom toString method in %s format - by @pengooseDev in https://github.com/vitest-dev/vitest/issues/7637 <samp>(46d93)</samp>
- browser:
- Fail playwright timeouts earlier than a test timeout - by @sheremet-va and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7565 <samp>(5eb4c)</samp>
- Remove @testing-library/dom from dependencies #7555)" - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7628 and https://github.com/vitest-dev/vitest/issues/7555 <samp>(94b27)</samp>
- coverage:
- Browser mode +
coverage.all- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7597 <samp>(422ba)</samp>
- Browser mode +
- runner:
- Show stacktrace on hook timeout error - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7502 <samp>(268a1)</samp>
- vite-node:
- Fix source map of inlined node_modules - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7557 <samp>(34aa3)</samp>
- Fix missing
buildStart- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7652 <samp>(29f5a)</samp>
- web-worker:
- Ensure
removeEventListeneris bound to worker - by @joelgallant in https://github.com/vitest-dev/vitest/issues/7631 <samp>(ff42b)</samp>
- Ensure
View changes on GitHub
- Typings of
- 3.0.86 Mar 2025
Release notes
Open source โ๐ Bug Fixes
- Fix fetch cache multiple writes - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7546 <samp>(1a8b4)</samp>
- Use browser.isolate instead of config.isolate - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7560 <samp>(4b5ed)</samp>
- Remove vestigial spy stub, import directly from
@vitest/spy- by @mrginglymus in https://github.com/vitest-dev/vitest/issues/7575 <samp>(7f7ff)</samp> - Correctly split the argv string - by @btea in https://github.com/vitest-dev/vitest/issues/7533 <samp>(4325a)</samp>
- browser:
- Remove @testing-library/dom from dependencies - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7555 <samp>(5387a)</samp>
- Improve source map handling for bundled files - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7534 <samp>(e2c57)</samp>
- Print related test file and potential test in unhandled errors - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7564 <samp>(fee90)</samp>
- runner:
- Fix
beforeEach/Allcleanup callback timeout - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7500 <samp>(0c292)</samp> - Fix and simplify
Task.suiteinitialization - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7414 <samp>(ca9ff)</samp>
- Fix
- snapshot:
- Allow inline snapshot calls on same location with same snapshot - by @jycouet and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7464 <samp>(d5cb8)</samp>
- vite-node:
- Fix
buildStarton Vite 6 - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7480 <samp>(c0f47)</samp>
- Fix
View changes on GitHub
- 3.0.724 Feb 2025
Release notes
Open source โ๐ Bug Fixes
- browser: Support webdriverio 9 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7553 <samp>(b1949)</samp>
- deps: Update all non-major dependencies - in https://github.com/vitest-dev/vitest/issues/7543 <samp>(365ff)</samp>
- expect: Correct generic MatchersObject this type in expect.extend - by @Workingstiff-s in https://github.com/vitest-dev/vitest/issues/7526 <samp>(d5765)</samp>
- mocker: Include more modules to prefix-only module list - by @btea in https://github.com/vitest-dev/vitest/issues/7524 <samp>(a12ec)</samp>
- spy: Clear/reset/restore mocks in stack order - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7499 <samp>(f7100)</samp>
๐ Performance
- browser: Do wdio context switching only once per file - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7549 <samp>(aaa58)</samp>
View changes on GitHub
- 3.0.618 Feb 2025
Release notes
Open source โ๐ Bug Fixes
- Fix
getMockedSystemTimeforuseFakeTimer- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7405 <samp>(03912)</samp> - Compat for jest-image-snapshot - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7390 <samp>(9542b)</samp>
- Ensure project names are readable in dark terminals - by @rgrove in https://github.com/vitest-dev/vitest/issues/7371 <samp>(bb94c)</samp>
- Exclude
queueMicrotaskfrom default fake timers to not break node fetch - by @hi-ogawa in https://github.com/vitest-dev/vitest/pull/7505 <samp>(167a9)</samp> - Use
tinyglobbyinstead offast-glob- by @benmccann in https://github.com/vitest-dev/vitest/issues/7504 <samp>(b62ac)</samp> - browser:
- Fix mocking modules out of root - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7415 <samp>(d3acb)</samp>
- Fix
toHaveClasstyping - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7383 <samp>(7ef23)</samp> - Relax locator selectors methods - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7422 <samp>(1b8c5)</samp>
- Resolve thread count from
maxWorkers- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7483 <samp>(adbb2)</samp> - Cleanup timeout on resolve and give more information in the error - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7487 <samp>(5a45a)</samp>
- coverage:
vite-nodeto pass correct execution wrapper offset - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7417 <samp>(1f2e5)</samp>- Preserve moduleExecutionInfo in non-isolated runs - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7486 <samp>(f31a0)</samp>
- deps:
- Update all non-major dependencies - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7363 <samp>(e348b)</samp>
- Update all non-major dependencies - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7507 <samp>(6cc40)</samp>
- init:
- Invalid browser config - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7475 <samp>(8fe64)</samp>
- reporters:
- Render tasks in tree when in TTY - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7503 <samp>(027ce)</samp>
- vite-node:
- Remove fake first line mapping on Vite 6 - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7124 <samp>(b9973)</samp>
- watch:
- Properly remove cache after removing existing test files - by @soc221b in https://github.com/vitest-dev/vitest/issues/7399 <samp>(01a59)</samp>
- workspace:
- Forward
inspectrelated cli options - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7373 <samp>(ed15b)</samp>
- Forward
View changes on GitHub
- Fix
- 3.0.53 Feb 2025
Release notes
Open source โThis release includes security patches for:
๐ Features
- ui: Insert message "no tests found" in ui - by @DevJoaoLopes in https://github.com/vitest-dev/vitest/issues/7366 <samp>(92da4)</samp>
๐ Bug Fixes
- Validate websocket request - by @hi-ogawa and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7317 <samp>(191ef)</samp>
- Don't toggle cli cursor on non-TTY - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7336 <samp>(3c805)</samp>
- vite-node: Differentiate file url with hash and query - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7365 <samp>(926ca)</samp>
View changes on GitHub
- 3.0.423 Jan 2025
Release notes
Open source โThis release includes security patches for:
๐ Bug Fixes
- Filter projects eagerly during config resolution - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7313 <samp>(dff44)</samp>
- Apply
development|productioncondition on Vites 6 by @hi-ogawa and @sheremet-va (#7301) <samp>(ef146)</samp> - browser: Restrict served files from
/__screenshot-error- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7340 <samp>(ed9ae)</samp> - deps: Update all non-major dependencies - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7297 <samp>(38ea8)</samp>
- runner: Timeout long sync hook - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7289 <samp>(c60ee)</samp>
- typechecking: Support typechecking parsing with Vite 6 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7335 <samp>(bff70)</samp>
- types: Fix public types - by @mrginglymus and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7328 <samp>(ce6af)</samp>
View changes on GitHub
- 3.0.321 Jan 2025
Release notes
Open source โ๐ Bug Fixes
- browser:
- Don't throw a validation error if v8 coverage is used with filtered instances - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7306 <samp>(fa463)</samp>
- Don't fail when running --browser.headless if the browser projest is part of the workspace - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7311 <samp>(e43a8)</samp>
๐ Performance
- reporters: Update summary only when needed - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7291 <samp>(7f36b)</samp>
View changes on GitHub
- browser:
- 3.0.217 Jan 2025
Release notes
Open source โ๐ Bug Fixes
- Don't await an empty timeout after every test - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7281 <samp>(ef1aa)</samp>
- expect: Fix
expect().resolves/rejectschain typings - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7273 <samp>(fa415)</samp>
View changes on GitHub
- 3.0.116 Jan 2025
Release notes
Open source โ๐ Bug Fixes
- Revert "fix: re-apply default conditions if using vite 6 or later (https://github.com/vitest-dev/vitest/issues/7071)" - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7071 and https://github.com/vitest-dev/vitest/issues/7271 <samp>(755ec)</samp>
- deps: Update all non-major dependencies - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7147 <samp>(537fa)</samp>
View changes on GitHub
- 3.0.016 Jan 2025
Release notes
Open source โVitest 3 is here! There are a few breaking changes, but we expect the migration to be smooth. This release page lists all changes made to the project during the beta. For the migration guide, please refer to the documentation.
๐จ Breaking Changes
spy.mockResetchanges - by @Lordfirespeed in https://github.com/vitest-dev/vitest/issues/6426 <samp>(db7a8)</samp>- Pass down context to test hooks - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7034 <samp>(82c2e)</samp>
- Support Vite 6 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7026 <samp>(7abe8)</samp>
- coverage: Always exclude test files - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7254 <samp>(b5268)</samp>
- deps: Update fake-timers to v14.0.0 - by @xxzefgh and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7097 <samp>(c98b4)</samp>
- expect: Check more properties for error equality - by @hi-ogawa and @sheremet-va in https://github.com/vitest-dev/vitest/issues/5876 <samp>(10023)</samp>
- runner: Support
describe(..., { shuffle: boolean })and inherit from parent suite - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6670 <samp>(aa1da)</samp> - snapshot: Reset snapshot state for
retryandrepeats- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6817 <samp>(e8ce9)</samp> - spy: SpyOn reuses mock if method is already spyed on - by @sheremet-va and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6464 <samp>(b3e43)</samp>
- vitest: Don't expose default toFake config - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6288 <samp>(e3144)</samp>
๐ Features
- Support inline
diffoptions and supportprintBasicPrototype- by @hi-ogawa, @sheremet-va and Michaล Grzegorzewski in https://github.com/vitest-dev/vitest/issues/6740 <samp>(39186)</samp> - Allow a custom note when calling
ctx.skip()dynamically - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6805 <samp>(697c3)</samp> - Allow inline workspace configuration - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6923 <samp>(562e1)</samp>
- Provide the current project to the global setup - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6942 <samp>(a5bbc)</samp>
- Print project name as a label - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6925 <samp>(a3bef)</samp>
- Print a deprecation warning if suite or test uses object as the third argument - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7031 <samp>(407f1)</samp>
- Expose versions from
vitest/nodeentry point and statically on Vitest - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7029 <samp>(be8d4)</samp> diff.printBasicPrototype: falseby default - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7043 <samp>(2b5c5)</samp>- Prepare the Vitest API to be stable - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6962 <samp>(9a1b5)</samp>
- Support Vite v6 in mocker package - by @cexbrayat in https://github.com/vitest-dev/vitest/issues/7058 <samp>(96f47)</samp>
- Allow multi-browser configuration - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6975 <samp>(78b62)</samp>
- Add resolved project names to the reporter API - by @userquin in https://github.com/vitest-dev/vitest/issues/7213 <samp>(91758)</samp>
- Introduce the new reporter API - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7069 <samp>(76662)</samp>
- Add
describe.for- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7253 <samp>(0ad28)</samp> - api:
- Add onBrowserInit event - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7255 <samp>(80ce0)</samp>
- browser:
- Support
actionTimeoutas playwright provider options - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6984 <samp>(e2c29)</samp> - Support clipboard api
userEvent.copy, cut, paste- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6769 <samp>(843a6)</samp> - Implement locator.nth() - by @xeger and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7137 <samp>(38458)</samp>
- Support
- cli:
- Support excluding projects with
--project=!pattern- by @haines in https://github.com/vitest-dev/vitest/issues/6924 <samp>(ebfe9)</samp> - Support specifying a line number when filtering tests - by @mzhubail and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6411 <samp>(4d94b)</samp>
- Support location filters for suites - by @mzhubail in https://github.com/vitest-dev/vitest/issues/7048 <samp>(751e2)</samp>
- Support excluding projects with
- coverage:
thresholdsto support maximum uncovered items - by @jonahkagan in https://github.com/vitest-dev/vitest/issues/7061 <samp>(bde98)</samp>
- expect:
- Add
toHaveBeenCalledExactlyOnceWithexpect matcher - by @jacoberdman2147 and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6894 <samp>(ff662)</samp> - Add
toHaveBeenCalledAfterandtoHaveBeenCalledBeforeutility - by @Barbapapazes and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6056 <samp>(85e6f)</samp> - Add
toSatisfyasymmetric matcher - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7022 <samp>(f691a)</samp> - Add
toBeOneOfmatcher - by @zirkelc and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6974 <samp>(3d742)</samp>
- Add
- reporter:
- Add support for function type to classname option in the junit reporter - by @jpleclerc, Jean-Philippe Leclerc and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6839 <samp>(dc238)</samp>
- reporters:
summaryoption forverboseanddefaultreporters - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6893 <samp>(511b7)</samp>
- runner:
- Test context can inject values from the config's
provide- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6813 <samp>(85c64)</samp> - Add "queued" state - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6931 <samp>(5f8d2)</samp>
- Test context can inject values from the config's
- snapshot:
- Provide
configtoresolveSnapshotPath- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6800 <samp>(746d8)</samp>
- Provide
- ui:
- Allow run individual tests/suites from the UI - by @userquin in https://github.com/vitest-dev/vitest/issues/6641 <samp>(d9cc8)</samp>
- Make clicking on a test in the UI open the report section and scroll to the test failure if applicable - by @jacoberdman2147 in https://github.com/vitest-dev/vitest/issues/6900 <samp>(1bf27)</samp>
- Allow hide/show node_modules in module graph tab - by @userquin in https://github.com/vitest-dev/vitest/issues/7217 <samp>(50cf6)</samp>
- vitest:
- Include
coverageMapin json report - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6606 <samp>(9c8f7)</samp> - Add
onTestsRerunmethod to global setup context - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6803 <samp>(e26e0)</samp>
- Include
๐ Bug Fixes
- Misc fix for vite 6 ecosystem ci - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6867 <samp>(80f8b)</samp>
- Respect
cacheDirwhen optimizer is enabled - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6910 <samp>(0b08b)</samp> - Reset runningPromise after
finallyin case there is an error to avoid it getting stuck - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6951 <samp>(02194)</samp> - Revert support for Vite 6 - by @sheremet-va <samp>(fbe5c)</samp>
- Support Node 21 - by @sheremet-va <samp>(92f7a)</samp>
- Don't use
Customtype internally - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7032 <samp>(7957f)</samp> - Persist cli filters as watch mode file filter - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6955 <samp>(cc703)</samp>
- Don't use dim color for succeeded tests - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7059 <samp>(8a6f5)</samp>
- Fix missing chai types - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7149 <samp>(6a09c)</samp>
cancelCurrentRunawaitsrunningPromise- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7168 <samp>(1dbf5)</samp>- Add Locator typings for nth, first and last. - by @xeger in https://github.com/vitest-dev/vitest/issues/7176 <samp>(d262e)</samp>
- Batch console logs by microtask - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7183 <samp>(53d1d)</samp>
- Allow
getMockImplementationto return "once" implementation - by @chaptergy in https://github.com/vitest-dev/vitest/issues/7033 <samp>(39125)</samp> capturePrintErrorlogger duplicate event handlers - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7197 <samp>(e89c3)</samp>- Allow slots in vitest-browser-vue - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7120 <samp>(2319f)</samp>
- Reset root workspace project on restart - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7238 <samp>(6e518)</samp>
- Cleanup
vitest/reportersentrypoint - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7241 <samp>(aec0b)</samp> - Colors on
forkspool - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7090 <samp>(8cab9)</samp> - Export
VitestRunnertype fromvitest/runners- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7240 <samp>(9b218)</samp> - Return test fn result to runner - by @wmertens in https://github.com/vitest-dev/vitest/issues/7239 <samp>(48645)</samp>
- Re-apply default conditions if using vite 6 or later - by @thebanjomatic, thebanjomatic and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7071 <samp>(84287)</samp>
- Prevent infinite loop on prettyDOM calls - by @tsirlucas in https://github.com/vitest-dev/vitest/issues/7250 <samp>(a3a46)</samp>
- api:
- Don't report events during
vitest list- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7257 <samp>(1c2b2)</samp>
- Don't report events during
- benchmark:
- Disable type testing while benchmarking - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7068 <samp>(4e603)</samp>
- Rewrite reporter without
log-update- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7019 <samp>(6d23f)</samp>
- browser:
- Improve source maps when
vi.mockis present - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6810 <samp>(8d179)</samp> - Explain TypeScript support in docs and add asymmetric matchers to types - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6934 <samp>(ac1a7)</samp>
- Fix matchers.d.ts - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6995 <samp>(a485b)</samp>
- Fix user event state on preview provider - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7041 <samp>(8e944)</samp>
- Fix provider options types - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7115 <samp>(579bd)</samp>
- Only use locator.element on last expect.element attempt - by @tsirlucas in https://github.com/vitest-dev/vitest/issues/7139 and https://github.com/vitest-dev/vitest/issues/7152 <samp>(847d3)</samp>
- Use correct project when filtering
entriesin the browser mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7167 <samp>(423d6)</samp> - Fix
console.timewith fake timers - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7207 <samp>(903f3)</samp> - Add instance validation to resolve coverage error - by @DevJoaoLopes and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7231 <samp>(1e791)</samp>
- Improve source maps when
- coverage:
- Exclude browser mode iframe results - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6905 <samp>(e04a1)</samp>
- Correct coverage when
isolate: falseis used - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6957 <samp>(426ce)</samp> - Prevent crash when v8 incorrectly merges static_initializer's - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7150 <samp>(cb6db)</samp>
- deps:
- Update all non-major dependencies - in https://github.com/vitest-dev/vitest/issues/7085 <samp>(8cc92)</samp>
- Update all non-major dependencies - in https://github.com/vitest-dev/vitest/issues/7116 <samp>(de5ce)</samp>
- Update dependency pathe to v2 - in https://github.com/vitest-dev/vitest/issues/7181 <samp>(74dbe)</samp>
- diff:
- Truncate to avoid crash on diff large objects - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7133 <samp>(2a9d6)</samp>
- junit:
- Fix testsuites time to be sum of all testsuite items - by @saitonakamura in https://github.com/vitest-dev/vitest/issues/6985 <samp>(ca37a)</samp>
- pretty-format:
- Support react 19 - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6909 <samp>(bd29b)</samp>
- reporters:
- Write buffered stdout/stderr on process exit - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6932 <samp>(80cde)</samp>
- Rewrite
dotreporter withoutlog-update- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6943 <samp>(be969)</samp> - Check
--hideSkippedTestsin base reporter - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6988 <samp>(721a5)</samp> - Show
retryandrepeatscounts - by @AriPerkkio and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7004 <samp>(3496a)</samp>
- runner:
- Long synchronous tasks does not time out - by @ferdodo and @sheremet-va in https://github.com/vitest-dev/vitest/issues/2920 and https://github.com/vitest-dev/vitest/issues/6944 <samp>(2fb58)</samp>
- Mark tests of
describe.todoas'todo'- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7171 <samp>(1d458)</samp>
- snapshot:
- Fix "obsolete" message on snapshot update re-run - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7129 <samp>(c2beb)</samp>
- Preserve white space of
toMatchFileSnapshot- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7156 <samp>(a437b)</samp> - Fix obsoleteness check of
toMatchSnapshot("...")- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7126 <samp>(ac9ba)</samp>
- typecheck:
- Fix typecheck collect on Vite 6 - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6972 <samp>(7b35d)</samp>
- Use unique temp and tsbuildinfo file for each tsconfig file - by @masnormen in https://github.com/vitest-dev/vitest/issues/7107 and https://github.com/vitest-dev/vitest/issues/7112 <samp>(61b30)</samp>
- Fix error test case mapping for
@ts-expect-error- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7125 <samp>(27d34)</samp>
- types:
- Make parameters non-nullable for Playwright options - by @apple-yagi in https://github.com/vitest-dev/vitest/issues/6989 <samp>(fe2a1)</samp>
- ui:
- Wrong module graph when generating html.meta.json.gz in browser mode - by @userquin in https://github.com/vitest-dev/vitest/issues/7214 <samp>(dccdd)</samp>
- Add errors and draft state (*) to the code editor - by @userquin in https://github.com/vitest-dev/vitest/issues/7044 <samp>(faca4)</samp>
- vite-node:
- Fix error stack on Windows - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6786 <samp>(bf7b3)</samp>
- Properly normalize file url import - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7087 <samp>(31675)</samp>
- Fix mandatory node prefix - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7179 <samp>(b6284)</samp>
- watch:
- Don't indicate exit when no matching files - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7246 <samp>(003c0)</samp>
- workspace:
extends: truecorrectly inherits all root config properties - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7232 <samp>(798c0)</samp>
View changes on GitHub
- 3.0.0-beta.48 Jan 2025pre-release
Release notes
Open source โ๐จ Breaking Changes
- deps: Update fake-timers to v14.0.0 - by @xxzefgh and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7097 <samp>(c98b4)</samp>
๐ Features
- browser:
- Support clipboard api
userEvent.copy, cut, paste- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6769 <samp>(843a6)</samp> - Implement locator.nth() - by @xeger and @sheremet-va in https://github.com/vitest-dev/vitest/issues/7137 <samp>(38458)</samp>
- Support clipboard api
๐ Bug Fixes
- Fix missing chai types - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7149 <samp>(6a09c)</samp>
cancelCurrentRunawaitsrunningPromise- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7168 <samp>(1dbf5)</samp>- Add Locator typings for nth, first and last. - by @xeger in https://github.com/vitest-dev/vitest/issues/7176 <samp>(d262e)</samp>
- Batch console logs by microtask - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7183 <samp>(53d1d)</samp>
- Allow
getMockImplementationto return "once" implementation - by @chaptergy in https://github.com/vitest-dev/vitest/issues/7033 <samp>(39125)</samp> - benchmark:
- Rewrite reporter without
log-update- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7019 <samp>(6d23f)</samp>
- Rewrite reporter without
- browser:
- Fix provider options types - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7115 <samp>(579bd)</samp>
- Only use locator.element on last expect.element attempt - by @tsirlucas in https://github.com/vitest-dev/vitest/issues/7139 and https://github.com/vitest-dev/vitest/issues/7152 <samp>(847d3)</samp>
- Use correct project when filtering
entriesin the browser mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7167 <samp>(423d6)</samp>
- coverage:
- Prevent crash when v8 incorrectly merges static_initializer's - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7150 <samp>(cb6db)</samp>
- deps:
- Update all non-major dependencies - in https://github.com/vitest-dev/vitest/issues/7116 <samp>(de5ce)</samp>
- Update dependency pathe to v2 - in https://github.com/vitest-dev/vitest/issues/7181 <samp>(74dbe)</samp>
- diff:
- Truncate to avoid crash on diff large objects - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7133 <samp>(2a9d6)</samp>
- runner:
- Mark tests of
describe.todoas'todo'- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7171 <samp>(1d458)</samp>
- Mark tests of
- snapshot:
- Fix "obsolete" message on snapshot update re-run - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7129 <samp>(c2beb)</samp>
- Preserve white space of
toMatchFileSnapshot- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7156 <samp>(a437b)</samp> - Fix obsoleteness check of
toMatchSnapshot("...")- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7126 <samp>(ac9ba)</samp>
- typecheck:
- Use unique temp and tsbuildinfo file for each tsconfig file - by @masnormen in https://github.com/vitest-dev/vitest/issues/7107 and https://github.com/vitest-dev/vitest/issues/7112 <samp>(61b30)</samp>
- Fix error test case mapping for
@ts-expect-error- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7125 <samp>(27d34)</samp>
- vite-node:
- Properly normalize file url import - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7087 <samp>(31675)</samp>
- Fix mandatory node prefix - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7179 <samp>(b6284)</samp>
View changes on GitHub
- 3.0.0-beta.320 Dec 2024pre-release
Release notes
Open source โ๐ Features
- Support Vite v6 in mocker package - by @cexbrayat in https://github.com/vitest-dev/vitest/issues/7058 <samp>(96f47)</samp>
- Allow multi-browser configuration - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6975 <samp>(78b62)</samp>
- coverage:
thresholdsto support maximum uncovered items - by @jonahkagan in https://github.com/vitest-dev/vitest/issues/7061 <samp>(bde98)</samp> - expect: Add
toBeOneOfmatcher - by @zirkelc and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6974 <samp>(3d742)</samp> - runner: Add "queued" state - by @sheremet-va and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6931 <samp>(5f8d2)</samp>
๐ Bug Fixes
- Don't use dim color for passed tests - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7059 <samp>(8a6f5)</samp>
- benchmark: Disable type testing while benchmarking - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/7068 <samp>(4e603)</samp>
- deps: Update all non-major dependencies - in https://github.com/vitest-dev/vitest/issues/7085 <samp>(8cc92)</samp>
View changes on GitHub
- 3.0.0-beta.210 Dec 2024pre-release
Release notes
Open source โ๐จ Breaking Changes
- expect: Check more properties for error equality - by @hi-ogawa and @sheremet-va in https://github.com/vitest-dev/vitest/issues/5876 <samp>(10023)</samp>
- spy: SpyOn reuses mock if method is already spyed on - by @sheremet-va and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6464 <samp>(b3e43)</samp>
๐ Features
- Expose versions from
vitest/nodeentry point and statically on Vitest - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7029 <samp>(be8d4)</samp> diff.printBasicPrototype: falseby default - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7043 <samp>(2b5c5)</samp>- Prepare the Vitest API to be stable - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6962 <samp>(9a1b5)</samp>
- cli: Support location filters for suites - by @mzhubail in https://github.com/vitest-dev/vitest/issues/7048 <samp>(751e2)</samp>
- expect: Add
toSatisfyasymmetric matcher - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7022 <samp>(f691a)</samp> - ui: Make clicking on a test in the UI open the report section and scroll to the test failure if applicable - by @jacoberdman2147 in https://github.com/vitest-dev/vitest/issues/6900 <samp>(1bf27)</samp>
๐ Bug Fixes
- Persist cli filters as watch mode file filter - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6955 <samp>(cc703)</samp>
- browser: Fix user event state on preview provider - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7041 <samp>(8e944)</samp>
- coverage: Correct coverage when
isolate: falseis used - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6957 <samp>(426ce)</samp> - runner: Long synchronous tasks does not time out - by @ferdodo and @sheremet-va in https://github.com/vitest-dev/vitest/issues/2920 and https://github.com/vitest-dev/vitest/issues/6944 <samp>(2fb58)</samp>
View changes on GitHub
- 3.0.0-beta.15 Dec 2024pre-release
Release notes
Open source โWe decided to skip Vitest 2.2 and release Vitest 3 with support for Vite 6 instead. There will be no more Vitest 2 versions. Vitest 3 is the first version that supports Vite 6 (excluding 2.1.6). We aim to have a stable release in January.
Vitest 3 is our first step to standardising the public Node.js API. We plan to remove the experimental tag from the current APIs in Vitest 3.1 - the API will follow semver after that.
๐จ Breaking Changes
spy.mockResetchanges - by @Lordfirespeed in https://github.com/vitest-dev/vitest/issues/6426 <samp>(db7a8)</samp>- Pass down context to test hooks - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7034 <samp>(82c2e)</samp>
- Support Vite 6 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7026 <samp>(7abe8)</samp>
- runner: Support
describe(..., { shuffle: boolean })and inherit from parent suite - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6670 <samp>(aa1da)</samp> - snapshot: Reset snapshot state for
retryandrepeats- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6817 <samp>(e8ce9)</samp> - vitest: Don't expose default toFake config - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6288 <samp>(e3144)</samp>
๐ Features
- Support inline
diffoptions and supportprintBasicPrototype- by @hi-ogawa, @sheremet-va and Michaล Grzegorzewski in https://github.com/vitest-dev/vitest/issues/6740 <samp>(39186)</samp> - Allow a custom note when calling
ctx.skip()dynamically - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6805 <samp>(697c3)</samp> - Allow inline workspace configuration - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6923 <samp>(562e1)</samp>
- Provide the current project to the global setup - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6942 <samp>(a5bbc)</samp>
- Print project name as a label - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6925 <samp>(a3bef)</samp>
- Print a deprecation warning if suite or test uses object as the third argument - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/7031 <samp>(407f1)</samp>
- browser:
- Support
actionTimeoutas playwright provider options - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6984 <samp>(e2c29)</samp>
- Support
- cli:
- Support excluding projects with
--project=!pattern- by @haines in https://github.com/vitest-dev/vitest/issues/6924 <samp>(ebfe9)</samp> - Support specifying a line number when filtering tests - by @mzhubail and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6411 <samp>(4d94b)</samp>
- Support excluding projects with
- expect:
- Add
toHaveBeenCalledExactlyOnceWithexpect matcher - by @jacoberdman2147 and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6894 <samp>(ff662)</samp> - Add
toHaveBeenCalledAfterandtoHaveBeenCalledBeforeutility - by @Barbapapazes and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6056 <samp>(85e6f)</samp>
- Add
- reporter:
- Add support for function type to classname option in the junit reporter - by @jpleclerc, Jean-Philippe Leclerc and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6839 <samp>(dc238)</samp>
- reporters:
summaryoption forverboseanddefaultreporters - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6893 <samp>(511b7)</samp>
- runner:
- Test context can inject values from the config's
provide- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6813 <samp>(85c64)</samp>
- Test context can inject values from the config's
- snapshot:
- Provide
configtoresolveSnapshotPath- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6800 <samp>(746d8)</samp>
- Provide
- ui:
- Allow run individual tests/suites from the UI - by @userquin in https://github.com/vitest-dev/vitest/issues/6641 <samp>(d9cc8)</samp>
- vitest:
- Include
coverageMapin json report - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6606 <samp>(9c8f7)</samp> - Add
onTestsRerunmethod to global setup context - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6803 <samp>(e26e0)</samp>
- Include
๐ Bug Fixes
- Misc fix for vite 6 ecosystem ci - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6867 <samp>(80f8b)</samp>
- Respect
cacheDirwhen optimizer is enabled - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6910 <samp>(0b08b)</samp> - Reset runningPromise after
finallyin case there is an error to avoid it getting stuck - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6951 <samp>(02194)</samp> - Support Node 21 - by @sheremet-va <samp>(92f7a)</samp>
- Don't use
Custominternally - by @sheremet-va <samp>(46fc5)</samp> - browser:
- Improve source maps when
vi.mockis present - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6810 <samp>(8d179)</samp> - Explain TypeScript support in docs and add asymmetric matchers to types - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6934 <samp>(ac1a7)</samp>
- Fix matchers.d.ts - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6995 <samp>(a485b)</samp>
- Improve source maps when
- coverage:
- Exclude browser mode iframe results - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6905 <samp>(e04a1)</samp>
- junit:
- Fix testsuites time to be sum of all testsuite items - by @saitonakamura in https://github.com/vitest-dev/vitest/issues/6985 <samp>(ca37a)</samp>
- pretty-format:
- Support react 19 - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6909 <samp>(bd29b)</samp>
- reporters:
- Write buffered stdout/stderr on process exit - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6932 <samp>(80cde)</samp>
- Rewrite
dotreporter withoutlog-update- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6943 <samp>(be969)</samp> - Check
--hideSkippedTestsin base reporter - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6988 <samp>(721a5)</samp> - Show
retryandrepeatscounts - by @AriPerkkio and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/7004 <samp>(3496a)</samp>
- typecheck:
- Fix typecheck collect on Vite 6 - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6972 <samp>(7b35d)</samp>
- types:
- Make parameters non-nullable for Playwright options - by @apple-yagi in https://github.com/vitest-dev/vitest/issues/6989 <samp>(fe2a1)</samp>
- vite-node:
- Fix error stack on Windows - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6786 <samp>(bf7b3)</samp>
View changes on GitHub
- 2.2.0-beta.218 Nov 2024pre-release
Release notes
Open source โ๐ Features
- reporter: Add support for function type to classname option in the junit reporter - by @jpleclerc, Jean-Philippe Leclerc and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6839 <samp>(dc238)</samp>
- reporters:
summaryoption forverboseanddefaultreporters - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6893 <samp>(511b7)</samp> - ui: Allow run individual tests/suites from the UI - by @userquin in https://github.com/vitest-dev/vitest/issues/6641 <samp>(d9cc8)</samp>
๐ Bug Fixes
- Misc fix for vite 6 ecosystem ci - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6867 <samp>(80f8b)</samp>
- Respect
cacheDirwhen optimizer is enabled - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6910 <samp>(0b08b)</samp> - coverage: Exclude browser mode iframe results - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6905 <samp>(e04a1)</samp>
- pretty-format: Support react 19 - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6909 <samp>(bd29b)</samp>
View changes on GitHub
- 2.2.0-beta.113 Nov 2024pre-release
Release notes
Open source โ๐ Features
- Support inline
diffoptions and supportprintBasicPrototype- by @hi-ogawa, @sheremet-va and Michaล Grzegorzewski in https://github.com/vitest-dev/vitest/issues/6740 <samp>(39186)</samp> - Allow a custom note when calling
ctx.skip()dynamically - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6805 <samp>(697c3)</samp> - expect:
- Add
toHaveBeenCalledExactlyOnceWithexpect matcher - by @jacoberdman2147 and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6894 <samp>(ff662)</samp> - Add
toHaveBeenCalledAfterandtoHaveBeenCalledBeforeutility - by @Barbapapazes and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6056 <samp>(85e6f)</samp>
- Add
- runner:
- Test context can inject values from the config's
provide- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6813 <samp>(85c64)</samp>
- Test context can inject values from the config's
- snapshot:
- Provide
configtoresolveSnapshotPath- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6800 <samp>(746d8)</samp>
- Provide
- vitest:
- Include
coverageMapin json report - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6606 <samp>(9c8f7)</samp> - Add
onTestsRerunmethod to global setup context - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6803 <samp>(e26e0)</samp>
- Include
๐ Bug Fixes
- browser: Improve source maps when
vi.mockis present - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6810 <samp>(8d179)</samp>
View changes on GitHub
- Support inline
- 2.1.93 Feb 2025
Release notes
Open source โThis release includes security patches for:
- Browser mode serves arbitrary files | CVE-2025-24963
- Remote Code Execution when accessing a malicious website while Vitest API server is listening | CVE-2025-24964
๐ Bug Fixes
- backport https://github.com/vitest-dev/vitest/issues/7317 to v2 - by @hi-ogawa in https://github.com/vitest-dev/vitest/pull/7318
- (backport #7340 to v2) restrict served files from
/__screenshot-error- by @hi-ogawa in https://github.com/vitest-dev/vitest/pull/7343
View changes on GitHub
- 2.1.82 Dec 2024
Release notes
Open source โ - 2.1.72 Dec 2024
Release notes
Open source โ๐ Bug Fixes
- Revert support for Vite 6 - by @sheremet-va <samp>(fbe5c)</samp>
- This introduced some breaking changes (https://github.com/vitest-dev/vitest/issues/6992). We will enable support for it later. In the meantime, you can still use
pnpm.overridesor yarn resolutions to override theviteversion in thevitestpackage - the APIs are compatible.
- This introduced some breaking changes (https://github.com/vitest-dev/vitest/issues/6992). We will enable support for it later. In the meantime, you can still use
View changes on GitHub
- Revert support for Vite 6 - by @sheremet-va <samp>(fbe5c)</samp>
- 2.1.626 Nov 2024
- 2.1.513 Nov 2024
Release notes
Open source โ๐ Bug Fixes
dangerouslyIgnoreUnhandledErrorswithout base reporter - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6808 <samp>(0bf0a)</samp>- Capture
unhandledRejectioneven when base reporter is not used - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6812 <samp>(8878b)</samp> - Don't change the working directory when loading workspace projects - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6811 <samp>(f0aea)</samp>
- Remove
sequence.concurrentfrom theRuntimeConfigtype - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6880 <samp>(6af73)</samp> - Stop the runner before restarting, restart on workspace config change - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6859 <samp>(b01df)</samp>
- Don't rerun on Esc or Ctrl-C during watch filter - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6895 <samp>(98f76)</samp>
- Print ssrTransform error - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6885 <samp>(4c96c)</samp>
- Throw an error and a warning if
.poll,.element,.rejects/.resolves, andlocator.*weren't awaited - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6877 <samp>(93b67)</samp> - browser:
- Don't process the default css styles - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6861 <samp>(0d67f)</samp>
- Support non US key input - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6873 <samp>(5969d)</samp>
- Stop the browser rpc when the pool is closed - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6858 <samp>(9a0c9)</samp>
- Init browsers eagerly when tests are running - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6876 <samp>(417bd)</samp>
- coverage:
- Report uncovered files when re-run by
enteror'a'- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6848 <samp>(487c8)</samp>
- Report uncovered files when re-run by
- ui:
- Remove crossorigin attributes for same origin assets - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6883 <samp>(6e793)</samp>
- vite-node:
- Improve esm check to decide external - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6816 <samp>(7e1fa)</samp>
- Top-level throw in module is not reported properly - by @vanaigr and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6840 <samp>(cf0cb)</samp>
- vitest:
- Use fetch() implementation from happy-dom - by @capricorn86 in https://github.com/vitest-dev/vitest/issues/6879 <samp>(3c56f)</samp>
๐ Performance
- Limit workspace project concurrency to available cores - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6869 <samp>(f4c04)</samp>
View changes on GitHub
- 2.1.428 Oct 2024
Release notes
Open source โ๐ Features
This patch release includes a non-breaking feature for the experimental Browser Mode that doesn't follow SemVer. If you want to avoid picking up releases like this, make sure to pin the Vitest version in your
package.json. See npm's documentation about semver for more information.- browser: Allow custom HTML path, respect plugins
transformIndexHtml- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6725 <samp>(16902)</samp>
๐ Bug Fixes
- windows:
- Don't normalize drive case letter in root - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6792 <samp>(b28cd)</samp>
- browser:
- Fix default browser port - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6700 <samp>(9c518)</samp>
- Optimize expect-type - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6713 <samp>(07918)</samp>
- Don't polyfill process.env - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6718 <samp>(da6d2)</samp>
- Increment browser port automatically if there are several projects with browser.enabled - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6717 <samp>(a9397)</samp>
- Cleanup keyboard state - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6731 <samp>(19278)</samp>
- Don't add
v=queries to setup files imports - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6759 <samp>(b8258)</samp> - User event cleanup on retry - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6764 <samp>(bdd15)</samp>
- Ignore non mocked msw requests - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6770 <samp>(9d9ba)</samp>
- Initiate MSW in the same frame as tests - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6772 <samp>(2444f)</samp>
- deps:
- Update dependency sirv to v3 - in https://github.com/vitest-dev/vitest/issues/6701 <samp>(fde5d)</samp>
- expect:
- Correct behavior of
toThrowErrorwith empty string parameter - by @shulaoda in https://github.com/vitest-dev/vitest/issues/6710 <samp>(a6129)</samp>
- Correct behavior of
- mocker:
- Remove spy from peer dependencies - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6777 <samp>(3a8b5)</samp>
- vitest:
- Clarify slowTestThreshold, print slow tests in non-TTY mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6715 <samp>(2e6aa)</samp>
- Print warnings form Vite plugins - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6724 <samp>(121b1)</samp>
- Don't fail if the working directory starts with a lowercase drive letter - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6779 <samp>(df6d7)</samp>
- Silence import analysis warning - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6785 <samp>(39041)</samp>
- vitest,runner:
- Simplify
test.extendtype exports - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6707 <samp>(e5c38)</samp>
- Simplify
๐ Performance
- Use
hashto replacecreateHash- by @btea in https://github.com/vitest-dev/vitest/issues/6703 <samp>(5d07b)</samp>
View changes on GitHub
- browser: Allow custom HTML path, respect plugins
- 2.1.314 Oct 2024
Release notes
Open source โ๐ Bug Fixes
- Fix error diff of
toBeNaN, toBeUndefined, toBeNull, toBeTruthy, toBeFalsy- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6697 <samp>(e0027)</samp> - browser:
- Provide aria role intellisense - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6629 <samp>(f36ea)</samp>
- Not.toBeInTheDocument works with locators API - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6634 <samp>(8bef5)</samp>
- Use
/mockServiceWorker.jsinstead of/__vitest_msw__- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6687 <samp>(4b2ce)</samp> - Don't override the esbuild option in the browser mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6692 <samp>(d131f)</samp>
- expect:
- Preserve prototype in
toMatchObjectdiff - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6620 <samp>(d289e)</samp>
- Preserve prototype in
- mocker:
- Specify correct spy dependency - by @sheremet-va <samp>(7e958)</samp>
- runner:
- Ensure sequential suite overrides sequence.concurrent - by @dsyddall and @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6653 <samp>(5e6de)</samp>
- vitest:
- Deprecate UserConfig in favor of ViteUserConfig - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6626 <samp>(496bd)</samp>
- Don't hang with maxConcurrency 0 - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6627 <samp>(946d8)</samp>
- Deprecate old task types and node-reliant types - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6632 <samp>(00045)</samp>
- Fix
<empty line>logs when interleavingconsole.log/error- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6644 <samp>(9ece3)</samp> - Show rollup error details as test error - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6686 <samp>(47dde)</samp>
- Always inline setup files - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6689 <samp>(19d64)</samp>
- Use
fast-globinstead oftinyglobbyin Vitest - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6688 <samp>(70baa)</samp>
- web-worker:
- Share mocker with main executor - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6623 <samp>(fe7b8)</samp>
๐ Performance
- Reuse full name in reported tasks, update generator types - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6666 <samp>(7a0de)</samp>
View changes on GitHub
- Fix error diff of
- 2.1.22 Oct 2024
Release notes
Open source โ๐ Bug Fixes
- Move
Vitest.setServerto postconfigureServerhook to enable import analysis for workspace config loading - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6584 <samp>(e7f35)</samp> - benchmark:
- Clear
BenchmarkResult.samplesarray to reduce memory usage - by @hi-ogawa and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6541 <samp>(a6407)</samp>
- Clear
- browser:
- Fix dynamic import inside worker - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6569 <samp>(ea2d4)</samp>
- Fix browser mock factory event race condition - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6530 <samp>(f131f)</samp>
- Serve ui assets as static - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6564 <samp>(adcda)</samp>
- Update solidjs testing library lib - by @CamilleTeruel in https://github.com/vitest-dev/vitest/issues/6548 <samp>(91442)</samp>
- Use
data:protocol on preview provider file upload - by @userquin in https://github.com/vitest-dev/vitest/issues/6501 <samp>(e9821)</samp> - Fix base for client script - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6510 <samp>(f9528)</samp>
- Throw an error if "@vitest/browser/context" is imported outside of the browser mode - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6570 <samp>(383f1)</samp>
- coverage:
- Remove empty coverage folder on test failure too - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6547 <samp>(1371c)</samp>
- Include
*.astroby default - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6565 <samp>(f8ff7)</samp> cleanOnRerun: falseto invalidate previous results - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6592 <samp>(88bde)</samp>
- expect:
- Fix
toBeDefinedwithexpect.poll- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6562 <samp>(f7da6)</samp>
- Fix
- forks:
- Fix
--cpu-profand--heap-profnot working by default - by @AriPerkkio in https://github.com/vitest-dev/vitest/pull/6555 <samp>(2e4d894)</samp>
- Fix
- runner:
- Mark tests as skipped when
beforeAllfailed - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6524 <samp>(fb797)</samp> - Support fixture parsing of lowered async syntax - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6531 <samp>(b553c)</samp>
- Fix fixture parsing of lowered async syntax for non arrow functions - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6575 <samp>(3de00)</samp>
- Guard test hook callback - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6604 <samp>(14971)</samp>
- Run
onTestFinishedandonTestFailedduringretryandrepeats- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6609 <samp>(c5e29)</samp>
- Mark tests as skipped when
- ui:
- List tests on ui when
--standalone- by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6577 <samp>(d0bf8)</samp>
- List tests on ui when
- vite-node:
- Fix esm false-detection inside comment - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6506 <samp>(91f85)</samp>
- vitest:
- Install dependencies with the same version when prompted - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6611 <samp>(ed8b7)</samp>
- Make env.SSR consistent between different pools - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6616 <samp>(8a8d3)</samp>
- Don't start a websocket server if api is disabled - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6617 <samp>(82140)</samp>
- workspace:
- Fix glob pattern detection - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6502 <samp>(7727c)</samp>
- Ignore DS_Store by default - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6571 <samp>(d2a86)</samp>
View changes on GitHub
- Move
- 2.1.113 Sept 2024
Release notes
Open source โ๐ Bug Fixes
- browser:
- Make example test callbacks async - by @aqandrew in https://github.com/vitest-dev/vitest/issues/6484 <samp>(16aa7)</samp>
- Optimize vitest-browser-vue correctly - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6490 <samp>(5cbb0)</samp>
- workspace:
- Resolve glob pattern once to avoid name collision - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6489 <samp>(36b5a)</samp>
View changes on GitHub
- browser:
- 2.1.012 Sept 2024
Release notes
Open source โThis release makes another big change to the Browser Mode by introducing locators API:
test('renders blog posts', async () => { const screen = page.render(<Blog />) await expect.element(screen.getByRole('heading', { name: 'Blog' })).toBeInTheDocument() const [firstPost] = screen.getByRole('listitem').all() await firstPost.getByRole('button', { name: 'Delete' }).click() expect(screen.getByRole('listitem').all()).toHaveLength(3) })You can use either vitest-browser-vue, vitest-browser-svelte or vitest-browser-react to render components and make assertions using locators. Locators are also available on the
pageobject from@vitest/browser/context.Potential Breaking Change
- workspace:
- Correctly resolve workspace globs and file paths - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6316 <samp>(afdcb)</samp>
- This changes how the custom glob pattern in the workspace config is treated. Any file matching the glob is considered a Vitest config file. Any folder matching the glob pattern is treated as a workspace project and is subject to the regular config resolution (single
vitest.config.tsorvite.config.tsinside the folder) - For example,
projects/*will match anything inside theprojectsfolder. If it's a folder, we try to find the config inside that folder (if there is none, it is still treated as a project with the default config). If it's a file, it will be treated as a Vitest config.projects/**/*previously would assume that you only wanted to have folders as projects, but now it will match every single file insideprojects. - This change doesn't affect non-glob usage.
๐ Features
- api:
- Make spec into a class instead of a tuple - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6355 <samp>(874a1)</samp>
- browser:
- Move page.config to server.config, add more docs - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6252 <samp>(af2b8)</samp>
- Make iframe scalable, improve documentation - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6257 <samp>(74ca1)</samp>
- Introduce built-in locators - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6084 <samp>(3347f)</samp>
- Support v8 coverage - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6273 <samp>(34199)</samp>
- Support
userEvent.uploadin playwright provider - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6442 <samp>(cf148)</samp> - Support
--inspect- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6433 <samp>(0499a)</samp> - Support
--inspect-brk- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6434 <samp>(7ab0f)</samp>
- cli:
- Extend existing list command to output only a list of file names - by @Ma-hawaj and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6392 <samp>(008f0)</samp>
- coverage:
- Add
--exclude-after-remap- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6309 <samp>(5932a)</samp>
- Add
- mocker:
- Introduce @vitest/mocker package, allow
{ spy: true }instead of a factory - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6289 <samp>(95f02)</samp>
- Introduce @vitest/mocker package, allow
- vitest:
- Add "provide" option - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6253 <samp>(4409d)</samp>
- Add return type and promisable mockFactory - by @syi0808 and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6139 <samp>(f5e0b)</samp>
- Add
vi.advanceTimersToNextFrame- by @bnjm and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6347 <samp>(8ff63)</samp> - Allow env to be stubbed to undefined - by @JSanchezIO and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6359 <samp>(c3b27)</samp>
- Migrate from
fast-globtotinyglobby- by @SuperchupuDev in https://github.com/vitest-dev/vitest/pull/6274 <samp>(c321a)</samp>
๐ Bug Fixes
- Correctly resolve nested mocks with
indexfile - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6266 <samp>(081cf)</samp> - Don't panic when coverage.reporter is a string - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6267 <samp>(7b37d)</samp>
- Align RawMatcherFn type definition with Jest - by @wheresrhys in https://github.com/vitest-dev/vitest/issues/6351 <samp>(d09f0)</samp>
- Cjs build of vite node server - by @AkaraChen in https://github.com/vitest-dev/vitest/issues/6389 <samp>(12e70)</samp>
- Allow inlining vite's cached dependencies - by @chriswheeldon-peakon in https://github.com/vitest-dev/vitest/issues/6284 <samp>(03208)</samp>
- Print unexpected error message if peer dependencies have a different version - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6446 <samp>(b992b)</samp>
- Ignore importer when resolving Vitest - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6469 <samp>(0b447)</samp>
expect.getState().testPathalways returns correct path - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6472 <samp>(ac698)</samp>- UserEvent works consistently between providers - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6480 <samp>(0b4da)</samp>
- browser:
- Print correct stack trace for unhandled errors - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6134 <samp>(1da6c)</samp>
- Use documentElement as the root for selector - by @sheremet-va <samp>(d8077)</samp>
- Keep querying elements even if locator is created with elementLocator, add pubic @vitest/browser/utils - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6296 <samp>(30dc5)</samp>
- Produce valid config file if preview provider is used - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6305 <samp>(7f0ae)</samp>
- Correctly run in-source tests in the browser - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6440 <samp>(c8531)</samp>
- Exclude missed packages from optimization, print help message - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6445 <samp>(8d883)</samp>
- Define mocker as a dependency - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6476 <samp>(9560a)</samp>
- coverage:
- Warn if
vitestand@vitest/*versions don't match - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6317 <samp>(e662c)</samp> - V8 to support source maps with multiple sources - by @AriPerkkio and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6120 <samp>(1f6cb)</samp>
- V8 to warn instead of crash when conversion fails - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6318 <samp>(91dea)</samp>
- Use project specific
vitenodefor uncovered files - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6044 <samp>(da52d)</samp>
- Warn if
- runner:
- Use
performance.nowinstead ofDate.nowfor duration - by @LuciNyan in https://github.com/vitest-dev/vitest/issues/6382 <samp>(fe489)</samp> - Async assertion auto await should timeout - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6391 <samp>(ad6e7)</samp>
- Use
- snapshot:
- Reject multiple
toMatchInlineSnapshotupdates at the same location - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6332 <samp>(1606f)</samp> - Improve inline snapshot inside loop rejection - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6339 <samp>(e0368)</samp>
- Reject multiple
- typecheck:
- Run both runtime and typecheck tests if
typecheck.includeoverlaps withinclude- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6256 <samp>(153ff)</samp>
- Run both runtime and typecheck tests if
- types:
- Allow Callbacks Passed to before*/after* to Return Anything - by @LuciNyan in https://github.com/vitest-dev/vitest/issues/6393 <samp>(f6217)</samp>
- ui:
- Remove "filters" flickering - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6463 <samp>(0223b)</samp>
- Render project name consistently - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6329 <samp>(94a18)</samp>
- vite-node:
- Disable watcher if hmr is disabled - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6251 <samp>(c51c6)</samp>
- Fix watch on vite 6 - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6422 <samp>(c3ac4)</samp>
- vitest:
- Update json reporter output - by @Emiyaaaaa in https://github.com/vitest-dev/vitest/issues/6064 <samp>(c9979)</samp>
- Add more type guards for --merge-reports - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6307 <samp>(0a5d8)</samp>
- Always resolve vitest to the root version - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6369 <samp>(163d7)</samp>
- Dispose vmForks listeners to avoid memory leak - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6448 <samp>(2673c)</samp>
View changes on GitHub
- workspace:
- 2.1.0-beta.79 Sept 2024pre-release
Release notes
Open source โ๐ Features
- browser:
- Support
userEvent.uploadin playwright provider - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6442 <samp>(cf148)</samp> - Support
--inspect- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6433 <samp>(0499a)</samp> - Support
--inspect-brk- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6434 <samp>(7ab0f)</samp>
- Support
- cli:
- Extend existing list command to output only a list of file names - by @Ma-hawaj and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6392 <samp>(008f0)</samp>
- mocker:
- Introduce @vitest/mocker package, allow
{ spy: true }instead of a factory - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6289 <samp>(95f02)</samp>
- Introduce @vitest/mocker package, allow
- vitest:
- Allow env to be stubbed to undefined - by @JSanchezIO and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6359 <samp>(c3b27)</samp>
๐ Bug Fixes
- Cjs build of vite node server - by @AkaraChen in https://github.com/vitest-dev/vitest/issues/6389 <samp>(12e70)</samp>
- Allow inlining vite's cached dependencies - by @chriswheeldon-peakon in https://github.com/vitest-dev/vitest/issues/6284 <samp>(03208)</samp>
- Print unexpected error message if peer dependencies have a different version - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6446 <samp>(b992b)</samp>
- Ignore importer when resolving Vitest - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6469 <samp>(0b447)</samp>
- browser:
- Correctly run in-source tests in the browser - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6440 <samp>(c8531)</samp>
- Exclude missed packages from optimization, print help message - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6445 <samp>(8d883)</samp>
- runner:
- Use
performance.nowinstead ofDate.nowfor duration - by @LuciNyan in https://github.com/vitest-dev/vitest/issues/6382 <samp>(fe489)</samp> - Async assertion auto await should timeout - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6391 <samp>(ad6e7)</samp>
- Use
- types:
- Allow Callbacks Passed to before*/after* to Return Anything - by @LuciNyan in https://github.com/vitest-dev/vitest/issues/6393 <samp>(f6217)</samp>
- ui:
- Remove "filters" flickering - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6463 <samp>(0223b)</samp>
- vite-node:
- Fix watch on vite 6 - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6422 <samp>(c3ac4)</samp>
- vitest:
- Dispose vmForks listeners to avoid memory leak - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6448 <samp>(2673c)</samp>
View changes on GitHub
- browser:
- 2.1.0-beta.620 Aug 2024pre-release
Release notes
Open source โ๐ Features
- api:
- Make spec into a class instead of a tuple - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6355 <samp>(874a1)</samp>
- browser:
- Support v8 coverage - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6273 <samp>(34199)</samp>
- coverage:
- Add
--exclude-after-remap- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6309 <samp>(5932a)</samp>
- Add
- vitest:
- Add return type and promisable mockFactory - by @syi0808 and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6139 <samp>(f5e0b)</samp>
- Add
vi.advanceTimersToNextFrame- by @bnjm and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6347 <samp>(8ff63)</samp>
๐ Bug Fixes
- Align RawMatcherFn type definition with Jest - by @wheresrhys in https://github.com/vitest-dev/vitest/issues/6351 <samp>(d09f0)</samp>
- coverage:
- Use project specific
vitenodefor uncovered files - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6044 <samp>(da52d)</samp>
- Use project specific
- snapshot:
- Reject multiple
toMatchInlineSnapshotupdates at the same location - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6332 <samp>(1606f)</samp> - Improve inline snapshot inside loop rejection - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6339 <samp>(e0368)</samp>
- Reject multiple
- typecheck:
- Run both runtime and typecheck tests if
typecheck.includeoverlaps withinclude- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6256 <samp>(153ff)</samp>
- Run both runtime and typecheck tests if
- vitest:
- Always resolve vitest to the root version - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6369 <samp>(163d7)</samp>
- workspace:
- Correctly resolve workspace globs and file paths - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6316 <samp>(afdcb)</samp>
View changes on GitHub
- api:
- 2.1.0-beta.512 Aug 2024pre-release
Release notes
Open source โ๐ Features
- vitest: Add "provide" option - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6253 <samp>(4409d)</samp>
- browser: Recommend using vitest-browser-vue, vitest-browser-svelte or vitest-browser-react with built-in locators instead of
@testing-library/frameworkpackages <samp>(d79511)</samp>- Using built-in locators solves several issues we encountered after the Browser Mode rewrite in Vitest 2:
- They support Shadow DOM unlike
testing-librarythat relies solely onquerySelectorandclosest - Having a single query mechanism between all frameworks and providers allows us to give users easy-to-understand examples which makes documenting it much easier
- All locators have the retry-ability mechanism built-in when using
.click/.filland otheruserEventmethods - Locators use Playwright implementation which allows us to reuse established selectors from Playwright ecosystem
๐ Bug Fixes
- browser:
- Produce valid config file if preview provider is used - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6305 <samp>(7f0ae)</samp>
- coverage:
- Warn if
vitestand@vitest/*versions don't match - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6317 <samp>(e662c)</samp> - V8 to support source maps with multiple sources - by @AriPerkkio and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6120 <samp>(1f6cb)</samp>
- V8 to warn instead of crash when conversion fails - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6318 <samp>(91dea)</samp>
- Warn if
- vitest:
- Add more type guards for --merge-reports - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6307 <samp>(0a5d8)</samp>
View changes on GitHub
- 2.1.0-beta.47 Aug 2024pre-release
Release notes
Open source โ๐ Bug Fixes
- browser: Keep querying elements even if locator is created with elementLocator, add pubic @vitest/browser/utils - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6296 <samp>(30dc5)</samp>
View changes on GitHub
- 2.1.0-beta.37 Aug 2024pre-release
Release notes
Open source โ๐ Bug Fixes
- browser: Use documentElement as the root for selector - by @sheremet-va <samp>(d8077)</samp>
View changes on GitHub
- 2.1.0-beta.27 Aug 2024pre-release
- 2.1.0-beta.17 Aug 2024pre-release
Release notes
Open source โ๐ Features
- browser:
- Move page.config to server.config, add more docs - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6252 <samp>(af2b8)</samp>
- Make iframe scalable, improve documentation - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6257 <samp>(74ca1)</samp>
- Introduce built-in locators - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6084 <samp>(3347f)</samp>
๐ Bug Fixes
- Correctly resolve nested mocks with
indexfile - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6266 <samp>(081cf)</samp> - Don't panic when coverage.reporter is a string - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6267 <samp>(7b37d)</samp>
- browser: Print correct stack trace for unhandled errors - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6134 <samp>(1da6c)</samp>
- vite-node: Disable watcher if hmr is disabled - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6251 <samp>(c51c6)</samp>
- vitest: Update json reporter output - by @Emiyaaaaa in https://github.com/vitest-dev/vitest/issues/6064 <samp>(c9979)</samp>
View changes on GitHub
- browser:
- 2.0.531 Jul 2024
Release notes
Open source โ๐ Features
- Introduce experimental reported tasks - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6149 <samp>(13d85)</samp>
- This is part of the experimental API and doesn't follow semver. We are hoping to stabilize it for 2.1. If you are working with custom reporters, give this a go!
๐ Bug Fixes
- Show a difference between string characters if both values are strings - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6191 <samp>(29176)</samp>
testNamePatternadds leading space - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6186 <samp>(073a5)</samp>- browser:
- Don't bundle
afterEachcleanup hooks in node entrypoint - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6192 <samp>(e6fbc)</samp> - UserEvent.setup initiates a separate state for userEvent instance - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6088 <samp>(883f3)</samp>
- Correctly import optimized module in vi.importActual - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6219 <samp>(804ff)</samp>
- Passing options to hover/unhover - by @MNeverOff in https://github.com/vitest-dev/vitest/issues/6175 <samp>(d4c00)</samp>
- Improve unique CSS selector generation - by @zacharyvoase and Zack Voase in https://github.com/vitest-dev/vitest/issues/6243 <samp>(e7acd)</samp>
- Don't bundle
- vitest:
- Remove nuxt from auto inline deps - by @sheremet-va <samp>(93882)</samp>
- Improve
defineProjectanddefineWorkspacetypes - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6198 <samp>(8cd82)</samp> - Correctly resolve mocked
node:*imports in__mocks__folder - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6204 <samp>(a48be)</samp>
- web-worker:
- Expose globals on self - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6170 <samp>(12bb5)</samp>
View changes on GitHub
- Introduce experimental reported tasks - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6149 <samp>(13d85)</samp>
- 2.0.422 Jul 2024
Release notes
Open source โ๐ Bug Fixes
- One-line environment options - by @hahanein in https://github.com/vitest-dev/vitest/issues/5105 <samp>(38269)</samp>
- Resolve assets imported with
require- by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6159 <samp>(807a2)</samp> - browser:
- Don't panic if @vitest/browser is installed outside of project root - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6135 <samp>(ccfcd)</samp>
- Set global filepath - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6190 <samp>(0d0b4)</samp>
- Allow preview and open in the editor screenshot error from ui - by @userquin in https://github.com/vitest-dev/vitest/issues/6113 <samp>(2d620)</samp>
- coverage:
- Global thresholds to include files from glob thresholds - by @thor-juhasz and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6172 <samp>(02e3f)</samp>
- Consistent type-only file handling - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6183 <samp>(90576)</samp>
- Ignore
*.ctsfiles - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6189 <samp>(5da45)</samp> - Add
thresholds.<glob>.100option - by @thor-juhasz and @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6174 <samp>(f6845)</samp>
- spy:
- Fix
mockImplementationfor function overload and unions - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6181 <samp>(7a75b)</samp>
- Fix
View changes on GitHub
- 2.0.315 Jul 2024
Release notes
Open source โ๐ Features
- ui: Show all suites/tests when parent matches - by @userquin in https://github.com/vitest-dev/vitest/issues/6106 <samp>(840e0)</samp>
๐ Bug Fixes
--inspect-brkstop on Windows - by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6110 <samp>(f8519)</samp>- browser:
- Don't import from "vite" - by @sheremet-va <samp>(35655)</samp>
- Allow immidiate reinvalidation of mocked dependencies - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6108 <samp>(f44cc)</samp>
- spy:
- Fix type error when assigning
vi.spyOntoMockInstanceof function overload - by @hi-ogawa in https://github.com/vitest-dev/vitest/issues/6086 <samp>(e9f9a)</samp>
- Fix type error when assigning
- vite-node:
- Remove suffix slash on file protocol for window - by @syi0808 in https://github.com/vitest-dev/vitest/issues/6109 <samp>(93ebd)</samp>
View changes on GitHub
- 2.0.210 Jul 2024
Release notes
Open source โ๐ Bug Fixes
- browser:
- Remove @vitest/runner > pretty-format from prebundling because it doesn't exist - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6075 <samp>(a169d)</samp>
- Inline pretty-format and replace picocolors with tinyrainbow - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6077 <samp>(80a43)</samp>
- Remove
crypto.randomUUIDfrom the client - by @userquin in https://github.com/vitest-dev/vitest/issues/6079 <samp>(04c83)</samp> - Correctly overwrite loupe require - by @sheremet-va <samp>(756ac)</samp>
- Dedupe @vitest/browser/client - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6081 <samp>(ee725)</samp>
- Don't release keyboard automatically - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6083 <samp>(58fac)</samp>
- ui:
- Test files notified only when running - by @userquin in https://github.com/vitest-dev/vitest/issues/6069 <samp>(af7fe)</samp>
- Encode html entities in task name - by @userquin and @sheremet-va in https://github.com/vitest-dev/vitest/issues/6070 <samp>(7f0cc)</samp>
- web-worker:
- Peer dependency version on
vitest- by @AriPerkkio in https://github.com/vitest-dev/vitest/issues/6060 <samp>(95a2d)</samp>
- Peer dependency version on
๐ Performance
- browser: Don't import msw if no modules are mocked - by @sheremet-va in https://github.com/vitest-dev/vitest/issues/6073 <samp>(aa527)</samp>
View changes on GitHub
- browser: