Filament v4: What’s New and Exciting
- Filament v4 is Faster, Smarter, and More Flexible
- Quick overview (what I picked)
- Why this matters
- Highlights and examples
- Migration & upgrade notes
- Read more
Filament v4 is Faster, Smarter, and More Flexible
Filament v4 is stable: big performance wins, a more expressive server-driven UI, fewer round-trips to the server, and a richer set of developer-friendly primitives (TipTap rich editing, nested resources, client-side JS helpers, and more). This post highlights the most exciting changes for Laravel developers who build admin panels and internal tools with Filament.
Quick overview (what I picked)
- Major rendering and interaction performance improvements (partial rendering, fewer Blade views).
- Tailwind CSS v4 + dynamic color system (OKLCH) and improved theming.
- Built‑in multi‑factor authentication (TOTP apps + email codes).
- Powerful TipTap-based rich editor: custom blocks, merge tags, HTML/JSON storage, and plugin extensibility.
- Client-side JS helpers to eliminate unnecessary network requests:
hiddenJs(),visibleJs(),afterStateUpdatedJs(), andJsContent. - Nested resources and better resource organization (dedicated namespaces, page
schema()customization). - Tables backed by custom data + ModalTableSelect and improved bulk actions (chunked processing, grouped failure reporting).
- Small but developer-loved ergonomics: icon enums,
FilamentTimezone, ISO date formats, andpreserveFormDataWhenCreatingAnother().
Why this matters
Filament already made it easy to build polished admin UIs in Laravel; v4 lowers the friction even more. Performance and partial rendering reduce latency for data-heavy screens. The client-side JS hooks mean reactive UI behavior can happen instantly without hitting the server. The new rich editor and table features reduce the need for custom front-end code or third‑party integrations. Combined, these updates let you ship faster, with fewer surprises.
Highlights and examples
Below I pick the features I’d call “must‑try” and explain how you might use them in real projects.
1. Performance gains & Partial Rendering
Filament v4 reduces the number of Blade views and extracts repeated Tailwind groups into classes to shrink HTML output. For large tables and complex pages you should see much faster server rendering times.
Partial rendering: instead of re-rendering the form, only part of the form needs to react to changes.
2. Client-side JS helpers, reduce round trips
Rather than reload the entire schema on small UI changes, Filament v4 lets you evaluate expressions in the browser.
Examples:
Select::make('discount_type') ->options([ 'fixed' => 'Fixed', 'percentage' => 'Percentage', ]); TextInput::make('discount_value') ->hiddenJs('$get("discount_type") !== "percentage"'); TextInput::make('title') ->afterStateUpdatedJs('$set("slug", $state.toLowerCase().replace(/\s+/g, "-"))');
You can also use JsContent to produce dynamic labels or below‑content text that updates instantly as the user types.
3. TipTap-based Rich Editor
Filament replaces the older editor with a TipTap-powered rich editor that’s modern, extensible and headless. Practical wins:
- Store content as HTML or JSON.
- Define custom blocks for complex content layouts.
- Add merge tags to allow editors to insert placeholders.
4. Nested resources and cleaner organization
If you’ve needed full-page create and edit views for related models, nested resources give you that structure out of the box. Resource classes are also generated into dedicated namespaces by default, which keeps a growing codebase tidy.
Pages now expose a content()/schema()-style API so you can fully control layout and order of components.
5. Tables and selection UX
Tables can be backed by custom data sources. The new ModalTableSelect provides a modal backed by a full Filament table, perfect when your relationship selection needs full-text search, filters, and pagination.
Bulk actions received attention too: per-record authorization inside bulk actions, chunked processing for performance, and grouped failure reporting.
6. Authentication & Security
Filament v4 includes MFA support with two built-in providers:
- TOTP apps
- Email codes
You can also register custom MFA providers.
7. Developer ergonomics
A few smaller additions:
- Heroicon enum for IDE autocompletion.
-
FilamentTimezone::set()for consistent timezone handling. - ISO date-time formats.
-
$shouldSplitGlobalSearchTermsproperty allows disabling splitting the global search term into individual words. -
preserveFormDataWhenCreatingAnother()- retain certain values when using Create and create another action.
Migration & upgrade notes
Follow the upgrade guide closely. Watch for Tailwind v4 changes and refactor client-side behavior to use the new JS helpers.
Read more
Stay Updated.
I'll you email you as soon as new, fresh content is published.