These 50 commits are when the Protocol Buffers files have changed:
| Commit: | 9c83170 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | GitHub | |
v1.19 (#164) * v1.19 Regenerate both clients from the qdrant `dev` branch and bump to 1.19.0. gRPC: memory placement (`Memory` enum on vector/index/quantization params, `PayloadStorageParams`), keyword prefix matching, `SliceCondition`, per-request IDF corpus, `Datatype::Turbo4`, `max_disk_usage_percent`, explicit no-stemming. The search/recommend/discover RPCs are marked deprecated upstream. REST: same feature set. Qdrant also dropped the eight deprecated search/recommend/discover endpoints from its OpenAPI spec (qdrant/qdrant#9982), so the generator no longer emits them, but the actix handlers still serve traffic. They are preserved by hand in `src/openapi/deprecated_*.ts` and marked `@deprecated` in `qdrant-client.ts`, matching the additive-only line the Rust and Go clients took for 1.19. Also: - Pin `openapi-typescript` back to 6.2.6. It was bumped to ^7.13.0 in #150 without regenerating; v7 emits `requestBody?: never`, which collapses `OpArgType` to `never` in `@qdrant/openapi-typescript-fetch@1.2.6` and breaks every call site. Later 6.x patches widen nullable `anyOf` fields such as `ScoredPoint.payload` to `unknown`. - Teach `generate_client_construction.ts` to skip semicolons inside doc comments; the rewritten `/readyz` description contains one and split an interface member in half. - Forward `payload` and `metadata` from `createCollection`/`recreateCollection` (`metadata` was missed in 1.18). - Cover the new API surface in the REST integration tests. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Drop the REST search/recommend/discover methods Reverses the previous commit's decision to keep them alive by hand. Qdrant removed the eight endpoints from its OpenAPI spec in qdrant/qdrant#9982, and we follow the spec: the actix handlers still answer, but an endpoint that is not in the spec is not part of the client's contract. This breaks semver — the removal is agreed on for 1.19 rather than deferred to a major. Removed from `QdrantClient`: `search`, `searchBatch`, `searchPointGroups`, `recommend`, `recommendBatch`, `recommend_batch`, `recommendPointGroups`, `discoverPoints`, `discoverBatchPoints`. Their request types leave `Schemas` with them, since the generator no longer emits them. `src/openapi/deprecated_{schema,api_client}.ts` are deleted and `api-client.ts` and `types.ts` go back to consuming the generated output unchanged. The gRPC client is untouched: those RPCs are only marked deprecated upstream, so they are still generated and still work. Tests and the node-js-basic example move to `query`/`queryBatch`. The example's sample-output comments are refreshed against a real run — note `query` returns `{points: [...]}` where `search` returned a bare array. `search points filter` is dropped rather than migrated: it was identical to the existing `query nearest points`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * docs: explain the openapi-typescript pin accurately The note added with the pin named `requestBody?: never` as the cause. It is not: an absent request body infers harmlessly. The breakage comes from the placeholder parameter slots (`query?: never`, `path?: never`) — an optional `never` property has type `undefined`, and `OpArgType` intersects the slots, so `{collection_name: string} & undefined` is `never`. Measured against the v1.19 dev schema: 16 of 67 operations become `never` and 11 become `undefined`, not "every call site". Upstream openapi-typescript-fetch 2.x already solved this with a `NonNever` guard; with it all 67 operations resolve. Our fork is two years behind, and exists for BigInt point ids that upstream lacks, so the way out is to port the guard into the fork rather than migrate off it. Separately, the 6.x type erosion starts exactly at 6.7.2, and it traces back to Qdrant's own spec: 260 nullable fields are written as a bare `{nullable: true}` anyOf branch, which carries no type and so renders as `unknown`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Revert the openapi-typescript bump instead of pinning it #150 raised openapi-typescript from ^6.2.6 to ^7.13.0 without regenerating the client, so the incompatibility with @qdrant/openapi-typescript-fetch@1.2.6 went unnoticed until this release regenerated. Put the range back exactly as it was before that bump rather than hard-pinning: it is a dev dependency, the lockfile still resolves 6.2.6, and the generated output is unchanged. Also drop the notes this branch added to how_to_release.md, leaving it as it is on master. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Resync with qdrant dev: global quota API `dev` moved while this branch was being prepared — qdrant/qdrant#10035 landed the cluster-wide quota API. Regenerating picks up: - REST `GET /quotas` and `PUT /quotas`, wrapped as `getQuotas` / `updateQuotas`, plus the `QuotaConfig`, `QuotaStatus`, `QuotaUsage`, `PeerQuotaUsage`, `QuotaExceeded` and `QuotaTelemetry` schemas, and `TelemetryData.quota`. - `max_disk_usage_percent` leaves `StrictModeConfig` — it is now cluster-wide on the quota config. The gRPC field is reserved and `max_resident_memory_percent` is deprecated there, with removal announced for 1.21. This branch had shipped the strict-mode field and asserted on it; both are updated. - `quota_internal.proto` is new and internal — `qdrant.proto` does not import it, and its name matches every other excluded internal proto — so it is added to the removal list in `generate-grpc-sources.sh`. Without that, the next codegen would emit a `quota_internal_pb.ts` we do not want. Both codegens are idempotent against dev@aa6c5d84, and the integration suites run green against the matching `qdrant/qdrant:dev` image. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * old qdrant integration test version * Skip the v1.19 integration block on pre-1.19 servers CI pins the image to v1.18.0 until 1.19 is published, and the whole `Qdrant v1.19 API` block targets API that server does not have. Half of it fails loudly there, but `memory`, `payload` and `params.idf` are accepted and silently ignored rather than rejected, so those tests failed as `expected undefined to match object` and `0.5288952 not to be 0.5288952` — noise that says nothing about the client. The gate probes `/quotas`, which shipped in the same release and answers 404 on older servers. Version comparison would not work: qdrant's `dev` branch reports `1.18.3-dev` while carrying the full 1.19 API, so a `semver.gte(…, '1.19.0')` check would skip the block exactly where it needs to run. Only a 404 counts as "old server" — anything else propagates, so an unreachable server still fails the run instead of quietly skipping it. Verified against all three: v1.18.0 skips the block (18 passed, 7 skipped), dev runs it (25 passed), and a stopped server aborts with ECONNREFUSED. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * Run integration tests against qdrant:dev, drop the version split The pin to v1.18.0 was only there because 1.19 is not tagged yet, and it forced the suite to carry a release-shaped seam: a `/quotas` probe, a `describe.skipIf` and a separate "Qdrant v1.19 API" block whose tests were skipped on the very server CI ran. Point the script at `dev` instead — the client tracks that branch until the release is tagged, so it is the server the generated code actually matches — and fold the block back into the single `QdrantClient` suite. No probe, no skips, every test runs the same way. Collections renamed off the release too: `test_collection_v1_19` is now `test_collection_params` and `test_collection_v1_19_sparse` is `test_collection_sparse`. Ran through `integration-tests.sh` itself: 25 REST + 17 gRPC, none skipped. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * qdrant latest docker --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
The documentation is generated from this commit.
| Commit: | 5b6d708 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | Ivan Pleshkov | |
Resync with qdrant dev: global quota API `dev` moved while this branch was being prepared — qdrant/qdrant#10035 landed the cluster-wide quota API. Regenerating picks up: - REST `GET /quotas` and `PUT /quotas`, wrapped as `getQuotas` / `updateQuotas`, plus the `QuotaConfig`, `QuotaStatus`, `QuotaUsage`, `PeerQuotaUsage`, `QuotaExceeded` and `QuotaTelemetry` schemas, and `TelemetryData.quota`. - `max_disk_usage_percent` leaves `StrictModeConfig` — it is now cluster-wide on the quota config. The gRPC field is reserved and `max_resident_memory_percent` is deprecated there, with removal announced for 1.21. This branch had shipped the strict-mode field and asserted on it; both are updated. - `quota_internal.proto` is new and internal — `qdrant.proto` does not import it, and its name matches every other excluded internal proto — so it is added to the removal list in `generate-grpc-sources.sh`. Without that, the next codegen would emit a `quota_internal_pb.ts` we do not want. Both codegens are idempotent against dev@aa6c5d84, and the integration suites run green against the matching `qdrant/qdrant:dev` image. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The documentation is generated from this commit.
| Commit: | 9b26d8a | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | Ivan Pleshkov | |
v1.19 Regenerate both clients from the qdrant `dev` branch and bump to 1.19.0. gRPC: memory placement (`Memory` enum on vector/index/quantization params, `PayloadStorageParams`), keyword prefix matching, `SliceCondition`, per-request IDF corpus, `Datatype::Turbo4`, `max_disk_usage_percent`, explicit no-stemming. The search/recommend/discover RPCs are marked deprecated upstream. REST: same feature set. Qdrant also dropped the eight deprecated search/recommend/discover endpoints from its OpenAPI spec (qdrant/qdrant#9982), so the generator no longer emits them, but the actix handlers still serve traffic. They are preserved by hand in `src/openapi/deprecated_*.ts` and marked `@deprecated` in `qdrant-client.ts`, matching the additive-only line the Rust and Go clients took for 1.19. Also: - Pin `openapi-typescript` back to 6.2.6. It was bumped to ^7.13.0 in #150 without regenerating; v7 emits `requestBody?: never`, which collapses `OpArgType` to `never` in `@qdrant/openapi-typescript-fetch@1.2.6` and breaks every call site. Later 6.x patches widen nullable `anyOf` fields such as `ScoredPoint.payload` to `unknown`. - Teach `generate_client_construction.ts` to skip semicolons inside doc comments; the rewritten `/readyz` description contains one and split an interface member in half. - Forward `payload` and `metadata` from `createCollection`/`recreateCollection` (`metadata` was missed in 1.18). - Cover the new API surface in the REST integration tests. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
| Commit: | 39ac6c3 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
Resync with qdrant dev: global quota API `dev` moved while this branch was being prepared — qdrant/qdrant#10035 landed the cluster-wide quota API. Regenerating picks up: - REST `GET /quotas` and `PUT /quotas`, wrapped as `getQuotas` / `updateQuotas`, plus the `QuotaConfig`, `QuotaStatus`, `QuotaUsage`, `PeerQuotaUsage`, `QuotaExceeded` and `QuotaTelemetry` schemas, and `TelemetryData.quota`. - `max_disk_usage_percent` leaves `StrictModeConfig` — it is now cluster-wide on the quota config. The gRPC field is reserved and `max_resident_memory_percent` is deprecated there, with removal announced for 1.21. This branch had shipped the strict-mode field and asserted on it; both are updated. - `quota_internal.proto` is new and internal — `qdrant.proto` does not import it, and its name matches every other excluded internal proto — so it is added to the removal list in `generate-grpc-sources.sh`. Without that, the next codegen would emit a `quota_internal_pb.ts` we do not want. Both codegens are idempotent against dev@aa6c5d84, and the integration suites run green against the matching `qdrant/qdrant:dev` image. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The documentation is generated from this commit.
| Commit: | b5c3cd2 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
v1.19 Regenerate both clients from the qdrant `dev` branch and bump to 1.19.0. gRPC: memory placement (`Memory` enum on vector/index/quantization params, `PayloadStorageParams`), keyword prefix matching, `SliceCondition`, per-request IDF corpus, `Datatype::Turbo4`, `max_disk_usage_percent`, explicit no-stemming. The search/recommend/discover RPCs are marked deprecated upstream. REST: same feature set. Qdrant also dropped the eight deprecated search/recommend/discover endpoints from its OpenAPI spec (qdrant/qdrant#9982), so the generator no longer emits them, but the actix handlers still serve traffic. They are preserved by hand in `src/openapi/deprecated_*.ts` and marked `@deprecated` in `qdrant-client.ts`, matching the additive-only line the Rust and Go clients took for 1.19. Also: - Pin `openapi-typescript` back to 6.2.6. It was bumped to ^7.13.0 in #150 without regenerating; v7 emits `requestBody?: never`, which collapses `OpArgType` to `never` in `@qdrant/openapi-typescript-fetch@1.2.6` and breaks every call site. Later 6.x patches widen nullable `anyOf` fields such as `ScoredPoint.payload` to `unknown`. - Teach `generate_client_construction.ts` to skip semicolons inside doc comments; the rewritten `/readyz` description contains one and split an interface member in half. - Forward `payload` and `metadata` from `createCollection`/`recreateCollection` (`metadata` was missed in 1.18). - Cover the new API surface in the REST integration tests. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
| Commit: | b3c0278 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | GitHub | |
v1.18 (#133) * v1.18 * undici from 6.23.0 to 6.24.0 * test CI using v1.17 * grpc update * grpc update * QDRANT_LATEST version up
| Commit: | 392a2bd | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | Ivan Pleshkov | |
grpc update
| Commit: | 90201f3 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | Ivan Pleshkov | |
grpc update
| Commit: | 0e5d911 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | Ivan Pleshkov | |
v1.18
| Commit: | 3ef2a8b | |
|---|---|---|
| Author: | Andrey Vasnetsov | |
| Committer: | GitHub | |
Upgrade to 1.17 (#122) * [AI] version upgrade according to docs/how_to_release.md * [AI] add missing timeout parameter for upsert operation * [AI] add missing timeout parameter for deletePoints operation * audit fix * Revert "audit fix" This reverts commit 6f88ec20b482ae5d6751147502e32dd9650f0133. * audit fix * update rest based on `fix-rest-api-for-feedback-strategy` * update api schema: timeout for create and delete of payload index --------- Co-authored-by: Luis Cossío <luis.cossio@outlook.com>
| Commit: | a978757 | |
|---|---|---|
| Author: | generall | |
[AI] version upgrade according to docs/how_to_release.md
| Commit: | bcdc6bf | |
|---|---|---|
| Author: | Luis Cossío | |
| Committer: | GitHub | |
Bump v1.16.0 (#114) * bump version to 1.16.0 * update changelogs * Apply suggestions from code review * update version in integration tests * mark connect v2 upgrade as breaking * regenerate from latest protos * export common_pb.ts --------- Co-authored-by: Tim Visée <tim+github@visee.me> Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com>
| Commit: | ee056a1 | |
|---|---|---|
| Author: | Luis Cossío | |
regenerate from latest protos
| Commit: | fe11db5 | |
|---|---|---|
| Author: | Luis Cossío | |
| Committer: | GitHub | |
Migrate to connect v2 and generate with buf (#112)
| Commit: | a640780 | |
|---|---|---|
| Author: | Luis Cossío | |
regenerate client
| Commit: | 165d83e | |
|---|---|---|
| Author: | Luis Cossío | |
| Committer: | GitHub | |
Prepare clients for v1.16.0 (#111) * update clients for Qdrant v1.16 * add REST return types, get rid of maybe package * update lock file * no explicit type in test * use helper for throwing error * use shorter `Schemas` type * review remarks --------- Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com>
| Commit: | 7e1d850 | |
|---|---|---|
| Author: | Luis Cossío | |
| Committer: | Luis Cossío | |
update clients for Qdrant v1.16
| Commit: | d3d3856 | |
|---|---|---|
| Author: | Andrey Vasnetsov | |
| Committer: | GitHub | |
introduce Implement missing `updateCollectionCluster` API (#107) * introduce Implement missing `updateCollectionCluster` API * restore autogenerated files
| Commit: | 131885d | |
|---|---|---|
| Author: | generall | |
restore autogenerated files
| Commit: | 1386856 | |
|---|---|---|
| Author: | Jojii | |
| Committer: | GitHub | |
Bump 1.15.0 (#105) * Update grpc files and documentation for releasing * Missing word * version up * version up in integration tests * Add MMR feature --------- Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com>
| Commit: | a6e36f7 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
Add MMR feature
| Commit: | 3235fa5 | |
|---|---|---|
| Author: | jojii | |
Update grpc files and documentation for releasing
| Commit: | c308ff0 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | GitHub | |
V1.14.0 (#96) * update obsolete comment * version up * update openapi schema * update grpc * restore test * fix TS7056 * update latest version * update openmapi
| Commit: | ff564b1 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | Ivan Pleshkov | |
update grpc
| Commit: | 7fd84c7 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
update grpc
| Commit: | 1c43b2d | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | GitHub | |
V1.13.0 (#91) * update protofiles * update openapi * v1.13 * Update Docker image to 1.13 Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com> --------- Co-authored-by: Tim Visée <tim+github@visee.me>
| Commit: | 9e24c48 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
update protofiles
| Commit: | c45d94b | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | GitHub | |
V1.12.0 (#85) * update grpc protos * rest api * version up * apply api updates * make api names consistent with other clients * Update container version to 1.12.0 --------- Co-authored-by: generall <andrey@vasnetsov.com> Co-authored-by: Tim Visée <tim+github@visee.me>
| Commit: | 56676d1 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | GitHub | |
V1.11.0 (#82) * update grpc * update rest * version up * integration test qdrant version up * use dev version in integration test (temp) * update grpc * update openapi * Update latest Qdrant version to v1.11.0 --------- Co-authored-by: timvisee <tim@visee.me>
| Commit: | 04eab7d | |
|---|---|---|
| Author: | Ivan Pleshkov | |
update grpc
| Commit: | 2c3d603 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
update grpc
| Commit: | 768f4cd | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | GitHub | |
V1.10.0 (#79) * update api * version up * test query points * Rename queryPoints into query
| Commit: | cf9d316 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
update api
| Commit: | a2de790 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | GitHub | |
V1.9.0 (#72) * v1.9.0 * qdrant docker image vecrsion up * remove vectors_count from tests * remove vectors_count from tests --------- Co-authored-by: generall <andrey@vasnetsov.com>
| Commit: | 512d2a3 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
v1.9.0
| Commit: | f58e567 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | GitHub | |
v1.8.0 (#66) * v1.8.0 rest api update * grpc api update * version up * remove checksum query path param * comments and renamings * qdrant version up in integration tests
| Commit: | 6d0c50b | |
|---|---|---|
| Author: | Ivan Pleshkov | |
grpc api update
| Commit: | 48db336 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | GitHub | |
V1.7.0 (#56) * update grpc * update generated_schema * provide timeout to api * create shards api * shard keys public api * discovery api * add new fields * v1.7.0 * update proto (#57) * update undici * fix unit tests * renamed recommend_batch to recommendBatch for consistency and kept alias (#54) Co-authored-by: Mohamed Morad <mohamed.morad@syncore.at> Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com> * fix ci * restore tests * add comments to new api * shard_key args docs * create collection docs * qdrant integration tests version up * thanks to Morad-m11 --------- Co-authored-by: Morad-m11 <80397392+Morad-m11@users.noreply.github.com> Co-authored-by: Mohamed Morad <mohamed.morad@syncore.at>
| Commit: | 0bb7bfc | |
|---|---|---|
| Author: | Ivan Pleshkov | |
update grpc
| Commit: | 4456f25 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | GitHub | |
V1.6.0 (#50) * update openapi * update proto files * version up * update qdrant version in tests
| Commit: | 034f47d | |
|---|---|---|
| Author: | Ivan Pleshkov | |
update proto files
| Commit: | b9f9333 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | GitHub | |
v1.5.0 (#47) * api update * version up * update grpc client api * Revert "update grpc client api" This reverts commit a00f857159037e8ba8de0e9f699b6389a0ade63b. * add new internal protofile to ignore * update openapi schema * healthz livez readyz integration * remove internal protofiles * batch update * update shard snapshot api * remove kubernetes related api * revert docker image version to check CI * qdrant docker version up
| Commit: | bb68378 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
add new internal protofile to ignore
| Commit: | 945ad4f | |
|---|---|---|
| Author: | Ivan Pleshkov | |
api update
| Commit: | 8b45769 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | GitHub | |
V1.4.0 (#40) * update rest api * update grpc client * version up
| Commit: | 9958a68 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
update grpc client
| Commit: | fdc4e85 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
| Committer: | GitHub | |
v1.3.0 (#29) * update openapi and grpc * try to wait qdrant start * more sleep * sleep more * revert sleeps * version up * changeset file * disable audit for dev dependencies * add docker logs * fix client initialization in tests * remove integration test againts cloud --------- Co-authored-by: Andrey Vasnetsov <andrey@vasnetsov.com>
| Commit: | afad9a7 | |
|---|---|---|
| Author: | Ivan Pleshkov | |
update openapi and grpc
| Commit: | fb009e1 | |
|---|---|---|
| Author: | Luis Merino | |
| Committer: | GitHub | |
gRPC client + project setup overhaul (#24) - Generated gRPC client based on plugins from @bufbuild - REST client accepts maxConnections now using undici.js agent for fetch - Updated OAS definitions and improved generated types - Improved NPM dependency management in monorepo - Improved linting and tooling setup - Added CI check to avoid bumping a version of clients too early
| Commit: | 55ba6a3 | |
|---|---|---|
| Author: | Luis Merino | |
| Committer: | Luis Merino | |
Initial commit