Je vais d'ailleurs commencer par ce dernier, car même si le nombre de modifications est important, ces dernières sont beaucoup moins passionnantes que la discussion au sujet des annotations qui a eu lieu sur la liste de diffusion.

Le support des liens symboliques pour la version pour Windows de PHP, amorcé durant la période précédente, continue a être implémenté par Pierre Joye, avec notamment l'ajout de la gestion des liens symboliques au niveau de la directive open_basedir.

Le travail qu'il a réalisé sur ce point précis représente d'ailleurs quasiment la moitié des modifications effectuées sur le trunk, ce qui est loin d'être négligeable.

Un autre gros travai a été effectuée par Dmitry Stogov, sur la gestion de la mémoire par le langage, qui est donc (encore une fois) moins gourmand à ce niveau, même si le gain dépend étroitement du contexte d'utilisation.

J'ai par exemple constaté, notamment lors de la mise en œuvre de la version du trunk en conjonction avec Atoum, mon framework de tests unitaires, une diminution très significative de la consommation de mémoire, de plus de 40% par rapport à PHP 5.3.3.

De plus, les performances de la fonction unserialize() ont de plus été améliorées et les bugs #52802, #51804, #49215, #52826, #52772, #48831, #52827, #52843, #52849, #49366 et #44331 ont été corrigés.

Le reste des modifications correspond à des optimisations diverses au niveau du Zend Engine, et à du nettoyage du code, avec la suppression de fonctions ou de variables non utilisées ou bien encore de macros C qui sont devenues inutiles et la correction d'erreurs à la compilation.

La description des modifications effectuées sur le trunk de PHP étant maintenant complète, je vais maintenant parler des discussions qui ont eu sur internals@, la liste de diffusion des contributeurs au langage.

Je vais commencer par vous parler de celle relative à l'implémentation des annotations dans le langage, car c'est, et de loin, celle qui a monopoliser le plus la liste.

Pour rappel, tout a commencé le 25 août 2010 lorsque Guilherme Blanco et Pierrick Charron ont proposé une implémentation technique de la RFC relative au support des annotations par PHP, dont ils sont également les auteurs.

Depuis, le débat fait rage, entre ceux qui ne voient aucun intérêt aux annotations et/ou ne veulent pas compliquer le langage, ceux qui y voient un intérêt mais qui, au choix et non exclusivement, n'aiment pas la syntaxe proposée, n'aiment pas l'implémentation proposée, ou ignorent ce que sont les annotations, et ceux qui sont pour les annotations telles qu'elles sont proposées par les deux auteurs de la RFC.

Après des centaines de messages enflammés contenant des arguments plus ou moins recevables, un vote a finalement eu lieu, mais son résultat ne semble pas en faveur de l'implémentation proposée.

Ce résultat est cependant à prendre avec des pincettes.

En effet, le dépouillement a été effectué par mes soins, la communauté des contributeurs ne disposant d'aucun outil efficace pour ce genre de procédure, et j'ai très bien pu louper un vote, voir plusieurs, puisque chaque participant vote en envoyant un message sur la liste de diffusion avec une note pouvant être -1, 0 ou 1, en fonction du fait qu'il est contre, indifférent ou pour l'ajout de la fonctionnalité proposée.

Lors de mon dépouillement, il y avait donc 12 votants, dont 7 négatifs et 5 positifs, ce qui est à mon sens assez peu représentatif.

Pour autant, le débat est loin d'être clos et s'est encore compliquée, puisque deux débats transverses ont émergé.

L'un a pour but d'essayer de formaliser correctement le processus de soumission d'une nouvelle fonctionnalité, mais bizarrement, il n'est pas très actif.

L'autre, beaucoup plus actif, vise à supporter les annotations via le format docblock, même si son auteur s'en défend.

En effet, un support très partiel de ce format est déjà disponible dans PHP via la réflection.

Il semble en effet que ce soit le meilleur compromis actuellement, et en conséquence, la RFC relative à l'interprétation des commentaires au format docblock est au premier plan des discussions.

Bref, tout comme dans le cas du débat sur le contrôle du type des arguments, nous sommes loin d'en voir le bout, et il est difficile de dire si cette fonctionnalité sera un jour intégrée dans le langage et la forme que prendra cette intégration en l'état actuel des choses.

Cette rétrospective est maintenant terminée, vous pouvez reprendre une activité normale.