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

> 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-1]

    ## v1.4.0 [#v140-1]

    Released on July 3, 2026.

    #### New features [#new-features-11]

    * 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 [Manage the chat group avatar](/en/realtime-media/im/build/build-groups-rooms-and-threads/chat-group/manage-group-attributes#manage-the-chat-group-avatar).
    * 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 `AgoraChatroomManagerDelegate#chatroomMuteListDidUpdate:addedMutedMembers:` event, which provides the muted members' user IDs and their mute expiration timestamps through an `NSDictionary<NSString *, NSNumber *>` parameter. This event deprecates the old `AgoraChatroomManagerDelegate#chatroomMuteListDidUpdate:addedMutedMembers:muteExpire:` 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. 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 `AgoraChatGroupManagerDelegate#userDidJoinGroup:users:` and `AgoraChatGroupManagerDelegate#userDidLeaveGroup:users:` 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 `AgoraChatGroupManagerDelegate#userDidJoinGroup:user:` and `AgoraChatGroupManagerDelegate#userDidLeaveGroup:user:`. 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).

    #### Improvements [#improvements-13]

    * 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 support for modifying more message types with `AgoraChatManager#modifyMessage`:

      * 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).

    * Changed the trigger threshold for the `AgoraChatClientDelegate#tokenWillExpire` 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 `AgoraChatGroupManager#fetchGroupMemberInfoListFromServerWithGroupId:cursor:limit:completion:`. For details, see [Retrieve the member list of a chat group](/en/realtime-media/im/build/build-groups-rooms-and-threads/chat-group/manage-chat-groups#retrieve-the-member-list-of-a-chat-group).

    * Changed `AgoraChatCursorResult#cursor` from `undefined` to an empty string (`""`) when `AgoraChatManager#fetchMessagesFromServerBy:conversationType:cursor:pageSize:option:completion:` reaches the last page of roaming messages.

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

    * Optimized certain database operations.

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

    * Improved the `applicationWillEnterForeground` logic by sending a ping message to trigger reconnection.

    * Disabled the default constructors of `AgoraChatMessage`, `AgoraChatConversation`, and `AgoraChatMessageBody` to prevent crashes caused by null pointers.

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

    * 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.

    #### Issues fixed [#issues-fixed-13]

    * Messages in memory were not deleted when the corresponding local conversation was removed.
    * The `TYPE` field was empty in the `AgoraChatThreadManagerDelegate#onUserKickOutOfChatThread` event.
    * A crash occurred on certain devices when retrieving the start and end times of the conversation Do Not Disturb (DND) settings.
    * `AgoraChatManagerDelegate#onMessageContentChanged` did not return modification details when editing message types other than text and custom messages.
    * After a group or chat room was disbanded, the SDK still fetched group or chat room details from the server after members received the disband event.
    * The database was mistakenly rebuilt when a `SQLITE_BUSY` error occurred.
    * The latest message in a conversation retrieved from the server with `AgoraChatManager#getConversationsFromServerWithCursor` did not contain translations or message reactions.
    * Some API completion callbacks were not executed on the main thread, including:
      * All APIs in `AgoraChatUserInfoManager` and `AgoraChatPresenceManager`.
      * The `fetchMessagesFromServer`, `fetchSupportedLanguages`, `translateMessage`, and `getMessageCountWithCompletion` APIs in `AgoraChatChatManager`.
    * A crash occurred under extreme network conditions.

    <CalloutContainer type="info">
      <CalloutDescription>
        A compilation error may occur when you use Agora Chat SDK with Signaling SDK 2.2.0 or later, or Video SDK 4.3.0 or later. For the fix, see [Integration issues](../get-started-sdk#integration-issues).
      </CalloutDescription>
    </CalloutContainer>

    ## v1.3.1 [#v131-1]

    v1.3.1 was released on December 20, 2024.

    #### Improvements [#improvements-14]

    * Added support for pinning messages in one-to-one conversations. Users can call `AgoraChatManager#pinMessage` or `AgoraChatManager#unpinMessage` to pin or unpin a one-to-one chat message.

    #### Issues fixed [#issues-fixed-14]

    * A crash occurs when `conversationId` is empty during message sending.
    * An incorrect `nextkey` is returned when pulling roaming messages.
    * The number of unread messages is inconsistent among multiple devices in certain use-cases.
    * The specified image thumbnail size does not take effect during message sending.

    ## v1.3.0 [#v130-1]

    v1.3.0 was released on December 11, 2024.

    #### New features [#new-features-12]

    * Added the privacy protocol `PrivacyInfo.xcprivacy`.
    * Added the `AgoraChatManager#deleteAllMessagesAndConversations:completion:` 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 `AgoraChatMessageSearchScope` during keyword-based search:
      * `AgoraChatMessageSearchScope`: Includes three message search scopes: the message content, message extension information, and both.
      * `AgoraChatManager#loadMessagesWithKeyword:timestamp:count:fromUser:searchDirection:scope:completion:`: Searches for messages in all conversations by search scope.
      * `AgoraChatConversation#loadMessagesWithKeyword:timestamp:count:fromUser:searchDirection:scope:completion:`: Searches for messages in a conversation by search scope.
    * Added the function of tagging a conversation:
      * `AgoraChatManager#addConversationMark:completion`: Tags a conversation.
      * `AgoraChatManager#removeConversationMark:completion`: Untags a conversation.
      * `AgoraChatManager#getConversationsFromServerWithCursor:filter:completion`: Gets the list of conversations from the server by conversation tag.
      * `AgoraChatConversation#marks`: Gets all tags of a local conversation.
      * `multiDevicesConversationEvent#AgoraChatMultiDevicesEventConversationUpdateMark`: 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 `AgoraChatMessage#broadcast` property to indicate whether the message is a broadcast message sent via a RESTful API to all chat rooms under an app.
    * Added the `AgoraChatMessage#deliverOnlineOnly` property to determine whether the message is delivered only when the recipient(s) is/are online. If this property is set to `YES`, the message is discarded when the recipient is offline.
    * Added the `AgoraChatGroupManager#getJoinedGroupsCountFromServerWithCompletion` method to allow the current user to retrieve the total number of joined groups.
    * Added the error code 706 `AgoraChatErrorChatroomOwnerNotAllowLeave` that occurs when chat room owner leaves the chat room. If `AgoraChatOptions#canChatroomOwnerLeave` is set to `NO` 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 the `leaveChatroom` method.
    * Added the support for retrieval of historical messages of chat rooms from the server.
    * Added the `AgoraChatOptions#useReplacedMessageContents` method 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:
      * `AgoraChatManager#pinMessage:completion:`: Pins a message.
      * `AgoraChatManager#unpinMessage:completion:`: Unpins a message.
      * `AgoraChatManager#getPinnedMessagesFromServer:completion:`: Gets the list of pinned messages in a conversation from the server.
      * `AgoraChatConversation#pinnedMessages`: Gets the list of pinned messages in a local conversation.
      * `AgoraChatMessagePinInfo`: Includes the operator that pins or unpins the message and the operation time.
      * `AgoraChatMessage#pinnedInfo`: Includes the message pinning information.
      * `AgoraChatMessageListener#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 `AgoraChatManager#markAllConversationsAsRead` method to mark all conversations as read. Upon a call of this method, the number of unread messages of all conversations is reset to zero.
    * Added the `AgoraChatOptions#includeSendMessageInMessageListener` property to set whether to return the successfully sent message in the `messagesDidReceive` event.
    * Added the `AgoraChatOptions#loadEmptyConversations` property to set whether to include empty conversations in the retrieved list of local conversations.
    * Added the `applicant` and `decliner` parameters to the  `AgoraChatGroupManagerDelegate#joinGroupRequestDidDecline:reason:decliner:applicant:` event to respectively indicate the user that applies to join the group and the user that declines the join request.
    * Added the support for returning the modified custom message via the  `AgoraChatChatManagerDelegate#onMessageContentChanged:operatorId:operationTime` event if the message is modified via a RESTful API.

    #### Improvements [#improvements-15]

    * Added support for forwarding of single attachment messages by passing in the message body, 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 the member count when members join or leave the chat room.
    * Fine tuned the error message for token-based login for the sake of accuracy.
    * 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.
    * Allowed users to get the general mute status of groups (the value of `AgoraChatGroup#isMuteAllMembers`) locally upon login by storing the status in the local database.
    * Increased the maximum allowed size of a log file from 2 MB to 5 MB.
    * Added support for uploading the attachment in fragments when sending an attachment message.
    * Marked the `AgoraChatClient#loginWithUsername:agoraToken:` and `AgoraChatClient#loginWithUsername:password:` methods deprecated. Use the `AgoraChatClient#loginWithUsername:token` method instead.
    * Optimized the way messages are resent.
    * Optimized the database upgrade logic.

    #### Issues fixed [#issues-fixed-15]

    * The members in a group are double counted in certain use-cases.
    * A SQL statement error is reported when a single quotation mark `'` is included in a message search keyword.
    * The SDK reconnects to the server twice after the network is back to normal.
    * 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.

    ## v1.2.0 [#v120-1]

    v1.2.0 was released on December 6, 2023.

    #### New features [#new-features-13]

    * Added the function of forwarding multiple messages:
      * `AgoraChatManager#downloadAndParseCombineMessage`: Downloads and parses a combined message.
      * `AgoraChatMessageBodyTypeCombine`: The combined message type.
      * `AgoraChatCombineMessageBody`: The combined message body class.
    * Added the function of modifying sent messages:
      * `AgoraChatManager#modifyMessage`: Modifies a sent text message.
      * `AgoraChatManagerDelegate#onMessageContentChanged`: Occurs when a sent message is modified. The message recipient receives this callback.
    * Added the function of pinning a conversation:
      * `AgoraChatManager#pinConversation`: Pins a conversation.
      * `AgoraChatManager#getPinnedConversationsFromServerWithCursor`: Retrieves the pinned conversations from the server.
    * Added the `AgoraChatManager#getConversationsFromServerWithCursor` method to retrieve the conversation list from the server. Marked `getConversationsFromServer` and `getConversationsFromServerByPage:pageSize:completion:` deprecated.
    * Added the `AgoraChatManager#getAllConversations:` method to retrieve local conversations in the reverse chronological order of when conversations are active.
    * Added `AgoraChatFetchServerMessagesOption` as the parameter configuration class for retrieving historical messages from the server.
    * Added the `AgoraChatManager#fetchMessagesFromServerBy` method to retrieve historical messages of a conversation from the server according to `AgoraChatFetchServerMessagesOption`, the parameter configuration class for retrieving historical messages.
    * Added the `AgoraChatConversation#removeMessagesStart` method to delete messages sent or received in a certain period from the local database.
    * Added the function of managing custom attributes of group members:
      * `AgoraChatGroupManager#setMemberAttribute`: Sets custom attributes of a group member.
      * `AgoraChatGroupManager#fetchMemberAttributes`: Retrieves custom attributes of group members.
      * `AgoraChatGroupManagerDelegate#onAttributesChangedOfGroupMember`: Occurs when a custom attribute is changed for a group member.
    * Added error codes:
      * `AgoraChatErrorAppActiveNumbersReachLimitation`: The number of daily active users (DAU) or monthly active users (MAU) for the app has reached the upper limit.
      * `AgoraChatErrorMessageSizeLimit`: You have exceeded the maximum allowed size of a message body.
      * `AgoraChatErrorGroupMemberAttributesReachLimit`: The total length of custom attributes of the group member has exceeded the upper limit (4 KB).
      * `AgoraChatErrorGroupMemberAttributesUpdateFailed`: Fails to set the custom attribute(s) of the group member.
      * `AgoraChatErrorGroupMemberAttributesKeyReachLimit`: The key of a custom attribute(s) of the group member has exceeded the maximum allowed length of 16 bytes.
      * `AgoraChatErrorGroupMemberAttributesValueReachLimit`: The value of a custom attribute(s) of the group member has exceeded the maximum allowed length of 512 bytes.
    * Added multi-device operations:
      * `AgoraChatMultiDevicesEvent#AgoraChatMultiDevicesEventGroupMemberAttributesChanged`: Custom attributes are changed for a group member on one device. This event is received by other devices.
      * `AgoraChatMultiDevicesEvent#AgoraChatMultiDevicesEventConversationPinned`: A conversation is pinned on one device. This event is received by other devices.
      * `AgoraChatMultiDevicesEvent#AgoraChatMultiDevicesEventConversationUnpinned`: A conversation is unpinned on one device. This event is received by other devices.
      * `AgoraChatMultiDevicesEvent#AgoraChatMultiDevicesEventConversationDelete`: A conversation is deleted from one device. This event is received by other devices.
    * Added the `NSArray *operations` attribute in `AgoraChatMessageReactionChange`:
      * `AgoraChatMessageReactionOperation#userId`: The user ID of the operator.
      * `AgoraChatMessageReactionOperation#reaction`：The changed Reaction.
      * `AgoraChatMessageReactionOperation#operate`：The Reaction operation.

    #### Improvements [#improvements-16]

    * Supported the ARM64 simulator on macOS.
    * Optimized the `loadMessagesWithKeyword` method to include custom messages in the search scope.

    ## v1.1.0 [#v110-1]

    v1.1.0 was released on April 28, 2023.

    #### New features [#new-features-14]

    * 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](/en/api-reference/api-ref/im/chatroom-management/manage-chatroom-attributes).
    * Adds the `AgoraChatMessage#priority` attribute to implement the chat room message priority function to ensure that high-priority messages are dealt with first. [Set message priority](/en/realtime-media/im/build/build-core-messaging/messages/send-receive-messages#set-message-priority).
    * Adds the pagination parameters `pageNum` and `pageSize` to the `IAgoraChatManager#getConversationsFromServer` 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 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-17]

    Improved code security.

    ## v1.0.9 [#v109-1]

    v1.0.9 was released on December 19, 2022.

    #### Issues fixed [#issues-fixed-16]

    * 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.8 [#v108-1]

    v1.0.8 was released on November 22, 2022.

    #### Issues fixed [#issues-fixed-17]

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

    ## v1.0.7 [#v107-1]

    v1.0.7 was released on September 7, 2022.

    #### New features [#new-features-15]

    * Adds the `isDisabled` attribute to `AgoraChatGroup` 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 `getGroupSpecificationFromServerWithId` method 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 (`AgoraChatErrorPresenceCannotSubscribeSelf`) to indicate that users cannot subscribe to their own presence.
    * Adds `AgoraChatLogDelegate` to implement SDK running log callbacks.

    #### Improvements [#improvements-18]

    * Changed the `chatManager/contactManager/groupManager/threadManager/roomManager/pushManager` attribute in `AgoraChatClient` from `_Nonnull` to `_Nullable`. The value of this attribute is `Nil` prior to the SDK initialization.
    * Optimized the login process for quicker login.
    * Upgraded the message encryption algorithm from CBC to GCM.

    #### Issues fixed [#issues-fixed-18]

    * When users logged out and the push certificate was unbinded from the device, crashes occurred if the push certificate was not set during SDK initialization.
    * Typos in some methods.

    ## v1.0.6 [#v106-1]

    v1.0.6 was released on Jul 22, 2022.

    #### New features [#new-features-16]

    * Supports marking whether a message is an online message by using the `onlineState` member in `AgoraChatMessage`.
    * Adds an error code 509 `AGORAMESSAGECURRENTLIMITING` in `AgoraChatError`, which means that the chat group message has exceeded the concurrent limit.
    * Adds an `groupSpecificationDidUpdate` callback in `AgoraChatGroupManagerDelegate`, which occurs when the state specification updates.
    * Adds a `bindDeviceToken` method in `AgoraChatPushManager`, which binds the device token.

    #### Improvements [#improvements-19]

    * Improved thread-related methods and classes. Compared with earlier releases, this release used `AgoraChatThread` to replace `AgoraChatThreadInfo`.
    * Assigned a value to `aGroupName` in the `groupInvitationDidReceive` callback.
    * Upgraded the network link library.
    * Supported sending messages with a remote address as the attachment.

    #### Issues fixed [#issues-fixed-19]

    * The retrieved reaction object was empty.

    ## v1.0.4 [#v104-1]

    v1.0.4 was released on May 15, 2022.

    #### New features [#new-features-17]

    * 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 [#improvements-20]

    * Enhanced DNS configuration for retrieving the server access point.
    * Improved data reports.
    * Changed openssl to boringssl.

    ## v1.0.3.1 [#v1031-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 [#v103-1]

    v1.0.3 was released on April 19th, 2022.

    #### New features [#new-features-18]

    * Supports the presence feature, which indicates the online status of the user.
    * Supports translation. You can implement translation on the recipient's client, or auto-translation on the sender's client.

    #### Improvements [#improvements-21]

    * Shortened the time out for sending messages.
    * Enhanced the request success rate.

    ## v1.0.2 [#v102-1]

    v1.0.2 was released on Feb 23, 2022.

    #### New features [#new-features-19]

    * Supports deleting conversations on the server.
    * Supports synchronization of do-not-disturb events when the user ID is logged in to multiple devices.
    * Supports customizing messages using extension fields, badges, CMD messages for message push.
    * Supports sending and receiving image files in PNG.
    * Adds an error code 221 `EMErrorUserNotOnRoster` which is reported when the user sends a message to another user that is not a contact.

    #### Improvements [#improvements-22]

    * Reduced the time for preparing to send messages under poor network conditions.
    * Supports calling Objective-C methods in Swift projects.

    #### Issues fixed [#issues-fixed-20]

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

    ## v1.0.1.1 [#v1011-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 [#v101-1]

    v1.0.1 was released on December 27, 2021.

    #### New features [#new-features-20]

    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 [#fixed-issues-2]

    This release fixed the following issues:

    * Some crash issues occurred.
    * An issue occurred in the database encryption.
    * After a user deleted and reinstalled the chat app, the automatic login was still enabled.

    #### API changes [#api-changes-1]

    v1.0.1 adds the following APIs:

    * `createLocationSendMessage` \[1/2]
    * `deleteMessagesBeforeTimestamp`
    * `getAllMsgCount`

    ## v1.0.0 [#v100-1]

    v1.0.0 was released on December 6, 2021.

    <CalloutContainer type="warning">
      <CalloutDescription>
        This release has an issue that the database occasionally fails to load. Agora recommends you upgrade to the latest version as soon as possible.
      </CalloutDescription>
    </CalloutContainer>

    #### New features [#new-features-21]

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

    #### Improvements [#improvements-23]

    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.
    * No longer checks whether the user is a member of the group upon receiving a group message.

    #### Fixed issues [#fixed-issues-3]

    This release fixed the following issues:

    * Crashes occurred in certain use-cases.
    * The callbacks for token expirations were not triggered accurately.

    
  
      
  
      
  
      
  
      
  
      
  
