filafly/filament-iconoir-icons
filafly/filament-iconoir-icons is a Filament plugin that brings the Iconoir icon set to Laravel admin panels. Use clean, modern Iconoir icons across Filament components, forms, tables, navigation, and actions for consistent, lightweight iconography in your app. Simple setup and configuration.
Architecture fit. This is a Laravel package that extends Filament, the TALL-stack admin panel framework. Its integration surface is therefore the Filament plugin contract — service providers, panel registration, resources/pages/widgets, and (in most cases) publishable config and asset tags. It is a leaf dependency in the application graph: it does not own routing, auth, or persistence, which keeps blast radius contained to the admin panel rather than the customer-facing app. That is a favourable architectural position for adoption.
Integration feasibility. v2.1.0 is an additive compatibility release: Filament 5 support is added while Filament 4 remains supported. There are no stated breaking changes, no removals, and no deprecations, so the upgrade path from v2.0.x should be a constraint-widening change on our side rather than a code change. The practical work is verifying that the package's composer.json now declares something equivalent to filament/filament: ^4.0|^5.0 and that our own Filament constraint selects the intended major rather than silently resolving to the other one.
Technical risk. Moderate, concentrated in the dual-major claim. Filament majors historically move underlying Livewire, Tailwind, and Alpine versions, so "support" can mean "installs and boots" rather than "feature-parity across both majors." Specific risks: (1) Filament 5 may still be pre-stable or recently stable, so the package's 5.x path may be under-tested in the wild; (2) transitive dependency conflicts if other admin-panel packages in our stack have not yet widened to Filament 5 — composer will resolve to Filament 4 and the new capability is inert; (3) asset/Tailwind build mismatches, since Filament plugins frequently ship compiled CSS or require a host rebuild; (4) divergent behaviour between majors that is not a bug per se but produces inconsistent admin UX across our environments if some apps are on 4 and some on 5.
Key questions.
suggest? Has the constraint widened on any other Filament-adjacent packages (filament/spatie-laravel-media-library-plugin, etc.)?Stack fit. Well matched to a Laravel + Filament estate. If we are standardising admin panels on Filament, a package that tracks Filament majors promptly reduces the "waiting on the vendor" bottleneck that otherwise blocks framework upgrades across every panel we own. The dual-major window is the useful part: it lets us upgrade the package independently of the Filament upgrade, decoupling two changes that would otherwise have to land together.
Migration path. Two distinct paths, and we should be explicit about which we are on:
^2.1 and run composer update. Expect no code changes. Re-publish config/assets only if the release notes for intervening versions indicate it; nothing here suggests it.There is no data migration, no schema change, and no config format change implied. Rollback is a constraint re-pin.
Compatibility. Confirm the three-way alignment before scheduling anything: our PHP version, our Laravel version, and our Livewire version against Filament 5's floor. Because the package now spans two Filament majors, a single monorepo with mixed Filament versions is the most likely source of confusion — the same package version will look and behave differently depending on which panel you are in. Establish which major each application is on before rollout.
Sequencing.
Maintenance. Dual-major support roughly doubles the vendor's CI matrix and bug surface, and every future Filament 5 patch becomes a compatibility question the maintainer must answer. That is a cost borne by the vendor today, but it converts into our cost later: expect Filament 4 support to be deprecated within a release or two, at which point we inherit a deadline. Worth noting the deprecation clock now, not when the notice lands.
Support. Documentation that does not distinguish between Filament 4 and 5 behaviour will generate support tickets that are hard to triage — "works on staging, not prod" may simply mean different Filament majors. Ask the vendor to state the support window for Filament 4 explicitly. Internally, record each application's Filament major alongside its package version so on-call has that context immediately.
Scaling. The package itself is unlikely to be a throughput bottleneck; it renders admin UI consumed by staff, not end users, so request volume is low and predictable. The realistic scaling concern is query behaviour in any tables or widgets it contributes to — admin panels degrade on large datasets through unindexed filters and N+1s rather than through package overhead. Worth a look if the package ships list tables over high-cardinality models.
Failure modes.
Ramp-up. Low for engineers already fluent in Laravel and Filament — this is a version bump against a known API. The real ramp-up cost is organisational: teams need to internalise the two-major reality, know which major their application is on, and understand that "we're on the latest package version" no longer implies uniform behaviour across panels. Budget a short internal note plus the pilot, not a training programme.
How can I help you explore Laravel packages today?