Skip to content

Latest commit

Β 

History

History
1319 lines (1019 loc) Β· 68.2 KB

File metadata and controls

1319 lines (1019 loc) Β· 68.2 KB

StreamChatSwiftUI iOS SDK CHANGELOG

The format is based on Keep a Changelog.

Upcoming

πŸ”„ Changed

  • CDNRequester is now passed in the constructor of StreamMediaLoader instead of Utils #1425

🐞 Fixed

  • Fix SDK not compiling with Xcode 16 #1430
  • Fix show/hide message translation animation #1426
  • Fix tapping a media attachment in the reactions overlay opening the fullscreen gallery #1424
  • Fix empty space around the previewed message in the reactions overlay not dismissing the overlay #1424
  • Fix long-pressing a message with attachments occasionally opening the fullscreen gallery #1424
  • Fix image attachments briefly showing a loading indicator when reopening a cached image #1424

April 16, 2026

βœ… Added

  • Redesign attachment uploading progress and error state indicators #1408
  • Add inline upload progress and retry UI for file attachments #1408
  • Add RetryBadgeView for failed uploads and thumbnail loads #1408
  • Add ComposerConfig.isVoiceRecordingAutoSendEnabled to support sending a recording instantly on release #1362
  • Redesign JumpToUnreadButton #1351
  • Show deleted messages in channel list preview #1338
  • Update deleted message design in the message list #1349
  • Redesign new messages divider in the message list #1354
  • Redesign the thread replies divider in the message replies list #1354

🐞 Fixed

  • Fix attachment downloads not using CDN requester for URL signing and custom headers #1399
  • Fix empty share sheet when sharing a video from the full-screen media viewer #1418
  • Fix swipe-to-reply icon layout for outgoing messages and RTL #1402
  • Fix unwanted border on the Edit button in Channel Info #1402
  • Fix send button icon not mirroring in RTL layouts #1397
  • Fix composer attachment picker prompt views layout to center all content vertically #1397
  • Fix poll icon inconsistency in the attachment type picker and attachment previews #1397
  • Fix voice recording attachment container rendering when quoting a message #1388
  • Fix annotation button colors in the reactions overlay #1386
  • Fix error indicator position and styling to match v5 design #1383
  • Fix scroll to bottom button not working when the message list is actively scrolling #1380
  • Fix timestamp snapping back faster than delivery indicator on swipe-to-reply #1360
  • Fix tapping a non-first media attachment always opening the first item on initial tap #1359
  • Pinned message label now shows "Pinned by you" when the current user pinned the message #1329
  • Fix single media attachment without sharp tail corner when no caption #1330
  • Fix editing a voice message removing the voice recording attachment #1327
  • Fix hold-and-release mic gesture not sending the voice message immediately #1327
  • Fix voice message playback state and waveform slider updates #1327
  • Fix split view navigation on iPad #1320
  • Fix rendering 1:1 direct message avatars and presence indicators #1332
  • Fix giphy previews in the channel list and quote replies #1333
  • Fix black borders on image preview in composer when editing or quoting a message #1334
  • Fix quoted image preview not updating when switching to a different quoted message #1334
  • Use fixed width for attachment previews #1335
  • Fix showing bubble for quoted message and file or image attachment #1335
  • Fix scaling of giphy attachments #1335
  • Fix spacings in message annotations #1403

πŸ”„ Changed

  • Rename AddUsersView/AddUsersViewModel to MemberAddView/MemberAddViewModel #1402
  • Unify Channel Info navigation headers styling #1402
  • Renamed the onMessageSent callback to willSendMessage in MessageComposerViewModel, ViewModelsFactory, and ComposerViewFactoryOptions #1327
  • Remove InjectedChannelInfo from ChatChannelListItemView #1338
  • Rename empty state views from No prefix to Empty prefix #1345
  • Migrate all the old color tokens to new color tokens #1350
  • Replace LinkDetectionTextView with StreamTextView that uses ChatMessage.attributedTextContent(layoutDirection:translationLanguage:) #1411

April 01, 2026

🐞 Fixed

  • Fix pause button size in voice recording view #1344

March 23, 2026

This is our first beta V5 release. For more detailed overview of the changes, please check our migration guide.

βœ… Added

  • Added a new v5 design system with tokens, colors, fonts and images exposed through InjectedValues and Appearance.
  • Added a redesigned ChatComposer experience with a new layout and 2 different modes (docked and floating).
  • Added a redesigned reactions experience with refreshed overlays, more reactions UI and a new reactions detail view.
  • Added a new avatar system with ChannelAvatar, UserAvatar, AvatarStack, avatar badges and stacked placeholders.
  • Added a dedicated voice recording composer flow with lock/gesture handling and redesigned voice recording attachments.
  • Introduced a Styles protocol for easier customization of the UI components.
  • Redesigned all the UI components with the new design system.

πŸ”„ Changed

  • All the ViewFactory methods now take a single options object instead of many individual parameters
  • Changed the package to Swift 6 / swift-tools-version: 6.0 and enabled the v5 codebase to work with complete concurrency checking.
  • Changed the package dependencies to pull in StreamChatCommonUI, which now backs shared appearance and UI infrastructure between our SwiftUI and UIKit SDKs.
  • supportedMoreChannelActions, supportedMessageActions, and navigationBarDisplayMode moved to config objects

❌ Removed

  • Removed legacy screen wrappers such as ChatChannelScreen and ChatChannelListScreen as part of the v5 API cleanup.
  • Removed older composer, message list, reactions and poll view implementations that were replaced by the new v5 component structure.
  • Removed duplicated SwiftUI assets and old avatar/image merger utilities that are no longer needed in the redesigned SDK.
  • Removed CocoaPods support in favor of the current Swift Package Manager based distribution.

March 16, 2026

βœ… Added

  • AddedAsset now has originalWidth, originalHeight, and duration (videos), set at selection time and passed into image/video attachment payloads for custom CDN uploads #1255
  • Introduce AVPlayerProvider in Utils to be able to provide a custom AVPlayer configuration #1284
  • Add new loadPreviewForVideo() to VideoPreviewLoader for remote video attachments and use remote thumbnails by default #1284

🐞 Fixed

  • Align video attachments' bubble corner radius and corner shape with image attachments #1260

February 26, 2026

βœ… Added

  • Add support for optional sort in channel list message search #1237

🐞 Fixed

  • Fix composer text, placeholder and icons not respecting layout direction in RTL #1206
  • Use chevron.forward instead of chevron.right for channel info disclosure indicator in RTL #1206

February 11, 2026

🐞 Fixed

  • Fix typing suggestions breaking when there are emoji in the composer (bounds guard now uses UTF-16 length to match caretLocation) #1186

βœ… Added

  • Add public init for ImageContainerView #1174
  • Expose Keyboard Handling methods #1175

⚑️ Performance

  • Reduction of the SDK size by 2MB #1173

January 27, 2026

βœ… Added

  • Add option to specify a bundle in ActionItemView #1147

January 13, 2026

🐞 Fixed

  • Fix updating member count in ChatChannelInfoView header #1081
  • Fix the message list jumping when opening the channel #1101
  • Fix not having an offset at the bottom of the message list when scrolling to the newest message #1101

December 18, 2025

βœ… Added

  • Open ChatChannelInfoViewModel.leaveButtonTitle and ChatChannelInfoViewModel.leaveConversationDescription #1018
  • Open ChatThreadListViewModel.preselectThreadIfNeeded() #1069

🐞 Fixed

  • Use muteChannel capability for showing mute channel button in the ChatChannelInfoView #1018
  • Fix PollOptionAllVotesViewModel not loading more votes #1067
  • Fix "sliderThumb.pdf" asset not single scaled #1070
  • Fix ViewFactory.makeMessageAvatarView() not used in some views #1068
    • MessageRepliesView
    • ReactionsUsersView
    • MentionUsersView
    • ParticipantInfoView
    • ChatThreadListItem
  • Fix reading messages from muted users #1063

December 02, 2025

βœ… Added

  • Add the maxGalleryAssetsCount to the composer config #1053
  • Expose QuotedMessageViewContainer #1056
  • Add QuotedMessageContentView and ViewFactory.makeQuotedMessageContentView() #1056
  • Allow customizing the attachment size and avatar size of the quoted message view #1056

🐞 Fixed

  • Fix channel list skipping some updates on iPad #1059

November 18, 2025

βœ… Added

  • Expose AddedVoiceRecordingsView #1049
  • Expose FilePickerView.init(fileURLs:) #1049
  • Add MessageComposerViewModel.updateAddedAssets() #1049

🐞 Fixed

  • Fix Throttler crash in ChatChannelViewModel.handleMessageAppear() #1050
  • Remove unnecessary channel query call when leaving the channel view in a mid-page #1050
  • Fix crash when force unwrapping messageDisplayInfo in ChatChannelView #1052

November 07, 2025

βœ… Added

  • Add message highlighting on jumping to a quoted message #1032
  • Display double grey checkmark when delivery events are enabled #1038

🐞 Fixed

  • Fix composer deleting newly entered text after deleting draft text #1030
  • Fix mark unread action not shown for messages that are root of a thread in the channel view #1041

October 22, 2025

βœ… Added

  • Add the makeAttachmentTextView method to ViewFactory #1013
  • Allow dismissing commands overlay when tapping the message list #1024
  • Allows dismissing the keyboard attachments picker when tapping the message list #1024

🐞 Fixed

  • Fix composer not being locked after the channel was frozen #1015
  • Fix PollOptionAllVotesView not updated on poll cast events #1025
  • Fix action sheet not showing when discarding Poll creation on iOS 26 #1027

October 08, 2025

βœ… Added

  • Opens the commandsHandler and makes the mention methods public #979
  • Opens MarkdownFormatter so that it can be customised #978
  • Add participant actions in channel info view #982
  • Add support for overriding onImageTap in LinkAttachmentView #986
  • Add support for customizing text colors in LinkAttachmentView #992
  • Expose MediaAttachment properties and initializer #1000
  • Add ColorPalette.navigationBarGlyph for configuring the glyph color for buttons in navigation bars #999
  • Allow overriding ChatChannelInfoViewModel properties: shouldShowLeaveConversationButton, canRenameChannel, and shouldShowAddUserButton #995

🐞 Fixed

  • Fix openChannel not working when searching or another chat shown #975
  • Fix crash when using a font that does not support bold or italic trait #976
  • Fix unread messages banner not shown for one-page channels #989
  • Fix unread messages banner not shown if the whole channel is unread #989
  • Fix channel not marking read when passing by the unread message #989
  • Fix random scroll after marking a message unread #989
  • Fix marking channel read when the user scrolls to the bottom after marking a message as unread #989
  • Fix replying to unread messages marking them instantly as read #989
  • Fix rendering of the add users button on iOS 26 #999
  • Use ColorPalette.navigationBarTint for the background of the add users button #999
  • Fix showing all the channel members in the more channel actions view #1001

September 23, 2025

🐞 Fixed

  • Fix not importing Foundation in GalleryHeaderViewDateFormatter #970

September 22, 2025

βœ… Added

  • Add toolbarThemed(content:) for creating custom views with themed navigation bar #953
  • Add support for downloading file attachments #952

🐞 Fixed

  • Fix updating back button tint with ColorPalette.navigationBarTintColor #953
  • Fix swipe to reply enabled when quoting a message is disabled #977
  • Fix composer not showing images in the composer when editing signed attachments #956
  • Fix replacing an image while editing a message not showing the new image in the message list #956
  • Improve precision when scrolling to the newest message with long text #958
  • Fix draft attachments being sent with local file urls to the server #964
  • Fix keyboard showing with attachment picker when editing a message #965
  • Fix race condition when clearing text in a regular TextField #955

πŸ”„ Changed

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

September 10, 2025

βœ… Added

  • Add ColorPalette.navigationBarTitle, ColorPalette.navigationBarSubtitle, ColorPalette.navigationBarTintColor, ColorPalette.navigationBarBackground #939

🐞 Fixed

  • Long message with a link preview was truncated sometimes #940
  • Fix quoted message shown in the composer when editing a quoting message #943
  • Fix pinned messages view not using relative time formatter #946

September 01, 2025

βœ… Added

  • Add option to scroll to and open a channel from the channel list #932
  • Make MediaItem and MediaAttachmentContentView public to allow customization #935

🐞 Fixed

  • Show attachment title instead of URL in the FileAttachmentPreview view #930
  • Fix overriding title color in ChannelTitleView #931
  • Use channel capabilities for validating delete message action #933
  • Fix the video attachments now fetch the URL once on appear and pause when swiping to another item in the gallery #934

August 21, 2025

🐞 Fixed

  • Fix inconsistencies in gallery view displaying images and videos #927
  • Prevent audio messages increasing width in reply mode #926

August 13, 2025

βœ… Added

  • Add support for customizing AddUsersView [#911)(#911)

August 07, 2025

βœ… Added

  • Make AddUsersView used by ChatChannelInfoView public for creating custom info views through composition #906
  • Expose ChannelAvatarViewOptions.init #908

🐞 Fixed

  • Fix WebView error handling to enable mp3 attachments loading #904

July 29, 2025

βœ… Added

  • Add support for showing current poll comment on alert #891

🐞 Fixed

  • Fix polls multiple answers minimum value being 1 instead of 2 #898

πŸ”„ Changed

  • Make ChatChannelInfoView subviews public for creating custom info views through composition #892
    • ChannelTitleView
    • ChannelInfoDivider
    • ChatInfoDirectChannelView
    • ChatInfoParticipantsView
  • Make MediaViewsOptions initializer public #899

July 16, 2025

βœ… Added

  • Add support for customising the MessageAvatarView placeholder #878
  • Add ViewFactory.makeVideoPlayerFooterView to customize video player footer #879
  • Add utils.channelListConfig.channelItemMutedLayoutStyle #881
  • Add jumping to pinned message when tapping a message in the pinned messages view #884

πŸ”„ Changed

  • From now on, jumping to a message will centre it in the middle instead of at the top #884

July 03, 2025

βœ… Added

  • Add Utils.channelListConfig.showChannelListDividerOnLastItem #869

🐞 Fixed

  • Fix tapping on invisible areas on iOS 26 #868
  • Fix channel view tab bar not hidden on iOS 16.0 #870
  • Fix message Actions overlay view not dismissed when opening thread #873
  • Fix mute and unmute commands shown in the composer when removed from Dashboard #872

πŸ”„ Changed

  • Mute and unmute commands are not added by default in the composer #872

June 17, 2025

🐞 Fixed

  • Fix showing unmute user message action just after muting the user #847
  • Fix rare concurrency crash in ChannelAvatarsMerger.createMergedAvatar(from:) #858

June 03, 2025

🐞 Fixed

  • Fix ChatChannelView keyboard background not using color from palette #845
  • Fix removing new messages separator when scrolling in the channel view #846

May 29, 2025

βœ… Added

  • Add extra data to user display info #819
  • Make message spacing in message list configurable #830
  • Show time, relative date, weekday, or short date for last message in channel list and search #833
    • Set ChannelListConfig.messageRelativeDateFormatEnabled to true for enabling it
  • Add MessageViewModel to MessageContainerView to make it easier to customise presentation logic #815
  • Add MessageListConfig.messaeDisplayOptions.showOriginalTranslatedButton to enable showing original text in translated message #815
  • Add Utils.originalTranslationsStore to keep track of messages that should show the original text #815
  • Add ViewFactory.makeGalleryHeaderView for customising header view in GalleryView #837
  • Add ViewFactory.makeVideoPlayerHeaderView for customising header view in VideoPlayerView #837
  • Add Utils.messagePreviewFormatter for customising message previews in lists #839

🐞 Fixed

  • Fix swipe to reply enabled when quoting a message is disabled #824
  • Fix mark unread action not removed when read events are disabled #823
  • Fix user mentions not working when commands are disabled #826
  • Fix edit message action shown when user does not have permissions #835
  • Fix error indicator not shown when editing a message fails #840
  • Fix read indicator shown for failed edited messages #840
  • Fix "clock" pending icon not shown when message is syncing (pending to be edited) #840

April 24, 2025

βœ… Added

  • Add factory methods for gallery and video player view #808
  • Add support for editing message attachments #806

🐞 Fixed

  • Fix scrolling to the bottom when editing a message #806
  • Fix having message edit action on Giphy messages #806
  • Fix being able to long press an unsent Giphy message #806
  • Fix being able to swipe to reply an unsent Giphy message #806
  • Fix translated message showing original text in message actions overlay #810

πŸ”„ Changed

  • Deprecated ComposerConfig.attachmentPayloadConverter in favour of MessageComposerViewModel.convertAddedAssetsToPayloads() #806

April 10, 2025

βœ… Added

  • Allow pasting images to the composer #797
  • Add ChatChannelListViewModel.setChannelAlertType for setting the alert type #801

🐞 Fixed

  • Fix allowing to send Polls when the current user does not have the capability #798
  • Fix showing a double error indicator when sending attachments without any text #799
  • Fix showing read indicator when message failed to be sent #799
  • Fix not showing sending indicator when message is in sending state #799
  • Fix empty accessibility button shapes shown in navigation link views #800

March 31, 2025

βœ… Added

  • Add minOriginY to the initializer of ReactionsOverlayView for better UI customization #793

🐞 Fixed

  • Fix draft not deleted when attachments are removed from the composer #791

πŸ”„ Changed

  • Made showErrorPopup open in ChatChannelListViewModel #794

March 26, 2025

βœ… Added

  • Add avatar customization in add users popup #787
  • Add support for Draft Messages when Utils.messageListConfig.draftMessagesEnabled is true #775
  • Add draft preview in Channel List and Thread List if drafts are enabled #775

March 14, 2025

βœ… Added

  • Feature rich markdown rendering with AttributedString #757
  • Add Fonts.title2 for supporting markdown headers #757
  • Add resignsFirstResponderOnScrollDown to MessageListConfig #769
  • Show auto-translated message translations (learn more) #776

🐞 Fixed

  • Show typing suggestions for names containing whitespace #781

πŸ”„ Changed

  • Uploading a HEIC photo from the library is now converted to JPEG for better compatibility #767
  • Customizing the message avatar view is reflected in all views that use it #772
  • Made the sendMessage method in MessageComposerViewModel open #779
  • Move ChangeBarsVisibilityModifier into ViewFactory for better customization #774

🎭 New Localizations

  • message.translatedTo #776

February 28, 2025

βœ… Added

  • Add Utils.MessageListConfig.bouncedMessagesAlertActionsEnabled to support bounced actions alert #764
  • Add ViewFactory.makeBouncedMessageActionsModifier() to customize the new bounced actions alert #764

🐞 Fixed

  • Fix visibility of tabbar when reactions are shown #750
  • Show all members in direct message channel info view #760

πŸ”„ Changed

  • Only show "Pin/Unpin message" Action if user has permission #749
  • Filter deactivated users in channel info view #758
  • Bounced message actions will now be shown as an alert instead of a context menu by default #764

🎭 New Localizations

Add localizable keys for supporting moderation alerts:

  • message.moderation.alert.title
  • message.moderation.alert.message
  • message.moderation.alert.resend
  • message.moderation.alert.edit
  • message.moderation.alert.delete
  • message.moderation.alert.cancel

February 04, 2025

βœ… Added

  • Add factory method to customize the channel avatar #734
  • Add possibility to replace the no content icons #740

🐞 Fixed

  • Fix hiding message actions when tapping on the add reactions button in the bottom reactions view #737

January 28, 2025

🐞 Fixed

  • Fix thread reply action shown when inside a Thread #717
  • Improve voice over by adding missing labels, removing decorative images, and setting accessibility actions #726
  • Fix avatar's background color when changing the navigation bar background color #725

πŸ”„ Changed

  • Deprecate unused ChatMessage.userDisplayInfo(from:) which only accessed cached data #718

🎭 New Localizations

Add localizable keys for supporting accessibility labels:

  • channel.list.scroll-to-bottom.title
  • channel.header.info.title
  • message.attachment.accessibility-label
  • message.read-status.seen-by*
  • message.cell.sent-at
  • composer.picker.show-all
  • composer.audio-recording.*

January 15, 2025

βœ… Added

  • Use AppSettings.fileUploadConfig for setting supported UTI types for the file picker #713
  • Colors and images for voice recording view #704
    • ColorPalette.voiceMessageControlBackground
    • Images.pauseFilled
  • Exposes all the default message actions #711

🐞 Fixed

  • Use bright color for typing indicator animation in dark mode #702
  • Refresh quoted message preview when the quoted message is deleted #705
  • Fix composer command view not Themable #710
  • Fix reactions users view not paginating results #712

πŸ”„ Changed

  • Support theming and update layout of VoiceRecordingContainerView #704
  • Use ColorPalette.highlightedAccentBackground for AudioVisualizationView.highlightedBarColor #704

December 18, 2024

βœ… Added

  • Make CreatePollView public #685
  • Make ChatChannelListViewModel.searchType public and observable #693
  • Allow customizing channel and message search in the ChatChannelListViewModel #690
    • Allow overriding ChatChannelListViewModel.performChannelSearch and ChatChannelListViewModel.performMessageSearch
    • Make ChatChannelListViewModel.channelListSearchController and ChatChannelListViewModel.messageSearchController public

🐞 Fixed

  • Fix message thread reply footnote view not shown if parent message not in cache #681

⚑ Performance

  • Improve message search performance #680

πŸ”„ Changed

  • Update VoiceRecordingContainerView background colors and layout by moving the message text outside of the recording cell #689

December 03, 2024

🐞 Fixed

  • Fix showing giphy message in the channel list #669
  • Fix message list scroll not working when drag gestured is initiated from a message #671

November 25, 2024

βœ… Added

  • Make VoiceRecordingButton public #658
  • Add config to skip edited label for some messages #660

🐞 Fixed

  • Fix message long press taking too much time to show actions #648
  • Fix rendering link attachment preview with other attachment types #659
  • Fix not using colors from the palette in some of the poll views #661
  • Fix a rare crash when handling list change in the ChatChannelViewModel #663

πŸ”„ Changed

  • Message composer now uses .uploadFile capability when showing attachment picker icon #646
  • ChannelInfoView now uses .updateChannelMembers capability to show "Add Users" button #651

November 06, 2024

βœ… Added

  • Add support for Channel Search in the Channel List #628

🐞 Fixed

  • Fix crash when opening message overlay in iPad with a TabBar #627
  • Only show Leave Group option if the user has leave-channel permission #633
  • Fix Channel List stuck in Empty View State in rare conditions #639
  • Fix a bug with photo attachment picker indicator not displaying #640

October 18, 2024

βœ… Added

  • New Thread List UI Component #621
  • Handles marking a thread read in ChatChannelViewModel #621
  • Adds ViewFactory.makeChannelListItemBackground #621

🐞 Fixed

  • Fix Channel List loading view shimmering effect not working #621
  • Fix Channel List not preselecting the Channel on iPad #621

πŸ”„ Changed

  • Channel List Item has now a background color when it is selected on iPad #621

October 03, 2024

πŸ”„ Changed

  • Improves Poll voting UX by making it possible to tap on the whole option as well #612

🐞 Fixed

  • Rare crash when accessing frame of the view #607
  • ChatChannelListView navigation did not trigger when using a custom container and its body reloaded #609
  • Channel was sometimes not marked as read when tapping the x on the unread message pill in the message list #610
  • Channel was sometimes not selected if ChatChannelViewModel.selectedChannelId was set to a channel created a moments ago #611
  • Fix the poll vote progress view not having full width when the Poll is closed #612
  • Fix the last vote author not accurate in the channel preview #612

September 12, 2024

βœ… Added

  • Configuration for padding for quoted message views #598

πŸ”„ Changed

  • Improved subtitle info in pinned messages view #594
  • The image(for channel: ChatChannel) in ChannelHeaderLoader is now open #595
  • FlagMessage Action is now only shown if the user has a permission to perform the action #599

🐞 Fixed

  • Typing users did not update reliably in the message list #591
  • Channel was sometimes marked as read when the first unread message was one of the first not visible messages #593
  • Jump to first unread message button in the message list was not possible to close in some cases #600

August 16, 2024

🐞 Fixed

  • Fix markdown links with query parameters #581
    • Limitation: markdown link that includes parameters without protocol prefix is not handled at the moment.
    • Example: text will not be presented as markdown, while text will be.
  • Fix updating of mentioned users when sending a message #582

July 31, 2024

⚑ Performance

  • Optimise channel list view updates #561

🐞 Fixed

  • Media and files attachments not showing in channel info view #554
  • Bottom reactions configuration not always updating reactions #557

πŸ”„ Changed

  • Channel list views do not use explicit id anymore #561
  • Deprecate ChannelAvatarView initializer init(avatar:showOnlineIndicator:size:) in favor of init(channel:showOnlineIndicator:size:) #561

July 19, 2024

βœ… Added

  • Public init of PhotoAttachmentCell #544
  • Public init for AudioRecordingInfo 547

🐞 Fixed

  • Update of search results when slowly typing #550

July 10, 2024

βœ… Added

  • Added message actions for user blocking #532

🐞 Fixed

  • Smoother and more performant view updates in channel and message lists #522
  • Fix scrolling location when jumping to a message not in the currently loaded message list #533
  • Fix display of the most votes icon in Polls #538
  • Fix message author information not reflecting the latest state #540

June 27, 2024

βœ… Added

  • Thread replies shown in channel indicator #518

🐞 Fixed

  • Dismiss the channel when leaving a group #519
  • Dismiss keyboard when tapping on the empty message list #513
  • Reset composer text when there is provisional text (e.g. Japanese - kana keyboard) but the text is reset to empty string #512
  • Visibility of the comments button in anonymous polls #524

πŸ”„ Changed

  • Show inline alert banner when encountering a failure while interacting with polls #504
  • Grouping image and video attachments in the same message #525

June 07, 2024

βœ… Added

  • Add support for creating and rendering polls #495
  • Use max file size for validating attachments defined in Stream's Dashboard #490

May 21, 2024

πŸ”„ Changed

  • Updated StreamChat dependency

🐞 Fixed

  • Creating merged channel avatars logged a console warning when the source image uses extended color range #484

May 14, 2024

πŸ”„ Changed

  • Updated StreamChat dependency

May 06, 2024

πŸ”„ Changed

  • Updated StreamChat dependency

April 30, 2024

βœ… Added

  • Highlighting and tapping on user mentions
  • Customization of the channel loading view
  • Public init of InjectedChannelInfo

April 09, 2024

βœ… Added

  • Added markdown support (enabled by default)
  • LinkAttachmentView and LinkDetectionTextView available for public use

March 26, 2024

βœ… Added

  • Role value in the user display info

🐞 Fixed

  • Reactions picker for large messages sometimes goes in the safe area
  • Loading of pinned messages in the channel info screen

March 14, 2024

🐞 Fixed

  • Message text color when using link detection

March 12, 2024

βœ… Added

  • Link detection in the text views
  • Indicator when a message was edited

February 28, 2024

βœ… Added

  • Config the audioRecorder that is used when sending async voice messages

πŸ”„ Changed

  • Author name display now depends on number of participants, not channel type

🐞 Fixed

  • Voice recording messages now use the standard message modifier

πŸ”„ Changed

February 09, 2024

βœ… Added

  • Factory method for customizing the search results view

πŸ”„ Changed

  • Updated StreamChat dependency

January 29, 2024

🐞 Fixed

  • Cleanup of audio session only when voice recording is enabled

January 09, 2024

βœ… Added

  • Config for highlighted composer border color
  • Config for enforcing unique reactions

🐞 Fixed

  • Improved loading of gallery images

December 21, 2023

βœ… Added

  • Recording of async voice messages
  • Rendering and playing async voice messages

πŸ”„ Changed

December 13, 2023

βœ… Added

  • Mark message as unread
  • Jump to first unread message
  • Factory method to swap jump to unread button

December 01, 2023

βœ… Added

  • Jump to a message that is not on the first page
  • Jump to a message in a thread
  • Bi-directional scrolling of the message list
  • Handling of bounced messages

🐞 Fixed

  • Some links not being rendered correctly

November 20, 2023

🐞 Fixed

  • Fix skip slow mode capability not handled

November 15, 2023

βœ… Added

  • Add factory method for custom attachments in quoted messages

🐞 Fixed

  • Fix marked read while the app is in the background
  • Fix recently saved images to camera roll don't show up

November 03, 2023

βœ… Added

  • Config for bottom placement of reactions

🐞 Fixed

  • Video playing after being dismissed on iOS 17.1

October 26, 2023

⚠️ Important

  • Dependencies are no longer exposed (this includes Nuke and SwiftyGif). If you were using those dependencies we were exposing, you would need to import them manually. This is due to our newest addition supporting Module Stable XCFramework, see more below in the "Added" section. If you encounter any SPM-related problems, be sure to reset the package caches.

βœ… Added

  • Add message preview with attachments in channel list
  • Add support for pre-built XCFramework
  • Config for composer text input paddings
  • Config for left alignment of messages

πŸ”„ Changed

  • Made some ChannelList and MessageListView parameters optional

October 06, 2023

🐞 Fixed

  • Fixed visibility for deleted messages indicator for current user

βœ… Added

  • Add throttling to mark as read

September 29, 2023

🐞 Fixed

  • Performance improvements in the low-level client

September 27, 2023

βœ… Added

  • Config for changing supported media types in the composer

🐞 Fixed

  • Play audio in videos when in silent mode

September 18, 2023

πŸ”„ Changed

  • Updated StreamChat dependency

August 31, 2023

βœ… Added

  • Add XCPrivacy manifest #352

πŸ”„ Changed

  • Reactions popup disabled if channel is frozen

🐞 Fixed

  • Online indicator updates in the header view
  • Reactions overlay interface orientation updates

August 10, 2023

πŸ”„ Changed

  • Updated StreamChat dependency

August 09, 2023

πŸ”„ Changed

  • Video and giphy attachments now use makeMessageViewModifier
  • Updated scalling of avatar images
  • Turn off channel updates when message thread shown

🐞 Fixed

  • AttachmentTextView respects configured body font
  • Attachments persisted after message editing

βœ… Added

  • Option to specify bottom offset in ReactionsOverlayView

July 06, 2023

βœ… Added

  • Added factory method for customizing the message list container's modifier
  • Option to customize the date separation logic in the message list
  • Public init for LinkAttachmentContainer

June 09, 2023

πŸ”„ Changed

  • Updated StreamChat dependency

May 26, 2023

🐞 Fixed

  • Fixed the text input cursor when a message is being edited
  • Fixed channel list view model always not using passed channel type for deletion
  • Fixed warning for empty collection literal in Xcode 14.3

βœ… Added

  • Added a factory method for customizing the composer text input view

πŸ”„ Changed

  • Exposed mentionedUsers in the MessageComposerViewModel

April 25, 2023

🐞 Fixed

  • Reaction overlay display in a modal chat view
  • Warning about UITextView switching to TextKit 1 compatibility mode
  • Unread new messages separator wrong value when date overlay used

March 30, 2023

βœ… Added

  • Added more parameters to the sendMessage method in the MessageComposerViewModel
  • Exposed components from the ChatChannelInfoView

March 17, 2023

πŸ”„ Changed

  • Exposed SearchResultsView as a public component
  • isSearching property in the ChatChannelListViewModel is now public
  • LazyImage uses image CDN request
  • Fallback avatar in MessageAvatarView

🐞 Fixed

  • Channel actions popup wrong appearance using a custom NavigationView
  • Channel list automatic channel selection disabled for compact iPad screen size
  • Mentions of users available in a new line
  • Cursor jumps around in the composer when @ mentioning

February 28, 2023

πŸ”„ Changed

  • Updated StreamChat dependency

February 17, 2023

βœ… Added

  • Possibility to customize message reactions top padding (for grid-based reaction containers)
  • Custom sorting of reactions
  • Added a configurable separator view for new messages
  • Possibility to customize the cornerRadius of the ComposerInputView
  • Possibility to turn off tab bar handling in the message list

🐞 Fixed

  • Message List layout for iPad in Slide Over mode

January 16, 2023

βœ… Added

  • Config to change the scrolling anchor (top/bottom) on messages
  • Pass extra data in attachments
  • Custom message grouping by overriding groupMessages in ChatChannelViewModel

πŸ”„ Changed

  • AddedAsset's extraData property is now of type [String: RawJSON]
  • New icon for pendingSend local message state

December 16, 2022

βœ… Added

  • Support for channel own capabilities in the UI
  • Added possibility to override the message id creation with MessageIdBuilder

🐞 Fixed

  • Renaming of a channel in ChannelInfo not persisting extra data
  • Channel list item swipe gesture collision with native gesture
  • Attributes from MessageActionInfo are now public
  • Crash on older devices when adding multiple images quickly
  • Message text appearing in multiple file attachments from the same message

November 16, 2022

βœ… Added

  • Support for specifying whether ChatChannelListView is embedded in a NavigationView with embedInNavigationView

πŸ”„ Changed

  • Public init for DefaultChannelListHeaderModifier
  • Updated Nuke dependency

🐞 Fixed

  • Scroll to bottom when return key is pressed in the composer input view
  • Typing indicator not shown when empty message list

October 27, 2022

βœ… Added

  • Support for custom message receipt states
  • Scrolling of instant commands
  • Config to turn off tab bar visibility handling

πŸ”„ Changed

  • Updated Nuke dependency to 11.3.0 for SPM
  • Removed NukeUI dependency for SPM (now part of Nuke)

September 27, 2022

βœ… Added

  • Configuration for stack based navigation for iPads
  • Customization of the reactions background
  • Possibility to add custom snapshot generation logic
  • Configuration for composer input field max height

🐞 Fixed

  • iOS 16 keyboard insets issue on pushed screen
  • Improved animation for date indicators in message list

September 02, 2022

βœ… Added

  • Configuring avatars visibility in groups
  • Method to swap the MessageRepliesView
  • Public init for ChatChannelListItem

πŸ”„ Changed

  • Message list creation requires shouldShowTypingIndicator as a parameter

🐞 Fixed

  • Channel header sometimes blinks when many messages are sent
  • Data race when channels are updated from message list
  • Safe unwrapping of current graphics context when showing reactions

August 04, 2022

βœ… Added

  • Exposed a way to customise text message before sending and reading

🐞 Fixed

  • Fixed a bug with channel list refreshing after deeplinking
  • Navigation bar iPad resizing issue
  • Fixed a bug with thread with custom attachments dismissed
  • Fixed Xcode 14 beta build issues

πŸ”„ Changed

  • Docs restructuring
  • Exposed some view components as public

July 21, 2022

βœ… Added

  • Customizing padding for message bubble modifier
  • Customizing padding for message text view
  • Possibility to control tab bar visibility
  • Configuration of message size via spacing

🐞 Fixed

  • Fixed a bug with canceled backswipe
  • Fixed a bug with channel pop on name editing

πŸ”„ Changed

  • Docs restructuring
  • Exposed some view components as public

July 05, 2022

βœ… Added

  • Automated testing infrastructure
  • Config for disabling reaction animations
  • Error indicator when max attachment size exceeded
  • Factory method to swap the jumbo emoji view

πŸ”„ Changed

  • Made few view components public

June 22, 2022

βœ… Added

  • Possibility to add a custom view above the oldest message in a group
  • Swipe gesture to dismiss image gallery

🐞 Fixed

  • Memory cache trimming on chat dismiss
  • Crash when sending an invalid command

June 10, 2022

βœ… Added

  • Possibility to view channel info on channel options
  • Date separators in the message list
  • ChatUserNamer to customize user name on typing indicator
  • minimumSwipeGestureDistance to control swipe sensitivity
  • Pop-out animation to reactions overlay
  • maxTimeIntervalBetweenMessagesInGroup to control message grouping logic

🐞 Fixed

  • Bug about link attachments not opening when the URL was missing the scheme
  • Picking images synced with iCloud in the composer
  • User mentions not being passed when sending a message
  • Incorrect initial height when editing a message
  • Composer is hidden when reactions shown

May 17, 2022

βœ… Added

  • Chat info screen
  • Possibility to customize empty messages state
  • Possibility to customize author and date view in a message
  • View model injection in the Message Composer View

🐞 Fixed

  • Bug with swiping video attachments
  • Bug with reactions offset for large number of reactions
  • Text input cursor jump
  • Text message rendering issue with custom font
  • Tap enabled on fourth image in attachments if there's a number overlay

April 26, 2022

βœ… Added

  • Animations for reactions overlay
  • Possibility to customize message transitions
  • Config for changing reaction colors
  • Config for becoming first responder in chat channel
  • Config for double tap message overlay
  • Config for custom width / count of trailing items in swiped channel
  • Config for updating composer frames

🐞 Fixed

  • Issue with resizing composer with large text
  • Updating channel list before coming back to the screen
  • Disable the send button when there's only whitespace

March 30, 2022

βœ… Added

  • Implement message resend functionality
  • Custom modifiers support for the message view and the composer
  • Custom modifiers support for the channel list and the message list
  • Changing text color per message sender

🐞 Fixed

  • Improved TabView appeareance animation
  • Channel list performance improvements
  • Jumbo emoji reply not shown correctly
  • Send message animation improvements

πŸ”„ Changed

  • Method for creating custom quoted message view

March 17, 2022

βœ… Added

  • Redacted loading view
  • Max file size checks
  • Inject custom footer view in Channel List
  • Config for disabling message overlay

🐞 Fixed

  • Prevent jumps when new messages are received
  • Orientation changes layout

πŸ”„ Changed

  • Method for creating custom avatar

March 02, 2022

βœ… Added

  • Support for custom backgrounds (image, gradient)
  • Animation when sending message
  • Possibility to inject view model from the outside

🐞 Fixed

  • Performance improvements
  • Autocomplete keyboard bug
  • Swipe gesture resizing message view

πŸ”„ Changed

  • Method for creating custom avatar

February 16, 2022

βœ… Added

  • Slow mode
  • Copying of a message
  • Push notifications
  • Message list config options

🐞 Fixed

  • Keyboard not shown while bounce in progress
  • Image picker tap target
  • Gallery images (screenshots) resize when swiping

February 02, 2022

βœ… Added

  • Pinning of a message
  • Display users who reacted to a message
  • Message Search
  • Customization of channel list separators

🐞 Fixed

  • Bug with image attachments selection and display
  • Reactions issues on iPad

πŸ”„ Changed

  • Creation method of channel destination

January 18, 2022

βœ… Added

  • Read indicators
  • Typing indicators
  • Muting users
  • Channel config

πŸ”„ Changed

  • Leading composer view creation

January 04, 2022

βœ… Added

  • Image gallery
  • Editing messages
  • Mentions
  • Composer commands
  • Configuration of channel item swipe area

πŸ”„ Changed

  • Creation of channel items

December 21, 2021

βœ… Added

  • Inline replies to messages
  • Message threads
  • Bug fix for multi-step keyboards

πŸ”„ Changed

December 07, 2021

βœ… Added

  • Infrastructure improvements (GitHub actions, release scripts)
  • Unit tests

🐞 Fixed

  • Localization improvements

December 01, 2021

βœ… Added

This is the first version of the SwiftUI SDK for Stream Chat. It includes the following features:

  • channel list
  • message list
  • message composer
  • message reactions
  • customization of components
  • sample app