github vitali87/code-graph-rag v0.2.0

latest releases: v0.2.2, v0.2.1
6 hours ago

⚠️ Breaking changes

The default graph backend is now an embedded SQLite graph, not Memgraph. A first run needs no Docker, no server and no cmake: cgr start writes ~/.cgr/graph.sqlite and queries it in process. The engines do not share data.

To keep using Memgraph, install the driver extra and select it explicitly:

uv tool install "code-graph-rag[treesitter-full,memgraph]"   # or: pip install 'code-graph-rag[memgraph]'
export GRAPH_BACKEND=memgraph
cgr daemon up
  • pymgclient is no longer installed by default; it moved to the memgraph extra. Selecting Memgraph without it fails with a message naming the extra.

  • If your config sets MEMGRAPH_HOST (or another MEMGRAPH_* setting) but not GRAPH_BACKEND, cgr now opens an empty embedded graph and logs one warning per process. Set GRAPH_BACKEND=memgraph (or sqlite) to settle it.

  • If you ran Memgraph purely on defaults, with no MEMGRAPH_* or GRAPH_BACKEND setting, there is no warning: cgr silently starts on an empty embedded graph. Set GRAPH_BACKEND=memgraph to get your existing graph back.

  • .env.example now sets GRAPH_BACKEND=sqlite.

To move to the embedded graph, leave GRAPH_BACKEND unset and re-index each project with cgr start --repo-path <repo> --update-graph.

See Switching backends.

Highlights

  • Embedded graph matches Memgraph 3.3: all 154 of cgr's read queries return the same rows on a 38k-node graph, in 33 s (with the Rust extension) against 221.5 s on Memgraph.
  • New Rust extension, cgr-graph-rs: Cypher parser, graph procedures, ingest and result decoding in Rust, shipped as abi3 wheels for Linux (x86_64/aarch64, glibc and musl), macOS and Windows. Other platforms fall back to the pure-Python path.
  • Optional serverless vector store: CGR_VECTOR_STORE_BACKEND=sqlite with code-graph-rag[sqlite-vec]. Qdrant stays the default.
  • Neo4j 5: two queries it rejected as ambiguous aggregations are fixed.

What's Changed

  • feat: make an embedded SQLite graph the default backend by @vitali87 in #3377

Full Changelog: v0.1.91...v0.2.0

Don't miss a new code-graph-rag release

NewReleases is sending notifications on new releases.