asgoodasnu/version-bundle
asgoodasnu/version-bundle is a PHP package that adds flexible versioning support to your application, making it easy to define, manage, and expose version information through a simple, configurable integration.
/version and /health endpoints; "About" or release-notes surface in the product; release dashboard integration; automated smoke checks post-deploy; support tooling that reads the running version.Consider it (as a reference, not a dependency) if:
Look elsewhere (the default recommendation) if:
extra.laravel.providers. Requiring it buys nothing you can use. The Laravel-native equivalent is a config/version.php reading APP_VERSION, APP_COMMIT, APP_BUILT_AT env vars, plus a small VersionController returning flat JSON — roughly two files and an afternoon.mix/Vite content hashing and only need asset cache-busting. Different problem, already solved natively — do not conflate it with release-metadata versioning.Decision rule for the PM: if the target stack is Laravel, treat this as "build the pattern natively, ~1–2 days" and close the evaluation. Only reopen the "adopt" question if the stack is genuinely Symfony and the team accepts full ownership of an unmaintained bundle.
Executive summary: "This is a small Symfony bundle that centralises application version information — version number, commit hash, build time — so it can be surfaced consistently in an endpoint, a template, or a service, instead of being hardcoded in scattered places. It is unmaintained and has zero measurable adoption — no stars, no dependent projects. I do not recommend taking it as a production dependency, and it is not a Laravel package regardless. I recommend we treat the capability, not the code, as the decision: replicate the pattern natively in about one to two engineering days. That gives us a single source of truth for version metadata, a machine-readable /version endpoint for ops and support, and zero ongoing ownership cost. The bundle itself is useful only as a design reference."
To engineering: "The repo is a Symfony bundle, so there is nothing to install in Laravel. The pattern is portable and small: a version config sourced from build-time env vars, a controller exposing flat JSON with a short cache header, and — if we want it — a Blade helper or injected service for surfacing the version in the UI. The only real decisions are (1) where the version value comes from (build pipeline vs. git tag vs. a static file, and we should inject it at build time, not read it at runtime), and (2) whether the endpoint is public and cacheable (it should be). One afternoon, two files, no dependency. Read the bundle's Configuration.php and controller first if we want a sanity check on the payload shape — then close the tab."
Risk framing for the decision log: Adopting it means importing a second framework's conventions for one narrow feature, owning an orphaned codebase with no upstream security patches or framework bumps, and solving a problem the native port solves in a day. The total cost of ownership of adoption clearly exceeds the cost of a ~1–2 day native build. Recommended action: close the evaluation, build narrowly, and record the version-metadata pattern as an internal standard so future products get it consistently rather than re-deciding each time.
How can I help you explore Laravel packages today?