v1.37.15
v1.37.15 - LSM store and HFresh Fixes, New multi2vec-twelvelabs and generative-digitalocean modules
Added 3
- Add retry to module base client
- Add support for cross-property AND matching in BM25 search
- Add TwelveLabs Marengo multimodal vectorizer as multi2vec-twelvelabs module
Fixed 23
- Route shard access through Index.withShardOrRemote
- Allocate per-tenant vector cache memory lazily and proportionally to tenant size
- Unify the loading-shard readiness check and fix FetchObjects in replication
- Fix data race in TestPartialChunkRecovery
- Stop truncating UUIDs in id_as_bytes and batch-delete uuid in gRPC
- Put actionable error text in msg on the boot and exit paths
- Reduce HNSW snapshot allocations
- Require every Bucket to carry a logger in lsmkv
- Fix disposable_created size label off-by-one error
- Roll back shouldAbort when context expires while callback runs in cyclemanager
- Skip collection tick while previous report is still running in usage module
- Cancel and drain the cache prefill before teardown in HNSW
- Fix 'quantizer not initialized' search error during RQ lazy initialization in flat
- Fix usage module with named vectors where one is a prefix of another
- Handle ECONNRESET errors in handlePanics function
- Handle context cancellation in cursor operations to prevent incorrect nil returns
- Remove temporary files in compaction/cleanup on failure
- Resolve replicas locally and never implicitly activate a tenant in async replication
- Return the gRPC query profile when a query matches no objects
- Clean up partial HNSW commit log on aborted flat to HNSW upgrade
- Return explicit BM25 b/k1 values of 0 in schema responses
- Warm the version map in the background at startup in hfresh
- Fix bugs in segment group temporary file recovery
Removed 1
- Remove support for restoring old backup formats
Deprecated 1
- Mark the non-hardlink backup fallback as deprecated, to be removed in v1.40
Security 1
- Bump x/net and x/text to address CVE-2026-46600 and CVE-2026-56852
From Weaviate
Breaking Changes
none
New Features
none
Fixes
- Remove support for restoring old backup formats by @dirkkul in https://github.com/weaviate/weaviate/pull/12338
- Route shard access through Index.withShardOrRemote by @dirkkul in https://github.com/weaviate/weaviate/pull/12366
- Allocate per-tenant vector cache memory lazily and proportionally to tenant size by @asdine in https://github.com/weaviate/weaviate/pull/12116
- fix(replication): unify the loading-shard readiness check and fix FetchObjects by @moogacs in https://github.com/weaviate/weaviate/pull/12370
- Add retry to module base client by @dirkkul in https://github.com/weaviate/weaviate/pull/12377
- fix(queue): fix data race in TestPartialChunkRecovery by @asdine in https://github.com/weaviate/weaviate/pull/12383
- feat: add support for cross-property AND matching in BM25 search by @amourao in https://github.com/weaviate/weaviate/pull/11929
- test: pin the nearObject anchor in the unlimited vector search tests by @etiennedi in https://github.com/weaviate/weaviate/pull/12376
- chore(deps): bump x/net and x/text in all three modules (CVE-2026-46600, CVE-2026-56852) by @etiennedi in https://github.com/weaviate/weaviate/pull/12371
- fix(grpc): stop truncating UUIDs in id_as_bytes and batch-delete uuid by @etiennedi in https://github.com/weaviate/weaviate/pull/12348
- log: put actionable error text in msg on the boot and exit paths by @etiennedi in https://github.com/weaviate/weaviate/pull/12354
- Reduce HNSW snapshot allocations by @dirkkul in https://github.com/weaviate/weaviate/pull/12387
- fix(lsmkv): require every Bucket to carry a logger by @etiennedi in https://github.com/weaviate/weaviate/pull/12404
- fix disposable_created size label off-by-one by @etiennedi in https://github.com/weaviate/weaviate/pull/12373
- fix(cyclemanager): roll back shouldAbort when ctx expires while callback runs by @etiennedi in https://github.com/weaviate/weaviate/pull/12265
- fix(cyclemanager): roll back abort when ctx expires while callback runs by @aliszka in https://github.com/weaviate/weaviate/pull/12411
- fix(usage): skip collection tick while previous report is still running by @antas-marcin in https://github.com/weaviate/weaviate/pull/12139
- fix(hnsw): cancel and drain the cache prefill before teardown by @moogacs in https://github.com/weaviate/weaviate/pull/12408
- flat: fix 'quantizer not initialized' search error during RQ lazy initialization by @asdine in https://github.com/weaviate/weaviate/pull/12419
- perf(hnsw): parallelize Muvera late-interaction rescoring by @etiennedi in https://github.com/weaviate/weaviate/pull/10536
- Don't hold the DB index lock across a verbose node-status scan by @dirkkul in https://github.com/weaviate/weaviate/pull/12375
- Reduce allocations in tenant activity tracking by @dirkkul in https://github.com/weaviate/weaviate/pull/12425
- Don't allocate a mutex on every key-locker call by @dirkkul in https://github.com/weaviate/weaviate/pull/12430
- feat(multi2vec-twelvelabs): add TwelveLabs Marengo multimodal vectorizer by @antas-marcin in https://github.com/weaviate/weaviate/pull/12431
- perf(bm25): parallelize block term creation across properties by @amourao in https://github.com/weaviate/weaviate/pull/12020
- perf(hnsw): slab-allocate visited sparse-set segments by @abdelr in https://github.com/weaviate/weaviate/pull/12374
- feat(hnsw): respect per-query concurrency budget in compressed rescore by @asdine in https://github.com/weaviate/weaviate/pull/12421
- Fix usage module with named vectors where one is a prefix of another by @dirkkul in https://github.com/weaviate/weaviate/pull/12428
- fix(panics): handle ECONNRESET errors in handlePanics function by @amourao in https://github.com/weaviate/weaviate/pull/12449
- fix: handle context cancellation in cursor operations to prevent incorrect nil returns by @amourao in https://github.com/weaviate/weaviate/pull/12448
- Remove tmp files in compaction/cleanup on failure by @dirkkul in https://github.com/weaviate/weaviate/pull/12452
- async replication: resolve replicas locally, never implicitly activate a tenant by @jeroiraz in https://github.com/weaviate/weaviate/pull/12256
- docs(backup): mark the non-hardlink backup fallback as deprecated (removed in v1.40) by @etiennedi in https://github.com/weaviate/weaviate/pull/12469
- fix: return the gRPC query profile when a query matches no objects by @etiennedi in https://github.com/weaviate/weaviate/pull/12381
- fix(tools): adapt qa_pr.sh log fetch to gh >= 2.97 escape-sequence guard by @antas-marcin in https://github.com/weaviate/weaviate/pull/12462
- fix(dynamic): clean up partial HNSW commit log on aborted flat->HNSW upgrade (v1.37) by @asdine in https://github.com/weaviate/weaviate/pull/12420
- perf(hfresh): parallelize rescoring with budget-aware workers by @asdine in https://github.com/weaviate/weaviate/pull/12487
- perf(hfresh): read rescore vectors through one bucket view with pooled buffers by @asdine in https://github.com/weaviate/weaviate/pull/12490
- fix(schema): return explicit bm25 b/k1 values of 0 in schema responses by @amourao in https://github.com/weaviate/weaviate/pull/12489
- Remove TestReadSnapshotBufferAllocation which was flaky by @dirkkul in https://github.com/weaviate/weaviate/pull/12493
- perf(hfresh): warm the version map in the background at startup by @asdine in https://github.com/weaviate/weaviate/pull/12504
- fix(async-repl): backport #12079 and #12127 to stable/v1.37 by @jfrancoa in https://github.com/weaviate/weaviate/pull/12547
- perf(lsmkv): targeted replace scan with newest-wins visibility by @amourao in https://github.com/weaviate/weaviate/pull/12396
- perf(lsmkv): read targeted-scan ranges straight from the file by @amourao in https://github.com/weaviate/weaviate/pull/12592
- Fixes bugs segment group tmp file recovery by @dirkkul in https://github.com/weaviate/weaviate/pull/12458
- fix(hfresh): hold the posting lock during version map warmup by @asdine in https://github.com/weaviate/weaviate/pull/12612
- fix(cache): count occupied slots, and add PreloadIfAbsent by @amourao in https://github.com/weaviate/weaviate/pull/12593
- fix(storobj): bound vector reads by their declared segment by @amourao in https://github.com/weaviate/weaviate/pull/12594
- fix(tools): don't let SIGPIPE break the gh escape-sequence feature check by @antas-marcin in https://github.com/weaviate/weaviate/pull/12625
- test(usage): wait for storage to settle instead of relaxing the assertions by @antas-marcin in https://github.com/weaviate/weaviate/pull/12635
- fix(modules): don't panic when a batch has objects with no vectorizable properties by @antas-marcin in https://github.com/weaviate/weaviate/pull/12617
- Add MUVERA specific usage calculations by @trengrj in https://github.com/weaviate/weaviate/pull/12294
- fix(runtime-config): register disable_dimension_metrics as a runtime override by @amourao in https://github.com/weaviate/weaviate/pull/12733
- fix(hnsw): restore cache reads for uncompressed non-MUVERA late-interaction rescore by @trengrj in https://github.com/weaviate/weaviate/pull/12731
- fix(lsmkv): write WAL tombstone pair before publishing inverted doc tombstone by @amourao in https://github.com/weaviate/weaviate/pull/12741
- Fix all linter issues coming form golangci-list v2.13.1 by @dirkkul in https://github.com/weaviate/weaviate/pull/12752
- ci: upgrade modules light and modules api runners to ubicloud-standard-4 by @antas-marcin in https://github.com/weaviate/weaviate/pull/12776
- fix(aggregator): merge remote shard aggregations after JSON round trip (mean/median/mode panic on multi-node) by @amourao in https://github.com/weaviate/weaviate/pull/12746
- feat(generative-digitalocean): add DigitalOcean generative module by @antas-marcin in https://github.com/weaviate/weaviate/pull/12786
- security(docker): pin minimum openssl version so cached builds pull CVE fixes by @antas-marcin in https://github.com/weaviate/weaviate/pull/12799
- chore(Dockerfile): remove unnecessary comments by @antas-marcin in https://github.com/weaviate/weaviate/pull/12803
- fix: respect named-vector source_properties when re-vectorizing on update by @g-despot in https://github.com/weaviate/weaviate/pull/11789
- fix(hfresh): decode centroid codes with the right quantizer in split/merge reassignment by @asdine in https://github.com/weaviate/weaviate/pull/12795
- chore(gen-code-from-swagger.sh): add code formatting step by @antas-marcin in https://github.com/weaviate/weaviate/pull/12814
Full Changelog: https://github.com/weaviate/weaviate/compare/v1.37.14...v1.37.15