Planning for the Laravel Transition
Craft is moving to Laravel!
We are thrilled to be joining such a vibrant ecosystem, and have been working diligently to make the Craft 6.0 upgrade as straightforward and painless as possible for all of you—the developers, agencies, and clients who got us here.
Pixel & Tonic founder and CEO Brandon Kelly first spoke about the transition during his keynote at Dot All 2025 in Lisbon:
Timeline #
During the workshop at Dot All 2025, we shared an untagged “developer preview” of Craft 6, running as a tenant within a Laravel application.
The first Alpha of Craft 6.x was released 6 May, 2026. All major architectural changes are in place: Craft’s core features are completely ported to Laravel, Yii is no longer be a core dependency, and vanilla projects have a clean upgrade path. Plugin developers should use this time to study Laravel conventions and test our compatibility layer.
This phase will last about six months, followed by a three-month Beta period.
We expect to tag Craft 6.0.0 near the end of 2026 or in first quarter of 2027.
Upgrading #
We have taken great care to engineer a seamless upgrade process for projects and plugins. Despite being completely rearchitected under-the-hood, we have kept breaking changes to an absolute minimum—the most significant adjustment is apt to be the new project directory structure!
Most projects can be upgraded with our new command-line upgrade utility that automates many of the steps (including Composer requirements, DDEV configuration, directory structure and environment variable changes, replacement of boostrap scripts, and identifying deprecations) in just a few seconds. If you’ve been keeping up with deprecation notices on 5.x, your project may only require a handful of config and template changes.
Craft 6 will require PHP 8.5, but you can upgrade your servers any time, as Craft 5 is fully compatible.
The Adapter #
Plugins and projects with significant customizations via modules will benefit from our new Yii 2 adapter package. This compatibility layer is designed to help get projects up and running in the new Laravel environment as quickly as possible, so you can begin learning about (and incrementally adopting) new patterns and APIs without the pressure of fully porting your codebase.
To have your plugins appear as “Craft 6.0-ready” in the control panel (when the first official release is tagged), you will need to (at minimum) tag a new major version (alpha or beta is fine!) that bumps the craftcms/cms requirement to ^6.0.0, and adopts the new plugin base class.
Unlike the 4.x → 5.x upgrade, cross-compatible releases (i.e. ^5.0.0|^6.0.0) will not be possible.
Plugins (or individual projects) can declare the adapter as a requirement for however long it takes to restructure. The adapter will be quietly dropped from projects when none of their plugins rely on it.
LTS #
If you can’t make the transition right away, there’s nothing to worry about: when Craft 6 launches, Craft 5 will move into long-term support mode. This means that you can safely keep projects on Craft 5 for an additional five years, during which we will continue to release security and stability fixes. Development of new features will be focused on 6.x.
Next Steps #
The best thing you can do during the alpha is keep your existing projects updated to the latest version of Craft 5, and stay on top of any deprecation warnings. This puts you in a position to test out Craft 6.0 as an early adopter, upgrade at launch, or just hunker down for the LTS.
Plugin developers should use the alpha phase to try out the adapter, explore the new Craft codebase, and experiment with Laravel APIs.
Please file any issues you find with Craft or the adapter using the 6.x issue template.
Stay Tuned #
We will be publishing a series of deep-dives on specific transition topics, throughout the alpha.
Please share our Laravel announcement page with your colleagues, and sign up to be notified when the first Beta release is tagged!