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
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
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 (" Makekey()
andcurrent()
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
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