Releases: milvus-io/milvus
milvus-2.5.23
v2.5.23
Release date: November 20, 2025
| Milvus version | Python SDK version | Node.js SDK version | Java SDK version |
|---|---|---|---|
| 2.5.23 | 2.5.17 | 2.5.13 | 2.5.14 |
We are excited to announce the release of Milvus 2.5.23, which greatly boosted the performance of in exprs when lots of values are provided. This update also includes several other improvements and bug fixes, and provides the users a more robust and efficient experience.
Improvements
- Optimized term expr performance (#45490)
Bug fixes
milvus-2.5.22
v2.5.22
Release date: November 19, 2025
| Milvus version | Python SDK version | Node.js SDK version | Java SDK version |
|---|---|---|---|
| 2.5.22 | 2.5.17 | 2.5.13 | 2.5.14 |
We are excited to announce the release of Milvus 2.5.22, which addresses a potential data loss issue under certain circumstances and we encourage all Milvus version 2.5.x users to upgrade to 2.5.22. This update also includes several other improvements and fixes.
Bug fixes
milvus-2.6.5
v2.6.5
Release date: November 11, 2025
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
|---|---|---|---|---|
| 2.6.5 | 2.6.3 | 2.6.4 | 2.6.7 | 2.6.1 |
We are excited to announce the release of Milvus 2.6.5, which addresses a critical security vulnerability CVE-2025-64513 and upgraded to Go 1.24.9. We strongly encourage all Milvus 2.6.x users to upgrade to 2.6.5 as soon as possible. This update also includes several other improvements and bug fixes, and provides the users a more robust and efficient experience.
Improvements
Bug fixes
- Group value is nil (#45421)
- Initialized timestamp range in composite binlog writer (#45402)
- Handled empty fieldsdata in reduce/rerank for requery scenario (#45389)
- Added null check for packed_writer_ in jsonstatsparquetwrite… (#45376)
- Skipped building text index for newly added columns (#45358)
- Accidentally ignored sealed segments in l0 compaction (#45351)
- Moved finishload before text index creation to ensure raw data availability (#45336)
- Supported json default value in compaction (#45332)
- Updated milvus-storage to fix duplicate aws sdk initialization (#45075)
milvus-2.5.21
v2.5.21
Release date: November 11, 2025
| Milvus version | Python SDK version | Node.js SDK version | Java SDK version |
|---|---|---|---|
| 2.5.21 | 2.5.17 | 2.5.13 | 2.5.14 |
We are excited to announce the release of Milvus 2.5.21, which addresses a critical security vulnerability CVE-2025-64513 and we strongly encourage all Milvus 2.5.x users to upgrade to 2.5.21 as soon as possible. This update also includes several other improvements and fixes, such as allowing nullable fields as BM25 function input field, and several performance enhancements.
Improvements
- Supported use nullable field as bm25 function input field (#45118)
- Optimized the performance of bitmap reverse lookup (#44958)
- Implemented rewatch mechanism for etcd failure scenarios (#43920)
- Introduced sparse filter in query (#44790)
- Added accesslog field for template value length info (#44791)
Bug fixes
- Avoided potential race conditions when updating the executor (#45231)
- Skipped create tmp dir for growing r-tree index (#45258)
- Fixed sort stats task failed when segment is compacting (#45185)
- Supported skip load json stats when disabled (#45098)
- Prevented data race in querycoord collection notifier update (#45052)
- Handled empty fieldsdata in reduce/rerank for requery scenario (#44919)
- Fixed bug for gis function to filter geometry (#44968)
- Fixed the geometry return point(0 0) when growing mmap is enabled (#44891)
- Removed the limit of deduplicate case when disable autoindex (#44782)
- Ensured deterministic search result ordering when scores are equal (#44885)
- Fixed deactivate balance checker also stops stopping balance (#44835)
- Dropped segment in excluded segment use wrong excluded ts (#44771)
- Avoided concurrent reset/add operations on datacoord metrics (#44817)
milvus-2.4.24
v2.4.24
Release date: November 11, 2025
| Milvus version | Python SDK version | Java SDK version | Node.js SDK version |
|---|---|---|---|
| 2.4.24 | 2.4.15 | 2.4.11 | 2.4.11 |
We announce the release of Milvus 2.4.24, which addresses a critical security vulnerability CVE-2025-64513 and we strongly encourage all Milvus 2.4.x users to upgrade to 2.4.24 as soon as possible. This update also includes several other improvements and fixes.
Features
- Supported deny DDL according to database property (#40785)
- Added DDL rate type and related quota configurations (#40654)
Improvements
- Skipped check source id (#45391)
- Improved sparse query nnz metric (#40715)
- Made segment prune config refreshable (#40633)
- Removed unnecessary collection and partition label from the metrics (#40594)
- Improved import error msgs (#40598)
Bug fixes
- Got all children deltalogs for segment to load (#40964)
- L0 brings its own start pos when syncing (#40899)
- Fixed compare move_cursor bug (#40990)
- Fixed exception when do arith expr when using index (#40800)
- Did not delete the centroids file when sampling fails instead wait gc (#40703)
- RBAC star privilege return empty when listing policy (#40556)
- Fixed parsing import endts (#40334)
- Improved error handling and unit tests for initmetacache function (#40329)
milvus-2.6.4
v2.6.4
Release date: October 21, 2025
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
|---|---|---|---|---|
| 2.6.4 | 2.6.2 | 2.6.1 | 2.6.6 | 2.6.1 |
We are excited to announce the release of Milvus 2.6.4, featuring a range of powerful new capabilities, performance enhancements, and essential bug fixes. This update introduces important features such as Struct in ARRAY for advanced data modeling. Additionally, we have enabled JSON Shredding by default, further improving query performance and efficiency. Several critical bugs have also been addressed to ensure greater stability and reliability. With this release, Milvus continues to provide a more robust and efficient experience for all users. Below are the key highlights of this release.
Features
- Struct in ARRAY: Milvus introduced the new data type, Struct, allowing users to organize and manage multiple related fields within a single entity. Currently, Struct can only be used as an element under DataType.ARRAY, enabling features like Array of Vector, where each row contains multiple vectors, opening up new possibilities for complex data modeling and search. (#42148)
- Supported Qwen GTE-rerank-v2 model in DashScope (#44660)
Improvements
- Upgraded Go version to 1.24.6 with image builder (#44763)
- Enabled default JSON Shredding (#44811)
- Added disk quota for loaded binlog size to prevent query node load failures (#44932)
- Enabled mmap support for struct array in MemVectorIndex (#44832)
- Added caching layer management for TextMatchIndex (#44768)
- Optimized bitmap reverse lookup performance (#44838)
- Updated Knowhere version (#44707 #44765)
- Removed logical usage checks during segment loading (#44770)
- Added access log field for template value length information (#44783)
- Allowed overwriting current index type during index build (#44754)
- Added load parameters for vector index (#44749)
- Unified compaction executor task state management (#44722)
- Added refined logs for task scheduler in QueryCoord (#44725)
- Ensured accesslog.$consistency_level represents actual value used (#44711)
- Removed redundant channel manager from datacoord (#44679)
Bug fixes
- Removed GCC from build Dockerfile to fix CVE (#44882)
- Ensured deterministic search result ordering when scores are equal (#44884)
- Reranked before requery if reranker didn't use field data (#44943)
- Ensured promise fulfillment when CreateArrowFileSystem throws an exception (#44976)
- Fixed missing disk encryption config (#44839)
- Fixed deactivate balance checker causing balance stop issue (#44836)
- Fixed issue where "not equal" doesn't include "none" (#44960)
- Supported JSON default value in CreateArrowScalarFromDefaultValue (#44952)
- Used short debug string to avoid newlines in debug logs (#44929)
- Fixed exists expression for JSON flat index (#44951)
- Unified JSON exists path semantics (#44926)
- Fixed panic caused by empty internal insert message (#44906)
- Updated AI/SAQ parameters (#44862)
- Removed limit on deduplication when autoindex is disabled (#44824)
- Avoided concurrent reset/add operations on DataCoord metrics (#44815)
- Fixed bug in JSON_contains(path, int) (#44818)
- Avoided eviction in caching layer during JSON handling (#44813)
- Fixed wrong results from the exp filter when skipped (#44779)
- Checked if query node is SQN with label and streaming node list (#44793)
- Fixed BM25 with boost returning unordered results (#44759)
- Fixed bulk import with auto ID (#44694)
- Passed file system via FileManagerContext when loading index (#44734)
- Used "eventually" and fixed task ID appearing in both executing and completed states (#44715)
- Removed incorrect start time tick to avoid filtering DMLs with timeticks less than it (#44692)
- Made AWS credential provider a singleton (#44705)
- Disabled shredding for JSON path containing digits (#44808)
- Fixed valid unit test for TestUnaryRangeJsonNullable (#44990)
- Fixed unit tests and removed file system fallback logic (#44686)
milvus-2.5.19
v2.5.19
Release date: October 22, 2025
| Milvus version | Python SDK version | Node.js SDK version | Java SDK version |
|---|---|---|---|
| 2.5.19 | 2.5.16 | 2.5.13 | 2.5.14 |
We are excited to announce Milvus 2.5.19! This release includes important performance optimizations, updates to Go and Arrow/Go versions, and enhanced support for hybrid search requery policies and granular flush targets. Several bug fixes also improve stability. We recommend upgrading to Milvus 2.5.19 to benefit from these improvements.
Improvements
- bump go verion to 1.24.6 (#44718)
- Bump Arrow/Go to v17 (#44663)
- Ensure accesslog.$consistency_level represents the actual value used (#44708)
- Refactor balance checker using priority queue (#44588)
- Add support for granular flush targets in flushall operation (#44431)
- Add configuration for hybrid search requery policy via
common.requery.hybridSearchPolicy(#44467) - Optimize binary_search_string performance (#44470)
Bug fixes
- Fix duplicate L0 segment load task generation during channel balancing (#44700)
- Skip empty loop when processing growing segments (#44608)
- Fix bulk import issue with auto ID (#44601)
- Clean up collection metrics after dropping on RootCoord (#44525)
- Fix incorrect local path usage in IDF Oracle (#44328)
client/v2.6.1
Milvus Go SDK v2.6.1 Release Notes
Release Date: October 11, 2025
Overview
This release brings important bug fixes, performance improvements, and new feature support to the Milvus Go SDK. The Go SDK v2.6.1 is compatible with Milvus v2.6.x and includes support for new data types, enhanced CDC capabilities, and improved developer experience.
What's New
Features
Geospatial Data Type Support (#44547)
- Added support for Geospatial data types and GIS functions
- Enables creation and description of collections with geospatial type
- Support for inserting, loading, querying and searching geospatial data
- GIS functions like ST_EQUALS are now supported in query expressions
- R-Tree index support for geometry type
- Data exchange using WKT format with WKB for internal processing
CDC (Change Data Capture) Support (#44124)
- New CDC service implementation for Milvus 2.6
- Log-based cross-cluster replication capabilities
- Enhanced data synchronization between clusters
Manual L0 Compaction (#44440)
- Added support for manually triggering L0 compaction operations
- Better control over compaction processes
Granular FlushAll Operations (#44234)
- Enhanced FlushAll functionality to support targeting specific collections within databases
- More precise control over data persistence operations
- Maintains backward compatibility with database-level flushing
AutoID with Primary Key Insertion (#44561)
- Users can now insert primary key data even when AutoID is enabled
- Provides more flexibility in data insertion scenarios
- Related issue: #44424
Enhancements
Performance Improvements
Receiver Parse Result Cache (#44166)
- Added receiver parse result cache for improved performance
- Fixes nil IDs unmarshal panicking (#42895)
- Reduces redundant parsing overhead
Bug Fixes
Dynamic Column Handling (#44626)
- Fixed row-to-column input handling for dynamic columns
- Resolves data conversion issues
- Related issue: #44161
Dependency Updates
Package Version Updates
- Bumped pkg dependency version to v2.6.3 (#44712)
- Bumped milvus & proto version to v2.6.3 (#44633)
- Bumped milvus & proto version to v2.6.2 (#44427)
- Bumped milvus & proto version to v2.6.1 (#44133)
- Bumped go version to 1.24.6 (#44763)
Breaking Changes
None
Bug Fixes
- #44626: Fixed dynamic column handling when converting row-based input to column format
- #44166: Fixed nil IDs unmarshal panicking issue
Improvements
- Enhanced data type support with Geospatial types
- Better performance with parse result caching
- More flexible data insertion with AutoID support
- Improved CDC capabilities for cross-cluster replication
- Better compaction control with manual L0 compaction
Installation
Using Go Modules
go get -u github.com/milvus-io/milvus/client/[email protected]Import in Your Code
import (
"github.com/milvus-io/milvus/client/v2/milvusclient"
)Compatibility
- Compatible with Milvus v2.6.x
- Requires Go 1.24.6 or higher
- Proto version: v2.6.3
- Pkg version: v2.6.3
Contributors
Special thanks to all contributors who made this release possible:
Full Changelog
For a complete list of changes, see: client/v2.6.0...client/v2.6.1
Resources
Upgrade Guide
To upgrade from v2.6.0 to v2.6.1:
-
Update your go.mod file:
go get -u github.com/milvus-io/milvus/client/[email protected]
-
Run go mod tidy:
go mod tidy
-
Review your code for any usage of dynamic columns to ensure compatibility with the fix in #44626
-
Test your application thoroughly, especially if using:
- Geospatial data types (new feature)
- CDC functionality (new feature)
- AutoID with primary key insertion (new feature)
- FlushAll with collection-specific targets (enhanced)
Known Issues
None reported for this release.
Next Steps
- Review the migration guide if upgrading from older versions
- Check out the example code for new features
- Join the Milvus community for support and discussions
milvus-2.6.3
v2.6.3
Release date: October 11, 2025
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
|---|---|---|---|---|
| 2.6.3 | 2.6.2 | 2.6.1 | 2.6.5 | 2.6.1 |
We are pleased to announce the release of Milvus 2.6.3, which introduces a variety of exciting new features, improvements, and critical bug fixes. This version enhances system performance, expands functionality, and fixes key issues, providing a more stable experience for all users. Below are the highlights of this release:
New Features
- Primary Key with AutoID Enabled: Users can now write the primary key field when
autoidis enabled. (#44424 #44530) - Manual Compaction for L0 Segments: Added support for manually compacting L0 segments. (#44440)
- Cluster ID Encoding in AutoID: Auto-generated IDs will now include the cluster ID. (#44471)
- gRPC Tokenizer Support: Integration of gRPC tokenizer for enhanced query flexibility. (#41994)
Improvements
- Refined the balance checker by implementing a priority queue, improving task distribution. (#43992)
- Preloaded BM25 stats for sealed segments and optimized serialization. (#44279)
- Nullable fields can now be used as input for BM25 functions. (#44586)
- Added support for Azure Blob Storage in Woodpecker. (#44592)
- Purged small files right after Woodpecker segment compaction. (#44473)
- Enabled random score functionality for boosting queries. (#44214)
- New configuration options for the
int8vector type in autoindexing. (#44554) - Added parameter items to control hybrid search requery policy. (#44466)
- Added support for controlling the insertion of function output fields. (#44162)
- The decay function now supports configurable score merging for better performance. (#44066)
- Improved the performance of binary search on strings. (#44469)
- Introduced support for sparse filters in queries. (#44347)
- Various updates to enhance tiered index functionality. (#44433)
- Added storage resource usage tracking for scalar and vector searches. (#44414 #44308)
- Add storage usage for delete/upsert/restful (#44512)
- Enabled granular flush targets for
flushalloperations. (#44234) - Datanodes will now use a non-singleton file system for better resource management. (#44418)
- Added configuration options for batch processing in metadata. (#44645)
- Error messages now include the database name for better clarity. (#44618)
- Moved tracer test to the
milvus-commonrepository for better modularization. (#44605) - Moved C API unit test files aside to
srcdirectory for better organization. (#44458) - Go SDK now allows users to insert primary key data if
autoidis enabled. (#44561)
Bug fixes
- Resolved CVE-2020-25576 and WS-2023-0223 vulnerabilities. (#44163)
- Fixed an issue where logical resources were used for metrics in the quota center on streaming nodes. (#44613)
- Set
mixcoordinactivatefuncwhen enabling standby. (#44621) - Removed redundant initialization of storage V2 components. #44597)
- Fixed compaction task blocking due to executor loop exit. (#44543)
- Refunded loaded resource usage in the
insert/deleterecorddestructor. (#44555) - Fixed an issue where the replicator could not stop and enhanced the replicate config validator. (#44531)
- Set
mmap_file_raii_tonullptrwhen mmap is disabled. (#44516) - Made
diskfilemanageruse the file system from the context. (#44535) - Forced virtual host for OSS and COS in storage V2. (#44484)
- Set
report_valuedefault value whenextrainfois notnilfor compatibility. (#44529) - Cleaned up collection metrics after dropping collections in rootcoord. (#44511)
- Fixed segment loading failure due to duplicate field
mmap.enableproperties. (#44465) - Fixed load config parsing errors for dynamic replicas. (#44430)
- Handled row-to-column input for dynamic columns in Go SDK. (#44626)
milvus-2.5.18
v2.5.18
Release date: September 19, 2025
| Milvus version | Python SDK version | Node.js SDK version | Java SDK version |
|---|---|---|---|
| 2.5.18 | 2.5.16 | 2.5.12 | 2.5.13 |
We were excited to announce Milvus 2.5.18! This release delivered critical performance enhancements and stability improvements. We strongly encouraged all users to upgrade to benefit from these optimizations.
Improvements
- Removed timeout for compaction task (#44278)
- Forbade panic when tantivy index path did not exist (#44136)
- Updated knowhere version (#44292)
- Added param to modify delete snapshot size (#44213)
- Added mutex and range check to prevent concurrent delete (#44202)
- Removed name check for alter index task (#44056)
- Returned collection metadata from cache (#43911)
- Supported expr result cache (#43882)
- Made build ratio of interim index configurable (#43938)
- Used function def determine field IsFunctionOutput only (#44009)
- Used rlock for list privilege groups (#44006)
- Added param item forcing all indices ready for segment (#44329)
Bug fixes
- Fixed a bug that caused incorrect metrics for compaction tasks (#44280)
- Resolved an issue with invalid pre-allocated segment IDs during compaction (#44351)
- Corrected a bug where GetCompactionTo incorrectly returned empty results during clustering compaction (#44271)
- Added a nil check for arraydata to prevent a system panic (#44333)
- Implemented a UTF-8 check in BM25FunctionRunner to handle non-UTF-8 strings (#44221)
- Expanded the lock range for dump_snapshot to prevent coredumps during delete operations (#44131)
- Invalidated the proxy cache for alias creation to ensure updates were immediately reflected (#44073)