Why Kill Breeze? The 2 Things I DON'T Like About the Laravel Framework!

Video thumbnail

There are a couple of things I really don't like about Laravel.
First of all, remember this is an opinion video. Also, remember that, as with everything, it's normal to have things we don't 100% like about any tool we use.

Luckily, in Laravel's case, I like practically the entire framework and its ecosystem, but even so, there are certain points that simply don't convince me.
And that's what I want to talk about in this video.

1. They're Killing Breeze... And There's No Replacement in Laravel None!

One of the things that bothers me the most is that they keep killing packages.
Seriously, it's annoying. They already did it with Laravel UI, and now also with Laravel Breeze, packages that are practically the heart of the framework.

Because let's be honest: if you were going to create a Laravel project without using any skeleton like Inertia or Livewire, the only "clean" option you had was Breeze.
And now, there simply is no clear replacement.

2. Annual Updates (and No Real Changes)

Laravel has a habit of releasing updates every year, religiously.
And well... if they were at least complete or stable updates, one would understand.
But many times that's not the case.

I, for example, don't follow the updates so closely; I'm not one of those who are checking every week what Laravel releases. Every so often I review what's new, and I usually do it by watching the Laravel Daily channel, whose name already suggests they publish things very often.
I also usually rely on other channels, because otherwise, honestly, one goes crazy.

3. Incomplete Updates

Another point that bothers me is that they launch incomplete versions several times.
A clear example was Laravel 9. Up until that version (including it), Laravel Mix was used for compiling JavaScript, CSS, etc. files.

But in version 9.2.7, they decided to eliminate Mix and move to Vite.
And watch out, I think it's an excellent change —Vite is much faster—, but my point is:
why release a major version if you don't have everything ready yet?

If the change is so strong and important, simply delay the launch until everything is prepared.
But no, Laravel has this "habit" of releasing a new version every February or March, regardless of whether it's completely functional or not.

4. My Bet: Breeze 2.0 Coming Soon!

This leads me to the next point.
Why eliminate Breeze if there is still no native replacement for authentication in Laravel?

I, for example, don't want to use WorkOS, because I'm not interested in depending on third-party services that, sooner or later, will charge or disappear.
So, what is the point of eliminating Breeze without having its substitute ready?

You lose the thread of work, you break continuity.
A person who wants to start a new project, like me, who plans to do it this year, is left totally in the air.

I'm updating the Livewire and Inertia courses, but I also want to start a small course to create an online store.
My idea was to do it with Laravel 12, but since there is no Breeze or anything to replace it, I simply don't know what to use.

I want to create a pure project, without using Vue, React, or Inertia.
And Laravel today does not offer a native authentication system to replace Breeze.

Yes, Breeze still exists, but it's already indicated that it is no longer part of the official ecosystem and will eventually be discontinued.
So, what's the point?

It's like taking away a base functionality and in the next version telling you:

"No, that's not used anymore."

Without offering a real alternative.

Laravel Breeze from version 12 onwards

Video thumbnail

Laravel Breeze, formerly part of version 11, was one of the available options when creating a new project from scratch within the official Starter Kits. However, starting with Laravel version 12, Breeze is no longer officially part of the ecosystem and has been removed from the official documentation.

It can still be found in the documentation for earlier versions, such as Laravel 11, but it is no longer listed in version 12.

Currently, Laravel 12 does not have an official authentication system. However, both Laravel Breeze and the older Laravel UI can still be used without issue in modern versions of Laravel.

Therefore, if you are creating a new project and do not want to use Livewire or Inertia (which do include built-in authentication), you can continue using Breeze. Just keep in mind that it is no longer officially part of the ecosystem and, therefore, may no longer receive support or future updates.

Conclusion

Laravel remains one of my favorite frameworks, without a doubt.
But these two things —killing essential packages and releasing incomplete versions every year— are practices that, honestly, frustrate me.

I hope that in future versions they find a better balance between innovating and maintaining stability, and that, if possible, they resurrect Breeze or launch a true Breeze 2.0.

The two things I dislike about Laravel: the removal of Breeze and the incomplete annual updates. An honest opinion on the future of PHP's most popular framework.

I agree to receive announcements of interest about this Blog.

Andrés Cruz

ES En español