Laravel 7 is now released and includes many new features including Laravel Airlock, better routing speed, custom Eloquent casts, Blade component tags, fluent string operations, a new HTTP client, CORS support, and many more features.
Before we jump into the new features we’d like to point out that starting with version 6, Laravel now follows semver and will release a new major version every six months. You can see how the release process works here.
Laravel Airlock provides a featherweight authentication system for SPAs (single page applications), mobile applications, and simple, token-based APIs. Airlock allows each user of your application to generate multiple API tokens for their account. These tokens may be granted abilities/scopes which specify which actions the tokens are allowed to perform.
Custom Eloquent Casts
Laravel has a variety of built-in, helpful cast types; however, you may occasionally need to define your own cast types. You may now accomplish this by defining a class that implements the CastsAttributes interface.
Classes that implement this interface must define a get and set methods. The get method is responsible for transforming a raw value from the database into a cast value, while the set method should transform a cast value into a raw value that can be stored in the database
Blade Component Tags & Improvements
Blade components have been overhauled to allow tag-based rendering, attribute management, component classes, inline view components, and more. Since the overhaul of Blade components is so extensive, please consult the full Blade component documentation to learn about this feature.
Laravel now provides an expressive, minimal API around the Guzzle HTTP client, allowing you to quickly make outgoing HTTP requests to communicate with other web applications. Laravel’s wrapper around Guzzle is focused on its most common use cases and a nice developer experience.
Route Caching Speed Improvements
Laravel 7 includes a new method of matching compiled, cached routes that have been cached using the route:cache Artisan command. On large applications (for example, applications with 800 or more routes), these improvements can result in a 2x speed improvement in requests per second on a simple “Hello World” benchmark. No changes to your application are required.
Find out more about Laravel v7…
These are just a few of the new features in Laravel 7 and to see a complete list check out the release notes as well as the upgrade guide. Also, don’t forget about Laravel Shift if you want an easy way of updating.
Taylor also gave a walkthrough of some of these features at Laracon Online and, you can still purchase a ticket if you’d like to see that, and Laracasts also has a new series on this release.
As with all releases, Laravel is made possible by so many people and, we’d like to thank everyone that contributes, that submits PR’s, that shares ideas and that uses the framework. Laravel is truly a global team effort.