What's new in Laravel 10? New updates and features : 2023
Laravel v10 will be released on February 7th, 2023. We wanted to highlight all the new features and changes we know about in this post. In the coming weeks, we will be monitoring what's coming in Laravel 10 and updating this post as the release date approaches.
When is Laravel 10 coming out?
Prior to Laravel 9, major framework versions were released roughly every six months. Rather than releasing Laravel 9 in September 2021, the core team switched to an annual schedule starting with Laravel 9: Within the framework, Laravel uses a number of community-driven packages as well as nine Symfony components. Symfony 6.0 will be released in November. As a result, we have decided to delay the release of Laravel 9.0 until 2022. Delaying the release will allow us to upgrade our Symfony underlying components to Symfony 6.0 without having to wait until September 2022 to do so. Additionally, our yearly releases always occur two months after Symfony's releases, putting us in a stronger position for future releases.
Going forward, this schedule calls for one significant release yearly:
Bug fixes and security updates will be provided for Laravel 9 until August 8th, 2023, and February 6th, 2024, respectively. Bug fixes and security updates for Laravel 10 will be available until August 6th, 2024, and February 4th, 2025, respectively.
PHP 8.0 is no longer supported by Laravel 10
In Laravel 10, the Laravel framework will stop supporting PHP =v8.0. PHP 8.1 is the bare minimum necessary version. Looking at the master and 9.x comparison, we may anticipate seeing 8.1 features—like read-only properties—used in the framework.
Native-type declarations in the skeleton of Laravel 10
Native-type declarations will be present in the application skeleton code in Laravel 10. This indicates that the framework will include type-hints and return types in any userland code it generates. We cover the approach's limitations in our essay, and you'll appreciate the new kinds when working on future projects. Types are being implemented in a way that keeps framework backward compatibility intact while bringing the most recent PHP type-hinting functionality to Laravel projects:
- Approach arguments
- Where feasible, redundant annotations are deleted.
- Permit user-defined land types in closure arguments.
- includes no typed properties
The default is Invokable Validation rules.
Invokable validation rules are now the standard as of Laravel version 10. What to anticipate while creating a new validation rule using Artisan:
# Laravel 9 creates a rule class that implements the
# Illuminate\Contracts\Validation\Rule interface
artisan make:rule Uppercase
# Laravel 9 flag to create an invokable and implicit rule
artisan make:rule Uppercase --invokable
artisan make:rule Uppercase --invokable --implicit
# Laravel 10 creates an invokable rule by default
artisan make:rule Uppercase
# Laravel 10 implicit rule
artisan make:rule Uppercase --implicit
Expired features in Laravel 9
In Laravel 10, methods that were tagged as deprecated in Laravel 9 are being eliminated. The release upgrading guide is likely to include information on all deprecated techniques, potential effect analysis, and upgrade procedures closer to the release.
The following deprecations were discovered when comparing the master branch of the Laravel framework to the 9.x branch at the time of writing:
- Remove various deprecations Pull Request #41136
- Remove deprecated dates property in Pull Request #42587
- Remove handleDeprecation method in Pull Request #42590
- Remove deprecated assertTimesSent method Pull Request #42592
- Remove deprecated ScheduleListCommand's $defaultName property 419471e
- Remove deprecated Route::home method Pull Request #42614
- Remove deprecated dispatchNow functionality Pull Request #42591
Installation of Laravel 10 and its features
PHP 8.0 is only just starting to gain popularity. In the meantime, it's good that Laravel 10 will stop supporting PHP 8.0. Keep in mind that large enterprise software doesn't necessarily need to be upgraded to the most recent version as soon as it is available. Enterprise apps depend on paying customers or workers to do their tasks. They must carry out rigorous testing as they advance gradually but surely.
The top 10 characteristics that make Laravel the best framework are listed below:
Everyone is familiar with Laravel because of its built-in, lightweight templates, which are used to produce stunning layouts with dynamic content seeding. Laravel provides a wide range of widgets that integrate JS and CSS. The templates were cleverly created to produce simple and composite layouts with portions that make the jobs of developers easier.
Artisian (Laravel 10 Installation)
Most of the monotonous and laborious programming activities that PHP writers typically avoid can be completed with the help of an integrated tool provided by Laravel called Artisan. In order to make the database system relatively simple to operate, the artisans can also be used to design a skeleton code, the database's structure, and their migration. In addition, it can manage all of those assets and their configurations by directly generating MVC files via the command line. Developers can create their commands using Artisan as well.
Support for MVC Architecture
Using Laravel, you can separate the business logic layer from the presentation layer by using an MVC design pattern. The MVC design used by Laravel has a number of built-in features that increase scalability, performance, and security for the application.
With the aid of object-oriented libraries, Laravel offers a wide range of amenities to developers. These are exclusive to Laravel, and not available in other PHP frameworks. This pre-installed library contains a number of cutting-edge capabilities, including hashing, password resets, encryption, and the ability to confirm current users.
Eloquent Object Relational Mapping
Laravel provides Eloquent ORM (Object Relational Mapping), which implements a basic PHP Active Record. Instead of writing SQL code, web app developers can use this functionality to write database queries in PHP syntax. ORM is a little bit speedier than prior PHP frameworks.
Powerful Application Security ( Laravel 10 Installation )
Laravel's security features are among its most noticeable attributes. This framework provides advanced and strong web app security, which is quite helpful to the developers. A hashed and salted password process is used by the security features so that the password won't be saved in plain text in the user's database.
Enable modular functionalities and libraries
This framework enables programmers to access pre-installed modular libraries that are inaccessible to most other PHP frameworks. For instance, the Authentication library makes it quite simple to implement. It contains a number of features, including CSRF protection, password reset, Bcrypt hashing, active user verification, and protection and encryption. Additionally, Laravel has been divided into distinct sections that each use cutting-edge PHP ideas to enable the building of modular and responsive web applications.
The migration strategy of this framework enables the web app database to grow without having to be recreated each time the developers make changes to it. Information loss is hence considerably less likely. Using PHP, alters the database's structure Instead of SQL, which uses code. As well as creating database tables and inserting columns or indices quickly, this framework features a Schema Builder feature.
Laravel is used by many web developers because of how it facilitates unit testing. This framework can execute numerous tests to make sure that the new updates made by the programmers don't abruptly break the web application. Since it is aware of its shortcomings, the framework indicated above is generally known to have steady releases within the industry. In addition, it makes writing unit tests very straightforward.
Cached Web Application
Caching is regarded as one of the key components in creating web applications. Redis and Memcached, two popular cache backends, are natively supported by Laravel. Driver caching and cache item storage within the file system are made quite simple by the file. However, for mission-critical apps, an in-memory cache like APC or Memcached will be suitable.