Changelog History
Page 2
-
v3.2.0 Changes
August 26, 2020๐ 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
linkPreview
message type, which display a subclass ofTextMessageCell
with 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
-
v3.1.0 Changes
March 17, 2020๐ Fixed
Set the proper notification to invalidate layout. MessageKit now relies on
UIApplication
orientation notification instead ofUIDevice
, which invalidates the layout only when it is needed. #1126 by @bguidolimFixed
requiredInitialScrollViewBottomInset
wheninputAccessoryView
isnil
#1218 by @aaboshFixed
MessagesCollectionView.scrollToBottom(animated:)
method to properly handle calls made early in the view lifecycle. #1110 by @marcetcheverryFixed
TypingIndicator
dotColor
for 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
scrollToLastItem
andscrollsToLastItemOnKeyboardBeginsEditing
#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.id
in favour ofSenderType.senderId
. This change was previously meant for 3.0.0. #1201 by @kinoroy
โ Removed
-
v3.1.0-beta.1 Changes
February 25, 20203.1.0
๐ Fixed
Set the proper notification to invalidate layout. MessageKit now relies on
UIApplication
orientation notification instead ofUIDevice
, which invalidates the layout only when it is needed. #1126 by @bguidolim๐ Fixed
requiredInitialScrollViewBottomInset
wheninputAccessoryView
isnil
#1218 by @aaboshโ 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
Lazily initialize the MessageInputBar on MessagesViewController. #1092 by @marcetcheverry
โ Add support for Dark Mode #1189 by @Vlada31R
โ Add support for
scrollToLastItem
andscrollsToLastItemOnKeyboardBeginsEditing
#1247 by @youuu๐ Changed
๐ฅ Breaking Change Updated to Swift 5.0 #1039 by @nathantannar4
๐ Fixes scrollToBottom method to properly handle calls made early in the view lifecycle. #1110 by @marcetcheverry
โ Add missing cellTopLabelAlignment to MessageSizeCalculator. #1113 by @marcetcheverry
๐ฅ Breaking Change
MessageInputBar
, andMessageInputBarDelegate
have been obsoleted. UseInputBarAccessoryView
andInputBarAccessoryViewDelegate
respectively. This change was previously meant for 3.0.0 but was implemented erroneously. #1201 by @kinoroy๐ Deprecated
SenderType.id
in favour ofSenderType.senderId
. This change was previously meant for 3.0.0 but
was implemented erroneously. #1201 by @kinoroy -
v3.0.0 Changes
May 01, 2019Dependency Changes
- ๐ฅ Breaking Change The dependency
MessageInputBar
was replaced withInputBarAccessoryView
. AsMessageInputBar
was previously a fork this means no functionality has been lost but improvements and bug fixes will be present.InputBarAccessoryView
has more of a following outside ofMessageKit
making its development faster thanMessageInputBar
. Maintaining two versions only increased the workload. You can find the changelog forInputBarAccessoryView
here.
๐ Changed
๐ฅ Breaking Change Deprecated the Sender struct in favor of the
SenderType
protocol. #909 by @nathantannar4๐ฅ Breaking Change Deprecated the Sender struct in favor of the
SenderType
protocol. #909 by @nathantannar4๐ฅ Breaking Change Add support for audio messages. Added new protocols
AudioControllerDelegate
,AudioItem
a new cellAudioMessageCell
and a new controllerBasicAudioController
. #892 by @moldovaniosif.๐ฅ Breaking Change Moved
handleTapGesture
method toMessageCollectionViewCell
#950 by @nathantannar4๐ฅ Breaking Change Renamed function
layoutBottomLabel(with:)
tolayoutMessageBottomLabel(with:)
inMessageContentCell
class. #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 toMessagesDisplayDelegate
or use the default appearance. Customize the size withMessagesLayoutDelegate
. #989 by @nathantannar4โ Added
incomingAccessoryViewPosition
andoutgoingAccessoryViewPosition
variables toMessageSizeCalculator
class. #989 by @subdioxAdded
setMessageIncomingAccessoryViewPosition(_:)
andsetMessageOutgoingAccessoryViewPosition(_:)
functions toMessagesCollectionViewFlowLayout
class. #989 by @subdiox๐ฅ Breaking Change Added
avatarLeadingTrailingPadding
as a property ofCellSizeCalculator
andMessagesCollectionViewLayoutAttributes
to inset theAvatarView
layout #944 by @nathantannar4๐ฅ Breaking Change Added
didTapBackground(in:)
function toMessageCellDelegate
protocol. #922 by @kpennacchia๐ฅ Breaking Change Added
didTapCellBottomLabel(in:)
function toMessageCellDelegate
protocol. #920 by @maxxx777๐ฅ Breaking Change Added
cellBottomLabelAttributedText(for:, at:)
function toMessagesDataSource
protocol. #920 by @maxxx777๐ฅ Breaking Change Added
cellBottomLabelHeight(for:, at:, in messagesCollectionView:)
function toMessagesLayoutDelegate
protocol. #920 by @maxxx777โ Added
cellBottomLabel
toMessageContentCell
. #920 by @maxxx777โ Added
layoutCellBottomLabel(with:)
function toMessageContentCell
class. #920 by @maxxx777Added
setMessageIncomingCellBottomLabelAlignment(_:)
andsetMessageOutgoingCellBottomLabelAlignment(_:)
functions toMessagesCollectionViewFlowLayout
class. #920 by @maxxx777โ Added
cellBottomLabelAlignment
andcellBottomLabelSize
variables toMessagesCollectionViewLayoutAttributes
class. #920 by @maxxx777โ Added
incomingCellBottomLabelAlignment
andoutgoingCellBottomLabelAlignment
variables toMessageSizeCalculator
class. #920 by @maxxx777โ Added
cellBottomLabelSize(for:, at:)
andcellBottomLabelAlignment(for:)
functions toMessageSizeCalculator
class. #920 by @maxxx777
- ๐ฅ Breaking Change The dependency
-
v3.0.0-beta Changes
April 06, 20193.0.0
Dependency Changes
- ๐ฅ Breaking Change The dependency
MessageInputBar
was replaced withInputBarAccessoryView
. AsMessageInputBar
was previously a fork this means no functionality has been lost but improvements and bug fixes will be present.InputBarAccessoryView
has more of a following outside ofMessageKit
making its development faster thanMessageInputBar
. Maintaining two versions only increased the workload. You can find the changelog forInputBarAccessoryView
here.
๐ Changed
๐ฅ Breaking Change Deprecated the Sender struct in favor of the
SenderType
protocol.
#909 by @nathantannar4๐ฅ Breaking Change Add support for audio messages. Added new protocols
AudioControllerDelegate
,AudioItem
a new cellAudioMessageCell
and a new controllerBasicAudioController
.
#892 by @moldovaniosif.๐ฅ Breaking Change Moved
handleTapGesture
method toMessageCollectionViewCell
#950 by @nathantannar4๐ฅ Breaking Change Renamed function
layoutBottomLabel(with:)
tolayoutMessageBottomLabel(with:)
inMessageContentCell
class.
#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 toMessagesDisplayDelegate
or use the default appearance. Customize the size withMessagesLayoutDelegate
.
#989 by @nathantannar4โ Added
AccessoryPosition
class.
#989 by @subdioxโ Added
incomingAccessoryViewPosition
andoutgoingAccessoryViewPosition
variables toMessageSizeCalculator
class.
#989 by @subdioxAdded
setMessageIncomingAccessoryViewPosition(_:)
andsetMessageOutgoingAccessoryViewPosition(_:)
functions toMessagesCollectionViewFlowLayout
class.
#989 by @subdiox๐ฅ Breaking Change Added
avatarLeadingTrailingPadding
as a property ofCellSizeCalculator
andMessagesCollectionViewLayoutAttributes
to inset theAvatarView
layout
#944 by @nathantannar4๐ฅ Breaking Change Added
didTapBackground(in:)
function toMessageCellDelegate
protocol.
#922 by @kpennacchia๐ฅ Breaking Change Added
didTapCellBottomLabel(in:)
function toMessageCellDelegate
protocol.
#920 by @maxxx777๐ฅ Breaking Change Added
cellBottomLabelAttributedText(for:, at:)
function toMessagesDataSource
protocol.
#920 by @maxxx777๐ฅ Breaking Change Added
cellBottomLabelHeight(for:, at:, in messagesCollectionView:)
function toMessagesLayoutDelegate
protocol.
#920 by @maxxx777โ Added
cellBottomLabel
toMessageContentCell
.
#920 by @maxxx777โ Added
layoutCellBottomLabel(with:)
function toMessageContentCell
class.
#920 by @maxxx777Added
setMessageIncomingCellBottomLabelAlignment(_:)
andsetMessageOutgoingCellBottomLabelAlignment(_:)
functions toMessagesCollectionViewFlowLayout
class.
#920 by @maxxx777โ Added
cellBottomLabelAlignment
andcellBottomLabelSize
variables toMessagesCollectionViewLayoutAttributes
class.
#920 by @maxxx777โ Added
incomingCellBottomLabelAlignment
andoutgoingCellBottomLabelAlignment
variables toMessageSizeCalculator
class.
#920 by @maxxx777โ Added
cellBottomLabelSize(for:, at:)
andcellBottomLabelAlignment(for:)
functions toMessageSizeCalculator
class.
#920 by @maxxx777 - ๐ฅ Breaking Change The dependency
-
v2.0.0 Changes
April 06, 2019โ Added
- ๐ฅ Breaking Change Added new methods to simplify using of custom messages:
customCellSizeCalculator(for:at:in:)
forMessagesLayoutDelegate
andcustomCell(for:at:in:)
forMessagesDataSource
. #879 by @realbonus
๐ Changed
- ๐ Change acl of
handleGesture(touchLocation:)
inMessageLabel
from internal to open. #912 by @julienkode
- ๐ฅ Breaking Change Added new methods to simplify using of custom messages:
-
v2.0.0-beta.1 Changes
October 14, 2018๐ Changed
๐ฅ Breaking Change Updated codebase to Swift 4.2 #883 by @nathantannar4
๐ Fixed the way that the Strings and UIImages are parsed in the
InputTextView
to prevent crashes inparseForComponents()
. #791 by @nathantannar4
โ Added
๐ฅ Breaking Change Added
.hashtag
, .mention
to detect theses pattern inside themessageLabel
. We also add.custom(pattern: YOUR_PATTERN)
toDetectorType
to manage and deal with your own regular expression. #913 by @JulienKode.โ Added support for detection and handling of
NSLink
s inside of messages. #815 by @jnicโ Added customizable
accessoryView
, with a newMessagesDisplayDelegate
functionconfigureAccessoryView
, and corresponding size & padding properties inMessageSizeCalculator
. TheaccessoryView
is aligned to the center of themessageContainerView
. #710 by @hyouuuโ Added a tap gesture recognition to the
accessoryView
which calls theMessageCellDelegate
functiondidTapAccessoryView(in:)
. #834 by @nathantannar4โ Added
additionalBottomInset
property 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
scrollsToBottomOnKeyboardBeginsEditing
toscrollsToBottomOnKeyboardBeginsEditing
. #856 by @p-petrenko๐ Fixed a bug that prevented
MessageLabel
from 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
edgesForExtendedLayout
does 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.emoji
case to use 2x themessageLabelFont
size by default. #795 by @Vortec4800.
๐ Fixed
-
v1.0.0 Changes
June 27, 2018This is the first non-prerelease version of MessageKit. This means, while there will still be API breaking changes as the project evolves, we have a generally agreed upon core API. Thanks again to all the contributors that make this project possible ๐ฏ ๐ฅ
Special thanks to the core team members @zhongwuzw @nathantannar4 and @cwalo. For those interested in the roadmap/feature candidates for the next major version, please check out the 2.0.0 milestone.
-
v1.0.0-beta.2 Changes
June 15, 2018๐ This version brings a few bug fixes thanks to all our beta testers ๐. This should be the last beta release for MessageKit. Once again thank you to all the people contributing to this project ๐ฏ ๐
๐ Changed
๐ Fixed
๐ Fixed
MessageContentCell
's subviewsframe
when 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
LabelAlignment
initializer which has default internal access control.
#705 by @zhongwuzw.โ Added
- โ Added convenience method to set properties for all
MessageSizeCalculator
s.
#697 by @zhongwuzw.
- โ Added convenience method to set properties for all
-
v1.0.0-beta.1 Changes
May 03, 2018๐ ๐ This version brings a huge number of API breaking changes necessary for performance and the longevity of this project. This also sets a baseline for stable MessageKit API.
Below we've included a changelog and we've tried our best to fully document all API changes. If you're having trouble migrating from an earlier version of MessageKit, please open a GitHub issue and we'll do our best to point you in the right direction.
This release would not have been possible without the help of @zhongwuzw ๐ ๐ ๐.
๐ He contributed a large number of bug fixes and performance improvements to get MessageKit to where it is today. I'd like to also thank the other core team members @nathantannar4 and @cwalo for their continued support. And of course thanks to the rest of the MessageKit contributors making this project possible ๐ฏโ Added
๐ฅ Breaking Change Added new
MessagesDataSource
delegate methods,numberOfSections(in)
andnumberOfItems(inSection:in)
.
#601 by @SD10, @zhongwuzw.๐ฅ Breaking Change Added new protocol
MediaItem
as the associated value for the
MessageData.video
andMessageData.photo
cases.
#587 by @SD10.๐ฅ Breaking Change Added new protocol
LocationItem
as the associated value for
theMessageData.location
case.
#587 by @SD10.๐ฅ Breaking Change Added new
DetectorType
called.transitInformation
to message label.
#520 by @nosarj.๐ฅ Breaking Change Added
.custom(Any?)
case toMessageData
.
#498 by @SD10.๐ฅ Breaking Change Added
.messageLabelTop
case toAvatarPosition.Vertical
enum.
#596 by @zhongwuzwโ Added
CellSizeCalculator
protocol that is responsible for sizing and configuring attributes of aMessageCollectionViewCell
.
#579 by @SD10.โ Added
MessageSizeCalculator
,MediaMessageSizeCalculator
,TextMessageSizeCalculator
, andLocationMessageSizeCalculator
classes that are responsible for sizing theMessagesCollectionViewCell
types 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 class
InsetLabel
.
#580 by @SD10.โ Added new method
configureMediaMessageImageView(_:for:at:in)
to configure theUIImageView
of a
MediaMessageCell
asynchronously.
#592 by @zhongwuzw, @SD10โ Added new
MessageContentCell
class andMessageReusableView
class.
#596 by @SD10.๐ Changed
๐ฅ Breaking Change Renamed
MessageData
enum toMessageKind
and changedMessageType
'sdata
property name tokind
.
#658 by @zhongwuzw.๐ฅ Breaking Change Changed the
messageFooterView(for:in)
andmessageHeaderView(for:in)
methods of
MessagesDisplayDelegate
by removing themessage
parameter.
#615 by @SD10.๐ฅ Breaking Change Changed the
footerViewSize(for:in)
andheaderViewSize(for:in)
methods ofMessagesLayoutDelegate
by removing theMessageType
andIndexPath
parameters and replacing them with a newsection: Int
parameter.
#615 by @SD10.๐ฅ Breaking Change The reuse identifiers of all
MessageReusableView
s andMessageCollectionViewCell
s have been
๐ changed to match their class name exactly.
#615 by @SD10.๐ฅ Breaking Change
MessageHeaderView
andMessageFooterView
now subclassMessageReusableView
class.
#596 by @SD10.๐ฅ Breaking Change Renamed
MessageCollectionViewCell
toMessageContentCell
.
TheMessageCollectionViewCell
class is now a bare bones subclass.
#596 by @SD10.๐ฅ Breaking Change Changed
LabelAlignment
to be astruct
with properties of
textAlignment: NSTextAlignment
andtextInsets: UIEdgeInsets
to position the text in thecellTopLabel
andcellBottomLabel
.
#580 by @SD10.๐ฅ Breaking Change The type of
cellTopLabel
andcellBottomLabel
has been changed toInsetLabel
.
#580 by @SD10.๐ฅ Breaking Change Renamed
cellTopLabel
tomessageTopLabel
and renamedcellBottomLabel
tomessageBottomLabel
.
#659 by @SD10.๐ฅ Breaking Change Renamed the
didTapTopLabel
anddidTapBottomLabel
methods ofMessageCellDelegate
todidTapMessageTopLabel
anddidTapMessageBottomLabel
.
#659 by @SD10.๐ฅ Breaking Change Renamed
cellBottomLabelAttributedText
method ofMessagesDataSource
tomessageBottomLabelAttributedText
.
#659 by @zhongwuzw.0๏ธโฃ The
MessageData.emoji
case no longer uses a default font of 2x themessageLabelFont
size.
You must now set this font explicitly through theemojiMessageSizeCalculator
onMessagesCollectionViewFlowLayout
.
#530 by @SD10.๐ Changed the
contentMode
of theUIImageView
forMediaMessageCell
to be.scaleAspectFill
.
#587 by @SD10.The result of the
MessagesDisplayDelegate
methodtextColor(for message:...)
no longer applies to.attributedText
case ofMessageData
.
#625 by @cwalo.โ Removed the explicit height constraint from the
separatorLine
inMessageInputBar
.
#667 by @zhongwuzwโ Removed
๐ฅ Breaking Change Removed
NSLayoutConstraintSet
by changing access control frompublic
tointernal
.
#607 by @zhongwuzw.๐ฅ Breaking Change Removed the
showsDateHeaderAfterTimeInterval
property ofMessagesCollectionView
.
#615 by @SD10.๐ฅ Breaking Change Removed the
reuseIdentifer
method fromMessageCollectionViewCell
,TextMessageCell
,
LocationMessageCell
,MediaMessageCell
, andMessageContentCell
.
#615 by @SD10.๐ฅ Breaking Change Removed the
CollectionViewReusable
protocol.
#615 by @SD10.๐ฅ Breaking Change Removed
MessageHeaderView
andMessageFooterView
in 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
messageLabelFont
property fromMessagesCollectionViewFlowLayout
.
You can now set this property throughtextMessageSizeCalculator
property.
#579 by @SD10.๐ฅ Breaking Change Removed
MessageDateHeaderView
class in favor of usingcellTopLabel
.
#659 by @zhongwuzw.๐ Fixed
- ๐ Fixed equality checking on
MessagesCollectionViewLayoutAttributes
.
#593 by @zhongwuzw, @SD10
- ๐ Fixed equality checking on