This week we shipped Laravel 9.0 - the exciting next chapter in our journey to make web development enjoyable and productive!
Laravel 9 continues the improvements made in Laravel 8.x by introducing support for Symfony 6.0 components, Symfony Mailer, Flysystem 3.0, improved route:list
output, a Laravel Scout database driver, new Eloquent accessor / mutator syntax, implicit route bindings via Enums, and a variety of other bug fixes and usability improvements.
As you may know, Laravel transitioned to yearly releases with the release of Laravel 8. Previously, major versions were released every 6 months. This transition is intended to ease the maintenance burden on the community and challenge our development team to ship amazing, powerful new features without introducing breaking changes.
Therefore, we have shipped a variety of robust features to Laravel 8 without breaking backwards compatibility, such as parallel testing support, improved Breeze starter kits, HTTP client improvements, and even new Eloquent relationship types such as "has one of many".
We hope you enjoy this new release!
— The Laravel Team
Some notable improvements in Laravel 9.0 include:
- Transition from SwiftMailer to Symfony Mailer
- Update to Flysystem 3.x
- Improved Eloquent Accessors / Mutators
- Enum Eloquent Attribute Casting
- Implicit Route Bindings With Enums
- Forced Scoping Of Route Bindings
- Controller Route Groups
- Full Text Indexes / Where Clauses
- Laravel Scout Database Engine
- Rendering Inline Blade Templates
- Slot Name Shortcut
- Checked / Selected Blade Directives
- Laravel Breeze API & Next.js
- Improved Ignition Exception Page
- Improved route:list CLI Output
- Test Coverage Using Artisan test Command
- Soketi Echo Server
- Improved Collections IDE Support
- New Helpers