9 released 8 February 2022, latest 9.52.22.
Laravel 9 reached end of life on 6 February 2024.
What changed
Laravel 9 raised the minimum PHP version to PHP 8.0 and updated major framework dependencies, including Symfony 6 components and Flysystem 3. Its mail transport moved from SwiftMailer to Symfony Mailer, which changed some extension and integration assumptions. The cycle also added PHP 8-oriented framework features such as enum casting and implicit route binding for backed enums, improved accessor and mutator definitions, controller route groups, and a database-backed Laravel Scout engine. Later 9.x releases added first-party Vite integration as an alternative to the older Laravel Mix asset workflow.
What staying costs
Laravel 9 has reached end of life, so upstream Laravel security fixes, bug fixes, and compatibility work no longer arrive for this line. A newly discovered issue in the framework or its supported integration surface may require a local patch, a workaround, or an upgrade rather than a vendor fix. Remaining on 9 can also constrain PHP, Symfony, filesystem, mailer, and frontend-build-tool upgrades, while third-party packages increasingly target newer Laravel and PHP versions. The longer an application accumulates local patches and package exceptions, the more difficult it becomes to distinguish application-specific behavior from framework-version compatibility issues during a later migration.
What to do
Inventory the application’s PHP version, Laravel packages, custom service providers, filesystem disks, mail configuration, queued jobs, authentication setup, and JavaScript build process. Confirm that each dependency supports the intended newer Laravel line and replace abandoned or version-pinned packages before attempting the framework upgrade. Follow Laravel’s upgrade guidance one major version at a time, beginning with the Laravel 9 to 10 changes, and run the full automated test suite plus targeted tests for mail delivery, storage operations, queues, authentication, route binding, and asset builds. Upgrade the deployment environment’s PHP version as required by the chosen target, deploy first to a production-like environment, and retain a tested rollback plan for database and deployment changes.
We can tell you what moving off Laravel 9 involves.
What it takes to move off Laravel 9 depends on what you built on it — the version you are on, how much depends on it, and how much of the work is mechanical. Leave your email with this version and we can tell you what that looks like for you.
Not sure yet? Get my plan
