Hotfix on top of 2.2.3
Two bugs surfaced by a full first-time-user smoke test run against six real OSS repos (express, fastapi, flask, gin, httpx, next.js). Both are pre-existing and independent of any ongoing work on v2.2.4.
uvx --reinstall code-review-graph
# or
pip install -U code-review-graphFixed
-
serve --repo <X>was ignored by 21 of 24 MCP tools (#223).main.pycaptured the flag into_default_repo_root, but onlyget_docs_section_toolactually read it — every other tool wrapper passedrepo_root=Nonestraight through to the impl, which then resolved against the server'scwd. Real-world blast radius is small becauseinstallwrites a.mcp.jsonthat launches the server withcwd=<repo>, so first-time Claude Code users don't hit this. But anyone scriptingservemanually or running a multi-repo orchestrator would silently get the wrong graph. Fixed with a single_resolve_repo_root()helper with explicit precedence (client arg > --repo flag > cwd) threaded through all 24 wrappers. -
Wiki slug collisions silently overwrote pages (#223).
_slugify()folds non-alphanumerics to dashes and truncates to 80 chars, so similar community names collided ("Data Processing"/"data processing"/"Data Processing"→data-processing.md). The previousgenerate_wiki()loop wrote each community to its<slug>.mdregardless of collisions — overwriting earlier content while the counter reported overwrites as "updated". On the express smoke test this was ~70% silent data loss (32 real files on disk vs 107 claimed pages). Fixed by tracking used slugs per-run and appending-2,-3, … suffixes until the slug is unique; every community now gets its own page and the counter matches the physical file count.get_wiki_page()lookup still resolves by name via the existing partial-match fallback.
What is NOT in this release
Everything on #222, which is still pending Windows verification:
- fastmcp
1.0 → 2.14.6(CVEs — #139, fakeredis rename — #195) - Windows
ProactorEventLoopdeadlock fix (#46, #136) - Go receiver methods (#190), Dart parser fixes (#87), nested
node_modulesignores (#91),except Exceptioncleanup (#194), viz auto-collapse (#132), evalyaml.safe_loadguard (#212), VS Codebetter-sqlite312.x for VS Code 1.115 (#218)
Once Windows reporters confirm the fix on PR #222's branch, we'll cut v2.2.4 with all of the above.
Upgrade notes
- No schema changes; no action required beyond upgrading.
- No
.claude/settings.jsonrewrite needed (that was a v2.2.3 thing).