From c01447fb0f40473474df1aa7e22809383ede4dac Mon Sep 17 00:00:00 2001 From: Elijah Zupancic Date: Sat, 22 Aug 2026 15:31:12 -0700 Subject: [PATCH] deps: bump tree-sitter from 0.26.11 to 0.26.12 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Supersedes the eight Dependabot PRs that each proposed this bump for one manifest (#1334, #1333, #1331, #1329, #1328, #1327, #1322, #1321). The runtime is `=`-pinned in seven manifests and locked in eight lockfiles; taking them one at a time would leave every intermediate commit with a split pin, which `check-excluded-manifests.py` rejects and which cannot resolve. They belong in one commit. Nothing in the release reaches this workspace's behaviour. `include/tree_sitter/api.h` and the Rust bindings are byte-identical to 0.26.11, so `TREE_SITTER_LANGUAGE_VERSION` stays at 15, the vendored `parser.c` sources remain valid against it, and the `Send + Sync` argument in `big-code-analysis-py/src/node.rs` is unaffected. Only three C files moved: - `parser.c`: restart error recovery when already in `ERROR_STATE`. - `tree_cursor.c`: a later *anonymous* sibling no longer settles `has_later_named_siblings`. - `query.c`: anchor semantics for skipped quantifiers — inert here, since this workspace uses no tree-sitter query API. Each lockfile moved exactly this one package; no edge was re-pointed. Verification: `make pre-commit` -> `BCA_GATE: pass`, with 5,364 Rust tests (10 skipped) and 363 Python tests (1 xfailed) — the same totals main carries. No integration snapshot moved: the working tree is free of `.snap.new` and the `big-code-analysis-output` submodule is clean at its recorded SHA, so no metric value changed. `make fuzz-check` passes separately, since `fuzz/Cargo.lock` sits outside the `make pre-commit` DAG. The three in-tree references naming the old pin are updated in the same commit: the rationale prose in `AGENTS.md` and in `utils/check-excluded-manifests.py`, and the sendability note in `big-code-analysis-py/src/node.rs`. The historical `CHANGELOG.md` entry recording the 0.26.9 -> 0.26.11 bump is left as written. --- AGENTS.md | 2 +- CHANGELOG.md | 15 +++++++++++++++ Cargo.lock | 4 ++-- Cargo.toml | 2 +- big-code-analysis-py/src/node.rs | 2 +- enums/Cargo.lock | 4 ++-- enums/Cargo.toml | 2 +- fuzz/Cargo.lock | 4 ++-- tree-sitter-ccomment/Cargo.lock | 4 ++-- tree-sitter-ccomment/Cargo.toml | 2 +- tree-sitter-mozcpp/Cargo.lock | 4 ++-- tree-sitter-mozcpp/Cargo.toml | 2 +- tree-sitter-mozjs/Cargo.lock | 4 ++-- tree-sitter-mozjs/Cargo.toml | 2 +- tree-sitter-preproc/Cargo.lock | 4 ++-- tree-sitter-preproc/Cargo.toml | 2 +- tree-sitter-tcl/Cargo.lock | 4 ++-- tree-sitter-tcl/Cargo.toml | 2 +- utils/check-excluded-manifests.py | 2 +- 19 files changed, 41 insertions(+), 26 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index d3e347402..fd0b7e5f5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -718,7 +718,7 @@ half of that rationale fits it too. The exemption is about unification pressure and the runtime has none — the lockfile shows 25 crates depending on `tree-sitter-language` against one external dependent (`tree-sitter-perl`) for `tree-sitter` — and every manifest here already -pins it at `=0.26.11` with the workspace resolving. Its ABI version is +pins it at `=0.26.12` with the workspace resolving. Its ABI version is also what each vendored `parser.c` was generated against, so an accidental bump is precisely the drift the gate exists to catch. diff --git a/CHANGELOG.md b/CHANGELOG.md index 78b42576d..72af0e069 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -508,6 +508,21 @@ for historical reference. ### Changed +- The `tree-sitter` runtime is `=0.26.12`, up one upstream patch + release, pinned in lockstep across the root manifest, `enums`, and + the five vendored `bca-tree-sitter-*` crates. `tree_sitter` is + re-exported from the library root, so the resolved version is visible + to consumers. Nothing in the release reaches this workspace's + behaviour: `include/tree_sitter/api.h` and the Rust bindings are + byte-identical to `0.26.11`, so `TREE_SITTER_LANGUAGE_VERSION` stays + at 15 and the vendored `parser.c` sources are unaffected, as is the + `Send + Sync` argument the PyO3 bindings rest on. The three C fixes + are an error-recovery restart when the parser is already in + `ERROR_STATE`, a `has_later_named_siblings` correction in the tree + cursor, and query-anchor semantics for skipped quantifiers — the + last inert here, since this workspace uses no tree-sitter query API. + No metric value moves. + - Ruby's and Elixir's `#{` interpolation opener no longer counts as a Halstead operator. Unlike PHP's `{`, which aliases the compound-statement brace and was fabricating a block (see Fixed), diff --git a/Cargo.lock b/Cargo.lock index 40779025a..d9ddec1b8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4465,9 +4465,9 @@ dependencies = [ [[package]] name = "tree-sitter" -version = "0.26.11" +version = "0.26.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1c71c1c4cc0920b20d6b0f6572e7682cd07a6a2faec71067a31fa394c586df" +checksum = "83c567a8e18ae93f20982c90370b16fd24023aeaf52f6052b96957ab253a0fec" dependencies = [ "cc", "regex", diff --git a/Cargo.toml b/Cargo.toml index d1e574609..15c8e4179 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -56,7 +56,7 @@ authors = [ # entries via `.workspace = true`, so any grammar bump here MUST be # applied to enums/Cargo.toml in lockstep (see recreate-grammars.sh). [workspace.dependencies] -tree-sitter = "=0.26.11" +tree-sitter = "=0.26.12" tree-sitter-bash = "=0.25.1" tree-sitter-c-sharp = "=0.23.5" tree-sitter-elixir = "=0.3.5" diff --git a/big-code-analysis-py/src/node.rs b/big-code-analysis-py/src/node.rs index b660ef6b0..bd9f11539 100644 --- a/big-code-analysis-py/src/node.rs +++ b/big-code-analysis-py/src/node.rs @@ -55,7 +55,7 @@ //! the iterator's own keep-alive. //! //! `tree_sitter::Tree`, `Node`, and `TreeCursor` are `Send + Sync` under -//! the pinned `=0.26.11`, so the pyclasses are sendable (no `unsendable`) +//! the pinned `=0.26.12`, so the pyclasses are sendable (no `unsendable`) //! and compose with `ThreadPoolExecutor` fan-out like [`PyAst`] itself. use big_code_analysis::tree_sitter::{Node as TsNode, TreeCursor}; diff --git a/enums/Cargo.lock b/enums/Cargo.lock index d913182e4..0359c2ea0 100644 --- a/enums/Cargo.lock +++ b/enums/Cargo.lock @@ -472,9 +472,9 @@ dependencies = [ [[package]] name = "tree-sitter" -version = "0.26.11" +version = "0.26.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1c71c1c4cc0920b20d6b0f6572e7682cd07a6a2faec71067a31fa394c586df" +checksum = "83c567a8e18ae93f20982c90370b16fd24023aeaf52f6052b96957ab253a0fec" dependencies = [ "cc", "regex", diff --git a/enums/Cargo.toml b/enums/Cargo.toml index 9b0de9aeb..075d7739b 100644 --- a/enums/Cargo.toml +++ b/enums/Cargo.toml @@ -26,7 +26,7 @@ askama = "^0.16" # [workspace.dependencies]. They MUST be kept in lockstep with the # matching block in ../Cargo.toml when grammars are bumped # (see recreate-grammars.sh). -tree-sitter = "=0.26.11" +tree-sitter = "=0.26.12" tree-sitter-bash = "=0.25.1" tree-sitter-c-sharp = "=0.23.5" tree-sitter-elixir = "=0.3.5" diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index 576c76865..04634d4d0 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -621,9 +621,9 @@ dependencies = [ [[package]] name = "tree-sitter" -version = "0.26.11" +version = "0.26.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1c71c1c4cc0920b20d6b0f6572e7682cd07a6a2faec71067a31fa394c586df" +checksum = "83c567a8e18ae93f20982c90370b16fd24023aeaf52f6052b96957ab253a0fec" dependencies = [ "cc", "regex", diff --git a/tree-sitter-ccomment/Cargo.lock b/tree-sitter-ccomment/Cargo.lock index 07ab89fe8..2acb9cb21 100644 --- a/tree-sitter-ccomment/Cargo.lock +++ b/tree-sitter-ccomment/Cargo.lock @@ -185,9 +185,9 @@ dependencies = [ [[package]] name = "tree-sitter" -version = "0.26.11" +version = "0.26.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1c71c1c4cc0920b20d6b0f6572e7682cd07a6a2faec71067a31fa394c586df" +checksum = "83c567a8e18ae93f20982c90370b16fd24023aeaf52f6052b96957ab253a0fec" dependencies = [ "cc", "regex", diff --git a/tree-sitter-ccomment/Cargo.toml b/tree-sitter-ccomment/Cargo.toml index 3cff6fffb..f3c7f93a1 100644 --- a/tree-sitter-ccomment/Cargo.toml +++ b/tree-sitter-ccomment/Cargo.toml @@ -56,4 +56,4 @@ tree-sitter-language="0.1.0" cc = "^1.2" [dev-dependencies] -tree-sitter = "=0.26.11" +tree-sitter = "=0.26.12" diff --git a/tree-sitter-mozcpp/Cargo.lock b/tree-sitter-mozcpp/Cargo.lock index 4c50cddf7..867e42823 100644 --- a/tree-sitter-mozcpp/Cargo.lock +++ b/tree-sitter-mozcpp/Cargo.lock @@ -186,9 +186,9 @@ dependencies = [ [[package]] name = "tree-sitter" -version = "0.26.11" +version = "0.26.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1c71c1c4cc0920b20d6b0f6572e7682cd07a6a2faec71067a31fa394c586df" +checksum = "83c567a8e18ae93f20982c90370b16fd24023aeaf52f6052b96957ab253a0fec" dependencies = [ "cc", "regex", diff --git a/tree-sitter-mozcpp/Cargo.toml b/tree-sitter-mozcpp/Cargo.toml index 39f2df541..3640941ba 100644 --- a/tree-sitter-mozcpp/Cargo.toml +++ b/tree-sitter-mozcpp/Cargo.toml @@ -68,4 +68,4 @@ tree-sitter-cpp = "=0.23.4" build = ["tree-sitter-cpp"] [dev-dependencies] -tree-sitter = "=0.26.11" +tree-sitter = "=0.26.12" diff --git a/tree-sitter-mozjs/Cargo.lock b/tree-sitter-mozjs/Cargo.lock index a28e7cff6..378568f73 100644 --- a/tree-sitter-mozjs/Cargo.lock +++ b/tree-sitter-mozjs/Cargo.lock @@ -186,9 +186,9 @@ dependencies = [ [[package]] name = "tree-sitter" -version = "0.26.11" +version = "0.26.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1c71c1c4cc0920b20d6b0f6572e7682cd07a6a2faec71067a31fa394c586df" +checksum = "83c567a8e18ae93f20982c90370b16fd24023aeaf52f6052b96957ab253a0fec" dependencies = [ "cc", "regex", diff --git a/tree-sitter-mozjs/Cargo.toml b/tree-sitter-mozjs/Cargo.toml index 42172ddc2..b3b3124f2 100644 --- a/tree-sitter-mozjs/Cargo.toml +++ b/tree-sitter-mozjs/Cargo.toml @@ -70,4 +70,4 @@ tree-sitter-javascript = "=0.25.0" build = ["tree-sitter-javascript"] [dev-dependencies] -tree-sitter = "=0.26.11" +tree-sitter = "=0.26.12" diff --git a/tree-sitter-preproc/Cargo.lock b/tree-sitter-preproc/Cargo.lock index 67b67deda..24853a9b5 100644 --- a/tree-sitter-preproc/Cargo.lock +++ b/tree-sitter-preproc/Cargo.lock @@ -185,9 +185,9 @@ dependencies = [ [[package]] name = "tree-sitter" -version = "0.26.11" +version = "0.26.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1c71c1c4cc0920b20d6b0f6572e7682cd07a6a2faec71067a31fa394c586df" +checksum = "83c567a8e18ae93f20982c90370b16fd24023aeaf52f6052b96957ab253a0fec" dependencies = [ "cc", "regex", diff --git a/tree-sitter-preproc/Cargo.toml b/tree-sitter-preproc/Cargo.toml index ad97fa70e..968ceaca2 100644 --- a/tree-sitter-preproc/Cargo.toml +++ b/tree-sitter-preproc/Cargo.toml @@ -56,4 +56,4 @@ tree-sitter-language="0.1.0" cc = "^1.2" [dev-dependencies] -tree-sitter = "=0.26.11" +tree-sitter = "=0.26.12" diff --git a/tree-sitter-tcl/Cargo.lock b/tree-sitter-tcl/Cargo.lock index 2c78a2bff..13f5a473b 100644 --- a/tree-sitter-tcl/Cargo.lock +++ b/tree-sitter-tcl/Cargo.lock @@ -185,9 +185,9 @@ dependencies = [ [[package]] name = "tree-sitter" -version = "0.26.11" +version = "0.26.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1c71c1c4cc0920b20d6b0f6572e7682cd07a6a2faec71067a31fa394c586df" +checksum = "83c567a8e18ae93f20982c90370b16fd24023aeaf52f6052b96957ab253a0fec" dependencies = [ "cc", "regex", diff --git a/tree-sitter-tcl/Cargo.toml b/tree-sitter-tcl/Cargo.toml index 0d1fd8fc1..f616b7597 100644 --- a/tree-sitter-tcl/Cargo.toml +++ b/tree-sitter-tcl/Cargo.toml @@ -67,4 +67,4 @@ tree-sitter-language = "0.1.0" cc = "^1.2" [dev-dependencies] -tree-sitter = "=0.26.11" +tree-sitter = "=0.26.12" diff --git a/utils/check-excluded-manifests.py b/utils/check-excluded-manifests.py index 2cd8368eb..b0aab4f39 100644 --- a/utils/check-excluded-manifests.py +++ b/utils/check-excluded-manifests.py @@ -127,7 +127,7 @@ # is about unification pressure, and the runtime has none: the lockfile # shows 25 crates depending on `tree-sitter-language` but only one # external crate (`tree-sitter-perl`) depending on `tree-sitter`, and -# every manifest here already pins it at `=0.26.11` with the workspace +# every manifest here already pins it at `=0.26.12` with the workspace # resolving. The runtime's ABI version is also what a grammar's # generated `parser.c` is built against, so an accidental bump is # exactly the drift this gate exists to catch.