Releases: qdrant/qdrant
Releases · qdrant/qdrant
v1.13.4
Change log
Improvements
- #5967 - Set maximum number of points in a collection with strict mode
Bug fixes
v1.13.3
Change log
Improvements
- #5903 - Enable consensus compaction by default, enables fast peer joining and recovery
- #5956, #5962 - Delete old point versions on update, prevent old points showing up in reads
- #5870 - Don't include unversioned points in reads, don't include partially persisted points in searches
- #5871 - Don't include unversioned points in writes, don't use partially persisted points in updates
- #5904, #5916, #5950 - Pass peer/bootstrap URI with environment variables, support simpler cluster setups
- #5728 - Improve consensus loop, prevent excessive Raft elections
- #5946 - Normalize URL paths in REST API
- #5917 - Add HTTP Retry-After header in REST response if rate limiter is exhausted
- #5915 - Simplify locks in RocksDB buffer wrapper, use single long rather than two
- #5942 - Add default log format property to configuration file
- #5906 - Update roadmap for 2025
Bug fixes
- #5938 - Fix panic when building of memory mapped sparse vector storage was interrupted
- #5877 - Rate limit prefetches in query API
- #5900, #5905, #5914 - Fix potential panic during consensus compaction
- #5910 - In query API, shortcut on empty retrieve query
- #5908 - Fix flush logic in RocksDB based vector storage, don't eagerly persist changes
v1.13.2
Change log
Improvements
- #5891 - Add support for GPUs not featuring half floats, falling back to full floats
Bug fixes
v1.13.1
Change log
Improvements
- #5820 - Improve performance and memory usage of segment merging in optimizers
Bug fixes
- #5848 - Fix potential panic in search after GPU HNSW building
- #5847 - Fix potential panic in GPU HNSW building when having empty payload index
- #5819 - Fix set payload by key on in-memory payload storage not persisting properly
- #5861 - Fix memory mapped sparse vector storage not flushing mappings properly
- #5838 - Fix user-defined sharding not persisting numeric shard keys properly
- #5842 - Do not flush empty memory maps to prevent panic on macOS
- #5843 - Do not flush explicitly when unloading blob storage
- #5845 - Fix potential panic in full text index due to missed bound check
v1.13.0
Change log
Features 🎨
- milestone/18 - Add GPU support for HNSW super fast indexing
- milestone/3 - Add resharding in our cloud offering, change the number of shards at runtime
- milestone/13 - Add strict mode to restrict certain type of operations on collections
- #5303 - Add Has Vector filtering condition, check if a named vector is present on a point
Improvements 🚀
- #5783 - Switch to mmap storage for payloads by default to make it more efficient, eliminating unexpected latency spikes
- #5784 - Switch to mmap storage for sparse vectors to make it more efficient, allowing better resource management
- #5781 - Compress HNSW graph links
- #5796 - Remove peer metadata for removed peers
- #5634 - Allow to set
max_optimization_threads
back to automatic - #5178 - Stream snapshots in snapshot transfer, don't put snapshots on disk first
Bug fixes 💢
- #5810 - Fix incorrect validation rules on deleted threshold in gRPC API
- #5808 - Don't allow conflicting names for dense and sparse vectors
Thanks to @gulshan-rs @ashwantmanikoth @kartik-gupta-ij @palash25 @redouan-rhazouani @weiwch @n0x29a @pedjak @agourlay @xzfc @JojiiOfficial @tellet-q @coszio @ffuugoo @KShivendu @joein @IvanPleshkov @generall @timvisee for their contributions!
v1.12.6
Change log
Improvements
- #5687 - Support 64-bit dimension indices for sparse vectors
- #5609 - Support issues API with limited API keys
- #5602 - Add support for logging in JSON format
- #5630 - Add web UI to Debian package
Bug fixes
- #5629 - Properly flush files with fsync to prevent storage issues
- #5627 - Atomically save quantization metadata
- #5628 - Atomically save chunked mmap configuration
- #5738 - Fix search panic due to unaligned data when loading old Qdrant snapshot (pre v1.8.2)
- #5643 - Improve collection validation, disallow replication factor 0 causing a panic
- #5690 - Ignore empty filter conditions rather than showing an error
- #5676 - Enforce TLS for internal node communication if URL is not explicitly provided
v1.12.5
Change log
Improvements
- #5505 - Improve point retrieval across shards by streaming results
- #5521 - Improve point searches across segments by streaming results
- #5514 - Improve facet computing across shards by streaming results
- #5405 - Make
/readyz
catch up to latest consensus commit - #5506 - Improve handling of non-transient errors, making shard transfers more robust
- #5478 - When peer starts, cancel all shard transfers related to it
- #5536 - Improve error message on sparse vector validation error
- #5546, #5580 - Improve error messages on various structure variants on validation error
- #5540 - Improve point counting on proxy segments by deduplicating point IDs
- #5522 - Expose shards keys in telemetry
- #5591 - Improve payload performance in gRPC API
- #5486 - Remove support for reading HNSW graphs of Qdrant 0.8.4 and older, simplifying behavior
- #5579 - Improve gRPC logging and error handling
- #5493 - Always log all errors when applying update to replica set
Bug fixes
- #5585 - Improve data consistency, fix point deduplication on start potentially removing newest point version
- #5527, #5528, #5531 - Improve data consistency, fix mixing point versions when applying updates, always use latest point
- #5543 - Improve data consistency, fix segment builder mixing point versions during segment optimization
- #5573 - Improve data consistency, fix proxy segment not using correct point versions when propagating point deletes
- #5581 - Improve data consistency, fix proxy segment not using correct versions when propagating payload index changes
- #5553 - Improve data consistency, fix proxy segment not flushing changes if sharing a write segment
- #5557 - Improve data consistency, fix flushing proxied segment acknowledging operations that were not actually persisted
- #5510 - Improve data consistency, fix marking points as deleted not working in all cases
- #5598 - Fix peer getting stuck on start if consensus snapshots are used
- #5484 - Fix panic on huge search limit
- #5600 - Fix prefetch with group-by internally using wrong request limit, significantly reducing search time
- #5488 - Fix incorrect timeout handling in distance matrix API
- #5495 - Fix incorrect timeout handling on remote shards
- #5596 - Fix broken replication factor in gRPC create shard key API
- #5551 - Fix potential division by zero in facets API
- #5593, #5603, #5605, qdrant/qdrant-web-ui#262 - Bump some dependencies to patch potential security vulnerabilities
v1.12.4
Change log
Improvements
- #5440 - ✨ Optimize mmap sequential access for full-scan segments and reading of large vectors
- #5428 - Leverage ahash in search results
- #5414 - Improvements for update clocks to improve updates consistency
- #5448 - Sync consensus at the end of stream records transfer
- #5378 - Introduce a unique identifier for collections for easier consensus snapshots resolution
Bug fixes
v1.12.3
v1.12.2
Change log
Improvements
- #5313, #5314, #5303, #5317 - Improve performance of matrix API
- #5219, #5251, #5254, #5305 - Improve performance by not capturing backtrace if not necessary
- #5336, #5365, #5393 - Improve HNSW search performance by tweaking visited list
- #5301, #5309 - Improve performance by reusing RocksDB options, do not recreate them all the time
- #5265 - Add support for reinitializing consensus with new peer URLs
- #5373 - Put quantized data in RAM by default to prevent competing with memory mapped vectors
- #5252 - Use streaming creation of snapshot in shard snapshot transfer
- #5343 - Prevent killing replicas eagerly if node is out of sync, making replicas more robust
- #5266 - Report memory usage in metrics and telemetry
- #5307 - Enable Jemalloc in RocksDB
- #5312 - Enable Jemalloc background thread to gradually release unused memory
- #5292 - Report storage bytes estimate for each segment in telemetry
- #5380 - Add log message when shard transfer is aborted
- #5391 - Prevent unused repeated calls to other peers when waiting on
/readyz
- #5180 - Report CPU endianness in telemetry output
- #5228 - Minimize point version lookups during search
- #5399 - Improve error when using unknown vector name
Bug fixes
- #5346 - Fix mishandling point deletions with payload indices
- #5211 - Fix panic in query API if vector name is missing
- #5232 - Fix potential panic if Qdrant crashed during sparse vector deletion
- #5271, #5286, #5302 - Fix potentially missing an update on WAL delta transfer with empty delta
- #5141, #5147 - Fix consensus errors on new peers if first peer is removed, now remember first ever peer
- #5367 - Properly update all collection configuration properties when Raft snapshot is applied
- #5350 - Fix consensus synchronization waiting on the wrong value, now speeding up synchronization
- #5383 - In
/readyz
wait for consensus operations to be applied, instead of just being received - #5227, #5296 - Fix shard snapshot operations when using S3
- #5237 - Properly clean up temporary snapshot files when using S3
- #5253 - Properly clean up temporary segment files if optimization is cancelled
- #5386 - Fix flushing of point ID mappings potentially causing inconsistencies