AWS v2.17.0 Release Notes
Release Date: 2020-09-28 // over 3 years ago-
๐ Bug fixes
- ๐ Fixed build errors in Xcode 12. (See Issue #2927, PR #3039)
๐ New features
Amazon S3
- Breaking Change We have normalized URL construction for the AWSS3 SDK, and now support virtual host style (V2) URLs for S3.
Previously, the SDK constructed URLs for S3 requests with different rules depending on the region (e.g., calls to endpoints in us-east-1 would be made to
s3.amazonaws.com
, while calls to endpoints in some older regions would be constructed ass3-<region>.amazonaws.com
, while calls to endpoints in newer regions would be constructed ass3.<region>.amazonaws.com
). With this revision of the SDK, the base URL for all S3 operations to supported endpoints will be constructed as:"s3" + "." + region name + ".amazonaws.com"
. See PR #3008.In addition to this, the SDK now uses virtual-host style addressing for DNS-compliant bucket names. (See issue #1535, and PR #2996).
Thus, this revision of the SDK will make most requests to endpoint URLs of the form:
<bucket>.s3.<region>.amazonaws.com
.Impact
This change should be transparent to most customers. If you used the Amplify CLI to provision their S3 backend, and set up your SDKs with an
awsconfiguration.json
file oramplifyconfiguration.json
file, you won't need to take any action. If you set up the S3 client manually using an AWSEndpoint initialized with-[AWSEndpoint initWithRegion:service:useUnsafeURL:]
, you also won't need to take any action.- This change may impact customers who manually set up their S3 SDK using URL-based initializers like
-[AWSEndpoint initWithRegion:service:URL:]
. - This change may impact customers who have custom security setups in their app (such as SSL pinning or host validation), since the constructed host names are now different
- This change may impact customers who parse access logs in CloudTrail, since accesses will now be recorded using a different URL
Limitations
The AWS Mobile SDK for iOS automatically uses virtual host style URLs for operations made via the S3 SDK APIs, operations made via TransferUtility, and operations using transfer acceleration via TransferUtility. However, there are a few cases where the SDK will not use virtual host style URLs:
- When the client is configured with a custom endpoint, including custom endpoints to specify
dualstack
or FIPS-compliant endpoints - When the specified bucket name is not DNS compliant
- When the specified bucket name contains a dot character (
"."
) - When making a
GetBucketLocation
API call
Resources
๐ฅ Breaking Changes
- Amazon S3
- Breaking Change We have normalized URL construction for the AWSS3 SDK, and now support virtual host style (V2) URLs for S3 (see above)
- AWSCognitoIdentityProviderASF
- Breaking Change The AWSCognitoIdentityProviderASF SDK no longer ships the
libAWSCognitoIdentityProviderASFBinary.a
static library. TheAWSCognitoIdentityProvider
SDK consumes ASF via the framework. Projects that rely on ASF should remove references to the static library. The AWSCognitoIdentityProviderASF SDK is now versioned the same as the overall SDK.
- Breaking Change The AWSCognitoIdentityProviderASF SDK no longer ships the
โก๏ธ Misc. Updates
- AWSPinpoint
- The SDK now uses
NSSecureCoding
and version-appropriate methods ofNSKeyedUnarchiver
to encode and decodeAWSPinpointSession
andAWSPinpointEndpointProfile
. (PR #3031) - Deprecate handler argument in intercept notification (PR #2910)
- The SDK now uses
- AWSAuthSDK
- Upgrade Facebook SDK to 6.5.2 (PR #2990)
- Project
- Refactored unit tests into separate "AWSAllUnitTests" aggregate target for easier execution
- Removed unused "Documentation" aggregate target. Documentation is generated in a pipeline build step and doesn't use an Xcode target.
- โก๏ธ Model updates for the following services
- Amazon Comprehend
- Amazon Connect
- Amazon EC2
- Amazon Elastic Load Balancing
- Amazon Security Token Service (STS)
- Amazon Simple Queue Service (SQS)
- Amazon Transcribe
- Amazon Translate