v2.4.20-RCPre-release
Kotlin 2.4.20-RC
Added 3
- Add support for -XheaderModeType=compilation to improve header compilation performance
- Add -jvm-target to K2JKlibCompilerArguments
- Allow disabling firAggressivePrunner for Jklib
Changed 4
- Turn on incremental compilation by default for Kotlin Native
- Compile against Gradle API 9.7
- Run Gradle integration tests against Gradle 9.7
- Use DeserializationStrategy.WITH_INLINE_BODIES when deserializing dependencies
Fixed 13
- Fix ClassCastException when a suspend function's result is discarded in a when-branch
- Fix ClassCastException on member extension property delegated to bound property reference
- Fix kotlin.NoWhenBranchMatchedException on Kotlin Native with sealed interface
- Fix composable singleton in function with type parameters
- Fix miscompilation of cross-module calls to getters and setters
- Fix KClass.members failing on Java class with self-referential raw type bounds
- Fix MessageCollector in IncrementalCompilerRunner dropping diagnostics IDs
- Fix StringIndexOutOfBoundsException in power-assert when assert() wraps a context-parameter function call
- Fix IndexOutOfBoundsException in ComposableTargetAnnotationsTransformer when overriding a @Composable function with default parameter in another module
- Fix KotlincOutputParser failing to parse compilation errors under Gradle when task path prefixes are enabled
- Fix each build leaving a strong reference to an instance of BuildMetricsService
- Fix dumpXcodebuildArgs task failing if the root build directory is removed
- Fix K2 scripting crash when using class from @file:Import-ed script
Changelog
Backend. J2KLIB
KT-88165Add Support for -XheaderModeType=compilation to improve header compilation performanceKT-86239[JKLIB] Investigate which type system context is needed in JklibIrLinkerKT-88306[JKLIB] Unbound symbols for kotlin.coroutines.SuspendFunctionNKT-88120[JKLIB] Add -jvm-target to K2JKlibCompilerArgumentsKT-88176[JKLIB] DeserializationStrategy.WITH_INLINE_BODIES when deserializaing dependenciesKT-88163Allow to disable firAggressivePrunner for Jklib
Compiler
KT-87499ClassCastException "Float cannot be cast to Unit" when a suspend function's result is discarded in a when-branchKT-87983CCE on member extension property delegated to bound property referenceKT-85403kotlin.NoWhenBranchMatchedException on Kotlin Native with sealed interfaceKT-87922K1FakeDescriptorsForReferencesKt classes duplicated between kotlin-scripting-compiler-embeddable and kotlin-build-tools-implKT-86657Native: turn on incremental compilation by default
Compose compiler
b/543684938Fix composable singleton in function with type parametersb/537617330Fixed a bug that caused miscompilation of cross-module calls to getters and setters, causing spurious runtime errors.
JVM. Reflection
KT-87369Reflection: KClass.members fails on Java class with self-referential raw type bounds
Tools. Build Tools API
KT-88348MessageCollector in IncrementalCompilerRunner drops diagnostics IDsKT-87743MakeKotlinCoreEnvironment.disposeApplicationEnvironment()unnecessary for K2 BTA compilation
Tools. CLI
KT-87868In-process compilation via CLI/Build Tools API pays a large ThreadMXBean.getCurrentThreadUserTime penalty on Linux: PerformanceManager.measureSideTime measures unconditionally around every class file read
Tools. Compiler Plugins
KT-88179Power-assert: IrGenerationExtensionException (StringIndexOutOfBoundsException) when assert() wraps a context-parameter function call
Tools. Compiler plugins. Compose
KT-88028Compose compiler: IndexOutOfBoundsException in ComposableTargetAnnotationsTransformer when overriding a@Composablefunction with default parameter in another module
Tools. Gradle
KT-87994Run Gradle integration tests against Gradle 9.7KT-87993Compile against Gradle API 9.7KT-87256KotlincOutputParser fails to parse compilation errors under Gradle when task path prefixes are enabled (Kotlin 2.4.20-Beta1)KT-88084Each build leaves a strong reference to an instance of BuildMetricsServiceKT-87911Report an actionable diagnostic when .kar files reach compilation classpaths in Kotlin 2.4.20KT-86040Run tests against the Gradle 9.6.0 release
Tools. Gradle. Multiplatform
KT-87790Kotlin 2.4.0 increases Gradle sync timesKT-88104dumpXcodebuildArgs task fails if the root build directory is removedKT-88154Swift PM lock file is ignored on switching version fromexacttofrom
Tools. Gradle. Wasm
KT-88115"Your lockfile needs to be updated": Outdated bundled yarn.lock breaks kotlinWasmToolingSetup with --frozen-lockfile
Tools. Scripts
KT-87958K2 scripting: FirPropertyImpl transformation crash when using class from@file:Import-ed script in 2.4.0+