AWS v2.17.0 Release Notes

Release Date: 2020-09-28 // over 3 years ago
  • ๐Ÿ› Bug fixes

    ๐Ÿ†• 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 as s3-<region>.amazonaws.com, while calls to endpoints in newer regions would be constructed as s3.<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 or amplifyconfiguration.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. The AWSCognitoIdentityProvider 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.

    โšก๏ธ Misc. Updates

    • AWSPinpoint
      • The SDK now uses NSSecureCoding and version-appropriate methods of NSKeyedUnarchiver to encode and decode AWSPinpointSession and AWSPinpointEndpointProfile. (PR #3031)
      • Deprecate handler argument in intercept notification (PR #2910)
    • 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