carousel_slider
A carousel slider widget, support infinite scroll and custom child widget.
5.1.2
1000K downloads/mo
#41 most downloaded on pub.dev
serenader2014/flutter_carousel_slider
What this package is like to depend on
Last release 6 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
1 release in the last 12 months
see the full history below
Release timeline
35 releases · Apr 2018 to Feb 2026Releases
latest 35-
5.1.205 Feb 2026Release notes
Open source →- [Fix] Fix memory leak by properly disposing PageController (#493)
- [Fix] Prevent crash when calling animateToPage/jumpToPage before PageController is ready (#491)
-
5.1.107 Jun 2025 -
5.1.007 Jun 2025Release notes
Open source →- [Feat] Support Apple Pencil
- [Fix] Fix RangeError (length): Invalid value: Valid value range is empty: 0
-
5.0.009 Aug 2024 -
4.2.113 Dec 2022Release notes
Open source →- [FIX] temporary remove
PointerDeviceKind.trackpad - [FIX] fix
'double?'type
- [FIX] temporary remove
-
4.2.009 Dec 2022Release notes
Open source →-
[Add]
enlargeFactoroption -
[Add]
CenterPageEnlargeStrategy.zoomoption -
[Add]
animateToClosestoption -
[FIX] clear timer if widget was unmounted
-
[FIX] scroll carousel using touchpad
-
-
4.1.123 Apr 2022 -
4.1.023 Apr 2022Release notes
Open source →Add
- Exposed
clipBehaviorinCarouselOptions - Exposed
padEndsinCarouselOptions - Add
copyWithmethod toCarouselOptions
Fix
- [FIX] Can't swipe on web with Flutter 2.5
- Exposed
-
4.0.019 Jun 2021Release notes
Open source →- Support null safety (Null safety isn't a breaking change and is Backward compatible meaning you can use it with non-null safe code too)
- Update example code to null safety and add Dark theme support and controller support to indicators in on of the examples and also fix overflow errors.
-
4.0.0-nullsafety.030 Jan 2021 pre-releaseNothing published for this version
-
3.0.030 Jan 2021Release notes
Open source →Add
- Add third argument in
itemBuilder, allow Hero and infinite scroll to coexist
Breaking change
itemBuilderneeds to accept three arguments, instead of two.
- Add third argument in
-
2.3.430 Jan 2021 -
2.3.330 Jan 2021 -
2.3.230 Jan 2021Release notes
Open source →Fix
- Double pointer down and up will cause a exception
- Fix
CarouselPageChangedReason
Add
- Allow Hero and infinite scroll to coexist
-
2.3.126 Sep 2020 -
2.3.026 Sep 2020Release notes
Open source →Fix
- Fixed unresponsiveness to state changes
Add
- Added start/stop autoplay functionality
- Pause auto play if not current route
- Add
pageSnappingoption for disable page snapping for the carousel
-
2.2.122 Jun 2020Release notes
Open source →Fix
- Fixed
carousel_options.dartandcarousel_controllernot being exported by default.
- Fixed
-
2.2.021 Jun 2020Release notes
Open source →Add
disableCenteroption
This option controls whether the carousel slider item should be wrapped in a
Centerwidget or not.enlargeStrategyoption
This option allow user to set which enlarge strategy to enlarge the center slide. Use
CenterPageEnlargeStrategy.heightif you want to improve the performance.Fix
- Fixed
CarousePageChangedReason.manualnever being emitted
-
2.1.003 May 2020Release notes
Open source →Add
pauseAutoPlayOnTouchoption
This option controls whether the carousel slider should pause the auto play function when user is touching the slider
pauseAutoPlayOnManualNavigateoption
This option controls whether the carousel slider should pause the auto play function when user is calling controller's method.
pauseAutoPlayInFiniteScrolloption
This option decide the carousel should go to the first item when it reach the last item or not.
pageViewKeyoption
This option is useful when you want to keep the pageview's position when it was recreated.
Fix
- Fix
CarouselPageChangedReasonbug
Other updates
- Use
Transform.scaleinstead ofSizedBoxto wrap the slider item
-
2.0.016 Apr 2020Release notes
Open source →Breaking change
Instead of passing all the options to the
CarouselSlider, now you'll need to pass these option toCarouselOptions: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(), )Add
CarouselController
Since
v2.0.0,carousel_sliderplugin provides a way to pass your ownCaourselController, and you can useCaouselControllerinstance to manually control the carousel's position. For a more detailed example please refer to example project.CarouselPageChangedReason
Now you can receive a
CarouselPageChangedReasoninonPageChangedcallback.Remove
pauseAutoPlayOnTouch
pauseAutoPlayOnTouchoption is removed, because it doesn't fix the problem we have. Currently, when we enable theautoPlayfeature, we can not stop sliding when the user interact with the carousel. This is a flutter's issue. -
1.4.110 Jan 2020 -
1.4.030 Dec 2019Release notes
Open source →Add
- Add on-demand item feature
Fix
- Fix
setState() called after dispose()bug
-
1.3.105 Sep 2019 -
1.3.019 Mar 2019Release notes
Open source →Deprecation
- Remove the deprecated param:
interval,autoPlayDuration,distortion,updateCallback. Please use the new param.
Fix
- Fix
enlargeCenterPageoption is not working inverticalcarousel slider.
- Remove the deprecated param:
-
1.2.019 Mar 2019 -
1.1.020 Feb 2019 -
1.0.106 Dec 2018 -
1.0.006 Dec 2018 -
0.0.729 Aug 2018Nothing published for this version
-
0.0.608 Jul 2018 -
0.0.503 Jul 2018 -
0.0.408 May 2018Nothing published for this version
-
0.0.308 May 2018Nothing published for this version
-
0.0.217 Apr 2018 -
0.0.117 Apr 2018