Skip to content

release: v1.5.1 - #3401

Merged
fengmk2 merged 3 commits into
mainfrom
release/v1.5.1
Nov 9, 2026
Merged

fengmk2 merged 3 commits into
mainfrom
release/v1.5.1

Conversation

@voidzero-guard

@voidzero-guard voidzero-guard Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Vite+ 1.5.1 checks managed package-manager downloads against the integrity hash in packageManager, restores interactive input in vp run tasks, fixes vp migrate config merges, and adds a reference page for each package command.

Features

  • Vite+ checks a downloaded pnpm, Yarn 2+, or bun against the integrity hash in the project's packageManager field instead of the hash that the registry reports, and rejects a download that does not match. Mirrors and private registries that serve the same package still pass. Each pinned version gets its own cache directory, so a project with a pinned package manager downloads it once more after the upgrade. Unpinned installs keep their current location (#3400), by @fengmk2 and @arkmarta.
  • Upgrade the bundled Vite and Rolldown (#3390), by @voidzero-guard[bot] and @fengmk2:
    • vite@8.3.5 to vite@8.3.7. A pnpm install no longer turns every cached build into a cache miss, because Vite tells Vite Task to ignore node_modules/.modules.yaml. It also fixes named imports from Node.js built-ins and reloads in bundled dev mode, subpath imports (#) in the dependency optimizer, SSR builds with build.ssr: true, and chunks shared with workers.
    • rolldown@1.2.16 to rolldown@1.2.18, with module source maps that keep only the sources and names that they trace.
    • @voidzero-dev/vite-plus-core requires postcss@^8.5.32, as the bundled Vite does.

Fixes & Enhancements

  • Scripts that vp run starts get a blocking stdin again when the run block of vite.config.ts is not statically analyzable (for example, a task command held in a constant), so interactive prompts such as vp update --interactive wait for input instead of failing with EAGAIN (#3361), by @everton-dgn.
  • vp migrate changes only the return statements of a defineConfig callback, so functions inside the config, such as Rolldown codeSplitting.groups[].name callbacks, keep their return values and the build no longer fails. When a callback return cannot receive the merged settings, migration keeps the standalone config files and asks for a manual merge. Pack and task cache migration also recognize configs wrapped in parentheses, as, satisfies, <T>, or ! (#3325, #3372), by @jong-kyung.
  • vp create react-router passes --no-git-init to create-react-router, so the generator's initial commit no longer stops the Vite+ setup when no Git identity is configured (#3363), by @chbaefront.
  • env.fish calls fish built-ins through builtin, so vp env use changes the Node.js version even when a user function has the name of a built-in such as count (#3353), by @naokihaba.
  • Shell completion suggests full command names before aliases, so vp i<Tab> offers install and vp up<Tab> offers update. An alias stays available when no full name matches (#3337), by @nekomoyi.
  • Completion for vp run and vpr skips comment keys such as "# docs #" in package.json scripts, matches task names that contain :, and shows each task's command as its description in Zsh and Fish (#3354), by @nekomoyi.
  • vp pm dist-tag rm works with Yarn Berry, because Vite+ passes remove to yarn npm tag (#3358), by @jong-kyung.
  • A package-manager version that resolves through a dist-tag, such as pnpm@latest in vp env use, must be a valid semver version. Vite+ rejects any other registry reply with an error, including a version with surrounding whitespace (#3395), by @fengmk2 and @arkmarta.

Docs

  • Add a Package Management section to the guide, with a reference page for each of the 38 package commands that lists its options, package-manager support, version requirements, and npm fallbacks. Help output for package commands and the old package management and install URLs point to the new pages (docs) (#3105), by @jong-kyung.
  • Show the README logo that matches the GitHub theme, so the logo stays visible after a theme change (#3350), by @fengmk2.

Chore

  • Build Linux native bindings against the napi-cross glibc 2.17 sysroot with @napi-rs/cli@3.10.12, let the linker reject unresolved symbols, and run Linux CI on ubuntu-latest again. Let the dependency upgrade workflow change workflow files (#3349, #3384), by @fengmk2.
  • Refine contributor guidance: AGENTS.md separates the vite-plus package from the global vp CLI and replaces CLAUDE.md, and the Node.js version RFCs describe .nvmrc support (#3388, #3383), by @liangmiQwQ and @hyunbinseo.
  • Resolve the docs theme aliases from import.meta.dirname, so the docs dev server no longer warns about __dirname (#3379), by @liangmiQwQ.
  • Fold the .node-version parse tests into one table (#3355), by @Brooooooklyn.

Bundled Versions

Tool Version Source Changelog
vite 8.3.7 5def936 8.3.6, 8.3.7
rolldown 1.2.18 f9a49d6 1.2.18
oxc-node 1.0.1 7ff14c3 unchanged
tsdown 0.23.4 npm unchanged
vitest 5.1.0 npm unchanged
oxlint 1.91.0 npm unchanged
oxlint-tsgolint 7.0.2005 npm unchanged
oxfmt 0.76.0 npm unchanged

Upgrade

vp upgrade

New Contributors

@chbaefront, @everton-dgn

Full Changelog: v1.5.0...v1.5.1


Merging this PR will trigger the release workflow.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://release-v1-5-1-viteplus-dev.voidzero-docs.workers.dev (commit cedc53c)

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://7d0a1255-viteplus-dev.voidzero-docs.workers.dev cedc53c 2026-11-09T11:30:43.594Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://399cbf29-viteplus-dev.voidzero-docs.workers.dev a8854a3 2026-11-09T11:29:07.527Z Visit the dashboard ↗

fengmk2 and others added 2 commits November 9, 2026 19:29
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>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

✅ Staging deployment successful!

Preview: https://viteplus-staging.void.app/
Commit: cedc53c

@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

CLI artifact sizes (cedc53c)

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.33 MiB 2.33 MiB 0 B (0.00%)
packages/core/dist Directory total 4.09 MiB 4.09 MiB 0 B (0.00%)
Combined package dist Directory total 6.42 MiB 6.42 MiB 0 B (0.00%)
vp (Linux x64) Binary 8.31 MiB 8.31 MiB 0 B (0.00%)
vp (Linux x64) gzip -9 3.80 MiB 3.80 MiB -120 B (-0.00%)
NAPI (Linux x64) Binary 36.27 MiB 36.27 MiB 0 B (0.00%)
NAPI (Linux x64) gzip -9 14.48 MiB 14.48 MiB +299 B (+0.00%)
vp (macOS ARM64) Binary 5.42 MiB 5.42 MiB 0 B (0.00%)
vp (macOS ARM64) gzip -9 3.24 MiB 3.24 MiB -31 B (-0.00%)
NAPI (macOS ARM64) Binary 43.05 MiB 43.05 MiB 0 B (0.00%)
NAPI (macOS ARM64) gzip -9 18.68 MiB 18.68 MiB -121 B (-0.00%)
vp (Windows x64) Binary 6.16 MiB 6.16 MiB 0 B (0.00%)
vp (Windows x64) gzip -9 2.85 MiB 2.85 MiB +141 B (+0.00%)
NAPI (Windows x64) Binary 32.38 MiB 32.38 MiB 0 B (0.00%)
NAPI (Windows x64) gzip -9 13.25 MiB 13.25 MiB +13 B (+0.00%)
Trampoline (Windows x64) Binary 13.50 KiB 13.50 KiB 0 B (0.00%)
Trampoline (Windows x64) gzip -9 7.09 KiB 7.09 KiB 0 B (0.00%)
Installer (Windows x64) Binary 4.66 MiB 4.66 MiB 0 B (0.00%)
Installer (Windows x64) gzip -9 2.24 MiB 2.24 MiB +1 B (+0.00%)

@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 test: sfw preview-build Publish this PR's commits to the registry bridge as preview builds labels Nov 9, 2026
@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Preview binary sizes (cedc53c)

Compared with the latest stable release, v1.5.0. Preview build.
Each row measures one binary. Negative changes mean a smaller preview binary.

Binary Latest release Preview Change
vp (macOS ARM64) 5.42 MiB 5.42 MiB +128 B (+0.00%)
NAPI (macOS ARM64) 42.98 MiB 43.01 MiB +32.34 KiB (+0.07%)
vp (macOS x64) 6.89 MiB 6.90 MiB +8.04 KiB (+0.11%)
NAPI (macOS x64) 48.23 MiB 48.29 MiB +64.17 KiB (+0.13%)
vp (Linux ARM64 GNU) 6.87 MiB 6.88 MiB +3.88 KiB (+0.06%)
NAPI (Linux ARM64 GNU) 32.24 MiB 32.28 MiB +38.04 KiB (+0.12%)
vp (Linux ARM64 musl) 6.94 MiB 6.95 MiB +8.45 KiB (+0.12%)
NAPI (Linux ARM64 musl) 31.44 MiB 31.48 MiB +44.27 KiB (+0.14%)
vp (Linux x64 GNU) 8.31 MiB 8.31 MiB +3.88 KiB (+0.05%)
NAPI (Linux x64 GNU) 36.39 MiB 36.19 MiB -203.36 KiB (-0.55%)
vp (Linux x64 musl) 8.37 MiB 8.38 MiB +6.85 KiB (+0.08%)
NAPI (Linux x64 musl) 35.35 MiB 35.39 MiB +51.02 KiB (+0.14%)
vp (Windows x64) 6.15 MiB 6.16 MiB +12.00 KiB (+0.19%)
NAPI (Windows x64) 31.97 MiB 32.02 MiB +44.50 KiB (+0.14%)
Trampoline (Windows x64) 13.00 KiB 13.00 KiB 0 B (0.00%)
Installer (Windows x64) 4.66 MiB 4.67 MiB +4.00 KiB (+0.08%)
vp (Windows ARM64) 5.39 MiB 5.40 MiB +11.00 KiB (+0.20%)
NAPI (Windows ARM64) 28.27 MiB 28.31 MiB +46.50 KiB (+0.16%)
Trampoline (Windows ARM64) 13.00 KiB 13.00 KiB 0 B (0.00%)
Installer (Windows ARM64) 3.84 MiB 3.84 MiB +3.50 KiB (+0.09%)
gzip -9 sizes
Binary Latest release Preview Change
vp (macOS ARM64) 3.23 MiB 3.24 MiB +7.40 KiB (+0.22%)
NAPI (macOS ARM64) 18.64 MiB 18.68 MiB +37.58 KiB (+0.20%)
vp (macOS x64) 3.41 MiB 3.42 MiB +5.73 KiB (+0.16%)
NAPI (macOS x64) 19.87 MiB 19.91 MiB +38.15 KiB (+0.19%)
vp (Linux ARM64 GNU) 3.73 MiB 3.73 MiB +4.42 KiB (+0.12%)
NAPI (Linux ARM64 GNU) 13.72 MiB 13.74 MiB +20.06 KiB (+0.14%)
vp (Linux ARM64 musl) 3.75 MiB 3.75 MiB +4.76 KiB (+0.12%)
NAPI (Linux ARM64 musl) 13.41 MiB 13.44 MiB +31.04 KiB (+0.23%)
vp (Linux x64 GNU) 3.80 MiB 3.80 MiB +2.81 KiB (+0.07%)
NAPI (Linux x64 GNU) 14.55 MiB 14.44 MiB -116.56 KiB (-0.78%)
vp (Linux x64 musl) 3.82 MiB 3.82 MiB +6.13 KiB (+0.16%)
NAPI (Linux x64 musl) 14.08 MiB 14.11 MiB +30.95 KiB (+0.21%)
vp (Windows x64) 2.84 MiB 2.85 MiB +8.56 KiB (+0.29%)
NAPI (Windows x64) 13.09 MiB 13.11 MiB +27.91 KiB (+0.21%)
Trampoline (Windows x64) 7.14 KiB 7.14 KiB 0 B (0.00%)
Installer (Windows x64) 2.23 MiB 2.24 MiB +4.09 KiB (+0.18%)
vp (Windows ARM64) 2.72 MiB 2.72 MiB +6.15 KiB (+0.22%)
NAPI (Windows ARM64) 12.42 MiB 12.45 MiB +23.89 KiB (+0.19%)
Trampoline (Windows ARM64) 6.93 KiB 6.93 KiB 0 B (0.00%)
Installer (Windows ARM64) 2.13 MiB 2.13 MiB +4.07 KiB (+0.19%)

Raw sizes are uncompressed file sizes. gzip sizes recompress each binary at level 9; they are not package or download archive sizes.
The baseline uses published release files, including NAPI packages from npm at the same version. Build versions and toolchains can affect the difference.

@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Registry bridge build (cedc53c)

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.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442
@voidzero-dev/vite-plus-core 0.0.0-commit.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442
create-vite-plus 0.0.0-commit.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442

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

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

Or install with Homebrew (macOS / glibc Linux):

These commands use the formula and binary from this published commit. Replace brew install with brew reinstall if the tap package is already installed.
If Homebrew Core’s vite-plus is installed, run brew uninstall vite-plus first. This keeps your user data; do not run vp implode to switch installations.

(
  set -eu
  export HOMEBREW_NO_AUTO_UPDATE=1
  export HOMEBREW_VP_PR_VERSION=cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442
  brew tap voidzero-dev/vite-plus https://github.com/voidzero-dev/vite-plus
  preview_tap="$(brew --repository voidzero-dev/vite-plus)"
  git -C "$preview_tap" fetch --depth=1 https://github.com/voidzero-dev/vite-plus.git "$HOMEBREW_VP_PR_VERSION"
  git -C "$preview_tap" switch --detach "$HOMEBREW_VP_PR_VERSION"
  brew install voidzero-dev/vite-plus/vp
  brew test voidzero-dev/vite-plus/vp
  "$(brew --prefix)/bin/vp"
)

The tap stays at the tested commit. Return it to main after testing:

git -C "$(brew --repository voidzero-dev/vite-plus)" switch main

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.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442" --registry "https://registry-bridge.viteplus.dev/"

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

vp migrate

Or create a new project from this commit without installing the CLI:

export npm_config_registry=https://registry-bridge.viteplus.dev/ pnpm_config_registry=https://registry-bridge.viteplus.dev/
pnpm create vite-plus@0.0.0-commit.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442 # or: npm create vite-plus@0.0.0-commit.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442
$env:npm_config_registry="https://registry-bridge.viteplus.dev/"; $env:pnpm_config_registry="https://registry-bridge.viteplus.dev/"
pnpm create vite-plus@0.0.0-commit.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442 # or: npm create vite-plus@0.0.0-commit.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442

pnpm 11+ reads pnpm_config_registry, npm and older pnpm read npm_config_registry. The new project pins this build, so keep the registry set for later installs, or configure it as below.

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.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442",
    "vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.cedc53cfb17e5b3fe2ec7e7571618cfa41ef7442"
  }
}

@github-actions

github-actions Bot commented Nov 9, 2026

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-3401 219MB
# remove any stale local copy from a previous run, then pull fresh
docker rmi ghcr.io/voidzero-dev/vite-plus:pr-3401 2>/dev/null; docker pull ghcr.io/voidzero-dev/vite-plus:pr-3401

Quick check:

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

See docs/guide/docker.md for usage.

@fengmk2
fengmk2 merged commit e5defe1 into main Nov 9, 2026
234 of 257 checks passed
@fengmk2
fengmk2 deleted the release/v1.5.1 branch November 9, 2026 12:18
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 test: sfw

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant