Milvus

Latest version: v2.3.9

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

Scan your dependencies

Page 13 of 16

2.0.0rc2

Improvements

- Refactor cluster in dataservice (6356)
- Refactor meta in data coord (6300)
- Optimize code under storage (6335)
- Optimize stop process logic (6256)
- Add collectionID and partitionID into SegmentIndexInfo (6289)
- Clear proxy sarchStream when releaseCollection (6258)
- Fix travel timestamp and guarantee timestamp (6234)
- Merge retrieve and search code in query node (6227)
- Add candidate management for datacoord dn cluster (6196)
- Modified pulsar maxMessageSize with docker compose (6240)
- Add Building Milvus with Docker Docs (6188)
- Fix compile error on CentOS (6359)
- Fix comile on CentOS (6334)

Features

- Add minio FGet method (6386)
- Add GetFlushedSegments in data coordinator (6253)
- Add GetIndexStates (6213)
- Add time record for build index and search process (6231)

Bugfix

- Fix search accuracy decrease issue (6184)
- Fix the case that KNNG is not full (6308)
- Fix search hang after querynode restart (6212)
- Fix restart node logic (6265)

2.0.0rc1

Architecture

Milvus 2.0 is a cloud-native vector database with storage and computation separated by design. All components in this refactored version of Milvus are stateless to enhance elasticity and flexibility.

The system breaks down into four levels:

- Access layer
- Coordinator service
- Worker nodes
- Storage

**Access layer:** The front layer of the system and endpoint to users. It comprises peer proxies for forwarding requests and gathering results.

**Coordinator** **service:** The coordinator service assigns tasks to the worker nodes and functions as the system's brain. It has four coordinator types: root coord, data coord, query coord, and index coord.

**Worker nodes:** Worker nodes are dumb executors that follow the instructions from the coordinator service. There are three types of worker nodes, each responsible for a different job: data nodes, query nodes, and index nodes.

**Storage:** The cornerstone of the system that all other functions depend on. It has three storage types: meta storage, log broker, and object storage. Kudos to the open-source communities of etcd, Pulsar, MinIO, and RocksDB for building this fast, reliable storage.

> For more information about how the system works, see [Milvus 2.0 Architecture](https://milvus.io/docs/v2.0.0/architecture_overview.md).

New Features

**SDK**

- Object-relational mapping (ORM) PyMilvus

The PyMilvus-ORM APIs operate directly on collections, partitions, and indexes, helping users focus on the building of an effective data model rather than the detailed implementation.

**Core Features**

- Hybrid Search between scalar and vector data

Milvus 2.0 supports storing scalar data. Operators such as GREATER, LESS, EQUAL, NOT, IN, AND, and OR can be used to filter scalar data before a vector search is conducted. Current supported data types include bool, int8, int16, int32, int64, float, and double. Support for string/VARBINARY data will be offered in a later version.

- Match query

Unlike the search operation, which returns similar results, the match query operation returns exact matches. Match query can be used to retrieve vectors by ID or by condition.

- Tunable consistency

Distributed databases make tradeoffs between consistency and availbility/latency. Milvus offers four consistency levels (from strongest to weakest): strong, bounded staleness, session, and consistent prefix. You can define your own read consistency by specifying the read timestamp. As a rule of thumb, the weaker the consistency level, the higher the availability and the higher the performance.

- Time travel

Time travel allows you to access historical data at any point within a specified time period, making it possible to query data in the past, restore, and backup.

**Miscellaneous**

- Supports installing Milvus 2.0 with Helm or Docker-compose.

- Compatibility with Prometheus and Grafana for monitoring and alerts.

- Milvus Insight

Milvus Insight is a graphical management system for Milvus. It features visualization of cluster states, meta management, data queries and more. Milvus Insight will eventually be open sourced.

Breaking Changes

1.1.1

New Features

- [1434](https://github.com/milvus-io/milvus/issues/1434) Storage: enabling s3 storage support (implemented by Unisinsight).
- [5142](https://github.com/milvus-io/milvus/issues/5142) Support keeping index in GPU memory.


Improvements

- [5115](https://github.com/milvus-io/milvus/issues/5115) Relax the topk limit from 16384 to 1M for CPU search.
- [5204](https://github.com/milvus-io/milvus/issues/5204) Improve IVF query on GPU when no entity deleted.
- [5544](https://github.com/milvus-io/milvus/issues/5544) Relax the index_file_size limit from 4GB to 128Gb.

Fixed issues

- [4897](https://github.com/milvus-io/milvus/issues/4897) Query results contain some deleted ids.
- [5164](https://github.com/milvus-io/milvus/issues/5164) Exception should be raised if insert or delete entity on the none-existed partition.
- [5191](https://github.com/milvus-io/milvus/issues/5191) Mishards throw "index out of range" error after continually search/insert for a period of time.
- [5398](https://github.com/milvus-io/milvus/issues/5398) Random crash after request is executed.
- [5537](https://github.com/milvus-io/milvus/issues/5537) Failed to load bloom filter after suddenly power off.
- [5574](https://github.com/milvus-io/milvus/issues/5574) IVF_SQ8 and IVF_PQ cannot be built on multiple GPUs.
- [5747](https://github.com/milvus-io/milvus/issues/5747) Search with big nq and topk crash milvus.


Many thanks to shengjun1985 op-hunter cqy123456 matrixji yhmo del-zhenwu XuanYang-cn

1.1.0

New Features

- [4564](https://github.com/milvus-io/milvus/issues/4564) Supports specifying partition in a `get_entity_by_id()` method call.
- [4806](https://github.com/milvus-io/milvus/issues/4806) Supports specifying partition in a `delete_entity_by_id()` method call.
- [4905](https://github.com/milvus-io/milvus/issues/4905) Adds the `release_collection()` method, which unloads a specific collection from cache.

Improvements

- [4756](https://github.com/milvus-io/milvus/issues/4756) Improves the performance of the `get_entity_by_id()` method call.
- [4856](https://github.com/milvus-io/milvus/issues/4856) Upgrades hnswlib to v0.5.0.
- [4958](https://github.com/milvus-io/milvus/issues/4958) Improves the performance of IVF index training.

Fixed issues

- [4778](https://github.com/milvus-io/milvus/issues/4778) Fails to access vector index in Mishards.
- [4797](https://github.com/milvus-io/milvus/issues/4797) The system returns false results after merging search requests with different `topK` parameters.
- [4838](https://github.com/milvus-io/milvus/issues/4838) The server does not respond immediately to an index building request on an empty collection.
- [4858](https://github.com/milvus-io/milvus/issues/4858) For GPU-enabled Milvus, the system crashes on a search request with a large `topK` (> 2048).
- [4862](https://github.com/milvus-io/milvus/issues/4862) A read-only node merges segments during startup.
- [4894](https://github.com/milvus-io/milvus/issues/4894) The capacity of a Bloom filter does not equal to the row count of the segment it belongs to.
- [4908](https://github.com/milvus-io/milvus/issues/4908) The GPU cache is not cleaned up after a collection is dropped.
- [4933](https://github.com/milvus-io/milvus/issues/4933) It takes a long while for the system to build index for a small segment.
- [4952](https://github.com/milvus-io/milvus/issues/4952) Fails to set timezone as "UTC + 5:30".
- [5008](https://github.com/milvus-io/milvus/issues/5008) The system crashes randomly during continuous, concurrent delete, insert, and search operations.
- [5010](https://github.com/milvus-io/milvus/issues/5010) For GPU-enabled Milvus, query fails on IVF_PQ if `nbits` ≠ 8.
- [5050](https://github.com/milvus-io/milvus/issues/5050) `get_collection_stats()` returns false index type for segments still in the process of index building.
- [5063](https://github.com/milvus-io/milvus/issues/5063) The system crashes when an empty segment is flushed.
- [5078](https://github.com/milvus-io/milvus/issues/5078) For GPU-enabled Milvus, the system crashes when creating an IVF index on vectors of 2048, 4096, or 8192 dimensions.

Many thanks to BossZou shengjun1985 op-hunter matrixji yhmo ericsyh LocoRichard del-zhenwu XuanYang-cn fishpenguin

A special thank to Chris from yinxiang.com

1.0.0

New Features

- Supports writing log to stdout. [3977](https://github.com/milvus-io/milvus/issues/3977)

Improvements

- Reduces the package size of grpc-milvus for the C++ SDK. [4754](https://github.com/milvus-io/milvus/issues/4754)

Fixed issues

- Memory leaks during indexing or querying operations. [4749](https://github.com/milvus-io/milvus/issues/4749), [#4757](https://github.com/milvus-io/milvus/issues/4757), [#4765](https://github.com/milvus-io/milvus/issues/4765), [#4766](https://github.com/milvus-io/milvus/issues/4766)

0.10.6

Compatibility changes

- Adds an optional argument `nbits` to the `create_index(`) method for the IVF\_PQ index. [3920](https://github.com/milvus-io/milvus/issues/3920)

<div class="alert note">For more information about setting IVF_PQ parameters, see <a href="https://www.milvus.io/docs/index.md#CPU">Vector index</a>.</div>

Improvements

- Improves the FLAT search performance on binary vectors using the AVX2 instruction set.[1970](https://github.com/milvus-io/milvus/issues/1970)
- Adds an optional parameter `nbits` to the `create_index()` method for the IVF\_PQ index. [3920](https://github.com/milvus-io/milvus/issues/3920)
- Supports configuring Prometheus labels `cluster_label` and `instance_label` under `metric`.[4614](https://github.com/milvus-io/milvus/issues/4614)

Fixed issues

- The system returns a `-0` distance, if metric type is tanimoto.[4683](https://github.com/milvus-io/milvus/issues/4683)
- A FLAT search on binary vectors causes the server to crash, if the dimension of the vectors is not multiple of 2.[4678](https://github.com/milvus-io/milvus/issues/4678)
- The GPU cache holds more data than specified.[4719](https://github.com/milvus-io/milvus/issues/4719)

> See [CHANGELOG](https://github.com/milvus-io/milvus/blob/0.10.6/CHANGELOG.md) for more information.

Page 13 of 16

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.