L'une des informations réellement intéressantes en provenance du fichier NEWS est qu'il y aura encore une version RC supplémentaire avant la sortie de la version finale de PHP 5.4.

En effet, l'entrée correspondante a été créée dans le fichier, et même si elle ne dispose pas encore d'une date, vu les débats actuels sur internals@, la liste de diffusion des développeurs de PHP, concernant la nouvelle directive de configuration max_input_vars introduite dans la RC4, il me semble inévitable que la version RC6 soit disponible dans les 15 prochains jours.

Quoique vu que pour une fois que j'annonce une RC, il soit très possible que ce soit la version finale qui pointe finalement le bout de son nez, vu qu'à chaque fois que je m'aventure à prédire la sortie de la version finale, je me trompe systématiquement.

Donc peut être que cette fois, justement parce que je dis que cette version finale se fera encore attendre un peu, ce ne sera finalement pas le cas.

C'est le début de l'année, j'ai le droit de rêver un peu, non (et d'après ceci, je ne rêve pas tant que ça) ?

L'autre information intéressante, mais c'est tout relatif, concerne l'ajout de l'interface Session_Handler_Interface, qui devra être implémentée par toute classe devant pouvoir s'interface avec la fonction session_set_save_handler() de la manière suivante :

<?php
class mySessionHandler implements Session_Handler_Interface
{
function open() { /* ... */ }
function close() { /* ... */ }
function read() { /* ... */ }
function write() { /* ... */ }
function destroy() { /* ... */ }
function gc() { /* ... */ }
}
session_set_save_handler(new mySessionHandler());
?>

D'après moi, cette modification pourrait poser quelques problèmes lors d'une migration vers PHP 5.4, vu qu'il est maintenant très fréquent que la session soient gérées via un objet dédié.

Si c'est le cas, la classe de ce dernier devra donc être modifiée afin de supporter l'interface Session_Handler_Interface.

Je met cependant un petit bémol à mon affirmation, car je n'ai pas encore eu le temps de faire les tests correspondants, et de plus, rien ne figure à ce sujet dans le fichier UPDATING.

Comme d'habitude, le fichier NEWS est incomplet, notamment en ce qui concerne les bugs corrigés, dont voici la liste :

Fix bug #60591, memory leak when access a non-exists file
Fix bug #60322, ob_get_clean() now raises an E_NOTICE if no buffers exist
Fix bug #60326, restore ob_gzhandler
Fix bug #60326, fix TS build
Fix bug #60326, fix crash introduced by initial fix
Fix bug #60611, segmentation fault with Cls::{expr}() syntax
Fix bug #60613, segmentation fault with $cls->{expr}() syntax
Fix bug #53280, segfaults if query column count is less than param count
Fix a crash in cli mode when apache_request_headers() is called
Fix bug #54374 and bug #55500, filter file names better, no dangling
Fix bug #55871, interruption in substr_replace()
Fix bug #55663, fixed test for bug 43139 on Firebird
Fix bug #60629, memory corruption when web server closed the fcgi fd
Fix bug #60440, return values of inherited session handler to match user handlers
Fix bug #60627, httpd.worker segfault on startup with php_value
Fix bug #60659, FPM does not clear auth_user on request accept

Je rappelle que malgré ces corrections, cette version RC5 n'est toujours pas qualifiée pour être utilisée en production et doit donc en conséquence être testée sur un serveur dédié à cette tâche.

Les sources sont disponibles à l'endroit habituel et comme d'habitude, une version spécifique à Windows est disponible.

Et pour conclure, les développeurs de PHP ont souhaité la bonne année à leur manière !