flutter_calendar_carousel
An accessible, theme-aware Flutter calendar with lazy month and week paging, controlled dates, and typed event builders.
3.0.0
21K downloads/mo
#2142 most downloaded on pub.dev
hyochan/flutter_calendar_carousel
What this package is like to depend on
Last release 14 days ago
09 Aug 2026
Release timing varies
gaps range from 2 weeks to 1.3 years
Rarely documented
notes for 2 of 100 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
100 releases · first in 2018
2 releases in the last 12 months
see the full history below
Release timeline
100 releases · Sep 2018 to Aug 2026Releases
latest 60 of 100-
3.0.009 Aug 2026Release notes
Open source →Breaking changes
- Redesign the public API around controlled
selectedDateandfocusedDate
values,onDateSelected,onDateLongPressed, andonPageChangedcallbacks. - Replace the 2.x boolean view selector with
CalendarCarousel.month,
CalendarCarousel.week, and the explicitCalendarViewenum. - Remove the package-owned event and marked-date models, adapter interfaces,
mutable event index, positional day builder, and their deep-import files.
Applications now provide their own model througheventsForDate. - Group header, weekday, layout, paging, theme, day-style, and marker options
into focused immutable configuration objects. Calendar size is now controlled
exclusively by parent constraints, and pages always snap. - Replace date lists and integer weekday indexes with
isDateEnabled, Flutter
Locale, and theCalendarWeekdayenum. The default range now spans 100
years before and after today.
Added and changed
- Unify month and week navigation on a lazy, date-only pager that handles every
first-day-of-week value, year boundaries, range updates, and runtime view
changes consistently. - Add named day, marker, date-style, header, and weekday builders with immutable
details objects and Material-theme-aware defaults. - Limit the built-in event marker to a configured number of visible dots plus
one bounded overflow label; custom marker builders run once per marked day. - Fix controlled selection updates, duplicate page-change callbacks, external
focus navigation, date-picker lifecycle and locale fallback, and day
semantics. - Make rapid header navigation, vertical paging, far date-picker jumps, narrow
and wide layouts, large text, RTL ordering, and event overflow badges
deterministic and regression-tested. - Preserve complete day grids under constrained heights and vertical page
previews, keep hit targets at full-cell size, expose read-only dates as
labels, and add customizable event-count semantics with selected-marker
contrast. - Keep week views complete when month-only outside-date filtering is enabled,
and derive today, selection, weekend, and month flags from each cell's date. - Replace date-dependent tests and the previous example with deterministic
month/week regression coverage and a concise Material 3 demo. - Refresh and commit the example lockfile during automated version bumps to prevent recurring release drift (#409).
- Provision pub.dev OIDC credentials in the publish workflow so tagged releases do not wait for interactive authentication (#403).
- Update the example to
intl0.20.3, current Android build tooling, iOS 13/UIScene, and Flutter Swift Package Manager integration. - Add regression coverage for disabled-date predicates and page navigation, and
build the Android example in CI. - Synchronize Codex and Claude repository workflows around shared issue, verification, commit, rebase, self-review, and five-minute PR review procedures.
- Document the autonomous maintenance runbooks, PR review loop, and deployment workflow expectations (#402).
Release notes
Open source →Breaking changes
- Redesign the public API around controlled
selectedDateandfocusedDatevalues,onDateSelected,onDateLongPressed, andonPageChangedcallbacks. - Replace the 2.x boolean view selector with
CalendarCarousel.month,CalendarCarousel.week, and the explicitCalendarViewenum. - Remove the package-owned event and marked-date models, adapter interfaces,
mutable event index, positional day builder, and their deep-import files.
Applications now provide their own model through
eventsForDate. - Group header, weekday, layout, paging, theme, day-style, and marker options into focused immutable configuration objects. Calendar size is now controlled exclusively by parent constraints, and pages always snap.
- Replace date lists and integer weekday indexes with
isDateEnabled, FlutterLocale, and theCalendarWeekdayenum. The default range now spans 100 years before and after today.
Added and changed
- Unify month and week navigation on a lazy, date-only pager that handles every first-day-of-week value, year boundaries, range updates, and runtime view changes consistently.
- Add named day, marker, date-style, header, and weekday builders with immutable details objects and Material-theme-aware defaults.
- Limit the built-in event marker to a configured number of visible dots plus one bounded overflow label; custom marker builders run once per marked day.
- Fix controlled selection updates, duplicate page-change callbacks, external focus navigation, date-picker lifecycle and locale fallback, and day semantics.
- Make rapid header navigation, vertical paging, far date-picker jumps, narrow and wide layouts, large text, RTL ordering, and event overflow badges deterministic and regression-tested.
- Preserve complete day grids under constrained heights and vertical page previews, keep hit targets at full-cell size, expose read-only dates as labels, and add customizable event-count semantics with selected-marker contrast.
- Keep week views complete when month-only outside-date filtering is enabled, and derive today, selection, weekend, and month flags from each cell's date.
- Replace date-dependent tests and the previous example with deterministic month/week regression coverage and a concise Material 3 demo.
- Refresh and commit the example lockfile during automated version bumps to prevent recurring release drift (#409).
- Provision pub.dev OIDC credentials in the publish workflow so tagged releases do not wait for interactive authentication (#403).
- Update the example to
intl0.20.3, current Android build tooling, iOS 13/UIScene, and Flutter Swift Package Manager integration. - Add regression coverage for disabled-date predicates and page navigation, and build the Android example in CI.
- Synchronize Codex and Claude repository workflows around shared issue, verification, commit, rebase, self-review, and five-minute PR review procedures.
- Document the autonomous maintenance runbooks, PR review loop, and deployment workflow expectations (#402).
- Redesign the public API around controlled
-
2.6.1108 Aug 2026 -
2.5.406 Jun 2025Nothing published for this version
-
2.5.319 Mar 2025Nothing published for this version
-
2.5.219 Mar 2025Nothing published for this version
-
2.5.119 Mar 2025Nothing published for this version
-
2.5.019 Mar 2025Nothing published for this version
-
2.4.409 Sep 2024Nothing published for this version
-
2.4.323 May 2024Nothing published for this version
-
2.4.226 Jan 2023Nothing published for this version
-
2.4.111 Nov 2022Nothing published for this version
-
2.4.012 Jul 2022Nothing published for this version
-
2.3.101 Jul 2022Nothing published for this version
-
2.3.028 Jun 2022Nothing published for this version
-
2.2.010 Jun 2022Nothing published for this version
-
2.1.014 Nov 2021Nothing published for this version
-
2.0.307 Aug 2021Nothing published for this version
-
2.0.229 Jul 2021Nothing published for this version
-
2.0.109 Apr 2021Nothing published for this version
-
2.0.017 Mar 2021Nothing published for this version
-
1.5.331 Jan 2021Nothing published for this version
-
1.5.218 Dec 2020Nothing published for this version
-
1.5.115 Oct 2020Nothing published for this version
-
1.5.012 Oct 2020Nothing published for this version
-
1.4.1215 Apr 2020Nothing published for this version
-
1.4.1121 Feb 2020Nothing published for this version
-
1.4.1005 Dec 2019Nothing published for this version
-
1.4.924 Nov 2019Nothing published for this version
-
1.4.817 Nov 2019Nothing published for this version
-
1.4.715 Nov 2019Nothing published for this version
-
1.4.607 Nov 2019Nothing published for this version
-
1.4.505 Nov 2019Nothing published for this version
-
1.4.403 Nov 2019Nothing published for this version
-
1.4.303 Nov 2019Nothing published for this version
-
1.4.217 Oct 2019Nothing published for this version
-
1.4.114 Oct 2019Nothing published for this version
-
1.4.012 Oct 2019Nothing published for this version
-
1.3.2912 Oct 2019Nothing published for this version
-
1.3.2824 Sep 2019Nothing published for this version
-
1.3.2718 Sep 2019Nothing published for this version
-
1.3.2617 Sep 2019Nothing published for this version
-
1.3.2516 Sep 2019Nothing published for this version
-
1.3.2415 Sep 2019Nothing published for this version
-
1.3.2314 Sep 2019Nothing published for this version
-
1.3.2214 Sep 2019Nothing published for this version
-
1.3.2113 Sep 2019Nothing published for this version
-
1.3.2013 Sep 2019Nothing published for this version
-
1.3.1912 Sep 2019Nothing published for this version
-
1.3.1821 Jun 2019Nothing published for this version
-
1.3.1720 May 2019Nothing published for this version
-
1.3.1618 Apr 2019Nothing published for this version
-
1.3.1501 Mar 2019Nothing published for this version
-
1.3.15+102 Mar 2019Nothing published for this version
-
1.3.15+202 Mar 2019Nothing published for this version
-
1.3.15+302 Mar 2019Nothing published for this version
-
1.3.15+410 Mar 2019Nothing published for this version
-
1.3.15+519 Mar 2019Nothing published for this version
-
1.3.15+621 Mar 2019Nothing published for this version
-
1.3.1401 Mar 2019Nothing published for this version
-
1.3.1323 Feb 2019Nothing published for this version