milvus-2.6.23
Release note is coming soon...
A vector database built for scalable similarity search.
| Jun | Jul | Aug | Sep | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sunday | No releases on May 24, 2026 | No releases on May 31, 2026 | No releases on Jun 7, 2026 | No releases on Jun 14, 2026 | No releases on Jun 21, 2026 | No releases on Jun 28, 2026 | No releases on Jul 5, 2026 | No releases on Jul 12, 2026 | 1 release on Jul 19, 2026 | No releases on Jul 26, 2026 | No releases on Aug 2, 2026 | No releases on Aug 9, 2026 | No releases on Aug 16, 2026 | No releases on Aug 23, 2026 | No releases on Aug 30, 2026 | No releases on Sep 6, 2026 |
| Monday | No releases on May 25, 2026 | No releases on Jun 1, 2026 | No releases on Jun 8, 2026 | No releases on Jun 15, 2026 | No releases on Jun 22, 2026 | No releases on Jun 29, 2026 | No releases on Jul 6, 2026 | No releases on Jul 13, 2026 | No releases on Jul 20, 2026 | No releases on Jul 27, 2026 | No releases on Aug 3, 2026 | No releases on Aug 10, 2026 | No releases on Aug 17, 2026 | No releases on Aug 24, 2026 | No releases on Aug 31, 2026 | No releases on Sep 7, 2026 |
| Tuesday | 1 release on May 26, 2026 | No releases on Jun 2, 2026 | No releases on Jun 9, 2026 | No releases on Jun 16, 2026 | No releases on Jun 23, 2026 | No releases on Jun 30, 2026 | No releases on Jul 7, 2026 | 1 release on Jul 14, 2026 | No releases on Jul 21, 2026 | No releases on Jul 28, 2026 | 1 release on Aug 4, 2026 | No releases on Aug 11, 2026 | No releases on Aug 18, 2026 | No releases on Aug 25, 2026 | No releases on Sep 1, 2026 | No releases on Sep 8, 2026 |
| Wednesday | No releases on May 27, 2026 | No releases on Jun 3, 2026 | No releases on Jun 10, 2026 | No releases on Jun 17, 2026 | No releases on Jun 24, 2026 | No releases on Jul 1, 2026 | No releases on Jul 8, 2026 | No releases on Jul 15, 2026 | No releases on Jul 22, 2026 | 1 release on Jul 29, 2026 | No releases on Aug 5, 2026 | No releases on Aug 12, 2026 | No releases on Aug 19, 2026 | No releases on Aug 26, 2026 | No releases on Sep 2, 2026 | |
| Thursday | No releases on May 28, 2026 | No releases on Jun 4, 2026 | No releases on Jun 11, 2026 | No releases on Jun 18, 2026 | No releases on Jun 25, 2026 | No releases on Jul 2, 2026 | No releases on Jul 9, 2026 | No releases on Jul 16, 2026 | No releases on Jul 23, 2026 | No releases on Jul 30, 2026 | No releases on Aug 6, 2026 | No releases on Aug 13, 2026 | No releases on Aug 20, 2026 | No releases on Aug 27, 2026 | No releases on Sep 3, 2026 | |
| Friday | No releases on May 29, 2026 | 1 release on Jun 5, 2026 | No releases on Jun 12, 2026 | No releases on Jun 19, 2026 | 1 release on Jun 26, 2026 | No releases on Jul 3, 2026 | No releases on Jul 10, 2026 | No releases on Jul 17, 2026 | 1 release on Jul 24, 2026 | No releases on Jul 31, 2026 | No releases on Aug 7, 2026 | No releases on Aug 14, 2026 | No releases on Aug 21, 2026 | 1 release on Aug 28, 2026 | No releases on Sep 4, 2026 | |
| Saturday | No releases on May 30, 2026 | No releases on Jun 6, 2026 | No releases on Jun 13, 2026 | No releases on Jun 20, 2026 | No releases on Jun 27, 2026 | No releases on Jul 4, 2026 | No releases on Jul 11, 2026 | No releases on Jul 18, 2026 | No releases on Jul 25, 2026 | No releases on Aug 1, 2026 | No releases on Aug 8, 2026 | No releases on Aug 15, 2026 | No releases on Aug 22, 2026 | No releases on Aug 29, 2026 | No releases on Sep 5, 2026 |
11 releases since May 14, 2026
Release note is coming soon...
From Milvus
Release date: August 4, 2026
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
|---|---|---|---|---|
| 2.6.22 | 2.6.17 | 2.6.17 | 2.6.22 | 2.6.22 |
We are excited to announce the release of Milvus v2.6.22! This release improves QueryNode efficiency, coordinator reliability, storage compaction, and GIS query performance. It also fixes GIS and JSON query accuracy issues, encrypted-storage access failures, and monitoring compatibility regressions.
From Milvus
Release date: July 29, 2026
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
|---|---|---|---|---|
| 3.0.0 | 3.0.1 | 3.0.3 | 3.0.5 | 3.0.0 |
Milvus 3.0.0 is officially released! Building on the lake-native architecture introduced in 3.0-beta, this release completes what the beta started: External Collection covers more lakehouse workflows; schema supports online add / backfill / drop; the sparse index is rebuilt around SINDI; StructArray and faceted search round out the retrieval engine; FAISS passthrough, and TEXT extend index and modality choices; and Woodpecker runs as a standalone service.
If you are new to the 3.0 line, the Core 3.0 features recall section below summarizes the capabilities introduced in 3.0-beta; the 3.0-beta release notes have the full write-ups.
3.0-beta introduced External Collection: reference lake files in place, build indexes, and search them without copying data into Milvus. This release extends it toward complete lakehouse retrieval workflows. External fields can now feed function output fields such as BM25 sparse vectors, MinHash signatures, and text embeddings, so text and model-derived retrieval fields are built inside Milvus without copying the source table. Refresh also supports additive schema evolution: when the external table gains new columns, Milvus patches the affected segments instead of rebuilding the collection.
This release also adds a milvus-table external format that treats Milvus Snapshot metadata and Storage V3 manifests as an external source, so a collection snapshot can itself be served as an external table — batch and serving systems get a shared, manifest-backed view of the same data.
For more information, refer to Create an External Collection and Snapshots.
Schemas do not stay static in production — embedding models get replaced, features iterate, fields get deprecated — and these used to mean full-collection rebuilds with downtime or double-writes. 3.0.0 closes the loop: columns can be added, filled, and dropped while serving continues.
Backfill works in both directions. External backfill handles values computed outside Milvus: add a column, snapshot the collection as a consistent starting point, run the job offline, write the values back, and Milvus indexes the new column incrementally — an embedding-model upgrade across hundreds of millions of rows becomes a hot path with no downtime. Inner backfill covers kernel-derived values: attach a BM25 or MinHash function to an existing collection and its output field is computed over existing data automatically.
For more information, refer to Add Fields to an Existing Collection.
Milvus 3.0 upgrades the sparse vector index across the board. It introduces new search algorithms — SINDI, Block-Max WAND, and Block-Max MaxScore — along with inverted-list compression, configurable quantization, and per-workload search-algorithm selection. mmap loading, serialization, and BM25 scoring are also optimized, cutting index storage and loading overhead for large-scale sparse vector and full-text search. In internal benchmarks, the compressed BM25 index is roughly 3x smaller than the 2.6 sparse index at comparable recall, and SINDI reaches up to about 10x the QPS of MaxScore on learned sparse embeddings. Once the new index version is enabled (see Compatibility and behavior notes), SINDI is the default for sparse IP search, and MaxScore is the default for BM25.
StructArray now supports null values, bitmap indexes, dynamic field addition on live collections, and partial update of struct fields through upsert, with REST and bulk-import coverage to match.
Element-level search adds hybrid search across vector sub-fields with configurable per-entity collapse (max / sum / avg / top-k variants), plus range search and group-by within it. Nested filtering covers element_filter predicates, the MATCH_ANY / MATCH_ALL / MATCH_LEAST / MATCH_MOST / MATCH_EXACT quantifiers, positional sub-field access such as tags[0][name], and array_length() on the struct column.
For more information, refer to StructArray and StructArray Operators.
Query Aggregation from the beta computes exact statistics over filtered data; 3.0.0 adds faceting on the search path. Specify a facet field at search time and Milvus returns the top facet values, each represented by its best-matching member in ANN ranking and annotated with aggregates such as COUNT and AVG — the faceted-search sidebar (brand, price range, attributes) in one request, instead of over-fetching and counting client-side.
Reranking is now composable through the Function Chain API, which executes an ordered, typed pipeline as part of a single search request. A chain can combine early L0 rescoring on QueryNode with L2 post-reduction reranking on Proxy, supporting score transformation and combination, model-based reranking, sorting, and candidate trimming without client-side orchestration. This release also adds native XGBoost scoring for L0 reranking using UBJ models registered as FileResources, along with Hugging Face Inference Providers for server-managed text embedding and sentence-similarity reranking.
TEXT fields make long text first-class, with storage-side length limits removed: they support text_match, phrase_match, and BM25. Values under 64 KB stay inline; larger values go to partition-level LOB files in Vortex format, with the column storing only (file_id, offset) references. LOB files are shared across segments, so compaction moves references instead of rewriting text. For RAG this means retrieving vectors and source text from the same store in one IO — no external blob store to operate.
A new FAISS index type accepts arbitrary Faiss index-factory strings through the faiss_index_name parameter — IVF64,Flat, HNSW16,Flat, OPQ16,IVF64,PQ16x4 — with search parameters passed through, so Faiss recipes reproduce directly on Milvus.
The storage layer gains two open columnar formats: Vortex as the next-generation internal format — adaptive encodings (dictionary, RLE, bit-packing, float-specific compression), zero-copy decompression, optimized for mixed vector + scalar workloads — and Lance alongside Parquet for open-ecosystem interchange. Vortex is set to become the default internal format, with filter pushdown and a local variant on the roadmap.
Woodpecker, the WAL at the core of the streaming write path, can now be deployed as an independent service instead of embedded in other nodes — independent scaling, fault isolation, and observability, like any other microservice. This matters most for large clusters and high-write workloads.
The features below were introduced in 3.0-beta and are part of 3.0.0; see the beta notes for the full write-ups.
MINHASH_LSH for near-duplicate detection.common.storage.useLoonFFI. Storage V3 will be enabled by default in a later release.dataCoord.targetVecIndexVersion to 10, dataCoord.targetScalarIndexVersion to 4) before they take effect; a later release will enable them by default.From Milvus
Release date: July 28, 2026
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
|---|---|---|---|---|
| 2.6.21 | 2.6.17 | 2.6.17 | 2.6.22 | 2.6.21 |
We are excited to announce the release of Milvus v2.6.21! This release improves task scheduling, concurrent future registration, and policy listing efficiency. It also strengthens query readiness, WAL switching, index reconstruction, compaction resilience, and GPU CAGRA search correctness.
group_by_fields search parameters were silently ignored, allowing unsupported BinaryVector group-by searches to return ordinary top-k results (#51159)From Milvus
This is the first beta release of the Milvus Go SDK v3, targeting Milvus 3.0. It is compared against client/v2.6.5.
This is a beta release. APIs and protocol details may change before v3.0.0 GA.
Module path: Update all imports from:
github.com/milvus-io/milvus/client/v2
to:
github.com/milvus-io/milvus/client/v3
Proto types: Applications directly using generated Milvus messages must migrate from milvus-proto/go-api/v2 to milvus-proto/go-api/v3. Although many high-level builders retain familiar APIs, v2 and v3 protobuf types are not interchangeable.
Installation:
go get github.com/milvus-io/milvus/client/v3@v3.0.0-beta
Go version: The module’s go directive is Go 1.24.9. The client README recommends Go 1.24.12 or later.
Telemetry behavior: Client telemetry is enabled by default. Set ClientConfig.TelemetryConfig.Enabled to false to disable heartbeat and metrics reporting.
Collection snapshots: Added APIs to create, drop, list, and describe collection-scoped snapshots. Snapshots can be restored asynchronously to new collections, with APIs for querying and listing restore jobs. Snapshot data can also be pinned and unpinned to control garbage collection. (#44361, #48143)
External collections: Added schema builders for external data sources and external-field mappings:
External collections can be searched and queried using standard client APIs and refreshed through RefreshExternalCollection, GetRefreshExternalCollectionProgress, and ListRefreshExternalCollectionJobs. (#46886, #47492, #49531)
Search aggregation: Added bucket aggregation builders supporting multi-field keys, nested aggregations, top hits, ordering, and avg, sum, count, min, and max metrics. Results are returned through ResultSet.AggregationBuckets. (#50448)
Search by primary-key IDs: Added NewSearchByIDsOption and AnnRequest.WithIDs for using existing entities as vector-search inputs. Int64 and VarChar primary keys are supported. (#47633)
Namespace-scoped operations: Added WithNamespace support to Search, Hybrid Search, Query, iterators, Insert, Upsert, and Delete options. (#50153)
Query ordering: Added QueryOption.WithOrderByFields, accepting expressions such as price:desc and name:asc. An explicit query limit is required when ordering is used. (#51173, #51220)
Client telemetry: Added configurable collection of request counts, errors, and latency metrics, including P99 latency, recent-error tracking, periodic server heartbeats, and server- pushed command handling. (#47523, #47542)
Structured RPC errors: Added public RPCError, common error sentinels, ErrorCode, and IsRetryableError. RPC errors with matching Milvus codes can now be inspected using errors.Is.
Dynamic StructArray fields: Added Client.AddCollectionStructField and NewAddCollectionStructFieldOption, including validation and preservation of parent nullable and max_capacity metadata. (#50276)
RBAC descriptions: Added user and role descriptions, role-description updates through AlterRole, and force-drop support for roles. (#50184, #50186, #47071)
Import two-phase commit: Added REST wrappers for committing or aborting bulk-import jobs through CommitImport and AbortImport. (#50177)
Message salvage API: Added the high-level Client.DumpMessages streaming wrapper for replication and recovery workflows. (#50343, #50574)
MinHash: Added FunctionTypeMinHash support to the Go SDK function API. (#45322)
From Milvus
Release date: July 14, 2026
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
|---|---|---|---|---|
| 2.6.20 | 2.6.16 | 2.6.17 | 2.6.22 | 2.6.20 |
We are excited to announce the release of Milvus v2.6.20! This release improves query scheduling and batching, index loading, filtering performance, streaming rebalancing, and observability. It also resolves correctness and reliability issues across JSON filtering, streaming recovery, text indexing, analyzer configuration, and GPU_CAGRA operations.
From Milvus
Release date: July 1, 2026
| Milvus Version | Python SDK Version | Node.js SDK Version | Java SDK Version | Go SDK Version |
|---|---|---|---|---|
| 2.6.19 | 2.6.16 | 2.6.17 | 2.6.22 | 2.6.19 |
We are excited to announce the release of Milvus v2.6.19! This release improves text indexing, JSON handling, GPU runtime compatibility, RBAC metadata, and search result serialization. It also fixes correctness and stability issues across WAL recovery, scalar expressions, nullable fields, ArrayOfVector, group-by search, and DataCoord GC.
From Milvus
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.
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.
You can now run vector search on Struct Array fields at the granularity of individual elements instead of the whole row, with each result reporting the matched element's offset within the array. This lets a query retrieve the specific element that best matches rather than scoring the row as a whole. For more information, refer to Vector search in a StructArray field.
From Milvus
ARRAY_APPEND and ARRAY_REMOVE in upsert requests.AddCollectionField requests.2.6.5 and updates milvus-proto/go-api/v2 to v2.6.17.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)
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)
From Milvus
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.
ARRAY_APPEND and ARRAY_REMOVE partial update operators for Array fields, exposed through both gRPC and REST upsert APIs (#49328, #49724)From Milvus
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.
$partial_update field to the proxy access log for Upsert requests, exposing both explicit and implicitly promoted partial-update flags (#49361)TermExpr IN evaluation with a SIMD (AVX2/AVX512) batch filter, significantly improving query performance for IN predicates (#49427)not (field in {vals})) returned wrong results or triggered QueryNode assertion failures (#49184)The distributed search and analytics engine.
In-memory data store used as a database, cache, and message broker.
The open-source Firebase alternative.
An open-source Airtable alternative that turns any database into a smart spreadsheet.
DBeaver release notes.
A single-file backend with an embedded database, auth and file storage.
If you publish Milvus, you can claim this product by proving you administer its repository.