Skip to content

v0.9.30

Latest

Choose a tag to compare

@safishamsi safishamsi released this 29 Jul 16:34

Fixes a fresh-install failure of the MCP server, plus node-id portability, cache, bedrock, and merge-graphs fixes.

Install

  • Pin mcp below 2.0 so a fresh graphifyy[mcp] / graphifyy[all] install works again (#2277, #2279, #2291). mcp 2.0.0 dropped the mcp.types.AnyUrl re-export and the Server decorator-registration API that graphify/serve.py uses, so an unpinned resolve broke graphify-mcp on every new install with an ImportError. The mcp and all extras now require mcp>=1,<2 (resolving to 1.29.0) and starlette>=1.3.1,<2. Porting to the mcp 2.x API is tracked in #2308.

Node-id portability

  • TypeScript .tsx files no longer leak absolute-path / machine-slug ids into edge endpoints (#2262). The symbol-resolution pass parsed .tsx with the plain TypeScript grammar; JSX misparsed, nested handlers floated to top level, and calls edges were emitted from an absolute-stem source with no node. .tsx now uses the TSX grammar, a calls edge is never emitted from an unowned source, and a general backstop canonicalizes any node-less absolute-derived endpoint.
  • A warm AST-cache hit after a corpus move or clone no longer replays node ids minted under the original root (#2257, thanks @Kaushik2003). Cached ids are stored root-relative and re-anchored on read.

Backends / graph ops

  • The Bedrock backend reads the first text block of a Converse response instead of block 0, so reasoning-capable models no longer parse to zero nodes (#2287, thanks @zhiyanliu).
  • The Bedrock backend honors GRAPHIFY_API_TIMEOUT and GRAPHIFY_MAX_RETRIES instead of botocore's silent 60s default (#2284, thanks @zhiyanliu).
  • merge-graphs preserves edge direction instead of rewiring import edges to the importing file (#2261, thanks @hopstreax).
  • The MCP server's multi-project graph-context cache is bounded (LRU, default 8 via GRAPHIFY_MAX_CONTEXTS) instead of growing unbounded (#2268, thanks @Kkartik14).