You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
KT-58834 Analysis API: Add source shadowing feature to resolve extensions
Performance Improvements
KT-57515 LL FIR: Performance bottleneck in CompositeModificationTracker.getModificationCount
KT-59266 K2: optimize FirElementBuilder.getOrBuildFir for elements outside body
KT-59454 K2: drop resolve from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
KT-59453 K2: completion regression from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
KT-59189 Analysis API: KtFirKDocReference.resolveToSymbols is slow
KT-58125 K2: LL FIR: KtToFirMapping.getElement is slow for KtUserTypes due to on-air resolution of types
Fixes
KT-59240 K2: FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS) cannot be called from a transformer with a phase IMPORTS from superTypes
KT-58499 K2: FirLazyBlock should be calculated before accessing
KT-57966 K2: Analysis API: Reference Shortener does not work correctly when called on entire file
KT-60954 K2: Analysis API: Reference shortener does not work correctly with variable assignments
KT-57743 K2 IDE: StackOverflowError from LLFirSessionCache for simple JPS project with cyclic dependencies
KT-61026 K2 Scripts: FirLazyExpression should be calculated before accessing from on-air resolve
KT-61009 K2 Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
KT-60357 K2 IDE. Reified types parameters are not resolved in a function body
KT-60317 K2 IDE. IAE "This method will only work on compiled declarations, but this declaration is not compiled" on invoking Find Usages for enum method in library
KT-60706 K2 IDE: FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-common
KT-60552 K2: merge StateKeeper and lazy body calculator for ANNOTATIONS_ARGUMENTS_MAPPING transformer
KT-60641 Analysis API: Scope for class org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found exception when stdlib is missing
KT-60638 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
KT-54846 Analysis API: add isExpect/isActual to KtSymbol
KT-60448 FirLazyResolveContractViolationException: lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS) cannot be called from a transformer with a phase COMPILER_REQUIRED_ANNOTATIONS from AllOpen plugin
KT-59342 K2 IDE. FirLazyResolveContractViolationException: lazyResolveToPhase(TYPES) cannot be called from a transformer with a phase TYPES
KT-59687 K2: Implement proper body update for in-block modifications
KT-60132 K2: properties and functions without a name should be re-analyzable as well
KT-59199 K2 IDE: PSI changes which do not cause OOB modifications can be unseen from the FIR elements
KT-59667 Analysis API: PsiInvalidElementAccessException from JavaClassifierTypeImpl.substitutor
KT-59705 KotlinExceptionWithAttachments: No fir element was found for getter
KT-59697 AA standalone: JRT module paths are not properly populated in Windows
KT-59505 K2: implicit type lazy resolution doesn't work for delegated declaration from other module
KT-56426 K2 IDE: Typealised functional types cannot be rendered
KT-59598 AA: stackoverflow while simplifying a type with a recursive type parameter
KT-58497 K2: Expected FirResolvedTypeRef for initializer type of FirPropertyImpl(Source) but FirImplicitTypeRefImplWithoutSource found
KT-59511 AA standalone mode creates Application Environment for tests
KT-58161 Analysis API: Make methods in KtCallResolverMixIn more distinctive based on their receiver/return type
KT-59093 Do not throw exception on KtCall resolution, KtCallElement.resolveCall should return null on unknown cases
KT-59243 K2: FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS) cannot be called from a transformer with a phase IMPORTS from permits types
KT-58194 K2: Low Level API: use smart pointers to store references to PSI from FIR declarations for JavaElement
KT-59133 K2: java.lang.IllegalStateException: Fir is not initialized for FirRegularClassSymbol
KT-58174 K2: LL FIR: Invalid type reference for T & Any type
KT-58500 K2: null cannot be cast to non-null type org.jetbrains.kotlin.fir.FirPureAbstractElement
KT-58493 K2: Expected FirResolvedTypeRef for default value type of FirValueParameterImpl(Source) but FirUserTypeRefImpl found
KT-58496 K2: Expected FirNamedReference, FirErrorNamedReference or FirFromMissingDependenciesNamedReference, but FirExplicitSuperReference found
KT-58491 K2: Expected FirResolvedTypeRef or FirImplicitTypeRef for return type of FirDefaultPropertyBackingField(Synthetic) but FirUserTypeRefImpl found
KT-56550 LL FIR: implement parallel resolve for non-jumping phases
KT-58503 Analysis API: KtFirNamedClassOrObjectSymbol.visibility/modality do not trigger STATUS resolve
KT-57623 K2 IDE: ConcurrentModificationException from getSuperConeTypes
KT-58652 Native: Implement frontend checkers for HiddenFromObjC on classes
Performance Improvements
KT-59600 K2: CFG: do not add edges to nested classes and functions
KT-57860 K/N: Functions with default arguments of value/inline class types have poor performance due to value class boxing
Fixes
KT-60387 K2: IDE K2: "org.jetbrains.kotlin.fir.expressions.impl.FirArgumentListImpl cannot be cast to class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedArgumentList"
KT-61228 False positive MUST_BE_INITIALIZED_OR_FINAL_OR_ABSTRACT_WARNING for effectively final properties
KT-61643 "Argument type mismatch" for mixed Java/Kotlin Project with Java 21
KT-62389 JDK 21: Cannot access class 'TimeUnit'. Check your module classpath for missing or conflicting dependencies
KT-56768 K2. No error description on incomplete try catch declaration
KT-52220 FIR + LightTree - Consider building a single tree on parsing into LightTree
KT-62027 "java.lang.IndexOutOfBoundsException: Empty list doesn't contain element at index 0" caused by ClassicExpectActualMatchingContext.kt when annotation @AllowDifferentMembersInActual used
KT-62747 Wrong warning message when overriding vararg with Array during actualization
KT-62655 Don't report a warning when new members and new supertypes are added to open expect actualization
KT-62313 Kotlin/Native Compiler crash: ClassCastException in IntrinsicGenerator
KT-60902 visibility vs upper bound expect actual matching conflict
KT-61095 K2: "IAE: source must not be null" from FirMultipleDefaultsInheritedFromSupertypesChecker
KT-47567 'Val cannot be reassigned' error not reported in unreachable code
KT-62127 "NoSuchFieldError: TRUE$delegate" on referencing companion's variable in submodule
KT-62335 Improve debuggability of code generator crashes
KT-61165 More than one overridden descriptor declares a default value for 'cause: Throwable?'. As the compiler can not make sure these values agree, this is not allowed
KT-62263 Turn "different expect/actual members" error into a warning
KT-61645 K2/KMP: Set stdlib-native before stdlib-commonMain in dependencies for shared native metadata compilation
KT-61924 Native: problem with abstract fake override from Any
KT-61933 K2: "Argument type mismatch: actual type is 'Foo<kotlin/Function0<kotlin/Unit>>' but 'Foo<kotlin/coroutines/SuspendFunction0<kotlin/Unit>>' was expected"
KT-60531 K2/JS: Report diagnostics before running FIR2IR
KT-32275 Embedding kotlin-compiler-embeddable into a Java EE App leads to CDI related deployment error
KT-57845 K2. Unresolved reference error on calling Java references with fully qualified name
KT-58757 K2: False-positive NON_PUBLIC_CALL_FROM_PUBLIC_INLINE error in case an inline fun is protected and is a part of an internal abstract class declaration
KT-59736 kotlinx.serialization + K2 + JS: e: java.lang.IllegalStateException: Symbol for kotlinx.serialization.json.internal/FormatLanguage.|-547215418288530576[1] is unbound
KT-59071 K2/MPP: internal declarations from common module are invisible in dependent source sets if there is more that one intermediate source set between
KT-61167 Runtime failure: ReferenceError: MyPromise is not defined
KT-61409 Kotlin/Native: crash in kmm-production-sample (compose-app) with escape analysis enabled
KT-57329 K/N IR linkage issues due to the combination of static caches w/ Lazy IR & Compose compiler plugin
KT-59247 Kapt+JVM_IR: AssertionError on anonymous object in enum super constructor call
KT-58576 K2: IR actualization problems in MPP scenario
KT-61442 K2: Consider stricter filtering on implicit integer coercion
KT-61441 K2: Wrong overload is chosen with ImplicitIntegerCoercion enabled
KT-59328 K2: property with compound getter and without explicit type: compilation failure, IAE "List has more than one element" at FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature()
KT-61159 K2: OVERLOAD_RESOLUTION_AMBIGUITY between private top-level property in same file and top-level property in different module
KT-59233 K2: false-negative diagnostic on creating a callable reference to a function with free type variables
KT-61418 k2: ImplicitIntegerCoercion to List leads to "IllegalStateException: Cannot find cached type parameter by FIR symbol"
KT-61373 False positive: "The opt-in annotation is redundant: no matching experimental API is used" with multiplatform code.
KT-58884 K2: NotAMockException for mock testing with lambda expression with Maven
KT-58893 K2: MockitoException for mock testing with lambda expression with Gradle
KT-54786 MPP: "LazyTypeAliasDescriptor cannot be cast to class org.jetbrains.kotlin.descriptors.ClassDescriptor" caused by expected non-constant function argument on iOS if class is type aliased
KT-59753 K2: NotImplementedError when using annotation with vararg with default value from other module
KT-60883 K2: Fix testRequireKotlinCompilerVersion in LV 2.0 branch
KT-59747 K2: cannot actualize expect class to Unit via typealias
KT-61054 K2: "IAE: source must not be null" with -no-reflect on calling property getter with implicit invoke
KT-57126 [KLIB Reproducibility] Manifest is written using os-dependent line separators
KT-60850 K2: FIR2IR generates incorrect signature for fake overrides for common declaration if it called from a platform module
KT-59218 K2: return types of calls to @PolymorphicSignature methods inside try-expressions don't resolve to void when required
KT-56173 FIR: IrGenerationExtensions cannot see default values from expect declarations
KT-59611 FIR2IR: Unsupported callable reference for enum entry with clashing name
KT-59858 Kotlin Native: Compilation failed: Sequence contains more than one matching element, org.jetbrains.kotlin.backend.konan.lower.FunctionReferenceLowering$FunctionReferenceBuilder.buildClass(FunctionReferenceLowering.kt:644)
KT-58539 [K2] Ir actualization fails to match expect/actual declarations that use custom function types
KT-59775 'toString()' on Object returns different result with concatenation
KT-59737 K2: Actual class 'actual class FastArrayList : AbstractMutableList, MutableListEx, RandomAccess' has no corresponding members for expected class members because of different parameter names in Java
KT-59613 K2: Unhandled intrinsic in ExpressionCodegen exception in for expect function with default value in parameter
KT-59216 K2. Unhelpful unresolved reference when inheriting from interface with constructor call (K1 reports NO_CONSTRUCTOR instead)
KT-58908 K2. Internal error "kotlin.UninitializedPropertyAccessException: lateinit property firType has not been initialized" on incomplete is
KT-56755 K2: Investigate failures related to line numbers with LT compilation enabled
KT-56139 K2: consider adding source element for implicit receivers
KT-57489 K2: Incorrectly generated line numbers in companion object access inside class
KT-58947 Run all existing codegen box tests with kapt stub generation
KT-58827 K2 reports ACTUAL_WITHOUT_EXPECT on the whole class
KT-54917 K2: ILT leak from a completed generic call
KT-56187 K2: type parameter's upper bound is ignored in callable references
KT-56186 K2: lack of type arguments in type constructor is ignored in callable references
KT-59356 K2: Restrict rules for matching of expect supertypes for actual class
KT-57217 K2: NoSuchMethodError on toChar call on java inheritor of java.lang.Number
KT-58356 K2: StackOverflowError with OptIn and Deprecated, while compiling Kotlin project
KT-57954 K2. Auto-generated "entries" member of enum class has higher priority than user-declared companion object with same name when language version is set to 2.0
KT-59508 K2: Make sure that warnings-severity nullability annotations are not perceived as reasons for nullability errors
KT-53820 FIR: mismatching error message for invisible reference/member
KT-58641 K2: PublishedApi has no effect when internal fun used in the test source set
KT-59461 K2: Erroneous null check when returning not-null typealias to nullable type
KT-58980 K2: Import of java field from companion's base breaks the compiler
KT-59140 K2: "Symbol public final static field is invisible" caused by java static field called in kotlin code
KT-59501 Escape analysis constructs arrays of negative size
KT-59452 apiVersionIsAtLeast calls in body of stdlib inline function may be evaluated on compile-time
KT-53967 [PL] Classifiers: Turning interface from fun to non-fun + adding member function causes Kotlin/JS fail: IAE: "Sequence contains more than one matching element"
KT-59346 Not working breakpoints on not initialized variables
KT-55993 Wrong current pointer: strange behaviour of debugger or compiler when two IFs and an uninitialized variable between them
KT-58335 K2: Exposed typealias from implementation dependency produces type mismatch in dependent module
KT-58719 K2: false-positive INVISIBLE_REFERENCE error in case of importing an internal abstract class
KT-57694 K2: False positive [NOTHING_TO_OVERRIDE] for a class overriding 'sort' method from the List collection
KT-58460 K2. return without argument became allowed for functions with return type Any
KT-49249 Incorrect nullability inferred for Throwable
KT-57429 K2: Fix computing a mangled name for members of a generic class that reference the class's type parameters in their signature
KT-57566 K2: Fix name mangling for functions that have dynamic type in their signature
KT-57818 K2: Fix FirMangleComputer to not include the "special" package name into mangled names of property accessors on non-JVM platforms
KT-57777 K2: Fix computing a mangled name for the synthesized entries property getter of an enum class
KT-57433 K2: Fix computing a mangled name for top-level functions and properties
KT-58553 k2: Annotation type arguments are lost in FIR2IR
KT-58184 K2: False negative INVISIBLE_MEMBER on destructuring declaration
KT-58637 K2: False negative ABSTRACT_MEMBER_NOT_IMPLEMENTED on Entry of Enum with abstract member declaration
KT-54952 JvmSerializationBindings does not work with K2
KT-54844 FIR/Analysis API: create stubs for equals/hashCode/toString for data classes in FIR
KT-58555 K2: Generic property reference inside delegation misses type argument
KT-57648 FIR: move deprecation calculation on COMPILER_REQUIRED_ANNOTATIONS phase
KT-57049 K2 generates duplicates of symbols/declarations
KT-55723 K2: deprecations for enum entries are not resolved on the TYPES phase
KT-59033 Doesnβt support vararg parameter in annotation instantiation with empty arguments
KT-58780 JVM IR inline: local property delegation is not working for K2
KT-58779 JVM IR inline: correctly process special inlined block in value class lowering
KT-58720 Generate full InnerClass attributes for the standard library
KT-58215 K2: JVM IR produces line numbers for delegation bridges that are not marked with ACC_BRIDGE
KT-42696 JVM IR generates line numbers for all bridges leading to extra steps in the debugger
KT-57228 K2: annotations for interface member properties implemented by delegation are copied
KT-57216 K2: non-trivial enum declaration does not have ACC_FINAL in the bytecode
KT-55866 K2: Constant as parameter of @JvmName: BE: "Unsupported compile-time value CALL private final fun "
KT-58717 Object on the left-hand side of callable reference is not initialized if KCallable.name optimization is used
KT-59211 Kapt+JVM_IR: AssertionError on delegating to anonymous object
KT-57251 K2: weird error message when trying to instantiate an expect class without explicit constructor
KT-58623 Language version 2.0: compiling into common, Native does not report "Protected function call from public-API inline function is prohibited", while JVM, JS do
KT-55945 NoSuchMethodError when calling method with value class parameter on java class inherited from kotlin class
KT-58840 K1/K2: false positive EXPOSED_FUNCTION_RETURN_TYPE related to protected lower bound
KT-57243 K2: no warning or error reported on expect class in CLI, and JVM backend tries to generate it to a .class file
KT-57833 K2 reports NO_ACTUAL_FOR_EXPECT for inherited properties with the same name
KT-58153 K2/MPP/JVM&Native: cannot override Any::toString when an expect-supertype has Any::toString override in actual-class
KT-58124 K2: FIR2IR compiler crash with MPP (Fir2IrSimpleFunctionSymbol is already bound)
KT-58346 k2: false negative MUST_BE_INITIALIZED for deferred initialization
KT-57803 K2. "Kotlin: Only the Kotlin standard library is allowed to use the 'kotlin' package" error missing in 2.0
KT-57504 [K2/N] Wrong coercion of ILT: 7 to kotlinx.cinterop.COpaquePointer causes Cannot adapt kotlin.Int to kotlinx.cinterop.CPointer during autoboxing
KT-57484 K2: false positive OVERLOAD_RESOLUTION_AMBIGUITY with ImplicitIntegerCoercion
KT-57971 K1/K2: False positive "Redundant 'suspend' modifier" warning on declaration site when suspend function is also argument
KT-56779 Checkers false negative: AbstractMethodError when accessing setter via an interface where the member is defined as var, but it's val in implementation
KT-57003 FIR: missing annotation on parameter of data class' synthetic copy
KT-57269 K2: collection stub for sort is not generated for custom List subclasses
KT-54748 K2: incomprehensible errors when type parameter has the same name as a class
KT-50703 FIR: Improve reporting UPPER_BOUND_VIOLATED for type arguments of typealias constructor calls
KT-57622 Fix incorrect metadata for data class generated methods
KT-54887 K2: fix behavior of references to value classes equals/hashCode/toString
KT-58937 K2: Annotation vararg arguments are incorrectly serialized
KT-58621 K2: Private class shadows public function defined in the same package
KT-59041 K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource " on incorrect collection declaration
KT-59022 Make is and as behaviour consistent in Native
KT-58902 K2: Calls to overridden method with default parameter are not compiled
KT-58549 K2: variable type is infered to non-existing interface
KT-58613 K2: ConcurrentModificationException from FirSignatureEnhancement.performFirstRoundOfBoundsResolution
KT-55552 K2. False negative TYPE_MISMATCH in implementation via delegation
KT-57436 Fix computing mangled names of generic properties from IR-based declaration descriptors
KT-58543 [K2/N] Rewrite native MPP tests to avoid expect actual in same module
KT-57701 Unify selection of inherited callable with default implementation among multiple candidates in JVM, Native & JS backends
KT-58444 K2/MPP/metadata: compiler FIR2IR crash on constant with intrinsic initializer from common source set in Native-shared source set
KT-57756 K2: Missing syntax errors when light tree parsing is used
KT-57435 Fix computing mangled names for functions with context receivers
KT-57219 K2: incorrect relative order of normal and use-site-targeted annotations on property getter in the resulting bytecode
KT-57955 K2: "ClassCastException: class org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl cannot be cast to class org.jetbrains.kotlin.ir.declarations.IrDeclaration" with property delegate
KT-58583 K2: false-positive invisible reference error on nested anonymous object literal extending a protected nested class
KT-57425 K2: False-positive smartcast on property accessed through a property from another module
KT-57844 K2. Not relevant errors when accessing Java member which have private overloads with argument type mismatch
KT-58584 K2: "UninitializedPropertyAccessException: lateinit property packageFqName has not been initialized"
KT-58529 K2: "Extension function type is not allowed as supertypes" compile error
KT-58379 K2: NEW_INFERENCE_ERROR in sortedBy call with exception in branch
KTIJ-26867 K2 IDE: rename refactoring doesn't rename subclasses if they are used in import directives
KTIJ-26848 K2 IDE: index inconsistency in case of "" name
KTIJ-26666 K2 IDE: changed FirFile is treated as fully resolved after in-block modification
KT-59836 Symbol Light Classes: Type parameters from the parent interface aren't copied to DefaultImpls methods
KT-28611 MPP: Gradle -> IDE: settings provided via compilations DSL are not imported into common modules facets
KTIJ-25448 When project JDK is less than one defines in jvmToolchain block, run with Idea fails with has been compiled by a more recent version of the Java Runtime
KT-60603 K2: Investigate intellij tests failures in branch 2.0
KTIJ-25364 K2 IDE: References to Java records are red: OVERLOAD_RESOLUTION_AMBIGUITY, UNRESOLVED_REFERENCE
KTIJ-24390 Kotlin assignment plugin: Imports are not recognized in build logic .kt files for Gradle build
KT-60590 Fix light classes related tests in branch 2.0
KT-60530 K2 scripting: exception on .gradle.kts opening
KT-60539 K2: "KtInaccessibleLifetimeOwnerAccessException: org.jetbrains.kotlin.analysis.api.lifetime.KtReadActionConfinementLifetimeToken@3ce52fd9 is inaccessible: Using KtLifetimeOwner from previous analysis" at highlighting
KTIJ-26276 K2 IDE: Optimize import drops used import alias
KT-60518 K2 IDE. False positive [NON_MEMBER_FUNCTION_NO_BODY] when completing function with Complete current statement
KT-60323 K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" exception on contract return type
KT-56503 K2 IDE: FIR tree is incorrect in a case of ProcessCancelledException was thrown during phase execution
KTIJ-25653 K2 IDE. "KotlinExceptionWithAttachments: Containing function should be not null for KtParameter" exception on incorrect derived class declaration
KT-59843 SLC: KotlinAsJavaSupport.packageExists (via KotlinStaticPackageProvider) said ROOT package doesn't exist if no KtFiles are given
KTIJ-26206 Support retrieving KtType from annotation constructor calls on getters and setters
KT-59445 Recursion detected on input: JavaAnnotationImpl
KTIJ-26066 K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" on attempt to set contract
KTIJ-26085 K2 IDE: treat psi modification of a contact inside a body as OOBM
KTIJ-25869 K2 IDE. Expected FirResolvedTypeRef for return type of FirValueParameterImpl(Source) but FirImplicitTypeRefImplWithoutSource was found
KTIJ-24730 K2 IDE. IllegalStateException on absence of opening bracket in main() function
KT-59533 AA/SLC: anonymous object appears during PsiType conversion, resulting in IllegalArgumentException:KtFirPsiTypeProviderKt.asPsiTypeElement
KT-59563 Symbol Light Classes: Incorrect type erasure in $annotations methods for extension properties with generic parameters
KT-57567 SLC: missing final modifier on enum (non-synthetic) members
KT-59537 SLC: SymbolLightClassForAnonymousObject with null parent
KTIJ-24121 K2 IDE. "failed to convert element KtLightField" when trying to declare property after function that has return with type mismatch
KTIJ-25335 K2 IDE. "failed to convert element KtLightField:" on attempt to set property in class with constructor
KT-59293 Symbol Light Classes: DefaultImpls methods must be static and have an additional $this parameter
KTIJ-25976 K2 IDE: Fix "Unsupported compiled declaration of type" for type parameters
KT-59325 Symbol Light Classes: Non-existing fields for properties from companion objects
KT-57579 SLC: unboxed type argument as method return type
KT-54804 Generate synthetic functions for annotations on properties in light classes
KT-56200 Kotlin FIR reference resolve exception leaks user code
KT-58448 K2 / IDE / SLC: findAttributeValue for attribute w/ default value raises ClassCastException
IDE. Completion
Fixes
KTIJ-26518 K2 IDE: Code completion does not insert import when completing a type in the vararg position
KTIJ-26713 K2 IDE: Code completion does not insert import when completing a type inside a functional type
KTIJ-26597 K2 IDE: "Change return type" quick fix adds full qualified name to anonymous function
KTIJ-26384 K2 IDE: Extension functions completion should recognize context receivers
KTIJ-26419 K2 IDE: Completion in anonymous function inside when branch expression does not account for smart cast
KTIJ-26629 K2 IDE: Completion of types in anonymous function return is not shortened
KTIJ-26599 K2 IDE: Typing do ... while statement: InvalidFirElementTypeException: "For DO_WHILE with text... FirExpression expected, but FirDoWhileLoopImpl found"
KTIJ-26113 K2 IDE: Completion in when branch does not account for smart casts if else branch is present
KT-60451 K2 IDE: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is class org.jetbrains.kotlin.fir.expressions.impl.FirBlockImpl
KTIJ-24096 K2 IDE: Completion should insert the fully-qualified class name when the short class name clashes with a name from scope
KTIJ-25116 K2 IDE: Name shortening in constructor's parameters affects constructor
KTIJ-19863 Bad completion variants inside annotations
IDE. Decompiler, Indexing, Stubs
KTIJ-26706 Bytecode viewer: "IllegalStateException: Couldn't find declaration file" for a file with a delegated property with inline accessor in another module
KTIJ-25979 K2 IDE: 'java.lang.IllegalStateException: Attempt to load decompiled text, please use stubs instead' exception if navigate to the decompiled KGP sources
KTIJ-25985 Stub mismatch for names with special characters
IDE. Gradle Integration
KTIJ-25334 Gradle 8.1: Unresolved references in IDE for build.gradle.kts
KT-61777 Explicit API mode isn't reflected in IDE settings unless every task is configured with Gradle
KTIJ-26306 apiLevel (API version) for Kotlin/Native modules is set to 1.8 with KGP 1.9 and IDE Plugin 1.9.0-XXX, if the compiler bundled to IDE Plugin is still 1.8
KT-61172 MPP: Stacktraces of diagnostics are always printed during IDEA sync
KT-48554 [Multiplatform Import] Ensure consistency between GradleImportProperties and PropertiesProvider
KTIJ-26778 Gradle 8.3: some parts of build.gradle.kts look unresolved
KTIJ-26308 IAE βUnable to find script compilation configuration for the script KtFile: build.gradle.ktsβ on reopening project with build.gradle.kts
KT-60171 K2 IDE: scripting freeze on kotlin project build.gradle.kts file
KT-60236 K2 scripting: completion fails with exception
KT-59801 K2 IDE: Adding of an import with a task name to a build script leads to unresolved references
KT-60749 Scripting: default definition as a fallback
KT-60199 K2 scripting: exception on script opening
KT-60193 K2 scripts: configuration discovery fails silently from time to time
IDE. Hints. Parameter Info
KTIJ-26824 K2 IDE: "Parameter Info" shows incorrect overload as selected
IDE. Inspections and Intentions
New Features
KTIJ-26302 K2 IDE: Support adding a @OptIn annotation and suggesting to propagate opt-in requirement in quickFixes
KTIJ-25002 Provide a quick fix to migrate use-site 'get' annotations on getters
Fixes
KTIJ-24832 K2 IDE: 'Redundant qualifier name' false positive for nested classes from supertypes on the outside of a class
KTIJ-26103 K2 IDE: False positive in redundant qualifier inspection
KTIJ-26024 K2 IDE: False positive "Redundant qualifier" inspection on a nested class which extends its outer class
KTIJ-26576 K2 IDE: "Redundant qualifier" false positive with referring parent's subclass in type constraint
KTIJ-26785 K2 IDE: False positive "Redundant qualifier" inspection in extension function for Java interface with nested interface
KTIJ-26695 K2 IDE. False negative "Redundant qualifier" directive for invoke function from object
KTIJ-26627 K2 IDE: False positive "Redundant qualifier" inspection on extension property called on object when other 'this' is present in scope
KTIJ-23407 K2 IDE. False positive unused import directive for invoke function from object
KTIJ-26808 K2 IDE. "Redundant qualifier" inspection on the receiver of static method from Java may change semantic when receiver is not direct parent
KTIJ-26840 K2 IDE. False positive "Redundant qualifier" inspection when accessing companion object member inside anonymous object and there is a name clash
KTIJ-26498 KMP: Create expect-actual dialog selects incorrect path on Windows
KTIJ-24877 K2 IDE. False negative unused import directive when declaration is available in file indirectly
KTIJ-25368 K2 IDE. Specify type explicitly intention does not work with Java records
IDE. JS
KTIJ-25023 K/JS: Remove balloon warning about migration to IR backend
IDE. Libraries
KTIJ-13660 MPP library: No gutters for expect and actual symbols
IDE. Misc
KT-60053 IdeaKotlinBinaryCoordinates doesn't respect capabilities and classifier attributes
IDE. Multiplatform
Fixes
KTIJ-26700 KMP: false positive report of non matching expect and actual annotations if annotation is actual typealias
KTIJ-25997 KotlinMPPGradleTestTasksProvider: Support jvm targets with other names (such as android)
KT-61686 Check and update places in compiler and IDE where we are saying that MPP is experimental/Beta/Alpha
KTIJ-27058 Wizard's KMM application failed to build in 232 AS
KT-59760 [BUG] Use bundled version of Kotlin IDE Plugin in KMM Tests instead of custom
KT-61520 Sources.jar is not imported for common and intermediate source-sets from the MPP library
KTIJ-25842 MPP: New create expect/actual dialog uses deprecated location for android instrumented actual counterpart
KTIJ-25746 MPP: Unable to distinguish android unit and instrumented tests in new create expect/actual dialog if instrumented tests are depends on common
KT-60410 Add minimum supported KGP version in intellij.git infrastructure
KT-59794 Bump used KGP in multiplatform intellij.git tests after release 1.9.0
KT-59518 Cherry-pick old-import tests into 231-1.9.0/master
KT-56736 Investigate how-to run multiplatform tests on real devices
KT-59519 Bump AGP versions in intellij.git tests in master
KTIJ-25591 MPP: Create expect/actual dialog doesn't allow selecting all targets
KT-50952 MPP: Commonized cinterops doesn't attach/detach to source set on configuration changes
IDE. Navigation
KT-61894 Navigation from java sources leads to Kotlin decompiled code in case of suspend function
KTIJ-27053 Value parameters documentation of expect isn't shown in actuals
KTIJ-26292 Documentation for expect/actual comes from a random actual
KTIJ-26441 K2 IDE: navigation doesn't work when type parameters are missed in annotation call
KTIJ-26566 K2 IDE: don't show no-name parameters in presentations
KTIJ-25366 K2 IDE. Go to declaration of Java record shows record and constructor
IDE. Refactorings. Rename
KTIJ-25762 K2 IDE. label rename doesn't change it's name in usages after rename refactoring
IDE. Script
KTIJ-25989 java.lang.NullPointerException: Cannot invoke "com.intellij.openapi.vfs.VirtualFile.getPath()" because the return value of "java.lang.ThreadLocal.get()" is null
KT-60519 Analysis API: scripts are not invalidated on PCE
KTIJ-26670 K2 Scripts: We should be able to find a symbol for
KTIJ-25731 KtAssignResolutionPresenceService is not available as a service in 231-1.9.20
KT-60307 K2 IDE. KotlinExceptionWithAttachments in script file
IDE. Wizards
KTIJ-27005 Wizards 232: Fix generated kotlin version for 1.9.20-Beta
KTIJ-26846 Adjust compatibility data for 1.9.20 release
KT-59365 Get rid of two-stage parsing in KotlinClassMetadata
KT-35116 Enum.valueOf throws inconsistent exception across multiple platforms
KT-59223 Native Enum.hashCode should return identity hash code, similar to JVM
KT-56637 Native: 'String.indexOf' matches byte sequences not on the char boundary, which also makes the result of 'split' and 'replace' operation incorrect
KT-59192 Align behavior of collection constructors across platforms
Native
New Features
KT-50463 Native: Provide a way to control the KONAN_DATA_DIR by the Gradle mechanisms
KT-59448 K2: IR and FIR signatures are not same for composable functions
KT-58065 K2: Enable light tree instead of PSI for CLI compilation of JS and Native by default
Tools. CLI. Native
KT-59245 [K1/N] Compile sources to native binary in two stages
KT-56855 [K2/N] Command-line compiler doesn't support compiling sources directly to a native binary (without intermediate klib) with -language-version 2.0
KT-58979 [K2/N] FIR frontend cannot resolve symbols from resolved klib having non-normalized path
Tools. Commonizer
KT-59302 Commonizer: make sure that opt-in annotation generated by cinterop made it into commonized artifact
KT-62028 False positive "Unnecessary '@OptIn' Annotation" for ExperimentalForeignApi
KT-59859 Change the OptIn Level to Error for kotlinx.cinterop.UnsafeNumber
KT-59132 K2/Native/CInterop: [UPPER_BOUND_VIOLATED] Type argument is not within its bounds: should be subtype of 'kotlinx/cinterop/CPointed'
KT-58822 Kotlin Gradle Plugin: migrate tests off native deprecated targets
KT-47641 Enabled cInterop commonization triggers native compilation during Gradle sync in IDE
Tools. Compiler Plugin API
KT-58638 K2: Annotations generated by IR plugins are not included into metadata
KT-61872 K2: Adding annotations to metadata from backend plugin doesn't work in the presence of comments on annotated declaration
KT-61833 K2: annotations added via addMetadataVisibleAnnotationsToElement to declarations from common sourceset in MPP project are invisible
KT-60051 K2: Support metadata serialization of primitive const annotation arguments generated by IR plugins
Tools. Compiler Plugins
KT-61550 [atomicfu-compiler-plugin]: check that atomic properties are declared as private or internal val
KT-58079 K2/atomicfu: JVM IR transformer crash on atomic extension functions
KT-61293 Usage of atomicfu compiler plugin leads to UnsupportedClassVersionError if Gradle runs on JVM <11
KT-55876 K2. "[Internal Error] java.lang.NoClassDefFoundError: org/jetbrains/kotlin/com/intellij/openapi/util/UserDataHolderBase" when project with languageVersion 2.0 is Built and Run using Intelij IDEA
KT-58049 K2: Smartcast of nullable property fails when Spring compiler plugin is present
KT-57468 Kotlin assignment plugin: operation name cannot be found for reference
Tools. Compiler plugins. Serialization
KT-58501 K2/MPP/serialization: several classifier kinds seem to miss generated serializer functions when compiled to K/JS and K/Native targets
KT-59768 kotlinx.serialization + K2 + JS/Native: Support meta-annotations on sealed interfaces with user-defined companions
Tools. Gradle
New Features
KT-59000 Default standard library dependency should use the single artifact for all targets
KT-57398 Add ability to run compilation via build-tools-api
KT-34901 Gradle testFixtures don't have friendPaths set
KT-44833 Gradle DSL: Add languageSettings accessor to kotlin extension that applies to all source sets
KT-62318 Android Studio sync memory leak in 1.9.20-Beta
KT-62496 Configuration time regression with KGP 1.9.20-Beta caused by loading of properties
KT-61426 Enabling compilation via the build tools API may cause high metaspace usage
Fixes
KT-61359 "Unresolved reference: platform" when enabling Gradle configuration cache
KT-59826 Update SimpleKotlinGradleIT#testProjectIsolation to run on Gradle 8
KT-57565 Add ability to capture classpath snapshots via the build-tools-api
KT-51964 Optimize kotlin.incremental.useClasspathSnapshot feature to improve incremental Kotlin compilation
KT-61368 Native compiler option 'module-name' isn't available within the compilerOptions extension for native target while configuring it inside compilations
KT-61355 freeCompilerArgs arguments and its values are passed to the compiler 5 times if added through target-level compilerOptions{} extension inside compilations
KT-61273 KGP: TaskOutputsBackup.createSnapshot was failed by IOException sometimes
KT-58987 Use some available JVM target if there's no JvmTarget for the inferred toolchain version
KT-58234 Kotlin Gradle Plugin: Deprecate and remove KotlinCompilation.source API
KT-61401 The reported language version value for KotlinNativeLink tasks in build reports and build scans is inaccurate
KT-61950 K/Wasm: Add warning about changed sourceSets
KT-61895 KotlinTopLevelExtension.useCompilerVersion is not marked as experimental
KT-61303 The module-name value stays unchanged when configuring it through compiler options extension specific to the android target
KT-61194 MPP compiler options: part of JsCompilerOptions set up using js { compilerOptions {} } extension is lost
KT-61253 CompileExecutableKotlinJs task is skipped while configuring LV either using sourceSets.all {} or both js compiler options extension and base multiplatform compiler options extension
KT-59588 Upgrade max gradle version to max supported in kapt connected tests
KT-61292 Gradle: compilation tasks may capture wrong build directory when build directory is changed after task configuration
KT-61193 Flag kotlin.experimental.tryK2 doesn't set LV 2.0 for tasks of kotlin-js gradle plugin
KT-60541 Possibility to create a custom usable KotlinCompile task without using internals
KT-59451 [K2][1.9.0-Beta] "Errors were stored into ..." log files never actually exist
KT-48898 Can't suppress warnings by Optin() in KMM build.gradle.kts or IDEA settings
KT-60660 konan.data.dir property not provided for K/N Gradle project build (on Linux or Mac) with a dependency from a Maven
KT-56959 K2: Set up Ktor repo performance benchmarks with K2 enabled
KT-61457 Kotlin Gradle Plugin should not use internal deprecated StartParameterInternal.isConfigurationCache
KT-60718 Kotlin Gradle Plugin's incremental compilation violates Project Isolation by accessing the tasks in the task graph that were produced by other projects
KT-60717 Kotlin Gradle Plugin violates Project Isolation restrictions by dynamically looking up properties in the project
KT-54232 Don't check if file exists in task file inputs configuration
KT-58569 Bump language version for Gradle plugins dependencies to 1.5
Tools. Gradle. Cocoapods
KT-59263 Add diagnostic that a dummy framework is not present when build is triggered from Xcode
KT-57741 KMP importing an iOS project with Xcode 14.3 fails when importing a pod that depends on libarclite_iphoneos
KT-60050 Log reason why podInstall task is skipped
KT-49430 Stop invalidating iOS framework generated by KMM module on each Gradle Sync
KT-59522 Set the required environment for cocoapods invocations
KT-59313 Elevate to error deprecation of useLibraries
KT-58775 If the pod has a declared dependency on itself, then it will cause StackOverFlow exception while importing of a project
Tools. Gradle. JS
New Features
KT-49789 KJS / Gradle: Add npm style repository option for YarnRootExtension - and/or don't register github repository when download=false
Fixes
KT-60469 KJS: "Could not serialize value of type Build_gradle" caused by changed name in packageJson task
KT-61623 K/Wasm: Error with project dependency between modules with both wasmJs and wasmWasi targets
KT-56933 Add Kotlin/JS incremental tests with K2 enabled
KT-58970 browserTest gradle task fails if karma is used and gradle configuration cache is enabled
KT-42520 Add a way to setup generating separate js files for each module inside gradle
KT-32086 Gradle, JS: runTask.enabled = false has no effect on npm dependencies
KT-48358 KJS: Circular dependency when multiple second-level Gradle modules have the same name
KT-50530 Kotlin/JS: enabling kotlin.js.ir.output.granularity=whole-program does not remove superfluous .js output files
KT-50442 KJS / Gradle: webpack plugin errors not logged
KT-46003 KJS / IR: Should provide single distributions folder for production and development similarly to Legacy
KT-47319 KJS: Error when project contains two modules with same name
KT-46010 KJS / Gradle: Can't find a file on building on Windows
KT-48923 KJS / Gradle: No Webpack error messages when Node.js process exits unexpected
KT-51942 KJS / Gradle: fails with two projects with the same name, but different paths
KT-51372 Kotlin/JS: Gradle compileKotlinJs processes directory just excluded from source set
KT-52134 KJS: the default generated JS module name in a Gradle project with multiple subprojects is incomplete, which might cause duplicate names and build conflicts
KT-54182 MPP / JS: StackOverflowError when in a Gradle multi-project and Kotlin Multiplatform build with the JS IR target which depends on another with the same subproject name via a renamed published Maven artifact
KT-58250 The NodeJsExec tasks are not compatible with Gradle configuration cache
KT-58256 The D8Exec tasks are not compatible with Gradle configuration cache
Tools. Gradle. Multiplatform
New Features
KT-60441 KGP based dependency resolution: Support 'idea.gradle.download.sources' flag