Upgrade Laravel 5.1 to Laravel 5.2

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


A Laravel application running Laravel 5.1.

Core Upgrades

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

  • Removing the SelfHandling interface from Commands and Jobs.
  • Adding new Laravel 5.2 configuration options.
  • Changing uses of Auth::extend() to Auth::provider().
  • Upgrading object references for Laravel 5.2, e.g. remove ControllerServiceProvider.
  • Updating composer.json for Laravel 5.2.

Additional Upgrades

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

  • Adopting the PSR-2 coding style to match the coding style in Laravel.
  • Upgrading core Middleware to their Laravel 5.2 versions.
  • Changing instances of RedirectResponse to use the redirect method directly.
  • Converting the base Controller to a real class.

Manual Upgrades

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

  • Several of the Collection methods changed in Laravel 5.2. Given the dynamic nature of PHP and the various ways to implement these methods in Laravel, Shift can not reliably update these method calls automatically.
  • Eloquent and its integration with MySQL changed in Laravel 5.2. Since Laravel applications integrate databases differently, Shift does not currently perform these upgrades.

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