Change log
Features 🏎️
- #3477 - Implement and enable shard diff transfer, greatly improve shard transfer speed on node recovery
- #3777 - Role-based access control with JWT
- #3976, #4049, #4065 - Add support for byte vectors, represent your vectors as float32 or uint8
Improvements 🕵️
- #3420, #3938 - Greatly improve write performance while creating a snapshot of a large collection
- #3962, #3971 - Report pending optimizations awaiting an update operation in collection info
- #3998 - Improve
indexed_only
reliability on proxy shards - #3798 - Make shard diff transfer fall back to streaming records
- #3784 - Cancel shard transfers when the shard is deleted
- #4037 - Improve sparse vectors search performance by another 7%
- #3982 - Build Qdrant with a single codegen unit to allow better compile-time optimizations
- #4052 - Remove
vectors_count
from collection info because it is unreliable. Check usage of this field before upgrading - #3803 - Remove shard transfer method field from abort shard transfer operation
Bug fixes 💔
- #3990 - Fix potentially losing points on crash
- #4034 - Fix potentially losing points on segment flushing
- #4057 - Fix potentially losing points by improper moves between segments when recovering WAL
- #4058 - Fix segments not being flushed properly with rapid sequential optimizations
- #3995, #3996 - Fix read ordering of segments to prevent missing points just being moved
- #3975 - Fix consensus operations getting stuck if they timed out
- #3905 - Fix collection creation if files were left behind on disk
- #4029 - Fix collection deletions conflicting with concurrent collection creation
- #3991 - Fix arbitrary path traversal when uploading snapshots with created collection names
- #4033 - Do not allow symlinks in snapshot archives
- #4047 - Fix recommendation API for sparse vectors
- #3965 - Fix discovery search with sparse vectors over gRPC
- #3928 - Stabilize vector normalization, prevent renormalizing multiple times breaking data consistency
- #4054 - Fix incorrect ordering when using order_by across multiple nodes
- #4067 - Fix timeout being ignored when dropping segment data, potentially leaving them behind forever
- #3980 - Internally forward operations with
wait=true
during shard transfers - #3945 - Keep jemalloc only for amd64 and aarch64 to fix build failures
Dashboard 🍱
- qdrant/qdrant-web-ui#175 - Add page to generate RBAC JWT tokens
- qdrant/qdrant-web-ui#169 - Before saving payload changes, ask for confirmation with dialog showing diff
- qdrant/qdrant-web-ui#173 - Validate collection names
- Other changes
Thanks to @abhishek818 @RPallas92 @tellet-q @xzfc @ffuugoo @IvanPleshkov @agourlay @coszio @generall @timvisee for their contributions!