Skip to content

Releases: milvus-io/milvus

milvus-2.6.14

07 Apr 02:08
8222eca

Choose a tag to compare

v2.6.14

Release date: April 7, 2026

Milvus Version Python SDK Version Node.js SDK Version Java SDK Version Go SDK Version
2.6.14 2.6.11 2.6.13 2.6.17 2.6.1

We are excited to announce the release of Milvus v2.6.14! This release focuses on stability and performance, delivering faster MixCoord recovery, optimized search and query filter performance, and over 20 bug fixes addressing crashes, OOM issues, and data correctness problems.

Improvements

  • Reduced MixCoord recovery time by parallelizing startup phases including sub-meta loading, index reload, and batch etcd operations (47849)
  • Replaced proto.Clone with shallow copy for query request fanout to reduce memory allocations and improve query performance (48083)
  • Upgraded Go to 1.25.8 to address CVE-2025-68121 (CRITICAL), CVE-2026-27142 (HIGH), and CVE-2026-25679 (HIGH) (48287)
  • Switched import retry strategy from allowlist to denylist, improving resilience against transient errors during data import (48319)
  • Made thread pool max threads size configurable via common.threadCoreCoefficient.maxThreadsSize with dynamic update support (48385)
  • Refactored import workflow to align with DDL/DCL pattern by routing through DataCoord RPC instead of cross-service broadcast (48438)
  • Added force promote support for primary-secondary disaster recovery failover via UpdateReplicateConfiguration API (48452)
  • Added data salvage capability for force failover to recover unpersisted data from failed streaming nodes (48527)
  • Improved query filter performance with type-aware bidirectional rewriting between in and == expressions (48545)
  • Optimized bool IN/NOT IN expressions with proper nullable field handling (48621)
  • Aligned error mapping across all cloud storage providers (Azure, GCP, MinIO) for consistent retry and error handling behavior (48693)
  • Optimized unfiltered search on sealed segments with MVCC fast path, hardware popcnt, and redundant bitset operation elimination (48699)

Bug fixes

  • Fixed an issue where the task scheduler could only assign one task per node per scheduling cycle, potentially slowing down index building and compaction (48262)
  • Fixed potential server crash during JSON index cleanup caused by a race condition between background threads and file deletion (48369, 48409)
  • Fixed server panic caused by concurrent map access in HTTP proxy when processing requests with timeout middleware enabled (48394)
  • Fixed OOM on QueryNodes when loading large segments with variable-size fields (ARRAY, JSON, large VARCHAR) by switching to memory-aware batch splitting (48404, 48435)
  • Fixed incorrect version string reported by Milvus when both root and Go submodule git tags exist on the same commit (48421)
  • Fixed an issue where transient storage errors during data flush and binlog import were not retried, causing unnecessary operation failures (48436)
  • Fixed a crash when using unsupported field types (JSON, Bool, Array, etc.) as clustering keys via the AddCollectionField API (48437)
  • Fixed potential crashes during index building when encountering IO errors in the Tantivy text index engine (48454)
  • Fixed an issue where QueryNodes failed to load indexes during rolling upgrades due to target vector index version exceeding the node's supported maximum (48478)
  • Fixed a potential crash caused by dangling pointers in index loading during async warmup or cache re-population (48496)
  • Fixed streaming node listing to correctly include frozen nodes in REST API while excluding them from scheduling decisions (48514)
  • Fixed an issue where data import failed or produced incorrect results when collections contained function output fields (48516)
  • Fixed loading failure for segments with default-valued GEOMETRY fields (48556, 48575)
  • Fixed an issue where all segments appeared unindexed after dropping and recreating indexes, causing stale pre-compaction segments to be loaded (48559)
  • Fixed streaming balancer hanging indefinitely due to stale session entries persisting after etcd watch reconnection (48568)
  • Fixed compaction unexpectedly producing v2 format segments when compaction parameters were missing from the request (48571, 48596)
  • Fixed GROUP BY queries returning more results than the specified group_size when used with nullable fields (48585)
  • Fixed an issue where range queries on INVERTED indexes returned incorrect results when values involved negative zero (-0.0) (48625)
  • Fixed potential heap corruption caused by dual jemalloc instances from Arrow's built-in allocator conflicting with the system allocator (48657)
  • Fixed an issue where LoadBalance could produce misleading errors when streaming node IDs collided with the specified query node IDs (48664, 48679)
  • Fixed an issue where search could still fail due to unavailable segments when partialResultRequiredDataRatio was set to 0.0 (48702)

client/v2.6.3

24 Mar 06:33
4cb6e2b

Choose a tag to compare

New Features

  • TruncateCollection API: Added TruncateCollection method to the Go SDK client, allowing users to quickly remove all data from a collection without dropping and recreating it. Use NewTruncateCollectionOption(collectionName) to invoke. (#48361, #47308)

  • GetReplicateConfiguration API: Added GetReplicateConfiguration API for viewing replication topology (with tokens redacted) and force_promote field to UpdateReplicateConfigurationRequest. Supports strong consistency via WithFreshRead option. (#47543)

  • Nullable Pointer Fields in Row-Based API: Go pointer struct fields (*string, *int32, etc.) can now represent nullable columns in the row-based data path. A nil pointer maps to a NULL value in Milvus; a non-nil pointer dereferences to the actual value. This applies to ParseSchema, AnyToColumns, SetField, fillData, and fillPKEntry. (#48464)

  • Per-Cluster TLS Config for CDC: Added BuildTLSConfig helper and TLSConfig field to ClientConfig for mTLS support. CDC NewMilvusClient can now read per-cluster TLS config by target cluster ID via GetClusterTLSConfig(clusterID). (#48023)

Bug Fixes

  • Timestamptz field type alignment: Fixed FieldTypeTimestamptz value from 15 to 26 to match the server. Changed Timestamptz data serialization from int64 (TimestamptzData) to ISO 8601 strings (RFC3339Nano format via StringData) as expected by the server. Added NewColumnTimestamptz (accepts []time.Time), ColumnTimestampTzIsoString (direct ISO string input), and their nullable counterparts. (#47328)

Improvements

  • OpenTelemetry upgrade to v1.40.0: Bumped go.opentelemetry.io/otel and related packages from v1.34.0 to v1.40.0 to fix CWE-426 (Untrusted Search Path) vulnerability. Also bumps transitive dependencies including auto/sdk v1.1.0→v1.2.1, go-logr v1.4.2→v1.4.3, and golang.org/x/sys v0.38.0→v0.40.0. (#48059)

  • Go version upgrade to 1.24.12: Upgraded Go from 1.24.11 to 1.24.12 for CVE fixes. (#47562)

  • Proto version bumps: Updated milvus-proto/go-api/v2 through v2.6.8 → v2.6.9 → v2.6.10 → v2.6.11 → v2.6.12 → v2.6.13 across this release cycle.

Dependencies

Dependency Previous Current
milvus-proto/go-api/v2 v2.6.7 v2.6.13
go.opentelemetry.io/otel v1.34.0 v1.40.0
go-logr v1.4.2 v1.4.3
golang.org/x/sys v0.38.0 v0.40.0
Go 1.24.11 1.24.12

milvus-2.6.13

23 Mar 07:58
1683e36

Choose a tag to compare

v2.6.13

Release date: March 23, 2026

Milvus Version Python SDK Version Node.js SDK Version Java SDK Version Go SDK Version
2.6.13 2.6.10 2.6.11 2.6.16 2.6.1

Features

Gemini embedding model support (#48223)

Added Google Gemini as a built-in text embedding function. Users can now use Gemini embedding models directly in Milvus by configuring a Gemini API key, including the recently released Gemini Embedding 2.

For detailed usage, refer to Google Gemini.

Improvements

  • Unified KV path/key conventions across etcd, tikv, and catalog layers with consistent path joining (#48133)
  • Added query metrics for JSON-related filter expressions to improve observability of JSON field query performance (#48147)
  • Reduced transient memory allocations in BM25Stats deserialization by eliminating temporary slices (#48178)
  • Added TruncateCollection method to the Go SDK client for clearing all data in a collection without dropping it (#48361)

Bug fixes

  • Fixed an issue where search/query requests with strong consistency timed out during compaction due to tsafe advancement being blocked (#47987)
  • Fixed an issue where partial upsert with dynamic fields failed with the length of valid_data of field($meta) is wrong when the batch contained both existing and new rows (#48085)
  • Fixed TLS connection failures during internal proxy-to-proxy request forwarding (#48226)
  • Fixed query failures when using IN combined with != filter expressions that form tautologies (#48261)
  • Fixed high system load caused by mass concurrent client disconnections during HTTP request handling (#48270)
  • Fixed an issue where queries could become unavailable during replica scale-up/down due to non-deterministic node-to-replica assignment (#48277)
  • Fixed HTTP proxy crashes caused by concurrent write race condition in timeout middleware (#48296, #48317, #48356)
  • Fixed potential query node crash caused by assertion failure in delete record snapshot handling (#48302)
  • Fixed storage operation failures when using AK/SK authentication on Aliyun OSS (#48311)
  • Fixed degraded search performance caused by permanent parameter cache failure leading to goroutine contention on proxy hot paths (#48313, #48326)
  • Fixed QueryCoord deadlock during upgrades when hundreds of channels needed rebalancing by splitting the executor into separate channel and non-channel task pools (#48351)
  • Fixed an issue where search requests could timeout for 14+ minutes after WAL ownership changes due to unbounded message replay during scanner catchup (#48391)

milvus-2.6.12

13 Mar 07:24
fe3558a

Choose a tag to compare

v2.6.12

Release date: March 17, 2026

Milvus Version Python SDK Version Node.js SDK Version Java SDK Version Go SDK Version
2.6.12 2.6.10 2.6.11 2.6.15 2.6.1

We are pleased to announce the release of Milvus v2.6.12! This release introduces replication topology inspection and configurable TLS minimum version for object storage. It also delivers significant memory optimizations in segment loading and compaction, along with numerous bug fixes addressing memory leaks, RBAC alias resolution, collection-level rate limiting, and streaming node stability.

Features

  • Added GetReplicateConfiguration API for viewing replication topology with redacted tokens (#47543)
  • Added configurable TLS minimum version (minio.ssl.tlsMinVersion) for object storage connections across all supported backends (#48000, #48030)
  • Supported configuring different replica numbers on secondary CDC cluster independently from the primary (#47914)
  • Allowed pchannel count increase in CDC ReplicateConfiguration to support heterogeneous cluster topologies (#47917)
  • Added automatic warmup for large tenant collections to reduce cold-start query latency (#47631)
  • Added user-specified warmup support for RESTful API (#47825)

Improvements

  • Added caching layer resource management for streaming node with automatic memory/disk accounting during segment operations (#47165)
  • Optimized query node segment load speed (#47424)
  • Optimized MixCoord CPU usage to reduce coordinator overhead (#47619)
  • Added phase-level timing logs and metrics for sort compaction (#47674)
  • Refactored cluster-level broadcast mechanism to decouple message package from channel registration lifecycle (#47807)
  • Added configurable skip list for replicate message types in CDC (#47910)
  • Included text index memory cost in segment loading memory estimation (#47963)
  • Added per-cluster TLS configuration support for CDC outbound mTLS connections (#48023)
  • Bypassed broadcaster for resource group DDL operations on non-primary clusters in streaming replication (#48034)
  • Bumped OpenTelemetry to v1.40.0 to address CWE-426 untrusted search path vulnerability (#48059)

Bug fixes

  • Fixed an issue where collection-level rate limits were not delivered to proxies when set via collection properties (#46714, #48018)
  • Fixed memory accumulation during segment loading by switching to streaming cell-based loading (#47859)
  • Fixed streaming node crash-loop during WAL replay for dropped collections (#47887)
  • Fixed memory accumulation in compaction by streaming row groups one at a time (#47904)
  • Fixed memory leak in broadcaster caused by uncanceled context (#47912)
  • Fixed an issue where CreateCollection could cause schema loss on crash (#47972)
  • Fixed crash when inserting non-nullable fields with default values (#48016)
  • Fixed deadlock when loading V1 segments with more than 16 system field binlog files (#48037)
  • Fixed partial update failure when dynamic field is enabled but upsert data contains only static fields (#48044)
  • Fixed RBAC permission checks to resolve collection aliases and added automatic grant cleanup on collection drop/rename (#48052, #48151)
  • Fixed BulkInsert failure by removing interactive coordination between import and L0 compaction (#48114)
  • Fixed Azure buffered output stream issue (#48041)

milvus-2.6.11

12 Feb 01:57
3a8d994

Choose a tag to compare

v2.6.11

Release date: February 12, 2026

Milvus Version Python SDK Version Node.js SDK Version Java SDK Version Go SDK Version
2.6.11 2.6.9 2.6.9 2.6.13 2.6.1

We are pleased to announce the release of Milvus 2.6.11! This update continues to enhance query performance and system stability with improvements to filtering execution, segment loading, and Storage V2 I/O pipelining. It also refines geo indexing, reduces memory usage in default-value chunks, and improves developer and build tooling through dependency and test-suite cleanups. This release further fixes several correctness issues across control-channel handling, index building, nullable-expression semantics, and WAL recovery workflows. We recommend all users on the 2.6 branch upgrade to this version for improved reliability and performance.

Features

  • Added a truncate API to remove collection data more efficiently (#47308)

Improvements

  • Used PreparedGeometry to improve geo index refinement performance (#47389)
  • Switched the OpenSSL dependency to shared linking (#47664)
  • Differentiated load priorities by scenario to improve scheduling behavior (#47594)
  • Upgraded Go to 1.24.12 and updated gpgv to address CVEs (#47562)
  • Reduced memory usage by enabling multi-cell DefaultValueChunk layout (#47166)
  • load-diff based segment loading patches to improve load efficiency (#47545)
  • Removed redundant bitset count operations during filter execution to reduce CPU overhead (#47546)
  • Added semantic highlighting support for dynamic fields (#47464)
  • Reduced unnecessary PinWrapper copies in searchPksWith to improve query performance (#47531)
  • Normalized constant-folded boolean expressions to AlwaysTrueExpr/AlwaysFalseExpr during rewriting for simpler plans (#47493)
  • Added RESTful search_by_pk support (#47318)
  • Optimized “latest delete snapshot” handling to reduce overhead (#47409)
  • Added support for user-specified warmup settings (#47343)
  • Added LoadWithStrategyAsync to enable true I/O pipelining in Storage V2 (#47427)
  • Optimized MixCoord's CPU and memory usage by avoiding redundant calculations in the balance checker (#47190)
  • Added sparse filtering support in search (#47447)
  • Reduced memory allocations and copies during data loading (#47088)

Bug fixes

  • Fixed an issue where collection metadata could contain an invalid database name (#47721)
  • Ensured exclusive control-channel messages acquire a global lock in the lock interceptor (#47678)
  • Fixed channel exclusive mode state loss and vchannel list handling issues (#47702)
  • Fixed index building to use the correct global offset for null_offset_ in BuildIndexFromFieldData (#47708)
  • Improved v2.5/v2.6 compatibility handling in SyncTargetVersion (QueryNode) (#47693)
  • Handled broadcastToAll messages on the control channel in recovery storage (#47640)
  • Added warmupKey to the CheckParams filter to make CreateIndex idempotent (#47607)
  • Corrected the default mmap value in code (#47490)
  • Populated LevelZeroSegmentIDs in GetDataVChanPositions (#47597)
  • Corrected null handling on NullExpr, ExistsExpr, and logical operators (#47519)
  • Removed segment_loader pre-reserve logic for warmup fields/indexes to avoid incorrect reservations (#47463)
  • Updated log_* macros to use {} placeholders to avoid treating error messages as format strings (#47485)
  • Fixed bloom filter memory leak when a worker node crashes (#47451)
  • Used actual data timestamps for imported segment positions (#47370)
  • Rebuilt WAL messages on each append retry to avoid panics (#47480)
  • Filled in the log and memory size fields in TextIndexStats metadata (#47476)
  • Reduced the empty timetick filtering interval to improve timetick handling (#47471)

milvus-2.5.27

11 Feb 02:40
bf8da83

Choose a tag to compare

v2.5.27

Release date: February 27, 2026

Milvus Version Python SDK Version Node.js SDK Version Java SDK Version Go SDK Version
2.5.27 2.5.18 2.5.13 2.5.14 2.5.14

Milvus 2.5.27 is a critical security release that fixes CVE-2026-26190 (CVSS 9.8), an authentication bypass vulnerability on the metrics port (9091) that could allow unauthenticated access to the REST API and sensitive system operations. This release also includes important bug fixes and dependency updates. We strongly recommend all 2.5.x users upgrade immediately.

Improvements

  • Upgraded Go to 1.24.12 and updated dependencies to fix CVEs (#47561)

Bug fixes

  • Fixed imported segment positions to use actual data timestamps instead of channel checkpoints (#47372)
  • Added authentication to metrics endpoint when authorization is enabled (#47405)

milvus-2.6.10

05 Feb 01:34
7315886

Choose a tag to compare

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, 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)
  • Updated the default auto-index configuration for vector fields (#47388)
  • Disabled storage-version upgrade compaction by default (#47383)
  • Added automatic FP32-to-FP16/BF16 conversion in search (#47241)
  • Limited segment load concurrency by submitting loads to the load pool (#47335)
  • Added the map_populate flag for mmap to reduce page faults during access (#47317)
  • Persisted BM25 stats to disk during segment loading to reduce recomputation (#47232)
  • Added loading timeout and cancellation support for better control of long-running loads (#47223)
  • Allowed alter_collection_field() to update the field description (#47058)
  • Added a target manager to ReplicaObserver initialization (#47093)
  • Updated the Knowhere version for vector search improvements (#47109)
  • Added BM25 search_by_pk support (#47012)
  • Extracted assign policy from the balancer and added StoppingBalancer (#47138)
  • Prevented import jobs/tasks from rolling back state unexpectedly (#47102)
  • Improved slow logs by recording average cost per NQ (#47086)

Bug fixes

  • Fixed incorrect group results during pagination of grouped queries (#47248)
  • Added boundary validation for threadpool resize operations (#47367)
  • Improved error message handling when the error type is missing (#47369)
  • Prevented coredumps and improved diagnostics for PhyReScoresNode (#47341)
  • Reverted a compaction change related to “fast finish” when L0 compaction hits zero (L1/L2) (#47336)
  • Prevented server crashes on division/modulo by zero in filter expressions (#47306)
  • [Go SDK] Aligned timestamptz field type and data format with the server (#47328)
  • Added authentication to the metrics endpoint when authorization is enabled (#47278)
  • Updated milvus_proxy_req_count metrics for RESTful APIs (#47239)
  • Submitted TriggerTypeStorageVersionUpgrade compaction tasks correctly (#47234)
  • Allowed empty compaction results (#47153)
  • Fixed Azure precheck to use a fixed bucket not owned by Milvus (#47168)
  • Ignored L0 compaction during PreallocSegmentIDs checks (#47189)
  • Fixed compaction fast-finish behavior when L0 compaction hits zero (L1/L2) (#47187)
  • Removed unnecessary batching to reduce OOM risk (#47175)
  • Fixed deserialization handling for empty vector arrays (#47127)
  • Fixed runtime config updates not triggering watchers (#47161)
  • Unified primary-key handling logic between deletePreExecute and packDeleteMessage (#47147)
  • Used user-provided target size in compaction-related logic (#47115)

milvus-2.5.26

23 Jan 00:46
a3c3483

Choose a tag to compare

v2.5.26

Release date: January 27, 2026

Milvus Version Python SDK Version Node.js SDK Version Java SDK Version Go SDK Version
2.5.26 2.5.18 2.5.13 2.5.14 2.5.14

We are pleased to announce the release of Milvus 2.5.26! This release includes critical security enhancements and important stability fixes. A key highlight is the addition of security controls for the internal /expr endpoint to prevent potential remote expression execution vulnerabilities. We have also upgraded the Pulsar client library to fix race conditions, resolved L0 segment data forwarding issues, and fixed Azure storage precheck configuration problems. We strongly recommend all users on the 2.5 branch upgrade to this version.

Security

  • Added security controls for the /expr endpoint to prevent remote expression execution vulnerabilities (#47130)

Improvements

  • Upgraded pulsar-client-go to v0.17.0 to fix send buffer race conditions (#47184)
  • Added gRPC metadata header for client request time tracking (#46946)

Bug fixes

  • Fixed L0 growing segment data forwarding to use the correct bulk delta-load API (#47231)
  • Fixed Azure blob storage precheck using incorrect bucket configuration (#47204)
  • Fixed geometry data conversion inconsistencies in WKT/WKB options (#46872)

milvus-2.6.9

19 Jan 02:48
a97d91c

Choose a tag to compare

v2.6.9

Release date: January 16, 2026

Milvus Version Python SDK Version Node.js SDK Version Java SDK Version Go SDK Version
2.6.9 2.6.6 2.6.9 2.6.12 2.6.1

We are pleased to announce the release of Milvus 2.6.9! This update introduces highlight scores for search results, enhances segment management with support for reopening segments when data or schema changes occur, and improves storage version handling. Key improvements include better logging performance, enhanced security controls for expression endpoints, and optimizations for text analyzers and index building. This release also resolves critical issues including memory estimation accuracy, geometry data conversions, and various stability fixes. We recommend all users on the 2.6 branch upgrade to this version for improved system reliability and performance.

Features

  • Supported searching by primary keys (#46528)

Improvements

  • Added a storage version label metric for better observability (#47014)
  • QueryCoord now supports segment reopen when manifest path changes (#46921)
  • Added support for reopening segments when data or schema changes occur (#46412)
  • Improved slow log performance and efficiency (#47086)
  • Added storage version upgrade compaction policy to facilitate version migrations (#47011)
  • Eliminated extra memory copy operations for C++ logging to improve performance (#46992)
  • Added security controls for the /expr endpoint to prevent unauthorized access (#46978)
  • Streaming service now remains enabled until the required streaming node count is reached (#46982)
  • Removed redundant etcd put operations when updating segment information (#46794)
  • Improved row count validation and reduced misleading warning logs for sort compaction (#46824)
  • Cleaned up and organized build index log messages (#46769)
  • Limited the number of concurrent vector index builds per worker to prevent resource exhaustion (#46877)
  • Optimized jieba and lindera analyzer cloning operations for better performance (#46757)
  • Added glog sink to transfer CGO logs into zap logger for unified logging (#46741)
  • Enforced storage V2 format usage and deprecated V1 writes (#46889)
  • Implemented batch processing for ngram operations to improve efficiency (#46703)
  • Added automatic retry mechanism for binlog write operations to improve reliability (#46854)
  • Filtered empty timetick messages from the consuming side to reduce unnecessary processing (#46730)
  • Improved search by primary key with duplicate checking and automatic anns_field inference (#46745)
  • Added dimension parameter support for siliconflow and cohere embedding providers (#47081)

Bug fixes

  • Fixed double counting of index memory in segment loading estimation (#47046)
  • Fixed compilation issues on macOS 14 (#47048)
  • Used revision as streaming service discovery global version for better consistency (#47023)
  • Ensured all futures complete on exception to prevent use-after-free crashes (#46960)
  • Fixed shard interceptor incorrectly skipping FlushAllMsg operations (#47004)
  • Added valid range validation for collection TTL to prevent invalid configurations (#47010)
  • Fixed GetCredentialInfo not caching RPC responses (#46945)
  • Fixed issue where AlterFunction could not be invoked when multiple functions become invalid (#46986)
  • Fixed inverted index null offset file not being compacted (#46950)
  • Fixed crash when using is_null_expr on indexed JSON fields (#46894)
  • Added check for allow_insert_auto_id flag in RESTful v2 insert API (#46931)
  • Added field existence check in column groups before reading from loon manifest (#46924)
  • Fixed bug where the highlight parameter was not working correctly (#46876)
  • Quota center now ignores delegator when it is in recovering state (#46858)
  • Aligned WKT/WKB conversion options to ensure consistent behavior across operations (#46874)
  • Fixed voyageai model int8 bug (#46821)
  • Fixed missing handling of FlushAllMsg in recovery storage operations (#46803)
  • Fixed missing shardclientmgr field in querytask to prevent panic (#46838)
  • Used leaderid for leaderaction stale check in scheduler to improve accuracy (#46788)
  • Restored tenant/namespace support for Pulsar that was lost in 2.6 (#46759)
  • Added load config watcher to prevent load config modifications from being lost (#46786)
  • Fixed function edit interface bug (#46782)
  • Added collection TTL property validation to prevent compaction from getting stuck (#46736)

milvus-2.5.25

08 Jan 08:43
006d719

Choose a tag to compare

v2.5.25

Release date: January 12, 2026

Milvus Version Python SDK Version Node.js SDK Version Java SDK Version Go SDK Version
2.5.25 2.5.18 2.5.13 2.5.14 2.5.14

We are pleased to announce the release of Milvus 2.5.25! This update focuses on enhancing the reliability of storage operations and optimizing background task scheduling. Key improvements include a more robust retry mechanism for object storage under rate-limiting conditions and more accurate resource estimation for indexing tasks. This release also resolves several critical issues, including ETCD RPC limits during collection drops and consistency in geometry data conversions. We recommend all users on the 2.5 branch upgrade to this version for improved system stability.

Improvements

  • Prevented message loss in Pulsar consumers after client library upgrades (#46591)
  • Made metadata batch processing configurable to prevent transaction errors (#46514)
  • Improved reliability of object storage operations under high load with automatic retry on rate limit errors (#46463)
  • Added configuration option for variable-length field size estimation (#46301)
  • Improved slot allocation accuracy for indexing tasks (#46260)

Bug fixes

  • Fixed geometry data conversion inconsistencies (#46872)
  • Fixed inverted index compaction issue that could cause segment load failures (#46868)
  • Fixed text log loading failure (#46704)
  • Fixed ETCD error when dropping large collections (#46580)
  • Fixed resource leak issue with proxy clients (#46491)