- Add field('path', ...) to Magma load_statement grammar rule so
parse_generic_imports() finds the import path via field lookup
instead of the broken text fallback (which only extracted 1 per file)
- Fix passImports() to resolve file-path imports (e.g. "utils.mag",
"lib/helpers.h") via fqn.ModuleQN() when raw path doesn't match
any node QN — general fix benefiting any file-path-based import
- Add TestMagmaImport_Regression and TestMagmaCall_Regression
- Update language count 59 → 63 in README, docs/index.html, marketing
- Languages: 35 -> 59
- Add Gemini CLI, VS Code, Zed to supported clients list
- Update benchmark description to match v7 methodology
- Update meta tags and comparison table
- Replace Go-binding tree-sitter with vendored C grammars compiled via
CGo (internal/cbm/); eliminates all Go module/linker fragility
- Add 32 new languages: Clojure, CMake, COBOL, Common Lisp, CUDA, Elm,
Emacs Lisp, Fortran, F#, GLSL, GraphQL, INI, JSON, Julia, Makefile,
Markdown, Meson, Nix, Protobuf, Svelte, Verilog, Vim Script, Vue, XML
(plus C, C#, Erlang, SQL, YAML quality improvements)
- Adaptive worker concurrency and mmap prefetch for faster indexing
- Graph buffer: batched SQLite writes for 3-5x throughput improvement
- Fix cancellation test: use 50ms timeout (pipeline now indexes 212-file
Erlang repo in ~400ms, well under the old 2s deadline)
- Fix isTestFunction: add "Test" prefix for C#, "test" prefix for Scala
New tools:
- get_architecture: codebase architecture overview with 12 selectable aspects
(languages, packages, entry_points, routes, hotspots, boundaries, services,
layers, clusters, file_tree, adr)
- manage_adr: CRUD for Architecture Decision Records with 6 fixed sections,
section filtering, validation, and discovery of existing architecture docs
Architecture analysis fixes:
- Fix qnToPackage extracting segment[2] for meaningful sub-packages instead
of segment[1] which collapsed everything to top-level dirs
- Filter test functions from entry_points, hotspots, and routes using both
is_test property (Module/File nodes) and file_path pattern matching
- Filter boundaries to Function/Method/Class nodes only
- Add FindArchitectureDocs for discovering existing architecture documentation
Naming corrections:
- Rename Leiden to Louvain throughout (algorithm is simplified Louvain,
not actual Leiden which requires CPM-based refinement)
- leiden.go -> louvain.go with all symbols renamed
- Remove unused ClusterInfo.Modularity field (always zero)
Other changes:
- Case-insensitive search by default for search_graph and search_code
- Remove read_file and list_directory tools (handled by coding agents natively)
- Update tool descriptions and README for 8000 char ADR limit
- Release workflow: build binary as `codebase-memory-mcp` (not
`codebase-memory-mcp-<os>-<arch>`) inside tarballs. Users extract
and get the correct name without renaming.
- Codex CLI: replace broken `codex mcp add/remove` calls with direct
config.toml manipulation. Codex uses [mcp_servers.<name>] sections,
not CLI subcommands.
- README: add explicit extract-and-move step to Quick Start.
- Feature line: list all 35 languages including Obj-C, Swift, Dart,
Perl, Groovy, Erlang, R, SCSS, SQL, Dockerfile
- Performance section: updated with Django (49K nodes) and Linux
kernel stress test numbers from the v0.3.0 benchmark
- Architecture section: 25 → 35 language specs
- Token efficiency: reference 35 real-world repos instead of single project
Add CLI mode for direct tool invocation from the shell — every MCP tool
can now be called without an MCP client. Useful for testing, scripting,
and CI pipelines.
Query engine rewrite: SQL LIKE pre-filtering extracts literal substrings
from regex patterns before scanning, batch degree counting replaces
per-node queries, and schema queries use id→label maps instead of 3-way
JOINs. Cypher relationship queries up to 600x faster on large graphs.
Incremental reindex 4x faster via content-hash skip optimization.
Upgrade to Go 1.26 (Green Tea GC) and SQLite v1.46.1.
Auto-sync: background watcher polls indexed projects for file changes
(mtime+size) and triggers incremental re-indexing automatically. Adaptive
polling interval scales with repo size (1s-60s). Non-blocking — uses
TryLock to skip if manual index_repository is in progress.
WithTransaction: changed signature to return a transaction-scoped Store
instead of mutating the shared querier field. Eliminates a data race
where concurrent read handlers could use a committed transaction.
Infrastructure file indexing: new pipeline pass indexes Dockerfiles,
docker-compose, cloudbuild, .env, Terraform, and YAML config files as
InfraFile nodes with structured properties.
Also includes: indexMu mutex on Server for safe concurrent access,
Claude Code skill file in repo, updated README with auto-sync docs.
Lead with pre-built binary download (no toolchain needed), then setup
scripts for automation, then build-from-source for contributors.
- Add platform table with all 5 targets including linux-arm64
- Add Windows SmartScreen guidance for unsigned binary
- Document checksums.txt for integrity verification
- Credit @Flipper1994 for WSL2 workaround (closes#1)
MCP server that indexes codebases into a queryable knowledge graph.
Single Go binary, SQLite storage, 12 languages via tree-sitter.
Features: call graph, cross-service HTTP linking, dead code detection,
route nodes, Cypher queries, incremental reindex, JSON config scanning.