Filament v4.13.0: Deferred Schema, Session Grouping &amp; More | Mohamed Said        [  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png)   Mohamed Said Laravel Backend Engineer  ](https://msaied.com) [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles  ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

       [  ](https://github.com/EG-Mohamed)       

 [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

  [ home ](https://msaied.com)    [ articles ](https://msaied.com/articles)    Filament v4.13.0 Released: Deferred Schema Loading, Session Grouping &amp; More        On this page       1. [  Filament v4.13.0: What's New ](#filament-v4130-whats-new)
2. [  Deferred Schema Loading ](#deferred-schema-loading)
3. [  Persist Table Grouping in the Session ](#persist-table-grouping-in-the-session)
4. [  RichEditor minHeight() / maxHeight() ](#richeditor-codeminheightcode-codemaxheightcode)
5. [  Reusable MultiFactorChallenge Class ](#reusable-codemultifactorchallengecode-class)
6. [  Trait-Named Lifecycle Hooks on Pages and Importers ](#trait-named-lifecycle-hooks-on-pages-and-importers)
7. [  Stats Empty State Behaviour ](#stats-empty-state-behaviour)
8. [  Custom Downloader for Laravel Vapor ](#custom-downloader-for-laravel-vapor)
9. [  Other Notable Changes ](#other-notable-changes)
10. [  Key Takeaways ](#key-takeaways)

  ![Filament v4.13.0 Released: Deferred Schema Loading, Session Grouping & More](https://cdn.msaied.com/642/400efa8dc790ea53fa0d52ed69e4f132.png)

 [  Laravel ](https://msaied.com/articles?category=laravel) [  Filament ](https://msaied.com/articles?category=filament)  #Filament   #Laravel   #PHP   #Release Notes   #Admin Panel  

 Filament v4.13.0 Released: Deferred Schema Loading, Session Grouping &amp; More 
=================================================================================

     7 Sep 2026      4 min read    ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said  

       Table of contents

  10 sections  

1. [  01   Filament v4.13.0: What's New  ](#filament-v4130-whats-new)
2. [  02   Deferred Schema Loading  ](#deferred-schema-loading)
3. [  03   Persist Table Grouping in the Session  ](#persist-table-grouping-in-the-session)
4. [  04   RichEditor minHeight() / maxHeight()  ](#richeditor-codeminheightcode-codemaxheightcode)
5. [  05   Reusable MultiFactorChallenge Class  ](#reusable-codemultifactorchallengecode-class)
6. [  06   Trait-Named Lifecycle Hooks on Pages and Importers  ](#trait-named-lifecycle-hooks-on-pages-and-importers)
7. [  07   Stats Empty State Behaviour  ](#stats-empty-state-behaviour)
8. [  08   Custom Downloader for Laravel Vapor  ](#custom-downloader-for-laravel-vapor)
9. [  09   Other Notable Changes  ](#other-notable-changes)
10. [  10   Key Takeaways  ](#key-takeaways)

       Filament v4.13.0: What's New
----------------------------

Released on 7 September 2026, **Filament v4.13.0** is a feature-packed minor release that improves performance, developer ergonomics, and UI consistency across the framework. Here is a detailed look at every notable change.

---

### Deferred Schema Loading

The headline addition is **deferred schema loading**, contributed by [@KianAcquoy](https://github.com/KianAcquoy). Instead of evaluating an entire form or infolist schema on the initial page load, you can now defer that work until it is actually needed. This is particularly valuable for complex admin panels where some schemas are rarely visited, reducing both server-side rendering time and Livewire payload size.

---

### Persist Table Grouping in the Session

Tables that use grouping can now **persist the active group in the user's session**, thanks to [@IGedeon](https://github.com/IGedeon). Users no longer lose their grouping preference when they navigate away and return to a table — a small but meaningful UX win.

Alongside this, [@tanthammar](https://github.com/tanthammar) added a `direction` argument to `defaultGroup()`, giving you control over the default sort direction of a group straight from the table definition:

```php
->defaultGroup(
    Group::make('status')->direction('desc')
)

```

---

### RichEditor `minHeight()` / `maxHeight()`

[@pxlrbt](https://github.com/pxlrbt) added `minHeight()` and `maxHeight()` support to the `RichEditor` component, letting you constrain the editor's vertical size without resorting to custom CSS:

```php
RichEditor::make('body')
    ->minHeight('200px')
    ->maxHeight('600px')

```

---

### Reusable `MultiFactorChallenge` Class

[@webard](https://github.com/webard) introduced a reusable `MultiFactorChallenge` class, making it easier to share MFA challenge logic across different parts of your application without duplicating code.

---

### Trait-Named Lifecycle Hooks on Pages and Importers

[@oddvalue](https://github.com/oddvalue) added support for **trait-named lifecycle hooks** on pages and importers. This means traits can define hook methods that are automatically discovered and called, enabling cleaner composition of page behaviour without overriding base methods.

---

### Stats Empty State Behaviour

[@ahmed-rashad-alnaggar](https://github.com/ahmed-rashad-alnaggar) implemented **empty state behaviour for stats widgets**. You can now define what is displayed when a stat has no data, keeping your dashboards informative rather than showing a blank or zero value.

---

### Custom Downloader for Laravel Vapor

[@bretto36](https://github.com/bretto36) introduced a **Custom Downloader** interface, allowing teams running on **Laravel Vapor** (or other environments where direct file streaming is not possible) to plug in their own download logic.

---

### Other Notable Changes

- **Published assets added to `.gitignore` on install** — new installs will no longer accidentally commit compiled assets ([@chinmaypurav](https://github.com/chinmaypurav)).
- **No unsaved-changes alert for read-only action modals** — modals that cannot contain unsaved changes no longer trigger the browser warning ([@grafst](https://github.com/grafst)).
- **Laravel Boost Agent Skill** — the Laravel Boost guidelines have been converted into an agent skill for AI-assisted development ([@hackel](https://github.com/hackel)).
- **Collapsible desktop sidebar CSS fix** — `--collapsed-sidebar-width` is now correctly applied to collapsible desktop sidebars ([@PrestaEdit](https://github.com/PrestaEdit)).
- **Wizard next-action loading indicator scoped** — the loading indicator is now scoped to its own request, preventing false positives ([@people-sea](https://github.com/people-sea)).
- **Modal scroll fix** — opening a modal with no tabbable content no longer scrolls the page ([@lazerg](https://github.com/lazerg)).
- **Improved Composer autoload discovery** for `discover_app_classes()` ([@emyassine](https://github.com/emyassine)).
- **Sidebar horizontal scroll prevented** inside the image editor ([@mrleblanc101](https://github.com/mrleblanc101)).
- Translation updates for Spanish and Lus locales.

---

### Key Takeaways

- Defer expensive schema evaluation with the new deferred schema loading feature.
- Table grouping preferences now survive page navigation via session persistence.
- `RichEditor` gains `minHeight()` and `maxHeight()` for layout control.
- A reusable `MultiFactorChallenge` class simplifies MFA implementations.
- Laravel Vapor users can now supply a custom file downloader.
- Several UX and CSS bugs have been resolved in this release.

---

Full changelog and pull request details: 

 Found this useful?

          [  ](https://twitter.com/intent/tweet?url=https%3A%2F%2Fmsaied.com%2Farticles%2Ffilament-v4130-released-deferred-schema-loading-session-grouping-more&text=Filament+v4.13.0+Released%3A+Deferred+Schema+Loading%2C+Session+Grouping+%26+More) [  ](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fmsaied.com%2Farticles%2Ffilament-v4130-released-deferred-schema-loading-session-grouping-more) 

 Frequently Asked Questions 
----------------------------

  3 questions  

     Q01  What is deferred schema loading in Filament v4.13.0?        Deferred schema loading allows Filament to postpone evaluating a form or infolist schema until it is actually needed, rather than processing it on every initial page load. This reduces server-side rendering time and Livewire payload size for complex admin panels. 

      Q02  How does persistent table grouping work in Filament v4.13.0?        When a user selects a grouping on a Filament table, that choice is now stored in their session. If they navigate away and return to the same table, the previously selected group is automatically restored, improving the overall user experience. 

      Q03  Can I use Filament v4.13.0 on Laravel Vapor?        Yes. Filament v4.13.0 introduces a Custom Downloader interface that lets you replace the default file download mechanism with your own implementation, which is necessary on environments like Laravel Vapor where direct file streaming is not supported. 

  Continue reading

 More Articles 
---------------

 [ View all    ](https://msaied.com/articles) 

 [ ![Filament v5.8.0 Released: Deferred Schema Loading, Session Grouping & More](https://cdn.msaied.com/641/eccc2db7462422ed6a5dd3dbbf991a28.png) Filament Laravel PHP 

### Filament v5.8.0 Released: Deferred Schema Loading, Session Grouping &amp; More

Filament v5.8.0 ships deferred schema loading, persistent table grouping, RichEditor height controls, a reusab...

  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said 

 7 Sep 2026     4 min read  

  Read    

 ](https://msaied.com/articles/filament-v580-released-deferred-schema-loading-session-grouping-more) [ ![Contextual Binding and Method Injection in Laravel's Service Container](https://cdn.msaied.com/639/ce580b3b521a5e965bf80bb1e7ba7ced.png) laravel service-container dependency-injection 

### Contextual Binding and Method Injection in Laravel's Service Container

Go beyond basic singleton registration. Learn how contextual binding, tagged services, and method injection le...

  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said 

 7 Sep 2026     3 min read  

  Read    

 ](https://msaied.com/articles/contextual-binding-and-method-injection-in-laravels-service-container-3) [ ![Laravel Rulebook: Manage Business Rules That Change by Date](https://cdn.msaied.com/640/abbdec8836738d39a6650923a6b6ca5e.png) Laravel PHP Business Rules 

### Laravel Rulebook: Manage Business Rules That Change by Date

Laravel Rulebook is a package that lets you model time-bound business rules as plain PHP classes, resolve exac...

  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said 

 7 Sep 2026     4 min read  

  Read    

 ](https://msaied.com/articles/laravel-rulebook-manage-business-rules-that-change-by-date) 

   [  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png)   Mohamed Said Laravel Backend Engineer  ](https://msaied.com)Senior Backend Engineer specializing in Laravel, scalable SaaS platforms, APIs, and cloud infrastructure. I build secure, high-performance web applications that help businesses grow.

Explore

- [Home](https://msaied.com)
- [Projects](https://msaied.com/projects)
- [Articles](https://msaied.com/articles)
- [Certificates](https://msaied.com/certificates)
- [Contact](https://msaied.com#contact-section)

Connect

- [   hello@msaied.com ](mailto:hello@msaied.com)
- [   +20 109 461 9204 ](tel:+201094619204)

© 2026 Mohamed Said. All rights reserved.

 [  ](https://github.com/EG-Mohamed) [  ](https://www.linkedin.com/in/msaiedm/) [  ](https://wa.me/201094619204) [  ](mailto:hello@msaied.com) [  ](https://drive.google.com/file/u/0/d/1MF20IPRJyzfy32mhEutjL5EpSls0w2Q8/view)
