sifex/sla-timer
Sifex SLA Timer helps Laravel apps manage service-level agreements with timers that track elapsed and remaining time, pause and resume as needed, and check for breaches. Attach timers to Eloquent models and query active, paused, or expired SLAs through a simple API.
illuminate ^11|^12|^13 aligns the dependency with currently supported Laravel and PHP releases, making adoption a low-friction decision on modern stacks and a forcing function for teams still on EOL runtimes.Consider adoption when:
now()->addHours() cannot express correctly.Look elsewhere when:
AgendaInterface::toPeriods() now returns start/end Carbon pairs instead of CarbonPeriod[]. Any direct consumer of that interface needs a migration.^2 → ^3) across the wider application. That transitive impact is usually larger than the package change itself.For executives: This is a small, focused dependency that makes our SLA commitments computable and auditable. It replaces bespoke date arithmetic — historically a source of disputed breach determinations — with a tested implementation. The v0.2.0 release materially de-risks it: two silent-failure bugs affecting overnight and end-of-window calculations are fixed, and a memory-exhaustion path in long-running calculations is resolved (a year-long SLA now computes in ~30ms instead of failing outright). That converts SLA reporting from a nightly batch concern into something we can run on demand. Cost of adoption is one dependency; cost of getting this wrong is contractual exposure.
For engineering: v0.2.0 is a quality release with one breaking change. The toPeriods() signature change from CarbonPeriod[] to start/end Carbon pairs eliminates per-period object construction on the hot path and is the source of the performance win; scope the migration to direct consumers of AgendaInterface. Dependency floors move to PHP ^8.3, Carbon ^3, and illuminate ^11|^12|^13 — verify the Carbon 3 upgrade across the wider codebase before scheduling. Positives: PHPStan level 8 clean (50 findings fixed, including a latent Weekly::addTimePeriods flattening bug), 28 new tests at 98.4% coverage, CI on PHP 8.3–8.5 with first-party actions. Recommended path: adopt behind our scheduling abstraction, pin the version, and budget a short spike to confirm the Carbon 3 and toPeriods() impact before committing to a rollout.
How can I help you explore Laravel packages today?