qdrant_edge 0.8.0-dev.3 copy "qdrant_edge: ^0.8.0-dev.3" to clipboard
qdrant_edge: ^0.8.0-dev.3 copied to clipboard

On-device vector search for Dart and Flutter, powered by the qdrant-edge Rust engine through UniFFI — the same shared FFI crate as the Swift and Kotlin SDKs.

Changelog #

0.8.0-dev.3 #

Consumer-driven DX fixes for opening, distinguishing, and clearing shards. All additive — no change to existing load/search/update/filter semantics.

  • probeShard(path:) — classify a directory as none / loadable / unreadable (with a reason) before opening it, without taking the WAL lock. It answers "is there a store here, and would it open?" so consumers no longer reverse-engineer the on-disk layout. In particular, a shard whose edge_config.json is missing but whose segments are intact now reports loadable (it reopens fine) — removing the "full corpus seen as empty" class of bugs.
  • ShardLockedEdgeException — opening a shard another handle already holds now throws this distinct, recoverable exception instead of a generic OperationExceptionEdgeException, so callers can retry or report "already open" without substring-matching a message.
  • EdgeShard.clear() — deletes every point in place (the shard stays open, its config and indexes intact); the discoverable form of the match-all deletePointsByFilter(Filter()) idiom.
  • Exception guarantee: UniffiInternalError is now exported, so every exception crossing the API is catchable by name — an EdgeException (domain/engine error) or UniffiInternalError (a Rust panic or bindings/native protocol mismatch). Documented under README "Error handling". The previously-unexported top-level unpackSnapshot is exported too.
  • Re-cut of the edge-dart-native-v0.8.0 prebuilts to carry the new FFI symbols (checksums updated).

0.8.0-dev.2 #

  • Fix: normalize the iOS native binary's minimum OS version to 13.0 to avoid App Store rejection (ITMS-90208). Flutter's Native Assets wrapper hardcodes MinimumOSVersion 13.0 into the generated .framework Info.plist, and App Store Connect rejects a nested framework whose binary minos (15.0) exceeds its own plist. The prebuilt iOS dylibs now carry minos 13.0.

0.8.0 #

First release of the Qdrant Edge SDK for Dart & Flutter — on-device vector search with no server and no network, powered by the shared qdrant-edge-ffi Rust crate (the same crate the Swift and Kotlin SDKs bind) through UniFFI.

  • Full shard API: load/persist, upsert, search, and query (nearest, RRF/DBSF fusion, MMR, formula, order-by, sample), retrieve / scroll / count / facet / groups, the filter-condition set, config setters, and snapshot manifest.
  • Curated public surface via package:qdrant_edge/qdrant_edge.dart — the UniFFI plumbing stays out of the semver contract behind an explicit show list.
  • Native engine as a Native Asset: the build hook resolves a per-platform, SHA256-pinned prebuilt cdylib (Linux x86_64/arm64, Windows x86_64, macOS arm64, iOS arm64 device/simulator, Android arm64/x86_64), downloading it from the release when no local build is available — so consumers need no Rust toolchain.
  • Built --no-default-features (no search_matrix), matching the Swift and Kotlin mobile SDKs.
0
likes
140
points
283
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

On-device vector search for Dart and Flutter, powered by the qdrant-edge Rust engine through UniFFI — the same shared FFI crate as the Swift and Kotlin SDKs.

Topics

#vector-search #embeddings #database #ffi #on-device

License

Apache-2.0 (license)

Dependencies

code_assets, crypto, ffi, hooks

More

Packages that depend on qdrant_edge