mirror of
https://github.com/acamarata/luxon-hijri.git
synced 2026-06-30 18:54:28 +00:00
Convert all LOCAL-noon Date anchors (new Date(y, m, d, 12)) to UTC-explicit
anchors (new Date(Date.UTC(y, m-1, d))) in test.mjs and test-cjs.cjs.
Add UAQ default-engine round-trip regression suite (5 cases).
Extend FCNA round-trips; update vitest header comment.
README: add "Day boundaries and time zones" section explaining the UTC-day
contract, the correct pattern for zone-aware Luxon DateTimes, and ISO-string
parsing behaviour. Quick Start examples updated to use Date.UTC.
CHANGELOG: document inherited UTC-day fix under [Unreleased].
Lock-step dependency: requires hijri-core fix (commit 3419378,
branch fix/utc-day-boundary). Both packages release together per ADR-013.
Verified: TZ={UTC,America/New_York,Pacific/Auckland} × {test.mjs,
test-cjs.cjs, test-crossval.mjs, vitest} — all pass (88+26+120+15 tests).
1.9 KiB
1.9 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Fixed
- Inherits hijri-core's UTC-day fix:
toHijriwith UTC-midnight Dates is now exact on all hosts (previously, LOCAL date components were read, causing off-by-one errors west of UTC and on UTC+13+). - Round-trips (
toGregorianthentoHijri) are now exact for both the UAQ (default) and FCNA engines. - Tests updated to use
new Date(Date.UTC(...))anchors throughout; UAQ engine round-trip regression suite added. Lock-step release with hijri-core fix (commit 3419378).
[3.0.1] - 2026-05-30
Fixed
- Improved type safety in
formatHijriDate: explicit return type annotation onreplacecallback and non-null assertions on array lookups with JSDoc justification comments. - Added in-code comment blocks to all source modules documenting purpose, inputs, outputs, constraints, and SPORT references.
[3.0.0] - 2026-05-28
Changed
- BREAKING:
luxonandhijri-coremoved fromdependenciestopeerDependencies. Consumers must now install both alongsideluxon-hijri. See the migration note below. - Peer range for
luxonwidened from^3.5.0to^3.0.0— any Luxon 3.x release is compatible.
Migration from v2.x
pnpm add luxon-hijri luxon hijri-core
# or
npm install luxon-hijri luxon hijri-core
Prior to v3.0.0, luxon and hijri-core were bundled as runtime dependencies. This caused Luxon to appear twice in bundled applications where it was already installed. v3.0.0 aligns with the peer-dependency pattern used by all other hijri wrapper packages (date-fns-hijri, dayjs-hijri-plus, moment-hijri-plus, temporal-hijri).
[2.1.0] - 2026-05-28
Added
- Initial release