v1.0.2
Parallelized parsing with ColBERT and BM25 embeddings
What's Changed
We have parallelized the parsing process and packaged the entire parsing into one sub package for parsing.So the old create_graph_rs Rust module has been replaced with a new app/src/parsing/ module with ColBERT/BM25 hybrid vector indexing via Qdrant for superior code search quality.
Core Infrastructure
- New Parsing module (app/src/parsing/): Complete rewrite with tree-sitter for multi-language support, 800+ lines of tag extraction, and Python bindings via PyO3. Moved parsing queries to the new module structure.
- Qdrant Hybrid Search: Added dense (ColBERT) + sparse (BM25) vector indexing to the code graph pipeline. Non-fatal indexing failures don't block graph creation. Includes deletion handling on project cleanup.
- Qdrant configuration: Added Qdrant configuration support (host, port, gRPC port, API key, HTTPS) alongside existing Neo4j config.
Multimodal & Conversation Improvements
- Attachment Handling: Extended conversation creation to accept attachment_ids. First-message attachments are now stored in Redis and applied retroactively if the client redirects without re-sending them.
- Document Attachments: Multimodal processing now handles both images and documents (AttachmentType.DOCUMENT), not just images.
- Agent Updates: Added update_agent endpoint to conversation controller for dynamic agent switching.
PR's merged
- mode switch backend API added with update in DB by @shmbhvi101 in #728
- Fix rust build for docker by @Dsantra92 in #744
- fix(auth): send Slack alerts for email/password signups by @yashkrishan in #747
- unbound local error while parsing using priority 3 github token by @BrhKmr23 in #748
- Add faster parsing + colbert embeddings by @Dsantra92 in #746
New Contributors
Full Changelog: v1.0.1...1.0.2