NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3009 most downloaded on pub.dev
Library to calculate prayer times for muslims. Based on precise astronomical formula.
Last release 5 months ago
11 May 2026
Release timing varies
gaps range from 5 weeks to 2.0 years
Nearly every release is documented
notes for 14 of 14 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
14 releases · first in 2020
One column per quarter.
Dev dependency timezone updated to ^0.11.0 (Dart ^3.10.0 for package consumers running tests or examples that load tzdata).
timezone updated to ^0.11.0 (Dart ^3.10.0 for package consumers running tests or examples that load tzdata).package:timezone/data/latest_all.dart so zone names used in tests (e.g. Europe/Oslo, Asia/Kuala_Lumpur) remain available; latest.dart in timezone 0.11+ embeds a reduced zone set.latest_all vs latest, and that local development/tests need Dart 3.10+ with current dev dependencies.Configurable `Rounding` on CalculationParameters; `PolarCircleResolution` for extreme latitudes; `sunset` on PrayerTimes; `Shafaq` for Moonsighting Co
Rounding on CalculationParameters; PolarCircleResolution for extreme latitudes; sunset on PrayerTimes; Shafaq for Moonsighting Committee Isha (where applicable).displayName on Prayer and CalculationMethod; toString on PrayerTimes, SunnahTimes, and CalculationParameters.Madhab as an enhanced enum with shadowLength; shadowLength(Madhab) kept for compatibility.Coordinates; expanded tests; GitHub Actions CI; lints; changelog and README updates; pubspec metadata and .gitignore improvements.Coordinates instead of dynamic where appropriate); docs/TODO cleanup; dart formatting applied across sources.PrayerTimes.currentPrayer / PrayerTimes.nextPrayer — The time argument is now an optional named parameter ({DateTime? date}) defaulting to DateTime.now(). Replace positional calls such as currentPrayer(dateTime) with currentPrayer(date: dateTime) (and likewise for nextPrayer). This is a compile-time break for existing call sites.CalculationMethod and other public enums — Many new calculation methods were added. switch statements that are exhaustive over these enums must be updated to handle the new values or use a default branch.CalculationMethodParameters.singapore() now sets Rounding.up for minute rounding. Published times can differ by up to a minute at boundaries compared to earlier releases that always used implicit nearest-minute behavior for that preset.Coordinates — Assertions enforce latitude ∈ [−90, 90] and longitude ∈ [−180, 180]. Out-of-range values that previously propagated may fail in debug mode (asserts are omitted in some release builds depending on your compile flags).PolarCircleResolution — When set to anything other than unresolved, polar-day/night edge cases use the new resolution logic and may produce different times than before for extreme latitudes.Contributions in this release were driven largely by Mahmoud Hamdi (@mahmoodhamdi) via GitHub pull requests #17–#48 (stacked features, tests, docs, and tooling). Thank you for the extensive work on calculation methods, API polish, and quality improvements.
Calculation method changes (full credit to MoathCodes), typing fixes.
Explicit method, fajrAngle, ishaAngle parameters for CalculationParameters.
method, fajrAngle, ishaAngle parameters for CalculationParameters.coordinates, date, calculationParameters parameters for PrayerTimes.Calculation parameters bug fix.
Exposed highLatitudeRule, madhab, adjustments, methodAdjustments on CalculationParameters.
highLatitudeRule, madhab, adjustments, methodAdjustments on CalculationParameters.Bug fix for UmmAlQura and Qatar calculation methods.
nextPrayer() and currentPrayer() no longer return null before Fajr/after Isha.
nextPrayer() and currentPrayer() no longer return null before Fajr/after Isha.ishaBefore and fajrAfter prayer values.- Example added.
Day of year native DateTime implementation in DateUtils.
DateTime implementation in DateUtils.- Null safety migration.
- Minor import fix.
Timezone package moved to dev dependencies.
- Initial release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →