Release v3.0.3: The Hybrid Search & SDK Parity Update 🌌
In this release (v3.0.3), we focused on global stabilization and deep synchronization between the HyperspaceDB core engine and our entire SDK ecosystem. The major highlights of this update are the introduction of full-fledged Hybrid Search (BM25 + Vector) and achieving strict functional parity across all language clients.
HyperspaceDB is no longer just a vector database; it is now a comprehensive hybrid search engine built for complex RAG systems and autonomous agents.
Here is the detailed breakdown of what's new:
⚙️ 1. Core Engine & BM25
- BM25 Lexical Ranking: We have introduced native support for BM25 lexical ranking (supporting both
bm25andbm25plusalgorithms). The engine now accurately accounts for Term Frequency (TF), Inverse Document Frequency (IDF), and document length normalization. - Hybrid Fusion (RRF): Implemented the Reciprocal Rank Fusion (RRF) algorithm to seamlessly merge vector and lexical search results. This provides "smart" ranking where semantic proximity and exact keyword matching work in tandem.
- Streaming Reconsolidation: Updated the
TriggerReconsolidationlogic to support dynamic vector shifting in hyperbolic space without locking or blocking the HNSW graph.
📡 2. Protobuf & gRPC API
- New Contracts: Added the
Bm25Optionsstructure to bothSearchRequestandSearchTextRequest. This allows developers to fine-tune BM25 parameters (k1,b), select the stemming language, and choose the fusion method (rrforlinear) directly from the search query. - Handler Synchronization: All server-side gRPC handlers in
hyperspace-serverhave been updated to correctly route hybrid search parameters down to the storage chunks.
🌐 3. SDK Parity Milestone
We have aligned all official SDKs to a unified API standard for the v3.0.x lifecycle.
⚠️ TypeScript (TS):- Breaking Change: The argument order in
insertandinsertTextmethods has been changed to(id, vector, ...)to strictly match the Rust and Go implementations. - Proto Sync: Regenerated
hyperspace_pb.jsfiles and added full support forBm25Options.
- Breaking Change: The argument order in
⚠️ Python:- Breaking Change: Refactored method signatures in
client.py. Theidparameter is now always the first argument. - Hybrid Logic Fix: Resolved ambiguity between
hybrid_queryandquery_textduring automatic embedding generation, ensuring hybrid queries work flawlessly.
- Breaking Change: Refactored method signatures in
- Go & C++:
- Full protocol regeneration using the latest compilers and plugins (Go-grpc, CPP-plugin).
- ROS2:
- Updated service interfaces to pass
hybrid_alphaand other advanced search parameters directly to the underlying C++ driver.
- Updated service interfaces to pass
📚 4. Documentation & DevExp
- The Official MD Book:
- API Reference: Added detailed descriptions for the new
Bm25Optionsfields. - Hybrid Search Chapter: Added conceptual diagrams explaining RRF and provided copy-pasteable code snippets for all supported languages.
- Python SDK Docs: Updated all examples to reflect the new method signatures and architecture.
- API Reference: Added detailed descriptions for the new
- CHANGELOG: Added the v3.0.3 Stability Release notes, officially marking the completion of the Hybrid Search epic.
- README: The SDK parity map now accurately reflects
v3.*support across all platforms.
🛠 Build Status
- All changes across
hyperspace-core,hyperspace-index, andhyperspace-serverhave successfully passed strict type validation andclippychecks. - Bumped versions in
Cargo.tomlfor all core crates to 3.0.3.
Upgrade Note: If you are using the Python or TypeScript SDKs, please update your insert function calls to pass the id as the first argument to avoid runtime errors.
Enjoy building smarter agents! 🚀