Skip to content

Commit 969d199

Browse files
committed
Add initial draft of beta release date article
1 parent e04c4b0 commit 969d199

File tree

1 file changed

+159
-0
lines changed

1 file changed

+159
-0
lines changed
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
---
2+
title: "All About the Filament v4 Beta Release"
3+
slug: alexandersix-all-about-the-filament-v4-beta-release
4+
author_slug: alexandersix
5+
publish_date: 2025-04-28
6+
categories: [general]
7+
type_slug: news
8+
---
9+
10+
## It's time for v4 Beta details
11+
12+
We've had a lot of exciting news come from the Filament project overthe past
13+
few years, but none has been more avidly requested than news on the v4
14+
release. Well, today, in this post, we're going to drop some exciting details
15+
about the v4 Beta that is going to release in the near future. Get excited,
16+
because it's almost time!
17+
18+
## Filament v4
19+
20+
Filament v4 is the biggest, most feature-packed release that Filament has
21+
ever had. Honestly, until I looked hard into all of the features that are
22+
being released, I was pretty skeptical of that. After all, Filament v3
23+
was a MASSIVE release that was over 100 minor versions in the making!
24+
We're all pumped for all of you in the Filament community to get your hands
25+
on v4 and let us know what you think of all the hard work that the team
26+
has poured into this latest major release!
27+
28+
Before we get to the launch details (ooooh the suspense!), let's talk a bit
29+
about some of the features that the team is most excited about that are
30+
coming in Filament v4:
31+
32+
### Nested Resources
33+
34+
One of the longest-running requests that we've receieved for Filament is
35+
to build nested resources right into Filament. Now, with v4, we've done
36+
just that!
37+
38+
For those who may have never heard of nested resources, what these will
39+
allow you to do is operate on a given Filament resource within the context
40+
of a parent resource. For example, when working on a learning-management
41+
system, you'd likely have a `CourseResource` class to back your `Course`
42+
model. Within a `Course`, you'd also likely have many related `Lesson`
43+
objects that contain the actual lesson material.
44+
45+
Previously, in v3, you could edit related `Lesson` records via a modal
46+
within the `CourseResource`. This would open a modal with a form where
47+
you could make your adjustments. However, in the case of something like
48+
a `Lesson`, a simple modal form may not actually be enough. Instead, you
49+
may have preferred to edit a `Lesson` in the context of its related
50+
`Course`, but in a full page. Now, in v4, nested resources allow you to
51+
do these edits of a child resource in the context of its parent.
52+
53+
Creating a nested resource is easy--you use the `make:filament-resource`
54+
command as you would to create a normal resource, but you tack on
55+
the `--nested` flag. Once done, you will end up with a `Resource`
56+
class that is connected to its parent resource and can be edited
57+
in the context of its parent.
58+
59+
We're really excited about this addition, and we hope that it's
60+
a simple, enjoyable solution that you can use in your Filament applications!
61+
62+
### Multi-Factor Authentication
63+
64+
For a long time, the Panel package within Filament has included an authentication
65+
system for logging in, registering, etc. Without any tweaks, this system
66+
has worked extremely well for lots of applications. However, while a
67+
standard email/password only authentication system works for many apps, we
68+
fully acknowledge that there is a need for more layers of security built
69+
in for other types of applications.
70+
71+
In general, we consider multi-factor authentication to be almost a
72+
necessity in the modern era of application authentication, so in an
73+
effort to help developers build more secure applications, we've done
74+
the heavy lifting for you!
75+
76+
In the interest of giving developers more options,
77+
we have upgraded our authentication system for v4 to include multi-factor
78+
authentication as an option out of the box! When MFA is enabled by the
79+
application developer, users will need to take an additional step when
80+
registering and logging into the application to set up multi factor
81+
auth. You can allow users to use either the Google two-factor auth system
82+
(ex: Google Authenticator) or the email code authentication system
83+
(ex: sending a one-time password to the given email address).
84+
85+
That's it, all you have to do is enable the system and Filament will
86+
do the work for you! No setting up the MFA registration UI, no managing
87+
the MFA authentication flow, it's all taken care of with the flip of a switch.
88+
89+
### Static Table Data
90+
91+
Another common request that we've heard a lot over the years is allowing
92+
developers to use Filament tables with data that isn't backed by a `Model`
93+
class. In the past, our recommendation has been to create a "Model" backed
94+
by [Sushi](https://usesushi.dev/), but this doesn't work in all situations.
95+
96+
Because of this, we have spent a lot of time going back to the drawing
97+
board for Filament's tables, and they are now able to take in static, non-Model
98+
data and display them with all of the same features and niceities that you
99+
know and love from the existing Filament tables package!
100+
101+
To add static data to a Filament table, it's as simple as passing an array
102+
of the data that you'd like to display into the `records()` method that
103+
is now present on the `Table` object. Once you've done that, Filament
104+
will render out whatever data you passed in. Nice and simple!
105+
106+
### Unified Schemas & Actions
107+
108+
While we were ripping out the Filament Tables package and rebuilding it
109+
for static data, we figured it was a good time to perform some restructuring
110+
of the Forms, Infolists, and Actions as well.
111+
112+
In v3, Form components live in the `Forms` namespace and Infolist components
113+
live in the `Infolist` namespace. However, as we stepped back and looked
114+
at these two systems, we noticed that they have a lot in common and could
115+
benefit a lot by being intertwined. So, in v4 we have migrated all Form
116+
and Infolist components into the `Schema` namespace. This means that you'll
117+
have one less namespace to worry about, but more importantly, you can now
118+
mix and match Form and Infolist components in the same Schema area!
119+
120+
In a similar vein, in Filament v3, Actions have always been a bit of a tripping
121+
hazard for developers of all levels. When going to use an Action, it was
122+
fairly common to start typing out the `Action` class into your code editor,
123+
just to have it autocomplete the import for the _wrong_ `Action` class.
124+
Additionally, when creating custom Actions, it was far too easy to accidentally
125+
extend the wrong Action, or to need to create multiples of the same Action,
126+
just to use it in a Form, Infolist, Table, etc. To combat all of this, we
127+
have updated Actions to (almost) all extend from the same base Action class. This
128+
then means that you'll practically never import the wrong Action class again,
129+
and, more importantly, you can now create Actions that are reusable across
130+
multiple different Filament packages (Forms, Infolists, Tables, etc.).
131+
132+
### Performance Improvements
133+
134+
Last, but certainly not least, the team has been hard at work knocking
135+
out some incredible performance improvements within the Filament codebase.
136+
We've scoured each and every class to figure out where the biggest bottlenecks
137+
existed in v3, and in doing so, we have seen **MASSIVE** performance boost
138+
in specific applications when upgrading to Filament v4. There's a lot of
139+
technical details surrounding these performance enhancements that we'll
140+
likely need to make an entirely separate post about, but when you get your
141+
hands on v4, let us know if you notice your applications running more quickly
142+
after the upgrade!
143+
144+
## The announcement we've all been waiting for
145+
146+
Speaking of getting our hands on the v4 Beta, by reading all of the way
147+
through this post (I _know_ you didn't just skip down here, right?), I think
148+
you've earned the right to know that the Filament team has officially settled
149+
on a v4 Beta release date.
150+
151+
You won't have to wait much longer, because we will be releasing the Filament
152+
v4 Beta on ________!
153+
154+
We're so excited for you all to get your hands on v4 and let us know. Remember
155+
that this upcoming release **IS STILL JUST A BETA**, so we do not recommend
156+
using this in any production or otherwise mission-critical applications.
157+
158+
What are you most excited for in v4? Hit us up on Twitter or Bluesky
159+
and let us know what you're looking most forward to!

0 commit comments

Comments
 (0)