Problem/Motivation

During the Drupal 9 development process, we've discovered that setting platform requirements (PHP version, supported databases, etc.) is best done early during the major branch development process. Setting these to "obvious" minima as soon as possible and then increasing them more afterward was also valuable.

Proposed resolution

  • Continue adding PHP dev environments annually as soon as PHP alphas become available, and stable environments as soon as stable releases are available.
  • Ensure that testing environments are available for the latest database versions before 10.0.x is opened.
  • Require at least PHP 8.0 as soon as 10.0.x is opened. See #3173787: [policy] Require PHP 8.1 for Drupal 10.0 if a dependency does, otherwise require PHP 8.0. (up from 7.3 in Drupal 9).
  • Determine similar obvious minima for supported databases based on support cycles, distro support, and hosting provider support as of when 10.0.x will be opened.
  • Further increase the requirements as feasible.
  • Set a deadline 1-2 months ahead of the initial 10.0.0-beta1 target deadline for finalizing platform requirement policies. (The final implementations can still be beta blockers.)

Remaining tasks

Issue fork drupal-3118147

Command icon 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

xjm created an issue. See original summary.

xjm’s picture

Issue summary: View changes
xjm’s picture

Issue summary: View changes
xjm’s picture

Issue summary: View changes
xjm’s picture

Issue summary: View changes
xjm’s picture

Version: 9.1.x-dev » 10.0.x-dev
gábor hojtsy’s picture

Issue tags: +Drupal 10

Tagging so people find this issue alongside the ones being done in Drupal 9 for Drupal 10.

xjm’s picture

Title: [meta] Set Drupal 10 platform requirements » [meta] Set Drupal 10 platform and browser requirements
daffie’s picture

Set a deadline 1-2 months ahead of the initial 10.0.0-beta1 target deadline for finalizing platform requirement policies.

@xjm: And when is the "initial 10.0.0-beta1 target deadline"?

catch’s picture

@xjm: And when is the "initial 10.0.0-beta1 target deadline"?

If we're aiming for June 2022 for the actual release, then we're looking at April or early May (depending on how much we extend the beta period compared to Drupal 9's/a normal minor). So a couple of months before that puts us at Feb/March (and by then we should have actual dates set).

PHP 8 is in the issue summary, but we should probably open an issue for changing the requirements - it'll need a patch when the branch opens.

nod_’s picture

Issue tags: +JavaScript
andypost’s picture

megachriz’s picture

@catch

PHP 8 is in the issue summary, but we should probably open an issue for changing the requirements - it'll need a patch when the branch opens.

I found an existing issue for this: #3173787: [policy] Require PHP 8.1 for Drupal 10.0 if a dependency does, otherwise require PHP 8.0. (up from 7.3 in Drupal 9)
It was originally titled "Drop PHP 7 support in Drupal 10"

gábor hojtsy’s picture

@MegaChriz: that is still the policy issue, once decided a patch would be done against the Drupal 10 branch. That said, the Drupal 10 branch also does not yet exist in a viable form, it will get created when it can be meaningfully different from 9.4-dev (which also does not exist yet).

catch’s picture

I've just updated the various child database issues of this one. The proposed solution in each look pretty sensible - and it seems worth adding a section to the requirements page in the handbook with 'not less than' minimum versions of each - we can follow-up with core patches and possible further increases if there are any later on.

gábor hojtsy’s picture

Issue summary: View changes

Added link to explicit issue for PHP 8 requirement.

catch’s picture

Looking through all the sub-issues, it looks like due to the way release cycles are working out, we're only likely to raise the PHP and PostgreSQL requirements, leaving sqlite and MySQL/MariaDB the same.

However, it's already easy to see what the absolute minimum requirements for Drupal 11 are likely to be - for example if we don't require MySQL 8 in Drupal 10, we'll definitely require at least MySQL 8 in Drupal 11. So where we can identify a not-less-than increase now, we might as well document that somewhere alongside the Drupal 10 changes.

gábor hojtsy’s picture

@catch One way to do that would be to open this same issue for Drupal 11 now and put the info there. Make it related to this issue. It is hard to tell how pressing preparing for Drupal 11 will be especially if Drupal 10 will launch on Symfony 6. In that case, other requirements will set boundaries of support time which we've usually seen being less predictable.

catch’s picture

gábor hojtsy’s picture

Status: Postponed » Active

Marked the Drupal 11 issue postponed, but to reflect reality, we should mark this Active, since we are doing a lot of stuff here already :D

andypost’s picture

Manny3434 made their first commit to this issue’s fork.

xjm’s picture

Removing credit for someone clicking on the issue fork button.

gábor hojtsy’s picture

Title: [meta] Set Drupal 10 platform and browser requirements » [meta] Set Drupal 10 platform and browser requirements by Drupal 10.0.0-beta1

Making it clear that the deadline for these is the Drupal 10 beta.

xjm’s picture

Title: [meta] Set Drupal 10 platform and browser requirements by Drupal 10.0.0-beta1 » [meta] Set Drupal 10 platform and browser requirements six months before the release

It isn't though.

The outstanding task here is enforcing Composer 2 on the CLI.

gábor hojtsy’s picture

https://www.drupal.org/about/core/blog/drupal-10-php-requirements-announ... announced that the PHP requirement will be announced 5 months ahead (not 6). It did not specify when the other requirements would be defined.

mherchel’s picture

Cross-linking #3251384: Remove support for UC Browser. My understanding is that we need to make a decision on that issue by this coming Tuesday (6mo before D10 is released).

catch’s picture

Per @Gábor Hojtsy I think we only committed to giving 6 (or 5 for the earliest release window because it was already later than 6) months notice for the PHP version, since we knew that more time to prepare for a PHP 8.1 update was important both for hosts and contrib modules.

Having said that, if we have known changes we want to make (ucbrowser, composer), it's better to make those as soon as possible, no reason to delay.

For composer, I'm not sure we're going to be able to enforce using composer 2.2, you could be installing or updating to Drupal 10 with composer <= 2.1, and then we'd be trying to 'enforce' composer 2.2 during that process. I do think we can just document that we only support composer 2.2 or higher on the cli, and if people run into problems with lower versions, tell them to update, and if they don't run into problems, that's fine. Since automatic updates will need to interact with the cli version, we might be able to do more there like a hook_requirements() warning and/or refusing to do any operations etc.

xjm’s picture

Status: Active » Fixed

With #3215870: Require Composer 2.3.5 for developing Drupal 10 core fixed and https://www.drupal.org/docs/system-requirements/composer-requirements updated and added to the handbook, I think the scope of this issue is complete.

We should still require whether to present a warning or error on the CLI for more than just core development, but that can be tracked in the beta blockers if needed, since the requirement is now announced and documented.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.