v0.23.1: later-uploaded cp310-abi3 wheel bumps grammar ABI (v14 → v15), silently breaking py-tree-sitter <0.25 (segfault on query()) · Issue #420 · tree-sitter/tree-sitter-c-sharp · GitHub
Skip to content

v0.23.1: later-uploaded cp310-abi3 wheel bumps grammar ABI (v14 → v15), silently breaking py-tree-sitter <0.25 (segfault on query()) #420

Description

@jhh0712

Version 0.23.1 on PyPI has two sets of wheels uploaded ~17 months apart, and the later set ships a different grammar language version than the
earlier set. Because pip/uv on Python 3.10+ prefer the higher cpXY-abi3 tag, environments that pip install after the second upload silently receive
a wheel whose ABI is incompatible with py-tree-sitter < 0.25, causing a segmentation fault inside Language.query() with no Python-level error.

Evidence (from PyPI JSON metadata)

Two linux-x86_64 wheels co-exist under the same version string:

Upload time (UTC) Filename Language.version
2024-11-11 05:25:24 ...-cp39-abi3-manylinux_2_5_x86_64...whl 14
2026-04-14 15:11:16 ...-cp310-abi3-manylinux1_x86_64...whl 15

The same pattern exists for macOS and Windows wheels. Because pip/uv pick the highest compatible cpXY tag, any fresh install on Python 3.10+ now resolves to the cp310-abi3 wheel (grammar v15).
Installs done before 2026-04-14 — or Python 3.9 environments — still get the cp39-abi3 wheel (grammar v14).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions