Download Latest Version qdrant-x86_64-pc-windows-msvc.zip (30.8 MB) Google Add to Preferred Sources
Home / v1.20.0
Name Modified Size InfoDownloads / Week
Parent folder
qdrant_1.20.0-1_amd64.deb 2026-10-22 25.3 MB
qdrant-x86_64.AppImage 2026-10-22 36.1 MB
qdrant-x86_64-apple-darwin.tar.gz 2026-10-22 31.9 MB
qdrant-x86_64-pc-windows-msvc.zip 2026-10-22 30.8 MB
qdrant-aarch64-unknown-linux-musl.tar.gz 2026-10-22 31.5 MB
qdrant-x86_64-unknown-linux-musl.tar.gz 2026-10-22 33.8 MB
qdrant-x86_64-unknown-linux-gnu.tar.gz 2026-10-22 33.6 MB
qdrant-aarch64-apple-darwin.tar.gz 2026-10-22 29.1 MB
README.md 2026-10-21 8.7 kB
v1.20.0 source code.tar.gz 2026-10-21 7.4 MB
v1.20.0 source code.zip 2026-10-21 9.0 MB
Totals: 11 Items   268.6 MB 18

Changelog

Features 🎢

  • #10750 - BM25 scoring directly on the full-text payload index [docs]
  • Milestone [#57] - TurboQuant: new turbo8 and turbo16 vector datatypes [docs]
  • #11125 - Per-element payload indexes: new nested index parameter, faster nested condition filtering. [docs]
  • #11180, #11263 - New code tokenizer for full-text index [docs]
  • #10466 - Configurable audit log output: audit.output writes audit events to file (default), stdout or stderr [docs]
  • #10992 - Collection creation time: created_at is recorded and returned in collection info [docs]
  • #10711 - Substring filter condition: match: { substring: "..." } (full-scan only) [docs]
  • #10231, #10287, #10296 - New formula query expressions: acosh, max, min [docs] and [docs]
  • #10597, #10598 - Configurable ID tracker memory placement [docs]

Improvements 🎡

  • #11009, #11020 - Faster HNSW payload links build - builder sized to the block, not the segment, and reused
  • #11083 - Faster HNSW healing - payload blocks reuse old graph links; m = 0 graphs can heal too
  • #11166 - Smaller HNSW upper layers - floor() in level assignment matches the HNSW paper (6.25% of points on level 1 at m = 16, not 25%)
  • #10976 - Faster PQ training - k-means sample gathered in one pass, not one per chunk
  • #10975 - Faster scalar quantization search - AVX512-VNNI and AVX-VNNI kernels for int8 dot product
  • #10977 - Less search slowdown during optimizations - the whole optimization job runs at low thread priority
  • #11078, #11080 - Fewer cancelled optimizations - optimizers are recreated only when their config changes
  • #11234 - Faster point retrieval - ids resolved in one batch per segment
  • #11070 - Faster snapshot transfers and downloads - 4 MiB stream buffers instead of 4 KiB
  • #11253 - Faster shard transfers - transfer_raw_points and transfer_raw_payloads on by default
  • #11206 - Safer snapshots - unique snapshot names, and a stored snapshot is never overwritten
  • #11221 - No stuck snapshot downloads - 60s timeout when the server never responds
  • #11163 - No blocking thread leak on telemetry timeout - the timeout also applies inside the blocking task
  • #11164 - Clearer tar unpack errors - release builds report the error kind (e.g. timed out) instead of "malformed archive"
  • #11118 - Log timestamps respect timezone - set with the TZ environment variable, UTC by default
  • #10235 - timeout parameter for the get points API
  • Milestone [#58] - Less disk usage with hnsw_config.inline_storage - vectors are stored only inside the HNSW graph file, without a separate vector storage copy
  • #10790 - Faster enable_hnsw change on payload indexes - updated in place instead of dropping and rebuilding the index
  • #10906 - Faster search over on-disk vectors - batches of vectors are prefetched with madvise(WILLNEED) before scoring
  • #10907 - ACORN on m = 0 graphs - search uses the payload-block links of the graph
  • #11255 - Better shard distribution in small clusters - auto-sharded collections get 2 shards per node in 3+ node clusters while collections are fewer than nodes
  • #11273 - No internal request stalls behind NAT and load balancers - HTTP/2 keepalive on internal p2p gRPC
  • #11289 - Configurable snapshot storage timeouts and retries - new timeout_sec, connect_timeout_sec, max_retries, retry_timeout_sec in S3, GCS and Azure config

Bug fixes 🎼

  • #10932, #10971 - Fix collection reads stalling while a shard transfer holds the shard holder lock
  • #10949 - Fix live-lock between shard transfer start and consensus operations
  • #10956 - Fix collection being blocked while a shard snapshot is extracted
  • #11075 - Fix must_not conditions being ignored when equal to an indexed must condition
  • #11101 - Fix datetime filters with microseconds behaving differently with and without a payload index
  • #10948 - Fix renaming an alias to an existing collection name being accepted
  • #10887 - Fix transfer staying registered after crash replay of replica removal during transfer abort
  • #11121 - Fix S3 snapshot upload completing truncated on a local read error
  • #10796 - Fix Japanese tokenizer ignoring min_token_len, max_token_len, stemmer, ascii_folding and case-insensitive stopwords
  • #10754 - Fix quantization build with MSVC-like compilers (clang-cl)

Security πŸ”‘

  • #10854 - Internal auth is enforced by default: service.enforce_internal_auth now defaults to true when an API key is configured
  • #10718 - Startup warning when distributed mode has an API key configured but enforce_internal_auth is off
  • #11275, #11290 - Reject vector names that escape the segment directory, including . and ..
  • #11278 - Update rustls-webpki and webpki-root-certs for RUSTSEC-2026-0382 and RUSTSEC-2026-0383

Qdrant Edge πŸ“€

  • #11085 - WAL-less mode for edge shards: EdgeConfig::wal_enabled(false) skips WAL writes, updates are durable after flush()
  • #11084 - Fix updates lost on crash: unacknowledged WAL operations are replayed when an edge shard is loaded
  • #11082 - Fix EdgeShard::flush not acknowledging the persisted version in the WAL
Source: README.md, updated 2026-10-21