Parent issue: #879
Scope
This is the first PR in the v3 roadmap. It lays the foundation for all subsequent PRs.
Changes
Module path v2 → v3, CLIENT_VERSION → Nacos-Go-Client:v3.0.0
Add dependency github.com/nacos-group/nacos-sdk-proto/go v1.0.0-beta.8
Implement PayloadCodec — centralized message type registry + protojson encode/decode, covering all 5 modules (common/config/naming/lock/ai, 73 message types)
Upgrade dependencies — Go 1.21→1.22, grpc v1.67.3→v1.71.2, protobuf v1.36.5→v1.36.4
Remove outdated dependency — alibaba-cloud-sdk-go v1 direct import removed, migrated KMS code to alibabacloud-dkms-gcs-go-sdk (移除那些过时的依赖比如github.com/aliyun/alibaba-cloud-sdk-go #871 )
Rewrite CI — 4-job pipeline: lint / unit-test (Go 1.22-1.24 matrix) / integration-grpc (Nacos 3.x Docker) / integration-nacos2 (Nacos 2.x Docker)
Dependency versions
Dependency
Old (v2)
New (v3)
Go
1.21
1.22
nacos-sdk-proto/go
—
v1.0.0-beta.8
google.golang.org/grpc
v1.67.3
v1.71.2
google.golang.org/protobuf
v1.36.5
v1.36.4
alibaba-cloud-sdk-go
v1.61.1800 (direct)
indirect only
New files
common/remote/codec/payload_codec.go
common/remote/codec/payload_codec_test.go
.github/workflows/ci.yml
Non-goals
Wiring PayloadCodec into existing gRPC layer (PR2)
Deleting old rpc_request/ and rpc_response/ packages (PR2)
Auth/Naming/Config bug fixes (PR3-5)
Known issues
alibaba-cloud-sdk-go remains as indirect dependency (pulled by aliyun-secretsmanager-client-go)
KMS dedicated encryption has a breaking change in ciphertext encoding format (v3 major version bump)
Related
Parent issue: #879
Scope
This is the first PR in the v3 roadmap. It lays the foundation for all subsequent PRs.
Changes
v2→v3,CLIENT_VERSION→Nacos-Go-Client:v3.0.0github.com/nacos-group/nacos-sdk-proto/gov1.0.0-beta.8PayloadCodec— centralized message type registry + protojson encode/decode, covering all 5 modules (common/config/naming/lock/ai, 73 message types)alibaba-cloud-sdk-go v1direct import removed, migrated KMS code toalibabacloud-dkms-gcs-go-sdk(移除那些过时的依赖比如github.com/aliyun/alibaba-cloud-sdk-go #871)Dependency versions
New files
common/remote/codec/payload_codec.gocommon/remote/codec/payload_codec_test.go.github/workflows/ci.ymlNon-goals
rpc_request/andrpc_response/packages (PR2)Known issues
alibaba-cloud-sdk-goremains as indirect dependency (pulled byaliyun-secretsmanager-client-go)Related