--- type: Reference status: ACTIVE owner: Lead Architect tags: [kotlin, release-notes, tech-stack] --- # Was ist neu in Kotlin 2.3.21 **Quelle:** [Offizielle Kotlin-Dokumentation](https://kotlinlang.org/docs/whatsnew23.html) **Datum des Dokuments:** 16. Dezember 2025 **Kontext:** Dieses Dokument dient als Referenz für die im Projekt verwendete Kotlin-Version. --- Kotlin 2.3.21 ist erschienen! Hier sind die wichtigsten Highlights: * **Sprache:** Mehr stabile und standardmäßig aktivierte Features, Checker für ungenutzte Rückgabewerte, explizite Backing Fields und Änderungen bei der kontextsensitiven Auflösung. * **Kotlin/JVM:** Unterstützung für Java 25. * **Kotlin/Native:** Verbesserte Interoperabilität durch Swift-Export, schnellere Build-Zeiten für Release-Tasks, C- und Objective-C-Bibliotheksimport in Beta. * **Kotlin/Wasm:** Vollständig qualifizierte Namen und neuer Ausnahmebehandlungsvorschlag standardmäßig aktiviert, sowie kompakter Speicher für Latin-1-Zeichen. * **Kotlin/JS:** Neuer experimenteller Export von Suspend-Funktionen, `LongArray`-Darstellung, einheitlicher Companion-Object-Zugriff und mehr. * **Gradle:** Kompatibilität mit Gradle 9.0 und neue API zur Registrierung generierter Quellen. * **Compose Compiler:** Stack Traces für minimierte Android-Anwendungen. * **Standardbibliothek:** Stabile Zeiterfassungsfunktionalität sowie verbesserte UUID-Generierung und -Analyse. ## Sprache Kotlin 2.3.21 konzentriert sich auf die Stabilisierung von Features, führt einen neuen Mechanismus zur Erkennung ungenutzter Rückgabewerte ein und verbessert die kontextsensitive Auflösung. ### Stabile Features Folgende Features sind nun stabil: * Unterstützung für verschachtelte Typ-Aliase * Datenflussbasierte Vollständigkeitsprüfungen für `when`-Ausdrücke ### Standardmäßig aktivierte Features * Unterstützung für `return`-Anweisungen in Ausdrucks-Bodies mit explizitem Rückgabetyp ist nun standardmäßig aktiviert. ### Experimentell: Checker für ungenutzte Rückgabewerte Kotlin 2.3.21 führt den Checker für ungenutzte Rückgabewerte ein, um das versehentliche Ignorieren von Ergebnissen zu verhindern. ### Experimentell: Explizite Backing Fields Eine neue Syntax zur expliziten Deklaration des zugrundeliegenden Felds, das den Wert einer Property hält – vereinfacht das verbreitete Backing-Properties-Muster. ## Kotlin/JVM: Unterstützung für Java 25 Ab Kotlin 2.3.21 kann der Compiler Klassen mit Java-25-Bytecode generieren. ## Kotlin/Native * **Verbesserter Swift-Export:** Direkte Zuordnung für native Enum-Klassen und variadische Funktionsparameter. * **C- und Objective-C-Bibliotheksimport in Beta:** Bessere Diagnosen bei binären Kompatibilitätsproblemen. * **Schnellere Build-Zeit:** Bis zu 40 % schnellere Release-Builds, besonders für iOS-Targets. ## Kotlin/Wasm * **Vollständig qualifizierte Namen standardmäßig aktiviert:** `KClass.qualifiedName` ist nun ohne zusätzliche Konfiguration zur Laufzeit verfügbar. * **Kompakter Speicher für Latin-1-Zeichen:** Reduziert Metadaten- und Binärgröße. * **Neue Ausnahmebehandlung für `wasmWasi`:** Standardmäßig aktiviert für bessere Kompatibilität mit modernen WebAssembly-Laufzeitumgebungen. ## Kotlin/JS * **Experimenteller Export von Suspend-Funktionen:** Suspend-Funktionen direkt nach JavaScript exportieren mittels `@JsExport`. * **`BigInt64Array` für `LongArray`:** Vereinfacht die Interoperabilität mit JavaScript-APIs, die typisierte Arrays verwenden. * **Einheitlicher Companion-Object-Zugriff:** Konsistenter Zugriff auf Companion Objects in Interfaces über alle JS-Modulsysteme hinweg. ## Gradle * Vollständig kompatibel mit Gradle 7.6.3 bis 9.0.0. * Neue experimentelle API zur Registrierung generierter Quellen. ## Standardbibliothek * **Stabile Zeiterfassung:** `kotlin.time.Clock` und `kotlin.time.Instant` sind nun stabil. * **Verbesserte UUID-Generierung:** Neue Funktionen wie `Uuid.parseOrNull()`, `Uuid.generateV4()` und `Uuid.generateV7()`. ## Compose Compiler * **Stack Traces für minimierte Android-Apps:** Der Compiler gibt nun ProGuard-Mappings für Compose-Stack-Traces aus, wenn Anwendungen durch R8 minimiert werden.