github apollographql/apollo-ios preview-defer.2

latest release: 1.10.0
pre-release24 days ago

This is the second preview release of @defer support in Apollo iOS which focuses on providing early access to using the @defer directive in your operations. During preview releases bugs can occur, if you do experience anything unexpected please report it to us.

Note: Apollo supports a very specific version of the @defer directive proposal as documented here. The @defer directive is still in the proposal stage and is not an official addition to the GraphQL specification yet. This means that Apollo iOS may not work with all servers that currently support @defer.

In this release

  • Fixed: If your schema explicitly declared the @defer directive then an error about duplicate directives would be thrown during code generation.
  • Fixed: In some cases the operation metadata for deferred fragments may have been generated with incorrect Swift syntax resulting in a build error.

How to use it

We have a sample schema/server that supports @defer and can be launched using the Docker configuration.

Once you have that service launched you can configure your Apollo iOS client to target the apollo-ios and apollo-ios-codegen dependency packages using the preview-defer.2 tag. Below is an example query using @defer against the schema.

query ExampleQuery {
  allProducts {
    sku
    id
    ... on Product @defer(label: "additional") {
      dimensions {
        size
      }
      variation {
        id
        name
      }
    }
  }
}

Alternatively here is a sample client to demonstrate the code generation and operation execution of the @defer directive.

Caveats in this preview release

  • Caching is intentionally disabled for operations using @defer.

Don't miss a new apollo-ios release

NewReleases is sending notifications on new releases.