Skip to content

Releases: weaviate/weaviate

v1.39.4 - HFresh recover orphaned postings through reassign-all Fix

Choose a tag to compare

@antas-marcin antas-marcin released this 11 Sep 17:51

Breaking Changes

none

New Features

none

Fixes

  • Repeating startup banner by @g-despot in #12912
  • chore(dynamic-shard): convert log to warn instead of info by @moogacs in #12974
  • fix(replica): bounds-check read repair, guard group-by objects bucket by @moogacs in #12876
  • perf(db): skip the startup shard-size sweep when lazy loading is set explicitly by @moogacs in #12979
  • perf(contains-pr11): fold a batched Contains filter across workers by @aliszka in #12901
  • fix(reindex): rename a rebuilt index into place only once the schema lists it by @etiennedi in #12949
  • fix(raft-cluster): barrier a new leader's FSM before it judges proposes by @moogacs in #12915
  • fix(nodes): authz logic on v1/nodes?output=minimal when caller has verbose perms by @tsmith023 in #12981
  • feat: node-level query admission control (P1b) by @etiennedi in #12078
  • fix(reindex): enable-rangeable becomes a semantic migration by @etiennedi in #12700
  • Add Weaviate license and license switch by @etiennedi in #12796
  • Pre-compile regexp for role validation by @dirkkul in #13003
  • fix(queue): create chunk files with O_EXCL to prevent same-microsecond name collision by @abdelr in #12880
  • fix(backup): missed include wildcards are a no-op for users/roles, an error for classes by @tsmith023 in #13027
  • fix(hnsw): preserve isolated nodes during compaction by @asdine in #13033
  • fix(hfresh): recover orphaned postings through reassign-all by @asdine in #13035
  • fix(lsmkv): remove symlink tracing when listing backup files by @tsmith023 in #13032
  • feat(debug): make shard optional for HFresh reassignment by @asdine in #13043

Full Changelog: v1.39.3...v1.39.4

v1.39.3 - Aggregate performance improvements, Modules and GraphQL security Fixes, New generative-meta module

Choose a tag to compare

@antas-marcin antas-marcin released this 07 Sep 13:49

Breaking Changes

none

New Features

none

Fixes

  • fix: respect named-vector source_properties when re-vectorizing on update by @g-despot in #11789
  • Silence expected recovered-panic noise in async replication scheduler unit tests by @jeroiraz in #12808
  • fix(hfresh): decode centroid codes with the right quantizer in split/merge reassignment by @asdine in #12795
  • chore(gen-code-from-swagger.sh): add code formatting step by @antas-marcin in #12814
  • mcp: refuse GET with 405 and run the streamable server stateless by @g-despot in #12789
  • fix(kmeans): compute FitBalanced centers from the balanced membership by @abdelr in #12804
  • feat(rest): structured reference selection (returnReferences) by @g-despot in #12424
  • Back up collections concurrently through one shared worker pool by @dirkkul in #12790
  • Stop holding the collection map lock while counting objects on disk by @dirkkul in #12825
  • feat(hfresh): debug endpoint to reassign all vectors in place by @asdine in #12820
  • Fix count aggregation over shards, and resolve its routing plan once by @dirkkul in #12791
  • RQ4 centered quantization by @trengrj in #12502
  • Skip vanished files and directories instead of failing shard usage by @dirkkul in #12832
  • Fix shard loaded and unloaded metrics by @dirkkul in #12827
  • Cache object count for lazy shards by @dirkkul in #12835
  • Add weaviate_shards, a shard count by state and eager or lazy loading by @dirkkul in #12831
  • Finish the startup shard warmup after a shard fails to load by @dirkkul in #12837
  • feat(generative-meta): add Meta AI generative module by @antas-marcin in #12839
  • test(generative-aws): remove Cohere's Command-R models from tests by @antas-marcin in #12841
  • Disable background lazy tenant loading for small tenants by @dirkkul in #12834
  • fix(lsmkv): give test SegmentGroups a logger to stop slow-read nil panic by @antas-marcin in #12843
  • Run every row of the object authorization tables by @dirkkul in #12840
  • security(deps): bump golang.org/x/crypto dependency to 0.55.0 by @antas-marcin in #12851
  • perf(inverted): cut batched Contains extraction allocations and faster segment-index reads by @aliszka in #12436
  • lsmkv, inverted: read a batch of roaring set rows through one batch reader by @aliszka in #12530
  • Shut down test indexes so background flush cannot race TempDir cleanup by @jeroiraz in #12858
  • inverted: hold the batched Contains keys as a sorted slab by @aliszka in #12614
  • lsmkv: read the batched Contains keys from a memtable a window at a time by @aliszka in #12701
  • fix(kmeans): replace FitBalanced's post-hoc balancing with in-loop size-constrained assignment by @asdine in #12854
  • feat(hfresh): cluster posting splits on full-precision vectors by @asdine in #12863
  • Refuse property names that collide with migration directories by @etiennedi in #12873
  • perf(hfresh): fetch split vectors through a single bucket view by @asdine in #12875
  • fix(reindex): only checkpoint reindex progress once the data is durable by @etiennedi in #12877
  • security: bump google gRPC dependencies by @antas-marcin in #12897
  • test(cluster): fix snapshot-restore flake racing the cluster-ID commit by @moogacs in #12902
  • ci: remove multinode-restart-a reindex pipeline by @antas-marcin in #12895
  • fix(db): fail queries on a deregistered bucket instead of dereferencing nil by @antas-marcin in #12870
  • fix(hfresh): resolve buckets per operation instead of caching them by @antas-marcin in #12887
  • Commit replicated puts on object copies to unrace the broadcast marshal by @jeroiraz in #12828
  • ci(drop-vector-index): always run drop vector index e2e tests by @antas-marcin in #12910
  • fix(reindex): RAFT-numbered directories stop a restart reporting success on an unbuilt index by @etiennedi in #12888
  • test(python): pin weaviate-client python dependency to 4.23 version by @antas-marcin in #12908
  • perf(asyncrep): prune the scheduler due-count scan via the heap invariant by @jeroiraz in #12929
  • fix: nearObject beacon consistency by @trengrj in #12930
  • reindex: durable migration record (part 1/2, inert) by @etiennedi in #12847
  • perf(lsmkv): read and seek segment indexes without materializing keys by @aliszka in #12856
  • perf(asyncrep): reuse per-worker request assembly in root-prefilter clients by @jeroiraz in #12939
  • fix(aggregation-pr1): return scan errors rather than partial results or panics by @aliszka in #12883
  • hnsw: lock each neighbor before reading its connections in ACORN search by @jfrancoa in #12936
  • perf(aggregation-pr2): reuse one object buffer per scan worker by @aliszka in #12899
  • perf(aggregation-pr3): scan all objects through one reader per segment by @aliszka in #12911
  • perf(aggregation-pr4): take one consistent view for the whole scan by @aliszka in #12913
  • perf(aggregation-pr5): read a segment node straight into the caller's buffer by @aliszka in #12914
  • perf(aggregation-pr6): let scan workers claim doc IDs one at a time by @aliszka in #12940
  • perf(aggregation-pr7): reuse one property map for all objects a scan worker reads by @aliszka in #12941
  • perf(inverted): call ctx.Err() directly instead of the ctxExpired helper by @aliszka in #12943
  • security(deps): bump golang.org/x/crypto to v0.56.0 by @antas-marcin in #12963
  • security: restrict Google module apiEndpoint, region and location to Google API hosts by @antas-marcin in #12961
  • backport: stop reading memberlist node fields outside the event callbacks by @jeroiraz in #12947
  • perf: cache node host:port resolution behind membership events by @jeroiraz in #12946

Full Changelog: v1.39.2...v1.39.3

v1.38.14 - Aggregate performance improvements, Modules and GraphQL security Fixes

Choose a tag to compare

@antas-marcin antas-marcin released this 07 Sep 12:19

Breaking Changes

none

New Features

none

Fixes

  • fix(kmeans): compute FitBalanced centers from the balanced membership by @abdelr in #12804
  • feat(rest): structured reference selection (returnReferences) by @g-despot in #12424
  • Back up collections concurrently through one shared worker pool by @dirkkul in #12790
  • feat(hfresh): debug endpoint to reassign all vectors in place by @asdine in #12820
  • test(generative-aws): remove Cohere's Command-R models from tests by @antas-marcin in #12841
  • fix(lsmkv): give test SegmentGroups a logger to stop slow-read nil panic by @antas-marcin in #12843
  • security(deps): bump golang.org/x/crypto dependency to 0.55.0 by @antas-marcin in #12851
  • perf(inverted): cut batched Contains extraction allocations and faster segment-index reads by @aliszka in #12436
  • lsmkv, inverted: read a batch of roaring set rows through one batch reader by @aliszka in #12530
  • Shut down test indexes so background flush cannot race TempDir cleanup by @jeroiraz in #12858
  • inverted: hold the batched Contains keys as a sorted slab by @aliszka in #12614
  • lsmkv: read the batched Contains keys from a memtable a window at a time by @aliszka in #12701
  • fix(kmeans): replace FitBalanced's post-hoc balancing with in-loop size-constrained assignment by @asdine in #12854
  • feat(hfresh): cluster posting splits on full-precision vectors by @asdine in #12863
  • perf(hfresh): fetch split vectors through a single bucket view by @asdine in #12875
  • security: bump google gRPC dependencies by @antas-marcin in #12897
  • test(cluster): fix snapshot-restore flake racing the cluster-ID commit by @moogacs in #12902
  • ci: remove multinode-restart-a reindex pipeline by @antas-marcin in #12895
  • fix(db): fail queries on a deregistered bucket instead of dereferencing nil by @antas-marcin in #12870
  • fix(hfresh): resolve buckets per operation instead of caching them by @antas-marcin in #12887
  • test(python): pin weaviate-client python dependency to 4.23 version by @antas-marcin in #12908
  • fix: nearObject beacon consistency by @trengrj in #12930
  • perf(lsmkv): read and seek segment indexes without materializing keys by @aliszka in #12856
  • fix(aggregation-pr1): return scan errors rather than partial results or panics by @aliszka in #12883
  • hnsw: lock each neighbor before reading its connections in ACORN search by @jfrancoa in #12936
  • perf(aggregation-pr2): reuse one object buffer per scan worker by @aliszka in #12899
  • perf(aggregation-pr3): scan all objects through one reader per segment by @aliszka in #12911
  • perf(aggregation-pr4): take one consistent view for the whole scan by @aliszka in #12913
  • perf(aggregation-pr5): read a segment node straight into the caller's buffer by @aliszka in #12914
  • perf(aggregation-pr6): let scan workers claim doc IDs one at a time by @aliszka in #12940
  • perf(aggregation-pr7): reuse one property map for all objects a scan worker reads by @aliszka in #12941
  • perf(inverted): call ctx.Err() directly instead of the ctxExpired helper by @aliszka in #12943
  • security(deps): bump golang.org/x/crypto to v0.56.0 by @antas-marcin in #12963
  • security: restrict Google module apiEndpoint, region and location to Google API hosts by @antas-marcin in #12961

Full Changelog: v1.38.13...v1.38.14

v1.37.16 - Modules and GraphQL security Fixes

Choose a tag to compare

@antas-marcin antas-marcin released this 07 Sep 12:56

Breaking Changes

none

New Features

none

Fixes

  • fix(kmeans): compute FitBalanced centers from the balanced membership by @abdelr in #12804
  • feat(hfresh): debug endpoint to reassign all vectors in place by @asdine in #12820
  • test(generative-aws): remove Cohere's Command-R models from tests by @antas-marcin in #12841
  • security(deps): bump golang.org/x/crypto dependency to 0.55.0 by @antas-marcin in #12851
  • fix(kmeans): replace FitBalanced's post-hoc balancing with in-loop size-constrained assignment by @asdine in #12854
  • feat(hfresh): cluster posting splits on full-precision vectors by @asdine in #12863
  • perf(hfresh): fetch split vectors through a single bucket view by @asdine in #12875
  • security: bump google gRPC dependencies by @antas-marcin in #12897
  • fix: nearObject beacon consistency by @trengrj in #12930
  • hnsw: lock each neighbor before reading its connections in ACORN search by @jfrancoa in #12936
  • security(deps): bump golang.org/x/crypto to v0.56.0 by @antas-marcin in #12963
  • security: restrict Google module apiEndpoint, region and location to Google API hosts by @antas-marcin in #12961

Full Changelog: v1.37.15...v1.37.16

v1.38.13 - MCP stateless endpoint Fix, New generative-digitalocean module

Choose a tag to compare

@antas-marcin antas-marcin released this 27 Aug 10:13

Breaking Changes

none

New Features

none

Fixes

  • feat(generative-digitalocean): add DigitalOcean generative module by @antas-marcin in #12786
  • Backport: drain in-flight references before drop tears the shard store down by @jfrancoa in #12797
  • security(docker): pin minimum openssl version so cached builds pull CVE fixes by @antas-marcin in #12799
  • chore(Dockerfile): remove unnecessary comments by @antas-marcin in #12803
  • feat(users): export/import endpoints for db user API-key hashes by @tsmith023 in #12782
  • fix: respect named-vector source_properties when re-vectorizing on update by @g-despot in #11789
  • Silence expected recovered-panic noise in async replication scheduler unit tests by @jeroiraz in #12808
  • fix(hfresh): decode centroid codes with the right quantizer in split/merge reassignment by @asdine in #12795
  • chore(gen-code-from-swagger.sh): add code formatting step by @antas-marcin in #12814
  • mcp: refuse GET with 405 and run the streamable server stateless by @g-despot in #12789

Full Changelog: v1.38.12...v1.38.13

v1.37.15 - LSM store and HFresh Fixes, New multi2vec-twelvelabs and generative-digitalocean modules

Choose a tag to compare

@antas-marcin antas-marcin released this 27 Aug 06:41

Breaking Changes

none

New Features

none

Fixes

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

Full Changelog: v1.37.14...v1.37.15

v1.39.2 - DB user API-key export/import, generative-digitalocean module, async replication & shard lifecycle fixes

Choose a tag to compare

@aliszka aliszka released this 26 Aug 17:21

Breaking Changes

none

New Features

none

Fixes

  • ci: upgrade modules light and modules api runners to ubicloud-standard-4 by @antas-marcin in #12776
  • Make the resource scanner's shard status check-and-set atomic by @dirkkul in #12703
  • fix(aggregator): merge remote shard aggregations after JSON round trip (mean/median/mode panic on multi-node) by @amourao in #12746
  • Keep a per-namespace collection count and report it as a metric by @dirkkul in #12772
  • perf(async-replication): batch root pre-filter across classes per target node by @jeroiraz in #12765
  • Put both cron jobs on one shared registration helper by @dirkkul in #12758
  • feat(generative-digitalocean): add DigitalOcean generative module by @antas-marcin in #12786
  • Backport: drain in-flight references before drop tears the shard store down by @jfrancoa in #12797
  • security(docker): pin minimum openssl version so cached builds pull CVE fixes by @antas-marcin in #12799
  • Stop retrying a shard unload once its collection is closing by @dirkkul in #12779
  • chore(Dockerfile): remove unnecessary comments by @antas-marcin in #12803
  • feat(users): export/import endpoints for db user API-key hashes by @tsmith023 in #12782

Full Changelog: v1.39.1...v1.39.2

v1.38.12 - Async replication performance, multi-node aggregation & backup fixes

Choose a tag to compare

@aliszka aliszka released this 25 Aug 12:21

Breaking Changes

none

New Features

none

Fixes

  • fix(runtime-config): register disable_dimension_metrics as a runtime override by @amourao in #12733
  • fix(hnsw): restore cache reads for uncompressed non-MUVERA late-interaction rescore by @trengrj in #12731
  • fix(lsmkv): write WAL tombstone pair before publishing inverted doc tombstone by @amourao in #12741
  • Resource scan: Dont load lazy shards and set newly loaded shards to ReadOnly too by @dirkkul in #12674
  • Fix all linter issues coming form golangci-list v2.13.1 by @dirkkul in #12752
  • perf(router): avoid full shard-list copy on single-shard routing plans by @jeroiraz in #12762
  • perf(replication): cap zstd encoder concurrency and window in shared encoders by @jeroiraz in #12761
  • perf(async-replication): gate hashbeat debug logging behind level check by @jeroiraz in #12760
  • perf(async-replication): size prefilter chunk map by input, release dispatch buckets every pass by @jeroiraz in #12759
  • Backup index.db from inactive dynamic tenants by @dirkkul in #12724
  • fix(batch): BatchStream result attribution, goroutine leaks, and shutdown races by @tsmith023 in #12627
  • fix(restore): route backup restore of RBAC roles and dynamic users through RAFT by @tsmith023 in #12660
  • ci: upgrade modules light and modules api runners to ubicloud-standard-4 by @antas-marcin in #12776
  • Make the resource scanner's shard status check-and-set atomic by @dirkkul in #12703
  • fix(aggregator): merge remote shard aggregations after JSON round trip (mean/median/mode panic on multi-node) by @amourao in #12746
  • Keep a per-namespace collection count and report it as a metric by @dirkkul in #12772
  • perf(async-replication): batch root pre-filter across classes per target node by @jeroiraz in #12765

Full Changelog: v1.38.11...v1.38.12

v1.39.1 - Search REST endpoints, async replication & LSM performance, Backup, Geo & Usage module fixes

Choose a tag to compare

@aliszka aliszka released this 25 Aug 08:35

Breaking Changes

none

New Features

none

Fixes

  • async replication: resolve replicas locally, never implicitly activate a tenant by @jeroiraz in #12256
  • Refresh the memory monitor while shards are read-only by @dirkkul in #12468
  • docs(backup): mark the non-hardlink backup fallback as deprecated (removed in v1.40) by @etiennedi in #12469
  • fix: return the gRPC query profile when a query matches no objects by @etiennedi in #12381
  • Use direct map acces for shard movement teardown by @dirkkul in #12467
  • fix(tools): adapt qa_pr.sh log fetch to gh >= 2.97 escape-sequence guard by @antas-marcin in #12462
  • fix(async-repl): stop worker-pool grow path leaking goroutines by @jeroiraz in #12107
  • fix(async-repl): restore shard after a failed tenant freeze by @jeroiraz in #12108
  • test(replication): wait for shard readiness after restart across read_repair suite by @jeroiraz in #12466
  • Remove the unused shardReindexerV3 scheduler by @etiennedi in #12478
  • fix(dynamic): clean up partial HNSW commit log on aborted flat->HNSW upgrade (v1.37) by @asdine in #12420
  • Pool zstd encoders in backups by @dirkkul in #12477
  • Backups: never store a partially written chunk by @dirkkul in #12463
  • perf(hfresh): parallelize rescoring with budget-aware workers by @asdine in #12487
  • perf(hfresh): read rescore vectors through one bucket view with pooled buffers by @asdine in #12490
  • fix(schema): return explicit bm25 b/k1 values of 0 in schema responses by @amourao in #12489
  • hotfix: RUNTIME_REINDEX_ENABLED kill switch (off by default) by @etiennedi in #12491
  • lsmkv: stop CheckExpectedStrategy from heap-allocating its variadic slice by @dirkkul in #12494
  • feat(drop-vector-index): resume interrupted strips from the recorded pending set by @antas-marcin in #12442
  • Remove TestReadSnapshotBufferAllocation which was flaky by @dirkkul in #12493
  • perf(async-repl): size hashbeat digest buffers by set count, not leaf count by @jeroiraz in #12481
  • Read the dimensions bucket once per usage sweep by @dirkkul in #12503
  • perf(hfresh): warm the version map in the background at startup by @asdine in #12504
  • Report the tenant's pre-freeze status on an aborted freeze by @dirkkul in #12508
  • Unmarshal namespace snapshot outside of lock by @dirkkul in #12506
  • Size the roaringsetrange pread read buffer from the segment payload by @dirkkul in #12499
  • fix(modules): skip vectorizing named vectors whose index is mid-drop by @jfrancoa in #12498
  • feat(backups): introduce includeRoles to backup/restore process by @tsmith023 in #12322
  • fix flaky teardown in async replication acceptance suites by @jeroiraz in #12520
  • Backup-gcs: add opt-in gRPC transport by @dirkkul in #12447
  • fix(batch): report one error per object when a shard refuses a batch by @g-despot in #12519
  • fix(db): move st.trackDBLoadProgress inside st.reloadDBFromSchema by @tsmith023 in #12524
  • fix(async-repl): backport #12079 and #12127 to stable/v1.37 by @jfrancoa in #12547
  • Namespaces: Gate tenant actions by @dirkkul in #12513
  • Testcontainer endpoint + docstring fixes by @dirkkul in #12540
  • Namespaces: Add plumbing for namespace exister by @dirkkul in #12541
  • Keep the geo vector cache across deletion cycles by @dirkkul in #12557
  • Fix non-compiling test by @dirkkul in #12562
  • fix(grpc): don't dereference nil target combination in parseNearVec by @tsmith023 in #12567
  • fix(backup): serve a failed backup's reason from the participant status by @etiennedi in #12548
  • Keep error type through the objects manager by @dirkkul in #12510
  • Read only the geo property when resolving a coordinate by @dirkkul in #12564
  • fix(async-repl): surface root-prefilter skips in asyncReplicationStatus by @jeroiraz in #12566
  • perf(lsmkv): targeted replace scan with newest-wins visibility by @amourao in #12396
  • Keep the parked pread buffer on sequential replace cursor scans by @jeroiraz in #12571
  • Complete updateIndexTenants when one tenant fails by @dirkkul in #12507
  • Drop per-cycle allocations from the idle compaction path by @dirkkul in #12561
  • perf(lsmkv): read targeted-scan ranges straight from the file by @amourao in #12592
  • Parse replace nodes without allocating by @dirkkul in #12558
  • Fixes bugs segment group tmp file recovery by @dirkkul in #12458
  • Include GEO HNSW index in backups by @dirkkul in #12584
  • Pin replacement replicas to a namespace's home node by @dirkkul in #12554
  • Treat a non-positive vector cache maxSize as unbounded by @dirkkul in #12586
  • fix(hfresh): hold the posting lock during version map warmup by @asdine in #12612
  • fix(cache): count occupied slots, and add PreloadIfAbsent by @amourao in #12593
  • Concurrently prefill geo caches using exinsg prefiller by @dirkkul in #12583
  • fix(dtm): treat an unrecognized task status as in-flight by @etiennedi in #12549
  • fix(storobj): bound vector reads by their declared segment by @amourao in #12594
  • Fix Geo property bugs by @dirkkul in #12616
  • feat(rest): bm25 keyword search endpoint (REST Search API 1/4) by @g-despot in #12245
  • feat(rest): hybrid search endpoint (REST Search API 2/4) by @g-despot in #12246
  • feat(rest): near-object search endpoint (REST Search API 3/4) by @g-despot in #12248
  • feat(rest): aggregate counts endpoint (REST Search API 4/4) by @g-despot in #12249
  • fix(tools): don't let SIGPIPE break the gh escape-sequence feature check by @antas-marcin in #12625
  • Hybrid Aggregation: Apply the filter to the BM25 search by @dirkkul in #12622
  • Wait for the local schema before writes that resolve an index by name by @dirkkul in #12587
  • feat(auto-schema): create a "default" named vector instead of a legacy one by @antas-marcin in #12620
  • Fix three crashes and data corruptions in cluster state handling by @dirkkul in #12626
  • fix(lsmkv): remove the partial segment a failed edit-op rewrite leaves behind by @antas-marcin in #12633
  • test(usage): wait for storage to settle instead of relaxing the assertions by @antas-marcin in #12635
  • fix(async-repl): never publish or load a stale hashtree snapshot by @jeroiraz in #12195
  • fix(modules): don't panic when a batch has objects with no vectorizable properties by @antas-marcin in #12617
  • fix(schema): reject invalid async replication config before RAFT commit by @jeroiraz in #12261
  • Report every shard failure during index reconcile by @dirkkul in #12639
  • test(drop-vector-index): retry the write after a leader kill instead of failing on the rejoin blip by @antas-marcin in #12678
  • fix(db): stop the reindex cleanup sweep from hydrating every unhydrated tenant shard by @etiennedi in #12551
  • fix(hybrid): fetch Boost.Depth-deep candidates in hybrid sub-searches by @hamodywe in #12537
  • fix(usage): skip dropped named vectors when computing cold shard usage by @antas-mar...
Read more

v1.38.11 - Async replication Fixes

Choose a tag to compare

@antas-marcin antas-marcin released this 20 Aug 12:55

Breaking Changes

none

New Features

none

Fixes

  • perf(lsmkv): bound digest-RPC memtable snapshots to the requested key range by @jeroiraz in #12665
  • [v1.38] fix(hnsw): drain commit-log maintenance before locking in Drop() (#12100) by @jfrancoa in #12699
  • Add MUVERA specific usage calculations by @trengrj in #12294
  • Align returns for HOT and COLD tenants from usage module by @dirkkul in #12712
  • perf(async-repl): negotiate binary digest encoding on the gRPC HashTreeLevel RPC by @jeroiraz in #12666
  • feat(rplc-mvmnt): add automated cleanup of stale replica movement operations by @tsmith023 in #12426
  • perf(async-repl): carry byte-ID digests end-to-end on the compare pipeline by @jeroiraz in #12710

Full Changelog: v1.38.10...v1.38.11