Product Updates

Flutter Chat SDK V5

CometChat Flutter Chat SDK V5 is now live. Rewritten as a pure Dart implementation that removes the dependency on platform channels, bringing real-time messaging, presence, and AI features to Android, iOS, Web, and desktop from a single codebase.

Nivedita Bharathy • Apr 4, 2026

We're launching CometChat Flutter Chat SDK v5 is a pure Dart implementation of the CometChat Chat SDK for Flutter, eliminating platform channel dependencies and delivering a faster, truly cross-platform SDK that works seamlessly across Android, iOS, Web, and desktop.

This is a beta release. v5 ships with significant performance improvements, a cleaner API surface, and expanded cross-platform support — all from a single Dart package. For teams already using the Flutter UI Kit, messaging features are available out of the box via pre-built components. For teams building custom UI or needing advanced control, v5 gives you direct access to the full SDK.

What's included

  • Messaging

    1:1 and group chat, threads, reactions, typing indicators, delivery and read receipts, file sharing, and interactive messages.

  • Voice & video calling

    Ringing flows, direct call sessions, recording, and screen sharing.

  • Users & groups

    Create, retrieve, and manage users and groups with member roles, scopes, and ownership transfer.

  • User presence

    Track online/offline status with configurable subscription modes.

  • AI moderation & AI agents

    Integrate AI-powered moderation and agents directly into your chat experience.

  • Real-time Listeners

    Listen for messages, typing indicators, receipts, and presence changes as they happen

Why does this matter to me as a developer?

Flutter's promise is one codebase for every platform. SDK dependencies that rely on platform channels introduce native layer complexity that works against that promise — adding platform-specific setup, limiting web support, and creating friction when deploying to desktop.

v5 removes that friction entirely.

By rewriting the SDK as pure Dart, every feature — including typing indicators, real-time listeners, and presence — works identically across Android, iOS, Web, and desktop without any platform channel configuration. The typing indicator API is also cleaner in v5, returning a typed TypingIndicator object with structured fields (sender, receiverId, typingStatus, lastTimestamp) instead of a raw JSON string that required manual parsing.

The result is a SDK that feels genuinely native to Flutter development — straightforward to integrate, consistent across platforms, and ready to deploy wherever your app runs.

Key features and capabilities

  • Pure Dart implementation

    All platform channel method calls have been replaced with native Dart implementations. The SDK runs entirely on Dart, with no native layer dependencies required. Performance is faster and integration is simpler across every platform.

  • True cross-platform support

    V5 brings full cross-platform support to Android, iOS, Web, and desktop from a single package. No platform-specific configuration needed for core SDK features.

  • Improved typing indicator API

    onTypingIndicator() now returns Stream<TypingIndicator> instead of a raw Stream<String>. Typing events include structured fields — sender, receiverId, receiverType, typingStatus, metadata, and lastTimestamp — and no EventChannel dependency, so it works on all platforms including web. Existing MessageListener callbacks (onTypingStarted / onTypingEnded) continue to work unchanged.

  • AI moderation & AI agents

    Built-in support for AI-powered content moderation and AI agents, integrated directly into the messaging flow.

  • Cleaner, consistent API surface

    Deprecated method names from v4 have been removed and replaced with cleaner equivalents. markAsUnread() is now markMessageAsUnread(). Push preference methods are now fetchPreferences(), updatePreferences(), and resetPreferences(). The API is more consistent and easier to read.

What's interesting about the tech behind this?

The core decision in v5 was to move the entire SDK to pure Dart — and the implications of that go beyond just removing platform channels.

Platform channel dependencies mean native code running outside the Dart VM, which introduces latency on method calls and creates platform-specific edge cases. On web, platform channels aren't available at all, which is why web support required workarounds in v4. Pure Dart eliminates all of that — the SDK runs in the same execution context as your application code, on every platform Flutter supports.

The typing indicator change is a good example of what this enables. In v4, the typing stream returned a raw JSON string from a native event channel. Developers had to decode it manually and check a methodName string to distinguish started from ended events. In v5, the stream returns a typed TypingIndicator object with explicit fields. The API is idiomatic Dart, and it works on web without any additional setup.

The beta is installable today via the Cloudsmith-hosted repository. A migration guide covering all breaking changes and deprecated methods is available for teams upgrading from v4.

Reference links

Documentation: Flutter Chat SDK v5 Overview

Setup guide: Flutter Chat SDK v5 Setup

Migration guide: Upgrading from v4

Flutter UI Kit: Flutter UI Kit Overview

Changelog: GitHub Releases

Nivedita Bharathy

Product Marketing Specialist , CometChat

Nivedita Bharathy is a Product Marketing Specialist at CometChat with experience spanning AI startups, incubators, and enterprise SaaS. A Boston University graduate and avid reader, she specializes in transforming complex technology into compelling narratives that resonate with both technical and business audiences.