Laravel 9 is now released and includes many new features, including a minimum PHP v8.0 version, controller route groups, a refreshed default Ignition error page, Laravel Scout database engine, Symfony mailer integration, Flysystem 3.x, Improved Eloquent accessors/mutators, and many more features.
Before we jump into the new features, we'd like to point out that starting with Laravel 9, Laravel will release a new major version about every twelve months instead of the previous six-month schedule:
Laravel uses a variety of community-driven packages as well as nine Symfony components for a number of features within the framework. Symfony 6.0 is due for release in November. For that reason, we are choosing to delay the Laravel 9.0 release until 2022.
By delaying the release, we can upgrade our underlying Symfony components to Symfony 6.0 without being forced to wait until September 2022 to perform this upgrade. In addition, this better positions us for future releases as our yearly releases will always take place two months after Symfony’s releases.
From the releases support policy documentation, here’s what you can expect going forward with tentative dates of upcoming releases:
|Version||PHP (*)||Release||Bug Fixes Until||Security Fixes Until|
|6 (LTS)||7.2 - 8.0||September 3rd, 2019||January 25th, 2022||September 6th, 2022|
|7||7.2 - 8.0||March 3rd, 2020||October 6th, 2020||March 3rd, 2021|
|8||7.3 - 8.1||September 8th, 2020||July 26th, 2022||January 24th, 2023|
|9||8.0 - 8.1||February 8th, 2022||February 8th, 2023||February 8th, 2024|
|10||8.1||February 7th, 2023||August 7th, 2024||February 7th, 2025|
Laravel 9 will receive bug fixes until February 2023 and security fixes until February 2024. Here are some of the major features that we’ve covered in detail in our A look at what is coming to Laravel 9 post:
- PHP 8 is the minimum version in Laravel 9
- New Design for routes:list
- New test
--coverageoption displays coverage directly in the terminal
- Anonymous Stub Migrations are now the default
- New Query Builder Interface
- PHP 8 String Functions
- Moved mailer functionality from SwiftMailer to Symfony Mailer
- Flysystem 3.x
- Improved Eloquent Accessors/Mutators
- Implicit Route Bindings With Enums (PHP 8.1)
- Controller Route Groups
- Enum Eloquent Attribute Casting
- Forced Scoped Bindings
- Laravel Breeze API & Next.js
- Laravel Scout Database Engine
- Full-Text Indexes / Where Clauses
- Rendering Inline Blade Templates
- Soketi Echo Server
- Optional Bootstrap 5 Pagination Views
- Improved Ignition Exception Page
Brand new home page design
Find out more about Laravel 9.x
These are just a few of the new features in Laravel 9 and to see a complete list check out the Laravel 9 release notes as well as the upgrade guide. Also, don't forget about Laravel Shift if you want an easy way of updating.
If you prefer video format, check out Laracasts: What's New in Laravel 9 also has free videos about this release.
Finally, we'd like to thank everyone who contributes, submits PR’s, shares ideas, and uses the framework. Laravel is genuinely a global team effort.