Problem/Motivation

We should update our dependencies before Drupal 10.2.0.

I see two possibilities:

- We can get this one in now, and do another update round just before the first 10.2.0(-beta?) release
- We wait until just before the first 10.2.0(-beta?) release, update the updates and get this one in.

I really don't mind either option, this issue was opened now to make sure we don't hit any unexpected surprises (which we shouldn't due to our daily "updated deps" QA run)

Steps to reproduce

$ composer outdated

Proposed resolution

$ composer update --with=phpunit/phpunit:^9

Remaining tasks

#3358319: Update to PHPUnit 9.6.13 and replace deprecated assertObject[Not]HasAttribute()

User interface changes

API changes

Data model changes

Release notes snippet

Issue fork drupal-3393151

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

Spokje created an issue. See original summary.

spokje’s picture

Issue summary: View changes
spokje’s picture

$ composer-lock-diff --no-links
+----------------------------------+---------+---------+
| Production Changes               | From    | To      |
+----------------------------------+---------+---------+
| composer/semver                  | 3.3.2   | 3.4.0   |
| doctrine/deprecations            | v1.1.1  | 1.1.2   |
| egulias/email-validator          | 4.0.1   | 4.0.2   |
| guzzlehttp/guzzle                | 7.7.0   | 7.8.0   |
| guzzlehttp/promises              | 2.0.0   | 2.0.1   |
| guzzlehttp/psr7                  | 2.5.0   | 2.6.1   |
| masterminds/html5                | 2.8.0   | 2.8.1   |
| psr/http-client                  | 1.0.2   | 1.0.3   |
| symfony/console                  | v6.3.0  | v6.3.4  |
| symfony/dependency-injection     | v6.3.0  | v6.3.5  |
| symfony/error-handler            | v6.3.0  | v6.3.5  |
| symfony/event-dispatcher         | v6.3.0  | v6.3.2  |
| symfony/http-foundation          | v6.3.0  | v6.3.5  |
| symfony/http-kernel              | v6.3.0  | v6.3.5  |
| symfony/mime                     | v6.3.0  | v6.3.5  |
| symfony/polyfill-ctype           | v1.27.0 | v1.28.0 |
| symfony/polyfill-iconv           | v1.27.0 | v1.28.0 |
| symfony/polyfill-intl-grapheme   | v1.27.0 | v1.28.0 |
| symfony/polyfill-intl-idn        | v1.27.0 | v1.28.0 |
| symfony/polyfill-intl-normalizer | v1.27.0 | v1.28.0 |
| symfony/polyfill-mbstring        | v1.27.0 | v1.28.0 |
| symfony/polyfill-php83           | v1.27.0 | v1.28.0 |
| symfony/process                  | v6.3.0  | v6.3.4  |
| symfony/psr-http-message-bridge  | v2.2.0  | v2.3.1  |
| symfony/routing                  | v6.3.0  | v6.3.5  |
| symfony/serializer               | v6.3.0  | v6.3.5  |
| symfony/string                   | v6.3.0  | v6.3.5  |
| symfony/validator                | v6.3.0  | v6.3.5  |
| symfony/var-dumper               | v6.3.0  | v6.3.5  |
| symfony/var-exporter             | v6.3.0  | v6.3.4  |
| symfony/yaml                     | v6.3.0  | v6.3.3  |
| twig/twig                        | v3.6.0  | v3.7.1  |
+----------------------------------+---------+---------+

+------------------------------------+----------+----------+
| Dev Changes                        | From     | To       |
+------------------------------------+----------+----------+
| composer/ca-bundle                 | 1.3.6    | 1.3.7    |
| composer/class-map-generator       | 1.0.0    | 1.1.0    |
| composer/composer                  | 2.6.4    | 2.6.5    |
| composer/pcre                      | 3.1.0    | 3.1.1    |
| drupal/coder                       | 8.3.18   | 8.3.21   |
| google/protobuf                    | v3.23.3  | v3.24.4  |
| justinrainbow/json-schema          | 5.2.12   | v5.2.13  |
| nikic/php-parser                   | v4.15.5  | v4.17.1  |
| php-http/discovery                 | 1.18.1   | 1.19.1   |
| phpdocumentor/type-resolver        | 1.7.2    | 1.7.3    |
| phpstan/phpdoc-parser              | 1.20.4   | 1.24.2   |
| phpstan/phpstan-phpunit            | 1.3.13   | 1.3.15   |
| phpunit/php-code-coverage          | 9.2.26   | 9.2.29   |
| phpunit/phpunit                    | 9.6.8    | 9.6.13   |
| react/promise                      | v2.10.0  | v3.0.0   |
| sebastian/global-state             | 5.0.5    | 5.0.6    |
| seld/signal-handler                | 2.0.1    | 2.0.2    |
| sirbrillig/phpcs-variable-analysis | v2.11.16 | v2.11.17 |
| slevomat/coding-standard           | 8.12.1   | 8.14.1   |
| symfony/browser-kit                | v6.3.0   | v6.3.2   |
| symfony/css-selector               | v6.3.0   | v6.3.2   |
| symfony/dom-crawler                | v6.3.0   | v6.3.4   |
| symfony/filesystem                 | v6.3.0   | v6.3.1   |
| symfony/finder                     | v6.3.0   | v6.3.5   |
| symfony/lock                       | v6.3.0   | v6.3.2   |
| symfony/phpunit-bridge             | v6.3.0   | v6.3.2   |
| symfony/polyfill-php82             | v1.27.0  | v1.28.0  |
+------------------------------------+----------+----------+

quietone’s picture

Thanks for opening this issue.

spokje’s picture

@quietone: Ah, should have checked, of course you had already admin-ed the BLEEP out of meta-s.
Thanks!

spokje’s picture

Assigned: Unassigned » spokje

So, minor surprise detected.

Seems like the "updated deps" QA runs uses composer update --with-all-dependencies --with phpunit/phpunit:$(composer show -i |grep phpunit\/phpunit |awk '{print $2}') --working-dir /var/www/html which will keep phpunit/phpunit at exactly the same version.

What we're doing (and have been doing) in update issues like these is composer update --with-all-dependencies --with phpunit/phpunit:$(composer show -i |grep phpunit\/phpunit |awk '{ split($2, arr, "."); print arr[1]; }') --working-dir /var/www/html which keeps phpunit/phpunit at the same _major_ version.

spokje’s picture

Assigned: spokje » Unassigned
Status: Active » Needs review

So it looks like PHPUnit backported the previously 10.1+ methods assertObject[Not]HasProperty to 9.6.

I'm unsure about 2 things now:

1) I think we should repurpose #3358319: Update to PHPUnit 9.6.13 and replace deprecated assertObject[Not]HasAttribute() to update PHPUnit to the latest 9.6 version and use the above method to replace the deprecated ones. Doing this in a separate issue means we can backport this down to core 10.1.x.
2) We would have caught this a lot earlier if we used #8 in our daily "updated deps" run. Not sure if it's worth opening an issue for that since GitLab has priority. On the other hand: Can't open an issue for GitLab since that doesn't have a "updated deps" run.

spokje’s picture

Version: 11.x-dev » 10.2.x-dev
smustgrave’s picture

Status: Needs review » Needs work

I like that idea @Spokje of moving the phpunit out to a separate issue. Feel there could be some back n forth for that and no reason to delay the others. Could you revert the phpunit update please.

spokje’s picture

Title: Update composer dependencies for Drupal 10.2 » [PP-1] Update composer dependencies for Drupal 10.2
Status: Needs work » Postponed
Related issues: +#3358319: Update to PHPUnit 9.6.13 and replace deprecated assertObject[Not]HasAttribute()

quietone’s picture

Issue summary: View changes

Adding postponed item to remaining tasks per details to include in the 'Remaining tasks'.

quietone’s picture

Status: Postponed » Active

quietone’s picture

Title: [PP-1] Update composer dependencies for Drupal 10.2 » Update composer dependencies for Drupal 10.2
Status: Active » Needs review
spokje’s picture

More compact change list now.

$ composer-lock-diff --no-links
+------------------------------+--------------+--------------+
| Production Changes           | To           | From         |
+------------------------------+--------------+--------------+
| composer/semver              | 3.3.2        | 3.4.0        |
| doctrine/deprecations        | v1.1.1       | 1.1.2        |
| egulias/email-validator      | 4.0.1        | 4.0.2        |
| guzzlehttp/guzzle            | 7.7.0        | 7.8.0        |
| guzzlehttp/promises          | 2.0.0        | 2.0.1        |
| guzzlehttp/psr7              | 2.5.0        | 2.6.1        |
| masterminds/html5            | 2.8.0        | 2.8.1        |
| psr/http-client              | 1.0.2        | 1.0.3        |
| symfony/dependency-injection | v6.4.0-BETA1 | v6.4.0-BETA2 |
| symfony/http-foundation      | v6.4.0-BETA1 | v6.4.0-BETA2 |
| symfony/http-kernel          | v6.4.0-BETA1 | v6.4.0-BETA2 |
| symfony/process              | v6.4.0-BETA1 | v6.4.0-BETA2 |
| symfony/routing              | v6.4.0-BETA1 | v6.4.0-BETA2 |
| symfony/serializer           | v6.4.0-BETA1 | v6.4.0-BETA2 |
| symfony/validator            | v6.4.0-BETA1 | v6.4.0-BETA2 |
| symfony/var-dumper           | v6.4.0-BETA1 | v6.4.0-BETA2 |
| symfony/yaml                 | v6.4.0-BETA1 | v6.4.0-BETA2 |
| twig/twig                    | v3.6.0       | v3.7.1       |
+------------------------------+--------------+--------------+

+------------------------------------+--------------+--------------+
| Dev Changes                        | To           | From         |
+------------------------------------+--------------+--------------+
| composer/ca-bundle                 | 1.3.6        | 1.3.7        |
| composer/class-map-generator       | 1.0.0        | 1.1.0        |
| composer/composer                  | 2.6.4        | 2.6.5        |
| composer/pcre                      | 3.1.0        | 3.1.1        |
| google/protobuf                    | v3.23.3      | v3.25.0      |
| justinrainbow/json-schema          | 5.2.12       | v5.2.13      |
| php-http/discovery                 | 1.18.1       | 1.19.1       |
| php-http/promise                   | 1.1.0        | 1.2.0        |
| phpdocumentor/type-resolver        | 1.7.2        | 1.7.3        |
| phpstan/phpdoc-parser              | 1.20.4       | 1.24.2       |
| phpstan/phpstan                    | 1.10.38      | 1.10.40      |
| phpstan/phpstan-phpunit            | 1.3.13       | 1.3.15       |
| react/promise                      | v2.10.0      | v3.0.0       |
| seld/signal-handler                | 2.0.1        | 2.0.2        |
| sirbrillig/phpcs-variable-analysis | v2.11.16     | v2.11.17     |
| slevomat/coding-standard           | 8.12.1       | 8.14.1       |
| symfony/dom-crawler                | v6.4.0-BETA1 | v6.4.0-BETA2 |
| symfony/lock                       | v6.4.0-BETA1 | v6.4.0-BETA2 |
| symfony/phpunit-bridge             | v6.4.0-BETA1 | v6.4.0-BETA2 |
+------------------------------------+--------------+--------------+

Got the same results as the MR locally with a $ composer update --with-all-dependencies --with phpunit/phpunit:^9.
Would RTBC, but messed with this one myself.

smustgrave’s picture

Status: Needs review » Reviewed & tested by the community

Yay for updates!

alexpott’s picture

Status: Reviewed & tested by the community » Fixed

Committed and pushed e24ba3f4484 to 11.x and 441439c6f6a to 10.2.x. Thanks!

  • alexpott committed e24ba3f4 on 11.x
    Issue #3393151 by Spokje, quietone: Update composer dependencies for...

  • alexpott committed 441439c6 on 10.2.x
    Issue #3393151 by Spokje, quietone: Update composer dependencies for...
mondrake’s picture

mglaman/phpstan-drupal just released 1.2.1.

Status: Fixed » Closed (fixed)

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