Laravel 10 New Features and Latest Updates
calendar_month 16 Apr 2023 | Laravel
In this tutorial you will learn about Laravel new version Laravel 10. Laravel is a powerful and flexible PHP web framework that has gained tremendous popularity in the world of web development. Laravel introduces features aimed at improving application security, functionality, and performance, giving developers a rich set of tools and features that make it easy to build robust and scalable web applications.
Here, I'll show you the new features and latest updates in Laravel 10, and how to install Laravel 10. Take a look at what's coming with Laravel 10:
Laravel 10 release date
According to the Laravel Support Policy, Laravel 10 was released in February 2023, but that doesn't mean you should update all your projects right away. Laravel 9 will receive bug fixes until August 23, 2023 and security fixes until February 6, 2024.
How to install Laravel 10?
Installing Laravel 10 is very easy. If you are using the official laravel installer, you can install laravel 10 using the following command which has a --dev
flag, which installs the master branch from the laravel/laravel repository
.
laravel new laravel-app --dev
Or, if you prefer to use Composer explicitly:
composer create-project --prefer-dist laravel/laravel laravel-app
What’s new in Laravel 10: features and latest updates
1. Laravel 10 Dropped support for PHP 8.0 and lower
There is no support for PHP version 8.0 and below in Laravel 10, it requires PHP 8.1 or PHP 8.2.
2. Eager loading optimization in Laravel 10
This new eager load optimization feature is like a plugin that handles the problem of multiple unexecutable queries. So even if there are no keys to load, Laravel still executed these queries without the proper information. This issue has been resolved in Laravel 10 as it will now check for available keys and then only execute database queries. In case there is no key, it will return an empty collection and no queries are needed.
3. dispatchNow() method has been removed in Laravel 10
The dispatchNow()
method was removed because it was deprecated in Laravel 9 in favor of dispatchSync()
. And now, it's been removed from Laravel 10, so be sure to find and replace it in all your projects. It may be a radical change, but it is an extremely easy fix.
Many deprecated methods and properties have been removed
Releasing a major version also means that Laravel removes features that have been deprecated in Laravel 9, so most of them have been removed.
Here’s a list of all PRs taking care of that:
[10.x] Remove deprecated Route::home method
[10.x] Remove deprecated assertTimesSent
[10.x] Remove deprecated method
[10.x] Remove deprecated dates property
[10.x] Use native php 8.1 array_is_list function
4. Validation rules will be invokable by default in Laravel 10
Until Laravel 9, if you wanted to create a invokable validation rule, you had to add an --invokable
flag with the php artisan make:rule
command. But with the latest version, you won't need it anymore because Laravel 10 validation rules will be invokable by default.
php artisan make:rule Uppercase
5. Laravel 10 use Native Type Declarations in Skeleton Code
In Laravel 10, native type declarations are used instead of DocBlocks. It offers developers an improved experience.
/**
* Handle the User "created" event.
- *
- * @param \App\Models\User $user
- * @return void
*/
- public function created($user)
+ public function created(User $user): void
Ashwani Kumar
I'm a dedicated full-stack developer, entrepreneur, and proud owner of buildwithphp.com. I reside in India, where I draw inspiration to create helpful tutorials and tips for fellow artisans. I'm deeply passionate about technologies like Bootstrap, PHP, CodeIgniter, Laravel, Node, React, JavaScript, and jQuery. I believe in working hard consistently, which keeps me motivated and driven. Challenges are opportunities to learn, setbacks are lessons. I find inspiration in the endless potential of technology and aim to make a meaningful impact with my work.
Buddy! I hope you relished the tutorial, and it was good to see you again. Keep learning. Keep visiting.