NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #418 most downloaded on pub.dev
A carousel slider widget, support infinite scroll and custom child widget.
Last release 8 months ago
05 Feb 2026
Release timing varies
gaps range from 2 weeks to 1.7 years
Nearly every release is documented
notes for 31 of 34 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
35 releases · first in 2018
chore: bump version to 5.1.2
chore: bump version to 5.1.2
- [Fix] Fix lint issue
One column per quarter.
[Fix] Fix RangeError (length): Invalid value: Valid value range is empty: 0
[FIX] Rename CarouselController to CarouselSliderController
[FIX] temporary remove PointerDeviceKind.trackpad
PointerDeviceKind.trackpad'double?' type[Add] CenterPageEnlargeStrategy.zoom option
[Add] enlargeFactor option
[Add] CenterPageEnlargeStrategy.zoom option
[Add] animateToClosest option
[FIX] clear timer if widget was unmounted
[FIX] scroll carousel using touchpad
- Fix code formatting
Exposed clipBehavior in CarouselOptions
clipBehavior in CarouselOptionspadEnds in CarouselOptionscopyWith method to CarouselOptionsSupport null safety (Null safety isn't a breaking change and is Backward compatible meaning you can use it with non-null safe code too)
Nothing published for this version
Add third argument in itemBuilder, allow Hero and infinite scroll to coexist
itemBuilder, allow Hero and infinite scroll to coexistitemBuilder needs to accept three arguments, instead of two.Rollback PR #222, due to it will break the existing project.
- Fix code formatting
Double pointer down and up will cause a exception
CarouselPageChangedReason- Fix code formatting
Fixed unresponsiveness to state changes
pageSnapping option for disable page snapping for the carouselFixed carousel_options.dart and carousel_controller not being exported by default.
carousel_options.dart and carousel_controller not being exported by default.This option controls whether the carousel slider item should be wrapped in a Center widget or not.
disableCenter optionThis option controls whether the carousel slider item should be wrapped in a Center widget or not.
enlargeStrategy optionThis option allow user to set which enlarge strategy to enlarge the center slide. Use CenterPageEnlargeStrategy.height if you want to improve the performance.
CarousePageChangedReason.manual never being emittedThis option controls whether the carousel slider should pause the auto play function when user is touching the slider
pauseAutoPlayOnTouch optionThis option controls whether the carousel slider should pause the auto play function when user is touching the slider
pauseAutoPlayOnManualNavigate optionThis option controls whether the carousel slider should pause the auto play function when user is calling controller's method.
pauseAutoPlayInFiniteScroll optionThis option decide the carousel should go to the first item when it reach the last item or not.
pageViewKey optionThis option is useful when you want to keep the pageview's position when it was recreated.
CarouselPageChangedReason bugTransform.scale instead of SizedBox to wrap the slider itemInstead of passing all the options to the CarouselSlider, now you'll need to pass these option to CarouselOptions:
Instead of passing all the options to the CarouselSlider, now you'll need to pass these option to CarouselOptions:
CarouselSlider(
CarouselOptions(height: 400.0),
items: [1,2,3,4,5].map((i) {
return Builder(
builder: (BuildContext context) {
return Container(
width: MediaQuery.of(context).size.width,
margin: EdgeInsets.symmetric(horizontal: 5.0),
decoration: BoxDecoration(
color: Colors.amber
),
child: Text('text $i', style: TextStyle(fontSize: 16.0),)
);
},
);
}).toList(),
)
CarouselControllerSince v2.0.0, carousel_slider plugin provides a way to pass your own CaourselController, and you can use CaouselController instance to manually control the carousel's position. For a more detailed example please refer to example project.
CarouselPageChangedReasonNow you can receive a CarouselPageChangedReason in onPageChanged callback.
pauseAutoPlayOnTouchpauseAutoPlayOnTouch option is removed, because it doesn't fix the problem we have. Currently, when we enable the autoPlay feature, we can not stop sliding when the user interact with the carousel. This is a flutter's issue.
Fix animateTo()/jumpTo() with non-zero initialPage
animateTo()/jumpTo() with non-zero initialPageFix setState() called after dispose() bug
setState() called after dispose() bug## Add - Scroll physics option ## Fix - onPage indexing bug
Remove the deprecated param: interval, autoPlayDuration, distortion, updateCallback. Please use the new param.
interval, autoPlayDuration, distortion, updateCallback. Please use the new param.enlargeCenterPage option is not working in vertical carousel slider.## Add - Vertical scroll support - Enable/disable infinite scroll
Added pauseAutoPlayOnTouch option
pauseAutoPlayOnTouch option## Add - Update doc
## Add - Added distortion option
distortion optionNothing published for this version
## Fix - Fix hard coded number
Fix initialPage bug, fix crash when widget is disposed.
initialPage bug, fix crash when widget is disposed.Nothing published for this version
Nothing published for this version
Remove useless dependencies, add changelog.
Remove useless dependencies, add changelog.
Initial version.
Initial version.
Your coding agent can read these notes before it upgrades. Set up the MCP server →