You read it right, Laraval 9 is available! 🚀
Since Laravel 8, the Laravel team has been releasing a new release every year, instead of every six months. According to the schedule, the release of Laravel 9 was normally scheduled for September 2021, but was postponed in order to run completely future proof on Symfony.
That's also one of the main reasons for this release's existence: seamless integration with the upstream Symfony 6.0 components.
Laravel 9 is a release with Long Term Support. Support here means that the Laravel maintainers commit to update, patch and maintain the core software of the framework for an extended period of time. You can see a handy overview at https://laravelversions.com/. Thus, this version will enjoy security fixes until early 2025.
As developers, we often feel the urge to choose the newest of the newest, but that is not always in line with the customer's requirements. We sound out your long-term ambitions in order to implement the right software for your case. Thanks to this new version, we can put aside for a moment the question of starting with the latest, top notch Laravel, or this one with LTS. After that, a new LTS version will undoubtedly be ready.
Applications still running on Laravel 6 will only get support until summer 2022 at the latest.
Let's discuss together how to give your application back a long-term vision.
As always, the upgrade path is very well documented. If you don't use outdated code or overwrite any of Laravel's own then this update should go very smoothly.
What is especially important is the minimum PHP requirement of 8.0.2. PHP 7.4 will be EOL at the end of November 2022, so this is certainly not a luxury when starting a new project. It is best to check if your server stack can handle it.
Your current application may have specific implementations that require expert knowledge. We will use our knowledge and experience with Laravel since version 4 in addition to automated tools like Laravel Shift to make the upgrade as seamless as possible.
Although we aspire to write documentation as good as the creators and maintainers of Laravel, we still refer primarily to the Laravel documentation for a full list of new features.
What stuck with us:
Swiftmailer makes way for Symfony Mailer, a completely reworked, modernized package that helps deliver mails securely to recipients.
Flysystem, the underlying package that handles file management, has been upgraded from 1.x to 3.x at once. This is a hefty upgrade, but provides more stability, features and consistency.
Enums, in the PHP world since version 8.1, also find their place within Laravel: Eloquent models can be provided with attribute casting and the route binding can also handle this in a handy way.
Scout, which is responsible for search functionalities, can now also use the database directly as an underlying engine. Ideal for smaller projects, or in the beginning of development, when there is sometimes a limited stack and data.
Besides the further implementation of native types, there are a number of other things that the neatfreaks among us will be very happy about, such as the Collections IDE support and perhaps also a new Query Builder Interface.