The format is based on Keep a Changelog.
December 18, 2024
- 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
andChatChannelListViewModel.performMessageSearch
- Make
ChatChannelListViewModel.channelListSearchController
andChatChannelListViewModel.messageSearchController
public
- Allow overriding
- Fix message thread reply footnote view not shown if parent message not in cache #681
- Improve message search performance #680
- Update
VoiceRecordingContainerView
background colors and layout by moving the message text outside of the recording cell #689
December 03, 2024
- 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
- 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
- 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
- Add support for Channel Search in the Channel List #628
- 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
- New Thread List UI Component #621
- Handles marking a thread read in
ChatChannelViewModel
#621 - Adds
ViewFactory.makeChannelListItemBackground
#621
- Fix Channel List loading view shimmering effect not working #621
- Fix Channel List not preselecting the Channel on iPad #621
- Channel List Item has now a background color when it is selected on iPad #621
October 03, 2024
- Improves Poll voting UX by making it possible to tap on the whole option as well #612
- 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
- Configuration for padding for quoted message views #598
- Improved subtitle info in pinned messages view #594
- The
image(for channel: ChatChannel)
inChannelHeaderLoader
is now open #595 - FlagMessage Action is now only shown if the user has a permission to perform the action #599
- 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
- Fix markdown links with query parameters #581
- Fix updating of mentioned users when sending a message #582
July 31, 2024
- Optimise channel list view updates #561
- Media and files attachments not showing in channel info view #554
- Bottom reactions configuration not always updating reactions #557
- Channel list views do not use explicit id anymore #561
- Deprecate
ChannelAvatarView
initializerinit(avatar:showOnlineIndicator:size:)
in favor ofinit(channel:showOnlineIndicator:size:)
#561
July 19, 2024
- Update of search results when slowly typing #550
July 10, 2024
- Added message actions for user blocking #532
- 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
- Thread replies shown in channel indicator #518
- 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
- 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
- Add support for creating and rendering polls #495
- Use max file size for validating attachments defined in Stream's Dashboard #490
May 21, 2024
- Updated StreamChat dependency
- Creating merged channel avatars logged a console warning when the source image uses extended color range #484
May 14, 2024
- Updated StreamChat dependency
May 06, 2024
- Updated StreamChat dependency
April 30, 2024
- Highlighting and tapping on user mentions
- Customization of the channel loading view
- Public init of InjectedChannelInfo
April 09, 2024
- Added markdown support (enabled by default)
LinkAttachmentView
andLinkDetectionTextView
available for public use
March 26, 2024
- Role value in the user display info
- Reactions picker for large messages sometimes goes in the safe area
- Loading of pinned messages in the channel info screen
March 14, 2024
- Message text color when using link detection
March 12, 2024
- Link detection in the text views
- Indicator when a message was edited
February 28, 2024
- Config the audioRecorder that is used when sending async voice messages
- Author name display now depends on number of participants, not channel type
- Voice recording messages now use the standard message modifier
February 09, 2024
- Factory method for customizing the search results view
- Updated StreamChat dependency
January 29, 2024
- Cleanup of audio session only when voice recording is enabled
January 09, 2024
- Config for highlighted composer border color
- Config for enforcing unique reactions
- Improved loading of gallery images
December 21, 2023
- Recording of async voice messages
- Rendering and playing async voice messages
December 13, 2023
- Mark message as unread
- Jump to first unread message
- Factory method to swap jump to unread button
December 01, 2023
- 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
- Some links not being rendered correctly
November 20, 2023
- Fix skip slow mode capability not handled
November 15, 2023
- Add factory method for custom attachments in quoted messages
- Fix marked read while the app is in the background
- Fix recently saved images to camera roll don't show up
November 03, 2023
- Config for bottom placement of reactions
- Video playing after being dismissed on iOS 17.1
October 26, 2023
- 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.
- 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
- Made some
ChannelList
andMessageListView
parameters optional
October 06, 2023
- Fixed visibility for deleted messages indicator for current user
- Add throttling to mark as read
September 29, 2023
- Performance improvements in the low-level client
September 27, 2023
- Config for changing supported media types in the composer
- Play audio in videos when in silent mode
September 18, 2023
- Updated
StreamChat
dependency
August 31, 2023
- Add XCPrivacy manifest #352
- Reactions popup disabled if channel is frozen
- Online indicator updates in the header view
- Reactions overlay interface orientation updates
August 10, 2023
- Updated
StreamChat
dependency
August 09, 2023
- Video and giphy attachments now use
makeMessageViewModifier
- Updated scalling of avatar images
- Turn off channel updates when message thread shown
AttachmentTextView
respects configured body font- Attachments persisted after message editing
- Option to specify bottom offset in
ReactionsOverlayView
July 06, 2023
- 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
- Updated
StreamChat
dependency
May 26, 2023
- 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 a factory method for customizing the composer text input view
- Exposed mentionedUsers in the MessageComposerViewModel
April 25, 2023
- 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 more parameters to the
sendMessage
method in theMessageComposerViewModel
- Exposed components from the
ChatChannelInfoView
March 17, 2023
- Exposed
SearchResultsView
as a public component isSearching
property in theChatChannelListViewModel
is now public- LazyImage uses image CDN request
- Fallback avatar in
MessageAvatarView
- 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
- Updated
StreamChat
dependency
February 17, 2023
- 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
- Message List layout for iPad in Slide Over mode
January 16, 2023
- Config to change the scrolling anchor (top/bottom) on messages
- Pass extra data in attachments
- Custom message grouping by overriding
groupMessages
inChatChannelViewModel
AddedAsset
'sextraData
property is now of type[String: RawJSON]
- New icon for
pendingSend
local message state
December 16, 2022
- Support for channel own capabilities in the UI
- Added possibility to override the message id creation with
MessageIdBuilder
- 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
- Support for specifying whether ChatChannelListView is embedded in a NavigationView with
embedInNavigationView
- Public init for
DefaultChannelListHeaderModifier
- Updated Nuke dependency
- Scroll to bottom when return key is pressed in the composer input view
- Typing indicator not shown when empty message list
October 27, 2022
- Support for custom message receipt states
- Scrolling of instant commands
- Config to turn off tab bar visibility handling
- Updated Nuke dependency to 11.3.0 for SPM
- Removed NukeUI dependency for SPM (now part of Nuke)
September 27, 2022
- 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
- iOS 16 keyboard insets issue on pushed screen
- Improved animation for date indicators in message list
September 02, 2022
- Configuring avatars visibility in groups
- Method to swap the
MessageRepliesView
- Public init for
ChatChannelListItem
- Message list creation requires
shouldShowTypingIndicator
as a parameter
- 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
- Exposed a way to customise text message before sending and reading
- 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
- Docs restructuring
- Exposed some view components as public
July 21, 2022
- 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 a bug with canceled backswipe
- Fixed a bug with channel pop on name editing
- Docs restructuring
- Exposed some view components as public
July 05, 2022
- Automated testing infrastructure
- Config for disabling reaction animations
- Error indicator when max attachment size exceeded
- Factory method to swap the jumbo emoji view
- Made few view components public
June 22, 2022
- Possibility to add a custom view above the oldest message in a group
- Swipe gesture to dismiss image gallery
- Memory cache trimming on chat dismiss
- Crash when sending an invalid command
June 10, 2022
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Improved TabView appeareance animation
- Channel list performance improvements
- Jumbo emoji reply not shown correctly
- Send message animation improvements
- Method for creating custom quoted message view
March 17, 2022
- Redacted loading view
- Max file size checks
- Inject custom footer view in Channel List
- Config for disabling message overlay
- Prevent jumps when new messages are received
- Orientation changes layout
- Method for creating custom avatar
March 02, 2022
- Support for custom backgrounds (image, gradient)
- Animation when sending message
- Possibility to inject view model from the outside
- Performance improvements
- Autocomplete keyboard bug
- Swipe gesture resizing message view
- Method for creating custom avatar
February 16, 2022
- Slow mode
- Copying of a message
- Push notifications
- Message list config options
- Keyboard not shown while bounce in progress
- Image picker tap target
- Gallery images (screenshots) resize when swiping
February 02, 2022
- Pinning of a message
- Display users who reacted to a message
- Message Search
- Customization of channel list separators
- Bug with image attachments selection and display
- Reactions issues on iPad
- Creation method of channel destination
January 18, 2022
- Read indicators
- Typing indicators
- Muting users
- Channel config
- Leading composer view creation
January 04, 2022
- Image gallery
- Editing messages
- Mentions
- Composer commands
- Configuration of channel item swipe area
- Creation of channel items
December 21, 2021
- Inline replies to messages
- Message threads
- Bug fix for multi-step keyboards
December 07, 2021
- Infrastructure improvements (GitHub actions, release scripts)
- Unit tests
- Localization improvements
December 01, 2021
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