Releases: apollographql/apollo-ios
Version 0.21.1
- Repoints download link to our CDN for the CLI.
Version 0.20.1
- Repoints download link to our CDN for the CLI.
Version 0.19.1
- Repoints download link to our CDN for the CLI.
Version 0.18.2
- Repoints download link to our CDN for the CLI.
Version 0.27.0
- BREAKING: Replaced calls directly into the closure based implementation of
URLSession
with a delegate-based implementation calledURLSessionClient
.-
This (finally) allows background session configurations to be used with
ApolloClient
, since background session configurations immediately error out if you try to use the closure-basedURLSession
API. -
This makes a significant change to the initialization of
HTTPNetworkTransport
if you're using a customURLSession
: BecauseURLSession
must have its delegate set at the point of creation,URLSessionClient
is now creating the URL session. You can initialize aURLSessionClient
with aURLSessionConfiguration
. if before you were using:let session = URLSession(configuration: myCustomConfiguration) let url = URL(string: "http://localhost:8080/graphql")! let transport = HTTPNetworkTransport(url: url, session: session)
You will now need to use:
let client = URLSessionClient(sessionConfiguration: myCustomConfiguration) let url = URL(string: "http://localhost:8080/graphql")! let transport = HTTPNetworkTransport(url: url, client: client)
-
If you were passing in a session you'd already set yourself up to be the delegate of to handle GraphQL requests, you'll need to subclass
URLSessionClient
and override any delegate methods off ofURLSessionDelegate
,URLSessionTaskDelegate
, orURLSessionDataDelegate
you need to handle. Unfortunately only one class can be a delegate at a time, and that class must be declared when the session is instantiated.Note that if you don't need your existing delegate-based session to do any handling for things touched by Apollo, you can keep it completely separate if you'd prefer.
-
This does not change anything at the point of calls - everything is still closure-based in the end
Please file bugs on this ASAP if you run into problems. Thank you! (#1163)
-
Version 0.26.0
- BREAKING, though in a good way: Updated the typescript CLI to 2.27.2, and updated the script to pull from a CDN (currently backed by GitHub Releases) rather than old Circle images. This should significantly increase download performance and stability. (#1166)
- BREAKING: Updated the retry delegate to allow more fine-grained control of what error to return if an operation fails in the process of retrying. (#1128, #1167)
- Added support to the Swift scripting package to be able to use multiple headers when downloading a schema. (#1153)
- Added the ability to set the SSL trust validator on a websocket. (#1124)
- Fixed an issue deserializing custom scalars in
ApolloSQLite
. (#1144)
Version 0.25.0
- BREAKING: Updated the
swift-tools
version to 5.2 inPackage.swift
. Note that if you're usingswift-tools
5.2, you'll need to update the syntax of yourPackage.swift
file and specify the name of the library manually for Apollo. (#1099, #1106) - POSSIBLY BREAKING: Upgraded the typescript CLI to 2.26.0. No changes were found in test frameworks, but this could theoretically break some stuff. (#1107, #1113)
- NEW: Added the ability to set Starscream's underlying
enableSOCKSProxy
to better allow debugging web sockets in tools like Charles Proxy. (#1108) - Fixed several issues using paths with spaces in the Swift Codegen. (#1092, #1097).
ApolloCodegenLib
is now properly passing theheader
argument last when downloading a schema. (#1096)- Automatic Persisted Queries now also work with mutations. (#1110)
Version 0.24.0
- BREAKING: Updated
GraphQLResponse
to be generic over the response type rather than the operation type. This will allow more flexibility for generic modifications to methods that need to useGraphQLResponse
. (#1061) - BREAKING: Updated the file URL-based initializer of
GraphQL
to throw with a clear error instead of failing silently. Removed the ability to pass in an input stream since that can't be recreated on a failure. Updated initializers take either rawData
or a file URL so that the input stream can be recreated on a retry. (#1086, #1089) - In the Swift Package Manager based codegen, made sure that the folder the CLI will be downloaded to is created if it doesn't exist. (#1069)
Version 0.23.2
- Changed the
@available
flags added in 0.23.1 to#if os(macOS)
, since the former is runtime and the latter is compile time, to work around a bug where SwiftUI compiles theApolloCodegenLib
library even if it's not included in the target being previewed. (#1066) - Added support for
omitDeprecatedEnumCases
command line option I missed forApolloCodegenOptions
(#1053)