Skip to content

release: v0.3.1: manage package-manager versions with vp env - #2623

Merged
fengmk2 merged 3 commits into
mainfrom
release/v0.3.1
Sep 8, 2026
Merged

fengmk2 merged 3 commits into
mainfrom
release/v0.3.1

Conversation

@voidzero-guard

@voidzero-guard voidzero-guard Bot commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

vp env now manages Node.js and package-manager versions together. This release also fixes TanStack Start routing and stale Vitest aliases.

Breaking Changes

Package-manager setup

Vite+ replaces Corepack with managed npm, pnpm, yarn, and bun commands. It removes the corepack shim and legacy global package-manager installations (#2391), by @liangmiQwQ.

Replace Corepack setup commands in shell profiles, CI jobs, and Dockerfiles:

Previous setup Replacement
corepack enable vp env setup
vp install -g pnpm@<version> vp env default pnpm@<version>
vp install -g yarn@<version> vp env default yarn@<version>
vp install -g bun@<version> vp env default bun@<version>
vp install -g corepack Use the managed package-manager commands directly

Use vp env pin <manager>@<version> to set a project version.

vp env command scope and JSON output

Unscoped vp env commands now operate on Node.js and package managers. Package managers support independent defaults, project pins, session overrides, and installation commands (#2398), by @liangmiQwQ.

Add node to limit an operation to Node.js, for example, vp env off node or vp env unpin node. Bare versions, such as vp env default 22.19.0, still select Node.js.

Update scripts that read JSON output:

Command New output structure
vp env current --json node and package_manager objects
vp env list --json, vp env list-remote --json node and package_managers groups

See the environment guide.

vp pack migration to tsdown 0.23

vp pack now uses tsdown 0.23, which removes deprecated options and changes defaults (#2614), by @fengmk2.

  1. Run vp migrate to update supported static configurations and package scripts, including projects that already use Vite+.
  2. Check migration warnings in vite.config.*, tsdown.config.*, and package.json.
  3. Update dynamic configurations manually. Arrays built with .map() require manual changes, even when migration reports no warning.
  4. Run vp pack to check the result.
Previous option Replacement
bundle: false unbundle: true
outExtension outExtensions
publicDir / --public-dir copy / --copy
removeNodeProtocol: true nodeProtocol: 'strip'
injectStyle css.inject
inlineOnly / deps.onlyAllowBundle deps.onlyBundle
noExternal deps.alwaysBundle
skipNodeModulesBundle: true / deps.skipNodeModulesBundle: true deps.neverBundle: true
dts.tsgo: true / dts.oxc: true dts.generator: 'tsgo' / dts.generator: 'oxc'

Migration preserves the previous defaults for dependency resolution and ATTW.

tsdown no longer supports Node.js 25. Use Node.js ^22.18.0, ^24.11.0, or >=26.0.0. The programmatic build() API now returns { bundles, watch }.

See the complete migration guide for declaration and TypeScript module-resolution changes.

CLI argument validation

vp staged, vp config, vp hooks, vp migrate, and vp create now reject unsupported options and extra positional arguments (#2523), by @fengmk2.

Remove unsupported arguments from scripts. For example, replace vp config --hooks-only with vp config --no-agent.

Highlights

  • Fix TanStack Start HTTP 404 responses caused by separate Vite runtime copies (#2617), by @fengmk2.
  • Reduce the Windows vp-shim.exe size from 214 KiB to 14 KiB (#2466), by @fengmk2.
  • Add vp check --quiet to hide lint warning diagnostics while retaining errors and summary counts (#2593), by @RSS1102.

Features

  • Add vp sync-versions --json so automation can request dependency alignment plans from manifest snapshots without changing project files (#2600), by @afonsojramos.
  • Make vp create --git suggest an initial commit command after Git initialization (#2581), by @fengmk2.
  • Make vp migrate replace frozen voidzero-dev/setup-vp@v1 workflow references with the supported version pin (#2540), by @fengmk2.
  • Upgrade rolldown from 1.2.5 to 1.2.7, tsdown from 0.22.14 to 0.23.0, and Oxc from 0.146.0 to 0.148.0. Upgrade oxlint from 1.79.0 to 1.81.0 and oxfmt from 0.64.0 to 0.66.0. These versions can flag code that passed before. Run vp fmt after upgrading if CI runs vp check (#2580, #2613), by @voidzero-guard[bot].

Fixes & Enhancements

  • Resolve package-manager versions without rewriting package.json. Use vp env pin or vp env unpin to change project declarations explicitly (#2399), by @liangmiQwQ.
  • Let vp migrate repair stale vitest aliases that previously prevented the CLI from starting (#2605), by @fengmk2.
  • Keep Vite DevTools within the version ranges supported by the bundled Vite (#2559), by @fengmk2.
  • Keep automatic Vitest upgrades on the supported 4.x major (#2612), by @fengmk2.
  • Remove a deprecated tsdown option from the prompts package build (#2597), by @jong-kyung.

Refactor

  • Use the updated which dependency to resolve relative PATH entries (#2583), by @RSS1102.
  • Remove the unused async-trait annotation from JsRuntimeProvider (#2538), by @jong-kyung.

Docs

  • Add Azure Pipelines setup instructions (#2553), by @naokihaba.
  • Correct Zed Oxc formatter settings and include JSX and TSX (#2592), by @joschuba.
  • Add Wrangler deployment configuration for the documentation site (#2596), by @mdong1909.
  • Explain conflicts between pnpm and Vite+ runtime management, including the runtimeOnFail setting (#2620), by @liangmiQwQ.

Chore

  • Run CLI snapshots without published release packages (#2625), by @fengmk2.
  • Update the release-manager skill with package-install checks, changelog guidance, and announcement handling (#2548), by @fengmk2.
  • Wait for npm dependencies to become available before publishing dependent release packages (#2601), by @fengmk2.
  • Remove old Docker preview images (#2539), by @fengmk2.
  • Stabilize external-tool snapshots and isolate npm network cases (#2577, #2604), by @fengmk2.
  • Avoid unreliable Fish PPA setup in CI (#2560), by @fengmk2.
  • Update the vinext fixture to an upstream fix (#2571), by @jong-kyung.
  • Stabilize the pnpm snapshot and Nuxt build in CI (#2591), by @voidzero-guard[bot].
  • Pin pnpm in project-creation build-approval fixtures (#2616), by @liangmiQwQ.
  • Remove unused documentation components, assets, and the typewriter dependency (#2550, #2562), by @jong-kyung.
  • Remove duplicate tempfile dependencies, an unused runtime helper, and unused error variants. Update the unit_bindings lint name (#2555, #2558, #2566, #2567), by @jong-kyung.
  • Update GitHub Actions dependencies, including actions/setup-node v7 (#2544, #2545, #2582, #2618), by @renovate[bot].
  • Update crate-ci/typos through v1.50.1 (#2584, #2589, #2609), by @renovate[bot].
  • Update repository pnpm to 11.24.0 (#2590), by @renovate[bot].
  • Update voidzero-dev/setup-vp to v1.19.0 (#2619), by @renovate[bot].

Bundled Versions

Tool Version Source
vite 8.2.2 de1111a
rolldown 1.2.7 26b4c6e
tsdown 0.23.0 npm
vitest 4.1.11 npm
oxlint 1.81.0 npm
oxlint-tsgolint 7.0.2001 npm
oxfmt 0.66.0 npm

Upgrade

vp upgrade

New Contributors

@afonsojramos, @joschuba

Full Changelog: v0.3.0...v0.3.1


Merging this PR will trigger the release workflow.

@netlify

netlify Bot commented Sep 7, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for viteplus-preview canceled.

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

@fengmk2 fengmk2 changed the title release: v0.3.1 release: v0.3.1: manage package-manager versions with vp env Sep 7, 2026
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 7, 2026 •

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://release-v0-3-1-viteplus-dev.voidzero-docs.workers.dev (commit fbe9607)

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://3d1b44a4-viteplus-dev.voidzero-docs.workers.dev fbe9607 2026-09-08T01:45:17.584Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://26dcfb5f-viteplus-dev.voidzero-docs.workers.dev 8c38fc8 2026-09-07T16:01:36.642Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://de4da901-viteplus-dev.voidzero-docs.workers.dev 6d65e17 2026-09-07T14:38:38.338Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://c3be927a-viteplus-dev.voidzero-docs.workers.dev 5ee9859 2026-09-07T14:31:39.983Z Visit the dashboard ↗

@fengmk2 fengmk2 added the preview-build Publish this PR's commits to the registry bridge as preview builds label Sep 7, 2026
@github-actions

github-actions Bot commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

CLI artifact sizes (fbe9607)

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.14 MiB 2.14 MiB 0 B (0.00%)
packages/core/dist Directory total 3.92 MiB 3.92 MiB 0 B (0.00%)
Combined package dist Directory total 6.06 MiB 6.06 MiB 0 B (0.00%)
vp (Linux x64) Binary 10.99 MiB 10.99 MiB 0 B (0.00%)
vp (Linux x64) gzip -9 4.76 MiB 4.76 MiB +1.30 KiB (+0.03%)
NAPI (Linux x64) Binary 31.93 MiB 31.93 MiB 0 B (0.00%)
NAPI (Linux x64) gzip -9 12.61 MiB 12.61 MiB +1.15 KiB (+0.01%)
vp (macOS ARM64) Binary 8.19 MiB 8.19 MiB 0 B (0.00%)
vp (macOS ARM64) gzip -9 4.15 MiB 4.15 MiB -1.09 KiB (-0.03%)
NAPI (macOS ARM64) Binary 39.55 MiB 39.55 MiB 0 B (0.00%)
NAPI (macOS ARM64) gzip -9 16.93 MiB 16.92 MiB -5.16 KiB (-0.03%)
vp (Windows x64) Binary 8.86 MiB 8.86 MiB 0 B (0.00%)
vp (Windows x64) gzip -9 3.88 MiB 3.88 MiB -424 B (-0.01%)
NAPI (Windows x64) Binary 26.81 MiB 26.81 MiB 0 B (0.00%)
NAPI (Windows x64) gzip -9 10.70 MiB 10.70 MiB -155 B (-0.00%)
Trampoline (Windows x64) Binary 14.00 KiB 14.00 KiB 0 B (0.00%)
Trampoline (Windows x64) gzip -9 7.09 KiB 7.09 KiB -1 B (-0.01%)
Installer (Windows x64) Binary 4.50 MiB 4.50 MiB 0 B (0.00%)
Installer (Windows x64) gzip -9 2.11 MiB 2.11 MiB 0 B (0.00%)

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Registry bridge build (6d65e17)

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

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

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/voidzero-dev/vite-plus/6d65e1780791e2b24b27cf7deb63f57a420e78de/packages/cli/install.sh | VP_PR_VERSION=2623 bash
# Windows (PowerShell)
$env:VP_PR_VERSION="2623"; irm https://raw.githubusercontent.com/voidzero-dev/vite-plus/6d65e1780791e2b24b27cf7deb63f57a420e78de/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.6d65e1780791e2b24b27cf7deb63f57a420e78de" --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.6d65e1780791e2b24b27cf7deb63f57a420e78de",
    "vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.6d65e1780791e2b24b27cf7deb63f57a420e78de"
  }
}

@github-actions

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

Quick check:

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

See docs/guide/docker.md for usage.

voidzero-guard Bot and others added 3 commits September 8, 2026 09:43
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.
…kill

Adds a registry-visibility gate after npm publish. A green Release job only means the registry accepted the request; v0.3.0 shipped with vite-plus on latest depending on a core version that stayed invisible for about 35 minutes, breaking every install and failing the Docker and docs jobs.

Also drops the PR-title opener from the body template, records that Docs covers the published site rather than contributor files, keeps resolution logic out of entries, requires a migration path on breaking changes, and stops posting the Discord draft to the release PR.

(cherry picked from commit 54f70dd)
@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 labels Sep 8, 2026
@fengmk2
fengmk2 merged commit 13e1e5a into main Sep 8, 2026
168 of 197 checks passed
@fengmk2
fengmk2 deleted the release/v0.3.1 branch September 8, 2026 13:05
fengmk2 added a commit that referenced this pull request Oct 14, 2026
> [!NOTE]
> This PR body was truncated due to platform limits.

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [ast-grep-config](https://redirect.github.com/ast-grep/ast-grep) |
workspace.dependencies | minor | `0.40.1` → `0.50.0` |
| [ast-grep-core](https://ast-grep.github.io/)
([source](https://redirect.github.com/ast-grep/ast-grep)) |
workspace.dependencies | minor | `0.40.1` → `0.50.0` |
| [ast-grep-language](https://redirect.github.com/ast-grep/ast-grep) |
workspace.dependencies | minor | `0.40.1` → `0.50.0` |
| [brush-parser](https://redirect.github.com/reubeno/brush) |
workspace.dependencies | minor | `0.3.0` → `0.4.0` |
| [criterion](https://criterion-rs.github.io/book/index.html)
([source](https://redirect.github.com/criterion-rs/criterion.rs)) |
workspace.dependencies | minor | `0.7` → `0.8` |
| [css-module-lexer](https://redirect.github.com/web-infra-dev/rspack) |
workspace.dependencies | minor | `0.0.15` → `0.102.0` |
| [httpmock](https://redirect.github.com/httpmock/httpmock) |
workspace.dependencies | minor | `0.7` → `0.8` |
| [indoc](https://redirect.github.com/dtolnay/indoc) |
workspace.dependencies | patch | `2.0.7` → `2.0.8` |
| [js-semver](https://redirect.github.com/ryuapp/js-semver) |
workspace.dependencies | patch | `1.0.0` → `1.0.1` |
| [nix](https://redirect.github.com/nix-rust/nix) |
workspace.dependencies | minor | `0.30.1` → `0.31.0` |
| [pgp](https://redirect.github.com/rpgp/rpgp) | workspace.dependencies
| minor | `0.19.0` → `0.21.0` |
| [sha1](https://redirect.github.com/RustCrypto/hashes) |
workspace.dependencies | minor | `0.10.6` → `0.11.0` |
| [sha2](https://redirect.github.com/RustCrypto/hashes) |
workspace.dependencies | minor | `0.10.9` → `0.11.0` |
| [string_cache](https://redirect.github.com/servo/string-cache) |
workspace.dependencies | minor | `0.9.0` → `0.11.0` |
| [tokio-util](https://tokio.rs)
([source](https://redirect.github.com/tokio-rs/tokio)) |
workspace.dependencies | patch | `0.7.19` → `0.7.20` |
| [toml](https://redirect.github.com/toml-rs/toml) |
workspace.dependencies | patch | `1.1.6+spec-1.1.0` → `1.1.8` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the warning logs for
more information.

---

### Compatibility Changes

The migration code uses the `brush-parser` `0.4.0` constructor and
rewrites commands inside `coproc` bodies.

The script formatter preserves spaces before redirects after `[[ ...
]]`. This prevents invalid Bash scripts when migration rewrites another
command.

Hash assertions use `hex::encode` because the new `sha1` and `sha2`
digest types do not support `{:x}`.

The musl installer jobs pin Node.js to `24.21.0` because new Node.js
releases can precede their musl builds. A cached release index keeps the
published installer on the same version.

---

### Release Notes

<details>
<summary>ast-grep/ast-grep (ast-grep-config)</summary>

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

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

- feat(outline): add Java annotation type and element rules
[`#2955`](https://redirect.github.com/ast-grep/ast-grep/pull/2955)
- fix(outline): report Java private/protected fields in the outline
[`#2950`](https://redirect.github.com/ast-grep/ast-grep/pull/2950)
- feat(outline): add Java enum member rule
[`#2954`](https://redirect.github.com/ast-grep/ast-grep/pull/2954)
- chore(deps): update dependency
[@&#8203;types/node](https://redirect.github.com/types/node) to v24.19.1
[`#2983`](https://redirect.github.com/ast-grep/ast-grep/pull/2983)
- chore(deps): update dependency dprint to v0.60.1
[`#2984`](https://redirect.github.com/ast-grep/ast-grep/pull/2984)
- feat(outline): add Java module declaration rule
[`#2956`](https://redirect.github.com/ast-grep/ast-grep/pull/2956)
- chore(deps): update rust crate termimad to v0.35.5
[`#2925`](https://redirect.github.com/ast-grep/ast-grep/pull/2925)
- chore(deps): update rust crate napi-derive to v3.6.10
[`#2936`](https://redirect.github.com/ast-grep/ast-grep/pull/2936)
- chore(deps): update dependency
[@&#8203;napi-rs/cli](https://redirect.github.com/napi-rs/cli) to
v3.10.6
[`#2922`](https://redirect.github.com/ast-grep/ast-grep/pull/2922)
- chore(deps): update dependency chalk to v6.0.1
[`#2979`](https://redirect.github.com/ast-grep/ast-grep/pull/2979)
- chore(deps): update rust crate tokio to v1.53.2
[`#2981`](https://redirect.github.com/ast-grep/ast-grep/pull/2981)
- chore(deps): update rust crate thiserror to v2.0.21
[`#2966`](https://redirect.github.com/ast-grep/ast-grep/pull/2966)
- chore(deps): update dependency oxlint to v1.86.0
[`#2967`](https://redirect.github.com/ast-grep/ast-grep/pull/2967)
- chore(deps): update rust crate smallvec to v1.16.2
[`#2968`](https://redirect.github.com/ast-grep/ast-grep/pull/2968)
- feat(outline): add Java wildcard-import outline rules
[`#2948`](https://redirect.github.com/ast-grep/ast-grep/pull/2948)
- fix(outline): capture C/C++ declarator identifier names
[`#2946`](https://redirect.github.com/ast-grep/ast-grep/pull/2946)
- feat(cli): add trust and revoke custom language policies
[`#2972`](https://redirect.github.com/ast-grep/ast-grep/pull/2972)
- refactor(cli): extract custom language policy
[`#2977`](https://redirect.github.com/ast-grep/ast-grep/pull/2977)
- feat(cli): add custom language loading policy
[`#2971`](https://redirect.github.com/ast-grep/ast-grep/pull/2971)
- fix(schema): reject null relation fields
[`#2969`](https://redirect.github.com/ast-grep/ast-grep/pull/2969)
- chore(deps): update rust crate clap_complete to v4.6.11
[`#2965`](https://redirect.github.com/ast-grep/ast-grep/pull/2965)
- chore(deps): update rust crate clap to v4.6.7
[`#2964`](https://redirect.github.com/ast-grep/ast-grep/pull/2964)
- chore(deps): update rust crate napi to v3.13.0
[`#2932`](https://redirect.github.com/ast-grep/ast-grep/pull/2932)
- chore(deps): update dependency
[@&#8203;types/node](https://redirect.github.com/types/node) to v24.13.6
[`#2941`](https://redirect.github.com/ast-grep/ast-grep/pull/2941)
- feat(language): add Zig support
[`#2942`](https://redirect.github.com/ast-grep/ast-grep/pull/2942)
- fix: require opt-in for custom language libraries
[`#2960`](https://redirect.github.com/ast-grep/ast-grep/pull/2960)
- refactor: parse default run through app
[`#2962`](https://redirect.github.com/ast-grep/ast-grep/pull/2962)
- feat(outline): add Java record_declaration rule
[`#2945`](https://redirect.github.com/ast-grep/ast-grep/pull/2945)
- chore(deps): update rust crate toml_edit to v0.25.15
[`#2937`](https://redirect.github.com/ast-grep/ast-grep/pull/2937)
- chore(deps): update rust crate smallvec to v1.16.1
[`#2920`](https://redirect.github.com/ast-grep/ast-grep/pull/2920)
- chore(deps): update dependency
[@&#8203;types/node](https://redirect.github.com/types/node) to v24.13.4
[`#2931`](https://redirect.github.com/ast-grep/ast-grep/pull/2931)
- chore(deps): update dependency dprint to v0.57.4
[`#2926`](https://redirect.github.com/ast-grep/ast-grep/pull/2926)
- chore(deps): update dependency oxlint to v1.82.0
[`#2928`](https://redirect.github.com/ast-grep/ast-grep/pull/2928)
- chore(deps): update dependency oxlint to v1.81.0
[`#2919`](https://redirect.github.com/ast-grep/ast-grep/pull/2919)
- chore(deps): update rust crate termimad to v0.35.3
[`#2921`](https://redirect.github.com/ast-grep/ast-grep/pull/2921)
- chore(deps): update dependency dprint to v0.57.1
[`#2923`](https://redirect.github.com/ast-grep/ast-grep/pull/2923)
- chore(deps): update dependency
[@&#8203;ast-grep/napi](https://redirect.github.com/ast-grep/napi) to
v0.45.3
[`#2918`](https://redirect.github.com/ast-grep/ast-grep/pull/2918)
- feat(outline): add Java record_declaration rule
([#&#8203;2945](https://redirect.github.com/ast-grep/ast-grep/issues/2945))
[`#2944`](https://redirect.github.com/ast-grep/ast-grep/issues/2944)

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

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

> 30 August 2026

- chore(deps): update dependency dprint to v0.57.0
[`#2916`](https://redirect.github.com/ast-grep/ast-grep/pull/2916)
- feat: add min-severity cli
[`#2917`](https://redirect.github.com/ast-grep/ast-grep/pull/2917)
- fix(outline): anchor fallback signatures to names
[`#2913`](https://redirect.github.com/ast-grep/ast-grep/pull/2913)
- feat(outline): add Markdown heading support
[`#2912`](https://redirect.github.com/ast-grep/ast-grep/pull/2912)
- chore(deps): update dependency oxlint to v1.80.0
[`#2908`](https://redirect.github.com/ast-grep/ast-grep/pull/2908)
- chore(deps): update dependency
[@&#8203;ast-grep/napi](https://redirect.github.com/ast-grep/napi) to
v0.45.2
[`#2906`](https://redirect.github.com/ast-grep/ast-grep/pull/2906)
- feat: add min-severity cli
([#&#8203;2917](https://redirect.github.com/ast-grep/ast-grep/issues/2917))
[`#2720`](https://redirect.github.com/ast-grep/ast-grep/issues/2720)
- fix: ast-grep-ignore must be at first be the frist alphabet to take
effect
[`#2909`](https://redirect.github.com/ast-grep/ast-grep/issues/2909)
- chore: update tree-sitter 0.27
[`bb74529`](https://redirect.github.com/ast-grep/ast-grep/commit/bb745292b5e683822c27612858b5b0edb54e273e)
- fix: fix clippy
[`c6b32d7`](https://redirect.github.com/ast-grep/ast-grep/commit/c6b32d74ad12cea690cb331c88f004764df6e985)

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

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

> 23 August 2026

- chore(deps): update astral-sh/setup-uv action to v10
[`#2892`](https://redirect.github.com/ast-grep/ast-grep/pull/2892)
- chore(deps): update rust crate terminal-light to v1.9.1
[`#2905`](https://redirect.github.com/ast-grep/ast-grep/pull/2905)
- chore(deps): update dependency web-tree-sitter to v0.26.13
[`#2903`](https://redirect.github.com/ast-grep/ast-grep/pull/2903)
- chore(deps): update rust crate tree-sitter to v0.26.13
[`#2904`](https://redirect.github.com/ast-grep/ast-grep/pull/2904)
- chore(deps): update dependency dprint to v0.56.1
[`#2901`](https://redirect.github.com/ast-grep/ast-grep/pull/2901)
- chore(deps): update dependency
[@&#8203;napi-rs/cli](https://redirect.github.com/napi-rs/cli) to v3.8.6
[`#2882`](https://redirect.github.com/ast-grep/ast-grep/pull/2882)
- fix(deps): update rust-wasm-bindgen monorepo
[`#2878`](https://redirect.github.com/ast-grep/ast-grep/pull/2878)
- chore(deps): update dependency dprint to v0.56.0
[`#2896`](https://redirect.github.com/ast-grep/ast-grep/pull/2896)
- chore(deps): update dependency oxlint to v1.79.0
[`#2897`](https://redirect.github.com/ast-grep/ast-grep/pull/2897)
- chore(deps): update dependency
[@&#8203;ast-grep/napi](https://redirect.github.com/ast-grep/napi) to
v0.45.1
[`#2876`](https://redirect.github.com/ast-grep/ast-grep/pull/2876)
- chore(deps): update dependency web-tree-sitter to v0.26.12
[`#2880`](https://redirect.github.com/ast-grep/ast-grep/pull/2880)
- fix: exit quietly on broken pipe instead of erroring
[`#2887`](https://redirect.github.com/ast-grep/ast-grep/pull/2887)
- feat(outline): extract embedded language symbols
[`#2883`](https://redirect.github.com/ast-grep/ast-grep/pull/2883)
- chore(deps): update dependency oxlint to v1.78.0
[`#2888`](https://redirect.github.com/ast-grep/ast-grep/pull/2888)
- feat: add namedChildren support to wasm
[`#2893`](https://redirect.github.com/ast-grep/ast-grep/issues/2893)
- feat: add namedChildren to napi
[`#2893`](https://redirect.github.com/ast-grep/ast-grep/issues/2893)
- feat: add named_children to pyo3
[`4dc0d36`](https://redirect.github.com/ast-grep/ast-grep/commit/4dc0d3605ac027e45f5feb811966fe7b8220d246)
- fix: bump down napi
[`61f1b98`](https://redirect.github.com/ast-grep/ast-grep/commit/61f1b98cc2379b9a6d37173257612b5aac3473da)
- chore: bump deps
[`912da32`](https://redirect.github.com/ast-grep/ast-grep/commit/912da3272afd258ec464ee8c2e52d19059a620e4)

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

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

> 7 August 2026

- fix: match root metavariables against comments
[`#2868`](https://redirect.github.com/ast-grep/ast-grep/pull/2868)
- feat(outline): add C# multiline member signatures
[`#2861`](https://redirect.github.com/ast-grep/ast-grep/pull/2861)
- chore(deps): update rust crate ignore to v0.4.32
[`#2864`](https://redirect.github.com/ast-grep/ast-grep/pull/2864)
- chore(deps): update dependency oxlint to v1.77.0
[`#2865`](https://redirect.github.com/ast-grep/ast-grep/pull/2865)
- chore(deps): update dependency typescript to v7
[`#2833`](https://redirect.github.com/ast-grep/ast-grep/pull/2833)
- chore(deps): update astral-sh/setup-uv action to v9
[`#2839`](https://redirect.github.com/ast-grep/ast-grep/pull/2839)
- chore(deps): update dependency smol-toml to v1.7.1
[`#2848`](https://redirect.github.com/ast-grep/ast-grep/pull/2848)
- chore(deps): update dependency
[@&#8203;napi-rs/cli](https://redirect.github.com/napi-rs/cli) to v3.8.2
[`#2854`](https://redirect.github.com/ast-grep/ast-grep/pull/2854)
- chore(deps): update dependency chalk to v6
[`#2849`](https://redirect.github.com/ast-grep/ast-grep/pull/2849)
- chore(deps): update rust crate clap to v4.6.5
[`#2860`](https://redirect.github.com/ast-grep/ast-grep/pull/2860)
- chore(deps): update rust crate clap_complete to v4.6.8
[`#2850`](https://redirect.github.com/ast-grep/ast-grep/pull/2850)
- chore(deps): update rust crate schemars to v1.2.2
[`#2851`](https://redirect.github.com/ast-grep/ast-grep/pull/2851)
- chore(deps): update dependency oxlint to v1.76.0
[`#2852`](https://redirect.github.com/ast-grep/ast-grep/pull/2852)
- chore(deps): update rust crate napi to v3.12.0
[`#2855`](https://redirect.github.com/ast-grep/ast-grep/pull/2855)
- chore(deps): update rust crate napi-derive to v3.6.2
[`#2853`](https://redirect.github.com/ast-grep/ast-grep/pull/2853)
- Use `std::io::IsTerminal` over `atty`
[`#2857`](https://redirect.github.com/ast-grep/ast-grep/pull/2857)
- chore(deps): update dependency
[@&#8203;ast-grep/napi](https://redirect.github.com/ast-grep/napi) to
v0.45.0
[`#2844`](https://redirect.github.com/ast-grep/ast-grep/pull/2844)
- chore: bump deps
[`2ac18ca`](https://redirect.github.com/ast-grep/ast-grep/commit/2ac18ca571a5d6a50dd549d7bf9b0cb704f0dd87)

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

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

> 23 July 2026

- feat: deprecate the sg command
[`#2843`](https://redirect.github.com/ast-grep/ast-grep/pull/2843)
- fix: avoid Defender false positive for Windows sg
[`#2842`](https://redirect.github.com/ast-grep/ast-grep/pull/2842)
- chore(deps): update dependency
[@&#8203;napi-rs/cli](https://redirect.github.com/napi-rs/cli) to v3.7.4
[`#2834`](https://redirect.github.com/ast-grep/ast-grep/pull/2834)
- chore(deps): update dependency oxlint to v1.75.0
[`#2838`](https://redirect.github.com/ast-grep/ast-grep/pull/2838)
- chore(deps): update actions/setup-node action to v7
[`#2810`](https://redirect.github.com/ast-grep/ast-grep/pull/2810)
- chore(deps): update actions/setup-python action to v7
[`#2829`](https://redirect.github.com/ast-grep/ast-grep/pull/2829)
- fix: specify correct MSRV in Cargo.toml
[`#2837`](https://redirect.github.com/ast-grep/ast-grep/pull/2837)
- Revert "chore(deps): update dependency typescript to v7
([#&#8203;2795](https://redirect.github.com/ast-grep/ast-grep/issues/2795))"
[`#2831`](https://redirect.github.com/ast-grep/ast-grep/pull/2831)
- chore(deps): update astral-sh/setup-uv action to v8.3.2
[`#2790`](https://redirect.github.com/ast-grep/ast-grep/pull/2790)
- chore(deps): update dependency typescript to v7
[`#2795`](https://redirect.github.com/ast-grep/ast-grep/pull/2795)
- chore(deps): update rust crate thiserror to v2.0.19
[`#2819`](https://redirect.github.com/ast-grep/ast-grep/pull/2819)
- chore(deps): update dependency
[@&#8203;napi-rs/cli](https://redirect.github.com/napi-rs/cli) to v3.7.3
[`#2801`](https://redirect.github.com/ast-grep/ast-grep/pull/2801)
- chore(deps): update dependency web-tree-sitter to v0.26.11
[`#2802`](https://redirect.github.com/ast-grep/ast-grep/pull/2802)
- chore(deps): update rust crate target-triple to v1.0.1
[`#2817`](https://redirect.github.com/ast-grep/ast-grep/pull/2817)
- chore(deps): update dependency oxlint to v1.74.0
[`#2809`](https://redirect.github.com/ast-grep/ast-grep/pull/2809)
- chore(deps): update dependency dprint to v0.55.2
[`#2808`](https://redirect.github.com/ast-grep/ast-grep/pull/2808)
- chore(deps): update dependency
[@&#8203;ast-grep/napi](https://redirect.github.com/ast-grep/napi) to
v0.44.1
[`#2789`](https://redirect.github.com/ast-grep/ast-grep/pull/2789)
- chore(deps): update dependency oxlint to v1.73.0
[`#2793`](https://redirect.github.com/ast-grep/ast-grep/pull/2793)
- chore(deps): update dependency
[@&#8203;types/node](https://redirect.github.com/types/node) to v24.13.3
[`#2794`](https://redirect.github.com/ast-grep/ast-grep/pull/2794)
- chore(deps): update rust crate bit-set to 0.11.0
[`#2791`](https://redirect.github.com/ast-grep/ast-grep/pull/2791)
- fix: use is_extra instead of comment heuristic
[`#2821`](https://redirect.github.com/ast-grep/ast-grep/issues/2821)
- fix: stop using ignore files outside rule_dirs
[`#2803`](https://redirect.github.com/ast-grep/ast-grep/issues/2803)
- chore: update dependencies
[`b24ca85`](https://redirect.github.com/ast-grep/ast-grep/commit/b24ca85a7aa5aa3e0925da575e8800209f918421)
- feat(outline): support ambient TypeScript modules
[`4f75c21`](https://redirect.github.com/ast-grep/ast-grep/commit/4f75c214094e46d0d3f026674027036459840d61)
- chore: bump versions
[`82eb291`](https://redirect.github.com/ast-grep/ast-grep/commit/82eb2916782ae5ed572813272f5845214b5aa321)

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

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

> 4 July 2026

- chore(deps): update rust crate napi to v3.10.3
[`#2786`](https://redirect.github.com/ast-grep/ast-grep/pull/2786)
- chore(deps): update rust crate napi-derive to v3.5.9
[`#2785`](https://redirect.github.com/ast-grep/ast-grep/pull/2785)
- chore(deps): update dependency oxlint to v1.72.0
[`#2780`](https://redirect.github.com/ast-grep/ast-grep/pull/2780)
- chore(deps): update rust crate terminal-light to v1.9.0
[`#2781`](https://redirect.github.com/ast-grep/ast-grep/pull/2781)
- chore(deps): update rust crate clap_complete to v4.6.7
[`#2783`](https://redirect.github.com/ast-grep/ast-grep/pull/2783)
- chore(deps): update rust crate ignore to v0.4.27
[`#2784`](https://redirect.github.com/ast-grep/ast-grep/pull/2784)
- fix(cli): bound outline file queue
[`#2787`](https://redirect.github.com/ast-grep/ast-grep/pull/2787)
- chore(deps): update rust crate clap_complete to v4.6.6
[`#2782`](https://redirect.github.com/ast-grep/ast-grep/pull/2782)
- chore(deps): update dependency
[@&#8203;ast-grep/napi](https://redirect.github.com/ast-grep/napi) to
v0.44.0
[`#2764`](https://redirect.github.com/ast-grep/ast-grep/pull/2764)
- chore(deps): update rust crate tree-sitter to v0.26.10
[`#2779`](https://redirect.github.com/ast-grep/ast-grep/pull/2779)
- chore(deps): update dependency web-tree-sitter to v0.26.10
[`#2778`](https://redirect.github.com/ast-grep/ast-grep/pull/2778)
- chore(deps): update dependency dprint to v0.55.1
[`#2776`](https://redirect.github.com/ast-grep/ast-grep/pull/2776)
- chore(deps): update dependency
[@&#8203;napi-rs/cli](https://redirect.github.com/napi-rs/cli) to v3.7.2
[`#2667`](https://redirect.github.com/ast-grep/ast-grep/pull/2667)
- chore(deps): update rust crate napi to v3.9.4
[`#2696`](https://redirect.github.com/ast-grep/ast-grep/pull/2696)
- chore(deps): update rust crate napi-derive to v3.5.7
[`#2768`](https://redirect.github.com/ast-grep/ast-grep/pull/2768)
- chore(deps): update rust crate anyhow to v1.0.103
[`#2774`](https://redirect.github.com/ast-grep/ast-grep/pull/2774)
- feat: load custom language outline rules from config
[`#2777`](https://redirect.github.com/ast-grep/ast-grep/pull/2777)
- fix(deps): update rust-wasm-bindgen monorepo
[`#2775`](https://redirect.github.com/ast-grep/ast-grep/pull/2775)
- chore(deps): update actions/cache action to v6
[`#2767`](https://redirect.github.com/ast-grep/ast-grep/pull/2767)
- feat: Support \*.bazel files in python
[`#2771`](https://redirect.github.com/ast-grep/ast-grep/pull/2771)
- chore(deps): update oxlint monorepo
[`#2765`](https://redirect.github.com/ast-grep/ast-grep/pull/2765)
- feat: add outline rules for more builtin languages
[`07778fb`](https://redirect.github.com/ast-grep/ast-grep/commit/07778fb326765363557811d5b24e901399bfbdec)
- fix: update pyo3 deps
[`1713e86`](https://redirect.github.com/ast-grep/ast-grep/commit/1713e86fd5960accbe59532eafaf307c6330b303)

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

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

> 21 June 2026

- chore: move outline docs and benchmarks out of repo
[`#2763`](https://redirect.github.com/ast-grep/ast-grep/pull/2763)
- chore(deps): update dependency smol-toml to v1.7.0
[`#2762`](https://redirect.github.com/ast-grep/ast-grep/pull/2762)
- Add JavaScript outline rules and stream JSON files
[`#2761`](https://redirect.github.com/ast-grep/ast-grep/pull/2761)
- fix: reject root multi-metavariable patterns
[`#2727`](https://redirect.github.com/ast-grep/ast-grep/pull/2727)
- fix: don't leak metavar bindings across siblings in nthChild ofRule
[`#2677`](https://redirect.github.com/ast-grep/ast-grep/pull/2677)
- fix: extract python from-import modules in outline
[`#2758`](https://redirect.github.com/ast-grep/ast-grep/pull/2758)
- fix: match go outline types by declaration
[`#2759`](https://redirect.github.com/ast-grep/ast-grep/pull/2759)
- fix: skip empty files in outline
[`#2757`](https://redirect.github.com/ast-grep/ast-grep/pull/2757)
- feat: mark duplicate outline names
[`#2756`](https://redirect.github.com/ast-grep/ast-grep/pull/2756)
- refactor: inline outline member kind lookup
[`#2755`](https://redirect.github.com/ast-grep/ast-grep/pull/2755)
- refactor: make outline extract return iterator
[`#2754`](https://redirect.github.com/ast-grep/ast-grep/pull/2754)
- refactor: stream outline extraction items
[`#2753`](https://redirect.github.com/ast-grep/ast-grep/pull/2753)
- perf: use single traversal for outline extraction
[`#2751`](https://redirect.github.com/ast-grep/ast-grep/pull/2751)
- perf: cache transform replace regexes
[`#2750`](https://redirect.github.com/ast-grep/ast-grep/pull/2750)
- fix: don't leak metavar bindings from a negated `not` rule
[`#2676`](https://redirect.github.com/ast-grep/ast-grep/pull/2676)
- refactor: fold outline extract options into extractors
[`#2749`](https://redirect.github.com/ast-grep/ast-grep/pull/2749)
- refactor: split outline extract options and style
[`#2748`](https://redirect.github.com/ast-grep/ast-grep/pull/2748)
- refactor: map outline cli to core options
[`#2747`](https://redirect.github.com/ast-grep/ast-grep/pull/2747)
- feat: apply outline extractor options
[`#2746`](https://redirect.github.com/ast-grep/ast-grep/pull/2746)
- feat: add outline extractor options
[`#2745`](https://redirect.github.com/ast-grep/ast-grep/pull/2745)
- fix: simplify some code
[`#2744`](https://redirect.github.com/ast-grep/ast-grep/pull/2744)
- fix: trailing ast-grep-ignore on a multi-line statement suppresses it
[`#2678`](https://redirect.github.com/ast-grep/ast-grep/pull/2678)
- chore(deps): update actions/checkout action to v7
[`#2731`](https://redirect.github.com/ast-grep/ast-grep/pull/2731)
- fix: cover async rust outline rules
[`#2743`](https://redirect.github.com/ast-grep/ast-grep/pull/2743)
- feat: add bundled outline rules for more languages
[`#2739`](https://redirect.github.com/ast-grep/ast-grep/pull/2739)
- feat: add outline CLI command
[`#2738`](https://redirect.github.com/ast-grep/ast-grep/pull/2738)
- perf: use cursor-backed outline traversal
[`#2737`](https://redirect.github.com/ast-grep/ast-grep/pull/2737)
- feat: run outline extractors
[`#2729`](https://redirect.github.com/ast-grep/ast-grep/pull/2729)
- chore(deps): update oxlint monorepo to v1.70.0
[`#2726`](https://redirect.github.com/ast-grep/ast-grep/pull/2726)
- refactor: split fixer variable validation
[`#2724`](https://redirect.github.com/ast-grep/ast-grep/pull/2724)
- refactor: validate rule core directly
[`#2723`](https://redirect.github.com/ast-grep/ast-grep/pull/2723)
- test: move matcher tests to rule core
[`#2722`](https://redirect.github.com/ast-grep/ast-grep/pull/2722)
- refactor: wrap rewriter config errors
[`#2721`](https://redirect.github.com/ast-grep/ast-grep/pull/2721)
- test: validate global rule fix vars via rule config
[`#2719`](https://redirect.github.com/ast-grep/ast-grep/pull/2719)
- fix: check undefined meta var in fix
[`#2718`](https://redirect.github.com/ast-grep/ast-grep/pull/2718)
- **Breaking change:** fix: remove fix from SerializableCore
[`#2717`](https://redirect.github.com/ast-grep/ast-grep/pull/2717)
- fix: preserve unused suppression fixer
[`#2716`](https://redirect.github.com/ast-grep/ast-grep/pull/2716)
- **Breaking change:** refactor: move optional fixer to RuleConfig
[`#2715`](https://redirect.github.com/ast-grep/ast-grep/pull/2715)
- fix: add fixer var check
[`#2714`](https://redirect.github.com/ast-grep/ast-grep/pull/2714)
- Refactor rule config
[`#2713`](https://redirect.github.com/ast-grep/ast-grep/pull/2713)
- **Breaking change:** refactor: mvoe rewriters into
SerializableRuleCore
[`#2711`](https://redirect.github.com/ast-grep/ast-grep/pull/2711)
- refactor: move rewriter out
[`#2712`](https://redirect.github.com/ast-grep/ast-grep/pull/2712)
- feat: add outline rule schema
[`#2710`](https://redirect.github.com/ast-grep/ast-grep/pull/2710)
- docs: remove outline target alias fields
[`#2709`](https://redirect.github.com/ast-grep/ast-grep/pull/2709)
- chore(deps): update rust crate smallvec to v1.15.2
[`#2701`](https://redirect.github.com/ast-grep/ast-grep/pull/2701)
- fix(deps): update rust-wasm-bindgen monorepo
[`#2704`](https://redirect.github.com/ast-grep/ast-grep/pull/2704)
- fix: remove unused trait/methods
[`#2708`](https://redirect.github.com/ast-grep/ast-grep/pull/2708)
- feat: add outline entry model
[`#2703`](https://redirect.github.com/ast-grep/ast-grep/pull/2703)
- refactor: remove legacy outline placeholders
[`#2702`](https://redirect.github.com/ast-grep/ast-grep/pull/2702)
- feat: add outline CLI shell
[`#2700`](https://redirect.github.com/ast-grep/ast-grep/pull/2700)
- fix(deps): update rust-wasm-bindgen monorepo
[`#2693`](https://redirect.github.com/ast-grep/ast-grep/pull/2693)
- chore(deps): update oxlint monorepo to v1.69.0
[`#2692`](https://redirect.github.com/ast-grep/ast-grep/pull/2692)
- chore(deps): update rust crate regex to v1.12.4
[`#2694`](https://redirect.github.com/ast-grep/ast-grep/pull/2694)
- chore(deps): update dependency
[@&#8203;types/node](https://redirect.github.com/types/node) to v24.13.2
[`#2698`](https://redirect.github.com/ast-grep/ast-grep/pull/2698)
- doc: design outline command
[`#2699`](https://redirect.github.com/ast-grep/ast-grep/pull/2699)
- Outline first builtin rule
[`#2695`](https://redirect.github.com/ast-grep/ast-grep/pull/2695)
- chore(deps): update rust crate tree-sitter-swift to v0.7.3
[`#2672`](https://redirect.github.com/ast-grep/ast-grep/pull/2672)
- chore(deps): update astral-sh/setup-uv action to v8.2.0
[`#2680`](https://redirect.github.com/ast-grep/ast-grep/pull/2680)
- feat: add outline rule definition
[`#2691`](https://redirect.github.com/ast-grep/ast-grep/pull/2691)
- feat: add outline item model
[`#2690`](https://redirect.github.com/ast-grep/ast-grep/pull/2690)
- chore(deps): update codecov/codecov-action action to v7
[`#2686`](https://redirect.github.com/ast-grep/ast-grep/pull/2686)
- feat: add outline command stub
[`#2689`](https://redirect.github.com/ast-grep/ast-grep/pull/2689)
- chore(deps): update dependency
[@&#8203;types/node](https://redirect.github.com/types/node) to v24.13.1
[`#2682`](https://redirect.github.com/ast-grep/ast-grep/pull/2682)
- chore(deps): update rust crate ignore to v0.4.26
[`#2683`](https://redirect.github.com/ast-grep/ast-grep/pull/2683)
- fix: remove all impl, start from scratch
[`#2688`](https://redirect.github.com/ast-grep/ast-grep/pull/2688)
- fix: remove all impl, start from scratch
[`#2687`](https://redirect.github.com/ast-grep/ast-grep/pull/2687)
- fix: report unfixable scan hits with update-all
[`#2684`](https://redirect.github.com/ast-grep/ast-grep/pull/2684)
- Fix typos in comments and grammar in --help text
[`#2674`](https://redirect.github.com/ast-grep/ast-grep/pull/2674)
- chore(deps): update dependency oxlint to v1.68.0
[`#2673`](https://redirect.github.com/ast-grep/ast-grep/pull/2673)
- fix: don't leak metavar bindings from ellipsis-end lookahead
[`#2670`](https://redirect.github.com/ast-grep/ast-grep/pull/2670)
- refactor: collapse nested ifs with let chains
[`#2671`](https://redirect.github.com/ast-grep/ast-grep/pull/2671)
- chore(deps): update rust crate toml_edit to v0.25.12
[`#2666`](https://redirect.github.com/ast-grep/ast-grep/pull/2666)
- chore(deps): update dependency oxlint to v1.67.0
[`#2665`](https://redirect.github.com/ast-grep/ast-grep/pull/2665)
- chore(deps): update dependency
[@&#8203;ast-grep/napi](https://redirect.github.com/ast-grep/napi) to
v0.43.0
[`#2664`](https://redirect.github.com/ast-grep/ast-grep/pull/2664)
- add benchmark
[`b488bd3`](https://redirect.github.com/ast-grep/ast-grep/commit/b488bd3ea1fbd62e354831ab3b6bf71439e6e004)
- vibe
[`6f89a3d`](https://redirect.github.com/ast-grep/ast-grep/commit/6f89a3d8b9260666908b68007dff487b599d1a95)
- fix: update outline rule loading
[`202d8b8`](https://redirect.github.com/ast-grep/ast-grep/commit/202d8b89ddadaa6e1d30eefcc0136b83d98b5222)

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

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

> 25 May 2026

- chore(deps): update dependency
[@&#8203;types/node](https://redirect.github.com/types/node) to v24.12.4
[`#2636`](https://redirect.github.com/ast-grep/ast-grep/pull/2636)
- chore(deps): update rust crate assert_cmd to v2.2.2
[`#2632`](https://redirect.github.com/ast-grep/ast-grep/pull/2632)
- chore(deps): update rust crate similar to v3.1.1
[`#2662`](https://redirect.github.com/ast-grep/ast-grep/pull/2662)
- fix(lsp): initialize tracing subscriber to surface tower-lsp errors
[`#2639`](https://redirect.github.com/ast-grep/ast-grep/pull/2639)
- fix(deps): update rust-wasm-bindgen monorepo
[`#2660`](https://redirect.github.com/ast-grep/ast-grep/pull/2660)
- chore(deps): update rust crate tree-sitter to v0.26.9
[`#2656`](https://redirect.github.com/ast-grep/ast-grep/pull/2656)
- chore(deps): update rust crate serde_json to v1.0.150
[`#2659`](https://redirect.github.com/ast-grep/ast-grep/pull/2659)
- chore(deps): update rust crate clap_complete to v4.6.5
[`#2634`](https://redirect.github.com/ast-grep/ast-grep/pull/2634)
- chore(deps): update dependency
[@&#8203;ast-grep/napi](https://redirect.github.com/ast-grep/napi) to
v0.42.3
[`#2653`](https://redirect.github.com/ast-grep/ast-grep/pull/2653)
- chore(deps): update dependency oxlint to v1.66.0
[`#2651`](https://redirect.github.com/ast-grep/ast-grep/pull/2651)
- chore(deps): update dependency web-tree-sitter to v0.26.9
[`#2654`](https://redirect.github.com/ast-grep/ast-grep/pull/2654)
- fix: strip trailing comment artifact in comment suppression
[`#2644`](https://redirect.github.com/ast-grep/ast-grep/issues/2644)
- feat: support ESQuery style selector in run command
[`#2663`](https://redirect.github.com/ast-grep/ast-grep/issues/2663)
- feat: add --follow arg for sg test
[`#2657`](https://redirect.github.com/ast-grep/ast-grep/issues/2657)
- test: add test for run --kind
[`d0d0b30`](https://redirect.github.com/ast-grep/ast-grep/commit/d0d0b3003e19593c16dd91c9e26d77567971e477)
- feat: add markdown support
[`beacc9e`](https://redirect.github.com/ast-grep/ast-grep/commit/beacc9e40c81e33bb3f94298e4a5b6cb046c0d56)
- fix: use Rule instead of pattern in run
[`2759fda`](https://redirect.github.com/ast-grep/ast-grep/commit/2759fdaeb9e15264276b8671a565d591d93e8e36)

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

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

> 19 May 2026

- feat: support nth-last-child esquery
[`#2631`](https://redirect.github.com/ast-grep/ast-grep/pull/2631)
- chore(deps): update rust crate dashmap to v6.2.1
[`#2645`](https://redirect.github.com/ast-grep/ast-grep/pull/2645)
- chore(deps): update dependency oxlint to v1.65.0
[`#2635`](https://redirect.github.com/ast-grep/ast-grep/pull/2635)
- chore(deps): update rust crate napi-derive to v3.5.6
[`#2642`](https://redirect.github.com/ast-grep/ast-grep/pull/2642)
- chore(deps): update rust crate napi-build to v2.3.2
[`#2641`](https://redirect.github.com/ast-grep/ast-grep/pull/2641)
- chore(deps): update rust crate napi to v3.9.0
[`#2643`](https://redirect.github.com/ast-grep/ast-grep/pull/2643)
- chore(deps): update dependency
[@&#8203;ast-grep/napi](https://redirect.github.com/ast-grep/napi) to
v0.42.2
[`#2630`](https://redirect.github.com/ast-grep/ast-grep/pull/2630)
- fix: fix windows installation
[`4021ae0`](https://redirect.github.com/ast-grep/ast-grep/commit/4021ae076f15ae6833d6e69f6429555071b4eac8)

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

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

> 10 May 2026

- chore(deps): update rust crate tokio to v1.52.3
[`#2620`](https://redirect.github.com/ast-grep/ast-grep/pull/2620)
- fix(deps): update rust-wasm-bindgen monorepo
[`#2623`](https://redirect.github.com/ast-grep/ast-grep/pull/2623)
- chore(deps): update rust crate clap_complete to v4.6.4
[`#2627`](https://redirect.github.com/ast-grep/ast-grep/pull/2627)
- chore(deps): update dependency
[@&#8203;types/node](https://redirect.github.com/types/node) to v24.12.3
[`#2624`](https://redirect.github.com/ast-grep/ast-grep/pull/2624)
- chore(deps): update rust crate tree-sitter-swift to v0.7.2
[`#2619`](https://redirect.github.com/ast-grep/ast-grep/pull/2619)
- chore(deps): update dependency oxlint to v1.63.0
[`#2621`](https://redirect.github.com/ast-grep/ast-grep/pull/2621)
- fix: replace postinstall script with binary resolution in ast-grep
[`#2595`](https://redirect.github.com/ast-grep/ast-grep/pull/2595)
- fix(lsp): use cwd instead of config dir as workspace fallback
[`#2600`](https://redirect.github.com/ast-grep/ast-grep/pull/2600)
- fix(deps): update rust-wasm-bindgen monorepo
[`#2613`](https://redirect.github.com/ast-grep/ast-grep/pull/2613)
- chore(deps): update rust crate napi-derive to v3.5.5
[`#2615`](https://redirect.github.com/ast-grep/ast-grep/pull/2615)
- chore(deps): update rust crate napi to v3.8.6
[`#2614`](https://redirect.github.com/ast-grep/ast-grep/pull/2614)
- chore(deps): update rust crate clap_complete to v4.6.3
[`#2610`](https://redirect.github.com/ast-grep/ast-grep/pull/2610)
- chore(deps): update dependency oxlint to v1.62.0
[`#2611`](https://redirect.github.com/ast-grep/ast-grep/pull/2611)
- chore(deps): update astral-sh/setup-uv action to v8
[`#2604`](https://redirect.github.com/ast-grep/ast-grep/pull/2604)
- chore(deps): update rust crate tree-sitter-c to v0.24.2
[`#2608`](https://redirect.github.com/ast-grep/ast-grep/pull/2608)
- fix(deps): update rust crate tree-sitter-dart to 0.2.0
[`#2609`](https://redirect.github.com/ast-grep/ast-grep/pull/2609)
- chore(deps): update robinraju/release-downloader action to v1.13
[`#2606`](https://redirect.github.com/ast-grep/ast-grep/pull/2606)
- fix(lsp): report unused suppressions without rules
[`#2607`](https://redirect.github.com/ast-grep/ast-grep/pull/2607)
- chore(deps): update rust crate clap_complete to v4.6.2
[`#2589`](https://redirect.github.com/ast-grep/ast-grep/pull/2589)
- chore(deps): update dependency oxlint to v1.61.0
[`#2605`](https://redirect.github.com/ast-grep/ast-grep/pull/2605)
- chore(deps): update rust crate similar to v3.1.0
[`#2587`](https://redirect.github.com/ast-grep/ast-grep/pull/2587)
- fix(deps): update rust crate tree-sitter-scala to 0.26.0
[`#2602`](https://redirect.github.com/ast-grep/ast-grep/pull/2602)
- chore(deps): update rust crate tree-sitter-scala to v0.25.1
[`#2601`](https://redirect.github.com/ast-grep/ast-grep/pull/2601)
- chore(deps): update rust crate tree-sitter-c-sharp to v0.23.5
[`#2591`](https://redirect.github.com/ast-grep/ast-grep/pull/2591)
- chore(deps): update dependency oxlint to v1.60.0
[`#2588`](https://redirect.github.com/ast-grep/ast-grep/pull/2588)
- chore(deps): update rust crate assert_cmd to v2.2.1
[`#2599`](https://redirect.github.com/ast-grep/ast-grep/pull/2599)
- chore(deps): update dependency typescript to v6.0.3
[`#2598`](https://redirect.github.com/ast-grep/ast-grep/pull/2598)
- chore(deps): update dependency
[@&#8203;napi-rs/cli](https://redirect.github.com/napi-rs/cli) to v3.6.2
[`#2593`](https://redirect.github.com/ast-grep/ast-grep/pull/2593)
- chore(deps): update rust crate napi-derive to v3.5.4
[`#2597`](https://redirect.github.com/ast-grep/ast-grep/pull/2597)
- chore(deps): update rust crate napi to v3.8.5
[`#2596`](https://redirect.github.com/ast-grep/ast-grep/pull/2596)
- chore(deps): update rust crate tokio to v1.52.1
[`#2592`](https://redirect.github.com/ast-grep/ast-grep/pull/2592)
- chore(deps): update rust crate clap to v4.6.1
[`#2594`](https://redirect.github.com/ast-grep/ast-grep/pull/2594)
- chore(deps): update pyo3/maturin-action action to v1.51.0
[`#2510`](https://redirect.github.com/ast-grep/ast-grep/pull/2510)
- fix(deps): update rust-wasm-bindgen monorepo
[`#2568`](https://redirect.github.com/ast-grep/ast-grep/pull/2568)
- chore(deps): update dependency
[@&#8203;napi-rs/cli](https://redirect.github.com/napi-rs/cli) to v3.6.1
[`#2583`](https://redirect.github.com/ast-grep/ast-grep/pull/2583)
- chore(deps): update dependency
[@&#8203;ast-grep/napi](https://redirect.github.com/ast-grep/napi) to
v0.42.1
[`#2580`](https://redirect.github.com/ast-grep/ast-grep/pull/2580)
- chore(deps): update dependency oxlint to v1.59.0
[`#2581`](https://redirect.github.com/ast-grep/ast-grep/pull/2581)
- chore(deps): update rust crate toml_edit to v0.25.11
[`#2582`](https://redirect.github.com/ast-grep/ast-grep/pull/2582)
- chore(deps): update rust crate tokio to v1.51.1
[`#2584`](https://redirect.github.com/ast-grep/ast-grep/pull/2584)
- chore(deps): update dependency dprint to v0.54.0
[`#2585`](https://redirect.github.com/ast-grep/ast-grep/pull/2585)
- chore(deps): update rust crate clap_complete to v4.6.1
[`#2586`](https://redirect.github.com/ast-grep/ast-grep/pull/2586)
- chore(deps): update dependency
[@&#8203;types/node](https://redirect.github.com/types/node) to v24.12.2
[`#2579`](https://redirect.github.com/ast-grep/ast-grep/pull/2579)
- fix: enable npx install fallback but still keep postinstall
[`fbc5b9b`](https://redirect.github.com/ast-grep/ast-grep/commit/fbc5b9b67d7f7f4e86406a7fcf491cbfab327098)
- chore: bump kotlin version
[`6f09a5b`](https://redirect.github.com/ast-grep/ast-grep/commit/6f09a5b02dc95ab083b614b4d972059b9afe3a23)
- fix: solve linting
[`945328a`](https://redirect.github.com/ast-grep/ast-grep/commit/945328aa3157370ce8fcc207358e29490d257fb6)

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

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

> 4 April 2026

- feat: Support Dart again
[`#2534`](https://redirect.github.com/ast-grep/ast-grep/pull/2534)
- chore(deps): update dependency oxlint to v1.58.0
[`#2569`](https://redirect.github.com/ast-grep/ast-grep/pull/2569)
- chore(deps): update rust crate toml_edit to v0.25.10
[`#2571`](https://redirect.github.com/ast-grep/ast-grep/pull/2571)
- fix(deps): update rust crate similar to v3
[`#2574`](https://redirect.github.com/ast-grep/ast-grep/pull/2574)
- chore(deps): update rust crate tokio to v1.51.0
[`#2578`](https://redirect.github.com/ast-grep/ast-grep/pull/2578)
- chore(deps): update dependency web-tree-sitter to v0.26.8
[`#2570`](https://redirect.github.com/ast-grep/ast-grep/pull/2570)
- chore(deps): update rust crate tree-sitter to v0.26.8
[`#2572`](https://redirect.github.com/ast-grep/ast-grep/pull/2572)
- chore(deps): update dependency dprint to v0.53.2
[`#2573`](https://redirect.github.com/ast-grep/ast-grep/pull/2573)
- chore(deps): update rust crate bit-set to 0.10.0
[`#2566`](https://redirect.github.com/ast-grep/ast-grep/pull/2566)
- fix(deps): update rust-wasm-bindgen monorepo
[`#2561`](https://redirect.github.com/ast-grep/ast-grep/pull/2561)
- chore(deps): update dependency smol-toml to v1.6.1
[`#2556`](https://redirect.github.com/ast-grep/ast-grep/pull/2556)
- chore(deps): update rust crate napi to v3.8.4
[`#2562`](https://redirect.github.com/ast-grep/ast-grep/pull/2562)
- chore(deps): update rust crate toml_edit to v0.25.8
[`#2552`](https://redirect.github.com/ast-grep/ast-grep/pull/2552)
- chore(deps): update rust crate napi-derive to v3.5.3
[`#2563`](https://redirect.github.com/ast-grep/ast-grep/pull/2563)
- chore(deps): update codecov/codecov-action action to v6
[`#2560`](https://redirect.github.com/ast-grep/ast-grep/pull/2560)
- chore(deps): update rust crate tree-sitter-rust to v0.24.2
[`#2554`](https://redirect.github.com/ast-grep/ast-grep/pull/2554)
- chore(deps): update dependency
[@&#8203;napi-rs/cli](https://redirect.github.com/napi-rs/cli) to v3.6.0
[`#2564`](https://redirect.github.com/ast-grep/ast-grep/pull/2564)
- chore(deps): update dependency dprint to v0.53.1
[`#2559`](https://redirect.github.com/ast-grep/ast-grep/pull/2559)
- chore(deps): update dependency oxlint to v1.57.0
[`#2549`](https://redirect.github.com/ast-grep/ast-grep/pull/2549)
- chore(deps): update dependency typescript to v6
[`#2557`](https://redirect.github.com/ast-grep/ast-grep/pull/2557)
- Added a license field to package.json so scanners can pick it up more
easily
[`#2558`](https://redirect.github.com/ast-grep/ast-grep/pull/2558)
- feat: add --color flag to test command
[`#2555`](https://redirect.github.com/ast-grep/ast-grep/pull/2555)
- chore(deps): update dependency
[@&#8203;ast-grep/napi](https://redirect.github.com/ast-grep/napi) to
v0.42.0
[`#2548`](https://redirect.github.com/ast-grep/ast-grep/pull/2548)
- feat: add new built in rule no-suppress-all
[`#2575`](https://redirect.github.com/ast-grep/ast-grep/issues/2575)
- fix: fix SIGSEGV caused by SharedReference stackoverflow
[`#2553`](https://redirect.github.com/ast-grep/ast-grep/issues/2553)
- fix: update ts
[`7fa0e3f`](https://redirect.github.com/ast-grep/ast-grep/commit/7fa0e3f3fc4cb2a6a9daca48ddc132ef0310a773)
- refactor: use more concise style object to manage test output
[`a017fd5`](https://redirect.github.com/ast-grep/ast-grep/commit/a017fd5133982dc725ef817c8ef0fe80eaafa6b5)
- refactor: some code clean up for no-suppress
[`ef7fc1a`](https://redirect.github.com/ast-grep/ast-grep/commit/ef7fc1a91843c8061eda21d50bc88157e89576aa)

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

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

> 15 March 2026

- chore(deps): update dependency dprint to v0.53.0
[`#2547`](https://redirect.github.com/ast-grep/ast-grep/pull/2547)
- chore(deps): update rust crate tree-sitter to v0.26.7
[`#2541`](https://redirect.github.com/ast-grep/ast-grep/pull/2541)
- chore(deps): update dependency web-tree-sitter to v0.26.7
[`#2540`](https://redirect.github.com/ast-grep/ast-grep/pull/2540)
- chore(deps): update dependency
[@&#8203;types/node](https://redirect.github.com/types/node) to v24.12.0
[`#2518`](https://redirect.github.com/ast-grep/ast-grep/pull/2518)
- fix(deps): update rust crate tree-sitter-lua to 0.5.0
[`#2506`](https://redirect.github.com/ast-grep/ast-grep/pull/2506)
- chore(deps): update rust crate clap to v4.6.0
[`#2538`](https://redirect.github.com/ast-grep/ast-grep/pull/2538)
- fix(deps): update rust crate tree-sitter-scala to 0.25.0
[`#2536`](https://redirect.github.com/ast-grep/ast-grep/pull/2536)
- chore(deps): update dependency oxlint to v1.55.0
[`#2533`](https://redirect.github.com/ast-grep/ast-grep/pull/2533)
- chore(deps): update rust crate clap_complete to v4.6.0
[`#2539`](https://redirect.github.com/ast-grep/ast-grep/pull/2539)
- chore(deps): update rust crate bit-set to v0.9.1
[`#2537`](https://redirect.github.com/ast-grep/ast-grep/pull/2537)
- chore(deps): update rust crate bit-set to 0.9.0
[`#2527`](https://redirect.github.com/ast-grep/ast-grep/pull/2527)
- chore(deps): update rust crate assert_cmd to v2.2.0
[`#2529`](https://redirect.github.com/ast-grep/ast-grep/pull/2529)
- chore(deps): update rust crate tempfile to v3.27.0
[`#2531`](https://redirect.github.com/ast-grep/ast-grep/pull/2531)
- fix(lsp): scan injected languages for diagnostics
[`#2528`](https://redirect.github.com/ast-grep/ast-grep/pull/2528)
- chore(deps): update dependency
[@&#8203;ast-grep/napi](https://redirect.github.com/ast-grep/napi) to
v0.41.1
[`#2526`](https://redirect.github.com/ast-grep/ast-grep/pull/2526)
- chore(deps): update dependency oxlint to v1.52.0
[`#2524`](https://redirect.github.com/ast-grep/ast-grep/pull/2524)
- feat: support nth-child esquery
[`#2546`](https://redirect.github.com/ast-grep/ast-grep/issues/2546)
- feat: support :is selector
[`#2545`](https://redirect.github.com/ast-grep/ast-grep/issues/2545)
- feat: support :not selector
[`#2544`](https://redirect.github.com/ast-grep/ast-grep/issues/2544)
- feat: support :has rule
[`#2543`](https://redirect.github.com/ast-grep/ast-grep/issues/2543)
- fix(lsp): scan injected languages for diagnostics
([#&#8203;2528](https://redirect.github.com/ast-grep/ast-grep/issues/2528))
[`#2522`](https://redirect.github.com/ast-grep/ast-grep/issues/2522)
- feat: add parameterized util
[`3d90372`](https://redirect.github.com/ast-grep/ast-grep/commit/3d903727c2fad6f7ed24cc4852f66b3adc45c7a2)
- refactor: limit parameterized utils to globals
[`2d69a34`](https://redirect.github.com/ast-grep/ast-grep/commit/2d69a3425b9917653a01f4d56aff9332b0c86538)
- refactor: move parameterized_util
[`c77e38d`](https://redirect.github.com/ast-grep/ast-grep/commit/c77e38d84281e3bbbe3e5828dd9989d8e721a8a1)

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

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

> 10 March 2026

- fix: lsp on change encounter deadlock
[`#2511`](https://redirect.github.com/ast-grep/ast-grep/pull/2511)
- chore(deps): update dependency oxlint to v1.51.0
[`#2512`](https://redirect.github.com/ast-grep/ast-grep/pull/2512)
- chore(deps): update rust crate tempfile to v3.26.0
[`#2497`](https://redirect.github.com/ast-grep/ast-grep/pull/2497)
- chore(deps): update rust crate inquire to v0.9.4
[`#2498`](https://redirect.github.com/ast-grep/ast-grep/pull/2498)
- chore(deps): update dependency
[@&#8203;types/node](https://redirect.github.com/types/node) to v24.11.0
[`#2502`](https://redirect.github.com/ast-grep/ast-grep/pull/2502)
- chore(deps): update dependency dprint to v0.52.0
[`#2499`](https://redirect.github.com/ast-grep/ast-grep/pull/2499)
- fix: override severity on `rule` & `inline-rules` flags
[`#2505`](https://redirect.github.com/ast-grep/ast-grep/pull/2505)
- chore(deps): update github artifact actions
[`#2507`](https://redirect.github.com/ast-grep/ast-grep/pull/2507)
- chore(deps): update rust crate tree-sitter to v0.26.6
[`#2501`](https://redirect.github.com/ast-grep/ast-grep/pull/2501)
- chore(deps): update dependency web-tree-sitter to v0.26.6
[`#2500`](https://redirect.github.com/ast-grep/ast-grep/pull/2500)
- chore(deps): update dependency ava to v7
[`#2508`](https://redirect.github.com/ast-grep/ast-grep/pull/2508)
- chore(deps): update dependency oxlint to v1.50.0
[`#2495`](https://redirect.github.com/ast-grep/ast-grep/pull/2495)
- chore(deps): update dependency
[@&#8203;ast-grep/napi](https://redirect.github.com/ast-grep/napi) to
v0.41.0
[`#2494`](https://redirect.github.com/ast-grep/ast-grep/pull/2494)
- fix: bump ls-types version
[`#2525`](https://redirect.github.com/ast-grep/ast-grep/issues/2525)
- refactor: change versioned ast work
[`a86b2ab`](https://redirect.github.com/ast-grep/ast-grep/commit/a86b2abe5dc4997c892274017f40c7a75c7df354)
- fix: bump wasm-bindgen
[`d23e334`](https://redirect.github.com/ast-grep/ast-grep/commit/d23e3344df921bbfe9ef1fa84ee9aeceeb543038)
- fix: fix wasm package
[`0b92e94`](https://redirect.github.com/ast-grep/ast-grep/commit/0b92e941ef54d3c1810283b5471282ad2793f8d5)

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

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

> 22 February 2026

- chore(deps): update pyo3/maturin-action action to v1.50.0
[`#2465`](https://redirect.github.com/ast-grep/ast-grep/pull/2465)
- fix(deps): update rust-wasm-bindgen monorepo
[`#2491`](https://redirect.github.com/ast-grep/ast-grep/pull/2491)
- chore(deps): update rust crate toml_edit to v0.25.3
[`#2469`](https://redirect.github.com/ast-grep/ast-grep/pull/2469)
- chore(deps): update dependency web-tree-sitter to ^0.26.0
[`#2492`](https://redirect.github.com/ast-grep/ast-grep/pull/2492)
- refactor: addr_of_mut to OnceLock
[`#2486`](https://redirect.github.com/ast-grep/ast-grep/pull/2486)
- feat: support ast-grep-wasm
[`#2484`](https://redirect.github.com/ast-grep/ast-grep/pull/2484)
- chore(deps): update rust crate clap to v4.5.60
[`#2483`](https://redirect.github.com/ast-grep/ast-grep/pull/2483)
- chore(deps): update rust crate anyhow to v1.0.102
[`#2489`](https://redirect.github.com/ast-grep/ast-grep/pull/2489)
- chore(deps): update dependency oxlint to v1.49.0
[`#2488`](https://redirect.github.com/ast-grep/ast-grep/pull/2488)
- feat: make default rule id to filename
[`#2482`](https://redirect.github.com/ast-grep/ast-grep/pull/2482)
- chore(deps): update dependency oxlint to v1.48.0
[`#2481`](https://redirect.github.com/ast-grep/ast-grep/pull/2481)
- chore(deps): update rust crate napi-derive to v3.5.2
[`#2475`](https://redirect.github.com/ast-grep/ast-grep/pull/2475)
- chore(deps): update rust crate napi to v3.8.3
[`#2474`](https://redirect.github.com/ast-grep/ast-grep/pull/2474)
- chore(deps): update rust crate futures to v0.3.32
[`#2476`](https://redirect.github.com/ast-grep/ast-grep/pull/2476)
- chore(deps): update rust crate clap to v4.5.58
[`#2470`](https://redirect.github.com/ast-grep/ast-grep/pull/2470)
- fix: parse each language injection region as independent tree
[`#2479`](https://redirect.github.com/ast-grep/ast-grep/pull/2479)
- chore(deps): update dependency
[@&#8203;types/node](https://redirect.github.com/types/node) to
v24.10.13
[`#2467`](https://redirect.github.com/ast-grep/ast-grep/pull/2467)
- chore(deps): update rust crate clap_complete to v4.5.66
[`#2471`](https://redirect.github.com/ast-grep/ast-grep/pull/2471)
- chore(deps): update rust crate predicates to v3.1.4
[`#2472`](https://redirect.github.com/ast-grep/ast-grep/pull/2472)
- chore(deps): update dependency oxlint to v1.47.0
[`#2468`](https://redirect.github.com/ast-grep/ast-grep/pull/2468)
- chore(deps): update rust crate tempfile to v3.25.0
[`#2466`](https://redirect.github.com/ast-grep/ast-grep/pull/2466)
- fix(deps): update rust crate toml_edit to 0.25.0
[`#2473`](https://redirect.github.com/ast-grep/ast-grep/pull/2473)
- chore(deps): update rust crate tree-sitter to v0.26.5
[`#2458`](https://redirect.github.com/ast-grep/ast-grep/pull/2458)
- chore(deps): update dependency
[@&#8203;types/node](https://redirect.github.com/types/node) to
v24.10.12
[`#2438`](https://redirect.github.com/ast-grep/ast-grep/pull/2438)
- chore(deps): update rust crate schemars to v1.2.1
[`#2457`](https://redirect.github.com/ast-grep/ast-grep/pull/2457)
- chore(deps): update rust crate clap to v4.5.57
[`#2455`](https://redirect.github.com/ast-grep/ast-grep/pull/2455)
- chore(deps): update rust crate anyhow to v1.0.101
[`#2462`](https://redirect.github.com/ast-grep/ast-grep/pull/2462)
- chore(deps): update rust crate inquire to v0.9.3
[`#2463`](https://redirect.github.com/ast-grep/ast-grep/pull/2463)
- chore(deps): update dependency oxlint to v1.43.0
[`#2459`](https://redirect.github.com/ast-grep/ast-grep/pull/2459)
- chore(deps): update rust crate regex to v1.12.3
[`#2461`](https://redirect.github.com/ast-grep/ast-grep/pull/2461)
- chore(deps): update rust crate clap to v4.5.55
[`#2454`](https://redirect.github.com/ast-grep/ast-grep/pull/2454)
- chore(deps): update dependency oxlint to v1.42.0
[`#2452`](https://redirect.github.com/ast-grep/ast-grep/pull/2452)
- chore(deps): update dependency oxlint to v1.41.0
[`#2447`](https://redirect.github.com/ast-grep/ast-grep/pull/2447)
- chore(deps): update rust crate assert_cmd to v2.1.2
[`#2437`](https://redirect.github.com/ast-grep/ast-grep/pull/2437)
- chore(deps): update rust crate thiserror to v2.0.18
[`#2446`](https://redirect.github.com/ast-grep/ast-grep/pull/2446)
- chore(deps): update dependency oxlint to v1.39.0
[`#2442`](https://redirect.github.com/ast-grep/ast-grep/pull/2442)
- chore(deps): update rust crate inquire to v0.9.2
[`#2445`](https://redirect.github.com/ast-grep/ast-grep/pull/2445)
- fix: improve max diagnostic impl to use one atomic op
[`781ec81`](https://redirect.github.com/ast-grep/ast-grep/commit/781ec81cb4eba2678c3785a1e322f953dbb5a8d8)
- fix: udpate schema
[`e645fdf`](https://redirect.github.com/ast-grep/ast-grep/commit/e645fdfa1af85fc5c69ed167bce2eb123dbeb1cc)
- fix: move dumping to core crate
[`0b2acb9`](https://redirect.github.com/ast-grep/ast-grep/commit/0b2acb96bc8862d8baa657c724402a5b181033e2)

</details>

<details>
<summary>reubeno/brush (brush-parser)</summary>

###
[`v0.4.0`](https://redirect.github.com/reubeno/brush/blob/HEAD/CHANGELOG.md#040---2026-05-02)

[Compare
Source](https://redirect.github.com/reubeno/brush/compare/brush-parser-v0.3.0...brush-parser-v0.4.0)

##### 🚀 Features

- *(parser)* Add official `serde` feature to `brush-parser` for AST
serialization
([#&#8203;783](https://redirect.github.com/reubeno/brush/pull/783))
- *(parser)* \[**breaking**] Replace ParsingNearToken with ParsingNear
([#&#8203;1022](https://redirect.github.com/reubeno/brush/pull/1022))
- Introduce notion of marking errors as fatal
([#&#8203;770](https://redirect.github.com/reubeno/brush/pull/770))
- Expose key bindings for hint acceptance
([#&#8203;802](https://redirect.github.com/reubeno/brush/pull/802))
- Add 'serde' feature to `brush-core`
([#&#8203;831](https://redirect.github.com/reubeno/brush/pull/831))
- Enable using word expander without command substs
([#&#8203;877](https://redirect.github.com/reubeno/brush/pull/877))
- Enable session leading config
([#&#8203;904](https://redirect.github.com/reubeno/brush/pull/904))
- Implement \l sequence in prompt expansion
([#&#8203;913](https://redirect.github.com/reubeno/brush/pull/913))
- *(windows)* Various path fixes for windows platform
([#&#8203;1075](https://redirect.github.com/reubeno/brush/pull/1075))
- Implement fatal error propagation
([#&#8203;773](https://redirect.github.com/reubeno/brush/pull/773))
- Implement `set -u` semantics
([#&#8203;774](https://redirect.github.com/reubeno/brush/pull/774))
- Source tracking improvements
([#&#8203;805](https://redirect.github.com/reubeno/brush/pull/805))
- Support asynchronous builtin execution
([#&#8203;810](https://redirect.github.com/reubeno/brush/pull/810))
- *(builtins)* Implement caller builtin
([#&#8203;812](https://redirect.github.com/reubeno/brush/pull/812))
- Implement "compgen -A binding"
([#&#8203;814](https://redirect.github.com/reubeno/brush/pull/814))
- Emulate `exec` in subshell
([#&#8203;823](https://redirect.github.com/reubeno/brush/pull/823))
- Experimental builtin for serializing full shell state
([#&#8203;835](https://redirect.github.com/reubeno/brush/pull/835))
- Expand tilde expansion support
([#&#8203;842](https://redirect.github.com/reubeno/brush/pull/842))
- Implement `set -e` (a.k.a. `errexit`) + `pipefail` semantics
([#&#8203;852](https://redirect.github.com/reubeno/brush/pull/852))
- Experimental shell/terminal integration
([#&#8203;872](https://redirect.github.com/reubeno/brush/pull/872))
- *(hooks)* Experimental `zsh`-style preexec/precmd hooks
([#&#8203;652](https://redirect.github.com/reubeno/brush/pull/652))
- Rudimentary readline macro support
([#&#8203;880](https://redirect.github.com/reubeno/brush/pull/880))
- Optional TOML-based config file for brush-shell
([#&#8203;895](https://redirect.github.com/reubeno/brush/pull/895))
- *(read)* Fill out more of `read` builtin
([#&#8203;914](https://redirect.github.com/reubeno/brush/pull/914))
- Add convenience cmd line option to set up xtrace
([#&#8203;915](https://redirect.github.com/reubeno/brush/pull/915))
- Scaffolding for winnow parser
([#&#8203;974](https://redirect.github.com/reubeno/brush/pull/974))
- *(completion)* 

> [!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:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDkuNCIsInVwZGF0ZWRJblZlciI6IjQ0LjE1NS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

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 test: sfw

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant