Releases: GetStream/stream-chat-swift
4.32.0
May 26, 2023
StreamChat
✅ Added
- Audio Support is now available. We added components that will allow you to record and playback audio files #2638
🐞 Fixed
- Fix "to-many key not allowed here" error when using the
memberName
filter #2604 - Fix memory leak in
ChannelListController
when loading more channels #2624 - Fix
isJumpingToMessage
beingtrue
after jumping to message on the first page #2608 - Fix
noTeam
filter that was causing an error #2632 - Fix muted and joined channel list queries with empty data (Auto Filtering Enabled) #2634
- Fix user information not being updated when receiving updated information from backend #2643
StreamChatUI
✅ Added
- Add
Components.threadRendersParentMessageEnabled
to control whether the parent message is rendered in the Thread #2636 - Add
replaceQuery()
andreplaceChannelListController()
toChatChannelListVC
#2630 - Voice Recording attachments are here. You can now record voice messages and share them in your conversations. You can enable it by setting the
Components.default.isVoiceRecordingEnabled = true
. #2638 - Allow sending replies to soft-deleted parent messages #2633
🐞 Fixed
- Fix Composer's keyboard not adjusted when presenting alert controllers #2610
- Fix InputTextView not scrolling to caret when pasting long text #2609
- Fix scrollToBottomButton visible when jumping to message on the first page #2608
- Fix an issue where attachment preview in Composer was breaking when more attachments than the
maxNumberOfVerticalItems
were added. #2638
4.31.0
April 25, 2023
StreamChat
✅ Added
- Add
ChatMessageController.loadPageAroundReplyId()
to load mid-page inside threads #2566
🐞 Fixed
- Fix channel disappearing when channel list auto-filtering is enabled and the user is not a member of the channel #2557
- Fix an issue which was causing the app to terminate when using a filter with the
in
operator andcid
values #2561 - Fix unexpected 401s produced at launch while the chat is not yet fully connected #2559
- Fix crash when getting unread count in an invalid state #2570
- Fix crash when accessing FetchCache with an unexecuted NSFetchRequest #2572
- Fix an issue which was blocking a Guest Authentication operation to retrieve a connection token #2574
- Make connect/disconnect safer when network is offline #2571
- Make connect safer by logging out the user first if needed #2577
StreamChatUI
✅ Added
- Add support for bidirectional scrolling inside threads #2566
- Add support for jumping to a message which is not in the message list inside Threads #2566
🐞 Fixed
- Fix the message text font when the text accessibility setting is set to large after closing the app #2575
- Fix the timestamp label being clipped when the text font size is larger #2575
⚠️ Known Issue
When changing the text accessibility while the app is running, it won't affect the message cell text, only after closing the app. So this is a regression of #2325. This regression is necessary, since the original fix did not work 100% as it changed the text font size after closing the app, causing the font to be too big when the text accessibility is set to large. If you still want to have the dynamic font size to be working while the app is running, there is a workaround. You need to return a new UIFont
instance everytime in ChatMessageContentView.defaultMessageFont
. Example:
override var defaultMessageFont: UIFont {
UIFont.preferredFont(forTextStyle: .body)
}
For more details, you can read the documentation of ChatMessageContentView.defaultMessageFont
or read the PR #2575.
4.30.0
March 30, 2023
StreamChat
✅ Added
- Expose
deactivatedAt
andisDeactivated
in ChatUser #2547
🐞 Fixed
- Fix channel list parsing failing completely if one channel fails parsing #2541
- Fix completion blocks not called when loading more messages #2553
- Fix
ChatChannelController
ignoring initial pagination parameter #2546
StreamChatUI
🔄 Changed
- Deprecated
ChatMessageListVC.jumpToMessage(message:)
->ChatMessageListVC.jumpToMessage(id:)
#2546 - Deprecated
ChatMessageListVCDelegate.chatMessageListVC(vc:shouldLoadPageAroundMessage:completion:)
->ChatMessageListVCDelegate.chatMessageListVC(vc:shouldLoadPageAroundMessageId:completion:)
#2546
✅ Added
- Allow the message list to start at the top if
Components.shouldMessagesStartAtTheTop
is enabled #2537 - Add support for jumping to message when opening channel #2546
- Add
ChatChannelVC.jumpToMessage(id:shouldHighlight)
high-level function for jumping to a message #2546
🐞 Fixed
- Fix channel marking read when view is not visible #2544
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