Skip to content

Releases: GetStream/stream-chat-swift

4.32.0

26 May 09:45
37020c7
Compare
Choose a tag to compare

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 being true 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() and replaceChannelListController() to ChatChannelListVC #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

25 Apr 16:27
Compare
Choose a tag to compare

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 and cid 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

30 Mar 14:43
Compare
Choose a tag to compare

March 30, 2023

StreamChat

✅ Added

  • Expose deactivatedAt and isDeactivated 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

17 Mar 13:04
Compare
Choose a tag to compare

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 or notIn 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

28 Feb 11:37
Compare
Choose a tag to compare

February 28, 2023

StreamChat

🔄 Changed

  • Remove [URLQueryItem] public conformance of ExpressibleByDictionaryLiteral #2505

🐞 Fixed

  • Fix messages appearing sooner in Thread pagination #2470
  • Fix messages disappearing from the Message List when quoting a message #2470
  • Fix Markdown formatting hanging with edge case pattern #2513
  • Fix "In" Filter only returning results when all values match #2514

4.27.1

20 Feb 17:35
Compare
Choose a tag to compare

February 20, 2023

StreamChat

🐞 Fixed

  • Fix channel auto-filtering when the filter contains the type key #2497

✅ Added

  • Add support for skip_enrich_url when sending a message #2498

4.27.0

17 Feb 12:57
Compare
Choose a tag to compare

February 16, 2023

StreamChat

✅ Added

  • Add UploadedAttachmentPostProcessor in ChatClientConfig 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 in ChatClientConfig 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 of UploadingOverlayView (Renaming) #2457
  • Deprecates Components.default.imageUploadingOverlay in favor of Components.default.uploadingOverlayView (Renaming) #2457

🐞 Fixed

  • Fix message cell not updated when custom attachment data is different #2454

4.26.0

13 Jan 12:34
Compare
Choose a tag to compare

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

06 Jan 16:24
Compare
Choose a tag to compare

January 06, 2023

StreamChat

🐞 Fixed

  • Fix UserInfo not being updated on connect #2438

4.25.0

16 Dec 16:03
Compare
Choose a tag to compare

December 15, 2022

StreamChat

🔄 Changed

  • logOut and disconnect methods are now asynchronous. Its sync versions are deprecated #2386

✅ Added

  • Add support for hiding connection status with isInvisible #2373
  • Add .withAttachments in MessageSearchFilterScope to filter messages with attachments only #2417
  • Add .withoutAttachments in MessageSearchFilterScope 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