Version 0.15.0
-
BREAKING: Finally swapped out
URLSessionConfiguration
on initializer forHTTPNetworkTransport
to useURLSession
directly instead. If you were previously passing in a configuration, first hand it to aURLSession
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
andApolloWebSocket
. (#674) - Created
ApolloClientProtocol
to match all public methods ofApolloClient
for easier mocking. (#715, inspired by #693)