From fc7197ec93ca2d7d377c3305bd208e747d23e47f Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Sat, 20 Jun 2026 16:11:24 +0200 Subject: [PATCH] Added compatibility shim for the Qdrant Edge migration (#812) --- .../2026-06-qdrant-edge-migration.md | 26 +++++++++++++++++++ .../2026-06-self-hosted-secret-id.md | 3 +-- runtime/src/qdrant_edge_database.rs | 2 ++ 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 documentation/compatibility-shims/2026-06-qdrant-edge-migration.md diff --git a/documentation/compatibility-shims/2026-06-qdrant-edge-migration.md b/documentation/compatibility-shims/2026-06-qdrant-edge-migration.md new file mode 100644 index 00000000..6aadeba5 --- /dev/null +++ b/documentation/compatibility-shims/2026-06-qdrant-edge-migration.md @@ -0,0 +1,26 @@ +# Qdrant Edge Migration + +- Status: Active +- Introduced: 2026-06-02 +- Remove after: 2026-12-02 +- Code references: + - `runtime/src/qdrant_edge_database.rs` + +## User Impact + +Older installations may still contain Qdrant server sidecar binaries or directories after upgrading to a release that uses Qdrant Edge. + +Without this shim, obsolete Qdrant server files could remain in application data or bundled resource locations even though AI Studio no longer starts or uses the separate Qdrant server process. + +## Compatibility Behavior + +When Qdrant Edge starts, AI Studio checks known previous Qdrant server sidecar locations and attempts to remove obsolete `qdrant` and `qdrant_test` files or directories. + +On Windows and macOS production installations, AI Studio also checks the executable directory for old `qdrant.exe` or `qdrant` sidecar binaries. Missing paths are ignored, and failed cleanup attempts are logged without blocking Qdrant Edge startup. + +## Removal Checklist + +- Remove `remove_obsolete_qdrant_sidecar_files`. +- Remove `remove_obsolete_qdrant_path` if it has no other callers. +- Remove the startup cleanup call from `start_qdrant_edge_database`. +- Update this document's status to `Removed`. \ No newline at end of file diff --git a/documentation/compatibility-shims/2026-06-self-hosted-secret-id.md b/documentation/compatibility-shims/2026-06-self-hosted-secret-id.md index acfdbf8a..8e38a2c1 100644 --- a/documentation/compatibility-shims/2026-06-self-hosted-secret-id.md +++ b/documentation/compatibility-shims/2026-06-self-hosted-secret-id.md @@ -27,5 +27,4 @@ This applies to LLM provider, embedding provider, and transcription provider API - Remove `LegacySelfHostedAPIKeys`. - Remove legacy lookup, migration, and cleanup calls from API key read, write, and delete paths. - Keep `LLMProvidersExtensions.ToSecretId()` and the canonical `Self-hosted` namespace. -- Update this document's status to `Removed`. -- Add a changelog entry only if removal is user-visible. \ No newline at end of file +- Update this document's status to `Removed`. \ No newline at end of file diff --git a/runtime/src/qdrant_edge_database.rs b/runtime/src/qdrant_edge_database.rs index 89f33bc4..0c495cb4 100644 --- a/runtime/src/qdrant_edge_database.rs +++ b/runtime/src/qdrant_edge_database.rs @@ -384,6 +384,8 @@ fn set_qdrant_edge_unavailable(reason: String) { status.unavailable_reason = Some(reason); } +// Temporary compatibility shim until 2026-12-02: +// documentation/compatibility-shims/2026-06-qdrant-edge-migration.md fn remove_obsolete_qdrant_sidecar_files(app_handle: &tauri::AppHandle) { let mut paths = Vec::new();