Les améliorations expérimentales apportées au langage à typage statique de JetBrains destiné au développement d’applications JVM, natives, Wasm et web concernent les constantes de compilation. Elles incluent la prise en charge des opérations sur les types non signés, des fonctions de la bibliothèque standard pour les chaînes de caractères, notamment les fonctions .lowercase(), .uppercase() et .trim(), ainsi que l’évaluation de la propriété .name des constantes d’énumération et de l’interface KCallable. Afin d’indiquer clairement quelles fonctions sont évaluées à la compilation, Kotlin 2.4.0 introduit l’annotation IntrinsicConstEvaluation. JetBrains a signalé que certaines fonctions sont évaluées à la compilation mais ne disposent pas encore de cette annotation. Les versions ultérieures ajouteront cette annotation aux fonctions restantes.

Autres ajouts à signaler dans Kotlin 2.4.0 

L’éditeur propose plusieurs autres évolutions comme l’amélioration de l'exportation vers JavaScript et TypeScript, notamment grâce à la prise en charge de l'exportation des classes de valeurs, des interfaces et de la variance de types, ainsi que des fonctionnalités ES2015 lors de l'inlining de code JavaScript. Par ailleurs, le compilateur Kotlin peut générer des classes contenant du bytecode Java 26. La dernière version fournit également une prise en charge expérimentale pour le modèle de composants WebAssembly. La proposition définit une méthode pour créer des composants à partir de modules Wasm via des interfaces et des types standardisés. Cette approche aide Wasm à évoluer d’un format d’instructions binaires de bas niveau vers un système permettant de créer des composants réutilisables et indépendants du langage. Enfin, Kotlin 2.4.0 a été intégré aux IDE IntelliJ IDEA et Android Studio.

Une mise à jour vers Kotlin 2.4.0 sera bientôt disponible. La version bêta 1 de Kotlin 2.4.20 a été publiée le 24 juin. Elle ajoutait l’interface StackTraceRecoverable à la bibliothèque standard. Selon JetBrains, cette interface améliore l’intégration avec la bibliothèque kotlinx.coroutines, car elle permet aux utilisateurs de définir comment créer des instances d’exception pour la récupération de la trace de pile sans ajouter de dépendance à kotlinx.coroutines. Une API d’outils de compilation dans la version bêta de Kotlin 2.4.20 ajoute la prise en charge des cibles de métadonnées Kotlin/JS, Kotlin/Wasm et Kotlin.