Skip to content

docs: follow libmuslim 2026.08.22, and fix the Dart package name - #36

Merged
rizukirr merged 2 commits into
mainfrom
docs/follow-libmuslim-2026-08-22
Aug 23, 2026
Merged

docs: follow libmuslim 2026.08.22, and fix the Dart package name#36
rizukirr merged 2 commits into
mainfrom
docs/follow-libmuslim-2026-08-22

Conversation

@rizukirr

Copy link
Copy Markdown
Member

Follows 2026.08.21 and 2026.08.22. The site last followed 2026.08.20.

Every claim below was checked by running the libraries, not by reading the pages.

The Dart pages did not build as written

This is the one that matters most, and it is not release drift. The package was renamed on 2026-08-20 and published to pub.dev the same day.

pub.dev name          libmuslim         (published 0.1.0 on 2026-08-20)
repository name       libmuslim-dart
docs said             libmuslim_dart    (both the dependency and every import)

The install section also said "The package is not yet published on pub.dev. Depend on it by Git". A reader following either page got a package that does not exist. All 13 occurrences are fixed, dart pub add libmuslim replaces the Git dependency, and the two pages now say plainly that the pub.dev name and the repository name are different strings.

The minimum SDK is ^3.12.2, so the pages now say 3.12.2 rather than 3.12.

A status that callers switch on stopped being reserved

hijri.h v0.1.1 fixed libmuslim#82. Both set finders used to classify a failed search from one extra sample, which works for the Sun and does not work for the Moon, whose day is 24h 50m.

The C Hijri reference said HIJRI_EVENT_NOT_FOUND comes from the conjunction finders and from non-finite input. hijri_find_moonset now returns it too, for roughly one evening in thirty at every latitude, Jakarta and Mecca included. A 24 hour window holding no moonset is not a circumpolar Moon. The page would have led a caller to treat a normal result as impossible, so it now carries a caution saying to add that arm before upgrading.

Download pins

2026.08.20 becomes 2026.08.22, and the tag-versus-header note now reads prayertimes.h v0.2.3, hijri.h v0.1.1 and timezone.h v0.1.1, with the 2026.08.21 tag named as the one that still carried hijri.h at v0.1.0.

A supported range section for the Hijri pages

hijri.h gained a measured range statement in 2026.08.21 and 2026.08.22, closing the second half of libmuslim#27. None of it was on the site. The overview now carries the dates, the geography, and the part that is easy to get wrong: the limit is availability, not accuracy.

The 3.4 percent of evenings at the equator with no verdict is not a latitude effect at all, it is the Moon's period, and saying so is the difference between a reader trusting the number and a reader filing a bug.

One Dart claim that was wrong before this release too

The quick start said Tromso on 21 December under Kemenag "loses only Maghrib". Run against the package:

2026-06-21 kemenag: [Prayer.fajr, Prayer.maghrib, Prayer.isha]
2026-12-21 kemenag: [Prayer.asr, Prayer.maghrib]

Asr is unavailable as well, because the Sun does not rise, so there is no sunset for Maghrib and nothing casts a shadow for Asr. The same call against the 2026.08.20 asset gives the same answer, so this was a documentation error rather than something a release changed.

Checked and deliberately left alone

The MWL Fajr of 00:24 in the same section is correct and was not touched. The Dart API returns UTC instants, so 02:24 local at UTC+2 is what the C library returns and 00:24 is what the reader sees.

The Longyearbyen "four days a year" claim holds exactly: 2026-02-16, 02-17, 10-25 and 10-26 are the days where Asr alone is non-finite under MWL.

The Rust pages needed nothing. The crate is libmuslim-rs, the library is libmuslim, and the MSRV is 1.85, all still true.

Remaining v0.2.0 and v0.2.1 mentions elsewhere are historical statements about when something changed. They are still accurate and rewriting them would make them wrong.

Verification

npm run typecheck    pass
npm run build        SUCCESS

AI usage

Written with Claude Code. Every number on the changed pages was produced by compiling the current headers and running the Dart package, and the release-drift claims were diffed against the published 2026.08.20 asset rather than trusted.

The site last followed 2026.08.20. Two releases have landed since, and one of
them changed a status a caller has to switch on.

Download pins move to 2026.08.22, and the tag-versus-header note now reads
prayertimes.h v0.2.3, hijri.h v0.1.1 and timezone.h v0.1.1.

HIJRI_EVENT_NOT_FOUND is no longer reserved. Since hijri.h v0.1.1 the moonset
finder returns it for roughly one evening in thirty at every latitude, because
it scans 24 hours and the Moon sets once per 24h 50m. The page said the status
came only from the conjunction finders and from non-finite input, which would
lead a caller to treat a normal result as impossible.

The Hijri overview gains a supported range section. hijri.h now carries a
measured contract rather than a description of whatever the tests covered, and
none of it was on the site: validated 1900 to 2100, the Umm al-Qura table
window, why the real limit is the margin rather than the date, and the latitude
table where the verdict rate is flat to 60 and then collapses.

The Dart package is named libmuslim on pub.dev, not libmuslim_dart, and it has
been published since 2026-08-20. Every import line, the pubspec block and the
"not yet published" sentence were wrong, so nothing on those pages built as
written. The minimum SDK is 3.12.2 rather than 3.12.

One Dart claim was wrong before this release too. Tromso on 21 December under
Kemenag loses Asr as well as Maghrib, since the Sun does not rise, so there is
no sunset and nothing casts a shadow. Verified by running the package:
[Prayer.asr, Prayer.maghrib].
@vercel

vercel Bot commented Aug 23, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
muslimtify Ready Ready Preview Aug 23, 2026 1:39pm

@rizukirr
rizukirr merged commit ade4625 into main Aug 23, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

hijri_find_moonset reports NEVER_RISES for a Moon that rises, from a single-sample fallback

1 participant