发布

  • enhance: [3.0][GoSDK] prepare client v3 beta release (#51572)

    frostbyte_neo 发布于 2026-07-18 05:22:40 +00:00

    issue: #51419
    pr: #51420
    pr: #51539

    What changed

    • Decouple the Go client module from
      github.com/milvus-io/milvus/pkg/v3.

    • Move required error, retry, crypto, concurrency, property, and type
      helpers into the client module.

      • Remove server-only transitive dependencies.
      • Lower the standalone client module Go version to 1.24.9.
      • Migrate the Go client module path from:
        • github.com/milvus-io/milvus/client/v2
        • to github.com/milvus-io/milvus/client/v3
    • Update in-scope imports, module dependencies, tests, documentation,
      and internal consumers to use client v3.

      • Set the SDK version to the valid beta SemVer 3.0.0-beta.

      Why

      Prepare the standalone Go SDK v3 beta for the Milvus 3.0 release.

    The client no longer depends on the Milvus server-side pkg/v3 module,
    reducing its dependency graph and allowing it to be released
    independently.

    The module-path migration also ensures that Go users explicitly opt into
    the breaking v3 API through:

    github.com/milvus-io/milvus/client/v3
    
    The corresponding beta module tag will be:
    
    client/v3.0.0-beta
    
    ## Error compatibility
    
    The client-local RPC error implementation includes unit coverage for:
    
    - Modern and legacy Milvus error-code conversion
    - Retriable metadata
    - Input-error metadata
    - Error detail preservation
    - errors.Is matching by Milvus error code
    - Context cancellation and timeout codes
    
    ## Verification
    
    - [x] Client v3 full unit tests:
    
      cd client
      go test -tags dynamic,test -gcflags="all=-N -l" -count=1 ./...
    
    - [x] Root-module CDC client integration tests:
    
    go test -tags dynamic,test -gcflags="all=-N -l" -count=1
    ./internal/cdc/cluster
    
    - [x] Go client test support packages compiled and tested.
    - [x] Main and advanced Go client E2E test packages compile
    successfully.
    
    The E2E suites were compile-checked only; they were not executed against
    a running Milvus instance.
    
    ---------
    
    Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
    
    下载附件