From 9af05e0173d5d394b052d80634b6f73a4531e7ce Mon Sep 17 00:00:00 2001 From: ossycodes Date: Sun, 24 May 2026 10:14:24 +0100 Subject: [PATCH 1/5] Add Laravel 13 and PHP 8.4 support Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/main.yml | 34 ++++++++++++++++++++++++++++++---- composer.json | 6 +++--- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 336393a..9bc97f3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,10 +13,16 @@ jobs: fail-fast: true matrix: os: [ubuntu-latest, windows-latest] - php: [7.4, 8.0, 8.1] - laravel: [8.*, 9.*, 10.*] + php: [7.4, 8.0, 8.1, 8.2, 8.3, 8.4] + laravel: [8.*, 9.*, 10.*, 11.*, 12.*, 13.*] stability: [prefer-stable] include: + - laravel: 13.* + testbench: 11.* + - laravel: 12.* + testbench: 10.* + - laravel: 11.* + testbench: 9.* - laravel: 10.* testbench: 8.* - laravel: 9.* @@ -24,10 +30,30 @@ jobs: - laravel: 8.* testbench: 6.* exclude: - - laravel: 10.* + - laravel: 13.* + php: 7.4 + - laravel: 13.* + php: 8.0 + - laravel: 13.* + php: 8.1 + - laravel: 13.* + php: 8.2 + - laravel: 12.* + php: 7.4 + - laravel: 12.* php: 8.0 + - laravel: 12.* + php: 8.1 + - laravel: 11.* + php: 7.4 + - laravel: 11.* + php: 8.0 + - laravel: 11.* + php: 8.1 - laravel: 10.* php: 7.4 + - laravel: 10.* + php: 8.0 - laravel: 9.* php: 7.4 @@ -35,7 +61,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 diff --git a/composer.json b/composer.json index b8d7a85..0f2088a 100644 --- a/composer.json +++ b/composer.json @@ -17,12 +17,12 @@ } ], "require": { - "php": "^7.4|^8.0|^8.1|^8.2|^8.3", - "illuminate/support": "^8.0|^9.0|^10.0|^11.0|^12.0", + "php": "^7.4|^8.0|^8.1|^8.2|^8.3|^8.4", + "illuminate/support": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", "guzzlehttp/guzzle": "^7.0" }, "require-dev": { - "orchestra/testbench": "^6.0|^7.0|^8.0|^9.0", + "orchestra/testbench": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0", "phpunit/phpunit": "^8.0 || ^9.5 || ^10.5 || ^11.0 || ^12.0" }, "autoload": { From deae0fe30b4b13e1189a2e5849663f7859263d9b Mon Sep 17 00:00:00 2001 From: ossycodes Date: Sun, 24 May 2026 10:21:43 +0100 Subject: [PATCH 2/5] Fix test discovery for PHPUnit 11+ by replacing @test annotations with test_ prefix PHPUnit 11 removed the @test annotation, so test methods without a "test" prefix were not discovered, causing a "no tests found" exit code 2 failure. Co-Authored-By: Claude Sonnet 4.6 --- tests/FriendlyCaptchaTest.php | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/tests/FriendlyCaptchaTest.php b/tests/FriendlyCaptchaTest.php index f6686d6..e7735a6 100644 --- a/tests/FriendlyCaptchaTest.php +++ b/tests/FriendlyCaptchaTest.php @@ -25,10 +25,7 @@ public function setUp(): void $this->captcha = new FriendlyCaptcha('{secret-key}', '{site-key}', 'https://api.friendlycaptcha.com/api/v1/puzzle', 'https://api.friendlycaptcha.com/api/v1/siteverify'); } - /** - * @test - */ - public function it_can_render_unpkg_widget_script_correctly() + public function test_it_can_render_unpkg_widget_script_correctly() { $this->assertTrue($this->captcha instanceof FriendlyCaptcha); @@ -39,10 +36,7 @@ public function it_can_render_unpkg_widget_script_correctly() $this->assertStringContainsString($expectedScriptTwo, $this->captcha->renderWidgetScripts()); } - /** - * @test - */ - public function it_can_render_jsdelivr_widget_script_correctly() + public function test_it_can_render_jsdelivr_widget_script_correctly() { $this->assertTrue($this->captcha instanceof FriendlyCaptcha); @@ -53,10 +47,7 @@ public function it_can_render_jsdelivr_widget_script_correctly() $this->assertStringContainsString($expectedScriptTwo, $this->captcha->renderWidgetScripts('jsdelivr')); } - /** - * @test - */ - public function it_can_render_widget_correctly() + public function test_it_can_render_widget_correctly() { $this->assertTrue($this->captcha instanceof FriendlyCaptcha); From 225c58a86713167f38fe72f0abc1c4f5c5bd074b Mon Sep 17 00:00:00 2001 From: ossycodes Date: Sun, 24 May 2026 10:25:34 +0100 Subject: [PATCH 3/5] Fix CI matrix exclusions for PHP/Laravel compatibility bounds testbench 6 (Laravel 8) only supports PHP 7.4-8.0; testbench 7 (Laravel 9) only supports PHP 8.0-8.1. Added the missing upper-bound excludes so composer does not fail trying to install an incompatible testbench version. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/main.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9bc97f3..863eacf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -56,6 +56,20 @@ jobs: php: 8.0 - laravel: 9.* php: 7.4 + - laravel: 9.* + php: 8.2 + - laravel: 9.* + php: 8.3 + - laravel: 9.* + php: 8.4 + - laravel: 8.* + php: 8.1 + - laravel: 8.* + php: 8.2 + - laravel: 8.* + php: 8.3 + - laravel: 8.* + php: 8.4 name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }} From 68660a5cae3d9f217f1239344f70469598059187 Mon Sep 17 00:00:00 2001 From: ossycodes Date: Wed, 27 May 2026 11:02:35 +0100 Subject: [PATCH 4/5] Drop EOL PHP versions and Laravel 8 from CI matrix PHP 7.4 (EOL Nov 2022) and PHP 8.0 (EOL Nov 2023) are no longer supported by transitive dependencies. Laravel 8 has no valid PHP versions left after removing those, so it is dropped too. Matrix now covers PHP 8.1-8.4 against Laravel 9-13 with correct per-version exclusions. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/main.yml | 35 +++++------------------------------ 1 file changed, 5 insertions(+), 30 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 863eacf..6336a53 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,8 +13,8 @@ jobs: fail-fast: true matrix: os: [ubuntu-latest, windows-latest] - php: [7.4, 8.0, 8.1, 8.2, 8.3, 8.4] - laravel: [8.*, 9.*, 10.*, 11.*, 12.*, 13.*] + php: [8.1, 8.2, 8.3, 8.4] + laravel: [9.*, 10.*, 11.*, 12.*, 13.*] stability: [prefer-stable] include: - laravel: 13.* @@ -27,49 +27,24 @@ jobs: testbench: 8.* - laravel: 9.* testbench: 7.* - - laravel: 8.* - testbench: 6.* exclude: - - laravel: 13.* - php: 7.4 - - laravel: 13.* - php: 8.0 + # Laravel 13 requires PHP 8.3+ - laravel: 13.* php: 8.1 - laravel: 13.* php: 8.2 - - laravel: 12.* - php: 7.4 - - laravel: 12.* - php: 8.0 + # Laravel 11 and 12 require PHP 8.2+ - laravel: 12.* php: 8.1 - - laravel: 11.* - php: 7.4 - - laravel: 11.* - php: 8.0 - laravel: 11.* php: 8.1 - - laravel: 10.* - php: 7.4 - - laravel: 10.* - php: 8.0 - - laravel: 9.* - php: 7.4 + # Laravel 9 supports PHP 8.0-8.1 only - laravel: 9.* php: 8.2 - laravel: 9.* php: 8.3 - laravel: 9.* php: 8.4 - - laravel: 8.* - php: 8.1 - - laravel: 8.* - php: 8.2 - - laravel: 8.* - php: 8.3 - - laravel: 8.* - php: 8.4 name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }} From 8e3a0b3fdd907e62e5d5b661068422a2ba3123c8 Mon Sep 17 00:00:00 2001 From: ossycodes Date: Wed, 27 May 2026 11:12:12 +0100 Subject: [PATCH 5/5] Drop Laravel 9 from CI matrix Laravel 9 reached EOL in January 2024. PHP 8.1 (its only remaining valid version after dropping 8.0) reached EOL in November 2024, and transitive dependencies no longer support it for that combination. Matrix now covers Laravel 10-13 against PHP 8.1-8.4. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/main.yml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6336a53..8da2621 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,7 +14,7 @@ jobs: matrix: os: [ubuntu-latest, windows-latest] php: [8.1, 8.2, 8.3, 8.4] - laravel: [9.*, 10.*, 11.*, 12.*, 13.*] + laravel: [10.*, 11.*, 12.*, 13.*] stability: [prefer-stable] include: - laravel: 13.* @@ -25,8 +25,6 @@ jobs: testbench: 9.* - laravel: 10.* testbench: 8.* - - laravel: 9.* - testbench: 7.* exclude: # Laravel 13 requires PHP 8.3+ - laravel: 13.* @@ -38,13 +36,6 @@ jobs: php: 8.1 - laravel: 11.* php: 8.1 - # Laravel 9 supports PHP 8.0-8.1 only - - laravel: 9.* - php: 8.2 - - laravel: 9.* - php: 8.3 - - laravel: 9.* - php: 8.4 name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }}