Skip to content
API Reference Zilliz Cloud Milvus Attu

Migration & Compatibility

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

Milvus versionNode SDK versionInstallation
v3.0.0+v3.0.0+ / latestyarn add @zilliz/milvus2-sdk-node@latest
v2.6.0+v2.6.xyarn add @zilliz/milvus2-sdk-node@2.6.9
v2.5.0+v2.5.xyarn add @zilliz/milvus2-sdk-node@2.5.12
v2.4.0+v2.4.9yarn add @zilliz/milvus2-sdk-node@2.4.9
v2.3.0+v2.3.5yarn add @zilliz/milvus2-sdk-node@2.3.5
v2.2.0+v2.3.5yarn 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.

AreaSDK surfaceDocs
External collectionsexternal_source, external_spec, do_physical_backfill, file_resource_ids, field-level external_field, refreshExternalCollection(), getRefreshExternalCollectionProgress(), listRefreshExternalCollectionJobs()Collection Management, Collection Operations
Collection snapshotscreateSnapshot(), dropSnapshot(), listSnapshots(), describeSnapshot(), restoreSnapshot(), getRestoreSnapshotState(), listRestoreSnapshotJobs(), pinSnapshotData(), unpinSnapshotData()Collection Management, Collection Operations
Partial array upsertupsert({ field_ops }), FieldPartialUpdateOpType.REPLACE, ARRAY_APPEND, ARRAY_REMOVEInsert & Update, Data Operations
Element-level result metadataQuery/search result offset; grouped search group_by_field_valuesQuery & Search, Data Operations
Schema and function managementaddCollectionField(), addCollectionFields(), addCollectionFunction(), alterCollectionFunction(), dropCollectionFunction()Collection Management, Collection 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
FeatureMilvus 2.2Milvus 2.3Milvus 2.4Milvus 2.5Milvus 2.6Milvus 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
  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