Skip to content

Releases: cometchat/chat-sdk-flutter

v5.0.0-beta.2

10 Apr 20:10
d4ee831

Choose a tag to compare

v5.0.0-beta.2 Pre-release
Pre-release

New

  • Added device and routing metadata (deviceId, sender, receiver, receiverType) to socket events, enabling accurate message routing and preventing duplicate event handling.
  • Introduced a native Dart stream for typing indicators via RealtimeRepository.typingStream, improving performance and reliability. The onTypingIndicator() method now returns Stream<TypingIndicator>.
  • Expanded the ReactionData model to include additional metadata (id, messageId, uid) for more complete reaction tracking.
  • Standardized ReactionActionEvent action constants to align with the Android SDK (message_reaction_added, message_reaction_removed).
  • Updated message event processing to use a DTO-to-mapper pipeline, ensuring consistent parsing with API responses.
  • Added a platform-compatible isolate abstraction (runInIsolate()), improving support for web environments.
  • Improved action message text formatting to ensure consistency across platforms (e.g., "Message Edited").

Enhancements

  • Simplified package configuration by removing platform-specific plugin settings (Android/iOS) from pubspec.yaml.

Fixes

  • Resolved an issue where deviceId was not parsed in most socket events, which prevented proper echo filtering for typing indicators, receipts, presence, and reactions.
  • Fixed an issue where users could see their own typing indicators in group chats.
  • Corrected rawData handling in MessageMapper to store the complete JSON payload instead of only the action string.

v4.1.2

09 Apr 11:10
d4ee831

Choose a tag to compare

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_end event was not recognized during AI Assistant streaming, preventing the streaming message bubble from finalizing correctly.

Deprecations

  • None

Removals

  • None

v5.0.0-beta.1

02 Apr 12:33
a6ab6b7

Choose a tag to compare

v5.0.0-beta.1 Pre-release
Pre-release

New

  • Introduced a fully Dart-based SDK architecture, enabling native cross-platform support for iOS, Android, and Web.

Enhancements

  • Enhanced SDK performance by replacing platform channel-based implementations with native Dart support.
  • Enhanced typing indicator support to work consistently across all supported platforms, including Web.
  • Updated onTypingIndicator() to return Stream<TypingIndicator> for richer and more structured typing event handling.
  • Simplified typing state handling using TypingIndicator.typingStatus ("started" or "ended"), replacing the need to check methodName.
  • Expanded typing indicator event data to include sender, receiverId, receiverType, metadata, lastTimestamp, and typingStatus.

Removals

  • Removed the dependency on EventChannel for typing events, enabling support across all supported platforms, including Web.
  • Removed the deprecated markAsUnread() method. Use markMessageAsUnread() instead.
  • Removed the deprecated receaverUid parameter from startTyping() and endTyping(). Use receiverUid instead.
  • Removed the deprecated fetchPushPreferences(), updatePushPreferences(), and resetPushPreferences() methods. Use fetchPreferences(), updatePreferences(), and resetPreferences() instead.
  • Removed the deprecated PushPreferences class. Use NotificationPreferences instead.

v4.1.0

30 Jan 12:19
a6ab6b7

Choose a tag to compare

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 lastReadMessageId variable to return and accept an int type instead of a string.
  • Added latestMessageId variable, which will hold the latest message id for that particular conversation.

Enhancements

  • None

Fixes

  • None

Deprecations

  • Deprecated markAsUnread() method. Please use markMessageAsUnread() instead.

Removals

  • None

v4.0.33

30 Dec 12:44
e560cea

Choose a tag to compare

New

  • None

Enhancements

  • None

Fixes

  • Resolved an issue where image and video thumbnails were not displayed when the URL was not included in the metadata and the token-based file access feature was enabled.

Deprecations

  • None

Removals

  • None

v4.0.32

15 Dec 08:09
29b5f32

Choose a tag to compare

New

  • Added a getFlagReasons method that retrieves the list of available flag reasons from the dashboard, allowing developers to display accurate and up-to-date reporting categories.
  • Added a flagMessage method that enables developers to flag a specific message by providing the message ID and the corresponding reason ID.
  • Added quotedMessageId variable to the BaseMessage class for retrieving and assigning the ID of a quoted message.
  • Introduced quotedMessage in the BaseMessage class to get or set the quoted message object.
  • Introduced hideQuotedMessages in the MessageRequestBuilder class to configure whether quoted messages should be included in the response.

Enhancements

  • None

Fixes

  • None

Deprecations

  • None

Removals

  • None

v4.0.31

15 Dec 07:15
04ac42c

Choose a tag to compare

New

  • Added a getFlagReasons method that retrieves the list of available flag reasons from the dashboard, allowing developers to display accurate and up-to-date reporting categories.
  • Added a flagMessage method that enables developers to flag a specific message by providing the message ID and the corresponding reason ID.
  • Added quotedMessageId variable to the BaseMessage class for retrieving and assigning the ID of a quoted message.
  • Introduced quotedMessage in the BaseMessage class to get or set the quoted message object.
  • Introduced hideQuotedMessages in the MessageRequestBuilder class to configure whether quoted messages should be included in the response.

Enhancements

  • None

Fixes

  • None

Deprecations

  • None

Removals

  • None

v4.0.30

24 Nov 20:10
b92ae0c

Choose a tag to compare

New

  • None

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.

Deprecations

  • None

Removals

  • None

v4.0.29

17 Nov 13:29
8f6340f

Choose a tag to compare

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.

Fixes

  • None

Deprecations

  • None

Removals

  • None

v4.0.28

05 Nov 13:25
36290b8

Choose a tag to compare

New

  • None

Enhancements

  • None

Fixes

  • 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 occurred despite successful media transmission and has now been fixed to ensure accurate delivery feedback.

Deprecations

  • None

Removals

  • None