LayerKit v0.23.0 Release Notes

  • Public API Changes

    • The prefix for identifier URIs on LYRIdentity objects has changed from layer:///identity/ to layer:///identities/. [APPS-2403]
    • The LYRClient method connectWithCompletion: will no longer return NO and an error when an authentication challenge is encountered.
    • Deauthenticating the client will no longer result in transport being disconnected.
    • Query controllers will no longer emit will and did change notifications if the result set did not change.

    โœจ Enhancements

    • Introduced allObjects method on LYRQueryController to allow access to all matching objects. [APPS-2470]
    • ๐Ÿ”€ The createdAt property of LYRConversation is now a synchronized value. [APPS-2433]
    • ๐Ÿ”€ Event publication is now prioritized at the network level over data retrieval, resulting in faster message sends during cold sync.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixes an issue where Layer client would not synchronize the full conversation when user gets added to an existing conversation. [APPS-2406]
    • ๐Ÿ›  Fixes an issue where Layer client might crash when a conversation got deleted by another participant. [APPS-2406]
    • ๐Ÿ›  Fixes an issue where invoking [client setDebuggingEnabled:YES] would make the Client duplicate log lines in the log file.
    • ๐Ÿ›  Fixes an issue where Layer client might crash during the synchronization process due to an internal collection mutation during enumeration. [APPS-2406]
    • ๐Ÿ›  Fixes an issue where Layer client might crash during transport transitions (e.g. from WiFi to Cellular) or when de-authenticating the client. [APPS-2499]
    • ๐Ÿ‘ป Querying using the In or NotIn predicates with a non-collection value now returns an error instead of throwing an exception. [APPS-2506]
    • Transport is now disconnected when background time expires to prevent a transient issue with hung sockets.
    • ๐Ÿ›  Fixes an issue where Layer client might download the same rich content multiple times causing high network bandwidth and CPU usage. [APPS-2511]
    • ๐Ÿ›  Fixes an issue where concurrent operations may crash due to thread-safety violations.
    • ๐Ÿ›  Fixes an issue where the synchronization process would get caught in an infinite loop trying to download rich content and applying the updates to the LYRMessagePart instance. [APPS-2517]
    • ๐Ÿ›  Fixed an issue where transport would not be suspended upon entering the background if you are in the midst of connecting.
    • ๐Ÿ›  Fixed an issue where auto-detection of an HTTPS proxy would result in connection errors such as "No endpoints available, unable to connect socket". [APPS-2523]
    • ๐Ÿ›  Fixed a crash in LYRConversation markAllMessagesAsRead: method. [APPS-2510]
    • ๐Ÿ›  Fixes a crash in the synchronization process related to a conversation created using the Layer CAPI. [APPS-2527]
    • ๐Ÿ›  Fixes a crash in the synchronization process related to conversation deletions. [APPS-2541]
    • ๐Ÿ“‡ Querying for an empty metadata dictionary will now return only conversations without metadata instead of all conversations. [APPS-2447]
    • ๐Ÿ›  Fixes an issue where Layer client would ignore the rich content auto-download settings after connecting. [APPS-2545]
    • ๐Ÿ›  Fixes an issue where the LYRConversation's 'totalNumberOfMessages would yield the wrong number even on a fully synchronized client.
    • Request failures within authenticateWithIdentityToken:completion: were incorrectly handled as status code mismatches. The correct errors are now returned. [APPS-2548]
    • In cases where participants would send messages back and forth at a higher frequency the messages could get out of order. [APPS-2551]
    • Client won't issue authentication challenges during the de-authentication process anymore. [APPS-2553]
    • ๐Ÿ›  Fixes a crash when deserializing metadata with conflicting keys which could happen due to a server-side race condition. [APPS-2550]
    • โšก๏ธ Query controllers that have not been executed will no longer emit delegate updates. [APPS-2560]
    • ๐Ÿ›  Fixes background rich content transfers which could get stuck. [APPS-2557]