Releases: GetStream/stream-chat-swift
Releases · GetStream/stream-chat-swift
4.75.0
4.74.0
March 14, 2025
StreamChat
✅ Added
- Add
MarkdownParserfor parsing and styling markdown strings #3590 - Add
Fonts.title2for 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
ChatRemoteNotificationHandlercan lead to persistent store's data inconsistencies #3601 - Fix the order of channels when using
ChannelListSortingKey.default3615 - 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.linkFontbecause link attributes are ignored byUITextView. UpdateChatMessageContentView.textView.linkTextAttributesinstead #3590 - Remove
DefaultMarkdownFormatter.markdownRegexPatternbecause 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.nameto 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
didReceiveEventinsideChatThreadVC#3569
🔄 Changed
- Deprecates
ChatThreadVC.channelEventsController#3569
4.70.0
January 14, 2025
StreamChat
✅ Added
- Use
AppSettings.fileUploadConfigandAppSettings.imageUploadConfigfor blocking attachment uploads #3556 - Add
FilterKey.disabledandChatChannel.isDisabled#3546 - Add
ImageAttachmentPayload.filefor settingfile_sizeandmime_typefor image attachments #3548
🐞 Fixed
- Remove the main thread requirement from the
DataStore#3541 - Refresh quoted message preview when the quoted message is deleted #3553
⚡ Performance
- Improve performance of accessing database model properties #3534
- Improve performance of model conversions with large extra data #3534
🔄 Changed
- Deprecate
ImageAttachmentPayload.init(title:imageRemoteURL:originalWidth:originalHeight:extraData:)in favor ofImageAttachmentPayload.init(title:imageRemoteURL:file:originalWidth:originalHeight:extraData:)#3548
StreamChatUI
🔄 Changed
- Set supported media types based on
AppSettingsinComposerVC.filePickerVC#3556
4.69.0
December 18, 2024
StreamChat
✅ Added
- Archiving channels for the current user #3524
- Add
Chat.archive(scope:)andChat.unarchive(scope:) - Add
ChatChannelController.archive(scope:completion:)andChatChannelController.unarchive(scope:completion:) - Add
FilterKey.archivefor filtering channel lists - Add
ChatChannel.membership.archivedAt - Add
ChatChannel.isArchived
- Add
- Pinning channels for the current user #3518
- Add
Chat.pin(scope:)andChat.unpin(scope:) - Add
ChatChannelController.pin(scope:completion:)andChatChannelController.unpin(scope:completion:) - Add
FilterKey.pinnedfor filtering channel lists - Add
ChannelListSortingKey.pinnedAt - Add
ChatChannel.membership.pinnedAt - Add
ChatChannel.isPinned
- Add
- Add channel list filtering key:
FilterKey.members#3536 - Add member list filtering keys:
FilterKey.channelRoleandFilterKey.email#3535 - Add member list sorting key:
ChannelMemberListSortingKey.channelRole#3535
🐞 Fixed
- End background task before starting a new one #3528
4.68.0
December 03, 2024
StreamChat
🐞 Fixed
- Fix a rare infinite loop triggering a crash when handling database changes #3508
- Fix reconnection timeout handler not working in the token provider phase #3513
🔄 Changed
- Minor breaking change in the test tools. Some mock classes were made internal and now require a
@testableannotation #3509
StreamChatUI
🐞 Fixed
- Fix Channel List search bar disappearing after it loses scrollability in rare scenarios #3515
4.67.0
November 25, 2024
StreamChat
✅ Added
- Add support for channel member extra data #3487
- Add
ChatChannelMemberController.partialUpdate(extraData:unsetProperties:)#3487 - Add
ChatChannelController.addMembers(_ members: [MemberInfo])#3487 - Add
CurrentUserController.updateMemberData()#3487 - Exposes
ChatChannelMember.memberExtraDataproperty #3487 - Add bounce moderation v2 support #3492
🐞 Fixed
- Fix connection not resuming after guest user goes to background #3483
- Fix empty channel list if the channel list filter contains OR statement with only custom filtering keys #3482
- Fix not returning models with empty properties when the underlying database model was deleted #3497
- Fix an issue where deleting current user in the local database cleared member data in channels #3497
- Fix rare crashes when accessing the current user object #3500
⚡ Performance
- Avoid creating
CurrentChatUserControllerfor reading user privacy settings which is more expensive than just reading the data from the local database #3502
4.66.0
November 05, 2024
StreamChat
✅ Added
- Add support for system messages not updating
channel.lastMessageAt#3476 - Add support for sending system messages client-side
#3477
🐞 Fixed
- Fix watching channels when performing channel search #3472
StreamChatUI
✅ Added
- Open
shouldMarkThreadReadandshouldMarkChannelRead#3468
🐞 Fixed
- Fix channel list state views not updating when the view is not visible #3479