All Versions
47
Latest Version
Avg Release Cycle
61 days
Latest Release
-

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 of TextMessageCell 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 of UIDevice, which invalidates the layout only when it is needed. #1126 by @bguidolim

    • Fixed requiredInitialScrollViewBottomInset when inputAccessoryView is nil #1218 by @aabosh

    • Fixed MessagesCollectionView.scrollToBottom(animated:) method to properly handle calls made early in the view lifecycle. #1110 by @marcetcheverry

    • Fixed TypingIndicator dotColor for light mode. #1266 by @lewis-smith

    โž• Added

    ๐Ÿ”„ Changed

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ Deprecated SenderType.id in favour of SenderType.senderId. This change was previously meant for 3.0.0. #1201 by @kinoroy

    โœ‚ Removed

    • ๐Ÿ’ฅ Breaking Change MessageInputBar, and MessageInputBarDelegate have been obsoleted. Use InputBarAccessoryView and InputBarAccessoryViewDelegate respectively. This change was previously meant for 3.0.0. #1201 by @kinoroy
  • v3.1.0-beta.1 Changes

    February 25, 2020

    3.1.0

    ๐Ÿ›  Fixed

    Set the proper notification to invalidate layout. MessageKit now relies on UIApplication orientation notification instead of UIDevice, which invalidates the layout only when it is needed. #1126 by @bguidolim

    ๐Ÿ›  Fixed requiredInitialScrollViewBottomInset when inputAccessoryView is nil #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 and scrollsToLastItemOnKeyboardBeginsEditing #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, and MessageInputBarDelegate have been obsoleted. UseInputBarAccessoryView and InputBarAccessoryViewDelegate respectively. This change was previously meant for 3.0.0 but was implemented erroneously. #1201 by @kinoroy

    ๐Ÿ—„ Deprecated SenderType.id in favour of SenderType.senderId. This change was previously meant for 3.0.0 but
    was implemented erroneously. #1201 by @kinoroy

  • v3.0.0 Changes

    May 01, 2019

    Dependency Changes

    • ๐Ÿ’ฅ Breaking Change The dependency MessageInputBar was replaced with InputBarAccessoryView. As MessageInputBar 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 of MessageKit making its development faster than MessageInputBar. Maintaining two versions only increased the workload. You can find the changelog for InputBarAccessoryView 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 cell AudioMessageCell and a new controller BasicAudioController. #892 by @moldovaniosif.

    • ๐Ÿ’ฅ Breaking Change Moved handleTapGesture method to MessageCollectionViewCell #950 by @nathantannar4

    • ๐Ÿ’ฅ Breaking Change Renamed function layoutBottomLabel(with:) to layoutMessageBottomLabel(with:) in MessageContentCell 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 to MessagesDisplayDelegate or use the default appearance. Customize the size with MessagesLayoutDelegate . #989 by @nathantannar4

    • โž• Added AccessoryPosition class. #989 by @subdiox

    • โž• Added incomingAccessoryViewPosition and outgoingAccessoryViewPosition variables to MessageSizeCalculator class. #989 by @subdiox

    • Added setMessageIncomingAccessoryViewPosition(_:) and setMessageOutgoingAccessoryViewPosition(_:) functions to MessagesCollectionViewFlowLayout class. #989 by @subdiox

    • ๐Ÿ’ฅ Breaking Change Added avatarLeadingTrailingPadding as a property of CellSizeCalculator and MessagesCollectionViewLayoutAttributes to inset the AvatarView layout #944 by @nathantannar4

    • ๐Ÿ’ฅ Breaking Change Added didTapBackground(in:) function to MessageCellDelegate protocol. #922 by @kpennacchia

    • ๐Ÿ’ฅ Breaking Change Added didTapCellBottomLabel(in:) function to MessageCellDelegate protocol. #920 by @maxxx777

    • ๐Ÿ’ฅ Breaking Change Added cellBottomLabelAttributedText(for:, at:) function to MessagesDataSource protocol. #920 by @maxxx777

    • ๐Ÿ’ฅ Breaking Change Added cellBottomLabelHeight(for:, at:, in messagesCollectionView:) function to MessagesLayoutDelegate protocol. #920 by @maxxx777

    • โž• Added cellBottomLabel to MessageContentCell. #920 by @maxxx777

    • โž• Added layoutCellBottomLabel(with:) function to MessageContentCell class. #920 by @maxxx777

    • Added setMessageIncomingCellBottomLabelAlignment(_:) and setMessageOutgoingCellBottomLabelAlignment(_:) functions to MessagesCollectionViewFlowLayout class. #920 by @maxxx777

    • โž• Added cellBottomLabelAlignment and cellBottomLabelSize variables to MessagesCollectionViewLayoutAttributes class. #920 by @maxxx777

    • โž• Added incomingCellBottomLabelAlignment and outgoingCellBottomLabelAlignment variables to MessageSizeCalculator class. #920 by @maxxx777

    • โž• Added cellBottomLabelSize(for:, at:) and cellBottomLabelAlignment(for:) functions to MessageSizeCalculator class. #920 by @maxxx777

  • v3.0.0-beta Changes

    April 06, 2019

    3.0.0

    Dependency Changes

    • ๐Ÿ’ฅ Breaking Change The dependency MessageInputBar was replaced with InputBarAccessoryView. As MessageInputBar 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 of MessageKit making its development faster than MessageInputBar. Maintaining two versions only increased the workload. You can find the changelog for InputBarAccessoryView 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 cell AudioMessageCell and a new controller BasicAudioController.
    #892 by @moldovaniosif.

    ๐Ÿ’ฅ Breaking Change Moved handleTapGesture method to MessageCollectionViewCell
    #950 by @nathantannar4

    ๐Ÿ’ฅ Breaking Change Renamed function layoutBottomLabel(with:) to layoutMessageBottomLabel(with:) in MessageContentCell 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 to MessagesDisplayDelegate or use the default appearance. Customize the size with MessagesLayoutDelegate .
    #989 by @nathantannar4

    โž• Added AccessoryPosition class.
    #989 by @subdiox

    โž• Added incomingAccessoryViewPosition and outgoingAccessoryViewPosition variables to MessageSizeCalculator class.
    #989 by @subdiox

    Added setMessageIncomingAccessoryViewPosition(_:) and setMessageOutgoingAccessoryViewPosition(_:) functions to MessagesCollectionViewFlowLayout class.
    #989 by @subdiox

    ๐Ÿ’ฅ Breaking Change Added avatarLeadingTrailingPadding as a property of CellSizeCalculator and MessagesCollectionViewLayoutAttributes to inset the AvatarView layout
    #944 by @nathantannar4

    ๐Ÿ’ฅ Breaking Change Added didTapBackground(in:) function to MessageCellDelegate protocol.
    #922 by @kpennacchia

    ๐Ÿ’ฅ Breaking Change Added didTapCellBottomLabel(in:) function to MessageCellDelegate protocol.
    #920 by @maxxx777

    ๐Ÿ’ฅ Breaking Change Added cellBottomLabelAttributedText(for:, at:) function to MessagesDataSource protocol.
    #920 by @maxxx777

    ๐Ÿ’ฅ Breaking Change Added cellBottomLabelHeight(for:, at:, in messagesCollectionView:) function to MessagesLayoutDelegate protocol.
    #920 by @maxxx777

    โž• Added cellBottomLabel to MessageContentCell.
    #920 by @maxxx777

    โž• Added layoutCellBottomLabel(with:) function to MessageContentCell class.
    #920 by @maxxx777

    Added setMessageIncomingCellBottomLabelAlignment(_:) and setMessageOutgoingCellBottomLabelAlignment(_:) functions to MessagesCollectionViewFlowLayout class.
    #920 by @maxxx777

    โž• Added cellBottomLabelAlignment and cellBottomLabelSize variables to MessagesCollectionViewLayoutAttributes class.
    #920 by @maxxx777

    โž• Added incomingCellBottomLabelAlignment and outgoingCellBottomLabelAlignment variables to MessageSizeCalculator class.
    #920 by @maxxx777

    โž• Added cellBottomLabelSize(for:, at:) and cellBottomLabelAlignment(for:) functions to MessageSizeCalculator class.
    #920 by @maxxx777

  • v2.0.0 Changes

    April 06, 2019

    โž• Added

    • ๐Ÿ’ฅ Breaking Change Added new methods to simplify using of custom messages: customCellSizeCalculator(for:at:in:) for MessagesLayoutDelegate and customCell(for:at:in:) for MessagesDataSource. #879 by @realbonus

    ๐Ÿ”„ Changed

    • ๐Ÿ”„ Change acl of handleGesture(touchLocation:) in MessageLabel from internal to open. #912 by @julienkode
  • 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 in parseForComponents(). #791 by @nathantannar4

    โž• Added

    • ๐Ÿ’ฅ Breaking Change Added .hashtag, .mention to detect theses pattern inside the messageLabel. We also add .custom(pattern: YOUR_PATTERN) to DetectorType to 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 new MessagesDisplayDelegate function configureAccessoryView, and corresponding size & padding properties in MessageSizeCalculator. The accessoryView is aligned to the center of the messageContainerView. #710 by @hyouuu

    • โž• Added a tap gesture recognition to the accessoryView which calls the MessageCellDelegate function didTapAccessoryView(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 to scrollsToBottomOnKeyboardBeginsEditing. #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 the messageLabelFont size by default. #795 by @Vortec4800.

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed MessagesCollectionView to allow to use nibs with MessageReusableView. #832 by @maxxx777.

    • ๐Ÿ›  Fixed multiple crashes at views, when views are being called from another XIB. #905 by @talanov.

  • v1.0.0 Changes

    June 27, 2018

    This 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

    • ๐Ÿ˜Œ Relaxed the settable requirement for the LocationItem and MediaItem protocols.
      #727 by @SD10.

    ๐Ÿ›  Fixed

    ๐Ÿ›  Fixed MessageContentCell's subviews frame when size equal to .zero.
    #716 by @zhongwuzw.

    ๐Ÿ›  Fixed MessagesCollectionView's bottom inset when hardware keyboard is connected. Do not adjust MessagesCollection'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 MessageSizeCalculators.
      #697 by @zhongwuzw.
  • 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) and numberOfItems(inSection:in).
    #601 by @SD10, @zhongwuzw.

    ๐Ÿ’ฅ Breaking Change Added new protocol MediaItem as the associated value for the
    MessageData.video and MessageData.photo cases.
    #587 by @SD10.

    ๐Ÿ’ฅ Breaking Change Added new protocol LocationItem as the associated value for
    the MessageData.location case.
    #587 by @SD10.

    ๐Ÿ’ฅ Breaking Change Added new DetectorType called .transitInformation to message label.
    #520 by @nosarj.

    ๐Ÿ’ฅ Breaking Change Added .custom(Any?) case to MessageData.
    #498 by @SD10.

    ๐Ÿ’ฅ Breaking Change Added .messageLabelTop case to AvatarPosition.Vertical enum.
    #596 by @zhongwuzw

    โž• Added CellSizeCalculator protocol that is responsible for sizing and configuring attributes of a MessageCollectionViewCell.
    #579 by @SD10.

    โž• Added MessageSizeCalculator, MediaMessageSizeCalculator, TextMessageSizeCalculator, and LocationMessageSizeCalculator
    classes that are responsible for sizing the MessagesCollectionViewCell types provided by MessageKit.
    #579 by @SD10.

    โž• Added three new methods cellTopLabelHeight(for:at:in), messageTopLabelHeight(for:at:in), and messageBottomLabelHeight(for:at:in) to MessagesLayoutDelegate.
    #580 by @SD10.

    โž• Added new class InsetLabel.
    #580 by @SD10.

    โž• Added new method configureMediaMessageImageView(_:for:at:in) to configure the UIImageView of a
    MediaMessageCell asynchronously.
    #592 by @zhongwuzw, @SD10

    โž• Added new MessageContentCell class and MessageReusableView class.
    #596 by @SD10.

    ๐Ÿ”„ Changed

    ๐Ÿ’ฅ Breaking Change Renamed MessageData enum to MessageKind and changed MessageType's data property name to kind.
    #658 by @zhongwuzw.

    ๐Ÿ’ฅ Breaking Change Changed the messageFooterView(for:in) and messageHeaderView(for:in) methods of
    MessagesDisplayDelegate by removing the message parameter.
    #615 by @SD10.

    ๐Ÿ’ฅ Breaking Change Changed the footerViewSize(for:in) and headerViewSize(for:in) methods of MessagesLayoutDelegate
    by removing the MessageType and IndexPath parameters and replacing them with a new section: Int parameter.
    #615 by @SD10.

    ๐Ÿ’ฅ Breaking Change The reuse identifiers of all MessageReusableViews and MessageCollectionViewCells have been
    ๐Ÿ”„ changed to match their class name exactly.
    #615 by @SD10.

    ๐Ÿ’ฅ Breaking Change MessageHeaderView and MessageFooterView now subclass MessageReusableView class.
    #596 by @SD10.

    ๐Ÿ’ฅ Breaking Change Renamed MessageCollectionViewCell to MessageContentCell.
    The MessageCollectionViewCell class is now a bare bones subclass.
    #596 by @SD10.

    ๐Ÿ’ฅ Breaking Change Changed LabelAlignment to be a struct with properties of
    textAlignment: NSTextAlignment and textInsets: UIEdgeInsets to position the text in the cellTopLabel and cellBottomLabel.
    #580 by @SD10.

    ๐Ÿ’ฅ Breaking Change The type of cellTopLabel and cellBottomLabel has been changed to InsetLabel.
    #580 by @SD10.

    ๐Ÿ’ฅ Breaking Change Renamed cellTopLabel to messageTopLabel and renamed cellBottomLabel to messageBottomLabel.
    #659 by @SD10.

    ๐Ÿ’ฅ Breaking Change Renamed the didTapTopLabel and didTapBottomLabel methods of MessageCellDelegate to didTapMessageTopLabel and didTapMessageBottomLabel.
    #659 by @SD10.

    ๐Ÿ’ฅ Breaking Change Renamed cellBottomLabelAttributedText method of MessagesDataSource to messageBottomLabelAttributedText.
    #659 by @zhongwuzw.

    0๏ธโƒฃ The MessageData.emoji case no longer uses a default font of 2x the messageLabelFont size.
    You must now set this font explicitly through the emojiMessageSizeCalculator on MessagesCollectionViewFlowLayout.
    #530 by @SD10.

    ๐Ÿ”„ Changed the contentMode of the UIImageView for MediaMessageCell to be .scaleAspectFill.
    #587 by @SD10.

    The result of the MessagesDisplayDelegate method textColor(for message:...) no longer applies to .attributedText case of MessageData.
    #625 by @cwalo.

    โœ‚ Removed the explicit height constraint from the separatorLine in MessageInputBar.
    #667 by @zhongwuzw

    โœ‚ Removed

    ๐Ÿ’ฅ Breaking Change Removed NSLayoutConstraintSet by changing access control from public to internal.
    #607 by @zhongwuzw.

    ๐Ÿ’ฅ Breaking Change Removed the showsDateHeaderAfterTimeInterval property of MessagesCollectionView.
    #615 by @SD10.

    ๐Ÿ’ฅ Breaking Change Removed the reuseIdentifer method from MessageCollectionViewCell, TextMessageCell,
    LocationMessageCell, MediaMessageCell, and MessageContentCell.
    #615 by @SD10.

    ๐Ÿ’ฅ Breaking Change Removed the CollectionViewReusable protocol.
    #615 by @SD10.

    ๐Ÿ’ฅ Breaking Change Removed MessageHeaderView and MessageFooterView in favor of MessageReusableView.
    #615 by @SD10.

    ๐Ÿ’ฅ Breaking Change Removed numberOfMessages(in) method of MessagesDataSource, instead please use numberOfSections(in) and numberOfItems(inSection:in).
    #601 by @SD10, @zhongwuzw.

    ๐Ÿ’ฅ Breaking Change Removed the messageLabelFont property from MessagesCollectionViewFlowLayout.
    You can now set this property through textMessageSizeCalculator property.
    #579 by @SD10.

    ๐Ÿ’ฅ Breaking Change Removed MessageDateHeaderView class in favor of using cellTopLabel.
    #659 by @zhongwuzw.

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed equality checking on MessagesCollectionViewLayoutAttributes.
      #593 by @zhongwuzw, @SD10