logo
In-app Chat
SDK Error Codes
Powered Byspreading
On this page

ZIM release notes


Version 2.18.2

Release date: 2024-11-06

Enhancement

Known issues fixed.


Version 2.18.0

Release date: 2024-10-15

New features

FeatureDescriptionMethod
Group aliasUsers can set group aliases that are only visible to themselves for a specific group. For more details, please refer to Manage group info - Modify the group alias.
User online statusUsers can continuously monitor the online status changes of other users by subscription, query the current online statuses of other users, and also query their own subscription list. In addition, in the scenario of multi-device login, users can listen for changes in their online platforms. For more details, please refer to Online Status Subscription.
Get room user avatarsUsers can query the avatar information of other users in a room using the userAvatarUrl property of the ZIMRoomMemberInfo class.ZIMRoomMemberInfo > userAvatarUrl
Switch roomsZIM supports using the switchRoomFromRoomID method to switch rooms, suitable for smooth room switching scenarios such as instant joining a room. For more details, please refer to Manage rooms - Switch RoomsswitchRoomFromRoomID
Query user information on the serverZIM supports querying user information on the server by user ID. The user information include user name, user avatar, and extended fields.Query user information
Recall a room message on the serverZIM supports recalling room messages on the server.Recall a room message

Enhancement

ItemDescriptionMethod
Optimization of the initial conversation list retrieval timeWe have enhanced the efficiency of fetching the initial conversation list upon user login, resulting in a significantly reduced wait time and an improved overall user experience.queryConversationListWithConfig
Enhancement of the server API response parameter for sending group messagesWe have added a new response parameter MsgId for the server API SendGroupMessage, which can be used to locate messages.Send Group Messages
Improvement of parameters of callback on message sentWhen a message fails to send, the msg_id parameter in the callback on message sent will no longer be empty.Callback on message sent
Retrieving the message extension field from the serverThrough the payload parameter in the server callback on not sent yet, ZIM supports retrieving the extension field passed by users when sending messages.Callback on not sent yet
Increased length limit for ExtendedData in MessageBodyThe default maximum length of ExtendedData in the MessageBody structure is 1 KB. If you need to increase it, please contact ZEGOCLOUD technical support.MessageBody Introduction

Deprecation

ItemDescriptionMethod
Deprecation of callbacks for receiving message in one-to-one, room, and group chatsThe callbacks of receivePeerMessage, receiveGroupMessage and receiveRoomMessage have been deprecated, please use the following callbacks instead: peerMessageReceived, groupMessageReceived, and roomMessageReceived.
Note
Please refer to ZIM Upgrade Guide for details on callback changes.

Version 2.17.1

Release date: 2024-08-15

Enhancement

Known issues fixed.


Version 2.17.0

Release date: 2024-08-02

New features

FeatureDescriptionMethod
Conversation MarkingSupports users to mark conversations, suitable for scenarios where users need to pay attention to certain conversations or cannot handle certain conversations. This feature can be used to group conversations by setting the same mark for multiple conversations. For client implementation, please refer to Mark Conversations. For server implementation, please refer to Set Conversation Marks.
Query Conversation ListSupports filtering conversation list by mark, conversation type, and whether it contains unread messages. For more details, please refer to Mark Conversations.queryConversationListWithConfig
Query Total Unread Message Count By MarksSupports filtering unread message count by mark. For more details, please refer to Mark Conversations.queryConversationTotalUnreadMessageCountWithConfig
Reply to MessageSupports users to reply to a specific message within a conversation. Currently supports replying with text, image, file, audio, video, merged, and custom messages. In addition, users can also query the reply tree to get the complete list of replied messages. For more details, please refer to Reply to a message.
Get Specific Message ListSupports querying a specific list of historical messages, suitable for scenarios where users need to understand the context of a certain message. For more details, please refer to Get message historyqueryMessagesByMessageSeqs
Sender Unaware When Sending Messages by Server APIsNewly adds SenderUnaware field, allowing the client corresponding to the FromUserId (sender's user ID) in the request parameters to be unaware of the sending of the peer-to-peer message sent by the server.Send a one-to-one message

Version 2.16.0

Release date: 2024-05-31

New features

FeatureDescriptionMethod
Server-side management of call invitationsSupports initiating, accepting and rejecting call invitations on the server side.
Server-side management mutingSupports muting groups and specific group members on the server.
Server-side setting group member rolesSupports modifying group member roles on the server.Set group member roles
Supports iOS version 17.0

Warning: Starting from this version, iOS 11.0 and earlier versions are no longer supported.

Starting from 2024-04-29, all apps listed on the App Store must support iOS 17.0. For details, please refer to Official description on Apple Developer website.
-

Enhancement

ItemDescriptionMethod
Optimize receiptsIncludes real-time perception of receipt expiration status, supports offline query of receipt details, and supports query of group receipt details for groups with more than 100 members;
Call invitationSupports users to pass in a specified userID through the callCancelWithInvitees interface when making advanced call invitations, and only cancel the call for this user without affecting the global call status.callCancelWithInvitees
Privacy fileUpdate the privacy manifest file PrivacyInfo.xcprivacy in the ZIM iOS SDK.

Waring: If the developer has integrated an SDK before version 2.16.0, if you want to publish to the App Store, you need to download the latest version of the SDK and copy the PrivacyInfo.xcprivacy file to the corresponding location of the old SDK.

Please upgrade the privacy manifest file PrivacyInfo.xcprivacy in the iOS SDK to the new version. For details, please refer to "PrivacyInfo.xcprivacy" in the "ZIM.framework" folder in the ZIM SDK package.
-

Version 2.15.0

Release date: 2024-03-29

New features

ItemDescriptionMethod
Group roleNew group role "Administrator" has the upper limit of most group leaders. It can modify the nicknames of ordinary group members, withdraw messages from ordinary group members, kick people, and ban individual group members and specific group roles.
To learn about group roles and corresponding permissions, please refer to Manage group members- Set Group Member Roles
setGroupMemberRole
Group verification
  • ZIMGroupAdvancedConfig New attributes joinMode, inviteMode and beInviteMode supports setting the group verification mode, invitation mode, and invitation target user verification mode when creating a group, making it easier for group owners and administrators to restrict external users from joining the group.
  • When the group's group membership verification mode is modified to require the target user's approval, users in the group need to initiate a group invitation application to external users and wait for the target user's approval.
  • When the group's invitation target user verification mode is modified to require approval by the group owner and administrator, external users initiate a group application, which must be approved by the group owner or administrator.
  • Support users to query lists related to group membership applications.
  • Supports calling client API and server API to update the above mode after the group is created.
For details on interface calling, please refer to Manage groups.
Tips MessageSupports converting certain group operations of users in the group (such as creating groups, disbanding groups, etc.) into special types of messages (Tips). After obtaining the operation information through the group message callback, developers can construct and display the description text of the related events on the UI.
For information on Tips message types and extended information, as well as post-reception processing operations, please refer to Receive tip messages.
Custom push rulesSupport users to decide the platforms that need to receive offline push in multi-terminal login scenarios, and query the current offline push rules.
For details on interface calling, please refer to Set custom push rules.
Message export and importSupports exporting historical messages from the user's local terminal as a backup, which can be used to migrate chat records when changing devices, or restore deleted messages.
For details on interface calling, please refer to Export and import messages
Cache ManagementSupports querying the local cache file size of the currently logged in user and clearing the local cache.
For details on interface calling, please refer to Cache management.
Exit all roomsSupports users to exit all rooms at once in multi-room scenarios; it can also be used in scenarios where developers exit a single room without passing in the roomID in advance.leaveAllRoom
Data migrationSupports users to migrate user data to ZIM service through the ZIM server interface. For the implementation plan, please refer to Migration solution.-
Server-side query session listSupports paging query of the user's latest 1000 conversations (single chat and group chat) on the server side.Query Conversation List
Query historical messages on the serverSupport paging query of the historical message list of the user-specified single chat or group chat session on the server.
Modify group specifications on the server sideSupport modifying the group's group entry verification mode, invitation mode, invitation target verification mode and upper limit of group members on the server side.Modify group specification limit

Enhancement

ItemDescriptionMethod
Detect whether the invitation has been deliveredSupport configuring the parameter enableNotReceivedCheck when initiating a call invitation to detect whether the call reaches the called party, so that the caller can quickly perceive the called network status and implement prompts.ZIMCallInviteConfig > enableNotReceivedCheck
New parameters for server-side create group interfaceAdded CreateGroupTime parameter to support setting events for group creation.Create a group
Added new parameters to the server-side interface for adding group membersAdded the GroupMemberInfos parameter to support defining the group joining time and group joining mode of users who join the group.Add group members
New field for server callback after the message is sentAdded user_list field, used to return messages in batches to receive user information.

Warning: Only when developers call the server interface Send a one-to-one message, this field will have a value.

Callback on message sent

Version 2.14.1

Release date: 2024-03-05

Enhancement

Known issues fixed.


Version 2.14.0

Release date: 2024-02-02

New features

ItemDescriptionMethod
Forwarding messages
  • Users can construct a merged message body and pass it to the send message API to forward merged messages.

    Note: If you want to forward messages one by one, you can simply pass the existing message as a parameter to the send message API.

  • Supports querying the specific content of sub-messages included in a merged message.
Send and receive @ messagesUsers can mention specific users (who may not be in the current conversation) or mention all members in a conversation when sending a message.
Deleting messagesUsers can delete all messages in a conversation at once.deleteAllConversationMessagesWithConfig
Saving conversation draftsZIM allows users to save conversation drafts locally even after exiting one-on-one or group chat conversations for future editing.setConversationDraft
Do not disturb for one-on-one conversationsIn addition to "Do Not Disturb" for group conversations, ZIM now supports setting "Do Not Disturb" for one-on-one conversations. Users will not receive notifications for new messages in one-on-one conversations.setConversationNotificationStatus
MutingSupports group owners to mute groups and mute specific group members. Muting groups can be applied to all members, ordinary members, or members with specific roles.
Friend managementUsers can directly add and delete friends, view friend lists, send friend requests to users, accept or reject friend requests, view friend request lists, check the friend relationship between other users and themselves, query or modify friend information, and search for friends.
Set sensitive word filteringAfter enabling the security audit, developers can add additional sensitive words. When a user sends a message containing sensitive words, the message will be audited, and the content may be replaced or intercepted.

Note: To use this feature, please contact the ZEGOCLOUD technical support team.

-
Server-side Conversation MutingSupports setting the mute notification status for group chat and one-on-one conversations on the server-side.Mute notifications for conversations
Pin conversations on the server sideSupports setting the pinned status for user conversations on the server side.Pin conversations to the top
Modify group information on the server sideSupports modifying the avatar, name, and announcement of a pinned group on the server side.

Note: To use this feature, please contact the ZEGOCLOUD technical support team.

-
Manage friends on the server sideSupports adding and deleting friends for users, querying the friend list, checking friend relationships, and updating friend aliases and attributes.
Manage blacklist on the server sideSupports batch blocking and unblocking users, querying the blacklist, and checking blacklist relationships for users.

Version 2.13.1

Release date: 2024-01-12

Enhancement

Known issues fixed.


Version 2.13.0

Release date: 2024-01-05

New features

FeatureDescriptionMethod
Multi-device loginThe "multi-device login" strategy supports configuring the logic for kicking each other out. Currently, it only supports kicking out between Android and iOS devices, as well as between Windows and Mac devices.loginWithUserID
Offline loginSupports users to login to the IM service and access local SDK data while being offline.loginWithUserID
Blacklist managementYou can query your own blacklist, block specific users (no longer receive messages from them), remove users from the blacklist, and check if a specific user is in the blacklist.
Insert local messageSupport inserting local messages into room conversations.insertMessageToLocalDB
Call InvitationAdd callback callInvitationCreated. The initiator of the call invitation can know that the call invitation has been created by listening to this callback.callInvitationCreated
Server-side message retractionSupports calling the interface from the server to retract one-on-one messages and group chat messages.
Server-side user profile modificationSupports calling the interface from the server to modify user profile information, including user nickname, avatar, etc.Modify user information

Enhancement

ItemDescriptionMethod
Optimize roomID length limitationSupports a maximum length of 128 bytes for roomID.ZIMRoomInfo > roomID
Added user avatar field to user information related classesZIMUserInfo and ZIMGroupMemberInfo added userAvatarUrl field, which is used to set or describe the user avatar address.

Warning: The user avatar field for room members is currently not supported. This means that the userAvatarUrl in the ZIMUserInfo obtained through queryRoomMemberListByRoomID and queryRoomMembersByUserIDs will be empty.

Added new response parameters to the server interface for sending one-to-one chat messagesAdded the SuccessList parameter, with member parameters including UserIdMsgId and MsgSeq, to provide information about users who have successfully received the message. MsgSeq can be used for Recall a one-to-one message.Send a one-to-one messages
Added new response parameters to the server interface for sending group chat messagesAdded MsgSeq, which can be used to Recall a group message.Send group messages
Optimize the call back logic of roomStateChangedWhen developers call the ZIM server API to destroy a room in the backend, the callback roomStateChanged that describes the room state change reason is modified toZIMRoomEventRoomNotExist.roomStateChanged

Deprecation

ItemDescriptionMethod
Abandon the loginWithUserInfo interfaceAbandon the old login interface and add a new login interfaceloginWithUserID. The new version of the login interface supports more configurations through ZIMLoginConfig, such as whether to use Token authentication and whether to log in offline.loginWithUserID
Part of the user information-related classes have deprecated the old avatar field.
  • ZIMGroupMemberInfo deprecated memberAvatarUrl. Please use the new field userAvatarUrl.
  • ZIMUserFullInfo The userAvatarUrl,is deprecated. Please retrieve userAvatarUrl from baseInfo.

Version 2.12.1

Release date: 2023-11-29

Enhancement

Known issues fixed.


Version 2.12.0

Release date: 2023-11-20

New features

FeatureDescriptionMethod
GeofencingProvides geofencing services, ensuring that IM data is stored locally and suitable for high-security overseas scenarios.setGeofencingConfig
Group message managementSupports automatic retrieval of group history messages for new members joining the group.

If you need to use this feature, please contact the ZEGOCLOUD technical support team for configuration.

Read all with one clickSupports clearing the unread message count and total unread message count for all conversations.clearConversationTotalUnreadMessageCount
Call invitationSupports calling external users to join advanced mode calls or calling internal users to switch devices.callJoin
Delete all conversation listsSupports clearing the current conversation list.deleteAllConversationsWithConfig
Server-Side API for adding group membersSupports adding specified users to a group.Add group members
Server-side API for dismissing a groupSupports dismissing a specified group.Disband a group chat
Server-side API for transferring group ownershipSupports transferring group ownership to a specified group member.Transfer the group ownership
Server-side API for setting group member nicknameSupports setting the nickname for a specified group member.Set nicknames of group members
Server-side message with receiptWhen sending one-to-one messages or group messages through the server, you can attach a receipt to know if the message has been read. Supported message types include text, image, file, audio, video, and custom messages. For more details, please refer to MessageBody introduction.
Server-Side login and logout callbackWhen a user logs in or logs out, the ZIM server will actively notify the developer's server through callbacks. Login and logout callback
Offline push to all usersWhen using the server-side API for pushing messages to all users, you can choose the push type to achieve offline push.Push message to all users

Enhancement

ItemDescriptionMethod
Login logic optimizationOptimized the login logic to avoid multiple devices kicking each other out in weak network environments.-
Server callback for call creationThe server callback for call creation now includes the caller field, which indicates the user who initiated the call. For more details, please refer to Callback on call invitation sent.-

Version 2.11.0

Release date: 2023-10-26

New features

FeatureDescriptionMethod
Multi-device loginSupport for configuring dual-platform or multi-platform login strategies allows users to log in to the same account on multiple platforms or devices simultaneously, enabling data synchronization for sessions, messages, groups, and other features across multiple devices. For more information on the impact of multi-platform login on other functions, please refer to Multi-device login.

Note: This feature is only supported for users of the Professional or Ultimate packages and they must contact the ZEGOCLOUD technical support team to configure the login policy.

loginWithUserInfo

Enhancement

ItemDescriptionMethod
Added support for server-Side signaling message typesSupports sending binary signaling messages encoded in base64 through the server. For more details, please refer to MessageBody introduction.-
Optimized logic for unpinning conversationsAfter deleting a pinned conversation, the pinned status of the conversation(ZIMConversation > isPinned)will not be automatically changed to No. When there are new messages in this conversation and it appears in the conversation list again, it will still be a pinned conversation.-

Version 2.10.0

Release date: 2023-08-31

New features

FeatureDescriptionMethod
 Respond to messages with emoticonsSupports responding to messages with emoticons in one-on-one chats and group chats. It can be used for scenarios such as replying with emojis and initiating group polls or confirming group results. Additionally, it supports deleting one's own reactions and querying user information related to a specific reaction.
Sender unaware for server-side peer messagingAdded the SenderUnaware field, which allows the client associated with the FromUserId(sender's user ID) to be unaware of the server-side peer message being sent.Send one-to-one messages
Server-side broadcast messagingSupports sending messages with specific content, such as text and images, to all online users, including the message sender. This feature is suitable for scenarios like broadcasting announcements or displaying cross-room gift animations.
The server has added a new interface to query whether the user is in the roomThis interface supports querying whether a specified user is present in the target room.Query whether a user is in a room

Enhancement

ItemDescriptionMethod
Adjusting the maximum length of user nickname, UserNameExtended from 64 bytes to 256 bytes, supports longer nicknames, applicable to ZIM SDK version 2.0.0 and later.ZIMUserInfo > userName

Version 2.9.0

Release date: 2023-07-18

New features

FeatureDescriptionMethod
Call invitation new modeAdded advanced mode, supports inviting, exiting, and ending calls during a call.
Revoke other's messageIn group conversations, the group owner can revoke messages sent by others.revokeMessage
Get room member informationSupports calling server-side API to get information about room members based on room ID, including the number of users in the room, user IDs, and names.Obtain information about users in a room
Server-side message sending API now supports more message typesSupports sending image, file, audio, video, custom, and barrage message types through the server-side API. For details, please refer to MessageBody introduction.
Download external rich media messagesSupports calling the downloadMediaFileWithMessage API to download rich media messages through external URLs.downloadMediaFileWithMessage
Set message extension fieldsAdded message extension fields that are only visible on the local end, supports updating this field, can be used to display message translation status or other content.
Search local messagesSearch local messages in individual or all 'one-to-one' and 'group' conversations based on keywords, user IDs, and other conditions, and retrieve a list of messages that meet the criteria; can also search conversations based on local messages.
Search groupsSupports searching for group names based on keywords, and also supports including group member names and nicknames in the search scope.searchLocalGroupsWithConfig
Search group membersSupports searching for group members' names in a specific group based on keywords, and also supports including group members' nicknames in the search scope.searchLocalGroupMembersByGroupID

Enhancement

ItemDescriptionMethod
Call invitation reception callbackOptimize the regular mode of call invitation, support offline users to receive call invitations and be immediately notified upon going online within the timeout period of the call invitation.callUserStateChanged

Deprecation

MethodDescriptionChange version
To facilitate developers to monitor the call status changes of users in call invitations, callUserStateChanged is added to replace the original call invitation callbacks callInvitationAcceptedcallInvitationRejected and callInviteesAnsweredTimeout.2.9.0

Version 2.8.0

Release date: 2023-05-23

New features

FeatureDescriptionMethod
Pin conversationUsers can choose conversations they want to prioritize and pin them at the top of the conversation list.
Custom message typesAdded custom message types, developers can define their own message types, such as voting, chain reaction, video card, etc., and handle message parsing themselves. ZIM SDK does not define or parse the specific content of custom messages.ZIMCustomMessage
Query conversation informationQuery detailed information of a conversation by specifying the conversation ID.queryConversation
Query user status in a roomBy specifying multiple user IDs and the room ID, query whether the target users are in the specified room, in order to design business logic such as inviting for co-live streaming.

Note: Supports querying information of up to 10 users at a time.

queryRoomMembersByUserIDs
Pre-send message callbackBy setting server-side callbacks, when users send one-on-one, group, or room chat messages, ZIM sends requests to the developer's server. Developers can implement:
  • Intercepting inappropriate messages.
  • Establishing user blacklists and whitelists.
Callback on message not sent yet
Post-send message callbackBy setting server-side callbacks, after users successfully or unsuccessfully send one-on-one, group, or room chat messages, ZIM sends requests to the developer's server. Developers can implement:
  • Real-time recording of messages sent by users.
  • Statistics of messages sent by users.
  • In live streaming and screen recording scenarios, embedding chat records into recorded videos using timestamps.
Callback on message sent
Batch user registrationSupports calling server-side APIs to specify user information (user ID, etc.), allowing developers to register multiple users with a single request.

Note: Supports registering up to 100 users at a time.

Batch register users
Query group list under an appSupports calling server-side APIs to retrieve the IDs of all groups in the app.Query group list in the app
Query group member listSupports calling server-side APIs to specify the group ID and retrieve the member list of the corresponding group.Query group member list
Remove group membersSupports calling server-side APIs to specify the group ID and user ID, and remove group members in batch.

Note: Supports removing up to 50 group members at a time.

Remove group member

Deprecation

ItemDescriptionMethod
Deprecated system message typesZIMMessageType (value 30) have been deprecated. Developers are advised to use more versatile custom messages (value 200) instead.ZIMMessageTypeCustom

Other Matters

1. Starting from version 2.8.0, ZIM no longer supports iOS versions below 11.0. Developers should set their iOS Deployment Target (minimum supported version) to iOS 11.0.

For more details, please refer to App Store submission requirement starts April 25 and Xcode 14 Release Notes.

2. Starting from version 2.8.0, ZIM iOS SDK no longer supports the 32-bit armv7 architecture.

For more details, please refer to Xcode 14 Release Notes.


Version 2.7.1

Release date: 2023-03-15

Enhancement

Known issues fixed.


Version 2.7.0

Release date: 2023-03-07

New features

FeatureDescriptionMethod
Add Package Management MethodAdd the Swift Package Manager as a package management method.-

Enhancement

ItemDescriptionMethod
Optimization of clearing userName during user loginDistinguish 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 timingThe 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 timingAfter 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

FeatureDescriptionMethod
Added server callbacks related to call invitationYou 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 bodyThe 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 statusYou 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

Enhancement

ItemDescriptionMethod
Optimized the logic of message sending under weak network conditionsWhen 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

FeatureDescriptionMethod
Message recallSent messages can be recalled within 2 minutes by default. This is only supported in one-on-one chats and group chats.

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

Read receiptsZIMMessageSendConfig 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 invitationsAdd 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

Enhancement

FeatureDescriptionMethod
Improved Swift API namingFor 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.

Note: 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 ZIMPushConfigTo 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.

Note: 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 protocolThe protocol packet size during network transmission is reduced.-
Optimized the API thread safety--

Deprecation

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

FeatureDescriptionMethod
Manage in-room user propertiesSupport room users to customize user properties. For example, user level, badge, status, etc.
System message addedThe 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 messagesSupport 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

Enhancement

FeatureDescriptionMethod
Method for sending message is optimizedOptimized 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 optimizedThe logic for no-network status and reconnection after disconnection is optimized.-
Performance optimizedOptimized database performance.-

API method changes

  • New methods
MethodDescriptionChange version
loginWithUserInfoA 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
sendMessageNew method to send messages, support one-to-one, in-room, and group messages.2.4.0
sendMediaMessageA 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
MethodDescriptionChange 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
sendMediaMessageThe 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

FeatureDescriptionMethod
Added extension fieldsSupport 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 fieldIn 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 objectThis allows you to get the In-app Chat instance object easier.getInstance

Enhancement

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

API method changes

  • Deprecation
MethodDescriptionChange version
createWithAppIDThe 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

FeatureDescriptionMethod
Change usernameSupports changing usernames.
Query user profileSupports users to query profiles, such as username, and status updates.
Query the number of group membersSupports querying the number of group members.queryGroupMemberCountByGroupID

Version 2.1.5

Release date: 2022-06-15

New features

FeatureDescriptionMethod
Content moderationSupports moderating the text messages, and images in one-on-one, group, and room chat. The mechanism can help moderating the following inappropriate content: Sex solicitation, terrorism, violence, advertisements, and more.

Enhancement

Known issues fixed.


Version 2.1.0

Release date: 2022-05-13

New features

FeatureDescriptionMethod
Send & Receive rich media contentSupports sending and receiving messages of different rich media types, such as images, audio, video, and files.
Automatic room creationWhen entering a room, supports automatic room creation when the room does not exist.enterRoom

Enhancement

ItemDescriptionMethod
Member property of ZIMMessage enhancedThe 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

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

Enhancement

Warning

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.

ItemDescriptionMethod
Enhanced API method nameThe method used to create the ZIM SDK instance: Changed to createWithAppID from create.createWithAppID
The method used to log in: Changed to loginWithUserInfo from login.loginWithUserInfo
The method used to query room members: Changed to queryRoomMemberListByRoomID from queryRoomMember.queryRoomMemberListByRoomID
The method used to query online room members: Changed to queryRoomOnlineMemberCountByRoomID from queryRoomOnlineCount.queryRoomOnlineMemberCountByRoomID
New parameter added for API method or callbackThe 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.ZIMRoomAttributesOperatedCallback

Previous

SDK downloads

Next

ZPNs release notes