Skip to content

Releases: awslabs/aws-mobile-appsync-sdk-android

AWS AppSync SDK for Android v3.1.2

13 Nov 20:20
9e381e6
Compare
Choose a tag to compare

AWS AppSync SDK for Android v3.1.1

16 Sep 21:07
Compare
Choose a tag to compare

AWS AppSync SDK for Android v2.11.0

20 Jul 19:07
Compare
Choose a tag to compare

Release 2.11.0

The 2.x releases use MQTT as a subscription transport, instead of WebSockets, as in 3.x.

Most users should use the latest release of 3.x.

Bug Fixes

The 2.11.0 release contains a back-port of support for Android Studio 4.0.0+ / Android Gradle Plugin 4.0.0+ / Gradle 6+. See #270.

AWS AppSync SDK for Android v3.1.0

16 Jul 21:48
Compare
Choose a tag to compare

Release 3.1.0

Bug Fixes

Adds support for Android Studio 4.0.0+ / Android Gradle Plugin 4.0.0+. Addresses incompatibilities with Gradle 6+. See #270.

AWS AppSync SDK for Android v3.0.1

17 Dec 18:29
db8c284
Compare
Choose a tag to compare

Release 3.0.1

Bug Fixes

  • Added fix to preserve null list items when parsing the response. See issue #156 for details.

AWS AppSync SDK for Android v3.0.0

17 Dec 18:29
15affc1
Compare
Choose a tag to compare

Release 3.0.0

Enhancements

  • Added support for connecting to AWS AppSync using pure WebSockets for GraphQL subscriptions.

    • Selection set filtering will be done per client as each client can define their own selection set.
      In this case the subscription selection set must be a subset of the mutation selection set. For example,
      a subscription addedPost{author title} linked to the mutation addPost(...){id author title url version}
      would receive only the author and the title of the post and none of the other fields.
      However, if the mutation didn't have the author in its selection set the subscriber would get a null
      value for the author field (or an error in case the author field is defined as required/not-null in the schema).
    • In the earlier SDK version, if you didn’t configure the associated subscription selection set with the required fields
      and relied on the mutation fields to push data to subscribed client, the behavior will change when you move to this version
      that use pure WebSockets. In the example above, a subscription without the "author" field defined in its selection set
      would still return the author name with MQTT over WebSockets as the field is defined in the mutation, the same behavior
      won’t apply for pure WebSockets. The subscription selection set is essential when using pure WebSockets: if a field is
      not explicitly defined in the subscription it won't be returned by AWS AppSync.
  • Adopted Semantic versioning

Misc. Updates

  • AWSAppSync now depends on AWSCore version 2.16.3 instead of 2.16.1.

AWS AppSync SDK for Android v2.10.1

17 Oct 03:22
caaf407
Compare
Choose a tag to compare

Release 2.10.1

Enhancements

  • Make GraphQLStoreOperation.Callback a public interface, so the AWSAppSyncStore asynchronous operations can be passed with a callback. Thanks @cjami for the contribution. See PR #193 for details.

Misc. Updates

  • AWSAppSync now depends on AWSCore version 2.16.1 instead of 2.13.5.

Bug Fixes

  • If an App Sync subscription attempts to be executed while in a non-Idle state, it will now pass the error back through the callback vs. crashing the app with a runtime exception. See issue#202

AWS AppSync SDK for Android v2.10.0

07 Jun 21:22
65ea80d
Compare
Choose a tag to compare

Enhancements

  • Add new validations in AWSAppSyncClient.Builder.
    • Throw RuntimeException when Android context passed in is null.
    • Throw RuntimException when there is no valid AuthMode object passed in.

Misc. Updates

  • AWSAppSync now depends on AWSCore version 2.13.5 instead of 2.13.4.

AWS AppSync SDK for Android v2.9.0

14 May 18:42
Compare
Choose a tag to compare

New Features

  • Support multiple authorization modes for a single AWS AppSync GraphQL endpoint.
  • Introduced clientDatabasePrefix(String) that accepts a prefix that will be used in the construction of database name for caching query responses, offline mutations and subscriptions metadata. The usage of the prefix can be enabled by the flag useClientDatabasePrefix(true). When the prefix is used, the name of the database would look as follows:
Purpose of cache No prefix Valid prefix
Query responses appsyncstore <ClientDatabasePrefix>_appsyncstore
Offline Mutations appsyncstore_mutation <ClientDatabasePrefix>_appsyncstore_mutation
Subscriptions metadata for Delta Sync appsync_deltasync_db <ClientDatabasePrefix>_appsync_deltasync_db
  • The ClientDatabasePrefix can be passed via awsconfiguration.json that is generated from the AWS AppSync Console and Amplify CLI.

       "AppSync": {
          "Default": {
            "ApiUrl": "https://xyz.appsync-api.us-east-2.amazonaws.com/graphql",
            "Region": "us-east-2",
            "AuthMode": "API_KEY",
            "ApiKey": "da2-xyz",
            "ClientDatabasePrefix": "MyAppSyncAPIName_API_KEY"
          }
        }
    

    The AWSAppSyncClient object can be constructed as follows:

        AWSAppSyncClient awsAppSyncClient = AWSAppSyncClient.builder()
                  .awsConfiguration(awsConfiguration)
                  .useClientDatabasePrefix(true)
                  .build();
  • Alternatively, the ClientDatabasePrefix can be passed via the AWSAppSyncClient.Builder.

       AWSAppSyncClient awsAppSyncClient = AWSAppSyncClient.builder()
                      .context(getApplicationContext())
                      .apiKey(new BasicAPIKeyAuthProvider("da2-apiKey"))
                      .serverUrl(serverUrl)
                      .region(region)
                      .useClientDatabasePrefix(true)
                      .clientDatabasePrefix("MyAppSyncAPIName_API_KEY")
                      .build();

Misc. Updates

  • AWSAppSync now depends on AWSCore version 2.13.4 instead of 2.13.2.

AWS AppSync SDK for Android v2.8.3

09 May 18:31
Compare
Choose a tag to compare

Bug Fixes

  • Fixed a bug with inconsistent capitalization of class names in generated code that represent GraphQL input types. See PR #150 for details.
  • Fixed a bug with inconsistent capitalization of variables in generated code that represent fields for GraphQL types. See PR #172 for details.