Skip to content

Releases: aws-amplify/amplify-android

Amplify Android 1.6.7

10 Dec 22:59
Compare
Choose a tag to compare

DataStore

  • Encountering error while publishing mutation no longer crashes DataStore. See PR #976.

  • Fixed a race condition in the sync engine. See Issue #1010.

  • Storage engine behavioral updates:

    • delete() of non-existent model no longer triggers error callback. See PR #1033.
    • save() of non-existent model with predicates now triggers error callback. See Issue #1034.
  • Improved Flutter support:

    • owner field now included to Selection Set. See Issue #1019.
    • Float type in GraphQL schema now stored as Java's double. See Issue #1031.

Auth

  • Now supports specifying custom browser for web UI. See PR #1030.

API

  • Fix Rest API's DELETE operation. See Issue #1028.

See all changes between 1.6.6 and 1.6.7.

Amplify Android 1.6.6

01 Dec 22:56
Compare
Choose a tag to compare

Minor improvements to the DataStore:

  1. Fixes issue #1012, aligning the OutboxMutationEvent to the design on iOS (See PR #1015.)
  2. Fixes issue #1011, addressing a failure while merging AppSync deletions, when being used by Flutter (See PR #1014.)
  3. Improves the recovery suggestions in the error messages arising when subscriptions fail (See #1016.)

See all changes between 1.6.5 and 1.6.6.

Amplify Android 1.6.5

27 Nov 21:00
Compare
Choose a tag to compare

Fixes various bugs in the DataStore.

Fixes benefiting all DataStore customers:

  1. #993 addressing #984, "Error events in DataStore.observe cause an app crash"
  2. #1000, "Prevent NPE while inspecting GraphQL errors," resolving #977

Fixes benefiting customers who use the Android DataStore via Flutter:

  1. #1004 resolving #994, "Remote delete mutations are not getting saved locally"
  2. #1001 addressing #998, "ClassCastException when saving Temporal types from Flutter"
  3. #1007 addressing #997, "ClassNotFoundException: boolean on app start"

A complete manifest of changes since 1.6.4 can be seen here.

Amplify Android 1.6.4

24 Nov 22:09
5467886
Compare
Choose a tag to compare

Fixes a DataStore bug where-in Flutter users publishing connected models to AppSync could fail.

Amplify Android 1.6.3

23 Nov 22:16
Compare
Choose a tag to compare

Minor fixes and updates.

DataStore

  • Fixes a bug preventing cloud-synchronization of connected models when using Flutter (See #985)

Predictions

  • Exposes getBoxes() method to show the boundaries of a Label object in Predictions (See #968)

Amplify Android 1.6.2

20 Nov 02:14
0f8dcdc
Compare
Choose a tag to compare

DataStore

  • Selective Sync: Added ability to filter which data is synced to the client (everything is synced by default) (#959)
Amplify.addPlugin(new AWSDataStorePlugin(DataStoreConfiguration.builder()
    .syncExpression(Blog.class, () -> Blog.NAME.equals("foo"))
    .syncExpression(Post.class, () -> Post.TITLE.beginsWith("bar"))
    .syncExpression(Comment.class, () -> Comment.CONTENT.contains("baz"))
    .build()));
Amplify.configure(context);

See the following diff for a complete set of changes since the last release.

Amplify Android 1.6.1

20 Nov 03:24
1f73dba
Compare
Choose a tag to compare

Storage

  • Added uploadInputStream API. With the privacy changes in Android 10, clients often don't have easy access to a File anymore, so the existing uploadFile API is not enough. Now, clients are typically working with a URI, which can easily be converted to an InputStream, and passed to the new API (#955).
InputStream inputStream = new ByteArrayInputStream("myData".getBytes());
Amplify.Storage.uploadInputStream(
    "keyForMyData",
    inputStream,
    result -> Log.d("MyApp", "Uploaded InputStream for key: " + result.getKey()),
    error -> Log.e("MyApp", "Error uploading InputStream: ", error));

See the following diff for a complete set of changes since the last release.

Amplify Android 1.6.0

13 Nov 23:02
Compare
Choose a tag to compare

DataStore

  • Fixed issue with querying deeply nested relational models (#892)
  • Conditional delete is now wired up with the local storage (#949)
  • Fixed race condition that caused READY status to fire multiple times (#952)
  • Now works with Dart-language models for Flutter support (#954). See issue #842 for more details.

See the following diff for a complete set of changes since the last release.

Amplify Android 1.5.0

02 Nov 21:42
Compare
Choose a tag to compare

API

  • Added support for owner-based auth with OIDC (#906)
  • Added support for custom group claim with OIDC (#930)
  • Fix bug where subscriptions will not be received if the owner field is defined implicitly (#926)

DataStore

  • Modifies subscription error handling to allow other subscriptions to stay connected if others return Unauthorized errors (#942)
  • Added start and stop APIs to provide more control of the DataStore lifecycle, and modified behavior of configure and clear to not start anymore. Lazy start will still occur if needed as a result of query, save, delete, and observe (#909)
  • Removed the PUBLISHED_TO_CLOUD event, which was duplicated by OUTBOX_MUTATION_PROCESSED, and renames the RECEIVED_FROM_CLOUD event to SUBSCRIPTION_DATA_PROCESSED (#931)

See the following diff for a complete set of changes since the last release.

Amplify Android 1.4.2

19 Oct 18:39
84ce9bc
Compare
Choose a tag to compare

DataStore

  • Added mutation conflict handling (#883)(#904)(#907). Users can supply their own conflict handling strategy, by passing it in a DataStoreConfiguration provided to the AWSDataStorePlugin:
val config = DataStoreConfiguration.builder()
    .dataStoreConflictHandler((conflictData, onResult) -> {
        onResult.accept(DataStoreConflictHandlerResult.APPLY_REMOTE);
    })
    .build();
Amplify.addPlugin(AWSDataStorePlugin(config))
  • fix: make subscription timeout model count dependent (#858)
  • fix: Prevent concurrent start/stop on orchestrator (#876

API

  • Adds support for custom identity claim (#889)

Storage

  • Enable setting of the server side encryption algorithm in StorageUploadFileOptions (#886), (#897)
    Amplify.Storage.uploadFile(
            "ExampleKey",
            exampleFile,
            AWSS3StorageUploadFileOptions.builder()
                    .serverSideEncryption(ServerSideEncryption.MANAGED_KEYS)
                    .build(),
            { progress -> Log.i("MyAmplifyApp", "Fraction completed: ${progress.fractionCompleted}") },
            { result -> Log.i("MyAmplifyApp", "Successfully uploaded: ${result.getKey()}") },
            { error -> Log.e("MyAmplifyApp", "Upload failed", error) }
    )

Misc Updates

  • Fail early and throw useful exception if customer forgets to call Amplify.configure (#888)
  • Update okhttp 4.9.0 (#862)
  • Update androidx-core 1.3.2 (#890)
  • Update awsSdkVersion 2.19.1 (#914)

See the following diff for a complete set of changes since the last release.