Skip to content

February 6th, 2023

Pre-release
Pre-release
Compare
Choose a tag to compare

This 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) Fix name and absolute methods on OperationExtension.

    The older, now removed, service builder would insert OperationExtension into the http::Response containing 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 and name/absolute methods of the OperationExtension API to match this new behavior.

    In the old service builder, OperationExtension was 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, OperationExtension was initialized by the Plugin and 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 @uniqueItems trait on list shapes 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-tls feature in aws-smithy-client.
  • 🐛 (client, smithy-rs#2271) Fix broken doc link for tokio_stream::Stream that is a re-export of futures_core::Stream.