Laravel 10 released

14/2/2023

Laravel 10, a popular PHP framework, has finally arrived, bringing with it a host of new features and improvements to the popular framework. 

The minimum PHP version required for Laravel 10 is v8.1. A new Laravel Pennant package has been introduced, there are now invokable validation rules, native type declarations, and more ...

Laravel Pennant

Laravel Pennant is an original Laravel package which allows rolling out new Laravel application features for the purpose of A/B testing before fully implementing the features into the Laravel application. This way, the development team can create a feature and deploy it for a part of the audience to see and test. When the new feature is met with success or approval, the feature can be rolled out for the rest of the audience.

Native type declaration

The framework source code now has native type declarations. This also applies to code that is generated by the php artisan command, such as controllers, requests and other classes etc.

Example: 

public function index(): InterestResource|JsonResponse
{
    $user = Auth::user();

    if ($user->cannot('listOwn', Interest::class)) {
        return $this->respondForbidden();
    }

    return new InterestResource(
        $user->interests
    );
}

 

New String Password helper

The Str::password helper is a new additional way how to create a secure password of a specified length. 

 

Upgrading to Laravel 10

Upgrading from Laravel 9 to Laravel 10 is surprisingly easy. In fact, it is the easiest major version upgrade in Laravel's history. The upgrade process is estimated to take around 10 minutes, according to the Laravel 10 Upgrade Guide.