Skip to content

Drop support for end-of-life PHP versions - #13

Merged
DEVizzent merged 1 commit into
mainfrom
feature/drop-unsupported-php
Nov 6, 2026
Merged

DEVizzent merged 1 commit into
mainfrom
feature/drop-unsupported-php

Conversation

@DEVizzent

Copy link
Copy Markdown
Owner

Summary

Breaking change, to release as 2.0.0. Users on older versions stay on 1.x, because Composer won't install this version for them.

  • Require PHP ^8.2. PHP 7.4, 8.0 and 8.1 no longer receive security updates.
  • Require Codeception ^5.0 and PHPUnit ^11.0 || ^12.0 || ^13.0.
  • Run CI on PHP 8.2 to 8.5 with lowest and highest dependencies, with no experimental jobs. PHPCS and PHPStan now run on PHP 8.2.
  • Update setup-php to 2.40.0 and checkout to v7.
  • Pin mockserver/mockserver to 9.2.0 in CI and docker-compose.yml, so a new image can't break CI without a code change.
  • Migrate phpunit.xml to the current schema, which removes the PHPUnit deprecations, and ignore var/.

No changes in src/ or tests/.

PHP 8.2 security support ends on 2026-12-31.

Resolved versions

PHP Highest Lowest
8.2 PHPUnit 11.5.57 PHPUnit 11.5.50, Codeception 5.1.0
8.3 PHPUnit 12.5.43 PHPUnit 11.5.50, Codeception 5.1.0
8.4 PHPUnit 13.4.6 PHPUnit 11.5.50, Codeception 5.1.0
8.5 PHPUnit 13.4.6 PHPUnit 11.5.50, Codeception 5.1.0

Highest always resolves to Codeception 5.3.7. Composer refuses to install on PHP 8.1.

Test plan

Run locally on Windows with PHP 8.4.27 and MockServer 9.2.0. PHP 8.2 and 8.3 dependencies were selected with Composer's platform setting, so the code itself still ran on 8.4.

  • PHPUnit 13.4.6: 13 of 13 tests pass.
  • PHPUnit 12.5.43 (PHP 8.3 dependencies): 13 of 13 tests pass.
  • PHPUnit 11.5.57 (PHP 8.2 dependencies): 13 of 13 tests pass.
  • Lowest dependencies, PHPUnit 11.5.50: 13 of 13 tests pass, with 2 deprecations that don't fail the suite.
  • PHPStan and PHPCS pass (PHPCS without the line-ending sniff, because of the CRLF checkout on Windows).
  • CI on real PHP 8.2, 8.3, 8.4 and 8.5, which has not run yet.

🤖 Generated with Claude Code

BREAKING CHANGE: require PHP ^8.2, Codeception ^5.0 and PHPUnit ^11.0, ^12.0
or ^13.0. PHP 7.4, 8.0 and 8.1 no longer receive security updates. Users on
those versions stay on 1.x.

Run CI on PHP 8.2 to 8.5 with lowest and highest dependencies, none of them
experimental, and run PHPCS and PHPStan on PHP 8.2. Update setup-php and
checkout, and pin the MockServer image to 9.2.0 in CI and docker-compose.

Migrate phpunit.xml to the current schema, now that older PHPUnit versions
are gone, and ignore its cache directory.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@DEVizzent
DEVizzent merged commit 90be9ba into main Nov 6, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant