Releases: cometchat/cometchat-uikit-android
Releases · cometchat/cometchat-uikit-android
V5.2.12
New
- None
Enhancements
- Enabled rich text formatting by default in the Compact Message Composer, including the formatting toolbar, text selection options, and markdown syntax support for a more expressive messaging experience.
- Standardized the audio recording experience by using the inline audio recorder as the default and only option, simplifying usage and reducing configuration.
Fixes
- None
Deprecations
- Renamed the builder configuration key from
singleLineMessageComposertocompactMessageComposerto align with updated component naming. Update your implementation to use the new key.
Removals
- Removed
setUseInlineAudioRecorder(boolean)andisUseInlineAudioRecorder()fromCometChatCompactMessageComposeras inline recording is now always enabled. - Removed the bottom sheet audio recorder option in favor of a unified inline recording experience.
v6.0.0-beta.1
New
- Introduced full Jetpack Compose support, enabling developers to build chat experiences with a modern, fully declarative UI using Material 3.
- Added AI Smart Replies to help users respond faster with contextual reply suggestions.
- Added AI Conversation Summary to help users quickly catch up on chat activity with auto-generated summaries.
- Added AI Conversation Starter to help users begin conversations more easily with suggested openers.
- Introduced a Compose-native theming system with support for light and dark mode, along with customization for colors, typography, and shapes.
Enhancements
- Enhanced the UI Kit architecture with a modular structure, improving scalability, maintainability, and flexibility across implementations.
- Updated the SDK to Kotlin 2.2.0 for improved compatibility and performance.
- Replaced Glide with Coil in the Compose module to improve image-loading performance.
- Improved state management and UI rendering by using the shared
chatuikit-coremodule across both Compose and XML-based UI kits. - Refined theme management by replacing XML-based style attributes with Kotlin data classes for more flexible customization.
Fixes
- Fixed UI structure limitations by reorganizing the codebase into modular components for more reliable extension and maintenance.
- Improved rendering consistency and performance across both Compose and XML-based UI kits.
- Resolved compatibility issues by updating platform requirements for newer Android versions.
Removals
- Removed the legacy
chatuikitmodule and replaced it with the new modular structure:chatuikit-core,chatuikit-compose, andchatuikit-kotlin. - Removed Glide-based image loading support from the Compose module in favor of Coil.
Breaking Changes
- Raised the minimum supported Android SDK version from 24 to 28.
- Updated Java compatibility from Java 8 to Java 11.
- Upgraded the Chat SDK dependency from version 4.x to 5.0.0.
- Replaced Glide with Coil for image loading in Compose-based implementations.
- Replaced the single
chatuikitmodule with a modular dependency structure. - Redesigned theming and styling APIs for Compose, replacing XML style attributes with Kotlin data classes.
Migration Notes
- Replace the
chatuikitdependency withchatuikit-coreand your preferred UI module:chatuikit-composeorchatuikit-kotlin. - Update SDK initialization to use the new
CometChatUIKitclass from the core module. - Wrap Compose-based UI with
CometChatTheme { }and migrate to the new composable components. - Use
chatuikit-kotlinfor XML-based integrations with shared core functionality. - Update your app configuration to support a minimum SDK version of 28.
- Review and update existing custom styles to align with the new theming APIs.
V5.2.11
New
- Introduced CometChatCompactMessageComposer, a streamlined single-line message composer with a rich text formatting toolbar, inline voice recorder, text selection formatting menu, and configurable Enter key behavior for a faster and more customizable messaging experience.
- Added an inline voice recorder to the message composer, allowing users to record and send voice notes without opening a separate bottom sheet.
Enhancements
- Enhanced audio message bubbles with a dynamic amplitude waveform that reflects the actual recording, providing clearer visual feedback during playback.
- Added rich text rendering to text bubbles, with support for bold, italic, strikethrough, inline code, code blocks, blockquotes, ordered and unordered lists, and links in both sent and received messages.
- Added a configurable
singleLineMessageComposersetting in the builder, allowing administrators to switch between compact and multi-line composer layouts from the dashboard. - Updated all sample apps to use the new compact message composer for a more consistent experience across examples and the interface.
Fixes
- None
V5.2.10
New
- Introduced a badge count feature that displays the total number of unread messages on the app icon.
- Displays a badge when a push notification with an unread count is received.
- Shows the total number of unread messages across all conversations.
- Automatically clears the badge when the app is opened.
- Introduced a user-friendly error message when attempting to send a media message with an unsupported file type. Users will now see: “This file type is not allowed.”
- Enabled thumbnail preservation for failed media messages, allowing users to view thumbnails and open media files locally even if the upload fails.
Enhancements
- Extended support for GIFs, allowing a broader range of formats and improved rendering in chat conversations.
- Improved search results by grouping messages by month and displaying the full date in the tail view for better context.
- Enhanced in-conversation search functionality to display the sender’s name, making it easier to identify message authors.
Fixes
- Resolved an issue where the unread message count briefly appeared and then disappeared upon entering a conversation.
- Fixed an issue where newly sent messages did not appear in the message list after navigating to another conversation.
- Fixed an issue on the Group Info page where tapping near the right side of a group action row (such as Leave, Delete Chat, or Delete and Exit) unintentionally triggered the action. Actions are now performed only when the corresponding button is explicitly tapped.
- Resolved an issue where attempting to send a media message with an unsupported file type failed silently without displaying an error message.
- Fixed an issue where failed media messages did not retain their thumbnails, preventing users from previewing or opening the files locally.
- Fixed an issue where the Save button appeared when updating a group member’s scope even if the selected scope was the same as the current one. The Save button is no longer shown when no actual change is made.
Deprecations
- None
Removals
- None
v5.2.9
New
- Selected Avatar List for multi-selection across supported components, including Users, Groups, Group Members, and Conversations.
- Displayed selected items in a horizontal avatar list at the bottom of the screen, ensuring selections are visible and accessible at all times.
- Enabled real-time synchronization between the main list selection (checkboxes) and the selected avatar list, allowing users to remove selections from either view seamlessly.
Enhancements
- Updated Play Icon: The play icon in the Media Recorder has been updated for improved visual clarity and consistency with the overall UI.
- Set Mark as Unread Option: The "Mark as Unread" option visibility is now set to visible, and the "Start from Unread" option is set to true in sample apps.
- Theming and Customization Support: Added theming and customization support for the selected avatar list, allowing developers to tailor the UI without additional code changes. The following new theme attributes can be customized:
- Selected item avatar style
- Title text appearance and color
- Remove icon drawable and tint
- Public Getters and Setters: Exposed public getters and setters for all new theme attributes.
Fixes
- Message Reactions Sync: Fixed an issue where message reactions were not syncing in real time, ensuring reactions now update instantly across all participants.
- User List and Search Results: Resolved a problem where returning from the device lock screen caused both the full user list and previous search results to appear simultaneously. The user list now displays correctly, and search results are properly cleared when navigating back.
- Sticker Alignment: Fixed an alignment issue where stickers shifted to the left when multiple emoji reactions were added. Stickers now remain properly aligned regardless of the number of reactions.
- Message Privately Option: Resolved an issue where using the “Message Privately” option in a group chat caused the same message to reappear incorrectly in the group conversation after returning. Messages now display correctly without duplication.
Deprecations
- None
Removals
- None
v5.2.8
New
- Added the "Mark as Unread" option, allowing users to mark previously read messages as unread for better message management.
- Introduced a new message indicator UI that visually separates unread messages from read ones, improving the user experience and making unread messages more noticeable.
Enhancements
- Implemented the
setStartFromUnreadproperty, enabling the message list to start from the unread messages when set totrue. This feature provides a more seamless experience for users who want to focus on new messages.
Fixes
- None
Deprecations
- None
Removals
- None
v5.2.7
New
- None
Enhancements
- Refined lifecycle management for chat and call modules to prevent memory leaks.
- Improved handling of ViewModel observers and listeners with the introduction of
isDetachedFromWindowflag. - Streamlined observer management with dedicated
attachObserversmethods for improved clarity and reusability. - Enhanced listener management by ensuring listeners are removed before reattaching, preventing redundant event handling.
Fixes
- Resolved memory leak issues by ensuring proper detachment of observers and listeners during component lifecycle changes.
- Fixed improper reattachment of listeners by introducing
addListenerandremoveListenermethods with unique listener tags to avoid duplicates.
v5.2.6
New
- None
Enhancements
- Improved thread reply navigation in
MessagesActivity.ktandThreadMessageActivity.ktby supporting the passing of both user and group information, enhancing context handling in thread conversations.
Fixes
- Message Composer Logic: Refactored send button state management in
CometChatMessageComposer.java, improving code clarity and maintainability by moving related methods to the main class scope. The update ensures correct button activation when editing messages. - Mention Bubble Styling: Corrected the logic in
CometChatMentionsFormatter.javato fix the styling of mention bubbles, ensuring proper alignment for both incoming and outgoing mentions. - Thread Reply Navigation: Updated
MessagesActivity.ktandThreadMessageActivity.ktto improve thread reply navigation for both users and groups. - UI Visibility: Fixed a bug in
CometChatConversations.javawhere the search box layout visibility was incorrectly set toGONE; it now reflects the correct visibility state.
v5.2.5
New
- Introduced new moderation controls, including properties and methods to manage visibility for the flag remark input in
CometChatMessageList. This includessetFlagRemarkInputFieldVisibilityand related getter methods. - Added the ability to enable or disable the "mention all" feature, along with custom labels for specific IDs in both
CometChatMessageComposer,CometChatConversations,CometChatSearchandCometChatMessageList.
Enhancements
- Improved the visibility and user experience of the flagging system by refactoring the "report" option to align with "flag" terminology for consistency.
- Enhanced the "mention all" feature by introducing new methods like
setDisableMentionAllandsetMentionAllLabelId, giving developers greater flexibility in managing mentions. - Added support for customizing the thread icon in the search component, allowing more flexibility in UI theming.
Fixes
- Fixed various bugs related to the visibility of moderation views and flag remark input fields to ensure proper functionality across all use cases.
Deprecations
- None
Removals
- None
v5.2.4
New
- Enhanced support for replying to messages and handling quoted messages in the chat UI kit, especially for collaborative document, whiteboard, and polls extensions.
- Added support for flagging messages for moderation.
Enhancements
- Added listeners (
CometChatMessageEvents) inCollaborativeDocumentExtensionDecorator,CollaborativeWhiteboardExtensionDecorator, andPollsExtensionDecoratorto track quoted messages and manage their status based on reply progress or completion. - Updated
callWriteBoardExtensionandcallWhiteBoardExtensionmethods inExtensions.javato accept and process aquotedMessageIdparameter in the payload. - Modified attachment option click handlers to extract and pass the quoted message ID, triggering appropriate reply completion callbacks.
- Implemented custom reply view logic for both document and whiteboard extensions, ensuring the reply view container is correctly sized and includes a message preview.
Fixes
- No bug fixes in this release.
Deprecations
- None
Removals
- None