Shift with red gradient lettering

Upgrade Laravel 11.x to Laravel 12.x

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

This is a pre-release. Laravel 12 officially releases on February 24, 2025. The Laravel 12.x Shift is currently offered at a discount for you to test both the Laravel 12.x Shift and Laravel 12.

Screenshot of a pull request with automated changes from the Laravel 12.x Shift

Requirements

  • A Laravel application running Laravel 11.x.
  • A server running PHP 8.2 or higher.

Core Upgrades

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

  • Upgrading changes within the core Laravel project files.
  • Merging new configuration options and ENV variables.
  • Converting the model $casts property to a method.
  • Detecting deprecated code within your application code.
  • Updating core dependencies for Laravel 12 and PHP 8.2.

Additional Upgrades

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

  • Applying your code style.
  • Modernizing PHP syntax, such as short arrays and the null safe operator.
  • Adopting new PHP Attributes available in Laravel.
  • Refactoring away from traits in your base controller.
  • Converting controller middleware to use the new method.
  • Adding the new composer run dev script.
  • Bumping your dependencies for popular packages.

Manual Upgrades

There are some upgrades the Laravel 12.x 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.

While Shift attempts to detect and automate the updates for popular packages, you may need to update some of your dependencies manually. Always review the changelog for your dependencies for any additional changes.

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.