Problem/Motivation
The 2.0.x branch currently declares support for Drupal 9, Drupal 10, and Drupal 11, without an explicit PHP requirement:
core_version_requirement: ^9 || ^10 || ^11
"require": {
"drupal/core": "^9 || ^10 || ^11"
}Drupal 9 reached end of life on November 1, 2023, and PHP 7.4 reached end of life on November 28, 2022. The most recent 2.0.x release, 2.0.4, was released on January 17, 2025.
Unreleased changes on 2.0.x use:
- PHP attributes for condition plugin metadata, supported by the core condition plugin manager in Drupal 10.3 and later.
- PHP typed class constants, which require PHP 8.3.
- Additional native property, parameter, and return types.
The declared requirements therefore no longer accurately describe the unreleased branch.
Proposed resolution
Update the module’s requirements for the 2.0.5 release to:
core_version_requirement: ^10.3 || ^11
Update composer.json consistently:
"require": {
"php": ">=8.3",
"drupal/core": "^10.3 || ^11"
}
This allows Composer to keep Drupal 9, Drupal 10.0–10.2, and PHP versions below 8.3 on 2.0.4 while allowing supported installations to receive 2.0.5.
Compatibility considerations
This intentionally drops support for:
- Drupal 9
- Drupal 10.0 – 10.2
- PHP versions below 8.3
Although changing platform requirements is normally treated as a compatibility change under semantic versioning, these platforms are no longer supported upstream. The change is intended to make the package metadata accurately reflect the code and prevent incompatible installations from receiving the release.
No configuration update or database update is required.
Issue fork block_visibility_groups-3612073
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #3
joelpittetComment #4
damienmckennaOther than sorting the “require” lines alphabetically, this gets a +1 from me.
Comment #5
joelpittetThanks @damienmckenna that sorting is just my style, I like to see the PHP at the top because it decides what will happen with everything below it, but in this case it's short and totally doesn't matter. 😅 So I will make that change and merge it.
People can chime in if they have strong feelings here(around the bumps not the sorting 😜), I won't make the release right away... but soon after I address some other Major/minor commits are sorted out on this branch but this is the big one!
Comment #6
joelpittetMerge 🚂 has left the station!