New in version 2.2.2

June 12th, 2015
  • New Features:
  • AWS Core Runtime Library - Enabled HTTP compression by adding "Accept-Encoding:gzip" header. If the target AWS service (e.g. Amazon DynamoDB) supports compression and returns compressed data, the SDK will handle the content correctly.
  • Amazon Kinesis - KinesisRecorder now sends compressed records to Amazon Kinesis.
  • Amazon Mobile Analytics - Analytics events are compressed prior to sending the service in order to save network bandwidth.
  • Resolved Issues:
  • Amazon Simple Storage Service (S3) - Fixed an issue that occurs when required headers are not properly signed. This issue affects S3 in two regions: Frankfurt (eu-central-1) and China (cn-north-1).
  • AWS Core Runtime Library - Fixed an issue in Maven distribution where an incorrect version string is set in "User-Agent".

New in version 2.2.1 (April 22nd, 2015)

  • Resolved Issues:
  • AWS Lambda - Fixed a bug where the base64 encoded log message isn't decoded.
  • Amazon DynamoDB - Fixed CRC32 checksum mismatch issue caused by gzip compression.

New in version 2.2.0 (April 10th, 2015)

  • New Features:
  • AWS Lambda - AWS Lambda is now included in the AWS Mobile SDK, making it easy to build mobile applications that use Lambda functions as their app backend. You can now create AWS Lambda functions that respond to events from your application synchronously (real time) as well as asynchronously, making it easy for any application or web service to use Lambda to create back-end functionality. When invoked through the mobile SDK, the Lambda function automatically has access to data about the device, app, and end user identity, making it easy to create rich, personalized responses to in-app activity. To learn more about SDK support for Lambda, visit the AWS Mobile SDK page. To learn more about the new capabilities from Lambda, visit the What's new page for AWS Lambda.
  • Amazon Cognito - Amazon Cognito SDK added support for Amazon Cognito Events, a new feature that allows developers to run an AWS Lambda function in response to important events in Amazon Cognito. The first event that supported is the Sync Trigger event.
  • Amazon Machine Learning - Amazon Machine Learning is a service that makes it easy for developers of all skill levels to use machine learning technology. This release adds Amazon Machine Learning support into AWS Mobile SDK for Android. You can use the mobile SDK to retrieve Amazon ML model metadata, including the real-time endpoint URL, and to request real-time predictions from Amazon ML. To learn more about Amazon ML, visit http://aws.amazon.com/machine-learning.
  • Core Runtime Library - The method count of the core runtime library has been reduced from 7.5k to 4.4k. This is achieved by using the Android's built-in version of Apache HttpClient and by removing unused methods.
  • The HTTP client of an Amazon service client is now pluggable. See HttpClient for more details.
  • UrlHttpClient, implementation backed by the recommended HttpUrlConnection, is now the default HTTP client for each service client.

New in version 2.1.10 (February 28th, 2015)

  • New Features:
  • AWS SDK Core Runtime Library - Removed Apache Commons Codec library from the core runtime library.
  • Resolved Issues:
  • AWS Mobile Analytics - Fixed a bug in Mobile Analytics caused by incorrect service endpoint.

New in version 2.1.9 (February 25th, 2015)

  • New Feature:
  • AWS SDK Core Runtime Library - Replacing Jackson with Gson 2.2.4 in the core runtime library. The file size is reduced to 1.3Mb and the total number of methods is down to 7.5k. Improve the performance of unmarshalling Json responses.
  • AWS SDK Directory Structure - All jars under lib/release and lib/extras/release are removed. Those under lib/debug and lib/extras/debug are moved up one level respectively. Jars are renamed as aws-android-sdk--.
  • Package Deprecation Remove deprecated packages com.amazonaws.services.s3.transfer and com.amazonaws.services.dynamodbv2.datamodeling. Please use com.amazonaws.mobileconnectors.s3.transfermanager and com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper respectively.

New in version 2.1.8 (January 22nd, 2015)

  • Introduces simplified constructor of CognitoCachingCredentialsProvider and updates the Amazon DynamoDB client with support for the DynamoDB JSON Document models. It also includes a number of bug fixes.
  • New Feature:
  • Amazon Cognito Credentials Provider simplified constructor - Amazon Cognito now allows developers to save the association between IAM roles and an identity pool. Because this association is now saved in the service the credentials provider can be initialized without passing the IAM role ARNs. We have added a new constructor to the CognitoCachingCredentialsProvider that receives only the identity pool id and the AWS region. When no role ARNs are specified the service uses the default ones saved against the identity pool. Alternatively, developers can specify different roles in the constructor and override the default behavior of the service - these roles need to be setup correctly in order to work with Amazon Cognito. See the developer guide for further details on using roles.
  • Amazon DynamoDB Document Model with JSON Support - DynamoDB allows you to store and retrieve documents with full support for document models. New data types are fully compatible with the JSON standard and allow you to nest document elements within one another. You can use document path dereference operators to read and write individual elements, without having to retrieve the entire document. This release also introduces new expression parameters for specifying projections, conditions and update actions when reading or writing data items.
  • To learn more about document model support with JSON, see DynamoDB Data Types and Reading and Writing Items Using Expressions in the Amazon DynamoDB Developer Guide.
  • AWS SDK Core Runtime Library - Decrease the size of the core runtime library by replacing XML StAX parser with Android's native XmlPullParser and removing Joda library.
  • Resolved Issues:
  • Kinesis Recorder - Fixed a bug in Kinesis Recorder where disk usage isn't reported correctly by getDiskBytesUsed().
  • S3 TransferManager - Fixed a bug as reported here where TransferManager download using ranges is off by 1.
  • CognitoCachingCredentialsProvider - Fixed a bug where a corrupted Cognito identity id could crash the app until it's cleared.

New in version 2.1.7 (December 18th, 2014)

  • Introduces two bug fixes for CognitoCachingCredentialsProvider and CognitoSyncManager.

New in version 2.1.6 (December 11th, 2014)

  • Introduces support for batching requests with the Kinesis Recorder, updates to Amazon Cognito, and fixes a bug with the S3 encryption client.

New in version 2.1.5 (November 18th, 2014)

  • Cognito Updates and bug fixes
  • New Features:
  • Amazon Cognito Sync - Added eu-west-1 support
  • Amazon Cognito Identity - Added eu-west-1 support
  • Changes:
  • Amazon Cognito Sync - CognitoSyncManager(Context, String, Regions, CognitoCachingCredentialsProvider) is deprecated in favor of CognitoSyncManager(Context, Regions, CognitoCachingCredentialsProvider)
  • Amazon Cognito Sync - A convenience method SyncConflict.resolveWithLastWriterWins() is added to return the record that is modified last
  • Resolved Issues:
  • Amazon Cognito Sync - Fixed SQLite resource leakage in CognitoSyncManager

New in version 2.1.4 (October 24th, 2014)

  • Adds supports for the new EU (Frankfurt) Region. This release also resolves two issues with Cognito: conflict resolution during synchronize and synchronizeOnConnectivity with airplane mode.

New in version 2.1.3 (October 18th, 2014)

  • Addressed a bug related to naming of S3 buckets

New in version 2.1.2 (October 16th, 2014)

  • Resolved Issues:
  • Third party namespaces - We have decided to namespace all third party code under the com.amazonaws namespace. Since we aggressively Proguard unneeded methods out of third party code, there is the potential for conflicts if a developer wants to use the same libraries as the SDK. By re-name spacing these we prevent collision.
  • Proguard - We have addressed an internal issue with Proguard removing a needed third party library method.

New in version 2.1.1 (October 10th, 2014)

  • New Features:
  • Amazon Cognito Developer Authenticated Identities - We are pleased to announce that we are adding support for your own identification management system in addition to existing support for a number of public login providers (Amazon, Facebook, and Google) and unauthenticated guests.
  • Amazon Mobile Analytics - Amazon Mobile Analytics now has AWS Console generated application id's, which enables developers to set what an 'app' means to them. For instance this allows developers to have multiple flavors of an app all report into a single console report.
  • Resolved Issues:
  • Amazon Mobile Analytics - Amazon Mobile Analytics now correctly works with non-latin application titles.

New in version 2.1.0 (September 16th, 2014)

  • Made changes to namespaces and class names to avoid confusion and increase consistency. Of the namespaces that have been changed, the ones in v1 of the SDK(transfermanager and objectmapper) are now deprecated but the rest have been completely removed. See below for the specific list of namespaces and classes which have been changed and what they have been changed to.
  • The interface CognitoSyncClient has also been removed
  • Constructors for KinesisRecorder and Cognito now require Region to be specified; this is also a breaking change. The analytics constructor has been removed altogether and replaced with static getInstance and getOrCreateInstance methods
  • Finally, there were other various bug fixes to S3 and Cognito

New in version 2.0.5 (July 24th, 2014)

  • Resolved Issues:
  • Amazon Analytics - Amazon Analytics now defaults to only sending events over wi-fi. This is now the same across Android and iOS. Please note by default the Android emulator does not use a wi-fi connection. To enable WAN delivery please use the AnalyticsOptions object along with the AmazonMobileAnalytics constructor.
  • Amazon Cognito Sync - The SDK queues sync requests made when device is offline. The sync operation is automatically executed when internet connectivity is recovered in the same app session.
  • Amazon Cognito Sync - Fixed incorrect dataset size of cached data

New in version 2.0.4 (July 15th, 2014)

  • Resolved Issues:
  • Amazon Analytics - Resolved an issue with Amazon Analytics when the device is offline.

New in version 1.7.0 (October 24th, 2013)

  • S3Link is a new type of POJO attribute that represents the link of an Amazon S3 Object. Using DynamoDBMapper, an S3Link can be created and persisted in Amazon DynamoDB.
  • Additional convenience methods are available in the S3Link class to make it easier to work with data in Amazon S3.
  • A new configuration -- PaginationLoadingStrategy is now available for DynamoDBMapper. It could be used to control the life-cycle of loaded results in the memory. The available options are LAZY_LOADING (default), ITERATION_ONLY and EAGER_LOADING.
  • The high-level DynamoDBMapper class now supports a new SaveBehavior strategies APPEND_SET. The new SaveBehavior treats scalar attributes (String, Number, Binary) the same as UPDATE_SKIP_NULL_ATTRIBUTES does.
  • DynamoDBMapper now supports returning null from custom marshaller. This could be used to either delete or skip the marshalled attribute according to the configured SaveBehavior.
  • The latest version of the Amazon EC2 client in the SDK has dozens of updates with new enumerations for common string values. Instead of having to look up these values in the Amazon EC2 API Reference, you now have them at your fingertips, directly in the SDK for you to reference.
  • The Jackson dependency has been updated to 2.1.
  • Fixed a typo in the code when escaping quotes in Amazon S3 XML request payloads.
  • Enable correct request signing when the client's endpoint contains a resource path.
  • Fixed the bug that Amazon S3 client cannot handle key names starting with slash character.

New in version 1.6.1 (September 16th, 2013)

  • New Features:
  • The Amazon EC2 Instance Type enumeration has been updated to include the High Memory Cluster Eight Extra Large Instance type (cr1.8xlarge).
  • The SDK now will compute and compare the client side MD5 digest with the server side one when the user consumes the inputStream getting from Amazon S3 using getObject. User can set system property 'com.amazonaws.services.s3.disableGetObjectMD5Validation' to disable this feature.
  • The SDK now will validate the messages sent to or received from Amazon SQS, by checking the MD5 digest of the message body.
  • The new SDK version for SNS supports publishing larger messages (up to 256KB maximum). This version of the SDK uses Signature Version 4 for calls to SNS. Use of signature version 4 is required to publish messages larger than 64KB up to a maximum size of 256KB.
  • This updates adds support for Mobile Push for Amazon Simple Notification Service (SNS). App developers can now easily send push notifications to Apple, Google and Kindle Fire devices using one simple API, and easily scale from a few notifications a day to millions of notifications or higher.
  • The high-level DynamoDBMapper class now supports a new SaveBehavior strategy, called UPDATE_SKIP_NULL_ATTRIBUTES. This new SaveBehavior is very similar to the existing UPDATE strategy. The only difference is that any attributes sent with null values will not be removed from the item in DynamoDB.
  • An additional dryRun(...) method is now available in AmazonEC2Client. You can use this new utility method to check whether you have the required permissions for the provided Amazon EC2 operation, without actually executing it. Users with complex IAM policies will now be able to more easily detect and test for any policy/permission problems ahead of time.
  • This release of the SDK will automatically correct end device clock skew for all requests made via the SDK.
  • This release of the SDK includes an update to the Apache HTTP client version 4.2 which corrects a number of performance issues.
  • This release of the SDK updates the minimum supported version of the Android SDK to 2.3.3 (API level 10).
  • Solves issues:
  • Many truncated links in the SDK Javadoc have been fixed.
  • Unnecessary trailing commas in model class toString() methods have been removed so that the toString() output is more readable.
  • This release of the SDK resolves the resource leak issue in HandlerChainFactory.
  • This release of the SDK adds 'US_GovCloud' to the com.amazonaws.services.S3.model.Region enumeration.
  • This release of the SDK fixes the bug with URL encoding of the object key.
  • It also corrects a typo in progress method names by adding new methods and marking the old methods as deprecated.
  • A new one-argument AmazonS3Client constructor now enables you to pass in a ClientConfiguration object and rely on a DefaultAWSCredentialsProviderChain to provide credentials, just like the no-arg, default constructor.
  • The SDK will treat 'expires' header in the request as a normal HTTP expires head instead of object expiration time. Users can set a get it through the 'httpExpiresDate' field in object metadata.
  • You can now easily look up Regions by name with the new fromName method.
  • Performance improvements to AWS Signature V4 signing and string manipulation for Amazon S3 bucket name validation and URL encoding.

New in version 1.6.0 (June 3rd, 2013)

  • New Features:
  • AWS STS AssumeRoleWithWebIdentity
  • Amazon DynamoDB Client Parallel Scan
  • Resolved Issues:
  • AmazonWebServiceClient setRegion
  • Amazon DynamoDB Query
  • Resource Leak
  • Class Path in Samples

New in version 1.4.6 (March 12th, 2013)

  • Added support for default virtual private clouds (VPC) when launching EC2 instances. For more information see Amazon Elastic Compute Cloud and the Amazon Elastic Compute Cloud User Guide.
  • You can copy an AMI from one region to another, enabling you to quickly and easily launch consistent instances in more than one AWS region.
  • Additional configuration tuning for Apache HttpClient now reduces overhead for sending requests. Applications should see latency reduction of a few milliseconds across the board, on all requests. This improvement will be most noticeable for applications running inside the AWS network on EC2 instances making requests to other services.
  • The set of canonical regional service endpoints are fetched from cloudfront the first time they are needed, then used for the duration of the process's life. This introduces an insignificant but measurable latency the first time a web service client is constructed in this fashion.

New in version 1.4.5 (February 27th, 2013)

  • Auto Scaling: EBS-Optimized Instances
  • Per-page scan and query operations for DynamoDBMapper
  • Table name prefixes for DynamoDBMapper
  • Subscribing Queues to Topics
  • Amazon S3 Website Redirects
  • EBS Copy Snapshot
  • Handle Device Clock Skew

New in version 1.4.4 (February 15th, 2013)

  • Amazon DynamoDB Consistent Batch Reads
  • Amazon DynamoDB CRC32 Consistency Checks
  • EC2 Spot Instance Request Status
  • Amazon Simple Queue Service Long Polling
  • Amazon S3 - Archiving Objects to Amazon Glacier
  • Amazon S3 doesBucketExist() problems
  • Errors when calling the doesBucketExist() method, for some buckets, have been resolved.
  • Amazon DynamoDBMapper short data type support
  • The short numeric data type is now supported in DynamoDBMapper.
  • Amazon EC2 API issues with DescribeReservedInstancesOfferingsRequest
  • Two missing fields have been added to this request object.