What is New in Laravel 10 11 and 12

If you have been working with Laravel 9 and now upgraded to Laravel 12 then you may feel like many things have changed. In this post I will guide you about the important new features in Laravel 10 Laravel 11 and Laravel 12. This post is written in simple English and is great for non native speakers.


Laravel 10 Features

Laravel 10 was released in February 2023. It introduced a few major features and improvements.

1. Native Type Declarations

Laravel 10 now uses native PHP types in code. That means functions and variables have type hints like string int or array. This makes code easier to understand and less chance of bugs.

2. Laravel Pennant

This is a new package in Laravel 10 for handling feature flags. If you want to enable or disable a feature for some users you can now do it easily.

Example:

if (Feature::active('new_dashboard')) {
    // Show new dashboard
}

3. Process Interaction

Laravel 10 introduced a new way to run external processes using the new Process facade.

Example:

$result = Process::run('ls -la');

This helps when you want to run commands or tools from PHP code.

4. Improved Validation Rules

Some validation rules are now easier to read and chain. Like this:

'email' => [
    'required',
    'email:rfc,dns',
    Rule::unique('users')->ignore($user->id),
]

5. Laravel 10 Drops PHP 8.0

You now need at least PHP 8.1 to use Laravel 10. This helps use modern PHP features.


Laravel 11 Features

Laravel 11 came out in March 2024. It focused more on simplicity and clean code. Here are the highlights.

1. Slim Skeleton

The default Laravel app is now simpler. Some folders and files are removed. You only get what you need.

No more Http/Kernel.php or RouteServiceProvider.php. Routing is now handled with routes/web.php only.

2. Route Middleware Using Attributes

You can now use PHP attributes to add middleware to routes:

#[Middleware('auth')]
Route::get('/profile', ProfileController::class);

3. Rewritten Application Bootstrap

Laravel 11 has a new bootstrap file which is much cleaner. It improves performance and makes the app easier to understand.

4. Model Cast Improvements

Now you can use custom casts more easily:

protected $casts = [
    'is_admin' => 'boolean',
    'settings' => AsArrayObject::class,
];

5. Simplified Exception Handling

You now only need to define how to render exceptions. Logging and report method are optional.

6. Laravel Reverb

Laravel now supports real time broadcasting with a new package called Reverb. It helps you build live chat apps or dashboards without using external tools like Pusher.


Laravel 12 Features

Laravel 12 is the latest version released in July 2025. It brings more developer friendly features.

1. Model Broadcasting

You can now broadcast model changes automatically:

protected $broadcasts = ['created', 'updated'];

Laravel will send updates to clients when your model is updated.

2. Route Groups in Attributes

You can now group routes using attributes on controllers:

#[Prefix('admin')]
#[Middleware('auth')]
class AdminController {}

This makes code cleaner and avoids repeating routes in web.php.

3. Livewire 3 Support

Laravel 12 comes with support for Livewire 3. It helps you build dynamic frontends without writing JavaScript.

4. Laravel Volt

Volt is a new tool for building frontend UI faster using Livewire and Blade components together. It works great with Laravel 12.

5. Advanced Queue System

Laravel 12 improved the queue worker system. It can now restart automatically on failure and handle memory better.

6. Secure Encryption Upgrade

Laravel 12 uses better encryption standards. If you store sensitive data this will keep it safer. It is backward compatible with Laravel 9 and 10.


Common Improvements in All Versions

Here are some improvements you will notice if you jump from Laravel 9 to Laravel 12:

1. Faster Performance

Each version brings better speed and lower memory usage.

2. Cleaner Directory Structure

Laravel apps are now smaller and easier to read.

3. Less Boilerplate Code

You write less code. Laravel does more for you behind the scenes.

4. More Tools Included

Laravel now includes tools like Pest for testing Laravel Prompts for console commands and Laravel Folio for routing in Livewire apps.

5. Better Dev Experience

Many small changes help you work faster. Like improved error pages auto discovery and type safe routes.


Tips for Upgrading from Laravel 9

  1. First update your PHP version to at least 8.1 or higher

  2. Use Laravel Shift or Laravel Upgrade Guide to check for changes

  3. Test your app carefully after each upgrade step

  4. Refactor your routes to use attributes if possible

  5. Learn about Livewire 3 and Volt if you want modern UIs


Final Thoughts

Laravel has grown a lot from version 9 to 12. It is now more modern faster and developer friendly. If you upgrade your app or start a new project you will enjoy the new tools and cleaner structure.

Do not worry if you feel lost at first. Start using one new feature at a time. Soon you will feel confident with Laravel 12.

This was a long journey from Laravel 9 to 12 but the upgrade is worth it. The future of Laravel looks exciting and powerful.

Thanks for reading. Let me know if you have questions or if you want a deep post about one of the new features.

0
Subscribe to my newsletter

Read articles from Rameez Karamat Bhatti directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Rameez Karamat Bhatti
Rameez Karamat Bhatti

I am a full-stack developer currently working with PHP, Laravel, Tailwind CSS, and Livewire. I also work extensively with Inertia.js to build seamless single-page applications using Vue.js and Laravel. I have experience building reactive frontends with Vue.js and React, and robust backends with REST APIs. I am highly proficient in MySQL, MongoDB, and also comfortable working with PostgreSQL for relational data projects. My focus is on clean, scalable code and building user-focused digital products.