Skip to content

Commit 10dc56a

Browse files
authored
chore: release v3.7.0 (#721)
* chore: release v3.7.0 * fix: bump native binary optionalDependencies to 3.7.0 (#721)
1 parent 13cede2 commit 10dc56a

6 files changed

Lines changed: 40 additions & 20 deletions

File tree

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
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.7.0](https://github.com/optave/ops-codegraph-tool/compare/v3.6.0...v3.7.0) (2026-03-30)
6+
7+
**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.
8+
9+
### Features
10+
11+
* add Elixir, Lua, Dart, Zig, Haskell, OCaml language support ([#718](https://github.com/optave/ops-codegraph-tool/pull/718))
12+
13+
### Bug Fixes
14+
15+
* **cfg:** avoid dual-connection WAL conflict in native bulkInsertCfg ([#719](https://github.com/optave/ops-codegraph-tool/pull/719))
16+
517
## [3.6.0](https://github.com/optave/ops-codegraph-tool/compare/v3.5.0...v3.6.0) (2026-03-30)
618

719
**Six new languages: Elixir, Lua, Dart, Zig, Haskell, OCaml.** This release adds first-class support for Elixir, Lua, Dart, Zig, Haskell, and OCaml — bringing the total supported languages to 23. Each language ships with dual-engine extractors (WASM TypeScript + native Rust), AST configs, and parser tests. The native Rust engine gains batched query methods for the read path, WAL corruption is fixed when native and JS connections overlap, and WASM call-AST extraction is restored for full engine parity.

README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,12 @@ codegraph registry remove <name> # Unregister
488488
| ![Swift](https://img.shields.io/badge/-Swift-F05138?style=flat-square&logo=swift&logoColor=white) | `.swift` |||||||
489489
| ![Scala](https://img.shields.io/badge/-Scala-DC322F?style=flat-square&logo=scala&logoColor=white) | `.scala`, `.sc` |||||||
490490
| ![Bash](https://img.shields.io/badge/-Bash-4EAA25?style=flat-square&logo=gnubash&logoColor=white) | `.sh`, `.bash` |||| —⁴ | —⁴ ||
491+
| ![Elixir](https://img.shields.io/badge/-Elixir-4B275F?style=flat-square&logo=elixir&logoColor=white) | `.ex`, `.exs` |||||||
492+
| ![Lua](https://img.shields.io/badge/-Lua-2C2D72?style=flat-square&logo=lua&logoColor=white) | `.lua` |||||||
493+
| ![Dart](https://img.shields.io/badge/-Dart-0175C2?style=flat-square&logo=dart&logoColor=white) | `.dart` |||||||
494+
| ![Zig](https://img.shields.io/badge/-Zig-F7A41D?style=flat-square&logo=zig&logoColor=white) | `.zig` |||||||
495+
| ![Haskell](https://img.shields.io/badge/-Haskell-5D4F85?style=flat-square&logo=haskell&logoColor=white) | `.hs` |||||||
496+
| ![OCaml](https://img.shields.io/badge/-OCaml-EC6813?style=flat-square&logo=ocaml&logoColor=white) | `.ml`, `.mli` |||||||
491497
| ![Terraform](https://img.shields.io/badge/-Terraform-844FBA?style=flat-square&logo=terraform&logoColor=white) | `.tf`, `.hcl` || —³ | —³ | —³ | —³ | —³ |
492498

493499
> ¹ **Heritage** = `extends`, `implements`, `include`/`extend` (Ruby), trait `impl` (Rust), receiver methods (Go).
@@ -792,7 +798,7 @@ See **[ROADMAP.md](docs/roadmap/ROADMAP.md)** for the full development roadmap a
792798
6. ~~**Resolution Accuracy**~~**Complete** (v3.3.1) — type inference, receiver type tracking, dead role sub-categories, resolution benchmarks, `package.json` exports, monorepo workspace resolution
793799
7. ~~**TypeScript Migration**~~**Complete** (v3.4.0) — all 271 source files migrated from JS to TS, zero `.js` remaining
794800
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
795-
9. **Expanded Language Support****In Progress** (v3.6.0) — Batch 1 shipped (C, C++, Kotlin, Swift, Scala, Bash); 17 remaining in 3 batches (17 → 34)
801+
9. **Expanded Language Support****In Progress** (v3.7.0) — Batch 1 shipped (C, C++, Kotlin, Swift, Scala, Bash), Batch 2 shipped (Elixir, Lua, Dart, Zig, Haskell, OCaml); 11 remaining in 2 batches (23 → 34)
796802
10. **Analysis Depth** — TypeScript-native resolution, inter-procedural type propagation, field-based points-to analysis
797803
11. **Runtime & Extensibility** — event-driven pipeline, plugin system, query caching, pagination
798804
12. **Quality, Security & Technical Debt** — supply-chain security (SBOM, SLSA), CI coverage gates, timer cleanup, tech debt kill list

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.6.0"
3+
version = "3.7.0"
44
edition = "2021"
55
license = "Apache-2.0"
66

docs/roadmap/ROADMAP.md

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

3-
> **Current version:** 3.6.0 | **Status:** Active development | **Updated:** 2026-03-30
3+
> **Current version:** 3.7.0 | **Status:** Active development | **Updated:** 2026-03-30
44
55
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.
66

@@ -20,7 +20,7 @@ Codegraph is a strong local-first code graph CLI. This roadmap describes planned
2020
| [**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) |
2121
| [**5**](#phase-5--typescript-migration) | TypeScript Migration | Project setup, core type definitions, leaf -> core -> orchestration module migration, test migration | **Complete** (v3.4.0) |
2222
| [**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 + 2 (12 languages) shipped in v3.6.0; 11 remaining in 2 batches (23 → 34) | **In Progress** (v3.6.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) |
2424
| [**8**](#phase-8--analysis-depth) | Analysis Depth | TypeScript-native resolution, inter-procedural type propagation, field-based points-to analysis, enhanced dynamic dispatch, barrel file resolution, precision/recall CI gates | Planned |
2525
| [**9**](#phase-9--runtime--extensibility) | Runtime & Extensibility | Event-driven pipeline, unified engine strategy, subgraph export filtering, transitive confidence, query caching, configuration profiles, pagination, plugin system | Planned |
2626
| [**10**](#phase-10--quality-security--technical-debt) | Quality, Security & Technical Debt | Supply-chain security, test quality gates, architectural debt cleanup | Planned |
@@ -1330,10 +1330,12 @@ Major languages with official or widely-adopted tree-sitter grammars (millions o
13301330
| Scala | `.scala`, `.sc` | `tree-sitter-scala` | Official | JVM ecosystem, 1.5M crate downloads |
13311331
| Bash | `.sh`, `.bash` | `tree-sitter-bash` | Official | 2.6M crate downloads |
13321332

1333-
### 7.3 -- Batch 2: Growing Ecosystems
1333+
### 7.3 -- Batch 2: Growing Ecosystems
13341334

13351335
Actively maintained grammars with both npm and Rust packages available.
13361336

1337+
- ✅ All 6 languages shipped in v3.7.0 ([#718](https://github.com/optave/ops-codegraph-tool/pull/718))
1338+
13371339
| Language | Extensions | Grammar | Org | Notes |
13381340
|----------|-----------|---------|-----|-------|
13391341
| Elixir | `.ex`, `.exs` | `tree-sitter-elixir` | `elixir-lang/` | Official Elixir org, 1.2M crate downloads |

package-lock.json

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

package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@optave/codegraph",
3-
"version": "3.6.0",
3+
"version": "3.7.0",
44
"description": "Local code graph CLI — parse codebases with tree-sitter, build dependency graphs, query them",
55
"type": "module",
66
"main": "dist/index.js",
@@ -131,12 +131,12 @@
131131
},
132132
"optionalDependencies": {
133133
"@modelcontextprotocol/sdk": "^1.0.0",
134-
"@optave/codegraph-darwin-arm64": "3.6.0",
135-
"@optave/codegraph-darwin-x64": "3.6.0",
136-
"@optave/codegraph-linux-arm64-gnu": "3.6.0",
137-
"@optave/codegraph-linux-x64-gnu": "3.6.0",
138-
"@optave/codegraph-linux-x64-musl": "3.6.0",
139-
"@optave/codegraph-win32-x64-msvc": "3.6.0"
134+
"@optave/codegraph-darwin-arm64": "3.7.0",
135+
"@optave/codegraph-darwin-x64": "3.7.0",
136+
"@optave/codegraph-linux-arm64-gnu": "3.7.0",
137+
"@optave/codegraph-linux-x64-gnu": "3.7.0",
138+
"@optave/codegraph-linux-x64-musl": "3.7.0",
139+
"@optave/codegraph-win32-x64-msvc": "3.7.0"
140140
},
141141
"devDependencies": {
142142
"@biomejs/biome": "^2.4.4",

0 commit comments

Comments
 (0)