deps: bump tree-sitter from 0.26.11 to 0.26.12 - #1342
Merged
Conversation
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.
This was referenced Aug 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Takes the
tree-sitterruntime from=0.26.11to=0.26.12acrossevery manifest and lockfile in one commit.
Why one PR instead of eight
Dependabot opened this bump once per manifest: #1334 (root), #1333
(
/fuzz), #1331 (/enums, which also edits all five vendoredmanifests), #1329, #1328, #1327, #1322, #1321. The runtime is
=-pinnedin seven manifests and locked in eight lockfiles, and
utils/check-excluded-manifests.pyrequires every one of them to agree.Merging them serially would leave each intermediate commit with a split
pin — red on the gate, and unresolvable for anyone who checked out that
commit. #1331 also overlaps five of its siblings, so the sequence has no
conflict-free ordering.
This branch supersedes all eight. Closing them in favour of it.
The release does not reach this workspace's behaviour
Diffed the two published crates directly:
include/tree_sitter/api.hTREE_SITTER_LANGUAGE_VERSIONBecause the ABI constants and the header are unchanged, the vendored
parser.csources stay valid against the runtime — the driftcheck-excluded-manifests.pyexists to catch is not present. Becausethe Rust bindings are unchanged, the
Send + Syncargument thatbig-code-analysis-py/src/node.rsrests on is unaffected.The three C fixes:
parser.c— restart error recovery when the parser is already inERROR_STATE. The only change with any plausible reach here, and itapplies to malformed input.
tree_cursor.c— a later anonymous sibling no longer settleshas_later_named_siblings.query.c— anchor semantics for skipped quantifiers. Inert: thisworkspace uses no tree-sitter query API (no
Query::new, noQueryCursor).Each lockfile moved exactly this one package; no edge was re-pointed.
Verification
make pre-commit→BCA_GATE: pass (gate=pre-commit)(1 xfailed) — the same totals
maincarries, so nothing was gainedor lost.
.snap.newand the
big-code-analysis-outputsubmodule is clean at its recordedSHA
c6840dce, so no integration snapshot shifted and no submodulebump is owed.
make fuzz-checkpasses separately, sincefuzz/Cargo.locksitsoutside the
make pre-commitDAG. The fuzz targets build against0.26.12 under ASan on nightly.
Also updated
The three in-tree references naming the old pin, each a one-token
in-place edit: the rationale prose in
AGENTS.mdand inutils/check-excluded-manifests.py, and the sendability note inbig-code-analysis-py/src/node.rs. The historicalCHANGELOG.mdentryrecording the 0.26.9 → 0.26.11 bump is left as written.
tree_sitteris re-exported from the library root, so the resolvedversion is visible to consumers and the bump is recorded under
## [Unreleased]→### Changed. PerSTABILITY.mda runtime bumprides a minor release; no public API shape changes.
Grammar pins are untouched — all twenty remain at their
=X.Y.Zversions.