Skip to content

v1.15.0

Compare
Choose a tag to compare
@timvisee timvisee released this 18 Jul 13:08
· 173 commits to master since this release
137b6c1

Change log

Features 📜

Improvements 🪨

  • milestone/16 - Migrate away from RocksDB
  • milestone/27 - HNSW Healing on optimization
  • #6479 - Speedup additional links construction by measuring sub-graph connectivity
  • #6563, #6601 - Inference usage now reported in API response
  • #6611 - Added major and minor tags for Docker builds
  • #6685 - Speed up mutable posting list for upsertions
  • #6729 - Reuse quantized vectors during HNSW index building
  • #6713 - Optimize Gridstore insertions
  • #6750 - Use sequential reads when iterating over Gridstore
  • #6757 - Enable pod role based auth for S3 snapshots
  • #6725 - Improve read request handling during snapshot recovery
  • #6785 - Avoid re-optimizations when loading a mmap-backed immutable text index
  • #6778, #6817 - Properly handle inconsistencies in consensus during custom shards creation
  • #6779 - Avoid IO during evaluating HNSW index for re-optimization
  • #6796 - Use sequential reads for building quantized vectors
  • #6794 - Avoid double condition check during filtering
  • #6804 - Optimize has_id condition
  • #6844 - Adjust default values for better performance

Bug fixes 🫙

  • #6593 - Use ID tracker to estimate internal points range
  • #6614 - Improve Gridstore wipe/clear functionality
  • #6632 - Fix default replication factor
  • #6640 - Fix significant memory usage in Distance Matrix API on high sample size
  • #6739 - Fix IDF computation with deleted points
  • #6755 - Prevent shards from getting stuck in Initializing state
  • #6759 - Properly propagate inference errors
  • #6787 - Add flag to break optimization loop on panic
  • #6862 - Avoid blocking async runtime when loading local shard
  • #6800 - Fix bug that causes all replicas to die if node restarted during resharding
  • #6882 - Fix broken is_empty filter on new points

Web-UI 🎨

Deprecations 🚧

  • init_from parameter of the collection creation API is deprecated and going to be removed in v1.16

    • Reason: init_from creates false expectation of data consistency and reliability of this operation.
    • Alternative: prefer usage of migration tool or snapshots, read more in the tutorial
  • Payload based filters in JWT going to be removed in v1.16

    • Reason: Payload based filters are inconsistent for read/write operations. Many update operations are not implemented due to security risks and complexity. Lack of real-life usage.
    • Alternative: prefer collection-based access control.
  • mmap_threshold parameter of the collection optimizer is deprecated and going to be removed in v1.16

    • Reason: starting from v1.12, all vector storages exclusively use memory maps, explicit usage of mmap_threshold is obsolete
    • Alternative: control memory cache behaviour of Qdrant storages with on_disk: true/false parameter
  • Lock API is deprecated and going to be removed in v1.16

    • Reason: lack of real-life usage
    • Alternative: JWT tokens can be configured to provide read-only access to Qdrant
  • #6760 - Removed max_optimization_threads from config