Releases: GetStream/stream-chat-swift
Releases · GetStream/stream-chat-swift
4.29.0
March 17, 2023
StreamChat
✅ Added
- Add support for loading messages around a given message id in a Channel #2464
- Add support for bidirectional scrolling in a Channel #2464
🐞 Fixed
- Fix ephemeral message disappearing after leaving channel #2464
- Fix ephemeral message appearing in channel preview #2464
- Fix issue when using
in
ornotIn
operators with auto-filtering enabled. #2531
StreamChatUI
🔄 Changed
- Deprecated
setScrollToLatestMessageButton(visible:animated:)
->updateScrollToBottomButtonVisibility(animated:)
- Replaces
messageContentViewDidTapOnQuotedMessage(_ indexPath: IndexPath?)
->messageContentViewDidTapOnQuotedMessage(_ quotedMessage: ChatMessage)
- This one is a breaking change, but a required one. The previous API was not working as intended.
✅ Added
- Mark as unread: Now you can mark a message as unread when you are inside a channel #2519 #2526
- Now you can easily configure your own Decorations(headers and/or footers) around messages #2507
- There is a new
ChatThreadRepliesCountDecorationView
component that should be used to display the number of replies in a thread. Read here for more details. - Add support for jumping to a quoted message #2464
- Add support for jumping to a message which is not in the message list (only channel view) #2464
- Add bidirectional scrolling in the Channel view #2464
4.28.0
February 28, 2023
StreamChat
🔄 Changed
- Remove [URLQueryItem] public conformance of ExpressibleByDictionaryLiteral #2505
🐞 Fixed
4.27.1
4.27.0
February 16, 2023
StreamChat
✅ Added
- Add
UploadedAttachmentPostProcessor
inChatClientConfig
to allow changing custom attachment payloads after an attachment has been uploaded #2457 - Add
AnyAttachmentPayload(localFileURL:customPayload:)
initializer to allow creating custom attachments without a remote URL #2457 - Add skip push support when sending a message #2486
- Add support for automatically filtering channels in the Channel List #2488
- Add
isChannelAutomaticFilteringEnabled
inChatClientConfig
to allow changing whether the Channels in ChannelList will be automatically filtered #2488
🔄 Changed
- Remove unused ReactionNotificationContent #2485
🐞 Fixed
- Fix channel unread count not updating when in foreground and notification extension is saving messages #2481
StreamChatUI
🔄 Changed
- Deprecates
ChatMessageGalleryView.UploadingOverlay
in favor ofUploadingOverlayView
(Renaming) #2457 - Deprecates
Components.default.imageUploadingOverlay
in favor ofComponents.default.uploadingOverlayView
(Renaming) #2457
🐞 Fixed
- Fix message cell not updated when custom attachment data is different #2454
4.26.0
January 11, 2023
StreamChat
🔄 Changed
- Offline mode now only fetches the first page of the Channel List and Message List. This is a short coming right now until we support offline pagination. #2434
🐞 Fixed
- Fix Channel List pagination gaps #2420
- Fix truncated channels being moved to the bottom of the channel list #2420
- Fix reactions not insantly updating when enforce unique is true #2421
- Fix not being able to delete messages in
pendingSend
state #2432 - Fix messages intermittently disappearing when first opening the channel #2434
- Fix first page not being loaded from the cache when using a lower
messagesLimit
in Channel List Query #2434 - Fix inaccuracies in for channel unread count #2433
StreamChatUI
✅ Added
- Add
Components.default.isUniqueReactionsEnabled
to easily configure unique reactions #2421
🐞 Fixed
- Fix Reaction Picker not updating when reaction added with enforce unique #2421
4.25.1
4.25.0
December 15, 2022
StreamChat
🔄 Changed
logOut
anddisconnect
methods are now asynchronous. Its sync versions are deprecated #2386
✅ Added
- Add support for hiding connection status with
isInvisible
#2373 - Add
.withAttachments
inMessageSearchFilterScope
to filter messages with attachments only #2417 - Add
.withoutAttachments
inMessageSearchFilterScope
to filter messages without any attachments #2417 - Add retries mechanism to AuthenticationRepository #2414
🐞 Fixed
- Fix connecting user with non-expiring tokens (ex: development token) #2393
- Fix crash when calling
addDevice()
from background thread #2398
StreamChatUI
🐞 Fixed
- Fix message actions popup in cached thread replies #2415
4.24.1
4.24.0
November 15, 2022
StreamChat
🔄 Changed
channelController.uploadFile()
andchannelController.uploadImage()
are deprecated in favour ofchannelController.uploadAttachment()
#2369imageAttachmentPayload.imagePreviewURL
is deprecated since it was misleading, it was basically using the originalimageURL
#2369
✅ Added
- Added new
AttachmentUploader
to allow changing attachment info with custom CDN #2369
🐞 Fixed
- Add timeout for token/connectionId providers so that
ChatClient.connect()
completes even in edge cases where we cannot get the needed data #2361 - Stop spamming the console with "Socket is not connected" error when token is being refreshed #2361
- Update documentation around
CurrentUserController.currentUser
to state that a non-nil value does not mean there is a valid authentication #2361 - Allow flow where
ChatClient.setToken()
is called beforeChatClient.connect()
#2361 - Properly recover from a missing/expired token on the first execution of
TokenProvider
#2361 - Fix data races created by
AsyncOperation
looped execution when refreshing tokens #2361
StreamChatUI
🐞 Fixed
- Fix issue where cell content would not be updated when order changes in Channel List #2371
4.23.0
October 27, 2022
StreamChat
✅ Added
🐞 Fixed
- Fix CurrentChatUserController+Combine initialValue hard coded to
.noUnread
instead of using the initial value from the current user data model #2334 - Allow Message Search pagination when using sort parameters #2347
- Fix TokenProvider sometimes being invoked two times when token is expired #2337
StreamChatUI
✅ Added
- Uses Stream's Image CDN v2 to reduce the memory footprint #2339
- Make ChatMessageListVC.tableView(heightForRowAt:) open #2342
🐞 Fixed
- Fix message text not dynamically scalable with content size category changes #2328
🚨 Minor Breaking Changes
Although we don't usually ship breaking changes in minor releases, in some cases where they are minimal and important, we have to do them to keep improving the SDK long-term. Either way, these changes are for advanced customizations which won't affect most of the customers.
- The
ImageCDN
protocol has some minor breaking changes that were needed to support the new Stream CDN v2 and to make it more scalable in the future.urlRequest(forImage:)
->urlRequest(forImageUrl:resize:)
.cachingKey(forImage:)
->cachingKey(forImageUrl:)
.- Removed
thumbnail(originalURL:preferreSize:)
. This is now handled byurlRequest(forImageUrl:resize:)
as well. If your CDN does not support resizing, you can ignore the resize parameter.