Skip to content

Releases: GetStream/stream-chat-swift

4.94.0

02 Dec 14:28

Choose a tag to compare

December 02, 2025

StreamChat

✅ Added

  • Add ChatClient.uploadAttachment(localUrl:progress:) #3883
  • Add ChatClient.deleteAttachment(remoteUrl:) #3883
  • Add CDNClient.deleteAttachment(remoteUrl:) #3883
  • Add heic, heif and svg formats to the supported image file types #3883
  • Add ChatChannelController.markUnread(from:completion:) and Chat.markUnread(from:) where the from argument is Date #3885
  • Add support for filter tags in channels #3886
    • Add ChatChannel.filterTags
    • Add filterTags channel list filtering key
    • Add filterTags argument to ChatChannelController and Chat factory methods in ChatClient
    • Add filterTags argument to ChatChannelController.updateChannel and ChatChannelController.partialUpdateChannel
    • Add filterTags argument to Chat.update and Chat.updatePartial

🐞 Fixed

  • Fix rare crash in WebSocketClient.connectEndpoint #3882
  • Fix audio recordings not playing from AirPods automatically #3884
  • Fix audio recordings not using AirPods mic automatically #3884

StreamChatUI

🐞 Fixed

  • Fix marking channel read when scrolling to the bottom without unread counts #3881

4.93.0

18 Nov 15:18

Choose a tag to compare

November 18, 2025

StreamChat

✅ Added

  • Add ChatClientConfig.isAutomaticSyncOnReconnectEnabled for toggling automatic syncing #3879

⚡️ Performance

  • Reduce SDK size by converting Events from structs to classes #3878

🔄 Changed

  • Change Events from structs to classes #3878

4.92.0

07 Nov 12:59

Choose a tag to compare

November 05, 2025

StreamChat

✅ Added

  • Add support for message delivered info #3846
    • Add ChatRemoteNotificationHandler.markMessageAsDelivered(message:channel:)
    • Add ChatChannel.reads(message:) and ChatChannel.deliveredReads(message:)
    • Add ChatChannelRead.lastDeliveredAt
    • Add ChatChannelRead.lastDeliveredMessageId
    • Add MessageDeliveryStatus.delivered

🐞 Fixed

  • Fix ChannelController.hasLoadedAllPreviousMessages not correct for newly created channels #3855
  • Fix duplicated watch channel requests when a channel is created and it belongs to multiple queries #3857
  • Fix calling watch channel request when a channel is updated and it already belongs to another query #3857
  • Fix syncing error when trying to sync too many channels #3863

🔄 Changed

  • Deprecated ChatMessage.deliveryStatus in favour of ChatMessage.deliveryStatus(channel:) #3846

StreamChatUI

✅ Added

  • Display double grey checkmark when delivery events are enabled #3846

🐞 Fixed

  • Fix date separator not shown on newly created channel #3855
  • Fix composer deleting newly entered text after deleting draft text #3854

4.91.0

22 Oct 15:13

Choose a tag to compare

October 22, 2025

StreamChat

✅ Added

  • Add support for deleting messages only for the current user #3836
    • Add ChatMessageController.deleteMessageForMe()
    • Add ChatMessage.deletedForMe
  • Allow observing poll changes in PollVoteListController #3849

🐞 Fixed

  • Fix logout not clearing token when current user had no device registered #3838
  • Fix PollVoteListController not updating votes on the vote cast event #3849
  • Fix showing channel when receiving a campaign message with show_channels false #3851

StreamChatUI

🐞 Fixed

  • Fix PollResultsVoteListVC not updating the vote count #3849

4.90.0

07 Oct 14:26

Choose a tag to compare

October 07, 2025

StreamChat

✅ Added

  • Add support for push preferences #3820
    • Add CurrentChatUserController.setPushPreference(level:)
    • Add CurrentChatUserController.snoozePushNotifications(until:)
    • Add ChatChannelController.setPushPreference(level:)
    • Add ChatChannelController.snoozePushNotifications(until:)

4.89.0

22 Sep 15:50

Choose a tag to compare

September 22, 2025

StreamChat

✅ Added

  • Expose NewLocationInfo.init #3815

🐞 Fixed

  • Fix querying threads by disabled channels crashing #3813

StreamChatUI

🔄 Changed

  • Change gallery header view to show message timestamp instead of online status #3818

4.88.0

09 Sep 17:50

Choose a tag to compare

September 09, 2025

StreamChat

✅ Added

  • Add FilterKey.channelRole for ChannelListQuery #3802
  • Add channelRole to ChatMessage model #3803

4.87.0

29 Aug 15:05

Choose a tag to compare

August 29, 2025

StreamChat

✅ Added

  • Add support for user.messages.deleted event #3792
  • Add upload endpoint for standalone attachments #3788
  • Add option to access the total message count of a channel #3796

🐞 Fixed

  • Fix channel getting removed from channel list which includes blocked channels #3794
  • Fix system messages not incrementing and decrementing unread counts #3795

StreamChatUI

🐞 Fixed

  • Fix input text view's placeholder alignment in RTL #3790
  • Flip directional icons in RTL #3790
  • Fix swipe to reply gesture in RTL #3790

🔄 Changed

  • Use chevron icons in ChatMessageAttachmentPreviewVC #3790

4.86.0

21 Aug 15:16

Choose a tag to compare

August 21, 2025

StreamChat

🐞 Fixed

  • Fix LivestreamChannelController not reconnecting when connection is dropped #3782
  • Fix StreamAudioRecorder not overridable because of init method #3783
  • Fix channel list query filtering by both blocked and non-blocked channels #3785
  • Fix LivestreamChannelController.synchronize() not working if client not connected #3787
  • Fix membership updates in LivestreamChannelController #3787
  • Fix deleted messages updates in LivestreamChannelController #3787
  • Fix channel.pinnedMessages not updated when pinning a message in LivestreamChannelController #3787
  • Fix LivestreamChannelController not watching the channel automatically when the current user joins the channel #3787

4.85.0

13 Aug 11:30

Choose a tag to compare

August 13, 2025

StreamChat

✅ Added

  • Handle member-related events in LivestreamChannelController #3775
  • Handle channel truncation events in LivestreamChannelController #3775
  • Handle user banned events in LivestreamChannelController #3777
  • Add a completion block to LivestreamChannelController.resume() to observe possible errors #3774

🐞 Fixed

  • Fix pending message being added to LivestreamChannelController.messages when in paused state #3774
  • Fix LivestreamChannelController not connecting chat after coming from background #3778

🔄 Changed

  • The LivestreamChannelController.resume() should be manually called, previously, it was automatically called on a new message #3774