THRIFT-5956: Bump minimum PHP version to 8.1#3435
Merged
Merged
Conversation
Contributor
Author
|
@pkvach FYI |
5 tasks
5 tasks
Client: php
Drop PHP 7.x and 8.0 from the supported floor. PHP 7.x is fully EOL
upstream (oldest line 7.0 since 2019, latest 7.4 since 2022) and 8.0
since 2023.
* composer.json: require PHP ^8.1; collapse PHPUnit constraint to
^9.5 (only PHPUnit version that runs on PHP 8.1 without dropping
the legacy annotation-style tests we still use); bump phpcs to
^3.10.
* lib/php/phpunit.xml: bump schema URL to 9.5.
* .github/workflows/build.yml: drop the 7.1/7.2/7.3/7.4/8.0 rows of
the lib-php matrix.
* build/docker/ubuntu-focal/Dockerfile: install PHP 8.1 from
ppa:ondrej/php (focal default is 7.4, below the new floor).
* build/docker/README.md: refresh the version table.
* CHANGES.md: announce the breaking change under 0.24.0.
Migrating to PHPUnit 10/11 and modernizing the C++ -> PHP generator
output (typed properties, native enums, declare(strict_types=1)) are
left to follow-up tickets.
Generated-by: Claude Opus 4.7 (1M context)
kpumuk
reviewed
May 2, 2026
| libtest-exception-perl | ||
|
|
||
| # PHP via Ondřej Surý PPA (focal default is 7.4 which is below our 8.1 floor) | ||
| RUN add-apt-repository -y ppa:ondrej/php && \ |
Member
There was a problem hiding this comment.
Note to myself: Ondřej Surý is the maintainer of the PHP packages for Debian and Ubuntu (both the official ones and the ones you are using via the PPA).
kpumuk
approved these changes
May 2, 2026
Member
|
@sveneld I think it would be a good idea to update README.md in Specifically, minimum version, maybe mention we raised the minimum version in the breaking changes section. |
Contributor
Author
|
I will update README.md after all planned changes will be completed. Planned changes:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Drop PHP 7.x and 8.0 from the supported floor for the PHP library and bump
the minimum to PHP 8.1. PHP 7.x is fully EOL upstream (7.0 since 2019,
7.4 since 2022) and 8.0 since 2023; the test suite has matured enough to
make this maintenance simplification safe.
Changes:
composer.json: require PHP^8.1; collapse PHPUnit constraint to^9.5(the only PHPUnit line that runs on PHP 8.1 without dropping the
annotation-style tests we still use); bump phpcs to
^3.10.lib/php/phpunit.xml: bump schema URL to 9.5..github/workflows/build.yml: drop the7.1/7.2/7.3/7.4/8.0rows of thelib-phpmatrix.build/docker/ubuntu-focal/Dockerfile: install PHP 8.1 fromppa:ondrej/php(focal default is 7.4, below the new floor).build/docker/README.md: refresh the version table.CHANGES.md: announce the breaking change under 0.24.0.Migrating to PHPUnit 10/11 and modernizing the C++ → PHP generator output
(typed properties, native enums,
declare(strict_types=1)) are intentionallyleft to follow-up tickets.
Users still on PHP 7.x or 8.0 can remain on the 0.23.x release series.
Breaking-Change.)[skip ci]anywhere in the commit message to free up build resources.Generated-by: Claude Opus 4.7 (1M context)