Releases

Kotlin 1.5.0 : la première version majeure du langage de 2021

Read this post in other languages:
English, 日本語, 한국어, Deutsch, Português do Brasil, Русский, Español, 简体中文

Comme prévu dans notre calendrier de sortie des nouvelles versions, Kotlin 1.5.0 apporte de nouvelles fonctionnalités de langage.

Cette version offre des fonctionnalités de langage stables, parmi lesquelles les enregistrements de la JVM, les interfaces scellées, les classes inline, et inclut le nouveau compilateur IR de la JVM par défaut. Vos commentaires sur les fonctionnalités présentées en preview dans les versions Kotlin 1.4.30 et Kotlin 1.5.0 EAP nous ont vraiment aidé·es à les stabiliser. Nous vous sommes très reconnaissant·es de votre aide ! Merci !

Plus de 25 000 développeurs ont déjà essayé le nouveau compilateur JVM IR dans IntelliJ IDEA.

Vous en constaterez les avantages au fil du temps. Le nouveau compilateur partage une logique métier et un pipeline unifiés avec les compilateurs IR Kotlin/Native et Kotlin/JS, ce qui nous permet d’implémenter la plupart des fonctionnalités, optimisations et corrections de bugs pour toutes les plateformes simultanément. Cela vous permet également d’ajouter des processus personnalisés et des transformations qui fonctionneront automatiquement sur toutes les plateformes.

Vous avez des questions sur Kotlin 1.5.0 ? Roman Elizarov, Svetlana Isakova et d’autres membres de l’équipe Kotlin pourront y répondre en direct le 25 mai lors de l’événement en ligne Kotlin 1.5.

S’inscrire à l’événement


Dans cet article, vous trouverez une présentation des points suivants :

Mise à jour automatique vers Kotlin 1.5.0

Si vous utilisez IntelliJ IDEA ou Android Studio, vous aurez la possibilité de mettre Kotlin à jour vers sa nouvelle version automatiquement dès qu’elle sera disponible.

En savoir plus sur l’installation de Kotlin 1.5.0.

Fonctionnalités de langage stables

Kotlin 1.5.0 fournit des versions stables des nouvelles fonctionnalités de langage présentées en avant-première dans la version 1.4.30 :

  • Prise en charge des enregistrements de la JVM pour maintenir l’interopérabilité avec les dernières fonctionnalités de Java : les classes d’enregistrement. Pour utiliser une classe Kotlin en tant qu’enregistrement dans le code Java, faites-en une classe data et signalez-la par l’annotation @JvmRecord :

    En savoir plus sur les conditions requises pour utiliser les enregistrements JVM.

  • Interfaces scellées. Le modificateur sealed fonctionne de la même manière sur les interfaces et sur les classes : toutes les implémentations d’une interface scellée sont connues au moment de la compilation.
  • Améliorations des classes scellées. Auparavant, toutes les sous-classes devaient se trouver dans le même fichier que les classes scellées. Désormais elle peuvent se trouver dans tous les fichiers de la même unité de compilation et du même paquet.
  • Les classes inline sont un sous-ensemble de classes basées sur des valeurs qui ne contiennent que des valeurs. Vous pouvez les utiliser comme des wrappers pour une valeur d’un certain type sans la surcharge supplémentaire due aux allocations de mémoire. Utilisez le modificateur value pour la déclaration.

En savoir plus sur les fonctionnalités de langage de Kotlin 1.5.0

Améliorations des bibliothèques standard et de tests

Les nouvelles API stables pour les types d’entiers non signés sont les améliorations de la bibliothèque Kotlin 1.5.0 les plus attendues d’après les retours que nous avons reçus suite à l’article de blog sur la version release candidate de Kotlin 1.5.0.

La bibliothèque standard offre de nombreuses fonctionnalités utiles, notamment :

  • Les nouvelles API stables pour les types d’entiers non signés, ainsi que pour les plages, les progressions et les fonctions associées. En savoir plus sur les entiers non signés.
  • Fonctions d’extension pour java.nio.file.Path afin d’utiliser les dernières entrées-sorties Java non-bloquantes dans le style idiomatique de Kotlin.
  • Améliorations des API String et Char, avec notamment la nouvelle API indépendante des paramètres régionaux pour modifier la casse des chaînes et des caractères, un ensemble de nouvelles fonctions pour la conversion entre les caractères et leurs codes entiers et valeurs numériques, et la prise en charge multiplateforme d’un plus grand nombre de fonctions Char.
  • Modifications de l’API Duration, notamment l’utilisation d’une valeur Long pour la représentation interne et l’arrivée de nouvelles propriétés pour la récupération d’une durée en tant que valeur Long.

La bibliothèque de test a fait l’objet de plusieurs améliorations importantes :

  • Dépendance kotlin-test unique dans l’ensemble de sources commun des projets multiplateformes.
  • Choix automatique d’un framework de test pour les ensembles de sources Kotlin/JVM lorsque vous spécifiez la seule dépendance kotlin-test.
  • Plusieurs mises à jour des fonctions d’assertion.

En savoir plus sur les améliorations de la bibliothèque

Kotlin/JVM

Kotlin 1.5.0 apporte les nouveautés suivantes :

Kotlin/Native

Kotlin 1.5.0 offre :

  • La prise en charge des caches du compilateur en mode débogage pour les cibles linuxX64 et iosArm64. Grâce à l’activation des caches du compilateur, la plupart des compilations de débogage prennent beaucoup moins de temps, à part la première. Les mesures que nous avons effectuées ont montré une accélération d’environ 200% sur nos projets de tests.
  • Désactivation de la vérification intégrée des fuites de mémoire afin d’éviter des problèmes susceptibles d’entraîner des blocages des applications. Apprenez comment activer la vérification de fuites de mémoire si vous en avez besoin.

Kotlin/JS

Pour Kotlin/JS, le passage du nouveau compilateur IR Koltin/JS en phase Bêta est en cours. De nombreux frameworks et bibliothèques bien connu·es sont déjà disponibles pour le compilateur IR : KVision, fritz2, doodle, etc.

Si vous créez des bibliothèques, vous pouvez y ajouter la vôtre en effectuant une migration grâce à la compatibilité descendante.

Autre amélioration : la création de bundles JS en utilisant webpack 5 au lieu de webpack 4.

Comment installer Kotlin 1.5.0

Si vous utilisez IntelliJ IDEA ou Android Studio, il vous sera suggéré de faire la mise à jour vers Kotlin 1.5.0 automatiquement. Vous pouvez également faire la mise à jour manuellement en suivant ces instructions. Veuillez noter que Kotlin 1.5.0 est pris en charge par Android Studio 4.2.0, Arctic Fox Canary 15 et les versions ultérieures seulement.

Vous pouvez toujours télécharger les dernières versions des IDE suivants pour bénéficier d’une prise en charge étendue pour Kotlin :

  • IntelliJ IDEA pour développer des applications Kotlin pour différentes plateformes.
  • Android Studio pour le développement d’applications mobiles Android et multiplateformes.

Assurez-vous aussi de mettre à jour les bibliothèques kotlinx vers des versions compatibles et de spécifier la version 1.5.0 de Kotlin dans les scripts de build de vos projets existants.

Si vous avez besoin du compilateur en ligne de commande, téléchargez-le depuis la page Github de la version.

En cas de problème

Événement en ligne Kotlin 1.5

Participez à l’événement en ligne Kotlin 1.5 le 25 mai. L’équipe Kotlin y répondra à toutes vos questions sur la dernière version. Vous pourrez poser des questions sur tout ce que vous voulez savoir, ou si vous n’avez pas de questions et que vous préférez simplement écouter les réponses, cela nous convient aussi très bien. L’événement durera 1h30.

S’inscrire à l’événement

Nous organiserons également une session Ask Me Anything (AMA) sur Reddit les 27 et 28 mai pour répondre à toutes les questions restées sans réponse ainsi qu’à de nouvelles questions.

Compatibilité

Comme pour toutes les versions majeures, certains cycles d’obsolescence de modifications précédemment annoncées arrivent à leur terme avec Kotlin 1.5.0. Tous ces cas ont été soigneusement examinés par le comité du langage et sont listés dans le Guide de compatibilité pour Kotlin 1.5. Vous pouvez également en savoir plus sur ces changements sur YouTrack.

Plus de vidéos et d’articles

Suivez notre chaîne YouTube Kotlin :

Consultez le blog Kotlin :

Pour en savoir plus, consultez la documentation Kotlin :

Contributeurs externes

👏👏👏 Nous tenons à remercier nos contributeurs et contributrices externes dont les requêtes pull ont été incluses dans cette version :

Jinseong Jeon, Mads Ager, Ivan Gavrilovic, pyos, Steven Schäfer, Iaroslav Postovalov, scaventz, Kristoffer Andersen, Bingran, Stefan Wolf, Victor Turansky, fjjohnchen, justin.wei, Nelson Osacky, Mikhail Galanin, Michael Hoisie, Kris Hall, Kevin Bierhoff, Jiaxiang Chen, Hung Nguyen, Cedric Champeau.

Principaux créateurs et créatrices de tickets dans YouTrack

Un grand merci également à tous les membres de la communauté qui nous ont aidés à réaliser les améliorations pour cette version en créant des tickets dans YouTrack ! 👏👏👏 Nous avons établi une liste des 20 meilleurs rapporteurs, que nous souhaitons remercier plus particulièrement :

Morgan Bartholomew (118 tickets) ; Marc Knaup (78 tickets) ; Ryan Nett (61 tickets) ; Louis CAD (48 tickets) ; Daniil Stepanov (44 tickets) ; AndroidDeveloperLB (39 tickets) ; Victor Turansky (38 tickets) ; Jinseong Jeon (35 tickets) ; Zac Sweers (25 tickets) ; Łukasz Wasylkowski (22 tickets) ; Tianyi Guan (21 tickets) ; Christoph Sturm (20 tickets) ; Axel Fontaine (19 tickets) ; Alexander Nozik (18 tickets) ; Robert Stoll (18 tickets) ; Björn Kautler (18 tickets) ; Róbert Papp (14 tickets) ; Andreas Malik (14 tickets) ; Lorenzo Neumann (14 tickets) ; Iaroslav Postovalov (14 tickets).


Installez Kotlin 1.5.0 et inscrivez-vous à l’événement en ligne Kotlin 1.5 !

Auteur de l’article original en anglais : Ekaterina Volodko

Discover more