Skip to content

Releases: GetStream/stream-chat-android

v6.8.0

18 Dec 13:14
Compare
Choose a tag to compare

Common changes for all artifacts

⬆️ Improved

  • Internal "Resolve Dependency" process improvements. #5514

✅ Added

  • Add Channel.membership.pinnedAt property notifiying if/when a channel was pinned by the current user. #5513
  • Add Channel.membership.archiveAt property notifiying if/when a channel was archived by the current user. #5513
  • Add support for moderation V2. Add moderation field in Message model to support the new version of moderation. #5493

⚠️ Changed

  • 🚨 Breaking change: ViewModels related with "searching messages" feature provide a List<MessageResult> instead of a List<Message>. #5500

stream-chat-android-client

✅ Added

  • Add ChatClient.pinChannel and ChannelClient.unpinChannel methods to pin/unpin a channel. #5513
  • Add ChatClient.archiveChannel and ChannelClient.unarchiveChannel methods to archive/unarchive a channel. #5513
  • Add ChannelClient.pinChannel and ChannelClient.unpinChannel methods to pin/unpin a channel. #5513
  • Add ChannelClient.archiveChannel and ChannelClient.unarchiveChannel methods to archive/unarchive a channel. #5513
  • Add CreateChannelListener::onCreateChannelRequest(String, String, CreateChannelParams, User) for performing actions before launching a request for creating a channel. #5502
  • Add ChatClient::createChannel(String, String, CreateChannelParams) for creating a channel with custom data for its members. #5502
  • Add ChannelClient::createChannel(CreateChannelParams) for creating a channel with custom data for its members. #5502
  • Add ChatClient::addMembers(String, String, AddMembersParams) for adding members with custom data to a channel. #5502
  • Add ChannelClient::addMembers(AddMembersParams) for adding members with custom data to a channel. #5502

⚠️ Changed

  • Deprecate CreateChannelListener::onCreateChannelRequest(String, String, List<String>, Map<String, Any>, User) in favor of the new CreateChannelListener::onCreateChannelRequest(String, String, CreateChannelParams, User). #5502

stream-chat-android-state

⬆️ Improved

  • The ChannelState is updated with new members after querying member with ChatClient::queryMembers. #5517

stream-chat-android-ui-common

⬆️ Improved

  • Exposed expose audio recording params in DefaultStreamMediaRecorder to allow customization. #5520

stream-chat-android-ui-components

⬆️ Improved

  • Add support for partial media access in MediaAttachmentFragment and FileAttachmentFragment for Android 14+. #5524

✅ Added

  • Add ThreadListView component for showing the list of threads for the user. #5491
  • Hide messages with moderated pictures. #5525

stream-chat-android-compose

🐞 Fixed

  • Fix keyboard not closing when opening the attachments picker from MessagesScreen. #5506
  • The ChatTheme.downloadAttachmentUriGenerator and ChatTheme.downloadRequestInterceptor properties are forwarded within the MediaGalleryPreviewActivity to be used when downloading attachments. #5522

⬆️ Improved

  • Add support for partial media access in AttachmentsPickerImagesTabFactory and AttachmentsPickerFilesTabFactory for Android 14+. #5518

✅ Added

  • The StreamAttachmentFactories.defaultFactories() method now accepts a skipTypes parameter to skip specific factory types. #5494
  • Add ChatTheme.keyboardBehaviour property to customize different keyboard behaviours. #5506
  • Add MessageOptionItemVisibility.isBlockUserVisible property to show/hide the block user option. #5512
  • Add ChatTheme.channelOptionsTheme property to customize the channel options. #5513
  • Add SearchResultItemState.channel property containing the cached info of the channel where the message was sent. #5500
  • Hide messages with moderated pictures. #5525
  • Add MessageTheme.mentionColor property for customizing the mentions color in messages. #5528

⚠️ Changed

  • 🚨 Breaking change: The SearchResultNameFormatter.formatMessageTitle method receives a SearchResultItemState instead of a Message. #5500

v6.7.0

04 Dec 18:00
Compare
Choose a tag to compare

stream-chat-android-client

✅ Added

  • Add ChatClient::partialUpdateMember for updating a Member in the scope of a Channel. #5497
  • Add ChannelClient::partialUpdateMember for updating a Member in the scope of a Channel. #5497

stream-chat-android-ui-common

🐞 Fixed

  • Fix wrong timestamp used for the initial loading of pinned messages in PinnedMessageListController. #5483
  • Add DownloadAttachmentUriGenerator to generate download URIs for attachments. #5490
  • Add DownloadRequestInterceptor to intercept download requests. #5490

⬆️ Improved

  • Improve performance of opening a thread or message in a thread via MessageListController. #5489

stream-chat-android-ui-components

✅ Added

  • Add ChatUI.downloadAttachmentUriGenerator property to generate download URIs for attachments. #5490
  • Add ChatUI.downloadRequestInterceptor property to intercept download requests. #5490

stream-chat-android-compose

✅ Added

  • Add ChatTheme.downloadAttachmentUriGenerator property to generate download URIs for attachments. #5490
  • Add ChatTheme.downloadRequestInterceptor property to intercept download requests. #5490
  • Add MessageContentFactory class for customizing message contents. #5498

v6.6.0

21 Nov 17:11
Compare
Choose a tag to compare

Common changes for all artifacts

⬆️ Improved

  • Update dependency versions:
    • Android JUnit5 Gradle Plugin 1.11.2.0
    • AndroidX Activity 1.9.3
    • AndroidX Annotations 1.9.1
    • AndroidX AppCompat 1.7.0
    • AndroidX Fragment 1.8.5
    • AndroidX Ktx 1.13.1
    • AndroidX Lifecycle 2.8.7
    • AndroidX Navigation 2.8.4
    • AndroidX RecyclerView 1.3.2
    • AndroidX StartUp 1.2.0
    • Androidx ViewPager2 1.1.0
    • Coil 2.7.0
    • Compose 1.7.5
    • Compose Accompanist 0.36.0
    • Compose ConstraintLayout 1.1.0
    • Compose Material 1.3.1
    • Compose Stable Marker 1.0.5
    • ConstraintLayout 2.2.0
    • Coroutines 1.9.0
    • Detekt plugin 1.23.7
    • Dokka 1.9.20
    • Firebase Analytics 22.1.2
    • Firebase Crashlytics 19.2.1
    • Firebase Crashlytics plugin 3.0.2
    • Firebase Messaging 24.1.0
    • Flipper 0.272.0
    • Flipper SO Loader 0.12.1
    • Google Services 4.4.2
    • ITU Date 1.10.2
    • Json 20240303
    • JUnit5 5.11.3
    • KSP 2.0.21-1.0.28
    • Material Components 1.12.0
    • Mockito 5.14.2
    • Mockito Kotlin 5.4.0
    • Moshi 1.15.1
    • OkHttp 4.12.0
    • PermissionX 1.8.1
    • Photoview 1.0.2
    • Retrofit 2.11.0
    • Reorderable 2.4.0
    • Room 2.6.1
    • Stream Push 1.1.9
    • ThreeTenBP 1.7.0
    • Turbine 1.2.0
    • Work 2.9.1

stream-chat-android-offline

✅ Added

  • Add support for Threads. #5481

stream-chat-android-ui-common

✅ Added

  • Add MessageListController.flagUser() and MessageListController.unflagUser() methods for flagging/un-flagging users. #5478
  • Add MessageListController.ErrorEvents - FlagUserError and UnflagUserError representing errors which occurred during the execution of the corresponding operations. #5478

⚠️ Changed

  • 🚨 Breaking change: The MessagePositionHandler.handleMessagePosition function now includes a new parameter, isBeforeDateSeparator, to handle message positioning more precisely within a group of messages. #5466

stream-chat-android-ui-components

✅ Added

  • Add MessageListViewModel.flagUser() and MessageListViewModel.unflagUser() methods for flagging/un-flagging users. #5478
  • Add edge-to-edge support for apps targeting Android 15. #5469

stream-chat-android-compose

✅ Added

  • Add MessageListViewModel.flagUser() and MessageListViewModel.unflagUser() methods for flagging/un-flagging users. #5478
  • Add edge-to-edge support for apps targeting Android 15. #5469
  • Add ThreadList component for showing the list of threads for the user. #5455

⚠️ Changed

  • 🚨 Breaking change: Replace usage of RippleTheme with StreamRippleConfiguration for customizing ripples via ChatTheme. #5475
  • Expanded MessageTheme to allow customizing the message components. #5466

v6.5.3

06 Nov 16:49
Compare
Choose a tag to compare

stream-chat-android-client

✅ Added

  • Add ChatClient::markThreadUnread to mark a given thread as unread. #5457
  • Add ChannelClient::markThreadUnread to mark a given thread as unread. #5457

stream-chat-android-ui-components

🐞 Fixed

  • Fix crash in CameraAttachmentFragment related to permissions checks. #5465
  • Fix crash in FileAttachmentFragment related to permissions checks. #5465
  • Fix crash in MediaAttachmentFragment related to permissions checks. #5465
  • Fix crash in AttachmentsPickerSystemFragment related to permissions checks. #5465

v6.5.2

23 Oct 14:58
Compare
Choose a tag to compare

Common changes for all artifacts

⚠️ Changed

  • Deprecate NotInFilterObject because it is not supported backend-side anymore. #5393
  • Deprecate AttachmentsPickerTabFactories.defaultFactoriesWithoutStoragePermissions() in favor of a more configurable method. #5430
  • Deprecate AttachmentsPickerSystemTabFactory(otherFactories) in favor of a more configurable constructor. #5430

❌ Removed

  • Remove NotInFilterObject because it is not supported backend-side anymore. #5394

stream-chat-android-client

🐞 Fixed

  • Sanitize User Agen Header to avoid issues with ilegal characters on the Http Headers. #5440

⬆️ Improved

  • Avoid multiple ChatClient::connectUser invocations by sharing the Call. #5439

✅ Added

  • Add ChatClient::markThreadRead to mark a given thread as read. #5447
  • Add ChannelClient::markThreadRead to mark a given thread as read. #5447

stream-chat-android-state

✅ Added

  • Add GlobalState::unreadThreadsCount property to observe the number of unread threads. #5452

stream-chat-android-ui-common

✅ Added

  • Added ImageAssetTransformer to transform image assets before rendering them on the UI. #5438

stream-chat-android-ui-components

🐞 Fixed

  • Fix max allowed votes base on available options. #5431
  • Fix CAMERA permission request when using the capture photo/video attachment picker from AttachmentsPickerSystemTabFactory. #5430
  • Fixed MessageListView scroll to the bottom behaviour when a new message is added. #5427

✅ Added

  • Added ChatUI.imageAssetTransformer to transform image assets before rendering them on the UI. #5438

stream-chat-android-compose

🐞 Fixed

  • Fix CAMERA permission request when using the capture photo/video attachment picker from AttachmentsPickerSystemTabFactory. #5430
  • Fixed MessageList scroll to the bottom behaviour when a new message is added. #5427

✅ Added

  • Added ChannelListViewModel.refresh method to refresh the channel list. #5425
  • Add PinnedMessageList component for showing the list of pinned messages in a channel. #5420
  • Add formatMessageTitle method to MessagePreviewFormatter, to allow message preview title formatting customization. #5420
  • Add AttachmentsPickerTabFactories.defaultFactoriesWithoutStoragePermissions to customize which attachment pickers are allowed. #5430
  • Add AttachmentsPickerSystemTabFactory(filesAllowed, mediaAllowed, captureImageAllowed, captureVideoAllowed, pollAllowed) to to customize which attachment pickers are allowed. #5430
  • Added ChatTheme.imageAssetTransformer to transform image assets before rendering them on the UI. #5438
  • Added option to suggest new options on a poll. #5424
  • Added UI for Answers. #5432

⚠️ Changed

  • Exposed DefaultMessageComposerRecordingContent and DefaultAudioRecordButton components. #5433

v6.5.1

26 Sep 16:29
Compare
Choose a tag to compare

Common changes for all artifacts

⚠️ Changed

  • Deprecate NotInFilterObject because it is not supported backend-side anymore. #5393

stream-chat-android-client

⬆️ Improved

  • Attachment.uploadId is only used locally and removed whenever the attachments are uploaded. #5395

✅ Added

Added notificationTextFormatter lambda parameter to NotificationHandlerFactory::createNotificationHandler which is being used to formats the text of the notification. #5409
Added actionsProvider lambda parameter to NotificationHandlerFactory::createNotificationHandler which is being used to provide actions for the notification. #5409

  • Added FileTransformer to allow transforming files before uploading. #5416

stream-chat-android-ui-common

🐞 Fixed

  • UnreadLabel is not added on the case all unread messages are deleted. #5403

stream-chat-android-ui-components

✅ Added

  • Split poll options on the poll attachment to show a fit nubmer of options and a button to open new view with all options.#5406
  • Add view to see poll results. #5405

stream-chat-android-compose

🐞 Fixed

  • Fix condition to show async-voice attachments on MessageList. #5395

✅ Added

  • Add a default theme for MediaPreviewActivity and MediaGalleryPreviewActivity. #5391
  • Added typing indicator on ChannelList. #5399
  • Added support for Audio Recording feature. #5404
  • Added ChatTheme#imageHeadersProvider to allow adding custom headers to image requests. #5414

v6.5.0

30 Aug 20:11
Compare
Choose a tag to compare

stream-chat-android-offline

✅ Added

  • Store poll info on local data base. #5283

stream-chat-android-state

🐞 Fixed

  • Fixed ChannelState.watchers not being updated when a watcher gets deleted. #5378

⬆️ Improved

  • Keep members updated on QueryChannelsState. 5382

stream-chat-android-ui-common

🐞 Fixed

  • Fixed MessageListController.channel.members not being updated when a member is banned. #5368

⬆️ Improved

  • Hide "Unread Messages" button when there are no messages on the messages list. #5376

stream-chat-android-ui-components

🐞 Fixed

  • Message list is cleared when the channel remove all its messages. #5360
  • Ensure channels list doesn't show deleted messages on the last message preview. #5367
  • Fixed Message.messageTextUpdatedAt fluctuations within FootnoteDecorator when editing a message. #5374

⬆️ Improved

  • MessageOptionsDialogFragment now uses MessageListItemViewHolderFactory to get item view type. #5369
  • Default MentionsViewHolder uses user.id if user.name is empty. #5384

✅ Added

  • Create a new UI for the poll message. #5285
  • Create a new UI to create a poll message. #5361
  • Added system attachment picker to select media without extra permissions. #5380

stream-chat-android-compose

🐞 Fixed

  • Message list is cleared when the channel remove all its messages. #5360
  • Increase max allowed votes base on available options. #5363
  • Poll Attachment show description instead of question twice. #5364
  • Show proper votes count in anonymous polls. #5366
  • Fixed DefaultQuotedMessageTextFormatter not using the correct text style. #5373
  • Fixed Message.messageTextUpdatedAt fluctuations within MessageFooter when editing a message. #5374
  • Expose topBarContent and bottomBarContent in MessageScreen. #5377

⬆️ Improved

  • DefaultMentionSuggestionItemCenterContent component uses user.id if user.name is empty. #5384
  • Added showFileSize parameter to StreamAttachmentFactories.defaultFactories to control file size UI visibility. #5383
  • Made MessagesScreen edge-to-edge friendly. #5386

✅ Added

  • Add PollDialogs component used to show poll dialogs. #5370
  • Add MessageDialogs component used to prompt the user with message flagging and deletion actions. #5370
  • Add MessageModerationDialog component used for message that needs to be moderated. #5370
  • Add AttachmentsPickerMenu component used to show the attachment picker menu. #5370
  • Add MessageMenus component used to prompt the user with message actions. #5370
  • Added system attachment picker to select media without extra permissions. #5380

v6.4.4

09 Aug 11:53
Compare
Choose a tag to compare

stream-chat-android-core

✅ Added

  • Added optional banExpires field to Member entity. #5340

stream-chat-android-state

🐞 Fixed

  • Fixed expired pinned messages being exposed in the pinned message list. #5343

stream-chat-android-ui-components

🐞 Fixed

  • Fixed crash in MessageListView when posting a message to an empty channel. #5332

stream-chat-android-compose

🐞 Fixed

  • Fixed Edited label not being displayed right after editing a message. #5342

✅ Added

  • Added onMessageLinkClick to MessagesScreen to handle message link clicks. #5346
  • Added new "attachment option" to create polls in the message composer. #5305
  • Added new attachment type for polls in the message list. #5308

v6.4.3

23 Jul 20:30
Compare
Choose a tag to compare

stream-chat-android-client

🐞 Fixed

  • Fixed pinned message expire date validation. #5329

⚠️ Changed

  • Attachment class doesn't use url property anymore. Use assetUrl instead. #5325

❌ Removed

  • Removed url property of Attachment class. Use assetUrl instead. #5325

stream-chat-android-state

🐞 Fixed

  • Fixed channel cache not being updated on message unpin operation. #5329

stream-chat-android-compose

✅ Added

  • Exposed user avatar click listener in MessagesScreen.kt
  • Added ability to create multiple instance of ChannelListViewModel with differing parameters

v6.4.2

17 Jul 22:37
Compare
Choose a tag to compare

stream-chat-android-state

🐞 Fixed

  • Fixed channel cache not being updated when a message is soft deleted. #5321
  • Expired/deleted pinned messages are filtered out. #5321
  • Clear channels' cache on channel.hidden event. #5324

stream-chat-android-ui-common

✅ Added

  • Added TimeProvider to provide the current time. #5321

stream-chat-android-ui-components

⬆️ Improved

  • Sent messages from the MessageComposer are marked as read. #5322

stream-chat-android-compose

🐞 Fixed

  • Fixed quoted message styling. #5316
  • Fixed checkbox visibility in MessageComposer's footer when dark theme is used. #5318

⬆️ Improved

  • Sent messages from the MessageComposer are marked as read. #5322

✅ Added

  • Added ChatTheme.timeProvider to provide the current time. #5321