Skip to content

August 4th, 2022

Pre-release
Pre-release

Choose a tag to compare

@aws-sdk-rust-ci aws-sdk-rust-ci released this 04 Aug 01:40
· 2421 commits to main since this release

Breaking Changes:

  • ⚠🎉 (all, smithy-rs#1570, @weihanglo) Support @deprecated trait for aggregate shapes
  • ⚠ (all, smithy-rs#1157) Rename EventStreamInput to EventStreamSender
  • ⚠ (all, smithy-rs#1157) The type of streaming unions that contain errors is generated without those errors.
    Errors in a streaming union Union are generated as members of the type UnionError.
    Taking Transcribe as an example, the AudioStream streaming union generates, in the client, both the AudioStream type:
    pub enum AudioStream {
        AudioEvent(crate::model::AudioEvent),
        Unknown,
    }
    and its error type,
    pub struct AudioStreamError {
        /// Kind of error that occurred.
        pub kind: AudioStreamErrorKind,
        /// Additional metadata about the error, including error code, message, and request ID.
        pub(crate) meta: aws_smithy_types::Error,
    }
    AudioStreamErrorKind contains all error variants for the union.
    Before, the generated code looked as:
    pub enum AudioStream {
        AudioEvent(crate::model::AudioEvent),
        ... all error variants,
        Unknown,
    }
  • ⚠ (all, smithy-rs#1157) aws_smithy_http::event_stream::EventStreamSender and aws_smithy_http::event_stream::Receiver are now generic over <T, E>,
    where T is a streaming union and E the union's errors.
    This means that event stream errors are now sent as Err of the union's error type.
    With this example model:
    @streaming union Event {
        throttlingError: ThrottlingError
    }
    @error("client") structure ThrottlingError {}
    Before:
    stream! { yield Ok(Event::ThrottlingError ...) }
    After:
    stream! { yield Err(EventError::ThrottlingError ...) }
    An example from the SDK is in transcribe streaming.

New this release:

  • 🎉 (all, smithy-rs#1482) Update codegen to generate support for flexible checksums.
  • (all, smithy-rs#1520) Add explicit cast during JSON deserialization in case of custom Symbol providers.
  • (all, smithy-rs#1578, @lkts) Change detailed logs in CredentialsProviderChain from info to debug
  • (all, smithy-rs#1573, smithy-rs#1569) Non-streaming struct members are now marked #[doc(hidden)] since they will be removed in the future

Contributors
Thank you for your contributions! ❤