Kotlin Hebdo #2 : Correctif d'urgence 2.4.21, KMP abandonne Swift dans l'IDE et Campfire égale Rust

Kotlin · Weekly #2

Kotlin Hebdo #2 : Correctif d'urgence 2.4.21, KMP abandonne Swift dans l'IDE et Campfire égale Rust

kotlinKotlinhebdomadaireKotlin 2.4.21KMPWebAssembly

Sources:GitHub Releases + 官方博客 + HN

Cette semaine, nous revenons sur les temps forts de l’écosystème Kotlin observés au cours des sept derniers jours (du 5 au 12 octobre 2026). Deux grandes orientations se dégagent : d’une part, une rationalisation stratégique de la chaîne d’outillage officielle afin d’éliminer la dette de maintenance ; d’autre part, des bancs d’essai communautaires poussés qui bousculent les idées reçues quant aux plafonds de débit des environnements d’exécution JVM modernes.

📦 Actualité des versions

La toute dernière version stable officielle est la 2.4.21, publiée le 8 octobre 2026, en parfaite adéquation avec le journal des versions du projet.

La version 2.4.21 constitue un correctif qualité d’urgence ciblant des défaillances bloquantes apparues dans les backends de compilation multiplateformes et les runtimes de la version 2.4.20. Pour un aperçu complet des nouveautés introduites par la branche 2.4 sur la bibliothèque standard, Native et WebAssembly, n’hésitez pas à consulter notre Analyse approfondie des nouveautés de Kotlin 2.4.

Les trois correctifs majeurs de cette publication et leur portée technique :

ModuleRéférenceNature de la correctionImpact pratique en production
Backend.WasmKT-89267 / KT-89275Résolution d’un défaut où l’appel de lambdas (T) -> R avec des arguments incompatibles déclenchait une interruption bas niveau (Trap) du moteur au lieu de lever une exception de transtypage ; correction de la génération de bytecode Wasm invalide pour les classes à contraintes génériques annotées avec @SerializablePrévient les plantages brutaux du processus hôte dans les navigateurs consécutifs à des instructions Wasm illégales, restaurant la chaîne normale de capture des exceptions
JVM.ReflectionKT-80710 / KT-89280Refonte de la structure interne de KCallable pour dissoudre la dépendance implicite aux métadonnées de l’ancien compilateur K1 ; résolution des plantages d’inspection réflexive sur les classes internes Java non statiques au sein de classes génériquesÉradique les derniers vestiges de K1 dans l’API de réflexion et prépare l’abandon complet de l’ancien cœur de compilation
JavaScriptKT-89449 / KT-89363Correction d’une régression sévère dans les builds de production Kotlin/JS où les noms de membres n’étaient pas minifiés ; résolution d’erreurs de compilation lors de l’héritage de classes externes en présence d’objets compagnonsÉvite l’alourdissement imprévu de la taille des bundles front-end et rétablit les taux normaux d’obfuscation et de compression

Par ailleurs, le correctif KT-88453 dédié aux scripts et à l’environnement Windows résout une fuite de descripteur due à un flux de fichier non libéré dans VirtualFileScriptSource.text, levant les verrous de fichiers qui empêchaient la suppression de scripts temporaires sous Windows en cours d’exécution.

📝 Articles de fond

JetBrains abandonne la prise en charge de Swift dans l’IDE pour KMP

  • Que s’est-il passé : Le 5 octobre, JetBrains a annoncé qu’à compter d’IntelliJ IDEA 2026.3 et Android Studio Rabbit 2 (2026.2.2), les fonctionnalités de coloration syntaxique, complétion, navigation et refactorisation du langage Swift au sein du plugin Kotlin Multiplatform seront supprimées. Le déploiement et débogage d’applications iOS, l’intégration des dépendances SwiftPM et l’export natif de passerelles via Swift Export demeurent en revanche pleinement opérationnels.
  • Pourquoi c’est important : Cette composante d’édition découlait de l’ancien environnement AppCode. Les mesures télémétriques indiquaient que la très grande majorité des développeurs mobiles conçoivent leurs écrans iOS directement dans Xcode, reléguant l’extension au second plan. Maintenir l’adéquation avec les évolutions grammaticales de Swift et les mises à jour de Xcode engendrait un coût technique exorbitant. En renonçant à recréer un IDE Swift au sein de la plateforme IntelliJ, JetBrains réaffecte ses forces d’ingénierie au développement de l’export natif Swift Export et à la chaîne d’outils essentielle.
  • Qui est concerné : Les développeurs mobiles habitués à éditer leur code de liaison Swift dans Android Studio devront basculer vers Xcode pour ces opérations. Les équipes utilisant exclusivement Compose Multiplatform ou développant uniquement la couche commune en Kotlin ne sont pas impactées.

Sortie de Kotlin Toolchain 0.13 : une CLI unique recommandée pour KMP

  • Que s’est-il passé : Le 7 octobre, JetBrains a publié Kotlin Toolchain 0.13, en faisant l’outil officiel privilégié pour l’initialisation de nouveaux projets KMP. La solution propose un utilitaire en ligne de commande unifié kotlin et une organisation déclarative structurée autour du fichier project.kotlin, acceptant des extensions locales.
  • Pourquoi c’est important : La complexité d’apprentissage de Gradle DSL et la configuration manuelle des variables d’environnement (JDK, SDK Android, outils Xcode) formaient un obstacle notable. La Toolchain encapsule la résolution des dépendances et les pipelines de build derrière des déclarations limpides, masquant la complexité des scripts sous-jacents. Cette structure déclarative simplifiée diminue également les erreurs de syntaxe générées par les agents d’assistance au code par IA lors de la génération de configurations.
  • Qui est concerné : Les équipes amorçant de nouvelles bibliothèques ou applications multiplateformes ainsi que les développeurs issus du monde web ou iOS qui découvrent l’écosystème KMP.

Confrontation de performances Campfire : Kotlin JVM rivalise avec Rust sous forte charge

  • Que s’est-il passé : Le 9 octobre, le développeur Mystic a dévoilé once-campfire-kotlin, une transposition fidèle octet par octet de l’application de messagerie Campfire de 37signals (initiée par DHH). Reposant sur Netty et les API Foreign Function & Memory (FFM) de Java 25 pour solliciter SQLite en natif, l’application a été comparée à la version Rust sur des serveurs dédiés Hetzner dans des conditions rigoureusement identiques.
  • Pourquoi c’est important : Sans mise en cache, sur un cœur unique, le service Kotlin JVM a délivré un débit de 2 810 requêtes par seconde (RPS), atteignant 118 % du résultat de Rust (2 379 RPS). En configuration bi-cœur avec 64 requêtes concurrentes, la JVM a atteint 20 664 RPS, surpassant la variante Rust (15 122 RPS) de 37 %. À 1 000 connexions concurrentes, la latence p99 de la JVM s’est établie à 147 ms contre 284 ms pour Rust. En matière d’empreinte mémoire, Rust conserve un avantage indéniable : 15 à 17 Mo au repos (moins de 80 Mo sous charge) face aux 117 à 170 Mo au repos de la JVM (170 à 500 Mo sous charge), accompagnés d’un démarrage à froid de 1,5 seconde (contre 175 ms pour Rust).
  • Qui est concerné : Les architectes backend seniors concevant des architectures d’E/S à forte concurrence. Les chiffres attestent qu’une JVM moderne dotée de compilateurs JIT optimisés et d’accès mémoire zéro copie dispose d’un débit remarquable, offrant un arbitrage très compétitif entre consommation mémoire et productivité logicielle.

Mise en open source de Compose Unstyled : composants d’interaction affranchis de Material

  • Que s’est-il passé : Le 9 octobre, le développeur Alex Styl a officialisé le lancement en libre accès de Compose Unstyled après deux années de développement. Ce projet met à disposition une couche de composants interactifs accessibles et sans mise en forme visuelle préconçue pour Jetpack Compose et Compose Multiplatform.
  • Pourquoi c’est important : Les composants officiels de Compose demeurent étroitement liés aux directives de Material Design. Lors de l’élaboration de systèmes graphiques sur mesure, les équipes devaient souvent réécrire l’intégralité de la gestion gestuelle et du focus des tiroirs, dialogues ou curseurs. Compose Unstyled reprend l’approche headless popularisée sur le web par Radix UI : il pilote les états d’interaction complexes tout en laissant la liberté du style aux Modifiers. Le composant est déjà éprouvé en production par des entreprises comme Perplexity, Warner Bros et Expo.
  • Qui est concerné : Les équipes techniques qui développent des bibliothèques de composants personnalisées avec Compose Multiplatform sur Android, iOS et ordinateur de bureau.

🔥 Discussions brûlantes de la communauté

La Kotlin Toolchain peut-elle supplanter Gradle ? (Reddit r/Kotlin : 124 votes, 49 commentaires)

L’annonce préconisant l’emploi de Toolchain 0.13 par défaut pour les projets KMP naissants a alimenté de riches discussions au sein de la communauté.

  • Avis favorables : La rédaction de configurations Gradle constituait une épreuve redoutée pour les nouveaux venus, notamment les ingénieurs iOS et web rebutés par le débogage de scripts Groovy ou KTS. Une CLI unique automatisant l’installation des dépendances réduit notablement l’effort initial, tandis que sa syntaxe déclarative convient parfaitement aux outils d’automatisation.
  • Avis réservés : Les observateurs notent que la Toolchain demeure adossée à Gradle en coulisses et ne propose pas encore de registre public d’extensions centralisé. Certaines tâches de compilation personnalisées complexes risquent ainsi de devenir plus laborieuses qu’avec quelques lignes de Gradle pur ; l’adoption du format YAML a également suscité des interrogations chez plusieurs développeurs chevronnés.

La vague de réécritures de Campfire et les frontières de performance des langages (Hacker News : 21 points, 3 commentaires)

L’initiative de réimplémentation multi-langages lancée par DHH s’est étendue à l’écosystème JVM, réactivant la confrontation entre langages à ramasse-miettes et langages système.

  • Avis favorables : Épaulée par des agents d’assistance logicielle par IA, la mouture Kotlin a permis de transcrire et valider 22 000 lignes de code de production en 24 heures seulement. L’alliance de Netty et de la machine virtuelle Java 25 prouve qu’un environnement JVM affûté rivalise avec du code Rust à gestion manuelle de la mémoire pour le traitement réseau concurrent, avec un gain de temps de conception remarquable.
  • Avis réservés : Les défenseurs des performances système soulignent que ce débit élevé s’accompagne d’une empreinte mémoire trois à cinq fois supérieure et d’une phase de montée en chauffe JIT. Sur des plateformes cloud-native et serverless facturées au volume mémoire des conteneurs, la compacité extrême de Rust et ses démarrages instantanés conservent un bénéfice économique déterminant.

Une campagne d’affichage pour Kotlin dans le métro londonien fait réagir (Reddit r/Kotlin : 69 votes, 8 commentaires)

Des photographies dévoilant d’imposantes affiches vantant les mérites de Kotlin dans les rames de la Northern Line du métro londonien ont circulé parmi les développeurs.

  • Regard amusé : Certains ingénieurs se sont étonnés de voir un langage de programmation faire l’objet d’une campagne grand public dans les transports en commun, y décelant une réponse publicitaire face au dynamisme des versions modernes de Java.
  • Lecture stratégique : D’autres analystes rappellent que la Northern Line dessert les quartiers de King’s Cross et de Tech City, empruntés chaque jour par de nombreux décideurs informatiques et spécialistes de la fintech. À l’occasion des 15 ans du langage, cette campagne s’adresse directement aux architectes techniques afin d’encourager son adoption pour les plateformes backend de grande envergure.

📅 À suivre la semaine prochaine

  • Suivre la publication de la prochaine préversion EAP d’IntelliJ IDEA 2026.3 afin d’évaluer le nouvel assistant de transition vers les projets Xcode consécutif au retrait du plugin Swift.
  • Observer le déploiement des mises à jour de compatibilité au sein des bibliothèques majeures de l’écosystème à destination de Kotlin 2.4.21.