PackageTrack
Sign in Get early access

stream_chat_flutter_core

Stream Chat official Flutter SDK Core. Build your own chat experience using Dart and Flutter.

10.3.0 44K downloads/mo #1555 most downloaded on pub.dev GetStream/stream-chat-flutter

What this package is like to depend on

Last release 9 days ago

14 Aug 2026

Ships fairly regularly

a new release about every 3 weeks

Nearly every release is documented

notes for 89 of 91 stable releases

1 version withdrawn

withdrawn after publishing

6 years old

134 releases · first in 2021

25 releases in the last 12 months

see the full history below

Release timeline

134 releases · Feb 2021 to Aug 2026
2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 134
  1. 10.3.0 14 Aug 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v10.2.0...v10.3.0

    Open source →
    Release notes

    ✅ Added

    • Added StreamChannelState.retry() to re-run a failed channel initialization, for use as the retry action in StreamChannel.errorBuilder.
    • Added DefaultStreamChannelBuilders, an inherited widget that supplies default loading and error builders to descendant StreamChannels (resolved via loadingBuilderOf/errorBuilderOf).
    • Added search(), searchWithFilter(), and clearResults() to StreamMessageSearchListController, StreamUserListController, and StreamMemberListController. search()/searchWithFilter() debounce reloads by the search-text length (a filter with no search text reloads immediately) and drop superseded results; clearResults() cancels any pending search and clears the results.

    🐞 Fixed

    • Fixed StreamChannel's default error state exposing raw error details; it now shows a safe error state (icon, message, and a Try Again button wired to retry()) that adapts to the failure type.
    • Fixed StreamChannelListController crashing with a null-check error when its local sort ran over a channel disposed mid-query (e.g. a client disconnect/logout racing an in-flight loadMore); such channels are now sorted last instead.
    Open source →
  2. 10.2.0 22 Jul 2026
    Release notes

    What's Changed

    • chore(deps): bump actions/checkout from 6 to 7 in the all-actions group by @dependabot[bot] in #2784
    • fix(ui): preserve last-message preview during channel-state reloads by @VelikovPetar in #2774
    • fix(core): Fix StreamChannelListController not handling notificaton.channel_deleted event by @VelikovPetar in #2791
    • perf(persistence): add indexes to speed up offline channel-list reads by @VelikovPetar in #2795
    • fix(core): Fix backwards pagination not working if channel was never opened by @VelikovPetar in #2789
    • feat(ui, localization): comprehensive a11y pass across composer by @xsahil03x in #2796
    • docs(repo): add STYLE_GUIDE.md and TESTING.md adapted from Flutter's guides by @xsahil03x in #2793
    • feat(llc): Sanitize X-Stream-Client to prevent customers overriding internal values by @VelikovPetar in #2790
    • chore(persistence): Remove unused DAO methods by @VelikovPetar in #2754
    • ci(repo): add least-privilege permissions to GitHub Actions workflows by @peter-matkovski in #2798
    • fix(ui): Fix shadowed messages not hidden in the channel list by @VelikovPetar in #2787
    • fix(persistence): treat thread reply pagination limit of 0 as unset by @VelikovPetar in #2803
    • fix(ui): skip markThreadRead for reply-less thread parents by @xsahil03x in #2807
    • fix(samples): cap firebase plugins below broken 16.4.2/5.2.5 releases by @VelikovPetar in #2813
    • fix(llc): normalize strings when comparing ComparableField by @xsahil03x in #2809
    • fix(llc): Don't upsert out-of-window messages on message.updated/message.deleted events by @VelikovPetar in #2794
    • fix(ui): Mark channel read immediately when the unread indicator is dismissed by @VelikovPetar in #2819
    • ci(repo): add e2e testing infrastructure (iOS + Android) by @testableapple in #2777
    • fix(llc): reduce default thread participant and member limits by @VelikovPetar in #2822
    • perf(llc, core): guard channel list event handlers against unnecessary re-sorts by @VelikovPetar in #2824
    • fix(ui): avoid spurious StreamTypingIndicator rebuilds on unchanged typing users by @VelikovPetar in #2826
    • fix(ui): replace get_thumbnail_video with the stream_thumbnail plugin by @xsahil03x in #2829
    • fix(ui): Removed mediakit dependency from sdk by @renefloor in #2828
    • chore(samples): Don't run firebase on linux by @renefloor in #2834
    • chore(repo): release v10.2.0 by @renefloor in #2835

    New Contributors

    Full Changelog: v10.1.0...v10.2.0

    Open source →
    Release notes

    🐞 Fixed

    • Fixed StreamChannelListController not handling notification.channel_deleted event.
    • Fixed backwards pagination not working if channel was never opened.
    • Guarded StreamChannelListController's channel.updated, member.updated, and user.presence.changed/user.updated event handlers to skip the full list re-sort when the event doesn't affect any listed channel.
    Open source →
  3. 10.1.0 23 Jun 2026
    Release notes

    What's Changed

    • fix(ui): wire onUserAvatarTap on StreamMessageItem by @xsahil03x in #2743
    • chore(deps): bump the all-actions group across 1 directory with 3 updates by @dependabot[bot] in #2734
    • fix(ui): add copyWith to MessageComposerProps by @xsahil03x in #2744
    • feat(ui): integrate StreamSnackbar into composer hold-to-record by @xsahil03x in #2739
    • docs(repo): sync tutorial example with website tutorial by @xsahil03x in #2746
    • perf(persistence): Move thread messages pagination to SQL by @VelikovPetar in #2688
    • perf(persistence): Move pinned messages pagination to SQL by @VelikovPetar in #2689
    • feat(samples): migrate AppDelegate to use UISceneDelegate by @renefloor in #2745
    • feat(llc, ui, core, localization): gate slash commands by composer state with snackbar feedback by @xsahil03x in #2757
    • fix(llc, core): pause WebSocket reconnect while app is backgrounded by @xsahil03x in #2759
    • feat(llc, core, persistence, ui): Add support for enhanced mentions by @VelikovPetar in #2747
    • ci(repo): trigger conventional PR title check for v9 PRs by @xsahil03x in #2764
    • fix(ui): avoid redundant setState in StreamMessageContent width measurement by @xsahil03x in #2762
    • fix(core,ui): setting value after being disposed by @renefloor in #2766
    • refactor(ui): migrate to stream_core_flutter chat.dart barrel by @xsahil03x in #2765
    • feat(llc, core, persistence): Add support for PredefinedFilters on QueryChannels by @VelikovPetar in #2709
    • docs(ui): update migration with learnings by @renefloor in #2767
    • ci(repo): fail check_db_entities when schemaVersion isn't bumped by @xsahil03x in #2771
    • feat(persistence): Bump DB version by @VelikovPetar in #2770
    • fix(repo): update docs_screenshots channel-list stub for queryChannelsWithResult by @VelikovPetar in #2776
    • fix(llc, ui): thread cooldown by @renefloor in #2738
    • chore(samples): add message-list benchmark page by @xsahil03x in #2779
    • test(ui): Add enhanced mentions docs screenshots by @VelikovPetar in #2778
    • fix(llc): Fixed resetting channel unread count on message.read events delivered for threads by @VelikovPetar in #2780
    • chore(repo): release v10.1.0 by @xsahil03x in #2783

    Full Changelog: v10.0.1...v10.1.0

    Open source →
    Release notes

    🐛 Fixed

    • Fixed a use-after-dispose race condition in all PagedValueNotifier subclasses (StreamChannelListController, StreamUserListController, StreamMemberListController, StreamThreadListController, StreamDraftListController, StreamMessageReminderListController, StreamPollVoteListController, StreamReactionListController, StreamMessageSearchListController): in-flight async loads could write value after dispose() had been called, triggering a notifyListeners() assertion throw in debug mode. A new DisposeAwareValueNotifier mixin guards the value setter and also prevents event subscriptions from being set up post-dispose.

    ✅ Added

    • Added DisposeAwareValueNotifier<T> mixin on ValueNotifier<T> that silently drops post-dispose value writes and exposes a disposed getter. Useful for any ValueNotifier subclass with async methods.
    • Added mentionedChannel, mentionedHere, mentionedRoles, addMentionedRole, mentionedUserGroups, and addMentionedUserGroup to StreamMessageComposerController for composing enhanced mentions.
    • Added StreamMessageComposerController.setCommand(Command) and activeCommand getter for set-aware command activation and tracking.
    • Added StreamMessageComposerController.validateCommand(Command) returning a nullable CommandUnavailableReason so callers can gate activation against the composer state.
    • Added CommandUnavailableReason enum (editing, quotedMessage, other) and CommandValidator typedef.

    ⚠️ Deprecated

    • Deprecated set command(String?) on StreamMessageComposerController; use setCommand(Command) or clearCommand() instead.

    🔄 Changed

    • StreamMessageComposerController.quotedMessage now auto-clears an active moderation-set command (backend doesn't support activating a moderation command alongside a quoted message).
    • StreamMessageComposerController.editMessage now clears any active command (backend doesn't process commands on edit).
    • StreamMessageComposerController.setCommand now also clears mentionedChannel, mentionedHere, mentionedRoles, and mentionedGroups/mentionedGroupIds (was only clearing mentionedUsers); clearCommand restores them.

    🐞 Fixed

    • Fixed a reconnect storm when the OS closed the WebSocket during the background keep-alive window; reconnects are now paused on background and resumed on foreground.
    Open source →
  4. 10.0.1 09 Jun 2026
    Release notes

    What's Changed

    Full Changelog: v9.25.0...v10.0.1

    Open source →
    Release notes

    🛑️ Breaking

    • Renamed StreamMessageInputControllerStreamMessageComposerController.
    • Renamed StreamRestorableMessageInputControllerStreamRestorableMessageComposerController.
    • Renamed StreamMessageComposerController.editingOriginalMessagemessageBeingEdited.
    • StreamMessageComposerController constructor no longer accepts non-initial messages; use editMessage() to enter edit mode.
    • StreamMessageComposerController.cancelEditMessage() is now a no-op when no edit is active.
    • StreamMessageComposerController.clear() no longer exits edit mode; use cancelEditMessage() instead.

    ✅ Added

    • Added support for predefined filters on StreamChannelListController.
    • Added StreamMessageComposerController.isEditing getter.
    • Added StreamMessageComposerController.clearCommand(); setting command = null is now an alias for it.
    • StreamMessageComposerController.editMessage() and the command setter are now re-entrant — repeated calls preserve the original restore snapshot.

    🔄 Changed

    • Widened device_info_plus to >=12.4.0 <14.0.0, package_info_plus to >=9.0.1 <11.0.0, and connectivity_plus to >=7.1.1 <8.0.0 so apps can adopt the latest majors. Floors raised to current resolved versions.
    • Raised minimum Flutter to >=3.41.0 and Dart SDK to ^3.11.0.
    • StreamChatCore now sets client.recoverStateOnReconnect = false on mount; refreshes on connectionRecovered are driven by the list controllers in this package, avoiding a duplicate queryChannels round-trip and the historical event-replay flicker on reactions, polls, and quoted messages.
    • Apps watching a Channel outside any list controller (e.g. a deep link into a single channel screen) should subscribe to client.on(EventType.connectionRecovered) and call channel.watch() themselves to refresh state on reconnect.
    • Changed the default backgroundKeepAlive from 1 minute to 15 seconds — covers quick app-switches and notification-shade checks while closing cleanly before the server's 35-second read timeout. Still configurable.

    🐞 Fixed

    • Fixed StreamChatCore disconnecting the WebSocket immediately on background when no onBackgroundEventReceived handler was provided; the keep-alive timer now fires before the connection closes regardless of whether a handler is set.
    • Fixed StreamMessageComposerController.cancelEditMessage losing the pre-edit draft when a remote update arrived for the message being edited.
    Open source →
  5. 10.0.0 28 Jan 2026 withdrawn

    Nothing published for this version

  6. 10.0.0-beta.13 10 Apr 2026 pre-release
    Release notes

    What's Changed

    Full Changelog: v10.0.0-beta.12...v10.0.0-beta.13

    Open source →
    Release notes

    🛑️ Breaking

    • SDK Redesign Changes. For more details, please refer to the migration guide. The SDK redesign introduces a fresher default UI, but also better APIs for customization of the components.
    Open source →
  7. 10.0.0-beta.12 28 Jan 2026 pre-release
    Release notes
    • Included the changes from version 9.23.0.
    Open source →
  8. 10.0.0-beta.11 10 Dec 2025 pre-release
    Release notes
    • Included the changes from version 9.22.0.
    Open source →
  9. 10.0.0-beta.10 03 Dec 2025 pre-release
    Release notes
    • Included the changes from version 9.21.0.
    Open source →
  10. 10.0.0-beta.9 18 Nov 2025 pre-release
    Release notes
    • Included the changes from version 9.20.0.
    Open source →
  11. 10.0.0-beta.8 29 Oct 2025 pre-release
    Release notes
    • Included the changes from version 9.19.0.
    Open source →
  12. 10.0.0-beta.7 15 Oct 2025 pre-release
    Release notes
    • Included the changes from version 9.18.0.
    Open source →
  13. 10.0.0-beta.6 24 Sep 2025 pre-release
    Release notes
    • Included the changes from version 9.17.0.
    Open source →
  14. 10.0.0-beta.5 13 Aug 2025 pre-release
    Release notes
    • Included the changes from version 9.16.0.
    Open source →
  15. 10.0.0-beta.4 25 Jul 2025 pre-release
    Release notes
    • Included the changes from version 9.15.0.
    Open source →
  16. 10.0.0-beta.3 17 Jul 2025 pre-release
    Release notes
    • Included the changes from version 9.14.0.
    Open source →
  17. 10.0.0-beta.2 30 Jun 2025 pre-release
    Release notes
    • Included the changes from version 9.13.0.
    Open source →
  18. 10.0.0-beta.1 18 Jun 2025 pre-release
    Release notes
    Open source →
  19. 9.28.0 14 Aug 2026
    Release notes

    What's Changed

    • fix(ui): enrich link previews for uppercase URL schemes by @xsahil03x in #2844
    • fix(llc, core, ui, localization): hide raw StreamChannel errors behind themed, connection-aware states by @xsahil03x in #2849
    • fix(llc): keep reaction group while its count stays positive by @xsahil03x in #2859
    • chore(repo): support Flutter 3.47 by @VelikovPetar in #2895
    • fix(llc): handle per-channel notification.mark_read events again by @xsahil03x in #2891
    • fix(llc, core): port e2e-suite thread fix and disposed-channel sort crash to v9 by @xsahil03x in #2893
    • fix(llc, persistence): truncated channels sinking to the bottom of a last_updated sort by @VelikovPetar in #2892
    • fix(llc): null ordering for pinned_at and last_message_at channel sorts by @VelikovPetar in #2889
    • fix(llc): update watcher count from realtime events and ignore events after dispose by @VelikovPetar in #2898
    • chore(repo): release v9.28.0 by @VelikovPetar in #2901

    Full Changelog: v9.27.0...v9.28.0

    Open source →
  20. 9.27.0 22 Jul 2026
    Release notes

    What's Changed

    • feat(llc, core, persistence): Add support for PredefinedFilters on QueryChannels(v9) by @VelikovPetar in #2775
    • fix(llc): suppress EquatableMixin deprecation warning in StreamChatError by @VelikovPetar in #2802
    • perf(persistence): Move thread messages pagination to SQL by @VelikovPetar in #2750
    • perf(persistence): Move pinned messages pagination to SQL by @VelikovPetar in #2751
    • chore(persistence): Remove unused DAO methods (v9) by @VelikovPetar in #2755
    • feat(llc): Sanitize X-Stream-Client to prevent customers overriding internal values (v9) by @VelikovPetar in #2799
    • perf(persistence): add indexes to speed up offline channel-list reads (v9) by @VelikovPetar in #2801
    • fix(core): Fix StreamChannelListController not handling notification.channel_deleted event (v9). by @VelikovPetar in #2800
    • fix(ui): skip markThreadRead for reply-less thread parents (v9) by @xsahil03x in #2808
    • fix(ui): Fix shadowed messages not hidden in the channel list by @VelikovPetar in #2788
    • fix(ui): preserve last-message preview during channel-state reloads by @VelikovPetar in #2811
    • fix(core): Fix backwards pagination not working if channel was never opened by @VelikovPetar in #2812
    • fix(llc): normalize strings when comparing ComparableField (v9) by @xsahil03x in #2810
    • fix(llc, core): Fix wrong changelog entries by @VelikovPetar in #2818
    • feat(llc): increase default connect and receive timeout to 30s by @xsahil03x in #2831
    • fix(llc): Don't upsert out-of-window messages on message.updated/message.deleted events by @VelikovPetar in #2815
    • fix(ui): Mark channel read immediately when the unread indicator is dismissed by @VelikovPetar in #2838
    • chore(repo): release v9.27.0 by @xsahil03x in #2840

    Full Changelog: v9.26.0...v9.27.0

    Open source →
  21. 9.26.0 23 Jun 2026
    Release notes

    What's Changed

    • chore(ci): run pana and legacy analyze on v9 branch by @renefloor in #2756
    • fix(llc, core): pause WebSocket reconnect while app is background (v9) by @xsahil03x in #2760
    • fix(ui): avoid redundant setState in MessageCard width measurement [v9] by @xsahil03x in #2763
    • fix(llc): Fix UpsertPushPreferencesResponse null values parsing by @VelikovPetar in #2749
    • fix(persistence): port poll DAO null-user fix and chunked size guard from #2731 by @VelikovPetar in #2752
    • fix(llc): Fixed resetting channel unread count on message.read events delivered for threads [v9] by @VelikovPetar in #2781
    • chore(repo): release v9.26.0 by @xsahil03x in #2782

    Full Changelog: v9.25.0...v9.26.0

    Open source →
  22. 9.25.0 05 Jun 2026
    Release notes

    What's Changed

    • ci(repo): centralize path/draft gating in a per-workflow gate job by @xsahil03x in #2669
    • chore(samples): disable Swift Package Manager for sample_app by @xsahil03x in #2672
    • fix(ci): disable SPM at CI level instead of via pubspec flag by @xsahil03x in #2675
    • chore(repo): add release-pr skill by @xsahil03x in #2657
    • perf(llc): Reduce the number of DB reads in ChatPersistenceClient.getChannelStates() by @VelikovPetar in #2664
    • fix(core): truncate channel state before reloading latest messages by @xsahil03x in #2690
    • fix(ui): auto-scroll on optimistic local messages by @xsahil03x in #2683
    • fix(ui): Don't count anchor corrections in ScrollablePositionedList by @renefloor in #2693
    • refactor(persistence): Store DateTime as ISO-8601 text in DB to preserve sub-seconds precision by @VelikovPetar in #2694
    • fix(ui): guard MessageCard._updateWidthLimit against unlaid RenderBox by @Mounix99 in #2702
    • fix(ui): stop StreamMessageListView from tripping RenderViewport layout-cycle limit by @xsahil03x in #2703
    • chore(repo): sync sample_app version to SDK + add TestFlight internal builds by @xsahil03x in #2705
    • fix(llc, core, ui): isolate channel state from sub-route wraps and smooth thread-open scroll by @xsahil03x in #2704
    • fix(ci): allow fork PRs to post DB entity comments by @xsahil03x in #2714
    • chore(deps): bump the all-actions group across 1 directory with 4 updates by @dependabot[bot] in #2712
    • ci(repo): skip sample app build when targeting master by @xsahil03x in #2720
    • fix(persistence): persist channel team field by @TheoGermain in #2700
    • perf(core, ui): back .of() lookups with StreamStateScope instead of findAncestorStateOfType by @xsahil03x in #2726
    • fix(ci): add multi_json to sample_app Gemfiles by @xsahil03x in #2728
    • perf(persistence): Reduce the number of read message per channel from DB when paginating (part 1) by @VelikovPetar in #2679
    • perf(persistence): Reduce the number of read message per channel from DB when paginating (part 2) by @VelikovPetar in #2681
    • chore(repo): release v9.25.0 by @xsahil03x in #2730

    New Contributors

    Full Changelog: v9.24.0...v9.25.0

    Open source →
    Release notes

    ✅ Added

    • Added StreamChannel.value — exposes an already-initialized channel without running channel-page positioning. Use it for sub-route and overlay wraps.
    • Added StreamStateScope<T> — a generic InheritedWidget that exposes a State to descendants for O(1) .of(context) lookup. Use it to back static of(BuildContext) accessors instead of BuildContext.findAncestorStateOfType.

    🐞 Fixed

    • Fixed StreamChannel.getMessage hitting the network for thread replies and pinned messages already in local state.
    • Fixed MessageListCore reloading the parent channel from its dispose path when running in thread mode.
    • Fixed StreamChannel.reloadChannel merging the latest page on top of the previously loaded window instead of replacing it. The reload now matches a fresh open of the channel.

    🚀 Performance

    • StreamChannel.of and StreamChatCore.of now resolve via StreamStateScope<T> instead of findAncestorStateOfType, replacing an O(tree-depth) element walk with an O(1) inherited-widget lookup. Callers and behavior are unchanged.
    Open source →
  23. 9.24.0 19 May 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: v9.23.0...v9.24.0

    Open source →
    Release notes

    ✅ Added

    • MessageListCore now accepts maximumMessageLimit and retentionTrimBuffer to cap the loaded message list. Trim fires on new messages past limit + buffer; top pagination, edits, deletions, jump-to-message, and threads don't trigger it. Disabled by default.
    • Added StreamChannel.pruneOldest(int) — delegates to ChannelClientState.pruneOldest and resets the top-pagination tracker.

    🔄 Changed

    • defaultMessageFilter now accepts an optional currentUserId; passing null treats every message as not-my-message.

    🚀 Performance

    • MessageListCore now caches the resolved messagesStream, avoiding subscription churn on every parent rebuild.
    • MessageListCore now applies its message filter and reversal in a single lazy pass, dropping two intermediate List<Message> allocations per emission.
    • MessageListCore no longer applies a redundant ListEquality comparator on its BetterStreamBuilder outputs.

    🐞 Fixed

    • Fixed MessageListController.paginateData not being cleared when MessageListCore is disposed or its controller is swapped.
    • Fixed BetterStreamBuilder rendering the previous stream's last value for one frame after the stream changes.
    • Fixed BetterStreamBuilder getting stuck on the error state when the next stream event equals the cached value.
    • Fixed BetterStreamBuilder silently swallowing stream errors when no errorBuilder is provided; errors now route through FlutterError.reportError.
    • Debounced connectivity events by 3 seconds in StreamChatCore. Rapid network flaps (cellular handovers, brief drops) now collapse into a single reconnect instead of firing a fresh connectionRecovered per emission.
    Open source →
  24. 9.23.0 28 Jan 2026
    Release notes
    • Updated stream_chat dependency to 9.23.0.
    Open source →
  25. 9.22.0 10 Dec 2025
    Release notes
    • Updated stream_chat dependency to 9.22.0.
    Open source →
  26. 9.21.0 03 Dec 2025
    Release notes
    • Updated stream_chat dependency to 9.21.0.
    Open source →
  27. 9.20.0 18 Nov 2025
    Release notes

    🐞 Fixed

    • Fixed race condition where connectUser could be blocked when connectivity monitoring triggers during initial connection. [#2409]
    Open source →
  28. 9.19.0 29 Oct 2025
    Release notes
    • Updated stream_chat dependency to 9.19.0.
    Open source →
  29. 9.18.0 15 Oct 2025
    Release notes
    • Updated stream_chat dependency to 9.18.0.
    Open source →
  30. 9.17.0 24 Sep 2025
    Release notes
    • Updated stream_chat dependency to 9.17.0.
    Open source →
  31. 9.16.0 13 Aug 2025
    Release notes

    🐞 Fixed

    • Fixed MessageListCore not properly loading and paginating thread replies.

    ✅ Added

    • Added methods for paginating thread replies in StreamChannel.
    Open source →
  32. 9.15.0 25 Jul 2025
    Release notes

    ✅ Added

    • Added StreamChatCore.maybeOf() method for safe context access in async operations.
    • Added StreamChannel.maybeOf() method for safe context access in async operations.

    🐞 Fixed

    • Fixed MessageListCore.dispose() crash when channel reload fails due to insufficient permissions.
    • Fixed incorrect parent message comparison in MessageListCore.didUpdateWidget().
    • Ensure StreamChannel future builder completes after channel initialization. [#2323]
    Open source →
  33. 9.14.0 17 Jul 2025
    Release notes

    🐞 Fixed

    • Fixed cached messages are cleared from channels with unread messages when accessed offline. [#2083]
    Open source →
  34. 9.13.0 30 Jun 2025
    Release notes

    🐞 Fixed

    • Fixed pagination end detection logic to properly determine when the top or bottom of the message list has been reached.
    Open source →
  35. 9.12.0 17 Jun 2025
    Release notes

    ✅ Added

    • Added StreamMessageReminderListController to manage the list of message reminders.
    Open source →
  36. 9.11.0 03 Jun 2025
    Release notes
    • Updated stream_chat dependency to 9.11.0.
    Open source →
  37. 9.10.0 15 May 2025
    Release notes

    🐞 Fixed

    • Fixed an issue with StreamChannel where loading channel at lastReadMessageId might fail if the channel exceeds the member threshold. This is now handled gracefully by falling back to loading the channel at the lastRead date.

    🔄 Changed

    • Updated freezed_annotation dependency to ">=2.4.1 <4.0.0".
    Open source →
  38. 9.9.0 06 May 2025
    Release notes

    ✅ Added

    • Added StreamDraftListController to manage the list of draft messages.
    • Added support for Filtering and Sorting in the StreamThreadListController.
    Open source →
  39. 9.8.0 16 Apr 2025
    Release notes

    ✅ Added

    • Added StreamChannelState.getFirstUnreadMessage to get the first unread message in the channel.
    • Added support for Channel pinning and archiving.
    Open source →
  40. 9.7.0 03 Apr 2025
    Release notes

    🐞 Fixed

    • Fixed issue with not being able to use a non-initialized Channel in StreamChannel widget. #2080

    🔄 Changed

    • Updated StreamChannel to provide proper background colors in the defaultLoadingBuilder and defaultErrorBuilder
    • Removed redundant Material widget wrapping in the build method of StreamChannelState
    Open source →
  41. 9.6.0 13 Mar 2025
    Release notes

    🔄 Changed

    • Increase range of allowed version device_info_plus.
    Open source →
  42. 9.5.0 12 Mar 2025
    Release notes

    🔄 Changed

    • Simplified the logic for setting and clearing OG attachments by removing the _ogAttachment field and directly working with the attachments list.
    • Added proper userAgent and systemEnvironment information for better diagnostics and analytics.

    🐞 Fixed

    • type '_$Loading<int, Channel>' is not a subtype of type 'Success<int, Channel>' in type cast #1894
    Open source →
  43. 9.4.0 14 Feb 2025
    Release notes
    • Updated minimum Flutter version to 3.27.4 for the SDK.
    Open source →
  44. 9.3.0 11 Feb 2025
    Release notes
    • Updated stream_chat dependency to 9.3.0.
    Open source →
  45. 9.2.0 21 Jan 2025
    Release notes
    • Updated stream_chat dependency to 9.2.0.
    Open source →
  46. 9.1.0 09 Jan 2025
    Release notes

    ✅ Added

    • Added StreamThreadListController to load and paginate list of threads.
    Open source →
  47. 9.0.0 30 Dec 2024
    Release notes

    ✅ Added

    • Added StreamPollController to create and manage a poll based on the passed configs.
    • Added StreamPollVoteListController to manage the list of votes for a poll.

    🔄 Changed

    • Updated minimum Flutter version to 3.24.5 for the SDK.
    Open source →
  48. 8.3.0 04 Dec 2024
    Release notes
    • Updated stream_chat dependency to 8.3.0.
    Open source →
  49. 8.2.0 11 Nov 2024
    Release notes
    • Updated stream_chat dependency to 8.2.0.
    Open source →
  50. 8.1.0 19 Sep 2024
    Release notes

    🔄 Changed

    • Changed minimum Flutter version to 3.22 for the SDK.
    • Updated stream_chat dependency to 8.1.0.
    Open source →
  51. 8.0.0 22 Jul 2024
    Release notes

    🐞 Fixed

    • Fixed bug causing background events to be sent in foreground.

    🔄 Changed

    • Updated stream_chat dependency to 8.0.0.
    Open source →
  52. 8.0.0-beta.3 08 May 2024 pre-release

    Nothing published for this version

  53. 8.0.0-beta.2 09 Jan 2024 pre-release

    Nothing published for this version

  54. 8.0.0-beta.1 04 Dec 2023 pre-release

    Nothing published for this version

  55. 7.3.0 03 Jul 2024
    Release notes

    🔄 Changed

    • Changed minimum Flutter version to 3.19 for the SDK.
    • Updated stream_chat dependency to 7.3.0.
    Open source →
  56. 7.2.2 18 Jun 2024
    Release notes
    • Updated stream_chat dependency to 7.2.2.
    Open source →
  57. 7.2.1 04 Jun 2024
    Release notes
    • Updated stream_chat dependency to 7.2.1.
    Open source →
  58. 7.2.0 03 Apr 2024
    Release notes
    • Updated stream_chat dependency to 7.2.0.
    Open source →
  59. 7.2.0-hotfix.1 04 Apr 2024 pre-release
    Release notes
    • Updated stream_chat dependency to 7.2.0-hotfix.1.
    • Reverted the connectivity_plus dependency bump causing 1889
    Open source →
  60. 7.1.0 06 Mar 2024
    Release notes
    • Updated stream_chat dependency to 7.1.0.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive