hooman-mirghasemi/laravel-iran-sms
Laravel package for integrating Iranian SMS providers into your application. It offers a simple, unified API for sending messages, configurable gateways, and easy setup so you can add SMS notifications, OTP codes, and transactional messaging to Laravel apps.
ghasedak Composer SDK and implements the Ghasedak APIs directly inside the package. That means one fewer third-party dependency to audit, version-lock, or chase when the vendor changes its SDK — a meaningful supply-chain simplification for a component that sits in the critical path of OTPs, transactional notifications, and customer messaging.Adopt when:
ghasedak Composer dependency is a genuine plus for security review and long-term maintenance.Look elsewhere when:
To executives: This is a small, focused Laravel integration for Ghasedak SMS, the kind of plumbing that lets us ship OTP, transactional, and notification features without bespoke infrastructure work. The 1.4.2 release is a maintenance-quality improvement: it removes a third-party dependency and inlines the vendor APIs, which reduces our dependency surface and simplifies security review. It does not change the product surface area, but it does mean we should assign clear ownership of the integration and pin the version in composer.json. Recommended position: adopt for SMS features, keep usage behind a thin internal service so we retain optionality on providers.
To engineering: 1.4.2 is a low-risk, non-breaking release — no API changes for consumers, just the removal of the ghasedak Composer package and a direct reimplementation of Ghasedak’s endpoints. Upside: fewer transitive dependencies, fewer version conflicts, and no lag waiting on the upstream SDK. Downside: we now rely on this package’s authors to keep pace with Ghasedak API changes, so treat it as a maintained dependency — pin the version, watch releases, and cover the critical OTP path with an integration test that hits a sandbox or mock. If you’re abstracting notifications, wrap the facade behind an interface so a second provider can be swapped in without touching domain code.
How can I help you explore Laravel packages today?