Upgrade Guide
High Impact Changes
Medium Impact Changes
- Blade Components & "Blade X"
- CORS Support
- Factory Types
- Markdown Mail Template Updates
- The
Blade::component
Method - The
assertSee
Assertion - The
different
Validation Rule - Unique Route Names
Upgrading To 7.0 From 6.x
Estimated Upgrade Time: 15 Minutes
We attempt to document every possible breaking change. Since some of these breaking changes are in obscure parts of the framework only a portion of these changes may actually affect your application.
Symfony 5 Required
Likelihood Of Impact: High
Laravel 7 upgraded its underlying Symfony components to the 5.x series, which is now also the new minimum compatible version.
PHP 7.2.5 Required
Likelihood Of Impact: Low
The new minimum PHP version is now 7.2.5.
Updating Dependencies
Update the following dependencies in your composer.json
file:
laravel/framework
to^7.0
nunomaduro/collision
to^4.1
phpunit/phpunit
to^8.5
laravel/tinker
to^2.0
facade/ignition
to^2.0
The following first-party packages have new major releases to support Laravel 7. If there are any, read through their individual upgrade guides before upgrading:
- Browser Kit Testing v6.0
- Envoy v2.0
- Horizon v4.0
- Nova v3.0
- Passport v9.0
- Scout v8.0
- Telescope v3.0
- Tinker v2.0
- UI v2.0 (No changes necessary)
Finally, examine any other third-party packages consumed by your application and verify you are using the proper version for Laravel 7 support.
Symfony 5 Related Upgrades
Likelihood Of Impact: High
Laravel 7 utilizes the 5.x series of the Symfony components. Some minor changes to your application are required to accommodate this upgrade.
First, the report
, render
, shouldReport
, and renderForConsole
methods of your application's App\Exceptions\Handler
class should accept instances of the Throwable
interface instead of Exception
instances:
use Throwable;
public function report(Throwable $exception);
public function shouldReport(Throwable $exception);
public function render($request, Throwable $exception);
public function renderForConsole($output, Throwable $exception);