Update plugin org.jetbrains.kotlin.plugin.serialization to v2.0.20 #120
		Reference in New Issue
	
	Block a user
	
	No description provided.
		
		Delete Branch "renovate/org.jetbrains.kotlin.plugin.serialization-2.x"
	
	Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
2.0.10->2.0.20Release Notes
JetBrains/kotlin (org.jetbrains.kotlin.plugin.serialization)
v2.0.20Analysis. API
New Features
KT-68143Analysis API: support KtWhenConditionInRange call resolutionPerformance Improvements
KT-67195K2: do not call redundant resolve on body resolution phase for classesFixes
KT-67360Analysis API: KtDestructuringDeclarationSymbol#entries shouldn't be KtLocalVariableSymbolKT-67748K2: AllCandidatesResolver modifies the original FirDelegatedConstructorCallKT-68198Analysis API: Support application service registration in plugin XMLsKT-62936Analysis API: NativeForwardDeclarationsSymbolProvider is not supported for Kotlin/NativeKT-68689LL API: support analysis from builtins moduleKT-69630KAPT User project builds with KAPT4 enabled fail with Metaspace overflowKT-65417K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source setsKT-68882Analysis API: RefactorKaSymbolsKT-65413K2 IDE: KTOR unresolved serializer() call for@Serializableclass in common codeKT-67996Analysis API: rename Kt prefix to KaKT-67775Analysis API: expose only interfaces/abstract classes for the user surfaceKT-68009K2: lowering transformers of Compose compiler plugin access AbstractFir2IrLazyFunction modality, which results in null point exceptionKT-68918collectCallCandidates works incorrectly for parenthesis invokeKT-68462Analysis API: Integrateproject-structuremodule intoanalysis-apiandanalysis-api-platform-interfaceKT-69131AA: "provideDelegate" operator is not resolved from the delegation reference in FIR implementationKT-69055Analysis API: StabilizeKaScopesKT-66216K2 IDE. "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" on incorrect string templateKT-68959Introduce KaSeverityKT-53669Analysis API: redesign KtSymbolOrigin to distinguish kotlin/java source/library declarationsKT-68846Mark KaFirReference and all implementations with internal modifierKT-68845Move KaSymbolBasedReference to resolution packageKT-68844Move KaTypeProjection to types packageKT-65849K2: Rename 'high-level-api' family of JARs to 'analysis-api'KT-62540Remove uses of TypeInfo.fromString and TypeInfo.createTypeText from Kotlin pluginKT-62889K2 IDE. FPMISSING_DEPENDENCY_CLASSon not available type alias with available underlying typeKT-68155Analysis API: Add PSI validity check toanalyzeKT-62343Analysis API: fix binary incopatibility problems cause byKtAnalysisSessionProvider.analyzebeing inlineKT-68498To get reference symbol the one should be KtSymbolBasedReferenceKT-68393Analysis API: RenameKaClassLikeSymbol. classIdIfNonLocaltoclassIdKT-62924Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableIdKT-66712K2 IDE. SOE on settings string template for string variable with the same nameKT-65892K2: "We should be able to find a symbol" for findNonLocalFunctionKT-68273AA: supportKtFirKDocReference#isReferenceToImportAliasKT-68272AA: KtFirReference.isReferenceToImportAlias doesn't work for references on constructorKT-66996Analysis API: Expose the abbreviated type of an expandedKtTypeKT-66646K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl from FirJsHelpersKt.isExportedObjectKT-68203K2: Analysis API: wrong type of receiver value in case of imported object memberKT-68031LL resolve crash in case of PCLA inference with local objectKT-67851K2:PsiReference#isReferenceToalways returns false for references to Java gettersKT-68076AA: use type code fragments for import alias detectionKT-65915K2: Analysis API: extract services registration into xml fileKT-68049Analysis API: do not expose imported symbolsKT-68075K2: Analysis API: Type arguments for delegation constructor to java constructor with type parameters not supportedKT-65190AA: reference to the super type is not resolvedKT-68070AA: KtExpressionInfoProvider#isUsedAsExpression doesn't work for KtPropertyDelegateKT-67743K2: Stubs & AbbreviatedTypeAttributeKT-67706K2: "KtDotQualifiedExpression is not a subtype of class KtNamedDeclaration" from UnusedCheckerKT-68021Analysis API: do not break the diagnostic collection in a case of exception from some collectorKT-67973AA FIR: wrong KtCall modeling for == from type boundKT-67949AA: Type arguments of Java methods' calls are not reported as used by KtFirImportOptimizerKT-67988AA: functional type at receiver position should be wrapped in parenthesisKT-66536Analysis API: ContextCollector doesn't provide implicit receivers from FirExpressionResolutionExtensionKT-67321AA: Type arguments of Java methods' calls are not resolvedKT-64158K2: "KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtParameter"KT-60344K2 IDE. "KotlinExceptionWithAttachments: expectcreateKtCallto succeed for resolvable case with callable symbol" on attempt to assign value to param named getParamKT-64599K2: "expectcreateKtCallto succeed for resolvable case with callable" for unfinished if statementKT-60330K2 IDE. ".KotlinExceptionWithAttachments: expectcreateKtCallto succeed for resolvable case with callable symbol" on attempt to assign or compare true with somethingKT-66672K2 IDE. False positive INVISIBLE_REFERENCE on accessing private subclass as type argument in parent class declarationKT-67750Analysis API: Removeinfixmodifiers from type equality and subtyping functionsKT-67655Analysis API: declare a rule how to deal with parameters in KtLifetimeOwnerKT-61775Analysis API: KtKClassAnnotationValue lacks complete type informationKT-67168K2: Analysis API: Rendering is broken for JSR-305 enhanced Java typesKT-66689Analysis API: KtFirPackageScope shouldn't rely on KotlinDeclarationProvider for binary dependencies in standalone modeKT-60483Analysis API: add isTailrec property to KtFunctionSymbolKT-67472K2: Analysis API FIR: KtFunctionCall misses argument with desugared expressionsKT-65759Analysis API: Avoid hard references toLLFirSessionin session validity trackersKT-60272K2: Implement active invalidation ofKtAnalysisSessionsKT-66765K2: Analysis API: support classpath substitution with library dependencies in super type transformerKT-67265K2: status phase should resolve original declarations in the case of classpath subsitutionKT-67244K2: StackOverflowError in the case of cyclic type hierarchy and library classpath substitutionKT-67080K2: clearer contract for lazyResolveToPhaseWithCallableMembersKT-66713K2 FIR: Expose a way to get the module name used for name manglingKT-61892KtType#asPsiType could provide nullability annotationsKT-66122Analysis API: PassKtTestModuleinstead ofTestModuleto tests based onAbstractAnalysisApiBasedTestAnalysis. Light Classes
KT-65714K2: IDE K2: "org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirClassLikeSymbolPointer pointer already disposed"KT-65835SymbolLightClassForClassLike.getNamereturnsnullfor a companion object instead ofCompanionKT-68261SLC: Constructors of sealed classes should be privateKT-68696DropDecompiledPsiDeclarationProvider-related stuffKT-68404SLC: wrong binary resolution to declaration with@JvmNameKT-68275LC: no arg constructor is not visible in light classesKT-66687Symbol Light Classes: Duplicate field names for classes with companion objectsKT-66804Symbol Light Classes: Fields from the parent interface's companion are added to DefaultImplsApple Ecosystem
KT-65542Cinterop tasks fails if Xcode 15.3 is usedBackend. Native. Debug
KT-67567Native: after updating to LLVM 16 lldb hangs when smooth steppingBackend. Wasm
KT-70591To much sources that don't exist inside SourceMap fileKT-69529compileProductionExecutableKotlinWasmJs FAILED: No such value argument slot in IrConstructorCallImpl: 1 (total=1)KT-68088Wasm: "UNREACHABLE executed at Precompute.cpp:838" running gradle task wasmJsBrowserDistribution for compose multiplatform on WindowsKT-65798K/Wasm: make an error on default export usageKT-68828Wasm test failure. expect-actual. private constructor in expectKT-68453K/Wasm: "Supported JS engine not detected" in Web WorkerKT-64565Kotlin/wasm removeEventListener function did not remove the event listenerKT-65322[Wasm] Clean-up bootstrap codeKT-66099Wasm: 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-58310Consider non-functional type constraints for type variable which is an expected type for lambda argumentKT-68969Consider implementing general "redundant interpolation prefix" warningKT-57872Improve "Public-API inline function cannot access non-public-API" checkKT-68165Native: type checks on generic types boundaryKT-67611Implement improved handling of $ in literalsKT-67787Implement guard conditions for when-with-subjectKT-39868Allow access to protected consts and fields from a super companion objectKT-66169useContentslacks acontractKT-67767Introduce an ability to enforce explicit return types for public declarations without enabling Explicit API modeKT-65841Allow to actualize expect types in kotlin stdlib to builtins in JVMKT-53834Support for JSpecify@NullUnmarkedPerformance Improvements
KT-69995K2: Slow compilation when star projecting mutually recursive bounds from javaKT-69723K2: code analysis taking too longKT-69898K2: Performance degradation in fir2ir caused by changes around intersection typesKT-68034Devirtualization analysis fails to devirtualize string.getFixes
KT-67102IR Evaluator: NoSuchFieldException when accessing a private delegated propertyKT-35305"Overload resolution ambiguity" on function for unsigned types (UByte, UShort, UInt, ULong)KT-69211K2: java.lang.IllegalArgumentException: Failed requirementKT-68874Types with different captured types as type arguments are rendered incorrectlyKT-66086K/N: Unchecked illegal cast is not thrownKT-70186Kotlin 2.0.20-Beta2: Unexpected number of type arguments: 0KT-68889K2: type variable should not be fixedKT-69835K2 / Native: kotlin.native.binary.gc=cms throws library cached but its dependency isn't errorKT-70417DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE leads to NPE in BEKT-69964K2: Returning from an in-place lambda doesn't compileKT-69773K2: "Overload resolution ambiguity between candidate" with arraysKT-60261K2: No origin is set for composite assignment operatorsKT-15388Forbid delegated property to have external getter/setterKT-70238K2: false negative VOLATILE_ON_VALUE for constructor propertiesKT-68669K2: Generate inherited delegated members after actualizationKT-63828K2: Missingsignaturemetadata for accessors of properties inherited from delegateKT-63871K2: different value ofisNotDefaultflag for property inherited from delegateKT-67119Migration warning from context receivers to context parametersKT-68997K2: "No accessor found" for an inline value class when query the value of a delegated class by reflectionKT-64106Native: the compiler allows using-optand-gat the same timeKT-69766K2: False negative: Internal setter of generic class is accessible from another moduleKT-68364JVM: ISE "Bad exception handler end" on a non-local break/continue inside try with finallyKT-69494StackOverflowError in CfgTraverserKt.getPreviousCfgNodesKT-56880K2. Conflicting overloads for main() isn't shown when language version is set to 2.0KT-69282K2: equality of unsigned types with nullability works incorrectlyKT-68492JVM IR backend: IDE / Kotlin Debugger: AE “Non-reified type parameter under ::class should be rejected by type checker” on evaluating private generic functionKT-70039K2: inconsistent stability of vals of captured receiversKT-44139Don't report overload resolution ambiguities if arguments contain an error typeKT-68996K2: "Not enough information to infer type argument" caused by typealias annotation with fixed generic argumentKT-55851K2: reference to a field from package private class crashes in runtimeKT-65038K2: Type alias from indirect dependency causesMISSING_DEPENDENCY_CLASSerrorKT-61875Native: remove support for bitcode embeddingKT-67693Implement checkers for K1 compiler which will check the usage of K2 new features and report that they are not supported in K1 compilerKT-68556K2: false negative PROPERTY_WITH_NO_TYPE_NO_INITIALIZER on uninitialized property without typeKT-60445K2/Java: investigate possible symbol clash while enhancing Java class type parameter boundsKT-64193K2: No smartcast with two boolean expressions in a rowKT-65546K2. implement extended checker for unused anonymous parameter in lambdaKT-68358@EnhancedNullabilityis missing on value parameter type after inheritance by delegation with strict JSpecify enabledKT-67791False negative "Synchronizing by Meters is forbidden" with inline value classesKT-69495k2: inconsistent output of unsigned number in string templatesKT-69619K2. JAVA_TYPE_MISMATCH when Kotlin out generic type used in JavaKT-69563trying to call.sourceonFirPackageFragmentDescriptorresults in exceptionKT-69611Internal annotation FlexibleArrayElementVariance is written to output jarKT-69463K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERS with expect/actual declarationsKT-68724K2: "ABSTRACT_MEMBER_NOT_IMPLEMENTED" caused by open modifier on interfaceKT-69182K2: OptIn on enum companion blocks enum constantsKT-69191K2: "Unresolved reference" caused by nested data objectsKT-69569Wrong paths when one type has multiple annotated argumentsKT-55128Wrong type path in type annotations when type arguments are compiled to wildcardsKT-67692Native: support LLVM opaque pointers in the compilerKT-69402FirSupertypeResolverVisitor: ConcurrentModificationExceptionKT-69062K1: false-negative "unsupported feature" error on multi-dollar interpolationKT-68967Consider demoting warnings about multi-dollar interpolation to IJ inspectionsKT-68957False-negative diagnostics about multi-dollar interpolation on string literals without interpolationKT-69476False negative NO_ELSE_IN_WHEN on when over intersection type with expect enum/sealed classKT-67069K2: Delegated member calls interface method instead of fake overrideKT-63864K2: Missing abbreviated type in metadataKT-59833K2: Stop modifying values of enum entriesKT-69421K2: Resolve changed from delegated function to java default functionKT-69392K2: "UNSAFE_CALL": when with some variable subjects does not smartcast the variableKT-69053K2: Unsupported intersection overrides for fieldsKT-69227K2: "Argument type mismatch" caused by generic typealias and upper boundKT-31371NOT_YET_SUPPORTED_IN_INLINE: incorrect error message for local inline functionKT-49473PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' propertyKT-49474NON_PUBLIC_CALL_FROM_PUBLIC_INLINE: specialize error message for 'inline' propertyKT-49503SUPER_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' propertyKT-11302On inapplicable '@JvmStatic' annotation, highlight only the annotation, not the function signatureKT-59510K2: do not render annotations in the deprecation diagnosticKT-68532"This code uses error suppression for 'INAPPLICABLE_JVM_NAME'. While it might compile and work, the compiler behavior is UNSPECIFIED and WON'T BE PRESERVED"KT-68859K2: unable to suppress only "JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE"KT-68469[K2] MISSING_DEPENDENCY_CLASS caused by redundant@file:JvmNameKT-68999K2: Unify the style of FIR generator with IR and SIR tree-generatorsKT-66061Kotlin/Native - building shared module for iOS - Argument list too longKT-49420Suspicious behaviour of frontend in case of DefinitelyNotNull type overloadKT-59752K2: "Conflicting overloads" if function with same signature added to different contextsKT-68618K1: Unresolved reference for qualified this in implicit typeKT-25341NOT_YET_SUPPORTED_IN_INLINE reported over anonymous object borderKT-69215K2: IllegalArgumentException for delegated function in anonymous object with captured type parametersKT-69044Destructuring declaration shouldn't be possible in declaration in whenKT-69028K2:FirJvmActualizingBuiltinSymbolProviderreturnsnullon builtins declarations if common source-set is not presentedKT-15704Rethink usage of term "type annotation" in error messagesKT-68970K2. Argument type mismatch caused by out projection in inferred type from if - elseKT-68800K2: DeleteConeAttributes.plusmethodKT-59389K2: Missing AMBIGUOUS_LABELKT-68803K2: Smart cast fails with "Unresolved reference" when@Suppress("UNCHECKED_CAST") used in statementKT-68968K2: Missing ILLEGAL_SUSPEND_FUNCTION_CALL diagnostic in initialization code of a local class inside suspend functionKT-68336K2 does not seem to pass the right constructor arguments to custom scriptsKT-68517"IrSimpleFunctionSymbolImpl is unbound" for actual class containing non-actual functionsKT-59678K2: InvestigateConeKotlinType.unCapture()KT-69027K2: InitializeFirStdlibBuiltinSyntheticFunctionInterfaceProviderin library sessionKT-62818K2: improve VAR_OVERRIDDEN_BY_VAL diagnostic messageKT-68214Rename TypeApproximatorConfiguration properties for clarityKT-68093Implement deprecation of smartcasts on class-delegated propertiesKT-67270Native: report more performance metrics from the compilerKT-68621DATA_CLASS_INVISIBLE_COPY_USAGE false negative for inline funKT-68568K2: False-positive ACCIDENTAL_OVERRIDE caused by missing dependency classKT-66723K2: NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS for actual typealias that extends to Java class with complicated hierarchy that includes default methodKT-69000Can't render constructor of intersection typeKT-68849K2: "ClassCastException: cannot be cast to kotlin.jvm.functions.Function2" caused by passing lambda to SAM constructor resultsKT-61744Native: -Xsave-llvm-ir-after fails to check errors from LLVMPrintModuleToFileKT-67103Support AbbreviatedTypeAttribute for aliased types from the source codeKT-63921K2: different representation of recursive type aliasesKT-68679K2: "Override has incorrect nullability in its signature compared to the overridden declaration" caused by subclass of Android HashMapKT-64335K2: improve rendering of captured types in diagnostic messagesKT-68820K2: "Unresolved reference" on calling function with "contract" nameKT-67933K2: no conversion between fun interfaces if target hassuspendKT-68230K2: FirMissingDependencyClassChecker: Not supported: ConeFlexibleTypeKT-68531K2: False-negative error on assignment to enum entryKT-68446K2: compile-time failure on smart-casted generic value used as a when-subject in a contains-check with rangeKT-68678K2: Drop usingFirBuiltinSymbolProviderwhile compiling JVM stdlibKT-68382Get rid of context receivers in FirScript implementationKT-68585Implement new rules for CFA about enum entriesKT-68110K2: "Java type mismatch" caused by spring.NullableKT-68613K2: False positiveCONFLICTING_PROJECTIONafter fixing KT-67764KT-67764K2: False negative: Projection problem is not reported inisexpressionKT-67887Expection on assigning to private field of value typeKT-67801NSME on evaluating private member function with value class parameterKT-67800NSME on evaluating private top-level function with value class parameterKT-68542K2: Fix referecing to@ExtensionFunctionTypeif it's declared in sourceKT-68188K2: Properly support FunctionN creation for stdlib compilationKT-67946K2: Crash on red code:Instead use FirErrorTypeRef for ERROR CLASS: Cannot infer argument for type parameter TKT-68526K2: false-negative inconsistent data class copy visibility warning on call to generic data class copy functionKT-68528K2: false-positive inconsistent data class copy visibility warning on call to function from another module with identical value parameter types and return typeKT-68525K2: false-negative inconsistent data class copy visibility warning on callable reference to data class copy functionKT-68617K2: Secondary constructors in a sealed class have private visibility instead of protected in the generated IRKT-63920K2: Private secondary sealed class constructor is private in metadata, but protected in K1KT-57996Usages ofFoo@Nullable[]produce only warnings even with-Xtype-enhancement-improvements-strict-mode -Xjspecify-annotations=strictKT-68207K2: Investigate if losing ConeIntersectionType.upperBoundForApproximation during approximation leads to any issuesKT-64990K2: Remove usages of SymbolTable from FIR2IRKT-67798NSME on assigning to private delegated property of value classKT-68264K2: confusing INVISIBLE_* error when typealias is involvedKT-68529K2: false-negative redundant annotation warning on@ExposedCopyVisibilityon data class with public constructorKT-67943Approximation should not generate types with UPPER_BOUND_VIOLATION errorsKT-67503K2: False negative "Type Expected" when attempting to annotate a wildcard type argumentKT-68187K2: Create IrBuiltins in fir2ir only after IR actualizationKT-66443K2: ArrayIterationHandler doesn't work if UIntArray declared in sourcesKT-68291K2 / Contracts: Non-existent invocation kind is suggested as a fixKT-68209K2: 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-51433FE 1.0: implement warnings about label resolve changesKT-66554K2. Drop FIR based fake-override generator from fir2irKT-64202K2: Drop old methods for calculation of overridden symbols for lazy declarationsKT-67895K2: Properly implement generation of fake-overrides for fieldsKT-54496K2:REDUNDANT_MODALITY_MODIFIERdiagnostic disregards compiler pluginsKT-63745K2: Approximation of DNN with nullability warning attribute leads to attribute incorrectly becoming not-nullKT-63362AbstractTypeApproximator fixes only first local type in hierarchyKT-67769K2: "variable must be initialized" on unreachable access in constructorKT-51195FIR IC: Incremental compilation fails with@PublishedApipropertyKT-67966No JVM type annotation is generated on a class supertypeKT-46640Generate JVM type annotations on wildcard boundsKT-67952Annotations on type parameters are not generated for parameters other than the firstKT-68012K2. No'operator' modifier is required on 'component'error in K2KT-61835K2: FirStubTypeTransformer receives unresolved expressions in builder inference sessionKT-63596K1/K2: Different behavior for lambda with different return typeKT-67688K2: False positive CANNOT_INFER_PARAMETER_TYPE for Unit constraint type variableKT-62080False positive UNUSED_VARIABLE for variable that is used in lambda and in further code with several conditionsKT-60726K2: 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-67579K1/JVM: false-negative annotation-based diagnostics on usages of ABI compiled with non-trivially configured generation of default methodsKT-67493K2: argument type mismatch: actual type is 'T', but 'T' was expectedKT-64900K2:getConstructorKeywordcall inPsiRawFirBuilder.toFirConstructorforces AST loadKT-67648K2: wrong exposed visibility errors with WRONG_MODIFIER_CONTAINING_DECLARATION on top-level enum classKT-58686FIR2IR: Don't use global countersKT-67592K2: Success execution of:kotlin-stdlib:compileKotlinMetadataKT-60398K2: consider forbidding FirBasedSymbol rebindKT-54918Refactor transformAnonymousFunctionWithExpectedTypeKT-63360K2: Malformed type mismatch error with functional typeKT-67266K2: disappeared INLINE_CLASS_DEPRECATEDKT-67569K2: Fix default value parameters of Enum's constructor if it's declared in source codeKT-67378K2: Don't usewrapScopeWithJvmMappedfor common source setsKT-67738K2: Introducekotlin.internal.ActualizeByJvmBuiltinProviderannotationKT-64456K2: Port *VersionRequirementTest to K2KT-67136Put $this parameter to LVT for suspend lambdasKT-62538K2: Declarations inside external classes should be implicitly externalKT-67627K2: External interface companion isn't external in IRKT-60290K2: origin is not set for !in operatorKT-67512K2: false positive WRONG_GETTER_RETURN_TYPE when getter return type is annotatedKT-67635K2: No warning TYPE_MISMATCH_WHEN_FLEXIBILITY_CHANGES for SAM constructor with inferred typeKT-60501K2 Scripting: investigate metadata difference between K1 and K2KT-67598K2: Fix incorrect castingUBytetoNumberinFirToConstantValueTransformerKT-56564False positive "non-exhaustive when" in case of intersection typeKT-63969K2: extra property in metadataKT-63968K2: extra property in metadata for anonymous variable in scriptKT-67547K/N can't build caches, fails with "clang++: error=2, No such file or directory"KT-67469K2: Failing module in FP-intellijKT-64033K2: Investigate ForbidInferringPostponedTypeVariableIntoDeclaredUpperBoundKT-64457K2: Fix DecompiledKnmStubConsistencyK2TestGeneratedKT-66377IR Evaluator: "no container found for type parameter" when evaluating nested genericsKT-66378IR Evaluator: Symbol is unboundKT-64506IDE, IR Evaluator: NPE in ReflectiveAccessLowering.fieldLocationAndReceiver when evaluating private static propertiesKT-67380K2: Don't check forequalsoverriding for classAnyKT-67038K2: Missing type of FirLiteralExpression causes an exception for property initializer type resolutionKT-59813K2: Fix the TODO aboutfirEffect.sourceinFirReturnsImpliesAnalyzerKT-59834K2: Fix the TODO aboutmerge(other)inUnusedCheckerKT-59188K2: Change positioning strategy forWRONG_NUMBER_OF_TYPE_ARGUMENTSerrorKT-59108K2. SMARTCAST_IMPOSSIBLE instead of UNSAFE_IMPLICIT_INVOKE_CALLKT-65503The inline processor cannot handle objects inside the lambda correctly when calling an inline function from another moduleKT-30696NoSuchMethodError if nested anonymous objects are used with propagation reified type parameterKT-58966Incorrect type inference for parameters with omitted type of anonymous function that is being analyzed as value of function type with receiverKT-67458Use@PhaseDescriptionfor JVM backend lowering phasesKT-65647K2 ignores diagnostics on sourcelessFirTypeRefsKT-64489K2: Rename FirAugmentedArraySetKT-67394FIR: Make FIR repr of For from PSI and LightTree the sameKT-66724K2 IDE. False positive errors because of wrong type inference in complex case of delegated property and type argumentsKT-40248Confusing error message NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODYKT-66947K2: false-positive JSpecify nullability enhancement warning on Java wildcard type argument with same base type but different nullabilities as upper and lower boundsKT-66974K2: false-negative JSpecify nullability enhancement warning on nullable projection of Java wildcard type argument with non-null bounds in out-positionKT-66946K2: false-negative JSpecify nullability enhancement warning on Java wildcard type argument with nullable upper bound in out-positionKT-66442K2: No visibility error on importing private aliasesKT-66598K2: Allow comparisons,is-checks and casts between Kotlin and platform typesKT-55966K2: Not enough information to infer type variable K if smartcast is usedKT-64894OPT_IN_ARGUMENT_IS_NOT_MARKER diagnostic message is unclearKT-67019K2: IR has incorrect EQ origins for some inplace updating operatorsKT-59810K2: Support other ConstraintPosition-sKT-55383K1/K2: isClassTypeConstructor behaves differently for stub typesKT-60089K2: Introduced ERROR_IN_CONTRACT_DESCRIPTIONKT-60382K2: Refactor ExpectActualCollectorKT-62929K2: investigate if guessArrayTypeIfNeeded is necessary in annotation loaderKT-65642K2: IR: Array access desugaring doesn't have originsKT-24807No smartcast to Boolean in subject of when-expression when subject type is non-nullableKT-66057K2: incorrect supertype leads to class declaration being highlighted redKT-63958K2: drop support of UseBuilderInferenceOnlyIfNeeded=falseKT-63959K2: treat stub types as non-nullable for isReceiverNullable checkKT-65100IrFakeOverrideBuilder: support custom 'remove(Int)' handling logic in MutableCollection subclassesCompose compiler
New features
cdfe659Changed 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.192e556Strong skipping is now enabled by default842a9e8Add support for default parameters in abstract and open @Composable functionsb/165812010Fixes
e207b05Fixes group generation for if statements when nonSkippingGroupOptimization is enabledb/346821372f64fc3aFixesendToMarkergeneration in early return from inline lambdas that caused start/end imbalanceb/346808602d6ac8a5Stop memoizing lambdas with captured property delegatesb/342557697f38d5a3Stop capturing parameter meta across crossinline boundaryb/343801379770fe8dPropagate annotations from inferred function types when serializingb/3452610773c67cdaFix memoization of captureless lambdas when K2 compiler is usedb/3405821803281e53Allow memoizing lambdas in composable inline functionsb/340606661b/351858979Fix stability inferencing of interfaces on incremental compilationb/346821372[Compose] Fix code generation for group optimizationb/357878245Disallow open @Composable functions with default params to fix binary compatibility issues.IR. Actualizer
KT-68830Compiler crash on missing actual classKT-69024K2: Children of expect annotation with@OptionalExpectationshould be actualizedKT-68742Allow expect protected to Java protected actualizationKT-66436K2. Actualizing modCount property with a field in AbstractMutableListKT-68741Support actualization of AbstractMutableList.modCountKT-68801Crash on access of fake override of function actualized by fake overrideKT-66307K2: property fake override isn't generated for protected fieldIR. Inlining
KT-67208KJS: put ReplaceSuspendIntrinsicLowering after IR inlinerKT-68100Run IR validation in the beginning and the end of the common prefixKT-69171Introduce a temporary-XCLI parameter that enables double-inliningKT-69006Enable IR visibility checks after IR inliningKT-69183IR inlining: properly handle defaults that depends on previous value parametersKT-67660Suspicious package part FQN calculation in InventNamesForLocalClassesKT-68558MoveInlineCallableReferenceToLambdaPhaseintoir.inlinemoduleKT-56466Support non-local break/continue in IR inlinerKT-64958KJS: Put as many as possible lowerings after the inlinerKT-67297Implement IR deserializer with unbound symbolsIR. Interpreter
KT-66938Internal 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-67695ForLoopsLowering fails to handle a loop over an imprecise typed iterableFixes
KT-68784Support validating visibility of referenced declarations in IrValidatorKT-68174Delete the IrMessageLogger interfaceKT-67082Introduce attributes on IrElementKT-68716DeepCopyIrTreeWithSymbols.visitConstshould remap const typeKT-67650Add default implementations to methods for non-leaf IrSymbol subclasses from SymbolRemapperKT-67649Autogenerate IrSymbol interface hierarchyKT-44721IR: merge IrPrivateSymbolBase and IrPublicSymbolBase hierarchiesKT-67580Autogenerate SymbolRemapperKT-67457Introduce a way to simplify IR lowering phase creationKT-67060NoSuchMethodError for org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl in the FlystoJavaScript
New Features
KT-69133Kotlin/JS: Add support for collection instantiation in JavaScriptKT-18891JS: provide a way to declare static members (JsStatic?)Fixes
KT-68943@JsPlainObjectbreaks when interface has type parametersKT-70592"Error: HttpClientCall expected" on HTTP request when targeting es2015 with KTORKT-67273Creating Kotlin Collections from JS collectionsKT-65018JS: Deprecate error toleranceKT-67355KJS / ES6: 'super' in lambda with enabled-Xir-generate-inline-anonymous-functionsleads to JS errorsKT-69353KJS / d.ts: Kotlin does not export base collection classes along with their mutable collection counterpartsKT-66898KJS: Reserved keywords not escaped when-Xir-generate-inline-anonymous-functionsis enabledKT-69710JS IR generates bad code for inner param default referring to outer membersKT-68632K2: allow JS_NAME_CLASH suppressionKT-69400Use correct type for references on local functions when transforming them into lambdaKT-68554Legalize marker interface as parent for JSO (interface marked with@JsPlainObject)KT-68740Kotlin/JS 2.0.0 IrLinkageError with dynamic function parameters inside data classesKT-68944@JsPlainObjectrequire properties, when type - nullable aliasKT-68891@JsPlainObjectfails to compile when encountering reserved keywords as interface propertiesKT-69023KJS / IR:globalThisis mandatory, breaking older browsers supportKT-68641KJS: 'export was not found' with per-file mode on case-insensitive filesystemKT-68053K2: NON_EXPORTABLE_TYPE on a typealias of primitive typeKT-62304K/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-64801K2 + JS and WASM: Inner with default inner doesn't work properlyKT-67248ModuleDescriptor in JS Linker contains incorrect friend dependeciesKT-64424K2: Migrate JsProtoComparisonTestGenerated to K2KT-52602Kotlin/JS + IR: incompatible ABI version is not reported when no declarations are actually used by a Gradle compilationKT-66092K/JS & Wasm: .isReified for reified upper bound is wrongly falseKT-67112Unable to apply@JsStaticfor common sources: [NO_CONSTRUCTOR]KT-62329KJS: "UnsupportedOperationException: Empty collection can't be reduced" caused by external enum with "@JsExport"KT-67018K/JS: Executable js file for module-kind=umd contains top level this instead of globalThisKT-64776Test infra for JS can't process dependency in mpp moduleKT-65076Use the same instance when a fun interface doesn't capture or capture only singletonsKlibs
KT-66557Check, that no bad metadata in klib is produced, when we failed to compute constant valueKT-66968Provide K/N platforms libs for all available targetsKT-66967Provide K/N stdlib for all available targets in all distributionsKT-66605[KLIB] Excessive creation ofBaseKotlinLibraryduring resolving libsKT-68824API 4 ABI: Don't show sealed class constructorsKT-68202KLIB 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" commandsLanguage Design
KT-58920K2: Prioritize Enum.entries resolveKT-11914Confusing data class copy with private constructorKT-68636Incorrect private_to_this visibility for data class with a private constructorLibraries
New Features
KT-31880UUID functionality to fix Java bugs as well as extend itKT-57998implement Base64.withoutPaddingPerformance Improvements
KT-67023Optimize Int.sign and Long.sign for js and wasmJs targetsFixes
KT-70196Introduce ExperimentalUuidApi annotation for marking Uuid APIKT-60787Cannot ignore alpha when formatting with HexFormatKT-68025Improve documentation for HexKT-66129Minor issues with HexFormatKT-67511provide equals() and hashCode() implementations for kotlinx.metadata.KmTypeKT-68240stdlib: proper expects for internal API used in intermediate shared source setsKT-68840atomicfu-runtime: annotate some internal functions with@PublishedApiKT-68839Annotatekotlin.js.VOIDproperty with@PublishedApiKT-68023Improve documentation for Base64KT-51483Documentation of trimMargin is (partly) difficult to understandKT-64649Add explanation to "A compileOnly dependency is used in the Kotlin/Native target" warning messageKT-67807JS/Wasm: ByteArray.decodeToString incorrectly handles ill-formed 4-byte sequences with a 2nd byte not being continuation byteKT-67768Wasm: ByteArray.decodeToString throws out-of-bounds exception if the last byte is a start of a 4-byte sequenceKT-66896Improve Array contentEquals and contentDeepEquals documentationNative
KT-70166Native: EXC_BAD_ACCESS on watchOS when using DispatchersKT-69246K2: linkPodDebugFrameworkIosArm64 takes 15 (!!) times longerKT-67694Native: WeakRefBenchmark degradation due to nonoptimized IntProgression iterationKT-69206Native: updating to LLVM 16 breaks debugging in lldb on LinuxKT-68640Native: updating to LLVM 16 changes behavior ofusedattribute in C/C++ codeKT-58097Kotlin/Native: improve the error message if Xcode is not properly configuredKT-67583compileKotlin-task unexpectedly downloads K/N dependencies on Linux (but doesn't on Mac)Native. Build Infrastructure
KT-69781Kotlin/Native performance tests fail to compile with bitcodeNative. C and ObjC Import
KT-69094LLVM 11 clang: cinterops fail with "_Float16 is not supported on this target"KT-68254Native: flaky testForwardEnum test in Kotlin/Native on MacOSKT-65260Native: compiler crashes when casting to an Obj-C class companionNative. ObjC Export
KT-65666Native: enable objcExportSuspendFunctionLaunchThreadRestriction=none by defaultKT-57496linkReleaseFrameworkIosArm64: e: Compilation failed: An operation is not implementedNative. Platform Libraries
KT-69382LLVM 11 clang: symbol not found when running the linkerNative. Runtime
KT-70043Native: EXC_BAD_ACCESS on watchOS when using RandomKT-68928EXC_BREAKPOINT: BUG IN CLIENT OF LIBPLATFORM: Trying to recursively lock an os_unfair_lockNative. Runtime. Memory
KT-66644Native: threads are too often paused to assist GC (with concurrent mark)KT-68871Native: Unexpected barriers phase during STW: weak-processingKT-67779Native: SpecialRefRegistry::ThradData publication prolongs the pause in CMSKT-66918Native: scan global root set concurrentlyNative. Swift Export
KT-69469Exporting object twice causing crashKT-69251Get rid of context receivers from ./native/.../lazyWithSessions.ktKT-68865Move config into test-directivesKT-68259Swift export: secondary constructs lead to compilation errorsKT-67095Native: fix testNativeRefs export testKT-67099Remove SirVisitor and SirTransformer from codeKT-67003Abandon PackageInflator implementation in favour of PackageProvider componentNative. Testing
KT-69235Incorrect handling of friend dependencies in Native test infraKT-67436Native: support CLI testsKT-68416Native: when using test grouping, a whole group gets ignored on non-Mac hosts if it has Objective-C testsKT-68500Native: Drop custom logic in ExtTestCaseGroupProvider, mute codegen/box tests explicitlyReflection
KT-69433KotlinReflectionInternalError on non-reified type parameter in typeOf inside an inline lambdaKT-68675K2: KotlinReflectionInternalError on non-reified type parameter in typeOf inside a lambdaTools. Build Tools API
KT-68555BTA test infra: top level declarations are invisible across modulesTools. CLI
KT-69792Add the possibility to disable fast jar fs in K2KT-68838OutOfMemory when compiling in CLIKT-67939Add CLI argument to enable when guards featureKT-68743Extract common CLI arguments for all KLIB-based backendsKT-68450CLI: errors related to module-info are reported even if there are no Kotlin source filesKT-68060FastJarFS fails on empty jarsTools. CLI. Native
KT-66952Native: konanc fails when KONAN_HOME is under path with spacesKT-64524Introduce a CLI argument to override native_targets field in klib manifestTools. Commonizer
KT-68835Command line length overflow on Linux/Windows while invoking commonizer via :commonizeDistributionTools. Compiler Plugin API
KT-68020K2: run FirSupertypeGenerationExtension over generated declarationsTools. Compiler Plugins
KT-64425K2: Implement Atomicfu*IrTestGenerated for K2KT-69401Kotlin power assert plugin doesn't work correctly with safe cast operatorKT-69290PowerAssert: implicit receivers included in power-assert generated diagramKT-68511Power Assert kotlinx.assertEquals message display problemKT-68807Power-Assert crashes the Kotlin compiler when if expression used as assertion parameterKT-68162K2 Parcelize implementation breaks compiler phase contractsKT-67605K2 parcelize: false positive NOTHING_TO_OVERRIDE in one testKT-64455K2: Implement ParcelizeIrBoxTestWithSerializableLikeExtension for K2Tools. Compiler plugins. Serialization
KT-70516KxSerialization:@KeepGeneratedSerializerand sealed class cause initialization errorKT-68752Serializable annotation on Java class is not taken into account in K2 checkerKT-68931JS/Native + serialization: partial linkage errorKT-69039FIR: Implement IDE-only checker for kotlinx.serialization compiler plugin to report IDE-only diagnosticsTools. Fleet. ObjC Export
KT-68826ObjCExport: SerializersModuleBuilderKT-68841ObjCExport:@DeprecatedsupportKT-68887ObjCExport: K1 text fixture@DeprecatedsupportKT-68051[ObjCExport] Support reserved method namesTools. Gradle
New Features
KT-68651Compose: provide a single place in extension to configure all compose flagsPerformance Improvements
KT-61861Gradle: Kotlin compilations depend on packed artifactsFixes
KT-69809Compose Gradle Plugin: AGP doesn't override configuration properties like traceMarkersEnabledKT-65820Compatibility with Gradle 8.7 releaseKT-69444Don't warn about missing Compose Compiler Gradle plugin in some casesKT-67888Remove usages of deprecated Configuration.fileCollection() methodKT-68843Gradle: Kotlin plugin changes source set 'main' to 'null/main'KT-67395Add new plugins to collector kotlin gradle performanceKT-68661Move ExperimentalWasmDsl to kotlin-gradle-plugin-annotationsKT-69837Deprecation warning for file-based IC is issued when the property is set to true, altering the intended meaning of the messageKT-69291Compose Gradle plugin: Enable strong skipping by defaultKT-67766Build against Gradle API 8.7KT-67889Run tests against Gradle 8.8 releaseKT-65271Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3KT-67822Deprecate JVM history files based incremental compilationKT-64378Compatibility with Gradle 8.6 releaseKT-69414Compose: featureFlags override values of the deprecated compose optionsKT-67771Compatibility with Gradle 8.8 releaseKT-65528Migrate rest of Gradle integration tests to new Test DSLKT-68306Project isolation for FUS statistics: Cannot access project ':' from project ':app' at org.jetbrains.kotlin.gradle.report.BuildMetricsService$ Companion.initBuildScanExtensionHolderKT-67890Compile against Gradle 8.8 API artifactKT-68773Kotlin 2.0.0 with Gradle 8.8: ConcurrentModificationException on BuildFusService configurationMetricsKT-68308Project isolation for FUS statistics: An error is thrown at org.gradle.configurationcache.ProblemReportingCrossProjectModelAccess$ProblemReportingProject.getLayoutKT-61574Add project-isolation test for Kotlin/Android pluginKT-65936Provide a detailed error for changing kotlin native version dependency.KT-62684PropertiesBuildService should load extraProperties only onceKT-67288Test DSL should not fail the test if build scan publishing has failedKT-58280org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpathTools. Gradle. JS
KT-70077[2.0.20-Beta2] KGP reports confusing warnings about js/wasmJS source setsKT-69805YarnSetupTask does not work for custom downloadBaseUrlKT-67444Gradle / JS: wrong type commonWebpackConfig.devServer.proxyKT-42923KJS: Resources are not available when running Karma testsKT-68482KotlinNpmInstallTask is not compatible with configuration cacheKT-68072K/JS, K/Wasm: Module not found in transitive caseKT-68103K/JS, K/Wasm: Generation of test compilation's package.json requires main compilationKT-67924K/JS, K/Wasm: kotlinNpmInstall can rewrite root package.jsonTools. Gradle. Kapt
KT-64627Kapt3KotlinGradleSubplugin uses property lookup that breaks project isolationKT-61928Clarify parameter types in KaptArguments and KaptJavacOptionTools. Gradle. Multiplatform
New Features
KT-56566Consider pre-generating DSL accessors for source sets with names corresponding to the default target hierarchyFixes
KT-66568w: KLIB resolver: The same 'unique_name=...' found in more than one libraryKT-65754Gradle: Commonized cinterop dependency configuration changes project descriptionKT-69406Deprecate combinations of KMP plugin with some Gradle Java pluginsKT-64109Using compileOnly/runtimeOnly dependencies in K/N-related configurations leads to odd behaviourKT-69311runDebugExecutable task fails with "this.compilation" is null with enabled configuration cacheKT-69310w: KLIB resolver: The same 'unique_name=...' found in more than one library for diamond source set structuresKT-61793KMP/AGP compatibility: Update the maximum tested AGP version to 8.3KT-66209Accessing the source sets by name is confusingKT-62368Kotlin 1.9.X fails to detect kotlin.test.Test annotation reference on commonTest source set when targeting JVM+AndroidKT-67110Usage of BuildOperationExecutor.getCurrentOpeartion internal Gradle APIKT-58319kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'"Tools. Gradle. Native
KT-69918java.lang.NullPointerException: Cannot invoke "org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation.getTarget()" because "this.compilation" is nullKT-67935OverriddenKotlinNativeHomeChecker does not work well with relative pathsKT-64430Remove deprecated KotlinToolRunner(project) constructorKT-64427Stop using deprecated KotlinToolRunner(project) constructor callTools. Incremental Compile
KT-69042K2: changing a Java constant won't cause Kotlin usages to recompileKT-63476Investigate the debug output of JVM compilation in KMP IC smoke testsTools. JPS
KT-63707JPS: "Multiple values are not allowed for" caused by ComposeTools. Kapt
KT-68145K2 KAPT: missing $annotations methods for const properties and private properties without accessorsKT-67495File leak in when building with kaptKT-66780K2 KAPT Kotlinc should exit with an exit code 1 (compilation error) if a Kapt task failsKT-66998K2 KAPT: Reimplement support for DefaultImplsTools. Scripts
KT-69296scripting dependency resolution does not authenticate towards maven mirrorsKT-67575FromConfigurationsBase script definition unexpected behaviour with regex from gradle templatesKT-67066DeepCopyIrTreeWithSymbols does not copy IrScript nodes correctlyKT-67071K2: ScriptCompilationConfigurationFromDefinition is not serializableKT-67063LauncherReplTest flaky on WindowsTools. Wasm
KT-70220K/Wasm: Upgrade NPM dependenciesKT-69245K/Wasm: Remove warning of working-in-progressKT-69154K/Wasm: wasmJsBrowserProductionRun flaky crash with "WebAssembly.instantiate(): Import ... function import requires a callable"KT-68930K/Wasm: Production run doesn not use optimize task resultKT-67901K/Wasm: Add kotlin-wasm-examples to CIKT-67468Gradle task build (allTests) fails on default web projectKT-67980Wasm: Incorrect "Please choose a JavaScript environment to build distributions and run tests" when WASM is not configuredKT-67862K/Wasm: Make usage of ChromeWasmGc an errorConfiguration
📅 Schedule: Branch creation - "every weekday,every weekend" (UTC), Automerge - "every weekend" (UTC).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.
f058c6c16btob689826574b689826574todbe93b6884