Problem/Motivation
This module's own code is ready for Drupal 12 — its test suite passes there, and
core_version_requirement already allows ^12. It still cannot
be installed on Drupal 12, because its dependencies cannot be.
This issue tracks that wait, so the next-major CI job going green is something we
notice rather than something we have to remember to check.
Current state of the dependency stack
Verified against Drupal 12.0-dev on 25 August 2026:
| Project | Latest branch | Declares | Blocks Drupal 12? |
|---|---|---|---|
| Paragraphs | 1.x-dev | ^10.3 || ^11 |
Yes |
| Embed | 1.x-dev, 2.0.x-dev | ^10.2 || ^11 |
Yes |
| Entity Embed | 1.x-dev, 2.0.x-dev | ^10.3 || ^11 |
Yes |
| Inline Entity Form | 3.x-dev | ^11.3 |
Yes |
| Entity Browser | 2.x-dev | ^10.3 || ^11 || ^12 |
No |
| Entity Reference Revisions | 1.x-dev | ^10.2 || ^11 || ^12 |
Yes — see below |
Because Paragraphs, Embed, Entity Embed and Inline Entity Form do not declare
^12, Drupal refuses to install them and the module cannot be enabled at
all:
MissingDependencyException: Unable to install modules: module 'paragraphs_inline_entity_form'. Its dependency module 'paragraphs' is incompatible with this version of Drupal core.
Entity Reference Revisions is a separate and more serious case. It declares
Drupal 12 support, but it registers its Views data through a procedural
entity_reference_revisions.views.inc that Drupal 12 no longer loads, and
that file calls views_field_default_views_data(), which core has removed.
With the core constraints relaxed the way the next-major CI job does it, every page of
the site returns a 500:
InvalidArgumentException: Class "entity_reference_revisions_field_views_data" does not exist. Error: Call to undefined function views_field_default_views_data() in entity_reference_revisions.views.inc
Since Entity Reference Revisions is a hard dependency of Paragraphs, this affects
every Paragraphs site on Drupal 12, not just this module.
What has already been done here
- The unused dependency on Entity
API was removed in
#3601907.
It had the same proceduralhook_views_data()problem, and nothing in
this module used it. core_version_requirementis^10.3 || ^11 || ^12. The
^12is deliberate: it is what makes the next-major CI jobs exist.- The next-major CI jobs run on every push and are allowed to fail, so the
pipeline stays green while they report honestly.
Remaining tasks
- Wait for Drupal 12 releases of Paragraphs, Embed, Entity Embed and Inline Entity
Form, and for Entity Reference Revisions to convert its Views hooks. - When the
composer (next major)job stops failing, run the full suite
and a manual pass on Drupal 12 and report the result here. - Only then tag a release claiming Drupal 12 support.
How to reproduce the next-major environment locally
Use mglaman/composer-drupal-lenient, which is what drupal.org's own
next-major job uses to relax core_version_requirement for contrib. On the
Drupal 12 image you may also need
composer config policy.advisories.block false, because the
core-dev lock can otherwise fail on a Guzzle advisory before it gets as far
as the contrib constraints.
Comments
Comment #2
marcelovani