Upgrade Laravel 6.x to Laravel 7.x

The Laravel 7.x Shift automates the upgrade of your Laravel application from Laravel 6.x to Laravel 7.x. Using the Laravel 7.x Shift to automatically upgrade your Laravel application has an estimated time savings of 1 hour.

It's important to remember Laravel 7.x is the latest version. As such, both Laravel and the Laravel 7.x Shift will continue to receive updates. Subscribe to a Shift CI plan to stay current forever.

Requirements

  • A Laravel application running Laravel 6.0 or higher.
  • A server running PHP 7.2.5 or higher.

Core Upgrades

The Laravel 7.x Shift automates many of the upgrades listed in the Laravel Upgrade Guide, including:

  • Converting method signatures for the underlying Symfony 5 changes.
  • Replacing references to the deprecated Resource class.
  • Renaming core methods to their new names.
  • Adding the new laravel/ui package dependency.
  • Detecting backward incompatibilities within your application code.
  • Updating composer.json for Laravel 7.x.

Additional Upgrades

In addition to the Core Upgrades, the Laravel 7.x Shift performs additional upgrade beyond those listed in the Laravel Upgrade Guide, including:

  • Adopting the Laravel code style.
  • Modernizing PHP syntax, such as the short array syntax.
  • Converting string based class references to ::class references.
  • Updating core config files to their Laravel 7 versions.
  • Migrating core references to their new location.
  • Bumping the constraints for known package dependencies.

Manual Upgrades

There are some upgrades the Laravel 7.x Shift can not perform automatically. When Shift detects these it adds a detailed comment on the Pull Request to help guide the manual upgrade.

While Shift attempts to detect and automate the updates for common community packages, you should review the changelog for your dependencies for any additional updates.

Still have questions? Message @laravelshift on Twitter or email shift@laravelshift.com.