Skip to main content

You are viewing Agora Docs forBetaproducts and features. Switch to Docs

Android
iOS
Web
Windows
Unity
Flutter
React Native

Release notes

This page provides release notes for Chat SDK for Android.

Client API

v1.2.1

v1.2.1 was released on December 8, 2023.

Improvements

  • Added support for dynamic registration broadcasts in Android 14, which requires setting the RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED flag.

Issues fixed

  • Fixed the problem of losing chat room listener in some scenarios after logging out and logging in again.
  • Fixed the problem of occasionally failing to save the token when logging in manually.

v1.2.0

v1.2.0 was released on December 6, 2023.

New features

  • Added the function of forwarding multiple messages:
    • ChatMessage#createCombinedSendMessage: Creates a combined message.
    • ChatManager#downloadAndParseCombineMessage: Downloads and parses a combined message.
  • Added the function of modifying sent messages:
    • ChatManager#asyncModifyMessage: Modifies a sent text message.
    • MessageListener#onMessageContentChanged: Occurs when a sent message is modified. The message recipient receives this callback.
  • Added the ChatRoomManager#leaveChatRoom(String, CallBack) method to leave a chat room and allow the user to know whether they successfully left the chat room.
  • Added the function of pinning a conversation:
    • ChatManager#asyncPinConversation: Pins a conversation.
    • ChatManager#asyncFetchPinnedConversationsFromServer: Retrieves the list of pinned conversations from the server with pagination.
  • Added the ChatManager#asyncFetchConversationsFromServer method to retrieve the conversation list from the server. Marked the ChatManager#asyncFetchConversationsFromServer(int, int, EMValueCallBack) method and the ChatManager#asyncFetchConversationsFromServer(EMValueCallBack) method deprecated.
  • Added the ChatManager#getAllConversationsBySort method to retrieve local conversations in the reverse chronological order of when conversations are active.
  • Added multi-device operations:
    • MultiDeviceListener#CONVERSATION_PINNED: A conversation is pinned on one device. This event is received by other devices.
    • MultiDeviceListener#CONVERSATION_UNPINNED: A conversation is unpinned on one device. This event is received by other devices.
    • MultiDeviceListener#CONVERSATION_DELETED: A conversation is deleted from one device. This event is received by other devices.
  • Added the ChatManager#asyncFetchHistoryMessages method to retrieve historical messages of a conversation from the server according to FetchMessageOption, the parameter configuration class for retrieving historical messages.
  • Added FetchMessageOption as the parameter configuration class for retrieving historical messages from the server.
  • Added the Conversation#removeMessages method to delete messages sent or received in a certain period from the local database.
  • Added the List<MessageReactionOperation> attribute in MessageReactionChange:
    • MessageReactionOperation#getUserId: The user ID of the operator.
    • MessageReactionOperation#getReaction: The changed Reaction.
    • MessageReactionOperation#getOperation: The operation.
  • Added the function of managing custom attributes of group members:
    • GroupManager#asyncSetGroupMemberAttributes: Sets custom attributes of a group member.
    • GroupManager#asyncFetchGroupMemberAllAttributes: Retrieves all custom attributes of a group member.
    • GroupManager#asyncFetchGroupMembersAttributes: Retrieves custom attributes of multiple group members by attribute key.
    • GroupChangeListener#onGroupMemberAttributeChanged: Occurs when a custom attribute is changed for a group member.
    • MultiDeviceListener#GROUP_METADATA_CHANGED: Custom attributes are set for a group member on one device. This event is received by other devices.
  • Added error codes:
    • Error#APP_ACTIVE_NUMBER_REACH_LIMITATION: The number of daily active users (DAU) or monthly active users (MAU) for the app has reached the upper limit.
    • Error#MESSAGE_SIZE_LIMIT: You have exceeded the maximum allowed size of a message body.
    • Error#GROUP_MEMBER_ATTRIBUTES_REACH_LIMIT: The total length of custom attributes of the group member has exceeded the upper limit (4 KB).
    • Error#GROUP_MEMBER_ATTRIBUTES_UPDATE_FAILED: Fails to set the custom attribute(s) of the group member.
    • Error#GROUP_MEMBER_ATTRIBUTES_KEY_REACH_LIMIT: The key of a custom attribute(s) of the group member has exceeded the maximum allowed length of 16 bytes.
    • Error#GROUP_MEMBER_ATTRIBUTES_VALUE_REACH_LIMIT: The value of a custom attribute(s) of the group member has exceeded the maximum allowed length of 512 bytes.

Improvements

  • Optimized the callback logic of ChatClient#addConnectionListener. After a connection listener is added, ConnectionListener#onDisconnected is triggered only after login.
  • Optimized the searchMsgFromDB method to include custom messages in the search scope.
  • Optimized the logic of binding and unbinding a push token.

Issues fixed

  • The message read status is not updated in certain scenarios.
  • In some scenarios, when the user calls ChatManager#downloadAttachment to download message attachments, the attachments are not downloaded to the private directory.
  • When ChatManager#deleteMessagesBeforeTimestamp is called, messages in the local database are deleted, but those in the cache remain.
  • The app crashes when you send a video message and set the first frame to be empty.

v1.1.0

v1.1.0 was released on April 28, 2023.

New features

  • Adds the function of managing custom chat room attributes to implement functions like seat control and synchronization in voice chat rooms. See Manage chat room attributes.
  • Adds the ChatMessage#setPriority(ChatRoomMessagePriority) method to implement the chat room message priority function to ensure that high-priority messages are dealt with first. See Set message priority.
  • Adds the pagination parameters pageNum and pageSize to the ChatManager#asyncFetchConversationsFromServer method to allow users to get the conversation list from the server with pagination. See Retrieve a list of conversations from the server.
  • Adds the support for push notifications on the server side to allow you to send push notifications to all users, individual users specified by IDs, or groups of users by labels. For how to configure and send push notifications, see Push notification management.
  • Adds an additional option to delete messages on the server side. See Delete conversations and historical messages.

Improvements

Improved code security.

v1.0.9

v1.0.9 was released on December 19, 2022.

Issues fixed

  • Some alerts on Android 12.
  • The inconsistency of messages in the memory and the database due to a call to the updateMessage method in rare scenarios.
  • Crashes in rare scenarios.

v1.0.8

v1.0.8 was released on November 22, 2022.

Issues fixed

  • Failures in getting a large number of messages from the server in a few scenarios.
  • An issue with incorrect data statistics.
  • Crashes caused by log printing in rare scenarios.

v1.0.7

v1.0.7 was released on September 7, 2022.

New features

  • Adds the isDisabled() attribute to Group to indicate whether a group is disabled. This attribute needs to be set by developers at the server side. This attribute is returned when you call the getGroupFromServer() method in GroupManager to get group details.
  • Adds custom error information to the error information returned to the message sender when the pre-sending callback service declines to send the message.
  • Adds the error code 1101 (PRESENCE_CANNOT_SUBSCRIBE_YOURSELF) in Error to indicate users cannot subscribe to their own presence.
  • Adds ChatLogListener to implement SDK running log callbacks.

Improvements

  • Optimized the login process for quicker login.
  • Optimized the access point update policy that is used in the case of a connection failure, in order to improve the availability.
  • Upgraded the message encryption algorithm from CBC to GCM.
  • Supported TLS 1.3 for SDK-related HTTP requests.
  • Upgraded OpenSSL, a dependency of libcipherdb, to 1.1.1q.
  • Optimized the display of parameters in the methods in the SDK.

Issues fixed

  • Data deduplication was not implemented for the getAllMessage method in Conversation.
  • Occasional crashes during login with user IDs and passwords.
  • Once the fetchHistoryMessages() method in ChatManager was called, the method was repeatedly called to get messages from the server.

v1.0.6

v1.0.6 was released on Jul 22, 2022.

New features

  • Supports marking whether a message is an online message by using the isOnlineState member in ChatMessage.
  • Adds an error code 509 MESSAGE_CURRENT_LIMITING in Error, which means that the chat group message has exceeded the concurrent limit.
  • Adds an onSpecificationChanged callback in GroupChangeListener, which occurs when the state specification updates.
  • Adds a bindDeviceToken method in PushManager, which binds the device token.

Improvements

  • Improved thread-related methods and classes. Compared with 1.0.4, this release used ChatThread to replace ChatThreadInfo.
  • Assigned a value to groupName in the onInvitationReceived callback.
  • Removed the CBC and EBC encryption algorithm in the Android layer.
  • Upgraded the network link library.
  • Supported sending messages with a remote address as the attachment.

Issues fixed

  • The retrieved reaction object was empty.
  • Devices running earlier Android versions failed to load the database.

v1.0.4

v1.0.4 was released on May 17, 2022.

New features

  • Supports reaction, which enables users to add reaction emojis to the specified message.
  • Supports content moderation with the reportMessage method.
  • Supports message push configuration, which enables users to configure various push settings.

Improvements

  • Enhanced DNS configuration for retrieving the server access point.
  • Improved data reports.
  • Changed the file name of libsqlcipher to avoid conflict when using the official AAR.
  • Added support for double and float data types for the ext attribute in ChatMessage.
  • Changed openssl to boringssl.
  • Changed the minimum API level to 21 (Android 5.0).

Issues fixed

  • Issues reported when uploading the app to Google Play caused by encryption algorithm.
  • The translation API did not take effect.

v1.0.3.1

v1.0.3.1 was released on April 27, 2022. This release fixed the occasional issue of not being to display the retrieved historical messages.

v1.0.3

v1.0.3 was released on April 19, 2022.

New features

Supports the presence feature, which indicates the online status of the user.

Improvements

  • Shortened the time out for sending messages.
  • Enhanced the request success rate.
  • Supported the upgraded OPPO push (from 2.1.0 to 3.0.0) and VIVO push (from 2.3.1 to 3.is 0.0.4_484).

Issues fixed

Fixed PendingIntent, which caused warnings when uploading apps to Google Play.

v1.0.2

v1.0.2 was released on Feb 22, 2022.

New features

  • Supports deleting conversations on the server by calling deleteConversationFromServer.
  • Supports customizing messages using extension fields, badges, CMD messages for message push.
  • Adds an error code 221 USER_NOT_ON_ROSTER which is reported when the user sends a message to another user that is not a contact.
  • Supports recalling messages using the RESTful API.

Improvements

Reduced the time for preparing to send messages under poor network conditions.

Issues fixed

  • The message re-sending was interrupted by the connection success event.
  • Memory leak.
  • Crashes caused by incorrect time calculation.

v1.0.1.1

v1.0.1.1 was released on December 30, 2021.

This release fixed an issue where the database failed to load under extreme conditions.

v1.0.1

v1.0.1 was released on December 27, 2021.

New features

v1.0.1 adds the following features:

  • Supports setting the building name when creating a location message.
  • Supports deleting local messages before a specific time.
  • Supports getting the count of messages in one conversation.

Fixed issues

This release fixed the following issues:

  • Some crash issues occurred.
  • An issue occurred in the database encryption.

API changes

v1.0.1 adds the following APIs:

  • createLocationSendMessage [1/2]
  • deleteMessagesBeforeTimestamp
  • getAllMsgCount

v1.0.0

v1.0.0 was released on December 6, 2021.

This release has an issue that the database occasionally fails to load. Agora recommends you upgrade to the latest version as soon as possible.

New features

This release supports getting the users' login status through the isLoggedIn and isLoggedInBefore methods.

Improvements

This release makes the following improvements:

  • Optimizes the logic of renewing push tokens, reducing server request times.
  • Improves the login speed.
  • Uses only HTTPS for REST operations by default.
  • Optimizes the logic of token expiration.

Fixed issues

This release fixed the following issues:

  • The fetched history messages were incomplete.
  • Crashes occurred in certain scenarios.
  • An issue occurred in displaying the unread status of messages.

RESTful API

v1.2.0

  1. Added new REST APIs for management of custom attributes of group members:

    • Setting custom attributes of a group member
    • Retrieving all custom attributes of a group member
    • Retrieving custom attributes of multiple group members by attribute key
  2. Removed the nickname parameter from the RESTful APIs for adding one user or multiple users

vundefined