OpenSSL 4.1.0 : le premier tirage a s390x, le carton dit « Nov 2027 »
Le 23 septembre, la note beta1 aligne encore s390x et n'a pas de section Known issues. Le 9 octobre, beta2 retire s390x et colle un seul numéro. Le 23 octobre, la 4.1.0 en colle quatre, et le tableau des téléchargements écrit la fin de vie « Nov 2027 » là où la feuille de route imprime le 23 novembre.
L'imprimerie a sorti la même affiche trois fois. Le premier tirage, le 23 septembre, a encore le mot s390x, et pas un seul papillon au bas de la page. Le deuxième, le 9 octobre, a retiré s390x et collé un numéro. Le troisième, le 23 octobre, en a collé quatre, avec un deux-points que le tirage d'avant n'avait pas. Tu vas chercher le carton pour savoir jusqu'à quand l'affiche reste en vitrine. Le carton écrit Nov 2027. Le calendrier punaisé à côté écrit 23 Nov 2027. Le mois est le même. Le jour n'est que sur le calendrier.
Les trois notes sont publiées par openssl-machine. openssl-4.1.0-beta1, le 2026-09-23T13:24:11Z. openssl-4.1.0-beta2, le 2026-10-09T12:22:55Z. Les deux beta sont marquées pre-release. openssl-4.1.0, le 2026-10-23T12:23:31Z, ne l'est pas. Les trois ouvrent sur la même phrase : c'est une sortie de fonctionnalités qui ajoute du neuf à OpenSSL. Les trois disent IKEV2 KDF, avec le V en capitale, pas IKEv2. Je ne corrige pas.
s390x ne passe pas le premier tirage
La puce des optimisations, sur beta1 : ML-DSA et ML-KEM NTT sur ppc64le, ML-DSA sur s390x, and x86_64, SHAKE x4 en AVX-512 pour ML-DSA sur x86_64, AES-CBC en AVX-512 et VAES sur x86_64. La virgule avant « and » est imprimée. Sur beta2 et sur la finale, la même puce dit ML-DSA sur x86_64, et le mot s390x n'y est pas. Le reste de la puce, ppc64le, SHAKE, AES-CBC, est encore là. Je ne conclus pas que le binaire a perdu une optimisation. Je conclus que la ligne du bon de travail ne la nomme plus.
Ce qui ne bouge pas, sur les trois notes. Les cibles VC-WIN32-MSVC2013 et VC-WIN64A-MSVC2013. L'utilitaire tsget, qui passe de WWW::Curl::Easy à Net::Curl::Easy, avec la phrase qui dit d'installer Net::Curl::Easy avant de monter si tu t'en sers. La suppression de VC-WIN64I et de VC-CE. La suppression des options no-ecdsa et no-ecdh, qui ne désactivaient pas vraiment les implémentations, avec le renvoi à no-ec. Cinq lignes de nouveautés, les trois fois : DTLS 1.3, RFC 9147, avec le renvoi à ossl-guide-dtlsv13(7). GREASE, RFC 8701. DTLS dans l'API d'écoute SSL. IKEV2 KDF. Le support initial d'Elbrus2000, e2k.
Zéro papillon, puis un, puis quatre
Beta1 s'arrête aux deux URL de RFC. Pas de section Known issues.
Beta2 ajoute un intertitre, Known issues in 4.1.0, sans deux-points. Une seule puce, l'issue 32878. Quand un KeyUpdate DTLS 1.3 arrive, les autres enregistrements post-poignée encore en attente sont retirés du tampon de retransmission. Un NewSessionTicket qui attendait un ACK ne sera plus renvoyé si la transmission d'origine s'est perdue. Un correctif est en cours, prévu pour une sortie ultérieure.
La finale reprend 32878, et elle titre Known issues in 4.1.0: avec le deux-points. Trois puces de plus. 33277 : un échec de réception permanent sur un écouteur DTLS peut être rapporté comme SSL_ERROR_WANT_READ sur une connexion acceptée, et les acceptations suivantes peuvent ne pas rapporter l'erreur. 33278 : un échec d'écriture qu'on peut retenter, sur une connexion non bloquante acceptée depuis un écouteur DTLS, peut sortir en SSL_ERROR_SYSCALL au lieu de SSL_ERROR_WANT_WRITE. 33242 : un serveur DTLS 1.3 peut couper la poignée avec une alerte unexpected_message quand le client accuse réception d'une partie ou de tout le premier vol du serveur avant d'envoyer sa réponse. Je ne dis pas que ces trois-là sont apparus le 23 octobre. Je dis qu'ils sont sur le troisième bon, et pas sur le deuxième.
Le carton a le mois, le calendrier a le jour
La page des téléchargements aligne quatre lignes, les dernières de chaque branche. 4.1, fichier openssl-4.1.0.tar.gz, 53.2MiB, sorti le 23 Oct 2026, fin de vie Nov 2027. 4.0, openssl-4.0.3.tar.gz, 52.7MiB, 29 Sep 2026, fin de vie 14 May 2027. 3.6, openssl-3.6.5.tar.gz, 52.5MiB, 29 Sep 2026, fin de vie 01 Nov 2026. 3.5 LTS, openssl-3.5.9.tar.gz, 50.8MiB, 29 Sep 2026, fin de vie 08 Apr 2030. La note sous le tableau dit que toute version non listée au-dessus est out of support, et qu'il ne faut pas s'en servir en production. Le lien de cycle de vie pointe vers openssl-corporation.org, pas vers la feuille de route.
La feuille de route a une autre colonne. Elle prévient : Release dates are subject to change. La ligne 4.1, Non-LTS, date de sortie 23 Oct 2026, supported until 23 Nov 2027, pas de x dans la colonne EOL. Le 23 octobre est le jour du tag. Le 23 novembre 2027 n'est pas la chaîne imprimée dans la case du carton. La case du carton dit Nov 2027.
Les trois autres fins, elles, ont le même jour des deux côtés. 4.0 jusqu'au 14 May 2027. 3.6 jusqu'au 01 Nov 2026. 3.5 jusqu'au 08 Apr 2030. Ce qui ne désigne pas la même chose, c'est la date de sortie. Sur le carton, c'est la date du fichier que tu télécharges : 4.0.3, 3.6.5 et 3.5.9 sont au 29 septembre 2026. Sur la feuille de route, c'est la date de la branche : 4.0 le 14 Apr 2026, 3.6 le 01 Oct 2025, 3.5 le 08 Apr 2025. Je ne dis pas que l'une a faux. Je dis que ce n'est pas la même case, et que la case de fin, pour la 4.1 seulement parmi ces quatre, a perdu son jour en passant du calendrier au carton.
3.4 est barré d'une croix, et il sert encore d'exemple
La ligne 3.4 de la feuille de route : Non-LTS, sortie le 22 Oct 2024, supported until 22 Oct 2026, et un x dans EOL. Le 22 octobre 2026, c'est la veille du tag 4.1.0. 3.4 n'est pas dans les quatre lignes du tableau des dernières versions. La note de ce tableau le range donc avec ce qui est hors support.
Plus bas, un autre tableau liste quatre versions FIPS validated. 3.1.2, certificat 4985, FIPS 140-3. 3.0.9, 3.0.8 et 3.0.0, le même certificat 4282, FIPS 140-2. Le paragraphe d'après dit que d'autres sorties OpenSSL MAY utiliser le fournisseur FIPS validé, mais MUST NOT construire et utiliser le leur. L'exemple imprimé : tu peux construire OpenSSL 3.4 et t'en servir avec le fournisseur FIPS 3.0.9. Le guide lié juste dessous est celui de la doc 3.4. La croix est sur la feuille de route. L'exemple est sur la page des téléchargements. Je ne raye pas l'un pour faire plaisir à l'autre.
✍️ À toi : le papier que tu as eu en main, beta1, beta2, la finale, le carton ou la feuille de route, et si s390x y était encore. Il n'est sur la note que le 23 septembre. Le jour du 23 novembre 2027, lui, n'est pas sur le carton.
Le 23 septembre, la beta1 imprime s390x et zéro known issue. Le 9 octobre, la beta2 retire s390x, titre sans deux-points, et colle le 32878. Le 23 octobre, 12:23:31Z, la 4.1.0 titre avec un deux-points et aligne 32878, 33277, 33278, 33242, toujours avec IKEV2 écrit comme ça. Le carton date le fichier du 23 octobre et la fin de vie de Nov 2027, sans jour. La feuille de route imprime 23 Nov 2027, et elle barre 3.4 au 22 octobre, la veille, pendant que la page des téléchargements donne encore 3.4 en exemple à côté d'un fournisseur 3.0.9. Trois tirages. Un mot qui ne passe pas le premier. Un mois sans son jour.