waffle_db 0.0.2+1
waffle_db: ^0.0.2+1 copied to clipboard
An advanced, local vector database for Flutter, powered by Rust and HNSW graph indexing.
0.0.2+1 #
- OHOS Platform Support: Introduced OpenHarmony (OHOS) SDK environment variable retrieval in
Environment, updatedRustuptoolchain resolution, added target configurations for OHOS inTarget, updated CMake configuration to handle OHOS builds, and modified Gradle plugin to utilizeExecOperations. - Dependencies & Bindings: Updated dependencies in
pubspec.yamlandCargo.tomlto latest versions and regenerated Rust API files usingflutter_rust_bridgeversion2.13.0.
0.0.2 #
-
HNSW Save Reliability: Fixed a bug where closing or flushing an empty HNSW index returned an error by skipping index dump if the graph contains 0 elements.
-
Index Load Resiliency: Fixed a startup crash ("failed to fill whole buffer") by ensuring both the map and the HNSW graph file exist on disk before trying to load them.
-
Asynchronous Benchmark Suite: Added a comprehensive real-world async performance benchmark suite under
test/vector_db_real_world_benchmark_test.dartusingbenchmark_harness. -
Color Semantic Search Example: Rewrote the example app under
example/lib/main.dartinto an interactive, visual color semantic search demonstration that inserts up to 12 million random colors and queries the 150 closest matches in milliseconds. -
Performance Optimization: Optimized vector serialization/deserialization on read paths using fast raw pointer copies.
-
Memory Footprint Reduction: Pre-allocated internal map capacities (
id_map,reverse_id_map, and ID list vectors) based on database size, preventing multiple heap reallocations. -
Mutex Lock Consolidation & Deadlock Prevention: Combined separate ID mapping locks into a single
IdRegistrymutex, avoiding cross-lock deadlock hazards and minimizing locking overhead. -
Zero-Copy Batch Insertion: Refactored
waffle_insert_batchto slice the flat array directly for disk persistence, reducing heap-allocated vector clones by 50%. -
Correctness & Performance Fix: Linked
includeMetadatainWaffleQueryBuilderto the underlying Rust API so metadata is correctly retrieved when requested, and omitted when not needed. -
Dart Namespace Caching: Cached collection namespace prefixes in
WaffleCollectionto avoid dynamic string creation during filtering.
0.0.1+1 #
- fix unsupported platforms
0.0.1 #
- Initial release of Waffle-DB.