Skip to content

release: v1.2.0 - #3029

Merged
fengmk2 merged 4 commits into
mainfrom
release/v1.2.0
Oct 14, 2026
Merged

fengmk2 merged 4 commits into
mainfrom
release/v1.2.0

Conversation

@voidzero-guard

@voidzero-guard voidzero-guard Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Vite+ 1.2 supports authenticated private npm registries and shows a new vp run summary that counts cache hits among cache-enabled tasks and reports successful tasks. It also verifies installer downloads, shows download progress in vp upgrade, and fixes task cache misses in pnpm projects and PowerShell exit status.

Highlights

  • Support authenticated private npm registries (#2624), by @RSS1102.
  • The vp run summary now reads like 3/4 cache hit (75%), 9/10 successful, 2s saved.: the cache hit rate leaves out tasks with caching disabled, and the count of successful tasks replaces the count of failed tasks (vite-task#821), by @wan9chi.

Features

  • The install.sh and install.ps1 installers check each downloaded platform archive against the registry's SHA-512 dist.integrity before extracting it, and stop when the digest is missing or does not match (#2949), by @fengmk2.
  • vp upgrade shows a progress bar while it downloads the new platform package, instead of looking frozen on slow connections (#2968), by @kshanxs.
  • When a task is not cached because it wrote a file it also read, the summary says it modified its inputs, and vp run --last-details shows the cache: { input, output } exclusions that let it be cached. Detailed summaries show each cause of an error on its own line, and an invalid --filter glob reports its error once (vite-task#783, vite-task#784, vite-task#761, vite-task#763), by @wan9chi.
  • The task runner can be built without file-access tracking on additional platforms. Tasks on those platforms must configure both input and output explicitly to be cached (vite-task#829), by @mfechner.
  • Upgrade the bundled tools (#2935, #2977, #2998, #3021, #3039), by @voidzero-guard[bot] and @fengmk2:
    • vite@8.3.3 to vite@8.3.4.
    • rolldown@1.2.12 to rolldown@1.2.13.
    • tsdown@0.23.0 to tsdown@0.23.1.
    • vitest@5.0.3 to vitest@5.0.4. Vitest now turns on its on-disk caches by default, and vp test tasks run through vp run stay cacheable with them.
    • oxlint@1.87.0 to oxlint@1.88.0 and oxfmt@0.72.0 to oxfmt@0.73.0. Oxfmt now also formats TOML in Markdown code blocks and frontmatter. The new lint and format versions can flag code that passed before, so run vp fmt after upgrading if CI runs vp check.
    • vp migrate keeps Prettier and continues the rest of the migration when the Prettier config uses a format the bundled Oxfmt cannot read, such as .prettierrc.yml.
    • oxlint-tsgolint@7.0.2003 to oxlint-tsgolint@7.0.2004. Line disable comments apply to type-aware diagnostics again (tsgolint#1271), so disable comments moved to the } as T line for v1.1.0 need to move back above the statement.
    • Projects that use @effect/tsgo should stay on v1.1.0 for now. The latest @effect/tsgo@0.52.0 supports oxlint-tsgolint@7.0.2004 but not oxlint@1.88.0, so its install-time patch step fails until @effect/tsgo adds support.

Fixes & Enhancements

  • Reinstalling dependencies with pnpm, or installing them at another path, no longer causes task cache misses, and tasks that run pnpm run or pnpm exec no longer miss the cache after pnpm rechecks dependencies (vite-task#823, vite-task#824, vite-task#825), by @wan9chi.
  • On macOS, tasks with automatic file-access tracking can run Node.js single executable applications, such as pnpm 11's standalone binary, and deno compile outputs (vite-task#840), by @wan9chi.
  • Cached tasks can run scripts whose shebang names an interpreter path longer than 126 bytes (vite-task#788), by @lifeiscontent.
  • When a cache hit's outputs cannot be restored, vp run fails with an error suggesting vp cache clean instead of reporting a successful cache hit (vite-task#770), by @wan9chi.
  • vp run no longer stops every task when concurrent tasks write to a full output pipe, such as a CI log collector (vite-task#801), by @naokihaba.
  • On Linux, tasks with automatic file-access tracking start faster (vite-task#817), by @wan9chi.
  • In PowerShell, a failing vp command sets $? to False and stops && chains, as calling vp.exe directly does (#2947), by @fengmk2.
  • The Windows installer works when the PowerShell profile enables Set-StrictMode, and leaves the caller's strict mode unchanged (#3005), by @fengmk2.
  • Sourcing the Vite+ env script in POSIX shells is much faster with a long PATH, for example from 1.5 s to 6 ms in dash with 147 entries (#2905), by @jonykru.
  • Node.js version ranges from .node-version, engines.node, and devEngines.runtime, and package-manager version ranges, follow npm's semver rules (#2835), by @ryuapp.
  • vp migrate adds the tsdown <0.23 compatibility settings (deps.resolveDepSubpath and attw.profile) only for projects on an older tsdown, so upgrades from Vite+ 1.x or tsdown@0.23.0 and later keep the modern defaults (#2910), by @fengmk2.
  • vp create vite:generator keeps the description prompt visible instead of drawing the spinner over it, uses concrete version ranges for dependencies missing from the workspace catalog, adds rootDir: "src" to the generated tsconfig.json, and scaffolds generators on bingo@0.13.2 with Zod 4 option schemas (#2940, #2996, #1831), by @jong-kyung, @fengmk2, and @renovate[bot].
  • vp create stops processing an organization template archive that expands past fixed size, compression ratio, or entry count limits (#2950), by @fengmk2.
  • vp config skips Git config writes that change nothing, so concurrent runs across linked worktrees no longer fail with could not lock config file after the first setup (#2958), by @naokihaba.
  • Git hooks no longer append the legacy $VP_HOME/bin or ~/.vite-plus/bin directory to PATH. They use the inherited environment with the project's node_modules/.bin first, so projects without a local vite-plus dependency need the Vite+ bin directory on the Git client's PATH (#2930), by @liangmiQwQ.
  • Concurrent commands that need the same uninstalled Node.js version download it once; the others wait and reuse the installation (#3024), by @fengmk2.
  • @voidzero-dev/vite-plus-core declares the same postcss, optional fsevents, and Yuku parser ranges as the bundled Vite and tsdown, and @oxlint/plugins matches the bundled oxlint (#2921), by @fengmk2.
  • vp pack --help lists both default env prefixes, VITE_PACK_ and TSDOWN_ (#3002), by @jong-kyung.
  • Prompts and status lines use one space after status symbols (#2928), by @cpojer.

Docs

  • Document shell completion, the global -C flag, the split directory layout, automatic update checks and how to opt out, package manager subcommands, and vp env doctor diagnostic scopes (#2972, #2956, #2973, #2960, #2975, #2982), by @jong-kyung.
  • Clarify how vp exec and vpx resolve commands, how vp test selects its runner, how vp config treats existing Git hooks, what vp check needs for type checking, and how global CLI environment variables behave (#2957, #2979, #2962, #2978, #2916, #2919), by @jong-kyung.
  • Correct migration prerequisites, minimum versions, and upgrade order, clarify tsup migration and staged configuration, fix local CLI installation without a global vp, and state the version requirements of vp env uninstall (#2990, #2923, #2944, #3004, #2946), by @jong-kyung.
  • Rename the install guide to Package Management, clarify package-management command compatibility, and align the create, run, and staged guides with CLI behavior and Vite Task defaults (#2929, #2925, #2939, #2941, #2908), by @jong-kyung.
  • Explain task cache behavior and how Vite build outputs are cached (#2963, #2942), by @yusuke99 and @jong-kyung.
  • Correct the baseUrl and editor setup guidance in troubleshooting, and clarify JetBrains IDE support (#2943, #3001), by @jong-kyung.
  • Note that lazyPlugins does not defer local module imports (#2967), by @kshanxs.
  • Align inline comments in code examples (#2927), by @yusuke99.

Chore

  • Bump vite-task to 9ba4cc9; its user-facing changes are listed above (#3019), by @wan9chi.
  • Speed up CI by removing platform waits, reusing native test binaries and dependency caches, skipping slow pnpm cache restores on macOS and Windows, and installing prebuilt cargo-zigbuild (#2961, #3023, #3015, #3010), by @fengmk2.
  • Run CI bootstrap scripts without unpinned tsx, isolate upstream CLI help capture from workspace overrides, and update security-action to v1.0.10 (#2948, #2976, #3022), by @fengmk2.
  • Cache the docs build with the Vite Task remote cache (#2926, #2951), by @wan9chi.
  • Add a Nix flake for the contributor development environment (#2874, #2974), by @myuron and @fengmk2.
  • Stabilize the CLI help wrapping and browser snapshot tests (#2952, #3006), by @myuron and @fengmk2.
  • Exclude upstream-managed dependencies from Renovate (#2918), by @fengmk2.
  • Refine the release-manager guidance (#2917), by @fengmk2.

Bundled Versions

Tool Version Source Changelog
vite 8.3.4 b6c20f6 8.3.4
rolldown 1.2.13 f7de35f 1.2.13
tsdown 0.23.1 npm 0.23.1
vitest 5.0.4 npm 5.0.4
oxlint 1.88.0 npm 1.88.0
oxlint-tsgolint 7.0.2004 npm 7.0.2004
oxfmt 0.73.0 npm 0.73.0

Upgrade

vp upgrade

New Contributors

@ryuapp @jonykru @myuron @kshanxs @mfechner

Full Changelog: v1.1.0...v1.2.0


Merging this PR will trigger the release workflow.

fengmk2 and others added 2 commits October 13, 2026 21:41
NAPI bakes the package.json version into binding/index.cjs version
checks. The prepare_release workflow bumps package.json but does not
regenerate this file, so the CI build's regeneration step produces a
diff that the post-build no-unexpected-changes guard rejects.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Update the migration guide and the setup, migration, and upgrade
prompts to pin the 1.2.0 release in their package-manager commands.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

✅ Staging deployment successful!

Preview: https://viteplus-staging.void.app/
Commit: 3b99001

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://release-v1-2-0-viteplus-dev.voidzero-docs.workers.dev (commit 3b99001)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://543469f8-viteplus-dev.voidzero-docs.workers.dev 3b99001 2026-10-14T03:19:12.524Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://d4031ea9-viteplus-dev.voidzero-docs.workers.dev 824e84d 2026-10-13T13:42:48.455Z Visit the dashboard ↗

@fengmk2 fengmk2 changed the title release: v1.2.0 release: v1.2.0: authenticated private registries and verified installer downloads Oct 13, 2026
@fengmk2 fengmk2 added the preview-build Publish this PR's commits to the registry bridge as preview builds label Oct 13, 2026
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

CLI artifact sizes (3b99001)

Final release artifacts built by the canonical build-upstream and build-windows-cli actions.
The dist rows use the Linux build. The core total excludes .node files to match the release artifact.

Artifact Format Base PR Change
packages/cli/dist Directory total 2.21 MiB 2.21 MiB 0 B (0.00%)
packages/core/dist Directory total 4.08 MiB 4.08 MiB 0 B (0.00%)
Combined package dist Directory total 6.29 MiB 6.29 MiB 0 B (0.00%)
vp (Linux x64) Binary 11.42 MiB 11.42 MiB 0 B (0.00%)
vp (Linux x64) gzip -9 4.93 MiB 4.94 MiB +802 B (+0.02%)
NAPI (Linux x64) Binary 33.69 MiB 33.69 MiB 0 B (0.00%)
NAPI (Linux x64) gzip -9 13.41 MiB 13.41 MiB -574 B (-0.00%)
vp (macOS ARM64) Binary 8.50 MiB 8.50 MiB 0 B (0.00%)
vp (macOS ARM64) gzip -9 4.31 MiB 4.31 MiB +3 B (+0.00%)
NAPI (macOS ARM64) Binary 40.96 MiB 40.96 MiB 0 B (0.00%)
NAPI (macOS ARM64) gzip -9 17.64 MiB 17.64 MiB +2 B (+0.00%)
vp (Windows x64) Binary 9.29 MiB 9.29 MiB 0 B (0.00%)
vp (Windows x64) gzip -9 4.05 MiB 4.05 MiB +96 B (+0.00%)
NAPI (Windows x64) Binary 29.53 MiB 29.53 MiB 0 B (0.00%)
NAPI (Windows x64) gzip -9 12.03 MiB 12.03 MiB +230 B (+0.00%)
Trampoline (Windows x64) Binary 13.50 KiB 13.50 KiB 0 B (0.00%)
Trampoline (Windows x64) gzip -9 7.08 KiB 7.08 KiB +1 B (+0.01%)
Installer (Windows x64) Binary 4.63 MiB 4.63 MiB 0 B (0.00%)
Installer (Windows x64) gzip -9 2.17 MiB 2.17 MiB -1 B (-0.00%)

@fengmk2 fengmk2 changed the title release: v1.2.0: authenticated private registries and verified installer downloads release: v1.2.0: authenticated private npm registries and a redesigned vp run summary Oct 13, 2026
@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Registry bridge build (3b99001)

This commit build is published to the registry bridge, which serves these as ordinary npm versions (every other package proxies to npmjs):

Package Version
vite-plus 0.0.0-commit.3b99001a24f162be6a4478c3b97f3d0eb81c96c8
@voidzero-dev/vite-plus-core 0.0.0-commit.3b99001a24f162be6a4478c3b97f3d0eb81c96c8

Install the Vite+ CLI built from this commit, then migrate a project:

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/voidzero-dev/vite-plus/3b99001a24f162be6a4478c3b97f3d0eb81c96c8/packages/cli/install.sh | VP_PR_VERSION=3029 VP_LEGACY_INSTALLER_URL=https://raw.githubusercontent.com/voidzero-dev/vite-plus/3b99001a24f162be6a4478c3b97f3d0eb81c96c8/packages/cli/install-legacy.sh bash
# Windows (PowerShell)
$env:VP_PR_VERSION="3029"; $env:VP_LEGACY_INSTALLER_URL="https://raw.githubusercontent.com/voidzero-dev/vite-plus/3b99001a24f162be6a4478c3b97f3d0eb81c96c8/packages/cli/install-legacy.ps1"; irm https://raw.githubusercontent.com/voidzero-dev/vite-plus/3b99001a24f162be6a4478c3b97f3d0eb81c96c8/packages/cli/install.ps1 | iex

Or download the standalone Windows installer built from this commit:

Architecture Installer
x64 vp-setup-x86_64-pc-windows-msvc.exe
Arm64 vp-setup-aarch64-pc-windows-msvc.exe

GitHub requires you to sign in and downloads each installer as a ZIP artifact. Extract vp-setup.exe, then run it against this preview build:

.\vp-setup.exe --version "0.0.0-commit.3b99001a24f162be6a4478c3b97f3d0eb81c96c8" --registry "https://registry-bridge.viteplus.dev/"

After installing, upgrade the current project's vite-plus to this test build with:

vp migrate

Or point your package manager at the bridge registry https://registry-bridge.viteplus.dev/:

Package manager Registry config
npm / pnpm / Bun .npmrc: registry=https://registry-bridge.viteplus.dev/
Yarn (v2+) .yarnrc.yml: npmRegistryServer: "https://registry-bridge.viteplus.dev/"

Then pin the build (vite aliases to vite-plus-core; pnpm can use a catalog, npm an overrides entry):

{
  "devDependencies": {
    "vite-plus": "0.0.0-commit.3b99001a24f162be6a4478c3b97f3d0eb81c96c8",
    "vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.3b99001a24f162be6a4478c3b97f3d0eb81c96c8"
  }
}

@github-actions

Copy link
Copy Markdown
Contributor

🐳 Docker preview image

Built from this PR's registry bridge build:

Image Compressed size
ghcr.io/voidzero-dev/vite-plus:pr-3029 226MB
# remove any stale local copy from a previous run, then pull fresh
docker rmi ghcr.io/voidzero-dev/vite-plus:pr-3029 2>/dev/null; docker pull ghcr.io/voidzero-dev/vite-plus:pr-3029

Quick check:

docker run --rm ghcr.io/voidzero-dev/vite-plus:pr-3029 vp --version

See docs/guide/docker.md for usage.

@fengmk2 fengmk2 changed the title release: v1.2.0: authenticated private npm registries and a redesigned vp run summary release: v1.2.0 Oct 13, 2026
@fengmk2 fengmk2 added test: e2e Auto run e2e tests test: install-e2e run vite install e2e test test: create-e2e Run `vp create` e2e tests labels Oct 13, 2026
@fengmk2

fengmk2 commented Oct 13, 2026

Copy link
Copy Markdown
Member

security analysis fail will be fixed in rolldown/rolldown#11197

@SegaraRai

Copy link
Copy Markdown

Would it be possible to include oxfmt 0.73.0 in the upcoming 1.2.0 release? It adds opt-in Astro formatting support (oxc-project/oxc#27386), and I’d like to use vp fmt for .astro files as well. If the usual compatibility checks pass, I’d really appreciate including it. Updating oxlint to 1.88.0 alongside it would also be welcome.

@fengmk2

fengmk2 commented Oct 13, 2026

Copy link
Copy Markdown
Member

@SegaraRai Let me try.

@fengmk2 fengmk2 added preview-build Publish this PR's commits to the registry bridge as preview builds and removed preview-build Publish this PR's commits to the registry bridge as preview builds labels Oct 14, 2026
@fengmk2
fengmk2 merged commit 8828720 into main Oct 14, 2026
215 of 245 checks passed
@fengmk2
fengmk2 deleted the release/v1.2.0 branch October 14, 2026 08:41
fengmk2 added a commit that referenced this pull request Nov 12, 2026
> [!NOTE]
> This PR body was truncated due to platform limits.

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Adoption](https://docs.renovatebot.com/merge-confidence/) |
[Passing](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [@ast-grep/napi](https://ast-grep.github.io)
([source](https://redirect.github.com/ast-grep/ast-grep)) | [`0.51.0` →
`0.51.1`](https://renovatebot.com/diffs/npm/@ast-grep%2fnapi/0.51.0/0.51.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@ast-grep%2fnapi/0.51.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@ast-grep%2fnapi/0.51.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@ast-grep%2fnapi/0.51.0/0.51.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@ast-grep%2fnapi/0.51.0/0.51.1?slim=true)
|
| [@iconify/vue](https://iconify.design/)
([source](https://redirect.github.com/iconify/iconify/tree/HEAD/components/vue))
| [`5.0.1` →
`5.0.5`](https://renovatebot.com/diffs/npm/@iconify%2fvue/5.0.1/5.0.5) |
![age](https://developer.mend.io/api/mc/badges/age/npm/@iconify%2fvue/5.0.5?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@iconify%2fvue/5.0.5?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@iconify%2fvue/5.0.1/5.0.5?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@iconify%2fvue/5.0.1/5.0.5?slim=true)
|
|
[@nkzw/safe-word-list](https://redirect.github.com/nkzw-tech/safe-word-list)
| [`3.1.0` →
`3.1.2`](https://renovatebot.com/diffs/npm/@nkzw%2fsafe-word-list/3.1.0/3.1.2)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@nkzw%2fsafe-word-list/3.1.2?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@nkzw%2fsafe-word-list/3.1.2?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@nkzw%2fsafe-word-list/3.1.0/3.1.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nkzw%2fsafe-word-list/3.1.0/3.1.2?slim=true)
|
| [bingo](https://create.bingo)
([source](https://redirect.github.com/bingo-js/bingo/tree/HEAD/packages/bingo))
| [`^0.13.2` →
`^0.16.0`](https://renovatebot.com/diffs/npm/bingo/0.13.2/0.16.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/bingo/0.16.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bingo/0.16.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bingo/0.13.2/0.16.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bingo/0.13.2/0.16.0?slim=true)
|
|
[es-module-lexer](https://redirect.github.com/guybedford/es-module-lexer)
| [`3.0.3` →
`3.0.4`](https://renovatebot.com/diffs/npm/es-module-lexer/3.0.3/3.0.4)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/es-module-lexer/3.0.4?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/es-module-lexer/3.0.4?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/es-module-lexer/3.0.3/3.0.4?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/es-module-lexer/3.0.3/3.0.4?slim=true)
|
| [fast-wrap-ansi](https://redirect.github.com/43081j/fast-wrap-ansi) |
[`0.2.0` →
`0.2.2`](https://renovatebot.com/diffs/npm/fast-wrap-ansi/0.2.0/0.2.2) |
![age](https://developer.mend.io/api/mc/badges/age/npm/fast-wrap-ansi/0.2.2?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/fast-wrap-ansi/0.2.2?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/fast-wrap-ansi/0.2.0/0.2.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fast-wrap-ansi/0.2.0/0.2.2?slim=true)
|
| [mermaid](https://redirect.github.com/mermaid-js/mermaid) | [`12.2.0`
→ `12.3.0`](https://renovatebot.com/diffs/npm/mermaid/12.2.0/12.3.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/mermaid/12.3.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mermaid/12.3.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mermaid/12.2.0/12.3.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mermaid/12.2.0/12.3.0?slim=true)
|
| [playwright](https://playwright.dev)
([source](https://redirect.github.com/microsoft/playwright)) | [`1.62.1`
→ `1.65.0`](https://renovatebot.com/diffs/npm/playwright/1.62.1/1.65.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.65.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.65.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.62.1/1.65.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.62.1/1.65.0?slim=true)
|
| [reka-ui](https://redirect.github.com/unovue/reka-ui) | [`2.9.9` →
`2.11.0`](https://renovatebot.com/diffs/npm/reka-ui/2.9.9/2.11.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/reka-ui/2.11.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/reka-ui/2.11.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/reka-ui/2.9.9/2.11.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/reka-ui/2.9.9/2.11.0?slim=true)
|
| [tailwindcss](https://tailwindcss.com)
([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss))
| [`4.3.0` →
`4.3.5`](https://renovatebot.com/diffs/npm/tailwindcss/4.3.0/4.3.5) |
![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/4.3.5?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/4.3.5?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/4.3.0/4.3.5?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/4.3.0/4.3.5?slim=true)
|
|
[vitepress-plugin-group-icons](https://redirect.github.com/yuyinws/vitepress-plugin-group-icons)
| [`1.7.5` →
`1.8.1`](https://renovatebot.com/diffs/npm/vitepress-plugin-group-icons/1.7.5/1.8.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/vitepress-plugin-group-icons/1.8.1?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitepress-plugin-group-icons/1.8.1?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitepress-plugin-group-icons/1.7.5/1.8.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitepress-plugin-group-icons/1.7.5/1.8.1?slim=true)
|
|
[vitepress-plugin-llms](https://redirect.github.com/okineadev/vitepress-plugin-llms)
| [`1.13.1` →
`1.14.0`](https://renovatebot.com/diffs/npm/vitepress-plugin-llms/1.13.1/1.14.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/vitepress-plugin-llms/1.14.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitepress-plugin-llms/1.14.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitepress-plugin-llms/1.13.1/1.14.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitepress-plugin-llms/1.13.1/1.14.0?slim=true)
|
| [vue](https://vuejs.org/)
([source](https://redirect.github.com/vuejs/core)) | [`3.5.35` →
`3.5.45`](https://renovatebot.com/diffs/npm/vue/3.5.35/3.5.45) |
![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.5.45?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.5.45?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.5.35/3.5.45?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.5.35/3.5.45?slim=true)
|
| [wrangler](https://redirect.github.com/cloudflare/workers-sdk)
([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler))
| [`4.127.1` →
`4.158.0`](https://renovatebot.com/diffs/npm/wrangler/4.127.1/4.158.0) |
![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/4.158.0?slim=true)
|
![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/wrangler/4.158.0?slim=true)
|
![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/wrangler/4.127.1/4.158.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/4.127.1/4.158.0?slim=true)
|

---

### Release Notes

<details>
<summary>ast-grep/ast-grep (@&#8203;ast-grep/napi)</summary>

###
[`v0.51.1`](https://redirect.github.com/ast-grep/ast-grep/blob/HEAD/CHANGELOG.md#0511)

[Compare
Source](https://redirect.github.com/ast-grep/ast-grep/compare/0.51.0...0.51.1)

> 2 November 2026

- fix(cli): report skipped files and reason in --inspect entity
[`#3044`](https://redirect.github.com/ast-grep/ast-grep/pull/3044)
- chore(deps): update rust crate tree-sitter-scala to v0.26.4
[`#3054`](https://redirect.github.com/ast-grep/ast-grep/pull/3054)
- fix(dynamic): only replace metavariable sigils with the expando char
[`#3052`](https://redirect.github.com/ast-grep/ast-grep/pull/3052)
- fix(core): keep $ followed by a digit literal in fix templates
[`#3045`](https://redirect.github.com/ast-grep/ast-grep/pull/3045)
- fix(deps): update rust-wasm-bindgen monorepo
[`#3046`](https://redirect.github.com/ast-grep/ast-grep/pull/3046)
- Fix macOS universal2 wheel matching
[`#3050`](https://redirect.github.com/ast-grep/ast-grep/pull/3050)
- chore(deps): update rust crate napi-derive to v3.7.0
[`#3049`](https://redirect.github.com/ast-grep/ast-grep/pull/3049)
- chore(deps): update rust crate napi to v3.16.1
[`#3047`](https://redirect.github.com/ast-grep/ast-grep/pull/3047)
- fix(scan): bind utilDirs utils for --inline-rules and --rules
[`#2943`](https://redirect.github.com/ast-grep/ast-grep/pull/2943)
- fix(cli): percent-encode file paths in sarif uri
[`#3042`](https://redirect.github.com/ast-grep/ast-grep/pull/3042)
- chore(deps): update dependency node to v26
[`#3043`](https://redirect.github.com/ast-grep/ast-grep/pull/3043)
- chore(deps): update dependency oxlint to v1.90.0
[`#3036`](https://redirect.github.com/ast-grep/ast-grep/pull/3036)
- chore(deps): update astral-sh/setup-uv action to v10.3.3
[`#3040`](https://redirect.github.com/ast-grep/ast-grep/pull/3040)
- chore(deps): update rust crate globset to v0.4.21
[`#3037`](https://redirect.github.com/ast-grep/ast-grep/pull/3037)
- chore(deps): update rust crate ignore to v0.4.34
[`#3038`](https://redirect.github.com/ast-grep/ast-grep/pull/3038)
- chore(deps): update dependency node to v26
[`#3039`](https://redirect.github.com/ast-grep/ast-grep/pull/3039)
- fix(sarif): set the log version to 2.1.0
[`#3035`](https://redirect.github.com/ast-grep/ast-grep/pull/3035)
- fix(cli): escape special characters in github format output
[`#3034`](https://redirect.github.com/ast-grep/ast-grep/pull/3034)
- chore(deps): update dependency web-tree-sitter to ^0.26.0 || ^0.27.0
[`#3019`](https://redirect.github.com/ast-grep/ast-grep/pull/3019)
- chore(deps): update dependency dprint to v0.64.3
[`#3029`](https://redirect.github.com/ast-grep/ast-grep/pull/3029)
- chore(deps): update rust crate smallvec to v1.16.4
[`#3030`](https://redirect.github.com/ast-grep/ast-grep/pull/3030)
- chore(deps): update rust crate similar to v3.2.1
[`#3031`](https://redirect.github.com/ast-grep/ast-grep/pull/3031)
- chore(deps): update rust crate tree-sitter-md to v0.5.4
[`#3032`](https://redirect.github.com/ast-grep/ast-grep/pull/3032)
- fix(deps): update rust crate tree-sitter-dart to 0.3.0
[`#3033`](https://redirect.github.com/ast-grep/ast-grep/pull/3033)
- chore(deps): update dependency oxlint to v1.89.0
[`#3018`](https://redirect.github.com/ast-grep/ast-grep/pull/3018)
- chore(deps): update dependency
[@&#8203;napi-rs/cli](https://redirect.github.com/napi-rs/cli) to
v3.10.9
[`#3025`](https://redirect.github.com/ast-grep/ast-grep/pull/3025)
- chore(deps): update rust crate napi-derive to v3.6.13
[`#3026`](https://redirect.github.com/ast-grep/ast-grep/pull/3026)
- chore(deps): update rust crate napi to v3.15.0
[`#3028`](https://redirect.github.com/ast-grep/ast-grep/pull/3028)
- chore(deps): update astral-sh/setup-uv action to v10.3.2
[`#3024`](https://redirect.github.com/ast-grep/ast-grep/pull/3024)
- chore(deps): update dependency dprint to v0.64.1
[`#3017`](https://redirect.github.com/ast-grep/ast-grep/pull/3017)
- chore(deps): update rust crate tokio to v1.54.1
[`#3020`](https://redirect.github.com/ast-grep/ast-grep/pull/3020)
- refactor(cli): apply project defaults through InputArgs
[`#3027`](https://redirect.github.com/ast-grep/ast-grep/pull/3027)
- feat(cli): support no-ignore in project config
[`#3003`](https://redirect.github.com/ast-grep/ast-grep/pull/3003)
- fix(deps): update rust crate tree-sitter-php to 0.25.0
[`#3022`](https://redirect.github.com/ast-grep/ast-grep/pull/3022)
- chore(deps): update rust crate tree-sitter to v0.27.1
[`#3014`](https://redirect.github.com/ast-grep/ast-grep/pull/3014)
- chore(deps): update dependency
[@&#8203;ast-grep/napi](https://redirect.github.com/ast-grep/napi) to
v0.51.0
[`#3016`](https://redirect.github.com/ast-grep/ast-grep/pull/3016)
- chore(deps): update rust crate tree-sitter-scala to v0.26.3
[`#3015`](https://redirect.github.com/ast-grep/ast-grep/pull/3015)
- chore(deps): update astral-sh/setup-uv action to v10.3.0
[`#2938`](https://redirect.github.com/ast-grep/ast-grep/pull/2938)
- chore(deps): update dependency
[@&#8203;napi-rs/cli](https://redirect.github.com/napi-rs/cli) to
v3.10.8
[`#3004`](https://redirect.github.com/ast-grep/ast-grep/pull/3004)
- chore(deps): update rust crate toml_edit to v0.25.17
[`#3013`](https://redirect.github.com/ast-grep/ast-grep/pull/3013)
- chore(deps): update rust crate smallvec to v1.16.3
[`#3011`](https://redirect.github.com/ast-grep/ast-grep/pull/3011)
- chore(deps): update rust crate tokio-util to v0.7.20
[`#3012`](https://redirect.github.com/ast-grep/ast-grep/pull/3012)
- chore(deps): update rust crate schemars to v1.2.3
[`#3009`](https://redirect.github.com/ast-grep/ast-grep/pull/3009)
- chore(deps): update rust crate serde_json to v1.0.154
[`#3010`](https://redirect.github.com/ast-grep/ast-grep/pull/3010)
- chore(deps): update dependency
[@&#8203;types/node](https://redirect.github.com/types/node) to v24.19.2
[`#3007`](https://redirect.github.com/ast-grep/ast-grep/pull/3007)
- chore(deps): update dependency web-tree-sitter to ^0.27.0
[`#2914`](https://redirect.github.com/ast-grep/ast-grep/pull/2914)
- chore(deps): update rust crate napi-derive to v3.6.12
[`#3008`](https://redirect.github.com/ast-grep/ast-grep/pull/3008)
- chore(deps): update dependency smol-toml to v1.9.1
[`#2985`](https://redirect.github.com/ast-grep/ast-grep/pull/2985)
- fix(deps): update rust-wasm-bindgen monorepo
[`#2924`](https://redirect.github.com/ast-grep/ast-grep/pull/2924)
- chore(deps): update rust crate tree-sitter-swift to v0.7.4
[`#2982`](https://redirect.github.com/ast-grep/ast-grep/pull/2982)
- chore(deps): update rust crate napi-build to v2.6.0
[`#2987`](https://redirect.github.com/ast-grep/ast-grep/pull/2987)
- chore(deps): update rust crate napi to v3.14.2
[`#2986`](https://redirect.github.com/ast-grep/ast-grep/pull/2986)
- fix(config): reject unknown top-level keys in rule config
[`#3006`](https://redirect.github.com/ast-grep/ast-grep/pull/3006)
- fix(cli): report skipped files and reason in --inspect entity
([#&#8203;3044](https://redirect.github.com/ast-grep/ast-grep/issues/3044))
[`#2990`](https://redirect.github.com/ast-grep/ast-grep/issues/2990)
- fix(config): reject unknown top-level keys in rule config
([#&#8203;3006](https://redirect.github.com/ast-grep/ast-grep/issues/3006))
[`#2963`](https://redirect.github.com/ast-grep/ast-grep/issues/2963)
- Revert "chore(deps): update dependency node to v26
([#&#8203;3039](https://redirect.github.com/ast-grep/ast-grep/issues/3039))"
[`6b5708a`](https://redirect.github.com/ast-grep/ast-grep/commit/6b5708a32991134bf0bef6ec158d071a6612a79c)
- fix: mark GlobalRules::insert crate pub only and unsafe
[`e52c478`](https://redirect.github.com/ast-grep/ast-grep/commit/e52c4783d89576fb265e0746603c1848250a11a4)
- fix: fix web-tree-sitter 0.26 memory corruption
[`ecb8578`](https://redirect.github.com/ast-grep/ast-grep/commit/ecb85782c2381bfca337156c89bbe91972de3b1a)

</details>

<details>
<summary>bingo-js/bingo (bingo)</summary>

###
[`v0.16.0`](https://redirect.github.com/bingo-js/bingo/blob/HEAD/packages/bingo/CHANGELOG.md#0160)

[Compare
Source](https://redirect.github.com/bingo-js/bingo/compare/bingo@0.15.0...bingo@0.16.0)

##### Minor Changes

- [#&#8203;552](https://redirect.github.com/bingo-js/bingo/pull/552)
[`8f50ea7`](https://redirect.github.com/bingo-js/bingo/commit/8f50ea7e8bdc4608213bfaba2108d2aebb1e8470)
Thanks [@&#8203;michaelfaith](https://redirect.github.com/michaelfaith)!
- Bumped Node support to `^22.22.2 || ^24.15.0 || >=26.0.0`. Namely,
this just means a slightly higher minimum for v22.

##### Patch Changes

- [#&#8203;544](https://redirect.github.com/bingo-js/bingo/pull/544)
[`94c14ee`](https://redirect.github.com/bingo-js/bingo/commit/94c14ee7d83e96a24efe67d21510578e4dd79e54)
Thanks [@&#8203;michaelfaith](https://redirect.github.com/michaelfaith)!
- Updated attribution for all packages to include both maintainers.

- [#&#8203;553](https://redirect.github.com/bingo-js/bingo/pull/553)
[`41f0dbe`](https://redirect.github.com/bingo-js/bingo/commit/41f0dbe2d45509e82bf9569bd815df4d9174414d)
Thanks [@&#8203;michaelfaith](https://redirect.github.com/michaelfaith)!
- *Deps:* Updated `hosted-git-info` to v10.

- [#&#8203;551](https://redirect.github.com/bingo-js/bingo/pull/551)
[`f256818`](https://redirect.github.com/bingo-js/bingo/commit/f25681821ac79bccf85a71322cd644b995b9ea81)
Thanks [@&#8203;michaelfaith](https://redirect.github.com/michaelfaith)!
- Bumped multiple dependencies.

- Updated dependencies
\[[`94c14ee`](https://redirect.github.com/bingo-js/bingo/commit/94c14ee7d83e96a24efe67d21510578e4dd79e54),
[`f256818`](https://redirect.github.com/bingo-js/bingo/commit/f25681821ac79bccf85a71322cd644b995b9ea81),
[`8f50ea7`](https://redirect.github.com/bingo-js/bingo/commit/8f50ea7e8bdc4608213bfaba2108d2aebb1e8470)]:
  - bingo-fs\@&#8203;0.8.0
  - bingo-requests\@&#8203;0.7.0
  - bingo-systems\@&#8203;0.9.0

###
[`v0.15.0`](https://redirect.github.com/bingo-js/bingo/blob/HEAD/packages/bingo/CHANGELOG.md#0150)

[Compare
Source](https://redirect.github.com/bingo-js/bingo/compare/bingo@0.14.0...bingo@0.15.0)

##### Minor Changes

- [#&#8203;495](https://redirect.github.com/bingo-js/bingo/pull/495)
[`1e0acec`](https://redirect.github.com/bingo-js/bingo/commit/1e0acece25c593e8f22727006ed239c440c287e3)
Thanks [@&#8203;michaelfaith](https://redirect.github.com/michaelfaith)!
- Added `exports` conditions to the package to establish a strict public
API.
In addition to the primary entry point, the `package.json` is also
exported.

- [#&#8203;495](https://redirect.github.com/bingo-js/bingo/pull/495)
[`1e0acec`](https://redirect.github.com/bingo-js/bingo/commit/1e0acece25c593e8f22727006ed239c440c287e3)
Thanks [@&#8203;michaelfaith](https://redirect.github.com/michaelfaith)!
- Updated supported versions of node to `^22.15.0 || ^24.15.0 ||
>=26.0.0`, removing support for EoL versions.

##### Patch Changes

- [#&#8203;509](https://redirect.github.com/bingo-js/bingo/pull/509)
[`89223e9`](https://redirect.github.com/bingo-js/bingo/commit/89223e9724b08d8747ad7e9d91bd07bff623d6b5)
Thanks [@&#8203;michaelfaith](https://redirect.github.com/michaelfaith)!
- Declared `sideEffects: false` to the package.json.
- Updated dependencies
\[[`1e0acec`](https://redirect.github.com/bingo-js/bingo/commit/1e0acece25c593e8f22727006ed239c440c287e3),
[`1e0acec`](https://redirect.github.com/bingo-js/bingo/commit/1e0acece25c593e8f22727006ed239c440c287e3),
[`89223e9`](https://redirect.github.com/bingo-js/bingo/commit/89223e9724b08d8747ad7e9d91bd07bff623d6b5)]:
  - bingo-fs\@&#8203;0.7.0
  - bingo-requests\@&#8203;0.6.0
  - bingo-systems\@&#8203;0.8.0

###
[`v0.14.0`](https://redirect.github.com/bingo-js/bingo/blob/HEAD/packages/bingo/CHANGELOG.md#0140)

[Compare
Source](https://redirect.github.com/bingo-js/bingo/compare/bingo@0.13.2...bingo@0.14.0)

##### Minor Changes

- [#&#8203;480](https://redirect.github.com/bingo-js/bingo/pull/480)
[`471336b`](https://redirect.github.com/bingo-js/bingo/commit/471336be2234f8569c0b7ad0cadebb9f5fc388cd)
Thanks [@&#8203;mike-4040](https://redirect.github.com/mike-4040)! -
Declare `zod` as an optional peer dependency

`bingo` and the `input-from-*` packages list `zod` (`^4.4.3`) under both
`dependencies` and optional `peerDependencies`.
Package managers that support peers with defaults, such as pnpm and
Yarn, give `bingo` the project's own copy of `zod` and warn when its
version falls outside the supported range.
Projects that use `zod` only through `bingo` get it installed as a
regular dependency.

</details>

<details>
<summary>guybedford/es-module-lexer (es-module-lexer)</summary>

###
[`v3.0.4`](https://redirect.github.com/guybedford/es-module-lexer/releases/tag/3.0.4)

[Compare
Source](https://redirect.github.com/guybedford/es-module-lexer/compare/3.0.3...3.0.4)

#### What's Changed

- perf(lexer): reduce TS lookahead work by
[@&#8203;BridgeAR](https://redirect.github.com/BridgeAR) in
[#&#8203;258](https://redirect.github.com/guybedford/es-module-lexer/pull/258)
- fix(parser): preserve complete import attribute metadata by
[@&#8203;BridgeAR](https://redirect.github.com/BridgeAR) in
[#&#8203;260](https://redirect.github.com/guybedford/es-module-lexer/pull/260)
- fix(ts): lex `/` after a postfix non-null assertion as division by
[@&#8203;guybedford](https://redirect.github.com/guybedford) in
[#&#8203;263](https://redirect.github.com/guybedford/es-module-lexer/pull/263)
- ci: add release and publish workflows by
[@&#8203;guybedford](https://redirect.github.com/guybedford) in
[#&#8203;264](https://redirect.github.com/guybedford/es-module-lexer/pull/264)

**Full Changelog**:
<guybedford/es-module-lexer@3.0.3...3.0.4>

</details>

<details>
<summary>43081j/fast-wrap-ansi (fast-wrap-ansi)</summary>

###
[`v0.2.2`](https://redirect.github.com/43081j/fast-wrap-ansi/releases/tag/0.2.2)

[Compare
Source](https://redirect.github.com/43081j/fast-wrap-ansi/compare/0.2.0...0.2.2)

#### What's Changed

- chore: fix typescript build by
[@&#8203;43081j](https://redirect.github.com/43081j) in
[#&#8203;95](https://redirect.github.com/43081j/fast-wrap-ansi/pull/95)

**Full Changelog**:
<43081j/fast-wrap-ansi@0.2.1...0.2.2>

</details>

<details>
<summary>mermaid-js/mermaid (mermaid)</summary>

###
[`v12.3.0`](https://redirect.github.com/mermaid-js/mermaid/releases/tag/mermaid%4012.3.0)

[Compare
Source](https://redirect.github.com/mermaid-js/mermaid/compare/mermaid@12.2.0...mermaid@12.3.0)

##### Minor Changes

-
[#&#8203;8164](https://redirect.github.com/mermaid-js/mermaid/pull/8164)
[`592d0e4`](https://redirect.github.com/mermaid-js/mermaid/commit/592d0e407d557b501d9f273ed18c7c62b1b9f48b)
Thanks [@&#8203;filipsajdak](https://redirect.github.com/filipsajdak)! -
feat: add the open-arrow and hollow-circle edge markers, so a notation
can tell two kinds of flow apart by whether the head is filled

-
[#&#8203;8165](https://redirect.github.com/mermaid-js/mermaid/pull/8165)
[`5c8aa5d`](https://redirect.github.com/mermaid-js/mermaid/commit/5c8aa5d834b7090258259eaf8b827cbefd6ff40f)
Thanks [@&#8203;filipsajdak](https://redirect.github.com/filipsajdak)! -
feat: add the BPMN element shapes - events, gateways, activities, data
objects, data stores and text annotations - each reporting where a line
meets what is drawn

-
[#&#8203;8470](https://redirect.github.com/mermaid-js/mermaid/pull/8470)
[`692d22a`](https://redirect.github.com/mermaid-js/mermaid/commit/692d22a3ec9cf235cecf17013160f14dafb42999)
Thanks
[@&#8203;openmindednewby](https://redirect.github.com/openmindednewby)!
- feat: flowchart edges accept a `step` number (`e1@{ step: 1 }`); a dot
travels the edges in step order and loops, hidden under
`prefers-reduced-motion`

-
[#&#8203;8478](https://redirect.github.com/mermaid-js/mermaid/pull/8478)
[`56aa105`](https://redirect.github.com/mermaid-js/mermaid/commit/56aa10536075a320c084087478c468553b923e6e)
Thanks
[@&#8203;openmindednewby](https://redirect.github.com/openmindednewby)!
- feat: add `flowchart.stepDuration` to set how many seconds each step
of the flowchart step animation lasts

-
[#&#8203;8479](https://redirect.github.com/mermaid-js/mermaid/pull/8479)
[`800f7ef`](https://redirect.github.com/mermaid-js/mermaid/commit/800f7efb1c7e80cf56478507808c744a1d07e1c1)
Thanks
[@&#8203;openmindednewby](https://redirect.github.com/openmindednewby)!
- feat: highlight the flowchart edge whose step is playing, in sync with
the step animation dot

-
[#&#8203;8480](https://redirect.github.com/mermaid-js/mermaid/pull/8480)
[`50d6294`](https://redirect.github.com/mermaid-js/mermaid/commit/50d6294dab27123d7ecc1301c2c861bfe7ef4dce)
Thanks
[@&#8203;openmindednewby](https://redirect.github.com/openmindednewby)!
- feat: add `flowchart.stepNumbers` to show each step edge's number in a
badge

##### Patch Changes

-
[#&#8203;8443](https://redirect.github.com/mermaid-js/mermaid/pull/8443)
[`2ff8286`](https://redirect.github.com/mermaid-js/mermaid/commit/2ff8286f9aa82b89aefe26c575c49a575fa518c1)
Thanks [@&#8203;knsv-bot](https://redirect.github.com/knsv-bot)! - fix:
agentflow renders the `a[/…/]` short form as an input instead of falling
back to a task with a SHAPE_UNSUPPORTED warning

-
[#&#8203;8661](https://redirect.github.com/mermaid-js/mermaid/pull/8661)
[`b200b27`](https://redirect.github.com/mermaid-js/mermaid/commit/b200b270f5e51d9199c5263dc402f4a6fe4fa33a)
Thanks [@&#8203;pbrolin47](https://redirect.github.com/pbrolin47)! -
fix: Bump DOMPurify to 3.4.17 to address GHSA-55q2-fjhq-7xh7 and
GHSA-6688-9rhm-gjv2

-
[#&#8203;8633](https://redirect.github.com/mermaid-js/mermaid/pull/8633)
[`686f350`](https://redirect.github.com/mermaid-js/mermaid/commit/686f350e8c7627dfcc6b0035f237f76bca1152b2)
Thanks [@&#8203;sidharthv96](https://redirect.github.com/sidharthv96)! -
chore: Remove the `uuid` dependency and the unused legacy ER diagram
renderer

-
[#&#8203;8661](https://redirect.github.com/mermaid-js/mermaid/pull/8661)
[`7eec083`](https://redirect.github.com/mermaid-js/mermaid/commit/7eec083adcaba707257795feb937f2274c990713)
Thanks [@&#8203;pbrolin47](https://redirect.github.com/pbrolin47)! -
fix: Stop an edge from a node inside a subgraph from crossing an edge
from the subgraph itself to the same node with ELK 0.10+ (e.g. `outer
--> a` with `da --> a`, or `three --> two` with `two --> c2`)

-
[#&#8203;8532](https://redirect.github.com/mermaid-js/mermaid/pull/8532)
[`42d3760`](https://redirect.github.com/mermaid-js/mermaid/commit/42d37602aed5ddbfb2674b78e08336fa5f3fb548)
Thanks [@&#8203;Devehab](https://redirect.github.com/Devehab)! - fix:
upgrade bundled elkjs from 0.9.3 to 0.12.0, which is licensed `EPL-2.0
OR GPL-3.0-or-later`, so GPL-3.0 projects can ship mermaid with ELK

-
[#&#8203;8162](https://redirect.github.com/mermaid-js/mermaid/pull/8162)
[`d5ca27a`](https://redirect.github.com/mermaid-js/mermaid/commit/d5ca27a636a2a5b65768c8ef3f847601dac055a9)
Thanks [@&#8203;filipsajdak](https://redirect.github.com/filipsajdak)! -
fix(swimlanes): size a lane that holds a nested subgraph (TB drew it as
an empty 0x0 box, and likewise an outer group holding lanes), and grow
LR and RL lanes by the nested group's padding

-
[#&#8203;8405](https://redirect.github.com/mermaid-js/mermaid/pull/8405)
[`b4299f2`](https://redirect.github.com/mermaid-js/mermaid/commit/b4299f2f440e63092caab6fdfe2d1b6cc19308a8)
Thanks [@&#8203;filipsajdak](https://redirect.github.com/filipsajdak)! -
fix: do not draw a stray empty swimlane when a node is listed in two
lanes, and warn about it and about a subgraph nested in a lane

-
[#&#8203;8385](https://redirect.github.com/mermaid-js/mermaid/pull/8385)
[`37d0ace`](https://redirect.github.com/mermaid-js/mermaid/commit/37d0aceb1e435490a7614299d035c7dc91729282)
Thanks [@&#8203;filipsajdak](https://redirect.github.com/filipsajdak)! -
fix(swimlanes): keep two arrowheads that land on one face of a node
apart when a sibling edge is straightened

-
[#&#8203;8385](https://redirect.github.com/mermaid-js/mermaid/pull/8385)
[`38e810a`](https://redirect.github.com/mermaid-js/mermaid/commit/38e810afe946ac4ebf48b7274c02689e032c51db)
Thanks [@&#8203;filipsajdak](https://redirect.github.com/filipsajdak)! -
fix(swimlanes): an edge routed round the outside of a diamond now
arrives at one of its vertices instead of ending in empty space beside
it

-
[#&#8203;8385](https://redirect.github.com/mermaid-js/mermaid/pull/8385)
[`25d7e31`](https://redirect.github.com/mermaid-js/mermaid/commit/25d7e314d143efb31b5f0813f9ee5fb7b50bd19b)
Thanks [@&#8203;filipsajdak](https://redirect.github.com/filipsajdak)! -
fix(swimlanes): a second edge leaving a diamond on the same level as its
target now leaves from a free vertex instead of running beside the first

-
[#&#8203;8171](https://redirect.github.com/mermaid-js/mermaid/pull/8171)
[`a4750b4`](https://redirect.github.com/mermaid-js/mermaid/commit/a4750b42aa697b2fed476cdfb297407b70b61e8e)
Thanks [@&#8203;filipsajdak](https://redirect.github.com/filipsajdak)! -
fix: dock a swimlane edge on the shape it points at, so a line reaches
an event's ring instead of stopping at the room its caption reserves

-
[#&#8203;8385](https://redirect.github.com/mermaid-js/mermaid/pull/8385)
[`67315b9`](https://redirect.github.com/mermaid-js/mermaid/commit/67315b937147ad06ce202dd9bdaaa219697b55d4)
Thanks [@&#8203;filipsajdak](https://redirect.github.com/filipsajdak)! -
fix: an edge label no longer pushes the nodes it joins a rank apart

-
[#&#8203;8385](https://redirect.github.com/mermaid-js/mermaid/pull/8385)
[`21a1f5c`](https://redirect.github.com/mermaid-js/mermaid/commit/21a1f5c11de99daef5dae6639c9cd4649ae62efd)
Thanks [@&#8203;filipsajdak](https://redirect.github.com/filipsajdak)! -
fix(swimlanes): stop the crossing cleanup from joining two routes at a
corner so they read as one line

-
[#&#8203;8385](https://redirect.github.com/mermaid-js/mermaid/pull/8385)
[`e14bc3a`](https://redirect.github.com/mermaid-js/mermaid/commit/e14bc3a752b1c18e01fef3e849ae83bc0f35417f)
Thanks [@&#8203;filipsajdak](https://redirect.github.com/filipsajdak)! -
fix(swimlanes): an edge no longer arrives at the vertex of a hexagon
that another edge leaves from

-
[#&#8203;8459](https://redirect.github.com/mermaid-js/mermaid/pull/8459)
[`edd162f`](https://redirect.github.com/mermaid-js/mermaid/commit/edd162f3f052649709a660cff4b511ed45584d7f)
Thanks [@&#8203;Yun-seoung](https://redirect.github.com/Yun-seoung)! -
fix: Allow flowchart edge IDs regardless of whitespace after the node
shape

  Edge IDs may no longer contain `[ ] ( ) { } |`.

-
[#&#8203;8402](https://redirect.github.com/mermaid-js/mermaid/pull/8402)
[`4f2bade`](https://redirect.github.com/mermaid-js/mermaid/commit/4f2bade8434bf25e9b3daf3fdd873515ae70ce23)
Thanks [@&#8203;pcp-cmd](https://redirect.github.com/pcp-cmd)! - fix:
Render use case include and extend relationship labels with UML
guillemets.

</details>

<details>
<summary>microsoft/playwright (playwright)</summary>

###
[`v1.65.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.65.0)

[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.64.1...v1.65.0)

##### 🥟 Run tests with Bun

The test runner now runs under [Bun](https://bun.com). Bun transpiles
your TypeScript test files itself, so Playwright does not use Babel or
its compilation cache. Pass the `--bun` flag, because without it `bunx
playwright test` runs on Node.js:

```bash
bunx --bun playwright test
```

Our CI runs the test runner tests under Bun 1.4.3 on Linux. Some
features work differently under Bun:

- There is no watch mode. UI mode does not run tests again when files
change, and `--only-changed` does not follow imports.
- Bun loads modules itself, so `--tsconfig` and the JSX options in
`tsconfig.json` have no effect, and custom ESM loaders are not
supported.
- Stack traces do not include async frames, and API names do not include
the class name: `click` instead of `locator.click`. This changes some
step locations, step titles and error messages.
- Console output of a test does not get into the trace and UI mode.

##### 🚨 Reports with only failures

New
[`failures`](https://playwright.dev/docs/test-reporters#failures-reporter)
reporter prints failures and successful retries as they occur, followed
by a summary, without progress output.

New `onlyFailures` option of the HTML, JSON and JUnit reporters [keeps
only](https://playwright.dev/docs/test-reporters#report-only-failures)
tests with unexpected outcomes, flaky tests and interrupted tests:

```js
// playwright.config.ts
import { defineConfig } from '@playwright/test';

export default defineConfig({
  reporter: [
    ['failures'],
    ['html', { onlyFailures: true }],
  ],
});
```

##### 🎯 Test runner

- New built-in `-exclusive-` [test
lock](https://playwright.dev/docs/test-parallel#test-locks) runs a test
only when no other tests are running. All other tests continue to run in
parallel with each other:

  ```js
  test('restart the server', { lock: '-exclusive-' }, async () => {
    // No other test runs while this one is running.
  });
  ```

- [test.skip()](https://playwright.dev/docs/api/class-test#test-skip),
[test.fixme()](https://playwright.dev/docs/api/class-test#test-fixme),
[test.fail()](https://playwright.dev/docs/api/class-test#test-fail) and
[test.slow()](https://playwright.dev/docs/api/class-test#test-slow) now
accept only a description. It is recorded in the test annotation:

  ```js
  test('upload a file', async ({ page }) => {
    test.skip('Not implemented yet');
  });
  ```

- New `PLAYWRIGHT_TRANSFORM_CACHE_DIR` environment variable sets the
directory for transpiled test files, for example on a Linux machine
shared with other users.

##### New APIs

- New options
[`timeout`](https://playwright.dev/docs/api/class-cdpsession#cdp-session-send-option-timeout)
and
[`signal`](https://playwright.dev/docs/api/class-cdpsession#cdp-session-send-option-signal)
in
[cdpSession.send()](https://playwright.dev/docs/api/class-cdpsession#cdp-session-send).
- New
[testRun.mode()](https://playwright.dev/docs/api/class-testrun#test-run-mode)
returns the execution mode of a suite during
[reporter.preprocess()](https://playwright.dev/docs/api/class-reporter#reporter-preprocess).

##### Notable Changes ⚠️

- TypeScript class fields now follow
[`useDefineForClassFields`](https://playwright.dev/docs/test-typescript#tsconfig-class-fields)
from your `tsconfig.json`, the same as `tsc`. It is enabled for `ES2022`
and later targets, and when `target` is not specified. A field
initializer that reads a constructor parameter property now fails,
because the initializer runs first:

  ```js
  class LoginPage {
// TypeError: Cannot read properties of undefined (reading 'getByRole')
    readonly submit = this.page.getByRole('button', { name: 'Submit' });

    constructor(private readonly page: Page) {}
  }
  ```

Move the initialization to the constructor, or set
`"useDefineForClassFields": false` in your `tsconfig.json`.

- Actions such as
[locator.click()](https://playwright.dev/docs/api/class-locator#locator-click),
[locator.check()](https://playwright.dev/docs/api/class-locator#locator-check),
[locator.tap()](https://playwright.dev/docs/api/class-locator#locator-tap),
[locator.fill()](https://playwright.dev/docs/api/class-locator#locator-fill),
[locator.clear()](https://playwright.dev/docs/api/class-locator#locator-clear)
and
[locator.selectOption()](https://playwright.dev/docs/api/class-locator#locator-select-option)
now wait for the element to be [not
inert](https://playwright.dev/docs/actionability#not-inert). An action
on an element with the `inert` attribute, or inside such an element, now
times out if the element stays inert.

- A sharded run now fails with "No tests found" when no tests match
across all shards. Pass `--pass-with-no-tests` to allow this. An empty
shard still passes when other shards have tests.

- Cookie matching now follows RFC 6265. With a URL,
[browserContext.cookies()](https://playwright.dev/docs/api/class-browsercontext#browser-context-cookies)
and
[apiRequestContext.cookies()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-cookies)
no longer return host-only cookies for subdomains or `Path=/api` cookies
for `/apiv2`, and a `Path=/foo/` cookie does not match `/foo`.
[APIRequestContext](https://playwright.dev/docs/api/class-apirequestcontext)
sends a cookie without a name as `Cookie: x` instead of `Cookie: =x`,
and stores `Set-Cookie: token` as a cookie without a name.

- Proxy credentials are no longer sent to websites. The credentials in
the
[`proxy`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-option-proxy)
option now answer only proxy challenges. To authenticate on a website,
use
[`httpCredentials`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-http-credentials).

- Text that the browser does not render, such as text that is not
assigned to a slot or text directly inside a closed `<details>`, is no
longer part of accessible names and aria snapshots. This can change the
results of
[page.getByRole()](https://playwright.dev/docs/api/class-page#page-get-by-role)
with a name,
[locator.ariaSnapshot()](https://playwright.dev/docs/api/class-locator#locator-aria-snapshot)
and
[expect(locator).toMatchAriaSnapshot()](https://playwright.dev/docs/api/class-locatorassertions#locator-assertions-to-match-aria-snapshot).

- String and `URLSearchParams` values of the `params` option in
[APIRequestContext](https://playwright.dev/docs/api/class-apirequestcontext)
requests are now appended to the query that the URL already has, instead
of replacing it.

- `.css`, `.less` and `.scss` imports in test files now load as empty
modules instead of being removed, so the imported file must exist.

- The blob reporter again deletes the content of its output directory
before it writes the report. Playwright 1.64 kept reports with other
names.

- Test locations of imported calls such as `test(` in CommonJS output
now point to the start of the callee, for example `a.spec.ts:3:7`
instead of `a.spec.ts:3:11`. This is the same as in ESM.

##### Announcements

- ⚠️ Playwright no longer tests on Node.js 20. Use Node.js 22, 24 or 26,
as listed in the [system
requirements](https://playwright.dev/docs/intro#system-requirements).
- 🐳 [Docker images](https://playwright.dev/docs/docker) now include
Node.js 26 instead of Node.js 24, and the latest patch of Chromium on
the same branch.

##### Browser Versions

- Chromium 158.0.8127.18
- Mozilla Firefox 159.0
- WebKit 27.2

This version was also tested against the following stable channels:

- Google Chrome 157
- Microsoft Edge 156

###
[`v1.64.1`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.64.1)

[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.64.0...v1.64.1)

##### Bug Fixes

-
[#&#8203;43247](https://redirect.github.com/microsoft/playwright/issues/43247)
\[Bug]: \_electron.launch intermittently loses a packaged app's first
window since 1.64.0
-
[#&#8203;43242](https://redirect.github.com/microsoft/playwright/issues/43242)
\[Regression]: Chromium 155+ aborts a preflighted cross-origin redirect
whenever any route is registered (net::ERR_ABORTED)

###
[`v1.64.0`](https://redirect.github.com/microsoft/playwright/releases/tag/v1.64.0)

[Compare
Source](https://redirect.github.com/microsoft/playwright/compare/v1.63.0...v1.64.0)

#### 🧰 WebMCP

New
[page.webmcp](https://playwright.dev/docs/api/class-page#page-webmcp)
and
[frame.webmcp](https://playwright.dev/docs/api/class-frame#frame-webmcp)
give access to the tools that a page registers through the experimental
[WebMCP](https://playwright.dev/docs/api/class-webmcp) browser API, so
you can test them like any other part of your app:

```js
const browser = await chromium.launch({ args: ['--enable-features=WebMCP'] });
const page = await browser.newPage();
await page.goto('https://example.com');

for (const tool of await page.webmcp.tools())
  console.log(tool.name, tool.description);

const result = await page.webmcp.callTool('add', { a: 2, b: 40 });
console.log(result.content[0].text); // "42"
```

[Playwright MCP](https://playwright.dev/docs/getting-started-mcp) also
supports WebMCP by default, with page-defined tools offered to the agent
as `webmcp_<tool>`. Pass `--no-webmcp` to opt out.

[`playwright-cli`](https://playwright.dev/docs/getting-started-cli)
exposes them as well:

```bash
playwright-cli webmcp-list
playwright-cli webmcp-call search_catalog --params '{"query":"cats"}'
```

#### 🎬 Better videos

Videos can now be recorded at a custom frame rate, and the decorations
for actions are styled with plain CSS:

```js
// playwright.config.ts
import { defineConfig } from '@playwright/test';

export default defineConfig({
  use: {
    video: {
      mode: 'on',
      size: { width: 1920, height: 1080 },
      fps: 60,
      show: {
        actions: {
          style: {
            point: 'width: 20px; height: 20px; border-radius: 50%; background: red',
            highlight: 'outline: 2px solid #&#8203;333; background: rgba(0, 128, 255, .15)',
            title: 'font-size: 16px',
          },
        },
      },
    },
  },
});
```

- New `fps` option in
[testOptions.video](https://playwright.dev/docs/api/class-testoptions#test-options-video),
[`recordVideo`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-record-video)
and

[screencast.start()](https://playwright.dev/docs/api/class-screencast#screencast-start).
Firefox and WebKit currently capture up to 25 frames per second.
- New
[`style`](https://playwright.dev/docs/api/class-screencast#screencast-show-actions-option-style)
option takes CSS declarations for the `point` marker, the target
`highlight` and the action `title`. It replaces the `fontSize` option,
which is now deprecated.
- The cursor stays visible at the last action point, survives
navigations and travels along a natural, eased path.
- Videos are encoded with VP9 instead of VP8, which takes less CPU and
produces smaller files of the same or better
  quality.
- All video options are also available in [Playwright
MCP](https://playwright.dev/docs/getting-started-mcp) and
[`playwright-cli`](https://playwright.dev/docs/getting-started-cli).

#### 🎯 Test runner

- New
[testProject.default](https://playwright.dev/docs/api/class-testproject#test-project-default)
option keeps a project in the config without running it by default. You
can configure every browser you care about, and let a plain `npx
playwright test` run just your favourite one:

  ```js
  // playwright.config.ts
  import { defineConfig, devices } from '@playwright/test';

  export default defineConfig({
    projects: [
      { name: 'chromium', use: devices['Desktop Chrome'] },
{ name: 'firefox', use: devices['Desktop Firefox'], default: false },
{ name: 'webkit', use: devices['Desktop Safari'], default: false },
    ],
  });
  ```

  ```bash
  npx playwright test                     # runs chromium only
  npx playwright test --project=firefox   # runs firefox
npx playwright test --project="*" # runs all three, for example on CI
  ```

- New `--shuffle` command line option schedules tests in a random order,
which helps to find tests that accidentally depend on each other.

  ```bash
  npx playwright test --shuffle
  # Running 42 tests using 4 workers, shuffle seed 271828182
  # ...

  # Pass the seed to reproduce the same order.
  npx playwright test --shuffle 271828182
  ```

- New `lock` option in
[test.describe.configure()](https://playwright.dev/docs/api/class-test#test-describe-configure)
adds [test locks](https://playwright.dev/docs/test-parallel#test-locks)
to all tests in a file or a group:

  ```js
  test.describe.configure({ lock: 'user-settings' });
  ```

- New `type` option of `toHaveScreenshot` in
[testConfig.expect](https://playwright.dev/docs/api/class-testconfig#test-config-expect)
stores all unnamed screenshots as WebP:

  ```js
  // playwright.config.ts
  export default defineConfig({
    expect: {
      toHaveScreenshot: { type: 'webp' },
    },
  });
  ```

#### 🪆 Locator.within()

New
[locator.within()](https://playwright.dev/docs/api/class-locator#locator-within)
combines two locators that you already have, reading in the natural
order —
"this button, within that dialog":

```js
const saveButton = page.getByRole('button', { name: 'Save' });
const dialog = page.getByTestId('settings-dialog');

await saveButton.within(dialog).click();
```

Relative locators such as
[locator.nth()](https://playwright.dev/docs/api/class-locator#locator-nth)
or
[locator.first()](https://playwright.dev/docs/api/class-locator#locator-first)
are resolved inside each parent
separately, which makes column-like queries straightforward:

```js
// The third cell of every row, not the third cell in the table.
const thirdColumn = page.getByRole('cell').nth(2).within(page.getByRole('row'));
await expect(thirdColumn).toHaveText(['Apple', 'Banana', 'Cherry']);
```

#### New APIs

- New
[page.getByRef()](https://playwright.dev/docs/api/class-page#page-get-by-ref)
locates an element by its aria ref, such as `e2`, reported by
[page.ariaSnapshot()](https://playwright.dev/docs/api/class-page#page-aria-snapshot)
in the `'ai'` mode.
- New option
[`includeShadow`](https://playwright.dev/docs/api/class-page#page-content-option-include-shadow)
in
[page.content()](https://playwright.dev/docs/api/class-page#page-content)
and
[frame.content()](https://playwright.dev/docs/api/class-frame#frame-content)
serializes open shadow roots as [declarative shadow
DOM](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_shadow_DOM#declaratively_with_html).
- New option
[`signCount`](https://playwright.dev/docs/api/class-credentials#credentials-create-option-sign-count)
sets the initial signature counter of a virtual credential.
[credentials.create()](https://playwright.dev/docs/api/class-credentials#credentials-create)
and
[credentials.get()](https://playwright.dev/docs/api/class-credentials#credentials-get)
return the current `signCount`, and it is saved and restored together
with the credentials in the storage state.
- New
[fullConfig.filteredProjects](https://playwright.dev/docs/api/class-fullconfig#full-config-filtered-projects)
lists the projects that were selected to run after applying the
`--project` filter. It is available in global setup and reporters.
- New
[apiRequestContext.addCookies()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-add-cookies),
[apiRequestContext.cookies()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-cookies)
and
[apiRequestContext.clearCookies()](https://playwright.dev/docs/api/class-apirequestcontext#api-request-context-clear-cookies)
manage cookies of a request context, mirroring the
[BrowserContext](https://playwright.dev/docs/api/class-browsercontext)
methods:

  ```js
await request.addCookies([{ name: 'session-id', value: '42', url:
'https://example.com' }]);
  console.log(await request.cookies('https://example.com'));
  await request.clearCookies({ name: 'session-id' });
  ```

#### Breaking changes ⚠️

- `screen` property is now forwarded from the [device
descriptors](https://playwright.dev/docs/emulation#devices). If you use
`...devices['Desktop Chrome']` and alike, `window.screen` and media
queries now see the emulated screen size. You can opt-out by explicitly
setting `screen` to `undefined`:

  ```js
  // playwright.config.ts
  export default defineConfig({
    use: {
      ...devices['Desktop Chrome'],
      screen: undefined,
    },
  });
  ```

- JSX in your test files now follows your `tsconfig.json`. Playwright
compiles JSX in test files according to the `jsx`, `jsxFactory`,
`jsxFragmentFactory` and `jsxImportSource` [tsconfig
options](https://playwright.dev/docs/test-typescript#tsconfig-jsx-options),
and defaults to the automatic runtime from `react/jsx-runtime`.

- `--update-snapshots=missing` now passes the test run. Tests that only
create missing snapshots now pass in the `'missing'` mode of
[testConfig.updateSnapshots](https://playwright.dev/docs/api/class-testconfig#test-config-update-snapshots),
so that CI can generate new snapshots and verify the existing ones in a
single run. The mode used when the option is not specified is now

> [!IMPORTANT]
> ✂ PR body was truncated to here.


</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/voidzero-dev/vite-plus).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4yMjAuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjIyOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com>
Co-authored-by: MK <fengmk2@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

preview-build Publish this PR's commits to the registry bridge as preview builds test: create-e2e Run `vp create` e2e tests test: e2e Auto run e2e tests test: install-e2e run vite install e2e test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants