Filament versions v4.12.6 and v5.7.6 are now on the stable release channels, following a community beta test of a performance-focused build. The team credits beta testers for validating the changes. Alongside the speed work, the releases fix a handful of CVEs, so anyone running Filament v4 or v5 is urged to update.
Form and schema rendering is dramatically faster, based on the team's internal benchmarks: TextInput dropped from 0.559 ms to 0.044 ms (~92% faster), Select from 0.634 ms to 0.052 ms (~92%), FileUpload from 0.586 ms to 0.083 ms (~86%), a Repeater with 10 items and two fields each from 28.077 ms to 2.885 ms (~90%), and Checkbox from 0.314 ms to 0.033 ms (~90%). The Repeater result matters most for large, data-heavy forms. The gains come from replacing repeated Blade component rendering paths with direct PHP component rendering, cutting framework overhead per field (see PR filamentphp/filament#19550).
Tables also got faster: a 50-row table with 5 TextColumns and 3 row actions went from 27.53 ms to 13.11 ms (~52% faster), and with an ActionGroup of 3 inner actions per row from 33.09 ms to 16.73 ms (~49%). Here the improvements are subtler: lighter rendering paths for common actions and components, more efficient attribute handling, and per-record caching of repeated visibility and authorization decisions (PR #19551). Apps with many rows, columns, actions, conditional visibility rules or authorization checks benefit most. All numbers are internal benchmarks; real-world results may vary.
Smaller performance and security additions include: new maxRules() and maxNestingDepth() methods on the Query Builder to bound rule count and nesting, preventing excessive CPU/memory usage from large or tampered rule trees; a Str::sanitizeCssColor() helper to safely inject user input into style="" attributes; and opt-in CSV formula-injection protection that prefixes cells starting with characters like =, -, + or <Tab> with a quote so spreadsheet software treats them as text. The CSV feature is opt-in because legitimate values such as international phone numbers would otherwise be altered.
Quality-of-life changes: user and tenant menu items can now be grouped into visually separate lists, with menu actions memoized once per request; the new modalDismissesParentActions() method lets closing a nested modal cancel all parent actions or unwind to a named parent, useful for abandoning multi-step workflows; and chart widgets now support custom empty states.
Further small additions: click-through modals and slide-overs without the blocking backdrop; navigation parents referenced by stable key instead of label text; per-column search-term splitting; conditionally hiding export columns via closures; configuring the XLSX writer immediately after opening; and dynamic, closure-based configuration of panel maxContentWidth(), dark mode and theme switcher settings, and sidebar width. The team describes the release as a non-breaking minor update that only requires bumping the version.
Comments
No comments yet — be the first.
Open the discussion
No account or password needed — just enter your e-mail and we’ll send you a one-time sign-in link. First time here? You’re set up automatically.
Your rating will be applied automatically after you sign in.
Check your inbox
We’ve sent a sign-in link to …. Open it on this device — this tab will sign you in automatically.
Nothing arrived? Check your spam folder — and mark the mail as "Not spam" so it lands in your inbox next time.