What's new
- Fix:
.tsxfiles now uselanguage_tsxgrammar for JSX-aware parsing -- previouslylanguage_typescriptwas used, silently dropping all JSX-specific nodes from.tsxfiles (#766) - Fix:
edgeskey in saved graph JSON now normalised tolinksbefore loading -- preventsKeyError: 'links'on graphs written by older NetworkX versions inquery,path,explain, and serve (#768) - Fix: Google Workspace
gws exportdrops unsupportedresourceKeyquery param -- Drive API requires it as an HTTP header; sending it as a query param was a silent no-op (#772) - Security: eleven hardening fixes -- Cypher escape strips C0 control chars and
\n/\r; YAML frontmatter escapes U+2028, U+2029, tabs, and C0; MCPsanitize_labelapplied to all LLM-derived fields; C preprocessor blocked from#includeexfiltration via-nostdinc -I /dev/null; merge-driver 50 MB file size cap and 100k node cap;detect_backend()places Ollama last so paid API keys take precedence over ambientOLLAMA_BASE_URL; Neo4j--passwordreads fromNEO4J_PASSWORDenv var by default; hooks exception handling narrowed to(configparser.Error, OSError) - Refactor: skill YAML descriptions rewritten to be trigger-oriented -- describe what invokes the skill rather than its internal pipeline (#774)
- Refactor: generated
CLAUDE.md/AGENTS.md/GEMINI.mdtemplates strengthened withALWAYS/NEVER/IF ... EXISTSgraph-first directives (#775)
Install / upgrade
pip install -U graphifyy