Update plugin org.jetbrains.kotlin.android to v1.9.20 #10
Reference in New Issue
Block a user
No description provided.
Delete Branch "renovate/org.jetbrains.kotlin.android-1.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:
1.8.20->1.9.20Release Notes
JetBrains/kotlin (org.jetbrains.kotlin.android)
v1.9.20Analysis. API
New Features
KT-58834Analysis API: Add source shadowing feature to resolve extensionsPerformance Improvements
KT-57515LL FIR: Performance bottleneck inCompositeModificationTracker.getModificationCountKT-59266K2: optimize FirElementBuilder.getOrBuildFir for elements outside bodyKT-59454K2: drop resolve from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarationsKT-59453K2: completion regression from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarationsKT-59189Analysis API: KtFirKDocReference.resolveToSymbols is slowKT-58125K2: LL FIR:KtToFirMapping.getElementis slow forKtUserTypes due to on-air resolution of typesFixes
KT-59240K2: FirLazyResolveContractViolationException:lazyResolveToPhase(IMPORTS)cannot be called from a transformer with a phase IMPORTS from superTypesKT-58499K2: FirLazyBlock should be calculated before accessingKT-57966K2: Analysis API: Reference Shortener does not work correctly when called on entire fileKT-60954K2: Analysis API: Reference shortener does not work correctly with variable assignmentsKT-60940K2: Analysis API: Reference shortener incorrectly handles types in vararg parameters declarationsKT-60488Analysis API: forbid providing custom KtLifetimeToken for every analyze callKT-60728K2: proper support for scripts in LL FIR transformersKT-59159K2 IDE: declaration is not found exceptionKT-59297K2: exception from body resolve leads to corrupted state and broken analysisKT-59077KtFirExpressionTypeProvider behaviour for KtSimpleNameReferences in function callsKT-60586K2: forbid analyze from write actionKT-57743K2 IDE: StackOverflowError from LLFirSessionCache for simple JPS project with cyclic dependenciesKT-61026K2 Scripts: FirLazyExpression should be calculated before accessing from on-air resolveKT-61009K2 Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-60357K2 IDE. Reified types parameters are not resolved in a function bodyKT-60317K2 IDE. IAE "This method will only work on compiled declarations, but this declaration is not compiled" on invoking Find Usages for enum method in libraryKT-60706K2 IDE: FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-commonKT-60552K2: merge StateKeeper and lazy body calculator for ANNOTATIONS_ARGUMENTS_MAPPING transformerKT-60641Analysis API: Scope for class org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found exception when stdlib is missingKT-60638K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-54846Analysis API: add isExpect/isActual to KtSymbolKT-60448FirLazyResolveContractViolationException:lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS)cannot be called from a transformer with a phase COMPILER_REQUIRED_ANNOTATIONS from AllOpen pluginKT-59342K2 IDE. FirLazyResolveContractViolationException:lazyResolveToPhase(TYPES)cannot be called from a transformer with a phase TYPESKT-59687K2: Implement proper body update for in-block modificationsKT-59329Resolve Extensions reference resolution breaks Find UsagesKT-60295K2: move checkIsResolved for annotations from LLFirAnnotationArgumentsLazyResolver to LLFirTypeLazyResolverKT-59758K2: Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImplWithoutSource from ReturnTypeCalculatorWithJumpKT-60377K2 IDE: This method will only work on compiled declarations, but this declaration is not compiledKT-59685K2: rewrite on-air resolutionKT-60132K2: properties and functions without a name should be re-analyzable as wellKT-59199K2 IDE: PSI changes which do not cause OOB modifications can be unseen from the FIR elementsKT-59667Analysis API: PsiInvalidElementAccessException from JavaClassifierTypeImpl.substitutorKT-59705KotlinExceptionWithAttachments: No fir element was found for getterKT-59697AA standalone: JRT module paths are not properly populated in WindowsKT-59505K2: implicit type lazy resolution doesn't work for delegated declaration from other moduleKT-56426K2 IDE: Typealised functional types cannot be renderedKT-59598AA: stackoverflow while simplifying a type with a recursive type parameterKT-58497K2: Expected FirResolvedTypeRef for initializer type of FirPropertyImpl(Source) but FirImplicitTypeRefImplWithoutSource foundKT-59511AA standalone mode creates Application Environment for testsKT-58161Analysis API: Make methods inKtCallResolverMixInmore distinctive based on their receiver/return typeKT-59093Do not throw exception on KtCall resolution,KtCallElement.resolveCallshould returnnullon unknown casesKT-59243K2: FirLazyResolveContractViolationException:lazyResolveToPhase(IMPORTS)cannot be called from a transformer with a phase IMPORTS from permits typesKT-58194K2: Low Level API: use smart pointers to store references to PSI from FIR declarations for JavaElementKT-59133K2: java.lang.IllegalStateException: Fir is not initialized for FirRegularClassSymbolKT-58174K2: LL FIR: Invalid type reference for T & Any typeKT-52615LL FIR: build RAW FIR only by stubsKT-55053K2: Exception "lateinit property diagnostic has not been initialized" in FirBuilderKT-58580K2: LL FIR: Declarations provided by resolve extensions from a dependency module are not visible throughLLFirCombinedKotlinSymbolProviderKT-58992Analysis API: move org.jetbrains.kotlin.analysis.api.fir.utils.addImportToFile out of Analysis APIKT-58727K2: AA FIR: implicit type in delegated function treated as errorKT-58653K2: Analysis API: add functions for KtScope members access by nameKT-57559K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent on intellij projectKT-58262Analysis API: Declarations from Analysis API Resolve Extensions are not seen from completionKT-57455LL FIR: CombineAbstractFirDeserializedSymbolProviders in session dependencies (optimization)KT-57207LL FIR: CombineJavaSymbolProviders in session dependencies (optimization)KT-58546K2: LL FIR: support name collision in a designation pathKT-58495K2: Lazy calculation is redundantKT-58500K2: null cannot be cast to non-null type org.jetbrains.kotlin.fir.FirPureAbstractElementKT-58493K2: Expected FirResolvedTypeRef for default value type of FirValueParameterImpl(Source) but FirUserTypeRefImpl foundKT-58496K2: Expected FirNamedReference, FirErrorNamedReference or FirFromMissingDependenciesNamedReference, but FirExplicitSuperReference foundKT-58491K2: Expected FirResolvedTypeRef or FirImplicitTypeRef for return type of FirDefaultPropertyBackingField(Synthetic) but FirUserTypeRefImpl foundKT-56550LL FIR: implement parallel resolve for non-jumping phasesKT-58503Analysis API: KtFirNamedClassOrObjectSymbol.visibility/modality do not trigger STATUS resolveKT-57623K2 IDE: ConcurrentModificationException from getSuperConeTypesKT-58083K2: LL FIR: implement FakeOverrideTypeCalculatorAndroid
KT-27170Android lint tasks fails in Gradle with MPP dependencyBackend. Native. Debug
KT-61131Virtual functions trampolines have invalid debug infoBackend. Wasm
Fixes
KT-60244K/Wasm: make the compiler compatible with Wasm GC phase 4 (Final) specificationKT-61262K/Wasm: add a way to turn on k2 in wasm examples that don't use composeKT-61343K/Wasm: add a wasi example to kotlin-wasm-examplesKT-62147[Kotlin/Wasm] Nothing typed when expression cause a backend errorKT-59720K/Wasm: update to final opcodesKT-60834K/Wasm: investigate consequences of stopping usingbr_on_cast_failKT-59294WASM: localStorage Cannot read properties of undefined (reading 'length')KT-60835K/Wasm: fix compatibility with Node.js 20.*KT-60113K/Wasm: illegal cast when using 1.9.20-devKT-60496Compose-web Wasm crashes on remember { null } callsKT-58746K/Wasm: Make Arrays' constructors with size and lambda inline (similar to other implementations)KT-58993[K/Wasm] Fix w3c declarations with lambda parametersKT-59722K/Wasm: Support new encoding with flags for br_on_cast and br_on_cast_fail instructionsKT-59713K/Wasm: Implement enumEntries intrinsicKT-59082WASM: NullPointerException caused by companion with String type constantsKT-58941WASM Hang with extension delegate inside a ClassKT-60200K/Wasm: generate types without supertypes properlyKT-52178IR dump doesn't seem to work for Kotlin/WASM phasesKT-59556Wasm: critical dependency when using with webpackKT-58681K/Wasm: division remainder has a wrong signKT-56711Wasm: IllegalStateException caused by dynamic typeCompiler
New Features
KT-58551KMP: check all annotation from expect declaration are present on actualKT-58554KMP: restrict expect opt-in annotations and actual typealiases to annotations with special meaningKT-58545KMP: prohibit implicit actualization via JavaKT-58536KMP: prohibitexpect tailrec/expect externalKT-59764Make a frontend checker that reports cast to forward declaration as uncheckedKT-60528Updates for JVM/IR backend of kotlin-atomicfu-compiler-pluginKT-59558Add support for creating annotation instances with type parametersKT-52367Devirtualization algorithm improvementKT-58652Native: Implement frontend checkers for HiddenFromObjC on classesPerformance Improvements
KT-59600K2: CFG: do not add edges to nested classes and functionsKT-57860K/N: Functions with default arguments of value/inline class types have poor performance due to value class boxingFixes
KT-60387K2: IDE K2: "org.jetbrains.kotlin.fir.expressions.impl.FirArgumentListImpl cannot be cast to class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedArgumentList"KT-61228False positive MUST_BE_INITIALIZED_OR_FINAL_OR_ABSTRACT_WARNING for effectively final propertiesKT-61643"Argument type mismatch" for mixed Java/Kotlin Project with Java 21KT-62389JDK 21: Cannot access class 'TimeUnit'. Check your module classpath for missing or conflicting dependenciesKT-56768K2. No error description on incomplete try catch declarationKT-52220FIR + LightTree - Consider building a single tree on parsing into LightTreeKT-60601K2 / Maven: Overload resolution ambiguity between candidates inline methodKT-62027"java.lang.IndexOutOfBoundsException: Empty list doesn't contain element at index 0" caused by ClassicExpectActualMatchingContext.kt when annotation@AllowDifferentMembersInActualusedKT-62747Wrong warning message when overriding vararg with Array during actualizationKT-62655Don't report a warning when new members and new supertypes are added to open expect actualizationKT-62313Kotlin/Native Compiler crash: ClassCastException in IntrinsicGeneratorKT-60902visibility vs upper bound expect actual matching conflictKT-61095K2: "IAE: source must not be null" from FirMultipleDefaultsInheritedFromSupertypesCheckerKT-47567'Val cannot be reassigned' error not reported in unreachable codeKT-59468K2: build realm-kotlinKT-62026KMP: Correctly handle a case when annotation on expect declaration is unresolvedKT-59476K2: build ClashForAndroidKT-59487K2: build KSP-playgroundKT-47409K1/K2: Investigate and align inference for equality (==) operatorKT-59393K2: Missing TYPE_ARGUMENTS_FOR_OUTER_CLASS_WHEN_NESTED_REFERENCEDKT-62127"NoSuchFieldError: TRUE$delegate" on referencing companion's variable in submoduleKT-62335Improve debuggability of code generator crashesKT-61165More than one overridden descriptor declares a default value for 'cause: Throwable?'. As the compiler can not make sure these values agree, this is not allowedKT-62263Turn "different expect/actual members" error into a warningKT-59969K2: Disappeared UNSUPPORTED_CONTEXTUAL_DECLARATION_CALLKT-61616K2:IrBuiltIns.extensionToStringfails during native compilationKT-59377K2: Missing CALL_TO_JS_MODULE_WITHOUT_MODULE_SYSTEMKT-61645K2/KMP: Set stdlib-native before stdlib-commonMain in dependencies for shared native metadata compilationKT-61924Native: problem with abstract fake override from AnyKT-61933K2: "Argument type mismatch: actual type is 'Foo<kotlin/Function0<kotlin/Unit>>' but 'Foo<kotlin/coroutines/SuspendFunction0<kotlin/Unit>>' was expected"KT-59471K2: build multiplatform-settingsKT-56077K2: build kotlinx.atomicfuKT-59465K2: build kotlinx-datetimeKT-60824K2 IDE: FirSyntheticCallGenerator: IAE: List has more than one elementKT-61856K2: "KotlinIllegalArgumentExceptionWithAttachments" on usage of javax.validation.constraints.Email.ListKT-54792Store program order of properties inside@kotlin.MetadataKT-56083K2: build ktorKT-23861Expect annotation should not be applicable wider than the actual oneKT-59466K2: build kotlinx-benchmarkKT-60830KMP, K2: expect actual annotation IR checker doesn't unwrap actual typealiases to annotationsKT-61668Put expect/actual diagnostics introduced in 1.9.20 release under 1.9 Language VersionKT-61725KMP: Annotation matching requirement for expect/actual leads to errors for annotations with@OptionalExpectationKT-47892False negative BREAK_OR_CONTINUE_OUTSIDE_A_LOOP withcontinueininitblock insideforKT-61784KMP: [DEFAULT_ARGUMENTS_IN_EXPECT_WITH_ACTUAL_TYPEALIAS] checker missed for companion functionsKT-61173K2: FirProperty.hasBackingField is true for an expect valKT-59743K2: erroneous binding of typealias with two type parameters to a class with one type parameterKT-60650KMP: prohibit problematic actual typealiasesKT-61461K2: Kotlin native metadata compilation breaks when stdlib is present in -librariesKT-61270Enabling Kotlin/Native caching causes 65K warnings from dsymutil when building Compose iOS appKT-58229K2/MPP/JVM: compiler codegen crash on call of inherited generic class's method with actual-typealias as value parameterKT-47702Support call of Java annotation constructor without specifying a default valueKT-56460K2: Do not re-run DiagnosticCollectorVisitor from FirInlineDeclarationChecker.checkChildrenWithCustomVisitorKT-55933K2: False negative Overload resolution ambiguity for call functions with named parameters if one of params is varargKT-59548FIR2IR: inconsistent generation of dispatch receiver for object methodsKT-55072K2: False positive "suspension point is inside a critical section"KT-58778JVM IR inline: add fake variables for debuggerKT-59404K2: Missing EXPECT_TYPE_IN_WHEN_WITHOUT_ELSEKT-59830K2. False negative [FINAL_SUPERTYPE] on extending final class through type aliasKT-60580K2: Not supported: class org.jetbrains.kotlin.fir.types.ConeFlexibleTypeKT-59391K2: Missing JS_BUILTIN_NAME_CLASHKT-59392K2: Missing NAME_CONTAINS_ILLEGAL_CHARSKT-58360Intrinsics for atomic update of array elementsKT-59165K2: Prohibit class literals with empty left-hand sideKT-60427K2@Metadataannotations contain outerType/outerTypeId information for non-inner nested classesKT-59376K2: Missing TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERRORKT-55221K2: No error reported for self-referencing local function with inferred return typeKT-59586K2: support JVM backend diagnostics in light tree modeKT-57780K2: Calling a constructor through a deprecated typealias doesn't report a deprecationKT-59110K2. "NotImplementedError: An operation is not implemented." error on incorrect@TargetannotationKT-59249K2: Empty varargs are not serialized to KLIBKT-55373K2. Unresolved reference error for type mismatch with callable referencesKT-55955K2: callable references are not properly resolved when in conflict with expected typeKT-60144JVM IR inline: backport primitive boxing in class literalsKT-60779K2: missing INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPERKT-60587K2: Implement warning NO_REFLECTION_IN_CLASS_PATHKT-61145False negative NOTHING_TO_OVERRIDE when context receivers don't matchKT-59378K2: Missing FINITE_BOUNDS_VIOLATION and FINITE_BOUNDS_VIOLATION_IN_JAVAKT-61163Default params on actual check and inheritance by delegation compilation errorKT-60800[atomicfu-K/N]: turn on the tests for the K/N part of the compiler pluginKT-61029K2: Duplicates when processing direct overridden callablesKT-55196K2: False-negative CONST_VAL_WITH_NON_CONST_INITIALIZER on boolean .not() callKT-60862Kotlin Scripting: NoSuchMethodError for ExternalDependenciesResolver.addRepositoryKT-57963K2: MPP: Annotation calls should be actualizedKT-60854K2: IrActualizer incorrectly generates fake overrides for synthetic java propertiesKT-59665ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS isn't reported for actual typealias and fake-override actualizationKT-61039False positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in K1 when expect actual super types scopes don't matchKT-61166Inherited platform declaration clash & accidental overrideKT-60531K2/JS: Report diagnostics before running FIR2IRKT-32275Embedding kotlin-compiler-embeddable into a Java EE App leads to CDI related deployment errorKT-57845K2. Unresolved reference error on calling Java references with fully qualified nameKT-58757K2: False-positive NON_PUBLIC_CALL_FROM_PUBLIC_INLINE error in case an inline fun is protected and is a part of an internal abstract class declarationKT-59736kotlinx.serialization + K2 + JS: e: java.lang.IllegalStateException: Symbol for kotlinx.serialization.json.internal/FormatLanguage.|-547215418288530576[1] is unboundKT-59071K2/MPP: internal declarations from common module are invisible in dependent source sets if there is more that one intermediate source set betweenKT-61167Runtime failure: ReferenceError: MyPromise is not definedKT-59408K2: Missing MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPESKT-61409Kotlin/Native: crash in kmm-production-sample (compose-app) with escape analysis enabledKT-57329K/N IR linkage issues due to the combination of static caches w/ Lazy IR & Compose compiler pluginKT-59247Kapt+JVM_IR: AssertionError on anonymous object in enum super constructor callKT-58576K2: IR actualization problems in MPP scenarioKT-61442K2: Consider stricter filtering on implicit integer coercionKT-61441K2: Wrong overload is chosen with ImplicitIntegerCoercion enabledKT-59328K2: property with compound getter and without explicit type: compilation failure, IAE "List has more than one element" at FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature()KT-61159K2: OVERLOAD_RESOLUTION_AMBIGUITY between private top-level property in same file and top-level property in different moduleKT-59233K2: false-negative diagnostic on creating a callable reference to a function with free type variablesKT-61418k2: ImplicitIntegerCoercion to List leads to "IllegalStateException: Cannot find cached type parameter by FIR symbol"KT-61373False positive: "The opt-in annotation is redundant: no matching experimental API is used" with multiplatform code.KT-58884K2: NotAMockException for mock testing with lambda expression with MavenKT-58893K2: MockitoException for mock testing with lambda expression with GradleKT-59483K2: Build a Native appKT-57738K2: unresolved class fields and methods in kotlin scriptsKT-59449K2: Diagnostic messages contain debugging-style rendered FIRKT-59849K2: IllegalArgumentException: List has more than one elementKT-57553Implement deprecation for open val with backing field and deferred initialization in K1KT-57230Support Kotlin/Wasm in the K2 platformKT-59409K2: Missing DEFAULT_VALUE_NOT_ALLOWED_IN_OVERRIDEKT-59058Companion object is not initialized on class constructor callKT-61017K2: intermediate expect/actual class results in expected class has no actual declaration in moduleKT-60181K2: "NotImplementedError: An operation is not implemented" with SpringKT-59472K2: build ReaktiveKT-54786MPP: "LazyTypeAliasDescriptor cannot be cast to class org.jetbrains.kotlin.descriptors.ClassDescriptor" caused by expected non-constant function argument on iOS if class is type aliasedKT-59753K2: NotImplementedError when using annotation with vararg with default value from other moduleKT-60883K2: FixtestRequireKotlinCompilerVersionin LV 2.0 branchKT-59747K2: cannot actualize expect class to Unit via typealiasKT-61054K2: "IAE: source must not be null" with -no-reflect on calling property getter with implicit invokeKT-57126[KLIB Reproducibility] Manifest is written using os-dependent line separatorsKT-60850K2: FIR2IR generates incorrect signature for fake overrides for common declaration if it called from a platform moduleKT-59218K2: return types of calls to@PolymorphicSignaturemethods inside try-expressions don't resolve to void when requiredKT-60002K2: Missing UNSUPPORTED_SUSPEND_TESTKT-61011K2 Scripts: FirRecursiveProblemChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-58906K2. "Backend Internal error: Exception during IR lowering" instead of CANNOT_INFER_PARAMETER_TYPE error when parameter type missing in lambdaKT-59490K2: build km-shopKT-60163K2: vararg annotation argument value is serialized not as an arrayKT-59355K2: Allow to actual classifier have wider visibility than the corresponding expect classKT-56179[K2/N]interop_objc_tests/multipleInheritanceClash.kttest failedKT-59411K2: Missing ENUM_CLASS_CONSTRUCTOR_CALLKT-59410K2: Missing TYPEALIAS_EXPANDED_TO_MALFORMED_TYPEKT-59382K2: Missing PROTECTED_CONSTRUCTOR_NOT_IN_SUPER_CALLKT-59901K2: Disappeared API_NOT_AVAILABLEKT-60474K2: False negative type mismatch for array literal with wrong numeric literalKT-59610K2: Calls to annotations with default values are serialized differently in K1 and K2KT-60139K2: Refactor handling of implicitly actual declarations (annotation & inline class constructors and property of inline class)KT-60793K2: IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirJavaTypeRefKT-60735K2: lateinit property diagnostic has not been initializedKT-60137K2: Quite complicated redeclaration error description is displayed for data classesKT-60639K2: IllegalStateException: Unsupported compile-time value GET_CLASS type=kotlin.reflect.KClass<p1.A>KT-56888CFA: Valid green in K1 -> red in K2.catch_end -> finally -> after_tryKT-60723K2: Nested finally block has extra jump edge if surrounding try block jumpsKT-60573K2: False positive/negative CONFLICTING_OVERLOADS for main functionsKT-60124K2: Conflicting declarations on extension properties with different upper-bounded type parameterKT-60259K2: Reflection target is missing on adapted function referncesKT-59036InstantiationError when instantiating annotation with a parameter type as a default parameter of another annotationKT-59094K2: Fix Scripting K2 testsKT-59711K/N: Implement enumEntries intrinsicKT-59748K2: Return type mismatch: expected Unit, actual Any? for when with an assignment in branchKT-60154K2: Expected some types errorKT-58139K2/MPP/metadata: compiler FIR serialization crash on complex expression as annotation argumentKT-59485K2: build Anki-AndroidKT-59415K2: Missing DATA_CLASS_OVERRIDE_DEFAULT_VALUES_ERRORKT-59710K/JVM: Implement enumEntries intrinsicKT-57984K2/JS fails with IdSignature clash for inherited expect/actual functionKT-59398K2: Missing NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUEKT-60645Native: dynamic caches are broken on LinuxKT-50221FIR: handle enhanced/flexible nullability inside withNullability properlyKT-59281JVM IR inline: incorrect type of created arrayKT-59507JVM IR inline: invocation of arrayOfNulls by function reference results in exceptionKT-58359Allow volatile intrinsics on inline function constant argumentsKT-60598K2: add OptIn checkers for command line argumentsKT-59766K2: ISE: Cannot find cached type parameter by FIR symbol during the coroutines library buildKT-59644K2: the companion object in anexpectclass requires to be explicitly defined for compileNativeMainKotlinMetadataKT-59640K2:expectconstructor requires callingthisorsuperbut didn't use toKT-58883K2: False negative type mismatch for generic annotation in collection literalKT-59581K2: Initializer type mismatch: expected Array<KClass<*>>, actual Array<KClass> in annotation parameter default value using array literalKT-59069K2 does not report EXPECTED_CLASS_CONSTRUCTOR_DELEGATION_CALLKT-59416K2: Missing EXTERNAL_INTERFACE_AS_REIFIED_TYPE_ARGUMENTKT-59417K2: Missing CALL_FROM_UMD_MUST_BE_JS_MODULE_AND_JS_NON_MODULEKT-59381K2: Missing CALL_TO_JS_NON_MODULE_WITH_MODULE_SYSTEMKT-59384K2: Missing DYNAMIC_NOT_ALLOWEDKT-59406K2: Missing PROPERTY_DELEGATION_BY_DYNAMICKT-60247K2: order of data class generated member differs in IRKT-57223K2: false-negative INAPPLICABLE_JVM_NAME on non-final properties outside interfacesKT-60183K2: INAPPLICABLE_JVM_NAME on private methods with all-open pluginKT-60120K2 can't get a default parameter value of expect annotationKT-57240K2 MPP: Actualization doesn't work for flexible typesKT-60436K2: investigate possible FirJavaTypeRef equals parameter in FirDataFlowAnalyzer.hasEqualsOverrideKT-60299K2: when a typealias toUnitis returned, an explicitreturnis now requiredKT-58005K2: Unsupported compile-time value BLOCK for Repeatable annotationsKT-60223K2: Wrong import with import aliasKT-54854K2. Unresolved reference for not imported declaration when it is already imported as an import alias is absent in K2KT-59738K2: NoSuchElementException from JvmValueClassLoweringDispatcher in MPP environmentKT-59708K2: "Property must be initialized or be abstract" occurs due to constructors orderKT-58483K2. -Xmulti-platform flag isn't workingKT-53490FIR: Refactor augmented assignment resolving code - fix lhs-related problems and combine similar code in array and assign operator handlingKT-59673K2: incorrect error messageKT-58578K2: Commonize expect-actual logic between FIR and IR actualizerKT-54989FIR2IR: fragile code in postfix op detectionKT-59464K2: Investigate cases of implicit type refs in Fir2IrImplicitCastInserterKT-53898K2: False negative VAL_REASSIGNMENT on member valsKT-57641K2: "java.lang.NoSuchFieldException: INSTANCE" in kotlin-reflect forKClass.objectInstanceon an anonymous objectKT-59299[K2] ISE in IrBindablePublicSymbolBase.bind on equals function from companion of serializable classKT-58844Incorrect type mismatch error: "actual type is kotlin/Int but kotlin/Int was expected"KT-59413K2: Missing VALUE_CLASS_CANNOT_HAVE_CONTEXT_RECEIVERSKT-56173FIR: IrGenerationExtensions cannot see default values from expect declarationsKT-59611FIR2IR: Unsupported callable reference for enum entry with clashing nameKT-59858Kotlin Native: Compilation failed: Sequence contains more than one matching element, org.jetbrains.kotlin.backend.konan.lower.FunctionReferenceLowering$FunctionReferenceBuilder.buildClass(FunctionReferenceLowering.kt:644)KT-58539[K2] Ir actualization fails to match expect/actual declarations that use custom function typesKT-59775'toString()' on Object returns different result with concatenationKT-59737K2: Actual class 'actual class FastArrayList : AbstractMutableList, MutableListEx, RandomAccess' has no corresponding members for expected class members because of different parameter names in JavaKT-59613K2: Unhandled intrinsic in ExpressionCodegen exception in for expect function with default value in parameterKT-59216K2. Unhelpful unresolved reference when inheriting from interface with constructor call (K1 reports NO_CONSTRUCTOR instead)KT-59057Revise muted tests for native backendKT-57377K2/MPP: internal declarations from common module are inivisible for intermediate modules during metadata compilationKT-59693MPP: linkReleaseExecutableLinux fails with IllegalStateException: Drains have not been painted properlyKT-59362K2/MPP:.toByte()conversion for const val causes SourceCodeAnalysisException: java.lang.NullPointerException: nullKT-51670FIR: questionable behavior for deprecated String constructorsKT-35314StackOverflowError with nested try-finally and function with contractsKT-53460False positive smartcast warning in if block after if blockKT-40851False MUST_BE_INITIALIZED_OR_BE_ABSTRACT error for a property which is initialised in the init blockKT-59695K2: false negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINEKT-41198False positive “Variable must be initialized” with assignment in scope function and safe callKT-58901K2. Value parameter default values are not checked for type mismatchKT-48115Member functions with type parameter and contract don't produce smartcastsKT-59541K2: Type checking has run into a recursive problem on code that was compiling with Language 1.9KT-58943K2: Incorrect with K1 priority of "invokeExtension + implicit receiver" candidateKT-37375[FIR] Incorrect invoke resolutionKT-59789K2: self-reference does not compile anymoreKT-59286JVM IR inline: local property not foundKT-58823K2: Android app crashes right after start: java.lang.NoSuchMethodError: No virtual method findViewById(I)Landroid/view/ViewKT-57754K2: No public signature built for the synthesized delegate fieldKT-58533K2: "Not enough information to infer type variable T" for generic call in throw expressionKT-34846FIR Java: enhance type parameter bounds properlyKT-52043FIR: FirValueParameter with SubstitutionOverride does not reference the original FIR declarationKT-59291JVM IR inline: unexpected result ofapiVersionIsAtLeastinvocationKT-59550K2: synthetic property isn't seen through JavaKT-59038[K2] IllegalStateException in mixed Java/Kotlin inheritanceKT-59489K2: builld spring-petclinic-kotlinKT-58908K2. Internal error "kotlin.UninitializedPropertyAccessException: lateinit property firType has not been initialized" on incompleteisKT-56755K2: Investigate failures related to line numbers with LT compilation enabledKT-56139K2: consider adding source element for implicit receiversKT-57489K2: Incorrectly generated line numbers in companion object access inside classKT-58947Run all existing codegen box tests with kapt stub generationKT-58827K2 reports ACTUAL_WITHOUT_EXPECT on the whole classKT-54917K2: ILT leak from a completed generic callKT-56187K2: type parameter's upper bound is ignored in callable referencesKT-56186K2: lack of type arguments in type constructor is ignored in callable referencesKT-59356K2: Restrict rules for matching of expect supertypes for actual classKT-57217K2: NoSuchMethodError ontoCharcall on java inheritor of java.lang.NumberKT-58356K2: StackOverflowError with OptIn and Deprecated, while compiling Kotlin projectKT-57954K2. Auto-generated "entries" member of enum class has higher priority than user-declared companion object with same name when language version is set to 2.0KT-59508K2: Make sure that warnings-severity nullability annotations are not perceived as reasons for nullability errorsKT-53820FIR: mismatching error message for invisible reference/memberKT-58641K2: PublishedApi has no effect when internal fun used in the test source setKT-59461K2: Erroneous null check when returning not-null typealias to nullable typeKT-58980K2: Import of java field from companion's base breaks the compilerKT-59140K2: "Symbol public final static field is invisible" caused by java static field called in kotlin codeKT-59501Escape analysis constructs arrays of negative sizeKT-59452apiVersionIsAtLeast calls in body of stdlib inline function may be evaluated on compile-timeKT-53967[PL] Classifiers: Turning interface from fun to non-fun + adding member function causes Kotlin/JS fail: IAE: "Sequence contains more than one matching element"KT-59346Not working breakpoints on not initialized variablesKT-55993Wrong current pointer: strange behaviour of debugger or compiler when two IFs and an uninitialized variable between themKT-58335K2: Exposed typealias from implementation dependency produces type mismatch in dependent moduleKT-58719K2: false-positive INVISIBLE_REFERENCE error in case of importing an internal abstract classKT-57694K2: False positive [NOTHING_TO_OVERRIDE] for a class overriding 'sort' method from the List collectionKT-58460K2. return without argument became allowed for functions with return type AnyKT-49249Incorrect nullability inferred for ThrowableKT-57429K2: Fix computing a mangled name for members of a generic class that reference the class's type parameters in their signatureKT-57566K2: Fix name mangling for functions that have dynamic type in their signatureKT-57818K2: Fix FirMangleComputer to not include the "special" package name into mangled names of property accessors on non-JVM platformsKT-57777K2: Fix computing a mangled name for the synthesizedentriesproperty getter of an enum classKT-57433K2: Fix computing a mangled name for top-level functions and propertiesKT-58553k2: Annotation type arguments are lost in FIR2IRKT-58184K2: False negative INVISIBLE_MEMBER on destructuring declarationKT-58637K2: False negative ABSTRACT_MEMBER_NOT_IMPLEMENTED on Entry of Enum with abstract member declarationKT-54952JvmSerializationBindings does not work with K2KT-54844FIR/Analysis API: create stubs for equals/hashCode/toString for data classes in FIRKT-58555K2: Generic property reference inside delegation misses type argumentKT-57648FIR: move deprecation calculation on COMPILER_REQUIRED_ANNOTATIONS phaseKT-57049K2 generates duplicates of symbols/declarationsKT-55723K2: deprecations for enum entries are not resolved on the TYPES phaseKT-59033Doesn’t support vararg parameter in annotation instantiation with empty argumentsKT-58780JVM IR inline: local property delegation is not working for K2KT-58779JVM IR inline: correctly process special inlined block in value class loweringKT-58720Generate full InnerClass attributes for the standard libraryKT-58215K2: JVM IR produces line numbers for delegation bridges that are not marked with ACC_BRIDGEKT-42696JVM IR generates line numbers for all bridges leading to extra steps in the debuggerKT-57228K2: annotations for interface member properties implemented by delegation are copiedKT-57216K2: non-trivial enum declaration does not have ACC_FINAL in the bytecodeKT-55866K2: Constant as parameter of@JvmName: BE: "Unsupported compile-time value CALL private final fun "KT-58717Object on the left-hand side of callable reference is not initialized ifKCallable.nameoptimization is usedKT-59211Kapt+JVM_IR: AssertionError on delegating to anonymous objectKT-57251K2: weird error message when trying to instantiate anexpectclass without explicit constructorKT-58623Language version 2.0: compiling into common, Native does not report "Protected function call from public-API inline function is prohibited", while JVM, JS doKT-55945NoSuchMethodError when calling method with value class parameter on java class inherited from kotlin classKT-58840K1/K2: false positive EXPOSED_FUNCTION_RETURN_TYPE related to protected lower boundKT-57243K2: no warning or error reported on expect class in CLI, and JVM backend tries to generate it to a .class fileKT-57833K2 reports NO_ACTUAL_FOR_EXPECT for inherited properties with the same nameKT-58153K2/MPP/JVM&Native: cannot override Any::toString when an expect-supertype has Any::toString override in actual-classKT-58124K2: FIR2IR compiler crash with MPP (Fir2IrSimpleFunctionSymbol is already bound)KT-58346k2: false negative MUST_BE_INITIALIZED for deferred initializationKT-57803K2. "Kotlin: Only the Kotlin standard library is allowed to use the 'kotlin' package" error missing in 2.0KT-57504[K2/N] Wrong coercion ofILT: 7to kotlinx.cinterop.COpaquePointer causesCannot adapt kotlin.Int to kotlinx.cinterop.CPointerduring autoboxingKT-57484K2: false positive OVERLOAD_RESOLUTION_AMBIGUITY with ImplicitIntegerCoercionKT-57971K1/K2: False positive "Redundant 'suspend' modifier" warning on declaration site when suspend function is also argumentKT-56779Checkers false negative: AbstractMethodError when accessing setter via an interface where the member is defined as var, but it's val in implementationKT-51793FIR: Investigate property+invoke resolution prioritiesKT-57003FIR: missing annotation on parameter ofdataclass' syntheticcopyKT-57269K2: collection stub forsortis not generated for custom List subclassesKT-54748K2: incomprehensible errors when type parameter has the same name as a classKT-50703FIR: Improve reporting UPPER_BOUND_VIOLATED for type arguments of typealias constructor callsKT-57622Fix incorrect metadata for data class generated methodsKT-54887K2: fix behavior of references to value classes equals/hashCode/toStringKT-58937K2: Annotation vararg arguments are incorrectly serializedKT-58621K2: Private class shadows public function defined in the same packageKT-59041K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource " on incorrect collection declarationKT-58665K2: Optional.of incorrectly accepts nullable StringKT-58938K2. Abstract class can be invoked using member reference::operatorKT-50798FIR: False negative UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSIONKT-58944K2. StackOverflowError on incorrect intersection typesKT-59241K2: broken inference of DNN typesKT-58294K2 compiler crashes with OOM on deserializing annotation applied to itself with a enum outer/nested parameterKT-58972K2: Error message of PRIVATE_CLASS_MEMBER_FROM_INLINE doesn't mention class membersKT-58989K2: Forbid suspend operator get/setValue and provideDelegateKT-59177K2: Report NAMED_ARGUMENTS_NOT_ALLOWED for named parameters in lambdasKT-57028K2: "NSEE: Sequence contains no element matching the predicate" with stream related Java apiKT-58007K2: Unsupported compile-time value GET_FIELD FIELD PROPERTY_BACKING_FIELD when const value is default for annotationKT-58472Secondary constructor breaks MUST_BE_INITIALIZED checkKT-59022Make is and as behaviour consistent in NativeKT-58902K2: Calls to overridden method with default parameter are not compiledKT-58549K2: variable type is infered to non-existing interfaceKT-58613K2: ConcurrentModificationException from FirSignatureEnhancement.performFirstRoundOfBoundsResolutionKT-55552K2. False negative TYPE_MISMATCH in implementation via delegationKT-57436Fix computing mangled names of generic properties from IR-based declaration descriptorsKT-58543[K2/N] Rewrite native MPP tests to avoid expect actual in same moduleKT-57701Unify selection of inherited callable with default implementation among multiple candidates in JVM, Native & JS backendsKT-58444K2/MPP/metadata: compiler FIR2IR crash on constant with intrinsic initializer from common source set in Native-shared source setKT-57756K2: Missing syntax errors when light tree parsing is usedKT-57435Fix computing mangled names for functions with context receiversKT-57219K2: incorrect relative order of normal and use-site-targeted annotations on property getter in the resulting bytecodeKT-57955K2: "ClassCastException: class org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl cannot be cast to class org.jetbrains.kotlin.ir.declarations.IrDeclaration" with property delegateKT-58583K2: false-positive invisible reference error on nested anonymous object literal extending a protected nested classKT-57425K2: False-positive smartcast on property accessed through a property from another moduleKT-57844K2. Not relevant errors when accessing Java member which have private overloads with argument type mismatchKT-58584K2: "UninitializedPropertyAccessException: lateinit property packageFqName has not been initialized"KT-58529K2: "Extension function type is not allowed as supertypes" compile errorKT-58379K2: NEW_INFERENCE_ERROR in sortedBy call with exception in branchKT-58284K2: False negative ITERATOR_MISSINGKT-55078K2 IDE: Infinite recursion inorg.jetbrains.kotlin.fir.java.JavaScopeProvider#findJavaSuperClassKT-58080K2: False-positive TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on annotated const valKT-58674K2: No expected type for while loop conditionKT-56523K2 should report MANY_INTERFACES_MEMBER_NOT_IMPLEMENTEDKT-58238Support dumping signatures and mangled names in irText testsKT-58456K2: Custom function type metadata breaks Compose library compatibilityKT-58267K/N: do not reference hidden Array.content* functions from the compilerKT-57791Native: Method returning String? leads to exception: Unexpected receiver type: kotlin.StringKT-58437K2: Do not use descriptors in KonanSymbolsKT-57432K2: Don't create default getters and setters in case when they are not neededKT-46047FIR: incorrect type of integer literalsKT-57487[K2/N] Stdlib ArraysTest fails withClass found but error nodes are not allowedKT-56951K2: False negative error on compound assignment for property of type ByteKT-57222K2: compiler FIR serialization crash on two functions with captured type and object literalKT-58224K2: deprecation on field is not detected properlyKT-55662K2. Incorrect type mismatch error "inferred type is IOT" instead of "inferred type is Int"KT-55668K2. 'in' modifier became applicable to star projectionKT-57064K2: hidden internals of dealing with type-aliased primitive types are exposed to userKT-58252K2: Symbol already bound for backing field during building resulting JS artifact for MPP projectKT-56940K/Wasm: report compiler errors for unsupported external declarationsKT-56943K/Wasm: implement@WasmImportdiagnosticsKT-55903K2: False negative CANNOT_CHECK_FOR_ERASED on is-check for type with reified type argumentsKT-56944K/Wasm: implement@JsFundiagnosticsKT-58329K2: False-positive suspend conversion for anonymous functionsKT-58028K2: False-positive TYPE_PARAMETER_IS_NOT_AN_EXPRESSIONDocs & Examples
KT-60545Documentation change on Interoperability with Swift/Objective-C: highlight that it is not normal to suppress errorsKT-50927Kotlin / Docs: Delete all the information about old Kotlin/WasmKT-61398Advertise hierarchy templates in 1.9.20-Beta what's newIDE
New Features
KTIJ-23199K2 IDE: Improve Import quick fix descriptionKTIJ-26056Support highlighting of KNM filesPerformance Improvements
KTIJ-26688UAST: optimize methodNameCanBeOneOfFixes
KTIJ-26782Internal error while highlighting "AndroidHighlighterExtension does not define or inherit highlightDeclaration"KTIJ-27188Bundled DevKit plugin + 1.9.20-Beta* constantly throws exceptions when opening another plugin codebaseKTIJ-25220Kotlin not configured dialog does not show if Kotlin stdlib is anywhere on classpathKTIJ-25563Failed cinterop task becomes UP-TO-DATE and successfully passes on the second importKTIJ-26536IDE in Java file resolves to property with the same name instead of method in the nested class from libraryKTIJ-25126K2 IDE. No import quickfix for Java static membersKT-60341K2 IDE: "UnsupportedOperationException: Unknown type CapturedType(*)?"KTIJ-25960K2 IDE: KDoc references to static java methods are not resolvedKTIJ-7642HMPP, IDE: False positive ''suspend' modifier is not allowed on a single abstract member' for common code if JVM target presentKTIJ-25745K2 IDE: "Type info" intention shows the return type of a functional type instead of the functional type itselfKTIJ-26501K2: IDE K2: False positive unused import when declaration used for vararg parameter typeKTIJ-26661K2 IDE. PIEAE “Element class CompositeElement of type FUN” after removing/putting back function with operator modifierKTIJ-26672K2 IDE: false positive in optimize import for ambiguity callsKTIJ-26760K2 IDE: OVERLOAD_RESOLUTION_AMBIGUITY false positiveKTIJ-26867K2 IDE: rename refactoring doesn't rename subclasses if they are used in import directivesKTIJ-26848K2 IDE: index inconsistency in case of "" nameKTIJ-26666K2 IDE: changed FirFile is treated as fully resolved after in-block modificationKT-59836Symbol Light Classes: Type parameters from the parent interface aren't copied to DefaultImpls methodsKT-28611MPP: Gradle -> IDE: settings provided viacompilationsDSL are not imported into common modules facetsKTIJ-25448When project JDK is less than one defines in jvmToolchain block, run with Idea fails withhas been compiled by a more recent version of the Java RuntimeKT-60603K2: Investigate intellij tests failures in branch 2.0KTIJ-25364K2 IDE: References to Java records are red: OVERLOAD_RESOLUTION_AMBIGUITY, UNRESOLVED_REFERENCEKTIJ-24390Kotlin assignment plugin: Imports are not recognized in build logic .kt files for Gradle buildKT-60590Fix light classes related tests in branch 2.0KT-60530K2 scripting: exception on .gradle.kts openingKT-60539K2: "KtInaccessibleLifetimeOwnerAccessException: org.jetbrains.kotlin.analysis.api.lifetime.KtReadActionConfinementLifetimeToken@3ce52fd9is inaccessible: Using KtLifetimeOwner from previous analysis" at highlightingKTIJ-26276K2 IDE: Optimize import drops used import aliasKT-60518K2 IDE. False positive [NON_MEMBER_FUNCTION_NO_BODY] when completing function withComplete current statementKT-60323K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" exception on contract return typeKT-60352K2 IDE. Support Java RecordsKT-56503K2 IDE: FIR tree is incorrect in a case of ProcessCancelledException was thrown during phase executionKTIJ-25653K2 IDE. "KotlinExceptionWithAttachments: Containing function should be not null for KtParameter" exception on incorrect derived class declarationKT-59843SLC:KotlinAsJavaSupport.packageExists(viaKotlinStaticPackageProvider) said ROOT package doesn't exist if noKtFiles are givenKTIJ-26206Support retrieving KtType from annotation constructor calls on getters and settersKT-59445Recursion detected on input: JavaAnnotationImplKTIJ-26066K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" on attempt to set contractKTIJ-26085K2 IDE: treat psi modification of a contact inside a body as OOBMKTIJ-25869K2 IDE. Expected FirResolvedTypeRef for return type of FirValueParameterImpl(Source) but FirImplicitTypeRefImplWithoutSource was foundKTIJ-24272K2 IDE: "Expected some types"KTIJ-24730K2 IDE. IllegalStateException on absence of opening bracket in main() functionKT-59533AA/SLC: anonymous object appears during PsiType conversion, resulting in IllegalArgumentException:KtFirPsiTypeProviderKt.asPsiTypeElementKT-59563Symbol Light Classes: Incorrect type erasure in $annotations methods for extension properties with generic parametersKT-57567SLC: missingfinalmodifier on enum (non-synthetic) membersKT-59537SLC: SymbolLightClassForAnonymousObject with null parentKTIJ-24121K2 IDE. "failed to convert element KtLightField" when trying to declare property after function that has return with type mismatchKTIJ-25335K2 IDE. "failed to convert element KtLightField:" on attempt to set property in class with constructorKT-59293Symbol Light Classes: DefaultImpls methods must be static and have an additional $this parameterKTIJ-25976K2 IDE: Fix "Unsupported compiled declaration of type" for type parametersKT-59325Symbol Light Classes: Non-existing fields for properties from companion objectsKT-57579SLC: unboxed type argument as method return typeKT-54804Generate synthetic functions for annotations on properties in light classesKT-56200Kotlin FIR reference resolve exception leaks user codeKT-58448K2 / IDE / SLC:findAttributeValuefor attribute w/ default value raises ClassCastExceptionIDE. Completion
Fixes
KTIJ-26518K2 IDE: Code completion does not insert import when completing a type in the vararg positionKTIJ-26713K2 IDE: Code completion does not insert import when completing a type inside a functional typeKTIJ-26597K2 IDE: "Change return type" quick fix adds full qualified name to anonymous functionKTIJ-26384K2 IDE: Extension functions completion should recognize context receiversKTIJ-26419K2 IDE: Completion in anonymous function inside when branch expression does not account for smart castKTIJ-26629K2 IDE: Completion of types in anonymous function return is not shortenedKTIJ-26599K2 IDE: Typingdo ... whilestatement: InvalidFirElementTypeException: "For DO_WHILE with text... FirExpression expected, but FirDoWhileLoopImpl found"KTIJ-26113K2 IDE: Completion in when branch does not account for smart casts ifelsebranch is presentKT-60451K2 IDE: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is class org.jetbrains.kotlin.fir.expressions.impl.FirBlockImplKTIJ-21103FIR IDE: implement completion In KdocKTIJ-24096K2 IDE: Completion should insert the fully-qualified class name when the short class name clashes with a name from scopeKTIJ-25116K2 IDE: Name shortening in constructor's parameters affects constructorKTIJ-19863Bad completion variants inside annotationsIDE. Decompiler, Indexing, Stubs
KTIJ-26706Bytecode viewer: "IllegalStateException: Couldn't find declaration file" for a file with a delegated property with inline accessor in another moduleKTIJ-25465IDE hangs when indexing Kotlin projectKTIJ-25979K2 IDE: 'java.lang.IllegalStateException: Attempt to load decompiled text, please use stubs instead' exception if navigate to the decompiled KGP sourcesKTIJ-25985Stub mismatch for names with special charactersIDE. Gradle Integration
KTIJ-25334Gradle 8.1: Unresolved references in IDE for build.gradle.ktsKT-61777Explicit API mode isn't reflected in IDE settings unless every task is configured with GradleKTIJ-26306apiLevel (API version) for Kotlin/Native modules is set to 1.8 with KGP 1.9 and IDE Plugin 1.9.0-XXX, if the compiler bundled to IDE Plugin is still 1.8KT-61172MPP: Stacktraces of diagnostics are always printed during IDEA syncKT-48554[Multiplatform Import] Ensure consistency betweenGradleImportPropertiesandPropertiesProviderKT-36677MPP Gradle plugin doesn't respect manually set compiler arg-opt-inKT-58696MPP + IDEA: tryK2 does not affect LV value of common facetsKT-53875Warn users about erroneously adding dependsOn fromtesttomainKTIJ-23890Gradle to IDEA import: "You are currently using the Kotlin/JS Legacy toolchain" balloon is shown when I actually use IRIDE. Gradle. Script
KTIJ-25523Scripts: support for standalone configuration flagKTIJ-25910Scripts: transition to GistStorageKTIJ-26778Gradle 8.3: some parts of build.gradle.kts look unresolvedKTIJ-26308IAE “Unable to find script compilation configuration for the script KtFile: build.gradle.kts” on reopening project with build.gradle.ktsKT-60171K2 IDE: scripting freeze on kotlin project build.gradle.kts fileKT-60236K2 scripting: completion fails with exceptionKT-59801K2 IDE: Adding of an import with a task name to a build script leads to unresolved referencesKT-60749Scripting: default definition as a fallbackKT-60199K2 scripting: exception on script openingKT-60193K2 scripts: configuration discovery fails silently from time to timeIDE. Hints. Parameter Info
KTIJ-26824K2 IDE: "Parameter Info" shows incorrect overload as selectedIDE. Inspections and Intentions
New Features
KTIJ-26302K2 IDE: Support adding a@OptInannotation and suggesting to propagate opt-in requirement in quickFixesKTIJ-25002Provide a quick fix to migrate use-site 'get' annotations on gettersFixes
KTIJ-24832K2 IDE: 'Redundant qualifier name' false positive for nested classes from supertypes on the outside of a classKTIJ-26103K2 IDE: False positive in redundant qualifier inspectionKTIJ-26024K2 IDE: False positive "Redundant qualifier" inspection on a nested class which extends its outer classKTIJ-26576K2 IDE: "Redundant qualifier" false positive with referring parent's subclass in type constraintKTIJ-26785K2 IDE: False positive "Redundant qualifier" inspection in extension function for Java interface with nested interfaceKTIJ-26695K2 IDE. False negative "Redundant qualifier" directive for invoke function from objectKTIJ-26627K2 IDE: False positive "Redundant qualifier" inspection on extension property called on object when other 'this' is present in scopeKTIJ-23407K2 IDE. False positive unused import directive for invoke function from objectKTIJ-26808K2 IDE. "Redundant qualifier" inspection on the receiver of static method from Java may change semantic when receiver is not direct parentKTIJ-26840K2 IDE. False positive "Redundant qualifier" inspection when accessing companion object member inside anonymous object and there is a name clashKTIJ-26498KMP: Create expect-actual dialog selects incorrect path on WindowsKTIJ-24877K2 IDE. False negative unused import directive when declaration is available in file indirectlyKTIJ-25368K2 IDE. Specify type explicitly intention does not work with Java recordsIDE. JS
KTIJ-25023K/JS: Remove balloon warning about migration to IR backendIDE. Libraries
KTIJ-13660MPP library: No gutters forexpectandactualsymbolsIDE. Misc
KT-60053IdeaKotlinBinaryCoordinates doesn't respect capabilities and classifier attributesIDE. Multiplatform
Fixes
KTIJ-26700KMP: false positive report of non matching expect and actual annotations if annotation is actual typealiasKTIJ-25997KotlinMPPGradleTestTasksProvider: Support jvm targets with other names (such as android)KT-61686Check and update places in compiler and IDE where we are saying that MPP is experimental/Beta/AlphaKTIJ-27058Wizard's KMM application failed to build in 232 ASKT-59760[BUG] Use bundled version of Kotlin IDE Plugin in KMM Tests instead of customKT-61520Sources.jar is not imported for common and intermediate source-sets from the MPP libraryKTIJ-25842MPP: New create expect/actual dialog uses deprecated location for android instrumented actual counterpartKTIJ-25746MPP: Unable to distinguish android unit and instrumented tests in new create expect/actual dialog if instrumented tests are depends on commonKT-60410Add minimum supported KGP version in intellij.git infrastructureKT-59794Bump used KGP in multiplatform intellij.git tests after release 1.9.0KT-59518Cherry-pick old-import tests into 231-1.9.0/masterKT-56736Investigate how-to run multiplatform tests on real devicesKT-59519Bump AGP versions in intellij.git tests in masterKTIJ-25591MPP: Create expect/actual dialog doesn't allow selecting all targetsKT-56684Adopt KMM UI tests to be used with IDEAKT-50952MPP: Commonized cinterops doesn't attach/detach to source set on configuration changesIDE. Navigation
KT-61894Navigation from java sources leads to Kotlin decompiled code in case of suspend functionKTIJ-27053Value parameters documentation of expect isn't shown in actualsKTIJ-26292Documentation for expect/actual comes from a random actualKTIJ-26441K2 IDE: navigation doesn't work when type parameters are missed in annotation callKTIJ-26566K2 IDE: don't show no-name parameters in presentationsKTIJ-25366K2 IDE. Go to declaration of Java record shows record and constructorIDE. Refactorings. Rename
KTIJ-25762K2 IDE. label rename doesn't change it's name in usages after rename refactoringIDE. Script
KTIJ-25989java.lang.NullPointerException: Cannot invoke "com.intellij.openapi.vfs.VirtualFile.getPath()" because the return value of "java.lang.ThreadLocal.get()" is nullKT-60519Analysis API: scripts are not invalidated on PCEKTIJ-26670K2 Scripts: We should be able to find a symbol forKTIJ-25731KtAssignResolutionPresenceService is not available as a service in 231-1.9.20KT-60307K2 IDE. KotlinExceptionWithAttachments in script fileIDE. Wizards
KTIJ-27005Wizards 232: Fix generated kotlin version for 1.9.20-BetaKTIJ-26846Adjust compatibility data for 1.9.20 releaseKTIJ-264791.9.20: Update versions in wizardsKT-59347Rename Compose Multiplatform wizard to Compose for DesktopIR. Interpreter
KT-60467"InternalError: Companion object * cannot be interpreted" caused by java's package nameKT-60744Restore binary compatibility of toIrConst functionIR. Tree
KT-59771Restore compatibility of IdSignature.CommonSignatureKT-59772Restore compatibility of IrFactory#createFunctionKT-59308Auto-generate the IrFactory interfaceJS. Tools
KT-44838Kotlin/JS source-map-loader slow performance since 1.4.0JavaScript
New Features
KT-58684KJS: ES15 classes — creating instance by classPerformance Improvements
KT-58187KJS / IR: Huge performance bottleneck while generating sourceMaps (getCannonicalFile)Fixes
KT-60425Kotlin/JS compiler incorrect behavior for object singleton with CompleteableDeferredKT-62790java.lang.ClassCastException in compiler when ::class is usedKT-60495K2: Make JS CliTestGenerated working with K2KT-6168Ability to generate one JS file for each Kotlin source fileKT-60667K2 / KJS: jsTest fails with "SyntaxError: Unexpected token '}'" on runtimeKT-61581KJS: generate separate imports for useEsModules()KT-56737K2: build Space JSKT-59001K/JS: Use open-addressing hash map in JS stdlibKT-60131KJS: Interference between@JsExportand final implementation of propertiesKT-59712K/JS: Implement enumEntries intrinsicKT-60202JsExport.Ignored internal extension still has "JavaScript name () generated for this declaration clashes with another declaration"KT-51333KJS: someKTypeequalsNothing'sKTypethrows an exception, breaking its symmetryKT-58857KJS/IR: js file is not generated when source is stored in /var folderKT-53482KJS: Inheritance from JS class fails in ES6, because constructor is not called with newKT-58891K/JS: non-local return in lambda may leave an unreachable JS code after returnKT-49077KJS / IR: Wrong method called when using overloaded methods and class with the same nameKT-59718K/JS: Concatenating a String with a Char can lead to boxing of the CharKT-59717K/JS: a redundant boxing of a returned Char from an inline functionKT-39506Kotlin/JS browser application using JS IR and React fails in runtime with "TypeError: _this__0._set_name__2 is not a function"KT-59151K2 / KJS: NullPointerException in Fir2IrClassifierStorage.preCacheBuiltinClassesKT-59335K/JS ES6 classes: A child constructor, when using parent secondary constructor super call, creates a parent objectKT-58797Optimize the code generated for objects on JS and Wasm backendsKT-52339FIx failing JS tests after bootstrap updateKT-46643KJS / IR: Setter of overridden var of external val is removedKT-55315IR: can't access thestackproperty ofThrowableKT-59204Automatically generate NATIVE directive in tests for IR signaturesKT-59239K/JS: Bridge not generated for checking parameter type in generic class overrideKT-57347KJS: BE IR Incremental cache invalidation doesn't work after inserting Partial Linkage stubKT-58599KJS: Adding an override method to open class does not rebuild children JS codeKT-58003K2/MPP/JS: compiler IR serialization crash on multiple calls to inherited expect-functionKT-38017KJS: tests generate invalid code depending on file namesKT-25796KJS: Top-level constructs are put in an incorrect orderKT-58396KJS / IR: "IllegalStateException: Validation failed in file" with Enum.entries and inheritanceKMM Plugin
KTIJ-27158Import is failing after creation of new module if project don't use versionCatalogKT-59492KMM AS plugin for Canary 231 reports errorKlibs
KT-58877[klib tool] add ability to dump klib irKT-54402Programmatic API to dump public signatures from KLibsKT-60576Keep supported IR signature versions in manifestKT-59136[PL] Lower the default PL engine messages log level down to INFOKT-59486klib: Serialize mangled names along with signaturesLanguage Design
KT-22841Prohibit different member scopes for non-final expect and its actualKT-49175Inconsistency with extension super-type allowance between suspend / non-suspend function typesKT-61573Emit the compilation warning on expect/actual classes. The warning must mention that expect/actual classes are in BetaKT-57614KMP: consider prohibitingactual typealiaswhen the correspondingexpect classhas default argumentsKT-27750Reverse reservation of 'yield' as keywordLibraries
New Features
KT-59440Rework Flags API in kotlinx-metadata-jvmFixes
KT-62381K/Wasm: (re)publish libraries with 1.9.20-Beta2 (or newer if available)KT-62656Drop@AllowDifferentMembersInActualfrom stdlibKT-58887Reflection: "IllegalArgumentException: argument type mismatch" when using reflection to invoke a value class returning function that suspendsKT-61507Native: enum hashcode is not finalKT-56106Migrate stdlib to current Kotlin Multiplatform PluginKT-58402Migrate Vector128 from kotlin.native to kotlinx.cinteropKT-60911Compatibility publishing of kotlin-stdlib-commonKT-53154Deprecate enumValues and replace it with enumEntries in standard libraryKT-58123Update deprecations in native atomic classes for 1.9.20KT-60444transformJvmMainAtomicfu fails with java.lang.NoSuchMethodError: 'kotlin.Metadata kotlinx.metadata.jvm.KotlinClassMetadata.getAnnotationData()'KT-61342kotlin-test-wasm-* artifacts include test codeKT-61315Publish common sources in kotlin-test-js sources jarKT-56608WASI Preview1 version of Kotlin/Wasm stdlibKT-55765Review and stabilize stdlib surface available in K/NKT-55297kotlin-stdlib should declare constraints on kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7KT-57838Native: raise ExperimentalNativeApi opt-in requirement level to ERRORKT-61028Behavioural changes to the Native stdlib APIKT-61024Native: Mark the kotlin.native.CName annotation with ExperimentalNativeApiKT-61025Native: Deprecate HashSet.getElement() with WARNINGKT-53791Publish standard library as a multiplatform artifact with Gradle metadataKT-57363Remove reified constraint from Array constructors in platforms where Array type parameter is not required to be reifiedKT-57401Native: Regex matching zero length should split surrogate pairsKT-57359Provide Common StringBuilder.append/insert with primitive type argumentsKT-58264K2: republish kotlinx.metadata to support LV 2.0KT-57710Native: Internalize@Retainand@RetainForTargetannotationsKT-57720Native: Consider strictening NativeRuntimeApi opt-in requirement level to ERRORKT-57837Deprecate kotlin.native.SharedImmutable and kotlin.native.concurrent.SharedImmutableKT-58126Wasm: Consider removing Primitive.equals(Primitive) overload on primitive typesKT-53327Migrate all usages of 'Enum.values' to 'Enum.entries' in standard libraryKT-59366Deprecate KmModule.annotationsKT-59365Get rid of two-stage parsing in KotlinClassMetadataKT-35116Enum.valueOf throws inconsistent exception across multiple platformsKT-59223Native Enum.hashCode should return identity hash code, similar to JVMKT-56637Native: 'String.indexOf' matches byte sequences not on the char boundary, which also makes the result of 'split' and 'replace' operation incorrectKT-59192Align behavior of collection constructors across platformsNative
New Features
KT-50463Native: Provide a way to control the KONAN_DATA_DIR by the Gradle mechanismsKT-59448K2: IR and FIR signatures are not same for composable functionsFixes
KT-60230Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3KT-62532Support Xcode 15.0 frameworks as Kotlin/Native platform librariesKT-61382Linking XCFramework fails with error: Invalid record (Producer: 'LLVM11.1.0' Reader: 'LLVM APPLE_1_1300.0.29.30_0')KT-61417Native: string and array variables are not properly displayed in lldb when compiling with caches with Xcode 15KT-60758Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4KT-59149Native: check compiler compatibility with Xcode 15 beta 1KT-58537iOS project fails to build with rootProject.name = "Contains Space"KT-59073Native: don't include kotlinx.cli endorsed library into compiler distributionKT-58707[K/N] Compiler crash building generics with redundant castKT-58654Compiler error from kotlin.collections.Map : "Invalid phi record", while compiling for kotlin nativeNative. C Export
KT-56182[K2/N] C export doesn't work for non-root packages with K2Native. C and ObjC Import
KT-59642Remove ability to import forward declaration by library package nameKT-59643K2: Disable merging of forward declaration with real declaration classKT-52882MPP / Native: expect/actual mechanism broken when base contract is NSObjectProtocolKT-55578Custom user message for linker errorKT-58585[K2/N] Fix interop issuesKT-56041[K2/N] Fix broken __builtin_nanf(String)KT-57716[K2/N] Validation failed in file smoke.kt : unexpected type: expected platform.objc.Protocol?, got objcnames.classes.Protocol?KT-56028[K2/N]cnames.structs.Foodoes not resolveKT-59645Cast to objective C forward declaration crashes compilerKT-58793[K2/N] Package separators after mangling are different for IR and FIRNative. ObjC Export
KT-56090[K2/N] Emit DocString klib extensions for ObjCExportNative. Runtime. Memory
KT-61914Kotlin/Native: massive increase in memory usageKT-61092Kotlin/Native: Adjust initial values for expected heap sizeKT-61091Kotlin/Native: GC scheduler pauses mutators too aggressivelyKT-61741Kotlin/Native: tsan error in parallel markKT-57773Kotlin/Native: track memory in big chunks in the GC schedulerKT-61089Kotlin/Native: fix concurrent weak processing for new allocationsKT-55364Implement custom allocator for Kotlin/NativeKT-57772Kotlin/Native: concurrently process weak references in GCKT-57771Kotlin/Native: parallel mark in GCNative. Stdlib
KT-60608Introduce AtomicArrays API in K/N stdlibKT-59120Native: Rewrite stdlib AtomicReference with Volatile instead of custom C++ codeReflection
KT-47973Reflection: "IllegalArgumentException: argument type mismatch" when using callSuspend to call a function returning value class over primitiveKT-41373"KotlinReflectionInternalError: Unresolved class" when inspecting anonymous Java classKT-61304Reflection: Calling data classcopymethod via reflection (callBy) fails when the data class has exactly 64 fieldsKT-52071Continue gracefully when the system property check "kotlin.ignore.old.metadata" failsTools. CLI
KT-60662Add JVM target bytecode version 21KT-58183ParseCommandLineArgumentsKt.parseCommandLineArguments takes ~500msKT-58690OutOfMemory when compiling in CLIKT-58065K2: Enable light tree instead of PSI for CLI compilation of JS and Native by defaultTools. CLI. Native
KT-59245[K1/N] Compile sources to native binary in two stagesKT-56855[K2/N] Command-line compiler doesn't support compiling sources directly to a native binary (without intermediate klib) with-language-version 2.0KT-58979[K2/N] FIR frontend cannot resolve symbols from resolved klib having non-normalized pathTools. Commonizer
KT-59302Commonizer: make sure that opt-in annotation generated by cinterop made it into commonized artifactKT-62028False positive "Unnecessary '@OptIn' Annotation" for ExperimentalForeignApiKT-55757kotlinx.cinterop.UnsafeNumber: empty opt-in messageKT-59859Change the OptIn Level to Error for kotlinx.cinterop.UnsafeNumberKT-59132K2/Native/CInterop: [UPPER_BOUND_VIOLATED] Type argument is not within its bounds: should be subtype of 'kotlinx/cinterop/CPointed'KT-58822Kotlin Gradle Plugin: migrate tests off native deprecated targetsKT-47641Enabled cInterop commonization triggers native compilation during Gradle sync in IDETools. Compiler Plugin API
KT-58638K2: Annotations generated by IR plugins are not included into metadataKT-61872K2: Adding annotations to metadata from backend plugin doesn't work in the presence of comments on annotated declarationKT-61833K2: annotations added viaaddMetadataVisibleAnnotationsToElementto declarations from common sourceset in MPP project are invisibleKT-60051K2: Support metadata serialization of primitive const annotation arguments generated by IR pluginsTools. Compiler Plugins
KT-61550[atomicfu-compiler-plugin]: check that atomic properties are declared as private or internal valKT-58079K2/atomicfu: JVM IR transformer crash on atomic extension functionsKT-61293Usage of atomicfu compiler plugin leads to UnsupportedClassVersionError if Gradle runs on JVM <11KT-55876K2. "[Internal Error] java.lang.NoClassDefFoundError: org/jetbrains/kotlin/com/intellij/openapi/util/UserDataHolderBase" when project with languageVersion 2.0 is Built and Run using Intelij IDEAKT-58049K2: Smartcast of nullable property fails when Spring compiler plugin is presentKT-57468Kotlin assignment plugin: operation name cannot be found for referenceTools. Compiler plugins. Serialization
KT-58501K2/MPP/serialization: several classifier kinds seem to miss generated serializer functions when compiled to K/JS and K/Native targetsKT-59768kotlinx.serialization + K2 + JS/Native: Support meta-annotations on sealed interfaces with user-defined companionsTools. Gradle
New Features
KT-59000Default standard library dependency should use the single artifact for all targetsKT-57398Add ability to run compilation via build-tools-apiKT-34901Gradle testFixtures don't have friendPaths setKT-44833Gradle DSL: AddlanguageSettingsaccessor tokotlinextension that applies to all source setsKT-58315Add build metrics for Kotlin/Native taskPerformance Improvements
KT-62318Android Studio sync memory leak in 1.9.20-BetaKT-62496Configuration time regression with KGP 1.9.20-Beta caused by loading of propertiesKT-61426Enabling compilation via the build tools API may cause high metaspace usageFixes
KT-61359"Unresolved reference: platform" when enabling Gradle configuration cacheKT-59826Update SimpleKotlinGradleIT#testProjectIsolation to run on Gradle 8KT-57565Add ability to capture classpath snapshots via the build-tools-apiKT-51964Optimizekotlin.incremental.useClasspathSnapshotfeature to improve incremental Kotlin compilationKT-61368Native compiler option 'module-name' isn't available within the compilerOptions extension for native target while configuring it inside compilationsKT-61355freeCompilerArgs arguments and its values are passed to the compiler 5 times if added through target-level compilerOptions{} extension inside compilationsKT-61273KGP: TaskOutputsBackup.createSnapshot was failed by IOException sometimesKT-58987Use some available JVM target if there's no JvmTarget for the inferred toolchain versionKT-58234Kotlin Gradle Plugin: Deprecate and remove KotlinCompilation.source APIKT-61401The reported language version value for KotlinNativeLink tasks in build reports and build scans is inaccurateKT-54231Compatibility with Gradle 8.0 releaseKT-61950K/Wasm: Add warning about changed sourceSetsKT-61895KotlinTopLevelExtension.useCompilerVersion is not marked as experimentalKT-61303The module-name value stays unchanged when configuring it through compiler options extension specific to the android targetKT-61194MPP compiler options: part of JsCompilerOptions set up using js { compilerOptions {} } extension is lostKT-61253CompileExecutableKotlinJs task is skipped while configuring LV either using sourceSets.all {} or both js compiler options extension and base multiplatform compiler options extensionKT-59588Upgrade max gradle version to max supported in kapt connected testsKT-61292Gradle: compilation tasks may capture wrong build directory when build directory is changed after task configurationKT-61193Flag kotlin.experimental.tryK2 doesn't set LV 2.0 for tasks of kotlin-js gradle pluginKT-60541Possibility to create a custom usableKotlinCompiletask without using internalsKT-59451[K2][1.9.0-Beta] "Errors were stored into ..." log files never actually existKT-48898Can't suppress warnings by Optin() in KMM build.gradle.kts or IDEA settingsKT-60660konan.data.dir property not provided for K/N Gradle project build (on Linux or Mac) with a dependency from a MavenKT-56959K2: Set up Ktor repo performance benchmarks with K2 enabledKT-56178Compatibility with Gradle 8.1 releaseKT-61457Kotlin Gradle Plugin should not use internal deprecated StartParameterInternal.isConfigurationCacheKT-60718Kotlin Gradle Plugin's incremental compilation violates Project Isolation by accessing the tasks in the task graph that were produced by other projectsKT-60717Kotlin Gradle Plugin violates Project Isolation restrictions by dynamically looking up properties in the projectKT-54232Don't check if file exists in task file inputs configurationKT-61066[KMP] iOS "Unkown Kotlin JVM target 20"KT-54160New KGP API using lazy properties to add compiler plugin options may remove options with the same pluginIdKT-60839KGP provides incorrect default value "ENABLED" for -Xpartial-linkageKT-15370Gradle DSL: add module-level kotlin optionsKT-57645build_scan failed in testBuildScanReportSmokeTestForConfigurationCache test with Gradle 8.0.2KT-59827Update configuration to validate plugin inputsKT-59799Validate Gralde Integrations tests has only one tagKT-59117Add gradle integration tests for explicit api mode in Android projectsKT-59587Upgrade max gradle version to max supported in jvmToolchain connected testsKT-56636Bump max Gradle version for integration tests to 8.0KT-58353Support reporting of diagnostics after projects are evaluatedKT-53822Upgrade thegradle-download-taskdependency of the Kotlin Gradle pluginKT-58162Kotlin Gradle Plugin: Remove kotlinx.coroutines from classpath of KGPKT-58104Check values for MPP_PLATFORMSKT-58569Bump language version for Gradle plugins dependencies to 1.5Tools. Gradle. Cocoapods
KT-59263Add diagnostic that a dummy framework is not present when build is triggered from XcodeKT-57741KMP importing an iOS project with Xcode 14.3 fails when importing a pod that depends onlibarclite_iphoneosKT-60050Log reason why podInstall task is skippedKT-49430Stop invalidating iOS framework generated by KMM module on each Gradle SyncKT-59522Set the required environment for cocoapods invocationsKT-59313Elevate to error deprecation of useLibrariesKT-58775If the pod has a declared dependency on itself, then it will cause StackOverFlow exception while importing of a projectTools. Gradle. JS
New Features
KT-49789KJS / Gradle: Add npm style repository option for YarnRootExtension - and/or don't register github repository when download=falseFixes
KT-60469KJS: "Could not serialize value of type Build_gradle" caused by changed name in packageJson taskKT-61623K/Wasm: Error with project dependency between modules with both wasmJs and wasmWasi targetsKT-61326K/JS: rootPackageJson fails with NLP when testPackageJson skipped and main packageJson up-to-dateKT-60218K/JS reports reports deprecation for non-Action dsl params in regular kotlin dslKT-56933Add Kotlin/JS incremental tests with K2 enabledKT-58970browserTest gradle task fails if karma is used and gradle configuration cache is enabledKT-42520Add a way to setup generating separate js files for each module inside gradleKT-32086Gradle, JS: runTask.enabled = false has no effect on npm dependenciesKT-48358KJS: Circular dependency when multiple second-level Gradle modules have the same nameKT-50530Kotlin/JS: enablingkotlin.js.ir.output.granularity=whole-programdoes not remove superfluous .js output filesKT-50442KJS / Gradle: webpack plugin errors not loggedKT-46003KJS / IR: Should provide single distributions folder for production and development similarly to LegacyKT-47319KJS: Error when project contains two modules with same nameKT-46010KJS / Gradle: Can't find a file on building on WindowsKT-48923KJS / Gradle: NoWebpackerror messages when Node.js process exits unexpectedKT-51942KJS / Gradle: fails with two projects with the same name, but different pathsKT-51372Kotlin/JS: Gradle compileKotlinJs processes directory just excluded from source setKT-52134KJS: the default generated JS module name in a Gradle project with multiple subprojects is incomplete, which might cause duplicate names and build conflictsKT-52776KJS / Gradle: Webpack version update despite yarn.lock breaks Kotlin/JS buildKT-39173Kotlin/JS: kotlinNpmInstall fails with Gradle plugin 1.4-M2 and transitive dependency to 1.4-M1KT-55216KJS / IR: Transitive NPM dependencies between projects are not included in jsPublicPackageJsonTaskKT-54182MPP / JS:StackOverflowErrorwhen in a Gradle multi-project and Kotlin Multiplatform build with the JS IR target which depends on another with the same subproject name via a renamed published Maven artifactKT-58250TheNodeJsExectasks are not compatible with Gradle configuration cacheKT-58256TheD8Exectasks are not compatible with Gradle configuration cacheTools. Gradle. Multiplatform
New Features
KT-60441KGP based dependency resolution: Support 'idea.gradle.download.sources' flagFixes
KT-59316Deprecate multiple ‘same’ targetsKT-59042"Cannot build 'KotlinProjectStructureMetadata' during project configuration phase" when configuration cache enabledKT-58029Emit warning when using experimental artifacts DSLKT-60763Evaluate user feedback after switch tojava-baseplugin for KotlinJvmTarget.withJavaKT-62029Kotlin 1.9.20-Beta fails to detect some transitive dependency references in JVM+Android source setKT-61652MPP ConcurrentModificationException on transformCommonMainDependenciesMetadataKT-61622Upgrading to Kotlin 1.9 prevents commonMain sourceset classes from being processed by kapt/ksp (dagger/Hilt)KT-59321Deprecate targets.presetsKT-58759Deprecateplatform,enforcedPlatformand other related to Gradle DependencyHandler methods inKotlinDependencyHandlerKT-60579Multiplatform;Composite Builds: prepareKotlinIdeaImport called by wrong path for nested build, causing sync failKT-61540K2: KMP/K2: Metadata compilations: Discriminate expect over actual by sorting compile path using refines edgesKTIJ-26340Bump Kotlin Gradle Plugin version to '1.9.20-dev-6845'KT-590201.9.0 Beta Kotlin plugin Gradle sync fails with intermediate JVM + Android source setKT-60198Stop publishing the org.jetbrains.kotlin.multiplatform.pm20KT-60596ReturntargetHierarchywith deprecation to kotlin dsl for smooth migrationKT-59595KotlinJvmTarget.withJava: Switch implementation fromjavatojava-basepluginKT-58800Add some cocoapods will cause Xcode preview into build loop since Xcode 14.3KT-58489MPP: Add an error if SourceLayoutV1 is usedKT-59774MPP: Print stacktraces of diagnostics only when--stacktrace(or higher) is usedKT-60158KotlinJvmTarget.withJava: Ensure java source sets are created eagerlyKT-58316Gradle 8: ':podDebugFrameworkIosFat' and [configuration ':debugFrameworkIosFat'] contain identical attribute setsKT-59615renderReportedDiagnostics: Rename 'isVerbose' to 'renderForTests'KT-60943K2/KMP: compileCommonMainKotlinMetadata fails with resolution ambiguity between candidates from stdlibKT-60491KMP: Add documentation link to the warning messagew: The Default Kotlin Hierarchy was not applied toKT-57521MPP: Compiler options declared in places other than languageSettings don't reach shared source setsKT-58676Enable default Kotlin Target Hierarchy by defaultKT-61056Native-shared source sets don't receive dependency on a commonMain of 1.9.20 stdlibKT-58712Enable commonization by default if the CocoaPods plugin provided the dependencies that should be commonizedKT-59317Deprecate ios() preset in favor of target hierarchyKT-47144[Multiplatform] Warn about setting *Test.dependsOn(*Main)KT-59733Make KotlinDefaultHierarchyFallbackIllegalTargetNames to check target names disregarding the caseKT-55787Deprecate dependsOn edges ending at declared source sets of platform compilationsKT-58872MPP: kotlin-test library reported as published in the legacy modeKT-59863pluginManagement.includeBuild doesn't work when kotlin("multiplatform") applied to one of subprojects of included buildKT-58729Investigate failures in KMM UI testsKT-59661Bump kotlin.git AGP version in tests to 8KT-58753Add Hedgehog AS in KMM UI testsKT-58731Fix failues in Mac tests in kt-master, kt-231-1.9.0 and kt-223-1.9.0KT-59248Fix failures in Mac tests and Android Tests in kt-223-master and kt-231-masterKT-58732Run kt-master Mac tests on cloud MacKT-57686Fix KMM UI tests againKT-60134MPP: Include user attributes to host-specific metadata dependency configurationsKT-60233Investigate publication of TargetJvmEnivornment on Kotlin configurationKT-59311Elevate to ErrorcommonMain.dependsOn(anything)KT-59320Elevate to Error usage of jvmWithJavaKT-45877MPP / Gradle: "GradleException: Please initialize at least one Kotlin target" isn't user-friendlyKT-59844KGP-based import: Reduce 'red wall of errors' on dependency resolution failuresKT-60462jvm().withJava(): Zombie instance returned for compilations created after withJava callKT-58471Kotlin Multiplatform plugin resolves configurations during configurationKT-59578External Android Target: Implement integration testsKT-58737Develop tests for old import in new intellij.git test infraKT-59268Run multiplatform tests in intellij.git with XCode 15.0 manuallyKT-58220Kotlin Gradle Plugin: Kotlin 1.9 release groomingKT-58305Investigate KotlinAndroidMppIT.testCustomAttributesInAndroidTargets: being broken for AGP 7.0.4KT-58255Kotlin Gradle Plugin Lifecycle: Remove LifecycleAwarePropertyKT-55312Replace "ALL_COMPILE_DEPENDENCIES_METADATA" configuration with set of metadata dependencies configurations associated per setKT-54825TCS: Gradle Sync: Dependency resolution in KGPTools. Gradle. Native
KT-54362Support Gradle Configuration caching in Xcode integration tasks and in CocoaPods pluginKT-61700Native: linkDebugExecutableNative has duplicated freeCompilerArgsKT-58519Migrate Xcode/CocoaPods warnings to the new diagnostics infraKT-61154NativeCompilerDownloader adds .konan/kotlin-native-prebuilt-linux-x86_64-1.9.0/konan/lib/kotlin-native-compiler-embeddable.jar as configuration cache inputKT-59252Support configuration cache in Xcode/CocoaPods tasks with Gradle 8.1Tools. Incremental Compile
KT-61852Kotlin 1.9.20-Beta: incremental compilation fails with files outside of the project folderKT-19745After konverting java to kotlin, kapt3 throws duplicate class exceptionKT-58547"has several compatible actual declarations in , "Tools. JPS
KT-58026Add basic JPS build performance metricsKT-57039K2 IDE. Cannot compile gradle project with LV=2.0 via JPS with NoClassDefFoundError: org/jetbrains/kotlin/com/intellij/openapi/util/UserDataHolderBaseKT-58314kotlin-build-statistics is missing for kotlin-jps-pluginTools. Kapt
Fixes
KT-62438Change experimental K2 kapt diagnostic messageKT-61879K2 Kapt: java.lang.NoSuchMethodError during stub generationKT-58326KAPT / Gradle: argument changes are ignoredKT-61114K2 Kapt: add a Gradle propertykapt.use.k2to enable K2 KaptKT-57594K2: Investigate the Kapt features used in the quality gates projectsKT-59754K2: KAPT4 generates non-compilable code for nested data classes, annotated by Moshi's@JsonClassKT-60270K2: KAPT4 tries to generate metadata for local variablesKT-60293K2: KAPT4 fails to generate metadata for const valsKT-59704KAPT4 does not support Dagger's@Injectlateinit propertiesKT-59745K2: KAPT4: ISE when passing moshi's@JsonClassto ClassKT-59756K2: KAPT4 with Moshi generates@TransientfieldsKT-59757K2: KAPT4: Generic interfaces with default methods lead to static usage of type parametersKT-59703KAPT4 generates old metadata versionTools. Maven
KT-26156Maven Kotlin Plugin should not WARN when no sources foundTools. Parcelize
KT-57795Add for-ide support for Parcelize K2 jarsTools. Scripts
KT-57877K2 / Script: "IllegalArgumentException: source must not be null" during compilationKT-58817K2: support for .kts highlighting and completionTools. Wasm
KT-62128Wasm tests (still) do not work on Kotlin 1.9.20-Beta2KT-61973K/Wasm: wasmWasiNodeRun is missedKT-61971K/Wasm: wasmWasiTest should depends on kotlinNodeJsSetupKT-60654Wasm: split wasm target into wasm-js and wasm-wasiKT-57058Do not require a return value for DOM event listeners with Kotlin/WasmKT-59062WASM: Report errors when calling WebAssembly.instantiateStreaming in testsKTIJ-25207Collect stats about Kotlin/Wasm usagev1.9.10: Kotlin 1.9.10Changelog
Compiler
KT-60769Partially revert KT-58371KT-60659Incorrect 'unresolved reference: addFirst' error with JDK 21KT-60371Native custom allocator link errorKT-60986Native: static caches with custom runtime options are broken on LinuxKT-60770Fix false-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED on toArray with JDK 21KT-60231NoClassDefFoundError: $$$$$NON_LOCAL_RETURN$after upgrade to Kotlin 1.9.0JavaScript
KT-60785KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type errorKT-60852Kotlin JS(IR): IllegalArgumentException: Cross module dependency resolution failed when updating to Kotlin 1.9.0KT-57509KJS: Compiler generates native JS operator == for comparing values with Any typeNative
KT-60230Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3KT-60758Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4Native. C and ObjC Import
KT-59167Native: cinterop is unable to build interop libraries against the Xcode 15 Beta 1Tools. Gradle
KT-61147Kotlin Compiler 1.9.0 bundles a stripped unshadowed version of GsonKT-60543NoClassDefFoundError for com/gradle/scan/plugin/BuildScanExtensionChecksums
v1.9.0Analysis API
New Features
KT-57930Analysis API: provide an API for extending Kotlin resolutionKT-57636K2: Add the return type of K2 reference shortener AAShortenCommand::invokeShortening()e.g.,ShorteningResultInfoto allow callers to access the shortening result PSIFixes
KT-58249Analysis API: Disable error logging for FE10 implementation of resolveCall when resolve is not successfulKT-55626Impossible to restore symbol by psi from script fileKT-57314LL FIR: CombineLLFirProvider$SymbolProviders in session dependencies (optimization)KT-55527K2 IDE: Rewrite KtScopeContext class to allow to handle each scope separatelyKT-55329LL FIR: Unexpected ACTUAL_WITHOUT_EXPECT error on constructor and function declarationKT-50732LL API: fix compiler based testsKT-57850K2: contract violation due to SymbolLightAccessorMethod.propertyAccessorSymbolKT-56543LL FIR: rework lazy transformers so transformers modify only declarations they suppose toKT-56721K2: FirExtensionDeclarationsSymbolProvider: java.lang.IllegalStateException: Recursive updateKT-50253Analysis API: Solve issues with ProcessCancelledExceptionKT-56800K2 IDE: optimize deprecation calculation for symbolsKT-55006Analysis API does not transform Java type refs for callable symbol return typesKT-57256AA FIR: Reduce lazy resolve phase for deprecation statusKT-57619K2: CFG for class initializer is not correctly built in reversed resolve modeKT-58141K2: AA FIR: impossible to restore symbol for declaration with annotation with argument inside typeKT-57462Symbol Light Classes: SymbolLightFieldForProperty should retrieve annotations not from KtPropertySymbol, but from the corresponding backing fieldKT-54864Analysis API: add function to get expect KtSymbol list by actual KtSymbolKT-56763Analysis API:.KtSourceModuleImpl is missing in the map.on symbol restore when symbol cannot be seen from the use-site moduleKT-56617Analysis API: optimize KtFirSymbolProviderByJavaPsi.getNamedClassSymbolKT-54430K2: .getAllOverriddenSymbols() returns invalid resultsBackend. Native. Debug
KT-55440Kotlin/Native debugger: inline function parameters are not visible during debuggingBackend. Wasm
KT-58293Wasm: ReferenceError: e is not defined in kotlin.test.jsThrowKT-58931Wasm tests are failing to start on Kotlin 1.9.0-BetaKT-58188Restore binary compatibility of PlatformDiagnosticSuppressor.shouldReportUnusedParameterKT-57136K/Wasm: Restrict non-external types in JS interopKT-57060Clarify the lack of support for dynamic in Kotlin/WasmKT-56955K/Wasm: Support restricted version of K/JSjs(code)KT-57276Wasm: "Body not found for function" error when compiling konform library with Kotlin/Wasm supportKT-56976K/Wasm bug with calling override of external function with default parametersCompiler
New Features
KT-55333Allow secondary constructors in value classes with bodiesKT-54944@Volatilesupport in nativeKT-54746Deprecate with ERROR JvmDefault annotation and old -Xjvm-default modesKT-47902Do not propagate method deprecation through overridesKT-29378K2: rework warnings/errors for equality/identity operators on incompatible typesKT-57477False-positive overload resolution ambiguity in case of lambda without argumentsKT-57010Kotlin/Native: make it possible to compile bitcode in a separate compiler invocationKT-55691K2: Avoid inferring Nothing? in presence of other constraints (beside type parameter bounds)KT-46288Unexpected behavior of extension function on lambda with suspend receiverKT-24779Inconsistent smart cast behavior for bound data flow valuesPerformance Improvements
KT-23397Optimize out field for property delegate when it's safe (JVM)KT-56906FIR: Use cached instance of FirImplicitTypeRefImpl in FIR buildersKT-56276LanguageVersion.getVersionString() allocates 5k objects on project openingFixes
KT-57784"NullPointerException: Parameter specified as non-null is null:" with enum, companion object, 'entries' and mapKT-55217K2: support callable reference conversions on top-level expressionsKT-57232K2: build Space JVM (master)KT-59079"AE: SyntheticAccessorLowering should not attempt to modify other files!" with callable reference to constructor with value class parameterKT-58837Partial linkage fails to report any compiler message on Windows when launched through Gradle pluginKT-57602K2: Rework member scope of types having projection arguments for covariant parametersKT-55171Put new contracts syntax under a feature flagKT-58719K2: false-positive INVISIBLE_REFERENCE error in case of importing an internal abstract classKT-56030[K2/N] Support Objective-C overloading by param names onlyKT-57510K2: Data class equals/hashCode/toString methods are not written to Klib metadataKT-56331K2: compiler backend crash on usage of expected function with default argumentsKT-53846K2 / Context receivers: ClassCastException on secondary constructor of class with context receiverKT-58621K2: Private class shadows public function defined in the same packageKT-59102K2: constant evaluator does not provide Long type on shlKT-59066[K2] delegation leads to "IllegalStateException: Expected some types"KT-56074K2: build Space JVM (snapshot 2022.3)KT-58787KAPT: "NullPointerException: null cannot be cast to non-null type" with delegateKT-57022K2 IllegalStateException in signature computationKT-56792K2: build kotlinpoetKT-57373K2: FIR properties synthesized when implementing interface by delegation don't have accessorsKT-56583K1: Implement opt-in for integer cinterop conversionsKT-59030[PL] Workaround for broken@Deprecatedannotations in c-interop KLIBsKT-58618K2: Local property delegates cannot infer generic return typeKT-36770Prohibit unsafe calls with expected@NotNullT and given Kotlin generic parameter with nullable boundKT-56739K2: build Space iOSKT-57131K2: stdlib test compilation fails on ListTest.kt in FirJvmMangleComputerKT-58137K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another moduleKT-58897K2: False positive unresolved reference with same-named enum class and its entryKT-40903Forbid actual member in expect classKT-30905Expect var property with default public setter matches with actual var property with private setterKT-56172K2: Fix reporting of PRIVATE_CLASS_MEMBER_FROM_INLINE errorKT-56171Implement deprecation warning for missing PRIVATE_CLASS_MEMBER_FROM_INLINE errorKT-27261Contracts for infix functions don't work (for receivers and parameters)KT-56927Enum with secondary constructor can't be compiled with K2 using JS/Native backendKT-53568Partial linkage: absent class as type parameter bound causes failure ofcompileProductionExecutableKotlinJsKT-53608Partial linkage: Kotlin/JS fails with IllegalStateException: "Validation failed in file" when overridden declaration was visible, but now privateKT-53663Partial linkage: usage of property which becomes abstract: no IrLinkageError, but AssertionError in Native backend insteadKT-56013K2. a set of errors about local properties are missingKT-53939Partial linkage: with turning object into class linkNative and jsTest tasks failKT-53938Partial linkage: with turning interface into class and using as second parent Native build failsKT-53941Partial linkage: with turning class into object accessing member via parameterless constructor does not failKT-53970Partial linkage: on turning nested class into inner JS tasks are successful, Native build failsKT-53971Partial linkage: turning inner class into nested: without usage in executable Native is successful, JavaScript failsKT-53972Partial linkage: turning inner class into nested: with usage in executable Native fails with NPE in backendKT-54045Partial linkage: turning class into type alias + calculating implicit function type: build fails with UninitializedPropertyAccessException: "lateinit property parent has not been initialized"KT-54046Partial linkage: turning type alias into class + using it as type: build fails with AssertionError: "Expected exactly one delegating constructor call but none encountered"KT-53887Partial linkage: turning from enum to regular class + reference to enum contant causes compileProductionExecutableKotlinJs fail with IllegalStateExceptionKT-54047Partial linkage: reference to removed enum const causes JS fail with "IllegalStateException: Validation failed in file"KT-54048Partial linkage: reference to removed enum const in runtime causes Native fail with IllegalStateException at IrBindablePublicSymbolBase.getOwner()KT-53995Partial linkage: on turning class to abstract and direct constructor call Naive fails, JavaScript is successfulKT-43527@ExtensionFunctionTypeis allowed on function types with no parameters and leads to backend exceptionKT-55316K2. IllegalStateException on incorrect import directive nameKT-57570Remove source code excerpts from platform type nullability assertion exceptionsKT-56073K2: build ExposedKT-47932Report errors on cycles in annotation parameter typesKT-38871Kotlin Gradle DSL, MPP: UNUSED_VARIABLE when configuring a sourceset with delegated propertyKT-46344No error for a super class constructor call on a function interface in supertypes listKT-56609K2: False positive NULL_FOR_NONNULL_TYPE with -Xjsr305=strict and@Nullableannotation Java parameterKT-56656K1/K2: inconsistent NOTHING_TO_OVERRIDE with complex nullable annotationsKT-58332K2: local fun with suspend type is not marked as suspend in IRKT-57991K2: Modifier 'suspend' is not applicable to 'anonymous function'KT-54294K2: "Not all type variables found" in builder inference with type parameters inferred through a union of two branchesKT-58564[PL] Annotations with unlinked parameters are not removedKT-52597Provide Alpha Support for Multiplatform in the K2 platformKT-58523K2: reference is resolved to imported type-alias instead of identically named top-level propertyKT-57098Native: avoid object initialization while accessing const valKT-5797332-th default value in inline classes override function is not usedKT-57714"IllegalStateException: <B::!>" using reified genericsKT-57810toStringof object erroneously considered as constant function in string concatenationKT-58076K2: Incorrect inference of type of labeled receiverKT-57929K2: Arguments of annotations are not calculated in a lot of strange locationsKT-54874K2. No compilation error with incorrect Comparator invocationKT-55388Consider enabling ProhibitUsingNullableTypeParameterAgainstNotNullAnnotatedKT-53041NPE in Kotlin 1.7.0 when using RxJava Maybe.doOnEvent with anonymous parametersKT-54829Cleanup local types approximation logicKT-58577K2: private Kotlin property prevents use of Java set-method from Java-Kotlin-Java hierarchy in another moduleKT-58587MUST_BE_INITIALIZED must take into account effectivelly finalKT-58524K2: false-positive overload resolution ambiguity error on invoking a generic class's member function with id-shaped function-typed parameter on intersection-typed receiverKT-53929Enum.entries: consider changing scope behavior in K1KT-58520K2: FIR2IR: ISE during const evaluation of operator times with exposedKT-57905K1: resolution to base class's Java field instead of derived class's Kotlin property is not deprecated in case of different typesKT-56662K1: false negative INVISIBLE_SETTER for a var with internal setter accessed from a derived classKT-57770K2: Support generation of serializer if base class for serializable class declared in different moduleKT-58375Kapt: "wrong number of type arguments. required 1" when more than 22 type argumentsKT-48870[FIR] Different behavior for explicit receiver resolution inside delegated constructorsKT-58013K2: "Not enough information to infer type variable T" when using assert non-null (!!) and delegationKT-58365K2: Fix stub types leakage in builder inference caused by implicit receiver type update with partially resolved calls (IGNORE_LEAKED_INTERNAL_TYPES for stub types)KT-58214Continuation parameter only exists in lowered suspend functions, but function origin is LOCAL_FUNCTION_FOR_LAMBDAKT-58030K2/MPP/JVM: compiler backend crash on super-call to indirectly inherited Java methodKT-58135K2: Priority of extension property is lower than ordinary propertyKT-57181[K1/N, K2/N] Expect and Actual funs have different IdSignature.CommonSignature, if Expect has default argumentKT-58219K2/MPP/metadata: false-positive invisible reference error in Native-shared source setKT-58145K2/MPP/metadata: compiler FIR crash on inheritance of a generic class with property by actual-class from Native-shared source setKT-56023Constant operations (e.g. division) are not constant in K2 (JS, Native)KT-57354In suspend function default arguments are sometimes not deleted in IRKT-55242K2/MPP: basic build/link functionalityKT-57979K2: Unresolved reference error when assigning to Java synthetic property with a different nullability getterKT-57543K2 reports DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLEKT-58142K2: val parameter with more specific type is lower priorityKT-48546Missed TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM error at plus-assignKT-57854RECEIVER_TYPE_MISMATCH on synthetic property from mutually recursive Java generics with disabled ProperTypeInferenceConstraintsProcessingKT-54518False negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE when calling internal method of super classKT-58025K2: Argument type mismatch when using Springs HandlerMethodArgumentResolverKT-58259Unexpected unresolved function call with obvious invoke-convention desugaringKT-57135K2: Fir should take into account an annotation's allowed targets as well as the use-site target when deciding whether it applies to a property, a field, or a constructor parameterKT-57069K2: Method kind in metadata is DECLARATION when DELEGATION is used in K1KT-57958K2: Initializer type mismatch when using extension property on type with star projectionKT-58149K2: New inference error with buildListKT-58008K2: "Cannot find cached type parameter by FIR symbol: T" on suspend function with generic and nested classKT-57835K2: compiler crash on lambda with dynamic receiverKT-57601K2: Builtin functionextensionToStringcan't be accessedKT-57655K2: ImplicitIntegerCoercion is not working for named argumentsKT-58143K2: overload resolution ambiguity inside dynamic lambdaKT-58132K2: Implicit int constant to long converion crashes FirSerializerKT-57378Partial linkage: Run codegen box tests for Native & JS with enabled PLKT-58207K2: Handle result of completion of synthetic call with callable reference argumentKT-56549K2: Reference to Java sealed class fails to compileKT-57994K2: Type inference failed on function referenceKT-58099interop0 test fails with error "type kotlin.String? is not supported here: doesn't correspond to any C type"KT-57671Synthetic $EntriesMappings declaration is public and generated even for enums from current module on ICKT-56517K2: Reference to Java record fails to compile: "unresolved reference", "Overload resolution ambiguity between candidates"KT-58163FIR: deserialized default property setter and getter must have FirResolvePhase.ANALYZED_DEPENDENCIES phaseKT-55646K2: Report definitely non-nullable as reified errorKT-58043k2: Expect call is not removed from IR with nullability-based overloadKT-56442K2: Make sure K2 has the same behavior for defaults with overrides as K1 hasKT-55904Fix tests for volatile annotation on K2KT-57928K2: Arguments of annotations on constructor value parameter are not calculatedKT-57814K2: Argument type mismatch with delegating propertyKT-56490Implement deprecation for an anonymous type exposed from inline functions with type argumentKT-57781K2: Generated serializer is invisible in a non-JVM test source setKT-57807K2: Symbol already bound exception for arrayOf function from IrBuiltInsOverFirKT-57962K2: No set method providing array access on dynamicKT-57353K2: unresolved reference when using fully qualified object declaration name as an expression, when a declaration package is from another klib and has at least two name segmentsKT-57899K2: compiler FIR2IR crash on anonymous object with inheritance by delegation to value of smart-casted type parameterKT-57988K2: compiler exception on get operator on dynamic thisKT-57960K2: incorrect type inference in lambda with dynamic receiverKT-57923K2: Optional expectation annotation crashes const evaluatorKT-56511K1: false negative SMARTCAST_IMPOSSIBLE when alien constructor property is accessed from a private classKT-58033K2 reports Constructor must be private or protected in sealed class in actual sealed class if its constructor has own actual declarationKT-58061K2: false-positive unsupported feature error on callable references to Java methods from annotation interfacesKT-55079Refactor DiagnosticReporterByTrackingStrategy and fix some "diagnostic into black hole" problemsKT-57889K2: false-positive lack of information for inline function's type parameter in case of builder-style inference from caller function's return expressionKT-57961K2: Unresolved reference using dynamic lambda parameterKT-57911K2: Contracts are not inherited by substitution overridesKT-57880K2: false-positive argument type mismatch due to lambda receiver shadowing labeled outer lambda receiver when assigning lambda to variableKT-57986K2: NPE on building SpaceKT-57873K2: compiler FIR serialization crash on builder-style inference from lambda's return typeKT-57941K2: Assertion error on loading serializable class with non-serializable property compiled with K1 compilerKT-57947K2: Incorrect resolution results when property type for invokeExtension is not inferredKT-58002K2: compiler FIR serialization crash on platform type with type-targeted Java annotation with Java enum as argumentKT-57263K2/MPP/JVM: compiler codegen crash on expect-property as default argument for expect-function's parameterKT-56942K2: False-negative NO_ELSE_IN_WHEN if subject is flexible typeKT-56687Unexpected behaviour with enum entries when using outdated stdlibKT-56398K2/MPP: compiler backend crash on inheritance from expected interfaceKT-57806K2: string interpolation as annotation parameter causes errorKT-57611K2: Annotation arguments are not evaluatedKT-56190[K2/N] Const initializers are not serialized to klibKT-57843K2: Missing diagnostic when calling constructor through typealias whose expansion has a deprecationKT-57350FIR: deprecation diagnostic is not reported on a super class callKT-57532K2: IrActualizer doesn't handle properties overloaded by extension receiver correctlyKT-57776K2: Suppressing "INVISIBLE_REFERENCE" leads to AssertionError: Unexpected IR element found during code generationKT-57769[K2] Load properties in proper order for classes compiled with kotlinx.serialization and LV < 2.0KT-57879K2: compiler FIR serialization crash on passing Java constants as arguments to type-targeted annotationsKT-57893K1/K2 inconsistency on smart casts of internally visible properties in friend modulesKT-57876K2: stack overflow in compiler FIR deserialization on nested type-target annotation class used in enclosing classKT-57839K2: Compiler crash on lambda returning anonymous object with implemented lambdaKT-57822K2: Can't refer to external interface from class literalKT-57809K2: No value passed for parameter of external classKT-56383Build intellij master with LV 1.9KT-57735K2: MPP: K2 reports hides member of supertype and needs 'override' modifier for the function with@PlatformDependentannotation when there is an empty linux target in projectKT-55056Builder inference causes incorrect type inference result in related callKT-57689K2: Unresolved reference to nested typealias in KLIBKT-57665K2: incorrect resolution of dynamic typeKT-57381K2/MPP/Native: impossible to override Any::equals with non-external functionKT-57654K2: Lambda with receiver deserialized as lambda without receiver during metadata compilationKT-57662K2: The error message is poorly formatted and not precise in case of NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS error and@Suppressis usedKT-57763FirExtensionRegistrar extension point brokenKT-57312K2: IR interpreter fails on string interpolation withconst valfrom a klib involvedKT-57768Don't decompile code to search for annotation argumentsKT-55628Diagnostics for kotlin.concurrent.Volatile annotation applicabilityKT-55860K2. [CONFLICTING_INHERITED_MEMBERS] for inheritor of a class with overloaded generic functionKT-53491K2: Implement "Operator '==' cannot be applied to 'Long' and 'Int'" errorKT-55804K2: UNSAFE_CALL Non-nullable generic marked as nullable even if non-null assertedKT-57682K2: Incorrect composing of signatures for calls on dynamic typesKT-55405K2: false-negative INVISIBLE_REFERENCE in import directivesKT-54781K2: no error on unresolved import statement with more than one packageKT-57635K2/MPP: Expect constructors are not considered as expect during metadata deserializationKT-57376K2/MPP: false-positive K/JS diagnostic in absence of K/JS target when sharing a source set between K/JVM and K/NativeKT-55902K2: Support ImplicitIntegerCoercion annotationKT-56577Migrate Native KLIB ABI compatibility tests to K2KT-56603[K2/N] Segfault invoking fun from binary compatible klibKT-57457K2: the error message is not quite informative in case of EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERRORKT-57568K2: K2, Native reports overload resolution ambiguityKT-57446K2: Adapter function reference is not generated inside when expressionKT-54894K2: False positive RETURN_TYPE_MISMATCH on function which returns a functional type with@UnsafeVarianceargumentKT-57001K2 compilation fails due to nullabillity subtyping not working properlyKT-57271Delay forbidding inference to an empty intersection to version 2.0KT-57209K2: type parameters are available in companion object scopeKT-50550False positive NO_ELSE_IN_WHEN with annotatedwhenbranch conditionKT-57431K2 MPP JS: Compiler crash on transitive common dependenciesKT-57456K2 reports uninitializied variable in enum class when variable is used in lambda and defined in companion objectKT-57583K2/MPP/JS&Native: FIR2IR compiler crash on reference to Any method inherited by expect-classifierKT-56336[K2/N] Multiplatform test fails with unexpected "actual declaration has no corresponding expected declaration" compiler errorKT-57556K2: Rename error 'This API is not available after FIR'KT-23447Integer.toChar compiles to missing methodKT-46465Deprecate and make open Number.toChar()KT-49017Forbid usages of super or super if in fact it accesses an abstract memberKT-56119BinaryVersion.isCompatible binary compatibility is brokenKT-57369K2/MPP: supertypes established in actual-classifiers from other source sets are not visibleKT-55469[K2/N] equals(Double,Double) and equals(Boolean,Boolean) are not foundKT-57250K2: the metadata is serialized for anexpectclass even if theactualclass is present when compiling to klibKT-56660K2/MPP: compiler backend crash on invoking a K/Common constructor in K/JS codeKT-55055K1: Builder inference violates upper boundKT-57316Initialize Enum.entries eagerly: avoid using invokedynamicsKT-57491Kotlin synthetic parameter looks ordinaryKT-56846K2: incorrect line & symbol numbers in exception reportingKT-56368K2/MPP: compiler backend crash on missing actual declarationKT-57104K2: false-positive conflicting inherited JVM declarations error despite use of@JvmNamein another moduleKT-56747[K2/N] Return type forlambda: (Any) -> Anywhich returns Unit is different for K1 and K2 and return statement is missing with K2KT-57211K2: incorrect "error: an annotation argument must be a compile-time constant" on unsigned array in annotation argumentKT-57302K2 fails with IllegalStateException on reading inherited property of Java enumKT-57424K2 IDE: "By now the annotations argument mapping should have been resolved" exceptionKT-57241K2 MPP: Actualization doesn't work for actual enum that has primary constructor with argumentsKT-57210K2 MPP: Support of arguments with dynamic typeKT-57182K2 MPP: Actualization doesn't work for nested objectsKT-56344K2: Implement correct errors reporting of IrActualizerKT-54405K2 compiler allows val redeclarationKT-54531[K2] Uncaught Runtime exception is thrown instead of user friendly error messages with details in case -no-jdk option set to trueKT-56926K2: incorrect line number generated for class constructor or method with default parameter when comment beforeKT-56913K2: Incorrect line numbers in overriden field getters and settersKT-56982K2: Incorrect line number start in when expressionKT-56720K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritanceKT-57175K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type aliasesKT-25694Fix reporting of uninitialized parameter in default values of parametersKT-57198K2: false-positive type mismatch error on inherited raw-typed class with type parameters in upper bounds of other type parametersKT-15470Inconsistency: use-site 'set' target is a compilation error, use-site 'get' target is okKT-57179FIR: preserve prefix increment behavior like in K1 by calling getter twiceKT-57405K2. Function call ambiguity error when nullable String is passed to function with Spring@Nullableannotation in signatureKT-57284K2: compiler codegen crash at property initialization in constructor after smartcast of dispatch receiver to indirectly derived typeKT-57221K2: compiler FIR2IR crash on function's unavailable cached type parameterKT-57036Unresolved reference: with inferred type of class constructor with extension parameterKT-56177K2: FIR should not generate annotation on both property and parameterKT-54990NI: Type mismatch when encountering bounded type parameter and projectionsKT-57065K2: overload resolution ambiguity between type-aliased constructor and identically named functionKT-49653Deprecate and remove Enum.declaringClass synthetic propertyKT-57190K2: false-positive unsafe call error on safe call on type-aliased nullable receiver in SAM-conversionKT-57166K2: false-positive val reassignment error when synthetic property with implicitly typed overridden getter is called from implicitly typed member that is declared earlierKT-55828[K2/N]: Fix test fails in OPT mode :Internal compiler error: no implementation found ... when building itable/vtableKT-56169False negative deprecation warning about future inference error with builder inferenceKT-56657K1/K2: inconsistent behavior in nullability mismatch (Guava hash set/map)KT-57105K2: compiler codegen crash at property initialization in constructor after smartcastKT-56379K2: build tests for the Kotlin standard libraryKT-56079K2: build YouTrack 2022.3KT-57092K2: false-positive multiple inherited implementations errorKT-56696K2: Allow to access uninitialized member properties in non-inPlace lambdas in class initializationKT-56354K2/MPP: unresolved references to library entitiesKT-57095K2: false-positive lack of type arguments error on raw cast of Base<*> to Derived: Base<T?>KT-56630FIR: ClassCastException on compilation hierarchy with a raw typeKT-57171K2: Implement bytecode testsKT-57214K2: compiler FIR crash on annotation usage before annotation class declarationKT-57204K2: callable reference to mutable property of inherited by delegation superinterface isn't properly resolvedKT-57195K2: false-positive VAR_TYPE_MISMATCH_ON_OVERRIDE on changing property's platform type to non-nullable type when overridingKT-56814K2. PsiElement is null inside IrClass. As a result ClassBuilder defineClass gets null as originKT-54758DeprecateClassBuilderInterceptorExtension.interceptClassBuilderFactoryand provide another method without dependency on K1KT-57253K2: clean up callable reference logic in FIR2IRKT-56225K2. "BackendException: Backend Internal error: Exception during IR lowering" error on incorrect constructor in inline classKT-56769K2. Annotation applicability is ignored during compilation when there's use-site@targetKT-56616K2: cannot infer Java array type properlyKT-57247K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type-aliased vararg propertyKT-57206K2: false-positive val reassignment error on synthetic property from generic class with overridden getter but not setterKT-56519K2: Compiler crash on a function reference on companion receiver that inherits from outer classKT-56506K1/K2 inconsistency: VAL_REASSIGNMENT on synthetic setter with different nullabilityKT-56877K2: false-positive UNRESOLVED_LABEL for labeled this-expression in contract descriptionKT-56863K2: false-positive property initialization analysis errors after smartcastKT-56864K2: Unexpected behavior with default parameter inheritance and function referenceKT-56665K2: false positive RECURSIVE_TYPEALIAS_EXPANSIONKT-53966K2 does not support SAM conversions with condition into Java/Kotlin functional interfacesKT-56659FIR: Increment operator on object leads to exception from resolveKT-56771FIR: Increment operator on qualified expressions leads to exception from resolveKT-56759K2: False-positive UNRESOLVED_REFERENCE on labeled desctructuring declaration in LT modeKT-56548K2: false positive overload resolution ambiguity for Java record constructorKT-56476K2: false positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY at inline fun use-siteKT-56138K2: Illegal conversion of lambda with parameters to ExtensionFunction expected typeKT-56448K2: False-positive unsafe call due to incorrect inference of smartcasted typeKT-55966K2: Not enough information to infer type variable K if smartcast is usedKT-57168K2: compiler FIR2IR crash on synthetic property from generic class with overridden getter but not setterKT-56876K2: false-positive UNRESOLVED_REFERENCE for name of nested class in contract descriptionKT-57194K2: overload resolution doesn't prioritize Double over FloatKT-57067Warning about expect/aсtual in the same module doesn't take into account absence of 'actual' modifierKT-56954K2: function literals can be passed as arguments to parameters with kotlin.reflect function typesKT-55423K2: Implement CONTRACT_NOT_ALLOWEDKT-56923K2: no line number in bytecode when ASTORE exception in catchKT-56829K2: compiler FIR2IR crash on passing to function a callable reference to nested class's constructor with default argumentsKT-57029Per-file caches fail on local inline function in an inline functionKT-57085K2:@Suppressis sensitive to its argument's caseKT-57103K1: AssertionError: Mismatching type arguments: 0 vs 1 + 0 when calling inline function with callable reference to generic synthetic propertyKT-57033Make KtClassLiteralExpression stub basedKT-57035Make KtCollectionLiteralExpression stub basedKT-40857Invalid parameterized types for extension function on parameterized receiver when javaParameters=trueKT-56154Compiler backend crash on reference to Java synthetic property from generic classKT-56692StackOverflow in PrivateInlineFunctionsReturningAnonymousObjectsCheckerKT-55879Modularized tests: fir.bench.language.version is used as API version, not language versionKT-51821ClassCastException on anonymous fun interface implementation when unrelated vararg is usedKT-56820K2: compiler FIR crash on Java field access after smartcastKT-56579[K2/N] IR actualizer crashed with K2 on expect annotation marked with@OptionalExpectation, without actual.KT-56750K2: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER" when calling typealias method referenceKT-55614K2: consider serializing static enum members (values/valueOf/entries) to match K1 behaviorKT-30507Unsound smartcast if null assignment inside index place and plusAssign/minusAssign is usedKT-56646K2: "IllegalStateException: No single implementation found for: FUN FAKE_OVERRIDE" when compiling a functional interfaceKT-56334K2: can't call expected function with default argumentsKT-56514K2 should report ACTUAL_TYPE_ALIAS_NOT_TO_CLASSKT-56522K2 should report ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTSKT-56910Exception during IR lowering: Cannot determine lineNumber of element FUN name:cancelProgressKT-56542K2: false positive TOO_MANY_ARGUMENTS in VarHandle.set callKT-56861FIR: test FirPluginBlackBoxCodegenTestGenerated.testClassWithAllPropertiesConstructor is failing with runtime errorKT-56234K2: "ISE: Expected value generated with NEW" with inline property setter and noinline parameterKT-56722K2: cannot resolve component call after smart castKT-56875K2: isOperator flag is incorrectly set for java methodsKT-56714K2: wrong argument mapping in DSLKT-56723K2: lambda accidentally returns Unit? instead of UnitKT-55877K2: Secondary constructor without call to parent: no frontend error, ISE: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER"KT-56386K2: Make possible to access Java field which is shadowed by Kotlin invisible property`KT-56862Compatibility problem with using Kotlin in Intellij 223 or higher because of missing particular trove4j dependencyKT-55088JS, Native compilation fail with internal error onSomeEnum.entriesreference whenSomeEnumis from klib compiled with disabled EnumEntries language featureKT-40904No warning when declare actual in the same target (module) as expectKT-56707K2: Unexpected TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM where only getter type specified explicitlyKT-56508Context receivers: Internal compiler error when compiling code containing a class with a secondary constructorKT-56706K2: False-positive ARGUMENT_TYPE_MISMATCH for generic nested types from libraryKT-56505K2: MissingNO_EXPLICIT_VISIBILITY_IN_API_MODEerrors on various declarationsKT-56682K2: False-negative UNINITIALIZED_VARIABLE on access to delegated propertyKT-56678K2: False-negative UNINITIALIZED_VARIABLE if corresponding variable has initializerKT-56612K2: false positive NO_TYPE_ARGUMENTS_ON_RHS on raw cast with type alias based argumentKT-56445K2: False-positive unresolved reference to callable reference to function with default argumentKT-55024K2: overload resolution ambiguity/unresolved reference if variable is smart-casted to an invisible internal classKT-55722K2: Incorrect OVERLOAD_RESOLUTION_AMBIGUITY with smart cast on dispatch receiver (simple)KT-56563Inference within if stops working when changing expected type from Any to a different typeKT-55936K2: Support proper resolution of callable references as last statements in lambdaKT-45989FIR: wrong callable reference type inferredKT-55169K2: False-negative NO_ELSE_IN_WHENKT-55932K2. No compiler error when elvis operator returns not matched typeKT-53987K2: False negative "TYPE_MISMATCH" with if statement returnKT-41038NI: TYPE_MISMATCH when passing constructor of nested classKT-42449Can not resolve property for value of type Any even after casting type to a type with star projectionKT-52934StackOverflow fromPseudocodeTraverserKt.collectDataFromSubgraphwithifinsidefinallyKT-52860StackOverflowError when casting involving recursive generics and star projectionKT-52424ClassCastException: Wrong smartcast to Nothing? with if-else in nullable lambda parameterKT-52262TYPE_MISMATCH: Nonnull smartcasting fails with non-exhaustive whenKT-52502Forbid extension calls on inline functional parametersKT-51045SETTER_PROJECTED_OUT: Star projected nullable property can't be set to nullKT-40480[FIR] SupporthasStableParameterNamefrom metadataKT-50134NI: Type inference regression in java streams groupingByKT-50160False positive "USELESS_CAST" caused by indexed access operatorKT-42715Unable to use implicit lambda paramitfor overloaded methodsKT-49045False positive USELESS_CAST in generic type with nullable type parameterKT-49024AssertionError: Variance conflict: type parameter variance 'out' and projection kind 'in' cannot be combinedKT-48975Type mismatch: inferred type is X but Nothing! was expected with the AssertJ latest versionKT-47870INVISIBLE_MEMBER: Kotlin class can't access protected annotation defined in Java parent classKT-47495ReenteringLazyValueComputationException on invalid codeKT-47490Missed diagnostic for incorrect callable reference in finallyKT-47484"Recursion detected in a lazy value under LockBasedStorageManager" on invalid codeKT-46301Combining branches with sealed interfaces inwhenbreaks type inferenceKT-44392False negative: redundant nullability/not null check on cast with as operatorKT-43936Recursion detected on input: ANNOTATION_ENTRY with annotation on star-imported nested classKT-43846No smart cast when returning function closures with captured smart-cast variableKT-43603False positive USELESS_CAST leads to TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on "when" with smart cast and extension propertyKT-43553JVM / IR: "AssertionError: Unbound symbols not allowed" caused by annotation class with TYPE targetKT-42169False negative CAST_NEVER_SUCCEEDS for incompatible types with generic parameter and star projectionKT-42136NI: False positive [USELESS_CAST] when list serves to create a mutable listKT-41721SAM conversion fails on varargs with type approximated to NothingKT-38288Unresolved reference for type parameter upper bound of nested class when outer class extends it with star projected type argumentKT-37490NULL_FOR_NONNULL_TYPE: "Null can not be a value of a non-null type Nothing" when null is passed to nullable argument of type projected methodKT-37365NPE fromReflectionReferencesGenerator.generateCallableReferencewith inner class function reference and wrong parenthesisKT-36958NI: missed unresolved on parenthesized callable reference passing through call (back-ends throw an exception)KT-30756No smartcast if elvis operator as a smartcast source in while or do-while is used as the last statementKT-24737Report an error on invalid this-expression with angle brackets on left-hand side of a callable referenceKT-21463Compiler doesn't take into accout a type parameter upper bound if a corresponding type argument is in projectionKT-6822Smart cast doesn't work inside local returned expression in lambdaKT-55840Inconsistency between members of enums in bytecode between FE 1.0 + JVM IR and FIR + JVM IRKT-47815JVM: "Recursion detected in a lazy value under LockBasedStorageManager" when trying to inherit interface from a class with non-trivial functionKT-17817No error reported on invalid LHS for class literalKT-47373Missed diagnostics on/after non-null assertion (!!) on generic class class use with class literalKT-51143Wrong Unit-requiring at if/when branch with stub typesKT-53671False-positive diagnostic reported on OptIn annotation import from root packageKT-53494Mistaken type inference in compound 'if' expression with nullability check and covariant typeKT-28668"AssertionError: Unrelated types in SAM conversion for index variable" if lambda argument of '[...]' in LHS of augmented assignment is used as an implementation for different SAM interfacesKT-55931Inference for callable reference inside synthetic calls for if/when/try/etc stops working when brought into lambda for a callKT-20223Inline access check ignores operator calls toinvoke()KT-54478@NoInfercauses CONFLICTING_OVERLOADSKT-56472K2: Add stack of all FIR elements to CheckerContextKT-41126[FIR] Inconsistency of a compiler behaviour at init block for an enum entry with and without a qualifier nameKT-54931Annotations defined in nested classes cannot be instantiated directlyKT-52338"IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class fieldKT-24901No smart cast forwhenwith early returnKT-53086"Cannot access '' before superclass constructor has been called" with inner class secondary constructorKT-55137Callable references with conversion are incorrectly allowed to be promoted to KFunctionKT-30497EXACTLY_ONCE contract doesn't work in a function withvarargparameterKT-47074Front-end Internal error: Failed to analyze declaration State / java.lang.IllegalStateException: Should not be called! when try to add ParcelizeKT-24503Return-as-expression is allowed as this/super constructor parameterKT-55379False positive NO_ELSE_IN_WHEN with smartcast to BooleanKT-47750False positive NO_ELSE_IN_WHEN in presence of smartcast to sealed interfaceKT-53819False positive UNINITIALIZED_VARIABLE with secondary constructor and custom property getter in local classKT-56457JVM: Enum.entries are not annotated with@NotNullKT-56072K2. "IllegalStateException: Fir2IrSimpleFunctionSymbol for is already bound" when trying to access java synthetic property of inherited classKT-50082Kotlin non-overriding property of subclass doesn't shadow same-named Java field from base classKT-55822False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with raw types and mixed overridden membersKT-55666K2: label on local function is rejected: "Target label does not denote a function"KT-56283False-positive INVISIBLE_MEMBER on overridden member of more specific type after smart castKT-51969[FIR] Compilation for expect value class fails with "Fir2IrSimpleFunctionSymbol for [declaration] is already bound"KT-56329K2: compiler backend crash on two expected functions with similar signaturesKT-56361K2/MPP: receiver isn't available in lambda literals with receiverKT-55295K2/MPP: JS build functionalityKT-55909[K2/N] IndexOutOfBoundsException for a reference to a function defined in companion object superclassKT-55664K2: eliminate ClassId.isSame call from FirClass.isSubclassOfKT-56353K2. False negative "Unresolved reference" in default value of secondary constructor's parameterKT-56381K2: Function type kind not extracted from lambda literal in generic callKT-55747K2. "Convention for 'mod' is forbidden. Use 'rem'" error is missingKT-56104Unnecessary inner classes attributes in class files for subclassesKT-55570K2: ACTUAL_WITHOUT_EXPECT error is not reported on a simple actual classKT-56176[K2/N] "IllegalStateException: actual type is kotlin.Int, expected kotlin.Long" when expected type uses typealiasKT-56229K2: IllegalStateException (already bound) for triangle-like dependencies scheme with MPP scenarioKT-56199K2 + MPP + kotlinx.serialization: java.lang.VerifyError: Bad type on operand stack in aaloadKT-56212K2: Exception when compiling extension function declaration with illegally chained type parameter receiverKT-55503K2: "Argument type mismatch" caused by using the wrong "this"KT-56050K2: inconsistency regarding visibility of synthetic properties with protected getter and public setterKT-49663FIR: Support@kotlin.jvm.PurelyImplements for java collectionsKT-55468[K2/N] Crash with debuginfo caused by changed tree using IMPLICIT_COERCION_TO_UNITKT-56269[K2/N] Don't test "Tailrec is not allowed on open members" in K2KT-54647K2: Function call with Lambda on LHS of assignment leads to KotlinExceptionWithAttachments: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteralKT-54648K2: Function call on left side of erroneous assignment isn't resolvedKT-55699K2. False Negative "Type parameter T is not an expression"KT-56132Restore 'JvmBackendContext' constructor signature for compatibilityKT-55973K2: Exception from UnusedChecker on an unused destructuringKT-56275K2 IDE: Missed error for enum super typeKT-54775K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl " exception on incorrect codeKT-55528K2: CFA for property initialization analysis is not run for class initialization graphsKT-54410K2: Deprecation warning instead of "this declaration is only available since Kotlin X" when language version in project are below required to use language featureKT-55186K2: No compilation error on calling exception without constructorKT-36776Treat special constructions (if, when, try) as a usual calls when there is expected typeKT-50947False negative: FE 1.0 doesn't report type variance conflict error on an inner typeKT-39041Collection literals should not be allowed inside annotation classesKT-54694Consider enabling BooleanElvisBoundSmartCasts in K1 or K2KT-54587K2. CCE on compilation when some operator fun is needed and it is implemented as an extension function for another classKT-52774Resolve unqualified enum constants based on expected typeDocs & Examples
KT-53643Update coding style conventions to include rangeUntil operatorKT-57902Create migration tutorial from kotlin-js to kotlin-multiplatform gradle pluginKT-58381[Docs][Libraries] Document Path.createParentDirectoriesIDE
Performance Improvements
KTIJ-23501Make main run configuration detection lighterKT-56613Reduce memory consumption of light classesFixes
KTIJ-25855Infinite "Analyzing..." on .kt files from native source-setKTIJ-25448When project JDK is less than one defines in jvmToolchain block run with Idea fails withhas been compiled by a more recent version of the Java RuntimeKTIJ-25673Temporarily switch off adding jvmToolchain to new/converted Kotlin projectsKTIJ-25719K/Wasm: Fix import of wasm projects with Kotlin 1.9.0KTIJ-24136Files with actual declarations are not highlighted in kotlinx.coroutines projectKTIJ-24390Kotlin assignment plugin: Imports are not recognized in build logic .kt files for Gradle buildKTIJ-24695Default Kotlin project can not be synced on Mac M1KTIJ-25302Wrong variant of serialization plugins is passed to JPS build if the project was imported from GradleKTIJ-25416"Add import" works incorrectly without formatting the code for root packageKT-57849K2: contract violation due to implicit java type with annotationKTIJ-24666Store annotation arguments in clsKTIJ-24667Store constant expressions in clsKTIJ-24665Store contracts in clsKTIJ-24543An option to configure kotlin with JavaScript is available at Tools -> Kotlin menuKT-57857LC: FakeFileForLightClass: Read access is allowed from inside read-actionKTIJ-25172Store flexible types in clsKT-57578SLC: incorrect upper bound wildcardsKT-57917Analysis API: decompiled value parameters are not resolvedKT-56046K2 IDE: Avoid redundant resolve from annotationsKT-57569SLC: incorrect visibility for lateinit var with private setterKT-57547SLC: non-lastvarargvalue parameter type mismatchKTIJ-25034K2 IDE: unresolved import treated as unusedKT-57548SLC: incorrect inheritance list for ComparatorKT-56843Light classes: certain kinds of constant values in property initializers aren't supportedKTIJ-24676Enum.entries is red if it's called on enum class from JDK or module without stdlib in dependenciesKT-56868SLC: IncorrectOperationException on enum annotation arguments that are not valid Java identifiersKTIJ-25048K2: IDE K2: "Unexpected scope FirNameAwareCompositeScope"KTIJ-24895K2 IDE: "Invalid FirDeclarationOrigin Synthetic" exception for synthetic "WHEN_CALL" function during highlightingKT-56833Light classes: Accessors to lateinit properties don't have@NotNullannotationsKTIJ-24768IDE K2: "IllegalArgumentException Failed requirement at FirJvmTypeMapper"KT-56845Light classes: Overridden property accessors don't have@OverrideannotationKT-56441K2 IDE: reference from Java to ObjectName.INSTANCE of private object is red in IDE, but compiled successfullyKT-56891Symbol Classes: DefaultImpls classes contain methods without default implementationKTIJ-24742K2 IDE: InvalidFirElementTypeExceptionKTIJ-24067K2 IDE: references from .java source to top-level Kotlin members from dependencies are unresolvedKT-56842Light Classes: Primitive-backed context receiver parameters shouldn't be marked with@NotNullKT-56835Light classes: Underlying fields for delegated properties should be marked as final and@NotNullKT-56840Light Classes: Inline classes backed by Java primitives shouldn't be marked with@NotNullKT-56728K2 IDE. False positivenot applicable tofor kotlin annotation with target annotating Java elementKTIJ-24610K2: Exception from import optimizer: "Unexpected qualifier '10' of type 'KtConstantExpression`"KTIJ-24476Make application services to be classes instead of objectsKTIJ-24574K2 IDE: "No fir element was found for" from inspectionsKT-55815SLC: Keep annotations on type when converting toPsiTypeKT-55669K2 IDE: INRE from light classesKTIJ-24530K2 IDE: status resolution fails with CCEKTIJ-23937K2: No 'JavaSymbolProvider' in array owner: Source session for moduleKTIJ-24087K2: Type parameter bounds found not analyzed during call inferenceKTIJ-24344K2 IDE: Object reference incorrectly resolves to 'invoke' operator functionKTIJ-24107K2 IDE: Unresolved call for qualified companion invoke()KTIJ-24385K2 IDE: KtCallExpression(KtCallExpression) should always resolve to a KtCallInfoIDE. Code Style, Formatting
KTIJ-24928Organize imports puts imports in one line if Formatter option is usedIDE. Completion
KTIJ-25108K2 IDE: Code completion in Java context for Kotlin top level members: "Slow operations are prohibited on EDT" through KtAnalysisScopeProviderImpl.canBeAnalysed()KTIJ-24989K2 IDE: completion should show information about expanded types for type alias parametersKTIJ-24992K2 IDE: completion shows return type with incorrect nullability when type is stub typeKTIJ-24948K2 IDE: "ERROR: class org.jetbrains.kotlin.fir.types.jvm.FirJavaTypeRef cannot be cast to class org.jetbrains.kotlin.fir.types.FirResolvedTypeRef" during completion of inner classes' constructorsKTIJ-24256K2 IDE: Angle brackets are missing in completion of function with type parametersKTIJ-24083K2, Completion: Exception on adding a type parameter receiver to a functionKTIJ-23963K2 IDE: Completion in Kotlin suggests overriding a Java field; fails with "Unknown member to override"KTIJ-22359K2 IDE: no completion for Java synthetic properties from super classKTIJ-23880Completion doesn't work for Java synthetic property referenceIDE. Decompiler, Indexing, Stubs
KTIJ-25152Kotlin Bytecode tool window: ISE Symbol with IrSimpleFunctionSymbolImpl is unbound on actual callable with argument in mpp project with IRKTIJ-24475Migrate kotlin index extension implementation from object to classesKTIJ-24335Kotlin Bytecode tool window: NoSuchElementException caused by duplicate Boolean type descriptor in JvmSharedVariablesManager.getProviderKTIJ-24206Kotlin Bytecode tool window: "Unhandled intrinsic in ExpressionCodegen" when compiling a source file with an expect functionKTIJ-15764IR by default in Kotlin bytecode tool windowIDE. Gradle Integration
KT-59034MPP build failed with "Factory type is not known for plugin variants" in kt-231-*KT-56671KGP import: K/N distribution libraries should'n be resolved for IDE by KGP with package namesKTIJ-24573KGP-based import: commonized cinterop libraries don't include source set targets, unsupported by hostKTIJ-25757KJS: 1.9.0-Beta fails to run when running in Android StudioKTIJ-24701KGP import: JVM+Android shared source sets don't receive a correct default stdlib dependencyKTIJ-24745IDE sync of kotlin("js") projects with js(BOTH) set fails with exception because of the new MPP IDE importKTIJ-24567Enable KGP dependency resolution by defaultKTIJ-24729KotlinMPPGradleProjectResolverKt must not be requested from main classloader on project importKTIJ-11978IDE does not recognize the sources JAR of a published to mavenLocal MPP libraryIDE. Inspections and Intentions
KTIJ-24684K2 IDE: 'Redundant qualifier name' false positive in type specification in extension functionKTIJ-24662K2 IDE: False positive "Redundant qualifier name" inspection for nested class from base interfaceKTIJ-25232K2 IDE: "Redundant qualifier name" inspection false positive with object referenced via propertyKTIJ-25447Make Enum.entries and RangeUntil inspections don't check for opt-in when APIs become stableKTIJ-23588K2 IDE. False positive unused import directive for extension function of an objectKTIJ-25112K2 IDE: False positive "Actual value of parameter 'b' is always 'null'"KTIJ-24485Explicit API mode: false positive "redundant 'public' modifier"KTIJ-24453Unsuccessfull resolve error from OperatorToFunctionIntention on recursive property declarationIDE. JS
KT-58427Kotlin Gradle Plugin ignores language version value for Kotlin/JS sourcesIDE. Libraries
KTIJ-25096K2 IDE: Library sessions are garbage collected between performance test runs with enabled library cachesKTIJ-24413Cannot navigate to enum of the Kotlin library via entries callIDE. Misc
KT-58763K2 IDE: NoSuchMethodError: KtPsiFactory$Companion.contextualKTIJ-25304Move IDE Extension Points from compiler.xml to the IDE repositoryKTIJ-24893K2 IDE: Serializable plugin causes infinite resolve recursionIDE. Multiplatform
KTIJ-25859MPP: Library wizard with android target uses deprecatedandroidTestsource setKTIJ-25479Compiler options is not imported correctly for js source setsKTIJ-24011MPP: Native tests are missing run guttersIDE. Navigation
KTIJ-23073K2 IDE: Navigation doesn't work from library sources to another library sourcesKTIJ-24819K2 IDE: support compiler reference indexKTIJ-24697K2 IDE: handling PresistenceMap in LLFirSessionsCache takes a lot of timeKTIJ-24373K2 IDE: Qualified generic type is not fully resolvedIDE. Run Configurations
KTIJ-25046K2 IDE. Junit5 test method with internal modifier can't be launched using gutterIDE. Wizards
KTIJ-25932Turn off the adding new targets in Kotlin Multiplatform WizardKTIJ-26022Project module not selected in a second page of "New Project" window in KMP wizardKTIJ-24834Set default for "kotlin.mpp.experimental" flag for K/JS features to trueJavaScript
New Features
KT-12784JS: generate ES2015 compatible modulesKT-48154KJS / IR: Inline members support for external typesKT-51582FIR: support basic compile-time evaluation for JS backendFixes
KT-43490KJS / IR: "Cannot set property message of Error which has only a getter" caused by class that is child of ThrowableKT-57690K2/MPP: compileProductionLibraryKotlinJs fails with Module has a reference to symbol kotlin/arrayOf|3204918726020768747[0]. Neither the module itself nor its dependencies contain such declarationKT-56911K2/MPP: Compile K/JS fails for@Serializableannotation with class IrDeclarationOrigin$GeneratedByPlugin cannot be cast to class IrDeclarationOriginImplKT-56950Support KLIB IC with K2KT-58570KJS: ES6 classes + PL throw java.lang.NullPointerExceptionKT-58835K2/JS: Fix incremental compilation klib testsKT-58794KJS / K2: Assertion failed with Space buildKT-51706Partial linkage: in case of absent symbol referred from declaration Native compiler is successful, JavaScript failsKT-54452Kotlin/JS libraries with "joined" legacy+IR content: publish IR sources for themKT-53180Kotlin/JS: generated TypeScript constructor can have "TS1016: A required parameter cannot follow an optional parameter" error with certain properties orderKT-39650KJS IR: provide a way to enable ES2015 class generationKT-57990KJS/IR. Invalidsupercall for final parent methods (ES classes)KT-58246KJS: ES15 classses — duplicated code in class constructorKT-57479KJS: Add an annotation for a function parameter which checks that a passed argument has an external typeKT-58201Unknown statement type when building with ES modulesKT-30810values and valueOf are miscompiled for external enum classesKT-57024Ugly TypeScript definitions for declarations with both@JsExportand@SerializableKT-56237KJS + IC: Adding or removing interface default implementation doesn't invalidate children and doesn't update JS codeKT-54638K2/JS: Fir2ir - implement and use JS-specific manglerKT-54028Native / JS: Using private object implementing a sealed interface causes a linker errorKT-57423KJS: Add an annotation for external interfaces which allows to be inherited only by other external interfaces, classes or objectsKT-57711K2: Native & JS fail to compile a KLIB that uses const val from a dependency KLIBKT-57078JS IC: Unbound symbol left inSymbolTableinJsIr[ES6]InvalidationTestGenerated.testBreakKlibBinaryCompatibilityWithVariancetestsKT-57254Deprecateexternal enumdeclarationsKT-57002KJS: "JsParserException: missing name after . operator" when a js(...) block contains an interpolated constantKT-56961JS IR: serializedIrFileFingerprints in klib manifest has a wrong formatKT-56282KJS: Invalidate incremental cache in case of compiler internal errorsKMM Plugin
KT-55402"Framework not found SQLCipher": after selection of "Regular framework" as "iOS framework distribution" and installing SqlCihper through CocoaPodsKT-55988KN debugger in KMM plugin for Android Studio can't recognize the source codeLanguage Design
New Features
KT-48872Provide modern and performant replacement for Enum.values()KT-15613Introduce special syntax for the until operatorKT-4107Design and implement a solution for toString, equals and hashCode on objects (data object)Fixes
KT-28850Prohibit protected visibility in final expected classesKT-39362Expect fun interface must have actual fun interface counterpartKT-48994Prohibit type unsound java fields assignmentsKT-58791Prolongate PROGRESSION_CHANGE_RESOLVE diagnostics to 2.xKT-53778Release stdlib API about "rangeUntil" operator in 1.9KT-53653Export Enum.entries to Objective-C and SwiftKT-55177Deprecate declaration of expect and actual counterparts of same class in one moduleKT-49110Prohibit access to members of companion of enum class from initializers of entries of this enumKT-47986Forbid implicit inferring a type variable into an upper bound in the builder inference contextKT-57395Delay ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound feature to LV 2.0KT-55082Bump KLib version for Enum.entriesKT-49264Deprecate infix function calls of functions named "suspend" with dangling function literalLibraries
New Features
KT-58046Stabilize remaining kotlin.time API: time sources, time marks, measureTimeKT-58074Stabilization of Atomics API in K/NKT-55268Mutiplatform@VolatileannotationKT-51908Provide common function for getting regex capture group by nameKT-53263Path.createParentDirectoriesKT-7637Add toString() to standard delegates classes (NotNullVar, LazyVal, BlockingLazyVal, ...)KT-40728Add AssertionError constructor withcause: Throwableparameter to common stdlibKT-57298Avoid FileAlreadyExistsException from Path.createParentDirectories in case of parent is symlinkPerformance Improvements
KT-54739buildmethod in collection builders (Set, Map, List) should return a single instance for empty collectionsKT-42589Provide common listOf(value) overload to avoid allocation of the varargKT-55091Stdlib: Sequence.toSet() and Sequence.toList() may create the collection twiceKT-57617Optimize ReversedListReadOnly iteratorKT-57607KJS: Bad performance for ArrayList.addAllFixes
KT-58841Serialization: NPE when obtaining a serializer of a sealed base class with a self-referencing propertyKT-57728Explicitly specify level of stability of programmatically-accessible interoperability APIKT-58985Update KClass.isData KDocKT-57762Introduce HexFormat for formatting and parsing hexadecimalsKT-55612Stabilize experimental API for 1.9KT-58548Stabilize standard library API for Enum.entriesKT-56400Disable compilation of atomicfu-runtime with legacy JS backendKT-58276Deprecate redundant public declarations in kotlin.native.concurrentKT-35973Extract org.w3c declarations from stdlib-jsKT-58073JS/Legacy compiler blocks compilation of kotlinx.atomicfu with K2KT-57317Repack EnumEntries from stdlib into the compilerKT-54702Native: mark Worker and related APIs as obsoleteKT-55610Deprecate kotlin.jvm.Volatile annotation in platforms except JVMKT-57404Native: Support AnnotationTarget.TYPE_PARAMETERKT-57318Change EnumEntries stdlib implementation to be eagerKT-57137Native: Consider removing ArrayAsListKT-56661Missing EnumEntries-related bytecode in kotlin-stdlib-1.9.255-SNAPSHOT.jarKT-51579PlatformImplementations loading is not compatible with graalvm native-image --no-fallbackNative
KT-54098Decommission and remove 'enableEndorsedLibs' flag from Gradle setupKT-52594Provide Alpha support for Native in the K2 platformKT-56071K2/MPP: Native build functionalityKT-56218[K2/N] Receiver annotations for properties are not serializedKT-56326[K2/N] RemoveRedundantCallsToStaticInitializersPhase removes important static initializerKT-27002lateinitintrinsics frontend checkers aren't applied on NativeNative. Build Infrastructure
KT-58160Native: performance build configuration fails with NoSuchMethodError: 'boolean kotlinx.coroutines.CompletableDeferredKt.completeWith(kotlinx.coroutines.CompletableDeferred, java.lang.Object)'Native. C and ObjC Import
KT-54610Kotlin Native can't callobjc_directfunctionsKT-57918[K2/N] Support typealiases in FirClassSymbol<*>.selfOrAnySuperClass()KT-58651Native c-interop tool generates broken@DeprecatedannotationsKT-57541Compilation fails without explicit cast on cinterop codeKT-54805KMP ios memory leak when using CA LayerKT-57490[K/N] Duplicate package names for cinterop klibs with objc protocols fails to linkNative. ObjC Export
KT-58839K/N: Exception during HiddenFromObjC marked class extension function compilingKT-56464K/N: Allow HiddenFromObjC for classesKT-57507K2: Set of Objc exported declarations is different between K1 and K2Native. Runtime
KT-58441Kotlin/Native:@ObjCAction@ObjCOutletgenerate bridges without switching stateKT-57091Align Native and Java file/class initialization behaviorNative. Runtime. Memory
KT-56233[Kotlin/Native] Crash when enum values are accessed in multiple threadsKT-58130Implement preview of custom allocator for Kotlin/NativeKT-56402Native: if a Kotlin peer for an Obj-C object is created on the main thread, then Kotlin runtime should run objc_release for it on the main threadNative. Stdlib
KT-57344Try to remove strange .equals overload on primitive typesKT-57592Native: Remove the default parameter value for AtomicLong constructorNative. Testing
KT-57349Enable more K2 MPP codegen/box tests for Kotlin/NativeKT-57026K2: Fix Native test infrastructure for MPPReflection
KT-54833Reflection: Incorrect behaviour for Field.kotlinProperty function in companion objectsKT-56650ArrayStoreException from InlineClassAwareCaller.call with an array of inline classKT-56093Metaspace leak in a Gradle plugin built with Kotlin 1.8.0KT-55937Optimize implementation of kotlinFunction/kotlinPropertySpecification
KT-58932Specify the priority between candidates with type and value receivers when doing callable reference inferenceKT-54254Specify that an annotation type cannot have itself as a nested elementKT-53427Specify@SubclassOptInRequiredKT-53323Add Enum.entries to Kotlin specification, KEEP-283KT-54255Specify extension receivers are effectivelynoinlineKT-53646Incorporate rangeUntil (..<) operator into specificationTools. CLI
KT-57495Add JVM target bytecode version 20KT-57154Incorrect version of JDK is provided through CoreJrtFsKT-56209Add CLI support for HMPP in K2KT-58351Confusing error message when using removed -Xjvm-default mode valueKT-57535K2: Kotlin command line compiler doesn't see class files on the class path in 2.0KT-57644K2: Prohibit passing HMPP module structure with CLI arguments to metadata compilerKT-56351Reduce memory usage spent on compiler settingsTools. Commonizer
KT-57796NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20KT-56207Investigate failing tests in ClassifierCommonizationFromSourcesTestTools. Compiler Plugins
Fixes
KT-57821K2: Compiler calls declaration generation plugins twice for classes in the common source setKT-57406FIR Compiler plugins: Assignment plugin incorrectly recognizes qualified names of annotationsKT-57626K2: SERIALIZER_NOT_FOUND for serializable class from another moduleKT-57400FIR Compiler Plugins:annotatedpredicate does not work with Java classesKT-57140K2: Implement backwards compatibility for FirFunctionTypeKindExtensionKT-56685K2: ArrayIndexOfBound during session creation if compiler plugins are enabledKT-55375Remove "legacy" mode of jvm-abi-gen pluginKT-53470FIR: passMemberGenerationContextto all methods of FirDeclarationGenerationExtensionKT-51092Lombok@Valuecauses IllegalAccessErrorKT-55885K2 plugin API: Backend-only declarations are not visible from other modulesKT-55584K2: Improve registration of session components from compiler pluginsKT-55843FIR Plugin API: metaAnnotated predicate returns meta-annotation itself as wellKT-53874Optimize checking for plugin applicability and redesign DeclarationPredicatesTools. Compiler plugins. Serialization
Fixes
KT-58954Serialization: NPE at run time when accessing a delegating property of a deserialized objectKT-56537Serialization: Presence of (transient) delegated field in the serialized class breaks deserializationKT-58918Serialization: NPE at run time obtaining a serializer for a sealed class with a generic self-referencing propertyKT-59113Serialization: NPE at run time when accessing a delegating property of a deserialized objectKT-57647Serialization: "IllegalAccessError: Update to static final field" caused by serializable value classKT-57704K2/serialization: false-positive SERIALIZER_NOT_FOUND when compiling against 1.7.20 binary with enum classKT-57083K2/serialization: can't resolve serializers for classes from other modulesKT-56480K2: false-positive warning about incompatible serializer type when using type aliasesKT-56594K2/serialization reports SERIALIZER_NOT_FOUND over aliased String or primitive typesKT-56553Support 'serialization plugin intrinsics' feature in K2KT-56244kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0Tools. Daemon
KT-50846Remove "new" Kotlin daemon from codebaseTools. Gradle
New Features
KT-56971Expose jvmTargetValidationMode property in KotlinCompile Gradle taskKT-57159Add project level compiler options for Kotlin/JVM pluginPerformance Improvements
KT-57052Gradle: Stop using exceptions for flow controlKT-57757Reduce classpath snapshotter memory consumptionKT-56052Implement an in-memory wrapper for PersistentHashMap to avoid applying changes to IC caches before successful compilationFixes
KT-55624Update KGP integration tests that use removed in Gradle 8 getClassifier methodKT-59589Gradle: 'java.lang.NoClassDefFoundError: com/gradle/scan/plugin/BuildScanExtension' on 1.9.0-RC when applying Enterprise Plugin from initscriptKT-59063Explicit API mode broken in Kotlin 1.9.0-BetaKT-57653Explicit API mode is not enabled when free compiler arguments are specified in Gradle projectKT-59256[1.9.0-Beta] ServiceLoader does not pick up classes defined in the same projectKT-58662Gradle 8.1 + Configuration Cache: custom values data is missing from build reportKT-58280org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpathKT-59191Actual compilation failure exception might be hidden in the case of a Kotlin daemon crashKT-56211Improve Kotlin build reportsKT-57767Gradle: "ZipException: invalid entry size" with 1.8.20KT-57736K2: Introduce an easy way to try K2 compiler in Gradle user projectsKT-59056FreeCompilerArgs options added using 'subprojects' extension override module-level freeCompilerArgs optionsKT-55740Gradle 8: Listener registration using Gradle.addBuildListener() has been deprecatedKT-37652Support explicit mode for Android projectsKT-58251Build Statistics. Kotlin-specific tags are missing in build scans if projects use Gradle 8+KT-57224Add an indicator into build metrics report to show whether K1 or K2 compiler was used to compile the codeKT-58571ExplicitApi mode should not apply for test compilationsKT-42718Test and AndroidTest sources should be excluded from explicit API requirements for librariesKT-58916[1.9.0-Beta] PLUGIN_CLASSPATH_CONFIGURATION_NAME and NATIVE_COMPILER_PLUGIN_CLASSPATH_CONFIGURATION_NAME should stay public or offer an alternative APIKT-58869K2, Gradle: Improve message "100% (2/2) tasks have compiled with Kotlin 2"KT-52811Kotlin Serialization metadata issue due to incompatibility between Gradle Kotlin embedded version and Kotlin Gradle Plugin versionKT-57330Provide collection of usage statistics for the DokkaKT-57393jvm-target value set through 'android.kotlinOptions' is ignored and overwritten with the default 1.8 valueKT-58745KaptGenerateStubs task should also be configured with the same compiler plugin optionsKT-58682Explicit api mode does not apply in MPP projectsKT-52976Remove deprecated Gradle conventions usagesKT-58530Compiler plugin unbundling changes should be backward compatible with Kotlin pluginKT-36904Adding folders to sourceSets.resources.srcDir() in Gradle script does not workKT-58313An exception in console if no task is executed and file build reports are enabledKT-58619Move all pm20 interfaces into Gradle plugin codebaseKT-58320Kotlin daemon OOM help message is missing on OOM in Kotlin Daemon itselfKT-53923Add 'progressive' compiler argument to Gradle compiler optionsKT-53924Add 'optIn' compiler arguments to Gradle compiler optionsKT-53748Remove KotlinCompile setClasspath/getClasspath methodsKT-56454Bump minimal support AGP version to 4.2.2KT-57397Add infrastructure to use the build-tools-api to run compilation from GradleKT-56946Switch incremental Gradle tests for K2 to use language version 2.0KT-57782Disable daemon fallback strategy for Gradle integration tests by defaultKT-57142Split org.jetbrains.kotlin.gradle.tasks/Tasks.kt into several source filesKT-54447Remove usage of deprecated internal Gradle field in Kotlin Gradle Plugin, replace with equivalent in public APIKT-49785Avoid creating task output backups until really neededKT-56047False positive message about full recompilation is displayed while restoring from build cache and then making a syntax errorKT-56421Gradle: plugin should not use BasePluginExtension deprecated propertiesKT-55241Gradle: the VariantImplementationFactories build service state is not persistent making impossible to access factories with configuration cache lazilyKT-56357Gradle: "DefaultTaskCollection#configureEach(Action) on task set cannot be executed in the current context" because of VariantImplementationFactoriesKT-56352Make build scan reports more readableKT-55972Gradle: Add an assertion to all integration tests ifwarningModeis notFAIL, but the build doesn't produce any warningsTools. Gradle. Cocoapods
KT-38749Support reusing generated C-interop between dependant podsKT-54161Support adding extra code to generated Podfile from the Kotlin gradle pluginKT-56162Provide granular Gradle warnings suppression for CocoaPodsITTools. Gradle. JS
New Features
KT-48791KJS: Support for Power(ppc64le) and Z(s390x)KT-32209org.jetbrains.kotlin.js does not respect Gradle's archivesBaseNameKT-52646KJS / Gradle: make "KotlinCompilationNpmResolver already closed" a warningKT-52647KJS / Gradle: Make "Projects must be configuring" a warningKT-56158KJS: Support implementation dependenciesFixes
KT-59604Unresolved reference: useKarma in convention pluginKT-57604JS, Space: Circular dependency between tasksKT-59116K/JS npm dependcies are not resolved properly on Kotlin 1.9KT-54731KJS / Gradle: "There are multiple versions of "kotlin" used in nodejs build: 1.6.21, 1.7.20." with kotlin-dsl in buildSrcKT-58970browserTest gradle task fails if karma is used and gradle configuration cache is enabledKT-59004Kotlin JS 1.9.0-Beta, yarn.lock is unstable in multi module projectKT-56458KJS / Gradle: Unnecessary and confusing "There are multiple versions of "kotlin" used in nodejs build" generated fromYarnImportedPackagesVersionResolverKT-57985K/JS:packageJsonGradle configurations don't inherit unique attributes from JsTarget DSLKT-57817JS: executables for couple of JS targets builds in the same directoryKT-58199K/JS: Remove useCoverage methodKT-57116KJS / Gradle:commonWebpackConfignot applied if called afterbinaries.executable()KT-58522K/JS: Upgrade NPM dependency versionsKT-57629K/JS: Change default destination of JS production distributionKT-57480K/JS: Use IR compiler by default without explicit choosing of js compilerKT-58345K/JS: Webpack task skipped with ES modules because files have mjs extensionKT-58071KJS / Gradle:jsNodeTesttask is not incrementalKT-43809KJS: browserProductionExecutableDistributeResources tasks deletes distributions directoryKT-56690Kotlin2JsCompiler friendDependencies cannot be configured through friendPathsKT-57920K/JS: Make imported NPM package not considering dev dependenciesKT-56025KJS / Gradle: Gradle 8.0 jsBrowserProductionWebpack uses the output of another project's jsProductionExecutableCompileSyncKT-57630K/JS: webpack updating twice on one change of kt sourcesKT-47351KJS / IR::jsTestPackageJsonis unable to find nested included builds under composite buildKT-44754K/JS:browserRun --continuouskeeps rebuilding without any changesKT-49774KJS / Gradle: Errors during NPM dependencies resolution in parallel build lead to unfriendly error messages like "Projects must be closed"KT-57387Remove support of webpack 4KT-57386Kotlin/JS upgrade npm dependenciesKT-56705KJS / Gradle: Module name starting with '@' isn't properly set when FUS is disabledKT-46428KJS / IR: Composing build failed "Failed to create MD5 hash for package.json"KT-53687Don't trigger npm and yarn related tasks if it not relevant for assembleKT-49915KJS / Gradle: Gradle build cache miss because of absolute path inKotlinJsIrLink.filteredArgumentsMapKT-56192KJS: In browser testing no original sources in stacktraceKT-42395Kotlin/JS: Gradle DSL: PackageJson.customField() does not accept nullKT-43305Support Node.JS downloading for UbuntuKT-48631KJS: Unconditionally uses linux/x86 binariesKT-38015NodeJS installation does not extract symlinks correctly (npm and npx)Tools. Gradle. Multiplatform
New Features
KT-34662Provide an option for Android targets to compile & runcommonTesttests as unit tests only, instrumented tests only, or bothKT-55881Add possibility to enable/disable sources publication similar to Java Gradle Plugin APIFixes
KT-59446MPP: transformCommonMainDependenciesMetadata failing for api java dependency in shared jvm source set with Future was not completed yetKT-55751MPP / Gradle: Consumable configurations must have unique attributesKT-57688MPP:compileDebugKotlinAndroidtask fails with llegalArgumentException: 'moduleName' is null!KT-56210Pass module structure to CLI of K2 if K2 enabledKT-57531KotlinNativeLink: StackOverflowError when consuming library with dependency cycles (from constraints)KT-58281Kotlin Gradle Plugin: Enable Kotlin/Android SourceSetLayout v2 by defaultKT-57903Prepare for migration to the pluggable android target pluginKT-49933Support Gradle Configuration caching with HMPPKTIJ-25644KGP import: 'KotlinRunConfiguration' won't be able to infer correct runtime classpathKT-58661KGP: KotlinJvmTarget: Implement 'run' carrier taskKT-59055KotlinJvmRun not respecting jvmToolchain settingKT-57959Module-name value can't be changed for the android target of a multiplatform projectKT-55506TCS: Gradle Sync: kotlin-stdlib-common is not filtered from JVM + Android source setsKTIJ-25732Flaky: KotlinMultiplatformSmokeTests .testJvmAndNativeKTIJ-25039New import can add unresolved dependency as emptyKT-57652Don't expose sourcesElements for project2project dependenciesKT-58601Finalise "ExternalKotlinTargetApi" shape for initial 1.9 releaseKT-58710External Target Api: Add API to control SourceSetTreeKT-58488Add a diagnostic message to KGP in case of val androidTest by getting usageKT-57482cleanNativeDistributionCommonization is not compatible with configuration cache with gradle 8.0KT-58062Commonizer configuration cache not compatible with Gradle 8.1KT-58086Warn about using MPP libraries published in the legacy modeKTIJ-24254KotlinProjectArtifactDependencyResolver returning too earlyKT-56439TCS: Gradle Sync: IdeBinaryResolver: Add componentFilter API for compilations/configurationsKT-57023Cryptic Gradle task descriptions for compile tasksKT-58470Warning about using MPP libraries published in the legacy mode is not reported if the dependency is declared in an intermediate source setKT-58466K2 Gradle: non *.kt files are passed to -Xfragment-sourcesKT-58319kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'"KT-51940HMPP resolves configurations during configurationKT-58261Link kotlin native binary framework tasks fails when configuration cache is enabledKT-41506UnknownDomainObjectException: "KotlinSourceSet with name not found" when creating custom compilations after applying withJava to an MPP JVM targetKT-58209Do not use the term 'Module' in KotlinTargetHierarchyKT-56153When the dependency is unresolved, import fails and don't import anything instead of degrading gracefullyKT-56571New import broke apiVersion for commonMain, commonTest and jvmAndAndroidMain modulesKTIJ-24552TCS: KotlinMppGradleProjectResolverExtension: Add 'afterProjectResolved' APIKTIJ-24368Multiplatform;Composite Builds: prepareKotlinIdeaImport not executed on included buildsKTIJ-24377Multiplatform;Composite Builds: Unresolved symbols from a root project of included buildKT-56712Multiplatform;Composite Builds: Classpath isolation: .MppDependencyProjectStructureMetadataExtractorFactory cannot be cast to class *MppDependencyProjectStructureMetadataExtractorFactoryKT-56461MPP: resolvableMetadataConfiguration: Ensure consistent resolution across all compile dependenciesKT-56841MPP: Module-to-module dependencies don't work inside included build in included buildKT-42748Project that transitively depends on composite build of multimodule multiplatform library cannot resolve dependencies properlyKT-52356MPP / Gradle: Missing common classes on KMM project integrated via Gradle included build into an Android applicationKT-51293Unresolved references with hierarchical project structure when building KotlinMetadata from native-common source setKTIJ-24771Multiplatform: Composite builds do not resolve in IDEA when rootProject.name != buildIdentifier.nameKT-56700V2 MPP Source Set layout warnings should include link to docsKT-55926TCS: Gradle Sync: Import Extras on KotlinSourceSet and KotlinTargetKTIJ-24364KotlinProjectArtifactDependencyResolver: Extend API to include information about 'requesting source set'KTIJ-24365KotlinMPPGradleProjectResolver: Create extension points for other plugins (Android)KT-55730MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source setsTools. Gradle. Native
KT-58838KGP/Multiplatform: 1.9.0-Beta with custom cinterops: IllegalStateException: Could not create domain object 'jni' (DefaultCInteropSettings)KT-57823KotlinNativeCompileOptions.moduleName value is ignored and replaced with the default one if to set up using compilationsKT-57815KotlinNativeCompileOptions.moduleName isn't accessible if to configure using compilerOptions.configure {}KT-57944K2: K2, MPP, Native: K2 reports "Source does not belong to any module" for native sourcesKT-53108Expose Kotlin/Native compiler options as Gradle DSLKT-58063Kotlin/Native tasks configuration cache are not compatible with Gradle 8.1KT-38317Kotlin/Native: NSURLConnection HTTPS requests fail in iOS tests due to --standalone simctl flagKT-56280Gradle: freeCompilerArgs are no longer propagated from compilations to Native binariesTools. Incremental Compile
KT-58289IC fails to detect a change to class annotationsKT-58986New IC: ISE "The following LookupSymbols are not yet converted to ProgramSymbols: LookupSymbol(name=$$delegatedProperties, ...)"KT-56197If use classpathSnapshot, the invoke place of subclass's super function who has default parameters will not recompiled if it is incremental buildKT-56886K2: Changes to Java sources used in Kotlin project do not trigger a rebuild if a previous build was successfulTools. JPS
KTIJ-25384JPS plugin: serialization plugin is not applied to modulesKT-56438Add minimal statistic report for JPS buildKT-58314kotlin-build-statistics is missing for kotlin-jps-pluginKT-55696JPS IC K2 - fix new failing tests with Java interopKT-57102SCE: DefaultErrorMessages$Extension: DefaultErrorMessagesWasm not a subtype after adding WASM error messagesTools. Kapt
KT-54468KAPT Gradle plugin causes eager task creationKT-59521Kapt maven plugin require version of annotation processorKT-58301K2: Compile Kotlin task failure for the generated by Kapt sources : 'Source NameOfTheGenerated.kt does not belong to any moduleKT-57598K2: Support a fallback mode executing Kapt with K1 even when the compiler is run with languageVersion=2.0KT-58226KAPT: “org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtNameReferenceExpression” with enum with secondary constructorTools. Maven
KTIJ-25445Maven. JVM target is imported as 1.6 when no target specified in pom.xmlTools. Parcelize
KT-59112K2: "IllegalStateException: Function has no body with@Parcelize" on nested sealed class hierarchiesTools. Scripts
KT-58366The obsolete kotlin-script-util jar is still published and contains broken JSR-223 implementationTools. Wasm
KT-56585Change wasmBrowserRun Browser Executable to System DefaultKT-56159Running (karma) tests doesn't work in a project generated by wizard "Browser Application for Kotlin/Wasm"KT-57203Update Kotlin/Wasm to support Gradle 8v1.8.22: Kotlin 1.8.22Changelog
Tools. Gradle
KT-58280org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpathChecksums
v1.8.21: Kotlin 1.8.21Changelog
Compiler
KT-57848Native: compilation of dynamic/static library fails with Xcode 14.3KT-57875Native compilation failure: Suspend functions should be lowered out at this point, but FUN LOCAL_FUNCTION_FOR_LAMBDAKT-57946KAPT: "RuntimeException: No type for expression" with delegateJavaScript
KT-57356KJS: StackOverflowException on@JsExportwith type parameters referring to one anotherTools. Commonizer
KT-57796NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20Tools. Compiler plugins. Serialization
KT-58067Serialization: NullPointerException caused by@Contextualproperty with type with genericKT-57730Serialization: "IllegalStateException: Serializer for element of type .Foo has not been found" caused by serialization of Java typeTools. Gradle. JS
KT-57766KJS / Gradle "Module not found: Error: Can't resolve 'kotlin-kotlin-stdlib-js-ir'" when using "useEsModules"Tools. Kapt
KT-58027Kotlin 1.8.20 kapt issue "null: KtCallExpression: build()"Tools. Maven
KT-58048Maven: "Too many source module declarations found" after upgrading to 1.8.20KT-58101'Unable to access class' in kotlin-maven-plugin after updating to Kotlin 1.8.20Checksums
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ 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.