Skip to content

Commit a80b129

Browse files
committed
fix(deps): raise tree-sitter runtime floor to >=0.25 for ABI 15 grammars
The declared runtime floor tree-sitter>=0.23.0 is lower than any runtime that can load the grammars this same file allows. 0.23/0.24 report LANGUAGE_VERSION=14, while the pinned grammars ship ABI 15 (tree-sitter-javascript 0.25.0, tree-sitter-powershell 0.26.4, tree-sitter-scala 0.26.0), so the constraint set admits a resolution that fails every parse with "Incompatible Language version 15". Reproduced locally: 61 failures from that error alone. Floor the runtime at 0.25, the oldest release supporting ABI 15. This does not change the locked resolution: uv.lock already resolved tree-sitter to 0.25.2, so the only tree-sitter edit is the recorded specifier string and all 210 resolved versions stay byte-identical. The floor had simply lagged the lock. Re-locking also syncs a pre-existing staleness on v8: the committed uv.lock records graphifyy 0.9.76 while pyproject.toml says 0.9.77, so 'uv lock --check' already failed before this change. That is not introduced here; it just becomes consistent as a side effect. Upstream CI was never red (uv sync --frozen uses the lock). This only affects installs that resolve from pyproject.toml, such as uv tool install, pip install graphifyy, and long-lived environments where grammars get upgraded without the runtime.
1 parent 5c7b847 commit a80b129

2 files changed

Lines changed: 10 additions & 3 deletions

File tree

‎pyproject.toml‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,14 @@ dependencies = [
1616
"numpy>=1.21",
1717
"rapidfuzz>=3.0",
1818
"tomli>=2.0.1; python_version < '3.11'",
19-
"tree-sitter>=0.23.0,<0.26",
19+
# Runtime floor is 0.25, not 0.23: 0.23/0.24 cap out at ABI 14
20+
# (LANGUAGE_VERSION=14) while the grammars pinned below ship ABI 15
21+
# (e.g. tree-sitter-javascript 0.25.0, tree-sitter-powershell 0.26.x).
22+
# A resolver is free to pick 0.23.2 for the runtime and 0.25.x for the
23+
# grammars, which then fails every parse with "Incompatible Language
24+
# version 15". Floor at the oldest runtime that can load them; this also
25+
# matches what uv.lock already resolves to.
26+
"tree-sitter>=0.25,<0.26",
2027
"tree-sitter-python>=0.23,<0.26",
2128
"tree-sitter-javascript>=0.23,<0.26",
2229
"tree-sitter-typescript>=0.23,<0.25",

‎uv.lock‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)