Releases: JetBrains/kotlin
Releases Β· JetBrains/kotlin
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
Tools. Wasm
Kotlin 2.0.0-RC2
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
](https://youtrack.jetbrains.com/is...
Kotlin 2.0.0-RC1
Changelog
Analysis. API
Fixes
KT-65616
K2: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus from STATUSKT-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-65561
Analysis API: dummy.kt is not a physical 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-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-66485
Substituted types are not provided for callable referencesKT-66498
Analysis API: 'KtFe10SymbolDeclarationOverridesProvider' considers a class to be a subclass of itselfKT-66189
K2 / IDE: KtFirExpressionTypeProvider bugsKT-59732
FirLazyResolveContractViolationException:lazyResolveToPhase(IMPORTS)
cannot be called from a transformer with a phase IMPORTS from serialisation plugin
Analysis. Light Classes
KT-66692
SLC:findAttributeValue
for attribute w/ default value in Java returnsnull
Apple Ecosystem
KT-66446
Diagnostic never showed, and build fails when CocoaPods dependency is used with embedAndSign task and linking type is dynamicKT-66445
Diagnostic never showed when CocoaPods dependency is used with embedAndSign task and linking type is static
Backend. Wasm
KT-66471
Null method reference with Kotlin/Wasm on 2.0.0-Beta4KT-65210
K/Wasm::class
operator produces Number KClass for Short expressionKT-58088
[PL] Support & enable partial linkage for WasmKT-66104
Wasm: compiler crash: NoSuchElementException: Sequence contains no element matching the predicateKT-64449
K2: Implement K1WasmWasiCodegenBoxTestGenerated for K2KT-61263
K/Wasm: add a way to turn on k2 in wasm examples using Compose
Compiler
New Features
KT-32754
Choose existing extensions over additional built-ins members from JDK except overridesKT-64350
K2: deprecate using typealias as a callable qualifier in importsKT-62547
Introduce a language feature flag for smartcasts based on "memory" variables
Performance Improvements
KT-65005
K2: Investigate testCommonSuperTypeContravariant performanceKT-65579
K2: performance regression in FP SpaceKT-61121
[K/N] Kotlin Native compiler performance is slow when generating large frameworks
Fixes
KT-67185
K2: Incorrect coercion-to-Unit leading to CCE at runtimeKT-63836
K2: No deprecation error message in common metadata compilationKT-57618
K2: complex deprecation messages are not printed in the errorKT-61787
K2 doesn't report warnings for some Gradle tasksKT-62063
K2: drop pre-release flag in 2.0-RCKT-65578
K2: implement a deprecation warning for KT-57014 (wrong nullability returned from JDK SAM constructor lambda)KT-65120
K2 Consider turn into platform checkers ones which checks for objCKT-67090
K2: Exception from metadata compilation when compiling class with annotations from dependenciesKT-59479
K2: build KorGEKT-62560
K2: KAPT4: annotation@ReplaceWith
is missing a default value for the element 'imports'KT-67027
K2: Review all use-sites of annotation arguments utilitiesKT-60096
K2: Introduced API_NOT_AVAILABLEKT-64151
K2: consider implementing FIR-level constant evaluationKT-65195
K2: Unexpected exception when executing dynamic array element inc/decKT-63416
K2 / Contracts: False positive "Leaked in-place lambda" warning caused by suspend lambda with callsInPlace contractKT-57812
K2: support serialization of type annotation's argumentsKT-66717
Incorrect diagnostics around intersection property overridesKT-65603
K2: No approximation is done on public, but effectively private propertyKT-59932
K2: Disappeared AMBIGUOUS_ANONYMOUS_TYPE_INFERREDKT-66527
K2: type mismatch on override for typeKT-59400
K2: Missing CANNOT_INFER_VISIBILITYKT-64534
K2: org.jetbrains.kotlin.util.FileAnalysisException: Somewhere in fileKT-65649
K2: IR has incorrect origins for some inplace updating operatorsKT-66748
K2: False-positive AMBIGUOUS_SUPER in toStringKT-67013
K2: ClassCastException: class FirConstructorSymbol cannot be cast to class FirNamedFunctionSymbolKT-52175
K2: WRONG_ANNOTATION_TARGET for annotation that used inside ifKT-66902
K2: "Named arguments are prohibited for non-Kotlin functions" with Java interopKT-66793
K2: "assigning single elements to varargs in named form is prohibited." caused by varargs supplied from java with elvis operatorKT-65235
JDK 21 might lead to change in overloads resolutionKT-66350
K2: "IllegalStateException: Unsupported compile-time value STRING_CONCATENATION" when evaluating an annotation argument stringKT-65035
IrFakeOverrideBuilder: AbstractMethodError on inheritance from Java subclass of CharSequence with inherited implementationsKT-66447
Implement KT-59138 under a language featureKT-66701
K2: Java interface method override via Kotlin class rejectedKT-66730
K2: False positive RETURN_TYPE_MISMATCH in return statement in SAM constructorKT-66909
K2: Implement a diagnostic for returning null from a lambda with expected return type Unit!KT-66570
Generic wildcard upper bound inference errorKT-65272
K2: invoke operator applies "restricted suspen...