Releases: milvus-io/milvus
milvus-2.6.10
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 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_populateflag formmapto 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
ReplicaObserverinitialization (#47093) - Updated the Knowhere version for vector search improvements (#47109)
- Added BM25
search_by_pksupport (#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
timestamptzfield type and data format with the server (#47328) - Added authentication to the metrics endpoint when authorization is enabled (#47278)
- Updated
milvus_proxy_req_countmetrics for RESTful APIs (#47239) - Submitted
TriggerTypeStorageVersionUpgradecompaction 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
PreallocSegmentIDschecks (#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
deletePreExecuteandpackDeleteMessage(#47147) - Used user-provided target size in compaction-related logic (#47115)
milvus-2.5.26
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
/exprendpoint 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
milvus-2.6.9
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
FlushAllMsgoperations (#47004) - Added valid range validation for collection TTL to prevent invalid configurations (#47010)
- Fixed
GetCredentialInfonot caching RPC responses (#46945) - Fixed issue where
AlterFunctioncould 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
FlushAllMsgin 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
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
milvus-2.6.8
v2.6.8
Release date: January 4, 2026
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
|---|---|---|---|---|
| 2.6.8 | 2.6.6 | 2.6.9 | 2.6.11 | 2.6.1 |
We are excited to announce the release of Milvus 2.6.8! This version introduces search result highlighting, significantly enhancing the retrieval experience. Under the hood, we have optimized query processing, resource scheduling, and caching mechanisms to deliver superior performance and stability. Additionally, this release addresses critical bugs related to data security, storage handling, and concurrency. We highly recommend all users upgrade to this version for a more efficient and reliable production environment.
Features
- Supported search with highlighter. For details, refer to Text Highlighter. (#46052)
Improvements
- Moved query optimization logic to the Proxy to improve performance (#46549)
- Optimized
LIKEoperator performance using STL sort (#46535) - Enabled concurrent execution of text index tasks for multiple fields (#46306)
- Supported pausing GC at the collection level (#46201)
- Implemented a penalty policy for QueryNodes to handle resource exhaustion (#46086)
- Optimized data caching by mapping multiple row groups to a single cache cell (#46542)
- Reduced CPU usage in QuotaCenter (#46615)
- Improved
TIMESTAMPTZdata comparison performance (#46655) - Supported nullable dynamic fields with an empty JSON object as the default value (#46445)
- Prevented unnecessary segment sealing when only altering collection properties (#46489)
- Supported DML and DQL forwarding in Proxy for RESTful v2 (#46021, #46037)
- Added retry mechanism for object storage reads on rate limit errors (#46464)
- Enhanced logging for Proxy and RootCoord meta tables (#46701)
- Added validation for embedding models and schema field types (#46422)
- Introduced a tolerance duration to delay collection drop operations (#46252)
- Improved index task scheduling by estimating slots based on field size and type (#46276, #45851)
- Added fallback mechanism for write paths when accessing object storage without condition write support (#46022)
- Optimized IDF oracle synchronization logic (#46079)
- Changed RootCoord default port to a non-ephemeral port (#46268)
- Added metrics to monitor Jemalloc cached memory (#45973)
- Improved disk quota metric accuracy when cluster quota changes (#46304)
- Improved trace observability for scalar expressions (#45823)
- Rejected duplicate primary keys in upsert batch requests (#46035)
Bug fixes
- Fixed RBAC ETCD prefix matching to prevent potential data leakage (#46708)
- Fixed incorrect root path handling for local storage mode (#46693)
- Fixed handling of mixed
int64/floattypes in JSON fields (#46682) - Fixed text log loading failures during cluster upgrade (#46698)
- Prevented deletion of other fields during raw data cleanup (#46689)
- Fixed failure when using highlighting with multiple analyzers (#46664)
- Ensured logs are flushed when the OS exits (#46609)
- Fixed ETCD RPC size limit exceeded error when dropping collections (#46645)
- Fixed replication lag issues when the server is idle (#46612)
- Fixed validation for invalid
TIMESTAMPTZdefault values (#46556) - Fixed restoration of compaction tasks to ensure proper cleanup (#46578)
- Unified read-only node handling to avoid stuck balance channel tasks (#46513)
- Prevented field data drops for multi-field column groups (#46425)
- Removed stale proxy clients when re-watching ETCD (#46490)
- Fixed chunk iterator merge order (#46462)
- Prevented creation of Kafka consumer groups by disabling auto-commit (#46509)
- Prohibited hot-reloading of tiered storage parameters (#46438)
- Enabled search iterator for binary vectors (#46334)
- Fixed race condition in storage initialization (#46338)
- Fixed highlight queries not working for non-BM25 searches (#46295)
- Fixed stack overflow during JSON garbage collection (#46318)
- Ensured retries when writing binlogs (#46310)
- Fixed index usage check for JSON fields (#46281)
- Prevented target update blocking when replicas lack nodes during scaling (#46291)
- Restricted
char_grouptokenizer to support only one-byte delimiters (#46196) - Skipped JSON path index usage if the query path includes numbers (#46247)
- Fixed path concatenation errors in MinIO when root path is "." (#46221)
- Fixed false-positive health checks by correcting replicate lag metric calculation (#46122)
- Fixed RESTful v2 parsing and schema defaults with
TIMESTAMPTZ(#46239) - Fixed panic when searching empty results with output geometry fields (#46231)
- Added field data alignment validation to prevent panics during partial updates (#46180)
- Fixed database loss issue in RESTful v2 (#46172)
- Fixed incorrect context usage in gRPC client sessions (#46184)
- Fixed incorrect authorization forwarding in RESTful v2 during upgrades (#46140)
- Fixed incorrect struct reduction logic (#46151)
- Fixed error return from highlighter when search results are empty (#46111)
- Corrected logic for loading raw data for fields (#46155)
- Fixed cursor movement issue after skipping chunks in index (#46055)
- Corrected loop logic for
TIMESTAMPTZscalar index output (#46110) - Fixed setting default values for geometry fields via RESTful API (#46064)
- Implemented fast fail if any component is not ready on startup (#46070)
client/v2.6.2
Release Notes - Milvus Go SDK v2.6.2
Summary
This release introduces QueryIterator support for efficient large result set iteration and adds Struct Array field type support in the Go SDK.
New Features
QueryIterator Support
Added QueryIterator for efficiently iterating over large query result sets using PK-based pagination (#46633).
- Support for Int64 and VarChar primary key types for automatic pagination
- Configurable options via QueryIteratorOption:
- WithBatchSize(int) - Set batch size for each iteration (default: 1000)
- WithIteratorLimit(int64) - Set overall limit of entries to iterate
- WithFilter(string) - Set filter expression
- WithOutputFields(...string) - Specify output fields
- WithPartitions(...string) - Specify partition names
- WithConsistencyLevel(ConsistencyLevel) - Set consistency level
Usage Example:
opt := milvusclient.NewQueryIteratorOption("collection_name").
WithBatchSize(500).
WithFilter("age > 18").
WithOutputFields("id", "name", "vector")
iter, err := client.QueryIterator(ctx, opt)
for {
rs, err := iter.Next(ctx)
if errors.Is(err, io.EOF) {
break
}
// process rs...
}
Enhancements
Struct Array Field Type Support (#45291)
Added support for Struct Array field type in Go SDK:
- New columnStructArray type implementing the Column interface
- Support for parsing StructArrayField from protobuf responses
- Schema construction support for struct array fields via entity.FieldTypeArray
Test Infrastructure Improvements (#45113)
- Refactored go_client test wrapper to use struct embedding pattern
- Improved test structure and organization
Related PRs
milvus-2.5.24
Release note is coming soon.## v2.5.24
Release date: December 23, 2025
| Milvus version | Python SDK version | Node.js SDK version | Java SDK version |
|---|---|---|---|
| 2.5.24 | 2.5.18 | 2.5.13 | 2.5.14 |
We are excited to announce Milvus 2.5.24. This release prioritizes system security and stability, featuring critical updates to dependencies to address high-severity vulnerabilities. Additionally, it resolves significant correctness issues in Hybrid Search and JSON query processing, ensuring reliable performance under complex workloads. We strongly recommend all users upgrade to this version.
Improvements
- Upgraded Go version to 1.24.11 to address security vulnerabilities (#46114).
- Upgraded golang.org/x/crypto dependency to fix CVE vulnerabilities (#46112).
- Optimized the loading performance of BM25 statistics for sparse vector search (#45780).
- Refined logic to exclude stopping nodes from resource groups, improving cluster load balancing stability (#45982).
Bug fixes
- Improved startup logic to fail fast if critical components are not ready, aiding in troubleshooting (#46115).
- Fixed a data scanning issue where the cursor was not correctly updated after skipping data chunks (#46078).
- Fixed undefined behavior that could occur when dumping database snapshots (#45613).
- Fixed an issue where default values for geometry fields were not correctly set via the RESTful API (#46065).
- Fixed an issue where the total search count was incorrectly returned as zero during hybrid searches (#45843).
- Fixed a logic error where QueryCoord ignored stopping nodes during watcher events (#45964).
- Fixed a potential QueryNode crash caused by memory handling in JSON contains expressions (#45785).
milvus-2.6.7
v2.6.7
Release date: December 4, 2025
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
|---|---|---|---|---|
| 2.6.7 | 2.6.4 | 2.6.5 | 2.6.10 | 2.6.1 |
Milvus 2.6.7 is a critical stabilization update for the 2.6.x series. This release focuses on hardening the system against distributed failures and optimizing resource utilization under high load. With significant improvements in I/O handling, memory management, and Kubernetes integration, we strongly recommend all production users upgrade to this version to ensure greater reliability and smoother operation at scale.
Features
- Added
/livezendpoint to support Kubernetes native liveness probes, improving container orchestration stability (#45481). - Added support for GroupBy operations on
TIMESTAMPZfields, enhancing time-series analytics capabilities (#45763) - Supported
mmapfor JSON shredding's shared key indices to reduce RAM footprint (#45861)
Improvements
- Supported DML request forwarding in the Proxy to improve write availability and routing resilience (#45922).
- Upgrade etcd to v3.5.23 to address consensus stability and performance regressions (#45953).
- Added robust error handling for Etcd server crashes to prevent cascading component failures (#45633).
- Reduced Etcd load by removing expensive watchers for simple session liveness checks (#45974).
- Enhanced the WAL retention strategy to better balance disk usage with data recovery safety (#45784).
- Supported asynchronous write syncing for logs to prevent disk I/O blocking from affecting the main execution path (#45806).
- Enforced Buffered I/O usage for high-priority load tasks to optimize OS page cache utilization and throughput (#45958).
- Optimized
mmapstrategy to map group chunks in a single system call, reducing kernel overhead during segment loading (#45893). - Improved the accuracy of memory estimation for JSON shredding to prevent OOM kills or under-utilization (#45876).
- Refined segment load estimation to account for both eviction and warmup states (#45891).
- Added granular cancellation checks in query operators to allow faster termination of aborted or timed-out queries (#45894).
- Removed redundant resource type checks in file resource configuration (#45727).
Bug fixes
- Interleaved Go and C++ logs into a unified stream to provide a correct chronological view for debugging (#46005).
- Resolved a race condition where
LastConfirmedMessageIDcould be incorrect under high concurrency writes (#45874). - Fixed a calculation error in aggregating
allsearchcountfrom multiple search results (#45904). - Fixed Term expressions to correctly handle string containment logic within JSON arrays (#45956).
- Replaced
json.doc()withjson.dom_doc()inJSONContainsExprto fix parsing behaviors and improve performance (#45786). - Fixed a panic in Standby MixCoord components during the shutdown sequence (#45898).
- Fixed the leader checker to ensure segment distribution is correctly synchronized to Read-Only nodes (#45991).
- Ensured
HandleNodeUpis triggered during node re-watching to maintain correct load balancing topology (#45963). - Implemented fallback to remote WAL storage if local WAL storage becomes unavailable (#45754).
- Added
EmptySessionWatcherto prevent panics when running in IndexNode binding mode (#45912). - Ensured memory state consistency when recovering broadcast tasks from protocol buffers (#45788).
- Addressed thread-safety issues in SegCore collection schema updates (#45618).
- Enforced Access Control (RBAC) checks for
ListImportandGetImportProgressAPIs (#45862). - Fixed a bug where BulkImport would fail if the input contained an empty struct list (#45692).
milvus-2.6.6
v2.6.6
Release date: November 21, 2025
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
|---|---|---|---|---|
| 2.6.6 | 2.6.3 | 2.6.4 | 2.6.8 | 2.6.1 |
We are excited to announce the release of Milvus 2.6.6, featuring a range of powerful new capabilities, performance enhancements, and essential bug fixes. This update introduces important features such as Geospatial and Timestampz data type, Boost ranker for rescoring, etc. This release also has many crucial scalar filtering performance improvements. 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.
- Geospatial Data Type: Milvus introduces support for the
Geometrydata type, representing OGC-compliant geometric objects such asPOINT,LINESTRING, andPOLYGON. This type supports multiple spatial relationship operators (st_contains, st_intersects, st_within, st_dwithin, …) and provides anRTREEspatial index to accelerate spatial filtering and query execution. This enables efficient storage and querying of geospatial shapes for LBS, mapping, and other spatial workloads. - Timestamptz Data Type: Milvus introduces the TIMESTAMPTZ data type, providing timezone awareness for all temporal data. This feature enables consistent data management across global deployments by allowing users to define a default time context using the timezone property on Databases and Collections. Crucially, the field fully supports expression-based filtering for time range queries, and retrieval operations (query and search) support a timezone parameter for instant, on-the-fly conversion of timestamps into the required local format upon output.
- Boost Ranker: Instead of relying solely on semantic similarity calculated based on vector distances, Boost Ranker allows Milvus to use the optional filtering condition within the function to find matches among search result candidates and boosts the scores of those matches by applying the specified weight, helping promote or demote the rankings of the matched entities in the final result.
- STL_SORT index now supports VARCHAR and TIMESTAMPTZ datatype.
- You may now enable dynamic field of an existing collection by altering it.
- Fixed cve-2025-63811.
Features
- Added new config and enabled dynamic update configs (#45363)
Improvements
- Fixed cve-2025-63811 (#45658)
- Removed large segment id arrays from querynode logs (#45720)
- Updated multiple places where the expr copied the input values in every loop (#45712)
- Optimized term expr performance (#45671)
- Prefetched vector chunks for sealed non-indexed segments (#45666)
- Expr: only prefetched chunks once (#45555)
- Added nullable support for geometry and timestamptz types (#45522)
- Increased session ttl from 10s to 30s (#45517)
- Added more metrics for ddl framework (#45559)
- Updated maxconnections config version (#45547)
- Skipped check source id (#45519)
- Supported max_connection config for remote storage (#45364)
- Prevented panic by adding null pointer check when clearing insertrecord pk2offset (#45442)
- Performed some optimization of scalar field fetching in tiered storage scenarios (#45361)
- Fixed typo of analyzer params (#45434)
- Overrode index_type while creating segment index (#45417)
- Added rbac support for updatereplicateconfiguration (#45236)
- Bumped go version to 1.24.9 (#45369)
- Disabled jsonshredding for default config (#45349)
- Unified the aligned buffer for both buffered and direct i/o (#45325)
- Renamed jsonstats related user config params (#45252)
- Made knowhere thread pool config refreshable (#45191)
- Cherry-picked patch of new ddl framework and cdc 3 (#45280)
- Set schema version when creating new collection (#45269)
- Supported jsonl/ndjson files for bulkinsert (#44717)
- Waited for replicate stream client to finish (#45260)
- Made geometrycache an optional configuration (#45196)
- Cherry-picked patch of new ddl framework and cdc 2 (#45241)
- Did not start cdc by default (#45217)
- Cherry-picked patch of new ddl framework and cdc (#45025)
- Removed max vector field number limit (#45156)
- Showed create time for import job (#45059)
- Optimized scalarindexsort bitmap initialization for range queries (#45087)
- Enabled stl_sort to support varchar (#45050)
- Extracted shard client logic into dedicated package (#45031)
- Refactored privilege management by extracting privilege cache into separate package (#45002)
- Supported json default values in fillfielddata (#45470)
- Updated enabledynamicfield and schemaversion during collection modification (#45616)
Bug fixes
- Fixed partial update panic with timestamptz (#45741)
- Used 2.6.6 for milvus ddl upgrading (#45739)
- Used latest timetick to expire cache (#45699)
- Made streamingnode exit when it failed initializing (#45732)
- Protected tbb concurrent_map emplace to avoid race condition deadlock (#45682)
- Prevented panic when streaming coord shutdown but query coord still worked (#45696)
- Set task init when worker didn’t have task (#45676)
- Prevented deadlock in runcomponent when prepare failed (#45647)
- Prevented panic when double closing channel of ack broadcast (#45662)
- Corrected default value backfill during addfield (#45644)
- Compacted the assignment history of channel to decrease the size of assignment recovery info (#45607)
- Handled default values correctly during compaction for added fields (#45619)
- Removed validatefieldname in dropindex (#45462)
- Ignored compaction task when from segment was not healthy (#45535)
- Set schema properties before broadcasting alter collection (#45529)
- Stored database event if the key was invalid (#45530)
- Fixed bulkimport bug for struct field (#45536)
- Failed to get raw data for hybrid index (#45408)
- Retained collection early to prevent it from being released before query completion (#45415)
- Used the right resource key lock for ddl and used new ddl in transfer replica (#45509)
- Fixed index compatibility after upgrade (#45374)
- Fixed channel not available error and released collection blocking (#45429)
- Removed collection meta when dropping partition (#45497)
- Fixed target segment marked dropped for save stats result twice (#45479)
- Wrongly updated timetick of collection info (#45471)
- Added tzdata dependency to enable iana time zone id recognition (#45495)
- Corrected field data off...
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)