New features:
- Report cost in the dml and dql request by @SimFG in #2055
- feat: Support major compaction in ManualCompaction by @wayblink in #2015
- Support Milvus Lite by @junjiejiangjjj in #2073
- Enable set_properties and describe_database api by @weiliu1031 in #2082
- Allowing search iterator on sparse float vector field by @zhengbuqian in #2104
- Accept list of single row scipy.sparse object as input for insert/search by @zhengbuqian in #2111
- Support float16/bfloat16/sparse vector for bulkwriter by @yhmo in #2127
- Support group_size parameter for search_group_by by @MrPresent-Han in #2130
- Upsert support autoid by @smellthemoon in #2173
- Expose reduce_stop_for_best to users(#2181) by @MrPresent-Han in #2183
- Bulkinsert supports importing binlog by @yhmo in #2222
- Add page_retain_order param during search with offset by @PwzXxm in #2229
- Support load with Field Partial load by @congqixia in #2228
- Support null and default value by @smellthemoon in #2234
- Support the mmap_enable param in the field schema by @SimFG in #2238
- Add strict_group_size and rank_group_scorer for hybrid_search(#2253) by @MrPresent-Han in #2254
- Load configuration without altering the environment by @laipz8200 in #2192
- Update proto to get is_sorted field for GetQuerySegmentInfo by @xiaocai2333 in #2280
- Support mvcc and break-down-continue for iterator(#2278) by @MrPresent-Han in #2279
- Support new Function feature by @zhengbuqian in #2257
- Supports filling elements through templates for expression by @xiaocai2333 in #2317
- Add compact, get_server_version and flush api by @czs007 in #2326
Enhancements
- Upgrade the bulkWriter cloud API call from v1 to v2 by @lentitude2tk in #2245
- enhance: tidy dependencies in tests by @XuanYang-cn in #1996
- Update sparse+dense hybrid search example by @zhengbuqian in #2005
- Support UDS by @junjiejiangjjj in #2023
- enhance: Update hello_hybrid_sparse_dense.py example to include BGE reranker by @zhengbuqian in #2028
- enhance: add resource group declarative api by @chyezh in #2002
- enhance: Make bulk_writer's requirments optional by @XuanYang-cn in #2086
- Added grpc as a valid protocol for uri by @brunocfnba in #2090
- enhance: print search result more elegantly by @longjiquan in #2123
- enhance: Check PyMilvus on Windows platform by @XuanYang-cn in #2136
- Export indexed rows for describe_index by @xiaocai2333 in #2148
- Add database operations to MilvusClient by @ashkrisk in #2152
- enhance: enable setting properties during create database by @weiliu1031 in #2168
- enhance: hide zero values when printing by @SimFG in #2200
- enhance: use info level for retry message by @XuanYang-cn in #2212
- enhance: Make load parameter naming normal by @congqixia in #2243
- enhance: add bitmap index example by @zhagnlu in #2376
Bug fixes
- fix: Remove np.view for floatvector by @XuanYang-cn in #2048
- fix: pass offset parameter for hybrid search to server by @czs007 in #2051
- Change sparse related errors to ParamError by @zhengbuqian in #2066
- modified example_tls1.py through MilvusClient by @nish112022 in #2065
- remove scipy dependency for sparse while still supporting scipy sparse matrix by @zhengbuqian in #2074
- modified example_tls2.py through MilvusClient by @nish112022 in #2077
- fix sparse: accpet int/float wrapped in string by @zhengbuqian in #2094
- enhance: Expand grpcio version to latest by @XuanYang-cn in #2093
- fix the str function of the extra list by @SimFG in #2099
- fix: wrong expr handling due to and/or priorities(#2113) by @MrPresent-Han in #2114
- fix: use the existed index_name by @smellthemoon in #2107
- change the load status check interval to 0.2s by @SimFG in #2121
- Fix a bug of bulkwriter by @yhmo in #2133
- feat: disable installation of milvus-lite on windows platform (#2131) by @Raysilience in #2134
- enhance: update milvus-proto and correct index.drop() by @XuanYang-cn in #2142
- enhance: Update readme to the latest by @XuanYang-cn in #2146
- Refine the error message for type mismatches during data insertion by @xiaocai2333 in #2156
- fix: Coding style by latest ruff by @XuanYang-cn in #2159
- enhance: Remove the logic to set replica_number=1 by default by @weiliu1031 in #2163
- fix: Edit setuptools upper version for py380 by @XuanYang-cn in #2182
- Fix comment in iterator implementation by @ashkrisk in #2187
- Don't export rows info in index params by @xiaocai2333 in #2190
- fix: remove limitation clustering key can not be primary key by @wayblink in #2194
- fix: unclear error msg for varchar field by @XuanYang-cn in #2208
- Limit milvus-lite files to end with .db by @junjiejiangjjj in #2214
- fix: select a single column consisting of a list of column names by @smellthemoon in #2210
- Rename is_major to is_clustering by @wayblink in #2219
- fix: move page_retain_order to the same level as radius by @PwzXxm in #2249
- fix: not report error when setting default_value=None by @smellthemoon in #2251
- enhance: Bulkinsert support csv by @OxalisCu in #2247
- add hybrid_search for MilvusClient by @czs007 in #2258
- feat: support keyword text match by @longjiquan in #2256
- enhance: support print iterator info(#2261) by @MrPresent-Han in #2262
- fix: not put 'default_value' in dict by @smellthemoon in #2272
- fix not check None Type in json and support no need to pass in None when insert row by @smellthemoon in #2275
- remove analyzer_params, added enable_tokenizer and tokenizer_params by @zhengbuqian in #2273
- fix: upsert rows when set autoid==true fail by @smellthemoon in #2286
- feat: allow empty sparse row by @zhengbuqian in #2291
- fix: reset offset to zero after seek(#2292) by @MrPresent-Han in #2293
- fix: remove duplicate field name check in pymilvus by @zhengbuqian in #2294
- enhance: enable compatible for iterator(#2278) by @MrPresent-Han in #2297
- enhance: Enable bulkwriter to support import v2 by @bigsheeper in #2295
- fix: row based insert/upsert when there is Function in schema by @zhengbuqian in #2298
- Improve embedding retrieval performance by @yhmo in #2300
- fix: add BM25 to supported metric type of search iterator by @zhengbuqian in #2301
- fix: simplified the logic to check if the insert/request data matches the schema by @zhengbuqian in #2303
- fix: Passing messages to code in ParamError by @XuanYang-cn in #2304
- fix: Fix the f16 and bf16 dump error & add all type test for csv & csv supports null by @OxalisCu in #2281
- enhance: handling cp file for query iterator(#2306) by @MrPresent-Han in #2307
- enhance: handling abormal iterator cp file(#2306) by @MrPresent-Han in #2310
- fix: entity_is_sparse_matrix: each row should be dict or list by @zhengbuqian in #2309
- Fixed typo in comment of step 1 by @Armaggheddon in #2302
- fix: bulkwriter to skip function output fields by @zhengbuqian in #2319
- enhance: Rename tokenizer_params to analyzer_params by @aoiasd in #2323
- Corrected grammar and consistency in error messages by @Ahmetyasin in #2289
- modify strict_group_size parameter name(#2328) by @MrPresent-Han in #2329
- fix queryIterator question by @lentitude2tk in #2316
- enhance: Update the template expression proto to improve transmission efficiency by @xiaocai2333 in #2334
- Fix typo and correct grammar by @CaoHaiNam in #2333
- Update return type of describe_role to Dict (#2332) by @CaoHaiNam in #2337
- Add text embedding function by @junjiejiangjjj in #2335
- Use filter_params for milvus client by @xiaocai2333 in #2320
- enhance: Reorganize the examples by @XuanYang-cn in #2340
- enhance: RBAC Custom Privilege Group API by @shaoting-huang in #2342
- fix insert to avoid describe collection on every insert call by @zhengbuqian in #2347
- Remove unnecessary invoke of describe_collection() by @yhmo in #2345
- fix: Add upper limit for grpcio to 1.67.1 by @XuanYang-cn in #2359
- Correct grammar by @CaoHaiNam in #2365
- fix: cannot pass consistency level for delete by @XuanYang-cn in #2350
- Add default values to Pop to prevent exceptions by @czs007 in #2373
New Contributors
- @codingjaguar made their first contribution in #1995
- @nish112022 made their first contribution in #2065
- @brunocfnba made their first contribution in #2090
- @Raysilience made their first contribution in #2134
- @OxalisCu made their first contribution in #2247
- @laipz8200 made their first contribution in #2192
- @Armaggheddon made their first contribution in #2302
- @Ahmetyasin made their first contribution in #2289
- @CaoHaiNam made their first contribution in #2333
- @zhagnlu made their first contribution in #2376
Full Changelog: v2.4.0...v2.5.0