Releases: JetBrains/kotlin
Releases Β· JetBrains/kotlin
Kotlin 2.0.20-RC
2.0.20-RC
Analysis. API
KT-69630
KAPT User project builds with KAPT4 enabled fail with Metaspace overflow
Backend. Wasm
KT-69876
K2 Compile exception: Only IrBlockBody together with kotlinx serializationKT-69529
compileProductionExecutableKotlinWasmJs FAILED: No such value argument slot in IrConstructorCallImpl: 1 (total=1)KT-68088
Wasm: "UNREACHABLE executed at Precompute.cpp:838" running gradle task wasmJsBrowserDistribution for compose multiplatform on Windows
Compiler
KT-69494
StackOverflowError in CfgTraverserKt.getPreviousCfgNodesKT-69723
K2: code analysis taking too longKT-56880
K2. Conflicting overloads for main() isn't shown when language version is set to 2.0KT-69170
K2: "Unresolved reference" caused by generics and fun interfacesKT-70039
K2: inconsistent stability of vals of captured receiversKT-68996
K2: "Not enough information to infer type argument" caused by typealias annotation with fixed generic argumentKT-68889
K2: type variable should not be fixedKT-15388
Forbid delegated property to have external getter/setter
Compose compiler
b/351858979
Fix stability inferencing of interfaces on incremental compilationb/346821372
[Compose] Fix code generation for group optimization
JavaScript
KT-69353
KJS / d.ts: Kotlin does not export base collection classes along with their mutable collection counterparts
Libraries
KT-68025
Improve documentation for Hex
Native. Build Infrastructure
KT-69781
Kotlin/Native performance tests fail to compile with bitcode
Native. C and ObjC Import
KT-69094
LLVM 11 clang: cinterops fail with "_Float16 is not supported on this target"
Native. Platform Libraries
KT-69382
LLVM 11 clang: symbol not found when running the linker
Native. Runtime
KT-68928
EXC_BREAKPOINT: BUG IN CLIENT OF LIBPLATFORM: Trying to recursively lock an os_unfair_lock
Tools. CLI
KT-69792
Add the possibility to disable fast jar fs in K2
Tools. Gradle
KT-69809
Compose Gradle Plugin: AGP doesn't override configuration properties like traceMarkersEnabledKT-68843
Gradle: Kotlin plugin changes source set 'main' to 'null/main'KT-69837
Deprecation warning for file-based IC is issued when the property is set to true, altering the intended meaning of the message
Tools. Gradle. JS
KT-69805
YarnSetupTask does not work for custom downloadBaseUrl
Tools. Gradle. Multiplatform
KT-69311
runDebugExecutable task fails with "this.compilation" is null with enabled configuration cache
Tools. Gradle. Native
KT-69918
java.lang.NullPointerException: Cannot invoke "org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation.getTarget()" because "this.compilation" is null
Tools. Incremental Compile
KT-69042
K2: changing a Java constant won't cause Kotlin usages to recompile
Tools. JPS
KT-69204
Generate lookups in dumb mode for compatibility with ref index
Kotlin 2.0.10
2.0.10
Apple Ecosystem
KT-68257
Xcode incorrectly reuses embedAndSign framework when moving to and from 2.0.0
Compiler
Fixes
KT-69876
K2 Compile exception: Only IrBlockBody together with kotlinx serializationKT-68521
K2: Property's private setters can be bypassed when using plusAssign and minusAssign operatorsKT-68667
K2: Compiler hangs on mapNotNull and elvis inside lambdaKT-68747
K2: Long compilation time because of constraint solving when using typealias in different modulesKT-68940
K2: "IllegalArgumentException: All variables should be fixed to something"KT-68797
K2 / Native: "java.lang.IllegalStateException: FIELD" caused by enabled cachingKT-68362
False-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED for inheritor of java class which directly implements java.util.MapKT-68449
K2: "when" expression returns UnitKT-67072
K2: inconsistent stability of open vals on receivers of final typeKT-68570
K2: "Unresolved reference" in call with lambda argument and nested lambda argumentKT-69159
K2: KotlinNothingValueException in ExposedKT-68623
K2: "Only safe or null-asserted calls are allowed" on safe callKT-68193
JDK 21: new MutableList.addFirst/addLast methods allow adding nullable value for non-null typesKT-67804
removeFirst and removeLast return type with Java 21KT-68727
K2: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" caused by an enum class with default parameter in a different moduleKT-68383
K2: "Argument type mismatch: actual type is 'kotlin.String', but 'T & Any' was expected." with intersection typesKT-68546
K2: false-positive conflicting overloads error on inheriting generic type with inherited generic and non-generic member overloadsKT-68626
K2: "Conflicting Overloads" for function if inherited from generic typeKT-68351
K2: "Suspension functions can only be called within coroutine body"KT-68489
K2: WRONG_ANNOTATION_TARGET with Java and Kotlin@Target
annotation positionsKT-69058
K2: Java-defined property annotations not persistedKT-64515
K2 IDE: [NEW_INFERENCE_ERROR] in a build.gradle.kts script while applying "jvm-test-suite" plugin and then configuring targets for test suitesKT-68016
K2: Gradle repo testshould compile correctly with Kotlin explicit api mode
fails on K2KT-68575
K2:@ParameterName
annotation is not erased when inferring the type ofit
in lambdasKT-67999
K2: lost flexibility on parameters of Java SAMKT-59679
K2: Investigate extracting uncompleted candidates from blocksKT-68401
K2: "IllegalAccessError: failed to access class" caused by package private super Java type, when inferencing a common super type of if or when branches on JVMKT-68806
K/Wasm RuntimeError: unreachable on Sequence::toListKT-68455
K2: False negative UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONSKT-68538
KJS/K2: usingwhile
withbreak
inside inline lambdas leads to an endless cycleKT-68798
JVM compiler crashes on calling private expect constructor with a default parameterKT-68734
K2: enum class in KMP: Expect declarationMMKVLogLevel
is incompatible with actualMMKVLogLevel
because modality is differentKT-68674
False positive ACTUAL_WITHOUT_EXPECT in K2KT-68350
K2: "Inapplicable candidate(s)" caused by parameter reference of local class with type parameters from functionKT-68571
K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by exceptions and when statementKT-68523
K2: FileAnalysisException when using Definitely non-nullable typesKT-68339
K2: "Enum entry * is uninitialized here" caused by lazy property with enum inwhen
expressionKT-66688
K2: false-negative "upper bound violated" error in extension receiverKT-68630
DiagnosticsSuppressor is not invoked with Kotlin 2.0KT-68222
K2. KMP. False negativeExpected declaration must not have a body
for expected top-level property with getter/setterKT-64103
FirExpectActualDeclarationChecker reports diagnostic error for KtPsiSimpleDiagnostic with KtFakeSourceElementKT-68191
K2. Static fake-overrides are not generated for kotlin Fir2IrLazyClassKT-68024
K2: Gradle repo testaccessors to kotlin internal task types...
fails on K2KT-64957
K1: drop ModuleAnnotationResolver
Compose compiler
0c5a858
Fix memoization of captureless lambdas when K2 compiler is used b/340582180a8249d6
Allow memoizing lambdas in composable inline functions b/340606661
Native
KT-68094
K2/Native: Member inherits different '@Throws
' when inheriting from generic type
Tools. Compiler Plugins
KT-69187
Compose compiler for web doesn't support rememberComposableLambdaKT-68557
K2. Supertypes resolution of KJK hierarchy fails in presence of allopen plugin
Tools. Compiler plugins. Serialization
KT-68850
Compose lambda type not transformed with KGP 2 + new Compose plugin
Tools. Daemon
KT-68297
KGP 2.0 regression: JAVA_TOOL_OPTIONS is not considered in Kotlin daemon creation
Tools. Gradle
KT-69330
KotlinCompile friendPathsSet property is racy due causing build cache invalidationKT-69026
Mark AGP 8.5.0 as compatible with KGPKT-68447
ill-added intentionally-broken dependency source configurationsKT-69078
Gradle: Add option to disable FUS ServiceKT-68278
Spring resource loading in combination withjava-test-fixtures
plugin brokenKT-66452
Gradle produces false positive configuration cache problem for Project usage at execution timeKT-68242
Run tests against AGP 8.4.0
Tools. Gradle. Multiplatform
KT-68805
KMP project (re-)import took a long time for downloading platform libsKT-68248
kotlin multiplatform project fail to build on Fedora with corretto
Tools. Gradle. Native
KT-68638
KGP 2.0 breaks native test with api dependencies and configuration cacheKT-65761
Missing JDK Platform ClassLoader when compiling Kotlin native in daemon
Tools. JPS
KT-69204
Generate lookups in dumb mode for compatibility with ref index
Tools. Kapt
KT-68171
K2KAPT: boxed return types in overridden methods changed to primitives
Tools. Scripts
Kotlin 2.0.10-RC2
2.0.10-RC2
Frontend
KT-69876
K2 Compile exception: Only IrBlockBody together with kotlinx serialization
Kotlin 1.9.25
Note: This is a technical release for IntelliJ IDEA.
Changelog
Tools. JPS
KT-69204
Generate lookups in dumb mode for compatibility with ref index
Kotlin 2.0.10-RC
Changelog
Apple Ecosystem
KT-68257
Xcode incorrectly reuses embedAndSign framework when moving to and from 2.0.0
Compiler
Fixes
KT-68521
K2: Property's private setters can be bypassed when using plusAssign and minusAssign operatorsKT-68667
K2: Compiler hangs on mapNotNull and elvis inside lambdaKT-68747
K2: Long compilation time because of constraint solving when using typealias in different modulesKT-68940
K2: "IllegalArgumentException: All variables should be fixed to something"KT-68797
K2 / Native: "java.lang.IllegalStateException: FIELD" caused by enabled cachingKT-68362
False-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED for inheritor of java class which directly implements java.util.MapKT-68449
K2: "when" expression returns UnitKT-67072
K2: inconsistent stability of open vals on receivers of final typeKT-68570
K2: "Unresolved reference" in call with lambda argument and nested lambda argumentKT-69159
K2: KotlinNothingValueException in ExposedKT-68623
K2: "Only safe or null-asserted calls are allowed" on safe callKT-68193
JDK 21: new MutableList.addFirst/addLast methods allow adding nullable value for non-null typesKT-67804
removeFirst and removeLast return type with Java 21KT-68727
K2: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" caused by an enum class with default parameter in a different moduleKT-68383
K2: "Argument type mismatch: actual type is 'kotlin.String', but 'T & Any' was expected." with intersection typesKT-68546
K2: false-positive conflicting overloads error on inheriting generic type with inherited generic and non-generic member overloadsKT-68626
K2: "Conflicting Overloads" for function if inherited from generic typeKT-68351
K2: "Suspension functions can only be called within coroutine body"KT-68489
K2: WRONG_ANNOTATION_TARGET with Java and Kotlin@Target
annotation positionsKT-69058
K2: Java-defined property annotations not persistedKT-64515
K2 IDE: [NEW_INFERENCE_ERROR] in a build.gradle.kts script while applying "jvm-test-suite" plugin and then configuring targets for test suitesKT-68016
K2: Gradle repo testshould compile correctly with Kotlin explicit api mode
fails on K2KT-68575
K2:@ParameterName
annotation is not erased when inferring the type ofit
in lambdasKT-67999
K2: lost flexibility on parameters of Java SAMKT-59679
K2: Investigate extracting uncompleted candidates from blocksKT-68401
K2: "IllegalAccessError: failed to access class" caused by package private super Java type, when inferencing a common super type of if or when branches on JVMKT-68806
K/Wasm RuntimeError: unreachable on Sequence::toListKT-68455
K2: False negative UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONSKT-68538
KJS/K2: usingwhile
withbreak
inside inline lambdas leads to an endless cycleKT-68798
JVM compiler crashes on calling private expect constructor with a default parameterKT-68734
K2: enum class in KMP: Expect declarationMMKVLogLevel
is incompatible with actualMMKVLogLevel
because modality is differentKT-68674
False positive ACTUAL_WITHOUT_EXPECT in K2KT-68350
K2: "Inapplicable candidate(s)" caused by parameter reference of local class with type parameters from functionKT-68571
K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by exceptions and when statementKT-68523
K2: FileAnalysisException when using Definitely non-nullable typesKT-68339
K2: "Enum entry * is uninitialized here" caused by lazy property with enum inwhen
expressionKT-66688
K2: false-negative "upper bound violated" error in extension receiverKT-68630
DiagnosticsSuppressor is not invoked with Kotlin 2.0KT-68222
K2. KMP. False negativeExpected declaration must not have a body
for expected top-level property with getter/setterKT-64103
FirExpectActualDeclarationChecker reports diagnostic error for KtPsiSimpleDiagnostic with KtFakeSourceElementKT-68191
K2. Static fake-overrides are not generated for kotlin Fir2IrLazyClassKT-68024
K2: Gradle repo testaccessors to kotlin internal task types...
fails on K2KT-64957
K1: drop ModuleAnnotationResolver
Compose compiler
0c5a858
Fix memoization of captureless lambdas when K2 compiler is used b/340582180a8249d6
Allow memoizing lambdas in composable inline functions b/340606661
Native
KT-68094
K2/Native: Member inherits different '@Throws
' when inheriting from generic type
Tools. Compiler Plugins
KT-69187
Compose compiler for web doesn't support rememberComposableLambdaKT-68557
K2. Supertypes resolution of KJK hierarchy fails in presence of allopen plugin
Tools. Compiler plugins. Serialization
KT-68850
Compose lambda type not transformed with KGP 2 + new Compose plugin
Tools. Daemon
KT-68297
KGP 2.0 regression: JAVA_TOOL_OPTIONS is not considered in Kotlin daemon creation
Tools. Gradle
KT-69330
KotlinCompile friendPathsSet property is racy due causing build cache invalidationKT-69026
Mark AGP 8.5.0 as compatible with KGPKT-68447
ill-added intentionally-broken dependency source configurationsKT-69078
Gradle: Add option to disable FUS ServiceKT-68278
Spring resource loading in combination withjava-test-fixtures
plugin brokenKT-66452
Gradle produces false positive configuration cache problem for Project usage at execution timeKT-68242
Run tests against AGP 8.4.0
Tools. Gradle. Multiplatform
KT-68805
KMP project (re-)import took a long time for downloading platform libsKT-68248
kotlin multiplatform project fail to build on Fedora with corretto
Tools. Gradle. Native
KT-68638
KGP 2.0 breaks native test with api dependencies and configuration cacheKT-65761
Missing JDK Platform ClassLoader when compiling Kotlin native in daemon
Tools. JPS
KT-69204
Generate lookups in dumb mode for compatibility with ref index
Tools. Kapt
KT-68171
K2KAPT: boxed return types in overridden methods changed to primitives
Tools. Scripts
Kotlin 2.0.20-Beta2
Changelog
Analysis. API
Fixes
KT-65417
K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source setsKT-68882
Analysis API: RefactorKaSymbol
sKT-68689
LL API: support analysis from builtins moduleKT-67775
Analysis API: expose only interfaces/abstract classes for the user surfaceKT-68009
K2: lowering transformers of Compose compiler plugin access AbstractFir2IrLazyFunction modality, which results in null point exceptionKT-68918
collectCallCandidates works incorrectly for parenthesis invokeKT-68462
Analysis API: Integrateproject-structure
module intoanalysis-api
andanalysis-api-platform-interface
KT-69131
AA: "provideDelegate" operator is not resolved from the delegation reference in FIR implementationKT-69055
Analysis API: StabilizeKaScope
sKT-68959
Introduce KaSeverityKT-68846
Mark KaFirReference and all implementations with internal modifierKT-68845
Move KaSymbolBasedReference to resolution packageKT-68844
Move KaTypeProjection to types packageKT-65849
K2: Rename 'high-level-api' family of JARs to 'analysis-api'KT-62540
Remove uses of TypeInfo.fromString and TypeInfo.createTypeText from Kotlin pluginKT-68155
Analysis API: Add PSI validity check toanalyze
KT-62936
Analysis API: NativeForwardDeclarationsSymbolProvider is not supported for Kotlin/Native
Analysis. Light Classes
KT-68261
SLC: Constructors of sealed classes should be privateKT-68696
DropDecompiledPsiDeclarationProvider
-related stuffKT-68404
SLC: wrong binary resolution to declaration with@JvmName
Backend. Native. Debug
KT-67567
Native: after updating to LLVM 16 lldb hangs when smooth stepping
Backend. Wasm
KT-68828
Wasm test failure. expect-actual. private constructor in expect
Compiler
New Features
KT-58310
Consider non-functional type constraints for type variable which is an expected type for lambda argumentKT-57872
Improve "Public-API inline function cannot access non-public-API" check
Fixes
KT-65546
K2. implement extended checker for unused anonymous parameter in lambdaKT-60445
K2/Java: investigate possible symbol clash while enhancing Java class type parameter boundsKT-68358
@EnhancedNullability
is missing on value parameter type after inheritance by delegation with strict JSpecify enabledKT-67791
False negative "Synchronizing by Meters is forbidden" with inline value classesKT-69495
k2: inconsistent output of unsigned number in string templatesKT-67693
Implement checkers for K1 compiler which will check the usage of K2 new features and report that they are not supported in K1 compilerKT-44139
Don't report overload resolution ambiguities if arguments contain an error typeKT-69282
K2: equality of unsigned types with nullability works incorrectlyKT-69619
K2. JAVA_TYPE_MISMATCH when Kotlin out generic type used in JavaKT-68996
K2: "Not enough information to infer type argument" caused by typealias annotation with fixed generic argumentKT-69563
trying to call.source
onFirPackageFragmentDescriptor
results in exceptionKT-69611
Internal annotation FlexibleArrayElementVariance is written to output jarKT-69463
K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERS with expect/actual declarationsKT-68556
K2: false negative PROPERTY_WITH_NO_TYPE_NO_INITIALIZER on uninitialized property without typeKT-68997
K2: "No accessor found" for an inline value class when query the value of a delegated class by reflectionKT-68724
K2: "ABSTRACT_MEMBER_NOT_IMPLEMENTED" caused by open modifier on interfaceKT-68667
K2: Compiler hangs on mapNotNull and elvis inside lambdaKT-68747
K2: Long compilation time because of constraint solving when using typealias in different modulesKT-68940
K2: "IllegalArgumentException: All variables should be fixed to something"KT-69182
K2: OptIn on enum companion blocks enum constantsKT-69191
K2: "Unresolved reference" caused by nested data objectsKT-68797
K2 / Native: "java.lang.IllegalStateException: FIELD" caused by enabled cachingKT-69569
Wrong paths when one type has multiple annotated argumentsKT-63871
K2: different value ofisNotDefault
flag for property inherited from delegateKT-63828
K2: Missingsignature
metadata for accessors of properties inherited from delegateKT-68669
K2: Generate inherited delegated members after actualizationKT-69402
FirSupertypeResolverVisitor: ConcurrentModificationExceptionKT-68449
K2: "when" expression returns UnitKT-67072
K2: inconsistent stability of open vals on receivers of final typeKT-68570
K2: "Unresolved reference" in call with lambda argument and nested lambda argumentKT-69476
False negative NO_ELSE_IN_WHEN on when over intersection type with expect enum/sealed classKT-67069
K2: Delegated member calls interface method instead of fake overrideKT-63864
K2: Missing abbreviated type in metadataKT-69421
K2: Resolve changed from delegated function to java default functionKT-69392
K2: "UNSAFE_CALL": when with some variable subjects does not smartcast the variableKT-69159
K2: KotlinNothingValueException in ExposedKT-69053
K2: Unsupported intersection overrides for fieldsKT-69227
K2: "Argument type mismatch" caused by generic typealias and upper boundKT-31371
NOT_YET_SUPPORTED_IN_INLINE: incorrect error message for local inline functionKT-49473
PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' propertyKT-49474
NON_PUBLIC_CALL_FROM_PUBLIC_INLINE: specialize error message for 'inline' propertyKT-49503
SUPER_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' propertyKT-11302
On inapplicable '@JvmStatic
' annotation, highlight only the annotation, not the function signatureKT-59510
K2: do not render annotations in the deprecation diagnosticKT-68532
"This code uses error suppression for 'INAPPLICABLE_JVM_NAME'. While it might compile and work, the compiler behavior is UNSPECIFIED and WON'T BE PRESERVED"KT-68859
K2: unable to suppress only "JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE"KT-68623
K2: "Only safe or null-asserted calls are allowed" on safe call- [
KT-68364
](https://y...
Kotlin 2.0.20-Beta1
Changelog
Analysis. API
New Features
KT-68143
Analysis API: support KtWhenConditionInRange call resolution
Performance Improvements
KT-67195
K2: do not call redundant resolve on body resolution phase for classes
Fixes
KT-66216
K2 IDE. "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" on incorrect string templateKT-53669
Analysis API: redesign KtSymbolOrigin to distinguish kotlin/java source/library declarationsKT-62889
K2 IDE. FPMISSING_DEPENDENCY_CLASS
on not available type alias with available underlying typeKT-62343
Analysis API: fix binary incopatibility problems cause byKtAnalysisSessionProvider.analyze
being inlineKT-68498
To get reference symbol the one should be KtSymbolBasedReferenceKT-68393
Analysis API: RenameKaClassLikeSymbol. classIdIfNonLocal
toclassId
KT-62924
Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableIdKT-66712
K2 IDE. SOE on settings string template for string variable with the same nameKT-65892
K2: "We should be able to find a symbol" for findNonLocalFunctionKT-67360
Analysis API: KtDestructuringDeclarationSymbol#entries shouldn't be KtLocalVariableSymbolKT-68198
Analysis API: Support application service registration in plugin XMLsKT-68273
AA: supportKtFirKDocReference#isReferenceToImportAlias
KT-68272
AA: KtFirReference.isReferenceToImportAlias doesn't work for references on constructorKT-67996
Analysis API: rename Kt prefix to KaKT-66996
Analysis API: Expose the abbreviated type of an expandedKtType
KT-66646
K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl from FirJsHelpersKt.isExportedObjectKT-68203
K2: Analysis API: wrong type of receiver value in case of imported object memberKT-68031
LL resolve crash in case of PCLA inference with local objectKT-67851
K2:PsiReference#isReferenceTo
always returns false for references to Java gettersKT-68076
AA: use type code fragments for import alias detectionKT-65915
K2: Analysis API: extract services registration into xml fileKT-68049
Analysis API: do not expose imported symbolsKT-68075
K2: Analysis API: Type arguments for delegation constructor to java constructor with type parameters not supportedKT-65190
AA: reference to the super type is not resolvedKT-68070
AA: KtExpressionInfoProvider#isUsedAsExpression doesn't work for KtPropertyDelegateKT-67748
K2: AllCandidatesResolver modifies the original FirDelegatedConstructorCallKT-67743
K2: Stubs & AbbreviatedTypeAttributeKT-67706
K2: "KtDotQualifiedExpression is not a subtype of class KtNamedDeclaration" from UnusedCheckerKT-68021
Analysis API: do not break the diagnostic collection in a case of exception from some collectorKT-67949
AA: Type arguments of Java methods' calls are not reported as used by KtFirImportOptimizerKT-67988
AA: functional type at receiver position should be wrapped in parenthesisKT-66536
Analysis API: ContextCollector doesn't provide implicit receivers from FirExpressionResolutionExtensionKT-67321
AA: Type arguments of Java methods' calls are not resolvedKT-64158
K2: "KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtParameter"KT-60344
K2 IDE. "KotlinExceptionWithAttachments: expectcreateKtCall
to succeed for resolvable case with callable symbol" on attempt to assign value to param named getParamKT-64599
K2: "expectcreateKtCall
to succeed for resolvable case with callable" for unfinished if statementKT-60330
K2 IDE. ".KotlinExceptionWithAttachments: expectcreateKtCall
to succeed for resolvable case with callable symbol" on attempt to assign or compare true with somethingKT-66672
K2 IDE. False positive INVISIBLE_REFERENCE on accessing private subclass as type argument in parent class declarationKT-67750
Analysis API: Removeinfix
modifiers from type equality and subtyping functionsKT-67655
Analysis API: declare a rule how to deal with parameters in KtLifetimeOwnerKT-61775
Analysis API: KtKClassAnnotationValue lacks complete type informationKT-67168
K2: Analysis API: Rendering is broken for JSR-305 enhanced Java typesKT-66689
Analysis API: KtFirPackageScope shouldn't rely on KotlinDeclarationProvider for binary dependencies in standalone modeKT-60483
Analysis API: add isTailrec property to KtFunctionSymbolKT-67472
K2: Analysis API FIR: KtFunctionCall misses argument with desugared expressionsKT-65759
Analysis API: Avoid hard references toLLFirSession
in session validity trackersKT-60272
K2: Implement active invalidation ofKtAnalysisSession
sKT-66765
K2: Analysis API: support classpath substitution with library dependencies in super type transformerKT-67265
K2: status phase should resolve original declarations in the case of classpath subsitutionKT-67244
K2: StackOverflowError in the case of cyclic type hierarchy and library classpath substitutionKT-67080
K2: clearer contract for lazyResolveToPhaseWithCallableMembersKT-65413
K2 IDE: KTOR unresolved serializer() call for@Serializable
class in common codeKT-66713
K2 FIR: Expose a way to get the module name used for name manglingKT-61892
KtType#asPsiType could provide nullability annotationsKT-66122
Analysis API: PassKtTestModule
instead ofTestModule
to tests based onAbstractAnalysisApiBasedTest
Analysis. Light Classes
KT-68275
LC: no arg constructor is not visible in light classesKT-66687
Symbol Light Classes: Duplicate field names for classes with companion objectsKT-66804
Symbol Light Classes: Fields from the parent interface's companion are added to DefaultImpls
Apple Ecosystem
KT-68257
Xcode incorrectly reuses embedAndSign framework when moving to and from 2.0.0KT-65542
Cinterop tasks fails if Xcode 15.3 is used
Backend. Wasm
KT-65798
K/Wasm: make an error on default export usageKT-68453
K/Wasm: "Supported JS engine not detected" in Web WorkerKT-64565
Kotlin/wasm removeEventListener function did not remove the event listenerKT-66099
Wasm: local.get of type f64 has to be in the same reference type hierarchy as (ref 686) @+237036
Compiler
New Features
KT-67611
Implement improved handling of $ in literalsKT-39868
Allow access to protected consts and fields from a super companion object- [
KT-67787
](https://youtrack.je...
Kotlin 2.0.0
Changelog
Analysis. API
New Features
KT-65327
Support reading klib contents in Analysis API
Performance Improvements
KT-65560
K2: Anaysis API: ContextCollector triggers redundant resolution in the case of file elementsKT-64987
Analysis API: 50GB memory allocation on creating empty kotlinx.collections.immutable.persistentMapOfKT-61789
K2: optimize getFirForNonKtFileElement for references inside super type referenceKT-59498
K2: getOnAirGetTowerContextProvider took too much time due to on air resolveKT-61728
Analysis API: optimize AllCandidatesResolver.getAllCandidates
Fixes
KT-65561
Analysis API: dummy.kt is not a physical fileKT-65616
K2: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus from STATUSKT-65600
Analysis Api: FirFile for KtCodeFragments are created and not updated on changesKT-64919
K2 IDE: Implement KMP support for sealed class inheritorsKT-64241
K2: Unresolved calls to functions in scripts depending on included projectsKT-65813
Analysis API Standalone:FirDeclarationForCompiledElementSearcher
does not find compiled elementsKT-66052
AA: render expect/actual modifierKT-66795
KtCodeFragment.clone() is brokenKT-66532
K2 CodeGen AA: missing annotation setup for function in source module but not in a compile target fileKT-64833
Analysis API: Members implemented by delegation have no overridden symbolsKT-62405
Analysis API: SymbolsSUBSTITUTION_OVERRIDE
have no overridden symbolsKT-66749
K2: "Collection contains no element matching the predicate" on an unresolved callKT-62832
K2: ClassCastException: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatusKT-66719
AbstractGetKlibSourceFileNameTest: The dependency to ":native:analysis-api-klib-reader" breaks JPS compilationKT-66603
Analysis API: support type annotations in KtPsiTypeProviderMixIn#asPsiTypeKT-64505
Analysis API Standalone: Remove test-specific calculation of sealed class inheritorsKT-66013
Analysis API Standalone: Sealed inheritors aren't correctly calculated for source classesKT-62880
K2 IDE: Unresolved java annotation methods in KDocKT-66530
K2: Analysis API: KtPsiTypeProvider#asKtType crashes on PsiClassType for Java type parameter with wrong use siteKT-65571
Support VirtualFile inputs to Analysis API modulesKT-66485
Substituted types are not provided for callable referencesKT-66498
Analysis API: 'KtFe10SymbolDeclarationOverridesProvider' considers a class to be a subclass of itselfKT-64579
K2 IDE: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(Source) but FirArgumentListImpl found"KT-65978
Analysis API: Use soft references inFileStructureCache
KT-64051
K2 IDE: Analysis API: Unresolved links to typealias in KDocKT-66189
K2 / IDE: KtFirExpressionTypeProvider bugsKT-61422
K2 IDE: "No array element type for vararg value parameter: org.jetbrains.kotlin.fir.declarations.impl.FirValueParameterImpl"KT-66276
K2: Analysis API:TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM
false positive for script parameterKT-66232
K2: Analysis API: cover ScriptWithCustomDefDiagnosticsTestBaseGenerated by LL FIR testsKT-60996
K2: Stub Based Deserializer: Set versionRequirements to enable VERSION_REQUIREMENT_DEPRECATION diagnosticsKT-66306
K2: Analysis API: drop ability to enable global phase resolve lockKT-55750
LL FIR: Implement multi-threaded resolveKT-65563
Analysis API: Missing session componentFirExpectActualMatchingContextFactory
inLLFirLibrarySession
KT-66173
K2: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter' in array owner: LLFirLibrarySessionKT-66238
Gradle kotlin build scripts - a lot of unresolved symbols after latest changes in kotlin masterKT-65099
K2: Recursive local storage cache check for Fir2IrDeclarationStorage::createAndCacheIrPropertySymbols()KT-65265
Analysis API: Add library session invalidation testsKT-56288
Analysis API: Add tests for session invalidation on the Analysis API sideKT-64000
K2: make AnnotationArgumentsStateKeepers more accurateKT-63606
K2: Analysis API: rewrite FirLazyAnnotationTransformer to avoid redundant transformationsKT-65191
KtFirMultiplatformInfoProvider#getExpectForActual doesn't return expect function for slightly broken codeKT-62136
Analysis API: Add concurrent tests forCleanableSoftValueCache
KT-61222
K2: Add lifecycle management forKtResolveExtension
KT-65960
Analysis API: Test infrastructure indexes binary libraries from decompiled files instead of stubs during IDE mode testsKT-65240
K2: CodeGen API fails to resolve Annotation parameter type when it runs FIR2IR for a class with a parent class from other module if the parent class has an annotation from another moduleKT-65344
K2: make FirScript statements (declarations) independentKT-65930
AA: receiver type forInt?::foo
misses nullabilityKT-65914
AA: receiver type forthis::foo
returns return type of the target callableKT-62071
Analysis API: KtFirScopeProvider.getScopeContextForPosition throws exception when ImplicitReceiverValue.implicitScope is nullKT-65780
K2: polish FileStructure implementation for FirFileKT-62840
K2 Script: everything around destructuring declaration on top level of scripts are brokenKT-64528
K2 IDE: MPP: unregistered component 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'KT-64921
K2 IDE: references in platform code resolve to expect classifier instead of actualKT-61296
K2: do not resolve the entire file on lazyResolve call if FirFile is passedKT-65683
Analysis API: Dangling file session creation causes acomputeIfAbsent
contract violationKT-64884
K2 IDE. FP [NAMED_PARAMETER_NOT_FOUND] for copy method of library data class when class has not parameter-propertiesKT-65763
K2: value parameter from library data class copy have RAW_FIR phaseKT-65665
Analysis API: supportKtDelegatedSuperTypeEntry
inKtFirExpressionInfoProvider.isUsedAsExpression
KT-62899
K2 IDE. IDE ignores@Suppress
annotation for errorsKT-65655
Analysis API:KtCodeCompilationException
should not strongly reference FIR sessionsKT-62302
Support PsiType -> KtType conversionKT-64604
K2: IDE K2: "Modules are inconsistent during performance tests"KT-65345
K2: unify FirDesignation and ...
Kotlin 2.0.0-RC3
Changelog
Apple Ecosystem
KT-67892
KotlinNativeLink task instantiates with a fixed list of apiFiles
Compiler
KT-67993
K2: PCLA Inference throws exception with local objectsKT-67912
K2: Cannot inference type properly from inline function with Type parameterKT-68056
Prohibit referencing java field in case of conflict with property from companion object of the derived classKT-67609
K2: False negative INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERRORKT-67875
K2: Resolution ambiguity between Iterable and varargsKT-67699
Not enough information to infer type argument for 'Error' using Arrow's Raise context receiver since Kotlin 2.0.0-Beta3KT-59897
K2: Disappeared PACKAGE_OR_CLASSIFIER_REDECLARATIONKT-50020
K2: False-negative USAGE_IS_NOT_INLINEABLE when lambda in receiver positionKT-67810
K2: public-API inline function cannot access non-public-API annotation enum
JavaScript
KT-67978
K2: Declaration of such kind (expect) cannot be exported to JavaScript
Native
KT-67218
Native: nested classes in kx.serialization ProtoBuf produce empty array for release binary
Tools. Gradle
KT-67746
Indicate for users they need to apply the new Kotlin Compose Gradle pluginKT-67387
Enable intrinsic remember by default in compose compiler gradle pluginKT-67762
Rename Kotlin Compose Compiler plugin on Gradle portalKT-67778
Clarify documentation for compose metricsDestination property
Tools. Gradle. Multiplatform
KT-67806
KMP import fails if android target has flavorsKT-67636
Gradle configuration error when use withJava()KT-67042
K2: Unresolved reference 'convertRadiusToSigma'
Tools. Scripts
KT-67727
Kotlin Scripting with language version 2.0 fails during IR lowering on empty scripts
Tools. Wasm
KT-67785
Kotlin/Wasm: Node.JS 22 does not need experimental-wasm-gc flag anymore
1.9.24
Changelog
Backend. Wasm
KT-64890
K/Wasm compiler crash with external class and Kodein
Compiler
KT-65235
JDK 21 might lead to change in overloads resolutionKT-66768
K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast call
Native
KT-67218
Native: nested classes in kx.serialization ProtoBuf produce empty array for release binary
Tools. Gradle
Tools. Gradle. Multiplatform
KT-67127
KMP: IDE Dependency Resolver for CInterops reports errors on linux and windows machinesKT-66514
Don't get output file from Cinterop task for IDE Import if host os doesn't support it
Tools. JPS
KT-65043
JPS dumb mode should respect maps needed for the compiler