Laravel 9

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:

VersionPHP (*)ReleaseBug Fixes UntilSecurity Fixes Until
6 (LTS)7.2 – 8.0September 3rd, 2019January 25th, 2022September 6th, 2022
77.2 – 8.0March 3rd, 2020October 6th, 2020March 3rd, 2021
87.3 – 8.1September 8th, 2020July 26th, 2022January 24th, 2023
9 (LTS)8.0 – 8.1February 8th, 2022February 8th, 2024February 8th, 2025
108.0 – 8.1February 7th, 2023August 7th, 2024February 7th, 2025

Laravel 9 is the next long-term support version (LTS) and will receive bug fixes until February 2024 and security fixes until February 2025. 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 --coverage option 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
  • New str() and to_route() helper functions

Brand new home page design

The Laravel website got a fresh new design for the launch of Laravel 9. It was designed by @martinrariga, with Torchlight syntax highlighting that we also use here on this site.

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.