Releases: aws-amplify/aws-sdk-android
Releases · aws-amplify/aws-sdk-android
AWS SDK for Android 2.12.0
Enhancements
-
Amazon Cognito Auth
- Allow user to unbind the service after being done with authentication. See pr #615. Thanks @rlatapy-luna!
-
Amazon Cognito User Pools
- Adds support for the SRP protocol at the beginning of custom auth. Please use
AuthenticationDetails(String, String, Map<String, String>, Map<String, String>)
to trigger custom auth flow with SRP protocol as the first step.
- Adds support for the SRP protocol at the beginning of custom auth. Please use
-
Amazon S3
- Note: AWS Signature Version 4 (
SigV4
) is recommended for signing Amazon S3 API requests over AWS Signature Version 2 (SigV2
) as it provides improved security by using a signing key rather than your secret access key. SigV4 is currently supported in all AWS regions while SigV2 is only supported in regions launched prior to Jan 2014. Amazon S3 will stop accepting requests signed using SigV2 in all regions on June 24, 2019, any
requests signed using SigV2 made after this time will fail. Please visit the S3 documentation site to get more information on using SigV4: Signing Aamzon S3 requests using SigV4. You can find the list of
changes between versions here: Changes in SigV4. - Deprecated the existing constructors in
AmazonS3Client
and introduced equivalent constructors that require the AWS region, because a valid AWS region is required to sign the request using SigV4. Please use the following constructors to specify the AWS region in order to sign the request to Amazon S3 using SigV4.
- Note: AWS Signature Version 4 (
2.11.1 | 2.12.0 |
---|---|
AmazonS3Client(AWSCredentials) | AmazonS3Client(AWSCredentials, com.amazonaws.regions.Region) |
AmazonS3Client(AWSCredentials, ClientConfiguration) | AmazonS3Client(AWSCredentials, ClientConfiguration, com.amazonaws.regions.Region) |
AmazonS3Client(AWSCredentialsProvider) | AmazonS3Client(AWSCredentialsProvider, com.amazonaws.regions.Region) |
AmazonS3Client(AWSCredentialsProvider, ClientConfiguration) | AmazonS3Client(AWSCredentialsProvider, ClientConfiguration, com.amazonaws.regions.Region) |
AmazonS3Client(AWSCredentialsProvider, ClientConfiguration, HttpClient) | AmazonS3Client(AWSCredentialsProvider, ClientConfiguration, HttpClient, com.amazonaws.regions.Region) |
AmazonS3Client(ClientConfiguration) | AmazonS3Client(ClientConfiguration, com.amazonaws.regions.Region) |
AWS SDK for Android 2.11.1
New Features
- Amazon S3
- Add the ability to specify the type of network connection (
TransferNetworkConnectionType.ANY
- any network,TransferNetworkConnectionType.MOBILE
- mobile only,TransferNetworkConnectionType.WIFI
- WiFi only) for the transfers throughTransferUtilityOptions
. TheTransferUtilityOptions
is passed to theTransferUtility
object and is used for all the transfers that are initiated through this object. The network connection type can be passed while constructing theTransferUtilityOptions
object throughTransferUtilityOptions(int, TransferNetworkConnectionType)
. See pr #575. Thanks @nasdf!
- Add the ability to specify the type of network connection (
Bug Fixes
-
Amazon Cognito Identity Provider
- Fixed a bug that used a null username during custom auth challenge. See issue #657 & issue #583
-
AWS IoT
- Fixed a bug that caused some IoT connections to not reconnect after errors.
See PR #660.
Thanks @sklikowicz!
- Fixed a bug that caused some IoT connections to not reconnect after errors.
-
Amazon S3
- Improved the state, progress and error reporting when the transfers are interrupted.
- When the transfer is paused or cancelled by the user, the state is reported correctly.
- When the transfer is interrupted because of a network drop, the state is set to WAITING_FOR_NETWORK when the
TransferNetworkLossHandler
is used. - When the transfer is interrupted otherwise, the transfer is set to FAILED and the exception is reported via
TransferListener.onError
callback.
- Fixed the bug where progress is reported inaccurately (over 100%) when a transfer is paused by user or network drop and resumed before completion. See issue #677, issue #667, issue #616, issue #406
- Improved the state, progress and error reporting when the transfers are interrupted.
Enhancements
- Amazon Cognito Identity
- The Amazon Cognito Identity SDK now supports all Amazon Cognito Identity
APIs, including admin APIs that require developer credentials. Note that by
using admin APIs, you are inherently dealing with privileged functions that
could result in data loss of data if improperly used. See issue
#645
- The Amazon Cognito Identity SDK now supports all Amazon Cognito Identity
Misc. Updates
- Model updates for the following services
- AWS IoT
- Amazon Comprehend
- Amazon Cognito Identity Provider
- Amazon Kinesis Firehose
- Amazon Transcribe
- Amazon Pinpoint
AWS Mobile SDK for Android v2.11.0
Enhancements
- Amazon S3
- Introduced
TransferNetworkLossHandler
, a utility that listens for network connectivity changes.TransferNetworkLossHandler
pauses the on-going transfers when the network goes offline and resumes the transfers that were paused when the network comes back online. TransferService
will be moved to foreground state when the device is running Android Oreo (API Level 26) and above.- Transitioning to the foreground state requires a valid on-going
Notification
object, identifier for on-going notification and the flag that determines the ability to remove the on-going notification when the service transitions out of foreground state. If a valid notification object is not passed in, the service will not be transitioned into the foreground state. - The
TransferService
can now be started usingstartForegroundService
method to move the service to foreground state. The service can be invoked in the following way to transition the service to foreground state:getApplicationContext().startForegroundService(intent);
.
- Transitioning to the foreground state requires a valid on-going
- Introduced
Bug Fixes
- Amazon S3
- Fixed a bug in
TransferUtility
where the state is not set to 'WAITING_FOR_NETWORK
when network goes offline during execution of transfers. - Fixed a bug where objects with key name containing characters that require special handling are uploaded with URL encoded key name on the S3 bucket.
- Since
2.4.0
version of the SDK, the key name containing characters that require special handling are URL encoded and escaped( space, %2A, ~, /, :, ', (, ), !, [, ] )
by theAmazonS3Client
, after which the AWS Android Core Runtime encodes the URL resulting in double encoding of the key name. - Starting
2.11.0
, the additional layer of encoding and escaping done byAmazonS3Client
is removed. The key name will not be encoded and escaped byAmazonS3Client
. Now, the key name that is given toAmazonS3Client
orTransferUtility
will appear on the Amazon S3 console as is. - See issue #526, issue #321, issue #360
, issue #545, issue #597.
- Since
- Fixed a bug where
AmazonS3Client.listObjects
operation executed on a bucket, with key names containing characters that require special handling, returns theListObjectsResponse
with the key names being URL encoded.- When a S3 bucket contans objects with key names containing characters that require special handling, and since the SDK has an XML parser, (XML 1.0 parser) which cannot parse some characters, the SDK is required to request that Amazon S3 encode the keys in the response. This can be done by passing in
url
asencodingType
in theListObjectsRequest
. - Since
2.4.0
, there was a bug where the SDK did not decode the key names which are encoded by S3 whenurl
is requested as theencodingType
. This is fixed in2.11.0
, where the SDK will decode the key names in theListObjectsResponse
sent by S3. - If you have objects in S3 bucket that has a key name containing characters that require special handling, you need to pass the
encodingType
asurl
in theListObjectsRequest
.
- When a S3 bucket contans objects with key names containing characters that require special handling, and since the SDK has an XML parser, (XML 1.0 parser) which cannot parse some characters, the SDK is required to request that Amazon S3 encode the keys in the response. This can be done by passing in
- Fixed a bug in
Misc. Updates
- Amazon S3
- Allow requester-pays access for
listObjects
andlistObjectsV2
requests.
- Allow requester-pays access for
beta_v2.10.4
add back dependency to s3 release for build
beta_v2.10.3
Delete old docs to remove straggling files
beta_v2.10.2
remove extras
AWS Mobile SDK for Android v2.10.1
Bug Fixes
- Amazon Pinpoint
- Fixed a bug where
Attributes
were not being sent in theEvent
payload while submitting events to Pinpoint. See PR #641
- Fixed a bug where
AWS Mobile SDK for Android v2.10.0
Misc. Updates
- Model updates for the following services
- Amazon Lex
- Added overrides to various
InteractionClient
andLexServiceContinuation
methods, to allow passing request attributes - Breaking API Changes: The following APIs have been changed:
PostContentRequest
,PostContentResponse
- Certain properties which used to have a type of
Map<String, String>
are nowString
. This requires your calling code to
JSON serialize and base64-encode the value. Theget
,set
andwith
APIs of the following properties are affected:PostContentRequest.requestAttributes
PostContentRequest.sessionAttributes
PostContentRequest.slots
PostContentResponse.requestAttributes
PostContentResponse.sessionAttributes
PostContentResponse.slots
- Certain properties which used to have a type of
- Added overrides to various
- Amazon Lex
AWS Mobile SDK for Android v2.9.2
Bug Fixes
-
AWS IoT
AWSIotMqttManager
passes publish exceptions via the callback. If callback is not provided it throwsAmazonClientException
.AWSIotMqttManager
logs the reconnection errors and pass it to the user provided connection callback.
-
Amazon Pinpoint
- Fixed bug that could potentially cause rejected events to be dropped incorrectly because service response could not be unmarshalled. The response will now be processed correctly and events rejected by the service will be retried.
-
Amazon S3
- Fixed a bug where a disk operation to remove completed transfers from database was performed on the main thread. See issue #603
AWS Mobile SDK for Android v2.9.1
New Features
- Amazon Cognito Auth
- Added customization for CustomTabs through
setCustomTabsExtras()
in the builder. See PR #608
- Added customization for CustomTabs through
Bug Fixes
-
AWS IoT
- Fixed bug that leaked threads during reconnect. See PR #601
- Fixed reporting of failed message publishes during reconnect. See PR #407
- Fix reconnection failure upon network disconnect. Any subsequent reconnect honors the value passed to the cleanSession flag. See issue #584 and PR #612
-
AWS Mobile Client
- Fixed exception being thrown from
getCredentials()
andrefresh()
to adhere toAmazonClientException
to allow other portions of SDK to catch properly. Previously a genericRuntimeException
was being thrown;AmazonClientException
is a subclass ofRuntimeException
. See issue #588
- Fixed exception being thrown from