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.

Our next major milestone is a public Alpha, arriving in Q2 2026, and lasting about six months.

At this point, all major architectural changes will be in place, and Craft’s core features will be completely ported to Laravel. Vanilla projects should have a clean upgrade path, and Yii will no longer be a core dependency. Plugin developers should use this time to study Laravel conventions and test our compatibility layer.

A three-month Beta period will follow, with the expectation that Craft 6.0 is tagged near the end of 2026.

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 actually apt to be a new set of project structure recommendations!

Most projects will be compatible with a 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 manual 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, 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 your dependencies when no 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 ahead of the Alpha is make sure your existing projects are updated to the latest version of Craft 5, and that you’ve addressed all outstanding 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.

Stay Tuned #

We will be publishing a series of deep-dives on specific transition topics, in the coming weeks.

Please share our Laravel announcement page with your colleagues, and sign up to be notified when the first Alpha and Beta releases are tagged!

Search