Skip to content

Commit 715ec65

Browse files
committed
Merge branch 'main' into pr/830
2 parents 40f8396 + f647eb4 commit 715ec65

File tree

69 files changed

+586
-106
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+586
-106
lines changed

content/articles/leandrocfe-filament-v4-beta-feature-overview.md

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,27 @@ To upgrade your app to Filament v4 beta, please read the [upgrade guide](https:/
2020
2121
> Looking for the current stable version? Visit the [3.x documentation](https://filamentphp.com/docs/3.x).
2222
23-
## Latest updates
23+
## Highlights
2424

25-
> **Updated: June 16, 2025**
25+
There are many new features and improvements in Filament v4 Beta, but here are some of the highlights:
2626

27-
- [Reorderable columns](#reordering-table-columns) feature in [v4.0.0-beta5](https://github.com/filamentphp/filament/releases/tag/v4.0.0-beta5)
28-
29-
---
27+
- [**Improved performance**](#improved-performance): Rendering and interaction performance has significantly improved, especially for large tables, where server rendering time typically reduces by 2-3x.
28+
- [**Tailwind CSS v4**](#tailwind-css-v4): The framework now uses Tailwind CSS v4, which brings a reworked configuration system, improved customization, and faster builds.
29+
- [**Built-in multi-factor authentication (MFA)**](#multi-factor-authentication): Filament v4 includes built-in support for multi-factor authentication, enhancing security beyond standard email/password login.
30+
- [**Nested resources**](#nested-resources): Resources can now be deeply nested within each other, allowing their breadcrumb and URL structure to reflect their hierarchy.
31+
- **New form fields**: Filament v4 introduces new form fields like the [TipTap rich editor](#new-rich-editor), [slider](#slider), [code editor](#code-editor), and [table repeater](#table-repeater). The rich editor specifically has seen many new features, including support for [custom blocks](#custom-blocks), [merge tags](#merge-tags), and dynamically generated temporary private image URLs.
32+
- **Tools to reduce network requests**: New methods like [`hiddenJs()`](#hiddenjs-and-visiblejs) and [`afterStateUpdatedJs()`](#afterstateupdatedjs) allow you to minimize network requests by using JavaScript to control field visibility and state updates. [Partial rendering](#partial-rendering) allows you to re-render only specific components on a page to reduce the server rendering time of requests.
33+
- [**Tables with custom data**](#tables-with-custom-data): Tables can now be backed by custom data sources, allowing you to render external or computed data without relying on Eloquent models.
34+
- [**Improved bulk action system**](#bulk-actions): Authorize individual records in bulk actions, use notifications to inform users of bulk action results with success and failure counts grouped by failure reason, and benefit from improved performance through chunked processing of selected records.
35+
- [**Restructured documentation**](https://filamentphp.com/docs/4.x): The Filament documentation has been restructured to provide a clearer overview of the features and how they work together. The new documentation includes more examples, cross-references, and explanations of how features work internally.
3036

3137
## General
3238

33-
### Performance
39+
### Improved performance
3440

3541
Rendering and interaction performance in Filament has significantly improved, especially for large tables. Internally, many Blade templates have been optimized to reduce the number of views that are being rendered. By utilizing existing PHP objects to render HTML instead of including new files, Filament v4 reduces the number of files that need to be loaded, improving performance. The size of Blade views has also been reduced by extracting groups of Tailwind CSS classes into dedicated classes, which are then used in the Blade templates. This reduces the amount of HTML that needs to be rendered, resulting in faster page loads and a smaller response size.
3642

37-
### Filament v4 now uses Tailwind CSS v4
43+
### Tailwind CSS v4
3844

3945
[Tailwind CSS v4](https://tailwindcss.com) is a major update focused on performance, flexibility, and modern web standards. It features a reworked configuration system, improved customization, and faster builds, making it easier to build your own custom design system at scale.
4046
For the latest features and release notes, visit the [Tailwind CSS blog](https://tailwindcss.com/blog).
@@ -64,7 +70,7 @@ Filament supports two built-in MFA methods:
6470

6571
Need more MFA options? Additional custom MFA providers can be registered to extend Filament's authentication capabilities.
6672

67-
### Heroicons
73+
### Icon enums
6874

6975
Filament includes the [Heroicons](https://heroicons.com/) icon set, so you can use icons without installing anything extra.
7076
The new [Heroicon enum class](https://filamentphp.com/docs/4.x/styling/icons#using-heroicons-in-filament) provides IDE autocompletion to help you quickly find the icon you need--no more magic strings!
@@ -75,7 +81,7 @@ Each icon is available in solid and outlined variants (`Heroicon::Star` vs. `Her
7581

7682
The new `FilamentTimezone` facade lets you set a default timezone for Filament globally via the `FilamentTimezone::set()` method, simplifying the default timezone across components. This lets you control multiple components at once, including the `DateTimePicker`, `TextColumn`, and `TextEntry`.
7783

78-
### "ISO" formats
84+
### "ISO" date-time formats
7985

8086
Dates and times now support formatting using standard "ISO" formats in the `TextColumn` and `TextEntry` components.
8187

@@ -87,39 +93,39 @@ Dates and times now support formatting using standard "ISO" formats in the `Text
8793
For example, in a `CourseResource`, you might use a relation manager or page to manage the lessons that belong to a course. This lets you create and edit lessons directly from a table using modals.
8894
But if lessons are more complex, modals might not be enough. In that case, you can give lessons their own resource with full-page create and edit views — this is called a [nested resource](https://filamentphp.com/docs/4.x/resources/nesting).
8995

90-
### Resource class organization
96+
### Better resource class organization
9197

9298
[Resource classes](https://filamentphp.com/docs/4.x/resources/overview#creating-a-resource) are now generated within their own dedicated namespaces, making your codebase more organized.
9399

94-
### Code quality tips
100+
### Code quality tips in the documentation
95101

96102
We have also added some more detailed recommendations on how to keep your Filament code [clean and maintainable](https://filamentphp.com/docs/4.x/resources/code-quality-tips) in v4. Here are a few of our favorites:
97103

98104
- Use [schema and table classes](https://filamentphp.com/docs/4.x/resources/code-quality-tips#using-schema-and-table-classes) to separate large `form()` and `table()` definitions into their own files. This helps avoid bloated methods and improves readability.
99105
- Create [dedicated component classes](https://filamentphp.com/docs/4.x/resources/code-quality-tips#using-component-classes) when individual form inputs, table columns, filters, or actions become complex. This keeps each piece of logic focused and reusable.
100106
- Organize components by type and purpose, such as putting form inputs under `Schemas/Components` and table actions under `Actions`.
101107

102-
### Preserving data when creating another
108+
### Preserving data when creating another resource record
103109

104110
By default, the [Create and create another](https://filamentphp.com/docs/4.x/resources/creating-records#creating-another-record) action clears the form after submission. If you want to retain certain values, you can now use the [`preserveFormDataWhenCreatingAnother()`](https://filamentphp.com/docs/4.x/resources/creating-records#preserving-data-when-creating-another) method on the Create page class and return only the data you want to keep.
105111

106112
When using the Create action, you can use the [`preserveFormDataWhenCreatingAnother()`](https://filamentphp.com/docs/4.x/actions/create#preserving-data-when-creating-another) method.
107113

108-
### Customizing page content
114+
### More easily customize page content
109115

110116
Prior to Filament v4, we didn't have a particularly ergonomic way to customize page layouts in the Filament panel. Now, each page in Filament has its own [schema](https://filamentphp.com/docs/4.x/schemas/overview), which defines its structure and content.
111117

112118
You can override the default page schema using the `content()` method to fully control the layout.
113119
This lets you add, remove, or reorder [schema components](https://filamentphp.com/docs/4.x/schemas/overview) such as tables, tabs, and custom elements.
114120

115-
### Resource create page redirect
121+
### Globally customizing resource redirects
116122

117123
You can now configure the default redirect behavior after creating a resource.
118124
By using the [panel configuration](https://filamentphp.com/docs/4.x/panel-configuration), you can choose whether users are redirected to the index page, the view page, or the edit page after creating a record.
119125

120126
This applies globally to all resources within the panel.
121127

122-
### Disabling search term splitting
128+
### Disabling global search term splitting
123129

124130
The new `$shouldSplitGlobalSearchTerms` property allows you to disable splitting the global search term into individual words, improving search performance on large datasets.
125131

@@ -134,7 +140,7 @@ Previously, only the icon could be customized, but now, the entire tab component
134140

135141
## Navigation
136142

137-
### Sidebar / Topbar
143+
### Sidebar / Topbar Livewire reactivity
138144

139145
The `Sidebar` and `Topbar` are now Livewire components, allowing them to be updated dynamically.
140146
If you need to refresh them — for example, after a setting or permission change — you can dispatch a [`refresh-sidebar` or `refresh-topbar`](https://filamentphp.com/docs/4.x/navigation/overview#reloading-the-sidebar-and-topbar) browser event to trigger a reload.
@@ -168,7 +174,7 @@ In addition to traditional breakpoints based on the size of the viewport, you ca
168174

169175
## Forms
170176

171-
### Rich editor
177+
### New rich editor
172178

173179
[Rich editor](https://filamentphp.com/docs/4.x/forms/rich-editor) is now using [Tiptap](https://tiptap.dev/), a modern, headless, and highly extensible open source editor framework.
174180

@@ -209,7 +215,7 @@ It supports common languages including `HTML`, `CSS`, `JavaScript`, `PHP`, and `
209215

210216
![Code editor](https://filamentphp.com/docs/4.x/images/light/forms/fields/code-editor/language.jpg)
211217

212-
### Table repeaters
218+
### Table repeater
213219

214220
[Table repeaters](https://filamentphp.com/docs/4.x/forms/repeater#table-repeaters) display [repeater](https://filamentphp.com/docs/4.x/forms/repeater) items in a table layout using defined `columns`.
215221
You can configure these columns with the `table()` method and `TableColumn` objects, which map to fields in the repeater's schema.
@@ -226,7 +232,7 @@ Each column can be customized:
226232

227233
### Selecting options from a table in a modal
228234

229-
The [ModalTableSelect](https://filamentphp.com/docs/4.x/forms/select#selecting-options-from-a-table-in-a-modal) component lets users select records from a modal that displays a full [Filament table](https://filamentphp.com/docs/4.x/tables/overview) — ideal for relationships with many records that need advanced [search](https://filamentphp.com/docs/4.x/tables/columns/overview#searching) and [filtering](https://filamentphp.com/docs/4.x/tables/filters/overview).
235+
The [`ModalTableSelect`](https://filamentphp.com/docs/4.x/forms/select#selecting-options-from-a-table-in-a-modal) component lets users select records from a modal that displays a full [Filament table](https://filamentphp.com/docs/4.x/tables/overview) — ideal for relationships with many records that need advanced [search](https://filamentphp.com/docs/4.x/tables/columns/overview#searching) and [filtering](https://filamentphp.com/docs/4.x/tables/filters/overview).
230236

231237
### Using JavaScript to minimise network requests
232238

@@ -325,7 +331,7 @@ Table headers are now shown even when no records are present, enhancing the user
325331

326332
See the [bulk actions section](#bulk-actions) of this article.
327333

328-
### Reordering Table Columns
334+
### Reorderable table columns
329335

330336
![Reordering Table Columns](https://filamentphp.com/docs/4.x/images/light/tables/columns/column-manager-reorderable.jpg)
331337

content/authors/apility.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
name: Apility AS
3+
slug: apility
4+
github_url: https://github.com/apility
5+
---
36.6 KB
Loading
29.6 KB
Loading
-354 KB
Binary file not shown.
1.34 MB
Loading

content/authors/ffhs-it.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
name: FFHS IT
3+
slug: ffhs-it
4+
github_url: https://github.com/ffhs
5+
sponsor_url: https://www.ffhs.ch/de/
6+
---
7+
With over 25 years of experience in distance learning, we are Switzerland's leading e-university and an alternative for students who want to combine work, family, and study.

content/authors/leandrocfe.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ name: Leandro Ferreira
33
slug: leandrocfe
44
github_url: https://github.com/leandrocfe
55
twitter_url: https://twitter.com/leandrocfe
6+
sponsor_url: https://github.com/sponsors/leandrocfe
67
---
78

8-
Leandro is a PHP/Laravel developer who has been coding for close to 7+ years. You can learn more about Leandro on his [website](https://leandroferreira.dev.br).
9+
Core team member at [Filament](https://filamentphp.com). Founded the [Filament Brazilian Community](https://filament.com.br).
10+
Learn more at [leandroferreira.dev.br](https://leandroferreira.dev.br).

content/plugins/andreia-bohner-nord-theme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ discord_url: https://discord.com/channels/883083792112300104/1353419846003724378
99
github_repository: andreia/filament-nord-theme
1010
has_dark_theme: true
1111
has_translations: true
12-
versions: [3]
12+
versions: [3, 4]
1313
publish_date: 2025-01-05
1414
---
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
name: Intercom
3+
slug: apility-intercom
4+
author_slug: apility
5+
categories: [widget]
6+
description: Intercom Chat widget for Filament
7+
discord_url: https://discord.com/channels/883083792112300104/1401915152219111596
8+
docs_url: https://raw.githubusercontent.com/apility/filament-intercom/refs/heads/master/README.md
9+
github_repository: apility/filament-intercom
10+
has_dark_theme: false
11+
has_translations: false
12+
versions: [3]
13+
publish_date: 2025-08-04
14+
---

0 commit comments

Comments
 (0)