What is new in Drupal 9
As you already know Drupal 9 has been released on this month with new features. Drupal 9 has almost same features as Drupal 8.8.
In this article we are going to discuss new features in drupal 9 compared to older Drupla 8 versions.
Drupal 9 is built inside Drupal 8. This will make an upgrade to Drupal easy with minor changes in custom modules.
First install Drupal 9. Refer article to install in your local if you are using xampp server.
Here we are going to discuss below features which is included in 8.8 and 9 versions.
- Updated media library.
- Composer – support more
- Configuration management
- New themes for Admin and front end
- Upgrade Path
- JSON-API module improvements
- Workflow module improvements
- Existing module and compatibility with Drupal 9
Updated media library
Updated media library Can capture video, audio, documents and images in to the content.
Also, you can reuse existing media files.
Can reuse media content across content types.
Supports for audio, video, and images.
Enable below modules in Core.
Navigate to content format configuration
You can see below the multimedia button over there. Drag it on the Active toolbar.
Enable Embed media under Enabled filters.
Composer – support more
A single line of composer statement for installation and upgrade. Compared to the previous version Drupal 9 is more composer friendly.
Exclude modules from configuration synchronization(eg: – development modules)
Also can exclude certain configuration in modules
API support for configuration transformation on import/export.
New themes for Admin and front end
New front end theme. Great look and feel and includes all modern features.
Default experimental Admin theme. provide a new look and feel with user-friendly UI.
Addition of one more theme which is easy for beginners to launch a basic site with all features.
More design idea can be seen here – https://www.drupal.org/project/ideas/issues/3017785
The upgrade from Drupal 8.8 to Drupal 9 is the easiest major upgrade in the last 10-plus years
The new core_version_requirement key in *.info.yml files allows modules and themes run in all version of Drupal 8 and 9
name: My Module type: module core: 8.x core_version_requirement: ^8 || ^9
As a simple scenario follow below steps to upgrade an existing Drupal 8 website to Drupal 9
- install upgrade status modulehttps://www.drupal.org/project/upgrade_statusEnable and do a scan. This will list contributed modules to be updated.
- update contributed module that should be compatible with Drupal 9.
- In custom modules-update deprecated codes.For example drupal_set_message() does not exist in Drupal 9 . as suggested in Drupal doc, update this lines with a single line of code as below.$this->messenger->addMessage($message)Also, add below line in your custom module .info.yml file as below to make it compatible with Drupal9core_version_requirement: ^8 || ^9
- Update to Drupal 9 Core
JSON-API module improvements
There are a lot of improvements in the JSON API module. Below mentioned a few of them.
- Auto-generated documentation from the code. Redoc and swagger via Open API.
Provides information to users, how to use JSON API
- Interactivity – Json API explorer.(tool)
Generate JSON API code through a tool. This is a GUI query builder
Also there are many Performance improvements in new version Json API module.
Workflow module improvements
There are a lot of improvements in the workflow core module. Below provided one among them.
we can apply workflows to custom blocks as well.
Existing module and compatibility with Drupal 9
Since some codes are deprecated in new version existing module maintainers should make those changes in order to make the module compatible with Drupal 9.
Most of the contributed modules are compatible with Drupal 9.