client/v2.6.5
n4ze3m/page-assistclient/v2.6.5May 26, 2026by congqixia
AI Summary
This release enhances the Go SDK by adding support for nullable vector columns and partial update helpers for Array fields. It includes validation improvements to prevent invalid schema changes and updates the SDK version and proto definitions.
Key Highlights
- Adds Go SDK support for nullable vector columns across dense, binary, and sparse types
- Adds Array field partial update helpers for ARRAY_APPEND and ARRAY_REMOVE
- Validates vector fields added to existing collections are nullable
- Bumps Go SDK version to 2.6.5 and proto to v2.6.17
New Features
- Nullable vector column constructors for Float, Binary, Float16, BFloat16, Int8, and Sparse vectors
- Nullable vector response decoding using ValidData
- Array partial update operations via WithArrayAppend, WithArrayRemove, and WithFieldPartialOp
Full Release Notes
### Highlights - Adds Go SDK support for nullable vector columns across dense, binary, sparse, and int8 vector types. - Adds Array field partial update helpers for `ARRAY_APPEND` and `ARRAY_REMOVE` in upsert requests. - Validates that vector fields added to existing collections are nullable before sending `AddCollectionField` requests. - Bumps the Go SDK version constant to `2.6.5` and updates `milvus-proto/go-api/v2` to `v2.6.17`. ### New Features - **Nullable vector columns**: Added nullable column constructors for vector fields: `NewNullableColumnFloatVector`, `NewNullableColumnBinaryVector`, `NewNullableColumnFloat16Vector`, `NewNullableColumnBFloat16Vector`, `NewNullableColumnInt8Vector`, and `NewNullableColumnSparseFloatVector`. These constructors accept compact non-null vector values plus `validData`, and validate that the values length matches the valid row count. (#49848) - **Nullable vector response decoding**: `FieldDataColumn` now decodes nullable vector field data using `ValidData` for `FloatVector`, `BinaryVector`, `Float16Vector`, `BFloat16Vector`, `SparseFloatVector`, and `Int8Vector`. Null rows are preserved in the returned column while compact wire-format vector payloads are expanded back to row-aligned columns. (#49848) - **Array partial update operations**: Added upsert helpers `WithArrayAppend(fieldName)`, `WithArrayRemove(fieldName)`, and `WithFieldPartialOp(fieldName, op)` for Array field partial updates. Non-`REPLACE` field ops are serialized into `UpsertRequest.FieldOps` and automatically enable `partial_update` for both column-based and row-based upserts. (#49328) ### Bug Fixes - **AddCollectionField vector validation**: `AddCollectionField` now validates options before sending the RPC and rejects vector fields added to existing collections unless the field is marked `nullable=true`, preventing invalid schema changes from reaching the server. (#49848) - **All-null sparse vector handling**: Sparse vector column serialization now handles empty value sets by emitting dimension `0`, allowing all-null nullable sparse vector columns to round-trip without panics or invalid dimension calculations. (#49848) - **Nullable column row counts**: Added `Column.ValidCount()` support so nullable columns can report the number of non-null rows separately from total row count. Struct-array columns return their total length. (#49848) ### Contributors - @marcelo-cjl - @weiliu1031