v2.6.3
Breaking Changes📦 milvusView on GitHub →
⚠ 1 breaking✨ 6 features🐛 1 fixes🔧 10 symbols
Summary
This release introduces major features including support for Array of Structs and Geometry data types, alongside manual L0 compaction control. A critical breaking change mandates JSON serialization for string data during insertion.
⚠️ Breaking Changes
- String values are now treated as JSON-serialized bytes when inserting data. If you were inserting plain strings into fields expecting JSON serialization (or implicitly handled as such), you must now explicitly use `json.dumps()` on the string before insertion. Example fix: `client.insert(..., data=[{"id": 1, "json_field": json.dumps("a")}]`)
Migration Steps
- If inserting string data into fields that are now treated as JSON-serialized bytes, update insertion logic to use `json.dumps()` on the string value.
- If using auto_id collections, ensure `allow_insert_auto_id: "true"` is set in collection properties if you intend to manually provide primary keys during insertion.
- Review documentation links for Array of Structs and Geometry data types for usage details.
✨ New Features
- Support for Array of Structs data type for complex nested data storage and querying.
- Introduction of the Geometry data type for querying and searching with geographic data.
- Ability to insert custom primary keys even when a collection has `auto_id=True`, provided `allow_insert_auto_id` is set to "true" in collection properties.
- Support for manually triggering L0 compaction to optimize storage and query performance via `client.compact(..., is_l0=True)`.
- Support for using a function scorer as a ranker in search operations.
- Support for the `UpdateReplicateConfiguration` API.
🐛 Bug Fixes
- Fixed an issue where `hybrid_search` failed to support `EmbeddingList` in request data.