Releases: flyerhq/flutter_chat_ui
Releases · flyerhq/flutter_chat_ui
2.0.0-dev.6
- Require Flutter 3.29 and Dart 3.7
🐛 Bug Fixes
- Temporarily disabled blur effect for chat input due to a crash in Flutter 3.29 (will be re-enabled once fix is available in stable)
- Fixed a warning that occurred when removing all messages simultaneously
2.0.0-dev.5
- Changed signature of
chatMessageBuilder
to includeisRemoved
andgroupStatus
parameters. - Changed
imageUrl
toimageSource
for theUser
model. Change is necessary to show that not only remote URLs are supported but also local assets. messageGroupingTimeoutInSeconds
is now set viachatAnimatedListBuilder
.
- Add
hintText
to theChatInput
widget. - Added avatar support. Check local example for details.
chatMessageBuilder
now returnsisRemoved
andgroupStatus
parameters. Group status returns information about message's position in the group.isRemoved
istrue
if message is removed.- Added
leadingWidget
andtrailingWidget
to theChatMessage
widget.
2.0.0-dev.4
👥 User Management:
- Replaced
user
parameter withcurrentUserId
(String) andresolveUser
function - Users are now referenced by ID, with async user data resolution through
resolveUser
⚙️ API Changes:
- Renamed
ChatInputHeightNotifier.updateHeight()
tosetHeight()
- Scroll controller management moved to individual list widgets that you can render via
builders
:chatAnimatedListBuilder: ... return ChatAnimatedList(scrollController: _scrollController)
- Text editing controller now configured through
ChatInput
widget
🔄 Core Changes:
author
(typeUser
) is replaced withauthorId
(typeString
) for simpler user management- All
DateTime
properties now use milliseconds instead of microseconds for JSON serialization
🎨 Theme Simplification:
Theme has been streamlined to 3 key parameters:
colors
- Uses Material 3 semantic names (e.g.primary
,onPrimary
,secondary
) making it easy to apply color schemestypography
- Follows Flutter'sTextTheme
semantic naming conventionsshape
- Controls border radius of all messages (rounded vs square messages)
✨ New Features:
👨💻 Chat Experience:
- Added typing indicator support
- Background image customization
- Improved scroll-to-bottom performance
📜 List Behavior Controls:
shouldScrollToEndWhenSendingMessage
: Auto-scroll on message sendshouldScrollToEndWhenAtBottom
: Auto-scroll when at bottominitialScrollToEndMode
: Controls initial scroll behavior for non-reversed list. Because list is not reversed, you must scroll to the end to see latest messages. Available options:none
: No automatic scrolling, do nothinganimate
: Smooth scroll to endjump
: Instant scroll to end (wrong position or UI jumps are expected since Flutter does not know exact size of the list)
🎯 Improvements:
- Improved AI agent scrolling behavior example with message pinned to the top of the viewport
- Unified API between reversed and non-reversed lists
- Added pagination example
2.0.0-dev.3
- 🎉 Emoji-only messages: added support for text messages containing only emojis, displayed without a bubble.
- 🧩 Message grouping: added support for grouping messages for a cleaner chat display.
- 🐛 Bug fix: fixed an issue where timeouts were not being cleared properly.
- 🔧 Chat builders: chat message builders now include the message index in their parameters.
- 📱 Safe area: added safe area support for reversed lists.
2.0.0-dev.2
🖼️ API Example
- Added support for image uploads
- Added a web sockets connection status indicator with reconnection logic examples
🔗 cross-cache
- Added new methods:
delete(String key)
– delete entriesupdateKey(String key, String newKey)
– rename keys while keeping the data
CustomNetworkImage
is nowCachedNetworkImage
and has been moved to the cross-cache package- Exposed the
set
method for better flexibility
💬 flutter-chat-core
- Added
customMessageBuilder
for building custom messages - Added
overlay
parameter toImageMessage
- Themes:
- Added
ImageMessageTheme
(replacingimagePlaceholderColor
) - Updated
InputTheme
(addingtextFieldColor
) - Updated
ScrollToBottomTheme
- Updated
TextMessageTheme
- Added
- Added
UploadProgressMixin
for handling upload progress tracking
📝 flutter-chat-ui
- Automatically handles the safe area (optional, enabled by default)
- Scrolls content up when the keyboard is opened
- Added support for an action bar above the input field (with example)
- Exported
ChatInputHeightNotifier
- Enhanced
ChatAnimatedList
with:topSliver
andbottomSliver
for custom widgets at the top or bottom of the chat (both scrollable)
📸 flyer-chat-image-message
- Theme now derives from
imageMessageTheme
- Added an upload progress indicator
- Fixed default constraints
- Added an optional overlay to images
2.0.0-dev.1
- 🚀 Exciting pre-release of
v2
! This version is a complete rewrite, focusing on extensibility, customizability, performance, and stability. 🛠️ ⚠️ Some features are still in progress, so use with caution. However, I've aimed to make this version more practical for real-world applications. 💼- 🌟 New examples include integrations with REST API and AI (Gemini), with more to come! 🤖
- 💻 Works seamlessly across all platforms. 📱🖥️
- 📚 Documentation and migration guide are in the works and will be available in the coming weeks.
- 🗓️ A public backlog for the new version is planned to keep everyone informed about upcoming features.
- 🔔 Stay tuned by following our GitHub for updates!
- 🙏 If you have a chance to test
v2
or review the code, I'd love to hear your thoughts! 💬
v1.6.15
- Last release of
v1
andv2
is replacing it on main branch soon. - Updated markdown matchers to be bold (double asterisk), italic (double underscore),
linethrough(double tilde) andcode
(single backtick). - Removed PopScope since new api requires Flutter v3.22 and I want to still support older versions. Let me know if it introduces breaking behaviour.
- Added support for AssetImage (uri starts with
assets/
). Thanks @thomers for the PR!
v1.6.14
- While
v2
is still in the works (unexpected blockers, see GitHub for progress) releasing a small patch update with improvements. - Added optional scroll
preferPosition
toscrollController.scrollToIndex
. Thanks @chdo002 for the PR! - Removed
isComposingRangeValid
check from the input to hopefully fix send button that does not appear. - Added
usesSafeArea
option to theinputOptions
to be able to remove safe area backed inside the input.
v1.6.13
- While
v2
is still in the works (unexpected blockers, see GitHub for progress) releasing a small patch update with improvements. - Potentially breaking: bumped dependencies, but I used ranges (>= and <) so don't expect any problems. Please raise an issue if some change breaks your project.
- Added support for overriding the
bubbleMargin
property usingChatTheme
. Thanks @ishchhabra for the PR! - Added localisation support to the typing indicator which was hardcoded english only previously. Thanks @longnh2k1 for raising the issue!
v1.6.12
- Remove
defaultBubbleMessage
from thebubbleBuilder
as it breaks compatibility. If you need this please use previous release, this is the only change here. Next should be v2.0.0 preview.