Releases: GetStream/stream-chat-swift
Releases · GetStream/stream-chat-swift
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
4.70.0
January 14, 2025
StreamChat
✅ Added
- Use
AppSettings.fileUploadConfig
andAppSettings.imageUploadConfig
for blocking attachment uploads #3556 - Add
FilterKey.disabled
andChatChannel.isDisabled
#3546 - Add
ImageAttachmentPayload.file
for settingfile_size
andmime_type
for 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
AppSettings
inComposerVC.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.archive
for 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.pinned
for 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.channelRole
andFilterKey.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
@testable
annotation #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.memberExtraData
property #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
CurrentChatUserController
for 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
shouldMarkThreadRead
andshouldMarkChannelRead
#3468
🐞 Fixed
- Fix channel list state views not updating when the view is not visible #3479
4.65.0
October 18, 2024
StreamChat
🐞 Fixed
- Fix a rare crash caused by missing uniqueness constraints in polls #3454
- Fix rare crash in
WebSocketPingController.connectionStateDidChange
#3451 - Improve reliability and performance of resetting ephemeral values #3439
- Reduce channel list updates when updating the local state #3450
🔄 Changed
- Reverts "Fix old channel updates not being added to the channel list automatically" #3465
- This was causing some issues on the SwiftUI SDK, so we are temporarily reverting this.
StreamChatUI
🐞 Fixed
- Unread messages divider did not appear in the message list when marking messages as unread #3444
- Fix UI glitch in thread parent message when sending a message and scrolling #3446
⚡ Performance
- Improve performance of presenting
ChatChannelVC
#3448
4.64.0
October 02, 2024
StreamChat
✅ Added
- Add
ChannelMemberListSortingKey.userId
for sorting channel members by id #3423 - Add helper functions to
Poll
that extracts common domain logic #3374
🐞 Fixed
- Fix old channel updates not being added to the channel list automatically #3430
- Keep consistent order in channel and member lists when sorting by key with many equal values #3423
- Recommendation: Always add at least one unique key to the query's sort
- Avoid rare optimistic locking failure by refreshing the object before saving to the persistent store #3432
- Fix
PollOption.latestVotes
sorting #3374 - Fix
Poll.latestAnswers
sorting #3374 - Fix
Poll
updates not triggering message updates inChannelController
#3374 - Fix
Poll.latestAnswers
being reset on events, causing "Add a comment" button to not update in the UI SDKs #3398 - Fix
PollVoteListController
resetting the first page when loading a new page #3398 - Fix
PollVoteListController
default sorting being from oldest to newest from the server response #3398 - Fix
PollVoteListQuery.pollId
not limiting the votes query to the given poll id #3398
🔄 Changed
- Deprecates
PollVoteListQuery(pollId:optionId:pagination:filter:)
initializer in favor of(pollId:filter:pagination:)
#3381
StreamChatUI
✅ Added
- ✨ Introducing
ViewContainerBuilder
, a new, easier way to customize views #3374 (Learn more by reading the docs here) - Add
PollAttachmentView
component to render polls in the message list #3374 - Add
PollResultsVC
component to show the results of a poll #3381 - Add
PollCommentListVC
component to show the comments of a poll #3398 - Add
PollCreationVC
component to create a poll in a channel #3433 - Add
PollAllOptionsListVC
component to show all the options of a poll #3435 - Add
ChatUserAvatarView.shouldShowOnlineIndicator
to disable the online indicator easily #3374
🐞 Fixed
- Fix a crash with thematic breaks in markdown #3437
- Fix Message Actions Alert view not scrollable when the view has the exact same height as the screen #3435
🎭 New Localizations
Multiple localizations were added to Polls, for more details please check the strings file.
polls.subtitle.*
polls.button.*
polls.*
alert.poll.*
message.preview.poll-*
4.63.0
September 12, 2024
StreamChat
✅ Added
- Local attachment downloads (docs) #3393
- Add
downloadAttachment(_:)
anddeleteLocalAttachmentDownload(for:)
toChat
andMessageController
- Add
deleteAllLocalAttachmentDownloads()
toConnectedUser
andCurrentUserController
- Add
- Add
unset
argument toCurrentChatUserController.updateUserData
andConnectedUser.update
for clearing user data fields #3404 - Add
reason
andextraData
arguments toChatUserController.flag(reason:extraData:completion:)
andConnectedUser.flag(_:reason:extraData:)
#3417 - Add
extraData
argument toChatMessageController.flag(reason:extraData:completion:)
andChat.flagMessage(_:reason:extraData:)
#3417
🐞 Fixed
- Fix Logger printing the incorrect thread name #3382
- Channel watching did not resume on web-socket reconnection #3409
🔄 Changed
- Discard offline state changes when saving database changes fails #3399
- Deprecate
Filter.notEqual
andFilter.notIn
#3414
StreamChatUI
✅ Added
- Downloading and sharing file attachments in the message list #3393
- Feature toggle for download and share buttons:
Components.default.isDownloadFileAttachmentsEnabled
(default isfalse
)
- Feature toggle for download and share buttons: