Skip to content

Releases: cometchat/chat-sdk-android

v5.0.1

08 Apr 08:21
01fbd66

Choose a tag to compare

New

  • Added an overloaded initiateCall(Call, int, CallbackListener) method, allowing developers to configure the call timeout duration for greater control over call handling.

Enhancements

  • Enhanced initiateCall(Call, CallbackListener) to use the new overloaded method with a default timeout of 45 seconds, preserving backward compatibility.
  • Replaced the fixed call no-answer interval with a configurable timeout, making it easier to adjust call behavior based on application needs.
  • Improved timeout handling so that positive values are applied directly, while values less than or equal to zero automatically fall back to the default 45-second timeout for consistent behavior.

Fixes

  • None

v5.0.0

03 Apr 11:39
0b27f51

Choose a tag to compare

New

  • Introduced Parcelable and Cloneable support across all model classes for easier object passing and deep cloning.
  • Added the contentEquals() method for deep content comparison of model objects.
  • Changed the behavior of equals() to delegate to contentEquals() for full field-by-field comparison.

Enhancements

  • Enhanced object serialization by implementing Parcelable for all core and chat models, improving performance and eliminating the need for Gson serialization.
  • Improved deep copying functionality by adding Cloneable support to all model classes, enabling fast and type-safe cloning with the clone() method.
  • Optimized content comparison with the new contentEquals() method, providing more accurate equality checks.

Fixes

  • Fixed Gson serialization issues by replacing it with native Android Parcelable for smoother object passing between Activities, Fragments, and Bundles.
  • Addressed equals() behavior by moving from identity-based comparison to content-based comparison, resolving inconsistencies in equality checks.
  • Corrected issues where deep cloning using Gson failed to preserve object types or resulted in slow performance.

Deprecations

  • None

Removals

  • Removed Gson as the primary method for serializing model objects between components in favor of Parcelable for faster and more reliable object passing.

V4.2.0

08 Jan 11:34
89a8dee

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() method to return and accept a long type instead of a string.
  • Added latestMessageId() method, 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.1.9

29 Dec 11:26
f5c49df

Choose a tag to compare

New

  • None

Enhancements

  • None

Fixes

  • Resolved an issue where image and video thumbnails were not displayed for URLs not present in metadata when the file access token feature was enabled.

Deprecations

  • None

Removals

  • None

v4.1.8

27 Nov 07:58
feef14b

Choose a tag to compare

New

  • Introduced a flagging feature in the Android Chat SDK, allowing users to flag messages for moderation and retrieve flag reasons.
  • Added a new FlagDetail model to represent flag reports, including reason ID and optional remarks.
  • Integrated a new FlagReason model to handle flag reasons parsed from settings.

Enhancements

  • Added flagMessage and getFlagReasons public methods in CometChat.java to allow flagging messages and retrieving flag reasons.

Fixes

  • No bug fixes in this release.

Deprecations

  • None

Removals

  • None

v4.1.7

17 Nov 07:57
fcebf4d

Choose a tag to compare

New

  • Introduced quoted message support across all message types (TextMessage, MediaMessage, InteractiveMessage, and CustomMessage), allowing users to reply with contextual references.
  • 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.1.6

16 Oct 11:08
241d70a

Choose a tag to compare

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.
    • AIAssistantMessageStartedEvent – Triggered when an AI assistant begins sending a message.
    • 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 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.
  • Introduced new methods in 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.
  • 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.

Enhancements

  • None

Fixes

  • None

v4.1.4

21 Aug 18:26
9392073

Choose a tag to compare

New

  • Added a new onMessageModerated method in the MessagesListener 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.
  • Introduced a new getModerationStatus() method in both TextMessage and MediaMessage classes, allowing users to check the moderation status of their messages.
  • Added a new ModerationStatus enum that includes the following states:
    • pending
    • approved
    • disapproved
    • unmoderated (default for apps without moderation enabled)

Enhancements

  • None

Fixes

  • None

v4.1.3

19 Aug 12:15
bc4def6

Choose a tag to compare

New

  • None

Enhancements

  • Improved WebSocket connection management to prevent multiple concurrent reconnection attempts.

Fixes

  • Fixed an issue where, in Manual mode, auto reconnection would not start automatically and was dependent on calling CometChat.connect() explicitly to initiate reconnection.

Deprecations

  • None

Removals

  • None

v4.1.2

08 Jul 14:53
9781ed6

Choose a tag to compare

New

  • None

Enhancements

  • None

Fixes

  • Added a try/catch block around getLong to handle legacy integer values and prevent ClassCastException. This change improves compatibility with legacy data by safely migrating integer values to long, ensuring the system operates smoothly without errors when processing older data.

Deprecations

  • None

Removals

  • None