- Fixed an issue in the
ATLConversationListViewController
that caused an exception to be thrown during cell dequeueing. - Added missing files into the
Atlas
target to fix a bug with Carthage installations.
- Added support for new
LayerKit
deletion modeLYRDeletionModeMyDevices
. - Removed support for
LYRDeletionModeLocal
as it has been deprecated. - Changed default conversation deletion option strings to
My Devices
andEveryone
to make the options more explicit.
- Introduced
ATLBaseCollectionViewCell
which is now the base cell for all message cells containing a message bubble. Developers can now subclass theATLBaseCollectionViewCell
and add easily their own custom UI to a message bubble cell. - Moved the following properties from
ATLMessageCollectionViewCell
toATLBaseCollectionViewCell
:bubbleViewColor
,bubbleViewCornerRadius
,bubbleView
,avatarImageView
, andmessage
.
- Fixes an issue which prevented application archives from being submitted to the app store. The issue was caused by and unnecessary key in the
Resources/info.plist
file. - Fixes a
UILayoutConstraint
conflict when displaying a UIMapView in theATLMessageBubbleView
.
- Added support for installing Atlas via Carthage.
- Changed dependency to LayerKit v0.17.1 to pick up module import changes.
- Added support for configuring the right button title in
ATLMessageInputToolbar
.
- Fixed an issue with slow scrolling performance under iOS 9.
- Fixed build problems in Swift projects regarding non-module header imports.
- Exposed
ATLConversationViewController
methodsendMessage:
to allow customLYRMessage
objects to use Atlas delegate handling. - Introduced
verticalMargin
property onATLMessageInputToolbar
to specify top and bottom margins for the text input view.
- Improved
UIMenuController
behavior.
- Updated the Atlas podspec that caused build errors for some users.
- Fixed an iOS9 bug with duplicate keyboards being dismissed.
- Improved
UIMenuController
behavior while scrolling. - Cached message cell height to improve scrolling performance.
- Added native video support.
- Atlas uses
LayerKit v0.17.0
which provides support for dynamic frameworks.
- Fixed iOS9 issue with the
ATLMessageInputToolbar
having a black background when presented on screen. - Fixed iOS9 breaking layout constraints.
- Implemented
conversationViewController:configureCell:forMessage:
to allowATLConversationViewController
subclasses to add extra cell configuration. - Added
shouldDisplayAvatarItemForAuthenticatedUser
toATLConversationViewController
to display avatar items for the authenticated user. - Added
ATLAvatarItemDisplayFrequency
property toATLConversationViewController
to allow customization of avatar frequency. - Exposed
LYRQueryController
onATLConversationViewController
. - Added
NSTextCheckingType
onATLMessageBubbleView
. - Added
menuControllerActions
onATLMessageBubbleView
to customize UIMenuController actions.
ATLConversationViewController
caches unsent media attachments in theATLMessageInputToolbar
upon deallocation, and re-inserts them on creation.- Added Localization support.
- Asynchronous image and GIF loading in
ATLMessageCollectionViewCell
.
- Fixed bug that caused avatar images to flicker when loading photos from remote URLs.
- Fixed bug that caused UIMenuController to stay on screen during pan gesture.
- Fixed bug that caused images to stretch if smaller than the minimum cell size.
- Fixed bug introduced in 1.0.9 relating to media attachment text color for attributed string.
- Exposed private initializers of
ATLConversationViewController
andATLConversationListViewController
to allow subclassing for custom initialization.
- Removed compiler warnings that showed from direct installation due to deprecations.
- Updated change notification handling code due to LayerKit library upgrade to v0.13.3, which has some braking changes in change notifications dictionary.
- Implemented
conversationListViewController:configurationForDefaultQuery:
to provide for query customization in theATLConversationListViewController
. - Implemented
conversationViewController:configurationForDefaultQuery:
to provide for query customization in theATLConversationViewController
.
- Removed all compiler warnings.
- Added
avatarImageURL
property toATLAvatarItem
.
- Added logic to fetch image from a URL to
ATLAvatarImageView
. - Added image cache to
ATLAvatarImageView
.
- Fixed bug which caused
ATLConversationViewController
animation assertions when attempting to reload cells via the public API. - Fixed bug which prevented cell font customizations from being appied.
- Moved
searchController
property to public API onATLConversationListViewController
. - Moved
UIImagePickerControllerDelegate
andUINavigationControllerDelegate
declarations to header ofATLConversationViewController
. - Added
leftAccessoryImage
,rightAccessoryImage
anddisplaysRightAccessoryImage
toATLMessageInputToolbar
.
- Introduced new functionality to facilitate reloading content after asynchronous reloads of user information.
- Added
reloadCellsForMessagesSentByParticipantWithIdentitifier:
toATLConversationViewController
. - Removed
collectionViewCellForMessage:
fromATLConversationViewController
.
- Added
conversationListViewController:textForButtonWithDeletionMode:
toATLConversationListViewController
- Added
conversationListViewController:colorForButtonWithDeletionMode:
toATLConversationListViewController
- Updated LayerKit dependency to v0.10.3
- New compatible with CocoaPods >= 0.36.0
- Initial public release of Atlas.
- Added property
blockedParticipantIdentifiers
toATLParticipantTableViewController
.
- Added
addressBarViewControllerDidSelectWhileDisabled:
toATLAddressBarViewController
. - Changed all class prefixes from
LYRUI
toATL
. - Added
conversationListViewController:didSearchForText:completion
toATLConversationListViewController
.
- Added search functionality to the
ATLConversationListViewController
.
- Changed
setPermanent
todisable
onLYRUIAddressBarViewController
. - Changed
isPermanent
toisDisabled
onLYRUIAddressBarViewController
. - Changed
updateWithConversationLabel:
toupdateWithConversationTitle:
onLYRUIConversationPresenting
. - Chanded
shouldDisplayAvatarImage:
toshouldDisplayAvatarItem:
onLYRUIMessagePresenting
. LYRUIParticipant
now inherits from theLYRUIAvatarItem
protocol.- Changed
presentParticipant:withSortType:shouldShowAvatarImage:
topresentParticipant:withSortType:shouldShowAvatarItem:
onLYRUIParticipantPresenting
- Added
avatarItem
property toLYRUIAvatarImageView
. - Removed
setInitialsForFullName:
- Changed
conversationLabelColor
toconversationTitleLabelColor
inLYRUIConversationCell
. - Changed
conversationLabelFont
toconversationTitleLabelFont
inLYRUIConversationCell
. - Added
conversationListViewController:didSearchWithString:completion:
toLYRUIConversationListViewController.
- Deprecated
LYRUIParticipantPickerController
. - Changed
LYRUIParticipantTableViewController
initailizer toparticipantTableViewControllerWithParticipants:sortType
.
- Added storyboard support for
LYRUIParticipantTableViewController
. - Added storyboard support for
LYRUIConversationViewController
. - Added storyboard support for
LYRUIConversationListViewController
. layerClient
property is no longer read only inLYRUIConversationViewController
.layerClient
property is no longer read only inLYRUIConversationListViewController
.
- Changed
displaysConversationImage
todisplaysAvatarItem
inLYRUIConversationListViewController.h
. - Changed
conversationListViewController:labelForConversation:
toconversationListViewController:titleForConversation:
inLYRUIConversationListViewController.h
. - Added
deletionModes
toLYRUIConversationListViewController.h
. - Removed
conversationTitle
property inLYRUIConversationViewController
. - Removed
conversationViewController:shouldMarkMessagesAsRead:
- Added
marksMessagesAsRead
property. - Changed
layerClient
property to be readonly. - Changed
conversationViewControllerWithConversation:layerClient:
toconversationViewControllerWithLayerClient:
LYRUIConversationViewController
now sends mixed content (e.g. an image and text) in multiple messages, i.e. one message per piece of content (e.g. one message with an image part and another message with a text part). Correspondingly, it now displays one cell for each message. The previous behavior was to display one cell for each message part. The default message cells assume that each message only has one part. So a multi-part message (e.g. one sent with the previous behavior) will only have its first part displayed.
- Moved
LYRUIUserDidTapLinkNotification
fromLayerUIKit.h
toLYRUIMessageBubbleView.h
. - Added
message
property toLYRUIConversationCollectionViewHeader
. - Added
LYRUIConversationDataSource
. - Changed
LYRUITypingIndicatorView
toLYRUITypingIndicatorViewController
. - Added
LYRUIProgressView
. - Removed method
isGroupConversation:
fromLYRUIMessagePresenting
. - Added
LYRUIMIMETypeImageJPEGPreview
andLYRUIMIMETypeImageSize
toLYRUIMessagingUtilities
. - Added
LYRUIPhotoForLocation
toLYRUIMessagingUtilities
. - Changed
conversationListViewController:imageForConversation:
toconversationListViewController:avatarItemForConversation:
. - Added
LYRUIAvatarItem
protocol. - Added
imageViewBackgroundColor
property toLYRUIAvatarImageView
. - Added
conversationViewController:messagesForContentParts:
toLYRUIConversationViewController
. - Removed
conversationViewController:pushNotificationTextForMessagePart:
fromLYRUIConversationViewController
. - Removed
avatarImageViewCornerRadius
property fromLYRUIMessageCollectionViewCell
. - Added
avatarImageViewDiameter
property toLYRUIAvatarImageView
. - Removed
updateWithMessageSentState:
method fromLYRUIMessagePresenting
. Message sent state can be inferred from theisSent
property onLYRMessage
. - Added
LYRUIUserDidTapLinkNotification
toLayerUIKit
. - Added
collectionViewCellForMessage:
toLYRUIConversationViewController
. - Added
bubbleViewCornerRadius
property toLYRUIMessageCollectionViewCell
. - Added
avatarImageViewCornerRadius
property toLYRUIMessageCollectionViewCell
. - Changed
backgroundColor
property tocellBackgroundColor
onLYRUIConversationTableViewCell
. - Removed
updateWithBubbleViewWidth:
fromLYRUIMessageCollectionViewCell
. - Changed
-[<LYRUIConversationViewControllerDataSource> conversationViewController:pushNotificationTextForMessageParts:]
toconversationViewController:pushNotificationTextForMessagePart:
. That is, one message part is passed instead of an array of message parts. - Changed
-[<LYRUIMessagePresenting> presentMessagePart:]
topresentMessage:
. That is, a message is passed instead of a message part. - Added
isPermanent
toLYRUIAddressBarViewController
. - Changed
-[<LYRUIAddressBarControllerDataSource> searchForParticipantsMatchingText:completion:]
toaddressBarViewController:searchForParticipantsMatchingText:completion:
. That is, the view controller is now passed as the first parameter. This callback also now controls the order of search results by providing anNSArray
instead of anNSSet
in the completion block. - Changed
-[LYRUIMessageInputToolbarDelegate messageInputToolbarDidBeginTyping:]
tomessageInputToolbarDidType:
. -[LYRUIMessageInputToolbar insertLocation:]
has been removed since it was unused.- Removed
maxHeight
property fromLYRUIMessageComposeTextView
. Use themaxNumberOfLines
property ofLYRUIMessageInputToolbar
instead. - Removed
-[LYRUIMessageComposeTextView insertImage:]
. Use-[LYRUIMessageInputToolbar insertImage:]
instead. - Removed
-[LYRUIMessageComposeTextView removeAttachements]
. It doesn't have a replacement since it was meant for internal use only. - Changed
placeHolderText
property ofLYRUIMessageComposeTextView
toplaceholder
. - Removed
pendingBubbleViewColor
property ofLYRUIMessageCollectionViewCell
. - Changed
avatarImage
property ofLYRUIMessageCollectionViewCell
toavatarImageView
. - Removed
initialViewBackgroundColor
property ofLYRUIAvatarImageView
. UsebackgroundColor
instead. - Changed
initialFont
property ofLYRUIAvatarImageView
toinitialsFont
. - Changed
initialColor
property ofLYRUIAvatarImageView
toinitialsColor
. - Changed
-[<LYRUIParticipantPickerControllerDelegate> participantSelectionViewControllerDidCancel:]
toparticipantPickerControllerDidCancel:
. - Changed
-[<LYRUIParticipantPickerControllerDelegate> participantSelectionViewController:didSelectParticipant:]
toparticipantPickerController:didSelectParticipant:
. - Changed
-[<LYRUIParticipantPickerDataSource> searchForParticipantsMatchingText:completion:]
toparticipantPickerController:searchForParticipantsMatchingText:completion:
. - Changed
-[<LYRUIParticipantPickerDataSource> participants]
toparticipantsForParticipantPickerController:
. - Changed
-[<LYRUIParticipantTableViewControllerDelegate> participantTableViewControllerDidSelectCancelButton]
toparticipantTableViewControllerDidCancel:
. - Removed
selectionIndicator
property fromLYRUIParticipantTableViewController
. - Added
participantPickerController:didDeselectParticipant:
toLYRUIParticipantPickerControllerDelegate
. - Added
participantTableViewController:didDeselectParticipant:
toLYRUIParticipantTableViewControllerDelegate
. - Replaced
presentParticipant:
,updateWithSortType:
andshouldShowAvatarImage:
onLYRUIParticipantPresenting
withpresentParticipant:withSortType:shouldShowAvatarImage:
. - Changed
LYRUIParticipantPickerControllerSortTypeFirst
toLYRUIParticipantPickerSortTypeFirstName
. - Changed
LYRUIParticipantPickerControllerSortTypeLast
toLYRUIParticipantPickerSortTypeLastName
. - Changed
LYRUIPaticipantSectionHeaderView
toLYRUIParticipantSectionHeaderView
. - Removed
initWithKey:
fromLYRUIParticipantSectionHeaderView
. - Changed
keyLabel
property tonameLabel
onLYRUIParticipantSectionHeaderView
. - Removed
conversationListViewController:didSearchWithString:completion:
fromLYRUIConversationListViewControllerDataSource
. - Changed
layerClient
property onLYRUIConversationListViewController
fromreadwrite
toreadonly
. - Changed
lastMessageTextFont
property onLYRUIConversationTableViewCell
tolastMessageLabelFont
. - Changed
lastMessageTextColor
property onLYRUIConversationTableViewCell
tolastMessageLabelColor
. - Added optional
conversationViewController:conversationWithParticipants:
method toLYRUIConversationViewControllerDataSource
. - Changed
selectedParticipants
property onLYRUIAddressBarViewController
from areadonly
NSSet
to areadwrite
NSOrderedSet
.
- Fixed bug which allowed name labels to be truncated in
LYRUIParticipantTableViewCell
. - Fixed bug which would display an empty name string if the
fullName
property ofLYRUIParticipant
was nil inLYRUIParticipantTableViewCell
. - Fixed bug which would display inaccurate initials if the
fullName
property ofLYRUIParticipant
was nil inLYRUIParticipantTableViewCell
. - Fixed bug which allowed messages to be marked as read while app is in the background.
- Removed duplicate MIMEType constant declarations.
- Fixed possibility of customizations via
UIAppearance
being overridden. - Fixed issue related to sending a push notification with
(null)
text. - Fixed typo for property
conversationLabelColor
onLYRUIConversationTableViewCell
. - Fixed typo in C function signature
LYRUILightGrayColor()
. - Added logic to guard against messages with external content in applications using LayerKit v0.9.2 and previous.
LYRUIAddressBarViewController
now shows only first names when set permanent.- Implemented progress view in
LYRUIBubbleView
. - Implemented pagination in the
LYRUIConversationViewController
. LYRUIConversationTableViewCell
no longer shows conversation image by default.- Implemented
LayerUIKit
unit test suite. - Re-implemented
LayerUIKit
mock objects. - Re-factored
LayerUIKit
sample app to use new mock objects. - Refactored internal constants.
- Added support for external content.