v2.2.0
Fixed
- Xcode 27 (Swift 6.4) build compatibility (#1034): Fixed multiple build failures introduced by Swift 6.4 / Xcode 27.
AnyHashable'sSendableconformance is now explicitly unavailable in Swift 6.4, soAnyHashable as JSONValuecasts no longer compile; replaced with explicit scalar type-matching helpers (withBoolchecked beforeNSNumberto preserve round-trip fidelity). Fixed a duplicate runtime type descriptor crash caused by multiple test targets statically linking the same SPM products; all Apollo package products are now linked exclusively through a singleapolloWrappertarget. FixedWebSocketConnection.send()silently discarding errors by cancelling the underlying task on failure so the transport's reconnection state machine runs correctly. Also fixed\x22escapes in composed Swift Regexes andAsyncResultObserver.handler@Sendableconformance under Swift 6.4. Thank you to the community members who submitted PRs identifying these issues. - Fix
WebSocketTransportretain cycle in receive loop (#1011): TheWebSocketTransportactor was never deallocated after a connection was established because the unstructuredTaskinstartConnectionReceiveLoop()capturedselfstrongly. The receive loop now uses[weak self]anddeinitexplicitly closes the connection so the transport deallocates correctly when all external references are dropped. Thank you to @heltoft for the contribution. - Fix crash in
SelectionSetequality for nullable-inner object lists (#986): Comparing twoSelectionSetvalues containing a[Object?](non-null list, nullable element) field where any element wasnulltriggered apreconditionFailure("Expected list data to contain objects."). Added a[DataDict?]branch inconvertElementsthat handles the mixedDataDict + NSNullcase and preserves null positions so position-sensitive equality remains correct. Thank you to @dfed for the contribution.
Fetched June 24, 2026
