We are actively hiring talented engineers and designers. Check our open positions. View openings
← Back to blog Web Development

Filament v4: what changed, and what it costs to upgrade

We moved eleven production panels to Filament v4. Here is the short list of breaking changes that actually cost us time, and the ones the upgrade guide handles for you.

S

Super Admin

Author

Oct 8, 2026 · 6 min read · 4 views

We finished moving eleven production panels from Filament v3 to v4 last month. The headline is reassuring: most panels needed less than a day. The time we did spend went almost entirely into three changes, and none of them were the ones we had budgeted for.

Schemas replaced forms as the layout language

Layout components moved out of Filament\Forms\Components and into Filament\Schemas\Components. Sections, tabs, grids and inline actions all shifted namespace. A project-wide find and replace covers ninety percent of it; the remainder is the handful of places where a form component and a layout component shared a name and the import was ambiguous.

Static property signatures now fail at autoload

The navigation properties on resources and pages accept enums as well as strings, so ?string $navigationIcon is no longer a valid declaration. This one bites hard because it surfaces as a fatal error during class loading rather than a deprecation warning at runtime. Widen the type to string|BackedEnum|null and the error disappears.

Table action methods were renamed

Row actions moved from actions() to recordActions(), and action modals now take schema() where they used to take form(). Tests written against callTableAction() need rewriting against the new TestAction helper.

What we would do differently

Upgrade the panel with the smallest surface first and keep the diff open in a second window while you do the next one. By the third panel the changes are muscle memory. And run the full test suite between each namespace sweep — a missed import in a rarely visited resource is invisible until someone opens that page in production.

Comments

Sign in to join the discussion.

We use cookies to enhance your experience, analyze traffic, and deliver personalized content. By clicking "Accept All", you consent to our use of cookies.