2.0.20
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-67360 Analysis API: KtDestructuringDeclarationSymbol#entries shouldn't be KtLocalVariableSymbolKT-67748 K2: AllCandidatesResolver modifies the original FirDelegatedConstructorCallKT-68198 Analysis API: Support application service registration in plugin XMLsKT-62936 Analysis API: NativeForwardDeclarationsSymbolProvider is not supported for Kotlin/NativeKT-68689 LL API: support analysis from builtins moduleKT-69630 KAPT User project builds with KAPT4 enabled fail with Metaspace overflowKT-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: Refactor KaSymbolsKT-65413 K2 IDE: KTOR unresolved serializer() call for @Serializable class in common codeKT-67996 Analysis API: rename Kt prefix to KaKT-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: Integrate project-structure module into analysis-api and analysis-api-platform-interfaceKT-69131 AA: “provideDelegate” operator is not resolved from the delegation reference in FIR implementationKT-69055 Analysis API: Stabilize KaScopesKT-66216 K2 IDE. “FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null” on incorrect string templateKT-68959 Introduce KaSeverityKT-53669 Analysis API: redesign KtSymbolOrigin to distinguish kotlin/java source/library declarationsKT-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-62889 K2 IDE. FP MISSING_DEPENDENCY_CLASS on not available type alias with available underlying typeKT-68155 Analysis API: Add PSI validity check to analyzeKT-62343 Analysis API: fix binary incopatibility problems cause by KtAnalysisSessionProvider.analyze being inlineKT-68498 To get reference symbol the one should be KtSymbolBasedReferenceKT-68393 Analysis API: Rename KaClassLikeSymbol. classIdIfNonLocal to classIdKT-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-68273 AA: support KtFirKDocReference#isReferenceToImportAliasKT-68272 AA: KtFirReference.isReferenceToImportAlias doesn't work for references on constructorKT-66996 Analysis API: Expose the abbreviated type of an expanded KtTypeKT-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-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-67973 AA FIR: wrong KtCall modeling for == from type boundKT-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: expect createKtCall to succeed for resolvable case with callable symbol” on attempt to assign value to param named getParamKT-64599 K2: “expect createKtCall to succeed for resolvable case with callable” for unfinished if statementKT-60330 K2 IDE. “.KotlinExceptionWithAttachments: expect createKtCall 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: Remove infix 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 to LLFirSession in session validity trackersKT-60272 K2: Implement active invalidation of KtAnalysisSessionsKT-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-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: Pass KtTestModule instead of TestModule to tests based on AbstractAnalysisApiBasedTest
Analysis. Light Classes
KT-65714 K2: IDE K2: “org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirClassLikeSymbolPointer pointer already disposed”KT-65835 SymbolLightClassForClassLike.getName returns null for a companion object instead of CompanionKT-68261 SLC: Constructors of sealed classes should be privateKT-68696 Drop DecompiledPsiDeclarationProvider-related stuffKT-68404 SLC: wrong binary resolution to declaration with @JvmNameKT-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-65542 Cinterop tasks fails if Xcode 15.3 is used
Backend. Native. Debug
KT-67567 Native: after updating to LLVM 16 lldb hangs when smooth stepping
Backend. Wasm
KT-70591 To much sources that don't exist inside SourceMap fileKT-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 WindowsKT-65798 K/Wasm: make an error on default export usageKT-68828 Wasm test failure. expect-actual. private constructor in expectKT-68453 K/Wasm: “Supported JS engine not detected” in Web WorkerKT-64565 Kotlin/wasm removeEventListener function did not remove the event listenerKT-65322 [Wasm] Clean-up bootstrap codeKT-66099 Wasm: local.get of type f64 has to be in the same reference type hierarchy as (ref 686) @+237036KT-63230 [WASM] println(null) prints ‘ul’
Compiler
New Features
KT-58310 Consider non-functional type constraints for type variable which is an expected type for lambda argumentKT-68969 Consider implementing general “redundant interpolation prefix” warningKT-57872 Improve “Public-API inline function cannot access non-public-API” checkKT-68165 Native: type checks on generic types boundaryKT-67611 Implement improved handling of $ in literalsKT-67787 Implement guard conditions for when-with-subjectKT-39868 Allow access to protected consts and fields from a super companion objectKT-66169 useContents lacks a contractKT-67767 Introduce an ability to enforce explicit return types for public declarations without enabling Explicit API modeKT-65841 Allow to actualize expect types in kotlin stdlib to builtins in JVMKT-53834 Support for JSpecify @NullUnmarked
Performance Improvements
KT-69995 K2: Slow compilation when star projecting mutually recursive bounds from javaKT-69723 K2: code analysis taking too longKT-69898 K2: Performance degradation in fir2ir caused by changes around intersection typesKT-68034 Devirtualization analysis fails to devirtualize string.get
Fixes
KT-67102 IR Evaluator: NoSuchFieldException when accessing a private delegated propertyKT-35305 “Overload resolution ambiguity” on function for unsigned types (UByte, UShort, UInt, ULong)KT-69211 K2: java.lang.IllegalArgumentException: Failed requirementKT-68874 Types with different captured types as type arguments are rendered incorrectlyKT-66086 K/N: Unchecked illegal cast is not thrownKT-70186 Kotlin 2.0.20-Beta2: Unexpected number of type arguments: 0KT-68889 K2: type variable should not be fixedKT-69835 K2 / Native: kotlin.native.binary.gc=cms throws library cached but its dependency isn't errorKT-70417 DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE leads to NPE in BEKT-69964 K2: Returning from an in-place lambda doesn't compileKT-69773 K2: “Overload resolution ambiguity between candidate” with arraysKT-60261 K2: No origin is set for composite assignment operatorsKT-15388 Forbid delegated property to have external getter/setterKT-70238 K2: false negative VOLATILE_ON_VALUE for constructor propertiesKT-68669 K2: Generate inherited delegated members after actualizationKT-63828 K2: Missing signature metadata for accessors of properties inherited from delegateKT-63871 K2: different value of isNotDefault flag for property inherited from delegateKT-67119 Migration warning from context receivers to context parametersKT-68997 K2: “No accessor found” for an inline value class when query the value of a delegated class by reflectionKT-64106 Native: the compiler allows using -opt and -g at the same timeKT-69766 K2: False negative: Internal setter of generic class is accessible from another moduleKT-68364 JVM: ISE “Bad exception handler end” on a non-local break/continue inside try with finallyKT-69494 StackOverflowError in CfgTraverserKt.getPreviousCfgNodesKT-56880 K2. Conflicting overloads for main() isn't shown when language version is set to 2.0KT-69282 K2: equality of unsigned types with nullability works incorrectlyKT-68492 JVM IR backend: IDE / Kotlin Debugger: AE “Non-reified type parameter under ::class should be rejected by type checker” on evaluating private generic functionKT-70039 K2: inconsistent stability of vals of captured receiversKT-44139 Don't report overload resolution ambiguities if arguments contain an error typeKT-68996 K2: “Not enough information to infer type argument” caused by typealias annotation with fixed generic argumentKT-55851 K2: reference to a field from package private class crashes in runtimeKT-65038 K2: Type alias from indirect dependency causes MISSING_DEPENDENCY_CLASS errorKT-61875 Native: remove support for bitcode embeddingKT-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-68556 K2: false negative PROPERTY_WITH_NO_TYPE_NO_INITIALIZER on uninitialized property without typeKT-60445 K2/Java: investigate possible symbol clash while enhancing Java class type parameter boundsKT-64193 K2: No smartcast with two boolean expressions in a rowKT-65546 K2. implement extended checker for unused anonymous parameter in lambdaKT-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-69619 K2. JAVA_TYPE_MISMATCH when Kotlin out generic type used in JavaKT-69563 trying to call .source on FirPackageFragmentDescriptor 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-68724 K2: “ABSTRACT_MEMBER_NOT_IMPLEMENTED” caused by open modifier on interfaceKT-69182 K2: OptIn on enum companion blocks enum constantsKT-69191 K2: “Unresolved reference” caused by nested data objectsKT-69569 Wrong paths when one type has multiple annotated argumentsKT-55128 Wrong type path in type annotations when type arguments are compiled to wildcardsKT-67692 Native: support LLVM opaque pointers in the compilerKT-69402 FirSupertypeResolverVisitor: ConcurrentModificationExceptionKT-69062 K1: false-negative “unsupported feature” error on multi-dollar interpolationKT-68967 Consider demoting warnings about multi-dollar interpolation to IJ inspectionsKT-68957 False-negative diagnostics about multi-dollar interpolation on string literals without interpolationKT-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-59833 K2: Stop modifying values of enum entriesKT-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-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-68469 [K2] MISSING_DEPENDENCY_CLASS caused by redundant @file:JvmNameKT-68999 K2: Unify the style of FIR generator with IR and SIR tree-generatorsKT-66061 Kotlin/Native - building shared module for iOS - Argument list too longKT-49420 Suspicious behaviour of frontend in case of DefinitelyNotNull type overloadKT-59752 K2: “Conflicting overloads” if function with same signature added to different contextsKT-68618 K1: Unresolved reference for qualified this in implicit typeKT-25341 NOT_YET_SUPPORTED_IN_INLINE reported over anonymous object borderKT-69215 K2: IllegalArgumentException for delegated function in anonymous object with captured type parametersKT-69044 Destructuring declaration shouldn't be possible in declaration in whenKT-69028 K2: FirJvmActualizingBuiltinSymbolProvider returns null on builtins declarations if common source-set is not presentedKT-15704 Rethink usage of term “type annotation” in error messagesKT-68970 K2. Argument type mismatch caused by out projection in inferred type from if - elseKT-68800 K2: Delete ConeAttributes.plus methodKT-59389 K2: Missing AMBIGUOUS_LABELKT-68803 K2: Smart cast fails with “Unresolved reference” when @Suppress(“UNCHECKED_CAST”) used in statementKT-68968 K2: Missing ILLEGAL_SUSPEND_FUNCTION_CALL diagnostic in initialization code of a local class inside suspend functionKT-68336 K2 does not seem to pass the right constructor arguments to custom scriptsKT-68517 “IrSimpleFunctionSymbolImpl is unbound” for actual class containing non-actual functionsKT-59678 K2: Investigate ConeKotlinType.unCapture()KT-69027 K2: Initialize FirStdlibBuiltinSyntheticFunctionInterfaceProvider in library sessionKT-62818 K2: improve VAR_OVERRIDDEN_BY_VAL diagnostic messageKT-68214 Rename TypeApproximatorConfiguration properties for clarityKT-68093 Implement deprecation of smartcasts on class-delegated propertiesKT-67270 Native: report more performance metrics from the compilerKT-68621 DATA_CLASS_INVISIBLE_COPY_USAGE false negative for inline funKT-68568 K2: False-positive ACCIDENTAL_OVERRIDE caused by missing dependency classKT-66723 K2: NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS for actual typealias that extends to Java class with complicated hierarchy that includes default methodKT-69000 Can't render constructor of intersection typeKT-68849 K2: “ClassCastException: cannot be cast to kotlin.jvm.functions.Function2” caused by passing lambda to SAM constructor resultsKT-61744 Native: -Xsave-llvm-ir-after fails to check errors from LLVMPrintModuleToFileKT-67103 Support AbbreviatedTypeAttribute for aliased types from the source codeKT-63921 K2: different representation of recursive type aliasesKT-68679 K2: “Override has incorrect nullability in its signature compared to the overridden declaration” caused by subclass of Android HashMapKT-64335 K2: improve rendering of captured types in diagnostic messagesKT-68820 K2: “Unresolved reference” on calling function with “contract” nameKT-67933 K2: no conversion between fun interfaces if target has suspendKT-68230 K2: FirMissingDependencyClassChecker: Not supported: ConeFlexibleTypeKT-68531 K2: False-negative error on assignment to enum entryKT-68446 K2: compile-time failure on smart-casted generic value used as a when-subject in a contains-check with rangeKT-68678 K2: Drop using FirBuiltinSymbolProvider while compiling JVM stdlibKT-68382 Get rid of context receivers in FirScript implementationKT-68585 Implement new rules for CFA about enum entriesKT-68110 K2: “Java type mismatch” caused by spring.NullableKT-68613 K2: False positive CONFLICTING_PROJECTION after fixing KT-67764KT-67764 K2: False negative: Projection problem is not reported in is expressionKT-67887 Expection on assigning to private field of value typeKT-67801 NSME on evaluating private member function with value class parameterKT-67800 NSME on evaluating private top-level function with value class parameterKT-68542 K2: Fix referecing to @ExtensionFunctionType if it's declared in sourceKT-68188 K2: Properly support FunctionN creation for stdlib compilationKT-67946 K2: Crash on red code: Instead use FirErrorTypeRef for ERROR CLASS: Cannot infer argument for type parameter TKT-68526 K2: false-negative inconsistent data class copy visibility warning on call to generic data class copy functionKT-68528 K2: false-positive inconsistent data class copy visibility warning on call to function from another module with identical value parameter types and return typeKT-68525 K2: false-negative inconsistent data class copy visibility warning on callable reference to data class copy functionKT-68617 K2: Secondary constructors in a sealed class have private visibility instead of protected in the generated IRKT-63920 K2: Private secondary sealed class constructor is private in metadata, but protected in K1KT-57996 Usages of Foo @Nullable [] produce only warnings even with -Xtype-enhancement-improvements-strict-mode -Xjspecify-annotations=strictKT-68207 K2: Investigate if losing ConeIntersectionType.upperBoundForApproximation during approximation leads to any issuesKT-64990 K2: Remove usages of SymbolTable from FIR2IRKT-67798 NSME on assigning to private delegated property of value classKT-68264 K2: confusing INVISIBLE_* error when typealias is involvedKT-68529 K2: false-negative redundant annotation warning on @ExposedCopyVisibility on data class with public constructorKT-67943 Approximation should not generate types with UPPER_BOUND_VIOLATION errorsKT-67503 K2: False negative “Type Expected” when attempting to annotate a wildcard type argumentKT-68187 K2: Create IrBuiltins in fir2ir only after IR actualizationKT-66443 K2: ArrayIterationHandler doesn't work if UIntArray declared in sourcesKT-68291 K2 / Contracts: Non-existent invocation kind is suggested as a fixKT-68209 K2: Strange import suggestion when lambda body contains invalid codeKT-67368 “NullPointerException: Parameter specified as non-null is null” local lambda creates new not-null checks with 2.0.0-Beta5KT-51433 FE 1.0: implement warnings about label resolve changesKT-66554 K2. Drop FIR based fake-override generator from fir2irKT-64202 K2: Drop old methods for calculation of overridden symbols for lazy declarationsKT-67895 K2: Properly implement generation of fake-overrides for fieldsKT-54496 K2: REDUNDANT_MODALITY_MODIFIER diagnostic disregards compiler pluginsKT-63745 K2: Approximation of DNN with nullability warning attribute leads to attribute incorrectly becoming not-nullKT-63362 AbstractTypeApproximator fixes only first local type in hierarchyKT-67769 K2: “variable must be initialized” on unreachable access in constructorKT-51195 FIR IC: Incremental compilation fails with @PublishedApi propertyKT-67966 No JVM type annotation is generated on a class supertypeKT-46640 Generate JVM type annotations on wildcard boundsKT-67952 Annotations on type parameters are not generated for parameters other than the firstKT-68012 K2. No 'operator' modifier is required on 'component' error in K2KT-61835 K2: FirStubTypeTransformer receives unresolved expressions in builder inference sessionKT-63596 K1/K2: Different behavior for lambda with different return typeKT-67688 K2: False positive CANNOT_INFER_PARAMETER_TYPE for Unit constraint type variableKT-62080 False positive UNUSED_VARIABLE for variable that is used in lambda and in further code with several conditionsKT-60726 K2: Missed TYPE_MISMATCH error: inferred type non-suspend function but suspend function was expectedKT-41835 [FIR] Green code turns to red in presence of smartcasts and redundant type argumentsKT-67579 K1/JVM: false-negative annotation-based diagnostics on usages of ABI compiled with non-trivially configured generation of default methodsKT-67493 K2: argument type mismatch: actual type is ‘T’, but ‘T’ was expectedKT-64900 K2: getConstructorKeyword call in PsiRawFirBuilder.toFirConstructor forces AST loadKT-67648 K2: wrong exposed visibility errors with WRONG_MODIFIER_CONTAINING_DECLARATION on top-level enum classKT-58686 FIR2IR: Don't use global countersKT-67592 K2: Success execution of :kotlin-stdlib:compileKotlinMetadataKT-60398 K2: consider forbidding FirBasedSymbol rebindKT-54918 Refactor transformAnonymousFunctionWithExpectedTypeKT-63360 K2: Malformed type mismatch error with functional typeKT-67266 K2: disappeared INLINE_CLASS_DEPRECATEDKT-67569 K2: Fix default value parameters of Enum‘s constructor if it’s declared in source codeKT-67378 K2: Don't use wrapScopeWithJvmMapped for common source setsKT-67738 K2: Introduce kotlin.internal.ActualizeByJvmBuiltinProvider annotationKT-64456 K2: Port *VersionRequirementTest to K2KT-67136 Put $this parameter to LVT for suspend lambdasKT-62538 K2: Declarations inside external classes should be implicitly externalKT-67627 K2: External interface companion isn't external in IRKT-60290 K2: origin is not set for !in operatorKT-67512 K2: false positive WRONG_GETTER_RETURN_TYPE when getter return type is annotatedKT-67635 K2: No warning TYPE_MISMATCH_WHEN_FLEXIBILITY_CHANGES for SAM constructor with inferred typeKT-60501 K2 Scripting: investigate metadata difference between K1 and K2KT-67598 K2: Fix incorrect casting UByte to Number in FirToConstantValueTransformerKT-56564 False positive “non-exhaustive when” in case of intersection typeKT-63969 K2: extra property in metadataKT-63968 K2: extra property in metadata for anonymous variable in scriptKT-67547 K/N can't build caches, fails with “clang++: error=2, No such file or directory”KT-67469 K2: Failing module in FP-intellijKT-64033 K2: Investigate ForbidInferringPostponedTypeVariableIntoDeclaredUpperBoundKT-64457 K2: Fix DecompiledKnmStubConsistencyK2TestGeneratedKT-66377 IR Evaluator: “no container found for type parameter” when evaluating nested genericsKT-66378 IR Evaluator: Symbol is unboundKT-64506 IDE, IR Evaluator: NPE in ReflectiveAccessLowering.fieldLocationAndReceiver when evaluating private static propertiesKT-67380 K2: Don't check for equals overriding for class AnyKT-67038 K2: Missing type of FirLiteralExpression causes an exception for property initializer type resolutionKT-59813 K2: Fix the TODO about firEffect.source in FirReturnsImpliesAnalyzerKT-59834 K2: Fix the TODO about merge(other) in UnusedCheckerKT-59188 K2: Change positioning strategy for WRONG_NUMBER_OF_TYPE_ARGUMENTS errorKT-59108 K2. SMARTCAST_IMPOSSIBLE instead of UNSAFE_IMPLICIT_INVOKE_CALLKT-65503 The inline processor cannot handle objects inside the lambda correctly when calling an inline function from another moduleKT-30696 NoSuchMethodError if nested anonymous objects are used with propagation reified type parameterKT-58966 Incorrect type inference for parameters with omitted type of anonymous function that is being analyzed as value of function type with receiverKT-67458 Use @PhaseDescription for JVM backend lowering phasesKT-65647 K2 ignores diagnostics on sourceless FirTypeRefsKT-64489 K2: Rename FirAugmentedArraySetKT-67394 FIR: Make FIR repr of For from PSI and LightTree the sameKT-66724 K2 IDE. False positive errors because of wrong type inference in complex case of delegated property and type argumentsKT-40248 Confusing error message NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODYKT-66947 K2: false-positive JSpecify nullability enhancement warning on Java wildcard type argument with same base type but different nullabilities as upper and lower boundsKT-66974 K2: false-negative JSpecify nullability enhancement warning on nullable projection of Java wildcard type argument with non-null bounds in out-positionKT-66946 K2: false-negative JSpecify nullability enhancement warning on Java wildcard type argument with nullable upper bound in out-positionKT-66442 K2: No visibility error on importing private aliasesKT-66598 K2: Allow comparisons, is-checks and casts between Kotlin and platform typesKT-55966 K2: Not enough information to infer type variable K if smartcast is usedKT-64894 OPT_IN_ARGUMENT_IS_NOT_MARKER diagnostic message is unclearKT-67019 K2: IR has incorrect EQ origins for some inplace updating operatorsKT-59810 K2: Support other ConstraintPosition-sKT-55383 K1/K2: isClassTypeConstructor behaves differently for stub typesKT-60089 K2: Introduced ERROR_IN_CONTRACT_DESCRIPTIONKT-60382 K2: Refactor ExpectActualCollectorKT-62929 K2: investigate if guessArrayTypeIfNeeded is necessary in annotation loaderKT-65642 K2: IR: Array access desugaring doesn't have originsKT-24807 No smartcast to Boolean in subject of when-expression when subject type is non-nullableKT-66057 K2: incorrect supertype leads to class declaration being highlighted redKT-63958 K2: drop support of UseBuilderInferenceOnlyIfNeeded=falseKT-63959 K2: treat stub types as non-nullable for isReceiverNullable checkKT-65100 IrFakeOverrideBuilder: support custom ‘remove(Int)’ handling logic in MutableCollection subclasses
Compose compiler
New features
cdfe659 Changed how compiler features being rolled out are enabled and disabled in compiler plugin CLI. Features, such as strong skipping and non-skipping group optimizations are now enabled through the “featureFlag” option instead of their own option.192e556 Strong skipping is now enabled by default842a9e8 Add support for default parameters in abstract and open @Composable functions b/165812010
Fixes
e207b05 Fixes group generation for if statements when nonSkippingGroupOptimization is enabled b/346821372f64fc3a Fixes endToMarker generation in early return from inline lambdas that caused start/end imbalance b/346808602d6ac8a5 Stop memoizing lambdas with captured property delegates b/342557697f38d5a3 Stop capturing parameter meta across crossinline boundary b/343801379770fe8d Propagate annotations from inferred function types when serializing b/3452610773c67cda Fix memoization of captureless lambdas when K2 compiler is used b/3405821803281e53 Allow memoizing lambdas in composable inline functions b/340606661b/351858979 Fix stability inferencing of interfaces on incremental compilationb/346821372 [Compose] Fix code generation for group optimizationb/357878245 Disallow open @Composable functions with default params to fix binary compatibility issues.
IR. Actualizer
KT-68830 Compiler crash on missing actual classKT-69024 K2: Children of expect annotation with @OptionalExpectation should be actualizedKT-68742 Allow expect protected to Java protected actualizationKT-66436 K2. Actualizing modCount property with a field in AbstractMutableListKT-68741 Support actualization of AbstractMutableList.modCountKT-68801 Crash on access of fake override of function actualized by fake overrideKT-66307 K2: property fake override isn't generated for protected field
IR. Inlining
KT-67208 KJS: put ReplaceSuspendIntrinsicLowering after IR inlinerKT-68100 Run IR validation in the beginning and the end of the common prefixKT-69171 Introduce a temporary -X CLI parameter that enables double-inliningKT-69006 Enable IR visibility checks after IR inliningKT-69183 IR inlining: properly handle defaults that depends on previous value parametersKT-67660 Suspicious package part FQN calculation in InventNamesForLocalClassesKT-68558 Move InlineCallableReferenceToLambdaPhase into ir.inline moduleKT-56466 Support non-local break/continue in IR inlinerKT-64958 KJS: Put as many as possible lowerings after the inlinerKT-67297 Implement IR deserializer with unbound symbols
IR. Interpreter
KT-66938 Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression: CALL ‘public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir’
IR. Tree
Performance Improvements
KT-67695 ForLoopsLowering fails to handle a loop over an imprecise typed iterable
Fixes
KT-68784 Support validating visibility of referenced declarations in IrValidatorKT-68174 Delete the IrMessageLogger interfaceKT-67082 Introduce attributes on IrElementKT-68716 DeepCopyIrTreeWithSymbols.visitConst should remap const typeKT-67650 Add default implementations to methods for non-leaf IrSymbol subclasses from SymbolRemapperKT-67649 Autogenerate IrSymbol interface hierarchyKT-44721 IR: merge IrPrivateSymbolBase and IrPublicSymbolBase hierarchiesKT-67580 Autogenerate SymbolRemapperKT-67457 Introduce a way to simplify IR lowering phase creationKT-67060 NoSuchMethodError for org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl in the Flysto
JavaScript
New Features
KT-69133 Kotlin/JS: Add support for collection instantiation in JavaScriptKT-18891 JS: provide a way to declare static members (JsStatic?)
Fixes
KT-68943 @JsPlainObject breaks when interface has type parametersKT-70592 “Error: HttpClientCall expected” on HTTP request when targeting es2015 with KTORKT-67273 Creating Kotlin Collections from JS collectionsKT-65018 JS: Deprecate error toleranceKT-67355 KJS / ES6: ‘super’ in lambda with enabled -Xir-generate-inline-anonymous-functions leads to JS errorsKT-69353 KJS / d.ts: Kotlin does not export base collection classes along with their mutable collection counterpartsKT-66898 KJS: Reserved keywords not escaped when -Xir-generate-inline-anonymous-functions is enabledKT-69710 JS IR generates bad code for inner param default referring to outer membersKT-68632 K2: allow JS_NAME_CLASH suppressionKT-69400 Use correct type for references on local functions when transforming them into lambdaKT-68554 Legalize marker interface as parent for JSO (interface marked with @JsPlainObject)KT-68740 Kotlin/JS 2.0.0 IrLinkageError with dynamic function parameters inside data classesKT-68944 @JsPlainObject require properties, when type - nullable aliasKT-68891 @JsPlainObject fails to compile when encountering reserved keywords as interface propertiesKT-69023 KJS / IR: globalThis is mandatory, breaking older browsers supportKT-68641 KJS: ‘export was not found’ with per-file mode on case-insensitive filesystemKT-68053 K2: NON_EXPORTABLE_TYPE on a typealias of primitive typeKT-62304 K/JS: Investigate the compiler assertion crash in JS FIR with backend testsKT-68620 [wasm][js] Default param in inner class method fails if we are referring generic extension propertyKT-64801 K2 + JS and WASM: Inner with default inner doesn't work properlyKT-67248 ModuleDescriptor in JS Linker contains incorrect friend dependeciesKT-64424 K2: Migrate JsProtoComparisonTestGenerated to K2KT-52602 Kotlin/JS + IR: incompatible ABI version is not reported when no declarations are actually used by a Gradle compilationKT-66092 K/JS & Wasm: .isReified for reified upper bound is wrongly falseKT-67112 Unable to apply @JsStatic for common sources: [NO_CONSTRUCTOR]KT-62329 KJS: “UnsupportedOperationException: Empty collection can't be reduced” caused by external enum with “@JsExport”KT-67018 K/JS: Executable js file for module-kind=umd contains top level this instead of globalThisKT-64776 Test infra for JS can't process dependency in mpp moduleKT-65076 Use the same instance when a fun interface doesn't capture or capture only singletons
Klibs
KT-66557 Check, that no bad metadata in klib is produced, when we failed to compute constant valueKT-66968 Provide K/N platforms libs for all available targetsKT-66967 Provide K/N stdlib for all available targets in all distributionsKT-66605 [KLIB] Excessive creation of BaseKotlinLibrary during resolving libsKT-68824 API 4 ABI: Don't show sealed class constructorsKT-68202 KLIB metadata: nested classes are sometimes inside a different ‘knm’ chunkKT-65834 [KLIB Resolve] Drop library versions in KLIB manifestsKT-67446 [KLIB Tool] Drop “-repository ” CLI parameterKT-67445 [KLIB Tool] Drop “install” and “remove” commands
Language Design
KT-58920 K2: Prioritize Enum.entries resolveKT-11914 Confusing data class copy with private constructorKT-68636 Incorrect private_to_this visibility for data class with a private constructor
Libraries
New Features
KT-31880 UUID functionality to fix Java bugs as well as extend itKT-57998 implement Base64.withoutPadding
Performance Improvements
KT-67023 Optimize Int.sign and Long.sign for js and wasmJs targets
Fixes
KT-70196 Introduce ExperimentalUuidApi annotation for marking Uuid APIKT-60787 Cannot ignore alpha when formatting with HexFormatKT-68025 Improve documentation for HexKT-66129 Minor issues with HexFormatKT-67511 provide equals() and hashCode() implementations for kotlinx.metadata.KmTypeKT-68240 stdlib: proper expects for internal API used in intermediate shared source setsKT-68840 atomicfu-runtime: annotate some internal functions with @PublishedApiKT-68839 Annotate kotlin.js.VOID property with @PublishedApiKT-68023 Improve documentation for Base64KT-51483 Documentation of trimMargin is (partly) difficult to understandKT-64649 Add explanation to “A compileOnly dependency is used in the Kotlin/Native target” warning messageKT-67807 JS/Wasm: ByteArray.decodeToString incorrectly handles ill-formed 4-byte sequences with a 2nd byte not being continuation byteKT-67768 Wasm: ByteArray.decodeToString throws out-of-bounds exception if the last byte is a start of a 4-byte sequenceKT-66896 Improve Array contentEquals and contentDeepEquals documentation
Native
KT-70166 Native: EXC_BAD_ACCESS on watchOS when using DispatchersKT-69246 K2: linkPodDebugFrameworkIosArm64 takes 15 (!!) times longerKT-67694 Native: WeakRefBenchmark degradation due to nonoptimized IntProgression iterationKT-69206 Native: updating to LLVM 16 breaks debugging in lldb on LinuxKT-68640 Native: updating to LLVM 16 changes behavior of used attribute in C/C++ codeKT-58097 Kotlin/Native: improve the error message if Xcode is not properly configuredKT-67583 compileKotlin-task unexpectedly downloads K/N dependencies on Linux (but doesn't on Mac)
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”KT-68254 Native: flaky testForwardEnum test in Kotlin/Native on MacOSKT-65260 Native: compiler crashes when casting to an Obj-C class companion
Native. ObjC Export
KT-65666 Native: enable objcExportSuspendFunctionLaunchThreadRestriction=none by defaultKT-57496 linkReleaseFrameworkIosArm64: e: Compilation failed: An operation is not implemented
Native. Platform Libraries
KT-69382 LLVM 11 clang: symbol not found when running the linker
Native. Runtime
KT-70043 Native: EXC_BAD_ACCESS on watchOS when using RandomKT-68928 EXC_BREAKPOINT: BUG IN CLIENT OF LIBPLATFORM: Trying to recursively lock an os_unfair_lock
Native. Runtime. Memory
KT-66644 Native: threads are too often paused to assist GC (with concurrent mark)KT-68871 Native: Unexpected barriers phase during STW: weak-processingKT-67779 Native: SpecialRefRegistry::ThradData publication prolongs the pause in CMSKT-66918 Native: scan global root set concurrently
Native. Swift Export
KT-69469 Exporting object twice causing crashKT-69251 Get rid of context receivers from ./native/.../lazyWithSessions.ktKT-68865 Move config into test-directivesKT-68259 Swift export: secondary constructs lead to compilation errorsKT-67095 Native: fix testNativeRefs export testKT-67099 Remove SirVisitor and SirTransformer from codeKT-67003 Abandon PackageInflator implementation in favour of PackageProvider component
Native. Testing
KT-69235 Incorrect handling of friend dependencies in Native test infraKT-67436 Native: support CLI testsKT-68416 Native: when using test grouping, a whole group gets ignored on non-Mac hosts if it has Objective-C testsKT-68500 Native: Drop custom logic in ExtTestCaseGroupProvider, mute codegen/box tests explicitly
Reflection
KT-69433 KotlinReflectionInternalError on non-reified type parameter in typeOf inside an inline lambdaKT-68675 K2: KotlinReflectionInternalError on non-reified type parameter in typeOf inside a lambda
Tools. Build Tools API
KT-68555 BTA test infra: top level declarations are invisible across modules
Tools. CLI
KT-69792 Add the possibility to disable fast jar fs in K2KT-68838 OutOfMemory when compiling in CLIKT-67939 Add CLI argument to enable when guards featureKT-68743 Extract common CLI arguments for all KLIB-based backendsKT-68450 CLI: errors related to module-info are reported even if there are no Kotlin source filesKT-68060 FastJarFS fails on empty jars
Tools. CLI. Native
KT-66952 Native: konanc fails when KONAN_HOME is under path with spacesKT-64524 Introduce a CLI argument to override native_targets field in klib manifest
Tools. Commonizer
KT-68835 Command line length overflow on Linux/Windows while invoking commonizer via :commonizeDistribution
Tools. Compiler Plugin API
KT-68020 K2: run FirSupertypeGenerationExtension over generated declarations
Tools. Compiler Plugins
KT-64425 K2: Implement Atomicfu*IrTestGenerated for K2KT-69401 Kotlin power assert plugin doesn't work correctly with safe cast operatorKT-69290 PowerAssert: implicit receivers included in power-assert generated diagramKT-68511 Power Assert kotlinx.assertEquals message display problemKT-68807 Power-Assert crashes the Kotlin compiler when if expression used as assertion parameterKT-68162 K2 Parcelize implementation breaks compiler phase contractsKT-67605 K2 parcelize: false positive NOTHING_TO_OVERRIDE in one testKT-64455 K2: Implement ParcelizeIrBoxTestWithSerializableLikeExtension for K2
Tools. Compiler plugins. Serialization
KT-70516 KxSerialization: @KeepGeneratedSerializer and sealed class cause initialization errorKT-68752 Serializable annotation on Java class is not taken into account in K2 checkerKT-68931 JS/Native + serialization: partial linkage errorKT-69039 FIR: Implement IDE-only checker for kotlinx.serialization compiler plugin to report IDE-only diagnostics
Tools. Fleet. ObjC Export
KT-68826 ObjCExport: SerializersModuleBuilderKT-68841 ObjCExport: @Deprecated supportKT-68887 ObjCExport: K1 text fixture @Deprecated supportKT-68051 [ObjCExport] Support reserved method names
Tools. Gradle
New Features
KT-68651 Compose: provide a single place in extension to configure all compose flags
Performance Improvements
KT-61861 Gradle: Kotlin compilations depend on packed artifacts
Fixes
KT-69809 Compose Gradle Plugin: AGP doesn't override configuration properties like traceMarkersEnabledKT-65820 Compatibility with Gradle 8.7 releaseKT-69444 Don't warn about missing Compose Compiler Gradle plugin in some casesKT-67888 Remove usages of deprecated Configuration.fileCollection() methodKT-68843 Gradle: Kotlin plugin changes source set ‘main’ to ‘null/main’KT-67395 Add new plugins to collector kotlin gradle performanceKT-68661 Move ExperimentalWasmDsl to kotlin-gradle-plugin-annotationsKT-69837 Deprecation warning for file-based IC is issued when the property is set to true, altering the intended meaning of the messageKT-69291 Compose Gradle plugin: Enable strong skipping by defaultKT-67766 Build against Gradle API 8.7KT-67889 Run tests against Gradle 8.8 releaseKT-65271 Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3KT-67822 Deprecate JVM history files based incremental compilationKT-64378 Compatibility with Gradle 8.6 releaseKT-69414 Compose: featureFlags override values of the deprecated compose optionsKT-67771 Compatibility with Gradle 8.8 releaseKT-65528 Migrate rest of Gradle integration tests to new Test DSLKT-68306 Project isolation for FUS statistics: Cannot access project ‘:’ from project ‘:app’ at org.jetbrains.kotlin.gradle.report.BuildMetricsService$ Companion.initBuildScanExtensionHolderKT-67890 Compile against Gradle 8.8 API artifactKT-68773 Kotlin 2.0.0 with Gradle 8.8: ConcurrentModificationException on BuildFusService configurationMetricsKT-68308 Project isolation for FUS statistics: An error is thrown at org.gradle.configurationcache.ProblemReportingCrossProjectModelAccess$ProblemReportingProject.getLayoutKT-61574 Add project-isolation test for Kotlin/Android pluginKT-65936 Provide a detailed error for changing kotlin native version dependency.KT-62684 PropertiesBuildService should load extraProperties only onceKT-67288 Test DSL should not fail the test if build scan publishing has failedKT-58280 org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath
Tools. Gradle. JS
KT-70077 [2.0.20-Beta2] KGP reports confusing warnings about js/wasmJS source setsKT-69805 YarnSetupTask does not work for custom downloadBaseUrlKT-67444 Gradle / JS: wrong type commonWebpackConfig.devServer.proxyKT-42923 KJS: Resources are not available when running Karma testsKT-68482 KotlinNpmInstallTask is not compatible with configuration cacheKT-68072 K/JS, K/Wasm: Module not found in transitive caseKT-68103 K/JS, K/Wasm: Generation of test compilation's package.json requires main compilationKT-67924 K/JS, K/Wasm: kotlinNpmInstall can rewrite root package.json
Tools. Gradle. Kapt
KT-64627 Kapt3KotlinGradleSubplugin uses property lookup that breaks project isolationKT-61928 Clarify parameter types in KaptArguments and KaptJavacOption
Tools. Gradle. Multiplatform
New Features
KT-56566 Consider pre-generating DSL accessors for source sets with names corresponding to the default target hierarchy
Fixes
KT-66568 w: KLIB resolver: The same ‘unique_name=...’ found in more than one libraryKT-65754 Gradle: Commonized cinterop dependency configuration changes project descriptionKT-69406 Deprecate combinations of KMP plugin with some Gradle Java pluginsKT-64109 Using compileOnly/runtimeOnly dependencies in K/N-related configurations leads to odd behaviourKT-69311 runDebugExecutable task fails with “this.compilation” is null with enabled configuration cacheKT-69310 w: KLIB resolver: The same ‘unique_name=...’ found in more than one library for diamond source set structuresKT-61793 KMP/AGP compatibility: Update the maximum tested AGP version to 8.3KT-66209 Accessing the source sets by name is confusingKT-62368 Kotlin 1.9.X fails to detect kotlin.test.Test annotation reference on commonTest source set when targeting JVM+AndroidKT-67110 Usage of BuildOperationExecutor.getCurrentOpeartion internal Gradle APIKT-58319 kotlin.git: ProjectMetadataProviderImpl “Unexpected source set ‘commonMain’”
Tools. Gradle. Native
KT-69918 java.lang.NullPointerException: Cannot invoke “org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation.getTarget()” because “this.compilation” is nullKT-67935 OverriddenKotlinNativeHomeChecker does not work well with relative pathsKT-64430 Remove deprecated KotlinToolRunner(project) constructorKT-64427 Stop using deprecated KotlinToolRunner(project) constructor call
Tools. Incremental Compile
KT-69042 K2: changing a Java constant won't cause Kotlin usages to recompileKT-63476 Investigate the debug output of JVM compilation in KMP IC smoke tests
Tools. JPS
KT-63707 JPS: “Multiple values are not allowed for” caused by Compose
Tools. Kapt
KT-68145 K2 KAPT: missing $annotations methods for const properties and private properties without accessorsKT-67495 File leak in when building with kaptKT-66780 K2 KAPT Kotlinc should exit with an exit code 1 (compilation error) if a Kapt task failsKT-66998 K2 KAPT: Reimplement support for DefaultImpls
Tools. Scripts
KT-69296 scripting dependency resolution does not authenticate towards maven mirrorsKT-67575 FromConfigurationsBase script definition unexpected behaviour with regex from gradle templatesKT-67066 DeepCopyIrTreeWithSymbols does not copy IrScript nodes correctlyKT-67071 K2: ScriptCompilationConfigurationFromDefinition is not serializableKT-67063 LauncherReplTest flaky on Windows
Tools. Wasm
KT-70220 K/Wasm: Upgrade NPM dependenciesKT-69245 K/Wasm: Remove warning of working-in-progressKT-69154 K/Wasm: wasmJsBrowserProductionRun flaky crash with “WebAssembly.instantiate(): Import ... function import requires a callable”KT-68930 K/Wasm: Production run doesn not use optimize task resultKT-67901 K/Wasm: Add kotlin-wasm-examples to CIKT-67468 Gradle task build (allTests) fails on default web projectKT-67980 Wasm: Incorrect “Please choose a JavaScript environment to build distributions and run tests” when WASM is not configuredKT-67862 K/Wasm: Make usage of ChromeWasmGc an error
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 test should compile correctly with Kotlin explicit api mode fails on K2KT-68575 K2: @ParameterName annotation is not erased when inferring the type of it 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: using while with break 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 declaration MMKVLogLevel is incompatible with actual MMKVLogLevel 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 in when 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 negative Expected 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 test accessors to kotlin internal task types... fails on K2KT-64957 K1: drop ModuleAnnotationResolver
Compose compiler
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 with java-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
KT-68681 K2 / CLI / Script: “NullPointerException: getService(...) must not be null” caused by @DependsOnKT-67747 K2: regression in Spring unit tests using javax.script.ScriptEngine
2.0.0
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: Symbols SUBSTITUTION_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 in FileStructureCacheKT-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 component FirExpectActualMatchingContextFactory in LLFirLibrarySessionKT-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 for CleanableSoftValueCacheKT-61222 K2: Add lifecycle management for KtResolveExtensionKT-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 for Int?::foo misses nullabilityKT-65914 AA: receiver type for this::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 a computeIfAbsent 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: support KtDelegatedSuperTypeEntry in KtFirExpressionInfoProvider.isUsedAsExpressionKT-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 LLFirResolveTargetKT-61757 K2 IDE: resolution to buitlins does not work for from common moduleKT-65268 K2: Checking the presence of the delegated constructor call forces AST loadingKT-63330 Analysis API: Stub-based deserialized symbol providers provide unresolved enum entry annotation argumentsKT-65418 Analysis API: LLFirAbstractSessionFactory loads anchor module sessions eagerlyKT-64718 Analysis API: do not expose SealedClassInheritorsProvider and FirRegularClass to IDE PluginKT-65075 K2: getContainingDeclaration() is broken for declarations inside code fragmentsKT-61332 Support KtTypeCodeFragment in PsiRawFirBuilderKT-65150 AA: incorrect result from KtTypeProvider#getReceiverTypeForDoubleColonExpression for Java static methodKT-56551 LL FIR: implement parallel resolve for jumping phasesKT-65223 Psi: avoid KtFile usagesKT-65307 Analysis API FE10: support KtFe10AnalysisSessionProvider.getAnalysisSessionByUseSiteKtModuleKT-62695 K2 IDE: Unresolved extension functions in KDocKT-65152 Analysis API: KDoc references to packages are not fully resolvedKT-64988 K2 IDE: Navigation from the named argument in safe call does not workKT-63195 AA: incorrect results from KtTypeProvider#getReceiverTypeForDoubleColonExpressionKT-64074 K2: Investigate LL divergence for Script.testTopLevelPropertyInitializationKT-62441 K2: IDE K2: “No dangling modifier found”KT-62895 K2 IDE. FP 'when' expression must be exhaustive with sealed interface from libraryKT-64993 Analysis API: KtExpressionTypeProvider.getExpectedType works incorrectly for arguments of safe callsKT-64883 Allow direct creation of KtCommonFileKT-64646 K2: properly forbid ast loading during raw fir phase in testsKT-64862 Psi: missed parenthesis in type reference presentationKT-62893 K2 IDE. FP ‘when’ expression must be exhaustive with Java sealed interface from libraryKT-63795 K2: lazyResolveToPhase(BODY_RESOLVE) cannot be called from a transformer with a phase BODY_RESOLVE from SealedClassInheritorsProviderIdeImplKT-64805 Analysis API: introduce common entry point for multi-file test casesKT-64714 K2: Analysis API: CollectionsKt.map doesn't resolves from Java in kotlin repoKT-64647 K2: Allow to calculate decompiled inheritors for sealed classes in testsKT-64595 AA: stackoverflow while simplifying a type with a recursive type parameterKT-64825 Analysis API. Cannot compute containing PSI for unknown source kind ‘org.jetbrains.kotlin.KtFakeSourceElementKind$DefaultAccessor’ exception on getContainingSymbol call for default setter parameterKT-64080 K2: Analysis API: On-air resolve does not trigger resolution of delegated super call argumentsKT-64243 K2: proper lazy resolution for fake overridesKT-62891 K2 IDE. FP [EXPOSED_FUNCTION_RETURN_TYPE] on overriding library method which returns protected typeKT-62667 K2: Cannot find enclosing declaration for KtNameReferenceExpression (on-air, imports)KT-61890 Analysis API: Migrate KtFirScopeProvider to ContextCollector instead of onAirResolveKT-64197 K2: Code fragments are only supported in JVMKT-62357 K2 IDE. False positive on generated component methods and false negative on getter of @JvmRecord classes in JavaKT-62892 K2 IDE. Java outer class from other module is not resolved when nested class is accessed with fq name in a type positionKT-62888 K2 IDE. IDE infers reference to KMutableProperty as reference to just KPropertyKT-64584 K2: StubBasedFirDeserializedSymbolProvider: support deserialization of delegated declarationsKT-60324 K2 IDE: “NoSuchElementException: List is empty at JavaOverrideChecker#buildErasure”KT-62896 K2 IDE. FP ABSTRACT_MEMBER_NOT_IMPLEMENTED on inheriting class from library which implements interface by delegationKT-62947 Analysis API: Error while resolving FirPropertyImplKT-64468 Analysis API: Implement mixed multi-module tests which support different kinds of KtModulesKT-56541 Symbol Light Classes: No @NotNull annotations are generated for accessors of lateinit properties of unresolved typesKT-63547 K2 IDE. False Positive AMBIGUOUS_ANNOTATION_ARGUMENTKT-64205 Analysis API: Do not import non-top-level callables by defaultKT-63056 K2: Cannot mutate an immutable ImplicitReceiverValue on FirCodeFragment analysisKT-64108 K2: KtFirSymbolDeclarationOverridesProvider shouldn't provide fake overridesKT-63752 K2: java.lang.StackOverflowError FirFieldSymbol.getHasInitializerKT-63718 Analysis API: Stub-based dependency symbol providers of library source sessions compute the wrong package name setsKT-64225 K2: IDE K2: “FirLazyBlock should be calculated before accessing” in evaluate debuger completionKT-64186 Analysis API: ContextCollector provides incorrect scopes for anonymous objectsKT-63979 K2 IDE: presentation of types in completion is too verboseKT-63681 K2: LL FIR: Improve isResolved check coverage of after lazy resolutionKT-62982 K2: Cannot get a PSI element for ‘Enum.values’KT-59732 FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS) cannot be called from a transformer with a phase IMPORTS from serialisation pluginKT-62676 K2 IDE: Reference shortener does not recoginize redundant this referencesKT-63627 K2 IDE: shorten reference shortens required qualifierKT-62675 K2 IDE: Reference shortener does not recoginize redundant labelsKT-60957 K2: Analysis API: Reference shortener does not work correctly with invoke function calls on propertiesKT-63771 fe10: KtNamedClassOrObjectSymbol#isInline does not cover value classesKT-60327 K2 IDE. “IllegalArgumentException: source must not be null” during delegation declarationKT-62421 K2: IDE K2: “lazyResolveToPhase(BODY_RESOLVE) cannot be called from a transformer with a phase BODY_RESOLVE.”KT-62587 K2 IDE. FP unresolved reference on accessing nested class in annotation argumentKT-63700 K2: “FirLazyExpression should be calculated before accessing” in the case of secondary constructorKT-61383 K2: ‘KtCompilerFacility’ fails on code fragment compilation in library sources with duplicated dependenciesKT-62111 K2 IDE. IllegalArgumentException on for loop with iterator declaration attemptKT-63538 Analysis API: Removing a contract statement via PsiElement.delete() does not trigger an out-of-block modificationKT-63694 K1/K2 IDE. “RuntimeException: Broken stub format, most likely version of kotlin.FILE (kotlin.FILE) was not updated after serialization changes” exception on incorrect class nameKT-63660 K2: expect-actual gutter icons must be shown when declarations are matched but incompatibleKT-63560 Analysis API: Modifiable PSI tests cannot rely on the cached application environment to allow write accessKT-62980 Implement KtFirSimpleNameReference#getImportAliasKT-63130 Analysis API: No receiver found for broken code during commit documentKT-62705 K2: “lazyResolveToPhase(IMPORTS) cannot be called...” from light classesKT-60170 K2 IDE: CCE from KtFirCallResolver on invalid code with wrong implicit invokeKT-61783 K2: Analyze ‘KtCodeFragment’ in a separate sessionKT-62010 K2: IDE K2: “ConeClassLikeTypeImpl is not resolved to symbol for on-error type”KT-62957 Analysis API: NullPointerException on call resolution when builtins are not availableKT-61252 K2: IDE K2: “By now the annotations argument mapping should have been resolved”KT-62935 Analysis API: kotlin.Cloneable should not be available in Kotlin/Native sourcesKT-62910 Analysis API: create AbstractFirPsiNativeDiagnosticsTest for LL FIRKT-63096 K2: Analysis API: KotlinAnnotationsResolver for IDE is created with incorrect scopeKT-62310 K2 IDE. False positives errors with external annotationsKT-63282 K2 Script: annotation arguments phase should resolve propagated annotationsKT-62397 K2 IDE. FP Error in the editor on RequiresOptIn annotation from the lib despite the warning levelKT-63223 Analysis API: reference to declarations with kotlin* package are not resolvedKT-62626 IllegalStateException: Cannot build symbol for class org.jetbrains.kotlin.psi.KtScriptInitializerKT-62693 K2: IDE K2: “PSI should present for declaration built by Kotlin code”KT-62674 K2: “Scope for type ConeClassLikeTypeImpl” is null from transitive dependenciesKT-61889 Analysis API: Migrate KtFirReferenceShortener to ContextCollector instead of FirResolveContextCollectorKT-62772 Analysis API: No ‘org.jetbrains.kotlin.fir.java.FirSyntheticPropertiesStorage’(31) in array owner: LLFirSourcesSession when analysing builtins in a context of common codeKT-60319 K2 IDE: “Stability for initialized variable always should be computable”KT-62859 K2 IDE: “Evaluate expression” throws exception when calling “Any?.toString()”KT-63058 K2 IDE: Code completion unexpectedly imports static/companion object methodKT-62588 getExpectedType should not calculate type of the expressionKT-61990 K2: Unexpected returnTypeRef for FirSyntheticPropertyKT-62625 K2: ‘FirLazyExpression should be calculated before accessing’ for unresolved super typeKT-62691 K2: optimize getFirForNonKtFileElement for references inside ‘where’KT-62834 K2: missing file node level in control flow builderKT-62768 Analysis API: No ‘org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter’(44) in array owner: LLFirSourcesSession exception on analysing common codeKT-62874 K2: FirLazyExpression should be calculated before accessingKT-62407 Analysis API: resolve [this] in KDoc to extension receiverKT-61204 K2: “FirLazyExpression should be calculated before accessing in ktor HttpBinApplication”KT-61901 Analysis API: Declared member scopes for Java classes are missing static membersKT-61800 Analysis API: Provide separate declared member scopes for non-static and static callablesKT-61255 Analysis API: Get rid of valueOf, values and entries from a declared member scopeKT-62466 Expected type for functional expression should include inferred typesKT-61203 IDE K2: “Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirRegularClassImpl(Source) but FirArgumentListImpl found”KT-61791 Analysis API: Implement combined getPackage for combined Kotlin symbol providersKT-62437 K2 IDE. Resolution does not work inside lambda expression in constructor argument in supertypesKT-62244 K2: Analysis API Standalone: Resolving klib dependencies from binary roots terminates applicationKT-62897 K2 IDE. Unresolved declarations from libraries which are doubled in intellij project librariesKT-61615 K2: No ‘org.jetbrains.kotlin.fir.analysis.js.checkers.FirJsModuleKind’ in array owner: LLFirSourcesSessionKT-59334 K2: LLFirImplicitTypesLazyResolver problemsKT-62038 K2: Nested classes are missing in symbol light class structure tests for librariesKT-61788 Analysis API: Symbol for FirAnonymousInitializer cannot be nullKT-62139 Analysis API: KtFe10AnalysisSession.createContextDependentCopy does not need validity checkKT-62090 Analysis API: introduce an API to get a substitution formed by class inheritanceKT-62268 K2 IDE. No autocompletion and IllegalStateException for PairKT-60325 K2 IDE. “IllegalArgumentException: source must not be null” on throw usage attemptKT-61431 K2: KtPropertyAccessorSymbolPointer pointer already disposed for $$result script propertyKT-58490 K2: LLFirTypeLazyResolver problemsKT-58494 K2: LLFirAnnotationArgumentsLazyResolver problemsKT-58492 K2: LLFirBodyLazyResolver problemsKT-58769 K2: LL FIR: implement platform-dependent session factoriesKT-60343 K2 IDE. IllegalArgumentException on passing incorrect type parameter to functionKT-61842 K2: reduce number of “in-block modification” eventsKT-62012 K2: “KtReadActionConfinementLifetimeToken is inaccessible: Called outside analyse method”KT-61371 K2: Analysis API standalone: register compiler symbol provider for libraries in standalone modeKT-60611 K2: reduce number of “in-block modification” eventsKT-61425 Analysis API: Provide a way to get a declared member scope for an enum entry's initializing anonymous objectKT-61405 Analysis API: An enum entry should not be a KtSymbolWithMembersKT-55504 AA: remove dependency on :compiler:cli from standalone AAKT-60904 K2: IDE K2: “For DESTRUCTURING_DECLARATION_ENTRY with text _, one of element types expected, but FirValueParameterSymbol found”KT-61260 K2 Scripts: Containing function should be not null for KtParameterKT-61568 FIR Analysis API: collectCallCandidates gives presence to the top level functions in the presence of more suitable overridesKT-60610 K2 IDE: move “out of block” processing logic into LL FIRKT-61597 Analysis API: KotlinIllegalStateExceptionWithAttachments: expected as maximum one expect for the actual on errorneous code with multiple expectsKT-59793 K2: class org.jetbrains.kotlin.fir.declarations.impl.FirErrorImportImpl cannot be cast to class org.jetbrains.kotlin.fir.declarations.FirResolvedImportKT-61599 K2: ContextCollector: Support smart cast collectionKT-61689 Analysis API: ContextCollector provides incorrect context in scriptsKT-61683 Analysis API: resolve ambiguities in kotlin projectKT-61245 Analysis API: ContextCollector provides incorrect context for supertype constructor callsKT-60384 K2: Opening @JvmName source in IDEA: NPE at PsiRawFirBuilder$Visitor.toFirConstructor()KT-60918 K2 IDE: “FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtDestructuringDeclarationEntry, fir is null”KT-61013 K2 Scripts: LLFirReturnTypeCalculatorWithJump: No designation of local declarationKT-59517 K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistentKT-61331 K2: add cache restoring in case of existing contextKT-61408 K2: IDE K2: “Inconsistency in the cache. Someone without context put a null value in the cache”
Analysis. Light Classes
Performance Improvements
KT-63486 SLC: a lot of RAM is allocated in org.jetbrains.kotlin.asJava.LightClassUtil.isMangled
Fixes
KT-66692 SLC: findAttributeValue for attribute w/ default value in Java returns nullKT-61734 SLC: wildcard suppression not honoredKT-65112 Symbol Light Classes don't support annotations on type parametersKT-65843 K2: Light method returns kotlin.Unit type for TestResult return typeKT-65653 SLC: wrong binary resolution to function with value classKT-65393 SLC: missing deprecated-hidden propertyKT-64772 SLC: presence of source PSI for compiler-generated declarationKT-65425 K2 IDE: Seeing a reference to the class generated by compiler plugin exposed from Java code caused NPE from light classesKT-64937 SLC: internal setters are not mangledKT-63949 K2 IDE. Analyze hang on @Autowired constructor analysisKT-63087 K2 IDE: in .java source reference to JvmName names on unsigned type / value class are unresolvedKT-64605 K2 IDE: usage of @Repeatable annotation in Java: false positive “Duplicate annotation”KT-64795 SLC: distinguish last v.s. non-last vararg value parameter type during binary resolutionKT-61605 K2 IDE: Light elements do not obey platform contractsKT-57536 SLC: no need to populate members with expect modifierKT-64320 Decouple kotlin psi from java PSIKT-64282 Decouple KotlinIconProviderService from java PSIKT-63552 Symbol Light Classes don't support arrayOf and similar without parameters in property initializers and default parameter values
Apple Ecosystem
KT-64096 Diagnostic when embedAndSign used for framework with cocoapods-dependenciesKT-63821 Copy framework to BUILT_PRODUCTS_DIR in the embedAndSign taskKT-67892 KotlinNativeLink task instantiates with a fixed list of apiFilesKT-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 staticKT-62373 “Xcode higher than tested” diagnosticKT-63212 podInstall task fails without a proper diagnostic when xcodeproj gem is outdated
Backend. Native. Debug
KT-65553 K2: Native: kt42208WithPassingLambdaToAnotherFunction test fails with K2KT-57365 [Native] Incorrect debug info on inline function call site
Backend. Wasm
New Features
KT-65009 Generate TypeScript definitions for the @JsExport declarations in K/WasmKT-58088 [PL] Support & enable partial linkage for WasmKT-66327 Include information about particular Wasm target into KLib manifest
Fixes
KT-66465 WASM support doesn't appear to be able to see some common declarationsKT-66905 K/Wasm: support new version of exception handling proposalKT-66515 Wasm: “call param types must match” during the buildKT-67435 K/Wasm: import.meta.url transforming into absolute local path in webpackKT-65777 Implement named export for Kotlin/WasmKT-65660 [WasmJs] Support catching JS exceptionsKT-65824 Wasm: Allow unsigned primitives to be used inside functions annotated with @JsExportKT-66103 Wasm: companion object is not initialized in test initializers1.ktKT-66471 Null method reference with Kotlin/Wasm on 2.0.0-Beta4KT-65210 K/Wasm ::class operator produces Number KClass for Short expressionKT-66065 [Wasm] Make specialisations for closured primitive valuesKT-64890 K/Wasm compiler crash with external class and KodeinKT-66104 Wasm: compiler crash: NoSuchElementException: Sequence contains no element matching the predicateKT-65778 Create the same TypeScript tests infrastructure for Kotlin/Wasm that we have now for Kotlin/JSKT-65411 Kotlin/Wasm: Boolean boxed instances are not the sameKT-65713 Kotlin/Wasm generates a wrapper that cannot run in DenoKT-63939 Kotlin/Wasm Support lazy associated object initialisationKT-61888 [Kotlin/wasm] in kotlin.test support for @AfterTest for async testsKT-64803 K/Wasm: non-capturing lambdas are not singleton unlike same lambdas in jvmKT-64449 K2: Implement K1WasmWasiCodegenBoxTestGenerated for K2KT-64829 K/Wasm: division remainder has a wrong signKT-58852 WASM: two methods with different varargs: Class korlibs.template.dynamic.DynamicShape has 2 methods with the same signature [register(kotlin.Array)KT-61263 K/Wasm: add a way to turn on k2 in wasm examples using ComposeKT-62863 Execution failed for task ‘:kotlinx-serialization-properties:wasmJsD8Test’ in serialization in the K2 QGKT-62657 K/Wasm: switch to json repots for Kotlin Wasm BenchmarksKT-62147 [Kotlin/Wasm] Nothing typed when expression cause a backend errorKT-61958 Update SpiderMonkey and return its usage in box tests when they switch to the final opcodes for GC and FTR proposalsKT-60828 K/Wasm: return br_on_cast_fail usagesKT-59084 WASM: “RuntimeError: illegal cast” caused by inline class and JsAnyKT-60700 [WASM] test FirWasmCodegenBoxTestGenerated.testSuspendUnitConversion failed after KT-60259
Compiler
New Features
KT-24664 No smartcast on stable property if receiver had non-null assertionKT-45375 Generate all Kotlin lambdas via invokedynamic + LambdaMetafactory by defaultKT-23915 Add smart cast to non-nullable type after elvis operatorKT-61077 Support provideDelegate inference from var property typeKT-59688 K2: consider removing smartcasts only from the only visibile property with specific name, not from all of themKT-7389 Intersection type for type parameter with multiple upper bounds in star projectionKT-63477 Consider supporting builder-style type inference from Unit coercion of last statements in lambdasKT-61907 K2: builder inference works with assignments to member propertiesKT-61909 K2: builder inference infers correct types from assignments to extension propertiesKT-59551 K2: builder inference works with anonymous functions if builder parameter has a receiver with a postponed type variableKT-65443 [K/N] Implement header cachesKT-4113 Smart casts for properties to not-null functional types at invoke callsKT-65681 K2: Improve error message of UPPER_BOUND_VIOLATED when upper bound is a captured type or other non-denotable typeKT-32754 Choose existing extensions over additional built-ins members from JDK except overridesKT-57800 Support synthetic properties on super receiverKT-64350 K2: deprecate using typealias as a callable qualifier in importsKT-26565 Choose existing extensions over additional built-ins members from JDKKT-65478 JVM: Change inlined variable naming formatKT-64702 Upper bound of type parameter is ignored when capturing of in-projection appears in out positionKT-60274 K2: builder inference works through a delegated local variable inside builder argumentKT-65859 Calls refinement extension pointKT-15220 Reuse resolution results of common code for platform modules in multiplatform projectsKT-60476 K2: False positive NO_VALUE_FOR_PARAMETER in platform code for value class with default parameter in common declarationKT-65153 K/N: extract liveness analysis to a separate phaseKT-59098 Support -Xjdk-release=1.6/1.7 with -jvm-target 1.8KT-63670 Implement platform specific declaration clash diagnostics across all backendsKT-62547 Introduce a language feature flag for smartcasts based on “memory” variablesKT-60820 K1: Empty vararg value is inserted in serialized annotation call with expect default vararg valueKT-58172 Forbid expect class A actual constructorKT-54443 Smart cast to non-null after safe-call in requireKT-25747 DFA variables: propagate smart cast results from local variablesKT-22997 Smart-cast should merge is-check for non-nullable type and a null check to a nullable typeKT-22996 Smart casts should observe nullability after is-check with a nullable subject typeKT-22004 Allow to resolve CONFLICTING_OVERLOADS with Deprecated(HIDDEN)KT-61955 Support more wider actual member visibility, if the expect member is effectively finalKT-59504 K2 compiler does not require resolved ‘componentX’ functions for the placeholder (‘_’) variables in the destructuring declarationsKT-62239 Allow enum entries without parentheses uniformlyKT-11712 Smart cast is not applied for invisible setter
Performance Improvements
KT-47545 NI: Slow type inference involving large when-expression (ConstraintInjector.processConstraints)KT-62714 Do not add nullability annotations to the methods of inner classes in enum entriesKT-62903 Unoptimzied when compilationKT-67388 FP intellij: performance degradation in build 611KT-67507 K2: Slow compilation times when a class has a lot of possibly conflicting declarationsKT-65005 K2: Investigate testCommonSuperTypeContravariant performanceKT-65996 Compiler enters endless loopKT-66341 K2: Don't build IdSignatures in FIR2IR with IR f/o builderKT-66172 K2: Improve memory consumption of KtPsiSourceElementKT-50860 Combination of array set convention and plusAssign works exponentiallyKT-62798 ‘in’ range checks are not intrinsified in kotlin-stdlibKT-65579 K2: performance regression in FP SpaceKT-61635 K2: getConstructorKeyword call in PsiRawFirBuilder.toFirConstructor forces AST loadKT-62619 FIR: Checker performance regression due to MISSING_DEPENDENCY checkersKT-62044 Do not add nullability annotations to the methods of anonymous classKT-62706 Optimize KtSourceElement.findChild()KT-62513 Do not add nullability annotations to the methods of local classesKT-61991 K2: avoid redundant full body resolution for properties during implicit type phaseKT-61604 [K/N] Bitcode dependency linking is slow for large compilationsKT-61121 [K/N] Kotlin Native compiler performance is slow when generating large frameworksKT-57616 K2: Consider optimizing reversed versions of persistent lists in FirTowerDataContext
Fixes
KT-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-64615 Inconsistent error messages for platform type nullability assertionsKT-65062 K2: build kotlinx.collections.immutable and pass to CIKT-68164 Smart cast fails for KT-49404KT-56545 Fix incorrect functions mangling in JVM backend in case of accidental clashing overload in a Java subclassKT-49404 Fix type unsoundness for contravariant captured type based on Java classKT-64598 K2: build Arrow with k2 user projectKT-61039 False positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in K1 when expect actual super types scopes don't matchKT-56408 Inconsistent rules of CFA in class initialization block between K1 and K2KT-63580 “AssertionError: access of const val: GET_FIELD” caused by const value and variable with delegationKT-67993 K2: PCLA Inference throws exception with local objectsKT-61768 Wrong bytecode index in LineNumberTable when there is an incremental operationKT-63567 “NoSuchMethodError” on getting value of lazily initialized property by companion's const valueKT-56078 K2: build kotlinx.coroutinesKT-67609 K2: False negative INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERRORKT-57750 Report ambiguity error when resolving types and having the same-named classes star importedKT-65603 K2: No approximation is done on public, but effectively private propertyKT-59932 K2: Disappeared AMBIGUOUS_ANONYMOUS_TYPE_INFERREDKT-59906 K2: Disappeared CAPTURED_VAL_INITIALIZATIONKT-53886 NoSuchMethodError exception in Kotlin/Native compilerKT-57678 K2: Inconsistency in how K2 analyzes unresolved code for loops and changing closuresKT-57871 K1/K2 inconsistency on if-conditional without else-branch in parenthesisKT-56384 K2: build IntelliJ monorepo master branchKT-49191 Leaked integer literals from lambda with flexible return typeKT-65812 K2: “OutOfMemoryError: Java heap space” in kotlin.utils.SmartList.addKT-67224 K2/Native: Member overrides different ‘@Throws’ filter from separate moduleKT-65623 K2: Unresolved reference in connection with castsKT-64136 K2: NSME with Anvil compiler pluginKT-51241 Provide a error when override method has different set of context receiversKT-52920 Confusing “Multiple arguments applicable for context receiver” error messageKT-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-61129 K2: Implement error suppression warningKT-67367 K2: Incorrect resolution to top-level function with less specific signature in presence of SAM constructor on the same tower levelKT-50179 Fix DUPLICATE_LABEL_IN_WHEN warning with new rules of complex boolean constantsKT-45334 Prohibit referencing constructors of sealed classes by its inner membersKT-59943 K2: Disappeared OPERATOR_MODIFIER_REQUIREDKT-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-66527 K2: type mismatch on override for typeKT-59897 K2: Disappeared PACKAGE_OR_CLASSIFIER_REDECLARATIONKT-50020 K2: False-negative USAGE_IS_NOT_INLINEABLE when lambda in receiver positionKT-44557 Implement main function detection to FIRKT-67810 K2: public-API inline function cannot access non-public-API annotation enumKT-66447 Implement KT-59138 under a language featureKT-54862 Anonymous type can be exposed from private inline function from type argumentKT-37592 Property invoke of a functional type with receiver is preferred over extension function invokeKT-51194 False negative CONFLICTING_INHERITED_MEMBERS when dependency class contained in two different versions of the same dependencyKT-67221 K2: “new inference error [NewConstraintError at Incorporate TypeVariable” for captured typeKT-66701 K2: Java interface method override via Kotlin class rejectedKT-60604 K2: introduced NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, @PublishedApi needed for constants in annotationsKT-64309 Generate a variable mapping for continuation parameter in suspend methods just from the startKT-65438 K2: Introduce WEAKLY_HIDDEN concept to built-in-JDK content mappingKT-65235 JDK 21 might lead to change in overloads resolutionKT-66768 K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast callKT-67106 Platforms libs-dependant autotests for ObjC checkersKT-65440 K2: Mark all potential implementations of List.getFirst()/getLast() as deprecated independently of JDKKT-65594 K2: Type inference fails on NullMarked object with star typeKT-62849 Unoptimised bytecode for Java synthetic property referencesKT-60174 JVM IR inline: accidental reification in various casesKT-57609 K2: Stop relying on the presence of @UnsafeVariance using for contravariant parametersKT-54316 Out-of-call reference to companion object's member has invalid signatureKT-66976 Some value class diagnostics are missedKT-57426 Incorrect error message on inapplicable smartcast from alien propertyKT-55111 OptIn: forbid constructor calls with default arguments under markerKT-49856 Incorrect smartcast on var assigned in try-catch blockKT-41237 ReturnsImplies contract for receiver of member function does not work (no smartcast)KT-37878 No Smart cast for class literal reference of nullable generic typeKT-35846 Smart cast with unchecked cast leads to unresolved call that was resolved before (both old and new inference)KT-30867 Unsound smartcast if smartcast source and break is placed in for-in header as function argumentsKT-30267 Inconsistent smart casts in while (true)KT-33917 Prohibit to expose anonymous types from private inline functionsKT-28889 Smart cast does not work with boolean and infix functionKT-54790 False positive NO_ELSE_IN_WHEN when all interfaces are sealedKT-54920 K2: when with a single branch stops being exhaustive the second time it's doneKT-53364 False positive UNUSED_VARIABLE warning for variable that is used across multiple blocksKT-43234 False positive INVALID_IF_AS_EXPRESSION caused by if without else inside else inside synchronized()KT-38490 False negative INVALID_IF_AS_EXPRESSION with unreachable code and coercion to UnitKT-35510 No INVALID_IF_AS_EXPRESSION (“‘if’ must have both main and ‘else’ branches if used as an expression”) diagnostic for if-expression with only one branch and Nothing type conditionKT-34016 Contracts - variable cannot be initialized before declarationKT-33829 False positive SENSELESS_COMPARISON with assignment in catch blockKT-30717 False positive UNUSED_VARIABLE with local var used in inline lambda block with loop, return and other lambdaKT-28232 RETURN_NOT_ALLOWED in inline lambda argument of ‘[... ]’ operator conventionKT-26116 No error when class member val is referenced in inline function before it is assigned later onKT-25311 Calls on error type values lead to false-positive unreachable codeKT-24372 Misleading warning on unused setter parameter in some casesKT-23680 False positive UNREACHABLE_CODE on throw with a return inside finally clauseKT-23502 When exhaustiveness is not checked for unreachable code, resulting in JVM back-end errorKT-22621 “throw throw Exception()”: False negative UNREACHABLE_CODE warningKT-22317 No INITIALIZATION_BEFORE_DECLARATION without primary constructorKT-67307 K2: “Cannot find cached type parameter by FIR symbol” in JpaRepository.saveAllKT-67185 K2: Incorrect coercion-to-Unit leading to CCE at runtimeKT-64891 K2: consider supporting/forbidding foo.(bar)() syntaxKT-59480 K2: build moko-resourcesKT-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-63524 K2: “Not enough information to infer type argument”KT-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-61787 K2 doesn't report warnings for some Gradle tasksKT-62550 K2: Different JVM signature of lambda with Unit return typeKT-65120 K2 Consider turn into platform checkers ones which checks for objCKT-60271 K2: origins are not set on compare operatorsKT-28695 Compiler does not detect uninitialized property in lambdaKT-67593 K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERSKT-67484 K2: FIR2IR generates incorrect access to f/o of lateinit internal varKT-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-22379 Condition of while-loop with break can produce unsound smartcastKT-67021 K2: Cannot find cached type parameter by FIR symbol: E of the owner: FirRegularClassSymbol FunctionKT-67014 K1/K2 handle when expression as annotation target differentlyKT-67254 K1/K2 both allow annotations on loops, assignments, array setsKT-66960 K2. KMP. False negative 'when' expression must be exhaustive without sealed class inheritor from common source-setKT-65578 K2: implement a deprecation warning for KT-57014 (wrong nullability returned from JDK SAM constructor lambda)KT-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-66196 Convert INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERROR to warningKT-66793 K2: “assigning single elements to varargs in named form is prohibited.” caused by varargs supplied from java with elvis operatorKT-59872 K2: Disappeared TYPE_MISMATCHKT-67192 K2: Disappeared TYPE_MISMATCH [3]KT-63319 K1/K2: inconsistent behavior around NullMarked and type parameter based typesKT-59882 K2: Disappeared CANNOT_INFER_PARAMETER_TYPEKT-67191 K2: Disappeared TYPE_MISMATCH [4]KT-53752 Missed subtyping check for an intersection typeKT-52628 Deprecate SAM constructor usages which require OptIn without annotationKT-54066 Deprecate upper bound violation in typealias constructorsKT-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 for for statementKT-67374 K2: Object is not smartcasted to type parameter typeKT-67264 K2: “argument type mismatch” with suspend lambda and java wildcardKT-63257 K2: FIR2IR inserts incorrect implicit cast for smartcasted variableKT-66902 K2: “Named arguments are prohibited for non-Kotlin functions” with Java interopKT-67311 K2: “Argument type mismatch” caused by lambda type when using named argumentsKT-57011 Make real type of a destructuring variable consistent with explicit type when specifiedKT-62043 K2: Fix FirCompileKotlinAgainstCustomBinariesTest.testRawTypesKT-66256 K2: compiler FIR2IR crash on SAM-conversion to value parameter of in-projected typeKT-67124 “Unstable inference behaviour with multiple generic lambdas” compilation errorKT-59791 K2: Implement partially constrained lambda analysisKT-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-67233 False negative UNSAFE_CALL with type check after null coalescing with ‘OR’KT-52802 Report ambiguity resolving between property/field and enum entryKT-64920 Json.encodeToString yields different results depending on whether typealias is usedKT-58260 Make invoke convention work consistently with expected desugaringKT-67314 PCLA works inconsistently with smart-cast related CS forksKT-66797 K2 JS: Primary constructor property annotation with target VALUE_PARAMETER is put on property instead of parameterKT-55179 False negative PRIVATE_CLASS_MEMBER_FROM_INLINE on calling private class companion object member from internal inline functionKT-54663 Projected types don't take into account in-place not null typesKT-58191 K2: capturing closures successors that are already resolved (thanks to backward edges) must be taken into account for allowing smart castsKT-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-57031 operator assignment, increment/decrement should be considered as variable reassigning in terms of DFA. green in K1 -> red in K2 for unsound codeKT-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-67318 Compiler fails with OutOfMemoryError on combination of PCLA+smart castKT-66956 K2: false negative CONST_VAL_WITH_NON_CONST_INITIALIZER for inc/dec operatorsKT-64233 K2: K1/K2: ensure JVM ABI consistency for quality gates projectsKT-63535 K2: Apply DFA implications for nullable Nothing to both sidesKT-63413 K2 / kotlinx-atomicfu: “IllegalStateException: Expected some types”KT-62931 K2: extra class files for @OptionalExpectation marked annotationsKT-34307 Confusing error message on lambda return type mismatchKT-62151 K2. overload resolution ambiguity for calls of Java record compact constructorsKT-60732 K2 Scripting: TeamCity DSL testKT-59467 K2: build toolbox-enterpriseKT-67205 K2: can't deserialize annotation with local class as argumentKT-52175 K2: WRONG_ANNOTATION_TARGET for annotation that used inside ifKT-65449 K2: build KAPT user project and pass it to CIKT-61384 IrFakeOverrideBuilder incorrectly checks visibility for friend modulesKT-67142 K2: IrFakeOverrideBuilder: AbstractMethodError on raw type argument in a Java superclassKT-65105 K2 / Native: Member overrides different ‘@Throws’ filterKT-62570 IncompatibleClassChangeError due to overriding final methodKT-57812 K2: support serialization of type annotation's argumentsKT-67190 K2: Disappeared TYPE_MISMATCH [2]KT-56683 K2: No control flow analysis for top-level propertiesKT-67188 K2: Disappeared TYPE_MISMATCH [6]KT-62063 K2: drop pre-release flag in 2.0-RCKT-67187 K2: Disappeared TYPE_MISMATCH [1]KT-66909 K2: Implement a diagnostic for returning null from a lambda with expected return type Unit!KT-66534 False positive ASSIGNMENT_TYPE_MISMATCH in lambdas with expected return type Unit!KT-63381 IrFakeOverrideBuilder: PublishedApi affects overridability of internal membersKT-63836 K2: No deprecation error message in common metadata compilationKT-57618 K2: complex deprecation messages are not printed in the errorKT-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 in convertToIr.ktKT-67090 K2: Exception from metadata compilation when compiling class with annotations from dependenciesKT-59479 K2: build KorGEKT-64502 K2: Internal error on calling function before declarationKT-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-65012 IR Evaluator: NoSuchFieldException when evaluating protected/private fields of superclassesKT-66953 K2: toByte() call on Char leads to ClassCastException for klib backendsKT-60096 K2: Introduced API_NOT_AVAILABLEKT-59484 K2: build trustwallet sampleKT-64151 K2: consider implementing FIR-level constant evaluationKT-65787 K2: “KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType” caused by passing lambda expression with multiple labels to functionKT-53629 K2: forbid multiple labels per statementKT-65255 K2 / KJS: “IllegalArgumentException: Candidate is not successful, but system has no contradiction”KT-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-66717 Incorrect diagnostics around intersection property overridesKT-63540 Restrict the CONFLICTING_OVERLOADS + DeprecatedLevel.HIDDEN ignore to final callablesKT-56587 There are no warnings in some cases when Enum.entries is shadowedKT-65111 K2: Java star imports don't work in KJK interdependenciesKT-63709 K2: Argument smartcasting impacting receiver and call resolution for implicit invokeKT-63530 K2: Disable passing data flow info from in-place lambdasKT-65377 K2: “Argument type mismatch” caused by approximated captured type argument of generic typeKT-59400 K2: Missing CANNOT_INFER_VISIBILITYKT-62305 K2: Missing Fir metadata serialization support for scriptsKT-64534 K2: org.jetbrains.kotlin.util.FileAnalysisException: Somewhere in fileKT-57555 [LC] Forbid deferred initialization of open properties with backing fieldKT-65776 [LC] K2 breaks false && ... and false || ...KT-64641 K2: Change in inference of supertype of function types with receiverKT-65649 K2: IR has incorrect origins for some inplace updating operatorsKT-64295 Forbid recursive resolve in case of potential ambiguity on upper tower levelKT-62866 K2: Change qualifier resolution behavior when companion object is preferred against static scopeKT-55446 Change impact of private-to-this visibility to resolutionKT-64255 Forbid accessing internal setter from a derived class in another moduleKT-64966 Forbid generic delegating constructor calls with wrong type for generic parameterKT-63389 K2: WRONG_ANNOTATION_TARGET is reported on incompatible annotations of a type wrapped into ()?KT-66748 K2: False-positive AMBIGUOUS_SUPER in toStringKT-67013 K2: ClassCastException: class FirConstructorSymbol cannot be cast to class FirNamedFunctionSymbolKT-64872 K2: do-while condition able to access uninitialized variableKT-66350 K2: “IllegalStateException: Unsupported compile-time value STRING_CONCATENATION” when evaluating an annotation argument stringKT-61798 K2 incorrectly calculates modality of property accessorsKT-65035 IrFakeOverrideBuilder: AbstractMethodError on inheritance from Java subclass of CharSequence with inherited implementationsKT-61579 K2: Inconsistent reporting UNINITIALIZED_VARIABLE for top-level propertiesKT-66730 K2: False positive RETURN_TYPE_MISMATCH in return statement in SAM constructorKT-66570 Generic wildcard upper bound inference errorKT-65272 K2: invoke operator applies “restricted suspending call” error differently than K1KT-66148 K2. Sources of receivers updated twice because of PCLAKT-62525 K2: IllegalStateException: Can't find KotlinType in IrErrorType: IrErrorType(null)KT-64266 K2: don't report MISSING_DEPENDENCY_CLASS on lambda parameter for non-generic typesKT-65300 K2: this-expressions in initializers and local declarations don't introduce type information to either BI or PCLAKT-66463 K2: false positive ACCIDENTAL_OVERRIDE_CLASH_BY_JVM_SIGNATUREKT-62356 Prohibit using property+invoke for iteratorKT-63631 K2: constant value UByte.MAX_VALUE is incorrectly deserialized from metadataKT-65386 K2: Different signature of invoke for Unit lambdaKT-60574 K2: generated IR for suspendCoroutineUninterceptedOrReturn is different from K1 (K2 uses Any? instead of Unit)KT-66512 K2: Incorrect diagnostic in lambda whose expected type is a type alias to UnitKT-66279 K2: False positive INITIALIZER_TYPE_MISMATCH with return Unit in a lambda with the expected type () -> UnitKT-66277 K2: False negative RETURN_TYPE_MISMATCH with empty return in lambda assigned to a propertyKT-66654 K2 FIR resolution: Mismatch between actual type and expected type for a value parameter when the parameter type is a function type with special function kindKT-66638 Cannot access properties of a generic type with wildcardsKT-66690 K2: don't report MISSING_DEPENDENCY_CLASS on expression without errors for generic type argumentsKT-66767 K2: Destructuring declaration inside initializer failureKT-63695 JVM: Don't use plugin extensions when compiling code fragmentKT-65727 K2: add proper package for properties generated from destructuring declarationsKT-64854 K2: Trying to access private field on runtime with contractsKT-65388 IrFakeOverrideBuilder - custom annotation is available in fake getter/setterKT-66595 K2: compiler FIR checking crash on destructuring declarations calling hidden componentN declarationsKT-62129 K2: Verification error on calling an extension from an env with 2+ context receiversKT-41607 NI: UNSAFE_CALL caused by try catch block assigning to a nullable variableKT-63932 K2/Native codegen test failures around builder inferenceKT-66352 K2: difference between LL FIR and FIR for componentN functionsKT-66686 K2 Script: Unresolved reference of script-specific entities on out-of-order resolveKT-65523 K2: add proper package for result$$ propertyKT-66699 Restore HostManager ABIKT-60533 Inliner incorrectly captures non-null value as null in coroutinesKT-57925 K2: Consider removing FirEmptyContractDescriptionKT-61893 K2: should not resolve to Java function with Kotlin hidden-level deprecationKT-59669 K2: Explore assignments in in-place lambdasKT-66271 Fir: Deserialize classFile, functionFile and propertyFile from KlibMetadataProtoBufKT-57957 K2: Symbol providers are frequently queried with error-named class IDsKT-66046 K2: false negative CANNOT_WEAKEN_ACCESS_PRIVILEGE on propertyKT-66677 K2: OVERRIDE_DEPRECATION isn't reported for WEAKLY_HIDDEN method toArray()KT-62793 K2: slightly different bytecode of suspend conversionsKT-57244 K2: slightly different naming scheme for suspend conversion adaptersKT-60256 K2: types are not substituted in suspend conversionKT-66673 K2/JS: FirJsInheritanceClassChecker doesn't expand type aliases to supertypesKT-66475 K2/KMP/Wasm: report WRONG_JS_INTEROP_TYPE from a platform checkerKT-66474 K2/KMP/JS: report EXTERNAL_TYPE_EXTENDS_NON_EXTERNAL_TYPE from a platform checkerKT-66473 K2/Wasm: FirWasmExternalInheritanceChecker doesn't expand type aliasesKT-64407 Implement WriteSignatureTestGenerated for K2KT-64438 K2: Port CodegenTestCase to K2KT-64404 Implement WriteFlagsTestGenerated for K2KT-66491 K2 / KJS: “Name contains illegal characters.” caused by backticks in importKT-66275 K2: false-positive “Java module does not depend on module” error on access to inherited member from twice-transitive dependency via class from transitive dependencyKT-65801 IrFakeOverrideBuilder - visibility is lost for setter in KJK hierarchyKT-65576 K2: Incorrect resolution of variable+invoke when the property type is not computedKT-58575 Private Kotlin property prevents use of Java get- and set-methods from Java-Kotlin-Java hierarchyKT-61282 K2: Incorrect overridden function for java.nio.CharBuffer.getKT-65464 K2: False positive UNRESOLVED_REFERENCE on extension property call defined in KJK hierarchyKT-59470 K2: build KaMPKitKT-60510 Smartcast to functional type does not work in when exprssionKT-59677 K2: Report diagnostics about missing receiver for delegated constructor call to inner classKT-65183 K2: Remove workaround for @OnlyInputTypes and captured types with recursive supertypes from inferenceKT-66120 IrFakeOverrideBuilder: wrong return type in intersection with 3 classesKT-65939 IrFakeOverrideBuilder - nullability annotation is lost in intersection without annotationKT-59473 K2: build firebase-kotlin-sdkKT-66356 K2: type mismatch error when generic type with inaccessible generic type as type argument is produced and consumed by declarations from dependenciesKT-65193 K2: “JAVA_TYPE_MISMATCH” caused by MutableListKT-66636 NoSuchMethodError: 'void org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl. in the FLysto K2 QGKT-63941 K2: “IllegalStateException: Unsupported compile-time value STRING_CONCATENATION” caused by class reference in string expression as annotation parameterKT-65704 K2: computeCommonSuperType of flexible type with recursive captured type argument produces giant multi-level-deep typeKT-65410 K2: ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED for ‘removeAt’ in KJK hierarchyKT-65184 K2: disappeared TYPE_MISMATCH for java collectionsKT-66392 K2: Exception in KJK hierarchy with implicit typesKT-66551 Revert temporary commits after KT-62063 and bootstrappingKT-65218 FIR LL and DiagnosticFE10 tests start to fail in case of adding any new declaration into stdlib commonMainKT-66552 K2: build of intellij crashes the compilerKT-63746 K2: JSpecify: If a class has a @Nullable type-parameter bound, Kotlin should still treat unbounded wildcards like platform typesKT-66504 K2: plusAssign operator call is resolved differently than function callKT-48515 JSpecify: If a class has a @Nullable type-parameter bound, Kotlin should still treat unbounded wildcards like platform typesKT-57588 K2/Native: False positive '“CONFLICTING_OVERLOADS”, “PARAMETER_NAME_CHANGED_ON_OVERRIDE” on overriding objc methodsKT-58892 K2: Parcelize doesn't work in common code when expect annotation is actualized with typealias to @ParcelizeKT-65882 K2: “KotlinNothingValueException” caused by unsafe cast and Nothing::classKT-66124 K2: Remove FirLambdaArgumentExpression and FirNamedArgumentExpression after resolutionKT-65959 K2: Incorrect warnings about inline function impactKT-64994 K2: @Composable lambda type is not resolved from other modulesKT-66048 K2: property becomes nullable in KJK hierarchy if base declaration has implicit return typeKT-47843 No error reported on assigning “continue” to a companion objectKT-47530 NI: Unexpected TYPE_MISMATCH when combining nested conditional and contravariant type argumentKT-49583 NI: NullPointerException on compiling anonymous function returning a method referenceKT-42782 NI: Smart casting for generic type doesn't work if the variable is already smart castKT-38031 FIR: Discrepancy in call resolution for qualifiers with old FEKT-65789 K1/K2: Resolve change in constructor/top-level function ambiguityKT-66150 K2: expects type argument in super qualifierKT-60971 Incorrect “cannot inline bytecode built with JVM target ...” on property setter if only getter is inlineKT-61514 K2: Build fake overrides using IR during Fir2IRKT-65584 K2: “Duplicate parameter name in a function type”KT-50008 JSpecify @Nullable annotation on type-parameter bound prevents type-variable usages from being platform typesKT-37000 IndexOutOfBoundsException from TypeResolver on typealias with cyclic referencesKT-56988 CFG, smart casts: red in K1 -> green in K2 for invalid codeKT-62118 FIR: “HashMap.entry” has invalid enhanced typeKT-64840 K2: Bare type are not allowed for TV based values during PCLAKT-65415 K2: Stdlib K2 build error: IrConstructorSymbolImpl is already boundKT-66449 Make DiagnosticSuppressor a project-level extensionKT-66411 FIR: Real source on fake block around assignment expression in the “when” branch affects resolve in K2 Analysis API and IDEKT-65249 K2: False positive modality is different for native compilationKT-65982 K2 Scripts cannot disambiguate declarations imported from default and explicit importsKT-65677 K2: Unable to resolve parent class from companion objectKT-47310 Change qualifier resolution behavior when companion property is preferred against enum entryKT-41034 K2: Change evaluation semantics for combination of safe calls and convention operatorsKT-63529 K2: Compiler does not detect tailrec call with nullable typeKT-66441 Remove symbol table from IR fake override builder in Fir2IrKT-64846 K2: false negative CONFLICTING_JVM_DECLARATIONS on inheritance from Java collection subclass with a conflicting overrideKT-62312 [K2/N] revert putting stdlib to the beginning of libraries list in the compilerKT-58203 K2: false-negative incompatible types error on is-check with unrelated typeKT-65722 K2: Property reference refers to non-existent functionsKT-65878 K2: “ClassCastException” when passing nun-suspend lambda to SAM constructor with named argumentKT-66379 K2: No extra message in UPPER_BOUND_VIOLATED for cases with CapturedTypeKT-59475 K2: build nowinandroidKT-65926 K2: add tests for all fixed-in-k2 / not-reproducible-in-k2 unresolved issuesKT-59481 K2: build aws-sdk-kotlin + smithy-kotlinKT-65022 K2: Compiler crashes when array literal is used in delegate expressionKT-62836 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-64727 K1: Closing bracket of object inside crossinline lambda or inside lambda in inline function is not hit on step-overKT-64726 K1: Cannot stop on closing bracket of crossinline lambda inside of another crossinline lambdaKT-64725 K1: Cannot stop on closing bracket of lambda of inline-only functionKT-66272 Could not load module with a combination of type parametersKT-66243 Could not load module in a builder inference with lambda with typed parameterKT-66229 Could not load module in a builder inference with Map.EntryKT-66313 K2: declaration-order-dependent false-positive “recursive problem in type checker” error on getX declaration with implicit return type that calls x declaration via intermediate declaration in getX's expression bodyKT-61041 K2: Consider getting rid of confusing shouldRunCompletion and shouldAvoidFullCompletion function in FirInferenceSessionKT-66267 K2: generic function‘s type parameter is erased if present as type argument in type of callable reference to member of generic function’s local classKT-61448 K2: Disappeared DEPRECATION in testWithModifiedMockJdkKT-60106 K2: Introduced REIFIED_TYPE_FORBIDDEN_SUBSTITUTIONKT-58279 K2. False-negative Smart cast to is impossible, because is a public API property declared in different module for Java static fieldKT-61626 K2: Module “com.soywiz.korlibs.kmem:kmem” has a reference to symbol korlibs.memory/Buffer|null[1]KT-57427 Fix inconsistencies in name manglers that use different declaration representationsKT-66258 K2: accessor-targeted @Suppress annotation is ignored on primary constructor propertyKT-29559 Smart Cast functionality doesn't behave in an expected way in all casesKT-60777 K2: missing INLINE_FROM_HIGHER_PLATFORMKT-66260 K2: false-positive “abstract function in non-abstract class” error on abstract member function of open interfaceKT-66067 K2: different overrides are created in a complex hierarchy with raw types and upper-bounded type parametersKT-65821 K2: [NONE_APPLICABLE] None of the following functions is applicable: [constructor(message: String?): Throwable, constructor(cause: Throwable?): Throwable, constructor(): Throwable, ...]KT-66268 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImplKT-63563 K2: False negative RETURN_TYPE_MISMATCH with empty returnKT-60797 K2: implement JAVA_MODULE_DOES_NOT_EXPORT_PACKAGEKT-28159 Smartcasts don't work with Nothing? values (Nothing? considered a null constant => an unstable value)KT-28262 Smartcasts for reference equality don't work if explicit true check is usedKT-66000 K2: inherited inline getter has not been inlinedKT-66158 K2: not nullable return type for upper-bounded kotlin type parameter in KJK hierarchyKT-57268 K2: extra methods remove and/or getOrDefault are generated for Map subclasses with JDK 1.6 in dependenciesKT-63577 K2: false-positive “wrong number of type arguments” error on callable reference to member of generic function's local classKT-62352 jspecify NonNull annotation seems not supportedKT-65636 PowerAssert: Negative contains operator not aligned correctly in K2KT-64271 K2: Wrong overriddenSymbols for toString of data classKT-62779 K2: Difference in fake override generationKT-61941 K2: FIR2IR incorrectly generates f/o structure for complex java/kotlin hierarchies with remapped jvm declarationsKT-60283 K2: fake override for java static method is not generatedKT-65095 K2: no bridge generated for getOrDefault when inheriting from Java Map implementationKT-57301 K2: getOrDefault and bridges are not generated for certain Map subclassesKT-50916 K2: store resolved type inside ConeStubType after builder inferenceKT-65857 K2: java.lang.IllegalArgumentException: Unknown visibility: unknownKT-66174 -Xjdk-release 6 and 7 have a misleading error messageKT-66175 Wrong supported options list for -jvm-target compiler optionKT-58814 Too eager subtype inference in when expressionKT-65408 K1: “There are still 2 unbound symbols after generation of IR module” caused by data object's copy function usageKT-65844 False Positive “This class can only be used as an annotation or as an argument to @OptIn” when passing as an arrayKT-58697 K2: Tests: Assert no dump files exist when dump directive isn't presentKT-63258 NPE with function reference from within lambda during initKT-60597 K1: IllegalArgumentException: fromIndex(0) > toIndex(-1) when wrapping receiver with backticksKT-33108 USELESS_CAST false positive for cast inside lambdaKT-58458 K1: “java.lang.NullPointerException” with ‘var equals’ or ‘val equals’ as argument in whenKT-58447 K1: “AssertionError: Recursion detected on input” with @ParameterName and extensionKT-41013 OVERLOAD_RESOLUTION_AMBIGUITY for functions takes lambda: can not resolve it, but only named lambda parameterKT-56032 [LC issue] Incorrect wrapping when passing java vararg method to inline functionKT-65588 K2: typealias of primitive type in vararg causes ABI incompatibilityKT-23873 Indexed access operator can cause false USELESS_CAST warningKT-31191 Contract not smartcasting for extension functions in if-statement with multiple conditionsKT-28725 ReenteringLazyValueComputationException during resolution & inferenceKT-35429 ReenteringLazyValueComputationException when accessing property with same nameKT-63826 K2: expect for expect crashes the compilerKT-25668 False-positive error on restricted suspending function call with callable referenceKT-18055 SMARTCAST_IMPOSSIBLE on mutable data class variable with a read-only propertyKT-15904 Improve error message when type of generic extension call is inferred from receiverKT-66186 K1 diagnostics miss some reporting messagesKT-65101 Generics behaving different when parenthesizedKT-63444 TYPE_MISMATCH caused by Inner class with nullable type and star projectionKT-62022 K1 False positive EXPOSED_FUNCTION_RETURN_TYPE on generics with anonymous object typesKT-58751 Definitely non-nullable type gets lost with star projectionKT-56624 “Unresolved reference” with import alias and enum constructor callKT-54726 K1: StackOverflowError on mutually recursive typealiasesKT-35134 False negative INCOMPATIBLE_TYPES, EQUALITY_NOT_APPLICABLE when comparing smartcast value to BooleanKT-20617 Qualified this@property does not work in extension properties with body expressionKT-10879 OVERLOAD_RESOLUTION_AMBIGUITY for synthetic property accessor with smartcasted receiverKT-26768 K1 IDE: False positive “Smart cast to ‘$CLASS$’ is impossible”, on local variable in run closureKT-63525 K2: “IllegalStateException: Fake override should have at least one overridden descriptor” caused by unreachable codeKT-65333 K2: UNRESOLVED_REFERENCE for java inner class in intersection scopeKT-61060 K2: Rewrite delegate inferenceKT-63712 Make it possible to add new stdlib API with SinceKotlin(2.0)KT-63741 K2: fix visibility inference with overridden + inherited memberKT-64488 K2: False positive DEPRECATED_ACCESS_TO_ENTRY_PROPERTY_FROM_ENUM with context receiversKT-62283 K2: build Dokka with K2 user project and pass it to CIKT-57585 K2/MPP: false-negative errors on expect/actual modifiers mismatchKT-66077 IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKindsKT-57044 K2 LL Tests: false-positive ‘Overload resolution ambiguity between candidates: [@Override() fun test(): Unit , fun test(): Unit]’KT-66020 K2: ISE “IrPropertySymbolImpl is unbound. Signature: null” on a property with getter with @JvmNameKT-62135 K2, KLIB: Classes are still sorted before serializing them to metadataKT-65866 [K/N] Fix java.lang.IllegalArgumentException: Unknown visibility: unknownKT-66005 K2: “Should not be here: class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedReifiedParameterReferenceImpl” on incorrect comparison of reified type parameterKT-65840 [K2] Initializer type mismatch: expected ‘Type’, actual ‘Type’KT-65002 K2: Incorrect suspend conversion if argument is an aliased functional typeKT-65984 K2 scripting: failure on processing SUPPRESS annotation in the last script statementKT-65680 K2: Class redeclaration leads to BackendException during IR fake override builderKT-66028 K2: Convert FirExpectActualDeclarationChecker to platform checkerKT-65592 K2: IrFakeOverrideBuilder: ISE “should not be called” on diamond hierarchy with explicit dependency on annotations.jarKT-65277 IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKindsKT-65983 K2 gradle scripting: “‘val’ cannot be reassigned” errorsKT-60452 K2 Scripting: implement overriding of the script paramsKT-65975 K2: Implicit receivers resolution order in K2 scriptingKT-60249 K2: No unit coercion generated for loops bodyKT-65937 K2: order of enum entries changedKT-65933 K2: Type missmatch in arrays in annotationsKT-65343 JVM IR: Source parameter is lost when copying with DeepCopyIrTreeWithSymbolsKT-65103 K2: IllegalArgumentException: IrErrorCallExpressionImpl(5388, 5392, “Unresolved reference: R?C|/cont|”) found but error code is not allowedKT-62788 K2: difference in annotation inheritance in overriddingsKT-65669 K2: ClassCastException class FirDeclarationStatusImpl cannot be cast to class FirResolvedDeclarationStatusKT-65493 IrFakeOverrideBuilder: difference in return type for intersection with raw typeKT-65207 IrFakeOverrideBuilder - nullable return type for intersection overrideKT-65972 Fix problems related to Unknown visibility in [FP] intellijKT-65246 K2: Overiding java method that takes vararg parameter causes WRONG_NULLABILITY_FOR_JAVA_OVERRIDE warningKT-59883 K2: Disappeared INVALID_IF_AS_EXPRESSIONKT-57300 K2: subclass of MutableCollection with primitive element type has methods with boxed typeKT-58476 Context receivers: “No mapping for symbol: VALUE_PARAMETER” with context-receiver inside suspended lambda calling another suspended functionKT-52213 Context receivers: “No mapping for symbol: VALUE_PARAMETER” caused by contextual suspending function type with receiverKT-13650 Right-hand side of a safe assignment is not always evaluated, which can fool smart-castsKT-61823 K2: Render list of declarations in diagnostic messages with linebreak as separatorKT-65302 IrFakeOverrideBuilder - missing @EnhancedNullabilityKT-65241 K2: [LT] Compiler crash on assignment expression with incorrect lvalueKT-60006 K2: Disappeared EXPRESSION_EXPECTEDKT-65817 K2: Check if callable reference vararg adaption can be affected by primitive type aliasesKT-62847 K2: Introduce FIR node for SAM conversionKT-65920 K2: no field for delegation is createdKT-65487 K2: Different fake overrides and false positive NOTHING_TO_OVERRIDE for intersection/override with Collection.removeKT-65460 Don't compare order of functions in IR dumpKT-64276 [K/N][K2] K2 behaviorial difference with inconsistent inheritance of ObjCNameKT-65572 [K/N][K2] INCOMPATIBLE_OBJC_NAME_OVERRIDE error message changed from K1KT-63420 Prevent weakening visibility in implicit overridesKT-64635 K2: “KotlinIllegalArgumentExceptionWithAttachments: Expected expression ‘FirAnonymousFunctionExpressionImpl’ to be resolved” when provideDelegate is extension of function with receiverKT-63879 K2: Redundant flag declaresDefaultValue for parameter of function inherited from delegateKT-56744 Prepare language committee ticket about DFA/Smart-cast related changes in K2KT-65790 K2: Move check for private-to-this visibility into checkerKT-65551 K2: Property redeclaration on native compilation leads to NotImplementedErrorKT-65770 K2: Diagnostic rendering of vararg Foo parameter produces vararg Array<Foo>KT-65555 K2: must override ‘spliterator’ because it inherits multiple implementations for itKT-59921 K2: Disappeared NULL_FOR_NONNULL_TYPEKT-65290 K2: No override for FUN DEFAULT_PROPERTY_ACCESSORKT-19446 False positive “Smart cast to ‘Foo’ is impossible” due to same variable names in different closuresKT-65337 K2: False positive UNRESOLVED_REFERENCE when lambda labeled by illegal label and operator-invokedKT-65448 K2: fake overrides are not generated for ‘containsAll’, ‘removeAll’, ‘retainAll’ if inherited from raw typeKT-65298 K2: not nullable return type and parameter for raw typesKT-63377 K2: conflict between type parameter and nested classKT-63286 K2: Top-level properties in scripts are missing initialization checksKT-59744 K2: false negative VAL_REASSIGNMENT in case of reassignment inside custom setterKT-58579 K2: false-positive new inference error on invoking a generic function on Java wildcard type bounded by raw-typed Java inner classKT-60258 Support java-kotlin interop for @SubclassOptInRequiredKT-60262 Support for inter-module interaction for @SubclassOptInRequiredKT-62878 K2: missing implicit coercion to unitKT-59715 K2: Check behaviour of property + operator in operator positionKT-63441 IrFakeOverrideBuilder: “accidental override” when implementing a Java function taking an array parameterKT-65706 K2: IrFakeOverrideBuilder: ISE “Fake override should have at least one overridden descriptor” on J-K-J-K hierarchy with interface delegationKT-61362 K2: Properties/fields are missing from system librariesKT-63344 K2: False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTEDKT-58845 K2: SAM checker can run incorrectly in presence of an expect supertypeKT-61843 K2: Missing TYPE_MISMATCH for nested array literalsKT-62752 expect-actual matcher/checker: return type must be “checking” incompatibilityKT-59887 K2: Disappeared ACTUAL_MISSINGKT-65604 K2: INAPPLICABLE_JVM_NAME: effective modalityKT-65637 Prepare documentation for PCLA implementationKT-65341 K2: “Cannot find cached type parameter by FIR symbol” caused by not-null assertion operator inside string in throwKT-49283 Support contribution type info from a nested builder inference callKT-64077 K2: Builder inference ignores constraints from nested builder inferenceKT-49160 Couldn't infer a type argument through several builder inference calls broken by a local classKT-63827 K2: Array += desugaring doesn't have originKT-65057 K2: Wrong type inferred in code with heavy use of genericsKT-63514 ISE “Inline class types should have the same representation: [I != I” during compilation on submitting UIntArray to varargKT-61088 K2: return types of non-last-expression calls to @PolymorphicSignature methods inside try-expressions don't resolve to void when requiredKT-62476 K2: Enable building fake overrides by ir on non-JVM targetsKT-59839 Prohibit header and impl in MPPKT-61310 K2: “Not enough information to infer type variable R” for transformLatestKT-63733 Builder-style type inference can‘t resolve to extension overloads when they’re more applicable than member onesKT-57707 K1: inconsistent TYPE_MISMATCH in builder inferenceKT-55057 Builder inference changes behaviour sporadically based on BI annotation on unrelated callKT-60663 Builder inference does not work inside a nested unrelated builder inference lambdaKT-53639 TYPE_MISMATCH: compiler can‘t infer the list’s type when using buildList {} builder or Collection#isNotEmptyKT-60291 K2: “IllegalStateException: Cannot serialize error type: ERROR CLASS: Cannot infer argument for type parameter T” during FIR serializationKT-65033 K2: Fir2LazyIr: Lazy type aliases not supportedKT-57709 Inconsistent extension function call resolution in builder inferenceKT-53740 Builder inference with multiple lambdas leads to unsound typeKT-60877 Builder inference from the null literal results in Nothing instead of Nothing? for producing positions of the postponed type variableKT-53553 Builder inference: inconsistent types in different lambda scopesKT-54400 K2: builder inference does not work with assignments of literals to member propertiesKT-63840 Builder inference fails on calls to identity-shaped functions with postponed type variables inside select-constructionsKT-65262 K2: Exception in DFA for combination of try-finally + PCLA + DIKT-58169 K2: make equals bounded smart casts work the same as in K1KT-64967 K2: false positive TYPE_MISMATCH with generic type parametersKT-64102 K2: Missing (disappeared in this case) DELEGATE_USES_EXTENSION_PROPERTY_TYPE_PARAMETER_ERRORKT-63988 K2: Reflection cannot find type of local class of local classKT-63901 K2: Different naming of inner class in metadataKT-63655 K2: incorrect short class name in metadata for anonymous object inside a local classKT-59664 Inline modifier can be added to a constructor parameter, but it does not have any effectKT-59418 K2: Missing DUPLICATE_PARAMETER_NAME_IN_FUNCTION_TYPEKT-63612 K2: Class is not abstract and does not implement abstract memberKT-63737 Wasm: revise external declaration FE checker for WASI modeKT-59782 K2: Forbid local delegated properties with private accessors in public inline functionsKT-65482 K2: NoSuchFieldError due to using unboxed typeKT-61182 Unit conversion is accidentally allowed to be used for expressions on variables + invoke resolutionKT-62998 Forbid assignment of a nullable to a not-null Java field as a selector of unsafe assignmentKT-63208 K2: Implement deprecation cycle and fix missing errors for error-level nullable arguments of warning-level Java typesKT-57600 Forbid overriding of Java method with raw-typed parameter with generic typed parameterKT-63147 K2: False negative DSL_SCOPE_VIOLATION when member is annotated with @LowPriorityInOverloadResolutionKT-62134 K2: handle non-simple types during FirStatusResolver.isPrivateToThis checkKT-42020 Psi2ir: IllegalStateException: “IrSimpleFunctionPublicSymbolImpl for public [...] is already bound” on generic function whose substitution leads to IdSignature clashKT-59012 K2: Support inferring types based on self upper boundsKT-65373 K2: there is a crash in KJK hierarchy with an extension member propertyKT-65456 K1: ISE “Property has no getter” with -Xsam-conversions=class when Java SAM interface contains a fieldKT-62884 K2: different signature of delegate object for generic extension propertyKT-60581 K2 fails with New inference error for assertThat under strange circumstancesKT-59630 K2: Implement running FIR Blackbox tests on different JDKsKT-64944 Can't assign null after early return smart cast with typed destructive assignmentKT-64910 K2: AA FIR: KtCall's argument mapping misses SAM conversion argumentKT-65165 K2: “ClassCastException: class java.lang.String cannot be cast to class SampleClass”KT-64982 K2: false negative FUNCTION_CALL_EXPECTEDKT-65318 K2: Substitution stackoverflow on jspecify @NullMarked superclassKT-65010 Kotlin/Native: code generation for a static field is failingKT-57299 K2: VerifyError due to overriding final method size on a subclass of Collection and SetKT-64706 K2: Type inference cannot resolve nullable @Composable lambdaKT-65058 K2: Protected function call from public-API inline function is prohibited in anonymous objectKT-65316 K2: False positive USAGE_IS_NOT_INLINABLE for expression labeled with illegal labelKT-60958 K2: smart cast does not work with definite return from if blockKT-63151 K2: Assignment within function lambda should invalidate contract DFA implicationsKT-63351 K2. No smart cast with not-null assertion operator after a safe callKT-65324 atomicfu-plugin: top-level delegated properties cause NPEKT-60246 K2: origin is not set for getting array element operatorKT-64387 K2: Missing POSTFIX_INC/DEC origin for array element inc/decKT-61891 K2: POSTFIX_{INCR|DECR} of global misses an originKT-65019 K2: unexpected exception when executing inc/dec in finally block on WASMKT-64392 Factor out KLIB serialization logic from the backend.native moduleKT-65270 K2: Missing ACTUAL_WITHOUT_EXPECT when expect is fake-overrideKT-60367 K2: Support EXPECT_AND_ACTUAL_IN_THE_SAME_MODULE diagnosticsKT-62704 Absent testrunner FirLightTreeDiagnosticTestSpecGeneratedKT-65044 K2 compiler crash on unresolved delegated extention receiverKT-65021 K2: Missing error and miscompilation in destructuring declaration delegationKT-63899 K2: Vararg parameter misses annotation in metadataKT-60175 JVM IR inline: accidental reification of typeOf type argumentKT-65336 K2: Space build failsKT-59683 K2: Add control flow graph to FirScriptKT-63434 K2. False positive Cannot access with protected nested classifiers references inside anonymous object inherited from containing classKT-64222 K2: “return type is not a subtype of the return type of the overridden member”KT-64314 K2: Rename FirConstExpression to FirLiteralExpressionKT-64975 FIR: Deserialize enum entry annotation arguments from binary libraries with lookup tags instead of symbolsKT-63646 K2: “IllegalStateException: Return type of provideDelegate is expected to be one of the type variables of a candidate, but D was found”KT-65024 K2: kotlin.NotImplementedError: An operation is not implemented in the K2 QGsKT-63994 K2: Investigate K2 failures in IntelliJ-Rust pluginKT-64268 K2: Data-flow from nested lambda not passed to outer lambdaKT-59729 K2: Investigate CFG buildings for inner lambdas in case of double-lambda builder inferenceKT-63042 K2: proper processing of propagated annotationsKT-64841 K2: argument type mismatch with type parameter with recursive boundKT-62554 K2: incorrect “inherits multiple implementations” error when base Java method takes a parameter of primitive wrapper typeKT-65093 K2: Super constructor call able to access uninitialized object fieldsKT-56489 K2 allows reading uninitialized variable in object declarationKT-59987 K2: Disappeared REIFIED_TYPE_FORBIDDEN_SUBSTITUTIONKT-36786 Smartcast doesn't work in case of property infix callKT-65027 K2: java.lang.NoSuchMethodError: void org.jetbrains.kotlin.name.CallableId in the K2 QGKT-65056 IrFakeOverrideBuilder: ISE “No override for FUN” on package-private Java method in K-J-K hierarchyKT-63414 K2 / Contracts: false positive “Result has wrong invocation kind” when invoking a function returning a value with contract InvocationKind.EXACTLY_ONCE and try/finallyKT-64809 K2: Remove the LINK_VIA_SIGNATURES flag from FIR2IR configurationKT-62045 IrFakeOverrideBuilder: incorrectly merged fake overrides for Java methods accepting wrapper Double and primitive doubleKT-57640 [K2/N] Investigate behaviour for intersection overrides for properties that have incompatible typesKT-59371 K2: Missing MISSING_DEPENDENCY_CLASSKT-59682 K2: Use proper source for vararg argumentsKT-64261 K2 / WASM: Extension function with star projection throws “RuntimeError: unreachable”KT-64257 K2 QG: kotlin.NotImplementedError: Generation of stubs for class org.jetbrains.kotlin.ir.symbols.impl.IrTypeParameterPublicSymbolImpl is not supported yetKT-64844 [K/N] Filecheck test redundant_safepoints.kt fails under linux_x64KT-64877 K2: PCLA doesn't allow infer types from value parameter having TV typeKT-63794 K2: False positive NONE_APPLICABLE on Throws::classKT-63781 K2: Generated blocks appear in the IRKT-63779 K2: Regression for locations of ‘if’ statementsKT-63624 K2: incompatible declaration because of different visibilityKT-64400 K2: allow to use simple boolean expressions as constantsKT-65050 K2: IllegalStateException: Captured type for incorporation shouldn't escape from incorporation: CapturedType(out org/jetbrains/plugins/gitlab/mergerequest/api/dto/GitLabMergeRequestShortRestDTO)KT-59972 K2: Disappeared EXPRESSION_EXPECTED_PACKAGE_FOUNDKT-63256 K2: NOT_IDENTITY operator call is illegal in contract descriptionKT-61717 K1: Unsound green code with self upper bounds and captured typesKT-64871 IrFakeOverrideBuilder: ISE “no override for ” on HashMap subclassKT-58739 K2: Rewrite CallableId.classId to be thread-safeKT-64979 K2: Missing REDUNDANT_TYPE_PARCELER when using type aliasKT-60019 K2: Introduced PARCELER_TYPE_INCOMPATIBLEKT-60682 K2: Disappeared DEPRECATIONKT-62500 K2: origin=GET_PROPERTY is wrongly set to GET_FIELD of backing field inside property's own getterKT-64743 K2: Non-expanded type serialized in metadataKT-64405 K2: Implement CompileJavaAgainstKotlinTestGenerated for K2KT-57094 K1: wrong type inferred for an instance of a local class inside a generic propertyKT-62069 K2: ASSIGNMENT_TYPE_MISMATCH is reported in addition to NO_ELSE_IN_WHENKT-62776 FirLazyResolveContractViolationException: “lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase TYPES” on Java annotation usageKT-47313 Change (V)::foo reference resolution when V has a companionKT-64837 K2: NPE in fir2ir when generic transitive dependency class is missingKT-60260 K2: Implicit coercion to unit is not generated in adapted function referenceKT-60858 Remove redundant createDeprecatedAnnotation necessary to workaround kotlinx-serialization compilation with nativeKT-64432 Unbound symbol access in Fir2Ir fake override builderKT-64466 K2: Delegated method annotations are not copied in IRKT-63589 K1: Unsound type inference for unbound callable reference to star-projected class's generic mutable propertyKT-56141 K2: Consider removing skipping diagnostics for DelegatedPropertyConstraintPositionKT-60056 K2: Introduced UNRESOLVED_REFERENCEKT-61032 K2: False positive “Unused variable” for function callable referenceKT-64832 K2: False positive “Unused variable” checker report on suspend functional types, on overloaded functional types and on custom invoke operator typesKT-64771 Investigate subtle FIR_DUMP difference for reversed order analysisKT-62584 K2: different signature in subclass of local class declared in extension value getterKT-63806 Native / KJS / Wasm: “NullPointerException: accept(...) must not be null”KT-59938 K2: Disappeared AMBIGUOUS_ACTUALSKT-43713 callsInPlace InvocationKind.EXACTLY_ONCE causes CAPTURED_VAL_INITIALIZATION in constructorKT-64645 K2: Missing smartcast caused by typealias that expands to nullable type in upper boundKT-64501 K2: False-positive WRONG_INVOCATION_KIND when using default argumentsKT-63962 K2: “java.lang.IllegalStateException: !”KT-63644 K2: Create special IR symbols for fake-overrides in fir2ir in mode with IR f/o generatorKT-63638 K2: Compiler crashes with “Inline class types should have the same representation”KT-36220 NI: false positive NON_APPLICABLE_CALL_FOR_BUILDER_INFERENCE if one use cannot resolveKT-64121 K2: Actual modifier is missed on override fun toString() fro value class in nativeKT-63703 K2: Eliminate call to Candidate.usesSAM and samResolver.getFunctionTypeForPossibleSamType in AbstractConeCallConflictResolver.toTypeWithConversionKT-61443 K2: Return typeId -1 during JS compilationKT-64090 K2: false-positive new inference error on invoking from another module a generic function on Java list type with wildcard type argument bounded by raw-typed Java inner classKT-64044 K2: Java mapped method should have a source from Java method, not from mapped Kotlin source classKT-39137 Smartcast to wrong nullability with generic type parameter upper boundKT-46674 ClassCastException with smartcast if plus operator returns a different typeKT-64625 [FIR] Infinite recursion in TypeUnificationKt.doUnify() building subset of native stdlibKT-59369 K2: Missing BUILDER_INFERENCE_STUB_RECEIVERKT-62590 Split expect/actual matcher-checker machinery in two separate components: matcher and checkerKT-63732 K1: False positive OUTER_CLASS_ARGUMENTS_REQUIRED inside anonymous objectKT-64644 K2: Compiler crash in FirTypeParameterBoundsCheckerKT-64312 K2: FirPropertySymbol.hasBackingField() always returns true for properties from other modulesKT-64420 K2: Wrong module descriptor for builtin classesKT-64127 K2: incorrect resolution of inherited members on Java classes inheriting classes from different packages in the presence of identically named classes in the same packagesKT-63446 IrFakeOverrideBuilder: AbstractMethodError due to missing bridge for generic method in a Java superclassKT-63867 K2: Smartcast is allowed inside changing lambda with cyclesKT-64609 K2: INAPPLICABLE_TARGET_PROPERTY_IMMUTABLE diagnostic is missed for primary constructor propertiesKT-63777 K2: Smartcast is allowed inside changing lambda with boundsKT-64059 K2: CYCLIC_INHERITANCE_HIERARCHY while using nested annotation in an outer class declarationKT-63528 K2: Missing UNNECESSARY_SAFE_CALL for warning level annotated java declarationsKT-64607 K2: extension functions on UInt and Number lead to JVM ClassCastExceptionKT-63761 K2: False positive “Unresolved reference” caused by object's parameter in enum class which is passed as annotation parameterKT-62816 K2: Annotation use site targets printing could be improved in diagnostics' messagesKT-62815 K2: FIR renderings leak through some diagnostics' messageKT-35289 Confusing warning message “Duplicate label in when”KT-49084 Contracts: error message is unclearKT-63228 K2: Upper bound violation diagnostic renders compiler internals about SourceAttributeKT-62386 K2: Proofread quotes in diagnostic messagesKT-64081 K2: Incorrect smartcast candidate calculation in MemberScopeTowerLevelKT-32420 Confusing error message “Contracts are allowed only for top-level functions” when contract block is not first expressionKT-61937 K2: implicit script receiver from ScriptDefinition are not visible for invokeKT-58767 Inheritance opt-in enforcement via @SubclassOptInRequired can be avoided with type aliasesKT-59818 K2: Explore the TODO about suspend functions overridden in Java in FirHelpersKT-63233 K2 : false negative Class is not abstract and does not implement abstract member with abstract suspend functionKT-59344 K2: implement deprecation warnings from KT-53153KT-63379 K2. Argument type mismatch on creating functional interface instance with function literal as an argument with in type projectionKT-64308 K2: prefer call with Unit conversion at lower level to one without Unit conversion at upper levelKT-64307 K2: prefer function with default arguments at lower level to one without them at upper level during callable reference resolveKT-64306 K2: prefer SAM at lower level to a functional type at upper levelKT-64341 Kotlin/JVM: Missing line number generation for intrinsic comparisonsKT-64238 Add proper documentation to the IdeCodegenSettings classKT-63667 K2/KMP: exception when expect property matched to java fieldKT-59915 K2: Disappeared TOO_MANY_ARGUMENTSKT-57755 K2/JVM: Fix computing a “signature” mangled name for the main functionKT-63645 K2: Replace special f/o symbols with normal ones after actualizationKT-63076 K2: change in behavior for synthetic properties in Kotlin-Java hierarchyKT-63723 Frontend manglers improperly handle error typeKT-56491 K2: Fix reporting AMBIGUOUS_ANONYMOUS_TYPE_INFERRED if anonymous object is leaked in type argumentKT-63738 K2: Some declarations are missing in the hierarchy of overridden symbolsKT-62242 K2: Uniformly treat enum entries as anonymous objectsKT-62281 K2: build DuckDuckGo Android user project and pass it to CIKT-60266 K2: origin is not set for FOR_LOOP_ITERATORKT-59875 K2: Disappeared UNRESOLVED_REFERENCE_WRONG_RECEIVERKT-62394 K2: Synthetic property scope doesn't consider java classes in the hierarchyKT-62715 K2: Missing WASM_IMPORT_EXPORT_UNSUPPORTED_PARAMETER_TYPEKT-62723 K2: Missing WASM_IMPORT_ON_NON_EXTERNAL_DECLARATIONKT-62722 K2: Missing NESTED_WASM_IMPORTKT-62721 K2: Missing WASM_EXPORT_ON_EXTERNAL_DECLARATIONKT-62720 K2: Missing JS_AND_WASM_EXPORTS_ON_SAME_DECLARATIONKT-62719 K2: Missing NESTED_WASM_EXPORTKT-62718 K2: Missing WASM_IMPORT_EXPORT_UNSUPPORTED_RETURN_TYPEKT-62717 K2: Missing WASM_IMPORT_EXPORT_PARAMETER_DEFAULT_VALUEKT-62716 K2: Missing WASM_IMPORT_EXPORT_VARARG_PARAMETERKT-60225 K2: compiler FIR symbol resolution crash on a call to an extension function whose receiver contains a type parameter with a recursive upper boundKT-60090 K2: Introduced DEPRECATED_PARCELERKT-59949 K2: Disappeared DEPRECATED_PARCELERKT-64045 K2: “Expect declaration * is incompatible with actual” when function parameter names are differentKT-62018 K2: prohibit suspend-marked anonymous function declarations in statement positionsKT-63973 K2: “NoSuchElementException: Array is empty” with vararg used within tail recursive functionKT-61792 KMP: Backend error on @Deprecated usage with DeprecationLevel.HIDDEN in K2KT-57788 Fix computing mangled names of types with @EnhancedNullability from IR-based declaration descriptorsKT-63249 K2: change in annotation resolve when ambiguousKT-62553 K2: Add topLevelClassifierPackageNames to symbol name providersKT-64148 K2: class cast exception org.jetbrains.kotlin.fir.types.ConeStarProjectionKT-63665 K2: “NullPointerException” caused by class with the companion object and extra curly braceKT-62736 K2: Disappeared NESTED_JS_EXPORTKT-62347 Prohibit using property+invoke convention for delegated propertiesKT-59421 K2: Missing CONTEXT_RECEIVERS_WITH_BACKING_FIELDKT-59903 K2: Disappeared DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLEKT-54997 Forbid implicit non-public-API accesses from public-API inline functionKT-34372 Report missed error for virtual inline method in enum classesKT-62926 K2: IR has missing receivers during expect-actual matchingKT-62565 K2 cannot infer type parameters in case of expected functional typeKT-63328 K2: Top-level properties in scripts can be used while uninitializedKT-62120 K2: “NoSuchMethodError: java.lang.String” at runtime on class delegating to Java typeKT-36876 Smartcast doesn't work when class has property available through the invokeKT-63835 K2: metadata compilation with constants is falling for NativeKT-60251 K2: delegated method are delegating to different methods in hierarchy compared to K1KT-63574 K2: “IllegalStateException: IrFieldPublicSymbolImpl for java.nio/ByteOrder.LITTLE_ENDIAN”KT-61068 Bounds of type parameters are not enforced during inheritance of inner classes with generic outer classesKT-60504 K2: difference between LL FIR and FIR in enhanced return type with annotationKT-64147 K2: Generate FIR diagnostics with explicit typesKT-62961 K2 / KMP: NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS with expect enum class and typealiasKT-53749 Support builder inference restriction in FIRKT-59390 K2: Missing BUILDER_INFERENCE_MULTI_LAMBDA_RESTRICTIONKT-61065 K2: @Suppress annotation is ignored inside preconditions of when-clausesKT-59368 K2: Missing SUBTYPING_BETWEEN_CONTEXT_RECEIVERSKT-64083 K2: “KotlinIllegalArgumentExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirJavaTypeRef”KT-37308 No smart cast when the null check is performed on a child property through a function with a contractKT-62589 K2: Investigate need of non-nullable IdSignature in Fir2IrLazyDeclarationsKT-59894 K2: Disappeared ANNOTATION_ARGUMENT_MUST_BE_CONSTKT-63329 K2: difference in SAM-conversion casts generationKT-64062 K2 IDE. NPE on typing nullable parameter in returnKT-61427 K2/MPP/JS does not report Expecting a top level declaration and FIR2IR crashesKT-64031 K2: Revise naming in FirBuilderInferenceSessionKT-55252 Backend Internal error during psi2ir in native compile tasks (NPE in getKlibModuleOrigin)KT-50453 Improve builder inference diagnostics with type mismatch due to chosen inapplicable overloadKT-56949 K2: Builder inference violates upper boundKT-63648 K2: values of postponed type variable don't introduce type constraints in extension receiver positions during builder-style type inferenceKT-64028 K2: Investigate questionable condition in FirBuilderInfernceSessionKT-60031 K2: Introduced NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASSKT-55809 K2: Support pre-release checks for klibsKT-59881 K2: Disappeared UNSUPPORTEDKT-63448 K2: CONFLICTING_INHERITED_JVM_DECLARATIONS with @JvmFieldKT-63705 False positive UNSAFE_IMPLICIT_INVOKE_CALL after explicit null check of the constructor val propertyKT-63865 K2: “IllegalArgumentException: Failed requirement.” caused by lambda parameters with different type in init blockKT-62036 KMP: consider prohibiting actual fake-override when the corresponding expect class has default argumentsKT-62609 K2. Type argument inference changed for object of Java class with several common parentsKT-30369 Smartcasts from safe call + null check don't work if explicit true/false check is usedKT-30376 Smartcasts don't propagate to the original variable when use not-null assertion or cast expressionKT-30868 Unsound smartcast if smartcast source and break is placed inside square brackets (indexing expression)KT-31053 Nothing? type check isn't equivalent to null check is some placesKT-29935 Smartcasts don't work if explicit annotated true/false check is usedKT-30903 Smartcast to null doesn't affect computing of exhaustivenessKT-63564 K/Wasm: CompilationException with 2.0.0-Beta1KT-63345 K2: FIR2IR chooses an incorrect type for smartcast in case of SAM conversionKT-63848 ReflectiveAccessLowering does not count arguments of super-callsKT-62544 K2: IllegalAccessError when functional type argument is inferred to package-private typeKT-61920 K2: False negative CONST_VAL_WITH_NON_CONST_INITIALIZER when initializer is Java fieldKT-63649 K2: Wild card in superclass confuses EXPANSIVE_INHERITANCE checkerKT-63569 K2: “IllegalStateException: ?!id:1” caused by private function callKT-63842 K2: some arguments of annotations on local declarations are unresolvedKT-63832 K2: missed context during annotation argument resolution for a type alias, init and property receiverKT-62559 KMP, K2: prevent reporting ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT twice in CLIKT-24652 Elvis with ‘break’ can produce unsound smartcasts in while-true loopKT-28508 Possible unsound smartcast in class initializerKT-28759 No not-null smartcast from direct assignment if it's split into declaration and value assignmentKT-28760 No not-null smartcast from direct assignment of thisKT-29878 Smartcasts from type check or null check don't work if explicit true check as reference equality is usedKT-29936 Smartcasts don't work if comparing with return value of some function and explicit true/false check is usedKT-30317 Smartcast doesn't work if smartcast source is used as an operand of the reference equalityKT-63071 K2 supports calling functions with the dynamic receiver over Nothing?KT-59896 K2: Disappeared WRONG_ANNOTATION_TARGETKT-56849 Implement K/Wasm K1 diagnostics in K2KT-31636 Expect-actual matching doesn't work for inner/nested classes with explicit constructor using typealiasesKT-63361 K2: Expected FirResolvedTypeRef for return type of FirDefaultPropertyGetter(SubstitutionOverride(DeclarationSite)) but FirImplicitTypeRefImplWithoutSource foundKT-62913 Convert DEFAULT_ARGUMENTS_IN_EXPECT_ACTUALIZED_BY_FAKE_OVERRIDE to checking incompatibilityKT-63550 K2: fake-override in expect covariant override in actual. Move diagnostics from backend to frontendKT-62491 K2. No 'when' expression must be exhaustive error when Java sealed class inheritors are not listed in permits clauseKT-63443 IrFakeOverrideBuilder: ISE “No new fake override recorded” when Java superclass declares abstract toStringKT-62679 K2: drop ARGUMENTS_OF_ANNOTATIONS phaseKT-63600 K2: Duplicate WRONG_NULLABILITY_FOR_JAVA_OVERRIDEKT-63508 K2: “IllegalArgumentException: Not FirResolvedTypeRef (String) in storeResult” caused by @Deprecated Java function and typoKT-63656 K2: “IllegalArgumentException: Local com/example/ should never be used to find its corresponding classifier”KT-63459 K2: OPT_IN_USAGE_ERROR is absent when calling the enum primary constructorKT-59582 OPT_IN_MARKER_CAN_ONLY_BE_USED_AS_ANNOTATION_OR_ARGUMENT_IN_OPT_IN on an annotation importKT-60614 K2: Conflicting INVISIBLE_REFERENCE and UNRESOLVED_REFERENCE reported depending on FIR test for transitive friend module dependenciesKT-59983 K2: Disappeared IMPLEMENTATION_BY_DELEGATION_IN_EXPECT_CLASSKT-63068 K2 supports typeRef-name labelsKT-63642 JVM_IR: don't generate reflective access to getter/setter without propertyKT-62212 K2: require matching of suspend status for override checkKT-60983 K2: “Argument type mismatch: actual type is android/view/View.OnApplyWindowInsetsListener but androidx/core/view/OnApplyWindowInsetsListener? was expected”KT-63597 JVM_IR: Properly handle type parameters of outer declaration in code fragmentKT-59913 K2: Disappeared UNSUPPORTED_FEATUREKT-63593 K2: FIR2IR converts arguments of array set call for dynamic receiver twiceKT-63317 K2: Disallow generic types in contract type assertionsKT-59922 K2: Disappeared CANNOT_CHECK_FOR_ERASEDKT-59561 K2/MPP reports INCOMPATIBLE_MATCHING when an actual annotation declaration with vararg property is typealias with @SuppressKT-63241 IJ monorepo K2 QG: backward-incompatible compiler ABI change leads to run-time failures of Fleet's kotlinc pluginsKT-55318 Redundant variance projection causes wrong signature in klibKT-57513 K2: Bound smart casts don't work with StringsKT-59988 K2: Disappeared TYPE_ARGUMENTS_NOT_ALLOWEDKT-59936 K2: Disappeared ARGUMENT_PASSED_TWICEKT-61959 K2: Type parameters from outer class leak to nested classKT-58094 K2: Review IrBuiltinsOverFirKT-63522 K2: wrong context for delegated field typeKT-63454 Properly check that inline fun is in the same module as callee in IrSourceCompilerForInlineKT-59951 K2: Disappeared NO_TYPE_ARGUMENTS_ON_RHSKT-62727 K2: Missing JSCODE_UNSUPPORTED_FUNCTION_KINDKT-62726 K2: Missing JSCODE_WRONG_CONTEXTKT-62725 K2: Missing JSCODE_INVALID_PARAMETER_NAMEKT-62314 Make usages of JavaTypeParameterStack safeKT-60924 FIR2IR: Get rid of all unsafe usages of IrSymbol.ownerKT-59402 K2: Missing EXPANSIVE_INHERITANCE and EXPANSIVE_INHERITANCE_IN_JAVAKT-57949 FIR: SignatureEnhancement: mutation of java enum entryKT-62724 K2: Missing WRONG_JS_FUN_TARGETKT-62856 K2: Don't create IR declaration when its symbol is accessed in fir2irKT-61329 K2: Review for diagnostic messages reported by CLI arguments processingKT-58953 K2 doesn't work with Compose MultiplatformKT-63599 False negative WRONG_NULLABILITY_FOR_JAVA_OVERRIDE when Java parameter is warning-severity not-null and override isn't a DNNKT-62711 Incorrect ParsedCodeMetaInfo instancesKT-63122 K2: Improve ‘EVALUATION_ERROR’ messagesKT-63164 K2/JVM: compiler codegen crash on invisible property IllegalStateException: Fake override should have at least one overridden descriptorKT-56614 K2: Incorrect overload resolution with SAM typesKT-62783 K2: False positive CAST_NEVER_SUCCEEDS when casting nullable expression to it's non-nullable generic base classKT-47931 FIR DFA: smartcast not working for if (x!=null || x!=null && x!=null) {}KT-62735 K2: Disappeared EXTERNAL_CLASS_CONSTRUCTOR_PROPERTY_PARAMETERKT-62733 K2: Disappeared WRONG_EXTERNAL_DECLARATIONKT-62734 K2: Disappeared INLINE_EXTERNAL_DECLARATIONKT-62618 K2: Fix the ensureAllMessagesPresent testKT-60312 K2: CCE “class [I cannot be cast to class java.lang.Number ([I and java.lang.Number are in module java.base of loader ‘bootstrap’)” on using IntArray as varargKT-58531 K2: “Property must be initialized” compile errorKT-54064 K2. Conflicting declarations error differs for k1 and k2KT-52432 Using the IDE compiled with K2 (useFir) throws VerifyError exceptionKT-59825 K2: Fix the TODO about wasExperimentalMarkerClasses in FirSinceKotlinHelpersKT-26045 False positive DUPLICATE_LABEL_IN_WHEN for safe callsKT-59514 K2: New inference error with jspecify and Java interopKT-63094 K2: Exception from fir2ir during conversion data class with property of dynamic typeKT-59822 K2: Fix the TODO in FirConstChecksKT-59493 Definitely non-nullable types have type inference issues with extension functionsKT-63396 K2: property from companion object are unresolved as an annotation argument in type parameterKT-62925 K2: Disappeared EXPOSED_FUNCTION_RETURN_TYPE for package-private and type argsKT-63430 IrFakeOverrideBuilder: VerifyError on calling a function with a context receiver from a superclassKT-58754 “Not enough information to infer type variable for subcalls of if expression” when adding curly braces to a conditional inside a lazy propertyKT-54067 K1 with NI: false positive UPPER_BOUND_VIOLATED in typealias constructorKT-62420 K2: Remove ConeClassifierLookupTag from ConeTypeVariableTypeConstructorKT-63431 K1: Incorrect resolution of call to Java class that extends CharSequence and inherits a get(int): Char methodKT-55288 False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifierKT-61459 K2: type parameters cannot be parameterized with type argumentsKT-59998 K2: Disappeared OPT_IN_MARKER_CAN_ONLY_BE_USED_AS_ANNOTATION_OR_ARGUMENT_IN_OPT_INKT-53308 TYPE_MISMATCH: Contracts on boolean expression has no effect on referential equality to nullKT-51160 Type mismatch with contracts on narrowing sealed hierarchy fail to smart castKT-49696 Smart cast to non-null with inline non-modifying closures sometimes doesn't workKT-46586 SMARTCAST_IMPOSSIBLE when assigning value inside lambda instead of if expressionKT-41728 False positive no smart cast with unreachable code after return in if expressionKT-59482 K2: build kmm-production-sampleKT-57529 K1/K2: “IllegalStateException: not identifier: ” with hard keywords in angle bracketsKT-62032 K2: Render flexible types as A..B instead of cryptic ft<A, B> in diagnostic messagesKT-59940 K2: Disappeared ACTUAL_ANNOTATION_CONFLICTING_DEFAULT_ARGUMENT_VALUEKT-59401 K2: Missing ADAPTED_CALLABLE_REFERENCE_AGAINST_REFLECTION_TYPEKT-56081 K2: build kotlinx.serializationKT-63172 K2: Java vararg setter should not be used as property accessorKT-61243 K2: Always use declaredMemberScope-s in FirConflictsHelpers instead of declarationsKT-59430 K2: Missing CALLABLE_REFERENCE_RESOLUTION_AMBIGUITYKT-62306 K2: Compiler internal error for incorrect call on ILTKT-61592 kt57320.kt weird diagnostic range for NO_ACTUAL_FOR_EXPECTKT-62334 K2: FIR should not generate delegated functions for methods from java interface with default implementationKT-60294 K2: lambda inside object capturing this, when not in K1KT-59590 JVM IR: NotImplementedError during rendering of conflicting JVM signatures diagnosticKT-62607 K2: “Overload resolution ambiguity between candidates”KT-55096 K2: false-positive smartcast after equals check with reassignment in RHS of ==KT-63002 K2: Fix flaky FirPsiOldFrontendDiagnosticsTestGenerated.Tests.Annotations#testAnnotatedErrorTypeRefKT-62916 K2: False positive INCOMPATIBLE_MATCHINGKT-45687 Contract doesn't allow smart cast when implicit receiver and inference target is thisKT-62137 Compiler fails on null tracking (inference) for safe callKT-36976 FIR: Provide exact smart casting typeKT-60004 K2: Disappeared CONTRACT_NOT_ALLOWEDKT-62404 K2 Scripting for gradle: unresolved name errors on implicit importsKT-62197 K2 and Apache Commons's MutableLong: Overload resolution ambiguity between candidatesKT-59890 K2: Disappeared CONST_VAL_WITH_NON_CONST_INITIALIZERKT-53551 suspend functional type with context receiver causes ClassCastExceptionKT-61491 K2 AA: Multiple FIR declarations for the same delegated propertyKT-55965 K2: NPE via usage of functions that return Nothing but have no return expressionsKT-60942 K2: Transitive dependency IR is not deserialized correctlyKT-55319 K2: False negative NON_LOCAL_RETURN_NOT_ALLOWED for non-local returns exampleKT-59884 K2: Disappeared NON_LOCAL_RETURN_NOT_ALLOWEDKT-61942 K2 + kotlinx.serialization: Incorrect ‘Conflicting declarations’ on only one declarationKT-62944 K2: Symbols with context receiver shouldn't be rendered with line breakKT-59977 K2: Disappeared NO_ACTUAL_FOR_EXPECTKT-60117 K2: ISE “Cannot serialize error type: ERROR CLASS: Cannot infer variable type without initializer / getter / delegate” on compiling lateinit property without initializationKT-60042 K2: Introduced PRIMARY_CONSTRUCTOR_REQUIRED_FOR_DATA_CLASSKT-62467 K2: Result type of elvis operator should be flexible if rhs is flexibleKT-62126 KJS / K2: “InterpreterError: VALUE_PARAMETER” caused by reflection, delegation and languageVersion = 1.9KT-56615 K2: False-negative USELESS_CAST after double smartcastKT-59820 K2: Investigate the TODO in FirCastDiagnosticsHelpersKT-61100 K2: wrong type for “value” parameter of java annotation constructorKT-59996 K2: Disappeared INVALID_CHARACTERSKT-62598 K2: SOE through JvmBinaryAnnotationDeserializer with nested annotation with value parameter in other moduleKT-59070 K1: Unbound private symbol with mixed Java/Kotlin hierarchyKT-60095 K2: Introduced INCOMPATIBLE_TYPESKT-61598 K2: report IR_WITH_UNSTABLE_ABI_COMPILED_CLASSKT-42625 “Unresolved reference” when star import packages with conflicting entriesKT-60123 K2: PROPERTY_WITH_NO_TYPE_NO_INITIALIZER isn't working in IDE for lateinit property without a typeKT-59935 K2: Disappeared PROPERTY_WITH_NO_TYPE_NO_INITIALIZERKT-57931 K1: unsafe assignment of nullable values to not-null Java fields via safe access operatorKT-59992 K2: Disappeared KCLASS_WITH_NULLABLE_TYPE_PARAMETER_IN_SIGNATUREKT-58455 K2(LT). Internal compiler error “UninitializedPropertyAccessException: lateinit property identifier has not been initialized” on missing type parameter in “where” constraintKT-60714 K2: Implement resolve to private members from Evaluator in K2KT-59577 K2. Enum constant name is not specified in error textKT-60003 K2: Disappeared INVALID_CHARACTERS_NATIVE_ERRORKT-62099 K2: “Type arguments should be specified for an outer class” error about typealiasKT-60111 K2: Location regressions for operatorsKT-59974 K2: Disappeared INAPPLICABLE_INFIX_MODIFIERKT-59399 K2: Missing JSCODE_NO_JAVASCRIPT_PRODUCEDKT-59388 K2: Missing JSCODE_ERRORKT-59435 K2: Missing JSCODE_ARGUMENT_SHOULD_BE_CONSTANTKT-59991 K2: Disappeared FORBIDDEN_VARARG_PARAMETER_TYPEKT-60601 K2 / Maven: Overload resolution ambiguity between candidates inline methodKT-59973 K2: Disappeared INAPPLICABLE_LATEINIT_MODIFIERKT-59933 K2: Disappeared USAGE_IS_NOT_INLINABLEKT-60778 K2: implement MISSING_DEPENDENCY_CLASS(_SUPERCLASS) errorsKT-62581 K2: Difference in kind flag in metadataKT-59967 K2: Disappeared UNINITIALIZED_ENUM_ENTRYKT-59956 K2: Disappeared INAPPLICABLE_OPERATOR_MODIFIERKT-35913 Diagnostic error VAL_REASSIGNMENT is not reported multiple timesKT-60059 K2: Introduced VAL_REASSIGNMENTKT-59945 K2: Disappeared ANONYMOUS_FUNCTION_WITH_NAMEKT-62573 K2: incorrect parsing behavior with named functions as expressionsKT-55484 K2: @OptIn false negative OPT_IN_USAGE_ERROR on equals operator callKT-56629 K2: an instance of USELESS_CAST was not moved under EnableDfaWarningsInK2 language featureKT-58034 Inconsistent resolve for nested objects in presence of a companion object property with the same nameKT-59864 K2: Bad locations with delegatesKT-59584 K2: Bad startOffset for ‘this’KT-61388 K2: ISE “Annotations are resolved twice” from CompilerRequiredAnnotationsComputationSession on nested annotationKT-62628 K2: FirErrorTypeRefImpl doesn't have annotationsKT-62447 K2. “Replacing annotations in FirErrorTypeRefImpl is not supported” compiler error when annotation is used as variable type or return typeKT-61055 K2: Investigate if usage of toResolvedCallableSymbol is correct at FirDataFlowAnalyzer#processConditionalContractKT-61518 K2: IAE: “Expected type to be resolved” at FirTypeUtilsKt.getResolvedType() on usage of Java annotation with default value for enum array parameterKT-61688 K2: FIR renderings of type annotations leak through the diagnostics' messagesKT-61794 FIR: MergePostponedLambdaExitsNode.flow remains uninitialized after resolveKT-59986 K2: Disappeared ITERATOR_MISSINGKT-57802 K2: Backend Internal error: RecordEnclosingMethodsLowering.ktKT-59941 K2: Disappeared COMPONENT_FUNCTION_MISSINGKT-61076 K2: false-positive conflicting overloads error on suspending function and private Java method from a supertypeKT-61075 K2: type inference for delegate expressions with complexly bounded type variables fails on properties with annotated accessorsKT-62671 K2: fir2ir generates a duplicate of delegated function for class from a common moduleKT-62541 K2: Missed type mismatch errorKT-62585 KMP, K2: fix ugly reporting of annotation arguments in ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT diagnosticKT-62143 Error: Identity equality for arguments of types ‘kotlin/Int?’ and ‘kotlin/Nothing?’ is prohibitedKT-62620 Warn about @OptIn/@Deprecated for overrides of AnyKT-59689 K2: Fix complex smartcasts with safe callsKT-61517 K2: FirModuleDescriptor should correctly provide dependencies from FirModuleDataKT-62578 K2: @NoInfer annotation doesn't work for deserialized functionsKT-59916 K2: Disappeared REPEATED_ANNOTATIONKT-36844 DELEGATE_SPECIAL_FUNCTION_MISSING highlight is missed when Delegate class has getValue property available through the invoke conventionKT-62450 K2: Disappeared OPT_IN_USAGE_ERROR for a data class property during the destructuring declarationKT-59997 K2: Disappeared OPT_IN_USAGE_ERRORKT-60026 K2: Introduced EXPOSED_TYPEALIAS_EXPANDED_TYPEKT-62393 K2: FIR doesn't count visibility when creating synthetic property overrideKT-61191 K2: Problem with @OptionalExpectationKT-61208 EnumEntries mappings are generated incorrectly in the face of incremental compilationKT-57811 K2: make java static string and int fields not nullKT-53982 Keep nullability when approximating local types in public signaturesKT-62531 InvalidProtocolBufferException on reading module metadata compiled by K2 from compilers earlier than 1.8.20 with -Xskip-metadata-version-checkKT-61511 IrFakeOverride builder: objc overridability condition is not supportedKT-62316 K2: CONFLICTING_INHERITED_JVM_DECLARATIONS on List subclass inheriting remove/removeAt from Java superclassKT-60671 KMP: check other annotation targets in expect and actual annotations compatibility checkerKT-62473 K2: @Suppress(“UNCHECKED_CAST”)` doesn't work on rhs of augmented assignment callKT-59433 K2: Missing NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCEKT-62451 K2: Disappeared OPT_IN_USAGE_ERROR for typealiasKT-62452 K2: Violation of OPT_IN_USAGE_ERROR non-propagating opt-in rules for typealiasKT-59927 K2: Disappeared INVISIBLE_REFERENCEKT-60080 K2: Introduced INVISIBLE_SETTERKT-60104 K2: Introduced FUNCTION_CALL_EXPECTEDKT-59979 K2: Disappeared SUPERTYPE_INITIALIZED_IN_EXPECTED_CLASSKT-62146 K2: @Suppress does not work with named argumentKT-62475 K2: IrExternalModuleFragments contains incorrect data in Fir2IrKT-59978 K2: Disappeared EXPECTED_ENUM_ENTRY_WITH_BODYKT-59015 K1+NI: “Type mismatch: inferred type is CapturedType(*) but Xy was expected” with star projection callable reference to extension functionKT-61983 K2: *fir.kt.txt dump uses different naming approach for local varsKT-59970 K2: Disappeared NULLABLE_TYPE_IN_CLASS_LITERAL_LHSKT-58216 K2 (2.0): when is not checked for exhaustiveness with Java sealed classKT-61205 Compose Compiler K2/ios: No file for /App|App(){}[0] when running linkPodDebugFrameworkIosX64KT-58087 Unexpected type mismatch after nullable captured type approximationKT-58240 Support running irText compiler tests against the Native backendKT-59565 K2. Internal error “IndexOutOfBoundsException: Index -1 out of bounds for length 0” on incorrect usage of annotation in type parameterKT-59954 K2: Disappeared REPEATED_MODIFIERKT-57100 K2 does not report Conflicting overloads and backend crashes with Exception during IR lowering on conflict overloading with suspend functionKT-59955 K2: Disappeared INCOMPATIBLE_MODIFIERSKT-61572 [K2/N] Missing diagnostic SUPER_CALL_WITH_DEFAULT_PARAMETERS in test for MPP supercall with default paramsKT-62262 [K2/N] tests/samples/uikit compilation fails with NPE in checkCanGenerateOverrideInitKT-62114 K2: Unresolved reference for smart cast inside when (but not if)KT-59373 K2: Missing INVISIBLE_MEMBERKT-61844 K2: “Expression * of type * cannot be invoked as a function” caused by private propertyKT-61735 [FIR] Assignment to val with flexible type dispatch receiver causes crashKT-59942 K2: Disappeared ANNOTATION_PARAMETER_DEFAULT_VALUE_MUST_BE_CONSTANTKT-62058 K2: use PRE_RELEASE flag until 2.0-RCKT-59931 K2: Disappeared CLASS_LITERAL_LHS_NOT_A_CLASSKT-62104 K2: fix failing tests caused by KT-59940KT-61974 K2: “ClassCastException: class cannot be cast to class java.lang.Void” in testKT-61637 K2: Store all IR declarations inside Fir2IrDeclarationStorageKT-60921 K2: IndexOutOfBoundsException on attempt to cast an element to inner class with type parameterKT-59429 K2: Missing ABBREVIATED_NOTHING_RETURN_TYPEKT-59420 K2: Missing ABBREVIATED_NOTHING_PROPERTY_TYPEKT-59965 K2: Disappeared CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETONKT-59952 K2: Disappeared EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERRORKT-61732 K2: Analysis API: resolve ambiguities in kotlin projectKT-60499 K2: Order of synthetic fields is different from K1's orderKT-61773 K2 Native: support reporting PRE_RELEASE_CLASSKT-61578 [FIR] Resolution to private companion objects does not produce INVISIBLE_REFERENCE diagnosticKT-59985 K2: Disappeared UNDERSCORE_USAGE_WITHOUT_BACKTICKSKT-62031 K2: Render k2-specific flexible types in a more compact way in diagnostic messagesKT-62030 K2: Render dot-separated FQNs instead of slash-separated ones in diagnosticsKT-59950 K2: Disappeared ILLEGAL_ESCAPEKT-61827 K2: Fix rendering of NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS messageKT-61386 IrFakeOverrideBuilder: wrong dispatch receiver typeKT-59907 K2: Disappeared RETURN_TYPE_MISMATCHKT-62056 K2: Drop FIR_COMPILED_CLASS error in K1KT-61824 K2: Don't render internal compiler type annotations in diagnostic messagesKT-61826 K2: Fix rendering of SUSPENSION_POINT_INSIDE_CRITICAL_SECTION messageKT-57858 @PlatformDependent annotation should be considered in JS and NativeKT-61876 K2: FirCommonSessionFactory does not register visibility checker for a library sessionKT-60264 K2: while loop body block sometimes replaced with single expressionKT-58542 K2: Store abbreviated types in deserialized declarations as attributes for renderingKT-62008 K2: Java getter function may be enhanced twiceKT-61921 K2: Check for false positive/negative diagnostics caused by wrong handling of typealiasesKT-41997 False positive “Value class cannot have properties with backing fields” inside expect classKT-62017 K2: ISE “No real overrides for FUN FAKE_OVERRIDE” on calling package-private Java method through anonymous objectKT-58247 Incorrect inference of nullable types inside OptionalKT-61309 K2: Only named arguments are available for Java annotationsKT-61366 IrFakeOverrideBuilder ignores package-private visibilityKT-59899 K2: Disappeared EXPECTED_DECLARATION_WITH_BODYKT-59980 K2: Disappeared EXPECTED_ENUM_CONSTRUCTORKT-59982 K2: Disappeared EXPECTED_CLASS_CONSTRUCTOR_PROPERTY_PARAMETERKT-61499 K2: False positive “Const ‘val’ initializer should be a constant value” when using typealiasKT-62005 K2: No conflicting declarations error for constructors of nested classes and member functionsKT-60092 K2: Introduced EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERRORKT-61972 K2: FIR2IR crashes on converting data classes in MPP setupKT-60105 K2: Introduced UNDERSCORE_USAGE_WITHOUT_BACKTICKSKT-60075 K2: Introduced ACTUAL_WITHOUT_EXPECTKT-29316 Change diagnostics strategy for equality-operators applicabilityKT-61751 IrFakeOverrideBuilder: keep flexible type annotations when remapping/substituting typesKT-61778 K2: Overload resolution ambiguity between expect and non-expect in native buildKT-57703 K1/K2: unprecise constraint system behavior around integer literals and comparable arraysKT-61367 K2: Introduce OptIn for FirExpression.coneTypeOrNullKT-61802 K2: infinite recursion in constant evaluator causing StackOverflowErrorKT-60043 K2: Introduced PROPERTY_AS_OPERATORKT-61829 K2. Internal error, FileAnalysisException when type argument doesn't conform expected typeKT-61691 K2: This annotation is not applicable to target ‘local variable’KT-59925 K2: Disappeared VIRTUAL_MEMBER_HIDDENKT-61173 K2: FirProperty.hasBackingField is true for an expect valKT-61696 K2: Cannot override method of interface if superclass has package-protected method with same signatureKT-59370 K2: Missing JS_NAME_CLASHKT-36056 [FIR] Fix implementation of try/catch/finally in DFAKT-61719 K2. Invisible reference is shown for whole type reference instead of single name referenceKT-35566 False negative UPPER_BOUND_VIOLATED in a supertype of an inner classKT-60248 K2: Type abbreviations are not stored in IRKT-61720 K2: Delegates: Property type not specialised in property reference of setterKT-59251 KMP/JS: forbid matching actual callable with dynamic return type to expect callable with non-dynamic return typeKT-61510 K2: internal declarations are invisible in cyclically dependent modulesKT-54890 FIR: fix resolve contract violations in FIRKT-60048 K2: Introduced MISSING_EXCEPTION_IN_THROWS_ON_SUSPENDKT-59425 K2: Missing JS_FAKE_NAME_CLASHKT-59529 K2: “property delegate must have” caused by class hierarchyKT-55471 K2. Unresolved reference for nested type is shown instead of outer classKT-58896 K2: Higher priority expect overload candidates in common code lose in overload resolution to non-expectsKT-60780 K2: missing PRE_RELEASE_CLASSKT-59855 K2: Replace FirExpression.typeRef with coneTypeKT-53565 K2: no WRONG_ANNOTATION_TARGET on when subjectKT-54568 K2: Type variables leak into implicit it parameter of lambdasKT-60892 K2: Implement diagnostics around @OptionalExpectationKT-60917 K2: “Unresolved reference” for operator for array valueKT-59367 K2: Missing MIXING_SUSPEND_AND_NON_SUSPEND_SUPERTYPESKT-60268 K2: lazy annotation classes have wrong modalityKT-60536 K2: FIR2IR Crash when resolving to companion of internal class with Suppress(“INVISIBLE_REFERENCE”)KT-60292 K2: annotations on local delegated properties are lostKT-59422 K2: Missing NON_SOURCE_ANNOTATION_ON_INLINED_LAMBDA_EXPRESSIONKT-61407 K2: java.lang.IllegalArgumentException: Stability for initialized variable always should be computableKT-59186 K2: False negative CONFLICTING_OVERLOADS in nested functionsKT-54390 K2: ClassId for local classes do not match with specificationKT-61277 K2: Expand the MIXING_SUSPEND_AND_NON_SUSPEND_SUPERTYPES check to other function kindsKT-61548 Compiler crashes with StackOverflowError when mapping typesKT-56757 Drop IGNORE_BACKEND_K2_LIGHT_TREE directiveKT-61330 K2: No BinarySourceElement for system librariesKT-61166 Inherited platform declaration clash & accidental overrideKT-58764 [K2] Make FirResolvedDeclarationStatus.modality not nullableKT-61576 [FIR] Private type alias for public class constructor is always visibleKT-46031 False negative SEALED_INHERITOR_IN_DIFFERENT_MODULE in bamboo HMPP hierarchyKT-59804 K2: Repeat the SealedInheritorInSameModuleChecker HMPP logicKT-59900 K2: Disappeared NESTED_CLASS_NOT_ALLOWEDKT-61067 K2. No Assignments are not expressionsKT-61144 FIR2IR: Fix field access for class context receiver from debugger evaluator in K2KT-59914 K2: Disappeared RETURN_NOT_ALLOWEDKT-60136 Wrong IR is generated for spread call in annotation call when annotation has a vararg parameterKT-56872 K2: not all reassignments, operator assignments, increments, decrements are tracked in DFA for try/catch expressionsKT-60397 K2/MPP: don't perform enhancement twice when Java method is called from different modulesKT-61640 K2: Share declarations from JvmMappedScope between sessions in MPP scenarioKT-59051 “ISE: IrSimpleFunctionSymbolImpl is already bound” when implementing multiple interfaces by delegation where one of them overrides equals/hashCodeKT-60380 K2: IAE: class org.jetbrains.kotlin.psi.KtLambdaArgument is not a subtype of class org.jetbrains.kotlin.psi.KtExpression for factory TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEMKT-60795 K2: missing INCOMPATIBLE_CLASS and corresponding CLI errorKT-59650 K2: Get rid of FirNoReceiverExpressionKT-60555 K2. FirJavaClass source field is nullKT-61045 K2: Missing return from DELEGATED_PROPERTY_ACCESSOR setterKT-60636 KMP: K2 handling of actual typealiases to nullable typesKT-59815 K2: Avoid recomputing argumentVariablesKT-61409 Kotlin/Native: crash in kmm-production-sample (compose-app) with escape analysis enabledKT-61348 K2: Refactor FIR2IR declaration storagesKT-54905 KLIB check on compiled with pre-release versionKT-61249 Move fir-related code from backend.native moduleKT-59478 K2: StackOverflowError on invalid code with nullable unresolvedKT-59893 K2: Disappeared WRONG_NUMBER_OF_TYPE_ARGUMENTSKT-60450 K2: IOOBE from analyzeAndGetLambdaReturnArgumentsKT-57076 K2 does not report ‘More than one overridden descriptor declares a default value’KT-55672 K2. Operator name message instead of “Unresolved reference” when operator isn't defined for typeKT-61454 K1: False positive WRONG_NUMBER_OF_TYPE_ARGUMENTS when typealias is LHS of class literalKT-60252 K2: Supertype argument is not substituted in fake override receivers and value parametersKT-60687 K2: Introduced UNEXPECTED_SAFE_CALLKT-61312 K2: Remove FirExpression.typeRef completely when Compose was migratedKT-60602 Fix scripting tests in 2.0 branchKT-60771 K2: “Conflicting declarations”. Unable to re-declare variable if the first one comes from a destructured elementKT-60760 K2: Every FirFunctionCall has an implicit type reference which points to the return type declarationKT-59944 K2: Disappeared NON_MEMBER_FUNCTION_NO_BODYKT-60936 KMP: check annotations compatibility on members inside expect and actual class scopesKT-60668 KMP: check expect and actual annotations match when actual method is fake overrideKT-60250 K2: origin is set too many times for elvis operatorKT-60254 K2: Extra unset type argument on Java field referenceKT-60245 K2: Extra return is generated in always throwing functionKT-59407 K2: Missing MISSING_CONSTRUCTOR_KEYWORDKT-57681 Request review for all FIR diagnostic messagesKT-60885 K2: Fix testSelfUpperBoundInference test in LV 2.0 branchKT-59957 K2: Missing UNSUPPORTED_SEALED_FUN_INTERFACEKT-60000 K2: Missing UNSUPPORTED_INHERITANCE_FROM_JAVA_MEMBER_REFERENCING_KOTLIN_FUNCTIONKT-60886 K2: Fix testDirectoryWithRelativePath in LV 2.0 branchKT-59419 K2: Missing MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES_WHEN_NO_EXPLICIT_OVERRIDEKT-59748 K2: Return type mismatch: expected Unit, actual Any? for when with an assignment in branchKT-60297 K2: finally block is not coerced to unitKT-59860 [FIR] False-positive UNEXPECTED_SAFE_CALLKT-46794 Contract not working with extension function in classKT-59101 Contract not smartcasting for private extension functions inside classKT-59387 K2: Missing NO_CONSTRUCTORKT-22499 Missing error on ‘x == y’ for different numeric types inferred from smart castsKT-56867 Green in K1 -> red in K2 for unsound code. catch_end to good_finally data flowKT-57526 K1: “NullPointerException: Cannot invoke “com.intellij.psi.PsiElement.getParent()” because “current” is null” with labelKT-46383 EQUALITY_NOT_APPLICABLE is not taking smart cast into consideration in if blockKT-32575 Bound smartcasts in contractsKT-58331 Erroneous suspend conversion on anonymous function should not affect call resolutionKT-37591 Deprecate cases in FE 1.0 when companion property is prioritized against enum entryKT-53210 OVERLOAD_RESOLUTION_AMBIGUITY when lambda with single argument it is involvedKT-51796 False positive smart cast after safe call to contract function with nullable receiverKT-52782 Receiver type mismatch error due to ProperTypeInferenceConstraintsProcessing compiler featureKT-57308 Incorrect property type inference after contracted smart cast of generic typeKT-18130 Smart cast can be broken by expression in string templateKT-21915 Generic parameter of a reference gets wrongly smart-casted after a castKT-22454 Unsound smartcast in nested loops with labeled break from while-trueKT-17694 Smart cast impossible on var declared in init block with a secondary constructorKT-47895 NullPointerException in PSICallResolver.resolveToDeprecatedMod with incorrect loop rangeKT-47378 Missed FUNCTION_CALL_EXPECTED diagnostic on wrong code with callable referenceKT-43408 False positive CAPTURED_VAL_INITIALIZATION on crossinline val property initialization with EXACTLY_ONCE lambda call from the init blockKT-35565 False negative UNINITIALIZED_VARIABLE, VAL_REASSIGNMENT, and INVISIBLE_SETTER errors in unreachable code blockKT-10420 Shadowed variable declaration in inner function makes compiler behave strangeKT-49881 “AssertionError: Base expression was not processed: POSTFIX_EXPRESSION” when analyzing dangling [bracketed] expression with postfixKT-53847 Missed USAGE_IS_NOT_INLINABLE when using runCatching with the inline function's functional argument as a receiverKT-53802 No smartcast after a while (true) infinite loop with breakKT-27754 Stack Overflow Error in pseudocode analysisKT-41131 Error: java.lang.AssertionError: Rewrite at slice LEAKING_THIS when invoking non final constructor property in init blockKT-42962 False positive “ACCIDENTAL_OVERRIDE” when field name annotated with @JvmField conflicts with getter/setter from JavaKT-49507 JVM: “IllegalAccessError: class X tried to access private field” with same-named Kotlin property and Java base class fieldKT-35752 “AE: Recursion detected in a lazy value” with type alias and inner class from another moduleKT-28333 Smartcast is wrong if while(true) and break as a part of expression is used (possible NPE)KT-28489 Smartcast is wrong if not-null assertion in while condition + break to the parent while is used (produces NPE)KT-28369 Var not-null smartcasts are wrong if reassignments are used inside another expressionsKT-26612 Smartcast don't work in not-null checks + NotNull contractKT-7676 Redundant cast of var is not redundant?KT-51984 Cannot use x == null when Java class X declares equals(@NonNull)KT-56249 No method equals for HttpMethod in Spring Boot 3KT-56264 incorrect type inference/smart cast for exhaustive try catchKT-24565 Incorrect floating point comparisons in constant expressionsKT-54333 False positive CONST_VAL_WITH_NON_CONST_INITIALIZER on negative literals in const valsKT-53447 Leaking/unrefined types from main source set when main/test use different library versionsKT-35981 No smart cast and UNSAFE_CALL error when using not() function instead of inverse operatorKT-33132 Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclassKT-55335 Don't report SUPERTYPE_NOT_INITIALIZED for annotation supertype, because FINAL_SUPERTYPE is already reportedKT-27936 Write InnerClasses attribute for all class names used in a class fileKT-53261 Evaluate effect from inline for primitive typesKT-31367 IllegalStateException: Concrete fake override public open fun (...) defined in TheIssue[PropertyGetterDescriptorImpl@1a03c376] should have exactly one concrete super-declaration: []
Compose Compiler
New features
- 13b27eb Strong skipping is no longer considered experimental and is safe for use in production. It will become the default behavior in an upcoming release.
Bug fixes
Docs & Examples
New Features
KT-66958 [Docs][JVM] Add info about generating lambda functions like the Java compiler by default
Fixes
KT-63618 [Docs] Create documentation for Kotlin power-assert compiler pluginKT-67902 [Docs][Wasm] K/Wasm: support new version of exception handling proposalKT-67944 [Docs][K2][IDE] Update IDE support description for K2KT-67865 [Docs][K2] update Kotlin Release PageKT-66957 [Docs] [Gradle] Build reports are StableKT-67936 [Docs][Build tools] Update KGP variantsKT-67508 [Docs] Talk about the new Compose Gradle pluginKT-67347 Remove docs on dropped K/JS feature “Ignoring compilation errors”KT-64710 [Docs] Update What's new for 2.0.0-BetaXKT-63001 K2: Organize team-wide talks about new FIR2IR & PCLAKT-6259 Docs: add information about default constructor for class
IDE
KT-50241 Make Symbol Light Classes consistent with Ultra Light ClassesKT-60318 K2: disable SLC for non-JVM platformsKT-56546 LL FIR: fix lazy resolve contract violation in Symbol Light ClassesKT-55788 [SLC] Declarations with value classes are leaked into light classesKT-61195 UAST modeling of implicit it is inconsistent for Enum.entriesKT-62757 SLC: incorrect nullability annotation on aliased typeKT-62440 On the fly resolve with light method context doesn't resolve method type parametersKT-57550 K2: AA: incorrect constant value in file-level annotationKT-61460 SLC: unnecessary upper bound wildcards (w/ type alias)KT-61377 K2: SLC: wrong retention counterpart for AnnotationRetention.BINARY
IDE. Gradle Integration
KT-65617 K/N project import fails if ~/.konan dir is emptyKT-45775 Improve quality of Import
IDE. JS
KT-61257 Analysis API:“KotlinIllegalArgumentExceptionWithAttachments: Invalid FirDeclarationOrigin DynamicScope” exception on unsupported JS dynamic usage in scope
IDE. Multiplatform
KT-45513 Run c-interop generation in parallel during project importKT-63007 K2: Analysis API Standalone: klibs are not resovled from common codeKT-63126 K2: Analysis API Standalone: IllegalStateException from Kotlin/Native klibKT-61520 Sources.jar is not imported for common and intermediate source-sets from the MPP library
IDE. Script
KT-61267 K2 Scripts: dependency issuesKT-60418 K2 scripting: highlighting sometimes failsKT-60987 K2: Analysis API: make build.gradle.kts resolution work on build scripts from kotlin projects
IR. Actualizer
Fixes
KT-67488 K2: AssertionError No such value argument slot in IrConstructorCallImpl: 0 (total=0KT-60847 K2: Fake overrides are incorrect after actualizationKT-65274 IrFakeOverrideBuilder: ISE: “IrFieldPublicSymbolImpl is already bound”KT-63756 K2: “AssertionError: No such value argument slot in IrConstructorCallImpl” caused by actual typealias for annotation with default parameterKT-65236 IrFakeOverrideBuilder: ISE: “should not be called”KT-65116 K2: IrFakeOverrideBuilder: “No override for FUN” if the function has already been overridden by another class in K <- J<- K <- J hierarchyKT-65499 IrFakeOverrideBuilder: ISE IrSimpleFunctionPublicSymbolImpl is already bound for irrelevant ‘remove’ clashing with a function from Java collection subclassKT-64150 IrFakeOverrideBuilder: Fake overrides for static java functions are not generatedKT-65432 IrFakeOverrideBuilder - No override for FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:elementDataKT-64895 K2:IrActualizer corrupts attributeOwnerId valueKT-58861 K2: Improve the new pipeline of FIR2IR conversion, IR actualization and fake-override generationKT-64835 K2: K/JS: Expect declaration is incompatible errors in the K2 QGKT-63347 K2: Fix overridden symbols inside LazyDeclarationsKT-62535 K2: FakeOverrideRebuilder can't handle f/o without overridden symbolsKT-62292 K2: Extract IrActualizer into separate moduleKT-63442 IrFakeOverrideBuilder: ISE “Multiple overrides” error when function signatures differ only in the type parameter upper boundKT-62623 K2: Ir actualizer leaves inconsistent module links from files
IR. Inlining
KT-66017 K2 / Native: “NoSuchElementException: Sequence contains no element matching the predicate” on building native release binariesKT-64868 [K/N] Inlined assert is later not removed, even without -eaKT-64807 Refactor InlineFunctionResolverKT-64806 Move FunctionInlining to separate module
IR. Interpreter
KT-64079 Native library evolution behaviour for constantsKT-62683 K2: FIR2IR: IrConst*Transformer doesn't evaluate an expression for const val initializer
IR. Tree
KT-66152 IrFakeOverrideBuilder: AssertionError “different length of type parameter lists”KT-65971 K2: Investigate diagnostic test failures with IrFakeOverrideBuilderKT-64974 Consolidate visibility checks in IrFakeOverrideBuilderKT-61360 Fix essential problems in IrFakeOverrideBuilderKT-61970 Refactor IR and FIR tree generators to reuse common logicKT-61703 Drop the dependency on kotlinpoet for IR tree generationKT-63437 IrFakeOverrideBuilder: ISE “Captured Type does not have a classifier” on complex Java hierarchyKT-61934 Decouple building fake overrides from symbol table and build schedulingKT-60923 IR: Mark IrSymbol.owner with OptIn
JavaScript
New Features
KT-56206 KJS / Reflection: add KClass.createInstanceKT-44871 Add @JsExport and @JsName annotations to stdlib classes (especially collections) to avoid method name mangling and improve Kotlin usability from JSKT-8373 JS: support ES6 as compilation targetKT-65168 Introduce an ability to create type-safe JS objectsKT-45604 KJS / IR: Use globalThis instead of top level this
Fixes
KT-66922 K2 JS: Intrinsic Float/Double toString producing wrong numbersKT-64135 K2 / KJS: Incorrect value class support when used with inline funKT-67978 K2: Declaration of such kind (expect) cannot be exported to JavaScriptKT-64951 Kotlin-Multiplatform does not allow JSExport of expectKT-63038 Compilation of suspend functions into ES2015 generatorsKT-16981 js: Command line arguments passed to main() are always emptyKT-34995 JS: List, Map, and Set types are hard to use from JS because of mangled member namesKT-51225 JS IR & Wasm: using nested expect enum entry in a default argument failsKT-63907 KJS: default parameters in interfaces are lost in implementationsKT-64708 KJS: exported interfaces missing __doNotUseOrImplementIt when extending from external typesKT-62806 KJS: Type mismatch on inferred return type with NothingKT-64421 K2: Implement IrJsTypeScriptExportTestGenerated for K2KT-61526 KJS: Compiled files clash with the new per-file granularityKT-63359 K2: support new ways to declare TestResult in JS TestGenerator loweringKT-61929 KJS: “IllegalStateException: No dispatch receiver parameter for FUN LOCAL_FUNCTION_FOR_LAMBDA” caused by run function in init blockKT-65216 K2 JS: False positive JS_NAME_CLASH diagnostic on generic interfaceKT-64548 KJS / K2: “Cannot find delegated constructor call” caused by external classes constructorsKT-64867 K2 JS: Name clash between constructors with same JsName but in different classesKT-64463 KJS / K2: “Name contains illegal chars that cannot appear in JavaScript identifier” caused by non-ASCII characterKT-64451 K2: Implement MultiModuleOrderTestGenerated for K2KT-64450 K2: Implement SourceMapGenerationSmokeTestGenerated for K2KT-64366 KJS / K2: Exported declaration uses non-exportable return type: ‘kotlin.?’KT-64426 K2: Implement JsIrLineNumberTestGenerated for K2KT-64422 K2: Implement IrJsSteppingTestGenerated for K2KT-64364 K2 / KJS: @JSExports generates clashing declarations for companion objects that extends its own classKT-64445 K2: Implement **VersionChangedTestGenerated for K2KT-64446 K2: Implement JsIrInvalidationPerFileWithPLTestGenerated for K2KT-64423 K2: Implement JsIrES6InvalidationPerFileTestGenerated for K2KT-63543 KJS / K2: Exported declaration uses non-exportable return type type: ‘kotlin.Unit’KT-61596 K2 JS: support reporting PRE_RELEASE_CLASSKT-61117 Migrate remaining legacy IC tests to IRKT-61523 KJS: Call main function in per-file modeKT-63089 KJS / K2 : "IllegalArgumentException: source must not be null " for inner class and interface as typeKT-56818 KJS: “TypeError: Class constructor * cannot be invoked without ‘new’” when extending external classKT-62077 KJS: TypeError: str.charCodeAt is not a functionKT-63436 K/JS: Eliminate names for synthetic classes in setMetadataFor()KT-63013 KJS: requireNotNull not working correctly in JS tests with Kotlin 1.9.20KT-61525 KJS: Test functions are not invoked in per-file modeKT-62425 K/JS: Implement K2 and K1 diagnostics for checking argument passing to js()KT-61524 KJS: Eager initialization doesn't work in per-file modeKT-61862 KJS: Can't create kotlin.js.Promise inheritorKT-61710 K/JS: Implement JS_NAME_CLASH check for top level declarationsKT-61886 K/JS: Prepare K/JS tests for JS IR BE diagnosticsKT-60829 Fix JS Incremental tests in 2.0 branchKT-60635 K/JS: Class internal methods may clash with child methods from other module that have the same nameKT-60846 Fix IncrementalJsKlibCompilerWithScopeExpansionRunnerTestGenerated test in 2.0 branch
KMM Plugin
KT-59270 Update wizards in KMM AS plugin after 1.9.20 releaseKT-60169 Generate gradle version catalog in KMM AS pluginKT-59269 Update wizards in KMM AS plugin after 1.9.0 release
Klibs
New Features
KT-66367 KLib ABI dump: support wasm_target manifest attributeKT-65442 [klibs] header klibs: keep internal declarations and declarations inside inlinesKT-62213 [klibs] header klibs should keep private interfacesKT-62259 KLIB ABI reader: add information about a backing field to AbiPropertyKT-62341 [KLIB tool] Dump declared & imported signatures by IR (not metadata)KT-60807 [klib] Add an option to write out header klibs
Fixes
KT-67401 KLib ABI dump: write plain targets in the manifestKT-66970 K2: “IrLinkageError: Function * can not be called” when calling @JvmStatic functions in Native testKT-64440 K2: Port KotlinKlibSerializerTest to K2KT-66921 K/JS backend doesn't report “/ by zero” and fails with const val property must have a const initializerKT-66611 Check, that no bad IR is produced, when we failed to compute constant default value in constant contextKT-33411 Kotlin/Native crashes if several libraries have declarations with the same FQ nameKT-44626 Umbrella issue: different kinds of klib IR linker error messagesKT-64452 K2: Port FilePathsInKlibTest to K2KT-64395 API for ABI: Add a check for the file's existence to KLIB ABI ReaderKT-61143 [klib tool] Dump IR with unbound symbolsKT-65723 K2: Signature clash diagnostic fails for parametrized function with Unsupported pair of descriptorsKT-65063 Clashing KLIB signatures from different modules result in an exceptionKT-64085 Different klib signatures for K1/K2 for overridden properties assigned in init blockKT-63573 K2: Dependency problems with dependencies with same artifact idKT-64082 Different klib signatures in K1/K2 for the same locally used constant declarationKT-63931 [K/N] Relative path to klib option of cinterop tool doesn't workKT-60390 KLIBs: Wrong IrSymbol is used for deserialized expect property's backing field & accessorsKT-61136 Drop ExpectActualTable + clean-up the relevant codeKT-61767 [K/N] Header klibs should keep private underlying properties of value classesKT-61097 [PL] Don't create an executable if there were errors in PL
Language Design
New Features
KT-64510 Proceed to next tower level if property setter is invisible in assignmentKT-59553 K2: Simplify rules for upper bound violated checks for qualifier in LHS of class literalKT-11272 Resolve combined index-accessed get and set operatorsKT-65682 Deprecate header/impl keywordsKT-65965 KMP: Parameter properties in constructor of external classKT-57274 Allow generic argument to have explicit Nothing upper boundKT-1982 Smart cast to a common supertype of subject types after || (OR operator)KT-65964 KMP: Private constructor in external classesKT-37316 Allow actual classifier to have more permissive visibility than visibility of expect classifierKT-58616 KMP: consider relaxing the classifier visibility matching rulesKT-37115 Smart cast with boolean expressions and early return / throw statementsKT-7186 Smart cast for captured variables inside changing closures of inline functionsKT-62138 K1: false positive (?) NO_SET_METHOD for += resolved as a combination of Map.get and plus
Performance Improvements
KT-38101 Exponential analysis of += calls
Fixes
KT-64187 K2: False positive ABSTRACT_NOT_IMPLEMENTED caused by the fact that common code sees platform code of its dependenciesKT-57290 Deprecate smart cast on base class property from invisible derived class if base class is from another moduleKT-54309 Deprecate use of a synthetic setter on a projected receiverKT-61718 Forbid unsound code with self upper bounds and captured typesKT-54607 Can't use same function if having multiple instances of same subtype in same when-statementKT-27252 Smart cast in when on a sealed class depends on the order of “is” checksKT-57178 Change inferred type of prefix increment to return type of getter instead of return type of inc() operatorKT-61749 Forbid unsound bound violation in generic inner class of generic outer classKT-64342 SAM conversion of parameter types of callable references leads to CCEKT-64299 Companion scope is ignored for resolution of annotations on companion objectKT-66453 Consistently resolve operator/infix calls like function calls in presence of classifier candidate for receiverKT-62923 K2: Introduce PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE for projections of outer super types of inner classKT-65724 Propagate data flow information from try block to catch and finally blocksKT-65750 Increment and plus operators that change return type must affect smart castsKT-58881 K2: Run checkers in common code against platform sessionKT-62646 Decide on the equality compatibilityKT-65775 K2: Consider prohibiting actual typealias to superclassKT-65881 K2: Missing ITERATOR_MISSING in for loop on objectKT-61340 K2: Allowed smart cast in common which should be prohibited in platformKT-51827 Inconsistent behavior with smartcast and protected membersKT-58589 Deprecate missed MUST_BE_INITIALIZED when no primary constructor is presented or when class is localKT-26983 Gradle buildscript (kotlin-dsl): “Smart cast to ‘Foo’ is impossible” due to same variable namesKT-62959 Value of captured type is not a subtype of the same captured typeKT-64828 Update KEEP for SubclassOptInRequiredKT-64739 Mark @SubclassOptInRequired as an experimentalKT-26044 When expression is not considered to be exhaustive for empty nullable sealed and enum classesKT-57422 K2: Prohibit use-site ‘get’ targeted annotations on property gettersKT-58921 K1/K2: difference in Enum.values resolve priority
Libraries
New Features
KT-65532 Stabilize experimental API for 2.0KT-60657 Introduce Common String.toCharArray(destination) in stdlibKT-57150 Introduce common protected property AbstractMutableList.modCountKT-57151 Introduce common protected function AbstractMutableList.removeRangeKT-66102 Constructor-like function for creating AutoCloseable instancesKT-59441 Design reading and writing future versions of Kotlin metadata
Performance Improvements
KT-64361 Optimization opportunity in Int.signKT-65590 Make CharSequence.isBlank idiomatic and improve its performanceKT-61488 Kotlin/Native stdlib: simplify ArrayList implementationKT-51058 Avoid byte array allocation in File.writeText when possibleKT-58588 Optimizations for sequence functions distinct, flatten
Fixes
KT-67397 Switch remaining org.jetbrains.kotlin libs to K2KT-61969 Migrate kotlin-test to the current Kotlin Multiplatform PluginKT-60803 Experimental AutoCloseable ‘use’ method is not resolved in JavaKT-63156 Remove all deprecated declarations in kotlinx-metadata-jvmKT-54879 Add callsInPlace contract for more functions in stdlibKT-55777 Unresolved kotlin.AutoCloseable in JVMKT-63219 Change root package and coordinates of kotlinx-metadata-jvm to kotlin.*KT-65518 Memory leak in buildMap and in Wasm/Js/Native (Linked)HashMapKT-65525 JS: Wrong return value of HashMap.keys.removeKT-63397 kotlin-test should declare runtime dependency on “org.junit.platform:junit-platform-launcher”KT-65242 Update transitive dependencies of JVM test frameworks in kotlin-testKT-63355 Detect concurrent modifications in ArrayDequeKT-64956 Implement optimized removeRange for ArrayDequeKT-58039 Wasm: Implement unsigned numbers using wasm builtin capabilitiesKT-63341 K2: JVM StringBuilder has no corresponding members for expected class membersKT-63714 K2: kotlinx-benchmarks fails with “Unable to find method ''org.gradle.api.tasks.TaskProvider” with register(“js”)KT-63157 Make sure that all deprecation levels are raised to ERROR for declarations intended for removal from kotlinx-metadataKT-60870 kotlinx.metadata.InconsistentKotlinMetadataException: No VersionRequirement with the given id in the table In kotlinx-metadata-jvmKT-64230 Prohibit writing versions of metadata that are too highKT-62346 Sublists of ListBuilder does not correctly detect ConcurrentModificationKT-57922 kotlinx-metadata-jvm does not take into account strict semantics flagKT-63447 K2: stdlib buildscript error: file included in two modulesKT-62785 Drop unnecessary suppresses in stdlib after bootstrap updateKT-62004 Drop legacy JS compilations of stdlib and kotlin-testKT-61614 WASM: Enum hashCode is not final
Multiplatform Wizard
KT-66188 Update Compose for Desktop version to 1.6.0
Native
New Features
KT-61642 [K/N] Serialize full IdSignatures to caches
Performance Improvements
KT-63749 konan_lldb.py: is_string_or_array inefficient
Fixes
KT-67218 Native: nested classes in kx.serialization ProtoBuf produce empty array for release binaryKT-66390 Universal binary in included binaries produces universal archive as outputKT-60817 K2/N: Fix remaining testsKT-65659 [K/N][K2] Typealiased kotlin.Throws isn't translated to NSError out paramKT-64249 Native: Implicit cache directory search is O(n^2)KT-61695 [K/N] Empty list error in FakeOverridesActualizer with K2KT-57870 compileKotlinNative fails on windows if PATH contains invalid entryKT-64508 IndexOutOfBoundsException in Konan StaticInitializersOptimizationKT-50547 [Commonizer] K/N echoServer sample fails with multiple “Unresolved reference” errors on WindowsKT-62803 Konanc has print statement “Produced library API in...” that should be deleted or properly logged at INFO levelKT-61248 [K/N] Extract native manglers out of backend.native module
Native. Build Infrastructure
KT-63905 Extract ObjC Export Header generation from K/N backendKT-63220 [K/N] Unable to specify custom LLVM distribution
Native. C and ObjC Import
KT-63049 NPE in BackendChecker.visitDelegatingConstructorCall compiling ObjC-interop classKT-49558 Kotlin/Native: “Backend Internal error: Exception during IR lowering” while compiling “val ldap = memScoped { alloc() }”KT-64105 [K2/N] cannot access Objective-C forward declared class used only in a dependent libKT-59597 [K\N] Usage of instancetype in block return type crashesKT-63287 [K/N] Create test model for building/executing C-Interop testsKT-63048 K2 ObjC interop: Fields are not supported for Companion of subclass of ObjC type
Native. ObjC Export
KT-66565 Exporting framework “umbrella” produces an unimportable frameworkKT-65863 Native: implement a flag to emit compiler errors on ObjCExport name collisionsKT-63153 Native: implement a flag to emit compiler warnings on ObjCExport name collisionsKT-62091 KMP for iOS framework with private api : __NSCFBoolean
Native. Runtime
KT-65170 Kotlin/Native: deprecate -Xworker-exception-handling=legacy with error
Native. Runtime. Memory
KT-62689 Native: generate signposts for GC performance debuggingKT-63423 Kotlin/Native: huge dispose-on-main overheadKT-66371 Native: nullptr access during concurrent weak processing in CMS GCKT-64313 Kotlin Native: Seg Fault during Garbage Collection on 1.9.21 (observed on iOS)KT-61093 Kotlin/Native: enable concurrent weak processing by default
Native. Stdlib
KT-60514 Add llvm filecheck tests for atomic intrinsics
Native. Testing
KT-67501 Mute flaky driver tests on macOS agentsKT-64755 Setup test for CMS GCKT-66014 [K/N][Tests] Some testsuites don't test two-stage compilation and lose -language-version flagKT-64393 Use Compiler Core test infrastructure for testing serialization diagnostics on NativeKT-61871 Native CompilerOutput tests should be runned for K2KT-65117 Implement IrBackendFacades for Kotlin/Native backendKT-65979 Improve test coverage on K/JS and K/JVM with existing testsKT-64408 [K/N] No tests have been found for eagerInitializationGlobal1 test with per-file-cachesKT-64256 IR_DUMP directive doesn't enforce FIR_IDENTICAL when it is possibleKT-62157 Native: Migrate FileCheck tests to new native test infra
Reflection
KT-65156 Calls to callBy that use default arguments fail with KotlineReflectionInternalError when the argument size is a multiple of 32 in a constructor that contains value class as a parameterKT-57972 Reflection: “KotlinReflectionInternalError” when using callBy with overridden function in inline classKT-60708 Reflection: Not supported ) (parentheses in backticks)KT-60984 K2: java.lang.ClassNotFoundException: kotlin.Array in runtime with Spring Boot testKT-60709 Reflection: Not recognized bound receiver in case of ‘equals’ always returning true
Specification
KT-65651 Add Vladimir Reshetnikov to the specification “Acknowledgments” sectionKT-54499 Update kotlin specification for non-local break and continue
Tools. Build Tools API
KT-61860 Add infrastructure for BTA testsKT-65048 “Can't get connection” (to daemon) when classpath has spaces
Tools. CLI
New Features
KT-66703 Add JVM target bytecode version 22KT-64989 Mark the whole diagnostic position range instead of only start position
Fixes
KT-65094 K2: Revise PerformanceManager reportingKT-67417 CLI: Remove option -XrepeatKT-65451 K2: CLI: false positive warning “scripts are not yet supported with K2 in LightTree mode” on irrelevant files in source directoryKT-65842 K2 / CLI: “kotlinc -version” creates META-INF/main.kotlin_moduleKT-66926 Add a flag to report warnings when errors are foundKT-64384 Until the REPL in K2 is not supported, display an appropriate warningKT-64608 K2: Wrong end position of compiler diagnosticsKT-64013 CLI REPL: “com.sun.jna.LastErrorException: [14] Bad address” on invoking kotlinc from CLI on ARM MacKT-62644 Don't enable in progressive mode bug-fix features without target versionKT-62350 CLI: no color output on Apple silicon MacsKT-61156 K2: do not try to run compilation if there were errors during calculation of Java module graphKT-48026 Add the compiler X-flag to enable self upper bound type inference
Tools. CLI. Native
Tools. Commonizer
KT-64376 Commonizer incorrectly retains UnsafeNumber annotation in target sets where it shouldn't
Tools. Compiler Plugin API
KT-59555 Expose resource closing extension point in CompilerPluginRegistrarKT-64444 K2: IrGeneratedDeclarationsRegistrar.addMetadataVisibleAnnotationsToElement doesn't work for declarations in common module
Tools. Compiler Plugins
New Features
KT-63617 Add kotlin-power-assert to Kotlin repositoryKT-33020 Support stripping debug information in the jvm-abi-gen pluginKT-64591 Data class' copy method is never stripped from ABIKT-65690 jvm-abi-gen: Remove internal declarations from ABIKT-64590 jvm-abi-gen: Effectively private classes are not being removed from ABI
Fixes
KT-64707 K2: Parcelize ignores @TypeParceler set for typealiasKT-67523 [K2] Actualizer cannot reconcile mismatched parameter names from java supertypesKT-67489 JsPlainObjects Plugin: Method not found when consumingKT-63607 Migrate kotlin-power-assert into Kotlin repositoryKT-67354 K2 Parcelize: support efficient Parcel serializer for parcelables in the same moduleKT-64454 K2: Implement ParcelizeIrBytecodeListingTestGenerated for K2KT-67353 K2 Parcelize: support parcelableCreator intrinsicKT-66526 K2: Special function kind setup does not work for value parameter whose type is function with a receiverKT-63507 K2 / All-open plugin: “‘open’ has no effect on a final class” warningKT-66208 PowerAssert: some built-in operators are not aligned correctly for some valuesKT-65810 PowerAssert: Infix transformation doesn't capture full contextKT-65640 PowerAssert: Infix function not aligned correctlyKT-61993 K2: Synthetic file classes are generated with start offset of 0, causing errors during compilationKT-64971 Exception is thrown when compiling kotlinx.coroutines to Native because of the new signature clash diagnosticsKT-59074 K2: false-positive MUST_BE_INITIALIZED_OR_FINAL_OR_ABSTRACT if allOpen plugin is used and a val is defined with init {} blockKT-64589 jvm-abi-gen: Order of class members affects ABI jarKT-65072 jvm-abi-gen: SourceDebugExtension annotation isn't stripped along with corresponding attributeKT-54025 [K2] [NONE_APPLICABLE] compiler error in case @ AllArgConstructor annotation is used together with a static fieldKT-54054 [Lombok] An extra unneeded constructor parameter is expected by compiler if java class annotated with @ AllArgsConstructor and has private final initialized fieldKT-61432 K2 Parcelize. RawValue is not recognized if parameter is annotated via typealiasKT-64656 K2: realm-kotlin: compilation errors in IR pluginKT-53861 K2. Report SERIALIZER_TYPE_INCOMPATIBLE on specific type argument in kotlinx.serializationKT-63086 K2: “Parcelable should be a class”KT-60849 jvm-abi-gen: do not treat hasConstant property flag as a part of ABI for non-const propertiesKT-53926 K2. Don't check serializable properties from supertypes
Tools. Compiler plugins. Serialization
KT-65757 K2: Missing @Deprecated annotation on synthesized declarationsKT-63539 K2: Missing “Serializable class has duplicate serial name of property”KT-63570 K2 / Serialization: “Class * which is serializer for type * is applied here to type *. This may lead to errors or incorrect behavior.”KT-64447 K2: Implement Serialization...IrBoxTestGenerated for K2KT-63591 K2: “KotlinReflectionInternalError: Could not compute caller for function” on generated internal constructorKT-64124 Different klib signatures in K1/K2 for a serializable classKT-63402 K2 / Serialization: “SyntheticAccessorLowering should not attempt to modify other files!” caused by sealed base with generic derived class in separate filesKT-62215 Serialization / Native: “IllegalArgumentException: No container found for type parameter” caused by serializing generic classes with a field that uses genericsKT-62522 K2 + kotlinx.serialization + Native: NPE when generic base class has inheritor in other module
Tools. Daemon
KT-64283 Configure correct JVM arguments when starting the daemon
Tools. Fleet. ObjC Export
Fixes
KT-66695 Move analysis-api-klib-reader package into 'o.j.k.native.analysis.api`KT-65384 ObjCExport: class super name special caseKT-66380 ObjCExport: support interface implementationKT-65670 ObjCExport: Naming: Support additional module based prefixKT-64953 ObjCExport: Analysis-Api: enumKT-65348 ObjCExport: Char as function return typeKT-65738 ObjCExport: Analysis-Api: Generate base declarationsKT-65204 ObjCExport: Analysis Api: Support nested classesKT-65225 ObjCExport: implement KtCallableSymbol.isArrayKT-65108 ObjCExport: Tests: Check if ‘requirePlatformLibs’ is necessaryKT-65281 ObjCExport: AA: Run already passing Unit Tests on CIKT-65080 ObjCExport: Analysis-Api: error handlingKT-64952 ObjCExport: Analysis-Api: objectKT-64076 ObjCExport: Do not retain descriptors in stubsKT-64227 ObjCExport: Extract Header Generation to base moduleKT-64168 ObjCExport: Split header generator module into K1 and Analysis ApiKT-64869 ObjCExport: Analysis-Api: Support ‘MustBeDocumented’ annotationsKT-64839 ObjCExport: Enable tests on CI for aggregateKT-64888 ObjCExport: Analysis Api: Support exporting KDoc
Tools. Gradle
New Features
KT-67253 Support per-target configuration in compose-compiler-gradle-pluginKT-67006 Create new compose compiler Gradle pluginKT-62921 Add API to allow getting the version of the kotlinc compilerKT-61975 Re-purpose kotlin.experimental.tryK2KT-64653 Add Kotlin DslMarker into Gradle plugin DSLKT-59627 FUS base pluginKT-62025 K/Wasm: Support binaryen for wasi
Performance Improvements
KT-60664 Gradle 8.3: KGP eagerly creates compile taskKT-64353 Improve reuse of Build Tools Api's classloaderKT-66912 Parallel compilation slowdown due to synchronizationKT-63005 Avoid registering KMP related compatibility/disambiguration rules for pure JVM/Android projects
Fixes
KT-58768 Support configuration cache and project isolation for FUS statisticsKT-65143 Use the new ConfigurationContainer dependencyScope method to create dependency declaration configurationsKT-62640 Compatibility with Gradle 8.5 releaseKT-62639 Compatibility with Gradle 8.4 releaseKT-59024 Compatibility with Gradle 8.3 releaseKT-58064 Compatibility with Gradle 8.2 releaseKT-64355 Add plugin variant for gradle 8.5KT-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-64115 KGP + JVM/JS/WASM: The same library can be passed twice to the compilerKT-67762 Rename Kotlin Compose Compiler plugin on Gradle portalKT-64504 Remove ownModuleName from AbstractKotlinCompileKT-67778 Clarify documentation for compose metricsDestination propertyKT-67139 Build reports can be overriddenKT-67138 Json report is empty for incremental compilationKT-67685 KotlinBaseApiPlugin regression with Gradle's Configuration Cache in 2.0.0-RC1KT-64567 [FUS] Add boolean flag into kotlin.gradle.performance collectorKT-67515 Remove ‘experimental’ from compose strong skipping modeKT-67441 Gradle remote cache misses in the compose pluginKT-67602 Compose gradle plugin: a deprecated plugin option ‘experimentalStrongSkipping’ is added by default that causes a warningKT-67200 Compose gradle plugin: ‘suppressKotlinVersionCompatibilityCheck’ option is duplicated if added as a kotlin option for the KotlinCompile task and kapt is usedKT-67216 Compose compiler plugin: false-positive versions incompatibility is reportedKT-64379 Remove kotlin.useK2 gradle propertyKT-62939 Bump minimal supported AGP version to 7.1KT-63491 Restore access to top-level DSL to configure compiler options in MPPKT-65935 Track project isolation Gradle featureKT-65934 Track if Gradle configuration cache is enabled in the user buildsKT-66459 PowerAssert: Improve design of excludedSourceSets extension propertyKT-64203 Throw exception when old build report properties are usedKT-62758 Gradle: make precise task outputs backup enabled by defaultKT-65568 Deprecate the ability to configure compiler options in KotlinCompilationKT-63419 Deprecate ‘kotlinOptions’ DSLKT-64848 Log K/Native compiler arguments with log level specified for compiler argumentsKT-58223 Kotlin Gradle plugin shouldn't store data in project cache directoryKT-61913 Validate LanguageSettings KDocKT-61171 CompilerPluginsIncrementalIT.afterChangeInPluginBuildDoesIncrementalProcessing doesn't provide a compiler plugin for K2 leading to the test failureKT-62131 Could not isolate value org.jetbrains.kotlin.gradle.plugin.statistics.BuildFlowService$Parameters_Decorated@63fddc4b of type BuildFlowService.ParametersKT-66961 Early access to gradle.rootProject leads to an exceptionKT-61918 Removal of an associated compilation from a build script doesn't lead to full recompilationKT-63619 Add Kotlin power-assert compiler plugin to feature usage statistics gatheringKT-62108 Wrong scope of compiler options is used while configuring options for all targets and all compilationsKT-55322 Kotlin daemon: Cannot perform operation, requested state: Alive > actual: LastSessionKT-66429 Move WASM stability warning to KGP Tooling Diagnostics and report it once per buildKT-63165 Gradle: checkKotlinGradlePluginConfigurationErrors uses deprecated Gradle behaviorKT-66374 Diagnostic for deprecated properties: false-positive warning is reported for kapt.use.k2propertyKT-64117 K2: “‘when’ expression must be exhaustive” state does not fail compilationKT-58443 Change deprecation level to WARNING for KotlinOptionsKT-65768 Don't pass -Xfragment-sources for non-mpp compilationsKT-62398 KMP: Compose breaks resolution of stdlib declarations in common source setKT-64046 Provide K/N version to KGP when -Pkotlin.native.enabled=trueKT-66154 Cannot access ‘org.slf4j.spi.LoggingEventAware’ in the Space K2 QGKT-65952 PowerAssert: Update Gradle extension to be more idiomaticKT-65951 PowerAssert: Add Gradle integration tests to compiler pluginKT-66373 [Wasm, KGP] Npm is not configured for JS usagе for wasmWasi projectKT-66314 Build reports in JSON: property ‘kotlin.build.report.json.directory’ without value causes NPEKT-64380 Add project diagnostics for deprecated propertiesKT-65986 GradleDeprecatedOption.removeAfter does not actually remove arguments from the compilerOptions/kotlinOptions DSLsKT-65989 Compile against Gradle API 8.6KT-65819 Build Gradle Plugins against Gradle 8.5 APIKT-65701 Limit Gradle daemon max memory in integration testsKT-65708 Flaky tests because of ivy repos in Integration TestsKT-56904 Enable warnings-as-error for Kotlin Gradle plugins compilationKT-65606 Out of memory in Anki Android in the K2 QGKT-65347 K/N has not been dowloaded before :commonizeNativeDistributionKT-65213 Collect logic for FUS metrics calculation in one placeKT-61698 Compiler options configured inside metadata {} target set up all targets in a projectKT-64824 Move validateParameters from CInteropProcess to diagnosticsKT-60879 Deprecation warning on trying to configure Configuration multiple timesKT-64251 KGP: Cannot re-use tooling model cache with Project Isolation due to “~/.gradle/kotlin-profile” changingKT-64655 K2: PeopleInSpace: K2 build fails during Gradle configKT-63697 The warning is still presented in terminal after suppressing it with -Xexpect-actual-classes flagKT-62527 Gradle: get rid of the Project.buildDir usagesKT-60733 Allow specify log level for compiler arguments used to compile sourcesKT-63369 Fix: “The org.gradle.api.plugins.BasePluginConvention type has been deprecated.”KT-63368 Fix "The automatic loading of test framework implementation dependencies has been deprecated. "KT-63601 Fetching Gradle compiler DSL objects using raw strings is inconvenient in the Groovy DSLKT-62955 Missing static accessors for Wasm targets in Kotlin Gradle plugin DSL:KT-62962 Remove COMPILE_INCREMENTAL_WITH_ARTIFACT_TRANSFORM system propertyKT-62264 Send build type report metric to FUSKT-62650 Gradle: Return the usage of kotlin-compiler-embeddable backKT-61295 KotlinTestReport captures Project.buildDir too earlyKT-62987 Add tests for statistics plugin in Aggregate buildKT-62964 Build Gradle plugin against Gradle 8.4 APIKT-62617 Update report configuration project FUS metricsKT-61896 Gradle: compilation via build tools API doesn't perform Gradle side output backupsKT-62016 ClassNotFoundException on org.jetbrains.kotlin.backend.common.serialization.metadata.DynamicTypeDeserializer in the K2 QGKT-56574 Implement a prototype of Kotlin JVM compilation pipeline via the build tools APIKT-61206 Build system classes may leak into the Build Tools API classloaderKT-61737 GradleStyleMessageRenderer.render misses a space between the file and the message when location is (line:column = 0:0)
Tools. Gradle. Cocoapods
KT-57650 Gradle Cocoapods: use pod install --repo-update instead of pod installKT-63331 CocoaPods plugin noPodspec() causes “property * specifies file * which doesn't exist.”
Tools. Gradle. JS
Fixes
KT-55620 KJS / Gradle: plugin doesn't support repositoriesModeKT-65870 KJS / Gradle: kotlinUpgradePackageLock fails making Yarn unusableKT-66917 JS/Wasm: Upgrade NPM dependenciesKT-63040 K/JS: Rework outputs of webpack and distribution taskKT-61992 KJS / Gradle: KotlinJsTest using KotlinMocha should not show output, and should not run a dry-run every time.KT-65295 Gradle: K/N and K/JS tests may produce unrequested TeamCity service messagesKT-63435 KJS: Get rid of deprecated outputFileProperty of Kotlin2JsCompileKT-61294 NodeJsRootExtension captures Project.buildDir too earlyKT-59282 K/JS: KotlinJsIrLinkConfig is not compatible with Configuration Cache in Gradle 8.1.1KT-62780 K/JS: Deprecate node-specific properties in NodeJsRootExtensionKT-63544 KGP: JS - KotlinJsIrLink is not compatible with Gradle CC starting 8.4KT-63312 KJS: Apply IR flags for JS compilations unconditionallyKT-62633 wasmWasi/JsNodeTest tasks are always not up-to-dateKT-63225 java.lang.ClassNotFoundException: org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation in the K2 QGKT-41382 NI / KJS / Gradle: TYPE_MISMATCH caused by compilations.getting delegateKT-53077 KJS / Gradle: Remove redundant gradle js log on kotlin buildKT-56300 KJS / Gradle: plugin should not add repositories unconditionallyKT-60694 KJS: Remove K/JS legacy support from Gradle pluginKT-56465 MPP: Import with npm dependency fails with “UninitializedPropertyAccessException: lateinit property fileHasher has not been initialized” if there is no selected JavaScript environment for JS targetKT-41578 Kotlin/JS: contiuous mode: changes in static resources do not reload browser page
Tools. Gradle. Kapt
KT-62518 kapt processing is skipped when all annotation processors are indirect dependenciesKT-27404 Kapt does not call annotation processors on custom (e.g., androidTest) source sets if all dependencies are inherited from the main kapt configurationKT-22261 Annotation Processor - in gradle, kapt configuration is missing extendsFrom
Tools. Gradle. Multiplatform
New Features
KT-66047 KMP: Isolate dependencies graph between main and test source setsKT-61559 Include stdlib and platform dependencies to KotlinNativeCompilation.compileDependencyFiles APIKT-65196 Add high-level DSL to configure compiler options in the multiplatform project
Performance Improvements
KT-57141 K2: KotlinCompile task input named ‘multiplatformStructure.fragments.$0.sources’ is tracked in a pure JVM kotlin project together with changes of sources
Fixes
KT-65315 KMP Composite compileIosMainKotlinMetadata fails with “Could not find ”KT-67042 K2: Unresolved reference ‘convertRadiusToSigma’KT-66983 MPP Configuration Cache IT fails with Gradle 8.7 on windowsKT-60489 Android-java only consumers (no KGP applied) choose Java-variant instead of Android-variant when depending on MPP libraryKT-67806 KMP import fails if android target has flavorsKT-67636 Gradle configuration error when use withJava()KT-63536 KMP: MetadataDependencyTransformationTask is not Thread SafeKT-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 itKT-65426 K2: Debug compilation fails because code from main source set included in two K2 fragmentsKT-65480 MissingNativeStdlibChecker checks existence of konanDistribution.stdlib during configuration phaseKT-61945 Report redundant dependsOn-edgesKT-65187 Remove deprecated platform plugins idsKT-49919 Introduce the org.gradle.jvm.environment attribute on JVM and Android published variants (both for MPP and non-MPP libraries)KT-66419 Remove useless API: Kotlin compilation level compiler options DSLKT-64913 Report warning if user has multiple source set roots for a certain compilationKT-66563 Stop including resources to metadata klibKT-61078 K2: Compilation fails in FirSerializer trying to serialize nested classKT-66372 KMP: JVM dependency can be downgraded by metadata dependencyKT-66431 KMP: External Target Compilation friendArtifactResolver throws ClassCastExceptionKT-64995 KonanPropertiesBuildService is not compatible with Project IsolationKT-61430 K2/KMP: metadata compilation fails with Unresolved reference for property in actual classKT-63753 K2: File “does not belong to any module” when it is generated by registerJavaGeneratingTask in AGPKT-62508 Merge Android Source Sets into one K2 FragmentKT-61943 Mark the checkKotlinGradlePluginConfigurationErrors as UP-TO-DATE when possibleKT-63206 Deprecate eager CInteropProcess.outputFile in favor to lazy outputFileProviderKT-65248 Native compile task fail with ClassNotFoundException: org.jetbrains.kotlin.cli.utilities.MainKtKT-56440 TCS: Gradle Sync: Add API to populate extras only during syncKT-64629 Gradle configuration fails: ‘fun jvmToolchain(jdkVersion: Int): Unit’ can't be called in this context by implicit receiverKT-63226 KGP Multiplatform Ide Dependency Resolution: Use gradle variants instead/in addition of ArtifactResolutionQueryKT-60734 Handle the migration from ios shortcut and source set with gettingKT-63197 After using Kotlin 1.9.20 on Windows 11, the gradle sync failedKT-61540 K2: KMP/K2: Metadata compilations: Discriminate expect over actual by sorting compile path using refines edgesKT-60860 K2: Fix KotlinNativeCompileArgumentsTest in 2.0 branchKT-61463 KMP: Remove unused ‘kpm’ codeKT-40309 A call of a declaration with actual typealiases is incorrectly successfully compiled in commonTest using the type from actual part
Tools. Gradle. Native
New Features
KT-49268 Only download Kotlin/Native Compiler when there are valid targets
Performance Improvements
KT-58303 Kotlin multiplatform Gradle plugin downloads Kotlin/Native compiler during configuration
Fixes
KT-67522 K/N toolchain: unclear compilation error if path specified as a value for the kotlin.native.home doesn't provide the kotlin native compiler downloadedKT-67521 K/N warning checking existence of the standard library isn‘t displayed when the native toolchain enabled and the kotlin native home dir doesn’t contain stdlibKT-65624 K/N warning: “The Kotlin/Native distribution used in this build does not provide the standard library.” is displayed during configuration phaseKT-66694 Disable Kotlin Native Toolchain when custom konan home passedKT-66309 K/N compiler can't be downloaded if project import is stopped while ‘commonizeNativeDistribution’ task is being executed and rerun againKT-65641 Invalid replacements for deprecated properties ‘konanHome’ and ‘konanDataDir’ are suggested as quick fixesKT-65823 Add downloading k/n dependencies to KotlinNativeProviderKT-62907 Turn on downloading Kotlin Native from maven by defaultKT-62795 CInteropProcess task resolves cinterop def file eagerly, breaking Gradle task dependenciesKT-66982 Gradle plugin corrupts Native compiler dependenciesKT-66750 Cannot query the value of task ‘:commonizeNativeDistribution’ property ‘kotlinNativeBundleBuildService’ because it has no value availableKT-64903 Add maven repo with dev versions into ITKT-66422 Configuration cache breaks during Kotlin Native dependencies downloadingKT-65985 Race condition during simultaneous execution of several native tasksKT-51379 Build fails when using RepositoriesMode.FAIL_ON_PROJECT_REPOS with kotlin multiplatform projectsKT-52567 Use Gradle dependency management for downloading Kotlin/Native compiler when compiling with GradleKT-65222 Native compile task fails after clean reimportKT-52483 Sign native prebuilt tarsKT-62800 CInteropProcess should not require .def file to existKT-51255 Kotlin/Native should not download compiler artifacts when not necessaryKT-62745 iOS application build is failing if script sandboxing option is enabled in XcodeKT-61657 KonanTarget should implement equals or custom serializationKT-62232 embedAndSignAppleFrameworkForXcode task is broken with 1.9.20-Beta2KT-56455 Gradle: remove enableEndorsedLibs from codebaseKT-51553 Migrate all Kotlin Gradle plugin/Native tests to new test DSL and add CI configuration to run them
Tools. Incremental Compile
New Features
KT-61865 Add support for incremental compilation within the in-process execution strategy in the build tools api
Fixes
KT-61137 Incremental scripting compilation fails with 2.0KT-65943 Incorrect scopeFqName recorded in LookupTrackerKT-56423 IC: “Cannot access class ‘xxx.Foo’. Check your module classpath for missing or conflicting dependencies” in tests and KSPKT-62101 IC: Execution failed for ClasspathEntrySnapshotTransform: when using tools.jar as dependencyKT-62686 K2: Common module sees platform declarations in case of MPP project incremental compilationKT-63837 Implement baseline fix for common sources getting access to platform declarationsKT-64513 Simplify adding configuration properties to incremental compilationKT-21534 IC doesn't recompile file with potential SAM-adapter usageKT-63839 Measure impact of rebuilding common sources, using nightly IC benchmarksKT-64228 K2: After switching to LV20 branch incremental tests are not running on PSI anymoreKT-46743 Incremental compilation doesn't process usages of Java property in Kotlin code if getter is removedKT-60522 Incremental compilation doesn't process usages of Java property in Kotlin code if return type of getter changesKT-56963 Add MPP/Jvm incremental compilation tests for both K1 and K2 modesKT-63876 Move useful utilities from KmpIncrementalITBase.kt to KGPBaseTest and/or common utilsKT-63010 Build reports may contain incorrect measurements for “Total size of the cache directory”KT-59178 With language version = 2.0 incremental compilation of JVM, JS fails on matching expect and actual declarationsKT-60831 Fix IncrementalMultiplatformJvmCompilerRunnerTestGenerated in 2.0 branch
Tools. JPS
KT-65043 JPS dumb mode should respect maps needed for the compilerKT-55393 JPS: Java synthetic properties incremental compilation is brokenKT-63549 Add compiler performance metrics to JPS build reportsKT-63484 JPS Kotlin Incremental Compilation OvercachingKT-62486 K2 Intellij build: Execution timeout after changes in IC in the K2 QGKT-60737 Investigate/fix JPS-related tests in 2.0 migration branch
Tools. Kapt
Fixes
KT-66541 K2 KAPT: KotlinIllegalArgumentExceptionWithAttachments: Expected expression ‘FirPropertyAccessExpressionImpl’ to be resolvedKT-64303 K2 KAPT: Kapt doesn't dispose resources allocated by standalone analysis APIKT-66773 KAPT: Generated stubs cannot access annotations from other moduleKT-65399 K2 QG: Kapt3 with K2 produces incorrect codeKT-65684 KAPT: (Re)enable fallback to K1 KAPT and make it defaultKT-44706 KAPT: @JvmRecord causes “Record is an API that is part of a preview feature”KT-59488 K2: build sphinx-kotlinKT-64391 Some K2 Kapt integration tests are being executed with K1KT-65404 KAPT should print a warning if stub generation is triggered for an interface with method bodies but without -Xjvm-default=all or -Xjvm-default=all-compatibilityKT-65453 Kapt4: error “annotation @ParameterName is missing a default value for the element ‘name’” for a composable lambda fun without parametersKT-61080 Kapt: investigate suspicious check for KMutableMap.Entry in KaptTreeMakerKT-65006 [kapt] org.jetbrains.kotlin.utils.exceptions.KotlinIllegalArgumentExceptionWithAttachments: Error while resolving org.jetbrains.kotlin.fir.declarations.impl.FirRegularClassImpl in the K2 QGKT-64479 Kapt4 + Compose. Error: scoping construct cannot be annotated with type-use annotation: @androidx.compose.runtime.ComposableKT-64719 K2 KAPT Stub genertaion doesn't fail on files with syntax errorsKT-64680 Kapt: remove the flag to enable old JVM backendKT-64639 KAPT+JVM_IR: erased error types in JvmStatic and JvmOverloadsKT-64389 K2 KAPT generates invalid code for multiple generic constraintsKT-61776 K2: KAPT tasks fail with parallel gradleKT-64021 Kapt3 + Kapt4. NullPointerException: processingEnv must not be nullKT-64301 K2 KAPT: Kapt doesn't report invalid enum value names to logKT-64297 K2 KAPT: Deprecated members are not marked with @java.lang.DeprecatedKT-60821 [KAPT4] Make sure that KAPT produces correct JCTree; if that's not possible, investigate using JavaPoet as an alternativeKT-62059 Kapt4IT.kt18799 test fails - cannot find symbol FactoryKT-62097 K2: [KAPT4] Keep import statements for unresolved annotation classesKT-61628 K2: testAndroidDaggerIC doesn't work with Kapt4KT-61916 K2 KAPT. Kapt doesn't generate fully qualified names for annotations used as arguments to other annotationsKT-61729 K2: KAPT 4: Compiler crash during compilation of Sphinx for AndroidKT-61333 K2 Kapt: support REPORT_OUTPUT_FILES compiler modeKT-61761 Kapt4ToolIntegrationTestGenerated should not use Kapt3ComponentRegistrarKT-59702 KAPT4: Build sphinx-kotlin using KAPT4
Tools. Maven
KT-63322 Add tests for KTIJ-21742KT-54868 Stop publishing kotlin-archetype-jsKT-60859 K2: Fix maven IncrementalCompilationIT tests in 2.0 branch
Tools. Parcelize
KT-57685 Support ImmutableCollections in Parcelize plugin
Tools. REPL
KT-18355 REPL doesn't quit on the first line after pressing Ctrl+D or typing :quit
Tools. Scripts
KT-67727 Kotlin Scripting with language version 2.0 fails during IR lowering on empty scriptsKT-66395 K2: Scripting test testHelloSerialization fails on K2KT-63352 Scripting dependencies resolver logs “file not found” even if the artefact is retrievedKT-62400 K2: Missing annotation resolving for scriptsKT-65865 K2: Compile scripts in a separate sessionKT-65967 Scripts in common source roots should be forbidden for nowKT-58367 Remove script-util from the repo
Tools. Wasm
New Features
KT-63417 KMP hierarchy DSL. Split withWasm() into withWasmJs() and withWasmWasi()KT-64553 K/Wasm: enable binaryen by default in production builds
Fixes
KT-65864 K/Wasm: update Node.js to 22.xKT-67785 Kotlin/Wasm: Node.JS 22 does not need experimental-wasm-gc flag anymoreKT-66228 K/Wasm 2.0.0-Beta4 distribution doesn't contain all filesKT-66159 K/Wasm: applyBinaryen somehow affects skiko.mjsKT-67086 K/Wasm: wasi with binaries.library fails on import and buildKT-65889 wasmJsBrowserDistribution doesn't copy wasm binaries to dist folderKT-66733 wasmWasiTest is not compatible with Gradle Configuration CacheKT-64851 Wasm. Support Gradle configuration cacheKT-64601 Indicate that wasmJsBrowserDevelopmentRun has finished bundlingKT-65686 K/Wasm: Binaryen and d8 have to be downloaded via the same mechanism as Node.js and YarnKT-58291 Wasm: --tests argument is ignored when running wasmBrowserTest
Previous ChangeLogs: