PHP 8.6 : le guichet dit « premier », le papier dans ta main est RC3
Le 8 octobre, l'archive annonce « the first release candidate » de PHP 8.6.0, et le numéro qui suit est RC3. Le 24 septembre, la même formule était collée sur RC2, avec une phrase qui disait que ce n'était pas une coquille. Le wiki, lui, marque RC1 comme sauté, le même jour que RC2.
Le distributeur de tickets, au guichet, a une seule phrase enregistrée. Premier. Tu tires le papier. Le chiffre imprimé dessus est 3. La personne devant toi a tiré le sien en septembre : la machine disait déjà premier, et le chiffre était 2, avec un petit mot scotché à côté pour dire que ce n'était pas une coquille. En octobre, le petit mot n'est plus là. La phrase, si. Le tableau accroché plus loin, lui, a une case barrée pour le 1, et il ne traite pas le 3 comme s'il était le premier.
Le 8 octobre 2026, l'archive de PHP.net titre PHP 8.6.0 RC3 available for testing. La première phrase : l'équipe est heureuse d'annoncer the first release candidate of PHP 8.6.0, RC3. Les sources sont sur la page de téléchargement. Il ne faut pas s'en servir en production. La suite prévue : RC4, le 22 octobre 2026. Les signatures sont dans le manifeste ou sur la page des préversions. Le mot « typo » n'est pas dans cette note. Le lien vers un billet non plus.
Le ticket de septembre disait déjà premier, et il s'expliquait
Le 24 septembre 2026, la note d'avant porte le titre PHP 8.6.0 RC2 available for testing. Elle commence par la même formule, avec un autre numéro : the first release candidate of PHP 8.6.0, RC2. Puis la phrase qui n'a pas été recopiée en octobre : « It is not a typo: a mistake was made while packaging RC1, so RC2 was released instead. » Le lien, sur cette note-là, va au billet. La suite prévue, écrite en septembre, était RC3 pour le 8 octobre. Cette date-là, au moins, est arrivée.
Le billet est daté du mercredi 23 septembre 2026, signé dans l'URL par Daniel Scherzer. Il dit que le lendemain, l'équipe compte annoncer le premier release candidate de PHP 8.6, et que ce premier-là sera PHP 8.6.0RC2. La question du titre : qu'est-il arrivé à 8.6.0RC1. La chute, plus bas : dans un métier où « premier » se traduit souvent par le numéro 0, traduire « first release candidate » par le numéro 2 ne devrait pas trop embrouiller. Le billet parle du 2. Il ne parle pas d'un 3 qui hériterait du mot premier.
Le wiki de préparation, page todo/php86, a le tableau. Deux lignes portent la date Sep 24 2026. La première : RC1 (skipped, explanation). La seconde : RC2. La ligne d'après : Oct 08 2026, RC3. Le mot « skipped » est sur RC1. Il n'est pas sur RC3. Le wiki ne réimprime pas « the first release candidate » devant RC3. L'archive du 8 octobre, si.
Le mécanisme est dans le billet, les numéros d'API n'y sont pas
Le billet raconte le pas qui a sauté. Au premier release candidate d'une branche, les release managers créent aussi la branche de la version mineure, ici PHP 8.6, et la branche principale est préparée pour la mineure suivante. Une des étapes met à jour trois numéros d'API : ZEND_EXTENSION_API_NO, ZEND_MODULE_API_NO, PHP_API_VERSION. Le script d'automatisation de cette année, écrit le billet, les bousculait au moment de créer la branche PHP-8.6.0, celle du dernier release candidate, au lieu de les bousculer au moment de créer la branche PHP-8.6, celle du premier. Le tag php-8.6.0RC1 est donc sorti avec les mauvais numéros. Un nouveau tag a été posé une fois les numéros remontés. Le « premier » release candidate de 8.6.0 est numéroté 2.
Je n'ai pas les valeurs de ces trois constantes dans le billet. Je ne vais pas les chercher dans un en-tête pour remplir la case. Le billet dit que Matteo Beccati et Joe Ferguson ont construit le tag RC1, vu que la remontée manquait, et décidé de taguer un RC2. Scherzer s'y nomme le release manager « veteran », et les deux autres les « rookie ». Le wiki imprime les mêmes trois rôles : veteran Daniel Scherzer, rookie Matteo Beccati, rookie Joe Ferguson. Je ne pioche pas un quatrième nom dans la liste des volontaires, plus bas sur la même page.
La note du 8 octobre ne refait pas ce récit. Elle annonce RC3 avec la formule du premier, et elle envoie vers le même wiki, celui dont le tableau a déjà la case RC1 marquée skipped. Deux feuilles ouvertes en même temps : l'une dit premier et 3, l'autre dit sauté et 1, puis 2, puis 3.
La suite est datée, la sortie finale est une cible
Le wiki dit que le tableau part d'une GA visée fin novembre. Les sorties individuelles peuvent être ajoutées ou retirées selon l'avancement. La règle imprimée au-dessus des dates : taguer le mardi, publier le jeudi. La case RC3 dit Oct 08 2026. Elle ne dit pas « tag » d'un côté et « release » de l'autre. Je ne découpe pas cette case en deux jours. La note d'archive, elle, est datée du 8 octobre, et elle parle de sources disponibles. C'est le jour que j'ai sous les yeux. Pas un mardi que je calculerais.
La ligne RC4 du wiki est au 22 octobre 2026. C'est la date que la note du 8 octobre donne aussi, comme prochaine sortie. Là, les deux feuilles s'accordent. Plus bas, le wiki a RC5 le 5 novembre 2026, et GA le 19 novembre 2026. « Late November » est la phrase du chapeau. Le 19 novembre est une ligne. La phrase sur les sorties qui peuvent être ajoutées ou retirées est au-dessus. Je ne prends pas le 19 pour une date qui ne bougera plus.
La note du 8 octobre, comme celle du 24 septembre, dit de lire le fichier NEWS ou le fichier UPGRADING. Je ne les ouvre pas pour ajouter une fonctionnalité que l'annonce ne nomme pas. Elle dit aussi, en capitales, de ne pas utiliser cette version en production. RC3 reste une préversion. Le mot premier, sur le guichet, ne la fait pas passer devant.
✍️ À toi : le binaire ou le tag que tu as vraiment téléchargé, et si la page d'archive disait encore « first » devant RC3. Le wiki a une case sautée. Ton terminal a un numéro.
Le 24 septembre, PHP annonce le premier release candidate de 8.6.0 et écrit que ce n'est pas une coquille : RC1 a raté l'empaquetage, donc c'est RC2. Le billet de la veille explique les trois numéros d'API, sans imprimer leurs valeurs, et le wiki marque RC1 skipped le même jour que RC2. Le 8 octobre, l'archive réimprime « the first release candidate » devant RC3, sans la phrase sur la coquille, et elle prévoit RC4 pour le 22 octobre, date que le wiki a aussi. La GA du 19 novembre reste une ligne sous une cible de fin novembre. Le distributeur n'a pas changé de phrase. Le papier, si.