Skip to content

Commit c818b7c

Browse files
chore(release): 2.5.0 (#163)
* feat: benchmark dev/release versioning and npm source resolution Add shared bench-config.js with --version and --npm CLI flags so benchmark scripts can install and measure the actual published npm package instead of always using local source labeled with package.json version. - New scripts/lib/bench-config.js: parseArgs(), resolveBenchmarkSource(), srcImport() with retry/backoff for npm propagation - All 4 benchmark runners use CLI-driven version (default "dev") and srcImport() for dynamic imports; call cleanup() on exit - All 4 report updaters: dev entries are rolling (one at a time), releases remove dev entry, findPrevRelease() skips dev for trends - Workflow: workflow_dispatch accepts version input, detects npm vs local mode, adds npm propagation wait, removes artifact download steps - Re-benchmarked 2.4.0 from actual npm package (123 files, 801 nodes) Impact: 10 functions changed, 10 affected * refactor: simplify redundant unwrap_or pattern in complexity.rs Impact: 1 functions changed, 0 affected * chore(release): 2.5.0 --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent 0e41ceb commit c818b7c

3 files changed

Lines changed: 73 additions & 16 deletions

File tree

CHANGELOG.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,63 @@
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+
## [2.5.0](https://github.com/optave/codegraph/compare/v2.4.0...v2.5.0) (2026-02-27)
6+
7+
**Complexity analysis, community detection, execution flow tracing, and manifesto rule engine.** This release adds a full code quality suite — cognitive, cyclomatic, Halstead, and Maintainability Index metrics for all 11 supported languages — with native Rust parity for maximum performance. Louvain community detection surfaces module boundaries and drift. A configurable manifesto rule engine enables CI-gated quality thresholds. Execution flow tracing lets you follow call paths through the codebase. Dev builds now publish as GitHub pre-releases instead of npm.
8+
9+
### Features
10+
11+
* **cli:** add cognitive & cyclomatic complexity metrics with per-function and file-level analysis ([35f6176](https://github.com/optave/codegraph/commit/35f6176))
12+
* **cli:** add Halstead metrics (volume, difficulty, effort, bugs) and Maintainability Index ([452d9e9](https://github.com/optave/codegraph/commit/452d9e9))
13+
* **cli:** add multi-language complexity analysis — extend metrics to all 11 supported languages ([b1166e0](https://github.com/optave/codegraph/commit/b1166e0))
14+
* **cli:** add execution flow tracing — `flow` command and MCP tools for tracing call paths ([bc33f3b](https://github.com/optave/codegraph/commit/bc33f3b))
15+
* **cli:** add `path` command for shortest-path queries between symbols ([ef0ea81](https://github.com/optave/codegraph/commit/ef0ea81))
16+
* **communities:** add Louvain community detection for module boundary analysis and drift detection ([f3e36ad](https://github.com/optave/codegraph/commit/f3e36ad))
17+
* **manifesto:** add configurable pass/fail rule engine with warn/fail thresholds for CI gates ([5a7d039](https://github.com/optave/codegraph/commit/5a7d039))
18+
* **native:** add Halstead, LOC, and MI metrics to Rust native engine — full metrics parity across all 8 extractors ([44fe899](https://github.com/optave/codegraph/commit/44fe899))
19+
* **embedder:** interactive install prompt for `@huggingface/transformers` when missing ([8e717b2](https://github.com/optave/codegraph/commit/8e717b2))
20+
* **builder:** add build metadata tracking and `excludeTests` config shorthand ([f65b364](https://github.com/optave/codegraph/commit/f65b364))
21+
* **structure:** add file limit to structure tool to reduce token usage ([2c565fa](https://github.com/optave/codegraph/commit/2c565fa))
22+
* **ci:** publish dev builds as GitHub pre-releases instead of npm ([70c7627](https://github.com/optave/codegraph/commit/70c7627))
23+
* **ci:** benchmark dev/release versioning and npm source resolution ([5d532a6](https://github.com/optave/codegraph/commit/5d532a6))
24+
25+
### Performance
26+
27+
* **native:** eliminate WASM re-parse for native complexity + build optimizations ([b8c8ca7](https://github.com/optave/codegraph/commit/b8c8ca7))
28+
* **native:** native complexity computation for all languages with phase breakdown benchmarks ([231e941](https://github.com/optave/codegraph/commit/231e941))
29+
30+
### Bug Fixes
31+
32+
* **builder:** incremental rebuild drops edges from unchanged files ([9c3e3ba](https://github.com/optave/codegraph/commit/9c3e3ba))
33+
* **queries:** scope-aware caller selection for nested functions ([72497dc](https://github.com/optave/codegraph/commit/72497dc))
34+
* **complexity:** sanitize threshold values in complexity SQL queries ([c5ca1f2](https://github.com/optave/codegraph/commit/c5ca1f2))
35+
* **builder:** upgrade build metadata failure log from debug to warn ([1c60b88](https://github.com/optave/codegraph/commit/1c60b88))
36+
* **cli:** embed `--db` flag, DB locking, prerelease check, build logging improvements ([6a700b2](https://github.com/optave/codegraph/commit/6a700b2))
37+
* **native:** add win32 native binary to optionalDependencies, fix embedder crashes ([f026c6a](https://github.com/optave/codegraph/commit/f026c6a))
38+
* **hooks:** hook resilience for git ops, regex bypass, and worktree isolation ([2459cfc](https://github.com/optave/codegraph/commit/2459cfc))
39+
* **ci:** benchmark uses stale native addon from npm ([83f2d4e](https://github.com/optave/codegraph/commit/83f2d4e))
40+
* **ci:** preserve hand-written notes in benchmark report regeneration ([2d79f18](https://github.com/optave/codegraph/commit/2d79f18))
41+
* **ci:** benchmark script regex + workflow branch naming ([53fc34f](https://github.com/optave/codegraph/commit/53fc34f))
42+
* **ci:** harden benchmark workflow against transient npm failures ([1b97fb9](https://github.com/optave/codegraph/commit/1b97fb9))
43+
* **ci:** isolate publish concurrency by event type ([529bf6f](https://github.com/optave/codegraph/commit/529bf6f))
44+
* **ci:** use npx for license-checker to avoid intermittent 403 errors ([84e8e38](https://github.com/optave/codegraph/commit/84e8e38))
45+
* **ci:** force-add gitignored DEPENDENCIES.json in release workflow ([fe22813](https://github.com/optave/codegraph/commit/fe22813))
46+
* **ci:** add error handling to dev release pruning step ([fe45512](https://github.com/optave/codegraph/commit/fe45512))
47+
48+
### Refactoring
49+
50+
* simplify redundant `unwrap_or` pattern in complexity.rs ([150c3eb](https://github.com/optave/codegraph/commit/150c3eb))
51+
52+
### Testing
53+
54+
* add unit tests for interactive install prompt ([cc7c3e1](https://github.com/optave/codegraph/commit/cc7c3e1))
55+
56+
### Documentation
57+
58+
* complexity, communities, manifesto across all docs ([8f12f66](https://github.com/optave/codegraph/commit/8f12f66))
59+
* correct engine parity section — 100% parity confirmed ([55c8ee3](https://github.com/optave/codegraph/commit/55c8ee3))
60+
* update build performance benchmarks ([550b3b5](https://github.com/optave/codegraph/commit/550b3b5), [ea6b050](https://github.com/optave/codegraph/commit/ea6b050), [15e893c](https://github.com/optave/codegraph/commit/15e893c))
61+
562
## [2.4.0](https://github.com/optave/codegraph/compare/v2.3.0...v2.4.0) (2026-02-25)
663

764
**Co-change analysis, node roles, faster parsing, and richer Mermaid output.** This release adds git co-change analysis to surface files that change together, classifies nodes by architectural role (entry/core/utility/adapter/dead/leaf), replaces the manual AST walk with tree-sitter's Query API for significantly faster JS/TS/TSX extraction, and enhances Mermaid export with subgraphs, edge labels, node shapes, and styling.

package-lock.json

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

package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@optave/codegraph",
3-
"version": "2.4.0",
3+
"version": "2.5.0",
44
"description": "Local code graph CLI — parse codebases with tree-sitter, build dependency graphs, query them",
55
"type": "module",
66
"main": "src/index.js",
@@ -71,10 +71,10 @@
7171
},
7272
"optionalDependencies": {
7373
"@modelcontextprotocol/sdk": "^1.0.0",
74-
"@optave/codegraph-darwin-arm64": "2.4.0",
75-
"@optave/codegraph-darwin-x64": "2.4.0",
76-
"@optave/codegraph-linux-x64-gnu": "2.4.0",
77-
"@optave/codegraph-win32-x64-msvc": "2.4.0"
74+
"@optave/codegraph-darwin-arm64": "2.5.0",
75+
"@optave/codegraph-darwin-x64": "2.5.0",
76+
"@optave/codegraph-linux-x64-gnu": "2.5.0",
77+
"@optave/codegraph-win32-x64-msvc": "2.5.0"
7878
},
7979
"devDependencies": {
8080
"@biomejs/biome": "^2.4.4",

0 commit comments

Comments
 (0)