github aws/aws-sdk-go-v2 v1.0.0
Release v1.0.0 (2021-01-19)

latest releases: release-2024-05-21, release-2024-05-20, service/secretsmanager/v1.29.0...
3 years ago

Announcement

We are excited to announce the General Availability (GA) release of the AWS SDK for Go version 2 (v2). This release follows the Release candidate of the AWS SDK for Go v2. Version 2 incorporates customer feedback from version 1 and takes advantage of modern Go language features.

New Features

  • service/sts: Add support for presigning GetCallerIdentity operation (#1030)
    • Adds a PresignClient to the sts API client module. Use PresignGetCallerIdentity to obtain presigned URLs for the create presigned URLs for the GetCallerIdentity operation.
    • Fixes #1021
  • aws/retry: Add package documentation for retry package (#1033)
    • Adds documentation for the retry package

Bug Fixes

  • Multiple API Clients: Fix SDK's generated serde for unmodeled operation input/output (#1050)
    • Fixes #1047 by fixing the how the SDKs generated serialization and deserialization of API operations that did not have modeled input or output types. This caused the SDK to incorrectly attempt to deserialize response documents that were either empty, or contained unexpected data.
  • service/s3: Fix Tagging parameter not serialized correctly for presigned PutObject requests (#1017)
    • Fixes the Tagging parameter incorrectly being serialized to the URL's query string instead of being signed as a HTTP request header.
    • When using PresignPutObject make sure to add all signed headers returned by the method to your down stream's HTTP client's request. These headers must be included in the request, or the request will fail with signature errors.
    • Fixes #1016
  • service/s3: Fix Unmarshaling GetObjectAcl operation's Grantee type response (#1034)
    • Updates the SDK's codegen for correctly deserializing XML attributes in tags with XML namespaces.
    • Fixes #1013
  • service/s3: Fix Unmarshaling GetBucketLocation operation's response (#1027)

Breaking Changes

  • aws: Updated Config.Retryer member to be a func that returns aws.Retryer (#1033)
    • Updates the SDK's references to Config.Retryer to be a function that returns aws.Retryer value. This ensures that custom retry options specified in the aws.Config are scoped to individual client instances.
    • All API clients created with the config will call the Config.Retryer function to get an aws.Retryer.
    • Removes duplicate Retryer interface from retry package. Single definition is aws.Retryer now.
  • aws/middleware: Updates AddAttemptClockSkewMiddleware to use appropriate AddRecordResponseTiming naming (#1031)
    • Removes ResponseMetadata struct type, and adds its members to middleware metadata directly, to improve discoverability.
  • config: Updated the WithRetryer helper to take a function that returns an aws.Retryer (#1033)
    • All API clients created with the config will call the Config.Retryer function to get an aws.Retryer.
  • API Clients: Fix SDK's API client enum constant name generation to have expected casing (#1020)
    • This updates of the generated enum const value names in API client's types package to have the expected casing. Prior to this, enum names were being generated with lowercase names instead of camel case.
  • API Clients: Updates SDK's API client request middleware stack values to be scoped to individual operation call (#1019)
    • The API client request middleware stack values were mistakenly allowed to escape to nested API operation calls. This broke the SDK's presigners.
    • Stack values that should not escape are not scoped to the individual operation call.
  • Multiple API Clients: Unexported the API client's WithEndpointResolver this type wasn't intended to be exported (#1051)
    • Using the aws.Config.EndpointResolver member for setting custom endpoint resolver instead.

Migrating from v2 preview SDK's v0.31.0 to v1.0.0

aws.Config Retryer member

If your application sets the Config.Retryer member the application will need
to be updated to set a function that returns an aws.Retryer. In addition, if
your application used the config.WithRetryer helper a function that returns
an aws.Retryer needs to be used.

If your application used the retry.Retryer type, update to using the
aws.Retryer type instead.

API Client enum value names

If your application used the enum values in the API Client's types package between v0.31.0 and the latest version of the client module you may need to update the naming of the enum value. The enum value name casing were updated to camel case instead lowercased.

Don't miss a new aws-sdk-go-v2 release

NewReleases is sending notifications on new releases.