What about a PHP 4.4.1pl1?

php.internals

Matteo Beccati

20 years ago
Hi, I newly subscribed to this ML after some time I didn't follow it, so I beg pardon if I'm posting a question that was already discussed. As you know, a few days ago PHP 4.4.1 was released. As current admin of a widely used PHP project called phpAdsNew, I discovered just today that there are compatibility problems with the latest PHP4 release. One of our users preceded me and opened a bug report, which led to a prompt fix by Ilia: http://bugs.php.net/bug.php?id=35067 ( and its duplicate: http://bugs.php.net/bug.php?id=35070 ) I think that many projects born with PHP3 still use a for loop instead that foreach, that moreover doesn't fit all the situations where next(), prev(), etc are used. As you may see, the bug could cause many headaches to developers of open source projects, which could be forced to write workarounds and release a fix for a PHP bug. That's why I'm asking: do you think to release 4.4.2 (or 4.4.1pl1 or whatever ;) in the very near future? Or should I start writing workarounds and release a PHP 4.4.1 compatible version? P.S. Of course, it's also my fault: I know I should have checked *before*, but unfortunately my spare time is rather short and often I cannot afford to do it in a timely manner. Best regards
-- Matteo Beccati http://phpadsnew.com http://phppgads.com

Markus Fischer

20 years ago
Matteo Beccati wrote:
> I newly subscribed to this ML after some time I didn't follow it, so I > beg pardon if I'm posting a question that was already discussed. > > As you know, a few days ago PHP 4.4.1 was released. As current admin of > a widely used PHP project called phpAdsNew, I discovered just today that > there are compatibility problems with the latest PHP4 release. One of > our users preceded me and opened a bug report, which led to a prompt fix > by Ilia: > > http://bugs.php.net/bug.php?id=35067 > > ( and its duplicate: http://bugs.php.net/bug.php?id=35070 )
The problem is also that the ChangeLog has no mention of this change of behaviour because it seems this change was done without having a bug to fix (at least not a bug in the database). This change was first made in HEAD ( http://cvs.php.net/diff.php/php-src/ext/standard/basic_functions.c?r1=1.732&r2=1.733&ty=u ) and then merged to all branches. But it doesn't reference a bug and doesn't describe what it tries to fix (" Make key() and current() take argument by value." doesn't explain much). I also see that the initial change happened in HEAD, 5.1, 5.0 and 4.4 but the revert only happened in HEAD, 5.1 and 4.4. Was 5.0 intentionally left out? The interesting question is: why was this commited to a branch which should take only bug fixes when: - there was no bug reference - no real description what buggy behaviour it tries to fix ? What I found on the list was a discussion started by Dimitry and the explaination was that "... makes it possible to pass return values of functions that return arrays.". "Makes is possible" doesn't sound like fixing a real bug to me. - Markus

Jasper Bryant-Greene

20 years ago
On Thu, 2005-11-03 at 07:42 +0100, Markus Fischer wrote:
> Matteo Beccati wrote: > > I newly subscribed to this ML after some time I didn't follow it, so I > > beg pardon if I'm posting a question that was already discussed. > > > > As you know, a few days ago PHP 4.4.1 was released. As current admin of > > a widely used PHP project called phpAdsNew, I discovered just today that > > there are compatibility problems with the latest PHP4 release. One of > > our users preceded me and opened a bug report, which led to a prompt fix > > by Ilia: > > > > http://bugs.php.net/bug.php?id=35067 > > > > ( and its duplicate: http://bugs.php.net/bug.php?id=35070 ) > > The problem is also that the ChangeLog has no mention of this change of > behaviour because it seems this change was done without having a bug to > fix (at least not a bug in the database). > > This change was first made in HEAD ( > http://cvs.php.net/diff.php/php-src/ext/standard/basic_functions.c?r1=1.732&r2=1.733&ty=u > ) and then merged to all branches. But it doesn't reference a bug and > doesn't describe what it tries to fix (" Make key() and current() take > argument by value." doesn't explain much).
I haven't been following this thread, but I seem to remember discussion on php-general at some point about the fact that key() and current() took their argument by reference without any actual need to. I think there was a post by Rasmus that said this behaviour would change in the near future, which I assume is the change you quote, but without searching the archives I can't be more specific.
-- Jasper Bryant-Greene General Manager Album Limited e: jasper@album.co.nz w: http://www.album.co.nz/ b: http://jbg.name/ p: 0800 4 ALBUM (0800 425 286) or +64 21 232 3303 a: PO Box 579, Christchurch 8015, New Zealand

Derick Rethans

20 years ago
On Thu, 3 Nov 2005, Matteo Beccati wrote:
> As you know, a few days ago PHP 4.4.1 was released. As current admin of a > widely used PHP project called phpAdsNew, I discovered just today that there > are compatibility problems with the latest PHP4 release.
Please provide your contact info, so that we can send notices about RCs to you too, following the process outlined here: http://oss.backendmedia.com/ReleaseChecklist
> That's why I'm asking: do you think to release 4.4.2 (or 4.4.1pl1 or whatever > ;) in the very near future? Or should I start writing workarounds and release > a PHP 4.4.1 compatible version?
4.4.1pl1 is it definitely not going to be, as there are other little changes you can most likely expect a 4.4.2 within 2 weeks. regards, Derick
-- Derick Rethans http://derickrethans.nl | http://ez.no | http://xdebug.org