
Released on March 12, 2024, Laravel 11 marks a major update to the Laravel framework, introducing a number of new features and improvements aimed at improving the development experience and application performance. With a focus on efficiency, security, and real-time web application development, Laravel 11 introduces several key improvements and introduces Laravel Reverb, a new WebSocket server for real-time communication.
Laravel Support Policy
Laravel’s support policy ensures that developers receive timely updates, bug fixes, and security patches for their applications. As per policy, Laravel provides 18 months of bug fix support and 2 years of security fix support for every major release. This structured approach to version support allows developers to efficiently plan their upgrade paths, ensuring that their applications remain secure and up-to-date.
Version | PHP supported | Release date | Bug fixes Up to | Security fixes Up to |
---|---|---|---|---|
Laravel 9* | 8.0 – 8.2 | February 8, 2022 | August 8, 2023 | February 6, 2024 |
Laravel 10 | 8.1 – 8.3 | February 14, 2023 | August 6, 2024 | February 4, 2025 |
Laravel 11 | 8.2 – 8.3 | March 12, 2024 | September 3, 2025 | March 12, 2026 |
Laravel 12 | 8.2+ | Q1 2025 | Q3 2026 | Q1 2027 |
Laravel 9 has reached end of life
PHP 8.2 requirement for Laravel 11
With the release of Laravel 11, there has been a major change in the PHP version requirement. Laravel 11 sets PHP 8.2 as the minimum version, aligning the framework with the latest features, performance improvements, and security enhancements offered by PHP 8.2. This decision underscores Laravel’s commitment to leveraging the most modern and powerful technologies available, ensuring that developers can build highly efficient, secure, and innovative applications.
PHP 8.2 introduces numerous new features and optimizations that can greatly benefit Laravel applications. These include improvements to object-oriented programming, new types and features that encourage better coding practices, and performance improvements that can result in faster application execution. By requiring PHP 8.2, Laravel ensures that all applications built on this version will natively take advantage of these improvements, leading to more reliable and efficient web solutions.
Developers planning to upgrade to Laravel 11 or start new projects with it should ensure their server environments are up to date with PHP 8.2. This update not only facilitates compatibility with Laravel 11 but also positions applications to benefit from active PHP support, including security fixes and performance optimizations.
Improved directory structure Kernel.php
Laravel 11 simplifies its directory structure, reducing initial complexity for developers. Especially, bootstrap/app.php
files have been removed and the middleware can now be added directly to the
<?php
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
commands: __DIR__.'/../routes/console.php',
health: '/up',
)
->withMiddleware(function (Middleware $middleware) {
//
})
->withExceptions(function (Exceptions $exceptions) {
//
})->create();
app.php config
The
config/broadcasting.php
config/cors.php
config/hashing.php
config/sanctum.php
config/view.php
The directory has been reduced by removing some of the files previously included in Laravel 10 such as: routes
The
routes/api.php
routes/channel.php
routes/console.php
The directory has also been cleaned up a bit by removing:
Impatient load limit
class User extends Model
{
public function posts()
{
return $this->hasMany(Post::class);
}
}
class Post extends Model
{
// ...
}
$users = User::with(['posts' => function ($query) {
$query->latest()->limit(10);
}])->get();
The introduction of the impatient load limit feature allows developers to efficiently search for relevant models without overloading the system with unnecessary data. This feature optimizes the data loading process, making it possible to limit the number of related records that are loaded, thereby improving application performance. In previous versions of Laravel you had to install a separate package for eager loading limit.
Model Casts as methods
use App\Enums\UserOption;
use Illuminate\Database\Eloquent\Casts\AsEnumCollection;
// ...
/**
* Get the attributes that should be cast.
*
* @return array<string, string>
*/
protected function casts(): array
{
return [
'email_verified_at' => 'datetime',
'password' => 'hashed',
'options' => AsEnumCollection::of(UserOption::class),
];
}
Laravel 11 allows casts to be defined as methods within model classes, offering more flexibility in how data is passed when retrieved or stored in the database. This method-based approach provides a cleaner and more dynamic way to handle data passing, improving the overall readability and maintainability of the code. $cast
For comparison, in Laravel 10 this cast model will be specified using
protected $casts = [
'options' => AsEnumCollection::class.':'.UserOption::class,
];
array property, but you won’t be able to call static methods.

Laravel Reverb: Real-Time Communication
Laravel Reverb stands out as one of the most exciting additions to Laravel 11, offering a first-party WebSocket server that facilitates real-time communication between the client and the server. Reverb is designed for high performance, capable of supporting thousands of simultaneous connections without the inefficiencies of HTTP metering. It integrates seamlessly with Laravel’s existing streaming capabilities and is built for scalability, with support for horizontal scaling using Redis. This makes it a powerful solution for developers who want to integrate real-time features into their apps, such as live chat, notifications, and dynamic content updates.
Reverb is optimized for speed and seamlessly integrates with Laravel Forge for development, offering built-in monitoring support with Pulse. Using the Pusher protocol ensures compatibility with Laravel Broadcast and Laravel Echo, making it easier to develop attractive and interactive web applications.
Practical Implementation and Scaling
Implementing Laravel Reverb involves installing the package, configuring it according to your project’s requirements, and incorporating its optimizations to improve your application. Testing and validating these integrations is critical to ensuring real-time capabilities perform as expected. It is also recommended to monitor application performance after deployment to identify and address any potential bottlenecks.
New Artisan Orders
Laravel 11’s new Artisan commands are a boon to developer productivity, greatly reducing the boilerplate code required when adding new components to an application. With commands to create classes, enums, interfaces, and attributes, developers can now create new parts of their application with minimal effort. These commands are designed to streamline the development process, enabling faster setup and building of application logic and data representations. Using these commands, developers can adhere to code organization and maintenance best practices, ensuring that their codebase remains clean and well-structured. php artisan make:enum
For example, his introduction php artisan make:interface
simplifies the creation of enums, which are useful for defining a set of named constants. Enums can make your code more readable and less error-prone by limiting the values a variable can have. Likewise, the php artisan make:trait
and
Directives facilitate the adoption of SOLID principles by promoting the use of interfaces to define conventions within an application and attributes to share methods between classes.
Health Route and APP_KEY Rotation /up
The
Health route and the APP_KEY rotation feature are critical to maintaining the security and reliability of Laravel applications. Health route provides a simple way to verify that your application is running and responsive, making it valuable for uptime monitoring and notification systems. By incorporating this path, developers can easily define health checks that monitor the state of the application, quickly detecting and responding to any outages. APP_KEY
The APP_KEY rotation feature addresses a common security problem by allowing secure rotation of the application’s encryption key without risk of data loss. In previous versions of Laravel, changing it APP_PREVIOUS_KEYS
could result in inaccessible data due to the encryption dependency on this key. Laravel 11 introduces a more flexible approach, allowing old data to be decrypted with previous keys specified in
environment variable when encrypting new data with the current key. This feature is necessary to maintain high security standards, as regularly rotated keys can protect against certain types of cryptographic attacks without the downside of losing access to encrypted data.
Install Laravel 11
If you want to set up a fresh Laravel 11 installation, you’ll just follow the normal procedures for installing Laravel manually or through Softaculous.
How to upgrade to Laravel 11
There are two paths you can take to upgrade to Laravel 11. You can upgrade manually by following the Laravel Upgrade Guide or pay for Laravel Shift to automate the upgrade process.
conclusion
Together, these improvements in Laravel 11 underscore the framework’s commitment to facilitating efficient development practices while ensuring application security and resilience. By incorporating these features, Laravel continues to provide a strong foundation for building and maintaining modern PHP applications, keeping up with the evolving needs of developers and the industry at large.
check mark
check mark
check mark
check mark
Developer Tools
Laravel Hosting
Related