flutter_ethiopian_date_picker 1.1.0 copy "flutter_ethiopian_date_picker: ^1.1.0" to clipboard
flutter_ethiopian_date_picker: ^1.1.0 copied to clipboard

A customizable Ethiopian (Ge'ez) calendar date picker widget for Flutter.

Changelog #

All notable changes to this project will be documented in this file.

The format follows Keep a Changelog, and this project adheres to Semantic Versioning.

1.1.0 - 2026-08-22 #

Added #

  • Calendar Events system (lib/src/) covering Orthodox, Islamic, national, international/UN, African, Beta Israel, cultural, and traditional events.
  • CalendarEvent, CalendarDateRule, and CalendarTranslation models supporting single-day, date-range, traditional, externally-determined, and multi-year events, with locale-keyed translations (English fallback).
  • CalendarSystem, DateRule, DateResolutionStatus, EventType, and EventCategory enums defining the event architecture.
  • Date calculators for Ethiopian, Gregorian, Ethiopian Orthodox/Alexandrian computus (Fasika and all Easter-relative feasts), Islamic (Hijri-based), and traditional calendar rules (traditionalSundayWindow, traditionalCalendar, multiYearCycle, externallyDetermined).
  • Orthodox fasting seasons (Great Lent, Nineveh, Advent, Filseta, Apostles', Gahad, weekly Wednesday/Friday fast) represented as date-range events.
  • Regional and traditional cultural events — Irreecha, Gada Ceremony, Fichee-Chambalaalla, Hamer Bull Jumping, Gamo Meskel — represented without fabricating dates for events that are community- or externally-determined.
  • CalendarService with getEventsForYear, getEventsForDate, getEventsForMonth, getUpcomingEvents, getEventsByType, getEventsByCategory, getPublicHolidays, getOrthodoxEvents, getIslamicEvents, getInternationalEvents, getNationalEvents, getCulturalEvents, getPilgrimages, and getFastingPeriods.
  • Localization of all canonical events across English, Amharic, Tigrinya, and Afaan Oromo, reusing the existing EthiopianLocale enum, with guaranteed fallback to English (never a blank name).
  • Multi-year test coverage (2025–2030) for fixed, Orthodox, Islamic, and traditional event dates, including Ethiopian leap year (Pagume 6) behavior, and dedicated tests confirming externally-determined events never receive a fabricated date.

Notes #

  • All additions are new public API surface under lib/src/, exported from flutter_ethiopian_date_picker.dart. No existing public API (showEthiopianDatePicker, EthiopianDate, theming, localization, form field integration) was changed or removed.
  • Ethiopian Orthodox Easter (Fasika) uses the Ethiopian Orthodox/Alexandrian computus specifically — not the Western/Gregorian Easter algorithm.
  • Islamic dates follow a single documented Hijri calculation convention; see README for the calculated/tabular-vs-local-moon-sighting caveat.

1.0.1 - 2026-07-24 #

Fixed #

  • Updated package metadata, fixed minor documentation typos, and aligned version references across the project.

1.0.0 - 2026-07-23 #

Added #

  • Added a complete example application demonstrating picker usage, theme switching, locale switching, range selection, and form integration.
  • Added a full README with installation, usage, API reference, a features list, and a screenshot gallery covering light/dark theme, default/custom picker theme, range selection, and Amharic/Afaan Oromo/Tigrinya locales.
  • Added GitHub Actions platform verification for Android, Web, Linux, Windows, macOS, and iOS.
  • Manually verified functionality on Linux desktop and Web, including a performance pass showing smooth month navigation.

Changed #

  • Renamed the package from ethiopian_date_picker to flutter_ethiopian_date_picker before the initial public release to avoid a naming collision with an existing package on pub.dev.

Fixed #

  • Removed a deprecated lint rule (avoid_returning_null_for_future) that was removed upstream in Dart 3.3.0 and caused flutter analyze to fail on current SDKs.
  • Corrected the README installation snippet and license section to match the published version and license file.

0.4.0 Internal milestone #

Added #

  • State management smoke tests confirming EthiopianCalendarView works correctly when driven externally by Provider, Riverpod, and Bloc, with no internal shared mutable state.
  • Golden test suite covering all theme and locale variants.
  • PLATFORM_SUPPORT.md manual verification script and support matrix.

Fixed #

  • RenderFlex overflow when laying out two calendar instances for the no-shared-state test; switched from vertical Column/Expanded to a horizontal Row layout.

0.3.0 Internal milestone #

Added #

  • Locale files for English, Amharic, Afaan Oromo, and Tigrinya with fallback-to-English behavior.
  • EthiopianDateFormField for Form/FormState integration, with validator and onSaved support.
  • Full keyboard navigation, semantic labels, ≥48px touch targets, and high-contrast/scalable-font support.

0.2.0 Internal milestone #

Added #

  • Slide/fade transitions on month change, ripple effect on day selection, dialog open/close animation.
  • EthiopianDateRange model and range selection interaction flow (tap start, tap end, re-tap to reset).

0.1.0 Internal milestone #

Added #

  • EthiopianDatePickerTheme with Material 3 defaults and full override support for colors, spacing, and typography.

0.0.1 Internal milestone #

Added #

  • EthiopianDate model with validation, comparisons, and JSON serialization.
  • Gregorian ⇄ Ethiopian conversion with leap year and Pagume handling, fuzz-tested across thousands of random dates.
  • Calendar grid widget and showEthiopianDatePicker() dialog.
  • Error handling: clamping to firstDate/lastDate, debug assertions for invalid config, safe locale fallback.
4
likes
160
points
229
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A customizable Ethiopian (Ge'ez) calendar date picker widget for Flutter.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, intl

More

Packages that depend on flutter_ethiopian_date_picker