LayerKit v0.9.0 Release Notes

  • ๐Ÿš€ LayerKit v0.9.0 includes numerous feature enhancements and API changes in preparation for the upcoming 1.0 release. The API changes were made to ๐Ÿ“„ make LayerKit more intuitive and prepare for future platform enhancements. These changes are detailed in the LayerKit Transition Guide.

    Public API changes

    • Layer object initializers were changed such that Conversations and Messages must now be initialized through the client instead of directly via the class. This change enables object identifiers to be populated earlier and is part of a larger migration of functionality from the client onto the model objects themselves.
    • ๐Ÿ—„ [LYRConversation conversationWithParticipants:] has been deprecated in favor of [LYRClient conversationWithParticipants:options:error:].
    • ๐Ÿ—„ [LYRMessage messageWithConversation:parts:] has been deprecated in favor of [LYRClient newConversationWithParticipants:options:error:].
    • ๐Ÿ—„ [LYRMessage messageWithConversation:parts:] has been deprecated in favor of [LYRClient newMessageWithConversation:parts:options:error:].
    • Push Notification alert text and sounds can now be assigned at Message initialization time via the options: argument.
    • ๐Ÿ“‡ [LYRClient setMetadata:onObject:] has been deprecated in favor of the LYRMessage options and LYRConversation mutable metadata API's.
    • ๐Ÿ—„ [LYRClient addParticipants:toConversation:error:] has been deprecated in favor of [LYRConversation addParticipants:error:].
    • ๐Ÿšš [LYRClient removeParticipants:fromConversation:error:] has been deprecated in favor of [LYRConversation removeParticipants:error:].
    • ๐Ÿ—„ [LYRClient sendMessage:error:] has been deprecated in favor of [LYRConversation sendMessage:error:].
    • ๐Ÿ—„ [LYRClient markMessageAsRead:error:] has been deprecated in favor of [LYRMessage markAsRead:].
    • ๐Ÿ—„ [LYRClient deleteMessage:mode:error:] has been deprecated in favor of [LYRMessage delete:error:].
    • ๐Ÿ—„ [LYRClient deleteConversation:mode:error:] has been deprecated in favor of [LYRConversation delete:error:].
    • ๐Ÿ—„ [LYRClient sendTypingIndicator:toConversation:] has been deprecated in favor of [LYRConversation sendTypingIndicator:];
    • ๐Ÿ—„ [LYRClient conversationForIdentifier:] has been deprecated, use querying support to fetch conversations based on identifier.
    • ๐Ÿ—„ [LYRClient conversationsForIdentifiers:] has been deprecated, use querying support to fetch conversations based on a set of identifiers.
    • ๐Ÿ—„ [LYRClient conversationsForParticipants:] has been deprecated, use querying support to fetch conversations based on a set of participants.
    • ๐Ÿ—„ [LYRClient messagesForIdentifiers:] has been deprecated, use querying support to fetch messages based on a given set of identifiers.
    • ๐Ÿ—„ [LYRClient messagesForConversation:] has been deprecated, use querying support to fetch messages for specific conversation.
    • ๐Ÿ—„ [LYRClient countOfConversationsWithUnreadMessages:] has been deprecated, use querying support to count all unread messages.
    • ๐Ÿ—„ [LYRClient countOfUnreadMessagesInConversation:] has been deprecated, use querying support to count unread messages for given conversation.
    • LYRMessage and LYRConversation objects now use a consistent identifier scheme that won't change.
    • ๐Ÿ—„ LYRMessagePushNotificationAlertMessageKey key constant has been deprecated in favor of LYRMessageOptionsPushNotificationAlertKey.
    • ๐Ÿ—„ LYRMessagePushNotificationSoundNameKey key constant has been deprecated in favor of LYRMessageOptionsPushNotificationSoundNameKey.

    โœจ Enhancements

    • ๐Ÿ“š LYRConversation now supports synchronized, mutable developer assigned metadata. Metadata is synchronized across participants on a per-key basis using last writer wins semantics. See the header documentation on LYRConversation for details of the API.
    • โž• Added querying for conversations and messages, see LYRQuery and LYRPredicate.
    • โž• Added query controller that can be used to drive the UI, see LYRQueryController.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixes an issue where the LYRClient might crash when detecting a remotely deleted conversation leaving the client with unsent changes that fail to get reconciled.
    • ๐Ÿ›  Fixed an issue where push device tokens would not be updated after a connection was established in some circumstances.