Skip to content

Releases: qdrant/qdrant

v1.13.4

17 Feb 12:53
v1.13.4
7abc684
Compare
Choose a tag to compare

Change log

Improvements

  • #5967 - Set maximum number of points in a collection with strict mode

Bug fixes

  • b2782ff - Fix HNSW index not respecting on-disk flag, using the inverse setting
  • #5991 - Do not deactivate replica or abort transfer if target is missing point, it may not be transferred yet
  • #5987 - Fix potential deadlock in consensus logic, which could get a node stuck

v1.13.3

11 Feb 17:13
v1.13.3
c2faaf9
Compare
Choose a tag to compare

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

28 Jan 14:03
v1.13.2
80bfc03
Compare
Choose a tag to compare

Change log

Improvements

  • #5891 - Add support for GPUs not featuring half floats, falling back to full floats

Bug fixes

  • #5882 - Fix blob store for payloads and sparse vectors potentially panicking when inserting large value
  • #5866 - Fix optimizers reusing points with no version, improving data resilience

v1.13.1

23 Jan 17:12
v1.13.1
a72a5f4
Compare
Choose a tag to compare

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

17 Jan 10:56
v1.13.0
ffda0b9
Compare
Choose a tag to compare

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

08 Jan 19:45
v1.12.6
e545b69
Compare
Choose a tag to compare

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

09 Dec 15:05
v1.12.5
27260ab
Compare
Choose a tag to compare

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

18 Nov 15:58
5b578c4
Compare
Choose a tag to compare

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

  • #5457 - ✨ Fixes for rescoring param usage and usage of disabled HNSW
  • #5439 - Fix the file name too long error during collection deletion

v1.12.3

12 Nov 17:15
v1.12.3
7629faa
Compare
Choose a tag to compare

Change log

Improvements

  • #5411 - Do not report peer address replaced as warning if it's still the same
  • #5426 - Expose usage of async scorer in telemetry

Bug fixes

  • #5427 - Fix potential panic during search over deleted points or with payload filters

v1.12.2

08 Nov 16:00
v1.12.2
69e5cee
Compare
Choose a tag to compare

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