Repository navigation
Releases: 4thel00z/qdrant-operator
Releases · 4thel00z/qdrant-operator
Release list
v0.3.2
v0.3.1
v0.3.0
0.3.0 (2026-09-24)
Features
- accesskey: claims, durations and renewal rules in the domain (6aa5d6f)
- accesskey: issue and renew tokens on a timer (984a584)
- accesskey: QdrantAccessKey CRD and apiKey.jwtRbac on QdrantCluster (d39533c)
- accesskey: TokenPort with a PyJWT adapter and owned Secret writes (332d656)
- cluster: podAnnotations and podLabels on QdrantCluster (2075aa9)
- collection: collection, alias and payload index calls on the Qdrant port (af18e21)
- collection: domain model and Qdrant body derivation (9710139)
- collection: level-triggered reconcile and deletion policy (f411023)
- collection: memory tiers, metadata, payload storage and shard keys (3e06158)
- collection: QdrantCollection CRD (7114157)
- crds: CEL admission rules on the existing resources (716e439)
- migration: count, scroll and upsert on the Qdrant port (c85753b)
- migration: ExecuteMigration use case and handler (fd63647)
- migration: QdrantMigration CRD (8001220)
- migration: resume from status, shard-key preservation and routing (1e58a7b)
- migration: source, target overrides and config-to-body translation (388a76c)
Bug Fixes
- accesskey: never overwrite a Secret this resource does not own (7391820)
- cluster: render service.jwt_rbac only when enabled (edcdae9)
- collection: PATCH only the blocks the live config misses (5924b09)
- collection: pinned is not a dense-vector memory tier; pin version notes to 1.19 (d25800e)
- migration: no shard keys on auto-sharded targets, e2e for custom sharding (83a5051)
- types: AsyncGenerator return types on asynccontextmanager functions (3a17d9a)
Documentation
- book: access keys and migrations (89283ed)
- book: correct suspend, restart and snapshotPersistence behavior (223a752)
- CRD upgrade step and the custom-sharding migration limitation (bc91aba)
- mdBook site on GitHub Pages (d998a88)
- QdrantCollection, QdrantAccessKey and QdrantMigration (19858f7)
- shard keys, metadata and resumable migrations (bf312b4)
Build
v0.2.1
v0.2.0
0.2.0 (2026-09-23)
Features
- add container and main entry point (cd5f1c7)
- add Helm chart for operator deployment (810267e)
- add integration tests and fix image tag (ee902af)
- add integration tests for cluster lifecycle (31d192e)
- add kopf handlers for all CRDs (7d6d918)
- add ports.py with Protocol interfaces (8859ec0)
- add S3 and Kubernetes adapters (75a3188)
- add usecases.py with application logic (b7e07eb)
- chart: liveness probe, helm cache env, trimmed RBAC, script entrypoint (c565e29)
- complete operator implementation (e579bd7)
- crds: per-node snapshot status, expiresAt, lastScheduleTime, no_sync priority (f37b6a9)
- handlers: write status via patch.status, add resume/timers/probe (c8719b8)
- helm: stateless upgrade --install with values over stdin (5529c36)
- kubernetes: load config once, close clients, map 404s (517295a)
- qdrant: per-node client, streamed snapshots, native recover endpoint (6e4ef2b)
- s3: streaming multipart upload, presigned URLs and prefix deletion (68cda25)
- usecases: multi-node backup, manifest-driven restore, CronJob schedules (bad9e8d)
Bug Fixes
- docker: ship README/LICENSE for the build backend and use a dedicated user (9943b5e)
- use UTC for all datetime calls (f1af3d6)
Refactoring
- clean up QdrantAdapter and QdrantPort (ff86bdd)
- domain: rewrite domain model with from_dict/to_dict and pure rules (efe34af)
- ports: redefine ports around nodes, streams and resource refs (97f7cc9)
- update usecases to use new QdrantPort interface (56878ff)
Documentation
- add docs with usage/installation (b92829c)
- describe the rewritten architecture, bucket layout and test strategy (d0d9b6e)
Build
- replace structlog with loguru and add packaging metadata (9be4243)
CI
- drive releases with release-please (9d42257)
- GitHub Actions CI and tag-driven release to PyPI, ghcr.io and OCI chart (62034e5)
- let feat commits bump the minor version and refresh uv.lock for real (4b45924)
- publish from the release-please run so no PAT is needed (0b777fb)
- uv rejects an empty UV_FROZEN, use 0 (e876166)