Skip to content

release: v0.2.6: Stable type-aware linting and a refreshed toolchain#2217

Merged
wan9chi merged 4 commits into
mainfrom
release/v0.2.6
Jul 23, 2026
Merged

release: v0.2.6: Stable type-aware linting and a refreshed toolchain#2217
wan9chi merged 4 commits into
mainfrom
release/v0.2.6

Conversation

@voidzero-guard

@voidzero-guard voidzero-guard Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Release vite-plus v0.2.6: Stable type-aware linting and a refreshed toolchain.

This release moves Vite+'s type-aware linting to the stable tsgolint 7 engine, refreshes the bundled build and formatting tools, strengthens vp run caching and workspace discovery, and removes the redundant vp build startup banner.

Highlights

  • Move bundled type-aware linting to stable tsgolint 7 with 59 of 61 typescript-eslint type-aware rules, and update Vite 8.1.4 -> 8.1.5, Rolldown 1.1.5 -> 1.2.0, tsdown 0.22.7 -> 0.22.13, Oxlint 1.73.0 -> 1.75.0, oxlint-tsgolint 0.24.0 -> 7.0.2001, and Oxfmt 0.58.0 -> 0.60.0 (#2214), by @voidzero-guard[bot]
  • Improve vp run reliability by caching much larger automatically tracked input sets, discovering npm workspaces whose patterns start with ./, and reporting output-forwarding failures accurately (vite-task#554, vite-task#547, vite-task#552, #2215), by @wan9chi and @liangmiQwQ
  • Remove the redundant Vite startup banner from vp build output and fail fast when upstream Vite changes invalidate Vite+ branding patches (#2200, #2205), by @liangmiQwQ

Refactor

  • Deduplicate package-manager version gates in migration catalog handling (#2216), by @jong-kyung
  • Unify static and generated CLI help under one document model and renderer (#2211), by @jong-kyung
  • Reuse shared subprocess exit-status handling across global CLI command paths (#2196), by @jong-kyung

Docs

  • Fix broken documentation anchors and add Migration Rules to the Migrate sidebar (#2203), by @charpeni

Chore

  • Stabilize vp create build-approval snapshots by removing package-age timing from those fixtures (#2224), by @wan9chi
  • Remove the temporary release workflow dispatch used for the previous release (#2193), by @wan9chi
  • Share package-manager fixtures across CLI tests (#2197), by @jong-kyung
  • Remove stale raw Oxlint and Oxfmt development dependencies that bypassed repository editor configuration (#2187), by @liangmiQwQ

Bundled Versions

Tool Version Source
vite 8.1.5 5e7fe12
rolldown 1.2.0 03e1e34
tsdown 0.22.13 npm
vitest 4.1.10 npm
oxlint 1.75.0 npm
oxlint-tsgolint 7.0.2001 npm
oxfmt 0.60.0 npm

Upgrade

vp upgrade

New Contributors

Welcome @charpeni.

Full Changelog: v0.2.5...v0.2.6


Merging this PR will trigger the release workflow.

@netlify

netlify Bot commented Jul 22, 2026

Copy link
Copy Markdown

Deploy Preview for viteplus-preview canceled.

Name Link
🔨 Latest commit 7c27a20
🔍 Latest deploy log https://app.netlify.com/projects/viteplus-preview/deploys/6a619edb52929c0008b51659

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.
@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Native binary sizes (7c27a20)

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

Artifact Format Base PR Change
vp (Linux x64) Binary 10.31 MiB 10.31 MiB 0 B (0.00%)
vp (Linux x64) gzip -9 4.43 MiB 4.42 MiB -2.21 KiB (-0.05%)
NAPI (Linux x64) Binary 33.07 MiB 33.07 MiB 0 B (0.00%)
NAPI (Linux x64) gzip -9 12.72 MiB 12.72 MiB +20 B (+0.00%)
vp (macOS ARM64) Binary 7.64 MiB 7.64 MiB 0 B (0.00%)
vp (macOS ARM64) gzip -9 3.84 MiB 3.84 MiB -534 B (-0.01%)
NAPI (macOS ARM64) Binary 40.50 MiB 40.50 MiB 0 B (0.00%)
NAPI (macOS ARM64) gzip -9 16.97 MiB 16.97 MiB +416 B (+0.00%)
vp (Windows x64) Binary 8.35 MiB 8.35 MiB 0 B (0.00%)
vp (Windows x64) gzip -9 3.63 MiB 3.64 MiB +391 B (+0.01%)
NAPI (Windows x64) Binary 27.51 MiB 27.51 MiB 0 B (0.00%)
NAPI (Windows x64) gzip -9 10.70 MiB 10.70 MiB +964 B (+0.01%)
Trampoline (Windows x64) Binary 203.00 KiB 203.00 KiB 0 B (0.00%)
Trampoline (Windows x64) gzip -9 97.91 KiB 97.91 KiB 0 B (0.00%)
Installer (Windows x64) Binary 4.44 MiB 4.44 MiB 0 B (0.00%)
Installer (Windows x64) gzip -9 2.08 MiB 2.08 MiB +1 B (+0.00%)

@wan9chi wan9chi changed the title release: v0.2.6 release: v0.2.6: Stable type-aware linting and a refreshed toolchain Jul 22, 2026
@wan9chi wan9chi added the preview-build Publish this PR's commits to the registry bridge as preview builds label Jul 22, 2026
@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Registry bridge build (5793943)

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

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

# macOS / Linux
curl -fsSL https://vite.plus | VP_PR_VERSION=2217 bash
# Windows (PowerShell)
$env:VP_PR_VERSION="2217"; 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.57939439ddcb16d9f54ebf7d41432893182ee46d",
    "vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.57939439ddcb16d9f54ebf7d41432893182ee46d"
  }
}

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

Quick check:

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

See docs/guide/docker.md for usage.

This was referenced Jul 22, 2026
@wan9chi wan9chi 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 Jul 23, 2026
@liangmiQwQ

Copy link
Copy Markdown
Collaborator
  • Brand the vp build startup banner as vite+ v<Vite+ version> and guard the branding against upstream source drift (#2200, #2205), by @liangmiQwQ

@wan9chi 🙇 I forgot to update PR title so this might be outdated.

@wan9chi

wan9chi commented Jul 23, 2026

Copy link
Copy Markdown
Member

@liangmiQwQ Updated the release notes to match the final implementation: vp build removes the redundant Vite startup banner rather than rebranding it. Thanks for catching this.

wan9chi added a commit that referenced this pull request Jul 23, 2026
## Summary

- disable pnpm and Yarn package-age gates in the create approval-flow
fixtures
- regenerate snapshots around stable build-script approval behavior
- avoid wall-clock failures when pinned upstream dependencies mature

Fixes the cross-platform snapshot failures blocking #2217.

## Motivation

While preparing v0.2.6 in #2217, the three `create_approve_builds`
snapshots failed on Linux, macOS, and Windows. The release branch
inherited the dependency upgrade from #2214, including OXC 0.141.0.

When #2214 recorded these snapshots, the OXC packages were still inside
the package-manager age window. The pnpm snapshots therefore included
temporary `minimumReleaseAgeExclude` entries. The Yarn fixture stopped
at an OXC quarantine error before it reached the `core-js`
build-approval behavior that the fixture was meant to test.

By the time release CI ran, the same OXC packages were old enough to
install normally. No Vite+ behavior had changed, but pnpm no longer
generated the temporary exclusions and Yarn completed installation. The
resulting output was correct, but it no longer matched snapshots
captured under the earlier registry state.

Simply accepting the new snapshots would leave the fixtures dependent on
package publication time. A future dependency upgrade could make them
fail again while the new package is inside the age window.

These fixtures should only test whether `vp create` detects, reports,
and approves blocked build scripts. Disabling age gates in the three
fixture environments makes that behavior deterministic without changing
Vite+ or package-manager defaults for users. The regenerated snapshots
now cover pnpm `allowBuilds`, Yarn `dependenciesMeta.built`, and the
guidance shown when a build remains unapproved.

## Validation

- `pnpm build`
- `UPDATE_SNAPSHOTS=1 just snapshot-test create_approve_builds`
- `just snapshot-test create_approve_builds`
@wan9chi
wan9chi requested a review from cpojer July 23, 2026 05:07
@wan9chi
wan9chi removed the request for review from cpojer July 23, 2026 05:24

@wan9chi wan9chi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Release version bump and notes validated by the release trigger.

@wan9chi
wan9chi merged commit cd064c6 into main Jul 23, 2026
47 checks passed
@wan9chi
wan9chi deleted the release/v0.2.6 branch July 23, 2026 05:30
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.

2 participants