Upgrade Laravel 7.x to Laravel 8.x

The Laravel 8.x Shift automates the upgrade of your Laravel application from Laravel 7.x to Laravel 8.x. Using the Laravel 8.x Shift to automatically upgrade your Laravel application has an estimated time savings of 2 hours.

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

Requirements

  • A Laravel application running Laravel 7.0 or higher.
  • A server running PHP 7.3 or higher.

Core Upgrades

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

  • Upgrading changes in core files, including the HTTP Kernel, Exception Handler, and Service Providers.
  • Replacing references to the deprecated Resource class.
  • Renaming core methods to their new names.
  • Namespacing the Factories and Seeders.
  • Detecting backward incompatibilities within your application code.
  • Updating composer.json for Laravel 8.x and PHP 7.3.

Additional Upgrades

In addition to the Core Upgrades, the Laravel 8.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 to class based factories.
  • Automating and detecting changes required for PHPUnit 9.
  • Updating core config files to their Laravel 8 versions.
  • Bumping your dependency constraints for popular packages.

Manual Upgrades

There are some upgrades the Laravel 8.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 popular community packages, you may need to update some of your dependencies manually. Always review the changelog for your dependencies for any additional updates.

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

Sign in with any of the following services to connect Shift with your Laravel project.


Don't use one of these services?

Temporarily push your project to a free, private repository on one of these cloud-based services or upgrade your project locally with Shift for Docker.