All Versions
101
Latest Version
Avg Release Cycle
10 days
Latest Release
-
Changelog History
Page 3
Changelog History
Page 3
-
v0.52.0 Changes
- β Add codegen option for excludes: There is a new property on the codegen configuration options to allow files matching the pattern to be excluded, in the case they are found in the
includes
path. #2205 - Thanks to @bannzai for the contribution! - π Fixed - Using the
graphql_transport_ws
protocol could result in4400
errors from the server: The correct protocol message is now being sent to the server to end communication. #2320 - π¨ Replace
print
statement withCodegenLogger.log
: All codegen output is logged withCodegenLogger
which can be disabled if needed. #2348 - Thanks to @hiltonc for the contribution! - π¦ Expose
GraphQLResultError
path string: Adds a new publicly available computed property toGraphQLResultError
which just exposes thepath
description. #2361 - Thanks to @joshuashroyer-toast for the contribution!
- β Add codegen option for excludes: There is a new property on the codegen configuration options to allow files matching the pattern to be excluded, in the case they are found in the
-
v0.51.2 Changes
- π Fixed - APQ Retrying Failing in 0.51.1: Fixes a bug introduced in the last version that broke APQs. Thanks to Kyle Browning for bringing this to our attention.
-
v0.51.1 Changes
- π¦ Expose request body creation to better support custom interceptors: Enable lazy access to the request body creation for leverage in custom built interceptors, since JSONRequest.toURLRequest() encapsulates the creation. This enables the GraphQLMap to be accessed without re-creating the body. #2184 - Thanks to Rick Fast for the contribution.
-
v0.51.0 Changes
- π Allow periods in arguments to be ignored when parsing cacheKeys: If your query arguments include periods they will no longer cause broken cache keys. This means the cached data for those queries can be correctly found and returned. The caveat with this change though is that if you use a persisted cache, after the upgrade you could see cache misses and the data would be refetched. #2057 - Thanks to Hesham Salman for the contribution.
- π Fixed -
Sendable
classJavaScriptError
cannot inherit from another class other thanNSObject
: Xcode 13.3 introduced some additional requirements forError
types andJavaScriptError
did not conform causing compile errors inApolloCodegenLib
. This change disablesSendable
type checking forJavaScriptError
while maintaining type-safety across concurrency boundaries. #2147 - Thank you to Tiziano Coroneo for the contribution. - π Fixed - Watcher using a policy that shouldn't hit the network, can still hit the network: If the cache policy given to the
watch(query:cachePolicy:)
method ofApolloClient
was.returnCacheDataDontFetch
it could still trigger a remote fetch of the query. - Thank you to Peter Potrebic for raising the issue. - π₯ BREAKING CHANGE -
graphql-ws
Protocol Support: We've added official support for the graphql-ws library and itsgraphql-transport-ws
protocol. This is a breaking change because theWebSocket
initializers now require you to specify which protocol to use.
-
v0.50.0 Changes
- β¬οΈ Dropped SPM support for Swift 5.2: The minimum version of the Swift tools and language compatibilty required to process the SPM manifest is Swift 5.3. This means a minimum of Xcode version 12 is required for Swift Package Manager support. #1992
- β Removed unnecessary assertion failure: The completion handler on
returnResultAsyncIfNeeded
is defined as optional but if not included would cause debug builds to crash with anassertionFailure
in the case of afailure
of theResult
. #2005 - Thank you to Richard Topchii for raising this issue! - 0οΈβ£
CachePolicy.default
is now a stored property: It is now easier to configure a different default value for theCachePolicy
property on anyApolloClient
instance instead of having to override it in a subclass. #1998 - Thank you to Tiziano Coroneo for the contribution! - π¦ Exposed
cacheKey
function aspublic
: The access modifier of this function onGraphQLField
has changed frominternal
topublic
. It is not recommended to rely on internal behaviour of the cache, and this is subject to change in future major versions. #2014 - Thank you to Peter Potrebic for the discussion! - π GET method support for
ApolloSchemaDownloader
: Introspection-based schema downloads can now be queried using a GET request. #2010 - Thank you to Mike Pitre for the contribution! - β‘οΈ Updated to version 2.33.9 of the Apollo CLI: This update will add
__typename
fields to inline fragments in operations to match the output from theclient:push
CLI command which used for operation safelisting. This should not affect the behaviour of your operations. #2028. - β‘οΈ Updated to version 0.13.1 of SQLite.swift: This update brings in some iOS 14 fixes and new table functionality such as
upsert
andinsertMany
. #2015 - Thank you to Hesham Salman for the contribution.
-
v0.49.1 Changes
ApolloSchemaDownloadConfiguration.HTTPHeader
initializer was not public: The struct initializer that Swift automatically generates is marked with theinternal
access level, which meant that custom HTTP headers could not be added to an instance ofApolloSchemaDownloadConfiguration
. #1962 - Thank you to Nikolai Sivertsen for the contribution!- π Documentation update: Fixed an inline code block that had specified language where such specification is not supported. #1954 - Thank you to Kim RΓΈen for the contribution!
- π Fix - ApolloCodegenOptions could not find schema input file: - If you created
ApolloSchemaDownloadConfiguration
andApolloCodegenOptions
objects using only output folders the default output filename for the schema download was different from the default schema input filename for codegen. #1968 - Thank you to Arnaud Coomans for finding this issue!
-
v0.49.0 Changes
- π₯ Breaking - Schema download is now Swift-based: The dependency on the Apollo CLI (Typescript-based) for schema downloading has been removed. Schema downloading is now Swift-based, outputs GraphQL SDL (Schema Definition Language) by default, and is maintainable/extensible within apollo-ios with full API documentation. This is a breaking change because some of the API signatures have changed. Swift scripting offers a convenient way to perform certain operations that would otherwise require the command line - it's worth a look if you haven't tried it yet. #1935
-
v0.48.0 Changes
- Customizable subscription message identifiers: The
WebSocketTransport
initializer can be configured with a subclass ofOperationMessageIdCreator
to provide a unique identifier per request. The default implementation isApolloSequencedOperationMessageIdCreator
and retains the current behavior of sequential message numbering. #1919 - Thank you to Clark McNally for the contribution! - AWS AppSync Compatibility: Apollo-ios will now correctly handle the
start_ack
message that AWS AppSync servers respond with when a subscription is requested. #1919 - Thank you to Clark McNally for the contribution! - β‘οΈ Updated to version 2.33.6 of the Apollo CLI: Applies some new vulnerability patches to the CLI, but should not change any output. #1929
- π Improved documentation: Clarification of cache normalization concepts. #1710 - Thank you to Daniel Morgan for the contribution!
- Customizable subscription message identifiers: The
-
v0.47.1 Changes
- π Fixed - Websocket default implementation not included in
ApolloWebSocket
via Cocoapods: Thank you to ketenshi for the contribution!
- π Fixed - Websocket default implementation not included in
-
v0.47.0 Changes
- π₯ Breaking - Removed Starscream dependency: Due to dependency management conflicts it has become easier for us to maintain our WebSockets as part of the
ApolloWebSockets
target instead of an external dependency on a forked version of Starscream. #1906- Removed Starscream as an external dependency in Cocoapods and Swift Package Manager.
- The
DefaultWebSocket
implementation has been replaced withWebSocket
.
- π Fixed -
clearCache
not using the provided callback queue:ApolloClient
was not passing the provided callback queue toApolloStore
and therefore the completion block forclearCache
was being called on the main queue. #1904, #1901 - Thank you to Isaac Ressler for the contribution! - β Removed - Swift playground: The playground has been moved to a separate repository. #1905
- π₯ Breaking - Removed Starscream dependency: Due to dependency management conflicts it has become easier for us to maintain our WebSockets as part of the