Releases

Kotlin 1.5.0 – das erste große Release des Jahres 2021

Read this post in other languages:

Begrüßen Sie die erste Feature-Version gemäß dem neuen Release-Fahrplan: Kotlin 1.5.0!

Diese Version enthält stabile Sprachmerkmale wie JVM-Records, Sealed-Schnittstellen und Inline-Klassen und verwendet standardmäßig den neuen JVM-IR-Compiler. Ihr Feedback zu den Feature-Previews in Kotlin 1.4.30 und den EAP-Versionen von Kotlin 1.5.0 hat uns wirklich geholfen, die Stabilität dieser Funktionen zu gewährleisten. Wir sind sehr dankbar für Ihre Unterstützung! Danke!

Mehr als 25.000 Entwickler*innen haben den neuen JVM-IR-Compiler in IntelliJ IDEA bereits ausprobiert.

Die Vorteile werden im Laufe der Zeit deutlich. Der neue Compiler nutzt dieselbe einheitliche Pipeline und Business-Logik wie die Kotlin/Native- und Kotlin/JS-IR-Compiler. Dies erlaubt uns, die meisten Features, Optimierungen und Korrekturen für alle Plattformen zeitgleich zu implementieren. Aus Anwendersicht wiederum werden dadurch benutzerdefinierte Verarbeitungsschritte und Transformationen möglich, die automatisch auf allen Plattformen funktionieren.

Haben Sie Fragen zu Kotlin 1.5.0? Roman Elizarov, Svetlana Isakova und andere Mitglieder des Kotlin-Teams beantworten beim Online-Event für Kotlin 1.5 am 25. Mai live Ihre Fragen.

Für Online-Event zu Kotlin 1.5 registrieren


In diesem Blogbeitrag finden Sie einen Überblick über folgende Themen:

Automatisches Update auf Kotlin 1.5.0

Wenn Sie IntelliJ IDEA oder Android Studio verwenden, bietet Ihnen die IDE die Möglichkeit, automatisch auf die neue Kotlin-Version zu aktualisieren, sobald diese verfügbar ist.

Weitere Informationen zur Installation von Kotlin 1.5.0.

Stabile Sprachmerkmale

Kotlin 1.5.0 enthält stabile Versionen der neuen Sprachmerkmale, die in 1.4.30 als Preview vorgestellt wurden:

  • Unterstützung für JVM-Records, um die Interoperabilität mit den neuen Record-Klassen von Java zu gewährleisten. Um eine Kotlin-Klasse im Java-Code als Record zu verwenden, definieren Sie sie als data-Klasse und markieren Sie sie mit der Annotation @JvmRecord:

    Erfahren Sie mehr über die Voraussetzungen zur Verwendung von JVM-Records.

  • Sealed-Schnittstellen. Der Modifikator sealed funktioniert bei Schnittstellen genauso wie bei Klassen: Alle Implementierungen einer Sealed-Schnittstelle sind zur Kompilierungszeit bekannt.

  • Verbesserungen bei Sealed-Klassen. Bisher mussten sich alle Unterklassen in derselben Datei wie die Sealed-Klasse befinden. Jetzt können sie auf beliebige Dateien derselben Kompilierungseinheit und desselben Pakets verteilt werden.

  • Inline-Klassen sind eine Untermenge von wertbasierten Klassen, die nur Werte enthalten. Sie können sie als Wrapper für einen Wert eines bestimmten Typs verwenden, um den mit Speicherzuweisungen verbundenen Overhead zu vermeiden. Verwenden Sie in der Deklaration den Modifikator value.

Weitere Informationen zu den Sprachmerkmalen von Kotlin 1.5.0

Verbesserungen an Standard- und Testbibliothek

Die neuen, stabilen APIs für vorzeichenlose Ganzzahltypen sind die meisterwarteten Verbesserungen in der Kotlin-1.5.0-Bibliothek, so die Ergebnisse der Umfrage in unserem Blogartikel zu Kotlin 1.5.0-RC.

Die Standardbibliothek bietet viele hilfreiche Funktionsmerkmale, darunter:

  • Neue, stabile APIs für vorzeichenlose Ganzzahltypen sowie für Bereiche, Progressionen und Funktionen im Zusammenhang mit diesen Typen. Weitere Informationen zu vorzeichenlosen Ganzzahlen.

  • Erweiterungsfunktionen für java.nio.file.Path zur Verwendung der modernen blockierungsfreien Java-IO-Funktionen in einem Kotlin-idiomatischen Stil.

  • Verbesserte String- und Char-API: gebietsschema-agnostische Funktionen zum Ändern der Groß- und Kleinschreibung von Zeichenfolgen und Zeichen, neue Funktionen für die Konvertierung zwischen Zeichen, ihren Zahlencodes und numerischen Werten sowie erweiterte Multiplattform-Unterstützung für Char-Funktionen.

  • Änderungen an der Zeitraum-API: Verwendung eines Long-Wertes für die interne Darstellung und Bereitstellung neuer Eigenschaften zum Abrufen einer Dauer als Long-Wert.

In der Testbibliothek wurden mehrere wichtige Verbesserungen vorgenommen:

  • Eine einzige kotlin-test-Abhängigkeit im gemeinsamen Quellcode-Set von Multiplattform-Projekten.

  • Automatische Auswahl eines Testframeworks für Kotlin/JVM-Quellcode-Sets, wenn Sie die kotlin-test-Abhängigkeit einmal angegeben haben.

  • Verschiedene Updates im Bereich Assertion-Funktionen.

Weitere Informationen zu den verbesserten Bibliotheken

Kotlin/JVM

Neuerungen in Kotlin 1.5.0:

Kotlin/Native

Kotlin 1.5.0 bietet:

  • Unterstützung für Compiler-Caches im Debug-Modus für die Zielplattformen linuxX64 und iosArm64. Mit aktivierten Compiler-Caches werden die meisten Debug-Kompilierungen (mit Ausnahme der ersten) viel schneller abgeschlossen. Messungen an unseren Testprojekten zeigten eine Geschwindigkeitssteigerung von ca. 200%.

  • Deaktivierung der integrierten Speicherleckprüfung, um Probleme zu vermeiden, die zu Anwendungsabstürzen führen können. So können Sie die Speicherleckprüfung aktivieren, wenn Sie sie benötigen.

Kotlin/JS

Bei Kotlin/JS nähert sich der neue Kotlin/JS-IR-Compiler dem Beta-Status. Viele gängige Frameworks und Bibliotheken sind bereits für den IR-Compiler verfügbar: KVision, fritz2, doodle und andere.

Als Bibliotheksautor können auch Sie Ihre Bibliothek zu dieser Liste hinzufügen, indem Sie Ihre Bibliothek abwärtskompatibel migrieren.

Eine weitere Verbesserung ist das Erstellen von JS-Bundles mit Webpack 5 statt Webpack 4.

Installation von Kotlin 1.5.0

Wenn Sie IntelliJ IDEA oder Android Studio verwenden, schlägt Ihnen die IDE automatisch die Aktualisierung auf Kotlin 1.5.0 vor, sobald die neue Version veröffentlicht wurde. Eine manuelle Aktualisierung ist ebenfalls möglich. Folgen Sie dazu diesen Anweisungen.

Sie können jederzeit die neuesten Versionen dieser IDEs herunterladen, um eine umfassende Kotlin-Unterstützung zu genießen:

  • IntelliJ IDEA zur Entwicklung von Kotlin-Anwendungen für verschiedene Plattformen.
  • Android Studio zur Entwicklung von Android-Apps und plattformübergreifenden Mobilanwendungen.

Achten Sie darauf, auch die kotlinx-Bibliotheken auf kompatible Versionen zu aktualisieren und die Kotlin-Version 1.5.0 in den Build-Skripten Ihrer bestehenden Projekte anzugeben.

Den Befehlszeilen-Compiler können Sie bei Bedarf von der GitHub-Release-Seite herunterladen.

Hilfe bei Problemen

Online-Event für Kotlin 1.5

Beim Online Event für Kotlin 1.5 am 25. Mai beantwortet das Kotlin-Team alle Ihre Fragen zur neuesten Version. Sie können Fragen zu allen Bereichen stellen, die Sie interessieren, und natürlich sind Sie auch dann willkommen, wenn Sie keine eigenen Fragen haben, sondern nur an den Antworten interessiert sind. Die Veranstaltung dauert 1,5 Stunden.

Veröffentlichen Sie Ihre Fragen auf Twitter unter dem Tag #kotlin15ask oder geben Sie sie im Registrierungsformular an.

Für Online-Event zu Kotlin 1.5 registrieren

Außerdem werden wir am 27. und 28. Mai eine AMA-Sitzung (Ask Me Anything) auf Reddit durchführen, um offen gebliebene oder neu hinzugekommene Fragen zu beantworten.

Kompatibilität

Wie bei allen Feature-Releases werden mit Kotlin 1.5.0 einige Deprecation-Zyklen für zuvor angekündigte Änderungen abgeschlossen. Alle diese Fälle wurden vom Sprachkomitee sorgfältig geprüft und sind im Kompatibilitätsleitfaden für Kotlin 1.5 aufgeführt. Sie können diese Änderungen auch in YouTrack einsehen.

Interessantes zum Lesen und Ansehen

Kotlin-Videos auf YouTube:

Artikel im Kotlin-Blog:

Detaillierte Informationen in den Kotlin-Docs:

Externe Mitwirkende

Wir bedanken uns 👏👏👏 bei allen externen Mitwirkenden, die Pull-Requests zu dieser Version beigetragen haben:

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.

Liste der aktivsten Ticketersteller in YouTrack

Wir möchten uns bei allen Mitgliedern der Community bedanken, die uns geholfen haben, diese Version zu verbessern, indem sie bei Problemen Tickets in YouTrack erstellt haben! 👏👏👏 Wir möchten uns für diese Beiträge ausdrücklich bedanken – ganz besonders bei der Top 20 der Ticketersteller:

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).


Installieren Sie Kotlin 1.5.0 und melden Sie sich für das Online-Event zu Kotlin 1.5 an!

image description