February 6th, 2023
Pre-releaseThis release broke native-tls, so it was yanked from crates.io. The next release includes all of these changes and a fix to native-tls.
Breaking Changes:
-
🐛
⚠️ (server, smithy-rs#2276) Fixnameandabsolutemethods onOperationExtension.The older, now removed, service builder would insert
OperationExtensioninto thehttp::Responsecontaining the absolute shape ID with the#symbol replaced with a.. When reintroduced into the new service builder machinery the behavior was changed - we now do not perform the replace. This change fixes the documentation andname/absolutemethods of theOperationExtensionAPI to match this new behavior.In the old service builder,
OperationExtensionwas initialized, by the framework, and then used as follows:let ext = OperationExtension::new(“com.amazonaws.CompleteSnapshot”); // This is expected let name = ext.name(); // “CompleteSnapshot” let namespace = ext.namespace(); // = “com.amazonaws”;
When reintroduced,
OperationExtensionwas initialized by thePluginand then used as follows:let ext = OperationExtension::new(“com.amazonaws#CompleteSnapshot”); // This is the bug let name = ext.name(); // “amazonaws#CompleteSnapshot” let namespace = ext.namespace(); // = “com”;
The intended behavior is now restored:
let ext = OperationExtension::new(“com.amazonaws#CompleteSnapshot”); // This is expected let name = ext.name(); // “CompleteSnapshot” let namespace = ext.namespace(); // = “com.amazonaws”;
The rationale behind this change is that the previous design was tailored towards a specific internal use case and shouldn’t be enforced on all customers.
New this release:
- 🎉 (server, smithy-rs#2232, smithy-rs#1670) The
@uniqueItemstrait onlistshapes is now supported in server SDKs. - (client, smithy-rs#2312) Raise the minimum TLS version from 1.0 to 1.2 when using the
native-tlsfeature inaws-smithy-client. - 🐛 (client, smithy-rs#2271) Fix broken doc link for
tokio_stream::Streamthat is a re-export offutures_core::Stream.