Releases: GetStream/stream-chat-swift
Releases · GetStream/stream-chat-swift
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
4.59.0
July 10, 2024
⚠️ Important
- This is the last SDK version that will support iOS 12 as the minimum deployment target.
- Our next release will have iOS 13 as the minimum deployment target.
StreamChat
✅ Added
- Add support for user blocking #3223
- [Threads v2] Add support for Threads v2 #3229
- Add
ChatThreadListController
to fetch current user threads - Add
ChatMessageController.markThreadRead()
- Add
ChatMessageController.markThreadUnread()
- Add
ChatMessageController.updateThread()
- Add
ChatMessageController.loadThread()
- Add
ChatCurrentUserController.loadAllUnreads()
- Add
CurrentChatUser.unreadCount.threads
- Add
🐞 Fixed
- Fix user not able to connect when the user name contains a semicolon #3275
🔄 Changed
- Add additional fields to the
Equatable
conformance inChatChannel
andChatMessage
#3277
StreamChatUI
✅ Added
- [Threads v2] Add
ChatThreadListVC
UI Component #3229- Marks a thread read when reaching the bottom of the replies in
ChatThreadVC
- Marking the parent message of a thread as unread in
ChatThreadVC
will mark the thread as unread
- Marks a thread read when reaching the bottom of the replies in
🔄 Changed
ChatChannelUnreadCountView
now shares a common view (badgeView
) withChatThreadUnreadCountView
#3229
🎭 New Localizations
message.item.deleted
threadListItem.replied-to
threadList.empty.description
threadList.error.message
threadList.new-threads