Problem/Motivation

Following #3330874: [11.x] [policy] Require PHP 8.3 for Drupal 11 we can require PHP 8.3 for Drupal 11.

Steps to reproduce

Proposed resolution

Remaining tasks

Depends on #3400984: Make PHP 8.3 the default environment for gitlab CI runs and the opening of the 10.3.x branch (so that 11.x-only changes can land in 11.x).

User interface changes

API changes

Data model changes

Release notes snippet

CommentFileSizeAuthor
#13 3413268-nr-bot.txt6.53 KBneeds-review-queue-bot

Issue fork drupal-3413268

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

catch created an issue. See original summary.

catch’s picture

https://www.drupal.org/docs/getting-started/system-requirements/overview only deals with one branch at a time. We can probably take it over for Drupal 11 and then have Drupal 10 information https://www.drupal.org/docs/getting-started/system-requirements/php-requ... ? Or do we need an extra overview page for Drupal 10?

catch’s picture

Title: [11.x] Add PHP 8.3 requirement to Drupal 11.0.x » [11.x] [PP-1] Add PHP 8.3 requirement to Drupal 11.0.x
Status: Active » Postponed
longwave’s picture

I think we should keep the requirements on one page, and just split up sections or introduce tables where it differs by major? (PHP version, database versions)

quietone’s picture

I thought about the docs over the last day and came to the conclusion that the Overview page should show an overview for all supported major versions. It is a somewhat atypical view for me as I do like to sub-divide stuff. However, in this case it is meant to be a short summary of all the requirements so the page should not grow long. We want to keep it short.

I have perhaps over stepped but I have made that change to the Overview page so we can see what it looks like. Most of the Drupal 11 requirements are TBA.

bramdriesen’s picture

Makes sense @quietone as that is usually the page where I look for this info in the past

bramdriesen’s picture

Status: Postponed » Active

andypost’s picture

Title: [11.x] [PP-1] Add PHP 8.3 requirement to Drupal 11.0.x » Add PHP 8.3 requirement to Drupal 11.0.x
bramdriesen’s picture

Status: Active » Needs review

I think this is everything. Let's see if the tests are happy as well.

bramdriesen’s picture

In regards of the CR, should we add similar info as when we bumped to 8.1 about linux distributions?

https://www.drupal.org/node/3264830

bramdriesen’s picture

Latest test run is green 😇

needs-review-queue-bot’s picture

Status: Needs review » Needs work
StatusFileSize
new6.53 KB

The Needs Review Queue Bot tested this issue. It fails the Drupal core commit checks. Therefore, this issue status is now "Needs work".

This does not mean that the patch needs to be re-rolled or the MR rebased. Read the Issue Summary, the issue tags and the latest discussion here to determine what needs to be done.

Consult the Drupal Contributor Guide to find step-by-step guides for working with issues.

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

catch’s picture

Title: Add PHP 8.3 requirement to Drupal 11.0.x » [PP-1] [11.x] Add PHP 8.3 requirement to Drupal 11.0.x

I think we should do #3400984: Make PHP 8.3 the default environment for gitlab CI runs first, since we can also backport that to 10.3.x.

longwave’s picture

Title: [PP-1] [11.x] Add PHP 8.3 requirement to Drupal 11.0.x » Add PHP 8.3 requirement to Drupal 11.0.x

The dependent issue landed in 11.x. CI runs are only on PHP 8.3 in 11.x now.

longwave’s picture

Status: Needs work » Needs review

Rebased the MR, removed some additional dead code.

smustgrave’s picture

Status: Needs review » Needs work

Appears to need another rebase. Only moving to NW for that.

But questions

- Does the CR need any tweaking or can that tag be removed.

- I'm still not clear when or where documentation updates happen so leaving that one.

catch’s picture

Docs updates are https://www.drupal.org/docs/getting-started/system-requirements/overview and the 8.3 requirement is on there now.

I don't think we need the distro-by-distro rundown this time because Drupal 10 will be supported for much longer than Drupal 9.5 was, so going to remove that tag as well.

longwave’s picture

Status: Needs work » Needs review

Rebased.

mondrake’s picture

Status: Needs review » Needs work

Comment inline

longwave’s picture

Status: Needs work » Needs review
bramdriesen’s picture

Applied one suggestion. All other changes still look good to me! But maybe setting my own MR to RTBC is not good ;-) so letting it open for others to look at as well.

longwave’s picture

We might want to be compatible with sebastian/diff v5 but we can't for now:

$ composer why-not sebastian/diff 5
drupal/core          11.x-dev requires sebastian/diff (^4)     
phpunit/phpunit      9.6.15   requires sebastian/diff (^4.0.3) 
sebastian/comparator 4.0.8    requires sebastian/diff (^4.0)   

Unsure why this keeps flipping back and forth, I thought I saw an explanation in another issue but can't find it now.

longwave’s picture

We can explicitly declare it in composer.json then it cascades down to the Diff component's composer.json: https://git.drupalcode.org/project/drupal/-/merge_requests/6143/diffs?co...

spokje’s picture

We might want to be compatible with sebastian/diff v5 but we can't for now:

Not saying we shouldn't, but why all the effort when none of our dependencies apparently need v5?

spokje’s picture

We might want to be compatible with sebastian/diff v5 but we can't for now:

Not saying we shouldn't, but why all the effort when none of our dependencies apparently need v5?

mondrake’s picture

Status: Needs review » Reviewed & tested by the community

Well Diff is a 'component', it could theoretically be used independently from Drupal, so allowing more version is good if the compnent itself is not breaking. Actually there's already a Diff version 6 out, that is required in PHPUnit 11.

Let's roll. RTBC.

mondrake’s picture

@longwave re #24 that back and forth was discussed in #3428052: Bump phpstan/phpstan and mglaman/phpstan-drupal to latest.

longwave’s picture

I have no real preference whether we allow diff v5 here or not but it does seem a bit out of scope, we aren't testing our Diff component with v5 so we can't be 100% sure it works.

mondrake’s picture

fwiw we are, in #3417066: Upgrade PHPUnit to 10, drop Symfony PHPUnit-bridge dependency. But agree, it's not HEAD, so oos strictly speaking ATM.

catch’s picture

Do we need/want an extra announcement apart from the change record so that core contributors are reminded to update to PHP 8.3 potentially before their locals blow up? Just checked and I wasn't on 8.3 yet for mine (now I am though :P).

catch’s picture

Do we need/want an extra announcement apart from the change record so that core contributors are reminded to update to PHP 8.3 before their locals blow up? Just checked and I wasn't on 8.3 yet for mine (now I am though :P).

longwave’s picture

@catch we did not officially announce #3330874: [11.x] [policy] Require PHP 8.3 for Drupal 11 anywhere that I can find.

https://www.drupal.org/about/core/blog/drupal-10-php-requirements-announ... notes that "Drupal community members provided feedback that they would have liked to know the Drupal 9 platform requirements further ahead of time" which we did do for Drupal 10 culminating in the PHP 8.1 announcement. So I think that we probably should finalise requirements in #3214954: [11.x] [meta] Set Drupal 11 platform and browser requirements at least six months before the release and make a blog post with the decisions?

gábor hojtsy’s picture

Happy to help cook up an announcement :) Do we want to announce it at the same time with the other requirements?

longwave’s picture

https://www.drupal.org/about/core/blog/drupal-110-will-require-php-83-an... was announced so I think there is nothing blocking this now.

  • catch committed 96e597e7 on 11.x
    Issue #3413268 by BramDriesen, longwave, Spokje, catch, mondrake,...
catch’s picture

Status: Reviewed & tested by the community » Fixed

Double checked gitlabci.yml and noticed this, fixed on commit:

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f9698d5bbc..cee8b12d2d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -225,7 +225,7 @@ default:
 'PHP 8.3 SQLite 3':
   <<: [ *default-stage, *run-on-mr ]
   variables:
-    _TARGET_PHP: "8.2"
+    _TARGET_PHP: "8.3"
     _TARGET_DB: "sqlite-3"
 
 # Jobs running on commits.

Committed/pushed to 11.x, thanks!

mondrake’s picture

Status: Fixed » Reviewed & tested by the community

Looks like ONLY #38 was committed, not the MR content itself

  • longwave committed 6469e9a1 on 11.x
    Issue #3413268 by BramDriesen, longwave, Spokje, catch, mondrake,...
longwave’s picture

Status: Reviewed & tested by the community » Fixed

Committed and pushed the MR, think that's OK even though I worked on it as @catch intended to push earlier.

catch’s picture

Don't know how I managed that, but thanks for spotting!

mondrake’s picture

Published CR

gábor hojtsy’s picture

@andypost sent us https://wiki.php.net/rfc/release_cycle_update which is about to increase support for PHP 8.2 with one year. So that means PHP 8.2 would be supported at least two years or possibly 2.5 years after Drupal 11 is released. This allows us to lower the PHP requirement to PHP 8.2 and make hosting Drupal 11 easier. PHP 8.3 was released 5 months ago. I opened #3440242: Lower PHP requirement from 8.3 to 8.2 in Drupal 11 due to increased security support and #3440114: Update PHP EOL dates based on updated PHP team decisions for these consequences.

Status: Fixed » Closed (fixed)

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