Skip to content

Releases: apollographql/apollo-ios

Version 0.41.0

03 Feb 03:15
Compare
Choose a tag to compare
  • BREAKING: Fixed an issue in which UploadRequests were not getting headers added via the RequestChainNetworkTransport's additionalHeaders. 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 a Content-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

11 Jan 21:07
Compare
Choose a tag to compare
  • 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

24 Dec 19:03
Compare
Choose a tag to compare
  • POSSIBLY BREAKING: Updated swift-tools version to 5.3, and added a fallback version of Package.swift for 5.2. (#1584)
  • BREAKING, technically: Switched cachePolicy to a var on HTTPRequest. 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 for multipleFiles code generation is a folder. (#1580)

Version 0.38.3

08 Dec 03:37
Compare
Choose a tag to compare
  • Fixes an issue that could cause callbacks to fail if a retry was performed in an additionalErrorInterceptor. (#1563)

Version 0.38.2

04 Dec 01:14
Compare
Choose a tag to compare
  • Updates a dependency used for Experimental Swift Codegen to use a version to fix an issue with resolution failures

Version 0.38.1

03 Dec 03:23
Compare
Choose a tag to compare
  • Updates apollo-tooling version to include a bugfix there. (#1554)

Version 0.38.0

01 Dec 22:40
Compare
Choose a tag to compare
  • 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 and ApolloClientProtocol protocols, so if you're implementing these yourself, you'll need to update.
    • BREAKING: Removed the loadRecords(forKeys:) method on ReadTransaction. We'd recommended that you use either read or readObject with the transaction, but if you were using loadRecords, you will need to shift to those other methds.
    • NEW: ApolloStore's load(query:resultHandler:) method now also takes an optional callback queue.
  • 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's value is no longer public to prevent accidental misuse. If you were using this, use the mutate method instead to ensure the thread lock works properly. (#1538)

Version 0.37.0

18 Nov 20:02
Compare
Choose a tag to compare
  • 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

20 Oct 21:53
Compare
Choose a tag to compare
  • POSSIBLY BREAKING: We removed some default parameters for the ApolloStore from ApolloClient and LegacyInterceptorProvider 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

16 Oct 04:40
Compare
Choose a tag to compare
  • 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)