All Versions
101
Latest Version
Avg Release Cycle
10 days
Latest Release
-

Changelog History
Page 9

  • v0.18.0 Changes

    October 23, 2019
    • POSSIBLY BREAKING: Updated CLI to no longer be directly bundled, but to be downloaded if needed. This allows us to avoid bloating the iOS repo with the CLI zip, and to make it easier to test different versions of the CLI in the future. This change should automatically download the updated CLI version for you.

    Note one significant change from prior bundled versions: If you are connected to the internet when you download the iOS dependency through SPM/Carthage/CocoaPods, you will now need to build your target while still connected to the internet in order to download the proper version of the CLI. Once the correct version of the CLI is downloaded, internet access should no longer be necessary to build. If you disconnect from the internet before the correct version downloads, you will not be able to build. (#855)

  • v0.17.0 Changes

    October 16, 2019
    • ๐Ÿ†• NEW : Support for Automatic Persisted Queries. This feature allows you to send the hash of a query to your server, and if the server recognizes the hash, it can perform the whole query without you having to send it again. This is particularly useful for large queries, since it can reduce the amount of data you have to send from your user's device pretty significantly. (#767)
    • ๐Ÿ’ฅ BREAKING : Removed old script files which have been deprecated. If you were still using these, please check out the updated codegen build step setup instructions to get up and running with the run-bundled-codegen script. (#820)
    • POSSIBLY BREAKING : Updated bundled CLI to v2.19.1. Please check out the CLI changelog for full details, but this version actually moves to using multi-line Swift strings for queries. If you prefer to have condensed queries, it also introduces a --suppressSwiftMultilineStringLiterals flag which produces single-line queries stripped of whitespace. (#831)
    • ๐Ÿ›  Fixed a couple places we were not using LocalizedError properly. (#818)
  • v0.16.1 Changes

    October 03, 2019
    • โšก๏ธ Updated the way run-bundled-codegen checks whether the bundled codegen has already been unzipped and has node locally. (#806)
    • โšก๏ธ Updated how default parameters are provided for RequestCreatorProtocol. (#804)
  • v0.16.0 Changes

    September 24, 2019
    • ๐Ÿ’ฅ BREAKING : We've switched to a much simpler setup which does not involve NPM in order to use our CLI. This requires updating your build scripts. Please follow the updated instructions for setting up the build script here. The existing build script will continue to work until the next minor release, at which point it will be removed. (#766)
    • ๐Ÿ›  Included CLI version fixes issues which showed up in 0.15.2.
    • ๐Ÿ’ฅ BREAKING : We've removed all public references to our internal Promise implementation, which was never intended to be public. (#709)
    • ๐Ÿ›  Fixed a deadlock in a transaction. (#763, #365)
    • โž• Added a RequestCreatorProtocol to allow you to more easily muck with and/or mock creating multipart requests. (#771)
    • ๐Ÿ›  Fixed an issue causing problems building with SPM in Xcode 11. (#784)
  • v0.15.3 Changes

    September 13, 2019
    • โšก๏ธ Revert CLI update from 0.15.2 due to unexpected build issues.
  • v0.15.2 Changes

    September 12, 2019
    • โšก๏ธ Update Apollo CLI requirement to 2.18. This should pull in a couple fixes to the CLI:
      • Way better escaping of identifiers, types, and strings (Tooling #1515)
      • Fix compiler warning when an optional has a .none case (Tooling #1482)

    If you run into any weird build issues after this update, try deleting your local node_modules folder and rebuilding before filing an issue. (#760)

    • ๐Ÿ‘ Better handling of the localizedDescription for HTTPResponseError. (#756)
  • v0.15.1 Changes

    September 04, 2019
    • โž• Add platform name to framework bundle identifier to work around a change to app store submission. Please see the PR for more details. (#751)
    • ๐Ÿ”ฆ Expose the initializer for GraphQLQueryWatcher so it can actually be instantiated. (#750)
  • v0.15.0 Changes

    August 16, 2019

    ๐Ÿ’ฅ BREAKING : Finally swapped out URLSessionConfiguration on initializer for HTTPNetworkTransport to use URLSession directly instead. If you were previously passing in a configuration, first hand it to a URLSession instance and then pass that instance into the initializer.

    This allows many new things including:

    • Support for background sessions
    • Easier mocking through NSURLProtocol
    • Certificate pinning
    • Self-signed certificates
    • Metrics inspection
    • Authentication challenge handling

    ๐Ÿ”ง All these are pretty much entirely through the ability to use URLSessionDelegate directly since we're now accepting a URLSession you can declare yourself to be the delegate of rather than just the configuration. (#699, inspired by #265)

    • ๐Ÿ’ฅ BREAKING , though hopefully in a good way: Significant updates to the Upload functionality to make it conform more closely to the GraphQL Upload Spec. Also added a goodly bit of documentation around this functionality. (#707)
    • ๐Ÿ“ฆ Way better support for Swift Package Manager, especially for ApolloSQLite and ApolloWebSocket. (#674)
    • ๐Ÿคก Created ApolloClientProtocol to match all public methods of ApolloClient for easier mocking. (#715, inspired by #693)
  • v0.14.0 Changes

    August 07, 2019
    • ๐Ÿ’ฅ BREAKING Updated codegen to use 2.17 of the Apollo CLI. Please see the full release notes for that version of the CLI, but in short:

      • Stops force-unwrapping and instead nil-coalesce to .none when the thing being unwrapped was a double-optional, which was causing some crashes
      • Fixes issue where removing redundant modifiers was a little too aggressive
      • Fixes escaping for Self as a type name
      • Adds CaseIterable for all known cases of an enum. If you were adding this yourself previously, you'll have to take it back out.
      • Adds comment with original operation to operationDefinition, stripped excess whitespace from actual definition.
    • โž• Added explicit support for Catalyst builds. (#688)

    • โž• Added support for Int custom scalars. (#402)

    • ๐Ÿ”ฆ Exposed clearCache directly on stores so a store being used by multiple clients can be more explicitly cleared. (#518)

    • ๐Ÿ›  Fixed an issue where an error on cache write would not be propagated correctly. (#673)

    • โšก๏ธ Updated supported Node version to the Long-Term Support version. (#672)

  • v0.13.0 Changes

    July 23, 2019

    PLEASE READ THESE RELEASE NOTES BEFORE INSTALLING IF YOU WERE USING AN OLDER VERSION!

    SUPER-BREAKING : Updated a ton of completion closures that could use it to use Result instead of optional parameter / optional error. (#644). There are a few details to this one to be particularly aware of:

    • If you see a bunch of Swift build errors that are claiming Generic Parameter "Query" could not be inferred , that means you need to update your completion closure to take the single Result<Parameter, Error> parameter instead of the two (Parameter?, Error?) parameters.

    - Particularly around caching, if there are places where both parameters were nil in previous iterations, you will now get an Error. This will generally be a JSONDecodingError.missingValue, either as the direct error or as the underlying error of a GraphQLResultError. Please check out the changes to FetchQueryTests in PR #644 for a better look at how some of that has changed.

    ๐Ÿ’ฅ BREAKING : Updated the codegen to use v2.16 of the Apollo CLI. (#647). This is a major version change so some things need to be added, and some parameter names have changed:

    • You must add --target=swift so the CLI knows to generate Swift code.
    • If you were using --schema=schema.json, use --localSchemaFile="schema.json" instead (the quotes are required!).
    • If you were using --queries="$(find . -name '*.graphql')" to pass in an array of all your GraphQL files, use --includes=./*.graphql instead.

    If you get error messages about multiple versions of node when you attempt to run, delete the node_modules folder in your source root and rebuild.

    โฌ†๏ธ Upgrading fixes several issues:

    • operationName is now generated for all operations.

    - Trailing newlines are now added to all generated files.

    ๐Ÿ†• NEW : Ability to upload files according to the GraphQL Multi-part request spec. (#626, #648, inspired by #116)

    ๐Ÿ†• NEW : Now that operationName is generated for all operations, we're sending it along with all requests. (#657, inspired by #492)

    ๐Ÿ†• NEW : We're also sending operationName as the X-APOLLO-OPERATION-NAME header and when an operationIdentifier is provided, sending that as the X-APOLLO-OPERATION-ID header. (#658)

    ๐Ÿ†• NEW : Option to run VACUUM on your SQLite store when clearing to help obliterate all traces of data. (#652)

    ๐Ÿ†• NEW : Auto-generated API documentation from inline comments. Now available on the website NOTE: Any manual changes made to markdown files will get overwritten, if you want to contribute to the docs, please add inline comments to the code and then I'll get the docs updated. (#642).

    ๐Ÿ‘ Made GraphQLResultError and its underlying error public for better error handling. (#655)