Skip to content

Releases: milvus-io/pymilvus

PyMilvus v2.1.2 Release

09 Sep 10:15
0d4ccce

Choose a tag to compare

Fix some bugs

PyMilvus 2.1.1 Release Notes

12 Aug 11:51
1f707f9

Choose a tag to compare

PyMilvus 2.1.0 Release Notes

22 Jul 08:40
1477ce8

Choose a tag to compare

New Features

Load multiple memory replicas

collection.load(replica_number=2)

collection.get_replicas()

Support VARCHAR data type

  1. You can define VARCHAR field in schema, also VARCHAR field can be used as primary field:
FieldSchema(name="pk", dtype=DataType.VARCHAR, is_primary=True, auto_id=False, max_length=100)
  1. Just like other data type, you can insert string into VARCHAR field:
entities = [
    [str(i) for i in range(num_entities)],
]
insert_result = collection.insert(entities)
  1. You can also choose to build index for VARCHAR field, for now, the only supported index for string is Trie:
collection.create_index(field_name="pk", index_name="index_on_varchar")
  1. Just like other data type, scalar filtering expression on VARCHAR field is also supported, besides basic filters, prefix match is also supported. Please visist milvus.io for more detailed information.

  2. VARCHAR field as output fields is also supported when you are about to do a search or query:

res = collection.query(expr='pk > "str"', output_fields=["pk"])

Support to specify index name for index-related operations

Now, you can specify index name when you create index for field.

collection.create_index(field_name="field", index_name="index_name", index_params={})
collection.drop_index(index_name="index_name")

For backward compatibility, if you don't specify the index name, _default_idx will be used.

Support Basic Authentication

We add some APIs to support basic authentication:

  • create_credential
  • update_credential
  • delete_credential
  • list_cred_users

If there are any users in Milvus server, then the user and password are required to setup a connection:

connections.connect(host="host", port="port", user="user", password="password")

For more detailed information, please refer to mep27.

Support tls in RPC

Besides basic authentication, we also support to tls in RPC, you can setup a secure connection.

For one-way tls:

connections.connect(host=_HOST, port=_PORT, secure=True, server_pem_path="server.pem", server_name="localhost")

For two-way tls:

connections.connect(host=_HOST,
    port=_PORT,
    secure=True,
    client_pem_path="client.pem",
    client_key_path="client.key",
    ca_pem_path="ca.pem",
    server_name="localhost")

Enhancement

  1. Extend version range of grpcio and ujson
  2. Add milvus-proto as submodule
  3. Support full uri in connection
connections.connect(alias="test", uri="https://example.com:19530")

PyMilvus v2.0.2 Release

02 Apr 07:31
31e1594

Choose a tag to compare

Release date: 2022-04-02

Features:

  • Add support for numpy.ndarray for vector field (#937)

Fixed bugs:

  • Fix pymilvus unable to download on python3.8 (#931)
  • Fix loading progress output (#936)

Enhancements:

  • Remove load balance from doc (#929)
  • Fix readme bug (#934)
  • Fix create_partition doc string (#935)

PyMilvus v2.0.1 Release

23 Feb 08:17
65e22fe

Choose a tag to compare

Release date: 2022-02-23

Features:

  • Support secure gRPC channel for AWS (#894)

Fixed bugs:

  • Fix string consistency level not work (#896)
  • Fix partition unable to delete bug (#879)

Enhancements:

  • Speed up pack operation on float vector (#898)

PyMilvus v2.0.0 Release

25 Jan 10:42

Choose a tag to compare

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

PyMilvus v2.0.0rc9 Release

31 Dec 11:31
8ae48b8

Choose a tag to compare

Release date: 2021-12-31

Fixed bugs:

  • Fix hello milvus (#829)

  • Check parameters related to guarantee_timestamp (#826)

Enhancements:

  • Add a English version of contributing_cn.md (#849)
  • Add hellomilvus in jupyter notebook (#848)
  • Support guarantee_timestamp and travel_timestamp for query (#847)
  • Support configure the consistency level (#845)
  • Enable get git commit for a given version (#839)
  • Move aliases operations into utility (#841)
  • Add utility functions to make hybrid timestamp (#831)
  • Rewrite the example.py (#789)
  • Enhance pymilvus proto generating procedure (#806)
  • Enable delete function (#803)

# PyMilvus v2.0.0rc8 Release

01 Nov 10:52
c9f015a

Choose a tag to compare

Release date:2021-11-1

Fixed bugs:

  • Fix check_pass_param check for ndarray (#756)
  • Improve client.check (#743)
  • Fix check limit error (#760)
  • Fixed all buggy instances of exception raises doc (#792)

Enhancements:

  • Converting for loops to list comprehensions (#746)
  • Expose guarantee_timestamp of search api (ref: #666) (#753)
  • Add github issue forms (#742)
  • Add util to calculate timestamp (#759)
  • Make gt avaliable (#761)
  • Remove docs/draft file (#771)
  • Add travel_timestamp parameter to search method (#773)
  • Remove examples/connections.py (#776)
  • Add get_query_segment_info (#772)
  • Throw exception when delete with invalid partition name (#780)
  • Remove insert request hash values (#782)
  • Skip validation check when partition name is None (#783)
  • Get query segment info from specified collection (#785)
  • Return segment state when get query segment info (#786)
  • Update milvus_pb2.py after update milvus.proto (#787)
  • Add repr in connection record (#790)
  • Check the travel timestamp (#793)

PyMilvus v2.0.0rc7 Release

11 Oct 12:50
64a0a7b

Choose a tag to compare

Release date:2021-10-11

Fixed bugs:

  • Fix nightly-ci schedule (#711)
  • Fix #7613 (#713)

Enhancements:

  • Update SchemaNotReady exception msg when collection not exist (#706)
  • Support _async paramter for Load() interfance (#708)
  • Implement alias api (#720)
  • Change startup logic: wait enough time for server healthy (#730)
  • For search funtion adding a round_decimal paramter to precision control
  • Add str methods to orm searchresult and hits
  • For old style search function also adding a round decimal paramter
  • Rename search_with_expression to search

PyMilvus v2.0.0rc6 Release

10 Sep 12:12
13325a3

Choose a tag to compare

Release date:2021-09-10

Fixed bugs:

  • Fix Milvus init error (#695)
  • Make wait for healthy timeout controllable (#681)
  • Fix not runnable examples (#680)
  • Raise error if connect after closing connection (#678)
  • Change value of standalone deployment key to keep same as server. (#691)
  • Remove retry logic when drop collection with deadline error (#673)

Enhancements:

  • Remove check connect (#699)
  • Test existing collection (#692)