Only until March 18th: coupon LARAVEL12 for 40% off Yearly/Lifetime membership!

Read more here

New Laravel 12: NO New Features, and That's GOOD!

This week, the Laravel team released many things, including the new Laravel 12, which has.. no new features. And that's GREAT news! Let me explain.

Notice: I'm writing this article on Feb 24, the same day as Laravel 12 is released, so maybe some things will change in the upcoming days/weeks. I will try to update the article in that case.


Laravel 12 is "Boring". Finally.

Four days before the release, Taylor tweeted this:


And now it's fully confirmed in the official Release Notes page in the docs:


We can also check Laravel 12 release on GitHub:

The complete list contains 80+ items, but all of them are:

  • minor improvements
  • bumping up versions of dependencies (Carbon, UUIDs, etc)
  • small fixes

Nothing major, really. Feels like another regular Laravel 11.x weekly version, with maybe more of those small things released at once.


Wait, So WHY is This "Minor" Release Better?

Let's remember the list of new features in Laravel 11 version:

  • New slim skeleton
  • API installed separately
  • New defaults: Pest and SQLite
  • New commands like make:enum, make:class
  • Health /up page
  • PHP 8.2 minimum bump from 8.1
  • etc.

Quite a few almost-breaking changes. Compared to that, Laravel 12 is very minor.

Even before Laravel 11, they typically introduced at least a few significant features in each new yearly version.

Side note: if you're not familiar, Laravel releases major versions once every year in February/March, with no official LTS versions. Every version is supported for 1.5 years with bug fixes, and for 2 years with security fixes.

Over the years, with this yearly major version release cycle, some people got tired of learning/upgrading something new every year. I've seen comments/tweets like these:

So, that's EXACTLY why Laravel 12 is good news. It's like a "minor" version, just bumping the package versions.

It should be a quick upgrade, the only question is about third-party packages: how soon they will bump their versions.


MAJOR Features in MINOR 11.x Versions?

The Laravel team generally switched to the philosophy of launching important features in regular weekly minor releases without waiting for the major number.

Look how many new functions they added in Laravel 11 minor versions, with links to my YouTube videos:

So yeah, I guess this trend will continue, and we will see more new features in weekly Laravel 12.x versions.


How to Try Laravel 12 for a New Project

If you want your laravel new command to install Laravel 12, you need to upgrade your Laravel Installer:

composer global update laravel/installer

If you use Laravel Herd, you should upgrade Herd itself. Its latest version contains the newest version of Laravel Installer. (don't ask me how I found out)

And that's basically it, run laravel new project and enjoy!

If you use the older version of Installer, it may try to run Laravel 12 but fail because of some dependency. In my case, I had problems with older Pest 2.


Upgrade to Laravel 12: Too Early?

Is it worth upgrading the existing project already?

I've tried to upgrade a project from my recent Cursor AI course from Laravel 11 to Laravel 12.

Here's my list of dependencies in that project:

"require": {
"php": "^8.2",
"filament/filament": "^3.2",
"filament/spatie-laravel-media-library-plugin": "^3.2",
"laravel/framework": "^11.31",
"laravel/tinker": "^2.9",
"spatie/laravel-medialibrary": "^11.11"
},
"require-dev": {
"fakerphp/faker": "^1.23",
"laravel/pail": "^1.1",
"laravel/pint": "^1.13",
"laravel/sail": "^1.26",
"mockery/mockery": "^1.6",
"nunomaduro/collision": "^8.1",
"pestphp/pest": "^2.0",
"pestphp/pest-plugin-laravel": "^2.0"
},

So, I bumped laravel/framework to ^12.0 and ran composer update.

As I expected, a few packages prevented the upgrade.

First, it was Pest with its Plugin:

The older version 2 came with previous older Laravel Installer, so there's an easy "cure" to upgrade to this:

"require-dev": {
// ...
"pestphp/pest": "^3.7",
"pestphp/pest-plugin-laravel": "^3.1"
},

But then, the showstopper was Filament, which doesn't support Laravel 12 at the time of writing this:

So, this is "traditional" proof that you probably shouldn't hurry upgrading your existing Laravel projects right away. Wait for a few weeks, then the bugs will be fixed, and the package dependencies will be upgraded.

Update Feb 25: they released Filament v3.3 with Laravel 12 support.

If you use packages that seem abandoned or don't hurry with the new versions, you have these options:

  • Submit a Pull Request to their repository for Laravel 12
  • Fork the package and start using your own version
  • Refactor that code to avoid using that package at all (if possible/worthy)

New Homepages

It's not "new functionality", but still important: there are two new designs released.

The official Laravel.com website now looks like this:

In fact, it's hard to put a single screenshot here because the website is very dynamic. Scrolling causes the elements to move, jump, change, and feel almost like a video game.

Personally, I'm not a big fan of too much animation like this. However, I'm not the target audience. I visit the official homepage very rarely. The homepage's goal is to introduce the framework to not-yet-Laravel developers, so I think this new version will succeed.

Also, after installing Laravel, you will see a new default landing page:

This is a zoomed-in version. The full page feels quite empty and minimal, but perhaps that's intentional. In that centered block, you will find links to the docs, Laracasts, and a button leading to Laravel Cloud.

Overall, the design team at Laravel did a good job.


MORE IMPORTANT THINGS than Laravel 12

With the core framework release being so "minor", the entire focus is on the other new "family members" of Laravel:

We will soon have their reviews on YouTube channel, so subscribe to it or follow me on Twitter to avoid missing them!


What do you think about Laravel 12? Anything important I missed?

avatar
Loganathan Natarajan

Thank you for your reviews and sharing points.

Like our articles?

Become a Premium Member for $129/year or $29/month
What else you will get:
  • 71 courses
  • 93 long-form tutorials
  • access to project repositories
  • access to private Discord

Recent New Courses