milvus version history
10 releases tracked, newest first.
v2.6.19
Jun 26, 2026- Improved text indexing, JSON handling, and GPU runtime compatibility
- Added RBAC role descriptions and improved error handling
- Fixed issues with WAL recovery, scalar expressions, and nullable fields
- Resolved bugs in group-by search, ArrayOfVector, and DataCoord GC
0 downloads
v2.6.18
Jun 5, 2026## v2.6.18
Release date: June 5, 2026
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
| -------------- | ------------------ | ------------------- | ---------------- | -------------- |
| 2.6.18 | 2.6.15 | 2.6.17 | 2.6.20 | 2.6.18 |
We are excited to announce the release of Milvus v2.6.18! This release adds element-level search on Struct fields and nullable vector support, improves QueryNode and QueryCoord scheduling and stability under heavy load, and brings HTTP/2 to the Proxy REST server. It also fixes numerous correctness and stability issues across import, schema evolution, indexing, compaction, and metadata handling.
### Features
#### Nullable vector
Vector fields can now be declared nullable, so you can insert entities whose embedding is missing or not yet generated without filling in a placeholder. NULL vectors take no extra storage and are skipped automatically during search. For more information, refer to [Nullable Fields](nullable-and-default.md).
#### Element-level search on Struct fields
You can now run vector search on Struct Array fields at the
4 downloads
client/v2.6.5
May 26, 2026### 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-
0 downloads
v2.6.17
May 22, 2026## v2.6.17
Release date: May 22, 2026
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
| -------------- | ------------------ | ------------------- | ---------------- | -------------- |
| 2.6.17 | 2.6.14 | 2.6.14 | 2.6.20 | 2.6.4 |
We are excited to announce the release of Milvus v2.6.17! This release introduces Array field partial update operators, improves load/search isolation, and resolves several stability and query routing issues.
### Improvements
- Added [`ARRAY_APPEND` and `ARRAY_REMOVE` partial update operators](upsert-entities.md#Upsert-ARRAY-fields-with-partial-update-operators) for Array fields, exposed through both gRPC and REST upsert APIs ([#49328](https://github.com/milvus-io/milvus/pull/49328), [#49724](https://github.com/milvus-io/milvus/pull/49724))
- Improved load/search isolation by using separate C++ executor pools and converting SegmentLoad and ReopenSegment to async futures with proper context cancellation ([#49764](https://github.com/milvus-io/milvus/pull/49764))
### Bug fixes
- Fixed an issue where filter expression templates could no
4 downloads
v2.6.16
May 14, 2026## v2.6.16
Release date: May 14, 2026
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
| -------------- | ------------------ | ------------------- | ---------------- | -------------- |
| 2.6.16 | 2.6.13 | 2.6.14 | 2.6.19 | 2.6.4 |
We are excited to announce the release of Milvus v2.6.16! This release delivers major stability and performance improvements across L0 compaction, streaming node resource isolation, and proxy query failover, along with critical fixes for delete consistency, replica scaling, and rolling upgrade scenarios.
### Improvements
- Increased the default L0 compaction deltalog max count from 30 to 1000 to reduce compaction backlog under high-delete workloads ([#47214](https://github.com/milvus-io/milvus/pull/47214), [#49122](https://github.com/milvus-io/milvus/pull/49122))
- Introduced streaming node resource group isolation, allowing replicas to be assigned strictly within their configured resource groups, plus a new RESTful config inspection endpoint ([#48632](https://github.com/milvus-io/milvus/pull/48632))
- Rewrote sync manager's key lock dis
0 downloads
v3.0-beta
Pre-releaseMay 9, 2026## v3.0-beta
Release date: May 9, 2026
| Milvus Version | Python SDK Version | Node.js SDK Version |
| -------------- | ------------------ | ------------------- |
| 3.0-beta | 3.0.0 | 3.0.0 |
Milvus 3.0-beta extends the Milvus vector database with new integration into the open lake ecosystem: External Collection lets Milvus query external lake tables zero-copy, and Spark can read Milvus collections directly through Snapshot. The release also brings richer retrieval, more expressive schema, deeper text search customization, finer data and model lifecycle controls, and more operator-side controls. Milvus 3.0 is the core kernel of Zilliz Lakebase, powering its unified serving, discovery, and batch.
### Key Features
#### External Collection
In typical AI data pipelines, terabytes of embeddings and metadata already sit on object storage as Parquet, Lance, or Iceberg tables. Copying that data into Milvus doubles storage cost, adds an ETL pipeline that has to be kept in sync, and shifts data governance away from the customer.
External Collection removes the copy. A Milvus Collection can reference files where they already live, and Mi
0 downloads
client/v2.6.4
May 8, 2026### 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 scal
0 downloads
v2.6.15
Apr 17, 2026## v2.6.15
Release date: April 24, 2026
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
| -------------- | ------------------ | ------------------- | ---------------- | -------------- |
| 2.6.15 | 2.6.12 | 2.6.13 | 2.6.18 | 2.6.3 |
We are excited to announce the release of Milvus v2.6.15! This release delivers meaningful performance and observability improvements across search, query, and storage paths, along with critical fixes for index correctness, RBAC backup/restore, and cross-version upgrade compatibility.
### Improvements
- Removed the unused SuffixSnapshot time-travel layer from RootCoord metadata storage, simplifying the catalog and eliminating orphaned snapshot keys ([#48638](https://github.com/milvus-io/milvus/pull/48638))
- Improved latency metrics precision by switching from milliseconds to microseconds, preserving sub-millisecond resolution for insert, delete, query, search, and upsert paths ([#48653](https://github.com/milvus-io/milvus/pull/48653))
- Separated metrics for internal upsert/delete requery operations from user-initiated queries, enabli
4 downloads
v2.6.14
Apr 7, 2026## v2.6.14
Release date: April 7, 2026
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
| -------------- | ------------------ | ------------------- | ---------------- | -------------- |
| 2.6.14 | 2.6.11 | 2.6.13 | 2.6.17 | 2.6.1 |
We are excited to announce the release of Milvus v2.6.14! This release focuses on stability and performance, delivering faster MixCoord recovery, optimized search and query filter performance, and over 20 bug fixes addressing crashes, OOM issues, and data correctness problems.
### Improvements
- Reduced MixCoord recovery time by parallelizing startup phases including sub-meta loading, index reload, and batch etcd operations ([47849](https://github.com/milvus-io/milvus/pull/47849))
- Replaced proto.Clone with shallow copy for query request fanout to reduce memory allocations and improve query performance ([48083](https://github.com/milvus-io/milvus/pull/48083))
- Upgraded Go to 1.25.8 to address CVE-2025-68121 (CRITICAL), CVE-2026-27142 (HIGH), and CVE-2026-25679 (HIGH) ([48287](https://github.com/milvus-io/milvus/pull/48287))
- Swi
4 downloads
client/v2.6.3
Mar 24, 2026### New Features
- **TruncateCollection API**: Added `TruncateCollection` method to the Go SDK client, allowing users to quickly remove all data from a collection without dropping and recreating it. Use `NewTruncateCollectionOption(collectionName)` to invoke. (#48361, #47308)
- **GetReplicateConfiguration API**: Added `GetReplicateConfiguration` API for viewing replication topology (with tokens redacted) and `force_promote` field to `UpdateReplicateConfigurationRequest`. Supports strong consistency via `WithFreshRead` option. (#47543)
- **Nullable Pointer Fields in Row-Based API**: Go pointer struct fields (`*string`, `*int32`, etc.) can now represent nullable columns in the row-based data path. A `nil` pointer maps to a NULL value in Milvus; a non-nil pointer dereferences to the actual value. This applies to `ParseSchema`, `AnyToColumns`, `SetField`, `fillData`, and `fillPKEntry`. (#48464)
- **Per-Cluster TLS Config for CDC**: Added `BuildTLSConfig` helper and `TLSConfig` field to `ClientConfig` for mTLS support. CDC `NewMilvusClient` can now read per-cluster TLS config by target cluster ID via `GetClusterTLSConfig(clusterID)`. (#48023)
### Bug Fixes
- **Timestam
0 downloads