exolnet/laravel-heartbeat
A lightweight heartbeat endpoint for Laravel apps, exposing a route that confirms your application and scheduler are alive so external monitors can alert you when cron jobs or queued work stop running.
Assessment update triggered by v1.15.0: This release is a compatibility-matrix change, not a feature release. It drops Laravel 11 / Testbench 9 support and updates the test matrix accordingly. For a TPM, this is a meaningful lifecycle signal: the package is narrowing its supported platform and should be treated as Laravel 12+ oriented unless composer constraints indicate otherwise.
Architecture fit: The package remains a standard Laravel package integration, likely low-coupling and appropriate for Laravel services that need a lightweight heartbeat/health signal. It fits monoliths, API services, and scheduled workers where a simple Laravel-native package is preferred over a broader observability platform. The release does not change the architectural model; it changes platform eligibility.
Integration feasibility: Feasible for teams already on the newly supported Laravel/Testbench line. Teams on Laravel 11 must either stay on v1.14.x or complete a Laravel upgrade before adopting v1.15.0. Integration should be validated through Composer constraints, route/config caching, and CI matrix updates rather than through application code changes alone.
Technical risk: The primary risk is version skew: an application on Laravel 11 that adopts v1.15.0 may fail dependency resolution or run outside the package’s tested matrix. Secondary risk is CI drift if internal pipelines still test Laravel 11 while the package no longer does. The release notes do not indicate runtime code changes, but the support-matrix change is still a breaking operational change for L11 consumers.
Key questions:
Stack fit: Best fit is a Laravel 12+ application on a currently supported PHP version. The package should be treated as a small operational dependency, not a core domain dependency. It is suitable where the team already standardizes on Composer, Laravel service providers, configuration publishing, and framework-native health checks.
Migration path: For Laravel 11 applications, pin to ^1.14 and defer v1.15.0 until the host application upgrades. For Laravel 12 applications, adopt v1.15.0 and validate the package in staging before production. Avoid broad floating constraints such as * if the application must remain on Laravel 11. Use an explicit Composer constraint that reflects the application’s Laravel version and upgrade window.
Compatibility: Confirm the package’s Composer require constraints, PHP version, Laravel version, and Testbench version. Update internal CI matrices to mirror the package’s supported matrix. Validate route registration, middleware interaction, config caching, and any monitor or scheduler integration used by the heartbeat endpoint.
Sequencing:
Maintenance: The package appears to be actively maintained, with v1.15.0 explicitly aligning tests to the supported framework matrix. That is healthy, but it also means the project is willing to drop old framework versions. Teams should track Laravel lifecycle alongside package releases.
Support: Laravel 11 consumers lose package support on v1.15.0 and must either remain on v1.14.x or upgrade Laravel. This creates a support-boundary issue: security or bug fixes after v1.15.0 may not be backported to L11-compatible releases. TPMs should confirm the maintainer’s backport policy before relying on v1.14.x long term.
Scaling: The heartbeat mechanism is likely low-overhead relative to application traffic, but monitor frequency and endpoint exposure should be sized. If the heartbeat touches the database, cache, queue, or external dependencies, those checks can become a scaling and false-alarm source. Keep the health check lightweight and separate liveness from deep dependency checks.
Failure modes: Main failure modes are dependency-resolution failure on Laravel 11, heartbeat route not registered or blocked by middleware, false negatives from monitor authentication, stale config/route caches after deployment, and over-broad health checks that report failure when a non-critical dependency is degraded. The release itself is unlikely to introduce runtime failure on supported versions, but untested version combinations increase operational risk.
Ramp-up: Ramp-up is low for Laravel teams because the package is framework-native. The main onboarding work is not learning the package but verifying the supported-version boundary, monitoring integration, and production alert thresholds. For teams on Laravel 11, ramp-up is effectively blocked until the framework upgrade or version pin is resolved.
How can I help you explore Laravel packages today?