Skip to content

Releases: apollographql/apollo-ios

Version 0.25.0

31 Mar 22:12
Compare
Choose a tag to compare
  • BREAKING: Updated the swift-tools version to 5.2 in Package.swift. Note that if you're using swift-tools 5.2, you'll need to update the syntax of your Package.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 the header argument last when downloading a schema. (#1096)
  • Automatic Persisted Queries now also work with mutations. (#1110)

Version 0.24.0

20 Mar 01:08
Compare
Choose a tag to compare
  • 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 use GraphQLResponse. (#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 raw Data 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

05 Mar 21:12
Compare
Choose a tag to compare
  • 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 the ApolloCodegenLib library even if it's not included in the target being previewed. (#1066)
  • Added support for omitDeprecatedEnumCases command line option I missed for ApolloCodegenOptions (#1053)

Version 0.23.1

27 Feb 18:36
Compare
Choose a tag to compare
  • Added some @available flags to prevent accidental compilation of ApolloCodegenLib on platforms other than macOS. (#1041)
  • Made the Query on GraphQLQueryWatcher public so it can be referenced. (#1037)

Version 0.23.0

21 Feb 03:04
Compare
Choose a tag to compare

v0.23.0

  • BETA: Now available, SPM-based code generation, Phase 0 of our transition to Swift Codegen.

    Note that the underlying codegen is still using apollo-tooling, but that will change as we proceed with Phase 1 of the Swift Codegen Project, generating the code in Swift.

    Documentation is available at our Swift Scripting page.

    When this gets to the final version this will supersede existing codegen, so please file bugs galore on this so we can get it good to go as quickly as possible. Thank you! (#940, #1033)

  • Fixed some memory leaks in our internal Promises implementation. (#1016)

Version 0.22.0

13 Feb 20:43
Compare
Choose a tag to compare
  • BREAKING: Updated CLI to v2.22.1, including a bunch of fixes on the Swift side:
    • Marked files which are generated as @generated
    • Added documentation to the constructors of input structs
    • Added additional type annotations to improve compile times.
  • BREAKING: Updated delegate in HTTPNetworkTransport to be a weak var and to not be passed in as a parameter to the initializer. (#990, #1002)
  • Added a lock to InMemoryNormalizedCache to reduce possible race conditions. (#552)
  • Added the ability to not send duplicates on a websocket. (#1004)
  • Fixed an issue that could lead to an undefined cache key in the SQLite library. (#991)
  • Fixed an issue where existing fetch operations in a watcher would not be canceled before a new one was started. (#1012)

Version 0.21.0

19 Dec 22:03
Compare
Choose a tag to compare
  • BREAKING, but by popular request: Removed the requirement that the clientName and clientVersion on NetworkTransport, and added a default implementation so custom implementations don't need to set these up themselves. (#954)

Version 0.20.0

16 Nov 22:34
Compare
Choose a tag to compare
  • Fixed a bunch of data races in ApolloWebSocket. (#880)
  • Updated ApolloWebSocket to depend on Apollo in Package.swift since there is a dependency there. (#906)
  • POSSIBLY BREAKING Updated Swift tools verson in package declaration to 5.1. (#883)

Version 0.19.0

29 Oct 22:29
Compare
Choose a tag to compare
  • NEW: Added a retry delegate to allow retries based on GraphQL errors returned from your server, not just network-level errors. NOTE: Be careful with which errors you retry for - the mere presence of an error doesn't necessarily indicate a full failure since GraphQL queries can return partial results. (#770)
  • NEW: Automatically generates ApolloEngine/ApolloGraphManager headers based on your main bundle's ID and version number. These can also be configured when you set up your NetworkTransport if you need something more granular for different versions of your application. (#858)
  • POSSIBLY BREAKING: The NetworkTransport protocol is now class-bound. If you built your own NetworkTransport implementation instead of one of the ones included with the library, this now must be a class instead of a struct. (#770)
  • POSSIBLY BREAKING: Removed an unzip method for arrays of arrays which we were not using. However, since it was public, we figured we should let you know. (#872)
  • Bumped Starscream dependency to 3.1.1. (#873)

Version 0.18.1

24 Oct 16:12
Compare
Choose a tag to compare
  • Removes TSAN from run on schemes to fix Carthage issue. (#862)