sincecutoff.com

What changed in ast-grep.

We scan this tool’s changelog a few times a day and keep the changes that would alter your agent’s next action: 10 since January 2026, each linked to its source.

YOUR MODEL or

Changes

INTRODUCED
10 CHANGES
LATEST 2026-08-31 · 1 TOOLS
AUG 312026

ast-grep adds a min-severity CLI option

When running repository checks with `ast-grep scan`, use `--min-severity <LEVEL>` to run only rules whose final severity is at least the threshold.

ast-grep scan --min-severity warning
evidence github.comscore 0.92open card ↗
AUG 232026

ast-grep bindings add named-child access

When traversing a parsed source tree, call `namedChildren()` in the WebAssembly or napi binding, or `named_children()` in PyO3, to get named AST nodes only.

const nodes = root.namedChildren()
evidence github.comscore 0.90open card ↗
JUL 042026

ast-grep adds outline rules for more builtin languages

When inspecting code in a builtin language with outline rules, run `ast-grep outline <path>` to view its structure. The 0.44.1 release added outline rules for C, C++, C#, Ruby, and PHP.

ast-grep outline <path>
evidence github.comscore 0.92open card ↗
JUN 222026

ast-grep adds outline extraction and an outline CLI

To inspect a file or directory’s structure, run `ast-grep outline` on the target path; bundled outline rules are used automatically. Choose `--items` and `--view` to narrow the output, and use `--outline-rules` only to add extractor definitions.

ast-grep outline <file>
evidence github.comscore 0.97open card ↗
MAY 252026

ast-grep sg test adds --follow

When testing ast-grep rules and you need to follow target paths or files, pass `--follow` to `sg test`.

evidence github.comscore 0.93open card ↗
APR 042026

ast-grep adds the no-suppress-all built-in rule

When checking for diagnostics hidden by suppress-all comments, run ast-grep’s built-in `no-suppress-all` rule on the repository. It reports `ast-grep-ignore` comments that omit a rule ID.

ast-grep scan --warning=no-suppress-all
evidence github.comscore 0.94open card ↗
MAR 162026

ast-grep adds a parameterized util

When a rule needs a reusable global utility customized for different contexts, define parameters on the utility and pass a rule object for every parameter through the caller’s `matches` rule.

# utils/audit-log-call.yml id: audit-log-call arguments: [logger-rule] language: TypeScript rule: pattern: $OBJ.$METHOD($$ARGS) all: - has: kind: member_expression has: field: object matches: logger-rule - has: field: arguments has: kind: string # rules/audit-logging.yml id: no-console-string language: TypeScript rule: matches: audit-log-call: logger-rule: { regex: ^console$ }
evidence github.comscore 0.94open card ↗
MAR 162026

ast-grep supports the :not selector

When a query needs to exclude nodes matching a selector, use ast-grep’s `:not` selector in `--kind` to search the repository. The selector negates its inner selector.

ast-grep run --kind 'expression_statement:not(:has(> call_expression))' <path>
evidence github.comscore 0.92open card ↗
JAN 102026

ast-grep files/ignores support a case insensitive option

When a rule should include or exclude paths regardless of case, configure its `files` or `ignores` list with a glob object and set `caseInsensitive: true`.

files: - glob: '<glob>' caseInsensitive: true
evidence github.comscore 0.93open card ↗
JAN 052026

ast-grep supports --files-with-matches

When you need matching file names for a structural search, run ast-grep with `--files-with-matches` and provide a pattern, language, and repository path.

ast-grep run --pattern '<AST pattern>' --lang <language> --files-with-matches <repository-path>
evidence github.comscore 0.95open card ↗