Over the past two years, we've built Drupal 8 into what will be the most flexible, future-proof Drupal version ever. Core developers have contributed thousands of hours of work to expanding Drupal 8's capabilities and modernizing our APIs.

We're several months into Drupal 8's API completion phase, and we're releasing monthly alphas as we nail down key APIs, refine the developer experience, and continue vital work on performance. To finish Drupal 8, we must focus on essentials, so I'd like to ask the Drupal developer community to look ahead to the next big step: the first Drupal 8 beta.

When does alpha become beta?

Earlier in the year, we announced that Drupal 8's first beta would be released once we had a stable data upgrade path from Drupal 7. At DrupalCon Prague, however, the Drupal core developer team made a bold decision: instead of using Drupal's update.php database update script to convert Drupal 7 sites to Drupal 8 on the fly, Drupal 8 core will instead include a robust data migration API (based on the popular migrate module) to migrate data from existing sites into new Drupal 8 installations. This means that Drupal 8 core will provide reliable, extensible migration from Drupal 6 as well as Drupal 7. We believe this to be important for organizations running older versions of Drupal can reliably modernize their sites.

Data migration no longer blocks a beta release

In order to make this important data migration change possible for Drupal 8, the initial Drupal 8.0 release will be primarily intended for building new Drupal sites, and the finished data migration path for existing Drupal 6 or 7 sites may be provided in a later Drupal 8 release, like Drupal 8.1. (For more information on how we might improve the Drupal release cycle after the release of Drupal 8, see the proposal to manage the Drupal 8 release cycle.)

This means that a data upgrade path from Drupal 7 is no longer a prerequisite for releasing Drupal 8.0-beta1. Instead, we will focus on what testers and contributed module authors most need from a Drupal 8 beta: (1) a stable data model and (2) stable critical APIs.

Stable data model

A stable data model means that developers should not need to perform data migrations between beta releases of Drupal 8 (except where necessary to resolve critical issues). The Drupal 8 data model includes database schemas, file-based configuration storage, and storage services like the Entity and State systems.

Stable critical APIs

To provide contributed module developers with a useful milestone for module porting, beta 1 will include stable critical APIs. These are fundamental APIs that most or all contributed modules depend on, including the configuration system, the Entity and Field API, the Plugin API, and the Routing and Menu systems.

Other API changes approved by core maintainers will continue through the end of the API completion phase, but after the first beta, we will shift from away removing deprecated code and instead retain more backward compatibility layers. (Module/theme developers who wish to go through the porting process only once should wait for the first release candidate.)

What issues are blocking beta1?

Drupal core maintainers determine which specific issues must be resolved to meet the criteria above. We have worked with core developers to identify a list of beta-blocking issues. There are currently 48 of these "beta blockers" outstanding. As you can see, there are many difficult problems in this list that need to be solved. We need your help to resolve these issues so that we can release beta1 and expand Drupal 8's reach to new testers and contributors.

It's focus time!

While the end of Drupal 8's development cycle is in sight, there's still a lot of work to do. Now more than ever it's essential to focus on the critical issues that will bring Drupal 8 closer to release. If we don't, we risk pushing Drupal 8's release off for many more months. The sooner we create a beta, the sooner we can release Drupal 8 to the world.

Many people looking forward to Drupal 8's release aren't sure how best to help out. I'd like to ask all sub-system maintainers to watch their sub-system's issue queues closely to help new contributors triage issues and fix bugs, especially for beta-blocking issues. I'd also like to ask everyone to review patches carefully, make only necessary API changes, and document APIs clearly. Or, if you aren't able to work on Drupal 8 issues directly, consider sponsoring core developers for Drupal 8 contribution.

Help us make Drupal 8 the best release of Drupal yet by working on our alpha releases and toward a Drupal 8 beta!


Peter Macinkovic (not verified):

I have a feeling that 2014 will be a big year for Drupal and I'm really excited that Drupal 8 is progressing through the development cycle.

I have been giddy for *such* a long time for a release candidate for Drupal 8, just to see what people come up with in developing modules for this new vision of Drupal.

The data migration api based off the migrate module instead of update.php is interesting factoring in legacy systems.

All the best Dries, keep on fighting the good fight.

Peter Macinkovic
Digital Producer
Melbourne, Australia

Thomas Svenson (not verified):

Ditching the major->new major upgrade support in favour of migrate module was a very smart decision. Although not sure moving it into core was the right way...

I assume that beta also means it will be possible to update beta->new beta like it did for Drupal 7?

mradcliffe (not verified):

Welp. There goes any hope for getting PostgreSQL working in Drupal 8 as it was not a release blocker for Drupal 7. What little attention it may have gotten will be nil now. The only hope it had was of being a blocker.

mradcliffe (not verified):

I speak from past experience that postgresql issues that were critical prior to release were downgraded prior to release.

I fear the same thing.

Tom Geller (not verified):

This is an interesting and unexpected development.

This change seems like a reflection of Agile development, which is popular within the Drupal community: It does away with the idea that a dot-zero release has to be The Perfect Big Monolithic Thing.

It introduces a bit of a marketing complexity, but on the balance I think it's the right choice. Congrats on working through it.

Ivan Jaros (not verified):

Well, I hope this means that there will finally be some documentation(entities especially) available so I can get my hands dirty.

Ivan Jaros (not verified):

Yes, some D8 APIs may have good coverage but if you'll browse the Entity API part you'll see there is basically nothing yet.