Laravel upgrades
Laravel 10 end of life: your upgrade options
Laravel 10 lost security fixes on February 4, 2025. You have four realistic options, and the difference between them is mostly how much of the step to Laravel 11 you want to deal with at once.
By itmarkerz Technologies. Updated 30 October 2026.
The four options
| Option | You get | The catch |
|---|---|---|
| Stay, and move PHP to 8.3 | A supported PHP version with no framework changes | The framework itself still gets no security fixes |
| Go to Laravel 11 | The hardest step done | Laravel 11 security fixes ended on March 12, 2026, so you are still unsupported |
| Go to Laravel 12 | A supported framework today | Security fixes end on February 24, 2027, so another upgrade follows soon |
| Go to Laravel 13 | Security fixes until March 17, 2028 | Needs PHP 8.3 or later and every package ready for 13 |
We normally recommend the last one. Treat the first as a stopgap when a full upgrade can’t start for a while, and treat Laravel 11 as a milestone inside the project, never as the destination.
Why the step to Laravel 11 is the hard one
Laravel’s Laravel 11 upgrade guide estimates 15 minutes, which assumes none of the following touch you. On an older application, some usually do.
- Column changes in migrations. A
change()call now has to restate every attribute you want to keep, such asunsigned,defaultandcomment. Missing ones are dropped. Squashing migrations withphp artisan schema:dumpis the documented way around rewriting old ones. - Float and double columns. The
doubleandfloattypes were rewritten, and theunsignedDecimal,unsignedDoubleandunsignedFloatmethods were removed. Money and measurement columns deserve a close look. - First-party packages. Cashier Stripe, Passport, Sanctum, Spark Stripe and Telescope no longer load their own migrations, so you publish them. Passport 12 also turns the password grant off by default, which can break older API clients without any code error.
- Rate limiting. Limits moved to seconds. If your code builds
Limitobjects by hand or readsdecayMinutes, those values change meaning. - Server versions. PHP 8.2 and curl 7.34 are the new minimums, and SQLite users need 3.26 or later.
Carbon 3 is optional at this step but becomes mandatory in Laravel 12. Its diffIn* methods can return floats and negative values, which quietly changes date arithmetic in reports and billing, so test those paths whenever you make the switch.
A sensible order of work
- Move PHP to 8.3 on Laravel 10 and release that on its own. Any fault is then clearly about PHP.
- Go to Laravel 11 on a branch and deal with migrations, packages and rate limits.
- Continue to 12 and then 13 on the same branch, reading each guide.
- Release the result as one change, staged, with a tested rollback plan. Our upgrade checklist covers this in full.
Prices start from the published tiers on our upgrade service page, with a range of $799–$2,999+ in USD after a free assessment, invoiced in USD, GBP, EUR or INR.
Larger jumps we have completed
Cabinet manufacturer's ordering, dealer-portal and inventory system moved from PHP 5.6 and MySQL 5.0 to Laravel 13 on PHP 8.5 and MySQL 8, with a new Next.js front end. Eight months, workflows preserved, now live.
- Sector
- Manufacturing
- Region
- Canada and US
- Stack
- Laravel 13, PHP 8.5, MySQL 8, Next.js
- Engagement
- Upgrade, about eight months, live
Loyalty-card management system we first built on PHP 5.6, re-platformed onto Laravel with all cards, balances and rules preserved. Two months, live since mid-2026, Indian client.
- Sector
- Retail & loyalty
- Region
- India
- Year
- 2026
- Stack
- Laravel
- Engagement
- Upgrade of our own earlier build, two months
Questions
Is Laravel 10 still supported?
No. Bug fixes ended on August 6, 2024 and security fixes ended on February 4, 2025, according to the Laravel release notes.
Do I have to adopt the slimmer Laravel 11 application structure?
No. Laravel's upgrade guide advises against migrating the structure of an upgraded Laravel 10 application, because Laravel 11 also supports the Laravel 10 layout. Leaving it alone keeps the upgrade smaller.
Can Laravel 10 run on a supported PHP version?
Yes. Laravel 10 supports PHP 8.1 to 8.3, and php.net gives PHP 8.3 security support until 31 December 2027. Moving PHP first removes one risk, but it doesn't patch the framework.
More on Laravel upgrades
- Laravel 11 end of life: what to do nowStop at Laravel 12 or go straight to 13.
- How much does a Laravel upgrade cost?Our published prices by application size, and what moves a quote.
- Upgrading from Laravel 12 to 13The changes that matter, in the order we would check them.
- PHP 8.1 end of life and LaravelWhy PHP can move before the framework does.
- Laravel upgrade checklistEvery step from inventory to the first week after release.
- Laravel vs Symfony: an upgrade decisionSupport windows compared, and when changing framework makes sense.
Planning your way off Laravel 10?
Tell us your PHP version, your packages and how much of the application has tests. We will recommend a route and quote it at a fixed price.
We reply within one business day (IST).