On Tue, Feb 3, 2026, at 7:16 PM, Ben Ramsey wrote:
> On 2/3/26 08:18, Tim Düsterhus wrote:
>> Hi
>>
>> Am 2026-01-30 01:37, schrieb Ben Ramsey:
>>> I've voted "no" on this RFC since the RFC says the proposed PHP
>>> version is PHP 8.5, which I interpret as meaning PHP 8.6, since 8.5
>>> was released in November.
>>>
>>> Even if PHP 8.6 is the proposed version, I still think the target
>>> version should be PHP 9.0, since this is a BC break. I mentioned my
>>> concern about this being a BC break in the discussion thread.
>>>
>>> The RFC is also clear this is a BC break. It says:
>>>
>>>> This is a **backward incompatible change**. Scripts that rely on
>>>> `trim()` *preserving* leading or trailing Form Feed characters will
>>>> be affected.
>>>
>>> I'm a little surprised by the number of folks who voted "yes" on this,
>>> despite it being very clear this is a BC break and PHP "Next" is the
>>> implied proposed version.
>>
>> I however disagree that the target version of this RFC should be 9.0.
>>
>> It technically is a BC break, but so is almost anything else, including
>> any bugfix. Our policy explicitly allows BC breaks in minor version, but
>> gives some recommendations as to what BC breaks are acceptable: https://
>> github.com/php/policies/blob/6ff3612f7f60e9d91188d986cfb4ca84d0722732/
>> release-process.rst#minor-version-number
>>
>> While the proposed BC break would be a “silent” BC break, I believe it
>> qualifies for the “case by case” exception, since:
>>
>> - It is unifying the behavior with other programming languages,
>> including standards defining what “whitespace” means.
>> - trim is well-understood in the community as “removing whitespace”.
>> - Thus it not removing something that clearly is whitespace could be
>> interpreted as a bug.
>> - If users for some reason rely on form feed characters being preserved,
>> I expect them to be well aware of their special requirement.
>> - For those users, mitigating the break is possible with basic tooling,
>> by simply searching the codebase for all occurences of `trim(` and then
>> adjusting the calls to explicitly specify a list of characters to trim
>> (or to replace them with a wrapper).
>>
>> For these reasons I don't think we should wait several years until PHP 9
>> to make the change. We're shipping more impactful breaking changes and
>> bugfixes with every minor version.
>>
>> Best regards
>> Tim Düsterhus
>
>
> With this in mind, I'm still wary of the change, but I wouldn't vote
> against it if it targets PHP 8.6.
>
> Cheers,
> Ben
Where as I would, because we catch flack every version for how many "small" BC breaks we have. It hinders people's ability to upgrade and generates bad PR for PHP routinely.
Majors exist for a reason.
--Larry Garfield