Drupal 9: One Step Closer to the 9.3.0 Version

Drupal 9: One Step Closer to the 9.3.0 Version

Share this
Drupal 9: One Step Closer to the 9.3.0 Version
Nov 02,2021

“When someone says you’ve changed, say yes. I recently have updated my version”. 

On October/29, Drupal has announced the beginning of the Alpha1 phase for the 9.3.0 version of Drupal. Usually, the goal for the Alpha phase is to begin the preparations of the minor releases and provide a testing target for theme or module developers. Alpha versions usually include most of the new features, changes, and newly added APIs that will be included in the upcoming minor version.
But what has changed since the last official version? What should we expect? What new changes and features have been added? Are you ok? Do you need someone to talk to? Oh wait, I got a bit excited.
Grab a taco and let the games begin.

New Changes in the 9.3.0 Alpha Release

While not too much information was released by Drupal.org about the highlights of the 9.3.0 version, we do know what changes have been introduced to the existing sites:

  1. Drupal_internal_target_id has been added to JSON:API responses. This change has exposed the target_id in the meta-information. Making it more readable, easier to code against, and filterable.
  2. Fields labels can now be up to 255 characters.
  3. The shortcut icon’s tag has been changed to <link rel="icon">.
  4. Users will depend on modules to receive the role’s permission. That means all permissions for a user have to be defined in a module.permissions.yml file. By that, permissions will be automatically cleaned up when a module is uninstalled.
  5. For forward compatibility in future versions, Drupal core’s dependency on JQUERY is being limited by including the eslint-plugin-jquery plugin in eslint core-js-passing config.
  6. Jquery.once has been deprecated and a new once library was introduced.
  7. Submit buttons with the theme <button type="submit"> elements are now triggering AJAX within Views exposed forms. This behavior matches Drupal 7’s views thus fixing a regression from Drupal 8 and earlier versions of Drupal 9.
  8. FunctionalJavascript tests are now automatically checking if any error was thrown during the execution of the test and will show you a warning if any were found for the passed tests. Noting that Drupal announced that in Drupal 10, the test will fail if errors were found.
  9. Block plugin forms will no longer get a 'block_theme' key in form state.
  10. GuzzleMiddlewarePass has been removed in favor of the generic TaggedHandlersPass, code interacting with GuzzleMiddlewarePass should use TaggedHandlersPass instead.
  11. While normally Drupal does not remove core dependencies in minor releases, the fabpot/goutte and behat/mink-goutte-driver have been removed to ensure forward compatibility with Guzzle 7 and PHP 8.1.
  12. The package Doctrine/reflection is abandoned and the parts Drupal core relies on have been copied to Drupal\Component\Annotation\Doctrine.
  13. field--node--title.html.twig, field--node--created.html.twig, and field--node--uid.html.twig has been modified to render these fields as they are configured by the site builder for sites that allow configuring the display of these fields.
  14. The users' table will be updated to change the ‘UID’ column to a true serial field.
  15. The Quick Edit module has been removed. Noting that this does not affect existing sites. Only new ones will be affected.
  16. Drupal-specific <link> tags have been removed from node and taxonomy term pages to improve performance.
  17. PHP dependencies updates.

We should also point out that the declaration of Drupal supporting Opera Mini in ‘Extreme Data Savings’ has been removed since Drupal has never really supported it.


So far, only changes applied to existing sites have been announced. And while we don’t have any information about the highlights of the 9.3.0 version yet, and with the announcement of version 9.4.x-dev which is open for new development, we can tell that Drupal is focusing on the development experience in terms of performance. That’s because Drupal is decreasing its dependencies on libraries that are not needed by either removing them or using new libraries. They’re also preparing for Drupal 10, trying to make the migration process better and easier. This is still an Alpha release so we’ll wait for the official release and see what more features were added.