From 66882d51cf9a0efb03ac3a5abd1571400e93973d Mon Sep 17 00:00:00 2001 From: Daniele Barbaro Date: Wed, 9 Sep 2026 08:16:39 +0200 Subject: [PATCH] feat: support Laravel 13 and PHP 8.5, drop Laravel 11 Laravel 13 needs a Pest 4 toolchain: pest-plugin-laravel 3 caps at Laravel 12 and will not resolve against 13. Pest 4 keeps the PHP 8.3 floor and covers Laravel 12 and 13, so the suite moves to it unchanged. Pest 5 would have forced PHP 8.4 and the loss of 8.3 for no gain here. Laravel 11 is removed rather than carried forward. Its security window closed in March 2026, and the advisories currently open against the framework are fixed in 12.60/12.61 and 13.10/13.12 with nothing in the 11.x branch. Declaring ^11.0 told users an unpatched framework was supported. composer audit is clean on 12 and 13. The matrix gains PHP 8.5 and Laravel 13 and loses Laravel 11, going from 16 jobs to 24. PHPStan runs on 8.5. --- .github/workflows/phpstan.yml | 2 +- .github/workflows/run-tests.yml | 8 ++++---- CONTRIBUTING.md | 2 +- README.md | 4 +++- composer.json | 10 +++++----- 5 files changed, 14 insertions(+), 12 deletions(-) diff --git a/.github/workflows/phpstan.yml b/.github/workflows/phpstan.yml index 59283c3..ae898d7 100644 --- a/.github/workflows/phpstan.yml +++ b/.github/workflows/phpstan.yml @@ -25,7 +25,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.4' + php-version: '8.5' coverage: none - name: Install composer dependencies diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 5c74e8c..ed21737 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -26,14 +26,14 @@ jobs: fail-fast: true matrix: os: [ubuntu-latest, windows-latest] - php: [8.4, 8.3] - laravel: [12.*, 11.*] + php: [8.5, 8.4, 8.3] + laravel: [13.*, 12.*] stability: [prefer-lowest, prefer-stable] include: + - laravel: 13.* + testbench: 11.* - laravel: 12.* testbench: 10.* - - laravel: 11.* - testbench: 9.* name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f104edb..93c8212 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -21,7 +21,7 @@ composer analyse composer format ``` -All three have to pass. CI runs them on every pull request, across PHP 8.3 and 8.4, Laravel 11 and 12, on Linux and Windows. +All three have to pass. CI runs them on every pull request, across PHP 8.3, 8.4 and 8.5, Laravel 12 and 13, on Linux and Windows. A few things that make review quick: diff --git a/README.md b/README.md index ea9858c..91b968a 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,9 @@ Parse KML and KMZ files in a Laravel application. Read placemarks, styles and do ## Requirements -PHP 8.3 or later, Laravel 11 or 12, and the `simplexml`, `libxml` and `zip` extensions. +PHP 8.3 or later, Laravel 12 or 13, and the `simplexml`, `libxml` and `zip` extensions. + +Laravel 11 is supported by the 2.x line. It reached the end of its security window in March 2026 and the advisories open against it have no fix in the 11.x branch, so 3.x does not accept it. ## Installation diff --git a/composer.json b/composer.json index e27f4c8..b88cee3 100644 --- a/composer.json +++ b/composer.json @@ -35,16 +35,16 @@ "ext-libxml": "*", "ext-zip": "*", "spatie/laravel-package-tools": "^1.16", - "illuminate/contracts": "^11.0||^12.0" + "illuminate/contracts": "^12.0||^13.0" }, "require-dev": { "laravel/pint": "^1.14", "nunomaduro/collision": "^8.1.1", "larastan/larastan": "^3.0", - "orchestra/testbench": "^10.0.0", - "pestphp/pest": "^3.0", - "pestphp/pest-plugin-arch": "^3.0", - "pestphp/pest-plugin-laravel": "^3.0", + "orchestra/testbench": "^10.0.0||^11.0.0", + "pestphp/pest": "^4.4.1", + "pestphp/pest-plugin-arch": "^4.0", + "pestphp/pest-plugin-laravel": "^4.1", "phpstan/extension-installer": "^1.3||^2.0", "phpstan/phpstan-deprecation-rules": "^1.1||^2.0", "phpstan/phpstan-phpunit": "^1.3||^2.0"