@openez-graph/cli 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,92 @@
1
+ # Changelog
2
+
3
+ All notable changes to OpenEZ Graph are documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.9.0] - 2026-08-02
9
+
10
+ ### Added
11
+ - MCP server version and Git build identity in the protocol handshake
12
+ - Token budgets for `code_query`, `code_context`, `graph_neighbors`, and `memory_recall`, with compact graph/context responses
13
+ - Live `code_query` token telemetry on the dashboard and benchmark page
14
+ - MCP contract tests for response budgets, multi-workspace attribution, graph context, and startup indexing
15
+
16
+ ### Changed
17
+ - Multi-workspace retrieval now applies one global serialized-response budget and attributes delivered tokens exactly across workspaces
18
+ - CLI npm package now exposes the bundled entry point and installs only `better-sqlite3` at runtime
19
+
20
+ ### Fixed
21
+ - Empty workspaces no longer re-index on every MCP server restart
22
+ - Very small token budgets are rejected instead of returning an oversized response
23
+ - Token-savings telemetry now uses selected full-file tokens minus the actual serialized response size
24
+
25
+ ## [0.8.0] - 2026-08-02
26
+
27
+ ### Added
28
+ - Memory management UI at `/memories` with list, search, detail view, and create dialog
29
+ - Memory API routes: `GET /api/memories` (list + search), `GET /api/memories/:id`, `POST /api/memories`, `DELETE /api/memories/:id`
30
+ - Recent memories section on the dashboard now populated from the workspace database
31
+ - Memories navigation link in the sidebar with prefetch on hover
32
+ - `resolveActiveWorkspace` helper to select the first workspace with a valid root path for memory operations
33
+ - Integration tests for hybrid retrieval ranking and registry operations
34
+
35
+ ### Fixed
36
+ - Changelog page stuck loading — `findChangelogPath` now walks up from `serverDir` and `cwd` to locate `CHANGELOG.md` in the monorepo root
37
+ - Memory endpoints no longer fail when the first registered workspace has a stale root path
38
+
39
+ ## [0.7.0] - 2026-08-01
40
+
41
+ ### Added
42
+ - Web dashboard changelog page (`/changelog`) with structured rendering of release notes from `CHANGELOG.md`
43
+ - API endpoint `GET /api/changelog` serving the repo changelog
44
+ - Changelog link in CLI README for npm package page
45
+ - Release workflow instructions in `AGENTS.md` for cross-agent support (Codex, OpenCode, Claude Code)
46
+ - Agent skill at `.agents/skills/release-cli/SKILL.md` for automated release workflow
47
+ - `memory_recall` MCP tool for retrieving active technical decisions and learned notes written by `memory_write`
48
+
49
+ ### Changed
50
+ - Renamed the public `memory_query` MCP tool to `code_query`; the old name remains a deprecated, hidden compatibility alias
51
+ - Code retrieval now fuses both FTS and vector results, and `code_context` supports result/token budgets
52
+
53
+ ## [0.6.1] - 2026-08-01
54
+
55
+ ### Added
56
+ - Syntax-highlighted context blocks in the web Query page (`prism-react-renderer`), with per-source file metadata (path, line range, score) and line numbers
57
+ - Markdown context blocks now render fenced code blocks with their own language highlighting (e.g. ` ```bash ` gets real bash highlighting)
58
+
59
+ ### Fixed
60
+ - Dark boxes obscuring markdown inline code in context blocks (stripped token `backgroundColor` from the nightOwl theme)
61
+
62
+ ## [0.6.0] - 2026-08-01
63
+
64
+ Remediation release — index/graph correctness, data protection, and web flow fixes.
65
+
66
+ ### Security
67
+ - Web API and CLI dashboard now bind to loopback (`127.0.0.1`) by default (FIX-01)
68
+
69
+ ### Fixed
70
+ - Full reindex no longer wipes memories, query logs, and run history — only rebuildable index artifacts are reset (FIX-02)
71
+ - Incremental indexing preserves inbound graph edges (calls/imports) to symbols in changed files; symbol and file node identities are now stable across re-parses (FIX-03)
72
+ - Graph edges are deduplicated by `(from, to, type)` with a unique SQLite index and `ON CONFLICT DO NOTHING` inserts (FIX-04)
73
+ - Web index endpoint (`POST /api/workspaces/:id/index`) now runs real indexing synchronously instead of returning a stub (FIX-05)
74
+ - Incremental indexing skips reading files whose `mtimeMs`/`sizeBytes` are unchanged; content-hash verification catches stat-only changes (FIX-06)
75
+ - Regenerated stale route tree referencing the deleted `/jobs` route; removed the CI lint no-op (`turbo run lint` with zero lint tasks) (FIX-08)
76
+
77
+ ### Removed
78
+ - Jobs page and related API endpoints
79
+
80
+ ## [0.5.1] - 2026-07-31
81
+
82
+ ### Fixed
83
+ - Blazing-fast indexing for large codebases (batch transactions, optimized write mode)
84
+ - Error handling and validation for import path extraction
85
+ - CLI npm packaging
86
+
87
+ [0.9.0]: https://github.com/asta-nguyen/openez-graph/compare/fbcad4f...HEAD
88
+ [0.8.0]: https://github.com/asta-nguyen/openez-graph/compare/a7ce4df...849060b
89
+ [0.7.0]: https://github.com/asta-nguyen/openez-graph/compare/9b7cc78...a7ce4df
90
+ [0.6.1]: https://github.com/asta-nguyen/openez-graph/compare/405f7e8...9b7cc78
91
+ [0.6.0]: https://github.com/asta-nguyen/openez-graph/compare/5ff0f5c...405f7e8
92
+ [0.5.1]: https://github.com/asta-nguyen/openez-graph/releases/tag/v0.5.1
package/dist/cli.cjs CHANGED
@@ -295479,7 +295479,7 @@ __export(mcp_bridge_exports, {
295479
295479
  startMcpServer: () => startMcpServer
295480
295480
  });
295481
295481
  async function startMcpServer(defaultPath, version4) {
295482
- await createAndStartMcpServer({ defaultPath, version: version4, build: "4f95309-dirty" });
295482
+ await createAndStartMcpServer({ defaultPath, version: version4, build: "9a3226f-dirty" });
295483
295483
  }
295484
295484
  var init_mcp_bridge = __esm({
295485
295485
  "src/mcp-bridge.ts"() {
@@ -299978,6 +299978,7 @@ function resolveMetricsWorkspace(c) {
299978
299978
  }
299979
299979
  function findChangelogPath() {
299980
299980
  const candidates = [
299981
+ import_node_path16.default.resolve(serverDir, "CHANGELOG.md"),
299981
299982
  import_node_path16.default.resolve(serverDir, "..", "..", "..", "..", "CHANGELOG.md"),
299982
299983
  import_node_path16.default.resolve(serverDir, "..", "..", "..", "CHANGELOG.md"),
299983
299984
  import_node_path16.default.resolve(serverDir, "..", "CHANGELOG.md"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openez-graph/cli",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "Local-first code intelligence engine — index, query, and graph your codebase with zero config. SQLite-only, MCP-first.",
5
5
  "license": "MIT",
6
6
  "author": "Asta Nguyen",
@@ -39,7 +39,8 @@
39
39
  "files": [
40
40
  "dist",
41
41
  "README.md",
42
- "LICENSE"
42
+ "LICENSE",
43
+ "CHANGELOG.md"
43
44
  ],
44
45
  "scripts": {
45
46
  "openez": "tsx src/cli.ts",