Skip to content

3.0.0

Compare
Choose a tag to compare
@palpatim palpatim released this 15 Nov 19:08

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 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.

  • Breaking Build Changes

    • Adopted Semantic versioning

Misc. Updates

  • Updated Reachability dependency to 5.0.0