From 2be5eab0106e85048a1e4f16dc3ad2c4071d46fd Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Thu, 4 Jun 2026 15:19:05 +0100 Subject: [PATCH 1/4] Bump utopia-php/http to 2.0.0-RC5 Co-Authored-By: Claude Opus 4.8 (1M context) --- composer.json | 2 +- composer.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index ca38377..11e1913 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,7 @@ "ext-json": "*", "ext-redis": "*", "utopia-php/cli": "0.23.*", - "utopia-php/http": "^2.0@RC", + "utopia-php/http": "2.0.0-RC5", "utopia-php/queue": "^0.20", "utopia-php/servers": "0.4.*" }, diff --git a/composer.lock b/composer.lock index 95bc21e..4aa599f 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": "644a2990ef72f54e13a18a7b7d43eda9", + "content-hash": "44ec5a7d4993928831b139258b28893e", "packages": [ { "name": "brick/math", @@ -2025,16 +2025,16 @@ }, { "name": "utopia-php/http", - "version": "2.0.0-rc4", + "version": "2.0.0-rc5", "source": { "type": "git", "url": "https://github.com/utopia-php/http.git", - "reference": "0396a959c6a3be7c16b4b72283347327a75d1f92" + "reference": "ec968c1fd7a4281d8febb3ed771207be0b852b14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/http/zipball/0396a959c6a3be7c16b4b72283347327a75d1f92", - "reference": "0396a959c6a3be7c16b4b72283347327a75d1f92", + "url": "https://api.github.com/repos/utopia-php/http/zipball/ec968c1fd7a4281d8febb3ed771207be0b852b14", + "reference": "ec968c1fd7a4281d8febb3ed771207be0b852b14", "shasum": "" }, "require": { @@ -2075,9 +2075,9 @@ ], "support": { "issues": "https://github.com/utopia-php/http/issues", - "source": "https://github.com/utopia-php/http/tree/2.0.0-rc4" + "source": "https://github.com/utopia-php/http/tree/2.0.0-rc5" }, - "time": "2026-06-02T04:17:22+00:00" + "time": "2026-06-04T13:35:09+00:00" }, { "name": "utopia-php/lock", From 3e512586eedc808234df3ea1e8a3c9292f52d905 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Thu, 4 Jun 2026 15:20:26 +0100 Subject: [PATCH 2/4] Keep floating http RC constraint to satisfy composer validate --strict Co-Authored-By: Claude Opus 4.8 (1M context) --- composer.json | 2 +- composer.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 11e1913..ca38377 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,7 @@ "ext-json": "*", "ext-redis": "*", "utopia-php/cli": "0.23.*", - "utopia-php/http": "2.0.0-RC5", + "utopia-php/http": "^2.0@RC", "utopia-php/queue": "^0.20", "utopia-php/servers": "0.4.*" }, diff --git a/composer.lock b/composer.lock index 4aa599f..b49a48b 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": "44ec5a7d4993928831b139258b28893e", + "content-hash": "644a2990ef72f54e13a18a7b7d43eda9", "packages": [ { "name": "brick/math", From 3e0470f03384a179d763fe096adb29e6d922ff6d Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Thu, 4 Jun 2026 15:22:07 +0100 Subject: [PATCH 3/4] Update header assertions for PSR-7 headers in http RC5 http RC5 switched response headers to PSR-7 semantics: keys are lowercased and values are lists of strings. Use getHeaderLine() to read scalar header values. Co-Authored-By: Claude Opus 4.8 (1M context) --- tests/e2e/HTTPServicesTest.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/e2e/HTTPServicesTest.php b/tests/e2e/HTTPServicesTest.php index 832b82b..7e13445 100644 --- a/tests/e2e/HTTPServicesTest.php +++ b/tests/e2e/HTTPServicesTest.php @@ -73,7 +73,7 @@ public function testRedirectAction() $this->http->run($request, $response); - $this->assertEquals('/', $response->getHeaders()['Location']); + $this->assertEquals('/', $response->getHeaderLine('location')); } public function testHook() @@ -90,7 +90,7 @@ public function testHook() \ob_end_clean(); $this->assertEquals('Hello World!', $result); - $this->assertEquals('init-called', $response->getHeaders()['x-init']); + $this->assertEquals('init-called', $response->getHeaderLine('x-init')); $_SERVER['REQUEST_METHOD'] = 'GET'; $_SERVER['REQUEST_URI'] = '/chunked'; @@ -104,7 +104,7 @@ public function testHook() \ob_end_clean(); $this->assertEquals('Hello World!', $result); - $this->assertEquals('', ($response1->getHeaders()['x-init'] ?? '')); + $this->assertEquals('', $response1->getHeaderLine('x-init')); } public function testAliasedAction() From acef25e6dde6836260ec100e696e527401be5ad5 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Thu, 4 Jun 2026 15:23:44 +0100 Subject: [PATCH 4/4] Test against PHP 8.4 and 8.5 only Drop PHP 8.3 and nightly from the CI matrix and raise the minimum PHP requirement to 8.4. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/tests.yml | 2 +- composer.json | 2 +- composer.lock | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ca5560f..f4b6182 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - php-versions: ['8.3', '8.4', 'nightly'] + php-versions: ['8.4', '8.5'] steps: - name: Checkout repository diff --git a/composer.json b/composer.json index ca38377..1782b2d 100644 --- a/composer.json +++ b/composer.json @@ -15,7 +15,7 @@ } }, "require": { - "php": ">=8.3", + "php": ">=8.4", "ext-json": "*", "ext-redis": "*", "utopia-php/cli": "0.23.*", diff --git a/composer.lock b/composer.lock index b49a48b..43353e2 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": "644a2990ef72f54e13a18a7b7d43eda9", + "content-hash": "2fde5aa6b941c2a140043d64c4026fcf", "packages": [ { "name": "brick/math", @@ -4276,7 +4276,7 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=8.3", + "php": ">=8.4", "ext-json": "*", "ext-redis": "*" },