Skip to content

Latest commit

 

History

History
147 lines (132 loc) · 16.4 KB

CHANGELOG.md

File metadata and controls

147 lines (132 loc) · 16.4 KB

3.3.1 (April 9, 2018)

Bugs

  • Fix iOS 11 text rendering issue related to carriage return symbol #364 by @0xpablo

3.3.0 (March 10, 2018)

Features

  • Added Swift 4 support #385 by @AntonPalich and #345 by @jpunz
  • Added messages selection #411 by @AntonPalich
  • Added accessibility identifier to selection indicator #428 by @AntonPalich
  • Added iCloud Library support to photos input #415 by @Wisors
  • Added camera position settings for live camera cell #393 by @Wisors
  • Allow client to set selected range of textView in ChatInputBar #402 by @phatmann
  • Allow override of text message text #403 by @phatmann
  • Added ability to change input bar placeholder #396 by @chupakabr
  • Allow to build TextMessagePresenter subclasses without exposing internal properties #421 by @AntonPalich
  • Made UIScrollView delegates open in BaseChatViewController #438 by @azimin
  • Exposed keyboard position handling #445 by @chupakabr
  • Added additional state for keyboard tracker and ability to modify content insets #454 by @azimin
  • Removed Xcode 9 warnings #439 by @irace

Bugs

  • Fixed crashes that happened under some conditions in project with Swift 4 that used Chatto with Swift 3.2 #405, #414 by @AntonPalich
  • Fixed issue with live camera cell when it wasnt updated after updating its appearance #404 by @Wisors
  • Fixed issue with photo picker after migration to Swift 4 #437 by @AntonPalich
  • Fixed crash that happened on devices with unaccessible camera caused by forced unwrapped optional #424 by @Wisors
  • Removed gap under input bar on iPhone X #447 by @azimin
  • Fixed issue with wrong input bar position when hidesBottomBarWhenPushed is true on iPhone X #457 by @AntonPalich

3.2.0 (October 20, 2017)

Features:

  • Added support for custom main view in BaseChatViewController #323 by @serge-star
  • Added ability to change input bar border color and width #339 by @NSEGeorge
  • Added ability to control visibility of failed icon #359 by @turbulem
  • Added Xcode 9 and iOS 11 support #352 by @AntonPalich
  • Added support for swiftlint 0.23 #371 by @AntonPalich

Bugs:

  • Fixed crash caused by missing optionality identifier in UIKit #310 by @raisaanjani92
  • Fixed input container position when presenting chat as child controller #338 by @KaterinaPetrova
  • Fixed issue with gesture recognizers that wasn't disabled for text messages on iOS 11 #366 by @AntonPalich

3.1.0 (May 29, 2017)

  • swiftlint 0.13 support & Xcode 8.2 compatibility #253 - @diegosanchezr
  • swiftlint 0.14 support & hashes improvements #271 - @diegosanchezr
  • Removed lazy keyword from accessoryTimestampView property in BaseMessageCollectionViewCell #286 - @geegaset
  • Fixed typo in a comment in BaseChatViewController+Changes.swift #296 - @NickAger
  • BasicChatInputBarPresenter.chatInputBar became public #297 - @NickAger
  • Added ability to specify tint color for text input #301 - @V0idPRO
  • Xcode 8.3 compatibility #300 - @geegaset
  • Empty layout model is returned if layout delegate is nil #304 - @chupakabr

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