Skip to content

Latest commit

 

History

History
92 lines (87 loc) · 12 KB

CHANGELOG.md

File metadata and controls

92 lines (87 loc) · 12 KB

3.0.1 (Nov 14, 2016)

3.0 (Sept 21, 2016)

2.1 (Sept 17, 2016)

2.0 (Aug 8, 2016)

  • Renames ChatViewController to BaseChatViewController. #31 - @diegosanchezr
  • Makes presenters easier to reuse by relaxing generic constraints #35 - @diegosanchezr
  • Fixes issues when the dataSource updates with a different instance for a previously existing chatItem. #36 - @diegosanchezr
  • BaseChatViewController exposes chatItemCompanionCollection. #39 - @diegosanchezr
    • This gives access to the presenter and decorationAttributes of a chatItem.
  • ChatDataSourceDelegateProtocol gets chatDataSourceDidUpdate(:context). #39 - @diegosanchezr
    • This allows to customize the update of the UICollectionView (reloadData vs performBatchUpdates)
  • MessageViewModelProtocol loses status setter. messageModel property is removed. #44 - @diegosanchezr
  • ChatDataSourceProtocol loses the completion blocks in loadNext() and loadPrevious(). #45 - @diegosanchezr
    • It's now the dataSource's responsability to notify when pagination finishes (by triggering chatDataSourceDidUpdate(:context))
  • BaseChatViewController is no longer retained until a running update finishes. #47 - @diegosanchezr
  • BaseMessageCollectionViewCell can now be subclassed out of ChattoAdditions. #48 - @bcamur
  • ChatInputBarDelegate made public. #50 - @AntonPalich
  • PhotoMessagePresenter exposes viewModelBuilder and interactionHandler. #52 - @AntonPalich
  • Avatars in cells. #55 - @zwang, #176 - @maxkonovalov
    • MessageViewModelProtocol gets avatarImage property
    • BaseMessageCollectionViewCellStyleProtocol gets methods to configure the layout of the avatar
    • BaseMessageInteractionHandlerProtocol gets userDidTapOnAvatar(viewModel:)
    • ChatItemDecorationAttributes gets canShowAvatar
  • BaseMessagePresenter exposes user events (so subclasses can complement or bypass the interactionHandler). #62 - @AntonPalich
    • BaseMessagePresenter.onCellBubbleTapped()
    • BaseMessagePresenter.onCellBubbleLongPressed()
    • BaseMessagePresenter.onCellFailedButtonTapped()
  • BaseMessagePresenter exposes messageModel, sizingCell, viewModelBuilder, interactionHandler and cellStyle. #63 - @AntonPalich
  • PhotosChatInputItem gets new callbacks cameraPermissionHandler, photosPermissionHandler. #65 - @Viacheslav-Radchenko
  • Enhanced customization for cells and the input component. #67 - @diegosanchezr, #73 @AntonPalich
  • BaseChatViewController exposes referenceIndexPathsToRestoreScrollPositionOnUpdate. #75 - @diegosanchezr
    • It can be overriden to customize how the scroll position is preserved after a update.
  • Fixes blinking when sending text messages on iOS 8
  • Adds placeholders when there are very few photos in the camera roll. #85 - @Viacheslav-Radchenko
  • BaseChatViewController exposes createPresenterFactory(). It can be overriden to provide a factory of presenters with custom logic. #89 - @weyg
  • BaseChatViewController exposes inputContainer. #90 - @diegosanchezr
  • Fixes insets issues. #91, #110 - @diegosanchezr
  • Fixes memory leak when screen is left with the keyboard opened. #93 - @diegosanchezr
  • PhotosChatInputItem listens to changes in the camera roll and updates accordingly. #94 - @AntonPalich
  • Fixes issues with the keyboard #96, #115 - @diegosanchezr, #108 - @AntonPalich
  • BaseChatViewController gets setChatDataSource(_:triggeringUpdateType). #98 - @diegosanchezr
    • This allows to set a dataSource and not trigger an update of the collection view immediately.
    • This can be useful on the first load of the conversation when the dataSource doesn't have any data yet.
  • ChatInputBar gets shouldEnableSendButton closure to customize when the send button is enabled #103 - @ikashkuta
  • Fixes UIMenuController not going away on the first tap outside when the keyboard is dismissed. #104 - @diegosanchezr
  • ChatInputBarDelegate gets inputBarShouldBeginTextEditing(_:) and inputBar(_: shouldFocusOnItem) #105 - @ikashkuta
  • BaseChatViewController gets accessoryViewRevealerConfig. #114 - @diegosanchezr
    • Allows setting an angle threshold that triggers the revealing
    • Allows applying a transform to the finger's translation (to mimic a resistance effect)
  • Fixes sizing of text cells: #122, #123 - @AntonPalich, #127, #161- @diegosanchezr
  • ChatInputBar gets focusOnInputItem(_:) so that an input item can be focused programmatically. #124 - @ikashkuta
  • BaseMessagePresenter gets user events onCellBubbleLongPressBegan() and onCellBubbleLongPressEnded. #125 - @AntonPalich
  • PhotoBubbleView can be subclassed. #130 - @AntonPalich
  • Configurable margins for revealable timestamps. #135 - @AntonPalich
  • BaseChatViewController gets endsEditingWhenTappingOnChatBackground to dismiss the keyboard automatically. #138 - @diegosanchezr
  • BaseMessageCollectionViewCellDefaultStyle gets optional bubbleBorderImages #139 - @diegosanchezr
  • ChatItemsDecorator can now have a last word about the uid used by the update engine. #143 - @diegosanchezr
  • BaseChatViewController gets updatesConfig property. #145 - @diegosanchezr
    • coalesceUpdates controls whether updates are combined (if dataSource notifies about changes while there is a running update)
    • fastUpdates controls whether a UICollectionView update can be performed before the previous one has finished.
  • Exposes BaseChatViewController.updateQueue. #150 - @ikashkuta, #169 - @diegosanchezr
    • Allows clients to pause updates in the UICollectionView.
  • Performance optimizations for text cells. #144, #166 - @diegosanchezr
  • ChatInputBar gets maxCharactersCount to limit text input size
  • Allows ChatInputBar to be instantiated from an own nib. #153 - @makoni
  • Enhanced customization for buttons in ChatInputBar. #154 - @diegosanchezr
  • Fixes memory leak. #165 - @AntonPalich
  • Improves responsiveness of the camera. #168, #173 - @diegosanchezr
  • Preserves height of the input view when switching between input items. #170, #174 - @ikashkuta
  • AccessoryViewRevealable gets allowAccessoryViewRevealing. #175 - @ikashkuta
    • Allows to control whether timestamp can be revealed on a per cell basis.

1.0.1 (Jan 14, 2016)

  • Support for Carthage

1.0 (Nov 27, 2015)

  • First version