-
Notifications
You must be signed in to change notification settings - Fork 15
chore: release v3.6.0 #710
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -80,7 +80,7 @@ No config files, no Docker, no JVM, no API keys, no accounts. Point your agent a | |||||
|
|
||||||
| | Capability | codegraph | [joern](https://github.com/joernio/joern) | [narsil-mcp](https://github.com/postrv/narsil-mcp) | [cpg](https://github.com/Fraunhofer-AISEC/cpg) | [axon](https://github.com/harshkedia177/axon) | [GitNexus](https://github.com/abhigyanpatwari/GitNexus) | | ||||||
| |---|:---:|:---:|:---:|:---:|:---:|:---:| | ||||||
| | Languages | **11** | ~12 | **32** | ~10 | 3 | 13 | | ||||||
| | Languages | **17** | ~12 | **32** | ~10 | 3 | 13 | | ||||||
| | MCP server | **Yes** | — | **Yes** | **Yes** | **Yes** | **Yes** | | ||||||
| | Dataflow + CFG + AST querying | **Yes** | **Yes** | **Yes**¹ | **Yes** | — | — | | ||||||
| | Hybrid search (BM25 + semantic) | **Yes** | — | — | — | **Yes** | **Yes** | | ||||||
|
|
@@ -106,7 +106,7 @@ No config files, no Docker, no JVM, no API keys, no accounts. Point your agent a | |||||
| | **💥** | **Git diff impact** | `codegraph diff-impact` shows changed functions, their callers, and full blast radius — enriched with historically coupled files from git co-change analysis. Ships with a GitHub Actions workflow | | ||||||
| | **🌐** | **Multi-language, one graph** | JS/TS + Python + Go + Rust + Java + C# + PHP + Ruby + HCL in a single graph — agents don't need per-language tools | | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The differentiator table entry for "Multi-language, one graph" still enumerates only
Suggested change
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed in 78840a1 — added all 6 new languages (C, C++, Kotlin, Swift, Scala, Bash) to the multi-language differentiator row. |
||||||
| | **🧠** | **Hybrid search** | BM25 keyword + semantic embeddings fused via RRF — `hybrid` (default), `semantic`, or `keyword` mode; multi-query via `"auth; token; JWT"` | | ||||||
| | **🔬** | **Dataflow + CFG** | Track how data flows through functions (`flows_to`, `returns`, `mutates`) and visualize intraprocedural control flow graphs for all 11 languages | | ||||||
| | **🔬** | **Dataflow + CFG** | Track how data flows through functions (`flows_to`, `returns`, `mutates`) and visualize intraprocedural control flow graphs for all 17 languages | | ||||||
| | **🔓** | **Fully local, zero cost** | No API keys, no accounts, no network calls. Optionally bring your own LLM provider — your code only goes where you choose | | ||||||
|
|
||||||
| --- | ||||||
|
|
@@ -186,7 +186,7 @@ cd codegraph && npm install && npm link | |||||
| | 🧠 | **Semantic search** | Embeddings-powered natural language search with multi-query RRF ranking | | ||||||
| | 👀 | **Watch mode** | Incrementally update the graph as files change | | ||||||
| | ⚡ | **Always fresh** | Three-tier incremental detection — sub-second rebuilds even on large codebases | | ||||||
| | 🔬 | **Data flow analysis** | Intraprocedural parameter tracking, return consumers, argument flows, and mutation detection — all 11 languages | | ||||||
| | 🔬 | **Data flow analysis** | Intraprocedural parameter tracking, return consumers, argument flows, and mutation detection — all 17 languages | | ||||||
| | 🧮 | **Complexity metrics** | Cognitive, cyclomatic, nesting depth, Halstead, and Maintainability Index per function | | ||||||
| | 🏘️ | **Community detection** | Leiden clustering to discover natural module boundaries and architectural drift | | ||||||
| | 📜 | **Manifesto rule engine** | Configurable pass/fail rules with warn/fail thresholds for CI gates via `check` (exit code 1 on fail) | | ||||||
|
|
@@ -199,8 +199,8 @@ cd codegraph && npm install && npm link | |||||
| | ✅ | **CI validation predicates** | `check` command with configurable gates: complexity, blast radius, cycles, boundary violations — exit code 0/1 for CI | | ||||||
| | 📋 | **Composite audit** | Single `audit` command combining explain + impact + health metrics per function — one call instead of 3-4 | | ||||||
| | 🚦 | **Triage queue** | `triage` merges connectivity, hotspots, roles, and complexity into a ranked audit priority queue | | ||||||
| | 🔬 | **Dataflow analysis** | Track how data moves through functions with `flows_to`, `returns`, and `mutates` edges — all 11 languages, included by default, skip with `--no-dataflow` | | ||||||
| | 🧩 | **Control flow graph** | Intraprocedural CFG construction for all 11 languages — `cfg` command with text/DOT/Mermaid output, included by default, skip with `--no-cfg` | | ||||||
| | 🔬 | **Dataflow analysis** | Track how data moves through functions with `flows_to`, `returns`, and `mutates` edges — all 17 languages, included by default, skip with `--no-dataflow` | | ||||||
| | 🧩 | **Control flow graph** | Intraprocedural CFG construction for all 17 languages — `cfg` command with text/DOT/Mermaid output, included by default, skip with `--no-cfg` | | ||||||
| | 🔎 | **AST node querying** | Stored queryable AST nodes (calls, `new`, string, regex, throw, await) — `ast` command with SQL GLOB pattern matching | | ||||||
| | 🧬 | **Expanded node/edge types** | `parameter`, `property`, `constant` node kinds with `parent_id` for sub-declaration queries; `contains`, `parameter_of`, `receiver` edge kinds | | ||||||
| | 📊 | **Exports analysis** | `exports <file>` shows all exported symbols with per-symbol consumers, re-export detection, and counts | | ||||||
|
|
@@ -320,7 +320,7 @@ codegraph ast -k call # Filter by kind: call, new, string, regex | |||||
| codegraph ast -k throw --file src/ # Combine kind and file filters | ||||||
| ``` | ||||||
|
|
||||||
| > **Note:** Dataflow and CFG are included by default for all 11 languages. Use `--no-dataflow` / `--no-cfg` for faster builds. | ||||||
| > **Note:** Dataflow and CFG are included by default for all 17 languages. Use `--no-dataflow` / `--no-cfg` for faster builds. | ||||||
|
|
||||||
|
|
||||||
| ### Audit, Triage & Batch | ||||||
|
|
@@ -482,11 +482,18 @@ codegraph registry remove <name> # Unregister | |||||
| |  | `.cs` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ||||||
| |  | `.php`, `.phtml` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ||||||
| |  | `.rb`, `.rake`, `.gemspec` | ✓ | ✓ | ✓ | ✓ | —³ | ✓ | | ||||||
| |  | `.c`, `.h` | ✓ | ✓ | ✓ | —⁴ | —⁴ | ✓ | | ||||||
| |  | `.cpp`, `.hpp`, `.cc`, `.cxx` | ✓ | ✓ | ✓ | ✓ | — | ✓ | | ||||||
| |  | `.kt`, `.kts` | ✓ | ✓ | ✓ | ✓ | — | ✓ | | ||||||
| |  | `.swift` | ✓ | ✓ | ✓ | ✓ | — | ✓ | | ||||||
| |  | `.scala`, `.sc` | ✓ | ✓ | ✓ | ✓ | — | ✓ | | ||||||
| |  | `.sh`, `.bash` | ✓ | ✓ | ✓ | —⁴ | —⁴ | ✓ | | ||||||
| |  | `.tf`, `.hcl` | ✓ | —³ | —³ | —³ | —³ | —³ | | ||||||
|
|
||||||
| > ¹ **Heritage** = `extends`, `implements`, `include`/`extend` (Ruby), trait `impl` (Rust), receiver methods (Go). | ||||||
| > ² **Type Inference** extracts a per-file type map from annotations (`const x: Router`, `MyType x`, `x: MyType`) and `new` expressions, enabling the edge resolver to connect `x.method()` → `Type.method()`. | ||||||
| > ³ Not applicable — Ruby is dynamically typed; Terraform/HCL is declarative (no functions, classes, or type system). | ||||||
| > ⁴ Not applicable — C and Bash have no class/inheritance system. | ||||||
| > All languages have full **parity** between the native Rust engine and the WASM fallback. | ||||||
|
|
||||||
| ## ⚙️ How It Works | ||||||
|
|
@@ -786,13 +793,14 @@ See **[ROADMAP.md](docs/roadmap/ROADMAP.md)** for the full development roadmap a | |||||
| 6. ~~**Resolution Accuracy**~~ — **Complete** (v3.3.1) — type inference, receiver type tracking, dead role sub-categories, resolution benchmarks, `package.json` exports, monorepo workspace resolution | ||||||
| 7. ~~**TypeScript Migration**~~ — **Complete** (v3.4.0) — all 271 source files migrated from JS to TS, zero `.js` remaining | ||||||
| 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 | ||||||
| 9. **Expanded Language Support** — 23 new languages in 4 batches (11 → 34) | ||||||
| 10. **Runtime & Extensibility** — event-driven pipeline, plugin system, query caching, pagination | ||||||
| 11. **Quality, Security & Technical Debt** — supply-chain security (SBOM, SLSA), CI coverage gates, timer cleanup, tech debt kill list | ||||||
| 12. **Intelligent Embeddings** — LLM-generated descriptions, enhanced embeddings, module summaries | ||||||
| 13. **Natural Language Queries** — `codegraph ask` command, conversational sessions | ||||||
| 14. **GitHub Integration & CI** — reusable GitHub Action, LLM-enhanced PR review, SARIF output | ||||||
| 15. **Advanced Features** — dead code detection, monorepo support, agentic search | ||||||
| 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) | ||||||
| 10. **Analysis Depth** — TypeScript-native resolution, inter-procedural type propagation, field-based points-to analysis | ||||||
| 11. **Runtime & Extensibility** — event-driven pipeline, plugin system, query caching, pagination | ||||||
| 12. **Quality, Security & Technical Debt** — supply-chain security (SBOM, SLSA), CI coverage gates, timer cleanup, tech debt kill list | ||||||
| 13. **Intelligent Embeddings** — LLM-generated descriptions, enhanced embeddings, module summaries | ||||||
| 14. **Natural Language Queries** — `codegraph ask` command, conversational sessions | ||||||
| 15. **GitHub Integration & CI** — reusable GitHub Action, LLM-enhanced PR review, SARIF output | ||||||
| 16. **Advanced Features** — dead code detection, monorepo support, agentic search | ||||||
|
|
||||||
| ## 🤝 Contributing | ||||||
|
|
||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,6 @@ | ||
| [package] | ||
| name = "codegraph-core" | ||
| version = "3.5.0" | ||
| version = "3.6.0" | ||
| edition = "2021" | ||
| license = "Apache-2.0" | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,6 +1,6 @@ | ||||||
| # Codegraph Roadmap | ||||||
|
|
||||||
| > **Current version:** 3.5.0 | **Status:** Active development | **Updated:** 2026-03-30 | ||||||
| > **Current version:** 3.6.0 | **Status:** Active development | **Updated:** 2026-03-30 | ||||||
|
|
||||||
| 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. | ||||||
|
|
||||||
|
|
@@ -20,8 +20,8 @@ Codegraph is a strong local-first code graph CLI. This roadmap describes planned | |||||
| | [**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) | | ||||||
| | [**5**](#phase-5--typescript-migration) | TypeScript Migration | Project setup, core type definitions, leaf -> core -> orchestration module migration, test migration | **Complete** (v3.4.0) | | ||||||
| | [**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) | | ||||||
| | [**7**](#phase-7--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 | | ||||||
| | [**8**](#phase-8--expanded-language-support) | Expanded Language Support | Parser abstraction layer, 23 new languages in 4 batches (11 → 34), dual-engine support | Planned | | ||||||
| | [**7**](#phase-7--expanded-language-support) | Expanded Language Support | Parser abstraction layer, 23 new languages in 4 batches (11 → 34), dual-engine support | **In Progress** (v3.6.0) | | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The overview table still describes Phase 7 with the original plan:
Suggested change
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed in 78840a1 — updated the Phase 7 overview table to note Batch 1 shipped in v3.6.0 with 17 remaining in 3 batches. |
||||||
| | [**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 | | ||||||
| | [**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 | | ||||||
| | [**10**](#phase-10--quality-security--technical-debt) | Quality, Security & Technical Debt | Supply-chain security, test quality gates, architectural debt cleanup | Planned | | ||||||
| | [**11**](#phase-11--intelligent-embeddings) | Intelligent Embeddings | LLM-generated descriptions, enhanced embeddings, build-time semantic metadata, module summaries | Planned | | ||||||
|
|
@@ -1315,10 +1315,12 @@ Extract shared patterns from existing extractors into reusable helpers to reduce | |||||
| - `extractBodyMembers` replaces 5 body-iteration patterns (Rust struct/enum, Java enum, C# enum, PHP enum) | ||||||
| - `stripQuotes` + `lastPathSegment` replace inline `.replace(/"/g, '')` and `.split('.').pop()` patterns across 7 extractors | ||||||
|
|
||||||
| ### 7.2 -- Batch 1: High Demand | ||||||
| ### 7.2 -- Batch 1: High Demand ✅ | ||||||
|
|
||||||
| Major languages with official or widely-adopted tree-sitter grammars (millions of crate downloads). | ||||||
|
|
||||||
| - ✅ All 6 languages shipped in v3.6.0 ([#708](https://github.com/optave/ops-codegraph-tool/pull/708)) | ||||||
|
|
||||||
| | Language | Extensions | Grammar | Org | Notes | | ||||||
| |----------|-----------|---------|-----|-------| | ||||||
| | C | `.c`, `.h` | `tree-sitter-c` | Official | 3.9M crate downloads | | ||||||
|
|
||||||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The release summary states
bringing the total supported languages to 14, but this is incorrect. The previous total was 11, and 6 new languages are added in this release (C, C++, Kotlin, Swift, Scala, Bash), making the new total 17 — which is reflected consistently everywhere else in this PR (README comparison table, feature descriptions, notes, etc.).There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in 78840a1 — corrected the language count from 14 to 17 in the CHANGELOG summary.