Releases: GetStream/stream-chat-swift
Releases · GetStream/stream-chat-swift
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:
4.62.0
August 15, 2024
StreamChat
⚡ Performance
- Use background database observers for
CurrentUserController.currentUser
,ChatChannelMemberListController.members
, andChatMessageController.message
which reduces CPU usage on the main thread #3357 CurrentChatUserController
was often recreated when sending typing events #3372- Reduce latency of the
BackgroundDatabaseObserver
by reducing thread switching when handling changes #3373
🐞 Fixed
- Fix an issue where pending messages (moderation feature) were not visible after returning to the channel #3378
- Fix rare crashes when deleting local database content on logout #3355
- Fix rare crashes in
MulticastDelegate
when accessing it concurrently #3361 - Fix reading the local database state just after the initial write #3373
- Fix a timing issue where accessing channels in
controllerWillChangeChannels
returned already changed channels #3373
🔄 Changed
4.61.0
July 30, 2024
StreamChat
⚡ Performance
- Improve performance of
ChatChannel
database model conversions more than 7 times #3325 - Improve performance of
ChatChannel
andChatMessage
equality checks #3335
✅ Added
- Expose
MissingConnectionId
+InvalidURL
+InvalidJSON
Errors #3332 - Add support for
.hasUnread
filter key toChannelListQuery
#3340
🐞 Fixed
- Fix a rare issue with incorrect message order when sending multiple messages while offline #3316
- Fix sorting channel list by unread count #3340
StreamChatUI
🐞 Fixed
- Fix message search not showing results for new search terms #3345
4.60.0
July 18, 2024
StreamChat
✅ Added
- Add an option to configure a reconnection timeout #3303
🐞 Fixed
- Improve the stability of the reconnection process #3303
- Fix invalid token errors considered as recoverable errors #3303
- Fix crashes in
LazyCachedMapCollection
when logging out an user 3299
🔄 Changed
- Dropped iOS 12 support #3285
- Increase QoS for
Throttler
andDebouncer
toutility
#3297 - Improve reliability of accessing data in controllers' completion handlers #3305
StreamChatUI
✅ Added
- Add support for enabling message list view animations #3314
🐞 Fixed
- Fix Channel List not hiding error state view when data is available #3303