Skip to content
API ReferenceZilliz CloudMilvusAttu

Migration & Compatibility

This guide covers version compatibility, migration paths, and breaking changes.

Milvus version Node SDK version Installation
v3.0.0+ v3.0.0+ / latest yarn add @zilliz/milvus2-sdk-node@latest
v2.6.0+ v2.6.x yarn add @zilliz/milvus2-sdk-node@2.6.9
v2.5.0+ v2.5.x yarn add @zilliz/milvus2-sdk-node@2.5.12
v2.4.0+ v2.4.9 yarn add @zilliz/milvus2-sdk-node@2.4.9
v2.3.0+ v2.3.5 yarn add @zilliz/milvus2-sdk-node@2.3.5
v2.2.0+ v2.3.5 yarn add @zilliz/milvus2-sdk-node@2.3.5
  • Minimum: Node.js 18+
  • Recommended: Node.js 20+ (LTS)
import { MilvusClient } from '@zilliz/milvus2-sdk-node';
console.log('SDK Version:', MilvusClient.sdkInfo.version);
console.log('Recommended Milvus:', MilvusClient.sdkInfo.recommendMilvus);
// Use Milvus API to check server version
const info = await client.getMetric({
request: {
metric_type: 'system_info',
},
});
  1. Check Compatibility:

    • Verify your Milvus version supports the new SDK version
    • Review breaking changes in release notes
  2. Update Package:

Terminal window
yarn add @zilliz/milvus2-sdk-node@latest
# or specific version
yarn add @zilliz/milvus2-sdk-node@2.6.9
  1. Test Thoroughly:
    • Test all critical operations
    • Verify data integrity
    • Check performance
  1. Backup Data: Always backup before upgrading

  2. Check SDK Compatibility: Ensure SDK version supports new Milvus version

  3. Update Milvus: Follow Milvus upgrade guide

  4. Update SDK: Update SDK to compatible version

  5. Test: Verify all operations work correctly

The following SDK features require a Milvus 3.0 server. They are marked with the Milvus 3.0 tag in the relevant guides and API reference pages.

Area SDK surface Docs
External collections external_source, external_spec, do_physical_backfill, file_resource_ids, field-level external_field, refreshExternalCollection(), getRefreshExternalCollectionProgress(), listRefreshExternalCollectionJobs() Collection Management, Collection Operations
Collection snapshots createSnapshot(), dropSnapshot(), listSnapshots(), describeSnapshot(), restoreSnapshot(), getRestoreSnapshotState(), listRestoreSnapshotJobs(), pinSnapshotData(), unpinSnapshotData() Collection Management, Collection Operations
Advanced StructArray Struct child schemas, nullable rows, dynamic nullable fields, child-field indexes, element_filter, element-level query/search/iterator offsets Data Types & Schemas, Query & Search
Query aggregation group_by_fields, aggregation expressions count, min, max, sum, and avg in output_fields Query & Search, Data Operations
Search aggregation search_aggregation, bucket metrics, ordering, top hits, nested aggregation, typed agg_buckets Query & Search, Data Operations
Partial array upsert upsert({ field_ops }), FieldPartialUpdateOpType.REPLACE, ARRAY_APPEND, ARRAY_REMOVE Insert & Update, Data Operations
Element-level result metadata Query/search result offset; grouped search group_by_field_values Query & Search, Data Operations
Schema and function management addCollectionField(), addCollectionFields(), dropCollectionField(), alterCollectionSchema(), addFunctionField(), dropFunctionField() Collection Management, Collection Operations
MinHash function and index FunctionType.MINHASH, IndexType.MINHASH_LSH, MetricType.MHJACCARD, atomic function-field/index creation Collection Management, Index Management
Analyzer file resources addFileResource(), listFileResources(), removeFileResource() Full-Text Search, System Operations

Not all Milvus 3.0 proto additions are public Node SDK APIs yet. Client telemetry, WAL dump/data-salvage APIs, ComputePhraseMatchSlop, BatchUpdateManifest, and full molecular data helpers are currently proto-level/internal surfaces unless explicitly exposed in a later SDK release.

  • SDK 3.x targets the Milvus 3.0 proto line while keeping the public package name @zilliz/milvus2-sdk-node.
  • Milvus 3.0-only APIs require a Milvus 3.0 server; older servers may return unimplemented or unknown-field errors.
  • Legacy replicate/CDC proto fields are deprecated upstream. Avoid building new integrations on them.
  • Enhanced type safety
  • Improved error handling
  • New index types support
  • Updated connection pooling
  • Improved retry mechanisms
  • Enhanced logging
  • Schema validation improvements
  • Better error messages
  • Performance optimizations
Feature Milvus 2.2 Milvus 2.3 Milvus 2.4 Milvus 2.5 Milvus 2.6 Milvus 3.0
Basic CRUD
Index Types
Dynamic Schema
RBAC v2
Sparse Vectors
Float16/BFloat16
External Collections
Collection Snapshots
Partial Array Upsert
Element-Level Result Metadata
Advanced StructArray
Query Aggregation
Search Aggregation
Schema Field Drop
MinHash Function
Analyzer File Resources
  1. Upgrade Milvus to 3.0 following the Milvus server upgrade guide.
  2. Update the Node SDK:
Terminal window
yarn add @zilliz/milvus2-sdk-node@latest
  1. If you use new 3.0 APIs, ensure your deployment is actually connected to a Milvus 3.0 server.
  2. Test collection management, write paths, and query/search result parsing before production rollout.
  1. Update SDK:
Terminal window
yarn add @zilliz/milvus2-sdk-node@latest
  1. Update code (if needed):
    • Review API changes
    • Update deprecated methods
    • Test thoroughly
  1. Update SDK:
Terminal window
yarn add @zilliz/milvus2-sdk-node@latest
  1. Test new features:
    • Try new index types
    • Test performance improvements

Some methods may be deprecated in newer versions:

// Old method (deprecated)
client.alterCollection({
/* ... */
});
// New method
client.alterCollectionProperties({
/* ... */
});
  1. Check deprecation warnings
  2. Update to new methods
  3. Test functionality
  4. Remove old code
  1. Test in Development: Always test upgrades in development first

  2. Gradual Rollout: Roll out upgrades gradually in production

  3. Monitor: Monitor for errors after upgrade

  4. Rollback Plan: Have a rollback plan ready

  5. Documentation: Keep track of changes and configurations

If you encounter issues during migration:

  1. Check Troubleshooting
  2. Review GitHub Issues
  3. Consult Milvus Documentation