Skip to content

Releases: aws/aws-sdk-go-v2

Release v0.22.0 (2020-04-27)

27 Apr 22:03
241222e
Compare
Choose a tag to compare
Pre-release

Services

  • Synced the V2 SDK with latest AWS service API definitions.

Breaking Changes

  • Removed prototype and experiment types from master branch of SDK.

Release v0.21.0 (2020-04-21)

22 Apr 16:01
b8a3f09
Compare
Choose a tag to compare
Pre-release

Breaking Change

  • aws/endpoints: Several functions and types have been removed
    • Removes DecodeModel and DecodeModelOptions from the package (#509)
    • Remove Region Constants, Partition Constants, and types use for exploring the endpoint data model (#512)
  • service/s3/s3crypto: Package and associated encryption/decryption clients have been removed from the SDK (#511)
  • aws/external: Removes several export constants and types (#508)
    • No longer exports AWS environment constants used by the external environment configuration loader
    • DefaultSharedConfigProfile is now defined an exported constant
  • aws: ErrMissingRegion, ErrMissingEndpoint, ErrStaticCredentialsEmpty are now concrete error types (#510)

Services

  • Synced the V2 SDK with latest AWS service API definitions.

SDK Features

  • aws/signer/v4: New methods SignHTTP and PresignHTTP have been added (#519)
    • SignHTTP replaces Sign, and usage of Sign should be migrated before it's removal at a later date
    • PresignHTTP replaces Presign, and usage of Presign should be migrated before it's removal at a later date
    • DisableRequestBodyOverwrite and UnsignedPayload are now deprecated options and have no effect on SignHTTP or PresignHTTP. These options will be removed at a later date.
  • aws/external: Add Support for setting a default fallback region and resolving region from EC2 IMDS (#523)
    • WithDefaultRegion helper has been added which can be passed to LoadDefaultAWSConfig
      • This helper can be used to configure a default fallback region in the event a region fails to be resolved from other sources
    • Support has been added to resolve region using EC2 IMDS when available
      • The IMDS region will be used if region as not found configured in either the shared config or the process environment.
    • Fixes #244
    • Fixes #515

SDK Enhancements

  • service/dynamodb/expression: Add IsSet helper for ConditionBuilder and KeyConditionBuilder (#494)
    • Adds a IsSet helper for ConditionBuilder and KeyConditionBuilder to make it easier to determine if the condition builders have any conditions added to them.
    • Implements #493.
  • internal/ini: Normalize Section keys to lowercase (#495)
    • Update's SDK's ini utility to store all keys as lowercase. This brings the SDK inline with the AWS CLI's behavior.

SDK Bugs

  • internal/sdk: Fix SDK's UUID utility to handle partial read (#536)
    • Fixes the SDK's UUID utility to correctly handle partial reads from its crypto rand source. This error was sometimes causing the SDK's InvocationID value to fail to be obtained, due to a partial read from crypto.Rand.
    • Fix #534
  • aws/defaults: Fix request metadata headers causing signature errors (#536)
    • Fixes the SDK's adding the request metadata headers in the wrong location within the request handler stack. This created a situation where a request that was retried would sign the new attempt using the old value of the header. The header value would then be changed before sending the request.
    • Fix #533
    • Fix #521

Release v0.20.0 (2020-03-17)

17 Mar 21:24
2930532
Compare
Choose a tag to compare
Pre-release

Breaking Change

  • Update SDK retry behavior
    • Significant updates were made the SDK's retry behavior. The SDK will now retry all connections error. In addition, to changing what errors are retried the SDK's retry behavior not distinguish the difference between throttling errors, and regular retryable errors. All errors will be retried with the same backoff jitter delay scaling.
    • The SDK will attempt an operation request 3 times by default. This is one less than the previous initial request with 3 retires.
    • New helper functions in the new aws/retry package allow wrapping a Retrier with custom behavior, overriding the base Retrier, (e.g. AddWithErrorCodes, and AddWithMaxAttempts)
  • Update SDK error handling
    • Updates the SDK's handling of errors to take advantage of Go 1.13's new errors.As, Is, and Unwrap. The SDK's errors were updated to satisfy the Unwrap interface, returning the underlying error.
    • With this update, you can now more easily access the SDK's layered errors, and meaningful state such as, Timeout, Temporary, and other states added to the SDK such as CanceledError.
  • Bump SDK minimum supported version from Go 1.12 to Go 1.13
    • The SDK's minimum supported version is bumped to take advantage of Go 1.13's updated errors package.

Services

  • Synced the V2 SDK with latest AWS service API definitions.

SDK Features

  • aws: Add Support for additional credential providers and credential configuration chaining (#488)
    • aws/processcreds: Adds Support for the Process Credential Provider
    • aws/stscreds: Adds Support for the Web Identity Credential Provider
    • Adds Support for credential_source
  • aws/awserr: Adds support for Go 1.13's errors.Unwrap (#487)
  • aws: Updates SDK retry behavior (#487)
    • aws/retry: New package defining logic to determine if a request should be retried, and backoff.
    • aws/ratelimit: New package defining rate limit logic such as token bucket used by the retry.Standard retrier.

SDK Enhancements

  • aws: Add grouping of concurrent refresh of credentials (#503)
    • Concurrent calls to Retrieve are now grouped in order to prevent numerous synchronous calls to refresh the credentials. Replacing the mutex with a singleflight reduces the overall amount of time request signatures need to wait while retrieving credentials. This is improvement becomes pronounced when many requests are made concurrently.
  • service/s3/s3manager: Improve memory allocation behavior by replacing sync.Pool with custom pool implementation
    • Improves memory allocations that occur when the provided io.Reader to upload does not satisfy both the io.ReaderAt and io.ReadSeeker interfaces.

SDK Bugs

  • service/s3/s3manager: Fix resource leaks when the following occurred:
    • Failed CreateMultipartUpload call
    • Failed UploadPart call

Release v0.19.0 (2020-01-30)

30 Jan 22:59
dac592f
Compare
Choose a tag to compare
Pre-release

Breaking Change

  • service: Add generated service for wafregional and dynamodbstreams #463
    • Updates the wafregional and dynamodbstreams API clients to include all API operations, and types that were previously shared between waf and dynamodb API clients respectively. This update ensures that all API clients include all operations and types needed for that client, and shares no types with another client package.
    • To migrate your applications to use the updated wafregional and dynamodbstreams you'll need to update the package the impacted type is imported from to match the client the type is being used with.
  • aws: Context has been added to EC2Metadata operations.(#461)
    • Also updates utilities that directly or indirectly depend on EC2Metadata client. Signer utilities, credential providers now take in context.
  • private/model: Add utility for validating shape names for structs and enums for the service packages (#471)
    • Fixes bug which allowed service package structs, enums to start with non alphabetic character
    • Fixes the incorrect enum types in mediapackage service package, changing enum types __AdTriggersElement, __PeriodTriggersElement to AdTriggersElement, PeriodTriggersElement respectively.
  • aws: Client, Metadata, and Request structures have been refactored to simplify the usage of resolved endpoints (#473)
    • aws.Client.Endpoint struct member has been removed, and aws.Request.Endpoint struct member has been added of type aws.Endpoint
    • aws.Client.Region structure member has been removed

Services

  • Synced the V2 SDK with latest AWS service API definitions.

SDK Features

  • aws: PartitionID has been added to aws.Endpoint structure, and is used by the endpoint resolver to indicate which AWS partition an endpoint was resolved for (#473)
  • aws/endpoints: Updated resolvers to populate PartitionID for a resolved aws.Endpoint (#473)
  • service/s3: Add support for Access Point resources
    • Adds support for using Access Point resource with Amazon S3 API operation calls. The Access Point resource are identified by an Amazon Resource Name (ARN).
    • To make operation calls to an S3 Access Point instead of a S3 Bucket, provide the Access Point ARN string as the value of the Bucket parameter. You can create an Access Point for your bucket with the Amazon S3 Control API. The Access Point ARN can be obtained from the S3 Control API. You should avoid building the ARN directly.

SDK Enhancements

  • internal/sdkio: Adds RingBuffer data structure to the sdk #417
    • Adds an implementation of RingBuffer data structure which acts as a revolving buffer of a predefined length. The RingBuffer implements io.ReadWriter interface.
    • Adds unit tests to test the behavior of the ring buffer.
  • aws/ec2metadata: Adds support for EC2Metadata client to use secure tokens provided by the IMDS (#453)
    • Modifies EC2Metadata client to use request context within its operations (#462)
    • Reduces the default dialer timeout and response header timeout to help reduce latency for known issues with EC2Metadata client running inside a container
    • Modifies and adds tests to verify the behavior of the EC2Metadata client.
  • service/dynamodb/dynamodbattribute: Adds clarifying docs on dynamodbattribute.UnixTime (#464)
  • example/service/sts/assumeRole: added sts assume role example (#224)
    • Fixes #157 by adding an example for Amazon STS assume role to retrieve credentials.

SDK Bugs

  • service/dynamodb/dynamodbattribute: Fixes a panic when decoding into a map with a key string type alias. (#465)
    • Fixes #410, by adding support for keys that are string aliases.

Release v0.18.0 (2019-12-12)

12 Dec 22:33
b0e297c
Compare
Choose a tag to compare
Pre-release

Services

  • Synced the V2 SDK with latest AWS service API definitions.

SDK Bugs

  • aws/endpoints: aws/endpoints: Fix SDK resolving endpoint without region (#420)
    • Fixes the SDK's endpoint resolve incorrectly resolving endpoints for a service when the region is empty. Also fixes the SDK attempting to resolve a service when the service value is empty.
    • Related to aws/aws-sdk-go#2909

Release v0.17.0 (2019-11-20)

21 Nov 00:18
dadd7ec
Compare
Choose a tag to compare
Pre-release

Services

  • Synced the V2 SDK with latest AWS service API definitions.

SDK Enhancements

  • SDK minimum version requirement has been updated to Go 1.12 (#432)

Release v0.16.0 (2019-11-12)

13 Nov 01:37
87c0348
Compare
Choose a tag to compare
Pre-release

Services

  • Synced the V2 SDK with latest AWS service API definitions.

Release v0.15.0 (2019-10-18)

18 Oct 21:02
504a511
Compare
Choose a tag to compare
Pre-release

Services

  • Synced the V2 SDK with latest AWS service API definitions.

Release v0.14.0 (2019-10-08)

08 Oct 21:45
ca0c9ee
Compare
Choose a tag to compare
Pre-release

Services

  • Synced the V2 SDK with latest AWS service API definitions.

Release v0.13.0 (2019-10-01)

02 Oct 00:18
002fb7d
Compare
Choose a tag to compare
Pre-release

Services

  • Synced the V2 SDK with latest AWS service API definitions.

SDK Breaking changes

  • This update includes breaking changes to how the DynamoDB AttributeValue (un)marshier handles empty collections.

Deprecations

  • service/s3/s3crypto: Deprecates the crypto client from the SDK (#394)
    • s3crypto client is now deprecated and may be removed from the future versions of the SDK.
  • aws: Removes plugin credential provider (#391)
    • Removing plugin credential provider from the v2 SDK developer preview. This feature may be made available as a separate module.
  • Removes support for deprecated Go versions (#393)
    • Removes support for Go version specific files from the SDK. Also removes irrelevant build tags, and updates the README.md file.
    • Raises the minimum supported version to Go 1.11 for the SDK. Older versions may work, but are not actively supported

SDK Features

  • service/s3/s3manager: Add Upload Buffer Provider (#404)
    • Adds a new BufferProvider member for specifying how part data can be buffered in memory.
    • Windows platforms will now default to buffering 1MB per part to reduce contention when uploading files.
    • Non-Windows platforms will continue to employ a non-buffering behavior.
  • service/s3/s3manager: Add Download Buffer Provider (#404)
    • Adds a new BufferProvider member for specifying how part data can be buffered in memory when copying from the http response body.
    • Windows platforms will now default to buffering 1MB per part to reduce contention when downloading files.
    • Non-Windows platforms will continue to employ a non-buffering behavior.
  • service/dynamodb/dynamodbattribute: New Encoder and Decoder Behavior for Empty Collections (#401)
    • The Encoder and Decoder types have been enhanced to support the marshaling of empty structures, maps, and slices to and from their respective DynamoDB AttributeValues.
    • This change incorporates the behavior changes introduced via a marshal option in V1 (#2834)

SDK Enhancements

  • internal/awsutil: Add suppressing logging sensitive API parameters (#398)
    • Adds suppressing logging sensitive API parameters marked with the sensitive trait. This prevents the API type's String method returning a string representation of the API type with sensitive fields printed such as keys and passwords.
    • Related to aws/aws-sdk-go#2310
    • Fixes #251
  • aws/request : Retryer is now a named field on Request. (#393)
  • service/s3/s3manager: Adds sync.Pool to allow reuse of part buffers for streaming payloads (#404)
    • Fixes #402
    • Uses the new behavior introduced in V1 #2863 which allows the reuse of the sync.Pool across multiple Upload request that match part sizes.

SDK Bugs

  • service/s3/s3manager: Fix index out of range when a streaming reader returns -1 (#378)
    • Fixes the S3 Upload Manager's handling of an unbounded streaming reader that returns negative bytes read.
  • internal/ini: Fix ini parser to handle empty values #406
    • Fixes incorrect modifications to the previous token value of the skipper. Adds checks for cases where a skipped statement should be marked as complete and not be ignored.
    • Adds tests for nested and empty field value parsing, along with tests suggested in aws/aws-sdk-go#2801