C-Kermit 11.0.506 est sorti le 3 août, première version non bêta depuis la 9.0.302 de 2011, et le projet est désormais maintenu sous le nom OpenKermit sur GitHub. Kermit est le logiciel de transfert de fichiers et d'émulation de terminal qui relie ports série, modems et équipements industriels peu glamour depuis 1981, ce qui fait de cette sortie la première vraie version en quinze ans d'un protocole de quarante-cinq ans. La nouvelle version ajoute IPv6, plus de mille sept cents cas de test et de l'intégration continue sur Linux, macOS, FreeBSD et NetBSD. Elle change aussi plusieurs valeurs par défaut, et c'est ce qui compte si vous avez des scripts.
The short answer
C-Kermit 11.0.506 est sorti le 3 août, maintenu sous le nom OpenKermit sur GitHub et dédié à Frank da Cruz, qui a travaillé sur Kermit de 1981 jusqu'à son retrait du projet en 2025. La version ajoute le support IPv6, plus de mille sept cents cas de test et de l'intégration continue sur Linux, macOS, FreeBSD et NetBSD. Plusieurs valeurs par défaut ont changé, dont la gestion des collisions de fichiers et le mode de transfert automatique. Invoquer le binaire sous le nom kermit9 ou kermit10 restaure le comportement hérité.
Kermit est plus vieux que la plupart des gens qui liront ces lignes, et c'est toujours l'outil vers lequel on se tourne quand l'équipement au bout du câble a été fabriqué avant l'existence de Google et n'a aucune intention de parler quoi que ce soit de moderne.
Le 3 août, C-Kermit 11.0.506 est sorti. C'est la première version non bêta depuis la 9.0.302 de 2011, elle est maintenue sur GitHub sous l'organisation OpenKermit, et elle est dédiée à Frank da Cruz, qui a accompagné Kermit depuis sa conception à l'université Columbia en 1981 jusqu'à son retrait du projet en 2025.
Pourquoi un protocole de quarante-cinq ans continue de sortir des versions
Kermit a été conçu pour des liaisons qui échouent. Taille de paquets réglable, fenêtres glissantes, détection et reprise d'erreur pensées en partant du principe que le transport en dessous est peu fiable, voire hostile. C'était la description d'une ligne modem à 1200 bauds en 1981. C'est aussi une description honnête d'une console série d'automate industriel atteinte via trois adaptateurs dans un local technique aujourd'hui.
Ce n'est pas la nostalgie qui explique sa persistance. C'est que l'autre bout ne peut pas être mis à jour. Instruments de laboratoire, équipements télécom, cartes embarquées, matériel médical, machines-outils : des équipements dont le fabricant a disparu, dont le firmware est figé, et dont le seul chemin d'administration est un port série parlant un protocole qui était standard à leur construction. Kermit est le logiciel qui le parle encore.
Ce qui est nouveau
Côté fonctionnalités, le titre est le support IPv6, ce qui n'est pas un détail pour un programme dont les hypothèses réseau se sont formées à une autre époque.
Côté ingénierie, c'est plus intéressant. La version embarque une suite de tests de plus de mille sept cents cas et des compilations automatisées sur Linux, macOS, FreeBSD et NetBSD. Pour une base de code C vieille de décennies, maintenue essentiellement à la main, c'est la différence entre un projet qui peut accepter des contributions et un projet où chaque modification est un pari.
Les corrections se lisent comme un rapport de fouilles. Gestion des tailles de paquets aux limites, corruption de données pendant une renégociation de protocole, problèmes de pseudo-terminaux sous macOS, et prise en charge des noms de fichiers contenant des espaces, jamais traitée correctement jusqu'ici. Un bug signalé dans un appel à strlen() remontait à 1992. Malgré tout ce qui a été ajouté, la base de code hors commentaires est ressortie environ 2600 lignes plus petite que la dernière bêta 10.x.
Le vrai risque de la mise à jour, ce sont les valeurs par défaut
C'est la partie à planifier, parce qu'un script qui se comporte différemment en silence est pire qu'un script qui échoue.
La gestion des collisions de fichiers passe de BACKUP à REJECT. Un fichier entrant qui écraserait un fichier existant est désormais refusé au lieu d'être renommé discrètement. La gestion MAIL et PRINT est coupée par défaut. Les fichiers entrants non demandés déclenchent une confirmation au lieu d'être acceptés. La sélection automatique du mode de transfert est désactivée, parce qu'elle pouvait corrompre des données. Le comportement d'évaluation des variables a lui aussi changé.
Si vous avez de l'automatisation qui dépose ou récupère des fichiers sur des équipements, au moins deux de ces points vous concernent probablement, et le changement sur les collisions est celui qui risque le plus de transformer un traitement qui marchait en un traitement qui annonce un succès sans rien transférer.
Ce que nous conseillons à ceux qui l'utilisent pour de vrai
La version vous offre un chemin de migration, et nous l'emprunterions.
Invoquer le binaire sous le nom kermit9 ou kermit10 restaure le comportement hérité correspondant. Cela permet de séparer deux choses qu'il ne faut jamais faire en même temps : mettre à jour le binaire, et auditer chaque script qui en dépend. Installez la version 11, repointez l'automatisation existante vers le nom d'invocation hérité, vérifiez que rien n'a bougé, puis migrez les scripts vers les nouveaux réglages délibérément, un par un, avec le réglage de collision fixé explicitement plutôt qu'hérité.
Nous ne traiterions pas ces noms hérités comme un domicile permanent. Ils existent pour rendre la mise à jour vivable, pas pour vous geler en 2011 indéfiniment. Mais quand la dernière version vue par beaucoup de ces déploiements a quinze ans, un chemin par étapes vaut mieux qu'un chemin propre.
Il y a quelque chose de discrètement encourageant dans cette sortie. Un morceau d'infrastructure dont dépendent beaucoup de machines importantes et ennuyeuses avait passé quinze ans sans version stable et se trouvait à un départ en retraite d'être abandonné. Il dispose maintenant d'une suite de tests, d'une CI sur quatre plateformes, d'un dépôt public et d'une base de code plus petite qu'avant. C'est une bien meilleure position que celle qu'il occupait depuis très longtemps.
Sources et pour aller plus loin
- Notes de version C-Kermit 11.0.506, OpenKermit sur GitHub, 3 août 2026
- C-Kermit 11 released, LWN.net
- Celebrating 45 years of Kermit with the first new C-Kermit release in 15 years, The Changelog
- Le dépôt OpenKermit
Questions fréquentes
Quelqu'un utilise-t-il encore Kermit en 2026 ?
Plus de monde que vous ne le croiriez, et presque personne n'en parle. Kermit survit là où l'autre bout du câble ne peut pas être changé : instruments de laboratoire, automates industriels, équipements télécom, cartes embarquées dont la seule interface d'administration est une console série, matériel médical et scientifique acheté dans les années 1990 et toujours en service. Le protocole a été conçu pour des liaisons hostiles, avec taille de paquets réglable, fenêtres glissantes et reprise sur erreur, le tout antérieur à l'idée d'un transport fiable. Si vous avez déjà eu besoin de déposer un fichier sur un équipement via une liaison RS-232 capricieuse à trois heures du matin, vous savez déjà pourquoi il existe encore.
Qu'est-ce qui a changé entre la 9.0 et la 11 ?
Les points marquants sont le support IPv6, une vraie suite de tests de plus de mille sept cents cas et des compilations automatisées sur Linux, macOS, FreeBSD et NetBSD. À côté de cela, une longue liste de corrections : gestion des tailles de paquets aux limites, corruption de données pendant une renégociation, problèmes de pseudo-terminaux sous macOS, et prise en charge correcte des noms de fichiers contenant des espaces, un manque qui paraît impossible dans un logiciel aussi ancien jusqu'à ce qu'on se rappelle l'époque où il a été écrit. Un bug signalé dans un appel à strlen() remontait à 1992. La base de code hors commentaires est en outre ressortie environ 2600 lignes plus petite que la dernière bêta 10.x, malgré les ajouts.
Quelles valeurs par défaut ont changé, et mes scripts vont-ils casser ?
Ils le peuvent, et c'est la section à lire avant de mettre à jour quoi que ce soit d'automatisé. La gestion des collisions de fichiers passe de BACKUP à REJECT : un fichier entrant qui écraserait un fichier existant est désormais refusé au lieu d'être renommé discrètement. La gestion MAIL et PRINT est désactivée par défaut. Les fichiers entrants non demandés demandent maintenant confirmation. La sélection automatique du mode de transfert est coupée, parce qu'elle pouvait corrompre des données. Le comportement d'évaluation des variables a également changé. Tout script qui s'appuyait sur l'ancienne gestion des collisions ou sur le transfert automatique se comportera différemment, et silencieusement, au sens où Kermit fait exactement ce que vous lui demandez désormais.
Peut-on conserver l'ancien comportement le temps de corriger les scripts ?
Oui, et c'est le détail que nous mettrions en avant pour quiconque fait tourner Kermit en production. La version fournit les noms d'invocation kermit9 et kermit10, qui restaurent le comportement hérité correspondant. Cela vous donne un chemin de migration plutôt qu'une falaise : pointez l'automatisation existante vers kermit9, mettez le binaire à jour, vérifiez que rien n'a bougé, puis basculez les scripts vers les nouveaux réglages un par un. Nous ne laisserions rien sur le nom hérité de façon permanente, mais comme moyen de découpler la mise à jour de l'audit des scripts, c'est exactement la bonne béquille.
Qui maintient le projet maintenant que Frank da Cruz a pris sa retraite ?
Le projet a migré vers un dépôt maintenu par la communauté, OpenKermit sur GitHub, et la version 11.0 lui est dédiée. Il a accompagné Kermit depuis sa conception à l'université Columbia en 1981 jusqu'à son retrait du projet en 2025, soit quarante-quatre ans sur un même logiciel. Quand Kermit a quitté Columbia, il s'est porté volontaire pour continuer à le maintenir, et a produit des versions alpha et bêta pendant toute cette période. La branche 10.x n'a jamais atteint de version finale, ce qui explique que la 11 succède directement à la 9.0.302.