Change8

v1.38.10

📦 weaviateView on GitHub →
6 features🐛 47 fixes🔧 29 symbols

Summary

This release includes numerous bug fixes and performance improvements across various modules, including async replication, backups, and storage. New features introduce enhanced search capabilities via the REST API and improved backup options.

Migration Steps

  1. The `TestReadSnapshotBufferAllocation` test was removed; ensure no external dependencies relied on it.
  2. The `Testcontainer` endpoint and docstring have been updated; review any custom test container configurations.
  3. Namespace actions are now gated; ensure proper permissions are configured if using namespaces.
  4. The `gh escape-sequence` feature check behavior might change due to SIGPIPE handling; review if this feature is critical.
  5. Async replication configuration is now validated before RAFT commit; ensure your async replication settings are valid.

✨ New Features

  • Introduce `includeRoles` to backup/restore process.
  • Add opt-in gRPC transport for Backup-GCS.
  • Introduce BM25 keyword search endpoint (REST Search API 1/4).
  • Introduce hybrid search endpoint (REST Search API 2/4).
  • Introduce near-object search endpoint (REST Search API 3/4).
  • Introduce aggregate counts endpoint (REST Search API 4/4).

🐛 Bug Fixes

  • Remove flaky TestReadSnapshotBufferAllocation.
  • Size heartbeat digest buffers by set count, not leaf count.
  • Read the dimensions bucket once per usage sweep.
  • Warm the version map in the background at startup.
  • Report the tenant's pre-freeze status on an aborted freeze.
  • Unmarshal namespace snapshot outside of lock.
  • Size the roaringsetrange pread read buffer from the segment payload.
  • Fix flaky teardown in async replication acceptance suites.
  • Report one error per object when a shard refuses a batch.
  • Move `st.trackDBLoadProgress` inside `st.reloadDBFromSchema`.
  • Backport #12079 and #12127 to stable/v1.37 for async-repl.
  • Gate tenant actions by namespaces.
  • Fix non-compiling test.
  • Don't dereference nil target combination in parseNearVec.
  • Serve a failed backup's reason from the participant status.
  • Keep error type through the objects manager.
  • Read only the geo property when resolving a coordinate.
  • Surface root-prefilter skips in asyncReplicationStatus.
  • Targeted replace scan with newest-wins visibility in lsmkv.
  • Keep the parked pread buffer on sequential replace cursor scans.
  • Complete updateIndexTenants when one tenant fails.
  • Drop per-cycle allocations from the idle compaction path.
  • Read targeted-scan ranges straight from the file in lsmkv.
  • Parse replace nodes without allocating.
  • Fixes bugs in segment group tmp file recovery.
  • Include GEO HNSW index in backups.
  • Pin replacement replicas to a namespace's home node.
  • Treat a non-positive vector cache maxSize as unbounded.
  • Hold the posting lock during version map warmup.
  • Count occupied slots, and add PreloadIfAbsent to cache.
  • Concurrently prefill geo caches using exinsg prefiller.
  • Treat an unrecognized task status as in-flight in dtm.
  • Bound vector reads by their declared segment.
  • Fix Geo property bugs.
  • Don't let SIGPIPE break the gh escape-sequence feature check.
  • Apply the filter to the BM25 search in Hybrid Aggregation.
  • Wait for the local schema before writes that resolve an index by name.
  • Fix three crashes and data corruptions in cluster state handling.
  • Wait for storage to settle instead of relaxing assertions in usage tests.
  • Never publish or load a stale hashtree snapshot in async-repl.
  • Don't panic when a batch has objects with no vectorizable properties.
  • Reject invalid async replication config before RAFT commit.
  • Report every shard failure during index reconcile.
  • Fetch Boost.Depth-deep candidates in hybrid sub-searches.
  • Skip dropped named vectors when computing cold shard usage.
  • Report legacy vector alongside named vectors in usage metrics.
  • Make cold tenants report the same data as hot tenants in Usage.

Affected Symbols