“I created an AI assistant for Laravel developers that handles all the boring work.”
Learn more
Smousss
Benjamin Crozat The art of crafting web applications

Laravel 10: the mindful upgrade guide

Benjamin Crozat — Updated on

Upgrading your Laravel applications to the latest version has many benefits like:

Table of contents

Laravel 10: the mindful upgrade guide

Do you know what’s new in Laravel 10?

Major releases of Laravel have been smaller and smaller over the years.

But Laravel 10 still has plenty of changes, though, and I wrote about them: Laravel 10: release date and new features

Do you really need to upgrade?

Laravel 9 is still alive and will have:

Now you know that, is the return on investment still worth it?

Upgrade to Laravel 10 if:

Do not upgrade to Laravel 10 if:

If you consider upgrading it after reading this, go for it! It’s probably the right decision.

But if you’re taking the cautious approach, take the two years of support the team offers for Laravel 9 to fix your project first.

Laravel Upgrade guide

How to upgrade from Laravel 9 to Laravel 10?

First, if you are still running Laravel 8, you must upgrade to Laravel 9. It’s theoretically possible to upgrade from 8 to 10, but I wouldn’t recommend it.

Meet the requirements

As you can see, Laravel 10 doesn’t require anything fancy to work properly.

Make sure third-party Composer packages support Laravel 10

Do the third-party packages you used to build your project support Laravel 10?

To answer this question, go to Packagist, enter the name of the package, and see if it received a recent update. In the list of dependencies, you should see "ìlluminate/something": "^10.0".

Let’s take spatie/laravel-permissions, for instance, which is one of the most popular package for Laravel.

In the screenshot below, we can see it supports Laravel 7, 8, 9, and 10.

spatie/laravel-permission

If you cannot see any indication that your packages have been updated for Laravel, consider waiting a bit before upgrading your project.

Some people aren’t that patient, though.

Luckily, adding Laravel 10 support for a Composer package is most of the time a matter of changing the illuminate/something version constraints in composer.json, because there aren’t many breaking changes between major updates these days:

{
"require": {
- "illuminate/support": "^9.0",
+ "illuminate/support": "^10.0",
}
}

You could create a Pull Request to help open source maintainers, or fork the package and do the change yourself until the author finds time.

Follow the upgrade guide

There’s no trick in upgrading a Laravel app. It only takes you to follow the instructions in the upgrade guide.

These instructions are usually the following:

  1. Make sure your version of PHP meets the minimal requirements.
  2. Change the minimum version for a given dependency;
  3. Change a line in a given file;
  4. A method changed its parameters or return value. Check if you’re using it and make the necessary changes;
  5. A previously deprecated class or method has been removed, use something else (the guide always gives you alternatives).

Depending on the size of your codebase, how well-tested it is and even the number of projects you have to upgrade, this can be a time-consuming task.

Fortunately, you will see below how ingenuity can help you upgrade Laravel projects almost automatically and simplify your web developer life.

Laravel Shift: upgrade as many projects to Laravel 10 as you want with a few clicks

If you’re a professional developer, you might have tons of clients who want to be on the latest version of Laravel.

Upgrading can be easy on clean and tested projects, but it can also be a nightmare for others.

This is why a fellow Laravel developer, Jason McCreary, invented Laravel Shift

Laravel Shift

It’s effortless:

  1. Sign in with GitHub, BitBucket, or GitLab
  2. Choose a Shift and enter your repository details
  3. Receive a Pull Request full of atomic commits for review

Under the hood, Laravel Shift will upgrade your dependencies and make the necessary changes described in the official upgrade guide.

Here are some of the available Shifts (paid and free). You will also see that Laravel Shift can do more than just upgrade Laravel (which already was a considerable feat):

The pricing is straightforward and extremely generous considering how expensive paying developers is:

Recommended

I show you how to upgrade your Laravel 8 project to version 9 and help you decide whether the return on investment is worth it.

Laravel 10 has been released on February 14, 2023. Let's dive into every relevant new feature and change.

Nailing a Laravel job interview can be a daunting task, but with the right preparation and mindset, you can set yourself up for success.

Learning a framework can be overwhelming, but time and execution will make you a master. Here are some best practices to help you toward your goal.

Dive into the history of Laravel. If you went away for some time, this is the right place to resume your journey.

Here's a case study for my blog in the programming niche, where I share everything I did to increase clicks by a huge amount since the beginning.

Knowing which Laravel version you are running is important before you start writing code on a new project. There are multiple ways to do so.

Laravel 11 will be released on February 6th, 2024. Its development is still ongoing. Let's dive into every relevant new feature we know about already.

To keep getting better with PHP, you should subscribe to as many quality blogs as possible. In this article, I share the ones I often read myself.

Offer new ways to interact with your app to your users. Learn how to build a ChatGPT plugin with Laravel.

Powered by