pray-calc-ml/CHANGELOG.md
Aric Camarata bbe1bf5cbc v1.0.0 — initial release
Weighted least-squares calibration of Islamic prayer time depression
angles from observed mosque announcement data. Uses golden-section
search to minimize the sum of squared residuals independently for
Fajr and Isha. Internal Jean Meeus solar ephemeris — zero runtime
dependencies.

API: calibrateAngles, scoreAngles, predictFajr, predictIsha.
Full TypeScript, dual CJS/ESM via tsup.
32 ESM tests, 6 CJS tests, all passing on Node 20/22/24.
2026-02-25 18:48:07 -05:00

889 B

Changelog

All notable changes to this project are documented here. Format follows Keep a Changelog.

[1.0.0] - 2026-02-25

Added

  • calibrateAngles() — fit optimal Fajr/Isha depression angles to observed mosque announcement data via weighted least-squares (golden-section search)
  • scoreAngles() — evaluate fixed depression angles against observations, returning RMS error and signed bias per prayer
  • predictFajr() / predictIsha() — predict prayer times from a depression angle using an internal Jean Meeus solar ephemeris (no pray-calc dependency at runtime)
  • Full TypeScript source with strict mode and dual CJS/ESM build via tsup
  • CalibrationOptions for solver bounds and convergence control
  • Graceful handling of Fajr-only or Isha-only datasets
  • 32-test ESM suite and 6-test CJS suite
  • CI matrix: Node 20, 22, 24