@marcusquinn made a great application request here. The Qdrant project has become increasingly useful for AI and a lot has happened since the initial request to make the project even better. Here is an ai generated summary:
Summary of New Features and Improvements in Qdrant from v1.1.0 to v1.15.5
Based on the changelog from this GitHub comparison, here's a categorized breakdown of the major updates. Early versions (1.1–1.2) laid the foundation with vector search and HNSW indexing, while later releases added scalability, hybrid search, and performance tweaks. This evolved Qdrant into a robust vector database for AI applications.
Vector Search and AI Features
Hybrid Search Support: Introduced sparse vectors alongside dense ones (e.g., BM25/TF-IDF generalization for keyword matching in transformer models, starting ~1.3–1.4).
Recommendation Strategies: New options like sum_scores for relevance feedback and server-side score boosting with custom formulas (v1.14.x).
Local BM25 Inference: Added built-in BM25 scoring (v1.15.x), cutting reliance on external models for text ranking.
Performance and Optimization
HNSW Graph Improvements: Incremental building on segment merges (v1.14.x), parallel batch searches, and memory optimizations.
Memory/Disk Management: Better disk cache eviction (v1.14.x), adjustable log buffers, and vector quantization reducing RAM usage by ~97% (since ~1.3).
SIMD Acceleration: x86-64 and Neon support for faster vector computations (ongoing from ~1.5).
Async I/O and WAL: Write-ahead logging for data durability and io_uring for max NAS throughput (major in 1.5–1.10).
Storage, Sharding, and Scalability
Distributed Deployment: Full horizontal scaling with sharding/replication and zero-downtime updates (matured in 1.10–1.15).
Mutable Map Index: Boosted performance for full-text, integer, and other indexes (v1.15.x).
On-Disk Storage: Dynamic on-disk vectors with cache controls (replaced deprecated mmap_threshold in 1.15.x).
Resharding/Recovery: Improved shard recovery against crashes and aborted resharding for dead replicas (v1.14.x).
Security and Access Control
JWT/Payload Filters: JWT for read-only access and payload-based filters (deprecated in 1.15; now collection-level ACLs).
Access Controls: Shift to secure, collection-based permissions (recommended since 1.15).
Web UI and User Experience
Enhancements: Query auto-completion (v1.14.x) and shard distribution in cluster views (v1.15.x). Debian packages now include web UI (v1.15.x).
Payload and Filtering
Advanced Filtering: JSON payloads, keyword/full-text matching, numerical/geo ranges, and complex conditions (e.g., should, must, must_not). Optimized query planning with payload indexes (steady improvements since ~1.2).
Bug Fixes and Consistency
Key fixes: Delayed flush wrappers prevent lost index updates (1.14.x); storage issues for nulls/booleans deferred until flush (1.15.x); linear decay range bounds corrections (1.15.x).
Others: Scroll locks, segment mods, date-time errors in formulas, and corrupt point eviction (across 1.14–1.15).
Deprecations and Removals
Removed init_from for consistency (use migrations/snapshots; 1.15.x).
Deprecated max_optimization_threads (1.15.x), Lock API, and payload-based JWT filters.
Deprecated mmap_threshold in favor of on_disk (1.15.x).
Overall, Qdrant went from basic vector search to an enterprise-grade tool emphasizing hybrid search, reliability, and AI integration. Full details in the GitHub link. Let me know if you want more on a specific version or category!