# Codemble v0.5.3 — fixes a crash on every fresh install

**If you installed Codemble recently and it died on a JavaScript or TypeScript
project, this is why. Please upgrade.**

Codemble's dependency range allowed `tree-sitter` 0.26.0, which is
ABI-incompatible with the newest published grammar wheels
(`tree-sitter-javascript` 0.25.0 and `tree-sitter-typescript` 0.23.2 — the only
ones that exist). Partway through parsing a real project the parser died with a
segmentation fault inside `node_get_named_children`, taking the whole process
down with it.

What that looked like:

- `codemble ./my-project` exited partway through with no traceback.
- In the app, the local server vanished mid-parse, so the loading screen stopped
  on *"Lost contact with the local server"* and never recovered.

The core is now pinned `<0.26`.

## Why it escaped every check

An environment that already had `tree-sitter` 0.25.x kept working, so it was
invisible from a developer checkout and from CI's cache. It only hit people
installing **fresh** — including through `uvx codemble`, the documented install
path, which resolves the newest permitted version.

It also could not be caught by a behavioural test. A small snippet parses and
walks its children perfectly well on 0.26.0; the crash needs a corpus of real
size, and every fixture in the suite is small. That is precisely how it reached
a release.

So the guard added here asserts the **resolved dependency version** rather than
the behaviour: the suite now fails if `tree-sitter` resolves to the segfaulting
release. Verified both ways — it passes on 0.25.2 and fails on 0.26.0.

## Upgrading

```
uvx codemble@latest        # or: uv tool upgrade codemble
```

No breaking changes: the CLI, the graph/checks API, and the on-disk progress
format are unchanged, and existing progress in `~/.codemble/` is read as-is.

## Honest note

The upper bound is deliberate, not caution. It should be raised only once a
grammar release has been verified against the newer core **on a project of real
size** — a snippet test will not tell you anything useful here.
