Change8

v2.6.3

Breaking Changes
📦 milvusView on GitHub →
1 breaking6 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

  1. 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.
  2. 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.
  3. 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.

Affected Symbols