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
Copy file name to clipboardExpand all lines: CHANGELOG.md
+30Lines changed: 30 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,36 @@
2
2
3
3
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
**34 languages and a fully native build pipeline.** This release completes Phase 7 (Expanded Language Support) by shipping the final 11 languages — F#, Gleam, Clojure, Julia, R, Erlang, Solidity, Objective-C, CUDA, Groovy, and Verilog — bringing codegraph from 23 to 34 supported languages. On the performance side, the entire build pipeline now runs natively in Rust: graph algorithms (BFS, shortest path, Louvain, centrality), import edge building with barrel resolution, and build-glue queries all migrate from JS to napi-rs. A new Rust build orchestration layer coordinates the full native pipeline end-to-end.
8
+
9
+
### Features
10
+
11
+
* add F#, Gleam, Clojure, Julia, R, Erlang language support ([#722](https://github.com/optave/ops-codegraph-tool/pull/722))
12
+
* add Solidity, Objective-C, CUDA, Groovy, Verilog language support ([#729](https://github.com/optave/ops-codegraph-tool/pull/729))
13
+
* full Rust build orchestration ([#740](https://github.com/optave/ops-codegraph-tool/pull/740))
**Six more languages and a CFG stability fix.** Codegraph now supports Elixir, Lua, Dart, Zig, Haskell, and OCaml — bringing the total to 23 languages with dual-engine extractors. A WAL conflict in the native CFG bulk-insert path is also fixed, preventing database corruption when JS and native connections overlap during control-flow graph writes.
@@ -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 + Elixir + Lua + Dart + Zig + Haskell + OCaml in a single graph — agents don't need per-language tools |
107
+
|**🌐**|**Multi-language, one graph**|34 languages in a single graph — JS/TS, Python, Go, Rust, Java, C#, PHP, Ruby, C/C++, Kotlin, Swift, Scala, Bash, HCL, Elixir, Lua, Dart, Zig, Haskell, OCaml, F#, Gleam, Clojure, Julia, R, Erlang, Solidity, Objective-C, CUDA, Groovy, Verilog — 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 23 languages |
109
+
|**🔬**|**Dataflow + CFG**| Track how data flows through functions (`flows_to`, `returns`, `mutates`) and visualize intraprocedural control flow graphs for all 34 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 23 languages |
189
+
| 🔬 |**Data flow analysis**| Intraprocedural parameter tracking, return consumers, argument flows, and mutation detection — all 34 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 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`|
202
+
| 🔬 |**Dataflow analysis**| Track how data moves through functions with `flows_to`, `returns`, and `mutates` edges — all 34 languages, included by default, skip with `--no-dataflow`|
203
+
| 🧩 |**Control flow graph**| Intraprocedural CFG construction for all 34 languages — `cfg` command with text/DOT/Mermaid output, included by default, skip with `--no-cfg`|
@@ -798,7 +809,7 @@ See **[ROADMAP.md](docs/roadmap/ROADMAP.md)** for the full development roadmap a
798
809
6.~~**Resolution Accuracy**~~ — **Complete** (v3.3.1) — type inference, receiver type tracking, dead role sub-categories, resolution benchmarks, `package.json` exports, monorepo workspace resolution
799
810
7.~~**TypeScript Migration**~~ — **Complete** (v3.4.0) — all 271 source files migrated from JS to TS, zero `.js` remaining
800
811
8.~~**Native Analysis Acceleration**~~ — **Complete** (v3.5.0) — all build phases in Rust/rusqlite, sub-100ms incremental rebuilds, better-sqlite3 lazy-loaded as fallback only
Copy file name to clipboardExpand all lines: docs/roadmap/ROADMAP.md
+11-5Lines changed: 11 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Codegraph Roadmap
2
2
3
-
> **Current version:** 3.7.0 | **Status:** Active development | **Updated:** 2026-03-30
3
+
> **Current version:** 3.8.0 | **Status:** Active development | **Updated:** 2026-04-01
4
4
5
5
Codegraph is a strong local-first code graph CLI. This roadmap describes planned improvements across fourteen phases -- closing gaps with commercial code intelligence platforms while preserving codegraph's core strengths: fully local, open source, zero cloud dependency by default.
6
6
@@ -20,7 +20,7 @@ Codegraph is a strong local-first code graph CLI. This roadmap describes planned
20
20
|[**4**](#phase-4--resolution-accuracy)| Resolution Accuracy | Dead role sub-categories, receiver type tracking, interface/trait implementation edges, resolution precision/recall benchmarks, `package.json` exports field, monorepo workspace resolution |**Complete** (v3.3.1) |
|[**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, Batch 2 (6 languages) shipped in v3.7.0; 11 remaining in 2 batches (23 → 34) |**In Progress** (v3.7.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 — all 4 batches shipped across v3.6.0–v3.8.0 |**Complete** (v3.8.0) |
@@ -1292,7 +1292,9 @@ Structure building is unchanged — at 22ms it's already fast.
1292
1292
1293
1293
---
1294
1294
1295
-
## Phase 7 -- Expanded Language Support
1295
+
## Phase 7 -- Expanded Language Support ✅
1296
+
1297
+
> **Status:** Complete -- shipped across v3.6.0 → v3.8.0
1296
1298
1297
1299
**Goal:** Support every major programming language that has a mature tree-sitter grammar available in both WASM (npm) and Rust (crates.io). This takes codegraph from 11 to 34 languages, covering every actively-used language where dependency and call-graph analysis is meaningful.
1298
1300
@@ -1345,10 +1347,12 @@ Actively maintained grammars with both npm and Rust packages available.
1345
1347
| Haskell |`.hs`|`tree-sitter-haskell`| Official | 1.0M crate downloads |
1346
1348
| OCaml |`.ml`, `.mli`|`tree-sitter-ocaml`| Official | ML family, mature grammar |
1347
1349
1348
-
### 7.4 -- Batch 3: Functional & BEAM
1350
+
### 7.4 -- Batch 3: Functional & BEAM ✅
1349
1351
1350
1352
Languages with solid tree-sitter grammars and active communities.
1351
1353
1354
+
- ✅ All 6 languages shipped in v3.8.0 ([#722](https://github.com/optave/ops-codegraph-tool/pull/722))
1355
+
1352
1356
| Language | Extensions | Grammar | Org | Notes |
1353
1357
|----------|-----------|---------|-----|-------|
1354
1358
| F# |`.fs`, `.fsx`, `.fsi`|`tree-sitter-fsharp`|`ionide/`| .NET functional, Ionide community |
@@ -1358,7 +1362,9 @@ Languages with solid tree-sitter grammars and active communities.
1358
1362
| R |`.r`, `.R`|`tree-sitter-r`|`r-lib/`| Statistical computing, 135K crate downloads; WASM built from repo |
1359
1363
| Erlang |`.erl`, `.hrl`|`tree-sitter-erlang`|`WhatsApp/`| BEAM VM; WASM built from repo |
1360
1364
1361
-
### 7.5 -- Batch 4: Specialized
1365
+
### 7.5 -- Batch 4: Specialized ✅
1366
+
1367
+
- ✅ All 5 languages shipped in v3.8.0 ([#729](https://github.com/optave/ops-codegraph-tool/pull/729))
0 commit comments