Skip to content

Releases: eramhq/daynum

Release list

v1.0.0-beta.1

v1.0.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@navidkashani navidkashani released this 12 Apr 07:09

[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@beta

Highlights

  • Namespace renameDaynum\Eram\Daynum\ (aligns with eram/daynum Composer vendor)
  • Arabic locale (ar, ar-sa) with Gregorian and Hijri month/weekday/meridiem strings from ICU 78.2
  • New format tokenso (ISO week-based year), g/h (12-hour clock), W (ISO week number), S (ordinal suffix), z (day of year)
  • WeekDay enumstartOfWeek(WeekDay::Saturday) / endOfWeek(WeekDay::Sunday)
  • Jalali hot-path perf — 33–49% faster on key benchmarks (memoized jalCal, cached digit maps, eliminated redundant toJdn)
  • PHPStan level 8 in CI
  • Sealed exception hierarchy — all library exceptions implement DaynumException; new InvalidArgumentException, InvalidTimezoneException, WeekAtBoundaryException
  • parseExact hardening — UTC offset range validation, negative offset bounds
  • Escape-aware format guards\z, \W, \o no longer trigger boundary computations

Full changelog: CHANGELOG.md