Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Progress Column Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

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:

  • Unverified compatibility breadth. The release notes state Laravel 13 and Filament v5 support but do not show the CI matrix. We cannot confirm from the changelog alone whether tests actually execute against L13/v5 or whether the constraints were simply widened. A widened constraint without a green matrix is the classic source of "installs fine, renders wrong" failures.
  • Filament v5 maturity. Supporting a new major of Filament means inheriting whatever Column/View API churn that major carries. If v5 is pre-stable or recently stable, this package's v5 path is correspondingly unproven.
  • Maintenance concentration. Two first-time contributors landing both PRs suggests the maintainer is not deeply active on this repo; bus factor is effectively one.
  • Minor-version surprise. A minor bump that widens major platform constraints can silently change resolution for existing projects on ^2.0 if they also run newer Laravel/Filament — behavior should be identical, but the resolved dependency graph is not.

Key questions

  1. Does the repo's CI run a Laravel 13 × Filament v5 matrix, or was the constraint widened without coverage?
  2. Is Filament v5 GA, and does the package's composer constraint target ^5.0 stable or a beta/RC?
  3. What is the minimum PHP version introduced by L13/F5 support, and does that raise our runtime floor?
  4. Does v2.1.0 retain support for Filament v3/v4 and Laravel 10–12, or did the constraint bump drop older majors?
  5. Are there rendering or Tailwind/CSS changes required for v5 (asset pipeline changes in Filament majors are common)?
  6. Is there a tagged changelog entry / upgrade note, or only the auto-generated GitHub compare link?

Integration Approach

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

  1. Confirm current pinned versions of laravel/framework and filament/filament.
  2. Read the package's composer.json on the v2.1.0 tag to see the exact constraint ranges (do not rely on the changelog prose).
  3. In a branch, composer update ryangjchandler/filament-progress-column --with-dependencies and inspect the lockfile diff.
  4. Run the app's test suite; add a smoke test that loads each resource list page containing a ProgressColumn.
  5. Visually diff one or two affected tables in a browser — progress-bar rendering is CSS-dependent and won't be caught by assertions.

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.

Operational Impact

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

  • Silent blank column — view/asset mismatch after a Filament major bump; renders an empty cell with no error. Detect with a list-page smoke test.
  • Dependency resolution failure — constraint incompatibility surfaces at composer update, which is loud and safe.
  • Styling regression — Filament v5 Tailwind/asset changes can leave the bar unstyled but functional; only caught visually.
  • Abandonment — no releases tracking a future Filament major; column breaks on upgrade with no upstream fix. Mitigation: fork-and-vendor, and record that decision in the dependency register now rather than during an incident.
  • Overloaded field — misuse as a general-purpose visualization for complex metrics it wasn't designed for.

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle