cmsmaxinc/filament-system-versions
Filament System Versions adds a convenient admin page for viewing PHP, Laravel, Filament, database, and Composer package versions at a glance. Quickly audit environments, troubleshoot support requests, and keep deployments in sync without leaving your Filament panel.
What it is (and isn't). cmsmaxinc/filament-system-versions is a thin presentation-layer add-on for Filament panels. It contributes dashboard widgets that render the running PHP/Laravel/Filament versions plus installed Composer dependency versions. It carries no domain logic, no persistence, no migrations, and no public API surface. That framing matters more than the score: this is a developer-convenience/observability widget, not infrastructure. Blast radius is small and reversible in minutes.
Architecture fit. Good fit for any Laravel application already running a Filament panel and wanting in-UI "what am I actually running?" visibility — useful for QA, staging, support triage, and on-call. Poor fit if you have no Filament panel (the dependency cost is disproportionate), or if your team already satisfies this need through your APM, health-check endpoint, Sentry release tags, or an existing php artisan about-style page. Before adopting, confirm this isn't duplicating a capability you already pay for.
Integration feasibility. Mechanically trivial: composer require, register the plugin in the target PanelProvider, optionally publish config/views. Realistic effort is well under a day including review. There is no data migration, no schema coupling, and no backfill.
Technical risk — the three things that actually matter:
composer show / composer outdated at request time, you inherit process-execution requirements, container PATH assumptions, and latency. If it parses composer.lock / vendor/composer/installed.json, it's safe but can go stale relative to the deployed artifact. Confirm which, and whether it fails closed.Broader risk signals. 14 stars and a single publisher (cmsmaxinc) mean weak adoption evidence and an unproven bus factor. The recent 2026-10-06 release is reassuring as a liveness signal but is one data point — check whether it tracks Filament major releases promptly, since Filament's own upgrade cadence is the most likely source of breakage. The overall score (~19.7/100) is consistent with a niche, low-visibility package; because the scope is deliberately narrow, that low score is a governance annoyance rather than a technical blocker, provided the exposure is gated.
Key questions to resolve before sign-off:
Stack fit. Laravel 10/11/12 + PHP 8.2+ + an existing Filament panel. Zero interaction with your domain model, queues, storage, or auth schema. The only meaningful coupling is to the Filament version, which is also the most volatile part of the stack.
Pre-adoption spike (half a day, timeboxed). Install on a throwaway branch against a copy of your real composer.lock and confirm: (a) the widget renders without error, (b) it works in your actual runtime image (not just local — this is where missing composer binaries and read-only filesystems surface), (c) measured page-load delta on the dashboard, (d) default authorization behaviour. If any of these fail, the fallback is a 30-line custom widget reading installed.json — which is a genuinely competitive alternative given the package's size.
Migration path. None required. No migrations, no data, no config contract to inherit. Rollback is composer remove plus reverting the PanelProvider diff. Treat it as a leaf dependency with no downstream consumers.
Compatibility guardrails.
Sequencing.
Definition of done. Widget visible to the intended role only; verified invisible (403/absent, not merely hidden) to everyone else; dashboard p95 unchanged within an agreed budget; documented rollback in the PR description.
Maintenance. Low steady-state cost: no runtime services, no scheduled jobs, no storage growth. Realistic effort is a version bump per Filament major plus occasional PHP-version hygiene. The non-obvious cost is governance — a 14-star, single-maintainer dependency still has to be tracked, CVE-monitored at the package level, and re-reviewed on each framework upgrade, and that bookkeeping can exceed the widget's value. Price that in honestly.
Support and ownership. Upstream support is effectively "best effort by one publisher." Assume no SLA and no guaranteed response to issues. Internal ownership must be assigned explicitly — ideally the platform/internal-tooling team that owns the Filament admin — with the understanding that if upstream stalls, the team forks or replaces it with an in-house widget. Because the surface is ~a few Blade views and a class, forking is cheap and should be the documented contingency rather than an escalation.
Scaling. Effectively free at any user count if version resolution is cached or static; without caching, cost scales with dashboard views × installed-package count. For a dashboard opened habitually and left on a wall display, uncached enumeration is a real and recurring tax. Cap it: cache with a TTL, or generate the payload at deploy time.
Failure modes and mitigations.
Ramp-up. Near-zero for any Laravel/Filament developer: one composer require, one provider line, one permission check. Documentation burden is a short README note covering the authorization gate, the data source, caching, and the rollback command. No training, no runbooks, no on-call impact.
Recommendation. Adopt conditionally, as a gated, non-production-first convenience widget — and only if the authorization gate is verified or added. Given the low adoption signal and the small surface area, the in-house alternative (a single widget reading vendor/composer/installed.json behind an existing policy) is a legitimate and arguably stronger choice for teams already wary of single-maintainer dependencies. Either way, do not let it become the authoritative answer to "what's deployed" — that belongs to your build metadata and release tagging.
How can I help you explore Laravel packages today?