diff --git a/docs/document/android/conversation_delete.md b/docs/document/android/conversation_delete.md
index e7f930810..6de7120f8 100644
--- a/docs/document/android/conversation_delete.md
+++ b/docs/document/android/conversation_delete.md
@@ -22,7 +22,7 @@
### 单向删除服务端会话及其历史消息
-你可以调用 `deleteConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除会话的本地消息,但不会删除本地会话。该接口不影响其他用户的会话和消息。
+你可以调用 `deleteConversationFromServer` 方法删除服务器端和本地会话,并选择是否删除服务端和本地的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。该接口不影响其他用户的会话和消息。
调用该方法之前,需调用 `getConversation` 方法获取会话 ID。
@@ -32,7 +32,7 @@
//获取指定的会话 ID。
EMConversation conversation = EMClient.getInstance().chatManager().getConversation(conversationId);
-// 删除指定会话。如果需要保留服务端的历史消息,`isDeleteServerMessages` 传 `false`。
+// 删除指定会话。如果需要保留服务端和本地的历史消息,`isDeleteServerMessages` 传 `false`。
EMClient.getInstance().chatManager().deleteConversationFromServer(conversationId, conversationType, isDeleteServerMessages, new EMCallBack() {
@Override
public void onSuccess() {
diff --git a/docs/document/android/error.md b/docs/document/android/error.md
index a2c04a92c..9f96042ff 100644
--- a/docs/document/android/error.md
+++ b/docs/document/android/error.md
@@ -87,6 +87,7 @@ Android 中错误码的类为 `EMError`。
| 610 | GROUP_MEMBER_ATTRIBUTES_UPDATE_FAILED | 设置群成员自定义属性失败。 |
| 611 | GROUP_MEMBER_ATTRIBUTES_KEY_REACH_LIMIT | 设置的群成员自定义属性 key 长度(不能超过 16 字节)超限。 |
| 612 | GROUP_MEMBER_ATTRIBUTES_VALUE_REACH_LIMIT | 设置的群成员自定义属性 value 长度(不能超过 512 字节)超限。 |
+| 613 | GROUP_USER_IN_BLOCKLIST | 该用户在群组黑名单中。群组黑名单中的用户进行某些操作时,例如,加入群组,会提示该错误。 |
| 700 | CHATROOM_INVALID_ID | 聊天室 ID 无效:调用聊天室相关 API,传入的聊天室 ID 为空时提示该错误。 |
| 701 | CHATROOM_ALREADY_JOINED | 已在该聊天室中:调用加入聊天室的 API 时如果已经在该聊天室中则提示该错误。 |
| 702 | CHATROOM_NOT_JOINED | 未加入该聊天室:用户在未加入的聊天室中发送消息或进行聊天室操作时提示该错误。 |
@@ -94,6 +95,7 @@ Android 中错误码的类为 `EMError`。
| 704 | CHATROOM_MEMBERS_FULL | 聊天室已满:聊天室成员数量已达到创建聊天室时设置的最大人数。 |
| 705 | CHATROOM_NOT_EXIST | 聊天室不存在:尝试对不存在的聊天室进行操作时提示该错误。 |
| 706 | CHATROOM_OWNER_NOT_ALLOW_LEAVE | 聊天室所有者不允许离开聊天室。若初始化时,`EMOptions#allowChatroomOwnerLeave` 参数设置为 `false`,聊天室所有者调用 `leaveChatRoom` 方法离开聊天室时会提示该错误。 |
+| 707 | CHATROOM_USER_IN_BLOCKLIST | 该用户在聊天室黑名单中。聊天室黑名单中的用户进行某些操作时,例如,加入聊天室,会提示该错误。 |
| 900 | USERINFO_USERCOUNT_EXCEED | 获取用户属性的用户个数超过 100。 |
| 901 | USERINFO_DATALENGTH_EXCEED | 设置的用户属性太长。单个用户的所有属性数据不能超过 2 KB,单个 app 所有用户属性数据不能超过 10 GB。 |
| 1000 | CONTACT_ADD_FAILED | 添加联系人失败。 |
diff --git a/docs/document/android/releasenote.md b/docs/document/android/releasenote.md
index d800ae2f1..4860ee42f 100644
--- a/docs/document/android/releasenote.md
+++ b/docs/document/android/releasenote.md
@@ -2,6 +2,41 @@
+## 版本 V4.10.0 Dev 2024-09-30(开发版)
+
+### 新增特性
+
+- [IM SDK] 新增 `EMChatManager#asyncGetMessageCount` 方法,用于获取数据库中的消息总数。
+- [IM SDK] 新增[两个错误码](error.html):
+ - `EMError#GROUP_USER_IN_BLOCKLIST`(613):该用户在群组黑名单中。群组黑名单中的用户进行某些操作时,例如,加入群组,会提示该错误。
+ - `EMError#CHATROOM_USER_IN_BLOCKLIST`(707):该用户在聊天室黑名单中。聊天室黑名单中的用户进行某些操作时,例如,加入聊天室,会提示该错误。
+
+### 优化
+
+- [IM SDK] [发送前回调](/document/server-side/callback.html#_1、发送前回调)时修改的[消息扩展字段](/document/android/message_send_receive.html#使用消息扩展字段),会同步到发送方。
+- [IM SDK] 调用[删除服务端会话 API](conversation_delete.html#单向删除服务端会话及其历史消息),成功后会删除本地会话。对于之前版本,可设置调用该接口删除会话的本地消息,但该接口不删除本地会话。
+- [IM SDK] 适配 Android 15 的 16K page size。
+- [IM SDK] 群组和聊天室操作的默认错误码提示由 `GROUP_MEMBERS_FULL`(604)和 `CHATROOM_MEMBERS_FULL`(704)调整为 `GROUP_PERMISSION_DENIED`(603)和 `CHATROOM_PERMISSION_DENIED`(703)。例如,群组普通成员设置群组管理员时,由于缺乏权限,会提示 603 错误。
+- [IM SDK] 底层长连接使用 poll 代替 select,解决文件描述符(fd)最大数量 1024 的限制问题。
+
+### 修复
+
+- [IM SDK] 修复发送图片消息时指定缩略图尺寸未生效的问题。
+- [IM SDK] 修复未拉取好友时收到好友事件,导致好友列表不能更新的问题。
+
+### [单群聊 UIKit](/uikit/chatuikit/android/chatuikit_overview.html)
+
+- 修复发送方发送的部分表情与接收方收到的不匹配的问题。
+
+### [EaseCallKIt](easecallkit.html)
+
+- 修复部分手机在拨号时,切换到悬浮窗口后再返回时,通话状态显示错误的问题。
+- 修复切换悬浮窗时,悬浮窗闪烁一次的问题.
+
+### [EaseIM App (Demo)](https://github.com/easemob/easemob-demo-android)
+
+- 增加隐私协议时间声明。
+
## 版本 V4.9.0 Dev 2024-08-30(开发版)
### 新增特性
diff --git a/docs/document/flutter/conversation_delete.md b/docs/document/flutter/conversation_delete.md
index 85897f077..eb0ae428f 100644
--- a/docs/document/flutter/conversation_delete.md
+++ b/docs/document/flutter/conversation_delete.md
@@ -22,12 +22,12 @@
### 单向删除服务端会话及其历史消息
-你可以调用 `deleteRemoteConversation` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除会话的本地消息,但不会删除本地会话。该接口不影响其他用户的会话和消息。
+你可以调用 `deleteRemoteConversation` 方法删除服务器端会话,并选择是否删除服务端和本地的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口不会删除本地会话。该接口不影响其他用户的会话和消息。
```dart
// 会话 ID。
String conversationId = "conversationId";
-// 删除会话时是否同时删除服务端的历史消息。
+// 删除会话时是否同时删除服务端和本地的历史消息。
bool deleteMessage = true;
EMConversationType conversationType = EMConversationType.Chat;
await EMClient.getInstance.chatManager.deleteRemoteConversation(
diff --git a/docs/document/harmonyos/conversation_delete.md b/docs/document/harmonyos/conversation_delete.md
index 85d07d1e3..76dae318a 100644
--- a/docs/document/harmonyos/conversation_delete.md
+++ b/docs/document/harmonyos/conversation_delete.md
@@ -22,7 +22,7 @@
### 单向删除服务端会话及其历史消息
-你可以调用 `deleteConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除会话的本地消息,但不会删除本地会话。该接口不影响其他用户的会话和消息。
+你可以调用 `deleteConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端和本地的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口不会删除本地会话。该接口不影响其他用户的会话和消息。
调用该方法之前,需调用 `getConversation` 方法获取会话 ID。
@@ -32,7 +32,7 @@
//获取指定的会话 ID。
let conversation = ChatClient.getInstance().chatManager()?.getConversation(conversationId);
-// 删除指定会话。如果需要保留服务端的历史消息,`isDeleteServerMessages` 传 `false`。
+// 删除指定会话。如果需要保留服务端和本地的历史消息,`isDeleteServerMessages` 传 `false`。
ChatClient.getInstance().chatManager()?.deleteConversationFromServer(conversationId, conversationType, isDeleteServerMessages)
.then(()=> {
// success
diff --git a/docs/document/ios/conversation_delete.md b/docs/document/ios/conversation_delete.md
index a44354607..8df040578 100644
--- a/docs/document/ios/conversation_delete.md
+++ b/docs/document/ios/conversation_delete.md
@@ -20,10 +20,10 @@
### 单向删除服务端会话及其历史消息
-你可以调用 `deleteServerConversation` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除会话的本地消息,但不会删除本地会话。该接口不影响其他用户的会话和消息。
+你可以调用 `deleteServerConversation` 方法删除服务器端和本地会话,并选择是否删除服务端和本地的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。该接口不影响其他用户的会话和消息。
```objectivec
-// 删除指定会话,如果需要保留服务端的历史消息,`isDeleteServerMessages` 参数传 `NO`,异步方法。
+// 删除指定会话,如果需要保留服务端和本地的历史消息,`isDeleteServerMessages` 参数传 `NO`,异步方法。
[[EMClient sharedClient].chatManager deleteServerConversation:@"conversationId1" conversationType:EMConversationTypeChat isDeleteServerMessages:YES completion:^(NSString *aConversationId, EMError *aError) {
// 删除回调
}];
diff --git a/docs/document/ios/error.md b/docs/document/ios/error.md
index 619c67ff0..19115033c 100644
--- a/docs/document/ios/error.md
+++ b/docs/document/ios/error.md
@@ -89,6 +89,7 @@ iOS 的错误码只有当操作出错的时候才会有返回值,否则返回
| 610 | EMErrorGroupMemberAttributesUpdateFailed | 设置群成员自定义属性失败。 |
| 611 | EMErrorGroupMemberAttributesKeyReachLimit | 设置的群成员自定义属性 key 长度(不能超过 16 字节)超限。 |
| 612 | EMErrorGroupMemberAttributesValueReachLimit | 设置的群成员自定义属性 value 长度(不能超过 512 字节)超限。 |
+| 613 | EMErrorGroupUserInBlockList | 该用户在群组黑名单中。群组黑名单中的用户进行某些操作时,例如,加入群组,会提示该错误。 |
| 700 | EMErrorChatroomInvalidId | 聊天室 ID 无效:调用聊天室相关 API,传入的聊天室 ID 为空时提示该错误。 |
| 701 | EMErrorChatroomAlreadyJoined | 已在该聊天室中:调用加入聊天室的 API 时如果已经在该聊天室中则提示该错误。 |
| 702 | EMErrorChatroomNotJoined | 未加入该聊天室:用户在未加入的聊天室中发送消息或进行聊天室操作时提示该错误。 |
@@ -96,6 +97,7 @@ iOS 的错误码只有当操作出错的时候才会有返回值,否则返回
| 704 | EMErrorChatroomMembersFull | 聊天室已满:聊天室成员数量已达到创建聊天室时设置的最大人数。|
| 705 | EMErrorChatroomNotExist | 聊天室不存在:尝试对不存在的聊天室进行操作时提示该错误。 |
| 706 | EMErrorChatroomOwnerNotAllowLeave | 聊天室所有者不允许离开聊天室。若初始化时,`EMOptions#allowChatroomOwnerLeave` 参数设置为 `false`,聊天室所有者调用 `leaveChatroom` 方法离开聊天室时会提示该错误。 |
+| 707 | EMErrorChatroomUserInBlockList | 该用户在聊天室黑名单中。聊天室黑名单中的用户进行某些操作时,例如,加入聊天室,会提示该错误。 |
| 900 | EMErrorUserCountExceed | 获取用户属性的用户个数超过 100。 |
| 901 | EMErrorUserInfoDataLengthExceed | 设置的用户属性太长。单个用户的所有属性数据不能超过 2 KB,单个 app 所有用户属性数据不能超过 10 GB。 |
| 1000 | EMErrorContactAddFailed | 添加联系人失败。 |
diff --git a/docs/document/ios/releasenote.md b/docs/document/ios/releasenote.md
index b781871c0..b5aebbde2 100644
--- a/docs/document/ios/releasenote.md
+++ b/docs/document/ios/releasenote.md
@@ -2,6 +2,30 @@
+## 版本 V4.10.0 Dev 2024-09-30(开发版)
+
+### 新增特性
+
+- [IM SDK] 新增 `EMChatManager#getMessageCountWithCompletion:` 方法,用于获取数据库中的消息总数。
+- [IM SDK] 新增[两个错误码](error.html):
+ - `EMErrorGroupUserInBlockList`(613):该用户在群组黑名单中。例如,群组黑名单中的用户进行某些操作时,例如,加入群组,会提示该错误。
+ - `EMErrorChatroomUserInBlockList`(707):该用户在聊天室黑名单中。聊天室黑名单中的用户进行某些操作时,例如,加入聊天室,会提示该错误。
+
+### 优化
+
+- [IM SDK] [发送前回调](/document/server-side/callback.html#_1、发送前回调)时修改的[消息扩展字段](/document/android/message_send_receive.html#使用消息扩展字段),会同步到发送方。
+- [IM SDK] 调用[删除服务端会话 API](conversation_delete.html#单向删除服务端会话及其历史消息),成功后会删除本地会话。对于之前版本,可设置调用该接口删除会话的本地消息,但该接口不删除本地会话。
+- [IM SDK] 群组和聊天室操作的默认错误码提示由 `EMErrorGroupMembersFull`(604)和 `EMErrorChatroomMembersFull`(704)调整为 `EMErrorGroupPermissionDenied`(603)和 `EMErrorChatroomPermissionDeniedD`(703)。例如,群组普通成员设置群组管理员时,由于缺乏权限,会提示 603 错误。
+
+### 修复
+
+- [IM SDK] 修复发送图片消息时指定缩略图尺寸未生效的问题。
+- [IM SDK] 修复未拉取好友时收到好友事件,导致好友列表不能更新的问题。
+
+### [EaseCallKIt](easecallkit.html)
+
+- 升级依赖的 `AgoraRtcEngine` 版本,防止因为旧版本包含 Bitcode 无法上传 App Store。
+
## 版本 V4.9.0 Dev 2024-08-30(开发版)
### 新增特性
diff --git a/docs/document/react-native/conversation_delete.md b/docs/document/react-native/conversation_delete.md
index e1912ca10..3485ac02f 100644
--- a/docs/document/react-native/conversation_delete.md
+++ b/docs/document/react-native/conversation_delete.md
@@ -18,18 +18,18 @@
- `ChatManager.removeConversationFromServer`:单向删除服务端的单个会话及其历史消息。
- `ChatManager.deleteConversation`:删除本地单个会话及其历史消息。
-## 实现方法
+## 实现方法
#### 单向删除服务端会话及其历史消息
-你可以调用 `removeConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除会话的本地消息,但不会删除本地会话。该接口不影响其他用户的会话和消息。
+你可以调用 `removeConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端和本地的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口不会删除本地会话。该接口不影响其他用户的会话和消息。
示例代码如下:
```typescript
// convId: 会话 ID。
// convType:会话类型。
-// isDeleteMessage:删除会话时是否同时删除服务端该会话中的消息。
+// isDeleteMessage:删除会话时是否同时删除服务端和本地的该会话中的消息。
ChatClient.getInstance()
.chatManager.removeConversationFromServer(convId, convType, isDeleteMessage)
.then(() => {
diff --git a/docs/document/unity/conversation_delete.md b/docs/document/unity/conversation_delete.md
index 421c9d53c..0b666a106 100644
--- a/docs/document/unity/conversation_delete.md
+++ b/docs/document/unity/conversation_delete.md
@@ -22,7 +22,7 @@
### 单向删除服务端会话及其历史消息
-你可以调用 `DeleteConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除会话的本地消息,但不会删除本地会话。该接口不影响其他用户的会话和消息。
+你可以调用 `DeleteConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除本地会话。该接口不影响其他用户的会话和消息。
```csharp
// 如果需要保留服务端的历史消息,`isDeleteServerMessages` 传 `false`。
diff --git a/docs/document/windows/conversation_delete.md b/docs/document/windows/conversation_delete.md
index 421c9d53c..4e9bb7d8f 100644
--- a/docs/document/windows/conversation_delete.md
+++ b/docs/document/windows/conversation_delete.md
@@ -22,10 +22,10 @@
### 单向删除服务端会话及其历史消息
-你可以调用 `DeleteConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除会话的本地消息,但不会删除本地会话。该接口不影响其他用户的会话和消息。
+你可以调用 `DeleteConversationFromServer` 方法删除服务器端会话,并选择是否删除服务端的历史消息。会话和消息删除后,当前用户无法从服务器获取该会话和消息。调用该接口会删除本地会话。该接口不影响其他用户的会话和消息。
```csharp
-// 如果需要保留服务端的历史消息,`isDeleteServerMessages` 传 `false`。
+// 如果需要保留服务端和本地的历史消息,`isDeleteServerMessages` 传 `false`。
SDKClient.Instance.ChatManager.DeleteConversationFromServer(conversationId, conversationType, isDeleteServerMessages, new CallBack(
onSuccess: () =>
{
diff --git a/docs/product/product_dynamics.md b/docs/product/product_dynamics.md
index c32295acb..05ec35757 100644
--- a/docs/product/product_dynamics.md
+++ b/docs/product/product_dynamics.md
@@ -5,6 +5,8 @@
| 动态名称 | 动态描述 | 发布时间 | 相关文档 |
| :----- | :------- | :---------------- | :---------------- |
| SDK 4.9.1 开发版发布 | uni-app SDK 支持[离线推送](/document/applet/push/uniapp_push.html)。 | 2024-09-06 | [小程序 4.9.1 更新日志](/document/applet/releasenote.html#版本-v4-9-1-dev-2024-09-06-开发版) |
+| SDK 4.10.0 开发版发布 | **新增特性**:
- 移动端支持获取数据库中的消息总数;
- 新增[两个错误码](/document/android/error.html),用于提示用户在群组黑名单或聊天室黑名单中。群组或聊天室黑名单中的用户进行某些操作时,例如,加入群组,会提示该错误。
- [单向删除服务端会话也会删除本地会话](/document/android/conversation_delete.html#单向删除服务端会话及其历史消息)。 | 2024-09-30 |
- [Android 4.10.0 更新日志](/document/android/releasenote.html#版本-v4-10-0-dev-2024-09-30-开发版)
- [iOS 4.10.0 更新日志](/document/ios/releasenote.html#版本-v4-10-0-dev-2024-09-30-开发版) |
+
| 动态名称 | 动态描述 | 发布时间 | 相关文档 |
| :----- | :------- | :---------------- | :---------------- |