# Weaviate v1.39.1 — v1.39.1 - Search REST endpoints, async replication & LSM performance, Backup, Geo & Usage module fixes - Product: Weaviate (https://whatsnew.fyi/product/weaviate) - Vendor: Weaviate - Date: 2026-08-25 - Version: v1.39.1 - Original notes: https://github.com/weaviate/weaviate/releases/tag/v1.39.1 - Permalink: https://whatsnew.fyi/product/weaviate/releases/v1.39.1 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** — Resolve replicas locally in async replication without implicitly activating a tenant - **fixed** — Refresh the memory monitor while shards are read-only - **deprecated** — Non-hardlink backup fallback is deprecated and will be removed in v1.40 - **fixed** — Return the gRPC query profile when a query matches no objects - **fixed** — Stop worker-pool grow path leaking goroutines in async replication - **fixed** — Restore shard after a failed tenant freeze in async replication - **removed** — Remove the unused shardReindexerV3 scheduler - **fixed** — Clean up partial HNSW commit log on aborted flat->HNSW upgrade - **changed** — Pool zstd encoders in backups - **fixed** — Never store a partially written chunk in backups - **changed** — Parallelize rescoring with budget-aware workers in hfresh - **changed** — Read rescore vectors through one bucket view with pooled buffers in hfresh - **fixed** — Return explicit bm25 b/k1 values of 0 in schema responses - **added** — Add RUNTIME_REINDEX_ENABLED kill switch off by default - **changed** — Resume interrupted strips from the recorded pending set in drop-vector-index - **changed** — Size hashbeat digest buffers by set count, not leaf count in async replication - **changed** — Warm the version map in the background at startup in hfresh - **fixed** — Report the tenant's pre-freeze status on an aborted freeze - **added** — Introduce includeRoles to backup and restore process - **added** — Add opt-in gRPC transport for Backup-gcs ##### Breaking Changes *none* ##### New Features *none* ##### Fixes * async replication: resolve replicas locally, never implicitly activate a tenant by @jeroiraz in https://github.com/weaviate/weaviate/pull/12256 * Refresh the memory monitor while shards are read-only by @dirkkul in https://github.com/weaviate/weaviate/pull/12468 * 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 * Use direct map acces for shard movement teardown by @dirkkul in https://github.com/weaviate/weaviate/pull/12467 * 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(async-repl): stop worker-pool grow path leaking goroutines by @jeroiraz in https://github.com/weaviate/weaviate/pull/12107 * fix(async-repl): restore shard after a failed tenant freeze by @jeroiraz in https://github.com/weaviate/weaviate/pull/12108 * test(replication): wait for shard readiness after restart across read_repair suite by @jeroiraz in https://github.com/weaviate/weaviate/pull/12466 * Remove the unused shardReindexerV3 scheduler by @etiennedi in https://github.com/weaviate/weaviate/pull/12478 * 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 * Pool zstd encoders in backups by @dirkkul in https://github.com/weaviate/weaviate/pull/12477 * Backups: never store a partially written chunk by @dirkkul in https://github.com/weaviate/weaviate/pull/12463 * 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 * hotfix: RUNTIME_REINDEX_ENABLED kill switch (off by default) by @etiennedi in https://github.com/weaviate/weaviate/pull/12491 * lsmkv: stop CheckExpectedStrategy from heap-allocating its variadic slice by @dirkkul in https://github.com/weaviate/weaviate/pull/12494 * feat(drop-vector-index): resume interrupted strips from the recorded pending set by @antas-marcin in https://github.com/weaviate/weaviate/pull/12442 * Remove TestReadSnapshotBufferAllocation which was flaky by @dirkkul in https://github.com/weaviate/weaviate/pull/12493 * perf(async-repl): size hashbeat digest buffers by set count, not leaf count by @jeroiraz in https://github.com/weaviate/weaviate/pull/12481 * Read the dimensions bucket once per usage sweep by @dirkkul in https://github.com/weaviate/weaviate/pull/12503 * perf(hfresh): warm the version map in the background at startup by @asdine in https://github.com/weaviate/weaviate/pull/12504 * Report the tenant's pre-freeze status on an aborted freeze by @dirkkul in https://github.com/weaviate/weaviate/pull/12508 * Unmarshal namespace snapshot outside of lock by @dirkkul in https://github.com/weaviate/weaviate/pull/12506 * Size the roaringsetrange pread read buffer from the segment payload by @dirkkul in https://github.com/weaviate/weaviate/pull/12499 * fix(modules): skip vectorizing named vectors whose index is mid-drop by @jfrancoa in https://github.com/weaviate/weaviate/pull/12498 * feat(backups): introduce `includeRoles` to backup/restore process by @tsmith023 in https://github.com/weaviate/weaviate/pull/12322 * fix flaky teardown in async replication acceptance suites by @jeroiraz in https://github.com/weaviate/weaviate/pull/12520 * Backup-gcs: add opt-in gRPC transport by @dirkkul in https://github.com/weaviate/weaviate/pull/12447 * fix(batch): report on _[Truncated at 4000 characters — full notes: https://github.com/weaviate/weaviate/releases/tag/v1.39.1]_