Skip to content

release: v0.2.9: add vp toolchain and vp hooks, and fix vp run inside Codex and Claude Code sandboxes - #2415

Open
voidzero-guard[bot] wants to merge 2 commits into
mainfrom
release/v0.2.9
Open

release: v0.2.9: add vp toolchain and vp hooks, and fix vp run inside Codex and Claude Code sandboxes#2415
voidzero-guard[bot] wants to merge 2 commits into
mainfrom
release/v0.2.9

Conversation

@voidzero-guard

@voidzero-guard voidzero-guard Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Release vite-plus v0.2.9: two new commands, and vp run now works inside AI coding agent sandboxes.

vp toolchain prints the tools, versions, and bundling relationships in the active release, and vp hooks manages the Vite+ Git hook dispatcher without the manual setup steps. vp run no longer fails outright inside the default Codex CLI and Claude Code sandboxes, which deny the Unix sockets and shared memory that task IPC and file-access tracking relied on. The rest of the release hardens the install path: npm 12's blocked install scripts, Yarn 2+ integrity pins, baseline Bun builds on older CPUs, and downloads that used to time out on slow connections.

Highlights

  • New vp toolchain command: prints the tools, versions, and bundling relationships in the active Vite+ release as a tree (vite-plus, core, vite, rolldown, oxc, oxc-resolver, and the compiled Vite Task with its build time and revision). Select part of the tree by tool name, use --json for machine-readable output, and --global for the global release (#2111), by @fengmk2
  • New vp hooks command for managing the Vite+ Git hook dispatcher: enable installs or refreshes it (setting core.hooksPath), disable removes it and persists that preference so prepare and vp config no longer reinstall it, and status reports the current state. A custom directory via --hooks-dir is remembered for later commands. Project-owned hooks, staged config, and package.json lifecycle scripts are left untouched (#2341), by @dennybiasiolli
  • vp run now works inside the default Codex CLI and Claude Code sandboxes. Cached tasks previously failed with Failed to set up task communication: Operation not permitted before any task code ran, and automatic file-access tracking failed alongside it. Task caching and input tracking now work under both default profiles, with no extra sandbox permissions (vite-task#569, vite-task#576), by @wan9chi

Features

  • vp create now surfaces dependencies whose install scripts npm 12 blocked, instead of leaving them silently unbuilt, and approving them runs vp pm approve-builds followed by vp pm rebuild (#2336), by @fengmk2
  • Large downloads no longer abort on slow connections: Node.js and package-manager tarballs get their own 10 minute timeout instead of the shared 2 minute per-request limit, which previously aborted healthy downloads below roughly 250 KB/s and made vp env install and vp migrate impossible to complete. Override it with VP_DOWNLOAD_TIMEOUT (seconds) (#2386), by @tarikermis
  • Package-manager downloads now show a byte progress bar, matching the managed Node.js runtime, so a slow fetch is visibly progressing instead of looking hung (#2369), by @semimikoh
  • JetBrains editors (IntelliJ, WebStorm, and friends) can now be selected during the editor setup question, which writes the Oxc plugin ID to .idea/externalDependencies.xml, and the docs now describe the matching gitignore strategy for .idea (#2204, #2378), by @KTrain5169
  • vp now warns when it falls back to the global CLI inside a project with no resolvable project-local vite-plus: it points at vp install when the project declares the dependency, and at the migration guide when it does not. vp migrate and commands run outside a project stay silent (#2362), by @liangmiQwQ
  • Generated editor settings now disable nested Oxlint config resolution, so the Vite+ config stays authoritative (#2331), by @liangmiQwQ

Note

Upstream toolchain upgrade: vite 8.2.0 -> 8.2.1, rolldown 1.2.2 -> 1.2.3, oxlint 1.76.0 -> 1.77.0, oxfmt 0.61.0 -> 0.62.0, and the oxc npm and Rust crates 0.142.0 -> 0.143.0. Because oxfmt and oxlint both changed, the new versions can flag code that passed before, so run vp fmt after upgrading if your CI runs vp check (#2373), by @voidzero-guard[bot]

Fixes & Enhancements

  • Yarn 2+ pins written by corepack use now verify against the extracted CLI (bin/yarn.js) rather than the npm tarball, so vp install no longer fails on a cold cache and vp run no longer re-downloads Yarn every time (#2227), by @leslieeilsel
  • vp dev no longer crashes at startup with ENOENT when experimental.bundledDev is enabled: the bundled dev client path now points at the packaged layout (#2384), by @lofcz
  • vp migrate now refuses a workspace member as its target instead of silently migrating the enclosing workspace, and tells you to run it from the workspace root (#2229), by @leslieeilsel
  • VP_NODE_VERSION=22 and other partial versions now resolve to an exact Node.js release for shim-dispatched commands such as vp env exec node -v (#2411), by @jong-kyung
  • Managed bunx shims now dispatch through bun x, so bunx <package> no longer recursively invokes a matching package script. Applies to newly installed Bun (#2151), by @liangmiQwQ
  • Managed Bun now selects the baseline build on x64 CPUs without AVX2, which Bun's standard builds require. Existing cached installs keep their current files (#2179), by @liangmiQwQ
  • Generated Nushell env files now escape and normalize paths correctly, so a VP_HOME containing spaces or quotes loads without error (#2191), by @naokihaba
  • vite-plus/test/browser-* type exports now emit .js extensions on relative shim specifiers, so they resolve under NodeNext module resolution (#2360), by @eai04191
  • Tool-backed help is now consistent with upstream: an exact vp <command> --help shows the local themed help, while anything with extra arguments (vp test --help --coverage, vp test list --help) delegates to the bundled tool so deep and subcommand help stay complete (#2345), by @liangmiQwQ
  • Vite Task diagnostics now print paths and working directories without Rust debug formatting, so quoted paths and escaped Windows backslashes are gone (vite-task#534), by @liangmiQwQ
  • Broad workspace globs no longer discover and run package scripts inside node_modules (vite-task#539), by @jong-kyung

Refactor

Docs

Chore

  • Bump the compiled Vite Task to d05b1dc (#2339, #2403), by @wan9chi
  • Bump the Rust nightly toolchain to 2026-08-02 (#2342), by @wan9chi
  • Update the repo's pnpm to v11 (#1997), by @renovate[bot]
  • Remove the unused VitePress bundling from core (#2332), by @jong-kyung
  • Remove the unused tool subcommands (#2324), by @jong-kyung
  • Remove the unused build:src task (#2396), by @jong-kyung
  • Handle upstream help diffs in the dependency upgrade workflow (#2330), by @liangmiQwQ
  • Publish preview builds from fork PRs via GitHub OIDC (#2387), and gate the preview publish approval on fork PRs only (#2404), by @fengmk2
  • Fix the publishing workflow after its first real runs (#2397), by @fengmk2
  • Deploy production docs on release and a main preview on push (#2389), by @fengmk2
  • Format-check docs PRs with the vp built from the checkout (#2388), by @fengmk2
  • Run the e2e migrate test at the clone root (#2410), by @fengmk2
  • Pin the dev_engines_runtime_pnpm11 snapshot to the seeded default Node version (#2390), by @fengmk2
  • Restore pnpm test as the full gate (#2376), by @jong-kyung
  • Remove the no-op global compile checks (#2394), by @jong-kyung

Bundled Versions

Tool Version Source
vite 8.2.1 4216158
rolldown 1.2.3 52dbd19
tsdown 0.22.14 npm
vitest 4.1.10 npm
oxlint 1.77.0 npm
oxlint-tsgolint 7.0.2001 npm
oxfmt 0.62.0 npm

Upgrade

vp upgrade

New Contributors

@eai04191, @KTrain5169, @lofcz, @tarikermis, @leslieeilsel

Full Changelog: v0.2.8...v0.2.9


Merging this PR will trigger the release workflow.

@netlify

netlify Bot commented Aug 11, 2026

Copy link
Copy Markdown

Deploy Preview for viteplus-preview canceled.

Name Link
🔨 Latest commit 16f3018
🔍 Latest deploy log https://app.netlify.com/projects/viteplus-preview/deploys/6a7b1c258a651c0008a480c2

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.
@fengmk2 fengmk2 changed the title release: v0.2.9 release: v0.2.9: two new commands, plus sturdier installs on npm 12, Yarn 2+, Bun, and slow networks Aug 11, 2026
@fengmk2 fengmk2 added the preview-build Publish this PR's commits to the registry bridge as preview builds label Aug 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Native binary sizes (16f3018)

Final release artifacts built by the canonical build-upstream and build-windows-cli actions.

Artifact Format Base PR Change
vp (Linux x64) Binary 10.67 MiB 10.67 MiB 0 B (0.00%)
vp (Linux x64) gzip -9 4.62 MiB 4.62 MiB +139 B (+0.00%)
NAPI (Linux x64) Binary 32.00 MiB 32.00 MiB 0 B (0.00%)
NAPI (Linux x64) gzip -9 12.61 MiB 12.61 MiB +1 B (+0.00%)
vp (macOS ARM64) Binary 7.98 MiB 7.98 MiB 0 B (0.00%)
vp (macOS ARM64) gzip -9 4.03 MiB 4.03 MiB -1.52 KiB (-0.04%)
NAPI (macOS ARM64) Binary 39.66 MiB 39.66 MiB 0 B (0.00%)
NAPI (macOS ARM64) gzip -9 16.91 MiB 16.91 MiB -5 B (-0.00%)
vp (Windows x64) Binary 8.55 MiB 8.55 MiB 0 B (0.00%)
vp (Windows x64) gzip -9 3.73 MiB 3.73 MiB +121 B (+0.00%)
NAPI (Windows x64) Binary 26.87 MiB 26.87 MiB 0 B (0.00%)
NAPI (Windows x64) gzip -9 10.68 MiB 10.68 MiB -1 B (-0.00%)
Trampoline (Windows x64) Binary 205.00 KiB 205.00 KiB 0 B (0.00%)
Trampoline (Windows x64) gzip -9 99.00 KiB 99.00 KiB +2 B (+0.00%)
Installer (Windows x64) Binary 4.47 MiB 4.47 MiB 0 B (0.00%)
Installer (Windows x64) gzip -9 2.09 MiB 2.09 MiB +1 B (+0.00%)

@github-actions

Copy link
Copy Markdown
Contributor

Registry bridge build (16f3018)

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

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

# macOS / Linux
curl -fsSL https://vite.plus | VP_PR_VERSION=2415 bash
# Windows (PowerShell)
$env:VP_PR_VERSION="2415"; irm https://vite.plus/ps1 | iex

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

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

Quick check:

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

See docs/guide/docker.md for usage.

@fengmk2 fengmk2 changed the title release: v0.2.9: two new commands, plus sturdier installs on npm 12, Yarn 2+, Bun, and slow networks release: v0.2.9: add vp toolchain and vp hooks, and fix vp run inside Codex and Claude Code sandboxes Aug 11, 2026
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant