Changelog
Analysis API. Standalone
KT-89902Analysis API Standalone: JavaPsiFacade doesn't find Kotlin classes from binary libraries
Backend. Wasm
KT-91167K/Wasm: suspend lambda containing a suspend call triggers unrelated file-property initialization
Compiler
KT-90315Value classes resolved first as a supertype are treated as identity classesKT-84904Alpha release of Multi-Field Value ClassesKT-90707Parser: "Expecting ';' after the last enum entry" when an enum entry named error has arguments or a bodyKT-91112Type inference: reified Enum inferred as Nothing for a function-reference extension call since Kotlin 2.5KT-90589K/N: Debug static framework with a Kotlin subclass of NSObject does not link without -dead_strip: undefined "_kfun:platform.darwin.NSObject#objc:*-impl"KT-90321K2 IDE: "Multiple plugins generated nested class with same name Companion" floods the IDE log for a class with@Slf4j(Lombok) and@SerializableKT-89985InnerClasses entries lack ACC_IDENTITY with -Xjvm-enable-preview on JVM target 28
IR. Inlining
KT-72464[Native][JS][Wasm] Non-local return through suspend conversion breaks the IR inliner
JVM. Reflection
KT-91317Reflection: IAE "fromIndex(1) > toIndex(0)" on KClass.members of stdlib inline classesKT-90525Reflection: "MutableCollectionKClassImpl cannot be cast to ClassBasedDeclarationContainer" from KType.classifier of annotated Java collection type
JavaScript
KT-91371K/JS: extending a JsExport-ed interface breaks property accessKT-90564K/JS, K/Wasm: top-level suspend function doesn't trigger file properties initializationKT-90587K/JS: Exported abstract suspend functions are not callable from JSKT-90912K/JS: IR-based TypeScript export loses abstract modifier on abstract suspend method with a default argument
Klibs
KT-91139[Klib] Backward compatibility break: Kotlin 2.4.20+ miscompiles suspend conversions from KLIBs built by Kotlin ≤ 2.2KT-90675Native, Klibs: Value class '==' boxes because the deserializer doesn't recognize the old GENERATED_SINGLE_FIELD_VALUE_CLASS_MEMBER origin
Libraries
KT-91066Kotlin/Wasm: KClass.hashCode() allocates and hashes the qualified class name string on every call
Tools. Compiler Plugins
KT-90516Lombok: Unexpected returnTypeRef during supertype generation for builder classKT-90666Lombok: disable@Builderannotation in Kotlin code due to many issuesKT-90086Lombok: ClassCastException during supertype generation for EqualsAndHashCode with inheritance
Tools. Compiler plugins. Compose
KT-84055Reference to lambda in lambda in function 'TextField' can not be evaluatedKT-90466Compose compiler, Kotlin/Native: IrLinkageError "No function found for symbol" for lambda SAM-converted to@Composablefun interface from another module
Tools. Compiler plugins. Serialization
KT-91224Kx Serialization: Regression in support of Java enums with Serializable annotation
Tools. Gradle
KT-91331Deprecated Kotlin sourceSets in Android extension: block form doesn't report the error in Groovy DSL or in suppressed Kotlin DSLKT-91330Groovy DSL: kotlin { sourceSets { main {} } } in Android project fails with misleading "Could not find method main()"KT-85935KGP / Android: sourceSets deprecation not shown in DSL block form inside KotlinAndroidProjectExtensionKT-90672Gradle: "configureEach(Action) on task set cannot be executed in the current context" when KotlinCompile is created lazily with AGP built-in KotlinKT-90997Preserve behaviour of deprecated kotlin.internal.incremental.enableUnsafeOptimizationsForMultiplatform in 2.5.0
Tools. Gradle. JS
KT-90489Rich TypeScript declarations ignore Long-as-BigInt enabled by target es2020KT-90491GenerateTypeScriptDefinitions task generates UMD declarations for ES module when target is es2015 or higher and module kind is not setKT-90533-Xes-long-as-bigint=true is ignored by Analysis API-based TypeScript declaration generationKT-90519KGP and BTA do not preserve -XXLanguage settings for Analysis API-based TypeScript declaration generationKT-90366-Xdts-use-unknown-instead-any is ignored by the new GenerateTypeScriptDefinitions taskKT-89797KJS/KGP: Playwright tests fail to update after kotlin code changesKT-90286NodeJsExec ignores a custom executable
Tools. Gradle. Multiplatform
KT-90544Gradle, Multiplatform: Publication iteration misses JS, Wasm and Native targets since 2.5.0-Beta2 (after Kotlin Archive publishing changes)
Tools. Gradle. Swift Export
KT-90738swiftPackageIntegration: Release build fails to link exported package (undefined symbol KotlinRuntimeSupport_linkAnchor)
Tools. Incremental Compile
KT-91153Incremental compilation failed: The following FqNames can't be derived from DirtyData.dirtyLookupSymbols