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