cube-agency/filament-tree-view
Add a tree view to Filament admin panels. cube-agency/filament-tree-view displays hierarchical records with expandable nodes, making categories, menus, folders, and other nested data easier to browse and manage in Laravel apps.
This is a major version bump (v2 → v3) whose headline is framework-level compatibility: Filament 5 and Laravel 13. Treat it as a compatibility release first and a feature release second — the notes announce no new API surface, so the practical question is "does my stack move, and what breaks when it does."
Minimal steps:
UPGRADING.md or commit range. If the repo has none, diff the composer.json and the public class signatures between the v2 and v3 tags — that is your real upgrade guide.composer require vendor/package:^3.0
php artisan vendor:publish --tag="package-config" # if the package ships config/migrations
php artisan migrate
// app/Providers/Filament/AdminPanelProvider.php
public function panel(Panel $panel): Panel
{
return $panel->plugin(PackagePlugin::make());
}
Where to look first in the repo: composer.json (exact Filament/Laravel constraints), the service provider / plugin class, resources/ (views and assets), and tests/ — the new tests are your best documentation of intended v3 behaviour.
Pin the whole triangle. Filament 5, Laravel 13, and this package must move together. Constrain all three explicitly in composer.json rather than relying on transitive resolution; a floating filament/filament: ^5.0 plus a plugin that quietly allows ^4|^5 will resolve to a combination nobody tested.
Isolate the plugin behind your own panel provider. Register it in a single AdminPanelProvider (or a dedicated PackagePanelProvider) so that upgrading or removing it touches one file. Avoid calling plugin methods from resource classes scattered across the app.
Upgrade in a branch with the test suite as the gate. Since v3 ships tests, mirror the package's own test setup: Filament's livewire() / callAction() helpers inside a Livewire::test() against your panel. If the package's tests pass on your PHP/DB matrix but your app's don't, the break is in your integration code, not the package.
Use the plugin's extension points rather than editing published views. Published Blade views are a fork you now own; every future patch release becomes a merge conflict. Prefer config, ->configureUsing(), or the package's documented hooks, and keep published views to a minimum.
Stage the rollout. Ship v3 to a staging panel first. Filament majors often change asset compilation (Vite theme builds) and navigation/registration ordering — problems that only surface on a built panel, not in unit tests.
composer why-not vendor/package 3.0 and read the diff of public methods yourself. If nothing in the repo explains the major bump, assume Filament 4 → 5 breakage and plan accordingly.config/package.php; new v3 keys will silently be absent otherwise, and the failure mode is usually a null-default, not an exception.php artisan filament:assets plus a hard browser refresh; stale published assets are the single most common "the upgrade broke styling" cause.php artisan about and the Filament panel's plugin list are faster than reading stack traces. If the plugin doesn't appear, the constraint resolution almost certainly kept you on v2 — confirm with composer show vendor/package.^3.0 is fine; pinning 3.0.0 exactly is not worth it.How can I help you explore Laravel packages today?