diff --git a/.claude/skills/release/SKILL.md b/.claude/skills/release/SKILL.md index 79d1183d..4cae4656 100644 --- a/.claude/skills/release/SKILL.md +++ b/.claude/skills/release/SKILL.md @@ -145,6 +145,19 @@ Read `README.md` and check if any new user-facing features from this release nee Run `grep` to confirm the new version appears in `package-lock.json` and that all `@optave/codegraph-*` optional dependency entries are complete (have version, resolved, integrity, cpu, os fields). Flag any incomplete entries — they indicate an unpublished platform binary. +**Critical: verify `libc` fields on Linux entries.** Some npm versions (notably v11+) silently strip the `libc` field when regenerating the lock file via `npm install --package-lock-only`. Without `libc`, npm may install glibc binaries on musl systems (Alpine) and vice versa. Check: + +```bash +grep -A12 'codegraph-linux' package-lock.json | grep -c libc +# Expected: 3 (one each for linux-arm64-gnu, linux-x64-gnu, linux-x64-musl) +``` + +If the count is less than 3, manually restore the missing fields: +- `-gnu` packages: `"libc": ["glibc"]` +- `-musl` packages: `"libc": ["musl"]` + +Place the `libc` array after the `cpu` array in each entry. + ## Step 8: Create branch, commit, push, PR 1. Create branch: `git checkout -b release/VERSION` (if on detached HEAD from Step 0, this creates the branch at the current commit) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8bd5b7cd..90440170 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,32 @@ 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.3.1](https://github.com/optave/codegraph/compare/v3.3.0...v3.3.1) (2026-03-20) + +**Incremental rebuild accuracy and post-3.3.0 stabilization.** This patch fixes a critical edge gap in the file watcher's single-file rebuild path where call edges were silently dropped during incremental rebuilds, aligns the native Rust engine's edge builder kind filters with the JS engine for parity, plugs a WASM tree memory leak in native engine typeMap backfill, and restores query performance to pre-3.1.4 levels. Several post-reorganization import path issues are also corrected. + +### Bug Fixes + +* **watcher:** close edge gap in single-file rebuild — incremental rebuilds now correctly preserve call edges by coercing native typeMap arrays to Maps and rebuilding edges for reverse-dependency files ([#533](https://github.com/optave/codegraph/pull/533), [#542](https://github.com/optave/codegraph/pull/542)) +* **native:** align edge builder kind filters with JS engine parity — ensures native and WASM engines produce identical edge sets ([#541](https://github.com/optave/codegraph/pull/541)) +* **native:** free leaked WASM trees in native engine typeMap backfill ([#534](https://github.com/optave/codegraph/pull/534)) +* **cli:** correct `ast` command import path after src/ reorganization ([#532](https://github.com/optave/codegraph/pull/532)) +* **benchmarks:** stabilize benchmark targets across engines and preserve README links ([#527](https://github.com/optave/codegraph/pull/527)) +* **benchmarks:** update benchmark script import paths after src/ restructure ([#521](https://github.com/optave/codegraph/pull/521)) +* **ci:** sync Cargo.toml version before native binary build ([#538](https://github.com/optave/codegraph/pull/538)) + +### Performance + +* **queries:** reduce query latency regression from 3.1.4 to 3.3.0 — cached prepared statements for `findReverseDeps` and `deleteOutgoingEdges` ([#528](https://github.com/optave/codegraph/pull/528)) + +### Tests + +* **watcher:** incremental edge parity CI check — ensures watcher rebuilds produce identical edge sets to full builds ([#539](https://github.com/optave/codegraph/pull/539)) + +### Chores + +* **ci:** add dynamic import verification to catch stale paths ([#540](https://github.com/optave/codegraph/pull/540)) + ## [3.3.0](https://github.com/optave/codegraph/compare/v3.2.0...v3.3.0) (2026-03-19) **Resolution accuracy reaches a new level.** This release delivers Phase 4 resolution improvements — type inference across all typed languages, receiver type tracking with graded confidence, `package.json` exports field resolution, and monorepo workspace resolution. Method calls like `repo.findCallers()` now resolve through receiver types instead of matching any `findCallers` in scope. Barrel files correctly show re-exported symbols. A precision/recall benchmark suite tracks call resolution accuracy across versions. On the infrastructure side, all hardcoded behavioral constants are centralized into `DEFAULTS` with recursive deep merge, and the TypeScript migration begins with project setup and core type definitions. diff --git a/docs/roadmap/BACKLOG.md b/docs/roadmap/BACKLOG.md index e4ca10fd..bf1c62a9 100644 --- a/docs/roadmap/BACKLOG.md +++ b/docs/roadmap/BACKLOG.md @@ -1,6 +1,6 @@ # Codegraph Feature Backlog -**Last updated:** 2026-03-19 +**Last updated:** 2026-03-20 **Source:** Features derived from [COMPETITIVE_ANALYSIS.md](../../generated/competitive/COMPETITIVE_ANALYSIS.md) and internal roadmap discussions. --- diff --git a/docs/roadmap/ROADMAP.md b/docs/roadmap/ROADMAP.md index bd0a0787..e35f3e8b 100644 --- a/docs/roadmap/ROADMAP.md +++ b/docs/roadmap/ROADMAP.md @@ -1,6 +1,6 @@ # Codegraph Roadmap -> **Current version:** 3.3.0 | **Status:** Active development | **Updated:** March 2026 +> **Current version:** 3.3.1 | **Status:** Active development | **Updated:** March 2026 Codegraph is a strong local-first code graph CLI. This roadmap describes planned improvements across twelve phases -- closing gaps with commercial code intelligence platforms while preserving codegraph's core strengths: fully local, open source, zero cloud dependency by default. diff --git a/package-lock.json b/package-lock.json index 5eec81ba..78a04781 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@optave/codegraph", - "version": "3.3.0", + "version": "3.3.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@optave/codegraph", - "version": "3.3.0", + "version": "3.3.1", "license": "Apache-2.0", "dependencies": { "better-sqlite3": "^12.6.2", diff --git a/package.json b/package.json index 8d619ef7..79292130 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@optave/codegraph", - "version": "3.3.0", + "version": "3.3.1", "description": "Local code graph CLI — parse codebases with tree-sitter, build dependency graphs, query them", "type": "module", "main": "dist/index.js",