Highlights
- Performance: Parallel flushing, asynchronous MCP handlers and periodic file flushing enhance data handling speed.
- Reliability: Improved data reliability through enhanced flushing mechanisms.
- Efficiency: Optimised data management with parallelisation of key operations.
- Architecture: Introduction of asynchronous MCP handlers for improved responsiveness.
What's New
- Validate LLM-generated Cypher queries against destructive keywords with regex word boundaries
- Block comment-based injection bypasses (
LOAD/**/CSV,LOAD //\nCSV) - Flush graph nodes and relationships in parallel using a thread pool with per-thread connections
- Run all MCP handlers async via
asyncio.to_threadto prevent event loop stalls - Batch Qdrant upserts (default 50) with retry and exponential backoff
- Clean up Qdrant embeddings when deleting a project
- Reconcile expected vs stored embedding IDs after indexing and log any gaps
- Protect the database connection with
threading.Lockand serialize MCP writes withasyncio.Lock - Add validated config settings for retry counts, batch sizes, flush intervals, and thread pool size
- Add 72 new tests for Cypher validation, vector store operations, reconciliation, and MCP helpers
Full Changelog: v0.0.99...v0.0.100
What's Changed
- perf: add parallel flushing, async MCP handlers, periodic file flush, and data reliability by @vitali87 in #389
Full Changelog: v0.0.99...v0.0.100