Skip to content

Releases: apollographql/apollo-ios

1.7.1

13 Nov 22:03
Compare
Choose a tag to compare

Fixed

  • Fixed inconsistent ordering of fragments in generated operation definitions (#130): In order to make the ordering of fragments consistent, they are now alphabetized. This is a change to the data that gets sent over the wire when making a network request for an operation with fragments. Persisted Queries users should re-register their queries when upgrading to this version. Thank you to @scottasoutherland for reporting the issue.

Improvement

  • Add initializer for SelectionSet that takes a [String: Any] JSON object (#102): Thank you to @Cookiezby for the contribution.

1.7.0

01 Nov 20:53
Compare
Choose a tag to compare

ApolloCodegenLib Now Uses Swift Concurrency
To improve the performance of the code generation, the ApolloCodegenLib now uses async/await. Code generation is now parallelized and should complete much faster for users with a large number of GraphQL files.
This means that the entry point function, ApolloCodegen.build(with configuration:) is now an async function. For users using the ApolloCodegenLib directly, you will need to make your call sites into this function use async/await. In most cases, this requires minimal code changes. Please see the 1.7.0 migration guide for information on how to upgrade.

See PR #57.

Fixed

  • Fixed a bug with ApolloAPI.Object clashing with custom objects name Object (#94): Thank you to 215eight for reporting the issue.

1.6.1

12 Oct 23:03
Compare
Choose a tag to compare

Fixed

  • Fix bug with AnyHashable coercion (#68): This is an additional fix for the crashes on iOS 14.4.1.

1.6.0

06 Oct 19:06
Compare
Choose a tag to compare

The Apollo iOS ecosystem is changing in the 1.6.0 release in order to provide a better development experience for users. For most users nothing will change, while some users will see a minor difference. The biggest change is that the ApolloCodegenLib is now in a separate repo/package that will need to be included as its own dependency from apollo-ios-codegen if you are doing your code generation through Swift. If you are using the codegen CLI then no changes are necessary.

For a detailed breakdown of the changes please see this GitHub Issue.

Fixed

  • Fixed crashes in iOS 14.4 and below (#61): Thank you to matijakregarGH for reporting the issue.

1.5.2

29 Sep 20:10
42802f5
Compare
Choose a tag to compare

The purpose of this release is to provide a deprecation message to users of ApolloCodegenLib who are scripting their code generation in advance of an upcoming change to our libraries and repo structure. Beginning with the upcoming 1.6.0 release the code generation libraries will be their own SPM package in their own repo which will require you to add a new dependency to you project in order for your code generation scripting to compile. More information can be found in our announcement of this change.

If you would like to avoid this deprecation warning in your builds feel free to stay on 1.5.1 or earlier, this warning will be gone in the 1.6.0 release

PR containing deprecation warning for reference: #3243.

1.5.1

29 Sep 19:47
c1ff0fc
Compare
Choose a tag to compare

Improvement

  • Added OutputOptions property to codegen for marking generated classes as final (#3189): Thank you to @Mordil for the contribution.

Fixed

  • Codegen itemsToGenerate option for .all not generating an operation manifest (#3215): Thank you to @TizianoCoroneo for finding and fixing the issue.
  • Codegen operation manifest inadvertantly being generated twice (#3225): Thank you to @jimisaacs for finding and fixing the issue.

1.5.0

05 Sep 21:07
0773964
Compare
Choose a tag to compare

New

  • Added the ability pass a custom RequestContext to networking APIs (#3198): Thank you to @danieltiger for the contribution.
    • Minor Breaking Change: The requestContext parameter is optional with a default value of nil. This means there are no breaking changes to the APIs for making networking calls. However, the requestContext parameter was also added to the ApolloClientProtocol. For custom implementations of this protocol (usually used for unit testing), you will need to add the requestContext parameter to your function signatures.

Fixed

  • Null values are no longer stripped from the underlying data used by generated SelectionSet models (apollo-ios-dev/#25):
    • When these models were manually inserted into the cache, the null fields, which were stripped, were not written to the cache. This caused unintended cache misses when fetching those values back out of the cache.
    • This fixes #3092. Thank you to @aleksanderlorenc-lw for raising this issue.

1.4.0

10 Aug 17:47
f94d367
Compare
Choose a tag to compare

v1.4.0

New

  • Added the ability to set a casing strategy for field names in code generation (#2738): See PR (#3171). Thank you to @Spatel91111 for the feature request.

Improvement

  • Updated the way persisted queries are configured for code and manifest generation: See PR (#3175)
  • Updated docs for other schema module type to provide more clarity (#3164): See PR (#3170) Thank you to @Mordil for suggesting this update.

1.3.3

01 Aug 19:17
c3f6951
Compare
Choose a tag to compare

Fixed

  • Fix two issues with generated models: See PR (#3168). Thank you to @iAmericanBoy for finding these issues and providing a reproduction case.
  • Fix computation of operation identifiers for persisted queries: See PR (#3163). Thank you to @WolframPRO for finding these issues.

1.3.2

20 Jul 22:11
97ad4f5
Compare
Choose a tag to compare

Improved

  • Throw an error when an invalid key is present in the codegen configuration JSON (#2942): See PR (#3125) Thank you to @Iron-Ham for the contribution.
  • Cleanup unused imports and declarations. (#3099): See PR (#3100) Thank you to @Iron-Ham for raising the issue and contributing the fix.
  • Improvement to response code error API (#2426): See PR (#3123). Thank you to @dfperry5 for the contribution.
  • Improved file path support for operation manifest generation: See PR (#3128)

Fixed

  • Fix two issues in test mock generation: See PR (#3120). Thank you to @TizianoCoroneo for finding this issue and contributing the fix.
  • Fixed precondition failure when surpassing graphql-js max error count (#3126): See PR (#3132).

Deprecated

  • Deprecated queryStringLiteralFormat in ApolloCodegenConfiguration: Query string literals will now always be generated as single line strings. See PR (#3129).