Ce phénoméne est très visible sur l'électro-encéphalogramme de PHP.

Sur les dix derniers jours, le nombre de modifications quotidiennes, symbolisé par la bande verte claire, est à peine dans la moyenne.

Cela a d'ailleurs coïncidé avec une baisse d'activité significative sur la liste de diffusion des contributeurs, puisqu'il y a eu pratiquement quatre jours sans aucun message.

Plusieurs explications sont possibles.

La plus probable est que les développeurs ont maintenant besoin d'écrire du code au lieu d'intégrer des fonctionnalités prêtes depuis longtemps car issues du développement de PHP6.

Il est possible d'y voir également un effet du départ de Lukas Kahwe Smith, qui a pu troubler la communauté, même si je n'en ai pas vu la moindre trace.

Et enfin, cela n'est peut être absolument pas significatif et juste transitoire.

Les développeurs de PHP travaille en grande majorité sur le langage sur leur temps libre et en conséquence, ils ont pu disposer de moins de temps.

De plus, la communauté communique par bien d'autres canaux que la liste de diffusion et une absence de dialogue sur cette dernière ne signifie pas que la communauté ne travaille pas, bien au contraire.

Dans tous les cas, moins d'activité ne veut pas dire aucune activité, et il y a eu quand même quelques modifications et ajouts intéressants sur cette période.

Il y a eu énormément de nettoyage et de corrections effectuées sur le code, aussi bien sur la gestion des segments de mémoire partagée, que sur pack(), substr_replace(), parse_str() ou MultipleIterator.

Cela a donné quelques messages assez comique dans le journal d'événement du trunk, tel que celui-ci :

fix the fix for the fix

Afin de valider tout cela, les tests ont également été améliorés afin de repérer les éventuelles régressions.

Le support de DTrace à la compilation a également été amélioré, grâce à votre serviteur qui a fait remonter un problème sur la liste de diffusion des contributeurs suite à ses vains efforts pour compiler la prochaine version de PHP sous FreeBSD 8 avec DTrace activé.

Le code a de plus été remanié, particulièrement au niveau de la gestion de mysql, pour pouvoir évoluer plus facilement.

L'intégration des traits s'est par ailleurs poursuivie avec entre autre chose, l'ajout de la fonction get_declared_traits() et la possibilité de les utiliser dans les interfaces.

De plus, la prochaine version de PHP proposera une nouvelle interface, tout d'abord nommée JSON_Serializable puis renommée JsonSerializable suite à un débat sur la liste des contributeurs.

Elle est issue de la RFC correspondante et impose la définition de la méthode jsonSerialize() qui sera appelée automatiquement par le langage si un objet d'une classe implémentant l'interface est passé en argument à la fonction json_encode().

Dans un autre registre, le code de l'indicateur de progression d'upload, déjà prévu pour PHP 6, a été intégré dans le trunk.

Il sera donc possible avec la prochaine version de PHP de fournir à l'utilisateur une indication visuelle représentant la progression de l'envoie d'un fichier sur le serveur.

Enfin, les bugs #48601, #49893, #50698, #51063, #51605, #51712, #51718, #51725, #51736, #51740, #51791, #51799 et #51827 ont été corrigés.

Sur internals@, la liste de diffusion des contributeurs, il ne s'est rien passé de bien significatif, à part le débat autour du nom de l'interface JsonSerializable et l'utilisation par certain de php.next pour désigner la prochaine version du langage.