Releases: GetStream/stream-chat-flutter
3.5.0
What's Changed
- test(llc): fix markAllRead test by @xsahil03x in #899
- build(ui): minor xcode updates to run example on macos by @GroovinChip in #900
- fix(ui): fix
unban
command not working inMessageInput
. by @xsahil03x in #901 - fix(llc): thread message reactions not updated by @bstolinski in #890
- feat(llc): Exposed score as a param for sendReaction function in client & channel by @ayush221b in #902
- fix(llc): add type check in auth_interceptor.dart by @xsahil03x in #904
- feat(llc): add support for
partialUserUpdate
endpoint. by @xsahil03x in #906 - fix(ui): scrollToBottom not respecting false value in MessageListView by @HayesGordon in #907
- fix(ui): update chewie to newest version by @S-ecki in #905
- fix(ui): Clicking on Avatar in ChannelPreview should go to Channel route by default by @ayush221b in #916
- perf(ui): improve full screen media animation by @HayesGordon in #911
- fix(llc): pinnedMessages inconsistency by @xsahil03x in #910
- fix(llc): decrease parent message reply count only once by @bstolinski in #891
- chore(llc, core, ui): bump versions to 3.5.0 by @xsahil03x in #936
New Contributors
- @bstolinski made their first contribution in #890
- @ayush221b made their first contribution in #902
- @S-ecki made their first contribution in #905
Full Changelogs:
stream_chat
stream_chat_flutter_core
stream_chat_flutter
3.4.0
What's Changed
- ci(repo): fix melos bs for transitive deps by @xsahil03x in #798
- fix(llc): totalUnreadCount is not updating when app is resumed from background mode by @xsahil03x in #801
- fix(llc): fix retry queue mechanism by @imtoori in #809
- fix(core): update connectivity dep by @deven98 in #813
- chore(llc,core,ui): 3.3.1 by @imtoori in #810
- feat(llc): Add enrichUrl endpoint. by @xsahil03x in #824
- feat(ui): added autoplay to videos by @deven98 in #832
- fix(ui): media download by @imtoori in #830
- fix(ui): fixed svgs by @deven98 in #840
- fix(llc): fixed unread count after member removed by @deven98 in #843
- fix(core): channels order by @imtoori in #831
- chore(repo): add missed trailing commas by @dkrutskikh in #849
- feat(llc): deprecate location in favor of new edge server. by @xsahil03x in #864
- chore(repo): make comments follow dart guidelines and fix typos by @developerjamiu in #863
- fix(localization): fix japanese translations by @koishi in #872
- feat(persistence): Use hard-coded drift versions. by @xsahil03x in #867
- fix(core): fixed bad state on calling streamController.add by @xsahil03x in #875
- fix(ui): fix cast error while compressing video. by @xsahil03x in #874
- fix(llc): include
message.user
while saving users in persistence. by @xsahil03x in #877 - fix(llc): thread message deletion by @deven98 in #876
- feat(llc): Add
queryBannedUsers
endpoint. by @xsahil03x in #880 - fix(llc): fix ownReactions population by @imtoori in #873
- feat(localization): added support for Portuguese language by @santiagogarcia97 in #858
- chore(ui): update flutter svg by @SpencerC in #859
- fix(llc): avoid invalid url by @jiahan5 in #829
- fix(llc): fix ChannelState copyWith with respect to pinnedMessages default value. by @xsahil03x in #883
- chore(llc,core,ui,persistence,localizations): 3.4.0 by @imtoori in #884
New Contributors
- @developerjamiu made their first contribution in #863
- @koishi made their first contribution in #872
- @santiagogarcia97 made their first contribution in #858
- @SpencerC made their first contribution in #859
- @jiahan5 made their first contribution in #829
Full Changelogs:
stream_chat
stream_chat_flutter_core
stream_chat_flutter
stream_chat_localizations
stream_chat_persistence
3.3.0
stream_chat
3.3.0
✅ Added
- Extra properties added to
PaginationParams
to aid in fetching messages. - Added hard delete functionality.
🐞 Fixed
closeConnection()
now usesnormalClosure
status when closing websocket.- Fixed local unread count indicator increasing for thread replies.
- Fixed user presence indicator not updating correctly.
ChannelEvent.membersCount
defaults to 0 avoiding parsing errors due to missingmembers_count
field.
stream_chat_flutter_core
3.3.0
- Updated
stream_chat
dependency to3.3.0
.
stream_chat_flutter
3.3.0
✅ Added
MessageListView
now allows more better control over spacing after messages usingspacingWidgetBuilder
.StreamChannel
can now fetch messages around a message ID with thequeryAroundMessage
call.- Added
MessageListView.keyboardDismissBehavior
property.
🐞 Fixed
- [[#766]]
AttachmentActionsModal
now has customisation options for actions. - Fixed
MessageWidget
null errors associated withchannel.memberCount
. - Fixed adding attachments on web.
- [#767]: Fix
MessageInput
focus behaviour when sending messages. - Fixed user presence indicator not updating correctly.
- Do not use
withData: true
inFilePicker
calls. - Fixed read indicator not updating correctly in specific situations.
3.2.0
stream_chat
3.2.0
🐞 Fixed
markAllRead()
now updates local channel states.- [#744] Fixed unread count not updating correctly
stream_chat_flutter_core
3.2.0
- Updated
stream_chat
dependency to3.2.0
.
stream_chat_flutter
3.2.0
- Updated Dart SDK constraints to
>=2.14.0 <3.0.0
- Updated
stream_chat_flutter_core
dependency to3.2.0
.
🐞 Fixed
- Fixed message highlight animation alignment in
MessageListView
- [#491]: Fix
MediaListView
showing media in wrong order. - Fixed
MessageListView
initialIndex not working in some cases. - Improved
MessageListView
rendering in case of reordering. - Fix image thumbnail generation when using Stream CDN
3.1.1
stream_chat
3.1.1
✅ Added
- Added
Filter.notExists
.
🐞 Fixed
- [#710] Fixed JWT requiring using
String
as id. - Fixed expired CDN attachment links not updating correctly.
stream_chat_flutter_core
3.1.1
- Updated
stream_chat
dependency to3.1.1
.
stream_chat_flutter
3.1.1
- Updated
stream_chat_flutter_core
dependency to3.1.1
. - Updated
file_picker
,image_gallery_saver
, andvideo_thumbnail
to the latest versions.
🐞 Fixed
- [#687]: Fix Users losing their place in the conversation after replying in threads.
- Fixed floating date stream subscription causing "Bad state: stream has already been listened.” error.
- Fixed
String
capitalize extension not working on empty strings.
✅ Added
- Added
MessageInput.customOverlays
property to add custom overlays to the message input. - Added
MessageInput.mentionAllAppUsers
property to mention all app users in the message input. - The
MessageInput
now supports local search for channels with less than 100 members. - Added
MessageListView.paginationLoadingIndicatorBuilder
to override the default loading indicator shown while paginating the message list. - Added new
linkBackgroundColor
inMessageTheme
for setting background colors of link attachments.
MessageInput.mentionsTileBuilder
is now deprecated in favor ofMessageInput.userMentionsTileBuilder
.MentionTile
is now deprecated in favor ofUserMentionsTile
.
3.0.0
stream_chat
3.0.0
🛑️ Breaking Changes from 2.2.1
- Added 6 new methods in
ChatPersistenceClient
.bulkUpdateMessages
bulkUpdatePinnedMessages
bulkUpdateMembers
bulkUpdateReads
updatePinnedMessageReactions
deletePinnedMessageReactionsByMessageId
✅ Added
- Added
Filter.contains
andFilter.empty
- Added support for
next
,previous
value pagination inclient.search
, read more. Attachment
class now has afileSize
andmimeType
property. Setting afile
will also set thefile_size
,mime_type
key onextraData
, soattachment.fileSize
,attachment.mimetype
andattachment.extraData['file_size']
,attachment.extraData['mime_type]
is same respectively.
🐞 Fixed
- [#659] Fixed unread count not updating correctly.
- Fix
Filter.empty()
json encoding. - [#700] Connecting user without providing
name
usesid
instead for settinguser.name
.
stream_chat_flutter_core
3.0.0
- Updated
stream_chat
dependency to3.0.0
.
🛑️ Breaking Changes from 2.2.1
-
MessageSearchListViewCore
paginationParams
property is now deprecated in favor oflimit
.// previous paginationParams = const PaginationParams(limit: 30) // new limit = 30
-
UserListCore
pagination
property is now deprecated in favor oflimit
.// previous pagination = const PaginationParams(limit: 30) // new limit = 30
-
ChannelListCore
pagination
property is now deprecated in favor oflimit
.// previous pagination = const PaginationParams(limit: 30) // new limit = 30
-
UserListCore
filter
property now is non-nullable.
🔄 Changed
UserListCore
filter property now has a default value.filter = const Filter.empty()
🐞 Fixed
- Fixed
MessageSearchBloc
pagination. - [#673]: Fix
Core Widgets
not getting rebuild with new
data on configuration change.
stream_chat_flutter
3.0.0
- Updated
stream_chat_flutter_core
dependency to3.0.0
.
🛑️ Breaking Changes from 2.2.1
UserListView
filter
property now is non-nullable.
🐞 Fixed
- [#668]: Fix
MessageInput
rendering errors in case
there are no actions available to show. - [#349]: Fix
MessageInput
attachment render overflow error. - [#674]: Check scrollController is attached before calling jump in MessageListView.
- Fixed
MessageListView
header and footer whenreverse: false
.
🔄 Changed
- Animation curves changed from default
Curves.linear
toCurves.easeOut
andCurves.easeIn
for attachment controls. - Removed default padding in
DateDivider
inMessageListView
stream_chat_persistence
3.0.0
- Updated
stream_chat
dependency to3.0.0
. - [#604] Fix cascade deletion by
enablingpragma foreign_keys
. - Added a new table
PinnedMessageReactions
and daoPinnedMessageReactionDao
specifically for pinned messages.
stream_chat_localizations
2.0.0
- Updated
stream_chat_flutter
dependency to3.0.0
.
🐞 Fixed
- Fixed typos in
Italian
translations.
2.2.1
stream_chat
2.2.1
🐞 Fixed
- Fixed unread indicator not updating correctly
- Fix
channel.show
not working because of null body
stream_chat_flutter_core
2.2.1
- Updated
stream_chat
dependency to 2.2.1
stream_chat_flutter
2.2.1
- Updated
stream_chat_flutter_core
dependency to 2.2.1
2.2.0
stream_chat
2.2.0
🐞 Fixed
- Fixed
channel.markAllRead
throwing failed host lookup.
✅ Added
User
andOwnUser
classes now have animage
property. Setting an image will also set the 'image' key onextraData
, souser.image
anduser.extraData['image']
is the same.User
andOwnUser
classes now have aname
property. Setting a name will also set the 'name' key onextraData
, souser.name
anduser.extraData['name']
is the same.Channel
class now has extraimage
getter and setter. As well as anupdateImage
to do a partial update after a channel has been initialized.Channel
class now has extraname
getter and setter. As well as anupdateName
to do a partial update after a channel has been initialized.- Added slow mode which allows a cooldown period after a user sends a message.
stream_chat_persistence
2.2.0
- Updated llc dependency
- Added support for message.i18n
- Added support for user.language
stream_chat_flutter_core
2.2.0
🛑️ Breaking Changes from 2.1.1
- Renamed
BetterStreamBuilder.loadingBuilder
to.noDataBuilder
🔄 Changed
BetterStreamBuilder.initialData
is now nullable/not-required.
🐞 Fixed
- #612
ChannelListView
pagination doesn't work after refresh
stream_chat_flutter
2.2.0
✅ Added
- #516:
AddedStreamChatThemeData.placeholderUserImage
for building a widget when theUserAvatar
image
is loading - Added a
backgroundColor
property to the following widgets:ChannelHeader
ChannelListHeader
GalleryHeader
GalleryFooter
ThreadHeader
- Added
MessageInput.attachmentLimit
in order to limit the no. of attachments that can be sent with a single message. - Added
MessageInput.onAttachmentLimitExceed
callback which will be called when theattachmentLimit
is exceeded.
This will override the default error alert behaviour. - Added
MessageInput.attachmentButtonBuilder
andMessageInput.commandButtonBuilder
for more customizations.
typedef ActionButtonBuilder = Widget Function(
BuildContext context,
IconButton defaultActionButton,
);
NOTE: The last parameter is the default
ActionButton
You can call.copyWith
to customize just a subset of properties.
- Added slow mode which allows a cooldown period after a user sends a message.
🔄 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 nowAvatarThemeData
ChannelHeaderTheme
is nowChannelHeaderThemeData
ChannelListHeaderTheme
is nowChannelListHeaderThemeData
ChannelListViewTheme
is nowChannelListViewThemeData
ChannelPreviewTheme
is nowChannelPreviewThemeData
MessageInputTheme
is nowMessageInputThemeData
MessageListViewTheme
is nowMessageListViewTheme
MessageSearchListViewTheme
is nowMessageSearchListViewThemeData
MessageTheme
is nowMessageThemeData
UserListViewTheme
is nowUserListViewThemeData
- Updated core dependency.
🐞 Fixed
- Fixed
MessageInput
textField case whereinput
is not enabled if the file picked from the
camera is null. - Fixed date dividers position/alignment in non reversed
MessageListView
. - Fixed
MessageListView
not opening to the right initialMessage ifStreamChannel.initialMessageId
is set. - Fixed null check errors when accessing
message.text
inMessageWidget
andMessageListView
; this occurred when sending a message with no text.
stream_chat_localizations
1.1.0
✅ Added
- Added support for Spanish locale.
- Added support for Korean locale.
- Added support for Japanese locale.
- Added translations for cooldown mode.
- Added translations for attachmentLimitExceed.
🔄 Changed
- Some of the
Hindi
translations have been updated/changed for better understanding.- 'रिप्लाई' -> 'जवाब दें'
- 'तस्वीरें' -> 'फ़ोटोज'
- 'बिता हुआ कल' -> 'कल'
- 'चैनल मौन है' -> 'चैनल म्यूट है'
2.1.0
stream_chat
2.1.0
🛑️ Removed
- The
MessageTranslation
class has been removed. Use the newi18n
field in theMessage
class instead.
✅ Added
- The
Message
class now has ani18n
field for translations - The
User
class now has alanguage
field for the user's language preference.
🔄 Changed
client.user
is now deprecated in favor ofclient.currentUser
.client.userStream
is now deprecated in favor ofclient.currentUserStream
.
🐞 Fixed
stream_chat_persistence
2.1.0
✅ Added
- Added support for
Message.i18n
- Added support for
User.language
stream_chat_flutter_core
2.1.0
🛑️ Breaking Changes from 2.0.0
- Changed default message filter of
MessageListCore
✅ Added
- Added
MessageListCore.paginationLimit
🔄 Changed
StreamChatCore.of(context).user
is now deprecated in favor ofStreamChatCore.of(context).currentUser
.StreamChatCore.of(context).userStream
is now deprecated in favor ofStreamChatCore.of(context).currentUserStream
.
stream_chat_flutter
2.1.0
✅ Added
- Added
MessageListView.paginationLimit
MessageText
renders message translation if available- Allow the various ListView widgets to be themed via ThemeData classes
- Added
bottomRowBuilder
anddeletedBottomRowBuilder
that build a widget below aMessageWidget
🔄 Changed
StreamChat.of(context).user
is now deprecated in favor ofStreamChat.of(context).currentUser
.StreamChat.of(context).userStream
is now deprecated in favor ofStreamChat.of(context).currentUserStream
.
🐞 Fixed
- Fix floating date divider not having a fixed size
stream_chat_localizations
1.0.0
- First release
2.0.0
stream_chat
🛑️ Breaking Changes from 1.5.3
- migrate this package to null safety
ConnectUserWithProvider
now requirestokenProvider
as a required param. (Removed from the constructor)client.disconnect()
is now divided into two different functionsclient.closeConnection()
-> for closing user websocket connection.client.disconnectUser()
-> for disconnecting user and resetting client state.
client.devToken()
now returns aToken
model instead ofString
.ApiError
is removed in favor ofStreamChatError
StreamChatError
-> parent type for all the stream errors.StreamWebSocketError
-> for user websocket related errors.StreamChatNetworkError
-> for network related errors.
client.queryChannels()
,channel.query()
options param is removed in favor of individual paramsoption.state
-> bool stateoption.watch
-> bool watchoption.presence
-> bool presence
client.queryUsers()
options param is removed in favor of individual paramsoption.presence
-> bool presence
- Migrate this package to null safety
- Added typed filters
🐞 Fixed
- #369: Client does not return without internet connection
- several minor fixes
- performance improvements
✅ Added
- New
Location
enum is introduced for easily changing the client location/baseUrl. - New
client.openConnection()
andclient.closeConnection()
is introduced to connect/disconnect user ws connection. - New
client.partialUpdateMessage
andchannel.partialUpdateMessage
methods connectWebSocket
parameter in connect user calls to use the client in "connection-less" mode.
🔄 Changed
baseURL
is now deprecated in favor of usingLocation
to change data location.
stream_chat_flutter
🛑️ Breaking Changes from 1.5.4
-
Migrate this package to null safety
-
Renamed
ChannelImage
toChannelAvatar
-
Updated
StreamChatThemeData.reactionIcons
to accept custom builder -
Renamed
ColorTheme
properties to reflect the purpose of the colorsColorTheme.black
->ColorTheme.textHighEmphasis
ColorTheme.grey
->ColorTheme.textLowEmphasis
ColorTheme.greyGainsboro
->ColorTheme.disabled
ColorTheme.greyWhisper
->ColorTheme.borders
ColorTheme.whiteSmoke
->ColorTheme.inputBg
ColorTheme.whiteSnow
->ColorTheme.appBg
ColorTheme.white
->ColorTheme.barsBg
ColorTheme.blueAlice
->ColorTheme.linkBg
ColorTheme.accentBlue
->ColorTheme.accentPrimary
ColorTheme.accentRed
->ColorTheme.accentError
ColorTheme.accentGreen
->ColorTheme.accentInfo
-
ChannelListCore
options property is removed in favor of individual propertiesoptions.state
-> bool stateoptions.watch
-> bool watchoptions.presence
-> bool presence
-
UserListView
options property is removed in favor of individual propertiesoptions.presence
-> bool presence
-
Renamed
ImageHeader
toGalleryHeader
-
Renamed
ImageFooter
toGalleryFooter
-
MessageBuilder
andParentMessageBuilder
signature is now
typedef MessageBuilder = Widget Function(
BuildContext,
MessageDetails,
List<Message>,
MessageWidget defaultMessageWidget,
);
the last parameter is the default MessageWidget
You can call .copyWith
to customize just a subset of properties
✅ Added
- Added video compress options (frame and quality) to
MessageInput
- TypingIndicator now has a property called
parentId
to show typing indicator specific to threads - #493: add support for messageListView header/footer
MessageWidget
accepts auserAvatarBuilder
- Added pinMessage ui support
- Added
MessageListView.threadSeparatorBuilder
property - Added
MessageInput.onError
property to allow error handling - Added
GalleryHeader/GalleryFooter
theme classes
🐞 Fixed
- #483: Keyboard covers input text box when editing
message - Modals are shown using the nearest
Navigator
to make using the SDK easier in a nested navigator use case - #484: messages don't update without a reload
MessageListView
not rendering if the user is not a member of the channel- Fix
MessageInput
overflow when there are no actions - Minor fixes and improvements
stream_chat_flutter_core
🛑️ Breaking Changes from 1.5.3
- migrate this package to null safety
channelsBloc.queryChannels()
,ChannelListCore
options param/property is removed in favor of individual params/propertiesoptions.state
-> bool stateoptions.watch
-> bool watchoptions.presence
-> bool presence
usersBloc.queryUsers()
,UserListCore
options param/property is removed in favor of individual params/propertiesoptions.presence
-> bool presence
✅ Added
- Monitor connection using
connectivity_plus
package
🐞 Fixed
- Minor fixes
- Performance improvements
stream_chat_persistence
- Migrate this package to null safety
- Minor fixes and improvements