Skip to content

v0.8.0

Choose a tag to compare

@colbymchenry colbymchenry released this 20 May 23:43
· 111 commits to main since this release

[0.8.0] - 2026-05-20

Breaking Changes

  • The minimum supported Node.js version is now 20 (Node 18 is end-of-life); Node 22 LTS and Node 24 get the fast native backend out of the box, other Node versions still run via the slower WASM fallback, and Node 25+ remains blocked (#81). If you're on an older Node, upgrade to 20 or newer.

New Features

  • NestJS: CodeGraph now recognizes NestJS projects and surfaces the route that binds each handler across HTTP controllers, GraphQL resolvers, microservice handlers, and WebSocket gateways, detected automatically from any @nestjs/* dependency (#220).
  • codegraph_explore source now includes line numbers, so an agent can cite file:line straight from the result instead of reopening the file to find a line number; set CODEGRAPH_EXPLORE_LINENUMS=0 to disable.
  • On WSL2 /mnt/* drives, where the live file watcher is too slow and could break MCP startup, CodeGraph now skips the watcher and offers to keep the index fresh with git hooks instead; new CODEGRAPH_NO_WATCH=1 (or serve --mcp --no-watch) forces the watcher off anywhere, and CODEGRAPH_FORCE_WATCH=1 overrides the WSL auto-detect when your setup is actually fast.
  • CodeGraph now guides agents to answer "how does X work" and architecture questions directly with a couple of codegraph calls instead of delegating to a file-reading sub-agent or a grep-and-read loop, which gives faster, cheaper, file:line-cited answers on medium and large repos.
  • codegraph_node with code on a class, interface, struct, or enum now returns a compact member outline (fields plus method signatures with line numbers) instead of the entire class body; functions and methods still return their full source.
  • codegraph_explore output now scales with project size, so small projects get tighter responses than your native grep-and-read flow would produce while large codebases keep their fuller budget, and a per-file cap stops a single dense file from collapsing into a whole-file dump (#185). Thanks @essopsp.
  • Search ranking now correctly de-prioritizes CamelCase test files (FooTest.kt, BarTests.swift, BazSpec.scala, QuxTestCase.cs) and test source-set directories in Kotlin, Swift, Scala, and C#, so real implementations no longer get outranked by tests.

Fixes

  • codegraph_explore output is now hard-capped to its size budget, so an oversized response no longer overruns the cap and sits in the agent's context to be re-read every turn.
  • Newly created untracked files are no longer reported as pending forever and re-indexed from scratch on every codegraph sync; CodeGraph now hash-compares them against the index the same way it does tracked files (#206). Thanks @15290391025.
  • codegraph init -i now finds source inside nested, independent git repositories that aren't submodules (common in CMake super-repo layouts), instead of reporting "No files found to index" (#193). Thanks @timxx.
  • On Node 24, indexing no longer silently drops to the slower fallback backend with a warning that couldn't be cleared; a fresh install on Node 22 or 24 now gets the fast native backend with no compiler, and codegraph status should report it (#203). Thanks @Finndersen.
  • MCP tools no longer fail with "CodeGraph not initialized" when the index actually exists; when the client doesn't report a workspace root, the server now asks for it via the standard MCP roots/list request before falling back, and the error message is actionable when a project still can't be resolved (#196). Thanks @zhangyu1197.
  • The MCP server no longer hangs on startup under WSL2 when the project lives on an NTFS /mnt/* mount, so the codegraph tools actually appear; CodeGraph auto-skips the watcher there with manual and git-hook sync fallbacks (#199). Thanks @mengfanbo123.
  • Claude Code project-local installs now write the MCP server to .mcp.json (the file Claude Code actually reads for project-scoped servers) instead of a file it ignores, and re-running codegraph install migrates an affected project automatically (#207). Thanks @Jhsmit.
  • Source-omission markers in codegraph_explore and codegraph_context output are now language-neutral instead of C-style comments, so they no longer look wrong inside Python, Ruby, and other non-C source blocks.