Translated all remaining English architectural documents into German, including ADRs, guides, release notes, and reference materials. Standardized formatting across translated files, updated section headings, and localized inline comments within code examples for consistency.
4.2 KiB
| type | status | owner | tags | |||
|---|---|---|---|---|---|---|
| Reference | ACTIVE | Lead Architect |
|
Was ist neu in Kotlin 2.3.0
Quelle: Offizielle Kotlin-Dokumentation Datum des Dokuments: 16. Dezember 2025 Kontext: Dieses Dokument dient als Referenz für die im Projekt verwendete Kotlin-Version.
Kotlin 2.3.0 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.0 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.0 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.0 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.qualifiedNameist 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. BigInt64ArrayfürLongArray: 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.Clockundkotlin.time.Instantsind nun stabil. - Verbesserte UUID-Generierung: Neue Funktionen wie
Uuid.parseOrNull(),Uuid.generateV4()undUuid.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.