Drupal is a registered trademark of Dries Buytaert
drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! linkit 7.0.14 Minor update available for module linkit (7.0.14). masquerade 8.x-2.2 Minor update available for module masquerade (8.x-2.2). video_embed_field 3.1.0 Minor update available for module video_embed_field (3.1.0). bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). editoria11y 3.0.0 Major update available for module editoria11y (3.0.0). trash 3.0.27 Minor update available for module trash (3.0.27). twig_tweak 4.0.0-alpha2 New alpha version released for module twig_tweak (4.0.0-alpha2). twig_tweak 4.0.0-alpha1 First alpha version released for module twig_tweak (4.0.0-alpha1). node_revision_delete 2.1.1 Minor update available for module node_revision_delete (2.1.1). commerce_paypal 2.1.2 Minor update available for module commerce_paypal (2.1.2).

This module is discontinued because it was supposed to be a matepackage, but that can't be done with module projects.

This module provides a forward-compatibility polyfill for the node_storage_body_field sub-module introduced in Drupal 11.3 (#3447617).

In Drupal 11.3, field.storage.node.body was moved out of the Node module into a new node_storage_body_field sub-module. Contributed modules that ship node types with a body field must now declare a dependency on node_storage_body_field to ensure the field storage config exists when their module is installed. However, this creates a compatibility problem: adding node_storage_body_field as a dependency breaks installation on Drupal 10.x and 11.0–11.2, where that sub-module does not exist.

What this module does

On Drupal 10.x / 11.0–11.2 (version 1.x):
Provides an empty shim node_storage_body_field module that satisfies the dependency. No config is shipped — the Node module already provides field.storage.node.body on these core versions.

On Drupal 11.3+ (version 2.x):
Empty metapackage. Core already provides node_storage_body_field, so this package is a no-op.
Important note: Unfortunately, metapackages without an info.yml won't work since the composer.json gets the drupal/core requirement based on the core_version_requirment key from the info.yml.

Why not config/optional?

Moving field.storage.node.body to config/optional does not work reliably. Drupal's ConfigInstaller::checkConfigurationToInstall() validates all config/install dependencies for all modules being installed in a single operation, including during install profile execution and drush en with dependencies. Optional config is either deferred (during profile install) or only processed after all config/install is validated, causing UnmetDependenciesException failures.

Usage

Add to your module's composer.json:

"require": {
    "drupal/backport_node_storage_body_field": "^1 || ^2"
}

Add to your module's .info.yml:

dependencies:
  - backport_node_storage_body_field:backport_node_storage_body_field

Requirements

  • 1.x: Drupal core >=10.3 <11.3
  • 2.x: Drupal core >=11.3

Activity

Total releases
7
First release
Mar 2026
Latest release
1 month ago
Release cadence
0 days
Stability
100% stable

Release Timeline

Releases

Version Type Release date
1.2.1 Stable Mar 11, 2026
2.1.1 Stable Mar 11, 2026
1.2.0 Stable Mar 11, 2026
1.1.0 Stable Mar 9, 2026
2.1.0 Stable Mar 9, 2026
2.0.0 Stable Mar 9, 2026
1.0.0 Stable Mar 9, 2026