The changelog for MessageKit. Also see the releases on GitHub.
- Updated
InputBarAccessoryViewto 5.2.1 with fixed warning on XCode 12 when used via SPM
-
Fixes an issue with casting MessageType to a custom type when using LinkPreview cells #1469 by @kinoroy
-
Fixes an issue where the MessagesViewController keyboard observers were not cleaned up when MessagesViewController was no longer visible on screen #1476 by @kinoroy
- Breaking Change Dropped support for iOS 11, added support for Swift 5.3 SPM and XCode 12 #1464 by @kaspik
- Fixes missing insets for link preview messages #1447 by @bguidolim
- Show message time by swiping left over the chat controller. #1444 by @amirpirzad
- Fixes an incorrect animation of message cells while dragging to dismiss the keyboard #1433 by @lhr000lhrmega
- Fixes an issue where the video message playback icon was too dark when in dark mode #1386 by @kinoroy
- Fixes an issue where the video message playback button triangle was not centered within the circle #1386 by @kinoroy
- Added option to use Photo messages with remote image URL in Example project #1294 by @martinpucik
- Breaking Change Added new
linkPreviewmessage type, which display a subclass ofTextMessageCellwith support to present title, teaser and a thumbnail image for a link #1310 by @bguidolim - Added a SwiftUI view using MessageKit in the Example Project by #1410 @kinoroy
- Breaking Change Dropped support for iOS 9 and iOS 10 #1261 by @kaspik
- Converted internal, static colors into color assets to better support dark and high contrast modes #1386 by @kinoroy
- Change the video message playback button to use a UIVisualEffectsView to better match the look and feel of iMessage. #1386 by @kinoroy
-
Set the proper notification to invalidate layout. MessageKit now relies on
UIApplicationorientation notification instead ofUIDevice, which invalidates the layout only when it is needed. #1126 by @bguidolim -
Fixed
requiredInitialScrollViewBottomInsetwheninputAccessoryViewisnil#1218 by @aabosh -
Fixed
MessagesCollectionView.scrollToBottom(animated:)method to properly handle calls made early in the view lifecycle. #1110 by @marcetcheverry -
Fixed
TypingIndicatordotColorfor light mode. #1266 by @lewis-smith
-
Add missing textAlignment and textInsets assignments to layoutCellTopLabel method in MessageContentCell. #1117 by @mdescalzo
-
Add support for styling NSLinkAttribute with existing urlAttributes in MessageLabel. #1091 by @marcetcheverry
-
Add loading indicator to AudioMessageCell. #1084 by @marcetcheverry
-
Add support for
scrollToLastItemandscrollsToLastItemOnKeyboardBeginsEditing#1247 by @hyouuu -
Added
MessageCellDelegate.didTapImage(in cell: MessageCollectionViewCell)#1166 by @domeniconicoli, #1278 by @bguidolim, 1285 by @austinwright -
Added missing cellTopLabelAlignment to MessageSizeCalculator. #1113 by @marcetcheverry
-
Breaking Change Updated to Swift 5.0 #1039 by @nathantannar4
-
Lazily initialize the MessageInputBar on MessagesViewController. #1092 by @marcetcheverry
- Deprecated
SenderType.idin favour ofSenderType.senderId. This change was previously meant for 3.0.0. #1201 by @kinoroy
- Breaking Change
MessageInputBar, andMessageInputBarDelegatehave been obsoleted. UseInputBarAccessoryViewandInputBarAccessoryViewDelegaterespectively. This change was previously meant for 3.0.0. #1201 by @kinoroy
- Breaking Change The dependency
MessageInputBarwas replaced withInputBarAccessoryView. AsMessageInputBarwas previously a fork this means no functionality has been lost but improvements and bug fixes will be present.InputBarAccessoryViewhas more of a following outside ofMessageKitmaking its development faster thanMessageInputBar. Maintaining two versions only increased the workload. You can find the changelog forInputBarAccessoryViewhere.
-
Breaking Change Deprecated the Sender struct in favor of the
SenderTypeprotocol. #909 by @nathantannar4 -
Breaking Change Deprecated the Sender struct in favor of the
SenderTypeprotocol. #909 by @nathantannar4 -
Breaking Change Add support for audio messages. Added new protocols
AudioControllerDelegate,AudioItema new cellAudioMessageCelland a new controllerBasicAudioController. #892 by @moldovaniosif. -
Breaking Change Moved
handleTapGesturemethod toMessageCollectionViewCell#950 by @nathantannar4 -
Breaking Change Renamed function
layoutBottomLabel(with:)tolayoutMessageBottomLabel(with:)inMessageContentCellclass. #920 by @maxxx777
-
Breaking Change Add support for share contact. #1013 by @moldovaniosif
-
Added typing indicator support,
func setTypingIndicatorViewHidden(_ isHidden: Bool, animated: Bool, whilePerforming updates: (() -> Void)? = nil, completion: ((Bool) -> Void)? = nil). Return a custom typing view by conforming toMessagesDisplayDelegateor use the default appearance. Customize the size withMessagesLayoutDelegate. #989 by @nathantannar4 -
Added
incomingAccessoryViewPositionandoutgoingAccessoryViewPositionvariables toMessageSizeCalculatorclass. #989 by @subdiox -
Added
setMessageIncomingAccessoryViewPosition(_:)andsetMessageOutgoingAccessoryViewPosition(_:)functions toMessagesCollectionViewFlowLayoutclass. #989 by @subdiox -
Breaking Change Added
avatarLeadingTrailingPaddingas a property ofCellSizeCalculatorandMessagesCollectionViewLayoutAttributesto inset theAvatarViewlayout #944 by @nathantannar4 -
Breaking Change Added
didTapBackground(in:)function toMessageCellDelegateprotocol. #922 by @kpennacchia -
Breaking Change Added
didTapCellBottomLabel(in:)function toMessageCellDelegateprotocol. #920 by @maxxx777 -
Breaking Change Added
cellBottomLabelAttributedText(for:, at:)function toMessagesDataSourceprotocol. #920 by @maxxx777 -
Breaking Change Added
cellBottomLabelHeight(for:, at:, in messagesCollectionView:)function toMessagesLayoutDelegateprotocol. #920 by @maxxx777 -
Added
cellBottomLabeltoMessageContentCell. #920 by @maxxx777 -
Added
layoutCellBottomLabel(with:)function toMessageContentCellclass. #920 by @maxxx777 -
Added
setMessageIncomingCellBottomLabelAlignment(_:)andsetMessageOutgoingCellBottomLabelAlignment(_:)functions toMessagesCollectionViewFlowLayoutclass. #920 by @maxxx777 -
Added
cellBottomLabelAlignmentandcellBottomLabelSizevariables toMessagesCollectionViewLayoutAttributesclass. #920 by @maxxx777 -
Added
incomingCellBottomLabelAlignmentandoutgoingCellBottomLabelAlignmentvariables toMessageSizeCalculatorclass. #920 by @maxxx777 -
Added
cellBottomLabelSize(for:, at:)andcellBottomLabelAlignment(for:)functions toMessageSizeCalculatorclass. #920 by @maxxx777
- Breaking Change Added new methods to simplify using of custom messages:
customCellSizeCalculator(for:at:in:)forMessagesLayoutDelegateandcustomCell(for:at:in:)forMessagesDataSource. #879 by @realbonus
- Change acl of
handleGesture(touchLocation:)inMessageLabelfrom internal to open. #912 by @julienkode
-
Breaking Change Updated codebase to Swift 4.2 #883 by @nathantannar4
-
Fixed the way that the Strings and UIImages are parsed in the
InputTextViewto prevent crashes inparseForComponents(). #791 by @nathantannar4
-
Breaking Change Added
.hashtag, .mentionto detect theses pattern inside themessageLabel. We also add.custom(pattern: YOUR_PATTERN)toDetectorTypeto manage and deal with your own regular expression. #913 by @JulienKode. -
Added support for detection and handling of
NSLinks inside of messages. #815 by @jnic -
Added customizable
accessoryView, with a newMessagesDisplayDelegatefunctionconfigureAccessoryView, and corresponding size & padding properties inMessageSizeCalculator. TheaccessoryViewis aligned to the center of themessageContainerView. #710 by @hyouuu -
Added a tap gesture recognition to the
accessoryViewwhich calls theMessageCellDelagatefunctiondidTapAccessoryView(in:). #834 by @nathantannar4 -
Added
additionalBottomInsetproperty that allows to adjust the bottom content inset automatically set on the messages collection view by the view controller. #787 by @andreyvit
-
Breaking Change Fixed typo of
scrollsToBottomOnKeybordBeginsEditingtoscrollsToBottomOnKeyboardBeginsEditing. #856 by @p-petrenko -
Fixed a bug that prevented
MessageLabelfrom laying out properly when contained by superviews using autolayout. #889 by @marius-serban. -
Fixed bottom content inset adjustment when using an undocked keyboard on iPad, or when
edgesForExtendedLayoutdoes not include.top, or when a parent container view controller adds extra views at the top of the screen. #787 by @andreyvit -
Fixed the
MessageData.emojicase to use 2x themessageLabelFontsize by default. #795 by @Vortec4800.
-
Fixed
MessagesCollectionViewto allow to use nibs withMessageReusableView. #832 by @maxxx777. -
Fixed multiple crashes at views, when views are being called from another XIB. #905 by @talanov.
- First major release.
-
Fixed
MessageContentCell's subviewsframewhen size equal to.zero. #716 by @zhongwuzw. -
Fixed
MessagesCollectionView's bottom inset when hardware keyboard is connected. Do not adjustMessagesCollection's inset when being popped. #707 by @zhongwuzw. -
Fixed
LabelAlignmentinitializer which has default internal access control. #705 by @zhongwuzw.
- Added convenience method to set properties for all
MessageSizeCalculators. #697 by @zhongwuzw.
-
Breaking Change Added new
MessagesDataSourcedelegate methods,numberOfSections(in)andnumberOfItems(inSection:in). #601 by @SD10, @zhongwuzw. -
Breaking Change Added new protocol
MediaItemas the associated value for theMessageData.videoandMessageData.photocases. #587 by @SD10. -
Breaking Change Added new protocol
LocationItemas the associated value for theMessageData.locationcase. #587 by @SD10. -
Breaking Change Added new
DetectorTypecalled.transitInformationto message label. #520 by @nosarj. -
Breaking Change Added
.custom(Any?)case toMessageData. #498 by @SD10. -
Breaking Change Added
.messageLabelTopcase toAvatarPosition.Verticalenum. #596 by @zhongwuzw -
Added
CellSizeCalculatorprotocol that is responsible for sizing and configuring attributes of aMessageCollectionViewCell. #579 by @SD10. -
Added
MessageSizeCalculator,MediaMessageSizeCalculator,TextMessageSizeCalculator, andLocationMessageSizeCalculatorclasses that are responsible for sizing theMessagesCollectionViewCelltypes provided by MessageKit. #579 by @SD10. -
Added three new methods
cellTopLabelHeight(for:at:in),messageTopLabelHeight(for:at:in), andmessageBottomLabelHeight(for:at:in)toMessagesLayoutDelegate. #580 by @SD10. -
Added new method
configureMediaMessageImageView(_:for:at:in)to configure theUIImageViewof aMediaMessageCellasynchronously. #592 by @zhongwuzw, @SD10 -
Added new
MessageContentCellclass andMessageReusableViewclass. #596 by @SD10.
-
Breaking Change Renamed
MessageDataenum toMessageKindand changedMessageType'sdataproperty name tokind. #658 by @zhongwuzw. -
Breaking Change Changed the
messageFooterView(for:in)andmessageHeaderView(for:in)methods ofMessagesDisplayDelegateby removing themessageparameter. #615 by @SD10. -
Breaking Change Changed the
footerViewSize(for:in)andheaderViewSize(for:in)methods ofMessagesLayoutDelegateby removing theMessageTypeandIndexPathparameters and replacing them with a newsection: Intparameter. #615 by @SD10. -
Breaking Change The reuse identifiers of all
MessageReusableViews andMessageCollectionViewCells have been changed to match their class name exactly. #615 by @SD10. -
Breaking Change
MessageHeaderViewandMessageFooterViewnow subclassMessageReusableViewclass. #596 by @SD10. -
Breaking Change Renamed
MessageCollectionViewCelltoMessageContentCell. TheMessageCollectionViewCellclass is now a bare bones subclass. #596 by @SD10. -
Breaking Change Changed
LabelAlignmentto be astructwith properties oftextAlignment: NSTextAlignmentandtextInsets: UIEdgeInsetsto position the text in thecellTopLabelandcellBottomLabel. #580 by @SD10. -
Breaking Change The type of
cellTopLabelandcellBottomLabelhas been changed toInsetLabel. #580 by @SD10. -
Breaking Change Renamed
cellTopLabeltomessageTopLabeland renamedcellBottomLabeltomessageBottomLabel. #659 by @SD10. -
Breaking Change Renamed the
didTapTopLabelanddidTapBottomLabelmethods ofMessageCellDelegatetodidTapMessageTopLabelanddidTapMessageBottomLabel. #659 by @SD10. -
Breaking Change Renamed
cellBottomLabelAttributedTextmethod ofMessagesDataSourcetomessageBottomLabelAttributedText. #659 by @zhongwuzw. -
The
MessageData.emojicase no longer uses a default font of 2x themessageLabelFontsize. You must now set this font explicitly through theemojiMessageSizeCalculatoronMessagesCollectionViewFlowLayout. #530 by @SD10. -
Changed the
contentModeof theUIImageViewforMediaMessageCellto be.scaleAspectFill. #587 by @SD10. -
The result of the
MessagesDisplayDelegatemethodtextColor(for message:...)no longer applies to.attributedTextcase ofMessageData. #625 by @cwalo. -
Removed the explicit height constraint from the
separatorLineinMessageInputBar. #667 by @zhongwuzw
-
Breaking Change Removed
NSLayoutConstraintSetby changing access control frompublictointernal. #607 by @zhongwuzw. -
Breaking Change Removed the
showsDateHeaderAfterTimeIntervalproperty ofMessagesCollectionView. #615 by @SD10. -
Breaking Change Removed the
reuseIdentifermethod fromMessageCollectionViewCell,TextMessageCell,LocationMessageCell,MediaMessageCell, andMessageContentCell. #615 by @SD10. -
Breaking Change Removed the
CollectionViewReusableprotocol. #615 by @SD10. -
Breaking Change Removed
MessageHeaderViewandMessageFooterViewin favor ofMessageReusableView. #615 by @SD10. -
Breaking Change Removed
numberOfMessages(in)method ofMessagesDataSource, instead please usenumberOfSections(in)andnumberOfItems(inSection:in). #601 by @SD10, @zhongwuzw. -
Breaking Change Removed the
messageLabelFontproperty fromMessagesCollectionViewFlowLayout. You can now set this property throughtextMessageSizeCalculatorproperty. #579 by @SD10. -
Breaking Change Removed
MessageDateHeaderViewclass in favor of usingcellTopLabel. #659 by @zhongwuzw.
- Fixed equality checking on
MessagesCollectionViewLayoutAttributes. #593 by @zhongwuzw, @SD10
- Fixed
MessageLabeltouch location offset calculation. #664 by @austinwright.
-
Fixed
bubbleTailOutlineinvalidation of message bubble. #633 by @zhongwuzw. -
Fixed
boundingRect(with:options:attributes:context)wrong size calculation when use some font, e.g. custom font. #645 by @zhongwuzw.
- Fixed font invalidation of
attributedStringinMessageLabel. #623 by @zhongwuzw.
- Added
shouldManageSendButtonEnabledStatetoMessageInputBarto disable automatically managingMessageInputBar.sendButton'sisEnabledstate when text changes. (Default value istrue). #530 by @clayellis.
- Fixed wrong separated components in messageInputBar. #577 by @zhongwuzw.
-
Optimize
collectionViewscroll behavior when abruptly stops scrolling. #470 by @zhongwuzw. -
Fixed
messageInputBarsendButton not disabled in some situations. #475 by @zhongwuzw. -
Fixed message bubble tail orientation invalidation in
iOS9. #469 by @zhongwuzw.
-
Fixed message rendering when
MessagesViewControllersliding back. #454 by @zhongwuzw. -
Fixed
iPhoneXMessageInputBartransparent bottom area whenkeyboardDismissModeisinteractive. #425 by @zhongwuzw. -
Fixed wrong
contentInsetcalculation whennavigationBarishidden#444 by @zhongwuzw.
-
Added
configureAvatarView(_ avatarView: AvatarView, for message: MessageType, at indexPath: IndexPath, in messagesCollectionView: MessagesCollectionView)method inMessagesDisplayDelegateprotocolto configureavatarView. #416 by @zhongwuzw. -
Added copy support for image, text, and emoji messages. #418 by @zhongwuzw.
-
Added
UIImagepaste support to theInputTextView. Images can easily be accessed using theInputTextView.imagesproperty. See the example project for an updated use case.
#423 by @nathantannar4.
- Breaking Change Removed
avatar(for message: MessageType, at indexPath: IndexPath, in messagesCollectionView: MessagesCollectionView)method ofMessagesDataSource, useconfigureAvatarView(_ avatarView: AvatarView, for message: MessageType, at indexPath: IndexPath, in messagesCollectionView: MessagesCollectionView)instead. #416 by @zhongwuzw.
-
Breaking Change Moved the
handleTapGesture(_ gesture: UIGestureRecognizer)method fromMessagesCollectionViewCelltoMessagesCollectionView. #417 by @zhongwuzw. -
Breaking Change Changed
AvatarViewfrom typeUIViewto typeUIImageView. #417 by @zhongwuzw.
-
Fixed
LocationMessageCellreuse bug, to avoid inconsistency when get capture image asynchronously. #428 by @zhongwuzw. -
Fixed
MessageLabeldetector attributes not being applied due to early exit. #429 by @antoinelamy.
-
Added
reloadDataAndKeepOffset()method toMessagesCollectionViewto maintain the current position when reloading data. #284 by @azurechen. -
Added
maintainPositionOnKeyboardFrameChanged: Boolproperty to maintain the current position of theMessagesCollectionViewwhen the height of theMessageInputBarchanges. #340 by @KEN-chan. -
Added
detectorAttributes(for:and:at:)method toMessagesDisplayDelegateallowingDetectorTypeattributes to be set outside of the cell. #397 by @SD10.
-
Fixed
indexPathForLastItembug whennumberOfSectionsequal to 1. #395 by @zhongwuzw. -
Fixed
scrollToBottom(animated:)not work in some situations. #395 by @zhongwuzw. -
Fixed
.attributedText(NSAttributedString)messages that were not using thetextColorfrom theMessagesDisplayDelegatemethod. #414 by @SD10. -
Fixed a bug where new messages using
.attributedText(NSAttributedString)have the incorrect font. #412 by @SD10.
-
Breaking Change The
MessageLabelpropertiesaddressAttributes,dateAttributes,phoneNumberAttributes, andurlAttributesare now read only. Please usesetAttributes(_:detector:)to set these properties. #397 by @SD10. -
Breaking Change Removed the generic constraint
<ContentView: UIView>fromMessageCollectionViewCell. #391 by @SD10. -
Breaking Change The
contentViewproperty has been renamed toimageViewforLocationMessageCellandMediaMessageCellandmessageLabelforTextMessageCell. #391 by @SD10. -
Breaking Change Changed the name of
MessageInputBar's propertymaxHeighttomaxTextViewHeightas the property is the max height theInputTextViewcan have, not theMessageInputBaritself. #380 by @nathantannar4. -
Breaking Change Adds a new view
contentViewof typeUIViewto the MessageInputBar to hold the main subviews of theMessageInputBar. Reduces complexity of constraints for easier testing/debugging. #384 by @nathantannar4.
- Breaking Change Removed
scrollsToBottomOnFirstLayoutflag ofMessagesViewController. #395 by @zhongwuzw.
-
Breaking Change Added a top
InputStackViewtoMessageInputBar. This adds the addition of the.topcase toInputStackView.Position. #320 by @nathantannar4. -
Breaking Change Added
AvatarPositionandavatarPosition(for:at:in)to configure anAvatarView's vertical and horizontal position in aMessageCollectionViewCell. #322 by @SD10. -
Added
shouldCacheLayoutAttributes(for:MessageType)-> Boolmethod toMessagesLayoutDelegateto manage whether aMessageType's layout information is cached or not. #364 by @SD10.
-
Breaking Change The
cellTopLabelandcellBottomLabelproperties ofMessageCollectionViewCellare no longer typed asMessageLabeland are now regularUILabels. #355 by @SD10. -
All
DetectorTypes forMessageLabelare disabled by default. #356 by @SD10.
-
Breaking Change Fixed all instances of misspelled
initalproperty.Avatar.initalhas changed toAvatar.initialand the initializer has changed frompublic init(image: UIImage? = nil, initals: String = "?")topublic init(image: UIImage? = nil, initials: String = "?"). #298 by @sidmclaughlin. -
Fixed
MessageInputBar'stranslucentfunctionality. #348 by @zhongwuzw. -
Fixes infinite loop when dismissing keyboard on iPhone X. #350 by @nathantannar4.
-
Fixed incorrect sizing of
cellTopLabelandcellBottomLabel. #371 by @SD10.
-
Breaking Change Removed
AvatarAlignmentandavatarAlignment(for:at:in)delegate method in favor of newAvatarPositionrepresenting both vertical and horizontal alignments. #322 by @SD10. -
Breaking Change Removed the
avatarAlwaysLeadingandavatarAlwaysTrailingproperties of `MessagesCollectionViewFlow$ #322 by @SD10. -
Breaking Change Removed
LocationMessageDisplayDelegate&TextMessageDisplayDelegateand moved their methods into theMessagesDisplayDelegateprotocol. RemovedLocationMessageLayoutDelegate&MediaMessageLayoutDelegateand moved their methods into theMessagesLayoutDelegateprotocol. #363 by @SD10.
-
Fixed
contentInset.topadjustment of theMessagesCollectionViewon iOS versions less than 11 where it was found that messages appeared under the navigation var #334 by @nathantannar4. -
Fixed
cellbottomLabelorigin X for the.messageLeadingalignment and origin Y so that thecellBottomLabelis always under theMessageContainerView. #326 by @SD10. -
Fixed pixelation of
AvatarView's placeholder text initials. #343 by @johnnyoin. -
Fixed
MessageLabeladdress detection handler. #341 by @zhongwuzw -
Fixed crash for escaping block in
InputBarItem’ssetSize(newValue:animated)method. #342 by @zhongwuzw.
-
Fixed a bug that caused a race condition to be met when invalidating the
intrinsicContentSizeof theMessageInputBarwhich froze the app during a "Select" or "Select All" long press #313 by @zhongwuzw. -
Fixed a bug that the
placeholderLabelsubviewofInputTextViewleads to ambiguous content size because of uncorrectAuto Layout. #310 by @zhongwuzw. -
Fixed a bug that the
leftStackView、rightStackViewsubviewofMessageInputBarleads to ambiguousAuto Layoutissue because of typo. #311 by @zhongwuzw.
- Changed
InputStackViewdefaultalignmentfrom.fillto.bottom. #311 by @zhongwuzw.
-
Added
removedCachedAttributes(for:MessageType),removeAllCachedAttributes(), andattributesCacheMaxSizetoMessagesCollectionViewFlowLayoutto manage the caching of layout information for messages. #263 by @SD10. -
Created
SeparatorLineandInputStackViewas their own subclass ofUIViewandUIStackViewrespectively. This just improves reusability. #273 by @nathantannar4.
-
Breaking Change The properties
leftStackView,rightStackViewandbottomStackViewinMessageInputBarare now of typeInputStackView. The propertyseparatorLineis also now of typeSeparatorLineinMessageInputBar. #273 by @nathantannar4. -
Layout information is now being cached by
MessagesCollectionViewFlowLayoutfor eachMessageTypeusing themessageIdproperty. (This means if your layout is dynamic over theIndexPathyou need to handle cache invalidation). #263 by @SD10. -
Layout anchors for the
MessagesCollectionViewandMessageInputBarnow include the safeAreaLayoutGuide to fix layout issues on iPhone X #280 by @nathantannar4.
-
Fixed a bug that prevented the
textAllignmentproperty ofInputTextView'splaceholderLabelfrom having noticable differences when changed to.centeror.right. #262 by @nathantannar4. -
Initial
contentInset.bottomreference changed frommessageInputBartoinputAccessoryViewto allow custominputAccessoryView's that don't break the initial layout. #267 by @nathantannar4. -
Changes the
MessageInputBarbottomUIStackView'sbottomAnchortolayoutMarginsGuide.bottomAnchorto fix issues on the iPhone X. #266 by @nathantannar4. -
Initial
contentInset.bottomreference changed frommessageInputBartoinputAccessoryViewto allow custom inpinputAccessoryView's that don't break the initial layout #267 by @nathantannar4.
- Breaking Change Removed
additionalTopContentInsetproperty ofMessagesViewControllerbecause this is no longer necessary whenextendedLayoutIncludesOpaqueBarsistrue. #250 by @SD10.
-
Breaking Change
.custom((MessageContainerView)->Void)case toMessageStyleenum. #163 by @SD10. -
Breaking Change
UIEdgeInsetsassociated value to allLabelAlignmentenum cases. #166 by @SD10. -
Breaking Change
.emoji(String)case toMessageDataenum. #222 by @SirArkimdes. -
Breaking Change
TextMessageDisplayDelegateto handleenabledDetecors(for:at:in)and movestextColor(for:at:in)to this namespace. #230 by @SD10 -
LocationMessageDisplayDelegateto customize a location messages appearance and add aMKAnnotationViewto location message snapshots. #150 by @etoledom. -
messageLabelInsets(for:indexPath:messagesCollectionViewmethod toMessagesLayoutDelegate. #162 by @SD10. -
animationBlockForLocation(message:indexPath:messagesCollectionView)method toLocationMessageDisplayDelegateto customize the display animation of the location message's map. #210 by @etoledom. -
scrollsToBottomOnFirstLayoutproperty to automatically scroll to the bottom ofMessagesCollectionViewon first load. #213 by @FraDeliro. -
scrollsToBottomOnKeyboardDidBeginEditingproperty to automatically scroll to the bottom ofMessagesCollectionViewwhen the keyboard begins editing. #217 by @SD10. -
additionalTopContentInsetproperty toMessagesColectionViewControllerto allow users to account for extra subviews. #218 by @SD10. -
messagePadding(for:at:in)method toMessagesLayoutDelegateto dynamically set padding aroundMessageContainerView. #208 by @SD10.
-
MessageInputBarnow correctly sizes itself when breaking its max height or pasting in large amounts of text #173 by @nathantannar4. -
MessageInputBarfaced a rendering issue on subsequent presentations of aMessageViewController. This was originally patched by adding a copy to the view duringviewDidAppear(animated:)however that led to other issues #116. A correct patch has now been applied. #178 by @nathantannar4. -
Incorrect sizing of
MessagesCollectionViews content inset by settingextendedLayoutIncludesOpaqueBarsto true by default. #204 by @SD10. -
scrollIndicatorInsetsto match the insets of theMessagesCollectionView. #174 by @etoledom. -
MediaMessageCellhad an offsetPlayButtonViewthat was being constrained to the cell and not the message container. #239 by @SirArkimedes.
-
Breaking Change
snapshotOptionsForLocationmethod is now part ofLocationMessageDisplayDelegate. #150 by @etoledom. -
Breaking Change
setMapSnapshotImagenow includes anannotationView: MKAnnotationView?argument. #150 by @etoledom. -
Breaking Change
messageLabelInsetshas been made into a method onMessagesLayoutDelegate. #162 by @SD10. -
Breaking Change
messageLabelInsetsnow defaults to aleftinset of 18 for incoming messages and arightinset of 18 for outgoing messages. #162 by @SD10. -
Breaking Change
InputTextView'sUITextViewDelegateis now set toself#173 by @nathantannar4. -
Breaking Change
MessagesDisplayDelegatemessageHeaderView(for:at:in)andmessageFooterView(for:at:in)to return non-optionals. #229 by @SD10. -
Breaking Change
MessagesCollectionViewdequeueMessageHeaderView(withIdentifier:for:)&dequeueMessageFooterView(widthIdentifier:for:)have been renamed todequeueReusableHeaderView(CollectionViewReusable.Type,for:)&dequeueReusableFooterView(CollectionViewReusable.Type,for:). #229 by @SD10. -
configuremethod of allMessageCollectionViewCelltypes to be marked asopen. #200 by @SD10. -
MessageHeaderView,MessageFooterView, andMessageDateHeaderViewinitializers to bepublic. #175 by @cwalo. -
UICollectionViewDataSourceandUICollectionViewDelegatemethods ofMessagesViewControllerto beopen. #177 by @cwalo.
-
Breaking Change
cellTopLabelInsetsandcellBottomLabelInsetsfromMessagesCollectionViewFlowLayout. #166 by @SD10. -
Breaking Change
messageToViewEdgePaddingonMessagesCollectionViewFlowLayoutin favor ofmessagePadding(for:at:in). #208 by @SD10.
- Support for Swift 4
- Support for Swift 3.2 and Xcode 9
This release closes the 0.8 milestone.
- Breaking Change
MessageDatanow supports.photo(UIImage),.location(CLLocation),.video(file: URL, thumbnail: UIImage)cases. - Breaking Change
MessageCollectionViewCellis now generic over itsContentViewconstrained toUIView. - Breaking Change
TextMessageCellsubclass ofMessageCollectionViewCellto support text messages. MediaMessageCellsubclass ofMessageCollectionViewCellto support photo/video messages.LocationMessageCellsubclass ofMessageCollectionViewCellto support location messages.- Adds
LocationMessageLayoutDelegatefor sizing of location messages. - Adds
MediaMessageLayoutDelegatefor sizing of media messages. AvatarViewnow supportsfontMinimumScaleFactor,placeholderFontColor, andplaceholderFontproperties
- Keyboard handling no longer adjusts the top & bottom insets for
MessagesCollectionView. MessageStyles are now applied as amaskon theMessageContainerView
MessageCollectionViewCell'smessageLabelhas been renamed tomessageContentViewAvatarView'ssetBackground(color: UIColor)method has been deprecated in favor ofbackgroundColorAvatarView'sgetImage()method has been deprecated in favor of a newimageproperty.
- Fixes extra height on text messages due to font specified in
MessagesCollectionViewFlowLayoutnot being applied. AvatarView's placeholder image is no longer constrained to a size of30 x 30.AvatarView's placeholder text can now auto-adjust based on available width.
- Fixes invalid image path for Carthage resources.
- Fixes missing asset bundle resources for Carthage installation.
- Fixes missing asset bundle resources in framework.
This release closes the 0.7 milestone
This release closes the 0.6 milestone.
This release closes the 0.5 milestone.
This release closes the 0.4 milestone.
This release closes the 0.3 milestone.
This release closes the 0.2 milestone.
This release closes the 0.1 milestone.
Initial release. 🎉