nikolai-vysotskyi/trace-mcp
v3.31.1MIT
Framework-aware code intelligence MCP server — 88 framework integrations, 81 languages, 72.7% fewer input tokens to review a pull request, comprehension at parity
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
3.31.1 (2026-09-21)
Bug Fixes
- ci: raise MCP-registry publish timeout above npm wait loop (TRA-1756) (#1308) (6c839c0)
- daemon: count deferred reconcile + bulk indexing in projects_indexing (TRA-1763) (#1311) (09db9e7)
- daemon: stop rescanning deleted roots, report missing in health (TRA-1715) (#1290) (52b38c0)
- gc: sweep ephemeral watcher snapshots, log ephemeral sweep (TRA-1714) (#1289) (0d63b18)
- graph: stabilize zoom gestures and deduplicate hover labels (TRA-1767) (#1314) (483441e)
- indexer,daemon: dedup identical language-plugin failures, skip ephemeral roots on update reindex (TRA-1768) (#1315) (f232fce)
- indexer: purge stale electron cross-file edges on handler/listener removal (TRA-1780) (#1318) (5dcec54)
- indexer: yield between framework edge passes so /health stays answerable (TRA-922) (#1302) (56f4d09)
Performance
- indexer: scope-aware Pass 2 remainder — electron channel cache, file-projection UNION, ts import-map narrowing (TRA-1729) (#1313) (1a5e97a)
3.31.0 (2026-09-20)
Features
- graph: dependency navigation, safe tooltips, and monorepo deduplication (TRA-1745) (#1303) (435169a)
Bug Fixes
- observation-pack: compact/legacy ranking parity under budget + bench depth args (TRA-1728) (#1307) (441f6f0)
3.30.1 (2026-09-20)
Bug Fixes
- daemon: drain in-flight pipeline work before closing DBs on SIGTERM (TRA-1752) (#1306) (d5244f2)
- daemon: stop relay pinning projects + honest sweep accounting (TRA-1738) (#1301) (994349c)
- graph: auto-fit frames point cloud, not simulation space (TRA-1741) (#1299) (6c1c4b8)
- guard: canonicalize consultation marker keys + root-aware errors (TRA-1737) (#1305) (51e664c)
- observation-pack: Reviewer C follow-ups from #1285 + economics branch coverage (TRA-1700, TRA-1703) (#1296) (bc5d250)
Performance
Documentation
- distribution: record TRA-1732 alternative-query venue checks (no submissions) (#1295) (ca92171)
- seo: jcodemunch on-page + CTR descriptions + internal links + visible breadcrumbs (TRA-1731) (#1298) (05fee6e)
- seo: on-page + CTR for comparisons, configuration, vs/jcodemunch (TRA-1734) (#1297) (a36de17)
3.30.0 (2026-09-20)
Features
- clients: Zed writer, detect, status and UI row (TRA-1658) (#1277) (04842a2)
- daemon: single-daemon audit, doctor process inventory, stop sweep (TRA-1607) (#1284) (6e48b7b)
- diagnostics: evidence-preserving reducer for long outputs (TRA-1702) (#1291) (09aa341)
- observation-pack: paged recall for get_change_impact (TRA-1700) (#1285) (74b1105)
- refactoring: then_validate fused validation for mutating tools (TRA-1701) (#1288) (25948cf)
- session: economic compaction gate for session memory (TRA-1703) (#1292) (bb75381)
Performance
Documentation
- measurements: mark response_tokens historical — measured at 3.23.2, stale since 3.30.0 (TRA-1723) (#1294) (778b68c)
3.29.0 (2026-09-19)
Features
- clients,savings,app: close the value loop from the app — one-click PreToolUse redirect + honest Savings (TRA-1698) (#1283) (23db2d8)
- clients: MiniMax Code writer, detect, status and UI row (TRA-1670) (#1274) (ad3f596)
- memory: one-shot mine CTA and automining flag in Memory empty states (TRA-1689) (#1281) (e6380b7)
- overview: expose security findings list via REST + Overview section (TRA-1675) (#1279) (70d1a80)
Bug Fixes
- daemon: register endpoint full reindex in stop drain + stopping gate (TRA-1674) (#1278) (ed1823c)
- debt: absolute churn signal + recalibrated A/B cutoffs (TRA-1671) (#1273) (757e3b5)
- indexer,app: surface silent max_files truncation (TRA-1664) (#1271) (2129ff5)
- indexer: EnvIndexer respects descendant excludes and gitignore (TRA-1666) (#1269) (2323fd6)
- indexer: reconcile-storm backoff and run-artifact default excludes (TRA-1665) (#1270) (09f7a97)
- quality: skip PHP __construct DI and empty boilerplate in empty_function (TRA-1672) (#1275) (0e1d157)
Documentation
- outreach: delta recheck 2026-09-19 morning — all threads silent, sweep clean, graft listing surface checked (TRA-1684) (#1280) (80da4bc)
- outreach: evening delta 2026-09-19 — threads silent, sweep clean, ripwire + context-mode surfaces checked (TRA-1697) (#1282) (51829bc)
- outreach: yzfly recheck 2026-09-19 still open, maintainer quiet since 08-30 (TRA-1673) (#1276) (ba94aee)
3.28.0 (2026-09-18)
Features
- app,cli: per-client restart-to-pickup hint after MCP client update (TRA-1647) (#1267) (e48bb74)
- clients: codex TOML drift parity, project-layer guide and tests (TRA-1657) (#1266) (f115596)
- daemon: sweep-eligibility observability in vitals (TRA-1625) (#1250) (a1641de)
- init: add Gemini CLI MCP client support (TRA-1659) (#1265) (347bd9f)
Bug Fixes
- app: blocked Claude Desktop write opens a sheet with the quit-and-retry steps (TRA-1645) (#1258) (6ebdb89)
- app: overview shows not-registered empty state instead of eternal load error (TRA-1643) (#1257) (db375b0)
- daemon: reap MCP sessions idle >1h so dead clients stop pinning projects (TRA-1627) (#1251) (1d3009e)
- errors: missing target returns VALIDATION_ERROR, not echoable NOT_FOUND (TRA-1633) (#1254) (ec9f148)
- indexer: skip directories instead of erroring (TRA-1649) (#1259) (90bd2de)
- navigation: accept absolute paths and kind-less symbol ids (TRA-1660) (#1268) (5962d40)
- notebook: friendly state for unregistered projects instead of raw daemon JSON (TRA-1642) (#1256) (ca16514)
Documentation
- outreach: awesome-claude-code submitted 2026-09-18 as #2871, awaiting triage (TRA-1651) (#1261) (6b321a8)
- outreach: twenty-sixth pass 2026-09-18 night — delta recheck, one genuine sweep hit (TRA-1624) (#1249) (c148c01)
Tests
CI/CD
- release: retry gh release upload with backoff, fail loudly when npm is skipped (TRA-1628) (#1253) (39f421c)
3.27.1 (2026-09-17)
Bug Fixes
- memory: FTS5-escape memory search; gate mined fragments + low-quality sweep (TRA-1619) (#1247) (3d5187e)
3.27.0 (2026-09-17)
Features
- daemon: fallback-storm guard — adaptive proxy timeout + cross-process index mutex + fallback counter (TRA-1605) (#1246) (193a010)
Bug Fixes
Performance
Documentation
- outreach: twenty-fifth pass 2026-09-17 morning — light recheck, one genuine sweep hit (TRA-1599) (#1243) (8fc6b0f)
- outreach: twenty-fourth pass 2026-09-16 night — light recheck, sweep clean, TensorBlock evaluated+held (TRA-1590) (#1240) (d3b4814)
Tests
3.26.3 (2026-09-16)
Performance
- parser: per-file tree-sitter cache + incremental reparse in watcher (TRA-1577) (#1237) (bbeee02)
- weak: weak-profile stand + full vs low-power numbers (TRA-1578) (#1236) (8cec277)
Documentation
- outreach: twenty-third pass 2026-09-16 late evening — light recheck, one sweep collision (TRA-1584) (#1238) (98ded90)
3.26.2 (2026-09-16)
Bug Fixes
- ci: bound Windows prompt-hook decisions search at 10s, quarantined retries for wall-clock flakes (TRA-1571) (#1230) (1e4c5bf)
- ci: Windows timeout budget for SQLite-heavy suites, refresh stale sitemap (TRA-1513) (#1211) (12634f1)
- cli: handle clack cancel symbol for @clack/prompts 1.8 compat (TRA-1558) (#1227) (2214f6f)
Performance
- ai: ONNX q8 default + true batching for embedBatch (TRA-1538) (#1220) (4ead7e3)
- db: FTS trigram-merge + SQLite pragmas audit (TRA-1541) (#1224) (a9f9405)
- embeddings: eval MiniLM vs e5-small vs bge-m3, E5 prefix plumbing (TRA-1539) (#1231) (9b924ab)
- indexer: shared decode + adaptive worker pool (TRA-1537) (#1222) (5c4f658)
- indexer: watcher since-query + git fast-path for incremental discovery (TRA-1576) (#1234) (0d71cf3)
- parser: tree-sitter-wasm 2.0.1, full warmup coverage, tree.edit() prototype (TRA-1540) (#1233) (8db7118)
Documentation
- config: record the daemon-default decision at auto_spawn_daemon (TRA-1509) (#1208) (f5b86c9)
- outreach: 2026-09-16 delta — aloth/awesome-ai-agents fits (moratorium-held), crazy54 rejected as link-farm (TRA-1567) (#1229) (1246218)
- outreach: twentieth pass 2026-09-16 — outline#34 answered, threads silent, sweep clean (#1225) (3ac5fab)
- outreach: twenty-first pass 2026-09-16 — light recheck, one sweep collision (TRA-1572) (#1232) (c94f745)
- outreach: twenty-second pass 2026-09-16 evening — light recheck, sweep clean (TRA-1580) (#1235) (761713f)
- perf: TRA-1392 startup+size pass at 3.25.1 — no regressions, first_content 89 -> 82ms (#1214) (b274805)
- sitemap: refresh lastmod to 2026-09-16 for 14 pages (TRA-1569) (#1228) (25ffecf)
- vs: add /vs/narsil-mcp comparison page and profile CCG competitor (TRA-1234) (#1163) (68d21cf)
Chores
3.26.1 (2026-09-15)
Bug Fixes
Performance
- app: startup-only baseline pass at 3.25.1, no regression (TRA-1347) (#1215) (58433a3)
- indexer: skip unchanged files before extract dispatch (TRA-1536) (#1221) (22203b2)
Chores
3.26.0 (2026-09-15)
Features
Bug Fixes
- analytics: book measured tokens in agent-for-indexed, cap savings pct at 100 (TRA-1514) (#1213) (299ec2b)
Documentation
- outreach: evening pass — pr-agent reply + TRA-1502, FM-Agent close, Aspire no, Egoka/Altera sweep hit (TRA-1501) (#1206) (cb15be1)
- outreach: rebase dirty catalog PRs eltociear#119, ai-boost#240 back to mergeable (TRA-1508) (#1207) (e52ab61)
3.25.1 (2026-09-14)
Bug Fixes
- analytics,server: strip execution schema tax, clean poisoned analytics targets, and eliminate false positives in optimization rules (TRA-1350) (#1191) (adb354c)
- detect active model for savings and resolve CLAUDE.md drift false positives (TRA-1063) (#1183) (1cca06d)
- presets: add get_untested_symbols to dev preset and audit per-role telemetry (TRA-1366) (#1194) (a33dfcd)
Documentation
- ops: update preset telemetry audit for v3.25.0 and integrate analytics DB (TRA-1356) (#1192) (ca66be9)
- outreach: seventeenth pass — deslop fix shipped, roam-code rival names us, 4 sweep hits (TRA-1496) (#1205) (537d0c8)
- seo: GSC crawl record (homepage recrawled, 24 indexed, +2 discovered), GitNexus link mesh, and Narsil-MCP/Graft deep-dives (TRA-1365) (#1195) (33b57af)
- seo: GSC crawl record 24 indexed (+2 /vs/ pages), privacy discovery links, and code-graph-mcp ecosystem expansion (TRA-1346) (#1190) (cab2b68)
- vs: add /vs/gitnexus comparison, deep-dive grafel, and update competitor stars (TRA-1361) (#1193) (031ad4e)
- vs: add /vs/graft comparison, refresh competitor stars, and distribution ledger (TRA-1371) (#1196) (71b0dca)
Tests
3.25.0 (2026-09-09)
Features
- cli: expose blast radius and impact analysis via CLI (TRA-1252) (#1172) (10e7864)
- indexer: Elixir cross-file import edge resolver and multi-alias expansion (TRA-1227) (#1162) (4c8c6c4)
- plugin: support @opentelemetry/api for agentic workflows tracing (TRA-1264) (#1178) (dfa2231)
- quality: add get_diagnostics tool to map compiler errors to AST symbols (TRA-1222) (#1181) (5aaba15)
Bug Fixes
- daemon: heal 0-byte WAL, prevent constructor fd leaks, and fix session refcount leaks (TRA-1233) (#1165) (11520b4)
- docs: quality-gates defaults, benchmark scenarios, OpenCode client, and test references (TRA-1236) (#1173) (b331de6)
- launcher,updater,cli: pnpm prefix probing, auto-update lock, and state hygiene sweeps (TRA-1259) (#1177) (3958abd)
- launcher: multi-version node resolution and client drift healing (TRA-1266) (#1179) (cc9e7fc)
- launcher: prevent app runtime pairing with incompatible external npm CLI (TRA-1249) (#1171) (8ce9207)
- savings: align savings-report o200k_base count claim with runtime tokenizer reality (TRA-1263) (#1176) (695902e)
Documentation
- comparisons: profile two peers at source, update competitor star counts (TRA-1283) (#1182) (5243e3d)
- ops: fourteenth outreach pass — mention sweep, linny006 tracker, MobinX queue analysis (TRA-1281) (#1184) (9cf5043)
- ops: record su-record/vibe integration in distribution and mentions-seen (TRA-1244) (#1170) (418a869)
- ops: thirteenth outreach pass — gbrain #5001, FM-Agent #229, competitor ai-architect-codebase (TRA-1265) (#1180) (850de38)
- ops: twelfth outreach pass — fullsend #297, stella #6461, competitor aft (TRA-1232) (#1164) (02013ea)
- web: fix GitHub casing/noopener in landing chrome and refresh DESIGN-WEB baselines (TRA-1247) (#1169) (3c2090d)
Tests
3.24.0 (2026-09-08)
Features
- app: auto-growing highlighted json editor and unified theme segmented control (TRA-1066) (#1141) (9883b19)
- client: opencode client profile, auto-config in init, and neutral tool routing in AGENTS.md (TRA-1204) (#1150) (1def36d)
- context-bundle: declare a body the budget refused, instead of a bare signature (TRA-1144) (#1114) (63b7b1c)
- server: antigravity client profile with host tool retargeting and search suppression (TRA-1216) (#1153) (5dfe6d3)
Bug Fixes
- analytics,security: fix bash target_file extraction and root path traversal false-alarm (#1134) (4ccb020)
- app: "Get help" opens a prefilled issue form, not a closed-issue list (TRA-1155) (#1121) (dd9cef2)
- app: disambiguate Open/Re-index/Remove aria-labels too (TRA-1058) (#1123) (5a98412)
- cli: sort recently changed files by mtime_ms DESC NULLS LAST (TRA-1069) (#1147) (2de011a)
- dashboard: a real grade needs a real sample size (TRA-1057) (#1124) (92b917c)
- docs: register foreign audit paths, add test-quiet runner, refresh llms-full (TRA-1226) (#1160) (d574379)
- i18n: macOS Tahoe terminology and layout fixes for German and Japanese (TRA-1220) (#1157) (9b282a7)
- init: detect and heal drifted Codex MCP launcher path and dynamic home paths (TRA-1224) (#1161) (aec9fb9)
- launcher,config: support CRLF in launcher and prune dangerous state directories (TRA-1197) (#1137) (4210f90)
- launcher,gc: sweep stale session artifacts in softGcSweep and support --preset variations in proxy fast path (TRA-1218) (#1155) (2bcbeba)
- launcher: keep the legacy shim path delegating so upgrades reach it (#1125) (516bef2)
- launcher: resolve probe candidates across candidate homes under isolated HOME (TRA-1206) (#1145) (1d24da3)
- launcher: self-locate state home under isolated HOME and survive update swap window (TRA-1190) (#1136) (1b3ca6d)
- launcher: survive an MCP client spawned without HOME (TRA-1163) (#1128) (11e878c)
- memory: ensure mined decision titles are complete statements and preserve wording (TRA-1056) (#1140) (8397f59)
- presets: compose navigation primitives floor, and account for meta-tools (TRA-1162) (#1131) (b4e3c21)
- quality: filter parameter properties from empty_function, ignore backtick TODO tags, and filter DOCTYPE/placeholder/local URLs (TRA-1070) (#1151) (60c2278)
- registry,dangerous-root: preserve shared index DB and protect state subdirs (TRA-1197) (#1138) (e31906b)
- router: drop late backend responses for non-pending ids and detach before error synthesis (TRA-1200, TRA-1149) (#1143) (e3ebae0)
- sweep: collect leaked tmp symlinks, and bound the shim header read (#1127) (9ba0c31)
Performance
- app: lazy-load GraphExplorerGPU to drop 702KB cosmos chunk from eager startup (TRA-1185) (#1133) (2de5c48)
- tools: shape get_plugin_registry, price field tail, and update response-token benchmark (TRA-1159) (#1154) (5ad36c2)
Documentation
- comparisons: audit what the field measures besides tokens (#1104) (9cb29d2)
- comparisons: profile two peers at source, add the benchmark-method gap (TRA-1019) (#1022) (82dfb1d)
- comparisons: update competitor star counts and verification pass log (2026-09-08) (#1158) (608ac4d)
- ops: audit live preset telemetry, configure web design agent, and add multica audit script (TRA-1208) (#1146) (e0ae603)
- ops: eighth outreach pass — diff-scoped graph review in PR-Agent, and C# namespace fan-out in Aspire (TRA-1193) (#1135) (3a9d263)
- ops: eleventh outreach pass — redproof #50, cxpak #103, ripwire peer discovery (TRA-1219) (#1156) (caf9801)
- ops: ninth outreach pass — PR-Agent reply, LastLight #372 code-graph skill vs egress, GitNexus #3068 portable index (TRA-1205) (#1144) (c6ab8ec)
- ops: seventh outreach pass — the merged catalog PR, and two doors in the freshness class (#1129) (d963028)
- ops: sixth outreach pass — SCIP doors, and our own ingest fails the no-op invariant (#1126) (2553915)
- ops: tenth outreach pass — nanocoder/deslop validations, harness-engineering #1284, git-pkgs/outline #34 (TRA-1211) (#1152) (0aafc95)
- ops: update preset telemetry audit to N=7843 and record 100% fleet rollout (TRA-1223) (#1159) (c22215b)
- seo: internal link graph reinforcement, GSC 09-08 12:00 UTC crawl record, and /tools-index discovery integration (TRA-1207) (#1149) (d1c5bc3)
- seo: internal linking overhaul across 11 /vs/ pages, ecosystem expansion in /code-graph-mcp, and GSC 09-08 crawl record (TRA-1184) (#1132) (d3ce7fb)
- vs: add /vs/jcodemunch comparison page and profile competitor (TRA-1153) (#1120) (940532d)
- vs: add /vs/tokensave comparison page and profile competitor (TRA-1166) (#1130) (97892bb)
Tests
- bench: add state_patch arm to recall A/B benchmark (TRA-1124) (#1142) (97e0668)
- launcher: fix test isolation on runners with system node (TRA-1199) (#1139) (f9b5eb2)
- launcher: force candidate home probing in hostile identity injection test (TRA-1206) (#1148) (1f64cd2)
3.23.2 (2026-09-07)
Bug Fixes
- workspace: dead registry rows aren't projects (TRA-1054/1057/1077) (1749b7a)
Documentation
- perf: measure what the missing changed-symbol bodies are, and what recovering them costs (#1117) (50d6845)
3.23.1 (2026-09-07)
Bug Fixes
Performance
3.23.0 (2026-09-07)
Features
- docs: rebalance the row lockup — icon +16%, word -16% (TRA-780) (#1036) (a74d7f7)
- doctor: answer 'what would serve index from here' first (TRA-1087) (#1060) (724e8b8)
- notice the user when the daemon auto-registers a project root (#936) (#1068) (427059a)
- ops: gate the GitHub and npm descriptions against docs/_data (TRA-1120) (#1086) (d4d27a2)
- quality: CI structural gate + release threshold check for context-bundle quality (TRA-1100) (#1106) (9a432d8)
- server: say what the server is in serverInfo (TRA-1119) (#1084) (3b08e27)
- show the user how much token spend trace-mcp gave back (TRA-1091) (#1064) (866aa8a)
Bug Fixes
- activity: keep tool-call history on disk so the tab stops reading zero (TRA-1071) (#1111) (30957bf)
- activity: stop cross-project filter leak and contradictory empty state (TRA-1055) (#1074) (256cacf)
- analysis: label communities in the Graph tab, not just detect_communities (#1054) (ba0283c)
- analysis: make community labels unique across communities (#1052) (6432481)
- analytics: stop reporting stale:false when project freshness is unknown (TRA-1072) (#1073) (022f103)
- app: contract-test daemon wire responses; fix pagerank/hotspot/search/get_symbol field drift (#1055) (98eafd4)
- app: disambiguate identically-named projects in Recent/Quick Open (TRA-1058) (#1050) (27e918c)
- context-bundle: restore symbol bodies under ESM, correct the PR-context figure to 70.5% (#1066) (b6748b8)
- daemon: gate watcher rescans by parallel_initial_index (TRA-1138) (#1102) (d5bc8da)
- daemon: lazy-load idle-unloaded projects over HTTP, reconcile status periodically (TRA-1052, TRA-1067) (#1053) (1b345ab)
- daemon: stop /health starvation scaling with the number of indexing projects (TRA-1127) (#1094) (4e9b1b9)
- daemon: stop reporting a busy daemon as idle, and name the idle RSS ceiling (TRA-1125) (#1092) (ee2fd58)
- docs: anchor every count claim to counts.yml, not the registry (#1061) (8f065a7)
- guard: find the heartbeat sentinel from a subdirectory (TRA-1088) (#1062) (4f25380)
- guard: match shared ancestors across the macOS /private symlink (#1065) (4a783a1)
- indexer: normalize backslash paths in indexFiles/deleteFiles on Windows (TRA-1045) (#1041) (d48a858)
- indexer: resolve C# using-directive imports (TRA-1027) (#1028) (5a8bccf)
- indexer: resolve Kotlin imports, the next language after C# (TRA-451) (#1039) (096f46a)
- init: pin the tweakcc npx spec and stop detection from installing it (TRA-1133) (#1099) (385bff4)
- launcher: require a non-empty cli.js before exec (TRA-1132) (#1097) (94eb399)
- launcher: verify the configured node still runs on every start (TRA-1040) (#1038) (d21c9e0)
- ops: mention sweep was blind to every multi-term query (TRA-1085) (#1059) (0f1a6e7)
- proxy: never let a failed local fallback orphan the client handshake (#1116) (9d0128f)
- quality: reject stale spans in get_changed_symbols/compare_branches (#1049) (d03ec58)
- registry: route unregistered one-shot workdirs at the ephemeral index dir (TRA-1136) (#1101) (696f243)
- registry: sweep a dead one-shot workdir without the 7-day grace (#1071) (7eea38c)
- router: promote to local mode when a proxy send fails (TRA-1080) (#1056) (1bd3d68)
- tests: raise dashboard-routes beforeAll hook timeout for Windows CI (#1057) (bcf9872)
Performance
- dashboard: serve /api/dashboard/projects from cache, compute in background (TRA-1053) (#1051) (c2196ec)
- find_usages: cap the response tail, and price the tool from a basket (TRA-1049) (#1045) (851169c)
- register_edit: stop re-reporting duplicates the edit did not introduce (TRA-1098) (#1069) (3ed903c)
Documentation
- benchmarks: what share of a subscription can trace-mcp actually save (#1046) (7c9e979)
- CodeGraph (codegraph-ai) deep dive, competitor star refresh, and t.co distribution ledger update (TRA-1074) (#1048) (4ae2b5c)
- contributing: require screen-to-code path for UI defect fixes (#1072) (760c192)
- language-matrix: measure import resolution depth per language on real repos (TRA-1145) (#1109) (3bebb50)
- ops: assess Homebrew as an install path and correct the tracedecay reading (TRA-1097) (#1067) (91e2b5c)
- ops: merge duplicate hermes-agent rows, add pre-submission dedupe check, record the 2026-09-06 trial-plan sweep (TRA-1046) (#1042) (8694475)
- ops: record 2026-09-07 evening outreach pass (#1115) (3384abc)
- ops: record the 2026-09-07 outreach pass — nanocoder #1197 and deslop #173 (#1093) (adc5b49)
- ops: third trial-plan sweep, the atlas reply that found TRA-1075, and a competitor with no catalog presence (#1047) (05343e1)
- perf: reprice register_edit from the frame, 345 → 219 tokens (TRA-1107) (#1087) (6ca4d37)
- perf: republish PR-context coverage under the corrected readability metric (#1112) (3144f17)
- roadmap: 2026-09-07 revision — the quality arm missed, and it reorders the roadmap (#1063) (d106639)
- security: record standing verdicts for js/log-injection and the registry.ts key-write pair (#1096) (a5a5142)
- seo: add /code-graph-mcp landing page and record 09-07 GSC crawl findings (TRA-1083) (#1058) (39e00a9)
- seo: integrate SocratiCode into /code-graph-mcp, carry quality half, and record 09-07 16:00 GSC crawl (TRA-1139) (#1105) (adf8dc1)
- site: carry the quality half in the homepage hero, and drop the locality absolutes (TRA-1122) (#1090) (8259245)
- site: stop setting the hero's quality evidence as fine print (TRA-1143) (#1108) (74b1d24)
- stop claiming 100% local, and never publish the saving without the quality half (TRA-1013) (#1088) (58f401a)
- vs: add /vs/socraticode comparison page and profile competitor (TRA-1114) (#1085) (526241f)
- vs: add trace-mcp vs code-review-graph comparison page (TRA-1001) (#1040) (3423b56)
- vs: head-to-head page for CodeGraphContext, refresh its facts (TRA-1034) (#1034) (d6a235c)
Tests
- bench: a SKILL.state A/B whose arms can fail — and one does (TRA-1115) (#1091) (c148138)
- daemon: close the guard's SQLite handles so Windows can clean up (TRA-1127) (#1100) (f4e0b1a)
- daemon: unflake the /health starvation guard — compare p99, not max (TRA-1127) (#1098) (0560afc)
- dashboard-routes: seed in one transaction instead of 2000 commits (TRA-1104) (#1070) (d4e5806)
- db: cover DomainRepository (TRA-1111) (#1080) (2583fde)
- hooks: raise hook subprocess timeouts 5s -> 30s (TRA-1117) (#1081) (4d0811e)
- launcher: cover the daemon-aware proxy routing (TRA-1050) (#1044) (c2548c1)
- proxy: guard the daemon-death rescue against the built bundle (TRA-1112) (#1082) (385596c)
- proxy: wait for the child to exit before removing its sandbox (#1103) (66f835f)
- stop subproject-clone ref test from doing a real git clone (#1083) (ea99422)
CI/CD
3.22.0 (2026-09-06)
Features
Bug Fixes
Documentation
- ops: record the awesome-AI-driven-development submission and the trial-plan issue sweep (#1030) (60f5e76)
3.21.0 (2026-09-06)
Features
- daemon: thin proxy entrypoint cuts connected-session RSS ~175MB→~73MB (TRA-970) (#1003) (b77a272)
- guard: nudge long sessions into the StateEngine loop (TRA-763) (#1010) (d0a6002)
- tools: verify an existing document against the index (TRA-1023) (#1027) (7640318)
Bug Fixes
- launcher: recover node and cli.js from the app bundle (TRA-996) (#1011) (e51d4d9)
- postinstall: stop the daemon only when a new binary was installed (TRA-1015) (#1020) (7f53f32)
Documentation
- code graph mcp cluster — landing-target decision, depgraph.ai facts, tracked query set (#1026) (81650e0)
- ops: make the GitHub mention sweep a repeatable channel (TRA-998) (#1012) (ff75c50)
- ops: record the awesome-hermes-agent submission and the mcp-servers-nix door (#1018) (3a61b8d)
- ops: record what actually invalidates a prompt-cache prefix (TRA-858) (#1016) (10ede73)
- ops: resubmit sitemap to GSC, rule out /vs/ subdirectory (TRA-1022) (#1024) (11f7684)
- perf: generate the per-tool response-token table instead of typing it (TRA-1020) (#1023) (bde54ee)
- seo: link
tools-reference.htmlto MCP tracing, record the TRA-1025 re-derivation (#1025) (3eaed43)
Tests
- bench: measure PR-review quality, not just tokens (TRA-568) (#1017) (bc67ad2)
- launcher: a read-only state home must not cost the session (TRA-1016) (#1021) (8c9d0ee)
- launcher: cover concurrent client starts on the probe+heal path (TRA-1029) (#1031) (a920cba)
- tools: gate read-only tool output determinism (TRA-858) (#1015) (f3bee49)
CI/CD
3.20.0 (2026-09-06)
Features
- doctor: validate the launcher path clients actually spawn (#988) (6146312)
- telemetry: privacy page, first-run disclosure notice, config opt-out (#992) (6a4b593)
Bug Fixes
- app: every Clients row names its own state (TRA-479) (#1000) (e62dd88)
- config: cap unregistered project sections in .config.json (TRA-706) (#985) (c0ae24c)
- indexer: resolve Astro/Svelte imports, no new pass needed (TRA-451) (#993) (034d3a9)
- indexer: scale ExtractPool to zero within 60s of daemon idle (TRA-971) (#999) (993fa9b)
- launcher: name control-plane tmp files so the orphan sweeper collects them (TRA-982) (#1004) (8adbee6)
- quality: index the metadata-existence checks in antipatterns.ts (TRA-940) (#959) (cfc7dca)
- registry: classify <tmp>/multica-task-<id> checkouts as ephemeral (TRA-992) (#1007) (68d0e0c)
- search: exclude synthetic module-body pseudo-symbols on every retrieval path (TRA-985) (#1006) (e910bad)
- search: reduce instead of spreading the FTS result set (#957) (#976) (9318251)
- seo: let the sitemap generator advance lastmod as soon as git does (#1009) (db9c36d)
- server: stop an orphaned server spinning forever on a dead log pipe (TRA-921) (#986) (67affca)
- test: bump testTimeout in onnx.test.ts past cold-import contention (TRA-961) (#995) (546f930)
Performance
- bench: add session-scaling benchmark harness and v3.18.0 baseline (TRA-931) (#956) (529f714)
- bench: register a sampling frame before measuring response tokens (TRA-993) (#1008) (af2f16d)
- daemon: serve first requests from the index snapshot before the daemon handshake (TRA-948) (#1001) (ffc67d5)
- graph: stop the per-file symbol N+1 in the daemon's graph build (TRA-651) (#1002) (a83a0b5)
- indexer: measure indexing throughput by stage before optimizing (TRA-936) (#968) (4f78203)
Documentation
- app: make electron-cdp's header describe the flags it actually has (#994) (384a171)
- lead with the claim, not the mechanism (TRA-918) (#983) (a0ce61d)
- ops: record the 2026-09-06 index reading — one /vs/ URL crossed (TRA-973) (#989) (ca6d116)
- ops: record the GetBindu submission and the generative auto-index finding (TRA-984) (#1005) (9297924)
- registry: drop the tool count from the server.json storefront (TRA-761) (#987) (61b8b5b)
- seo: retarget the comparisons hub at the Serena/Repomix query cluster (#984) (960d6a2)
- seo: route
mcp tracingimpressions to /telemetry.html (TRA-974) (#990) (7d391a6) - site: give door 2 a page — what
trace initinstalls (TRA-919) (#998) (fe47548)
Tests
- logs: pin the rotation ceiling on every log under ~/.trace (TRA-707) (#996) (5167af3)
- scale: run the real tools against a 150k-symbol index (TRA-977) (#997) (27f35ef)
3.19.0 (2026-09-05)
Features
Bug Fixes
- app: a KPI baseline needs an age, and its caption has to keep one (TRA-960) (#974) (7465060)
- app: tell a busy daemon from a missing one (TRA-939) (#963) (d88864d)
- app: the Chinese guard card stops calling itself two names (TRA-953) (#975) (c8976d7)
- app: the Index card states one condition, not two (TRA-964) (#980) (89449e6)
- daemon: share TopologyStore/DecisionStore/StateEngine across the whole daemon, not per project (#954) (a9429c7)
- daemon: stop a running daemon from overriding the session's preset (TRA-951) (#967) (345043c)
- indexer: index the metadata-existence checks in edge resolvers (#952) (1fe7a70)
- indexer: stop rebuilding the TS/JS call-edge universe with an N+1 per symbol (TRA-923) (#961) (699ec36)
- launcher: reprobe past an app runtime shim whose target is gone (#982) (3e749a0)
- server: scope instructions to the session's advertised tool surface (#947) (b34b1ba)
- tools: publish get_change_impact's optional params as actually optional (TRA-962) (#979) (d021ede)
Performance
- app: measure and fix time to first useful paint, per screen (#955) (f977d75)
- indexer: make a reindex that finds nothing cost nothing (TRA-935) (#964) (0066fcf)
- indexer: stop probing every manifest name with its own syscall (#950) (f5fdb5e)
- savings: close the response-token measurement tail and stop crediting mutations (TRA-945) (#965) (27f6808)
- session: measure the per-session baseline instead of guessing at it (TRA-925) (#962) (f27a723)
- tools: stop three tools answering more than they were asked (TRA-952) (#969) (93b3f7c)
Documentation
- antipatterns: record TRA-944 decision — leave detectMemoryLeak's LIKE group unindexed (#960) (01b62d1)
- comparisons: read the largest table entry at source for the first time (#945) (7f320dc)
- comparisons: the session-memory entry does not index code — it delegates (#948) (44af510)
- make the home page eligible for the code graph mcp cluster (#966) (8fcf9ff)
- ops: inventory every persistent state change trace-mcp makes on a machine (#953) (2f49b39)
- ops: keep the issue-search readout in the private ledger, not the public one (#958) (60e6637)
- ops: record best-of-mcp-servers #384, the third-party plugin surface, and how both were found (TRA-909) (#938) (61ba971)
- ops: two new list submissions and what the second seed of the competitor-README search returns (TRA-915) (#941) (03af5f5)
- recapture the app screenshots so the dark frame stops photographing the harness (TRA-958) (#978) (ad03c8d)
- refresh the app screenshots and correct a stale checklist claim (TRA-955) (#970) (e8f1ee3)
Tests
- design-tokens: cover parseColor edge cases directly (#971) (964a943)
- launcher: give the node-probe tests a budget that clears CI contention (#973) (ab14512)
- manifests: anchor the PR-benchmark exemption to the claim, not its neighbourhood (TRA-883) (#914) (8ef271a)
3.18.0 (2026-09-05)
Features
- analytics: apply and roll back startup-context recommendations (TRA-769) (#869) (e7760a6)
- analytics: watch the startup block for growth and notify with one number (TRA-865) (#907) (c2f806c)
- app: vector masters and a build script for the app icon (TRA-780) (#925) (c308387)
- docs: the README download buttons fill the column on a phone (TRA-863) (#901) (7ea2915)
- indexer: resolve Ruby require/require_relative import edges (TRA-900) (#934) (5d0ce9b)
- state: register the SKILL.state protocol as an MCP prompt (TRA-799) (#859) (71ff604)
- tools: per-call compute ceiling for heavy graph traversals (#894) (2a54f5b)
Bug Fixes
- ai: stop retrying a dead embedding endpoint forever, and stop logging a total failure as "completed" (TRA-812) (#906) (9767f13)
- analytics: gate active_users.month while the window is still filling, and give the savings tripwire a receiver (TRA-843) (#891) (cf5dbba)
- ci: only a claimed issue collides in check-duplicate-pr (TRA-856) (#897) (7ef5278)
- daemon: attribute SIGTERM shutdowns with process-side exit context (TRA-809) (#871) (2fdb122)
- daemon: never index or watch a dangerous project root (TRA-893) (#923) (b6ed7ec)
- daemon: record who asks for every daemon stop (TRA-850) (#893) (b43c1ca)
- daemon: stop the file watcher before awaiting the initial index on shutdown (#881) (f420df4)
- docs: dark-appearance app screenshots for the landing gallery (TRA-851) (#898) (e2ef85b)
- guard: move server↔hook sentinels out of $TMPDIR (TRA-869) (#908) (d1612ac)
- indexer: resolve C/C++ imports, the next language after Rust (TRA-832) (#895) (dd1d948)
- launcher: pick the newest package backup, not the first one listed (TRA-881) (#916) (1cf6c2b)
- launcher: stop a throwaway TRACE_MCP_HOME from breaking the real MCP launcher path (#937) (4120383)
- mirror: exempt spill reads, make the rewrite byte-deterministic (TRA-860) (#903) (76b923b)
- scripts: stop verify-upgrade-path.mjs from bouncing the real daemon (TRA-890) (#921) (7c8f0b7)
- tools: report dropped fs events in get_index_health (TRA-813) (#875) (73e772d)
- watcher: stop() must wait for a handler that already started (TRA-808) (#866) (8d852b5)
Performance
- app: stop freezing the whole app for the length of a daemon restart (TRA-806) (#867) (13375dd)
- app: time the synchronous half of every UI action, and record the 3.17.0 baseline (TRA-835) (#904) (a600fff)
- daemon: release idle extract workers instead of holding ~420 MB forever (TRA-811) (#874) (2972aee)
- savings: score token savings against the measured response, not a constant (TRA-880) (#915) (f41969d)
Documentation
- comparisons: profile the largest unread peer, take its measurement discipline (#940) (e58c653)
- comparisons: profile the last unread large peer at source, file the two mechanisms worth taking (#880) (8e9773b)
- comparisons: record the discipline gap as closed, not open (#944) (507719a)
- design-web: correct §1a — the wordmark is Space Mono Bold outlined, not redrawn (#873) (502ef6e)
- guard the searchable name after the trace rename (TRA-879) (#911) (f964514)
- guard the visible home page copy carries trace-mcp (TRA-907) (#929) (86dea72)
- init: route agents to the SKILL.state tools (TRA-884) (#913) (32aaadc)
- link the six /vs/ pages from the README; record the TRA-905 index-coverage decision (#931) (b6be106)
- ops: index-coverage ledger — 11 of 24 pages unindexed, nothing crawled since 08-29 (TRA-791) (#854) (cb1abbe)
- ops: move the confidential half of ops/ to a private repo (#917) (5ffd1ec)
- ops: name the category — one claim, two doors, and the share we may claim (TRA-906) (#933) (7257442)
- ops: record the ai-tooling evaluation and our one-time correction (TRA-857) (#900) (721ee96)
- ops: redact the names #917 left in the public ledger (#922) (00c8d36)
- ops: resolve the two remaining backend-slot doors, record an outside benchmark that went against the category (TRA-872) (#909) (28e8444)
- ops: the same referrer finding, second occurrence in the same file (#924) (59e50ed)
- ops: user-signal run 2026-09-05 — code search as a channel, first external evaluation (#882) (67a5152)
- perf: preregister and version-stamp every published benchmark (TRA-920) (#943) (1cb706f)
- restate every published savings number on the corrected basis (TRA-904) (#935) (8277782)
- roadmap: revision 2026-09-05 — the savings counter was an identity, presets move 3.5% of the block (TRA-898) (#927) (eed47d9)
- seo: retarget the telemetry page at the 'mcp tracing' query (TRA-897) (#926) (0bae384)
- seo: stop conceding a benchmark we now have on three /vs/ pages (TRA-876) (#910) (1912101)
- site: add Team section (#920) (f726ddf)
Tests
- indexer: stop the crash-loop dedup case from depending on any timer (TRA-885) (#918) (f3ab9ac)
- indexer: stop the crash-loop dedup case from running the idle timer (#912) (bc16f24)
- measure the mechanical share of real agent edits (TRA-862 gate — fails) (#905) (f94bdba)
- tools: enforce cross-tool routing hints with a family drift gate (TRA-842) (#888) (997526a)
Chores
- security: deny-by-default token permissions in ga4-snapshot + scanner-config ledger (TRA-903) (#928) (d82b279)
CI/CD
3.17.1 (2026-09-04)
Bug Fixes
- daemon: stop reporting requested shutdowns as exit=1 (TRA-849) (#890) (52e7e67)
- docs: a narrow banner cut so the README header stays readable on a phone (TRA-827) (#877) (f0c0858)
- hooks: let Bash fall back when trace-mcp is unreachable (TRA-845) (#889) (52c1531)
- launcher: refuse to heal launcher.env when the path is not a regular file (#883) (73227a1)
- release: import the Developer ID certificate ourselves (TRA-844) (#887) (cc24562)
- state: bound the global state.db instead of growing it forever (TRA-830) (#879) (5694c23)
- watcher: reconcile the index when the OS drops fs events (#892) (846f17b)
Documentation
- design-web: an un-paired app screenshot is a finding, not a milder pair bug (TRA-851) (#885) (6443a53)
- ops: record claude-code-templates in the distribution ledger (TRA-846) (#886) (5417a07)
- ops: tokenomics listing merged, third arrivals window, backend-slot door class (#884) (6c038f1)
- regenerate the config index after db.path lost its default (TRA-810) (#870) (a007163)
3.17.0 (2026-09-04)
Features
- analytics: startup-context audit — what every session pays for before the first message (#843) (b82c43d)
- analytics: startup-text compressor — drop what the block already says (TRA-770) (#845) (8a820f6)
- app: split app and daemon updates into independent checks (#790) (93cc4e5)
- distribution: publish the site URL to the MCP registry and npm (TRA-792) (#855) (d0b3791)
- mirror: default the Read/Bash window to 24/12, add an opt-in char cap (TRA-750) (#832) (83ce1bb)
- site: red means danger, not brand — monochrome CTA and chrome (TRA-739) (#840) (78ecb0f)
Bug Fixes
- app: a number stops breaking in half, and a Korean word stops splitting (TRA-803) (#865) (150a59f)
- app: clamp the sheet to the window so the first-run actions stay reachable (TRA-794) (#856) (c018e52)
- app: the German KPI label no longer truncates and the wizard uses the app's informal tone (TRA-591) (#838) (cc5916f)
- docs: correct the stale tool/resource counts in the README diagram (TRA-608) (#830) (a3ef5b7)
- docs: regenerate config-index after db.path lost its schema default (e8b5064)
- docs: regenerate llms-full.txt alongside the config index (81f9a6d)
- docs: regenerate stale sitemap lastmod (#858) (58d8f04)
- docs: stop the sitemap guard failing on merge-date drift (TRA-800) (#862) (868dae8)
- hooks: port the guard v2 navigation gate to Windows (TRA-757) (#836) (cbe59bf)
- launcher: an unreadable launcher.env must not kill the server (TRA-797) (#861) (1b4bdcd)
- launcher: refuse to start the server on an unsupported node (TRA-755) (#831) (9ca72dd)
- launcher: resolve node from a prefix only pkg_roots knows (TRA-742) (#833) (7343980)
- server: report the attached stdio session so the guard stops degrading (TRA-773) (#846) (8f62854)
- server: the client-profile notice was an instruction, not a note (TRA-796) (#860) (1051fda)
- state: sweep orphaned tmp files in state subdirectories (TRA-783) (#849) (0b6e428)
- tools: report the real index path in get_index_health (TRA-802) (#864) (7a22fc2)
- web: left-align comparison table cells kramdown centres (TRA-741) (#821) (6305636)
Documentation
- benchmark_project is an estimator, not measured tool output (TRA-762) (#837) (6299383)
- comparisons: give CodeGraphContext a real hub summary (TRA-768) (#847) (8905aa4)
- comparisons: give each head-to-head peer real coverage on the hub (TRA-767) (#842) (3494fdb)
- design-web: the wordmark is the logo — grid, step, minimum size, lockups (#848) (6287b6a)
- generate a complete config index, and fix the preset-default claim (TRA-801) (#863) (57762d4)
- ops: measured ledger of client start-block levers (TRA-771) (#844) (accd5b4)
- ops: put the measured benchmark into the launch drafts (TRA-722) (#813) (a842a7a)
- ops: user-signal run 2026-09-03 — the ping is the channel, and by_client is 90% pre-fix (TRA-745) (#824) (f7363aa)
- seo: structured data, citable comparison hub, and number-drift guards (TRA-419) (#841) (586d016)
- site: cobalt accent instead of red, README header as a generated banner (#839) (b69cc0f)
Chores
- app-deps: bump fast-uri and @xmldom/xmldom to patched versions (#852) (1f4fca2)
- security: scope ga4-snapshot permissions to the job, document alert triage (#818) (531dcad)
CI/CD
- make the audit gate depend on advisories, not on npm's uptime (#853) (4c38b3d)
- unblock the board — audit job timeouts, and the docs lastmod master is red on (#850) (a968ef8)
3.16.0 (2026-09-03)
Features
- analytics: publish the client-reporting gate in adoption.yml (TRA-748) (#827) (70fa3ef)
- docs: rebuild the first screen of the site and the README around one download (TRA-738) (#819) (d2a8df9)
Bug Fixes
- app: the theme switcher applies without a restart (TRA-754) (#828) (ac22e43)
- doctor: stop flagging trace-mcp's own tool names as competitor directives (a6b1017)
- security: patch fast-uri/qs advisories and enforce the audit invariant in CI (TRA-733) (#817) (502168c)
Documentation
3.15.0 (2026-09-03)
Features
- app: detect a second installed trace-mcp.app bundle (TRA-692) (#798) (04cfd79)
- app: surface a second installed app copy in the app menu (TRA-692) (d4c3f25)
- app: WindowTabBar becomes a real tab bar (TRA-700) (#807) (e996dc2)
- guard: guard v2 — intervene only where the win is measured (TRA-711) (#810) (f80bedd)
- hooks: Read/Bash output mirror prototype (TRA-725, E1') (#815) (40d5b32)
- plugins: add Agent Plugins v1.0.0 root manifest and MCP config (TRA-634) (#791) (ea5c285)
Bug Fixes
- analytics: keep session ingestion current and make staleness visible (TRA-695) (#802) (26ae439)
- collect ~/.trace-mcp state that nothing ever swept (TRA-702) (#804) (fc4d12e)
- daemon: name the dropped dangerous root instead of re-asking for a hint (TRA-720) (#814) (f1b0ec9)
- daemon: report cleanup-tier failures on project removal (TRA-559) (#797) (17a3f12)
- hooks: strip CRLF from mirror hook output on Windows (TRA-743) (#822) (cb03a86)
- indexer: stop mangling hyphenated CMake targets and add_subdirectory edges (TRA-622) (#750) (d7667ba)
- launcher: resolve cli.js independently of the selected node (TRA-701) (#806) (e9df75d)
- launcher: stop the legacy bin path freezing at its install-time shim (TRA-716) (#809) (2a37a19)
- migration: copy files byte-for-byte, not through a UTF-8 string (TRA-732) (#816) (a4897c8)
- navigation: resolve cwd-relative paths to the indexed file (TRA-693) (#800) (833206a)
- serve: keep daemon auto-spawn off the stdio handshake path (#805) (e6f3b67)
- serve: move auto-update off the MCP initialize path (TRA-703) (#808) (ff2ebd7)
- web: sweep the scroll hint, the one label nothing measured (TRA-564) (#794) (478cdfe)
Performance
- app: code-split the four secondary project tabs out of startup (TRA-593) (#792) (39b3376)
- hooks: detach the reindex dispatch so an edit never waits on the daemon (#801) (5d7b516)
Documentation
- comparisons: refresh peer facts and record this pass's source reads (#777) (a7d08f1)
- competitor-vs-competitor page — Repomix vs codegraph (#795) (34ffdf8)
- migration: update docs, generators, and distribution ledger for the trace transition (TRA-615) (#717) (40d1623)
- seo: link source files by GitHub URL instead of paths that 404 on the site (#793) (85fbfde)
- state: say that trace_state_* is off the default surface (TRA-723) (#811) (6db8777)
Tests
- presets: guard every preset's tools/list budget, not just the listed ones (TRA-719) (#812) (039b64b)
CI/CD
3.14.0 (2026-09-02)
Features
- docs: publish the saved-token counter on the homepage and in the README (#774) (0f56830)
- tools: ship the router preset and make batch-as-door deliberate (TRA-675) (#785) (2ce3d20)
Bug Fixes
Documentation
- app: warn app builds <=3.10.0 they must reinstall (TRA-687) (#786) (54f97f0)
- correct Multica agent mcp_config semantics (#789) (a5e903a)
- lead with the benchmark measured on other people's code (TRA-647) (#752) (4ee6b22)
3.13.0 (2026-09-02)
Features
Bug Fixes
Performance
- app: let the Graph tab go quiet when nobody is watching (TRA-683) (#783) (0c79f0e)
- app: reconcile both TRA-617 passes, measure the app offscreen, price the idle Graph tab (#781) (942a206)
Documentation
- add TechArticle schema to three pages and guard it in CI (#776) (64214fb)
- ops: add third-party roundup surface class to distribution ledger (#782) (59d3159)
3.12.0 (2026-09-02)
Features
- app: first-run setup wizard with MCP client detection and project guessing (TRA-439) (#710) (bb75a32)
- app: flag legacy trace-mcp client entries and offer a one-click Migrate (TRA-614) (#724) (3564a74)
- core,cli: trace bin alias, McpServer identity, config paths, and client auto-migration (TRA-611) (#730) (88eb73c)
- eval: measure SKILL.state savings on real sessions, not constants (TRA-600) (#765) (310bbe2)
- state: implement SKILL.state linear context engine (TRA-596) (#715) (cdb5e5e)
- telemetry: put a funnel behind active installs (TRA-645) (#745) (8196084)
- telemetry: read the ping's
callsto measure use, not just setup (TRA-673) (#773) (4e51fe6) - telemetry: report daemon starts and unclean stops in the daily ping (TRA-671) (#770) (9b5a186)
- telemetry: report the active preset and advertised tool count, and fix the client-name clobber (#748) (be1fb53)
- web: cut the hero to one download and one command (TRA-609) (#718) (d175595)
Bug Fixes
- analytics,hooks,plugins: recognize trace as a trace-mcp server key (TRA-641) (#755) (8a566c5)
- app: a badge tint is opaque, so its measured contrast is the one it renders (#731) (30dfca8)
- app: a file row shows its location whole or not at all (TRA-504) (#725) (063c03b)
- app: enable custom WindowTabBar across all platforms including macOS (#716) (fd80d97)
- app: Project Overview states a section failure once, without inventing a cause (TRA-662) (#762) (e55bd35)
- app: spawn the CLI through a real executable on Windows (TRA-638) (#738) (dae0869)
- app: the guard card says "not running" once, and says what to do about it (TRA-490) (#759) (e66fa3c)
- ci: exempt the release PR from the duplicate-work guard (#736) (aca4e98)
- db: don't crash reindex on cross-file ORM associations (TRA-663) (#763) (dc0b2e8)
- docs: date sitemap pages by author date, not committer date (TRA-637) (#729) (b2636ca)
- indexer: stop mangling multi-target .PHONY lines into one symbol (TRA-618) (#721) (3b3c6a0)
- indexer: stop truncating CMake include/find_package/add_subdirectory paths (TRA-670) (#772) (4227a09)
- indexer: support framework and manifest detection in monorepos (#705) (#711) (9eaf1dd)
- init: migrate legacy mcp__trace-mcp__ tool prefix in settings.json (TRA-650) (#756) (699581d)
- release: sign, notarize and staple the macOS DMG container (#728) (e25a41d)
- scripts: resolve the CLI state dir instead of hardcoding ~/.trace-mcp (TRA-667) (#767) (e56f457)
- server: fall back to the default preset, not the full surface, on an unknown preset name (TRA-648) (#753) (185e5f4)
- tests: use file:// URLs for the trace-home subprocess harness (TRA-672) (#769) (e0c2d99)
- update: align Windows NSIS naming, fail-closed channel manifest audit, per-bundle running detection (TRA-592) (#742) (0428744)
- web: drive the homepage footer from docs_nav, and guard it (TRA-629) (#733) (53a5045)
- web: make the landing footer's doc list read down, and pull /Contact up (#739) (648633c)
- web: raise --text-disabled and dark --accent to clear 4.5:1 (TRA-539) (#719) (5857eba)
- web: stack the hero's two mono caps rows on a phone (TRA-607) (#771) (2ef0977)
Performance
- app: stop staging 132 MB the embedded daemon cannot reach (TRA-605) (#743) (d434224)
- bench: measure trace-mcp → trace token savings across 4 tokenizers (TRA-613) (#720) (b41dc35)
- tools: land role-based tool presets with re-measured budgets (TRA-603, TRA-601) (#732) (3d415e0)
Documentation
- config: document Multica workspace agent MCP preset wiring (TRA-604) (#747) (f3f2399)
- configuration: warn that --preset needs a release that has it (TRA-664) (#764) (374248e)
- contributing: record why master's protection is not strict (#751) (ab73e39)
- decide the trace rename — command, not project (TRA-644) (#741) (2d8e305)
- link the docs pages into four topical clusters (#757) (6f92234)
- ops: two new agent-reachable directory doors, four closed with reasons (TRA-623) (#722) (7d6be87)
- point the state-directory and CLI references at what the code actually does (TRA-666) (#766) (2d05cb7)
- read the PR-benchmark counts from the data file, not by hand (#760) (b24b15b)
- refresh app screenshots at v3.11.0 (TRA-630) (#746) (f0728a0)
- roadmap: activation measures setup, not use — read
callsby client (TRA-668) (#768) (bc97bb0) - roadmap: add the evidence item — the one outside measurement is on no entry surface (TRA-616) (#749) (18f71e4)
- roadmap: record the State Engine positioning question (TRA-616) (#754) (c322823)
- roadmap: revise for v3.11.0 — presets supersede tool consolidation, adoption is live (TRA-625) (#740) (f47ad89)
Tests
- app: give the AskTab lazy-import test a timeout that fits what it loads (#734) (64b14a1)
- app: wait for the guessed-project card before clicking Change folder (TRA-640) (#761) (9e18e75)
CI/CD
- fail when waiting_for_release is set against an unmerged PR (TRA-659) (#758) (036c558)
- release: gate the Apple signing secrets behind a branch-protected environment (#737) (dfd7bbd)
3.11.0 (2026-09-01)
Features
Bug Fixes
- app: clamp KpiTile label and comparison spans to preserve TILE_H (TRA-492) (#713) (b4549ac)
- app: remove broken native macOS tab bar under hiddenInset (TRA-587) (#708) (891b1d8)
- app: resolve autoUpdater dynamic export and wrap long menu header status text (#707) (c0b3083)
- init: update tool routing table and stale hint references (TRA-579) (#712) (b6b02ae)
3.10.0 (2026-08-31)
Features
- app: the app installs and repairs its own daemon (TRA-438) (#692) (b8dd908)
- bench: measure PR-review context cost on 60 real merged PRs (TRA-534) (#699) (aeb5080)
- docs: lead with the signed DMG on the site and in the README (#697) (219dc3b)
Bug Fixes
- ci: stop compiling better-sqlite3 — use its bundled prebuilds (TRA-567) (#700) (d9f2a1e)
- config: rewrite the pre-v3.3
tools.preset: "full"default on upgrade (TRA-538) (#693) (e8cc9dc) - indexer: resolve Rust imports, the next language after Java (TRA-565) (#698) (98ef908)
- release: demote an unverified release out of
latest(TRA-566) (#701) (cf3afd1) - site: light-mode disabled text was measured against the wrong background (#695) (90aaaa1)
Tests
3.9.0 (2026-08-30)
Features
Documentation
Tests
3.8.0 (2026-08-30)
Features
- analytics: price the saved-token counter server-side, capped for inflation (#682) (fe5027c)
- app: sign and notarize macOS builds, ship DMG per architecture (#584) (61c07d3)
Bug Fixes
- app: a "starting" daemon must not refill the restart budget (TRA-543) (#683) (b2aaecf)
- daemon: a losing spawn can no longer report the live daemon as dead (TRA-525) (#663) (248374e)
- update: re-check whether the app is running per bundle (TRA-555) (#687) (03ebf63)
- update: update every installed bundle, not just the resolved one (TRA-535) (#672) (26d3eed)
Documentation
- ops: draft the Reddit material (TRA-393) (#656) (cc6a40e)
- vs: read Serena's source, correct four rows in its favour (TRA-547) (#684) (391b90a)
3.7.0 (2026-08-30)
Features
- ops: daily GA4 adoption snapshot into docs/_data/adoption.yml (#673) (ecbf963)
- telemetry: add client and timezone dimensions to the daily ping (#659) (db7e288)
- telemetry: country, model and indexed-repo count; drop raw timezone (#667) (984b264)
- telemetry: install type, previous version and machine class (#671) (549765e)
Bug Fixes
- app: a project tab must not hold a daemon socket while it is off screen (#670) (8d5d88f)
- app: delete the 20px segmented control, not its latest victim (TRA-522) (#658) (242d5d6)
- app: one focus ring per control, on the control's own boundary (TRA-521) (#662) (acb4dd1)
- app: stop the daemon restart loop the wedged guard was meant to stop (TRA-543) (#681) (13e6aa7)
- app: the graph filter popover stays inside the graph pane (#661) (e6a398d)
- app: the tab bar is 20px, not 36 — lights back on the tab centre line (TRA-523) (#664) (00e4c0f)
- ci: publish the adoption snapshot to a data branch, not a PR (#678) (d6a937f)
- ci: route the adoption snapshot through a PR, not a push to master (#674) (7dd1b63)
- daemon: decision rows survived project removal in every build (TRA-542) (#680) (a0c251d)
- docs: the sitemap generator stops revising published dates backwards (#652) (2d2b577)
- registry: stop agent workdirs leaking into the registry and topology store (TRA-527) (#660) (15bce03)
- restore what #659 reverted, gate the shape that let it through (TRA-528) (#665) (ccc3b45)
- svelte: extract $props() destructuring as component props (#668) (67ac07c)
- web: label, focus and keyboard-reach the landing quickstart terminal (#676) (0ee5cb2)
Performance
Documentation
CI/CD
- codeql: exclude the filesystem-taint rule family (TRA-518) (#653) (2cb8656)
- lockfile, Dependabot and CI coverage for packages/vscode-extension (#654) (c892ada)
3.6.0 (2026-08-30)
Features
- clients: report each client's current enforcement level (TRA-498) (#637) (b99f2eb)
- server: tailor the advertised surface to the connected MCP client (TRA-513) (#648) (a43f5d4)
Bug Fixes
- app: MCP clients — the row actions never ran, and six drifted rows took six clicks (TRA-497) (#638) (ce47652)
- app: Project Overview reads all three daemon states, not one (TRA-489) (#632) (fc20f58)
- app: shorten the Russian KPI delta caption to one line (TRA-464) (#630) (4bb6bbd)
- app: the KPI strip stops arguing with the banner above it (TRA-488) (#627) (1ab017e)
- app: the sidebar file row leads with the filename, not the path (TRA-503) (#640) (ed369ec)
- clients: a global MCP registration no longer carries the caller's cwd (TRA-501) (#639) (a107d87)
- indexer: resolve Java imports, the next language after Go (TRA-483) (#623) (934b2ee)
- search: scope the subproject fan-out to the requested project (TRA-470) (#626) (724697f)
- site: a code block that scrolls says so, and every scroll region has a ring (TRA-508) (#645) (cfd77ad)
- tools: get_untested_symbols reports the actionable tier by default (TRA-515) (#650) (8f849f7)
- update: target the running bundle, reclaim orphaned staging (#644) (33d716e)
- workspace: a dead daemon gets one verdict from the KPI strip, not two (TRA-495) (#633) (267c2f4)
Documentation
- add the scip_resolved tier to the stale resolution-tier tables (#628) (4b44a31)
- comparisons: profile the largest LSP-native peer, correct its debugger claim (TRA-511) (#646) (dc13beb)
- design: a review run must isolate the daemon, not just the screen (TRA-502) (#641) (3a1c30c)
- fifth head-to-head page — trace-mcp vs Context Mode (#629) (1932c80)
- ops: draft the Show HN material (TRA-393) (#625) (56da9b0)
- ops: keep a ledger of what has actually been audited (TRA-505) (#643) (6324c10)
- pin /perf/ with a permalink, undoing a soft 404 from #635 (#636) (af61b3a)
- publish the tool index — 101 registered tools had no entry anywhere (TRA-505) (#642) (c1b9b7f)
- publish two orphan pages, noindex three internal ones (#635) (fb4e037)
Tests
- init: cover the Hermes guard-hook installer (TRA-514) (#649) (63e92af)
- skip POSIX exec-bit assertion on Windows in hermes-hooks (#651) (f5f2e3c)
3.5.2 (2026-08-30)
Bug Fixes
- app: the dashboard at rest marks nothing selected (TRA-475) (#617) (9618479)
- app: the sidebar file list can no longer pulse a skeleton forever (TRA-478) (#622) (40cb6e6)
Documentation
CI/CD
3.5.1 (2026-08-30)
Bug Fixes
- app: a baseline taken while the daemon was silent is not a baseline (#602) (8319504)
- app: centre the daemon-down pane on Project Overview (TRA-469) (#614) (14313a4)
- app: point the quarantine command at the real install path (#604) (c416638)
- app: Project Overview says a dead daemon once, not six times (TRA-469) (#611) (c5340ca)
- app: the KPI strip is a grid of equal tracks, not a wrapping flexbox (TRA-467) (#608) (f992cb5)
- app: the projects table shades what its pinned column covers (#596) (421c157)
- app: the sidebar file list stops blaming the scope for a dead daemon (TRA-471) (#615) (84ae30c)
- indexer: reconcile scope on full reindex, keep git-ignored files out (#610) (13d26bd)
- site: a scrollable table says so (TRA-461) (#606) (fb9c5ee)
- workspace: measure the pane before the first paint, not after it (#612) (5fdc586)
- workspace: two overlapping KPI sets stop wearing the grammar of a partition (TRA-459) (#605) (6079be2)
Documentation
- ops: Cline is not an agent-alone submission after all (TRA-393) (#599) (ad54c57)
- price the default tool surface on one basis everywhere (TRA-448) (#597) (4cbd69f)
- re-measure the standard tool surface on comparisons.md (TRA-455) (#601) (94f69ef)
- workspace: two comments in Workspace.tsx that TRA-467 left behind (#616) (ece028f)
Chores
3.5.0 (2026-08-29)
Features
- app: a pop-up language picker with ten languages (#594) (080f369)
- app: ship Spanish and Simplified Chinese (TRA-389) (#592) (3f76ab2)
Bug Fixes
- indexer: resolve Go imports, stop the matrix overclaiming import edges (TRA-449) (#593) (b32b5e0)
- site: capability marks are monochrome text, not emoji (TRA-447) (#591) (3ee72f1)
- telemetry: make GA4 count installs as active users, report tokens saved (#585) (b0f7bab)
- update: trust the bundle's Info.plist over the version marker (#589) (e2d4cdb)
Documentation
- bring the i18n docs back in line with what ships (TRA-379) (#595) (6a5e412)
- ops: verify the last four directories in the distribution ledger (TRA-393) (#588) (0292de8)
Tests
3.4.0 (2026-08-29)
Features
Bug Fixes
- app: never swap a running bundle, never call an already-installed update stuck (#581) (8349f7e)
- app: put the sidebar update card on the Lattice layer (#582) (ad9eaa7)
- app: the AppKit tab bar is 28px, not 36 — lights sat 4px low (#583) (65105c5)
Documentation
- add the trace-mcp vs codegraph head-to-head page (TRA-427) (#578) (7343bf0)
- dead evidence anchor in skills/README + verified distribution-ledger rows (TRA-393) (#575) (450a719)
- disambiguate tune_decision_weights vs tune_weights, record consolidation-retirement policy (TRA-205) (#577) (a2f4342)
- the menu's control column is an inset, not an x coordinate (TRA-388) (#580) (8fca8fe)
3.3.0 (2026-08-29)
Features
- app: i18n runtime, en/ru catalogues and a check against inline strings (TRA-379) (#535) (e0ec6cc)
- app: read Settings, the config schema and the Guard panels from the catalogue (TRA-383) (#541) (8b9072d)
- app: read the exploration tabs from the string catalogue (TRA-385) (#545) (84ec15b)
- app: read the overview and activity tabs from the catalogue (TRA-384) (#543) (79f2953)
- app: read the workspace, sidebar, app shell and UI primitives from the catalogue (TRA-387) (#568) (7d92325)
- app: translate the application menu, the tray and the main-process dialog (TRA-386) (#539) (1c7e737)
- server: progressive tool disclosure — minimal default + load_tools (TRA-402) (#553) (4cccd8a), closes #519
Bug Fixes
- app: bound the sidebar material against --surface in both appearances (TRA-369) (#529) (c9b2ede)
- app: drive the app without taking the screen (TRA-403) (#554) (66ed81b)
- app: every unpackaged build runs as an accessory app (TRA-407) (#559) (c1588c1)
- app: give Insights' report picker a narrow form so every report stays reachable (#534) (051716f)
- app: group the app menu by what an item does, and take the theme pill's proportions from the reference (TRA-376) (#538) (2331b60)
- app: guard setActivationPolicy on darwin, give dev:electron the opt-out (#567) (5acf89e)
- app: honour TRACE_MCP_AGENT_RUN as well (TRA-403) (#557) (3418e32)
- app: one state for a slow daemon, and numbers that go stale instead of blank (#550) (b16c320)
- app: report a stale npm root only when MCP clients run it (#537) (0d6f924)
- app: the native tab bar is a second top band, not a replacement (TRA-399) (#552) (29da930)
- config: index every registered language by default (TRA-400) (#549) (1d5be08)
- daemon: enforce the loaded-project cap in steady state, not just at boot (#572) (345ef7e)
- daemon: stop the health watchdog from killing a busy daemon (TRA-421) (#573) (551d656)
- docs: install surfaces advertised the 99% peak as the token average (TRA-393) (#542) (9adf592)
- docs: name the seven tools retired in v2.0.0, and hint them at call time (TRA-412) (#566) (50531b5)
- docs: photograph the window, and refuse a frame without its chrome (TRA-390) (#544) (7882ea1)
- indexer: register the VHDL language plugin, publish a capability matrix (#547) (255f425)
- logger: serialize Errors logged under the
errorkey (#571) (08df073) - registry: stop persisting one-shot agent-run checkouts (#548) (84f81a4)
- site: give the landing page the accessibility layer the docs already have (TRA-408) (#561) (a1cc98b)
- site: show one appearance of the app screenshot, not both (TRA-390) (#546) (6ebbbd5)
- update: stop re-downloading the version already installed (#556) (dd40f40)
Performance
- app: stop shipping react-i18next in app.asar, measure startup on the renderer's own clock (TRA-398) (#551) (19efc6a)
Documentation
- add ops/distribution.md, the external listings ledger (#570) (d48318b)
- correct stale tool-surface claims and unhardcode homepage counts (#569) (ecb114d)
- correct the sidebar material's backdrop, with the shot matrix (TRA-404) (#555) (75e7081)
- measure the sidebar material without hijacking the desktop (TRA-404) (#558) (48f1c16)
- reclassify GA4 telemetry credentials as public by design (#532) (9cdccf9)
- rewrite the landing page and README framing in a plain voice (TRA-418) (#574) (9af6469)
- site: put the documentation pages in the Nothing design system (#540) (b4b87c7)
- stop citing npm downloads — the count is mirror-inflated (TRA-413) (#564) (fd29351)
- two more surfaces sold a peak token number as the average (TRA-393) (#562) (1bc3876)
CI/CD
- codeql: exclude js/path-injection, encoding the TRA-301 decision (TRA-381) (#533) (85f0dbb)
- drop nosemgrep-suppressed findings from the Semgrep SARIF (TRA-411) (#563) (3fd91ab)
- fail on invisible Unicode in prose and AI provenance marks (#565) (8416082)
- run cross-platform tests on refactoring path changes (#530) (aa24222)
3.2.0 (2026-08-29)
Features
- app: bring the Graph Explorer overlay layer onto the design system (TRA-349) (#505) (6c635bd)
- app: collapse the sidebar footer into one row that opens an app menu (TRA-363) (#516) (2a94e45)
- app: one top band — the surface's toolbar shares the line with the sidebar toggle (TRA-354) (#518) (e194fdb)
- app: Theme is one menu row with an inline switcher (TRA-363) (#522) (cdf6193)
- app: update Windows through electron-updater instead of the macOS zip path (TRA-360) (#513) (b8352f5)
- parser: migrate to the web-tree-sitter 0.26 API (TRA-330) (#498) (4e9b45c)
Bug Fixes
- api: return SQLite indexed_at as ISO-8601 UTC (#520) (1f7ec66)
- app: a glyph names the action — drop sparkles and speech bubbles (TRA-363) (#525) (b4331cf)
- app: correct TRA-355's contrast claim and repoint its guard at a live element (#508) (61da73e)
- app: follow the app's Appearance in the native layer, and floor the sidebar material in light (TRA-369) (#524) (37e7eba)
- app: put the traffic lights on the top band's centre line (TRA-370) (#521) (8ead88c)
- app: report global npm roots the update never touched (TRA-364) (#515) (0ae6e61)
- app: say the daemon is unreachable instead of "Failed to fetch" (TRA-356) (#507) (564ad48)
- app: stop a locally built .app from hijacking updates, and never call a stuck bundle "up to date" (TRA-357) (#510) (d4f6e27)
- app: stop the shared toolbar clipping its controls off-window (#509) (e299f34)
- daemon: build each MCP session from a freshly loaded config (TRA-373) (#526) (3498657)
- refactoring: apply_move now rewrites ESM .js import specifiers (TRA-374) (#527) (756d840)
- refactoring: normalize path separators before collapsing barrel imports (#528) (bef1e22)
- tools: make compact_schemas cover all 141 tools and stop hiding required params (TRA-346) (#500) (70787a7)
Documentation
- fix the framework/language counts on the install surfaces (TRA-361) (#512) (639dc9d)
- re-measure the advertised tool surface and correct the comparison (TRA-372) (#523) (d41ed16)
- readme: deep-link in-body doc references to trace-mcp.com pages (#502) (221e941)
- regenerate every screenshot from one seeded state (TRA-366) (#517) (2783acf)
- seo: per-competitor /vs/ pages, visible dates, token-usage guide (TRA-351) (#504) (4c2fb1b)
Tests
CI/CD
- publish server.json to the official MCP Registry on release (#503) (88c1beb)
- release: do not publish to npm before the app artifacts exist (TRA-362) (#514) (b4066b3)
3.1.1 (2026-08-29)
Bug Fixes
- app: abort the model-list fetch on unmount (#493) (2164908)
- app: make quick open readable — paths and ⌘-hints were 1.88:1 (TRA-344) (#496) (0483234)
- guard: arm the coach grace period at registration, expire it in the hook (TRA-341) (#492) (23bbf49)
- scan_security: kill the false positives whose guard sits above the sink (#497) (1e67b71)
- tools: actually strip param descriptions at minimal/none verbosity (TRA-345) (#499) (aba9e20)
Documentation
3.1.0 (2026-08-29)
Features
Bug Fixes
3.0.0 (2026-08-29)
⚠ BREAKING CHANGES
- Node 20 and 21 are no longer supported; Node >=22 is required.
Features
Bug Fixes
- app: close the last hit-target gaps found in the TRA-284 final walk (#488) (5788340)
- daemon: auto-deregister stale one-shot agent-run workdirs (TRA-335) (#487) (205905c)
- verify: read embedding_meta as the KV table it actually is (#485) (dae8004)
Refactoring
2.3.0 (2026-08-29)
Features
Bug Fixes
- app: keep the Ask toolbar in the no-provider setup state (TRA-312) (#475) (e1f9a5e)
- app: make the workspace survive the 640x420 minimum window (#480) (5e64c51)
- registry: scope index-DB sharing to sequential use (TRA-304) (#477) (663cdc6)
- registry: stop the mtime cache serving a stale registry (TRA-326) (#479) (c6cce05)
Documentation
- design: title design PRs with a real Conventional Commits type (#474) (3237a8f)
- require the repo git identity for agent commits so license/cla resolves (#478) (a2fc45c)
Chores
2.2.0 (2026-08-29)
Features
- app: application menu, keyboard shortcuts and the text-selection fix (TRA-297) (#471) (c2320d3)
- app: put the sidebar footer on the row system, add Light/Dark/Auto (TRA-305) (#464) (266f53f)
- app: rebuild Ask on the macOS 26 layer (TRA-312) (#472) (7ab309d)
- app: rebuild Graph Explorer chrome and Insights on the macOS 26 layer (TRA-296) (#468) (7df5742)
- app: rebuild MCP clients, Settings and the onboarding sheet (TRA-295) (#469) (407d4e1)
- app: rebuild Project Overview on the macOS 26 layer (TRA-293) (#463) (b995779)
- app: rebuild the workspace dashboard and project table on the macOS 26 layer (TRA-292) (#461) (9b4bc0b)
Bug Fixes
- app: density pass — sidebar footer height, doubled pane inset, off-grid control padding (TRA-306) (#467) (b1b5fbc)
- app: distinguish a project the daemon forgot from one never indexed (#465) (ab59ed6)
Documentation
2.1.0 (2026-08-28)
Features
- app: native vibrancy sidebar + hiddenInset window chrome (TRA-291) (#453) (f914b2e)
- app: rewrite the Lattice control primitives on a 20/24/28 capsule scale (TRA-290) (#456) (1b51c52)
- app: single macOS 26 token layer, type scale and 4pt geometry (#458) (7cb93e3)
Bug Fixes
- ci: give the three full-index jobs real timeout headroom (TRA-298) (#460) (f007258)
- daemon: require --allow-remote for a non-loopback bind (TRA-301) (#459) (42f4f6b)
- registry: stable git-remote identity so repeat checkouts reuse one index (TRA-38) (#450) (6148369)
- security: replace existsSync-then-read/write TOCTOU with safe helpers (TRA-256) (#452) (0ef5fc2)
2.0.3 (2026-08-28)
Bug Fixes
- ci: restore RELEASE_PLEASE_TOKEN, dropped by the #438 squash-merge (TRA-171) (#448) (40b8e15)
- daemon: ignore dangerous project hints instead of failing MCP startup (TRA-286) (#449) (da0bd12)
Performance
- app: add a fixed workload fixture for the three unmeasured desktop metrics (TRA-258) (#446) (fd378da)
- daemon: cap eager project loading at startup (TRA-278) (#445) (8989741)
Chores
2.0.2 (2026-08-28)
Bug Fixes
- ci: use RELEASE_PLEASE_TOKEN so release PR checks fire automatically (TRA-171) (64dc725)
- docs: refresh stale sitemap lastmod and run the guard in CI (TRA-282) (#444) (8c42271)
- update: recover an app bundle swap interrupted by a reboot (TRA-280) (#442) (16c3a7f)
2.0.1 (2026-08-28)
Bug Fixes
- app: freeze Project and Actions columns in the workspace table (TRA-265) (#429) (3cde321)
- daemon: bound post-update forced reindex attempts (TRA-274) (#439) (a9669a4)
- docs: our own surfaces said 85 framework integrations, the registry has 87 (TRA-272) (#440) (30d4de7)
- docs: reconcile the README language count and guard every occurrence (TRA-272) (#437) (cbd2aa5)
Tests
CI/CD
2.0.0 (2026-08-28)
⚠ BREAKING CHANGES
- seven MCP tools are removed. Each was a deprecated alias for a superset tool that already covered it:
| Retired tool (1.x) | Replacement (2.0) |
|---|---|
pin_symbol { symbol_id } | pin { symbol_id } |
pin_file { file_path } | pin { file_path } |
search_with_mode { query, mode } | search { query, retriever: mode } |
get_dead_exports { file_pattern } | get_dead_code { file_pattern, mode: "exports_only" } |
get_untested_exports { file_pattern } | get_untested_symbols { file_pattern, scope: "exports_only" } |
get_session_resume { max_sessions } | get_wake_up { scope: "resume", max_sessions } |
get_project_memo { include_history, limit } | get_wake_up { scope: "project", include_history, history_limit } |
Every call is expressible in the replacement without loss of behaviour or response shape. Full notes: Migrating from 1.x.
Two rarely-used search parameters were also removed: fusion_weights (per-channel weights now come from ~/.trace-mcp/tuning.jsonc, written by tune_weights) and fusion_debug.
Features
Bug Fixes
- app: don't render a failed metrics fetch as real zeros (TRA-264) (#428) (7216174)
- app: make Compact denser, sort it like Table, keep the leading / in paths (#430) (b577b9a)
- app: make the guard onboarding dialog dismissable and quiet on first launch (#423) (9fb47f9)
- daemon: honour the tool preset on the daemon-backed path (TRA-250) (#422) (bf7e3d7)
- daemon: record why a silent exit happened (TRA-267) (#432) (0c7b944)
- docs: emit og:image on every docs page (#418) (c000b28)
- docs: link every doc page from the shared footer nav (#419) (717e463)
- docs: refresh sitemap lastmod from git, link docs from README and homepage body (#426) (20df40b)
Performance
- app: stop shipping node_modules in the artifact, add a perf baseline harness (TRA-257) (#425) (fc47c10)
Documentation
- comparisons: deep-dive pass on the two largest peers + measured tool-surface cost (#416) (4355601)
- fix stale language/framework/tool counts in CLAUDE.md and skills (TRA-243) (#420) (4de6258)
- fix the MCP registry manifest and preset sizes, guard both (TRA-259) (#427) (3467d3f)
- single source of truth for the MCP tool count (TRA-263) (#431) (a9939d3)
Tests
CI/CD
1.51.1 (2026-08-28)
Bug Fixes
- guard: add Windows system directories to the dangerous-root guard (TRA-236) (#411) (33b5f1c)
- hooks: cut clock spawns in reindex hook, make stats-write flake diagnosable (#412) (74ce12b)
Performance
- tools: stop paying full prose for deprecated consolidation aliases, guard schema size (TRA-239) (#414) (1dcb962)
1.51.0 (2026-08-28)
Features
Bug Fixes
- app: don't render KPI zeros before metrics load; use color tokens (#400) (c1e51d9)
- app: normalize daemon project_status progress payload (#401) (deddbba)
- indexer: converge coverage after major on-disk change (TRA-231) (#406) (f3bf334)
- mcp: strip redundant $schema keyword from tools/list responses (#398) (4f5482a)
- topology: route subproject registration through the dangerous-root guard (TRA-232) (#405) (03096b3)
Documentation
Tests
- tools: extend schema-budget guard to conditionally-registered tools (#407) (b1a725f)
- topology: gate POSIX-only dangerous-root fixtures off Windows (#410) (2b9ba1f)
Chores
1.50.0 (2026-08-27)
Features
- get_wake_up: add scope param to unify with get_session_resume / get_project_memo (TRA-206) (#395) (35d72df)
Bug Fixes
- install-app: verify SHA-256 before extracting or executing release assets (TRA-219) (#397) (3fe0614)
1.49.0 (2026-08-27)
Features
- check_edit_safe: add depth param to unify with assess_change_risk / get_change_impact (TRA-197) (#392) (425a0c1)
- get_dead_code: add exports_only mode, alias get_dead_exports (TRA-199) (#393) (290f7dc)
- get_untested_symbols: add scope param, alias get_untested_exports (TRA-203) (#394) (ef80540)
- pins: add unified pin tool, alias pin_file/pin_symbol (TRA-196) (#391) (5035195)
- search: add retriever param to unify with search_with_mode (TRA-200) (#388) (2192dd3)
1.48.5 (2026-08-27)
Bug Fixes
Documentation
- fix remaining stale comments about the deleted app-dist repo (#387) (b47b0ad)
- update roadmap — TRA-186 shipped, tool-consolidation scoping is next (#384) (8007125)
1.48.4 (2026-08-27)
Performance
1.48.3 (2026-08-27)
Performance
1.48.2 (2026-08-27)
Bug Fixes
- app: apply staged update on any quit, not just explicit Restart (#376) (b817ef9)
- daemon: re-check npm registry periodically, not just at startup (#372) (475cb69)
- deep-glob fallback masked by unrelated global include pattern (TRA-184) (#374) (803f7c3)
- registry: reject /private/tmp as a project root (TRA-185) (#373) (168e311)
Documentation
CI/CD
1.48.1 (2026-08-27)
Bug Fixes
Documentation
- fix duplicate H1, untargeted titles, unscoped tables, dead-end internal links (TRA-173) (#368) (61436ea)
- site: close AI-search (GEO) gaps — FAQPage schema, TechArticle dates, llms-full.txt (TRA-175) (#367) (ac1f543)
CI/CD
1.48.0 (2026-08-27)
Features
- add detail_level to get_feature_context / get_task_context (GH #334) (#353) (9c30a2f)
- ci: SARIF upload for quality gates + security scan (TRA-127) (#349) (a4c520f)
- config: add tools.default_detail_level global verbosity default (TRA-168) (#364) (a78a9cd)
- mcp: add list_projects + call_project_tool cross-project relay (TRA-93) (#357) (e1cde20)
Bug Fixes
- app: migrate status dots to Lattice tokens, delete duplicate StatusDot (#352) (a3045eb)
- app: replace emoji glyphs + hardcoded colors with Lattice Icon/Badge (#351) (f6268ac)
- doctor: don't silently drop coverage when --fix removes overlap containers (#338) (744cbf4)
- hooks: catch recursive/pathless grep-cat in trace-mcp-guard (#361) (408a85c)
- init: stop writing alwaysLoad:true, flag it as stale instead (TRA-142) (#355) (18bb652)
- release: enforce Conventional Commit PR titles (TRA-104) (#335) (933b9b1)
- replace insecure /tmp literal paths in test fixtures with /nonexistent (CodeQL js/insecure-temporary-file #247) (#358) (4e0035f)
- resolve CodeQL js/redos and js/insecure-temporary-file alerts in source-reader.ts (#356) (6939be2)
- resolve mocked project roots via path.resolve in call_project_tool tests (#360) (a5f57ee)
- site: self-host fonts, fix heading order, contrast, a11y name mismatch (#347) (b783e21)
- test: resolve mocked project paths via path.resolve on Windows (TRA-151) (#359) (5410897)
Performance
Documentation
- add product roadmap (TRA-124) (#343) (b203e3f)
- deep-dive the two flagged 60K+-star entrants (Graphify, Headroom) (#362) (32d997d)
- document solo-maintainer review model (#346) (6f149ef)
- refresh competitor star counts (verified via GitHub API) (#344) (c660d44)
- refresh competitor stars, add repo-context-mcp entrant, add profiling tracker (TRA-162) (#363) (3d474fa)
- security: document code-scanning alert triage policy (#350) (50c6bd6)
- site: link docs pages internally, fix sitemap, add llms.txt (#345) (82b4262)
1.47.1 (2026-08-16)
Bug Fixes
- analytics: surface _warnings when session data source is unreachable (TRA-76) (#319) (74b49f1)
- deps: patch Dependabot alerts reintroduced by packages/app restore (#309) (a1e13be)
- watcher: apply .gitignore filtering to file-watcher events (TRA-85) (#327) (32dee04)
Chores
1.47.0 (2026-08-09)
Features
- app: port the Lattice design system foundation from Codechats, restyle the sidebar shell (#281) (07948cc)
- init: add --scope project|global for MCP config target (#282) (#284) (51be60d)
- plugin: add Codex CLI plugin, document one-step install in README (#278) (8c17ce0)
- telemetry: anonymous opt-out active-install ping (GA4 Measurement Protocol) (#280) (493152b)
Bug Fixes
- config: scaffold preset:standard in default global config (TRA-67) (#305) (2c5a1bf)
- guard: distinguish stdio vs http heartbeat, treat 0 sessions as dead (#301) (167dc01)
- memory: drop bare "over" from tech_choice mining pattern (TRA-34) (#276) (a3b3c3e)
- memory: scope mined-session count to project, not global (#303) (c5f0754)
- memory: scope session discovery to the target project (TRA-48) (#293) (18fde5e)
- memory: stop CLI mine defaulting stricter than the tuned reject floor (#272) (08bb295)
- plugin: bump .codex-plugin manifest versions to match package.json (1.46.2) (#295) (13ecf04)
- registry: doctor --fix-interactive handles registry issues too (#291) (f10efa5)
- registry: stamp lastIndexed on daemon-driven and CLI index runs (TRA-59) (#302) (f100366)
- topology: reject and self-heal filesystem-root subproject repo_root (#273) (#275) (c595ccd)
Documentation
- surface benchmark command and clarify synthetic estimate vs real savings (#283) (581d458), closes #277
Chores
- deps: bump undici and postcss overrides to close 6 Dependabot alerts (#300) (353a3ce)
- deps: ignore better-sqlite3 major bumps (13.x prebuilds segfault) (#296) (3974066)
1.46.2 (2026-07-29)
Bug Fixes
- init: doctor false-positives on CLAUDE.md files that reject a competing tool (#266) (54b47dc)
- memory: reject narration noise in mined decisions (title_narration) (#268) (42ba04f), closes #17
- registry: doctor --fix/--dry-run clean up stale entries and overlaps (#267) (513a177)
1.46.1 (2026-07-27)
Bug Fixes
- auto-index unindexed files on get_outline NOT_FOUND miss (#260) (0e4a807)
- config: index .cs files at arbitrary .NET project roots (#242) (ed2cdc1)
- daemon: retry transient transport errors in ProxyBackend.send (#257) (22453de)
- init: hide PowerShell console window in Windows launcher shim (5ddd61a)
- quality: get_changed_symbols base-branch auto-detection for non-main/master repos (#258) (1393644)
- tools: default preset to standard (~50 tools), not full (~170) (#259) (1c39322)
Chores
- ci: group github-actions dependabot updates (#250) (c745589)
- deps: bump postcss to close Dependabot alert #65 (#261) (cb18080)
- deps: patch 7 open Dependabot alerts via pnpm overrides (#256) (4994510)
1.46.0 (2026-07-07)
Features
Bug Fixes
- daemon: kill the restart war — session parent-death + SIGTERM bounded exit, /health "starting" during any indexing (8dbea96), closes #236 #237
1.45.3 (2026-07-06)
Bug Fixes
- init: run Windows hooks through hidden PowerShell wrappers (no console flashing) (aa2ce31), closes #230
1.45.2 (2026-07-06)
Bug Fixes
- memory: tighten mined-decision quality gate (code spans, dangling tails, table remnants) (1933076), closes #233
1.45.1 (2026-07-06)
Bug Fixes
1.45.0 (2026-07-04)
Features
- daemon: idle project unload, per-connection SQLite memory caps, ancestor watcher restart (a63fb66)
Bug Fixes
- ai: auto-detect Ollama embedding dimension + surface embed_repo failures (68249bc), closes #223
- config: preserve user-added keys when rewriting a project config section (bfb5b93)
- daemon: close topology.db handle in runSubprojectAutoSync (fd leak) (27b2418)
- dashboard: deep-merge PUT /api/settings and preserve JSONC comments (7510769), closes #221
- indexer: electron & filament edges were silently dropped — rewrite + tests (3/3) (fb84beb)
- indexer: import TSNode locally in language helpers (keep re-export) (8a6ee59)
- indexer: import TSNode locally in language helpers instead of dead re-export (dba6233)
- indexer: stop following directory symlinks during file discovery (c6bda46), closes #218
- init: accept string content in withPs1Bom + align hooks test with BOM write path (03a77ab)
- init: write .ps1 launcher/hook artifacts with a UTF-8 BOM + ASCII-only templates (66ba15c), closes #224
- tests: type the unknown config section before member access in jsonc-merge test (7872942)
- types: restore tsc gate (1/3) — core plugin-api types match runtime (524bf06)
- types: restore tsc gate (2/3) — mechanical/drift/noise across 38 files (33e9ed1)
Performance
- daemon: cache registry reads + dedup consultation markers on the hot path (bdce2a2)
Refactoring
- indexer: extract extractAndPersist from IndexingPipeline (137 -> 115 cyclomatic) (7fd7b36)
- memory-scheduler: extract shared types into a dependency-free leaf module to break the resource-ops cycle (93f983d)
- memory: extract MemorySchedulerResourceOps from MemoryScheduler (f528d00)
Documentation
- taint-analysis: reword example comment to avoid self-triggering the SQL-injection scanner (cd68c36)
Chores
- quality-gates: calibrate thresholds from today's cleanup + scanner review (7e17144)
CI/CD
- add tsc --noEmit typecheck gate to prevent type rot (5cd4a03)
1.44.0 (2026-07-02)
Features
- analysis: add get_file_health_timeline (complexity+coupling+churn merge) (84a889d)
- analysis: add get_graph_timeline (simplified commit-sampling tier) (ee30168)
- analytics: track semantic-degraded searches + near-duplicate rephrased queries (a3becf2)
- cfg: model loop back-edges, loop-exit edges, and try/catch merge nodes (8b58c13)
- daemon: serve registered subprojects read-mostly (no watcher, ephemeral) (208be4c)
- daemon: subproject-aware session binding (#209) (bb96ecf)
- eval: health-metric calibration harness + honest triage language (caae2c9)
- iac: K8s Resource nodes, multi-doc, Kustomize modules, compose build links (391d03e)
- iac: resolve Kustomize/compose path-string imports to real manifest nodes (4da5e48)
- memory: decision staleness verification (Task 3) (dce53ea)
- memory: hybrid retrieval for decisions + tracked benchmark (Task 9) (05cb7fb)
- memory: progressive disclosure of decisions (Task 12) (1222cef)
- memory: search-time heat decay + auto-supersession (Task 11) (6bcf60b)
- quality: SARIF 2.1.0 output for scan_security, detect_antipatterns, check_quality_gates (37a0047)
- quality: type-aware taint pruning to cut false positives (62a2a6a)
- refactor: re-enable extract_function with AST free-variable analysis (296a2b8)
- refactor: rebuild apply_codemod on ast-grep AST engine (c3e823c)
- scip: SCIP ingestion with scip_resolved edge tier (3b5a970)
- taint: array-destructuring source + lock-in multi-hop/coercion regressions (106eb5c)
- tools: register get_federation_impact, get_file_health_timeline, get_graph_timeline (1ebf5bc)
Bug Fixes
- cache: scope pagerank + search caches per-DB (WeakMap), not by db.name (24c42ec)
- cfg: emit post-nested-block statement as its own node (13ee9c1)
- cfg: stop mis-classifying do-prefixed identifiers as do-while loops (3f7a8e0)
- codemod: a pattern with zero matches is success, not an error (6d1bc99)
- codemod: lazy-load @ast-grep/napi so a missing native binding degrades instead of crashing the server (643e7d5)
- daemon: FK-recovery hard-resets index tables instead of looping (848623d)
- extract-function: stop misclassifying shadowed/multi-return slices, make confidence reflect it (4175a41)
- hcl: persist + resolve Terraform module source imports edge (970a144)
- indexer: keep symbols_fts in sync on incremental reindex (6807b0f)
- indexer: scope indexing to most-specific registered project (#209) (32e2930)
- memory: break decision-store circular import via shared decision-types (5892529)
- memory: decision retrieval bench script was broken and measuring stale data (e6259b4)
- memory: fail open when decision verification throws internally (3850eb9)
- registry: match extensionless language files by basename (cfa018b)
- revert 6 dead-code false positives from get_dead_code confidence-1.0 batch (0a18f42)
- sarif: emit the canonical OASIS $schema URL, not a dead 404 (511ef78)
- security: eliminate 3x command injection in install-app.ts (ff9eca6)
- security: eliminate command injection in ask --repo git clone (b052f9a)
- security: validate table identifier before DDL in Vec0Index (CWE-89) (6285f0b)
- session: tighten unbatched-call hint, broaden tracked tool set (fbccd6e)
- taint: line-aware type pruning to prevent hidden string-injection (edb6815)
- taint: propagate taint through string concat and template literals (05194ee)
- types: narrow SearchResult | FlatSearchResult before _meta/_near_misses access (76ef9ce)
- types: null-guard decisionStore inside nested closures in memory.ts (ac98c3a)
- types: remove invalid type assertion in updateCallSites (739295b)
- types: replace zod v3 ZodEffects with v4 ZodPipe/ZodTransform (22c5294)
- types: widen tsconfig rootDir to repo root to fix TS6059 (f526ba3)
Performance
- ai: optional sqlite-vec ANN index for vector search (256305f)
- analysis: batch per-period churn queries in getGraphTimeline into one git call (a3f846b)
- analysis: cross-call cache for buildFileGraph + edge bottlenecks (5f43b89)
- analytics: replace tool_calls JOIN sessions with IN-subquery filter (f76afa6)
- complexity: strip strings/comments once per symbol, not twice (106dc58)
- context: hoist repeated graph/file loads in context assembly (42d5d33)
- daemon: grace-TTL release of idle project stores + idle heartbeat backoff (9a3a3f4)
- db: add hot-path indexes idx_symbols_parent/exported, idx_edges_resolved (schema v30) (cc49d47)
- indexer: bulk-create symbol nodes per file batch (2N->1 statements) (dbba80b)
- indexer: evict per-batch file content cache to bound in-process RSS (405f3ae)
- memory: batch decision-verification blob reads via git cat-file --batch (a079eac)
- memory: dedupe getStats() on the wake-up hot path (02972d7)
- memory: memoize git subprocess spawns in decision verification (28ba56c)
- scoring: avoid expensive filtered COUNT in PageRank cache-hit check (7d0e751)
- topology: memoize endpoint-path normalization in linkClientCallsToEndpoints (cd3a756)
- topology: O(N^2)->O(N) cross-service edges; fix FK-safe repo removal (c0140da)
Refactoring
- api: split ask-sessions-routes dispatcher into per-route handlers (a166ca7)
- api: split memory-routes dispatcher into per-route handlers (60bafa9)
- eval: extract main() helpers in calibrate-health-metrics (F -> D) (fe62553)
- indexer: extract FileCollector from IndexingPipeline.collectFiles (9fc7bb2)
- indexer: extract RenameDetector from IndexingPipeline.detectRenames (2c72d9a)
- lsp: extract ensureFileOpen/enrichSymbol from enrichLanguage (cyclomatic 11 -> 6) (5337939)
- lsp: extract logging/drain helpers from flushInternal (cyclomatic 10 -> 5) (17a158b)
- lsp: extract resolveServers helpers in config.ts (cyclomatic 19 -> 1) (693a22d)
- memory: extract MemoOperations from DecisionStore god-class (1ce07d2)
- memory: extract MutationOperations (write-path) from DecisionStore (5af82ad)
- memory: extract QueryOperations (read-path) from DecisionStore (478f91b)
- memory: extract ReviewOperations from DecisionStore (c88242f)
- memory: extract SchedulerState + Consolidation ops from DecisionStore (b68847f)
- memory: extract SessionOperations from DecisionStore (7eca034)
- python: decompose PythonLanguagePlugin.extractClass into helpers (class cyclomatic 153 to 66) (3562333)
- server: decompose installToolGate into tool-gate-helpers (cyclomatic 154 to 26) (634078e)
- subproject: extract contract resolution and source-service lookup in manager (4f0a28e)
- subproject: extract rename detection out of diffSchemas (1e1feb5)
- subproject: extract URL resolution and dedupe line-counting in scanner (61268b5)
- subproject: split per-repo search logic out of subprojectSearch (1690413)
- tools: extract get_context_bundle + get_feature_context into navigation/context-tools.ts (b64478f)
- tools: extract get_task_context into navigation/task-context-tools.ts (89a2f4f)
- tools: extract point-lookup tools into navigation/lookup-tools.ts (b79a318)
- tools: extract search + suggest_queries into navigation/search-tools.ts (ddc7cf8)
- tools: hoist memo helpers out of registerMemoryTools closure (b2cd23b)
- tools: reduce registerNavigationTools to thin orchestrator (cyclomatic 183 -> 1) (bc292c7)
- topology: decompose TopologyStore god-class into per-entity modules (125 -> 49) (f2b3221)
Documentation
- fix CLAUDE.md/AGENTS.md drift (dead path, false-positive tool refs, oversized section) (40a1b90)
- reflect shipped gap-closures + adversarial validation findings (4ae193b)
- refresh competitor comparison (June 2026) + new entrants (cc5c332)
Tests
- ai: add AnthropicProvider unit tests (b3152a8)
- ai: add ask-shared.ts unit tests (resolveProvider, gatherContext, factories) (35b1838)
- ai: add GeminiProvider unit tests (4827f32)
- ai: add OnnxProvider unit tests (842501d)
- ai: add OpenAIProvider unit tests (e6fbe6a)
- api: characterize ask-sessions-routes HTTP contract before split (0c6afe3)
- cli: add behavioral coverage for clients and check commands (cdf04e8)
- cli: add behavioral coverage for consent, bundles, status commands (41fc3d6)
- cli: add behavioral coverage for preflight, prune, remove commands (78d8b87)
- codemod: add CI smoke test for @ast-grep/napi native binding resolution (a7980ab)
- eval: widen MRR baseline tolerance to dataset granularity (3479053)
- iac: adversarial hardening for K8s/Kustomize/compose edge cases (a0682a6)
- lsp: add unit tests for LspBridge orchestrator (8f9482f)
- lsp: add unit tests for LspClient JSON-RPC transport (0617a15)
- lsp: add unit tests for LspEnrichmentPass (392386c)
- lsp: add unit tests for LspServerManager lifecycle (9666574)
- lsp: add unit tests for symbol <-> LSP position mappers (30e89ba)
- memory: adversarial supersession non-triggers (Task 11) (e3ace69)
- memory: end-to-end heat-decay ranking with real timestamps (Task 11) (cdc3e15)
- memory: end-to-end staleness scenarios (file deletion, in-place edit) (6dce0c8)
- memory: progressive-disclosure error handling + content-leak hardening (Task 12) (5c8f198)
- memory: query_decisions hybrid retrieval wiring at the tool-handler level (Task 9) (54d2a8a)
- refactor: fix extract_function preview fixture to a genuine single-return case (cc799cc)
- refactor: fix legacy zero-match assertion missed by the targeted re-run (4268172)
- subproject: add behavioral coverage for subproject-helpers.ts (5462d6a)
Chores
- ai: remove 5 unused retrieval-mode result interfaces (541b9fb)
- deps: bump hono 4.12.27 + js-yaml 4.3.0 via pnpm.overrides (security) (9d26f76)
- deps: declare vite >=8.0.16 override (fs.deny bypass + launch-editor NTLMv2 advisories) (f348a80)
- deps: override esbuild >=0.28.1 (fixes dev-server arbitrary file read on Windows) (51f1446)
- deps: override undici >=7.28.0 (fixes SOCKS5 proxy pool cross-origin + TLS bypass advisories) (14bcdd5)
- deps: tighten protobufjs override to >=8.6.0 (fixes unknown-field memory amplification + property-shadowing advisories) (d44aaba)
- lsp: remove TextDocumentPositionParams — orphaned by prior removal (3472c41)
- plugin: sync manifest versions to 1.43.4 (956902b)
- release: 1.43.4 (4998247)
- remove 5 verified-dead leaf exports (f8066ac)
- remove confirmed-dead exports from fresh dead-code sweep (a862c06)
- remove dead extractCashierConfig cascade + WorkspaceResolver (b2e9375)
- remove verified dead code (4 symbols, confirmed via search_text) (dbcff51)
- ruby: remove confirmed-dead filePathToModule and isAllCaps helpers (cc9b90e)
CI/CD
- add informational-only quality-gates report job (a1b0f26)
1.43.3 (2026-06-27)
Bug Fixes
1.43.2 (2026-06-25)
Bug Fixes
- daemon: guard POST /api/projects against bare-container roots (#209) (1e2b8e0)
- daemon: read-only local fallback — stop per-session full re-index (#209) (8c28b65)
CI/CD
- scorecard: tolerate transient publish-results timeout (#209) (d2f2a81)
- windows: drop node_modules cache on cross-platform job to fix realpath EPERM (#209) (3f9a5ad)
1.43.1 (2026-06-16)
Bug Fixes
- daemon: raise auto-spawn timeout 5s->20s to stop premature local fallback (#209) (6b3a43e)
- indexer: skip postprocess on unchanged full reindex (#209) (e108d4b)
1.43.0 (2026-06-15)
Features
- ai: harden summarizer against prompt injection + configurable request body (3f1f1dc)
- hooks: opt-in strict enforcement tier for the navigation guard (0c1ceec)
- indexer: first-class Astro (.astro) language support (25716b0)
- indexer: refine sensitive-file detection (basename + secret-store dirs) (8cc831d)
- lsp: wire C# into LSP enrichment (csharp-ls auto-detect) (2c80906)
- release: publish provenance + get_symbol git-HEAD verification (9a01450)
- tools: add check_edit_safe edit-safety preflight (3539b0b)
Bug Fixes
- daemon: bounded reinit-retry covers 'Session expired' session loss (#209) (3c23576)
- daemon: don't auto-register a bare parent dir that only contains projects (#209) (f7e228f)
- daemon: keep /health responsive during warm-up; log shutdown reason (4da4beb)
- daemon: proxy transparently re-initializes after daemon restart (#209) (1d8d791)
- daemon: rotate daemon.log from inside the running daemon (#209) (fa4f93a)
- deps: regenerate pnpm-lock.yaml after dependabot group merges (3ab0ece)
- server: process-wide safety net so one stray error doesn't drop the session (bdc6b33)
- types: resolve 3 navigation type errors incl. a latent freshness bug (29b7bb6)
- watcher: stop indexing runtime churn; harden initial indexing; rotate daemon.log (a603bde)
- windows: green the nightly cross-platform job (f441b1d)
Performance
- indexer: defer full edge resolution to a coalesced reconcile; flag overlapping roots (76f2f1c)
- local-backend: seed session DBs from the shared index; sweep SIGKILL orphans (fb033ec)
1.42.0 (2026-06-08)
Features
Bug Fixes
- daemon: respect explicit opt-out so removed daemon stays gone (#202) (1aca174)
- quality: exclude .env* files from code-smell scanning (3be2c25)
- registry: doctor reports registry/DB integrity, prune removes stale rows (#168) (b6550ce)
- topology: make subproject client-call scan async to unblock the event loop (e9316ab), closes #198
Documentation
- config: add stdio vs HTTP setup guide for per-repo and team use (ba80138)
- project-model: document one-project-per-session model + serve-http log (#199) (14bb2ca)
1.41.3 (2026-06-01)
Bug Fixes
- fastapi: compose cross-file include_router(prefix=...) mount prefixes (1287418)
1.41.2 (2026-06-01)
Bug Fixes
- config: index Python source under app/ and flat layouts by default (08cd008)
- fastapi: compose APIRouter(prefix=...) into route URIs (7c5ab83)
- fastapi: resolve Depends(dep) to a symbol-level edge in pass 2 (aa471b2)
- impact: bound get_change_impact output for high-fan-in symbols (e49a743)
- indexer: discover nested subproject files per detected workspace (b9e4731)
- init: comprehensive default config for non-framework / container roots (7e40276)
- laravel: compose group prefixes via a recursive route walk (c97f7c4)
- laravel: extract closure and inline-chained routes (dd3c5dd)
- model: populate get_model_context for Python SQLModel/Pydantic models (ecc17fb)
- monorepo: detect implicit workspaces under a non-workspace root manifest (8bd3339)
- python: resolve Celery task.delay()/.apply_async() to the task function (81fbcbc)
- python: resolve type annotations to symbol-level references edges (04ff4a6)
- topology: apply Laravel /api prefix for standalone-indexed services too (fbd9f39)
- topology: don't register Laravel nova-components as separate services (e305715)
- topology: exclude intra-repo calls from the cross-project graph (60b1d8a)
- topology: exclude Vue Router page routes from cross-service endpoints (ddb9736)
- topology: scan Nuxt $api plugin clients and dynamic API paths (2810515)
- topology: serve Laravel routes/api.php endpoints under /api (38eae10)
- topology: skip backend declaration/view/admin files in client scan (92193a9)
Tests
- eval: skip eval-cli smoke runs when the global index is transiently unavailable (38fb1d7)
- isolation: redirect global home to a temp dir so tests can't pollute ~/.trace-mcp (9809296)
- topology: cover /api prefix for repo-relative routes/api.php (06a40b0)
1.41.1 (2026-05-29)
⚠ BREAKING CHANGES
- app: remove desktop app from core repo (phase E)
Tests
- remove orphaned app tests from core (source moved to app repo) (b910850)
Chores
1.41.0 (2026-05-29)
Features
- app: Activity P2 — keyboard nav, baseline deltas, sparkline zoom, file deep-links (a0de7b7)
- install: fetch desktop app from dedicated public dist repo (phase C) (c1bbf4d)
Bug Fixes
- app: add ErrorBoundary so one tab crash no longer blanks the whole window (90961d8)
- app: stop Activity feed crashing react-dom via nested <button> (38d893f)
Refactoring
- install: make app distribution repo configurable (split prep, phase A) (6bee11b)
Tests
- exclude packages/app from core test runner (app moved to own repo) (da28bdc)
1.40.0 (2026-05-28)
Features
- app: advanced Activity tab — Tool/AI sub-tabs, search, filters, sessions (17f4d11)
- lsp: background enricher for incremental LSP edge upgrades (a74b6c1)
Bug Fixes
- app: exclude test files from renderer typecheck (77e38d7)
- cli: install menu bar app under --yes / --json / --dry-run (6384b7c)
- indexer,analysis: suppress phantom SCCs from type-only imports & projected edges (62e88d7)
- intelligence: 14 correctness/UX/storage fixes across the trace-mcp surface (79963a1)
- updater: locate installed .app by bundle id instead of guessing ~/Applications (#179) (06b8e04)
Performance
- indexer: default incremental indexFiles to postprocess=minimal (0576a0a)
- indexer: gate watcher reindexes through dedup + emit watcher telemetry (b3e1352)
Refactoring
- break 2 small import cycles via shared-module extraction (7bb8d00)
- break 7 small import cycles + fix latent DTS issues exposed (86d26ca)
Documentation
- landing: drop Benchmark section, fix install steps, fix copy button (a72cf27)
Chores
- deps: bump qs and protobufjs to patched versions (270f73d)
Build
- ESM + DTS both clean (86d26ca)
1.39.4 (2026-05-25)
Bug Fixes
- app: stop in-app updater from looping on npm-only outcomes (#173) (ae0b9ef)
- db: use ON CONFLICT DO UPDATE in insertSymbol to keep parent_id FKs valid (fd63f52)
- env: unify .env secrecy model + provenance gate for tool-managed files (#172) (8572741)
Documentation
- toon: standardize TOON description wording and document allowlist (4a3a46f)
CI/CD
- add pr-comment workflow that posts impact-report from CI artifact (bdc24b9)
1.39.3 (2026-05-24)
Bug Fixes
- app: keep guard mode popover above sibling project rows (f537eef)
- daemon: self-heal stale registry + actionable MCP errors (#168) (8094400)
Documentation
1.39.2 (2026-05-18)
Features
- memory: extend incremental cursor to provider (Hermes) mining (7f4231a)
- memory: per-service wake-up scoping + scheduler_state table (4def231)
- memory: persist scheduler state across daemon restarts + prune memo auto-trigger map (fecd2d9)
Bug Fixes
- daemon,app: break post-update restart loop (4583ab8)
Chores
- release as 1.39.2 (506bbc1)
1.39.1 (2026-05-18)
Features
- daemon: background memory scheduler (P1.3) — auto mine + cluster + memo (8eda0ba)
- memory: auto-regenerate memo on write + auto-tune weights in scheduler (f4c471d)
- memory: close P1.1/P1.2/P2.3/P2.4 close-out TODOs (decoration + retention + cursor knob) (b4b0665)
- memory: confidence-weight learning from review feedback (P2.5) (4d4b5b1)
- memory: export_decisions tool + CLI + optional audit log (e20ae6f)
Bug Fixes
- install: plist v3 — both generators use launcher shim + post-kickstart health probe (f7e5073)
Chores
- errors: silence tsup "err/ok never used" warning via type-only import (94242ba)
1.39.0 (2026-05-18)
Features
- ai: auto-rebuild embedding index on provider/model mismatch (427ec4e)
- ai: wire P0.1 auto-rebuild into embed_repo, pipeline, verify_index (30f516b)
- memory: add LLM-driven extraction strategy to mine_sessions (3a44a47)
- memory: hard recall timeout for wake_up / query_decisions / feature_context (d6115b8)
- memory: incremental cursor for session mining (28c9d3c)
- memory: LLM-driven semantic dedup via consolidate_decisions tool (fd50305)
- memory: project memo (L3 orientation digest) — synthesis + tools + wake-up integration (1ac7e5e)
- memory: wire decision clusters MCP tools + wake-up topics (bad337b)
- wake_up: split response into stable+dynamic regions for prompt-cache friendliness (926aaa0)
Bug Fixes
- app: Electron auto-update also refreshes the npm CLI (f73055b)
- ci: apply-pending-update strips inherited NO_POSTINSTALL + README count (1607a03)
- config: allow "_warnings" in tools.meta_fields enum (b9990e4)
- hooks,evidence,gate: P3 meta cleanup — coach allowlist, verdict split, visible clamps (9ed8a2a)
- install: postinstall enables + bootstraps plist on first install (b2b2113)
- memory: defensive access to memory.recall config in tool handlers (c38b9e4)
- navigation,memory,analysis: P2 UX/correctness pass on intel surface (475c285)
- quality,refactoring,analysis: P1 false-positive + silent-empty pass (53e55b7)
- refactoring: P0 safety + correctness pass on apply/plan tools (005fd64)
- test: embed-repo fake VectorStore must mirror to symbol_embeddings + re-enable in CI (5cb9ffb)
Chores
- gitignore: ignore .claw/, daemon*.log, run-benchmark.ts (developer-local debris) (2fc9779)
1.38.0 (2026-05-17)
Features
- daemon: memory diagnostics endpoint + AI cancellation + multisink resilience + LocalBackend re-entry guard (e8f4116)
Bug Fixes
- ai: commit missing src/ai/abort.ts referenced by anthropic/gemini providers (49922e4)
- app: launcher-shim binary resolution instead of PATH-only
which(db52e74) - ci: postinstall test inherits workflow opt-out env + verbose reporter (dc42b46)
- daemon: preserve error.message + .codeName when logging failures (edaa124)
- indexer: cap extract-worker crash loop with backoff + dedup (fad5bf2)
- indexer: release tree-sitter Tree WASM heap via tree.delete() in every parse path (0a85793)
- install: self-healing postinstall writes launcher.env + plist (3761619)
- logger: atomic-rename rotation that survives multi-GB log files (b4d1499)
- test: updater.test.ts must also clear TRACE_MCP_NO_AUTO_UPDATE in CI (20c5683)
- test: updater.test.ts must bypass isDevCheckout like rollback suite (d4cc672)
- updater: atomic backup + rollback for ENOTEMPTY retry path (38115e7)
Documentation
- decision-memory: document live-capture, review queue, and privacy filter (aa02099)
Tests
- tools: behavioural coverage for dead-exports, untested-exports, and decision-graph tools (ebb888c)
- tools: behavioural coverage for misc + framework-aware tools (61e94a4)
- tools: behavioural coverage for planning, intent, and batch tools (88682ba)
CI/CD
- bisect: also exclude src/telemetry/tests/** — suspect OtlpSink (5823b76)
- bump cache key to v2 to invalidate poisoned node_modules (4b6be53)
- diag: add [FILE END] marker to surface the actually-hung file (39bf4e7)
- diag: file-start reporter to identify CI hang culprit (c6c0c3a)
- drop --ignore-scripts from build install so native bindings compile (28e4a76)
- drop sharding for 1.38.0 release — reliable single-job test run (6366c58)
- exclude embed-repo behavioural test (pinpointed hang via FILE END diag) (1c4ac23)
- exclude fixture + xml-plugin test files (1.38 release unblocker) (7d00584)
- exclude integration + daemon test dirs (bisect for CI hang) (d9b529b)
- exclude tests/perf/** from per-commit shards (bbc45e0)
- exclude toon-drift + debounce-abort tests — bisection landed (50cc141)
- shard tests + share build artifact + safety-net timeouts (<3 min target) (92fdd11)
1.37.0 (2026-05-15)
Features
- tools: toon output format for tabular MCP responses (30-60% fewer tokens) (2e359ba)
Bug Fixes
- analysis: restore findDuplicateSymbols helper that check_duplication relied on (8d49139)
- benchmark: honest synthetic-estimator labelling + tokenizer calibration + multi-sample variance (279f619)
- daemon: cap remaining unbounded long-lived caches and stores (f7b7044)
- daemon: plug FileWatcher re-entry leak + pass_cache TTL + progress-throttle pruning (cc4f155)
- daemon: restore /mcp routing for stdio clients + scope teardown to removed projects (4a708a2)
- db: add v11 domain tables to fresh-DB DDL (12e4e05)
- db: mirror remaining v11+ migration tables in fresh-DB DDL + parity guard (c0c052d)
- intent: add missing domains JOINs in getCrossDomainDependencies (b39b5b3)
- pipeline: bound per-project resource accumulation across project lifecycle (61fcd70)
- scoring: drop stale-prone in-process cache from ranking_pins lookups (d5de560)
- telemetry: bound OTLP/Langfuse sink memory under unreachable export endpoint (20397a4)
- test: bump bundles searchBundles limit-case timeout to 30s (06e0df5)
- tools: invert source/target check in get_cross_workspace_impact (5597781)
- topology: apply contractType filter to endpoints in get_api_contract (db91b91)
- topology: replace stale fr.* alias with sp.* in client-call queries (f304139)
Tests
- tools: behavioural coverage for api-contract and service tools (f8c8872)
- tools: behavioural coverage for compare and suggest tools (61b07cf)
- tools: behavioural coverage for context and complexity tools (8334270)
- tools: behavioural coverage for corpus and packaging tools (c23eb2d)
- tools: behavioural coverage for cross-domain and edge tools (7557689)
- tools: behavioural coverage for decision lifecycle tools (fd102ae)
- tools: behavioural coverage for graph-traversal and analysis tools (1ca1b1a)
- tools: behavioural coverage for graph/relationship tools (ac22e25)
- tools: behavioural coverage for health and risk tools (acfb835)
- tools: behavioural coverage for history and coupling tools (30b46fa)
- tools: behavioural coverage for index, embedding, and perf tools (330a20c)
- tools: behavioural coverage for ownership and tech-debt tools (0ce20be)
- tools: behavioural coverage for quality and security tools (9987aed)
- tools: behavioural coverage for quality/coverage tools (d6d6d26)
- tools: behavioural coverage for refactoring tools (347d107)
- tools: behavioural coverage for security and refactor tools (68d6171)
- tools: behavioural coverage for session and analytics tools (fdc0288)
- tools: behavioural coverage for session and analytics tools (a1d87ba)
- tools: behavioural coverage for snapshot and maintenance tools (eb949d7)
- tools: behavioural coverage for subproject and api-surface tools (83c3300)
- tools: behavioural coverage for trend and visualization tools (2fcae49)
- tools: behavioural coverage for workspace and architecture tools (8496a18)
- tools: behavioural test coverage for search/get_outline/find_usages/get_change_impact/pin/query_decisions (2379ed1)
- tools: skip discover_claude_sessions fixture on Windows (6ea757e)
1.36.1 (2026-05-14)
Bug Fixes
- daemon: auto-recover from FK-violating stale data on initial index (ea8b7a6)
- daemon: require explicit ?project= when multiple projects registered (58e25a2)
- indexer: density-based binary detection in isBinaryBuffer (df7b3d8)
- retrieval: search_with_mode passes both
textandqueryfields (6abaea5) - test: bump cli-smoke DB-schema test timeout to 30s for Windows runners (539ae09)
- test: skip eval-run smoke cases when project is not indexed (039aced)
- test: widen XML perf guard threshold from 500ms to 1500ms (ddb5d84)
Documentation
- release 1.36.0 consistency fixes (a604678)
- tools: align check_claudemd_drift return shape with auditConfig (af2f7e4)
Tests
- db: pin ranking_pins/pass_cache in fresh-DB schema guard (10b8e82)
- integration: smoke-test eval CLI list/run/baseline (ab5bebf)
- smoke: MCP-tools end-to-end smoke script for new session tools (3a362d8)
1.36.0 (2026-05-13)
Features
- app: insights tab surfacing drift, pagerank, and risk hotspots (b080e2d)
- app: notebook scratchpad tab for ad-hoc tool queries (7eedb15)
- daemon: pipeline-lifecycle SSE events + Electron consumer (dcff9f3)
- eval: code-intelligence benchmark harness with CLI subcommand (64bca2a)
- memory: remember_decision MCP tool for live agent writes (11fd07c)
- pipeline: composable Task DAG with idempotency keys (c33a4ba)
- pipeline: persisted task-cache via SQLite pass_cache table (266bbfd)
- presets: decision-memory quartet on minimal + standard (f384672)
- quality: CLAUDE.md drift detection + check_claudemd_drift tool (faf5d07)
- retrieval: BaseRetriever protocol foundation with 2 adapters (d0d9f0c)
- retrieval: emit routing telemetry from feeling_lucky retriever (e79b5bf)
- retrieval: graph_completion retriever — vector hit + 1-hop expansion (3fcaab1)
- retrieval: named search-mode taxonomy + search_with_mode MCP tool (a8250e1)
- scoring: ranking pins — user-supplied importance weights for PageRank (704d66c)
- telemetry: observability bridge with OTLP and Langfuse sinks (bae0fb2)
Bug Fixes
- ci: normalize CRLF in DaemonEvent union guardrail for Windows runners (71815ce)
- ci: unbreak notebook test under frozen-lockfile + register project before eval indexing (7522bc8)
- telemetry: wire observability bridge into server bootstrap + ship local OTLP recipe (e03d75b)
Performance
- indexer: Phase 4+5+7 — incremental edges, cold-start, telemetry (8a1ed45)
Refactoring
- indexer: migrate 3 pipeline passes onto Task DAG (c4a6afb)
- retrieval: migrate search MCP tool onto BaseRetriever (61b9663)
- retrieval: migrate search_text, search_bundles, search_sessions onto BaseRetriever (8da5ab9)
Tests
- daemon: pipeline-lifecycle SSE integration test + drift firewall (0976c38)
- quality: cover dead_skill_ref and dead_command_ref drift categories (e46d0a8)
CI/CD
- eval: baseline-regression check + GitHub workflow (d902af6)
1.35.1 (2026-05-11)
Bug Fixes
- daemon: normalize reindex paths to POSIX so Windows tests + cross-path dedup work (7f61983)
Performance
- indexer: daemon-first reindex, AI-call coalescing, shared/warm worker pool, content-hash gate (dfd8e4f)
1.35.0 (2026-05-10)
Features
- app: four new tabs — Activity, Memory, Ask v2, Dashboard (acdd9a5)
- app: four tabs v2 — stats, write actions, slash-commands, real metrics (42857d1)
- memory: lifecycle hooks, branch-aware decisions, stats modal, filter bar, recall harness (62d010a)
- memory: tiered retrieval modes + decision confidence/review queue (eb58bc0)
Bug Fixes
- server: keep stdin in Buffer mode — setEncoding crashes MCP SDK (bbfb7bb)
1.34.2 (2026-05-10)
Bug Fixes
- ci: pin npm publish back to npx npm@11 — pnpm provenance flow broken (a052a62)
1.34.1 (2026-05-10)
Bug Fixes
- release: sync Claude Code plugin manifests with package.json on bump (404c4bd)
1.34.0 (2026-05-10)
Features
- ai: classified provider errors + retry helper with exp backoff (9d0f513)
- ai: consent gate for outbound LLM provider traffic (6ec8630)
- ai: detect local LLM endpoints (Ollama / LM Studio / llama.cpp) (be6075e)
- ai: one-shot stderr warning before cloud-bound embeddings (2753856)
- ai: per-provider quota / auth circuit-breaker (c82fea1)
- ai: stamp embedding provider on the index, refuse cross-provider mix (1ee2a11)
- ai: tier-router helper + tier-separated default models (d0e2848)
- analysis: rank cross-community edges by surprise score (9c184f5)
- communities: seed Leiden PRNG so community IDs are deterministic (8dff326)
- communities: split low-cohesion mega-clusters in a second Leiden pass (3fa7078)
- config: add TRACE_MCP_DATA_DIR + TRACE_MCP_REPO_ROOT env overrides (f326a81)
- daemon: add stdio handshake watchdog (f0d82ea)
- daemon: proxy-backend routes worktree paths to canonical indexed repo (2b22c11)
- db: verify_index + repair_index MCP tools (f66fe32)
- dead-code: drop framework entry points from the candidate set (25a7825)
- dead-code: seed reachability with package.json#exports entries (da7c69d)
- find_usages: drop text_matched edges into ambiguously-named targets (1407af2)
- graph: add float edge confidence on top of resolution_tier (92d7190)
- hooks: guard v0.9 — block bare directory walks + .md doc-tour hint (45a9be2)
- impact,refs: surface resolution_tier on find_usages and get_change_impact (4eff222)
- indexer: add postprocess level knob (full / minimal / none) (cab7e90)
- indexer: detect file renames by content hash and skip re-extraction (46ca974)
- indexer: force-include files declared as package.json entry points (83cada2)
- indexer: per-target PID-guard for reindex / embed_repo (656efe4)
- indexer: warn when a full reindex shrinks the graph by more than half (eb43ee9)
- insights: add generate_insights_report MCP tool (50a4820)
- memory: canonicalise decision file_path to repo-relative on store + query (8d4cdfd)
- memory: CorpusBuilder — materialise corpora via packContext (5e34f59)
- memory: CorpusStore — persistent code-context corpora on disk (6425e26)
- memory: privacy filter for mine_sessions strips internal payloads (1134509)
- memory: worktree adoption — mine_sessions files decisions under parent (9d9b836)
- perf: cooperative yield from heavy CPU loops to keep stdio responsive (6f40b78)
- plugin-api: support async extractNodes in framework plugins (1b6095e)
- plugin: add Claude Code plugin manifest for one-step install (b1f3719)
- plugins: add class-validator, passport, react-table; expand NestJS WS (50c17ec)
- plugins: add Kafka producer/consumer indexer (Spring, kafkajs, Python) (6c80def)
- plugins: index .luau (Roblox Lua) and .qmd (Quarto) files (ccc9c2d)
- plugins: index extensionless scripts via #! shebang fallback (39abbfd)
- registry: add git-worktree probe primitives (a7d489c)
- registry: worktree-aware project resolution (9f4bda3)
- security: add SSRF guard utility for outbound fetches (c8204c5)
- security: add wall-clock budget to searchText regex iteration (b651b90)
- security: extend git env hardening to predictive + impact paths (848c23a)
- security: harden git env in workspace-spawned commands (124bdd0)
- server: expose project state through six MCP resources (59b4267)
- server: sanitize MCP tool output against prompt injection (4331183)
- server: UTF-8 + stdout-guard hardening for the MCP stdio transport (2fa4a4d)
- session: Codex CLI session provider for mine_sessions / discover (207152d)
- shared: centralised path accessors + invariant test (3a32cc8)
- spring: enrich @Autowired/constructor metadata with call-site hints (469534e)
- ssrf-guard: add allowPrivateNetworks opt-in for local LLM endpoints (46ac4d3)
- subproject: add a remote repo as a subproject in one shot via git_url (dd440bc)
- tools: add detail_level=minimal knob on search/get_outline/find_usages (b5af6ef)
- tools: add get_minimal_context — single-call orientation entrypoint (b02a2a1)
- tools: add get_suggested_questions for ranked review checklists (c6090c3)
- tools: add named graph snapshots + diff for tracking evolution (22d6e4b)
- tools: add traverse_graph BFS walker with token budget (7485574)
- tools: coerce empty-string MCP args to undefined for filter fields (0357e7c)
- tools: export the dependency graph as GraphML / Cypher / Obsidian (6c72ff1)
- tools: Knowledge Agent MCP surface — build/list/query/delete corpus (3401e9d)
- topology: cross-project topic tunnels via entity registry (7360aee)
- utils: atomicWriteJson helper + apply at all state-file write sites (470b83f)
- viz: community-aggregation helper for large-graph visualisation (0c36fb3)
- vscode-extension: on-save reindex extension (45d53a1)
Bug Fixes
- ai: classify caller-driven aborts in withRetry as kind=aborted (c01a854)
- app: declare @types/node directly so tsc -p tsconfig.main.json works under pnpm (49e5502)
- config: atomic write for global JSONC config mutations (d22be14)
- daemon: atomic write for PID file + atomic stale-lock takeover (5c0f5ea)
- daemon: identity-token PID-reuse guard for daemon lifecycle (e948a22)
- db: bound WAL growth and add periodic checkpoint to long-lived stores (68b4157)
- db: centralise symbols_fts DDL so repair-fts cannot drift from schema (89a1bea)
- dead-code: never flag symbols that have any incoming call/ref edge (a3fc0e0)
- git-worktree: use fs.realpathSync.native for Win32 8.3-shortname normalisation (b3d5f41)
- indexer: normalize relTarget separators when resolving import edges (fc28bfb)
- indexer: parse tsconfig.json as JSONC to recover path aliases (3ac3cd9)
- indexer: serialize register_edit and reindex through the same lock (918921f)
- indexer: suppress shrinkWarning + execFileSync for git rev-parse (5f0cbf1)
- navigation: explicit degradation signal for semantic search without AI (6bbeb53)
- pin zod to 4.3.6 via pnpm.overrides (4.4.x breaks dist/cli.js) (4cf12c7)
- refactoring: normalize result paths to forward slashes for cross-platform consistency (848f668)
- resolver: parse tsconfig.json as JSONC, not strict JSON (5cadb07)
- security: chmod 0700 on ~/.trace-mcp and 0600 on local SQLite stores (0c0fac2)
- security: keep hook source lookup inside the trace-mcp install tree (32bcda7)
- security: validate git refs and replace shell-mode execSync with execFileSync (3b08ed0)
- security: validate git_ref before passing to git --branch in subproject_add_repo (e197184)
- security: wire SSRF guard into AI provider fetches and git-clone path (b7fb294)
- ssrf-guard: import LookupAddress from node:dns instead of node:dns/promises (8f1e184)
Documentation
- bump headline figures to 99% and refresh hero copy (43d12e0)
- confidence: clarify trigger contract + add SQL-level regression tests (f4a85bd)
- readme: add CI status badge (33169e4)
- update contributor instructions for pnpm (3a4344a)
Tests
- ci: align test-side realpath with production native binding (782097b)
- ci: fix 7 baseline Windows-only failures (path separators + 8.3 names) (82ab7eb)
- cover remaining Windows-runner failures from cross-platform CI (086aedd)
- cover the long-tail Windows-runner failures from cross-platform CI (6075495)
- docs: regression test for numeric README claims + sync stale numbers (1b18d46)
- impact,refs: cover resolution_tier surfacing (4915eb1)
- markdown: include .qmd in supportedExtensions assertion (a38c18a)
- perf: de-flake batched-inserts benchmark across CI runners (c9f8988)
- perf: re-deflake batched-inserts benchmark — loosen to regression guard (d524b1e)
- perf: skip batched-inserts benchmark on Windows runner (a434dcf)
- security: cover hook-source path-traversal validators (d414327)
- security: make path expectations Windows-safe (61e3345)
Chores
- app: migrate packages/app from npm to pnpm (3d75a19)
- migrate root package manager from npm to pnpm (d36486c)
- security: drop unused restrictHomeDirPerms helper (4b5b827)
- wip: version-stamp init helper + daemon session change (cd45cde)
CI/CD
- also run on push to master (c2382ca)
- switch CI install path to pnpm + add cross-platform test matrix (6bc2f7a)
1.33.0 (2026-04-30)
Features
- app: Sprint 1B — per-project guard mode toggle on the project list (20c1fd4)
- app: Sprint 2 — onboarding, coach default, version contract, uninstall (39b262f)
- guard: add manual bypass + auto-degradation for unresponsive MCP (4709803)
- guard: Sprint 1A — rich status sentinel + hook v0.8 (modes + stall detection) (c857cab)
- guard: v0.9 — doc-tour hint for .md reads in source dirs + deny ls on source paths (465dd50)
- plugins: add Anthropic (Python + npm) and react-router coverage (104c47a)
- retrieval: output-token efficiency phases 1-5 (3120c6a)
Bug Fixes
- app: open Request links in default browser via shell.openExternal (dad18cf)
- app: show "Restart to install" after npm-install update (ed82585)
- guard: close retry-bypass loophole, add heartbeat fallback (9741210)
Documentation
- landing: tighten hero CTA, add trust line, reword metrics (decdf45)
Chores
- guard: cross-platform hook resolution + Sprint 2 cleanups (937621a)
1.32.7 (2026-04-29)
Features
- app: MCP Clients screen — show "Update" when on-disk entry drifted (eab5423)
- init: generic per-client config status +
trace-mcp clients status(ecee7e7)
Bug Fixes
- daemon: keep registered projects on graceful shutdown (fb40795)
- landing: tighten hero, lift red CTA above the fold, move metrics to proof strip (6255652)
- mcp: keep trace-mcp tools eager in Claude Code via alwaysLoad (1e739ce)
Chores
- release 1.32.7 (128a6cc)
1.32.6 (2026-04-29)
Bug Fixes
- app: augment PATH + prefer existing node version for in-app updates (5452d11)
1.32.5 (2026-04-28)
Bug Fixes
- daemon: auto-register project on first MCP connect (ac112c6)
1.32.4 (2026-04-28)
Bug Fixes
- cli: import detectGuardHook + detectProject + missing types in init (e293a78)
1.32.3 (2026-04-28)
Bug Fixes
- cli: import detectMcpClients in init command (cd4871f)
- install: drop simple-git-hooks from postinstall (c3286d7)
1.32.2 (2026-04-28)
Bug Fixes
1.32.1 (2026-04-28)
Bug Fixes
Chores
- landing: bump 'up to 97%' to 'up to 99%' in remaining copy (0fc5534)
1.32.0 (2026-04-28)
Features
- docs: full SEO meta, favicon set from electron tray icon, PWA manifest (7217e11)
- homepage: mobile above-the-fold CTA, trust badges, red primary CTA (8b6a897)
- init: add AMP, Warp, Factory Droid MCP clients (#111) (9235afb)
- recomputation narrative + knowledge-graph markdown indexing (#112) (b68f61f)
Bug Fixes
- homepage: eliminate horizontal scroll on mobile (c97eab0)
- landing: collapse hero to single column on mobile (af7bb71)
- landing: mobile hero — make 40–50% the lead metric with a value-prop label (589393f)
- landing: mobile hero — promote 99% as the single hero metric (3a6475a)
- landing: mobile overflow on use cases grid and install terminal (bb588cd)
- landing: split 'up to' off the giant Doto numeral on mobile (fbce556)
- merge: drop duplicate imports + restore missing path import (#113) (d06e42d)
Documentation
- homepage: restructure around "code intelligence layer for AI agents" positioning (a99118d)
- landing: drop pilot CTAs, send users straight to install/repo (6c44b7c)
- positioning: reframe as optimization layer for LLM apps, honest token numbers (3b552c3)
- readme: add Star History chart (614cf32)
Chores
- ci: hold off on electron major bumps (861c75a)
- ci: hold off on vite + plugin-react major bumps in app (02cafac)
- ci: hold off on web-tree-sitter minor/major bumps (45b303f)
- ci: ignore major bumps for @types/node (20702a3)
- ci: include chore/ci/build in release-please changelog (135e1ce)
- deps: bump typescript to 6.0.3 (root + app) (#103) (836d4cf)
- deps: bump zod from 3.24 to 4.3.6 (#105) (3e774ac)
- security: bump electron to 41.3.0, drop stale pnpm-lock (#109) (4b45f87)
- tooling: introduce Biome as formatter (root) (#110) (7149fa5)
CI/CD
- release: sign Electron release artifacts with SLSA provenance (#108) (1ac88ec)
- security: add CodeQL, Semgrep, OSSF Scorecard, Dependabot (f252ce2)
- security: pin all GitHub Actions by SHA, add top-level read perms (71253c0)
1.31.0 (2026-04-24)
Features
- init: Hermes Agent as a supported MCP client (a8a19ef)
- session-providers: Hermes Agent session provider + SessionProvider interface (b44edbc)
Bug Fixes
- updater: skip auto-update in dev checkouts (a439fb6)
Refactoring
- init: extract shared md-block helper from claude-md.ts (869f42f)
Documentation
- benchmark: update with v1.30 results (92.8% reduction) (15ea976)
1.30.0 (2026-04-23)
Features
- ai: add Vertex AI and Voyage providers, retrieval task hint (c566738)
- analysis: symbol-level bottlenecks + Stress Test hotspots UI (1ea7b7a)
- plugins: add aws-s3 / supabase / sortable, Laravel sub-plugins, expanded coverage (9586790)
Bug Fixes
- code-smells: skip markdown and other non-code files (1199783)
- darwin: prime amfid for prebuilt native modules (f78e838)
Refactoring
- plugin-api: add PluginRegistry.createWithDefaults factory (e8964ac)
Documentation
- plan: session-providers implementation plan (f6b4d0a)
1.29.0 (2026-04-22)
Features
- analysis: edge bottlenecks + app Quality tab + bottleneck graph overlay (872d535)
- plugins: add ioredis, jose, nodemailer, redis-py, gunicorn, uvicorn plugins (522c43c)
- plugins: expand php-ecosystem coverage to 12 more packages (d87e621)
- quality: add debug-artifact smell, size/complexity antipatterns, AST clone detector (c05ac2b)
- server: add tools.agent_behavior config for discipline rules (8984118)
- subproject: cross-service endpoint literal scan + Nuxt/httpx/aiohttp/urllib (21537e0)
Bug Fixes
- ai: stamp embedding model+dim and reindex on mismatch (2f2d923)
- app: harden pending-update lifecycle (cd998d3)
- env-indexer: strip */.env patterns from fast-glob ignore list (d057ffe)
- hooks: exempt .env.example/.env.sample templates from guard (217e9ec)
Documentation
- add Max-tier agent behavior, app gallery, and refreshed comparisons (10f29b7)
1.28.0 (2026-04-21)
Features
- plugins: add Python ecosystem integration plugins (741b092)
Bug Fixes
- indexer: resolve asset imports and TS re-exports across the graph (6f76025)
Performance
- app: custom FPS overlay + disable halo to lift graph FPS (3fa4038)
- app: re-enable GPU compositing for graph explorer (6633456)
- app: upgrade cosmos.gl to 3.0 beta and rework label placement (601e069)
1.27.0 (2026-04-20)
Features
- app: open selected graph node in installed IDE (4ca5e22)
Bug Fixes
- app: robust Update button with scratch cleanup, --force, and visible errors (9028793)
- build: bundle deps via createRequire to survive spaced install paths (65e9f3f)
- postinstall: match new release asset naming (-arm64-mac.zip / -mac.zip) (27200ba)
- updater: pre-clean scratch dirs and back off on repeated failures (b7a647c)
1.26.0 (2026-04-20)
Features
- ai: per-capability gates and empty-string config hygiene (ad7f5e8)
- app: Ollama control panel in Settings (2e5d374)
- app: tinted edge colors and camera-interaction lock in graph explorer (7ca42db)
- init: stable launcher shim for MCP registration (1b6eb25)
Bug Fixes
- app: capture streaming buffer before setState in AskTab (558ebc7)
- daemon: launchd bootstrap/kickstart + startup health wait (c78115a)
- db: idempotent file upsert via ON CONFLICT (1440d9f)
- init: drop stale {{tool_name}} template and clean up legacy hooks (250d586)
Documentation
- add dark-mode graph screenshot and refresh app images (e3ab628)
Tests
- launcher: accept either probe failure on CI (d83d14c)
1.25.0 (2026-04-18)
Features
- app: graph explorer expansion and renderer UI polish (c763318)
- app: hardened staged auto-update with SHA-256 + Gatekeeper (757061a)
- daemon: unified lifecycle, idle auto-exit, and subdir→parent routing (317a792)
- indexer: isolate workspaces in framework and file-projection edges (1021f5b)
- viz: derive community labels from dominant path prefix (b676c17)
Performance
- indexer: parallel file extraction via worker pool (a8f886d)
Documentation
- README refresh, desktop app section, comparisons page (a725773)
1.24.0 (2026-04-17)
Features
- add landing page for trace-mcp.com (a515c6c)
- ai: track AI request activity + rename ollama default model (259afe4)
- app: GPU-accelerated graph explorer (cosmos.gl) (3ce00e2)
- blade: extract script src asset references (e250acc)
- daemon: unified stdio session with proxy⇄full auto-switching (52d5392)
- indexer: phantom externals + file-level projection + TS call/type edges (69ce68e)
- js-viz (Chart.js/vue-chartjs/marked) + php-ecosystem (symfony-dom-crawler/google-apiclient/laravel-ai) plugins (cb61078)
- landing: add ASK/GET examples, cross-language edge diagram, FAQ, use cases (a5418c5)
- laravel: medialibrary + eloquent-sortable + composer Package Discovery (35cb8b8)
- nextjs: file-based entry point edges for App/Pages Router + metadata (deca9b4)
- Nuxt 3/4 entry points, custom prefix parsing, improved detection (a475856)
- nuxt: middleware/layout/plugin/route auto-registration edges (8401327)
- PHP call graph resolver — symbol-level calls/heritage edges (653818f)
- PHP property and constant access edge resolution (8f4f66f)
- PHP type-aware call resolution + class references (f114291)
- scan Blade templates for PHP function calls + workspace-aware resolution (928fec1)
- structural member_of edges + class-fallback for unresolved methods (6ff4e88)
- Vue dynamic component references via TS/JS/Vue content scanning (fcb8112)
- vue: Laravel Nova + Blade component entry points, SSR marker (33e5f55)
Bug Fixes
- db: schema v20 backfills seed edge types on existing DBs (a1a5e6f)
- eliminate client call scanner false positives (7248443)
- init: detect running Claude Desktop to avoid config overwrite (6d02023)
- landing: dynamic version from npm registry + terminal whitespace (1b0911f)
- landing: improve readability — body text uses primary, headings beefed up (0470041)
- make dir argument optional in index command, default to cwd (cd7ee1e)
- self-first endpoint matching for client calls (227d59d)
- strict project_group isolation — ungrouped services no longer leak (5d828ee)
- workspace assignment on fast path + broader default include patterns (65d7433)
- workspace naming, parent DB route fallback, and client_calls FK migration (42517e0)
Refactoring
- community labels show dominant dir, pack-context models/feature-scope use FTS (a9d089e)
- redesign landing page in Nothing design system (4f4bda1)
1.23.1 (2026-04-15)
Bug Fixes
- app: remove unused trace-mcp runtime dependency (7ac57c7)
1.23.0 (2026-04-15)
Features
- add Anthropic, Gemini, and OpenAI-compatible AI providers (960eb13)
- add PHP import edge resolver for use statement resolution (836d10a)
- add service group management UI and API (4646230)
- app: add model-select and multiselect controls for AI settings (25bb2bf)
Bug Fixes
- add workspace isolation to PHP import resolver (5c8d9cf)
- isolate cross-service endpoint matching by project_group (0630908)
- prevent topology contract duplication, false endpoints, and stale edges (79f2ad1)
Tests
- add tests for topology fixes and PHP import resolver (11a4ddb)
1.22.0 (2026-04-15)
Features
- add MCP ToolAnnotations to all tools for Glama TDQS scoring (5be916b)
- add security context export for MCP server analysis (7b685c4)
- add stdio proxy mode and lifecycle management (722579e)
- redesign AskTab with provider setup CTA and settings deep-linking (d55226e)
Bug Fixes
- add pre-flight check in GraphExplorer to prevent raw error display (eb1e06b)
- match LICENSE text to SPDX Elastic-2.0 canonical template (717951d)
- move frameRequested declaration before first use in visualize (ee86d7b)
- remove extra text from LICENSE for exact SPDX template match (6b0a6e0)
- split license into standard ELv2 + ethical addendum (0a9ccd3)
- unset ELECTRON_RUN_AS_NODE in electron dev script (1c2c21c)
- use valid SPDX license identifier for Elastic-2.0 (11e128b)
Documentation
- add usage guidelines and output format to all tool descriptions (2b544a5)
1.21.2 (2026-04-14)
Bug Fixes
- ci: pass --repo to gh commands in release notes step (8b1b9a1)
1.21.1 (2026-04-14)
Bug Fixes
- sync lock file and make serve the default command (0e2dd5a)
1.21.0 (2026-04-14)
Features
- ai: add streaming inference and ask command with code context (d96fe86)
- analytics: expand known-packages catalog with deprecation tracking (538e479)
- app: add Windows platform support with custom tab bar and installer (5ff2bda)
- app: extract daemon-lifecycle module and auto-start daemon from tray (a255a6e)
- lang: add 10 new language plugins (Ada, Apex, D, Nim, Pascal, PL/SQL, PowerShell, Solidity, Tcl, VHDL) (42dca87)
- lang: enhance regex-base with scope tracking, doc comments, and multi-line signatures (1c6b6ae)
- lang: improve regex-based plugins for Clojure, COBOL, Common Lisp, and 7 others (354023b)
- rename "federation" to "subproject" across entire codebase (a8ec5ab)
- server: add compact_schemas option to reduce tool schema token overhead (b9f98ac)
[Unreleased]
Breaking Changes
- rename: "federation" → "subproject" — The concept formerly called "federation" is now "subproject". A subproject is any working repository that is part of your project's ecosystem: microservices, frontends, backends, shared libraries, CLI tools, etc. This affects:
- CLI:
trace-mcp federation→trace-mcp subproject(aliassub) - MCP tools:
get_federation_graph→get_subproject_graph,get_federation_impact→get_subproject_impact,federation_add_repo→subproject_add_repo,federation_sync→subproject_sync,get_federation_clients→get_subproject_clients,visualize_federation→visualize_subproject_topology - Config:
topology.auto_federation→topology.auto_discover - REST API:
/api/projects/federation→/api/projects/subprojects - DB table:
federated_repos→subprojects(auto-migrated) - Source directory:
src/federation/→src/subproject/
- CLI:
1.20.1 (2026-04-13)
Bug Fixes
- resolve SQLite migration crashes and daemon PATH for launchd (33ea80a)
1.20.0 (2026-04-13)
Features
Bug Fixes
- align get_tests_for with graph test_covers edges (#56) (1cfde2e)
- exclude CLI entry points from get_dead_exports false positives (#53) (3abf971)
- resolve method calls on parameter-annotated instances (#54) (46c3cbe)
1.19.0 (2026-04-12)
Features
- add decision memory system for cross-session knowledge (292a824)
- add Filament and Electron framework plugins (dbf16fa)
- add move, change-signature, and plan-refactoring tools (5e2f4ae)
- add technology coverage, service management, and UI improvements (56817aa)
- scope federations to projects with auto-discovery (ca430c6)
Bug Fixes
- update tool registrations and fix visualize test assertions (6d59011)
Documentation
- update documentation for refactoring tools and decision memory (423675d)
1.18.0 (2026-04-12)
Features
- pin app to macOS Dock after install (85b2b63)
Bug Fixes
- include assets and icon in electron-builder package files (ace9a85)
1.17.0 (2026-04-12)
Features
- default to max enforcement level, add install-app CLI command with retry (f156305)
Bug Fixes
- handle nullable topoStore in visualize tool (e955361)
1.16.1 (2026-04-12)
Bug Fixes
1.16.0 (2026-04-12)
Features
- add CORS headers to HTTP server for Electron renderer (9a39031)
Bug Fixes
- exclude vendor dirs from graph visualization and clear state on error (73e46ef)
- simplify artifact upload glob and remove redundant arch from yml (01a2660)
1.15.2 (2026-04-12)
Bug Fixes
- correct electron-builder artifact glob for macOS zip upload (1c92616)
1.15.1 (2026-04-12)
Bug Fixes
- consolidate electron-builder config to prevent asar packaging failure (02dfb8f)
1.15.0 (2026-04-12)
Features
- add --granularity, --symbol-kinds, --hide-isolated flags to CLI visualize (ec71946)
- async DB + pytest integration plugins (48e0ab9)
- clean topology data (federation, services) on project removal (9fffa26)
- daemon mode — multi-project serve-http with REST API, SSE events, and stdio daemon awareness (9900500)
- Electron app — auto-updater, GPU crash recovery, file browser, federation panel (95b6c79)
- Electron app — redesigned icons, settings UI overhaul, clients tab, graph explorer improvements (9232066)
- federated graph visualization, session landmarks, daemon client naming (c88a257)
- get_untested_symbols tool + per-symbol test reach in change impact (7cb554c)
- graph visualization — light/dark theming, minimap, BFS highlight depth (2f3bbc0)
- implicit workspace detection + per-workspace framework plugin activation (6129f59)
- LSP enrichment — 4-tier edge resolution confidence, schema v19, SQLite batch chunking (acf0ec4)
- menu bar app — Electron tray app, installer, init wizard integration, CI release workflow (63bda06)
- Next.js plugin — optional catch-all routes, 2-level intercepting routes, route segment config, use client/cache directives (8b39280)
- Next.js plugin — src/ prefix support, new file conventions (forbidden, unauthorized, metadata, instrumentation, proxy) (e623fd1)
- ONNX local embeddings + Signal Fusion search — zero-config semantic search with multi-channel WRR ranking (b0ce8e3)
- post-update migrations — auto-migrate hooks, config, CLAUDE.md, and reindex after version change (aba1f9c)
- Python language support — edge resolvers, CFG patterns, visibility, docstrings (23953ed)
- symbol-level graph, isolated-node filter, monorepo federation fix (8f3e55b)
- workspace-aware module resolution + config exclude normalization (0376ae1)
Bug Fixes
- replace dynamic await import() with static http import in postinstall-app.mjs (67330b9)
- set renders_component edge type category to 'nuxt' in NuxtPlugin (967c613)
- visualize_graph file mode now seeds by symbol nodes, collapses to file edges (e36e321)
Performance
- eliminate redundant queries in graph visualization (b4d7dfa)
Refactoring
- extract setupProject, add REST API endpoints, consolidate CI (3b6c23f)
- extract shared resolveSymbolInput utility, improve tool robustness (3fa2e0c)
Documentation
- update README, CLAUDE.md, configuration, and MCP instructions for LSP, ONNX, Signal Fusion, untested symbols (5ed61af)
1.14.1 (2026-04-09)
Refactoring
- Improve project root detection logic (03ba367)
1.14.0 (2026-04-09)
Features
- add workspace/monorepo fallback with deep glob patterns when root has no direct source files (c62d89c)
Bug Fixes
- use result.isErr() instead of result.ok for neverthrow Result check (62edec8)
1.13.0 (2026-04-09)
Features
- add auto-updater with configurable check interval (b26c851)
- add budget defaults, improve analytics and tool-gate (ea48038)
- add confidence levels and methodology disclosure to analytical tools (dc6a9d8)
- add discover_claude_sessions for multi-project federation (4bde3fe)
- add git worktree support, visualize CLI command, and auto-update serve flow (de755c3)
- add pack-context strategies (core_first, compact) and budget reporting (e539609)
- add plan_turn opening-move router with insertion-point suggestions (9ee62bf)
- add semantic search modes, LRU result cache, and embed_repo tool (b4002c2)
- add skills directory with trace-mcp usage guides (ef37023)
- enrich empty-result evidence with isolation verdict and relation tool suggestions (726e6a8)
- refactor Dart plugin and improve CSS/JSON/YAML/Python/Kotlin language plugins (e19c338)
- refactor federation manager into focused modules (1d29a02)
- upgrade hooks to v0.6.0 with per-session repeat-read dedup (8675b60)
Bug Fixes
- remove DENY_MARKER cycle from guard hook, write initial state on first deny (1f96374)
- swap stat order in file_mtime to prevent multi-line output on Linux (c5f6416)
Refactoring
- remove file-watcher module (dfe1e0d)
Documentation
- update README with new tools and feature highlights (7106537)
1.12.0 (2026-04-07)
Features
- add configurable file logging with rotation (3215186)
- add decorator/annotation extraction and filtering (c0f6646)
- add Laravel Horizon, Cashier, Scout, and Socialite plugins (24089c0)
- add Tailwind CSS integration plugin (bbbb2bb)
- expand project root markers, add progress tables, improve evidence (d6c77db)
Documentation
- update README comparison table for accuracy (aff2dd6)
1.11.0 (2026-04-07)
Features
- add recursive multi-project technology coverage detection (606d753)
Refactoring
- Improve project root detection logic (38d31e6)
1.10.0 (2026-04-07)
Features
- add CI project-aware reports with domain, ownership, and deployment analysis (54a2efa)
Refactoring
- extract federation manager helper methods (e3739a2)
- extract indexer pipeline and file-persister helper methods (e064db3)
Tests
- add topology DB and contract parser tests (c791bcc)
1.9.0 (2026-04-07)
Features
- add advanced .traceignore (2f2e5b5)
- add federation schema diffing, contract versioning, and federated search (e43e590)
- add Junie, JetBrains AI Assistant, and Codex MCP client support (c25aa38)
- add server PID tracking, improved status output, and tweakcc integration (a7ec015)
- migrate 16 language plugins from regex to tree-sitter (3616b2d)
Refactoring
- extract Laravel edge resolvers into sub-modules (ca88696)
Documentation
- strengthen apply_codemod enforcement rule in CLAUDE.md (bd4e571)
- update benchmarks to 11 categories and refresh tool counts to 120+ (e2aa5cb)
Tests
- add server tool-gate, explored-tracker, and consultation-markers tests (703ef1b)
1.8.0 (2026-04-07)
Features
- add JSONC-safe config read/write with migration support (7ee246b)
Performance
- optimize context bundle token efficiency (53a5d38)
1.7.0 (2026-04-07)
Features
- add benchmark scenarios for find_usages, context_bundle, type_hierarchy, tests_for (d2a85d5)
- add indexing progress tracking with CLI status/remove commands (ca1b539)
- block Agent(Explore) subagents in guard hook v0.5.0 (8796857)
- seed JSONC config template with all parameters on first run (5cb13fb)
- support async extractSymbols in LanguagePlugin interface (3a92d9e)
Bug Fixes
- align benchmark SQL with normalized edge_types table (2c7e472)
- correct TypeScript typing in hook entry filter callback (47b4159)
- update prompt templates to match current API response shapes (9e8cea2)
Documentation
- add tweakcc system prompt routing guide (a5633c8)
- expand CLAUDE.md with Agent anti-pattern table and Read-before-Edit optimization (7e4f930)
1.6.1 (2026-04-06)
Bug Fixes
- deduplicate trigram batch by symbolId to prevent INSERT OR REPLACE conflicts (2fd4dfa)
- skip missing child directories in multi-root workspace builds (270f114)
- wrap CLI upgrade operations in try/catch for graceful error handling (a481bb5)
1.6.0 (2026-04-06)
Features
- add apply_codemod tool for bulk regex find-and-replace (eeed93b)
- add multi-root project support (858fc7f)
Refactoring
- migrate from native tree-sitter to web-tree-sitter WASM (3544f0b)
1.5.4 (2026-04-06)
Refactoring
- Update hook finding logic (7f5f4e5)
1.5.3 (2026-04-06)
Bug Fixes
- ci: use npx npm@11 for publish instead of global npm upgrade (4d82eb7)
1.5.2 (2026-04-06)
Bug Fixes
- ci: move TSUP_TARGET to job-level env and install latest npm for OIDC (b671be6)
1.5.1 (2026-04-06)
Bug Fixes
- ci: set node22 tsup target for npm OIDC publish compatibility (ebb45f7)
1.5.0 (2026-04-06)
Features
- add .traceignore support and shared ignore-pattern parser (0eae92d)
- add AI concurrency config, expand known packages, simplify CI (0025c57)
- add consultation markers, explored tracker, and guard hook v0.4.0 (eb87a86)
- add duplication checking guidance to tools and instructions (53779fd)
- add memory leak detector and inter-procedural taint analysis (aa752fd)
- add session dedup, resume, and adaptive token budget (628a6bc)
- add session snapshot, precompact hook, and worktree hooks (fd0a0f2)
- enhance init with competing tool cleanup and error handling (4f6aa4a)
Bug Fixes
- ci: improve risk scoring and split code/non-code file sections (2325f82)
- ci: use last release tag as base for impact report (e9d12bf)
- improve dead export detection accuracy (e4d8728)
- store original export names in import specifiers across all languages (4d92110)
Refactoring
- extract pipeline file persistence and edge resolution (cf91a9f)
- extract server tool registration into modular register files (80baf81)
- extract shared test utilities into tests/test-utils.ts (13938c4)
- extract Store into repository pattern (0f43ee2)
- narrow export visibility and minor cleanups across codebase (fc79331)
- remove dead code and narrow export visibility (ff2c930)
- reorganize source tree into domain subdirectories (279f583)
Documentation
- add token reduction stat to README tagline (00dc91f)
- update README with comparison tables, benchmarks, and .traceignore (4b8d84a)
Tests
- add tests for init, runtime, tools, and AI pipeline (9219e2d)
- expand conflict-detector coverage with fixture-based tests (8db3009)
1.4.1 (2026-04-05)
Bug Fixes
- ci: upgrade to Node 24 and conditionally upgrade npm (d0484df)
1.4.0 (2026-04-05)
Features
- add token optimization guidance to server instructions and hints (7487bfc)
1.3.1 (2026-04-05)
Bug Fixes
- ci: restore npm upgrade for Trusted Publishing OIDC support (d4e1d92)
1.3.0 (2026-04-05)
Features
- add 10 integration plugins (mcp-sdk, raw-sql, commander, tree-sitter, etc.) (a89feef)
- enriched change impact with risk scoring, breaking changes, and diff-aware mode (511b474)
- reduce tool calls and token waste across 7 optimizations (24ff690)
- safer conflict resolution — comment-out instead of delete, scope to selected clients (8308564)
- scan .github/workflows in project context discovery (3411e8a)
- token efficiency improvements + .env security guard (1b22425)
- Windows support for guard and reindex hooks (edaaaf5)
Bug Fixes
- ci: bump Node from 20 to 22 to fix tsup DTS build (1ceb6d5)
1.2.2 (2026-04-05)
Bug Fixes
- ci: auto-trigger CI on release-please PR branches (caa4edf)
1.2.1 (2026-04-05)
Bug Fixes
- merge import specifiers on conflict instead of silently dropping (cd02674)
- restore parseError used by 20 language/integration plugins (579c1fa)
1.2.0 (2026-04-05)
Features
- add analytics system with benchmarks and session tracking (8a6650c)
- add bundle management, file watcher, and health check CLI (220bc9c)
- add claw-code MCP client support (0559ba8)
- add quality gates, taint analysis, and evidence tools (23bf3a2)
- integrate new features into server, CLI, and config (fbaf1d7)
Bug Fixes
- ci: support impact reports for release-please auto-PRs (1bd53ac)
Performance Improvements
- optimize indexer with concurrent extraction and FTS5 batch mode (c19273f)
1.1.0 (2026-04-05)
Features
- add code smells scanner, consolidate imports, improve tool routing docs (9a2b66e)
1.0.11 (2026-04-05)
Bug Fixes
- deps: suppress tree-sitter peer dependency warnings (0c5b030)
- server: remove duplicate plan_batch_change tool registration (0e1143d)
1.0.10 (2026-04-05)
Bug Fixes
- db: add missing workspace/is_cross_ws columns in migration v9 (8b263bd)
1.0.9 (2026-04-05)
Bug Fixes
- ci: upgrade npm for Trusted Publishing OIDC support (requires >=10.9.2) (21069cc)
1.0.8 (2026-04-05)
Bug Fixes
- ci: restore registry-url for npm OIDC auth (c2c66aa)
1.0.7 (2026-04-05)
Bug Fixes
- ci: remove registry-url to let npm use OIDC for Trusted Publishing (a361917)
1.0.6 (2026-04-05)
Bug Fixes
- ci: use npm Trusted Publishing (OIDC) instead of NPM_TOKEN (fe83e53)
1.0.5 (2026-04-05)
Bug Fixes
- ci: sync package-lock.json with fastest-levenshtein dependency (638e87a)
1.0.4 (2026-04-05)
Bug Fixes
- ci: add .npmrc with legacy-peer-deps for tree-sitter conflicts (bcf5c78)
1.0.3 (2026-04-05)
Bug Fixes
- ci: chain publish job to release-please via outputs (09c0be3)
1.0.2 (2026-04-05)
Bug Fixes
- ci: trigger publish on GitHub Release instead of tag push (90dfb5d)
1.0.1 (2026-04-05)
Bug Fixes
- fix allowList key casing in .clabot for cla-assistant (6ca67a9)
1.0.0 (2026-04-05)
⚠ BREAKING CHANGES
- get_task_context replaces manual chaining of search → get_symbol → get_context_bundle as the recommended workflow for AI agents starting work on a task. Server instructions updated to route agents to this tool first.
Features
- add 23 new analysis tools — control flow, dataflow, SBOM, security, co-changes, history (0ba05dc)
- add 24 new language plugins and improve existing parsers (c527bdd)
- add get_task_context — graph-aware context engine for AI agents (fb7594f)
- CI/PR change impact reports — blast radius, risk scores, test gaps (b88a2bf)
- doctor command, conflict detection, init improvements (ef57785)
- enhance existing tools — call-graph, components, events, flow, introspect, model (e68c344)
- federation system — cross-repo graph linking and fuzzy search (54e0008)
- PostToolUse auto-reindex hook + index-file command (dd31cc9)
- runtime improvements, session tracking, savings telemetry, prompt system (44e7cdf)
0.1.1 (2026-04-04)
Features
- 11 self-development MCP tools + TypeScript heritage graph + ESM import resolution (01b34d4)
- 15 new analysis tools — graph, git, complexity, dead code, rename safety (0e39503)
- 34 new language plugins + version feature detection (631f938)
- 5 new MCP tools + search async upgrade (e93c247)
- add monorepo support, external plugins, E2E tests (3e08490)
- add NestJS, Next.js, Express framework plugins (2d45fca)
- add optional AI semantic search (Ollama + vector store) (6088a0c)
- ai: OpenAI embedding provider (a880ad7)
- call graph tests, hybrid search tests, seed edge types fix, PageRank cache fix (6364f79)
- core infra — TS heritage extraction, store introspection, watcher debounce (44247f8)
- DB schema v12, BM25 tuning, pipeline batching, binary/gitignore filtering (7f203b9)
- expand MCP server — 30+ new tool registrations, improved descriptions (5c4778d)
- file watcher + hot-reload indexing in CLI (6037836)
- Gin, Echo, Angular, Svelte integration plugins (e7fb8f8)
- global config, project registry, CLI init/add/upgrade commands (dbfc4cf)
- Laravel sub-plugins, new tools, Expo Router, integration tests (6c10709)
- laravel: Filament v3 plugin — resources, panels, widgets, relation managers (8ecece4)
- laravel: Livewire v2/v3 plugin integration (dde7fb0)
- Mongoose, Sequelize, React Native plugins + 4 new tools (8571d81)
- Nova, Expo Router, find_references + integration tests (88a741c)
- organize integration plugins into category subdirectories (6e3e42f)
- perf optimizations, Java extends fix, new plugins (Go/Kotlin/Rails/Zod) (c07ed57)
- predictive intelligence, intent classification, runtime tracing, topology (0a9f9d9)
- Prisma, TypeORM, Drizzle, GraphQL plugins + ORM e2e tests (8e94a0a)
- Python ecosystem — Django, Flask, FastAPI, Celery, DRF, Pydantic, SQLAlchemy (acdcaf2)
- reorganize plugin system — versioned languages, categorized integrations (c7d60c6)
- security hardening, batch DB ops, dependency graph, dead export detection (6eda537)
- Spring/Rails plugins, platform-specific RN edges, expanded dynamic tool registration (96d543b)
- testing framework plugin + edge types for test coverage analysis (36271b9)
- tRPC, Fastify, Socket.io, Zustand, React plugins + Django registration + fixes (5988e93)
- wire EmbeddingPipeline into CLI serve command (4ecaa40)
- zustand/redux state tool, security utils, dead-exports/references/hierarchy tests (a3c0f5f)
Bug Fixes
- add missing handler/metadata fields to RouteRow and null-check file_id (4d942bf)
- align n8n plugin tests with current implementation (cda3915)
- Inertia edge resolution + integration tests exposing real bugs (c6fc041)
- Kotlin heritage regex + Go/n8n/tRPC improvements (a649977)
- ORM-specific edge type resolution in pipeline (62c7905)
0.1.0 — 2026-04-04
Added
- Core engine — TypeScript AST parser, dependency graph builder, SQLite-backed symbol store
- MCP server with 15+ tools:
search,get_symbol,get_call_graph,get_change_impact,find_usages,get_feature_context,get_tests_for,get_project_map, and more - CLI with
index,serve, andwatchcommands - File watcher — hot-reload indexing with debounce
Language plugins
- TypeScript/JavaScript — heritage extraction, ESM import resolution
- Python — Django, Flask, FastAPI, Celery, DRF, Pydantic, SQLAlchemy
- Go — version-aware feature detection
- Java — extends/implements extraction, Spring Boot plugin
- Kotlin — heritage regex, version features
- Ruby — Rails plugin, version features
- CSS — version feature detection
Framework & integration plugins
- Laravel — Livewire v2/v3, Filament v3, Nova, Blade, Inertia, sub-plugins
- Vue / Nuxt — component graph, Inertia edge resolution
- React / React Native — platform-specific edges, Expo Router
- Next.js / Express / NestJS / Fastify — route & middleware extraction
- tRPC / GraphQL / Socket.io — API edge types
- Prisma / TypeORM / Drizzle / Mongoose / Sequelize — ORM-specific edges
- Zustand / Redux — state management tool
- Zod — schema validation edges
- n8n — workflow plugin (25 tests)
- Testing frameworks — edge types for test coverage analysis
Infrastructure
- AI semantic search — Ollama + OpenAI embedding providers, vector store
- Security hardening — input validation, security utils
- Batch DB operations — optimized SQLite writes
- Monorepo support — workspace detection, cross-package edges
- External plugin system — dynamic tool registration
- Plugin reorganization — versioned languages, categorized integrations
Fixed
- Inertia edge resolution in integration tests
- Bootstrap routing path normalization
- ORM-specific edge type resolution in pipeline
- Kotlin heritage regex parsing
- Go/n8n/tRPC integration improvements
- Missing
handler/metadatafields inRouteRow+ null-checkfile_id - n8n plugin test alignment with implementation
- Seed edge types fix, PageRank cache fix
Changed
- Pipeline performance optimizations
- Deterministic watcher tests
- Search upgraded to async