v2.6.10
milvus-io/milvusv2.6.10Feb 5, 2026by yanliang567
AI Summary
This release addresses a critical security vulnerability CVE-2026-26190, strengthens security controls around KMS key revocation, and improves search and storage performance through automatic FP32-to-FP16/BF16 conversion and optimized segment loading.
Key Highlights
- Fixed critical security vulnerability CVE-2026-26190
- Added support to stop WAL consumption when KMS key is revoked
- Added automatic FP32-to-FP16/BF16 conversion in search
- Added loading timeout and cancellation support for better control of long-running loads
- Disabled storage-version upgrade compaction by default
- Added map_populate flag for mmap to reduce page faults
- Persisted BM25 stats to disk during segment loading to reduce recomputation
Full Release Notes
## v2.6.10 Release date: February 5, 2026 | Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version | |:-------------- |:------------------|:--------------------|:-----------------|:---------------| | 2.6.10 | 2.6.8 | 2.6.9 | 2.6.13 | 2.6.1 | We are pleased to announce the release of Milvus 2.6.10! This update addresses a critical security vulnerability [CVE-2026-26190](https://github.com/milvus-io/milvus/security/advisories/GHSA-7ppg-37fh-vcr6), strengthens security controls around KMS key revocation and improves search and storage performance through automatic FP32-to-FP16/BF16 conversion, optimized segment loading, and updated auto-index configurations. This release also fixes a number of stability issues across compaction, query pagination, and recovery workflows. We recommend all users on the 2.6 branch upgrade to this version for improved reliability and performance. ### Improvements - Added support to stop WAL consumption when a KMS key is revoked ([#47018](https://github.com/milvus-io/milvus/pull/47018)) - Updated the default auto-index configuration for vector fields ([#47388](https://github.com/milvus-io/milvus/pull/47388)) - Disabled storage-version upgrade compaction by default ([#47383](https://github.com/milvus-io/milvus/pull/47383)) - Added automatic FP32-to-FP16/BF16 conversion in search ([#47241](https://github.com/milvus-io/milvus/pull/47241)) - Limited segment load concurrency by submitting loads to the load pool ([#47335](https://github.com/milvus-io/milvus/pull/47335)) - Added the `map_populate` flag for `mmap` to reduce page faults during access ([#47317](https://github.com/milvus-io/milvus/pull/47317)) - Persisted BM25 stats to disk during segment loading to reduce recomputation ([#47232](https://github.com/milvus-io/milvus/pull/47232)) - Added loading timeout and cancellation support for better control of long-running loads ([#47223](https://github.com/milvus-io/milvus/pull/47223)) - Allowed `alter_collection_field()` to update the field description ([#47058](https://github.com/milvus-io/milvus/pull/47058)) - Added a target manager to `ReplicaObserver` initialization ([#47093](https://github.com/milvus-io/milvus/pull/47093)) - Updated the Knowhere version for vector search improvements ([#47109](https://github.com/milvus-io/milvus/pull/47109)) - Added BM25 `search_by_pk` support ([#47012](https://github.com/milvus-io/milvus/pull/47012)) - Extracted assign policy from the balancer and added `StoppingBalancer` ([#47138](https://github.com/milvus-io/milvus/pull/47138)) - Prevented import jobs/tasks from rolling back state unexpectedly ([#47102](https://github.com/milvus-io/milvus/pull/47102)) - Improved slow logs by recording average cost per NQ ([#47086](https://github.com/milvus-io/milvus/pull/47086)) ### Bug fixes - Fixed incorrect group results during pagination of grouped queries ([#47248](https://github.com/milvus-io/milvus/pull/47248)) - Added boundary validation for threadpool resize operations ([#47367](https://github.com/milvus-io/milvus/pull/47367)) - Improved error message handling when the error type is missing ([#47369](https://github.com/milvus-io/milvus/pull/47369)) - Prevented coredumps and improved diagnostics for `PhyReScoresNode` ([#47341](https://github.com/milvus-io/milvus/pull/47341)) - Reverted a compaction change related to “fast finish” when L0 compaction hits zero (L1/L2) ([#47336](https://github.com/milvus-io/milvus/pull/47336)) - Prevented server crashes on division/modulo by zero in filter expressions ([#47306](https://github.com/milvus-io/milvus/pull/47306)) - [Go SDK] Aligned `timestamptz` field type and data format with the server ([#47328](https://github.com/milvus-io/milvus/pull/47328)) - Added authentication to the metrics endpoint when authorization is enabled ([#47278](https://github.com/milvus-io/milvus/pull/47278)) - Updated `milvus_proxy_req_count` metrics for RESTful APIs ([#47239](https://github.com/milvus-io/milvus/pull/47239)) - Submitted `TriggerTypeStorageVersionUpgrade` compaction tasks correctly ([#47234](https://github.com/milvus-io/milvus/pull/47234)) - Allowed empty compaction results ([#47153](https://github.com/milvus-io/milvus/pull/47153)) - Fixed Azure precheck to use a fixed bucket not owned by Milvus ([#47168](https://github.com/milvus-io/milvus/pull/47168)) - Ignored L0 compaction during `PreallocSegmentIDs` checks ([#47189](https://github.com/milvus-io/milvus/pull/47189)) - Fixed compaction fast-finish behavior when L0 compaction hits zero (L1/L2) ([#47187](https://github.com/milvus-io/milvus/pull/47187)) - Removed unnecessary batching to reduce OOM risk ([#47175](https://github.com/milvus-io/milvus/pull/47175)) - Fixed deserialization handling for empty vector arrays ([#47127](https://github.com/milvus-io/milvus/pull/47127)) - Fixed runtime config updates not triggering watchers ([#47161](https://github.com/milvus-io/milvus/pull/47161)) - Unified primary-key handling logic between `deletePreExecute` and `packDeleteMessage` ([#47147](https://github.com/milvus-io/milvus/pull/47147)) - Used user-provided target size in compaction-related logic ([#47115](https://github.com/milvus-io/milvus/pull/47115))