Skip to content

Releases: weaviate/weaviate

v1.38.9 - Backup chunk integrity, usage module and async replication fixes

Choose a tag to compare

@jeroiraz jeroiraz released this 06 Aug 13:57
4a493b2

Breaking Changes

none

New Features

none

Fixes

  • fix(usage): skip collection tick while previous report is still running by @antas-marcin in #12139
  • Dont read file sizes in usage module when not needed by @dirkkul in #12418
  • 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
  • Switch off bloom filters for collection export by @dirkkul in #12455
  • 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
  • Merge stable/v1.37 into stable/v1.38 by @antas-marcin in #12472
  • 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

Full Changelog: v1.38.8...v1.38.9

v1.39.0 - Namespaces, RQ4, Hybrid MMR, Alter Schema, gRPC web, Search REST API

Choose a tag to compare

@antas-marcin antas-marcin released this 04 Aug 11:42

Breaking Changes

none

Namespaces

Namespaces add control-plane and data isolation between users on a shared cluster.

BM25 / BlockMax (BMW) rework

  • fix(bm25): record max-impact pair on memtable BlockEntry by @amourao in #11780
  • perf(bm25): faster varint decoding (reservoir + 64-bit reads) by @amourao in #11770
  • perf(bm25): Tier-1 allocation cuts in the BlockMax WAND hot path by @amourao in #11772
  • perf(bm25): WAND scoring-loop & data-structure optimizations by @amourao in #11773
  • perf(bm25): defer tombstone checks from advance-time to scoring by @amourao in #11774
  • perf(bm25): tighten block-entry scanning in the WAND loop by @amourao in #11775
  • perf(bm25): round-6 query-setup path optimization by @amourao in #11776
  • perf(bm25): round-7 matched-branch sort elision by @amourao in #11777
  • perf(bm25): gate DoBlockMaxWand prune-branch repair on needFullSort by @amourao in #11915
  • fix(bm25): dedup duplicate properties (last boost wins) by @etiennedi in #12004
  • fix(bm25): propagate combineResults error (was silent empty results) by @etiennedi in #12007
  • perf(bm25): approximate object count for IDF, reuse query stats on blockmax fallback by @amourao in #12017
  • fix(bm25): apply propertyBoost to WAND pivot and block-impact bounds by @amourao in #12018
  • perf(bm25): cursor tombstone and filter probes in block-max WAND by @amourao in #12046
  • perf(bm25): tiered merged filter for block-max WAND by @amourao in #12047
  • feat: add support for cross-property AND matching in BM25 search by @amourao in #11929
  • perf(bm25): parallelize block term creation across properties by @amourao in #12020

Alter Schema - Reindex property (Preview)

Adds support for changing property's index types.

  • [Reindex Fixes A] fix: idempotent recovery-swap marking after mid-FINALIZING restart by @etiennedi in #11976
  • [Reindex Fixes A] test: harden multinode reindex tests against weak-VM timing by @etiennedi in #11538
  • [Reindex Fixes A] test: tolerate transient /v1/tasks 500s after node restarts by @etiennedi in #11530
  • [Reindex Fixes A] fix: class DELETE racing a draining reindex worker re-created the class dir by @etiennedi in #11539
  • [Reindex Fixes A] fix: atomic tokenization+bucket snapshot per BM25 query (LiveQueries flake) by @etiennedi in #11540
  • [Reindex Fixes B] fix: partial-state cleanup deleted live class-level deferred-finalize dirs by @etiennedi in #11982
  • fix(dtm): fail/retry reindex task on OnTaskCompleted schema-flip failure (#297) by @etiennedi in #11986
  • feat(reindex): GA API rework per RFC (v1.39) — resource-oriented index endpoints by @etiennedi in #12252

Alter Schema - Drop vector index (Preview)

Support for dropping inverted indices from existing properties, allowing users to reclaim disk space by removing indices that are no longer needed, with RBAC integration and multi-tenancy support.

  • test: add tests for collections being created with empty vector index type by @antas-marcin in #11718
  • feat(drop-vector-index): reject writes carrying a dropped vector index by @antas-marcin in #11804
  • feat(drop-vector-index): reject introducing the "none" vector index type on collection update by @antas-marcin in #11805
  • feat(drop-vector-index): introduce (storobj.Object).RemoveTargetVector method by @antas-marcin in #11810
  • feat(drop-vector-index): introduce segment edit ops bolt facility by @antas-marcin in #11811
  • feat(drop-vector-index): introduce compactor transformer hook by @antas-marcin in #11812
  • feat(drop-vector-index): apply value transformer in segment cleaner by @antas-marcin in #11822
  • feat(drop-vector-index): wire edit ops into segment compaction by @antas-marcin in #11825
  • feat(drop-vector-index): clean pending segments via edit ops with retry/quarantine by @antas-marcin in #11831
  • feat(drop-vector-index): bridge edit-ops transformer to objects bucket by @antas-marcin in #11870
  • feat(drop-vector-index): implement drop vector index distributed task by @antas-marcin in #11876
  • feat(drop-vector-index): gate schema removal of dropped vector on cleanup FINISHED by @antas-marcin in #11889
  • feat(drop-vector-index): fail the unit when cleanup quarantines a segment by @antas-marcin in #11900
  • fix(drop-vector-index): reject writes targeting a dropped vector on the receiving node by @antas-marcin in #12105
  • test(drop-vector-index): alter schema drop vector index e2e tests by @antas-marcin in #12095
  • feat(drop-vector-index): cold-tenant completion, MT-scale coverage, tenant-lifecycle decoupling by @antas-marcin in #12295

gRPC web

Adds gRPC web endpoint.

Search REST API

Adds dedicated REST API for performing search queries.

  • feat(rest): envelope search response {id, properties, references, metadata} by @g-despot in #12133
  • feat(rest): POST /v1/search/{collection}/near-text — REST near-text search endpoint by @g-despot in #12077
  • rest search: camelCase payload fields; nested reserved rerank object by @g-despot in #12227

Hybrid MMR

Adds support for Maximal Marginal Relevance in Hybrid queries.

RQ4

4Bit Rotational Quantization.

  • 4-bit RQ + improved SIMD vector search performance by @trengrj in #12324

Boost API

Soft-ranking support.

  • Handle missing boost properties and property type validation by @trengrj in #11699

Async replication

Async replication optimizations and fixes.

  • perf(async-rep): reuse a single cursor across the hashbeat digest scan by @jeroiraz in #11833
  • feat(async-rep): propagate raw on-disk object bytes by @jeroiraz in #11853
  • perf(async-replication): allocate propagation buffers per-hashBeat, not per-range by @jeroiraz in #11961
  • fix(async-replication): hoist hashtree-init wait out of RLock in merge paths by @jeroiraz in #12027
  • fix(async-replication): don't let TimeBased repair clobber a newer local write by @jeroiraz in #12028
  • perf(async-replication): batched hashtree-root pre-filter for many-tenant clusters by @jeroiraz in #11968
  • fix(replication): avoid nil-pointer deref in read-repair when a live winner's refetch fails by @jeroiraz in #12030
  • fix(async-replication): serial...
Read more

v1.38.8 - Batch flat ContainsAny/ContainsAll/ContainsNone

Choose a tag to compare

@amourao amourao released this 29 Jul 16:57

Breaking Changes

none

New Features

none

Fixes

  • Remove support for restoring old backup formats by @dirkkul in #12338
  • tokenizer: fix KagomeJa custom-dict throttle release without acquire by @aliszka in #12341
  • 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
  • Return first letters of API keys for admins on namespaced clusters by @dirkkul in #12316
  • feat: add support for cross-property AND matching in BM25 search by @amourao in #11929
  • tokenizer: add AnalyzeBatch with resolve-once dispatch and metrics at dispatch by @aliszka in #12342
  • lsmkv/roaringset: cut per-read allocations on the roaringset read path by @aliszka in #12343
  • 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
  • lsmkv/roaringset: storage-side support for batched Contains resolution by @aliszka in #12388
  • Reduce HNSW snapshot allocations by @dirkkul in #12387
  • inverted: batch flat ContainsAny/ContainsAll/ContainsNone under one consistent view by @aliszka in #12395
  • fix(lsmkv): require every Bucket to carry a logger by @etiennedi in #12404
  • fix(backup): reset the inactivity deadline on a successful halt by @etiennedi in #12403
  • fix disposable_created size label off-by-one by @etiennedi in #12373
  • feat(backup-s3): introduce new auth broker credentials by @gkampitakis in #11880
  • fix(cyclemanager): roll back shouldAbort when ctx expires while callback runs by @etiennedi in #12265
  • config, inverted: make batched Contains opt-in via runtime-overridable gate by @aliszka in #12410
  • fix(cyclemanager): roll back abort when ctx expires while callback runs by @aliszka in #12411
  • Add nested object filtering support to usage module by @dirkkul in #12409

Full Changelog: v1.38.7...v1.38.8

v1.39.0-rc.1 - Namespaces, Alter Schema, gRPC web, Search REST API

Choose a tag to compare

@antas-marcin antas-marcin released this 29 Jul 08:46

This is a release candidate for the upcoming v1.39.0 release.

A release candidate (RC) means the release is considered feature complete and has finished beta-testing. Any issues discovered during the RC phase will lead to new rc releases. The final rc release becomes the stable release. We're happy for your feedback about this pre-release.

This pre-release contains:

  • Namespaces (GA)
  • Alter Schema - Reindex property (Preview)
  • Alter Schema - Drop vector index (Preview)
  • gRPC web (GA)
  • Search REST API (GA)

v1.38.7 - Never use a search result as a read-repair payload

Choose a tag to compare

@amourao amourao released this 27 Jul 14:39

Breaking Changes

none

New Features

none

Fixes

  • Fix empty range results served after enable-rangeable reindex with INDEX_RANGEABLE_IN_MEMORY=true by @byronvoorbach in #12215
  • chore(rplc-mvmnt): remove SyncShards in favour of node local Shard.drop by @tsmith023 in #12217
  • Fix namespace regexp by @dirkkul in #12292
  • Make number of files that are deduplicated in incremental backups configurable by @dirkkul in #12234
  • fix(db): shut down vector index when its queue creation fails to avoid orphaning it by @antas-marcin in #12192
  • Namespace: Add endpoints for suspend by @dirkkul in #12291
  • cyclemanager: replace per-tick due-scan with a due-heap scheduler by @aliszka in #12099
  • fix(replica-fast): avoid nil-deref panics in filepath.WalkDir callbacks by @tsmith023 in #12300
  • Update GRPC dependency by @dirkkul in #12311
  • feat(telemetry): persistent cluster and node identity for correlatable telemetry by @moogacs in #12296
  • Reduce heap usage in HNSW condensor by @dirkkul in #12306
  • AddMultiVector idempotence fix by @trengrj in #12170
  • Drop fmt.Sprintf from commit-log path builders to save allocations by @dirkkul in #12310
  • Use a view instead of copy in hnsw packed connection by @dirkkul in #12309
  • Reduce allocations for auto schema time/uuid parsing by @dirkkul in #12301
  • refact(telemetry) gate cluster-id commit on telemetry being enabled by @moogacs in #12326
  • fix(lsmkv): purge stale GlobalBucketRegistry entries on every teardown path by @tsmith023 in #12188
  • fix(graphql): reject non-object variables instead of panicking by @moogacs in #12332
  • Don't discard teardown work when one shutdown step fails by @dirkkul in #12333
  • Improve segment index performance by using van Emde Boas layout by @dirkkul in #12327
  • Fix bugs in index shutdown by @dirkkul in #12331
  • Drop derived file names when recovering an aborted compaction by @dirkkul in #12336
  • Fix shard shutdown backup and wrong error return by @dirkkul in #12337
  • chore(deps): bump golang.org/x/net to v0.56.0 and golang.org/x/text to v0.39.0 (CVE-2026-46600, CVE-2026-56852) by @etiennedi in #12347
  • deps: adjust go dependencies in sub projects by @antas-marcin in #12362
  • Release shard references exactly once per acquire by @dirkkul in #12363
  • fix(replica): never use a search result as a read-repair payload by @etiennedi in #12355

Full Changelog: v1.38.6...v1.38.7

v1.37.14 - Never use a search result as a read-repair payload

Choose a tag to compare

@amourao amourao released this 27 Jul 14:38

Breaking Changes

none

New Features

none

Fixes

  • Do not load all lazy shards for property add by @dirkkul in #12184
  • fix(usage): abort in-flight usage scan when its collection is dropped by @antas-marcin in #12187
  • Do not load lazy loaded shards on backup restore by @dirkkul in #12186
  • Stop commit log churn flaking vector storage size test by @dirkkul in #12231
  • Backport to v1.36: fix flaky TestMakeUnboundedChannel_CapShrink by @asdine in #12236
  • backport: fix(memberlist): retry on join with deadline by @moogacs in #12241
  • perf(inverted): add EncodeInto for BlockEntry and BlockData by @amourao in #12150
  • perf(lsmkv): pass data start offset to MarshalSortedKeys by @amourao in #12151
  • fix(lsmkv): capture values in keyOnly map cursor so keys aren't dropped by @amourao in #12152
  • perf(lsmkv): add reusable decode helpers for inverted node data by @amourao in #12154
  • perf(lsmkv): add EncodeAppend arena-append primitive to varenc by @amourao in #12149
  • perf(lsmkv): add reusable encode pipeline for inverted compaction by @amourao in #12160
  • fix(memberlist): don't fail startup when a single node can't join (self-heal) by @moogacs in #12243
  • fix(test): join usage poll goroutines so they cannot assert after test completion by @antas-marcin in #12237
  • test(async-repl): gate scheduler close tests on dispatch round-trips, not channel-buffer sampling by @jeroiraz in #12250
  • fix(db): ABBA deadlock between updateReplicationConfig and lazy shard load wedges RAFT FSM by @jfrancoa in #12238
  • perf(lsmkv): wire inverted compaction through the reusable encode pipeline by @amourao in #12161
  • perf(lsmkv): reuse decode buffers in the inverted cursor by @amourao in #12163
  • perf(lsmkv): reuse the propLengthsView across inverted compaction nodes by @amourao in #12233
  • refactor(lsmkv): extract inverted block codec into inverted/blockenc by @amourao in #12244
  • fix(lsmkv): repair stable/v1.37 build broken by the v1.36 merge (blockenc.PackedDecode) by @jeroiraz in #12257
  • Key the auth singleflight on the key, not just the user by @dirkkul in #12270
  • Fix RBAC regexp by @dirkkul in #12251
  • feat(monitoring): unified background-process activity + duration metrics by @moogacs in #12275
  • Make number of files that are deduplicated in incremental backups configurable by @dirkkul in #12234
  • fix(db): shut down vector index when its queue creation fails to avoid orphaning it by @antas-marcin in #12192
  • cyclemanager: replace per-tick due-scan with a due-heap scheduler by @aliszka in #12099
  • Update GRPC dependency by @dirkkul in #12311
  • feat(telemetry): persistent cluster and node identity for correlatable telemetry by @moogacs in #12296
  • Reduce heap usage in HNSW condensor by @dirkkul in #12306
  • AddMultiVector idempotence fix by @trengrj in #12170
  • Drop fmt.Sprintf from commit-log path builders to save allocations by @dirkkul in #12310
  • Use a view instead of copy in hnsw packed connection by @dirkkul in #12309
  • Reduce allocations for auto schema time/uuid parsing by @dirkkul in #12301
  • refact(telemetry) gate cluster-id commit on telemetry being enabled by @moogacs in #12326
  • fix(graphql): reject non-object variables instead of panicking by @moogacs in #12332
  • Don't discard teardown work when one shutdown step fails by @dirkkul in #12333
  • Improve segment index performance by using van Emde Boas layout by @dirkkul in #12327
  • Fix bugs in index shutdown by @dirkkul in #12331
  • Drop derived file names when recovering an aborted compaction by @dirkkul in #12336
  • Fix shard shutdown backup and wrong error return by @dirkkul in #12337
  • chore(deps): bump golang.org/x/net to v0.56.0 and golang.org/x/text to v0.39.0 (CVE-2026-46600, CVE-2026-56852) by @etiennedi in #12347
  • deps: adjust go dependencies in sub projects by @antas-marcin in #12362
  • Release shard references exactly once per acquire by @dirkkul in #12363
  • fix(replica): never use a search result as a read-repair payload by @etiennedi in #12355

Full Changelog: v1.37.13...v1.37.14

v1.39.0-rc.0 - Namespaces, Alter Schema, gRPC web, Search REST API

Choose a tag to compare

@antas-marcin antas-marcin released this 23 Jul 07:48

This is a release candidate for the upcoming v1.39.0 release.

A release candidate (RC) means the release is considered feature complete and has finished beta-testing. Any issues discovered during the RC phase will lead to new rc releases. The final rc release becomes the stable release. We're happy for your feedback about this pre-release.

This pre-release contains:

  • Namespaces (GA)
  • Alter Schema - Reindex property (Preview)
  • Alter Schema - Drop vector index (Preview)
  • gRPC web (GA)
  • Search REST API (GA)

v1.38.6 - Hybrid Diversity & MMR Improvements, LSM store inverted compaction improvements, Raft communication Fixes

Choose a tag to compare

@antas-marcin antas-marcin released this 21 Jul 07:01

Breaking Changes

none

New Features

none

Fixes

  • feat(rest): envelope search response {id, properties, references, metadata} by @g-despot in #12133
  • fix(async-repl): fold ≤cutoff changes into the async-checkpoint bounded hashtree by @jeroiraz in #12128
  • feat(rest): POST /v1/search/{collection}/near-text — REST near-text search endpoint by @g-despot in #12077
  • perf(replication): make hashbeat FSM target gate allocation-free by @jeroiraz in #12222
  • Do not load all lazy shards for property add by @dirkkul in #12184
  • fix(reindex): concurrent writes during migration converge into the new bucket (#11688, #298) by @etiennedi in #11985
  • fix(usage): abort in-flight usage scan when its collection is dropped by @antas-marcin in #12187
  • Do not load lazy loaded shards on backup restore by @dirkkul in #12186
  • fix(dtm): fail/retry reindex task on OnTaskCompleted schema-flip failure (#297) by @etiennedi in #11986
  • fix(reindex): mirror co-located props on batch-ref and delta writes by @etiennedi in #12210
  • Stop commit log churn flaking vector storage size test by @dirkkul in #12231
  • Backport to v1.36: fix flaky TestMakeUnboundedChannel_CapShrink by @asdine in #12236
  • rest search: camelCase payload fields; nested reserved rerank object by @g-despot in #12227
  • backport: fix(memberlist): retry on join with deadline by @moogacs in #12241
  • perf(inverted): add EncodeInto for BlockEntry and BlockData by @amourao in #12150
  • perf(lsmkv): pass data start offset to MarshalSortedKeys by @amourao in #12151
  • fix(lsmkv): capture values in keyOnly map cursor so keys aren't dropped by @amourao in #12152
  • perf(lsmkv): add reusable decode helpers for inverted node data by @amourao in #12154
  • perf(lsmkv): add EncodeAppend arena-append primitive to varenc by @amourao in #12149
  • perf(lsmkv): add reusable encode pipeline for inverted compaction by @amourao in #12160
  • fix(memberlist): don't fail startup when a single node can't join (self-heal) by @moogacs in #12243
  • Fix race in backup namespace test by @dirkkul in #12247
  • fix(test): join usage poll goroutines so they cannot assert after test completion by @antas-marcin in #12237
  • test(async-repl): gate scheduler close tests on dispatch round-trips, not channel-buffer sampling by @jeroiraz in #12250
  • fix(db): ABBA deadlock between updateReplicationConfig and lazy shard load wedges RAFT FSM by @jfrancoa in #12238
  • perf(lsmkv): wire inverted compaction through the reusable encode pipeline by @amourao in #12161
  • Namespace suspend RAFT states by @dirkkul in #12239
  • perf(lsmkv): reuse decode buffers in the inverted cursor by @amourao in #12163
  • perf(lsmkv): reuse the propLengthsView across inverted compaction nodes by @amourao in #12233
  • refactor(lsmkv): extract inverted block codec into inverted/blockenc by @amourao in #12244
  • fix(lsmkv): repair stable/v1.37 build broken by the v1.36 merge (blockenc.PackedDecode) by @jeroiraz in #12257
  • Hybrid Diversity & MMR by @trengrj in #11903
  • Key the auth singleflight on the key, not just the user by @dirkkul in #12270
  • Fix RBAC regexp by @dirkkul in #12251
  • Namespace suspend: Check namespace status for DB Users by @dirkkul in #12266
  • fix(rplc-mvmnt): HaltForTransfer overlap during concurrent COPY ops by @tsmith023 in #12218
  • feat(monitoring): unified background-process activity + duration metrics by @moogacs in #12275

Full Changelog: v1.38.5...v1.38.6

v1.36.23 - Cluster communication related Fixes

Choose a tag to compare

@antas-marcin antas-marcin released this 20 Jul 08:00

Breaking Changes

none

New Features

none

Fixes

  • perf(search): eliminate per-call allocations in SelectProperties lookups by @etiennedi in #12134
  • fix(test): widen flaky RansomNote aggregate count assertion by @etiennedi in #12194
  • fix(hnsw): entrypoint repair test flake by @trengrj in #12205
  • fix(rbac): error on unknown command version instead of looping forever during migration by @antas-marcin in #12196
  • fix(db): propagate usage-file removal error in NewShard instead of discarding it by @antas-marcin in #12191
  • Backport to v1.36: fix flaky TestMakeUnboundedChannel_CapShrink by @asdine in #12236
  • backport: fix(memberlist): retry on join with deadline by @moogacs in #12241
  • fix(memberlist): don't fail startup when a single node can't join (self-heal) by @moogacs in #12243

Full Changelog: v1.36.22...v1.36.23

v1.38.5 - LSM store performance improvements, Batch vectorization potencial deadlocks Fix, Allocation free reference cacher improvement

Choose a tag to compare

@antas-marcin antas-marcin released this 16 Jul 18:45

Breaking Changes

none

New Features

none

Fixes

  • fix(hfresh): never hold version-map locks across LSM operations by @asdine in #12119
  • Search time entrypoint repair by @trengrj in #11956
  • Fix batch vectorization deadlocks by @dirkkul in #12070
  • flat: fix vectors invisible to flat cached search after restart with unflushed data by @asdine in #12132
  • perf(usage): open dimensions bucket once per shard with sequential-access hint by @antas-marcin in #12106
  • When resetting the HNSW graph, ensure tombstone metric is cleared by @trengrj in #12131
  • Fix flaky GQL accptance test with EC issues by @dirkkul in #12140
  • fix(concurrency): thread per-query budget into sroar merge fan-out (P1a) by @etiennedi in #12076
  • ci: switch acceptance tests to use ubicloud-standard-4 runner by @antas-marcin in #12148
  • fix(lsmkv): sort WALs before recovery so the newest stays the active memtable by @antas-marcin in #12138
  • ci: switch integration and module tests to ubicloud runners by @antas-marcin in #12153
  • perf(inverted): reuse read buffer in objectsByDocID by @amourao in #12142
  • perf(sorter,group-by): reuse read buffer in docID resolution loops by @amourao in #12143
  • perf(lsmkv): cache immutable memtable tombstone snapshot for queries by @amourao in #12051
  • perf(lsmkv): lock-free tombstone reads + write-side lock split by @amourao in #12052
  • feat(lsmkv): make in-place segment cleanup switch crash-atomic by @antas-marcin in #12156
  • fix(generative-google): make class settings optional to avoid sending defaults to Gemini by @antas-marcin in #12123
  • feat(usage): warn when collection cycles overlap the collection interval by @antas-marcin in #12174
  • Skip lazy-unloaded tenant shards in TTL sweep by @dirkkul in #12178
  • refatc(diagnostic): add slow raft apply log gate by @moogacs in #12180
  • backport: fix(acceptance-test): handle http client concurrency by @moogacs in #12182
  • backport: fix(memberlist): retry on join with deadline by @moogacs in #12183
  • chore(rplc-mvmnt): remove consumer.sync from happy path due to redundancy by @tsmith023 in #12179
  • perf(search): eliminate per-call allocations in SelectProperties lookups by @etiennedi in #12134
  • perf(internode): exact-size single-alloc marshalling for fan-out payloads (slice 1/3) by @etiennedi in #12135
  • fix(test): widen flaky RansomNote aggregate count assertion by @etiennedi in #12194
  • fix(hnsw): entrypoint repair test flake by @trengrj in #12205
  • fix(replica-movement): atomic LWW on change-log replay by @moogacs in #12190
  • fix(lsmkv): reclaim deleted docs' property lengths at compaction by @amourao in #12147
  • fix(lsmkv): track live-set avgdl at compaction so BM25 scores don't drift with deletes (#311) by @amourao in #12168
  • [Reindex Fixes A] fix: atomic tokenization+bucket snapshot per BM25 query (LiveQueries flake) by @etiennedi in #11540
  • chore(rplc-mvmnt): add more debug logging to ccl usage by @tsmith023 in #12175
  • Namespace suspend scaffolding (errors etc) by @dirkkul in #12204
  • fix(rbac): error on unknown command version instead of looping forever during migration by @antas-marcin in #12196
  • ci: split unit tests into adapters / non-adapters parts by @antas-marcin in #12185
  • fix(db): propagate usage-file removal error in NewShard instead of discarding it by @antas-marcin in #12191
  • Expose structured where-filter on the MCP hybrid search tool by @g-despot in #11755
  • [Reindex Fixes B] fix: partial-state cleanup deleted live class-level deferred-finalize dirs by @etiennedi in #11982

Full Changelog: v1.38.4...v1.38.5