A new version of Drupal was released last May 1st, and it’s a good opportunity to look at what it can offer you. From now on, Drupal’s update schedule will follow that of Symfony (the PHP development framework on which the CMS is based), with about a month’s difference, and in the future, developers will wait less to use the latest Symfony features in Drupal.
The next version of Drupal 8 will be in December, so just before the big leap to Drupal 9 in June 2020...
The Layout Builder module is now stable
The Layout Builder module was initially added as an experimental core module in Drupal 8.5. It is now stable and ready for production use!
If you haven’t heard of it, Layout Builder offers a powerful and unique visual design tool that enables administrators/site builders to create layouts based on predefined templates (1 column, 2 columns, etc.). You can stack these sections to build a custom layout.
You can use it either per content type (a bit like with Display Suite), or per node à la Panelizer. But a short demo video will make things much clearer.
The generated code is accessible, unlike some competing solutions.
Layout Builder + paragraphs, the winning combo? Will this new Core feature spell the end of Display Suite and Panels? We’ll see, but personally, I find it reassuring and simpler to have an “official” solution for this.
An even more user-friendly media management
Media Library comes with a revamped user interface. And it was about time!
JSON:API in Core
Drupal 8.7 provides a JSON:API implementation out of the box! You can now generate an API exposing the CMS’s resources that implements the JSON:API specification without any configuration. Once you activate the module, you’re done.
JSON:API standardizes JSON-formatted responses, which will definitely please the front-end teams managing your site, whether partially or fully decoupled. It’s a strong signal and another big step toward the “API-first” slogan that was one of Drupal 8’s promises.
It makes it easy to create REST APIs in JSON, allowing a Drupal website to share its data with a modern JavaScript framework such as React, VueJS, and other interfaces like connected devices, chatbots, etc. Next step, the same thing with GraphQL?
Revisions
Taxonomy terms and menu links are now revisionable, which allows them to be part of editorial validation workflows that, until now, were only available to content types and custom blocks. This will surely excite the workflow enthusiasts out there...
More seriously, with modules like Deploy, this should improve and simplify the work of editors delivering editorial campaigns.
GDPR
The Comment module no longer logs the IP addresses of commenters by default. Existing sites will still record IP addresses, but this can be changed by setting comment.settings.log_ip_addresses to FALSE in settings.php.
PHP 7.3 Support
PHP 7.3 was released in December 2018 and brings many improvements and new features. Additionally, with this version, new Drupal sites can only be installed on PHP 7.0.8 or later. However, existing sites will still run on PHP 5.5.9 at minimum, but a warning will be displayed.
Be careful though, because starting with Drupal 8.8, you’ll really have to leave PHP5 behind (don’t say you weren't warned).
Those who have left us
Version 8.7 is a final farewell to Internet Explorer 9 and 10 (already excluded since 8.4). It removes a workaround that still existed in versions 8.5 and 8.6.
In conclusion
A great update! Personally, I think Drupal 8 keeps getting better every day:
- views (since the beginning);
- media;
- workflow;
- APIs;
- and now Layout Builder.
The only thing missing would be a (lightweight???) version of Webform and there wouldn’t be much else to add for a huge number of websites, right?
What’s more, it’s clear this time there’s a major effort to anticipate Drupal 9 and provide a smooth transition. Fingers crossed! More critically, I also feel like Drupal 8 is finally reaching its true potential these days. With a year to go before version 9, that might sound tough, but I sense the next release will be more of a continuation than the revolution that the jump from 7 to 8 was.
Ludovic Coullet - @lcoullet