Skip to content

Commit 45585a9

Browse files
authored
chore: release v3.3.1 (#544)
* chore: release v3.3.1 * fix: restore libc field in package-lock.json Linux entries npm v11 silently drops the libc constraint field when regenerating the lock file. Without it, npm may install glibc binaries on musl systems (and vice versa). Manually restore the three libc entries for linux-arm64-gnu, linux-x64-gnu, and linux-x64-musl. * fix(skills): add libc field verification to release and review skills npm v11+ silently strips the libc constraint field from package-lock.json when regenerating. Add explicit verification steps to both the release skill (Step 7) and review skill (Rules) to catch and restore missing libc entries on Linux native binaries. * fix(skills): remove libc check from review skill The libc verification belongs only in the release skill where package-lock.json is regenerated, not in the review sweep.
1 parent 15af91f commit 45585a9

6 files changed

Lines changed: 44 additions & 5 deletions

File tree

.claude/skills/release/SKILL.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,19 @@ Read `README.md` and check if any new user-facing features from this release nee
145145

146146
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.
147147

148+
**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:
149+
150+
```bash
151+
grep -A12 'codegraph-linux' package-lock.json | grep -c libc
152+
# Expected: 3 (one each for linux-arm64-gnu, linux-x64-gnu, linux-x64-musl)
153+
```
154+
155+
If the count is less than 3, manually restore the missing fields:
156+
- `-gnu` packages: `"libc": ["glibc"]`
157+
- `-musl` packages: `"libc": ["musl"]`
158+
159+
Place the `libc` array after the `cpu` array in each entry.
160+
148161
## Step 8: Create branch, commit, push, PR
149162

150163
1. Create branch: `git checkout -b release/VERSION` (if on detached HEAD from Step 0, this creates the branch at the current commit)

CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,32 @@
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.3.1](https://github.com/optave/codegraph/compare/v3.3.0...v3.3.1) (2026-03-20)
6+
7+
**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.
8+
9+
### Bug Fixes
10+
11+
* **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))
12+
* **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))
13+
* **native:** free leaked WASM trees in native engine typeMap backfill ([#534](https://github.com/optave/codegraph/pull/534))
14+
* **cli:** correct `ast` command import path after src/ reorganization ([#532](https://github.com/optave/codegraph/pull/532))
15+
* **benchmarks:** stabilize benchmark targets across engines and preserve README links ([#527](https://github.com/optave/codegraph/pull/527))
16+
* **benchmarks:** update benchmark script import paths after src/ restructure ([#521](https://github.com/optave/codegraph/pull/521))
17+
* **ci:** sync Cargo.toml version before native binary build ([#538](https://github.com/optave/codegraph/pull/538))
18+
19+
### Performance
20+
21+
* **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))
22+
23+
### Tests
24+
25+
* **watcher:** incremental edge parity CI check — ensures watcher rebuilds produce identical edge sets to full builds ([#539](https://github.com/optave/codegraph/pull/539))
26+
27+
### Chores
28+
29+
* **ci:** add dynamic import verification to catch stale paths ([#540](https://github.com/optave/codegraph/pull/540))
30+
531
## [3.3.0](https://github.com/optave/codegraph/compare/v3.2.0...v3.3.0) (2026-03-19)
632

733
**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.

docs/roadmap/BACKLOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Codegraph Feature Backlog
22

3-
**Last updated:** 2026-03-19
3+
**Last updated:** 2026-03-20
44
**Source:** Features derived from [COMPETITIVE_ANALYSIS.md](../../generated/competitive/COMPETITIVE_ANALYSIS.md) and internal roadmap discussions.
55

66
---

docs/roadmap/ROADMAP.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Codegraph Roadmap
22

3-
> **Current version:** 3.3.0 | **Status:** Active development | **Updated:** March 2026
3+
> **Current version:** 3.3.1 | **Status:** Active development | **Updated:** March 2026
44
55
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.
66

package-lock.json

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

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@optave/codegraph",
3-
"version": "3.3.0",
3+
"version": "3.3.1",
44
"description": "Local code graph CLI — parse codebases with tree-sitter, build dependency graphs, query them",
55
"type": "module",
66
"main": "dist/index.js",

0 commit comments

Comments
 (0)