Filament v4.12.6 und v5.7.6 sind nun über die stabilen Release-Kanäle verfügbar, nachdem ein performance-orientierter Beta-Build von der Community getestet wurde. Das Team dankt den Beta-Testern für die Validierung der Änderungen. Neben den Geschwindigkeitsverbesserungen beheben die Releases mehrere CVEs – wer Filament v4 oder v5 einsetzt, sollte daher zeitnah aktualisieren.

Das Rendering von Formularen und Schemas ist den internen Benchmarks des Teams zufolge deutlich schneller: TextInput sank von 0,559 ms auf 0,044 ms (~92 % schneller), Select von 0,634 ms auf 0,052 ms (~92 %), FileUpload von 0,586 ms auf 0,083 ms (~86 %), ein Repeater mit 10 Einträgen à zwei Felder von 28,077 ms auf 2,885 ms (~90 %) und Checkbox von 0,314 ms auf 0,033 ms (~90 %). Besonders relevant ist das Repeater-Ergebnis für große, datenlastige Formulare. Die Gewinne stammen aus dem Ersatz wiederholter Blade-Komponenten-Renderpfade durch direktes PHP-Komponenten-Rendering, was den Framework-Overhead pro Feld reduziert (PR filamentphp/filament#19550).

Auch Tabellen wurden schneller: Eine Tabelle mit 50 Zeilen, 5 TextColumns und 3 Zeilen-Aktionen verbesserte sich von 27,53 ms auf 13,11 ms (~52 % schneller), mit einer ActionGroup aus 3 inneren Aktionen pro Zeile von 33,09 ms auf 16,73 ms (~49 %). Die Verbesserungen hier sind subtiler: leichtere Renderpfade für häufige Aktionen und Komponenten, effizientere Attribut-Verarbeitung und ein Caching wiederholter Sichtbarkeits- und Autorisierungsprüfungen pro Datensatz (PR #19551). Am stärksten profitieren Anwendungen mit vielen Zeilen, Spalten, Aktionen, bedingten Sichtbarkeitsregeln oder Autorisierungschecks. Alle Zahlen sind interne Benchmarks; die tatsächlichen Ergebnisse können variieren.

Kleinere Performance- und Sicherheitsneuerungen: Die neuen Methoden maxRules() und maxNestingDepth() des Query Builders begrenzen Regelanzahl und Verschachtelungstiefe und verhindern so übermäßige CPU-/Speicherlast durch große oder manipulierte Regelbäume; der Helper Str::sanitizeCssColor() ermöglicht die sichere Einbindung von Nutzereingaben in style=""-Attribute; und ein Opt-in-Schutz gegen CSV-Formel-Injection versieht Zellen, die mit Zeichen wie =, -, + oder <Tab> beginnen, mit einem vorangestellten Anführungszeichen, damit Tabellenkalkulationsprogramme sie als Text behandeln. Die CSV-Funktion ist bewusst Opt-in, da sonst legitime Werte wie internationale Telefonnummern verändert würden.

Komfortverbesserungen: Menüeinträge für Benutzer und Tenants lassen sich nun in visuell getrennte Gruppen einteilen, wobei die Menü-Aktionen einmal pro Request memoized werden; die neue Methode modalDismissesParentActions() sorgt dafür, dass das Schließen eines verschachtelten Modals alle übergeordneten Aktionen abbricht oder bis zu einer benannten Aktion zurückspringt – nützlich, um mehrstufige Workflows abzubrechen; und Chart-Widgets unterstützen jetzt eigene Leerzustände.

Weitere kleinere Neuerungen: Durchklickbare Modals und Slide-overs ohne blockierenden Backdrop; Navigations-Eltern werden per stabilem Schlüssel statt über den Labeltext referenziert; Aufteilung von Suchbegriffen pro Spalte konfigurierbar; Exportspalten lassen sich dynamisch per Closure ein- und ausblenden; der XLSX-Writer ist direkt nach dem Öffnen konfigurierbar; und Panel-Inhaltsbreite (maxContentWidth()), Dark-Mode- und Theme-Switcher-Einstellungen sowie die Seitenleistenbreite lassen sich dynamisch per Closure festlegen. Das Team bezeichnet das Release als nicht-brechendes Minor-Update, das nur ein Hochsetzen der Versionsnummer erfordert.