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

filafly/filament-carbon-icons

Add IBM Carbon icons to Filament with filafly/filament-carbon-icons. Use the full Carbon icon set in forms, tables, navigation, actions, and buttons via simple icon names. Lightweight integration for consistent, accessible icons across your Filament admin panels.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Evidence base caveat: The only signal available is the v1.1.0 changelog ("Added Filament 5 support while maintaining Filament 4 compatibility"). Package identity, versioning history, and test coverage were not supplied. Everything below is a TPM-level read of that single data point, with explicit assumptions called out so they can be validated in a discovery pass.

Architecture fit. The change tells us the package is an extension of Filament — it ships panels/resources/widgets, a plugin, or a field/column type that registers against Filament's service provider and component registry. That is architecturally favourable for us: it means the package does not own our domain layer, does not add a second ORM or routing paradigm, and sits on top of the standard Laravel service container, config publishing, and migrations we already operate. The principal coupling risk is to Filament internals (asset registration, panel configuration, Livewire component contracts) rather than to Laravel core, so blast radius on upgrade is bounded to the admin surface.

Integration feasibility. Dual-major support (4 and 5) in a single release line is the most important detail here and it cuts both ways. Positively, it means we can adopt the package on a Filament 4 codebase today and carry the same dependency forward through a Filament 5 migration without waiting on a fork or a package swap. Negatively, dual-support in one branch is usually implemented with composer || constraints plus runtime version branching or conditional class aliases — a pattern that tends to accumulate class_exists checks, divergent view paths, and test matrices that only exercise the happy path on the newer major. Feasibility is high; confidence in the 4.x path specifically is the thing to test, since the newest major usually receives the freshest attention.

Technical risk.

  • Silent behavioural drift. If Filament 5 renamed or re-signatured any API the package wraps, dual support may mean "loads on both" rather than "behaves identically on both." This is the highest-likelihood risk and it will surface as admin-panel regressions, not exceptions.
  • Transitive constraint lock. The package's composer constraints now bound our Filament range at both ends. If we are pinned to Filament 4 by another plugin that has not shipped 5 support, we inherit the intersection of those constraints — potentially an unsatisfiable set.
  • Frontend asset surface. Filament plugins typically publish CSS/JS and register assets via FilamentAsset::register(). Filament majors have historically changed Vite/Tailwind conventions; a stale published asset set is a common source of "works in 4, broken styling in 5."
  • Maintenance signal. Shipping Filament 5 support promptly is a positive health indicator — it suggests the maintainer tracks upstream. Worth confirming it was a deliberate release and not a dependency-bot bump.
  • Low risk: migrations and data model. Nothing in the changelog suggests schema changes; still, confirm no new publishable migrations.

Key questions for the maintainer / discovery.

  1. Does the release support both majors from one branch, or via a 2.x line we would need to move to? What are the exact composer constraints?
  2. Is the CI matrix actually running the full suite against both Filament 4 and 5, or is 4 covered by constraint resolution only?
  3. Are there behaviour differences (not just load-time compatibility) between the 4 and 5 paths, and are they documented?
  4. Which Filament 5 release is targeted — a stable tag or a pre-release/beta? Support for an unreleased major is a different risk profile than support for a GA one.
  5. Any published assets, config keys, or migrations added or changed in this release? Is vendor:publish required on upgrade?
  6. What is the project's stated support window — will Filament 4 support be dropped in the next minor, or carried for a defined period?

Integration Approach

Stack fit. Assumes a conventional Laravel application with Filament as the admin surface, Composer for dependency management, and a standard CI pipeline. The package slots in as a normal Filament plugin: composer require, register the plugin on the relevant panel provider, publish config/assets where required. No bespoke infrastructure, no queue or external service dependency implied. This is a low-friction fit and does not require any change to our application architecture.

Migration path. Two distinct paths exist and should be decided explicitly rather than defaulted:

  • Path A — adopt now on Filament 4. Add the package at v1.1.0 while staying on Filament 4. This is the recommended path: it delivers value immediately and pre-positions us for Filament 5, because the same package version spans both majors.
  • Path B — bundle with the Filament 5 upgrade. Treat the package upgrade as part of a larger admin-panel migration. Higher coordination cost, larger blast radius, and it means our first exposure to the package is on a new Filament major — the worst time to be discovering package behaviour.

Path A is clearly preferable unless the package is only being introduced as part of a Filament 5 initiative. Note that Path A does not remove the need to re-validate on Filament 5; it just decouples the two events.

Compatibility. Verify the composer constraint intersection before committing: our Laravel version, our PHP version, our Filament constraint, and this package's constraint must all resolve. Run composer why-not against the target version as a fast check. Confirm whether the package requires a minimum Filament 4 patch release — dual-support implementations often bump the floor on the older major to reach a shared API.

Sequencing.

  1. Constraint audit — resolve the dependency set in a scratch branch, confirm no conflicts with existing Filament plugins.
  2. Isolated environment — install on a staging panel, not the primary admin panel, to contain the blast radius of asset/registration issues.
  3. Publish and diff — capture any published config and assets, diff against defaults, and record what is customised. This is the artifact that makes future upgrades cheap.
  4. Smoke-test the package's specific surface on both Filament majors if we have a Filament 5 environment available; otherwise document 4 as verified and 5 as unverified.
  5. Roll out behind a feature flag or to a pilot user group before enabling panel-wide.
  6. Only then fold the package into the broader Filament 5 migration plan, re-running the same smoke tests against the new major.

Operational Impact

Maintenance. The dual-major release is good news operationally: it means the package is unlikely to force an emergency admin-panel migration on Filament's cadence. The ongoing cost is the usual one for Filament plugins — published assets and config drift from the package defaults, and the need to re-publish or re-diff on upgrade. Budget a recurring, low-effort review each time Filament ships a major. The real maintenance question is the maintainer's support-window policy: if Filament 4 support is dropped abruptly, we inherit a forced upgrade.

Support. Internal support burden should be modest, but it concentrates in one place: the admin panel. Failures here are highly visible to internal users and often to customers-facing operations staff, so the perceived severity is disproportionate to the technical severity. There is no upstream vendor SLA implied — this looks like a community package. Establish internally who owns the Filament panel and make them the named owner of this dependency.

Scaling. Filament plugins typically add UI-layer components — widgets, tables, form fields. Scaling concerns are therefore mostly request-path: N+1 queries in custom widgets or table columns, and Livewire round-trips on large tables. Nothing about this release suggests a new scaling risk, but any package that renders data in a table should be profiled against production-sized datasets before panel-wide enablement. Horizontal scaling is unaffected: no new stateful services, no new background workers, no new persistent connections.

Failure modes. Ranked by likelihood:

  • Admin panel renders incorrectly or not at all — most likely on the Filament 5 path if dual-support is imperfectly implemented. Symptom: broken styling, missing components, or a Livewire error on panel boot. Detection: staging smoke test.
  • Dependency resolution failure — composer cannot satisfy the intersection with other Filament plugins. Detection: constraint audit; fails fast and loudly, which is the good case.
  • Silent behavioural divergence between majors — the package loads on both but a component behaves differently. Hardest to detect; mitigated by pinning the Filament version in CI and running the same smoke suite against each.
  • Asset cache staleness after upgrade — classic Filament plugin failure; mitigated by including asset re-publish and cache clear in the deploy runbook.
  • Abandonment — low near-term probability given the fresh release, but the mitigation is architectural: keep the package's surface area confined to a small number of panel providers so ripping it out is a contained change.

Ramp-up. Low for a developer already fluent in Filament — the integration is register-plus-publish. The non-obvious learning is the dual-major behaviour: engineers need to know which Filament version they are on locally and that "it works on my machine" may mean "it works on Filament 5." Make the Filament major explicit in local setup docs and in CI. For a TPM, the ramp-up cost is mostly the discovery pass in the Technical Evaluation section — an afternoon of reading the package's composer.json, CI config, and changelog to convert the assumptions above into facts. That pass is worth doing before the package reaches a production panel.

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.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core