v0.3.0 (2022-01-20)
Breaking Changes
-
Flutter: Linting & clean up (#1202)
How to Migrate:
- Update all imports of
import 'package:amplify_flutter/amplify.dart';to import'package:amplify_flutter/amplify_flutter.dart';
- Update all imports of
-
API: This version changes GraphQL subscription interface to use Streams. See the amplify_api page for additional information.
-
Auth: The
fetchAuthSessionAPI will throw a SignedOutException when the user has not signed in, and a SessionExpiredException when the tokens have expired. -
Auth: The
getCurrentUserAPI will return an AuthUser if the user is still authenticated but the session has expired. -
DataStore:
ModelProviderandModelFieldinterface changesHow to Migrate:
- Install the required version of
@aws-amplify/clias described on the amplify_datastore page - Run
amplify codegen modelsto regenerate models
- Install the required version of
-
DataStore: This version introduces a breaking change to Android Apps as an existing bug writes
DoubleandBooleanvalues asTEXTin local SQLite database. The fix corrects this behavior. Hence, directly applying this fix may raise SQL error while reading from and writing to local database.How to Migrate:
Invoke
Amplify.DataStore.clear()on App start after upgrading to the latest version of Amplify Flutter. This API clears and recreates local database table with correct schema.NOTE: Data stored in local database and not synced to cloud will be lost, as local migration is not supported.
Features
- Amplify Authenticator preview release!
- New
AmplifyConfigtype for fully-typed configurations - feat(api): GraphQL Subscription Stream (#905)
- feat(datastore): Add CustomType functionality (#847)
- feat(datastore): Add ModelField ReadOnly support (#599)
Fixes
- fix(api): remove tabs from graphql document strings in android (#1178)
- fix(api): OIDC Fixes for REST/GraphQL
- fix(auth): throw SignedOutException (#893)
- fix(auth): fixes getCurrentUser disparity (#894)
- fix(auth): remove int.parse from AuthUserAttribute (#1169)
- fix(datastore): configure function triggers initial sync unexpectedly (#986)
- fix(datastore): fix error map from ios (#1126)
- break(datastore): cannot saving boolean as integer in SQLite (#895)