chore(deps): update kotlin monorepo to v2 (major)
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| org.jetbrains.kotlin.plugin.spring (source) | plugin | major |
1.9.25 -> 2.0.20
|
| org.jetbrains.kotlin.kapt (source) | plugin | major |
1.9.25 -> 2.0.20
|
| org.jetbrains.kotlin.jvm (source) | plugin | major |
1.9.25 -> 2.0.20
|
Release Notes
JetBrains/kotlin (org.jetbrains.kotlin.plugin.spring)
v2.0.20
Analysis. API
New Features
-
KT-68143Analysis API: support KtWhenConditionInRange call resolution
Performance Improvements
-
KT-67195K2: do not call redundant resolve on body resolution phase for classes
Fixes
-
KT-67360Analysis API: KtDestructuringDeclarationSymbol#entries shouldn't be KtLocalVariableSymbol -
KT-67748K2: AllCandidatesResolver modifies the original FirDelegatedConstructorCall -
KT-68198Analysis API: Support application service registration in plugin XMLs -
KT-62936Analysis API: NativeForwardDeclarationsSymbolProvider is not supported for Kotlin/Native -
KT-68689LL API: support analysis from builtins module -
KT-69630KAPT User project builds with KAPT4 enabled fail with Metaspace overflow -
KT-65417K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source sets -
KT-68882Analysis API: RefactorKaSymbols -
KT-65413K2 IDE: KTOR unresolved serializer() call for@Serializableclass in common code -
KT-67996Analysis API: rename Kt prefix to Ka -
KT-67775Analysis API: expose only interfaces/abstract classes for the user surface -
KT-68009K2: lowering transformers of Compose compiler plugin access AbstractFir2IrLazyFunction modality, which results in null point exception -
KT-68918collectCallCandidates works incorrectly for parenthesis invoke -
KT-68462Analysis API: Integrateproject-structuremodule intoanalysis-apiandanalysis-api-platform-interface -
KT-69131AA: "provideDelegate" operator is not resolved from the delegation reference in FIR implementation -
KT-69055Analysis API: StabilizeKaScopes -
KT-66216K2 IDE. "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" on incorrect string template -
KT-68959Introduce KaSeverity -
KT-53669Analysis API: redesign KtSymbolOrigin to distinguish kotlin/java source/library declarations -
KT-68846Mark KaFirReference and all implementations with internal modifier -
KT-68845Move KaSymbolBasedReference to resolution package -
KT-68844Move KaTypeProjection to types package -
KT-65849K2: Rename 'high-level-api' family of JARs to 'analysis-api' -
KT-62540Remove uses of TypeInfo.fromString and TypeInfo.createTypeText from Kotlin plugin -
KT-62889K2 IDE. FPMISSING_DEPENDENCY_CLASSon not available type alias with available underlying type -
KT-68155Analysis API: Add PSI validity check toanalyze -
KT-62343Analysis API: fix binary incopatibility problems cause byKtAnalysisSessionProvider.analyzebeing inline -
KT-68498To get reference symbol the one should be KtSymbolBasedReference -
KT-68393Analysis API: RenameKaClassLikeSymbol. classIdIfNonLocaltoclassId -
KT-62924Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableId -
KT-66712K2 IDE. SOE on settings string template for string variable with the same name -
KT-65892K2: "We should be able to find a symbol" for findNonLocalFunction -
KT-68273AA: supportKtFirKDocReference#isReferenceToImportAlias -
KT-68272AA: KtFirReference.isReferenceToImportAlias doesn't work for references on constructor -
KT-66996Analysis API: Expose the abbreviated type of an expandedKtType -
KT-66646K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl from FirJsHelpersKt.isExportedObject -
KT-68203K2: Analysis API: wrong type of receiver value in case of imported object member -
KT-68031LL resolve crash in case of PCLA inference with local object -
KT-67851K2:PsiReference#isReferenceToalways returns false for references to Java getters -
KT-68076AA: use type code fragments for import alias detection -
KT-65915K2: Analysis API: extract services registration into xml file -
KT-68049Analysis API: do not expose imported symbols -
KT-68075K2: Analysis API: Type arguments for delegation constructor to java constructor with type parameters not supported -
KT-65190AA: reference to the super type is not resolved -
KT-68070AA: KtExpressionInfoProvider#isUsedAsExpression doesn't work for KtPropertyDelegate -
KT-67743K2: Stubs & AbbreviatedTypeAttribute -
KT-67706K2: "KtDotQualifiedExpression is not a subtype of class KtNamedDeclaration" from UnusedChecker -
KT-68021Analysis API: do not break the diagnostic collection in a case of exception from some collector -
KT-67973AA FIR: wrong KtCall modeling for == from type bound -
KT-67949AA: Type arguments of Java methods' calls are not reported as used by KtFirImportOptimizer -
KT-67988AA: functional type at receiver position should be wrapped in parenthesis -
KT-66536Analysis API: ContextCollector doesn't provide implicit receivers from FirExpressionResolutionExtension -
KT-67321AA: Type arguments of Java methods' calls are not resolved -
KT-64158K2: "KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtParameter" -
KT-60344K2 IDE. "KotlinExceptionWithAttachments: expectcreateKtCallto succeed for resolvable case with callable symbol" on attempt to assign value to param named getParam -
KT-64599K2: "expectcreateKtCallto succeed for resolvable case with callable" for unfinished if statement -
KT-60330K2 IDE. ".KotlinExceptionWithAttachments: expectcreateKtCallto succeed for resolvable case with callable symbol" on attempt to assign or compare true with something -
KT-66672K2 IDE. False positive INVISIBLE_REFERENCE on accessing private subclass as type argument in parent class declaration -
KT-67750Analysis API: Removeinfixmodifiers from type equality and subtyping functions -
KT-67655Analysis API: declare a rule how to deal with parameters in KtLifetimeOwner -
KT-61775Analysis API: KtKClassAnnotationValue lacks complete type information -
KT-67168K2: Analysis API: Rendering is broken for JSR-305 enhanced Java types -
KT-66689Analysis API: KtFirPackageScope shouldn't rely on KotlinDeclarationProvider for binary dependencies in standalone mode -
KT-60483Analysis API: add isTailrec property to KtFunctionSymbol -
KT-67472K2: Analysis API FIR: KtFunctionCall misses argument with desugared expressions -
KT-65759Analysis API: Avoid hard references toLLFirSessionin session validity trackers -
KT-60272K2: Implement active invalidation ofKtAnalysisSessions -
KT-66765K2: Analysis API: support classpath substitution with library dependencies in super type transformer -
KT-67265K2: status phase should resolve original declarations in the case of classpath subsitution -
KT-67244K2: StackOverflowError in the case of cyclic type hierarchy and library classpath substitution -
KT-67080K2: clearer contract for lazyResolveToPhaseWithCallableMembers -
KT-66713K2 FIR: Expose a way to get the module name used for name mangling -
KT-61892KtType#asPsiType could provide nullability annotations -
KT-66122Analysis API: PassKtTestModuleinstead ofTestModuleto tests based onAbstractAnalysisApiBasedTest
Analysis. Light Classes
-
KT-65714K2: IDE K2: "org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirClassLikeSymbolPointer pointer already disposed" -
KT-65835SymbolLightClassForClassLike.getNamereturnsnullfor a companion object instead ofCompanion -
KT-68261SLC: Constructors of sealed classes should be private -
KT-68696DropDecompiledPsiDeclarationProvider-related stuff -
KT-68404SLC: wrong binary resolution to declaration with@JvmName -
KT-68275LC: no arg constructor is not visible in light classes -
KT-66687Symbol Light Classes: Duplicate field names for classes with companion objects -
KT-66804Symbol Light Classes: Fields from the parent interface's companion are added to DefaultImpls
Apple Ecosystem
-
KT-65542Cinterop tasks fails if Xcode 15.3 is used
Backend. Native. Debug
-
KT-67567Native: after updating to LLVM 16 lldb hangs when smooth stepping
Backend. Wasm
-
KT-70591To much sources that don't exist inside SourceMap file -
KT-69529compileProductionExecutableKotlinWasmJs FAILED: No such value argument slot in IrConstructorCallImpl: 1 (total=1) -
KT-68088Wasm: "UNREACHABLE executed at Precompute.cpp:838" running gradle task wasmJsBrowserDistribution for compose multiplatform on Windows -
KT-65798K/Wasm: make an error on default export usage -
KT-68828Wasm test failure. expect-actual. private constructor in expect -
KT-68453K/Wasm: "Supported JS engine not detected" in Web Worker -
KT-64565Kotlin/wasm removeEventListener function did not remove the event listener -
KT-65322[Wasm] Clean-up bootstrap code -
KT-66099Wasm: local.get of type f64 has to be in the same reference type hierarchy as (ref 686) @+237036 -
KT-63230[WASM]println(null)prints 'ul'
Compiler
New Features
-
KT-58310Consider non-functional type constraints for type variable which is an expected type for lambda argument -
KT-68969Consider implementing general "redundant interpolation prefix" warning -
KT-57872Improve "Public-API inline function cannot access non-public-API" check -
KT-68165Native: type checks on generic types boundary -
KT-67611Implement improved handling of $ in literals -
KT-67787Implement guard conditions for when-with-subject -
KT-39868Allow access to protected consts and fields from a super companion object -
KT-66169useContentslacks acontract -
KT-67767Introduce an ability to enforce explicit return types for public declarations without enabling Explicit API mode -
KT-65841Allow to actualize expect types in kotlin stdlib to builtins in JVM -
KT-53834Support for JSpecify@NullUnmarked
Performance Improvements
-
KT-69995K2: Slow compilation when star projecting mutually recursive bounds from java -
KT-69723K2: code analysis taking too long -
KT-69898K2: Performance degradation in fir2ir caused by changes around intersection types -
KT-68034Devirtualization analysis fails to devirtualize string.get
Fixes
-
KT-67102IR Evaluator: NoSuchFieldException when accessing a private delegated property -
KT-35305"Overload resolution ambiguity" on function for unsigned types (UByte, UShort, UInt, ULong) -
KT-69211K2: java.lang.IllegalArgumentException: Failed requirement -
KT-68874Types with different captured types as type arguments are rendered incorrectly -
KT-66086K/N: Unchecked illegal cast is not thrown -
KT-70186Kotlin 2.0.20-Beta2: Unexpected number of type arguments: 0 -
KT-68889K2: type variable should not be fixed -
KT-69835K2 / Native: kotlin.native.binary.gc=cms throws library cached but its dependency isn't error -
KT-70417DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE leads to NPE in BE -
KT-69964K2: Returning from an in-place lambda doesn't compile -
KT-69773K2: "Overload resolution ambiguity between candidate" with arrays -
KT-60261K2: No origin is set for composite assignment operators -
KT-15388Forbid delegated property to have external getter/setter -
KT-70238K2: false negative VOLATILE_ON_VALUE for constructor properties -
KT-68669K2: Generate inherited delegated members after actualization -
KT-63828K2: Missingsignaturemetadata for accessors of properties inherited from delegate -
KT-63871K2: different value ofisNotDefaultflag for property inherited from delegate -
KT-67119Migration warning from context receivers to context parameters -
KT-68997K2: "No accessor found" for an inline value class when query the value of a delegated class by reflection -
KT-64106Native: the compiler allows using-optand-gat the same time -
KT-69766K2: False negative: Internal setter of generic class is accessible from another module -
KT-68364JVM: ISE "Bad exception handler end" on a non-local break/continue inside try with finally -
KT-69494StackOverflowError in CfgTraverserKt.getPreviousCfgNodes -
KT-56880K2. Conflicting overloads for main() isn't shown when language version is set to 2.0 -
KT-69282K2: equality of unsigned types with nullability works incorrectly -
KT-68492JVM IR backend: IDE / Kotlin Debugger: AE “Non-reified type parameter under ::class should be rejected by type checker” on evaluating private generic function -
KT-70039K2: inconsistent stability of vals of captured receivers -
KT-44139Don't report overload resolution ambiguities if arguments contain an error type -
KT-68996K2: "Not enough information to infer type argument" caused by typealias annotation with fixed generic argument -
KT-55851K2: reference to a field from package private class crashes in runtime -
KT-65038K2: Type alias from indirect dependency causesMISSING_DEPENDENCY_CLASSerror -
KT-61875Native: remove support for bitcode embedding -
KT-67693Implement checkers for K1 compiler which will check the usage of K2 new features and report that they are not supported in K1 compiler -
KT-68556K2: false negative PROPERTY_WITH_NO_TYPE_NO_INITIALIZER on uninitialized property without type -
KT-60445K2/Java: investigate possible symbol clash while enhancing Java class type parameter bounds -
KT-64193K2: No smartcast with two boolean expressions in a row -
KT-65546K2. implement extended checker for unused anonymous parameter in lambda -
KT-68358@EnhancedNullabilityis missing on value parameter type after inheritance by delegation with strict JSpecify enabled -
KT-67791False negative "Synchronizing by Meters is forbidden" with inline value classes -
KT-69495k2: inconsistent output of unsigned number in string templates -
KT-69619K2. JAVA_TYPE_MISMATCH when Kotlin out generic type used in Java -
KT-69563trying to call.sourceonFirPackageFragmentDescriptorresults in exception -
KT-69611Internal annotation FlexibleArrayElementVariance is written to output jar -
KT-69463K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERS with expect/actual declarations -
KT-68724K2: "ABSTRACT_MEMBER_NOT_IMPLEMENTED" caused by open modifier on interface -
KT-69182K2: OptIn on enum companion blocks enum constants -
KT-69191K2: "Unresolved reference" caused by nested data objects -
KT-69569Wrong paths when one type has multiple annotated arguments -
KT-55128Wrong type path in type annotations when type arguments are compiled to wildcards -
KT-67692Native: support LLVM opaque pointers in the compiler -
KT-69402FirSupertypeResolverVisitor: ConcurrentModificationException -
KT-69062K1: false-negative "unsupported feature" error on multi-dollar interpolation -
KT-68967Consider demoting warnings about multi-dollar interpolation to IJ inspections -
KT-68957False-negative diagnostics about multi-dollar interpolation on string literals without interpolation -
KT-69476False negative NO_ELSE_IN_WHEN on when over intersection type with expect enum/sealed class -
KT-67069K2: Delegated member calls interface method instead of fake override -
KT-63864K2: Missing abbreviated type in metadata -
KT-59833K2: Stop modifying values of enum entries -
KT-69421K2: Resolve changed from delegated function to java default function -
KT-69392K2: "UNSAFE_CALL": when with some variable subjects does not smartcast the variable -
KT-69053K2: Unsupported intersection overrides for fields -
KT-69227K2: "Argument type mismatch" caused by generic typealias and upper bound -
KT-31371NOT_YET_SUPPORTED_IN_INLINE: incorrect error message for local inline function -
KT-49473PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' property -
KT-49474NON_PUBLIC_CALL_FROM_PUBLIC_INLINE: specialize error message for 'inline' property -
KT-49503SUPER_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' property -
KT-11302On inapplicable '@JvmStatic' annotation, highlight only the annotation, not the function signature -
KT-59510K2: do not render annotations in the deprecation diagnostic -
KT-68532"This code uses error suppression for 'INAPPLICABLE_JVM_NAME'. While it might compile and work, the compiler behavior is UNSPECIFIED and WON'T BE PRESERVED" -
KT-68859K2: unable to suppress only "JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE" -
KT-68469[K2] MISSING_DEPENDENCY_CLASS caused by redundant@file:JvmName -
KT-68999K2: Unify the style of FIR generator with IR and SIR tree-generators -
KT-66061Kotlin/Native - building shared module for iOS - Argument list too long -
KT-49420Suspicious behaviour of frontend in case of DefinitelyNotNull type overload -
KT-59752K2: "Conflicting overloads" if function with same signature added to different contexts -
KT-68618K1: Unresolved reference for qualified this in implicit type -
KT-25341NOT_YET_SUPPORTED_IN_INLINE reported over anonymous object border -
KT-69215K2: IllegalArgumentException for delegated function in anonymous object with captured type parameters -
KT-69044Destructuring declaration shouldn't be possible in declaration in when -
KT-69028K2:FirJvmActualizingBuiltinSymbolProviderreturnsnullon builtins declarations if common source-set is not presented -
KT-15704Rethink usage of term "type annotation" in error messages -
KT-68970K2. Argument type mismatch caused by out projection in inferred type from if - else -
KT-68800K2: DeleteConeAttributes.plusmethod -
KT-59389K2: Missing AMBIGUOUS_LABEL -
KT-68803K2: Smart cast fails with "Unresolved reference" when@Suppress("UNCHECKED_CAST") used in statement -
KT-68968K2: Missing ILLEGAL_SUSPEND_FUNCTION_CALL diagnostic in initialization code of a local class inside suspend function -
KT-68336K2 does not seem to pass the right constructor arguments to custom scripts -
KT-68517"IrSimpleFunctionSymbolImpl is unbound" for actual class containing non-actual functions -
KT-59678K2: InvestigateConeKotlinType.unCapture() -
KT-69027K2: InitializeFirStdlibBuiltinSyntheticFunctionInterfaceProviderin library session -
KT-62818K2: improve VAR_OVERRIDDEN_BY_VAL diagnostic message -
KT-68214Rename TypeApproximatorConfiguration properties for clarity -
KT-68093Implement deprecation of smartcasts on class-delegated properties -
KT-67270Native: report more performance metrics from the compiler -
KT-68621DATA_CLASS_INVISIBLE_COPY_USAGE false negative for inline fun -
KT-68568K2: False-positive ACCIDENTAL_OVERRIDE caused by missing dependency class -
KT-66723K2: NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS for actual typealias that extends to Java class with complicated hierarchy that includes default method -
KT-69000Can't render constructor of intersection type -
KT-68849K2: "ClassCastException: cannot be cast to kotlin.jvm.functions.Function2" caused by passing lambda to SAM constructor results -
KT-61744Native: -Xsave-llvm-ir-after fails to check errors from LLVMPrintModuleToFile -
KT-67103Support AbbreviatedTypeAttribute for aliased types from the source code -
KT-63921K2: different representation of recursive type aliases -
KT-68679K2: "Override has incorrect nullability in its signature compared to the overridden declaration" caused by subclass of Android HashMap -
KT-64335K2: improve rendering of captured types in diagnostic messages -
KT-68820K2: "Unresolved reference" on calling function with "contract" name -
KT-67933K2: no conversion between fun interfaces if target hassuspend -
KT-68230K2: FirMissingDependencyClassChecker: Not supported: ConeFlexibleType -
KT-68531K2: False-negative error on assignment to enum entry -
KT-68446K2: compile-time failure on smart-casted generic value used as a when-subject in a contains-check with range -
KT-68678K2: Drop usingFirBuiltinSymbolProviderwhile compiling JVM stdlib -
KT-68382Get rid of context receivers in FirScript implementation -
KT-68585Implement new rules for CFA about enum entries -
KT-68110K2: "Java type mismatch" caused by spring.Nullable -
KT-68613K2: False positiveCONFLICTING_PROJECTIONafter fixing KT-67764 -
KT-67764K2: False negative: Projection problem is not reported inisexpression -
KT-67887Expection on assigning to private field of value type -
KT-67801NSME on evaluating private member function with value class parameter -
KT-67800NSME on evaluating private top-level function with value class parameter -
KT-68542K2: Fix referecing to@ExtensionFunctionTypeif it's declared in source -
KT-68188K2: Properly support FunctionN creation for stdlib compilation -
KT-67946K2: Crash on red code:Instead use FirErrorTypeRef for ERROR CLASS: Cannot infer argument for type parameter T -
KT-68526K2: false-negative inconsistent data class copy visibility warning on call to generic data class copy function -
KT-68528K2: false-positive inconsistent data class copy visibility warning on call to function from another module with identical value parameter types and return type -
KT-68525K2: false-negative inconsistent data class copy visibility warning on callable reference to data class copy function -
KT-68617K2: Secondary constructors in a sealed class have private visibility instead of protected in the generated IR -
KT-63920K2: Private secondary sealed class constructor is private in metadata, but protected in K1 -
KT-57996Usages ofFoo@Nullable[]produce only warnings even with-Xtype-enhancement-improvements-strict-mode -Xjspecify-annotations=strict -
KT-68207K2: Investigate if losing ConeIntersectionType.upperBoundForApproximation during approximation leads to any issues -
KT-64990K2: Remove usages of SymbolTable from FIR2IR -
KT-67798NSME on assigning to private delegated property of value class -
KT-68264K2: confusing INVISIBLE_* error when typealias is involved -
KT-68529K2: false-negative redundant annotation warning on@ExposedCopyVisibilityon data class with public constructor -
KT-67943Approximation should not generate types with UPPER_BOUND_VIOLATION errors -
KT-67503K2: False negative "Type Expected" when attempting to annotate a wildcard type argument -
KT-68187K2: Create IrBuiltins in fir2ir only after IR actualization -
KT-66443K2: ArrayIterationHandler doesn't work if UIntArray declared in sources -
KT-68291K2 / Contracts: Non-existent invocation kind is suggested as a fix -
KT-68209K2: Strange import suggestion when lambda body contains invalid code -
KT-67368"NullPointerException: Parameter specified as non-null is null" local lambda creates new not-null checks with 2.0.0-Beta5 -
KT-51433FE 1.0: implement warnings about label resolve changes -
KT-66554K2. Drop FIR based fake-override generator from fir2ir -
KT-64202K2: Drop old methods for calculation of overridden symbols for lazy declarations -
KT-67895K2: Properly implement generation of fake-overrides for fields -
KT-54496K2:REDUNDANT_MODALITY_MODIFIERdiagnostic disregards compiler plugins -
KT-63745K2: Approximation of DNN with nullability warning attribute leads to attribute incorrectly becoming not-null -
KT-63362AbstractTypeApproximator fixes only first local type in hierarchy -
KT-67769K2: "variable must be initialized" on unreachable access in constructor -
KT-51195FIR IC: Incremental compilation fails with@PublishedApiproperty -
KT-67966No JVM type annotation is generated on a class supertype -
KT-46640Generate JVM type annotations on wildcard bounds -
KT-67952Annotations on type parameters are not generated for parameters other than the first -
KT-68012K2. No'operator' modifier is required on 'component'error in K2 -
KT-61835K2: FirStubTypeTransformer receives unresolved expressions in builder inference session -
KT-63596K1/K2: Different behavior for lambda with different return type -
KT-67688K2: False positive CANNOT_INFER_PARAMETER_TYPE for Unit constraint type variable -
KT-62080False positive UNUSED_VARIABLE for variable that is used in lambda and in further code with several conditions -
KT-60726K2: Missed TYPE_MISMATCH error: inferred type non-suspend function but suspend function was expected -
KT-41835[FIR] Green code turns to red in presence of smartcasts and redundant type arguments -
KT-67579K1/JVM: false-negative annotation-based diagnostics on usages of ABI compiled with non-trivially configured generation of default methods -
KT-67493K2: argument type mismatch: actual type is 'T', but 'T' was expected -
KT-64900K2:getConstructorKeywordcall inPsiRawFirBuilder.toFirConstructorforces AST load -
KT-67648K2: wrong exposed visibility errors with WRONG_MODIFIER_CONTAINING_DECLARATION on top-level enum class -
KT-58686FIR2IR: Don't use global counters -
KT-67592K2: Success execution of:kotlin-stdlib:compileKotlinMetadata -
KT-60398K2: consider forbidding FirBasedSymbol rebind -
KT-54918Refactor transformAnonymousFunctionWithExpectedType -
KT-63360K2: Malformed type mismatch error with functional type -
KT-67266K2: disappeared INLINE_CLASS_DEPRECATED -
KT-67569K2: Fix default value parameters of Enum's constructor if it's declared in source code -
KT-67378K2: Don't usewrapScopeWithJvmMappedfor common source sets -
KT-67738K2: Introducekotlin.internal.ActualizeByJvmBuiltinProviderannotation -
KT-64456K2: Port *VersionRequirementTest to K2 -
KT-67136Put $this parameter to LVT for suspend lambdas -
KT-62538K2: Declarations inside external classes should be implicitly external -
KT-67627K2: External interface companion isn't external in IR -
KT-60290K2: origin is not set for !in operator -
KT-67512K2: false positive WRONG_GETTER_RETURN_TYPE when getter return type is annotated -
KT-67635K2: No warning TYPE_MISMATCH_WHEN_FLEXIBILITY_CHANGES for SAM constructor with inferred type -
KT-60501K2 Scripting: investigate metadata difference between K1 and K2 -
KT-67598K2: Fix incorrect castingUBytetoNumberinFirToConstantValueTransformer -
KT-56564False positive "non-exhaustive when" in case of intersection type -
KT-63969K2: extra property in metadata -
KT-63968K2: extra property in metadata for anonymous variable in script -
KT-67547K/N can't build caches, fails with "clang++: error=2, No such file or directory" -
KT-67469K2: Failing module in FP-intellij -
KT-64033K2: Investigate ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound -
KT-64457K2: Fix DecompiledKnmStubConsistencyK2TestGenerated -
KT-66377IR Evaluator: "no container found for type parameter" when evaluating nested generics -
KT-66378IR Evaluator: Symbol is unbound -
KT-64506IDE, IR Evaluator: NPE in ReflectiveAccessLowering.fieldLocationAndReceiver when evaluating private static properties -
KT-67380K2: Don't check forequalsoverriding for classAny -
KT-67038K2: Missing type of FirLiteralExpression causes an exception for property initializer type resolution -
KT-59813K2: Fix the TODO aboutfirEffect.sourceinFirReturnsImpliesAnalyzer -
KT-59834K2: Fix the TODO aboutmerge(other)inUnusedChecker -
KT-59188K2: Change positioning strategy forWRONG_NUMBER_OF_TYPE_ARGUMENTSerror -
KT-59108K2. SMARTCAST_IMPOSSIBLE instead of UNSAFE_IMPLICIT_INVOKE_CALL -
KT-65503The inline processor cannot handle objects inside the lambda correctly when calling an inline function from another module -
KT-30696NoSuchMethodError if nested anonymous objects are used with propagation reified type parameter -
KT-58966Incorrect type inference for parameters with omitted type of anonymous function that is being analyzed as value of function type with receiver -
KT-67458Use@PhaseDescriptionfor JVM backend lowering phases -
KT-65647K2 ignores diagnostics on sourcelessFirTypeRefs -
KT-64489K2: Rename FirAugmentedArraySet -
KT-67394FIR: Make FIR repr of For from PSI and LightTree the same -
KT-66724K2 IDE. False positive errors because of wrong type inference in complex case of delegated property and type arguments -
KT-40248Confusing error message NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY -
KT-66947K2: false-positive JSpecify nullability enhancement warning on Java wildcard type argument with same base type but different nullabilities as upper and lower bounds -
KT-66974K2: false-negative JSpecify nullability enhancement warning on nullable projection of Java wildcard type argument with non-null bounds in out-position -
KT-66946K2: false-negative JSpecify nullability enhancement warning on Java wildcard type argument with nullable upper bound in out-position -
KT-66442K2: No visibility error on importing private aliases -
KT-66598K2: Allow comparisons,is-checks and casts between Kotlin and platform types -
KT-55966K2: Not enough information to infer type variable K if smartcast is used -
KT-64894OPT_IN_ARGUMENT_IS_NOT_MARKER diagnostic message is unclear -
KT-67019K2: IR has incorrect EQ origins for some inplace updating operators -
KT-59810K2: Support other ConstraintPosition-s -
KT-55383K1/K2: isClassTypeConstructor behaves differently for stub types -
KT-60089K2: Introduced ERROR_IN_CONTRACT_DESCRIPTION -
KT-60382K2: Refactor ExpectActualCollector -
KT-62929K2: investigate if guessArrayTypeIfNeeded is necessary in annotation loader -
KT-65642K2: IR: Array access desugaring doesn't have origins -
KT-24807No smartcast to Boolean in subject of when-expression when subject type is non-nullable -
KT-66057K2: incorrect supertype leads to class declaration being highlighted red -
KT-63958K2: drop support of UseBuilderInferenceOnlyIfNeeded=false -
KT-63959K2: treat stub types as non-nullable for isReceiverNullable check -
KT-65100IrFakeOverrideBuilder: support custom 'remove(Int)' handling logic in MutableCollection subclasses
Compose compiler
New features
-
cdfe659Changed how compiler features being rolled out are enabled and disabled in compiler plugin CLI. Features, such as strong skipping and non-skipping group optimizations are now enabled through the "featureFlag" option instead of their own option. -
192e556Strong skipping is now enabled by default -
842a9e8Add support for default parameters in abstract and open @Composable functionsb/165812010
Fixes
-
e207b05Fixes group generation for if statements when nonSkippingGroupOptimization is enabledb/346821372 -
f64fc3aFixesendToMarkergeneration in early return from inline lambdas that caused start/end imbalanceb/346808602 -
d6ac8a5Stop memoizing lambdas with captured property delegatesb/342557697 -
f38d5a3Stop capturing parameter meta across crossinline boundaryb/343801379 -
770fe8dPropagate annotations from inferred function types when serializingb/345261077 -
3c67cdaFix memoization of captureless lambdas when K2 compiler is usedb/340582180 -
3281e53Allow memoizing lambdas in composable inline functionsb/340606661 -
b/351858979Fix stability inferencing of interfaces on incremental compilation -
b/346821372[Compose] Fix code generation for group optimization -
b/357878245Disallow open @Composable functions with default params to fix binary compatibility issues.
IR. Actualizer
-
KT-68830Compiler crash on missing actual class -
KT-69024K2: Children of expect annotation with@OptionalExpectationshould be actualized -
KT-68742Allow expect protected to Java protected actualization -
KT-66436K2. Actualizing modCount property with a field in AbstractMutableList -
KT-68741Support actualization of AbstractMutableList.modCount -
KT-68801Crash on access of fake override of function actualized by fake override -
KT-66307K2: property fake override isn't generated for protected field
IR. Inlining
-
KT-67208KJS: put ReplaceSuspendIntrinsicLowering after IR inliner -
KT-68100Run IR validation in the beginning and the end of the common prefix -
KT-69171Introduce a temporary-XCLI parameter that enables double-inlining -
KT-69006Enable IR visibility checks after IR inlining -
KT-69183IR inlining: properly handle defaults that depends on previous value parameters -
KT-67660Suspicious package part FQN calculation in InventNamesForLocalClasses -
KT-68558MoveInlineCallableReferenceToLambdaPhaseintoir.inlinemodule -
KT-56466Support non-local break/continue in IR inliner -
KT-64958KJS: Put as many as possible lowerings after the inliner -
KT-67297Implement IR deserializer with unbound symbols
IR. Interpreter
-
KT-66938Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir'
IR. Tree
Performance Improvements
-
KT-67695ForLoopsLowering fails to handle a loop over an imprecise typed iterable
Fixes
-
KT-68784Support validating visibility of referenced declarations in IrValidator -
KT-68174Delete the IrMessageLogger interface -
KT-67082Introduce attributes on IrElement -
KT-68716DeepCopyIrTreeWithSymbols.visitConstshould remap const type -
KT-67650Add default implementations to methods for non-leaf IrSymbol subclasses from SymbolRemapper -
KT-67649Autogenerate IrSymbol interface hierarchy -
KT-44721IR: merge IrPrivateSymbolBase and IrPublicSymbolBase hierarchies -
KT-67580Autogenerate SymbolRemapper -
KT-67457Introduce a way to simplify IR lowering phase creation -
KT-67060NoSuchMethodError for org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl in the Flysto
JavaScript
New Features
-
KT-69133Kotlin/JS: Add support for collection instantiation in JavaScript -
KT-18891JS: provide a way to declare static members (JsStatic?)
Fixes
-
KT-68943@JsPlainObjectbreaks when interface has type parameters -
KT-70592"Error: HttpClientCall expected" on HTTP request when targeting es2015 with KTOR -
KT-67273Creating Kotlin Collections from JS collections -
KT-65018JS: Deprecate error tolerance -
KT-67355KJS / ES6: 'super' in lambda with enabled-Xir-generate-inline-anonymous-functionsleads to JS errors -
KT-69353KJS / d.ts: Kotlin does not export base collection classes along with their mutable collection counterparts -
KT-66898KJS: Reserved keywords not escaped when-Xir-generate-inline-anonymous-functionsis enabled -
KT-69710JS IR generates bad code for inner param default referring to outer members -
KT-68632K2: allow JS_NAME_CLASH suppression -
KT-69400Use correct type for references on local functions when transforming them into lambda -
KT-68554Legalize marker interface as parent for JSO (interface marked with@JsPlainObject) -
KT-68740Kotlin/JS 2.0.0 IrLinkageError with dynamic function parameters inside data classes -
KT-68944@JsPlainObjectrequire properties, when type - nullable alias -
KT-68891@JsPlainObjectfails to compile when encountering reserved keywords as interface properties -
KT-69023KJS / IR:globalThisis mandatory, breaking older browsers support -
KT-68641KJS: 'export was not found' with per-file mode on case-insensitive filesystem -
KT-68053K2: NON_EXPORTABLE_TYPE on a typealias of primitive type -
KT-62304K/JS: Investigate the compiler assertion crash in JS FIR with backend tests -
KT-68620[wasm][js] Default param in inner class method fails if we are referring generic extension property -
KT-64801K2 + JS and WASM: Inner with default inner doesn't work properly -
KT-67248ModuleDescriptor in JS Linker contains incorrect friend dependecies -
KT-64424K2: Migrate JsProtoComparisonTestGenerated to K2 -
KT-52602Kotlin/JS + IR: incompatible ABI version is not reported when no declarations are actually used by a Gradle compilation -
KT-66092K/JS & Wasm: .isReified for reified upper bound is wrongly false -
KT-67112Unable to apply@JsStaticfor common sources: [NO_CONSTRUCTOR] -
KT-62329KJS: "UnsupportedOperationException: Empty collection can't be reduced" caused by external enum with "@JsExport" -
KT-67018K/JS: Executable js file for module-kind=umd contains top level this instead of globalThis -
KT-64776Test infra for JS can't process dependency in mpp module -
KT-65076Use the same instance when a fun interface doesn't capture or capture only singletons
Klibs
-
KT-66557Check, that no bad metadata in klib is produced, when we failed to compute constant value -
KT-66968Provide K/N platforms libs for all available targets -
KT-66967Provide K/N stdlib for all available targets in all distributions -
KT-66605[KLIB] Excessive creation ofBaseKotlinLibraryduring resolving libs -
KT-68824API 4 ABI: Don't show sealed class constructors -
KT-68202KLIB metadata: nested classes are sometimes inside a different 'knm' chunk -
KT-65834[KLIB Resolve] Drop library versions in KLIB manifests -
KT-67446[KLIB Tool] Drop "-repository " CLI parameter -
KT-67445[KLIB Tool] Drop "install" and "remove" commands
Language Design
-
KT-58920K2: Prioritize Enum.entries resolve -
KT-11914Confusing data class copy with private constructor -
KT-68636Incorrect private_to_this visibility for data class with a private constructor
Libraries
New Features
-
KT-31880UUID functionality to fix Java bugs as well as extend it -
KT-57998implement Base64.withoutPadding
Performance Improvements
-
KT-67023Optimize Int.sign and Long.sign for js and wasmJs targets
Fixes
-
KT-70196Introduce ExperimentalUuidApi annotation for marking Uuid API -
KT-60787Cannot ignore alpha when formatting with HexFormat -
KT-68025Improve documentation for Hex -
KT-66129Minor issues with HexFormat -
KT-67511provide equals() and hashCode() implementations for kotlinx.metadata.KmType -
KT-68240stdlib: proper expects for internal API used in intermediate shared source sets -
KT-68840atomicfu-runtime: annotate some internal functions with@PublishedApi -
KT-68839Annotatekotlin.js.VOIDproperty with@PublishedApi -
KT-68023Improve documentation for Base64 -
KT-51483Documentation of trimMargin is (partly) difficult to understand -
KT-64649Add explanation to "A compileOnly dependency is used in the Kotlin/Native target" warning message -
KT-67807JS/Wasm: ByteArray.decodeToString incorrectly handles ill-formed 4-byte sequences with a 2nd byte not being continuation byte -
KT-67768Wasm: ByteArray.decodeToString throws out-of-bounds exception if the last byte is a start of a 4-byte sequence -
KT-66896Improve Array contentEquals and contentDeepEquals documentation
Native
-
KT-70166Native: EXC_BAD_ACCESS on watchOS when using Dispatchers -
KT-69246K2: linkPodDebugFrameworkIosArm64 takes 15 (!!) times longer -
KT-67694Native: WeakRefBenchmark degradation due to nonoptimized IntProgression iteration -
KT-69206Native: updating to LLVM 16 breaks debugging in lldb on Linux -
KT-68640Native: updating to LLVM 16 changes behavior ofusedattribute in C/C++ code -
KT-58097Kotlin/Native: improve the error message if Xcode is not properly configured -
KT-67583compileKotlin-task unexpectedly downloads K/N dependencies on Linux (but doesn't on Mac)
Native. Build Infrastructure
-
KT-69781Kotlin/Native performance tests fail to compile with bitcode
Native. C and ObjC Import
-
KT-69094LLVM 11 clang: cinterops fail with "_Float16 is not supported on this target" -
KT-68254Native: flaky testForwardEnum test in Kotlin/Native on MacOS -
KT-65260Native: compiler crashes when casting to an Obj-C class companion
Native. ObjC Export
-
KT-65666Native: enable objcExportSuspendFunctionLaunchThreadRestriction=none by default -
KT-57496linkReleaseFrameworkIosArm64: e: Compilation failed: An operation is not implemented
Native. Platform Libraries
-
KT-69382LLVM 11 clang: symbol not found when running the linker
Native. Runtime
-
KT-70043Native: EXC_BAD_ACCESS on watchOS when using Random -
KT-68928EXC_BREAKPOINT: BUG IN CLIENT OF LIBPLATFORM: Trying to recursively lock an os_unfair_lock
Native. Runtime. Memory
-
KT-66644Native: threads are too often paused to assist GC (with concurrent mark) -
KT-68871Native: Unexpected barriers phase during STW: weak-processing -
KT-67779Native: SpecialRefRegistry::ThradData publication prolongs the pause in CMS -
KT-66918Native: scan global root set concurrently
Native. Swift Export
-
KT-69469Exporting object twice causing crash -
KT-69251Get rid of context receivers from ./native/.../lazyWithSessions.kt -
KT-68865Move config into test-directives -
KT-68259Swift export: secondary constructs lead to compilation errors -
KT-67095Native: fix testNativeRefs export test -
KT-67099Remove SirVisitor and SirTransformer from code -
KT-67003Abandon PackageInflator implementation in favour of PackageProvider component
Native. Testing
-
KT-69235Incorrect handling of friend dependencies in Native test infra -
KT-67436Native: support CLI tests -
KT-68416Native: when using test grouping, a whole group gets ignored on non-Mac hosts if it has Objective-C tests -
KT-68500Native: Drop custom logic in ExtTestCaseGroupProvider, mute codegen/box tests explicitly
Reflection
-
KT-69433KotlinReflectionInternalError on non-reified type parameter in typeOf inside an inline lambda -
KT-68675K2: KotlinReflectionInternalError on non-reified type parameter in typeOf inside a lambda
Tools. Build Tools API
-
KT-68555BTA test infra: top level declarations are invisible across modules
Tools. CLI
-
KT-69792Add the possibility to disable fast jar fs in K2 -
KT-68838OutOfMemory when compiling in CLI -
KT-67939Add CLI argument to enable when guards feature -
KT-68743Extract common CLI arguments for all KLIB-based backends -
KT-68450CLI: errors related to module-info are reported even if there are no Kotlin source files -
KT-68060FastJarFS fails on empty jars
Tools. CLI. Native
-
KT-66952Native: konanc fails when KONAN_HOME is under path with spaces -
KT-64524Introduce a CLI argument to override native_targets field in klib manifest
Tools. Commonizer
-
KT-68835Command line length overflow on Linux/Windows while invoking commonizer via :commonizeDistribution
Tools. Compiler Plugin API
-
KT-68020K2: run FirSupertypeGenerationExtension over generated declarations
Tools. Compiler Plugins
-
KT-64425K2: Implement Atomicfu*IrTestGenerated for K2 -
KT-69401Kotlin power assert plugin doesn't work correctly with safe cast operator -
KT-69290PowerAssert: implicit receivers included in power-assert generated diagram -
KT-68511Power Assert kotlinx.assertEquals message display problem -
KT-68807Power-Assert crashes the Kotlin compiler when if expression used as assertion parameter -
KT-68162K2 Parcelize implementation breaks compiler phase contracts -
KT-67605K2 parcelize: false positive NOTHING_TO_OVERRIDE in one test -
KT-64455K2: Implement ParcelizeIrBoxTestWithSerializableLikeExtension for K2
Tools. Compiler plugins. Serialization
-
KT-70516KxSerialization:@KeepGeneratedSerializerand sealed class cause initialization error -
KT-68752Serializable annotation on Java class is not taken into account in K2 checker -
KT-68931JS/Native + serialization: partial linkage error -
KT-69039FIR: Implement IDE-only checker for kotlinx.serialization compiler plugin to report IDE-only diagnostics
Tools. Fleet. ObjC Export
-
KT-68826ObjCExport: SerializersModuleBuilder -
KT-68841ObjCExport:@Deprecatedsupport -
KT-68887ObjCExport: K1 text fixture@Deprecatedsupport -
KT-68051[ObjCExport] Support reserved method names
Tools. Gradle
New Features
-
KT-68651Compose: provide a single place in extension to configure all compose flags
Performance Improvements
-
KT-61861Gradle: Kotlin compilations depend on packed artifacts
Fixes
-
KT-69809Compose Gradle Plugin: AGP doesn't override configuration properties like traceMarkersEnabled -
KT-65820Compatibility with Gradle 8.7 release -
KT-69444Don't warn about missing Compose Compiler Gradle plugin in some cases -
KT-67888Remove usages of deprecated Configuration.fileCollection() method -
KT-68843Gradle: Kotlin plugin changes source set 'main' to 'null/main' -
KT-67395Add new plugins to collector kotlin gradle performance -
KT-68661Move ExperimentalWasmDsl to kotlin-gradle-plugin-annotations -
KT-69837Deprecation warning for file-based IC is issued when the property is set to true, altering the intended meaning of the message -
KT-69291Compose Gradle plugin: Enable strong skipping by default -
KT-67766Build against Gradle API 8.7 -
KT-67889Run tests against Gradle 8.8 release -
KT-65271Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3 -
KT-67822Deprecate JVM history files based incremental compilation -
KT-64378Compatibility with Gradle 8.6 release -
KT-69414Compose: featureFlags override values of the deprecated compose options -
KT-67771Compatibility with Gradle 8.8 release -
KT-65528Migrate rest of Gradle integration tests to new Test DSL -
KT-68306Project isolation for FUS statistics: Cannot access project ':' from project ':app' at org.jetbrains.kotlin.gradle.report.BuildMetricsService$ Companion.initBuildScanExtensionHolder -
KT-67890Compile against Gradle 8.8 API artifact -
KT-68773Kotlin 2.0.0 with Gradle 8.8: ConcurrentModificationException on BuildFusService configurationMetrics -
KT-68308Project isolation for FUS statistics: An error is thrown at org.gradle.configurationcache.ProblemReportingCrossProjectModelAccess$ProblemReportingProject.getLayout -
KT-61574Add project-isolation test for Kotlin/Android plugin -
KT-65936Provide a detailed error for changing kotlin native version dependency. -
KT-62684PropertiesBuildService should load extraProperties only once -
KT-67288Test DSL should not fail the test if build scan publishing has failed -
KT-58280org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath
Tools. Gradle. JS
-
KT-70077[2.0.20-Beta2] KGP reports confusing warnings about js/wasmJS source sets -
KT-69805YarnSetupTask does not work for custom downloadBaseUrl -
KT-67444Gradle / JS: wrong type commonWebpackConfig.devServer.proxy -
KT-42923KJS: Resources are not available when running Karma tests -
KT-68482KotlinNpmInstallTask is not compatible with configuration cache -
KT-68072K/JS, K/Wasm: Module not found in transitive case -
KT-68103K/JS, K/Wasm: Generation of test compilation's package.json requires main compilation -
KT-67924K/JS, K/Wasm: kotlinNpmInstall can rewrite root package.json
Tools. Gradle. Kapt
-
KT-64627Kapt3KotlinGradleSubplugin uses property lookup that breaks project isolation -
KT-61928Clarify parameter types in KaptArguments and KaptJavacOption
Tools. Gradle. Multiplatform
New Features
-
KT-56566Consider pre-generating DSL accessors for source sets with names corresponding to the default target hierarchy
Fixes
-
KT-66568w: KLIB resolver: The same 'unique_name=...' found in more than one library -
KT-65754Gradle: Commonized cinterop dependency configuration changes project description -
KT-69406Deprecate combinations of KMP plugin with some Gradle Java plugins -
KT-64109Using compileOnly/runtimeOnly dependencies in K/N-related configurations leads to odd behaviour -
KT-69311runDebugExecutable task fails with "this.compilation" is null with enabled configuration cache -
KT-69310w: KLIB resolver: The same 'unique_name=...' found in more than one library for diamond source set structures -
KT-61793KMP/AGP compatibility: Update the maximum tested AGP version to 8.3 -
KT-66209Accessing the source sets by name is confusing -
KT-62368Kotlin 1.9.X fails to detect kotlin.test.Test annotation reference on commonTest source set when targeting JVM+Android -
KT-67110Usage of BuildOperationExecutor.getCurrentOpeartion internal Gradle API -
KT-58319kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'"
Tools. Gradle. Native
-
KT-69918java.lang.NullPointerException: Cannot invoke "org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation.getTarget()" because "this.compilation" is null -
KT-67935OverriddenKotlinNativeHomeChecker does not work well with relative paths -
KT-64430Remove deprecated KotlinToolRunner(project) constructor -
KT-64427Stop using deprecated KotlinToolRunner(project) constructor call
Tools. Incremental Compile
-
KT-69042K2: changing a Java constant won't cause Kotlin usages to recompile -
KT-63476Investigate the debug output of JVM compilation in KMP IC smoke tests
Tools. JPS
-
KT-63707JPS: "Multiple values are not allowed for" caused by Compose
Tools. Kapt
-
KT-68145K2 KAPT: missing $annotations methods for const properties and private properties without accessors -
KT-67495File leak in when building with kapt -
KT-66780K2 KAPT Kotlinc should exit with an exit code 1 (compilation error) if a Kapt task fails -
KT-66998K2 KAPT: Reimplement support for DefaultImpls
Tools. Scripts
-
KT-69296scripting dependency resolution does not authenticate towards maven mirrors -
KT-67575FromConfigurationsBase script definition unexpected behaviour with regex from gradle templates -
KT-67066DeepCopyIrTreeWithSymbols does not copy IrScript nodes correctly -
KT-67071K2: ScriptCompilationConfigurationFromDefinition is not serializable -
KT-67063LauncherReplTest flaky on Windows
Tools. Wasm
-
KT-70220K/Wasm: Upgrade NPM dependencies -
KT-69245K/Wasm: Remove warning of working-in-progress -
KT-69154K/Wasm: wasmJsBrowserProductionRun flaky crash with "WebAssembly.instantiate(): Import ... function import requires a callable" -
KT-68930K/Wasm: Production run doesn not use optimize task result -
KT-67901K/Wasm: Add kotlin-wasm-examples to CI -
KT-67468Gradle task build (allTests) fails on default web project -
KT-67980Wasm: Incorrect "Please choose a JavaScript environment to build distributions and run tests" when WASM is not configured -
KT-67862K/Wasm: Make usage of ChromeWasmGc an error
v2.0.10
Apple Ecosystem
-
KT-68257Xcode incorrectly reuses embedAndSign framework when moving to and from 2.0.0
Compiler
Fixes
-
KT-69876K2 Compile exception: Only IrBlockBody together with kotlinx serialization -
KT-68521K2: Property's private setters can be bypassed when using plusAssign and minusAssign operators -
KT-68667K2: Compiler hangs on mapNotNull and elvis inside lambda -
KT-68747K2: Long compilation time because of constraint solving when using typealias in different modules -
KT-68940K2: "IllegalArgumentException: All variables should be fixed to something" -
KT-68797K2 / Native: "java.lang.IllegalStateException: FIELD" caused by enabled caching -
KT-68362False-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED for inheritor of java class which directly implements java.util.Map -
KT-68449K2: "when" expression returns Unit -
KT-67072K2: inconsistent stability of open vals on receivers of final type -
KT-68570K2: "Unresolved reference" in call with lambda argument and nested lambda argument -
KT-69159K2: KotlinNothingValueException in Exposed -
KT-68623K2: "Only safe or null-asserted calls are allowed" on safe call -
KT-68193JDK 21: new MutableList.addFirst/addLast methods allow adding nullable value for non-null types -
KT-67804removeFirst and removeLast return type with Java 21 -
KT-68727K2: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" caused by an enum class with default parameter in a different module -
KT-68383K2: "Argument type mismatch: actual type is 'kotlin.String', but 'T & Any' was expected." with intersection types -
KT-68546K2: false-positive conflicting overloads error on inheriting generic type with inherited generic and non-generic member overloads -
KT-68626K2: "Conflicting Overloads" for function if inherited from generic type -
KT-68351K2: "Suspension functions can only be called within coroutine body" -
KT-68489K2: WRONG_ANNOTATION_TARGET with Java and Kotlin@Targetannotation positions -
KT-69058K2: Java-defined property annotations not persisted -
KT-64515K2 IDE: [NEW_INFERENCE_ERROR] in a build.gradle.kts script while applying "jvm-test-suite" plugin and then configuring targets for test suites -
KT-68016K2: Gradle repo testshould compile correctly with Kotlin explicit api modefails on K2 -
KT-68575K2:@ParameterNameannotation is not erased when inferring the type ofitin lambdas -
KT-67999K2: lost flexibility on parameters of Java SAM -
KT-59679K2: Investigate extracting uncompleted candidates from blocks -
KT-68401K2: "IllegalAccessError: failed to access class" caused by package private super Java type, when inferencing a common super type of if or when branches on JVM -
KT-68806K/Wasm RuntimeError: unreachable on Sequence::toList -
KT-68455K2: False negative UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS -
KT-68538KJS/K2: usingwhilewithbreakinside inline lambdas leads to an endless cycle -
KT-68798JVM compiler crashes on calling private expect constructor with a default parameter -
KT-68734K2: enum class in KMP: Expect declarationMMKVLogLevelis incompatible with actualMMKVLogLevelbecause modality is different -
KT-68674False positive ACTUAL_WITHOUT_EXPECT in K2 -
KT-68350K2: "Inapplicable candidate(s)" caused by parameter reference of local class with type parameters from function -
KT-68571K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by exceptions and when statement -
KT-68523K2: FileAnalysisException when using Definitely non-nullable types -
KT-68339K2: "Enum entry * is uninitialized here" caused by lazy property with enum inwhenexpression -
KT-66688K2: false-negative "upper bound violated" error in extension receiver -
KT-68630DiagnosticsSuppressor is not invoked with Kotlin 2.0 -
KT-68222K2. KMP. False negativeExpected declaration must not have a bodyfor expected top-level property with getter/setter -
KT-64103FirExpectActualDeclarationChecker reports diagnostic error for KtPsiSimpleDiagnostic with KtFakeSourceElement -
KT-68191K2. Static fake-overrides are not generated for kotlin Fir2IrLazyClass -
KT-68024K2: Gradle repo testaccessors to kotlin internal task types...fails on K2 -
KT-64957K1: drop ModuleAnnotationResolver
Compose compiler
-
0c5a858Fix memoization of captureless lambdas when K2 compiler is used b/340582180 -
a8249d6Allow memoizing lambdas in composable inline functions b/340606661
Native
-
KT-68094K2/Native: Member inherits different '@Throws' when inheriting from generic type
Tools. Compiler Plugins
-
KT-69187Compose compiler for web doesn't support rememberComposableLambda -
KT-68557K2. Supertypes resolution of KJK hierarchy fails in presence of allopen plugin
Tools. Compiler plugins. Serialization
-
KT-68850Compose lambda type not transformed with KGP 2 + new Compose plugin
Tools. Daemon
-
KT-68297KGP 2.0 regression: JAVA_TOOL_OPTIONS is not considered in Kotlin daemon creation
Tools. Gradle
-
KT-69330KotlinCompile friendPathsSet property is racy due causing build cache invalidation -
KT-69026Mark AGP 8.5.0 as compatible with KGP -
KT-68447ill-added intentionally-broken dependency source configurations -
KT-69078Gradle: Add option to disable FUS Service -
KT-68278Spring resource loading in combination withjava-test-fixturesplugin broken -
KT-66452Gradle produces false positive configuration cache problem for Project usage at execution time -
KT-68242Run tests against AGP 8.4.0
Tools. Gradle. Multiplatform
-
KT-68805KMP project (re-)import took a long time for downloading platform libs -
KT-68248kotlin multiplatform project fail to build on Fedora with corretto
Tools. Gradle. Native
-
KT-68638KGP 2.0 breaks native test with api dependencies and configuration cache -
KT-65761Missing JDK Platform ClassLoader when compiling Kotlin native in daemon
Tools. JPS
-
KT-69204Generate lookups in dumb mode for compatibility with ref index
Tools. Kapt
-
KT-68171K2KAPT: boxed return types in overridden methods changed to primitives
Tools. Scripts
-
KT-68681K2 / CLI / Script: "NullPointerException: getService(...) must not be null" caused by@DependsOn -
KT-67747K2: regression in Spring unit tests usingjavax.script.ScriptEngine
v2.0.0
Analysis. API
New Features
-
KT-65327Support reading klib contents in Analysis API
Performance Improvements
-
KT-65560K2: Anaysis API: ContextCollector triggers redundant resolution in the case of file elements -
KT-64987Analysis API: 50GB memory allocation on creating empty kotlinx.collections.immutable.persistentMapOf -
KT-61789K2: optimize getFirForNonKtFileElement for references inside super type reference -
KT-59498K2: getOnAirGetTowerContextProvider took too much time due to on air resolve -
KT-61728Analysis API: optimize AllCandidatesResolver.getAllCandidates
Fixes
-
KT-65561Analysis API: dummy.kt is not a physical file -
KT-65616K2: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus from STATUS -
KT-65600Analysis Api: FirFile for KtCodeFragments are created and not updated on changes -
KT-64919K2 IDE: Implement KMP support for sealed class inheritors -
KT-64241K2: Unresolved calls to functions in scripts depending on included projects -
KT-65813Analysis API Standalone:FirDeclarationForCompiledElementSearcherdoes not find compiled elements -
KT-66052AA: render expect/actual modifier -
KT-66795KtCodeFragment.clone() is broken -
KT-66532K2 CodeGen AA: missing annotation setup for function in source module but not in a compile target file -
KT-64833Analysis API: Members implemented by delegation have no overridden symbols -
KT-62405Analysis API: SymbolsSUBSTITUTION_OVERRIDEhave no overridden symbols -
KT-66749K2: "Collection contains no element matching the predicate" on an unresolved call -
KT-62832K2: ClassCastException: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus -
KT-66719AbstractGetKlibSourceFileNameTest: The dependency to ":native:analysis-api-klib-reader" breaks JPS compilation -
KT-66603Analysis API: support type annotations in KtPsiTypeProviderMixIn#asPsiType -
KT-64505Analysis API Standalone: Remove test-specific calculation of sealed class inheritors -
KT-66013Analysis API Standalone: Sealed inheritors aren't correctly calculated for source classes -
KT-62880K2 IDE: Unresolved java annotation methods in KDoc -
KT-66530K2: Analysis API: KtPsiTypeProvider#asKtType crashes on PsiClassType for Java type parameter with wrong use site -
KT-65571Support VirtualFile inputs to Analysis API modules -
KT-66485Substituted types are not provided for callable references -
KT-66498Analysis API: 'KtFe10SymbolDeclarationOverridesProvider' considers a class to be a subclass of itself -
KT-64579K2 IDE: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(Source) but FirArgumentListImpl found" -
KT-65978Analysis API: Use soft references inFileStructureCache -
KT-64051K2 IDE: Analysis API: Unresolved links to typealias in KDoc -
KT-66189K2 / IDE: KtFirExpressionTypeProvider bugs -
KT-61422K2 IDE: "No array element type for vararg value parameter: org.jetbrains.kotlin.fir.declarations.impl.FirValueParameterImpl" -
KT-66276K2: Analysis API:TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEMfalse positive for script parameter -
KT-66232K2: Analysis API: cover ScriptWithCustomDefDiagnosticsTestBaseGenerated by LL FIR tests -
KT-60996K2: Stub Based Deserializer: Set versionRequirements to enable VERSION_REQUIREMENT_DEPRECATION diagnostics -
KT-66306K2: Analysis API: drop ability to enable global phase resolve lock -
KT-55750LL FIR: Implement multi-threaded resolve -
KT-65563Analysis API: Missing session componentFirExpectActualMatchingContextFactoryinLLFirLibrarySession -
KT-66173K2: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter' in array owner: LLFirLibrarySession -
KT-66238Gradle kotlin build scripts - a lot of unresolved symbols after latest changes in kotlin master -
KT-65099K2: Recursive local storage cache check for Fir2IrDeclarationStorage::createAndCacheIrPropertySymbols() -
KT-65265Analysis API: Add library session invalidation tests -
KT-56288Analysis API: Add tests for session invalidation on the Analysis API side -
KT-64000K2: make AnnotationArgumentsStateKeepers more accurate -
KT-63606K2: Analysis API: rewrite FirLazyAnnotationTransformer to avoid redundant transformations -
KT-65191KtFirMultiplatformInfoProvider#getExpectForActual doesn't return expect function for slightly broken code -
KT-62136Analysis API: Add concurrent tests forCleanableSoftValueCache -
KT-61222K2: Add lifecycle management forKtResolveExtension -
KT-65960Analysis API: Test infrastructure indexes binary libraries from decompiled files instead of stubs during IDE mode tests -
KT-65240K2: CodeGen API fails to resolve Annotation parameter type when it runs FIR2IR for a class with a parent class from other module if the parent class has an annotation from another module -
KT-65344K2: make FirScript statements (declarations) independent -
KT-65930AA: receiver type forInt?::foomisses nullability -
KT-65914AA: receiver type forthis::fooreturns return type of the target callable -
KT-62071Analysis API: KtFirScopeProvider.getScopeContextForPosition throws exception when ImplicitReceiverValue.implicitScope is null -
KT-65780K2: polish FileStructure implementation for FirFile -
KT-62840K2 Script: everything around destructuring declaration on top level of scripts are broken -
KT-64528K2 IDE: MPP: unregistered component 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter' -
KT-64921K2 IDE: references in platform code resolve to expect classifier instead of actual -
KT-61296K2: do not resolve the entire file on lazyResolve call if FirFile is passed -
KT-65683Analysis API: Dangling file session creation causes acomputeIfAbsentcontract violation -
KT-64884K2 IDE. FP [NAMED_PARAMETER_NOT_FOUND] for copy method of library data class when class has not parameter-properties -
KT-65763K2: value parameter from library data class copy have RAW_FIR phase -
KT-65665Analysis API: supportKtDelegatedSuperTypeEntryinKtFirExpressionInfoProvider.isUsedAsExpression -
KT-62899K2 IDE. IDE ignores@Suppressannotation for errors -
KT-65655Analysis API:KtCodeCompilationExceptionshould not strongly reference FIR sessions -
KT-62302Support PsiType -> KtType conversion -
KT-64604K2: IDE K2: "Modules are inconsistent during performance tests" -
KT-65345K2: unify FirDesignation and LLFirResolveTarget -
KT-61757K2 IDE: resolution to buitlins does not work for from common module -
KT-65268K2: Checking the presence of the delegated constructor call forces AST loading -
KT-63330Analysis API: Stub-based deserialized symbol providers provide unresolved enum entry annotation arguments -
KT-65418Analysis API:LLFirAbstractSessionFactoryloads anchor module sessions eagerly -
KT-64718Analysis API: do not expose SealedClassInheritorsProvider and FirRegularClass to IDE Plugin -
KT-65075K2: getContainingDeclaration() is broken for declarations inside code fragments -
KT-61332SupportKtTypeCodeFragmentinPsiRawFirBuilder -
KT-65150AA: incorrect result fromKtTypeProvider#getReceiverTypeForDoubleColonExpressionfor Java static method -
KT-56551LL FIR: implement parallel resolve for jumping phases -
KT-65223Psi: avoid KtFile usages -
KT-65307Analysis API FE10: support KtFe10AnalysisSessionProvider.getAnalysisSessionByUseSiteKtModule -
KT-62695K2 IDE: Unresolved extension functions in KDoc -
KT-65152Analysis API: KDoc references to packages are not fully resolved -
KT-64988K2 IDE: Navigation from the named argument in safe call does not work -
KT-63195AA: incorrect results fromKtTypeProvider#getReceiverTypeForDoubleColonExpression -
KT-64074K2: Investigate LL divergence for Script.testTopLevelPropertyInitialization -
KT-62441K2: IDE K2: "No dangling modifier found" -
KT-62895K2 IDE. FP'when' expression must be exhaustivewith sealed interface from library -
KT-64993Analysis API: KtExpressionTypeProvider.getExpectedType works incorrectly for arguments of safe calls -
KT-64883Allow direct creation of KtCommonFile -
KT-64646K2: properly forbid ast loading during raw fir phase in tests -
KT-64862Psi: missed parenthesis in type reference presentation -
KT-62893K2 IDE. FP 'when' expression must be exhaustive with Java sealed interface from library -
KT-63795K2:lazyResolveToPhase(BODY_RESOLVE)cannot be called from a transformer with a phase BODY_RESOLVE from SealedClassInheritorsProviderIdeImpl -
KT-64805Analysis API: introduce common entry point for multi-file test cases -
KT-64714K2: Analysis API: CollectionsKt.map doesn't resolves from Java in kotlin repo -
KT-64647K2: Allow to calculate decompiled inheritors for sealed classes in tests -
KT-64595AA: stackoverflow while simplifying a type with a recursive type parameter -
KT-64825Analysis API. Cannot compute containing PSI for unknown source kind 'org.jetbrains.kotlin.KtFakeSourceElementKind$DefaultAccessor' exception on getContainingSymbol call for default setter parameter -
KT-64080K2: Analysis API: On-air resolve does not trigger resolution of delegated super call arguments -
KT-64243K2: proper lazy resolution for fake overrides -
KT-62891K2 IDE. FP [EXPOSED_FUNCTION_RETURN_TYPE] on overriding library method which returns protected type -
KT-62667K2: Cannot find enclosing declaration for KtNameReferenceExpression (on-air, imports) -
KT-61890Analysis API: Migrate KtFirScopeProvider to ContextCollector instead of onAirResolve -
KT-64197K2: Code fragments are only supported in JVM -
KT-62357K2 IDE. False positive on generated component methods and false negative on getter of@JvmRecordclasses in Java -
KT-62892K2 IDE. Java outer class from other module is not resolved when nested class is accessed with fq name in a type position -
KT-62888K2 IDE. IDE infers reference toKMutablePropertyas reference to justKProperty -
KT-64584K2: StubBasedFirDeserializedSymbolProvider: support deserialization of delegated declarations -
KT-60324K2 IDE: "NoSuchElementException: List is empty at JavaOverrideChecker#buildErasure" -
KT-62896K2 IDE. FP ABSTRACT_MEMBER_NOT_IMPLEMENTED on inheriting class from library which implements interface by delegation -
KT-62947Analysis API: Error while resolving FirPropertyImpl -
KT-64468Analysis API: Implement mixed multi-module tests which support different kinds ofKtModules -
KT-56541Symbol Light Classes: No@NotNullannotations are generated for accessors of lateinit properties of unresolved types -
KT-63547K2 IDE. False Positive AMBIGUOUS_ANNOTATION_ARGUMENT -
KT-64205Analysis API: Do not import non-top-level callables by default -
KT-63056K2: Cannot mutate an immutable ImplicitReceiverValue on FirCodeFragment analysis -
KT-64108K2: KtFirSymbolDeclarationOverridesProvider shouldn't provide fake overrides -
KT-63752K2: java.lang.StackOverflowError FirFieldSymbol.getHasInitializer -
KT-63718Analysis API: Stub-based dependency symbol providers of library source sessions compute the wrong package name sets -
KT-64225K2: IDE K2: "FirLazyBlock should be calculated before accessing" in evaluate debuger completion -
KT-64186Analysis API: ContextCollector provides incorrect scopes for anonymous objects -
KT-63979K2 IDE: presentation of types in completion is too verbose -
KT-63681K2: LL FIR: Improve isResolved check coverage of after lazy resolution -
KT-62982K2: Cannot get a PSI element for 'Enum.values' -
KT-59732FirLazyResolveContractViolationException:lazyResolveToPhase(IMPORTS)cannot be called from a transformer with a phase IMPORTS from serialisation plugin -
KT-62676K2 IDE: Reference shortener does not recoginize redundant this references -
KT-63627K2 IDE: shorten reference shortens required qualifier -
KT-62675K2 IDE: Reference shortener does not recoginize redundant labels -
KT-60957K2: Analysis API: Reference shortener does not work correctly with invoke function calls on properties -
KT-63771fe10: KtNamedClassOrObjectSymbol#isInline does not cover value classes -
KT-60327K2 IDE. "IllegalArgumentException: source must not be null" during delegation declaration -
KT-62421K2: IDE K2: "lazyResolveToPhase(BODY_RESOLVE)cannot be called from a transformer with a phase BODY_RESOLVE." -
KT-62587K2 IDE. FP unresolved reference on accessing nested class in annotation argument -
KT-63700K2: "FirLazyExpression should be calculated before accessing" in the case of secondary constructor -
KT-61383K2: 'KtCompilerFacility' fails on code fragment compilation in library sources with duplicated dependencies -
KT-62111K2 IDE. IllegalArgumentException on for loop with iterator declaration attempt -
KT-63538Analysis API: Removing a contract statement viaPsiElement.delete()does not trigger an out-of-block modification -
KT-63694K1/K2 IDE. "RuntimeException: Broken stub format, most likely version of kotlin.FILE (kotlin.FILE) was not updated after serialization changes" exception on incorrect class name -
KT-63660K2: expect-actual gutter icons must be shown when declarations are matched but incompatible -
KT-63560Analysis API: Modifiable PSI tests cannot rely on the cached application environment to allow write access -
KT-62980ImplementKtFirSimpleNameReference#getImportAlias -
KT-63130Analysis API: No receiver found for broken code during commit document -
KT-62705K2: "lazyResolveToPhase(IMPORTS) cannot be called..." from light classes -
KT-60170K2 IDE: CCE from KtFirCallResolver on invalid code with wrong implicit invoke -
KT-61783K2: Analyze 'KtCodeFragment' in a separate session -
KT-62010K2: IDE K2: "ConeClassLikeTypeImpl is not resolved to symbol for on-error type" -
KT-62957Analysis API: NullPointerException on call resolution when builtins are not available -
KT-61252K2: IDE K2: "By now the annotations argument mapping should have been resolved" -
KT-62935Analysis API:kotlin.Cloneableshould not be available in Kotlin/Native sources -
KT-62910Analysis API: create AbstractFirPsiNativeDiagnosticsTest for LL FIR -
KT-63096K2: Analysis API: KotlinAnnotationsResolver for IDE is created with incorrect scope -
KT-62310K2 IDE. False positives errors with external annotations -
KT-63282K2 Script: annotation arguments phase should resolve propagated annotations -
KT-62397K2 IDE. FP Error in the editor onRequiresOptInannotation from the lib despite the warning level -
KT-63223Analysis API: reference to declarations with kotlin* package are not resolved -
KT-62626IllegalStateException: Cannot build symbol for class org.jetbrains.kotlin.psi.KtScriptInitializer -
KT-62693K2: IDE K2: "PSI should present for declaration built by Kotlin code" -
KT-62674K2: "Scope for type ConeClassLikeTypeImpl" is null from transitive dependencies -
KT-61889Analysis API: Migrate KtFirReferenceShortener to ContextCollector instead of FirResolveContextCollector -
KT-62772Analysis API: No 'org.jetbrains.kotlin.fir.java.FirSyntheticPropertiesStorage'(31) in array owner: LLFirSourcesSession when analysing builtins in a context of common code -
KT-60319K2 IDE: "Stability for initialized variable always should be computable" -
KT-62859K2 IDE: "Evaluate expression" throws exception when calling "Any?.toString()" -
KT-63058K2 IDE: Code completion unexpectedly imports static/companion object method -
KT-62588getExpectedType should not calculate type of the expression -
KT-61990K2: Unexpected returnTypeRef for FirSyntheticProperty -
KT-62625K2: 'FirLazyExpression should be calculated before accessing' for unresolved super type -
KT-62691K2: optimize getFirForNonKtFileElement for references inside 'where' -
KT-62834K2: missing file node level in control flow builder -
KT-62768Analysis API: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(44) in array owner: LLFirSourcesSession exception on analysing common code -
KT-62874K2: FirLazyExpression should be calculated before accessing -
KT-62407Analysis API: resolve[this]in KDoc to extension receiver -
KT-61204K2: "FirLazyExpression should be calculated before accessing in ktor HttpBinApplication" -
KT-61901Analysis API: Declared member scopes for Java classes are missing static members -
KT-61800Analysis API: Provide separate declared member scopes for non-static and static callables -
KT-61255Analysis API: Get rid ofvalueOf,valuesandentriesfrom a declared member scope -
KT-62466Expected type for functional expression should include inferred types -
KT-61203IDE K2: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirRegularClassImpl(Source) but FirArgumentListImpl found" -
KT-61791Analysis API: Implement combinedgetPackagefor combined Kotlin symbol providers -
KT-62437K2 IDE. Resolution does not work inside lambda expression in constructor argument in supertypes -
KT-62244K2: Analysis API Standalone: Resolving klib dependencies from binary roots terminates application -
KT-62897K2 IDE. Unresolved declarations from libraries which are doubled inintellijproject libraries -
KT-61615K2: No 'org.jetbrains.kotlin.fir.analysis.js.checkers.FirJsModuleKind' in array owner: LLFirSourcesSession -
KT-59334K2: LLFirImplicitTypesLazyResolver problems -
KT-62038K2: Nested classes are missing in symbol light class structure tests for libraries -
KT-61788Analysis API: Symbol forFirAnonymousInitializercannot be null -
KT-62139Analysis API: KtFe10AnalysisSession.createContextDependentCopy does not need validity check -
KT-62090Analysis API: introduce an API to get a substitution formed by class inheritance -
KT-62268K2 IDE. No autocompletion and IllegalStateException for Pair -
KT-60325K2 IDE. "IllegalArgumentException: source must not be null" onthrowusage attempt -
KT-61431K2: KtPropertyAccessorSymbolPointer pointer already disposed for $$result script property -
KT-58490K2: LLFirTypeLazyResolver problems -
KT-58494K2: LLFirAnnotationArgumentsLazyResolver problems -
KT-58492K2: LLFirBodyLazyResolver problems -
KT-58769K2: LL FIR: implement platform-dependent session factories -
KT-60343K2 IDE. IllegalArgumentException on passing incorrect type parameter to function -
KT-61842K2: reduce number of "in-block modification" events -
KT-62012K2: "KtReadActionConfinementLifetimeToken is inaccessible: Called outside analyse method" -
KT-61371K2: Analysis API standalone: register compiler symbol provider for libraries in standalone mode -
KT-60611K2: reduce number of "in-block modification" events -
KT-61425Analysis API: Provide a way to get a declared member scope for an enum entry's initializing anonymous object -
KT-61405Analysis API: An enum entry should not be aKtSymbolWithMembers -
KT-55504AA: remove dependency on :compiler:cli from standalone AA -
KT-60904K2: IDE K2: "For DESTRUCTURING_DECLARATION_ENTRY with text_, one of element types expected, but FirValueParameterSymbol found" -
KT-61260K2 Scripts: Containing function should be not null for KtParameter -
KT-61568FIR Analysis API:collectCallCandidatesgives presence to the top level functions in the presence of more suitable overrides -
KT-60610K2 IDE: move "out of block" processing logic into LL FIR -
KT-61597Analysis API: KotlinIllegalStateExceptionWithAttachments: expected as maximum oneexpectfor the actual on errorneous code with multiple expects -
KT-59793K2: class org.jetbrains.kotlin.fir.declarations.impl.FirErrorImportImpl cannot be cast to class org.jetbrains.kotlin.fir.declarations.FirResolvedImport -
KT-61599K2: ContextCollector: Support smart cast collection -
KT-61689Analysis API: ContextCollector provides incorrect context in scripts -
KT-61683Analysis API: resolve ambiguities in kotlin project -
KT-61245Analysis API: ContextCollector provides incorrect context for supertype constructor calls -
KT-60384K2: Opening@JvmNamesource in IDEA: NPE at PsiRawFirBuilder$Visitor.toFirConstructor() -
KT-60918K2 IDE: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtDestructuringDeclarationEntry, fir is null" -
KT-61013K2 Scripts: LLFirReturnTypeCalculatorWithJump: No designation of local declaration -
KT-59517K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent -
KT-61331K2: add cache restoring in case of existing context -
KT-61408K2: IDE K2: "Inconsistency in the cache. Someone without context put a null value in the cache"
Analysis. Light Classes
Performance Improvements
-
KT-63486SLC: a lot of RAM is allocated inorg.jetbrains.kotlin.asJava.LightClassUtil.isMangled
Fixes
-
KT-66692SLC:findAttributeValuefor attribute w/ default value in Java returnsnull -
KT-61734SLC: wildcard suppression not honored -
KT-65112Symbol Light Classes don't support annotations on type parameters -
KT-65843K2: Light method returnskotlin.Unittype forTestResultreturn type -
KT-65653SLC: wrong binary resolution to function with value class -
KT-65393SLC: missing deprecated-hidden property -
KT-64772SLC: presence of source PSI for compiler-generated declaration -
KT-65425K2 IDE: Seeing a reference to the class generated by compiler plugin exposed from Java code caused NPE from light classes -
KT-64937SLC: internal setters are not mangled -
KT-63949K2 IDE. Analyze hang on@Autowiredconstructor analysis -
KT-63087K2 IDE: in .java source reference to JvmName names on unsigned type / value class are unresolved -
KT-64605K2 IDE: usage of@Repeatableannotation in Java: false positive "Duplicate annotation" -
KT-64795SLC: distinguish last v.s. non-lastvarargvalue parameter type during binary resolution -
KT-61605K2 IDE: Light elements do not obey platform contracts -
KT-57536SLC: no need to populate members withexpectmodifier -
KT-64320Decouple kotlin psi from java PSI -
KT-64282Decouple KotlinIconProviderService from java PSI -
KT-63552Symbol Light Classes don't support arrayOf and similar without parameters in property initializers and default parameter values
Apple Ecosystem
-
KT-64096Diagnostic when embedAndSign used for framework with cocoapods-dependencies -
KT-63821Copy framework to BUILT_PRODUCTS_DIR in the embedAndSign task -
KT-67892KotlinNativeLink task instantiates with a fixed list of apiFiles -
KT-66446Diagnostic never showed, and build fails when CocoaPods dependency is used with embedAndSign task and linking type is dynamic -
KT-66445Diagnostic never showed when CocoaPods dependency is used with embedAndSign task and linking type is static -
KT-62373"Xcode higher than tested" diagnostic -
KT-63212podInstall task fails without a proper diagnostic when xcodeproj gem is outdated
Backend. Native. Debug
-
KT-65553K2: Native: kt42208WithPassingLambdaToAnotherFunction test fails with K2 -
KT-57365[Native] Incorrect debug info on inline function call site
Backend. Wasm
New Features
-
KT-65009Generate TypeScript definitions for the@JsExportdeclarations in K/Wasm -
KT-58088[PL] Support & enable partial linkage for Wasm -
KT-66327Include information about particular Wasm target into KLib manifest
Fixes
-
KT-66465WASM support doesn't appear to be able to see some common declarations -
KT-66905K/Wasm: support new version of exception handling proposal -
KT-66515Wasm: "call param types must match" during the build -
KT-67435K/Wasm: import.meta.url transforming into absolute local path in webpack -
KT-65777Implement named export for Kotlin/Wasm -
KT-65660[WasmJs] Support catching JS exceptions -
KT-65824Wasm: Allow unsigned primitives to be used inside functions annotated with@JsExport -
KT-66103Wasm: companion object is not initialized in test initializers1.kt -
KT-66471Null method reference with Kotlin/Wasm on 2.0.0-Beta4 -
KT-65210K/Wasm::classoperator produces Number KClass for Short expression -
KT-66065[Wasm] Make specialisations for closured primitive values -
KT-64890K/Wasm compiler crash with external class and Kodein -
KT-66104Wasm: compiler crash: NoSuchElementException: Sequence contains no element matching the predicate -
KT-65778Create the same TypeScript tests infrastructure for Kotlin/Wasm that we have now for Kotlin/JS -
KT-65411Kotlin/Wasm: Boolean boxed instances are not the same -
KT-65713Kotlin/Wasm generates a wrapper that cannot run in Deno -
KT-63939Kotlin/Wasm Support lazy associated object initialisation -
KT-61888[Kotlin/wasm] in kotlin.test support for@AfterTestfor async tests -
KT-64803K/Wasm: non-capturing lambdas are not singleton unlike same lambdas in jvm -
KT-64449K2: Implement K1WasmWasiCodegenBoxTestGenerated for K2 -
KT-64829K/Wasm: division remainder has a wrong sign -
KT-58852WASM: two methods with different varargs: Class korlibs.template.dynamic.DynamicShape has 2 methods with the same signature [register(kotlin.Array) -
KT-61263K/Wasm: add a way to turn on k2 in wasm examples using Compose -
KT-62863Execution failed for task ':kotlinx-serialization-properties:wasmJsD8Test' in serialization in the K2 QG -
KT-62657K/Wasm: switch to json repots for Kotlin Wasm Benchmarks -
KT-62147[Kotlin/Wasm] Nothing typed when expression cause a backend error -
KT-61958Update SpiderMonkey and return its usage in box tests when they switch to the final opcodes for GC and FTR proposals -
KT-60828K/Wasm: return br_on_cast_fail usages -
KT-59084WASM: "RuntimeError: illegal cast" caused by inline class and JsAny -
KT-60700[WASM] test FirWasmCodegenBoxTestGenerated.testSuspendUnitConversion failed after KT-60259
Compiler
New Features
-
KT-24664No smartcast on stable property if receiver had non-null assertion -
KT-45375Generate all Kotlin lambdas via invokedynamic + LambdaMetafactory by default -
KT-23915Add smart cast to non-nullable type after elvis operator -
KT-61077Support provideDelegate inference from var property type -
KT-59688K2: consider removing smartcasts only from the only visibile property with specific name, not from all of them -
KT-7389Intersection type for type parameter with multiple upper bounds in star projection -
KT-63477Consider supporting builder-style type inference from Unit coercion of last statements in lambdas -
KT-61907K2: builder inference works with assignments to member properties -
KT-61909K2: builder inference infers correct types from assignments to extension properties -
KT-59551K2: builder inference works with anonymous functions if builder parameter has a receiver with a postponed type variable -
KT-65443[K/N] Implement header caches -
KT-4113Smart casts for properties to not-null functional types atinvokecalls -
KT-65681K2: Improve error message of UPPER_BOUND_VIOLATED when upper bound is a captured type or other non-denotable type -
KT-32754Choose existing extensions over additional built-ins members from JDK except overrides -
KT-57800Support synthetic properties onsuperreceiver -
KT-64350K2: deprecate using typealias as a callable qualifier in imports -
KT-26565Choose existing extensions over additional built-ins members from JDK -
KT-65478JVM: Change inlined variable naming format -
KT-64702Upper bound of type parameter is ignored when capturing of in-projection appears in out position -
KT-60274K2: builder inference works through a delegated local variable inside builder argument -
KT-65859Calls refinement extension point -
KT-15220Reuse resolution results of common code for platform modules in multiplatform projects -
KT-60476K2: False positive NO_VALUE_FOR_PARAMETER in platform code for value class with default parameter in common declaration -
KT-65153K/N: extract liveness analysis to a separate phase -
KT-59098Support -Xjdk-release=1.6/1.7 with -jvm-target 1.8 -
KT-63670Implement platform specific declaration clash diagnostics across all backends -
KT-62547Introduce a language feature flag for smartcasts based on "memory" variables -
KT-60820K1: Empty vararg value is inserted in serialized annotation call with expect default vararg value -
KT-58172Forbidexpect class A actual constructor -
KT-54443Smart cast to non-null after safe-call in require -
KT-25747DFA variables: propagate smart cast results from local variables -
KT-22997Smart-cast should merge is-check for non-nullable type and a null check to a nullable type -
KT-22996Smart casts should observe nullability after is-check with a nullable subject type -
KT-22004Allow to resolve CONFLICTING_OVERLOADS with Deprecated(HIDDEN) -
KT-61955Support more wider actual member visibility, if the expect member is effectively final -
KT-59504K2 compiler does not require resolved 'componentX' functions for the placeholder ('_') variables in the destructuring declarations -
KT-62239Allow enum entries without parentheses uniformly -
KT-11712Smart cast is not applied for invisible setter
Performance Improvements
-
KT-47545NI: Slow type inference involving large when-expression (ConstraintInjector.processConstraints) -
KT-62714Do not add nullability annotations to the methods of inner classes in enum entries -
KT-62903Unoptimziedwhencompilation -
KT-67388FP intellij: performance degradation in build 611 -
KT-67507K2: Slow compilation times when a class has a lot of possibly conflicting declarations -
KT-65005K2: Investigate testCommonSuperTypeContravariant performance -
KT-65996Compiler enters endless loop -
KT-66341K2: Don't build IdSignatures in FIR2IR with IR f/o builder -
KT-66172K2: Improve memory consumption ofKtPsiSourceElement -
KT-50860Combination of array set convention and plusAssign works exponentially -
KT-62798'in' range checks are not intrinsified in kotlin-stdlib -
KT-65579K2: performance regression in FP Space -
KT-61635K2:getConstructorKeywordcall inPsiRawFirBuilder.toFirConstructorforces AST load -
KT-62619FIR: Checker performance regression due to MISSING_DEPENDENCY checkers -
KT-62044Do not add nullability annotations to the methods of anonymous class -
KT-62706Optimize KtSourceElement.findChild() -
KT-62513Do not add nullability annotations to the methods of local classes -
KT-61991K2: avoid redundant full body resolution for properties during implicit type phase -
KT-61604[K/N] Bitcode dependency linking is slow for large compilations -
KT-61121[K/N] Kotlin Native compiler performance is slow when generating large frameworks -
KT-57616K2: Consider optimizing reversed versions of persistent lists in FirTowerDataContext
Fixes
-
KT-67486K2: Calling method from a Java (implementing a Kotlin class) with named parameters is no longer possible if Java method has different parameter names -
KT-64615Inconsistent error messages for platform type nullability assertions -
KT-65062K2: build kotlinx.collections.immutable and pass to CI -
KT-68164Smart cast fails for KT-49404 -
KT-56545Fix incorrect functions mangling in JVM backend in case of accidental clashing overload in a Java subclass -
KT-49404Fix type unsoundness for contravariant captured type based on Java class -
KT-64598K2: build Arrow with k2 user project -
KT-61039False positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in K1 when expect actual super types scopes don't match -
KT-56408Inconsistent rules of CFA in class initialization block between K1 and K2 -
KT-63580"AssertionError: access of const val: GET_FIELD" caused by const value and variable with delegation -
KT-67993K2: PCLA Inference throws exception with local objects -
KT-61768Wrong bytecode index in LineNumberTable when there is an incremental operation -
KT-63567"NoSuchMethodError" on getting value of lazily initialized property by companion's const value -
KT-56078K2: build kotlinx.coroutines -
KT-67609K2: False negative INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERROR -
KT-57750Report ambiguity error when resolving types and having the same-named classes star imported -
KT-65603K2: No approximation is done on public, but effectively private property -
KT-59932K2: Disappeared AMBIGUOUS_ANONYMOUS_TYPE_INFERRED -
KT-59906K2: Disappeared CAPTURED_VAL_INITIALIZATION -
KT-53886NoSuchMethodError exception in Kotlin/Native compiler -
KT-57678K2: Inconsistency in how K2 analyzes unresolved code for loops and changing closures -
KT-57871K1/K2 inconsistency on if-conditional without else-branch in parenthesis -
KT-56384K2: build IntelliJ monorepo master branch -
KT-49191Leaked integer literals from lambda with flexible return type -
KT-65812K2: "OutOfMemoryError: Java heap space" in kotlin.utils.SmartList.add -
KT-67224K2/Native: Member overrides different '@Throws' filter from separate module -
KT-65623K2: Unresolved reference in connection with casts -
KT-64136K2: NSME with Anvil compiler plugin -
KT-51241Provide a error when override method has different set of context receivers -
KT-52920Confusing "Multiple arguments applicable for context receiver" error message -
KT-67912K2: Cannot inference type properly from inline function with Type parameter -
KT-68056Prohibit referencing java field in case of conflict with property from companion object of the derived class -
KT-61129K2: Implement error suppression warning -
KT-67367K2: Incorrect resolution to top-level function with less specific signature in presence of SAM constructor on the same tower level -
KT-50179Fix DUPLICATE_LABEL_IN_WHEN warning with new rules of complex boolean constants -
KT-45334Prohibit referencing constructors of sealed classes by its inner members -
KT-59943K2: Disappeared OPERATOR_MODIFIER_REQUIRED -
KT-67875K2: Resolution ambiguity between Iterable and varargs -
KT-67699Not enough information to infer type argument for 'Error' using Arrow's Raise context receiver since Kotlin 2.0.0-Beta3 -
KT-66527K2: type mismatch on override for type -
KT-59897K2: Disappeared PACKAGE_OR_CLASSIFIER_REDECLARATION -
KT-50020K2: False-negative USAGE_IS_NOT_INLINEABLE when lambda in receiver position -
KT-44557Implement main function detection to FIR -
KT-67810K2: public-API inline function cannot access non-public-API annotation enum -
KT-66447Implement KT-59138 under a language feature -
KT-54862Anonymous type can be exposed from private inline function from type argument -
KT-37592Property invoke of a functional type with receiver is preferred over extension function invoke -
KT-51194False negative CONFLICTING_INHERITED_MEMBERS when dependency class contained in two different versions of the same dependency -
KT-67221K2: "new inference error [NewConstraintError at Incorporate TypeVariable" for captured type -
KT-66701K2: Java interface method override via Kotlin class rejected -
KT-60604K2: introduced NON_PUBLIC_CALL_FROM_PUBLIC_INLINE,@PublishedApineeded for constants in annotations -
KT-64309Generate a variable mapping for continuation parameter in suspend methods just from the start -
KT-65438K2: Introduce WEAKLY_HIDDEN concept to built-in-JDK content mapping -
KT-65235JDK 21 might lead to change in overloads resolution -
KT-66768K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast call -
KT-67106Platforms libs-dependant autotests for ObjC checkers -
KT-65440K2: Mark all potential implementations of List.getFirst()/getLast() as deprecated independently of JDK -
KT-65594K2: Type inference fails on NullMarked object with star type -
KT-62849Unoptimised bytecode for Java synthetic property references -
KT-60174JVM IR inline: accidental reification in various cases -
KT-57609K2: Stop relying on the presence of@UnsafeVarianceusing for contravariant parameters -
KT-54316Out-of-call reference to companion object's member has invalid signature -
KT-66976Some value class diagnostics are missed -
KT-57426Incorrect error message on inapplicable smartcast from alien property -
KT-55111OptIn: forbid constructor calls with default arguments under marker -
KT-49856Incorrect smartcast on var assigned in try-catch block -
KT-41237ReturnsImplies contract for receiver of member function does not work (no smartcast) -
KT-37878No Smart cast for class literal reference of nullable generic type -
KT-35846Smart cast with unchecked cast leads to unresolved call that was resolved before (both old and new inference) -
KT-30867Unsound smartcast if smartcast source and break is placed in for-in header as function arguments -
KT-30267Inconsistent smart casts in while (true) -
KT-33917Prohibit to expose anonymous types from private inline functions -
KT-28889Smart cast does not work with booleanandinfix function -
KT-54790False positive NO_ELSE_IN_WHEN when all interfaces are sealed -
KT-54920K2:whenwith a single branch stops being exhaustive the second time it's done -
KT-53364False positive UNUSED_VARIABLE warning for variable that is used across multiple blocks -
KT-43234False positive INVALID_IF_AS_EXPRESSION caused byifwithoutelseinsideelseinside synchronized() -
KT-38490False negative INVALID_IF_AS_EXPRESSION with unreachable code and coercion to Unit -
KT-35510No INVALID_IF_AS_EXPRESSION ("'if' must have both main and 'else' branches if used as an expression") diagnostic for if-expression with only one branch and Nothing type condition -
KT-34016Contracts - variable cannot be initialized before declaration -
KT-33829False positive SENSELESS_COMPARISON with assignment in catch block -
KT-30717False positive UNUSED_VARIABLE with local var used in inline lambda block with loop, return and other lambda -
KT-28232RETURN_NOT_ALLOWED in inline lambda argument of '[... ]' operator convention -
KT-26116No error when class member val is referenced in inline function before it is assigned later on -
KT-25311Calls on error type values lead to false-positive unreachable code -
KT-24372Misleading warning on unused setter parameter in some cases -
KT-23680False positive UNREACHABLE_CODE onthrowwith areturninsidefinallyclause -
KT-23502When exhaustiveness is not checked for unreachable code, resulting in JVM back-end error -
KT-22621"throw throw Exception()": False negative UNREACHABLE_CODE warning -
KT-22317No INITIALIZATION_BEFORE_DECLARATION without primary constructor -
KT-67307K2: "Cannot find cached type parameter by FIR symbol" in JpaRepository.saveAll -
KT-67185K2: Incorrect coercion-to-Unit leading to CCE at runtime -
KT-64891K2: consider supporting/forbidding foo.(bar)() syntax -
KT-59480K2: build moko-resources -
KT-65771K2: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" when calling method imported using typealias as callable qualifier -
KT-67502K2: "property must be initialized or be abstract" with try-finally in secondary constructor -
KT-67456K2: "property must be initialized or be abstract" depending on constructor declaration order -
KT-63524K2: "Not enough information to infer type argument" -
KT-67628K2: "IllegalArgumentException: Expected nullable type" — alias of nullable type analyzed as non-nullable in type parameter -
KT-67625K2: Array aliases can't be used as vararg values -
KT-67624K2: False negative "The feature "break continue in inline lambdas" is experimental and should be enabled explicitly" in elvis operator -
KT-61787K2 doesn't report warnings for some Gradle tasks -
KT-62550K2: Different JVM signature of lambda withUnitreturn type -
KT-65120K2 Consider turn into platform checkers ones which checks for objC -
KT-60271K2: origins are not set on compare operators -
KT-28695Compiler does not detect uninitialized property in lambda -
KT-67593K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERS -
KT-67484K2: FIR2IR generates incorrect access to f/o of lateinit internal var -
KT-47382JVM / IR: "AssertionError: Unbound private symbol IrFieldSymbolImpl" caused by string template in constructor and extension property -
KT-67581K2: Compiler fails on actualizing abstract class with sealed Java class via type alias -
KT-22379Condition of while-loop with break can produce unsound smartcast -
KT-67021K2: Cannot find cached type parameter by FIR symbol: E of the owner: FirRegularClassSymbol Function -
KT-67014K1/K2 handle when expression as annotation target differently -
KT-67254K1/K2 both allow annotations on loops, assignments, array sets -
KT-66960K2. KMP. False negative'when' expression must be exhaustivewithout sealed class inheritor from common source-set -
KT-65578K2: implement a deprecation warning for KT-57014 (wrong nullability returned from JDK SAM constructor lambda) -
KT-63466@NonNullon a type-variable usage doesn't take precedence over a wildcard type argument -
KT-56134K2: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER diagnostic is reported for the wrong symbol -
KT-66196Convert INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERROR to warning -
KT-66793K2: "assigning single elements to varargs in named form is prohibited." caused by varargs supplied from java with elvis operator -
KT-59872K2: Disappeared TYPE_MISMATCH -
KT-67192K2: Disappeared TYPE_MISMATCH [3] -
KT-63319K1/K2: inconsistent behavior around NullMarked and type parameter based types -
KT-59882K2: Disappeared CANNOT_INFER_PARAMETER_TYPE -
KT-67191K2: Disappeared TYPE_MISMATCH [4] -
KT-53752Missed subtyping check for an intersection type -
KT-52628Deprecate SAM constructor usages which require OptIn without annotation -
KT-54066Deprecate upper bound violation in typealias constructors -
KT-64860K2: Consider using different ConstraintPosition when fixing variables for PCLA -
KT-67189K2: Disappeared TYPE_MISMATCH [5] -
KT-67551K2: No wrong annotation target error forforstatement -
KT-67374K2: Object is not smartcasted to type parameter type -
KT-67264K2: "argument type mismatch" with suspend lambda and java wildcard -
KT-63257K2: FIR2IR inserts incorrect implicit cast for smartcasted variable -
KT-66902K2: "Named arguments are prohibited for non-Kotlin functions" with Java interop -
KT-67311K2: "Argument type mismatch" caused by lambda type when using named arguments -
KT-57011Make real type of a destructuring variable consistent with explicit type when specified -
KT-62043K2: Fix FirCompileKotlinAgainstCustomBinariesTest.testRawTypes -
KT-66256K2: compiler FIR2IR crash on SAM-conversion to value parameter of in-projected type -
KT-67124"Unstable inference behaviour with multiple generic lambdas" compilation error -
KT-59791K2: Implement partially constrained lambda analysis -
KT-66743Lambda receivers and anonymous function parameters of inaccessible types are allowed -
KT-67315K2: Some default imports are not excluded -
KT-56126Avoid using descriptors at JvmPlatformAnalyzerServices::computePlatformSpecificDefaultImports -
KT-66513K2: Suppressing OPT_IN_USAGE_ERROR is now a warning in K2, preventing safe code gen compatible with -Werror -
KT-67233False negative UNSAFE_CALL with type check after null coalescing with 'OR' -
KT-52802Report ambiguity resolving between property/field and enum entry -
KT-64920Json.encodeToString yields different results depending on whether typealias is used -
KT-58260Make invoke convention work consistently with expected desugaring -
KT-67314PCLA works inconsistently with smart-cast related CS forks -
KT-66797K2 JS: Primary constructor property annotation with target VALUE_PARAMETER is put on property instead of parameter -
KT-55179False negative PRIVATE_CLASS_MEMBER_FROM_INLINE on calling private class companion object member from internal inline function -
KT-54663Projected types don't take into account in-place not null types -
KT-58191K2: capturing closures successors that are already resolved (thanks to backward edges) must be taken into account for allowing smart casts -
KT-67144K2: potential NPE when assigning to unstable vars -
KT-66971K2: missing SMARTCAST_IMPOSSIBLE on open val declared in another module -
KT-66904K2: possible NPE when reassigning captured variables -
KT-57031operator assignment, increment/decrement should be considered as variable reassigning in terms of DFA. green in K1 -> red in K2 for unsound code -
KT-67212K2: "Failed to find functional supertype for class org.jetbrains.kotlin.fir.types.ConeCapturedType" -
KT-67283K2: No SAM conversion for fun interface with abstract toString -
KT-67318Compiler fails with OutOfMemoryError on combination of PCLA+smart cast -
KT-66956K2: false negative CONST_VAL_WITH_NON_CONST_INITIALIZER for inc/dec operators -
KT-64233K2: K1/K2: ensure JVM ABI consistency for quality gates projects -
KT-63535K2: Apply DFA implications for nullable Nothing to both sides -
KT-63413K2 / kotlinx-atomicfu: "IllegalStateException: Expected some types" -
KT-62931K2: extra class files for@OptionalExpectationmarked annotations -
KT-34307Confusing error message on lambda return type mismatch -
KT-62151K2. overload resolution ambiguity for calls of Java record compact constructors -
KT-60732K2 Scripting: TeamCity DSL test -
KT-59467K2: build toolbox-enterprise -
KT-67205K2: can't deserialize annotation with local class as argument -
KT-52175K2: WRONG_ANNOTATION_TARGET for annotation that used inside if -
KT-65449K2: build KAPT user project and pass it to CI -
KT-61384IrFakeOverrideBuilder incorrectly checks visibility for friend modules -
KT-67142K2: IrFakeOverrideBuilder: AbstractMethodError on raw type argument in a Java superclass -
KT-65105K2 / Native: Member overrides different '@Throws' filter -
KT-62570IncompatibleClassChangeError due to overriding final method -
KT-57812K2: support serialization of type annotation's arguments -
KT-67190K2: Disappeared TYPE_MISMATCH [2] -
KT-56683K2: No control flow analysis for top-level properties -
KT-67188K2: Disappeared TYPE_MISMATCH [6] -
KT-62063K2: drop pre-release flag in 2.0-RC -
KT-67187K2: Disappeared TYPE_MISMATCH [1] -
KT-66909K2: Implement a diagnostic for returning null from a lambda with expected return type Unit! -
KT-66534False positive ASSIGNMENT_TYPE_MISMATCH in lambdas with expected return type Unit! -
KT-63381IrFakeOverrideBuilder: PublishedApi affects overridability of internal members -
KT-63836K2: No deprecation error message in common metadata compilation -
KT-57618K2: complex deprecation messages are not printed in the error -
KT-59856K2: Check ConeDiagnostics that are not mapped to KtDiagnostics -
KT-57502K2: Smart casts should be forbidden if variable that remembers the smart cast is declared by delegation -
KT-63967K2: Missing getterSignature in metadata for script variables -
KT-59372K2: Missing SELF_CALL_IN_NESTED_OBJECT_CONSTRUCTOR_ERROR -
KT-60526K2: Fix the TODO inconvertToIr.kt -
KT-67090K2: Exception from metadata compilation when compiling class with annotations from dependencies -
KT-59479K2: build KorGE -
KT-64502K2: Internal error on calling function before declaration -
KT-62560K2: KAPT4: annotation@ReplaceWithis missing a default value for the element 'imports' -
KT-67027K2: Review all use-sites of annotation arguments utilities -
KT-65012IR Evaluator:NoSuchFieldExceptionwhen evaluating protected/private fields of superclasses -
KT-66953K2: toByte() call on Char leads to ClassCastException for klib backends -
KT-60096K2: Introduced API_NOT_AVAILABLE -
KT-59484K2: build trustwallet sample -
KT-64151K2: consider implementing FIR-level constant evaluation -
KT-65787K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType" caused by passing lambda expression with multiple labels to function -
KT-53629K2: forbid multiple labels per statement -
KT-65255K2 / KJS: "IllegalArgumentException: Candidate is not successful, but system has no contradiction" -
KT-65195K2: Unexpected exception when executing dynamic array element inc/dec -
KT-63416K2 / Contracts: False positive "Leaked in-place lambda" warning caused by suspend lambda with callsInPlace contract -
KT-66717Incorrect diagnostics around intersection property overrides -
KT-63540Restrict the CONFLICTING_OVERLOADS + DeprecatedLevel.HIDDEN ignore to final callables -
KT-56587There are no warnings in some cases when Enum.entries is shadowed -
KT-65111K2: Java star imports don't work in KJK interdependencies -
KT-63709K2: Argument smartcasting impacting receiver and call resolution for implicit invoke -
KT-63530K2: Disable passing data flow info from in-place lambdas -
KT-65377K2: "Argument type mismatch" caused by approximated captured type argument of generic type -
KT-59400K2: Missing CANNOT_INFER_VISIBILITY -
KT-62305K2: Missing Fir metadata serialization support for scripts -
KT-64534K2: org.jetbrains.kotlin.util.FileAnalysisException: Somewhere in file -
KT-57555[LC] Forbid deferred initialization of open properties with backing field -
KT-65776[LC] K2 breaksfalse && ...andfalse || ... -
KT-64641K2: Change in inference of supertype of function types with receiver -
KT-65649K2: IR has incorrect origins for some inplace updating operators -
KT-64295Forbid recursive resolve in case of potential ambiguity on upper tower level -
KT-62866K2: Change qualifier resolution behavior when companion object is preferred against static scope -
KT-55446Change impact of private-to-this visibility to resolution -
KT-64255Forbid accessing internal setter from a derived class in another module -
KT-64966Forbid generic delegating constructor calls with wrong type for generic parameter -
KT-63389K2:WRONG_ANNOTATION_TARGETis reported on incompatible annotations of a type wrapped into()? -
KT-66748K2: False-positive AMBIGUOUS_SUPER in toString -
KT-67013K2: ClassCastException: class FirConstructorSymbol cannot be cast to class FirNamedFunctionSymbol -
KT-64872K2: do-while condition able to access uninitialized variable -
KT-66350K2: "IllegalStateException: Unsupported compile-time value STRING_CONCATENATION" when evaluating an annotation argument string -
KT-61798K2 incorrectly calculates modality of property accessors -
KT-65035IrFakeOverrideBuilder: AbstractMethodError on inheritance from Java subclass of CharSequence with inherited implementations -
KT-61579K2: Inconsistent reportingUNINITIALIZED_VARIABLEfor top-level properties -
KT-66730K2: False positive RETURN_TYPE_MISMATCH in return statement in SAM constructor -
KT-66570Generic wildcard upper bound inference error -
KT-65272K2: invoke operator applies "restricted suspending call" error differently than K1 -
KT-66148K2. Sources of receivers updated twice because of PCLA -
KT-62525K2: IllegalStateException: Can't find KotlinType in IrErrorType: IrErrorType(null) -
KT-64266K2: don't report MISSING_DEPENDENCY_CLASS on lambda parameter for non-generic types -
KT-65300K2: this-expressions in initializers and local declarations don't introduce type information to either BI or PCLA -
KT-66463K2: false positive ACCIDENTAL_OVERRIDE_CLASH_BY_JVM_SIGNATURE -
KT-62356Prohibit using property+invoke for iterator -
KT-63631K2: constant value UByte.MAX_VALUE is incorrectly deserialized from metadata -
KT-65386K2: Different signature of invoke for Unit lambda -
KT-60574K2: generated IR forsuspendCoroutineUninterceptedOrReturnis different from K1 (K2 uses Any? instead of Unit) -
KT-66512K2: Incorrect diagnostic in lambda whose expected type is a type alias to Unit -
KT-66279K2: False positive INITIALIZER_TYPE_MISMATCH withreturn Unitin a lambda with the expected type() -> Unit -
KT-66277K2: False negative RETURN_TYPE_MISMATCH with empty return in lambda assigned to a property -
KT-66654K2 FIR resolution: Mismatch between actual type and expected type for a value parameter when the parameter type is a function type with special function kind -
KT-66638Cannot access properties of a generic type with wildcards -
KT-66690K2: don't report MISSING_DEPENDENCY_CLASS on expression without errors for generic type arguments -
KT-66767K2: Destructuring declaration inside initializer failure -
KT-63695JVM: Don't use plugin extensions when compiling code fragment -
KT-65727K2: add proper package for properties generated from destructuring declarations -
KT-64854K2: Trying to access private field on runtime with contracts -
KT-65388IrFakeOverrideBuilder - custom annotation is available in fake getter/setter -
KT-66595K2: compiler FIR checking crash on destructuring declarations calling hidden componentN declarations -
KT-62129K2: Verification error on calling an extension from an env with 2+ context receivers -
KT-41607NI: UNSAFE_CALL caused by try catch block assigning to a nullable variable -
KT-63932K2/Native codegen test failures around builder inference -
KT-66352K2: difference between LL FIR and FIR for componentN functions -
KT-66686K2 Script: Unresolved reference of script-specific entities on out-of-order resolve -
KT-65523K2: add proper package for result$$ property -
KT-66699Restore HostManager ABI -
KT-60533Inliner incorrectly captures non-null value as null in coroutines -
KT-57925K2: Consider removing FirEmptyContractDescription -
KT-61893K2: should not resolve to Java function with Kotlin hidden-level deprecation -
KT-59669K2: Explore assignments in in-place lambdas -
KT-66271Fir: Deserialize classFile, functionFile and propertyFile from KlibMetadataProtoBuf -
KT-57957K2: Symbol providers are frequently queried with error-named class IDs -
KT-66046K2: false negative CANNOT_WEAKEN_ACCESS_PRIVILEGE on property -
KT-66677K2: OVERRIDE_DEPRECATION isn't reported for WEAKLY_HIDDEN method toArray() -
KT-62793K2: slightly different bytecode of suspend conversions -
KT-57244K2: slightly different naming scheme for suspend conversion adapters -
KT-60256K2: types are not substituted in suspend conversion -
KT-66673K2/JS: FirJsInheritanceClassChecker doesn't expand type aliases to supertypes -
KT-66475K2/KMP/Wasm: report WRONG_JS_INTEROP_TYPE from a platform checker -
KT-66474K2/KMP/JS: report EXTERNAL_TYPE_EXTENDS_NON_EXTERNAL_TYPE from a platform checker -
KT-66473K2/Wasm: FirWasmExternalInheritanceChecker doesn't expand type aliases -
KT-64407Implement WriteSignatureTestGenerated for K2 -
KT-64438K2: Port CodegenTestCase to K2 -
KT-64404Implement WriteFlagsTestGenerated for K2 -
KT-66491K2 / KJS: "Name contains illegal characters." caused by backticks in import -
KT-66275K2: false-positive "Java module does not depend on module" error on access to inherited member from twice-transitive dependency via class from transitive dependency -
KT-65801IrFakeOverrideBuilder - visibility is lost for setter in KJK hierarchy -
KT-65576K2: Incorrect resolution of variable+invoke when the property type is not computed -
KT-58575Private Kotlin property prevents use of Java get- and set-methods from Java-Kotlin-Java hierarchy -
KT-61282K2: Incorrect overridden function forjava.nio.CharBuffer.get -
KT-65464K2: False positive UNRESOLVED_REFERENCE on extension property call defined in KJK hierarchy -
KT-59470K2: build KaMPKit -
KT-60510Smartcast to functional type does not work in when exprssion -
KT-59677K2: Report diagnostics about missing receiver for delegated constructor call to inner class -
KT-65183K2: Remove workaround for@OnlyInputTypesand captured types with recursive supertypes from inference -
KT-66120IrFakeOverrideBuilder: wrong return type in intersection with 3 classes -
KT-65939IrFakeOverrideBuilder - nullability annotation is lost in intersection without annotation -
KT-59473K2: build firebase-kotlin-sdk -
KT-66356K2: type mismatch error when generic type with inaccessible generic type as type argument is produced and consumed by declarations from dependencies -
KT-65193K2: "JAVA_TYPE_MISMATCH" caused by MutableList -
KT-66636NoSuchMethodError: 'void org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl. in the FLysto K2 QG -
KT-63941K2: "IllegalStateException: Unsupported compile-time value STRING_CONCATENATION" caused by class reference in string expression as annotation parameter -
KT-65704K2:computeCommonSuperTypeof flexible type with recursive captured type argument produces giant multi-level-deep type -
KT-65410K2: ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED for 'removeAt' in KJK hierarchy -
KT-65184K2: disappeared TYPE_MISMATCH for java collections -
KT-66392K2: Exception in KJK hierarchy with implicit types -
KT-66551Revert temporary commits after KT-62063 and bootstrapping -
KT-65218FIR LL and DiagnosticFE10 tests start to fail in case of adding any new declaration into stdlib commonMain -
KT-66552K2: build of intellij crashes the compiler -
KT-63746K2: JSpecify: If a class has a@Nullabletype-parameter bound, Kotlin should still treat unbounded wildcards like platform types -
KT-66504K2: plusAssign operator call is resolved differently than function call -
KT-48515JSpecify: If a class has a@Nullabletype-parameter bound, Kotlin should still treat unbounded wildcards like platform types -
KT-57588K2/Native: False positive '"CONFLICTING_OVERLOADS", "PARAMETER_NAME_CHANGED_ON_OVERRIDE" on overriding objc methods -
KT-58892K2: Parcelize doesn't work in common code when expect annotation is actualized with typealias to@Parcelize -
KT-65882K2: "KotlinNothingValueException" caused by unsafe cast and Nothing::class -
KT-66124K2: Remove FirLambdaArgumentExpression and FirNamedArgumentExpression after resolution -
KT-65959K2: Incorrect warnings about inline function impact -
KT-64994K2:@Composablelambda type is not resolved from other modules -
KT-66048K2: property becomes nullable in KJK hierarchy if base declaration has implicit return type -
KT-47843No error reported on assigning "continue" to a companion object -
KT-47530NI: Unexpected TYPE_MISMATCH when combining nested conditional and contravariant type argument -
KT-49583NI: NullPointerException on compiling anonymous function returning a method reference -
KT-42782NI: Smart casting for generic type doesn't work if the variable is already smart cast -
KT-38031FIR: Discrepancy in call resolution for qualifiers with old FE -
KT-65789K1/K2: Resolve change in constructor/top-level function ambiguity -
KT-66150K2: expects type argument in super qualifier -
KT-60971Incorrect "cannot inline bytecode built with JVM target ..." on property setter if only getter is inline -
KT-61514K2: Build fake overrides using IR during Fir2IR -
KT-65584K2: "Duplicate parameter name in a function type" -
KT-50008JSpecify@Nullableannotation on type-parameter bound prevents type-variable usages from being platform types -
KT-37000IndexOutOfBoundsException from TypeResolver on typealias with cyclic references -
KT-56988CFG, smart casts: red in K1 -> green in K2 for invalid code -
KT-62118FIR: "HashMap.entry" has invalid enhanced type -
KT-64840K2: Bare type are not allowed for TV based values during PCLA -
KT-65415K2: Stdlib K2 build error: IrConstructorSymbolImpl is already bound -
KT-66449Make DiagnosticSuppressor a project-level extension -
KT-66411FIR: Real source on fake block around assignment expression in the "when" branch affects resolve in K2 Analysis API and IDE -
KT-65249K2: False positive modality is different for native compilation -
KT-65982K2 Scripts cannot disambiguate declarations imported from default and explicit imports -
KT-65677K2: Unable to resolve parent class from companion object -
KT-47310Change qualifier resolution behavior when companion property is preferred against enum entry -
KT-41034K2: Change evaluation semantics for combination of safe calls and convention operators -
KT-63529K2: Compiler does not detect tailrec call with nullable type -
KT-66441Remove symbol table from IR fake override builder in Fir2Ir -
KT-64846K2: false negative CONFLICTING_JVM_DECLARATIONS on inheritance from Java collection subclass with a conflicting override -
KT-62312[K2/N] revert putting stdlib to the beginning of libraries list in the compiler -
KT-58203K2: false-negative incompatible types error on is-check with unrelated type -
KT-65722K2: Property reference refers to non-existent functions -
KT-65878K2: "ClassCastException" when passing nun-suspend lambda to SAM constructor with named argument -
KT-66379K2: No extra message in UPPER_BOUND_VIOLATED for cases with CapturedType -
KT-59475K2: build nowinandroid -
KT-65926K2: add tests for all fixed-in-k2 / not-reproducible-in-k2 unresolved issues -
KT-59481K2: build aws-sdk-kotlin + smithy-kotlin -
KT-65022K2: Compiler crashes when array literal is used in delegate expression -
KT-62836K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource -
KT-64727K1: Closing bracket of object inside crossinline lambda or inside lambda in inline function is not hit on step-over -
KT-64726K1: Cannot stop on closing bracket of crossinline lambda inside of another crossinline lambda -
KT-64725K1: Cannot stop on closing bracket of lambda of inline-only function -
KT-66272Could not load module with a combination of type parameters -
KT-66243Could not load module in a builder inference with lambda with typed parameter -
KT-66229Could not load module in a builder inference with Map.Entry -
KT-66313K2: declaration-order-dependent false-positive "recursive problem in type checker" error ongetXdeclaration with implicit return type that callsxdeclaration via intermediate declaration ingetX's expression body -
KT-61041K2: Consider getting rid of confusing shouldRunCompletion and shouldAvoidFullCompletion function in FirInferenceSession -
KT-66267K2: generic function's type parameter is erased if present as type argument in type of callable reference to member of generic function's local class -
KT-61448K2: Disappeared DEPRECATION in testWithModifiedMockJdk -
KT-60106K2: Introduced REIFIED_TYPE_FORBIDDEN_SUBSTITUTION -
KT-58279K2. False-negativeSmart cast to is impossible, because is a public API property declared in different modulefor Java static field -
KT-61626K2: Module "com.soywiz.korlibs.kmem:kmem" has a reference to symbol korlibs.memory/Buffer|null[1] -
KT-57427Fix inconsistencies in name manglers that use different declaration representations -
KT-66258K2: accessor-targeted@Suppressannotation is ignored on primary constructor property -
KT-29559Smart Cast functionality doesn't behave in an expected way in all cases -
KT-60777K2: missing INLINE_FROM_HIGHER_PLATFORM -
KT-66260K2: false-positive "abstract function in non-abstract class" error on abstract member function of open interface -
KT-66067K2: different overrides are created in a complex hierarchy with raw types and upper-bounded type parameters -
KT-65821K2: [NONE_APPLICABLE] None of the following functions is applicable: [constructor(message: String?): Throwable, constructor(cause: Throwable?): Throwable, constructor(): Throwable, ...] -
KT-66268K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl -
KT-63563K2: False negative RETURN_TYPE_MISMATCH with empty return -
KT-60797K2: implement JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE -
KT-28159Smartcasts don't work with Nothing? values (Nothing? considered a null constant => an unstable value) -
KT-28262Smartcasts for reference equality don't work if explicit true check is used -
KT-66000K2: inherited inline getter has not been inlined -
KT-66158K2: not nullable return type for upper-bounded kotlin type parameter in KJK hierarchy -
KT-57268K2: extra methodsremoveand/orgetOrDefaultare generated for Map subclasses with JDK 1.6 in dependencies -
KT-63577K2: false-positive "wrong number of type arguments" error on callable reference to member of generic function's local class -
KT-62352jspecify NonNull annotation seems not supported -
KT-65636PowerAssert: Negative contains operator not aligned correctly in K2 -
KT-64271K2: Wrong overriddenSymbols for toString of data class -
KT-62779K2: Difference in fake override generation -
KT-61941K2: FIR2IR incorrectly generates f/o structure for complex java/kotlin hierarchies with remapped jvm declarations -
KT-60283K2: fake override for java static method is not generated -
KT-65095K2: no bridge generated for getOrDefault when inheriting from Java Map implementation -
KT-57301K2:getOrDefaultand bridges are not generated for certain Map subclasses -
KT-50916K2: store resolved type inside ConeStubType after builder inference -
KT-65857K2: java.lang.IllegalArgumentException: Unknown visibility: unknown -
KT-66174-Xjdk-release 6 and 7 have a misleading error message -
KT-66175Wrong supported options list for -jvm-target compiler option -
KT-58814Too eager subtype inference in when expression -
KT-65408K1: "There are still 2 unbound symbols after generation of IR module" caused by data object'scopyfunction usage -
KT-65844False Positive "This class can only be used as an annotation or as an argument to@OptIn" when passing as an array -
KT-58697K2: Tests: Assert no dump files exist when dump directive isn't present -
KT-63258NPE with function reference from within lambda during init -
KT-60597K1: IllegalArgumentException: fromIndex(0) > toIndex(-1) when wrapping receiver with backticks -
KT-33108USELESS_CAST false positive for cast inside lambda -
KT-58458K1: "java.lang.NullPointerException" with 'var equals' or 'val equals' as argument in when -
KT-58447K1: "AssertionError: Recursion detected on input" with@ParameterNameand extension -
KT-41013OVERLOAD_RESOLUTION_AMBIGUITY for functions takes lambda: can not resolve it, but only named lambda parameter -
KT-56032[LC issue] Incorrect wrapping when passing java vararg method to inline function -
KT-65588K2: typealias of primitive type in vararg causes ABI incompatibility -
KT-23873Indexed access operator can cause false USELESS_CAST warning -
KT-31191Contract not smartcasting for extension functions in if-statement with multiple conditions -
KT-28725ReenteringLazyValueComputationException during resolution & inference -
KT-35429ReenteringLazyValueComputationException when accessing property with same name -
KT-63826K2: expect for expect crashes the compiler -
KT-25668False-positive error on restricted suspending function call with callable reference -
KT-18055SMARTCAST_IMPOSSIBLE on mutable data class variable with a read-only property -
KT-15904Improve error message when type of generic extension call is inferred from receiver -
KT-66186K1 diagnostics miss some reporting messages -
KT-65101Generics behaving different when parenthesized -
KT-63444TYPE_MISMATCH caused by Inner class with nullable type and star projection -
KT-62022K1 False positive EXPOSED_FUNCTION_RETURN_TYPE on generics with anonymous object types -
KT-58751Definitely non-nullable type gets lost with star projection -
KT-56624"Unresolved reference" with import alias and enum constructor call -
KT-54726K1: StackOverflowError on mutually recursive typealiases -
KT-35134False negative INCOMPATIBLE_TYPES, EQUALITY_NOT_APPLICABLE when comparing smartcast value to Boolean -
KT-20617Qualified this@propertydoes not work in extension properties with body expression -
KT-10879OVERLOAD_RESOLUTION_AMBIGUITY for synthetic property accessor with smartcasted receiver -
KT-26768K1 IDE: False positive "Smart cast to 'CLASS' is impossible", on local variable in run closure -
KT-63525K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by unreachable code -
KT-65333K2: UNRESOLVED_REFERENCE for java inner class in intersection scope -
KT-61060K2: Rewrite delegate inference -
KT-63712Make it possible to add new stdlib API with SinceKotlin(2.0) -
KT-63741K2: fix visibility inference with overridden + inherited member -
KT-64488K2: False positive DEPRECATED_ACCESS_TO_ENTRY_PROPERTY_FROM_ENUM with context receivers -
KT-62283K2: build Dokka with K2 user project and pass it to CI -
KT-57585K2/MPP: false-negative errors on expect/actual modifiers mismatch -
KT-66077IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKinds -
KT-57044K2 LL Tests: false-positive 'Overload resolution ambiguity between candidates: [@Override() fun test(): Unit , fun test(): Unit]' -
KT-66020K2: ISE "IrPropertySymbolImpl is unbound. Signature: null" on a property with getter with@JvmName -
KT-62135K2, KLIB: Classes are still sorted before serializing them to metadata -
KT-65866[K/N] Fix java.lang.IllegalArgumentException: Unknown visibility: unknown -
KT-66005K2: "Should not be here: class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedReifiedParameterReferenceImpl" on incorrect comparison of reified type parameter -
KT-65840[K2] Initializer type mismatch: expected 'Type', actual 'Type' -
KT-65002K2: Incorrect suspend conversion if argument is an aliased functional type -
KT-65984K2 scripting: failure on processing SUPPRESS annotation in the last script statement -
KT-65680K2: Class redeclaration leads to BackendException during IR fake override builder -
KT-66028K2: Convert FirExpectActualDeclarationChecker to platform checker -
KT-65592K2: IrFakeOverrideBuilder: ISE "should not be called" on diamond hierarchy with explicit dependency on annotations.jar -
KT-65277IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKinds -
KT-65983K2 gradle scripting: "'val' cannot be reassigned" errors -
KT-60452K2 Scripting: implement overriding of the script params -
KT-65975K2: Implicit receivers resolution order in K2 scripting -
KT-60249K2: No unit coercion generated for loops body -
KT-65937K2: order of enum entries changed -
KT-65933K2: Type missmatch in arrays in annotations -
KT-65343JVM IR: Source parameter is lost when copying with DeepCopyIrTreeWithSymbols -
KT-65103K2: IllegalArgumentException: IrErrorCallExpressionImpl(5388, 5392, "Unresolved reference: R?C|/cont|") found but error code is not allowed -
KT-62788K2: difference in annotation inheritance in overriddings -
KT-65669K2: ClassCastException class FirDeclarationStatusImpl cannot be cast to class FirResolvedDeclarationStatus -
KT-65493IrFakeOverrideBuilder: difference in return type for intersection with raw type -
KT-65207IrFakeOverrideBuilder - nullable return type for intersection override -
KT-65972Fix problems related to Unknown visibility in [FP] intellij -
KT-65246K2: Overiding java method that takes vararg parameter causes WRONG_NULLABILITY_FOR_JAVA_OVERRIDE warning -
KT-59883K2: Disappeared INVALID_IF_AS_EXPRESSION -
KT-57300K2: subclass of MutableCollection with primitive element type has methods with boxed type -
KT-58476Context receivers: "No mapping for symbol: VALUE_PARAMETER" with context-receiver inside suspended lambda calling another suspended function -
KT-52213Context receivers: "No mapping for symbol: VALUE_PARAMETER" caused by contextual suspending function type with receiver -
KT-13650Right-hand side of a safe assignment is not always evaluated, which can fool smart-casts -
KT-61823K2: Render list of declarations in diagnostic messages with linebreak as separator -
KT-65302IrFakeOverrideBuilder - missing@EnhancedNullability -
KT-65241K2: [LT] Compiler crash on assignment expression with incorrect lvalue -
KT-60006K2: Disappeared EXPRESSION_EXPECTED -
KT-65817K2: Check if callable reference vararg adaption can be affected by primitive type aliases -
KT-62847K2: Introduce FIR node for SAM conversion -
KT-65920K2: no field for delegation is created -
KT-65487K2: Different fake overrides and false positive NOTHING_TO_OVERRIDE for intersection/override with Collection.remove -
KT-65460Don't compare order of functions in IR dump -
KT-64276[K/N][K2] K2 behaviorial difference with inconsistent inheritance of ObjCName -
KT-65572[K/N][K2] INCOMPATIBLE_OBJC_NAME_OVERRIDE error message changed from K1 -
KT-63420Prevent weakening visibility in implicit overrides -
KT-64635K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirAnonymousFunctionExpressionImpl' to be resolved" when provideDelegate is extension of function with receiver -
KT-63879K2: Redundant flagdeclaresDefaultValuefor parameter of function inherited from delegate -
KT-56744Prepare language committee ticket about DFA/Smart-cast related changes in K2 -
KT-65790K2: Move check for private-to-this visibility into checker -
KT-65551K2: Property redeclaration on native compilation leads to NotImplementedError -
KT-65770K2: Diagnostic rendering ofvararg Fooparameter producesvararg Array<Foo> -
KT-65555K2: must override 'spliterator' because it inherits multiple implementations for it -
KT-59921K2: Disappeared NULL_FOR_NONNULL_TYPE -
KT-65290K2: No override for FUN DEFAULT_PROPERTY_ACCESSOR -
KT-19446False positive "Smart cast to 'Foo' is impossible" due to same variable names in different closures -
KT-65337K2: False positive UNRESOLVED_REFERENCE when lambda labeled by illegal label and operator-invoked -
KT-65448K2: fake overrides are not generated for 'containsAll', 'removeAll', 'retainAll' if inherited from raw type -
KT-65298K2: not nullable return type and parameter for raw types -
KT-63377K2: conflict between type parameter and nested class -
KT-63286K2: Top-level properties in scripts are missing initialization checks -
KT-59744K2: false negative VAL_REASSIGNMENT in case of reassignment inside custom setter -
KT-58579K2: false-positive new inference error on invoking a generic function on Java wildcard type bounded by raw-typed Java inner class -
KT-60258Support java-kotlin interop for@SubclassOptInRequired -
KT-60262Support for inter-module interaction for@SubclassOptInRequired -
KT-62878K2: missing implicit coercion to unit -
KT-59715K2: Check behaviour of property + operator in operator position -
KT-63441IrFakeOverrideBuilder: "accidental override" when implementing a Java function taking an array parameter -
KT-65706K2: IrFakeOverrideBuilder: ISE "Fake override should have at least one overridden descriptor" on J-K-J-K hierarchy with interface delegation -
KT-61362K2: Properties/fields are missing from system libraries -
KT-63344K2: False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED -
KT-58845K2: SAM checker can run incorrectly in presence of an expect supertype -
KT-61843K2: Missing TYPE_MISMATCH for nested array literals -
KT-62752expect-actual matcher/checker: return type must be "checking" incompatibility -
KT-59887K2: Disappeared ACTUAL_MISSING -
KT-65604K2: INAPPLICABLE_JVM_NAME: effective modality -
KT-65637Prepare documentation for PCLA implementation -
KT-65341K2: "Cannot find cached type parameter by FIR symbol" caused by not-null assertion operator inside string in throw -
KT-49283Support contribution type info from a nested builder inference call -
KT-64077K2: Builder inference ignores constraints from nested builder inference -
KT-49160Couldn't infer a type argument through several builder inference calls broken by a local class -
KT-63827K2: Array += desugaring doesn't have origin -
KT-65057K2: Wrong type inferred in code with heavy use of generics -
KT-63514ISE “Inline class types should have the same representation: [I != I” during compilation on submitting UIntArray to vararg -
KT-61088K2: return types of non-last-expression calls to@PolymorphicSignaturemethods inside try-expressions don't resolve to void when required -
KT-62476K2: Enable building fake overrides by ir on non-JVM targets -
KT-59839Prohibitheaderandimplin MPP -
KT-61310K2: "Not enough information to infer type variable R" for transformLatest -
KT-63733Builder-style type inference can't resolve to extension overloads when they're more applicable than member ones -
KT-57707K1: inconsistent TYPE_MISMATCH in builder inference -
KT-55057Builder inference changes behaviour sporadically based on BI annotation on unrelated call -
KT-60663Builder inference does not work inside a nested unrelated builder inference lambda -
KT-53639TYPE_MISMATCH: compiler can't infer the list's type when usingbuildList {}builder orCollection#isNotEmpty -
KT-60291K2: "IllegalStateException: Cannot serialize error type: ERROR CLASS: Cannot infer argument for type parameter T" during FIR serialization -
KT-65033K2: Fir2LazyIr: Lazy type aliases not supported -
KT-57709Inconsistent extension function call resolution in builder inference -
KT-53740Builder inference with multiple lambdas leads to unsound type -
KT-60877Builder inference from the null literal results in Nothing instead of Nothing? for producing positions of the postponed type variable -
KT-53553Builder inference: inconsistent types in different lambda scopes -
KT-54400K2: builder inference does not work with assignments of literals to member properties -
KT-63840Builder inference fails on calls to identity-shaped functions with postponed type variables inside select-constructions -
KT-65262K2: Exception in DFA for combination of try-finally + PCLA + DI -
KT-58169K2: make equals bounded smart casts work the same as in K1 -
KT-64967K2: false positive TYPE_MISMATCH with generic type parameters -
KT-64102K2: Missing (disappeared in this case) DELEGATE_USES_EXTENSION_PROPERTY_TYPE_PARAMETER_ERROR -
KT-63988K2: Reflection cannot find type of local class of local class -
KT-63901K2: Different naming of inner class in metadata -
KT-63655K2: incorrect short class name in metadata for anonymous object inside a local class -
KT-59664Inline modifier can be added to a constructor parameter, but it does not have any effect -
KT-59418K2: Missing DUPLICATE_PARAMETER_NAME_IN_FUNCTION_TYPE -
KT-63612K2: Class is not abstract and does not implement abstract member -
KT-63737Wasm: revise external declaration FE checker for WASI mode -
KT-59782K2: Forbid local delegated properties with private accessors in public inline functions -
KT-65482K2: NoSuchFieldError due to using unboxed type -
KT-61182Unit conversion is accidentally allowed to be used for expressions on variables + invoke resolution -
KT-62998Forbid assignment of a nullable to a not-null Java field as a selector of unsafe assignment -
KT-63208K2: Implement deprecation cycle and fix missing errors for error-level nullable arguments of warning-level Java types -
KT-57600Forbid overriding of Java method with raw-typed parameter with generic typed parameter -
KT-63147K2: False negative DSL_SCOPE_VIOLATION when member is annotated with@LowPriorityInOverloadResolution -
KT-62134K2: handle non-simple types during FirStatusResolver.isPrivateToThis check -
KT-42020Psi2ir: IllegalStateException: "IrSimpleFunctionPublicSymbolImpl for public [...] is already bound" on generic function whose substitution leads to IdSignature clash -
KT-59012K2: Support inferring types based on self upper bounds -
KT-65373K2: there is a crash in KJK hierarchy with an extension member property -
KT-65456K1: ISE "Property has no getter" with -Xsam-conversions=class when Java SAM interface contains a field -
KT-62884K2: different signature of delegate object for generic extension property -
KT-60581K2 fails with New inference error for assertThat under strange circumstances -
KT-59630K2: Implement running FIR Blackbox tests on different JDKs -
KT-64944Can't assign null after early return smart cast with typed destructive assignment -
KT-64910K2: AA FIR: KtCall's argument mapping misses SAM conversion argument -
KT-65165K2: "ClassCastException: class java.lang.String cannot be cast to class SampleClass" -
KT-64982K2: false negative FUNCTION_CALL_EXPECTED -
KT-65318K2: Substitution stackoverflow on jspecify@NullMarkedsuperclass -
KT-65010Kotlin/Native: code generation for a static field is failing -
KT-57299K2: VerifyError due to overriding final methodsizeon a subclass of Collection and Set -
KT-64706K2: Type inference cannot resolve nullable@Composablelambda -
KT-65058K2: Protected function call from public-API inline function is prohibited in anonymous object -
KT-65316K2: False positive USAGE_IS_NOT_INLINABLE for expression labeled with illegal label -
KT-60958K2: smart cast does not work with definite return from if block -
KT-63151K2: Assignment within function lambda should invalidate contract DFA implications -
KT-63351K2. No smart cast with not-null assertion operator after a safe call -
KT-65324atomicfu-plugin: top-level delegated properties cause NPE -
KT-60246K2: origin is not set for getting array element operator -
KT-64387K2: Missing POSTFIX_INC/DEC origin for array element inc/dec -
KT-61891K2: POSTFIX_{INCR|DECR} of global misses an origin -
KT-65019K2: unexpected exception when executing inc/dec in finally block on WASM -
KT-64392Factor out KLIB serialization logic from thebackend.nativemodule -
KT-65270K2: Missing ACTUAL_WITHOUT_EXPECT when expect is fake-override -
KT-60367K2: Support EXPECT_AND_ACTUAL_IN_THE_SAME_MODULE diagnostics -
KT-62704Absent testrunner FirLightTreeDiagnosticTestSpecGenerated -
KT-65044K2 compiler crash on unresolved delegated extention receiver -
KT-65021K2: Missing error and miscompilation in destructuring declaration delegation -
KT-63899K2: Vararg parameter misses annotation in metadata -
KT-60175JVM IR inline: accidental reification of typeOf type argument -
KT-65336K2: Space build fails -
KT-59683K2: Add control flow graph to FirScript -
KT-63434K2. False positiveCannot accesswith protected nested classifiers references inside anonymous object inherited from containing class -
KT-64222K2: "return type is not a subtype of the return type of the overridden member" -
KT-64314K2: Rename FirConstExpression to FirLiteralExpression -
KT-64975FIR: Deserialize enum entry annotation arguments from binary libraries with lookup tags instead of symbols -
KT-63646K2: "IllegalStateException: Return type of provideDelegate is expected to be one of the type variables of a candidate, but D was found" -
KT-65024K2: kotlin.NotImplementedError: An operation is not implemented in the K2 QGs -
KT-63994K2: Investigate K2 failures in IntelliJ-Rust plugin -
KT-64268K2: Data-flow from nested lambda not passed to outer lambda -
KT-59729K2: Investigate CFG buildings for inner lambdas in case of double-lambda builder inference -
KT-63042K2: proper processing of propagated annotations -
KT-64841K2: argument type mismatch with type parameter with recursive bound -
KT-62554K2: incorrect "inherits multiple implementations" error when base Java method takes a parameter of primitive wrapper type -
KT-65093K2: Super constructor call able to access uninitialized object fields -
KT-56489K2 allows reading uninitialized variable in object declaration -
KT-59987K2: Disappeared REIFIED_TYPE_FORBIDDEN_SUBSTITUTION -
KT-36786Smartcast doesn't work in case of property infix call -
KT-65027K2: java.lang.NoSuchMethodError: void org.jetbrains.kotlin.name.CallableId in the K2 QG -
KT-65056IrFakeOverrideBuilder: ISE "No override for FUN" on package-private Java method in K-J-K hierarchy -
KT-63414K2 / Contracts: false positive "Result has wrong invocation kind" when invoking a function returning a value with contract InvocationKind.EXACTLY_ONCE and try/finally -
KT-64809K2: Remove the LINK_VIA_SIGNATURES flag from FIR2IR configuration -
KT-62045IrFakeOverrideBuilder: incorrectly merged fake overrides for Java methods accepting wrapper Double and primitive double -
KT-57640[K2/N] Investigate behaviour for intersection overrides for properties that have incompatible types -
KT-59371K2: Missing MISSING_DEPENDENCY_CLASS -
KT-59682K2: Use proper source for vararg arguments -
KT-64261K2 / WASM: Extension function with star projection throws "RuntimeError: unreachable" -
KT-64257K2 QG: kotlin.NotImplementedError: Generation of stubs for class org.jetbrains.kotlin.ir.symbols.impl.IrTypeParameterPublicSymbolImpl is not supported yet -
KT-64844[K/N] Filecheck testredundant_safepoints.ktfails under linux_x64 -
KT-64877K2: PCLA doesn't allow infer types from value parameter having TV type -
KT-63794K2: False positiveNONE_APPLICABLEonThrows::class -
KT-63781K2: Generated blocks appear in the IR -
KT-63779K2: Regression for locations of 'if' statements -
KT-63624K2: incompatible declaration because of different visibility -
KT-64400K2: allow to use simple boolean expressions as constants -
KT-65050K2: IllegalStateException: Captured type for incorporation shouldn't escape from incorporation: CapturedType(out org/jetbrains/plugins/gitlab/mergerequest/api/dto/GitLabMergeRequestShortRestDTO) -
KT-59972K2: Disappeared EXPRESSION_EXPECTED_PACKAGE_FOUND -
KT-63256K2: NOT_IDENTITY operator call is illegal in contract description -
KT-61717K1: Unsound green code with self upper bounds and captured types -
KT-64871IrFakeOverrideBuilder: ISE "no override for " on HashMap subclass -
KT-58739K2: RewriteCallableId.classIdto be thread-safe -
KT-64979K2: Missing REDUNDANT_TYPE_PARCELER when using type alias -
KT-60019K2: Introduced PARCELER_TYPE_INCOMPATIBLE -
KT-60682K2: Disappeared DEPRECATION -
KT-62500K2: origin=GET_PROPERTY is wrongly set to GET_FIELD of backing field inside property's own getter -
KT-64743K2: Non-expanded type serialized in metadata -
KT-64405K2: Implement CompileJavaAgainstKotlinTestGenerated for K2 -
KT-57094K1: wrong type inferred for an instance of a local class inside a generic property -
KT-62069K2: ASSIGNMENT_TYPE_MISMATCH is reported in addition to NO_ELSE_IN_WHEN -
KT-62776FirLazyResolveContractViolationException: "lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase TYPES" on Java annotation usage -
KT-47313Change (V)::foo reference resolution when V has a companion -
KT-64837K2: NPE in fir2ir when generic transitive dependency class is missing -
KT-60260K2: Implicit coercion to unit is not generated in adapted function reference -
KT-60858Remove redundantcreateDeprecatedAnnotationnecessary to workaround kotlinx-serialization compilation with native -
KT-64432Unbound symbol access in Fir2Ir fake override builder -
KT-64466K2: Delegated method annotations are not copied in IR -
KT-63589K1: Unsound type inference for unbound callable reference to star-projected class's generic mutable property -
KT-56141K2: Consider removing skipping diagnostics for DelegatedPropertyConstraintPosition -
KT-60056K2: Introduced UNRESOLVED_REFERENCE -
KT-61032K2: False positive “Unused variable” for function callable reference -
KT-64832K2: False positive "Unused variable" checker report on suspend functional types, on overloaded functional types and on custom invoke operator types -
KT-64771Investigate subtle FIR_DUMP difference for reversed order analysis -
KT-62584K2: different signature in subclass of local class declared in extension value getter -
KT-63806Native / KJS / Wasm: "NullPointerException: accept(...) must not be null" -
KT-59938K2: Disappeared AMBIGUOUS_ACTUALS -
KT-43713callsInPlace InvocationKind.EXACTLY_ONCE causes CAPTURED_VAL_INITIALIZATION in constructor -
KT-64645K2: Missing smartcast caused by typealias that expands to nullable type in upper bound -
KT-64501K2: False-positive WRONG_INVOCATION_KIND when using default arguments -
KT-63962K2: "java.lang.IllegalStateException: !" -
KT-63644K2: Create special IR symbols for fake-overrides in fir2ir in mode with IR f/o generator -
KT-63638K2: Compiler crashes with "Inline class types should have the same representation" -
KT-36220NI: false positive NON_APPLICABLE_CALL_FOR_BUILDER_INFERENCE if one use cannot resolve -
KT-64121K2: Actual modifier is missed onoverride fun toString()fro value class in native -
KT-63703K2: Eliminate call to Candidate.usesSAM and samResolver.getFunctionTypeForPossibleSamType in AbstractConeCallConflictResolver.toTypeWithConversion -
KT-61443K2: Return typeId -1 during JS compilation -
KT-64090K2: false-positive new inference error on invoking from another module a generic function on Java list type with wildcard type argument bounded by raw-typed Java inner class -
KT-64044K2: Java mapped method should have a source from Java method, not from mapped Kotlin source class -
KT-39137Smartcast to wrong nullability with generic type parameter upper bound -
KT-46674ClassCastException with smartcast ifplusoperator returns a different type -
KT-64625[FIR] Infinite recursion inTypeUnificationKt.doUnify()building subset of native stdlib -
KT-59369K2: Missing BUILDER_INFERENCE_STUB_RECEIVER -
KT-62590Split expect/actual matcher-checker machinery in two separate components: matcher and checker -
KT-63732K1: False positive OUTER_CLASS_ARGUMENTS_REQUIRED inside anonymous object -
KT-64644K2: Compiler crash in FirTypeParameterBoundsChecker -
KT-64312K2: FirPropertySymbol.hasBackingField() always returns true for properties from other modules -
KT-64420K2: Wrong module descriptor for builtin classes -
KT-64127K2: incorrect resolution of inherited members on Java classes inheriting classes from different packages in the presence of identically named classes in the same packages -
KT-63446IrFakeOverrideBuilder: AbstractMethodError due to missing bridge for generic method in a Java superclass -
KT-63867K2: Smartcast is allowed inside changing lambda with cycles -
KT-64609K2: INAPPLICABLE_TARGET_PROPERTY_IMMUTABLE diagnostic is missed for primary constructor properties -
KT-63777K2: Smartcast is allowed inside changing lambda with bounds -
KT-64059K2: CYCLIC_INHERITANCE_HIERARCHY while using nested annotation in an outer class declaration -
KT-63528K2: Missing UNNECESSARY_SAFE_CALL for warning level annotated java declarations -
KT-64607K2: extension functions on UInt and Number lead to JVM ClassCastException -
KT-63761K2: False positive "Unresolved reference" caused by object's parameter in enum class which is passed as annotation parameter -
KT-62816K2: Annotation use site targets printing could be improved in diagnostics' messages -
KT-62815K2: FIR renderings leak through some diagnostics' message -
KT-35289Confusing warning message "Duplicate label in when" -
KT-49084Contracts: error message is unclear -
KT-63228K2: Upper bound violation diagnostic renders compiler internals about SourceAttribute -
KT-62386K2: Proofread quotes in diagnostic messages -
KT-64081K2: Incorrect smartcast candidate calculation in MemberScopeTowerLevel -
KT-32420Confusing error message "Contracts are allowed only for top-level functions" whencontractblock is not first expression -
KT-61937K2: implicit script receiver from ScriptDefinition are not visible for invoke -
KT-58767Inheritance opt-in enforcement via@SubclassOptInRequiredcan be avoided with type aliases -
KT-59818K2: Explore the TODO about suspend functions overridden in Java in FirHelpers -
KT-63233K2 : false negativeClass is not abstract and does not implement abstract memberwith abstract suspend function -
KT-59344K2: implement deprecation warnings from KT-53153 -
KT-63379K2. Argument type mismatch on creating functional interface instance with function literal as an argument withintype projection -
KT-64308K2: prefer call with Unit conversion at lower level to one without Unit conversion at upper level -
KT-64307K2: prefer function with default arguments at lower level to one without them at upper level during callable reference resolve -
KT-64306K2: prefer SAM at lower level to a functional type at upper level -
KT-64341Kotlin/JVM: Missing line number generation for intrinsic comparisons -
KT-64238Add proper documentation to theIdeCodegenSettingsclass -
KT-63667K2/KMP: exception when expect property matched to java field -
KT-59915K2: Disappeared TOO_MANY_ARGUMENTS -
KT-57755K2/JVM: Fix computing a "signature" mangled name for themainfunction -
KT-63645K2: Replace special f/o symbols with normal ones after actualization -
KT-63076K2: change in behavior for synthetic properties in Kotlin-Java hierarchy -
KT-63723Frontend manglers improperly handle error type -
KT-56491K2: Fix reporting AMBIGUOUS_ANONYMOUS_TYPE_INFERRED if anonymous object is leaked in type argument -
KT-63738K2: Some declarations are missing in the hierarchy of overridden symbols -
KT-62242K2: Uniformly treat enum entries as anonymous objects -
KT-62281K2: build DuckDuckGo Android user project and pass it to CI -
KT-60266K2: origin is not set for FOR_LOOP_ITERATOR -
KT-59875K2: Disappeared UNRESOLVED_REFERENCE_WRONG_RECEIVER -
KT-62394K2: Synthetic property scope doesn't consider java classes in the hierarchy -
KT-62715K2: Missing WASM_IMPORT_EXPORT_UNSUPPORTED_PARAMETER_TYPE -
KT-62723K2: Missing WASM_IMPORT_ON_NON_EXTERNAL_DECLARATION -
KT-62722K2: Missing NESTED_WASM_IMPORT -
KT-62721K2: Missing WASM_EXPORT_ON_EXTERNAL_DECLARATION -
KT-62720K2: Missing JS_AND_WASM_EXPORTS_ON_SAME_DECLARATION -
KT-62719K2: Missing NESTED_WASM_EXPORT -
KT-62718K2: Missing WASM_IMPORT_EXPORT_UNSUPPORTED_RETURN_TYPE -
KT-62717K2: Missing WASM_IMPORT_EXPORT_PARAMETER_DEFAULT_VALUE -
KT-62716K2: Missing WASM_IMPORT_EXPORT_VARARG_PARAMETER -
KT-60225K2: compiler FIR symbol resolution crash on a call to an extension function whose receiver contains a type parameter with a recursive upper bound -
KT-60090K2: Introduced DEPRECATED_PARCELER -
KT-59949K2: Disappeared DEPRECATED_PARCELER -
KT-64045K2: "Expect declaration * is incompatible with actual" when function parameter names are different -
KT-62018K2: prohibit suspend-marked anonymous function declarations in statement positions -
KT-63973K2: "NoSuchElementException: Array is empty" with vararg used within tail recursive function -
KT-61792KMP: Backend error on@Deprecatedusage with DeprecationLevel.HIDDEN in K2 -
KT-57788Fix computing mangled names of types with@EnhancedNullabilityfrom IR-based declaration descriptors -
KT-63249K2: change in annotation resolve when ambiguous -
KT-62553K2: AddtopLevelClassifierPackageNamesto symbol name providers -
KT-64148K2: class cast exception org.jetbrains.kotlin.fir.types.ConeStarProjection -
KT-63665K2: "NullPointerException" caused by class with the companion object and extra curly brace -
KT-62736K2: Disappeared NESTED_JS_EXPORT -
KT-62347Prohibit using property+invoke convention for delegated properties -
KT-59421K2: Missing CONTEXT_RECEIVERS_WITH_BACKING_FIELD -
KT-59903K2: Disappeared DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE -
KT-54997Forbid implicit non-public-API accesses from public-API inline function -
KT-34372Report missed error for virtual inline method in enum classes -
KT-62926K2: IR has missing receivers during expect-actual matching -
KT-62565K2 cannot infer type parameters in case of expected functional type -
KT-63328K2: Top-level properties in scripts can be used while uninitialized -
KT-62120K2: "NoSuchMethodError: java.lang.String" at runtime on class delegating to Java type -
KT-36876Smartcast doesn't work when class has property available through the invoke -
KT-63835K2: metadata compilation with constants is falling for Native -
KT-60251K2: delegated method are delegating to different methods in hierarchy compared to K1 -
KT-63574K2: "IllegalStateException: IrFieldPublicSymbolImpl for java.nio/ByteOrder.LITTLE_ENDIAN" -
KT-61068Bounds of type parameters are not enforced during inheritance of inner classes with generic outer classes -
KT-60504K2: difference between LL FIR and FIR in enhanced return type with annotation -
KT-64147K2: Generate FIR diagnostics with explicit types -
KT-62961K2 / KMP: NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS with expect enum class and typealias -
KT-53749Support builder inference restriction in FIR -
KT-59390K2: Missing BUILDER_INFERENCE_MULTI_LAMBDA_RESTRICTION -
KT-61065K2:@Suppressannotation is ignored inside preconditions of when-clauses -
KT-59368K2: Missing SUBTYPING_BETWEEN_CONTEXT_RECEIVERS -
KT-64083K2: "KotlinIllegalArgumentExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirJavaTypeRef" -
KT-37308No smart cast when the null check is performed on a child property through a function with a contract -
KT-62589K2: Investigate need of non-nullable IdSignature in Fir2IrLazyDeclarations -
KT-59894K2: Disappeared ANNOTATION_ARGUMENT_MUST_BE_CONST -
KT-63329K2: difference in SAM-conversion casts generation -
KT-64062K2 IDE. NPE on typing nullable parameter in return -
KT-61427K2/MPP/JS does not report Expecting a top level declaration and FIR2IR crashes -
KT-64031K2: Revise naming in FirBuilderInferenceSession -
KT-55252Backend Internal error during psi2ir in native compile tasks (NPE in getKlibModuleOrigin) -
KT-50453Improve builder inference diagnostics with type mismatch due to chosen inapplicable overload -
KT-56949K2: Builder inference violates upper bound -
KT-63648K2: values of postponed type variable don't introduce type constraints in extension receiver positions during builder-style type inference -
KT-64028K2: Investigate questionable condition in FirBuilderInfernceSession -
KT-60031K2: Introduced NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS -
KT-55809K2: Support pre-release checks for klibs -
KT-59881K2: Disappeared UNSUPPORTED -
KT-63448K2: CONFLICTING_INHERITED_JVM_DECLARATIONS with@JvmField -
KT-63705False positive UNSAFE_IMPLICIT_INVOKE_CALL after explicit null check of the constructor val property -
KT-63865K2: "IllegalArgumentException: Failed requirement." caused by lambda parameters with different type in init block -
KT-62036KMP: consider prohibitingactual fake-overridewhen the correspondingexpect classhas default arguments -
KT-62609K2. Type argument inference changed for object of Java class with several common parents -
KT-30369Smartcasts from safe call + null check don't work if explicit true/false check is used -
KT-30376Smartcasts don't propagate to the original variable when use not-null assertion or cast expression -
KT-30868Unsound smartcast if smartcast source and break is placed inside square brackets (indexing expression) -
KT-31053Nothing? type check isn't equivalent to null check is some places -
KT-29935Smartcasts don't work if explicit annotated true/false check is used -
KT-30903Smartcast to null doesn't affect computing of exhaustiveness -
KT-63564K/Wasm: CompilationException with 2.0.0-Beta1 -
KT-63345K2: FIR2IR chooses an incorrect type for smartcast in case of SAM conversion -
KT-63848ReflectiveAccessLowering does not count arguments of super-calls -
KT-62544K2: IllegalAccessError when functional type argument is inferred to package-private type -
KT-61920K2: False negative CONST_VAL_WITH_NON_CONST_INITIALIZER when initializer is Java field -
KT-63649K2: Wild card in superclass confuses EXPANSIVE_INHERITANCE checker -
KT-63569K2: "IllegalStateException: ?!id:1" caused by private function call -
KT-63842K2: some arguments of annotations on local declarations are unresolved -
KT-63832K2: missed context during annotation argument resolution for a type alias, init and property receiver -
KT-62559KMP, K2: prevent reporting ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT twice in CLI -
KT-24652Elvis with 'break' can produce unsound smartcasts in while-true loop -
KT-28508Possible unsound smartcast in class initializer -
KT-28759No not-null smartcast from direct assignment if it's split into declaration and value assignment -
KT-28760No not-null smartcast from direct assignment ofthis -
KT-29878Smartcasts from type check or null check don't work if explicit true check as reference equality is used -
KT-29936Smartcasts don't work if comparing with return value of some function and explicit true/false check is used -
KT-30317Smartcast doesn't work if smartcast source is used as an operand of the reference equality -
KT-63071K2 supports calling functions with the dynamic receiver overNothing? -
KT-59896K2: Disappeared WRONG_ANNOTATION_TARGET -
KT-56849Implement K/Wasm K1 diagnostics in K2 -
KT-31636Expect-actual matching doesn't work for inner/nested classes with explicit constructor using typealiases -
KT-63361K2: Expected FirResolvedTypeRef for return type of FirDefaultPropertyGetter(SubstitutionOverride(DeclarationSite)) but FirImplicitTypeRefImplWithoutSource found -
KT-62913Convert DEFAULT_ARGUMENTS_IN_EXPECT_ACTUALIZED_BY_FAKE_OVERRIDE to checking incompatibility -
KT-63550K2: fake-override in expect covariant override in actual. Move diagnostics from backend to frontend -
KT-62491K2. No'when' expression must be exhaustiveerror when Java sealed class inheritors are not listed inpermitsclause -
KT-63443IrFakeOverrideBuilder: ISE "No new fake override recorded" when Java superclass declares abstract toString -
KT-62679K2: drop ARGUMENTS_OF_ANNOTATIONS phase -
KT-63600K2: Duplicate WRONG_NULLABILITY_FOR_JAVA_OVERRIDE -
KT-63508K2: "IllegalArgumentException: Not FirResolvedTypeRef (String) in storeResult" caused by@DeprecatedJava function and typo -
KT-63656K2: "IllegalArgumentException: Local com/example/ should never be used to find its corresponding classifier" -
KT-63459K2: OPT_IN_USAGE_ERROR is absent when calling the enum primary constructor -
KT-59582OPT_IN_MARKER_CAN_ONLY_BE_USED_AS_ANNOTATION_OR_ARGUMENT_IN_OPT_IN on an annotation import -
KT-60614K2: Conflicting INVISIBLE_REFERENCE and UNRESOLVED_REFERENCE reported depending on FIR test for transitive friend module dependencies -
KT-59983K2: Disappeared IMPLEMENTATION_BY_DELEGATION_IN_EXPECT_CLASS -
KT-63068K2 supports typeRef-name labels -
KT-63642JVM_IR: don't generate reflective access to getter/setter without property -
KT-62212K2: require matching of suspend status for override check -
KT-60983K2: "Argument type mismatch: actual type is android/view/View.OnApplyWindowInsetsListener but androidx/core/view/OnApplyWindowInsetsListener? was expected" -
KT-63597JVM_IR: Properly handle type parameters of outer declaration in code fragment -
KT-59913K2: Disappeared UNSUPPORTED_FEATURE -
KT-63593K2: FIR2IR converts arguments of array set call for dynamic receiver twice -
KT-63317K2: Disallow generic types in contract type assertions -
KT-59922K2: Disappeared CANNOT_CHECK_FOR_ERASED -
KT-59561K2/MPP reports INCOMPATIBLE_MATCHING when an actual annotation declaration with vararg property is typealias with@Suppress -
KT-63241IJ monorepo K2 QG: backward-incompatible compiler ABI change leads to run-time failures of Fleet's kotlinc plugins -
KT-55318Redundant variance projection causes wrong signature in klib -
KT-57513K2: Bound smart casts don't work with Strings -
KT-59988K2: Disappeared TYPE_ARGUMENTS_NOT_ALLOWED -
KT-59936K2: Disappeared ARGUMENT_PASSED_TWICE -
KT-61959K2: Type parameters from outer class leak to nested class -
KT-58094K2: Review IrBuiltinsOverFir -
KT-63522K2: wrong context for delegated field type -
KT-63454Properly check that inline fun is in the same module as callee inIrSourceCompilerForInline -
KT-59951K2: Disappeared NO_TYPE_ARGUMENTS_ON_RHS -
KT-62727K2: Missing JSCODE_UNSUPPORTED_FUNCTION_KIND -
KT-62726K2: Missing JSCODE_WRONG_CONTEXT -
KT-62725K2: Missing JSCODE_INVALID_PARAMETER_NAME -
KT-62314Make usages of JavaTypeParameterStack safe -
KT-60924FIR2IR: Get rid of all unsafe usages of IrSymbol.owner -
KT-59402K2: Missing EXPANSIVE_INHERITANCE and EXPANSIVE_INHERITANCE_IN_JAVA -
KT-57949FIR: SignatureEnhancement: mutation of java enum entry -
KT-62724K2: Missing WRONG_JS_FUN_TARGET -
KT-62856K2: Don't create IR declaration when its symbol is accessed in fir2ir -
KT-61329K2: Review for diagnostic messages reported by CLI arguments processing -
KT-58953K2 doesn't work with Compose Multiplatform -
KT-63599False negative WRONG_NULLABILITY_FOR_JAVA_OVERRIDE when Java parameter is warning-severity not-null and override isn't a DNN -
KT-62711Incorrect ParsedCodeMetaInfo instances -
KT-63122K2: Improve 'EVALUATION_ERROR' messages -
KT-63164K2/JVM: compiler codegen crash on invisible property IllegalStateException: Fake override should have at least one overridden descriptor -
KT-56614K2: Incorrect overload resolution with SAM types -
KT-62783K2: False positive CAST_NEVER_SUCCEEDS when casting nullable expression to it's non-nullable generic base class -
KT-47931FIR DFA: smartcast not working forif (x!=null || x!=null && x!=null) {} -
KT-62735K2: Disappeared EXTERNAL_CLASS_CONSTRUCTOR_PROPERTY_PARAMETER -
KT-62733K2: Disappeared WRONG_EXTERNAL_DECLARATION -
KT-62734K2: Disappeared INLINE_EXTERNAL_DECLARATION -
KT-62618K2: Fix theensureAllMessagesPresenttest -
KT-60312K2: CCE “class [I cannot be cast to class java.lang.Number ([I and java.lang.Number are in module java.base of loader 'bootstrap')” on using IntArray as vararg -
KT-58531K2: "Property must be initialized" compile error -
KT-54064K2. Conflicting declarations error differs for k1 and k2 -
KT-52432Using the IDE compiled with K2 (useFir) throws VerifyError exception -
KT-59825K2: Fix the TODO aboutwasExperimentalMarkerClassesinFirSinceKotlinHelpers -
KT-26045False positive DUPLICATE_LABEL_IN_WHEN for safe calls -
KT-59514K2: New inference error with jspecify and Java interop -
KT-63094K2: Exception from fir2ir during conversion data class with property of dynamic type -
KT-59822K2: Fix the TODO in FirConstChecks -
KT-59493Definitely non-nullable types have type inference issues with extension functions -
KT-63396K2: property from companion object are unresolved as an annotation argument in type parameter -
KT-62925K2: Disappeared EXPOSED_FUNCTION_RETURN_TYPE for package-private and type args -
KT-63430IrFakeOverrideBuilder: VerifyError on calling a function with a context receiver from a superclass -
KT-58754"Not enough information to infer type variable for subcalls of if expression" when adding curly braces to a conditional inside alazyproperty -
KT-54067K1 with NI: false positive UPPER_BOUND_VIOLATED in typealias constructor -
KT-62420K2: Remove ConeClassifierLookupTag from ConeTypeVariableTypeConstructor -
KT-63431K1: Incorrect resolution of call to Java class that extends CharSequence and inherits aget(int): Charmethod -
KT-55288False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifier -
KT-61459K2: type parameters cannot be parameterized with type arguments -
KT-59998K2: Disappeared OPT_IN_MARKER_CAN_ONLY_BE_USED_AS_ANNOTATION_OR_ARGUMENT_IN_OPT_IN -
KT-53308TYPE_MISMATCH: Contracts on boolean expression has no effect on referential equality tonull -
KT-51160Type mismatch with contracts on narrowing sealed hierarchy fail to smart cast -
KT-49696Smart cast to non-null with inline non-modifying closures sometimes doesn't work -
KT-46586SMARTCAST_IMPOSSIBLE when assigning value inside lambda instead of if expression -
KT-41728False positive no smart cast with unreachable code after return in if expression -
KT-59482K2: build kmm-production-sample -
KT-57529K1/K2: "IllegalStateException: not identifier: " with hard keywords in angle brackets -
KT-62032K2: Render flexible types as A..B instead of cryptic ft<A, B> in diagnostic messages -
KT-59940K2: Disappeared ACTUAL_ANNOTATION_CONFLICTING_DEFAULT_ARGUMENT_VALUE -
KT-59401K2: Missing ADAPTED_CALLABLE_REFERENCE_AGAINST_REFLECTION_TYPE -
KT-56081K2: build kotlinx.serialization -
KT-63172K2: Java vararg setter should not be used as property accessor -
KT-61243K2: Always use declaredMemberScope-s inFirConflictsHelpersinstead ofdeclarations -
KT-59430K2: Missing CALLABLE_REFERENCE_RESOLUTION_AMBIGUITY -
KT-62306K2: Compiler internal error for incorrect call on ILT -
KT-61592kt57320.kt weird diagnostic range for NO_ACTUAL_FOR_EXPECT -
KT-62334K2: FIR should not generate delegated functions for methods from java interface with default implementation -
KT-60294K2: lambda inside object capturing this, when not in K1 -
KT-59590JVM IR: NotImplementedError during rendering of conflicting JVM signatures diagnostic -
KT-62607K2: "Overload resolution ambiguity between candidates" -
KT-55096K2: false-positive smartcast after equals check with reassignment in RHS of == -
KT-63002K2: Fix flaky FirPsiOldFrontendDiagnosticsTestGenerated.Tests.Annotations#testAnnotatedErrorTypeRef -
KT-62916K2: False positive INCOMPATIBLE_MATCHING -
KT-45687Contract doesn't allow smart cast when implicit receiver and inference target isthis -
KT-62137Compiler fails on null tracking (inference) for safe call -
KT-36976FIR: Provide exact smart casting type -
KT-60004K2: Disappeared CONTRACT_NOT_ALLOWED -
KT-62404K2 Scripting for gradle: unresolved name errors on implicit imports -
KT-62197K2 and Apache Commons's MutableLong: Overload resolution ambiguity between candidates -
KT-59890K2: Disappeared CONST_VAL_WITH_NON_CONST_INITIALIZER -
KT-53551suspend functional type with context receiver causes ClassCastException -
KT-61491K2 AA: Multiple FIR declarations for the same delegated property -
KT-55965K2: NPE via usage of functions that return Nothing but have no return expressions -
KT-60942K2: Transitive dependency IR is not deserialized correctly -
KT-55319K2: False negative NON_LOCAL_RETURN_NOT_ALLOWED for non-local returns example -
KT-59884K2: Disappeared NON_LOCAL_RETURN_NOT_ALLOWED -
KT-61942K2 + kotlinx.serialization: Incorrect 'Conflicting declarations' on only one declaration -
KT-62944K2: Symbols with context receiver shouldn't be rendered with line break -
KT-59977K2: Disappeared NO_ACTUAL_FOR_EXPECT -
KT-60117K2: ISE “Cannot serialize error type: ERROR CLASS: Cannot infer variable type without initializer / getter / delegate” on compiling lateinit property without initialization -
KT-60042K2: Introduced PRIMARY_CONSTRUCTOR_REQUIRED_FOR_DATA_CLASS -
KT-62467K2: Result type of elvis operator should be flexible if rhs is flexible -
KT-62126KJS / K2: "InterpreterError: VALUE_PARAMETER" caused by reflection, delegation and languageVersion = 1.9 -
KT-56615K2: False-negative USELESS_CAST after double smartcast -
KT-59820K2: Investigate the TODO in FirCastDiagnosticsHelpers -
KT-61100K2: wrong type for "value" parameter of java annotation constructor -
KT-59996K2: Disappeared INVALID_CHARACTERS -
KT-62598K2: SOE through JvmBinaryAnnotationDeserializer with nested annotation with value parameter in other module -
KT-59070K1: Unbound private symbol with mixed Java/Kotlin hierarchy -
KT-60095K2: Introduced INCOMPATIBLE_TYPES -
KT-61598K2: report IR_WITH_UNSTABLE_ABI_COMPILED_CLASS -
KT-42625"Unresolved reference" when star import packages with conflicting entries -
KT-60123K2: PROPERTY_WITH_NO_TYPE_NO_INITIALIZER isn't working in IDE for lateinit property without a type -
KT-59935K2: Disappeared PROPERTY_WITH_NO_TYPE_NO_INITIALIZER -
KT-57931K1: unsafe assignment of nullable values to not-null Java fields via safe access operator -
KT-59992K2: Disappeared KCLASS_WITH_NULLABLE_TYPE_PARAMETER_IN_SIGNATURE -
KT-58455K2(LT). Internal compiler error "UninitializedPropertyAccessException: lateinit property identifier has not been initialized" on missing type parameter in "where" constraint -
KT-60714K2: Implement resolve to private members from Evaluator in K2 -
KT-59577K2. Enum constant name is not specified in error text -
KT-60003K2: Disappeared INVALID_CHARACTERS_NATIVE_ERROR -
KT-62099K2: "Type arguments should be specified for an outer class" error about typealias -
KT-60111K2: Location regressions for operators -
KT-59974K2: Disappeared INAPPLICABLE_INFIX_MODIFIER -
KT-59399K2: Missing JSCODE_NO_JAVASCRIPT_PRODUCED -
KT-59388K2: Missing JSCODE_ERROR -
KT-59435K2: Missing JSCODE_ARGUMENT_SHOULD_BE_CONSTANT -
KT-59991K2: Disappeared FORBIDDEN_VARARG_PARAMETER_TYPE -
KT-60601K2 / Maven: Overload resolution ambiguity between candidates inline method -
KT-59973K2: Disappeared INAPPLICABLE_LATEINIT_MODIFIER -
KT-59933K2: Disappeared USAGE_IS_NOT_INLINABLE -
KT-60778K2: implement MISSING_DEPENDENCY_CLASS(_SUPERCLASS) errors -
KT-62581K2: Difference inkindflag in metadata -
KT-59967K2: Disappeared UNINITIALIZED_ENUM_ENTRY -
KT-59956K2: Disappeared INAPPLICABLE_OPERATOR_MODIFIER -
KT-35913Diagnostic error VAL_REASSIGNMENT is not reported multiple times -
KT-60059K2: Introduced VAL_REASSIGNMENT -
KT-59945K2: Disappeared ANONYMOUS_FUNCTION_WITH_NAME -
KT-62573K2: incorrect parsing behavior with named functions as expressions -
KT-55484K2:@OptInfalse negative OPT_IN_USAGE_ERROR on equals operator call -
KT-56629K2: an instance of USELESS_CAST was not moved under EnableDfaWarningsInK2 language feature -
KT-58034Inconsistent resolve for nested objects in presence of a companion object property with the same name -
KT-59864K2: Bad locations with delegates -
KT-59584K2: Bad startOffset for 'this' -
KT-61388K2: ISE "Annotations are resolved twice" from CompilerRequiredAnnotationsComputationSession on nested annotation -
KT-62628K2: FirErrorTypeRefImpl doesn't have annotations -
KT-62447K2. "Replacing annotations in FirErrorTypeRefImpl is not supported" compiler error when annotation is used as variable type or return type -
KT-61055K2: Investigate if usage oftoResolvedCallableSymbolis correct at FirDataFlowAnalyzer#processConditionalContract -
KT-61518K2: IAE: "Expected type to be resolved" at FirTypeUtilsKt.getResolvedType() on usage of Java annotation with default value for enum array parameter -
KT-61688K2: FIR renderings of type annotations leak through the diagnostics' messages -
KT-61794FIR: MergePostponedLambdaExitsNode.flow remains uninitialized after resolve -
KT-59986K2: Disappeared ITERATOR_MISSING -
KT-57802K2: Backend Internal error: RecordEnclosingMethodsLowering.kt -
KT-59941K2: Disappeared COMPONENT_FUNCTION_MISSING -
KT-61076K2: false-positive conflicting overloads error on suspending function and private Java method from a supertype -
KT-61075K2: type inference for delegate expressions with complexly bounded type variables fails on properties with annotated accessors -
KT-62671K2: fir2ir generates a duplicate of delegated function for class from a common module -
KT-62541K2: Missed type mismatch error -
KT-62585KMP, K2: fix ugly reporting of annotation arguments in ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT diagnostic -
KT-62143Error: Identity equality for arguments of types 'kotlin/Int?' and 'kotlin/Nothing?' is prohibited -
KT-62620Warn about@OptIn/@Deprecatedfor overrides of Any -
KT-59689K2: Fix complex smartcasts with safe calls -
KT-61517K2: FirModuleDescriptor should correctly provide dependencies from FirModuleData -
KT-62578K2:@NoInferannotation doesn't work for deserialized functions -
KT-59916K2: Disappeared REPEATED_ANNOTATION -
KT-36844DELEGATE_SPECIAL_FUNCTION_MISSING highlight is missed when Delegate class has getValue property available through the invoke convention -
KT-62450K2: Disappeared OPT_IN_USAGE_ERROR for a data class property during the destructuring declaration -
KT-59997K2: Disappeared OPT_IN_USAGE_ERROR -
KT-60026K2: Introduced EXPOSED_TYPEALIAS_EXPANDED_TYPE -
KT-62393K2: FIR doesn't count visibility when creating synthetic property override -
KT-61191K2: Problem with@OptionalExpectation -
KT-61208EnumEntries mappings are generated incorrectly in the face of incremental compilation -
KT-57811K2: make java static string and int fields not null -
KT-53982Keep nullability when approximating local types in public signatures -
KT-62531InvalidProtocolBufferException on reading module metadata compiled by K2 from compilers earlier than 1.8.20 with -Xskip-metadata-version-check -
KT-61511IrFakeOverride builder: objc overridability condition is not supported -
KT-62316K2: CONFLICTING_INHERITED_JVM_DECLARATIONS on List subclass inheriting remove/removeAt from Java superclass -
KT-60671KMP: check other annotation targets in expect and actual annotations compatibility checker -
KT-62473K2:@Suppress("UNCHECKED_CAST")` doesn't work on rhs of augmented assignment call -
KT-59433K2: Missing NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE -
KT-62451K2: Disappeared OPT_IN_USAGE_ERROR for typealias -
KT-62452K2: Violation of OPT_IN_USAGE_ERROR non-propagating opt-in rules for typealias -
KT-59927K2: Disappeared INVISIBLE_REFERENCE -
KT-60080K2: Introduced INVISIBLE_SETTER -
KT-60104K2: Introduced FUNCTION_CALL_EXPECTED -
KT-59979K2: Disappeared SUPERTYPE_INITIALIZED_IN_EXPECTED_CLASS -
KT-62146K2:@Suppressdoes not work with named argument -
KT-62475K2: IrExternalModuleFragments contains incorrect data in Fir2Ir -
KT-59978K2: Disappeared EXPECTED_ENUM_ENTRY_WITH_BODY -
KT-59015K1+NI: "Type mismatch: inferred type is CapturedType(*) but Xy was expected" with star projection callable reference to extension function -
KT-61983K2: *fir.kt.txt dump uses different naming approach for local vars -
KT-59970K2: Disappeared NULLABLE_TYPE_IN_CLASS_LITERAL_LHS -
KT-58216K2 (2.0): when is not checked for exhaustiveness with Java sealed class -
KT-61205Compose Compiler K2/ios: No file for /App|App(){}[0] when running linkPodDebugFrameworkIosX64 -
KT-58087Unexpected type mismatch after nullable captured type approximation -
KT-58240Support running irText compiler tests against the Native backend -
KT-59565K2. Internal error "IndexOutOfBoundsException: Index -1 out of bounds for length 0" on incorrect usage of annotation in type parameter -
KT-59954K2: Disappeared REPEATED_MODIFIER -
KT-57100K2 does not report Conflicting overloads and backend crashes with Exception during IR lowering on conflict overloading with suspend function -
KT-59955K2: Disappeared INCOMPATIBLE_MODIFIERS -
KT-61572[K2/N] Missing diagnostic SUPER_CALL_WITH_DEFAULT_PARAMETERS in test for MPP supercall with default params -
KT-62262[K2/N] tests/samples/uikit compilation fails with NPE in checkCanGenerateOverrideInit -
KT-62114K2: Unresolved reference for smart cast insidewhen(but notif) -
KT-59373K2: Missing INVISIBLE_MEMBER -
KT-61844K2: "Expression * of type * cannot be invoked as a function" caused by private property -
KT-61735[FIR] Assignment to val with flexible type dispatch receiver causes crash -
KT-59942K2: Disappeared ANNOTATION_PARAMETER_DEFAULT_VALUE_MUST_BE_CONSTANT -
KT-62058K2: use PRE_RELEASE flag until 2.0-RC -
KT-59931K2: Disappeared CLASS_LITERAL_LHS_NOT_A_CLASS -
KT-62104K2: fix failing tests caused by KT-59940 -
KT-61974K2: "ClassCastException: class cannot be cast to class java.lang.Void" in test -
KT-61637K2: Store all IR declarations inside Fir2IrDeclarationStorage -
KT-60921K2: IndexOutOfBoundsException on attempt to cast an element to inner class with type parameter -
KT-59429K2: Missing ABBREVIATED_NOTHING_RETURN_TYPE -
KT-59420K2: Missing ABBREVIATED_NOTHING_PROPERTY_TYPE -
KT-59965K2: Disappeared CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON -
KT-59952K2: Disappeared EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR -
KT-61732K2: Analysis API: resolve ambiguities in kotlin project -
KT-60499K2: Order of synthetic fields is different from K1's order -
KT-61773K2 Native: support reporting PRE_RELEASE_CLASS -
KT-61578[FIR] Resolution to private companion objects does not produceINVISIBLE_REFERENCEdiagnostic -
KT-59985K2: Disappeared UNDERSCORE_USAGE_WITHOUT_BACKTICKS -
KT-62031K2: Render k2-specific flexible types in a more compact way in diagnostic messages -
KT-62030K2: Render dot-separated FQNs instead of slash-separated ones in diagnostics -
KT-59950K2: Disappeared ILLEGAL_ESCAPE -
KT-61827K2: Fix rendering ofNO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASSmessage -
KT-61386IrFakeOverrideBuilder: wrong dispatch receiver type -
KT-59907K2: Disappeared RETURN_TYPE_MISMATCH -
KT-62056K2: Drop FIR_COMPILED_CLASS error in K1 -
KT-61824K2: Don't render internal compiler type annotations in diagnostic messages -
KT-61826K2: Fix rendering of SUSPENSION_POINT_INSIDE_CRITICAL_SECTION message -
KT-57858@PlatformDependentannotation should be considered in JS and Native -
KT-61876K2: FirCommonSessionFactory does not register visibility checker for a library session -
KT-60264K2: while loop body block sometimes replaced with single expression -
KT-58542K2: Store abbreviated types in deserialized declarations as attributes for rendering -
KT-62008K2: Java getter function may be enhanced twice -
KT-61921K2: Check for false positive/negative diagnostics caused by wrong handling of typealiases -
KT-41997False positive "Value class cannot have properties with backing fields" inside expect class -
KT-62017K2: ISE "No real overrides for FUN FAKE_OVERRIDE" on calling package-private Java method through anonymous object -
KT-58247Incorrect inference of nullable types inside Optional -
KT-61309K2: Only named arguments are available for Java annotations -
KT-61366IrFakeOverrideBuilder ignores package-private visibility -
KT-59899K2: Disappeared EXPECTED_DECLARATION_WITH_BODY -
KT-59980K2: Disappeared EXPECTED_ENUM_CONSTRUCTOR -
KT-59982K2: Disappeared EXPECTED_CLASS_CONSTRUCTOR_PROPERTY_PARAMETER -
KT-61499K2: False positive "Const 'val' initializer should be a constant value" when using typealias -
KT-62005K2: No conflicting declarations error for constructors of nested classes and member functions -
KT-60092K2: Introduced EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR -
KT-61972K2: FIR2IR crashes on converting data classes in MPP setup -
KT-60105K2: Introduced UNDERSCORE_USAGE_WITHOUT_BACKTICKS -
KT-60075K2: Introduced ACTUAL_WITHOUT_EXPECT -
KT-29316Change diagnostics strategy for equality-operators applicability -
KT-61751IrFakeOverrideBuilder: keep flexible type annotations when remapping/substituting types -
KT-61778K2: Overload resolution ambiguity between expect and non-expect in native build -
KT-57703K1/K2: unprecise constraint system behavior around integer literals and comparable arrays -
KT-61367K2: Introduce OptIn for FirExpression.coneTypeOrNull -
KT-61802K2: infinite recursion in constant evaluator causing StackOverflowError -
KT-60043K2: Introduced PROPERTY_AS_OPERATOR -
KT-61829K2. Internal error, FileAnalysisException when type argument doesn't conform expected type -
KT-61691K2: This annotation is not applicable to target 'local variable' -
KT-59925K2: Disappeared VIRTUAL_MEMBER_HIDDEN -
KT-61173K2: FirProperty.hasBackingField is true for an expect val -
KT-61696K2: Cannot override method of interface if superclass has package-protected method with same signature -
KT-59370K2: Missing JS_NAME_CLASH -
KT-36056[FIR] Fix implementation of try/catch/finally in DFA -
KT-61719K2. Invisible reference is shown for whole type reference instead of single name reference -
KT-35566False negative UPPER_BOUND_VIOLATED in a supertype of an inner class -
KT-60248K2: Type abbreviations are not stored in IR -
KT-61720K2: Delegates: Property type not specialised in property reference of setter -
KT-59251KMP/JS: forbid matching actual callable with dynamic return type to expect callable with non-dynamic return type -
KT-61510K2: internal declarations are invisible in cyclically dependent modules -
KT-54890FIR: fix resolve contract violations in FIR -
KT-60048K2: Introduced MISSING_EXCEPTION_IN_THROWS_ON_SUSPEND -
KT-59425K2: Missing JS_FAKE_NAME_CLASH -
KT-59529K2: "property delegate must have" caused by class hierarchy -
KT-55471K2. Unresolved reference for nested type is shown instead of outer class -
KT-58896K2: Higher priority expect overload candidates in common code lose in overload resolution to non-expects -
KT-60780K2: missing PRE_RELEASE_CLASS -
KT-59855K2: Replace FirExpression.typeRef with coneType -
KT-53565K2: no WRONG_ANNOTATION_TARGET on when subject -
KT-54568K2: Type variables leak into implicititparameter of lambdas -
KT-60892K2: Implement diagnostics around@OptionalExpectation -
KT-60917K2: "Unresolved reference" for operator for array value -
KT-59367K2: Missing MIXING_SUSPEND_AND_NON_SUSPEND_SUPERTYPES -
KT-60268K2: lazy annotation classes have wrong modality -
KT-60536K2: FIR2IR Crash when resolving to companion of internal class with Suppress("INVISIBLE_REFERENCE") -
KT-60292K2: annotations on local delegated properties are lost -
KT-59422K2: Missing NON_SOURCE_ANNOTATION_ON_INLINED_LAMBDA_EXPRESSION -
KT-61407K2: java.lang.IllegalArgumentException: Stability for initialized variable always should be computable -
KT-59186K2: False negative CONFLICTING_OVERLOADS in nested functions -
KT-54390K2: ClassId for local classes do not match with specification -
KT-61277K2: Expand the MIXING_SUSPEND_AND_NON_SUSPEND_SUPERTYPES check to other function kinds -
KT-61548Compiler crashes with StackOverflowError when mapping types -
KT-56757DropIGNORE_BACKEND_K2_LIGHT_TREEdirective -
KT-61330K2: No BinarySourceElement for system libraries -
KT-61166Inherited platform declaration clash & accidental override -
KT-58764[K2] MakeFirResolvedDeclarationStatus.modalitynot nullable -
KT-61576[FIR] Private type alias for public class constructor is always visible -
KT-46031False negative SEALED_INHERITOR_IN_DIFFERENT_MODULE in bamboo HMPP hierarchy -
KT-59804K2: Repeat theSealedInheritorInSameModuleCheckerHMPP logic -
KT-59900K2: Disappeared NESTED_CLASS_NOT_ALLOWED -
KT-61067K2. NoAssignments are not expressions -
KT-61144FIR2IR: Fix field access for class context receiver from debugger evaluator in K2 -
KT-59914K2: Disappeared RETURN_NOT_ALLOWED -
KT-60136Wrong IR is generated for spread call in annotation call when annotation has a vararg parameter -
KT-56872K2: not all reassignments, operator assignments, increments, decrements are tracked in DFA for try/catch expressions -
KT-60397K2/MPP: don't perform enhancement twice when Java method is called from different modules -
KT-61640K2: Share declarations from JvmMappedScope between sessions in MPP scenario -
KT-59051"ISE: IrSimpleFunctionSymbolImpl is already bound" when implementing multiple interfaces by delegation where one of them overrides equals/hashCode -
KT-60380K2: IAE: class org.jetbrains.kotlin.psi.KtLambdaArgument is not a subtype of class org.jetbrains.kotlin.psi.KtExpression for factory TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM -
KT-60795K2: missing INCOMPATIBLE_CLASS and corresponding CLI error -
KT-59650K2: Get rid ofFirNoReceiverExpression -
KT-60555K2. FirJavaClass source field is null -
KT-61045K2: Missing return from DELEGATED_PROPERTY_ACCESSOR setter -
KT-60636KMP: K2 handling of actual typealiases to nullable types -
KT-59815K2: Avoid recomputingargumentVariables -
KT-61409Kotlin/Native: crash in kmm-production-sample (compose-app) with escape analysis enabled -
KT-61348K2: Refactor FIR2IR declaration storages -
KT-54905KLIB check on compiled with pre-release version -
KT-61249Move fir-related code from backend.native module -
KT-59478K2: StackOverflowError on invalid code with nullable unresolved -
KT-59893K2: Disappeared WRONG_NUMBER_OF_TYPE_ARGUMENTS -
KT-60450K2: IOOBE from analyzeAndGetLambdaReturnArguments -
KT-57076K2 does not report 'More than one overridden descriptor declares a default value' -
KT-55672K2. Operator name message instead of "Unresolved reference" when operator isn't defined for type -
KT-61454K1: False positive WRONG_NUMBER_OF_TYPE_ARGUMENTS when typealias is LHS of class literal -
KT-60252K2: Supertype argument is not substituted in fake override receivers and value parameters -
KT-60687K2: Introduced UNEXPECTED_SAFE_CALL -
KT-61312K2: Remove FirExpression.typeRef completely when Compose was migrated -
KT-60602Fix scripting tests in 2.0 branch -
KT-60771K2: "Conflicting declarations". Unable to re-declare variable if the first one comes from a destructured element -
KT-60760K2: Every FirFunctionCall has an implicit type reference which points to the return type declaration -
KT-59944K2: Disappeared NON_MEMBER_FUNCTION_NO_BODY -
KT-60936KMP: check annotations compatibility on members inside expect and actual class scopes -
KT-60668KMP: check expect and actual annotations match when actual method is fake override -
KT-60250K2: origin is set too many times for elvis operator -
KT-60254K2: Extra unset type argument on Java field reference -
KT-60245K2: Extra return is generated in always throwing function -
KT-59407K2: Missing MISSING_CONSTRUCTOR_KEYWORD -
KT-57681Request review for all FIR diagnostic messages -
KT-60885K2: FixtestSelfUpperBoundInferencetest in LV 2.0 branch -
KT-59957K2: Missing UNSUPPORTED_SEALED_FUN_INTERFACE -
KT-60000K2: Missing UNSUPPORTED_INHERITANCE_FROM_JAVA_MEMBER_REFERENCING_KOTLIN_FUNCTION -
KT-60886K2: FixtestDirectoryWithRelativePathin LV 2.0 branch -
KT-59419K2: Missing MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES_WHEN_NO_EXPLICIT_OVERRIDE -
KT-59748K2: Return type mismatch: expected Unit, actual Any? for when with an assignment in branch -
KT-60297K2: finally block is not coerced to unit -
KT-59860[FIR] False-positiveUNEXPECTED_SAFE_CALL -
KT-46794Contract not working with extension function in class -
KT-59101Contract not smartcasting for private extension functions inside class -
KT-59387K2: Missing NO_CONSTRUCTOR -
KT-22499Missing error on 'x == y' for different numeric types inferred from smart casts -
KT-56867Green in K1 -> red in K2 for unsound code.catch_endtogood_finallydata flow -
KT-57526K1: "NullPointerException: Cannot invoke "com.intellij.psi.PsiElement.getParent()" because "current" is null" with label -
KT-46383EQUALITY_NOT_APPLICABLE is not taking smart cast into consideration inifblock -
KT-32575Bound smartcasts in contracts -
KT-58331Erroneous suspend conversion on anonymous function should not affect call resolution -
KT-37591Deprecate cases in FE 1.0 when companion property is prioritized against enum entry -
KT-53210OVERLOAD_RESOLUTION_AMBIGUITY when lambda with single argumentitis involved -
KT-51796False positive smart cast after safe call to contract function with nullable receiver -
KT-52782Receiver type mismatch error due to ProperTypeInferenceConstraintsProcessing compiler feature -
KT-57308Incorrect property type inference after contracted smart cast of generic type -
KT-18130Smart cast can be broken by expression in string template -
KT-21915Generic parameter of a reference gets wrongly smart-casted after a cast -
KT-22454Unsound smartcast in nested loops with labeled break from while-true -
KT-17694Smart cast impossible on var declared in init block with a secondary constructor -
KT-47895NullPointerException inPSICallResolver.resolveToDeprecatedModwith incorrect loop range -
KT-47378Missed FUNCTION_CALL_EXPECTED diagnostic on wrong code with callable reference -
KT-43408False positive CAPTURED_VAL_INITIALIZATION on crossinline val property initialization with EXACTLY_ONCE lambda call from the init block -
KT-35565False negative UNINITIALIZED_VARIABLE, VAL_REASSIGNMENT, and INVISIBLE_SETTER errors in unreachable code block -
KT-10420Shadowed variable declaration in inner function makes compiler behave strange -
KT-49881"AssertionError: Base expression was not processed: POSTFIX_EXPRESSION" when analyzing dangling [bracketed] expression with postfix -
KT-53847Missed USAGE_IS_NOT_INLINABLE when using runCatching with the inline function's functional argument as a receiver -
KT-53802No smartcast after a while (true) infinite loop with break -
KT-27754Stack Overflow Error in pseudocode analysis -
KT-41131Error: java.lang.AssertionError: Rewrite at slice LEAKING_THIS when invoking non final constructor property in init block -
KT-42962False positive "ACCIDENTAL_OVERRIDE" when field name annotated with@JvmFieldconflicts with getter/setter from Java -
KT-49507JVM: "IllegalAccessError: class X tried to access private field" with same-named Kotlin property and Java base class field -
KT-35752"AE: Recursion detected in a lazy value" with type alias and inner class from another module -
KT-28333Smartcast is wrong if while(true) and break as a part of expression is used (possible NPE) -
KT-28489Smartcast is wrong if not-null assertion in while condition + break to the parent while is used (produces NPE) -
KT-28369Var not-null smartcasts are wrong if reassignments are used inside another expressions -
KT-26612Smartcast don't work in not-null checks + NotNull contract -
KT-7676Redundant cast of var is not redundant? -
KT-51984Cannot usex == nullwhen Java class X declares equals(@NonNull) -
KT-56249No method equals for HttpMethod in Spring Boot 3 -
KT-56264incorrect type inference/smart cast for exhaustive try catch -
KT-24565Incorrect floating point comparisons in constant expressions -
KT-54333False positive CONST_VAL_WITH_NON_CONST_INITIALIZER on negative literals in const vals -
KT-53447Leaking/unrefined types from main source set when main/test use different library versions -
KT-35981No smart cast and UNSAFE_CALL error when using not() function instead of inverse operator -
KT-33132Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclass -
KT-55335Don't report SUPERTYPE_NOT_INITIALIZED for annotation supertype, because FINAL_SUPERTYPE is already reported -
KT-27936Write InnerClasses attribute for all class names used in a class file -
KT-53261Evaluate effect from inline for primitive types -
KT-31367IllegalStateException: Concrete fake override public open fun (...) defined in TheIssue[PropertyGetterDescriptorImpl@1a03c376] should have exactly one concrete super-declaration: []
Compose Compiler
New features
- 13b27eb Strong skipping is no longer considered experimental and is safe for use in production. It will become the default behavior in an upcoming release.
Bug fixes
- 868d0ac Ensure that inline body is realized when source information is off b/338179884
- 8a6f64a Generate binary compat stubs for nullable value classes b/335384193
- 154d479 Make sure a composable call does not escape composable lambda b/331365999
- 53f4f37 Make parameter types for inline classes nullable when underlying type is not primitive b/330655412
Docs & Examples
New Features
-
KT-66958[Docs][JVM] Add info about generating lambda functions like the Java compiler by default
Fixes
-
KT-63618[Docs] Create documentation for Kotlin power-assert compiler plugin -
KT-67902[Docs][Wasm] K/Wasm: support new version of exception handling proposal -
KT-67944[Docs][K2][IDE] Update IDE support description for K2 -
KT-67865[Docs][K2] update Kotlin Release Page -
KT-66957[Docs] [Gradle] Build reports are Stable -
KT-67936[Docs][Build tools] Update KGP variants -
KT-67508[Docs] Talk about the new Compose Gradle plugin -
KT-67347Remove docs on dropped K/JS feature "Ignoring compilation errors" -
KT-64710[Docs] Update What's new for 2.0.0-BetaX -
KT-63001K2: Organize team-wide talks about new FIR2IR & PCLA -
KT-6259Docs: add information about default constructor for class
IDE
-
KT-50241Make Symbol Light Classes consistent with Ultra Light Classes -
KT-60318K2: disable SLC for non-JVM platforms -
KT-56546LL FIR: fix lazy resolve contract violation in Symbol Light Classes -
KT-55788[SLC] Declarations with value classes are leaked into light classes -
KT-61195UAST modeling of implicititis inconsistent forEnum.entries -
KT-62757SLC: incorrect nullability annotation on aliased type -
KT-62440On the fly resolve with light method context doesn't resolve method type parameters -
KT-57550K2: AA: incorrect constant value in file-level annotation -
KT-61460SLC: unnecessary upper bound wildcards (w/ type alias) -
KT-61377K2: SLC: wrong retention counterpart for AnnotationRetention.BINARY
IDE. Gradle Integration
IDE. JS
-
KT-61257Analysis API:"KotlinIllegalArgumentExceptionWithAttachments: Invalid FirDeclarationOrigin DynamicScope" exception on unsupported JS dynamic usage in scope
IDE. Multiplatform
-
KT-45513Run c-interop generation in parallel during project import -
KT-63007K2: Analysis API Standalone: klibs are not resovled from common code -
KT-63126K2: Analysis API Standalone: IllegalStateException from Kotlin/Native klib -
KT-61520Sources.jar is not imported for common and intermediate source-sets from the MPP library
IDE. Script
-
KT-61267K2 Scripts: dependency issues -
KT-60418K2 scripting: highlighting sometimes fails -
KT-60987K2: Analysis API: make build.gradle.kts resolution work on build scripts from kotlin projects
IR. Actualizer
Fixes
-
KT-67488K2: AssertionError No such value argument slot in IrConstructorCallImpl: 0 (total=0 -
KT-60847K2: Fake overrides are incorrect after actualization -
KT-65274IrFakeOverrideBuilder: ISE: "IrFieldPublicSymbolImpl is already bound" -
KT-63756K2: "AssertionError: No such value argument slot in IrConstructorCallImpl" caused by actual typealias for annotation with default parameter -
KT-65236IrFakeOverrideBuilder: ISE: "should not be called" -
KT-65116K2: IrFakeOverrideBuilder: "No override for FUN" if the function has already been overridden by another class in K <- J<- K <- J hierarchy -
KT-65499IrFakeOverrideBuilder: ISE IrSimpleFunctionPublicSymbolImpl is already bound for irrelevant 'remove' clashing with a function from Java collection subclass -
KT-64150IrFakeOverrideBuilder: Fake overrides for static java functions are not generated -
KT-65432IrFakeOverrideBuilder - No override for FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:elementData -
KT-64895K2:IrActualizer corrupts attributeOwnerId value -
KT-58861K2: Improve the new pipeline of FIR2IR conversion, IR actualization and fake-override generation -
KT-64835K2: K/JS: Expect declaration is incompatible errors in the K2 QG -
KT-63347K2: Fix overridden symbols inside LazyDeclarations -
KT-62535K2: FakeOverrideRebuilder can't handle f/o without overridden symbols -
KT-62292K2: Extract IrActualizer into separate module -
KT-63442IrFakeOverrideBuilder: ISE "Multiple overrides" error when function signatures differ only in the type parameter upper bound -
KT-62623K2: Ir actualizer leaves inconsistent module links from files
IR. Inlining
-
KT-66017K2 / Native: "NoSuchElementException: Sequence contains no element matching the predicate" on building native release binaries -
KT-64868[K/N] Inlined assert is later not removed, even without-ea -
KT-64807Refactor InlineFunctionResolver -
KT-64806Move FunctionInlining to separate module
IR. Interpreter
-
KT-64079Native library evolution behaviour for constants -
KT-62683K2: FIR2IR: IrConst*Transformer doesn't evaluate an expression for const val initializer
IR. Tree
-
KT-66152IrFakeOverrideBuilder: AssertionError "different length of type parameter lists" -
KT-65971K2: Investigate diagnostic test failures with IrFakeOverrideBuilder -
KT-64974Consolidate visibility checks in IrFakeOverrideBuilder -
KT-61360Fix essential problems in IrFakeOverrideBuilder -
KT-61970Refactor IR and FIR tree generators to reuse common logic -
KT-61703Drop the dependency on kotlinpoet for IR tree generation -
KT-63437IrFakeOverrideBuilder: ISE "Captured Type does not have a classifier" on complex Java hierarchy -
KT-61934Decouple building fake overrides from symbol table and build scheduling -
KT-60923IR: Mark IrSymbol.owner with OptIn
JavaScript
New Features
-
KT-56206KJS / Reflection: add KClass.createInstance -
KT-44871Add@JsExportand@JsNameannotations to stdlib classes (especially collections) to avoid method name mangling and improve Kotlin usability from JS -
KT-8373JS: support ES6 as compilation target -
KT-65168Introduce an ability to create type-safe JS objects -
KT-45604KJS / IR: UseglobalThisinstead of top levelthis
Fixes
-
KT-66922K2 JS: Intrinsic Float/Double toString producing wrong numbers -
KT-64135K2 / KJS: Incorrect value class support when used with inline fun -
KT-67978K2: Declaration of such kind (expect) cannot be exported to JavaScript -
KT-64951Kotlin-Multiplatform does not allow JSExport of expect -
KT-63038Compilation of suspend functions into ES2015 generators -
KT-16981js: Command line arguments passed tomain()are always empty -
KT-34995JS: List, Map, and Set types are hard to use from JS because of mangled member names -
KT-51225JS IR & Wasm: using nested expect enum entry in a default argument fails -
KT-63907KJS: default parameters in interfaces are lost in implementations -
KT-64708KJS: exported interfaces missing __doNotUseOrImplementIt when extending from external types -
KT-62806KJS: Type mismatch on inferred return type with Nothing -
KT-64421K2: Implement IrJsTypeScriptExportTestGenerated for K2 -
KT-61526KJS: Compiled files clash with the new per-file granularity -
KT-63359K2: support new ways to declare TestResult in JS TestGenerator lowering -
KT-61929KJS: "IllegalStateException: No dispatch receiver parameter for FUN LOCAL_FUNCTION_FOR_LAMBDA" caused byrunfunction in init block -
KT-65216K2 JS: False positive JS_NAME_CLASH diagnostic on generic interface -
KT-64548KJS / K2: "Cannot find delegated constructor call" caused by external classes constructors -
KT-64867K2 JS: Name clash between constructors with same JsName but in different classes -
KT-64463KJS / K2: "Name contains illegal chars that cannot appear in JavaScript identifier" caused by non-ASCII character -
KT-64451K2: Implement MultiModuleOrderTestGenerated for K2 -
KT-64450K2: Implement SourceMapGenerationSmokeTestGenerated for K2 -
KT-64366KJS / K2: Exported declaration uses non-exportable return type: 'kotlin.?' -
KT-64426K2: Implement JsIrLineNumberTestGenerated for K2 -
KT-64422K2: Implement IrJsSteppingTestGenerated for K2 -
KT-64364K2 / KJS:@JSExportsgenerates clashing declarations for companion objects that extends its own class -
KT-64445K2: Implement **VersionChangedTestGenerated for K2 -
KT-64446K2: Implement JsIrInvalidationPerFileWithPLTestGenerated for K2 -
KT-64423K2: Implement JsIrES6InvalidationPerFileTestGenerated for K2 -
KT-63543KJS / K2: Exported declaration uses non-exportable return type type: 'kotlin.Unit' -
KT-61596K2 JS: support reporting PRE_RELEASE_CLASS -
KT-61117Migrate remaining legacy IC tests to IR -
KT-61523KJS: Call main function in per-file mode -
KT-63089KJS / K2 : "IllegalArgumentException: source must not be null " for inner class and interface as type -
KT-56818KJS: "TypeError: Class constructor * cannot be invoked without 'new'" when extending external class -
KT-62077KJS: TypeError: str.charCodeAt is not a function -
KT-63436K/JS: Eliminate names for synthetic classes in setMetadataFor() -
KT-63013KJS:requireNotNullnot working correctly in JS tests with Kotlin 1.9.20 -
KT-61525KJS: Test functions are not invoked in per-file mode -
KT-62425K/JS: Implement K2 and K1 diagnostics for checking argument passing to js() -
KT-61524KJS: Eager initialization doesn't work in per-file mode -
KT-61862KJS: Can't create kotlin.js.Promise inheritor -
KT-61710K/JS: Implement JS_NAME_CLASH check for top level declarations -
KT-61886K/JS: Prepare K/JS tests for JS IR BE diagnostics -
KT-60829Fix JS Incremental tests in 2.0 branch -
KT-60635K/JS: Class internal methods may clash with child methods from other module that have the same name -
KT-60846FixIncrementalJsKlibCompilerWithScopeExpansionRunnerTestGeneratedtest in 2.0 branch
KMM Plugin
-
KT-59270Update wizards in KMM AS plugin after 1.9.20 release -
KT-60169Generate gradle version catalog in KMM AS plugin -
KT-59269Update wizards in KMM AS plugin after 1.9.0 release
Klibs
New Features
-
KT-66367KLib ABI dump: support wasm_target manifest attribute -
KT-65442[klibs] header klibs: keep internal declarations and declarations inside inlines -
KT-62213[klibs] header klibs should keep private interfaces -
KT-62259KLIB ABI reader: add information about a backing field to AbiProperty -
KT-62341[KLIB tool] Dump declared & imported signatures by IR (not metadata) -
KT-60807[klib] Add an option to write out header klibs
Fixes
-
KT-67401KLib ABI dump: write plain targets in the manifest -
KT-66970K2: "IrLinkageError: Function * can not be called" when calling@JvmStaticfunctions in Native test -
KT-64440K2: Port KotlinKlibSerializerTest to K2 -
KT-66921K/JS backend doesn't report "/ by zero" and fails with const val property must have a const initializer -
KT-66611Check, that no bad IR is produced, when we failed to compute constant default value in constant context -
KT-33411Kotlin/Native crashes if several libraries have declarations with the same FQ name -
KT-44626Umbrella issue: different kinds of klib IR linker error messages -
KT-64452K2: Port FilePathsInKlibTest to K2 -
KT-64395API for ABI: Add a check for the file's existence to KLIB ABI Reader -
KT-61143[klib tool] Dump IR with unbound symbols -
KT-65723K2: Signature clash diagnostic fails for parametrized function with Unsupported pair of descriptors -
KT-65063Clashing KLIB signatures from different modules result in an exception -
KT-64085Different klib signatures for K1/K2 for overridden properties assigned in init block -
KT-63573K2: Dependency problems with dependencies with same artifact id -
KT-64082Different klib signatures in K1/K2 for the same locally used constant declaration -
KT-63931[K/N] Relative path to klib option of cinterop tool doesn't work -
KT-60390KLIBs: Wrong IrSymbol is used for deserializedexpectproperty's backing field & accessors -
KT-61136Drop ExpectActualTable + clean-up the relevant code -
KT-61767[K/N] Header klibs should keep private underlying properties of value classes -
KT-61097[PL] Don't create an executable if there were errors in PL
Language Design
New Features
-
KT-64510Proceed to next tower level if property setter is invisible in assignment -
KT-59553K2: Simplify rules for upper bound violated checks for qualifier in LHS of class literal -
KT-11272Resolve combined index-accessed get and set operators -
KT-65682Deprecateheader/implkeywords -
KT-65965KMP: Parameter properties in constructor of external class -
KT-57274Allow generic argument to have explicitNothingupper bound -
KT-1982Smart cast to a common supertype of subject types after||(OR operator) -
KT-65964KMP: Private constructor in external classes -
KT-37316Allow actual classifier to have more permissive visibility than visibility of expect classifier -
KT-58616KMP: consider relaxing the classifier visibility matching rules -
KT-37115Smart cast with boolean expressions and early return / throw statements -
KT-7186Smart cast for captured variables inside changing closures of inline functions -
KT-62138K1: false positive (?) NO_SET_METHOD for += resolved as a combination of Map.get and plus
Performance Improvements
-
KT-38101Exponential analysis of += calls
Fixes
-
KT-64187K2: False positive ABSTRACT_NOT_IMPLEMENTED caused by the fact that common code sees platform code of its dependencies -
KT-57290Deprecate smart cast on base class property from invisible derived class if base class is from another module -
KT-54309Deprecate use of a synthetic setter on a projected receiver -
KT-61718Forbid unsound code with self upper bounds and captured types -
KT-54607Can't use same function if having multiple instances of same subtype in samewhen-statement -
KT-27252Smart cast in when on a sealed class depends on the order of "is" checks -
KT-57178Change inferred type of prefix increment to return type of getter instead of return type of inc() operator -
KT-61749Forbid unsound bound violation in generic inner class of generic outer class -
KT-64342SAM conversion of parameter types of callable references leads to CCE -
KT-64299Companion scope is ignored for resolution of annotations on companion object -
KT-66453Consistently resolve operator/infix calls like function calls in presence of classifier candidate for receiver -
KT-62923K2: Introduce PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE for projections of outer super types of inner class -
KT-65724Propagate data flow information from try block to catch and finally blocks -
KT-65750Increment and plus operators that change return type must affect smart casts -
KT-58881K2: Run checkers in common code against platform session -
KT-62646Decide on the equality compatibility -
KT-65775K2: Consider prohibiting actual typealias to superclass -
KT-65881K2: MissingITERATOR_MISSINGinforloop on object -
KT-61340K2: Allowed smart cast in common which should be prohibited in platform -
KT-51827Inconsistent behavior with smartcast and protected members -
KT-58589Deprecate missed MUST_BE_INITIALIZED when no primary constructor is presented or when class is local -
KT-26983Gradle buildscript (kotlin-dsl): "Smart cast to 'Foo' is impossible" due to same variable names -
KT-62959Value of captured type is not a subtype of the same captured type -
KT-64828Update KEEP for SubclassOptInRequired -
KT-64739Mark@SubclassOptInRequiredas an experimental -
KT-26044When expression is not considered to be exhaustive for empty nullable sealed and enum classes -
KT-57422K2: Prohibit use-site 'get' targeted annotations on property getters -
KT-58921K1/K2: difference in Enum.values resolve priority
Libraries
New Features
-
KT-65532Stabilize experimental API for 2.0 -
KT-60657Introduce Common String.toCharArray(destination) in stdlib -
KT-57150Introduce common protected property AbstractMutableList.modCount -
KT-57151Introduce common protected function AbstractMutableList.removeRange -
KT-66102Constructor-like function for creating AutoCloseable instances -
KT-59441Design reading and writing future versions of Kotlin metadata
Performance Improvements
-
KT-64361Optimization opportunity in Int.sign -
KT-65590Make CharSequence.isBlank idiomatic and improve its performance -
KT-61488Kotlin/Native stdlib: simplify ArrayList implementation -
KT-51058Avoid byte array allocation in File.writeText when possible -
KT-58588Optimizations for sequence functions distinct, flatten
Fixes
-
KT-67397Switch remaining org.jetbrains.kotlin libs to K2 -
KT-61969Migrate kotlin-test to the current Kotlin Multiplatform Plugin -
KT-60803Experimental AutoCloseable 'use' method is not resolved in Java -
KT-63156Remove all deprecated declarations in kotlinx-metadata-jvm -
KT-54879Add callsInPlace contract for more functions in stdlib -
KT-55777Unresolved kotlin.AutoCloseable in JVM -
KT-63219Change root package and coordinates of kotlinx-metadata-jvm to kotlin.* -
KT-65518Memory leak in buildMap and in Wasm/Js/Native (Linked)HashMap -
KT-65525JS: Wrong return value of HashMap.keys.remove -
KT-63397kotlin-test should declare runtime dependency on "org.junit.platform:junit-platform-launcher" -
KT-65242Update transitive dependencies of JVM test frameworks in kotlin-test -
KT-63355Detect concurrent modifications in ArrayDeque -
KT-64956Implement optimized removeRange for ArrayDeque -
KT-58039Wasm: Implement unsigned numbers using wasm builtin capabilities -
KT-63341K2: JVM StringBuilder has no corresponding members for expected class members -
KT-63714K2: kotlinx-benchmarks fails with "Unable to find method ''org.gradle.api.tasks.TaskProvider" with register("js") -
KT-63157Make sure that all deprecation levels are raised to ERROR for declarations intended for removal from kotlinx-metadata -
KT-60870kotlinx.metadata.InconsistentKotlinMetadataException: No VersionRequirement with the given id in the table In kotlinx-metadata-jvm -
KT-64230Prohibit writing versions of metadata that are too high -
KT-62346Sublists of ListBuilder does not correctly detect ConcurrentModification -
KT-57922kotlinx-metadata-jvm does not take into account strict semantics flag -
KT-63447K2: stdlib buildscript error: file included in two modules -
KT-62785Drop unnecessary suppresses in stdlib after bootstrap update -
KT-62004Drop legacy JS compilations of stdlib and kotlin-test -
KT-61614WASM: Enum hashCode is not final
Multiplatform Wizard
-
KT-66188Update Compose for Desktop version to 1.6.0
Native
New Features
-
KT-61642[K/N] Serialize full IdSignatures to caches
Performance Improvements
-
KT-63749konan_lldb.py: is_string_or_array inefficient
Fixes
-
KT-67218Native: nested classes in kx.serialization ProtoBuf produce empty array for release binary -
KT-66390Universal binary in included binaries produces universal archive as output -
KT-60817K2/N: Fix remaining tests -
KT-65659[K/N][K2] Typealiased kotlin.Throws isn't translated to NSError out param -
KT-64249Native: Implicit cache directory search is O(n^2) -
KT-61695[K/N] Empty list error in FakeOverridesActualizer with K2 -
KT-57870compileKotlinNative fails on windows if PATH contains invalid entry -
KT-64508IndexOutOfBoundsException in Konan StaticInitializersOptimization -
KT-50547[Commonizer] K/N echoServer sample fails with multiple "Unresolved reference" errors on Windows -
KT-62803Konanc has print statement "Produced library API in..." that should be deleted or properly logged at INFO level -
KT-61248[K/N] Extract native manglers out ofbackend.nativemodule
Native. Build Infrastructure
-
KT-63905Extract ObjC Export Header generation from K/N backend -
KT-63220[K/N] Unable to specify custom LLVM distribution
Native. C and ObjC Import
-
KT-63049NPE in BackendChecker.visitDelegatingConstructorCall compiling ObjC-interop class -
KT-49558Kotlin/Native: "Backend Internal error: Exception during IR lowering" while compiling "val ldap = memScoped { alloc() }" -
KT-64105[K2/N] cannot access Objective-C forward declared class used only in a dependent lib -
KT-59597[K\N] Usage of instancetype in block return type crashes -
KT-63287[K/N] Create test model for building/executing C-Interop tests -
KT-63048K2 ObjC interop: Fields are not supported for Companion of subclass of ObjC type
Native. ObjC Export
-
KT-66565Exporting framework "umbrella" produces an unimportable framework -
KT-65863Native: implement a flag to emit compiler errors on ObjCExport name collisions -
KT-63153Native: implement a flag to emit compiler warnings on ObjCExport name collisions -
KT-62091KMP for iOS framework with private api : __NSCFBoolean
Native. Runtime
-
KT-65170Kotlin/Native: deprecate -Xworker-exception-handling=legacy with error
Native. Runtime. Memory
-
KT-62689Native: generate signposts for GC performance debugging -
KT-63423Kotlin/Native: huge dispose-on-main overhead -
KT-66371Native: nullptr access during concurrent weak processing in CMS GC -
KT-64313Kotlin Native: Seg Fault during Garbage Collection on 1.9.21 (observed on iOS) -
KT-61093Kotlin/Native: enable concurrent weak processing by default
Native. Stdlib
-
KT-60514Add llvm filecheck tests for atomic intrinsics
Native. Testing
-
KT-67501Mute flaky driver tests on macOS agents -
KT-64755Setup test for CMS GC -
KT-66014[K/N][Tests] Some testsuites don't test two-stage compilation and lose -language-version flag -
KT-64393Use Compiler Core test infrastructure for testing serialization diagnostics on Native -
KT-61871Native CompilerOutput tests should be runned for K2 -
KT-65117ImplementIrBackendFacades for Kotlin/Native backend -
KT-65979Improve test coverage on K/JS and K/JVM with existing tests -
KT-64408[K/N] No tests have been found foreagerInitializationGlobal1test with per-file-caches -
KT-64256IR_DUMP directive doesn't enforce FIR_IDENTICAL when it is possible -
KT-62157Native: Migrate FileCheck tests to new native test infra
Reflection
-
KT-65156Calls tocallBythat use default arguments fail withKotlineReflectionInternalErrorwhen the argument size is a multiple of 32 in a constructor that containsvalue classas a parameter -
KT-57972Reflection: "KotlinReflectionInternalError" when usingcallBywith overridden function in inline class -
KT-60708Reflection: Not supported)(parentheses in backticks) -
KT-60984K2: java.lang.ClassNotFoundException: kotlin.Array in runtime with Spring Boot test -
KT-60709Reflection: Not recognized bound receiver in case of 'equals' always returning true
Specification
-
KT-65651Add Vladimir Reshetnikov to the specification "Acknowledgments" section -
KT-54499Update kotlin specification for non-local break and continue
Tools. Build Tools API
-
KT-61860Add infrastructure for BTA tests -
KT-65048"Can't get connection" (to daemon) when classpath has spaces
Tools. CLI
New Features
-
KT-66703Add JVM target bytecode version 22 -
KT-64989Mark the whole diagnostic position range instead of only start position
Fixes
-
KT-65094K2: Revise PerformanceManager reporting -
KT-67417CLI: Remove option -Xrepeat -
KT-65451K2: CLI: false positive warning "scripts are not yet supported with K2 in LightTree mode" on irrelevant files in source directory -
KT-65842K2 / CLI: "kotlinc -version" creates META-INF/main.kotlin_module -
KT-66926Add a flag to report warnings when errors are found -
KT-64384Until the REPL in K2 is not supported, display an appropriate warning -
KT-64608K2: Wrong end position of compiler diagnostics -
KT-64013CLI REPL: "com.sun.jna.LastErrorException: [14] Bad address" on invoking kotlinc from CLI on ARM Mac -
KT-62644Don't enable in progressive mode bug-fix features without target version -
KT-62350CLI: no color output on Apple silicon Macs -
KT-61156K2: do not try to run compilation if there were errors during calculation of Java module graph -
KT-48026Add the compiler X-flag to enable self upper bound type inference
Tools. CLI. Native
-
KT-64517Drop deprecated KonanTargets
Tools. Commonizer
-
KT-64376Commonizer incorrectly retains UnsafeNumber annotation in target sets where it shouldn't
Tools. Compiler Plugin API
-
KT-59555Expose resource closing extension point inCompilerPluginRegistrar -
KT-64444K2: IrGeneratedDeclarationsRegistrar.addMetadataVisibleAnnotationsToElement doesn't work for declarations in common module
Tools. Compiler Plugins
New Features
-
KT-63617Add kotlin-power-assert to Kotlin repository -
KT-33020Support stripping debug information in the jvm-abi-gen plugin -
KT-64591Data class' copy method is never stripped from ABI -
KT-65690jvm-abi-gen: Remove internal declarations from ABI -
KT-64590jvm-abi-gen: Effectively private classes are not being removed from ABI
Fixes
-
KT-64707K2: Parcelize ignores@TypeParcelerset for typealias -
KT-67523[K2] Actualizer cannot reconcile mismatched parameter names from java supertypes -
KT-67489JsPlainObjects Plugin: Method not found when consuming -
KT-63607Migrate kotlin-power-assert into Kotlin repository -
KT-67354K2 Parcelize: support efficient Parcel serializer for parcelables in the same module -
KT-64454K2: Implement ParcelizeIrBytecodeListingTestGenerated for K2 -
KT-67353K2 Parcelize: support parcelableCreator intrinsic -
KT-66526K2: Special function kind setup does not work for value parameter whose type is function with a receiver -
KT-63507K2 / All-open plugin: "'open' has no effect on a final class" warning -
KT-66208PowerAssert: some built-in operators are not aligned correctly for some values -
KT-65810PowerAssert: Infix transformation doesn't capture full context -
KT-65640PowerAssert: Infix function not aligned correctly -
KT-61993K2: Synthetic file classes are generated with start offset of 0, causing errors during compilation -
KT-64971Exception is thrown when compiling kotlinx.coroutines to Native because of the new signature clash diagnostics -
KT-59074K2: false-positive MUST_BE_INITIALIZED_OR_FINAL_OR_ABSTRACT if allOpen plugin is used and a val is defined with init {} block -
KT-64589jvm-abi-gen: Order of class members affects ABI jar -
KT-65072jvm-abi-gen: SourceDebugExtension annotation isn't stripped along with corresponding attribute -
KT-54025[K2] [NONE_APPLICABLE] compiler error in case @ AllArgConstructor annotation is used together with a static field -
KT-54054[Lombok] An extra unneeded constructor parameter is expected by compiler if java class annotated with @ AllArgsConstructor and has private final initialized field -
KT-61432K2 Parcelize. RawValue is not recognized if parameter is annotated via typealias -
KT-64656K2: realm-kotlin: compilation errors in IR plugin -
KT-53861K2. Report SERIALIZER_TYPE_INCOMPATIBLE on specific type argument in kotlinx.serialization -
KT-63086K2: "Parcelable should be a class" -
KT-60849jvm-abi-gen: do not treat hasConstant property flag as a part of ABI for non-const properties -
KT-53926K2. Don't check serializable properties from supertypes
Tools. Compiler plugins. Serialization
-
KT-65757K2: Missing@Deprecatedannotation on synthesized declarations -
KT-63539K2: Missing "Serializable class has duplicate serial name of property" -
KT-63570K2 / Serialization: "Class * which is serializer for type * is applied here to type *. This may lead to errors or incorrect behavior." -
KT-64447K2: Implement Serialization...IrBoxTestGenerated for K2 -
KT-63591K2: "KotlinReflectionInternalError: Could not compute caller for function" on generated internal constructor -
KT-64124Different klib signatures in K1/K2 for a serializable class -
KT-63402K2 / Serialization: "SyntheticAccessorLowering should not attempt to modify other files!" caused by sealed base with generic derived class in separate files -
KT-62215Serialization / Native: "IllegalArgumentException: No container found for type parameter" caused by serializing generic classes with a field that uses generics -
KT-62522K2 + kotlinx.serialization + Native: NPE when generic base class has inheritor in other module
Tools. Daemon
-
KT-64283Configure correct JVM arguments when starting the daemon
Tools. Fleet. ObjC Export
Fixes
-
KT-66695Moveanalysis-api-klib-readerpackage into 'o.j.k.native.analysis.api` -
KT-65384ObjCExport: class super name special case -
KT-66380ObjCExport: support interface implementation -
KT-65670ObjCExport: Naming: Support additional module based prefix -
KT-64953ObjCExport: Analysis-Api: enum -
KT-65348ObjCExport: Char as function return type -
KT-65738ObjCExport: Analysis-Api: Generate base declarations -
KT-65204ObjCExport: Analysis Api: Support nested classes -
KT-65225ObjCExport: implement KtCallableSymbol.isArray -
KT-65108ObjCExport: Tests: Check if 'requirePlatformLibs' is necessary -
KT-65281ObjCExport: AA: Run already passing Unit Tests on CI -
KT-65080ObjCExport: Analysis-Api: error handling -
KT-64952ObjCExport: Analysis-Api: object -
KT-64076ObjCExport: Do not retain descriptors in stubs -
KT-64227ObjCExport: Extract Header Generation to base module -
KT-64168ObjCExport: Split header generator module into K1 and Analysis Api -
KT-64869ObjCExport: Analysis-Api: Support 'MustBeDocumented' annotations -
KT-64839ObjCExport: Enable tests on CI for aggregate -
KT-64888ObjCExport: Analysis Api: Support exporting KDoc
Tools. Gradle
New Features
-
KT-67253Support per-target configuration in compose-compiler-gradle-plugin -
KT-67006Create new compose compiler Gradle plugin -
KT-62921Add API to allow getting the version of the kotlinc compiler -
KT-61975Re-purpose kotlin.experimental.tryK2 -
KT-64653Add Kotlin DslMarker into Gradle plugin DSL -
KT-59627FUS base plugin -
KT-62025K/Wasm: Support binaryen for wasi
Performance Improvements
-
KT-60664Gradle 8.3: KGP eagerly creates compile task -
KT-64353Improve reuse of Build Tools Api's classloader -
KT-66912Parallel compilation slowdown due to synchronization -
KT-63005Avoid registering KMP related compatibility/disambiguration rules for pure JVM/Android projects
Fixes
-
KT-58768Support configuration cache and project isolation for FUS statistics -
KT-65143Use the new ConfigurationContainer dependencyScope method to create dependency declaration configurations -
KT-62640Compatibility with Gradle 8.5 release -
KT-62639Compatibility with Gradle 8.4 release -
KT-59024Compatibility with Gradle 8.3 release -
KT-58064Compatibility with Gradle 8.2 release -
KT-64355Add plugin variant for gradle 8.5 -
KT-67746Indicate for users they need to apply the new Kotlin Compose Gradle plugin -
KT-67387Enable intrinsic remember by default in compose compiler gradle plugin -
KT-64115KGP + JVM/JS/WASM: The same library can be passed twice to the compiler -
KT-67762Rename Kotlin Compose Compiler plugin on Gradle portal -
KT-64504Remove ownModuleName from AbstractKotlinCompile -
KT-67778Clarify documentation for compose metricsDestination property -
KT-67139Build reports can be overridden -
KT-67138Json report is empty for incremental compilation -
KT-67685KotlinBaseApiPlugin regression with Gradle's Configuration Cache in 2.0.0-RC1 -
KT-64567[FUS] Add boolean flag into kotlin.gradle.performance collector -
KT-67515Remove 'experimental' from compose strong skipping mode -
KT-67441Gradle remote cache misses in the compose plugin -
KT-67602Compose gradle plugin: a deprecated plugin option 'experimentalStrongSkipping' is added by default that causes a warning -
KT-67200Compose gradle plugin: 'suppressKotlinVersionCompatibilityCheck' option is duplicated if added as a kotlin option for the KotlinCompile task and kapt is used -
KT-67216Compose compiler plugin: false-positive versions incompatibility is reported -
KT-64379Removekotlin.useK2gradle property -
KT-62939Bump minimal supported AGP version to 7.1 -
KT-63491Restore access to top-level DSL to configure compiler options in MPP -
KT-65935Track project isolation Gradle feature -
KT-65934Track if Gradle configuration cache is enabled in the user builds -
KT-66459PowerAssert: Improve design of excludedSourceSets extension property -
KT-64203Throw exception when old build report properties are used -
KT-62758Gradle: make precise task outputs backup enabled by default -
KT-65568Deprecate the ability to configure compiler options in KotlinCompilation -
KT-63419Deprecate 'kotlinOptions' DSL -
KT-64848Log K/Native compiler arguments with log level specified for compiler arguments -
KT-58223Kotlin Gradle plugin shouldn't store data in project cache directory -
KT-61913Validate LanguageSettings KDoc -
KT-61171CompilerPluginsIncrementalIT.afterChangeInPluginBuildDoesIncrementalProcessing doesn't provide a compiler plugin for K2 leading to the test failure -
KT-62131Could not isolate value org.jetbrains.kotlin.gradle.plugin.statistics.BuildFlowService$Parameters_Decorated@63fddc4bof type BuildFlowService.Parameters -
KT-66961Early access to gradle.rootProject leads to an exception -
KT-61918Removal of an associated compilation from a build script doesn't lead to full recompilation -
KT-63619Add Kotlin power-assert compiler plugin to feature usage statistics gathering -
KT-62108Wrong scope of compiler options is used while configuring options for all targets and all compilations -
KT-55322Kotlin daemon: Cannot perform operation, requested state: Alive > actual: LastSession -
KT-66429Move WASM stability warning to KGP Tooling Diagnostics and report it once per build -
KT-63165Gradle: checkKotlinGradlePluginConfigurationErrors uses deprecated Gradle behavior -
KT-66374Diagnostic for deprecated properties: false-positive warning is reported forkapt.use.k2property -
KT-64117K2: "'when' expression must be exhaustive" state does not fail compilation -
KT-58443Change deprecation level to WARNING for KotlinOptions -
KT-65768Don't pass -Xfragment-sources for non-mpp compilations -
KT-62398KMP: Compose breaks resolution of stdlib declarations in common source set -
KT-64046Provide K/N version to KGP when -Pkotlin.native.enabled=true -
KT-66154Cannot access 'org.slf4j.spi.LoggingEventAware' in the Space K2 QG -
KT-65952PowerAssert: Update Gradle extension to be more idiomatic -
KT-65951PowerAssert: Add Gradle integration tests to compiler plugin -
KT-66373[Wasm, KGP] Npm is not configured for JS usagе for wasmWasi project -
KT-66314Build reports in JSON: property 'kotlin.build.report.json.directory' without value causes NPE -
KT-64380Add project diagnostics for deprecated properties -
KT-65986GradleDeprecatedOption.removeAfterdoes not actually remove arguments from the compilerOptions/kotlinOptions DSLs -
KT-65989Compile against Gradle API 8.6 -
KT-65819Build Gradle Plugins against Gradle 8.5 API -
KT-65701Limit Gradle daemon max memory in integration tests -
KT-65708Flaky tests because of ivy repos in Integration Tests -
KT-56904Enable warnings-as-error for Kotlin Gradle plugins compilation -
KT-65606Out of memory in Anki Android in the K2 QG -
KT-65347K/N has not been dowloaded before :commonizeNativeDistribution -
KT-65213Collect logic for FUS metrics calculation in one place -
KT-61698Compiler options configured inside metadata {} target set up all targets in a project -
KT-64824Move validateParameters from CInteropProcess to diagnostics -
KT-60879Deprecation warning on trying to configure Configuration multiple times -
KT-64251KGP: Cannot re-use tooling model cache with Project Isolation due to "~/.gradle/kotlin-profile" changing -
KT-64655K2: PeopleInSpace: K2 build fails during Gradle config -
KT-63697The warning is still presented in terminal after suppressing it with -Xexpect-actual-classes flag -
KT-62527Gradle: get rid of theProject.buildDirusages -
KT-60733Allow specify log level for compiler arguments used to compile sources -
KT-63369Fix: "The org.gradle.api.plugins.BasePluginConvention type has been deprecated." -
KT-63368Fix "The automatic loading of test framework implementation dependencies has been deprecated. " -
KT-63601Fetching Gradle compiler DSL objects using raw strings is inconvenient in the Groovy DSL -
KT-62955Missing static accessors for Wasm targets in Kotlin Gradle plugin DSL: -
KT-62962Remove COMPILE_INCREMENTAL_WITH_ARTIFACT_TRANSFORM system property -
KT-62264Send build type report metric to FUS -
KT-62650Gradle: Return the usage ofkotlin-compiler-embeddableback -
KT-61295KotlinTestReportcapturesProject.buildDirtoo early -
KT-62987Add tests for statistics plugin in Aggregate build -
KT-62964Build Gradle plugin against Gradle 8.4 API -
KT-62617Update report configuration project FUS metrics -
KT-61896Gradle: compilation via build tools API doesn't perform Gradle side output backups -
KT-62016ClassNotFoundException on org.jetbrains.kotlin.backend.common.serialization.metadata.DynamicTypeDeserializer in the K2 QG -
KT-56574Implement a prototype of Kotlin JVM compilation pipeline via the build tools API -
KT-61206Build system classes may leak into the Build Tools API classloader -
KT-61737GradleStyleMessageRenderer.render misses a space between the file and the message whenlocationis (line:column = 0:0)
Tools. Gradle. Cocoapods
-
KT-57650Gradle Cocoapods: use pod install --repo-update instead of pod install -
KT-63331CocoaPods plugin noPodspec() causes "property * specifies file * which doesn't exist."
Tools. Gradle. JS
Fixes
-
KT-55620KJS / Gradle: plugin doesn't support repositoriesMode -
KT-65870KJS / Gradle: kotlinUpgradePackageLock fails making Yarn unusable -
KT-66917JS/Wasm: Upgrade NPM dependencies -
KT-63040K/JS: Rework outputs of webpack and distribution task -
KT-61992KJS / Gradle: KotlinJsTest using KotlinMocha should not show output, and should not run a dry-run every time. -
KT-65295Gradle: K/N and K/JS tests may produce unrequested TeamCity service messages -
KT-63435KJS: Get rid of deprecated outputFileProperty of Kotlin2JsCompile -
KT-61294NodeJsRootExtensioncapturesProject.buildDirtoo early -
KT-59282K/JS: KotlinJsIrLinkConfig is not compatible with Configuration Cache in Gradle 8.1.1 -
KT-62780K/JS: Deprecate node-specific properties in NodeJsRootExtension -
KT-63544KGP: JS - KotlinJsIrLink is not compatible with Gradle CC starting 8.4 -
KT-63312KJS: Apply IR flags for JS compilations unconditionally -
KT-62633wasmWasi/JsNodeTest tasks are always not up-to-date -
KT-63225java.lang.ClassNotFoundException: org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation in the K2 QG -
KT-41382NI / KJS / Gradle: TYPE_MISMATCH caused by compilations.getting delegate -
KT-53077KJS / Gradle: Remove redundant gradle js log on kotlin build -
KT-56300KJS / Gradle: plugin should not add repositories unconditionally -
KT-60694KJS: Remove K/JS legacy support from Gradle plugin -
KT-56465MPP: Import with npm dependency fails with "UninitializedPropertyAccessException: lateinit property fileHasher has not been initialized" if there is no selected JavaScript environment for JS target -
KT-41578Kotlin/JS: contiuous mode: changes in static resources do not reload browser page
Tools. Gradle. Kapt
-
KT-62518kapt processing is skipped when all annotation processors are indirect dependencies -
KT-27404Kapt does not call annotation processors on custom (e.g., androidTest) source sets if all dependencies are inherited from the main kapt configuration -
KT-22261Annotation Processor - in gradle, kapt configuration is missing extendsFrom
Tools. Gradle. Multiplatform
New Features
-
KT-66047KMP: Isolate dependencies graph between main and test source sets -
KT-61559Include stdlib and platform dependencies to KotlinNativeCompilation.compileDependencyFiles API -
KT-65196Add high-level DSL to configure compiler options in the multiplatform project
Performance Improvements
-
KT-57141K2: KotlinCompile task input named 'multiplatformStructure.fragments.$0.sources' is tracked in a pure JVM kotlin project together with changes of sources
Fixes
-
KT-65315KMP Composite compileIosMainKotlinMetadata fails with "Could not find " -
KT-67042K2: Unresolved reference 'convertRadiusToSigma' -
KT-66983MPP Configuration Cache IT fails with Gradle 8.7 on windows -
KT-60489Android-java only consumers (no KGP applied) choose Java-variant instead of Android-variant when depending on MPP library -
KT-67806KMP import fails if android target has flavors -
KT-67636Gradle configuration error when use withJava() -
KT-63536KMP: MetadataDependencyTransformationTask is not Thread Safe -
KT-67127KMP: IDE Dependency Resolver for CInterops reports errors on linux and windows machines -
KT-66514Don't get output file from Cinterop task for IDE Import if host os doesn't support it -
KT-65426K2: Debug compilation fails because code from main source set included in two K2 fragments -
KT-65480MissingNativeStdlibChecker checks existence of konanDistribution.stdlib during configuration phase -
KT-61945Report redundant dependsOn-edges -
KT-65187Remove deprecated platform plugins ids -
KT-49919Introduce theorg.gradle.jvm.environmentattribute on JVM and Android published variants (both for MPP and non-MPP libraries) -
KT-66419Remove useless API: Kotlin compilation level compiler options DSL -
KT-64913Report warning if user has multiple source set roots for a certain compilation -
KT-66563Stop including resources to metadata klib -
KT-61078K2: Compilation fails in FirSerializer trying to serialize nested class -
KT-66372KMP: JVM dependency can be downgraded by metadata dependency -
KT-66431KMP: External Target Compilation friendArtifactResolver throws ClassCastException -
KT-64995KonanPropertiesBuildService is not compatible with Project Isolation -
KT-61430K2/KMP: metadata compilation fails with Unresolved reference for property in actual class -
KT-63753K2: File "does not belong to any module" when it is generated byregisterJavaGeneratingTaskin AGP -
KT-62508Merge Android Source Sets into one K2 Fragment -
KT-61943Mark thecheckKotlinGradlePluginConfigurationErrorsas UP-TO-DATE when possible -
KT-63206Deprecate eager CInteropProcess.outputFile in favor to lazy outputFileProvider -
KT-65248Native compile task fail with ClassNotFoundException: org.jetbrains.kotlin.cli.utilities.MainKt -
KT-56440TCS: Gradle Sync: Add API to populate extras only during sync -
KT-64629Gradle configuration fails: 'fun jvmToolchain(jdkVersion: Int): Unit' can't be called in this context by implicit receiver -
KT-63226KGP Multiplatform Ide Dependency Resolution: Use gradle variants instead/in addition of ArtifactResolutionQuery -
KT-60734Handle the migration from ios shortcut and source set withgetting -
KT-63197After using Kotlin 1.9.20 on Windows 11, the gradle sync failed -
KT-61540K2: KMP/K2: Metadata compilations: Discriminate expect over actual by sorting compile path using refines edges -
KT-60860K2: FixKotlinNativeCompileArgumentsTestin 2.0 branch -
KT-61463KMP: Remove unused 'kpm' code -
KT-40309A call of a declaration with actual typealiases is incorrectly successfully compiled in commonTest using the type from actual part
Tools. Gradle. Native
New Features
-
KT-49268Only download Kotlin/Native Compiler when there are valid targets
Performance Improvements
-
KT-58303Kotlin multiplatform Gradle plugin downloads Kotlin/Native compiler during configuration
Fixes
-
KT-67522K/N toolchain: unclear compilation error if path specified as a value for the kotlin.native.home doesn't provide the kotlin native compiler downloaded -
KT-67521K/N warning checking existence of the standard library isn't displayed when the native toolchain enabled and the kotlin native home dir doesn't contain stdlib -
KT-65624K/N warning: "The Kotlin/Native distribution used in this build does not provide the standard library." is displayed during configuration phase -
KT-66694Disable Kotlin Native Toolchain when custom konan home passed -
KT-66309K/N compiler can't be downloaded if project import is stopped while 'commonizeNativeDistribution' task is being executed and rerun again -
KT-65641Invalid replacements for deprecated properties 'konanHome' and 'konanDataDir' are suggested as quick fixes -
KT-65823Add downloading k/n dependencies to KotlinNativeProvider -
KT-62907Turn on downloading Kotlin Native from maven by default -
KT-62795CInteropProcess task resolves cinterop def file eagerly, breaking Gradle task dependencies -
KT-66982Gradle plugin corrupts Native compiler dependencies -
KT-66750Cannot query the value of task ':commonizeNativeDistribution' property 'kotlinNativeBundleBuildService' because it has no value available -
KT-64903Add maven repo with dev versions into IT -
KT-66422Configuration cache breaks during Kotlin Native dependencies downloading -
KT-65985Race condition during simultaneous execution of several native tasks -
KT-51379Build fails when usingRepositoriesMode.FAIL_ON_PROJECT_REPOSwith kotlin multiplatform projects -
KT-52567Use Gradle dependency management for downloading Kotlin/Native compiler when compiling with Gradle -
KT-65222Native compile task fails after clean reimport -
KT-52483Sign native prebuilt tars -
KT-62800CInteropProcess should not require .def file to exist -
KT-51255Kotlin/Native should not download compiler artifacts when not necessary -
KT-62745iOS application build is failing if script sandboxing option is enabled in Xcode -
KT-61657KonanTarget should implement equals or custom serialization -
KT-62232embedAndSignAppleFrameworkForXcode task is broken with 1.9.20-Beta2 -
KT-56455Gradle: removeenableEndorsedLibsfrom codebase -
KT-51553Migrate all Kotlin Gradle plugin/Native tests to new test DSL and add CI configuration to run them
Tools. Incremental Compile
New Features
-
KT-61865Add support for incremental compilation within the in-process execution strategy in the build tools api
Fixes
-
KT-61137Incremental scripting compilation fails with 2.0 -
KT-65943Incorrect scopeFqName recorded in LookupTracker -
KT-56423IC: "Cannot access class 'xxx.Foo'. Check your module classpath for missing or conflicting dependencies" in tests and KSP -
KT-62101IC: Execution failed for ClasspathEntrySnapshotTransform: when using tools.jar as dependency -
KT-62686K2: Common module sees platform declarations in case of MPP project incremental compilation -
KT-63837Implement baseline fix for common sources getting access to platform declarations -
KT-64513Simplify adding configuration properties to incremental compilation -
KT-21534IC doesn't recompile file with potential SAM-adapter usage -
KT-63839Measure impact of rebuilding common sources, using nightly IC benchmarks -
KT-64228K2: After switching to LV20 branch incremental tests are not running on PSI anymore -
KT-46743Incremental compilation doesn't process usages of Java property in Kotlin code if getter is removed -
KT-60522Incremental compilation doesn't process usages of Java property in Kotlin code if return type of getter changes -
KT-56963Add MPP/Jvm incremental compilation tests for both K1 and K2 modes -
KT-63876Move useful utilities from KmpIncrementalITBase.kt to KGPBaseTest and/or common utils -
KT-63010Build reports may contain incorrect measurements for "Total size of the cache directory" -
KT-59178With language version = 2.0 incremental compilation of JVM, JS fails on matching expect and actual declarations -
KT-60831Fix IncrementalMultiplatformJvmCompilerRunnerTestGenerated in 2.0 branch
Tools. JPS
-
KT-65043JPS dumb mode should respect maps needed for the compiler -
KT-55393JPS: Java synthetic properties incremental compilation is broken -
KT-63549Add compiler performance metrics to JPS build reports -
KT-63484JPS Kotlin Incremental Compilation Overcaching -
KT-62486K2 Intellij build: Execution timeout after changes in IC in the K2 QG -
KT-60737Investigate/fix JPS-related tests in 2.0 migration branch
Tools. Kapt
Fixes
-
KT-66541K2 KAPT: KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirPropertyAccessExpressionImpl' to be resolved -
KT-64303K2 KAPT: Kapt doesn't dispose resources allocated by standalone analysis API -
KT-66773KAPT: Generated stubs cannot access annotations from other module -
KT-65399K2 QG: Kapt3 with K2 produces incorrect code -
KT-65684KAPT: (Re)enable fallback to K1 KAPT and make it default -
KT-44706KAPT:@JvmRecordcauses "Record is an API that is part of a preview feature" -
KT-59488K2: build sphinx-kotlin -
KT-64391Some K2 Kapt integration tests are being executed with K1 -
KT-65404KAPT should print a warning if stub generation is triggered for an interface with method bodies but without -Xjvm-default=all or -Xjvm-default=all-compatibility -
KT-65453Kapt4: error "annotation@ParameterNameis missing a default value for the element 'name'" for a composable lambda fun without parameters -
KT-61080Kapt: investigate suspicious check for KMutableMap.Entry in KaptTreeMaker -
KT-65006[kapt] org.jetbrains.kotlin.utils.exceptions.KotlinIllegalArgumentExceptionWithAttachments: Error while resolving org.jetbrains.kotlin.fir.declarations.impl.FirRegularClassImpl in the K2 QG -
KT-64479Kapt4 + Compose. Error: scoping construct cannot be annotated with type-use annotation:@androidx.compose.runtime.Composable -
KT-64719K2 KAPT Stub genertaion doesn't fail on files with syntax errors -
KT-64680Kapt: remove the flag to enable old JVM backend -
KT-64639KAPT+JVM_IR: erased error types in JvmStatic and JvmOverloads -
KT-64389K2 KAPT generates invalid code for multiple generic constraints -
KT-61776K2: KAPT tasks fail with parallel gradle -
KT-64021Kapt3 + Kapt4. NullPointerException: processingEnv must not be null -
KT-64301K2 KAPT: Kapt doesn't report invalid enum value names to log -
KT-64297K2 KAPT: Deprecated members are not marked with@java.lang.Deprecated -
KT-60821[KAPT4] Make sure that KAPT produces correct JCTree; if that's not possible, investigate using JavaPoet as an alternative -
KT-62059Kapt4IT.kt18799 test fails - cannot find symbol Factory -
KT-62097K2: [KAPT4] Keep import statements for unresolved annotation classes -
KT-61628K2: testAndroidDaggerIC doesn't work with Kapt4 -
KT-61916K2 KAPT. Kapt doesn't generate fully qualified names for annotations used as arguments to other annotations -
KT-61729K2: KAPT 4: Compiler crash during compilation of Sphinx for Android -
KT-61333K2 Kapt: support REPORT_OUTPUT_FILES compiler mode -
KT-61761Kapt4ToolIntegrationTestGenerated should not use Kapt3ComponentRegistrar -
KT-59702KAPT4: Build sphinx-kotlin using KAPT4
Tools. Maven
-
KT-63322Add tests for KTIJ-21742 -
KT-54868Stop publishingkotlin-archetype-js -
KT-60859K2: Fix mavenIncrementalCompilationITtests in 2.0 branch
Tools. Parcelize
-
KT-57685Support ImmutableCollections in Parcelize plugin
Tools. REPL
-
KT-18355REPL doesn't quit on the first line after pressing Ctrl+D or typing :quit
Tools. Scripts
-
KT-67727Kotlin Scripting with language version 2.0 fails during IR lowering on empty scripts -
KT-66395K2: Scripting test testHelloSerialization fails on K2 -
KT-63352Scripting dependencies resolver logs "file not found" even if the artefact is retrieved -
KT-62400K2: Missing annotation resolving for scripts -
KT-65865K2: Compile scripts in a separate session -
KT-65967Scripts in common source roots should be forbidden for now -
KT-58367Remove script-util from the repo
Tools. Wasm
New Features
-
KT-63417KMP hierarchy DSL. Split withWasm() into withWasmJs() and withWasmWasi() -
KT-64553K/Wasm: enable binaryen by default in production builds
Fixes
-
KT-65864K/Wasm: update Node.js to 22.x -
KT-67785Kotlin/Wasm: Node.JS 22 does not need experimental-wasm-gc flag anymore -
KT-66228K/Wasm 2.0.0-Beta4 distribution doesn't contain all files -
KT-66159K/Wasm: applyBinaryen somehow affects skiko.mjs -
KT-67086K/Wasm: wasi with binaries.library fails on import and build -
KT-65889wasmJsBrowserDistribution doesn't copy wasm binaries to dist folder -
KT-66733wasmWasiTest is not compatible with Gradle Configuration Cache -
KT-64851Wasm. Support Gradle configuration cache -
KT-64601Indicate that wasmJsBrowserDevelopmentRun has finished bundling -
KT-65686K/Wasm: Binaryen and d8 have to be downloaded via the same mechanism as Node.js and Yarn -
KT-58291Wasm: --tests argument is ignored when running wasmBrowserTest
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.