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
Bump version to 3.1.1 across package.json, package-lock.json,
Cargo.toml. Add CHANGELOG entry with all commits since v3.1.0.
Update ROADMAP to reflect Phase 3 progress (3.2, 3.3, 3.4 started).
Copy file name to clipboardExpand all lines: CHANGELOG.md
+26Lines changed: 26 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,32 @@
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.
**Reliability, architecture, and MCP cold-start fixes.** This patch breaks a circular dependency cycle, fixes MCP server first-connect reliability by deferring heavy imports, corrects flow matching to use core symbol kinds, and refactors all database access to use try/finally for reliable `db.close()`. Internal architecture improves with repository pattern for data access and command/query separation.
8
+
9
+
### Features
10
+
11
+
***hooks:** add pre-commit hooks for cycles, dead exports, signature warnings ([#381](https://github.com/optave/codegraph/pull/381))
12
+
***benchmark:** add 1-file rebuild phase breakdown to build benchmarks ([#370](https://github.com/optave/codegraph/pull/370))
13
+
14
+
### Bug Fixes
15
+
16
+
***cycles:** break circular dependency cycle and remove dead `queryName` export ([#378](https://github.com/optave/codegraph/pull/378))
17
+
***queries:** use `CORE_SYMBOL_KINDS` in flow matching ([#382](https://github.com/optave/codegraph/pull/382))
18
+
***mcp:** defer heavy imports in MCP server for first-connect reliability ([#380](https://github.com/optave/codegraph/pull/380))
19
+
20
+
### Refactors
21
+
22
+
* wrap all db usage in try/finally for reliable `db.close()` ([#384](https://github.com/optave/codegraph/pull/384), [#383](https://github.com/optave/codegraph/pull/383))
23
+
* repository pattern for data access ([#371](https://github.com/optave/codegraph/pull/371))
**Sequence diagrams, native engine performance leap, and unused export detection.** This release adds `codegraph sequence` for Mermaid sequence diagram generation from call graph edges, delivers major native engine build optimizations (deep-clone elimination, batched SQLite inserts, call edge building in Rust, FS caching, rayon-parallel import resolution), introduces `--unused` on the exports command to detect dead exports, and fixes an ~80x native no-op rebuild regression.
Copy file name to clipboardExpand all lines: docs/roadmap/ROADMAP.md
+34-6Lines changed: 34 additions & 6 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.0.0 | **Status:** Active development | **Updated:** March 2026
3
+
> **Current version:** 3.1.1 | **Status:** Active development | **Updated:** March 2026
4
4
5
5
Codegraph is a strong local-first code graph CLI. This roadmap describes planned improvements across ten 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
@@ -16,7 +16,7 @@ Codegraph is a strong local-first code graph CLI. This roadmap describes planned
16
16
|[**2**](#phase-2--foundation-hardening)| Foundation Hardening | Parser registry, complete MCP, test coverage, enhanced config, multi-repo MCP |**Complete** (v1.4.0) |
@@ -552,7 +552,9 @@ Plus updated enums on existing tools (edge_kinds, symbol kinds).
552
552
553
553
---
554
554
555
-
## Phase 3 -- Architectural Refactoring
555
+
## Phase 3 -- Architectural Refactoring 🔄
556
+
557
+
> **Status:** In Progress -- started in v3.1.1
556
558
557
559
**Goal:** Restructure the codebase for modularity, testability, and long-term maintainability. These are internal improvements -- no new user-facing features, but they make every subsequent phase easier to build and maintain.
558
560
@@ -591,7 +593,16 @@ A single AST walk with pluggable visitors eliminates 3 redundant tree traversals
591
593
592
594
**Affected files:**`src/complexity.js`, `src/cfg.js`, `src/dataflow.js`, `src/ast.js` -> split into `src/ast-analysis/`
593
595
594
-
### 3.2 -- Command/Query Separation ★ Critical
596
+
### 3.2 -- Command/Query Separation ★ Critical 🔄
597
+
598
+
> **v3.1.1 progress:** CLI display wrappers for all query commands extracted to `queries-cli.js` (866 lines, 15 functions). Shared `result-formatter.js` (`outputResult()` for JSON/NDJSON) and `test-filter.js` created. `queries.js` reduced from 3,395 → 2,490 lines — all `*Data()` functions remain, CLI formatting fully separated ([#373](https://github.com/optave/codegraph/pull/373)).
Eliminate the `*Data()` / `*()` dual-function pattern replicated across 19 modules. Every analysis module (queries, audit, batch, check, cochange, communities, complexity, cfg, dataflow, ast, flow, manifesto, owners, structure, triage, branch-compare, viewer) currently implements both data extraction AND CLI formatting.
597
608
@@ -616,7 +627,17 @@ src/
616
627
617
628
**Affected files:** All 19 modules with dual-function pattern, `src/cli.js`, `src/mcp.js`
618
629
619
-
### 3.3 -- Repository Pattern for Data Access ★ Critical
630
+
### 3.3 -- Repository Pattern for Data Access ★ Critical 🔄
631
+
632
+
> **v3.1.1 progress:**`src/db/` directory created with `repository.js` (134 lines), `query-builder.js` (280 lines), and `migrations.js` (312 lines). All db usage across the codebase wrapped in try/finally for reliable `db.close()` ([#371](https://github.com/optave/codegraph/pull/371), [#384](https://github.com/optave/codegraph/pull/384), [#383](https://github.com/optave/codegraph/pull/383)).
Consolidate all SQL into a single `Repository` class. Currently SQL is scattered across 25+ modules that each independently open the DB and write raw SQL inline across 13 tables.
622
643
@@ -633,7 +654,14 @@ Add a query builder for the common pattern "find nodes WHERE kind IN (...) AND f
633
654
634
655
**Affected files:**`src/db.js` -> split into `src/db/`, SQL extracted from all modules
635
656
636
-
### 3.4 -- Decompose queries.js (3,395 Lines)
657
+
### 3.4 -- Decompose queries.js (3,395 Lines) 🔄
658
+
659
+
> **v3.1.1 progress:**`queries.js` reduced from 3,395 → 2,490 lines by extracting all CLI formatting to `queries-cli.js` (3.2). Symbol kind constants extracted to `kinds.js` (49 lines) ([#378](https://github.com/optave/codegraph/pull/378)).
0 commit comments