marqueer
A customizable Flutter marquee widget with multi-direction scrolling, user interactions, and programmatic control.
2.5.0
6.2K downloads/mo
#3556 most downloaded on pub.dev
GeceGibi/marqueer
What this package is like to depend on
Last release 3 months ago
14 May 2026
Release timing varies
gaps range from 3 weeks to 8 months
Most releases are documented
notes for 30 of 35 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
35 releases · first in 2022
10 releases in the last 12 months
see the full history below
Release timeline
35 releases · Nov 2022 to May 2026Releases
latest 35-
2.5.014 May 2026Release notes
Open source →Fixed
scrollablePointerIgnoringnot working after the first animation loop on recent Flutter versions
Replaced one-shot_searchIgnorePointercall with a cachedRenderIgnorePointerreference that is re-applied on every new scroll activity viaisScrollingNotifier
Tree traversal now runs only once thanks to caching, keeping performance unchanged
Removeddart:ioimport; platform detection now usesdefaultTargetPlatformso the package compiles cleanly on Flutter Web
Added async error handling forScrollController.animateToso unhandled future errors no longer crash the zone
didUpdateWidgetnow syncswidget.interactionto the internal field at runtime
didUpdateWidgetnow resets scroll offset and restarts the loop whendirectionchanges, preventing visual glitches caused by stale offsets on the new axis -
2.4.301 Feb 2026Release notes
Open source →Fixed children update issue by ensuring proxy delegate updates and resetting measured size on widget rebuilds \
-
2.4.230 Dec 2025Release notes
Open source →Fixed content update issue (e.g. text color changes) by disabling delegate caching when
intrinsicCrossAxisSizeis false \ -
2.4.129 Dec 2025Release notes
Open source →Fixed animation interruption when parent widget rebuilds via setState
Added delegate caching to prevent unnecessary recreation on parent rebuilds
AddedrecalculateIntrinsicSize()to controller for manual size recalculation
Animation now only restarts whenpps,direction, orinfinityparameters change -
2.4.028 Dec 2025Release notes
Open source →Added
intrinsicCrossAxisSizeparameter - Auto-sizes cross axis based on child widget, noSizedBoxwrapper needed
Addedoffsetgetter toMarqueerControllerfor reading current scroll position
AddedhasClientsguards torun(),stop(), andscrollListener()for safer lifecycle handling
Improved autoStart behavior withintrinsicCrossAxisSize- animation starts after measurement completes -
2.3.111 Dec 2025Release notes
Open source →Added
clipBehaviorparameter toMarqueerandMarqueer.builderconstructors for customizable clipping behavior -
2.3.009 Dec 2025Release notes
Open source →Added
MeasureSizewidget - A helper widget using RenderProxyBox to efficiently measure child widget sizes
Improved example with advanced dynamic height pattern using MeasureSize and Stack
Enhanced documentation with practical use cases for dynamic sizing -
2.2.208 Dec 2025Release notes
Open source →Fixed memory leak in scrollListener where listeners were added multiple times
Optimized _searchIgnorePointer performance by caching result
Added debug logging to animation error catch block
Removed unused viewportDimension variable
Improved code consistency in constructor parameters -
2.2.108 Dec 2025Release notes
Open source →Fixed
Cannot get renderObject of inactive elementerror by guarding access withmountedcheck
FixedScrollController not attached to any scroll viewserror during dispose lifecycle -
2.2.019 Nov 2025Release notes
Open source →Simplified and improved documentation across all classes and methods
Added_cancelAllTimers()helper method for cleaner timer management
Fixed memory leak in scroll listener by properly removing listeners in dispose
Improved code consistency and readability -
2.1.025 Jul 2025Release notes
Open source →Enhanced code documentation with comprehensive inline comments for all public APIs
Improved type safety by adding explicit type annotations
Fixed potential memory leak indidChangeMetricsmethod
Optimized timer management in stop() method
Enhanced platform detection logic for better cross-platform support
Updated pubspec.yaml description for better package discoverability -
2.0.127 Nov 2024 -
2.0.026 Nov 2024Release notes
Open source →Refactored and cleared code-base.
Added
edgeDuration
AddedinteractionsChangesAnimationDirection
Hiddenwebanddesktopscrollbar
RemovedMouseRegionfrom widget hierarchy -
1.5.022 Nov 2024Release notes
Open source →Added
hitTestBehaviorsupport
AddedscrollablePointerIgnoringfor handle touch at first time, fixed #15 #13 -
1.4.525 Jun 2024Release notes
Open source →Switched to very_good_analysis for lint added minor descriptions to code base
-
1.4.413 Dec 2023 -
1.4.311 Oct 2023Release notes
Open source →Added vertical direction support. #11 <br/>
note: don't forget child height when using marqueer on vertical.
enum MarqueerDirection { /// Right to Left rtl, /// Left to Right ltr, /// Top to Bottom ttb, /// Bottom to Top btt, } -
1.4.210 Oct 2023 -
1.4.115 Sep 2023 -
1.4.011 Apr 2023Release notes
Open source →Fixed issue 5.
Breaking change: updatedWidget? separatorargument toWidget separatorBuilder(BuildContext, int)method.
Addedpaddingargument. See README.md -
1.3.105 Mar 2023 -
1.3.007 Feb 2023 -
1.2.107 Feb 2023 -
1.2.018 Dec 2022Release notes
Open source →Improved desktop and web support.
p## 1.1.1 Added
autoStartAfterproperty toMarquuerwidget for auto start after specific duration -
1.1.126 Nov 2022Nothing published for this version
-
1.1.023 Nov 2022Release notes
Open source →Fixed wrong distance calculation with no-infinity widget. When
ScrollDirection.idle.
AddedisAnimatinggetter toMarqueerController.
MarqueerControllersplitted to own file.
Updated/example -
1.0.823 Nov 2022Nothing published for this version
-
1.0.723 Nov 2022Nothing published for this version
-
1.0.620 Nov 2022 -
1.0.518 Nov 2022 -
1.0.418 Nov 2022Nothing published for this version
-
1.0.318 Nov 2022Nothing published for this version
-
1.0.218 Nov 2022 -
1.0.117 Nov 2022 -
1.0.017 Nov 2022