All Versions
117
Latest Version
Avg Release Cycle
17 days
Latest Release
1164 days ago

Changelog History
Page 5

  • v0.20.4 Changes

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed an issue where some clients had an invalid database state.
  • v0.20.3 Changes

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed an issue where some clients received conversations with nil participants.
    • ๐Ÿ›  Fixes an issue where properties could be improperly set on LYRConversation objects.
    • ๐Ÿ›  Fixes an issue where in some cases the totalNumberOfMessages and totalNumberOfUnreadMessages values in LYRConversation instance wouldn't get updated correctly.
    • ๐Ÿ›  Fixes an issue where client wouldn't synchronize the history of a conversation after the user has been added to an existing conversation.
    • ๐Ÿ›  Fixes an issue where a client potentially wouldn't delete a message when deleted with the LYRDeletionModeAllParticipants option by another participant.
  • v0.20.2 Changes

    โœจ Enhancements

    • โž• Added functionality to allow users to "leave" a conversation. This has the effect of removing the user from the conversation and and deleting the conversation from all of the authenticated user's devices.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed an issue where creating a new unique conversation with the same participants of a deleted conversation caused outgoing messages to be stuck in pending.
    • ๐Ÿ›  Fixed an issue where message send could pass validation after participant had been removed from the conversation.

    Public API Changes

    • ๐Ÿ”€ Client's default sync policy is now LYRClientSynchronizationPolicyUnreadOnly, if the policy is not specified in the options argument of the client's designated initializer. Deprecated initializer however will keep the old behaviour, which is the LYRClientSynchronizationPolicyCompleteHistory.
    • โž• Added leave: method to LYRConversation.

    โœจ Enhancements

    • ๐Ÿ‘Œ Improvements to synchronization performance when deleting content with LYRDeletionModeMyDevices.
  • v0.20.1 Changes

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixes a bug where LYRConversation's -synchronizeMoreMessages:error: method would allow to pass zero messages as the first argument; it's now enforced with a validation that passes an error and returns NO.
    • ๐Ÿ›  Fixes a bug that would cause LYRClient to ignore the initialization option LYRClientSynchronizationPolicyUnreadOnly.

    Public API Changes

    • ๐Ÿ”€ The client's synchronizeWithRemoteNotification:completion: now immediately returns NO if the remote notification payload is not meant for the LYRClient or if the method has been invoked while the application is in a fully active state -- in this case, the completion handler won't be called.
  • v0.20.0 Changes

    โœจ Enhancements

    • ๐Ÿ‘€ Layer client can be configured to avoid fully synchronizing the conversation history. It also provides all the necessary functionallity to load more historic content on demand. See LYRClientSynchronizationPolicy.
    • ๐Ÿ”€ Introduced LYRIdentity to synchronize user identity with the Layer Client.
    • โฑ waitForCreationOfObjectWithIdentifier:timeout:completion: will now query for an existing object with the given identifier in the local database and return it immediately upon invocation. This prevents a timeout from triggering in race condition cases where an object is materialized before the wait invocation is made (typically via transport push).

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed an issue that would prevent the LYRQueryControllerDelegate from reporting changes to a conversation.lastMesssage property.
    • ๐Ÿ›  Fixed a performance issue where the client performed extra work when it synchronized conversations, which in case of a high volume of conversations looked like a delay in the initial synchronization process.

    Public API Changes

    • โž• Added synchronization policies to the client's initialization method: +clientWithAppID:options:, see LYRClientSynchronizationPolicy.
    • ๐Ÿ”€ In case the LYRClient is initalized to perform a partial synchronization process, more historic messages can be loaded on demand by either calling LYRConversation's synchronizeMoreMessages:error: or synchronizeAllMessages: method.
    • ๐Ÿ”€ LYRConversation contains two new properties that tell how many messages in total are available or how many unread messages are available in the conversation (even if the client hasn't fully synchronized the history of a conversation).
    • ๐Ÿ”€ A set of two new notification are introduced that inform when a synchronization process is about to begin LYRConversationWillBeginSynchronizingNotification (handing out an LYRProgress instance in the userInfo of the notification), and a notification indicating that the synchronization process has completed LYRConversationDidFinishSynchronizingNotification.
    • ๐Ÿ”€ Introduced LYRIdentity which replaces LYRActor and represents a first class object synchronized by the provider with the Layer platform.
    • LYRMessage property sender returns an object of type LYRIdentity.
    • LYRConversation property participants returns objects of type LYRIdentity.
    • โž• Added LYRClient methods followUserIDs:error: and unfollowUserIDs:error: that allows for explicit following and unfollowing of userIDs to synchronize available identity information with the client. Followed userIDs will receive updates made to that identity, while unfollowing stops all updates and deletes the identity. All conversation participants are implicitly followed and cannot be explicitly followed or unfollowed.
    • Introduced LYRPredicateOperatorLike that allows for LIKE wildcard querying on LYRIdentity properties firstName, lastName, displayName, and emailAddress.
    • LYRClient property authenticatedUserID has been replaced with LYRIdentity object authenticatedUser.
    • LYRClient method authenticateWithIdentityToken:completion: has its completion block parameter changed from a string to a LYRIdentity object.
    • LYRClient method newConversationWithParticipants:options:error: now checks for blocked participants when creating a 1:1 conversations. An attempt to create a conversation with a blocked participant will result in an error.
  • v0.19.4 Changes

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixes an internal concurrency issue that caused crashes during synchronization.
  • v0.19.3 Changes

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixes an issue where messages failed to sync in response to push notifications.
  • v0.19.2 Changes

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixes an issue where the cold-sync process could get stuck.
    • ๐Ÿ›  Fixes an issue where LYRMessagePart.index would always be 0.
    • ๐Ÿ›  Fixes an issue where a crash could occur after a conversation is deleted.
    • ๐Ÿ›  Fixed an issue where messages could not be deleted in the LYRDeletionModeMyDevices mode after removal from the conversation.
    • ๐Ÿ›  Fixes an issue where a message part transfer might get stuck on LYRContentTransferDownloading status.
    • ๐Ÿ›  Fixes an issue where a message might be stuck in a "pending" state after an application crash, until a new message is sent.
    • ๐Ÿ›  Fixes an issue where an LYRQueryController could report changes in a non serial manner. Query controller will now report an error if execute: is called while an update is currently in flight.
  • v0.19.1 Changes

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed an issue where synchronizeWithRemoteNotification:completion: would return an error when invoked when the app is in an inactive state.
    • โšก๏ธ Updated keychain items to allow access when executing in the background.
    • ๐ŸŒฒ LayerKit now uses an alternate global symbol for logging to avoid conflicts with CocoaLumberjack.
  • v0.19.0 Changes

    Public API Changes

    • โœ‚ Removed all deprecated LayerKit methods.
    • ๐Ÿ”€ Replacing the completion block in synchronizeWithRemoteNotification:completion to return the LYRConversation and LYRMessage objects specified in the remote payload instead of the object changes.
    • โฑ Introduced LYRClient method waitForCreationOfObjectWithIdentifier:timeout:completion: that waits the timeout length for creation of the specified identifier's object.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixes an issue which caused LYRQueryController instances to return partially hydrated objects. This could occur when multiple query controllers were attempting to query the same objects from different threads.