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 Iconoir Icons Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

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.

  • Which exact Filament 5 version is supported — stable 5.0, or a beta/RC? What is the minimum?
  • Is there a CI matrix that actually runs the suite against both Filament 4 and Filament 5, and against which Laravel and PHP versions?
  • Are there any behavioural differences between the two majors that the release notes do not mention (field APIs, action modals, table filters, notification signatures)?
  • Does the package now require Filament, or is it still a suggest? Has the constraint widened on any other Filament-adjacent packages (filament/spatie-laravel-media-library-plugin, etc.)?
  • Is Filament 4 support now in maintenance mode, and is there a stated timeline for dropping it?
  • Are there any new features gated to Filament 5 only, and are they documented as such?

Integration Approach

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:

  • Filament 4 estates (default): bump the package to ^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.
  • Filament 5 estates (or pilots): bump the package and Filament together, then smoke-test the admin panel. Treat this as a joint upgrade, not a package bump.

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.

  1. Land the package bump on Filament 4 applications first — lowest risk, validates that nothing regressed, and gets the version aligned everywhere.
  2. Stand up one non-critical Filament 5 pilot panel with the package; exercise every screen the package contributes to, including empty states and permission-denied paths.
  3. Hold Filament 5 rollout for production panels until the pilot has run a full release cycle without incident, unless there is a driving reason to move faster.
  4. Only after that, plan the estate-wide Filament 5 upgrade, with this package no longer a blocker.

Operational Impact

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.

  • Composer resolution deadlock: another admin package has not widened to Filament 5, so the estate is pinned to Filament 4 and the new support is unusable. Detected at update time; annoying but obvious.
  • Silent partial support: the package boots on Filament 5 but one widget or action misbehaves. Not detected by composer, only by exercising the UI. This is the failure mode that most warrants the pilot.
  • Asset build mismatch: compiled CSS or JS shipped against a different Filament major's Tailwind config, producing broken styling. Cosmetic but erodes trust in the panel.
  • Admin-panel boot failure: a service provider or panel registration that throws takes down the entire admin surface, not just the package's screens. This is the highest-severity failure mode and argues for the pilot running somewhere staff can tolerate an outage.
  • Version skew across the estate: persistent confusion, not an incident, but it makes every future upgrade conversation harder.

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.

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