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

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

    ## v1.4.0 [#v140-2]

    Released on July 3, 2026.

    #### New features [#new-features-22]

    * 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 an `info` field to the `joinChatRoom` response, so that a user receives the following information when joining a chat room: the chat room creation time (`createtimestamp`), whether all members are muted (`isallmembersmuted`), whether the user is on the allow list (`isinallowlist`), the current member count (`membercount`), and the user's mute expiration time (`muteexpiretimestamp`). For details, see [Join and leave a chat room](/en/realtime-media/im/build/build-groups-rooms-and-threads/chat-room/manage-chatrooms#join-and-leave-a-chat-room).
    * Added the `muteTimestamp` and `userId` parameters to the `muteMember` event, so that the chat room mute event includes the muted member's user ID and mute expiration time. 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 a specific group member from the server. For details, see [Retrieve message history of the specified conversation](/en/realtime-media/im/build/build-core-messaging/messages/retrieve-messages#retrieve-message-history-of-the-specified-conversation).
    * Added the `membersPresence` and `membersAbsence` 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. The original `memberPresence` and `memberAbsence` events remain valid. 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 an `announcement` field to the chat room announcement update event (`updateAnnouncement`), so that members receive the new announcement content after it is modified.
    * Added support for setting extension information when creating a group. Use `createGroupVNext` instead of the deprecated `createGroup`. For details, see [Create and destroy a chat group](/en/realtime-media/im/build/build-groups-rooms-and-threads/chat-group/manage-chat-groups#create-and-destroy-a-chat-group).

    #### Improvements [#improvements-24]

    * Added support for modifying more message types with `modifyMessage`:

      * Text and custom messages: modify both 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 `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 or chat room member list that includes each member's user ID, role, and join time:
      * Use `getGroupMembers` instead of the deprecated `listGroupMembers`. 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).
      * Use `getChatRoomMembers` instead of the deprecated `listChatRoomMembers`. For details, see [Retrieve the chat room member list](/en/realtime-media/im/build/build-groups-rooms-and-threads/chat-room/manage-chatroom-members#retrieve-the-chat-room-member-list).
    * Optimized the reconnection logic to automatically switch reconnection addresses by default.
    * Adjusted the execution order of the login callback `open().then` and the connection success event `onConnected`. Calling `open()` now triggers the `onConnected` or `onDisconnected` event before resolving `open().then` or rejecting `open().catch`. This ensures that subsequent actions only occur after the connection is fully established, resolving the previous issue where messages could only be sent after `onConnected` was triggered following the login callback. Login errors, such as authentication failures, are now thrown directly in `open().catch`.
    * Added `parseDownloadResponse` and `download` methods to the SDK's `message` object. These methods are now available in both the `utils` object and the `message` object.

    #### Issues fixed [#issues-fixed-21]

    * The `conversationId` parameter value was incorrect in the message pinning event `onMessagePinEvent`.
    * Message retrieval occasionally failed.

    ## v1.3.1 [#v131-2]

    v1.3.1 was released on December 20, 2024.

    #### Improvements [#improvements-25]

    * Added support for pinning messages in one-to-one conversations. Users can call `pinMessage` or `unpinMessage` to pin or unpin a one-to-one chat message.
    * Added the `ConnectionParameters#isFixedDeviceId` parameter (`true` by default) to specify whether to use a fixed device ID. Specifically, the SDK generates a device ID for a browser and saves it to the local storage. Then in the browser, all SDK instances use the same device. The setting of this parameter affects the strategy of forced logout in multi-device login use-cases. For details, see [Log in from multiple devices](/en/realtime-media/im/build/moderate-and-manage-client-behavior/multiple-device-login). In previous versions, a random device ID was used for connections of each SDK instance. In this case, each SDK instance uses a different device for connections.
    * Added the callback for DNS request failures.
    * Added the reason for requesting to join the group to the `requestToJoin` event that is received by the group owner and administrators that approved the join request.

    ## v1.3.0 [#v130-2]

    v1.3.0 was released on December 11, 2024.

    #### New features [#new-features-23]

    * Added the `deleteAllMessagesAndConversations` method to uni-directionally clear all conversations and messages in them on the server.
    * Added the function of tagging a conversation:
      * `addConversationMark`: Tags a conversation.
      * `removeConversationMark`: Untags a conversation.
      * `getServerConversationsByFilter`: Gets the conversations from the server by conversation tag.
      * `onMultiDeviceEvent#markConversation/unMarkConversation`: 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 `broadcast` field to the message object to indicate whether the message is a broadcast message sent via a RESTful API to all chat rooms under an app.
    * Added the `deliverOnlineOnly` field during message creation to set whether the message is delivered only when the recipient(s) is/are online. If this field is set to `true`, the message is discarded when the recipient is offline.
    * Added support for retrieval of historical messages of chat rooms from the server.
    * Added the `useReplacedMessageContents` parameter 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:
      * `pinMessage`: Pins a message.
      * `unpinMessage`: Unpins a message.
      * `getServerPinnedMessages`: Gets the list of pinned messages in a conversation from the server.
      * `onMessagePinEvent`: 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 `LocalCache` module for local conversation data management:
      * `getLocalConversations`: Gets the local conversation list.
      * `getLocalConversation`: Gets a local conversation.
      * `setLocalConversationCustomField`: Sets a custom field for a local conversation.
      * `clearConversationUnreadCount`：Resets the number of unread messages in a conversation to zero.
      * `removeLocalConversation`: Deletes a local conversation.
      * `getServerConversations`: Synchronizes the conversation list from the server to the local database.
    * Added the `applicant` parameter to the `joinPublicGroupDeclined` event to indicate the user that applies to join the group.
    * Added the `message` field to the parameter type `SendMsgResult` in the message sending success callback to return the message object that is successfully sent.
    * Added the `onMessage` event which returns the following types of received messages to the recipient in bulk: text, image, video, voice, location, and file messages and combined messages.
    * Added the thumbnail for a video message by using the first video frame as the video thumbnail whose URL can be accessed via the `videoMessage.thumb` field.
    * Added the `memberCount` field to the events that occur when a member joins or exits a group or chat room.
    * Added the `getSelfIdsOnOtherPlatform` method to get the list of login IDs of other login devices of the current user so that the user can send messages to a specific device.
    * Added the support for returning the modified custom message via the `onModifiedMessage` event if the message is modified via a RESTful API.
    * Added two login token expiration events:
      * `onTokenExpired`: Occurs when the token expires.
      * `onTokenWillExpire`: Occurs half of the token validity period is passed.

    #### Improvements [#improvements-26]

    * Fine tuned the error message for token-based login for the sake of accuracy.
    * Formatted the `customExts` field in the latest custom message of conversations in the conversation list.
    * Added support for uploading the attachment in fragments when sending an attachment message.
    * Marked the `agoraToken` parameter in the `open` login method deprecated. Use the `accessToken` parameter instead.

    #### Issues fixed [#issues-fixed-22]

    * Some types in the SDK are incorrect.

    ## v1.2.0 [#v120-2]

    v1.2.0 was released on December 6, 2023.

    #### New features [#new-features-24]

    * Added the function of forwarding multiple messages:
      * `downloadAndParseCombineMessage`: Downloads and parses a combined message.
      * `CreateCombineMsgParameters`: The properties of creating a combined message.
      * `CombineMsgBody`: The combined message body type.
    * Added the function of modifying sent messages:
      * `modifyMessage`: Modifies a sent text message.
      * `onModifiedMessage`: Occurs when a sent message is modified. The message recipient receives this event.
    * Added the function of pinning a conversation:
      * `pinConversation`: Pins a conversation.
      * `getServerPinnedConversations`: Retrieves the pinned conversations from the server.
    * Added the `getServerConversations` method to retrieve the conversation list from the server. Marked `getConversationlist` deprecated.
    * Added the `searchOptions` parameter object to the `getHistoryMessages` method for pulling historical messages from the server.
    * Added the function of managing custom attributes of group members:
      * `setGroupMemberAttributes`: Sets custom attributes of a group member.
      * `getGroupMemberAttributes`: Retrieves custom attributes of group members.
      * `GroupEvent#memberAttributesUpdate`: Occurs when a custom attribute is changed for a group member.
    * Added the `MultiDeviceEvent#RoamingDeleteMultiDeviceInfo` event that occurs when historical messages in a conversation are deleted from the server on one device. This event is received by other devices.
    * Added the `thumbnailHeight` and `thumbnailWidth` parameters to the `CreateImgMsgParameters` interface to allow you to send the image thumbnail size when sending an image message.
    * Added the `isLast` field to the returned content of the `getHistoryMessages` method to indicates whether the returned data is on the last page.

    #### Improvements [#improvements-27]

    * The `addContact`, `acceptInvitation`, `declineInvitation`, `addToBlackList`, and `removeFromBlackList` methods support the Promise syntax.

    #### Issues fixed [#issues-fixed-23]

    * A user, when pulling historical messages, sends a reception receipt to the server.

    ## v1.1.0 [#v110-2]

    v1.1.0 was released on April 28, 2023.

    #### New features [#new-features-25]

    * 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 `priority` attribute to the message creation method `create` to implement the chat room message priority function. This ensures that high-priority messages are dealt with first. See [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` in the `getConversationlist` 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 group creation event `create`, which occurs on other devices of the group owner after group creation.
    * 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-28]

    Reduces the size of MiniCore.

    #### Issues fixed [#issues-fixed-24]

    Type-related issues in TypeScript code.

    ## v1.0.8 [#v108-2]

    v1.0.8 was released on December 19, 2022.

    #### Improvements [#improvements-29]

    Optimized the callback for a message sending failure, to make sure that it is triggered
    immediately when the network is disconnected.

    #### Issues fixed [#issues-fixed-25]

    The `file_length` parameter in the `create` method did not work when this method was called
    to create an attachment message.

    ## v1.0.7 [#v107-2]

    v1.0.7 was released on November 22, 2022.

    #### Improvements [#improvements-30]

    * Split the SDK into several modules.
    * Added in-line comments.
    * Optimized the reconnection logic.

    #### Issues fixed [#issues-fixed-26]

    * A compatibility issue with Internet Explorer.
    * A lack of the longest validity period of a token.

    ## v1.0.6 [#v106-2]

    v1.0.6 was released on August 26, 2022.

    #### New Features [#new-features-26]

    * Adds disaster recovery policies.
    * Adds `resourceId` to the group and chat room APIs to deliver event notifications to multiple devices of one user.
    * Adds the `needAffiliations` and `needRole` parameters to the `getJoinedGroups` method to return the number of group members and their roles.

    #### Improvements [#improvements-31]

    * Optimized communication protocols to reduce the data volume.
    * Added inline documents.

    #### Issues fixed [#issues-fixed-27]

    Some type definition errors.

    ## v1.0.5 [#v105]

    v1.0.5 was released on Jul 22, 2022.

    #### New features [#new-features-27]

    * Adds the `onGroupEvent` and `onChatroomEvent` callback events.
    * Adds the error code `MESSAGE_CURRENT_LIMITING`, which means that the chat group message has exceeded the concurrent limit.

    #### Improvements [#improvements-32]

    * Supported retrieving the information of multiple chat groups using `getGroupInfo`.

    ## v1.0.3 [#v103-2]

    v1.0.3 was released on May 16, 2022.

    #### New Features [#new-features-28]

    * 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.
    * Supports data report.

    #### Improvements [#improvements-33]

    * Supports retrieving chat groups by pagination.
    * Supports setting the number of chat group members when creating a chat group.
    * Adds thumbnail URL to the received image messages.

    #### Issues fixed [#issues-fixed-28]

    When the user switched the user ID, cache remains in the group message.

    ## v1.0.2 [#v102-2]

    v1.0.2 was released on April 19, 2022.

    #### New features [#new-features-29]

    * 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-34]

    * The Uni\_SDK cannot run on the browser.
    * The user cannot modify the group description when creating a chat group.
    * The compatibility of SSR.

    ## v1.0.1.1 [#v1011-2]

    v1.0.1.1 was released on January 19, 2022.

    #### New features [#new-features-30]

    This release adds the following features:

    * Supports downloading group shared files using the `downloadGroupSharedFile` method.
    * Supports retrieving group shared files by pagination using the `fecthGroupSharedFileList` method.

    ## v1.0.1 [#v101-2]

    v1.0.1 was released on January 14, 2022.

    #### New features [#new-features-31]

    This release supports deleting the conversation thread using the `deleteSession` method.

    #### Improvements [#improvements-35]

    The release made the following improvements:

    * Added a `buildingNumber` parameter in the location message.
    * Added `error: type 221` for sending a message to a user that is not a contact.
    * Added `error: type 219` for failing to send a message because all the users are muted.

    #### Issues fixed [#issues-fixed-29]

    This release fixe the issue that the `onChanelMessage` callback was not triggered and other known issues.

    ## v1.0.0 [#v100-2]

    v1.0.0 was released on December 10, 2021.

    #### Improvements [#improvements-36]

    This release made the following improvements:

    * Added some error codes.
    * Renamed some functions and updated the API annotations.

    #### Fixed issues [#fixed-issues-4]

    This release fixed the following issues:

    * The delivery acknowledgement was not received.
    * The group announcement could not be set as null.
    * An error was reported when muting a specified user during chat.

    
  
      
  
      
  
      
  
      
  
