v1.7.0
Change log
Features 馃
- #2796, #3124 - Add support for sparse vectors, also supporting SPLADE and BM25 datasets (docs)
- #2790 - Add discovery search, explore and discover vectors in a defined context (docs)
- #2807 - Add user defined sharding, partition data with a custom sharding distribution (docs)
- #2432 - Add shard snapshot transfer, fast transfer of shards using snapshots including their index and quantized data (docs)
- #3079 - Add Manhattan distance metric
- #2979 - Add support for read-only API key (docs)
Improvements 馃寣
- #2869 - Improve quality of HNSW index building on high CPU systems
- #2768 - Add index for geo map payloads to improve search performance
- #3013, #3026, #2942, #3103, #3054 - Improve stability of consensus on big high load clusters
- #2931 - Improve search tail latencies with many parallel searches on high CPU systems
- #2748, #2771 - Allow to configure the timeout for searches
- #3067 - Improve group by performance by fetching vectors only once
- #3076 - Improve group by performance by handling
with_payloads
more efficiently - #2803 - Improve performance for empty match-any filters
- #3088 - Randomize shard placement to roughly get an even spread across all peers
- #3155 - Make
indexed_only
more lenient - #3084 - Improve
/readyz
health check, only mark as ready when started node has caught up - #2855 - Add support for using API key with HTTP Bearer authentication
- #2848 - Expose update rate limiter parameter in configuration
- #3169 - Show actual bind address instead of localhost for Web UI in greeting message
- #2846 - Clean up recovered snapshots from an URL instead of leaving them behind
- #3036 - Clean up old RocksDB files more often to save disk space
- #3054 - Improve WAL performance by implementing a faster checksum algorithm
Bug fixes 馃
- #2933, #3039 - Fix potential divide by zero panic in numeric and geo index
- #2888 - Fix panic if gRPC request has multiple validation errors
- #3034 - Fix overvalidation on vector names in internal requests
- #2904 - Fix
best_score
formula with just negative examples - #2927 - Fix duplicate numeric index entry for empty payload
- #2969 - Fix potentially syncing local consensus state when there are still pending commits
- #2895 - Fix custom TLS certificate not working when recovering snapshots from URL
- #3093 - Fix panic when loading from RocksDB with corrupted tail
- #3105 - Fix hard error for missing column family not found when flushing data
- #3156 - Fix shard transfers potentially starting too early
- #2960 - Fix potential memory overallocation in vector storage
- #3079 - Fix binary quantization for euclidean distance
- #2864 - Fix bad recall performance on payload indexes
- #3174 - Fix response codes being too strict, breaking snapshot creation in Python client
- #3073 - Fix
NO_COLOR
not having an effect on output logs - #3086 - Fix migration from local to distributed on systems with 1 or 2 CPU cores
- #2921 - Fix storage and snapshot directory permission errors with Qdrant Docker image
Deprecation 馃
- #2785 - Mark point, vector and index counts as approximate, we may eventually remove these
Dashboard 馃嵄
- qdrant/qdrant-web-ui#110, qdrant/qdrant-web-ui#116, qdrant/qdrant-web-ui#118, qdrant/qdrant-web-ui#121 - Add interactive tutorial
- qdrant/qdrant-web-ui#123 - Add command palette
- qdrant/qdrant-web-ui#107 - Download/upload snapshots with API key
- Other changes
Thanks to @kaancfidan @keremnc @ava57r @Apmats @julianbraha @golangboy @ilkecan @ologbonowiwi @russcam @dzhao @joein @ffuugoo @IvanPleshkov @agourlay @coszio @timvisee for their contributions!