🚨 Old UI Module Deprecation
stream-chat-android
module will be deprecated by the end of December 2021. The module will continue working, but we won't be releasing new versions.
Consider migrating to stream-chat-android-ui-components
or stream-chat-android-compose
. Here you can find a set of useful resources for migration:
- UI Components Documentation
- Android Chat Messaging Tutorial
- Compose UI Components Documentation
- Compose Chat Messaging Tutorial
- Old Sample App Migration PR
November 11th, 2021 - 4.22.0
Common changes for all artifacts
⬆️ Improved
- Bumped the SDKs target API to 31
- Updated WorkManager to version 2.7.0, which fixes compatibility issues with SDK 31
✅ Added
- Added Indonesian 🇮🇩 translations.
- Added
onErrorSuspend
extension forResult
to allow executing suspending lambda function for handing error response.
stream-chat-android
✅ Added
- Added
ChannelListItemAdapter::getChannels()
for getting a list of channels
stream-chat-android-client
✅ Added
- Added
NotificationConfig::shouldShowNotificationOnPush
that allows enabling/disabling showing notification after receiving a push message
⚠️ Changed
NotificationConfig::pushNotificationsEnabled
is now disabled by default if you don't provide customNotificationConfig
- our SDK won't create aNotificationChannel
if push notifications are not configured
stream-chat-android-offline
🐞 Fixed
- Fixed inserting messages with empty
Message::cid
✅ Added
- Added new extension function
ChatCliet::requestMembers
to query members withoutChatDomain
. - Added new extension function
ChatCliet::searchUsersByName
.
⚠️ Changed
- 🚨 Breaking change:
RetryPolicy
inChatDomain
is now immutable and can only be set with Builder before creating an instance of it. - 🚨 Breaking change:
ChannelEventsHandler
is renamed toChatEventHandler
, it's function is renamed fromonChannelEvent
tohandleChatEvent
, EventHandlingResult is sealed class now. To get more details read our docs
stream-chat-android-ui-components
🐞 Fixed
- Fixed bug when showing messages with pending attachments that cause loading state to be not shown in some cases.
- Fixed clearing
MessageInputView
after dismissing message to edit - Fixed support for videos from other SDKs
- Fixed downloading attachments with some special characters in their names
⬆️ Improved
- Improved Korean 🇰🇷 translation related to the flagging.
- 🚨 Breaking change: Now the button for sending message in MessageInputView sizes itself accordingly with the drawable used, instead of having a predefined size (32dp)
- Improved KDocs for
MessageListFragment
.
✅ Added
- You can now use MessageListView.backgroundDrawable to have more flexibility to customize your message items background. Be aware that setting backgroundDrawable will override the background configurations of xml.
- Added
streamUiEditInputModeIcon
andstreamUiReplyInputModeIcon
attributes toMessageInputView
.
Use them to customize icon in theMessageInputView's
top left corner displayed when user edits or replies to the message. - Added
setMessageInputModeListener
,setSendMessageButtonEnabledDrawable
andsetSendMessageButtonDisabledDrawable
method toMessageInputView
.
They can be used together for changing send button icon based on current input mode. See docs for more details. - Added static methods
createIntent
andnewInstance
those doesn't have default parameters onMessageListActivity
andMessageListFragment
for supporting Java side.
stream-chat-android-compose
🐞 Fixed
- Fixed channel options that are displayed in the
ChannelInfo
component.
⬆️ Improved
- Improved the icon set and polished the UI for various Messages features
- Improved the set of customization options for the
DefaultChannelItem
- Updated documentation for Channels set of features
- Now it is possible to search for distinct channels by member names using
ChannelListViewModel
. - Improved the design of
ChannelInfo
bottom sheet dialog.
✅ Added
- Added a new parameter to the
AttachmentFactory
calledpreviewContent
that represents attachments within the MessageInput - Added the
leadingContent
,detailsContent
,trailingContent
anddivider
Slot APIs for theDefaultChannelItem
- Added
StreamDimens
option to theChatTheme
, to allow for dimension customization across the app. - Added localization support for the components related the channel list.
- Added the
emptySearchContent
parameter toChannelList
component that allows to customize the empty placeholder, when there are no channels matching the search query. - Added support for the muted channel indicator in the message list.
- Added
ChannelNameFormatter
option to theChatTheme
, to allow for channel name format customization across the app. - Added the
textFormatter
field toAttachmentFactory
, to allow for attachment text format customization. - Added
MessagePreviewFormatter
option to theChatTheme
, to allow for message preview text format customization across the app. - Added the
leadingContent
,headerContent
,footerContent
,trailingContent
andcontent
Slot APIs for theDefaultMessageItem
- Added
channelInfoUserItemWidth
,channelInfoUserItemHorizontalPadding
andchannelInfoUserItemAvatarSize
options toStreamDimens
, to make it possible to customize the dimensions inside theChannelInfo
component viaChatTheme
. - Added
ownMessagesBackground
,otherMessagesBackground
anddeletedMessagesBackgroundColor
options toStreamColors
, to make it possible to customize the message bubble color viaChatTheme
.
⚠️ Changed
- The
AttachmentFactory
now requires an additional parameter -previewContent
that's used to preview the attachment within the MessageInput, so please be aware of this! - Renamed
ChannelOption.icon
property toChannelOption.iconPainter
and changed the property type fromImageVector
toPainter
. - Changed the type of the
ChannelListViewModel.selectedChannel
field toMutableState<Channel?>
.