# Weaviate v1.38.5 — v1.38.5 - LSM store performance improvements, Batch vectorization potencial deadlocks Fix, Allocation free reference cacher improvement - Product: Weaviate (https://whatsnew.fyi/product/weaviate) - Vendor: Weaviate - Date: 2026-07-16 - Version: v1.38.5 - Original notes: https://github.com/weaviate/weaviate/releases/tag/v1.38.5 - Permalink: https://whatsnew.fyi/product/weaviate/releases/v1.38.5 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — Never hold version-map locks across LSM operations - **fixed** — Repair search time entrypoint - **fixed** — Fix batch vectorization deadlocks - **fixed** — Fix vectors invisible to flat cached search after restart with unflushed data - **changed** — Open dimensions bucket once per shard with sequential-access hint - **fixed** — Ensure tombstone metric is cleared when resetting the HNSW graph - **fixed** — Thread per-query budget into sroar merge fan-out - **fixed** — Sort WALs before recovery so the newest stays the active memtable - **changed** — Reuse read buffer in objectsByDocID - **changed** — Reuse read buffer in docID resolution loops - **changed** — Cache immutable memtable tombstone snapshot for queries - **changed** — Enable lock-free tombstone reads and write-side lock split - **changed** — Make in-place segment cleanup switch crash-atomic - **fixed** — Make class settings optional in generative-google to avoid sending defaults to Gemini - **changed** — Warn when collection cycles overlap the collection interval - **fixed** — Skip lazy-unloaded tenant shards in TTL sweep - **fixed** — Fix HTTP client concurrency in acceptance tests - **fixed** — Retry memberlist join with deadline - **fixed** — Expose structured where-filter on the MCP hybrid search tool ##### Breaking Changes *none* ##### New Features *none* ##### Fixes * fix(hfresh): never hold version-map locks across LSM operations by @asdine in https://github.com/weaviate/weaviate/pull/12119 * Search time entrypoint repair by @trengrj in https://github.com/weaviate/weaviate/pull/11956 * Fix batch vectorization deadlocks by @dirkkul in https://github.com/weaviate/weaviate/pull/12070 * flat: fix vectors invisible to flat cached search after restart with unflushed data by @asdine in https://github.com/weaviate/weaviate/pull/12132 * perf(usage): open dimensions bucket once per shard with sequential-access hint by @antas-marcin in https://github.com/weaviate/weaviate/pull/12106 * When resetting the HNSW graph, ensure tombstone metric is cleared by @trengrj in https://github.com/weaviate/weaviate/pull/12131 * Fix flaky GQL accptance test with EC issues by @dirkkul in https://github.com/weaviate/weaviate/pull/12140 * fix(concurrency): thread per-query budget into sroar merge fan-out (P1a) by @etiennedi in https://github.com/weaviate/weaviate/pull/12076 * ci: switch acceptance tests to use ubicloud-standard-4 runner by @antas-marcin in https://github.com/weaviate/weaviate/pull/12148 * fix(lsmkv): sort WALs before recovery so the newest stays the active memtable by @antas-marcin in https://github.com/weaviate/weaviate/pull/12138 * ci: switch integration and module tests to ubicloud runners by @antas-marcin in https://github.com/weaviate/weaviate/pull/12153 * perf(inverted): reuse read buffer in objectsByDocID by @amourao in https://github.com/weaviate/weaviate/pull/12142 * perf(sorter,group-by): reuse read buffer in docID resolution loops by @amourao in https://github.com/weaviate/weaviate/pull/12143 * perf(lsmkv): cache immutable memtable tombstone snapshot for queries by @amourao in https://github.com/weaviate/weaviate/pull/12051 * perf(lsmkv): lock-free tombstone reads + write-side lock split by @amourao in https://github.com/weaviate/weaviate/pull/12052 * feat(lsmkv): make in-place segment cleanup switch crash-atomic by @antas-marcin in https://github.com/weaviate/weaviate/pull/12156 * fix(generative-google): make class settings optional to avoid sending defaults to Gemini by @antas-marcin in https://github.com/weaviate/weaviate/pull/12123 * feat(usage): warn when collection cycles overlap the collection interval by @antas-marcin in https://github.com/weaviate/weaviate/pull/12174 * Skip lazy-unloaded tenant shards in TTL sweep by @dirkkul in https://github.com/weaviate/weaviate/pull/12178 * refatc(diagnostic): add slow raft apply log gate by @moogacs in https://github.com/weaviate/weaviate/pull/12180 * backport: fix(acceptance-test): handle http client concurrency by @moogacs in https://github.com/weaviate/weaviate/pull/12182 * backport: fix(memberlist): retry on join with deadline by @moogacs in https://github.com/weaviate/weaviate/pull/12183 * chore(rplc-mvmnt): remove `consumer.sync` from happy path due to redundancy by @tsmith023 in https://github.com/weaviate/weaviate/pull/12179 * perf(search): eliminate per-call allocations in SelectProperties lookups by @etiennedi in https://github.com/weaviate/weaviate/pull/12134 * perf(internode): exact-size single-alloc marshalling for fan-out payloads (slice 1/3) by @etiennedi in https://github.com/weaviate/weaviate/pull/12135 * fix(test): widen flaky RansomNote aggregate count assertion by @etiennedi in https://github.com/weaviate/weaviate/pull/12194 * fix(hnsw): entrypoint repair test flake by @trengrj in https://github.com/weaviate/weaviate/pull/12205 * fix(replica-movement): atomic LWW on change-log replay by @moogacs in https://github.com/weaviate/weaviate/pull/12190 * fix(lsmkv): reclaim deleted docs' property lengths at compaction by @amourao in https://github.com/weaviate/weaviate/pull/12147 * fix(lsmkv): track live-set avgdl at compaction so BM25 scores don't drift with deletes (#311) by @amourao in https://github.com/weaviate/weaviate _[Truncated at 4000 characters — full notes: https://github.com/weaviate/weaviate/releases/tag/v1.38.5]_