Releases: apollographql/apollo-ios
Version 0.34.0
- SPECTACULARLY BREAKING: As noted in the beta and RC release notes, 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 and the updated tutorial section on setting up authentication. Thank you all for the excellent feedback and looking forward to hearing about the cool stuff you're able to build with this! (#1386)
- REMINDER: If you're using Carthage with Xcode 12, please make sure you're using the workaround script as outlined in the release notes for
0.33.0
.
Version 0.34.0-rc.2
Networking Stack, Release Candidate 2
- Made
RequestChainNetworkTransport
subclassable and changed two methods to beopen
so they can be subclassed in order to facilitate using subclasses ofHTTPRequest
when needed. (#1405) - Made numerous improvements to creating upload requests - all upload request setup is now happening through the
UploadRequest
class, which is nowopen
for your subclassing funtimes. (#1405) - Renamed
RequestCreator
toRequestBodyCreator
to more accurately reflect what it's doing (particularly in light of the fact that we didn't have aRequest
in the old networking stack, and now we do), and renamed associated properties and parameters. (#1405)
Version 0.34.0-rc.1
Networking Stack, Release Candidate
-
Added some final tweaks:
- Updated
ApolloStore
to take a default cache of theInMemoryNormalizedCache
. - 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 returnsnil
. - 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
- Updated
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)