From 63f22b3c25a46721fec55c426b91a176d669419c Mon Sep 17 00:00:00 2001 From: Daniel Morell Date: Fri, 28 Aug 2026 09:35:58 -0500 Subject: [PATCH 1/5] Removed support for PHP 8.1 which has reached end-of-life --- .github/workflows/ci.yml | 4 ++-- composer.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 310d749b..d20b0137 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,14 +36,14 @@ jobs: matrix: # All the versions, OS, and dependency levels we want to support os: [ubuntu] # TODO: windows, macos - php: [ '8.1', '8.2', '8.3', '8.4', '8.5' ] + php: [ '8.2', '8.3', '8.4', '8.5' ] dependency: [ stable ] # Our code has paths for with- and without- XDebug, and we want to test # both of them. # @see https://xdebug.org/docs/all_settings#mode xdebug3-mode: ['develop,coverage', 'coverage'] include: - - php: '8.1' + - php: '8.2' os: 'ubuntu' dependency: 'lowest' xdebug3-mode: 'develop,coverage' diff --git a/composer.json b/composer.json index 0e51fd30..30d3b917 100644 --- a/composer.json +++ b/composer.json @@ -31,7 +31,7 @@ }, "require": { - "php": ">=8.1.0 <9.0", + "php": ">=8.2.0 <9.0", "ext-curl": "*", "psr/log": "^1 || ^2 || ^3", "monolog/monolog": "^2 || ^3" From 1b18ba6a1df31998943d92744d39ea5b76ef46c2 Mon Sep 17 00:00:00 2001 From: Daniel Morell Date: Fri, 28 Aug 2026 09:36:59 -0500 Subject: [PATCH 2/5] Updated psalm to version 6.16 with support for PHP 8.5 and removed CI workaround --- .github/workflows/ci.yml | 17 ++--------------- composer.json | 2 +- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d20b0137..218d0018 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,21 +73,8 @@ jobs: key: ${{ matrix.os }}-composer-${{ hashFiles('**/composer.json') }}-${{ matrix.dependency }}- restore-keys: ${{ matrix.os }}-composer-${{ matrix.dependency }}- - - name: Install dependencies PHP < 8.5 - if: matrix.php != '8.5' + - name: Install dependencies PHP run: composer update --prefer-${{ matrix.dependency }} --prefer-dist --no-interaction - - name: Execute tests PHP < 8.5 - if: matrix.php != '8.5' + - name: Execute tests PHP run: composer test - - # This is a temporary workaround until vimeo/psalm is updated to support PHP 8.5. - - name: Install dependencies PHP 8.5 - if: matrix.php == '8.5' - run: composer update --prefer-${{ matrix.dependency }} --prefer-dist --no-interaction --ignore-platform-reqs - - - name: Execute tests PHP 8.5 - if: matrix.php == '8.5' - run: | - ./vendor/bin/phpcs --standard=PSR2 ./src ./tests - ./vendor/bin/phpunit --coverage-clover build/logs/clover.xml diff --git a/composer.json b/composer.json index 30d3b917..203c252c 100644 --- a/composer.json +++ b/composer.json @@ -42,7 +42,7 @@ "mockery/mockery": "^1.5.1", "squizlabs/php_codesniffer": "^3.7", "phpmd/phpmd" : "^2.13", - "vimeo/psalm": "^6.13" + "vimeo/psalm": "^6.16" }, "suggest": { From 1533a3a04d122969a32c1d331a8f512350fe2795 Mon Sep 17 00:00:00 2001 From: Daniel Morell Date: Fri, 28 Aug 2026 09:40:56 -0500 Subject: [PATCH 3/5] Added changelog entry --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 775b74a4..1f7ce91d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Removed +* Removed support for PHP 8.1. @danielmorell #673. ## [4.2.1] - 2026-03-27 ### Changed From 6c69217c1fd1329af423f8a62d54468909a160a1 Mon Sep 17 00:00:00 2001 From: Daniel Morell Date: Fri, 28 Aug 2026 09:53:41 -0500 Subject: [PATCH 4/5] Updated the scheduled CI to run weekly on Thursdays instead of every day --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 218d0018..b11f1785 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ on: branches-ignore: - next/** schedule: - - cron: '42 2 * * *' + - cron: '42 2 * * 4' jobs: # Check that this runs on PHP on all versions we claim to support, on both From c39fec992809205019e45e8e525046dbea6de110 Mon Sep 17 00:00:00 2001 From: Daniel Morell Date: Fri, 28 Aug 2026 10:29:24 -0500 Subject: [PATCH 5/5] Fixed nikic/php-parser incompatibility with Psalm --- .github/workflows/ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b11f1785..3f9614b7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -76,5 +76,10 @@ jobs: - name: Install dependencies PHP run: composer update --prefer-${{ matrix.dependency }} --prefer-dist --no-interaction + # Temporary workaround to fix nikic/php-parser incompatibility with Psalm until + # https://github.com/vimeo/psalm/pull/11927 is released. + - name: Fix nikic/php-parser incompatibility with Psalm + run: composer update nikic/php-parser --prefer-dist --no-interaction + - name: Execute tests PHP run: composer test