Releases: eramhq/daynum
Releases · eramhq/daynum
Release list
v1.0.0-beta.1
[1.0.0-beta.1] — 2026-04-12
First tagged pre-release. The public API (Instant, views, formatting, parsing, arithmetic) is feature-complete; beta signals the package hasn't had real-world consumers yet — minor tweaks may land before stable 1.0.0.
Install
composer require eram/daynum:^1.0@betaHighlights
- Namespace rename —
Daynum\→Eram\Daynum\(aligns witheram/daynumComposer vendor) - Arabic locale (
ar,ar-sa) with Gregorian and Hijri month/weekday/meridiem strings from ICU 78.2 - New format tokens —
o(ISO week-based year),g/h(12-hour clock),W(ISO week number),S(ordinal suffix),z(day of year) - WeekDay enum —
startOfWeek(WeekDay::Saturday)/endOfWeek(WeekDay::Sunday) - Jalali hot-path perf — 33–49% faster on key benchmarks (memoized
jalCal, cached digit maps, eliminated redundanttoJdn) - PHPStan level 8 in CI
- Sealed exception hierarchy — all library exceptions implement
DaynumException; newInvalidArgumentException,InvalidTimezoneException,WeekAtBoundaryException - parseExact hardening — UTC offset range validation, negative offset bounds
- Escape-aware format guards —
\z,\W,\ono longer trigger boundary computations
Full changelog: CHANGELOG.md