Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-26 Thread Pierre Joye
On Sun, Sep 26, 2021, 7:42 PM Jordi Boggiano wrote: > > > I'm surprised that is_resource() returns false for resource objects, > > does anyone knows why it wouldn't return true in such case ? > > > > This is a very weird behavior, I'd expect it to return true, moreover > > this is the most annoyi

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-26 Thread Nicolas Grekas
Le dim. 26 sept. 2021 à 14:42, Jordi Boggiano a écrit : > > > I'm surprised that is_resource() returns false for resource objects, > > does anyone knows why it wouldn't return true in such case ? > > > > This is a very weird behavior, I'd expect it to return true, moreover > > this is the most an

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-26 Thread Jordi Boggiano
I'm surprised that is_resource() returns false for resource objects, does anyone knows why it wouldn't return true in such case ? This is a very weird behavior, I'd expect it to return true, moreover this is the most annoying detail of this BC break, in my opinion. I have lots of code usin

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-25 Thread Craig Francis
On Thu, 23 Sept 2021 at 17:53, Nikita Popov wrote: > I believe the changes in PHP 8.1 with the highest migration burden for > open-source libraries are the additional of tentative return types (aka > "put #[ReturnTypeWillChange] everywhere") and deprecation of null arguments > to internal functio

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-24 Thread Sebastian Bergmann
Am 23.09.2021 um 18:52 schrieb Nikita Popov: I believe that this continues to be the default behavior of PHPUnit for example. This means that in practice, deprecations do break code, even though they are intended not to. That is correct: by default, PHPUnit converts PHP deprecations, errors, n

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-24 Thread Rowan Tommins
On 24/09/2021 15:11, Larry Garfield wrote: Might one possible way forward be to work with the PHPUnit folks to make deprecations not a test-breaking issue, but report them side-channel somehow? (Like "risky" tests now pass, but have an extra note on them.) That seems like it would resolve the

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-24 Thread Larry Garfield
On Thu, Sep 23, 2021, at 11:52 AM, Nikita Popov wrote: > I believe the changes in PHP 8.1 with the highest migration burden for > open-source libraries are the additional of tentative return types (aka > "put #[ReturnTypeWillChange] everywhere") and deprecation of null arguments > to internal func

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-23 Thread Thomas Nunninger
Hi, Am 22.09.21 um 15:29 schrieb Matthew Weier O'Phinney: Here's the issue: while overall, I like the move to resource objects, introducing them in a MINOR release is hugely problematic. Previously, you would do constructs such as the following: if (! is_resource($resource) || get_resourc

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-23 Thread Rowan Tommins
On 23/09/2021 17:52, Nikita Popov wrote: If we dropped all non-deprecation changes from PHP 8.1, the upgrade would be a bit easier, but not by much. This is not where the main cost is. Be that as it may, the question remains whether *the particular case of is_resource() and get_resource_type(

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-23 Thread Nikita Popov
On Wed, Sep 22, 2021 at 3:30 PM Matthew Weier O'Phinney < mweierophin...@gmail.com> wrote: > Yesterday, I opened an issue regarding a change in the pgsql extension ( > https://bugs.php.net/bug.php?id=81464). > > PHP 8.0 introduced the concept of "resource objects". Where previously we > would have

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-22 Thread Rowan Tommins
On 22/09/2021 15:02, Kamil Tekiela wrote: I just want to point out that PHP does not follow semantic versioning. It never did and there are no plans to start following it now. This statement is true. Breaking changes were made in all previous versions, both major and minor. This statemen

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-22 Thread Levi Morrison via internals
> As somebody who's been contributing to and maintaining OSS libraries > forever (since 2002), the pace of change of PHP is, frankly, ridiculous. I > can keep up with patches. I can keep up with new features. But BC breaks > EVERY YEAR just creates churn. I've spent most of the past 18 months doing

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-22 Thread G. P. B.
On Wed, 22 Sept 2021 at 15:24, Matthew Weier O'Phinney < mweierophin...@gmail.com> wrote: > On Wed, Sep 22, 2021 at 9:01 AM G. P. B. wrote: > >> On Wed, 22 Sept 2021 at 14:30, Matthew Weier O'Phinney < >> mweierophin...@gmail.com> wrote: >> >>> Yesterday, I opened an issue regarding a change in t

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-22 Thread Matthew Weier O'Phinney
On Wed, Sep 22, 2021 at 9:39 AM Calvin Buckley wrote: > On Sep 22, 2021, at 11:24 AM, Matthew Weier O'Phinney < > mweierophin...@gmail.com> wrote: > > As somebody who's been contributing to and maintaining OSS libraries > > forever (since 2002), the pace of change of PHP is, frankly, ridiculous.

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-22 Thread Calvin Buckley
On Sep 22, 2021, at 11:24 AM, Matthew Weier O'Phinney wrote: > As somebody who's been contributing to and maintaining OSS libraries > forever (since 2002), the pace of change of PHP is, frankly, ridiculous. I > can keep up with patches. I can keep up with new features. But BC breaks > EVERY YEAR

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-22 Thread Pierre
Le 22/09/2021 à 16:24, Matthew Weier O'Phinney a écrit : On Wed, Sep 22, 2021 at 9:01 AM G. P. B. wrote: On Wed, 22 Sept 2021 at 14:30, Matthew Weier O'Phinney < mweierophin...@gmail.com> wrote: As somebody who's been contributing to and maintaining OSS libraries forever (since 2002), the pac

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-22 Thread Matthew Weier O'Phinney
On Wed, Sep 22, 2021 at 9:01 AM G. P. B. wrote: > On Wed, 22 Sept 2021 at 14:30, Matthew Weier O'Phinney < > mweierophin...@gmail.com> wrote: > >> Yesterday, I opened an issue regarding a change in the pgsql extension ( >> https://bugs.php.net/bug.php?id=81464). >> >> PHP 8.0 introduced the conce

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-22 Thread Pierre
Le 22/09/2021 à 15:29, Matthew Weier O'Phinney a écrit : Yesterday, I opened an issue regarding a change in the pgsql extension ( https://bugs.php.net/bug.php?id=81464). PHP 8.0 introduced the concept of "resource objects". Where previously we would have resources, and use `get_resource_type()`

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-22 Thread Kamil Tekiela
I just want to point out that PHP does not follow semantic versioning. It never did and there are no plans to start following it now. Breaking changes were made in all previous versions, both major and minor. The only time when we try to avoid breaking changes is in patch releases. These are extrem

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-22 Thread G. P. B.
On Wed, 22 Sept 2021 at 14:30, Matthew Weier O'Phinney < mweierophin...@gmail.com> wrote: > Yesterday, I opened an issue regarding a change in the pgsql extension ( > https://bugs.php.net/bug.php?id=81464). > > PHP 8.0 introduced the concept of "resource objects". Where previously we > would have

Re: [PHP-DEV] BC breaking changes in PHP 8.1

2021-09-22 Thread Calvin Buckley
I suspect this is true (I have not tested yet to be sure) for the Toolkit for IBM i, since it looks at resource types for the same purpose (determine database connection type). Minor fix, but it is a BC break. > On Sep 22, 2021, at 10:29 AM, Matthew Weier O'Phinney > wrote: > > Yesterday, I o