Problem/Motivation

We should ship Drupal 9.0 with the latest versions of our dependencies.

Proposed resolution

Update all dependencies.

Remaining tasks

Patch, test, fix any fallout, commit.

User interface changes

None

API changes

None

Data model changes

None

Release notes snippet

Drupal 9's PHP dependencies have been updated to the latest compatible versions wherever possible. In particular:

  • Symfony components have been updated from 4.4.5 to 4.4.8. symfony/mime and symfony/var-dumper have been updated from 5.0.7 to 5.0.8, and symfony-cmf/routing has been updated from 2.1.1 to 2.3.1.
  • doctrine/annotations has been updated from 1.8.0 to 1.10.2, and doctrine/reflection has been updated from 1.1.0 to 1.2.1.
  • Diactoros has been updated from 2.2.2 to 2.3.0, and other Laminas components have received patch-level updates.
  • Guzzle has been updated from 6.5.2 to 6.5.3.
  • Composer has been updated from 1.10.0 to 1.10.5, composer/installers has been updated from 1.8.0 to 1.9.0, and composer/ca-bundle has been updated from 1.2.6 to 1.2.7.
  • PHPUnit has been updated from 8.5.3 to 8.5.4.
  • psr/log has been updated from 1.1.2 to 1.1.3.
  • Other development dependencies have received patch-level updates.
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

alexpott created an issue. See original summary.

alexpott’s picture

Status: Active » Needs review
FileSize
34.75 KB
34.36 KB
alexpott’s picture

Here are the changes:

+------------------------------+--------+--------+
| Production Changes           | From   | To     |
+------------------------------+--------+--------+
| doctrine/annotations         | 1.10.1 | 1.10.2 |
| laminas/laminas-diactoros    | 2.2.3  | 2.3.0  |
| symfony-cmf/routing          | 2.2.0  | 2.3.0  |
| symfony/console              | v4.4.7 | v4.4.8 |
| symfony/debug                | v4.4.7 | v4.4.8 |
| symfony/dependency-injection | v4.4.7 | v4.4.8 |
| symfony/error-handler        | v4.4.7 | v4.4.8 |
| symfony/event-dispatcher     | v4.4.7 | v4.4.8 |
| symfony/http-foundation      | v4.4.7 | v4.4.8 |
| symfony/http-kernel          | v4.4.7 | v4.4.8 |
| symfony/mime                 | v5.0.7 | v5.0.8 |
| symfony/process              | v4.4.7 | v4.4.8 |
| symfony/routing              | v4.4.7 | v4.4.8 |
| symfony/serializer           | v4.4.7 | v4.4.8 |
| symfony/translation          | v4.4.7 | v4.4.8 |
| symfony/validator            | v4.4.7 | v4.4.8 |
| symfony/var-dumper           | v5.0.7 | v5.0.8 |
| symfony/yaml                 | v4.4.7 | v4.4.8 |
+------------------------------+--------+--------+

+---------------------------------+--------+--------+
| Dev Changes                     | From   | To     |
+---------------------------------+--------+--------+
| phpdocumentor/reflection-common | 2.0.0  | 2.1.0  |
| phpunit/phpunit                 | 8.5.3  | 8.5.4  |
| seld/jsonlint                   | 1.7.2  | 1.8.0  |
| symfony/browser-kit             | v4.4.7 | v4.4.8 |
| symfony/css-selector            | v4.4.7 | v4.4.8 |
| symfony/dom-crawler             | v4.4.7 | v4.4.8 |
| symfony/filesystem              | v4.4.7 | v4.4.8 |
| symfony/finder                  | v4.4.7 | v4.4.8 |
| symfony/lock                    | v4.4.7 | v4.4.8 |
| symfony/phpunit-bridge          | v4.4.7 | v4.4.8 |
+---------------------------------+--------+--------+
jungle’s picture

Status: Needs review » Needs work

@hussainweb:

This is the command: docker run --rm -v {$PWD}:/app -w /app composer:1.9.0 require composer/installers:^1.9 --ignore-platform-reqs

-- see 3126566#comment-89

docker run --rm -v ${PWD}:/app -e COMPOSER_ROOT_VERSION=9.1.x-dev -w /app composer:1.9.0 update --ignore-platform-reqs -vvv

Checked by the command above which is slightly modified from the command @hussainweb posted in #3126566

  1. - {$PWD}
    + ${PWD}
  2. + -e COMPOSER_ROOT_VERSION=9.1.x-dev

Found symfony-cmf/routing neends update to 2.3.1

jungle’s picture

Maybe we should use docker to get patches of update dependencies later on so that less/no arguments of varied environment raised issues.

alexpott’s picture

@jungle this nothing to do with docker - it's just that https://github.com/symfony-cmf/Routing had a release today. It's all because we commit a lock file.

alexpott’s picture

Status: Needs work » Needs review
FileSize
1.9 KB
34.75 KB
95.3 KB
+------------------------------+--------+--------+
| Production Changes           | From   | To     |
+------------------------------+--------+--------+
| doctrine/annotations         | 1.10.1 | 1.10.2 |
| laminas/laminas-diactoros    | 2.2.3  | 2.3.0  |
| symfony-cmf/routing          | 2.2.0  | 2.3.1  |
| symfony/console              | v4.4.7 | v4.4.8 |
| symfony/debug                | v4.4.7 | v4.4.8 |
| symfony/dependency-injection | v4.4.7 | v4.4.8 |
| symfony/error-handler        | v4.4.7 | v4.4.8 |
| symfony/event-dispatcher     | v4.4.7 | v4.4.8 |
| symfony/http-foundation      | v4.4.7 | v4.4.8 |
| symfony/http-kernel          | v4.4.7 | v4.4.8 |
| symfony/mime                 | v5.0.7 | v5.0.8 |
| symfony/process              | v4.4.7 | v4.4.8 |
| symfony/routing              | v4.4.7 | v4.4.8 |
| symfony/serializer           | v4.4.7 | v4.4.8 |
| symfony/translation          | v4.4.7 | v4.4.8 |
| symfony/validator            | v4.4.7 | v4.4.8 |
| symfony/var-dumper           | v5.0.7 | v5.0.8 |
| symfony/yaml                 | v4.4.7 | v4.4.8 |
+------------------------------+--------+--------+

+---------------------------------+--------+--------+
| Dev Changes                     | From   | To     |
+---------------------------------+--------+--------+
| phpdocumentor/reflection-common | 2.0.0  | 2.1.0  |
| phpunit/phpunit                 | 8.5.3  | 8.5.4  |
| seld/jsonlint                   | 1.7.2  | 1.8.0  |
| symfony/browser-kit             | v4.4.7 | v4.4.8 |
| symfony/css-selector            | v4.4.7 | v4.4.8 |
| symfony/dom-crawler             | v4.4.7 | v4.4.8 |
| symfony/filesystem              | v4.4.7 | v4.4.8 |
| symfony/finder                  | v4.4.7 | v4.4.8 |
| symfony/lock                    | v4.4.7 | v4.4.8 |
| symfony/phpunit-bridge          | v4.4.7 | v4.4.8 |
+---------------------------------+--------+--------+
jungle’s picture

Yes, nothing docker related here directly, #5 is just a suggestion.

docker run --rm -v ${PWD}:/app -e COMPOSER_ROOT_VERSION=9.1.x-dev -w /app composer:1.9.0 update --ignore-platform-reqs -vvv

If we use the command similar to the above one, that means everyone is running the composer command with a so-called same environment. -- docker encapsulated environment. No matter the composer version on A's local is 1.10, while on B's local is 2.0.

alexpott’s picture

The 9.1.x patch was generated incorrectly... ho humm...

longwave’s picture

Status: Needs review » Needs work
+++ b/composer.lock
@@ -705,7 +705,7 @@
                 "url": "composer/Plugin/ProjectMessage",
-                "reference": "b4efdbe26634b41a1b89e4f3770a8074769088a6"
+                "reference": "cad5c2853f5b733663dcc1be328f80ee233acc30"

@@ -735,7 +735,7 @@
                 "url": "composer/Plugin/VendorHardening",
-                "reference": "d54f0b3cc8b4237f3a41a0860a808db242f9da9e"
+                "reference": "3732b3fa7c1db63f41bc72d847793ea8aebf7735"

This change is in the 9.0.x patch but missing from the 9.1.x patch - I think this is related to #3126566: Allow Drupal to work with Composer 2? If I run composer update locally I get the same change in 9.1.x with the same hashes.

alexpott’s picture

@longwave right you are...

+------------------------------+--------+--------+
| Production Changes           | From   | To     |
+------------------------------+--------+--------+
| doctrine/annotations         | 1.10.1 | 1.10.2 |
| laminas/laminas-diactoros    | 2.2.3  | 2.3.0  |
| symfony-cmf/routing          | 2.2.0  | 2.3.1  |
| symfony/console              | v4.4.7 | v4.4.8 |
| symfony/debug                | v4.4.7 | v4.4.8 |
| symfony/dependency-injection | v4.4.7 | v4.4.8 |
| symfony/error-handler        | v4.4.7 | v4.4.8 |
| symfony/event-dispatcher     | v4.4.7 | v4.4.8 |
| symfony/http-foundation      | v4.4.7 | v4.4.8 |
| symfony/http-kernel          | v4.4.7 | v4.4.8 |
| symfony/mime                 | v5.0.7 | v5.0.8 |
| symfony/process              | v4.4.7 | v4.4.8 |
| symfony/routing              | v4.4.7 | v4.4.8 |
| symfony/serializer           | v4.4.7 | v4.4.8 |
| symfony/translation          | v4.4.7 | v4.4.8 |
| symfony/validator            | v4.4.7 | v4.4.8 |
| symfony/var-dumper           | v5.0.7 | v5.0.8 |
| symfony/yaml                 | v4.4.7 | v4.4.8 |
+------------------------------+--------+--------+

+---------------------------------+--------+--------+
| Dev Changes                     | From   | To     |
+---------------------------------+--------+--------+
| phpdocumentor/reflection-common | 2.0.0  | 2.1.0  |
| phpunit/phpunit                 | 8.5.3  | 8.5.4  |
| seld/jsonlint                   | 1.7.2  | 1.8.0  |
| symfony/browser-kit             | v4.4.7 | v4.4.8 |
| symfony/css-selector            | v4.4.7 | v4.4.8 |
| symfony/dom-crawler             | v4.4.7 | v4.4.8 |
| symfony/filesystem              | v4.4.7 | v4.4.8 |
| symfony/finder                  | v4.4.7 | v4.4.8 |
| symfony/lock                    | v4.4.7 | v4.4.8 |
| symfony/phpunit-bridge          | v4.4.7 | v4.4.8 |
+---------------------------------+--------+--------+

I re-generated the 9.0.x patch from scratch too - that patch here is identical to the one in #7.

longwave’s picture

Status: Needs review » Reviewed & tested by the community

Perfect.

jungle’s picture

+++ b/composer.lock
@@ -4021,9 +4021,6 @@
-            "bin": [
-                "bin/composer"
-            ],

This is an unexpected change on both two patches. It's too trivial and can be ignored.

To reproduce:

$ rm -rf vendor
$ composer update

I tested running composer command inside a docker container and running on my local without docker. Both confirmed.

And composer/composer's original composer.json file has bin. see composer/composer 1.10.5's composer.json file line 71

longwave’s picture

That bin/composer thing keeps coming and going and I don't understand why. I don't think it matters whether it is in the lock or not so either #11 or #13 are fine.

alexpott’s picture

Sure let's do #13 makes no difference. That block has come and gone so many times :)

  • catch committed 0e9339a on 9.1.x
    Issue #3133442 by alexpott, jungle, longwave: Update dependencies for...

  • catch committed 7dcf3fb on 9.0.x
    Issue #3133442 by alexpott, jungle, longwave: Update dependencies for...
catch’s picture

Status: Reviewed & tested by the community » Fixed

Committed/pushed to 9.1.x and 9.0.x, thanks!

xjm’s picture

Status: Fixed » Needs work
Issue tags: +Needs release note, +9.0.0 release notes

The release note here could be a bit more helpful.

xjm’s picture

Issue summary: View changes

Wrote a release note summarizing the combo of #3127674: Update dependencies for Drupal 9.0 and this issue.

xjm’s picture

Status: Needs work » Fixed
Issue tags: -Needs release note
xjm’s picture

Issue summary: View changes

Status: Fixed » Closed (fixed)

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