mohamedsabil83/laravel-hijrian
mohamedsabil83/laravel-hijrian brings Hijri calendar support to Laravel. Convert Gregorian dates to Hijri and back, format and localize Islamic dates, and use convenient helpers to display Hijri dates throughout your Laravel applications.
Adopt when:
Look elsewhere when:
Adoption guidance:
toHijri(), toGregorian(), and formatting through an internal adapter with your own tests asserting known reference dates. That gives you a swap path if the package stalls or a convention mismatch appears, and it makes the calendar convention an explicit, reviewable product decision rather than an implicit library default.For executives. This is a small, low-cost open-source dependency that unlocks date handling for Gulf and broader MENA markets — the difference between a product that shows a user in Riyadh a date they recognize and one that doesn't. The v4.3.0 release is significant for one reason: it adds support for Laravel 12 and 13, which means this capability will not hold up our platform upgrade and we will not need to maintain a private fork. The release itself contains no new user-facing features and no breaking changes; the remainder is routine automated dependency upkeep. Risk profile is low but not zero — it is maintained by a single developer, so we will pin the version and isolate it behind a thin internal interface, which costs little and lets us replace it cleanly if needed.
For engineering. v4.3.0 is a compatibility and maintenance release. The substantive change is expanded framework support (Laravel 12/13) alongside a test-matrix bump (orchestra/testbench now on the 9.x line, with an intermediate step to ^8.22.1). Everything else is Dependabot churn on GitHub Actions and tooling: laravel-pint-action, dependabot/fetch-metadata, stefanzweifel/git-auto-commit-action, actions/checkout, and ramsey/composer-install. No source-level API changes, no deprecations, no migration steps are indicated by the notes — treat it as a safe minor bump, but verify against our CI since the framework-support widening is the only place behavior could differ. Recommended integration pattern: do not call the package directly from controllers, models, or Blade templates. Put it behind an application-level HijriDate service (or a Carbon-like decorator) with a small contract, and add regression tests pinned to known Gregorian/Hijri reference pairs — including at least one leap-year and one year-boundary case. That isolates the single-maintainer risk, makes the calendar convention we use an explicit decision on record, and means a future major version or an abandoned package is a one-file change rather than a codebase-wide refactor.
How can I help you explore Laravel packages today?