From 8f9362a557de7d1467ab440c186ca11866e640d9 Mon Sep 17 00:00:00 2001
From: Nikita Hovratov <nikita.h@live.de>
Date: Wed, 24 May 2023 21:25:06 +0200
Subject: [PATCH] [TASK] Raise guzzlehttp/promises to v2

The update brings PHP 7 typehints to guzzlehttp/promises.
guzzlehttp/guzzle mainly raised for guzzlehttp/promises v2
compatibility, but also contains a bugfix for SetCookie::fromString.

> composer require -W guzzlehttp/guzzle:^7.7.0
> composer require guzzlehttp/promises:^2.0
> composer require --no-update guzzlehttp/promises:^2.0 \
  -d typo3/sysext/install/
> composer require --no-update guzzlehttp/guzzle:^7.7.0 \
  -d typo3/sysext/core/

- Upgrading guzzlehttp/guzzle (7.5.1 => 7.7.0)
- Upgrading guzzlehttp/promises (1.5.3 => 2.0.0)

Resolves: #100919
Releases: main, 12.4, 11.5
Change-Id: I3183f2619a060ec768646b1c4a97fdf937312514
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/79142
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Nikita Hovratov <nikita.h@live.de>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Nikita Hovratov <nikita.h@live.de>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Benni Mack <benni@typo3.org>
---
 composer.json                      |  4 +-
 composer.lock                      | 61 ++++++++++++++----------------
 typo3/sysext/core/composer.json    |  2 +-
 typo3/sysext/install/composer.json |  2 +-
 4 files changed, 33 insertions(+), 36 deletions(-)

diff --git a/composer.json b/composer.json
index ae0511a7a712..5c8bf59dc46c 100644
--- a/composer.json
+++ b/composer.json
@@ -58,8 +58,8 @@
 		"egulias/email-validator": "^4.0",
 		"enshrined/svg-sanitize": "^0.15.4",
 		"firebase/php-jwt": "^6.4.0",
-		"guzzlehttp/guzzle": "^7.5.1",
-		"guzzlehttp/promises": "^1.5.2",
+		"guzzlehttp/guzzle": "^7.7.0",
+		"guzzlehttp/promises": "^2.0",
 		"guzzlehttp/psr7": "^2.5.0",
 		"lolli42/finediff": "^1.0.2",
 		"masterminds/html5": "^2.7.6",
diff --git a/composer.lock b/composer.lock
index 4816a6c1437d..451e0c3541b5 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "fea6e0a2b0d2de157e9014bc2c0496ac",
+    "content-hash": "70c9161e9a4a8b6b72d4c9a288316103",
     "packages": [
         {
             "name": "bacon/bacon-qr-code",
@@ -908,21 +908,21 @@
         },
         {
             "name": "guzzlehttp/guzzle",
-            "version": "7.5.1",
+            "version": "7.7.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/guzzle/guzzle.git",
-                "reference": "b964ca597e86b752cd994f27293e9fa6b6a95ed9"
+                "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b964ca597e86b752cd994f27293e9fa6b6a95ed9",
-                "reference": "b964ca597e86b752cd994f27293e9fa6b6a95ed9",
+                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/fb7566caccf22d74d1ab270de3551f72a58399f5",
+                "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5",
                 "shasum": ""
             },
             "require": {
                 "ext-json": "*",
-                "guzzlehttp/promises": "^1.5",
+                "guzzlehttp/promises": "^1.5.3 || ^2.0",
                 "guzzlehttp/psr7": "^1.9.1 || ^2.4.5",
                 "php": "^7.2.5 || ^8.0",
                 "psr/http-client": "^1.0",
@@ -934,7 +934,8 @@
             "require-dev": {
                 "bamarni/composer-bin-plugin": "^1.8.1",
                 "ext-curl": "*",
-                "php-http/client-integration-tests": "^3.0",
+                "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",
+                "php-http/message-factory": "^1.1",
                 "phpunit/phpunit": "^8.5.29 || ^9.5.23",
                 "psr/log": "^1.1 || ^2.0 || ^3.0"
             },
@@ -948,9 +949,6 @@
                 "bamarni-bin": {
                     "bin-links": true,
                     "forward-command": false
-                },
-                "branch-alias": {
-                    "dev-master": "7.5-dev"
                 }
             },
             "autoload": {
@@ -1016,7 +1014,7 @@
             ],
             "support": {
                 "issues": "https://github.com/guzzle/guzzle/issues",
-                "source": "https://github.com/guzzle/guzzle/tree/7.5.1"
+                "source": "https://github.com/guzzle/guzzle/tree/7.7.0"
             },
             "funding": [
                 {
@@ -1032,38 +1030,37 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-04-17T16:30:08+00:00"
+            "time": "2023-05-21T14:04:53+00:00"
         },
         {
             "name": "guzzlehttp/promises",
-            "version": "1.5.2",
+            "version": "2.0.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/guzzle/promises.git",
-                "reference": "b94b2807d85443f9719887892882d0329d1e2598"
+                "reference": "3a494dc7dc1d7d12e511890177ae2d0e6c107da6"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598",
-                "reference": "b94b2807d85443f9719887892882d0329d1e2598",
+                "url": "https://api.github.com/repos/guzzle/promises/zipball/3a494dc7dc1d7d12e511890177ae2d0e6c107da6",
+                "reference": "3a494dc7dc1d7d12e511890177ae2d0e6c107da6",
                 "shasum": ""
             },
             "require": {
-                "php": ">=5.5"
+                "php": "^7.2.5 || ^8.0"
             },
             "require-dev": {
-                "symfony/phpunit-bridge": "^4.4 || ^5.1"
+                "bamarni/composer-bin-plugin": "^1.8.1",
+                "phpunit/phpunit": "^8.5.29 || ^9.5.23"
             },
             "type": "library",
             "extra": {
-                "branch-alias": {
-                    "dev-master": "1.5-dev"
+                "bamarni-bin": {
+                    "bin-links": true,
+                    "forward-command": false
                 }
             },
             "autoload": {
-                "files": [
-                    "src/functions_include.php"
-                ],
                 "psr-4": {
                     "GuzzleHttp\\Promise\\": "src/"
                 }
@@ -1100,7 +1097,7 @@
             ],
             "support": {
                 "issues": "https://github.com/guzzle/promises/issues",
-                "source": "https://github.com/guzzle/promises/tree/1.5.2"
+                "source": "https://github.com/guzzle/promises/tree/2.0.0"
             },
             "funding": [
                 {
@@ -1116,7 +1113,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-08-28T14:55:35+00:00"
+            "time": "2023-05-21T13:50:22+00:00"
         },
         {
             "name": "guzzlehttp/psr7",
@@ -2673,16 +2670,16 @@
         },
         {
             "name": "symfony/deprecation-contracts",
-            "version": "v3.2.1",
+            "version": "v3.3.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/deprecation-contracts.git",
-                "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e"
+                "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e",
-                "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e",
+                "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
+                "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
                 "shasum": ""
             },
             "require": {
@@ -2691,7 +2688,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-main": "3.3-dev"
+                    "dev-main": "3.4-dev"
                 },
                 "thanks": {
                     "name": "symfony/contracts",
@@ -2720,7 +2717,7 @@
             "description": "A generic function and convention to trigger deprecation notices",
             "homepage": "https://symfony.com",
             "support": {
-                "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.1"
+                "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0"
             },
             "funding": [
                 {
@@ -2736,7 +2733,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2023-03-01T10:25:55+00:00"
+            "time": "2023-05-23T14:45:45+00:00"
         },
         {
             "name": "symfony/doctrine-messenger",
diff --git a/typo3/sysext/core/composer.json b/typo3/sysext/core/composer.json
index 752ff840a85b..f94f4caccd62 100644
--- a/typo3/sysext/core/composer.json
+++ b/typo3/sysext/core/composer.json
@@ -40,7 +40,7 @@
 		"egulias/email-validator": "^4.0",
 		"enshrined/svg-sanitize": "^0.15.4",
 		"firebase/php-jwt": "^6.4.0",
-		"guzzlehttp/guzzle": "^7.5.1",
+		"guzzlehttp/guzzle": "^7.7.0",
 		"guzzlehttp/psr7": "^2.5.0",
 		"lolli42/finediff": "^1.0.2",
 		"masterminds/html5": "^2.7.6",
diff --git a/typo3/sysext/install/composer.json b/typo3/sysext/install/composer.json
index 2ee0f94ecb46..478e52365bd9 100644
--- a/typo3/sysext/install/composer.json
+++ b/typo3/sysext/install/composer.json
@@ -20,7 +20,7 @@
 	},
 	"require": {
 		"doctrine/dbal": "^3.6.2",
-		"guzzlehttp/promises": "^1.5.2",
+		"guzzlehttp/promises": "^2.0",
 		"nikic/php-parser": "^4.15.4",
 		"symfony/finder": "^6.2",
 		"symfony/http-foundation": "^6.2",
-- 
GitLab