Skip to content

Releases: GetStream/stream-chat-android

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

v6.4.1

05 Jul 16:13
Compare
Choose a tag to compare

stream-chat-android-client

✅ Added

  • Added ChatClient.getNewerReplies to fetch newer replies for a message in a thread. #5256
  • Added ChatClient.getThreads to fetch threads for the current users. #5264
  • Added ChatClient.sendPoll, ChatClient.castVotePoll, ChatClient.closePoll and ChatClient.removePollVote methods to interact with Polls. #5273
  • Added new ChatEvents related with Polls. #5273
  • Added pinned messages parsing. #5306

stream-chat-android-offline

🐞 Fixed

  • Fixed messages from hidden channels being shown up. #5281

stream-chat-android-state

🐞 Fixed

  • Fixed member.role being missing when updating other members' roles in a channel. #5290

✅ Added

  • Added ChannelState.pinnedMessage to obtain the pinned message in a channel. #5306

⚠️ Changed

  • Delete a pinned message from the pinned list if it was deleted. #5315

stream-chat-android-ui-common

🐞 Fixed

  • Fixed the message list to scroll to the bottom when a message reaction is added. #5280

✅ Added

  • Added pinned messages support to MessageListController. #5306

stream-chat-android-ui-components

🐞 Fixed

  • Fixed crash on AttachmentGalleryActivity. #5284
  • Fixed quoted message styling to be consistent with isMine property. #5287
    • 🚨If you are overriding TransformStyle.messageReplyStyleTransformer, please ensure you validate your UI after this change.
  • Fixed video being displayed in voice recording attachment. #5296

⬆️ Improved

  • Extended search result list styling. #5286

✅ Added

  • Added additional message option for user blocking. #5289

stream-chat-android-compose

🐞 Fixed

  • Fixed deleted pinned messages being highlighted as pinned. #5315
  • Fixed the url used when click on the link. #5314

⬆️ Improved

  • Enabled Strong Skipping Mode for Compose compiler and improved Compose performance. #5303

✅ Added

  • Added MessageOptionItemVisibility class that controls menu item visibility in the selected message options menu. #5226
  • Added new ChatTheme.messageOptionItemVisibility property of type MessageOptionItemVisibility. #5226
  • Added docs sections that describe these changes. #5226
  • Added StreamImage Composable functions to load internal images, such as profile images, attachments, and other media files. #5299
  • Added AttachmentPickerTheme to customize the AttachmentsPicker component. #5297

⚠️ Changed

  • Used the new ChatTheme.messageOptionItemVisibility property in defaultMessageOptionsState() in combination with own capabilities to control menu option item visibility. #5226
  • Now, Compose components use StreamImage, which delegates Landscapist-Coil for loading internal images. #5299
  • Migrated to Kotlin 2.0 and Compose compiler plugin #5303