Common changes for all artifacts
⬆️ Improved
- Upgraded Kotlin version to 1.5.30
- Make our SDK compile-friendly with TargetSDK 31
- Upgraded Coil version to 1.4.0
⚠️ Changed
- 🚨 Breaking change:
ProgressCallback
is not invoked on main thread anymore. So make sure to handle it if you were previously using this callback to update the UI directly. - Attachment#uploadState is now updated in real-time during uploads.
❌ Removed
- Removed
ProgressTrackerFactory
andProgressTracker
in favour of new progress tracking implementation.
stream-chat-android
✅ Added
- Push Notification uses
MessagingStyle
on devices with API Version 23+ - Push Notification configuration has been simplified, check our docs to see how it works
NotificationHandler
interface allows you to implement your own Push Notification logic show/remove notifications. It is the new interface you need to use if you were usingChatNotificationHandler
previouslyNotificationHandlerFactory
help you to use our defaultNotificationHandler
implementations
⚠️ Changed
- Some properties of
NotificationConfig
has been deprecated, check our DEPRECATIONS section ChatNotificationhandler
class has been deprecated, you need to useNotificationHandler
now. Check our DEPRECATIONS section.
stream-chat-android-client
🐞 Fixed
- Fixed issues with Proguard stripping response classes incorrectly
⬆️ Improved
- Added KDocs for
ChatClient.Builder
methods. ChatClient
now defaults to using thehttps://chat.stream-io-api.com
base URL, using Stream's Edge API Infrastructure instead of connecting to a region-specific API. If you're not on a dedicated chat infrastructure, remove any region-specific base URL settings from theChatClient.Builder
to use Edge instead.
✅ Added
- 🚨 Breaking change: A new
Idle
state is added toAttachment.UploadState
. - Added a new callback function
onProgress(bytesUploaded: Long, totalLength: Long)
inProgressCallback
. - Added the possibility to add your own instance of OkHttpClient with
ChatClient.okHttpClient
.
⚠️ Changed
- 🚨 Breaking change:
Attachment.UploadState.InProgress
now is data class having two fields,bytesUploaded: Long
andtotalBytes: Long
instead of object. - Deprecated the
ChatClient.Builder#cdnUrl
method. To customize file uploads, set a customFileUploader
implementation instead. More info in the documentation: Using Your Own CDN.
stream-chat-android-offline
🐞 Fixed
- Fixed infinite loading of message if any of its attachments uploading was failed
✅ Added
ChannelEventsHandler
is added toQueryChannelsController
to handle updating channel list logic after receiving events. You can provide customChannelEventsHandler
throughChannelListViewModel
or usingQueryChannelsController
directly.
⚠️ Changed
QueryChannelsController::newChannelEventFilter
andQueryChannelsController#checkFilterOnChannelUpdatedEvent
are now deprecated. See the deprecation log for more details.
stream-chat-android-ui-common
🐞 Fixed
- Fixed PDF attachments previews
stream-chat-android-ui-components
🐞 Fixed
- Fixed bug related to scroll of messages.
- Updating attachments view holder only when attachments have changed. This fixes a problem with reloading gifs when reactions are added or removed.
- Fix bug using custom attributes into views inflated into our SDK Views
⬆️ Improved
- Now it is possible to set a custom
LinearLayoutManager
toMessageListView
, this can be used to change stack of messages or revert the layout. - Removed full screen loading view when loading more message items on the
SearchResultListView
.
✅ Added
- Added
MessageListView::getRecyclerView
method which exposes the innerRecyclerView
with message list items. - Added
MessageListView::setUserReactionClickListener
method to set a listener used when a reaction left by a user is clicked on the message options overlay. - Added attr
streamUiScrollButtonElevation
to set the elevation of scroll button otMessageListView
⚠️ Changed
ChatUI.uiMode
has been deprecated. If you want to force Dark/Light theme, you need to useAppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO|AppCompatDelegate.MODE_NIGHT_YES)
❌ Removed
android.permission.CAMERA
from our Manifest. This permission is not required anymore.
stream-chat-android-compose
🐞 Fixed
- Fixed a bug where attachments weren't properly stored when editing a message
⬆️ Improved
- Updated the Compose framework version (1.0.3)
- Updated the Accompanist libraries version (0.19.0)
- Improved overlays in all components, to match the same design and opacity
- Added smaller animations to the AttachmentPicker in the MessagesScreen
- General improvements in the Attachments API and the way we build different attachments
- Allowed for better long clicks on attachments
- Improved the experience of creating the MessagesViewModelFactory with default arguments
- Updated and cleaned up Channel screen design
- Improved logic for updating the
lastSeenMessage
for fewer calculations
✅ Added
- Added DateSeparator items to Messages to group up messages by their creation date
- Added an
overlayDark
color for date separators and similar UI components
⚠️ Changed
- Removed AttachmentPicker option when editing messages
- Removed Attachment previews when editing messages with attachments
- Improved the ease of use of the AttachmentState API by keeping it state & actions only
- Moved the
modifier
parameter outside of the AttachmentState to the AttachmentFactory - Updated Attachments to hold
Message
items instead ofMessageItem
s - Changed the type of the
onLastVisibleMessageChanged
parameter toMessage
for ease of use - Changed the parameter type of
itemContent
inMessageList
andMessages
toMessageListItem
- Renamed
onScrollToBottom
toonScrolledToBottom
inMessageList
andMessages
- Made the ChannelListHeader Slot APIs non-nullable so they're always provided, also made them an extension of the RowScope for ease of use