Drupal 8.6 became one of the most interesting releases in Drupal 8’s history. It brought us the oEmbed feature, the Media Library, the Workspaces module, and more. But it’s time to move forward, and in May 2019 we expect Drupal 8.7. Its “alpha” version has just been released. Although an alpha version is not the final one, we will gladly take a look at it and discuss what to expect in Drupal 8.7.

Drupal 8.7: the alpha version

Drupal 8.7.0-alpha1 came out on March 14, 2019. Alpha versions are far from being ready for production sites. They are just preliminary releases that allow developers to do a good testing, receive feedback, make final preparations, and fix bugs.

After the “alpha,” we are supposed to see the “beta” version of Drupal 8.7 in the week of March 25. Next, the RC (release candidate) phase will begin in mid April.

When everything is tested thoroughly and polished to perfection, we will enjoy the stable version of Drupal 8.7 on May 1! Let’s see what to expect in Drupal 8.7 now that we are looking at Drupal 8.7.0-alpha1.

Expected features of Drupal 8.7

End of support for PHP 5.5 and 5.6

Websites are officially becoming lighter and faster due to the use of PHP 7.1+. Drupal 8.6 was the last release to support PHP 5.5 and PHP 5.6. Drupal 8.7 is definitely the time to say goodbye to these obsolete versions of the programming language.

According to Drupal 8.7 alpha 1 release notes, they will officially stop being supported in Drupal 8.7 beta. So those who are using PHP 5.5 and PHP 5.6 will need to upgrade to PHP 7.1 or higher, and our Drupal support team can help.

End of support for Internet Explorer 9

The support for Internet Explorer 9 and 10 was stopped back in Drupal 8.4. However, there was a workaround left in Drupal 8.5 and Drupal 8.6 that allowed 32+ stylesheets to be included.

Drupal 8.7 has now officially removed this workaround, so goodbye to Internet Explorer 9. Those who rely on it will need to enable CSS aggregation or install the IE9 Compatibility Drupal module.

No more automatic entity updates

As of Drupal 8.7, automatic entity updates are no longer supported by Drupal core. This is meant to avoid conflicts and preserve data integrity. For updating the entities, the Update API should be used. In addition, the drush entity-update (drush entup) command is also not supported anymore.

New UI for the Media Library module

The Media Library module lets you save various multimedia and use them in your content to make it more engaging. It’s possible to embed multimedia directly into content types using the “media” field.

The Media Library works together with the Media module that is already stable. Stable Media Library was first scheduled for Drupal 8.7 but we are likely to see it in Drupal 8.8 after a number of fixes and WYSIWYG support added.

However, we can enjoy a new and interesting Media Library admin interface in Drupal 8.7. Its features have mostly made it to Drupal 8.7.0 alpha 1 but the completed UI will be available soon in alpha 2 or beta 1.

Adding JSON:API to Drupal 8 core

The JSON:API contributed module is meant for creating high-performance APIs to expose Drupal data in JSON. It immediately creates API endpoints and requires no configuration. The module instantly accesses all Drupal entities.

According to Drupal development roadmap, JSON:API is meant to join the core in Drupal 8.7. JSON:API will look great in Drupal core’s ecosystem of web services that are responsible for third-party integration.

Joining Drupal core is a serious step for any module, especially for a complex one like JSON:API. There has been a hard work done on fixing the last issues related to adding JSON:API to Drupal 8.7 core, and all are fixed now.

Although we don’t yet see the module in the Drupal 8.7 alpha 1 admin dashboard, we will probably see it in alpha 2 or beta. So congrats to JSON:API! Update for 21/03: JSON:API has just landed in Drupal core!

Improvements and stabilization for the Layout Builder

The Layout Builder module in Drupal 8 core allows you to build layouts like Legos by using ready multi-column layouts and Drupal blocks.

These can be layouts for content, users, contact forms, and other fieldable entities. You can have a specific layout for a content type (e.g. all articles), for an individual node (e.g. one article), or for a display mode (e.g. article’s teaser).

The module arrived in Drupal 8.5 core marked as “experimental.” For Drupal 8.7, it has received important bug fixes in the area of saving layouts for the default content layouts and individual nodes, saving layout overrides, using layouts for different display modes, and more. CSS classes have also been renamed to meet the BEM standards.

Drupal development roadmap has the Layout Builder moving from experimental to stable in Drupal 8.7. We don’t see this happening yet in Drupal 8.7 alpha 1, but we expect this in the near future. Update for 29/03: Layout Builder has reached stability in Drupal 8.7 core!

Updates to the Guzzle library

The Guzzle HTTP client library arrived in Drupal 8 to replace the drupal_http_request() function in Drupal 7. It makes the process of communicating with RESTful web services easier.

Guzzle offers a modern way of making HTTP requests. It is extensible with plugins, easy in use, and based on object-oriented architecture.

In Drupal 8.7, Guzzle has been updated from 6.3.0 to 6.3.3 and http_client service has begun to support empty headers. Additional updates are also planned in Drupal 8.7 beta.

Changes to the Stable and Classy themes

The Stable or Classy are among the Drupal core themes in addition to Bartik, Seven, and Stark. If your website’ theme has been created as a subtheme of the Stable or Classy themes, you will need to pay attention to their changes in Drupal 8.7.

They are related to JavaScript message template and pagination header CSS ID. Specifically, if your theme overrides the messaging or pagination templates, you will need some manual changes, and our Drupal experts are ready to provide them.

Better Symfony 4 and 5 compatibility

Drupal 8 includes Symfony components for more modern and fast web development. Drupal 9 will completely move to the new Symfony 5.

Drupal 8.7 is getting ready for it. It is providing better compatibility with both Symfony 5 and Symfony 4. This includes changes in the Container and TranslatorInterface Symfony components, as well as resolving critical compatibility issues.

Be ready for a smooth update to Drupal 8.7!

So we now know in a nutshell what to expect in Drupal 8.7 that is coming in May 2019. Of course, you can rely on our Drupal team for a smooth update.

In the meantime, we can help your website prepare for it, if there is a need to:

update to PHP 7.1+ take care of Internet Explorer 9 issues apply changes to your Stable and Classy subthemes check the compatibility of any other website components

Contact our Drupal team!

