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