# What about a PHP 4.4.1pl1?

- Thread: https://externals.io/message/19895
- Original archive: https://news-web.php.net/php.internals/19895
- Started by Matteo Beccati on 2005-11-02T23:52:27+00:00
- Messages: 4
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #19895 — Matteo Beccati — 2005-11-02T23:52:27+00:00

URL: https://externals.io/message/19895#19895

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

---

## #19896 — Markus Fischer — 2005-11-03T06:42:24+00:00

URL: https://externals.io/message/19895#19896 · In reply to: #19895

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

---

## #19897 — Jasper Bryant-Greene — 2005-11-03T06:48:35+00:00

URL: https://externals.io/message/19895#19897 · In reply to: #19896

> Matteo Beccati wrote:
> > […]
> 
> 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

---

## #19898 — Derick Rethans — 2005-11-03T08:07:15+00:00

URL: https://externals.io/message/19895#19898 · In reply to: #19895

> 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
