Releases: milvus-io/pymilvus
PyMilvus 2.1.0 Release Notes
New Features
Load multiple memory replicas
collection.load(replica_number=2)
collection.get_replicas()
Support VARCHAR
data type
- You can define
VARCHAR
field in schema, alsoVARCHAR
field can be used as primary field:
FieldSchema(name="pk", dtype=DataType.VARCHAR, is_primary=True, auto_id=False, max_length=100)
- 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)
- You can also choose to build index for
VARCHAR
field, for now, the only supported index for string isTrie
:
collection.create_index(field_name="pk", index_name="index_on_varchar")
-
Just like other data type, scalar filtering expression on
VARCHAR
field is also supported, besides basic filters, prefix match is also supported. Please visistmilvus.io
for more detailed information. -
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
- Extend version range of grpcio and ujson
- Add milvus-proto as submodule
- Support full uri in connection
connections.connect(alias="test", uri="https://example.com:19530")
PyMilvus v2.0.2 Release
PyMilvus v2.0.1 Release
PyMilvus v2.0.0 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:
- Separate the 1.x APIs and the orm-styled APIs completely. Now you cannot get a
Milvus
object through the orm-styled APIs. - Mark
Milvus
class as deprecated. There'll be a warning every time you try to use 1.xMilvus
class on Milvus 2.0.0. 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
Release date: 2021-12-31
Fixed bugs:
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
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
Release date:2021-10-11
Fixed bugs:
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
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:
PyMilvus v2.0.0rc5 Release
Release date:2021-08-30
Fixed bugs:
- Remove publish release package github action (#632)
- Fix orm-style API cannot import problem (#633, #635, #637)
- Sync milvus.proto from milvus master branch (#644)
- Limit the grpc version in setup.py (#645)
- Improper error returned by calc_distance (#647, #648)
- calc_distance missed partition name (#650)
- calc_distance error message bug (#655)
- check calc_distance params (#656)
- Fix minor doc display error (#643)
- Fix metric error message inconsistent with input bug (#662)
- Set the timeout when building indexes (#664)
Enhancements:
PyMilvus v2.0.0rc4 Release
Release date:2021-08-16
Compatible with Milvus v2.x
Fixed bugs:
- Remove a mistake check in search future (#608)
- Fix the parameter timeout of load_collection API not working problem (#620)
- Fix the logic of retry for RPC calling (#622)
Enhancements:
- Add a check of parameter anns_field in search (#609)
- Add a check of parameter search_data in search (#610)
- Add a check of parameter output_fields in search (#613)
- Set the default metric of calc_distance API (#616)
- Provide more info when create index failed (#618)
- Support output binary vector in query API (#623)