Milvus

Latest version: v2.3.9

Safety actively analyzes 693883 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 16

2.4.9

Milvus v2.4.9 addresses a critical issue which could return results less than limit (topk) in some corner cases and includes several key improvements to enhance the performance and usability of the platform.

Critical fixes

- Excluded l0 segment from readable snapshot ([35510](https://github.com/milvus-io/milvus/pull/35510)).


Improvements

- Removed duplicated schema helper creation in the proxy ([35502](https://github.com/milvus-io/milvus/pull/35502)).
- Added support for compiling Milvus on Ubuntu 20.04 ([35457](https://github.com/milvus-io/milvus/pull/35457)).
- Optimized the use of locks and avoided double flush clustering buffer writer ([35490](https://github.com/milvus-io/milvus/pull/35490)).
- Removed the invalid log ([35473](https://github.com/milvus-io/milvus/pull/35473)).
- Added a clustering compaction user guide doc ([35428](https://github.com/milvus-io/milvus/pull/35428)).
- Added support for dynamic fields in the schema helper ([35469](https://github.com/milvus-io/milvus/pull/35469)).
- Added the msgchannel section in the generated YAML ([35466](https://github.com/milvus-io/milvus/pull/35466)).

2.4.8

Milvus 2.4.8 introduced several significant improvements to the system's performance and stability. The most notable feature was the implementation of clustering compaction, a mechanism that enhances search and query efficiency by redistributing data in large collections based on a designated clustering key, reducing the amount of data scanned. Compaction was also decoupled from the shard DataNode, allowing any DataNode to perform compaction independently, which improved fault tolerance, stability, performance, and scalability. Additionally, the interface between the Go and C++ components was refactored to use asynchronous CGO calls, addressing issues like session timeouts, while several other performance optimizations were made based on profiling. The application dependencies were also updated to address known security vulnerabilities. Moreover, this release also includes numerous performance optimizations and critical bug fixes.

Features

- Implemented clustering compaction, allowing data to be redistributed based on a designated clustering key to enhance query efficiency ([34326](https://github.com/milvus-io/milvus/pull/34326)), ([#34363](https://github.com/milvus-io/milvus/pull/34363)).

Improvements

- Implemented asynchronous search and retrieval capabilities in CGO. ([34200](https://github.com/milvus-io/milvus/pull/34200))
- Separated the compaction process from the Shard DataNode to improve system modularity. ([34157](https://github.com/milvus-io/milvus/pull/34157))
- Added support for client pooling in QueryNode within the proxy/delegator to enhance performance. ([35195](https://github.com/milvus-io/milvus/pull/35195))
- Integrated Sonic to minimize CPU overhead during JSON marshaling and unmarshaling in Gin and RestfulV1 handlers. ([35018](https://github.com/milvus-io/milvus/pull/35018))
- Introduced an in-memory cache to optimize authentication result retrieval. ([35272](https://github.com/milvus-io/milvus/pull/35272))
- Modified the default metric type for autoindex. [[34277](https://github.com/milvus-io/milvus/pull/34277), [#34479](https://github.com/milvus-io/milvus/pull/34479)]
- Refactored the runtime memory format for variable columns, leading to reduced memory usage. [[34367](https://github.com/milvus-io/milvus/pull/34367), [#35012](https://github.com/milvus-io/milvus/pull/35012), [#35041](https://github.com/milvus-io/milvus/pull/35041)]
- Refactored compaction processes to enable persistent data storage. ([34268](https://github.com/milvus-io/milvus/pull/34268))
- Enabled memory-mapped file support for growing segments, improving memory management. ([34110](https://github.com/milvus-io/milvus/pull/34110))
- Improved access logs by adding RESTful API support, logging consistency levels, and distinguishing between system and user errors. [[34295](https://github.com/milvus-io/milvus/pull/34295), [#34352](https://github.com/milvus-io/milvus/pull/34352), [#34396](https://github.com/milvus-io/milvus/pull/34396)]
- Enabled the configuration of replica numbers and resource groups at the cluster, database, and collection levels, with support for dynamic modifications. [[34561](https://github.com/milvus-io/milvus/pull/34561), [#33981](https://github.com/milvus-io/milvus/pull/33981), [#35293](https://github.com/milvus-io/milvus/pull/35293)]
- Utilized the new `range_search_k` parameter in Knowhere to speed up range searches. ([34709](https://github.com/milvus-io/milvus/pull/34709))
- Applied blocked Bloom filters to enhance the speed of filter construction and querying. [[34377](https://github.com/milvus-io/milvus/pull/34377), [#34922](https://github.com/milvus-io/milvus/pull/34922)]
- Memory Usage Improvements:
- Pre-allocated space for DataNode insert buffers. ([34205](https://github.com/milvus-io/milvus/pull/34205))
- Pre-allocated `FieldData` for Reduce operations. ([34254](https://github.com/milvus-io/milvus/pull/34254))
- Released records in delete codec to prevent memory leaks. ([34506](https://github.com/milvus-io/milvus/pull/34506))
- Controlled concurrency level of the disk file manager during file loading. ([35282](https://github.com/milvus-io/milvus/pull/35282))
- Optimized Go runtime garbage collection logic for timely memory release. ([34950](https://github.com/milvus-io/milvus/pull/34950))
- Implemented a new seal policy for growing segments. ([34779](https://github.com/milvus-io/milvus/pull/34779))
- DataCoord Enhancements:
- Reduced CPU usage. [[34231](https://github.com/milvus-io/milvus/pull/34231), [#34309](https://github.com/milvus-io/milvus/pull/34309)]
- Implemented faster garbage collection exit logic. ([35051](https://github.com/milvus-io/milvus/pull/35051))
- Improved worker node scheduling algorithms. ([34382](https://github.com/milvus-io/milvus/pull/34382))
- Enhanced segment size control algorithm specifically for import operations. ([35149](https://github.com/milvus-io/milvus/pull/35149))
- Load Balancing Algorithm Improvements:
- Reduced the memory overload factor on the delegator. ([35164](https://github.com/milvus-io/milvus/pull/35164))
- Allocated fixed memory size for the delegator. ([34600](https://github.com/milvus-io/milvus/pull/34600))
- Avoided excessive allocation of segments and channels for new query nodes. ([34245](https://github.com/milvus-io/milvus/pull/34245))
- Reduced the number of tasks per scheduling cycle by Query Coordinator while increasing scheduling frequency. ([34987](https://github.com/milvus-io/milvus/pull/34987))
- Enhanced channel balancing algorithm on the DataNode. ([35033](https://github.com/milvus-io/milvus/pull/35033))
- Expanded System Metrics: Added new metrics across various components to monitor specific aspects including:
- Force-deny-writing state. ([34989](https://github.com/milvus-io/milvus/pull/34989))
- Queue latency. ([34788](https://github.com/milvus-io/milvus/pull/34788))
- Disk quota. ([35306](https://github.com/milvus-io/milvus/pull/35306))
- Task execution time. ([35141](https://github.com/milvus-io/milvus/pull/35141))
- Binlog size. ([35235](https://github.com/milvus-io/milvus/pull/35235))
- Insert rate. ([35188](https://github.com/milvus-io/milvus/pull/35188))
- Memory high water level. ([35188](https://github.com/milvus-io/milvus/pull/35188))
- RESTful API metrics. ([35083](https://github.com/milvus-io/milvus/pull/35083))
- Search latency. ([34783](https://github.com/milvus-io/milvus/pull/34783))

Changes

- For open-source users, this version changes the metric types in AutoIndex for `FloatVector` and `BinaryVector` to `Cosine` and `Hamming`, respectively.

- **Fixed Third-Party Dependency Versions**:
- This release introduces fixed versions for certain third-party dependency libraries, significantly enhancing Milvus's software supply chain management.
- By isolating the project from upstream changes, it safeguards daily builds from potential disruptions.
- The update ensures stability by exclusively hosting validated C++ third-party packages on JFrog Cloud and utilizing Conan Recipe Revisions (RREV).
- This approach mitigates the risk of breaking changes from updates in ConanCenter.
- Developers using Ubuntu 22.04 will benefit immediately from these changes. However, developers on other operating systems may need to upgrade their `glibc` version to avoid compatibility issues.

Critical bug fixes

- Fixed an issue where deletion data was lost due to segments being omitted during L0 compaction. [[33980](https://github.com/milvus-io/milvus/pull/33980), [#34363](https://github.com/milvus-io/milvus/pull/34363)]
- Rectified a problem where delete messages failed to be forwarded due to incorrect data scope handling. ([35313](https://github.com/milvus-io/milvus/pull/35313))
- Resolved a SIGBUS exception that occurred due to incorrect usage of `mmap`. [[34455](https://github.com/milvus-io/milvus/pull/34455), [#34530](https://github.com/milvus-io/milvus/pull/34530)]
- Fixed crashes caused by illegal search expressions. ([35307](https://github.com/milvus-io/milvus/pull/35307))
- Corrected an issue where DataNode watch failed due to an incorrect timeout setting in the watch context. ([35017](https://github.com/milvus-io/milvus/pull/35017))

Bug fixes

- Addressed security vulnerabilities by upgrading certain dependencies. [[33927](https://github.com/milvus-io/milvus/pull/33927), [#34693](https://github.com/milvus-io/milvus/pull/34693)]
- Fixed a parsing error triggered by excessively long expressions. ([34957](https://github.com/milvus-io/milvus/pull/34957))
- Resolved a memory leak that occurred during query plan parsing. ([34932](https://github.com/milvus-io/milvus/pull/34932))
- Fixed an issue where dynamic log level modifications were not taking effect. ([34777](https://github.com/milvus-io/milvus/pull/34777))
- Resolved an issue where group by queries on growing data failed due to uninitialized segment offsets. ([34750](https://github.com/milvus-io/milvus/pull/34750))
- Corrected the setting of search parameters when using the Knowhere iterator. ([34732](https://github.com/milvus-io/milvus/pull/34732))
- Revised the logic for checking the status of the partition load. ([34305](https://github.com/milvus-io/milvus/pull/34305))
- Fixed an issue where privilege cache updates failed due to unhandled request errors. ([34697](https://github.com/milvus-io/milvus/pull/34697))
- Resolved a failure in loaded collection recovery after QueryCoord restarted. ([35211](https://github.com/milvus-io/milvus/pull/35211))
- Fixed an issue of load idempotence by removing unnecessary index parameter validation. ([35179](https://github.com/milvus-io/milvus/pull/35179))
- Ensured `compressBinlog` is executed to allow `reloadFromKV` to properly fill binlog's `logID` after DataCoord restarts. ([34062](https://github.com/milvus-io/milvus/pull/34062))
- Fixed an issue where collection metadata was not removed after garbage collection in DataCoord. ([34884](https://github.com/milvus-io/milvus/pull/34884))
- Resolved a memory leak in SegmentManager within DataCoord by removing flushed segments generated through imports. ([34651](https://github.com/milvus-io/milvus/pull/34651))
- Fixed a panic issue when compaction was disabled and a collection was dropped. ([34206](https://github.com/milvus-io/milvus/pull/34206))
- Fixed an out-of-memory issue in DataNode by enhancing the memory usage estimation algorithm. ([34203](https://github.com/milvus-io/milvus/pull/34203))
- Prevented burst memory usage when multiple vector retrieval requests hit a cache miss by implementing singleflight for chunk cache. ([34283](https://github.com/milvus-io/milvus/pull/34283))
- Captured `ErrKeyNotFound` during CAS (Compare and Swap) operations in the configuration. ([34489](https://github.com/milvus-io/milvus/pull/34489))
- Fixed an issue where configuration updates failed due to mistakenly using the formatted value in a CAS operation. ([34373](https://github.com/milvus-io/milvus/pull/34373))

Miscellaneous

- Added support for the OTLP HTTP exporter, enhancing observability and monitoring capabilities. [[35073](https://github.com/milvus-io/milvus/pull/35073), [#35299](https://github.com/milvus-io/milvus/pull/35299)]
- Enhanced database functionality by introducing properties such as "max collections" and "disk quota," which can now be dynamically modified. [[34511](https://github.com/milvus-io/milvus/pull/34511), [#34386](https://github.com/milvus-io/milvus/pull/34386)]
- Added tracing capabilities for L0 compaction processes within DataNode to improve diagnostics and monitoring. ([33898](https://github.com/milvus-io/milvus/pull/33898))
- Introduced quota configuration for the number of L0 segment entries per collection, enabling better control over deletion rates by applying backpressure. ([34837](https://github.com/milvus-io/milvus/pull/34837))
- Extended the rate-limiting mechanism for insert operations to also cover upsert operations, ensuring consistent performance under high load. ([34616](https://github.com/milvus-io/milvus/pull/34616))
- Implemented a dynamic CGO pool for proxy CGO calls, optimizing resource usage and performance. ([34842](https://github.com/milvus-io/milvus/pull/34842))
- Enabled the DiskAnn compile option for Ubuntu, Rocky, and Amazon operating systems, improving compatibility and performance on these platforms. ([34244](https://github.com/milvus-io/milvus/pull/34244))
- Upgraded Conan to version 1.64.1, ensuring compatibility with the latest features and improvements. ([35216](https://github.com/milvus-io/milvus/pull/35216))
- Updated Knowhere to version 2.3.7, bringing in performance enhancements and new features. ([34709](https://github.com/milvus-io/milvus/pull/34709))
- Fixed the revision of specific third-party packages to ensure consistent builds and reduce the risk of unexpected changes. ([35316](https://github.com/milvus-io/milvus/pull/35316))

2.4.8rc1

What's Changed
Support hybrid search

**Full Changelog**: https://github.com/milvus-io/milvus-lite/compare/v2.4.7...v2.4.8_rc1

2.4.7

What's Changed
* parser fix boolean expr and empty expr string bug by Presburger in https://github.com/milvus-io/milvus-lite/pull/150
* Fix query filter empty bug by junjiejiangjjj in https://github.com/milvus-io/milvus-lite/pull/151
* Fix bug when collection name is sql key words by junjiejiangjjj in https://github.com/milvus-io/milvus-lite/pull/160
* Improve the stability of milvus-lite


**Full Changelog**: https://github.com/milvus-io/milvus-lite/compare/v2.4.6...v2.4.7

2.4.6

Milvus v2.4.6 is a bug-fix release that addresses critical issues such as panics, memory leaks, and data loss during deletions. It also introduces several optimizations, including enhancements to monitoring metrics, upgrading the Go version to 1.21, and improving the user experience for RESTful count(*) queries.

Improvements

- Enhanced the user-friendliness of RESTful API queries ([34444](https://github.com/milvus-io/milvus/pull/34444)).
- Upgraded the Go version from 1.20 to 1.21 ([33940](https://github.com/milvus-io/milvus/pull/33940)).
- Optimized the histogram metric bucket for finer granularity in bucketing ([34592](https://github.com/milvus-io/milvus/pull/34592)).

Bug fixes

- Fixed an issue where the GetReplicas API returned a nil status ([34019](https://github.com/milvus-io/milvus/pull/34019)).
- Corrected a problem where queries could return deleted records ([34502](https://github.com/milvus-io/milvus/pull/34502)).
- Resolved an issue where IndexNode would get stuck during stopping due to incorrect lifetime control ([34559](https://github.com/milvus-io/milvus/pull/34559)).
- Fixed a memory leak of primary key oracle objects when a worker is offline ([34020](https://github.com/milvus-io/milvus/pull/34020)).
- Corrected ChannelManagerImplV2 to notify the correct Node, addressing parameter capture issues in loop closure ([34004](https://github.com/milvus-io/milvus/pull/34004)).
- Fixed a read-write data race in ImportTask segmentsInfo by implementing a deep copy ([34126](https://github.com/milvus-io/milvus/pull/34126)).
- Corrected version information for the "legacyVersionWithoutRPCWatch" configuration option to prevent errors during rolling upgrades ([34185](https://github.com/milvus-io/milvus/pull/34185)).
- Fixed the metric for the number of partitions loaded ([34195](https://github.com/milvus-io/milvus/pull/34195)).
- Passed the `otlpSecure` config when setting up segcore tracing ([34210](https://github.com/milvus-io/milvus/pull/34210)).
- Fixed an issue where DataCoord's properties were overwritten by mistake ([34240](https://github.com/milvus-io/milvus/pull/34240)).
- Resolved a data loss issue caused by erroneously merging two newly created message streams ([34563](https://github.com/milvus-io/milvus/pull/34563)).
- Fixed a panic caused by msgstream trying to consume an invalid pchannel ([34230](https://github.com/milvus-io/milvus/pull/34230)).
- Addressed an issue where imports could generate orphaned files ([34071](https://github.com/milvus-io/milvus/pull/34071)).
- Fixed incomplete query results due to duplicate primary keys in a segment ([34302](https://github.com/milvus-io/milvus/pull/34302)).
- Resolved an issue of missing sealed segments in L0 compaction ([34566](https://github.com/milvus-io/milvus/pull/34566)).
- Fixed the problem of dirty data in the channel-cp meta generated after garbage collection ([34609](https://github.com/milvus-io/milvus/pull/34609)).
- Corrected the metrics where database_num was 0 after restarting RootCoord ([34010](https://github.com/milvus-io/milvus/pull/34010)).
- Fixed a memory leak in SegmentManager in DataCoord by removing flushed segments generated through import ([34652](https://github.com/milvus-io/milvus/pull/34652)).
- Ensured compressBinlog to fill binlogs' logID after DataCoord restarts, ensuring proper reload from KV ([34064](https://github.com/milvus-io/milvus/pull/34064)).

2.4.5

The release of Milvus 2.4.5 introduces several improvements and bug fixes to enhance performance, stability, and functionality. Milvus 2.4.5 simplifies sparse, float16, and bfloat16 vector search with auto-indexing, speeds up searches, deletions, and compactions with Bloom filter optimizations, and tackles data management through faster loading times and import L0 segment support. It also introduces the sparse HNSW index for efficient high-dimensional sparse data search, enhances the RESTful API with sparse float vector support, and fixes critical bugs for better stability.

Improvements

- Added RBAC support to describe/alter database API ([33804](https://github.com/milvus-io/milvus/pull/33804)).
- Supported building the HNSW index for sparse vectors ([33653](https://github.com/milvus-io/milvus/pull/33653), [#33662](https://github.com/milvus-io/milvus/pull/33662)).
- Supported building the Disk index for binary vectors ([33575](https://github.com/milvus-io/milvus/pull/33575)).
- Supported sparse vector type on RESTful v2 ([33555](https://github.com/milvus-io/milvus/pull/33555)).
- Enabled flush rate limiter at the collection level ([33864](https://github.com/milvus-io/milvus/pull/33864)).
- Executed Bloom filter application in parallel to speed up segment prediction ([33793](https://github.com/milvus-io/milvus/pull/33793)).
- Used fastjson library for unmarshaling delete logs to speed up json.Unmarshal ([33802](https://github.com/milvus-io/milvus/pull/33802)).
- Used BatchPkExist to reduce Bloom filter function call cost ([33752](https://github.com/milvus-io/milvus/pull/33752)).
- Sped up the loading of small collections ([33746](https://github.com/milvus-io/milvus/pull/33746)).
- Supported importing delete data to L0 segment ([33712](https://github.com/milvus-io/milvus/pull/33712)).
- Skipped marking compaction tasks as timed out to avoid executing the same task repeatedly ([33833](https://github.com/milvus-io/milvus/pull/33833)).
- Handled float16 and bfloat16 vectors similarly to BinaryVector in numpy bulk insert ([33788](https://github.com/milvus-io/milvus/pull/33788)).
- Added the includeCurrentMsg flag for the seek method ([33743](https://github.com/milvus-io/milvus/pull/33743)).
- Added mergeInterval, targetBufSize, and maxTolerantLag of msgdispatcher to configurations ([33680](https://github.com/milvus-io/milvus/pull/33680)).
- Improved GetVectorByID for sparse vectors ([33652](https://github.com/milvus-io/milvus/pull/33652)).
- Removed StringPrimarykey to reduce unnecessary copy and function call costs ([33649](https://github.com/milvus-io/milvus/pull/33649)).
- Added autoindex mapping for binary/sparse data types ([33625](https://github.com/milvus-io/milvus/pull/33625)).
- Optimized some caches to reduce memory usage ([33560](https://github.com/milvus-io/milvus/pull/33560)).
- Abstracted execute interface for import/preimport tasks ([33607](https://github.com/milvus-io/milvus/pull/33607)).
- Used map PK to timestamp in buffer insert to reduce Bloom filter causes ([33582](https://github.com/milvus-io/milvus/pull/33582)).
- Avoided redundant meta operations during import ([33519](https://github.com/milvus-io/milvus/pull/33519)).
- Improved logs by logging better disk quota info, adding UseDefaultConsistency flag, and removing unnecessary logs ([33597](https://github.com/milvus-io/milvus/pull/33597), [#33644](https://github.com/milvus-io/milvus/pull/33644), [#33670](https://github.com/milvus-io/milvus/pull/33670)).

Bug fixes

- Fixed a bug that may cause Milvus to be unable to create AutoIndex on binary and sparse vectors ([33867](https://github.com/milvus-io/milvus/pull/33867)).
- Fixed a bug that may cause indexnode to retry creating index on invalid index parameters of all vectors ([33878](https://github.com/milvus-io/milvus/pull/33878)).
- Fixed a bug that may cause server crashes when loads and releases happen concurrently ([33699](https://github.com/milvus-io/milvus/pull/33699)).
- Improved cache consistency for configuration values ([33797](https://github.com/milvus-io/milvus/pull/33797)).
- Prevented possible data loss during deletion ([33821](https://github.com/milvus-io/milvus/pull/33821)).
- Ensured the DroppedAt field (likely deletion timestamp) is set after dropping collections ([33767](https://github.com/milvus-io/milvus/pull/33767)).
- Fixed an issue that might have caused Milvus to handle binary vector data sizes incorrectly ([33751](https://github.com/milvus-io/milvus/pull/33751)).
- Masked Kafka credentials from being printed in logs ([33747](https://github.com/milvus-io/milvus/pull/33747)).
- Prevented sensitive Kafka credentials from being logged in plain text ([33694](https://github.com/milvus-io/milvus/pull/33694)).
- Ensured Milvus can correctly import data with multiple vector fields ([33724](https://github.com/milvus-io/milvus/pull/33724)).
- Enhanced import reliability by checking if an import job exists before starting ([33673](https://github.com/milvus-io/milvus/pull/33673)).
- Improved handling of the sparse HNSW index (internal functionality) ([33714](https://github.com/milvus-io/milvus/pull/33714)).
- Cleaned vector memory to avoid memory leaks ([33708](https://github.com/milvus-io/milvus/pull/33708)).
- Ensured smoother asynchronous warmup by fixing a state lock issue ([33687](https://github.com/milvus-io/milvus/pull/33687)).
- Addressed a bug that might have caused missing results in query iterators ([33506](https://github.com/milvus-io/milvus/pull/33506)).
- Fixed a bug that might cause import segment size to be uneven ([33634](https://github.com/milvus-io/milvus/pull/33634)).
- Fixed incorrect data size handling for bf16, fp16, and binary vector types ([33488](https://github.com/milvus-io/milvus/pull/33488)).
- Improved stability by addressing potential issues with the L0 compactor ([33564](https://github.com/milvus-io/milvus/pull/33564)).
- Ensured dynamic configuration updates are reflected correctly in the cache ([33590](https://github.com/milvus-io/milvus/pull/33590)).
- Improved the accuracy of the RootCoordQuotaStates metric ([33601](https://github.com/milvus-io/milvus/pull/33601)).
- Ensured accurate reporting of the number of loaded entities in metrics ([33522](https://github.com/milvus-io/milvus/pull/33522)).
- Provided more complete information in exception logs ([33396](https://github.com/milvus-io/milvus/pull/33396)).
- Optimized query pipeline by removing unnecessary group checker ([33485](https://github.com/milvus-io/milvus/pull/33485)).
- Used the local storage path for a more accurate disk capacity check on the index node ([33505](https://github.com/milvus-io/milvus/pull/33505)).
- Corrected hasMoreResult to return false when hit number is larger than the limit ([33642](https://github.com/milvus-io/milvus/pull/33642)).
- Delayed loading Bloom filters in delegator to prevent them from being loaded repeatedly when the worker has no more memory ([33650](https://github.com/milvus-io/milvus/pull/33650)).

Page 2 of 16

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.