Skip to content

Public Alpha RC1 4-7-2021

Pre-release
Pre-release
Compare
Choose a tag to compare
@rcoh rcoh released this 07 Apr 14:54
· 2493 commits to main since this release
cd21b6d

New this week:

  • Support for 2 new services (& the restJson protocol!): This release adds support for ApiGateway and Amazon Polly. As these are the first two services with the new protocol, bugs are more likely than usual. Please let us know if you hit any issues. New examples have been added.
  • New error shapes: Each generated service now generates a <service_name>::Error struct. This is a superset of all errors that the service emits & can be used to write unified error handling that works across all operations on the same service:
    #[tokio::main]
    async fn main() -> Result<(), dynamodb::Error> {
       let client = dynamodb::Client::from_env();
       client.list_tables().send().await?; // All operation errors impl `Into<dynamodb::Error>`
    }
  • Breaking Change: Generated builders are Vec and HashMap aware: Builder objects now generate special case builders when the argument is a Set or HashMap (#267). These builders accept an element of the Vec or HashMap and append to the builder, creating a collection if it did not previously exist. If you need to pass a Vec or HashMap directly to the builder, use builder.set_xyz(Some(v)) instead of builder.xyz(v).
  • Breaking Change: High level clients are now exported in <servicename>::Client instead of <servicename>::fluent::Client
  • Bugfix: The futures produced by clients were not Send which made them unusable for tokio::spawn. This has been resolved.

The generated code has been pushed to https://github.com/awslabs/smithy-rs/releases/tag/v0.6-rc1.cargo