github GetStream/stream-chat-swift 4.0.0-RC

latest releases: 4.72.0, 4.71.0, 4.70.0...
3 years ago

⚠️ Breaking Changes from 4.0-beta.11

  • JSON Encoding/Decoding for both Network and Database date formatting changed to RFC3339 formats #1403
  • ChatMessage.threadParticipants is now an Array instead of Set #1398
  • Introduces ChatChannelVC and removes responsibilities of ChatMessageListVC. The latter now is only responsible to render the message list layout, the data is provided by ChatChannelVC or ChatThreadVC. #1314
  • Replaces ChatMessageActionsVC.Delegate with ChatMessageActionsVCDelegate #1314
  • Renames ChatChannelListRouter.showMessageList() -> showChannel() #1314
  • Removal of ComposerVCDelegate #1314
  • Replaces ChatMessageListKeyboardObserver with ComposerKeyboardHandler #1314

Understanding ChatChannelVC vs ChatTheadVC vs ChatMessageListVC

  • ChatChannelVC:

    • ChatChannelHeaderView
    • ChatMessageListVC
    • ComposerVC
  • ChatThreadVC:

    • ChatThreadHeaderView
    • ChatMessageListVC
    • ComposerVC

A new ChatChannelVC is introduced that represents the old ChatMessageListVC, which was responsible to display the messages from a channel. The ChatThreadVC remains the same and it is responsible for displaying the replies in a thread, but now instead of duplicating the implementation from the channel, both use the ChatMessageListVC and configure it for their needs. For this to be possible the ChatMessageListVC has now a ChatMessageListVCDataSource and ChatMessageListVCDelegate. Both ChatChannelVC and ChatThreadVC implement the ChatMessageListVCDataSource and ChatMessageListVCDelegate.

🔄 Changed

  • Nuke dependency was updated to v10 #1405

✅ Added

  • For non-DM channels, the avatar is now shown as a combination of the avatars of the last active members of the channel #1344
  • New DateFormatter methods rfc3339Date and rfc3339DateString #1403
  • Add a new isMentionsEnabled flag to make it easier to disable the user mentions in the ComposerVC #1416
  • Use remote config to disable mute actions #1418
  • Use remote config to disable thread info from message options #1418
  • Provide different Objc name for InputTextView #1420
  • Add message search support through MessageSearchController #1426

🐞 Fixed

  • Fix incorrect RawJSON number handling, the .integer case is no longer supported and is replaced by .number #1375
  • Fix message list and thread index out of range issue on tableView(_:cellForRowAt:) #1373
  • Fix crash when dismissing gallery images #1383
  • Improve pagination efficiency #1381
  • Fix user mention suggestions not showing all members #1390
  • Fix thread avatar view not displaying latest reply author avatar #1398
  • Fix crash on incorrect date string parsing #1403
  • Fix threads not showing all the responses if there were responses that were also sent to the channel #1413
  • Fix crash when accessing ChatMessage.attachmentCounts on <iOS13 with in-memory storage turned ON
  • Fix isCommandsEnabled not disabling the typing commands #1416
  • Fix mention suggester now supports options.minimumRequiredCharacters equal to 0 and sorts results with same score consistently
  • Fix filters with wrong Date encoding strategy #1420
  • Fix message height is now calculated correctly when a message is updated #1424
  • Fix ChatMessageReactionData.init not public #1425

Don't miss a new stream-chat-swift release

NewReleases is sending notifications on new releases.