Skip to content

Release prep v1.2.0: qdrant-client floor 1.14.3 (CI-enforced) + live Qdrant v1.15.4 verification - #126

Merged
Udjin79 merged 1 commit into
mainfrom
chore/release-1.2-prep
Jul 25, 2026
Merged

Release prep v1.2.0: qdrant-client floor 1.14.3 (CI-enforced) + live Qdrant v1.15.4 verification#126
Udjin79 merged 1 commit into
mainfrom
chore/release-1.2-prep

Conversation

@Udjin79

@Udjin79 Udjin79 commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Release prep for v1.2.0 — Qdrant compatibility floor + live-server verification

Pre-release check found the declared qdrant-client>=1.10 floor was wrong for the new text-search code. This PR fixes the floor with evidence, enforces it in CI, and aligns the docs with behavior verified against a real Qdrant server.

Dependency floor (empirically established)

  • 1.10–1.12: HasVectorCondition not importable — the vector module fails to import.
  • 1.13.x–1.14.2: local-mode update_vectors behavior fails the sparse-backfill path.
  • 1.14.3 and 1.15.1: full suite green (1422 tests).
  • qdrant-client>=1.14.3,<2, with a new CI test-min-deps job that pins exactly the declared minimum so the floor can never silently drift below reality again.

Live verification against a real server (Qdrant v1.15.4 binary, not local-mode)

All seven scenarios pass: sparse search with server-side IDF ordering, sparse tenant boundary, the MatchText nested should-gate against a real full-text index, gate∘tenant composition, dense-vector preservation in named-layout scrolls, and the has_vector coverage-gap → backfill flow.

One behavioral fact corrected by the live run: real Qdrant servers refuse adding a new sparse space to an existing collection (update_collection → 400). The docs previously implied a config-update path "where the server allows it" — they now state plainly: an existing dense collection migrates to sparse via re-index into a sparse-mode collection; mnemostack sparse-backfill is for the other gap (a sparse-capable collection holding dense-only-written points, e.g. via the async store). The ensure_sparse_space docstring says the same.

Docs

  • Compose examples pin qdrant/qdrant:v1.15.4 (the version this release is integration-tested against; previously v1.12.6, which predates the server-side has_vector filter the coverage check needs).
  • Server minimums documented: sparse IDF ≥ 1.10, has_vector ≥ 1.13.

Version

1.2.0 in pyproject.toml / __version__; CHANGELOG [Unreleased] closed as [1.2.0] - 2026-07-25. Tagging/publishing happens after merge as usual.

…job); docs match live-verified Qdrant v1.15.4 behavior (no post-hoc sparse space; backfill = coverage gaps); version bump + changelog close
@Udjin79
Udjin79 merged commit f7acf6e into main Jul 25, 2026
8 checks passed
@Udjin79
Udjin79 deleted the chore/release-1.2-prep branch July 25, 2026 19:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant