Laravel Upgrade Service UK
Version upgrades and technical-debt remediation for applications that must keep running while the framework moves.
Upgrades fail on packages, not on artisan
laravelshift and similar tools are useful accelerants. They are not a substitute for knowing which package is abandoned, which helper uses a removed internal, and which queued job serialises an Eloquent model from 2019.
Laravel’s own upgrade guides are the authoritative step lists; this service is the judgement around them. Official upgrade notes: laravel.com/docs/upgrade.
Laravel 10, 11, 12 — and the PHP constraint
Most inherited applications are on 8.x–11.x with a PHP constraint that is the real blocker. A jump to current supported Laravel is a sequence: characterisation tests, abandoned packages, then framework, then PHP — not a Friday big-bang. Technical debt that only appears when you bump the constraint is still upgrade work.
When an upgrade is really a migration
If the application is not Laravel yet, see legacy PHP to Laravel. If you cannot boot the app, upgrade quotes are fiction — start with rescue.
Process
- Read composer.lock Actual versions, abandoned packages, PHP constraint. Marketing u201cweu2019re on Laravel 10u201d is often wrong.
- Characterisation tests Auth, billing, webhooks, the reports finance actually uses.
- Jump in controlled steps Framework, then the packages that pin you, then PHP. Not a big-bang on Friday.
- Deploy with a rollback If the contract with an API changed, we know before customers do.
Questions that usually come up
Which Laravel versions can you upgrade?
From current supported versions back through commonly inherited 8.x/9.x/10.x apps. Older than that is a takeover plus upgrade: we establish what you actually run first.
Can Laravel be upgraded without rewriting the application?
Usually yes. Rewrites are a last resort. The expensive part is packages, helpers that reached into internals, and the tests nobody wrote.
How are package compatibility issues handled?
composer why, abandoned packages, and replacements that preserve behaviour. We do not u201cupdate everything and seeu201d.
Will an upgrade break APIs or integrations?
It can, if routes, auth, or webhook payloads change. Those contracts are listed before the jump, and characterisation tests are the safety net.
Do you add tests before upgrading?
Yes, at least on the paths that lose money or lock users out. Upgrading without tests is how you buy a second incident.
How long does a Laravel upgrade take?
A single minor-supported jump with a tidy composer.json can be days. A multi-version jump with abandoned packages and no tests is a project. Anyone quoting a week without seeing composer.lock is guessing.
Can you upgrade Laravel 10 to 11 or 12?
Yes, including multi-version jumps from commonly inherited 8.x/9.x/10.x apps. The PHP constraint and abandoned packages are usually the real work, not artisan. Laravel Shift can accelerate mechanical edits; it does not replace package judgement.
Do you upgrade PHP at the same time as Laravel?
When the framework jump requires it, yes u2014 as a controlled step, not a surprise. PHP and Laravel support windows are planned together so you are not stuck on an EOL runtime with a current composer.json.
Qualification
Discuss your Laravel project
Name, work email, and a short description of the application is enough. No discovery call theatre before I know whether I can actually help.
- UK businesses with a real Laravel (or legacy PHP) application
- Build, support, rescue, upgrade or integration work
- Reply from Oliver Burton, usually within one working day