π Zvec v0.5.0 Release Notes
π¦ New Features
- Full-Text Search (FTS): Zvec now natively supports full-text search β attach an FTS index to any string field and query it with natural-language or structured expressions, with index management through
Collection::CreateIndex/DropIndex. (#408, #445) - Hybrid Retrieval: Combine full-text and vector search in a single
MultiQueryfor true hybrid retrieval across dense vectors, sparse vectors, scalar filters, and text;MultiQuerywith reranking now works consistently across all language bindings (Python, Go, Rust, C++). (#459, #405) - DiskANN Index: Added a new DiskANN index that keeps the bulk of the index on disk instead of in RAM, drastically cutting memory usage for billion-scale datasets and making large-scale ANN search feasible on memory-constrained machines. (#369)
- Output Field Selection:
fetch()now accepts anoutput_fieldsparameter to control which fields are returned. (#358)
π Ecosystem
Beyond the core engine, the Zvec ecosystem expands with new official language SDKs and a visual management tool:
- Official Go SDK (zvec-go): cgo bindings wrapping
libzvec_c_api, with prebuilt libraries for Linux (x64/ARM64), macOS (ARM64), and Windows (x64). - Official Rust SDK (zvec-rust): Safe, idiomatic Rust bindings with RAII resource management, builder APIs, and
Result<T>error handling; supports macOS (x86_64/ARM64), Linux (x86_64/ARM64), and Windows (x86_64/MSVC). - Zvec Studio (zvec-studio): A visual management tool for the Zvec embedded vector database β browse data, test queries, and manage schemas without writing code. Install via
pip install zvec-studioor download the desktop app for macOS / Linux / Windows.
π Performance Improvements
- Faster Optimize: Reuse the first vector index file as the merge base during optimize. (#440)
- GIL Release in Bindings: Release the GIL in collection bindings for better Python concurrency. (#363)
π Bug Fixes
- Data Correctness: Fixed nullable-column SIGABRT on multi-segment collections, null leakage through nullable scalar filters, querier schema sync after DDL, and SQL optimizer cross-contamination via per-segment
QueryInfo. (#415, #416, #410, #429, #449) - Index Stability: Hardened DiskANN (medoid entry, concurrent-build crash, prune quality), RaBitQ (raw-vector merge during optimize, converter path,
ex_bitsvalidation), IVF result ordering, and vector index naming. (#433, #456, #425, #436, #422, #421) - Misc Fixes: Windows macro conflict,
uint64_tformat specifiers, HNSW context fetch, and Python unit tests. (#435, #374, #386, #401)
π§ Refactoring & Cleanup
- Unified Query API: Dropped
VectorQuery, unified single-target query onSearchQuery, and switched rerank to a vector-based interface. (#428, #431, #458, #267) - Codebase Cleanup: Applied
modernize-use-override, clarified segment-local row IDs, tuned the DiskANN build, switched to an explicit x86 CPU whitelist, removed the Hamming metric and Buffer Manager, and revised error messages. (#442, #419, #432, #475, #258, #365, #437, #400)
π€ CI & Build Improvements
- Build Hardening: Enabled
-Werroracross all CI platforms, fixed RISC-V FastPFOR via SIMDe, marked third-party includes as SYSTEM, and corrected DiskANN CMake paths. (#460, #470, #413, #464) - Faster CI: Added ccache/sccache (incl. Windows), parallelized tests, sped up clang-tidy, scoped the main workflow, and slimmed CRoaring to an amalgamation (~292M β ~1MB). (#360, #439, #454, #384, #412, #417, #418, #438, #396, #448, #381)
- Dependency Bumps:
actions/cache4β5 andcodecov/codecov-action6β7. (#466, #467)
π New Contributors
Thanks to all first-time contributors in this release:
Full Changelog: v0.4.0...v0.5.0