Shift with red gradient lettering

Upgrade Laravel 5.3 to Laravel 5.4

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

Laravel 5.4 has reached end of life. It no longer receives bug fixes or security updates. Shift strongly recommends continuing your upgrade to the latest LTS release or latest stable release of Laravel. Watch upgrading old Laravel applications for tips on running multiple Shifts effectively.

Screenshot of a pull request with automated changes from the Laravel 5.4 Shift


  • A Laravel application running Laravel 5.3.x.

Core Upgrades

The Laravel 5.4 Shift automates many of the upgrades listed in the Laravel Upgrade Guide, including:

  • Adding new core Middleware for Laravel 5.4.
  • Converting old Collection, Eloquent, and Session methods for Laravel 5.4.
  • Updating references to old classes to their Laravel 5.4 versions.
  • Detecting backward incompatibilities within your application code.
  • Namespacing Tests for Laravel 5.4.
  • Updating composer.json for Laravel 5.4.

Additional Upgrades

In addition to the Core Upgrades, the Laravel 5.4 Shift performs additional upgrades beyond those listed in the Laravel Upgrade Guide, including:

  • Applying your code style.
  • Modernizing PHP syntax, such as short arrays.
  • Converting string based class references to ::class references.
  • Updating core config files to their Laravel 5.4 versions.

Manual Upgrades

There are some upgrades the Laravel 5.4 Shift can not perform automatically. When Shift detects these it adds a detailed comment to the Pull Request to guide any additional steps you may need to do manually.

  • Laravel 5.4 includes several new default assets. Since your application likely customizes these assets, Shift does not change these files.
  • Laravel 5.4 rewrote it's testing layer to use Laravel Dusk. Your application may need to be configured to run these previous tests.

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.