# Release notes (/en/realtime-media/im/reference/release-notes/react-native)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

This page provides release notes for Chat SDK for Web.

    * [Client API](#client-api)
    * [RESTful API](#restful-api)

    ## Client API [#client-api-4]

    ## v1.4.0 [#v140-4]

    Released on July 3, 2026.

    #### New features [#new-features-39]

    * Added support for sending and receiving GIF image messages. A GIF image message is a subtype of image message that is not compressed when sent. For details, see [Send and receive a GIF image message](/en/realtime-media/im/build/build-core-messaging/messages/send-receive-messages#send-and-receive-a-gif-image-message).
    * Added support for setting, updating, and retrieving chat group avatars. For details, see [Update the chat group avatar](/en/realtime-media/im/build/build-groups-rooms-and-threads/chat-group/manage-group-attributes#update-the-chat-group-avatar).
    * Added the `createGroupEx` method, which supports setting a custom group avatar when creating a group. The original `createGroup` method is deprecated. For details, see [Create a chat group](/en/realtime-media/im/build/build-groups-rooms-and-threads/chat-group/manage-chat-groups#create-a-chat-group).
    * Added support for retrieving the following information when a user joins a chat room:
      * The current member count, using the `ChatRoom#getMemberCount` method. This count updates when members join or leave the chat room.
      * The chat room-wide mute status, using the `ChatRoom#isAllMemberMuted` method. This status updates when a mute or unmute event is received.
      * The chat room creation time, using the new `ChatRoom#getCreateTimestamp` method.
      * Whether the current user is on the chat room allow list, using the new `ChatRoom#isInWhitelist` method.
      * The current user's mute expiration time, using the `ChatRoom#getMuteExpireTimestamp` method.
    * Added the `ChatRoomEventListener#onMuteListAddedV2` event, which provides the muted members' user IDs and their mute expiration timestamps through the `mutes` parameter. This event deprecates the old `ChatRoomEventListener#onMuteListAdded` event. For details, see [Listen for chat room events](/en/realtime-media/im/build/build-groups-rooms-and-threads/chat-room/manage-chatrooms#listen-for-chat-room-events).
    * Added support for retrieving roaming messages sent by specific group members from the server. For details, see [Retrieve historical messages of the specified conversation](/en/realtime-media/im/build/build-core-messaging/messages/retrieve-messages#retrieve-historical-messages-of-the-specified-conversation).
    * Added support for retrieving messages sent by specific members in a local group conversation. The `getConvMsgsWithKeyword` method gains a `senders` parameter, which replaces the deprecated `sender` parameter. For details, see [Search local messages sent by specific members](/en/realtime-media/im/build/build-core-messaging/messages/retrieve-messages#search-local-messages-sent-by-specific-members).
    * Added support for searching all local conversations by keyword. The SDK returns the matching conversation IDs and their message IDs. For details, see [Search local conversations by keyword](/en/realtime-media/im/build/build-core-messaging/messages/retrieve-messages#search-local-conversations-by-keyword).
    * Added support for retrieving one or more local messages by message ID. For details, see [Retrieve local messages by message ID](/en/realtime-media/im/build/build-core-messaging/messages/retrieve-messages#retrieve-local-messages-by-message-id).
    * Added the `ChatGroupEventListener#onMembersJoined` and `ChatGroupEventListener#onMembersExited` events, which notify other members in batches when one or more members join or leave a group. Previously, the SDK triggered a separate event for each member. These events deprecate `ChatGroupEventListener#onMemberJoined` and `ChatGroupEventListener#onMemberExited`. For details, see [Listen for chat group events](/en/realtime-media/im/build/build-groups-rooms-and-threads/chat-group/manage-chat-groups#listen-for-chat-group-events).
    * Added the `onOfflineMessageSyncStart` and `onOfflineMessageSyncFinish` events to the connection listener, so you can monitor when offline message synchronization from the server starts and finishes.
    * Added the `ChatManager#getMessageCount` method to retrieve the total number of messages in the local database.

    #### Improvements [#improvements-44]

    * Changed the unique app identifier from the App Key to the App ID.

      <CalloutContainer type="info">
        <CalloutDescription>
          As of v1.4.0, the App Key, including the `org_name` and `app_name` parameters, is deprecated in favor of the App ID. If you integrated an earlier version of the SDK using the App Key, no changes are required: both the App Key and the App ID continue to work with Agora Chat.
        </CalloutDescription>
      </CalloutContainer>

    * Added the `ChatManager#modifyMsgBody` method to support modifying more message types, replacing the deprecated `ChatManager#modifyMessageBody`:

      * Text and custom messages: modify the message body and the extension fields (`ext`).
      * File, video, voice, image, location, and combined messages: modify the extension fields (`ext`) only.
      * Command messages: modification is not supported.

      For details, see [Modify sent messages](/en/realtime-media/im/build/build-core-messaging/messages/send-receive-messages#modify-sent-messages).

    * Allowed group owners, chat room owners, and admins to recall messages sent by other members. For details, see [Recall a message](/en/realtime-media/im/build/build-core-messaging/messages/send-receive-messages#recall-a-message).

    * Enhanced security by adding access checks for message attachments. For example, if you receive an image message in a group and forward it to others outside the group, they cannot download the image.

    * Changed the trigger threshold for the `ChatConnectEventListener#onTokenWillExpire` event: the SDK now triggers the event when 80% of the token's validity period has elapsed, instead of 50%. For details, see [Authentication](/en/realtime-media/im/build/secure-access-and-authentication/authentication).

    * Added support for retrieving a group member list that includes each member's role and join time, using `ChatGroupManager#fetchMemberInfoListFromServer`. For details, see [Retrieve the chat group member list](/en/realtime-media/im/build/build-groups-rooms-and-threads/chat-group/manage-chat-groups#retrieve-the-chat-group-member-list).

    * Changed the cursor value in `ChatManager#fetchHistoryMessagesByOptions` from `undefined` to an empty string (`""`) when the last page of roaming messages is returned.

    * Added the static constructors `ChatOptions#withAppId` and `ChatOptions#withAppKey` to initialize the SDK with an app ID or app key, replacing the deprecated `ChatOptions` constructor.

    * Added `ChatGroupManager#fetchGroupInfoWithoutMembersFromServer` to retrieve group information without member information, replacing the deprecated `ChatGroupManager#fetchGroupInfoFromServer`. To retrieve member information, call `ChatGroupManager#fetchMemberInfoListFromServer`.

    * Removed the deprecated `ChatMessageEventListener#onMessagesRecalled` event. Use `ChatMessageEventListener#onMessagesRecalledInfo` instead.

    * Removed APIs that were deprecated before native SDK v1.1.0.

    * Optimized certain database operations.

    * Added exception clearing and null pointer protection to the JNI layer on Android.

    * Optimized the reconnection logic to automatically switch reconnection addresses by default.

    * Improved the `applicationWillEnterForeground` handling on iOS by sending a ping message to trigger reconnection.

    * Disabled the default constructors for message, conversation, and message body objects to prevent null pointer crashes on iOS.

    * Added the device timezone offset to log files to facilitate troubleshooting.

    * Removed the reflection-based approach for obtaining absolute file paths from `FileProvider` on Android.

    * Upgraded the BoringSSL and SQLCipher dependencies to their latest versions to mitigate potential security risks.

    * Improved the loading performance of the local conversation list when the latest message is an attachment by removing redundant file length checks.

    * Added 16 KB page alignment support for Android 15 and later compatibility.

    #### Issues fixed [#issues-fixed-41]

    * Messages in memory were not deleted when the corresponding local conversation was removed.
    * The `TYPE` field was empty in the `ChatMessageEventListener#onChatMessageThreadUserRemoved` event.
    * A crash occurred on certain devices when retrieving the start and end times of the conversation Do Not Disturb (DND) settings.
    * `ChatMessageEventListener#onMessageContentChanged` did not return modification details when editing message types other than text and custom messages.
    * Group or chat room members incorrectly requested details from the server after a disband event was triggered.
    * The database was mistakenly rebuilt when a `SQLITE_BUSY` error occurred.
    * The latest message in a conversation retrieved from the server with `ChatManager#fetchConversationsFromServerWithCursor` did not contain translations or message reactions.
    * An exception occurred during logout when SDK API calls were nested within SDK events on Android.
    * On iOS, completion callbacks for some APIs were not invoked on the main thread, including the APIs in `ChatUserInfoManager` and `ChatPresenceManager`, as well as `ChatManager#fetchHistoryMessagesByOptions`, `ChatManager#fetchSupportedLanguages`, `ChatManager#translateMessage`, and `ChatManager#getMessageCount`.
    * A crash occurred under extreme network conditions.
    * Applications using React Native 0.77, 0.78, 0.79, or 0.80 failed to compile when integrating the Chat SDK.
    * Conversation types were converted incorrectly on iOS.
    * `EMFetchMessageOption` was converted incorrectly on Android.
    * No API was available to check whether the current user was on a chat room's mute list.
    * Circular dependencies existed between files.

    ## v1.3.6 [#v136]

    Released on May 7, 2026.

    #### Improvements [#improvements-45]

    This release includes the following enhancements:

    * Enhanced security by adding access checks for message attachments. For example, if you receive an image message in a group and forward it to others outside the group, they cannot download the image.

    ## v1.3.5 [#v135]

    Released on November 24, 2025.

    #### New features [#new-features-40]

    * Added a function to enable chat room members to check if they are on the mute list of a chat room.
    * Added support for 16 KB page size for compatibility with Android 15 or higher.

    #### Issues fixed [#issues-fixed-42]

    * Fixed bugs related to the chatroom mute list.

    ## v1.3.4 [#v134]

    Released on June 05, 2025.

    #### Issues fixed [#issues-fixed-43]

    * The app occasionally crashed when handling recall notifications on the iOS platform.

    ## v1.3.2 [#v132-2]

    Released on February 11, 2025.

    #### Issues fixed [#issues-fixed-44]

    * Compilation error on the Android platform when using React Native 0.76.

    ## v1.3.1 [#v131-4]

    Released on December 20, 2024.

    #### Improvements [#improvements-46]

    * Added support for pinning messages in one-to-one conversations. Users can call `ChatManager#pinMessage` or `ChatManager#unpinMessage` to pin or unpin a one-to-one chat message.
    * Optimized the connections to the server under weak network conditions for native platforms.

    #### Issues fixed [#issues-fixed-45]

    1. The following issues are fixed on native platforms:

    * An attachment message can still be sent successfully in spite of failure to send the attachment under special circumstances.
    * An incorrect `nextkey` is returned when pulling roaming messages.
    * The cache is not updated upon the addition of contacts to the block list.
    * The official push feature may not work after users log out and log in again.

    1. The following issues are fixed for the React Native Chat SDK：

    * The error that `CMakeLists.txt` could not be found is reported during compilation on the Android platform.
    * The data conversion issue on the Android platform.

    ## v1.3.0 [#v130-4]

    Released on December 11, 2024.

    #### New features [#new-features-41]

    * Added the `ChatManager#deleteAllMessageAndConversation` method to uni-directionally clear all conversations and messages in them. You can also choose whether to clear the chat history on the server.
    * Added the function of searching for messages by search scope in `ChatMessageSearchScope` during keyword-based search.
      * `ChatMessageSearchScope`: Includes three message search scopes: message content, message extension information, and both.
      * `ChatManager#getMsgsWithKeyword`: Searches for messages in all conversations by search scope.
      * `ChatManager#getConvMsgsWithKeyword`: Searches for messages in a conversation by search scope.
    * Added the function of tagging a conversation:
      * `ChatConversationFetchOptions`: Includes options for filtering conversations retrieved from the server. You can only retrieve pinned conversations or tagged conversations by setting the options.
      * `ChatManager#addRemoteAndLocalConversationsMark`: Tags a conversation.
      * `ChatManager#deleteRemoteAndLocalConversationsMark`: Untags a conversation.
      * `ChatManager#fetchConversationsByOptions`: Gets conversations from the server by conversation tag by setting `ChatConversationFetchOptions`.
      * `ChatConversation#marks`: Gets all tags of a local conversation.
      * `ChatMultiDevicesEvent#CONVERSATION_UPDATE_MARK`: Conversation tag update event in a multi-device login use-case. If a user adds or removes a conversation tag on one device, this event is received on other devices of the user.
    * Added the `ChatMessage#isBroadcast` property to indicate whether the message is a broadcast message sent via a RESTful API to all chat rooms under an app.
    * Added `ChatMessage#deliverOnlineOnly` property to set whether the message is delivered only when the recipient(s) is/are online. If this property is set to `true`, the message is discarded when the recipient is offline.
    * Added the `ChatGroupManager#fetchJoinedGroupCount` method to allow the current user to retrieve the total number of joined groups.
    * Added a 706 error code that occurs when the chat room owner leaves the chat room. `ChatOptions#isChatRoomOwnerLeaveAllowed` is set to `false` during SDK initialization, the chat room owner is not allowed to leave the chat room. In this case, error 706 is reported if the chat room owner calls `leaveChatRoom`.
    * Added the support for retrieval of historical messages of chat rooms from the server.
    * Added the `ChatOptions#useReplacedMessageContents` property to determine whether the server returns the adjusted text message to the sender if the message content is replaced during text moderation.
    * Added the function of pinning a message:
      * `ChatManager#pinMessage`: Pins a message.
      * `ChatManager#unpinMessage`: Unpins a message.
      * `ChatManager#fetchPinnedMessages`: Gets the list of pinned messages in a conversation from the server.
      * `ChatConversation#getPinnedMessages`: Gets the list of pinned messages in a local conversation.
      * `ChatMessagePinInfo`: Includes the operator that pins or unpins the message and the operation time.
      * `ChatMessage#pinInfo`: Includes the message pinning information.
      * `ChatMessageEventListener#onMessagePinChanged`: Occurs when the message pinning status changes. When a message is pinned or unpinned in a group or chat room, all members in the group or chat room receive this event.
    * Added the `ChatOptions#enableEmptyConversation` property to set whether to include empty conversations in the retrieved list of local conversations. This property is set during SDK initialization.
    * Added the `applicant` and `decliner` parameters to the `ChatGroupEventListener#onRequestToJoinDeclined` event to respectively indicate the user that applies to join the group and the user that declines the join request.
    * Added the `ChatOptions#messagesReceiveCallbackIncludeSend` property to set whether to return the successfully sent message in the `ChatMessageEventListener#onMessagesReceived` event.
    * Added the support for returning the modified custom message via the `ChatMessageEventListener#onMessageContentChanged` event if the message is modified via the RESTful API.

    #### Improvements [#improvements-47]

    * Added support for forwarding single attachment messages by passing in the message body and extension fields, without reuploading the attachment.
    * Reduced the number of times group specifications are retrieved when a large number of group member events are received during certain use-cases.
    * Delivered a more accurate chat room member count by optimizing the way to update it when members join or leave the chat room.
    * Shortened the time used to call the `ChatManager#markAllConversationsAsRead` method by marking all conversations read more efficiently.
    * Optimized the way the SDK randomly gets server addresses to increase the success rate of requests.
    * Adjusted the timeout period for joining or leaving chat rooms.
    * Optimized the way the connection is re-established upon a connection failure in certain use-cases.
    * Added support for uploading an attachment in fragments when sending an attachment message.
    * Marked the `ChatClient#loginWithAgoraToken` and  `ChatClient#login` methods deprecated. Use the `loginWithToken` method instead.
    * Fine tuned the error message for token-based login for accuracy.
    * Optimized the way messages are re-sent.
    * Removed the internal `NetworkOnMainThreadException` exception catching during a network request.
    * Optimized the database upgrade logic.
    * Increased the maximum allowed size of a log file from 2 MB to 5 MB.
    * Added the iOS privacy protocol `PrivacyInfo.xcprivacy`.
    * Removed the `secret` parameter from the object of the created message. This parameter is generated by the server and can be obtained after the message is successfully sent.
    * Marked the following methods deprecated:
      * `getMessagesWithKeyword`: Replaced by `getMsgsWithKeyword`.
      * `getMessages`: Replaced by `getMsgs`.
      * `getMessageWithTimestamp`: Replaced by `getMsgWithTimestamp`.
      * `getMessagesWithMsgType`: Replaced by `getConvMsgsWithMsgType`.
      * `searchMsgFromDB`: Replaced by `getMsgsWithMsgType`.

    #### Issues fixed [#issues-fixed-46]

    * For a modified message, the `from` property is missing from the body of the message pulled from the server by an offline user that gets online.
    * In special use-cases, chat room events are missing when users exit the SDK before logging into it.
    * The SDK reconnects to the server twice after the network is back to normal.
    * An incorrect error message is returned for a logged-out user that calls the `leaveChatRoom` method.
    * Members in a group are counted twice in certain use-cases.
    * The data reporting module crashes occasionally.
    * The app crashes when the `ChatManager#updateMessage` method is called in certain use-cases.

    ## v1.2.1 [#v121-1]

    Released on February 2, 2024.

    #### Improvements [#improvements-48]

    * Updated native Android dependencies to support Android 14 (API34).

    ## v1.2.0 [#v120-4]

    Released on December 6, 2023.

    #### New features [#new-features-42]

    * Upgraded React-Native from 0.66.5 to 0.71.11.
    * Added the function of forwarding multiple messages:
      * `ChatMessage.createCombineMessage`: Creates a combined message.
      * `ChatManager.fetchCombineMessageDetail`: Retrieves the original messages included in the combined message.
    * Added the function of modifying sent messages.
      * `ChatManager.modifyMessageBody`: Modifies a sent text message.
      * `ChatEvents.ChatMessageEventListener.onMessageContentChanged`: Occurs when a sent message is modified. The message recipient receives this callback.
    * Added the `ChatManager.fetchConversationsFromServerWithCursor` method to retrieve the conversation list from the server with pagination.
    * Added the function of pinning a conversation:
      * `ChatManager.pinConversation`: Pins a conversation.
      * `ChatManager.fetchPinnedConversationsFromServerWithCursor`: Retrieves a list of pinned conversations from the server.
    * Marked the `ChatManager.fetchAllConversations` method deprecated.
    * Added the `ChatManager.fetchHistoryMessagesByOptions` method to retrieve historical messages of a conversation from the server according to `ChatFetchMessageOptions`, the parameter configuration class for pulling historical messages.
    * Added `ChatFetchMessageOptions` as the parameter configuration class for pulling historical messages from the server.
    * Added the function of managing custom attributes of group members:
      * `ChatGroupManager.setMemberAttribute`: Sets custom attributes of a group member.
      * `ChatGroupManager.fetchMemberAttributes`: Retrieves custom attributes of a group member from the server.
      * `ChatGroupEventListener.onMemberAttributesChanged`: Occurs when a custom attribute is changed for a group member.
    * Added the `ChatManager.deleteMessagesWithTimestamp` method to delete messages sent or received in a certain period from the local database.
    * Added the `ChatOptions#enableEmptyConversation` option to determine whether to include empty conversations while loading conversations from the database.
    * Added the `reason` parameter to `ChatRoomEventListener.onRemoved` so that the member removed from the chat room knows the removal reason.
    * Added the `ChatPushManager.selectPushTemplate` method to allow the message recipient to receive offline message notifications according to the custom push template.
    * Added the `ChatPushManager.fetchSelectedPushTemplate` method to retrieve the push template used for offline push notifications.
    * Added the support for user tokens in the following methods:
      * `ChatClient#getLoggedInDevicesFromServer`: Retrieves the list of online login devices of a user.
      * `ChatClient#kickDevice`: Kicks a user out of the app on a device.
      * `ChatClient.kickAllDevices`: Kicks a user out of the app on all devices.
    * Added the log callback API `ChatLog.handler`.
    * Added the `List` attribute in `onMessageReactionDidChange`:
      * `MessageReactionOperation#getUserId`: The user ID of the operator.
      * `MessageReactionOperation#getReaction`: The changed Reaction.
      * `MessageReactionOperation#getOperation`: The operation.
    * Added the following events:
      * `ChatEvents.ChatConnectEventListener.onAppActiveNumberReachLimit`: Occurs when the number of daily active users (DAU) or monthly active users (MAU) for the app has reached the upper limit.
      * `ChatEvents.ChatConnectEventListener.onUserDidRemoveFromServer`: Occurs when the user is removed.
      * `ChatEvents.ChatConnectEventListener.onUserDidForbidByServer`: Occurs when the user is blocked by the server.
      * `ChatEvents.ChatConnectEventListener.onUserDidLoginTooManyDevice`: Occurs when the user's number of login devices exceeds the maximum allowed.
      * `ChatEvents.ChatConnectEventListener.onUserKickedByOtherDevice`: Occurs when the user is kicked out of the app on the current device because the user has logged in to another device.
      * `ChatEvents.ChatConnectEventListener.onUserAuthenticationFailed`: Occurs when the authentication fails.
      * `ChatEvents.ChatMultiDeviceEventListener.onMessageRemoved`：Occurs when historical messages in a conversation are deleted from the server on one device. This event is received by other devices.
      * `ChatEvents.ChatMultiDeviceEvent.CONVERSATION_PINNED`: Occurs when a conversation is pinned on one device. This event is received by other devices.
      * `ChatEvents.ChatMultiDeviceEvent.CONVERSATION_UNPINNED`: Occurs when a conversation is unpinned on one device. This event is received by other devices.
      * `ChatEvents.ChatMultiDeviceEvent.CONVERSATION_DELETED`: Occurs when a conversation is deleted on one device. This event is received by other devices.

    #### Improvements [#improvements-49]

    * Optimized disconnection notifications by showing an independent notification when the server breaks the connection to the app. In this case, the users can check the disconnection reason.
    * Optimized git commit specifications with commitlint to make sure that the committed code follows the specifications.
    * Optimized git commit with Lefthook by using Gitleaks to detect sensitive information.
    * Renamed `ChatManager.deleteAllMessages` to `deleteConversationAllMessages`.
    * Renamed `ChatEvents.ChatRoomEventListener.onRemoved` to `onMemberRemoved`.
    * Renamed `ChatEvents.ChatGroupEventListener.onUserRemoved` to `onMemberRemoved`.
    * Renamed `ChatEvents.ChatRoomEventListener.onChatRoomDestroyed` to `onDestroyed`.
    * Renamed `ChatEvents.ChatGroupEventListener.onGroupDestroyed` to `onDestroyed`.
    * Deleted the `errorCode` parameter from `ChatEvents.ChatConnectEventListener.onDisconnected`.

    #### Issues fixed [#issues-fixed-47]

    The app crashes when a Reaction is added for a message on Android.

    ## v1.1.3 [#v113]

    Released on July 21, 2023.

    #### Issues fixed [#issues-fixed-48]

    * On the Android platform, calling the `addReaction` method caused a crash.
    * Updated the value of `homepage` in the `package.json` file to `https://www.npmjs.com/package/react-native-agora-chat`.
    * Updated the value of `author` in the `package.json` file to `Asterisk  (https://github.com/asteriskzuo)`.

    ## v1.1.2 [#v112]

    Released on June 30, 2023.

    #### Issues fixed [#issues-fixed-49]

    * Optimized the video messaging function on the iOS platform. Messages using the `file://` local path protocol can now
      be sent successfully.
    * Updated the definition of the `fetchHistoryMessages` method.
    * No new token is returned when you call the `renewAgoraToken` method.
    * Issues with sending video messages on the Android platform.

    ## v1.1.1 [#v111-1]

    Released on April 28, 2023.

    #### Issues fixed [#issues-fixed-50]

    Upon a call to the `ChatGroupManager#fetchJoinedGroupsFromServer` method, the returned extension field was empty for the joined public groups.

    ## v1.1.0 [#v110-4]

    Released on April 28, 2023.

    #### New features [#new-features-43]

    * Upgrades the iOS and Android native platforms that the React Native platform depends on to v1.1.0.
    * Adds the function of managing custom chat room attributes. See [Manage chat room attributes](/en/api-reference/api-ref/im/chatroom-management/manage-chatroom-attributes).
    * Adds the `ChatManager#fetchConversationsFromServerWithPage` method to allow users to get the conversation list from the server with pagination. See [Retrieve a list of conversations from the server](/en/realtime-media/im/build/build-core-messaging/messages/retrieve-messages#retrieve-a-list-of-conversations-from-the-server).
    * Adds the `ChatMessage#messagePriority` method to implement the chat room message priority function. See [Set message priority](/en/realtime-media/im/build/build-core-messaging/messages/send-receive-messages#set-message-priority).
    * 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](/en/api-reference/api-ref/im/push-notification-management).
    * Adds an additional option to delete messages on the server side. See [Delete conversations and historical messages](/en/realtime-media/im/build/build-core-messaging/messages/manage-messages#delete-conversations-and-historical-messages).

    #### Improvements [#improvements-50]

    * Removes the sensitive information from the test data.
    * Renames the `inviterUser` method in the `ChatGroupManager` class to `inviteUser`.
    * Renames `GROUP_ADD_USER_WHITE_LIST` in the enumeration type `ChatMultiDeviceEvent` to `GROUP_ADD_USER_ALLOW_LIST`.
    * Renames `GROUP_REMOVE_USER_WHITE_LIST` in the enumeration type `ChatMultiDeviceEvent`  to `GROUP_REMOVE_USER_ALLOW_LIST`.

    #### Issues fixed [#issues-fixed-51]

    * Some insecure code of native platforms.
    * The issue of failing to retrieve conversations.
    * The potential deadlock issue caused by a callback method that repeatedly enters the main thread for execution. This issue occurs only on the iOS platform.

    ## v1.0.11 [#v1011-3]

    Released on December 19, 2022.

    #### Issues fixed [#issues-fixed-52]

    * 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 use-cases.
    * Crashes in rare use-cases.

    ## v1.0.10 [#v1010]

    Released on November 22, 2022.

    #### New features [#new-features-44]

    Added two events to the `ChatGroupEventListener` class:

    * `onDetailChanged`: When group details change.
    * `onStateChanged`: When a group is enabled or disabled.

    #### Issues fixed [#issues-fixed-53]

    * The overlimit issue during JSON conversion on the Android platform.
    * Failures in getting a large number of messages from the server in few use-cases.
    * The issue with incorrect data statistics.
    * Crashes caused by log printing in rare use-cases.

    ## v1.0.7 [#v107-4]

    Released on September 7, 2022.

    #### Compatibility changes [#compatibility-changes]

    The `unSubscribe` method is renamed `unsubscribe`.

    #### New features [#new-features-45]

    * Adds the `setConversationExtension` method to set the conversation extension information.
    * Adds the `insertMessage` method to insert a message.
    * Adds the `deleteMessagesBeforeTimestamp` method to delete messages before a specified timestamp.
    * Adds the `getThreadConversation` method to get a specified thread conversation or create the thread conversation if the conversation does not exist.
    * Adds the `isChatThread` attribute to `ChatConversation` to check whether a conversation is a thread conversation.
    * Adds `ChatPushManager` for the push notification configuration.
    * Adds `ChatPushConfig` for the Firebase Cloud Messaging (FCM) configuration.
    * Adds the `pushConfig` method in `ChatOptions` for the push initialization configuration.
    * Adds the `updatePushConfig` method in `ChatClient` for the push configuration update.

    #### Improvements [#improvements-51]

    * Upgraded the underlying native SDKs (for Android and iOS) to v1.0.7.
    * Made the listener methods optional.
    * Updated the release script.
    * Updated the demo.

    #### Issues fixed [#issues-fixed-54]

    JSON parsing error of the `type` field in several methods.

    ## v1.0.6 [#v106-4]

    Released on July 22, 2022.

    #### Compatibility changes [#compatibility-changes-1]

    The following APIs are renamed:

    * `deleteRemoteConversation` is renamed `removeConversationFromServer`.
    * `loadAllConversations` is renamed `getAllConversations`.
    * `getConversationsFromServer` is renamed `fetchAllConversations`.
    * `getUnreadMessageCount` is renamed `getUnreadCount`.
    * `fetchLatestMessage` is renamed `getLatestMessage`.
    * `fetchLastReceivedMessage` is renamed `getLatestReceivedMessage`.
    * `unreadCount` is renamed `getConversationUnreadCount`.
    * `getMessagesFromTime` is renamed `getMessageWithTimestamp`.
    * `WhiteList` is renamed `AllowList`.
    * `BlackList` is renamed `BlockList`.

    The following API are removed:

    * `getMessageById`
    * `insertMessage`
    * `appendMessage`

    #### New features [#new-features-46]

    * Adds a `isOnline` field in chat messages.

    #### Improvements [#improvements-52]

    * Updated the API example.
    * The dependent native SDK (iOS and Android) was upgraded to v3.9.4.
    * React-Native was upgraded to 0.66.4 LTS version.
    * The Android platform no longer needed to perform additional operations.
    * `agora-react-native-chat` was changed to `react-native-agora-chat`.

    #### Issues fixed [#issues-fixed-55]

    * Type declaration entry point was incorrect.

    ## v1.0.5 [#v105-2]

    Released on June 17.

    This is the first release for the Chat C# SDK, which enables you to add real-time chatting functionalities to a Unity or Windows app. Major features include the following:

    * Sending and receiving messages in one-to-one chats, chat groups, and chatrooms.
    * Retrieving and managing conversations and messages.
    * Managing chat groups and chatrooms.
    * Managing contact and blocklists.

    For the complete feature list, see [Product Overview](../index).

    Chat is charged on a MAU (Monthly Active Users) basis. For details, see [Pricing for Chat](./pricing) and [Pricing Plan Details](./pricing-plan-details).

    Refer to the following documentations to enable Chat and use the Chat SDK to implement real-time chatting functionalities in your app:

    * [Enable and Configure Chat](../get-started/enable)
    * [Chat SDK quickstart](../get-started-sdk)
    * [Messages](/en/realtime-media/im/build/build-core-messaging/messages/message-overview)
    * [Chat Group](/en/realtime-media/im/build/build-groups-rooms-and-threads/chat-group/group-overview)
    * [Chat Room](/en/realtime-media/im/build/build-groups-rooms-and-threads/chat-room/chatroom-overview)
    * [RESTful API overview](/en/api-reference/api-ref/im)

    
  
      
  
      
  
