v1.17.0
📦 qdrantView on GitHub →
✨ 13 features🐛 20 fixes⚡ 1 deprecations🔧 7 symbols
Summary
This release introduces significant stability and performance improvements, focusing on distributed cluster operations, snapshot recovery, and reduced locking overhead. Key new features include Relevance Feedback and enhanced monitoring APIs.
Migration Steps
- When performing upserts, use the new `update_mode` parameter (`upsert`, `update`, or `insert`) if specific behavior is required ([#7963]).
✨ New Features
- Relevance Feedback ([docs](https://qdrant.tech/documentation/concepts/search-relevance/#relevance-feedback))
- API for detailed report on optimization progress and stages ([docs](https://qdrant.tech/documentation/concepts/optimizer/#optimization-monitoring))
- API for aggregated telemetry of the whole cluster ([docs](https://qdrant.tech/documentation/guides/monitoring/#cluster-wide-telemetry))
- Unlimited update queue to gracefully smooth update spikes ([docs](https://qdrant.tech/documentation/guides/low-latency-search/))
- Add Audit Access Logging ([docs](https://qdrant.tech/documentation/guides/security/#audit-logging))
- Add Weighted RRF ([docs](https://qdrant.tech/documentation/concepts/hybrid-queries/#reciprocal-rank-fusion-rrf))
- Add config option to control update throughput and prevent unoptimized searches ([docs](https://qdrant.tech/documentation/guides/low-latency-search/))
- Add configurable read fan-out delay for dealing with tail latency in distributed clusters ([docs](https://qdrant.tech/documentation/guides/low-latency-search/#use-delayed-fan-outs))
- For upserts, add `update_mode` parameter to either `upsert`, `update` or `insert` ([docs](https://qdrant.tech/documentation/concepts/points/#update-mode))
- Add secondary API key configuration for zero downtime key rotation in distributed clusters
- Add dedicated HTTP port for `/metrics` endpoint for internal monitoring
- Add API to list shard keys ([docs](https://qdrant.tech/documentation/guides/distributed_deployment/#user-defined-sharding))
- Detailed visualization of optimization progress in Web UI ([https://github.com/qdrant/qdrant-web-ui/pull/345])
🐛 Bug Fixes
- Fix flush ordering to follow segment dependencies, prevents dataloss by CoW on flush interruption ([#7850])
- Fix data race in stream records transfer potentially missing ongoing updates ([#8103])
- Fix interlocking problem on creation of payload index ([#7983])
- Fix interlocking problem on collection-level update operations ([#7999])
- Fix deadlock during snapshot with concurrent updates ([#8131])
- Fix gRPC/HTTP2 `too_many_internal_resets` error due to how we internally cancel ongoing requests ([#8128])
- Improve handling of HTTP2 channels closing in connection pool ([#8019])
- Fix data race in WAL and shard clocks snapshot, ensure they remain consistent ([#8104])
- Fix using incorrect versions in partial snapshot manifest construction ([#7961])
- Fix incorrect internal protocol usage for shard snapshot transfers ([#8095])
- Fix integer overflow in query batch when using high limits ([#7950])
- Fix search aggregator panic with limit 0 ([#7972])
- Fix round floats not used in integer index, JSON doesn't distinguish between integers and floats ([#8100])
- Fix `score_threshold` not being used in score boosting queries ([#8097])
- Fix `Corrupted ID tracker mapping storage` bug when disk is full ([#7877])
- Fix gRPC API response status counting in telemetry and metrics ([#7944])
- Fix total count in progress tracker for replicate points with filter ([#7857])
- Fix creation of payload index in empty collection using user-defined sharding ([#7856])
- Fix ignoring CA certs for internal requests if configured ([#8099])
- Add missing timeout parameter to some endpoints ([#8176])
Affected Symbols
⚡ Deprecations
- Disable old shard key format deprecated in 1.15.0 ([#7565])