NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #1074 most downloaded on pub.dev
Stream Chat official Flutter SDK. Build your own chat experience using Dart and Flutter.
Last release 8 days ago
30 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 57 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
7 years old
269 releases · first in 2020
One column per quarter.
Added a backgroundColor property to the following widgets:
✅ Added
StreamChatThemeData.placeholderUserImage for building a widget when the UserAvatar image
is loadingbackgroundColor property to the following widgets:
ChannelHeaderChannelListHeaderGalleryHeaderGalleryFooterThreadHeaderMessageInput.attachmentLimit in order to limit the no. of attachments that can be sent
with a single message.MessageInput.onAttachmentLimitExceed callback which will be called when
the attachmentLimit is exceeded. This will override the default error alert behaviour.MessageInput.attachmentButtonBuilder and MessageInput.commandButtonBuilder for more
customizations.typedef ActionButtonBuilder = Widget Function(
BuildContext context,
IconButton defaultActionButton,
);
NOTE: The last parameter is the default
ActionButtonYou can call.copyWithto customize just a subset of properties.
🔄 Changed
Theming has been upgraded! Most theme classes now have InheritedTheme classes associated with
them, and have been upgraded with some goodies like lerp functions. Here's the full naming
breakdown:
AvatarTheme is now AvatarThemeDataChannelHeaderTheme is now ChannelHeaderThemeDataChannelListHeaderTheme is now ChannelListHeaderThemeDataChannelListViewTheme is now ChannelListViewThemeDataChannelPreviewTheme is now ChannelPreviewThemeDataMessageInputTheme is now MessageInputThemeDataMessageListViewTheme is now MessageListViewThemeMessageSearchListViewTheme is now MessageSearchListViewThemeDataMessageTheme is now MessageThemeDataUserListViewTheme is now UserListViewThemeData🐞 Fixed
MessageInput textField case where input is not enabled if the file picked from the
camera is null.MessageListView.MessageListView not opening to the right initialMessage
if StreamChannel.initialMessageId is set.message.text in MessageWidget and MessageListView;
this occurred when sending a message with no text.🐞 Fixed - #590: livestream use case, no members when sending message
🐞 Fixed
- Updated core dependency
StreamChat.of(context).user is now deprecated in favor of StreamChat.of(context).currentUser.
✅ Added
MessageListView.paginationLimitMessageText renders message translation if availablebottomRowBuilder and deletedBottomRowBuilder that build a widget below a MessageWidget🔄 Changed
StreamChat.of(context).user is now deprecated in favor of StreamChat.of(context).currentUser.StreamChat.of(context).userStream is now deprecated in favor
of StreamChat.of(context).currentUserStream.🐞 Fixed
Migrate this package to null safety
🛑️ Breaking Changes from 1.5.4
Migrate this package to null safety
Renamed ChannelImage to ChannelAvatar
Updated StreamChatThemeData.reactionIcons to accept custom builder
Renamed ColorTheme properties to reflect the purpose of the colors
ColorTheme.black -> ColorTheme.textHighEmphasisColorTheme.grey -> ColorTheme.textLowEmphasisColorTheme.greyGainsboro -> ColorTheme.disabledColorTheme.greyWhisper -> ColorTheme.bordersColorTheme.whiteSmoke -> ColorTheme.inputBgColorTheme.whiteSnow -> ColorTheme.appBgColorTheme.white -> ColorTheme.barsBgColorTheme.blueAlice -> ColorTheme.linkBgColorTheme.accentBlue -> ColorTheme.accentPrimaryColorTheme.accentRed -> ColorTheme.accentErrorColorTheme.accentGreen -> ColorTheme.accentInfoChannelListCore options property is removed in favor of individual properties
options.state -> bool stateoptions.watch -> bool watchoptions.presence -> bool presenceUserListView options property is removed in favor of individual properties
options.presence -> bool presenceRenamed ImageHeader to GalleryHeader
Renamed ImageFooter to GalleryFooter
MessageBuilder and ParentMessageBuilder signature is now
typedef MessageBuilder = Widget Function(
BuildContext,
MessageDetails,
List<Message>,
MessageWidget defaultMessageWidget,
);
NOTE: the last parameter is the default
MessageWidgetYou can call.copyWithto customize just a subset of properties
✅ Added
MessageInputparentId to show typing indicator specific to threadsMessageWidget accepts a userAvatarBuilderMessageListView.threadSeparatorBuilder propertyMessageInput.onError property to allow error handlingGalleryHeader/GalleryFooter theme classes🐞 Fixed
Navigator to make using the SDK easier in a nested navigator
use caseMessageListView not rendering if the user is not a member of the channelMessageInput overflow when there are no actionsNothing published for this version
🛑️ Breaking Changes from 2.0.0-nullsafety.8
🛑️ Breaking Changes from 2.0.0-nullsafety.8
ColorTheme properties to reflect the purpose of the colors
ColorTheme.black -> ColorTheme.textHighEmphasisColorTheme.grey -> ColorTheme.textLowEmphasisColorTheme.greyGainsboro -> ColorTheme.disabledColorTheme.greyWhisper -> ColorTheme.bordersColorTheme.whiteSmoke -> ColorTheme.inputBgColorTheme.whiteSnow -> ColorTheme.appBgColorTheme.white -> ColorTheme.barsBgColorTheme.blueAlice -> ColorTheme.linkBgColorTheme.accentBlue -> ColorTheme.accentPrimaryColorTheme.accentRed -> ColorTheme.accentErrorColorTheme.accentGreen -> ColorTheme.accentInfo✅ Added
MessageInput🛑️ Breaking Changes from 2.0.0-nullsafety.7
🛑️ Breaking Changes from 2.0.0-nullsafety.7
ChannelListCore options property is removed in favor of individual properties
options.state -> bool stateoptions.watch -> bool watchoptions.presence -> bool presenceUserListView options property is removed in favor of individual properties
options.presence -> bool presenceMessageBuilder and ParentMessageBuilder signature is nowtypedef MessageBuilder = Widget Function(
BuildContext,
MessageDetails,
List<Message>,
MessageWidget defaultMessageWidget,
);
NOTE: The last parameter is the default
MessageWidgetYou can call.copyWithto customize just a subset of properties.
✅ Added
parentId to show typing indicator specific to threadsMessageWidget accepts a userAvatarBuilder🐞 Fixed
Updated stream_chat_core dependency
stream_chat_core dependencyUpdated stream_chat_core dependency
stream_chat_core dependencyUpdated stream_chat_core dependency
stream_chat_core dependencyMessageListView.threadSeparatorBuilder propertyUpdated stream_chat_core dependency
stream_chat_core dependencyMessageWidget componentFix MessageInput overflow when there are no actions
Migrate this package to null safety
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Updated stream_chat_core dependency
stream_chat_core dependencyUpdated stream_chat_core dependency
stream_chat_core dependencyFix accessibility text size overflows
Fixed unread count not updating while the chat is open
Fixed swipeable visible on navigation back
MessageInput: added more actions locations, merge actions and add showCommandsButton propertyUnfocus MessageInput only when sending commands
MessageInput only when sending commandsMessageSearchListViewStreamChatTheme adding more options and a new MessageInputTheme dedicated
to MessageInputMessageWidget.customActionsMessageListView.onAttachmentTap callbackMessageListView scroll keyboard behaviourUpdated stream_chat_core dependency
stream_chat_core dependencyUpdated stream_chat_core dependency
stream_chat_core dependencyFixed overflow in MessageInput animation
MessageInputThemeMessageInput animationcustomAttachmentBuilders through MessageListViewstream_chat_core dependencyUpdated stream_chat_core dependency
stream_chat_core dependencyAdded MessageInput button color customization options
Update stream_chat_core dependency
Update stream_chat_core dependency
Update stream_chat_core dependency
Updated stream_chat dependency to ^1.0.0-beta
stream_chat dependency to ^1.0.0-betastream_chat_flutter_coreNothing published for this version
Add loadingBuilder in MessageListView
loadingBuilder in MessageListViewmessageFilter property in MessageListViewFixed bug that caused video attachment to show the same preview
Added shouldAddChannel to ChannelsBloc in order to check if a channel has to be added to the list when a new message arrives
shouldAddChannel to ChannelsBloc in order to check if a channel has to be added to the
list when a new message arrivesFix reaction picker score indicator
Fix channelPreview when the message list is empty
channelPreview when the message list is empty- Implement shadowban
Added loading builder in channellistview
- Updated llc dependency
- Fix mention tap bug
Expose ChannelsBloc.channelsComparator to sort channels on message.new event
Expose messageInputDecoration as part of the theme
Do not wrap channel preview builder. Users will have to implement they're custom onTap/onLongPress implementation
Add onLongPress on channel when using custom channel builder
- Add onMessageTap callbacks
Use TextEditingController.addListener instead of TextField.onChanged
Add debounce to on change messageinput listener
Send parent_id in typing events
Check if user.extraData['image'] is not null before using it
Fix error with channel query while handling background notifications
Update widget to use channel.state.unreadCountStream
channel.state.unreadCountStreamAdd separatorBuilder to ChannelListView
separatorBuilder to ChannelListView- Update llc dependency - Minor bug fixes
Fix example to run on Flutter web
- Update LLC dependency - Update file_picker dependency
Add back button to the full-screen view
Add simple example of channel creation in sample app
Your coding agent can read these notes before it upgrades. Set up the MCP server →