Skip to content

Commit c0b46a5

Browse files
authored
chore: release v3.4.1 (#641)
1 parent 1f5d28b commit c0b46a5

6 files changed

Lines changed: 42 additions & 8 deletions

File tree

CHANGELOG.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,39 @@
22

33
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.
44

5+
## [3.4.1](https://github.com/optave/codegraph/compare/v3.4.0...v3.4.1) (2026-03-26)
6+
7+
**Post-migration stabilization and native engine accuracy.** This release fixes a Rust `findCaller` bug that misattributed 68 call edges, adds compound database indexes to restore query performance after the TypeScript migration, and delivers a 96% speedup to incremental role classification (255ms → 9ms). WASM builds are more resilient, incremental rebuilds handle JSONC and version changes correctly, and error handling is safer across the board.
8+
9+
### Bug Fixes
10+
11+
* **native:** remove spurious else-if in Rust `findCaller` that misattributed 68 call edges ([#637](https://github.com/optave/codegraph/pull/637))
12+
* **native:** recurse into `await_expression` children in `walk_ast_nodes` ([#618](https://github.com/optave/codegraph/pull/618))
13+
* **build:** JSONC parse and version-aware incremental rebuilds ([#631](https://github.com/optave/codegraph/pull/631))
14+
* WASM build resilience and lint cleanup from TypeScript migration ([#629](https://github.com/optave/codegraph/pull/629))
15+
* dogfood fixes 9.1–9.4 — version warning, barrel exports, quieter tsconfig, Set compatibility ([#634](https://github.com/optave/codegraph/pull/634))
16+
* use safe error coercion in debug catch blocks ([#630](https://github.com/optave/codegraph/pull/630))
17+
* add debug logging to empty catch blocks across infrastructure and domain layers ([#616](https://github.com/optave/codegraph/pull/616))
18+
* **bench:** use `dist/` for npm benchmark installs to avoid Node type-stripping error ([#624](https://github.com/optave/codegraph/pull/624))
19+
* **bench:** repair benchmark workflow broken by TypeScript migration ([#612](https://github.com/optave/codegraph/pull/612))
20+
* **skills:** prevent `/review` from spamming `@greptileai` when already approved ([#628](https://github.com/optave/codegraph/pull/628))
21+
22+
### Performance
23+
24+
* **db:** add compound indexes to fix query regression from TypeScript migration ([#632](https://github.com/optave/codegraph/pull/632))
25+
* **build:** incremental rebuild optimizations — roles 255ms → 9ms ([#622](https://github.com/optave/codegraph/pull/622))
26+
27+
### Refactors
28+
29+
* **errors:** extract shared `toErrorMessage` helper ([#633](https://github.com/optave/codegraph/pull/633))
30+
* extract `MAX_WALK_DEPTH` constant to extractors helpers ([#620](https://github.com/optave/codegraph/pull/620))
31+
* address SLOC warnings in domain and features layers ([#621](https://github.com/optave/codegraph/pull/621))
32+
* split `cfg-visitor.ts` by control-flow construct ([#619](https://github.com/optave/codegraph/pull/619))
33+
34+
### Chores
35+
36+
* **titan:** first full Titan Paradigm pipeline run — audit report generation and skill improvements ([#623](https://github.com/optave/codegraph/pull/623))
37+
538
## [3.4.0](https://github.com/optave/codegraph/compare/v3.3.1...v3.4.0) (2026-03-25)
639

740
**TypeScript migration complete, Leiden community detection, and native engine hardening.** The entire codebase — all 271 source files — is now TypeScript with zero `.js` files remaining. Community detection upgrades from Louvain to a vendored Leiden algorithm with true probabilistic refinement, removing the `graphology` dependency. Go gains structural interface matching and C# gets proper `implements` disambiguation. The native Rust engine now extracts call-site AST nodes and bypasses the JS CFG visitor entirely on native builds. MCP server shutdown is graceful, and several edge-attribution and WASM fallback bugs are fixed.

crates/codegraph-core/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "codegraph-core"
3-
version = "3.4.0"
3+
version = "3.4.1"
44
edition = "2021"
55
license = "Apache-2.0"
66

docs/roadmap/BACKLOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Codegraph Feature Backlog
22

3-
**Last updated:** 2026-03-25
3+
**Last updated:** 2026-03-26
44
**Source:** Features derived from [COMPETITIVE_ANALYSIS.md](../../generated/competitive/COMPETITIVE_ANALYSIS.md) and internal roadmap discussions.
55

66
---

docs/roadmap/ROADMAP.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Codegraph Roadmap
22

3-
> **Current version:** 3.4.0 | **Status:** Active development | **Updated:** 2026-03-25
3+
> **Current version:** 3.4.1 | **Status:** Active development | **Updated:** 2026-03-26
44
55
Codegraph is a strong local-first code graph CLI. This roadmap describes planned improvements across thirteen phases -- closing gaps with commercial code intelligence platforms while preserving codegraph's core strengths: fully local, open source, zero cloud dependency by default.
66

@@ -1213,20 +1213,21 @@ Structure building is unchanged — at 22ms it's already fast.
12131213

12141214
### 6.8 -- Incremental Rebuild Performance (partial)
12151215

1216-
**Partially complete.** Roles classification is fully optimized (255ms → 9ms via incremental path with edge-neighbour expansion, PR #622). Structure batching and finalize skip are also done. Current native 1-file rebuild is ~466ms (v3.4.0, 473 files) — down from ~802ms but still above the sub-100ms target.
1216+
**Partially complete.** Roles classification is fully optimized (255ms → 9ms via incremental path with edge-neighbour expansion, PR #622). Structure batching and finalize skip are also done. Compound DB indexes restored query performance after TS migration (PR #632). Current native 1-file rebuild is ~466ms (v3.4.0, 473 files) — down from ~802ms but still above the sub-100ms target.
12171217

12181218
**Done:**
12191219
- **Incremental roles** (255ms → 9ms): Only reclassify nodes from changed files + edge neighbours using indexed correlated subqueries. Global medians for threshold consistency. Parity-tested against full rebuild. *Note:* The benchmark table shows ~54ms for 1-file roles because the standard benchmark runs the full roles phase; the 9ms incremental path (PR #622) is used only when the builder detects a 1-file incremental rebuild
12201220
- **Structure batching:** Replace N+1 per-file queries with 3 batch queries regardless of file count
12211221
- **Finalize skip:** Skip advisory queries (orphaned embeddings, unused exports) during incremental builds
1222+
- **DB index regression:** Compound indexes on nodes/edges tables restored after TS migration (PR #632)
12221223

12231224
**Remaining:**
12241225
- **Incremental edge rebuild:** Only rebuild edges involving the changed file's symbols (currently edgesMs ~21ms on native, ~15ms on WASM — native is *slower* on 1-file)
12251226
- **Parse overhead:** Native parse of 1 file takes ~57ms (vs 201ms WASM) — investigate tree-sitter incremental parsing to push below 10ms
12261227
- **Structure/roles on 1-file:** Both still take ~25ms and ~54ms respectively on 1-file rebuilds — the full-build optimizations (6.5) don't apply to the incremental path
12271228
- **Benchmark target:** Sub-100ms native 1-file rebuilds (current ~466ms on 473 files)
12281229

1229-
**Key PRs:** #622
1230+
**Key PRs:** #622, #632
12301231

12311232
**Affected files:** `src/domain/graph/builder/stages/build-structure.ts`, `src/domain/graph/builder/stages/build-edges.ts`, `src/domain/graph/builder/pipeline.ts`
12321233

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@optave/codegraph",
3-
"version": "3.4.0",
3+
"version": "3.4.1",
44
"description": "Local code graph CLI — parse codebases with tree-sitter, build dependency graphs, query them",
55
"type": "module",
66
"main": "dist/index.js",

0 commit comments

Comments
 (0)