Skip to content

fix(create): inline generator dependencies without catalog support - #2720

Merged
fengmk2 merged 2 commits into
voidzero-dev:mainfrom
SaKaNa-Y:fix/create-generator-npm
Sep 22, 2026
Merged

fengmk2 merged 2 commits into
voidzero-dev:mainfrom
SaKaNa-Y:fix/create-generator-npm

Conversation

@SaKaNa-Y

@SaKaNa-Y SaKaNa-Y commented Sep 16, 2026 •

Copy link
Copy Markdown
Contributor

Important

Please take a moment to read this. Thank you!

I should include a brief explanation of the problem in my own words in every PR. If that explanation is missing, please @mention me and do not merge this PR until I have added it. You may also leave this PR unaddressed (because this means I have not fulfilled my responsibilities as the author).

If my explanation is unclear or difficult to follow, please ask me to clarify or provide reproduction steps or supporting evidence.

I welcome suggestions and counterarguments, especially questions about anything I may have overlooked. (Your feedback helps me learn and improve. 🙏)

I hold myself to this standard for every PR, regardless of its size.

Problem

In an npm monorepo, running vp create vite:generator --directory tools/gen --no-interactive creates the generator but fails to install its dependencies:

EUNSUPPORTEDPROTOCOL
Unsupported URL Type "catalog:": catalog:

Subsequent npm install commands also fail. The generator template declares @types/node and typescript as catalog:, and scaffolding copies those declarations without checking whether the selected package manager supports catalogs.

Fix

Use the existing package-manager capability check when scaffolding a generator. For managers without catalog support, replace the template's catalog references with dependency ranges from the bundled monorepo catalog. Catalog-capable workspaces keep their existing references.

This restores dependency installation without duplicating version constants. The installation-failure reporting tracked in #2453 and #2543 remains separate.

Verification

  • Regression tests fail before the fix and pass afterward for npm, Yarn 4.9 and pnpm 9.4. Additional cases verify catalog preservation for supported pnpm, Yarn and Bun versions.
  • Full unit suite: 1,214 passed, 1 skipped. Formatting, lint and type checks passed.
  • cargo test -p vp_cli_snapshots --offline -- create_generator: 3 cases passed, covering npm installation, the existing pnpm generator workflow and rejection outside a monorepo.
  • Manual npm workflow: after scaffolding, dependency installation and the generated executable's --help both succeed.

The full CLI snapshot suite was not run; CLI verification covered the three generator cases above.

Inline the bundled monorepo dependency ranges when scaffolding a generator with a package manager that cannot resolve catalog references. Preserve catalog references for compatible workspace managers.
@SaKaNa-Y SaKaNa-Y changed the title fix(create): resolve generator catalogs for unsupported managers fix(create): inline generator dependencies without catalog support Sep 16, 2026
@SaKaNa-Y

Copy link
Copy Markdown
Contributor Author

When running vp create vite:generator in an npm-managed monorepo, the files are generated successfully, but the subsequent dependency installation fails because the generated package.json contains catalog: dependency references, which npm does not support. Running npm install manually afterward fails for the same reason.

@SaKaNa-Y
SaKaNa-Y marked this pull request as ready for review September 18, 2026 13:47
@liangmiQwQ
liangmiQwQ requested a review from fengmk2 September 19, 2026 11:00
@fengmk2 fengmk2 self-assigned this Sep 22, 2026
@fengmk2

fengmk2 commented Sep 22, 2026

Copy link
Copy Markdown
Member

@SaKaNa-Y Thanks!

@fengmk2
fengmk2 merged commit 1e16526 into voidzero-dev:main Sep 22, 2026
90 of 92 checks passed
@SaKaNa-Y
SaKaNa-Y deleted the fix/create-generator-npm branch September 22, 2026 08:38
fengmk2 added a commit that referenced this pull request Sep 22, 2026
…2780)

Vite+ now uses Vitest 5, and `vp migrate` helps Vitest 4 projects adopt
the new APIs and defaults. Standalone installs and upgrades now require
verified npm provenance for release binaries.

### Breaking Changes

#### Vitest 5

`vp test` and the public `vite-plus/test*` exports now use
`vitest@5.0.1`
([#2551](#2551)), by
@fengmk2.

| Area | Old | New |
| --- | --- | --- |
| Test runner | `vitest@4.1.11` | `vitest@5.0.1` |
| CLI Node.js range | `^20.19.0 \|\| ^22.18.0 \|\| >=24.11.0` |
`^22.18.0 \|\| ^24.11.0 \|\| >=26.0.0` |
| `vite-plus/test/runners` and `vite-plus/test/suite` | Vite+
compatibility exports | Use supported APIs from `vite-plus/test`; review
unsupported runner and expect plugins |
| `vite-plus/test/browser-webdriverio` | Bundled export | Use the
community `@vitest/browser-webdriverio` package |

Run `vp migrate` from the workspace root before you install the new
dependencies. The migrator updates supported config, source, benchmark,
command, and import changes. It reports manual work as `BLOCK` or
`REVIEW` items. See the [Vitest 5 migration
guide](https://viteplus.dev/guide/vitest-v5) for the full process.
Projects can stay on the prior release until their runtimes and tests
are ready.

#### `vp staged` runtime requirements

`vp staged` now uses `lint-staged@17.5.1`
([#2754](#2754)), by
@fengmk2.

| Requirement | Old | New |
| --- | --- | --- |
| Node.js for `vp staged` | The Vite+ CLI runtime range | `^22.22.1 \|\|
^24.11.0 \|\| >=26.0.0` |
| Git | No separate documented minimum | `>=2.32.0` |

Update Node.js and Git on developer machines and CI runners that execute
`vp staged` or its pre-commit hook. Other workflows do not use these
extra requirements.

### Highlights

- Standalone installers, `vp upgrade`, and `vp-setup.exe` now reject
release binaries without supported SLSA provenance
([#2440](#2440)), by
@kazupon.
- Installers now show progress and the exact shell activation command.
Download progress preserves earlier terminal output
([#2744](#2744),
[#2741](#2741)), by
@fengmk2.
- System-first runtime and package-manager shims now use a fallback
directory at the end of `PATH`. Setup restores missing package-manager
preferences
([#2758](#2758),
[#2763](#2763)), by
@liangmiQwQ and @fengmk2.
- `vp run` now finishes when background processes remain. Large file
traces run without caching instead of killing the task
([#2767](#2767),
[vite-task#675](voidzero-dev/vite-task#675)), by
@wan9chi.

### Features

- `vp add` now supports shared install options such as `--offline`,
`--frozen-lockfile`, and `--lockfile-only`
([#2722](#2722)), by
@jong-kyung.
- `vp pm patch` and `vp pm patch-commit` now use the native commands in
npm 12 and later
([#2736](#2736)), by
@jong-kyung.
- `vp rebuild` now supports Yarn Berry and forwards package names and
extra arguments
([#2761](#2761)), by
@jong-kyung.
- The bundled tools update `oxlint` `1.83.0` -> `1.85.0`,
`oxlint-tsgolint` `7.0.2001` -> `7.0.2002`, and `oxfmt` `0.68.0` ->
`0.70.0` ([#2745](#2745),
[#2773](#2773),
[#2778](#2778)), by
@voidzero-guard[bot]. These versions can flag or format code that passed
before. Run `vp fmt` after upgrading if CI runs `vp check`.

### Fixes & Enhancements

- `oxlint` and `oxfmt` no longer expose bin wrappers that conflict with
upstream packages. Editors must use `vp lint --lsp`, `vp fmt --lsp`, or
`vp fmt --stdin-filepath`
([#2672](#2672)), by
@fengmk2.
- `vp create vite:generator` now replaces catalog references for package
managers that do not support catalogs
([#2720](#2720)), by
@SaKaNa-Y.
- Unpinned npm projects now use the npm version bundled with the
selected Node.js runtime. The same policy works during migration
([#2742](#2742),
[#2748](#2748)), by
@liangmiQwQ.
- The CLI now loads its local versions module through a file URL,
including on Windows paths
([#2749](#2749)), by
@YanChenBai.
- Package-manager commands now use pnpm when the project has no detected
package manager
([#2750](#2750)), by
@liangmiQwQ.
- `vp migrate` now removes unused `@oxlint/plugins` dependencies after
it rewrites plugin imports
([#2751](#2751)), by
@fengmk2.
- `vp update --no-save` now warns that Yarn Classic and Yarn Berry do
not support the option
([#2762](#2762)), by
@jong-kyung.
- `vp migrate` now explains its `tsdown@0.23` compatibility settings and
links to removal guidance
([#2769](#2769)), by
@fengmk2.
- Environment setup now installs and diagnoses the official `pn` and
`pnx` aliases for pnpm
([#2770](#2770)), by
@iruoy.
- Cached tasks now receive GitHub Actions OIDC variables, so npm Trusted
Publishing works through `vp run`
([vite-task#691](voidzero-dev/vite-task#691)),
by @naokihaba.
- Automatic task input tracking now records file access from signal
handlers
([vite-task#687](voidzero-dev/vite-task#687)),
by @wan9chi.

### Refactor

- `vp lint`, `vp fmt`, and `vp check` now use native config discovery.
Package commands keep matching workspace-root settings, while explicit
config flags take precedence
([#2731](#2731)), by
@fengmk2.

### Chore

- Generated workflows and `vp migrate` now use `setup-vp@v1.21.1`,
including its installation fixes
([#2760](#2760),
[#2772](#2772)), by
@renovate[bot] and @fengmk2.

### Bundled Versions

| Tool | Version | Source |
| --- | --- | --- |
| vite | `8.3.0` |
[`434e8e9`](vitejs/vite@434e8e9)
|
| rolldown | `1.2.9` |
[`5b4746e`](rolldown/rolldown@5b4746e)
|
| tsdown | `0.23.0` | [npm](https://npmx.dev/package/tsdown/v/0.23.0) |
| vitest | `5.0.1` | [npm](https://npmx.dev/package/vitest/v/5.0.1) |
| oxlint | `1.85.0` | [npm](https://npmx.dev/package/oxlint/v/1.85.0) |
| oxlint-tsgolint | `7.0.2002` |
[npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2002) |
| oxfmt | `0.70.0` | [npm](https://npmx.dev/package/oxfmt/v/0.70.0) |

### Upgrade

```bash
vp upgrade
```

### New Contributors

@YanChenBai, @iruoy

**Full Changelog**:
v0.3.3...v1.0.0-rc.0

---

Merging this PR will trigger the release workflow.

---------

Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com>
Co-authored-by: MK (fengmk2) <fengmk2@gmail.com>
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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants