MessageKit(new) v1.0.0-beta.1 Release Notes

Release Date: 2018-05-03 // about 6 years ago
  • ๐ŸŽ ๐ŸŽ‰ 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