This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+9 more
Summary
AI summaryAdded analyzeOutgoingImpact, symbolExists, and renderArchitecture tools; fixed Cartographer rebuild deadlock.
Full changelog
Highlights
analyzeOutgoingImpact— new MCP/CLI tool answering "what does this symbol call?" (mirror ofanalyzeImpact). Backed by LIP v2.3.5'squery_outgoing_impactand folded through the sameImpactItempipeline as the incoming side. Degrades cleanly when LIP isn't running.symbolExists— exact-match boolean oracle returning{exists, kind, location?}. Built for LLMs to ground references before citing them, without a 20-resultsearchSymbolsround-trip.renderArchitecture— MCP tool that returns the project's module-level import graph as Mermaid or Graphviz DOT. Decorated with cycle pivots (red), layer violations (dashed), and hotspots (orange).- Cartographer fully synced to upstream 3.0.0 — doc-node graph support, LIP-style
Range/at_rangeonGraphEdge, diagram overlays. Newscripts/sync-cartographer.shfor future syncs; no local patches needed against upstream. - LIP tier-1 callers fold into
analyzeImpact— whenscip-goemits noCallroles (e.g. Go method dispatch), tier-1 tree-sitter callers from LIP are merged into the same direct/transitive lists as SCIP's results, deduplicated by(file, name). Risk score now picks up semantic-coupling signals via the same enricher pipeline. analyzeImpactrisk weighted by bridge centrality — changes on critical architectural paths (high betweenness) now report higher risk than same-shape changes in leaf modules. Multiplier capped at 2.0; surfaces as a newbridge_centralityinformational factor. Requires-tags cartographer.register_project_rooton LIP handshake — Engine now registers the repo root with LIP at startup, matching the v2.3.1 contract. Eliminates URI-shape drift that previously caused tier-1 callers to dedup incorrectly against SCIP.
Fixed
- Vendored Cartographer
rebuild_graphdeadlock —ApiState::rebuild_graphheld themapped_filesMutex across a re-entrant call intoresolve_import_target, deadlocking any project with a resolvable import. Fixed in-tree and contributed back upstream. - Tree-sitter symbol collisions at link time —
libcartographer.apreviously exported its bundled tree-sitter runtime, colliding withgo-tree-sitter(ld: 246 duplicate symbols).make build-cartographernow post-processes the archive to localizets_*/tree_sitter_*while keepingcartographer_*FFI exports global. localize-tree-sitter-symbols.shdropped grammar C parsers —ar xsilently clobbered same-named members across grammar crates. Now feeds the archive directly told -rso every member gets pulled in.
Full Changelog
See CHANGELOG.md for the complete entry.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About SimplyLiz/CodeMCP
Code intelligence MCP server with 80+ tools for semantic code search, impact analysis, call graphs, ownership detection, and architectural understanding. Supports Go, TypeScript, Python, Rust, Java via SCIP indexing.
Related context
Beta — feedback welcome: [email protected]