Releases: GetStream/stream-chat-swift
Releases · GetStream/stream-chat-swift
4.79.1
4.79.0
May 28, 2025
StreamChat
✅ Added
- Add
SendMessageInterceptor
to intercept send message requests #3671 - Add
ChatMessage.changing()
to allow overriding message data temporarily #3671
🐞 Fixed
- Fix swipe to reply enabled when quoting a message is disabled #3662
- Fix shadowed messages increasing the channel messages unread count #3665
- Fix publishing
MessageUpdatedEvent
for messages with restricted visibility #3674 - Show message with restricted visibility in the message list on the
message.updated
web-socket event #3674
StreamChatUI
🐞 Fixed
- Fix
ChatMessagePopupVC
transition animation when there are no reactions #3670
4.78.0
April 24, 2025
StreamChat
✅ Added
- Add
CurrentUserUnreads.totalUnreadMessagesCount
#3651
🐞 Fixed
- Fix
FilterKey.id
not returning any channels inChannelListQuery
#3643 - Fix incorrect channel list sorting when sorted by
.hasUnread
#3646 - Fix
CurrentUserUnreads.totalUnreadChannelsCount
with incorrect value #3651 - Fix
unsetProperties
not having any effect inCurrentUserController.updateUserData()
#3650
🔄 Changed
- Change the
teamsRole
parameter from[String: String]
to[TeamId: UserRole]
#3650
StreamChatUI
🐞 Fixed
- Fix message search with empty avatars #3644
4.77.0
April 09, 2025
StreamChat
✅ Added
- Add
ChatChannelController.deletePoll()
for deleting polls #3632 - Add
ChatChannel.canSendPoll
capability #3635 - Add
ChatChannel.canCastPollVote
capability #3635 - Add teams role support for users #3639
- Add
removeDevice: Bool
parameter toChatClient.logout()
#3640
🔄 Changed
- The
ChatClient.logout()
function now automatically removes the user's current device if it has not been removed already #3640
StreamChatUI
🐞 Fixed
4.76.0
4.75.0
4.74.0
March 14, 2025
StreamChat
✅ Added
- Add
MarkdownParser
for parsing and styling markdown strings #3590 - Add
Fonts.title2
for supporting markdown headers #3590 - Add channel reads pagination support #3613
- Add
ChatChannelController.loadChannelReads()
, - Add
ChatChannelController.loadMoreChannelReads()
- Add
Chat.loadMembers()
- Add
Chat.loadMoreMembers()
- Add
🐞 Fixed
- Fix background task warning by making task tracking thread-safe #3604
- Fix an issue where
ChatRemoteNotificationHandler
can lead to persistent store's data inconsistencies #3601 - Fix the order of channels when using
ChannelListSortingKey.default
3615 - Fix channel membership not updated when the current user adds itself to a channel #3618
StreamChatUI
🔄 Changed
- Feature rich markdown rendering with
AttributedString
#3590- Note: Markdown is rendered only on iOS 15 and above. On iOS 14 and below markdown is rendered as plain text
- Rename
MarkdownFormatter.format(_:)
toMarkdownFormatter.format(_:attributes:)
for allowing to pass in current text attributes
💥 Removed
- Remove
MarkdownStyles.linkFont
because link attributes are ignored byUITextView
. UpdateChatMessageContentView.textView.linkTextAttributes
instead #3590 - Remove
DefaultMarkdownFormatter.markdownRegexPattern
because regular expression based validation was removed #3590 - Remove
MarkdownFormatter.containsMarkdown(_:)
, optionally validate input strings inMarkdownFormatter.format(_:attributes:)
instead #3590
4.73.0
February 27, 2025
StreamChat
✅ Added
- Add sending messages to only specific members #3595
- Add Draft Messages Support #3588
- Add
ChatChannel.draftMessage
- Add
ChatMessage.draftReply
- Add
ChannelController
:updateDraftMessage()
deleteDraftMessage()
loadDraftMessage()
- Add
MessageController
:updateDraftReply()
deleteDraftReply()
loadDraftReply()
- Add
CurrentUserController
:deleteDraft()
loadDraftMessages()
loadMoreDraftMessages()
- Add
🐞 Fixed
- Update channel's preview message when coming back to online #3574
- Fix message transformer not being applied when editing a message #3602
StreamChatUI
✅ Added
4.72.0
4.71.0
January 28, 2025
StreamChat
✅ Added
- Expose
Event.name
to easily check which event it is #3569 - Add support for transforming Messages, Channels and Members #3564
- Add
ChatClientConfig.modelsTransformer
- Add
ChatMessage.replacing()
- Add
ChatChannel.replacing()
- Add
ChatChannelMember.replacing()
- Add
🐞 Fixed
- Calling async
connectUser()
methods can sometimes throwCurrentUserDoesNotExist()
unexpectedly #3565 - Fix creating controllers from background threads leading to rare crashes #3566
- Fix hard deleted message events not being reported in
EventsController
#3569 - Fix hard deleting a parent message not deleting its replies #3569
StreamChatUI
✅ Added
- Add a simpler way to customize header and footer views in the Message List #3567
- Add
ChatMessageListVC.headerView
- Add
ChatMessageListVC.footerView
- Add
- Make it easier to provide state handling when loading more messages #3567
- Add
ChatChannelVC.loadPreviousMessages()
+ChatChannelVC.didFinishLoadingPreviousMessages(error:)
- Add
ChatChannelVC.loadNextMessages()
+ChatChannelVC.didFinishLoadingNextMessages(error:)
- Add
ChatThreadVC.loadPreviousReplies()
+ChatThreadVC.didFinishLoadingPreviousReplies(error:)
- Add
ChatThreadVC.loadNextReplies()
+ChatThreadVC.didFinishLoadingNextReplies(error:)
- Add
🐞 Fixed
- Fix thread reply action shown when inside a Thread #3561
- Fix reaction author's view with shrinked reaction images in iOS 18 #3568
- Fix missing final attributes for supplementary views exception #3570
- Fix duplicated
didReceiveEvent
insideChatThreadVC
#3569
🔄 Changed
- Deprecates
ChatThreadVC.channelEventsController
#3569