CHANGELOG
Continuous delivery, visible progress
Track every addition, improvement and fix across server editions and the shared client-SDK version line.
Server & Product
See what shipped for each sellable edition, release by release, grouped as New / Improved / Fixed.
v1.24.0: customer-service intelligence meets operational reliability — the AI-voice fix chain lands (multi-turn deafness, echo interruptions, final-echo), Auto-QA closes its loop (agent appeals, error retry, QA stats), knowledge-gap mining ships, Copilot gains draft rewrite and live session summary, KPI reporting moves to precomputed database aggregation, proactive invites become behavior-triggered rules, and SOP procedures orchestrate multi-step bot actions. Infrastructure completes the timezone contract (TIMESTAMPTZ everywhere + UTC-pinned sessions). The upgrade includes hot-table schema changes — schedule a maintenance window and run database migrations first.
Improved- The timezone contract lands end to end: all 176 timestamp columns convert to TIMESTAMPTZ (MySQL DATETIME eliminated) and every pooled session pins UTC — deployments and dev boxes outside UTC no longer see silently shifted timestamps. Upgrade note: hot tables (messages, sessions) are altered under an exclusive lock, so run the migration in a maintenance window (raise the migrate timeout on large databases); the migration interprets existing rows correctly under the deploying server's timezone.
A dual-track server and customer-service release: CS adds WhatsApp and WeChat-ecosystem channels with a fully redesigned agent workbench; read reporting upgrades to readUpTo cursors and message search gains global scope and AI source filters.
New- Read reporting upgrades to readUpTo cursors: clients report how far they actually read, the server confirms, and multi-device unread counts converge; offline pushes already covered by the cursor are cancelled — read on one device stops the buzzing on the others.
- AI additions: text-to-speech for bot messages (speech.synthesize webhook), in-flight expansion key-values for streaming messages, and tool-approval outcomes posted back into the conversation.
- Login gains a single-device policy: the newest login kicks the previous one.
Improved- Message search gains AI/human source filters, full-text matching on oversized AI replies, and cross-conversation global search.
- The beforeChat webhook gains HMAC signing and a delivery audit trail, plus two metadata lifecycle events (message persistence, group join).
- Xiaomi push adapts to the 2026 message-classification rules.
Quarterly server upgrade: the messaging hot path is faster across the board, the four key journeys gain latency metrics and alerts, and the admin console gets full dark mode.
New- The four key journeys (login, history load, send, AI first response) now ship latency metrics and alerts for faster incident triage.
- The admin console gains full dark mode with a visual polish pass across all frontends.
Improved- Messaging hot path is faster across the board: smoother peak send/receive in large groups and live rooms, with lower memory use, plus a lean runtime profile for smaller machines.
- Release packages are hardened further: every archive carries a signed integrity manifest, and the server self-verifies at startup against tampered binaries.
- Data-consistency hardening on MySQL for group-message timestamps and customer-service record fields.
The Basic release flow is upgraded: Basic is now delivered as the high-security package, with delivery and upgrade documentation completed.
New- Basic is now delivered as the high-security package: a signed integrity manifest and runtime tamper detection are built in.
Improved- The release README and website quickstart now document download verification, configuration, migrations, startup and upgrades.
Server v1.20.0 is the largest customer-service expansion since the module shipped: agent Copilot reply suggestions with adoption tracking, Auto-QA session inspection with a human review queue, self-serve agent availability plus proactive first-response SLA alerts, case materialization (call-analysis drafts and channel conversations land as cases), report metrics (answer-within-30s rate, FCR, queue wait, agent status durations), omnichannel customer journey with writable tags, and email channel completion (bot auto-reply, channel SLA); the AI platform hardens in step (turn-level trace correlation, DPACT approval time-boxing, per-bot token budgets).
- Transfer-brief authorization strengthened: the customer-profile section renders only for verified agents; the note and history sections are unaffected.
Server v1.19.0 adds digital-human customer service, media content moderation, OEM push and VoIP, customer-service update monitoring, and new marketing-lead and administration capabilities, while hardening multi-architecture build and release flows.
- Media moderation now supports replaceable external providers with one normalized status-and-evidence model for images, video, and audio. Push adds direct OEM channels, iOS VoIP tokens, and a more complete device-registration model.
- CJK search handling and multi-architecture image builds are hardened; both MySQL and PostgreSQL deployments are under continuous automated verification.
Server v1.18.0 upgrades messaging and production operations: global search, quote/edit, combined forwarding, and message pins join the unified protocol, alongside stronger multi-device push, OpenAPI service credentials, call state, customer-service voice, and worker observability.
- Messaging is upgraded with global search across DMs and groups, including practical indexes for English and CJK text. Quoting, editing, single and combined forwarding, and conversation-scoped message pins now form one complete flow. Chat Studio also adds multi-select forwarding, read rosters, bot Markdown, and light, dark, or system themes.
- Groups gain native user groups with create, search, and membership management. Versioned entities and real-time events converge profile and friendship changes across devices, while SDK conversation caches handle reconnects, out-of-order events, and history reconciliation more consistently.
- RTC call state is shared across instances for multi-instance coordination, with ringing timeouts, participant checks, and disconnect cleanup hardened. Worker heartbeats, queue backlog and lag, database-stall probes, scrape configuration, and alert rules make rolling releases and incident diagnosis more controlled.
Server v1.17.0 adds persistent auth sessions with administrator revocation, message envelopes and combined-detail reads, community channel governance, notification strategies, auditable runtime configuration, and expanded observability. AI streams gain cancellation, persisted final envelopes, and authorized large-reply object delivery, alongside message-size governance and verified multi-database migrations.
Client SDK 1.13.0 is released as versioned downloads with new React Native and WeChat Mini Program adapters; server behavior remains compatible with 1.15.0.
- Agent collaboration ships in every edition: an agent can hand a customer to a named colleague or let a team route automatically (online and least-busy first), and a supervisor can force a reassignment; group service supports claim / release / reassignment; internal-only customer notes and a shared canned-reply library are new. Transfers carry a context brief, so the receiving agent doesn't have to re-read the thread.
- Rich interactive messages: bots and agents can send quick-reply button groups and information cards; a customer's tap enters the normal conversation flow under their own identity and is recorded structurally. The web and Flutter UIKits render them out of the box, and clients that don't know the new types degrade to plain text.
- Hot-path performance: message payloads are parsed once, codecs are reused, and group/room fan-out allocates less — lower CPU and memory under load, with no behavior change.
Released alongside the client suite (SDK 1.11.1 / Flutter UIKit phase 2); no server-side behavior changes.
chat-studio demo follow-ups: WeChat-style in-thread time separators (shown only for ≥5-minute gaps) and a more compact auto-growing composer. (The client suite shipped SDK 1.11.0 and the Flutter UIKit in the same release — see the SDK track.)
chat-studio demo visual uplift: a neutral WeChat-style skin with brand teal, deterministic initial avatars, an avatar column beside peer bubbles with an AI streaming caret, humanized WeChat-style timestamps, entrance micro-motion (honoring reduced-motion), and a branded product-mode welcome. (The client suite debuted the Web UIKit in the same release — see the SDK track.)
Message size governance: a unified inbound request gate (default 256 KB) — over-limit requests now return the new error code 1011 Message too large without consuming rate-limit budget; tiered byte budgets for message-segment string fields (errors name the field); new oversize metrics and alert rules; the bilingual limits table docs/LIMITS.md documents every limit and its over-limit behavior.
- Kubernetes umbrella chart: the Helm deployment can optionally bundle PostgreSQL / Redis / RabbitMQ / MinIO subcharts (values-bundled.yaml brings up the full stack in one install) and orchestrates the database-migration Job; the chart's appVersion doubles as the default image tag.
Deployment experience patch: release packages now bundle demo_token (mint a test JWT in one command, matching the quickstart verification step); the config template defaults to PostgreSQL with a fully documented database switch; MySQL deployment compatibility fixes; both MySQL and PostgreSQL are now under continuous automated verification.
Message expansion Key/Value: attach mutable KV entries to any message (chat_{dm,group,room}_expand) — a generic base for polls, sign-up chains, surveys and task status. u:<userID>: private prefixes are writable only by their owner (tamper-proof votes); public keys only by the sender. Per-key last-write-wins with server-side per-message serialization, live broadcast, multi-device sync and offline catch-up via history — no DDL.
- Typed @mention targets: structured @user / @role / @here / @all mentions (server-side resolution and authorization), with mention-level push preferences.
- Group member marks: owners/admins can attach staff-visible marks to members (customer notes for support scenarios).
- High-concurrency connection management: the connection registry and online-user index remove the global lock hot spot, steadier under high concurrency.
- Correctness and safety hardening: conversation summaries now follow the authoritative unread data (no drift); room mark-read backfills read receipts over the whole range; inbound OpenAPI error responses are normalized (no internal details).
Conversation UX trio (server + all four SDKs): manual mark-unread (per-conversation, synced across your own devices, auto-cleared on real read); cross-device draft sync (last-write-wins); scheduled do-not-disturb / quiet hours (suppresses offline push during your configured window). Typed SDK wrappers operations.markUnread, drafts.set/clear, push.getDnd/setDnd ship in JS/TS, Dart, Swift and Kotlin.
- Standalone consumer observability: the persist consumers expose /metrics and /healthz·/livez·/readyz on an opt-in address.
- Credential hygiene: release pipelines now scan for leaked secrets so credentials cannot slip into the repo or shipped artifacts.
Complete server OpenAPI 3.1 contract: every customer-facing HTTP route is described, served at /openapi.{yaml,json}, and kept in sync with the actual implementation.
- All WebSocket commands are SDK-accessible: the final 25 commands enter the protocol catalog; all four SDKs gain an operations API.
- Website dependency upgrades: Astro and site dependencies upgraded, keeping the static build green.
Resilient connections (four SDKs): connect timeout, dead-connection retirement, and jittered exponential reconnect backoff.
- Bidirectional history pagination: historyPage() with before/after/seq cursors; the array-returning history() stays compatible.
- Production health probes: process-only /livez and dependency-aware /readyz (Redis / DB / broker), alongside /healthz.
Object storage (S3-compatible + bundled MinIO).
- SDK relations helper.
- Multi-party call cap.
- Mobile voice messages.
Location & contact-card messages.
- Mobile H5 chat with a QR demo.
- Live read-only demo with a RAG assistant.
First official release — free Basic edition, one-command Docker Compose, Docker Hub + Aliyun ACR images, and amd64 / arm64 / loong64 binaries plus offline bundles.
- /openapi/v1 inbound push API.
- Enterprise directory.
- Basic quota raised to 1,000 connections.
- Docs & packaging: SDK docs and bilingual product / security / solutions pages; consolidated to four sellable editions (Basic / Pro / Enterprise / Customer Service) from a single source of truth.
v1.24.0: customer-service intelligence meets operational reliability — the AI-voice fix chain lands (multi-turn deafness, echo interruptions, final-echo), Auto-QA closes its loop (agent appeals, error retry, QA stats), knowledge-gap mining ships, Copilot gains draft rewrite and live session summary, KPI reporting moves to precomputed database aggregation, proactive invites become behavior-triggered rules, and SOP procedures orchestrate multi-step bot actions. Infrastructure completes the timezone contract (TIMESTAMPTZ everywhere + UTC-pinned sessions). The upgrade includes hot-table schema changes — schedule a maintenance window and run database migrations first.
Improved- The timezone contract lands end to end: all 176 timestamp columns convert to TIMESTAMPTZ (MySQL DATETIME eliminated) and every pooled session pins UTC — deployments and dev boxes outside UTC no longer see silently shifted timestamps. Upgrade note: hot tables (messages, sessions) are altered under an exclusive lock, so run the migration in a maintenance window (raise the migrate timeout on large databases); the migration interprets existing rows correctly under the deploying server's timezone.
A dual-track server and customer-service release: CS adds WhatsApp and WeChat-ecosystem channels with a fully redesigned agent workbench; read reporting upgrades to readUpTo cursors and message search gains global scope and AI source filters.
New- Read reporting upgrades to readUpTo cursors: clients report how far they actually read, the server confirms, and multi-device unread counts converge; offline pushes already covered by the cursor are cancelled — read on one device stops the buzzing on the others.
- AI additions: text-to-speech for bot messages (speech.synthesize webhook), in-flight expansion key-values for streaming messages, and tool-approval outcomes posted back into the conversation.
- Login gains a single-device policy: the newest login kicks the previous one.
Improved- Message search gains AI/human source filters, full-text matching on oversized AI replies, and cross-conversation global search.
- The beforeChat webhook gains HMAC signing and a delivery audit trail, plus two metadata lifecycle events (message persistence, group join).
- Xiaomi push adapts to the 2026 message-classification rules.
Quarterly server upgrade: the messaging hot path is faster across the board, the four key journeys gain latency metrics and alerts, and the admin console gets full dark mode.
New- The four key journeys (login, history load, send, AI first response) now ship latency metrics and alerts for faster incident triage.
- The admin console gains full dark mode with a visual polish pass across all frontends.
Improved- Messaging hot path is faster across the board: smoother peak send/receive in large groups and live rooms, with lower memory use, plus a lean runtime profile for smaller machines.
- Release packages are hardened further: every archive carries a signed integrity manifest, and the server self-verifies at startup against tampered binaries.
- Data-consistency hardening on MySQL for group-message timestamps and customer-service record fields.
The Basic release flow is upgraded: Basic is now delivered as the high-security package, with delivery and upgrade documentation completed.
New- Basic is now delivered as the high-security package: a signed integrity manifest and runtime tamper detection are built in.
Improved- The release README and website quickstart now document download verification, configuration, migrations, startup and upgrades.
Server v1.20.0 is the largest customer-service expansion since the module shipped: agent Copilot reply suggestions with adoption tracking, Auto-QA session inspection with a human review queue, self-serve agent availability plus proactive first-response SLA alerts, case materialization (call-analysis drafts and channel conversations land as cases), report metrics (answer-within-30s rate, FCR, queue wait, agent status durations), omnichannel customer journey with writable tags, and email channel completion (bot auto-reply, channel SLA); the AI platform hardens in step (turn-level trace correlation, DPACT approval time-boxing, per-bot token budgets).
- Transfer-brief authorization strengthened: the customer-profile section renders only for verified agents; the note and history sections are unaffected.
Server v1.19.0 adds digital-human customer service, media content moderation, OEM push and VoIP, customer-service update monitoring, and new marketing-lead and administration capabilities, while hardening multi-architecture build and release flows.
- Media moderation now supports replaceable external providers with one normalized status-and-evidence model for images, video, and audio. Push adds direct OEM channels, iOS VoIP tokens, and a more complete device-registration model.
- CJK search handling and multi-architecture image builds are hardened; both MySQL and PostgreSQL deployments are under continuous automated verification.
Server v1.18.0 upgrades messaging and production operations: global search, quote/edit, combined forwarding, and message pins join the unified protocol, alongside stronger multi-device push, OpenAPI service credentials, call state, customer-service voice, and worker observability.
- Messaging is upgraded with global search across DMs and groups, including practical indexes for English and CJK text. Quoting, editing, single and combined forwarding, and conversation-scoped message pins now form one complete flow. Chat Studio also adds multi-select forwarding, read rosters, bot Markdown, and light, dark, or system themes.
- Groups gain native user groups with create, search, and membership management. Versioned entities and real-time events converge profile and friendship changes across devices, while SDK conversation caches handle reconnects, out-of-order events, and history reconciliation more consistently.
- Offline push now delivers reliably per device, with independent claiming and retries and provider tokens owned by the latest registering account by default. Native Huawei, Honor, Xiaomi, OPPO, and vivo channels join APNs and FCM under one configurable and observable delivery path.
- RTC call state is shared across instances for multi-instance coordination, with ringing timeouts, participant checks, and disconnect cleanup hardened. Worker heartbeats, queue backlog and lag, database-stall probes, scrape configuration, and alert rules make rolling releases and incident diagnosis more controlled.
Server v1.17.0 adds persistent auth sessions with administrator revocation, message envelopes and combined-detail reads, community channel governance, notification strategies, auditable runtime configuration, and expanded observability. AI streams gain cancellation, persisted final envelopes, and authorized large-reply object delivery, alongside message-size governance and verified multi-database migrations.
Client SDK 1.13.0 is released as versioned downloads with new React Native and WeChat Mini Program adapters; server behavior remains compatible with 1.15.0.
- Agent collaboration ships in every edition: an agent can hand a customer to a named colleague or let a team route automatically (online and least-busy first), and a supervisor can force a reassignment; group service supports claim / release / reassignment; internal-only customer notes and a shared canned-reply library are new. Transfers carry a context brief, so the receiving agent doesn't have to re-read the thread.
- Rich interactive messages: bots and agents can send quick-reply button groups and information cards; a customer's tap enters the normal conversation flow under their own identity and is recorded structurally. The web and Flutter UIKits render them out of the box, and clients that don't know the new types degrade to plain text.
- Hot-path performance: message payloads are parsed once, codecs are reused, and group/room fan-out allocates less — lower CPU and memory under load, with no behavior change.
Released alongside the client suite (SDK 1.11.1 / Flutter UIKit phase 2); no server-side behavior changes.
chat-studio demo follow-ups: WeChat-style in-thread time separators (shown only for ≥5-minute gaps) and a more compact auto-growing composer. (The client suite shipped SDK 1.11.0 and the Flutter UIKit in the same release — see the SDK track.)
chat-studio demo visual uplift: a neutral WeChat-style skin with brand teal, deterministic initial avatars, an avatar column beside peer bubbles with an AI streaming caret, humanized WeChat-style timestamps, entrance micro-motion (honoring reduced-motion), and a branded product-mode welcome. (The client suite debuted the Web UIKit in the same release — see the SDK track.)
Message size governance: a unified inbound request gate (default 256 KB) — over-limit requests now return the new error code 1011 Message too large without consuming rate-limit budget; tiered byte budgets for message-segment string fields (errors name the field); new oversize metrics and alert rules; the bilingual limits table docs/LIMITS.md documents every limit and its over-limit behavior.
- Kubernetes umbrella chart: the Helm deployment can optionally bundle PostgreSQL / Redis / RabbitMQ / MinIO subcharts (values-bundled.yaml brings up the full stack in one install) and orchestrates the database-migration Job; the chart's appVersion doubles as the default image tag.
Deployment experience patch: release packages now bundle demo_token (mint a test JWT in one command, matching the quickstart verification step); the config template defaults to PostgreSQL with a fully documented database switch; MySQL deployment compatibility fixes; both MySQL and PostgreSQL are now under continuous automated verification.
Message expansion Key/Value: attach mutable KV entries to any message (chat_{dm,group,room}_expand) — a generic base for polls, sign-up chains, surveys and task status. u:<userID>: private prefixes are writable only by their owner (tamper-proof votes); public keys only by the sender. Per-key last-write-wins with server-side per-message serialization, live broadcast, multi-device sync and offline catch-up via history — no DDL.
- Typed @mention targets: structured @user / @role / @here / @all mentions (server-side resolution and authorization), with mention-level push preferences.
- Per-user group push level: each member can set all / mentions / direct / none per group; offline push is filtered accordingly.
- Group member marks: owners/admins can attach staff-visible marks to members (customer notes for support scenarios).
- High-concurrency connection management: the connection registry and online-user index remove the global lock hot spot, steadier under high concurrency.
- Correctness and safety hardening: conversation summaries now follow the authoritative unread data (no drift); room mark-read backfills read receipts over the whole range; inbound OpenAPI error responses are normalized (no internal details).
Conversation UX trio (server + all four SDKs): manual mark-unread (per-conversation, synced across your own devices, auto-cleared on real read); cross-device draft sync (last-write-wins); scheduled do-not-disturb / quiet hours (suppresses offline push during your configured window). Typed SDK wrappers operations.markUnread, drafts.set/clear, push.getDnd/setDnd ship in JS/TS, Dart, Swift and Kotlin.
- Standalone consumer observability: the persist consumers expose /metrics and /healthz·/livez·/readyz on an opt-in address.
- Credential hygiene: release pipelines now scan for leaked secrets so credentials cannot slip into the repo or shipped artifacts.
Complete server OpenAPI 3.1 contract: every customer-facing HTTP route is described, served at /openapi.{yaml,json}, and kept in sync with the actual implementation.
- All WebSocket commands are SDK-accessible: the final 25 commands enter the protocol catalog; all four SDKs gain an operations API.
- Website dependency upgrades: Astro and site dependencies upgraded, keeping the static build green.
Resilient connections (four SDKs): connect timeout, dead-connection retirement, and jittered exponential reconnect backoff.
- Bidirectional history pagination: historyPage() with before/after/seq cursors; the array-returning history() stays compatible.
- Production health probes: process-only /livez and dependency-aware /readyz (Redis / DB / broker), alongside /healthz.
Object storage (S3-compatible + bundled MinIO).
- SDK relations helper.
- Multi-party call cap.
- Mobile voice messages.
Location & contact-card messages.
- Mobile H5 chat with a QR demo.
- Live read-only demo with a RAG assistant.
First official release — free Basic edition, one-command Docker Compose, Docker Hub + Aliyun ACR images, and amd64 / arm64 / loong64 binaries plus offline bundles.
- /openapi/v1 inbound push API.
- Enterprise directory.
- Built-in Chinese moderation lexicon.
- Basic quota raised to 1,000 connections.
- Docs & packaging: SDK docs and bilingual product / security / solutions pages; consolidated to four sellable editions (Basic / Pro / Enterprise / Customer Service) from a single source of truth.
v1.24.0: customer-service intelligence meets operational reliability — the AI-voice fix chain lands (multi-turn deafness, echo interruptions, final-echo), Auto-QA closes its loop (agent appeals, error retry, QA stats), knowledge-gap mining ships, Copilot gains draft rewrite and live session summary, KPI reporting moves to precomputed database aggregation, proactive invites become behavior-triggered rules, and SOP procedures orchestrate multi-step bot actions. Infrastructure completes the timezone contract (TIMESTAMPTZ everywhere + UTC-pinned sessions). The upgrade includes hot-table schema changes — schedule a maintenance window and run database migrations first.
Improved- The timezone contract lands end to end: all 176 timestamp columns convert to TIMESTAMPTZ (MySQL DATETIME eliminated) and every pooled session pins UTC — deployments and dev boxes outside UTC no longer see silently shifted timestamps. Upgrade note: hot tables (messages, sessions) are altered under an exclusive lock, so run the migration in a maintenance window (raise the migrate timeout on large databases); the migration interprets existing rows correctly under the deploying server's timezone.
A dual-track server and customer-service release: CS adds WhatsApp and WeChat-ecosystem channels with a fully redesigned agent workbench; read reporting upgrades to readUpTo cursors and message search gains global scope and AI source filters.
New- Read reporting upgrades to readUpTo cursors: clients report how far they actually read, the server confirms, and multi-device unread counts converge; offline pushes already covered by the cursor are cancelled — read on one device stops the buzzing on the others.
- AI additions: text-to-speech for bot messages (speech.synthesize webhook), in-flight expansion key-values for streaming messages, and tool-approval outcomes posted back into the conversation.
- Login gains a single-device policy: the newest login kicks the previous one.
Improved- Message search gains AI/human source filters, full-text matching on oversized AI replies, and cross-conversation global search.
- The beforeChat webhook gains HMAC signing and a delivery audit trail, plus two metadata lifecycle events (message persistence, group join).
- Xiaomi push adapts to the 2026 message-classification rules.
Quarterly server upgrade: the messaging hot path is faster across the board, the four key journeys gain latency metrics and alerts, and the admin console gets full dark mode.
New- The four key journeys (login, history load, send, AI first response) now ship latency metrics and alerts for faster incident triage.
- The admin console gains full dark mode with a visual polish pass across all frontends.
Improved- Messaging hot path is faster across the board: smoother peak send/receive in large groups and live rooms, with lower memory use, plus a lean runtime profile for smaller machines.
- Release packages are hardened further: every archive carries a signed integrity manifest, and the server self-verifies at startup against tampered binaries.
- Data-consistency hardening on MySQL for group-message timestamps and customer-service record fields.
The Basic release flow is upgraded: Basic is now delivered as the high-security package, with delivery and upgrade documentation completed.
New- Basic is now delivered as the high-security package: a signed integrity manifest and runtime tamper detection are built in.
Improved- The release README and website quickstart now document download verification, configuration, migrations, startup and upgrades.
Server v1.20.0 is the largest customer-service expansion since the module shipped: agent Copilot reply suggestions with adoption tracking, Auto-QA session inspection with a human review queue, self-serve agent availability plus proactive first-response SLA alerts, case materialization (call-analysis drafts and channel conversations land as cases), report metrics (answer-within-30s rate, FCR, queue wait, agent status durations), omnichannel customer journey with writable tags, and email channel completion (bot auto-reply, channel SLA); the AI platform hardens in step (turn-level trace correlation, DPACT approval time-boxing, per-bot token budgets).
- Transfer-brief authorization strengthened: the customer-profile section renders only for verified agents; the note and history sections are unaffected.
Server v1.19.0 adds digital-human customer service, media content moderation, OEM push and VoIP, customer-service update monitoring, and new marketing-lead and administration capabilities, while hardening multi-architecture build and release flows.
- Media moderation now supports replaceable external providers with one normalized status-and-evidence model for images, video, and audio. Push adds direct OEM channels, iOS VoIP tokens, and a more complete device-registration model.
- CJK search handling and multi-architecture image builds are hardened; both MySQL and PostgreSQL deployments are under continuous automated verification.
Server v1.18.0 upgrades messaging and production operations: global search, quote/edit, combined forwarding, and message pins join the unified protocol, alongside stronger multi-device push, OpenAPI service credentials, call state, customer-service voice, and worker observability.
- Messaging is upgraded with global search across DMs and groups, including practical indexes for English and CJK text. Quoting, editing, single and combined forwarding, and conversation-scoped message pins now form one complete flow. Chat Studio also adds multi-select forwarding, read rosters, bot Markdown, and light, dark, or system themes.
- Groups gain native user groups with create, search, and membership management. Versioned entities and real-time events converge profile and friendship changes across devices, while SDK conversation caches handle reconnects, out-of-order events, and history reconciliation more consistently.
- Offline push now delivers reliably per device, with independent claiming and retries and provider tokens owned by the latest registering account by default. Native Huawei, Honor, Xiaomi, OPPO, and vivo channels join APNs and FCM under one configurable and observable delivery path.
- RTC call state is shared across instances for multi-instance coordination, with ringing timeouts, participant checks, and disconnect cleanup hardened. Worker heartbeats, queue backlog and lag, database-stall probes, scrape configuration, and alert rules make rolling releases and incident diagnosis more controlled.
Server v1.17.0 adds persistent auth sessions with administrator revocation, message envelopes and combined-detail reads, community channel governance, notification strategies, auditable runtime configuration, and expanded observability. AI streams gain cancellation, persisted final envelopes, and authorized large-reply object delivery, alongside message-size governance and verified multi-database migrations.
Client SDK 1.13.0 is released as versioned downloads with new React Native and WeChat Mini Program adapters; server behavior remains compatible with 1.15.0.
- Agent collaboration ships in every edition: an agent can hand a customer to a named colleague or let a team route automatically (online and least-busy first), and a supervisor can force a reassignment; group service supports claim / release / reassignment; internal-only customer notes and a shared canned-reply library are new. Transfers carry a context brief, so the receiving agent doesn't have to re-read the thread.
- Rich interactive messages: bots and agents can send quick-reply button groups and information cards; a customer's tap enters the normal conversation flow under their own identity and is recorded structurally. The web and Flutter UIKits render them out of the box, and clients that don't know the new types degrade to plain text.
- Hot-path performance: message payloads are parsed once, codecs are reused, and group/room fan-out allocates less — lower CPU and memory under load, with no behavior change.
Released alongside the client suite (SDK 1.11.1 / Flutter UIKit phase 2); no server-side behavior changes.
chat-studio demo follow-ups: WeChat-style in-thread time separators (shown only for ≥5-minute gaps) and a more compact auto-growing composer. (The client suite shipped SDK 1.11.0 and the Flutter UIKit in the same release — see the SDK track.)
chat-studio demo visual uplift: a neutral WeChat-style skin with brand teal, deterministic initial avatars, an avatar column beside peer bubbles with an AI streaming caret, humanized WeChat-style timestamps, entrance micro-motion (honoring reduced-motion), and a branded product-mode welcome. (The client suite debuted the Web UIKit in the same release — see the SDK track.)
Message size governance: a unified inbound request gate (default 256 KB) — over-limit requests now return the new error code 1011 Message too large without consuming rate-limit budget; tiered byte budgets for message-segment string fields (errors name the field); new oversize metrics and alert rules; the bilingual limits table docs/LIMITS.md documents every limit and its over-limit behavior.
- Kubernetes umbrella chart: the Helm deployment can optionally bundle PostgreSQL / Redis / RabbitMQ / MinIO subcharts (values-bundled.yaml brings up the full stack in one install) and orchestrates the database-migration Job; the chart's appVersion doubles as the default image tag.
Deployment experience patch: release packages now bundle demo_token (mint a test JWT in one command, matching the quickstart verification step); the config template defaults to PostgreSQL with a fully documented database switch; MySQL deployment compatibility fixes; both MySQL and PostgreSQL are now under continuous automated verification.
Message expansion Key/Value: attach mutable KV entries to any message (chat_{dm,group,room}_expand) — a generic base for polls, sign-up chains, surveys and task status. u:<userID>: private prefixes are writable only by their owner (tamper-proof votes); public keys only by the sender. Per-key last-write-wins with server-side per-message serialization, live broadcast, multi-device sync and offline catch-up via history — no DDL.
- Typed @mention targets: structured @user / @role / @here / @all mentions (server-side resolution and authorization), with mention-level push preferences.
- Per-user group push level: each member can set all / mentions / direct / none per group; offline push is filtered accordingly.
- Group member marks: owners/admins can attach staff-visible marks to members (customer notes for support scenarios).
- High-concurrency connection management: the connection registry and online-user index remove the global lock hot spot, steadier under high concurrency.
- Correctness and safety hardening: conversation summaries now follow the authoritative unread data (no drift); room mark-read backfills read receipts over the whole range; inbound OpenAPI error responses are normalized (no internal details).
Conversation UX trio (server + all four SDKs): manual mark-unread (per-conversation, synced across your own devices, auto-cleared on real read); cross-device draft sync (last-write-wins); scheduled do-not-disturb / quiet hours (suppresses offline push during your configured window). Typed SDK wrappers operations.markUnread, drafts.set/clear, push.getDnd/setDnd ship in JS/TS, Dart, Swift and Kotlin.
- Standalone consumer observability: the persist consumers expose /metrics and /healthz·/livez·/readyz on an opt-in address.
- Credential hygiene: release pipelines now scan for leaked secrets so credentials cannot slip into the repo or shipped artifacts.
Complete server OpenAPI 3.1 contract: every customer-facing HTTP route is described, served at /openapi.{yaml,json}, and kept in sync with the actual implementation.
- All WebSocket commands are SDK-accessible: the final 25 commands enter the protocol catalog; all four SDKs gain an operations API.
- Website dependency upgrades: Astro and site dependencies upgraded, keeping the static build green.
Resilient connections (four SDKs): connect timeout, dead-connection retirement, and jittered exponential reconnect backoff.
- Bidirectional history pagination: historyPage() with before/after/seq cursors; the array-returning history() stays compatible.
- Production health probes: process-only /livez and dependency-aware /readyz (Redis / DB / broker), alongside /healthz.
Object storage (S3-compatible + bundled MinIO).
- SDK relations helper.
- Multi-party call cap.
- Mobile voice messages.
Location & contact-card messages.
- Mobile H5 chat with a QR demo.
- Live read-only demo with a RAG assistant.
First official release — free Basic edition, one-command Docker Compose, Docker Hub + Aliyun ACR images, and amd64 / arm64 / loong64 binaries plus offline bundles.
- /openapi/v1 inbound push API.
- Enterprise directory.
- Built-in Chinese moderation lexicon.
- Basic quota raised to 1,000 connections.
- Docs & packaging: SDK docs and bilingual product / security / solutions pages; consolidated to four sellable editions (Basic / Pro / Enterprise / Customer Service) from a single source of truth.
v1.24.0: customer-service intelligence meets operational reliability — the AI-voice fix chain lands (multi-turn deafness, echo interruptions, final-echo), Auto-QA closes its loop (agent appeals, error retry, QA stats), knowledge-gap mining ships, Copilot gains draft rewrite and live session summary, KPI reporting moves to precomputed database aggregation, proactive invites become behavior-triggered rules, and SOP procedures orchestrate multi-step bot actions. Infrastructure completes the timezone contract (TIMESTAMPTZ everywhere + UTC-pinned sessions). The upgrade includes hot-table schema changes — schedule a maintenance window and run database migrations first.
Improved- The timezone contract lands end to end: all 176 timestamp columns convert to TIMESTAMPTZ (MySQL DATETIME eliminated) and every pooled session pins UTC — deployments and dev boxes outside UTC no longer see silently shifted timestamps. Upgrade note: hot tables (messages, sessions) are altered under an exclusive lock, so run the migration in a maintenance window (raise the migrate timeout on large databases); the migration interprets existing rows correctly under the deploying server's timezone.
A dual-track server and customer-service release: CS adds WhatsApp and WeChat-ecosystem channels with a fully redesigned agent workbench; read reporting upgrades to readUpTo cursors and message search gains global scope and AI source filters.
New- Read reporting upgrades to readUpTo cursors: clients report how far they actually read, the server confirms, and multi-device unread counts converge; offline pushes already covered by the cursor are cancelled — read on one device stops the buzzing on the others.
- AI additions: text-to-speech for bot messages (speech.synthesize webhook), in-flight expansion key-values for streaming messages, and tool-approval outcomes posted back into the conversation.
- Login gains a single-device policy: the newest login kicks the previous one.
Improved- Message search gains AI/human source filters, full-text matching on oversized AI replies, and cross-conversation global search.
- The beforeChat webhook gains HMAC signing and a delivery audit trail, plus two metadata lifecycle events (message persistence, group join).
- Xiaomi push adapts to the 2026 message-classification rules.
Quarterly server upgrade: the messaging hot path is faster across the board, the four key journeys gain latency metrics and alerts, and the admin console gets full dark mode.
New- The four key journeys (login, history load, send, AI first response) now ship latency metrics and alerts for faster incident triage.
- The admin console gains full dark mode with a visual polish pass across all frontends.
Improved- Messaging hot path is faster across the board: smoother peak send/receive in large groups and live rooms, with lower memory use, plus a lean runtime profile for smaller machines.
- Release packages are hardened further: every archive carries a signed integrity manifest, and the server self-verifies at startup against tampered binaries.
- Data-consistency hardening on MySQL for group-message timestamps and customer-service record fields.
The Basic release flow is upgraded: Basic is now delivered as the high-security package, with delivery and upgrade documentation completed.
New- Basic is now delivered as the high-security package: a signed integrity manifest and runtime tamper detection are built in.
Improved- The release README and website quickstart now document download verification, configuration, migrations, startup and upgrades.
Server v1.20.0 is the largest customer-service expansion since the module shipped: agent Copilot reply suggestions with adoption tracking, Auto-QA session inspection with a human review queue, self-serve agent availability plus proactive first-response SLA alerts, case materialization (call-analysis drafts and channel conversations land as cases), report metrics (answer-within-30s rate, FCR, queue wait, agent status durations), omnichannel customer journey with writable tags, and email channel completion (bot auto-reply, channel SLA); the AI platform hardens in step (turn-level trace correlation, DPACT approval time-boxing, per-bot token budgets).
- Transfer-brief authorization strengthened: the customer-profile section renders only for verified agents; the note and history sections are unaffected.
Server v1.19.0 adds digital-human customer service, media content moderation, OEM push and VoIP, customer-service update monitoring, and new marketing-lead and administration capabilities, while hardening multi-architecture build and release flows.
- The Customer Service edition adds Volcengine digital-human video service with FlowAct real-time voice driving, Doubao TTS, ByteRTC authentication, and conversation-level idle recycling. Administrators can manage avatar libraries, configure persona and voice per bot, and inspect capability and session status in real time.
- Media moderation now supports replaceable external providers with one normalized status-and-evidence model for images, video, and audio. Push adds direct OEM channels, iOS VoIP tokens, and a more complete device-registration model.
- Customer-service and AI update monitoring, marketing-lead capture, and digital-human administration are now available. Operators can review versioned updates, receive leads, and maintain avatar configuration under the existing permission and audit controls.
- CJK search handling and multi-architecture image builds are hardened; both MySQL and PostgreSQL deployments are under continuous automated verification.
Server v1.18.0 upgrades messaging and production operations: global search, quote/edit, combined forwarding, and message pins join the unified protocol, alongside stronger multi-device push, OpenAPI service credentials, call state, customer-service voice, and worker observability.
- Messaging is upgraded with global search across DMs and groups, including practical indexes for English and CJK text. Quoting, editing, single and combined forwarding, and conversation-scoped message pins now form one complete flow. Chat Studio also adds multi-select forwarding, read rosters, bot Markdown, and light, dark, or system themes.
- Groups gain native user groups with create, search, and membership management. Versioned entities and real-time events converge profile and friendship changes across devices, while SDK conversation caches handle reconnects, out-of-order events, and history reconciliation more consistently.
- Offline push now delivers reliably per device, with independent claiming and retries and provider tokens owned by the latest registering account by default. Native Huawei, Honor, Xiaomi, OPPO, and vivo channels join APNs and FCM under one configurable and observable delivery path.
- OpenAPI gains database-backed service credentials with scoped authorization, enable/disable and expiry controls, and secrets returned only at creation. Quotas are shared across instances, while failed authentication, denials, and writes enter one redacted audit trail.
- RTC call state is shared across instances for multi-instance coordination, with ringing timeouts, participant checks, and disconnect cleanup hardened. Worker heartbeats, queue backlog and lag, database-stall probes, scrape configuration, and alert rules make rolling releases and incident diagnosis more controlled.
Server v1.17.0 adds persistent auth sessions with administrator revocation, message envelopes and combined-detail reads, community channel governance, notification strategies, auditable runtime configuration, and expanded observability. AI streams gain cancellation, persisted final envelopes, and authorized large-reply object delivery, alongside message-size governance and verified multi-database migrations.
- Data governance now covers the full message lifecycle: set retention by conversation or group, then archive, restore and safely delete expired messages. Complete data export, erasure and anonymisation, legal hold, audit-integrity verification and backup/restore drills join one managed workflow.
Client SDK 1.13.0 is released as versioned downloads with new React Native and WeChat Mini Program adapters; server behavior remains compatible with 1.15.0.
- Agent collaboration ships in every edition: an agent can hand a customer to a named colleague or let a team route automatically (online and least-busy first), and a supervisor can force a reassignment; group service supports claim / release / reassignment; internal-only customer notes and a shared canned-reply library are new. Transfers carry a context brief, so the receiving agent doesn't have to re-read the thread.
- Rich interactive messages: bots and agents can send quick-reply button groups and information cards; a customer's tap enters the normal conversation flow under their own identity and is recorded structurally. The web and Flutter UIKits render them out of the box, and clients that don't know the new types degrade to plain text.
- Hot-path performance: message payloads are parsed once, codecs are reused, and group/room fan-out allocates less — lower CPU and memory under load, with no behavior change.
Released alongside the client suite (SDK 1.11.1 / Flutter UIKit phase 2); no server-side behavior changes.
chat-studio demo follow-ups: WeChat-style in-thread time separators (shown only for ≥5-minute gaps) and a more compact auto-growing composer. (The client suite shipped SDK 1.11.0 and the Flutter UIKit in the same release — see the SDK track.)
chat-studio demo visual uplift: a neutral WeChat-style skin with brand teal, deterministic initial avatars, an avatar column beside peer bubbles with an AI streaming caret, humanized WeChat-style timestamps, entrance micro-motion (honoring reduced-motion), and a branded product-mode welcome. (The client suite debuted the Web UIKit in the same release — see the SDK track.)
Message size governance: a unified inbound request gate (default 256 KB) — over-limit requests now return the new error code 1011 Message too large without consuming rate-limit budget; tiered byte budgets for message-segment string fields (errors name the field); new oversize metrics and alert rules; the bilingual limits table docs/LIMITS.md documents every limit and its over-limit behavior.
- Kubernetes umbrella chart: the Helm deployment can optionally bundle PostgreSQL / Redis / RabbitMQ / MinIO subcharts (values-bundled.yaml brings up the full stack in one install) and orchestrates the database-migration Job; the chart's appVersion doubles as the default image tag.
Deployment experience patch: release packages now bundle demo_token (mint a test JWT in one command, matching the quickstart verification step); the config template defaults to PostgreSQL with a fully documented database switch; MySQL deployment compatibility fixes; both MySQL and PostgreSQL are now under continuous automated verification.
Message expansion Key/Value: attach mutable KV entries to any message (chat_{dm,group,room}_expand) — a generic base for polls, sign-up chains, surveys and task status. u:<userID>: private prefixes are writable only by their owner (tamper-proof votes); public keys only by the sender. Per-key last-write-wins with server-side per-message serialization, live broadcast, multi-device sync and offline catch-up via history — no DDL.
- Typed @mention targets: structured @user / @role / @here / @all mentions (server-side resolution and authorization), with mention-level push preferences.
- Per-user group push level: each member can set all / mentions / direct / none per group; offline push is filtered accordingly.
- Group member marks: owners/admins can attach staff-visible marks to members (customer notes for support scenarios).
- High-concurrency connection management: the connection registry and online-user index remove the global lock hot spot, steadier under high concurrency.
- Correctness and safety hardening: conversation summaries now follow the authoritative unread data (no drift); room mark-read backfills read receipts over the whole range; inbound OpenAPI error responses are normalized (no internal details).
Conversation UX trio (server + all four SDKs): manual mark-unread (per-conversation, synced across your own devices, auto-cleared on real read); cross-device draft sync (last-write-wins); scheduled do-not-disturb / quiet hours (suppresses offline push during your configured window). Typed SDK wrappers operations.markUnread, drafts.set/clear, push.getDnd/setDnd ship in JS/TS, Dart, Swift and Kotlin.
- Standalone consumer observability: the persist consumers expose /metrics and /healthz·/livez·/readyz on an opt-in address.
Data-governance control plane (Enterprise): reviewed data inventory, access/export/erasure cases, legal holds, retention previews/runs, and dedicated governance:read / governance:write permissions.
- Fail-closed by default: erasure and retention execution stay disabled until explicitly configured, honour active legal holds, and record durable run evidence.
- Governance OpenAPI + runbook: 11 typed endpoints, plus bilingual legal-review guidance mapped to PIPL/GDPR (no certification claim).
- Credential hygiene: release pipelines now scan for leaked secrets so credentials cannot slip into the repo or shipped artifacts.
Complete server OpenAPI 3.1 contract: every customer-facing HTTP route is described, served at /openapi.{yaml,json}, and kept in sync with the actual implementation.
- All WebSocket commands are SDK-accessible: the final 25 commands enter the protocol catalog; all four SDKs gain an operations API.
- Website dependency upgrades: Astro and site dependencies upgraded, keeping the static build green.
Resilient connections (four SDKs): connect timeout, dead-connection retirement, and jittered exponential reconnect backoff.
- Bidirectional history pagination: historyPage() with before/after/seq cursors; the array-returning history() stays compatible.
- Production health probes: process-only /livez and dependency-aware /readyz (Redis / DB / broker), alongside /healthz.
Object storage (S3-compatible + bundled MinIO).
- SDK relations helper.
- Multi-party call cap.
- Mobile voice messages.
Location & contact-card messages.
- Mobile H5 chat with a QR demo.
- Live read-only demo with a RAG assistant.
First official release — free Basic edition, one-command Docker Compose, Docker Hub + Aliyun ACR images, and amd64 / arm64 / loong64 binaries plus offline bundles.
- /openapi/v1 inbound push API.
- Enterprise directory.
- Built-in Chinese moderation lexicon.
- Basic quota raised to 1,000 connections.
- Docs & packaging: SDK docs and bilingual product / security / solutions pages; consolidated to four sellable editions (Basic / Pro / Enterprise / Customer Service) from a single source of truth.
- Community (super-groups & channels).
v1.24.0: customer-service intelligence meets operational reliability — the AI-voice fix chain lands (multi-turn deafness, echo interruptions, final-echo), Auto-QA closes its loop (agent appeals, error retry, QA stats), knowledge-gap mining ships, Copilot gains draft rewrite and live session summary, KPI reporting moves to precomputed database aggregation, proactive invites become behavior-triggered rules, and SOP procedures orchestrate multi-step bot actions. Infrastructure completes the timezone contract (TIMESTAMPTZ everywhere + UTC-pinned sessions). The upgrade includes hot-table schema changes — schedule a maintenance window and run database migrations first.
New- Auto-QA closes its loop: agents can appeal a confirmed review (self-only, with a reason), supervisors rule through the existing review endpoint (uphold or overturn, verdict noted); transient LLM failures leave error rows that automatically re-enter the pending queue after a retry window instead of being lost forever; QA statistics ship with the suite. The appeal flow is live in the admin console and chat-studio workbench across all 12 locales.
- Knowledge-gap mining closes the knowledge-ops loop: handover conversations are mined by an LLM into KB entry drafts (title/body with the human agent's answer as evidence); accepted drafts publish straight into the existing KB embedding/review pipeline, while skip verdicts are recorded so the same conversation is never re-scanned. Knowledge ops moves from manual write-ups to mine-from-conversations with one-click acceptance.
- Copilot depth reaches the international baseline: draft rewrite sends the agent's composer draft through the shared copilot pipeline (professional tone, typos, same language, no new promises) and live session summaries generate on demand and evolve with the conversation — completing the writing assistant on top of the existing grounded suggestions.
- Proactive invites upgrade to a behavior-triggered rule library: ordered per-widget rules combining URL match, dwell seconds, Nth-pageview and exit-intent, with cooldown minutes (cross-session) and once-per-visitor caps — replacing the single static invite with mainstream targeted-engagement rules.
- SOP orchestration (agentic procedures): a procedure is trigger keywords plus ordered steps (instruction, optional tool binding, optional handover exit); matching messages inject the SOP into the reply pipeline and the model advances step by step with full flow context every turn — no separate state machine, and a preset template library ships built in. The bot moves from answering to getting things done.
- AI real-time voice customer service: visitors talk to the AI agent like a phone call — streaming ASR feeds the existing bot pipeline (KB/tools/memory intact), Doubao TTS speaks replies in real time, with barge-in interruption and mid-call handover into the human voice queue. The engine is pluggable; end-to-end voice-LLM adapters are reserved for a later release.
Improved- CS KPI reporting moves to database-side GROUP BY: 30-second first-response rate (the domestic hard KPI), average and per-channel wait, FCR, AI resolution and agent online time render in milliseconds and are always fresh — replacing the 100k-row in-memory aggregation that slowed the reports page on large datasets.
- The timezone contract lands end to end: all 176 timestamp columns convert to TIMESTAMPTZ (MySQL DATETIME eliminated) and every pooled session pins UTC — deployments and dev boxes outside UTC no longer see silently shifted timestamps. Upgrade note: hot tables (messages, sessions) are altered under an exclusive lock, so run the migration in a maintenance window (raise the migrate timeout on large databases); the migration interprets existing rows correctly under the deploying server's timezone.
Fixed- Fixed AI voice calls going deaf after the first turn and answering twice: Volcano ASR session state accumulated across turns on one connection — late per-utterance finals re-dispatched the previous question, the next question's transcription was polluted with the prior turn's tail, and after a long reply the connection went deaf (later speech got no response). Each turn now recycles to a fresh ASR connection (the swap overlaps the reply wait, imperceptible), repeated questions are no longer swallowed by the echo filter, and an unexpectedly dropped ASR connection redials instead of ending the call.
- Fixed AI voice replies being cut mid-sentence: the bot's own voice was picked back up by the mic, and the echo — once transcribed — was mistaken for the visitor cutting in, cancelling the in-flight reply and even answering its own words as a new question. Uplink ASR now pauses while the bot speaks (real barge-in stays client-driven via local VAD), the client gate requires sustained energy, and the audio budget moved to a burst-tolerant 2-second window so browsers' chunky delivery no longer drops speech.
- Fixed AI voice calls where the bot never spoke: Volcano ASR re-delivers the finalized utterance as an extra partial, which was mistaken for the visitor cutting in and cancelled the just-dispatched reply — transcription and persistence worked, but the spoken reply never played. Echo partials no longer trigger barge-in; genuine interruptions are unaffected.
A dual-track server and customer-service release: CS adds WhatsApp and WeChat-ecosystem channels with a fully redesigned agent workbench; read reporting upgrades to readUpTo cursors and message search gains global scope and AI source filters.
New- CS channels: WhatsApp Business Cloud API and the WeChat ecosystem (Official Account/Mini Program, WeCom customer service) join the unified agent inbox.
- The agent workbench is redesigned as a mainstream inbox, with proactive outreach, a Copilot console, and a self-service help center.
- Read reporting upgrades to readUpTo cursors: clients report how far they actually read, the server confirms, and multi-device unread counts converge; offline pushes already covered by the cursor are cancelled — read on one device stops the buzzing on the others.
- AI additions: text-to-speech for bot messages (speech.synthesize webhook), in-flight expansion key-values for streaming messages, and tool-approval outcomes posted back into the conversation.
- Login gains a single-device policy: the newest login kicks the previous one.
Improved- Multilingual AI customer service: replies follow the customer's language, with multilingual greetings and canned replies.
- Message search gains AI/human source filters, full-text matching on oversized AI replies, and cross-conversation global search.
- The beforeChat webhook gains HMAC signing and a delivery audit trail, plus two metadata lifecycle events (message persistence, group join).
- Xiaomi push adapts to the 2026 message-classification rules.
Quarterly server upgrade: the messaging hot path is faster across the board, the four key journeys gain latency metrics and alerts, and the admin console gets full dark mode.
New- The four key journeys (login, history load, send, AI first response) now ship latency metrics and alerts for faster incident triage.
- The admin console gains full dark mode with a visual polish pass across all frontends.
Improved- Messaging hot path is faster across the board: smoother peak send/receive in large groups and live rooms, with lower memory use, plus a lean runtime profile for smaller machines.
- Release packages are hardened further: every archive carries a signed integrity manifest, and the server self-verifies at startup against tampered binaries.
- Data-consistency hardening on MySQL for group-message timestamps and customer-service record fields.
The Basic release flow is upgraded: Basic is now delivered as the high-security package, with delivery and upgrade documentation completed.
New- Basic is now delivered as the high-security package: a signed integrity manifest and runtime tamper detection are built in.
Improved- The release README and website quickstart now document download verification, configuration, migrations, startup and upgrades.
- Customer-service open capabilities ship: a CS webhook event family (six lifecycle events — case created/updated, session closed, handoff to human, SLA breach, survey rated — JSON delivery with the same signature shape as the existing message route, off by default), Feishu/DingTalk/WeCom group-bot notifications (configure-and-go, DingTalk signed), and seven OpenAPI endpoints for CS resources (session queries, case read/create/update, agent roster, under dedicated cs:read/cs:write scopes); zero migrations.
Server v1.20.0 is the largest customer-service expansion since the module shipped: agent Copilot reply suggestions with adoption tracking, Auto-QA session inspection with a human review queue, self-serve agent availability plus proactive first-response SLA alerts, case materialization (call-analysis drafts and channel conversations land as cases), report metrics (answer-within-30s rate, FCR, queue wait, agent status durations), omnichannel customer journey with writable tags, and email channel completion (bot auto-reply, channel SLA); the AI platform hardens in step (turn-level trace correlation, DPACT approval time-boxing, per-bot token budgets).
- Email channel completion: inbound message content is persisted, with a console drawer showing session history; inbound emails can trigger bot auto-reply (reusing the bot's credentials and knowledge base, off by default, opt-in); channel conversations join the first-response SLA alert loop.
- Dual-track session unification (read-time): Customer 360 gains an omnichannel service journey — IM sessions and channel conversations merged into one reverse-chronological timeline with source tags, replacing the two side-by-side tables; customer tags finally get a write path (editable in the console, persisted for IM-domain customers on first tag, order-preserving dedupe with hard limits); zero migrations.
- CS report metrics upgrade: aggregation performance and accuracy hold at large scale, plus domestic tender metrics — answer-within-N-seconds rate (configurable threshold), first-contact resolution (24h customer-reopen rule, summary/daily only), queue wait avg/P95/max, and agent status durations (self-serve and admin switches both leave a trail); all legacy response fields preserved.
- Auto-QA for agent sessions ships: closed human-handled sessions are periodically inspected (dedicated judge credentials, server-side rescoring); below-threshold reviews land in a human review queue with a new QA console tab for confirm/false-positive verdicts; the ledger is governance-registered; off by default until AI credentials are configured.
- Case materialization closes the loop: a call-analysis ticket draft becomes a case with one click or automatically by a priority gate, and drafts are absorbed into an existing unresolved case as a note; channel conversations (email) convert to cases with full traceability; the call-quality and omnichannel consoles gain the entry points.
- Two-way AI tool I/O hardening: secrets used by outbound tool calls support secure references and config-only rotation; external tool output is isolated from the model side, suspected prompt injections are flagged and audited, and the audit trail keeps the raw content.
- High-risk AI actions join the tamper-evident audit chain: critical tool outcomes (turn-time or resumed after approval) append tamper-evident audit records carrying the turn's trace id, verified by the same integrity tooling as human approvals; the audit storage layer becomes edition-independent, only the console reader stays Ultimate.
- Audits feed evals: the eval miner gains a tool_failure source — denied and degraded tool calls from the unified audit aggregate per conversation into candidate cases, distilled by the LLM miner and gated by human approval, joining handovers, low ratings and stream errors as the fourth signal.
- Agent Copilot ships (P1): one click in the conversation panel drafts reply suggestions from the customer profile, long-term summary, bot KB retrieval and last 10 turns; 2-3 insertable suggestions with adoption tracking making adoption rate a queryable metric; authorization matches the profile card (workbench gate + service relationship).
- Human approvals become short-lived grants (DPACT Time): an approved execution is executable only within a short window (10 minutes by default), expires automatically, and the grant is re-checked before execution.
- Per-bot daily token budgets (0 = unlimited): pre-checked before each paid call and charged by actual usage; over-budget turns return budget_exceeded and land in the message audit. Native and Dify/Coze/webhook backends are both bounded; the admin bot form gains the budget field.
- Transfer-brief authorization strengthened: the customer-profile section renders only for verified agents; the note and history sections are unaffected.
- Agent operations loop closed: agents self-serve their availability status from the workbench (ready/busy/away/rest; auto routing stops assigning new sessions once switched), and first-response SLA alerts go proactive — at_risk at 3/4 of the target and breached at the target, at most once per session per tier, delivered to the assigned agent plus supervisors; the admin realtime operations page gains an alert-history table with derived live status (still waiting / answered / session closed).
- End-to-end AI turn tracing: each turn mints a trace_id stamped across message audits, tool calls and executions (errors and handovers sampled at 100%, ok turns follow a configurable rate); message audits gain model/provider columns and admin-approved executions inherit the original turn's trace.
- Tool permission controls ship: a tool without a permission scope is refused; the admin tool list flags unscoped tools and the tool form gains risk-level, permission-scope and require-confirmation fields.
Server v1.19.0 adds digital-human customer service, media content moderation, OEM push and VoIP, customer-service update monitoring, and new marketing-lead and administration capabilities, while hardening multi-architecture build and release flows.
- The Customer Service edition adds Volcengine digital-human video service with FlowAct real-time voice driving, Doubao TTS, ByteRTC authentication, and conversation-level idle recycling. Administrators can manage avatar libraries, configure persona and voice per bot, and inspect capability and session status in real time.
- Media moderation now supports replaceable external providers with one normalized status-and-evidence model for images, video, and audio. Push adds direct OEM channels, iOS VoIP tokens, and a more complete device-registration model.
- Customer-service and AI update monitoring, marketing-lead capture, and digital-human administration are now available. Operators can review versioned updates, receive leads, and maintain avatar configuration under the existing permission and audit controls.
- CJK search handling and multi-architecture image builds are hardened; both MySQL and PostgreSQL deployments are under continuous automated verification.
Server v1.18.0 upgrades messaging and production operations: global search, quote/edit, combined forwarding, and message pins join the unified protocol, alongside stronger multi-device push, OpenAPI service credentials, call state, customer-service voice, and worker observability.
- Messaging is upgraded with global search across DMs and groups, including practical indexes for English and CJK text. Quoting, editing, single and combined forwarding, and conversation-scoped message pins now form one complete flow. Chat Studio also adds multi-select forwarding, read rosters, bot Markdown, and light, dark, or system themes.
- Groups gain native user groups with create, search, and membership management. Versioned entities and real-time events converge profile and friendship changes across devices, while SDK conversation caches handle reconnects, out-of-order events, and history reconciliation more consistently.
- Offline push now delivers reliably per device, with independent claiming and retries and provider tokens owned by the latest registering account by default. Native Huawei, Honor, Xiaomi, OPPO, and vivo channels join APNs and FCM under one configurable and observable delivery path.
- OpenAPI gains database-backed service credentials with scoped authorization, enable/disable and expiry controls, and secrets returned only at creation. Quotas are shared across instances, while failed authentication, denials, and writes enter one redacted audit trail.
- The Customer Service edition adds in-browser voice: visitors can call directly, queue routing respects agent presence and voice capacity, agents can call back, and the visitor widget and workspace share call state. A CPaaS foundation adds provider adapters, signed webhooks, and durable call records as a common extension point for phone-number connectivity.
- RTC call state is shared across instances for multi-instance coordination, with ringing timeouts, participant checks, and disconnect cleanup hardened. Worker heartbeats, queue backlog and lag, database-stall probes, scrape configuration, and alert rules make rolling releases and incident diagnosis more controlled.
Server v1.17.0 adds persistent auth sessions with administrator revocation, message envelopes and combined-detail reads, community channel governance, notification strategies, auditable runtime configuration, and expanded observability. AI streams gain cancellation, persisted final envelopes, and authorized large-reply object delivery, alongside message-size governance and verified multi-database migrations.
The Customer Service edition completes its operations loop with unified support sessions, cases, omnichannel intake, intelligent routing, Customer 360, AI knowledge quality and business reporting, plus deeper integration between the web support widget and its host application.
- The support console adds a session center, real-time operations, Customer 360, omnichannel management and reporting. Each business line can configure hours, after-hours handling, routing and first-response SLAs; email joins the unified inbox, and team replies gain review, publishing, version history and effectiveness insights.
- Intelligent routing now matches agent availability, skills, languages, shifts and concurrent capacity, with ordered overflow teams when the primary team is busy. Transfers, supervisor reassignments and automatic assignment share the same availability rules, while operations teams can watch queue waits and agent load in real time.
- A complete case workflow is new: turn a support session into a case, progress it by priority, category, owner and status, and track first-response and resolution SLAs separately. Cases can link multiple sessions, orders and other business objects, with a standard resolution outcome required on completion.
- AI knowledge quality becomes a continuous improvement loop: low-confidence questions can be answered, politely declined or handed to a human, with optional customer-facing sources. Real unanswered questions enter a review queue where operators can correct answers, manage bot versions and evaluation sets, and score release quality.
- The web support widget adds host-application integration: business pages can open, hide or destroy it, pass visitor and page context, and listen for connection, message, unread-count and handover changes. The admin console provides both standard installation and advanced integration examples.
- Data governance now covers the full message lifecycle: set retention by conversation or group, then archive, restore and safely delete expired messages. Complete data export, erasure and anonymisation, legal hold, audit-integrity verification and backup/restore drills join one managed workflow.
Client SDK 1.13.0 is released as versioned downloads with new React Native and WeChat Mini Program adapters; server behavior remains compatible with 1.15.0.
The customer-service operations surface ships: a dedicated agent workspace (enterprise SSO sign-in, enabled agents only), a live service queue, first-response SLA countdowns, session history and daily statistics; the IM admin console gains a Customer & AI Service module for agents, teams, service groups and canned replies, reusing admin permissions and auditing.
- The AI customer-service subsystem (AI bots, knowledge-base retrieval, human handover, call analysis) now runs on NATS JetStream as well as RabbitMQ, including the embedded single-binary mode — so a minimal deployment needs no external message broker. Upgrading an existing NATS deployment takes one manual step; see the backup/restore runbook.
- Service delivery becomes measurable: every service episode is bounded automatically and summarised by AI, recording duration, message count and first-response time — for human-served and group-service conversations alike. The admin console adds a post-call AI quality-review page for call analysis and quality scores.
- Customer satisfaction ratings: a rating card is sent automatically once a session closes and the customer scores it in one tap; the admin console adds satisfaction review with internal annotations and reminders, and the operational-trends page reports surveys sent, answered and satisfied. Disabled by default — opt in explicitly.
- Long-term AI memory: customer-profile fields are configurable per deployment, filled in by the model with operator edits always taking precedence, and injected alongside cross-session summaries and long-tail fact recall. A handover from AI to a human now generates a briefing pushed to the agent only, and the human's resolution is written back into that customer's long-term memory. Customer profiles and rolling summaries now work on MySQL deployments too.
- Agent collaboration ships in every edition: an agent can hand a customer to a named colleague or let a team route automatically (online and least-busy first), and a supervisor can force a reassignment; group service supports claim / release / reassignment; internal-only customer notes and a shared canned-reply library are new. Transfers carry a context brief, so the receiving agent doesn't have to re-read the thread.
- Rich interactive messages: bots and agents can send quick-reply button groups and information cards; a customer's tap enters the normal conversation flow under their own identity and is recorded structurally. The web and Flutter UIKits render them out of the box, and clients that don't know the new types degrade to plain text.
- Hot-path performance: message payloads are parsed once, codecs are reused, and group/room fan-out allocates less — lower CPU and memory under load, with no behavior change.
- The demo site gains a visitor-side support entry: a chat bubble in the corner opens an AI conversation, and one tap escalates to a human and lands in the agent queue — pair it with the agent workspace to demo the full flow. Disabled by default.
Released alongside the client suite (SDK 1.11.1 / Flutter UIKit phase 2); no server-side behavior changes.
chat-studio demo follow-ups: WeChat-style in-thread time separators (shown only for ≥5-minute gaps) and a more compact auto-growing composer. (The client suite shipped SDK 1.11.0 and the Flutter UIKit in the same release — see the SDK track.)
chat-studio demo visual uplift: a neutral WeChat-style skin with brand teal, deterministic initial avatars, an avatar column beside peer bubbles with an AI streaming caret, humanized WeChat-style timestamps, entrance micro-motion (honoring reduced-motion), and a branded product-mode welcome. (The client suite debuted the Web UIKit in the same release — see the SDK track.)
Message size governance: a unified inbound request gate (default 256 KB) — over-limit requests now return the new error code 1011 Message too large without consuming rate-limit budget; tiered byte budgets for message-segment string fields (errors name the field); new oversize metrics and alert rules; the bilingual limits table docs/LIMITS.md documents every limit and its over-limit behavior.
- Kubernetes umbrella chart: the Helm deployment can optionally bundle PostgreSQL / Redis / RabbitMQ / MinIO subcharts (values-bundled.yaml brings up the full stack in one install) and orchestrates the database-migration Job; the chart's appVersion doubles as the default image tag.
Deployment experience patch: release packages now bundle demo_token (mint a test JWT in one command, matching the quickstart verification step); the config template defaults to PostgreSQL with a fully documented database switch; MySQL deployment compatibility fixes; both MySQL and PostgreSQL are now under continuous automated verification.
Message expansion Key/Value: attach mutable KV entries to any message (chat_{dm,group,room}_expand) — a generic base for polls, sign-up chains, surveys and task status. u:<userID>: private prefixes are writable only by their owner (tamper-proof votes); public keys only by the sender. Per-key last-write-wins with server-side per-message serialization, live broadcast, multi-device sync and offline catch-up via history — no DDL.
- Typed @mention targets: structured @user / @role / @here / @all mentions (server-side resolution and authorization), with mention-level push preferences.
- Per-user group push level: each member can set all / mentions / direct / none per group; offline push is filtered accordingly.
- Group member marks: owners/admins can attach staff-visible marks to members (customer notes for support scenarios).
- High-concurrency connection management: the connection registry and online-user index remove the global lock hot spot, steadier under high concurrency.
- Correctness and safety hardening: conversation summaries now follow the authoritative unread data (no drift); room mark-read backfills read receipts over the whole range; inbound OpenAPI error responses are normalized (no internal details).
Conversation UX trio (server + all four SDKs): manual mark-unread (per-conversation, synced across your own devices, auto-cleared on real read); cross-device draft sync (last-write-wins); scheduled do-not-disturb / quiet hours (suppresses offline push during your configured window). Typed SDK wrappers operations.markUnread, drafts.set/clear, push.getDnd/setDnd ship in JS/TS, Dart, Swift and Kotlin.
- Standalone consumer observability: the persist consumers expose /metrics and /healthz·/livez·/readyz on an opt-in address.
- Credential hygiene: release pipelines now scan for leaked secrets so credentials cannot slip into the repo or shipped artifacts.
Complete server OpenAPI 3.1 contract: every customer-facing HTTP route is described, served at /openapi.{yaml,json}, and kept in sync with the actual implementation.
- All WebSocket commands are SDK-accessible: the final 25 commands enter the protocol catalog; all four SDKs gain an operations API.
- Website dependency upgrades: Astro and site dependencies upgraded, keeping the static build green.
Resilient connections (four SDKs): connect timeout, dead-connection retirement, and jittered exponential reconnect backoff.
- Bidirectional history pagination: historyPage() with before/after/seq cursors; the array-returning history() stays compatible.
- Production health probes: process-only /livez and dependency-aware /readyz (Redis / DB / broker), alongside /healthz.
Object storage (S3-compatible + bundled MinIO).
- AI post-call analysis (Customer Service).
- SDK ai streaming.
- SDK relations helper.
- Multi-party call cap.
- Mobile voice messages.
Location & contact-card messages.
- Mobile H5 chat with a QR demo.
- Live read-only demo with a RAG assistant.
First official release — free Basic edition, one-command Docker Compose, Docker Hub + Aliyun ACR images, and amd64 / arm64 / loong64 binaries plus offline bundles.
- /openapi/v1 inbound push API.
- Enterprise directory.
- Built-in Chinese moderation lexicon.
- Basic quota raised to 1,000 connections.
- Docs & packaging: SDK docs and bilingual product / security / solutions pages; consolidated to four sellable editions (Basic / Pro / Enterprise / Customer Service) from a single source of truth.
Client SDKs
Every client SDK rides one shared version line; the timeline below is grouped by release, with badges marking the platforms each release touched (server-side Admin SDKs included).
- WebDartSwiftKotlinUnityHarmonyOSServer AdminNew
- BreakingSDK 1.24.0 protocol-surface extension (breaking; additive only): the CS Copilot command family (chat_cs_copilot_use/rewrite/summary, chat_cs_qa_get/appeal) and new CSCopilotWire kind/rewritten/summary fields. All additions are optional — existing calls keep working; integrators matching command constants exhaustively need to add the new-key branch. See the 1.24.0 migration report.
- WebDartSwiftKotlinUnityHarmonyOSServer AdminNew
- BreakingRead reporting upgrades to readUpTo cursors: markRead gains a readUpTo parameter — clients report how far they actually read, the server confirms with a clamped cursor, and multi-device unread counts converge on it. The legacy lastMessageID placeholder is deprecated (still accepted during the window — migrate to readUpTo); the web markRead return value is now typed with the confirmed cursor, and Kotlin/Swift binary integrators need a recompile.
- The web SDK ships a cross-conversation search.global wrapper — one call searches every conversation.
Improved- BreakingPackage-id normalization (breaking; installation coordinates only, no API change): reverse-DNS identifiers move from com.imcore.* to im.balala.* (Kotlin namespace and Maven coordinates, Java group, Unity UPM package name). Source/tarball integrators only need to update imports and dependency coordinates — the full old→new mapping is in the 1.23.0 migration report.
- Message search gains a source filter (AI replies only, or human messages only); keyword search on oversized AI replies now matches beyond the leading preview.
- WebDartSwiftKotlinUnityHarmonyOSServer AdminNew
- (Client SDK 1.22.0) Riding server v1.20.0's customer-service expansion: 7 new CS commands (availability toggle, SLA alert, the Copilot trio) and 6 wire types, synced across all six platforms.
- WebDartSwiftKotlinUnityHarmonyOSServer AdminNew
- Streaming messages become a first-class type: a generic StreamApi listener, Flutter/UIKit typewriter bubbles with stop-generation, and group-stream rendering in chat-studio.
- Atomic conversation opening: chat_dm_open sends the welcome plus first message in one call, and group creation can carry an initialMessage.
- Bot and streamed replies render the markdown safe subset (flutter_markdown_plus, images off by default).
- RTC multi-party screen sharing: switching the shared content needs no renegotiation.
- A live-room UIKit ships: polls, gift combos, danmaku, and enter/leave effects.
- A message-translation channel (webhook provider).
Improved- Reliability and compliance hardening: a weak-network send acceptance suite, Xiaomi push hardening (token validation and text truncation), and dependency upgrades across the board.
- WebDartSwiftKotlinUnityHarmonyOSServer Admin
- Six-platform UIKit logic-matrix alignment (Dart chat-model, typing indicator); API snapshot gate widened to 11 platforms; strict tsc for HarmonyOS/Node; cross-platform push bridge (PushApi + vendor token contract + PushKit/FCM sources); attachment orchestration and message-action callbacks completing the UIKit surface; iOS Simulator and Android Robolectric verification layers; server Admin SDK completed with Java and PHP (five-language locked matrix); new full-stack Unity and HarmonyOS SDKs
- WebDartSwiftKotlinUnityHarmonyOSServer Admin
- Fixes and hardening across all platforms: the Swift SDK now registers event streams synchronously, so pushes arriving the instant a subscription is created are no longer dropped (status replay is atomic); the Kotlin toolchain moves to Kotlin 2.4.20 / Gradle 9.7.1; dependency upgrades; HarmonyOS import-path case fix; the version line is unified at 1.19.2.
- WebDartSwiftKotlinUnityHarmonyOSServer Admin
- The client matrix fills out: seven new SDKs — Unity/.NET, HarmonyOS ArkTS, Go, Node, Python, Java, and PHP — complete the server-admin language set. Swift UIKit gains wire mapping, chat state, and grouped timelines verified on the iOS simulator; a Kotlin JVM timeline core lands and deepens the Compose UIKit; all five platforms share the chat-model grouping/optimistic/typing semantics; and the Android UIKit gets its first local compile with Robolectric semantics tests.
- WebDartSwiftKotlin
- The SDK protocol manifest declares the customer-service avatar commands (chat_cs_avatar_*); UIKit package dependency pins hardened; docs cover the Compose and SwiftUI UIKit targets.
- WebDartSwiftKotlin
- The four SDKs and UI components expand with uni-app, React Native, WeChat Mini Program, and Electron adapters, plus Web, Flutter, Android Compose, SwiftUI, and platform-specific UI kits. AI replies can read externalized large text, while calling and VoIP push support are completed across clients.
- WebDartSwiftKotlin
- The four SDKs and both UI kits add message pins, global search, group user groups, real-time profile and friendship updates, customer-service voice signaling, and typed combined forwarding. The Web and Flutter UI kits round out quoting, editing, forwarding, read rosters, bot Markdown, and multi-device cache consistency.
- WebDartSwiftKotlin
- The four SDKs and both UI kits gain typed message envelopes and combined-message reads, dynamic server message-limit refresh, reauthentication and offline-queue protection after auth revocation, plus community governance, AI stream cancellation, and large-reply object references; the Web and Flutter UI kits also tighten conversation and message-stream consistency.
- WebDartSwiftKotlin
- All four SDKs add typed customer-service workspace APIs for bootstrap, customer transfer, customer profiles, internal notes, group-service claim and routing-change events, ready for custom agent applications.
- Web
- The JavaScript / TypeScript SDK adds dedicated React Native and WeChat Mini Program entries. React Native integrates AsyncStorage, AppState, NetInfo and the mobile WebSocket runtime; the mini-program adapter covers SocketTask, asynchronous storage, app/network lifecycle reconnects and wx.uploadFile. Both entries ship in the same versioned JS SDK package.
- WebDartSwiftKotlin
- A PC / Electron adapter now keeps the IM connection, JWT, cache, offline queue and media uploads in the main process; preload exposes only a restricted transport while the renderer retains the full typed API. Separate entries isolate Node file capabilities, IPC verifies the source window and protocol command, and an atomic userData file store is included.
- All four SDKs add the customer-service operations protocol — workspace bootstrap, the live service queue, session history and statistics, plus group-service claim / release / reassignment and routing-change notifications — ready to drive a custom agent workspace. Interactive-message replies get a typed API on web and Dart, and the web and Flutter UIKits render quick-reply buttons with answered-state sync.
- WebDartSwiftKotlin
- Flutter UIKit phase 2 — production-ready: history pagination (scroll up to load older messages, stable bottom-landing on open), read reporting (unread clears on open/new message/foreground, with conversation-list local-clear wiring), optimistic send with failure retry (instant echo, resend/delete on failure), media message rendering (images with a fullscreen viewer; video/voice/file cards hand off via onOpenMedia), realtime recall/edit/delete/reactions with a long-press action menu (capability- and state-gated), and a dark theme (ImcoreTheme.dark(), the cross-platform token reference). Fix: the media upload path on all four SDKs (TS/Kotlin/Swift/Dart) is corrected to /user/chat/upload. Known limitation: on Flutter Web, image loading is subject to browser CORS; mobile and desktop are unaffected.
- WebDartSwiftKotlin
- Flutter UIKit component library imcore_uikit (first release): the same component contract and theme tokens as the web kit — ImcoreScope, conversation list, message thread, composer and a connection-state banner plus headless controllers for custom UIs, built on imcore_sdk (sibling-directory path dependency) with a bundled example app, included in every edition; released as imcore-uikit-dart-<ver>.tar.gz. Dart ChatMessage.messageId changed from int? to String? (server message IDs are strings; the old numeric type cannot hold them — a Dart source-breaking change), plus three web UIKit fixes (history loads merge with in-flight pushes, failed sends no longer clobber a newer draft, automatic refetch once authentication completes).
- WebDartSwiftKotlin
- Web UIKit component library @imcore/uikit (debut): a React chat UI on top of @imcore/sdk — conversation list, message thread, composer and a connection-state banner, drop-in and included in every edition; theming via CSS variables (--imcore-* plus the --bubble-* tokens shared with chat-studio), with headless hooks (useConnectionState/useConversations/useMessages) for custom UIs.
- Client SDK 1.10.0: all four SDKs gain a maxRequestBytes pre-send check (default 262144, <=0 disables) — over-limit requests fail locally with RequestError 1011 (message carries local precheck and the actual byte count), with no network write and no orphaned pending request; error-code constant groups (ErrorCodes etc., including 1011) are now generated from clients/protocol.yaml so apps can match server errors programmatically.
- Swift SDK breaking change: ImcoreClient.send(_:_:) changed from async -> Int to async throws -> Int (the pre-send check must throw, and Swift's checked-error model requires the signature change); existing callers must add try. Landed inside the pre-first-publish window — the SDKs are not on package registries yet.
- WebDartSwiftKotlin
- Client SDK 1.9.0: typed group-member mute/kick wrappers (group.muteMember / group.kickMember) across all four SDKs; new command constants + API reference for chat_{dm,group,room}_expand (message expansion), typed @mentions, group push levels and member marks.
- Kotlin SDK: shared OkHttp client hardened for weak networks (explicit connectTimeout / pingInterval; fastFallback deferred to OkHttp 5).
- WebDartSwiftKotlin
- Client SDK 1.5.0: group governance (muteAll, roles, transfer, disband, join requests, history policy) and directed-visibility group.send.
- WebDartSwiftKotlin
- Client SDK 1.4.0: realtime signaling (RTC) — a four-SDK typed wrapper (signaling only; your app owns the media/peer connection).
- WebDartSwiftKotlin
- Client SDK 1.3.0: message lifecycle (edit / recall / delete, typing, read receipts) and a four-SDK enterprise directory; SDK versioning decoupled from the server.
- WebDartSwiftKotlin
- Four SDKs as versioned downloads.
- WebDartSwiftKotlin
- Four official typed SDKs: JavaScript/TypeScript, Dart/Flutter, Swift/iOS, Kotlin/Android (v1).