Common changes for all artifacts
⬆️ Improved
- Now the SDK can be used if R8 full mode. New rules were added to the library to support the aggressive optimizations 3663.
⚠️ Changed
- Migrated to Coil version 2.1.0 #3538
stream-chat-android-client
⬆️ Improved
- Avoid multiple calls to
/app
endpoint. 3686
✅ Added
-. ChatClient::connectUser
as a new optional argument to configure a timeout to be waiting until the connection is established, in another case an error will be returned #3605
-. ChatClient::connectAnonymousUser
as a new optional argument to configure a timeout to be waiting until the connection is established, in another case an error will be returned #3605
-. ChatClient::connectGuestUser
as a new optional argument to configure a timeout to be waiting until the connection is established, in another case an error will be returned #3605
-. ChatClient::connectUser
doesn't return an error in the case there is a previous connection with the same user. #3653
- Added
ChatClient::countUnreadMentions
extension function which counts messages in which the user is mentioned.
⚠️ Changed
- 🚨 Changed
ChatClient::connectUser
- the method shouldn't be called when the user is already set and will automatically disconnect if this happens.
stream-chat-android-offline
🐞 Fixed
- Fix the stale Channel data being stored into database. 3650
- Fix race condition problem that allowed multiple threads to increment unread count, which could cause a mistake in the number of unread messages. 3656
- A new optional argument
useSequentialEventHandler
has been added toConfig
class of offline plugin to enable a sequential event handling mechanism. 3659 - Fix channel mutes being dropped on user updates 3728
- Bug fix when deleting reactions without internet connection. #3753
⬆️ Improved
- Added logs of all properties available in a class and which one was searched for then QuerySort fails to find a field. 3597
✅ Added
- Added
EventHandlerSequential
to support a sequential event processing. 3604 - Logging when unread count is updated. 3642
⚠️ Changed
- Added interface
QuerySorter
and new implementation of query sortQuerySortByField
so users can choose between implementations that use reflection or not. 3624
stream-chat-android-ui-components
🐞 Fixed
- Fixed potential NPE when disconnecting the user. #3612
- The channel will now be marked as read once the latest message inside
MessagesListView
is reached. Previously scrolling down to it would not trigger this action. #3620 - Now the options button is not displayed on the gallery screen if there are no options available. #3696
- Fixed
app:streamUiMessageInputHintText
not getting applied properly inMessageInputView
. #3749 - Fixed backwards compatibility of the
ChannelListView
attributestreamUiIndicatorPendingSyncIcon
and theMessageListView
attributestreamUiIconIndicatorPendingSync
. These are now backwards compatible down to API 21 #3766
⬆️ Improved
- Improved displaying the upload progress of files being uploaded. Now the upload progress text is less likely to get ellipsized. #3618
✅ Added
- Added way to customize quoted attachments through
QuotedAttachmentFactory
and updated custom attachments guide for the new feature. #3592 - Added
ChannelListViewModelFactory.Builder
for Java users. #3617 - Added
MessageListViewModelFactory.Builder
for Java users. #3617 - Added
PinnedMessageListViewModelFactory.Builder
for Java users. #3617 - Added
TypingIndicatorViewModelFactory.Builder
for Java users. #3617 - Added new attributes to
MessageListView
that are designed to customize the scroll to bottom button. They are listed in the linked PR. 3634 - Added a way to change runtime filters for Channels in
ChannelListViewModel
, usingsetFilters(FilterObject)
. #3687 - Added support for bottom infinite scrolling when searching for messages or navigating to messages in a non-linear way inside MessageListView. 3654
- A new interface
TypingUpdatesBuffer
and its implementationDefaultTypingUpdatesBuffer
used for buffering typing updates in order to save API calls. 3633 - A new method
MessageInputView.setTypingUpdatesBuffer(TypingUpdatesBuffer)
used for setting the typing updates buffer. 3633 - Added possibility to customize gallery options style via
TransformStyle.attachmentGalleryOptionsStyleTransformer
. 3696
⚠️ Changed
- Dimens
stream_ui_spacing_small
no longer has an effect on the internal margins ofScrollButtonView
, instead use theMessageListView
attributestreamUIScrollButtonInternalMargin
to set internal margins. 3634 - The default elevation of the unread count badge inside
ScrollButtonView
was changed from10dp
to3dp
. 3634 - Deprecated
MessageInputView.TypingListener
in favor ofTypingUpdatesBuffer
andMessageInputView.setTypingListener(TypingListener)
in favor ofMessageInputView.setTypingUpdatesBuffer(TypingUpdatesBuffer)
. 3633 - Added
WRITE_EXTERNAL_STORAGE
permission check on the default implementation of the download handler when usingMessageListViewModel.bindView
. #3719 - Removed the default filter from
ChannelListFragment
so that it can rely on the default filter fromChannelListViewModel
. 3762
stream-chat-android-compose
🐞 Fixed
- Fixed the display of
ChannelAvatar
for a channel with two members and neither of them is the current user. 3598
⬆️ Improved
- Improved padding customization options of
InputField
. #3596
✅ Added
- Added
Modifier
as an argument toFileUploadItem
andFileAttachmentItem
. #3603 - Added option to customise
InitialsAvatar
offset passing it custom offset and throughgroupAvatarInitialsXOffset
andgroupAvatarInitialsYOffset
dimens. #3609 - A new interface
TypingUpdatesBuffer
and its implementationDefaultTypingUpdatesBuffer
used for buffering typing updates in order to save API calls. 3633 - A new method
MessageComposerViewModel.setTypingUpdatesBuffer(TypingUpdatesBuffer)
used for setting the typing updates buffer. 3633 - Added
PermissionHandler
andDownloadPermissionHandler
to automatically request storage permission if needed and download the attachments. #3676
⚠️ Changed
- Since Coil 2.0, the
LocalImageLoader
has been deprecated. So now we support our own image loader,StreamImageLoader
for providing composition local. #3538 - Changed how the emoji only message size and how they are laid out depending on emoji count. #3665
❌ Removed
- Removed the default gray background from
LoadingIndicator
. #3599
stream-chat-android-pushprovider-xiaomi
🐞 Fixed
- Fix crash when used on Android API 31+ #3678
✅ Added
- Upgrade MiPush SDK to version 5.0.6 #3678