Changelog
Backend. Wasm
KT-66515
Wasm: "call param types must match" during the buildKT-67435
K/Wasm: import.meta.url transforming into absolute local path in webpackKT-66905
K/Wasm: support new version of exception handling proposal
Compiler
New Features
KT-59688
K2: consider removing smartcasts only from the only visibile property with specific name, not from all of them
Performance Improvements
KT-67388
FP intellij: performance degradation in build 611KT-67507
K2: Slow compilation times when a class has a lot of possibly conflicting declarations
Fixes
KT-57678
K2: Inconsistency in how K2 analyzes unresolved code for loops and changing closuresKT-66976
Some value class diagnostics are missedKT-54920
K2:when
with a single branch stops being exhaustive the second time it's doneKT-67307
K2: "Cannot find cached type parameter by FIR symbol" in JpaRepository.saveAllKT-65771
K2: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" when calling method imported using typealias as callable qualifierKT-67502
K2: "property must be initialized or be abstract" with try-finally in secondary constructorKT-67456
K2: "property must be initialized or be abstract" depending on constructor declaration orderKT-67628
K2: "IllegalArgumentException: Expected nullable type" — alias of nullable type analyzed as non-nullable in type parameterKT-67625
K2: Array aliases can't be used as vararg valuesKT-67624
K2: False negative "The feature "break continue in inline lambdas" is experimental and should be enabled explicitly" in elvis operatorKT-60271
K2: origins are not set on compare operatorsKT-44557
Implement main function detection to FIRKT-67593
K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERSKT-67484
K2: FIR2IR generates incorrect access to f/o of lateinit internal varKT-67486
K2: Calling method from a Java (implementing a Kotlin class) with named parameters is no longer possible if Java method has different parameter namesKT-47382
JVM / IR: "AssertionError: Unbound private symbol IrFieldSymbolImpl" caused by string template in constructor and extension propertyKT-67581
K2: Compiler fails on actualizing abstract class with sealed Java class via type aliasKT-67014
K1/K2 handle when expression as annotation target differentlyKT-67254
K1/K2 both allow annotations on loops, assignments, array setsKT-67224
K2/Native: Member overrides different '@Throws
' filter from separate moduleKT-66960
K2. KMP. False negative'when' expression must be exhaustive
without sealed class inheritor from common source-setKT-63466
@NonNull
on a type-variable usage doesn't take precedence over a wildcard type argumentKT-56134
K2: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER diagnostic is reported for the wrong symbolKT-59872
K2: Disappeared TYPE_MISMATCHKT-67192
K2: Disappeared TYPE_MISMATCH [3]KT-67191
K2: Disappeared TYPE_MISMATCH [4]KT-64860
K2: Consider using different ConstraintPosition when fixing variables for PCLAKT-67189
K2: Disappeared TYPE_MISMATCH [5]KT-67551
K2: No wrong annotation target error forfor
statementKT-67367
K2: Incorrect resolution to top-level function with less specific signature in presence of SAM constructor on the same tower levelKT-67374
K2: Object is not smartcasted to type parameter typeKT-67264
K2: "argument type mismatch" with suspend lambda and java wildcardKT-67221
K2: "new inference error [NewConstraintError at Incorporate TypeVariable" for captured typeKT-67311
K2: "Argument type mismatch" caused by lambda type when using named argumentsKT-62043
K2: Fix FirCompileKotlinAgainstCustomBinariesTest.testRawTypesKT-66743
Lambda receivers and anonymous function parameters of inaccessible types are allowedKT-67315
K2: Some default imports are not excludedKT-56126
Avoid using descriptors at JvmPlatformAnalyzerServices::computePlatformSpecificDefaultImportsKT-66513
K2: Suppressing OPT_IN_USAGE_ERROR is now a warning in K2, preventing safe code gen compatible with -WerrorKT-67314
PCLA works inconsistently with smart-cast related CS forksKT-67144
K2: potential NPE when assigning to unstable varsKT-66971
K2: missing SMARTCAST_IMPOSSIBLE on open val declared in another moduleKT-66904
K2: possible NPE when reassigning captured variablesKT-67212
K2: "Failed to find functional supertype for class org.jetbrains.kotlin.fir.types.ConeCapturedType"KT-67283
K2: No SAM conversion for fun interface with abstract toStringKT-66768
K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast callKT-67318
Compiler fails with OutOfMemoryError on combination of PCLA+smart castKT-65812
K2: "OutOfMemoryError: Java heap space" in kotlin.utils.SmartList.addKT-66956
K2: false negative CONST_VAL_WITH_NON_CONST_INITIALIZER for inc/dec operatorsKT-67205
K2: can't deserialize annotation with local class as argumentKT-65449
K2: build KAPT user project and pass it to CIKT-67142
K2: IrFakeOverrideBuilder: AbstractMethodError on raw type argument in a Java superclassKT-62570
IncompatibleClassChangeError due to overriding final methodKT-67190
K2: Disappeared TYPE_MISMATCH [2]KT-67188
K2: Disappeared TYPE_MISMATCH [6]KT-67187
K2: Disappeared TYPE_MISMATCH [1]KT-63381
IrFakeOverrideBuilder: PublishedApi affects overridability of internal membersKT-59856
K2: Check ConeDiagnostics that are not mapped to KtDiagnosticsKT-57502
K2: Smart casts should be forbidden if variable that remembers the smart cast is declared by delegationKT-63967
K2: Missing getterSignature in metadata for script variablesKT-59372
K2: Missing SELF_CALL_IN_NESTED_OBJECT_CONSTRUCTOR_ERRORKT-60526
K2: Fix the TODO inconvertToIr.kt
KT-67027
K2: Review all use-sites of annotation arguments utilitiesKT-66953
K2: toByte() call on Char leads to ClassCastException for klib backendsKT-65415
K2: Stdlib K2 build error: IrConstructorSymbolImpl is already bound
IR. Actualizer
KT-67488
K2: AssertionError No such value argument slot in IrConstructorCallImpl: 0 (total=0
JavaScript
KT-66922
K2 JS: Intrinsic Float/Double toString producing wrong numbersKT-63038
Compilation of suspend functions into ES2015 generatorsKT-8373
JS: support ES6 as compilation targetKT-64951
Kotlin-Multiplatform does not allow JSExport of expect
Klibs
KT-67401
KLib ABI dump: write plain targets in the manifest
Native. Testing
KT-67501
Mute flaky driver tests on macOS agents
Tools. CLI
KT-67417
CLI: Remove option -XrepeatKT-65451
K2: CLI: false positive warning "scripts are not yet supported with K2 in LightTree mode" on irrelevant files in source directory
Tools. Compiler Plugins
KT-67489
JsPlainObjects Plugin: Method not found when consumingKT-67523
[K2] Actualizer cannot reconcile mismatched parameter names from java supertypesKT-67354
K2 Parcelize: support efficient Parcel serializer for parcelables in the same moduleKT-64454
K2: Implement ParcelizeIrBytecodeListingTestGenerated for K2KT-67353
K2 Parcelize: support parcelableCreator intrinsic
Tools. Gradle
New Features
KT-67253
Support per-target configuration in compose-compiler-gradle-plugin
Fixes
KT-64115
KGP + JVM/JS/WASM: The same library can be passed twice to the compilerKT-64567
[FUS] Add boolean flag into kotlin.gradle.performance collectorKT-67685
KotlinBaseApiPlugin regression with Gradle's Configuration Cache in 2.0.0-RC1KT-67515
Remove 'experimental' from compose strong skipping modeKT-67441
Gradle remote cache misses in the compose pluginKT-67602
Compose gradle plugin: a deprecated plugin option 'experimentalStrongSkipping' is added by default that causes a warningKT-67200
Compose gradle plugin: 'suppressKotlinVersionCompatibilityCheck' option is duplicated if added as a kotlin option for the KotlinCompile task and kapt is usedKT-67216
Compose compiler plugin: false-positive versions incompatibility is reportedKT-66459
PowerAssert: Improve design of excludedSourceSets extension propertyKT-61913
Validate LanguageSettings KDoc
Tools. Gradle. Multiplatform
KT-57141
K2: KotlinCompile task input named 'multiplatformStructure.fragments.$0.sources' is tracked in a pure JVM kotlin project together with changes of sourcesKT-65480
MissingNativeStdlibChecker checks existence of konanDistribution.stdlib during configuration phaseKT-67127
KMP: IDE Dependency Resolver for CInterops reports errors on linux and windows machinesKT-63536
KMP: MetadataDependencyTransformationTask is not Thread Safe
Tools. Gradle. Native
KT-67522
K/N toolchain: unclear compilation error if path specified as a value for the kotlin.native.home doesn't provide the kotlin native compiler downloadedKT-67521
K/N warning checking existence of the standard library isn't displayed when the native toolchain enabled and the kotlin native home dir doesn't contain stdlib
Tools. Kapt
KT-66541
K2 KAPT: KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirPropertyAccessExpressionImpl' to be resolved
Tools. Scripts
KT-66395
K2: Scripting test testHelloSerialization fails on K2
Tools. Wasm
KT-65864
K/Wasm: update Node.js to 22.x