Skip to content

PyMilvus v2.0.0 Release

Compare
Choose a tag to compare
@XuanYang-cn XuanYang-cn released this 25 Jan 10:42
· 595 commits to master since this release

PyMilvus 2.0.0 Release Notes

Along with Milvus 2.0.0, we are so glad to announce the release of PyMilvus 2.0.0.

From this version, PyMilvus's releases will no longer follow the release of Milvus. We'll focus on improving the codes quality and ease-of-use, and of course, support for new features from Milvus.

As for PyMilvus 2.0.0, there are some exciting news we want to share with you.

A. 1.x APIs (for Milvus 1.x) and orm-styled APIs (for Milvus 2.x) are finally physically separated.

For the convenience of the Milvus 1.x users, we had reserved PyMilvus 1.x APIs within all release-candidates versions of PyMilvus. Now it's time to say goodbye to those 1.x APIs if you're using Milvus 2.0.0.

Note: 1.x APIs means the usage of Milvus() class.

Here's why:

  • 1.x APIs won't be supported for Milvus 2.0.0 in long term.
  • No documentations were provided concerning 1.x API usage on Milvus 2.0.0.

The mixed usage of the 1.x APIs and the orm-styled APIs is not recommended, but you still can use 1.x APIs for Milvus 2.0.0 in PyMilvus2.0.0.

Here's what we've done to avoid the mixed usage:

  1. Separate the 1.x APIs and the orm-styled APIs completely. Now you cannot get a Milvus object through the orm-styled APIs.
  2. Mark Milvus class as deprecated. There'll be a warning every time you try to use 1.x Milvus class on Milvus 2.0.0.
  3. Flush in Milvus 2.0.0 refers to a completely different method. Whereas reads and writes are completely separated in Milvus 2.0.0, you don't need to flush to make the entity searchable by query node. Instead, consistency level is what you need to worry about.

If you encounter any problems while upgrading PyMilvus to 2.0.0, don't worry, it's just a few steps away, and we're always here to help. Here're some tips:

  • If you want to use the 1.x APIs on Milvus 2.0.0, just init Milvus() class and you are good to go.

Note: There is no documentation elaborating the usage of the 1.x APIs on Milvus 2.0.0, and we're planning to remove these APIs in the next release of PyMilvus.

  • If you're unaware of the mixed usage of these two sets of APIs, please refer to Milvus.io or examples/hello_milvus.py in PyMilvus GitHub repository for the correct usages.
  • If you want to use any of the 1.x APIs that is unavailable in orm-styled APIs, let us know. We'll be happy to support it in future releases.

B. Support delete

C. Consistency level