Release notes
Updated
Provides release notes of Agora Chat.
This page provides release notes for Chat SDK for Web.
Client API
v1.4.0
Released on July 3, 2026.
New features
- 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.
- Added support for setting, updating, and retrieving chat group avatars. For details, see Update the chat group avatar.
- Added an
infofield to thejoinChatRoomresponse, 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. - Added the
muteTimestampanduserIdparameters to themuteMemberevent, 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. - 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.
- Added the
membersPresenceandmembersAbsenceevents, 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 originalmemberPresenceandmemberAbsenceevents remain valid. For details, see Listen for chat group events. - Added an
announcementfield 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
createGroupVNextinstead of the deprecatedcreateGroup. For details, see Create and destroy a chat group.
Improvements
-
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.
- Text and custom messages: modify both the message body and the extension fields (
-
Allowed group owners, chat room owners, and admins to recall messages sent by other members. For details, see Recall a message.
-
Changed the trigger threshold for the
onTokenWillExpireevent: the SDK now triggers the event when 80% of the token's validity period has elapsed, instead of 50%. For details, see Authentication. -
Added support for retrieving a group or chat room member list that includes each member's user ID, role, and join time:
- Use
getGroupMembersinstead of the deprecatedlistGroupMembers. For details, see Retrieve the member list of a chat group. - Use
getChatRoomMembersinstead of the deprecatedlistChatRoomMembers. For details, see Retrieve the chat room member list.
- Use
-
Optimized the reconnection logic to automatically switch reconnection addresses by default.
-
Adjusted the execution order of the login callback
open().thenand the connection success eventonConnected. Callingopen()now triggers theonConnectedoronDisconnectedevent before resolvingopen().thenor rejectingopen().catch. This ensures that subsequent actions only occur after the connection is fully established, resolving the previous issue where messages could only be sent afteronConnectedwas triggered following the login callback. Login errors, such as authentication failures, are now thrown directly inopen().catch. -
Added
parseDownloadResponseanddownloadmethods to the SDK'smessageobject. These methods are now available in both theutilsobject and themessageobject.
Issues fixed
- The
conversationIdparameter value was incorrect in the message pinning eventonMessagePinEvent. - Message retrieval occasionally failed.
v1.3.1
v1.3.1 was released on December 20, 2024.
Improvements
- Added support for pinning messages in one-to-one conversations. Users can call
pinMessageorunpinMessageto pin or unpin a one-to-one chat message. - Added the
ConnectionParameters#isFixedDeviceIdparameter (trueby 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. 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
requestToJoinevent that is received by the group owner and administrators that approved the join request.
v1.3.0
v1.3.0 was released on December 11, 2024.
New features
- Added the
deleteAllMessagesAndConversationsmethod 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
broadcastfield 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
deliverOnlineOnlyfield during message creation to set whether the message is delivered only when the recipient(s) is/are online. If this field is set totrue, the message is discarded when the recipient is offline. - Added support for retrieval of historical messages of chat rooms from the server.
- Added the
useReplacedMessageContentsparameter 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
LocalCachemodule 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
applicantparameter to thejoinPublicGroupDeclinedevent to indicate the user that applies to join the group. - Added the
messagefield to the parameter typeSendMsgResultin the message sending success callback to return the message object that is successfully sent. - Added the
onMessageevent 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.thumbfield. - Added the
memberCountfield to the events that occur when a member joins or exits a group or chat room. - Added the
getSelfIdsOnOtherPlatformmethod 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
onModifiedMessageevent 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
- Fine tuned the error message for token-based login for the sake of accuracy.
- Formatted the
customExtsfield 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
agoraTokenparameter in theopenlogin method deprecated. Use theaccessTokenparameter instead.
Issues fixed
- Some types in the SDK are incorrect.
v1.2.0
v1.2.0 was released on December 6, 2023.
New features
- 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
getServerConversationsmethod to retrieve the conversation list from the server. MarkedgetConversationlistdeprecated. - Added the
searchOptionsparameter object to thegetHistoryMessagesmethod 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#RoamingDeleteMultiDeviceInfoevent 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
thumbnailHeightandthumbnailWidthparameters to theCreateImgMsgParametersinterface to allow you to send the image thumbnail size when sending an image message. - Added the
isLastfield to the returned content of thegetHistoryMessagesmethod to indicates whether the returned data is on the last page.
Improvements
- The
addContact,acceptInvitation,declineInvitation,addToBlackList, andremoveFromBlackListmethods support the Promise syntax.
Issues fixed
- A user, when pulling historical messages, sends a reception receipt to the server.
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
priorityattribute to the message creation methodcreateto implement the chat room message priority function. This ensures that high-priority messages are dealt with first. See Set message priority. - Adds the pagination parameters
pageNumandpageSizein thegetConversationlistmethod to allow users to get the conversation list from the server with pagination. See 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.
Improvements
Reduces the size of MiniCore.
Issues fixed
Type-related issues in TypeScript code.
v1.0.8
v1.0.8 was released on December 19, 2022.
Improvements
Optimized the callback for a message sending failure, to make sure that it is triggered immediately when the network is disconnected.
Issues fixed
The file_length parameter in the create method did not work when this method was called
to create an attachment message.
v1.0.7
v1.0.7 was released on November 22, 2022.
Improvements
- Split the SDK into several modules.
- Added in-line comments.
- Optimized the reconnection logic.
Issues fixed
- A compatibility issue with Internet Explorer.
- A lack of the longest validity period of a token.
v1.0.6
v1.0.6 was released on August 26, 2022.
New Features
- Adds disaster recovery policies.
- Adds
resourceIdto the group and chat room APIs to deliver event notifications to multiple devices of one user. - Adds the
needAffiliationsandneedRoleparameters to thegetJoinedGroupsmethod to return the number of group members and their roles.
Improvements
- Optimized communication protocols to reduce the data volume.
- Added inline documents.
Issues fixed
Some type definition errors.
v1.0.5
v1.0.5 was released on Jul 22, 2022.
New features
- Adds the
onGroupEventandonChatroomEventcallback events. - Adds the error code
MESSAGE_CURRENT_LIMITING, which means that the chat group message has exceeded the concurrent limit.
Improvements
- Supported retrieving the information of multiple chat groups using
getGroupInfo.
v1.0.3
v1.0.3 was released on May 16, 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.
- Supports data report.
Improvements
- 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
When the user switched the user ID, cache remains in the group message.
v1.0.2
v1.0.2 was released on April 19, 2022.
New features
- 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
- 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
v1.0.1.1 was released on January 19, 2022.
New features
This release adds the following features:
- Supports downloading group shared files using the
downloadGroupSharedFilemethod. - Supports retrieving group shared files by pagination using the
fecthGroupSharedFileListmethod.
v1.0.1
v1.0.1 was released on January 14, 2022.
New features
This release supports deleting the conversation thread using the deleteSession method.
Improvements
The release made the following improvements:
- Added a
buildingNumberparameter in the location message. - Added
error: type 221for sending a message to a user that is not a contact. - Added
error: type 219for failing to send a message because all the users are muted.
Issues fixed
This release fixe the issue that the onChanelMessage callback was not triggered and other known issues.
v1.0.0
v1.0.0 was released on December 10, 2021.
Improvements
This release made the following improvements:
- Added some error codes.
- Renamed some functions and updated the API annotations.
Fixed issues
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.
