3.0.0
General SDK improvements
-
Breaking API Changes
- 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 mutationaddPost(...){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 anull
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.
-
- Added support for connecting to AWS AppSync using pure WebSockets for GraphQL subscriptions.
-
Breaking Build Changes
- Adopted Semantic versioning
- Starting with version 3.0.0 AppSync AWS iOS SDK will follow semantic versioning.
- Adopted Semantic versioning
Misc. Updates
- Updated Reachability dependency to 5.0.0