Laravel 9 is Coming Soon – A Glance at New Features of Major Release!

By: Skynet Technologies USA LLC
8 mins
500
Laravel 9

There is no surprise that Laravel has become one of the best PHP frameworks for building enterprise grade web applications, custom and robust applications.

Laravel always aims to make the development process smoother and faster; So, they are always looking for fresh releases with new functionalities, improvements, features and much more.

Recently, they have announced to release of Laravel version 9 in early 2022, and it will be the next Long-Term Support version of Laravel. In this article, you will get an information on all the Laravel 9 new features and updates that have been announced so far.

Laravel 9 Release Date Updates

Laravel version 9 was supposed to be published in September of this year, but the Laravel team decided to postpone it until January 2022:

  • For a number of features within the framework, Laravel uses a variety of community-driven packages as well as nine Symfony components. In November, Symfony 6.0 will be released. As a result, the Laravel team has been decided to postpone the release of Laravel 9.0 until January 2022.
  • The two-month delay will allow the team to monitor how Laravel interacts with the new Symfony version. It also allows them to fix any issues or breaking updates.
  • Laravel 9.0 will be available with upgraded Symfony components to Symfony 6.0 without being wait until September 2022. Additionally, it will allow Laravel to make better prepared for future releases as well as their yearly releases will always take two months after Symfony’s releases.

Laravel team has scheduled their future major releases:

  • Laravel 9: January 2022
  • Laravel 10: January 2023
  • Laravel 11: January 2024

Take a Glance at Laravel 9 New Features

PHP 8 the minimum version in Laravel 9

Laravel 9 development will require Symfony 6.0, which has minimum requirement of PHP 8 hence Laravel 9 will be restricted in the same way.

Anonymous Stub Migrations

Laravel 8.37 introduced a new feature called Anonymous Migrations earlier this year, which prevents migration class name collisions. The issue is that when trying to recreate the database from scratch, numerous migrations with the same class name can cause problems. The new stub migration eliminates the migration class name collisions. The Laravel framework 8.37 now supports anonymous class migration files, it will be the default behaviour when Laravel 9 will be launched and when you execute “php artisan make:migration”.

SKIP CODE

1use Illuminate\Database\Migrations\Migration;
2use Illuminate\Database\Schema\Blueprint;
3use Illuminate\Support\Facades\Schema;
4 
5return new class extends Migration {
6 
7 /**
8 * Run the migrations.
9 *
10 * @return void
11 */
12 public function up()
13 {
14 Schema::table('people', function (Blueprint $table) {
15 $table->string('first_name')->nullable();
16 });
17 }
18};

New Query Builder Interface

Laravel 9 will include a new Query Builder Interface. In Laravel 9 type hinting is extremely reliable for refactoring, static analysis, and code completion in their IDEs. The lack of a shared interface or inheritance between Query\Builder, Eloquent\Builder, and Eloquent\Relation is the reason behind this. Developers can take advantage of the new query builder interface for type hinting, refactoring, and static analysis with Laravel 9. You can see it in more detail in this merged PR.

SKIP CODE

1return Model::query()
2 ->whereNotExists(function($query) {
3 // $query is a Query\Builder
4 })
5 ->whereHas('relation', function($query) {
6 // $query is an Eloquent\Builder
7 })
8 ->with('relation', function($query) {
9 // $query is an Eloquent\Relation
10 });

This feature includes a new

Illuminate\Contracts\Database\QueryBuilder interface and a Illuminate\Database\Eloquent\Concerns\DecoratesQueryBuilder trait implements the interface in place of the existing __call implementation.

PHP 8 String Functions

Since PHP 8 will be the minimum, Tom Schlick submitted a PR to move to using str_contains(), str_starts_with() and str_ends_with() functions internally in the \Illuminate\Support\Str class.

From Swift Mailer to Symfony Mailer

Symfony deprecated Swift Mailer and Laravel 9 makes the change to use Symfony Mailer for mail transports. There are a few breaking changes as a result, you can see the PR for more information.

Laravel 9 is still a few months away, and there is an expectation for more new features and announcements.

So, be ready for the next major release of Laravel 9 and upgrade your Laravel application. Skynet Technologies is specialized in Laravel development services including custom development, Laravel enterprise solution, restful API development, extension development, Laravel migration and upgrades, patch upgrades, third-party integration services, CRM (customer relationship management) development, e-commerce & CMS (content management system) development, template design services, and much more.

Not limited to this, we are acknowledged as an official Bagisto solution partners. Bagisto is one of the Laravel ecommerce package to build and scale your business! We provide end-to-end Bagisto Development services to make your store stand out from your competitors.

We are recognized as an international partner of Aimeos, a Laravel ecommerce package owing to the unparalleled expertise shown in the delivery of e-commerce websites. We assist our clients in developing a cost-effective, well-supported, and fully functional e-commerce store with Aimeos ecommerce services!

Hire our Laravel developers who are proficient to manage both front-end as well as the backend of even large-scale enterprise-grade web applications.

2428