Skip to content

milvus

Vector Databases

Milvus is a high-performance, cloud-native vector database built for scalable vector ANN search

Go Latest client/v2.6.5 · 8d ago Security brief →

Features

  • High‑performance vector database for AI workloads
  • Supports distributed, K8s‑native deployment and a lightweight standalone mode (Milvus Lite)
  • Handles hybrid search with metadata filtering on vectors and scalar data

Recent releases

View all 16 releases →
No immediate action
client/v2.6.5 New feature

Nullable vectors + Array updates + Validation

client/v2.6.4 New feature
Notable features
  • Struct‑array vector sub‑field column types (ColumnFloatVectorArray, ColumnBinaryVectorArray, etc.)
  • EmbeddingList search vector types for struct‑array fields with MAX_SIM support
  • WithStructArrayColumn helper for insert/upsert and gRPC authority configuration via ClientConfig.WithGrpcAuthority
Full changelog

Highlights

  • Completes Go SDK (client/v2) struct-array support, especially vector sub-fields and EmbeddingList/MAX_SIM search.
  • Fixes custom gRPC DialOptions so they no longer drop the SDK's default keepalive, backoff, and max receive message-size settings.

New Features

  • Struct-array vector sub-field columns: Added vector-array column types for struct-array vector sub-fields: ColumnFloatVectorArray, ColumnFloat16VectorArray, ColumnBFloat16VectorArray, ColumnBinaryVectorArray, and ColumnInt8VectorArray. These support ArrayOfVector sub-fields inside struct arrays. (#49164)

  • EmbeddingList search vector types: Added entity.FloatVectorArray, entity.Float16VectorArray, entity.BFloat16VectorArray, entity.BinaryVectorArray, and entity.Int8VectorArray, dispatching them to the matching PlaceholderType_EmbList* values. This enables MAX_SIM / EmbeddingList search against struct-array vector sub-fields such as clips[clip_emb]. (#49164)

  • Struct-array insert/upsert helper: Added WithStructArrayColumn(name, structSchema, rows) to column-based insert/upsert options. The helper accepts []map[string]any row data and infers scalar/vector sub-column types from the provided struct schema. (#49164)

  • gRPC authority configuration: Added ClientConfig.WithGrpcAuthority(authority) for proxy-based routing through the gRPC :authority header. (#49186)

Bug Fixes

  • Default gRPC dial options are preserved: Client.dialOptions() now always applies DefaultGrpcOpts before user-provided DialOptions, retaining SDK defaults for keepalive, backoff, and max receive message size while still allowing caller overrides. (#49186, issue #48828)

  • Struct-array schema validation: Added Schema.Validate() and StructSchema.Validate() and wired validation into CreateCollection. Invalid struct-array sub-fields are rejected before the RPC, including nested array/struct fields, sparse vector sub-fields, duplicate sub-field names, and top-level-only flags such as primary key, partition key, clustering key, nullable, default value, dynamic, and autoID. (#49164, issue #49163)

  • Struct-array schema round trip: Schema.ReadProto() now restores StructArrayFields, and ProtoMessage() preserves max_capacity by propagating the parent setting to sub-fields when needed. Array / ArrayOfVector wrappers from the server are unwrapped back to user-facing scalar/vector sub-field types. (#49164)

  • Struct-array write correctness: columnStructArray now enforces equal lengths across sub-fields, appends a row atomically with rollback on partial sub-field failure, and serializes top-level struct-array field data as DataType_ArrayOfStruct. (#49164)

  • Vector-array response decoding: Query/search result decoding now handles DataType_ArrayOfVector, validates nil vector rows, validates payload lengths against dimension/width, rejects invalid binary vector dimensions, and preserves vector-array sub-field data in Go column types. (#49164)

  • Builder error handling: WithStructArrayColumn stores construction errors and returns them from InsertRequest / UpsertRequest instead of panicking during chained builder calls. (#49164)

Contributors

  • @zhuwenxing
  • @liliu-z
  • @milanchovatiya-boop
client/v2.6.3 New feature
Security fixes
  • OpenTelemetry upgraded to v1.40.0 to fix CWE-426 (Untrusted Search Path) vulnerability
  • Go runtime upgraded to 1.24.12 to address security CVEs
Notable features
  • TruncateCollection API enabling rapid data removal
  • GetReplicateConfiguration API exposing replication topology
  • Nullable Go pointer fields allow NULL values in row data
v2.6.13 New feature
Notable features
  • Native support for Google Gemini text embedding models
  • Consistent KV path and key handling across storage backends
  • Go SDK now includes TruncateCollection for bulk collection cleanup
v2.6.12 Security relevant
Security fixes
  • Bumped OpenTelemetry to v1.40.0 to fix CWE-426 untrusted search path vulnerability
Notable features
  • GetReplicateConfiguration API for inspecting replication topology with redacted tokens
  • Configurable TLS minimum version for object storage connections across all backends
  • Automatic warmup for large tenant collections to reduce cold‑start query latency

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
44,608
Forks
4,037
Languages
Go Python C++

Install & Platforms

Install via
pip

Community & Support

Beta — feedback welcome: [email protected]