v1.39.0 - Namespaces, RQ4, Hybrid MMR, Alter Schema, gRPC web, Search REST API
- Add counter for blocked namespace requests
- Add namespace local roles
- Add namespace graduation using backup/restore
- Add namespace suspend scaffolding
- Add namespace suspend RAFT states
- Add endpoints for namespace suspend
- Add support for cross-property AND matching in BM25 search
- Match colon-containing user/group ids literally for global callers in namespaces
- Gate to disallow global non-operator users in namespaces
- Deny operator only surface to namespaced users
- Check namespace status for DB Users in namespace suspend
- Return first letters of API keys for admins on namespaced clusters
- Faster varint decoding with reservoir and 64-bit reads in BM25
- Optimize Tier-1 allocation in BlockMax WAND hot path
- Optimize WAND scoring-loop and data-structures in BM25
- Defer tombstone checks from advance-time to scoring in BM25
- Parallelize block term creation across properties in BM25
- Fix flaky namespace test due to eventual consistency
- Fix namespace regexp
- Record max-impact pair on memtable BlockEntry in BM25
Breaking Changes
none
Namespaces
Namespaces add control-plane and data isolation between users on a shared cluster.
- Add counter for blocked namespace requests by @dirkkul in https://github.com/weaviate/weaviate/pull/11721
- Fix namespace test that is flaky due to EC by @dirkkul in https://github.com/weaviate/weaviate/pull/11806
- Namespaces: Match colon-containing user/group ids literally for global callers by @dirkkul in https://github.com/weaviate/weaviate/pull/11868
- Add gate to disallow global non-operator users by @dirkkul in https://github.com/weaviate/weaviate/pull/11908
- Deny operator only surface to namespaced users by @dirkkul in https://github.com/weaviate/weaviate/pull/11922
- Namespace local roles by @dirkkul in https://github.com/weaviate/weaviate/pull/11873
- feat: namespace graduation using backup/restore by @tsmith023 in https://github.com/weaviate/weaviate/pull/11924
- Namespace suspend scaffolding (errors etc) by @dirkkul in https://github.com/weaviate/weaviate/pull/12204
- Namespace suspend RAFT states by @dirkkul in https://github.com/weaviate/weaviate/pull/12239
- Namespace suspend: Check namespace status for DB Users by @dirkkul in https://github.com/weaviate/weaviate/pull/12266
- Fix namespace regexp by @dirkkul in https://github.com/weaviate/weaviate/pull/12292
- Namespace: Add endpoints for suspend by @dirkkul in https://github.com/weaviate/weaviate/pull/12291
- Return first letters of API keys for admins on namespaced clusters by @dirkkul in https://github.com/weaviate/weaviate/pull/12316
BM25 / BlockMax (BMW) rework
- fix(bm25): record max-impact pair on memtable BlockEntry by @amourao in https://github.com/weaviate/weaviate/pull/11780
- perf(bm25): faster varint decoding (reservoir + 64-bit reads) by @amourao in https://github.com/weaviate/weaviate/pull/11770
- perf(bm25): Tier-1 allocation cuts in the BlockMax WAND hot path by @amourao in https://github.com/weaviate/weaviate/pull/11772
- perf(bm25): WAND scoring-loop & data-structure optimizations by @amourao in https://github.com/weaviate/weaviate/pull/11773
- perf(bm25): defer tombstone checks from advance-time to scoring by @amourao in https://github.com/weaviate/weaviate/pull/11774
- perf(bm25): tighten block-entry scanning in the WAND loop by @amourao in https://github.com/weaviate/weaviate/pull/11775
- perf(bm25): round-6 query-setup path optimization by @amourao in https://github.com/weaviate/weaviate/pull/11776
- perf(bm25): round-7 matched-branch sort elision by @amourao in https://github.com/weaviate/weaviate/pull/11777
- perf(bm25): gate DoBlockMaxWand prune-branch repair on needFullSort by @amourao in https://github.com/weaviate/weaviate/pull/11915
- fix(bm25): dedup duplicate properties (last boost wins) by @etiennedi in https://github.com/weaviate/weaviate/pull/12004
- fix(bm25): propagate combineResults error (was silent empty results) by @etiennedi in https://github.com/weaviate/weaviate/pull/12007
- perf(bm25): approximate object count for IDF, reuse query stats on blockmax fallback by @amourao in https://github.com/weaviate/weaviate/pull/12017
- fix(bm25): apply propertyBoost to WAND pivot and block-impact bounds by @amourao in https://github.com/weaviate/weaviate/pull/12018
- perf(bm25): cursor tombstone and filter probes in block-max WAND by @amourao in https://github.com/weaviate/weaviate/pull/12046
- perf(bm25): tiered merged filter for block-max WAND by @amourao in https://github.com/weaviate/weaviate/pull/12047
- feat: add support for cross-property AND matching in BM25 search by @amourao in https://github.com/weaviate/weaviate/pull/11929
- perf(bm25): parallelize block term creation across properties by @amourao in https://github.com/weaviate/weaviate/pull/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 https://github.com/weaviate/weaviate/pull/11976
- [Reindex Fixes A] test: harden multinode reindex tests against weak-VM timing by @etiennedi in https://github.com/weaviate/weaviate/pull/11538
- [Reindex Fixes A] test: tolerate transient /v1/tasks 500s after node restarts by @etiennedi in https://github.com/weaviate/weaviate/pull/11530
- [Reindex Fixes A] fix: class DELETE racing a draining reindex worker re-created the class dir by @etiennedi in https://github.com/weaviate/weaviate/pull/11539
- [Reindex Fixes A] fix: atomic tokenization+bucket snapshot per BM25 query (LiveQueries flake) by @etiennedi in https://github.com/weaviate/weaviate/pull/11540
- [Reindex Fixes B] fix: partial-state cleanup deleted live class-level deferred-finalize dirs by @etiennedi in https://github.com/weaviate/weaviate/pull/11982
- fix(dtm): fail/retry reindex task on OnTaskCompleted schema-flip failure (#297) by @etiennedi in https://github.com/weaviate/weaviate/pull/11986
- feat(reindex): GA API rework per RFC (v1.39) — resource-oriented index endpoints by @etiennedi in https://github.com/weaviate/weaviate/pull/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 https://github.com/weaviate/weaviate/pull/11718
- feat(drop-vector-index): reject writes carrying a dropped vector index by @antas-marcin in https://github.com/weaviate/weaviate/pull/11804
- feat(drop-vector-index): reject introducing the "none" vector index type on collection update by @antas-marcin in https://github.com/weaviate/weaviate/pull/11805
- feat(drop-vector-index): introduce (storobj.Object).RemoveTargetVector method by @antas-marcin in https://github.com/weaviate/weaviate/pull/11810
- feat(drop-vector-index): introduce segment edit ops bolt facility by @antas-marcin in https://github.com/weaviate/weaviate/pull/11811
- feat(drop-vector-index): introduce compactor transformer hook by @antas-marcin in https://github.com/weaviate/weaviate/pull/11812
- feat(drop-vector-index): apply value transformer in segment cleaner by @antas-marcin in https://github.com/weaviate/weaviate/pull/11822
- feat(drop-vector-index): wire edit ops into segment compaction by @antas-marcin in https://github.com/weaviate/weaviate/pull/11825
- feat(drop-vector-index): clean pending segments via edit ops with retry/quarantine by @antas-marcin in https://github.com/weaviate/weaviate/pull/11831
- feat(drop-vector-index): bridge edit-ops transformer to objects bucket by @antas-marcin in https://github.com/weaviate/weaviate/pull/11870
- feat(drop-vector-index): implement drop vector index distributed task by @antas-marcin in https://github.com/weaviate/weaviate/pull/11876
- feat(drop-vector-index): gate schema removal of dropped vector on cleanup FINISHED by @antas-marcin in https://github.com/weaviate/weaviate/pull/11889
- feat(drop-vector-index): fail the unit when cleanup quarantines a segment by @antas-marcin in https://github.com/weaviate/weaviate/pull/11900
- fix(drop-vector-index): reject writes targeting a dropped vector on the receiving node by @antas-marcin in https://github.com/weaviate/weaviate/pull/12105
- test(drop-vector-index): alter schema drop vector index e2e tests by @antas-marcin in https://github.com/weaviate/weaviate/pull/12095
- feat(drop-vector-index): cold-tenant completion, MT-scale coverage, tenant-lifecycle decoupling by @antas-marcin in https://github.com/weaviate/weaviate/pull/12295
gRPC web
Adds gRPC web endpoint.
- feat: introduce
/grpc-webendpoint by @tsmith023 in https://github.com/weaviate/weaviate/pull/12024
Search REST API
Adds dedicated REST API for performing search queries.
- feat(rest): envelope search response {id, properties, references, metadata} by @g-despot in https://github.com/weaviate/weaviate/pull/12133
- feat(rest): POST /v1/search/{collection}/near-text — REST near-text search endpoint by @g-despot in https://github.com/weaviate/weaviate/pull/12077
- rest search: camelCase payload fields; nested reserved rerank object by @g-despot in https://github.com/weaviate/weaviate/pull/12227
Hybrid MMR
Adds support for Maximal Marginal Relevance in Hybrid queries.
- Hybrid Diversity & MMR by @trengrj in https://github.com/weaviate/weaviate/pull/11903
RQ4
4Bit Rotational Quantization.
- 4-bit RQ + improved SIMD vector search performance by @trengrj in https://github.com/weaviate/weaviate/pull/12324
Boost API
Soft-ranking support.
- Handle missing boost properties and property type validation by @trengrj in https://github.com/weaviate/weaviate/pull/11699
Async replication
Async replication optimizations and fixes.
- perf(async-rep): reuse a single cursor across the hashbeat digest scan by @jeroiraz in https://github.com/weaviate/weaviate/pull/11833
- feat(async-rep): propagate raw on-disk object bytes by @jeroiraz in https://github.com/weaviate/weaviate/pull/11853
- perf(async-replication): allocate propagation buffers per-hashBeat, not per-range by @jeroiraz in https://github.com/weaviate/weaviate/pull/11961
- fix(async-replication): hoist hashtree-init wait out of RLock in merge paths by @jeroiraz in https://github.com/weaviate/weaviate/pull/12027
- fix(async-replication): don't let TimeBased repair clobber a newer local write by @jeroiraz in https://github.com/weaviate/weaviate/pull/12028
- perf(async-replication): batched hashtree-root pre-filter for many-tenant clusters by @jeroiraz in https://github.com/weaviate/weaviate/pull/11968
- fix(replication): avoid nil-pointer deref in read-repair when a live winner's refetch fails by @jeroiraz in https://github.com/weaviate/weaviate/pull/12030
- fix(async-replication): serialize hashtree rebuild against shard shutdown by @jeroiraz in https://github.com/weaviate/weaviate/pull/12031
- fix(async-replication): deregister under the write lock and keep replication on while overrides are active by @jeroiraz in https://github.com/weaviate/weaviate/pull/12034
- fix(async-replication): close hashtree-init channel on early goroutine exit to unblock parked merges by @antas-marcin in https://github.com/weaviate/weaviate/pull/12037
- fix(async-replication): repair REST root-prefilter JSON and bound request size by @jeroiraz in https://github.com/weaviate/weaviate/pull/12048
- fix(replica): harden async-replication and replica read/write paths by @jeroiraz in https://github.com/weaviate/weaviate/pull/12044
- fix(async-repl): respect parent index ctx on deletion by @moogacs in https://github.com/weaviate/weaviate/pull/12079
- async replication: resolve replicas locally, never implicitly activate a tenant by @jeroiraz in https://github.com/weaviate/weaviate/pull/12113
- perf(async-repl): digest-mode replace cursor to skip full value copies in hash-tree scans by @jeroiraz in https://github.com/weaviate/weaviate/pull/12121
- perf(async-repl): cut digest-scan allocations & IO, reduce default scheduler workers by @jeroiraz in https://github.com/weaviate/weaviate/pull/12126
- fix(async-repl): goroutine leak on tenant shutdown — settle Done()s owed by queued scheduler batches by @jeroiraz in https://github.com/weaviate/weaviate/pull/12127
- fix(async-repl): overwrite read-repair must not resurrect unloaded shards; drop redundant REST retry by @jeroiraz in https://github.com/weaviate/weaviate/pull/12129
- fix(async-repl): init-scan hashtree double-count and tombstone resurrection by @jeroiraz in https://github.com/weaviate/weaviate/pull/12130
- fix(async-repl): fold ≤cutoff changes into the async-checkpoint bounded hashtree by @jeroiraz in https://github.com/weaviate/weaviate/pull/12128
- perf(replication): make hashbeat FSM target gate allocation-free by @jeroiraz in https://github.com/weaviate/weaviate/pull/12222
HFresh
Extensive improvements including numerous performance optimizations reducing memory usage, disk writes, and allocations.
- hfresh: increase searchProbe default to 256 by @asdine in https://github.com/weaviate/weaviate/pull/11793
- hfresh: defer queue registration until restore completes by @asdine in https://github.com/weaviate/weaviate/pull/11795
- hfresh: fix reassign queue recovery hints by @asdine in https://github.com/weaviate/weaviate/pull/11821
- hfresh: reduce task dedup memory by @asdine in https://github.com/weaviate/weaviate/pull/11827
- hfresh: increase searchProbe default to 256 by @asdine in https://github.com/weaviate/weaviate/pull/11955
- hfresh: fix quantizer initialization race by @asdine in https://github.com/weaviate/weaviate/pull/12000
- fix(hfresh): normalize vectors during reassign by @asdine in https://github.com/weaviate/weaviate/pull/12068
- fix(hfresh): never hold version-map locks across LSM operations by @asdine in https://github.com/weaviate/weaviate/pull/12119
Replica movement hardening & semi-automated namespace cluster rebalancing
- Gut the replicated indices queue feature due to lack of use by @tsmith023 in https://github.com/weaviate/weaviate/pull/11654
- feat(replication): turn on async repl if
erf=1andarf>1by @tsmith023 in https://github.com/weaviate/weaviate/pull/11638 - Block
ShardReplicationFSM.AllPeersAtLeaston visible peers by @tsmith023 in https://github.com/weaviate/weaviate/pull/11787 - Snapshot in-place-mutated bbolt files during active-shard backup by @tsmith023 in https://github.com/weaviate/weaviate/pull/11832
- replica-movement: forbid certain schema mutations during movements by @tsmith023 in https://github.com/weaviate/weaviate/pull/11503
- Ensure that rf=1 writes go through replicator if active op for the shard by @tsmith023 in https://github.com/weaviate/weaviate/pull/11867
- [feat] Use hard-links during replica movement to avoid compaction halting by @tsmith023 in https://github.com/weaviate/weaviate/pull/11226
- perf(replication): share one zstd encoder in REST client instead of sync.Pool by @jeroiraz in https://github.com/weaviate/weaviate/pull/11960
- Avoid target node collisions when creating replication ops in test by @tsmith023 in https://github.com/weaviate/weaviate/pull/12074
- chore(rplc-mvmnt): remove
consumer.syncfrom happy path due to redundancy by @tsmith023 in https://github.com/weaviate/weaviate/pull/12179 - chore(rplc-mvmnt): add more debug logging to ccl usage by @tsmith023 in https://github.com/weaviate/weaviate/pull/12175
- fix(rplc-mvmnt):
HaltForTransferoverlap during concurrent COPY ops by @tsmith023 in https://github.com/weaviate/weaviate/pull/12218 - chore(rplc-mvmnt): remove
SyncShardsin favour of node localShard.dropby @tsmith023 in https://github.com/weaviate/weaviate/pull/12217 - fix(replica-fast): avoid
nil-deref panics infilepath.WalkDircallbacks by @tsmith023 in https://github.com/weaviate/weaviate/pull/12300
Backup reliability improvements
- fix(backup): return 422 instead of 500 when backend module is missing by @gkampitakis in https://github.com/weaviate/weaviate/pull/11666
- Add env vars to disable bucket access check by @dirkkul in https://github.com/weaviate/weaviate/pull/11645
- feat(backup): log goroutine pool size when starting a backup by @gkampitakis in https://github.com/weaviate/weaviate/pull/11705
- Fix goroutine leak in listing all s3 backups by @dirkkul in https://github.com/weaviate/weaviate/pull/11702
- Fix backup concurrency calculation by @dirkkul in https://github.com/weaviate/weaviate/pull/11733
- fix(backup): return 5xx for operational failures by @gkampitakis in https://github.com/weaviate/weaviate/pull/11803
- fix(backup-azure): use delimiter listing in AllBackups to avoid full object scan by @gkampitakis in https://github.com/weaviate/weaviate/pull/11669
- fix(backup): make halt-for-transfer inactivity monitor race-free by @jeroiraz in https://github.com/weaviate/weaviate/pull/11965
- Incremental backups: Bugfix collection by @dirkkul in https://github.com/weaviate/weaviate/pull/11972
- Bound halt-for-transfer backup preparation by @asdine in https://github.com/weaviate/weaviate/pull/11947
- Fix geo queue backup preparation timeout by @asdine in https://github.com/weaviate/weaviate/pull/12055
- Do not load lazy loaded shards on backup restore by @dirkkul in https://github.com/weaviate/weaviate/pull/12186
- Make number of files that are deduplicated in incremental backups configurable by @dirkkul in https://github.com/weaviate/weaviate/pull/12234
- Remove support for restoring old backup formats by @dirkkul in https://github.com/weaviate/weaviate/pull/12338
- fix(backup): reset the inactivity deadline on a successful halt by @etiennedi in https://github.com/weaviate/weaviate/pull/12403
- feat(backup-s3): introduce new auth broker credentials by @gkampitakis in https://github.com/weaviate/weaviate/pull/11880
Modules & Integrations
- feat(usage-module): drop schema recording from usage reporting by @gkampitakis in https://github.com/weaviate/weaviate/pull/11704
- feat: add location configuration to text2vec-google module by @hashkanna in https://github.com/weaviate/weaviate/pull/8418
- feat(module): add generative-deepseek module by @antas-marcin in https://github.com/weaviate/weaviate/pull/11769
- backport: feat: add location configuration to text2vec-google module (#8418) by @antas-marcin in https://github.com/weaviate/weaviate/pull/11762
- feat: add support for endpoint setting in OpenAI client by @antas-marcin in https://github.com/weaviate/weaviate/pull/11763
- feat(generative-google): add support for location setting by @antas-marcin in https://github.com/weaviate/weaviate/pull/11766
- feat: add support for dimensions setting in text2vec-aws module by @antas-marcin in https://github.com/weaviate/weaviate/pull/11764
- chore(generative-deepseek): add support for stop setting in module settings by @antas-marcin in https://github.com/weaviate/weaviate/pull/11796
- fix(usage): don't abort the whole usage report in case of missing tenant by @antas-marcin in https://github.com/weaviate/weaviate/pull/11849
- perf(usage): replace per-shard jitter with bounded concurrent shard readers by @antas-marcin in https://github.com/weaviate/weaviate/pull/11902
- fix(auth-broker): retry on 429 http status code by @gkampitakis in https://github.com/weaviate/weaviate/pull/12025
- perf(usage): make shard concurrency a usage node wide constraint by @antas-marcin in https://github.com/weaviate/weaviate/pull/12071
- review(usage): guard semaphore capacity, drop FIFO claim, shorten test timeout by @antas-marcin in https://github.com/weaviate/weaviate/pull/12083
- fix(usage): serialize unloaded dimensions bucket access across concurrent reports by @antas-marcin in https://github.com/weaviate/weaviate/pull/12112
- Fix batch vectorization deadlocks by @dirkkul in https://github.com/weaviate/weaviate/pull/12070
- perf(usage): open dimensions bucket once per shard with sequential-access hint by @antas-marcin in https://github.com/weaviate/weaviate/pull/12106
- 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
- fix(usage): abort in-flight usage scan when its collection is dropped by @antas-marcin in https://github.com/weaviate/weaviate/pull/12187
- Add retry to module base client by @dirkkul in https://github.com/weaviate/weaviate/pull/12377
- fix(usage): skip collection tick while previous report is still running by @antas-marcin in https://github.com/weaviate/weaviate/pull/12139
- Add nested object filtering support to usage module by @dirkkul in https://github.com/weaviate/weaviate/pull/12409
- Dont read file sizes in usage module when not needed by @dirkkul in https://github.com/weaviate/weaviate/pull/12418
- feat(multi2vec-twelvelabs): add TwelveLabs Marengo multimodal vectorizer by @antas-marcin in https://github.com/weaviate/weaviate/pull/12431
- Fix usage module with named vectors where one is a prefix of another by @dirkkul in https://github.com/weaviate/weaviate/pull/12428
Performance & Optimization
- perf(hnsw): drop per-batch fsync from commit log Flush() — #199 regression by @etiennedi in https://github.com/weaviate/weaviate/pull/11385
- More allocation/heap optimization by @dirkkul in https://github.com/weaviate/weaviate/pull/10657
- perf: lazy loading for property lengths by @amourao in https://github.com/weaviate/weaviate/pull/11711
- Increase timeout for ObjectTTL test in case multi node cluster is not ready yet by @dirkkul in https://github.com/weaviate/weaviate/pull/11651
- Reduce goroutines spawned by cyclemanager by @dirkkul in https://github.com/weaviate/weaviate/pull/11701
- Switch cycle manager to backoff on idle by @dirkkul in https://github.com/weaviate/weaviate/pull/11703
- Dont timeout shard halting in unrelated unittest by @dirkkul in https://github.com/weaviate/weaviate/pull/11727
- Optimize async replication to use efficient property unmarshalling by @dirkkul in https://github.com/weaviate/weaviate/pull/11761
- Enforce tenant cap in RAFT by @dirkkul in https://github.com/weaviate/weaviate/pull/11752
- perf(hnsw): single-buffer WAL writes to cut per-record allocations by @asdine in https://github.com/weaviate/weaviate/pull/11857
- perf(lsmkv): lock-free atomic segment refcount by @amourao in https://github.com/weaviate/weaviate/pull/11771
- perf: dense/sorted-pairs property-length representation by @amourao in https://github.com/weaviate/weaviate/pull/11753
- perf: direct-array compaction serialization via EncodePairs by @amourao in https://github.com/weaviate/weaviate/pull/11754
compactv2: Rework HNSW disk state management by @etiennedi in https://github.com/weaviate/weaviate/pull/9988- Avoid pausing compaction in ApplyToObjectDigests by @jeroiraz in https://github.com/weaviate/weaviate/pull/11896
- gh-7461 use automaxprocs to set GOMAXPROCS (cgroup v2 support) [backport v1.36] by @Joe-Weaviate in https://github.com/weaviate/weaviate/pull/11918
- Optimize cycle manager for large MT collections by @dirkkul in https://github.com/weaviate/weaviate/pull/11958
- Additional validation on PQ query vector length by @trengrj in https://github.com/weaviate/weaviate/pull/11954
- Resolve class only once on GRPC layer by @dirkkul in https://github.com/weaviate/weaviate/pull/12003
- Narrow traverser single-class reads to a class getter by @dirkkul in https://github.com/weaviate/weaviate/pull/12005
- Add percentage eager shards loaded to raft waiting for database to restore log by @tsmith023 in https://github.com/weaviate/weaviate/pull/11952
- perf(replica): short-circuit local-node replica calls in-process by @moogacs in https://github.com/weaviate/weaviate/pull/11596
- feat: implement runtime toggle for GraphQL API by @amourao in https://github.com/weaviate/weaviate/pull/11930
- Reuse consistent view for fetches of multiple objects by @dirkkul in https://github.com/weaviate/weaviate/pull/12010
- gh-12041 return 422 for batch delete with missing match fields by @apoorva-01 in https://github.com/weaviate/weaviate/pull/12049
- Optimize shard gauge allocations by @dirkkul in https://github.com/weaviate/weaviate/pull/12067
- Wrap ErrNotFound in GetShardsQueueSize so a non-existing index returns 404, not 500 by @jfrancoa in https://github.com/weaviate/weaviate/pull/12040
- perf(shard): lazy load empty multi-tenant shards at startup by @moogacs in https://github.com/weaviate/weaviate/pull/12061
- feat(raft): warn when a schema apply stalls the FSM loop by @moogacs in https://github.com/weaviate/weaviate/pull/12124
- Search time entrypoint repair by @trengrj in https://github.com/weaviate/weaviate/pull/11956
- 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
- 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
- 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
- Expose structured where-filter on the MCP hybrid search tool by @g-despot in https://github.com/weaviate/weaviate/pull/11755
- Do not load all lazy shards for property add by @dirkkul in https://github.com/weaviate/weaviate/pull/12184
- perf(inverted): add EncodeInto for BlockEntry and BlockData by @amourao in https://github.com/weaviate/weaviate/pull/12150
- perf(lsmkv): pass data start offset to MarshalSortedKeys by @amourao in https://github.com/weaviate/weaviate/pull/12151
- perf(lsmkv): add reusable decode helpers for inverted node data by @amourao in https://github.com/weaviate/weaviate/pull/12154
- perf(lsmkv): add EncodeAppend arena-append primitive to varenc by @amourao in https://github.com/weaviate/weaviate/pull/12149
- perf(lsmkv): add reusable encode pipeline for inverted compaction by @amourao in https://github.com/weaviate/weaviate/pull/12160
- perf(lsmkv): wire inverted compaction through the reusable encode pipeline by @amourao in https://github.com/weaviate/weaviate/pull/12161
- perf(lsmkv): reuse decode buffers in the inverted cursor by @amourao in https://github.com/weaviate/weaviate/pull/12163
- perf(lsmkv): reuse the propLengthsView across inverted compaction nodes by @amourao in https://github.com/weaviate/weaviate/pull/12233
- refactor(lsmkv): extract inverted block codec into inverted/blockenc by @amourao in https://github.com/weaviate/weaviate/pull/12244
- cyclemanager: replace per-tick due-scan with a due-heap scheduler by @aliszka in https://github.com/weaviate/weaviate/pull/12099
- Reduce heap usage in HNSW condensor by @dirkkul in https://github.com/weaviate/weaviate/pull/12306
- AddMultiVector idempotence fix by @trengrj in https://github.com/weaviate/weaviate/pull/12170
- Revert "prepare release v1.39.0-rc.0" by @antas-marcin in https://github.com/weaviate/weaviate/pull/12312
- Drop fmt.Sprintf from commit-log path builders to save allocations by @dirkkul in https://github.com/weaviate/weaviate/pull/12310
- Use a view instead of copy in hnsw packed connection by @dirkkul in https://github.com/weaviate/weaviate/pull/12309
- Reduce allocations for auto schema time/uuid parsing by @dirkkul in https://github.com/weaviate/weaviate/pull/12301
- Improve segment index performance by using van Emde Boas layout by @dirkkul in https://github.com/weaviate/weaviate/pull/12327
- Drop derived file names when recovering an aborted compaction by @dirkkul in https://github.com/weaviate/weaviate/pull/12336
- Release shard references exactly once per acquire by @dirkkul in https://github.com/weaviate/weaviate/pull/12363
- Route shard access through Index.withShardOrRemote by @dirkkul in https://github.com/weaviate/weaviate/pull/12366
- Allocate per-tenant vector cache memory lazily and proportionally to tenant size by @asdine in https://github.com/weaviate/weaviate/pull/12116
- tokenizer: add AnalyzeBatch with resolve-once dispatch and metrics at dispatch by @aliszka in https://github.com/weaviate/weaviate/pull/12342
- lsmkv/roaringset: cut per-read allocations on the roaringset read path by @aliszka in https://github.com/weaviate/weaviate/pull/12343
- log: put actionable error text in msg on the boot and exit paths by @etiennedi in https://github.com/weaviate/weaviate/pull/12354
- lsmkv/roaringset: storage-side support for batched Contains resolution by @aliszka in https://github.com/weaviate/weaviate/pull/12388
- Reduce HNSW snapshot allocations by @dirkkul in https://github.com/weaviate/weaviate/pull/12387
- inverted: batch flat ContainsAny/ContainsAll/ContainsNone under one consistent view by @aliszka in https://github.com/weaviate/weaviate/pull/12395
- config, inverted: make batched Contains opt-in via runtime-overridable gate by @aliszka in https://github.com/weaviate/weaviate/pull/12410
- perf(hnsw): parallelize Muvera late-interaction rescoring by @etiennedi in https://github.com/weaviate/weaviate/pull/10536
- Don't hold the DB index lock across a verbose node-status scan by @dirkkul in https://github.com/weaviate/weaviate/pull/12375
- Reduce allocations in tenant activity tracking by @dirkkul in https://github.com/weaviate/weaviate/pull/12425
- Don't allocate a mutex on every key-locker call by @dirkkul in https://github.com/weaviate/weaviate/pull/12430
- perf(hnsw): slab-allocate visited sparse-set segments by @abdelr in https://github.com/weaviate/weaviate/pull/12374
- feat(hnsw): respect per-query concurrency budget in compressed rescore by @asdine in https://github.com/weaviate/weaviate/pull/12421
- Remove tmp files in compaction/cleanup on failure by @dirkkul in https://github.com/weaviate/weaviate/pull/12452
- Switch off bloom filters for collection export by @dirkkul in https://github.com/weaviate/weaviate/pull/12455
Bug Fixes
- fix(dynamic): clean stale HNSW commit log on shard restart when upgrade incomplete by @rlmanrique in https://github.com/weaviate/weaviate/pull/11231
- hnsw: fix off-by-one in isEmptyUnlocked causing panic on zero-length nodes by @rlmanrique in https://github.com/weaviate/weaviate/pull/11148
- fix(config): validate replication factor bounds at startup by @gkampitakis in https://github.com/weaviate/weaviate/pull/11679
- Fix race in usage module startup by @dirkkul in https://github.com/weaviate/weaviate/pull/11684
- fix: extend token fetch retry budget by @gkampitakis in https://github.com/weaviate/weaviate/pull/11713
- fix(runtime-config): add validation for default_vector_index runtime setting by @antas-marcin in https://github.com/weaviate/weaviate/pull/11719
- Fix MCP hybrid search returning objects without properties by @g-despot in https://github.com/weaviate/weaviate/pull/11707
- Fix wrong authz check for get groups for role by @dirkkul in https://github.com/weaviate/weaviate/pull/11728
- fix(shard): make initTargetVector idempotent to prevent double-create by @amourao in https://github.com/weaviate/weaviate/pull/11584
- fix(dynamic): serialize config updates and Iterate against the flat->hnsw upgrade by @amourao in https://github.com/weaviate/weaviate/pull/11582
- fix(hnsw): read compression config under compressActionLock in insert validation by @amourao in https://github.com/weaviate/weaviate/pull/11583
- fix(usage-limits): tenant cap rejects ingest into existing tenants by @aliszka in https://github.com/weaviate/weaviate/pull/11765
- Fix panic in
db.WaitForLocalInflightWritesby @tsmith023 in https://github.com/weaviate/weaviate/pull/11784 - Add missing forwarding of property names by @dirkkul in https://github.com/weaviate/weaviate/pull/11782
- fix: route multivector queue deletes through DeleteMulti by @asdine in https://github.com/weaviate/weaviate/pull/11794
- Remove flaky assertion for dynamic index by @trengrj in https://github.com/weaviate/weaviate/pull/11801
- fix(compact): fail closed on truncated compact files by @asdine in https://github.com/weaviate/weaviate/pull/11802
- Skip malformed runtime config values by @dirkkul in https://github.com/weaviate/weaviate/pull/11614
- Fix compact v2 in case of commit logger reset by @trengrj in https://github.com/weaviate/weaviate/pull/11749
- fix(hnsw): stop dropping nodes at snapshot block boundaries by @asdine in https://github.com/weaviate/weaviate/pull/11829
- Fix backup RBAC checks by @dirkkul in https://github.com/weaviate/weaviate/pull/11123
- fix(compact): tolerate legacy snapshot block-boundary gaps on read by @asdine in https://github.com/weaviate/weaviate/pull/11830
- fix(sharding): reject negative desiredCount (gh-11729) by @vjsai in https://github.com/weaviate/weaviate/pull/11824
- fix(compact): recover from corrupt compacted segments on load by @asdine in https://github.com/weaviate/weaviate/pull/11848
- fix(hnsw): parallel-cursor prefill for unbounded uncompressed vector cache by @etiennedi in https://github.com/weaviate/weaviate/pull/11838
- fix(compact): truncate corrupt compacted segments to last valid record on load by @asdine in https://github.com/weaviate/weaviate/pull/11856
- Fix EC in namespace tests by @dirkkul in https://github.com/weaviate/weaviate/pull/11871
- fix: persist advanced update time when object content is unchanged by @jeroiraz in https://github.com/weaviate/weaviate/pull/11866
- Return proper error code from shard endpoints when index is not found by @dirkkul in https://github.com/weaviate/weaviate/pull/11875
- Fix more error codes in REST handler by @dirkkul in https://github.com/weaviate/weaviate/pull/11878
- fix: TestIndex_UsageForCollection_MissingShardFiles data race error by @antas-marcin in https://github.com/weaviate/weaviate/pull/11887
- Fix node handler return types by @dirkkul in https://github.com/weaviate/weaviate/pull/11888
- Delete rfc.md for replica movement with hard-link snapshots by @tsmith023 in https://github.com/weaviate/weaviate/pull/11891
- Fix partial permission removal from role by @dirkkul in https://github.com/weaviate/weaviate/pull/11885
- Fix potential deadlock in backup in big clusters by @dirkkul in https://github.com/weaviate/weaviate/pull/11890
- fix(dynamic): update tests for hnsw-compact-v2 API (IsUpgraded, MakeCommitLogger opts) by @antas-marcin in https://github.com/weaviate/weaviate/pull/11892
- Fix multi-role delete by @dirkkul in https://github.com/weaviate/weaviate/pull/11904
- fix(hnsw): guard insert-path compression-state reads under compressActionLock by @amourao in https://github.com/weaviate/weaviate/pull/11597
- Fix replica-movement restore crashloop and chained-move data loss by @tsmith023 in https://github.com/weaviate/weaviate/pull/11895
- Fix/hnsw maintenance flag leak by @abdelr in https://github.com/weaviate/weaviate/pull/11898
- fix: allow object writes after a named vector index is dropped by @VihaanAgarwal in https://github.com/weaviate/weaviate/pull/11919
- Fix/hnsw search entrypoint prereqs by @abdelr in https://github.com/weaviate/weaviate/pull/11923
- Return 500 instead of nil Responder on getGroups controller error by @dirkkul in https://github.com/weaviate/weaviate/pull/11933
- Fix/hnsw repair global entrypoint by @abdelr in https://github.com/weaviate/weaviate/pull/11910
- Revert "Fix/hnsw search entrypoint prereqs" by @antas-marcin in https://github.com/weaviate/weaviate/pull/11969
- Revert "Fix/hnsw repair global entrypoint" by @antas-marcin in https://github.com/weaviate/weaviate/pull/11971
- Fix RBAC class-getter memo key mismatch in gRPC service by @dirkkul in https://github.com/weaviate/weaviate/pull/12001
- fix(queue): recover from corrupt chunk headers instead of failing to load by @asdine in https://github.com/weaviate/weaviate/pull/12006
- fix(async-indexing): vector queue stays paused forever after a failed index upgrade by @etiennedi in https://github.com/weaviate/weaviate/pull/11983
- fix(lsmkv): pass k1/b in correct order when flushing block-max impacts by @amourao in https://github.com/weaviate/weaviate/pull/12022
- hnsw: restore 32KB WAL write buffer by @rlmanrique in https://github.com/weaviate/weaviate/pull/11139
- fix(queue): salvage and quarantine torn sealed chunks by @asdine in https://github.com/weaviate/weaviate/pull/12012
- fix(queue): validate chunk record count and length against file size by @asdine in https://github.com/weaviate/weaviate/pull/12009
- fix(queue): back off on recoverable task errors, contain task and dispatch panics by @asdine in https://github.com/weaviate/weaviate/pull/12023
- fix(lsmkv): guard nil logger in GetConsistentView slow-lock warning by @amourao in https://github.com/weaviate/weaviate/pull/12060
- Fix RBAC leak in node handler by @dirkkul in https://github.com/weaviate/weaviate/pull/12002
- Remove noisy HNSW compactor no-op debug log by @asdine in https://github.com/weaviate/weaviate/pull/12069
- fix: return named vectors for remote shards in objects list with include=vector by @antas-marcin in https://github.com/weaviate/weaviate/pull/12104
- fix(hnsw): drain commit-log maintenance before locking in Drop() by @moogacs in https://github.com/weaviate/weaviate/pull/12100
- fix(acceptance-test): handle http client conccurency by @moogacs in https://github.com/weaviate/weaviate/pull/12094
- fix(memberlist): retry on join with deadline by @moogacs in https://github.com/weaviate/weaviate/pull/12096
- fix(MT): don't auto-activate tenants from internal routing lookups by @moogacs in https://github.com/weaviate/weaviate/pull/12118
- flat: fix vectors invisible to flat cached search after restart with unflushed data by @asdine in https://github.com/weaviate/weaviate/pull/12132
- fix(db): don't hold index locks across index teardown by @moogacs in https://github.com/weaviate/weaviate/pull/12082
- 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
- fix(lsmkv): sort WALs before recovery so the newest stays the active memtable by @antas-marcin in https://github.com/weaviate/weaviate/pull/12138
- chore(test): raise tenant-delete budget in offload-s3 tests to mitigate busy CPU by @moogacs in https://github.com/weaviate/weaviate/pull/12158
- 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
- fix(test): widen flaky RansomNote aggregate count assertion by @etiennedi in https://github.com/weaviate/weaviate/pull/12194
- fix(ci): cap preview docker tag slug to 128-char limit by @etiennedi in https://github.com/weaviate/weaviate/pull/12200
- 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/pull/12168
- fix(rbac): error on unknown command version instead of looping forever during migration by @antas-marcin in https://github.com/weaviate/weaviate/pull/12196
- fix(db): propagate usage-file removal error in NewShard instead of discarding it by @antas-marcin in https://github.com/weaviate/weaviate/pull/12191
- fix(reindex): concurrent writes during migration converge into the new bucket (#11688, #298) by @etiennedi in https://github.com/weaviate/weaviate/pull/11985
- fix(reindex): mirror co-located props on batch-ref and delta writes by @etiennedi in https://github.com/weaviate/weaviate/pull/12210
- Stop commit log churn flaking vector storage size test by @dirkkul in https://github.com/weaviate/weaviate/pull/12231
- Backport to v1.36: fix flaky TestMakeUnboundedChannel_CapShrink by @asdine in https://github.com/weaviate/weaviate/pull/12236
- backport: fix(memberlist): retry on join with deadline by @moogacs in https://github.com/weaviate/weaviate/pull/12241
- fix(lsmkv): capture values in keyOnly map cursor so keys aren't dropped by @amourao in https://github.com/weaviate/weaviate/pull/12152
- fix(memberlist): don't fail startup when a single node can't join (self-heal) by @moogacs in https://github.com/weaviate/weaviate/pull/12243
- Fix race in backup namespace test by @dirkkul in https://github.com/weaviate/weaviate/pull/12247
- fix(test): join usage poll goroutines so they cannot assert after test completion by @antas-marcin in https://github.com/weaviate/weaviate/pull/12237
- test(async-repl): gate scheduler close tests on dispatch round-trips, not channel-buffer sampling by @jeroiraz in https://github.com/weaviate/weaviate/pull/12250
- fix(db): ABBA deadlock between updateReplicationConfig and lazy shard load wedges RAFT FSM by @jfrancoa in https://github.com/weaviate/weaviate/pull/12238
- fix(lsmkv): repair stable/v1.37 build broken by the v1.36 merge (blockenc.PackedDecode) by @jeroiraz in https://github.com/weaviate/weaviate/pull/12257
- Key the auth singleflight on the key, not just the user by @dirkkul in https://github.com/weaviate/weaviate/pull/12270
- Fix RBAC regexp by @dirkkul in https://github.com/weaviate/weaviate/pull/12251
- Fix empty range results served after enable-rangeable reindex with INDEX_RANGEABLE_IN_MEMORY=true by @byronvoorbach in https://github.com/weaviate/weaviate/pull/12215
- fix(db): shut down vector index when its queue creation fails to avoid orphaning it by @antas-marcin in https://github.com/weaviate/weaviate/pull/12192
- fix(lsmkv): purge stale GlobalBucketRegistry entries on every teardown path by @tsmith023 in https://github.com/weaviate/weaviate/pull/12188
- fix(graphql): reject non-object variables instead of panicking by @moogacs in https://github.com/weaviate/weaviate/pull/12332
- Don't discard teardown work when one shutdown step fails by @dirkkul in https://github.com/weaviate/weaviate/pull/12333
- Fix bugs in index shutdown by @dirkkul in https://github.com/weaviate/weaviate/pull/12331
- Fix shard shutdown backup and wrong error return by @dirkkul in https://github.com/weaviate/weaviate/pull/12337
- fix(replica): never use a search result as a read-repair payload by @etiennedi in https://github.com/weaviate/weaviate/pull/12355
- tokenizer: fix KagomeJa custom-dict throttle release without acquire by @aliszka in https://github.com/weaviate/weaviate/pull/12341
- fix(replication): unify the loading-shard readiness check and fix FetchObjects by @moogacs in https://github.com/weaviate/weaviate/pull/12370
- fix(queue): fix data race in TestPartialChunkRecovery by @asdine in https://github.com/weaviate/weaviate/pull/12383
- test: pin the nearObject anchor in the unlimited vector search tests by @etiennedi in https://github.com/weaviate/weaviate/pull/12376
- fix(grpc): stop truncating UUIDs in id_as_bytes and batch-delete uuid by @etiennedi in https://github.com/weaviate/weaviate/pull/12348
- fix(lsmkv): require every Bucket to carry a logger by @etiennedi in https://github.com/weaviate/weaviate/pull/12404
- fix disposable_created size label off-by-one by @etiennedi in https://github.com/weaviate/weaviate/pull/12373
- fix(cyclemanager): roll back shouldAbort when ctx expires while callback runs by @etiennedi in https://github.com/weaviate/weaviate/pull/12265
- fix(cyclemanager): roll back abort when ctx expires while callback runs by @aliszka in https://github.com/weaviate/weaviate/pull/12411
- fix(hnsw): cancel and drain the cache prefill before teardown by @moogacs in https://github.com/weaviate/weaviate/pull/12408
- flat: fix 'quantizer not initialized' search error during RQ lazy initialization by @asdine in https://github.com/weaviate/weaviate/pull/12419
- fix(panics): handle ECONNRESET errors in handlePanics function by @amourao in https://github.com/weaviate/weaviate/pull/12449
- fix: handle context cancellation in cursor operations to prevent incorrect nil returns by @amourao in https://github.com/weaviate/weaviate/pull/12448
Observability
- chore(metric): fix metric name typo by @moogacs in https://github.com/weaviate/weaviate/pull/11953
- chore(metric): remove deprecated old schema metric by @moogacs in https://github.com/weaviate/weaviate/pull/11957
- Add
weaviate_prefix to new metric that was missed by @tsmith023 in https://github.com/weaviate/weaviate/pull/12013 - When resetting the HNSW graph, ensure tombstone metric is cleared by @trengrj in https://github.com/weaviate/weaviate/pull/12131
- feat(monitoring): unified background-process activity + duration metrics by @moogacs in https://github.com/weaviate/weaviate/pull/12275
- feat(telemetry): persistent cluster and node identity for correlatable telemetry by @moogacs in https://github.com/weaviate/weaviate/pull/12296
Refactoring & Code Quality
- chore: update Weaviate version to v1.39.0-dev by @antas-marcin in https://github.com/weaviate/weaviate/pull/11724
- Retry go modules downloads in CI by @dirkkul in https://github.com/weaviate/weaviate/pull/11942
- refact(telemetry) gate cluster-id commit on telemetry being enabled by @moogacs in https://github.com/weaviate/weaviate/pull/12326
Testing
- fix: shebang in tools/dev/run_dev_server.sh script by @antas-marcin in https://github.com/weaviate/weaviate/pull/11722
- test(replication): stabilize TestReadRepairDeleteOnConflict against node-boot timing by @jeroiraz in https://github.com/weaviate/weaviate/pull/11748
- Print weaviate testcontainer logs on namespace-test error by @dirkkul in https://github.com/weaviate/weaviate/pull/11823
- test(replication): wait for shard readiness after restart in TestReadRepairDeleteOnConflict by @jeroiraz in https://github.com/weaviate/weaviate/pull/11886
- chore: fix flakiness of
TestAuthzReplicationReplicateby @tsmith023 in https://github.com/weaviate/weaviate/pull/11926 - chore: add detailed error logging to
TestReplicationTestSuiteby @tsmith023 in https://github.com/weaviate/weaviate/pull/11927 - chore: add back
EventuallyWithTtoTestAuthzReplicationReplicateassertions by @tsmith023 in https://github.com/weaviate/weaviate/pull/11945 - Remove
.Error()from test assert to avoid panics in test by @tsmith023 in https://github.com/weaviate/weaviate/pull/11950 - Add load tests of ssb for ST and MT collections by @tsmith023 in https://github.com/weaviate/weaviate/pull/12423
CI/CD & Infrastructure
- chore: add slack notifier for release notes by @moogacs in https://github.com/weaviate/weaviate/pull/11576
- backport: chore: add slack notifier for release notes (#11576) by @moogacs in https://github.com/weaviate/weaviate/pull/11674
- chore(gh-workflow): adjust the slack notify workflow msg by @moogacs in https://github.com/weaviate/weaviate/pull/11697
- test(ci): split go-client-group-2 into group-2 (usage) and group-3 by @antas-marcin in https://github.com/weaviate/weaviate/pull/11946
- chore(wf): update slack notify template by @moogacs in https://github.com/weaviate/weaviate/pull/12064
- ci: switch acceptance tests to use ubicloud-standard-4 runner by @antas-marcin in https://github.com/weaviate/weaviate/pull/12148
- ci: switch integration and module tests to ubicloud runners by @antas-marcin in https://github.com/weaviate/weaviate/pull/12153
- ci: split unit tests into adapters / non-adapters parts by @antas-marcin in https://github.com/weaviate/weaviate/pull/12185
Security
- fix: disable debug endpoints by default by @amourao in https://github.com/weaviate/weaviate/pull/11173
- security(Dockerfile): update Alpine image version to 3.24 by @antas-marcin in https://github.com/weaviate/weaviate/pull/11698
- security(modules): validate X-BaseURL request headers to close SSRF bypass by @spiros-spiros in https://github.com/weaviate/weaviate/pull/11683
- security: bump golang.org/x/net and golang.org/x/crypto libs by @antas-marcin in https://github.com/weaviate/weaviate/pull/11840
- Update GRPC dependency by @dirkkul in https://github.com/weaviate/weaviate/pull/12311
Dependencies
- dependencies(update): bump github.com/bits-and-blooms/bloom/v3 from 3.7.0 to 3.7.1 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11568
- chore(deps): bump docker/login-action from 4.1.0 to 4.2.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11565
- chore(deps): bump golangci/golangci-lint-action from 9.2.0 to 9.2.1 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11564
- chore(deps): bump docker/build-push-action from 7.1.0 to 7.2.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11563
- chore(deps): bump aws-actions/configure-aws-credentials from 6.1.1 to 6.1.3 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11562
- dependencies(update): bump github.com/puzpuzpuz/xsync/v4 from 4.4.0 to 4.5.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11570
- dependencies(update): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.43.0 to 1.44.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11569
- chore(deps): adjust go dependencies in e2e and benchmark_bm25 sub projects by @antas-marcin in https://github.com/weaviate/weaviate/pull/11572
- chore(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11665
- chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11664
- chore(deps): bump aws-actions/configure-aws-credentials from 6.1.3 to 6.2.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11662
- chore(deps): bump github/codeql-action from 4.36.0 to 4.36.2 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11663
- chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11820
- dependencies(update): bump go.mongodb.org/mongo-driver from 1.17.6 to 1.17.7 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11817
- dependencies(update): bump go.mongodb.org/mongo-driver from 1.17.6 to 1.17.7 in /test/acceptance_with_go_client by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11816
- dependencies(update): bump go.mongodb.org/mongo-driver from 1.17.6 to 1.17.7 in /test/benchmark_bm25 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11815
- chore(deps): remove github.com/puzpuzpuz/xsync/v4 dependency by @antas-marcin in https://github.com/weaviate/weaviate/pull/11843
- chore(deps): bump actions/cache from 5.0.5 to 6.1.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11905
- chore(deps): bump actions/setup-go from 6.4.0 to 6.5.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11906
- chore(deps): bump aws-actions/configure-aws-credentials from 6.2.0 to 6.2.1 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11907
- dependencies(update): bump github.com/launchdarkly/go-server-sdk/v7 from 7.14.6 to 7.15.4 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11938
- dependencies(update): bump github.com/go-openapi/spec from 0.22.3 to 0.22.6 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11937
- dependencies(update): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.20.0 to 1.22.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11936
- dependencies(update): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.99.0 to 1.104.1 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11935
- dependencies(update): bump github.com/minio/minio-go/v7 from 7.0.97 to 7.2.1 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11934
- chore(deps): bump docker/build-push-action from 7.2.0 to 7.3.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11992
- chore(deps): bump github/codeql-action/upload-sarif from 4.36.2 to 4.36.3 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11991
- chore(deps): bump golangci/golangci-lint-action from 9.2.1 to 9.3.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11990
- chore(deps): bump docker/setup-buildx-action from 4.1.0 to 4.2.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11989
- chore(deps): bump goreleaser/goreleaser-action from 7.2.2 to 7.2.3 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/11988
- chore(deps): bump aws-actions/configure-aws-credentials from 6.2.1 to 6.2.2 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/12111
- chore(deps): bump slackapi/slack-github-action from 3.0.3 to 3.0.5 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/12110
- chore(deps): bump github/codeql-action/upload-sarif from 4.36.3 to 4.37.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/12109
- chore(deps): bump slackapi/slack-github-action from 3.0.5 to 4.0.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/12269
- chore(deps): bump actions/setup-go from 6.5.0 to 7.0.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/12268
- chore(deps): bump github/codeql-action/upload-sarif from 4.37.0 to 4.37.1 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/12267
- 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 https://github.com/weaviate/weaviate/pull/12347
- deps: adjust go dependencies in sub projects by @antas-marcin in https://github.com/weaviate/weaviate/pull/12362
- chore(deps): bump x/net and x/text in all three modules (CVE-2026-46600, CVE-2026-56852) by @etiennedi in https://github.com/weaviate/weaviate/pull/12371
- chore(deps): bump aws-actions/configure-aws-credentials from 6.2.2 to 6.2.3 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/12358
- chore(deps): bump github/codeql-action/upload-sarif from 4.37.1 to 4.37.3 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/12357
- chore(deps): bump actions/checkout from 7.0.0 to 7.0.1 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/12356
- chore(deps): bump github/codeql-action/upload-sarif from 4.37.3 to 4.37.4 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/12446
- chore(deps): bump orcasecurity/shiftleft-sast-action from 1.0.10 to 1.0.11 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/12444
- dependencies(update): bump go.etcd.io/bbolt from 1.4.3 to 1.5.0 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/12441
- dependencies(update): bump github.com/klauspost/compress from 1.18.6 to 1.19.1 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/12440
- dependencies(update): bump github.com/aws/aws-sdk-go-v2/service/bedrockruntime from 1.50.4 to 1.56.1 by @dependabot[bot] in https://github.com/weaviate/weaviate/pull/12439
- chore(deps): adjust go dependencies in sub projects by @antas-marcin in https://github.com/weaviate/weaviate/pull/12453
New Contributors
- @hashkanna made their first contribution in https://github.com/weaviate/weaviate/pull/8418
- @vjsai made their first contribution in https://github.com/weaviate/weaviate/pull/11824
- @Joe-Weaviate made their first contribution in https://github.com/weaviate/weaviate/pull/11918
- @VihaanAgarwal made their first contribution in https://github.com/weaviate/weaviate/pull/11919
- @apoorva-01 made their first contribution in https://github.com/weaviate/weaviate/pull/12049
Full Changelog: https://github.com/weaviate/weaviate/compare/v1.38.0...v1.39.0