Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Sms Laravel Package

tzsk/sms

tzsk/sms is a Laravel package for sending SMS through multiple gateways via a unified, driver-based API. It supports queued messages, OTP/verification flows, bulk sending, and customizable templates, making SMS integration simple and flexible.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

The release notes describe a package that tracks the Laravel framework's own support matrix rather than shipping product features. That is a reasonable architecture posture for an ecosystem package: it stays aligned with framework conventions (service provider registration, config publishing, facade/contract patterns are implied but not evidenced here) and avoids drifting into unsupported combinations. The signal we can actually read is maintenance health — a maintainer who ships Laravel 13 and PHP 8.4/8.5 compatibility ahead of broad adoption is engaged, and the correct use of a major version bump for breaking platform changes indicates semver discipline. What we cannot assess from these notes is the package's internal architecture, public API surface, or extension points, because no API or behavioral changes are listed. Treat architecture fit as provisionally positive, unverified.

Integration feasibility

Technically trivial: a Composer constraint bump. The material effort is not package adoption but the platform upgrade it forces on every consumer. The breaking changes are entirely environmental floors — PHP ≥ 8.4 and Laravel ≥ 11 — not signature or behavior changes. That is the best kind of breaking change, because risk is concentrated in a runtime upgrade we may already need to do, and the package itself is unlikely to surprise us at runtime.

The constraint is severe in practice. PHP 8.4 as a minimum excludes 8.2 and 8.3, which remain widely deployed and are still receiving security support. Combined with a Laravel floor of 11, v10 is only installable on a fairly narrow slice of the fleet. Any application still on Laravel 10 or PHP 8.2/8.3 is hard-blocked, and will remain so until it completes a framework upgrade it may have been deferring.

Technical risk

  • Consumer lockout (high). v10 is unusable for a large share of otherwise healthy applications. If the maintainer simultaneously stops patching 9.x, those applications lose security fixes and bug fixes with no intermediate step. This is the single largest risk and it is a governance risk, not a code risk.
  • Transitive constraint collision (medium-high). In a mature Laravel app, PHP and framework floors are set by the slowest dependency. A package demanding PHP 8.4 will conflict with any co-dependency still capped below it, producing an unresolvable graph with no clean workaround short of replacing one of the packages.
  • Forward-looking targets (medium). Laravel 13 and PHP 8.5 support read as pre-GA targets. If the package is built and tested against release candidates, consumers on stable runtimes may hit untested paths. Needs verification before we plan around it.
  • Laravel 11's short runway (medium). Laravel 11 is the oldest line supported here, and its security window closes relatively soon. Supporting it nominally does not give us much calendar room — the practical migration destination is 12 or 13, which widens the real upgrade scope.
  • Tooling migration (low-medium). PHPUnit→Pest and Psalm→PHPStan/LaraStan are contributor-facing. Consumer risk is near zero unless the package publishes test scaffolding, phpunit.xml, or CI configs into host applications, or unless our teams extend the package's suite. Static analysis tightening can also surface previously-suppressed issues in any code we've written against internals.
  • Hidden breaking changes (unknown). A major bump that lists only environment floors is usually clean, but "Docs" under Fixed and no behavioral entries means we should diff the changelog and public surface rather than trust the summary.

Key questions

  1. Will a 9.x maintenance line continue to receive security and bug fixes, and for how long? What is the published EOL date?
  2. Is Laravel 13 support built against a stable release or a pre-release, and is PHP 8.5 CI-tested on stable?
  3. Are there any behavioral or API changes in v10 not captured in these notes? Can we get a full diff or UPGRADE guide?
  4. Does the package ship dev dependencies, test helpers, config stubs, or CI templates that would propagate the Pest/PHPStan migration into consumer repos?
  5. What PHPStan level and baseline does the package now enforce, and does it publish those rules for consumers?
  6. Are there new or changed ext-* requirements, and does the package now require a minimum Composer version?
  7. Is there a documented backward-compatibility policy for future majors, so we can plan upgrade cadence rather than react to it?

Integration Approach

Stack fit

Unknown and blocking. Before committing to v10 we need a fleet inventory: PHP version, Laravel version, and lockfile state per application, plus which of those apps are on managed runtimes or shared base images we don't fully control. The output of that inventory is a compatibility matrix; v10 adoption is a subset of it, not a separate track. Expect a bimodal split — recently upgraded apps can take v10 immediately, legacy apps cannot, and the gap will persist for at least one planning cycle.

Migration path

Run two lines in parallel rather than attempting a fleet-wide cutover:

  • v9 pinned on all applications below PHP 8.4 or Laravel 11. Pin explicitly and add a tracked exception with an owner and a target date.
  • v10 adopted on greenfield services and any application that has already cleared the platform floors — ideally bundled into the framework upgrade that was already scheduled, so we pay the runtime cost once.
  • Deprecation clock: publish an internal EOL date for v9 derived from the maintainer's answer to question 1, with a buffer. If no 9.x maintenance is confirmed, that clock starts immediately and the legacy cohort becomes a named risk, not a backlog item.

Where a transitive constraint blocks resolution, capture the specific conflict rather than downgrading the whole application — the fix is usually to advance one lagging co-dependency, and that work should be scoped and scheduled once, centrally, instead of rediscovered per app.

Compatibility

The realistic failure surface is dependency resolution, not runtime. Test resolution with composer why-not against representative applications before committing, and treat any conflict as a scheduling input. Pay particular attention to applications that pin Laravel to a specific minor, since the package's floor and the app's ceiling can meet with no valid version.

Sequencing

  1. Confirm Laravel 13 and PHP 8.5 GA status, and confirm the 9.x maintenance commitment (questions 1–2). Everything downstream depends on this.
  2. Complete the fleet version inventory and publish the compatibility matrix.
  3. Resolve the transitive blockers identified against representative applications.
  4. Update the shared CI matrix so all supported PHP/Laravel combinations are exercised — the matrix must include PHP 8.2/8.3 for v9 consumers alongside 8.4/8.5 for v10, or half the fleet goes untested.
  5. Pilot v10 on one non-critical service; measure actual effort against the estimate before planning the wider rollout.
  6. Only then schedule the legacy cohort's framework upgrade, with v9 EOL as the forcing function.

Operational Impact

Maintenance

Two supported dependency lines for a period, which is real overhead: two lockfiles to reason about, two CI permutations, and a growing chance that a bug report needs triage against a version we intend to abandon. Automation will get noisier — Renovate/Dependabot will raise v10 bumps against applications that cannot install them, and those PRs must be suppressed by rule rather than closed by hand each week, or the team will start ignoring dependency PRs generally. The contributor-side migration to Pest and PHPStan/LaraStan is a one-time cost for the maintainer but a recurring one for us if we carry patches or write tests against the package; static analysis tightening may also surface latent issues in code we've built on internals, which lands as unexpected engineering work.

Support

Support burden shifts from "how do I configure this" to "why won't Composer resolve" and "why can't we take this security patch." The second is the dangerous one, because it is invisible until audit. We need a runbook entry mapping application → package line → runtime version → upgrade owner, and first-line support should be able to answer version questions without escalating. If the package is load-bearing for a customer-facing path, the v9 EOL date belongs on the risk register, not in a wiki.

Scaling

Largely neutral. A runtime floor does not change capacity characteristics, and any performance delta from PHP 8.4/8.5 is likely modest and not a reason to migrate on its own. The scaling concern is organizational: a narrow supported matrix means fewer valid combinations, so the fleet becomes less uniform, not more. Uniformity is what makes capacity planning and incident response cheap.

Failure modes

  • Resolution deadlock — no valid version exists for an application; blocks all other dependency work until resolved.
  • Silent branch divergence — v9 and v10 drift behaviorally while only v10 receives fixes, producing production/repo mismatches that surface as unreproducible bugs.
  • Security patch starvation — the legacy cohort silently misses advisories because no compatible release exists. Highest-severity failure mode; needs active monitoring, not passive hope.
  • CI matrix blind spot — the pipeline stops testing the PHP versions most of the fleet actually runs, so regressions ship green.
  • Untested-target exposure — if Laravel 13 / PHP 8.5 support is pre-GA, a consumer adopts v10 on a stable runtime and hits a path the maintainer never exercised.
  • Automation fatigue — unactionable dependency PRs train the team to ignore the bot, which is how real advisories get missed later.

Ramp-up

Low for any developer who has done a Laravel major upgrade — the package-specific work is a constraint change and a smoke test. The expensive part is the platform upgrade itself, which is where estimates should concentrate; do not let a "minor dependency bump" framing set expectations. For teams that fork, patch, or test the package directly, add explicit time for the Pest and PHPStan/LaraStan migration and for triaging whatever the stricter analysis turns up. The documentation fixes are a small but genuine positive for onboarding, and are worth calling out to reassure stakeholders that the release is not purely a floor raise.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource