Problem/Motivation

Composer doesn't yet support symfony/console ^6.0. Once it does, we should update both. Should be in the composer 2.3 release.

https://github.com/composer/composer/issues/10322

Steps to reproduce

Proposed resolution

Remaining tasks

See if PSR/log 3 compatibility is possible after the update, and add forward to compatibility to core for its changes.

User interface changes

API changes

Data model changes

Release notes snippet

The symfony/console component has been updated from version 5.4.3 to 6.0.5. Drupal 10 requires version 6.0 or higher. Additionally, Drupal core's development dependency requirement for the composer/composer package has been increased from 2.2.4 to 2.3.0.

Issue fork drupal-3264918

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:

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

catch created an issue. See original summary.

xjm’s picture

Title: Update symfony/console to Symfony 6 » [Blocked on upstream] Update symfony/console to Symfony 6
Priority: Normal » Critical
xjm’s picture

Status: Active » Postponed
xjm’s picture

Issue summary: View changes
Issue tags: +Needs followup

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

Spokje’s picture

Assigned: Unassigned » Spokje

Composer 2.3 has a Pre-release which should be testable according to this: https://github.com/composer/composer/issues/10573

I've created an MR which "merely" changes "composer/composer": "^2.2.4", to "composer/composer": "dev-main", in composer.json and "symfony/console": "^5.4", to "symfony/console": "^6.0", in core/composer.json.

Doing a composer update composer/composer -W afterwards gives:

  - Upgrading composer/composer (2.2.6 => dev-main 575fbfb)
  - Upgrading composer/pcre (1.0.1 => 3.0.0)
  - Upgrading composer/xdebug-handler (2.0.4 => 3.0.3)
  - Upgrading drupal/core (10.0.x-dev 343695d => 10.0.x-dev 7c05be6)
  - Upgrading symfony/console (v5.4.3 => v6.0.5)
  - Upgrading symfony/filesystem (v6.0.3 => v6.0.5)
  - Upgrading symfony/polyfill-ctype (v1.24.0 => v1.25.0)
  - Upgrading symfony/polyfill-intl-grapheme (v1.24.0 => v1.25.0)
  - Upgrading symfony/polyfill-intl-normalizer (v1.24.0 => v1.25.0)
  - Upgrading symfony/polyfill-mbstring (v1.24.0 => v1.25.0)
  - Upgrading symfony/polyfill-php80 (v1.24.0 => v1.25.0)
  - Upgrading symfony/process (v6.0.3 => v6.0.5)

Let's feed that to TestBot to see if anything/what breaks.

Spokje’s picture

Assigned: Spokje » Unassigned

Well that went better than expected!

Seems like besides some side-stepping of our min-stability testing for using a dev release, we are good with Composer 2.3.x if nothing major changes.

I think we only need to wait until the official release is out, change "composer/composer": "^2.2.4", to "composer/composer": "^2.3.0", in composer.json and "symfony/console": "^5.4", to "symfony/console": "^6.0", in core/composer.json and do a composer update composer/composer -W afterwards.

Also creating a follow-up for the Remaining tasks bit seems in order, if not done already:

See if PSR/log 3 compatibility is possible after the update, and add forward to compatibility to core for its changes.

Spokje’s picture

Status: Postponed » Needs review

Besides the random testfailure in Drupal\Tests\layout_builder\FunctionalJavascript\BlockFormMessagesTest::testValidationMessage that is plaguing all core tests at the time this testrun was done, it seems that using composer/composer 2.3.0-RC1 and "symfony/console": "^6.0" is working out fine.

The only thing remaining to do is restoring the MINIMUN_STABILITY back to stable in core/tests/Drupal/BuildTests/Composer/Template/ComposerProjectTemplatesTest.php which is currently set to RC whenever the official composer 2.3.0 is released.

Not saying we _need_ to look at/commit this now, but that we _can_.

Spokje’s picture

Title: [Blocked on upstream] Update symfony/console to Symfony 6 » Update symfony/console to Symfony 6
longwave’s picture

Thanks for keeping this up to date - this is looking promising indeed.

Looking at Composer's release history there has historically been less than two weeks (and sometimes only even one day!) between RC and final, so we can probably wait for 2.3.0.

Spokje’s picture

Status: Needs review » Postponed

Thanks @longwave, I agree.

Postponing on the official Composer 2.3.0 release.

Spokje’s picture

Title: Update symfony/console to Symfony 6 » [Postponed on upstream] Update symfony/console to Symfony 6
Spokje’s picture

Title: [Postponed on upstream] Update symfony/console to Symfony 6 » Update symfony/console to Symfony 6
Assigned: Unassigned » Spokje
Status: Postponed » Needs work
Spokje’s picture

Status: Needs work » Needs review
Spokje’s picture

Assigned: Spokje » Unassigned
longwave’s picture

Status: Needs review » Reviewed & tested by the community

Dependency updates only, no code changes were required, therefore RTBC.

$ composer-lock-diff --no-links
+----------------------------------+---------+---------+
| Production Changes               | From    | To      |
+----------------------------------+---------+---------+
| composer/semver                  | 3.2.9   | 3.3.1   |
| symfony/console                  | v5.4.3  | v6.0.5  |
| symfony/polyfill-ctype           | v1.24.0 | v1.25.0 |
| symfony/polyfill-intl-grapheme   | v1.24.0 | v1.25.0 |
| symfony/polyfill-intl-normalizer | v1.24.0 | v1.25.0 |
| symfony/polyfill-mbstring        | v1.24.0 | v1.25.0 |
| symfony/polyfill-php80           | v1.24.0 | v1.25.0 |
| symfony/process                  | v6.0.3  | v6.0.5  |
+----------------------------------+---------+---------+

+-------------------------+--------+--------+
| Dev Changes             | From   | To     |
+-------------------------+--------+--------+
| composer/composer       | 2.2.6  | 2.3.0  |
| composer/pcre           | 1.0.1  | 3.0.0  |
| composer/xdebug-handler | 2.0.4  | 3.0.3  |
| symfony/filesystem      | v6.0.3 | v6.0.6 |
+-------------------------+--------+--------+
Spokje’s picture

Might need CR and release notes?

alexpott’s picture

Issue summary: View changes
Status: Reviewed & tested by the community » Fixed

I've tagged this issue in the CR https://www.drupal.org/node/3265441

We should open a follow-up to see if psr/log v3 is supportable now.

Committed 1b79d50 and pushed to 10.0.x. Thanks!

  • alexpott committed 1b79d50 on 10.0.x
    Issue #3264918 by Spokje, xjm: Update symfony/console to Symfony 6
    

Spokje’s picture

Issue tags: -Needs followup

Thanks @alexpott, created #3272447: Update to PSR/log v3 as a follow-up

xjm’s picture

Issue tags: +10.0.0 release notes
xjm’s picture

Issue summary: View changes

For dep updates, we always want release notes, but almost never need a CR unless there is also an API change in Drupal APIs because of it. :)

andypost’s picture

Status: Fixed » Closed (fixed)

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