[
https://issues.apache.org/jira/browse/THRIFT-6334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Geyer updated THRIFT-6334:
-------------------------------
Description:
PHP 8.1 reached end of life on 2025-12-31. 8.2 still receives upstream security
support until 2026-12-31, so it becomes the supported floor for 0.26.0. It
stays the floor until 2027: once it has reached its end of life, the policy
below makes 8.3 the next floor.
This change:
* raises the {{composer.json}} requirement to {{^8.2}} and the
{{lib/php/README.md}} minimum to 8.2;
* narrows the PHP CI matrix from {{\[8.1, 8.2, 8.3, 8.4, 8.5]}} to {{\[8.2,
8.3, 8.4, 8.5]}} and moves the static-analysis job to 8.2;
* moves the {{ubuntu-jammy}} and {{ubuntu-focal}} build images to PHP 8.2 (both
via {{ppa:ondrej/php}});
* updates the PHP row in {{LANGUAGES.md}}.
It also records a *version support policy* in {{LANGUAGES.md}}: Thrift targets
the language/runtime versions still receiving upstream support (active or
security) at release time; older, end-of-life versions are kept only while the
cost is manageable, and dropped when that is no longer practical -- for example
when an end-of-life version carries defects that affect Thrift and that its
upstream will no longer fix, as PHP 8.1 does. This makes future minimum-version
changes follow a stated rule rather than a per-release debate.
Note: this raises the minimum PHP version, so it is a breaking change for users
still on PHP 8.1.
_Drafted with AI assistance (Claude Opus 4.8, Claude Opus 5); reviewed and
filed by Jens Geyer._
was:
PHP 8.1 reached end of life on 2025-12-31 and 8.2 reaches it on 2026-12-31. 8.3
is the oldest release still receiving upstream security support, so it becomes
the supported floor for 0.26.0.
This change:
* raises the {{composer.json}} requirement to {{^8.3}} and the
{{lib/php/README.md}} minimum to 8.3;
* narrows the PHP CI matrix from {{[8.1, 8.2, 8.3, 8.4, 8.5]}} to {{[8.3, 8.4,
8.5]}} and the static-analysis job to 8.3;
* moves the {{ubuntu-jammy}} and {{ubuntu-focal}} build images to PHP 8.3 (both
via {{ppa:ondrej/php}});
* updates the PHP row in {{LANGUAGES.md}}.
It also records a *version support policy* in {{LANGUAGES.md}}: Thrift targets
the language/runtime versions still receiving upstream support (active or
security) at release time; older, end-of-life versions are kept only while the
cost is manageable, and dropped when that is no longer practical -- for example
when an end-of-life version carries defects that affect Thrift and that its
upstream will no longer fix, as PHP 8.1 does. This makes future minimum-version
changes follow a stated rule rather than a per-release debate.
Note: this raises the minimum PHP version, so it is a breaking change for users
still on PHP 8.1 or 8.2.
_Drafted with AI assistance (Claude Opus 4.8); reviewed and filed by Jens
Geyer._
Summary: Adopt a version support policy and require PHP 8.2 (was:
Adopt a version support policy and require PHP 8.3)
> Adopt a version support policy and require PHP 8.2
> --------------------------------------------------
>
> Key: THRIFT-6334
> URL: https://issues.apache.org/jira/browse/THRIFT-6334
> Project: Thrift
> Issue Type: Improvement
> Components: Build Process, Documentation, PHP - Library
> Reporter: Jens Geyer
> Priority: Major
> Fix For: 0.26.0
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> PHP 8.1 reached end of life on 2025-12-31. 8.2 still receives upstream
> security support until 2026-12-31, so it becomes the supported floor for
> 0.26.0. It stays the floor until 2027: once it has reached its end of life,
> the policy below makes 8.3 the next floor.
> This change:
> * raises the {{composer.json}} requirement to {{^8.2}} and the
> {{lib/php/README.md}} minimum to 8.2;
> * narrows the PHP CI matrix from {{\[8.1, 8.2, 8.3, 8.4, 8.5]}} to {{\[8.2,
> 8.3, 8.4, 8.5]}} and moves the static-analysis job to 8.2;
> * moves the {{ubuntu-jammy}} and {{ubuntu-focal}} build images to PHP 8.2
> (both via {{ppa:ondrej/php}});
> * updates the PHP row in {{LANGUAGES.md}}.
> It also records a *version support policy* in {{LANGUAGES.md}}: Thrift
> targets the language/runtime versions still receiving upstream support
> (active or security) at release time; older, end-of-life versions are kept
> only while the cost is manageable, and dropped when that is no longer
> practical -- for example when an end-of-life version carries defects that
> affect Thrift and that its upstream will no longer fix, as PHP 8.1 does. This
> makes future minimum-version changes follow a stated rule rather than a
> per-release debate.
> Note: this raises the minimum PHP version, so it is a breaking change for
> users still on PHP 8.1.
> _Drafted with AI assistance (Claude Opus 4.8, Claude Opus 5); reviewed and
> filed by Jens Geyer._
--
This message was sent by Atlassian Jira
(v8.20.10#820010)