Use PHP compatibility that matches Drupal core

Created on 18 June 2025, 26 days ago

Problem/Motivation

scheduled_transitions 2.7.x declares a requirement for PHP 8.3 but its code does not actually require PHP 8.3. It is easier to manage module upgrades when module PHP dependencies match Drupal core's own PHP dependencies.

Proposed resolution

Follow Drupal core's PHP dependencies. This automatically drops support for old PHP versions when dropping support for older version of Drupal core.

Remaining tasks

Remove the declaration of PHP dependency from the module's Composer and info files.

User interface changes

None.

API changes

None.

Data model changes

None.

📌 Task
Status

Active

Version

2.8

Component

Code

Created by

🇨🇦Canada Liam Morland Ontario, CA 🇨🇦

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

Comments & Activities

  • Issue created by @Liam Morland
  • 🇦🇺Australia dpi Perth, Australia

    This project, and most of my projects, have always had a proactive approach to PHP, where multiple minors of the project are maintained with their own Drupal core + PHP compatibility minimums.

    Scheduled Transitions itself required PHP 7.1 at inception, while core required 5.5.

    I have no intention to follow core's PHP/dependency graph. I do aim, and communicate as such clearly, the end-of-life schedule of each version on the project page, and associated version archive page.

    Whether or not I actually make use of a PHP versions new features when a minor is introduced isnt relevant, in the least it allows for the possibility to make use of version specific features during its lifetime.

    You are more than welcome to continue to use an older supported version of Scheduled Transitions, and update at your own leisure.

  • 🇦🇺Australia dpi Perth, Australia

    As of writing, if you are on D11, you already are required to use PHP 8.3. These two constraints are reflected exactly in ST 2.8.x series.

    If you are on D10, you can use one of 2.5.x-2.7x.

    You shouldnt ever need to think about any of this, since Composer manages it for you automatically, so long as you require any of v2.

  • 🇨🇦Canada Liam Morland Ontario, CA 🇨🇦

    I suggest updating the "Historical support" page so that it matches the versions shown as supported on the project page.

  • 🇦🇺Australia dpi Perth, Australia

    I do think I need to rethink some of this now that PHP is extending support lifetime, and having a period of time where two major Drupal versions are supported for longer makes the support matrix larger than I want.

    Traditionally, I've moved things that are no longer supported to the Historical support page, and there has been no crossover.

    Given the "supported" concept in drupal.org doesnt actually translate to anything in Composer, I think what makes sense is I only include what branches are receiving new features. While other versions are relegated to historical support. A version under historical support does not necessarily mean it will never receive any more bug or security updates, that will be at my discretion.

Production build 0.71.5 2024