Large additive release accumulated since v2.3.2 — 141 non-merge commits, 8 new languages/extensions, 5 new platform install targets, 6 new framework call resolvers, comprehensive Windows hardening, VS Code accessibility pass, and a full sweep of community PRs.
Highlights
Languages and extensions
- Nix (flake-aware), Verilog/SystemVerilog, SQL, ReScript, GDScript (Godot)
.hh(C++ headers) and.kshextensions; shebang-based detection for extension-less scripts- Julia: parametric constructors,
@enum,publicexports
Platforms
- GitHub Copilot + Copilot CLI, Gemini CLI, Qoder, OpenCode, Cursor hooks
- Native Codex install alignment
Framework call resolution
- Spring DI — receiver method calls resolve through
@Autowired/constructor injection to concreteInjectedType.method; emitsINJECTSedges + stereotype metadata - Temporal — workflow/activity stub calls resolve to implementations
- Kafka —
@KafkaListenerandKafkaTemplate.send(...)emitCONSUMES/PRODUCESedges - Jedi-based Python call resolution (improved cross-file accuracy)
- Python callback
REFERENCESedges - Mocha TDD
suite(), Bun test,__tests__/directory detection
MCP server / CLI
crg-daemonmulti-repo watch daemon (subprocess.Popen child supervision, 35 tests)- Streamable HTTP transport (
serve) alongside stdio serve --toolsflag andCRG_TOOLSenv var for tool filtering- External database directory support for network filesystems
- SVN support for change analysis
Embeddings
- OpenAI-compatible provider (OpenAI / Azure OpenAI / any compatible endpoint), configurable batch size
VS Code extension / visualization
- WCAG 2.1 AA contrast across standalone HTML and webview
- Distinct
d3.symbolshapes per node kind (colorblind-friendly) - Full keyboard navigation (tab/arrow/enter/escape, focus styles, skip-link)
- ARIA roles on tooltip, detail panel, legend, search results, edge pills
- Help overlay with interaction guide
- Empty-state webview, contextual depth slider, edge filter popover
- Detail panel relocated to the left; GitHub Dark palette unified
IMPLEMENTS,TESTED_BY,DEPENDS_ONedge types in standalone HTML
Fixed
Parser
- C++ scoped/destructor/operator method names (PR #371, PR #403)
- Java method/superclass/super_interfaces extraction (PR #275, #278)
- Java import resolution to file paths (PR #280)
- PHP CALL extraction — methods, statics, unqualified (PR #298)
- Module-scope CALLS edges (PR #285)
Windows
- MCP stdio hang on long-running tools — auto-select thread pool (PR #400)
- MCP stdin hang on git/svn subprocesses —
stdin=DEVNULLeverywhere (PR #425) - Non-UTF-8 locale handling —
encoding="utf-8"onsubprocess.run - Windows test failures — UTF-8/CRLF/
stop_atboundary (PR #274)
Hooks and install
- Hooks JSON schema with required
matcher(PR #288) - Merge-don't-overwrite for existing hook arrays +
.bakbackup (PR #114, #145, #203) - Pre-commit hook uses
updatesubcommand (PR #315) - Skip hooks gracefully outside git repos (PR #293)
- Poetry / uv environment detection for the MCP serve command (PR #287)
MCP server
- fastmcp ≥3.2.4 compatibility —
_apply_tool_filterrestored - FastMCP banner suppressed for stdio transport (PR #290)
- MCP config:
cwd, skills path, JSONC tolerance
Other
__version__stuck at 2.1.0 since v2.1.0 —embeddings.pybuilds the cloud-API User-Agent from this string, so cloud-embedding traffic was being mis-attributed across every release between v2.1.0 and v2.3.2.- SQLite transaction safety + FTS5 sync (PR #94, #279)
- CLI build/update/watch run post-processing (signatures/FTS/flows/communities) (PR #98)
- Flow trace adjacency loaded in-memory (PR #296)
- Dead-code callback references (PR #424)
Security
- Embeddings RCE hardening (PR #397) — RCE paths gated behind explicit env var; cloud requests send a versioned User-Agent (PR #390); refuses to mix indexes built with different providers.
Upgrade notes
uvx --reinstall code-review-graphorpip install -U code-review-graph- Re-run
code-review-graph installonce to pick up the JSONC-tolerant config writer and the correctedcwd/ skills path in.mcp.json - The
__version__fix changes the cloud-embedding User-Agent fromcode-review-graph/2.1.0tocode-review-graph/2.3.3— update any proxy allow-lists keyed on the old string. - The VS Code extension still ships separately — repackage/republish the
.vsixto publish the v2.3.3 a11y improvements to the Marketplace.
See CHANGELOG.md for the full breakdown.