Releases: milvus-io/milvus
client/v2.5.4
What's changed
- Export milvusclient.annRequest by @mcamou
- Remove load default replicaNum value @ThreadDao
Full Changelog: client/v2.5.3...client/v2.5.4
client/v2.6.0-rc.1
milvus-2.5.13
v2.5.13
Release date: June 10, 2025
| Milvus version | Python SDK version | Node.js SDK version | Java SDK version |
|---|---|---|---|
| 2.5.13 | 2.5.11 | 2.5.10 | 2.5.10 |
We're excited to announce Milvus 2.5.13! This version enhances your experience with new features, such as the ability to drop field properties and use a cast function for JSON indexes. It also delivers a range of general performance and stability enhancements, while resolving numerous bugs to ensure a more robust system. We encourage you to upgrade to 2.5.13 and explore these latest updates!
Features
- Added support for dropping properties from a field (#41954).
- Added a
castfunction for use with JSON indexes (#42504).
Improvements
- Increased the default import buffer size (#42542).
- Accelerated the dispatcher building process (#42544).
- Removed balance constraints between channel and segment tasks (#42410).
- Set the CAGRA GPU image as the default (#42193).
- The
DescribeIndexRESTful API now supports returning index parameters (#42080). - Enabled running an analyzer by a collection's field to avoid frequent analyzer creation and destruction (#42119).
- Added support for balancing multiple collections in a single trigger (#42134).
- Now considers
nq(number of queries) when identifying slow queries (#42125). - The server side now automatically fills absent nullable fields (#42120).
- Added support for filtering out expired data using TTL (#41960, #42121, #42103).
- Refined expiring compaction to reclaim space from a small number of older deletions (#42052).
- Access logs now support fetching hybrid search expressions and fields (#41921).
- Added explicit move semantics to the
get_batch_viewinterface (#42402).
Bug fixes
- Fixed a pipeline/delegator leak (#42583).
- Fixed the delegator selection logic when releasing a segment to avoid a potential MixCoord panic (#42572).
- Fixed a bug that could cause data write corruption during validation (#42555).
- Added a check to ensure the cast type is an array for JSON
containsexpressions (#42185). - Fixed an issue with duplicate auto-IDs between import and insert operations (#42520).
- Ensured importing segments stats tasks are triggered only by the
import_checker(#42487). - Fixed a bug with
is nullfor the Marisa index (#42421). - Ensured stats tasks are only triggered for flushed segments (#42425).
- Reset compaction status when segment stats are finished (#42005).
- Updated the Tantivy version to fix a stemmer panic (#42172).
- Fixed an issue where vector output fields could not be retrieved when using a new interim index (#42183).
- Avoided relying on Knowhere for thread control when calling the Knowhere iterator (#42133).
- Fixed an issue where segments could be released prematurely during a balance channel operation (#42043).
- The
DescribeIndexRESTful interface now includes a timestamp (#42105). - Used locking to ensure the atomicity of dropping segment indexes (#42076).
- Fixed a proxy panic in the shard client manager (#42026).
- Fixed the import slot assignment logic (#41982).
- Fixed a bug where the time point for force expiry compaction failed to reset (#42000).
milvus-2.5.12
v2.5.12
| Milvus version | Python SDK version | Node.js SDK version | Java SDK version |
|---|---|---|---|
| 2.5.12 | 2.5.10 | 2.5.9 | 2.5.9 |
We're pleased to bring you Milvus 2.5.12! This release introduces new capabilities such as JSON index support for contains expressions, along with several improvements including updated DescribeCollection API responses and stricter data expiry compaction. This version also incorporates important dependency updates to fix CVEs and numerous bug fixes to enhance stability and performance.
We encourage you to upgrade to Milvus 2.5.12 to benefit from these latest enhancements and fixes!
Features
- Added JSON index support for JSON
containsexpr (#41658).
Improvements
- The
DescribeCollectionAPI now includes the update timestamp in its results (#41600). - The
DescribeIndexinterface now outputs index version information (#41841). - Added support for stricter expiry compaction to clean deleted data without necessarily waiting for a large number of deletions (#41856).
- Bumped dependency versions to address CVEs (#41590, #41878, #41742, #41697).
- Added authorization checks for
DescribeCollectionandDescribeDatabasetasks (#41799). - The RESTful API now supports consistency levels for query/get operations (#41830).
- Added support for altering collection descriptions (#41547).
- CDC now supports synchronizing multiple DDL APIs (#41594, #41679).
- Added a timeout for message reception in
MQMsgStream(#41603). - Disk quota checks are now skipped for L0 imports (#41572).
- Added parameters to ignore configuration type exceptions (#41773).
- Set worker
totalSlotin standalone mode to half of that in cluster mode (#41731).
Bug fixes
- Fixed a goroutine leak in
ants.pool(#41893). - Fixed an issue where the analyzer name was not set in hybrid search sub-requests (#41897).
- Fixed a double assignment issue in
ChannelManager(#41877). - Fixed an issue where log level settings were ineffective in
ThreadWatcher(#41887). - Prevented index creation for unsorted importing segments when statistics are enabled (#41865).
- Fixed a goroutine leak in the import reader (#41870).
- Fixed an analyzer memory leak caused by the function runner not being closed (#41840).
- Fixed an issue that counts are collected grouped by partition instead of collection (#41789).
- Fixed an issue with unexpected passwords for the root user (#41818).
- Prevented crashes when
contains_allorcontains_anyis used with an empty array (#41756). - Fixed issues of compilation on Windows (#41617).
- Disabled block and mutex profiling on ARM architecture to prevent SIGSEGV errors (#41823).
- Fixed a
no candidate segmentserror for small import tasks (#41772). - Ensured fallback to
MixCoordsession when upgrading toMixCoord(#41773). GetValueFromConfignow returnsnulloptinstead of throwing an exception (#41711).- Added an exclusive lock mutex in
DropSegmentsOfPartitionto avoid potential crashes with concurrent DDL upon partitions (#41619).
client/v2.5.3
What's Changed
PR: #41631
- Resolve the issue that row-based insertion could not work with collection function output fields
- Add sparse & compact format nullable column
- Support insert normal column into nullable field as all valid rows
Full Changelog: client/v2.5.2...client/v2.5.3
milvus-2.5.11
v2.5.11
| Milvus version | Python SDK version | Node.js SDK version | Java SDK version |
|---|---|---|---|
| 2.5.11 | 2.5.8 | 2.5.8 | 2.5.8 |
We're excited to announce the release of Milvus 2.5.11! This version introduces powerful new features like the multi-analyzer capability and expanded tokenizer support (Jieba, Lindera, ICU, Language Identifier). We've also made several improvements, including dynamic segment loading thread pool updates and optimized delete filtering during binlog imports. Key bug fixes address potential segment drop issues, BM25 search failures, and JSON stats filtering errors.
We encourage you to upgrade to 2.5.11 to take advantage of these enhancements and fixes!
Features
- Added the ability to configure multiple analyzers (tokenizers) and select the appropriate one based on the instruction of the input data (#41444).
- Enhanced the BM25 Analyzer functionality (#41456).
- Introduced a
run_analyzerAPI for dry runs to help analyze tokenization results. For more information, refer to Analyzer Overview. - Tokenizers
- Filters
- Expanded language support for the built-in stop word filter. For more information, refer to Stop.
- Added a
remove_punctfilter to remove punctuation marks. For more information, refer to Remove Punct. - Added a
regexfilter for pattern-based text filtering. For more information, refer to Regex.
- Introduced a
- Added support for modifying the maximum capacity of array fields (#41406).
- Added support for binary range expressions in JSON path indexes (#41317).
- Added support for infix and suffix match types in JSON stats (#41388).
Improvements
- Enabled dynamic updates to the size of the Segment loading thread pool (#41549).
- Accelerated delete filtering during binlog import (#41552).
- Added monitoring parameters for the expression filter ratio (#41403).
- Added a configuration option to force rebuilding indexes to the latest version (#41432).
- Improved the error log message for the list policy (#41368).
- Adapted handling for hyphens in gRPC metadata headers (#41372).
- Upgraded Go version to 1.21.4 to address CVEs (#41522, #41319). (Note: Original text mentioned "2.14", assumed typo corrected to a plausible recent version 1.21.4).
Bug fixes
- Fixed an issue where segments might not be correctly dropped when dropping a partition (#41543).
- Fixed bulk insert to use the function runner's input field list instead of the schema's field list (#41561).
- Fixed BM25 search failures occurring when
avgdl(average document length) is NaN (#41503). - Corrected inaccurate labels in QueryNode metrics (#41422).
- Fixed an issue where JSON stats index creation could fail if the data contained an empty map (#41506).
- Fixed the
AlterCollectionAPI to correctly save the modification timestamp (#41469). - Fixed an intermittent filtering error in JSON stats under
ConjunctExprand improved the task slot calculation logic to accelerate JSON stats building (#41458). - Fixed an IDF oracle leak in BM25 statistics calculation (#41426).
- Ensured pre-created topics are checked first during shard number validation (#41421).
- Fixed an erroneous deadlock report occurring in unit tests (#41377).
milvus-2.5.10
v2.5.10
Release date: April 21, 2025
| Milvus version | Python SDK version | Node.js SDK version | Java SDK version |
|---|---|---|---|
| 2.5.10 | 2.5.6 | 2.5.8 | 2.5.7 |
Milvus 2.5.10 delivers improved search and load performance, enhanced metrics reporting, and expanded SVE support for accelerated metric computation. This release also includes multiple bug fixes that boost stability and correctness. We encourage you to upgrade or give it a try—your feedback is invaluable in helping us make Milvus even better!
Improvements
- Ignore reporting index metrics for non‑existent indexes (#41296)
- Use scan mode for LIKE even when an inverted index exists (#41309)
- Optimize performance for LIKE expressions (#41222)
- Optimize index format for improved load performance (#41041)
- RESTful: make the default timeout configurable (#41225)
- Enable SVE support for L2 metric computation in FP16 / NY functions (knowhere #1134)
Bug fixes
- Fix JSON index not working for string filters (#41383)
- Skip dimension check for non‑vector fields in pre‑check (#41329)
- Alter collection now updates the schema correctly (#41308)
- Update knowhere version to fix macOS build (#41315)
- Prevent panic when listing indexes before segment index initialization completes (#41299)
- Resolve performance regression by changing a log level (#41269)
- Close client before removing worker client (#41254)
client/v2.5.2
What's Changed
- enhance: [2.5][GoSDK] Add README and examples for milvusclient by @congqixia in #40747
- enhance: [2.5][GoSDK] Support JSON Path index (#40754) by @congqixia in #40791
- test: [GoSDK][2.5] test: Cherry-pick gosdk test commits from master branch by @ThreadDao in #40778
- fix: [2.5][GoSDK] Set nullable according to fieldSchema for RowBased insert (#40928) by @congqixia in #40962
- enhance: [2.5][GoSDK] Cherry-pick commits and bump version to 2.5.2 by @congqixia in #41235
Full Changelog: client/v2.5.1...client/v2.5.2
milvus-2.5.9
v2.5.9
Release date: April 11, 2025
| Milvus version | Python SDK version | Node.js SDK version | Java SDK version |
|---|---|---|---|
| 2.5.9 | 2.5.6 | 2.5.7 | 2.5.7 |
We’re excited to announce Milvus 2.5.9, bringing improved performance for JSON key statistics, enhanced indexing capabilities, and several critical bug fixes that bolster stability and data handling. We encourage you to upgrade or give this version a try, and as always, your feedback is greatly appreciated as we continue to refine Milvus.
Improvements
- Support skipping score normalization for the weighted re-ranker (#40905)
- Improve the performance of JSON key stats building by adding documents in batches (#40898)
- Use
int32when creating array indexes forint8/int16element types (#41186) - Align brute-force search results with JSON index behavior for the
existsexpression (#41056)
Bug fixes
- Fixed an issue causing traceID confusion if the client sent a traceID (#41149)
- Fixed a potential crash due to incorrect usage of
noexcept, leading to IO failures (#41221) - Resolved an infinite normal balance loop triggered after balance suspension (#41196)
- Show collections now supports objects granted to custom privilege groups (#41204)
- Fixed a failure to retrieve replicate channel positions (#41189)
- Fixed a potential thread leak caused by RESTful timeouts (#41184)
- Added a clear bitmap for batch skip mode (#41165)
- Fixed an issue where removing an index type failed in local-mode remote storage (#41163)
- Use
element_typefor arrayisNulloperators (#41158) - Removed metrics reset to ensure accurate reporting (#41081)
- Fixed a bug preventing
nulldata from being filtered bynullexpressions (#41135) - Ignored growing segments with no start position for seal policy (#41131)
- Avoided updating original search/query requests during retries (#41127)
- Fixed a segmentation fault if
LoadArrowReaderFromRemoteruns in an exception path (#41071) - Addressed manual balance and balance check issues (#41038)
- Validated schema is not
nilfor JSON stats with lazyDescribeCollection(#41068) - Fixed a cursor movement bug when comparing two columns (#41054)
- Resolved a crash when inserting both
nulland non-null arrays with growing mmap open (#41052) - Fixed an arm64 compilation issue (#41058)
- Added a bypass thread pool mode to avoid blocking insert/load operations by growing indexes (#41013)
- Fixed JSON format errors (#41031)
- Fixed a 404 error in WebUI when
http.enablepprofis false (#41007)
milvus-2.5.8
v2.5.8
Release date: April 1, 2025
| Milvus version | Python SDK version | Node.js SDK version | Java SDK version |
|---|---|---|---|
| 2.5.8 | 2.5.6 | 2.5.7 | 2.5.6 |
We’re excited to announce the release of Milvus 2.5.8, featuring enhancements to JSON expressions, UTF-8 validation, memory usage, and balancing logic. This version also includes multiple important bug fixes to improve concurrency and data handling. We encourage you to upgrade or give it a try, and as always, your feedback helps us continually refine Milvus!
Improvements
- Support JSON
null/existsexpressions (#41002) - Balance the collection with the largest row count first (#40958)
- Support parsing sparse vectors from Parquet structs in bulk inserts (#40874)
- Support UTF-8 string validation during import (#40746)
- Add UTF-8 validation for all VARCHAR fields (#40993)
- Avoid re-query if hybrid search only requests the PK as output field (#40906)
- Refine array views to optimize memory usage (#40206)
- Add a trigger interval configuration for auto-balancing (#39918)
- Convert multiple OR expressions to IN expression (#40751)
- Support detailed manual compaction criteria (#40924)
- Retain raw tokens for audit logging (#40867)
- Optimize DataCoord meta mutex usage (#40753)
- Introduce batch subscriptions in
MsgDispatcher(#40596)
Bug fixes
- Fixed a crash involving nullable input and growing mmap data types (#40980)
- Fixed potential data loss in delete operations caused by duplicate binlog IDs (#40985), (#40976)
- Added field index locks for
GetSegmentsIndexStatesto avoid potential panic when insertion while creating collection (#40969) - Fixed concurrency issues in Rocksmq consumer registration (#40885)
- Retrieve all child delta logs for segment loading (#40957)
- Fixed wrong results caused by using JSON index when
iterative_filteris specified (#40946) - Ensured higher priority for the
existsoperation (#40865) - Corrected
WithGroupSizewhile reducing (#40920) - Increased the number of slots proportionally as segment size grows (#40862)
- Set task queue time before enqueue (#40853)
- Fixed channel imbalance on DataNodes (#40854)
- Set correct default configurations for task slots (#40821)
- Go SDK: Set nullable flags according to FieldSchema for row-based insert (#40962)