NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #4918 most downloaded on pub.dev
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.
Last release today
07 Oct 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 45 of 47 stable releases
1 version withdrawn
withdrawn after publishing
3 years old
51 releases · first in 2023
One column per quarter.
Fixed read and delivery receipts being silently lost after an app relaunch that restored a saved session instead of calling login() again. markAsRead
New
Enhancements
Fixes
login() again. markAsRead and markAsDelivered reported success, but the receipt was never delivered to the other participant; receipts now work on restored sessions.Added thread subscriptions, allowing users to manage notifications for replies in specific threads.
New
Enhancements
Fixes
Added a multi-file upload API for sending several attachments in one message. CometChat.createUploadFileRequest() returns an UploadFileRequest you upl
New
CometChat.createUploadFileRequest() returns an UploadFileRequest you upload through and manage per file — uploadAttachment / uploadAttachments, retryAttachment, removeAttachment, clearAll — and inspect with getStatus(), getAttachments(), and getAttachmentCount().UploadFileListener for per-file progress, success, rejection, and failure updates, with rejection (onFileError) and retryable failure (onFileFailure) as distinct callbacks.Enhancements
dart2wasm) support.image, video, audio, and file messages via editMessage(), which now returns Future<BaseMessage?> (resolving to null on failure).Fixes
Added a CardMessage class for receiving developer card messages, with accessors for the card payload, fallback text, and data.text.
New
CardMessage class for receiving developer card messages, with accessors for the card payload, fallback text, and data.text.onCardMessageReceived callback to MessageListener for real-time card message delivery.AIAssistantCardStartedEvent, AIAssistantCardReceivedEvent, and AIAssistantCardEndedEvent for AI assistant card streaming through onAIAssistantEventReceived.AIAssistantElement model with getType() and getData() to represent ordered content blocks in AI assistant messages.getElements() and setElements() to AIAssistantMessage for working with ordered AIAssistantElement blocks from data.elements.Enhancements
Fixes
Fixed an issue where custom server configurations could fail when endpoint URLs were provided without https://.
New
Enhancements
Fixes
https://.Improved device recognition consistency across app launches for a more reliable experience.
New
Enhancements
Fixes
Added Notification Feed support with new data models including NotificationFeedItem, NotificationCategory, and PushNotification.
New
NotificationFeedItem, NotificationCategory, and PushNotification.FeedReadState enum with values read, unread, and all for filtering notification feed items by read status.FeedEngagementType enum with values viewed, clicked, and interacted for reporting user engagement on feed items.NotificationFeedRequestBuilder for fetching paginated notification feed items with filters for read state, category, channel ID, tags, and date range.NotificationCategoriesRequestBuilder for fetching paginated notification categories.markFeedItemAsDelivered() and markFeedItemsAsDelivered() methods to mark notification feed items as delivered.markFeedItemAsRead() method to mark a notification feed item as read.markAllFeedItemsAsRead() method to mark all notification feed items as read in a single call.reportFeedEngagement() method to report user engagement (viewed, clicked, interacted) on a feed item.getNotificationFeedUnreadCount() method to retrieve the unread count for notification feed items.getNotificationFeedItem() method to fetch a single notification feed item by ID for deep linking.markPushNotificationDelivered() method to mark a push notification as delivered.markPushNotificationClicked() method to mark a push notification as clicked.NotificationFeedListener for receiving real-time notification feed items via WebSocket with onFeedItemReceived() callback.addNotificationFeedListener() and removeNotificationFeedListener() methods for managing real-time notification feed listeners.Enhancements
Fixes
Enhanced CometChat Skills to improve support for agentic integrations and workflow interoperability.
New
Enhancements
Fixes
Deprecations
Removals
Removed deprecated APIs including receaverUid and fetchPushPreferences.
New
messaging.dart, calling.dart, ai.dart, notifications.dart, and moderation.dart.currentPage and totalPages, to message fetch responses.Enhancements
Fixes
Breaking Changes
onTypingIndicator() to return Stream<TypingIndicator> instead of Stream<String>.receaverUid and fetchPushPreferences.setWithUserAndGroupTags, setWithTags, setIncludeBlockedUsers, and setWithBlockedInfo.Nothing published for this version
Nothing published for this version
Added support for configuring unanswered call timeouts in CometChat.initiateCall(), allowing calls to be automatically rejected after a specified numb
New
Enhancements
CometChat.initiateCall(), allowing calls to be automatically rejected after a specified number of seconds. The default timeout is 45 seconds.Fixes
text_message_end event was not recognized during AI Assistant streaming, preventing the streaming message bubble from finalizing correctly.Deprecations
Removals
Nothing published for this version
Deprecated markAsUnread() method. Please use markMessageAsUnread() instead.
New
markMessageAsUnread() method to allow marking messages as unread for easier tracking and follow-up.markConversationAsDelivered() method to signal that a conversation has been delivered.markConversationAsRead() method to update the status of a conversation to "read."lastReadMessageId variable to return and accept a int type instead of a string.Deprecations
markAsUnread() method. Please use markMessageAsUnread() instead.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.
Fixes
Added a getFlagReasons method that retrieves the list of available flag reasons from the dashboard, allowing developers to display accurate and up-to-
New
getFlagReasons method that retrieves the list of available flag reasons from the dashboard, allowing developers to display accurate and up-to-date reporting categories.flagMessage method that enables developers to flag a specific message by providing the message ID and the corresponding reason ID.quotedMessageId variable to the BaseMessage class for retrieving and assigning the ID of a quoted message.quotedMessage in the BaseMessage class to get or set the quoted message object.hideQuotedMessages in the MessageRequestBuilder class to configure whether quoted messages should be included in the response.Added a getFlagReasons method that retrieves the list of available flag reasons from the dashboard, allowing developers to display accurate and up-to-
New
getFlagReasons method that retrieves the list of available flag reasons from the dashboard, allowing developers to display accurate and up-to-date reporting categories.flagMessage method that enables developers to flag a specific message by providing the message ID and the corresponding reason ID.quotedMessageId variable to the BaseMessage class for retrieving and assigning the ID of a quoted message.quotedMessage in the BaseMessage class to get or set the quoted message object.hideQuotedMessages in the MessageRequestBuilder class to configure whether quoted messages should be included in the response.Changed the default limit to fetch in various request builders from 50 to 30.
Enhancements
Fixes
Added filters (hideAgentic, onlyAgentic) to ConversationsRequest to help manage AI-driven (agentic) conversations.
New
hideAgentic, onlyAgentic) to ConversationsRequest to help manage AI-driven (agentic) conversations.Enhancements
Resolved an issue where sending multiple media files using the chat SDK did not return the list of attachments in the onSuccess callback. This issue o
Fixes
onSuccess callback. This issue occurred despite successful media transmission and has now been fixed to ensure accurate delivery feedback.Added AI Assistant Event Classes to provide detailed lifecycle tracking for AI assistant interactions:
New
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.AIAssistantListener for 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.MessageListener for 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.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 a missing method to fetch message details by message ID.
Fixes
Added a new onMessageModerated method in the MessageListener class. This method is triggered when a message sent by the logged-in user is successfully
New
onMessageModerated method 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 an approved or disapproved status.moderationStatus variable in both TextMessage and MediaMessage classes, allowing users to check the moderation status of their messages.pendingapproveddisapprovedunmoderated (default for apps without moderation enabled)Added support for sending multiple media files in a single message, enabling richer and more efficient conversations.
New
createGroupWithMembers group creation by allowing users to create a group and add members in a single step.searchIn, sortBy, and sortByOrder variables to the UsersRequestBuilder, giving developers more control over user filtering and ordering.attachmentTypes variable to MessagesRequestBuilder, allowing developers to specify desired attachment types when fetching messages.Enhancements
id and parentMessageId fields in the message object from int to long to improve scalability and ensure consistency across platforms.Added support for filtering conversations using new parameters in ConversationsRequestBuilder:
New
ConversationsRequestBuilder:
userTags – Enables users to filter conversations based on specific user tags.groupTags – Enables users to filter conversations based on specific group tags.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
Fixes
Fixed runtime crash due to Swift symbol mismatch between CometChatSDK and CometChatStarscream frameworks.
Fixes
Introduced Conversations & Advanced Search to enhance message and conversation filtering capabilities.
New
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.ConversationsRequestBuilder:
setSearchKeyword(String) – Search conversations (user or group) by name keyword.setUnread(boolean) – Retrieve only unread conversations.Fixes
Removals
myMentionsOnly method from MessagesRequestBuilder introduced in v4.0.2.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.
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
Nothing published for this version
Fixed an issue where readAt and deliveredAt timestamps were being added by default to Action messages.
Fixes
readAt and deliveredAt timestamps were being added by default to Action messages.Added onMessagesDeliveredToAll and onMessagesReadByAll listeners to notify message sender when group messages are delivered or read by everyone in the
New
onMessagesDeliveredToAll and onMessagesReadByAll listeners to notify message sender when group messages are delivered or read by everyone in the group.Fixed an issue where marking messages with mentions as read was not working.
Fixes
The following methods in the CometChatNotifications class have been deprecated:
New
CometChatNotifications class:
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
CometChatNotifications class have been deprecated:
fetchPushPreferences is now deprecated. Please use fetchPreferences as an alternative.updatePushPreferences is now deprecated. Please use updatePreferences as an alternative.resetPushPreferences is now deprecated. Please use resetPreferences as an alternative.CometChatNotifications class has been deprecated:
PushPreferences is now deprecated. Please use NotificationPreferences as an alternative.Deprecated the receaverUid parameter in the CometChat.startTyping() method. Please use the receiverUid property instead. The receaverUid parameter wil…
Fixes
CometChat.clearActiveCall() method was incorrectly calling ping instead of clearActiveCall.Deprecations
receaverUid parameter in the CometChat.startTyping() method. Please use the receiverUid property instead. The receaverUid parameter will be removed in a future release.receaverUid parameter in the CometChat.endTyping() method. Please use the receiverUid property instead. The receaverUid parameter will be removed in a future release.Added a new parameter includeBlockedUsers in ConversationsRequestBuilder to allow fetching conversations of users blocked by the logged-in user.
New
includeBlockedUsers in ConversationsRequestBuilder to allow fetching conversations of users blocked by the logged-in user.withBlockedInfo in ConversationsRequestBuilder to fetch blocked information in the conversation object, such as blockedByMe and hasBlockedMe.scopes in BannedMembersRequestBuilder.Fixes
CometChat.disconnect() method.Added a method named getConversationUpdateSettings which returns the settings saved in Dashboard.
New
Updated all 3rd-party plugins versions.
Enhancements
Fixed the issue where the onInteractiveMessageReceived listener is not working in iOS.
Fixes
Added PrivacyInfo file that complies with the latest apple guidelines for SDKs.
New
Added a new boolean property isBannedFromGroup to the Group model class to indicate whether the user is banned from the group or not.
New
Fixes
CometChat.callExtension, ensuring consistent and reliable endpoint interactionsIntroduced Reaction and ReactionEvent classes to enhance the functionality of message reactions introduced in v4.0.3.
New
Reaction and ReactionEvent classes to enhance the functionality of message reactions introduced in v4.0.3.ReactionsRequest class as a replacement for ReactionRequest class introduced in v4.0.3.ReactionsRequestBuilder class as a replacement for ReactionRequestBuilder class introduced in v4.0.3.PushPreferences, GroupPreferences, MutePreferences, MutedConversation, UnmutedConversation&DaySchedule` classesregisterPushToken method to register push token.unregisterPushToken method to unregister push token.muteConversations method to mute push notifications of conversations.unmuteConversations method to unmute push notifications of conversations.fetchPushPreferences, updatePushPreferences & resetPushPreferences to fetch, update & reset push preferences.Enhancements
onMessageReactionAdded and onMessageReactionRemoved have been improved to return an object of ReactionEvent class, providing a more robust event model.ReactionsRequestBuilder has been enhanced to return a list of Reaction objects, offering a more intuitive and consistent API.Removals
MessageReaction class introduced in v4.0.3, transitioning its responsibilities to the new Reaction and ReactionEvent classes.myMentionsOnly method from MessagesRequestBuilder introduced in v4.0.2.New: ReactionEvent Object will be emitted by onMessageReactionAdded & onMessageReactionRemoved events
ReactionEvent Object will be emitted by onMessageReactionAdded & onMessageReactionRemoved eventsMessageReaction class renamed to ReactiongetReactions() method replaced with reactions property in BaseMessage classgetMentionedUsers() method replaced with mentionedUsers property in BaseMessage classhasMentionedMe() method replaced with hasMentionedMe property in BaseMessage classunreadRepliesCount count incorrect type error in Action ObjectlastMessage property of Conversation Object on iOSonMessageReactionAdded & onMessageReactionRemoved events when it is the logged-in user calling CometChat.addReaction and CometChat.removeReaction on iOSBug: fixed sending metadata property in Call
Bug: fixed sending media messages with captions and tags in iOS
New: Added support to react on Text, Media and Custom Messages
New: Added support to mention a user in a Text & Media Message
New: Added methods for AI Conversation Summary & AI Assist Bot
Bug: Fixes and performance improvements
New: Optimized websocket connection
New: CometChat v4 support enabled
Your coding agent can read these notes before it upgrades. Set up the MCP server →