62 KiB
CHANGELOG
The changelog for MessageKit. Also see the releases on GitHub.
Future release
Added
Fixed
Updated
- Update InputBarAccessoryView to fix some crashes and issues by @kaspik
Changed
Removed
4.3.0
- Fix for SwiftUI example IBAV position issues (example app) by @Janneman84 in https://github.com/MessageKit/MessageKit/pull/1807
- Added Coursicle to the list of apps using MessageKit by @monstermac77 in https://github.com/MessageKit/MessageKit/pull/1809
- duration NaN issue fix by @kkarakamis in https://github.com/MessageKit/MessageKit/pull/1812
- Add OutyPlay to list of apps using MessageKit by @fabdurso in https://github.com/MessageKit/MessageKit/pull/1820
- Fix #816 by @RomanPodymov in https://github.com/MessageKit/MessageKit/pull/1819
- Update Makefile by @Kaspik in https://github.com/MessageKit/MessageKit/pull/1833
- Added ability to specify additionalBottomSpace for keyboardManager by @Almaz5200 in https://github.com/MessageKit/MessageKit/pull/1821
- build(deps): Bump rexml from 3.2.5 to 3.2.8 by @dependabot in https://github.com/MessageKit/MessageKit/pull/1839
- Added listener for keyboard input mode changes (e.g. emoji keyboard) by @raulolmedocheca in https://github.com/MessageKit/MessageKit/pull/1842
- build(deps): Bump rexml from 3.2.8 to 3.3.6 by @dependabot in https://github.com/MessageKit/MessageKit/pull/1858
- Fix for overlapping detected matches by @SkiTles55 in https://github.com/MessageKit/MessageKit/pull/1853
- Fix timestamp label layout when not in fullscreen by @CocoaBob in https://github.com/MessageKit/MessageKit/pull/1854
- ♻️ Rename plugins to avoid clashing with SwiftLintPlugins by @technocidal in https://github.com/MessageKit/MessageKit/pull/1862
- Added custom image masking by @GitNirajHub in https://github.com/MessageKit/MessageKit/pull/1860
- Update to Swift 5.10
4.2.0
Added
Fixed
- Fix Advanced example hiding indicator #1792 by @kaspik
- Fix hiding typing indicator crash #1804 by @Zandor300
Changed
- Update Github Actions and bump dependencies by @kaspik
Removed
4.1.0
Added
- Swiftformat and Swiftlint SwiftPM plugins used for linting and formatting the codebase #1729 by @martinpucik
Fixed
- Fixed iOS 13 deprecation warnings #1730 by @kaspik
- SwiftPM plugins setup #1732 by @martinpucik
Changed
- Updated InputBarAccessoryView to v6.1.1 by @kaspik
4.0.0
Version 4.0.0 comes with couple of breaking changes, please refer to MIGRATION_GUIDE.md for easy transition from V3 to V4.
Added
- New method in
MessagesLayoutDelegatefor setting message avatar size ddfc814 by @martinpucik MessageInputBarKindenum for customizingmessageInputBarinsideinputContainerView#1707 by @martinpucik
Changed
- Breaking change: Dropped CocoaPods support
- Breaking change: Dropped support for iOS 12 2bd234b by @martinpucik
- Breaking change: Moved messageInputBar from inputAccessoryView to a subview in MessagesViewController #1704 by @martinpucik
- Breaking change: Renamed
func currentSender() -> SenderTypetovar currentSender: SenderType#1714 by @martinpucik - Deprecation: Deprecated
maintainPositionOnKeyboardFrameChangedMovedin favor ofmaintainPositionOnInputBarHeightChangedwhich better describes the intended use of this property #1704 by @martinpucik - Breaking change: Added an argument to
messageContainerMaxWidthcd4f75b by @martinpuciknow has IndexPath argumentMessageSizeCalculator.messageContainerMaxWidth(for message: MessageType) -> CGFloatMessageSizeCalculator.messageContainerMaxWidth(for message: MessageType, at indexPath: IndexPath) -> CGFloat - Breaking change: Added an argument to
messageContainerSizecd4f75b by @martinpuciknow has IndexPath argumentMessageSizeCalculator.messageContainerSize(for message: MessageType) -> CGSizeMessageSizeCalculator.messageContainerSize(for message: MessageType, at indexPath: IndexPath) -> CGSize - Updated InputBarAccessoryView to v6.1.0 #1716 by @martinpucik
- Observe inputBar frame change to update collectionView bottom inset instead of keyboard show/hide notifications #1726 by @martinpucik
Fixed
- Fixed iOS 13 deprecation warnings #1715 by @kaspik
- Updating bottom chat collectionView inset after InputBar container view frame change #1725 by @martinpucik
Removed
- NSConstraintLayoutSet.swift #1700 by @martinpucik
- Deprecated
Senderstruct. Clients should useSenderTypeprotocol #1713 by @martinpucik - Unavailable
MessageInputBarandMessageInputBarDelegate. Clients should useInputBarAccessoryViewandInputBarAccessoryViewDelegate#1713 by @martinpucik func scrollToBottom(animated:)onMessagesCollectionView. Clients should usefunc scrollToLastItem(:)#1713 by @martinpucik
3.8.0
Added
- New methods in
MessagesLayoutDelegatefor adjusting alignment of message top and bottom labels #1671 by @martinpucik
Removed
- Not used workspace files in example project #1671 by @martinpucik
3.7.0
Fixed
- Updated InputBarAccessoryView to 5.4.0 with XCode 13 support
- Fixed Example project loading MessageKit through SPM
- Make sure MessageKit works on XCode 13 correctly
3.6.1
Added
- Added enough data source and delegate methods to display customized
UICollectionViewCellfor MessageTypes other than.customin #1577 by @jvigneshcs
3.6.0
Fixed
-
Fixes an issue with Scroll problem on new messages with keyboard open #1529 by @politan8
-
Fixes time stamp vertical alignment so labels align with messages when showMessageTimestampOnSwipeLeft is true. by @kurtsequoia
-
Breaking Change Changed
MessagesLayoutDelegate's method for typing indicator size. Typing indicator's size is now correctly calculated based on delegate methodfunc typingIndicatorViewSize(for layout: MessagesCollectionViewFlowLayout) -> CGSize#1563 by @kaspik
Added
Changed
Removed
3.5.1
Fixed
Changed
- Bump
InputBarAccessoryView
3.5.0
Fixed
- maintainPositionOnKeyboardFrameChanged for small contentSize would scroll content out of bounds #1506 by @martinpucik
Added
Changed
- Changed
resourcestoresource_bundlein MessageKit.podspec #1460 by @martinpucik - Changed dependency manager for Example project to SPM #1504 by @martinpucik
- Deprecated
messagesCollectionView.scrollToBottomandscrollsToBottomOnKeyboardBeginsEditingin favor ofmessagesCollectionView.scrollToLastItemandscrollsToLastItemOnKeyboardBeginsEditing. This will be removed in a future release #1505 by @martinpucik
Removed
3.4.2
- Updated
InputBarAccessoryViewto 5.2.1 with fixed warning on XCode 12 when used via SPM
3.4.1
Fixed
-
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
3.4.0
Changed
- Breaking Change Dropped support for iOS 11, added support for Swift 5.3 SPM and XCode 12 #1464 by @kaspik
3.3.0
Fixed
- Fixes missing insets for link preview messages #1447 by @bguidolim
Added
- Show message time by swiping left over the chat controller. #1444 by @amirpirzad
3.2.0
Fixed
- 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
- 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
Changed
- 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
3.1.0
Fixed
-
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
Added
-
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
Changed
-
Breaking Change Updated to Swift 5.0 #1039 by @nathantannar4
-
Lazily initialize the MessageInputBar on MessagesViewController. #1092 by @marcetcheverry
Deprecated
- Deprecated
SenderType.idin favor ofSenderType.senderId. This change was previously meant for 3.0.0. #1201 by @kinoroy
Removed
- Breaking Change
MessageInputBar, andMessageInputBarDelegatehave been obsoleted. UseInputBarAccessoryViewandInputBarAccessoryViewDelegaterespectively. This change was previously meant for 3.0.0. #1201 by @kinoroy
3.0.0
Dependency Changes
- 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.
Changed
-
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
Added
-
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
2.0.0
Added
- Breaking Change Added new methods to simplify using of custom messages:
customCellSizeCalculator(for:at:in:)forMessagesLayoutDelegateandcustomCell(for:at:in:)forMessagesDataSource. #879 by @realbonus
Changed
- Change acl of
handleGesture(touchLocation:)inMessageLabelfrom internal to open. #912 by @julienkode
2.0.0-beta.1
Fixed
- Fixed
boundingRect(with:options:)miscalculation ofMessageLabelby usingNSLayoutManager, like textᏊ˘̴͈́ꈊ˘̴͈̀Ꮚ⋆✩、Tomorrow is the day. #824 by @zhongwuzw.
Changed
-
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
Added
-
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 theMessageCellDelegatefunctiondidTapAccessoryView(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
Fixed
-
Breaking Change Fixed typo of
scrollsToBottomOnKeyboardBeginsEditingtoscrollsToBottomOnKeyboardBeginsEditing. #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
-
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.
1.0.0
- First major release.
[Prerelease] 1.0.0-beta.2
Changed
Fixed
-
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
- Added convenience method to set properties for all
MessageSizeCalculators. #697 by @zhongwuzw.
[Prerelease] 1.0.0-beta.1
Added
-
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.
Changed
-
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
Removed
-
Breaking Change Removed
NSLayoutConstraintSetby changing access control frompublictointernal. #607 by @zhongwuzw. -
Breaking Change Removed the
showsDateHeaderAfterTimeIntervalproperty ofMessagesCollectionView. #615 by @SD10. -
Breaking Change Removed the
reuseIdentifiermethod 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
- Fixed equality checking on
MessagesCollectionViewLayoutAttributes. #593 by @zhongwuzw, @SD10
[Prerelease] 0.13.5
Fixed
- Fixed
MessageLabeltouch location offset calculation. #664 by @austinwright.
[Prerelease] 0.13.4
Fixed
-
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.
[Prerelease] 0.13.3
Fixed
- Fixed font invalidation of
attributedStringinMessageLabel. #623 by @zhongwuzw.
[Prerelease] 0.13.2
Added
- Added
shouldManageSendButtonEnabledStatetoMessageInputBarto disable automatically managingMessageInputBar.sendButton'sisEnabledstate when text changes. (Default value istrue). #530 by @clayellis.
Fixed
- Fixed wrong separated components in messageInputBar. #577 by @zhongwuzw.
[Prerelease] 0.13.1
Fixed
-
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.
[Prerelease] 0.13.0
Fixed
-
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
-
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.
Removed
- 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.
Changed
-
Breaking Change Moved the
handleTapGesture(_ gesture: UIGestureRecognizer)method fromMessagesCollectionViewCelltoMessagesCollectionView. #417 by @zhongwuzw. -
Breaking Change Changed
AvatarViewfrom typeUIViewto typeUIImageView. #417 by @zhongwuzw.
[Prerelease] 0.12.1
Fixed
-
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.
[Prerelease] 0.12.0
Added
-
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
-
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.
Changed
-
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.
Removed
- Breaking Change Removed
scrollsToBottomOnFirstLayoutflag ofMessagesViewController. #395 by @zhongwuzw.
[Prerelease] 0.11.0
Added
-
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.
Changed
-
Breaking Change The
cellTopLabelandcellBottomLabelproperties ofMessageCollectionViewCellare no longer typed asMessageLabeland are now regularUILabels. #355 by @SD10. -
All
DetectorTypes forMessageLabelare disabled by default. #356 by @SD10.
Fixed
-
Breaking Change Fixed all instances of misspelled
initialproperty.Avatar.initialhas changed toAvatar.initialand the initializer has changed frompublic init(image: UIImage? = nil, initials: 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.
Removed
-
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.
[Prerelease] 0.10.2
Fixed
-
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.
[Prerelease] 0.10.1
Fixed
-
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 incorrectAuto Layout. #310 by @zhongwuzw. -
Fixed a bug that the
leftStackView、rightStackViewsubviewofMessageInputBarleads to ambiguousAuto Layoutissue because of typo. #311 by @zhongwuzw.
Changed
- Changed
InputStackViewdefaultalignmentfrom.fillto.bottom. #311 by @zhongwuzw.
[Prerelease] 0.10.0
Added
-
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.
Changed
-
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
-
Fixed a bug that prevented the
textAlignmentproperty ofInputTextView'splaceholderLabelfrom having noticeable 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.
Removed
- Breaking Change Removed
additionalTopContentInsetproperty ofMessagesViewControllerbecause this is no longer necessary whenextendedLayoutIncludesOpaqueBarsistrue. #250 by @SD10.
[Prerelease] 0.9.0
Added
-
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 handleenabledDetectors(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 toMessagesCollectionViewControllerto allow users to account for extra subviews. #218 by @SD10. -
messagePadding(for:at:in)method toMessagesLayoutDelegateto dynamically set padding aroundMessageContainerView. #208 by @SD10.
Fixed
-
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.
Changed
-
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.
Removed
-
Breaking Change
cellTopLabelInsetsandcellBottomLabelInsetsfromMessagesCollectionViewFlowLayout. #166 by @SD10. -
Breaking Change
messageToViewEdgePaddingonMessagesCollectionViewFlowLayoutin favor ofmessagePadding(for:at:in). #208 by @SD10.
[Prerelease] 0.8.2
Added
- Support for Swift 4
[Prerelease] 0.8.1
Added
- Support for Swift 3.2 and Xcode 9
[Prerelease] 0.8.0
This release closes the 0.8 milestone.
Added
- 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
Changed
- Keyboard handling no longer adjusts the top & bottom insets for
MessagesCollectionView. MessageStyles are now applied as amaskon theMessageContainerView
Deprecated
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.
Fixed
- 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.
[Prerelease] 0.7.4
- Fixes invalid image path for Carthage resources.
[Prerelease] 0.7.3
- Fixes missing asset bundle resources for Carthage installation.
[Prerelease] 0.7.2
[Prerelease] 0.7.1
- Fixes missing asset bundle resources in framework.
[Prerelease] 0.7.0
This release closes the 0.7 milestone
[Prerelease] 0.6.0
This release closes the 0.6 milestone.
[Prerelease] 0.5.0
This release closes the 0.5 milestone.
[Prerelease] 0.4.0
This release closes the 0.4 milestone.
[Prerelease] 0.3.0
This release closes the 0.3 milestone.
[Prerelease] 0.2.0
This release closes the 0.2 milestone.
[Prerelease] 0.1.0
This release closes the 0.1 milestone.
Initial release. 🎉