Releases: netease-im/node-nim
Releases · netease-im/node-nim
10.9.75
✨ Features
- 添加文本翻译 API translateText
- 实现客户端 API 停止服务器发起的流式消息
🐛 Bug Fixes
- 修复特殊场景下查询用户信息时列表为空时数据库语法错误问题
⚡ Performance Improvements
- 发送带附件类消息时,当路径提取失败时,从文件名降级提取文件扩展名
- WebSocket 增加帧大小阈值以防止分片问题
📝 Documentation
- 修复 TypeScript 层注释不一致问题
- 修复 v2 头文件中注释与代码不一致问题
🔧 Chores
- node-nim: 更新 npm install 脚本支持分页获取产物,提高安装速度
Full Changelog: 10.9.72...10.9.75
10.9.72
🚀 Features
通用
- 更新以 S3 协议上传文件的底层能力,缩减包体积,支持 MT 编译
🐛 Bug Fixes
V2:
- 修复群管理员无法多次修改成员消息问题
- 修复云端托管好友通知未正确处理删除通知问题
- 修复本地会话在删除最后一条消息时会导致会话顺序变更问题
- 优化批量下载同一资源时会报错资源已存在问题,允许传递相同任务下载,SDK 内部会维护生命周期
- 修复消息反序列化时未正确处理消息状态问题
- 修复特殊场景下 onTeamInfoUpdated 返回的 isValidTeam 属性不正确问题
通用:
- 修复特殊场景下配合 electorn-builder 旧版本无法正常编译问题
- 优化下载脚本,在 Windows 下统一下载 MT(静态链接 MSVC 运行时库) 产物
- 修复在未开启超级群功能时对某个超级群会话发送标记已读时会出现崩溃问题
⚡ Performance
通用
- 优化 QUIC 在弱网情况下的可靠性,通过丢包或延迟动态发送冗余包以提高达到率
Full Changelog: 10.9.70...10.9.72
10.9.70
🚀 Features
V2:
-
新增群组申请请求云端托管功能,如您需要开启此功能可通过云信官网首页右侧的联系方式联系网易云信商务经理进行调整开启,并开启 V2NIMInitOption.basicOption.enableCloudTeamJoinActionInfo 开关
- 开启功能后会迁移历史的未处理群组申请到新的数据表中
- 开启功能后同一群组申请的附言将被合并为一个列表,您只能查询到一个群组申请信息,但可通过附言历史展示详情
- 新增接口 clearAllTeamJoinActionInfoEx用于按时间范围和群组申请类型删除指定申请
-
新增本地清空历史消息接口 clearLocalMessage,允许您通过配置删除特定本地消息
🐛 Bug Fixes
V2:
- 修复下载资源文件时取消返回错误码不正确问题
- 修复登陆同步过程中没有及时更新会话已读时间戳导致查询一直为旧的已读时间
- 修复特殊场景下解析数据包失败后触发重连崩溃问题
- 修复特殊场景下发送超过 1K 消息时无法正确发送问题
通用:
- 优化 TS 层依赖,解决无法在常用 IDE 或代码编辑器中跳转 TS 定义问题
Full Changelog: 10.9.60...10.9.70
10.9.60
🚀 Features
V2:
- 超大群消息支持单向删除某条消息
- 新增 API getTeamInfoFromCloud,可以从云端获取群组信息
- 新增 API getOwnerTeamList,可以获取当前自己为群主的群组列表
- 新增 API getManagerTeamList,可以获取当前自己为管理员的群组列表(包括自己是群主的群)
- 新增好友申请请求云端托管功能,如您需要开启此功能可通过云信官网首页右侧的联系方式联系网易云信商务经理进行调整开启,并开启 V2NIMInitOption.basicOption.enableCloudFriendAddApplication开关
- 开启功能后会迁移历史的未处理好友申请到新的数据表中
- 开启功能后同一好友申请的附言将被合并为一个列表,您只能查询到一个好友申请信息,但可通过附言历史展示详情
- 新增接口 clearAllAddApplicationEx 用于按时间范围和好友申请类型删除指定好友申请
- 新增 P2P 会话已读回执时间戳自动补齐功能
- 历史版本中当长时间未在某个终端登录,再次登录时可能无法同步到完整的历史消息及相关会话的时间戳信息。因为同步的数据是有限的,超过一定时间或服务器超过指定的缓存数量将仅截取最近数据同步给客户端,已读回执相关的时间戳同步也受此限制。本次迭代后如果同步时未能正确获取到指定会话的已读回执时间戳,则在查询时(如调用 isPeerRead 或 getP2PMessageReceipt)会判断本地已读回执时间是否可信,若不可信则会到服务器历史库(非同步库)中查询相关回执时间,确保获取到的时间戳是准确的,以解决长时间未登录情况下已读回执数据丢失问题。
- 本地全文检索接口参数 V2NIMMessageSearchExParams 新增参数 tokenizer 支持自定是否使用内置分词器,启用后分词逻辑将中文按单字拆分,将连续的英文和数字进行拆分。如原文中有
abc1234,历史需要业务层自己拆分按两个关键词abc和123才能搜索到结果,开启后仅需输入一个查询关键字如abc123即可搜索到原文abc1234 - 在群组 V2NIMTeam 结构增增加 isDiscussion 字段,以解决历史版本中存量的讨论组无法判断问题
- 在统计服务中新增 SDK LBS(Location-Based Service) 事件 lbsSingleRequestRecord,用以在业务方监听内部请求的返回结果
- 在统计服务中新增 connectRecord 事件,用以在业务方监听内部连接的服务器地址信息
- 初始化配置 V2NIMInitOption.basicOption 中新增参数 logMaxSize,允许限制单个日志文件最大大小
- V2NIMMessage 消息体中增加字段 fromClientType 以标识该消息是从哪个终端发送的
🐛 Bug Fixes
V2:
- 修复登录时若有其他终端的客户端在线没有主动通知的问题
- 修复 nstd::string rfind 方法存在内存访问越界问题
通用:
- 修复指南针上报数据同步耗时相关的开始时间和结束时间不准确问题
⚠️ Behavior Changes:
V2:
- 修改查询群成员参数 V2NIMTeamMemberQueryOption 中 roleQueryType 的默认行为,当不指定该参数时默认查询所有群成员
⚡ Performance
- 优化本地全文检索在全局搜索(未添加规划过滤规则)时搜索词命中较多查询慢的问题
- 优化本地全文检索在会话中搜索时搜索结果不足或搜索不到问题
10.9.53
10.9.52
🚀 Features
V2:
- 流式消息过程中查询消息将自动补齐已经接收到的完整内容和 RAGs 信息而不是仅占位内容,影响接口:
- V2NIMMessageService.getMessageList
- V2NIMMessageService.getMessageListEx
- V2NIMMessageService.getMessageListByIds
- V2NIMMessageService.getMessageListByRefers
- V2NIMMessageService.getLocalThreadMessageList
🐛 Bug Fixes
V2:
- 修复 V2NIMThreadMessageListOption 定义起始和结束时间名称不正确问题
- 修复 V2NIMStatisticsService.getDatabaseInfos 回调中 TS 定义不正确问题
- 修复从历史版本升级到最新版本时部分消息表中字段不存在而导致查询丢失部分信息问题
- 修复指南针登录数据同步数据上报耗时不准确问题
- 修复卸载 node 模块时析构 SDK 对象抛出异常未捕获导致应用层崩溃问题
⚡ Behavior Changes:
V2:
- 调用 getTeamMemberList 查询群成员列表时由服务器下发的通知来更新本地可信时间,而不在 API 回调中更新,避免两边更新一起的时间戳不一致问题。
Full Changelog: 10.9.50...10.9.52
10.9.50
🚀 Features
V1:
- 流式消息 IMMessageStreamingConfig 新增 rags_ 字段支持在流式分片中携带 RAG 信息
V2:
- 新增 API searchTeams 基于 SQLite3 FTS5 的群检索功能
- 新增 API earchTeamMembersEx 基于 SQLite3 FTS5 的群成员检索功能
- 流式消息 V2NIMMessageStreamConfig 新增 rags 字段支持在流式分片中携带 RAG 信息
🐛 Bug Fixes
V2:
- 修复聊天室缓存目录为绝对路径是创建目录结构失败问题
通用:
- 修复被发送消息时间戳比服务器时间大的情况下消息发送成功回调没有触发会话变更问题
- 对一些不规则调用 SDK 接口如登录不等待回调等情况异常崩溃问题做加固
- 修复 N-API 封装层在不规则调用 API 接口时崩溃问题
- 修复 TS 层销毁客户端对象后依然会有事件通知导致崩溃问题
- 修复特殊场景下多端同步的会话已读时间戳没有正确写入数据库问题
⚡ Behavior Changes:
V2:
- V2NIMAIUser 中废弃成员 modelType,使用 aiModelType 替代
- V2NIMLoginOption 中 forceMode 成员默认值修改为 true
Full Changelog: 10.9.41...10.9.50
10.9.40
🚀 Features
- node-nim 层增加日志
- 新增设置当前聊天会话接口 setCurrentConversation
- V2NIMMessage 新增字段 messageSource,用以标识消息来源
🐛 Bug Fixes
V1:
- 修复特殊场景下聊天室反初始化崩溃问题
V2:
- 修复断线重连过程中发送带附件消息崩溃问题
- 修复断线重连过程中调用登出接口崩溃问题
- 修复连续使用相同账号调用登录接口后调用 getSyncData 返回信息不正确问题
- 修复不带附件的消息命中本地反垃圾文本全部被替换后消息发送失败的问题
通用:
- 修复历史超出天数的日志无法自动清理问题
10.9.33
10.9.32
🚀 Features
V2 系列
- 新增获取当前登录账号数据库信息接口 V2NIMStatisticsService.getDatabaseInfos
🐛 Bug Fixes
通用
- 修复登出或反初始化时偶现网络库崩溃问题
- 修复底层网络库内存访问越界
- 修复 Linux 频繁初始化、反初始化情况下 inotify fd 泄漏
- 修复 HTTP 网络库退出时 uv 相关 fd 泄漏
⚡ Performance
V2 系列
- 优化本地消息全文检索性能,对索引命中数量做限制避免耗时和大量内存占用
Full Changelog: 10.9.30...10.9.32