cometchat_sdk
CometChat enables you to add voice, video & text chat for your website & app. This guide demonstrates how to add chat to an Flutter application using CometChat.
5.0.6
2.5K downloads/mo
#4945 most downloaded on pub.dev
What this package is like to depend on
Last release 1 months ago
24 Jul 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 43 of 44 stable releases
1 version withdrawn
withdrawn after publishing
3 years old
48 releases · first in 2023
19 releases in the last 12 months
see the full history below
Release timeline
48 releases · Jul 2023 to Jul 2026Releases
latest 48-
5.0.624 Jul 2026Release notes
Open source →New
- Added a multi-file upload API for sending several attachments in one message.
CometChat.createUploadFileRequest()returns anUploadFileRequestyou upload through and manage per file —uploadAttachment/uploadAttachments,retryAttachment,removeAttachment,clearAll— and inspect withgetStatus(),getAttachments(), andgetAttachmentCount(). - Added
UploadFileListenerfor per-file progress, success, rejection, and failure updates, with rejection (onFileError) and retryable failure (onFileFailure) as distinct callbacks.
Enhancements
- Improved Web and WebAssembly (
dart2wasm) support. - Added caption editing for
image,video,audio, andfilemessages viaeditMessage(), which now returnsFuture<BaseMessage?>(resolving tonullon failure). - Relicensed the package under the MIT License.
Fixes
- None
- Added a multi-file upload API for sending several attachments in one message.
-
5.0.523 Jun 2026Release notes
Open source →New
- Added a
CardMessageclass for receiving developer card messages, with accessors for the card payload, fallback text, anddata.text. - Added an
onCardMessageReceivedcallback toMessageListenerfor real-time card message delivery. - Added
AIAssistantCardStartedEvent,AIAssistantCardReceivedEvent, andAIAssistantCardEndedEventfor AI assistant card streaming throughonAIAssistantEventReceived. - Added an
AIAssistantElementmodel withgetType()andgetData()to represent ordered content blocks in AI assistant messages. - Added
getElements()andsetElements()toAIAssistantMessagefor working with orderedAIAssistantElementblocks fromdata.elements.
Enhancements
- None
Fixes
- None
- Added a
-
5.0.416 Jun 2026Release notes
Open source →New
- None
Enhancements
- None
Fixes
- Fixed an issue where custom server configurations could fail when endpoint URLs were provided without
https://.
-
5.0.308 Jun 2026Release notes
Open source →New
- None
Enhancements
- Improved device recognition consistency across app launches for a more reliable experience.
- Improved the SDK reconnect behavior by stopping further reconnection attempts after a connection-not-allowed error is received from the WebSocket connection.
Fixes
- Fixed an issue on web that could prevent some applications from connecting successfully in browser environments.
-
5.0.226 May 2026Release notes
Open source →New
- Added Notification Feed support with new data models including
NotificationFeedItem,NotificationCategory, andPushNotification. - Added
FeedReadStateenum with valuesread,unread, andallfor filtering notification feed items by read status. - Added
FeedEngagementTypeenum with valuesviewed,clicked, andinteractedfor reporting user engagement on feed items. - Added
NotificationFeedRequestBuilderfor fetching paginated notification feed items with filters for read state, category, channel ID, tags, and date range. - Added
NotificationCategoriesRequestBuilderfor fetching paginated notification categories. - Added
markFeedItemAsDelivered()andmarkFeedItemsAsDelivered()methods to mark notification feed items as delivered. - Added
markFeedItemAsRead()method to mark a notification feed item as read. - Added
markAllFeedItemsAsRead()method to mark all notification feed items as read in a single call. - Added
reportFeedEngagement()method to report user engagement (viewed, clicked, interacted) on a feed item. - Added
getNotificationFeedUnreadCount()method to retrieve the unread count for notification feed items. - Added
getNotificationFeedItem()method to fetch a single notification feed item by ID for deep linking. - Added
markPushNotificationDelivered()method to mark a push notification as delivered. - Added
markPushNotificationClicked()method to mark a push notification as clicked. - Added
NotificationFeedListenerfor receiving real-time notification feed items via WebSocket withonFeedItemReceived()callback. - Added
addNotificationFeedListener()andremoveNotificationFeedListener()methods for managing real-time notification feed listeners.
Enhancements
- None
Fixes
- None
- Added Notification Feed support with new data models including
-
5.0.113 May 2026Release notes
Open source →New
- None
Enhancements
- Enhanced CometChat Skills to improve support for agentic integrations and workflow interoperability.
Fixes
- Fixed an issue where push notification tokens were not registered correctly on iOS devices, preventing reliable notification delivery.
Deprecations
- None
Removals
- None
-
5.0.007 May 2026Release notes
Open source →New
- Added a fully rewritten Flutter SDK built entirely in pure Dart, with unified support across iOS, Android, Web, and desktop platforms.
- Added modular package imports, allowing developers to include only the required modules such as
messaging.dart,calling.dart,ai.dart,notifications.dart, andmoderation.dart. - Added real-time typing indicators powered by native Dart streams.
- Added background isolate parsing for improved performance when handling large message lists.
- Added automatic HTTP retry support with exponential backoff for transient network failures.
- Added improved WebSocket reconnection handling on web platforms during browser tab throttling.
- Added pagination metadata, including
currentPageandtotalPages, to message fetch responses. - Added device-level event routing to prevent duplicate event handling across multiple sessions.
- Added feature flags to disable typing indicators, read receipts, and presence updates.
Enhancements
- None
Fixes
- None
Breaking Changes
- Changed
onTypingIndicator()to returnStream<TypingIndicator>instead ofStream<String>. - Removed deprecated APIs including
receaverUidandfetchPushPreferences. - Renamed builder setters to
setWithUserAndGroupTags,setWithTags,setIncludeBlockedUsers, andsetWithBlockedInfo.
-
4.1.324 Jul 2026Nothing published for this version
-
4.1.209 Apr 2026Release notes
Open source →New
- None
Enhancements
- Added support for configuring unanswered call timeouts in
CometChat.initiateCall(), allowing calls to be automatically rejected after a specified number of seconds. The default timeout is 45 seconds.
Fixes
- Resolved an issue where the
text_message_endevent was not recognized during AI Assistant streaming, preventing the streaming message bubble from finalizing correctly.
Deprecations
- None
Removals
- None
-
4.1.125 Feb 2026 withdrawnNothing published for this version
-
4.1.030 Jan 2026Release notes
Open source →New
- Introduced
markMessageAsUnread()method to allow marking messages as unread for easier tracking and follow-up. - Added
markConversationAsDelivered()method to signal that a conversation has been delivered. - Introduced
markConversationAsRead()method to update the status of a conversation to "read." - Updated
lastReadMessageIdvariable to return and accept a int type instead of a string.
Deprecations
- Deprecated
markAsUnread()method. Please usemarkMessageAsUnread()instead.
- Introduced
-
4.0.3330 Dec 2025Release notes
Open source →Fixes
- Resolved an issue where image and video thumbnails were not displayed for url not present in metadata when the file access token feature was enabled.
-
4.0.3215 Dec 2025Release notes
Open source →New
- Added a
getFlagReasonsmethod that retrieves the list of available flag reasons from the dashboard, allowing developers to display accurate and up-to-date reporting categories. - Added a
flagMessagemethod that enables developers to flag a specific message by providing the message ID and the corresponding reason ID. - Added
quotedMessageIdvariable to the BaseMessage class for retrieving and assigning the ID of a quoted message. - Introduced
quotedMessagein the BaseMessage class to get or set the quoted message object. - Introduced
hideQuotedMessagesin the MessageRequestBuilder class to configure whether quoted messages should be included in the response.
- Added a
-
4.0.3115 Dec 2025Release notes
Open source →New
- Added a
getFlagReasonsmethod that retrieves the list of available flag reasons from the dashboard, allowing developers to display accurate and up-to-date reporting categories. - Added a
flagMessagemethod that enables developers to flag a specific message by providing the message ID and the corresponding reason ID. - Added
quotedMessageIdvariable to the BaseMessage class for retrieving and assigning the ID of a quoted message. - Introduced
quotedMessagein the BaseMessage class to get or set the quoted message object. - Introduced
hideQuotedMessagesin the MessageRequestBuilder class to configure whether quoted messages should be included in the response.
- Added a
-
4.0.3024 Nov 2025Release notes
Open source →Enhancements
- Changed the default limit to fetch in various request builders from 50 to 30.
Fixes
- Fixed an issue where only offline group members were fetched by default.
- Fixed pagination issue in various request builders.
- Added a flag to prevent multiple requests from being triggered simultaneously within a method.
-
4.0.2917 Nov 2025Release notes
Open source →New
- Added filters (
hideAgentic,onlyAgentic) to ConversationsRequest to help manage AI-driven (agentic) conversations. - Added a status filter to GroupMembersRequest for more precise member management.
Enhancements
- Added setPage() methods to all request builders, enabling direct page navigation and improved data handling in paginated responses.
- Implemented file size and file count validation in sendMediaMessage(), with configurable limits available through Settings.
- Added filters (
-
4.0.2805 Nov 2025Release notes
Open source →Fixes
- Resolved an issue where sending multiple media files using the chat SDK did not return the list of attachments in the
onSuccesscallback. This issue occurred despite successful media transmission and has now been fixed to ensure accurate delivery feedback.
- Resolved an issue where sending multiple media files using the chat SDK did not return the list of attachments in the
-
4.0.2716 Oct 2025Release notes
Open source →New
- Added AI Assistant Event Classes to provide detailed lifecycle tracking for AI assistant interactions:
AIAssistantBaseEvent– Serves as the base type for all AI assistant-related events.AIAssistantRunStartedEvent– Triggered when an AI assistant run begins.AIAssistantRunFinishedEvent– Triggered when an AI assistant run completes.AIAssistantMessageEndedEvent– Triggered when an AI assistant finishes sending a message.AIAssistantContentReceivedEvent– Triggered when content is received from the AI assistant.AIAssistantToolStartedEvent– Triggered when the AI assistant starts executing a tool.AIAssistantToolEndedEvent– Triggered when the AI assistant completes a tool execution.AIAssistantToolArgumentEvent– Triggered when arguments are passed to an AI tool.AIAssistantToolResultEvent– Triggered when results are returned from an AI tool.
- Introduced
AIAssistantListenerfor subscribing to and handling AI assistant events:addAIAssistantListener– Registers a listener for AI assistant events.removeAIAssistantListener– Unregisters an AI assistant listener.onAIAssistantEventReceived– Handles incoming AI assistant events.
- Introduced new methods in
MessageListenerfor subscribing to and handling new AI assistant messages:onAIAssistantMessageReceived– Handles incoming AI assistant message.onAIToolArgumentsReceived– Handles incoming AI tool arguments.onAIToolResultReceived– Handles incoming AI tool result.
- Added Messages & Data Classes for structured handling of AI tool call, argument, result and message:
AIToolResultMessage– Represents a message containing the result of a tool execution.AIToolCall– Contains structured data for a specific AI tool call.AIToolCallFunction– Contains structured data for a specific AI tool call function.AIToolArgumentMessage– Represents a message containing tool arguments.AIAssistantMessage– Represents a message sent by the AI assistant.
- Added AI Assistant Event Classes to provide detailed lifecycle tracking for AI assistant interactions:
-
4.0.2601 Oct 2025 -
4.0.2522 Aug 2025Release notes
Open source →New
- Added a new
onMessageModeratedmethod in the MessageListener class. This method is triggered when a message sent by the logged-in user is successfully processed by moderation and receives either anapprovedordisapprovedstatus. - Introduced a new
moderationStatusvariable in both TextMessage and MediaMessage classes, allowing users to check the moderation status of their messages. - Added a new ModerationStatusEnum enum that includes the following states:
pendingapproveddisapprovedunmoderated(default for apps without moderation enabled)
- Added a new
-
4.0.2408 Aug 2025Release notes
Open source →New
- Added support for sending multiple media files in a single message, enabling richer and more efficient conversations.
- Introduced
createGroupWithMembersgroup creation by allowing users to create a group and add members in a single step. - Added
searchIn,sortBy, andsortByOrdervariables to the UsersRequestBuilder, giving developers more control over user filtering and ordering. - Added
attachmentTypesvariable to MessagesRequestBuilder, allowing developers to specify desired attachment types when fetching messages.
Enhancements
- Updated the
idandparentMessageIdfields in the message object frominttolongto improve scalability and ensure consistency across platforms.
-
4.0.2319 Jun 2025Release notes
Open source →New
- Added support for filtering conversations using new parameters in
ConversationsRequestBuilder:userTags– Enables users to filter conversations based on specific user tags.groupTags– Enables users to filter conversations based on specific group tags.
- Added support for filtering conversations using new parameters in
-
4.0.2205 May 2025Release notes
Open source →Fixes
- Fixed an issue where real-time listener events were only triggered when a UI action occurred. This was due to listener registration happening within a post-frame callback, which delayed initialization. The fix ensures listeners are now initialized earlier, restoring real-time responsiveness.
-
4.0.2129 Apr 2025Release notes
Open source →Fixes
- Fixed runtime crash due to Swift symbol mismatch between CometChatSDK and CometChatStarscream frameworks.
-
4.0.2023 Apr 2025Release notes
Open source →New
- Introduced Conversations & Advanced Search to enhance message and conversation filtering capabilities.
- Added new filters to
MessagesRequestBuilder:hasAttachments()– Retrieve messages that contain file attachments.hasReactions()– Retrieve messages that include user reactions.hasMentions()– Retrieve messages where users are mentioned.hasLinks()– Retrieve messages that contain hyperlinks.setMentionedUIDs(List<String>)– Retrieve messages mentioning specific user IDs.
- Added new filters to
ConversationsRequestBuilder:setSearchKeyword(String)– Search conversations (user or group) by name keyword.setUnread(boolean)– Retrieve only unread conversations.
Fixes
- Fixed an issue where an error appeared in the console when logging in for the first time on a freshly installed app on iOS. This issue did not cause a crash but has now been resolved to ensure a smoother login experience.
Removals
- Removed
myMentionsOnlymethod fromMessagesRequestBuilderintroduced in v4.0.2.
-
4.0.1911 Feb 2025Release notes
Open source →Fixes Fixed an issue with editing text messages in the CometChat API where a 'Type Null is not a subtype of Type User' error occurred.
New Fixed an issue where tags could not be added to a media message using the
CometChat.editMessage()method in Flutter -
4.0.19-beta129 Jan 2025 pre-releaseNothing published for this version
-
4.0.1821 Aug 2024Release notes
Open source →Fixes
- Fixed an issue where
readAtanddeliveredAttimestamps were being added by default toActionmessages.
- Fixed an issue where
-
4.0.1708 Aug 2024Release notes
Open source →New
- Added
onMessagesDeliveredToAllandonMessagesReadByAlllisteners to notify message sender when group messages are delivered or read by everyone in the group.
- Added
-
4.0.1617 Jul 2024Release notes
Open source →Fixes
- Fixed an issue where marking messages with mentions as read was not working.
-
4.0.1510 Jul 2024Release notes
Open source →New
- The following new methods have been introduced in the
CometChatNotificationsclass:updateTimezone: This method updates the timezone for receiving Enhanced Email and Enhanced SMS notifications correctly.getTimezone: This method fetches the timezone set for a user.
Enhancements
- The following methods in the
CometChatNotificationsclass have been deprecated:fetchPushPreferencesis now deprecated. Please usefetchPreferencesas an alternative.updatePushPreferencesis now deprecated. Please useupdatePreferencesas an alternative.resetPushPreferencesis now deprecated. Please useresetPreferencesas an alternative.
- The following class in the
CometChatNotificationsclass has been deprecated:PushPreferencesis now deprecated. Please useNotificationPreferencesas an alternative.
- The following new methods have been introduced in the
-
4.0.1402 Jul 2024Release notes
Open source →Fixes
- Fixed an issue where the
CometChat.clearActiveCall()method was incorrectly callingpinginstead ofclearActiveCall. - Fixed action messages constructor to take only required values
Deprecations
- Deprecated the
receaverUidparameter in theCometChat.startTyping()method. Please use thereceiverUidproperty instead. ThereceaverUidparameter will be removed in a future release. - Deprecated the
receaverUidparameter in theCometChat.endTyping()method. Please use thereceiverUidproperty instead. ThereceaverUidparameter will be removed in a future release.
- Fixed an issue where the
-
4.0.1325 Jun 2024Release notes
Open source →New
- Added a new parameter
includeBlockedUsersinConversationsRequestBuilderto allow fetching conversations of users blocked by the logged-in user. - Added a new parameter
withBlockedInfoinConversationsRequestBuilderto fetch blocked information in the conversation object, such as blockedByMe and hasBlockedMe. - Added a new parameter for
scopesinBannedMembersRequestBuilder.
Fixes
- Fixed an issue causing a critical crash on Android devices when invoking the
CometChat.disconnect()method.
- Added a new parameter
-
4.0.1206 Jun 2024Release notes
Open source →New
- Added a method named getConversationUpdateSettings which returns the settings saved in Dashboard.
-
4.0.1121 May 2024Release notes
Open source →Enhancements
- Updated all 3rd-party plugins versions.
- Resolved all static Dart Analyser suggestions
- Added namespaces in build.gradle to avoid conflicts.
-
4.0.1030 Apr 2024Release notes
Open source →Fixes
- Fixed the issue where the onInteractiveMessageReceived listener is not working in iOS.
-
4.0.925 Apr 2024Release notes
Open source →New
- Added PrivacyInfo file that complies with the latest apple guidelines for SDKs.
-
4.0.816 Apr 2024Release notes
Open source →New
- Added a new boolean property isBannedFromGroup to the Group model class to indicate whether the user is banned from the group or not.
- Introduced three new properties in CustomMessage class as follows:
- sendNotification: True value will trigger a notification for the custom message.
- conversationText: This string can be used to display the last message text in the conversation list.
- updateConversation: If set to true, the message will appear as the last message in the Conversation and will update and reorder the conversation list, placing the conversation at the top.
Fixes
- Fixed URL handling in
CometChat.callExtension, ensuring consistent and reliable endpoint interactions
-
4.0.720 Mar 2024Release notes
Open source →New
- Introduced
ReactionandReactionEventclasses to enhance the functionality of message reactions introduced in v4.0.3. - Added
ReactionsRequestclass as a replacement forReactionRequestclass introduced in v4.0.3. - Added
ReactionsRequestBuilderclass as a replacement forReactionRequestBuilderclass introduced in v4.0.3. - Introduced Enhanced Push Notification Feature.
- Added
PushPreferences, GroupPreferences,MutePreferences,MutedConversation,UnmutedConversation&DaySchedule` classes - Added method
registerPushTokenmethod to register push token. - Added method
unregisterPushTokenmethod to unregister push token. - Added method
muteConversationsmethod to mute push notifications of conversations. - Added method
unmuteConversationsmethod to unmute push notifications of conversations. - Added method
fetchPushPreferences,updatePushPreferences&resetPushPreferencesto fetch, update & reset push preferences.
- Added
Enhancements
- The real-time listeners
onMessageReactionAddedandonMessageReactionRemovedhave been improved to return an object ofReactionEventclass, providing a more robust event model. ReactionsRequestBuilderhas been enhanced to return a list ofReactionobjects, offering a more intuitive and consistent API.
Removals
- Removed the
MessageReactionclass introduced in v4.0.3, transitioning its responsibilities to the newReactionandReactionEventclasses. - Removed
myMentionsOnlymethod fromMessagesRequestBuilderintroduced in v4.0.2.
- Introduced
-
4.0.7-beta114 Mar 2024 pre-releaseRelease notes
Open source →- New:
ReactionEventObject will be emitted byonMessageReactionAdded&onMessageReactionRemovedevents - New:
MessageReactionclass renamed toReaction - New:
getReactions()method replaced withreactionsproperty inBaseMessageclass - New:
getMentionedUsers()method replaced withmentionedUsersproperty inBaseMessageclass - New:
hasMentionedMe()method replaced withhasMentionedMeproperty inBaseMessageclass - Bug: fixed
unreadRepliesCountcount incorrect type error inActionObject - Bug: fixed issue of other user's reactions not being received through the
lastMessageproperty ofConversationObject on iOS - Bug: fixed issue of receiving
onMessageReactionAdded&onMessageReactionRemovedevents when it is the logged-in user callingCometChat.addReactionandCometChat.removeReactionon iOS
- New:
-
4.0.610 Feb 2024Release notes
Open source →- Bug: fixed sending metadata property in Call
- Bug: fixed sending muid property in Call
-
4.0.501 Feb 2024Release notes
Open source →- Bug: fixed sending media messages with captions and tags in iOS
- Bug: fixed sending media messages with Attachment URL in iOS
-
4.0.413 Dec 2023Release notes
Open source →- New: Added support to react on Text, Media and Custom Messages
- New: Added a new field unreadMentionsCount field in Conversation Object
- New: Added a new field lastReadMessageId field in Conversation Object
-
4.0.313 Nov 2023Release notes
Open source →- New: Added support to mention a user in a Text & Media Message
- New: Added support to send interactive messages like forms, card, etc.
- New: Added a method to mark a message as unread
-
4.0.213 Oct 2023 -
4.0.104 Sep 2023 -
4.0.031 Aug 2023Release notes
Open source →- New: Optimized websocket connection
- New: Ping() for websocket connection
- Bug: Fixes and performance improvements
-
4.0.0-beta128 Jul 2023 pre-release