Protocol support changes for AWS service clients
AWS SDKs handle the wire protocols used to serialize requests and deserialize responses when communicating with AWS services. If your SDK client supports the change, your application automatically uses the updated protocol without code changes. A protocol support change does not change the modeled service API. However, applications and infrastructure that depend on a specific wire representation might require testing or updates.
Service clients with protocol support changes
The following tables identify AWS service clients whose protocol support changes are in preview or released. A service's presence in a table does not mean that every AWS SDK or service-client version includes the change. Before you update, review the applicable SDK release notes and service-specific documentation for supported SDKs, versions, protocols, and AWS Regions.
Smithy RPC v2 CBOR is a remote procedure call (RPC) protocol. It uses Concise Binary Object Representation (CBOR) encoding. AWS JSON 1.0 and AWS JSON 1.1 are AWS service protocols. They use JSON encoding.
Preview support is for testing and evaluation only. Do not use it for production workloads. Follow the preview documentation and terms associated with the listed service. Released support is available for production use beginning with the SDK and service-client versions identified in the applicable SDK release notes.
Preview clients
The following table identifies AWS service clients with protocol support changes that are in preview. The Change column compares Smithy RPC v2 CBOR with the applicable AWS JSON protocol.
| Services | Change | AWS CLI v2 | C++ | Go v2 | Java v2 | JavaScript v3 | Kotlin | .NET v4 | PHP v3 | Python-boto3 | Python-botocore | Ruby v3 | Rust | Swift |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ACM PCA | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| CloudHSM V2 | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| CodeBuild | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| CodeDeploy | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| CodePipeline | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| Comprehend | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| DataSync | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| Direct Connect | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| Directory Service | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| MemoryDB | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| Network Firewall | Prefer Smithy RPC v2 CBOR over AWS JSON 1.0 | |||||||||||||
| Resource Groups Tagging API | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| Route 53 Domains | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| Service Catalog | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| ServiceDiscovery | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| Shield | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| Textract | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| Transcribe | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 | |||||||||||||
| WorkSpaces | Prefer Smithy RPC v2 CBOR over AWS JSON 1.1 |
Released clients
All version links in the following table point to release pages on the GitHub website.
| Services | Release date | Change | AWS CLI v2 | C++ | Go v2 | Java v2 | JavaScript v3 | Kotlin | .NET v4 | PHP v3 | Python-boto3 | Python-botocore | Ruby v3 | Rust | Swift |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Amazon CloudWatch Application Insights | July 24, 2026 | Prefer RPC v2 CBOR over AWS JSON 1.0 | 2.36.8 |
1.11.855 |
1.38.0 |
2.49.3 |
3.1095.0 |
1.8.14 |
4.0.101.0 |
3.389.0 |
1.43.56 |
1.43.56 |
1.83.0 |
1.107.0 |
1.7.46 |
| July 23, 2026 | Prefer RPC v2 CBOR over AWS JSON 1.0 | 2.36.7 |
1.11.854 |
2.49.2 |
3.1094.0 |
1.8.13 |
3.388.13 |
1.43.55 |
1.43.55 |
1.7.45 |
|||||
| Amazon SES Mail Manager | July 6, 2026 | Prefer RPC v2 CBOR over AWS JSON 1.0 | 2.35.16 |
1.11.840 |
1.20.0 |
2.47.0 |
3.1080.0 |
1.6.107 |
4.0.101.0 |
3.387.3 |
1.43.41 |
1.43.41 |
1.46.0 |
1.89.0 |
1.7.31 |
| April 21, 2026 | Prefer RPC v2 CBOR over AWS JSON 1.0 | 2.34.34 |
1.11.794 |
2.42.38 |
3.1034.0 |
1.6.61 |
3.379.4 |
1.42.93 |
1.42.93 |
1.6.99 |
|||||
| CloudWatch | December 10, 2025 | Prefer AWS JSON 1.0 or RPC v2 CBOR over AWS Query | 2.32.14 |
1.11.708 |
1.53.0 |
2.40.6 |
3.949.0 |
1.5.100 |
4.0.150.0 |
3.367.0 |
1.42.7 |
1.42.7 |
1.126.0 |
1.100.0 |
1.6.14 |
| Amazon SQS | November 8, 2023 | Prefer AWS JSON 1.0 over AWS Query | Not applicable | 1.11.198 |
1.27.0 |
2.21.18 |
3.446.0 |
0.34.2-beta |
Not applicable | 3.285.1 |
1.28.81 |
1.31.81 |
1.66.0 |
Not applicable | Not applicable |
Frequently asked questions
General questions
What is a protocol support change?
A protocol support change updates how a supported SDK client encodes requests and decodes responses when communicating with an AWS service. The change can add a protocol or change which protocol a client selects. It does not change the service operations exposed through the SDK's public API.
Do I need to change my application?
Most applications that use a supported AWS SDK client do not require code changes. Update the SDK client according to its release notes and test the update using your normal integration and deployment process.
Review the update more closely if your application or infrastructure depends on a specific wire representation. Examples include middleware or proxies that inspect or modify request and response bodies, recorded HTTP fixtures, and tests that compare serialized payloads.
Where is a protocol support change available?
Availability can vary by service, AWS Region, SDK, service-client version, and protocol. Use the service-specific documentation associated with a table entry and the applicable SDK release notes to verify availability.
What happens to existing protocols?
A protocol support change does not by itself announce the deprecation of an existing service protocol. Follow service-specific announcements, SDK release notes, and the AWS SDKs and Tools maintenance policy for support and lifecycle information.
Smithy RPC v2 CBOR questions
What is Smithy RPC v2 CBOR?
Smithy RPC v2 CBOR uses Concise Binary Object Representation (CBOR), a
compact binary data format, to encode requests and responses. Compared with a
text-based JSON encoding, a binary encoding can reduce encoded payload size and
serialization overhead. Actual performance varies by service operation, payload,
SDK, runtime, and network conditions. Read more about the
Smithy RPC v2 CBOR
protocol
What if my application cannot use Smithy RPC v2 CBOR?
Before updating, test protocol-dependent integrations and review the applicable SDK release notes for compatibility or fallback guidance. If an issue prevents adoption, continue using a supported client version that meets your requirements while you update the affected integration. Avoid relying on an unsupported SDK version as a long-term solution.