v0.5.1
bilibili/Index-anisorav0.5.1Jun 24, 2026by Cuiyus
AI Summary
Adds external vector source support, zero-copy vector query paths, and index dirty status. Fixes Python binding stability and HNSW persistence issues.
Key Highlights
- External Vector Source support for flexible data ingestion.
- Zero-Copy Vector Query Path using VectorViewClause.
- Exposed `is_dirty` status in the core Index interface.
New Features
- External Vector Source support.
- Zero-Copy Vector Query Path.
- Search Prefetch Configuration support.
- Index Dirty Status exposure.
Full Release Notes
## 🚀 Zvec v0.5.1 Release Notes ### 📦 New Features * External Vector Source: Added support for using external vector sources, enabling more flexible data ingestion and retrieval workflows. (#490) * Zero-Copy Vector Query Path: Added `VectorViewClause` to support a zero-copy query path and unified vector query validation. (#478) * Search Prefetch Configuration: Added support for passing prefetch configuration (`PO` and `PL`) through search parameters. (#482) * Index Dirty Status: Exposed `is_dirty` through the core `Index` interface so callers can inspect whether an index has pending changes. (#488) * Storage MMAP Options: Exposed copy-on-write mmap configuration and fixed `MMAP_POPULATE` flag placement. (#480) * C API FTS Sub-Query Support: Added Full-Text Search support for sub-query usage in the C API. (#520) ### 🐞 Bug Fixes * Python Binding Stability: Safely validate numpy vector queries, handle missing query-by-id documents, and add missing FTS type annotations to Python stubs and wrappers. (#502, #519, #497) * Python Packaging: Installed the `_zvec` extension inside the `zvec` package, excluded C++ SDK headers and libraries from wheels, and only bundled the DiskANN plugin on supported platforms. (#511, #509, #510) * Index and Storage Correctness: Cleaned up RocksDB files on `drop_index` so `create_index` can be repeated, fixed index parameter builder setters, and added coverage for builder behavior. (#485, #504) * HNSW Persistence: Restored persisted metadata correctly when reopening indexes using the `UniformInt8` quantizer. (#496) * Parquet Buffer Cache: Refactored parquet buffer cache ownership to avoid lifetime and ownership issues. (#492) * C API Cleanup: Simplified `convert_c_index_params_to_cpp` by using `IndexParams::clone()`. (#489) * Misc Fixes: Added a missing include in `block_heap.h`. (#491) ### 🤖 CI & Build Improvements * Build Requirements: Bumped the minimum required CMake version to 3.26. (#516) * Nightly Build: Added `aio` to the nightly build. (#469) * Dependency Bumps: Updated `actions/checkout` from 6 to 7. (#507) ### 👋 New Contributors Thanks to all first-time contributors in this release: * @HosniBelfeki (#502) *** Full Changelog: https://github.com/alibaba/zvec/compare/v0.5.0...v0.5.1