Problem/Motivation

Comment types do not declare a dependency on the module that provides the target entity type. Thus, if that module is installed, the comment type will remain and using it will lead to fatal errors.

Proposed resolution

Declare the dependency on the provider of the target entity type. In particular implement calculateDependencies() in CommentType. EntityDisplayModeBase::calculateDependencies() can be used as inspiration.

Remaining tasks

Contributor tasks needed
Task Novice task? Contributor instructions Complete?
Create a patch Instructions
Add automated tests Instructions
Review patch to ensure that it fixes the issue, stays within scope, is properly documented, and follows coding standards Instructions

User interface changes

None.

API changes

None.

The fact that comment types now get appropriately deleted when a module is uninstalled is a change in behavior, but since the comment types that were previously left in the system were completely broken, I don't see how anyone can currently rely on that behavior. Thus, I do not see the need for a change record either.

Data model changes

Comment types have a new entry in their exported configuration dependencies.

CommentFileSizeAuthor
#76 interdiff-2717673-74-76.txt848 bytesmohit_aghera
#76 commenttype-dependencies-2717673-76.patch8.28 KBmohit_aghera
#74 commenttype-dependencies-2717673-74.patch7.46 KBmohit_aghera
#63 interdiff-2717673-62-63.txt1.43 KBtetranz
#63 commenttype-dependencies-2717673-63.patch7.21 KBtetranz
#62 interdiff-2717673-58-62.txt3.55 KBtetranz
#62 commenttype-dependencies-2717673-62.patch6.72 KBtetranz
#58 commenttype-dependencies-2717673-58.patch5.73 KBtetranz
#55 commenttype-dependencies-2717673-52.patch6.93 KBtetranz
#52 interdiff-2717673-48-52.txt1.73 KBtetranz
#52 commenttype-dependencies-2717673-52.patch6.93 KBtetranz
#48 interdiff-2717673-32-48.txt1.47 KBtetranz
#48 commenttype-dependencies-2717673-48.patch7.07 KBtetranz
#39 commenttype-dependencies-2717673-32.patch6.71 KBtetranz
#32 interdiff-2717673-26-32.txt1.22 KBtetranz
#32 commenttype-dependencies-2717673-32.patch6.71 KBtetranz
#28 commenttype-dependencies-2717673-26.patch6.61 KBtetranz
#26 interdiff-2717673-20-26.txt2.59 KBtetranz
#26 commenttype-dependencies-2717673-26.patch6.61 KBtetranz
#22 interdiff-2717673-16-20.txt3.43 KBtetranz
#20 interdiff-2717673-16-20.txt4.4 KBtetranz
#20 commenttype-dependencies-2717673-20.patch4.02 KBtetranz
#16 interdiff-2717673-11-16.txt995 bytestetranz
#16 commenttype-dependencies-2717673-16.patch2.57 KBtetranz
#11 interdiff-2717673-3-11.txt1.8 KBtetranz
#11 commenttype-dependencies-2717673-11.patch2.58 KBtetranz
#3 commenttype-dependencies-2717673-3-test-only.patch996 bytestetranz
#3 commenttype-dependencies-2717673-3.patch1.63 KBtetranz
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

tstoeckler created an issue. See original summary.

tetranz’s picture

Assigned: Unassigned » tetranz
tetranz’s picture

tetranz’s picture

Status: Active » Needs review
tetranz’s picture

Status: Needs review » Needs work

The last submitted patch, 3: commenttype-dependencies-2717673-3-test-only.patch, failed testing.

The last submitted patch, 3: commenttype-dependencies-2717673-3.patch, failed testing.

tstoeckler’s picture

Awesome work and thanks for including a test!

Yay, test coverage! The failing tests mean we need to update our default config to include this dependency I guess.

The test-only patch fails as expected so otherwise should be good to go.

tetranz’s picture

Thanks. I'll take a look at the config later today.

tstoeckler’s picture

Oh, if you're already rerolling this: Please remove the empty newline at the beginning of the test method (the one inside the method) and add a newline after the test method before the closing brace of the test class.

tetranz’s picture

I'm still feeling my way a little with this.

I can see that the default comment type and forum comment type both have dependencies on the node module. I don't quite understand the other errors but let's see what happens with this first.

Status: Needs review » Needs work

The last submitted patch, 11: commenttype-dependencies-2717673-11.patch, failed testing.

tetranz’s picture

Well ... I thought I understood what the failed tests are saying but obviously not. I'll take another look tomorrow but I'm probably going to need some help or at least a point in the right direction.

tstoeckler’s picture

Try adding the dependencies outside of the "enforced" section (i.e. just move them one level up). Enforced dependencies are for those dependencies that Drupal can't figure out automatically. I.e. Drupal has no way of knowing that it should delete the forum node type when Forum module is being uninstalled - it's just another node type. Therefore Forum has to add itself as an enforced dependency. In this case, though, Drupal should figure out the dependency on e.g. Node automatically, so it should not be inside enforced. You can also try saving the respective config with the patch applied and then exporting it. That should also have the dependencies properly set then.

tetranz’s picture

Thanks. I just figured that out minutes ago by digging deeper into the test that compares the active and default configs.

I think this is what it needs.

dependencies:
  enforced:
    module:
      - forum
  module:
    - node

And similar for the standard profile comment.

Making a new patch now.

tetranz’s picture

Status: Needs review » Needs work

The last submitted patch, 16: commenttype-dependencies-2717673-16.patch, failed testing.

claudiu.cristea’s picture

  1. +++ b/core/modules/comment/src/Entity/CommentType.php
    @@ -93,4 +93,13 @@ public function getTargetEntityTypeId() {
    +    $target_entity_type = \Drupal::entityTypeManager()->getDefinition($this->target_entity_type_id);
    

    There's always a getTargetEntityTypeId() method available to get the $this->target_entity_type_id. Let's use it.

  2. +++ b/core/modules/comment/src/Tests/CommentTypeTest.php
    @@ -187,4 +187,15 @@ public function testCommentTypeDeletion() {
    +   * Tests that the module providing the target entity is listed as a dependency
    

    Should end with a dot. Try to shorten the entire phrase.

  3. +++ b/core/modules/comment/src/Tests/CommentTypeTest.php
    @@ -187,4 +187,15 @@ public function testCommentTypeDeletion() {
    +    $type = $this->createCommentType('dep_test');
    

    Naming: Let's be more specific. $comment_type?

  4. +++ b/core/modules/comment/src/Tests/CommentTypeTest.php
    @@ -187,4 +187,15 @@ public function testCommentTypeDeletion() {
    +    $dependencies = $type->calculateDependencies()->getDependencies();
    

    We don't need to (re)calculate the dependencies here. They are already computed when the comment type is created/saved. This is enough:

    $dependencies = $comment_type->getDependencies();
    
  5. +++ b/core/modules/comment/src/Tests/CommentTypeTest.php
    @@ -187,4 +187,15 @@ public function testCommentTypeDeletion() {
    +    $this->assertTrue(in_array($target_entity_type->getProvider(), $dependencies['module']), 'Module dependency was found.');
    

    There's no need for assertion messages. They make the tests hard to be followed/debugged. Consider removing the message. Also, what if there's no 'module' key in $dependencies? The test will not fail softly (as we prefer). Shouldn't we assure an empty array? For example:

    $modules = !empty($dependencies['module']) ? $dependencies['module'] : [];
    

    ...and then use $modules in assertion.

  6. It still lacks upgrade path. We need to implement a post update function and simply re-save all comment type entities. Then we need also a test for this.
claudiu.cristea’s picture

#18.5 can be solved more clever by getting the dependencies in this way:

$dependencies = $comment_type->getDependencies() + ['module' => []];

In this way we always have a $dependencies['module'], even it's empty.

tetranz’s picture

Thanks @claudiu.cristea. My first patch so I have a lot to learn :)

I haven't looked into the upgrade path yet.

claudiu.cristea’s picture

@tetranz, it's a very promising start :)

Is still missing the upgrade path and a corresponding test. What you'll need to do is to create in the module root a file comment.post_update.php and add an update function with the naming pattern comment_post_update_SOME_NAME(). See https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Extension...

In this function you should only iterate through all comment type entities and re-save them. Something like this should work:

function comment_post_update_provider_dependency() {
  $comment_types = CommentType::loadMultiple();
  array_walk($comment_types, function (CommentTypeInterface $comment_type) {
    $comment_type->save();
  });
}

This would automatically add the dependency to the entity.

But we need also to test this. You'll find some source of inspiration in other update tests:

  • \Drupal\image\Tests\Update\ImageUpdateTest
  • \Drupal\editor\Tests\Update\EditorUpdateTest
  • \Drupal\field\Tests\Update\FieldUpdateTest::testFieldUpdate8002()
tetranz’s picture

FileSize
3.43 KB

Somehow I messed up the interdiff.

Status: Needs review » Needs work

The last submitted patch, 20: commenttype-dependencies-2717673-20.patch, failed testing.

tetranz’s picture

I've been trying to understand the final failed test but I just noticed https://www.drupal.org/node/2724871 which I think explains it.

I'll move on to the upgrade path.

The last submitted patch, 20: commenttype-dependencies-2717673-20.patch, failed testing.

tetranz’s picture

Status: Needs review » Needs work

The last submitted patch, 26: commenttype-dependencies-2717673-26.patch, failed testing.

tetranz’s picture

Trying the test on 8.2.x to see if the Migrate test still fails.

tetranz’s picture

Status: Needs work » Needs review
tstoeckler’s picture

Wow, this looks great now. I hadn't even thought about the upgrade path.

This looks good to go for me but I'll let @claudiu.cristea take another look.

claudiu.cristea’s picture

Status: Needs review » Needs work

@tetranz,

Looks nice to me too. Only few nits.

  1. +++ b/core/modules/comment/comment.post_update.php
    @@ -0,0 +1,19 @@
    +/**
    + * Saves the dependency on the entity provider into comment_type entities.
    + */
    +function comment_post_update_provider_dependency() {
    

    We need to group post update functions by the minor Drupal version to which they are referring. See core/modules/field/field.post_update.php for an example.

    Here, probably we add

    /**
     * @addtogroup updates-8.1.x
     * @{
     */
    

    and close that.

  2. +++ b/core/modules/comment/src/Tests/Update/CommentUpdateTest.php
    @@ -0,0 +1,52 @@
    +    $dependencies = $this->config($forum_comment_type)->get('dependencies.module') ?: [];
    +    $this->assertTrue(in_array('node', $dependencies));
    +
    +  }
    +
    

    Un-needed extra empty line.

tetranz’s picture

Thanks to both of you for the help and guidance. It was a good learning experience. Just what I needed to get started. I'll go find another issue now. :)

claudiu.cristea’s picture

Status: Needs review » Reviewed & tested by the community

For me this is RTBC if green. When the other issue is fixed we'll need to run the test again againts 8.1.x.

Status: Reviewed & tested by the community » Needs work

The last submitted patch, 32: commenttype-dependencies-2717673-32.patch, failed testing.

tetranz’s picture

I think something changed in the node module. I'll have to take a look later.

tstoeckler’s picture

The actual failure is

Fatal error: Class 'Drupal\node\Tests\Node' not found in /var/www/html/core/modules/node/src/Tests/NodeLoadMultipleTest.php on line 49

which seems strange. Not sure what is happening.

(See https://dispatcher.drupalci.org/job/default/136781/console )

tetranz’s picture

NodeLoadMultipleTest.php doesn't appear to have a use statement for Node. That's why it's trying to find it in the same namespace, i.e., Drupal\node\Tests\Node

alexpott’s picture

NodeLoadMultipleTest was failing due to a borked commit which has been reverted.

tetranz’s picture

Status: Needs work » Needs review
FileSize
6.71 KB

Running test again.

tstoeckler’s picture

Status: Needs review » Reviewed & tested by the community

Yay, thanks @alexpott for the clarification.

Status: Reviewed & tested by the community » Needs work

The last submitted patch, 39: commenttype-dependencies-2717673-32.patch, failed testing.

tstoeckler’s picture

Status: Needs work » Reviewed & tested by the community
claudiu.cristea’s picture

+1 for RTBC. Looks clean now.

catch’s picture

Priority: Normal » Major

I was about to commit this, but then realised I have a question:

If you've already uninstalled node module, but have comments missing the dependency, what happens to them with the update? This could possibly be handled in a new issue adding either an update and/or test coverage - since this at least stops the issue on sites that are only missing the dependency itself.

catch’s picture

Status: Reviewed & tested by the community » Needs review
tetranz’s picture

I see what you mean. Should I change the post_update and related test to only do something if the node module exists? Without that I think the $comment_type->save is going to crash or do something meaningless.

catch’s picture

I think that's a good idea here.

We should then open up a follow-up for sites that are already affected - and that could start with test coverage for the case to see how exactly it breaks.

tetranz’s picture

claudiu.cristea’s picture

Status: Needs review » Needs work
+++ b/core/modules/comment/comment.post_update.php
@@ -0,0 +1,34 @@
+  // The comment types that need upgrading depend on the node module.
+  // There is no point in doing this if node is not installed.
+  if (!\Drupal::moduleHandler()->moduleExists('node')) {
+    return;
+  }

+++ b/core/modules/comment/src/Tests/CommentTypeTest.php
@@ -187,4 +187,15 @@ public function testCommentTypeDeletion() {
+    $target_entity_type = \Drupal::entityTypeManager()->getDefinition($comment_type->getTargetEntityTypeId());

+++ b/core/modules/comment/src/Tests/Update/CommentUpdateTest.php
@@ -0,0 +1,56 @@
+    // This test is meaningless if the node module is not installed.
+    if (!\Drupal::moduleHandler()->moduleExists('node')) {
+      return;
+    }

No, sorry. It's not only node. A comment type can be defined for any other arbitrary entity type. I think, inside array_walk() we need to:

if (\Drupal::entityTypeManager()->getDefinition($comment_type->getTargetEntityTypeId())) {
  $comment_type->save();
} 

Then in test we need to test the same, probably using $this->config.

+++ b/core/modules/comment/src/Entity/CommentType.php
@@ -93,4 +93,14 @@ public function getTargetEntityTypeId() {
+    $target_entity_type = \Drupal::entityTypeManager()->getDefinition($this->getTargetEntityTypeId());

Also, what if there's no definition for this target entity type? As is called now it will throw an exception. Do we want that? I'm not sure, I thin we most probably want to avid the dependency. This is open for discussion.

tetranz’s picture

Yes, of course, that makes sense for the post_update.

I'm a bit confused about the update test. I thought drupal-8.filled.standard.php.gz gives us a known set of data which only has the default comment type and the forum comment type. We know that both of those depend on the node entity provided by the node module.

Are you saying that it would be cleaner to not make that assumption in the update test and instead iterate over what we really do have and use the configuration properly rather than hard coding node? That sounds better and more generic.

catch’s picture

The existing update test looks OK to me, we know what data there is. Although I think we could drop the early return for node being installed - it should always be installed no?

What I meant is in follow-up issue, we'd want a test where the database has node module uninstalled and without the early return - to validate whatever we end up doing for comment types where the provider module has already been uninstalled. But there not here.

tetranz’s picture

Status: Needs work » Needs review
FileSize
6.93 KB
1.73 KB

post_update now checks properly that the entity type definition exists before attempting to save and therefore recalculate dependencies.

I implemented @claudiu.cristea's suggested definition check in calculateDependencies then I changed my mind and removed it. I happy to put it back if it seems necessary.

I will open another for the situation where the provider module does not exist.

tetranz’s picture

I created a related issue here. https://www.drupal.org/node/2733819. The wording could probably be improved a bit.

I'll have a go at it if nobody else grabs it in the next day or so.

tetranz’s picture

tetranz’s picture

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

tetranz’s picture

Trying to bring this back to life. Redone it for 8.3.x.

Forum now sets its comment type as a dependency so I've removed any reference to the forum module.

Node still does not set the default comment type as a dependency.

Status: Needs review » Needs work

The last submitted patch, 58: commenttype-dependencies-2717673-58.patch, failed testing.

claudiu.cristea’s picture

@tetranz, for the first failure, you probably need to add 'target_entity_type_id' => 'entity_test' in:

    CommentType::create([
      'id' => 'comment',
      'label' => $this->randomString(),
    ])->save();

inside \Drupal\Tests\comment\Kernel\CommentIntegrationTest::setUp()

Also check the coding standards messages

claudiu.cristea’s picture

+++ b/core/modules/comment/comment.post_update.php
@@ -0,0 +1,32 @@
+    // Make sure that a definition exists for the target entity.
+    // The providing module may have been uninstalled.

The first line of comment should be continued. From https://www.drupal.org/docs/develop/coding-standards/api-documentation-a...

Lines containing comments (including docblocks) must wrap as close to 80 characters as possible without going over

tetranz’s picture

Status: Needs work » Needs review
FileSize
6.72 KB
3.55 KB

Thanks @claudiu.cristea. I think this might do it.

tetranz’s picture

tetranz’s picture

Assigned: tetranz » Unassigned
claudiu.cristea’s picture

Status: Needs review » Reviewed & tested by the community

Looks perfect to me, I have nothing more to comment here.

Status: Reviewed & tested by the community » Needs work

The last submitted patch, 63: commenttype-dependencies-2717673-63.patch, failed testing.

claudiu.cristea’s picture

Status: Needs work » Reviewed & tested by the community
alexpott’s picture

Status: Reviewed & tested by the community » Needs work
  1. +++ b/core/modules/comment/comment.post_update.php
    @@ -0,0 +1,32 @@
    +/**
    + * @addtogroup updates-8.3.x
    + * @{
    + */
    ...
    +/**
    + * @} End of "addtogroup updates-8.3.x".
    + */
    

    These should be removed. New policy - see #2860096: Remove api doc groups for updates eg. updates-8.2.x-to-8.3.x.

  2. +++ b/core/modules/comment/comment.post_update.php
    @@ -0,0 +1,32 @@
    +    // Make sure that a definition exists for the target entity. The providing
    +    // module may have been uninstalled.
    +    if (\Drupal::entityTypeManager()->hasDefinition($comment_type->getTargetEntityTypeId())) {
    +      $comment_type->save();
    +    }
    
    +++ b/core/modules/comment/src/Entity/CommentType.php
    @@ -99,4 +99,14 @@ public function getTargetEntityTypeId() {
    +    parent::calculateDependencies();
    +    $target_entity_type = \Drupal::entityTypeManager()->getDefinition($this->getTargetEntityTypeId());
    +    $this->addDependency('module', $target_entity_type->getProvider());
    +    return $this;
    

    So in the update we defend against missing target entity providers and in calculateDependencies() we don't. Should we be deleting comment types in this position? Or should calculateDependencies() be similarly defensive. Not sure.

claudiu.cristea’s picture

@alexpott, in update we deal with the case where a comment type was created for a target entity whose module has been disabled in the meantime. For such cases we decided not to delete them but, in #2733819: Minimize the effect of a comment type's target entity provider being uninstalled., we raise the red flag.

In calculateDependecies() we don't want to defend, we want to crash because that should be a very edge case, happening in very special circumstances like creating comment types through API and not ensuring a reliable target entity type. Most of the time the comment types are created through the UI where the user cannot select invalid target entity types. So, I don't think we want to mute such events.

alexpott’s picture

@claudiu.cristea hmmm... this doesn't make sense to me - we're leaving around invalid config that can't be saved - because of this change. That's just not right. That means we couldn't ever again write a generic update all the config thing like system_post_update_recalculate_configuration_entity_dependencies() because something might fail. It also means that on these sites config import is completely broken.

claudiu.cristea’s picture

@alexpott, you propose to delete them in update?

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

apaderno’s picture

Version: 8.4.x-dev » 8.6.x-dev
mohit_aghera’s picture

Status: Needs work » Needs review
FileSize
7.46 KB

Re-rolling patch against 8.6.x branch.
I have also fixed couple of issues mentioned by @alexpott
Fixed usage of DI
We still needs some inputs from @alexpott about implementation approach as mentioned by @claudiu.cristea

Status: Needs review » Needs work

The last submitted patch, 74: commenttype-dependencies-2717673-74.patch, failed testing. View results
- codesniffer_fixes.patch Interdiff of automated coding standards fixes only.

mohit_aghera’s picture

Status: Needs work » Needs review
FileSize
8.28 KB
848 bytes

Attempt to fix test case failures.

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

smustgrave’s picture

Status: Needs review » Needs work
Issue tags: +Needs Review Queue Initiative, +Needs issue summary update

This issue is being reviewed by the kind folks in Slack, #needs-review-queue-initiative. We are working to keep the size of Needs Review queue [2700+ issues] to around 400 (1 month or less), following Review a patch or merge request as a guide.

At this time we will need a D10 MR of this issue.
Since it's been 5 years tagged for IS update if any of the remaining tasks have changed as the module has been updated some.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.