AI-Studio/runtime/patches
Thorsten Sommer e9aaff5774
Some checks are pending
Build and Release / Determine run mode (push) Waiting to run
Build and Release / Read metadata (push) Blocked by required conditions
Build and Release / Sync Flatpak repo (push) Blocked by required conditions
Build and Release / Collect Flatpak artifacts (push) Blocked by required conditions
Build and Release / Verify (push) Waiting to run
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Prepare & create release (push) Blocked by required conditions
Build and Release / Publish release (push) Blocked by required conditions
Upgrade Qdrant Edge to 0.8.0 and make unreadable vector stores repairable (#982)
2026-09-18 14:48:02 +02:00
..
README.md Upgrade Qdrant Edge to 0.8.0 and make unreadable vector stores repairable (#982) 2026-09-18 14:48:02 +02:00

Runtime Patches

This directory documents temporary patches for third-party Rust dependencies.

permutation_iterator

qdrant-edge depends on permutation_iterator 0.1.2, and that crate has seen no release since 2019. Its published version pulls in an outdated rand line, which drags a second copy of the whole rand family into our dependency tree: rand 0.7.3, rand_core 0.5.1, rand_chacha 0.2, rand_hc, getrandom 0.1.16, wasi 0.9 and cfg-if 0.1, next to the current ones everything else uses.

The fork SommerEngineering/permutation-iterator-rs is the published 0.1.2 with rand raised to 0.8, so it still satisfies what qdrant-edge asks for. AI Studio pins it in runtime/Cargo.toml:

[patch.crates-io]
permutation_iterator = { git = "https://github.com/SommerEngineering/permutation-iterator-rs.git", rev = "..." }

The same change was offered upstream in asimihsan/permutation-iterator-rs#14, where it has been waiting since 2021. This is tree hygiene, not a build failure: without the patch the runtime still builds, it just carries the old rand family along.

When this patch can go

Either of these is enough, and both are worth a look whenever qdrant-edge is updated:

  • crates.io carries a permutation_iterator newer than 0.1.2 which uses a current rand. Then the [patch.crates-io] entry goes, and qdrant-edge's own requirement decides the version.
  • qdrant-edge stops depending on permutation_iterator at all. Check with cargo tree -i permutation_iterator after the update.

Afterward, grep 'name = "rand"' -A 2 runtime/Cargo.lock must not show a 0.7 version anymore. SommerEngineering/permutation-iterator-rs can then be deleted.