In-app Chat
  • iOS : Objective-C
  • Android
  • Web
  • Flutter
  • React Native
  • Unity3D
  • Windows
  • macOS
  • Introduction
    • Overview
    • Basic concepts
  • Sample app
  • Getting started
  • Client SDKs
    • SDK downloads
    • Release notes
    • Upgrade guide
  • Guides
    • Authentication
    • Manage users
    • Room
    • Group
    • Messaging
    • Call invitation (signaling)
    • Manage sessions
  • Offline push notifications
  • Error codes
  • Client APIs
  • Server APIs

Release notes

Last updated:2023-06-29 15:14

Version 2.7.0

Release date: 2023-03-07

New features

Feature Description Method
Add Package Management Method Add the Swift Package Manager as a package management method. -


Item Description Method
Optimization of clearing userName during user login Distinguish between the interface for modifying the username and the interface for logging in. When a user logs in and clears the userName, the userName will no longer be modified, optimizing the user login experience. userName
Optimization of session message fetching timing The SDK intelligently detects the user's session activity to optimize the timing of data synchronization, improving user query speed and experience. -
Optimization of network reconnection timing After the APP loses network connection, the SDK will continuously detect changes in network status and the foreground/background status of the APP, speeding up the user's reconnection process. -

Version 2.6.0

Release date: 2023-01-17

New features

Feature Description Method
Added server callbacks related to call invitation You can confirm the results of the call invitation via the server callbacks provided by In-app Chat, which suits the call invitations made in a weak network condition (results returned by the SDK can be volatile).
Extended fields are added to the message body The extendedData field is added to the ZIMMessage, which enables the user avatars and nicknames to be passed in this field, and those can be displayed in real time when sending messages. extendedData
Added the callback for the message sending status You can refine the logic of message sending status by listening for this callback. You can design UI logic to notify users when the message status changes. messageSentStatusChanged


Item Description Method
Optimized the logic of message sending under weak network conditions When a message is sent on a weak network condition, the SDK uses policy logic to ensure the message sending status as much as possible. -

Version 2.5.0

Release date: 2022-11-30

New features

Feature Description Method
Message recall Sent messages can be recalled within 2 minutes by default. This is only supported in one-on-one chats and group chats.

To customize the recall time, please contact ZEGOCLOUD technical support.

Read receipts ZIMMessageSendConfig Added the hasReceipt parameter to allow sending messages with receipts in one-on-one and group chats.
In-app Chat SDK supports checking whether a user has read locally sent messages In a one-on-one chat and a group chat, as well as the number of read and unread messages in a group chat and the corresponding user information. Receipts for signaling messages, barrage messages, and in-room messages are not supported.
Receives push notifications for all offline call invitations Add the pushConfig parameter to support push call invitations to offline users. Offline users need to use the ZPNs SDK together to accept call invitations. ZIMCallInviteConfig


Feature Description Method
Improved Swift API naming For Swift, In-app Chat SDK manually corrects the existing Swift APIs automatically generated by the Objective-C interface to avoid API ambiguity caused by the interface automatically generated by XCode.

If you are using Swift to integrate In-app Chat SDK 2.5.0 and the interface fails to compile, just follow the instructions of your IDE. For more details, refer to the Upgrade guide.

Changed the name of the extra field of ZIMPushConfig To avoid confusion, the extendedData parameter of ZIMPushConfig is changed to payload, and the functionality remains the same. When you use the ZPNs SDK, you can retrieve additional fields passed in by the sender via the payload field in extras on the vendor channel.

After integrating In-app Chat SDK 2.5.0, if you use the offline push function and the interface fails to compile, please change the extendedData to payload.

Optimized the rich media message transfer protocol The protocol packet size during network transmission is reduced. -
Optimized the API thread safety - -


1. bitcode is no longer supported.

Starting with version 2.5.0, bitcode is no longer supported in the iOS SDK. For more details, see Xcode 14 Release Notes.

Version 2.4.0

Release date: 2022-10-10

New features

Feature Description Method
Manage in-room user properties Support room users to customize user properties. For example, user level, badge, status, etc.
System message added The message type of the system message was added, and the SDK was supported to trigger the notification of entering the group, the change of the group owner, and other system messages. -
Inserting local messages Support for inserting a message of any message type directly into the local. You can convert callback notifications (e.g., invite someone to a group, remove someone from a group, etc.) into system messages on the client side and insert them into the local database to achieve the effect of system prompts. insertMessageToLocalDB


Feature Description Method
Method for sending message is optimized Optimized message object to be the same object before and after sending. When you are sending a large message such as a video, you can cache the message object before the message is uploaded. When you receive the SDK notification of successful delivery, you can achieve the effect of Loading before sending by comparing the objects to be the same. sendMessage
Logic of reconnection after disconnection is optimized The logic for no-network status and reconnection after disconnection is optimized. -
Performance optimized Optimized database performance. -

API method changes

  • New methods
Method Description Change version
loginWithUserInfo A new loginWithUserInfo method without a Token parameter is added. When you use the "AppSign" authentication mode, you can directly use this method to log in to In-App Chat. 2.4.0
sendMessage New method to send messages, support one-to-one, in-room, and group messages. 2.4.0
sendMediaMessage A new rich media message sending interface sendMediaMessage (overloaded with the same name) was added, which supports getting the information before media uploading and can send rich media information such as files, pictures, audio, and video. 2.4.0
  • Deprecation
Method Description Change version
The method for sending one-to-one, in-room, and group messages (sendPeerMessage, sendRoomMessage, sendGroupMessage) are abandoned. We will be unified using the sendMessage interface, making a more standard way of sending a message. 2.4.0
sendMediaMessage The original sendMediaMessage method for sending rich media messages is deprecated and replaced by the sendMediaMessage method with the same name. The parameters are different, please pay attention to the change. 2.4.0

Version 2.3.0

Release date: 2022-08-12

New features

Feature Description Method
Added extension fields Support users to set their own personal information through the extension field, such as user profile picture, personality signature, gender, and other personal information. updateUserExtendedData
Added avatar field In the user information and group related methods, the avatar field has been added, users can upload their own avatar, or custom group avatar.
Supports AppSign authentication mode

The AppSign authentication mode is supported on iOS, Android, macOS, and Windows, which facilitates the integration process.

When authentication, you only need to call the createWithAppConfig method and fill in the AppSign you get, and you can use the In-app Chat service when authentication is passed. createWithAppConfig

Support to set the width and height of image/video messages

Make it more convenient to design the display effect of the picture:

  • Image message: support to set the width and height of the "original image", the width and height of the "detail image", and the width and height of the "thumbnail".
  • Video message: support to set the width and height of the "first frame".
Added a method for singleton instance object This allows you to get the In-app Chat instance object easier. getInstance


Feature Description Method
Logic optimized
  • Improved API logic when the network is disconnected.
  • Optimizes the logic for getting a list of room members.
Performance optimized Thread switching performance is optimized -

API method changes

  • Deprecation
Method Description Change version
createWithAppID The original createWithAppID method has been deprecated and replaced with createWithAppConfig, which allows you to pass in AppSign for authentication and make the integration easier. 2.3.0

Version 2.2.0

Release date: 2022-07-29

New features

Feature Description Method
Change username Supports changing usernames.
Query user profile Supports users to query profiles, such as username, and status updates.
Query the number of group members Supports querying the number of group members. queryGroupMemberCountByGroupID

Version 2.1.5

Release date: 2022-06-15

New features

Feature Description Method
Content moderation Supports moderating the text messages, and images in one-on-one, group, and room chat. The mechanism can help moderate the following inappropriate content: Sex solicitation, terrorism, violence, advertisements, and more.


Known issues fixed.

Version 2.1.0

Release date: 2022-05-13

New features

Feature Description Method
Send & Receive rich media content Supports sending and receiving messages of different rich media types, such as images, audio, video, and files.
Automatic room creation When entering a room, supports automatic room creation when the room does not exist. enterRoom


Item Description Method
Member property of ZIMMessage enhanced The member property of the ZIMMessage object is changed to read-only. This property doesn't need to be concerned or modified when sending messages. ZIMMessage

Version 2.0.0

Release date: 2022-03-25

New features

Feature Description Method
Session management
  • Supports updating, searching, and deleting the session list.
  • Supports obtaining the session list to display all sessions and implementing a real-time message list.
Group chat
  • Supports creating a group chat, ungroup, joining, and leaving a group chat.
  • Supports transferring the group ownership, setting group notice, and more.
Offline notifications
  • Supports caching the one-to-one or group messages you sent when the receiver is offline. The receiver will get the message when back online.
  • Supports sending offline notifications to the client. We now support Apple, Huawei, Xiaomi, Vivo, Oppo, and more.
Message management
  • Supports saving the one-to-one, group, in-room messages on the local database for retrieval after changing your devices or getting back from offline status.
  • Supports deleting specified or all one-to-one or group messages.
Call invitation
  • Supports sending and responding to call invitations.
  • Suitbale for multiple scenarios, such as, video calls, send seat-taking invitation in live audio room, and more.


In this iteration, we unified and optimized all existing and new methods of In-App Chat In terms of style. When you upgrade the API methods from V 1.x.x to V 2.0.0, you will need to adjust the code accordingly by referring to the table below.

Item Description Method
Enhanced API method name
The method used to create the ZIM SDK instance: Changed to createWithAppID from create.
The method used to log in: Changed to loginWithUserInfo from login.
The method used to query room members: Changed to queryRoomMemberListByRoomID from queryRoomMember.
The method used to query online room members: Changed to queryRoomOnlineMemberCountByRoomID from queryRoomOnlineCount.
New parameter added for API method or callback
The method used to send one-to-one/group messages: a config parameter is added, used to set offline notifications, message priority, and more.
A roomID parameter is added for some method callbacks. It is convenient for you to get the roomID from which the result of the current operation comes when calling relevant methods.
The roomID and errorKeys parameters are added. It is convenient for you to get the roomID from the current operation result when they get the room property, and the key will be returned to you when the operation fails.
Page Directory