Highlights
This release ships 16 fix/feature commits that had been sitting on main since v2.2.2. If you're on v2.2.2, upgrade now — most of the hooks/SQLite issues opened in the last few days are already fixed here.
uvx --reinstall code-review-graph
# or
pip install -U code-review-graph
# then re-run `code-review-graph install` to rewrite .claude/settings.jsonFixed
- Claude Code hook schema (#208) — fixes #97, #138, #163, #168, #172, #182, #188, #191, #201.
generate_hooks_config()now emits the valid v1.x+ schema — every hook entry hasmatcher+ a nestedhooks: [{type, command, timeout}]array, timeouts are in seconds (not ms), and the invalidPreCommitevent is gone. Pre-commit checks now install as a real git pre-commit hook viainstall_git_hook(). After upgrading, re-runcode-review-graph installto rewrite.claude/settings.json. - SQLite transaction nesting (#205) — fixes #110, #135, #181.
GraphStore.__init__now connects withisolation_level=None, disabling Python's implicit transactions that causedsqlite3.OperationalError: cannot start a transaction within a transactiononupdate.store_file_nodes_edgesflushes any stray open transaction beforeBEGIN IMMEDIATEas defense-in-depth. - Go method receivers (#166) — method names are now resolved from
field_identifierinsidemethod_declaration(previously they'd get picked up as the result type, e.g.int64). - UTF-8 decode errors in
detect_changes(#170) — fixes #169. Diffs with binary files no longer crash. --platformtarget scope (#142) — fixes #133.code-review-graph install --platform <target>now correctly filters which skills, hooks, and instruction files get written.- Large-repo community detection hangs (#213, #183) — removed recursive sub-community splitting, capped Leiden at
n_iterations=2, batchedstore_communitieswrites. 100k+ node graphs no longer hang. - CI: ruff + tomllib on Python 3.10 (#220) —
tomlibackport for 3.10, assortedN806/E501/W291fixes. - Missing dev dependencies (#159) —
pytest-covadded, 50 ruff errors swept. - JSX component CALLS edges (#154) — JSX component usage now produces graph edges.
Added
- Codex platform install support (#177) —
code-review-graph install --platform codexappends to~/.codex/config.tomlwithout clobbering existing settings. - Luau language support (#165) — closes #153. Roblox Luau
.luauparsing. - REFERENCES edge type (#217) — new edge kind for symbol references that aren't direct calls (map/dispatch lookups, string-keyed handlers).
recurse_submodulesbuild option (#215) — optionally recurse into git submodules during build/update.- Default
.gitignoreentry for.code-review-graph/(#185) — fresh installs auto-add the SQLite DB to.gitignore. - Clearer gitignore docs (#171) — closes #157.
Upgrade notes
- Re-run
code-review-graph installafter upgrading so your.claude/settings.jsonis rewritten with the correct hook schema. The old schema from v2.2.2 will remain and continue to throw "Hooks use a matcher + hooks array" errors until you do. - If you hit "cannot start a transaction within a transaction" on update in v2.2.2, that's fixed here — no action needed beyond upgrading.
Closes
Hooks-schema cluster: #97, #138, #163, #168, #172, #182, #188, #191, #201
SQLite transaction cluster: #110, #135, #181
Other: #133, #147, #148, #149, #153, #157, #169, #175
Full changelog: see CHANGELOG.md.