Kotlin 1.3.70 liefert Fehlerbehebungen und experimentelle Features
Das nächste Release auf dem Weg zu Kotlin 1.4 kümmert sich vorrangig um die Stabilität der Programmiersprache.
- Björn Bohn
JetBrains hat Version 1.3.70 der Programmiersprache Kotlin veröffentlicht. Große Neuerungen dürfen Entwickler nicht erwarten, denn das Unternehmen hat sich vorrangig auf Verbesserungen existierender Funktionen und Fehlerbehebungen konzentriert. Allerdings gibt es auch eine Reihe an experimentellen Features, unter anderem für die Standard-Bibliothek von Kotlin.
Experimente bei der Standard-Bibliothek
StringBuilder
war bereits in der Standardbibliothek im Paket kotlin.text enthalten. JetBrains hat nun die gesamten JVM-StringBuilder
-Funktionen der gemeinsamen Expect-Klasse hinzugefügt, mit den entsprechenden Implementierungen auf verschiedenen Plattformen. Das soll Entwicklern ermöglichen, StringBuilder
aus dem gemeinsamen Code heraus effektiv verwenden zu können, da alle erforderlichen Member vorhanden sind.
Darüber hinaus haben sich die Annotationen für experimentelle Features geändert. Bislang dienten @UseExperimental
und @Experimental
dazu. Um auch Anwendungsfälle wie interne APIs abzudecken, hören die Annotationen nun auf die Namen @RequiresOptIn
und @OptIn
. Entsprechend geändert hat sich auch das Argument -Xuse-experimental
zu -Xopt-in
. -Xexperimental
fällt hingegen vollständig weg, da es kaum verwendet wurde und die Komplexität in die Höhe getrieben hat. Mit Kotlin 1.4 fallen die alten Varianten endgültig weg.
Eine weitere Namensänderung gibt es bei der experimentellen Time-Measurment-API. Anstelle von Clock
und ClockMark
treten künftig TimeSource
und TimeMark
.
Kotlin/JVM-Compiler und Kotlin/JS
Kotlin 1.3.70 kann nun Type-Annotationen für JVM-Bytecode generieren, die dann zur Laufzeit verfügbar sind. Das macht wohl den Einsatz und das Erstellen von Java-Bibliotheken einfacher. JetBrains bietet hierzu eine detaillierte Anleitung.
Im Zusammenspiel mit JavaScript hat Kotlin 1.3.70 vor allem Optimierungen für Bundle-Größen parat. Wer das dazugehörige Gradle-Plug-in nutzt, kann nun automatisch auf das DCE-Feature (Dead Code Elimination) zurückgreifen. Außerdem unterstützt das Plug-in npm-Abhängigkeiten besser. Entwickler können sie künftig in einem Top-Level-Block deklarieren und müssen sie nicht manuell in einem Souce-Set hinzufügen.
Einen vollständigen Überblick über die Änderungen in Kotlin 1.3.70 inklusive des Zusammenspiels mit IntelliJ IDEA finden sich im JetBrains-Blog. Wem eine kurze Auflistung genügt, ist mit dem Changelog auf GitHub gut beraten. (bbo)