encodia/laravel-health-env-vars
A Laravel health check that verifies your environment variables are present and correctly set, catching missing or malformed config before it reaches production. Plugs into spatie/laravel-health and surfaces problems on your health dashboard so deployments fail fast and loudly.
Version 1.11.0 is a compatibility release, not a feature release. The only changes are added support for Laravel 13 and PHP 8.5. There are no new APIs, no deprecations, and no breaking changes. Practically, this means:
First steps for a developer picking this up:
composer require the package at ^1.11 and confirm composer why-not doesn't complain about your Laravel/PHP version.php artisan vendor:publish) before writing any code; the defaults are usually production-sane but the tunables are where most day-to-day behaviour lives.First use case: wire it into a single feature or command behind a config flag, verify it under your test suite, then broaden usage. Don't adopt it app-wide on the same commit you bump the framework version — you'll have no way to tell which change broke what.
Pin the compatibility matrix deliberately. Because 1.11.0 is purely additive compatibility, the useful pattern is to treat it as the floor of your constraint, not the ceiling:
"require": {
"php": "^8.2",
"laravel/framework": "^11.0|^12.0|^13.0",
"vendor/package": "^1.11"
}
If you support multiple Laravel majors in a shared library, mirror the package's own approach: widen constraints, keep testing each lane in CI rather than assuming forward compatibility.
Upgrade sequencing. When moving an app to Laravel 13 or PHP 8.5, bump this package first in isolation, run the suite, then bump the framework. Two-variable upgrades are the most common source of "which change caused this" debugging sessions.
CI matrix as the integration tip. If you maintain anything downstream, add a Laravel 13 / PHP 8.5 lane now rather than waiting for a user report. The package author has signalled the combination is supported; you're responsible for confirming your own code paths (custom bindings, overridden config, decorated services) behave under it.
Isolation for testing. Resolve the package through the container rather than instantiating directly. That keeps you able to bind a fake in tests and lets you survive constructor signature changes across majors — of which 1.11.0 has none, but future minors might.
Config-driven rollout. Gate adoption behind an environment-driven config value so a feature can be turned off in production without a redeploy if the new framework/runtime combination surfaces something the package's test suite didn't cover.
composer update drag your framework forward via transitive constraints — check composer update --dry-run output for unexpected framework bumps.^12, installing ^1.11 is fine, but you won't be able to move to 13 until every package in the graph has widened. Use composer why-not laravel/framework ^13.0 to find the blockers rather than guessing.composer.lock so CI and production resolve identically. A compatibility bump that passes locally but resolves differently in CI is almost always a lock-file drift issue.How can I help you explore Laravel packages today?