Recent commits to *.3.x branches break BC

Created on 31 October 2025, 3 days ago

Problem/Motivation

I'm maintaining entitygroupfield. I'm trying to get some new releases out, and fixing up GitLab CI woes. Recent commits to the *.3.x branches (both 2.3.x and 3.3.x) have broken the group module on both 11.1.x and 10.5.x core.

πŸ“Œ Fix CI by updating "jangregor/phpstan-prophecy" Active makes it impossible to even install group 3.3.x-dev on 11.1.x or 10.5.x core. See https://git.drupalcode.org/project/group/-/pipelines/645738 (a manual pipeline I created with the OPT_IN_TEST_PREVIOUS_[MAJOR|MINOR] flags set to 1).

However, more troubling is that if I manually resolve that locally, if I try to run any tests on 10.5.x with 3.3.x of group, everything is a fatal error along these lines:

Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException: You have requested a non-existent service "Drupal\group\Hook\EntityHooks".

That's because ✨ Support object-oriented hooks in version 3.x Active added the LegacyHook stuff like so:

/**
 * Implements hook_entity_bundle_info().
 */
#[LegacyHook]
function group_entity_bundle_info() {
  return \Drupal::service(EntityHooks::class)->entityBundleInfo();
}

But none of these Hook classes are actually services automatically. We also need to tell the world about them in group.services.yml.

Calling this critical β†’ since it qualifies under both of these points:

  • Render a site unusable and have no workaround.
  • Cause tests to fail in HEAD on the automated testing platform for any supported environment (including random failures), since this blocks all other work.

Steps to reproduce

  1. Install the 3.3.x-dev branch of group on a 10.5.x core site.
  2. Try to do anything. πŸ˜…

Proposed resolution

Either:

A) Enable these test_previous jobs in the default GitLab CI config here and test the BC. In the case of the LegacyHook stuff, add the right entries to group.services.yml per the CR about OOP hooks β†’ .

B) Stop claiming your patch level releases are BC, and ruthlessly bump minimum requirements. If you always want to be on the latest and greatest core feature set, and not bother with the technical debt of supporting older versions, that's totally up to you. No judgement. However, as a maintainer trying to interact with the Group API for dependent modules, it's quite hard to "chase HEAD" without clear goal posts. Personally, I'd rather this was in new minor branches, not patch releases, since it's pretty disruptive that any given patch release could break things, drop compatibility, etc.

I'd personally prefer A, but it's not my call.

Remaining tasks

Decide what to do.

User interface changes

API changes

Data model changes

πŸ› Bug report
Status

Active

Version

3.3

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States dww

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

Production build 0.71.5 2024