You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: update language counts from 17 to 23 for Batch 2 (#718)
CHANGELOG v3.6.0 entry incorrectly described Batch 1 languages instead
of Batch 2. README comparison table, feature descriptions, and ROADMAP
phase summary all updated to reflect 23 supported languages.
**Six new languages and a parser abstraction layer.** This release adds first-class support for C, C++, Kotlin, Swift, Scala, and Bash — bringing the total supported languages to 17. A new parser abstraction layer decouples language extractors from tree-sitter internals, making it straightforward to add more languages. The native Rust engine gains batched query methods for the read path, WAL corruption is fixed when native and JS connections overlap, and WASM call-AST extraction is restored for full engine parity.
7
+
**Six new languages: Elixir, Lua, Dart, Zig, Haskell, OCaml.** This release adds first-class support for Elixir, Lua, Dart, Zig, Haskell, and OCaml — bringing the total supported languages to 23. Each language ships with dual-engine extractors (WASM TypeScript + native Rust), AST configs, and parser tests. The native Rust engine gains batched query methods for the read path, WAL corruption is fixed when native and JS connections overlap, and WASM call-AST extraction is restored for full engine parity.
@@ -104,9 +104,9 @@ No config files, no Docker, no JVM, no API keys, no accounts. Point your agent a
104
104
|**🔬**|**Function-level, not just files**| Traces `handleAuth()` → `validateToken()` → `decryptJWT()` and shows 14 callers across 9 files break if `decryptJWT` changes |
105
105
|**⚡**|**Always-fresh graph**| Three-tier change detection: journal (O(changed)) → mtime+size (O(n) stats) → hash (O(changed) reads). Sub-second rebuilds — agents work with current data |
106
106
|**💥**|**Git diff impact**|`codegraph diff-impact` shows changed functions, their callers, and full blast radius — enriched with historically coupled files from git co-change analysis. Ships with a GitHub Actions workflow |
107
-
|**🌐**|**Multi-language, one graph**| JS/TS + Python + Go + Rust + Java + C# + PHP + Ruby + C + C++ + Kotlin + Swift + Scala + Bash + HCL in a single graph — agents don't need per-language tools |
107
+
|**🌐**|**Multi-language, one graph**| JS/TS + Python + Go + Rust + Java + C# + PHP + Ruby + C + C++ + Kotlin + Swift + Scala + Bash + HCL + Elixir + Lua + Dart + Zig + Haskell + OCaml in a single graph — agents don't need per-language tools |
108
108
|**🧠**|**Hybrid search**| BM25 keyword + semantic embeddings fused via RRF — `hybrid` (default), `semantic`, or `keyword` mode; multi-query via `"auth; token; JWT"`|
109
-
|**🔬**|**Dataflow + CFG**| Track how data flows through functions (`flows_to`, `returns`, `mutates`) and visualize intraprocedural control flow graphs for all 17 languages |
109
+
|**🔬**|**Dataflow + CFG**| Track how data flows through functions (`flows_to`, `returns`, `mutates`) and visualize intraprocedural control flow graphs for all 23 languages |
110
110
|**🔓**|**Fully local, zero cost**| No API keys, no accounts, no network calls. Optionally bring your own LLM provider — your code only goes where you choose |
111
111
112
112
---
@@ -186,7 +186,7 @@ cd codegraph && npm install && npm link
186
186
| 🧠 |**Semantic search**| Embeddings-powered natural language search with multi-query RRF ranking |
187
187
| 👀 |**Watch mode**| Incrementally update the graph as files change |
188
188
| ⚡ |**Always fresh**| Three-tier incremental detection — sub-second rebuilds even on large codebases |
189
-
| 🔬 |**Data flow analysis**| Intraprocedural parameter tracking, return consumers, argument flows, and mutation detection — all 17 languages |
189
+
| 🔬 |**Data flow analysis**| Intraprocedural parameter tracking, return consumers, argument flows, and mutation detection — all 23 languages |
190
190
| 🧮 |**Complexity metrics**| Cognitive, cyclomatic, nesting depth, Halstead, and Maintainability Index per function |
191
191
| 🏘️ |**Community detection**| Leiden clustering to discover natural module boundaries and architectural drift |
192
192
| 📜 |**Manifesto rule engine**| Configurable pass/fail rules with warn/fail thresholds for CI gates via `check` (exit code 1 on fail) |
@@ -199,8 +199,8 @@ cd codegraph && npm install && npm link
199
199
| ✅ |**CI validation predicates**|`check` command with configurable gates: complexity, blast radius, cycles, boundary violations — exit code 0/1 for CI |
200
200
| 📋 |**Composite audit**| Single `audit` command combining explain + impact + health metrics per function — one call instead of 3-4 |
201
201
| 🚦 |**Triage queue**|`triage` merges connectivity, hotspots, roles, and complexity into a ranked audit priority queue |
202
-
| 🔬 |**Dataflow analysis**| Track how data moves through functions with `flows_to`, `returns`, and `mutates` edges — all 17 languages, included by default, skip with `--no-dataflow`|
203
-
| 🧩 |**Control flow graph**| Intraprocedural CFG construction for all 17 languages — `cfg` command with text/DOT/Mermaid output, included by default, skip with `--no-cfg`|
202
+
| 🔬 |**Dataflow analysis**| Track how data moves through functions with `flows_to`, `returns`, and `mutates` edges — all 23 languages, included by default, skip with `--no-dataflow`|
203
+
| 🧩 |**Control flow graph**| Intraprocedural CFG construction for all 23 languages — `cfg` command with text/DOT/Mermaid output, included by default, skip with `--no-cfg`|
|[**6**](#phase-6--native-analysis-acceleration)| Native Analysis Acceleration | Rust extraction for AST/CFG/dataflow/complexity; batch SQLite inserts; incremental rebuilds; native DB write pipeline; full rusqlite migration so native engine never touches better-sqlite3 |**Complete** (v3.5.0) |
23
-
|[**7**](#phase-7--expanded-language-support)| Expanded Language Support | Parser abstraction layer, 23 new languages in 4 batches (11 → 34), dual-engine support — Batch 1 (6 languages) shipped in v3.6.0; 17 remaining in 3 batches (17 → 34) |**In Progress** (v3.6.0) |
23
+
|[**7**](#phase-7--expanded-language-support)| Expanded Language Support | Parser abstraction layer, 23 new languages in 4 batches (11 → 34), dual-engine support — Batch 1 + 2 (12 languages) shipped in v3.6.0; 11 remaining in 2 batches (23 → 34) |**In Progress** (v3.6.0) |
0 commit comments