NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev
Drop-in chat scrolling widget for AI chat apps with correct reversed-list behavior, dynamic padding, and auto-scroll management.
Last release 6 months ago
26 Mar 2026
Too new to tell
only 1 release windows
Nearly every release is documented
notes for 12 of 13 stable releases
Nothing withdrawn
no release was ever pulled
6 months old
13 releases · first in 2026
One column per month.
Fix scroll-to-bottom button incorrectly showing when keyboard opens
hideScrollToBottomWhenKeyboardOpen parameter on BetterChatScrollView (default: true) — hides the button while the keyboard is visibleAnimate scroll to exchange on new user message — replaces instant jumpTo with smooth scrollTo
jumpTo with smooth scrollToscrollToExchangeDuration and scrollToExchangeCurve on ChatScrollControllerBouncingScrollPhysics — adaptive physics clamps overscroll during programmatic scrolls while preserving bounce for user scrollsNothing published for this version
Fix scrollToBottomThreshold not working for large values — button now correctly respects threshold when anchor item is off-screen
scrollToBottomThreshold not working for large values — button now correctly respects threshold when anchor item is off-screenanimateScroll requires > Duration.zero)showScrollToBottomButton toggle on BetterChatScrollView (default: true)scrollToBottomDuration, scrollToBottomCurve, showButtonDebounce, keyboardAdjustDuration, and autoFollowDeltaThreshold on ChatScrollControllerscrollToBottomFadeDuration and physics on BetterChatScrollView_buildItemMeasureSize widgetFix keyboard not pushing content up when viewing long messages in existing chats
Fix double-jump when onNewUserMessage() is called on initial mount (e.g. initState + postFrameCallback)
onNewUserMessage() is called on initial mount (e.g. initState + postFrameCallback)Fix first message not scrolling to top in empty chats when using async state managers (Riverpod, Bloc, etc.)
Add Android platform support to example app
Fix scroll-to-bottom threshold not working — anchor now 1px tall so ItemPositionsListener always reports it
ItemPositionsListener always reports itscrollToBottomWidget with scrollToBottomBuilder — builder receives the onPressed callbackFix race condition when onAIResponseStarted() fires before onNewUserMessage() — order-independent buffering
onAIResponseStarted() fires before onNewUserMessage() — order-independent bufferingexchangeCount reactive via exchangeCountNotifier (ValueNotifier) — works with Riverpod, Bloc, etc.scrollToBottomThreshold not being used — button now respects threshold before appearingautoFollowOnScrollToBottom parameter on ChatScrollController (default: true)scrollToBottomBuilder — custom button builder that receives the onPressed callbackscrollToBottomAlignment — position button left, center (default), or rightscrollToBottomBottomOffset — control distance from bottom edge (default: 8)scrollToBottom() is now async (returns Future<void>)Fix race condition when onAIResponseStarted() fires before onNewUserMessage()
onAIResponseStarted() fires before onNewUserMessage()exchangeCount reactive via exchangeCountNotifier (ValueNotifier)Fix layout jump when AI response completes or follow-up content loads
BetterChatScrollView widget with generic message type support
BetterChatScrollView widget with generic message type supportChatScrollController for managing scroll state during AI streamingYour coding agent can read these notes before it upgrades. Set up the MCP server →