NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev
Andrew IM SDK for Flutter — HTTP + WebSocket client for real-time messaging, conversations, groups, audio/video calls and more.
Last release 1 months ago
07 Sep 2026
Too new to tell
only 2 release windows
Nearly every release is documented
notes for 11 of 12 stable releases
Nothing withdrawn
no release was ever pulled
2 months old
12 releases · first in 2026
One column per month.
HTTP 客户端只认 andrew-libs 统一信封 {code,message,data}:成功返回内层 data(配合网关透传、不再剥信封)。
{code,message,data}:成功返回内层 data(配合网关透传、不再剥信封)。post 字段。WebSocket 连接 `:0` 端口 bug:修复 ws_connect_io.dart 中 Uri.replace 对 ws:// scheme 丢失默认端口导致连接地址变成 http://host:0/... 的问题,改用手动拼接 query string 保持原始 URL 不变。
:0 端口 bug:修复 ws_connect_io.dart 中 Uri.replace 对 ws:// scheme 丢失默认端口导致连接地址变成 http://host:0/... 的问题,改用手动拼接 query string 保持原始 URL 不变。`debugMode` 参数:AndrewIMClient(debugMode: true) 开启后,所有 HTTP 请求都会通过 debugPrint 打印方法/URL/请求体/响应体(最多 600 字符),方便排查 API 问题。
debugMode 参数:AndrewIMClient(debugMode: true) 开启后,所有 HTTP 请求都会通过 debugPrint 打印方法/URL/请求体/响应体(最多 600 字符),方便排查 API 问题。断线重连:默认 maxReconnectAttempts = 0(无限重试),指数退避上限 reconnectMaxDelay(默认 30s)。断网数分钟后再恢复也会继续连上,不再在约 8 次后永久放弃。
maxReconnectAttempts = 0(无限重试),指数退避上限 reconnectMaxDelay(默认 30s)。断网数分钟后再恢复也会继续连上,不再在约 8 次后永久放弃。sendMessage HTTP 请求默认 20s timeout。ChatApiException。maxReconnectAttempts: 8 即可。LocalMessageStore 抽象 + MemoryLocalMessageStore / FileLocalMessageStore
LocalMessageStore 抽象 + MemoryLocalMessageStore / FileLocalMessageStoreinit 后自动打开用户维度文件库(Web 回退内存),恢复 seq 水位upsert 落盘AndrewIMClient.getConversationMessages:先读本地再增量补洞,离线可秒开LocalMessageStoreSeqRange / SessionMessageBatch 便于宿主直接 pull-by-seqIMFriendApplication.status 从 String 改为 FriendRequestStatus
IMFriendApplication.status 从 String 改为 FriendRequestStatusFriendApi.getFriendRequests() / FriendshipManager.getFriendApplicationListAsRecipient() 改为使用 enum 传递状态筛选andrew-chat 最新 protobuf 契约对齐,避免好友请求状态在服务端 / SDK / App 之间出现字符串漂移FriendRequestStatus.fromJson() 兼容 protobuf JSON 的两种返回形态:
1 / 2 / 3)FRIEND_REQUEST_STATUS_PENDING)Platform header 修复: init 未传 platform 时,X-Platform header 与 WS query 出现 null(http client 构造时误用原始参数而非自动检测结果)
init 未传 platform 时,X-Platform header 与 WS query 出现 null(http client 构造时误用原始参数而非自动检测结果)跨群群邀请列表: groupManager.getReceivedGroupInvites()(被邀请人视角,跨群)
groupManager.getReceivedGroupInvites()(被邀请人视角,跨群)
IMGroupInviteListResultGET /v1/im/groups/invites/receivedIMUserSearchResult、IMMessageSearchResult、IMGroupSearchResult、IMMediaSearchResult、IMGlobalSearchListResult、IMSearchHistoryListResult、IMSemanticSearchResult、IMSemanticSearchListResult 统一迁移至 model/search.dart(此前误置于 api 层),主导出文件正常导出Platform 自动检测: 初始化时 platform 参数不再写死 flutter,改为 dart:io Platform + kIsWeb 自动检测(android/ios/macos/windows/linux/web),与 andrew-chat 的 platform 类型对齐
flutter,改为 dart:io Platform + kIsWeb 自动检测(android/ios/macos/windows/linux/web),与 andrew-chat 的 platform 类型对齐CallMediaEngine: 完整的 WHIP/WHEP 媒体引擎
CallMediaEngine: 完整的 WHIP/WHEP 媒体引擎
CallManager 增强: 一键完成信令+媒体
startCall() - 发起通话(自动完成信令+媒体+鉴权)answerCall() - 接听通话(自动完成信令+媒体+鉴权)hangup() - 挂断通话(自动停止媒体+信令)rejectCall() - 拒绝通话cancelCall() - 取消通话startGroupCall() - 发起群通话joinGroupCall() - 加入群通话setMuted() / setCameraEnabled() / switchCamera() - 媒体控制hasMediaEngine - 检查媒体引擎状态按需初始化机制
session.media 字段自动心跳保活
shouldReconnectMedia 自动重连媒体callEnded 自动挂断Bearer Token 鉴权
flutter_webrtc: ^0.14.0dio: ^5.4.0flutter SDK 依赖删除 Deprecated API:
initiateCall() → 使用 startCall() 替代acceptCall() → 使用 answerCall() 替代createGroupCall() → 使用 startGroupCall() 替代joinCall() → 使用 joinGroupCall() 替代endCall() → 使用 hangup() 替代删除 client.dart 中的重复方法:
callHeartbeat() → 使用 callManager!.heartbeat() 替代getCallSession() → 使用 callManager!.getCallSession() 替代createGroupCall() → 使用 callManager!.startGroupCall() 替代joinCall() → 使用 callManager!.joinGroupCall() 替代doc/音视频通话指南.md - 完整的通话功能使用文档README.md - 添加音视频通话特性说明### Added - 消息、会话、群组、好友等 IM 核心功能 - WebSocket 长连接管理 - 消息同步、未读数管理 - 搜索、通知、Bot、Webhook 等扩展功能 - 消息翻译、草稿云同步 - 通话信令 API(CallManager 基础版) ---
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →