Drupal 8.8 is paving the way to the future

Drupal 9 is approaching fast. However, until Drupal 9 arrives, there is another major update that is coming soon. Drupal 8.8 was launched on the 4th of December. In this blog post, I am going to tell you what are the changes and quality of life improvements that you can expect from the next major Drupal update.

Drupal WYSIWYG will include will allow media embedding

This is a feature that was long awaited for Drupal. Media has been poorly handled by Drupal for a while now. Because of that, this feature was awaited for a decade already. However, with Drupal 8.8, this wish becomes a reality. The good news is that this feature will come with complete media management capabilities that make it easier to embed the media for content creators and site builders alike. Thanks to this new development we will also be able to integrate media embedding in a future release of our Glazed Builder visual page builder.

Claro, a new administration theme integrated into Drupal core

On top of these updates, Claro, a new administration theme will be integrated in the Drupal core. This theme will bring a new refreshed design to Drupal. This UI refreshment has been long requested by the Drupal community. However, in drupal 8.8, these requests are finally coming to fruition. Below, you will see a comparison between the old and the new improved UI of Drupal with screenshots taken from both of them.

Drupal 8.8 old

In the first screenshot you can see the new page creation tab from the old Drupal UI.

.

Drupal 8.8 new

In this screenshot, you can see the same page as in the screenshot above, however, with the new UI added on top of it. As you can see, now it has a white background with blue highlights. The fields appear to be  bigger than previously, further improving the clarity and the text readability. The blue highlight seems to use a darker blue than the one in the previous version of the UI. All in all, the changes are so drastic, however, the better color pallette choice and the boxy look bring out a more clean and modern look for Drupal 8.8.

JSON:API should become significantly faster

First, let’s start with what JSON:API is.JSON:API or JavaScript Object Notation is an encoding scheme that is designed to eliminate the need for an ad-hoc code in order for that code to be able to communicate with the servers that communicate in a defined way.

In the Drupal 8.8 update, JSON:API is thought to be able to create the work even faster than before. This was possible because of a couple of issues that were resolved:

  • The include paths are resolved for every resource in a resource collection, instead of once per unique resource type. 
  • ResourceTypeRepository computes ResourceType value objects on “every request”
  • Resource “entity” should use partial caching

These changes will make Drupal 8 a better platform for phone apps and other "headless" applications.

jQuery UI is going to be deprecated from Drupal core

jQuery UI will be deprecated in Drupal 8.8. This front-end library is used to render user experience components like dragging and dropping, sliders, selecting and sorting, etc. It was first added in 2009 to the Drupal core. However, it became unmaintained since 2017 and as a  consequence was listed as an Emeritus project, which means that the people who were maintaining the projects are reaching or are at the end-of-life of the project. Even though jQuery UI will become deprecated in Drupal 8.8, it will be completely removed from Drupal with the release of Drupal 9. On top of that, because of the end of life, jQuery Ui will not work with future jQuery versions. With this in mind, it seems that Drupal core is in the middle of the process of switching to JavaScript solutions. Also, it seems that Modules and themes that are depending on jQuery UI will have to have it as a dependency and also to manage their libraries.

Path aliases are going to be converted to revisionable entities

Custom URL aliases will now be provided by a new revisionable content entity type in Drupal 8.8. However, the path.alias_storage has been kept for backward compatibility purposes, although its hook has been deprecated. You can check out the next link in order to be fully prepared to upgrade your code for Drupal 9.

Configuration Management improvements

Drupal Configuration Initiative 2.0 started being implemented from the release of Drupal 8.6. However, it started being implemented more and more with new releases of Drupal. Now, with the release of the new Drupal 8.8, the configuration management will see new improvements. One of the changes is that the Sync directory is defined in $settings['config_sync_directory'] in settings.php.
On top of that, the ability to support multiple configuration directions is $config_directories is not deprecated. Furthermore, if you happen to have a custom or contributed code that relies on this ability you either need to move your setting either to $settings or another storage. To read more about this see the change record.

Full support of Composer to build Drupal projects

Composer has helped Drupal development become more in line with the PHP standards. The relationship between Composer and PHP had started to develop more with the release of Drupal 8. Now, Drupal 8.8 will come packed with more Composer plugins.

  • Drupal/core-composer-scaffold: This plugin will be replacing the drupal-composer/drupal-scaffold plugin. The new plugin will be in charge of automating the scaffolding of the Drupal core Composer in the right place. On top of that, this plugin will provide a couple of options for the setup approaches.
  • Drupal/core-vendor-hardening: The task of this plugin is to remove some of the unnecessary folders that are present in vendor directories such as tests or documentation, this process being important when the vendor folder is included in the docroot.
  • Drupal/recommended-project: This composer template will have a role in the generation of a Drupal project structure which follows the recommendations presented in Drupal 8.8, which states that the vendor folder should be outside of docroot.
  • Drupal/legacy-project: This Composer template will generate a Drupal project that will follow the old structure. However, using this will not be recommended for Drupal 8.8.0 and further.

These Composer related parts can be found in the new /composer folder from Drupal source core.

Drupal, better than ever!

Drupal 8.8 seems to bring out a new cluster of features and quality of life improvements that will surely make the life of the site builders and content creators easier. This release will is one important release that paves the way for the arrival of Drupal 9. With that being said, congratulations to all the people that have contributed to the release of Drupal 8.8. Keep up the good work!