Releases: apollographql/apollo-ios
Releases · apollographql/apollo-ios
Version 0.34.0-beta2
Networking Stack, Beta 2
- Merges
0.33.0
changes into the networking stack for Swift 5.3 and Xcode 12.
Version 0.33.0
- 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 tomain
)
Version 0.33.0-beta1
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
- Improves invalidation of a
URLSesionClient
to include cancellation of in-flight operations. (#1376)
Version 0.32.0
Version 0.31.0
-
Adds the ability to pause and resume a WebSocket connection without dumping existing subscriptions. (#1335)
-
Adds an initializer to
SQLiteNormalizedCache
that takes aSQLite.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 ofHTTPNetworkTransport
, make sure to callinvalidate()
on it when whatever is holding onto it hitsdeinit()
to prevent leaks. (#1366)
Version 0.30.0
- 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 inAPI.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)
Version 0.29.1
Version 0.29.0
- NEW: Swift scripting is officially out of Beta! Please check out our updated guide to integration. The tutorial should be updated to recommend using Swift Scripting within the next week or so. NOTE: The shell script is not deprecated yet, but will be shortly. (#1263)
- BREAKING: Found some workarounds to conditional conformance and updated all extensions to use the
apollo.extensionMethod
syntax introduced in0.28.0
. (#1256) - BREAKING: Moved a few things into the new
ApolloCore
library. For CocoaPods and SPM users, this should be automatically picked up by your package manager. Carthage users, you will need to drag the newApolloCore
library into your project manually as you have with the other Apollo libs. (#1256) - BREAKING: Updated to version
2.28.0
of the Apollo JS CLI. This includes moving a bunch ofstatic let
allocations to computedstatic var
s to prevent memory overuse. (#1246) - Made
GraphQLGetTransformer
and its methods public and made a couple more methods onMultipartFormData
public. (#1273) - Fixes an issue when uploading multiple files for different variables. (#1279, special thanks to #1081)
- Fixes a crash when encoding
GraphQLVariable
objects which conform toJSONEncodable
. (#1262)
Version 0.28.0
- BREAKING: Changed a few things in the
ApolloCodegen
library to useobject.apollo.extensionMethod
syntax rather thanobject.apollo_extensionMethod
. There's a few things that are still usingapollo_
notation due to constraints around conditional conformance, but you should particularly check your swift scripts for changes aroundFileManager
APIs. (#1183) - BREAKING:
NormalizedCache
now has a method for explicitly clearing the cache synchronously, in addition to the existing method to clear it asynchronously. If you've got a customNormalizedCache
implementation, you'll need to add an implementation for this method. (#1186) - Fixed race conditions in
URLSessionClient
that were causing unexpected behavior. Turns out concurrency is hard! (#1227) - Improved handling of a dependent key update cancelling an in-flight server fetch on a watcher. (#1156)
- Added option to Swift Codegen to pass in a prefix for custom scalars. (#1216)
- Added ability to change a header on a websocket connection and automatically reconnect. (#1224)