Skip to content

Releases: apollographql/apollo-ios

Version 0.34.0

29 Sep 04:18
Compare
Choose a tag to compare

Version 0.34.0-rc.2

22 Sep 20:19
Compare
Choose a tag to compare

Networking Stack, Release Candidate 2

  • Made RequestChainNetworkTransport subclassable and changed two methods to be open so they can be subclassed in order to facilitate using subclasses of HTTPRequest when needed. (#1405)
  • Made numerous improvements to creating upload requests - all upload request setup is now happening through the UploadRequest class, which is now open for your subclassing funtimes. (#1405)
  • Renamed RequestCreator to RequestBodyCreator to more accurately reflect what it's doing (particularly in light of the fact that we didn't have a Request in the old networking stack, and now we do), and renamed associated properties and parameters. (#1405)

Version 0.34.0-rc.1

18 Sep 21:25
Compare
Choose a tag to compare

Networking Stack, Release Candidate

  • Added some final tweaks:

    • Updated ApolloStore to take a default cache of the InMemoryNormalizedCache.
    • Updated LegacyInterceptorProvider to take a default store of the ApolloStore with that default cache.
    • Added a method to InterceptorProvider to provide an error interceptor, along with a default implementation that returns nil.
    • Updated JSONRequest to be open so it can be subclassed.

    This is now at the point where if there are no further major bugs, I'd like to release this - get your bugs in ASAP! (#1399

Version 0.34.0-beta2

16 Sep 00:13
Compare
Choose a tag to compare
Version 0.34.0-beta2 Pre-release
Pre-release

Networking Stack, Beta 2

  • Merges 0.33.0 changes into the networking stack for Swift 5.3 and Xcode 12.

Version 0.33.0

15 Sep 23:06
Compare
Choose a tag to compare
  • Adds support for Xcode 12 and Swift 5.3. (#1280)
  • Adds workaround script for Carthage support in Xcode 12. Please see Carthage-3019 for details. TL;DR: cd into [YourProject]/Carthage/Checkouts/apollo-ios/scripts and then run ./carthage-build-workaround.sh to actually get Carthage builds that work. (#yolo committed to main)

Version 0.33.0-beta1

11 Sep 20:06
Compare
Choose a tag to compare

First beta of our new networking stack.

  • SPECTACULARLY BREAKING: The networking stack for HTTP requests has been completely rewritten. This is described in great detail in the RFC for the networking changes, as well as the updated documentation for Advanced Client Creation. Please, please, please file bugs or requests for clarification of the docs as soon as possible. Note that all changes until the networking stack comes out of beta will live on the betas/networking-stack branch. (#1341)

Version 0.32.1

10 Sep 20:34
Compare
Choose a tag to compare
  • Improves invalidation of a URLSesionClient to include cancellation of in-flight operations. (#1376)

Version 0.32.0

02 Sep 23:05
Compare
Choose a tag to compare
  • Fixes an issue that would occur when a GraphQL query watcher's dependent keys would not get updated. (#1375)
  • Adds an extensions dictionary property to GraphQLResult. (#1370)
  • Makes a couple of response parsing helpers public for advanced use cases. (#1372)

Version 0.31.0

20 Aug 19:33
Compare
Choose a tag to compare
  • Adds the ability to pause and resume a WebSocket connection without dumping existing subscriptions. (#1335)

  • Adds an initializer to SQLiteNormalizedCache that takes a SQLite.swift DatabaseConnection to more easily allow setup of pre-configured connections. (#1330)

  • Addresses a retain cycle that could cause memory leaks when using multiple instances of HTTPNetworkTransport.

    NOTE: If you're using URLSessionClient outside the context of HTTPNetworkTransport, make sure to call invalidate() on it when whatever is holding onto it hits deinit() to prevent leaks. (#1366)

Version 0.30.0

17 Jul 19:16
Compare
Choose a tag to compare
  • BREAKING: Updates the CLI to 2.30.1 to fix a long-standing issue where when generating operation IDs and their related JSON file, the correct operations + fragments would be used in generating the operation ID, but not output with the JSON file. This will slightly change the output in API.swift, but it also means we can remove a related workaround from the iOS SDK. (#1316)
  • BREAKING: Removed the Cartfile which declared our dependencies, since we're now internally managing them with SPM, and newer versions of Carthage just use the SPM dependencies. Note that this can cause issues if you need to use a fork of dependencies, or if you're using an older version of Carthage. (#1311)
  • POSSIBLY BREAKING: Works around an issue that could cause some attempts to store untyped JSON dictionaries to throw unexpected errors about optional encoding. This also added handling of creating a dictionary from a JSONValue, which may cause problems if you've already implemented this yourself, but which should mostly just replace the need to implement it yourself. Please file issues ASAP if you run into problems here. (#1317)
  • Works around an issue causing some attempts to store arrays of JSON dictionaries to have arbitrary key ordering. (#1281)
  • Adds clearer error descriptions to a few errors. (#1295)