Releases: apollographql/apollo-ios
Releases · apollographql/apollo-ios
Version 0.41.0
- BREAKING: Fixed an issue in which
UploadRequests
were not getting headers added via theRequestChainNetworkTransport
'sadditionalHeaders
. Please note that if you've subclassed the RCNT, you'll need to update your overrides since we had to add a parameter. (#1644) - Stopped
GET
requests from sending aContent-Type
header, which could cause servers not configured to ignore that header when the body is empty to freak out. (#1649)
Version 0.40.0
- BREAKING: Dropped support for iOS/tvOS < 12, watchOS < 5, and macOS < 10.14. This also involved removing a couple of public functions that were workarounds for support for lower versions. (#1605)
- Updated the typescript CLI to version
2.32.1
. There may be some structural changes to generated code but it should not actually break anything. Please file bugs immediately if it does. (#1618)
Version 0.39.0
- POSSIBLY BREAKING: Updated
swift-tools
version to 5.3, and added a fallback version ofPackage.swift
for 5.2. (#1584) - BREAKING, technically: Switched
cachePolicy
to avar
onHTTPRequest
. This makes it possible for retries to use a different cache policy, such as when an error has occurred at the network level and you want to fall back to showing what's in the cache without retrying the network call. (#1569) - Added validation in Swift Codegen wrapper that a URL passed in for
singleFile
code generation is a.swift
file and a URL passed in formultipleFiles
code generation is a folder. (#1580)
Version 0.38.3
- Fixes an issue that could cause callbacks to fail if a
retry
was performed in anadditionalErrorInterceptor
. (#1563)
Version 0.38.2
- Updates a dependency used for Experimental Swift Codegen to use a version to fix an issue with resolution failures
Version 0.38.1
- Updates
apollo-tooling
version to include a bugfix there. (#1554)
Version 0.38.0
- BREAKING: We've made some significant (~4x) performance improvements to the cache and eliminated all our known Thread Sanitizer issues by removing some overly agressive multithreading and our internal Promises implementation. (#1531) Related Changes:
- POSSIBLY BREAKING: These improvements caused changes in our
NormalizedCache
andApolloClientProtocol
protocols, so if you're implementing these yourself, you'll need to update. - BREAKING: Removed the
loadRecords(forKeys:)
method onReadTransaction
. We'd recommended that you use eitherread
orreadObject
with the transaction, but if you were usingloadRecords
, you will need to shift to those other methds. - NEW:
ApolloStore
'sload(query:resultHandler:)
method now also takes an optional callback queue.
- POSSIBLY BREAKING: These improvements caused changes in our
- NEW: Added the ability to say whether the results from a mutation should be published to the store are not. This is a boolean value which defeaults to
true
, to match existing behavior. (#1521) - BREAKING: The setter for
Atomic
'svalue
is no longer public to prevent accidental misuse. If you were using this, use themutate
method instead to ensure the thread lock works properly. (#1538)
Version 0.37.0
- POSSIBLY BREAKING: Updated behavior of
URLSessionClient
when it's been invalidated to throw an error instead of crashing. If you were relying on this failing loudly before, please be aware it's going to fail a lot more quietly now. (#1489) - Improved performance of
loadRecords
for the SQLite cache. (#1519) - Added support for use of
Apollo
as a dynamic lib. (#1483) - Updated the legacy CLI to
2.31.0
. (#1510) - Fixed some bugs in our
JSONSerialization
handling. (#1478) - Fixed an issue with callback queue handling for websockets. (#1507)
- Fixed an issue with callback queue handling for errors. (#1468)
- Removed a redundant
nil
check while clearing the cache. (#1508)
Version 0.36.0
- POSSIBLY BREAKING: We removed some default parameters for the
ApolloStore
fromApolloClient
andLegacyInterceptorProvider
to prevent an issue where developers could accidentally create these objects with different caches. (#1461) - Added a new parameter to allow the option to not automatically connect a websocket on initialization. (#1458)
Version 0.35.0
- BREAKING: Removed the now-unused-in-the-SDK
GraphQLHTTPResponseError
type. If you were relying on this class, please copy it out of v0.34.1. (#1437) - BREAKING: Removed default parameters from
RequestBodyCreator
's default implementation to fix an issue where when default parameters were passed, the compiler would always select the default implementation even if a full alternate implementation was provided. (#1450) - Removed unnecessary manual task clearing when invalidating a URLSession. (#1443)