Releases: NaCode-Studios/Kdrant
Release list
v1.1.0
Maintenance & compatibility release on top of 1.0.0. Kdrant's own public API is unchanged (the *.api dumps are identical, apiCheck green).
Changed
kdrant-spring-ai→ Spring AI2.0andkdrant-spring-boot-starter→ Spring Boot4.1(Spring Framework 7 / Jakarta EE 11). Verified end-to-end: the auto-configuration loads in a Boot 4 context and theVectorStoreadapter passes its tests against Spring AI 2.0.
Compatibility: applications still on Spring AI 1.x / Spring Boot 3.x should pin those two modules to1.0.0until they upgrade.kdrant-coreandkdrant-transport-restare unaffected.kdrant-langchain4j→ LangChain4j1.18.0— a backwards-compatible minor upgrade.
Internal / quality
- Toolchain: Kotlin
2.4.10, Gradle9.6.1, kotest6.2.2, plus assorted minor/patch bumps; CI actions run on Node 24. - The Kotlin modules now compile with
allWarningsAsErrors— every compiler deprecation fails the build, so the code stays warning-clean across future upgrades. A fullclean buildreports 0 Kotlin warnings.
Full changelog: https://github.com/NaCode-Studios/Kdrant/blob/main/CHANGELOG.md
1.0.0
Kdrant reaches 1.0.0 — the REST core is feature-complete and the public API is now stable under SemVer (see STABILITY.md).
Highlights since 0.2.0 (M19–M24)
- Aliases, service & analytics — atomic
updateAliases { … }+listAliases/listCollectionAliases;healthz/readyz/livez,listCollections,telemetry,metrics(Prometheus),listIssues/clearIssues;facet,searchMatrixPairs/searchMatrixOffsets. - Snapshots & backup/restore — collection + storage scope create/list/delete/recover, with streaming binary download (
Flow<ByteArray>) and multipart upload. - Granular transport & hot path — a
configureClientseam,connectTimeout/socketTimeout, api-key-redacting logging;Flow/Sequenceupsert; aFloatArrayzero-boxing dense path (vector/query); byte-aware upsert batching. - Ecosystem —
kdrant-spring-boot-starter,kdrant-spring-ai(Spring AIVectorStore),kdrant-langchain4j(LangChain4jEmbeddingStore), and a runnable RAG example (example-rag). - Quality & supply chain — ktlint + detekt gates, a JDK 17/21 × Qdrant-version CI matrix, Gradle wrapper validation, dependency review, Dependabot, and property-based serialization tests.
- Stability — the
catching { }helper (coroutine-safeResult), a written stability/semver policy (STABILITY.md), and a JMH upsert/search latency harness (benchmarks/).
Stability
From 1.0.0 the public API — exactly what the *.api files track — is stable: no breaking change without a major bump, @Deprecated for at least one minor before removal, and every operation stays suspend / Flow with cooperative cancellation. See STABILITY.md.
Install
implementation("io.github.nacode-studios:kdrant-transport-rest:1.0.0")Or import the BOM (io.github.nacode-studios:kdrant-bom:1.0.0) and declare the modules without versions.
Full details in CHANGELOG.md.
v0.2.0
A large feature release on top of 0.1.0.
Highlights
- Modern
/points/querysearch — nearest, hybrid RRF/DBSF fusion, sparse & multi-vectors,recommend/discover/context,searchBatch, andsearchGroups. - Payload & vector management — payload field indexes (
createPayloadIndex/deletePayloadIndex);setPayload/overwritePayload/deletePayload/clearPayload;updateVectors/deleteVectors. - Collection config —
updateCollection(PATCH) with optimizers / HNSW / quantization;optimizersandquantizationoncreateCollection. - Typed DX —
kdrantJson,payloadAs<T>/searchAs<T>/Hit<T>,getCollectionOrNull,createCollectionIfNotExists. - Resilience — retries with exponential backoff + jitter honoring
Retry-After; a finerKdrantExceptiontaxonomy (RateLimited/ServiceUnavailable/ServerError/AlreadyExists). - Correctness & security — the delete-by-filter data-loss fix, and TLS enforced when an API key is set.
- A
kdrant-bommodule to keep the modules on one aligned version.
See the CHANGELOG for the full list, and ROADMAP.md for what's next (M19–M25).
Install
implementation("io.github.nacode-studios:kdrant-transport-rest:0.2.0")Requires JDK 17+.
v0.1.0
First release of Kdrant — an idiomatic, coroutine-first Kotlin client for Qdrant.
Collections (create / delete / exists / info), upsert (dense & named vectors, payloads, auto-batching), search, scroll (as a Flow), count, retrieve, delete (by ids or filter), and a complete filter DSL — over a REST/Ktor transport behind a protocol-independent seam.
See the CHANGELOG for details.