ℹ️ Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| vitest (source) | ^3.2.4 → ^4.1.0 |
When Vitest UI server is listening, arbitrary file can be read and executed
CVE-2026-47429 / GHSA-5xrq-8626-4rwp
More information
Details
Summary
Arbitrary file can be read on Windows when Vitest UI server is listening, especially when exposed to the network.
Impact
Only users that match either of the following conditions are affected:
- explicitly exposes the Vitest UI server to the network (using
--api.hostorapi.hostconfig option) - running the Vitest UI or Browser Mode on Windows
Details
The API handler for /__vitest_attachment__ uses the deprecated isFileServingAllowed incorrectly.
https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/ui/node/index.ts#L77
The function expects the passed value to use cleanUrl after the check before file system related operation.
Because of this, it is possible to bypass the check by \\?\\..\\. This is not possible on Linux as Linux errors if a directory named ? does not exist.
A similar problem exists in other places as well.
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/vitest/src/api/setup.ts#L103-L105
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/vitest/src/api/setup.ts#L119-L121
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/browser/src/node/commands/fs.ts#L10-L11
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/browser/src/node/plugin.ts#L194-L196
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/browser/src/node/rpc.ts#L115-L121
That said, this isFileServingAllowed check does not actually prevent the API to be abused. Since the API has rerun feature and file write feature, it's possible to run arbitrary script by writing a script as a test file using saveTestFile and running it using rerun. This means exposing the API / Vitest UI is equivalent to giving script execution access.
On the browser mode side, there're readFile / writeFile / saveSnapshotFile. So exposing the browser mode is equivalent to giving file read / write access.
PoC
- Run Vitest UI
- Get the API token by
curl http://localhost:51204/__vitest__/ - Run
curl "http://localhost:51204/__vitest_attachment__?path=C:\\path\\to\\project\\?\\..\\..\\secret.txt&contentType=text/plain&token=$TOKEN"(TOKEN is the API token) - curl shows the content of
secret.txtthat is outside the project directory
Mitigations
Vitest now ships two configuration flags, allowWrite and allowExec, that gate the privileged operations exploited by this vulnerability. Both are disabled by default whenever the API server is bound to a non-localhost host, ensuring that exposing the server to the network no longer implicitly grants write or execute capabilities to remote clients.
When these flags are disabled, the UI also enters a read-only mode: in-browser code editing and test file execution are turned off, removing the attack surface that allowed remote code execution. Many Browser Mode features are also disabled, like attachments, artifacts or snapshots. See browser.api.
Users who require the full interactive UI on a networked host must explicitly opt in by setting allowWrite and/or allowExec to true.
Severity
- CVSS Score: 9.8 / 10 (Critical)
- Vector String:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
References
- https://github.com/vitest-dev/vitest/security/advisories/GHSA-5xrq-8626-4rwp
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/browser/src/node/commands/fs.ts#L10-L11
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/browser/src/node/plugin.ts#L194-L196
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/browser/src/node/rpc.ts#L115-L121
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/ui/node/index.ts#L77
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/vitest/src/api/setup.ts#L103-L105
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/vitest/src/api/setup.ts#L119-L121
- https://github.com/advisories/GHSA-5xrq-8626-4rwp
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
vitest-dev/vitest (vitest)
v4.1.0
Vitest 4.1 is out!
This release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our blog post.
🚀 Features
- Return a disposable from doMock() - by @kirkwaiblinger in #9332 <samp>(e3e65)</samp>
- Added chai style assertions - by @ronnakamoto and @sheremet-va in #8842 <samp>(841df)</samp>
- Update to sinon/fake-timers v15 and add
setTickModeto timer controls - by @atscott and @sheremet-va in #8726 <samp>(4b480)</samp> - Expose matcher types - by @sheremet-va in #9448 <samp>(3e4b9)</samp>
- Add
toTestSpecificationto reported tasks - by @sheremet-va in #9464 <samp>(1a470)</samp> - Show a warning if
vi.mockorvi.hoistedare declared outside of top level of the module - by @sheremet-va in #9387 <samp>(5db54)</samp> - Track and display expectedly failed tests (.fails) in UI and CLI - by @Copilot, sheremet-va and @sheremet-va in #9476 <samp>(77d75)</samp>
- Support tags - by @sheremet-va in #9478 <samp>(de7c8)</samp>
- Implement
aroundEachandaroundAllhooks - by @sheremet-va in #9450 <samp>(2a8cb)</samp> - Stabilize experimental features - by @sheremet-va in #9529 <samp>(b5fd2)</samp>
- Accept
neworallin--updateflag - by @sheremet-va in #9543 <samp>(a5acf)</samp> - Support
metain test options - by @sheremet-va in #9535 <samp>(7d622)</samp> - Support type inference with a new
test.extendsyntax - by @sheremet-va in #9550 <samp>(e5385)</samp> - Support vite 8 beta, fix type issues in the config with different vite versions - by @sheremet-va in #9587 <samp>(99028)</samp>
- Add assertion helper to hide internal stack traces - by @hi-ogawa and Claude Opus 4.6 in #9594 <samp>(eeb0a)</samp>
- Store failure screenshots using artifacts API - by @macarie in #9588 <samp>(24603)</samp>
- Allow
vitest listto statically collect tests instead of running files to collect them - by @sheremet-va in #9630 <samp>(7a8e7)</samp> - Add
--detect-async-leaks- by @AriPerkkio in #9528 <samp>(c594d)</samp> - Implement
mockThrowandmockThrowOnce- by @thor-juhasz and @sheremet-va in #9512 <samp>(61917)</samp> - Support
update: "none"and add docs about snapshots behavior on CI - by @hi-ogawa in #9700 <samp>(05f18)</samp> - Support playwright
launchOptionswithconnectOptions- by @hi-ogawa in #9702 <samp>(f0ff1)</samp> - Add
page/locator.markAPI to enhance playwright trace - by @hi-ogawa in #9652 <samp>(d0ee5)</samp> - api:
- Support tests starting or ending with
testinexperimental_parseSpecification- by @jgillick and Jeremy Gillick in #9235 <samp>(2f367)</samp> - Add filters to
createSpecification- by @sheremet-va in #9336 <samp>(c8e6c)</samp> - Expose
runTestFilesas alternative torunTestSpecifications- by @sheremet-va in #9443 <samp>(43d76)</samp> - Add
allowWriteandallowExecoptions toapi- by @sheremet-va in #9350 <samp>(20e00)</samp> - Allow passing down test cases to
toTestSpecification- by @sheremet-va in #9627 <samp>(6f17d)</samp>
- Support tests starting or ending with
- browser:
- Add
userEvent.wheelAPI - by @macarie in #9188 <samp>(66080)</samp> - Add
filterNodeoption to prettyDOM for filtering browser assertion error output - by @Copilot, sheremet-va and @sheremet-va in #9475 <samp>(d3220)</samp> - Support playwright persistent context - by @hi-ogawa, Claude Opus 4.6 and @sheremet-va in #9229 <samp>(f865d)</samp>
- Added
detailsPanelPositionoption and button - by @shairez in #9525 <samp>(c8a31)</samp> - Use BlazeDiff instead of pixelmatch - by @macarie in #9514 <samp>(30936)</samp>
- Add
findElementand enable strict mode in webdriverio and preview - by @sheremet-va in #9677 <samp>(c3f37)</samp>
- Add
- cli:
- Add @bomb.sh/tab completions - by @AmirSa12 and @sheremet-va in #8639 <samp>(200f3)</samp>
- coverage:
- Support
ignore start/stopignore hints - by @AriPerkkio in #9204 <samp>(e59c9)</samp> - Add
coverage.changedoption to report only changed files - by @kykim00 and @AriPerkkio in #9521 <samp>(1d939)</samp>
- Support
- experimental:
- Add
onModuleRunnerhook toworker.init- by @sheremet-va in #9286 <samp>(e977f)</samp> - Option to disable the module runner - by @sheremet-va and @AriPerkkio in #9210 <samp>(9be61)</samp>
- Add
importDurations: { limit, print }options - by @hi-ogawa, Claude Opus 4.6 and @sheremet-va in #9401 <samp>(7e10f)</samp> - Add print and fail thresholds for
importDurations- by @hi-ogawa and Claude Opus 4.6 in #9533 <samp>(3f7a5)</samp>
- Add
- fixtures:
- Pass down file context to
beforeAll/afterAll- by @sheremet-va in #9572 <samp>(c8339)</samp>
- Pass down file context to
- reporters:
- Add
agentreporter to reduce ai agent token usage - by @cpojer in #9779 <samp>(3e9e0)</samp>
- Add
- runner:
- Enhance
retryoptions - by @MazenSamehR, Matan Shavit, @AriPerkkio and @sheremet-va in #9370 <samp>(9e4cf)</samp>
- Enhance
- ui:
- Allow run individual test/suites - by @userquin in #9465 <samp>(73b10)</samp>
- Add project filter/sort support - by @userquin in #8689 <samp>(0c7ea)</samp>
- Add duration sorting to explorer - by @julianhahn and @cursoragent in #9603 <samp>(209b1)</samp>
- Implement filter for slow tests - by @DerYeger and @userquin in #9705 <samp>(8880c)</samp>
- vitest:
- Add run summary in GitHub Actions Reporter - by @macarie and jhnance in #9579 <samp>(96bfc)</samp>
🐞 Bug Fixes
- Deprecate several vitest/* entry points - by @sheremet-va in #9347 <samp>(fd459)</samp>
- Use
meta.urlincreateRequire- by @sheremet-va in #9441 <samp>(e3422)</samp> - Preact browser mode init example of render function not async - by @WuMingDao in #9375 <samp>(2bea5)</samp>
- Deprecate unused types in matcher context - by @sheremet-va in #9449 <samp>(20f87)</samp>
- Handle
external/noExternalduringconfigEnvironmenthook - by @hi-ogawa and Claude Opus 4.6 in #9508 <samp>(59ea2)</samp> - Replace default ssr environment runner with Vitest server module runner - by @hi-ogawa and Claude Opus 4.6 in #9506 <samp>(cd5db)</samp>
- Propagate experimental CLI options to child projects - by @hi-ogawa and Claude Opus 4.6 in #9531 <samp>(b624f)</samp>
- Show a warning when
browser.isolateis used - by @sheremet-va in #9410 <samp>(3d48e)</samp> - Fix
vi.mock({ spy: true })node v8 coverage - by @hi-ogawa, hi-ogawa and Claude Opus 4.6 in #9541 <samp>(687b6)</samp> - Don't show internal ssr handler in errors - by @sheremet-va in #9547 <samp>(76c43)</samp>
- Close vitest if it failed to start - by @sheremet-va in #9573 <samp>(728ba)</samp>
- Fix ssr environment runner in project - by @hi-ogawa in #9584 <samp>(09006)</samp>
- Trim trailing white spaces in code block - by @hi-ogawa in #9591 <samp>(f78be)</samp>
- Support inline snapshot inside test.for/each - by @hi-ogawa in #9590 <samp>(615fd)</samp>
- Apply source maps for external module stack trace - by @hi-ogawa in #9152 <samp>(79e20)</samp>
- Remove the
.namefrom statically collected test - by @sheremet-va in #9596 <samp>(b66ff)</samp> - Don't suppress warnings on pnp - by @sheremet-va in #9602 <samp>(89cbd)</samp>
- Support snapshot with
expect.soft- by @iumehara, @hi-ogawa and Claude Opus 4.6 in #9231 <samp>(3eb2c)</samp> - Log seed when only
sequence.shuffle.testsis enabled - by @kaigritun, Kai Gritun and @sheremet-va in #9576 <samp>(8182b)</samp> - Externalize
expect/src/utilsfromvitest- by @hi-ogawa in #9616 <samp>(48739)</samp> - Ignore test.override during static collection - by @sheremet-va in #9620 <samp>(09174)</samp>
- Increase stacktrace limit for
--detect-async-leaks- by @AriPerkkio in #9638 <samp>(9fd4c)</samp> - Hanging-reporter link in cli - by @flx-sta in #9649 <samp>(7c103)</samp>
- Fix teardown timeout of
aroundEach/Allwhen inneraroundEach/Allthrows - by @hi-ogawa in #9657 <samp>(4ec6c)</samp> - Fix ui mode / html reporter and coverage integration - by @hi-ogawa and Claude Opus 4.6 in #9626 <samp>(86fad)</samp>
- Don't continue when
aroundEach/Allsetup timed out - by @hi-ogawa in #9670 <samp>(bb013)</samp> - Align
VitestRunnerConfigoptional fields withSerializedConfig- by @hi-ogawa in #9661 <samp>(79520)</samp> - Handle Symbol values in format utility - by @nami8824 in #9658 <samp>(0583f)</samp>
- Deprecate
toBe*spy assertions in favor oftoHaveBeen*(andtoThrowError) - by @sheremet-va in #9665 <samp>(4d390)</samp> - Don't propagate nested
aroundEach/Allerrors but aggregate them on runner - by @hi-ogawa in #9673 <samp>(b6365)</samp> - Show a better error if there is a pending dynamic import - by @sheremet-va in #9676 <samp>(7ef5c)</samp>
- Preserve stack trace of
resolves/rejectschained assertion error - by @hi-ogawa in #9679 <samp>(c6151)</samp> - Handle module-sync condition in vmThreads/vmForks require - by @lesleh in #9650 and #9651 <samp>(bb203)</samp>
- Hooks should respect
maxConcurrency- by @hi-ogawa in #9653 <samp>(16d13)</samp> - Recursively autospy module object - by @hi-ogawa in #9687 <samp>(695a8)</samp>
- Remove trailing spaces from diff error log - by @hi-ogawa and @sheremet-va in #9680 <samp>(395d1)</samp>
- Respect project
resolve.conditionsfor externals - by @hi-ogawa in #9717 <samp>(1d498)</samp> - Use object for WeakMap instead of a symbol to support webcontainers - by @sheremet-va in #9731 <samp>(c5225)</samp>
- Fix re-mocking virtual module - by @hi-ogawa in #9748 <samp>(3cbbb)</samp>
- Cancelling should stop current test immediately - by @AriPerkkio in #9729 <samp>(0cb2f)</samp>
- Make
mockObjectchange backwards compatible - by @sheremet-va in #9744 <samp>(84c69)</samp> - Fix
URL.nameon jsdom - by @hi-ogawa in #9767 <samp>(031f3)</samp> - Save and restore module graph in blob reporter - by @hi-ogawa in #9740 <samp>(84355)</samp>
- Don't silence reporter errors from test runtime events handler in normal run and --merge-reports - by @hi-ogawa in #9727 <samp>(4072d)</samp>
- Fix
vi.importActual()for virtual modules - by @hi-ogawa and Claude Opus 4.6 in #9772 <samp>(1e89e)</samp> - Throw
FixtureAccessErrorif suite hook accesses undefined fixture - by @sheremet-va in #9786 <samp>(fc2ce)</samp> - Allow hyphens in project config file name pattern - by @Koutaro-Hanabusa and @hi-ogawa in #9760 <samp>(33e96)</samp>
- Manual and redirect mock shouldn't
loadortransformoriginal module - by @hi-ogawa and Claude Opus 4.6 in #9774 <samp>(a8216)</samp> hideSkippedTestsshould not hidetest.todo- by @oilater in #9562 and #9781 <samp>(8181e)</samp>- Allow catch/finally for async assertion - by @hi-ogawa in #9827 <samp>(031f0)</samp>
- Resolve fixture overrides from test's suite in
beforeEachhooks - by @hi-ogawa and Claude Opus 4.6 in #9826 <samp>(99e52)</samp> - Use isAgent check, not just TTY, for watch mode - by @sheremet-va in #9841 <samp>(c3cac)</samp>
- Use
performance.nowto measure test timeout duration - by @hi-ogawa and Claude Opus 4.6 in #9795 <samp>(f48a6)</samp> - Correctly identify concurrent test during static analysis - by @sheremet-va in #9846 <samp>(1de0a)</samp>
- browser:
- Avoid updating screenshots when
toMatchScreenshotpasses - by @macarie in #9289 <samp>(46aab)</samp> - Hide injected data-testid attributes - by @sheremet-va in #9503 <samp>(c8d2c)</samp>
- Throw an error if iframe was reloaded - by @sheremet-va in #9516 <samp>(73a81)</samp>
- Encode projectName in browser client URL - by @dkkim0122 in #9523 <samp>(5b164)</samp>
- Don't take failure screenshot if tests have artifacts created by
toMatchScreenshot- by @macarie in #9552 <samp>(83ca0)</samp> - Remove
--remote-debugging-addressfrom chrome args - by @hi-ogawa and @AriPerkkio in #9712 <samp>(f09bb)</samp> - Make sure userEvent actions support
ensureAwaited- by @sheremet-va in #9732 <samp>(97685)</samp> - Types of
getCDPSessionandcdp()- by @AriPerkkio in #9716 <samp>(689a2)</samp> - Skip esbuild.legalComments when using rolldown-vite - by @Copilot, hi-ogawa and @hi-ogawa in #9803 <samp>(3505f)</samp>
- Avoid updating screenshots when
- chai:
- Don't allow
deepEqualin the config because it's not serializable - by @sheremet-va in #9666 <samp>(9ee99)</samp>
- Don't allow
- coverage:
- Infer transform mode for uncovered files - by @AriPerkkio in #9435 <samp>(f3967)</samp>
thresholds.autoUpdateto preserve ending whitespace - by @AriPerkkio in #9436 <samp>(7e534)</samp>
- deps:
- Update all non-major dependencies - by @hi-ogawa in #9192 <samp>(90c30)</samp>
- Update all non-major dependencies - in #9485 <samp>(c0118)</samp>
- Update all non-major dependencies - in #9567 <samp>(13c9e)</samp>
- docs:
- Fix old
/config/#optionhash links causing hydration errors - by @hi-ogawa, Claude Opus 4.6 and @sheremet-va in #9610 <samp>(a603c)</samp>
- Fix old
- expect:
toMatchObject(Map/Set)should expectMap/Seton left hand side - by @hi-ogawa and Claude Opus 4.6 in #9532 <samp>(381da)</samp>- Fix objectContaining with proxy - by @hi-ogawa and Claude Opus 4.6 in #9554 <samp>(7ce34)</samp>
- Support arbitrary value equality for
toThrowand make Error detection robust - by @hi-ogawa and Claude Opus 4.6 in #9570 <samp>(de215)</samp>
- mock:
- Inject helpers after hashbang if present - by @sheremet-va in #9545 <samp>(65432)</samp>
- mocker:
- Update vite's peer dependency range - by @sheremet-va in #9808 <samp>(36f9a)</samp>
- reporter:
dotreporter leaves pending tests - by @AriPerkkio in #9684 <samp>(4d793)</samp>
- runner:
- Mark repeated tests as finished on last run - by @AriPerkkio in #9707 <samp>(cc735)</samp>
- spy:
- Support deep partial in vi.mocked - by @j2h30728 in #8152 and #9493 <samp>(71cb5)</samp>
- Fallback to object accessor if descriptor's value is
undefined- by @sheremet-va in #9511 <samp>(6f181)</samp> - Throw correct errors when shorthand methods are used on a class - by @sheremet-va in #9513 <samp>(5d0fd)</samp>
- types:
bench.reportersno longer gives type errors when passing file name string paths - by @Bertie690 in #9695 <samp>(093c8)</samp>
- ui:
- Process artifact attachments when generating HTML reporter - by @macarie in #9472 <samp>(96eb9)</samp>
- Don't fail if --ui and --root are specified together - by @sheremet-va in #9536 <samp>(d9305)</samp>
🏎 Performance
- pretty-format: Combine DOMElement plugins - by @sheremet-va in #9581 <samp>(da85a)</samp>
View changes on GitHub
v4.0.18
🚀 Experimental Features
- experimental: Add
onModuleRunnerhook toworker.init- by @sheremet-va in #9286 <samp>(ea837)</samp>
🐞 Bug Fixes
- Use
meta.urlincreateRequire- by @sheremet-va in #9441 <samp>(e0572)</samp> - browser: Hide injected data-testid attributes - by @sheremet-va in #9503 <samp>(f8989)</samp>
- ui: Process artifact attachments when generating HTML reporter - by @macarie in #9472 <samp>(22543)</samp>
View changes on GitHub
v4.0.17
🚀 Features
- Support openTelemetry for browser mode - by @hi-ogawa in #9180 <samp>(1ec3a)</samp>
- Support TRACEPARENT and TRACESTATE environment variables for OpenTelemetry context propagation - by @Copilot, hi-ogawa and @hi-ogawa in #9295 <samp>(876cb)</samp>
🐞 Bug Fixes
- Improve asymmetric matcher diff readability by unwrapping container matchers - by @Copilot, sheremet-va, hi-ogawa and @hi-ogawa in #9330 <samp>(b2ec7)</samp>
- Improve runner error when importing outside of test context - by @sheremet-va in #9335 <samp>(2dd3d)</samp>
- Replace crypto.randomUUID to allow insecure environments (fix #9… - by @plusgut in #9339 and #9 <samp>(e6a3f)</samp>
- Handle null options in
addEventHandler#9371 - by @ThibautMarechal in #9372 and #9371 <samp>(40841)</samp> - Typo in browser.provider error - by @deammer in #9394 <samp>(4b67f)</samp>
- browser:
- Fix
process.envandimport.meta.envdefines in inline project - by @hi-ogawa in #9239 <samp>(b70c9)</samp> - Fix upload File instance - by @hi-ogawa in #9294 <samp>(b6778)</samp>
- Fix invalid project token for artifacts assets - by @hi-ogawa in #9321 <samp>(caa7d)</samp>
- Log
ErrorEvent.messagewhen unhandledErrorEvent.erroris null - by @hi-ogawa in #9322 <samp>(5d84e)</samp> - Support
fileParallelismon an instance - by @sheremet-va in #9328 <samp>(15006)</samp>
- Fix
- coverage:
- Remove unnecessary
istanbul-lib-source-mapsusage - by @AriPerkkio in #9344 <samp>(b0940)</samp> - Apply patch from istanbuljs/istanbuljs#837 - by @AriPerkkio and sapphi-red in #9413 and #837 <samp>(e05ce)</samp>
- Remove unnecessary
- fsModuleCache:
- Don't store importers in cache - by @sheremet-va in #9422 <samp>(75136)</samp>
- Add importers alongside importedModules - by @sheremet-va in #9423 <samp>(59f92)</samp>
- mocker:
- Fix mock transform with class - by @hi-ogawa in #9421 <samp>(d390e)</samp>
- pool:
- Validate environment options when reusing the worker - by @sheremet-va in #9349 <samp>(a8a88)</samp>
- Handle worker start failures gracefully - by @AriPerkkio in #9337 <samp>(200da)</samp>
- reporter:
- Report test module if it failed to run - by @sheremet-va in #9272 <samp>(c7888)</samp>
- runner:
- Respect nested test.only within describe.only - by @Ujjwaljain16 in #9021 and #9213 <samp>(55d5d)</samp>
- typecheck:
- Improve error message when tsc outputs help text - by @Ujjwaljain16 in #9214 <samp>(7b10a)</samp>
- ui:
- Detect gzip by magic numbers instead of Content-Type header in html reporter - by @Copilot, hi-ogawa and @hi-ogawa in #9278 <samp>(dd033)</samp>
- webdriverio:
- Fall back to WebDriver Classic #9244 - by @JustasMonkev in #9373 and #9244 <samp>(c23dd)</samp>
View changes on GitHub
v4.0.16
🐞 Bug Fixes
- Fix browser mode default testTimeout back to 15 seconds - by @hi-ogawa in #9167 <samp>(da0ad)</samp>
- Avoi
✂ Note
PR body was truncated to here.
Configuration
📅 Schedule: (UTC)
- Branch creation
- ""
- Automerge
- At any time (no schedule defined)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.