milvus-io/milvus
 Watch   
 Star   
 Fork   
9 days ago
milvus

client/v2.6.3

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

  • Timestamptz field type alignment: Fixed FieldTypeTimestamptz value from 15 to 26 to match the server. Changed Timestamptz data serialization from int64 (TimestamptzData) to ISO 8601 strings (RFC3339Nano format via StringData) as expected by the server. Added NewColumnTimestamptz (accepts []time.Time), ColumnTimestampTzIsoString (direct ISO string input), and their nullable counterparts. (#47328)

Improvements

  • OpenTelemetry upgrade to v1.40.0: Bumped go.opentelemetry.io/otel and related packages from v1.34.0 to v1.40.0 to fix CWE-426 (Untrusted Search Path) vulnerability. Also bumps transitive dependencies including auto/sdk v1.1.0→v1.2.1, go-logr v1.4.2→v1.4.3, and golang.org/x/sys v0.38.0→v0.40.0. (#48059)

  • Go version upgrade to 1.24.12: Upgraded Go from 1.24.11 to 1.24.12 for CVE fixes. (#47562)

  • Proto version bumps: Updated milvus-proto/go-api/v2 through v2.6.8 → v2.6.9 → v2.6.10 → v2.6.11 → v2.6.12 → v2.6.13 across this release cycle.

Dependencies

Dependency Previous Current
milvus-proto/go-api/v2 v2.6.7 v2.6.13
go.opentelemetry.io/otel v1.34.0 v1.40.0
go-logr v1.4.2 v1.4.3
golang.org/x/sys v0.38.0 v0.40.0
Go 1.24.11 1.24.12
13 days ago
milvus

milvus-2.6.13

v2.6.13

Release date: March 23, 2026

Milvus Version Python SDK Version Node.js SDK Version Java SDK Version Go SDK Version
2.6.13 2.6.10 2.6.11 2.6.16 2.6.1

Features

Gemini embedding model support (#48223)

Added Google Gemini as a built-in text embedding function. Users can now use Gemini embedding models directly in Milvus by configuring a Gemini API key, including the recently released Gemini Embedding 2.

For detailed usage, refer to Google Gemini.

Improvements

  • Unified KV path/key conventions across etcd, tikv, and catalog layers with consistent path joining (#48133)
  • Added query metrics for JSON-related filter expressions to improve observability of JSON field query performance (#48147)
  • Reduced transient memory allocations in BM25Stats deserialization by eliminating temporary slices (#48178)
  • Added TruncateCollection method to the Go SDK client for clearing all data in a collection without dropping it (#48361)

Bug fixes

  • Fixed an issue where search/query requests with strong consistency timed out during compaction due to tsafe advancement being blocked (#47987)
  • Fixed an issue where partial upsert with dynamic fields failed with the length of valid_data of field($meta) is wrong when the batch contained both existing and new rows (#48085)
  • Fixed TLS connection failures during internal proxy-to-proxy request forwarding (#48226)
  • Fixed query failures when using IN combined with != filter expressions that form tautologies (#48261)
  • Fixed high system load caused by mass concurrent client disconnections during HTTP request handling (#48270)
  • Fixed an issue where queries could become unavailable during replica scale-up/down due to non-deterministic node-to-replica assignment (#48277)
  • Fixed HTTP proxy crashes caused by concurrent write race condition in timeout middleware (#48296, #48317, #48356)
  • Fixed potential query node crash caused by assertion failure in delete record snapshot handling (#48302)
  • Fixed storage operation failures when using AK/SK authentication on Aliyun OSS (#48311)
  • Fixed degraded search performance caused by permanent parameter cache failure leading to goroutine contention on proxy hot paths (#48313, #48326)
  • Fixed QueryCoord deadlock during upgrades when hundreds of channels needed rebalancing by splitting the executor into separate channel and non-channel task pools (#48351)
  • Fixed an issue where search requests could timeout for 14+ minutes after WAL ownership changes due to unbounded message replay during scanner catchup (#48391)
23 days ago
milvus

milvus-2.6.12

Release note is coming soon...

2026-02-11 17:38:43
milvus

milvus-2.6.11

v2.6.11

Release date: February 12, 2026

Milvus Version Python SDK Version Node.js SDK Version Java SDK Version Go SDK Version
2.6.11 2.6.9 2.6.9 2.6.13 2.6.1

We are pleased to announce the release of Milvus 2.6.11! This update continues to enhance query performance and system stability with improvements to filtering execution, segment loading, and Storage V2 I/O pipelining. It also refines geo indexing, reduces memory usage in default-value chunks, and improves developer and build tooling through dependency and test-suite cleanups. This release further fixes several correctness issues across control-channel handling, index building, nullable-expression semantics, and WAL recovery workflows. We recommend all users on the 2.6 branch upgrade to this version for improved reliability and performance.

Features

  • Added a truncate API to remove collection data more efficiently (#47308)

Improvements

  • Used PreparedGeometry to improve geo index refinement performance (#47389)
  • Switched the OpenSSL dependency to shared linking (#47664)
  • Differentiated load priorities by scenario to improve scheduling behavior (#47594)
  • Upgraded Go to 1.24.12 and updated gpgv to address CVEs (#47562)
  • Reduced memory usage by enabling multi-cell DefaultValueChunk layout (#47166)
  • load-diff based segment loading patches to improve load efficiency (#47545)
  • Removed redundant bitset count operations during filter execution to reduce CPU overhead (#47546)
  • Added semantic highlighting support for dynamic fields (#47464)
  • Reduced unnecessary PinWrapper copies in searchPksWith to improve query performance (#47531)
  • Normalized constant-folded boolean expressions to AlwaysTrueExpr/AlwaysFalseExpr during rewriting for simpler plans (#47493)
  • Added RESTful search_by_pk support (#47318)
  • Optimized “latest delete snapshot” handling to reduce overhead (#47409)
  • Added support for user-specified warmup settings (#47343)
  • Added LoadWithStrategyAsync to enable true I/O pipelining in Storage V2 (#47427)
  • Optimized MixCoord's CPU and memory usage by avoiding redundant calculations in the balance checker (#47190)
  • Added sparse filtering support in search (#47447)
  • Reduced memory allocations and copies during data loading (#47088)

Bug fixes

  • Fixed an issue where collection metadata could contain an invalid database name (#47721)
  • Ensured exclusive control-channel messages acquire a global lock in the lock interceptor (#47678)
  • Fixed channel exclusive mode state loss and vchannel list handling issues (#47702)
  • Fixed index building to use the correct global offset for null_offset_ in BuildIndexFromFieldData (#47708)
  • Improved v2.5/v2.6 compatibility handling in SyncTargetVersion (QueryNode) (#47693)
  • Handled broadcastToAll messages on the control channel in recovery storage (#47640)
  • Added warmupKey to the CheckParams filter to make CreateIndex idempotent (#47607)
  • Corrected the default mmap value in code (#47490)
  • Populated LevelZeroSegmentIDs in GetDataVChanPositions (#47597)
  • Corrected null handling on NullExpr, ExistsExpr, and logical operators (#47519)
  • Removed segment_loader pre-reserve logic for warmup fields/indexes to avoid incorrect reservations (#47463)
  • Updated log_* macros to use {} placeholders to avoid treating error messages as format strings (#47485)
  • Fixed bloom filter memory leak when a worker node crashes (#47451)
  • Used actual data timestamps for imported segment positions (#47370)
  • Rebuilt WAL messages on each append retry to avoid panics (#47480)
  • Filled in the log and memory size fields in TextIndexStats metadata (#47476)
  • Reduced the empty timetick filtering interval to improve timetick handling (#47471)
2026-02-09 20:11:53
milvus

milvus-2.5.27

Release note is coming...

2026-01-30 10:11:51
milvus

milvus-2.6.10

v2.6.10

Release date: February 5, 2026

Milvus Version Python SDK Version Node.js SDK Version Java SDK Version Go SDK Version
2.6.10 2.6.8 2.6.9 2.6.13 2.6.1

We are pleased to announce the release of Milvus 2.6.10! This update strengthens security controls around KMS key revocation and improves search and storage performance through automatic FP32-to-FP16/BF16 conversion, optimized segment loading, and updated auto-index configurations. This release also fixes a number of stability issues across compaction, query pagination, and recovery workflows. We recommend all users on the 2.6 branch upgrade to this version for improved reliability and performance.

Improvements

  • Added support to stop WAL consumption when a KMS key is revoked (#47018)
  • Updated the default auto-index configuration for vector fields (#47388)
  • Disabled storage-version upgrade compaction by default (#47383)
  • Added automatic FP32-to-FP16/BF16 conversion in search (#47241)
  • Limited segment load concurrency by submitting loads to the load pool (#47335)
  • Added the map_populate flag for mmap to reduce page faults during access (#47317)
  • Persisted BM25 stats to disk during segment loading to reduce recomputation (#47232)
  • Added loading timeout and cancellation support for better control of long-running loads (#47223)
  • Allowed alter_collection_field() to update the field description (#47058)
  • Added a target manager to ReplicaObserver initialization (#47093)
  • Updated the Knowhere version for vector search improvements (#47109)
  • Added BM25 search_by_pk support (#47012)
  • Extracted assign policy from the balancer and added StoppingBalancer (#47138)
  • Prevented import jobs/tasks from rolling back state unexpectedly (#47102)
  • Improved slow logs by recording average cost per NQ (#47086)

Bug fixes

  • Fixed incorrect group results during pagination of grouped queries (#47248)
  • Added boundary validation for threadpool resize operations (#47367)
  • Improved error message handling when the error type is missing (#47369)
  • Prevented coredumps and improved diagnostics for PhyReScoresNode (#47341)
  • Reverted a compaction change related to “fast finish” when L0 compaction hits zero (L1/L2) (#47336)
  • Prevented server crashes on division/modulo by zero in filter expressions (#47306)
  • [Go SDK] Aligned timestamptz field type and data format with the server (#47328)
  • Added authentication to the metrics endpoint when authorization is enabled (#47278)
  • Updated milvus_proxy_req_count metrics for RESTful APIs (#47239)
  • Submitted TriggerTypeStorageVersionUpgrade compaction tasks correctly (#47234)
  • Allowed empty compaction results (#47153)
  • Fixed Azure precheck to use a fixed bucket not owned by Milvus (#47168)
  • Ignored L0 compaction during PreallocSegmentIDs checks (#47189)
  • Fixed compaction fast-finish behavior when L0 compaction hits zero (L1/L2) (#47187)
  • Removed unnecessary batching to reduce OOM risk (#47175)
  • Fixed deserialization handling for empty vector arrays (#47127)
  • Fixed runtime config updates not triggering watchers (#47161)
  • Unified primary-key handling logic between deletePreExecute and packDeleteMessage (#47147)
  • Used user-provided target size in compaction-related logic (#47115)
2026-01-22 15:09:31
milvus

milvus-2.5.26

Release note is coming soon.

2026-01-15 16:03:28
milvus

milvus-2.6.10

v2.6.9

Release date: January 16, 2026

Milvus Version Python SDK Version Node.js SDK Version Java SDK Version Go SDK Version
2.6.9 2.6.6 2.6.9 2.6.12 2.6.1

We are pleased to announce the release of Milvus 2.6.9! This update introduces highlight scores for search results, enhances segment management with support for reopening segments when data or schema changes occur, and improves storage version handling. Key improvements include better logging performance, enhanced security controls for expression endpoints, and optimizations for text analyzers and index building. This release also resolves critical issues including memory estimation accuracy, geometry data conversions, and various stability fixes. We recommend all users on the 2.6 branch upgrade to this version for improved system reliability and performance.

Features

  • Supported searching by primary keys (#46528)

Improvements

  • Added a storage version label metric for better observability (#47014)
  • QueryCoord now supports segment reopen when manifest path changes (#46921)
  • Added support for reopening segments when data or schema changes occur (#46412)
  • Improved slow log performance and efficiency (#47086)
  • Added storage version upgrade compaction policy to facilitate version migrations (#47011)
  • Eliminated extra memory copy operations for C++ logging to improve performance (#46992)
  • Added security controls for the /expr endpoint to prevent unauthorized access (#46978)
  • Streaming service now remains enabled until the required streaming node count is reached (#46982)
  • Removed redundant etcd put operations when updating segment information (#46794)
  • Improved row count validation and reduced misleading warning logs for sort compaction (#46824)
  • Cleaned up and organized build index log messages (#46769)
  • Limited the number of concurrent vector index builds per worker to prevent resource exhaustion (#46877)
  • Optimized jieba and lindera analyzer cloning operations for better performance (#46757)
  • Added glog sink to transfer CGO logs into zap logger for unified logging (#46741)
  • Enforced storage V2 format usage and deprecated V1 writes (#46889)
  • Implemented batch processing for ngram operations to improve efficiency (#46703)
  • Added automatic retry mechanism for binlog write operations to improve reliability (#46854)
  • Filtered empty timetick messages from the consuming side to reduce unnecessary processing (#46730)
  • Improved search by primary key with duplicate checking and automatic anns_field inference (#46745)
  • Added dimension parameter support for siliconflow and cohere embedding providers (#47081)

Bug fixes

  • Fixed double counting of index memory in segment loading estimation (#47046)
  • Fixed compilation issues on macOS 14 (#47048)
  • Used revision as streaming service discovery global version for better consistency (#47023)
  • Ensured all futures complete on exception to prevent use-after-free crashes (#46960)
  • Fixed shard interceptor incorrectly skipping FlushAllMsg operations (#47004)
  • Added valid range validation for collection TTL to prevent invalid configurations (#47010)
  • Fixed GetCredentialInfo not caching RPC responses (#46945)
  • Fixed issue where AlterFunction could not be invoked when multiple functions become invalid (#46986)
  • Fixed inverted index null offset file not being compacted (#46950)
  • Fixed crash when using is_null_expr on indexed JSON fields (#46894)
  • Added check for allow_insert_auto_id flag in RESTful v2 insert API (#46931)
  • Added field existence check in column groups before reading from loon manifest (#46924)
  • Fixed bug where the highlight parameter was not working correctly (#46876)
  • Quota center now ignores delegator when it is in recovering state (#46858)
  • Aligned WKT/WKB conversion options to ensure consistent behavior across operations (#46874)
  • Fixed voyageai model int8 bug (#46821)
  • Fixed missing handling of FlushAllMsg in recovery storage operations (#46803)
  • Fixed missing shardclientmgr field in querytask to prevent panic (#46838)
  • Used leaderid for leaderaction stale check in scheduler to improve accuracy (#46788)
  • Restored tenant/namespace support for Pulsar that was lost in 2.6 (#46759)
  • Added load config watcher to prevent load config modifications from being lost (#46786)
  • Fixed function edit interface bug (#46782)
  • Added collection TTL property validation to prevent compaction from getting stuck (#46736)
2026-01-07 17:15:25
milvus

milvus-2.5.25

Release note is coming...

2025-12-31 16:23:22
milvus

milvus-2.6.8

Release note is coming soon...