Skip to content

v0.5.0

Latest

Choose a tag to compare

@iaojnh iaojnh released this 12 Jun 09:40
· 3 commits to main since this release
815a678

πŸš€ 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 MultiQuery for true hybrid retrieval across dense vectors, sparse vectors, scalar filters, and text; MultiQuery with 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 an output_fields parameter 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-studio or 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_bits validation), IVF result ordering, and vector index naming. (#433, #456, #425, #436, #422, #421)
  • Misc Fixes: Windows macro conflict, uint64_t format specifiers, HNSW context fetch, and Python unit tests. (#435, #374, #386, #401)

πŸ”§ Refactoring & Cleanup

  • Unified Query API: Dropped VectorQuery, unified single-target query on SearchQuery, 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 -Werror across 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/cache 4β†’5 and codecov/codecov-action 6β†’7. (#466, #467)

πŸ‘‹ New Contributors

Thanks to all first-time contributors in this release:


Full Changelog: v0.4.0...v0.5.0