- Supports the international website.
- createLocationMessage supports sending geographical location messages.
- Supports uploading images, videos, documents for easy download and preview (compatible with uniapp).
- Adds the
nameCard parameters to the
lastMessage data structure of Conversation to better display the sender’s information of the
lastMessage in a group chat.
- getConversationList supports getting multiple specified conversations at a time.
- Increases the stability of persistent connections.
- Fixes the issue where the CONVERSATION_LIST_UPDATED event is not sent after login when there is no conversation list cache or no pagination for recent contacts.
- Fixes the issue where in some scenarios the
isCompleted parameter is always
false in the response to the call of the getMessageList API.
- Fixes the issue where the
index parameter is missing on the recipient side when
index was set to
0 in the call of the createFaceMessage API.
- When a group message is sent, the SDK automatically adds the
nameCard attribute to the message body to facilitate display on the access side.
- Forced logout due to multi-client login or multi-instance login no longer triggers server-side logout callbacks.
- When roaming messages were pulled in C2C conversations, messages occasionally got lost.
- Group joining remarks (applyMessage) were missing.
- When a user consecutively calls the login API before login, error code
2025 is returned, indicating repeated login.
- After WebSocket reconnection, the SDK logs in again and synchronizes unread messages to ensure message reliability.
- When a user consecutively called the login API before login, the unread message count of the conversation was incorrect.
nameCard passed in an empty string when the setGroupMemberNameCard API was called, the SDK reported an error.
- When the getGroupMemberList API was called, the value of
muteUntil in the packet returned was incorrect.
Supports friend relationship chain. For more information, see Usage Guide.
An error was occasionally reported when WebSocket persistent connections were disconnected.
Video upload progress callback is supported on mini programs.
The unread message count of a conversation no longer includes the group notifications about not saving the modifications on custom group fields to the roaming server.
Users in an audio-video group occasionally failed to receive group notifications on the group joining by themselves.
- When a user used a RESTful API to send C2C messages with
random being set to
0, the receiver triggered the MESSAGE_RECEIVED event twice.
- Supports counting unread messages in meeting groups.
- The TIM.EVENT.MESSAGE_MODIFIED event is added. When a third-party calls back a modified message, the SDK uses this event to notify the message sender of the message modification.
- Fixed the issue where group roaming messages occasionally get lost when they are pulled.
- Fixed the
xx.toFixed is not a function issue that may occur during uni-app integration.
- deleteMessage supports deleting messages.
- During conversation list synchronization,
lastMessage can be set to a recalled message.
- getGroupMemberList supports pulling the group joining time
nick value is incorrect in the notifications sent when a user is set or canceled as the admin.
- The custom field
cloudCustomData can be set during message creation to meet diverse business needs.
- When createGroup or addGroupMember is called, if a single user exceeds the maximum number of groups a single user can join, use
overLimitUserIDList to notify the access side.
- The createMergerMessage API for creating combined messages.
- The createForwardMessage API for creating forward messages.
- When an account logs in on multiple instances or clients, once conversation read is reported on one instance or client, the unread count of the conversation will be synchronously cleared on the web client.
The MTA statistics feature is deprecated.
- Web: when an account logged in on multiple instances, the profile photo and nickname of the other party in a one-to-one conversation were incorrect.
- When you called back and called the RESTful API to recall messages frequently after sending messages, some of them were not recalled correctly.
If a user hasn't joined a group (not an audio-video group), calling quitGroup will return error code 2623, indicating that the user is not in the group.
avatar (profile photo) or
nick (nickname) was inconsistent in the one-to-one conversation message list.
- Supports sending and receiving one-to-one messages with
avatar (profile photo) and
nick (nickname) displayed.
- Supports the Tencent Cloud IM upload plugin tim-upload-plugin. This plugin enables more secure file upload, supports web, WeChat, QQ, Baidu, Toutiao, and Alipay Mini Program platforms, and is merely 26 KB. For more information, see registerPlugin.
- When a user joined an audio-video group anonymously after logging out, the error code 70402 was returned in the response packet during a long polling.
- The browser environment was misjudged during Taro 3.0+ integration.
- When the image type and size verification failed, there were errors in the returned data structure.
A compilation error occurred when tim-wx-sdk.js was imported into the basic library 2.14.1 of WeChat Developer Tools.
- The createTextAtMessage API allows users to specify @ a specific member or @ all members during a group chat.
- Message adds the
namecard attribute to display group members’ group name cards (i.e., their nicknames in a group).
The logout API can be called when the SDK is not ready.
- Errors occurred in SDK operations when read receipts and read notifications existed at the same time.
- Attempts to anonymously re-join an audio-video group after logout failed.
- The group list was cleared abnormally.
- The WeChat, QQ, Baidu, Toutiao, and Alipay Mini Program platforms are supported (currently on the Baidu, Toutiao, and Alipay Mini Program platforms, image, video, or file messages, or other messages that need to be uploaded to COS, cannot be sent).
- The third-party frameworks of MPX and uni-app are supported.
Images in BMP format can be sent.
lastMessage of the conversation object are not updated when the sender sends an online message and the recipient receives the online message.
The SDK could not enter the ready state due to problems synchronizing the list of recent contacts.
- getGroupOnlineMemberCount supports querying the number of online users in an audio-video group.
- Supports image compression. The access side can choose to display the original image or thumbnail based on business requirements. For more information, see ImagePayload.
Compatibility issues when Taro 3.x integrates WebIM
SDK size reduction. The size of tim-js-sdk is reduced by 8.5%, and that of tim-wx-sdk is reduced by 15%.
The TIM.create API adds the
oversea parameter. When this parameter is set to
true, the SDK uses a domain name outside the Chinese mainland to avoid interference.
- The return value for calling relevant APIs was
undefined when the SDK was in the
not ready state.
- Issues related to statistics
The TIM.EVENT.SDK_RELOAD event was added.
- Audio-video groups occasionally failed to pull messages in cases where the network was reconnected after a long disconnection or the Mini Program switched to the foreground after running in the background for a long time.
- The type and value of
imageFormat of an image message were inconsistent with those of the actual image.
- The nicknames displayed in work groups and public groups were incorrect.
Messages occasionally failed to be pulled if an audio-video group (AVChatRoom) was used for a long time.
After the RESTful API for creating a work group was called to create a work group successfully and the group members were specified, messages from group members would fail to be sent.
- Occasionally, when joinGroup was called, the SDK prompted "Already in the group" but in fact the user was not in the group. Consequently, the user could not send or receive messages.
- The count of messages sent in a temporary meeting group was incorrect.
Supports one-to-one message read receipts (indicating whether the peer has read your messages). For more information, see the event TIM.EVENT.MESSAGE_READ_BY_PEER. In a message that has already been read by the peer, the value of
- After a user joined a chat room (ChatRoom), the newly created conversation did not display the last message.
- After login, a user who had not joined an audio-video group (AVChatRoom) could still send a message to the audio-video group (AVChatRoom).
- In audio-video groups (AVChatRoom), messages were occasionally repeatedly displayed on the screen.
- An error was reported when getMessageList received an empty message.
- If login was called again after logout, error
70001 occasionally occurred when [https://web.sdk.qcloud.com/im/doc/en/SDK.html#joinGroup) was called.
The sendMessage API added the sending option to support the sending of online messages (no offline or roaming messages; cannot be used for AVChatRoom or BChatRoom) and the configuration of offline push.
- Message content was lost because the input
payload.data payload.extension type of createCustomMessage is incorrect.
- Multiple messages contained in a response to a single request were disordered.
- The unread count could not be cleared occasionally after the read count is reported because the number of unread one-to-one conversions overflows.
event.data.undefined were undefined occasionally.
The unread count could not be cleared when the latest group message was a group prompt.
Files could not be uploaded occasionally when the uploaded COS signature was invalid and not updated in a timely manner.
- The web client supports creating and sending video messages of up to 100 MB by calling createVideoMessage.
avatar attributes are added to Message to display the nickname and profile photo address of the message sender in an audio-video group (AVChatRoom). You need to set the nickname and profile photo address in advance by calling updateMyProfile.
- Web: when an account logs in on multiple instances, the one-to-one message recall notification can be synchronized across these instances.
- After updateGroupProfile is called to successfully modify custom group fields, group members can receive group notifications and obtain related content Message.payload.newGroupProfile.groupCustomField.
TIM.EVENT.GROUP_SYSTEM_NOTICE_RECEIVED is deprecated and replaced by MESSAGE_RECEIVED.
Errors occurred occasionally when the getGroupList API was called.
When searchGroupByID fails, the log level is degraded to warning and the prompt text is modified.
- Anonymous users or visitors failed to join TIM.TYPES.GRP_AVCHATROOM groups and had statistical problems.
- Other known issues
When login is successful, the key-value pair
repeatLogin: true is added for the
imResponse.data callback object to identify repeated login of a login account.
The priority of messages received at the receiver side of an audio-video group is different from that set on the sender side.
- The network status change event TIM.EVENT.NET_STATE_CHANGE is added, and the access side can make related prompts and guidance based on this event.
- Running in WeChat Mini Program plug-in environments is supported.
Error codes are reduced and optimized.
- After an audio-video group was created in the console and a group owner was specified, messages sent by other group members will be repeated on the group owner side after the group owner joins the group.
- When groups were created and terminated in the console or using a RESTful API frequently, the SDK did not deliver the TIM.EVENT.GROUP_SYSTEM_NOTICE_RECEIVED event.
- getMessageList failed to get the group message list occasionally.
Message priorities, enumerated values, and use cases can be set for group messages.
- Some online messages could not be pulled occasionally.
- After a system notification from an audio-video group was received, the TIM.EVENT.MESSAGE_RECEIVED event was not delivered.
- In some scenarios, the group message recall result was inaccurate.
- Other known issues
- The maximum size of files uploaded through createFileMessage is increased from 20 MB to 100 MB.
shutupTime of group prompts will be deprecated. Use
- Listening events could not be canceled by calling the off API.
- The value and type of the
isRead attribute in Message were incorrect.
- The error code and error message were incorrect when the video file in a sent video message exceeded the maximum size.
- The content of updated custom fields was incorrect occasionally.
- The JOIN_STATUS_ALREADY_IN_GROUP event occurred occasionally when a user logged in and joined an audio-video group.
- core-js caused potential performance issues.
getUserProfile and updateMyProfile support custom profile fields.
Messages were lost in combined messages obtained using getMessageList.
- When messages fail to be sent, the SDK returns the actual error codes and error messages.
- When logout is called, only the message channel of the current instance logs out.
- When a callback function passed in by the access side is encapsulated for security purposes and the logic of the callback function is incorrect, errors can be captured and located quickly.
- The SDK provides Chinese error information when IM server-side error codes are received.
- Messages were lost occasionally when the WeChat Mini Program went to foreground after staying in the background for a long time.
- TIM.EVENT.CONVERSATION_LIST_UPDATED was triggered several times when a message was sent.
- The SDK reported errors when files, such as images were uploaded if registerPlugin was not called or incorrect parameters were entered.
- Long polling did not stop after a TIM.TYPES.GRP_AVCHATROOM group was disbanded.
- When "multi-instance" or "multi-client" login was enabled, other instances or clients failed to receive messages after a web instance was logged out.
- The SDK reported errors occasionally due to the structure of session lists that were pulled.
The logic for getting group roaming messages is optimized.
- The SDK reported error code 2901 after the group owner of an audio-video group modified the group profile.
- After the group admin processed apps for joining a group, processed apps can be received after refresh.
- Mini Programs support creating and sending video messages via the createVideoMessage API. Video messages can be synced across platforms. You need to update to the latest versions of the TUIKit and SDK.
- The getGroupMemberProfile API is added.
- Compatible with audio and file messages sent by Native IM v3.x.
- Location messages GeoPayload can be received.
Up to 100 groups can be written to local storage. The SDK does not write the full group list when there are more than 100 groups.
- Long polling of TIM.TYPES.GRP_AVCHATROOM groups continues after logout.
- The group contact cards in message instances of TIM.TYPES.GRP_AVCHATROOM groups did not have values.
- Errors were reported when Internet Explorer 10 was used.
- Users could not join groups anonymously.
- When the
Promise status returned by an SDK API is
rejected, the SDK no longer delivers a TIM.EVENT.ERROR event.
- Updates to a user's profile are immediately written to the local cache.
- Code running failed after SDK integration when Angular zone.js modified prototype chains.
- After a group owner created and joined a TIM.TYPES.GRP_AVCHATROOM group, the group owner could not receive messages.
- Initialization failed when the group list was excessively large.
Combined messages (multiple message elements in one message) sent via RESTful API calls or the legacy IM version are compatible. For more information, see Compatibility Guide.
- The unread count was inaccurate.
- Messages were disordered because read messages were not reported.
- Empty image messages were sent successfully but could not be rendered. The SDK did not support sending empty image messages.
- Empty file messages were sent with incorrect message status. The SDK did not support sending empty file messages.
- SDK code errors were reported occasionally when getGroupMemberList was called.
getGroupList supports pulling group profile information, including the group owner ID and group member count.
- SDK code errors were reported when a RESTful API is used to send custom group notifications in an audio-video chat room.
- The SDK did not send a request to pull historical messages when a user re-joined a left group and called the
- SDK code errors were reported when upload failed.
Mini Programs support sending audio messages. Audio messages can be synced across platforms. You need to update to the latest versions of the TUIKit and SDK.
getMessageList could still pull historical messages in a quit group after rejoining.
- getMessageList could not pull messages in deleted group chats.
- Group system notifications did not contain group names.
- When a conversation was created after receiving a new message, the conversion did not have the profile of the message sender.
Image messages failed to be sent under the React framework.
The actual width and height of an image are detected before the image message is sent.
- Screen splash occurred when mini programs sent image messages.
- JPG or other images failed to be sent.