ryangjchandler/filament-progress-column
Add a progress bar column to any Filament table. This package renders numeric values as customizable progress bars, with options for colors, heights, and labels, making percentages, completion rates, and capacity easy to visualize at a glance in your admin panel.
Architecture fit
ryangjchandler/filament-progress-column is a narrow, single-purpose Filament table column that renders a progress bar (typically a percentage or ratio) inside an admin list view. Architecturally it slots into the presentation layer of a Filament panel — it is instantiated inline in a resource's table() schema via ProgressColumn::make('field') and requires no service provider registration, config publishing, or panel plugin hook. For a TPM this is a low-coupling dependency: it adds no migrations, no queues, no scheduled work, and no public-facing surface. It only affects Filament admin UI.
Integration feasibility
Trivially feasible. composer require ryangjchandler/filament-progress-column plus a one-line schema change. v2.1.0 widens compatibility to Laravel 13 and Filament v5, which is the only substantive change in this release — both PRs are dependency/constraint PRs from first-time contributors. There are no new features, no deprecations, and no documented breaking changes. SemVer minor bump (2.0.0 → 2.1.0) is consistent with additive platform support.
Technical risk Low-to-moderate, and almost entirely ecosystem risk rather than code risk:
^2.0 if they also run newer Laravel/Filament — behavior should be identical, but the resolved dependency graph is not.Key questions
^5.0 stable or a beta/RC?Stack fit Fits any Laravel + Filament admin stack. The relevant question is not "does it fit" but "which version pair are we on." If we are on Filament v4 / Laravel 12, v2.1.0 is a no-op upgrade that only changes the solver's allowed range. If we are planning a Filament v5 migration, this package is now unblocked — that is the actual value of this release.
Migration path
laravel/framework and filament/filament.composer.json on the v2.1.0 tag to see the exact constraint ranges (do not rely on the changelog prose).composer update ryangjchandler/filament-progress-column --with-dependencies and inspect the lockfile diff.ProgressColumn.Compatibility
Backwards compatibility with v2.0.0 appears intact (minor bump, additive platform support). The risk is the reverse direction: verify whether the v2.1.0 constraints still permit the Filament major we run today. If the constraint was tightened to ^5.0 only, this is effectively a breaking change mislabelled as a minor and we must pin 2.0.* until we migrate Filament.
Sequencing Treat as a follower dependency, not a driver. Sequence: Filament major upgrade first (or in parallel), pin this package to whichever v2.x matches the target Filament major, then validate UI. Do not adopt v2.1.0 ahead of a Filament v5 decision — there is no independent benefit. If we stay on Filament v4/Laravel 12, defer or pin; there is nothing to gain and a small chance of constraint churn.
Maintenance Near-zero steady-state. No config, no storage, no background processes. The only recurring task is re-validating the package on each Filament major bump — which, given Filament's cadence, means roughly annual attention. Realistic ownership cost: a few hours per platform upgrade cycle.
Support
Community-only: GitHub issues, single maintainer, no vendor SLA, no commercial backing. Acceptable for a decorative UI column; not acceptable if progress rendering were load-bearing for an operational workflow (e.g. compliance dashboards). Escalation path if it breaks: vendor the class — it is small enough that forking a Column subclass with a Blade view is a half-day of work, which is the real mitigation for the bus-factor risk.
Scaling
Runtime cost is negligible — a Blade partial per visible row, rendered only for the paginated page. The scaling concern is data, not the package: if the progress value is derived from a relation, aggregate, or accessor, naive implementations invite N+1 queries across the table. Mitigate by computing the ratio in the query (subselect/withCount) or an eager-loaded attribute and passing a plain numeric to the column, rather than letting the column resolve a computed property per row.
Failure modes
composer update, which is loud and safe.Ramp-up
Under an hour for any developer already fluent in Filament schema/table APIs — it is a single make() call with familiar fluent modifiers. For developers new to Filament, budget the ramp-up against Filament itself, not this package. Documentation burden on our side is a single line in the internal component catalogue plus a note that the package's support ceiling tracks Filament majors.
Recommendation: Approve v2.1.0 as a low-risk, additive compatibility release. Do not schedule work for it in isolation — attach it to the Filament v5 / Laravel 13 upgrade epic, verify the actual constraint ranges in composer.json before merging, and add one list-page render smoke test so a future Filament major fails loudly instead of silently blanking a column.
How can I help you explore Laravel packages today?