crumbls/filament-media-library
A Filament media library manager for browsing, uploading, searching, and organizing files with folders. Integrates with Spatie Media Library so you can attach and reuse images and documents from a clean, native Filament interface.
What this release is. 1.3.0 is a compatibility-and-hardening release, not a feature release. The functional surface (media table, panel authentication, events, validation, tenant behavior) is unchanged; the changes widen the supported runtime matrix and formalize the project's quality and security posture. That is the most favorable category of release to absorb, but it also means most of the value accrues to teams already on — or about to move to — Laravel 13 / Filament 5.
Architecture fit. This is a Filament panel plugin: it plugs into Filament's resource/plugin registration and contributes a media table plus the surrounding behaviors (auth-gated panel access, events, validation rules, tenant scoping). For any application already standardized on Filament as its admin surface, the fit is native — no separate UI to build, no bespoke auth model, no divergent navigation. For applications not on Filament, this package has no standalone value; the assessment should stop there and the decision is really "are we a Filament shop," not "is this a good media library."
Integration feasibility. Low-to-moderate. Consumption is via Composer with Laravel package auto-discovery; the work is configuration and policy, not code: publish/verify migrations, register the plugin on the intended panels, decide storage disks and conversions, and confirm tenant scoping semantics against the app's tenancy model. The explicit tenant-behavior coverage in this release is the single most decision-relevant addition — multi-tenant media is where packages in this space most often leak data across tenants or silently ignore the tenant key.
Technical risk.
composer.json constraint actually admits. If the constraint is narrow (^5.x only), this release may be de facto breaking for anyone still on Filament 4 despite the patch-level version bump.Key questions for the maintainer (or to answer from the repo).
composer.json constraints for laravel/framework, php, and filament/filament in 1.3.0 versus 1.2.2? Is this a widening or a floor raise?Stack fit. Target stack: Laravel 12 (or 13 once GA), PHP 8.3+, Filament 5, Composer-based deploy. This package is a leaf dependency — it does not constrain application architecture beyond requiring Filament. Fit is binary and easy to evaluate.
Compatibility matrix to confirm before scheduling work.
| Dimension | Claimed | Confirm |
|---|---|---|
| PHP | 8.3 | Floor vs. ceiling; 8.4 status |
| Laravel | 12, 13 | 13 GA status; 11 dropped or still supported? |
| Filament | 5 (test harness) | Actual constraint; 4.x still installable? |
| Tenancy | Covered by tests | Enforcement point; per-tenant disk strategy |
Migration path. From 1.2.2 this should be a composer update with no application code changes, gated on the constraint check above. Recommended path:
crumbls/filament-media-library to 1.3.0 exactly (not a caret) and run composer update --with-dependencies to surface the resolved Filament/Laravel graph.Sequencing relative to other work. Do not bundle this with a Filament major upgrade or a Laravel version jump. Take 1.3.0 on the current framework first (isolating the plugin variable), then move Laravel 13 separately. If you are already planning a Filament 5 migration, invert the order: land Filament 5 with the plugin pinned to a known-good version, then bump the plugin. Two variables, two deploys.
Adoption recommendation. Adopt for teams already on Filament 5 + PHP 8.3, at low risk. Pilot behind a feature flag or in a non-critical panel for teams on Filament 4 or PHP 8.2 until the constraint question is answered.
Maintenance. The trajectory is healthy for a small ecosystem package: Dependabot, a CI matrix across two Laravel majors, a security policy, and restored static analysis all reduce the odds of silent rot. The "lean distribution archive" is a small but real operational nicety — faster installs, no test fixtures or docs shipped into production vendor trees. The counterweight is bus factor: this is a single-maintainer-style package whose release cadence tracks framework releases rather than a published roadmap. Budget a modest recurring line item for "verify the plugin on each Filament/Laravel bump" rather than assuming zero-touch.
Support. Upstream support is GitHub issues plus a security policy — adequate for an internal admin tool, insufficient if the media library is customer-facing and revenue-bearing. Internal mitigation: designate one engineer as the owner of this dependency and record the pinned version in your dependency register. Set a policy that security advisories get triaged within your normal SLA; the SECURITY.md gives you a channel that did not previously exist.
Scaling. Scaling pressure in a media library is storage and image processing, not request throughput from the plugin itself. Three things to settle early:
Failure modes to instrument.
Ramp-up. Low for a Laravel developer familiar with Filament: an afternoon to install, register the plugin, publish config, and get a working media table in a local panel. The non-obvious learning is the authorization and tenancy model — budget an additional day for a developer to read the policy and tenant-scoping code paths rather than infer them from behavior. For a developer new to Filament entirely, add a week: the plugin's concepts are Filament's concepts, and debugging without that foundation is slow.
Net TPM position. 1.3.0 is a low-risk, quality-positive release with one unresolved decision input — the dependency constraints. Resolve that single question, run the tenant probe in staging, pin the version, and adopt. The package is appropriate for internal and back-office media management; treat it as a candidate for hardening review, not a blocker, if it ever fronts customer-facing uploads.
How can I help you explore Laravel packages today?