Releases: cometchat/cometchat-uikit-android
Releases · cometchat/cometchat-uikit-android
Release list
v6.0.3
v6.0.3
New
- Added support for AI agent chats in both 1:1 and group conversations, enabling developers to integrate and surface agent-driven interactions consistently across chat experiences.
- Added a new
CardMessagetype with a dedicatedCometChatCardBubble, allowing rich card-based content to be displayed directly within conversations. - Added card-specific message options and defaulted developer-sent card messages to the
"card"message type for simpler integration. - Added dedicated push notification sample apps for both Kotlin/XML and Compose. These apps include the CometChat Push Notifications SDK with support for FCM and VoIP, giving teams a focused reference implementation for push-enabled chat experiences.
- Added push notification integration guides for both Kotlin/XML and Compose. These guides separate framework-specific setup from shared concepts, making implementation easier in the stack you use.
- Added AI sample app guides for both Kotlin/XML and Compose. These guides provide updated implementation references for teams building AI-enabled sample experiences.
- Added a comprehensive end-to-end (E2E) test suite covering both sample apps — sample-app-kotlin (View) and sample-app-compose (Compose). Each suite runs ~266 tests across 45 classes, driving the real app on an emulator against a live CometChat backend across 1:1, group, and realtime scenarios (send/receive, reactions, threads, receipts, presence, group management, and calls). This strengthens release confidence and gives teams a working reference for testing UIKit-based apps.
- Added a single-command E2E runner (run_e2e_tests.sh) per sample app that boots an emulator, builds, runs, and reports results, with all configuration centralized in one file and overridable via instrumentation runner arguments for CI. Each app ships an E2E_README.md documenting setup and usage.
Enhancements
- Enhanced card message rendering across the message list, reply previews, conversation previews, composer previews, and search results to provide a consistent viewing experience.
- Improved AI assistant message rendering by supporting streaming card content within assistant responses.
- Enhanced group chat support for agent-generated messages.
- Added fallback rendering for unsupported message types in the message list, ensuring messages remain visible even when a dedicated renderer is unavailable.
- Renamed the Compose-based master app to better reflect its technology stack. The app now uses Compose-specific naming across the module, package structure, and application branding for improved clarity when navigating the repository.
- Simplified the dedicated push sample apps by routing users directly from login into the main app flow. This removes showcase-only steps and makes the samples easier to use as implementation references.
- Improved push notification handling in the sample apps for real-world lifecycle scenarios. Notification flows now support killed-state initialization, notification-tap navigation, open-chat suppression, runtime notification permission handling, and launching the ongoing call screen after call acceptance.
- Updated the master app branding to use refreshed app names and CometChat icons. This makes the sample set easier to distinguish when running multiple apps locally.
Fixes
- Improved suggestion list pagination behavior to provide a smoother AI assistant interaction experience.
- Fixed inconsistencies in how card messages were displayed across conversation previews, reply previews, search results, and message lists, ensuring card content is rendered correctly in all supported locations.
- Fixed push and VoIP initialization behavior in the dedicated push sample apps when the app is launched from a terminated state. The apps now restore persisted credentials during
Application.onCreate()so notification-driven flows can continue correctly. - Fixed notification navigation flows in the dedicated push sample apps so users are taken to the correct destination after interacting with a notification. This improves reliability for both chat message and call-related entry points.
- Fixed notification permission handling by aligning the sample apps with the SDK-provided helper flow. This reduces duplicate app-side permission logic and makes notification setup more consistent.
Removals
- Removed push notification and VoIP implementation code from both master apps. Use the dedicated push notification sample apps when you need a reference for push-enabled or VoIP-enabled integrations.
- Removed the unused
kotlin-chat-appmodule from the repository. Projects that still depend on that module should migrate to the active sample apps. - Removed obsolete test assets and unused support files that were no longer part of the supported app set.
v5.2.13
New
- None
Enhancements
- None
Fixes
- Fixed a production crash in the MessageList Component that could occur under specific runtime conditions, improving application stability and preventing unexpected app termination.
v6.0.1
v6.0.1
New
- Added the
CometChatNotificationFeedcomponent to display campaign notification feeds with category-based filtering, real-time updates, and engagement reporting. - Added support for
CometChatNotificationFeedin both Jetpack Compose through theCometChatNotificationFeedcomposable and XML Views through theCometChatNotificationFeedcustom view. - Added category filter chips with unread badge counts and visual highlighting to help users quickly identify categories with new notifications.
- Added per-item timestamp formatting to show the exact time for notifications received today, the date and time for notifications from the current year, and the full date and time for older notifications.
- Added automatic delivery and read reporting so notifications are marked as delivered when fetched or received in real time, and marked as read after 1 second of visibility.
- Added real-time WebSocket support so new campaign notifications appear at the top of the feed as soon as they are received.
- Added pull-to-refresh and infinite scroll pagination to make it easier to reload the feed and browse older notifications with clear loading and error states.
- Added push notification handling for the
business_messagingtype so tapping a notification opens the Notifications tab directly in both sample apps. - Added the
onActionClickcallback to give developers control over engagement reporting when users interact with card action buttons. - Added full-screen loading, empty, and error states that align with the CometChat design system.
Enhancements
- None
Fixes
- None
v6.0.0
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.
- Added Rich Text editing support with Markdown formatting, @mentions, code blocks with syntax highlighting, and a rich text toolbar in the message composer.
- Added inline audio recording with waveform visualization in the message composer.
- Added dedicated AI sample apps (
ai-sample-app-kotlinandai-sample-app-compose) demonstrating AI feature integration.
Enhancements
- Enhanced the UI Kit architecture with a modular structure (
chatuikit-core,chatuikit-kotlin,chatuikit-compose), 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 with Clean Architecture patterns (UseCase → Repository → DataSource) 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.
- Improved real-time event handling with a centralized event system in the core module.
- Enhanced call management with dedicated components for incoming, outgoing, and ongoing calls.
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.
- Removed Java language support — all modules are now Kotlin-only.
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.
- Upgraded the Calls SDK dependency to version 5.0.0-beta.2.
- 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.
- Changed package names to
com.cometchat.uikit.core,com.cometchat.uikit.kotlin, andcom.cometchat.uikit.compose.
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.
- Update import statements to reflect the new package structure.
v6.0.0-beta2
New
- Added
CometChatSearch, a full-text search component for conversations and messages with scoped search, filter chips, and customizable result views. It supports searching conversations, messages, or both, and is available in both Kotlin XML Views and Jetpack Compose. - Added
CometChatAIAssistantChatHistory, a component for viewing past AI assistant conversations with pagination, message deletion, and date-based grouping. It also includes customizable empty, error, and loading states, and is available in both Kotlin XML Views and Jetpack Compose. - Added rich text formatting support in
CometChatMessageComposer, including bold, italic, strikethrough, inline code, code blocks, blockquotes, ordered and unordered lists, and links. - Added automatic rendering for rich text content in
CometChatMessageList. - Added a search button in
CometChatMessageHeaderto support in-conversation message search. - Added message highlighting when navigating to results from search.
- Added a search input in
CometChatConversationsfor faster conversation discovery.
Enhancements
- Enhanced AI UI support with agentic AI capabilities.
- Added styling support for Search, Message Information, Message Option Sheet, Attachment Option Sheet, AI Assistant Chat History, AI Option Sheet, Conversation Starter, Conversation Summary, and Smart Replies.
- Improved component theming support across the UI Kit by enabling XML theme styles in Kotlin and style object parameters in Compose.
Fixes
- None
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