Latest in branch 11.0
11.6.1
Released 28 Jan 2025
(1 year ago)
SoftwareLaravel
Version11.0
Status
End of life
Supported
PHP versions
PHP 8.2 - 8.3
Initial release11.0.0
12 Mar 2024
(2 years ago)
Latest release11.6.1
28 Jan 2025
(1 year ago)
End of bug fixes03 Sep 2025
(Ended 9 months ago)
End of security fixes12 Mar 2026
(Ended 2 months ago)
Release noteshttps://github.com/laravel/laravel/releases/tag/v11.6.1
Source codehttps://github.com/laravel/laravel/tree/v11.6.1
Documentationhttps://laravel.com/docs
Downloadhttps://laravel.com/docs/master/installation
Laravel 11.0 ReleasesView full list

What Is New in Laravel 11.0

Category Key Changes
New Features Streamlined Application Skeleton, Per-Second Rate Limiting, New Artisan Commands
Improvements Dumpable Trait, Model Cast Improvements, Resendable Mail
Developer Experience Automatic Pest Scaffolding, Health Routing, Slimmed Default Migrations
Deprecated Removed Deprecated Code from Previous Releases

How is the application structure streamlined?

Laravel 11 introduces a dramatically simplified application structure. The framework now ships with a minimal set of files, removing the need for many that were previously generated by default.

For instance, the app/Providers directory is no longer created. The base AppServiceProvider is now optional, and functionality from other providers has been moved into the bootstrap process. This makes the application skeleton much cleaner and easier to navigate for new developers.

What new tools are available for rate limiting?

You can now configure rate limiting with per-second granularity. This is a significant upgrade from the previous per-minute limitation, allowing for much more precise control over how often an action can be performed.

In practice, this means you can define a throttle in your routes file that allows, for example, 10 requests per second instead of 600 per minute. This is crucial for building robust APIs that need to handle high-frequency traffic without being overly restrictive.

RateLimiter::for('api', function (Request $request) {
    return Limit::perSecond(10)->by($request->user()? ->id ?: $request->ip());
});

How has working with models improved?

Model casts have been enhanced with a new method-based approach. You can now define casts using a method instead of being limited to the property array, offering more flexibility for complex casting logic.

The new Dumpable trait is another win for debugging. You can replace dd and dump calls on your objects with ->dump() and ->dd() methods, making the code cleaner and more object-oriented.

class User extends Model
{
    use Dumpable;

    protected function casts(): array
    {
        return [
            'email_verified_at' => 'datetime',
        ];
    }
}

// Usage
$user->dump();

What Artisan commands were added?

Several new Artisan commands were introduced to boost productivity. The make:class command is a general-purpose tool for generating any PHP class, reducing the need to remember specific make commands for less common files.

More importantly, the make:model command now includes a --migration flag and the ability to create a policy and factory simultaneously with --policy and --factory flags. This streamlines the process of generating a full suite of model-related files in one go.

How is mail handling better?

Sending mail is now resendable. The Mail::send function returns an instance of SentMessage which contains a send method. This allows you to easily resend a message if needed, providing more control over the mail delivery process.

This is useful for scenarios where you might want to implement a "resend confirmation email" feature without having to reconstruct the entire mailable object from scratch.

FAQ

Is the old application structure from Laravel 10 still supported?
Yes. While Laravel 11 creates a slimmed-down skeleton by default, you can use the laravel new example-app --template=laravel command to create a new application with the previous, more extensive file structure.

What happened to the default HTTP/Kernel and Console/Kernel files?
They have been removed. Middleware and console commands are now configured directly in the bootstrap/app.php file using the application's ->withMiddleware() and ->withCommands() methods, centralizing the configuration.

Do I have to use Pest for testing in Laravel 11?
No. While the installer will now automatically scaffold Pest tests if you have the Pest plugin installed globally, it will fall back to PHPUnit if you do not. The choice of testing framework remains yours.

How do I handle scheduled tasks without the Console Kernel?
Scheduling is now done directly in the routes/console.php file. You can define your scheduled commands there using the Schedule facade, keeping all console-related logic in one place.

Were any previously deprecated features finally removed?
Yes. Laravel 11 cleans up all code that was marked as deprecated in earlier releases. This includes removing the deprecated date cast in favor of datetime and dropping support for the deprecated HEADER_X_FORWARDED_ALL constant.

Releases In Branch 11.0

VersionRelease date
11.6.128 Jan 2025
(1 year ago)
11.6.021 Jan 2025
(1 year ago)
11.5.114 Jan 2025
(1 year ago)
11.5.017 Dec 2024
(1 year ago)
11.4.010 Dec 2024
(1 year ago)
11.3.319 Nov 2024
(1 year ago)
11.3.222 Oct 2024
(1 year ago)
11.3.115 Oct 2024
(1 year ago)
11.3.015 Oct 2024
(1 year ago)
11.2.108 Oct 2024
(1 year ago)
11.2.011 Sep 2024
(1 year ago)
11.1.503 Sep 2024
(1 year ago)
11.1.416 Jul 2024
(1 year ago)
11.1.309 Jul 2024
(1 year ago)
11.1.202 Jul 2024
(1 year ago)
11.1.104 Jun 2024
(2 years ago)
11.1.028 May 2024
(2 years ago)
11.0.921 May 2024
(2 years ago)
11.0.814 May 2024
(2 years ago)
11.0.707 May 2024
(2 years ago)
11.0.609 Apr 2024
(2 years ago)
11.0.502 Apr 2024
(2 years ago)
11.0.426 Mar 2024
(2 years ago)
11.0.314 Mar 2024
(2 years ago)
11.0.213 Mar 2024
(2 years ago)
11.0.113 Mar 2024
(2 years ago)
11.0.012 Mar 2024
(2 years ago)