From 8d7324e678c85a87eecde28736e904cf78a26560 Mon Sep 17 00:00:00 2001 From: carlos-alm <127798846+carlos-alm@users.noreply.github.com> Date: Thu, 5 Mar 2026 17:25:46 -0700 Subject: [PATCH 1/5] chore: release v3.0.4 --- CHANGELOG.md | 19 +++++++++++++++++++ crates/codegraph-core/Cargo.toml | 2 +- package-lock.json | 4 ++-- package.json | 16 ++++++++-------- 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index de8abbd9..e6789d17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,25 @@ 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. +## [3.0.4](https://github.com/optave/codegraph/compare/v3.0.3...v3.0.4) (2026-03-05) + +**Native engine goes full-stack: CFG, AST nodes, and WASM double-parse elimination.** This release completes the native engine migration — CFG computation and AST node extraction now run in Rust for all 11 languages, eliminating the redundant WASM pre-parse on native builds. Two new Linux platform packages add ARM64 (Graviton, Docker on Apple Silicon) and Alpine/musl support. A new `sequence` command generates Mermaid sequence diagrams from the call graph. + +### Features + +* **sequence:** add `codegraph sequence ` command for Mermaid sequence diagram generation from call graph edges — participants are files, BFS forward from entry point, optional `--dataflow` flag for parameter/return annotations; exposed via CLI, MCP tool, and programmatic API ([#345](https://github.com/optave/codegraph/pull/345)) +* **platform:** add `linux-arm64-gnu` and `linux-x64-musl` native binary packages with `detectLibc()` auto-selection and npm `libc` field support ([#341](https://github.com/optave/codegraph/pull/341)) + +### Performance + +* **native:** compute CFG in Rust native engine for all 8 languages (JS/TS/TSX, Python, Go, Rust, Java, C#, Ruby, PHP) — ports `buildFunctionCFG` algorithm to Rust with per-language `CfgRules`, eliminates WASM re-parsing in CFG phase ([#342](https://github.com/optave/codegraph/pull/342)) +* **native:** extract AST nodes (call, new, throw, await, string, regex) for all non-JS languages in Rust via shared `walk_ast_nodes_with_config()` — astMs drops from ~651ms to ~50ms ([#340](https://github.com/optave/codegraph/pull/340)) +* **builder:** skip `ensureWasmTrees` entirely when native engine provides complete CFG + dataflow + AST data — wasmPreMs drops from ~388ms to 0 on native builds ([#344](https://github.com/optave/codegraph/pull/344)) + +### Bug Fixes + +* **benchmark:** show all build phases (astMs, cfgMs, dataflowMs, wasmPreMs) in benchmark report and document v3.0.0→v3.0.3 native regression cause ([#339](https://github.com/optave/codegraph/pull/339)) + ## [3.0.3](https://github.com/optave/codegraph/compare/v3.0.2...v3.0.3) (2026-03-04) > **Note:** 3.0.2 was an internal/unpublished version used during development. diff --git a/crates/codegraph-core/Cargo.toml b/crates/codegraph-core/Cargo.toml index 2f0a1102..9bd54f9d 100644 --- a/crates/codegraph-core/Cargo.toml +++ b/crates/codegraph-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "codegraph-core" -version = "3.0.3" +version = "3.0.4" edition = "2021" license = "Apache-2.0" diff --git a/package-lock.json b/package-lock.json index fe1e2889..b69e5ff3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@optave/codegraph", - "version": "3.0.3", + "version": "3.0.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@optave/codegraph", - "version": "3.0.3", + "version": "3.0.4", "license": "Apache-2.0", "dependencies": { "better-sqlite3": "^12.6.2", diff --git a/package.json b/package.json index e30a4843..fcde0aa7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@optave/codegraph", - "version": "3.0.3", + "version": "3.0.4", "description": "Local code graph CLI — parse codebases with tree-sitter, build dependency graphs, query them", "type": "module", "main": "src/index.js", @@ -71,13 +71,13 @@ }, "optionalDependencies": { "@modelcontextprotocol/sdk": "^1.0.0", - "@optave/codegraph-darwin-arm64": "3.0.3", - "@optave/codegraph-darwin-x64": "3.0.3", - "@optave/codegraph-linux-arm64-gnu": "3.0.3", - "@optave/codegraph-linux-arm64-musl": "3.0.3", - "@optave/codegraph-linux-x64-gnu": "3.0.3", - "@optave/codegraph-linux-x64-musl": "3.0.3", - "@optave/codegraph-win32-x64-msvc": "3.0.3" + "@optave/codegraph-darwin-arm64": "3.0.4", + "@optave/codegraph-darwin-x64": "3.0.4", + "@optave/codegraph-linux-arm64-gnu": "3.0.4", + "@optave/codegraph-linux-arm64-musl": "3.0.4", + "@optave/codegraph-linux-x64-gnu": "3.0.4", + "@optave/codegraph-linux-x64-musl": "3.0.4", + "@optave/codegraph-win32-x64-msvc": "3.0.4" }, "devDependencies": { "@biomejs/biome": "^2.4.4", From f99859e889a1272a28e5faf0aba5bc8405699b2c Mon Sep 17 00:00:00 2001 From: carlos-alm <127798846+carlos-alm@users.noreply.github.com> Date: Thu, 5 Mar 2026 18:08:21 -0700 Subject: [PATCH 2/5] =?UTF-8?q?fix:=20address=20changelog=20review=20?= =?UTF-8?q?=E2=80=94=20remove=20unreleased=20sequence=20feature,=20fix=20l?= =?UTF-8?q?anguage=20count?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e6789d17..45fcd8df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,11 +4,10 @@ All notable changes to this project will be documented in this file. See [commit ## [3.0.4](https://github.com/optave/codegraph/compare/v3.0.3...v3.0.4) (2026-03-05) -**Native engine goes full-stack: CFG, AST nodes, and WASM double-parse elimination.** This release completes the native engine migration — CFG computation and AST node extraction now run in Rust for all 11 languages, eliminating the redundant WASM pre-parse on native builds. Two new Linux platform packages add ARM64 (Graviton, Docker on Apple Silicon) and Alpine/musl support. A new `sequence` command generates Mermaid sequence diagrams from the call graph. +**Native engine goes full-stack: CFG, AST nodes, and WASM double-parse elimination.** This release completes the native engine migration — CFG computation and AST node extraction now run in Rust for all supported languages, eliminating the redundant WASM pre-parse on native builds. Two new Linux platform packages add ARM64 (Graviton, Docker on Apple Silicon) and Alpine/musl support. ### Features -* **sequence:** add `codegraph sequence ` command for Mermaid sequence diagram generation from call graph edges — participants are files, BFS forward from entry point, optional `--dataflow` flag for parameter/return annotations; exposed via CLI, MCP tool, and programmatic API ([#345](https://github.com/optave/codegraph/pull/345)) * **platform:** add `linux-arm64-gnu` and `linux-x64-musl` native binary packages with `detectLibc()` auto-selection and npm `libc` field support ([#341](https://github.com/optave/codegraph/pull/341)) ### Performance From be03fe2d26079d614b0e1d9af58d5851ab25dab0 Mon Sep 17 00:00:00 2001 From: carlos-alm <127798846+carlos-alm@users.noreply.github.com> Date: Thu, 5 Mar 2026 23:37:57 -0700 Subject: [PATCH 3/5] =?UTF-8?q?fix:=20correct=20changelog=20=E2=80=94=20re?= =?UTF-8?q?move=20misattributed=20PRs,=20fix=20language=20count?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 45fcd8df..c4228473 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,11 +4,7 @@ All notable changes to this project will be documented in this file. See [commit ## [3.0.4](https://github.com/optave/codegraph/compare/v3.0.3...v3.0.4) (2026-03-05) -**Native engine goes full-stack: CFG, AST nodes, and WASM double-parse elimination.** This release completes the native engine migration — CFG computation and AST node extraction now run in Rust for all supported languages, eliminating the redundant WASM pre-parse on native builds. Two new Linux platform packages add ARM64 (Graviton, Docker on Apple Silicon) and Alpine/musl support. - -### Features - -* **platform:** add `linux-arm64-gnu` and `linux-x64-musl` native binary packages with `detectLibc()` auto-selection and npm `libc` field support ([#341](https://github.com/optave/codegraph/pull/341)) +**Native engine goes full-stack: CFG, AST nodes, and WASM double-parse elimination.** This release completes the native engine migration — CFG computation and AST node extraction now run in Rust for 8 languages, eliminating the redundant WASM pre-parse on native builds. ### Performance @@ -27,12 +23,6 @@ All notable changes to this project will be documented in this file. See [commit ### Performance * **ast:** use single transaction for AST node insertion — astMs drops from ~3600ms to ~350ms (native) and ~547ms (WASM), reducing overall native build from 24.9 to 8.5 ms/file ([#333](https://github.com/optave/codegraph/pull/333)) -* **builder:** skip `ensureWasmTrees` when native engine provides complete CFG + dataflow data ([#344](https://github.com/optave/codegraph/pull/344)) - -### Bug Fixes - -* **native:** fix function-scoped `const` declarations being incorrectly extracted as top-level constants ([#344](https://github.com/optave/codegraph/pull/344)) - ## [3.0.2](https://github.com/optave/codegraph/compare/v3.0.1...v3.0.2) (2026-03-04) From 2bd36408007723080701156dfde83f1fa86e5490 Mon Sep 17 00:00:00 2001 From: carlos-alm <127798846+carlos-alm@users.noreply.github.com> Date: Thu, 5 Mar 2026 23:44:16 -0700 Subject: [PATCH 4/5] fix: restore dropped #344 bug fix in v3.0.4 changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4228473..b391a59d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ All notable changes to this project will be documented in this file. See [commit ### Bug Fixes +* **native:** fix function-scoped `const` declarations being incorrectly extracted as top-level constants ([#344](https://github.com/optave/codegraph/pull/344)) * **benchmark:** show all build phases (astMs, cfgMs, dataflowMs, wasmPreMs) in benchmark report and document v3.0.0→v3.0.3 native regression cause ([#339](https://github.com/optave/codegraph/pull/339)) ## [3.0.3](https://github.com/optave/codegraph/compare/v3.0.2...v3.0.3) (2026-03-04) From ff0d2a9a20f8a9c20dbb1270efbbe45390302517 Mon Sep 17 00:00:00 2001 From: carlos-alm <127798846+carlos-alm@users.noreply.github.com> Date: Fri, 6 Mar 2026 00:05:15 -0700 Subject: [PATCH 5/5] fix: update package-lock.json platform packages to 3.0.4 --- package-lock.json | 74 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 58 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index b69e5ff3..b5968cea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,10 +44,13 @@ }, "optionalDependencies": { "@modelcontextprotocol/sdk": "^1.0.0", - "@optave/codegraph-darwin-arm64": "3.0.1", - "@optave/codegraph-darwin-x64": "3.0.1", - "@optave/codegraph-linux-x64-gnu": "3.0.1", - "@optave/codegraph-win32-x64-msvc": "3.0.1" + "@optave/codegraph-darwin-arm64": "3.0.4", + "@optave/codegraph-darwin-x64": "3.0.4", + "@optave/codegraph-linux-arm64-gnu": "3.0.4", + "@optave/codegraph-linux-arm64-musl": "3.0.4", + "@optave/codegraph-linux-x64-gnu": "3.0.4", + "@optave/codegraph-linux-x64-musl": "3.0.4", + "@optave/codegraph-win32-x64-msvc": "3.0.4" }, "peerDependencies": { "@huggingface/transformers": "^3.8.1" @@ -1644,9 +1647,9 @@ } }, "node_modules/@optave/codegraph-darwin-arm64": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@optave/codegraph-darwin-arm64/-/codegraph-darwin-arm64-3.0.1.tgz", - "integrity": "sha512-oedqUjOEyEwxUxWUssochZddSYIwE7YDhNOUluRW6omzE08PQPa9eGFyuAHWD58/eK1Up/vOtHJU0FCMJrCu/Q==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@optave/codegraph-darwin-arm64/-/codegraph-darwin-arm64-3.0.4.tgz", + "integrity": "", "cpu": [ "arm64" ], @@ -1657,9 +1660,9 @@ ] }, "node_modules/@optave/codegraph-darwin-x64": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@optave/codegraph-darwin-x64/-/codegraph-darwin-x64-3.0.1.tgz", - "integrity": "sha512-lZvL7K5T9x+eyULg/CzovX2NR4Cp3azuEEhNcZIOI+pVwFS2KIGcbpvwo7aXvnuUqWgclwxMs8d92coh/QclxQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@optave/codegraph-darwin-x64/-/codegraph-darwin-x64-3.0.4.tgz", + "integrity": "", "cpu": [ "x64" ], @@ -1669,10 +1672,49 @@ "darwin" ] }, + "node_modules/@optave/codegraph-linux-arm64-gnu": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@optave/codegraph-linux-arm64-gnu/-/codegraph-linux-arm64-gnu-3.0.4.tgz", + "integrity": "", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@optave/codegraph-linux-arm64-musl": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@optave/codegraph-linux-arm64-musl/-/codegraph-linux-arm64-musl-3.0.4.tgz", + "integrity": "", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@optave/codegraph-linux-x64-gnu": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@optave/codegraph-linux-x64-gnu/-/codegraph-linux-x64-gnu-3.0.1.tgz", - "integrity": "sha512-UCu6doZcPLFFuxRsSWxljY84UxZCVz8aMpuBlPzt8mzELaV19Klwc8fgeynugeGPuJDy8VXMMAh4na6XWc9+8w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@optave/codegraph-linux-x64-gnu/-/codegraph-linux-x64-gnu-3.0.4.tgz", + "integrity": "", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@optave/codegraph-linux-x64-musl": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@optave/codegraph-linux-x64-musl/-/codegraph-linux-x64-musl-3.0.4.tgz", + "integrity": "", "cpu": [ "x64" ], @@ -1683,9 +1725,9 @@ ] }, "node_modules/@optave/codegraph-win32-x64-msvc": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@optave/codegraph-win32-x64-msvc/-/codegraph-win32-x64-msvc-3.0.1.tgz", - "integrity": "sha512-orbjwsV7GprmlXZnkLQmH1JeYRofvzKb/MEJIX45d8I+wJ6mMPMRHwRNf0b3QcMTM0AW0PtJnc3ReS5RiqJSiQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@optave/codegraph-win32-x64-msvc/-/codegraph-win32-x64-msvc-3.0.4.tgz", + "integrity": "", "cpu": [ "x64" ],