Guidance on how to upgrade your Qdrant version without interrupting the availability of your application and ensuring data integrity.
Qdrant has the following guarantees about version compatibility:
Major and minor versions of Qdrant and SDK are expected to match. For example, Qdrant 1.17.x is compatible with SDK 1.17.x.
Qdrant is tested for backward compatibility between minor versions. For example, Qdrant 1.17.x should be compatible with SDK 1.16.x. Qdrant server 1.16.x is also expected to be compatible with SDK 1.17.x, but only for the subset of features that were available in 1.16.x.
For migration to the next minor version, it is recommended to first upgrade the SDK to the next minor version and then upgrade the Qdrant server.
Storage compatibility is only guaranteed for one minor version. For example, data stored with Qdrant 1.16.x is expected to be compatible with Qdrant 1.17.x. If you need to migrate more than one minor version, it is required do the upgrade step by step, one minor version at a time. For example, to migrate from 1.15.x to 1.17.x, you need to first upgrade to 1.16.x and then to 1.17.x. Note: Qdrant Cloud automates this process, so you can directly upgrade from 1.15.x to 1.17.x without intermediate steps.
A Qdrant cluster with a replication factor of 2 or higher can be upgraded without downtime by performing a rolling upgrade. This means that you can upgrade one node at a time while the other nodes continue to serve requests. This allows you to maintain availability of your application during the upgrade process. More about replication factor: Replication factor
For managing Qdrant version upgrades in Qdrant Cloud, you can use the qcloud CLI tool.
Back up first: It's recommended to take a backup or snapshot before updating to allow for rollbacks. If the upgrade fails or you need to revert, you can restore the pre-upgrade snapshot. Qdrant Cloud applies data migrations during upgrades, so there's no live downgrade. Snapshots Cloud backups
Check release notes for default and behavior changes, not just deprecations. Version upgrades may introduce changes to default settings, validation rules, or query behavior that can affect existing workloads even when APIs remain compatible.
Test your client app against the target server version first in a non-prod environment, and check SDK release notes for deprecated/removed methods before switching over.
It's recommended to run at least 2 CPU cores per node. During upgrades, Qdrant may perform background optimization while still handling regular operations. With only 1 core, these tasks can compete for CPU resources and can significantly slow down the upgrade process.
Use a replication factor of 2 or higher if you need a zero-downtime rolling upgrade. With a replication factor of 1, the upgrade requires a downtime window.
Use when: the running version is two or more minor versions behind the target.
Use when: results, scores, or latency look different once the new version is live.
When investigating a bug or unexpected behavior after an upgrade, check the release notes/changelog between the source and target versions for deprecations, default-value changes, and behavior changes that may affect your workload.
Compare relative ranking and recall against your pre-upgrade baseline, not absolute score values. Scoring internals can change between versions and still be correct.
skillbazaar install qdrant-version-upgrade --agent claudeSign in (free) to install skills with the CLI.
Author
@qdrant
on GitHub
Published by