KT-82449 K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)
KT-82629 'collectDiagnostics' returns stale syntax error after editor fix
KT-82684 "Don't know how to compile annotation value ERROR_EXPR" on incorrect array literal in annotation default arguments
KT-81948 K2: ClassCastException: "java.lang.String cannot be cast to java.lang.Void" when calling @Nullable Java function
KT-82788 false-positive duplicate JVM class name error in IJ monorepo
KT-82841 "kotlin.NoWhenBranchMatchedException" in when with !is check & non-sealed class in the middle of hierarchy
KT-82844 "when" with no branches does not evaluate subject (side effects ignored)
KT-81625 Incorrect empty parameters parsing (comma is highlighted in red)
KT-81193 K2: SOE from AbstractTypeApproximator.approximateToSuperType with local enum class
KT-65059 Stack overflow when typechecking an Elvis expression with deeply generic values
KT-82555@Deprecated(HIDDEN)` objects not skipped when resolving qualifiers
KT-82737 Leaked type variable in diagnostic when top-level lambda with uninferred type parameter has non-functional expected type
KT-78019 Change K1 API deprecation level from Warning to Error
KT-82683 K2: FIR2IR: compile-time JVM codegen failure on an argument of function subtype for a KSuspendFunction parameter
KT-82671 Do not report ignorability mismatch on override/actualization if the function returns Unit type
KT-82506 Misleading compilation warning: "This class is not recommended for use in Kotlin. Use 'java.util.Map' instead"
KT-52498 Test privateSuperType.kt is failing with caches enabled
KT-82336 Header mode: Cannot infer argument for type parameter T
KT-69326 Inference chooses controversial order to fix variables
KT-82545 Handle data class with extra components in migration warning for name-based destructuring
KT-82303 Improve UNSUPPORTED_FEATURE message when compiler argument has a parameter
KT-81866 K2: False positive ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL caused by smart-casted @RestrictsSuspension receiver
KT-13412 Improve error message on callable reference with expression of nullable type
KT-82466 KotlinIllegalArgumentExceptionWithAttachment when return is used in explicit delegation expression
KT-82454 Local types aren't approximated in public declaration types
KT-82487 False positive REDUNDANT_VISIBILITY_MODIFIER inside private class
KT-82369 [K2 REPL] Crash in the serialization plugin backend with "unable to transform declaration"
KT-82243 Usage of nested type aliases is forbidden despite the feature flag
KT-62900 K2: Expected expression to be resolved during Fir2Ir
KT-81941 IllegalArgumentException: class org.jetbrains.kotlin.psi.KtValueArgument is not a subtype of class org.jetbrains.kotlin.psi.KtExpression for factory POSITIONED_VALUE_ARGUMENT_FOR_JAVA_ANNOTATION
KT-80741 Fix rendering of inner classes with generic outer classes
KT-82331 Do not propagate context parameters from classes to constructors
KT-77276 K2: Wrong scope for annotation arguments for the parameters of a secondary constructor header
KT-77275 Inconsistency between scopes for primary/secondary constructor headers
KT-15152 Improve error message for unresolved reference for delegation specifier and primary constructor call
KT-81498 Make Kotlin/Native stdlib in distribution reproducible
KT-81408 Allow local-variable-target annotations on destructuring declarations
KT-82012 Annotations without parentheses on full form of name-based destructuring don't work
KT-81915 Exception when analysing 'when' expression with annotated expression as a subject
KT-78364 Static methods are not generated for companion object JvmStatic property accessors with JvmExposeBoxed
KT-81838 Prohibit usage of nested type aliases (from lib) for sources with LV < 2.3
KT-81357 Forbid compilation of code with explicit root_ide_package in CLI mode
KT-73138 K2: "Assignment type mismatch" when class name is underscore_
KT-82169 Add quotes to message of WRONG_NUMBER_OF_TYPE_ARGUMENTS
KT-81703 Drop obsolete K1 frontend code from Kotlin/Native
KT-81698 DecoupleSpecialBackendChecksTraversal from Native backend
KT-81687 Different LightTree and PSI outputs when annotated class-like declaration is used as an expression
KT-81302 False positive: Type Mismatch caused by context parameters, lambdas, and generics
KT-81584 IAE "Collection contains more than one matching element" in FirElementSerializer on contextual property with same name as primary value class property
KT-77237 JvmExposeBoxed breaks compilation with a secondary constructor with value class
KT-81262 False positive: Access declaration type exposure: during access to public function class from internal inline declaration
KT-80112 Kotlin Debugger: “Cannot find local variable” on evaluating default lambda inside inline function
KT-76806 K2: AIOOBE in FirEqualityCompatibilityChecker
KT-81693 Introduce lightweight versions of KonanConfig and PhaseContext
KT-72446 K/N: inline function's default values aren't lowered with caches
KT-81521 Anonymous function in context parameters breaks parser
KT-80853 Class reference in context parameters breaks parser
KT-81441 Missing type checks when class has deeply generic supertype
KT-82161 Enable Enum.name and KCallable.name to constant evaluation
KT-80646 Enable unsigned conversion functions when bootstrapped compiler is available
IR. Tree
KT-82765 Kotlin/Native: Internal compiler error when building DFG
KT-82829 IR deserializer: Don't deserialize any cinterop fake overrides from Klibs
KT-83236 PeopleInSpace_mpp compilation error: The symbol table has been sealed
KT-81154 [IrValidator] Fine-tune IrVisibilityChecker on 2nd stage
KT-80243 Support Name Based Destructuring in loop with withIndex()
KT-79436 KLIB stdlib symbols loading: Drop all functions from SymbolFinder except for loading the whole collection of (potentially unbound) symbols by name
KT-79435 KLIB stdlib symbols loading: Load symbols and and filter/map them lazily in BuiltinSymbolsBase hierarchy when accessed by IR
KT-69082 Migrate maps of IR elements to IR attributes
KT-67457 Introduce a way to simplify IR lowering phase creation
KT-84600 Performance regression around Kotlin properties JVM reflection during instantiation
Fixes
KT-83608 Kotlin-reflect: "Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R"
KT-57357 Reflection: "KotlinReflectionInternalError" when using callBy on constructor that has inline class parameter with nullable value
KT-83361 "KotlinReflectionInternalError: Type parameter not found: 0" on super types with Kotlin 2.3.0
KT-42199 "KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke" on function reference to FunctionN.invoke
KT-81024 Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter
KT-83067 Reflection: IAE "argument type mismatch" on callBy with vararg of generic type parameter with primitive upper bound
KT-82699 Reflection: incorrect behavior of KFunction.isExternal for Java native methods
KT-82350 Reflection: incorrect behavior of KType.javaType on a type obtained from KType.withNullability
KT-29203 KType.javaType always returns void class for local delegated property
KT-81899 Reflection: incorrect javaType for local delegated property setter return type
KT-82093 Reflection: IAE from defaultType for inner class of generic class
KT-77312 KotlinReflectionInternalError: "Container of deserialized member is not resolved" on computing type parameter captured in a local delegated property
KT-82316 Reflection: type parameters of top-level declarations behave incorrectly
KT-81987 Reflection: error when calling function in inline class with inherited default value
KT-81870 Reflection: Error when calling function with default parameters and extension receiver
KT-81880 Reflection: Error when calling function with default & context parameters
KT-81907 Reflection: incorrect result when calling function with default values and context parameters
KT-81859 Reflection: do not use descriptors in ValueClassAwareCaller
KT-81854 Reflection: incorrect type for instance receiver of inner class constructor
KT-81855 Reflection: IAE "object is not an instance of declaring class" on function with context and extension receiver of inline class
KT-81843 Reflection: NPE on accessing property accessor returnType for Java field
KT-81588 Reflection: KotlinReflectionInternalError "Inconsistent number of parameters" on calling contextual declaration with value class type in the signature
KT-81111 Reflection: suspend function types are loaded incorrectly by the new implementation
KT-81206 Reflection: non-substituted Function type in suspend function supertypes
KT-81804 Reflection: remove support for multi-field value classes
KT-81664 Reflection: IAE "argument type mismatch" on calling member extension with value class in the signature
KT-82552 KJS: "Non-abstract class does not implement inherited abstract member from class" errors in generated .d.ts
KT-82652 KJS: Exported abstract inner classes can be constructed from TypeScript
KT-82542 KJS: Inner class can be constructed from TypeScript without passing an outer instance
KT-82499 KJS: Omit parameters in private constructors in .d.ts files
KT-41082 KJS: 'Reflection is not supported on JavaScript target, so you won't be able to read this annotation in runtime' warning is inconvenient and misleading
KT-82279 KJS: DCE removes external members overrides without reason
KT-52800 KJS / IR: sealed interface with nested data classes not accessible
KT-67460 Use new lowering phase creation API in JS backend
KT-82667 Kotlin/JS: ESM TypeScript definitions for exported nested Enums do not compile
KT-82553 KJS: Incorrect .d.ts generated for generic inner classes
KT-82263 Implement exporting top-level properties in Analysis API-based TypeScript Export
KT-82362 KJS: Incorrect types generated in .d.ts for JsName-annotated enum entry
KT-82262 Implement exporting top-level functions in Analysis API-based TypeScript Export
KT-82144 K/JS: 'meta' identifier usage in js() inline calls prevents expression from parsing
KT-82149 K/JS: new calls without arguments produce exceptions in js() inline calls
KT-81730 Optimize suspend functions compilations via JS generators
KT-79243 [JS] Drop K1-specific tests, testrunners and test directives
Klibs
New Features
KT-83101 Implement experimental KLib ABI dump parser
Fixes
KT-82586 Export in previous version (JS, Wasm): adjust the checker for incompatible Kotlin stdlib/compiler pairs
KT-82809 [FIR][IC] New containingFileName parameter API is not actually compatible with IC
KT-46709 IR plugin lookups don't work as expected for expect class with actual typealias
KT-82518 Disable automatic body generation of the plugin-generated callables
KT-82159 [FIR] Automatically add expressions to properties or functions
KT-58886 K2: compiler plugin generated top level declarations cause AssertionError on K/JS and K/Native
Tools. Compiler Plugins
New Features
KT-71893 Support @Builder lombok annotation on methods
KT-28594 Add a 'jpa' pre-defined flavor to the allOpen compiler plugin.
KT-81604 Lombok Kotlin compiler plugin and -Werror: Unable to ignore warning for the plugin appliance
Fixes
KT-83119 Lombok. canEqual is not available from kotlin for a class with @Data annotation
KT-83334 Lombok. Builder function is unavailable for a generic class
KT-83063 Lombok: Setter/getter is not available with a protected access level
KT-83217 Lombok. With method is available for the static field
KT-83120 Lombok. A constructor is available for a class with an existing constructor and @Data/@Value annotation
KT-83256 Lombok. Setter is available for non-final fields if @Value and @Data/@Setter are used together
KT-83251 Lombok. Constructor from @Value includes fields that are initialized in declaration
KT-83252 Lombok. Class marked with @Value isn't final
KT-83085 Lombok: getter/setter is available for a static field if class is annotated
KT-83078 Lombok: getter and setter are not available for a static Java field
KT-82341 Migrate official compiler plugins to IC-safe reference... API
Tools. Compiler plugins. Compose
KT-84218 [2.3.20-Beta1] "IllegalStateException: no implementation for FUN MISSING_DECLARATION" during bitcode lowering
KT-84055 Reference to lambda in lambda in function 'TextField' can not be evaluated
Tools. Compiler plugins. Serialization
KT-82351 Migrate kotlinx.serialization to IC-safe reference... API
KT-76949 Serialization: "IllegalStateException: Serializer for element of type kotlin.Any has not been found" on custom serializer for Map<String, Any?>
KT-73107 Serialization: "IllegalStateException: Serializer for element of type kotlin.Any? has not been found" with star projection
Tools. Gradle
New Features
KT-79389 Add allopen plugin + JPA preset to kotlin.plugin.jpa
KT-78200 Gradle: enable JVM compilation through BTA by default
KT-80082 K2. False positive "Cannot resolve method" for self-bounded generic with wildcard return type in Java interop
KT-80303 Move :native:analysis-api-klib-reader to :libraries:tools
Analysis API. Code Compilation
KT-70860 K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var
KT-78554 K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation
KT-73201 K2 IDE: Error while evaluating expressions with local classes
Analysis API. FIR
KT-81378 Expected expression 'FirFunctionCallImpl' to be resolved caused by suspend {}
KT-60490 Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class
KT-79689 SymbolLightClassForClassLike.toString() causes PSI tree loading
KT-80690 Private interface functions are not present in light classes
KT-80256 K2: Certain actions in JPA code causes infinite PIEAE: "Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)"
KT-79012 Add a high-level overview of light classes
Analysis API. Providers and Caches
Fixes
KT-81476 Analysis API: AlreadyDisposedException from low-memory cache cleanup
KT-80911 Analysis API: Execute session invalidation in a non-cancelable section
KT-81242 Analysis API: Add UUID/lifetime properties to LL FIR session structure logging
KT-80622 Analysis API: Visualise LL FIR session structure & weight
KT-78882 K2 AA: Calling containingSymbol on getProgressionLastElement causes exception
KT-58325 Analysis API: Combine LLKotlinStubBasedLibrarySymbolProviders in session dependencies (optimization)
KT-77825 Analysis API: CheckersComponent consumes a lot of memory while being unused in LL FIR sessions
KT-76526 Incorrect built-in module is provided for non-JVM sources in Standalone
KT-62549 Analysis API: Cache callables in combined Kotlin symbol providers
KT-70721 LL FIR: investigate possibility of moving LLFirFirClassByPsiClassProvider . getClassByPsiClass (PsiClass) to symbol providers
KT-72998 Analysis API: Introduce getClassLikeSymbolByPsi to LL FIR symbol providers
Analysis API. Standalone
KT-81108 AA: java.lang.ClassCastException: class org.jetbrains.kotlin.fir.FirBinaryDependenciesModuleData cannot be cast to class org.jetbrains.kotlin.analysis.low.level.api.fir.projectStructure.LLFirModuleData
KT-80573 Potential performance issue on class ID computation
KT-80559 Try to optimize KotlinStandaloneDeclarationProviderFactory startup for tests
KT-71706 Analysis API Standalone: StandaloneProjectFactory.createSearchScopeByLibraryRoots creates inefficient file-based search scopes
Analysis API. Stubs and Decompilation
Performance Improvements
KT-77097 Support ReplaceWith deprecation annotation argument via stubs
KT-79095 isOverride shouldn't trigger resolution if not compiler plugins present
Fixes
KT-80234 Incorrect value of isActual for the implicitly actual constructor of annotation class
KT-81132 Use KaSession instead of a particular KaSessionComponent for context parameter bridges
KT-81129 K2: KaSymbolInformationProvider#importableFqName: should return null for dynamic declarations
KT-81128 K2: KaSymbolInformationProvider#importableFqName: should return null for error destructuring declarations
KT-81127 K2: KaSymbolInformationProvider#importableFqName: should return null for anonymous functions
KT-81126 K2: KaSymbolInformationProvider#importableFqName: should return null for enum entry initializer constructors
KT-81125 K2: KaSymbolInformationProvider#importableFqName: should return null for property accessors
KT-81124 K2: KaSymbolInformationProvider#importableFqName: type alias constructor should have a reference to the type alias and not to the underlying class
KT-70127 Analysis API: 'KaFirReceiverParameterSymbol' does not implement 'KaFirSymbol'; leads to exception from importableFqName
KT-80837 Warn about extension function with a context shadowed by member
KT-80768 Warning on overloading by a superset of context parameters in class context
KT-80031 Check spotbugs's @CheckReturnValue in Kotlin's unused return value checker
KT-79380 Native: add performance measurement for the rest of backend phases
KT-79381 Native: add performance measurement of LLVM phases
KT-80222 Implement the prohibition of always-false is checks for definitely incompatible types
KT-79295 Parse and build raw FIR from new short and full forms of positional destructuring with square brackets
KT-74810 Support typealiased/mapped Java types in unused return value checker
KT-71244 Incorporate existing @CheckReturnValue annotation(s) into Kotlin's unused return value checker
KT-79922 Record 'MustUse/ExplicitlyIgnorable' state for overrides even in disabled RVC mode
KT-79920 Store 'Explicitly ignorable' state of function/property in the metadata
KT-79690 Implement a USELESS_ELVIS_LEFT_IS_NULL with elvis expression
KT-79296 Implement/adapt diagnostics for new destructuring
KT-79298 Report errors on new destructuring syntax in K1
Performance Improvements
KT-81617 Native: casts optimizations pass explodes on deep nested loops
KT-80554 Kotlin/Native: investigate performance hit from always-on llvm pass profiling
KT-81340 K/N: severe compilation time degradation after turning on casts optimization pass
KT-80370 Add NO_INLINE attribute to some of runtime functions
KT-80167 K/N: condense the nodes and edges in DevirtualizationAnalysis constraint graph
KT-79535 Revert incorrect SAM conversion enhancements brought to K2
Fixes
KT-79979 K2: ClassCastException when overriding extension property with delegation
KT-82590 ClassCastException when instantiating class with generics implemented by fun interface and lambda
KT-78881 K2: False positive "Assigned value is never read" in composable function
KT-79276 Dexing fails with "Cannot read field X because is null" with 2.2.0
KT-79547 "UnsupportedOperationException: Not supported" with inlining and value classes
KT-79442 "Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces
KT-80744 Kotlin failure on lambda with type parameter
KT-81618 "Number of arguments should not be less than number of parameters" on JVM on Kotlin 2.3.0-Beta1
KT-82869 Green-to-Red change in 2.3 after prioritizing non-suspend-function-type overloads
KT-79611 "IllegalStateException: couldn't find inline method": Exception during incremental compilation
KT-78895 Consider dropping isLocalInFunction and FirClassLikeDeclaration.isLocal
KT-79231 Inconsistent InnerClass entry flags for abstract inner enum
KT-20677 Improve diagnostic about implicit default constructor absence for expected annotation class
KT-81385 Missing error of nullable expression in class literal in case of reified type parameter
KT-81251 Smartcast doesn't work for an effectively private inline function
KT-81245 Automatic smart cast on properties with EBF is allowed on inlined property accessors
KT-81222 Custom getter is allowed on a property with redundant EBF
KT-80795 Wrong type cast is added for IMPLICIT_COERCION_TO_UNIT
KT-81141 Fix FirUnsupportedArrayLiteralChecker to forbid array literals inside non-annotation contexts
KT-81383 Return type of anonymous function used as run argument is incorrectly inferred to Nothing
KT-80577 "Return type mismatch" for self-referential types used as generic parameters
KT-75215 KDoc: references from @param tag are rendered as plain text
KT-79887 K2 Compiler Internal Error in 'FirFakeOverrideGenerator.checkStatusIsResolved' Method
KT-78125 false-negative shadowed contextual overload warning on local declarations
KT-81198 Move type and type parameter annotations from jvm_metadata.proto to metadata.proto
KT-81057 Wrong handling of boxing during redundant casts optimization
KT-81191 K2: "null cannot be cast to non-null type ConeTypeParameterLookupTag" with invalid code
KT-80285 IJ monorepo: broken compilation after 2.2.20-RC update
KT-81115 Allow converting lambda with explicit parameter when assigning to variable of an extension function type
KT-74588 Redundant checkNotNull intrinsics instructions for Java generic methods
KT-78390 Unmute FusStatisticsIT.testKotlinxPlugins() after AtomicFU updates kotlin-metadata-jvm
KT-79369 Forbid typealiasing for all compiler-required annotations
KT-69294 K2: Report CONSTRUCTOR_OR_SUPERTYPE_ON_TYPEALIAS_WITH_TYPE_PROJECTION_ERROR instead of EXPANDED_TYPE_CANNOT_BE_INHERITED after switching to LV 2.2
KT-80871 StackOverflowError on AnnotationTarget.TYPE
KT-80908 K2: Compiling type annotation with self-annotated vararg fail with exception
KT-81018 ISE "IR class for Foo not found" on missing dependency when lowering SAM constructor
KT-80936 NON_PUBLIC_CALL_FROM_PUBLIC_INLINE : @PublishedApi doesn't work for fun interfaces
KT-75748 StackOverflowError when reading array from metadata annotations
KT-80606 KotlinIllegalArgumentExceptionWithAttachments when using property itself in explicit backing field initialization
KT-80940 K2: Exception in FIR2IR with AnnotationTarget.TYPE with self-annotated non-vararg default argument and usage in child module
KT-80538 KaFirDiagnostic.EmptyRange doesn't work in most of the cases
KT-80524 Class is not abstract and does not implement abstract member when compiling with kotlinc-jklib
KT-80597 Apply fix for CVE-2024-7254 to our fork of protobuf 2.6.1
KT-80849 K2: ConstValueProviderImpl doesn't distinguish files with same name and package
KT-80602 Exhaustiveness checker improvements for 2.3
KT-80735 Support || return/throw shortcut in unsed return value checker
KT-79651 Report a warning about an unused return value only on the function name
KT-80719 False positive: "Redundant visibility modifier": when overriding protected methods as "public"
KT-80434 K2: DSL marker doesn't work with lambda fields
KT-80383 Getter without a body is allowed on a property with an explicit backing field
KT-80446 Explicit visibility modifiers are allowed on EBF
KT-80378 ClassCastException on callable reference to a property with EBF
KT-80377 Fir2Ir: "Cannot determine expected receiver type" for callable reference to a property with EBF outside of class
KT-80455 K2: StackOverflowError in when exhaustiveness checker on red code
KT-72862 [Native caches] Umbrella for failing codegen/box tests for corner cases in synthetic accessors
KT-20278 NO_TYPE_ARGUMENTS_ON_RHS: Confusing diagnostic for inner class of generic outer class
KT-80418 Property with EBF with functional type isn't resolved if its type is Any
KT-80469 Functional type from property is always used for explicit backing field
KT-80535 Missing INITIALIZER_TYPE_MISMATCH for EBF
KT-80445 Private visibility is possible for a property with EBF
KT-80164 Move name generation for unnamed context parameters to frontend
KT-80684 Line breaks are lost in multi-line diagnostic messages since 2.3.0
KT-78112 RETURN_VALUE_NOT_USED is reported for local function even if it isn't marked with annotation in CHECKER mode
KT-48311 Incorrect LINENUMBER after if with a suspend call
KT-80688 Bad SourceDebugExtension caused by enhanced coroutines debugging
KT-73851 Native: compilation fails with ClassCastException with genericSafeCasts=true
KT-77593 Add a warning when @IgnorableReturnValue is inconsistent between expect/actual functions
KT-79386 Confusing error message when named parameters are used for java method calls
KT-80600 K2: Private and final modifiers are allowed on setter of open delegated property
KT-77101 Invoke on callable reference is considered ignorable
KT-79923 Remove lookup of @IgnorableReturnValue annotation from FirReturnValueOverrideChecker
KT-80517 Synthetic kotlin.Any members in data classes are missing @MustUseReturnValue
KT-80194 VAR_TYPE_MISMATCH_ON_OVERRIDE: doesn't mention the inferred type
KT-80484 K2: ClassCastException due to fake source for implicit lambda parameter (RedundantNullableChecker)
KT-80592UninitializedPropertyAccessException when anayzing annotations on members of anonymous classes
KT-80399 Anonymous Kotlin class incorrectly warns about deprecated java override despite '@Deprecated' annotation
KT-79610 Adding CocoaPod to Kotlin/Native MPP triggers IR serialization failure and commonizer errors
KT-79951 Infinite loop in parsing incomplete full form destructuring
KT-79866 kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an error
KT-79777 Argument type mismatch on value of complex type with a captured raw type argument
KT-78664 False positive VARIABLE_NEVER_READ and ASSIGNED_VALUE_IS_NEVER_READ on function type variable with splited declaration and assignment
KT-79496 False positive "when must be exhaustive" in triangle interface/class hierarchy
KT-79774 KtDestructuringDeclaration.getLPar & getRPar are broken
KT-80391 K2: Only one context parameter is mentioned in the [NO_CONTEXT_ARGUMENT] diagnostic
KT-79785 ktypew:kotlin.collections.List already exists error using Swift Export
KT-78879 "Sealed types cannot be instantiated": Can't instantiate Java-defined sealed Class from Kotlin
KT-21598 Extension is shadowed by member should not be reported when member is deprecated with HIDDEN level
KT-79622 FUNCTION_EXPECTED: Misleading 'expression cannot be invoked as a function' when inaccessible with private lambda
KT-80255 [EXTENSION_FUNCTION_IN_EXTERNAL_DECLARATION] can be attached to the receiver type of a functional type
KT-79816 Java Interfaces implemented by delegation have non-null return checks
KT-80177 Improve message of RECEIVER_SHADOWED_BY_CONTEXT_PARAMETER in case of member extension
KT-79770 There is no RECEIVER_SHADOWED_BY_CONTEXT_PARAMETER if the usage of fun is from inside the class
KT-79430 False positive EXTENSION_SHADOWED_BY_MEMBER on overridden member extension
KT-62934 Incorrect line mapping inside inline lambda after non-local return
KT-79545 K2: no error on crossinline lambda usage in anonymous object base constructor call
KT-79643 HAS_NEXT_FUNCTION_AMBIGUITY and NEXT_AMBIGUITY diagnostics are always ignored in favor of HAS_NEXT_FUNCTION_NONE_APPLICABLE and NEXT_NONE_APPLICABLE
KT-79327 Modifier 'private' is not applicable to 'value parameter' is reported for context parameters
KT-77182 A function in a file annotated with @file:MustUseReturnValue doesn't produce a warning when it is used from compiled code
KT-78541 Jspecify: Unsound platform type despite @NullMarked for an override with a generic-subclass return type
KT-79672 'when expression must be exhaustive' even after using 'require()'
KT-71306 K2 IDE / Kotlin Debugger: “Cannot find local variable 'block' with type kotlin.jvm.functions.Function0” on evaluating lambda arg inside inline function
KT-76991 K2 IDE / Kotlin Debugger: ISE “Couldn't find declaration file for” on evaluating local fun when the scope has also inline fun from another file call
KT-79877 K2 IDE / Kotlin Debugger: failed evaluations of a code fragment capturing local data class
KT-77401 [FIR] ParameterNameTypeAttribute.name doesn't support @ParameterName with compile-time constant property argument
KT-79682 Fix partially uninitialized locals after coroutine spills insertion
KT-79562 NPE when passing non-lambda argument of nullable non-suspend function type into function that accepts nullable suspend function type
KT-79693 NotImplementedError: An operation is not implemented: Unknown file with KMP separate compilation
KT-79662 Unused return value checker doesn't work for com.google.errorprone.annotations.CheckReturnValue
KT-79781 Missing MISSING_DEPENDENCY_CLASS when using type alias with inaccessible RHS
KT-77772 Only report exposed type on qualifier if it's resolved to an object
KT-79765 K2. Do not report ignore return value for unresolved reference
KT-79017 False negative REDECLARATION on private nested class
KT-79519 Nested type alias is unreachable from another module
KT-72039 StackOverflowError on calling keySet on a Kotlin subclass of Java subclass of ConcurrentHashMap
KT-75843 K2: incorrect line numbers in an if-expression with a super-call
KT-77504 Add a warning when @IgnorableReturnValue is inconsistent on overrides
KT-81081 Generate Compose-specific proguard mappings when Compose compiler plugin is applied.
b/431025881 [Compose] Clean up runtime version checker
b/365922168 Add java.util.Locale to the list of known stable classes
b/407549020 Introduce a registry of known stable markers
b/417989445 Added a diagnostic to restrict usages of runCatching in @Composable functions
KT-80294 Fix crash with inline @Composable function reference
b/430140896 Fix IrSourcePrinter output for when branch check and typechecks
CMP-9167 iOS: Platform declaration clash: The following functions have the same IR signature
IDE. Gradle Integration
KT-46273 MPP: Don't fail import for case of missed platform in source set structure
KT-46417 [UNRESOLVED_REFERENCE] For project to project dependencies of native platform test source sets
KT-44845 After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=true
KT-46142 K/N distribution is unavailable from IDE with multiplatform hierarchical project structure enabled
IR. Actualizer
KT-77337IrNoExpectSymbolsHandler finds expect class reference after enabling annotation traversal in IR
KT-80002 Investigate the need for map copying in IrCommonToPlatformDependencyExtractor.kt
KT-80131 KMP Separate Compilation: No override for FUN IR_EXTERNAL_DECLARATION_STUB name:
KT-80064 KMP Separate Compilation: ClassCastException: class org.jetbrains.kotlin.ir.symbols.impl.IrTypeAliasSymbolImpl cannot be cast to class org.jetbrains.kotlin.ir.symbols.IrClassSymbol
KT-80051 KMP Separate Compilation: Actualization of common dependencies failed on 'PROPERTY FAKE_OVERRIDE name:modCount visibility:protected modality:FINAL [fake_override,var]'
KT-79998 KMP Separate Compilation: java.lang.IllegalStateException: No override for FUN IR_EXTERNAL_DECLARATION_STUB name:
IR. Inlining
New Features
KT-70360 KLIBs: Uniformly handletypeOf() calls at 1st/2nd stages of compilation
Performance Improvements
KT-69497 Crossinline lambda is allocated on K/N & JS
Fixes
KT-78673 Make fakeOverrideLocalGenericBase not using red code
KT-78537 [Inliner] Incorrect KFunction.name of a reference to inlined local function
KT-74892 Investigate passing inline lambda as argument of another inline function
KT-81673 False warnings about ABI change in dependencies in library mode in 2.3.0-Beta1
KT-81713 [Inliner] Compilation of inline function with recursive call applied to TODO() fails with an internal error
KT-80653 [IR Inliner] Space: "Local declarations should've been popped out by this point"
KT-78392 CommonPrefix: Add a way of stopping execution when one of the phases is unsuccessful
KT-80927 [Native] Review intrinsics with PublishedApi
KT-72594 [JS][Native] Add IrInliningFacade to test runners
IR. Interpreter
KT-72356 K2 Native: IllegalStateException when annotation has the same source range as a constant in another file
KT-72881 K2: incorrect empty array as annotation argument when parameter has default value
IR. Tree
Fixes
KT-79371 Fix handling of broken SAM conversion in PL with enabled Rich References
KT-81952 "IllegalStateException: Callable reference with vararg should not appear at this stage" for callable references to functions with generic vararg parameters
KT-79739 Static synthetic accessors inside generic classes access its type parameters
KT-78100 Track and annotate internal annotations with @PublishedApi to enable annotation visibility validation
KT-80825 Drop IrSerializationSettings.reuseExistingSignaturesForSymbols setting
KT-79807 Broken IR tree invariants in IrReplSnippet after FIR2IR
KT-77819 [IR] Fine-tune IrValidator's run after Fir2IR and IR plugins
KT-70160 Remove IrDeclaration.parents after Anvil update
KT-80454 LocalDeclarationsLowering: Clean-up the dead code
KT-80819 Rework IrFileValidator to use Hashmap instead of ClassValue
KT-80516 Kotlin-like IR dump: Don't render tailrec as lateinit
KT-78856 Refactor LocalDeclarationsLowering to split it in smaller parts
KT-79439 KLIB stdlib symbols loading: Split the result of merging of IrBuiltins with BuiltinSymbolsBase hierarchy into two parts (for 1st & 2nd phases)
KT-79437 KLIB stdlib symbols loading: Drop loading functions from IrBuiltins and migrate usages to SymbolFinder functions and lazy filtering
KT-79569 Unexpected error during DFG phase in Native due to PL issue with SAM conversion represented by rich reference
KT-76601 IrValidatorConfig should have all checks disabled by default
KT-69662 Deduplicate function createTemporaryVariable
KT-79440 KLIB stdlib symbols loading: Drop BuiltinSymbolsBase from plugin API
KT-78960 [FO] Limit static fake overrides generation for static functions
KT-76813 IR validator: not all symbols/references are visited
JVM. Reflection
KT-79020 Suspend lambdas return type is shown as ??? in reflection
KT-81967 isSubtypeOf: ClassCastException: CapturedKType cannot be cast to class AbstractKType
KT-76521 Reflection: change KType representation to avoid dependency on K1
KT-81619 Reflection: Function supertype of a FunctionN class has flexible type in new implementation
KT-79867 CompilerConfiguration.configureSourceRoots puts obfuscated file paths instead of ones passed on classpath to CLIConfigurationKeys.CONTENT_ROOTS
KT-80348 Expose 'XXLanguage' compiler argument as a normal argument
KT-80428 KMP Separate Compilation: Handle friend dependencies
KT-74590 Deprecate -Xjvm-default in favor of -jvm-default
KT-80349 KMP Separate Compilation is enabled on non-KMP compilations
KT-79982 Fix description of -Xjspecify-annotations
KT-79403 Improve generator for deprecated CLI arguments
KT-75968 Set proper lifecycle for all existing compiler arguments
KT-79293 Create Language Features and compiler argument with parameter for new destructuring features
Tools. Commonizer
KT-49735 [Commonizer] :commonizeNativeDistribution fails for projects with two or more same native targets
KT-47523 MPP: Unable to resolve c-interop dependency if platform is included in an intermediate source set with the only target
KT-48118 Commonized c-interop lib is not attached to common main source set
KT-46248 MPP: Compile KotlinMetadata fails with Unresolved reference if only one native platform from shared source set is available
KT-75865 Provide an API for setting the file name for the file with top-level declarations generated by a plugin
Tools. Compiler Plugins
New Features
KT-81091 [DataFrame] Receivers from FirExpressionResolutionExtension are not resolved in CodeFragment
Fixes
KT-64339 Symbol Light Classes: No Arg compiler plugin generates synthethic constructor which is not seen from light classes
KT-80429 Power Assert with "Run test using: IntelliJ": NoClassDefFoundError (org.jetbrains.kotlin.kotlinx.collections.immutable.ExtensionsKt) during compilation
KT-79319 Lombok: NullPointerException on mvn compile when importing Java constants
KT-81348 Incorrect bytecode mentioning error class/package is generated by kotlinx-serialization when private serializer in another module is not accessible
KT-80944 FirUserTypeRefImpl cannot be cast to class FirResolvedTypeRef in maven project
KT-80815 NoArg compiler plugin: Promote NO_NOARG_CONSTRUCTOR_IN_SUPERCLASS diagnostic from warning to error
KT-80822 False positive NO_NOARG_CONSTRUCTOR_IN_SUPERCLASS reported for a class with explicit noargs constructor already present
KT-53122 Constructors generated with NoArg have no @Metadata and are invisible for the frontend
KT-74687 Kotlin Lombok: False positive when calling builder on Java record
KT-80419 Remove bundled jetbrains annotations from kotlin-dataframe-compiler-plugin
KT-79245 [AtomicFU] Drop K1/JS- and K1/Native-specific testrunners
KT-79197 DataFrame: Cannot find local variable 'this@df' with type Scope0
KT-73865 Incorrect type is generated for irPropertyReference during K/N transformation
Tools. Compiler plugins. Serialization
KT-70345 Promote COMPANION_OBJECT_IS_SERIALIZABLE_INSIDE_SERIALIZABLE_CLASS diagnostic to error
KT-79695 Serialization does not exclude field-less properties in 2.2.20-Beta2
KT-79246 [Serialization] Drop K1-specific testrunners
Tools. Gradle
New Features
KT-78199 Gradle: Migrate JVM compilation in KGP to the new BTA
KT-45161 Gradle: Support registering generated sources with the Kotlin model
KT-64107 Kotlin Gradle plugin allows native binaries to have both debuggable and optimized flags set to true
KT-74910 Bump destinationDir in CInteropProcess to hidden
KT-74911 Promote CInteropProcess.konanVersion to hidden
KT-74864 Enable exporting KDocs by default to ObjC
KT-72705 K/N: compile task cache can not be used due to 'artifactVersion' input property
Tools. Gradle. Swift Export
KT-81465 Swift Export package is build with wrong target
KT-81460 [KGP] Crash in SwiftExportRunner due to older stdlib
KT-79524 NoSuchMethodError: 'java.lang.String org.gradle.api.artifacts.ProjectDependency.getPath() for swift export with dependency export fro gradle < 8.11
Tools. Incremental Compile
KT-75864 Implement a conservative mechanism of the IC with compiler plugins generated top-level declarations
KT-55982 K2: Consider global lookups from plugins in incremental compilation
KT-79504 Implement an API to provide IC lookups from backend plugins
KT-75657 Fix difference in incremental compilation scenarios in BTA in-process vs daemon compilation mode
KT-79541 Refactor tracking of files relation in IC
KT-74628 Incremental compilation runner does not check compiler exit code before mapping sources to classes
KT-78187 Synthetic properties not to be shown as callables
KT-72525 K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)
KT-74246 KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site
Analysis API. Code Compilation
KT-78382 K2 IR lowering error when interface extends interface
KT-73201 K2 IDE: Error while evaluating expressions with local classes
KT-78164 Evaluator: '@JvmName' annotations are not recognized in other modules
KT-76457 K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm
KT-73084 K2 evaluator cannot resolve local variables standing at the closing brace
Analysis API. FIR
Performance Improvements
KT-76490 Do not load ast during the contracts phase if no contracts present
KT-78132 Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations
KT-76855 Analysis API: KaType.asPsiType returns null for a local inner class in dependent analysis tests
KT-72718 ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted
KT-76811 Analysis API: resolveToFirSymbol finds a FirPropertySymbol for a KtScript in dependent analysis
KT-73586 [Analysis API] Add lazyResolveToPhase(STATUS) before accessing modifiers of members
KT-71135 AA: exception from sealed inheritors checker when analyzeCopy
KT-75534 K2 AA: "Containing declaration should present for nested declaration class KtNamedFunction" with dangling annotation on top-level anonymous function
KT-75687 K2: local variable doesn't get to the do-while scope
KT-56543 LL FIR: rework lazy transformers so transformers modify only declarations they suppose to
Analysis API. Infrastructure
KT-76809 Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element
Analysis API. Light Classes
KT-78835 Find usages of a light constructor from a class with an empty body finds usages of class as well
KT-78878 K2. Method shown as unavailable in Java when @JvmExposeBoxed is applied (redundantly) at both class and method level in Kotlin
KT-78065 Support "Expose boxed inline value classes" in Light Classes
KT-78076 DLC: KotlinDeclarationInCompiledFileSearcher missed accessors if types are boxed
KT-77569 SLC: annotation missing from generated no-args constructor
KT-75182 K2 AA. False positive red code "Unresolved reference" to a Kotlin method in Java when Kotlin uses a value class with @JvmOverloads
KT-77564 Constructor with JvmOverloads and value class shouldn't mark regular constructors private
KT-77505 K2: find usages on java accessor methods do not detect kotlin property accessor usages
KT-76789 Annotation resolve shouldn't search through non-class members
KT-76907 Wrong equality between repeatable annotation and container
Analysis API. Providers and Caches
KT-77578 Analysis API: Performance degradation of KaBaseResolutionScope.contains after introduction of library restriction scopes
KT-78640 Analysis API: Remove "friend builtins provider" from FirDeclarationForCompiledElementSearcher
KT-75913 K2: SymbolLightLazyAnnotation evaluates arguments and replaces them with constants
KT-78628 K2. Setting Receiver=true in Change Signature produces parameter of regular function type receiver instead of extension function type
KT-78278 ISE: FIR element "class org.jetbrains.kotlin.fir.expressions.impl.FirErrorResolvedQualifierImpl" is not supported in constant evaluation at org.jetbrains.uast.kotlin.internal.FirKotlinUastConstantEvaluator.evaluate
KT-73184 Analysis API: KaFunctionCall.argumentMapping is unexpectedly deparenthesised
KT-73327 Cover all psi inputs with scope validity assertions
KT-75358 K2 AA, KaFirVisibilityChecker: private member of anonymous object is not visible inside it
KT-73723 K2 AA, KaFirVisibilityChecker: protected member of superclass is not visible from anonymous object
KT-78057 [Analysis API, K2] Context parameters are not resolved in KDoc
KT-73758 K2 Mode: "KaEvaluator.evaluate" does not work for simple arithmetic expressions
KT-72301 K2 AA. PSI should present for declaration built by Kotlin code on property access syntax of generic Java getter through Kotlin subclass
KT-77730 K2: Unable to get a light PSI for a nested annotation used with fully-qualified name
KT-73216 K2: unresolvable references in type parameters
KT-71794 Analysis API: Types with errors have unresolved qualifiers in lambda parameters position
KT-65846 Support parameter names in functional type rendering
KT-76738 K2 AA: rendering constructor of sealed class inserts protected modifier
KT-77515KaTypeProvider#receiverType should be more tolerant to an error code
KT-77333 K2 AA: KaFirTypeProvider.getType: InvalidFirElementTypeException: For TYPE_REFERENCE with text I, unexpected element of type: FirSuperReceiverExpressionImpl found
KT-76044 K2 AA: isFun is true for restored symbol of Java interface with several methods
KT-77264KaTypeProvider#type should be more tolerant to an error code
KT-77282 KaPropertySymbol: support isDelegatedProperty for libraries
KT-77254 K2 AA: expectedType doesn't provide anything for parameter default value
KT-74777 KaVariableSymbol.hasBackingField returns incorrect result for libraries
KT-77280 Rename KaPropertyAccessorSymbol#isCustom to isNotDefault
KT-77210 Analysis API: scopeContext shows implicit receiver with a class instance in the class constructor
KT-77196 Clarify differences between KaPropertyAccessorSymbol#{isDefault, hasBody}
KT-76580 K2: No expected type for the second+ vararg argument
KT-76750 K2. internal exception 'Unable to provide inlay hint' on typo in nested lambdas
KT-73290 Analysis API: Improve the architecture of content scopes and resolution scopes
KT-73055 Get rid of the deprecated Analysis API API
KT-70199 K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments
Backend. Wasm
New Features
KT-65721 K/Wasm: stop unconditionally exporting any main function from the root package
Performance Improvements
KT-70097 Optimize shared primitive variables in Native and Wasm
Fixes
KT-80106 devServer in Kotlin/Wasm overwrites defaults, causing missing static paths
KT-80018 K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit)
KT-66072 K/Wasm: improve how exceptions work in JS interop
KT-77897 WasmJs: ClassCastException when using star-projection with nullable transformation in generic extension function
KT-71533 K/Wasm + K2: no error on KClass::qualifiedName usages
KT-73931 WASM: "RuntimeError: illegal cast" with nullable generic
KT-65403 [WASM] RuntimeError is thrown instead of ClassCastException
KT-79317 [Wasm] Do not throw CCE for ExcludedFromCodegen declarations
KT-66085 K/WASM: Runtime error is uncaught with catch (e: Throwable)
KT-78036 K/Wasm: generate a message with "expected" and "actual" types in case of CCE
KT-78384 K/Wasm: Incorrect debug info of local declarations in inline function from another file
KT-72220 Wasm: Unclear exception in case of missed dependency
KT-71691 No trace on Wasm/JS if an error occurred in initializing global variables in a file with the main function
KT-67554 [Wasm] Consider to have reference equals or/and equals for function references
KT-71521 K/Wasm: incorrect results on equality checks for capturing property references
KT-71522 K/Wasm: incorrect results on equality checks for function references
KT-69570 K/Wasm: JsExport with default parameter value compiles to invalid Wasm
KT-71517 K/Wasm: KClass::qualifiedName for local classes and objects returns non-null value
KT-68309 WASM: Anonymous class simpleName returns "" instead of null
KT-77272 K/Wasm: Remove kotlin.wasm.internal.ClosureBox* classes from the standard library
KT-66106 Wasm: lambda was not invoked in test lambda2.kt
KT-77855 [Wasm] Improve virtual function calls speed for lambdas
KT-77501 Wasm: unsigned vararg compiles to invalid Wasm
KT-78672 Consider having FirCallableSymbol.callableId null for local properties / parameters
KT-77839 K2: consider not creating CallableId for value parameters / variables / fields
KT-74981 Kotlin/Native: large binary size for iOS target in 2.1.0(LLVM16)
KT-77838 K2: consider replacing LinkedHashMap with HashMap inside scopes and scope session
KT-76698 Android Studio compose preview holds read lock 700ms for KaCompilerFacility API
KT-68677 Kotlin compilation issue when using EnumMap and Pair
Fixes
KT-79979 K2: ClassCastException when overriding extension property with delegation
KT-67146UPPER_BOUND_VIOLATED missing on implicit type arguments
KT-76477 Kotlin/Native: fix compiler performance reporting in sources->klib and klibs->binary
KT-79866 kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an error
KT-78666 "Platform declaration clash" caused by indy lambda name generation which generates conflicting names
KT-80285 IJ monorepo: broken compilation after 2.2.20-RC update
KT-79442 "Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces
KT-78589 "Class does not have member field" caused by delegation from a Java to Kotlin class
KT-79816 Java Interfaces implemented by delegation have non-null return checks
KT-78097 False positive NO_ELSE_IN_WHEN on sealed interface with negative is check
KT-77182 A function in a file annotated with @file:MustUseReturnValue doesn't produce a warning when it is used from compiled code
KT-79085 Adding -Xreturn-value-checker=full to kotlinc causes "error: conflicting overloads"
KT-75268 K2: Implement the new compilation scheme for MPP (compiler part)
KT-78843 FIR tree: comments within String concatenation aren't visited in 2.2.0
KT-77401 [FIR] ParameterNameTypeAttribute.name doesn't support @ParameterName with compile-time constant property argument
KT-73611 Remove -Xextended-compiler-checks in favor of a deprecation cycle
KT-79276 Dexing fails with "Cannot read field X because is null" with 2.2.0
KT-79781 Missing MISSING_DEPENDENCY_CLASS when using type alias with inaccessible RHS
KT-78621 false-positive type mismatch error on value of nullable type as value of platform type
KT-79547 "UnsupportedOperationException: Not supported" with inlining and value classes
KT-52706 Bad signature for generic value classes with substituted type parameter
KT-79519 Nested type alias is unreachable from another module
KT-76839 False-negative MISSING_DEPENDENCY_CLASS on parameter of data class constructor
KT-78352 False-positive IDENTITY_SENSITIVE_OPERATIONS_WITH_VALUE_TYPE when comparing with equality operator (==)
KT-78815Symbol not found: __ZNSt3__117bad_function_callD1Ev error on iOS 15.5 simulator in Xcode 16.3 after update to 2.2.0-Beta2
KT-25341 NOT_YET_SUPPORTED_IN_INLINE reported over anonymous object border
KT-77099 'all' annotation target is not a soft keyword
KT-76478 FIR: Implement IDE-only checker for types exposed in inline function
KT-79355 Failed to fix the problem of desugared inc with new reverse implies returns contract
KT-79277 Implies returns contract doesn't affect the return type of the function if it is in the argument position
KT-78429 K2: Property callable reference incorrectly smart-casted to intersection of property type and KProperty
KT-78509 Renamed for override copy functions are cached in scope instead of session
KT-17417 Loops in delegation: no compilation error on non-abstract class with abstract method that never implemented
KT-75033 Split JvmBackendPipelinePhase to be able to provide a custom implementation of writeOutputs
KT-75831 K2: An extra "[VALUE_PARAMETER_WITHOUT_EXPLICIT_TYPE] An explicit type is required on a value parameter." for a missing parameter
KT-78370 All the [something]Assign operators on dynamic return Unit as a type
KT-73950 K2 IDE / Kotlin Debugger: ISE “Fake override should have at least one overridden descriptor” on evaluation of local calss in presence of bystander
KT-77545@NoInfer on receiver type leads to false positive type mismatch when generic type is specified explicitly and closest implicit receiver is of incorrect type
KT-76772@NoInfer on a context parameter's type leads to a false-positive context argument ambiguity error regardless of the closest implicit values' types if there are multiple of them at the call site
KT-76771@NoInfer on context parameter type leads to a false-positive type mismatch when generic type is specified explicitly and closest implicit value at the call site is of a mismatching type
KT-77156 INITIALIZATION_BEFORE_DECLARATION is not reported in anonymous object
KT-67555 Debug metadata: map the Continuation label to the next executable location in file
KT-77723 Refine the message for ArrayEqualityCanBeReplacedWithEquals checker
KT-75178 Inline functions in conjunction with @JvmStatic may result in bytecode errors
KT-77390 Prototype lazy loading of stdlib symbols in Native
KT-77921 False positive EXTENSION_SHADOWED_BY_MEMBER when member has context parameters
KT-77895 false-negative error on package directives with context parameter lists (even with context parameters disabled)
KT-76767 AMBIGUOUS_CONTEXT_ARGUMENT should report the name of the context parameter in addition to the type
KT-77444 K2: False negative "Unchecked cast" with casting from MutableList to MutableList
KT-63348 K2: FIR2IR should properly pass expected types
KT-77627 K2: consider getting rid of NEW_INFERENCE_ERROR
KT-75833 K2: Extra [ANNOTATION_ARGUMENT_MUST_BE_CONST] when passing regex-like strings as annotation arguments
KT-77547 Native: add a check that the logic looking for stdlib-related bitcode is not used when compiling sources to a klib
KT-77206 Remove PARAMETER_NAME_CHANGED_ON_OVERRIDE suppression in KMP lexers
KT-77679 Update syntax-api dependency in KMP Kotlin parser
KT-77705 K2: Consuming data class compiled with kotlin 1.0.5 breaks the K2 compiler
KT-76583 CCE: suspend lambda attempts to unbox value class parameter twice after lambda suspended
KT-76663 KJS: KotlinNothingValueException caused by expression return since 2.1.20
KT-75457 Native: cache machinery uses stdlib cache with default runtime options even if custom runtime options are supplied when partial linkage is disabled
KT-77563 False-positive smart cast with captured local in init block causes NPE
KT-77696 ISE "couldn't find inline method" on kotlin/Result compiled by old Kotlin version
KT-76931 K2: Annotation on do-while expression captures variables from inside the loop
KT-77183 Metadata: remove multi-field value class representation
KT-77678 Apply found optimization to Kotlin KMP parser
KT-60127 K2: Support scripts with LightTree-based raw FIR building
KT-76615 K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" for mixed Java/Kotlin code
KT-77220 Annotation with EXPRESSION is not allowed on lambdas in Kotlin 2.2.0
KT-77656 K/N: fix the super type for local delegated properties
KT-75907 Inference/PCLA: consider storing semi-fixed variables in inference session
KT-77451 FirLazyResolveContractViolationException for test with overridden delegate
KT-77397 Report UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL when calling declaration with contextual function type in signature
KT-77137 K2: Controversial behavior allows resolving annotation arguments on a companion inside it
KT-77257 Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the conditional expression to the inaccessible interface
KT-77256 Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the functional call result to the inaccessible interface
KT-76356 K2 evaluation fails on evaluating inline methods if there is an inline with AutoCloseable
KT-73786 Evaluator: cannot evaluate inline methods with reified parameter
KT-77044 Consolidate, refine and update jFlex dependency
KT-77252 It is impossible to declare an unnamed variable in a script
KT-58137 K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another module
KT-77140 Protect ConstraintSystemCompletionMode.UNTIL_FIRST_LAMBDA with opt-in
KT-76898 K2: ClassCastException when data class shadows supertype's componentX method with wrong type
KT-75695 Bogus "Assigned value is never read" warning for prefix ++ operator
KT-76805 Wrong NPE occurs when assigning synthetic properties with platform types in Kotlin 2.1.20
KT-77078 K2: anonymous object is wrongly allowed to implement interfaces by unsafe Delegation
KT-72722 Treat 'copy' calls of a data class as explicit constructor usages
KT-77149 IllegalArgumentException: source must not be null
KT-76806 K2: AIOOBE in FirEqualityCompatibilityChecker
KT-72391 KJS: (a * b).toDouble_ygsx0s_k$ is not a function
KT-76950 K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" with nullable UByte
KT-76043 Native: NotImplementedError: Generation of stubs for class org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl is not supported yet
KT-77126 Transitive dependency mismatch between Kotlin Gradle Plugin and Scripting dependencies
KT-72831 ANNOTATION_USED_AS_ANNOTATION_ARGUMENT missing in some cases in K2
KT-73707 Remove dependency on ":compiler:backend.jvm" from Native
KT-75499 CheckerContext#{containingDeclaration, containingFile} in checkers should return symbols
KT-76548 False positive TYPE_MISMATCH when resolving an expression with the expected type from the upper bound
KT-76142 K2: @RequiresOptIn warning does not display the custom message when using concatenated strings.
KT-68699 Kotlin Debugger: UPAE “lateinit property parent has not been initialized” on trying evaluate enumValues(), enumEntries() from inlined function with reified parameter
KT-63267 K2: incorrect line numbers after smart cast of an extension receiver
KT-71309 Kotlin Debugger: UnsupportedOperationException on calling method with reified type parameter
KT-74912 K2: Investigate irrelevant ARGUMENT_TYPE_MISMATCH on top-level lambdas
KT-74657 K2: Linenumber for annotation on local variable is present in LVT
KT-76749 NONE_APPLICABLE message is unreadable for stdlib context function
KT-74932 Investigate false-negative ARGUMENT_TYPE_MISMATCH on a nested anonymous function
KT-74545 Redundant TYPE_MISMATCH in variable initializer with call
b/307592552 Add BigInteger and BigDecimal to the list of known stable classes
b/414547195 Unwrap type casts when inferring @Composable call arguments
IR. Inlining
New Features
KT-70360 KLIBs: Uniformly handletypeOf() calls at 1st/2nd stages of compilation
Fixes
KT-79002 [Inliner][Native][PL] Native backend fails for inline function that instantiates a class that was compiled implementing two interfaces, which turned into abstract classes
KT-78137 Review & enable PL tests with enabled IR inliner
KT-72464 [Native][JS][Wasm] Non-local return through suspend conversion breaks the IR inliner
KT-69941 Rewrite DumpSyntheticAccessors lowering to test handler after moving common Native/JS prefix to KLIB compilation
KT-6675 KotlinJS: toInt() on external Long throws error
KT-79184 K/JS: Further intrinsify BigInt-backed Long operations
KT-78701 Js and Wasm: enumValueOf does not include invalid value into an exception message
KT-55256 KJS: non-exported subclass with a no-parameter function overload doesn't compile
KT-76034 passProcessArgvToMainFunction contains the node path and script path
KT-66091 KJS, WASM: AssertionError: Illegal value: <T> in test nonReified_equality.kt
KT-78169 KJS: [NON_EXPORTABLE_TYPE] with @JsExport class if @JsStatic companion method returns an out type
KT-57192 KJS: "Exported declaration uses non-exportable return type" caused by @JsExport Promise with Unit type
KT-61183 KJS: "AssertionError: Assertion failed" from JsSuspendFunctionsLowering
KT-59326 KJS / IR: invalid code generated when using constructor parameter named default
KT-70295 KLIB stdlib: Unify intrinsics for boxing captured variables in lambdas across non-JVM backends
KT-77021 CompilationException: Encountered a local class not previously collected on inner classes inside anonymous objects
KT-77320 KJS: Big.js times() is compiled to multiply (*) operator
KT-77430 K/JS: Remove sharedBox* intrinsics from the standard library
KT-73267 KJS: IC: "FileNotFoundException": Build failures with Kotlin 2.1-RC and RC2
KT-76912 KJS: @JsStatic can't be used for companion objects implementing external interfaces
KT-77271 KJS / Serialization: "Cannot set property message of Error which has only a getter"
KT-77242 Kotlin/JS & Kotlin/Wasm backends: Artificially apply reverse topo-order after IR linkage
KT-77649 KJS: es-arrow-functions requires explicit opt-in when target is ES2015
KT-76235 [JS] Extra invalid line tmp_0.tmp00__1 = Options; in testSuspendFunction()
KT-76234 [JS] Extra invalid line Parent in testNested()
KT-76233 [JS] Extra invalid import line in testJsQualifier()
KT-77190 Migrate JS diagnostic tests to the new CLI-based test facades (1st phase only)
KT-77418 KJS: cannot debug with whole-program granularity
KT-77371 [K/N][K/JS][K/Wasm] Unify visibility rules for generated default argument stubs
KT-77148 KJS: "Uncaught TypeError: (intermediate value).l(...).m is not a function" during production build run
KT-77193 Migrate JS irText tests to the new CLI-based test facades (1st phase only)
KT-77192 Migrate JS ABI reader tests to the new CLI-based test facades (1st phase only)
KT-77187 Migrate JS box tests to the new CLI-based test facades (1st phase only)
KT-77027 Migrate 1st phase facades to the phased CLI infrastructure in JS tests
KT-69591 KJS / d.ts: Wrong type of SerializerFactory for abstract classes
KT-76027 KJS: "ReferenceError: entries is not defined": Accessing entries of an enum arbitrarily fails with println()
KT-76232 Suspend contextual function with extension receiver results in wrong values at runtime in JS
KT-42305 KJS / IR: "Class constructor is marked as private" @JsExport produces wrong TS code for sealed classes
KT-52563 KJS / IR: Invalid TypeScript generated for class extending base class with private constructor
Klibs
New Features
KT-78699 Compiler (JS, Wasm): warn about incompatible kotlin-test/compiler pair
KT-78700 Compiler (JS, Wasm): Consider making diagnostics for incompatible kotlin-stdlib/compiler and kotlin-test/compiler pairs errors instead of warnings
KT-74815 KLIB resolver can't consume metadata klibs between source sets when abi_versions diverge
KT-68322 Compiler (JS, Wasm): warn about incompatible Kotlin stdlib/compiler pair
Fixes
KT-78168 K/N: "IndexOutOfBoundsException: Index 3 out of bounds for length 3" for iOS build with Kotlin 2.2.0-RC2
KT-75766 PL: Error on building fake override with multiple overridden members with unbound symbols in return type
KT-75757 PL: Error on building fake overrides with unbound symbols in value parameters
KT-76094 Support new callable reference nodes in partial linkage in Kotlin/Wasm
KT-78771 KLIBs: Improve zipDirAs() function that is used to produce KLIB (ZIP) archives
KT-75980 [Klib] Reduce serialized size of IrFileEntries for sparse usage of another source files
KT-78349 [Tests] Enable Partial Linkage in all tests
KT-76827 KLIB cross-compilation tests: Don't use IR hashes and metadata hashes in test data
KT-76266 Move trigger of :tools:binary-compatibility-validator:check to native/native.tests/klib-ir-inliner
KT-76725 KLIB ABI export in older version: Restore legacy directories
KT-76061 Add option for suppress warning of missing no-existent transitive klib dependencies
KT-76471 Partial linkage: add an attribute if a class is invalid
KT-75192 KLIB reader tends to extract files from the KLIB archive to a temporary directory even when this is not needed
Language Design
KT-78866 Warn implicit receiver shadowed by context parameter
KT-54363 Allow using reified types for catch parameters
KT-32993 Contract to specify that a function parameter is always true inside lambda
KT-79308 Ability to actualize empty interfaces as Any
KT-8889 Contracts: if a given function parameter is not null, the result is not null
KT-22786 Returns are not allowed for expression-body functions and are allowed when an inline lambda is added
KT-77836 Support using context parameter of a @RestrictsSuspension type as the "restricted coroutine scope"
KT-77823 Context-sensitive resolution doesn't work for subtypes of sealed types
KT-75977 False positive unresolved_reference when resolving nested member after a type check
KT-73557 Allow refining expect declarations for platform groups
Libraries
New Features
KT-76389 Provide update functions for common atomics
KT-78581 Add the KClass.isInterface property to Kotlin/JS stdlib
KT-34132 Contract for ClosedRange.contains(T?) operator
KT-73853 Provide vararg constructors for Atomic Arrays
KT-78279 Make the DiagnosticReporter default way for reporting in IR plugins
KT-77157 Cannot create a symbol pointer for local class generated by FirFunctionCallRefinementExtension
Tools. Compiler Plugins
New Features
KT-78038 Make jvm-abi-gen compiler plugin output classloader-friendly
KT-77339 Update kotlin dataframe dependency to 1.0.0-dev-6925
Fixes
KT-78969 [DataFrame] Provide source elements for plugin-generated classes
KT-75265 PowerAssert: the result of invoke is displayed at the same level as value that can be confusing
KT-78490 "AssertionError: SyntheticAccessorLowering should not attempt to modify other files" when calling protected open composable with default argument
KT-77626 K2: AssertionError: FUN LOCAL_FUNCTION_FOR_LAMBDA has no continuation
KT-78671 [DataFrame] Support type parameter types in DataSchema to fix evaluate expression
KT-78439 DataFrame compiler plugin: Unresolved reference error in REPL
KT-75876 PowerAssert: don't display results for assertion operator
KT-75514 [JS][Native] Add IrPreSerializationLoweringFacade to Atomicfu test runners
KT-77719 Remove suppress INVISIBLE_REFERENCE from DataFrame plugin
KT-77691 Kotlin DataFrame plugin: IR and FIR anonymous functions have inconsistent receivers
KT-77455 kotlin-dataframe plugin throws NoClassDefFoundError in IDE
KT-77437 Kotlin DataFrame: Add configuration key to disable top level properties generator
KT-76139 Run integration tests against Gradle 8.14
KT-77035 A compiler diagnostic isn't reported when its severity is set to warning with Gradle
KT-76951 'distribution-base' plugin is only applied in Gradle 8.13
KT-73142 Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilder
KT-76740 Use Problems API for warning introduced in KT-75808
KT-65271 Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3
Tools. Gradle. Cocoapods
KT-76035 Allow extra command line arguments in PodBuildTask
KT-78387 Kotlin Cocoapods Gradle Plugin is not compatible with Gradle isolated projects
KT-79429 K/N: Cocoapods: IllegalArgumentException: "cinterop doesn't support having headers in -fmodules mode" with 2.2.20-Beta1 if explicitly not specify false for 'useClangModules'
KT-77414 KMP dependencies in detached source sets cause IDE resolution to write error logs: "kotlin-project-structure-metadata.json (No such file or directory)"
KT-76200 TestModuleProperties.productionModuleName for JVM module isn't present with 2.1.20-RC
Tools. Gradle. Native
KT-51301 Remove ability to use Native non-embeddable compiler jar in Gradle plugin
KT-74864 Enable exporting KDocs by default to ObjC
KT-77977 "Unknown hardware platform: riscv64" on JVM project build
KT-78838 Add default 3G max heap size for the commonizer JVM process
KT-68256 Reduce commonizer max heap size to default 3g and allow users to configure it
KT-77067 Kotlin Gradle plugin with the configuration cache passes all platform libraries to the compiler when compiling a binary for the first time
Tools. Gradle. Swift Export
KT-79554 Swift Export status diagnostic is produced even if swift export is not configured
KT-78385 Swift Export is not compatible with Gradle isolated projects
KT-79524 NoSuchMethodError: 'java.lang.String org.gradle.api.artifacts.ProjectDependency.getPath() for swift export with dependency export fro gradle < 8.11
Tools. Incremental Compile
KT-60653 IC does not handle changes in inline functions objects/lambdas correctly
KT-78807 Changing ABI fingerprint on non-ABI changes when lambda passed to inlined function
KT-69075 Incremental compilation: smartcast is impossible on field with @JvmName
KT-79276 Dexing fails with "Cannot read field X because is null" with 2.2.0
KT-79442 "Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces
KT-78815Symbol not found: __ZNSt3__117bad_function_callD1Ev error on iOS 15.5 simulator in Xcode 16.3 after update to 2.2.0-Beta2
KT-78501 K2: Missing [ABSTRACT_SUPER_CALL] diagnostics for delegated interface method leads to AssertionError: isCompiledToJvmDefault during IR lowering
KT-78479 IR lowering failed / Unexpected null argument for composable call
KT-76477 Kotlin/Native: fix compiler performance reporting in sources->klib and klibs->binary
KT-78736 Missing [NOT_YET_SUPPORTED_IN_INLINE] diagnostics because of incorrect context update
KT-77685 "IllegalArgumentException: Sequence contains more than one matching element"
KT-78352 False-positive IDENTITY_SENSITIVE_OPERATIONS_WITH_VALUE_TYPE when comparing with equality operator (==)
Compose compiler
KT-78479 Ensure that default transform affects functions entered through a call
KT-78490 Fix visibility for default wrappers of protected methods
b/408492167 Emit parameter names in Compose source information
JavaScript
KT-79050 KJS / IC: "Unexpected body of primary constructor for processing irClass"
KT-79089 KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode tests
Native
KT-79075 Stuck on Kotlin_getSourceInfo_core_symbolication
KT-76178 LLVM Update: symbol '__ZnwmSt19__type_descriptor_t' missing
Native. Runtime. Memory
KT-78925 Crash SIGABRT on Apple Watch after updating Kotlin to 2.2.0
Tools. CLI
KT-77445 UNRESOLVED_REFERENCE when importing classes from kotlin-stdlib
KT-78263 java.lang.NoClassDefFoundError: Could not initialize class com.intellij.psi.impl.PsiSubstitutorImpl
KT-78318 Unresolved reference when compiling kotlin/JS project on fresh master
Tools. Compiler Plugins
KT-78490 "AssertionError: SyntheticAccessorLowering should not attempt to modify other files" when calling protected open composable with default argument
KT-78038 Make jvm-abi-gen compiler plugin output classloader-friendly
Tools. Gradle
KT-77023 Support creating KotlinJvmAndroidCompilation in KotlinBaseApiPlugin
Tools. Gradle. JS
KT-78504 [2.2.0-RC3] NPM Tasks in 2.2 RCs produce broken/unusable build cache entries
Tools. Gradle. Multiplatform
KT-77466 KMP - testFixturesApi and similar configurations do not affect jvmTestFixtures source set
KT-68646 Compose extension's metrics/reports dir should use subdirs based on target
Tools. Gradle. Native
KT-77977 "Unknown hardware platform: riscv64" on JVM project build
Tools. Incremental Compile
KT-78807 Changing ABI fingerprint on non-ABI changes when lambda passed to inlined function
Tools. Kapt
KT-77853 K2 KAPT: backend internal error: exception during IR fake override builder
KT-79138 K2: KAPT Java Stub Gen: Unresolved reference with @kotlin.Metadata in Java in 2.2.0
KT-75542 K2 AA: "FirDeclaration was not found for class KtNamedFunction, fir is class FirErrorExpressionImpl" for unclosed annotation on member function
KT-73719 K2. "FirDeclaration was not found for class KtDestructuringDeclaration, fir is class FirBlockImpl" on incorrect chain call
KT-72908 K2 Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteral" with non-local destructuring declaration without initializer before init block
KT-75532 ContextCollector: scope for an anonymous function type parameter contains regular parameters
KT-74508FirElementBuilder#findElementInside should reuse logic from KtToFirMapping#getFir
KT-73066 [LL] Enable low-level-api-fir-native even with the disabled native part
KT-75132 Investigate failures of sandbox diagnostic test
KT-75130 Set up LL FIR tests for sandbox test data
KT-73386 Standardize LL FIR test for compiler test data
KT-75125 ISE “Value classes cannot have 0 fields” on instantiating inline class without fields
KT-75179 ContextCollector: support error properties
KT-74632 K2: ISE FirLazyDelegatedConstructorCall should be calculated before accessing
KT-74818 K2 AA: "FirDeclaration was not found for class KtTypeParameter, fir is null" with TYPE_PARAMETERS_NOT_ALLOWED on anonymous function
KT-73183 Support context parameters in ContextCollectorVisitor
KT-60350 K2 IDE: top level destructuring RHS should be resolvable
KT-74794 K2: FirLazyExpression should be calculated before accessing with context parameter and implicit return type
KT-72938 Get rid of KaFirAnnotationListForReceiverParameter
KT-74943 Analysis API: Replace KotlinGlobalModificationService with simpler global modification event publishing and listener-based modification trackers
KT-70518 K2: Analysis API: Access indices outside of ConcurrentMap computation in symbol providers
KT-74302 Analysis API: LLFirProvider should disregard self-declarations in getFirClassifierBy*
KT-67868 Analysis API: Improve the architecture of LLFirKotlinSymbolProviders
Analysis API. Standalone
KT-72810 withMultiplatformLightClassSupport is inconvenient in Standalone
KT-68484 K2 IDE, Analysis API: "We should be able to find a symbol for function" for getting KaType of Iterable<T>.map(transform: (T) -> R) parameter in J2K
KT-72730 K2: "Unexpected owner function: KtNamedFunction" on vararg val parameter in function
KT-75123 K2. KaFirNamedFunctionSymbol should contain a receiver
KT-75894 Cannot build KaFirJavaFieldSymbol for FirFieldImpl
KT-75115 Analysis API: The JavaModuleResolver compiler class is leaked to Analysis API platform implementations
KT-76018 K2: Stop the wold leads to deadlock/freeze
KT-76011KaFirNamedClassSymbol#companionObject doesn't provide generated objects generated by compiled plugins
KT-72482 "KotlinIllegalArgumentExceptionWithAttachments: Expected all candidates to have same callableId but some of them but was different" on trying to add the import
KT-75586KaFirPropertyGetterSymbol#isInline and KaFirPropertySetterSymbol#isInline is incorrect for accessors with explicit modifier
KT-58572 Analysis API: Enforcing STATUS resolve in 'KtFirNamedClassOrObjectSymbol.visibility' may cause lazy resolve contract violation
KT-76422 FirJavaFacade#createFirJavaClass: do not compute super type references right away
KT-75957 K2: PsiRawFirBuilder.Visitor#toFirExpression forces AST loading via getSpreadElement
KT-74824 Exponential performance caused by nested flexible types
KT-62855 K2: extra allocation for SAM conversion compared to K1
KT-74977 K/N: support stack array for Array(size) call
KT-74369 Exponential compiler memory usage in specific situations with type inference
Fixes
KT-76606 Enable 'Indy: Allow lambdas with annotations' by default
KT-77301 False positive Context Parameter resolution when using DslMarker
KT-74389 K2: False positive NON_EXPORTABLE_TYPE on non-Unit Promise<...> in K/JS
KT-77219 "@Composable annotation is not applicable" on vararg @Composable () -> Unit in Kotlin 2.2.0
KT-76357 K2: a nested class annotation observes member declarations of the outer class
KT-72734 Support new callable reference nodes in Kotlin Native
KT-74421 K2: Missing "val cannot be reassigned" when trying to assign a value to parent's "val"
KT-63720 Coroutine debugger: do not optimise out local variables
KT-74470 NSME on calling in runtime internal constructor of value class with default arg from tests
KT-77640 Context parameters: using 'contextOf()' function leads to [NO_CONTEXT_ARGUMENT]
KT-73909 Add an inspection discouraging usage of kotlin.concurrent Native atomics in favor of the new atomics
KT-76583 CCE: suspend lambda attempts to unbox value class parameter twice after lambda suspended
KT-76663 KJS: KotlinNothingValueException caused by expression return since 2.1.20
KT-75457 Native: cache machinery uses stdlib cache with default runtime options even if custom runtime options are supplied when partial linkage is disabled
KT-76615 K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" for mixed Java/Kotlin code
KT-77220 Annotation with EXPRESSION is not allowed on lambdas in Kotlin 2.2.0
KT-76381 K2: Expected expression 'FirPropertyAccessExpressionImpl' to be resolved
KT-74739 Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION_REFERENCE"
KT-74325 Explicit API mode does not enforce explicit return types for extension properties
KT-77259 Confusing message for ANNOTATION_WILL_BE_APPLIED_ALSO_TO_PROPERTY_OR_FIELD
KT-73771 K2: Infinite compilation caused by buildList without type
KT-61258 Kotlin/Native: CLASS CLASS name: modality:FINAL visibility:local superTypes:[.Base]
KT-51258 Annotations should go before context receivers
KT-76253 K2 Compiler: Less precise diagnostic COMPONENT_FUNCTION_AMBIGUITY for flexible type
KT-59526 Store annotation default values in metadata on JVM
KT-63850 K2: setter with an annotated parameter has isNotDefault == false flag in metadata
KT-75712 -Wextra: false positive UNUSED_LAMBDA_EXPRESSION on functional type variable assignment with inferred type
KT-4779 Generate default methods for implementations in interfaces
KT-69624 Debugger: Missing local variable in Variables view (inline function)
KT-75518 NO_CONTEXT_ARGUMENT should report the name of the context parameter in addition to the type
KT-76199 Introduce -Xcontext-sensitive-resolution compiler flag
KT-75553MISSING_DEPENDENCY_SUPERCLASS and MISSING_DEPENDENCY_SUPERCLASS_WARNING is reported at the same time on the same element
KT-76159 Obsolete error "'@JvmDefaultWithCompatibility' annotation is only allowed on interfaces" should be removed
KT-76660 False negative RETURN_NOT_ALLOWED in lambda in default argument leads to NoClassDefFoundError: NON\_LOCAL\_RETURN
KT-76301 Fail to infer types after syntactical change
KT-74999 K2: KotlinNothingValueException within Extension Function
KT-76675 KIAEWA exception at KaFirDataFlowProvider with non-local return from nested inline call
KT-75756 Backend Internal error: Exception during IR lowering when trying to access variable from providedProperties in class within kotlin custom script
KT-76284 Flexible captured type is not approximated in receiver position
KT-76192 RETURN_TYPE_MISMATCH with same expected and actual type: nullability of actual type is omitted
KT-75944 Allow using invokedynamic for lambdas with no 'Runtime' level retention annotations
KT-76396 FirIntegerConstantOperatorScope: NoSuchElementException: Collection contains no element matching the predicate
KT-76209 CONFLICTING_UPPER_BOUNDS on Nothing bound
KT-59506 Context receivers: Unable to use trailing comma in receiver list
KT-46119 NONE_APPLICABLE instead of NAMED_ARGUMENTS_NOT_ALLOWED with overloaded Java constructor call
KT-75503 Run lazy resolution in CallableCopyTypeCalculator and use withForcedTypeCalculator everywhere in checkers
KT-76485 Don't report EXTENSION_SHADOWED_BY_MEMBER if extension can be called with named arguments
KT-76154 False positive "EXTENSION_SHADOWED_BY_MEMBER" when extension adds default values to parameters
KT-76527 False positive UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL with -Xcontext-receivers and implicit invoke
KT-63246 K2: False positive NOTHING_TO_OVERRIDE in generic property with context receiver in non generic class extending generic class
KT-58534 K2: "Argument type mismatch" with typealias to context receiver functional type
KT-71792 Switch latest stable version in Kotlin project to 2.2
KT-74827 CompilationErrorException : Could not load module in an attempt to find deserializer when trying to evaluate an expression
KT-70352 K2: False-negative CONFLICTING_UPPER_BOUNDS on Nothing bound
KT-71481 K2: drop pre-1.6 language features from compiler code
KT-74454 Support trailing comma in context parameters
KT-74069 False positive UNUSED_EXPRESSION due to Long/Int conversion
KT-74337 Local Delegated properties don't preserve their annotations and don't show up in reflection
KT-55187 Context receivers in function types can have labels
KT-58498 Context receivers: ClassCastException with object and extension function in interface
KT-58165 K2: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER" on overridden contextual property
KT-75234 Add error for callsInPlace contracts on context parameters
KT-73805 K2: Investigate missing diagnostic in implicit invoke call on context function type with receiver from module with disabled context parameters
KT-41934 NI: a type variable for lambda parameter has been inferred to nullable type instead of not null one
KT-75983 Backend Internal error: Exception during IR lowering 'IllegalStateException: Internal error: cannot convert Any to Int'
KT-75535 Compilation of typealias does not check for clashes
KT-72313 K2 IDE / KMP Debugger: Evaluation of inline functions declared in a common source set causes a crash
KT-76290 False positive UNUSED_EXPRESSION while returning Unit in the when branches
KT-32358 NI: Smart cast doesn't work with inline function after elvis operator
KT-76316 K2: Missing NON_PUBLIC_CALL_FROM_PUBLIC_INLINE on object extending private class in public inline function
KT-76324 Frontend diagnostic says "... this will be an error in Kotlin N.M" but N.M is already released
KT-76058 PCLA: compile-time failure on calling a higher-order function from another module inside a lambda assigned to a variable of a type with a postponed type variable
KT-75571 K2: type mismatch error provides unsubstituted types
KT-31391 'Recursive call is not a tail call' with elvis operator in tailrec function
KT-73420 False-positive NON_TAIL_RECURSIVE_CALL on tailrec function with elvis in the return statement
KT-75815 Disable warnings about different context parameter names in overrides
KT-75169 Unnecessary EXTENSION_SHADOWED_BY_MEMBER on generic declarations
KT-75483 Native: redundant unboxing generated with smart cast
KT-76339 K2: Dangling modifier list is missed for enum entries in PSI mode
KT-75513 Avoid overrides traversal without preinitialization
KT-74587 Report an error when JvmDefaultWithoutCompatibility is used with -Xjvm-default=all
KT-76257 Annotations with class references are not supported when marking IR declarations as visible to metadata
KT-59272 Incorrect bytecode generated: wrong line number table after condition
KT-69248 K2: IAE “class KtDotQualifiedExpression is not a subtype of class KtCallExpression for factory ENUM_CLASS_CONSTRUCTOR_CALL” with qualified enum constructor call
KT-73778 Kotlin Debugger: NSFE on accessing private property from dependencies during evaluation
KT-74131 Incorrect line numbers for static initializer with delegated local variable
KT-76320 K2: PsiRawFirBuilder: import alias triggers ast loading
KT-63851 K2: No setterValueParameter in metadata for property setter with an annotated parameter
KT-55083 JVM: AbstractMethodError caused by lambda with sealed base interface and fun sub interface and overridden method
KT-16727 Names for anonymous classes in interfaces are malformed on JDK 8
KT-12466 NoClassDefFoundError: B$DefaultImpls on super interface call through K-J-K inheritance
KT-71002 Possible inheritance from nullable type through typealias
KT-75112 FE resolves wrong receivers order for property passed to delegate
KT-75924 K2. Incorrect generic type Inference "R? & Any" appears for "Add explicit type arguments"
KT-75969 java.lang.IllegalArgumentException: source must not be null on red code
KT-75322 ConeDiagnosticToFirDiagnosticKt: source must not be null
KT-73800 Wrong method executed on super call in -Xjvm-default=all/all-compatibility with an extraneous super-interface
KT-38029 Wrong method executed on super call in diamond hierarchy with covariant override
KT-75242 Any use-site target can be applied to a lambda and an expression
KT-73051 incorrect direction of subtyping violation in type mismatch error's message for A<X> </: A<Y> given a Tv <: Rv == C constraint from a lambda return position
KT-75090 Argument type mismatch: actual type is 'SuspendFunction0', but 'SuspendFunction0' was expected when anonymous function is passed to function expecting suspend function type
KT-74956 K2: No USAGE_IS_NOT_INLINABLE with compiling an inlined function call
KT-76049 K2: drop explicitTypeArgumentIfMadeFlexibleSynthetically creation when DontMakeExplicitJavaTypeArgumentsFlexible is enabled
KT-76055 K2: drop prepareCustomReturnTypeSubstitutorForFunctionCall logic when DontMakeExplicitJavaTypeArgumentsFlexible is enabled
KT-76057 K2: don't do reverse Java overridability checks when DontMakeExplicitJavaTypeArgumentsFlexible is enabled
KT-75639 Inline context function leads to ClassCastException
KT-75677 K2: change runtime behavior of KT-75649 case in 2.2
KT-75961 K2: PsiRawFirBuilder.Visitor#visitSimpleNameExpressionforces AST loading via getReferencedNameElement().node.text
KT-67869 Make inference for lambda working consistently inside and outside of the call
KT-74885 K2: IAE "source must not be null" in FirCyclicTypeBoundsChecker
KT-75578 K2: False negative [SUPER_CALL_WITH_DEFAULT_PARAMETERS] when calling the upper-class implementation of a method with the default value argument
KT-73954 Generate implementations in classes for inherited non-abstract methods in -Xjvm-default=all-compatibility
KT-75173 Context parameters: KotlinIllegalArgumentExceptionWithAttachments if you override function with value/extension parameter by fun with context
KT-75742 Native: "IllegalArgumentException: unknown pass name '' " when specifying an empty list of LLVM passes
KT-74819 K2: False-positive overload resolution ambiguity for flatMap inside PCLA
KT-75093 K2 IDE: "Unreachable code" highlighting range is confusing
KT-74572 Context parameters: contracts don't work with context parameters
KT-74765 Move K1 lazy IR implementation from 'ir.tree' to 'psi2ir'
KT-71425 IR Inliner: investigate return type of an inlined block
KT-74764 Native: merge init nodes generated within the same LLVM module for the same klib
KT-75561 K/N: place InteropLowering after UpgradeCallableReferences phase
KT-73369 K/N: move interop lowering up the pipeline
KT-75517 K2: Refactor FirCallableSymbol.resolvedContextParameters to return symbols
KT-75821 K2: REPL resolution doesn't take into account the property type when processing its initializer
KT-75705 IllegalArgumentException when isInitialized is used with java field
KT-75334 Java target shouldn't be specified if Kotlin target isn't specified
KT-75157 Missing PARAMETER_NAME_CHANGED_ON_OVERRIDE and DIFFERENT_NAMES_FOR_THE_SAME_PARAMETER_IN_SUPERTYPES for context parameters
KT-75160 Check usages of value parameters in checkers and adapt to context parameters
KT-75729 KtPsiFactory: no type-safe way to create triple-quoted KtStringTemplateExpression
KT-75040 Unify subject and subjectVariable in FirWhenExpression
KT-75323 FirSyntheticProperty: Unexpected status. Expected is FirResolvedDeclarationStatus, but was FirDeclarationStatusImpl
KT-75602 Introduce concept of shared library session in Fir sessions
KT-75509 PARAMETER_NAME_CHANGED_ON_OVERRIDE is reported randomly
KT-75124 IAE “class org.jetbrains.kotlin.psi.KtContextReceiver is not a subtype of class org.jetbrains.kotlin.psi.KtParameter for factory EXPOSED_PARAMETER_TYPE” on private context receiver
KT-75174 K2: incorrect influence of return type nullability on required receiver type in KJK hierarchy with property
KT-74920 Overriding T! with T & Any is not allowed to the extension property receiver type
KT-75150 False ambiguous context parameter reported because context is not chosen via generic parameter
KT-74965 CLI compiler doesn't report syntax errors for JS, Metadata backends if light-tree mode is disabled
KT-74303 K2 IDE / Kotlin Debugger: AE “Trying to inline an anonymous object which is not part of the public ABI” on evaluating private inline function with object inside
KT-75177 NoSuchMethodError on suspend default interface method fake override returning inline class in -Xjvm-default=all-compatibility
KT-74718 K/N: Move TestProcessor phase to the top of the pipeline
KT-75015 Context parameters: it is possible to declare anonymous function with modifiers but they don't have any effect
KT-75092 K2: Missing errors for modifiers on anonymous function in statement position
KT-75009 Context parameters: context is unresolved inside anonymous function if passed as an argument
KT-75017 Context parameters: "IllegalStateException: Cannot find variable a: R|kotlin/String| in local storage " when context from another local function is called
KT-75154 Context receiver deprecation warning should depend on langauge version, not on LATEST_STABLE
KT-74979 Context parameters: anonymous functions with a context aren't parsed in complex cases
KT-74673 K2: ClassCastException when passing suspending functional interface with generic
KT-74469 K2: False positive: "Argument type mismatch" during Java interop
KT-75105 K2: False negative NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER for type constraint of anonymous function
KT-74929 False positive TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER if it is used with T&Any
KT-74227 K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function type
KT-64558 K2 compiler does not report UNNECESSARY_SAFE_CALL, UNNECESSARY_NOT_NULL_ASSERTION, USELESS_ELVIS, while K2 IDEA does
KT-74670 Warning message CONTEXT_CLASS_OR_CONSTRUCTOR isn't reported for context receiver on the constructor
KT-74617 Trivial SMAP optimization leads to missing debug info after inline
KT-74812 compile-time failure on a callable reference with an input type inferred to an inaccessible generic type
KT-66195 K2: Java method is not enhanced from overridden's context receivers
KT-74501 Context parameters: ABSTRACT_MEMBER_NOT_IMPLEMENTED if fun with context is implemented in Java in KJK hierarchy
KT-74385 Missing diagnostic on repeated suspend modifier in function type
KT-74749 Provide explanation IR before script compilation
KT-74751 K2: IllegalStateException: Can't apply receivers of FirPropertyAccessExpressionImpl to IrTypeOperatorCallImpl
KT-74729 NPE when suspend lambda has inline class parameter
KT-74336 Not supported: class org.jetbrains.kotlin.fir.types.ConeIntersectionType
KT-74203 K2: False negative NO_ELSE_IN_WHEN of a generic type with star projection <*> bounded by a sealed hierarchy
KT-48085 Kotlin/Native: LLD removes live code with --gc-sections when producing DLL
KT-69164 Native: use lld from bundled LLVM distribution when compiling on Windows for a MinGW target
KT-74081 Context parameters: implicit call resolves to extension when there is a context
KT-74682 Implement internal type exposure via parameter bounds deprecation postponement
KT-74556 K2: "IAE: class KtDestructuringDeclaration is not a subtype of class KtNamedDeclaration for factory REDECLARATION" with two non-local destructuring declarations
KT-73007 Add stable compiler argument -jvm-default instead of -Xjvm-default
Performance Improvements
KT-75641 kotlinc -help spends almost 1 second on Usage.render()
Fixes
KT-77445 UNRESOLVED_REFERENCE when importing classes from kotlin-stdlib
KT-75300 Lenient compiler mode which generates stubs for missing actuals
KT-76829 UnsupportedOperationException when reenabling a taking place warning with -Xwarning-level
KT-75588 [2.1.20-RC] "was compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" warnings despite using the same compiler version
KT-74663 kotlinc-js CLI: not providing -ir-output-dir results in NullPointerException
KT-75967 Implement generation of CLI arguments in compiler using new single representation
KT-75966 Declare all existing CLI arguments using the new DSL
KT-76498 Implement JSON dumper for performance stats
KT-75970 Extract all non-trivial logic from CommonCompilerArguments and its inheritors
KT-73595 Kapt.use.k2=true is ignored silently for language-version 1.9 or less
KT-75043 Migrate Metadata compilation pipeline to the phased structure
KT-75113 TEST_ONLY LanguageFeature doesn't abort the compilation
Tools. CLI. Native
KT-69485 Native: remove adding $llvmDir\bin to PATH on Windows
Tools. Commonizer
KT-74623 Drop metadata version check from KLIB commonizer
Tools. Compiler Plugin API
KT-74640 [FIR] Support setting source in declaration generators
Tools. Compiler Plugins
Fixes
KT-76162 "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" after updating to 2.1.20
KT-61584 [atomicfu]: prohibit declaration of AtomicReference to the value class in the compiler plugin
KT-70982 Deprecate declaration of atomic properties marked with @PublishedApi with error
KT-73367 Migrate compose plugin to new IR parameter API
KT-76429 Migrate kotlin-dataframe plugin to new IR parameter API
KT-75263 PowerAssert: no additional info is displayed for 'when' with subject
KT-75614 PowerAssert: handling of exceptions doesn't work inside assert function
KT-75264 PowerAssert: the diagram for try-catch with boolean expressions isn't clear
KT-75663 PowerAssert: 'contains' result for strings is displayed under the first parameter instead of 'in'
KT-73897 PowerAssert: Implicit argument detection is brittle in a number of cases
KT-74315 Kotlin Lombok: "Unresolved reference" on generating @Builder for static inner class where outer class is also using @Builder
KT-75159 Compose: Missing 'FunctionKeyMeta' annotation on lamdas declared in non-composable function
KT-72877 Power-Assert should provide IrExpression transformation API
KT-73871 PowerAssert: Comparison via operator overload results in confusing diagram
KT-73898 PowerAssert: Operator calls with multiple receivers incorrectly aligned
KT-73870 PowerAssert: Object should not be displayed
Tools. Compiler plugins. Serialization
KT-49632 Provide diagnostic when custom serializer for generic type does not have required constructor signature ( ISE Null argument in ExpressionCodegen for parameter VALUE_PARAMETER)
Tools. Gradle
New Features
KT-75823 Resources bundle with XCFrameworks for iOS
KT-73418 Gradle '--warning-mode' value should affect Gradle plugin diagnostics
KT-75568 Do not use env variables registered as CC inputs
KT-73842 Gradle: AGP failing tests with "Failed to calculate the value of property 'generalConfigurationMetrics'" using KGP
KT-75262 Gradle test-fixtures plugin apply order breaks the project
KT-75277 FUS statistics: 'java.lang.IllegalStateException: The value for this property cannot be changed any further' exception is thrown during project import
KT-75026 Corrupted NonSynchronizedMetricsContainer in parallel Gradle build
KT-74727 Dependency resolve from a single target KMP module to another kmp module fails on non-found PSM
KT-75808 KGP: MPP with jvm target and Gradle java-test-fixtures is broken
KT-59315 Improve the readability of KGP diagnostics in CLI build output
KT-58231 Kotlin Gradle Plugin: set deprecation level to Error for KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImport
KT-66423 Configuration cache false recalculation because of Kotlin Native downloading during the execution phase
KT-74888 Use 'distribution-base' plugin in KMP/JVM
KT-76659 Write proper diagnostics for Uklib checks
KT-70493 Improve gray-box testing experience in KGP-IT
KT-75991 Xcode 16.3: Fix lldb stepping test over an inline function
Compiler
KT-75992 Xcode 16.3: stacktraces on simulators are not symbolicated
KT-76663 KJS: KotlinNothingValueException caused by expression return since 2.1.20
KT-75756 Backend Internal error: Exception during IR lowering when trying to access variable from providedProperties in class within kotlin custom script
KT-76209 CONFLICTING_UPPER_BOUNDS on Nothing bound
KT-70352 K2: False-negative CONFLICTING_UPPER_BOUNDS on Nothing bound
KT-74739 Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION_REFERENCE"
KT-75483 Native: redundant unboxing generated with smart cast
KT-71425 IR Inliner: investigate return type of an inlined block
Native
KT-76252 Native: executable crash with generic value classes with 2.1.20
Native. C and ObjC Import
KT-75781 Xcode 16.3: Fix cinterop tests failing with fatal error: could not build module '_stdint'
Native. Runtime. Memory
KT-74280 Native: GC.collect crashes with -Xallocator=std
Tools. CLI
KT-75588 [2.1.20-RC] "was compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" warnings despite using the same compiler version
KT-74663 kotlinc-js CLI: not providing -ir-output-dir results in NullPointerException
Tools. Compiler Plugins
KT-76162 "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" after updating to 2.1.20
KT-68198 Analysis API: Support application service registration in plugin XMLs
KT-57733 Analysis API: Use optimized ModuleWithDependenciesScopes in combined symbol providers
KT-73156 AA: type retrieval for erroneous typealias crashes
KT-71907 K2 debugger evaluator failed when cannot resolve unrelated annotation
KT-69128 K2 IDE: "Unresolved reference in KDoc" reports existing Java class in reference to its own nested class
KT-71613 KaFirPsiJavaTypeParameterSymbol cannot be cast to KaFirTypeParameterSymbol
KT-71741 K2 IDE. Classifier was found in KtFile but was not found in FirFile in libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts in kotlin.git and broken analysis
KT-71942 Need to rethrow Intellij Platform exceptions, like ProcessCanceledException
KT-70949 Analysis API: "containingDeclaration" does not work on nested Java classes in K2 implementation
KT-69736 K2 IDE: False positive resolution from KDoc for value
KT-69047 Analysis API: Unresolved KDoc reference to extensions with the same name
KT-74012 Redundant FirAbstractBodyResolveTransformerDispatcher.<init> CPU consumption
KT-73900 ContextCollectorVisitor#computeContext may spend significant time on createSnapshot
KT-73665 FirElementFinder is inefficient in large files
KT-73330 Remove bodies from functions without contracts after the CONTRACTS phase
KT-73017 Analysis API: FirReferenceResolveHelper.getSymbolsByResolvedImport searches for classes even when the selected FqName is a known package
Fixes
KT-72308 getOrBuildFir returns null for this expression for plusAssign operator
KT-72660 ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValue
KT-74097 ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValue
KT-74098 ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValue
KT-72148 K2: KISEWA: Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(DataClassMember) but FirArgumentListImpl found
KT-73079 K2: Internal compiler error when conflicting type aliases are present
KT-73456 Expected FirResolvedContractDescription but FirRawContractDescriptionImpl found for FirSimpleFunctionImpl
KT-73259 Expected FirResolvedContractDescription but FirLegacyRawContractDescriptionImpl found for FirSimpleFunctionImpl
KT-72740 FirDanglingModifierList: lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase STATUS
KT-66132 K2: FirRegularClass expected, but FirFileImpl found | Containing declaration is not found
KT-72196 K2. KMP. IllegalStateException: expect-actual matching is only possible for code with sources
KT-72652FirProvider#getContainingClass should support FirDanglingModifierSymbol
KT-73105 Lazy resolve contract violation (BODY_RESOLVE from BODY_RESOLVE)
KT-66261 K2: Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" with MULTIPLE_LABELS_ARE_FORBIDDEN K2 error
KT-72315 K2. KIWA on usage of always-true OR in guard condition
KT-65707 K2 IDE: unresolved calls of callables imported with typealias as qualifier
KT-61516 K2: Provide an LL FIR implementation for getContainingClassSymbol (in FirHelpers)
KT-72853 Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirContextReceiverImpl(Source) but FirArgumentListImpl found
KT-64215 K2: do not resolve type annotations of receiver if it is used as an implicit return type
KT-64248 K2: do not resolve type annotations of context receiver if it is used as an implicit return type
KT-72821 Add assertion to diagnostic tests to check that all declarations have BODY_RESOLVE phase at the end
KT-64056 K2: K2: FirLazyBodiesCalculator shouldn't calculate annotation arguments on type phase
KT-71651 K2 IDE: False positive NON_LOCAL_SUSPENSION_POINT in suspend function call
KT-72164 K2. IllegalArgumentException when pre and post increment are used simultaneously in assignment
KT-72407 FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing
KT-72228 K2: Reformat doesn't work in project with Kotlin 2.0.21
KT-69671 TYPES phase contract violation through JavaSymbolProvider
KT-71348 K2: KotlinIllegalStateExceptionWithAttachments: 'By now the annotations argument mapping should have been resolved' during code inspection
KT-72024 FirClassVarianceChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
KT-71746 K2 IDE. ISE: Zero or multiple overrides found for descriptor in FirRegularClassSymbol serializing/ExternalSerializer and red code on @Serializer(forClass) ` usage
KT-64687 K2: Analysis API: migrate AbstractFirLibraryModuleDeclarationResolveTest to kotlin repo
Analysis API. Light Classes
KT-73492 K2. FP error in Java file when using @JvmSuppressWildcards annotation without arguments
KT-66763 K2: Get rid of context receivers in Analysis API and LL API
KT-71781 SLC: migrate SLC from KotlinModificationTrackerService to KotlinModificationTrackerFactory
KT-67963 K2: PsiInvalidElementAccessException on redeclaration of class with constructor
KT-71407 K2: Do not report @JvmField default value as PsiField initializer in K2
KT-72078 K2 PSI change for constructor parameter with value class type
Analysis API. Providers and Caches
KT-69247 Analysis API: Invalidate sessions after builtins modification events
KT-72704 ISE: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(53) in array owner: LLFirBuiltinsAndCloneableSession for Builtins for JS/wasm-js (JS)
KT-67148 Analysis API: Introduce a weak reference cache for the original KtSymbol in KtSymbolPointer
KT-73395 Analysis API: JavaElementPsiSourceWithSmartPointer contains strong references to PSI
KT-45452 K/N optimization: inline simple functions that aren't marked with inline keyword
KT-64898 K2: toFirProperty call in PsiRawFirBuilder forces AST loading
KT-71673 Consider making EnhancementSymbolsCache. enhancedFunctions using simple cache
KT-71973 KtPsiUtil#getEnclosingElementForLocalDeclaration shouldn't iterate over directories
Fixes
KT-75965 The iOS app did not run successfully in Release mode
KT-57696 Deprecate JvmDefault annotation with level HIDDEN
KT-75578 K2: False negative [SUPER_CALL_WITH_DEFAULT_PARAMETERS] when calling the upper-class implementation of a method with the default value argument
KT-74764 Native: merge init nodes generated within the same LLVM module for the same klib
KT-75444 Contradictions in the constraint system are ignored in case of multiple constraints from forking points
KT-75649 K2: NPE on assigning platform type value to non-nullable lateinit var
KT-75483 Native: redundant unboxing generated with smart cast
KT-73028 K2. FileAnalysisException on private property in Context
KT-73937 Context parameters: IllegalArgumentException: source must not be null on lateinit var with a context
KT-74104 Native: SynchronizedLazyImpl produces NPE on 2.1.20-Beta1 on mingwX64
KT-71752 K2: Absent non-null check for platform types in assignments
KT-75526 Regression in K2 scripting: local name doesn't shadow one from the implicit receiver
KT-74929 False positive TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER if it is used with T&Any
KT-74227 K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function type
KT-70789 CLI error "mixing legacy and modern plugin arguments is prohibited" on using -Xcompiler-plugin unless default scripting plugin is disabled
KT-73903 Design 'replaceWith' / 'test-only' kinds for the 'LanguageFeature' class
KT-74474 K2: Report more precise diagnostic when last expression of non-unit lambda is a statement
KT-74478 K2: False negative RETURN TYPE_MISMATCH if the last statement of a lambda is indexed assignment
KT-67480 K/N: a separate inlining phase after the lowerings
KT-72154 Dokka fails with not array: KClass<out Annotation> on Kotlin 2.1.20-dev with @SubclassOptInRequired
KT-72040 Extra checkers: false-positive unused parameter warnings on anonymous lambda parameters
KT-74203 K2: False negative NO_ELSE_IN_WHEN of a generic type with star projection <*> bounded by a sealed hierarchy
KT-63720 Coroutine debugger: do not optimise out local variables
KT-74024 K2: Prohibit declaring local type aliases
KT-73671 Context parameters: val/var on context parameter on a property is possible
KT-73510 Context parameters: It is possible to declare a context for init block
KT-72305 K2: Report error when using synthetic properties in case of mapped collections
KT-72429 StackOverflowError when compiling large files
KT-72500 K2 Debugger: NSME on evaluating lambda with a call to internal class field
KT-73845 K2: IllegalArgumentException during FIR2IR transformation when processing nested default values in annotations
KT-73538 K2 IDE / Kotlin Debugger: ISE “couldn't find inline method" on evaluating internal inline function with default arg from main module in test module
KT-73347 K2: Expected is FirResolvedDeclarationStatus
KT-71226 K2 Evaluator: Code fragment compilation with unresolved classes does not fail with exception
KT-73902 Clean-up code around lateinit inline/value classes
KT-73693 K2: DslMarker checker doesn't report violation for callable reference with bound receiver
KT-73667 K2: DslMarker checker ignores function type annotations for invokeExtension
KT-72797 K2 IDE / Kotlin Debugger: AE “No such value argument slot in IrCallImpl” on evaluating inc()-operator for private field
KT-68388 Compiler crash on convesion to fun interface with extension receiver
KT-73801 False positive CONFLICTING_OVERLOADS between base suspend fun and derived property
KT-62833 K2: Run smoke FP tests with SLOW_ASSERTIONS enabled
KT-54068 Context receivers with lambda nesting result in Type mismatch
KT-51383 Lambdas with context receivers do not accept context receivers from scope
KT-73650 Implement DIFFERENT_NAMES_FOR_THE_SAME_PARAMETER_IN_SUPERTYPES for K2
KT-73745 Migrate modularized tests to the latest stable version
KT-70233 Implement a deprecation error for FIELD-targeted annotations on annotation properties
KT-72996 false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operator
KT-73791 Forbid using inline and value class modifiers together
KT-73704 [Native] Decouple KonanIrLinker from cinterop deserialization
KT-71649 K2: Put operator on mutableMap<T?, V>() causes crashes on null key
KT-72832 Erroneous implicit cast inserted by smartcast
KT-72930 K2 IDE / Kotlin Debugger: ISE “couldn't find inline method” on evaluating internal inline function from main module in test module
KT-73095 K2: "Failed to find functional supertype for ConeIntersectionType"
KT-70366 K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class "
KT-73260 Rename context receivers to context parameters in frontend
KT-73375 K2/JVM: -Xuse-type-table generates incorrect metadata for local delegated properties
KT-72470 Annotations on effect declarations are unresolved
KT-72409 False negative "Type parameter is forbidden for catch parameter"
KT-72723 K2: Replace unused FIR properties required by inheritence with computed properties
KT-72246 Exception from FirReceiverAccessBeforeSuperCallChecker on red code
KT-47289 No error on companion object inside inner class in enum constructor call
KT-46120 No error reported when Java interface method is implemented by delegation to Java class where corresponding method has different generic signature
KT-72746 K2: No IR overriddens generated for Nothing.toString
KT-70389 K2: StackOverflowError at org.jetbrains.kotlin.fir.resolve.calls.CreateFreshTypeVariableSubstitutorStage.shouldBeFlexible
KT-72537 [FIR Analysis] 'IllegalArgumentException: source must not be null' when typing '++++' (four pluses)
KT-74377 Kotlin Native: release executable crashes with error 139
KT-73559 K/Native: AndroidNativeArm64 linking fails starting from Kotlin 2.1.0
KT-71976 [Native][KLIB Resolve]: compilation error if libraries have the same unique_name and the strategy is allow-all-with-warning or allow-first-with-warning
Native. Build Infrastructure
KT-72063 Jars using native in their name are incompatible with JPMS
KT-73842 Gradle: AGP failing tests with "Failed to calculate the value of property 'generalConfigurationMetrics'" using KGP
KT-74394 KGP + isolated projects: "Something has been appended to this collector already"
KT-75262 Gradle test-fixtures plugin apply order breaks the project
KT-75277 FUS statistics: 'java.lang.IllegalStateException: The value for this property cannot be changed any further' exception is thrown during project import
KT-75026 Corrupted NonSynchronizedMetricsContainer in parallel Gradle build
KT-74997 Unexpected KGP warnings about kotlin scripting plugin
KT-74322 Enable source information by default in Compose compiler gradle plugin
KT-72337 kotlin-android-extensions plugin should fail the build on apply
KT-71362 KGP/JS: moduleName is not compatible with convention plugins
KT-72874 KJS: NodeJsRootExtension: "'download: Boolean' is deprecated. Use download from NodeJsExtension (not NodeJsRootExtension) instead You can find this extension after applying NodeJsPlugin. This will be removed in 2.2"
KT-72872 Js, Wasm: downloadBaseUrl in NodeJsEnvSpec could not be disabled
Tools. Gradle. Multiplatform
Performance Improvements
KT-71888 Default Target Hierarchy results in very large heap usage/OoM when resolving IDE dependencies in larger projects
Fixes
KT-66542 Gradle: JVM target with withJava() produces a deprecation warning
KT-71074 Optimize Granular Metadata Dependencies Transformation for Import after adding support for Project Isolation
KT-74669 Executable binaries for JVM: a jar generated by jvmJar task isn't added to the build/install/testAppName/lib directory
KT-37964 Gradle application/distribution plugin does not copy and name jar files correctly when using installDist task for multiplatform project
KT-30878 It's impossible to have .java sources in a Multiplatform Gradle Project with Android, because android() and jvm { withJava() } targets can not be applied to one and the same Gradle Project
KT-66962 Kapt with Kotlin Multiplatform: Cannot query the value of this provider because it has no value available
KT-74898 The wording for the warning about incompatible 'application' plugin should be updated to suggest using the new binaries DSL
KT-72488 Unify freeCompilerArgs property in swiftExport and compilerArgs
KT-74727 Dependency resolve from a single target KMP module to another kmp module fails on non-found PSM
KT-75062 Remove usage of deprecated ProjectDependency.getDependencyProject
KT-71130 Enable Isolated Projects support by default for KMP
KT-74832 Relax JVM target validation diagnostic in KMP/Jvm projects
KT-57280 Expose Kotlin Project Structure metadata via consumable configurations instead of accessing all gradle projects directly
KT-72130 Gradle Project Isolation Violation in build.gradle due to KGP
KT-74298 Incorrect DSL for swift export settings under the export node
KT-73620 KMP 2.1.0: Transitive dependency is broken when setting publication groupId
KT-72112 KotlinNativeLink task fetches configuration that might not exist
KT-49155 MPP, Gradle: Cannot use test-retry-gradle-plugin with Kotlin multiplatform tests
KT-71154 Kapt tests: EXPECTED_ERROR directive is checked incorrectly
KT-71776 K2 Kapt in 2.1.0-Beta1 fails with e: java.lang.IllegalStateException: FIR symbol "class org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol" is not supported in constant evaluation
Tools. Maven
KT-69231 PowerAssert: Create maven plugin for power-assert
Tools. Scripts
KT-72277 Legacy REPL implementation is still based on the old backend
Tools. Wasm
KT-72157 Turn on custom formatters feature by default in development builds
KT-71361 [Wasm] Make all production-mode binaries optimised with binaryen
KT-71025 K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values
KT-67483 K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call
KT-69416 K2 IDE / Completion: “No classifier found” on simple value creating
KT-70257 CCE: class kotlin.UInt cannot be cast to class java.lang.Number
KT-70376 K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value class
KT-70264 AA: service registration via XML fails with AbstractMethodError in Lint CLI
KT-61033 K2: implement a diagnostic corresponding to K1's MISSING_BUILT_IN_DECLARATION
KT-72345 K2: Method 'get' without @Override annotation not called
KT-71260 K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner when there is no actual for expect
KT-72996 false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operator
KT-72552 AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped types
KT-71751 K2: Skipping code in last statement of lambda
KT-71121 Kotlin/JS incremental compilation fails with KotlinIllegalArgumentExceptionWithAttachments
KT-71563 'llegalStateException: Source classes should be created separately before referencing' when actualized through typealias and java direct actualization
KT-64741 Avoid leaking ConeTypeVariable types in diagnostics from PCLA
KT-60447 Builder inference fails to infer generic type argument from local class
KT-69170 K2: "Unresolved reference" caused by generics and fun interfaces
KT-71756 K2 evaluator: broken resolve of private members during debug of Kotlin project itself
KT-68893 Invalid annotation in contract crashes with K2
KT-71701 K2: false positive CAN_BE_VAL with lateinit and non-in-place lambda
KT-68694 K2 IDE / Kotlin Debugger: AE “Unresolved reference: <HIDDEN: samples/gen/classes/enum class/EnumClass.lam is invisible” on evaluating private lambda inside enum entry
KT-70970 K2 IDE / Kotlin Debugger: AE “Only assignable IrValues can be set” on calling overloaded inc() operator on interface
KT-70824 K2: NoSuchFieldException when evaluating private extension property
KT-70390 K2 IDE / Kotlin Debugger: can't invoke lambda from private class during evaluation
KT-68701 K2 IDE / Kotlin Debugger: AE “ERROR_CALL 'Unresolved reference: <HIDDEN: /privateLambda is invisible>#' type=IrErrorType(null)” on evaluating private top-level lambda
KT-68695 K2 IDE / Kotlin Debugger: AE “Unsupported callable reference” on evaluating ::lateinitStr on private lateinit property
KT-70861 K2 IDE / Kotlin Debugger: can't evaluate Clazz::class call for private class
KT-34911 Improve error message for WRONG_ANNOTATION_TARGET: list applicable targets
KT-71601 K2: When with a subject of type dynamic always considered exhaustive
KT-33091 Kotlin/Native: Compiler crashes if an external class is declared
KT-59651 K1/K2: Assertion error on external enum usage attempt
KT-69939 Extract a category of internal FIR checkers from supplementary FIR checkers
KT-70850 Pull down typeArguments from ConeKotlinType to ConeClassLikeType
KT-71117 K2: "IllegalArgumentException: No type for StarProjection" with star projection and function type
KT-71251 Native & JS K2: Missing check for calling isInitialized inside inline fun
KT-70161 Native: extracting LLVM 16 on Linux makes the compiler print many "Ignoring unknown extended header keyword 'LIBARCHIVE.creationtime'" messages
KT-71215 K2: UB due to the erroneous greening of the red code with multiple delegation with java
KT-68000 Investigate getting container functions in checkers
KT-69649 K2: Cleanup various utilities about toSymbol conversion
KT-69185 K2: Prepare a test runner for diagnostic tests with type aliases non-expanded automatically
KT-69390 UNRESOLVED_REFERENCE on call with lambda argument turns whole call red
KT-68794 K2 IDE / Kotlin Debugger: ISE “No real overrides for FUN FAKE_OVERRIDE name:privateFun visibility:private modality:FINAL” on calling private function from superclass in debugger
KT-67304 Keep in common prefix: Shared variables + local classes in inline lambdas
KT-67170 ArrayConstructorReferenceLowering is missing in Native
KT-70583 Internal error in body lowering: java.lang.IllegalStateException: An attempt to generate an accessor after all accessors have been already added to their containers
KT-69700 Inline stub_for_inlining use sites survive after the inliner
KT-69462 Support dumping IR after inlining in compiler tests
KT-70693 IR: replace IrReturnableBlock.inlineFucntion with IrInlinedFunctionBlock.inlineFucntion
KT-70763 IR inline: consider storing stub_for_inline as an inlined function for callable reference
KT-69167 Create intrinsics in stdlib for handling assertions in KLIB-based backends
KT-69169 Expand assertion intrinsics in backend based on CLI parameters
KT-69174 Implement the basic Synthetic Accessors Lowering for KLIB-based backends
IR. Interpreter
KT-70388 K2 IDE / Kotlin Debugger: InterpreterError “Unsupported number of arguments for invocation as builtin function: INT_MAX_POWER_OF_TWO” during evaluation
IR. Tree
Fixes
KT-69644 Report warning on cross-file IrGetField operations generated by compiler plugins
KT-68789 Prepare tests for testing visibility (non-)violation in inlined IR
KT-71826 stdlib fails to compile with -Xserialize-ir=all
KT-70333 IR: remove ability to apply compiler plugins during KAPT stub generation phase
KT-67752 Make copyRemappedTypeArgumentsFrom and transformValueArguments methods in DeepCopyIrTreeWithSymbols protected instead of private
KT-68151 Setup testing visibility of referenced declarations in IR
KT-68988 [Tests] Streamline the order of irFiles in IR- and Kotlin-like dumps
KT-71206 KGP: Test source set may get duplicated KLIBs of different versions
KT-71209 Drop Hierarchy Template diagnostic about used shortcuts
KT-69412 Change KotlinTargetAlreadyDeclaredChecker's severity from warning to error
KT-70060 KGP: handleHierarchicalStructureFlagsMigration doesn't support project isolation
KT-57280 Expose Kotlin Project Structure metadata via consumable configurations instead of accessing all gradle projects directly
KT-64999 Support Project Isolation with Kotlin Native tasks (XCode integration, Cocoapods etc)
KT-64998 Granular Metadata Dependencies Transformation is not compatible with Project Isolation
KT-70650 GenerateProjectStructureMetadata is not compatible with Project Isolation
KT-71675 checkSandboxAndWriteProtection collides with Compose's syncComposeResources
KT-66461 Promote compiler options DSL for multiplatform projects to stable
KT-69323 Don't pass platform dependencies to metadata compilation
KT-72454 Revert changes made in KT-69899 i.e. make kotlin.android.buildTypeAttribute.keep = false by default again
KT-70380 KMM App failed to consume android binary lib
KT-71423 Xcode archive missing dSYM files since Kotlin 2.0.20
KT-69899 KMP: Publish BuildType by default for android publications with multiple variants
KT-71428 Change deprecation message for KMP target shorcuts
KT-58231 Kotlin Gradle Plugin: set deprecation level to Error for KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImport
KT-72068 Distribution for klib cross-compilation is not downloaded during compile tasks
KT-70612 Report incompatibility warning when Project Isolation enabled and Included builds are used
KT-71529 Deprecate targetFromPreset API with an error
KT-69614 Deprecate with error ios/tvos/watchos presets
KT-69974 KMP: POM dependency rewriter doesn't work with Included Builds OR dependencySubstitution
KT-64996 Commonize Native Distribution task is not compatible with Project Isolation
KT-62911 Export Kotlin Multipaltform Project Coordinates as a secondary variant of apiMetadataElements
KT-70888 Project isolation: Project cannot dynamically look up a property in the parent project at PropertiesProvider.propertiesWithPrefix
KT-70688 Move ExperimentalSwiftExportDsl to another package
KT-58298 AndroidAndJavaConsumeMppLibIT maintenance: Convert to new infrastructure and add test for newer AGP versions
KT-68976 K2 IDE: Unresolved FileSystem.SYSTEM from OKIO in shared source sets
Tools. Gradle. Native
KT-67162 KGP: Kotlin/Native with Isolated Projects: kotlinNativeBundleBuildService cannot be changed any futher
KT-72366 KGP 2.1.0-Beta2 doesn't download kotlin-native-prebuilt when running Dokka
KT-45559 CInteropProcess: Changes to header files are not recognized; Task is still UP-TO-DATE
KT-71051 K/N dependencies are re-downloaded multiple times on Windows
KT-71398 kotlinNativeBundleConfiguration should not contain dependencies on unsupported platforms
KT-71722 kotlinNativeBundleConfiguration present in JVM-only Gradle project
KT-55832 Support passing errors to Xcode when configuration cache is enabled
KT-70690 not possible to build iOS app with Swift Export and Xcode 16
KT-65838 Remove project usage from PlatformLibrariesGenerator
KT-70875 KSP1 native tasks fail on configuration phase
Tools. Incremental Compile
KT-69123 IC: "NoSuchFieldError: No instance field". Not tracking changes to Android ViewBinding class
Tools. JPS
KT-68565 K2: IllegalStateException: Source classes should be created separately before referencing
KT-71042JAVA_MODULE_DOES_NOT_READ_UNNAMED_MODULE when compiling IntelliJ
Tools. Kapt
KT-72249 K2 KAPT Not picking up use site annontation like K1 Kapt
KT-69860 K2 kapt: use compiler directly instead of Analysis API
KT-71776 K2 Kapt in 2.1.0-Beta1 fails with e: java.lang.IllegalStateException: FIR symbol "class org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol" is not supported in constant evaluation
KT-70879 Kapt: check that Kotlin 2.1 language features are ignored correctly by K1 kapt
KT-71431 K2KAPT fails on modules without any annotation processors
KT-70600 K2 KAPT: inline reified function has a null signature
KT-70718 Kapt: "error: could not load module " on error type in data class component
KT-69861 Kapt: use IR to obtain line information instead of PSI
Tools. REPL
KT-71109 Kotlin Scripting REPL doesn't support keyboard shortcuts
Tools. Scripts
KT-68685 K2 / Script: "KotlinReflectionInternalError: Unresolved class:" caused by main.kts script with nested classes and reflection
KT-68545 Using labeled this access to implicit receivers fails in scripts
Tools. Wasm
KT-67797 Improve the variable view during debugging in Fleet for Kotlin/Wasm
KT-71506 [Wasm, IC] FUS report for builds with incremental compilation
KT-70100 wasmJs Target Fails to Compile on ARM64 Linux
KT-70367 Update binaryen once we get a release with PR 6793
KT-67706 K2: "KtDotQualifiedExpression is not a subtype of class KtNamedDeclaration" from UnusedChecker
KT-68021 Analysis API: do not break the diagnostic collection in a case of exception from some collector
KT-67973 AA FIR: wrong KtCall modeling for == from type bound
KT-67949 AA: Type arguments of Java methods' calls are not reported as used by KtFirImportOptimizer
KT-67988 AA: functional type at receiver position should be wrapped in parenthesis
KT-66536 Analysis API: ContextCollector doesn't provide implicit receivers from FirExpressionResolutionExtension
KT-67321 AA: Type arguments of Java methods' calls are not resolved
KT-64158 K2: "KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtParameter"
KT-60344 K2 IDE. "KotlinExceptionWithAttachments: expect createKtCall to succeed for resolvable case with callable symbol" on attempt to assign value to param named getParam
KT-64599 K2: "expect createKtCall to succeed for resolvable case with callable" for unfinished if statement
KT-60330 K2 IDE. ".KotlinExceptionWithAttachments: expect createKtCall to succeed for resolvable case with callable symbol" on attempt to assign or compare true with something
KT-66672 K2 IDE. False positive INVISIBLE_REFERENCE on accessing private subclass as type argument in parent class declaration
KT-67750 Analysis API: Remove infix modifiers from type equality and subtyping functions
KT-67655 Analysis API: declare a rule how to deal with parameters in KtLifetimeOwner
KT-61775 Analysis API: KtKClassAnnotationValue lacks complete type information
KT-67168 K2: Analysis API: Rendering is broken for JSR-305 enhanced Java types
KT-66689 Analysis API: KtFirPackageScope shouldn't rely on KotlinDeclarationProvider for binary dependencies in standalone mode
KT-60483 Analysis API: add isTailrec property to KtFunctionSymbol
KT-67472 K2: Analysis API FIR: KtFunctionCall misses argument with desugared expressions
KT-65759 Analysis API: Avoid hard references to LLFirSession in session validity trackers
KT-60272 K2: Implement active invalidation of KtAnalysisSessions
KT-66765 K2: Analysis API: support classpath substitution with library dependencies in super type transformer
KT-67265 K2: status phase should resolve original declarations in the case of classpath subsitution
KT-67244 K2: StackOverflowError in the case of cyclic type hierarchy and library classpath substitution
KT-67080 K2: clearer contract for lazyResolveToPhaseWithCallableMembers
KT-66713 K2 FIR: Expose a way to get the module name used for name mangling
KT-61892 KtType#asPsiType could provide nullability annotations
KT-66122 Analysis API: Pass KtTestModule instead of TestModule to tests based on AbstractAnalysisApiBasedTest
Analysis. Light Classes
KT-65714 K2: IDE K2: "org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirClassLikeSymbolPointer pointer already disposed"
KT-65835SymbolLightClassForClassLike.getName returns null for a companion object instead of Companion
KT-68261 SLC: Constructors of sealed classes should be private
KT-68696 Drop DecompiledPsiDeclarationProvider-related stuff
KT-68404 SLC: wrong binary resolution to declaration with @JvmName
KT-68275 LC: no arg constructor is not visible in light classes
KT-66687 Symbol Light Classes: Duplicate field names for classes with companion objects
KT-66804 Symbol Light Classes: Fields from the parent interface's companion are added to DefaultImpls
Apple Ecosystem
KT-65542 Cinterop tasks fails if Xcode 15.3 is used
Backend. Native. Debug
KT-67567 Native: after updating to LLVM 16 lldb hangs when smooth stepping
Backend. Wasm
KT-70591 To much sources that don't exist inside SourceMap file
KT-69529 compileProductionExecutableKotlinWasmJs FAILED: No such value argument slot in IrConstructorCallImpl: 1 (total=1)
KT-68088 Wasm: "UNREACHABLE executed at Precompute.cpp:838" running gradle task wasmJsBrowserDistribution for compose multiplatform on Windows
KT-65798 K/Wasm: make an error on default export usage
KT-68828 Wasm test failure. expect-actual. private constructor in expect
KT-68453 K/Wasm: "Supported JS engine not detected" in Web Worker
KT-64565 Kotlin/wasm removeEventListener function did not remove the event listener
KT-69835 K2 / Native: kotlin.native.binary.gc=cms throws library cached but its dependency isn't error
KT-70417 DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE leads to NPE in BE
KT-69964 K2: Returning from an in-place lambda doesn't compile
KT-69773 K2: "Overload resolution ambiguity between candidate" with arrays
KT-60261 K2: No origin is set for composite assignment operators
KT-15388 Forbid delegated property to have external getter/setter
KT-70238 K2: false negative VOLATILE_ON_VALUE for constructor properties
KT-68669 K2: Generate inherited delegated members after actualization
KT-63828 K2: Missing signature metadata for accessors of properties inherited from delegate
KT-63871 K2: different value of isNotDefault flag for property inherited from delegate
KT-67119 Migration warning from context receivers to context parameters
KT-68997 K2: "No accessor found" for an inline value class when query the value of a delegated class by reflection
KT-64106 Native: the compiler allows using -opt and -g at the same time
KT-69766 K2: False negative: Internal setter of generic class is accessible from another module
KT-68364 JVM: ISE "Bad exception handler end" on a non-local break/continue inside try with finally
KT-69494 StackOverflowError in CfgTraverserKt.getPreviousCfgNodes
KT-56880 K2. Conflicting overloads for main() isn't shown when language version is set to 2.0
KT-69282 K2: equality of unsigned types with nullability works incorrectly
KT-68492 JVM IR backend: IDE / Kotlin Debugger: AE “Non-reified type parameter under ::class should be rejected by type checker” on evaluating private generic function
KT-70039 K2: inconsistent stability of vals of captured receivers
KT-44139 Don't report overload resolution ambiguities if arguments contain an error type
KT-68996 K2: "Not enough information to infer type argument" caused by typealias annotation with fixed generic argument
KT-55851 K2: reference to a field from package private class crashes in runtime
KT-65038 K2: Type alias from indirect dependency causes MISSING_DEPENDENCY_CLASS error
KT-61875 Native: remove support for bitcode embedding
KT-67693 Implement checkers for K1 compiler which will check the usage of K2 new features and report that they are not supported in K1 compiler
KT-68556 K2: false negative PROPERTY_WITH_NO_TYPE_NO_INITIALIZER on uninitialized property without type
KT-60445 K2/Java: investigate possible symbol clash while enhancing Java class type parameter bounds
KT-64193 K2: No smartcast with two boolean expressions in a row
KT-65546 K2. implement extended checker for unused anonymous parameter in lambda
KT-68358@EnhancedNullability is missing on value parameter type after inheritance by delegation with strict JSpecify enabled
KT-67791 False negative "Synchronizing by Meters is forbidden" with inline value classes
KT-69495 k2: inconsistent output of unsigned number in string templates
KT-69619 K2. JAVA_TYPE_MISMATCH when Kotlin out generic type used in Java
KT-69563 trying to call .source on FirPackageFragmentDescriptor results in exception
KT-69611 Internal annotation FlexibleArrayElementVariance is written to output jar
KT-69463 K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERS with expect/actual declarations
KT-68724 K2: "ABSTRACT_MEMBER_NOT_IMPLEMENTED" caused by open modifier on interface
KT-69182 K2: OptIn on enum companion blocks enum constants
KT-69191 K2: "Unresolved reference" caused by nested data objects
KT-69569 Wrong paths when one type has multiple annotated arguments
KT-55128 Wrong type path in type annotations when type arguments are compiled to wildcards
KT-67692 Native: support LLVM opaque pointers in the compiler
KT-59833 K2: Stop modifying values of enum entries
KT-69421 K2: Resolve changed from delegated function to java default function
KT-69392 K2: "UNSAFE_CALL": when with some variable subjects does not smartcast the variable
KT-69053 K2: Unsupported intersection overrides for fields
KT-69227 K2: "Argument type mismatch" caused by generic typealias and upper bound
KT-31371 NOT_YET_SUPPORTED_IN_INLINE: incorrect error message for local inline function
KT-49473 PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' property
KT-49474 NON_PUBLIC_CALL_FROM_PUBLIC_INLINE: specialize error message for 'inline' property
KT-49503 SUPER_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' property
KT-11302 On inapplicable '@JvmStatic' annotation, highlight only the annotation, not the function signature
KT-59510 K2: 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-68859 K2: unable to suppress only "JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE"
KT-68469 [K2] MISSING_DEPENDENCY_CLASS caused by redundant @file:JvmName
KT-68999 K2: Unify the style of FIR generator with IR and SIR tree-generators
KT-66061 Kotlin/Native - building shared module for iOS - Argument list too long
KT-49420 Suspicious behaviour of frontend in case of DefinitelyNotNull type overload
KT-59752 K2: "Conflicting overloads" if function with same signature added to different contexts
KT-68618 K1: Unresolved reference for qualified this in implicit type
KT-25341 NOT_YET_SUPPORTED_IN_INLINE reported over anonymous object border
KT-69215 K2: IllegalArgumentException for delegated function in anonymous object with captured type parameters
KT-69044 Destructuring declaration shouldn't be possible in declaration in when
KT-69028 K2: FirJvmActualizingBuiltinSymbolProvider returns null on builtins declarations if common source-set is not presented
KT-15704 Rethink usage of term "type annotation" in error messages
KT-68970 K2. Argument type mismatch caused by out projection in inferred type from if - else
KT-68214 Rename TypeApproximatorConfiguration properties for clarity
KT-68093 Implement deprecation of smartcasts on class-delegated properties
KT-67270 Native: report more performance metrics from the compiler
KT-68621 DATA_CLASS_INVISIBLE_COPY_USAGE false negative for inline fun
KT-68568 K2: False-positive ACCIDENTAL_OVERRIDE caused by missing dependency class
KT-66723 K2: NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS for actual typealias that extends to Java class with complicated hierarchy that includes default method
KT-69000 Can't render constructor of intersection type
KT-68849 K2: "ClassCastException: cannot be cast to kotlin.jvm.functions.Function2" caused by passing lambda to SAM constructor results
KT-61744 Native: -Xsave-llvm-ir-after fails to check errors from LLVMPrintModuleToFile
KT-67103 Support AbbreviatedTypeAttribute for aliased types from the source code
KT-63921 K2: different representation of recursive type aliases
KT-68679 K2: "Override has incorrect nullability in its signature compared to the overridden declaration" caused by subclass of Android HashMap
KT-64335 K2: improve rendering of captured types in diagnostic messages
KT-68820 K2: "Unresolved reference" on calling function with "contract" name
KT-67933 K2: no conversion between fun interfaces if target has suspend
KT-68230 K2: FirMissingDependencyClassChecker: Not supported: ConeFlexibleType
KT-68531 K2: False-negative error on assignment to enum entry
KT-68446 K2: compile-time failure on smart-casted generic value used as a when-subject in a contains-check with range
KT-68678 K2: Drop using FirBuiltinSymbolProvider while compiling JVM stdlib
KT-68382 Get rid of context receivers in FirScript implementation
KT-68585 Implement new rules for CFA about enum entries
KT-68110 K2: "Java type mismatch" caused by spring.Nullable
KT-68613 K2: False positive CONFLICTING_PROJECTION after fixing KT-67764
KT-67764 K2: False negative: Projection problem is not reported in is expression
KT-67887 Expection on assigning to private field of value type
KT-67801 NSME on evaluating private member function with value class parameter
KT-67800 NSME on evaluating private top-level function with value class parameter
KT-68542 K2: Fix referecing to @ExtensionFunctionType if it's declared in source
KT-68188 K2: Properly support FunctionN creation for stdlib compilation
KT-67946 K2: Crash on red code: Instead use FirErrorTypeRef for ERROR CLASS: Cannot infer argument for type parameter T
KT-68526 K2: false-negative inconsistent data class copy visibility warning on call to generic data class copy function
KT-68528 K2: false-positive inconsistent data class copy visibility warning on call to function from another module with identical value parameter types and return type
KT-68525 K2: false-negative inconsistent data class copy visibility warning on callable reference to data class copy function
KT-68617 K2: Secondary constructors in a sealed class have private visibility instead of protected in the generated IR
KT-63920 K2: Private secondary sealed class constructor is private in metadata, but protected in K1
KT-57996 Usages of Foo@Nullable []produce only warnings even with-Xtype-enhancement-improvements-strict-mode -Xjspecify-annotations=strict`
KT-68207 K2: Investigate if losing ConeIntersectionType.upperBoundForApproximation during approximation leads to any issues
KT-64990 K2: Remove usages of SymbolTable from FIR2IR
KT-67798 NSME on assigning to private delegated property of value class
KT-68264 K2: confusing INVISIBLE_* error when typealias is involved
KT-68529 K2: false-negative redundant annotation warning on @ExposedCopyVisibility on data class with public constructor
KT-67943 Approximation should not generate types with UPPER_BOUND_VIOLATION errors
KT-67503 K2: False negative "Type Expected" when attempting to annotate a wildcard type argument
KT-68187 K2: Create IrBuiltins in fir2ir only after IR actualization
KT-66443 K2: ArrayIterationHandler doesn't work if UIntArray declared in sources
KT-68291 K2 / Contracts: Non-existent invocation kind is suggested as a fix
KT-68209 K2: 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-51433 FE 1.0: implement warnings about label resolve changes
KT-66554 K2. Drop FIR based fake-override generator from fir2ir
KT-64202 K2: Drop old methods for calculation of overridden symbols for lazy declarations
KT-67895 K2: Properly implement generation of fake-overrides for fields
KT-64506 IDE, IR Evaluator: NPE in ReflectiveAccessLowering.fieldLocationAndReceiver when evaluating private static properties
KT-67380 K2: Don't check for equals overriding for class Any
KT-67038 K2: Missing type of FirLiteralExpression causes an exception for property initializer type resolution
KT-59813 K2: Fix the TODO about firEffect.source in FirReturnsImpliesAnalyzer
KT-59834 K2: Fix the TODO about merge(other) in UnusedChecker
KT-59188 K2: Change positioning strategy for WRONG_NUMBER_OF_TYPE_ARGUMENTS error
KT-59108 K2. SMARTCAST_IMPOSSIBLE instead of UNSAFE_IMPLICIT_INVOKE_CALL
KT-65503 The inline processor cannot handle objects inside the lambda correctly when calling an inline function from another module
KT-30696 NoSuchMethodError if nested anonymous objects are used with propagation reified type parameter
KT-58966 Incorrect type inference for parameters with omitted type of anonymous function that is being analyzed as value of function type with receiver
KT-67458 Use @PhaseDescription for JVM backend lowering phases
KT-65647 K2 ignores diagnostics on sourceless FirTypeRefs
KT-66947 K2: false-positive JSpecify nullability enhancement warning on Java wildcard type argument with same base type but different nullabilities as upper and lower bounds
KT-66974 K2: false-negative JSpecify nullability enhancement warning on nullable projection of Java wildcard type argument with non-null bounds in out-position
KT-66946 K2: false-negative JSpecify nullability enhancement warning on Java wildcard type argument with nullable upper bound in out-position
KT-66442 K2: No visibility error on importing private aliases
KT-66598 K2: Allow comparisons, is-checks and casts between Kotlin and platform types
KT-55966 K2: Not enough information to infer type variable K if smartcast is used
KT-64894 OPT_IN_ARGUMENT_IS_NOT_MARKER diagnostic message is unclear
KT-67019 K2: IR has incorrect EQ origins for some inplace updating operators
KT-62929 K2: investigate if guessArrayTypeIfNeeded is necessary in annotation loader
KT-65642 K2: IR: Array access desugaring doesn't have origins
KT-24807 No smartcast to Boolean in subject of when-expression when subject type is non-nullable
KT-66057 K2: incorrect supertype leads to class declaration being highlighted red
KT-63958 K2: drop support of UseBuilderInferenceOnlyIfNeeded=false
KT-63959 K2: treat stub types as non-nullable for isReceiverNullable check
KT-65100 IrFakeOverrideBuilder: support custom 'remove(Int)' handling logic in MutableCollection subclasses
Compose compiler
New features
cdfe659 Changed how compiler features being rolled out are enabled and disabled in compiler plugin CLI. Features, such as strong skipping and non-skipping group optimizations are now enabled through the "featureFlag" option instead of their own option.
KT-69024 K2: Children of expect annotation with @OptionalExpectation should be actualized
KT-68742 Allow expect protected to Java protected actualization
KT-66436 K2. Actualizing modCount property with a field in AbstractMutableList
KT-68741 Support actualization of AbstractMutableList.modCount
KT-68801 Crash on access of fake override of function actualized by fake override
KT-66307 K2: property fake override isn't generated for protected field
IR. Inlining
KT-67208 KJS: put ReplaceSuspendIntrinsicLowering after IR inliner
KT-68100 Run IR validation in the beginning and the end of the common prefix
KT-69171 Introduce a temporary -X CLI parameter that enables double-inlining
KT-69006 Enable IR visibility checks after IR inlining
KT-69183 IR inlining: properly handle defaults that depends on previous value parameters
KT-67660 Suspicious package part FQN calculation in InventNamesForLocalClasses
KT-68558 Move InlineCallableReferenceToLambdaPhase into ir.inline module
KT-56466 Support non-local break/continue in IR inliner
KT-64958 KJS: Put as many as possible lowerings after the inliner
KT-67297 Implement IR deserializer with unbound symbols
IR. Interpreter
KT-66938 Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir'
IR. Tree
Performance Improvements
KT-67695 ForLoopsLowering fails to handle a loop over an imprecise typed iterable
Fixes
KT-68784 Support validating visibility of referenced declarations in IrValidator
KT-68773 Kotlin 2.0.0 with Gradle 8.8: ConcurrentModificationException on BuildFusService configurationMetrics
KT-68308 Project isolation for FUS statistics: An error is thrown at org.gradle.configurationcache.ProblemReportingCrossProjectModelAccess$ProblemReportingProject.getLayout
KT-61574 Add project-isolation test for Kotlin/Android plugin
KT-65936 Provide a detailed error for changing kotlin native version dependency.
KT-62684 PropertiesBuildService should load extraProperties only once
KT-67288 Test DSL should not fail the test if build scan publishing has failed
KT-58280 org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath
Tools. Gradle. JS
KT-70077 [2.0.20-Beta2] KGP reports confusing warnings about js/wasmJS source sets
KT-69805 YarnSetupTask does not work for custom downloadBaseUrl
KT-67444 Gradle / JS: wrong type commonWebpackConfig.devServer.proxy
KT-42923 KJS: Resources are not available when running Karma tests
KT-68482 KotlinNpmInstallTask is not compatible with configuration cache
KT-68072 K/JS, K/Wasm: Module not found in transitive case
KT-68103 K/JS, K/Wasm: Generation of test compilation's package.json requires main compilation
KT-67924 K/JS, K/Wasm: kotlinNpmInstall can rewrite root package.json
Tools. Gradle. Kapt
KT-64627 Kapt3KotlinGradleSubplugin uses property lookup that breaks project isolation
KT-61928 Clarify parameter types in KaptArguments and KaptJavacOption
Tools. Gradle. Multiplatform
New Features
KT-56566 Consider pre-generating DSL accessors for source sets with names corresponding to the default target hierarchy
Fixes
KT-66568 w: KLIB resolver: The same 'unique_name=...' found in more than one library
KT-69406 Deprecate combinations of KMP plugin with some Gradle Java plugins
KT-64109 Using compileOnly/runtimeOnly dependencies in K/N-related configurations leads to odd behaviour
KT-69311 runDebugExecutable task fails with "this.compilation" is null with enabled configuration cache
KT-69310 w: KLIB resolver: The same 'unique_name=...' found in more than one library for diamond source set structures
KT-61793 KMP/AGP compatibility: Update the maximum tested AGP version to 8.3
KT-66209 Accessing the source sets by name is confusing
KT-62368 Kotlin 1.9.X fails to detect kotlin.test.Test annotation reference on commonTest source set when targeting JVM+Android
KT-67110 Usage of BuildOperationExecutor.getCurrentOpeartion internal Gradle API
KT-58319 kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'"
Tools. Gradle. Native
KT-69918 java.lang.NullPointerException: Cannot invoke "org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation.getTarget()" because "this.compilation" is null
KT-67935 OverriddenKotlinNativeHomeChecker does not work well with relative paths
KT-67072 K2: inconsistent stability of open vals on receivers of final type
KT-68570 K2: "Unresolved reference" in call with lambda argument and nested lambda argument
KT-69159 K2: KotlinNothingValueException in Exposed
KT-68623 K2: "Only safe or null-asserted calls are allowed" on safe call
KT-68193 JDK 21: new MutableList.addFirst/addLast methods allow adding nullable value for non-null types
KT-67804 removeFirst and removeLast return type with Java 21
KT-68727 K2: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" caused by an enum class with default parameter in a different module
KT-68383 K2: "Argument type mismatch: actual type is 'kotlin.String', but 'T & Any' was expected." with intersection types
KT-68546 K2: false-positive conflicting overloads error on inheriting generic type with inherited generic and non-generic member overloads
KT-68626 K2: "Conflicting Overloads" for function if inherited from generic type
KT-68351 K2: "Suspension functions can only be called within coroutine body"
KT-68489 K2: WRONG_ANNOTATION_TARGET with Java and Kotlin @Target annotation positions
KT-69058 K2: Java-defined property annotations not persisted
KT-64515 K2 IDE: [NEW_INFERENCE_ERROR] in a build.gradle.kts script while applying "jvm-test-suite" plugin and then configuring targets for test suites
KT-68016 K2: Gradle repo test should compile correctly with Kotlin explicit api mode fails on K2
KT-68575 K2: @ParameterName annotation is not erased when inferring the type of it in lambdas
KT-67999 K2: lost flexibility on parameters of Java SAM
KT-59679 K2: Investigate extracting uncompleted candidates from blocks
KT-68401 K2: "IllegalAccessError: failed to access class" caused by package private super Java type, when inferencing a common super type of if or when branches on JVM
KT-68806 K/Wasm RuntimeError: unreachable on Sequence::toList
KT-56288 Analysis API: Add tests for session invalidation on the Analysis API side
KT-64000 K2: make AnnotationArgumentsStateKeepers more accurate
KT-63606 K2: Analysis API: rewrite FirLazyAnnotationTransformer to avoid redundant transformations
KT-65191 KtFirMultiplatformInfoProvider#getExpectForActual doesn't return expect function for slightly broken code
KT-62136 Analysis API: Add concurrent tests for CleanableSoftValueCache
KT-61222 K2: Add lifecycle management for KtResolveExtension
KT-65960 Analysis API: Test infrastructure indexes binary libraries from decompiled files instead of stubs during IDE mode tests
KT-65240 K2: CodeGen API fails to resolve Annotation parameter type when it runs FIR2IR for a class with a parent class from other module if the parent class has an annotation from another module
KT-65344 K2: make FirScript statements (declarations) independent
KT-65930 AA: receiver type for Int?::foo misses nullability
KT-65914 AA: receiver type for this::foo returns return type of the target callable
KT-62071 Analysis API: KtFirScopeProvider.getScopeContextForPosition throws exception when ImplicitReceiverValue.implicitScope is null
KT-65780 K2: polish FileStructure implementation for FirFile
KT-62840 K2 Script: everything around destructuring declaration on top level of scripts are broken
KT-63718 Analysis API: Stub-based dependency symbol providers of library source sessions compute the wrong package name sets
KT-64225 K2: IDE K2: "FirLazyBlock should be calculated before accessing" in evaluate debuger completion
KT-64186 Analysis API: ContextCollector provides incorrect scopes for anonymous objects
KT-63979 K2 IDE: presentation of types in completion is too verbose
KT-63681 K2: LL FIR: Improve isResolved check coverage of after lazy resolution
KT-62982 K2: Cannot get a PSI element for 'Enum.values'
KT-59732 FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS) cannot be called from a transformer with a phase IMPORTS from serialisation plugin
KT-62676 K2 IDE: Reference shortener does not recoginize redundant this references
KT-62675 K2 IDE: Reference shortener does not recoginize redundant labels
KT-60957 K2: Analysis API: Reference shortener does not work correctly with invoke function calls on properties
KT-63771 fe10: KtNamedClassOrObjectSymbol#isInline does not cover value classes
KT-60327 K2 IDE. "IllegalArgumentException: source must not be null" during delegation declaration
KT-62421 K2: IDE K2: "lazyResolveToPhase(BODY_RESOLVE) cannot be called from a transformer with a phase BODY_RESOLVE."
KT-62587 K2 IDE. FP unresolved reference on accessing nested class in annotation argument
KT-63700 K2: "FirLazyExpression should be calculated before accessing" in the case of secondary constructor
KT-61383 K2: 'KtCompilerFacility' fails on code fragment compilation in library sources with duplicated dependencies
KT-62111 K2 IDE. IllegalArgumentException on for loop with iterator declaration attempt
KT-63538 Analysis API: Removing a contract statement via PsiElement.delete() does not trigger an out-of-block modification
KT-63694 K1/K2 IDE. "RuntimeException: Broken stub format, most likely version of kotlin.FILE (kotlin.FILE) was not updated after serialization changes" exception on incorrect class name
KT-63660 K2: expect-actual gutter icons must be shown when declarations are matched but incompatible
KT-63560 Analysis API: Modifiable PSI tests cannot rely on the cached application environment to allow write access
KT-63130 Analysis API: No receiver found for broken code during commit document
KT-62705 K2: "lazyResolveToPhase(IMPORTS) cannot be called..." from light classes
KT-60170 K2 IDE: CCE from KtFirCallResolver on invalid code with wrong implicit invoke
KT-61783 K2: Analyze 'KtCodeFragment' in a separate session
KT-62010 K2: IDE K2: "ConeClassLikeTypeImpl is not resolved to symbol for on-error type"
KT-62957 Analysis API: NullPointerException on call resolution when builtins are not available
KT-61252 K2: IDE K2: "By now the annotations argument mapping should have been resolved"
KT-62935 Analysis API: kotlin.Cloneable should not be available in Kotlin/Native sources
KT-62910 Analysis API: create AbstractFirPsiNativeDiagnosticsTest for LL FIR
KT-63096 K2: Analysis API: KotlinAnnotationsResolver for IDE is created with incorrect scope
KT-62310 K2 IDE. False positives errors with external annotations
KT-63282 K2 Script: annotation arguments phase should resolve propagated annotations
KT-62397 K2 IDE. FP Error in the editor on RequiresOptIn annotation from the lib despite the warning level
KT-63223 Analysis API: reference to declarations with kotlin* package are not resolved
KT-62626 IllegalStateException: Cannot build symbol for class org.jetbrains.kotlin.psi.KtScriptInitializer
KT-62693 K2: IDE K2: "PSI should present for declaration built by Kotlin code"
KT-62674 K2: "Scope for type ConeClassLikeTypeImpl" is null from transitive dependencies
KT-61889 Analysis API: Migrate KtFirReferenceShortener to ContextCollector instead of FirResolveContextCollector
KT-62772 Analysis API: No 'org.jetbrains.kotlin.fir.java.FirSyntheticPropertiesStorage'(31) in array owner: LLFirSourcesSession when analysing builtins in a context of common code
KT-60319 K2 IDE: "Stability for initialized variable always should be computable"
KT-62859 K2 IDE: "Evaluate expression" throws exception when calling "Any?.toString()"
KT-62588 getExpectedType should not calculate type of the expression
KT-61990 K2: Unexpected returnTypeRef for FirSyntheticProperty
KT-62625 K2: 'FirLazyExpression should be calculated before accessing' for unresolved super type
KT-62691 K2: optimize getFirForNonKtFileElement for references inside 'where'
KT-62834 K2: missing file node level in control flow builder
KT-62768 Analysis API: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(44) in array owner: LLFirSourcesSession exception on analysing common code
KT-62874 K2: FirLazyExpression should be calculated before accessing
KT-62407 Analysis API: resolve [this] in KDoc to extension receiver
KT-61204 K2: "FirLazyExpression should be calculated before accessing in ktor HttpBinApplication"
KT-61901 Analysis API: Declared member scopes for Java classes are missing static members
KT-61800 Analysis API: Provide separate declared member scopes for non-static and static callables
KT-61255 Analysis API: Get rid of valueOf, values and entries from a declared member scope
KT-62466 Expected type for functional expression should include inferred types
KT-61203 IDE K2: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirRegularClassImpl(Source) but FirArgumentListImpl found"
KT-61791 Analysis API: Implement combined getPackage for combined Kotlin symbol providers
KT-62437 K2 IDE. Resolution does not work inside lambda expression in constructor argument in supertypes
KT-62244 K2: Analysis API Standalone: Resolving klib dependencies from binary roots terminates application
KT-62897 K2 IDE. Unresolved declarations from libraries which are doubled in intellij project libraries
KT-61615 K2: No 'org.jetbrains.kotlin.fir.analysis.js.checkers.FirJsModuleKind' in array owner: LLFirSourcesSession
KT-60343 K2 IDE. IllegalArgumentException on passing incorrect type parameter to function
KT-61842 K2: reduce number of "in-block modification" events
KT-62012 K2: "KtReadActionConfinementLifetimeToken is inaccessible: Called outside analyse method"
KT-61371 K2: Analysis API standalone: register compiler symbol provider for libraries in standalone mode
KT-60611 K2: reduce number of "in-block modification" events
KT-61425 Analysis API: Provide a way to get a declared member scope for an enum entry's initializing anonymous object
KT-61405 Analysis API: An enum entry should not be a KtSymbolWithMembers
KT-55504 AA: remove dependency on :compiler:cli from standalone AA
KT-60904 K2: IDE K2: "For DESTRUCTURING_DECLARATION_ENTRY with text _, one of element types expected, but FirValueParameterSymbol found"
KT-61260 K2 Scripts: Containing function should be not null for KtParameter
KT-61568 FIR Analysis API: collectCallCandidates gives presence to the top level functions in the presence of more suitable overrides
KT-60610 K2 IDE: move "out of block" processing logic into LL FIR
KT-61597 Analysis API: KotlinIllegalStateExceptionWithAttachments: expected as maximum one expect for the actual on errorneous code with multiple expects
KT-59793 K2: class org.jetbrains.kotlin.fir.declarations.impl.FirErrorImportImpl cannot be cast to class org.jetbrains.kotlin.fir.declarations.FirResolvedImport
KT-61599 K2: ContextCollector: Support smart cast collection
KT-61689 Analysis API: ContextCollector provides incorrect context in scripts
KT-61683 Analysis API: resolve ambiguities in kotlin project
KT-65824 Wasm: Allow unsigned primitives to be used inside functions annotated with @JsExport
KT-66103 Wasm: companion object is not initialized in test initializers1.kt
KT-66471 Null method reference with Kotlin/Wasm on 2.0.0-Beta4
KT-65210 K/Wasm ::class operator produces Number KClass for Short expression
KT-66065 [Wasm] Make specialisations for closured primitive values
KT-64890 K/Wasm compiler crash with external class and Kodein
KT-66104 Wasm: compiler crash: NoSuchElementException: Sequence contains no element matching the predicate
KT-65778 Create the same TypeScript tests infrastructure for Kotlin/Wasm that we have now for Kotlin/JS
KT-65411 Kotlin/Wasm: Boolean boxed instances are not the same
KT-65713 Kotlin/Wasm generates a wrapper that cannot run in Deno
KT-63939 Kotlin/Wasm Support lazy associated object initialisation
KT-61888 [Kotlin/wasm] in kotlin.test support for @AfterTest for async tests
KT-64803 K/Wasm: non-capturing lambdas are not singleton unlike same lambdas in jvm
KT-64449 K2: Implement K1WasmWasiCodegenBoxTestGenerated for K2
KT-64829 K/Wasm: division remainder has a wrong sign
KT-58852 WASM: two methods with different varargs: Class korlibs.template.dynamic.DynamicShape has 2 methods with the same signature [register(kotlin.Array)
KT-61263 K/Wasm: add a way to turn on k2 in wasm examples using Compose
KT-62863 Execution failed for task ':kotlinx-serialization-properties:wasmJsD8Test' in serialization in the K2 QG
KT-62657 K/Wasm: switch to json repots for Kotlin Wasm Benchmarks
KT-62147 [Kotlin/Wasm] Nothing typed when expression cause a backend error
KT-61958 Update SpiderMonkey and return its usage in box tests when they switch to the final opcodes for GC and FTR proposals
KT-67875 K2: Resolution ambiguity between Iterable and varargs
KT-67699 Not enough information to infer type argument for 'Error' using Arrow's Raise context receiver since Kotlin 2.0.0-Beta3
KT-67486 K2: Calling method from a Java (implementing a Kotlin class) with named parameters is no longer possible if Java method has different parameter names
KT-33917 Prohibit to expose anonymous types from private inline functions
KT-28889 Smart cast does not work with boolean and infix function
KT-54790 False positive NO_ELSE_IN_WHEN when all interfaces are sealed
KT-54920 K2: when with a single branch stops being exhaustive the second time it's done
KT-53364 False positive UNUSED_VARIABLE warning for variable that is used across multiple blocks
KT-43234 False positive INVALID_IF_AS_EXPRESSION caused by if without else inside else inside synchronized()
KT-38490 False negative INVALID_IF_AS_EXPRESSION with unreachable code and coercion to Unit
KT-35510 No INVALID_IF_AS_EXPRESSION ("'if' must have both main and 'else' branches if used as an expression") diagnostic for if-expression with only one branch and Nothing type condition
KT-34016 Contracts - variable cannot be initialized before declaration
KT-56408 Inconsistent rules of CFA in class initialization block between K1 and K2
KT-33829 False positive SENSELESS_COMPARISON with assignment in catch block
KT-30717 False positive UNUSED_VARIABLE with local var used in inline lambda block with loop, return and other lambda
KT-28232 RETURN_NOT_ALLOWED in inline lambda argument of '[... ]' operator convention
KT-26116 No error when class member val is referenced in inline function before it is assigned later on
KT-25311 Calls on error type values lead to false-positive unreachable code
KT-24372 Misleading warning on unused setter parameter in some cases
KT-23680 False positive UNREACHABLE_CODE on throw with a return inside finally clause
KT-23502 When exhaustiveness is not checked for unreachable code, resulting in JVM back-end error
KT-66743 Lambda receivers and anonymous function parameters of inaccessible types are allowed
KT-67315 K2: Some default imports are not excluded
KT-56126 Avoid using descriptors at JvmPlatformAnalyzerServices::computePlatformSpecificDefaultImports
KT-66513 K2: Suppressing OPT_IN_USAGE_ERROR is now a warning in K2, preventing safe code gen compatible with -Werror
KT-67233 False negative UNSAFE_CALL with type check after null coalescing with 'OR'
KT-52802 Report ambiguity resolving between property/field and enum entry
KT-64920 Json.encodeToString yields different results depending on whether typealias is used
KT-58260 Make invoke convention work consistently with expected desugaring
KT-67314 PCLA works inconsistently with smart-cast related CS forks
KT-66797 K2 JS: Primary constructor property annotation with target VALUE_PARAMETER is put on property instead of parameter
KT-55179 False negative PRIVATE_CLASS_MEMBER_FROM_INLINE on calling private class companion object member from internal inline function
KT-54663 Projected types don't take into account in-place not null types
KT-58191 K2: capturing closures successors that are already resolved (thanks to backward edges) must be taken into account for allowing smart casts
KT-67144 K2: potential NPE when assigning to unstable vars
KT-66971 K2: missing SMARTCAST_IMPOSSIBLE on open val declared in another module
KT-66904 K2: possible NPE when reassigning captured variables
KT-57031 operator assignment, increment/decrement should be considered as variable reassigning in terms of DFA. green in K1 -> red in K2 for unsound code
KT-67212 K2: "Failed to find functional supertype for class org.jetbrains.kotlin.fir.types.ConeCapturedType"
KT-67283 K2: No SAM conversion for fun interface with abstract toString
KT-67318 Compiler fails with OutOfMemoryError on combination of PCLA+smart cast
KT-66956 K2: false negative CONST_VAL_WITH_NON_CONST_INITIALIZER for inc/dec operators
KT-64233 K2: K1/K2: ensure JVM ABI consistency for quality gates projects
KT-63535 K2: Apply DFA implications for nullable Nothing to both sides
KT-63413 K2 / kotlinx-atomicfu: "IllegalStateException: Expected some types"
KT-62931 K2: extra class files for @OptionalExpectation marked annotations
KT-34307 Confusing error message on lambda return type mismatch
KT-62151 K2. overload resolution ambiguity for calls of Java record compact constructors
KT-65787 K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType" caused by passing lambda expression with multiple labels to function
KT-62356 Prohibit using property+invoke for iterator
KT-63631 K2: constant value UByte.MAX_VALUE is incorrectly deserialized from metadata
KT-65386 K2: Different signature of invoke for Unit lambda
KT-60574 K2: generated IR for suspendCoroutineUninterceptedOrReturn is different from K1 (K2 uses Any? instead of Unit)
KT-66512 K2: Incorrect diagnostic in lambda whose expected type is a type alias to Unit
KT-66279 K2: False positive INITIALIZER_TYPE_MISMATCH with return Unit in a lambda with the expected type () -> Unit
KT-66277 K2: False negative RETURN_TYPE_MISMATCH with empty return in lambda assigned to a property
KT-66654 K2 FIR resolution: Mismatch between actual type and expected type for a value parameter when the parameter type is a function type with special function kind
KT-66638 Cannot access properties of a generic type with wildcards
KT-66690 K2: don't report MISSING_DEPENDENCY_CLASS on expression without errors for generic type arguments
KT-66491 K2 / KJS: "Name contains illegal characters." caused by backticks in import
KT-66275 K2: false-positive "Java module does not depend on module" error on access to inherited member from twice-transitive dependency via class from transitive dependency
KT-65801 IrFakeOverrideBuilder - visibility is lost for setter in KJK hierarchy
KT-65576 K2: Incorrect resolution of variable+invoke when the property type is not computed
KT-58575 Private Kotlin property prevents use of Java get- and set-methods from Java-Kotlin-Java hierarchy
KT-61282 K2: Incorrect overridden function for java.nio.CharBuffer.get
KT-65464 K2: False positive UNRESOLVED_REFERENCE on extension property call defined in KJK hierarchy
KT-66356 K2: type mismatch error when generic type with inaccessible generic type as type argument is produced and consumed by declarations from dependencies
KT-65193 K2: "JAVA_TYPE_MISMATCH" caused by MutableList
KT-66636 NoSuchMethodError: 'void org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl. in the FLysto K2 QG
KT-63941 K2: "IllegalStateException: Unsupported compile-time value STRING_CONCATENATION" caused by class reference in string expression as annotation parameter
KT-65704 K2: computeCommonSuperType of flexible type with recursive captured type argument produces giant multi-level-deep type
KT-65410 K2: ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED for 'removeAt' in KJK hierarchy
KT-65184 K2: disappeared TYPE_MISMATCH for java collections
KT-66392 K2: Exception in KJK hierarchy with implicit types
KT-66551 Revert temporary commits after KT-62063 and bootstrapping
KT-65218 FIR LL and DiagnosticFE10 tests start to fail in case of adding any new declaration into stdlib commonMain
KT-66552 K2: build of intellij crashes the compiler
KT-63746 K2: JSpecify: If a class has a @Nullable type-parameter bound, Kotlin should still treat unbounded wildcards like platform types
KT-66504 K2: plusAssign operator call is resolved differently than function call
KT-48515 JSpecify: If a class has a @Nullable type-parameter bound, Kotlin should still treat unbounded wildcards like platform types
KT-57588 K2/Native: False positive '"CONFLICTING_OVERLOADS", "PARAMETER_NAME_CHANGED_ON_OVERRIDE" on overriding objc methods
KT-58892 K2: Parcelize doesn't work in common code when expect annotation is actualized with typealias to @Parcelize
KT-65882 K2: "KotlinNothingValueException" caused by unsafe cast and Nothing::class
KT-66124 K2: Remove FirLambdaArgumentExpression and FirNamedArgumentExpression after resolution
KT-65959 K2: Incorrect warnings about inline function impact
KT-64994 K2: @Composable lambda type is not resolved from other modules
KT-66048 K2: property becomes nullable in KJK hierarchy if base declaration has implicit return type
KT-47843 No error reported on assigning "continue" to a companion object
KT-47530 NI: Unexpected TYPE_MISMATCH when combining nested conditional and contravariant type argument
KT-49583 NI: NullPointerException on compiling anonymous function returning a method reference
KT-42782 NI: Smart casting for generic type doesn't work if the variable is already smart cast
KT-38031 FIR: Discrepancy in call resolution for qualifiers with old FE
KT-65789 K1/K2: Resolve change in constructor/top-level function ambiguity
KT-66150 K2: expects type argument in super qualifier
KT-60971 Incorrect "cannot inline bytecode built with JVM target ..." on property setter if only getter is inline
KT-61514 K2: Build fake overrides using IR during Fir2IR
KT-65584 K2: "Duplicate parameter name in a function type"
KT-50008 JSpecify @Nullable annotation on type-parameter bound prevents type-variable usages from being platform types
KT-37000 IndexOutOfBoundsException from TypeResolver on typealias with cyclic references
KT-56988 CFG, smart casts: red in K1 -> green in K2 for invalid code
KT-62118 FIR: "HashMap.entry" has invalid enhanced type
KT-64840 K2: Bare type are not allowed for TV based values during PCLA
KT-65415 K2: Stdlib K2 build error: IrConstructorSymbolImpl is already bound
KT-66449 Make DiagnosticSuppressor a project-level extension
KT-66411 FIR: Real source on fake block around assignment expression in the "when" branch affects resolve in K2 Analysis API and IDE
KT-65249 K2: False positive modality is different for native compilation
KT-65982 K2 Scripts cannot disambiguate declarations imported from default and explicit imports
KT-65677 K2: Unable to resolve parent class from companion object
KT-47310 Change qualifier resolution behavior when companion property is preferred against enum entry
KT-41034 K2: Change evaluation semantics for combination of safe calls and convention operators
KT-63529 K2: Compiler does not detect tailrec call with nullable type
KT-66441 Remove symbol table from IR fake override builder in Fir2Ir
KT-64846 K2: 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-58203 K2: false-negative incompatible types error on is-check with unrelated type
KT-65722 K2: Property reference refers to non-existent functions
KT-65878 K2: "ClassCastException" when passing nun-suspend lambda to SAM constructor with named argument
KT-66379 K2: No extra message in UPPER_BOUND_VIOLATED for cases with CapturedType
KT-65022 K2: Compiler crashes when array literal is used in delegate expression
KT-62836 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
KT-64727 K1: Closing bracket of object inside crossinline lambda or inside lambda in inline function is not hit on step-over
KT-64726 K1: Cannot stop on closing bracket of crossinline lambda inside of another crossinline lambda
KT-64725 K1: Cannot stop on closing bracket of lambda of inline-only function
KT-66272 Could not load module with a combination of type parameters
KT-66243 Could not load module in a builder inference with lambda with typed parameter
KT-66229 Could not load module in a builder inference with Map.Entry
KT-66313 K2: declaration-order-dependent false-positive "recursive problem in type checker" error on getX declaration with implicit return type that calls x declaration via intermediate declaration in getX's expression body
KT-61041 K2: Consider getting rid of confusing shouldRunCompletion and shouldAvoidFullCompletion function in FirInferenceSession
KT-66267 K2: generic function's type parameter is erased if present as type argument in type of callable reference to member of generic function's local class
KT-61448 K2: Disappeared DEPRECATION in testWithModifiedMockJdk
KT-66260 K2: false-positive "abstract function in non-abstract class" error on abstract member function of open interface
KT-66067 K2: different overrides are created in a complex hierarchy with raw types and upper-bounded type parameters
KT-65821 K2: [NONE_APPLICABLE] None of the following functions is applicable: [constructor(message: String?): Throwable, constructor(cause: Throwable?): Throwable, constructor(): Throwable, ...]
KT-66268 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
KT-63563 K2: False negative RETURN_TYPE_MISMATCH with empty return
KT-66005 K2: "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-65002 K2: Incorrect suspend conversion if argument is an aliased functional type
KT-65984 K2 scripting: failure on processing SUPPRESS annotation in the last script statement
KT-65680 K2: Class redeclaration leads to BackendException during IR fake override builder
KT-66028 K2: Convert FirExpectActualDeclarationChecker to platform checker
KT-65592 K2: IrFakeOverrideBuilder: ISE "should not be called" on diamond hierarchy with explicit dependency on annotations.jar
KT-65277 IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKinds
KT-65983 K2 gradle scripting: "'val' cannot be reassigned" errors
KT-60452 K2 Scripting: implement overriding of the script params
KT-65975 K2: Implicit receivers resolution order in K2 scripting
KT-60249 K2: No unit coercion generated for loops body
KT-65487 K2: Different fake overrides and false positive NOTHING_TO_OVERRIDE for intersection/override with Collection.remove
KT-65460 Don'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-63420 Prevent weakening visibility in implicit overrides
KT-64635 K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirAnonymousFunctionExpressionImpl' to be resolved" when provideDelegate is extension of function with receiver
KT-63879 K2: Redundant flag declaresDefaultValue for parameter of function inherited from delegate
KT-56744 Prepare language committee ticket about DFA/Smart-cast related changes in K2
KT-65790 K2: Move check for private-to-this visibility into checker
KT-65551 K2: Property redeclaration on native compilation leads to NotImplementedError
KT-63612 K2: Class is not abstract and does not implement abstract member
KT-63737 Wasm: revise external declaration FE checker for WASI mode
KT-59782 K2: Forbid local delegated properties with private accessors in public inline functions
KT-65482 K2: NoSuchFieldError due to using unboxed type
KT-61182 Unit conversion is accidentally allowed to be used for expressions on variables + invoke resolution
KT-62998 Forbid assignment of a nullable to a not-null Java field as a selector of unsafe assignment
KT-63208 K2: Implement deprecation cycle and fix missing errors for error-level nullable arguments of warning-level Java types
KT-57600 Forbid overriding of Java method with raw-typed parameter with generic typed parameter
KT-63147 K2: False negative DSL_SCOPE_VIOLATION when member is annotated with @LowPriorityInOverloadResolution
KT-62134 K2: handle non-simple types during FirStatusResolver.isPrivateToThis check
KT-42020 Psi2ir: IllegalStateException: "IrSimpleFunctionPublicSymbolImpl for public [...] is already bound" on generic function whose substitution leads to IdSignature clash
KT-62190 KJS: "IllegalStateException: Expect to have either super call or partial linkage stub inside constructor" caused by Compose and useEsModules()
KT-58685 KJS: "IllegalStateException: Not locked" cused by "unlock" called twice
Klibs
KT-62515 Interop klib of concurrent version is not accepted when building dependent project: "The library versions don't match"
Tools. CLI
KT-63139 Incorrect kotlin implementation version (1.9.255-SNAPSHOT) in metadata info
Tools. Gradle
KT-63499 Gradle: Source sets conventions are still registered
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
KT-57930 Analysis API: provide an API for extending Kotlin resolution
KT-57636 K2: Add the return type of K2 reference shortener AA ShortenCommand::invokeShortening() e.g., ShorteningResultInfo to allow callers to access the shortening result PSI
Fixes
KT-58249 Analysis API: Disable error logging for FE10 implementation of resolveCall when resolve is not successful
KT-55626 Impossible to restore symbol by psi from script file
KT-57314 LL FIR: Combine LLFirProvider$SymbolProviders in session dependencies (optimization)
KT-55527 K2 IDE: Rewrite KtScopeContext class to allow to handle each scope separately
KT-55329 LL FIR: Unexpected ACTUAL_WITHOUT_EXPECT error on constructor and function declaration
KT-50253 Analysis API: Solve issues with ProcessCancelledException
KT-56800 K2 IDE: optimize deprecation calculation for symbols
KT-55006 Analysis API does not transform Java type refs for callable symbol return types
KT-57256 AA FIR: Reduce lazy resolve phase for deprecation status
KT-57619 K2: CFG for class initializer is not correctly built in reversed resolve mode
KT-58141 K2: AA FIR: impossible to restore symbol for declaration with annotation with argument inside type
KT-57462 Symbol Light Classes: SymbolLightFieldForProperty should retrieve annotations not from KtPropertySymbol, but from the corresponding backing field
KT-54864 Analysis API: add function to get expect KtSymbol list by actual KtSymbol
KT-56763 Analysis API: .KtSourceModuleImpl is missing in the map. on symbol restore when symbol cannot be seen from the use-site module
KT-57131 K2: stdlib test compilation fails on ListTest.kt in FirJvmMangleComputer
KT-58137 K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another module
KT-58897 K2: False positive unresolved reference with same-named enum class and its entry
KT-30905 Expect var property with default public setter matches with actual var property with private setter
KT-56172 K2: Fix reporting of PRIVATE_CLASS_MEMBER_FROM_INLINE error
KT-56171 Implement deprecation warning for missing PRIVATE_CLASS_MEMBER_FROM_INLINE error
KT-27261 Contracts for infix functions don't work (for receivers and parameters)
KT-56927 Enum with secondary constructor can't be compiled with K2 using JS/Native backend
KT-53568 Partial linkage: absent class as type parameter bound causes failure of compileProductionExecutableKotlinJs
KT-53608 Partial linkage: Kotlin/JS fails with IllegalStateException: "Validation failed in file" when overridden declaration was visible, but now private
KT-53663 Partial linkage: usage of property which becomes abstract: no IrLinkageError, but AssertionError in Native backend instead
KT-56013 K2. a set of errors about local properties are missing
KT-53939 Partial linkage: with turning object into class linkNative and jsTest tasks fail
KT-53938 Partial linkage: with turning interface into class and using as second parent Native build fails
KT-53941 Partial linkage: with turning class into object accessing member via parameterless constructor does not fail
KT-53970 Partial linkage: on turning nested class into inner JS tasks are successful, Native build fails
KT-53971 Partial linkage: turning inner class into nested: without usage in executable Native is successful, JavaScript fails
KT-53972 Partial linkage: turning inner class into nested: with usage in executable Native fails with NPE in backend
KT-54045 Partial linkage: turning class into type alias + calculating implicit function type: build fails with UninitializedPropertyAccessException: "lateinit property parent has not been initialized"
KT-54046 Partial linkage: turning type alias into class + using it as type: build fails with AssertionError: "Expected exactly one delegating constructor call but none encountered"
KT-53887 Partial linkage: turning from enum to regular class + reference to enum contant causes compileProductionExecutableKotlinJs fail with IllegalStateException
KT-54047 Partial linkage: reference to removed enum const causes JS fail with "IllegalStateException: Validation failed in file"
KT-54048 Partial linkage: reference to removed enum const in runtime causes Native fail with IllegalStateException at IrBindablePublicSymbolBase.getOwner()
KT-53995 Partial linkage: on turning class to abstract and direct constructor call Naive fails, JavaScript is successful
KT-43527@ExtensionFunctionType is allowed on function types with no parameters and leads to backend exception
KT-55316 K2. IllegalStateException on incorrect import directive name
KT-57570 Remove source code excerpts from platform type nullability assertion exceptions
KT-58577 K2: private Kotlin property prevents use of Java set-method from Java-Kotlin-Java hierarchy in another module
KT-58587 MUST_BE_INITIALIZED must take into account effectivelly final
KT-58524 K2: false-positive overload resolution ambiguity error on invoking a generic class's member function with id-shaped function-typed parameter on intersection-typed receiver
KT-53929 Enum.entries: consider changing scope behavior in K1
KT-58520 K2: FIR2IR: ISE during const evaluation of operator times with exposed
KT-57905 K1: resolution to base class's Java field instead of derived class's Kotlin property is not deprecated in case of different types
KT-56662 K1: false negative INVISIBLE_SETTER for a var with internal setter accessed from a derived class
KT-57770 K2: Support generation of serializer if base class for serializable
✂ Note
PR body was truncated to here.
Configuration
📅Schedule: (UTC)
Branch creation
At any time (no schedule defined)
Automerge
At any time (no schedule defined)
🚦Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕Ignore: Close this PR and you won't be reminded about this update again.
If you want to rebase/retry this PR, check this box
> ℹ️ **Note**
>
> This PR body was truncated due to platform limits.
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [org.jetbrains.kotlin.android](https://kotlinlang.org/) ([source](https://github.com/JetBrains/kotlin)) | `1.8.22` → `2.3.21` |  |  |
---
> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/3) for more information.
---
### Release Notes
<details>
<summary>JetBrains/kotlin (org.jetbrains.kotlin.android)</summary>
### [`v2.3.21`](https://github.com/JetBrains/kotlin/blob/HEAD/ChangeLog.md#2321)
##### Backend. Wasm
- [`KT-84610`](https://youtrack.jetbrains.com/issue/KT-84610) \[Wasm] Failed to compile klibs in IC mode
##### Compiler
- [`KT-84566`](https://youtrack.jetbrains.com/issue/KT-84566) Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler
- [`KT-85358`](https://youtrack.jetbrains.com/issue/KT-85358) Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed
- [`KT-85626`](https://youtrack.jetbrains.com/issue/KT-85626) `@JvmRecord` in commonMain breaks compileCommonMainKotlinMetadata with "Cannot access 'java.lang.Record'"
- [`KT-85405`](https://youtrack.jetbrains.com/issue/KT-85405) Postpone/Revert `DontIgnoreUpperBoundViolatedOnImplicitArguments`
- [`KT-84678`](https://youtrack.jetbrains.com/issue/KT-84678) K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target
- [`KT-85021`](https://youtrack.jetbrains.com/issue/KT-85021) False positive SUBCLASS\_CANT\_CALL\_COMPANION\_PROTECTED\_NON\_STATIC error in multi-module project
##### JavaScript
- [`KT-82395`](https://youtrack.jetbrains.com/issue/KT-82395) Support top-level declarations from compiler plugins in JS incremental compilation
- [`KT-84475`](https://youtrack.jetbrains.com/issue/KT-84475) K/JS: false-positive exportability warnings in multi-module project
- [`KT-84633`](https://youtrack.jetbrains.com/issue/KT-84633) Kotlin/JS: "Serializer for class not found" error when IR output granularity is `whole-program`
- [`KT-85047`](https://youtrack.jetbrains.com/issue/KT-85047) Kotlin/JS: `@JsStatic` on suspend fun of class companion generates incorrect d.ts
- [`KT-84517`](https://youtrack.jetbrains.com/issue/KT-84517) K/JS: bad mappings data in outputted Kotlin stdlib source map
##### Libraries
- [`KT-71848`](https://youtrack.jetbrains.com/issue/KT-71848) Kotlinx.metadata: Add `CompilerPluginData` into Km API
##### Native. C and ObjC Import
- [`KT-85399`](https://youtrack.jetbrains.com/issue/KT-85399) Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled
- [`KT-85508`](https://youtrack.jetbrains.com/issue/KT-85508) K/N: TypeCastException when using nw\_parameters\_create\_secure\_tcp block parameter on 2.3.20
##### Tools. Gradle
- [`KT-84729`](https://youtrack.jetbrains.com/issue/KT-84729) Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal
##### Tools. Gradle. Compiler plugins
- [`KT-85257`](https://youtrack.jetbrains.com/issue/KT-85257) AGP/Compose: MergeMappingFileTask clears R8 artifacts due to `@OutputDirectory` annotation on AGP 9.1+
##### Tools. Scripts
- [`KT-85105`](https://youtrack.jetbrains.com/issue/KT-85105) Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object
- [`KT-85103`](https://youtrack.jetbrains.com/issue/KT-85103) Exception while generating code when explain destructuring decls
- [`KT-84842`](https://youtrack.jetbrains.com/issue/KT-84842) scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20
- [`KT-85029`](https://youtrack.jetbrains.com/issue/KT-85029) Kotlin Scripting: ScriptDiagnostic reports "at null" instead of error location
##### Tools. Statistics (FUS)
- [`KT-85628`](https://youtrack.jetbrains.com/issue/KT-85628) KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'
### [`v2.3.20`](https://github.com/JetBrains/kotlin/blob/HEAD/ChangeLog.md#2320)
##### Analysis API. FIR
##### New Features
- [`KT-78090`](https://youtrack.jetbrains.com/issue/KT-78090) Implement stubs support for new conditional returns and holdsIn contracts
##### Fixes
- [`KT-82948`](https://youtrack.jetbrains.com/issue/KT-82948) 'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'
- [`KT-83467`](https://youtrack.jetbrains.com/issue/KT-83467) Package-level JSpecify annotations are ignored when coming from jars or libraries
- [`KT-82057`](https://youtrack.jetbrains.com/issue/KT-82057) K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response type
- [`KT-82846`](https://youtrack.jetbrains.com/issue/KT-82846) AA: unresolved KtExpression.expressionType for the reference to the parameter with default value
- [`KT-80485`](https://youtrack.jetbrains.com/issue/KT-80485) False positive UNRESOLVED\_REFERENCE on nested interface from super-super class in the super type position inside an anonymous object
- [`KT-82772`](https://youtrack.jetbrains.com/issue/KT-82772) Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE mode
- [`KT-76487`](https://youtrack.jetbrains.com/issue/KT-76487) StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstable
- [`KT-82618`](https://youtrack.jetbrains.com/issue/KT-82618) Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25
- [`KT-82076`](https://youtrack.jetbrains.com/issue/KT-82076) Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysis
- [`KT-71596`](https://youtrack.jetbrains.com/issue/KT-71596) Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollector
- [`KT-82085`](https://youtrack.jetbrains.com/issue/KT-82085) No OUTER\_CLASS\_ARGUMENTS\_REQUIRED on type parameter bound in IDE
- [`KT-81873`](https://youtrack.jetbrains.com/issue/KT-81873) Provide a way of including traces in phase JFR events
- [`KT-71929`](https://youtrack.jetbrains.com/issue/KT-71929) Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctions
##### Analysis API. Infrastructure
- [`KT-83173`](https://youtrack.jetbrains.com/issue/KT-83173) Analysis API Tests: Library names with RC versions aren't sanitised
- [`KT-65140`](https://youtrack.jetbrains.com/issue/KT-65140) LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIR
- [`KT-82212`](https://youtrack.jetbrains.com/issue/KT-82212) \[Analysis API, LL FIR] Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIR
##### Analysis API. Light Classes
- [`KT-82227`](https://youtrack.jetbrains.com/issue/KT-82227) Value classes should expose regular static methods
##### Analysis API. PSI
- [`KT-81710`](https://youtrack.jetbrains.com/issue/KT-81710) 'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdas
- [`KT-82258`](https://youtrack.jetbrains.com/issue/KT-82258) Prepare PSI for migration from context receivers to context parameters
- [`KT-81074`](https://youtrack.jetbrains.com/issue/KT-81074) KDoc: List rendering is broken
##### Analysis API. Providers and Caches
- [`KT-82449`](https://youtrack.jetbrains.com/issue/KT-82449) K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)
- [`KT-82629`](https://youtrack.jetbrains.com/issue/KT-82629) 'collectDiagnostics' returns stale syntax error after editor fix
- [`KT-74907`](https://youtrack.jetbrains.com/issue/KT-74907) Analysis API: Apply platform-based library module content restrictions consistently
##### Analysis API. Standalone
- [`KT-81107`](https://youtrack.jetbrains.com/issue/KT-81107) AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic links
##### Analysis API. Stubs and Decompilation
- [`KT-82792`](https://youtrack.jetbrains.com/issue/KT-82792) Stub for KtValueArgumentList inside KtAnnotationEntry should be present if it is present in psi
- [`KT-82527`](https://youtrack.jetbrains.com/issue/KT-82527) TypeClsStubBuilder.createFunctionTypeStub throws NullPointerException
- [`KT-82558`](https://youtrack.jetbrains.com/issue/KT-82558) Deserialized DNN type should have a fully qualified Any
- [`KT-81928`](https://youtrack.jetbrains.com/issue/KT-81928) KaArrayAnnotationValueImpl.values missing first element
- [`KT-82139`](https://youtrack.jetbrains.com/issue/KT-82139) Support contracts for property accessors
- [`KT-82198`](https://youtrack.jetbrains.com/issue/KT-82198) Support context parameters in contracts
##### Analysis API. Surface
##### New Features
- [`KT-82851`](https://youtrack.jetbrains.com/issue/KT-82851) Property accessors should inherit KDoc from the parent property
- [`KT-63339`](https://youtrack.jetbrains.com/issue/KT-63339) Analysis API: Provide a way to extract KDoc for symbols
- [`KT-79070`](https://youtrack.jetbrains.com/issue/KT-79070) KaTypeProvider: add API to build a default type with star projections
- [`KT-66566`](https://youtrack.jetbrains.com/issue/KT-66566) AA: api to create functional types
- [`KT-66043`](https://youtrack.jetbrains.com/issue/KT-66043) KtTypeCreator doesn't provide a way for creating annotated types
##### Performance Improvements
- [`KT-83694`](https://youtrack.jetbrains.com/issue/KT-83694) Provide psi-based implementation of `KaDeclarationSymbol#isExternal`
- [`KT-70868`](https://youtrack.jetbrains.com/issue/KT-70868) KaSymbol: support PSI-only visibility and modality for the case without compiler plugins
- [`KT-81627`](https://youtrack.jetbrains.com/issue/KT-81627) KaFirSymbolDeclarationOverridesProvider#processOverrides should process only relevant declarations
##### Fixes
- [`KT-83152`](https://youtrack.jetbrains.com/issue/KT-83152) \[Analysis API, KDoc] Make class name links on constructors point to the class
- [`KT-83695`](https://youtrack.jetbrains.com/issue/KT-83695) Deprecate `KaSymbolInformationProvider#{getter, setter}DeprecationStatus`
- [`KT-82853`](https://youtrack.jetbrains.com/issue/KT-82853) Add a convenience property for testing declarations for effective external-ness
- [`KT-83226`](https://youtrack.jetbrains.com/issue/KT-83226) Support "Collection literals" in the Analysis API
- [`KT-83225`](https://youtrack.jetbrains.com/issue/KT-83225) Support "`@IntroduceAt`" in the Analysis API
- [`KT-83222`](https://youtrack.jetbrains.com/issue/KT-83222) Support "Improve use-site defaulting for annotations" in the Analysis API
- [`KT-83351`](https://youtrack.jetbrains.com/issue/KT-83351) Rename KaSession context parameter from 's' in bridges to something nicer
- [`KT-83199`](https://youtrack.jetbrains.com/issue/KT-83199) Clarify API around extension points
- [`KT-83074`](https://youtrack.jetbrains.com/issue/KT-83074) Inner enum entry class has incorrect default visibility
- [`KT-82442`](https://youtrack.jetbrains.com/issue/KT-82442) Add Ka prefix to org.jetbrains.kotlin.analysis.api.symbols.AdditionalKDocResolutionProvider
- [`KT-82443`](https://youtrack.jetbrains.com/issue/KT-82443) Add Ka prefix to org.jetbrains.kotlin.analysis.api.symbols.DebugSymbolRenderer
- [`KT-82441`](https://youtrack.jetbrains.com/issue/KT-82441) Add Ka prefix to org.jetbrains.kotlin.analysis.api.compile.CodeFragmentCapturedValue
- [`KT-82439`](https://youtrack.jetbrains.com/issue/KT-82439) Add Ka prefix to org.jetbrains.kotlin.analysis.api.components.DebuggerExtension
- [`KT-82438`](https://youtrack.jetbrains.com/issue/KT-82438) Add Ka prefix to org.jetbrains.kotlin.analysis.api.components.DefaultTypeClassIds
- [`KT-68577`](https://youtrack.jetbrains.com/issue/KT-68577) `asPsiType` and `mapTypeToJvmType`: leading delimiter for class in a root package
- [`KT-81734`](https://youtrack.jetbrains.com/issue/KT-81734) MIssing "ARGUMENT\_TYPE\_MISMATCH" caused by self-referential generic type
- [`KT-82856`](https://youtrack.jetbrains.com/issue/KT-82856) Redesign KotlinReferenceProviderContributor to make it extensible
- [`KT-82615`](https://youtrack.jetbrains.com/issue/KT-82615) Clarify `KtReference#resolvesByNames` contract
- [`KT-82534`](https://youtrack.jetbrains.com/issue/KT-82534) No expected type for property accessor without body
- [`KT-82406`](https://youtrack.jetbrains.com/issue/KT-82406) Add a test to ensure that all top-level classes in the Analysis API Surface have `Ka` prefix
- [`KT-78397`](https://youtrack.jetbrains.com/issue/KT-78397) investigate if there is a need in Extra support for the "various little features in contracts"
- [`KT-74009`](https://youtrack.jetbrains.com/issue/KT-74009) Analysis API: Expose "isOverloadable" check for callable symbols similar to "OverloadChecker.isOverloadable"
- [`KT-78399`](https://youtrack.jetbrains.com/issue/KT-78399) Check return value - check how we see from Java(+Stub) we see “annotated” signatures
- [`KT-80357`](https://youtrack.jetbrains.com/issue/KT-80357) \[Analysis API] `KaType.enhancedType` doesn't enhance type parameters
- [`KT-73659`](https://youtrack.jetbrains.com/issue/KT-73659) Analysis API: The name of `KaType.enhancedType` is too general
- [`KT-80545`](https://youtrack.jetbrains.com/issue/KT-80545) \[Analysis API] Deprecate `KaFunctionType.arity`
- [`KT-77708`](https://youtrack.jetbrains.com/issue/KT-77708) K2 Mode: Potentially redundant smart cast highlighing when passing smartcasted expressions as arguments
- [`KT-81264`](https://youtrack.jetbrains.com/issue/KT-81264) K2 AA: `KaValueParameterSymbol.hasDefaultValue` is false for overriding or actual functions
- [`KT-81166`](https://youtrack.jetbrains.com/issue/KT-81166) Forbid the usage of KaSessionComponent implementation types directly
- [`KT-74801`](https://youtrack.jetbrains.com/issue/KT-74801) Analysis API: Publish/subscribe to modification events with a single message bus topic
##### Backend. Native. Debug
- [`KT-81741`](https://youtrack.jetbrains.com/issue/KT-81741) Native: stepping into data class hashCode in lldb goes to line 1
##### Backend. Wasm
##### New Features
- [`KT-81485`](https://youtrack.jetbrains.com/issue/KT-81485) \[Wasm] DebuggerCustomFormatters generation support for single module mode
- [`KT-81483`](https://youtrack.jetbrains.com/issue/KT-81483) \[Wasm] Typescript generation support for single module mode
- [`KT-81484`](https://youtrack.jetbrains.com/issue/KT-81484) \[Wasm] Dwarf generation support for single module mode
##### Performance Improvements
- [`KT-83839`](https://youtrack.jetbrains.com/issue/KT-83839) K/Wasm: CMP. Load time on Safari significantly increased with Kotlin = 2.3.20-Beta1
- [`KT-81524`](https://youtrack.jetbrains.com/issue/KT-81524) Unnecessary Any-JsAny conversions are generated for external instanceofs
##### Fixes
- [`KT-82732`](https://youtrack.jetbrains.com/issue/KT-82732) K/Wasm runtime crash when using fun reference: convertKotlinClosureToJsClosure
- [`KT-82649`](https://youtrack.jetbrains.com/issue/KT-82649) K/Wasm: Rewrite StringBuilder to use JsString
- [`KT-73240`](https://youtrack.jetbrains.com/issue/KT-73240) K/Wasm: consider using JS String Builtins proposal in String implementation for wasm-js target
- [`KT-83995`](https://youtrack.jetbrains.com/issue/KT-83995) K/Wasm: 2.3.0 -> 2.3.20-Beta1 degradation in arrow tests
- [`KT-82309`](https://youtrack.jetbrains.com/issue/KT-82309) K/Wasm: refactor \_initialize function
- [`KT-70075`](https://youtrack.jetbrains.com/issue/KT-70075) Wasm: "OutOfMemoryError: GC overhead limit exceeded" during tests
- [`KT-83046`](https://youtrack.jetbrains.com/issue/KT-83046) K/Wasm: don't use StringBuilder implicitly for string concatenations
- [`KT-82645`](https://youtrack.jetbrains.com/issue/KT-82645) K/Wasm: wasmJs use js "String" for number2String conversion
- [`KT-79937`](https://youtrack.jetbrains.com/issue/KT-79937) K/Wasm: support kotlin.js.nativeInvoke annotation
- [`KT-67461`](https://youtrack.jetbrains.com/issue/KT-67461) Use new lowering phase creation API in Wasm backend
- [`KT-83664`](https://youtrack.jetbrains.com/issue/KT-83664) Wasm: Colon and space are not sanitized in output file names
- [`KT-65779`](https://youtrack.jetbrains.com/issue/KT-65779) JsExport declaration name clash
- [`KT-82202`](https://youtrack.jetbrains.com/issue/KT-82202) \[Wasm] SourceMap generation support for single module mode
- [`KT-82162`](https://youtrack.jetbrains.com/issue/KT-82162) \[Wasm] Run single module tests with standalone vm's
- [`KT-81325`](https://youtrack.jetbrains.com/issue/KT-81325) \[Wasm] Remove string pool initialiser dependent code
- [`KT-73238`](https://youtrack.jetbrains.com/issue/KT-73238) K/Wasm: stop using linear memory inside our code
- [`KT-83025`](https://youtrack.jetbrains.com/issue/KT-83025) Wasm: Compose application is not loading
- [`KT-73239`](https://youtrack.jetbrains.com/issue/KT-73239) K/Wasm: use JS String Builtins proposal to transfer strings to and from JS
- [`KT-83194`](https://youtrack.jetbrains.com/issue/KT-83194) K/Wasm: create WasmIR test infrastructure
- [`KT-65234`](https://youtrack.jetbrains.com/issue/KT-65234) K/Wasm Ensure that fp operations are aligned with other b-ends
- [`KT-81856`](https://youtrack.jetbrains.com/issue/KT-81856) K/JS/Wasm interop: external instanceofs do not link in singleModule mode
- [`KT-81610`](https://youtrack.jetbrains.com/issue/KT-81610) \[Wasm] Add CLI test for performance metrics for klibs->binary scenario
- [`KT-81550`](https://youtrack.jetbrains.com/issue/KT-81550) Incorrect generation of .wat files
- [`KT-71533`](https://youtrack.jetbrains.com/issue/KT-71533) K/Wasm + K2: no error on KClass::qualifiedName usages
##### Compiler
##### New Features
- [`KT-75736`](https://youtrack.jetbrains.com/issue/KT-75736) Enable reading/writing annotations in metadata on JVM by default
- [`KT-79330`](https://youtrack.jetbrains.com/issue/KT-79330) Implement the first version of inference for Collection Literals
- [`KT-83401`](https://youtrack.jetbrains.com/issue/KT-83401) Collection literals: support different types of expected types for CL
- [`KT-55548`](https://youtrack.jetbrains.com/issue/KT-55548) JSR-305: Overload resolution ambiguity: Platform Types vs Kotlin Types
- [`KT-74860`](https://youtrack.jetbrains.com/issue/KT-74860) Support Unit coercion (incl. fun refs) in unused return value checker
- [`KT-13968`](https://youtrack.jetbrains.com/issue/KT-13968) Support vertx nullable annotation
- [`KT-79656`](https://youtrack.jetbrains.com/issue/KT-79656) Use `org.jetbrains.annotations.UnmodifiableView` and/or `org.jetbrains.annotations.Unmodifiable` to infer read-only types for Java entities
- [`KT-81684`](https://youtrack.jetbrains.com/issue/KT-81684) Implement explicit passing of context arguments using named syntax \[TEST\_ONLY]
- [`KT-80492`](https://youtrack.jetbrains.com/issue/KT-80492) Checkers for operator `of`
- [`KT-82638`](https://youtrack.jetbrains.com/issue/KT-82638) Collection literals: resolve to factory functions for standard library classes
- [`KT-82467`](https://youtrack.jetbrains.com/issue/KT-82467) Improve binary and JVM compatibility by generating bridges for abstract interface methods
- [`KT-82655`](https://youtrack.jetbrains.com/issue/KT-82655) Bridges generated for non-fake overrides shall include annotations from target methods
- [`KT-74223`](https://youtrack.jetbrains.com/issue/KT-74223) Move Kotlin/Native TestProcessor phase to the first phase
- [`KT-27090`](https://youtrack.jetbrains.com/issue/KT-27090) Support contracts in getter and setter for top-level extension properties
- [`KT-74809`](https://youtrack.jetbrains.com/issue/KT-74809) Support unnamed local variables
- [`KT-45683`](https://youtrack.jetbrains.com/issue/KT-45683) Allow generics in contract type assertions
##### Performance Improvements
- [`KT-81974`](https://youtrack.jetbrains.com/issue/KT-81974) Do not eagerly initialize reflection for KProperty objects for delegated properties
- [`KT-83697`](https://youtrack.jetbrains.com/issue/KT-83697) Native: increased bitcode produced with enabled safe casts
- [`KT-83036`](https://youtrack.jetbrains.com/issue/KT-83036) Native: too many casts emitted with -Xgeneric-safe-casts=true
- [`KT-80061`](https://youtrack.jetbrains.com/issue/KT-80061) Compiler (or IDEA) hangs due to importing large Kotlin reflect functions (e.g. KFunction999999999)
- [`KT-68592`](https://youtrack.jetbrains.com/issue/KT-68592) Investigate performance implications of enabling -Xjvm-default for ir.tree module
- [`KT-73687`](https://youtrack.jetbrains.com/issue/KT-73687) Inefficient KtCommonFile#getFileAnnotationList
- [`KT-71673`](https://youtrack.jetbrains.com/issue/KT-71673) Consider making EnhancementSymbolsCache. enhancedFunctions using simple cache
##### Fixes
- [`KT-84773`](https://youtrack.jetbrains.com/issue/KT-84773) Annotations not persisted in IR for internal external functions
- [`KT-78783`](https://youtrack.jetbrains.com/issue/KT-78783) K2: absence of warning for KTLC-284 migration
- [`KT-81553`](https://youtrack.jetbrains.com/issue/KT-81553) INITIALIZER\_TYPE\_MISMATCH and ASSIGNMENT\_TYPE\_MISMATCH is reported on the entire initializer
- [`KT-83395`](https://youtrack.jetbrains.com/issue/KT-83395) Kotlin/Native 2.3.0 iOS release framework fails with Invalid LLVM module (PHI node type mismatch)
- [`KT-84620`](https://youtrack.jetbrains.com/issue/KT-84620) Incorrect optimization of property delegation
- [`KT-81567`](https://youtrack.jetbrains.com/issue/KT-81567) Add a use-site warning if a `@DslMarker`-marked annotation is used on entities where it is a no-op
- [`KT-81700`](https://youtrack.jetbrains.com/issue/KT-81700) flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)
- [`KT-83372`](https://youtrack.jetbrains.com/issue/KT-83372) compileDebugKotlinAndroid hangs in 2.3.0 with SQLDelight
- [`KT-82579`](https://youtrack.jetbrains.com/issue/KT-82579) Update specificity rule for context parameters
- [`KT-83590`](https://youtrack.jetbrains.com/issue/KT-83590) Some explicit backing fields must still be considered private-to-this
- [`KT-83849`](https://youtrack.jetbrains.com/issue/KT-83849) False-positive NULLABILITY\_MISMATCH\_BASED\_ON\_JAVA\_ANNOTATIONS for `Optional.orElse(null)` call
- [`KT-84192`](https://youtrack.jetbrains.com/issue/KT-84192) "Member overrides different '`@Throws`' filter from" caused by overriding in different module
- [`KT-72994`](https://youtrack.jetbrains.com/issue/KT-72994) K2: Remove resolution to context receivers
- [`KT-80247`](https://youtrack.jetbrains.com/issue/KT-80247) No diagnostic on unresolved type annotation from a dependency in an inferred type
- [`KT-78730`](https://youtrack.jetbrains.com/issue/KT-78730) Move more LLVM-agnostic code to compiler/ir/backend.native or compiler/ir/backend.common
- [`KT-74051`](https://youtrack.jetbrains.com/issue/KT-74051) Add a Continuation for tail-call suspend functions
- [`KT-83984`](https://youtrack.jetbrains.com/issue/KT-83984) Data races around kotlinx.serialization plugin protobuf extensions registration
- [`KT-83317`](https://youtrack.jetbrains.com/issue/KT-83317) ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant
- [`KT-83031`](https://youtrack.jetbrains.com/issue/KT-83031) K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code
- [`KT-83824`](https://youtrack.jetbrains.com/issue/KT-83824) Delegated property in Gradle DSL fails to compile
- [`KT-83657`](https://youtrack.jetbrains.com/issue/KT-83657) \[K/N] Pre-codegen inline produces invalid bitcode
- [`KT-81555`](https://youtrack.jetbrains.com/issue/KT-81555) Kotlin scripts: top-level name-based destructuring with \_ = prop fails with “exception while generating code”
- [`KT-83314`](https://youtrack.jetbrains.com/issue/KT-83314) JSpecify `@NullMarked` changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3
- [`KT-83282`](https://youtrack.jetbrains.com/issue/KT-83282) JvmExposeBoxed: Duplicate annotation interface kotlin.coroutines.jvm.internal.DebugMetadata in class %class%$1 for suspend inline class value
- [`KT-78443`](https://youtrack.jetbrains.com/issue/KT-78443) Refactor session component initialization for multi-target compilation
- [`KT-83427`](https://youtrack.jetbrains.com/issue/KT-83427) Arguments of plugin-generated annotations are serialized incorrectly
- [`KT-83538`](https://youtrack.jetbrains.com/issue/KT-83538) OPERATOR\_RENAMED\_ON\_IMPORT is not reported for 'provideDelegate' operator
- [`KT-83537`](https://youtrack.jetbrains.com/issue/KT-83537) OPERATOR\_RENAMED\_ON\_IMPORT is not reported for 'of' operator
- [`KT-82721`](https://youtrack.jetbrains.com/issue/KT-82721) Inconsistent explicit backing fields behavior
- [`KT-83589`](https://youtrack.jetbrains.com/issue/KT-83589) Explicit backing fields don't likely work with intersection overrides
- [`KT-81951`](https://youtrack.jetbrains.com/issue/KT-81951) K2: Another false positive "Assigned value is never read" in composable function
- [`KT-83588`](https://youtrack.jetbrains.com/issue/KT-83588) Explicit backing field is falsely accessible from a subclass via a substitution override
- [`KT-82849`](https://youtrack.jetbrains.com/issue/KT-82849) Collection literals (minor): collection literal should only be resolved to operator
- [`KT-83363`](https://youtrack.jetbrains.com/issue/KT-83363) VerifyError: "Bad type on operand stack" on multi-line suspending call with default parameter value since API version 2.4
- [`KT-83570`](https://youtrack.jetbrains.com/issue/KT-83570) K2: Resolve problematic IR when referencing Kotlin const from annotation in Java
- [`KT-83362`](https://youtrack.jetbrains.com/issue/KT-83362) Starting from 2.3 DefaultImpls bridge functions deprecated with the level HIDDEN are no longer synthetic
- [`KT-9182`](https://youtrack.jetbrains.com/issue/KT-9182) Java interoperability: Overload resolution ambiguity on Java's `@NotNull` and primitives
- [`KT-83633`](https://youtrack.jetbrains.com/issue/KT-83633) Forbid inline functional context parameters in inline functions
- [`KT-83449`](https://youtrack.jetbrains.com/issue/KT-83449) compile-time IR failure on smart cast information leaking from capturing closure
- [`KT-82375`](https://youtrack.jetbrains.com/issue/KT-82375) Add `ATOMIC_REF_WITHOUT_CONSISTENT_IDENTITY` warning for any argument without consistent identity
- [`KT-82524`](https://youtrack.jetbrains.com/issue/KT-82524) Access to a companion that requires opt-in is possible without opt-in
- [`KT-83367`](https://youtrack.jetbrains.com/issue/KT-83367) VolatileFieldsLowering may emit wrong parameter types for atomic intrinsic calls
- [`KT-83382`](https://youtrack.jetbrains.com/issue/KT-83382) K2: Unreachable method exit breaks MUST\_BE\_INITIALIZED checks for succeeding value declarations
- [`KT-82211`](https://youtrack.jetbrains.com/issue/KT-82211) False positive SENSELESS\_NULL\_IN\_WHEN with nullable var
- [`KT-83157`](https://youtrack.jetbrains.com/issue/KT-83157) ExplicitBackingFields: "Property with explicit backing field should be final" in 2.3.0
- [`KT-83269`](https://youtrack.jetbrains.com/issue/KT-83269) K2: Wrong types in IR for explicit backing fields
- [`KT-68606`](https://youtrack.jetbrains.com/issue/KT-68606) Argument type mismatch, despite being from the same star-projected type
- [`KT-83324`](https://youtrack.jetbrains.com/issue/KT-83324) Native: problem with loops handling in types computation pass
- [`KT-83241`](https://youtrack.jetbrains.com/issue/KT-83241) K2: "NoSuchElementException: List is empty" with top-level destructuring declaration and lambda initializer
- [`KT-82277`](https://youtrack.jetbrains.com/issue/KT-82277) Misleading `Inapplicable candidate(s): fun <K> WHEN_CALL(vararg branches: K): K` when a when expression branch contains an unresolved reference
- [`KT-80839`](https://youtrack.jetbrains.com/issue/KT-80839) Get rid of an obsolete -Xcompile-builtins-as-part-of-stdlib flag once previous changes are bootstrapped
- [`KT-82900`](https://youtrack.jetbrains.com/issue/KT-82900) Language Feature EnhancedBridgesGeneration
- [`KT-82651`](https://youtrack.jetbrains.com/issue/KT-82651) Do not generate self-recursive bridges in JVM backend
- [`KT-5486`](https://youtrack.jetbrains.com/issue/KT-5486) Better errors for integers with leading zero
- [`KT-83185`](https://youtrack.jetbrains.com/issue/KT-83185) Kotlin repeatable annotations are incorrectly deserialized from bytecode
- [`KT-82863`](https://youtrack.jetbrains.com/issue/KT-82863) `@NoInfer` regression since 2.2.20
- [`KT-82376`](https://youtrack.jetbrains.com/issue/KT-82376) Header mode: Index out of bounds when generating bodies of data class
- [`KT-82311`](https://youtrack.jetbrains.com/issue/KT-82311) Header mode: Error expression when assigning function declaration to a property
- [`KT-82408`](https://youtrack.jetbrains.com/issue/KT-82408) Header mode: Java files are not compiled successfully
- [`KT-82378`](https://youtrack.jetbrains.com/issue/KT-82378) Header mode: Sequence contains no element matching the predicate
- [`KT-82407`](https://youtrack.jetbrains.com/issue/KT-82407) Header mode: Backend Internal error: Exception during IR lowering
- [`KT-81763`](https://youtrack.jetbrains.com/issue/KT-81763) Incorrect comparison result when using elvis ?: with nullable Long values
- [`KT-83153`](https://youtrack.jetbrains.com/issue/KT-83153) Properly ignore contract statements in the Return Value Checker
- [`KT-83076`](https://youtrack.jetbrains.com/issue/KT-83076) Don't report `WRONG_JS_INTEROP_TYPE` on expect types during metadata compilation
- [`KT-78589`](https://youtrack.jetbrains.com/issue/KT-78589) "Class does not have member field" caused by delegation from a Java to Kotlin class
- [`KT-82640`](https://youtrack.jetbrains.com/issue/KT-82640) K2: CCE on green code
- [`KT-82684`](https://youtrack.jetbrains.com/issue/KT-82684) "Don't know how to compile annotation value ERROR\_EXPR" on incorrect array literal in annotation default arguments
- [`KT-81948`](https://youtrack.jetbrains.com/issue/KT-81948) K2: ClassCastException: "java.lang.String cannot be cast to java.lang.Void" when calling `@Nullable` Java function
- [`KT-82788`](https://youtrack.jetbrains.com/issue/KT-82788) false-positive duplicate JVM class name error in IJ monorepo
- [`KT-82841`](https://youtrack.jetbrains.com/issue/KT-82841) "kotlin.NoWhenBranchMatchedException" in `when` with `!is` check & non-sealed class in the middle of hierarchy
- [`KT-82844`](https://youtrack.jetbrains.com/issue/KT-82844) "when" with no branches does not evaluate subject (side effects ignored)
- [`KT-81625`](https://youtrack.jetbrains.com/issue/KT-81625) Incorrect empty parameters parsing (comma is highlighted in red)
- [`KT-81193`](https://youtrack.jetbrains.com/issue/KT-81193) K2: SOE from `AbstractTypeApproximator.approximateToSuperType` with local enum class
- [`KT-65059`](https://youtrack.jetbrains.com/issue/KT-65059) Stack overflow when typechecking an Elvis expression with deeply generic values
- [`KT-82555`](https://youtrack.jetbrains.com/issue/KT-82555) `@Deprecated`(HIDDEN)\` objects not skipped when resolving qualifiers
- [`KT-82737`](https://youtrack.jetbrains.com/issue/KT-82737) Leaked type variable in diagnostic when top-level lambda with uninferred type parameter has non-functional expected type
- [`KT-78019`](https://youtrack.jetbrains.com/issue/KT-78019) Change K1 API deprecation level from Warning to Error
- [`KT-82683`](https://youtrack.jetbrains.com/issue/KT-82683) K2: FIR2IR: compile-time JVM codegen failure on an argument of function subtype for a KSuspendFunction parameter
- [`KT-82671`](https://youtrack.jetbrains.com/issue/KT-82671) Do not report ignorability mismatch on override/actualization if the function returns Unit type
- [`KT-82506`](https://youtrack.jetbrains.com/issue/KT-82506) Misleading compilation warning: "This class is not recommended for use in Kotlin. Use 'java.util.Map' instead"
- [`KT-52498`](https://youtrack.jetbrains.com/issue/KT-52498) Test privateSuperType.kt is failing with caches enabled
- [`KT-82336`](https://youtrack.jetbrains.com/issue/KT-82336) Header mode: Cannot infer argument for type parameter T
- [`KT-69326`](https://youtrack.jetbrains.com/issue/KT-69326) Inference chooses controversial order to fix variables
- [`KT-82545`](https://youtrack.jetbrains.com/issue/KT-82545) Handle data class with extra components in migration warning for name-based destructuring
- [`KT-82303`](https://youtrack.jetbrains.com/issue/KT-82303) Improve UNSUPPORTED\_FEATURE message when compiler argument has a parameter
- [`KT-81866`](https://youtrack.jetbrains.com/issue/KT-81866) K2: False positive ILLEGAL\_RESTRICTED\_SUSPENDING\_FUNCTION\_CALL caused by smart-casted `@RestrictsSuspension` receiver
- [`KT-13412`](https://youtrack.jetbrains.com/issue/KT-13412) Improve error message on callable reference with expression of nullable type
- [`KT-82466`](https://youtrack.jetbrains.com/issue/KT-82466) KotlinIllegalArgumentExceptionWithAttachment when return is used in explicit delegation expression
- [`KT-82454`](https://youtrack.jetbrains.com/issue/KT-82454) Local types aren't approximated in public declaration types
- [`KT-82487`](https://youtrack.jetbrains.com/issue/KT-82487) False positive REDUNDANT\_VISIBILITY\_MODIFIER inside private class
- [`KT-82369`](https://youtrack.jetbrains.com/issue/KT-82369) \[K2 REPL] Crash in the serialization plugin backend with "unable to transform declaration"
- [`KT-82243`](https://youtrack.jetbrains.com/issue/KT-82243) Usage of nested type aliases is forbidden despite the feature flag
- [`KT-62900`](https://youtrack.jetbrains.com/issue/KT-62900) K2: Expected expression to be resolved during Fir2Ir
- [`KT-81941`](https://youtrack.jetbrains.com/issue/KT-81941) IllegalArgumentException: class org.jetbrains.kotlin.psi.KtValueArgument is not a subtype of class org.jetbrains.kotlin.psi.KtExpression for factory POSITIONED\_VALUE\_ARGUMENT\_FOR\_JAVA\_ANNOTATION
- [`KT-80741`](https://youtrack.jetbrains.com/issue/KT-80741) Fix rendering of inner classes with generic outer classes
- [`KT-82331`](https://youtrack.jetbrains.com/issue/KT-82331) Do not propagate context parameters from classes to constructors
- [`KT-77276`](https://youtrack.jetbrains.com/issue/KT-77276) K2: Wrong scope for annotation arguments for the parameters of a secondary constructor header
- [`KT-77275`](https://youtrack.jetbrains.com/issue/KT-77275) Inconsistency between scopes for primary/secondary constructor headers
- [`KT-15152`](https://youtrack.jetbrains.com/issue/KT-15152) Improve error message for unresolved reference for delegation specifier and primary constructor call
- [`KT-81498`](https://youtrack.jetbrains.com/issue/KT-81498) Make Kotlin/Native stdlib in distribution reproducible
- [`KT-81408`](https://youtrack.jetbrains.com/issue/KT-81408) Allow local-variable-target annotations on destructuring declarations
- [`KT-82012`](https://youtrack.jetbrains.com/issue/KT-82012) Annotations without parentheses on full form of name-based destructuring don't work
- [`KT-81915`](https://youtrack.jetbrains.com/issue/KT-81915) Exception when analysing 'when' expression with annotated expression as a subject
- [`KT-78364`](https://youtrack.jetbrains.com/issue/KT-78364) Static methods are not generated for companion object JvmStatic property accessors with JvmExposeBoxed
- [`KT-81838`](https://youtrack.jetbrains.com/issue/KT-81838) Prohibit usage of nested type aliases (from lib) for sources with LV < 2.3
- [`KT-81357`](https://youtrack.jetbrains.com/issue/KT-81357) Forbid compilation of code with explicit *root\_ide\_package* in CLI mode
- [`KT-73138`](https://youtrack.jetbrains.com/issue/KT-73138) K2: "Assignment type mismatch" when class name is underscore`_`
- [`KT-82169`](https://youtrack.jetbrains.com/issue/KT-82169) Add quotes to message of WRONG\_NUMBER\_OF\_TYPE\_ARGUMENTS
- [`KT-78386`](https://youtrack.jetbrains.com/issue/KT-78386) JvmExposeBoxed (with no name) + JvmOverloads + JvmName produces ambiguity
- [`KT-78358`](https://youtrack.jetbrains.com/issue/KT-78358) Propagated JvmExposeBoxed annotation doesn't copy JvmName argument
- [`KT-81699`](https://youtrack.jetbrains.com/issue/KT-81699) Move native klib compilation to a separate module
- [`KT-81692`](https://youtrack.jetbrains.com/issue/KT-81692) Decouple compilation of Native klib from the Native backend
- [`KT-80673`](https://youtrack.jetbrains.com/issue/KT-80673) Consider forbidding/minimizing usages of ClassId.isLocal and CallableId.isLocal
- [`KT-81376`](https://youtrack.jetbrains.com/issue/KT-81376) False negative UNEXPECTED\_TRAILING\_LAMBDA\_ON\_A\_NEW\_LINE & bad positioning
- [`KT-81946`](https://youtrack.jetbrains.com/issue/KT-81946) false-positive JAVA\_CLASS\_ON\_COMPANION in case of an explicit companion reference
- [`KT-74461`](https://youtrack.jetbrains.com/issue/KT-74461) K2: Render function types nicely
- [`KT-81875`](https://youtrack.jetbrains.com/issue/KT-81875) NCDFE: kotlinx/coroutines/internal/intellij/IntellijCoroutines at :compiler:multiplatform-parsing:jvmTest
- [`KT-49722`](https://youtrack.jetbrains.com/issue/KT-49722) Report NOT\_YET\_SUPPORTED\_IN\_INLINE for inherited default parameters with inline function
- [`KT-81913`](https://youtrack.jetbrains.com/issue/KT-81913) Inapplicable candidate when vararg-adaption for callable reference might be used (array parameter)
- [`KT-81841`](https://youtrack.jetbrains.com/issue/KT-81841) Inapplicable candidate when vararg-adaption for callable reference might be used (generic parameter)
- [`KT-39697`](https://youtrack.jetbrains.com/issue/KT-39697) "Cannot infer type parameter" in map with java static or global method reference
- [`KT-81896`](https://youtrack.jetbrains.com/issue/KT-81896) Improve RedundantCallOfConversionMethod inspection for `@UnsafeNumber` annotated typealiases
- [`KT-66413`](https://youtrack.jetbrains.com/issue/KT-66413) Incorrect line mapping in suspendable code before suspend call without parameters
- [`KT-80525`](https://youtrack.jetbrains.com/issue/KT-80525) Update IntelliJ SDK dependency to 251.27812.49
- [`KT-81808`](https://youtrack.jetbrains.com/issue/KT-81808) Setting hasDefaultValue = true in irValueParameter() crashes the compiler
- [`KT-78927`](https://youtrack.jetbrains.com/issue/KT-78927) False positive 'USELESS\_JVM\_EXPOSE\_BOXED'
- [`KT-81703`](https://youtrack.jetbrains.com/issue/KT-81703) Drop obsolete K1 frontend code from Kotlin/Native
- [`KT-81698`](https://youtrack.jetbrains.com/issue/KT-81698) Decouple`SpecialBackendChecksTraversal` from Native backend
- [`KT-81687`](https://youtrack.jetbrains.com/issue/KT-81687) Different LightTree and PSI outputs when annotated class-like declaration is used as an expression
- [`KT-81302`](https://youtrack.jetbrains.com/issue/KT-81302) False positive: Type Mismatch caused by context parameters, lambdas, and generics
- [`KT-81584`](https://youtrack.jetbrains.com/issue/KT-81584) IAE "Collection contains more than one matching element" in FirElementSerializer on contextual property with same name as primary value class property
- [`KT-77237`](https://youtrack.jetbrains.com/issue/KT-77237) JvmExposeBoxed breaks compilation with a secondary constructor with value class
- [`KT-81262`](https://youtrack.jetbrains.com/issue/KT-81262) False positive: Access declaration type exposure: during access to public function class from internal inline declaration
- [`KT-80112`](https://youtrack.jetbrains.com/issue/KT-80112) Kotlin Debugger: “Cannot find local variable” on evaluating default lambda inside inline function
- [`KT-76806`](https://youtrack.jetbrains.com/issue/KT-76806) K2: AIOOBE in FirEqualityCompatibilityChecker
- [`KT-81693`](https://youtrack.jetbrains.com/issue/KT-81693) Introduce lightweight versions of KonanConfig and PhaseContext
- [`KT-72446`](https://youtrack.jetbrains.com/issue/KT-72446) K/N: inline function's default values aren't lowered with caches
- [`KT-81521`](https://youtrack.jetbrains.com/issue/KT-81521) Anonymous function in context parameters breaks parser
- [`KT-80853`](https://youtrack.jetbrains.com/issue/KT-80853) Class reference in context parameters breaks parser
- [`KT-81441`](https://youtrack.jetbrains.com/issue/KT-81441) Missing type checks when class has deeply generic supertype
- [`KT-79116`](https://youtrack.jetbrains.com/issue/KT-79116) Wrong parameter arguments mapping (compiler skips empty arguments)
- [`KT-81422`](https://youtrack.jetbrains.com/issue/KT-81422) False negative in full-form name-based destructuring: annotations before val/var not rejected
- [`KT-80652`](https://youtrack.jetbrains.com/issue/KT-80652) K2: USELESS\_IS\_CHECK is not detected in `when`
- [`KT-80049`](https://youtrack.jetbrains.com/issue/KT-80049) Mangle `ERROR_TYPE`s in diagnostics reported to user
- [`KT-73786`](https://youtrack.jetbrains.com/issue/KT-73786) Evaluator: cannot evaluate inline methods with reified parameter
- [`KT-75828`](https://youtrack.jetbrains.com/issue/KT-75828) Store backing field/delegate annotations and extension receiver annotations in metadata
- [`KT-74572`](https://youtrack.jetbrains.com/issue/KT-74572) Context parameters: contracts don't work with context parameters
- [`KT-42824`](https://youtrack.jetbrains.com/issue/KT-42824) FIR: false INAPPLICABLE\_CANDIDATE when using in variance on a Java class
##### Compose compiler
- [`b/481953005`](https://issuetracker.google.com/issues/481953005), [`b/481769383`](https://issuetracker.google.com/issues/481769383) Cache stability inference results during session
- [`b/481735904`](https://issuetracker.google.com/issues/481735904) Fix Compose codegen crash in inline function
- [`b/479646393`](https://issuetracker.google.com/issues/479646393) Add groups to inline functions with two or more inline parameters
- [`b/458234821`](https://issuetracker.google.com/issues/458234821) Disable Compose K1 tests on CI
- [`b/456948687`](https://issuetracker.google.com/issues/456948687) Force resolution of declarations when looking up SAM functions in FIR
- [`b/445426829`](https://issuetracker.google.com/issues/445426829) Add a diagnostic for `key` call with no arguments
##### IR. Actualizer
- [`KT-82418`](https://youtrack.jetbrains.com/issue/KT-82418) KMP Separate Compilation: NPE caused by actualization of NsCalendar.getEra
- [`KT-82313`](https://youtrack.jetbrains.com/issue/KT-82313) ACTUAL\_ANNOTATION\_CONFLICTING\_DEFAULT\_ARGUMENT\_VALUE checks throw `conflicting values in expected and actual annotations`
##### IR. Inlining
##### Fixes
- [`KT-82017`](https://youtrack.jetbrains.com/issue/KT-82017) \[Inliner] Inline function overrides abstract method with default value
- [`KT-80814`](https://youtrack.jetbrains.com/issue/KT-80814) \[IR Inliner] Space: jsBrowserProductionWebpack task failed with HookWebpackError
- [`KT-83280`](https://youtrack.jetbrains.com/issue/KT-83280) Split `LibrarySpecialCompatibilityChecksTest` into pure JS and pure Wasm tests
- [`KT-81766`](https://youtrack.jetbrains.com/issue/KT-81766) K/N: Recursive inline expect/actual causes StackOverflowError
- [`KT-80953`](https://youtrack.jetbrains.com/issue/KT-80953) \[Inliner] Eliminate excessive IMPLICIT\_CAST after IR Inliner on 2nd stage.
- [`KT-79899`](https://youtrack.jetbrains.com/issue/KT-79899) \[IR Inliner] Split single-module tests having `inline fun` into files
- [`KT-83148`](https://youtrack.jetbrains.com/issue/KT-83148) KLIB inliner: Make both "inliner" language features to require Api Version = 2.3
- [`KT-80791`](https://youtrack.jetbrains.com/issue/KT-80791) classFunctionsAndFieldsWithCrossModuleInliner fails per-file with cross-module inliner
- [`KT-80696`](https://youtrack.jetbrains.com/issue/KT-80696) Can not get instance of singleton 'Obj': No class found for symbol
- [`KT-82065`](https://youtrack.jetbrains.com/issue/KT-82065) IR inliner: Inline function's default value argument may get wrong offsets in a temporary variable
- [`KT-81753`](https://youtrack.jetbrains.com/issue/KT-81753) Review diagnosticReporters usage in pre-serialization lowerings
- [`KT-80793`](https://youtrack.jetbrains.com/issue/KT-80793) Test `friendDependencyWithCrossModuleInliner` fails per-file with cross-module inliner
- [`KT-80698`](https://youtrack.jetbrains.com/issue/KT-80698) \[IC]\[WASM] Mismatched file stats
- [`KT-80697`](https://youtrack.jetbrains.com/issue/KT-80697) \[IC]\[JS per file] Mismatched rebuilt modules
- [`KT-80660`](https://youtrack.jetbrains.com/issue/KT-80660) \[Inliner] Bodyless functions should not be inlined at 1st compilation stage
- [`KT-79064`](https://youtrack.jetbrains.com/issue/KT-79064) Try to get rid of `TypeOfPostProcessor`
##### IR. Interpreter
- [`KT-82161`](https://youtrack.jetbrains.com/issue/KT-82161) Enable Enum.name and KCallable.name to constant evaluation
- [`KT-80646`](https://youtrack.jetbrains.com/issue/KT-80646) Enable unsigned conversion functions when bootstrapped compiler is available
##### IR. Tree
- [`KT-82765`](https://youtrack.jetbrains.com/issue/KT-82765) Kotlin/Native: Internal compiler error when building DFG
- [`KT-82829`](https://youtrack.jetbrains.com/issue/KT-82829) IR deserializer: Don't deserialize any cinterop fake overrides from Klibs
- [`KT-83236`](https://youtrack.jetbrains.com/issue/KT-83236) PeopleInSpace\_mpp compilation error: The symbol table has been sealed
- [`KT-81154`](https://youtrack.jetbrains.com/issue/KT-81154) \[IrValidator] Fine-tune IrVisibilityChecker on 2nd stage
- [`KT-80243`](https://youtrack.jetbrains.com/issue/KT-80243) Support Name Based Destructuring in loop with withIndex()
- [`KT-79436`](https://youtrack.jetbrains.com/issue/KT-79436) KLIB stdlib symbols loading: Drop all functions from SymbolFinder except for loading the whole collection of (potentially unbound) symbols by name
- [`KT-79435`](https://youtrack.jetbrains.com/issue/KT-79435) KLIB stdlib symbols loading: Load symbols and and filter/map them lazily in BuiltinSymbolsBase hierarchy when accessed by IR
- [`KT-69082`](https://youtrack.jetbrains.com/issue/KT-69082) Migrate maps of IR elements to IR attributes
- [`KT-67457`](https://youtrack.jetbrains.com/issue/KT-67457) Introduce a way to simplify IR lowering phase creation
##### JVM. Reflection
##### New Features
- [`KT-22265`](https://youtrack.jetbrains.com/issue/KT-22265) Support for inherited annotations
##### Performance Improvements
- [`KT-84600`](https://youtrack.jetbrains.com/issue/KT-84600) Performance regression around Kotlin properties JVM reflection during instantiation
##### Fixes
- [`KT-83608`](https://youtrack.jetbrains.com/issue/KT-83608) Kotlin-reflect: "Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R"
- [`KT-57357`](https://youtrack.jetbrains.com/issue/KT-57357) Reflection: "KotlinReflectionInternalError" when using `callBy` on constructor that has inline class parameter with nullable value
- [`KT-83361`](https://youtrack.jetbrains.com/issue/KT-83361) "KotlinReflectionInternalError: Type parameter not found: 0" on super types with Kotlin 2.3.0
- [`KT-42199`](https://youtrack.jetbrains.com/issue/KT-42199) "KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke" on function reference to FunctionN.invoke
- [`KT-81024`](https://youtrack.jetbrains.com/issue/KT-81024) Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter
- [`KT-83067`](https://youtrack.jetbrains.com/issue/KT-83067) Reflection: IAE "argument type mismatch" on callBy with vararg of generic type parameter with primitive upper bound
- [`KT-82699`](https://youtrack.jetbrains.com/issue/KT-82699) Reflection: incorrect behavior of KFunction.isExternal for Java native methods
- [`KT-82350`](https://youtrack.jetbrains.com/issue/KT-82350) Reflection: incorrect behavior of KType.javaType on a type obtained from KType.withNullability
- [`KT-29203`](https://youtrack.jetbrains.com/issue/KT-29203) KType.javaType always returns void class for local delegated property
- [`KT-81899`](https://youtrack.jetbrains.com/issue/KT-81899) Reflection: incorrect javaType for local delegated property setter return type
- [`KT-82093`](https://youtrack.jetbrains.com/issue/KT-82093) Reflection: IAE from defaultType for inner class of generic class
- [`KT-77312`](https://youtrack.jetbrains.com/issue/KT-77312) KotlinReflectionInternalError: "Container of deserialized member is not resolved" on computing type parameter captured in a local delegated property
- [`KT-82316`](https://youtrack.jetbrains.com/issue/KT-82316) Reflection: type parameters of top-level declarations behave incorrectly
- [`KT-81987`](https://youtrack.jetbrains.com/issue/KT-81987) Reflection: error when calling function in inline class with inherited default value
- [`KT-81870`](https://youtrack.jetbrains.com/issue/KT-81870) Reflection: Error when calling function with default parameters and extension receiver
- [`KT-81880`](https://youtrack.jetbrains.com/issue/KT-81880) Reflection: Error when calling function with default & context parameters
- [`KT-81907`](https://youtrack.jetbrains.com/issue/KT-81907) Reflection: incorrect result when calling function with default values and context parameters
- [`KT-81859`](https://youtrack.jetbrains.com/issue/KT-81859) Reflection: do not use descriptors in ValueClassAwareCaller
- [`KT-81854`](https://youtrack.jetbrains.com/issue/KT-81854) Reflection: incorrect type for instance receiver of inner class constructor
- [`KT-81855`](https://youtrack.jetbrains.com/issue/KT-81855) Reflection: IAE "object is not an instance of declaring class" on function with context and extension receiver of inline class
- [`KT-81843`](https://youtrack.jetbrains.com/issue/KT-81843) Reflection: NPE on accessing property accessor returnType for Java field
- [`KT-81588`](https://youtrack.jetbrains.com/issue/KT-81588) Reflection: KotlinReflectionInternalError "Inconsistent number of parameters" on calling contextual declaration with value class type in the signature
- [`KT-81111`](https://youtrack.jetbrains.com/issue/KT-81111) Reflection: suspend function types are loaded incorrectly by the new implementation
- [`KT-81206`](https://youtrack.jetbrains.com/issue/KT-81206) Reflection: non-substituted Function type in suspend function supertypes
- [`KT-81804`](https://youtrack.jetbrains.com/issue/KT-81804) Reflection: remove support for multi-field value classes
- [`KT-81664`](https://youtrack.jetbrains.com/issue/KT-81664) Reflection: IAE "argument type mismatch" on calling member extension with value class in the signature
##### JavaScript
##### New Features
- [`KT-83454`](https://youtrack.jetbrains.com/issue/KT-83454) K/JS: Support ES6 classes in js() calls
- [`KT-83455`](https://youtrack.jetbrains.com/issue/KT-83455) K/JS: Support ES6 default function arguments in js() calls
- [`KT-83453`](https://youtrack.jetbrains.com/issue/KT-83453) K/JS: Support ES6 concise methods in js() calls
- [`KT-83457`](https://youtrack.jetbrains.com/issue/KT-83457) K/JS: Support ES6 spread operators in js() calls
- [`KT-83456`](https://youtrack.jetbrains.com/issue/KT-83456) K/JS: Support ES6 rest function parameters in js() calls
- [`KT-54504`](https://youtrack.jetbrains.com/issue/KT-54504) K/JS: Support ECMAScript tagged string templates
- [`KT-82327`](https://youtrack.jetbrains.com/issue/KT-82327) KJS: Export parameter names of function types if present in .d.ts files
- [`KT-82371`](https://youtrack.jetbrains.com/issue/KT-82371) KJS: Generate more concrete TypeScript for members of an uninhabited enum
##### Performance Improvements
- [`KT-16379`](https://youtrack.jetbrains.com/issue/KT-16379) KotlinJs - ArrayList get is now slow
##### Fixes
- [`KT-64951`](https://youtrack.jetbrains.com/issue/KT-64951) Kotlin-Multiplatform does not allow JSExport of expect
- [`KT-83528`](https://youtrack.jetbrains.com/issue/KT-83528) K/JS: Array holes in array literals are ignored in the new js() parser
- [`KT-84134`](https://youtrack.jetbrains.com/issue/KT-84134) KJS/CMP: "IrLinkageError: Function 'get' can not be called: No function found for symbol"
- [`KT-65802`](https://youtrack.jetbrains.com/issue/KT-65802) How to implement Interfaces in Javascript/Typescript?
- [`KT-83830`](https://youtrack.jetbrains.com/issue/KT-83830) Relocate org.antlr.v4 to an internal package
- [`KT-83572`](https://youtrack.jetbrains.com/issue/KT-83572) KJS/Wasm: Cannot access `@JsModule`-declared class from non-modular project
- [`KT-83930`](https://youtrack.jetbrains.com/issue/KT-83930) Kotlin/JS: JsStatic on property of interface companion generates incorrect d.ts
- [`KT-70986`](https://youtrack.jetbrains.com/issue/KT-70986) Add Swc into the compilation pipeline of Kotlin/JS
- [`KT-78742`](https://youtrack.jetbrains.com/issue/KT-78742) Investigate the usage of the ANTLR-generated parser for the `js` function
- [`KT-60554`](https://youtrack.jetbrains.com/issue/KT-60554) KJS: rethink JS\_\*\_NAME\_CLASH diagnostics
- [`KT-82552`](https://youtrack.jetbrains.com/issue/KT-82552) KJS: "Non-abstract class does not implement inherited abstract member from class" errors in generated .d.ts
- [`KT-82652`](https://youtrack.jetbrains.com/issue/KT-82652) KJS: Exported abstract inner classes can be constructed from TypeScript
- [`KT-82542`](https://youtrack.jetbrains.com/issue/KT-82542) KJS: Inner class can be constructed from TypeScript without passing an outer instance
- [`KT-82499`](https://youtrack.jetbrains.com/issue/KT-82499) KJS: Omit parameters in private constructors in .d.ts files
- [`KT-41082`](https://youtrack.jetbrains.com/issue/KT-41082) KJS: 'Reflection is not supported on JavaScript target, so you won't be able to read this annotation in runtime' warning is inconvenient and misleading
- [`KT-82279`](https://youtrack.jetbrains.com/issue/KT-82279) KJS: DCE removes external members overrides without reason
- [`KT-52800`](https://youtrack.jetbrains.com/issue/KT-52800) KJS / IR: sealed interface with nested data classes not accessible
- [`KT-67460`](https://youtrack.jetbrains.com/issue/KT-67460) Use new lowering phase creation API in JS backend
- [`KT-82667`](https://youtrack.jetbrains.com/issue/KT-82667) Kotlin/JS: ESM TypeScript definitions for exported nested Enums do not compile
- [`KT-82553`](https://youtrack.jetbrains.com/issue/KT-82553) KJS: Incorrect .d.ts generated for generic inner classes
- [`KT-82263`](https://youtrack.jetbrains.com/issue/KT-82263) Implement exporting top-level properties in Analysis API-based TypeScript Export
- [`KT-82362`](https://youtrack.jetbrains.com/issue/KT-82362) KJS: Incorrect types generated in .d.ts for JsName-annotated enum entry
- [`KT-82262`](https://youtrack.jetbrains.com/issue/KT-82262) Implement exporting top-level functions in Analysis API-based TypeScript Export
- [`KT-82144`](https://youtrack.jetbrains.com/issue/KT-82144) K/JS: 'meta' identifier usage in js() inline calls prevents expression from parsing
- [`KT-82149`](https://youtrack.jetbrains.com/issue/KT-82149) K/JS: `new` calls without arguments produce exceptions in js() inline calls
- [`KT-81730`](https://youtrack.jetbrains.com/issue/KT-81730) Optimize suspend functions compilations via JS generators
- [`KT-79243`](https://youtrack.jetbrains.com/issue/KT-79243) \[JS] Drop K1-specific tests, testrunners and test directives
##### Klibs
##### New Features
- [`KT-83101`](https://youtrack.jetbrains.com/issue/KT-83101) Implement experimental KLib ABI dump parser
##### Fixes
- [`KT-82586`](https://youtrack.jetbrains.com/issue/KT-82586) Export in previous version (JS, Wasm): adjust the checker for incompatible Kotlin stdlib/compiler pairs
- [`KT-84273`](https://youtrack.jetbrains.com/issue/KT-84273) \[Klib] Added IrOffsetsChecker broke backward klib compatibility
- [`KT-80910`](https://youtrack.jetbrains.com/issue/KT-80910) \[Klib] Ensure serialized source coordinates are correct
- [`KT-81955`](https://youtrack.jetbrains.com/issue/KT-81955) \[JS] Support testing of forward compatibility with export in previous version
- [`KT-81957`](https://youtrack.jetbrains.com/issue/KT-81957) \[JS] Create a common Gradle test task
- [`KT-82736`](https://youtrack.jetbrains.com/issue/KT-82736) False positive `IR_PRIVATE_CALLABLE_REFERENCED_BY_NON_PRIVATE_INLINE_FUNCTION_ERROR` on referenece to local declaration
- [`KT-82758`](https://youtrack.jetbrains.com/issue/KT-82758) \[PL] Change the behavior of getting name of removed property
- [`KT-81470`](https://youtrack.jetbrains.com/issue/KT-81470) Simplify inline function deserialization after the bootstrap update
- [`KT-81466`](https://youtrack.jetbrains.com/issue/KT-81466) Enable KlibAnnotationsInMetadata by default in LV 2.5
- [`KT-82208`](https://youtrack.jetbrains.com/issue/KT-82208) K/Wasm: allow using newer stdlib with older compiler
- [`KT-83328`](https://youtrack.jetbrains.com/issue/KT-83328) kotlin-wasm-benchmarks: Compilation errors due to missing KLIB dependencies
- [`KT-83071`](https://youtrack.jetbrains.com/issue/KT-83071) Failure on Native Nightly
- [`KT-78365`](https://youtrack.jetbrains.com/issue/KT-78365) \[PL] Change the behavior of getting name of removed function
- [`KT-81977`](https://youtrack.jetbrains.com/issue/KT-81977) Klib compatibility tests: Implement sanity checks
- [`KT-81410`](https://youtrack.jetbrains.com/issue/KT-81410) Klib metadata: migrate to using the common annotations instead of klib-specific extensions in kotlinx-metadata-klib
- [`KT-82577`](https://youtrack.jetbrains.com/issue/KT-82577) Don't use KLIB resolver in the KLIB tool
- [`KT-82213`](https://youtrack.jetbrains.com/issue/KT-82213) IR linker doesn't complain when a private value class constructor is used from another module
- [`KT-81003`](https://youtrack.jetbrains.com/issue/KT-81003) KLIBs: Eliminate excessive implicit casts in common prefix on the 1st stage
- [`KT-81670`](https://youtrack.jetbrains.com/issue/KT-81670) K/N: Many Section still use none cacheable zip when Xklib-zip-file-accessor-cache-limit flag set
- [`KT-81954`](https://youtrack.jetbrains.com/issue/KT-81954) \[JS] All forward compatibility tests fail
- [`KT-81709`](https://youtrack.jetbrains.com/issue/KT-81709) \[KLIB Reproducibility] KLIB zip file generation is non-deterministic due to unsorted file system traversal
- [`KT-81474`](https://youtrack.jetbrains.com/issue/KT-81474) \[Tests]\[Klibs] Migrate Klib evolution tests to PL tests engine
##### Language Design
- [`KT-83009`](https://youtrack.jetbrains.com/issue/KT-83009) Exposing of non-exportable API from interfaces
- [`KT-73502`](https://youtrack.jetbrains.com/issue/KT-73502) Context parameters: it is not possible to declare local function with a context
##### Libraries
##### New Features
- [`KT-81997`](https://youtrack.jetbrains.com/issue/KT-81997) Method to create a detached copy of a Map entry
- [`KT-79093`](https://youtrack.jetbrains.com/issue/KT-79093) Expose FirResolvedStatus.hasMustUseReturnValue in kotlin-metadata
##### Performance Improvements
- [`KT-75801`](https://youtrack.jetbrains.com/issue/KT-75801) Optimize Array to list conversion using array copy instead of a loop
- [`KT-82038`](https://youtrack.jetbrains.com/issue/KT-82038) K/N: iterating over Array.asList is slower compared to ArrayList
##### Fixes
- [`KT-78115`](https://youtrack.jetbrains.com/issue/KT-78115) Investigate the current situation with 22 `kotlin.context` standard library overloads
- [`KT-82363`](https://youtrack.jetbrains.com/issue/KT-82363) Add `assertIs` to the list of ignorable functions
- [`KT-80666`](https://youtrack.jetbrains.com/issue/KT-80666) K/N and K/Wasm: Regex: unassigned category is excluded from other chars
- [`KT-80665`](https://youtrack.jetbrains.com/issue/KT-80665) K/N and K/Wasm: Regex: unicode category Symbol matches some punctuation marks
- [`KT-78089`](https://youtrack.jetbrains.com/issue/KT-78089) K/N: Regex: Quantified groups matching is causing a stack overflow
- [`KT-82783`](https://youtrack.jetbrains.com/issue/KT-82783) HashMap (K/N, Wasm), MapBuilder (all targets) duplicate keys
- [`KT-52400`](https://youtrack.jetbrains.com/issue/KT-52400) Deprecate `@BuilderInference`
- [`KT-80786`](https://youtrack.jetbrains.com/issue/KT-80786) Annotate kotlin-stdlib-jdk7/8 with `@IgnorableReturnValue`
- [`KT-83181`](https://youtrack.jetbrains.com/issue/KT-83181) Remove `@IgnorableReturnValue` from contract DSL functions
- [`KT-82033`](https://youtrack.jetbrains.com/issue/KT-82033) Array\<Array<T>>.flatten fails with obscure error when total length exceeds List's size limit
- [`KT-83290`](https://youtrack.jetbrains.com/issue/KT-83290) Remove unnecessary ExperimentalTime annotation from Uuid functions
- [`KT-83026`](https://youtrack.jetbrains.com/issue/KT-83026) Specify compareTo behavior for Boolean
- [`KT-82868`](https://youtrack.jetbrains.com/issue/KT-82868) Restore accidentally deleted JS-specific note in ArrayList documentation
- [`KT-81563`](https://youtrack.jetbrains.com/issue/KT-81563) Document kotlin.collections.HashMap and HashSet
- [`KT-81562`](https://youtrack.jetbrains.com/issue/KT-81562) Document kotlin.collections.ArrayList
- [`KT-60535`](https://youtrack.jetbrains.com/issue/KT-60535) Mark SubclassOptInRequired and RequiresOptIn with MustBeDocumented
- [`KT-64649`](https://youtrack.jetbrains.com/issue/KT-64649) Add explanation to "A compileOnly dependency is used in the Kotlin/Native target" warning message
##### Native
- [`KT-83542`](https://youtrack.jetbrains.com/issue/KT-83542) Switch the default GC back to PMCS in 2.3.20-RC
- [`KT-82387`](https://youtrack.jetbrains.com/issue/KT-82387) Kotlin <-> Xcode compatibility issue
- [`KT-75806`](https://youtrack.jetbrains.com/issue/KT-75806) KN Compiler with debug build can not produce executable with debug info
- [`KT-81828`](https://youtrack.jetbrains.com/issue/KT-81828) Update exception messages regarding disabling native cache
- [`KT-81495`](https://youtrack.jetbrains.com/issue/KT-81495) Consider making Kotlin/Native distribution compiler cache reproducible
- [`KT-81501`](https://youtrack.jetbrains.com/issue/KT-81501) Make Kotlin/Native distribution runtime .bc and fingerprint reproducible
- [`KT-80790`](https://youtrack.jetbrains.com/issue/KT-80790) 'Argument list too long' error when using dynamic\_caches
- [`KT-48566`](https://youtrack.jetbrains.com/issue/KT-48566) ExceptionInInitializerError when configuring Gradle project with kotlin-multiplatform plugin on a host unsupported by Kotlin/Native
##### Native. Build Infrastructure
- [`KT-82886`](https://youtrack.jetbrains.com/issue/KT-82886) KonanTarget's clinit causes deadlock
- [`KT-81345`](https://youtrack.jetbrains.com/issue/KT-81345) Temporary turned off Swift Export execution tests
- [`KT-80869`](https://youtrack.jetbrains.com/issue/KT-80869) Extract per-module test generators for Native tests
- [`KT-82028`](https://youtrack.jetbrains.com/issue/KT-82028) Kotlin/Native: move runtime building flags to runtime building code
- [`KT-81500`](https://youtrack.jetbrains.com/issue/KT-81500) Make Kotlin/Native distribution shared libraries reproducible
- [`KT-72011`](https://youtrack.jetbrains.com/issue/KT-72011) Kotlin/Native: consider building platform libraries with bootstrap compiler
- [`KT-81666`](https://youtrack.jetbrains.com/issue/KT-81666) Kotlin/Native: build stdlib with the bootstrap compiler
##### Native. C and ObjC Import
- [`KT-79741`](https://youtrack.jetbrains.com/issue/KT-79741) Native: implement type checking against Objective-C protocols without `protocolGetter`
- [`KT-83039`](https://youtrack.jetbrains.com/issue/KT-83039) Native: mark header-defined functions and globals unavailable with `-Xccall-mode direct`
- [`KT-82200`](https://youtrack.jetbrains.com/issue/KT-82200) Native: implement type checking against Objective-C protocols with `objc_runtime_name` without `protocolGetter`
- [`KT-82669`](https://youtrack.jetbrains.com/issue/KT-82669) Kotlin/Native: cinterop tests failure with no class for metaclass
- [`KT-79742`](https://youtrack.jetbrains.com/issue/KT-79742) Native: import C global variables without C wrappers
- [`KT-81937`](https://youtrack.jetbrains.com/issue/KT-81937) Native: switch cinterop to `-Xccall-mode both` by default for custom cinterop klibs
- [`KT-81548`](https://youtrack.jetbrains.com/issue/KT-81548) Native: compiler doesn't sanitize CCall.Direct symbol names in C stubs
- [`KT-81538`](https://youtrack.jetbrains.com/issue/KT-81538) Native: InteropBridgesNameInventor doesn't handle legitimate '$' characters in function names
- [`KT-81017`](https://youtrack.jetbrains.com/issue/KT-81017) Native: compiler can't call CCall.Direct with '$' in the symbol name
##### Native. ObjC Export
- [`KT-82160`](https://youtrack.jetbrains.com/issue/KT-82160) K/N: bridge for fake override is not built but requested
- [`KT-83736`](https://youtrack.jetbrains.com/issue/KT-83736) Objective-C export with `objcExportBlockExplicitParameterNames` generates invalid block signature when lambda parameter is named `id`
- [`KT-83014`](https://youtrack.jetbrains.com/issue/KT-83014) Native: experimental support for generating an NS\_ENUM in addition to an Objective-C class for Kotlin classes
- [`KT-76637`](https://youtrack.jetbrains.com/issue/KT-76637) ObjCExport: K1 + K2 integration test
##### Native. Runtime
- [`KT-82077`](https://youtrack.jetbrains.com/issue/KT-82077) Kotlin/Native: in runtime make main module depend on mm module
##### Native. Runtime. Memory
- [`KT-82635`](https://youtrack.jetbrains.com/issue/KT-82635) Enable CMS GC by default in 2.3.20-Beta1
- [`KT-83470`](https://youtrack.jetbrains.com/issue/KT-83470) Potential race condition in TryRequestThreadsSuspension due to initialization order
- [`KT-83549`](https://youtrack.jetbrains.com/issue/KT-83549) Provide an experimental Platform property which returns information about object allocation mode
- [`KT-83535`](https://youtrack.jetbrains.com/issue/KT-83535) Typo in out-of-memory error message
- [`KT-81152`](https://youtrack.jetbrains.com/issue/KT-81152) Kotlin/Native: deprecate isMemoryLeakCheckerActive
- [`KT-81156`](https://youtrack.jetbrains.com/issue/KT-81156) Kotlin/Native: deprecate forceCheckedShutdown
##### Native. Swift Export
##### New Features
- [`KT-82908`](https://youtrack.jetbrains.com/issue/KT-82908) Swift Export: bridges for FT should be recursive
##### Fixes
- [`KT-82054`](https://youtrack.jetbrains.com/issue/KT-82054) Swift Export: `private set` is ignored by swift export
- [`KT-83499`](https://youtrack.jetbrains.com/issue/KT-83499) Swift Export: trampoulines w/ varargs results in a broken swift code
- [`KT-83655`](https://youtrack.jetbrains.com/issue/KT-83655) Typealias to a closure receiving a closure results in broken swift code
- [`KT-82053`](https://youtrack.jetbrains.com/issue/KT-82053) Swift Export: Returning generic on top level function produces uncompilable code
- [`KT-80971`](https://youtrack.jetbrains.com/issue/KT-80971) Swift Export: Support exception throwing
- [`KT-83141`](https://youtrack.jetbrains.com/issue/KT-83141) Swift Export: suspendable covariant functional type
- [`KT-82907`](https://youtrack.jetbrains.com/issue/KT-82907) Swift Export: attributes are not printed for parameters of closures
- [`KT-80970`](https://youtrack.jetbrains.com/issue/KT-80970) Swift Export: Support cancellation
- [`KT-82726`](https://youtrack.jetbrains.com/issue/KT-82726) Swift Export: filters out wrong module for coroutines
- [`KT-81591`](https://youtrack.jetbrains.com/issue/KT-81591) Custom type translation rules in Swift export
- [`KT-81270`](https://youtrack.jetbrains.com/issue/KT-81270) K/N - Build fails when exposing suspend functions
##### Tools. BCV
- [`KT-80938`](https://youtrack.jetbrains.com/issue/KT-80938) Binary compatibility validation: can't exclude container types of Repeatable annotations by `filters.excluded.byNames`
- [`KT-83484`](https://youtrack.jetbrains.com/issue/KT-83484) Create fat-jar artifact for abi-tools \[ABI Validation]
- [`KT-80747`](https://youtrack.jetbrains.com/issue/KT-80747) Refactor API of ABI tools \[ABI Tools]
##### Tools. Build Tools API
##### New Features
- [`KT-80681`](https://youtrack.jetbrains.com/issue/KT-80681) BTA: introduce a special argument for passing compiler plugins
- [`KT-80338`](https://youtrack.jetbrains.com/issue/KT-80338) Kotlin CRI generation
- [`KT-78198`](https://youtrack.jetbrains.com/issue/KT-78198) BTA: implement basic metrics collection
- [`KT-79975`](https://youtrack.jetbrains.com/issue/KT-79975) BTA: add ability to cancel build operations
- [`KT-81790`](https://youtrack.jetbrains.com/issue/KT-81790) \[BTA] Make build operations and configuration immutable after execute
- [`KT-82702`](https://youtrack.jetbrains.com/issue/KT-82702) BTA: Allow collecting compiler lookups in non-incremental mode
- [`KT-81847`](https://youtrack.jetbrains.com/issue/KT-81847) Add CRI <-> BTA integration
- [`KT-81845`](https://youtrack.jetbrains.com/issue/KT-81845) Add CRI <-> Maven integration
##### Fixes
- [`KT-84577`](https://youtrack.jetbrains.com/issue/KT-84577) BTA: API 2.3.20 incompatible with compiler 2.3.10
- [`KT-82682`](https://youtrack.jetbrains.com/issue/KT-82682) BTA: reading non-nullable arguments may return null or throw NPE
- [`KT-81729`](https://youtrack.jetbrains.com/issue/KT-81729) BTA: loading from a classloader without implementation fails with CNFE instead of error with explanation
- [`KT-83971`](https://youtrack.jetbrains.com/issue/KT-83971) BTA: OperationCancelledException cannot be thrown properly from isolated classloader
- [`KT-82167`](https://youtrack.jetbrains.com/issue/KT-82167) Add BuildTimeMetric for the CRI data generation
- [`KT-81846`](https://youtrack.jetbrains.com/issue/KT-81846) Add FUS for CRI usage in Gradle / Maven
- [`KT-82399`](https://youtrack.jetbrains.com/issue/KT-82399) \[BTA] JvmClasspathSnapshottingOperationImpl doesn't use Option defaults
- [`KT-82039`](https://youtrack.jetbrains.com/issue/KT-82039) BuildEvent compilation error missing with KGP 2.3.0-Beta1
- [`KT-81887`](https://youtrack.jetbrains.com/issue/KT-81887) Implement the CRI lookup data generation
- [`KT-81886`](https://youtrack.jetbrains.com/issue/KT-81886) Implement the CRI data serialization
- [`KT-81780`](https://youtrack.jetbrains.com/issue/KT-81780) Add Gradle <-> CRI integration tests
- [`KT-81645`](https://youtrack.jetbrains.com/issue/KT-81645) BTA prints unreadable version in "option available only since" error (shows KotlinReleaseVersion`@hash` instead of 2.x.y)
##### Tools. CLI
- [`KT-83044`](https://youtrack.jetbrains.com/issue/KT-83044) Report redundant CLI arguments when they have no effect
- [`KT-83202`](https://youtrack.jetbrains.com/issue/KT-83202) Report all errors during parsing CLI arguments instead of a single one
- [`KT-73320`](https://youtrack.jetbrains.com/issue/KT-73320) Migrate the main JS CLI pipeline to the phased structure
- [`KT-81898`](https://youtrack.jetbrains.com/issue/KT-81898) Introduce a CLI option to disable source file sorting
- [`KT-73606`](https://youtrack.jetbrains.com/issue/KT-73606) Provide a unified interface for managing the reporting of compiler warnings
- [`KT-48419`](https://youtrack.jetbrains.com/issue/KT-48419) Using a `@RequiresOptIn` API that does not exist should have an option to not output a warning
- [`KT-81861`](https://youtrack.jetbrains.com/issue/KT-81861) Introduce a mechanism that allows suppressing CLI diagnostics
- [`KT-82321`](https://youtrack.jetbrains.com/issue/KT-82321) KMP Separate Compilation: Common fragments are missing forward declaration symbol providers
- [`KT-81551`](https://youtrack.jetbrains.com/issue/KT-81551) Introduce an experimental CLI option for enabling local type aliases
- [`KT-74196`](https://youtrack.jetbrains.com/issue/KT-74196) Remove patched copy of com.intellij.util.lang.JavaVersion from the Kotlin repo
##### Tools. CLI. Native
- [`KT-64509`](https://youtrack.jetbrains.com/issue/KT-64509) Refactor Kotlin/Native compiler setup: run FE without KonanConfig
##### Tools. Compiler Plugin API
- [`KT-83823`](https://youtrack.jetbrains.com/issue/KT-83823) Deprecate `PreprocessedVirtualFileFactoryExtension`
- [`KT-82809`](https://youtrack.jetbrains.com/issue/KT-82809) \[FIR]\[IC] New containingFileName parameter API is not actually compatible with IC
- [`KT-46709`](https://youtrack.jetbrains.com/issue/KT-46709) IR plugin lookups don't work as expected for expect class with actual typealias
- [`KT-82518`](https://youtrack.jetbrains.com/issue/KT-82518) Disable automatic body generation of the plugin-generated callables
- [`KT-82159`](https://youtrack.jetbrains.com/issue/KT-82159) \[FIR] Automatically add expressions to properties or functions
- [`KT-58886`](https://youtrack.jetbrains.com/issue/KT-58886) K2: compiler plugin generated top level declarations cause AssertionError on K/JS and K/Native
##### Tools. Compiler Plugins
##### New Features
- [`KT-71893`](https://youtrack.jetbrains.com/issue/KT-71893) Support `@Builder` lombok annotation on methods
- [`KT-28594`](https://youtrack.jetbrains.com/issue/KT-28594) Add a 'jpa' pre-defined flavor to the allOpen compiler plugin.
- [`KT-81604`](https://youtrack.jetbrains.com/issue/KT-81604) Lombok Kotlin compiler plugin and -Werror: Unable to ignore warning for the plugin appliance
##### Fixes
- [`KT-83119`](https://youtrack.jetbrains.com/issue/KT-83119) Lombok. canEqual is not available from kotlin for a class with `@Data` annotation
- [`KT-83334`](https://youtrack.jetbrains.com/issue/KT-83334) Lombok. Builder function is unavailable for a generic class
- [`KT-83063`](https://youtrack.jetbrains.com/issue/KT-83063) Lombok: Setter/getter is not available with a protected access level
- [`KT-83217`](https://youtrack.jetbrains.com/issue/KT-83217) Lombok. With method is available for the static field
- [`KT-83120`](https://youtrack.jetbrains.com/issue/KT-83120) Lombok. A constructor is available for a class with an existing constructor and `@Data`/`@Value` annotation
- [`KT-83256`](https://youtrack.jetbrains.com/issue/KT-83256) Lombok. Setter is available for non-final fields if `@Value` and `@Data`/`@Setter` are used together
- [`KT-83251`](https://youtrack.jetbrains.com/issue/KT-83251) Lombok. Constructor from `@Value` includes fields that are initialized in declaration
- [`KT-83252`](https://youtrack.jetbrains.com/issue/KT-83252) Lombok. Class marked with `@Value` isn't final
- [`KT-83085`](https://youtrack.jetbrains.com/issue/KT-83085) Lombok: getter/setter is available for a static field if class is annotated
- [`KT-83078`](https://youtrack.jetbrains.com/issue/KT-83078) Lombok: getter and setter are not available for a static Java field
- [`KT-82341`](https://youtrack.jetbrains.com/issue/KT-82341) Migrate official compiler plugins to IC-safe reference... API
##### Tools. Compiler plugins. Compose
- [`KT-84218`](https://youtrack.jetbrains.com/issue/KT-84218) \[2.3.20-Beta1] "IllegalStateException: no implementation for FUN MISSING\_DECLARATION" during bitcode lowering
- [`KT-84055`](https://youtrack.jetbrains.com/issue/KT-84055) Reference to lambda in lambda in function 'TextField' can not be evaluated
##### Tools. Compiler plugins. Serialization
- [`KT-82351`](https://youtrack.jetbrains.com/issue/KT-82351) Migrate kotlinx.serialization to IC-safe reference... API
- [`KT-76949`](https://youtrack.jetbrains.com/issue/KT-76949) Serialization: "IllegalStateException: Serializer for element of type kotlin.Any has not been found" on custom serializer for `Map<String, Any?>`
- [`KT-73107`](https://youtrack.jetbrains.com/issue/KT-73107) Serialization: "IllegalStateException: Serializer for element of type kotlin.Any? has not been found" with star projection
##### Tools. Gradle
##### New Features
- [`KT-79389`](https://youtrack.jetbrains.com/issue/KT-79389) Add allopen plugin + JPA preset to kotlin.plugin.jpa
- [`KT-78200`](https://youtrack.jetbrains.com/issue/KT-78200) Gradle: enable JVM compilation through BTA by default
- [`KT-81844`](https://youtrack.jetbrains.com/issue/KT-81844) Add CRI <-> Gradle integration
##### Performance Improvements
- [`KT-84152`](https://youtrack.jetbrains.com/issue/KT-84152) Memory Leak and OOM Errors in Kotlin Gradle Plugin 2.3.20-Beta2 with `in-process` execution mode
##### Fixes
- [`KT-80186`](https://youtrack.jetbrains.com/issue/KT-80186) Remove usage of deprecated Gradle API Project.container(...)
- [`KT-78754`](https://youtrack.jetbrains.com/issue/KT-78754) KGP: Remove usages of isVisible/setVisible
- [`KT-80356`](https://youtrack.jetbrains.com/issue/KT-80356) Compatibility with Gradle 9.2.0 release
- [`KT-78763`](https://youtrack.jetbrains.com/issue/KT-78763) Compatibility with Gradle 9.1.0 release
- [`KT-83316`](https://youtrack.jetbrains.com/issue/KT-83316) \[BTA] Build Reports missing information when JVM compilation uses Build Tools API
- [`KT-82885`](https://youtrack.jetbrains.com/issue/KT-82885) Run tests against Gradle 9.3.0
- [`KT-83125`](https://youtrack.jetbrains.com/issue/KT-83125) Deprecate out-of-process compilation mode
- [`KT-82323`](https://youtrack.jetbrains.com/issue/KT-82323) Deprecate LanguageSettings.enableLanguageFeature DSL
- [`KT-83323`](https://youtrack.jetbrains.com/issue/KT-83323) Run integration tests against Gradle 9.2
- [`KT-82884`](https://youtrack.jetbrains.com/issue/KT-82884) Compile against Gradle API 9.3.0
- [`KT-78104`](https://youtrack.jetbrains.com/issue/KT-78104) Deprecate CleanableStore infrastructure
- [`KT-80096`](https://youtrack.jetbrains.com/issue/KT-80096) Strange "Inconsistent JVM Target Compatibility" warning
- [`KT-82715`](https://youtrack.jetbrains.com/issue/KT-82715) Declaring dependencies using multi-string notation has been deprecated
- [`KT-83161`](https://youtrack.jetbrains.com/issue/KT-83161) CRI: it is not clear that CRI generation requires BTA being enabled
- [`KT-82717`](https://youtrack.jetbrains.com/issue/KT-82717) Specifying 'org.gradle.java.installations.auto-detect' as a project property on the command line has been deprecated
- [`KT-81830`](https://youtrack.jetbrains.com/issue/KT-81830) Create autogenerated kotlin version constants to be used with disableNativeCache DSL
- [`KT-83322`](https://youtrack.jetbrains.com/issue/KT-83322) Compile against Gradle 9.2 API
- [`KT-81831`](https://youtrack.jetbrains.com/issue/KT-81831) Verify Problems API implementation with Gradle guidelines
- [`KT-80120`](https://youtrack.jetbrains.com/issue/KT-80120) Support colored value for --console command in Gradle 9.1
- [`KT-81400`](https://youtrack.jetbrains.com/issue/KT-81400) ToolingDiagnosticFactory: check if documentationLink set multiple times
- [`KT-83070`](https://youtrack.jetbrains.com/issue/KT-83070) The KGP api reference is missing a description
- [`KT-82459`](https://youtrack.jetbrains.com/issue/KT-82459) Improve iOS simulator boot implementation
- [`KT-80008`](https://youtrack.jetbrains.com/issue/KT-80008) Track cross compilation status from project dependencies
- [`KT-78764`](https://youtrack.jetbrains.com/issue/KT-78764) Compile against Gradle 9.1 API
##### Tools. Gradle. BCV
- [`KT-80674`](https://youtrack.jetbrains.com/issue/KT-80674) Rename tasks to avoid using `legacy` word \[ABI Validation]
- [`KT-80614`](https://youtrack.jetbrains.com/issue/KT-80614) Add dependency on abi check from gradle's check task \[ABI Validation]
- [`KT-80827`](https://youtrack.jetbrains.com/issue/KT-80827) Delete DSL for working with dump variants \[ABI Validation]
- [`KT-80823`](https://youtrack.jetbrains.com/issue/KT-80823) Stabilize DSL for filtering \[ABI Validation]
##### Tools. Gradle. Cocoapods
- [`KT-80641`](https://youtrack.jetbrains.com/issue/KT-80641) EXECUTABLE\_DEBUG\_DYLIB\_PATH problem
- [`KT-80644`](https://youtrack.jetbrains.com/issue/KT-80644) Cocoapod plugin builds a synthetic project for "generic/platform=iOS Simulator"
##### Tools. Gradle. JS
- [`KT-84772`](https://youtrack.jetbrains.com/issue/KT-84772) Bundled yarn.lock for kotlinWasmToolingSetup does not include `@swc`/helpers`@0`.5.17
- [`KT-82946`](https://youtrack.jetbrains.com/issue/KT-82946) Js, Wasm: Upgrade NPM dependencies
##### Tools. Gradle. Multiplatform
##### New Features
- [`KT-77258`](https://youtrack.jetbrains.com/issue/KT-77258) Query status of cross-compilation or compilation task
- [`KT-81849`](https://youtrack.jetbrains.com/issue/KT-81849) Replace kotlin-test-common and kotlin-test-annotations-common with just kotlin-test
##### Fixes
- [`KT-83917`](https://youtrack.jetbrains.com/issue/KT-83917) compileCommonMainKotlinMetadata fails in CMP core repository with Kotlin 2.3.20-Beta1
- [`KT-82090`](https://youtrack.jetbrains.com/issue/KT-82090) Kotlin JVM + Android Shared Source set fails Import with the Project Isolation enabled
- [`KT-81973`](https://youtrack.jetbrains.com/issue/KT-81973) NPE with Cannot invoke "java.util.List.get(int)" because "path" is null in KMP + Android project
- [`KT-79257`](https://youtrack.jetbrains.com/issue/KT-79257) Consider deprecating and removing kotlin.kmp.isolated-projects.support
- [`KT-81944`](https://youtrack.jetbrains.com/issue/KT-81944) Legacy KMP Android uses wrong configurations to infer common dependencies
- [`KT-83687`](https://youtrack.jetbrains.com/issue/KT-83687) Revert deprecation of 'androidTarget' for AGP lower than 9
- [`KT-81536`](https://youtrack.jetbrains.com/issue/KT-81536) "Couldn't resolve dependency in 'commonMain' for all target platforms" in 2.2.20-Beta2
- [`KT-81724`](https://youtrack.jetbrains.com/issue/KT-81724) IntelliJ successfully resolves imports that are not actually available in the given module
- [`KT-79073`](https://youtrack.jetbrains.com/issue/KT-79073) compileTest\* tasks pass separateCompilation parameters but don't behave accordingly
- [`KT-71130`](https://youtrack.jetbrains.com/issue/KT-71130) Enable Isolated Projects support by default for KMP
##### Tools. Gradle. Native
- [`KT-84759`](https://youtrack.jetbrains.com/issue/KT-84759) iosX64 should not be marked as deprecated in Kotlin Gradle DSL
- [`KT-83598`](https://youtrack.jetbrains.com/issue/KT-83598) KotlinNativeDownloadTask build caching is unsafe
- [`KT-80715`](https://youtrack.jetbrains.com/issue/KT-80715) Deprecate `kotlin.native.cacheKind` and introduce DSL instead
- [`KT-83353`](https://youtrack.jetbrains.com/issue/KT-83353) DisableNativeCache breaks up-to-date checks for non-cacheable K/N targets
- [`KT-81443`](https://youtrack.jetbrains.com/issue/KT-81443) `ConfigurationCacheError` on Linux arm64 due to disabled iOS targets
- [`KT-82970`](https://youtrack.jetbrains.com/issue/KT-82970) Warning about disabled K/N caches for non-cacheable targets is printed twice
- [`KT-82786`](https://youtrack.jetbrains.com/issue/KT-82786) Warning about disabled K/N caches is displayed twice
##### Tools. Gradle. Swift Export
- [`KT-82727`](https://youtrack.jetbrains.com/issue/KT-82727) Swift Export: generated kotlin bridges don't see neighboring modules
##### Tools. Gradle. Wasm
- [`KT-82525`](https://youtrack.jetbrains.com/issue/KT-82525) K/Wasm: kotlinToolingSetup does not depend on package manager installation
##### Tools. Incremental Compile
- [`KT-80483`](https://youtrack.jetbrains.com/issue/KT-80483) Incorporate IC lookups into `reference...` methods of `IrPluginContext`
##### Tools. JPS
- [`KT-76927`](https://youtrack.jetbrains.com/issue/KT-76927) Switching from VAL to VAR does not trigger recompilation of usage in Kotlin-uses-Kotlin
- [`KT-79362`](https://youtrack.jetbrains.com/issue/KT-79362) JPS/NoArg: Failed to build project with 'java.lang.NoClassDefFoundError: org/jetbrains/kotlin/com/intellij/psi/PsiElement'
##### Tools. Kapt
- [`KT-81691`](https://youtrack.jetbrains.com/issue/KT-81691) K2: KAPT: "ClassCastException: IrErrorTypeImpl cannot be cast to class IrSimpleType"
- [`KT-82338`](https://youtrack.jetbrains.com/issue/KT-82338) K2 KAPT: ISE "Cannot evaluate IR expression in annotation" on unresolved enum usage
##### Tools. Maven
- [`KT-83565`](https://youtrack.jetbrains.com/issue/KT-83565) Maven: auto‑detect src/main|test/kotlin
- [`KT-79304`](https://youtrack.jetbrains.com/issue/KT-79304) Maven: Automatically add kotlin-stdlib dependency
- [`KT-83111`](https://youtrack.jetbrains.com/issue/KT-83111) Add JavaVersion argument resolver for kotlin-maven-plugin-test
- [`KT-83112`](https://youtrack.jetbrains.com/issue/KT-83112) Add MavenVersion argument resolver for kotlin-maven-plugin-test
##### Tools. REPL
- [`KT-82575`](https://youtrack.jetbrains.com/issue/KT-82575) \[K2 REPL] Redesign frontend resolution for REPL snippets
- [`KT-82741`](https://youtrack.jetbrains.com/issue/KT-82741) \[K2 Repl] OOM in `FirJavaElementFinderKt.collectAllDependentSourceSessionsTo` when rerunning the same cell multiple times
##### Tools. Scripts
- [`KT-81679`](https://youtrack.jetbrains.com/issue/KT-81679) Script explain: while loop explanation may lead to the hanging code
- [`KT-81677`](https://youtrack.jetbrains.com/issue/KT-81677) Script explain: Contents of the if/when branches are not explained
- [`KT-67063`](https://youtrack.jetbrains.com/issue/KT-67063) LauncherReplTest flaky on Windows
##### Tools. Statistics (FUS)
- [`KT-82877`](https://youtrack.jetbrains.com/issue/KT-82877) Add performance measurement for KLIB size
- [`KT-79576`](https://youtrack.jetbrains.com/issue/KT-79576) Included build subprojects produce FUS files with unknown\_id when configuration cache is enabled
### [`v2.3.10`](https://github.com/JetBrains/kotlin/blob/HEAD/ChangeLog.md#2310)
##### Compiler
- [`KT-83984`](https://youtrack.jetbrains.com/issue/KT-83984) Data races around kotlinx.serialization plugin protobuf extensions registration
- [`KT-83317`](https://youtrack.jetbrains.com/issue/KT-83317) ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constant
- [`KT-83031`](https://youtrack.jetbrains.com/issue/KT-83031) K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused code
- [`KT-81700`](https://youtrack.jetbrains.com/issue/KT-81700) flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)
- [`KT-83983`](https://youtrack.jetbrains.com/issue/KT-83983) Revert of KT-83081
- [`KT-83314`](https://youtrack.jetbrains.com/issue/KT-83314) JSpecify `@NullMarked` changes Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3
- [`KT-82863`](https://youtrack.jetbrains.com/issue/KT-82863) `@NoInfer` regression since 2.2.20
- [`KT-82841`](https://youtrack.jetbrains.com/issue/KT-82841) "kotlin.NoWhenBranchMatchedException" in `when` with `!is` check & non-sealed class in the middle of hierarchy
##### JVM. Reflection
- [`KT-83608`](https://youtrack.jetbrains.com/issue/KT-83608) Kotlin-reflect: "Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R"
- [`KT-83361`](https://youtrack.jetbrains.com/issue/KT-83361) "KotlinReflectionInternalError: Type parameter not found: 0" on super types with Kotlin 2.3.0
- [`KT-42199`](https://youtrack.jetbrains.com/issue/KT-42199) "KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke" on function reference to FunctionN.invoke
- [`KT-81024`](https://youtrack.jetbrains.com/issue/KT-81024) Reflection: New KType implementation fails on arguments comparison for a Nothing type parameter
##### Tools. Compiler Plugins
- [`KT-83266`](https://youtrack.jetbrains.com/issue/KT-83266) "Unsupported class file major version 69" for "produceReleaseComposeMapping" task with Kotlin 2.3
- [`KT-83099`](https://youtrack.jetbrains.com/issue/KT-83099) Compose compiler does not generate stack trace mappings for project files
##### Tools. Gradle
- [`KT-83070`](https://youtrack.jetbrains.com/issue/KT-83070) The KGP api reference is missing a description
- [`KT-82459`](https://youtrack.jetbrains.com/issue/KT-82459) Improve iOS simulator boot implementation
##### Tools. Gradle. JS
- [`KT-82946`](https://youtrack.jetbrains.com/issue/KT-82946) Js, Wasm: Upgrade NPM dependencies
##### Tools. Gradle. Multiplatform
- [`KT-83687`](https://youtrack.jetbrains.com/issue/KT-83687) Revert deprecation of 'androidTarget' for AGP lower than 9
### [`v2.3.0`](https://github.com/JetBrains/kotlin/blob/HEAD/ChangeLog.md#230)
##### Analysis API
- [`KT-80082`](https://youtrack.jetbrains.com/issue/KT-80082) K2. False positive "Cannot resolve method" for self-bounded generic with wildcard return type in Java interop
- [`KT-80303`](https://youtrack.jetbrains.com/issue/KT-80303) Move `:native:analysis-api-klib-reader` to `:libraries:tools`
##### Analysis API. Code Compilation
- [`KT-70860`](https://youtrack.jetbrains.com/issue/KT-70860) K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var
- [`KT-78554`](https://youtrack.jetbrains.com/issue/KT-78554) K2 IDE / Kotlin Debugger: ISE “No override for FUN IR\_EXTERNAL\_DECLARATION\_STUB” on calling toString() for local class instance during evaluation
- [`KT-73201`](https://youtrack.jetbrains.com/issue/KT-73201) K2 IDE: Error while evaluating expressions with local classes
##### Analysis API. FIR
- [`KT-81378`](https://youtrack.jetbrains.com/issue/KT-81378) Expected expression 'FirFunctionCallImpl' to be resolved caused by `suspend {}`
- [`KT-80473`](https://youtrack.jetbrains.com/issue/KT-80473) Add events for tracking LL activities
- [`KT-46375`](https://youtrack.jetbrains.com/issue/KT-46375) Analysis API: Support cross-file class redeclaration checks using indices
- [`KT-80471`](https://youtrack.jetbrains.com/issue/KT-80471) Analysis API: Deduplicate equivalent call candidates in `resolveToCallCandidates`
- [`KT-79653`](https://youtrack.jetbrains.com/issue/KT-79653) \[Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries
- [`KT-75858`](https://youtrack.jetbrains.com/issue/KT-75858) K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter
- [`KT-80231`](https://youtrack.jetbrains.com/issue/KT-80231) AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases
- [`KT-80233`](https://youtrack.jetbrains.com/issue/KT-80233) Pull mutation out of AnnotationArgumentsStateKeepers
- [`KT-71466`](https://youtrack.jetbrains.com/issue/KT-71466) `LLFirBuiltinsSessionFactory` uses `createCompositeSymbolProvider`
- [`KT-76432`](https://youtrack.jetbrains.com/issue/KT-76432) JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
##### Analysis API. Infrastructure
- [`KT-80717`](https://youtrack.jetbrains.com/issue/KT-80717) Support IntelliJ Bazel build in the Kotlin Coop development mode
##### Analysis API. Light Classes
- [`KT-80656`](https://youtrack.jetbrains.com/issue/KT-80656) Duplicate no-args constructor in PSI
- [`KT-60490`](https://youtrack.jetbrains.com/issue/KT-60490) Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class
- [`KT-79689`](https://youtrack.jetbrains.com/issue/KT-79689) SymbolLightClassForClassLike.toString() causes PSI tree loading
- [`KT-80690`](https://youtrack.jetbrains.com/issue/KT-80690) Private interface functions are not present in light classes
- [`KT-80256`](https://youtrack.jetbrains.com/issue/KT-80256) K2: Certain actions in JPA code causes infinite PIEAE: "Element class CompositeElement of type REFERENCE\_EXPRESSION (class KtNameReferenceExpressionElementType)"
- [`KT-79012`](https://youtrack.jetbrains.com/issue/KT-79012) Add a high-level overview of light classes
##### Analysis API. Providers and Caches
##### Fixes
- [`KT-81476`](https://youtrack.jetbrains.com/issue/KT-81476) Analysis API: `AlreadyDisposedException` from low-memory cache cleanup
- [`KT-80911`](https://youtrack.jetbrains.com/issue/KT-80911) Analysis API: Execute session invalidation in a non-cancelable section
- [`KT-81242`](https://youtrack.jetbrains.com/issue/KT-81242) Analysis API: Add UUID/lifetime properties to LL FIR session structure logging
- [`KT-80622`](https://youtrack.jetbrains.com/issue/KT-80622) Analysis API: Visualise LL FIR session structure & weight
- [`KT-80904`](https://youtrack.jetbrains.com/issue/KT-80904) Analysis API: "Invalid dangling file module" exception during session invalidation
- [`KT-78882`](https://youtrack.jetbrains.com/issue/KT-78882) K2 AA: Calling containingSymbol on getProgressionLastElement causes exception
- [`KT-58325`](https://youtrack.jetbrains.com/issue/KT-58325) Analysis API: Combine `LLKotlinStubBasedLibrarySymbolProvider`s in session dependencies (optimization)
- [`KT-77825`](https://youtrack.jetbrains.com/issue/KT-77825) Analysis API: `CheckersComponent` consumes a lot of memory while being unused in LL FIR sessions
- [`KT-76526`](https://youtrack.jetbrains.com/issue/KT-76526) Incorrect built-in module is provided for non-JVM sources in Standalone
- [`KT-62549`](https://youtrack.jetbrains.com/issue/KT-62549) Analysis API: Cache callables in combined Kotlin symbol providers
- [`KT-70721`](https://youtrack.jetbrains.com/issue/KT-70721) LL FIR: investigate possibility of moving `LLFirFirClassByPsiClassProvider . getClassByPsiClass (PsiClass)` to symbol providers
- [`KT-72998`](https://youtrack.jetbrains.com/issue/KT-72998) Analysis API: Introduce `getClassLikeSymbolByPsi` to LL FIR symbol providers
##### Analysis API. Standalone
- [`KT-81108`](https://youtrack.jetbrains.com/issue/KT-81108) AA: java.lang.ClassCastException: class org.jetbrains.kotlin.fir.FirBinaryDependenciesModuleData cannot be cast to class org.jetbrains.kotlin.analysis.low\.level.api.fir.projectStructure.LLFirModuleData
- [`KT-80573`](https://youtrack.jetbrains.com/issue/KT-80573) Potential performance issue on class ID computation
- [`KT-80559`](https://youtrack.jetbrains.com/issue/KT-80559) Try to optimize KotlinStandaloneDeclarationProviderFactory startup for tests
- [`KT-71706`](https://youtrack.jetbrains.com/issue/KT-71706) Analysis API Standalone: `StandaloneProjectFactory.createSearchScopeByLibraryRoots` creates inefficient file-based search scopes
##### Analysis API. Stubs and Decompilation
##### Performance Improvements
- [`KT-77097`](https://youtrack.jetbrains.com/issue/KT-77097) Support `ReplaceWith` deprecation annotation argument via stubs
##### Fixes
- [`KT-80350`](https://youtrack.jetbrains.com/issue/KT-80350) Drop K1 decompiler
- [`KT-77082`](https://youtrack.jetbrains.com/issue/KT-77082) StackOverflowError in CreateFreshTypeVariableSubstitutorStage.shouldBeFlexible
- [`KT-80798`](https://youtrack.jetbrains.com/issue/KT-80798) Improve stubs tests coverage
- [`KT-75318`](https://youtrack.jetbrains.com/issue/KT-75318) Read context parameter fields from metadata in CallableClsStubBuilder
- [`KT-77874`](https://youtrack.jetbrains.com/issue/KT-77874) AA disagrees with the compiler on descriptions of context parameters from binaries in messages for context argument ambiguity errors
- [`KT-80276`](https://youtrack.jetbrains.com/issue/KT-80276) Implement native coping for stubs
- [`KT-79780`](https://youtrack.jetbrains.com/issue/KT-79780) Decompiled MultifileClass has Facade kind
- [`KT-79398`](https://youtrack.jetbrains.com/issue/KT-79398) isClsStubCompiledToJvmDefaultImplementation flag is inconsistent for compiled and decompiled stubs
- [`KT-79798`](https://youtrack.jetbrains.com/issue/KT-79798) Prettify stub usages in LL stub-based deserializer
- [`KT-78949`](https://youtrack.jetbrains.com/issue/KT-78949) AbstractLLStubBasedResolutionTest: tests against real stub-based files
- [`KT-80251`](https://youtrack.jetbrains.com/issue/KT-80251) Inconsistent decompiled and compiled stub for properties with an initializer and a delegate
- [`KT-74547`](https://youtrack.jetbrains.com/issue/KT-74547) Implement decompiler for K2
- [`KT-79555`](https://youtrack.jetbrains.com/issue/KT-79555) Move KotlinFileStubImpl serialization/deserialization to the Analysis API
- [`KT-79487`](https://youtrack.jetbrains.com/issue/KT-79487) "null DefinitelyNotNullType for 'T'" from decompiler
- [`KT-60764`](https://youtrack.jetbrains.com/issue/KT-60764) Stub Builder: fix differences between K1 and K2 stub building on decompiled files
- [`KT-79484`](https://youtrack.jetbrains.com/issue/KT-79484) An empty enum class with a member decompiles with a synthetic error
- [`KT-79730`](https://youtrack.jetbrains.com/issue/KT-79730) Decompiled files have an extra `Kt` suffix
- [`KT-79483`](https://youtrack.jetbrains.com/issue/KT-79483) data modifier is not present on object modifier
- [`KT-75398`](https://youtrack.jetbrains.com/issue/KT-75398) Local classes from scripts have ClassId in stubs
- [`KT-79412`](https://youtrack.jetbrains.com/issue/KT-79412) Context parameters with type annotations cause inconsistency errors while building stubs
##### Analysis API. Surface
##### New Features
- [`KT-80084`](https://youtrack.jetbrains.com/issue/KT-80084) Provide endpoints for Analysis API to understand when the context sensitive resolution is used
- [`KT-64340`](https://youtrack.jetbrains.com/issue/KT-64340) Analysis API: no way to get a type of vararg parameter
- [`KT-68387`](https://youtrack.jetbrains.com/issue/KT-68387) AA: provide context for type approximations
##### Performance Improvements
- [`KT-80713`](https://youtrack.jetbrains.com/issue/KT-80713) Optimize KaDeclarationSymbol#visibility for class-like symbols
- [`KT-79097`](https://youtrack.jetbrains.com/issue/KT-79097) KaFirNamedFunctionSymbol#isSuspend shouldn't trigger resolution
- [`KT-79095`](https://youtrack.jetbrains.com/issue/KT-79095) isOverride shouldn't trigger resolution if not compiler plugins present
##### Fixes
- [`KT-80234`](https://youtrack.jetbrains.com/issue/KT-80234) Incorrect value of `isActual` for the implicitly `actual` constructor of annotation class
- [`KT-81132`](https://youtrack.jetbrains.com/issue/KT-81132) Use KaSession instead of a particular KaSessionComponent for context parameter bridges
- [`KT-81129`](https://youtrack.jetbrains.com/issue/KT-81129) K2: KaSymbolInformationProvider#importableFqName: should return null for dynamic declarations
- [`KT-81128`](https://youtrack.jetbrains.com/issue/KT-81128) K2: KaSymbolInformationProvider#importableFqName: should return null for error destructuring declarations
- [`KT-81127`](https://youtrack.jetbrains.com/issue/KT-81127) K2: KaSymbolInformationProvider#importableFqName: should return null for anonymous functions
- [`KT-81126`](https://youtrack.jetbrains.com/issue/KT-81126) K2: KaSymbolInformationProvider#importableFqName: should return null for enum entry initializer constructors
- [`KT-81125`](https://youtrack.jetbrains.com/issue/KT-81125) K2: KaSymbolInformationProvider#importableFqName: should return null for property accessors
- [`KT-81124`](https://youtrack.jetbrains.com/issue/KT-81124) K2: KaSymbolInformationProvider#importableFqName: type alias constructor should have a reference to the type alias and not to the underlying class
- [`KT-70127`](https://youtrack.jetbrains.com/issue/KT-70127) Analysis API: 'KaFirReceiverParameterSymbol' does not implement 'KaFirSymbol'; leads to exception from `importableFqName`
- [`KT-81123`](https://youtrack.jetbrains.com/issue/KT-81123) Reimplement KaFirSymbolInformationProvider#importableFqName
- [`KT-81122`](https://youtrack.jetbrains.com/issue/KT-81122) Drop KaImportOptimizer
- [`KT-78093`](https://youtrack.jetbrains.com/issue/KT-78093) Add bridges for context parameters
- [`KT-79772`](https://youtrack.jetbrains.com/issue/KT-79772) Migrate from 'validityAsserted' to 'withValidityAssertion'
- [`KT-79328`](https://youtrack.jetbrains.com/issue/KT-79328) K2 AA, isUsedAsExpression: Unhandled Non-KtExpression parent of KtExpression: class org.jetbrains.kotlin.psi.KtImportDirective
- [`KT-80366`](https://youtrack.jetbrains.com/issue/KT-80366) IllegalStateException from KaFirStopWorldCacheCleaner
- [`KT-80274`](https://youtrack.jetbrains.com/issue/KT-80274) Merge AbstractMultiModuleSymbolByPsiTest to AbstractSymbolByPsiTest
- [`KT-80352`](https://youtrack.jetbrains.com/issue/KT-80352) KaBaseResolutionScope.contains(PsiElement) always returns false for Android light classes (e.g. synthetic R.java classes)
- [`KT-80178`](https://youtrack.jetbrains.com/issue/KT-80178) Incorrect modality for an abstract interface function with a redundant `open` modifier
- [`KT-79129`](https://youtrack.jetbrains.com/issue/KT-79129) \[Analysis API] `KaFe10TypeCreator.buildClassType` cannot build builtin types by class ids
- [`KT-79143`](https://youtrack.jetbrains.com/issue/KT-79143) AA: `argumentMapping` contains an expression that is not an argument
- [`KT-59857`](https://youtrack.jetbrains.com/issue/KT-59857) KaExpressionTypeProvider#returnType shouldn't throw an exception for class like declarations
- [`KT-79667`](https://youtrack.jetbrains.com/issue/KT-79667) Enable resolve on java record components in standalone mode
- [`KT-73050`](https://youtrack.jetbrains.com/issue/KT-73050) `KaFirSymbolRelationProvider#expectsForActual`: suspicius logic for KaReceiverParameterSymbol
- [`KT-78904`](https://youtrack.jetbrains.com/issue/KT-78904) KaBaseWriteActionStartedChecker throws when no additional WA was done
- [`KT-79281`](https://youtrack.jetbrains.com/issue/KT-79281) Add KDoc to `KaTypePointer#restore`
- [`KT-78597`](https://youtrack.jetbrains.com/issue/KT-78597) KaUseSiteVisibilityChecker returns false for internal functions exposed via implicit receiver
- [`KT-71705`](https://youtrack.jetbrains.com/issue/KT-71705) FIR api impl: Postfix increment expression's `expressionType` is Unit when incrementing array element
- [`KT-75057`](https://youtrack.jetbrains.com/issue/KT-75057) Analysis API: Reference to object through typealias in invoke operator call leads to original type
##### Backend. Native. Debug
- [`KT-79848`](https://youtrack.jetbrains.com/issue/KT-79848) Flaky debugger tests in opt.debug/cache.\*/GC.CMS/GC.sch.ad/alloc.custom configuration
##### Backend. Wasm
##### New Features
- [`KT-59032`](https://youtrack.jetbrains.com/issue/KT-59032) Support instantiation of annotation classes on WASM
##### Fixes
- [`KT-76204`](https://youtrack.jetbrains.com/issue/KT-76204) K/Wasm: support generating a wasm module per kotlin module/klib
- [`KT-79357`](https://youtrack.jetbrains.com/issue/KT-79357) K/Wasm: store data for string literals in utf8 for Latin1
- [`KT-82075`](https://youtrack.jetbrains.com/issue/KT-82075) K/Wasm: kotlin.wasm.internal.getSimpleName crashes on iOS Safari older than 26
- [`KT-79244`](https://youtrack.jetbrains.com/issue/KT-79244) \[Wasm] Drop K1-specific tests, testrunners and test directives
- [`KT-69621`](https://youtrack.jetbrains.com/issue/KT-69621) K/Wasm: Consider enabling support for KClass.qualifiedName by default
- [`KT-80397`](https://youtrack.jetbrains.com/issue/KT-80397) K/Wasm: turn on by default using a new version of the exception handling proposal for wasm-wasi target
- [`KT-81372`](https://youtrack.jetbrains.com/issue/KT-81372) K/Wasm: JsException: Exception was thrown while running JavaScript code on Safari 18.2/18.3
- [`KT-80018`](https://youtrack.jetbrains.com/issue/KT-80018) K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit)
- [`KT-66072`](https://youtrack.jetbrains.com/issue/KT-66072) K/Wasm: improve how exceptions work in JS interop
- [`KT-80106`](https://youtrack.jetbrains.com/issue/KT-80106) devServer in Kotlin/Wasm overwrites defaults, causing missing static paths
- [`KT-80210`](https://youtrack.jetbrains.com/issue/KT-80210) Wasm: "Unexpected non-external class: kotlin.Nothing" caused by JsExport with JsPromise
- [`KT-80555`](https://youtrack.jetbrains.com/issue/KT-80555) WASM IC: Can't link symbol on kotlinx.coroutines on fresh master
- [`KT-80415`](https://youtrack.jetbrains.com/issue/KT-80415) WasmJs Number Elvis Operator Crash
- [`KT-76509`](https://youtrack.jetbrains.com/issue/KT-76509) WasmJS: ReferenceError: Temporal is not defined caused by "Redundant reference to unused external results"
- [`KT-79317`](https://youtrack.jetbrains.com/issue/KT-79317) \[Wasm] Do not throw CCE for ExcludedFromCodegen declarations
- [`KT-78036`](https://youtrack.jetbrains.com/issue/KT-78036) K/Wasm: generate a message with "expected" and "actual" types in case of CCE
##### Compiler
##### New Features
- [`KT-80461`](https://youtrack.jetbrains.com/issue/KT-80461) K2: false positive NO\_ELSE\_IN\_WHEN for complex sealed hierarchy
- [`KT-77676`](https://youtrack.jetbrains.com/issue/KT-77676) K/N: enable typechecks and the casts optimization pass in debug mode by default
- [`KT-79185`](https://youtrack.jetbrains.com/issue/KT-79185) Support local type aliases
- [`KT-80837`](https://youtrack.jetbrains.com/issue/KT-80837) Warn about extension function with a context shadowed by member
- [`KT-80768`](https://youtrack.jetbrains.com/issue/KT-80768) Warning on overloading by a superset of context parameters in class context
- [`KT-80031`](https://youtrack.jetbrains.com/issue/KT-80031) Check spotbugs's `@CheckReturnValue` in Kotlin's unused return value checker
- [`KT-79380`](https://youtrack.jetbrains.com/issue/KT-79380) Native: add performance measurement for the rest of backend phases
- [`KT-79381`](https://youtrack.jetbrains.com/issue/KT-79381) Native: add performance measurement of LLVM phases
- [`KT-80222`](https://youtrack.jetbrains.com/issue/KT-80222) Implement the prohibition of always-false `is` checks for definitely incompatible types
- [`KT-79295`](https://youtrack.jetbrains.com/issue/KT-79295) Parse and build raw FIR from new short and full forms of positional destructuring with square brackets
- [`KT-74810`](https://youtrack.jetbrains.com/issue/KT-74810) Support typealiased/mapped Java types in unused return value checker
- [`KT-71244`](https://youtrack.jetbrains.com/issue/KT-71244) Incorporate existing `@CheckReturnValue` annotation(s) into Kotlin's unused return value checker
- [`KT-79922`](https://youtrack.jetbrains.com/issue/KT-79922) Record 'MustUse/ExplicitlyIgnorable' state for overrides even in disabled RVC mode
- [`KT-79920`](https://youtrack.jetbrains.com/issue/KT-79920) Store 'Explicitly ignorable' state of function/property in the metadata
- [`KT-79690`](https://youtrack.jetbrains.com/issue/KT-79690) Implement a USELESS\_ELVIS\_LEFT\_IS\_NULL with elvis expression
- [`KT-79296`](https://youtrack.jetbrains.com/issue/KT-79296) Implement/adapt diagnostics for new destructuring
- [`KT-79298`](https://youtrack.jetbrains.com/issue/KT-79298) Report errors on new destructuring syntax in K1
##### Performance Improvements
- [`KT-81617`](https://youtrack.jetbrains.com/issue/KT-81617) Native: casts optimizations pass explodes on deep nested loops
- [`KT-80554`](https://youtrack.jetbrains.com/issue/KT-80554) Kotlin/Native: investigate performance hit from always-on llvm pass profiling
- [`KT-81340`](https://youtrack.jetbrains.com/issue/KT-81340) K/N: severe compilation time degradation after turning on casts optimization pass
- [`KT-80370`](https://youtrack.jetbrains.com/issue/KT-80370) Add NO\_INLINE attribute to some of runtime functions
- [`KT-80167`](https://youtrack.jetbrains.com/issue/KT-80167) K/N: condense the nodes and edges in DevirtualizationAnalysis constraint graph
- [`KT-79535`](https://youtrack.jetbrains.com/issue/KT-79535) Revert incorrect SAM conversion enhancements brought to K2
##### Fixes
- [`KT-79979`](https://youtrack.jetbrains.com/issue/KT-79979) K2: ClassCastException when overriding extension property with delegation
- [`KT-82590`](https://youtrack.jetbrains.com/issue/KT-82590) ClassCastException when instantiating class with generics implemented by fun interface and lambda
- [`KT-78881`](https://youtrack.jetbrains.com/issue/KT-78881) K2: False positive "Assigned value is never read" in composable function
- [`KT-79276`](https://youtrack.jetbrains.com/issue/KT-79276) Dexing fails with "Cannot read field X because <local0> is null" with 2.2.0
- [`KT-79547`](https://youtrack.jetbrains.com/issue/KT-79547) "UnsupportedOperationException: Not supported" with inlining and value classes
- [`KT-79442`](https://youtrack.jetbrains.com/issue/KT-79442) "Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces
- [`KT-80744`](https://youtrack.jetbrains.com/issue/KT-80744) Kotlin failure on lambda with type parameter
- [`KT-81618`](https://youtrack.jetbrains.com/issue/KT-81618) "Number of arguments should not be less than number of parameters" on JVM on Kotlin 2.3.0-Beta1
- [`KT-82869`](https://youtrack.jetbrains.com/issue/KT-82869) Green-to-Red change in 2.3 after prioritizing non-suspend-function-type overloads
- [`KT-79611`](https://youtrack.jetbrains.com/issue/KT-79611) "IllegalStateException: couldn't find inline method": Exception during incremental compilation
- [`KT-78895`](https://youtrack.jetbrains.com/issue/KT-78895) Consider dropping isLocalInFunction and FirClassLikeDeclaration.isLocal
- [`KT-82040`](https://youtrack.jetbrains.com/issue/KT-82040) Native: ClassCastException: PointerInputChange
- [`KT-81924`](https://youtrack.jetbrains.com/issue/KT-81924) K2: "Cannot infer type for this parameter", "Overload resolution ambiguity between candidates"
- [`KT-80864`](https://youtrack.jetbrains.com/issue/KT-80864) K2: Missing `Val cannot be reassigned` diagnostic for Java final fields (crashes in runtime with `IllegalAccessError`)
- [`KT-71420`](https://youtrack.jetbrains.com/issue/KT-71420) Report error when reified type parameter is inferred to intersection type
- [`KT-79451`](https://youtrack.jetbrains.com/issue/KT-79451) Rework approach to recursive types approximation
- [`KT-78413`](https://youtrack.jetbrains.com/issue/KT-78413) Kotlin Debugger: value classes as context parameters have incorrect names in Variables View during debugging
- [`KT-82138`](https://youtrack.jetbrains.com/issue/KT-82138) Debugger: Cannot evaluate JvmInline value class parameter
- [`KT-82381`](https://youtrack.jetbrains.com/issue/KT-82381) ArrayIndexOutOfBoundsException while FirDiagnosticsCompilerResultsReporter tries to print code as part of a warning log
- [`KT-81068`](https://youtrack.jetbrains.com/issue/KT-81068) Corrupted Unicode paths passed or used in the compiler
- [`KT-79783`](https://youtrack.jetbrains.com/issue/KT-79783) KDoc parser: Links aren't rendered if the line has an indent of 4 or more
- [`KT-80549`](https://youtrack.jetbrains.com/issue/KT-80549) Call of Java method with type parameter bounds: Expected FirResolvedTypeRef with ConeKotlinType but was FirJavaTypeRef
- [`KT-82132`](https://youtrack.jetbrains.com/issue/KT-82132) False-positive type mismatch with -language-version 2.2
- [`KT-81988`](https://youtrack.jetbrains.com/issue/KT-81988) K2: Any?.toString() causes NPE inside lambda with Java
- [`KT-81652`](https://youtrack.jetbrains.com/issue/KT-81652) Native: ClassCastException: ApplicationForegroundStateListener.Companion
- [`KT-76479`](https://youtrack.jetbrains.com/issue/KT-76479) Backend. JVM: Report errors on exposure of types in inline functions
- [`KT-82022`](https://youtrack.jetbrains.com/issue/KT-82022) K/N: Unexpected "Annotation `@JvmInline` is missing on actual declaration" warning with value classes
- [`KT-80250`](https://youtrack.jetbrains.com/issue/KT-80250) ISE: flow for PostponedLambdaExitNode not initialized - traversing nodes in wrong order?
- [`KT-76344`](https://youtrack.jetbrains.com/issue/KT-76344) Drop language version 1.9 for non-JVM platforms
- [`KT-76343`](https://youtrack.jetbrains.com/issue/KT-76343) Drop language version 1.8
- [`KT-80330`](https://youtrack.jetbrains.com/issue/KT-80330) K2: NPE at org.jetbrains.kotlin.fir.resolve.calls.FirCallResolver.createResolvedNamedReference
- [`KT-80400`](https://youtrack.jetbrains.com/issue/KT-80400) K2: AbstractMethodError on fun interface implementation inheriting from an interface compiled with -jvm-default=disable
- [`KT-9111`](https://youtrack.jetbrains.com/issue/KT-9111) Improve diagnostic for call with access to outer class from nested class
- [`KT-78280`](https://youtrack.jetbrains.com/issue/KT-78280) Implement the sourceless `KtDiagnostic`s
- [`KT-74999`](https://youtrack.jetbrains.com/issue/KT-74999) K2: KotlinNothingValueException within Extension Function
- [`KT-81254`](https://youtrack.jetbrains.com/issue/KT-81254) "AssertionError: There should be at least one non-stub type to compute common supertype": Parser issue during generic type inference
- [`KT-53237`](https://youtrack.jetbrains.com/issue/KT-53237) NI: Frontend ignores generic bound when inferring types
- [`KT-81186`](https://youtrack.jetbrains.com/issue/KT-81186) Only allow local type aliases in REPL/scripts until full stabilization
- [`KT-80929`](https://youtrack.jetbrains.com/issue/KT-80929) IC Native: Undefined symbols on ktor
- [`KT-81657`](https://youtrack.jetbrains.com/issue/KT-81657) K2: put warning about "exposing package-private in internal" under experimental language feature
- [`KT-81241`](https://youtrack.jetbrains.com/issue/KT-81241) Konanc exit while lowering org.jetbrains.kotlin.ir.util.IrUtilsKt.remapTypeParameters
- [`KT-74819`](https://youtrack.jetbrains.com/issue/KT-74819) K2: False-positive overload resolution ambiguity for flatMap inside PCLA
- [`KT-81547`](https://youtrack.jetbrains.com/issue/KT-81547) Stabilize DFA-based exhaustiveness
- [`KT-79274`](https://youtrack.jetbrains.com/issue/KT-79274) Frontend implementation of name-based destructuring
- [`KT-79506`](https://youtrack.jetbrains.com/issue/KT-79506) Contract for getter and setter doesn't work if a property is called from another module
- [`KT-58988`](https://youtrack.jetbrains.com/issue/KT-58988) K2: Deprecate exposing package-private parameter of internal method
- [`KT-80711`](https://youtrack.jetbrains.com/issue/KT-80711) IC Native: NPE during link on ktor
- [`KT-77727`](https://youtrack.jetbrains.com/issue/KT-77727) Move some of the extra checkers to the default list
- [`KT-76136`](https://youtrack.jetbrains.com/issue/KT-76136) Switch latest stable version in Kotlin project to 2.3
- [`KT-81257`](https://youtrack.jetbrains.com/issue/KT-81257) Native: "Unexpected boolean predicate" when generating 'static\_cache'
- [`KT-81525`](https://youtrack.jetbrains.com/issue/KT-81525) Report REDUNDANT\_SPREAD\_OPERATOR on (\*) instead of argument expression
- [`KT-81522`](https://youtrack.jetbrains.com/issue/KT-81522) Fix Light Tree `SPREAD_OPERATOR` diagnostic positioning
- [`KT-77008`](https://youtrack.jetbrains.com/issue/KT-77008) K2: Incorrectly force casting to a wrong type
- [`KT-78127`](https://youtrack.jetbrains.com/issue/KT-78127) K2: Too precise inference for if/when with expected type in assignment
- [`KT-80208`](https://youtrack.jetbrains.com/issue/KT-80208) K2: ClassCastException: "class java.util.ArrayList cannot be cast to class java.lang.Void" type inference picks Void for generic function
- [`KT-75797`](https://youtrack.jetbrains.com/issue/KT-75797) Native: find a way to handle generates C bridges in inline functions
- [`KT-78819`](https://youtrack.jetbrains.com/issue/KT-78819) K2: False positive ABSTRACT\_MEMBER\_NOT\_IMPLEMENTED in KJK hierarchy
- [`KT-80003`](https://youtrack.jetbrains.com/issue/KT-80003) Kotlin/Native: deprecate eager GlobalData initialization
- [`KT-79231`](https://youtrack.jetbrains.com/issue/KT-79231) Inconsistent InnerClass entry flags for abstract inner enum
- [`KT-20677`](https://youtrack.jetbrains.com/issue/KT-20677) Improve diagnostic about implicit default constructor absence for expected annotation class
- [`KT-81385`](https://youtrack.jetbrains.com/issue/KT-81385) Missing error of nullable expression in class literal in case of reified type parameter
- [`KT-81251`](https://youtrack.jetbrains.com/issue/KT-81251) Smartcast doesn't work for an effectively private inline function
- [`KT-81245`](https://youtrack.jetbrains.com/issue/KT-81245) Automatic smart cast on properties with EBF is allowed on inlined property accessors
- [`KT-81222`](https://youtrack.jetbrains.com/issue/KT-81222) Custom getter is allowed on a property with redundant EBF
- [`KT-80795`](https://youtrack.jetbrains.com/issue/KT-80795) Wrong type cast is added for IMPLICIT\_COERCION\_TO\_UNIT
- [`KT-81141`](https://youtrack.jetbrains.com/issue/KT-81141) Fix FirUnsupportedArrayLiteralChecker to forbid array literals inside non-annotation contexts
- [`KT-81383`](https://youtrack.jetbrains.com/issue/KT-81383) Return type of anonymous function used as `run` argument is incorrectly inferred to `Nothing`
- [`KT-80577`](https://youtrack.jetbrains.com/issue/KT-80577) "Return type mismatch" for self-referential types used as generic parameters
- [`KT-75215`](https://youtrack.jetbrains.com/issue/KT-75215) KDoc: references from `@param` tag are rendered as plain text
- [`KT-79887`](https://youtrack.jetbrains.com/issue/KT-79887) K2 Compiler Internal Error in 'FirFakeOverrideGenerator.checkStatusIsResolved' Method
- [`KT-78125`](https://youtrack.jetbrains.com/issue/KT-78125) false-negative shadowed contextual overload warning on local declarations
- [`KT-81198`](https://youtrack.jetbrains.com/issue/KT-81198) Move type and type parameter annotations from jvm\_metadata.proto to metadata.proto
- [`KT-81057`](https://youtrack.jetbrains.com/issue/KT-81057) Wrong handling of boxing during redundant casts optimization
- [`KT-81191`](https://youtrack.jetbrains.com/issue/KT-81191) K2: "null cannot be cast to non-null type ConeTypeParameterLookupTag" with invalid code
- [`KT-80285`](https://youtrack.jetbrains.com/issue/KT-80285) IJ monorepo: broken compilation after 2.2.20-RC update
- [`KT-81115`](https://youtrack.jetbrains.com/issue/KT-81115) Allow converting lambda with explicit parameter when assigning to variable of an extension function type
- [`KT-74588`](https://youtrack.jetbrains.com/issue/KT-74588) Redundant checkNotNull intrinsics instructions for Java generic methods
- [`KT-78390`](https://youtrack.jetbrains.com/issue/KT-78390) Unmute `FusStatisticsIT.testKotlinxPlugins()` after AtomicFU updates `kotlin-metadata-jvm`
- [`KT-79369`](https://youtrack.jetbrains.com/issue/KT-79369) Forbid typealiasing for all compiler-required annotations
- [`KT-69294`](https://youtrack.jetbrains.com/issue/KT-69294) K2: Report `CONSTRUCTOR_OR_SUPERTYPE_ON_TYPEALIAS_WITH_TYPE_PROJECTION_ERROR` instead of `EXPANDED_TYPE_CANNOT_BE_INHERITED` after switching to LV 2.2
- [`KT-81064`](https://youtrack.jetbrains.com/issue/KT-81064) Wrong safe call null check handling during redundant casts optimization
- [`KT-80871`](https://youtrack.jetbrains.com/issue/KT-80871) StackOverflowError on AnnotationTarget.TYPE
- [`KT-80908`](https://youtrack.jetbrains.com/issue/KT-80908) K2: Compiling type annotation with self-annotated vararg fail with exception
- [`KT-81018`](https://youtrack.jetbrains.com/issue/KT-81018) ISE "IR class for Foo not found" on missing dependency when lowering SAM constructor
- [`KT-80936`](https://youtrack.jetbrains.com/issue/KT-80936) NON\_PUBLIC\_CALL\_FROM\_PUBLIC\_INLINE : `@PublishedApi` doesn't work for fun interfaces
- [`KT-75748`](https://youtrack.jetbrains.com/issue/KT-75748) StackOverflowError when reading array from metadata annotations
- [`KT-80606`](https://youtrack.jetbrains.com/issue/KT-80606) KotlinIllegalArgumentExceptionWithAttachments when using property itself in explicit backing field initialization
- [`KT-80940`](https://youtrack.jetbrains.com/issue/KT-80940) K2: Exception in FIR2IR with AnnotationTarget.TYPE with self-annotated non-vararg default argument and usage in child module
- [`KT-80538`](https://youtrack.jetbrains.com/issue/KT-80538) KaFirDiagnostic.EmptyRange doesn't work in most of the cases
- [`KT-80524`](https://youtrack.jetbrains.com/issue/KT-80524) Class is not abstract and does not implement abstract member when compiling with kotlinc-jklib
- [`KT-80597`](https://youtrack.jetbrains.com/issue/KT-80597) Apply fix for CVE-2024-7254 to our fork of protobuf 2.6.1
- [`KT-80849`](https://youtrack.jetbrains.com/issue/KT-80849) K2: `ConstValueProviderImpl` doesn't distinguish files with same name and package
- [`KT-80602`](https://youtrack.jetbrains.com/issue/KT-80602) Exhaustiveness checker improvements for 2.3
- [`KT-80735`](https://youtrack.jetbrains.com/issue/KT-80735) Support || return/throw shortcut in unsed return value checker
- [`KT-79651`](https://youtrack.jetbrains.com/issue/KT-79651) Report a warning about an unused return value only on the function name
- [`KT-80719`](https://youtrack.jetbrains.com/issue/KT-80719) False positive: "Redundant visibility modifier": when overriding protected methods as "public"
- [`KT-80434`](https://youtrack.jetbrains.com/issue/KT-80434) K2: DSL marker doesn't work with lambda fields
- [`KT-80383`](https://youtrack.jetbrains.com/issue/KT-80383) Getter without a body is allowed on a property with an explicit backing field
- [`KT-80446`](https://youtrack.jetbrains.com/issue/KT-80446) Explicit visibility modifiers are allowed on EBF
- [`KT-80378`](https://youtrack.jetbrains.com/issue/KT-80378) ClassCastException on callable reference to a property with EBF
- [`KT-80377`](https://youtrack.jetbrains.com/issue/KT-80377) Fir2Ir: "Cannot determine expected receiver type" for callable reference to a property with EBF outside of class
- [`KT-80455`](https://youtrack.jetbrains.com/issue/KT-80455) K2: StackOverflowError in when exhaustiveness checker on red code
- [`KT-72862`](https://youtrack.jetbrains.com/issue/KT-72862) \[Native caches] Umbrella for failing codegen/box tests for corner cases in synthetic accessors
- [`KT-20278`](https://youtrack.jetbrains.com/issue/KT-20278) NO\_TYPE\_ARGUMENTS\_ON\_RHS: Confusing diagnostic for inner class of generic outer class
- [`KT-80418`](https://youtrack.jetbrains.com/issue/KT-80418) Property with EBF with functional type isn't resolved if its type is Any
- [`KT-80469`](https://youtrack.jetbrains.com/issue/KT-80469) Functional type from property is always used for explicit backing field
- [`KT-80535`](https://youtrack.jetbrains.com/issue/KT-80535) Missing INITIALIZER\_TYPE\_MISMATCH for EBF
- [`KT-80445`](https://youtrack.jetbrains.com/issue/KT-80445) Private visibility is possible for a property with EBF
- [`KT-80164`](https://youtrack.jetbrains.com/issue/KT-80164) Move name generation for unnamed context parameters to frontend
- [`KT-80684`](https://youtrack.jetbrains.com/issue/KT-80684) Line breaks are lost in multi-line diagnostic messages since 2.3.0
- [`KT-78112`](https://youtrack.jetbrains.com/issue/KT-78112) RETURN\_VALUE\_NOT\_USED is reported for local function even if it isn't marked with annotation in CHECKER mode
- [`KT-48311`](https://youtrack.jetbrains.com/issue/KT-48311) Incorrect LINENUMBER after if with a suspend call
- [`KT-80688`](https://youtrack.jetbrains.com/issue/KT-80688) Bad SourceDebugExtension caused by enhanced coroutines debugging
- [`KT-73851`](https://youtrack.jetbrains.com/issue/KT-73851) Native: compilation fails with ClassCastException with genericSafeCasts=true
- [`KT-77593`](https://youtrack.jetbrains.com/issue/KT-77593) Add a warning when `@IgnorableReturnValue` is inconsistent between expect/actual functions
- [`KT-79386`](https://youtrack.jetbrains.com/issue/KT-79386) Confusing error message when named parameters are used for java method calls
- [`KT-80600`](https://youtrack.jetbrains.com/issue/KT-80600) K2: Private and final modifiers are allowed on setter of open delegated property
- [`KT-77101`](https://youtrack.jetbrains.com/issue/KT-77101) Invoke on callable reference is considered ignorable
- [`KT-79923`](https://youtrack.jetbrains.com/issue/KT-79923) Remove lookup of `@IgnorableReturnValue` annotation from FirReturnValueOverrideChecker
- [`KT-80517`](https://youtrack.jetbrains.com/issue/KT-80517) Synthetic kotlin.Any members in data classes are missing `@MustUseReturnValue`
- [`KT-80194`](https://youtrack.jetbrains.com/issue/KT-80194) VAR\_TYPE\_MISMATCH\_ON\_OVERRIDE: doesn't mention the inferred type
- [`KT-80484`](https://youtrack.jetbrains.com/issue/KT-80484) K2: ClassCastException due to fake source for implicit lambda parameter (RedundantNullableChecker)
- [`KT-80592`](https://youtrack.jetbrains.com/issue/KT-80592) `UninitializedPropertyAccessException` when anayzing annotations on members of anonymous classes
- [`KT-80399`](https://youtrack.jetbrains.com/issue/KT-80399) Anonymous Kotlin class incorrectly warns about deprecated java override despite '`@Deprecated`' annotation
- [`KT-79610`](https://youtrack.jetbrains.com/issue/KT-79610) Adding CocoaPod to Kotlin/Native MPP triggers IR serialization failure and commonizer errors
- [`KT-79951`](https://youtrack.jetbrains.com/issue/KT-79951) Infinite loop in parsing incomplete full form destructuring
- [`KT-79866`](https://youtrack.jetbrains.com/issue/KT-79866) kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an error
- [`KT-79777`](https://youtrack.jetbrains.com/issue/KT-79777) Argument type mismatch on value of complex type with a captured raw type argument
- [`KT-78664`](https://youtrack.jetbrains.com/issue/KT-78664) False positive VARIABLE\_NEVER\_READ and ASSIGNED\_VALUE\_IS\_NEVER\_READ on function type variable with splited declaration and assignment
- [`KT-79496`](https://youtrack.jetbrains.com/issue/KT-79496) False positive "when must be exhaustive" in triangle interface/class hierarchy
- [`KT-79774`](https://youtrack.jetbrains.com/issue/KT-79774) KtDestructuringDeclaration.getLPar & getRPar are broken
- [`KT-80391`](https://youtrack.jetbrains.com/issue/KT-80391) K2: Only one context parameter is mentioned in the \[NO\_CONTEXT\_ARGUMENT] diagnostic
- [`KT-79785`](https://youtrack.jetbrains.com/issue/KT-79785) ktypew:kotlin.collections.List already exists error using Swift Export
- [`KT-78879`](https://youtrack.jetbrains.com/issue/KT-78879) "Sealed types cannot be instantiated": Can't instantiate Java-defined sealed Class from Kotlin
- [`KT-21598`](https://youtrack.jetbrains.com/issue/KT-21598) Extension is shadowed by member should not be reported when member is deprecated with HIDDEN level
- [`KT-79622`](https://youtrack.jetbrains.com/issue/KT-79622) FUNCTION\_EXPECTED: Misleading 'expression cannot be invoked as a function' when inaccessible with private lambda
- [`KT-80255`](https://youtrack.jetbrains.com/issue/KT-80255) \[EXTENSION\_FUNCTION\_IN\_EXTERNAL\_DECLARATION] can be attached to the receiver type of a functional type
- [`KT-79816`](https://youtrack.jetbrains.com/issue/KT-79816) Java Interfaces implemented by delegation have non-null return checks
- [`KT-80177`](https://youtrack.jetbrains.com/issue/KT-80177) Improve message of RECEIVER\_SHADOWED\_BY\_CONTEXT\_PARAMETER in case of member extension
- [`KT-79770`](https://youtrack.jetbrains.com/issue/KT-79770) There is no RECEIVER\_SHADOWED\_BY\_CONTEXT\_PARAMETER if the usage of fun is from inside the class
- [`KT-79430`](https://youtrack.jetbrains.com/issue/KT-79430) False positive EXTENSION\_SHADOWED\_BY\_MEMBER on overridden member extension
- [`KT-62934`](https://youtrack.jetbrains.com/issue/KT-62934) Incorrect line mapping inside inline lambda after non-local return
- [`KT-79545`](https://youtrack.jetbrains.com/issue/KT-79545) K2: no error on crossinline lambda usage in anonymous object base constructor call
- [`KT-79643`](https://youtrack.jetbrains.com/issue/KT-79643) HAS\_NEXT\_FUNCTION\_AMBIGUITY and NEXT\_AMBIGUITY diagnostics are always ignored in favor of HAS\_NEXT\_FUNCTION\_NONE\_APPLICABLE and NEXT\_NONE\_APPLICABLE
- [`KT-79327`](https://youtrack.jetbrains.com/issue/KT-79327) Modifier 'private' is not applicable to 'value parameter' is reported for context parameters
- [`KT-76453`](https://youtrack.jetbrains.com/issue/KT-76453) K2 IDE: autocomplete freeze
- [`KT-77182`](https://youtrack.jetbrains.com/issue/KT-77182) A function in a file annotated with `@file`:MustUseReturnValue doesn't produce a warning when it is used from compiled code
- [`KT-78541`](https://youtrack.jetbrains.com/issue/KT-78541) Jspecify: Unsound platform type despite `@NullMarked` for an override with a generic-subclass return type
- [`KT-79672`](https://youtrack.jetbrains.com/issue/KT-79672) 'when expression must be exhaustive' even after using 'require()'
- [`KT-71306`](https://youtrack.jetbrains.com/issue/KT-71306) K2 IDE / Kotlin Debugger: “Cannot find local variable 'block' with type kotlin.jvm.functions.Function0” on evaluating lambda arg inside inline function
- [`KT-76991`](https://youtrack.jetbrains.com/issue/KT-76991) K2 IDE / Kotlin Debugger: ISE “Couldn't find declaration file for” on evaluating local fun when the scope has also inline fun from another file call
- [`KT-79877`](https://youtrack.jetbrains.com/issue/KT-79877) K2 IDE / Kotlin Debugger: failed evaluations of a code fragment capturing local data class
- [`KT-77401`](https://youtrack.jetbrains.com/issue/KT-77401) \[FIR] `ParameterNameTypeAttribute.name` doesn't support `@ParameterName` with compile-time constant property argument
- [`KT-79682`](https://youtrack.jetbrains.com/issue/KT-79682) Fix partially uninitialized locals after coroutine spills insertion
- [`KT-79562`](https://youtrack.jetbrains.com/issue/KT-79562) NPE when passing non-lambda argument of nullable non-suspend function type into function that accepts nullable suspend function type
- [`KT-79693`](https://youtrack.jetbrains.com/issue/KT-79693) NotImplementedError: An operation is not implemented: Unknown file with KMP separate compilation
- [`KT-79662`](https://youtrack.jetbrains.com/issue/KT-79662) Unused return value checker doesn't work for com.google.errorprone.annotations.CheckReturnValue
- [`KT-79781`](https://youtrack.jetbrains.com/issue/KT-79781) Missing MISSING\_DEPENDENCY\_CLASS when using type alias with inaccessible RHS
- [`KT-77772`](https://youtrack.jetbrains.com/issue/KT-77772) Only report exposed type on qualifier if it's resolved to an object
- [`KT-79765`](https://youtrack.jetbrains.com/issue/KT-79765) K2. Do not report ignore return value for unresolved reference
- [`KT-79017`](https://youtrack.jetbrains.com/issue/KT-79017) False negative REDECLARATION on private nested class
- [`KT-79519`](https://youtrack.jetbrains.com/issue/KT-79519) Nested type alias is unreachable from another module
- [`KT-72039`](https://youtrack.jetbrains.com/issue/KT-72039) StackOverflowError on calling keySet on a Kotlin subclass of Java subclass of ConcurrentHashMap
- [`KT-75843`](https://youtrack.jetbrains.com/issue/KT-75843) K2: incorrect line numbers in an if-expression with a super-call
- [`KT-77504`](https://youtrack.jetbrains.com/issue/KT-77504) Add a warning when `@IgnorableReturnValue` is inconsistent on overrides
- [`KT-78389`](https://youtrack.jetbrains.com/issue/KT-78389) Perform version 2.3 boostrapping
- [`KT-79092`](https://youtrack.jetbrains.com/issue/KT-79092) Crash on default argument in function in fun interface
- [`KT-77729`](https://youtrack.jetbrains.com/issue/KT-77729) Package-level `@NullMarked` does not work when kotlinc sees .java *source* files
- [`KT-79013`](https://youtrack.jetbrains.com/issue/KT-79013) False negative `NOT_YET_SUPPORTED_IN_INLINE` on inline local functions inside inline functions
- [`KT-79139`](https://youtrack.jetbrains.com/issue/KT-79139) False positive CONFLICTING\_OVERLOADS for context parameters instead of receivers
- [`KT-35305`](https://youtrack.jetbrains.com/issue/KT-35305) Address the overload conflict resolution between unsigned and non-primitive types
- [`KT-42096`](https://youtrack.jetbrains.com/issue/KT-42096) No diagnostic reported on `inline` modifier on an enum entry
- [`KT-79355`](https://youtrack.jetbrains.com/issue/KT-79355) Failed to fix the problem of desugared `inc` with new reverse implies returns contract
- [`KT-79277`](https://youtrack.jetbrains.com/issue/KT-79277) Implies returns contract doesn't affect the return type of the function if it is in the argument position
- [`KT-79271`](https://youtrack.jetbrains.com/issue/KT-79271) Implies returns contract doesn't impact exhaustiveness
- [`KT-79218`](https://youtrack.jetbrains.com/issue/KT-79218) SMARTCAST\_IMPOSSIBLE for top‑level extension‑property getter despite returnsNotNull contract
- [`KT-79220`](https://youtrack.jetbrains.com/issue/KT-79220) returnsNotNull contract ignored on extension function with nullable receiver
- [`KT-79354`](https://youtrack.jetbrains.com/issue/KT-79354) IllegalStateException: Debug metadata version mismatch. Expected: 1, got 2 with compiler 2.2.20-Beta1 and stdlib 2.2.0
- [`KT-77986`](https://youtrack.jetbrains.com/issue/KT-77986) K2: False negative: "Local classes are not yet supported in inline functions"
- [`KT-79456`](https://youtrack.jetbrains.com/issue/KT-79456) Redeclaration conflict checks of private top-level classifiers rely on an incorrect containing file
- [`KT-79125`](https://youtrack.jetbrains.com/issue/KT-79125) RVC full mode: delegated interfaces are not checked
- [`KT-63720`](https://youtrack.jetbrains.com/issue/KT-63720) Coroutine debugger: do not optimise out local variables
- [`KT-78595`](https://youtrack.jetbrains.com/issue/KT-78595) type variable leak on a generic property as a call argument given an unstable smart cast
- [`KT-79076`](https://youtrack.jetbrains.com/issue/KT-79076) 'IllegalStateException: Cannot serialize error type: ERROR CLASS: Uninferred type' with Exposed column using recursive generic type
- [`KT-59807`](https://youtrack.jetbrains.com/issue/KT-59807) K2: Replicate the MUST\_BE\_LATEINIT logic from K1
- [`KT-76782`](https://youtrack.jetbrains.com/issue/KT-76782) K2: Incorrect resolve into unrelated invoke operator with wrong diagnostic
- [`KT-78066`](https://youtrack.jetbrains.com/issue/KT-78066) TYPE\_PARAMETER\_OF\_PROPERTY\_NOT\_USED\_IN\_RECEIVER error message does not account for context parameters
- [`KT-76065`](https://youtrack.jetbrains.com/issue/KT-76065) Drop JavaTypeParameterDefaultRepresentationWithDNN feature
- [`KT-77808`](https://youtrack.jetbrains.com/issue/KT-77808) Inference: recheck the code about DNN-related hacks
- [`KT-24202`](https://youtrack.jetbrains.com/issue/KT-24202) NOTHING\_TO\_OVERRIDE if super-class reference misses generic arguments
- [`KT-78909`](https://youtrack.jetbrains.com/issue/KT-78909) K2: Missing diagnostics \[CYCLIC\_INHERITANCE\_HIERARCHY] for recursive class inheritance leads to StackOverflowError
- [`KT-75969`](https://youtrack.jetbrains.com/issue/KT-75969) java.lang.IllegalArgumentException: source must not be null on red code
- [`KT-76902`](https://youtrack.jetbrains.com/issue/KT-76902) Omit type-use annotations from diagnostics
- [`KT-17460`](https://youtrack.jetbrains.com/issue/KT-17460) Diagnostics and intention on suspend function that is overriden with non-suspend one.
- [`KT-56665`](https://youtrack.jetbrains.com/issue/KT-56665) K2: false positive RECURSIVE\_TYPEALIAS\_EXPANSION
- [`KT-78932`](https://youtrack.jetbrains.com/issue/KT-78932) Contracts are allowed for open and overridden property accessors
- [`KT-77203`](https://youtrack.jetbrains.com/issue/KT-77203) FIR: Consider adding destructured type to all COMPONENT\_FUNCTION\_\* diagnostics
- [`KT-77685`](https://youtrack.jetbrains.com/issue/KT-77685) "IllegalArgumentException: Sequence contains more than one matching element"
- [`KT-78452`](https://youtrack.jetbrains.com/issue/KT-78452) Drop redundant frontend structures after fir2ir conversion
- [`KT-70507`](https://youtrack.jetbrains.com/issue/KT-70507) Should parentheses prevent from plus/set operator desugaring?
##### Compose compiler
##### New features
- [`98d3907`](https://github.com/JetBrains/kotlin/commit/98d39077a9b19c1e6c112dc59982175095ac9f41) Introduce a compose group analysis module that produces a proguard/R8 mapping from group keys in bytecode.
##### Fixes
- [`b/419049140`](https://issuetracker.google.com/issues/419049140) Disabled memoization in `try` blocks
- [`KT-81081`](https://youtrack.jetbrains.com/issue/KT-81081) Generate Compose-specific proguard mappings when Compose compiler plugin is applied.
- [`b/431025881`](https://issuetracker.google.com/issues/431025881) \[Compose] Clean up runtime version checker
- [`b/365922168`](https://issuetracker.google.com/issues/365922168) Add `java.util.Locale` to the list of known stable classes
- [`b/407549020`](https://issuetracker.google.com/issues/407549020) Introduce a registry of known stable markers
- [`b/417989445`](https://issuetracker.google.com/issues/417989445) Added a diagnostic to restrict usages of `runCatching` in
`@Composable` functions
- [`KT-80294`](https://youtrack.jetbrains.com/issue/KT-80294) Fix crash with inline `@Composable` function reference
- [`b/430140896`](https://issuetracker.google.com/issues/430140896) Fix IrSourcePrinter output for when branch check and typechecks
- [`CMP-9167`](https://youtrack.jetbrains.com/issue/CMP-9167) iOS: Platform declaration clash: The following functions have the same IR signature
##### IDE. Gradle Integration
- [`KT-46273`](https://youtrack.jetbrains.com/issue/KT-46273) MPP: Don't fail import for case of missed platform in source set structure
- [`KT-46417`](https://youtrack.jetbrains.com/issue/KT-46417) \[UNRESOLVED\_REFERENCE] For project to project dependencies of native platform test source sets
- [`KT-44845`](https://youtrack.jetbrains.com/issue/KT-44845) After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=true
- [`KT-46142`](https://youtrack.jetbrains.com/issue/KT-46142) K/N distribution is unavailable from IDE with multiplatform hierarchical project structure enabled
##### IR. Actualizer
- [`KT-77337`](https://youtrack.jetbrains.com/issue/KT-77337) `IrNoExpectSymbolsHandler` finds expect class reference after enabling annotation traversal in IR
- [`KT-80002`](https://youtrack.jetbrains.com/issue/KT-80002) Investigate the need for map copying in IrCommonToPlatformDependencyExtractor.kt
- [`KT-80131`](https://youtrack.jetbrains.com/issue/KT-80131) KMP Separate Compilation: No override for FUN IR\_EXTERNAL\_DECLARATION\_STUB name:<get-size>
- [`KT-80064`](https://youtrack.jetbrains.com/issue/KT-80064) KMP Separate Compilation: ClassCastException: class org.jetbrains.kotlin.ir.symbols.impl.IrTypeAliasSymbolImpl cannot be cast to class org.jetbrains.kotlin.ir.symbols.IrClassSymbol
- [`KT-80051`](https://youtrack.jetbrains.com/issue/KT-80051) KMP Separate Compilation: Actualization of common dependencies failed on 'PROPERTY FAKE\_OVERRIDE name:modCount visibility:protected modality:FINAL \[fake\_override,var]'
- [`KT-79998`](https://youtrack.jetbrains.com/issue/KT-79998) KMP Separate Compilation: java.lang.IllegalStateException: No override for FUN IR\_EXTERNAL\_DECLARATION\_STUB name:<get-message>
##### IR. Inlining
##### New Features
- [`KT-70360`](https://youtrack.jetbrains.com/issue/KT-70360) KLIBs: Uniformly handle`typeOf()` calls at 1st/2nd stages of compilation
##### Performance Improvements
- [`KT-69497`](https://youtrack.jetbrains.com/issue/KT-69497) Crossinline lambda is allocated on K/N & JS
##### Fixes
- [`KT-78673`](https://youtrack.jetbrains.com/issue/KT-78673) Make fakeOverrideLocalGenericBase not using red code
- [`KT-78537`](https://youtrack.jetbrains.com/issue/KT-78537) \[Inliner] Incorrect KFunction.name of a reference to inlined local function
- [`KT-74892`](https://youtrack.jetbrains.com/issue/KT-74892) Investigate passing inline lambda as argument of another inline function
- [`KT-81673`](https://youtrack.jetbrains.com/issue/KT-81673) False warnings about ABI change in dependencies in library mode in 2.3.0-Beta1
- [`KT-81713`](https://youtrack.jetbrains.com/issue/KT-81713) \[Inliner] Compilation of inline function with recursive call applied to TODO() fails with an internal error
- [`KT-80653`](https://youtrack.jetbrains.com/issue/KT-80653) \[IR Inliner] Space: "Local declarations should've been popped out by this point"
- [`KT-78392`](https://youtrack.jetbrains.com/issue/KT-78392) CommonPrefix: Add a way of stopping execution when one of the phases is unsuccessful
- [`KT-80927`](https://youtrack.jetbrains.com/issue/KT-80927) \[Native] Review intrinsics with PublishedApi
- [`KT-81070`](https://youtrack.jetbrains.com/issue/KT-81070) \[Inliner] kotlin/Any is unbound
- [`KT-80628`](https://youtrack.jetbrains.com/issue/KT-80628) KLIB inliner: Not enough information about the "full" mode
- [`KT-69516`](https://youtrack.jetbrains.com/issue/KT-69516) Double-inlining for Native: Enable visibility checks after 1st phase of inlining
- [`KT-79334`](https://youtrack.jetbrains.com/issue/KT-79334) Unify intrinsics used on 1st phase of IR inliner in KLIB-based compilers
- [`KT-80610`](https://youtrack.jetbrains.com/issue/KT-80610) KLIB inliner: Always apply cross-module inlining to pre-processed inline functions
- [`KT-80565`](https://youtrack.jetbrains.com/issue/KT-80565) KLIB Inliner: Add a special annotation to prohibit inlining of marked inline functions in stdlib on 1st compilation phase
- [`KT-80883`](https://youtrack.jetbrains.com/issue/KT-80883) \[Inliner] Run pre-serialization lowerings in all testrunners
- [`KT-77876`](https://youtrack.jetbrains.com/issue/KT-77876) IrVisibilityChecker: Different set of exceptions for 1st and 2nd compilation stages
- [`KT-80693`](https://youtrack.jetbrains.com/issue/KT-80693) \[IC] Split IC invalidation tests for cross-module IR Inliner
- [`KT-79718`](https://youtrack.jetbrains.com/issue/KT-79718) KLIB inliner: Emit warning on generation of `public` synthetic accessor when running in "explicit API mode"
- [`KT-80226`](https://youtrack.jetbrains.com/issue/KT-80226) \[IR Inliner] Generate constructor accessors as constructors, not static functions
- [`KT-80692`](https://youtrack.jetbrains.com/issue/KT-80692) \[IC] Split IC invalidation tests for intra-module IR Inliner
- [`KT-77103`](https://youtrack.jetbrains.com/issue/KT-77103) \[Inliner] IrLocalDelegatedProperty was not serialized, while its symbol and IrRichPropertyReference were.
- [`KT-80537`](https://youtrack.jetbrains.com/issue/KT-80537) The expected error is not emitted from FirJsKlibSyntheticAccessorsTestGenerated and NativeKlibSyntheticAccessorsTestGenerated
- [`KT-78903`](https://youtrack.jetbrains.com/issue/KT-78903) Unify `codegen/boxInline` tests with `codegen/box`
- [`KT-78989`](https://youtrack.jetbrains.com/issue/KT-78989) Add missing PL tests for inline functions/property accessors
- [`KT-79771`](https://youtrack.jetbrains.com/issue/KT-79771) kotlinx-coroutines-core: Public synthetic accessor generated with enabled KLIB IR inliner
- [`KT-79680`](https://youtrack.jetbrains.com/issue/KT-79680) `IrConstructorSymbolImpl is unbound` in lambdaWithoutNonLocalControlflow\.kt
- [`KT-70849`](https://youtrack.jetbrains.com/issue/KT-70849) Ensure correct debug info for intra-module IR inlining on the first compilation phase
- [`KT-79800`](https://youtrack.jetbrains.com/issue/KT-79800) JS BE errors with default values when IR inliner is enabled
- [`KT-79352`](https://youtrack.jetbrains.com/issue/KT-79352) Remove excessive validations from `ValidateAfterAll...` on the first stage
- [`KT-76599`](https://youtrack.jetbrains.com/issue/KT-76599) Migrate `IrValidationAfterInliningAllFunctionsPhase` to the first stage of compilation
- [`KT-78245`](https://youtrack.jetbrains.com/issue/KT-78245) Synthetic Accessors incorrectly copies default values
- [`KT-72594`](https://youtrack.jetbrains.com/issue/KT-72594) \[JS]\[Native] Add IrInliningFacade to test runners
##### IR. Interpreter
- [`KT-72356`](https://youtrack.jetbrains.com/issue/KT-72356) K2 Native: IllegalStateException when annotation has the same source range as a constant in another file
- [`KT-72881`](https://youtrack.jetbrains.com/issue/KT-72881) K2: incorrect empty array as annotation argument when parameter has default value
##### IR. Tree
##### Fixes
- [`KT-79371`](https://youtrack.jetbrains.com/issue/KT-79371) Fix handling of broken SAM conversion in PL with enabled Rich References
- [`KT-81952`](https://youtrack.jetbrains.com/issue/KT-81952) "IllegalStateException: Callable reference with vararg should not appear at this stage" for callable references to functions with generic vararg parameters
- [`KT-79739`](https://youtrack.jetbrains.com/issue/KT-79739) Static synthetic accessors inside generic classes access its type parameters
- [`KT-78100`](https://youtrack.jetbrains.com/issue/KT-78100) Track and annotate internal annotations with `@PublishedApi` to enable annotation visibility validation
- [`KT-80825`](https://youtrack.jetbrains.com/issue/KT-80825) Drop `IrSerializationSettings.reuseExistingSignaturesForSymbols` setting
- [`KT-79807`](https://youtrack.jetbrains.com/issue/KT-79807) Broken IR tree invariants in IrReplSnippet after FIR2IR
- [`KT-77819`](https://youtrack.jetbrains.com/issue/KT-77819) \[IR] Fine-tune IrValidator's run after Fir2IR and IR plugins
- [`KT-70160`](https://youtrack.jetbrains.com/issue/KT-70160) Remove IrDeclaration.parents after Anvil update
- [`KT-80454`](https://youtrack.jetbrains.com/issue/KT-80454) LocalDeclarationsLowering: Clean-up the dead code
- [`KT-80819`](https://youtrack.jetbrains.com/issue/KT-80819) Rework IrFileValidator to use Hashmap instead of ClassValue
- [`KT-80516`](https://youtrack.jetbrains.com/issue/KT-80516) Kotlin-like IR dump: Don't render tailrec as lateinit
- [`KT-78856`](https://youtrack.jetbrains.com/issue/KT-78856) Refactor LocalDeclarationsLowering to split it in smaller parts
- [`KT-79439`](https://youtrack.jetbrains.com/issue/KT-79439) KLIB stdlib symbols loading: Split the result of merging of IrBuiltins with BuiltinSymbolsBase hierarchy into two parts (for 1st & 2nd phases)
- [`KT-79437`](https://youtrack.jetbrains.com/issue/KT-79437) KLIB stdlib symbols loading: Drop loading functions from IrBuiltins and migrate usages to SymbolFinder functions and lazy filtering
- [`KT-79569`](https://youtrack.jetbrains.com/issue/KT-79569) Unexpected error during DFG phase in Native due to PL issue with SAM conversion represented by rich reference
- [`KT-76601`](https://youtrack.jetbrains.com/issue/KT-76601) IrValidatorConfig should have all checks disabled by default
- [`KT-69662`](https://youtrack.jetbrains.com/issue/KT-69662) Deduplicate function `createTemporaryVariable`
- [`KT-79440`](https://youtrack.jetbrains.com/issue/KT-79440) KLIB stdlib symbols loading: Drop BuiltinSymbolsBase from plugin API
- [`KT-78960`](https://youtrack.jetbrains.com/issue/KT-78960) \[FO] Limit static fake overrides generation for static functions
- [`KT-76813`](https://youtrack.jetbrains.com/issue/KT-76813) IR validator: not all symbols/references are visited
##### JVM. Reflection
- [`KT-79020`](https://youtrack.jetbrains.com/issue/KT-79020) Suspend lambdas return type is shown as ??? in reflection
- [`KT-81967`](https://youtrack.jetbrains.com/issue/KT-81967) isSubtypeOf: ClassCastException: CapturedKType cannot be cast to class AbstractKType
- [`KT-76521`](https://youtrack.jetbrains.com/issue/KT-76521) Reflection: change KType representation to avoid dependency on K1
- [`KT-81619`](https://youtrack.jetbrains.com/issue/KT-81619) Reflection: Function supertype of a FunctionN class has flexible type in new implementation
- [`KT-74529`](https://youtrack.jetbrains.com/issue/KT-74529) Context parameters support in reflection
- [`KT-80901`](https://youtrack.jetbrains.com/issue/KT-80901) Reflection: incorrect translation of raw types in the new implementation
- [`KT-74624`](https://youtrack.jetbrains.com/issue/KT-74624) Reflection: KClassifier.createType(...) ignores annotations parameter
- [`KT-80203`](https://youtrack.jetbrains.com/issue/KT-80203) Reflection: provide a way to use legacy K1-based implementation
- [`KT-80236`](https://youtrack.jetbrains.com/issue/KT-80236) Reflection: KType.toString for raw types no longer renders "(raw)"
- [`KT-79206`](https://youtrack.jetbrains.com/issue/KT-79206) Reflection: suspend functional type classifier is null
##### JavaScript
##### New Features
- [`KT-80401`](https://youtrack.jetbrains.com/issue/KT-80401) Kotlin/JS support for `default export` in generated JavaScript
- [`KT-79284`](https://youtrack.jetbrains.com/issue/KT-79284) Use BigInt64Array for LongArray
- [`KT-79222`](https://youtrack.jetbrains.com/issue/KT-79222) K/JS: Allow using Long in exported declarations
- [`KT-79394`](https://youtrack.jetbrains.com/issue/KT-79394) Add the possibility to write common external declarations between JS and WasmJS targets
##### Performance Improvements
- [`KT-57128`](https://youtrack.jetbrains.com/issue/KT-57128) KJS: Use BigInt to represent Long values in ES6 mode
##### Fixes
- [`KT-79928`](https://youtrack.jetbrains.com/issue/KT-79928) Allow JsModule/JsNonModule/JsQualifier invocation on per-entity level
- [`KT-79514`](https://youtrack.jetbrains.com/issue/KT-79514) java.lang.IllegalStateException: IrClassSymbolImpl is unbound. Signature: kotlin.js/Promise|null\[0] on running jsBrowserTest
- [`KT-82005`](https://youtrack.jetbrains.com/issue/KT-82005) KJS: "TypeError: callAgent.jsonRpcCall\_ij3z26\_k$ is not a function" after code change in 2.3.0-Beta1/2
- [`KT-79359`](https://youtrack.jetbrains.com/issue/KT-79359) Kotlin/JS: Suspending function doesn’t return Unit on es2015
- [`KT-79089`](https://youtrack.jetbrains.com/issue/KT-79089) KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode tests
- [`KT-56281`](https://youtrack.jetbrains.com/issue/KT-56281) KJS: Can't export suspend functions
- [`KT-79926`](https://youtrack.jetbrains.com/issue/KT-79926) Wrong export of interfaces with companions with ES Modules
- [`KT-80168`](https://youtrack.jetbrains.com/issue/KT-80168) Allow `@JsStatic` inside interface companions
- [`KT-70222`](https://youtrack.jetbrains.com/issue/KT-70222) Remove legacy JS BE-related CLI flags
- [`KT-81424`](https://youtrack.jetbrains.com/issue/KT-81424) Kotlin/JS: Cannot Get / in a simple running application
- [`KT-80873`](https://youtrack.jetbrains.com/issue/KT-80873) KJS: Stdlib requires ES2020-compatible JS engine due to BigInt type literal
- [`KT-81066`](https://youtrack.jetbrains.com/issue/KT-81066) Wasm, JS: Remove redundant logging in compiler output
- [`KT-72833`](https://youtrack.jetbrains.com/issue/KT-72833) KJS: Source maps have incorrect sources paths in `per-file`
- [`KT-74055`](https://youtrack.jetbrains.com/issue/KT-74055) KJS: `@JsPlainObject` adds JS code even if marked interface is not used
- [`KT-72474`](https://youtrack.jetbrains.com/issue/KT-72474) KJS: `@JsPlainObject` doesn't honour -XXLanguage:+JsAllowInvalidCharsIdentifiersEscaping
- [`KT-79644`](https://youtrack.jetbrains.com/issue/KT-79644) BigInt enabled for ES 2015 despite being an ES 2020 feature
- [`KT-52771`](https://youtrack.jetbrains.com/issue/KT-52771) KJS: Pair should be exported to JavaScript
- [`KT-79704`](https://youtrack.jetbrains.com/issue/KT-79704) Unify variance rendering between JS and other backends
- [`KT-69297`](https://youtrack.jetbrains.com/issue/KT-69297) Deprecate referencing inlineable lambdas in `js()` calls
- [`KT-80086`](https://youtrack.jetbrains.com/issue/KT-80086) \[k/js] Resolving imported string literals
- [`KT-79066`](https://youtrack.jetbrains.com/issue/KT-79066) \[Kotlin/JS] jsNodeTest fails with SyntaxError when a test file has `@file`:JsExport and useEsModules() is enabled
- [`KT-77385`](https://youtrack.jetbrains.com/issue/KT-77385) Investigate partial linkage problems for JS HMPP tests
- [`KT-79628`](https://youtrack.jetbrains.com/issue/KT-79628) Remove IR nodes from ExportModel
- [`KT-79916`](https://youtrack.jetbrains.com/issue/KT-79916) K/JS: "Uncaught TypeError" when using 'Xes-long-as-bigint' in compose-html
- [`KT-79050`](https://youtrack.jetbrains.com/issue/KT-79050) KJS / IC: "Unexpected body of primary constructor for processing irClass"
- [`KT-79977`](https://youtrack.jetbrains.com/issue/KT-79977) KJS: Long.rotateLeft returns incorrect result when BigInts are enabled
- [`KT-78831`](https://youtrack.jetbrains.com/issue/KT-78831) AbstractFunctionReferencesLowering: fragile fake override generation
- [`KT-52230`](https://youtrack.jetbrains.com/issue/KT-52230) KSJ IR: Applying identity equality operator to Longs always returns false
- [`KT-6675`](https://youtrack.jetbrains.com/issue/KT-6675) KotlinJS: toInt() on external Long throws error
- [`KT-79184`](https://youtrack.jetbrains.com/issue/KT-79184) K/JS: Further intrinsify BigInt-backed Long operations
##### Klibs
##### New Features
- [`KT-80761`](https://youtrack.jetbrains.com/issue/KT-80761) K2: \[K/N] Should reported klib usage include inheritance
##### Performance Improvements
- [`KT-80861`](https://youtrack.jetbrains.com/issue/KT-80861) \[Klib] Deduplicate IrFileEntry.name
- [`KT-80866`](https://youtrack.jetbrains.com/issue/KT-80866) \[Klib] Optimize size of IrFileEntry.line\_start\_offset
- [`KT-80438`](https://youtrack.jetbrains.com/issue/KT-80438) Uncached KlibMetadataClassDataFinder.findClassData
##### Fixes
- [`KT-64237`](https://youtrack.jetbrains.com/issue/KT-64237) Klib metadata: migrate to using the common annotations instead of klib-specific extensions in the compiler
- [`KT-80099`](https://youtrack.jetbrains.com/issue/KT-80099) KLIB resolver: Could not find file because of missing `klib` extension in resolved symlink path
- [`KT-80999`](https://youtrack.jetbrains.com/issue/KT-80999) Reuse existing `IrKotlinLibraryLayout` in `KotlinLibrary` for reading pre-processed functions
- [`KT-80290`](https://youtrack.jetbrains.com/issue/KT-80290) Remove `if` and TODO in `countInAsInlinedLambdaArgumentWithPermittedNonLocalReturns`
- [`KT-80298`](https://youtrack.jetbrains.com/issue/KT-80298) K/N: one-stage compilation is broken
- [`KT-79958`](https://youtrack.jetbrains.com/issue/KT-79958) KLIB tool fails to render IR if there is IrErrorType in a lirbrary
- [`KT-75241`](https://youtrack.jetbrains.com/issue/KT-75241) Move ExperimentalLibraryAbiReader to a publishable artifact
- [`KT-76260`](https://youtrack.jetbrains.com/issue/KT-76260) Make `IrRichCallableReferencesInKlibs` lang feature stable in LV=2.3
- [`KT-61552`](https://youtrack.jetbrains.com/issue/KT-61552) \[PL] IndexOutOfBoundsException in SAM conversion with substituted function
- [`KT-74417`](https://youtrack.jetbrains.com/issue/KT-74417) Deduce the metadata version based on LV in KLIB-based backends
- [`KT-75980`](https://youtrack.jetbrains.com/issue/KT-75980) \[Klib] Reduce serialized size of IrFileEntries for sparse usage of another source files
- [`KT-73826`](https://youtrack.jetbrains.com/issue/KT-73826) Deduplicate `IrFileEntry` that is serialized inside `IrInlinedFunctionBlock`
##### Language Design
- [`KT-76926`](https://youtrack.jetbrains.com/issue/KT-76926) Allow return in expression bodies if return type is specified explicitly
- [`KT-78866`](https://youtrack.jetbrains.com/issue/KT-78866) Show an error for implicit receiver shadowed by context parameter
- [`KT-81561`](https://youtrack.jetbrains.com/issue/KT-81561) Update nested type aliases KEEP to reflect local type aliases support
- [`KT-81015`](https://youtrack.jetbrains.com/issue/KT-81015) Stabilize nested type aliases
- [`KT-32619`](https://youtrack.jetbrains.com/issue/KT-32619) JS: return Promise when `continuation` is not provided
- [`KT-78976`](https://youtrack.jetbrains.com/issue/KT-78976) Decide if K2 should support local functions inside of local inline functions
- [`KT-79308`](https://youtrack.jetbrains.com/issue/KT-79308) Ability to actualize empty interfaces as Any
- [`KT-48872`](https://youtrack.jetbrains.com/issue/KT-48872) Provide modern and performant replacement for Enum.values()
- [`KT-28850`](https://youtrack.jetbrains.com/issue/KT-28850) Prohibit protected visibility in final expected classes
##### Libraries
##### New Features
- [`KT-81092`](https://youtrack.jetbrains.com/issue/KT-81092) Uuid: support generation of version 7 uuids with a given timestamp
- [`KT-78463`](https://youtrack.jetbrains.com/issue/KT-78463) Annotate wasm and JS targets of kotlin-stdlib with `@IgnorableReturnValue` when appropriate
- [`KT-74444`](https://youtrack.jetbrains.com/issue/KT-74444) EnumEntries type should implement RandomAccess
- [`KT-78462`](https://youtrack.jetbrains.com/issue/KT-78462) Annotate kotlin-stdlib-jvm with `@IgnorableReturnValue` where appropriate
##### Performance Improvements
- [`KT-72111`](https://youtrack.jetbrains.com/issue/KT-72111) Change Duration.parseOrNull logic to not throw exceptions internally
##### Fixes
- [`KT-82901`](https://youtrack.jetbrains.com/issue/KT-82901) `Long.MIN_VALUE.milliseconds` produces invalid denormalized Duration
- [`KT-81995`](https://youtrack.jetbrains.com/issue/KT-81995) K/N: CMP: Undefined symbol \_kfun:kotlin.time.Duration.kotlin.time.Duration
- [`KT-56822`](https://youtrack.jetbrains.com/issue/KT-56822) Deprecate Number.toChar() with error deprecation level
- [`KT-81078`](https://youtrack.jetbrains.com/issue/KT-81078) Increase kotlin.io.createTempDir and createTempFile deprecation level to ERROR
- [`KT-74493`](https://youtrack.jetbrains.com/issue/KT-74493) Deprecate String.subSequence(start, end) with error and drop it in the future
- [`KT-79192`](https://youtrack.jetbrains.com/issue/KT-79192) Increase InputStream.readBytes(Int) deprecation level to HIDDEN
- [`KT-80778`](https://youtrack.jetbrains.com/issue/KT-80778) Stabilize kotlin.time.Clock and kotlin.time.Instant
- [`KT-81043`](https://youtrack.jetbrains.com/issue/KT-81043) String.toBigDecimalOrNull rejects strings accepted by String.toBigDecimal
- [`KT-81477`](https://youtrack.jetbrains.com/issue/KT-81477) Uuid.Companion.generateV\* are missing SinceKotlin annotation
- [`KT-81478`](https://youtrack.jetbrains.com/issue/KT-81478) FileTreeWalkTest.withDirectoryFilter fails on Windows
- [`KT-74411`](https://youtrack.jetbrains.com/issue/KT-74411) Introduce Uuid.generateV4() and generateV7()
- [`KT-80530`](https://youtrack.jetbrains.com/issue/KT-80530) Annotate Kotlin/Native stdlib with must-use value/`@IgnorableReturnValue` when appropriate
- [`KT-79791`](https://youtrack.jetbrains.com/issue/KT-79791) Duration.parse incorrectly handles negative decimal seconds in ISO-8601 format
- [`KT-80619`](https://youtrack.jetbrains.com/issue/KT-80619) \[KLIBs] Enable intra-module inliner in stdlib & kotlin-test
- [`KT-76773`](https://youtrack.jetbrains.com/issue/KT-76773) stdlib: contextOf's type argument can be inferred via contextOf's context argument
- [`KT-71822`](https://youtrack.jetbrains.com/issue/KT-71822) Intersection with (subtraction from) an identity set may produce incorrect results
- [`KT-80431`](https://youtrack.jetbrains.com/issue/KT-80431) Remove suppression of "ACTUAL\_ANNOTATIONS\_NOT\_MATCH\_EXPECT" from stdlib
- [`KT-80605`](https://youtrack.jetbrains.com/issue/KT-80605) Rename MustUseReturnValue -> MustUseReturnValues
- [`KT-69947`](https://youtrack.jetbrains.com/issue/KT-69947) KLIB stdlib: All intrinsics that can be used in KLIBs with inlined IR must be included in stdlib ABI dump
- [`KT-59044`](https://youtrack.jetbrains.com/issue/KT-59044) Improve various aspects of TimeSource documentation
- [`KT-80544`](https://youtrack.jetbrains.com/issue/KT-80544) Mark controversial path extensions (like .deleteRecursively()) as ignorable
- [`KT-80603`](https://youtrack.jetbrains.com/issue/KT-80603) K/N and K/Wasm: \p{N} category is not supported
- [`KT-80661`](https://youtrack.jetbrains.com/issue/KT-80661) ArrayDeque.lastIndexOf may return -1 for an element present in the deque
- [`KT-80390`](https://youtrack.jetbrains.com/issue/KT-80390) ArrayDeque.indexOf(null) wrongly returns 0 after removals
- [`KT-79094`](https://youtrack.jetbrains.com/issue/KT-79094) Change signature of assertFailsWith or make lambda excluded otherwise
- [`KT-72028`](https://youtrack.jetbrains.com/issue/KT-72028) Incorrect parameters order in IndexedValue documentation
- [`KT-80130`](https://youtrack.jetbrains.com/issue/KT-80130) \[stdlib] Commonize AssociatedObjects in commonNonJvmMain
- [`KT-80107`](https://youtrack.jetbrains.com/issue/KT-80107) \[stdlib] Move CancellationException to commonNonJvmMain
- [`KT-80179`](https://youtrack.jetbrains.com/issue/KT-80179) Investigate why StringBuilder.length is not enhanced automatically
- [`KT-80046`](https://youtrack.jetbrains.com/issue/KT-80046) Increase test coverage of Duration.parse\[IsoString]\[OrNull] methods
- [`KT-76459`](https://youtrack.jetbrains.com/issue/KT-76459) Remove comments about sorting stability in unsigned-type arrays
- [`KT-79489`](https://youtrack.jetbrains.com/issue/KT-79489) Generate Stdlib API reference for webMain source set
- [`KT-78243`](https://youtrack.jetbrains.com/issue/KT-78243) Drop JS- and Wasm-specific IrLinkageError classes
- [`KT-79108`](https://youtrack.jetbrains.com/issue/KT-79108) Remove the default argument for `linkageError` from kotlin.js.getPropertyCallableRef
- [`KT-79130`](https://youtrack.jetbrains.com/issue/KT-79130) K/JS: Remove bodies from intrinsified Long methods
- [`KT-79239`](https://youtrack.jetbrains.com/issue/KT-79239) K/Wasm: elementAt extension function of Array/PrimitiveArray/UnsignedArray does not throw IndexOutOfBoundException on incorrect index
- [`KT-79256`](https://youtrack.jetbrains.com/issue/KT-79256) K/Wasm: MatchResult.groups raises a trap on invalid group index
- [`KT-57317`](https://youtrack.jetbrains.com/issue/KT-57317) Repack EnumEntries from stdlib into the compiler
##### Native
- [`KT-80620`](https://youtrack.jetbrains.com/issue/KT-80620) Bump minimal iOS and tvOS supported versions to 14.0
- [`KT-80624`](https://youtrack.jetbrains.com/issue/KT-80624) Bump minimal watchOS supported versions to 7.0
- [`KT-79384`](https://youtrack.jetbrains.com/issue/KT-79384) K/N: Application Not Responding: Thread Deadlock
- [`KT-80536`](https://youtrack.jetbrains.com/issue/KT-80536) Native: `DependencyDownloader` seems to have no timeout
##### Native. Build Infrastructure
- [`KT-80147`](https://youtrack.jetbrains.com/issue/KT-80147) Set proper LV and AV for `kotlin-native/performance/buildSrc`
- [`KT-79474`](https://youtrack.jetbrains.com/issue/KT-79474) Kotlin/Native: fix breakpad build
- [`KT-79215`](https://youtrack.jetbrains.com/issue/KT-79215) Kotlin/Native: fix distInvalidateStaleCaches on windows
##### Native. C and ObjC Import
- [`KT-79752`](https://youtrack.jetbrains.com/issue/KT-79752) Native: make cinterop generate CCall.Direct annotations
- [`KT-79753`](https://youtrack.jetbrains.com/issue/KT-79753) Native: support CCall.Direct calls in the compiler
- [`KT-81312`](https://youtrack.jetbrains.com/issue/KT-81312) Native: when `-Xccall-mode direct` is used, mark unsupported declarations with unresolvable symbol name instead of `@Deprecated`(ERROR)
- [`KT-79571`](https://youtrack.jetbrains.com/issue/KT-79571) Xcode 26 beta 4: CInteropKT39120TestGenerated.testForwardEnum failed
- [`KT-80838`](https://youtrack.jetbrains.com/issue/KT-80838) Cinterop fails with an error when Compilation works fine
- [`KT-49034`](https://youtrack.jetbrains.com/issue/KT-49034) Kotlin/Native: `cnames.structs.Foo` resolves into wrong declaration
##### Native. ObjC Export
- [`KT-81906`](https://youtrack.jetbrains.com/issue/KT-81906) Normalize `CFBundleIdentifier` when producing Apple framework
- [`KT-78810`](https://youtrack.jetbrains.com/issue/KT-78810) \[ObjCExport] Enable explicit ObjC block parameter names by default
- [`KT-80271`](https://youtrack.jetbrains.com/issue/KT-80271) ObjC/Swift Export: Remove Native platform `Cloneable` checks
- [`KT-78604`](https://youtrack.jetbrains.com/issue/KT-78604) Consider not inheriting `KlibScope` from `KaScope`
- [`KT-79767`](https://youtrack.jetbrains.com/issue/KT-79767) ObjCExport: private companion must not be exposed
- [`KT-79724`](https://youtrack.jetbrains.com/issue/KT-79724) ObjCExport: extensions order
- [`KT-79548`](https://youtrack.jetbrains.com/issue/KT-79548) ObjCExport: mangling difference between K1 and K2 when translating KotlinDurationCompanion
- [`KT-79475`](https://youtrack.jetbrains.com/issue/KT-79475) ObjCExport: invalid property getter translation
- [`KT-79346`](https://youtrack.jetbrains.com/issue/KT-79346) ObjCExport: Any method overrides
- [`KT-78871`](https://youtrack.jetbrains.com/issue/KT-78871) ObjCExport: translation of keyword `release` with parameter generates invalid header
##### Native. Runtime. Memory
- [`KT-75918`](https://youtrack.jetbrains.com/issue/KT-75918) Native: Deprecate -Xallocator=std
- [`KT-80678`](https://youtrack.jetbrains.com/issue/KT-80678) Native: pagedAllocator=false sweep is slow
- [`KT-75916`](https://youtrack.jetbrains.com/issue/KT-75916) Native: Enable sanitizer support with pagedAllocator=false
##### Native. Swift Export
##### Fixes
- [`KT-81355`](https://youtrack.jetbrains.com/issue/KT-81355) Swift Export: Introduce a flag to turn off coroutines export
- [`KT-80969`](https://youtrack.jetbrains.com/issue/KT-80969) Swift Export: Call `suspend` function as `async` on swift side
- [`KT-80111`](https://youtrack.jetbrains.com/issue/KT-80111) Swift Export Build Fails Due to Errors in KotlinStdlib.swift
- [`KT-80884`](https://youtrack.jetbrains.com/issue/KT-80884) Swift Export: support async in SIR
- [`KT-80185`](https://youtrack.jetbrains.com/issue/KT-80185) Swift Export: IllegalArgumentException – Collection contains more than one matching element
- [`KT-79889`](https://youtrack.jetbrains.com/issue/KT-79889) K/N: swift-export fails under several different conditions
- [`KT-79518`](https://youtrack.jetbrains.com/issue/KT-79518) Swift export: represent kotlin.Any as swift.any
- [`KT-78603`](https://youtrack.jetbrains.com/issue/KT-78603) Do not inherit SirAndKaSession from KaSession
- [`KT-79227`](https://youtrack.jetbrains.com/issue/KT-79227) Swift Export: Fix First Release Issues
- [`KT-79521`](https://youtrack.jetbrains.com/issue/KT-79521) '\_CoroutineScope' is inaccessible due to 'internal' protection level
- [`KT-79181`](https://youtrack.jetbrains.com/issue/KT-79181) Swift Export Fails When Using T: Comparable<T> Generic Constraint in Kotlin Classes
##### Tools. Ant
- [`KT-75875`](https://youtrack.jetbrains.com/issue/KT-75875) Remove Ant support
##### Tools. BCV
- [`KT-80313`](https://youtrack.jetbrains.com/issue/KT-80313) Add ability to generate dump from jar files \[ABI Tools]
##### Tools. Build Tools API
##### New Features
- [`KT-78194`](https://youtrack.jetbrains.com/issue/KT-78194) BTA: port the JVM prototype to the new design
- [`KT-79409`](https://youtrack.jetbrains.com/issue/KT-79409) BTA: Support removed compiler arguments properly
- [`KT-78193`](https://youtrack.jetbrains.com/issue/KT-78193) BTA: Implement core infrastructure according to the new design
- [`KT-78196`](https://youtrack.jetbrains.com/issue/KT-78196) BTA: implement API adapter for the prototype implementation
- [`KT-77999`](https://youtrack.jetbrains.com/issue/KT-77999) BTA: Generate BTA options from compiler arguments descriptions
##### Fixes
- [`KT-75357`](https://youtrack.jetbrains.com/issue/KT-75357) CompilationService.loadImplementation(loader) Expects a `ClassLoader`, but Fails if its not a `URLClassLoader`
- [`KT-73090`](https://youtrack.jetbrains.com/issue/KT-73090) Gradle 8.11 kotlin compilation fails when run with -Pkotlin.compiler.runViaBuildToolsApi=true
- [`KT-81321`](https://youtrack.jetbrains.com/issue/KT-81321) Deprecate old BTA prototype API
- [`KT-81602`](https://youtrack.jetbrains.com/issue/KT-81602) BTA: rename KotlinToolchains.jvm `@JvmName` for a more Java-friendly API
- [`KT-75356`](https://youtrack.jetbrains.com/issue/KT-75356) Failing to pass a `-d` argument causes Build Tools API to NPE
- [`KT-81130`](https://youtrack.jetbrains.com/issue/KT-81130) BTA: using KotlinVersion from stdlib in the API breaks when using isolated classloader
- [`KT-78195`](https://youtrack.jetbrains.com/issue/KT-78195) BTA: migrate the test infrastructure from the prototype to the new design
##### Tools. CLI
- [`KT-81077`](https://youtrack.jetbrains.com/issue/KT-81077) Add JVM target bytecode version 25
- [`KT-79867`](https://youtrack.jetbrains.com/issue/KT-79867) CompilerConfiguration.configureSourceRoots puts obfuscated file paths instead of ones passed on `classpath` to CLIConfigurationKeys.CONTENT\_ROOTS
- [`KT-80348`](https://youtrack.jetbrains.com/issue/KT-80348) Expose 'XXLanguage' compiler argument as a normal argument
- [`KT-80428`](https://youtrack.jetbrains.com/issue/KT-80428) KMP Separate Compilation: Handle friend dependencies
- [`KT-74590`](https://youtrack.jetbrains.com/issue/KT-74590) Deprecate -Xjvm-default in favor of -jvm-default
- [`KT-80349`](https://youtrack.jetbrains.com/issue/KT-80349) KMP Separate Compilation is enabled on non-KMP compilations
- [`KT-79982`](https://youtrack.jetbrains.com/issue/KT-79982) Fix description of -Xjspecify-annotations
- [`KT-79403`](https://youtrack.jetbrains.com/issue/KT-79403) Improve generator for deprecated CLI arguments
- [`KT-75968`](https://youtrack.jetbrains.com/issue/KT-75968) Set proper lifecycle for all existing compiler arguments
- [`KT-79293`](https://youtrack.jetbrains.com/issue/KT-79293) Create Language Features and compiler argument with parameter for new destructuring features
##### Tools. Commonizer
- [`KT-49735`](https://youtrack.jetbrains.com/issue/KT-49735) \[Commonizer] :commonizeNativeDistribution fails for projects with two or more same native targets
- [`KT-47523`](https://youtrack.jetbrains.com/issue/KT-47523) MPP: Unable to resolve c-interop dependency if platform is included in an intermediate source set with the only target
- [`KT-48118`](https://youtrack.jetbrains.com/issue/KT-48118) Commonized c-interop lib is not attached to common main source set
- [`KT-46248`](https://youtrack.jetbrains.com/issue/KT-46248) MPP: Compile KotlinMetadata fails with Unresolved reference if only one native platform from shared source set is available
##### Tools. Compiler Plugin API
- [`KT-82563`](https://youtrack.jetbrains.com/issue/KT-82563) Improve compiler error messages to identify incompatible plugins causing compilation failures
- [`KT-55300`](https://youtrack.jetbrains.com/issue/KT-55300) Provide a mechanism to describe ordering and dependencies for compiler plugins
- [`KT-82099`](https://youtrack.jetbrains.com/issue/KT-82099) Compiler plugin ordering has no effect
- [`KT-74867`](https://youtrack.jetbrains.com/issue/KT-74867) LLFirIdePredicateBasedProvider matches local classes when it shouldn't
- [`KT-52665`](https://youtrack.jetbrains.com/issue/KT-52665) Deprecate `ComponentRegistrar`
- [`KT-75865`](https://youtrack.jetbrains.com/issue/KT-75865) Provide an API for setting the file name for the file with top-level declarations generated by a plugin
##### Tools. Compiler Plugins
##### New Features
- [`KT-81091`](https://youtrack.jetbrains.com/issue/KT-81091) \[DataFrame] Receivers from FirExpressionResolutionExtension are not resolved in CodeFragment
##### Fixes
- [`KT-64339`](https://youtrack.jetbrains.com/issue/KT-64339) Symbol Light Classes: No Arg compiler plugin generates synthethic constructor which is not seen from light classes
- [`KT-80429`](https://youtrack.jetbrains.com/issue/KT-80429) Power Assert with "Run test using: IntelliJ": NoClassDefFoundError (org.jetbrains.kotlin.kotlinx.collections.immutable.ExtensionsKt) during compilation
- [`KT-79319`](https://youtrack.jetbrains.com/issue/KT-79319) Lombok: NullPointerException on `mvn compile` when importing Java constants
- [`KT-81348`](https://youtrack.jetbrains.com/issue/KT-81348) Incorrect bytecode mentioning error class/package is generated by kotlinx-serialization when private serializer in another module is not accessible
- [`KT-80944`](https://youtrack.jetbrains.com/issue/KT-80944) FirUserTypeRefImpl cannot be cast to class FirResolvedTypeRef in maven project
- [`KT-80815`](https://youtrack.jetbrains.com/issue/KT-80815) NoArg compiler plugin: Promote NO\_NOARG\_CONSTRUCTOR\_IN\_SUPERCLASS diagnostic from warning to error
- [`KT-80822`](https://youtrack.jetbrains.com/issue/KT-80822) False positive NO\_NOARG\_CONSTRUCTOR\_IN\_SUPERCLASS reported for a class with explicit noargs constructor already present
- [`KT-53122`](https://youtrack.jetbrains.com/issue/KT-53122) Constructors generated with NoArg have no `@Metadata` and are invisible for the frontend
- [`KT-74687`](https://youtrack.jetbrains.com/issue/KT-74687) Kotlin Lombok: False positive when calling builder on Java record
- [`KT-80419`](https://youtrack.jetbrains.com/issue/KT-80419) Remove bundled jetbrains annotations from kotlin-dataframe-compiler-plugin
- [`KT-79245`](https://youtrack.jetbrains.com/issue/KT-79245) \[AtomicFU] Drop K1/JS- and K1/Native-specific testrunners
- [`KT-79197`](https://youtrack.jetbrains.com/issue/KT-79197) DataFrame: Cannot find local variable 'this`@df`' with type Scope0
- [`KT-73865`](https://youtrack.jetbrains.com/issue/KT-73865) Incorrect type is generated for irPropertyReference during K/N transformation
##### Tools. Compiler plugins. Serialization
- [`KT-70345`](https://youtrack.jetbrains.com/issue/KT-70345) Promote COMPANION\_OBJECT\_IS\_SERIALIZABLE\_INSIDE\_SERIALIZABLE\_CLASS diagnostic to error
- [`KT-79695`](https://youtrack.jetbrains.com/issue/KT-79695) Serialization does not exclude field-less properties in 2.2.20-Beta2
- [`KT-79246`](https://youtrack.jetbrains.com/issue/KT-79246) \[Serialization] Drop K1-specific testrunners
##### Tools. Gradle
##### New Features
- [`KT-78199`](https://youtrack.jetbrains.com/issue/KT-78199) Gradle: Migrate JVM compilation in KGP to the new BTA
- [`KT-45161`](https://youtrack.jetbrains.com/issue/KT-45161) Gradle: Support registering generated sources with the Kotlin model
- [`KT-71602`](https://youtrack.jetbrains.com/issue/KT-71602) Introduce KotlinTopLevelExtension
##### Fixes
- [`KT-67290`](https://youtrack.jetbrains.com/issue/KT-67290) Deprecate usage of HasKotlinDependencies inside KotlinCompilation
- [`KT-80950`](https://youtrack.jetbrains.com/issue/KT-80950) KGP breaks configuration cache when signing plugin with GnuPG is applied
- [`KT-64211`](https://youtrack.jetbrains.com/issue/KT-64211) Provide support for the kotlin.internal.compiler.arguments.log.level property while running via build tools api
- [`KT-81719`](https://youtrack.jetbrains.com/issue/KT-81719) Do not register swift export related configurations when it's not required
- [`KT-78741`](https://youtrack.jetbrains.com/issue/KT-78741) Add FUS analytics for klib cross-compilation
- [`KT-75449`](https://youtrack.jetbrains.com/issue/KT-75449) Update deprecation of `KotlinJsTestFramework#createTestExecutionSpec`
- [`KT-64273`](https://youtrack.jetbrains.com/issue/KT-64273) Gradle: remove symbols deprecated after KT-54312
- [`KT-74915`](https://youtrack.jetbrains.com/issue/KT-74915) Make ExtrasProperty.kt internal
- [`KT-64992`](https://youtrack.jetbrains.com/issue/KT-64992) Remove KotlinCompilation.source
- [`KT-82068`](https://youtrack.jetbrains.com/issue/KT-82068) Workaround iOS Simulator start failure in IT
- [`KT-79482`](https://youtrack.jetbrains.com/issue/KT-79482) Report webMain / webTest usage in FUS metrics
- [`KT-81199`](https://youtrack.jetbrains.com/issue/KT-81199) Deprecate "org.jetbrains.kotlin.android" plugin
- [`KT-82244`](https://youtrack.jetbrains.com/issue/KT-82244) Conflicting warnings when using AGP 9.0.0-alpha with built-in Kotlin disabled
- [`KT-81161`](https://youtrack.jetbrains.com/issue/KT-81161) Gradle plugin api reference: compiler arguments types are not available
- [`KT-70251`](https://youtrack.jetbrains.com/issue/KT-70251) Gradle: hide compiler symbols in KGP
- [`KT-81837`](https://youtrack.jetbrains.com/issue/KT-81837) Run integration tests against AGP 8.13
- [`KT-77457`](https://youtrack.jetbrains.com/issue/KT-77457) Compile against Gradle API 9.0
- [`KT-79238`](https://youtrack.jetbrains.com/issue/KT-79238) Bump minimal supported AGP version to 8.2.2
- [`KT-75869`](https://youtrack.jetbrains.com/issue/KT-75869) KGP JS - Update deprecated constructors
- [`KT-76720`](https://youtrack.jetbrains.com/issue/KT-76720) Raise deprecation level to error for Kotlin\*Options properties
- [`KT-79047`](https://youtrack.jetbrains.com/issue/KT-79047) Gradle compileKotlin fails with configuration cache
- [`KT-81415`](https://youtrack.jetbrains.com/issue/KT-81415) BTA: Duplicate daemons when compiling JVM + JS in KGP
- [`KT-80763`](https://youtrack.jetbrains.com/issue/KT-80763) Add redirect link to error message when 'org.jetbrains.kotlin.android' plugin is used with built-in Kotlin
- [`KT-81038`](https://youtrack.jetbrains.com/issue/KT-81038) Gradle: remove support for properties disabling precise task outputs backup
- [`KT-80808`](https://youtrack.jetbrains.com/issue/KT-80808) Warning from kotlin-dsl with kotlin("jvm") on Gradle < 9.0 doesn’t suggest updating Gradle
- [`KT-80875`](https://youtrack.jetbrains.com/issue/KT-80875) Gradle: runToolInSeparateProcess may fail on Windows with too long command line
- [`KT-79851`](https://youtrack.jetbrains.com/issue/KT-79851) Emit an actionable warning/error on unsupported AV/LV configured by `kotlin-dsl`
- [`KT-77458`](https://youtrack.jetbrains.com/issue/KT-77458) Run Gradle integration tests against Gradle 9.0
- [`KT-80172`](https://youtrack.jetbrains.com/issue/KT-80172) Error message changes depending on the order of applying 'org.jetbrains.kotlin.android' and 'AGP' 9.0+ with built-in Kotlin plugin
- [`KT-76177`](https://youtrack.jetbrains.com/issue/KT-76177) Remove deprecated classpath snapshot task inputs
- [`KT-79339`](https://youtrack.jetbrains.com/issue/KT-79339) Remove additionalMetadata from compiler options DSL
- [`KT-73478`](https://youtrack.jetbrains.com/issue/KT-73478) Add module level description
- [`KT-80083`](https://youtrack.jetbrains.com/issue/KT-80083) KGP IT: fix tests on Windows
- [`KT-79034`](https://youtrack.jetbrains.com/issue/KT-79034) Automatically disable cross compilation if it's not supported on the host
- [`KT-79408`](https://youtrack.jetbrains.com/issue/KT-79408) A lot of errors files are created when compile Kotlin
- [`KT-78827`](https://youtrack.jetbrains.com/issue/KT-78827) Rewrite Gradle compiler options DSL generator
##### Tools. Gradle. BCV
- [`KT-80687`](https://youtrack.jetbrains.com/issue/KT-80687) Add description to Gradle tasks \[ABI Validation]
- [`KT-80621`](https://youtrack.jetbrains.com/issue/KT-80621) Move Gradle tasks into suitable groups \[ABI Validation]
- [`KT-78625`](https://youtrack.jetbrains.com/issue/KT-78625) Kotlin's built-in BCV generates empty .api files
##### Tools. Gradle. Compiler plugins
- [`KT-81827`](https://youtrack.jetbrains.com/issue/KT-81827) Add a switch for mapping file tasks in Compose Gradle plugin
##### Tools. Gradle. JS
##### Fixes
- [`KT-79921`](https://youtrack.jetbrains.com/issue/KT-79921) Web Tooling Gradle API does not respect webpack reconfiguration
- [`KT-81009`](https://youtrack.jetbrains.com/issue/KT-81009) K/JS, Wasm: Promote deprecation of NPM and Yarn package manager internal functions
- [`KT-76019`](https://youtrack.jetbrains.com/issue/KT-76019) Wasm/JS: Promote phantom-js for Karma deprecation to ERROR
- [`KT-81005`](https://youtrack.jetbrains.com/issue/KT-81005) K/JS, Wasm: Promote deprecation of ExperimentalWasmDsl to Error
- [`KT-81010`](https://youtrack.jetbrains.com/issue/KT-81010) K/JS, Wasm: Promote deprecation of internal JS functions to Error
- [`KT-81008`](https://youtrack.jetbrains.com/issue/KT-81008) K/JS, Wasm: Promote deprecation of ExperimentalDceDsl to Error
- [`KT-81007`](https://youtrack.jetbrains.com/issue/KT-81007) K/JS, Wasm: Promote deprecation of public constructors of JS declarations to Error
- [`KT-81006`](https://youtrack.jetbrains.com/issue/KT-81006) K/JS, Wasm: Promote wasm declarations in "js" package deprecation to Error
- [`KT-81004`](https://youtrack.jetbrains.com/issue/KT-81004) K/JS, Wasm: promote deprecation NodeJsExec.create to Error
- [`KT-75621`](https://youtrack.jetbrains.com/issue/KT-75621) KJS / Gradle: Disable npm in --offline mode
- [`KT-79910`](https://youtrack.jetbrains.com/issue/KT-79910) Wasm, JS: Upgrade NPM versions
- [`KT-76996`](https://youtrack.jetbrains.com/issue/KT-76996) Wasm: js tasks triggers wasm subtasks
- [`KT-79237`](https://youtrack.jetbrains.com/issue/KT-79237) Upgrade NPM dependencies versions
##### Tools. Gradle. Multiplatform
##### New Features
- [`KT-76446`](https://youtrack.jetbrains.com/issue/KT-76446) Add kotlin-level dependency block to work the same way as commonMain/commonTest dependencies blocks
##### Fixes
- [`KT-61127`](https://youtrack.jetbrains.com/issue/KT-61127) Remove scoped resolvable and intransitive DependenciesMetadata configurations used in the pre-IdeMultiplatformImport IDE import
- [`KT-81980`](https://youtrack.jetbrains.com/issue/KT-81980) KGP warning gives incorrect suggestion for AGP application compatibility
- [`KT-81601`](https://youtrack.jetbrains.com/issue/KT-81601) With `android.builtInKotlin=false` AGP 9.0+, using `kotlin-multiplatform` plugin will fail with a`Class Cast Exception`
- [`KT-81060`](https://youtrack.jetbrains.com/issue/KT-81060) KMP stores common compilation dependency resolution in Configuration cache leading to error when deserializing (Android only)
- [`KT-80720`](https://youtrack.jetbrains.com/issue/KT-80720) Gradle import of multiplatform project fails: "Failed to invoke getAssociateWith on KotlinJvmCompilation\_Decorated"
- [`KT-81200`](https://youtrack.jetbrains.com/issue/KT-81200) Deprecate 'androidTarget'
- [`KT-74005`](https://youtrack.jetbrains.com/issue/KT-74005) Implement a prototype of Unified Klib support in Kotlin Gradle Plugin
- [`KT-77367`](https://youtrack.jetbrains.com/issue/KT-77367) \[uklib] Project dependency to kotlin-jvm module leads to failure in transform during IDE import
- [`KT-80785`](https://youtrack.jetbrains.com/issue/KT-80785) With `android.builtInKotlin=false` and `android.newDsl=true`, using `kotlin-android` plugin will fail with `ClassCastException`
- [`KT-81434`](https://youtrack.jetbrains.com/issue/KT-81434) \[uklib] androidCompileClasspath resolves java compatibility variant instead of android for uklib library
- [`KT-81469`](https://youtrack.jetbrains.com/issue/KT-81469) \[uklib] kmpPublicationStrategy affects resolution during import for androidTarget
- [`KT-81249`](https://youtrack.jetbrains.com/issue/KT-81249) Kotlin 2.2.20 broke KMP implementation of Parcelize
- [`KT-77066`](https://youtrack.jetbrains.com/issue/KT-77066) Promote kotlinArtifacts deprecation to an error
- [`KT-74955`](https://youtrack.jetbrains.com/issue/KT-74955) Remove resources resolution strategy completely
- [`KT-62614`](https://youtrack.jetbrains.com/issue/KT-62614) Remove legacy kotlin-gradle-plugin-model
- [`KT-79559`](https://youtrack.jetbrains.com/issue/KT-79559) AGP complains about configurations resolved at configuration time due to KMP partially resolved dependencies diagnostic
- [`KT-78993`](https://youtrack.jetbrains.com/issue/KT-78993) The value for property '\*' property 'dependencies' is final and cannot be changed any further
- [`KT-76200`](https://youtrack.jetbrains.com/issue/KT-76200) TestModuleProperties.productionModuleName for JVM module isn't present with 2.1.20-RC
- [`KT-55312`](https://youtrack.jetbrains.com/issue/KT-55312) Replace "ALL\_COMPILE\_DEPENDENCIES\_METADATA" configuration with set of metadata dependencies configurations associated per set
- [`KT-52216`](https://youtrack.jetbrains.com/issue/KT-52216) HMPP / KTOR: False positive "TYPE\_MISMATCH" with Throwable descendant
- [`KT-54312`](https://youtrack.jetbrains.com/issue/KT-54312) TCS: Replace CompilationDetails abstract class hierarchy by composable implementation
- [`KT-55230`](https://youtrack.jetbrains.com/issue/KT-55230) Remove metadata dependencies transformation for runtimeOnly scope
##### Tools. Gradle. Native
- [`KT-80675`](https://youtrack.jetbrains.com/issue/KT-80675) Commonized cinterops between "test" compilations produce an import failure
- [`KT-77732`](https://youtrack.jetbrains.com/issue/KT-77732) `commonizeCInterop` failed with "Unresolved classifier: platform/posix/size\_t"
- [`KT-81510`](https://youtrack.jetbrains.com/issue/KT-81510) `commonizeCInterop` exception with 'kotlinNativeBundleConfiguration' not found
- [`KT-81134`](https://youtrack.jetbrains.com/issue/KT-81134) Native: Gradle configuration failure likely related to Klibs cross-compilation
- [`KT-77486`](https://youtrack.jetbrains.com/issue/KT-77486) Remove bitcode DSL
- [`KT-64107`](https://youtrack.jetbrains.com/issue/KT-64107) Kotlin Gradle plugin allows native binaries to have both `debuggable` and `optimized` flags set to `true`
- [`KT-74910`](https://youtrack.jetbrains.com/issue/KT-74910) Bump `destinationDir` in CInteropProcess to hidden
- [`KT-74911`](https://youtrack.jetbrains.com/issue/KT-74911) Promote CInteropProcess.konanVersion to hidden
- [`KT-74864`](https://youtrack.jetbrains.com/issue/KT-74864) Enable exporting KDocs by default to ObjC
- [`KT-72705`](https://youtrack.jetbrains.com/issue/KT-72705) K/N: compile task cache can not be used due to 'artifactVersion' input property
##### Tools. Gradle. Swift Export
- [`KT-81465`](https://youtrack.jetbrains.com/issue/KT-81465) Swift Export package is build with wrong target
- [`KT-81460`](https://youtrack.jetbrains.com/issue/KT-81460) \[KGP] Crash in SwiftExportRunner due to older stdlib
- [`KT-79524`](https://youtrack.jetbrains.com/issue/KT-79524) NoSuchMethodError: 'java.lang.String org.gradle.api.artifacts.ProjectDependency.getPath() for swift export with dependency export fro gradle < 8.11
##### Tools. Incremental Compile
- [`KT-75864`](https://youtrack.jetbrains.com/issue/KT-75864) Implement a conservative mechanism of the IC with compiler plugins generated top-level declarations
- [`KT-55982`](https://youtrack.jetbrains.com/issue/KT-55982) K2: Consider global lookups from plugins in incremental compilation
- [`KT-79504`](https://youtrack.jetbrains.com/issue/KT-79504) Implement an API to provide IC lookups from backend plugins
- [`KT-75657`](https://youtrack.jetbrains.com/issue/KT-75657) Fix difference in incremental compilation scenarios in BTA in-process vs daemon compilation mode
- [`KT-79541`](https://youtrack.jetbrains.com/issue/KT-79541) Refactor tracking of files relation in IC
- [`KT-74628`](https://youtrack.jetbrains.com/issue/KT-74628) Incremental compilation runner does not check compiler exit code before mapping sources to classes
##### Tools. JPS
- [`KT-77347`](https://youtrack.jetbrains.com/issue/KT-77347) Support file-less compatible IC approach
##### Tools. Kapt
- [`KT-79138`](https://youtrack.jetbrains.com/issue/KT-79138) K2: KAPT Java Stub Gen: `Unresolved reference` with `@kotlin`.Metadata in Java in 2.2.0
- [`KT-79133`](https://youtrack.jetbrains.com/issue/KT-79133) K2 kapt: class literal with typealias is not expanded
- [`KT-79305`](https://youtrack.jetbrains.com/issue/KT-79305) K2 kapt: ISE "Cannot evaluate IR expression in annotation" on typealias with unresolved expansion
- [`KT-79136`](https://youtrack.jetbrains.com/issue/KT-79136) K2 kapt: unresolved nested class references in annotation arguments are generated without outer class names
- [`KT-71786`](https://youtrack.jetbrains.com/issue/KT-71786) K2Kapt: Stubs generation does not fail on files with declaration errors
- [`KT-80843`](https://youtrack.jetbrains.com/issue/KT-80843) K2: KAPT: Crash on any data class with duplicate properties: "Sequence contains more than one matching element"
- [`KT-73411`](https://youtrack.jetbrains.com/issue/KT-73411) Remove `kapt.use.k2` property and code which allows to use K2 with K1 kapt
- [`KT-79641`](https://youtrack.jetbrains.com/issue/KT-79641) Kapt: too much information is printed in verbose mode
##### Tools. Maven
- [`KT-82180`](https://youtrack.jetbrains.com/issue/KT-82180) kotlin-maven-plugin: IC succeeds after dependent source deletion
- [`KT-78201`](https://youtrack.jetbrains.com/issue/KT-78201) Maven: migrate JVM compilation to the new BTA
- [`KT-81414`](https://youtrack.jetbrains.com/issue/KT-81414) 2.2.20 regression: OOM (Compressed class space) when in-process
- [`KT-81435`](https://youtrack.jetbrains.com/issue/KT-81435) Maven: Improve BTA classloader reusage
- [`KT-81681`](https://youtrack.jetbrains.com/issue/KT-81681) Maven: "NoClassDefFoundError" on a second test run
- [`KT-81218`](https://youtrack.jetbrains.com/issue/KT-81218) Kotlin Maven Plugin 2.2.20: Java classes not resolved with enabled incremental compilation without daemon
##### Tools. Performance benchmarks
- [`KT-79709`](https://youtrack.jetbrains.com/issue/KT-79709) Add `-Xdetailed-perf` CLI flag to control verbosity of performance logs
- [`KT-79226`](https://youtrack.jetbrains.com/issue/KT-79226) \[K/N] Add performance measurement for native backend lowerings
##### Tools. REPL
- [`KT-80062`](https://youtrack.jetbrains.com/issue/KT-80062) ReplSnippetLowering sometimes produces IrConstructorCall with too many arguments
##### Tools. Scripts
- [`KT-80071`](https://youtrack.jetbrains.com/issue/KT-80071) Kotlin script mode produces invalid IR: "value that is not available in the current scope"
##### Tools. Statistics (FUS)
- [`KT-77407`](https://youtrack.jetbrains.com/issue/KT-77407) Add performance measurement for prefix lowerings
- [`KT-79455`](https://youtrack.jetbrains.com/issue/KT-79455) \[FUS] Collect KSP plugin version
- [`KT-79090`](https://youtrack.jetbrains.com/issue/KT-79090) Integrate dynamic stats into `MarkdownReportRenderer`
##### Tools. Wasm
- [`KT-82365`](https://youtrack.jetbrains.com/issue/KT-82365) K/Wasm: NodeRun tasks in Wasi depend on kotlinWasmToolingSetup
- [`KT-81313`](https://youtrack.jetbrains.com/issue/KT-81313) K/Wasm: update Node.js to 24.x
- [`KT-81315`](https://youtrack.jetbrains.com/issue/KT-81315) K/Wasm: update Node.js to 25.x
- [`KT-80582`](https://youtrack.jetbrains.com/issue/KT-80582) Multiple reloads when using webpack dev server after 2.2.20-Beta2
- [`KT-80896`](https://youtrack.jetbrains.com/issue/KT-80896) K/Wasm: debug tests only once
- [`KT-78921`](https://youtrack.jetbrains.com/issue/KT-78921) K/Wasm: don't generate empty yarn.lock file
### [`v2.2.21`](https://github.com/JetBrains/kotlin/releases/tag/v2.2.21): Kotlin 2.2.21
#### Changelog
##### Backend. Wasm
- [`KT-81372`](https://youtrack.jetbrains.com/issue/KT-81372) K/Wasm: JsException: Exception was thrown while running JavaScript code on Safari 18.2/18.3
- [`KT-80018`](https://youtrack.jetbrains.com/issue/KT-80018) K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit)
##### Compiler
- [`KT-81191`](https://youtrack.jetbrains.com/issue/KT-81191) K2: "null cannot be cast to non-null type ConeTypeParameterLookupTag" with invalid code
- [`KT-80936`](https://youtrack.jetbrains.com/issue/KT-80936) NON\_PUBLIC\_CALL\_FROM\_PUBLIC\_INLINE : `@PublishedApi` doesn't work for fun interfaces
##### JavaScript
- [`KT-79926`](https://youtrack.jetbrains.com/issue/KT-79926) Wrong export of interfaces with companions with ES Modules
- [`KT-81424`](https://youtrack.jetbrains.com/issue/KT-81424) Kotlin/JS: Cannot Get / in a simple running application
- [`KT-80873`](https://youtrack.jetbrains.com/issue/KT-80873) KJS: Stdlib requires ES2020-compatible JS engine due to BigInt type literal
##### Native
- [`KT-79384`](https://youtrack.jetbrains.com/issue/KT-79384) K/N: Application Not Responding: Thread Deadlock
##### Tools. Gradle
- [`KT-79047`](https://youtrack.jetbrains.com/issue/KT-79047) Gradle compileKotlin fails with configuration cache
- [`KT-81148`](https://youtrack.jetbrains.com/issue/KT-81148) Publishing helpers in KGP are incompatible with Isolated Projects
- [`KT-80950`](https://youtrack.jetbrains.com/issue/KT-80950) KGP breaks configuration cache when signing plugin with GnuPG is applied
##### Tools. Gradle. Multiplatform
- [`KT-61127`](https://youtrack.jetbrains.com/issue/KT-61127) Remove scoped resolvable and intransitive DependenciesMetadata configurations used in the pre-IdeMultiplatformImport IDE import
- [`KT-81249`](https://youtrack.jetbrains.com/issue/KT-81249) Kotlin 2.2.20 broke KMP implementation of Parcelize
##### Tools. Gradle. Native
- [`KT-81510`](https://youtrack.jetbrains.com/issue/KT-81510) `commonizeCInterop` exception with 'kotlinNativeBundleConfiguration' not found
- [`KT-81134`](https://youtrack.jetbrains.com/issue/KT-81134) Native: Gradle configuration failure likely related to Klibs cross-compilation
- [`KT-77732`](https://youtrack.jetbrains.com/issue/KT-77732) `commonizeCInterop` failed with "Unresolved classifier: platform/posix/size\_t"
- [`KT-80675`](https://youtrack.jetbrains.com/issue/KT-80675) Commonized cinterops between "test" compilations produce an import failure
##### Tools. Maven
- [`KT-81218`](https://youtrack.jetbrains.com/issue/KT-81218) Kotlin Maven Plugin 2.2.20: Java classes not resolved with enabled incremental compilation without daemon
##### Tools. Wasm
- [`KT-80582`](https://youtrack.jetbrains.com/issue/KT-80582) Multiple reloads when using webpack dev server after 2.2.20-Beta2
### [`v2.2.20`](https://github.com/JetBrains/kotlin/releases/tag/v2.2.20): Kotlin 2.2.20
#### Changelog
##### Analysis API
- [`KT-78187`](https://youtrack.jetbrains.com/issue/KT-78187) Synthetic properties not to be shown as callables
- [`KT-72525`](https://youtrack.jetbrains.com/issue/KT-72525) K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)
- [`KT-74246`](https://youtrack.jetbrains.com/issue/KT-74246) KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site
##### Analysis API. Code Compilation
- [`KT-78382`](https://youtrack.jetbrains.com/issue/KT-78382) K2 IR lowering error when interface extends interface
- [`KT-73201`](https://youtrack.jetbrains.com/issue/KT-73201) K2 IDE: Error while evaluating expressions with local classes
- [`KT-78164`](https://youtrack.jetbrains.com/issue/KT-78164) Evaluator: '`@JvmName`' annotations are not recognized in other modules
- [`KT-76457`](https://youtrack.jetbrains.com/issue/KT-76457) K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm
- [`KT-73084`](https://youtrack.jetbrains.com/issue/KT-73084) K2 evaluator cannot resolve local variables standing at the closing brace
##### Analysis API. FIR
##### Performance Improvements
- [`KT-76490`](https://youtrack.jetbrains.com/issue/KT-76490) Do not load ast during the contracts phase if no contracts present
- [`KT-78132`](https://youtrack.jetbrains.com/issue/KT-78132) Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations
##### Fixes
- [`KT-72227`](https://youtrack.jetbrains.com/issue/KT-72227) SOE from recursive value class
- [`KT-68977`](https://youtrack.jetbrains.com/issue/KT-68977) K2 IDE: Reference to companion object through typealias in a function call does not work
- [`KT-72357`](https://youtrack.jetbrains.com/issue/KT-72357) Implement partial body resolution
- [`KT-76932`](https://youtrack.jetbrains.com/issue/KT-76932) Support context parameters on dangling modifier list
- [`KT-72407`](https://youtrack.jetbrains.com/issue/KT-72407) FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing
- [`KT-77602`](https://youtrack.jetbrains.com/issue/KT-77602) K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-call
- [`KT-77629`](https://youtrack.jetbrains.com/issue/KT-77629) K2: NPE: "org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution"
- [`KT-76855`](https://youtrack.jetbrains.com/issue/KT-76855) Analysis API: `KaType.asPsiType` returns `null` for a local inner class in dependent analysis tests
- [`KT-72718`](https://youtrack.jetbrains.com/issue/KT-72718) ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted
- [`KT-76811`](https://youtrack.jetbrains.com/issue/KT-76811) Analysis API: `resolveToFirSymbol` finds a `FirPropertySymbol` for a `KtScript` in dependent analysis
- [`KT-73586`](https://youtrack.jetbrains.com/issue/KT-73586) \[Analysis API] Add `lazyResolveToPhase(STATUS)` before accessing modifiers of members
- [`KT-71135`](https://youtrack.jetbrains.com/issue/KT-71135) AA: exception from sealed inheritors checker when `analyzeCopy`
- [`KT-75534`](https://youtrack.jetbrains.com/issue/KT-75534) K2 AA: "Containing declaration should present for nested declaration class KtNamedFunction" with dangling annotation on top-level anonymous function
- [`KT-75687`](https://youtrack.jetbrains.com/issue/KT-75687) K2: local variable doesn't get to the do-while scope
- [`KT-56543`](https://youtrack.jetbrains.com/issue/KT-56543) LL FIR: rework lazy transformers so transformers modify only declarations they suppose to
##### Analysis API. Infrastructure
- [`KT-76809`](https://youtrack.jetbrains.com/issue/KT-76809) Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element
##### Analysis API. Light Classes
- [`KT-78835`](https://youtrack.jetbrains.com/issue/KT-78835) Find usages of a light constructor from a class with an empty body finds usages of class as well
- [`KT-78878`](https://youtrack.jetbrains.com/issue/KT-78878) K2. Method shown as unavailable in Java when `@JvmExposeBoxed` is applied (redundantly) at both class and method level in Kotlin
- [`KT-78065`](https://youtrack.jetbrains.com/issue/KT-78065) Support "Expose boxed inline value classes" in Light Classes
- [`KT-78076`](https://youtrack.jetbrains.com/issue/KT-78076) DLC: KotlinDeclarationInCompiledFileSearcher missed accessors if types are boxed
- [`KT-77569`](https://youtrack.jetbrains.com/issue/KT-77569) SLC: annotation missing from generated no-args constructor
- [`KT-75182`](https://youtrack.jetbrains.com/issue/KT-75182) K2 AA. False positive red code "Unresolved reference" to a Kotlin method in Java when Kotlin uses a value class with `@JvmOverloads`
- [`KT-77564`](https://youtrack.jetbrains.com/issue/KT-77564) Constructor with JvmOverloads and value class shouldn't mark regular constructors private
- [`KT-77505`](https://youtrack.jetbrains.com/issue/KT-77505) K2: find usages on java accessor methods do not detect kotlin property accessor usages
- [`KT-76789`](https://youtrack.jetbrains.com/issue/KT-76789) Annotation resolve shouldn't search through non-class members
- [`KT-76907`](https://youtrack.jetbrains.com/issue/KT-76907) Wrong equality between repeatable annotation and container
##### Analysis API. Providers and Caches
- [`KT-77578`](https://youtrack.jetbrains.com/issue/KT-77578) Analysis API: Performance degradation of `KaBaseResolutionScope.contains` after introduction of library restriction scopes
- [`KT-78640`](https://youtrack.jetbrains.com/issue/KT-78640) Analysis API: Remove "friend builtins provider" from `FirDeclarationForCompiledElementSearcher`
- [`KT-74907`](https://youtrack.jetbrains.com/issue/KT-74907) Analysis API: Apply platform-based library module content restrictions consistently
- [`KT-77605`](https://youtrack.jetbrains.com/issue/KT-77605) AA: Leaking KaDanglingFileModule through IdeKotlinPackageProvider
- [`KT-62474`](https://youtrack.jetbrains.com/issue/KT-62474) Analysis API: Improve mergeability and performance of custom search scopes
- [`KT-77022`](https://youtrack.jetbrains.com/issue/KT-77022) Get rid of ExpectBuiltinPostProcessor workaround
- [`KT-77248`](https://youtrack.jetbrains.com/issue/KT-77248) Delegation of `JavaModuleResolver` is restricted to `CliJavaModuleResolver`
- [`KT-76850`](https://youtrack.jetbrains.com/issue/KT-76850) LLFirLibrarySession cannot be cast to LLFirResolvableModuleSession
- [`KT-76952`](https://youtrack.jetbrains.com/issue/KT-76952) Analysis API: `when` exhaustiveness analysis fails for sealed classes in dangling files
- [`KT-72390`](https://youtrack.jetbrains.com/issue/KT-72390) Kotlin project full of red code
##### Analysis API. Standalone
- [`KT-78638`](https://youtrack.jetbrains.com/issue/KT-78638) Analysis API Standalone: Stdlib builtins are not indexed in `STUBS` deserialized declaration origin mode
##### Analysis API. Stubs and Decompilation
- [`KT-77496`](https://youtrack.jetbrains.com/issue/KT-77496) Support HAS\_MUST\_USE\_RETURN\_VALUE metadata flags in FirStubBasedMemberDeserializer
- [`KT-77778`](https://youtrack.jetbrains.com/issue/KT-77778) Function receivers doesn't have annotations
- [`KT-77777`](https://youtrack.jetbrains.com/issue/KT-77777) Receiver annotations shouldn't be present on types
- [`KT-77538`](https://youtrack.jetbrains.com/issue/KT-77538) Support default property accessors with annotations
- [`KT-77763`](https://youtrack.jetbrains.com/issue/KT-77763) Decompiled stubs miss inline modifier for property accessors
- [`KT-77309`](https://youtrack.jetbrains.com/issue/KT-77309) Decompiled property from annotation constructor with default value should have a constant initializer
- [`KT-77168`](https://youtrack.jetbrains.com/issue/KT-77168) Prefer DataInputOutputUtil for serialization/deserialization
- [`KT-77117`](https://youtrack.jetbrains.com/issue/KT-77117) Flaky WRONG\_ANNOTATION\_TARGET diagnostic
- [`KT-76791`](https://youtrack.jetbrains.com/issue/KT-76791) Function signature types are deserialized inconsistently
- [`KT-76947`](https://youtrack.jetbrains.com/issue/KT-76947) Support functional types with context parameters
##### Analysis API. Surface
##### New Features
- [`KT-73473`](https://youtrack.jetbrains.com/issue/KT-73473) Provide KaExpressionInformationProvider.isUsedAsResultOfLambda
- [`KT-77278`](https://youtrack.jetbrains.com/issue/KT-77278) Implement psi-based `KaFirKotlinPropertyKtPropertyBasedSymbol#hasBackingField`
- [`KT-70770`](https://youtrack.jetbrains.com/issue/KT-70770) KaLocalVariableSymbol: support `isLateInit`
##### Performance Improvements
- [`KT-78526`](https://youtrack.jetbrains.com/issue/KT-78526) Get rid of redundant `checkValidity` from `withPsiValidityAssertion`
##### Fixes
- [`KT-77674`](https://youtrack.jetbrains.com/issue/KT-77674) Analysis API: Redundant smart cast to the original type
- [`KT-76577`](https://youtrack.jetbrains.com/issue/KT-76577) Guard KaFirStopWorldCacheCleaner from deadlocks via threads waiting
- [`KT-78820`](https://youtrack.jetbrains.com/issue/KT-78820) K2: ISE "FIR element class FirErrorExpressionImpl is not supported in constant evaluation" through RedundantValueArgumentInspection
- [`KT-75057`](https://youtrack.jetbrains.com/issue/KT-75057) Analysis API: Reference to object through typealias in invoke operator call leads to original type
- [`KT-79042`](https://youtrack.jetbrains.com/issue/KT-79042) Do not restore KaTypePointer if target kind has changed
- [`KT-72421`](https://youtrack.jetbrains.com/issue/KT-72421) AA: "KtReference.resolveToSymbols" returns empty list when ASSIGN\_OPERATOR\_AMBGUITY error is present
- [`KT-63464`](https://youtrack.jetbrains.com/issue/KT-63464) AA: KtPsiTypeProvider#asPsiType doesn't substitute kotlin.Unit
- [`KT-75913`](https://youtrack.jetbrains.com/issue/KT-75913) K2: SymbolLightLazyAnnotation evaluates arguments and replaces them with constants
- [`KT-78628`](https://youtrack.jetbrains.com/issue/KT-78628) K2. Setting Receiver=true in Change Signature produces parameter of regular function type receiver instead of extension function type
- [`KT-78278`](https://youtrack.jetbrains.com/issue/KT-78278) ISE: FIR element "class org.jetbrains.kotlin.fir.expressions.impl.FirErrorResolvedQualifierImpl" is not supported in constant evaluation at org.jetbrains.uast.kotlin.internal.FirKotlinUastConstantEvaluator.evaluate
- [`KT-73184`](https://youtrack.jetbrains.com/issue/KT-73184) Analysis API: KaFunctionCall.argumentMapping is unexpectedly deparenthesised
- [`KT-73327`](https://youtrack.jetbrains.com/issue/KT-73327) Cover all psi inputs with scope validity assertions
- [`KT-78613`](https://youtrack.jetbrains.com/issue/KT-78613) PSI: add binary compatibility checks
- [`KT-74013`](https://youtrack.jetbrains.com/issue/KT-74013) Analysis API: Cover the API surface with `@SubclassOptInRequired` annotations
- [`KT-76614`](https://youtrack.jetbrains.com/issue/KT-76614) Move the parser and lexer to a separate module
- [`KT-78552`](https://youtrack.jetbrains.com/issue/KT-78552) `KaFunctionValueParameter` is not marked as `KaLifetimeOwner`
- [`KT-71152`](https://youtrack.jetbrains.com/issue/KT-71152) Add back SubclassOptInRequired to classes in KaModule.kt
- [`KT-71876`](https://youtrack.jetbrains.com/issue/KT-71876) Support storing parameter names in `KaFunctionType`
- [`KT-77738`](https://youtrack.jetbrains.com/issue/KT-77738) AA: inconsistent `KaType.allSupertypes` regarding multiple iterations
- [`KT-75358`](https://youtrack.jetbrains.com/issue/KT-75358) K2 AA, KaFirVisibilityChecker: private member of anonymous object is not visible inside it
- [`KT-73723`](https://youtrack.jetbrains.com/issue/KT-73723) K2 AA, KaFirVisibilityChecker: protected member of superclass is not visible from anonymous object
- [`KT-78057`](https://youtrack.jetbrains.com/issue/KT-78057) \[Analysis API, K2] Context parameters are not resolved in KDoc
- [`KT-73758`](https://youtrack.jetbrains.com/issue/KT-73758) K2 Mode: "KaEvaluator.evaluate" does not work for simple arithmetic expressions
- [`KT-72301`](https://youtrack.jetbrains.com/issue/KT-72301) K2 AA. `PSI should present for declaration built by Kotlin code` on property access syntax of generic Java getter through Kotlin subclass
- [`KT-77730`](https://youtrack.jetbrains.com/issue/KT-77730) K2: Unable to get a light PSI for a nested annotation used with fully-qualified name
- [`KT-73216`](https://youtrack.jetbrains.com/issue/KT-73216) K2: unresolvable references in type parameters
- [`KT-71794`](https://youtrack.jetbrains.com/issue/KT-71794) Analysis API: Types with errors have unresolved qualifiers in lambda parameters position
- [`KT-65846`](https://youtrack.jetbrains.com/issue/KT-65846) Support parameter names in functional type rendering
- [`KT-76738`](https://youtrack.jetbrains.com/issue/KT-76738) K2 AA: rendering constructor of sealed class inserts protected modifier
- [`KT-77515`](https://youtrack.jetbrains.com/issue/KT-77515) `KaTypeProvider#receiverType` should be more tolerant to an error code
- [`KT-77333`](https://youtrack.jetbrains.com/issue/KT-77333) K2 AA: KaFirTypeProvider.getType: InvalidFirElementTypeException: For TYPE\_REFERENCE with text `I`, unexpected element of type: FirSuperReceiverExpressionImpl found
- [`KT-76044`](https://youtrack.jetbrains.com/issue/KT-76044) K2 AA: isFun is true for restored symbol of Java interface with several methods
- [`KT-77264`](https://youtrack.jetbrains.com/issue/KT-77264) `KaTypeProvider#type` should be more tolerant to an error code
- [`KT-77282`](https://youtrack.jetbrains.com/issue/KT-77282) KaPropertySymbol: support `isDelegatedProperty` for libraries
- [`KT-77254`](https://youtrack.jetbrains.com/issue/KT-77254) K2 AA: expectedType doesn't provide anything for parameter default value
- [`KT-74777`](https://youtrack.jetbrains.com/issue/KT-74777) KaVariableSymbol.hasBackingField returns incorrect result for libraries
- [`KT-77280`](https://youtrack.jetbrains.com/issue/KT-77280) Rename `KaPropertyAccessorSymbol#isCustom` to `isNotDefault`
- [`KT-77210`](https://youtrack.jetbrains.com/issue/KT-77210) Analysis API: `scopeContext` shows implicit receiver with a class instance in the class constructor
- [`KT-77196`](https://youtrack.jetbrains.com/issue/KT-77196) Clarify differences between KaPropertyAccessorSymbol#{isDefault, hasBody}
- [`KT-76580`](https://youtrack.jetbrains.com/issue/KT-76580) K2: No expected type for the second+ vararg argument
- [`KT-76750`](https://youtrack.jetbrains.com/issue/KT-76750) K2. internal exception 'Unable to provide inlay hint' on typo in nested lambdas
- [`KT-73290`](https://youtrack.jetbrains.com/issue/KT-73290) Analysis API: Improve the architecture of content scopes and resolution scopes
- [`KT-73055`](https://youtrack.jetbrains.com/issue/KT-73055) Get rid of the deprecated Analysis API API
- [`KT-70199`](https://youtrack.jetbrains.com/issue/KT-70199) K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments
##### Backend. Wasm
##### New Features
- [`KT-65721`](https://youtrack.jetbrains.com/issue/KT-65721) K/Wasm: stop unconditionally exporting any main function from the root package
##### Performance Improvements
- [`KT-70097`](https://youtrack.jetbrains.com/issue/KT-70097) Optimize shared primitive variables in Native and Wasm
##### Fixes
- [`KT-80106`](https://youtrack.jetbrains.com/issue/KT-80106) devServer in Kotlin/Wasm overwrites defaults, causing missing static paths
- [`KT-80018`](https://youtrack.jetbrains.com/issue/KT-80018) K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit)
- [`KT-66072`](https://youtrack.jetbrains.com/issue/KT-66072) K/Wasm: improve how exceptions work in JS interop
- [`KT-77897`](https://youtrack.jetbrains.com/issue/KT-77897) WasmJs: ClassCastException when using star-projection with nullable transformation in generic extension function
- [`KT-71533`](https://youtrack.jetbrains.com/issue/KT-71533) K/Wasm + K2: no error on KClass::qualifiedName usages
- [`KT-73931`](https://youtrack.jetbrains.com/issue/KT-73931) WASM: "RuntimeError: illegal cast" with nullable generic
- [`KT-65403`](https://youtrack.jetbrains.com/issue/KT-65403) \[WASM] RuntimeError is thrown instead of ClassCastException
- [`KT-79317`](https://youtrack.jetbrains.com/issue/KT-79317) \[Wasm] Do not throw CCE for ExcludedFromCodegen declarations
- [`KT-66085`](https://youtrack.jetbrains.com/issue/KT-66085) K/WASM: Runtime error is uncaught with `catch (e: Throwable)`
- [`KT-78036`](https://youtrack.jetbrains.com/issue/KT-78036) K/Wasm: generate a message with "expected" and "actual" types in case of CCE
- [`KT-78384`](https://youtrack.jetbrains.com/issue/KT-78384) K/Wasm: Incorrect debug info of local declarations in inline function from another file
- [`KT-72220`](https://youtrack.jetbrains.com/issue/KT-72220) Wasm: Unclear exception in case of missed dependency
- [`KT-71691`](https://youtrack.jetbrains.com/issue/KT-71691) No trace on Wasm/JS if an error occurred in initializing global variables in a file with the main function
- [`KT-67554`](https://youtrack.jetbrains.com/issue/KT-67554) \[Wasm] Consider to have reference equals or/and equals for function references
- [`KT-71521`](https://youtrack.jetbrains.com/issue/KT-71521) K/Wasm: incorrect results on equality checks for capturing property references
- [`KT-71522`](https://youtrack.jetbrains.com/issue/KT-71522) K/Wasm: incorrect results on equality checks for function references
- [`KT-69570`](https://youtrack.jetbrains.com/issue/KT-69570) K/Wasm: JsExport with default parameter value compiles to invalid Wasm
- [`KT-71517`](https://youtrack.jetbrains.com/issue/KT-71517) K/Wasm: KClass::qualifiedName for local classes and objects returns non-null value
- [`KT-68309`](https://youtrack.jetbrains.com/issue/KT-68309) WASM: Anonymous class simpleName returns "<no name provided>" instead of null
- [`KT-77272`](https://youtrack.jetbrains.com/issue/KT-77272) K/Wasm: Remove kotlin.wasm.internal.ClosureBox\* classes from the standard library
- [`KT-66106`](https://youtrack.jetbrains.com/issue/KT-66106) Wasm: lambda was not invoked in test lambda2.kt
- [`KT-77855`](https://youtrack.jetbrains.com/issue/KT-77855) \[Wasm] Improve virtual function calls speed for lambdas
- [`KT-77501`](https://youtrack.jetbrains.com/issue/KT-77501) Wasm: unsigned vararg compiles to invalid Wasm
- [`KT-76775`](https://youtrack.jetbrains.com/issue/KT-76775) \[Wasm] Inconsistent FP mod operation
- [`KT-77464`](https://youtrack.jetbrains.com/issue/KT-77464) Wasm: KType.toString() has simple names even with -Xwasm-kclass-fqn
- [`KT-77465`](https://youtrack.jetbrains.com/issue/KT-77465) Wasm: KTypeParamter printed without variance information
##### Compiler
##### New Features
- [`KT-71768`](https://youtrack.jetbrains.com/issue/KT-71768) Enable -Xjvm-default=all-compatibility by default to generate JVM default interface methods
- [`KT-78374`](https://youtrack.jetbrains.com/issue/KT-78374) Make indy lambda function name generation more consistent
- [`KT-45683`](https://youtrack.jetbrains.com/issue/KT-45683) Allow generics in contract type assertions
- [`KT-27090`](https://youtrack.jetbrains.com/issue/KT-27090) Support contracts in getter and setter for top-level extension properties
- [`KT-76766`](https://youtrack.jetbrains.com/issue/KT-76766) Warning is missing for wrong subclass checking
- [`KT-71244`](https://youtrack.jetbrains.com/issue/KT-71244) Incorporate existing `@CheckReturnValue` annotation(s) into Kotlin's unused return value checker
- [`KT-73256`](https://youtrack.jetbrains.com/issue/KT-73256) Implement `all` meta-target for annotations
- [`KT-78792`](https://youtrack.jetbrains.com/issue/KT-78792) Report warning for redundant return in expression body
- [`KT-32313`](https://youtrack.jetbrains.com/issue/KT-32313) Support contracts for operator functions
- [`KT-70722`](https://youtrack.jetbrains.com/issue/KT-70722) Implement better Kotlin warnings for value classes and JEP 390 (Warnings for Value-Based Classes)
- [`KT-65688`](https://youtrack.jetbrains.com/issue/KT-65688) Generate when-expressions over final classes via invokedynamic typeSwitch + tableswitch on JDK 21+
- [`KT-54344`](https://youtrack.jetbrains.com/issue/KT-54344) Trigger the unused expression warning for interpolated strings, even when the expression may have side effects
- [`KT-74807`](https://youtrack.jetbrains.com/issue/KT-74807) Implement 'full' unused return value checker mode
- [`KT-77653`](https://youtrack.jetbrains.com/issue/KT-77653) K/N: an optimization pass to remove redundant type checks
- [`KT-64477`](https://youtrack.jetbrains.com/issue/KT-64477) Enhance KotlinLightParser to make it able to parse scripts
- [`KT-74809`](https://youtrack.jetbrains.com/issue/KT-74809) Support unnamed local variables
- [`KT-72941`](https://youtrack.jetbrains.com/issue/KT-72941) ANNOTATIONS\_ON\_BLOCK\_LEVEL\_EXPRESSION\_ON\_THE\_SAME\_LINE missing in K2
- [`KT-75061`](https://youtrack.jetbrains.com/issue/KT-75061) Support context-sensitive resolution in type position
##### Performance Improvements
- [`KT-77993`](https://youtrack.jetbrains.com/issue/KT-77993) Optimize old PSI/LightTree Kotlin parser
- [`KT-78672`](https://youtrack.jetbrains.com/issue/KT-78672) Consider having FirCallableSymbol.callableId null for local properties / parameters
- [`KT-77839`](https://youtrack.jetbrains.com/issue/KT-77839) K2: consider not creating CallableId for value parameters / variables / fields
- [`KT-74981`](https://youtrack.jetbrains.com/issue/KT-74981) Kotlin/Native: large binary size for iOS target in 2.1.0(LLVM16)
- [`KT-77838`](https://youtrack.jetbrains.com/issue/KT-77838) K2: consider replacing LinkedHashMap with HashMap inside scopes and scope session
- [`KT-76698`](https://youtrack.jetbrains.com/issue/KT-76698) Android Studio compose preview holds read lock 700ms for KaCompilerFacility API
- [`KT-68677`](https://youtrack.jetbrains.com/issue/KT-68677) Kotlin compilation issue when using EnumMap and Pair
##### Fixes
- [`KT-79979`](https://youtrack.jetbrains.com/issue/KT-79979) K2: ClassCastException when overriding extension property with delegation
- [`KT-67146`](https://youtrack.jetbrains.com/issue/KT-67146) `UPPER_BOUND_VIOLATED` missing on implicit type arguments
- [`KT-76477`](https://youtrack.jetbrains.com/issue/KT-76477) Kotlin/Native: fix compiler performance reporting in sources->klib and klibs->binary
- [`KT-79866`](https://youtrack.jetbrains.com/issue/KT-79866) kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an error
- [`KT-78666`](https://youtrack.jetbrains.com/issue/KT-78666) "Platform declaration clash" caused by indy lambda name generation which generates conflicting names
- [`KT-80285`](https://youtrack.jetbrains.com/issue/KT-80285) IJ monorepo: broken compilation after 2.2.20-RC update
- [`KT-79442`](https://youtrack.jetbrains.com/issue/KT-79442) "Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces
- [`KT-78589`](https://youtrack.jetbrains.com/issue/KT-78589) "Class does not have member field" caused by delegation from a Java to Kotlin class
- [`KT-79816`](https://youtrack.jetbrains.com/issue/KT-79816) Java Interfaces implemented by delegation have non-null return checks
- [`KT-78097`](https://youtrack.jetbrains.com/issue/KT-78097) False positive NO\_ELSE\_IN\_WHEN on sealed interface with negative is check
- [`KT-77182`](https://youtrack.jetbrains.com/issue/KT-77182) A function in a file annotated with `@file`:MustUseReturnValue doesn't produce a warning when it is used from compiled code
- [`KT-79085`](https://youtrack.jetbrains.com/issue/KT-79085) Adding `-Xreturn-value-checker=full` to kotlinc causes "error: conflicting overloads"
- [`KT-75268`](https://youtrack.jetbrains.com/issue/KT-75268) K2: Implement the new compilation scheme for MPP (compiler part)
- [`KT-78843`](https://youtrack.jetbrains.com/issue/KT-78843) FIR tree: comments within String concatenation aren't visited in 2.2.0
- [`KT-77401`](https://youtrack.jetbrains.com/issue/KT-77401) \[FIR] `ParameterNameTypeAttribute.name` doesn't support `@ParameterName` with compile-time constant property argument
- [`KT-73611`](https://youtrack.jetbrains.com/issue/KT-73611) Remove -Xextended-compiler-checks in favor of a deprecation cycle
- [`KT-79276`](https://youtrack.jetbrains.com/issue/KT-79276) Dexing fails with "Cannot read field X because <local0> is null" with 2.2.0
- [`KT-79781`](https://youtrack.jetbrains.com/issue/KT-79781) Missing MISSING\_DEPENDENCY\_CLASS when using type alias with inaccessible RHS
- [`KT-78621`](https://youtrack.jetbrains.com/issue/KT-78621) false-positive type mismatch error on value of nullable type as value of platform type
- [`KT-79547`](https://youtrack.jetbrains.com/issue/KT-79547) "UnsupportedOperationException: Not supported" with inlining and value classes
- [`KT-52706`](https://youtrack.jetbrains.com/issue/KT-52706) Bad signature for generic value classes with substituted type parameter
- [`KT-79519`](https://youtrack.jetbrains.com/issue/KT-79519) Nested type alias is unreachable from another module
- [`KT-76839`](https://youtrack.jetbrains.com/issue/KT-76839) False-negative MISSING\_DEPENDENCY\_CLASS on parameter of data class constructor
- [`KT-78352`](https://youtrack.jetbrains.com/issue/KT-78352) False-positive IDENTITY\_SENSITIVE\_OPERATIONS\_WITH\_VALUE\_TYPE when comparing with equality operator (==)
- [`KT-78815`](https://youtrack.jetbrains.com/issue/KT-78815) `Symbol not found: __ZNSt3__117bad_function_callD1Ev` error on iOS 15.5 simulator in Xcode 16.3 after update to 2.2.0-Beta2
- [`KT-25341`](https://youtrack.jetbrains.com/issue/KT-25341) NOT\_YET\_SUPPORTED\_IN\_INLINE reported over anonymous object border
- [`KT-77099`](https://youtrack.jetbrains.com/issue/KT-77099) 'all' annotation target is not a soft keyword
- [`KT-76478`](https://youtrack.jetbrains.com/issue/KT-76478) FIR: Implement IDE-only checker for types exposed in inline function
- [`KT-79355`](https://youtrack.jetbrains.com/issue/KT-79355) Failed to fix the problem of desugared `inc` with new reverse implies returns contract
- [`KT-79277`](https://youtrack.jetbrains.com/issue/KT-79277) Implies returns contract doesn't affect the return type of the function if it is in the argument position
- [`KT-79271`](https://youtrack.jetbrains.com/issue/KT-79271) Implies returns contract doesn't impact exhaustiveness
- [`KT-79218`](https://youtrack.jetbrains.com/issue/KT-79218) SMARTCAST\_IMPOSSIBLE for top‑level extension‑property getter despite returnsNotNull contract
- [`KT-79220`](https://youtrack.jetbrains.com/issue/KT-79220) returnsNotNull contract ignored on extension function with nullable receiver
- [`KT-79354`](https://youtrack.jetbrains.com/issue/KT-79354) IllegalStateException: Debug metadata version mismatch. Expected: 1, got 2 with compiler 2.2.20-Beta1 and stdlib 2.2.0
- [`KT-78479`](https://youtrack.jetbrains.com/issue/KT-78479) IR lowering failed / Unexpected null argument for composable call
- [`KT-77986`](https://youtrack.jetbrains.com/issue/KT-77986) K2: False negative: "Local classes are not yet supported in inline functions"
- [`KT-79076`](https://youtrack.jetbrains.com/issue/KT-79076) 'IllegalStateException: Cannot serialize error type: ERROR CLASS: Uninferred type' with Exposed column using recursive generic type
- [`KT-78726`](https://youtrack.jetbrains.com/issue/KT-78726) Split runPsiToIr phase into runPsiToIr and runIrLinker
- [`KT-77672`](https://youtrack.jetbrains.com/issue/KT-77672) K/N: come up with a fallback strategy for the casts optimization pass
- [`KT-76365`](https://youtrack.jetbrains.com/issue/KT-76365) K2: Missing ABSTRACT\_SUPER\_CALL
- [`KT-76585`](https://youtrack.jetbrains.com/issue/KT-76585) K2: RETURN\_IN\_FUNCTION\_WITH\_EXPRESSION\_BODY is not reported inside initializers of local variables
- [`KT-79099`](https://youtrack.jetbrains.com/issue/KT-79099) K2: Do not inherit inline modifier
- [`KT-76902`](https://youtrack.jetbrains.com/issue/KT-76902) Omit type-use annotations from diagnostics
- [`KT-64499`](https://youtrack.jetbrains.com/issue/KT-64499) Report error on overloading by order of context parameters
- [`KT-58988`](https://youtrack.jetbrains.com/issue/KT-58988) K2: Deprecate exposing package-private parameter of internal method
- [`KT-77199`](https://youtrack.jetbrains.com/issue/KT-77199) OPT\_IN\_USAGE\_ERROR is still absent when calling the enum primary constructor
- [`KT-72800`](https://youtrack.jetbrains.com/issue/KT-72800) K2: java.util.NoSuchElementException when introduce variable
- [`KT-79056`](https://youtrack.jetbrains.com/issue/KT-79056) Add experimental language version 2.5
- [`KT-17460`](https://youtrack.jetbrains.com/issue/KT-17460) Diagnostics and intention on suspend function that is overriden with non-suspend one.
- [`KT-78351`](https://youtrack.jetbrains.com/issue/KT-78351) Plugins: VIRTUAL\_MEMBER\_HIDDEN caused by FirSupertypeGenerationExtension
- [`KT-78527`](https://youtrack.jetbrains.com/issue/KT-78527) No LESS\_VISIBLE\_TYPE\_ACCESS\_IN\_INLINE\_WARNING is reported when a private companion object is accessed via the class name
- [`KT-79045`](https://youtrack.jetbrains.com/issue/KT-79045) FirExpectActualMatcherTransformer should not visit bodies
- [`KT-74570`](https://youtrack.jetbrains.com/issue/KT-74570) K2: Linenumber for annotation on property is present in LVT
- [`KT-74569`](https://youtrack.jetbrains.com/issue/KT-74569) K2: Linenumber of annotation is present in constructor's LVT
- [`KT-64731`](https://youtrack.jetbrains.com/issue/KT-64731) K2: Annotation on inline function or inside inline function is hit by debugger
- [`KT-77756`](https://youtrack.jetbrains.com/issue/KT-77756) Add experimental language version 2.4
- [`KT-78837`](https://youtrack.jetbrains.com/issue/KT-78837) linkReleaseFrameworkIosArm64: Compilation failed: An interface expected but was Any
- [`KT-78945`](https://youtrack.jetbrains.com/issue/KT-78945) CONTRACT\_NOT\_ALLOWED is not reported for local operator functions
- [`KT-78944`](https://youtrack.jetbrains.com/issue/KT-78944) ANNOTATION\_IN\_CONTRACT\_ERROR is not reported for operators and property accessors with contracts
- [`KT-78943`](https://youtrack.jetbrains.com/issue/KT-78943) ERROR\_IN\_CONTRACT\_DESCRIPTION is not reported for operators and property accessors with contracts
- [`KT-78932`](https://youtrack.jetbrains.com/issue/KT-78932) Contracts are allowed for open and overridden property accessors
- [`KT-77203`](https://youtrack.jetbrains.com/issue/KT-77203) FIR: Consider adding destructured type to all COMPONENT\_FUNCTION\_\* diagnostics
- [`KT-76635`](https://youtrack.jetbrains.com/issue/KT-76635) Implement Data-Flow Based Exhaustiveness Support
- [`KT-78805`](https://youtrack.jetbrains.com/issue/KT-78805) K2: False positive METHOD\_OF\_ANY\_IMPLEMENTED\_IN\_INTERFACE
- [`KT-78651`](https://youtrack.jetbrains.com/issue/KT-78651) No need to report LESS\_VISIBLE\_TYPE\_ACCESS\_IN\_INLINE\_WARNING in noinline default value lambda
- [`KT-78849`](https://youtrack.jetbrains.com/issue/KT-78849) K2: \[Wasm, Fir2IR] Invalid smartcast on overloaded function call
- [`KT-78793`](https://youtrack.jetbrains.com/issue/KT-78793) Make feature AllowEagerSupertypeAccessibilityChecks experimental
- [`KT-78736`](https://youtrack.jetbrains.com/issue/KT-78736) Missing \[NOT\_YET\_SUPPORTED\_IN\_INLINE] diagnostics because of incorrect context update
- [`KT-78324`](https://youtrack.jetbrains.com/issue/KT-78324) K2: False negative \[INCONSISTENT\_TYPE\_PARAMETER\_VALUES]
- [`KT-69975`](https://youtrack.jetbrains.com/issue/KT-69975) KDoc: cannot reference elements with names in backticks
- [`KT-78229`](https://youtrack.jetbrains.com/issue/KT-78229) KDoc: unable to reference a method with spaces in the name
- [`KT-78047`](https://youtrack.jetbrains.com/issue/KT-78047) Render unnamed context parameters as \_ instead of <unused var>
- [`KT-74621`](https://youtrack.jetbrains.com/issue/KT-74621) Debugger: AssertionError on evaluating two suspending calls
- [`KT-78784`](https://youtrack.jetbrains.com/issue/KT-78784) Improve deprecation warnings about KTLC-284
- [`KT-76826`](https://youtrack.jetbrains.com/issue/KT-76826) New inference error \[NewConstraintError at Incorporate TypeVariable] caused by recursive generics and nullable expected type
- [`KT-77685`](https://youtrack.jetbrains.com/issue/KT-77685) "IllegalArgumentException: Sequence contains more than one matching element"
- [`KT-78028`](https://youtrack.jetbrains.com/issue/KT-78028) "FirNamedFunctionSymbol" leaks to the error message about missing infix modifier
- [`KT-77245`](https://youtrack.jetbrains.com/issue/KT-77245) Add expression name to RETURN\_VALUE\_NOT\_USED diagnostic
- [`KT-78071`](https://youtrack.jetbrains.com/issue/KT-78071) False-positive NO\_ELSE\_IN\_WHEN after variable reassignment
- [`KT-78068`](https://youtrack.jetbrains.com/issue/KT-78068) False-positive NO\_ELSE\_IN\_WHEN after excluding enum value with inequality check
- [`KT-71134`](https://youtrack.jetbrains.com/issue/KT-71134) Consider to get rid of CapturedTypeMarker.withNotNullProjection()
- [`KT-77131`](https://youtrack.jetbrains.com/issue/KT-77131) getValue/setValue can be declared with more than two/three parameters
- [`KT-78452`](https://youtrack.jetbrains.com/issue/KT-78452) Drop redundant frontend structures after fir2ir conversion
- [`KT-78458`](https://youtrack.jetbrains.com/issue/KT-78458) Don't populate PredicateBasedProvider if no lookup predicates are registered
- [`KT-78440`](https://youtrack.jetbrains.com/issue/KT-78440) Lambda with an implicitly runtime-retained annotation is generated via invokedynamic with `-Xindy-allow-annotated-lambdas=false`
- [`KT-77709`](https://youtrack.jetbrains.com/issue/KT-77709) Missing diagnostics of accessing less visible objects in inline function
- [`KT-77577`](https://youtrack.jetbrains.com/issue/KT-77577) False positive exposed type warnings
- [`KT-77095`](https://youtrack.jetbrains.com/issue/KT-77095) FIR: Report warnings on exposure of references to invisible references in inline functions
- [`KT-76981`](https://youtrack.jetbrains.com/issue/KT-76981) Move exposed type checker to regular checkers
- [`KT-78252`](https://youtrack.jetbrains.com/issue/KT-78252) ClassCastException when `Array<Void>` used for compile-time vararg of `Nothing`
- [`KT-77713`](https://youtrack.jetbrains.com/issue/KT-77713) Context Parameters cause compiler generate r8 incompatible bytecode
- [`KT-71854`](https://youtrack.jetbrains.com/issue/KT-71854) K2 IDE. False positive red code because of external annotation on a generic parameter
- [`KT-67335`](https://youtrack.jetbrains.com/issue/KT-67335) K2: Infers Int instead of Long for an ILT
- [`KT-76629`](https://youtrack.jetbrains.com/issue/KT-76629) K2 Mode: False positive RedundantVisibilityModifier inspection on private constructors in sealed classes
- [`KT-77728`](https://youtrack.jetbrains.com/issue/KT-77728) Drop controversial experimental checkers
- [`KT-78429`](https://youtrack.jetbrains.com/issue/KT-78429) K2: Property callable reference incorrectly smart-casted to intersection of property type and KProperty
- [`KT-78509`](https://youtrack.jetbrains.com/issue/KT-78509) Renamed for override copy functions are cached in scope instead of session
- [`KT-17417`](https://youtrack.jetbrains.com/issue/KT-17417) Loops in delegation: no compilation error on non-abstract class with abstract method that never implemented
- [`KT-75033`](https://youtrack.jetbrains.com/issue/KT-75033) Split JvmBackendPipelinePhase to be able to provide a custom implementation of writeOutputs
- [`KT-75831`](https://youtrack.jetbrains.com/issue/KT-75831) K2: An extra "\[VALUE\_PARAMETER\_WITHOUT\_EXPLICIT\_TYPE] An explicit type is required on a value parameter." for a missing parameter
- [`KT-78370`](https://youtrack.jetbrains.com/issue/KT-78370) All the \[something]Assign operators on dynamic return Unit as a type
- [`KT-73950`](https://youtrack.jetbrains.com/issue/KT-73950) K2 IDE / Kotlin Debugger: ISE “Fake override should have at least one overridden descriptor” on evaluation of local calss in presence of bystander
- [`KT-78280`](https://youtrack.jetbrains.com/issue/KT-78280) Implement the sourceless `KtDiagnostic`s
- [`KT-76543`](https://youtrack.jetbrains.com/issue/KT-76543) Migrate psi2ir sources to new IR parameter API
- [`KT-77716`](https://youtrack.jetbrains.com/issue/KT-77716) Kotlin/Native and -Xseparate-kmp-compilation: "Compilation failed: Several functions kotlin/native/immutableBlobOf found"
- [`KT-76400`](https://youtrack.jetbrains.com/issue/KT-76400) Context-sensitive resolution doesn’t work in if-else condition passed as a function argument
- [`KT-76606`](https://youtrack.jetbrains.com/issue/KT-76606) Enable 'Indy: Allow lambdas with annotations' by default
- [`KT-76739`](https://youtrack.jetbrains.com/issue/KT-76739) Dubious argument type mismatch "actual type is 'String', but 'String' was expected" caused by wrong number of type arguments
- [`KT-78121`](https://youtrack.jetbrains.com/issue/KT-78121) Report warning on function type with multiple implicit values that's annotated with DSL marker
- [`KT-76872`](https://youtrack.jetbrains.com/issue/KT-76872) Anonymous context parameters are not visible in debugger
- [`KT-74088`](https://youtrack.jetbrains.com/issue/KT-74088) Kotlin Debugger: CCE on evaluating private suspend function
- [`KT-77301`](https://youtrack.jetbrains.com/issue/KT-77301) False positive Context Parameter resolution when using DslMarker
- [`KT-78230`](https://youtrack.jetbrains.com/issue/KT-78230) Add more test cases to the holdsIn contracts
- [`KT-78111`](https://youtrack.jetbrains.com/issue/KT-78111) K2: Approximation of captured star projection in function type produces `Function1<Nothing?, Unit>` in IR
- [`KT-77273`](https://youtrack.jetbrains.com/issue/KT-77273) K/N: Remove the kotlin.native.internal.Ref class from the standard library
- [`KT-73995`](https://youtrack.jetbrains.com/issue/KT-73995) JVM bytecode: Bad name for value class field
- [`KT-73013`](https://youtrack.jetbrains.com/issue/KT-73013) Kotlin Debugger: ISE “No mapping for symbol: VALUE\_PARAMETER” on evaluating callable reference to local function with closure in it
- [`KT-77665`](https://youtrack.jetbrains.com/issue/KT-77665) K2: unresolved annotatation on local context parameter type
- [`KT-77485`](https://youtrack.jetbrains.com/issue/KT-77485) Add constraints logging to inference
- [`KT-76504`](https://youtrack.jetbrains.com/issue/KT-76504) Find and deprecate actively used parts of K1 API
- [`KT-75338`](https://youtrack.jetbrains.com/issue/KT-75338) K2 Mode: False positive "Redundant assignment" diagnostic on variable captured by local function
- [`KT-77648`](https://youtrack.jetbrains.com/issue/KT-77648) K2: False negative DSL\_SCOPE\_VIOLATION when using named argument for lambda with annotated function type
- [`KT-77355`](https://youtrack.jetbrains.com/issue/KT-77355) Report warning on overloading by a superset of another overload's context parameters
- [`KT-77354`](https://youtrack.jetbrains.com/issue/KT-77354) Report warning on overloading by a subtype of another overload's context parameter
- [`KT-78084`](https://youtrack.jetbrains.com/issue/KT-78084) Unify deprecation warning messages
- [`KT-76776`](https://youtrack.jetbrains.com/issue/KT-76776) `@MustUseReturnValue` doesn't affect nested scopes
- [`KT-77545`](https://youtrack.jetbrains.com/issue/KT-77545) `@NoInfer` on receiver type leads to false positive type mismatch when generic type is specified explicitly and closest implicit receiver is of incorrect type
- [`KT-76772`](https://youtrack.jetbrains.com/issue/KT-76772) `@NoInfer` on a context parameter's type leads to a false-positive context argument ambiguity error regardless of the closest implicit values' types if there are multiple of them at the call site
- [`KT-76771`](https://youtrack.jetbrains.com/issue/KT-76771) `@NoInfer` on context parameter type leads to a false-positive type mismatch when generic type is specified explicitly and closest implicit value at the call site is of a mismatching type
- [`KT-77156`](https://youtrack.jetbrains.com/issue/KT-77156) INITIALIZATION\_BEFORE\_DECLARATION is not reported in anonymous object
- [`KT-78060`](https://youtrack.jetbrains.com/issue/KT-78060) UNRESOLVED\_REFERENCE in fp-space
- [`KT-67555`](https://youtrack.jetbrains.com/issue/KT-67555) Debug metadata: map the Continuation label to the next executable location in file
- [`KT-77723`](https://youtrack.jetbrains.com/issue/KT-77723) Refine the message for ArrayEqualityCanBeReplacedWithEquals checker
- [`KT-75178`](https://youtrack.jetbrains.com/issue/KT-75178) Inline functions in conjunction with `@JvmStatic` may result in bytecode errors
- [`KT-77390`](https://youtrack.jetbrains.com/issue/KT-77390) Prototype lazy loading of stdlib symbols in Native
- [`KT-77921`](https://youtrack.jetbrains.com/issue/KT-77921) False positive EXTENSION\_SHADOWED\_BY\_MEMBER when member has context parameters
- [`KT-77895`](https://youtrack.jetbrains.com/issue/KT-77895) false-negative error on package directives with context parameter lists (even with context parameters disabled)
- [`KT-76767`](https://youtrack.jetbrains.com/issue/KT-76767) AMBIGUOUS\_CONTEXT\_ARGUMENT should report the name of the context parameter in addition to the type
- [`KT-77444`](https://youtrack.jetbrains.com/issue/KT-77444) K2: False negative "Unchecked cast" with casting from MutableList<out T> to MutableList<T>
- [`KT-63348`](https://youtrack.jetbrains.com/issue/KT-63348) K2: FIR2IR should properly pass expected types
- [`KT-77627`](https://youtrack.jetbrains.com/issue/KT-77627) K2: consider getting rid of NEW\_INFERENCE\_ERROR
- [`KT-75833`](https://youtrack.jetbrains.com/issue/KT-75833) K2: Extra \[ANNOTATION\_ARGUMENT\_MUST\_BE\_CONST] when passing regex-like strings as annotation arguments
- [`KT-77547`](https://youtrack.jetbrains.com/issue/KT-77547) Native: add a check that the logic looking for stdlib-related bitcode is not used when compiling sources to a klib
- [`KT-77206`](https://youtrack.jetbrains.com/issue/KT-77206) Remove `PARAMETER_NAME_CHANGED_ON_OVERRIDE` suppression in KMP lexers
- [`KT-77679`](https://youtrack.jetbrains.com/issue/KT-77679) Update syntax-api dependency in KMP Kotlin parser
- [`KT-77705`](https://youtrack.jetbrains.com/issue/KT-77705) K2: Consuming data class compiled with kotlin 1.0.5 breaks the K2 compiler
- [`KT-76583`](https://youtrack.jetbrains.com/issue/KT-76583) CCE: suspend lambda attempts to unbox value class parameter twice after lambda suspended
- [`KT-76663`](https://youtrack.jetbrains.com/issue/KT-76663) KJS: KotlinNothingValueException caused by expression return since 2.1.20
- [`KT-75457`](https://youtrack.jetbrains.com/issue/KT-75457) Native: cache machinery uses stdlib cache with default runtime options even if custom runtime options are supplied when partial linkage is disabled
- [`KT-77563`](https://youtrack.jetbrains.com/issue/KT-77563) False-positive smart cast with captured local in init block causes NPE
- [`KT-77696`](https://youtrack.jetbrains.com/issue/KT-77696) ISE "couldn't find inline method" on kotlin/Result compiled by old Kotlin version
- [`KT-76931`](https://youtrack.jetbrains.com/issue/KT-76931) K2: Annotation on do-while expression captures variables from inside the loop
- [`KT-77183`](https://youtrack.jetbrains.com/issue/KT-77183) Metadata: remove multi-field value class representation
- [`KT-77678`](https://youtrack.jetbrains.com/issue/KT-77678) Apply found optimization to Kotlin KMP parser
- [`KT-60127`](https://youtrack.jetbrains.com/issue/KT-60127) K2: Support scripts with LightTree-based raw FIR building
- [`KT-76615`](https://youtrack.jetbrains.com/issue/KT-76615) K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" for mixed Java/Kotlin code
- [`KT-77220`](https://youtrack.jetbrains.com/issue/KT-77220) Annotation with EXPRESSION is not allowed on lambdas in Kotlin 2.2.0
- [`KT-77656`](https://youtrack.jetbrains.com/issue/KT-77656) K/N: fix the super type for local delegated properties
- [`KT-75907`](https://youtrack.jetbrains.com/issue/KT-75907) Inference/PCLA: consider storing semi-fixed variables in inference session
- [`KT-77144`](https://youtrack.jetbrains.com/issue/KT-77144) Implement KMP Kotlin parser
- [`KT-77352`](https://youtrack.jetbrains.com/issue/KT-77352) Implement KMP Expression parser
- [`KT-76984`](https://youtrack.jetbrains.com/issue/KT-76984) SYNCHRONIZED\_BLOCK\_ON\_JAVA\_VALUE\_BASED\_CLASS isn't reported for primitive wrapper classes instantiated within the scope
- [`KT-67471`](https://youtrack.jetbrains.com/issue/KT-67471) K2: "Unresolved reference" on incorrect term of FQ name
- [`KT-77269`](https://youtrack.jetbrains.com/issue/KT-77269) \[K/N] external calls checker crashes when used with caches
- [`KT-77205`](https://youtrack.jetbrains.com/issue/KT-77205) Kotlin Debugger / Context Parameters: CCE “class FirPropertySymbol cannot be cast to class FirFunctionSymbol” on evaluating class property
- [`KT-74133`](https://youtrack.jetbrains.com/issue/KT-74133) FIR: use EmptyDeprecationsPerUseSite consistently in symbols
- [`KT-77100`](https://youtrack.jetbrains.com/issue/KT-77100) java.lang.Void type is not ignorable
- [`KT-77491`](https://youtrack.jetbrains.com/issue/KT-77491) K2: No SUPERTYPE\_IS\_EXTENSION\_FUNCTION\_TYPE when using typealias
- [`KT-77490`](https://youtrack.jetbrains.com/issue/KT-77490) Report error on contextual function type in supertype
- [`KT-77431`](https://youtrack.jetbrains.com/issue/KT-77431) Functional type with a context is allowed as an upper-bound
- [`KT-77432`](https://youtrack.jetbrains.com/issue/KT-77432) Context isn't passed properly when functional type with a context is used as a type argument
- [`KT-77417`](https://youtrack.jetbrains.com/issue/KT-77417) There is no TYPE\_VARIANCE\_CONFLICT\_ERROR when 'out' type is used in context
- [`KT-62631`](https://youtrack.jetbrains.com/issue/KT-62631) Improve expect-actual "checking" incompatibilities reporting
- [`KT-77481`](https://youtrack.jetbrains.com/issue/KT-77481) Support ExpectRefinement feature in HMPP compilation scheme
- [`KT-77268`](https://youtrack.jetbrains.com/issue/KT-77268) Make sure that -Xreturn-value-checker also enables -XX:UnnamedLocalVariables
- [`KT-65719`](https://youtrack.jetbrains.com/issue/KT-65719) K1/K2: Nullness defaults from subclass unsoundly applied to method in superclass
- [`KT-53836`](https://youtrack.jetbrains.com/issue/KT-53836) In type-parameter declarations, recognize JSpecify annotations only on *bounds*
- [`KT-73658`](https://youtrack.jetbrains.com/issue/KT-73658) JSpecify `@NonNull` annotation on type-parameter bound prevents type-variable usages from being platform types
- [`KT-77000`](https://youtrack.jetbrains.com/issue/KT-77000) Leave ForbidInferOfInvisibleTypeAsReifiedOrVararg as a warning
- [`KT-74084`](https://youtrack.jetbrains.com/issue/KT-74084) K2: False negative \[NO\_ELSE\_IN\_WHEN]
- [`KT-77451`](https://youtrack.jetbrains.com/issue/KT-77451) FirLazyResolveContractViolationException for test with overridden delegate
- [`KT-77397`](https://youtrack.jetbrains.com/issue/KT-77397) Report UNSUPPORTED\_CONTEXTUAL\_DECLARATION\_CALL when calling declaration with contextual function type in signature
- [`KT-77137`](https://youtrack.jetbrains.com/issue/KT-77137) K2: Controversial behavior allows resolving annotation arguments on a companion inside it
- [`KT-77257`](https://youtrack.jetbrains.com/issue/KT-77257) Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the conditional expression to the inaccessible interface
- [`KT-77256`](https://youtrack.jetbrains.com/issue/KT-77256) Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the functional call result to the inaccessible interface
- [`KT-76356`](https://youtrack.jetbrains.com/issue/KT-76356) K2 evaluation fails on evaluating inline methods if there is an inline with AutoCloseable
- [`KT-73786`](https://youtrack.jetbrains.com/issue/KT-73786) Evaluator: cannot evaluate inline methods with reified parameter
- [`KT-77204`](https://youtrack.jetbrains.com/issue/KT-77204) Native: XCode strip command causes flaky tests
- [`KT-77351`](https://youtrack.jetbrains.com/issue/KT-77351) Implement KMP KDoc parser
- [`KT-76914`](https://youtrack.jetbrains.com/issue/KT-76914) compile-time failure on a type argument placeholder in a callable reference
- [`KT-76597`](https://youtrack.jetbrains.com/issue/KT-76597) False negative opt-in required on delegated constructor call
- [`KT-76667`](https://youtrack.jetbrains.com/issue/KT-76667) Mark the class implementation of interface function with ACC\_BRIDGE in the class file
- [`KT-77181`](https://youtrack.jetbrains.com/issue/KT-77181) K2: a nested typealias annotation observes member declarations of the outer class
- [`KT-77180`](https://youtrack.jetbrains.com/issue/KT-77180) K2: Wrong scope for annotation arguments in the constructor header
- [`KT-77287`](https://youtrack.jetbrains.com/issue/KT-77287) Try enforcing `source != null` when `origin == Source`
- [`KT-76135`](https://youtrack.jetbrains.com/issue/KT-76135) K2: drop pre-1.8 language features from compiler code
- [`KT-77231`](https://youtrack.jetbrains.com/issue/KT-77231) Reflection: CCE on resuming coroutine after callSuspend if result is a generic inline class substituted with primitive
- [`KT-77031`](https://youtrack.jetbrains.com/issue/KT-77031) Investigate the actual need of deduplicating provider in HMPP compilation scheme
- [`KT-77050`](https://youtrack.jetbrains.com/issue/KT-77050) Implement KMP KDoc lexer
- [`KT-77048`](https://youtrack.jetbrains.com/issue/KT-77048) Implement KMP Kotlin lexer
- [`KT-77044`](https://youtrack.jetbrains.com/issue/KT-77044) Consolidate, refine and update jFlex dependency
- [`KT-77252`](https://youtrack.jetbrains.com/issue/KT-77252) It is impossible to declare an unnamed variable in a script
- [`KT-58137`](https://youtrack.jetbrains.com/issue/KT-58137) K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another module
- [`KT-77140`](https://youtrack.jetbrains.com/issue/KT-77140) Protect ConstraintSystemCompletionMode.UNTIL\_FIRST\_LAMBDA with opt-in
- [`KT-76898`](https://youtrack.jetbrains.com/issue/KT-76898) K2: ClassCastException when data class shadows supertype's `componentX` method with wrong type
- [`KT-75695`](https://youtrack.jetbrains.com/issue/KT-75695) Bogus "Assigned value is never read" warning for prefix ++ operator
- [`KT-76805`](https://youtrack.jetbrains.com/issue/KT-76805) Wrong NPE occurs when assigning synthetic properties with platform types in Kotlin 2.1.20
- [`KT-77078`](https://youtrack.jetbrains.com/issue/KT-77078) K2: anonymous object is wrongly allowed to implement interfaces by unsafe Delegation
- [`KT-72722`](https://youtrack.jetbrains.com/issue/KT-72722) Treat 'copy' calls of a data class as explicit constructor usages
- [`KT-77149`](https://youtrack.jetbrains.com/issue/KT-77149) IllegalArgumentException: source must not be null
- [`KT-76806`](https://youtrack.jetbrains.com/issue/KT-76806) K2: AIOOBE in FirEqualityCompatibilityChecker
- [`KT-72391`](https://youtrack.jetbrains.com/issue/KT-72391) KJS: (a \* b).toDouble\_ygsx0s\_k$ is not a function
- [`KT-76950`](https://youtrack.jetbrains.com/issue/KT-76950) K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" with nullable UByte
- [`KT-76043`](https://youtrack.jetbrains.com/issue/KT-76043) Native: NotImplementedError: Generation of stubs for class org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl is not supported yet
- [`KT-77126`](https://youtrack.jetbrains.com/issue/KT-77126) Transitive dependency mismatch between Kotlin Gradle Plugin and Scripting dependencies
- [`KT-72831`](https://youtrack.jetbrains.com/issue/KT-72831) ANNOTATION\_USED\_AS\_ANNOTATION\_ARGUMENT missing in some cases in K2
- [`KT-73707`](https://youtrack.jetbrains.com/issue/KT-73707) Remove dependency on ":compiler:backend.jvm" from Native
- [`KT-75499`](https://youtrack.jetbrains.com/issue/KT-75499) CheckerContext#{containingDeclaration, containingFile} in checkers should return symbols
- [`KT-76548`](https://youtrack.jetbrains.com/issue/KT-76548) False positive TYPE\_MISMATCH when resolving an expression with the expected type from the upper bound
- [`KT-76142`](https://youtrack.jetbrains.com/issue/KT-76142) K2: `@RequiresOptIn` warning does not display the custom message when using concatenated strings.
- [`KT-68699`](https://youtrack.jetbrains.com/issue/KT-68699) Kotlin Debugger: UPAE “lateinit property parent has not been initialized” on trying evaluate enumValues<T>(), enumEntries<T>() from inlined function with reified parameter
- [`KT-63267`](https://youtrack.jetbrains.com/issue/KT-63267) K2: incorrect line numbers after smart cast of an extension receiver
- [`KT-71309`](https://youtrack.jetbrains.com/issue/KT-71309) Kotlin Debugger: UnsupportedOperationException on calling method with reified type parameter
- [`KT-74912`](https://youtrack.jetbrains.com/issue/KT-74912) K2: Investigate irrelevant ARGUMENT\_TYPE\_MISMATCH on top-level lambdas
- [`KT-74657`](https://youtrack.jetbrains.com/issue/KT-74657) K2: Linenumber for annotation on local variable is present in LVT
- [`KT-76749`](https://youtrack.jetbrains.com/issue/KT-76749) NONE\_APPLICABLE message is unreadable for stdlib context function
- [`KT-74932`](https://youtrack.jetbrains.com/issue/KT-74932) Investigate false-negative ARGUMENT\_TYPE\_MISMATCH on a nested anonymous function
- [`KT-74545`](https://youtrack.jetbrains.com/issue/KT-74545) Redundant TYPE\_MISMATCH in variable initializer with call
- [`KT-76774`](https://youtrack.jetbrains.com/issue/KT-76774) K2: Simplify ResolutionMode.WithExpectedType contracts
- [`KT-76689`](https://youtrack.jetbrains.com/issue/KT-76689) Unnamed local variable with type and without initializer is allowed
- [`KT-76746`](https://youtrack.jetbrains.com/issue/KT-76746) ClassCastException: class org.jetbrains.kotlin.fir.types.impl.FirUserTypeRefImpl cannot be cast to class
- [`KT-76754`](https://youtrack.jetbrains.com/issue/KT-76754) K2: Compiler doesn't check annotations on array literals (as annotation arguments)
- [`KT-76674`](https://youtrack.jetbrains.com/issue/KT-76674) The function isn't called from unnamed local variable initializer
- [`KT-75553`](https://youtrack.jetbrains.com/issue/KT-75553) `MISSING_DEPENDENCY_SUPERCLASS` and `MISSING_DEPENDENCY_SUPERCLASS_WARNING` is reported at the same time on the same element
- [`KT-76345`](https://youtrack.jetbrains.com/issue/KT-76345) Enhance variable fixation
- [`KT-73348`](https://youtrack.jetbrains.com/issue/KT-73348) AssertionError from isCompiledToJvmDefault on super call of suspend function with composable function parameter
- [`KT-72305`](https://youtrack.jetbrains.com/issue/KT-72305) K2: Report error when using synthetic properties in case of mapped collections
- [`KT-73527`](https://youtrack.jetbrains.com/issue/KT-73527) Prohibit (via a deprecation warning) accessing nested class through generic outer class
- [`KT-59886`](https://youtrack.jetbrains.com/issue/KT-59886) K2: Disappeared ERROR\_IN\_CONTRACT\_DESCRIPTION
- [`KT-61227`](https://youtrack.jetbrains.com/issue/KT-61227) Definitely non-nullable types cause "Any was expected" for `@Nullable` parameter
- [`KT-57911`](https://youtrack.jetbrains.com/issue/KT-57911) K2: Contracts are not inherited by substitution overrides
- [`KT-47398`](https://youtrack.jetbrains.com/issue/KT-47398) 'null' EnhancedNullability value in String-based 'when' might produce different behavior depending on whether 'when' is "optimized" or not
##### Compose compiler
- [`CMP-7505`](https://youtrack.jetbrains.com/issue/CMP-7505) IrLinkageError: Function can not be called: No function found for symbol
- [`b/432262806`](https://issuetracker.google.com/issues/432262806) Fix target description lookup
- [`b/436870733`](https://issuetracker.google.com/issues/436870733) Prevent lambda memoization in local classes inside a composable
- [`b/432485982`](https://issuetracker.google.com/issues/432485982) Fix AbstractMethodError when overriding function with default parameters
- [`b/432262806`](https://issuetracker.google.com/issues/432262806) Use classId as FirApplierInferencer tokens
- [`b/400371006`](https://issuetracker.google.com/issues/400371006) Gate default parameters behind language versions
- [`b/245673006`](https://issuetracker.google.com/issues/245673006) Specify fqName for classes and functions in build metrics
- [`b/254577243`](https://issuetracker.google.com/issues/254577243) Avoid printing complex expressions in compiler metrics
- [`b/394891628`](https://issuetracker.google.com/issues/394891628) Allow specifying target version of Compose runtime
- [`b/424454512`](https://issuetracker.google.com/issues/424454512) Recreate FirApplierInferencer for each check
- [`b/417406922`](https://issuetracker.google.com/issues/417406922) Restrict references to `@Composable` properties
- [`b/282135108`](https://issuetracker.google.com/issues/282135108), [`b/349866442`](https://issuetracker.google.com/issues/349866442) \[Compose] Enable applier checking when using FIR
- [`b/307592552`](https://issuetracker.google.com/issues/307592552) Add BigInteger and BigDecimal to the list of known stable classes
- [`b/414547195`](https://issuetracker.google.com/issues/414547195) Unwrap type casts when inferring `@Composable` call arguments
##### IR. Inlining
##### New Features
- [`KT-70360`](https://youtrack.jetbrains.com/issue/KT-70360) KLIBs: Uniformly handle`typeOf()` calls at 1st/2nd stages of compilation
##### Fixes
- [`KT-79002`](https://youtrack.jetbrains.com/issue/KT-79002) \[Inliner]\[Native]\[PL] Native backend fails for inline function that instantiates a class that was compiled implementing two interfaces, which turned into abstract classes
- [`KT-78137`](https://youtrack.jetbrains.com/issue/KT-78137) Review & enable PL tests with enabled IR inliner
- [`KT-72464`](https://youtrack.jetbrains.com/issue/KT-72464) \[Native]\[JS]\[Wasm] Non-local return through suspend conversion breaks the IR inliner
- [`KT-69941`](https://youtrack.jetbrains.com/issue/KT-69941) Rewrite `DumpSyntheticAccessors` lowering to test handler after moving common Native/JS prefix to KLIB compilation
- [`KT-78245`](https://youtrack.jetbrains.com/issue/KT-78245) Synthetic Accessors incorrectly copies default values
- [`KT-76236`](https://youtrack.jetbrains.com/issue/KT-76236) Include `NativeInliningFacade` and `JsIrInliningFacade` in all Native & JS test runners
- [`KT-76512`](https://youtrack.jetbrains.com/issue/KT-76512) Avoid using `originalFunction` inside `FunctionInlining`
- [`KT-69457`](https://youtrack.jetbrains.com/issue/KT-69457) \[references] IR Inliner: References to inline functions are not inlined
- [`KT-47521`](https://youtrack.jetbrains.com/issue/KT-47521) Native & JS: Recursive inline fun calls -> StackOverflowError
- [`KT-76425`](https://youtrack.jetbrains.com/issue/KT-76425) Do not store signatures of preprocessed inline functions in KLIBs
- [`KT-76763`](https://youtrack.jetbrains.com/issue/KT-76763) \[Inliner] Don't use attributeOwnerId to pass info from Inliner to non-JVM backends
- [`KT-77102`](https://youtrack.jetbrains.com/issue/KT-77102) \[Inliner] Expression uses unlinked type parameter symbol
- [`KT-76145`](https://youtrack.jetbrains.com/issue/KT-76145) Enhance error message about poisoned KLIBs in KLIB-based compilers
- [`KT-77079`](https://youtrack.jetbrains.com/issue/KT-77079) IR: Report warnings on exposure of references to invisible declarations in inline functions
- [`KT-69797`](https://youtrack.jetbrains.com/issue/KT-69797) \[references] Accessors for private function/constructor/property references are not generated
- [`KT-76454`](https://youtrack.jetbrains.com/issue/KT-76454) Investigate erasure of class type parameters during inliner
- [`KT-72593`](https://youtrack.jetbrains.com/issue/KT-72593) \[K/N] Add NativeIrInliningFacade to CrossCompilationIdentityTest
- [`KT-70969`](https://youtrack.jetbrains.com/issue/KT-70969) IR Inliner: Ensure that common prefix at 1st phase does not affect KLIB signatures
- [`KT-75937`](https://youtrack.jetbrains.com/issue/KT-75937) \[IR Inliner] Umbrella for failing tests due to public inliner
- [`KT-77295`](https://youtrack.jetbrains.com/issue/KT-77295) Improve Diagnostic Message Formatting for Private API Exposure in Inline Functions
- [`KT-77047`](https://youtrack.jetbrains.com/issue/KT-77047) Ir Ininler: crash on fake override in private class from more visible class
- [`KT-77336`](https://youtrack.jetbrains.com/issue/KT-77336) \[references] Synthetic accessor test for private top-level function accessed via reference fails with `No function found for symbol`
- [`KT-76761`](https://youtrack.jetbrains.com/issue/KT-76761) \[Inliner] non-JVM IR Inliner incorrectly uses K/JVM-specific code
- [`KT-76712`](https://youtrack.jetbrains.com/issue/KT-76712) \[Inliner] No function found for symbol '/<unknown name>|?'
- [`KT-76711`](https://youtrack.jetbrains.com/issue/KT-76711) \[Inliner] Reference to function 'privateMethod' can not be evaluated
##### IR. Tree
- [`KT-77508`](https://youtrack.jetbrains.com/issue/KT-77508) K/JS and K/Native CompilationException Wrong number of parameters in wrapper
- [`KT-78978`](https://youtrack.jetbrains.com/issue/KT-78978) PL tests: Drop `adjust*forLazyIr()` hack
- [`KT-76813`](https://youtrack.jetbrains.com/issue/KT-76813) IR validator: not all symbols/references are visited
- [`KT-77596`](https://youtrack.jetbrains.com/issue/KT-77596) Refine `reuseExistingSignaturesForSymbols` setting in IR serializer
- [`KT-76723`](https://youtrack.jetbrains.com/issue/KT-76723) IR validator: Check visibilities of annotations
- [`KT-76405`](https://youtrack.jetbrains.com/issue/KT-76405) Visit annotations in IrTypeVisitor and IrTreeSymbolsVisitor
- [`KT-78033`](https://youtrack.jetbrains.com/issue/KT-78033) \[PL] Merge `IrUnimplementedOverridesStrategy` to `PartiallyLinkedIrTreePatcher`
##### JVM. Reflection
- [`KT-77882`](https://youtrack.jetbrains.com/issue/KT-77882) kotlin-reflect: KParameter.name returns "<unused var>" instead of null for anonymous context parameters
- [`KT-77879`](https://youtrack.jetbrains.com/issue/KT-77879) kotlin-reflect: toString overrides of KCallable implementations do not render context parameters
- [`KT-74529`](https://youtrack.jetbrains.com/issue/KT-74529) Context parameters support in reflection
- [`KT-52170`](https://youtrack.jetbrains.com/issue/KT-52170) Reflection: typeOf\<Array<Long>> gives classifier LongArray
- [`KT-77663`](https://youtrack.jetbrains.com/issue/KT-77663) Reflection: java.util.ServiceConfigurationError: "module kotlin.reflect does not declare `uses`" when using kotlin-reflect in modular mode
##### JavaScript
##### New Features
- [`KT-79222`](https://youtrack.jetbrains.com/issue/KT-79222) K/JS: Allow using Long in exported declarations
- [`KT-79394`](https://youtrack.jetbrains.com/issue/KT-79394) Add the possibility to write common external declarations between JS and WasmJS targets
- [`KT-70486`](https://youtrack.jetbrains.com/issue/KT-70486) K/JS: exported exception types should extend Error
- [`KT-19016`](https://youtrack.jetbrains.com/issue/KT-19016) Define accessors as enumerable
##### Performance Improvements
- [`KT-57128`](https://youtrack.jetbrains.com/issue/KT-57128) KJS: Use BigInt to represent Long values in ES6 mode
- [`KT-54689`](https://youtrack.jetbrains.com/issue/KT-54689) KJS: Data class equals less efficient than manually written version
##### Fixes
- [`KT-69297`](https://youtrack.jetbrains.com/issue/KT-69297) Deprecate referencing inlineable lambdas in `js()` calls
- [`KT-77620`](https://youtrack.jetbrains.com/issue/KT-77620) Fix failing IC tests on Windows
- [`KT-77372`](https://youtrack.jetbrains.com/issue/KT-77372) KJS: NullPointerException at JsIntrinsics$JsReflectionSymbols
- [`KT-78316`](https://youtrack.jetbrains.com/issue/KT-78316) KJS: List is not exported to TypeScript declaration if wrapped in Promise
- [`KT-79644`](https://youtrack.jetbrains.com/issue/KT-79644) BigInt enabled for ES 2015 despite being an ES 2020 feature
- [`KT-79089`](https://youtrack.jetbrains.com/issue/KT-79089) KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode tests
- [`KT-79916`](https://youtrack.jetbrains.com/issue/KT-79916) K/JS: "Uncaught TypeError" when using 'Xes-long-as-bigint' in compose-html
- [`KT-79050`](https://youtrack.jetbrains.com/issue/KT-79050) KJS / IC: "Unexpected body of primary constructor for processing irClass"
- [`KT-79977`](https://youtrack.jetbrains.com/issue/KT-79977) KJS: Long.rotateLeft returns incorrect result when BigInts are enabled
- [`KT-76093`](https://youtrack.jetbrains.com/issue/KT-76093) Support new callable reference nodes in partial linkage in Kotlin/JS
- [`KT-78073`](https://youtrack.jetbrains.com/issue/KT-78073) K/JS: KProperty from local delegate changes after another delegate is invoked
- [`KT-52230`](https://youtrack.jetbrains.com/issue/KT-52230) KSJ IR: Applying identity equality operator to Longs always returns false
- [`KT-6675`](https://youtrack.jetbrains.com/issue/KT-6675) KotlinJS: toInt() on external Long throws error
- [`KT-79184`](https://youtrack.jetbrains.com/issue/KT-79184) K/JS: Further intrinsify BigInt-backed Long operations
- [`KT-78701`](https://youtrack.jetbrains.com/issue/KT-78701) Js and Wasm: enumValueOf does not include invalid value into an exception message
- [`KT-55256`](https://youtrack.jetbrains.com/issue/KT-55256) KJS: non-exported subclass with a no-parameter function overload doesn't compile
- [`KT-76034`](https://youtrack.jetbrains.com/issue/KT-76034) passProcessArgvToMainFunction contains the node path and script path
- [`KT-66091`](https://youtrack.jetbrains.com/issue/KT-66091) KJS, WASM: `AssertionError: Illegal value: <T>` in test nonReified\_equality.kt
- [`KT-78169`](https://youtrack.jetbrains.com/issue/KT-78169) KJS: \[NON\_EXPORTABLE\_TYPE] with `@JsExport` class if `@JsStatic` companion method returns an out type
- [`KT-57192`](https://youtrack.jetbrains.com/issue/KT-57192) KJS: "Exported declaration uses non-exportable return type" caused by `@JsExport` Promise with Unit type
- [`KT-61183`](https://youtrack.jetbrains.com/issue/KT-61183) KJS: "AssertionError: Assertion failed" from JsSuspendFunctionsLowering
- [`KT-59326`](https://youtrack.jetbrains.com/issue/KT-59326) KJS / IR: invalid code generated when using constructor parameter named `default`
- [`KT-70295`](https://youtrack.jetbrains.com/issue/KT-70295) KLIB stdlib: Unify intrinsics for boxing captured variables in lambdas across non-JVM backends
- [`KT-77021`](https://youtrack.jetbrains.com/issue/KT-77021) CompilationException: Encountered a local class not previously collected on inner classes inside anonymous objects
- [`KT-77320`](https://youtrack.jetbrains.com/issue/KT-77320) KJS: Big.js times() is compiled to multiply (\*) operator
- [`KT-77430`](https://youtrack.jetbrains.com/issue/KT-77430) K/JS: Remove sharedBox\* intrinsics from the standard library
- [`KT-73267`](https://youtrack.jetbrains.com/issue/KT-73267) KJS: IC: "FileNotFoundException": Build failures with Kotlin 2.1-RC and RC2
- [`KT-76912`](https://youtrack.jetbrains.com/issue/KT-76912) KJS: `@JsStatic` can't be used for companion objects implementing external interfaces
- [`KT-77271`](https://youtrack.jetbrains.com/issue/KT-77271) KJS / Serialization: "Cannot set property message of Error which has only a getter"
- [`KT-77242`](https://youtrack.jetbrains.com/issue/KT-77242) Kotlin/JS & Kotlin/Wasm backends: Artificially apply reverse topo-order after IR linkage
- [`KT-77649`](https://youtrack.jetbrains.com/issue/KT-77649) KJS: es-arrow-functions requires explicit opt-in when target is ES2015
- [`KT-76235`](https://youtrack.jetbrains.com/issue/KT-76235) \[JS] Extra invalid line `tmp_0.tmp00__1 = Options;` in testSuspendFunction()
- [`KT-76234`](https://youtrack.jetbrains.com/issue/KT-76234) \[JS] Extra invalid line `Parent` in testNested()
- [`KT-76233`](https://youtrack.jetbrains.com/issue/KT-76233) \[JS] Extra invalid import line in testJsQualifier()
- [`KT-77190`](https://youtrack.jetbrains.com/issue/KT-77190) Migrate JS diagnostic tests to the new CLI-based test facades (1st phase only)
- [`KT-77418`](https://youtrack.jetbrains.com/issue/KT-77418) KJS: cannot debug with whole-program granularity
- [`KT-77371`](https://youtrack.jetbrains.com/issue/KT-77371) \[K/N]\[K/JS]\[K/Wasm] Unify visibility rules for generated default argument stubs
- [`KT-77148`](https://youtrack.jetbrains.com/issue/KT-77148) KJS: "Uncaught TypeError: (intermediate value).l(...).m is not a function" during production build run
- [`KT-77193`](https://youtrack.jetbrains.com/issue/KT-77193) Migrate JS irText tests to the new CLI-based test facades (1st phase only)
- [`KT-77192`](https://youtrack.jetbrains.com/issue/KT-77192) Migrate JS ABI reader tests to the new CLI-based test facades (1st phase only)
- [`KT-77187`](https://youtrack.jetbrains.com/issue/KT-77187) Migrate JS box tests to the new CLI-based test facades (1st phase only)
- [`KT-77027`](https://youtrack.jetbrains.com/issue/KT-77027) Migrate 1st phase facades to the phased CLI infrastructure in JS tests
- [`KT-69591`](https://youtrack.jetbrains.com/issue/KT-69591) KJS / d.ts: Wrong type of SerializerFactory for abstract classes
- [`KT-76027`](https://youtrack.jetbrains.com/issue/KT-76027) KJS: "ReferenceError: entries is not defined": Accessing entries of an enum arbitrarily fails with println()
- [`KT-76232`](https://youtrack.jetbrains.com/issue/KT-76232) Suspend contextual function with extension receiver results in wrong values at runtime in JS
- [`KT-42305`](https://youtrack.jetbrains.com/issue/KT-42305) KJS / IR: "Class constructor is marked as private" `@JsExport` produces wrong TS code for sealed classes
- [`KT-52563`](https://youtrack.jetbrains.com/issue/KT-52563) KJS / IR: Invalid TypeScript generated for class extending base class with private constructor
##### Klibs
##### New Features
- [`KT-78699`](https://youtrack.jetbrains.com/issue/KT-78699) Compiler (JS, Wasm): warn about incompatible kotlin-test/compiler pair
- [`KT-78700`](https://youtrack.jetbrains.com/issue/KT-78700) Compiler (JS, Wasm): Consider making diagnostics for incompatible kotlin-stdlib/compiler and kotlin-test/compiler pairs errors instead of warnings
- [`KT-74815`](https://youtrack.jetbrains.com/issue/KT-74815) KLIB resolver can't consume metadata klibs between source sets when abi\_versions diverge
- [`KT-68322`](https://youtrack.jetbrains.com/issue/KT-68322) Compiler (JS, Wasm): warn about incompatible Kotlin stdlib/compiler pair
##### Fixes
- [`KT-78168`](https://youtrack.jetbrains.com/issue/KT-78168) K/N: "IndexOutOfBoundsException: Index 3 out of bounds for length 3" for iOS build with Kotlin 2.2.0-RC2
- [`KT-75766`](https://youtrack.jetbrains.com/issue/KT-75766) PL: Error on building fake override with multiple overridden members with unbound symbols in return type
- [`KT-75757`](https://youtrack.jetbrains.com/issue/KT-75757) PL: Error on building fake overrides with unbound symbols in value parameters
- [`KT-76094`](https://youtrack.jetbrains.com/issue/KT-76094) Support new callable reference nodes in partial linkage in Kotlin/Wasm
- [`KT-78771`](https://youtrack.jetbrains.com/issue/KT-78771) KLIBs: Improve `zipDirAs()` function that is used to produce KLIB (ZIP) archives
- [`KT-75980`](https://youtrack.jetbrains.com/issue/KT-75980) \[Klib] Reduce serialized size of IrFileEntries for sparse usage of another source files
- [`KT-78349`](https://youtrack.jetbrains.com/issue/KT-78349) \[Tests] Enable Partial Linkage in all tests
- [`KT-76827`](https://youtrack.jetbrains.com/issue/KT-76827) KLIB cross-compilation tests: Don't use IR hashes and metadata hashes in test data
- [`KT-76266`](https://youtrack.jetbrains.com/issue/KT-76266) Move trigger of :tools:binary-compatibility-validator:check to native/native.tests/klib-ir-inliner
- [`KT-76725`](https://youtrack.jetbrains.com/issue/KT-76725) KLIB ABI export in older version: Restore legacy directories
- [`KT-76061`](https://youtrack.jetbrains.com/issue/KT-76061) Add option for suppress warning of missing no-existent transitive klib dependencies
- [`KT-76471`](https://youtrack.jetbrains.com/issue/KT-76471) Partial linkage: add an attribute if a class is invalid
- [`KT-75192`](https://youtrack.jetbrains.com/issue/KT-75192) KLIB reader tends to extract files from the KLIB archive to a temporary directory even when this is not needed
##### Language Design
- [`KT-78866`](https://youtrack.jetbrains.com/issue/KT-78866) Warn implicit receiver shadowed by context parameter
- [`KT-54363`](https://youtrack.jetbrains.com/issue/KT-54363) Allow using reified types for catch parameters
- [`KT-32993`](https://youtrack.jetbrains.com/issue/KT-32993) Contract to specify that a function parameter is always true inside lambda
- [`KT-79308`](https://youtrack.jetbrains.com/issue/KT-79308) Ability to actualize empty interfaces as Any
- [`KT-8889`](https://youtrack.jetbrains.com/issue/KT-8889) Contracts: if a given function parameter is not null, the result is not null
- [`KT-22786`](https://youtrack.jetbrains.com/issue/KT-22786) Returns are not allowed for expression-body functions and are allowed when an inline lambda is added
- [`KT-77836`](https://youtrack.jetbrains.com/issue/KT-77836) Support using context parameter of a `@RestrictsSuspension` type as the "restricted coroutine scope"
- [`KT-77823`](https://youtrack.jetbrains.com/issue/KT-77823) Context-sensitive resolution doesn't work for subtypes of sealed types
- [`KT-75977`](https://youtrack.jetbrains.com/issue/KT-75977) False positive unresolved\_reference when resolving nested member after a type check
- [`KT-73557`](https://youtrack.jetbrains.com/issue/KT-73557) Allow refining expect declarations for platform groups
##### Libraries
##### New Features
- [`KT-76389`](https://youtrack.jetbrains.com/issue/KT-76389) Provide `update` functions for common atomics
- [`KT-78581`](https://youtrack.jetbrains.com/issue/KT-78581) Add the KClass.isInterface property to Kotlin/JS stdlib
- [`KT-34132`](https://youtrack.jetbrains.com/issue/KT-34132) Contract for ClosedRange<T>.contains(T?) operator
- [`KT-73853`](https://youtrack.jetbrains.com/issue/KT-73853) Provide vararg constructors for Atomic Arrays
##### Fixes
- [`KT-71628`](https://youtrack.jetbrains.com/issue/KT-71628) Review deprecations in stdlib for 2.1
- [`KT-76773`](https://youtrack.jetbrains.com/issue/KT-76773) stdlib: contextOf's type argument can be inferred via contextOf's context argument
- [`KT-79489`](https://youtrack.jetbrains.com/issue/KT-79489) Generate Stdlib API reference for webMain source set
- [`KT-79080`](https://youtrack.jetbrains.com/issue/KT-79080) Annotate WasmImport and WasmExport as experimental API
- [`KT-79121`](https://youtrack.jetbrains.com/issue/KT-79121) K/Wasm annotate JS-interop API as experimental
- [`KT-78710`](https://youtrack.jetbrains.com/issue/KT-78710) kotlin.wasm and kotlin.wasm.unsafe packages are missing description
- [`KT-78709`](https://youtrack.jetbrains.com/issue/KT-78709) Wasm: KClass.qualifiedName KDoc should reflect the behavior on the target
- [`KT-78704`](https://youtrack.jetbrains.com/issue/KT-78704) CharSequence.subSequence and String.substring behavior with invalid indices differs between targets
- [`KT-78705`](https://youtrack.jetbrains.com/issue/KT-78705) Float.sign and Double.sign behavior for negative zero is not documented
- [`KT-74543`](https://youtrack.jetbrains.com/issue/KT-74543) Support for context parameters in kotlinx-metadata
- [`KT-78340`](https://youtrack.jetbrains.com/issue/KT-78340) String.startsWith KDoc declares invalid exception condition
- [`KT-78242`](https://youtrack.jetbrains.com/issue/KT-78242) Move IrLinkageError to the common non-JVM part of the standard library
- [`KT-67819`](https://youtrack.jetbrains.com/issue/KT-67819) Document collection interfaces contracts
##### Native
- [`KT-79075`](https://youtrack.jetbrains.com/issue/KT-79075) Stuck on Kotlin\_getSourceInfo\_core\_symbolication
- [`KT-76178`](https://youtrack.jetbrains.com/issue/KT-76178) LLVM Update: symbol '\_\_ZnwmSt19\_\_type\_descriptor\_t' missing
- [`KT-78959`](https://youtrack.jetbrains.com/issue/KT-78959) Xcode 26: fix GC stress tests
- [`KT-78734`](https://youtrack.jetbrains.com/issue/KT-78734) Finish runtime crash dump generation
- [`KT-74662`](https://youtrack.jetbrains.com/issue/KT-74662) Consider providing a way to enable stack canaries for Kotlin/Native binaries
- [`KT-77378`](https://youtrack.jetbrains.com/issue/KT-77378) \[macos] Loading libraries with non resolved paths runs XProtectService
- [`KT-61549`](https://youtrack.jetbrains.com/issue/KT-61549) Kotlin/Native: remove kotlin-native/Interop/JsRuntime
- [`KT-76563`](https://youtrack.jetbrains.com/issue/KT-76563) LLVM Update: numerous "was built for newer 'macOS' version" warnings
##### Native. Build Infrastructure
- [`KT-77349`](https://youtrack.jetbrains.com/issue/KT-77349) Kotlin/Native: default cache for stdlib is unused
##### Native. C and ObjC Import
- [`KT-79571`](https://youtrack.jetbrains.com/issue/KT-79571) Xcode 26 beta 4: CInteropKT39120TestGenerated.testForwardEnum failed
- [`KT-71400`](https://youtrack.jetbrains.com/issue/KT-71400) Fix disabled -fmodules testing for stdarg.h
##### Native. ObjC Export
##### New Features
- [`KT-77488`](https://youtrack.jetbrains.com/issue/KT-77488) \[ObjCExport] Add explicit ObjCBlock parameter name in objc export
- [`KT-76974`](https://youtrack.jetbrains.com/issue/KT-76974) Include conflicting element in objc export warnings
- [`KT-76338`](https://youtrack.jetbrains.com/issue/KT-76338) Native, ObjCExport: Replace name mangling of special method families
##### Fixes
- [`KT-55648`](https://youtrack.jetbrains.com/issue/KT-55648) Native: produce smaller binaries
- [`KT-78447`](https://youtrack.jetbrains.com/issue/KT-78447) \[ObjCExport] Add missing ERROR constructors, align with K1
- [`KT-78034`](https://youtrack.jetbrains.com/issue/KT-78034) ObjCExport: primitive type extension translated as static method
- [`KT-77781`](https://youtrack.jetbrains.com/issue/KT-77781) ObjCExport: support `@ObjCName` for function parameters and receiver parameters
- [`KT-77592`](https://youtrack.jetbrains.com/issue/KT-77592) KMP plugin uses incorrect Swift name from ObjCName annotation
- [`KT-77625`](https://youtrack.jetbrains.com/issue/KT-77625) ObjCExport: ObjCName annotation adds kotlin name swift\_name
- [`KT-77484`](https://youtrack.jetbrains.com/issue/KT-77484) KotlinConf app: Invalid identifiers in `ObjCHeader.render`
- [`KT-77500`](https://youtrack.jetbrains.com/issue/KT-77500) `IllegalStateException` during generating ObjC header stubs
##### Native. Runtime
- [`KT-79152`](https://youtrack.jetbrains.com/issue/KT-79152) Native: unexpected thread state in kotlin::to\_string<KStringConversionMode>
##### Native. Runtime. Memory
- [`KT-78925`](https://youtrack.jetbrains.com/issue/KT-78925) Crash SIGABRT on Apple Watch after updating Kotlin to 2.2.0
- [`KT-76851`](https://youtrack.jetbrains.com/issue/KT-76851) Kotlin/Native: GC scheduler MutatorAssists requestAssists and completeEpoch issue
- [`KT-63143`](https://youtrack.jetbrains.com/issue/KT-63143) Kotlin/Native: execute Cleaners on the finalizer thread
##### Native. Swift Export
- [`KT-79105`](https://youtrack.jetbrains.com/issue/KT-79105) ConcurrentModificationException During Swift Export Caused by Usage of Array
- [`KT-79227`](https://youtrack.jetbrains.com/issue/KT-79227) Swift Export: Fix First Release Issues
- [`KT-78947`](https://youtrack.jetbrains.com/issue/KT-78947) Implement FUS for Swift export
- [`KT-79521`](https://youtrack.jetbrains.com/issue/KT-79521) '\_CoroutineScope' is inaccessible due to 'internal' protection level
- [`KT-79181`](https://youtrack.jetbrains.com/issue/KT-79181) Swift Export Fails When Using T: Comparable<T> Generic Constraint in Kotlin Classes
- [`KT-77650`](https://youtrack.jetbrains.com/issue/KT-77650) Swift export execution tests fail with caches enabled
- [`KT-77634`](https://youtrack.jetbrains.com/issue/KT-77634) K/N: swift export tests started failing after hyper-existentials
- [`KT-77290`](https://youtrack.jetbrains.com/issue/KT-77290) Transitive Export on swift export can duplicate declarations
##### Tools. Build Tools API
- [`KT-78415`](https://youtrack.jetbrains.com/issue/KT-78415) Add a tool for performance reports analysing
##### Tools. CLI
##### New Features
- [`KT-75812`](https://youtrack.jetbrains.com/issue/KT-75812) Basic DSL for compiler arguments representation
##### Fixes
- [`KT-78318`](https://youtrack.jetbrains.com/issue/KT-78318) Unresolved reference when compiling kotlin/JS project on fresh master
- [`KT-75968`](https://youtrack.jetbrains.com/issue/KT-75968) Set proper lifecycle for all existing compiler arguments
- [`KT-77445`](https://youtrack.jetbrains.com/issue/KT-77445) UNRESOLVED\_REFERENCE when importing classes from kotlin-stdlib
- [`KT-77030`](https://youtrack.jetbrains.com/issue/KT-77030) Implement setup of HMPP sessions for KLib-based compilers
- [`KT-78578`](https://youtrack.jetbrains.com/issue/KT-78578) Support for placeholder (\*) and directory in `-Xdump-perf`
- [`KT-78129`](https://youtrack.jetbrains.com/issue/KT-78129) Compiler cannot parse -Xfragment-dependency with a comma in the path
- [`KT-76828`](https://youtrack.jetbrains.com/issue/KT-76828) Warning doesn't exist error with -Xwarning-level when the source file has no code
- [`KT-76957`](https://youtrack.jetbrains.com/issue/KT-76957) Incorrect error message when severity is set with -Xsuppress-warning and -Xwarning-level for the same diagnostic
- [`KT-76829`](https://youtrack.jetbrains.com/issue/KT-76829) UnsupportedOperationException when reenabling a taking place warning with -Xwarning-level
- [`KT-76111`](https://youtrack.jetbrains.com/issue/KT-76111) kotlinc warns about org.fusesource.jansi.internal.JansiLoader call to System.load
- [`KT-76447`](https://youtrack.jetbrains.com/issue/KT-76447) Remove -Xjps compiler argument
##### Tools. Compiler Plugin API
- [`KT-78279`](https://youtrack.jetbrains.com/issue/KT-78279) Make the DiagnosticReporter default way for reporting in IR plugins
- [`KT-77157`](https://youtrack.jetbrains.com/issue/KT-77157) Cannot create a symbol pointer for local class generated by FirFunctionCallRefinementExtension
##### Tools. Compiler Plugins
##### New Features
- [`KT-78038`](https://youtrack.jetbrains.com/issue/KT-78038) Make jvm-abi-gen compiler plugin output classloader-friendly
- [`KT-77339`](https://youtrack.jetbrains.com/issue/KT-77339) Update kotlin dataframe dependency to 1.0.0-dev-6925
##### Fixes
- [`KT-78969`](https://youtrack.jetbrains.com/issue/KT-78969) \[DataFrame] Provide source elements for plugin-generated classes
- [`KT-75265`](https://youtrack.jetbrains.com/issue/KT-75265) PowerAssert: the result of invoke is displayed at the same level as value that can be confusing
- [`KT-78490`](https://youtrack.jetbrains.com/issue/KT-78490) "AssertionError: SyntheticAccessorLowering should not attempt to modify other files" when calling protected open composable with default argument
- [`KT-77626`](https://youtrack.jetbrains.com/issue/KT-77626) K2: AssertionError: FUN LOCAL\_FUNCTION\_FOR\_LAMBDA has no continuation
- [`KT-78671`](https://youtrack.jetbrains.com/issue/KT-78671) \[DataFrame] Support type parameter types in DataSchema to fix evaluate expression
- [`KT-78439`](https://youtrack.jetbrains.com/issue/KT-78439) DataFrame compiler plugin: Unresolved reference error in REPL
- [`KT-75876`](https://youtrack.jetbrains.com/issue/KT-75876) PowerAssert: don't display results for assertion operator
- [`KT-75514`](https://youtrack.jetbrains.com/issue/KT-75514) \[JS]\[Native] Add IrPreSerializationLoweringFacade to Atomicfu test runners
- [`KT-77719`](https://youtrack.jetbrains.com/issue/KT-77719) Remove suppress INVISIBLE\_REFERENCE from DataFrame plugin
- [`KT-77691`](https://youtrack.jetbrains.com/issue/KT-77691) Kotlin DataFrame plugin: IR and FIR anonymous functions have inconsistent receivers
- [`KT-77455`](https://youtrack.jetbrains.com/issue/KT-77455) kotlin-dataframe plugin throws NoClassDefFoundError in IDE
- [`KT-77437`](https://youtrack.jetbrains.com/issue/KT-77437) Kotlin DataFrame: Add configuration key to disable top level properties generator
- [`KT-74366`](https://youtrack.jetbrains.com/issue/KT-74366) Delete kotlin-android-extensions compiler plugin
- [`KT-73364`](https://youtrack.jetbrains.com/issue/KT-73364) Migrate atomicfu sources to new IR parameter API
##### Tools. Compiler plugins. Serialization
- [`KT-79695`](https://youtrack.jetbrains.com/issue/KT-79695) Serialization does not exclude field-less properties in 2.2.20-Beta2
- [`KT-73365`](https://youtrack.jetbrains.com/issue/KT-73365) Migrate kotlinx-serialization sources to new IR parameter API
##### Tools. Gradle
##### New Features
- [`KT-76421`](https://youtrack.jetbrains.com/issue/KT-76421) Stabilize klib cross-compilation on different platforms
- [`KT-77107`](https://youtrack.jetbrains.com/issue/KT-77107) Introduce Kotlin ecosystem plugin
##### Fixes
- [`KT-80172`](https://youtrack.jetbrains.com/issue/KT-80172) Error message changes depending on the order of applying 'org.jetbrains.kotlin.android' and 'AGP' 9.0+ with built-in Kotlin plugin
- [`KT-77546`](https://youtrack.jetbrains.com/issue/KT-77546) Implement basic support for HMPP compilation scheme support in KGP
- [`KT-79034`](https://youtrack.jetbrains.com/issue/KT-79034) Automatically disable cross compilation if it's not supported on the host
- [`KT-79408`](https://youtrack.jetbrains.com/issue/KT-79408) A lot of errors files are created when compile Kotlin
- [`KT-77785`](https://youtrack.jetbrains.com/issue/KT-77785) Add -fmodules option to CocoaPod dependency by default
- [`KT-75921`](https://youtrack.jetbrains.com/issue/KT-75921) Make Swift Export available by default
- [`KT-63383`](https://youtrack.jetbrains.com/issue/KT-63383) Add compiler performance metrics to Native build reports
- [`KT-77023`](https://youtrack.jetbrains.com/issue/KT-77023) Support creating KotlinJvmAndroidCompilation in KotlinBaseApiPlugin
- [`KT-74420`](https://youtrack.jetbrains.com/issue/KT-74420) Migrate kotlin-parcelize away from AGP's deprecated Variant API
- [`KT-78233`](https://youtrack.jetbrains.com/issue/KT-78233) Add ExperimentalFeatureWarning unique id
- [`KT-67992`](https://youtrack.jetbrains.com/issue/KT-67992) Cleanup deprecated code required for KSP1
- [`KT-72341`](https://youtrack.jetbrains.com/issue/KT-72341) Remove 'kotlin-android-extensions' plugin
- [`KT-67291`](https://youtrack.jetbrains.com/issue/KT-67291) Enable Project Isolation AND/OR Configuration Cache mode for Gradle Integration tests
- [`KT-78325`](https://youtrack.jetbrains.com/issue/KT-78325) Kotlin ecosystem plugin rejects compatible Gradle patch version when DCL is enabled
- [`KT-76353`](https://youtrack.jetbrains.com/issue/KT-76353) Handle migration to stable -jvm-default in KGP: replace deprecated option and suppress warnings
- [`KT-76797`](https://youtrack.jetbrains.com/issue/KT-76797) KGP: StdlibDependencyManagementKt.configureStdlibVersionAlignment() triggering eager configuration realization
- [`KT-77163`](https://youtrack.jetbrains.com/issue/KT-77163) Migrate Swift Export IT to injections
- [`KT-76282`](https://youtrack.jetbrains.com/issue/KT-76282) Add missing Android Gradle plugin versions in tests
- [`KT-77011`](https://youtrack.jetbrains.com/issue/KT-77011) Update build regression benchmarks for 2.2.0 release
- [`KT-76138`](https://youtrack.jetbrains.com/issue/KT-76138) Compile against Gradle API 8.14
- [`KT-76139`](https://youtrack.jetbrains.com/issue/KT-76139) Run integration tests against Gradle 8.14
- [`KT-77035`](https://youtrack.jetbrains.com/issue/KT-77035) A compiler diagnostic isn't reported when its severity is set to warning with Gradle
- [`KT-76951`](https://youtrack.jetbrains.com/issue/KT-76951) 'distribution-base' plugin is only applied in Gradle 8.13
- [`KT-73142`](https://youtrack.jetbrains.com/issue/KT-73142) Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilder
- [`KT-76740`](https://youtrack.jetbrains.com/issue/KT-76740) Use Problems API for warning introduced in KT-75808
- [`KT-65271`](https://youtrack.jetbrains.com/issue/KT-65271) Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3
##### Tools. Gradle. Cocoapods
- [`KT-76035`](https://youtrack.jetbrains.com/issue/KT-76035) Allow extra command line arguments in PodBuildTask
- [`KT-78387`](https://youtrack.jetbrains.com/issue/KT-78387) Kotlin Cocoapods Gradle Plugin is not compatible with Gradle isolated projects
- [`KT-79429`](https://youtrack.jetbrains.com/issue/KT-79429) K/N: Cocoapods: IllegalArgumentException: "cinterop doesn't support having headers in -fmodules mode" with 2.2.20-Beta1 if explicitly not specify false for 'useClangModules'
##### Tools. Gradle. Compiler plugins
- [`KT-66728`](https://youtrack.jetbrains.com/issue/KT-66728) Deprecate `kapt.use.k2` property
##### Tools. Gradle. JS
##### New Features
- [`KT-75480`](https://youtrack.jetbrains.com/issue/KT-75480) Add shared source set for js and wasmJs target
- [`KT-77073`](https://youtrack.jetbrains.com/issue/KT-77073) generateTypeScriptDefinitions() does not add generated .d.ts file to package.json automatically
##### Fixes
- [`KT-77319`](https://youtrack.jetbrains.com/issue/KT-77319) KJS / Gradle: generateTypeScriptDefinitions() generates wrong file extension when outputting ES modules
- [`KT-79921`](https://youtrack.jetbrains.com/issue/KT-79921) Web Tooling Gradle API does not respect webpack reconfiguration
- [`KT-76996`](https://youtrack.jetbrains.com/issue/KT-76996) Wasm: js tasks triggers wasm subtasks
- [`KT-79237`](https://youtrack.jetbrains.com/issue/KT-79237) Upgrade NPM dependencies versions
- [`KT-79188`](https://youtrack.jetbrains.com/issue/KT-79188) Pre-generated accessors aren't available for webMain / webTest source sets
- [`KT-78504`](https://youtrack.jetbrains.com/issue/KT-78504) \[2.2.0-RC3] NPM Tasks in 2.2 RCs produce broken/unusable build cache entries
- [`KT-77443`](https://youtrack.jetbrains.com/issue/KT-77443) NPE: "NullPointerException: Cannot invoke org.gradle.api.tasks.TaskProvider.flatMap(org.gradle.api.Transformer)": ExecutableWasm.optimizeTask is accessed before initialization
- [`KT-76987`](https://youtrack.jetbrains.com/issue/KT-76987) JS, Wasm: Upgrade NPM dependencies
- [`KT-77119`](https://youtrack.jetbrains.com/issue/KT-77119) KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer works
- [`KT-74735`](https://youtrack.jetbrains.com/issue/KT-74735) KGP uses Gradle internal `CompositeProjectComponentArtifactMetadata`
##### Tools. Gradle. Multiplatform
##### New Features
- [`KT-69790`](https://youtrack.jetbrains.com/issue/KT-69790) Report human-readable error when declared dependency doesn't support required target types
- [`KT-76446`](https://youtrack.jetbrains.com/issue/KT-76446) Add kotlin-level dependency block to work the same way as commonMain/commonTest dependencies blocks
##### Fixes
- [`KT-78297`](https://youtrack.jetbrains.com/issue/KT-78297) FileNotFoundException in generateMetadataFile task if non-packed=false
- [`KT-62294`](https://youtrack.jetbrains.com/issue/KT-62294) kotlin-parcelize plugin does not support the new android kotlin multiplatform plugin
- [`KT-77404`](https://youtrack.jetbrains.com/issue/KT-77404) The kotlin-stdlib and annotations are missing from commonTest dependencies with 2.2.0-Beta1
- [`KT-79559`](https://youtrack.jetbrains.com/issue/KT-79559) AGP complains about configurations resolved at configuration time due to KMP partially resolved dependencies diagnostic
- [`KT-78993`](https://youtrack.jetbrains.com/issue/KT-78993) The value for property '\*' property 'dependencies' is final and cannot be changed any further
- [`KT-77843`](https://youtrack.jetbrains.com/issue/KT-77843) KGP fails with Gradle 9 on `ProjectDependency.getDependencyProject()`
- [`KT-79315`](https://youtrack.jetbrains.com/issue/KT-79315) Early task materialization with cross-project configuration breaks configuration due to KMP partial resolution checker
- [`KT-77466`](https://youtrack.jetbrains.com/issue/KT-77466) KMP - testFixturesApi and similar configurations do not affect jvmTestFixtures source set
- [`KT-78433`](https://youtrack.jetbrains.com/issue/KT-78433) Gradle: add tracking of the new KMP compilation scheme to FUS
- [`KT-78431`](https://youtrack.jetbrains.com/issue/KT-78431) Gradle: in-process metadata compiler uses deprecated K2MetadataCompiler
- [`KT-77414`](https://youtrack.jetbrains.com/issue/KT-77414) KMP dependencies in detached source sets cause IDE resolution to write error logs: "kotlin-project-structure-metadata.json (No such file or directory)"
- [`KT-76200`](https://youtrack.jetbrains.com/issue/KT-76200) TestModuleProperties.productionModuleName for JVM module isn't present with 2.1.20-RC
##### Tools. Gradle. Native
- [`KT-51301`](https://youtrack.jetbrains.com/issue/KT-51301) Remove ability to use Native non-embeddable compiler jar in Gradle plugin
- [`KT-74864`](https://youtrack.jetbrains.com/issue/KT-74864) Enable exporting KDocs by default to ObjC
- [`KT-77977`](https://youtrack.jetbrains.com/issue/KT-77977) "Unknown hardware platform: riscv64" on JVM project build
- [`KT-78838`](https://youtrack.jetbrains.com/issue/KT-78838) Add default 3G max heap size for the commonizer JVM process
- [`KT-68256`](https://youtrack.jetbrains.com/issue/KT-68256) Reduce commonizer max heap size to default 3g and allow users to configure it
- [`KT-77067`](https://youtrack.jetbrains.com/issue/KT-77067) Kotlin Gradle plugin with the configuration cache passes all platform libraries to the compiler when compiling a binary for the first time
##### Tools. Gradle. Swift Export
- [`KT-79554`](https://youtrack.jetbrains.com/issue/KT-79554) Swift Export status diagnostic is produced even if swift export is not configured
- [`KT-78385`](https://youtrack.jetbrains.com/issue/KT-78385) Swift Export is not compatible with Gradle isolated projects
- [`KT-79524`](https://youtrack.jetbrains.com/issue/KT-79524) NoSuchMethodError: 'java.lang.String org.gradle.api.artifacts.ProjectDependency.getPath() for swift export with dependency export fro gradle < 8.11
##### Tools. Incremental Compile
- [`KT-60653`](https://youtrack.jetbrains.com/issue/KT-60653) IC does not handle changes in inline functions objects/lambdas correctly
- [`KT-78807`](https://youtrack.jetbrains.com/issue/KT-78807) Changing ABI fingerprint on non-ABI changes when lambda passed to inlined function
- [`KT-69075`](https://youtrack.jetbrains.com/issue/KT-69075) Incremental compilation: smartcast is impossible on field with `@JvmName`
##### Tools. JPS
- [`KT-77347`](https://youtrack.jetbrains.com/issue/KT-77347) Support file-less compatible IC approach
- [`KT-78444`](https://youtrack.jetbrains.com/issue/KT-78444) Clean up JPS code base
- [`KT-75460`](https://youtrack.jetbrains.com/issue/KT-75460) Adding `@PurelyImplements` annotation to a List does *not* cause incremental recompile of affected files
- [`KT-50594`](https://youtrack.jetbrains.com/issue/KT-50594) Fix org.jetbrains.kotlin.arguments.CompilerArgumentsContentProspectorTest
##### Tools. Kapt
- [`KT-79138`](https://youtrack.jetbrains.com/issue/KT-79138) K2: KAPT Java Stub Gen: `Unresolved reference` with `@kotlin`.Metadata in Java in 2.2.0
- [`KT-79641`](https://youtrack.jetbrains.com/issue/KT-79641) Kapt: too much information is printed in verbose mode
- [`KT-79136`](https://youtrack.jetbrains.com/issue/KT-79136) K2 kapt: unresolved nested class references in annotation arguments are generated without outer class names
- [`KT-79133`](https://youtrack.jetbrains.com/issue/KT-79133) K2 kapt: class literal with typealias is not expanded
- [`KT-77853`](https://youtrack.jetbrains.com/issue/KT-77853) K2 KAPT: backend internal error: exception during IR fake override builder
- [`KT-73322`](https://youtrack.jetbrains.com/issue/KT-73322) Migrate `FirKaptAnalysisHandlerExtension` compilation pipeline to the phased structure
##### Tools. Maven
- [`KT-77587`](https://youtrack.jetbrains.com/issue/KT-77587) Maven: Introduce Kotlin daemon support and make it enabled by default
- [`KT-63688`](https://youtrack.jetbrains.com/issue/KT-63688) Remove JS-related stuff from kotlin-maven-plugin
##### Tools. Maven. Compiler plugins
- [`KT-77511`](https://youtrack.jetbrains.com/issue/KT-77511) Add maven plugin for Kotlin DataFrame plugin
##### Tools. REPL
- [`KT-78755`](https://youtrack.jetbrains.com/issue/KT-78755) \[K2 Repl] Redeclaring variables does not work
- [`KT-75632`](https://youtrack.jetbrains.com/issue/KT-75632) Contunue deprecation of the REPL built into `kotlinc`
- [`KT-77470`](https://youtrack.jetbrains.com/issue/KT-77470) \[K2 Repl] Lazy Properties crash code generation
- [`KT-76507`](https://youtrack.jetbrains.com/issue/KT-76507) \[K2 Repl] Delegated properties are not visible in the next snippet
- [`KT-76508`](https://youtrack.jetbrains.com/issue/KT-76508) \[K2 Repl] Annotations on property accessors are not resolved
- [`KT-75672`](https://youtrack.jetbrains.com/issue/KT-75672) \[K2 Repl] Serialization plugin crashes compiler backend
##### Tools. Scripts
- [`KT-78378`](https://youtrack.jetbrains.com/issue/KT-78378) "Explain" feature of the kotlin script fails on hidden variables
##### Tools. Statistics (FUS)
- [`KT-79455`](https://youtrack.jetbrains.com/issue/KT-79455) \[FUS] Collect KSP plugin version
- [`KT-77755`](https://youtrack.jetbrains.com/issue/KT-77755) \[FUS Pipeline] Fus file format
- [`KT-77995`](https://youtrack.jetbrains.com/issue/KT-77995) Do not collect FUS metrics on TeamCity
##### Tools. Wasm
- [`KT-76842`](https://youtrack.jetbrains.com/issue/KT-76842) K/Wasm: serve project sources in \*DevRun tasks by default
- [`KT-78921`](https://youtrack.jetbrains.com/issue/KT-78921) K/Wasm: don't generate empty yarn.lock file
- [`KT-75714`](https://youtrack.jetbrains.com/issue/KT-75714) Wasm: Move tooling NPM dependencies outside user project
- [`KT-70013`](https://youtrack.jetbrains.com/issue/KT-70013) .gradle/yarn and .gradle/node are part of Gradle configuration cache
- [`KT-76838`](https://youtrack.jetbrains.com/issue/KT-76838) K/Wasm: No possible to set downloadBaseUrl to null for D8 and Binaryen
- [`KT-76948`](https://youtrack.jetbrains.com/issue/KT-76948) Wasm: Rename kotlinBinaryenSetup and kotlinD8Setup
### [`v2.2.10`](https://github.com/JetBrains/kotlin/releases/tag/v2.2.10): Kotlin 2.2.10
#### Changelog
##### Compiler
- [`KT-79276`](https://youtrack.jetbrains.com/issue/KT-79276) Dexing fails with "Cannot read field X because <local0> is null" with 2.2.0
- [`KT-79442`](https://youtrack.jetbrains.com/issue/KT-79442) "Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces
- [`KT-78815`](https://youtrack.jetbrains.com/issue/KT-78815) `Symbol not found: __ZNSt3__117bad_function_callD1Ev` error on iOS 15.5 simulator in Xcode 16.3 after update to 2.2.0-Beta2
- [`KT-78501`](https://youtrack.jetbrains.com/issue/KT-78501) K2: Missing \[ABSTRACT\_SUPER\_CALL] diagnostics for delegated interface method leads to AssertionError: isCompiledToJvmDefault during IR lowering
- [`KT-78479`](https://youtrack.jetbrains.com/issue/KT-78479) IR lowering failed / Unexpected null argument for composable call
- [`KT-76477`](https://youtrack.jetbrains.com/issue/KT-76477) Kotlin/Native: fix compiler performance reporting in sources->klib and klibs->binary
- [`KT-78736`](https://youtrack.jetbrains.com/issue/KT-78736) Missing \[NOT\_YET\_SUPPORTED\_IN\_INLINE] diagnostics because of incorrect context update
- [`KT-77685`](https://youtrack.jetbrains.com/issue/KT-77685) "IllegalArgumentException: Sequence contains more than one matching element"
- [`KT-76365`](https://youtrack.jetbrains.com/issue/KT-76365) K2: Missing ABSTRACT\_SUPER\_CALL
- [`KT-78352`](https://youtrack.jetbrains.com/issue/KT-78352) False-positive IDENTITY\_SENSITIVE\_OPERATIONS\_WITH\_VALUE\_TYPE when comparing with equality operator (==)
##### Compose compiler
- [`KT-78479`](https://youtrack.jetbrains.com/issue/KT-78479) Ensure that default transform affects functions entered through a call
- [`KT-78490`](https://youtrack.jetbrains.com/issue/KT-78490) Fix visibility for default wrappers of protected methods
- [`b/408492167`](https://issuetracker.google.com/issues/408492167) Emit parameter names in Compose source information
##### JavaScript
- [`KT-79050`](https://youtrack.jetbrains.com/issue/KT-79050) KJS / IC: "Unexpected body of primary constructor for processing irClass"
- [`KT-79089`](https://youtrack.jetbrains.com/issue/KT-79089) KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode tests
##### Native
- [`KT-79075`](https://youtrack.jetbrains.com/issue/KT-79075) Stuck on Kotlin\_getSourceInfo\_core\_symbolication
- [`KT-76178`](https://youtrack.jetbrains.com/issue/KT-76178) LLVM Update: symbol '\_\_ZnwmSt19\_\_type\_descriptor\_t' missing
##### Native. Runtime. Memory
- [`KT-78925`](https://youtrack.jetbrains.com/issue/KT-78925) Crash SIGABRT on Apple Watch after updating Kotlin to 2.2.0
##### Tools. CLI
- [`KT-77445`](https://youtrack.jetbrains.com/issue/KT-77445) UNRESOLVED\_REFERENCE when importing classes from kotlin-stdlib
- [`KT-78263`](https://youtrack.jetbrains.com/issue/KT-78263) java.lang.NoClassDefFoundError: Could not initialize class com.intellij.psi.impl.PsiSubstitutorImpl
- [`KT-78318`](https://youtrack.jetbrains.com/issue/KT-78318) Unresolved reference when compiling kotlin/JS project on fresh master
##### Tools. Compiler Plugins
- [`KT-78490`](https://youtrack.jetbrains.com/issue/KT-78490) "AssertionError: SyntheticAccessorLowering should not attempt to modify other files" when calling protected open composable with default argument
- [`KT-78038`](https://youtrack.jetbrains.com/issue/KT-78038) Make jvm-abi-gen compiler plugin output classloader-friendly
##### Tools. Gradle
- [`KT-77023`](https://youtrack.jetbrains.com/issue/KT-77023) Support creating KotlinJvmAndroidCompilation in KotlinBaseApiPlugin
##### Tools. Gradle. JS
- [`KT-78504`](https://youtrack.jetbrains.com/issue/KT-78504) \[2.2.0-RC3] NPM Tasks in 2.2 RCs produce broken/unusable build cache entries
##### Tools. Gradle. Multiplatform
- [`KT-77466`](https://youtrack.jetbrains.com/issue/KT-77466) KMP - testFixturesApi and similar configurations do not affect jvmTestFixtures source set
- [`KT-68646`](https://youtrack.jetbrains.com/issue/KT-68646) Compose extension's metrics/reports dir should use subdirs based on target
##### Tools. Gradle. Native
- [`KT-77977`](https://youtrack.jetbrains.com/issue/KT-77977) "Unknown hardware platform: riscv64" on JVM project build
##### Tools. Incremental Compile
- [`KT-78807`](https://youtrack.jetbrains.com/issue/KT-78807) Changing ABI fingerprint on non-ABI changes when lambda passed to inlined function
##### Tools. Kapt
- [`KT-77853`](https://youtrack.jetbrains.com/issue/KT-77853) K2 KAPT: backend internal error: exception during IR fake override builder
- [`KT-79138`](https://youtrack.jetbrains.com/issue/KT-79138) K2: KAPT Java Stub Gen: `Unresolved reference` with `@kotlin`.Metadata in Java in 2.2.0
### [`v2.2.0`](https://github.com/JetBrains/kotlin/releases/tag/v2.2.0): Kotlin 2.2.0
#### Changelog
##### Analysis API
- [`KT-73337`](https://youtrack.jetbrains.com/issue/KT-73337) Migrate analysis sources to new IR parameter API
- [`KT-75880`](https://youtrack.jetbrains.com/issue/KT-75880) K2 Mode: Typealias reference resolves to the underlying class in KMP project
- [`KT-74246`](https://youtrack.jetbrains.com/issue/KT-74246) KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site
- [`KT-57733`](https://youtrack.jetbrains.com/issue/KT-57733) Analysis API: Use optimized `ModuleWithDependenciesScope`s in combined symbol providers
- [`KT-69535`](https://youtrack.jetbrains.com/issue/KT-69535) Redesign 'containingSymbol'
- [`KT-69950`](https://youtrack.jetbrains.com/issue/KT-69950) Analysis API: Introduce `isSubtypeOf(ClassId)`
- [`KT-68393`](https://youtrack.jetbrains.com/issue/KT-68393) Analysis API: Rename `KaClassLikeSymbol. classIdIfNonLocal` to `classId`
- [`KT-62924`](https://youtrack.jetbrains.com/issue/KT-62924) Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableId
##### Analysis API. Code Compilation
- [`KT-75502`](https://youtrack.jetbrains.com/issue/KT-75502) K2: IDEA hangs when evaluating inside kotlin-stdlib modules in the Kotlin project
- [`KT-73077`](https://youtrack.jetbrains.com/issue/KT-73077) Evaluation of inline functions is broken inside Kotlin project and Amper module in Idea sources
- [`KT-73936`](https://youtrack.jetbrains.com/issue/KT-73936) K2: CyclicInlineDependencyException: Inline functions have a cyclic dependency in evaluator
- [`KT-74582`](https://youtrack.jetbrains.com/issue/KT-74582) InterpreterMethodNotFoundError when trying to evaluate simple expressions after recent fixes
- [`KT-74524`](https://youtrack.jetbrains.com/issue/KT-74524) Compilation exception with incorrect JvmName annotation arguments
- [`KT-74443`](https://youtrack.jetbrains.com/issue/KT-74443) Compilation peer collector ignores inline property accessors
##### Analysis API. FIR
##### New Features
- [`KT-73493`](https://youtrack.jetbrains.com/issue/KT-73493) Support context parameters
##### Performance Improvements
- [`KT-75790`](https://youtrack.jetbrains.com/issue/KT-75790) Experiment with increasing DEFAULT\_LOCKING\_INTERVAL time
- [`KT-72159`](https://youtrack.jetbrains.com/issue/KT-72159) LLFirCompilerRequiredAnnotationsTargetResolver: consider rewriting it to use honest jumping locks
##### Fixes
- [`KT-76331`](https://youtrack.jetbrains.com/issue/KT-76331) Cleanup FileStructureElement for classes
- [`KT-73117`](https://youtrack.jetbrains.com/issue/KT-73117) K2 AA: Exception "Setter is not found" when val has a setter without body
- [`KT-76540`](https://youtrack.jetbrains.com/issue/KT-76540) K2: Missing library dependency on Android SDK from androidx.activity-1.8.2 causes LiveEdit failures
- [`KT-73266`](https://youtrack.jetbrains.com/issue/KT-73266) K2. "Declaration should have non-local container" with unclosed annotation on top-level function
- [`KT-76432`](https://youtrack.jetbrains.com/issue/KT-76432) JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
- [`KT-76217`](https://youtrack.jetbrains.com/issue/KT-76217) K2 AA: "No fir element was found for KtParameter" with multiple context parameter lists
- [`KT-74740`](https://youtrack.jetbrains.com/issue/KT-74740) Highlighting is broken after the built-in serialization refactoring
- [`KT-76366`](https://youtrack.jetbrains.com/issue/KT-76366) ContextCollector: annotations on class members don't have the class as implicit receiver
- [`KT-76352`](https://youtrack.jetbrains.com/issue/KT-76352) ContextCollector: wrong class annotation context in BODY mode
- [`KT-76341`](https://youtrack.jetbrains.com/issue/KT-76341) ContextCollector: support dangling modifiers
- [`KT-76332`](https://youtrack.jetbrains.com/issue/KT-76332) "Declaration should have non-local container" for declaration inside file annotation
- [`KT-76115`](https://youtrack.jetbrains.com/issue/KT-76115) Disable `FirElementBuilder#getFirForElementInsideAnnotations` optimization for files, classes and scripts
- [`KT-76347`](https://youtrack.jetbrains.com/issue/KT-76347) ContextCollector: avoid resolution for enum entry annotations
- [`KT-76272`](https://youtrack.jetbrains.com/issue/KT-76272) Cleanup AbstractFileStructureTest
- [`KT-75542`](https://youtrack.jetbrains.com/issue/KT-75542) K2 AA: "FirDeclaration was not found for class KtNamedFunction, fir is class FirErrorExpressionImpl" for unclosed annotation on member function
- [`KT-73719`](https://youtrack.jetbrains.com/issue/KT-73719) K2. "FirDeclaration was not found for class KtDestructuringDeclaration, fir is class FirBlockImpl" on incorrect chain call
- [`KT-72908`](https://youtrack.jetbrains.com/issue/KT-72908) K2 Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteral" with non-local destructuring declaration without initializer before `init` block
- [`KT-75532`](https://youtrack.jetbrains.com/issue/KT-75532) ContextCollector: scope for an anonymous function type parameter contains regular parameters
- [`KT-74508`](https://youtrack.jetbrains.com/issue/KT-74508) `FirElementBuilder#findElementInside` should reuse logic from `KtToFirMapping#getFir`
- [`KT-73066`](https://youtrack.jetbrains.com/issue/KT-73066) \[LL] Enable low-level-api-fir-native even with the disabled native part
- [`KT-75132`](https://youtrack.jetbrains.com/issue/KT-75132) Investigate failures of sandbox diagnostic test
- [`KT-75130`](https://youtrack.jetbrains.com/issue/KT-75130) Set up LL FIR tests for sandbox test data
- [`KT-73386`](https://youtrack.jetbrains.com/issue/KT-73386) Standardize LL FIR test for compiler test data
- [`KT-75125`](https://youtrack.jetbrains.com/issue/KT-75125) ISE “Value classes cannot have 0 fields” on instantiating inline class without fields
- [`KT-75179`](https://youtrack.jetbrains.com/issue/KT-75179) ContextCollector: support error properties
- [`KT-74632`](https://youtrack.jetbrains.com/issue/KT-74632) K2: ISE FirLazyDelegatedConstructorCall should be calculated before accessing
- [`KT-74818`](https://youtrack.jetbrains.com/issue/KT-74818) K2 AA: "FirDeclaration was not found for class KtTypeParameter, fir is null" with TYPE\_PARAMETERS\_NOT\_ALLOWED on anonymous function
- [`KT-73183`](https://youtrack.jetbrains.com/issue/KT-73183) Support context parameters in ContextCollectorVisitor
- [`KT-60350`](https://youtrack.jetbrains.com/issue/KT-60350) K2 IDE: top level destructuring RHS should be resolvable
- [`KT-74794`](https://youtrack.jetbrains.com/issue/KT-74794) K2: FirLazyExpression should be calculated before accessing with context parameter and implicit return type
- [`KT-72938`](https://youtrack.jetbrains.com/issue/KT-72938) Get rid of KaFirAnnotationListForReceiverParameter
- [`KT-73727`](https://youtrack.jetbrains.com/issue/KT-73727) Exception in implicit type resolution
##### Analysis API. Infrastructure
- [`KT-74917`](https://youtrack.jetbrains.com/issue/KT-74917) \[Analysis API, Test Framework] Introduce a way to acquire `PsiFile` for a given `TestFile` in `KtTestModule`
##### Analysis API. Light Classes
- [`KT-73405`](https://youtrack.jetbrains.com/issue/KT-73405) Get rid of KtElement#{symbolPointer, symbolPointerOfType} API usages
- [`KT-75391`](https://youtrack.jetbrains.com/issue/KT-75391) Reduce the amount of psi-based logic in light classes
- [`KT-70001`](https://youtrack.jetbrains.com/issue/KT-70001) SLC adds `@Override` with zero text offset on `override` member
- [`KT-75755`](https://youtrack.jetbrains.com/issue/KT-75755) K2. False positive red code on vararg parameters in Kotlin class with `@JvmOverloads` when called from Java
- [`KT-75397`](https://youtrack.jetbrains.com/issue/KT-75397) Constructors and functions with non-last vararg parameters are treated as varargs
- [`KT-74868`](https://youtrack.jetbrains.com/issue/KT-74868) Support context parameters
- [`KT-74733`](https://youtrack.jetbrains.com/issue/KT-74733) SymbolPsiLiteral.text == value for Java constant
- [`KT-74620`](https://youtrack.jetbrains.com/issue/KT-74620) Delegated functions with value classes are present in light classes
- [`KT-74595`](https://youtrack.jetbrains.com/issue/KT-74595) Static functions with value classes are present in light classes
- [`KT-74284`](https://youtrack.jetbrains.com/issue/KT-74284) Synthetic data class methods using value class types present in LC
##### Analysis API. Providers and Caches
##### Performance Improvements
- [`KT-62115`](https://youtrack.jetbrains.com/issue/KT-62115) Analysis API: Package providers are not cached per search scope
- [`KT-74463`](https://youtrack.jetbrains.com/issue/KT-74463) Analysis API: `LLNativeForwardDeclarationsSymbolProvider` queries its cache even when the `ClassId` cannot represent a native forward declaration
##### Fixes
- [`KT-74541`](https://youtrack.jetbrains.com/issue/KT-74541) Analysis API: Include files generated by resolve extensions in `KaModule` content scopes
- [`KT-64236`](https://youtrack.jetbrains.com/issue/KT-64236) Analysis API: Introduce a separate module for fallback dependencies of library source modules
- [`KT-74090`](https://youtrack.jetbrains.com/issue/KT-74090) Analysis API: Support dumb mode (restricted analysis)
- [`KT-63780`](https://youtrack.jetbrains.com/issue/KT-63780) Analysis API: Invalidate resolvable library sessions when binary library modules are modified
- [`KT-72388`](https://youtrack.jetbrains.com/issue/KT-72388) KaFirStopWorldCacheCleaner: Control-flow exceptions
- [`KT-74943`](https://youtrack.jetbrains.com/issue/KT-74943) Analysis API: Replace `KotlinGlobalModificationService` with simpler global modification event publishing and listener-based modification trackers
- [`KT-70518`](https://youtrack.jetbrains.com/issue/KT-70518) K2: Analysis API: Access indices outside of `ConcurrentMap` computation in symbol providers
- [`KT-74302`](https://youtrack.jetbrains.com/issue/KT-74302) Analysis API: `LLFirProvider` should disregard self-declarations in `getFirClassifierBy*`
- [`KT-67868`](https://youtrack.jetbrains.com/issue/KT-67868) Analysis API: Improve the architecture of `LLFirKotlinSymbolProvider`s
##### Analysis API. Standalone
- [`KT-72810`](https://youtrack.jetbrains.com/issue/KT-72810) withMultiplatformLightClassSupport is inconvenient in Standalone
##### Analysis API. Stubs and Decompilation
- [`KT-71787`](https://youtrack.jetbrains.com/issue/KT-71787) `PsiRawFirBuilder.Visitor#visitStringTemplateExpression` forces AST loading
- [`KT-68484`](https://youtrack.jetbrains.com/issue/KT-68484) K2 IDE, Analysis API: "We should be able to find a symbol for function" for getting KaType of `Iterable<T>.map(transform: (T) -> R)` parameter in J2K
##### Analysis API. Surface
##### New Features
- [`KT-74475`](https://youtrack.jetbrains.com/issue/KT-74475) Add `isInline` for `KaPropertySymbol`
- [`KT-75063`](https://youtrack.jetbrains.com/issue/KT-75063) KaScopeContext: support context parameters
##### Performance Improvements
- [`KT-73669`](https://youtrack.jetbrains.com/issue/KT-73669) Support psi-based symbol pointer for implicit primary constructors
- [`KT-76008`](https://youtrack.jetbrains.com/issue/KT-76008) Provide PSI-based implementation for `KaFirNamedClassSymbol#companionObject`
- [`KT-70165`](https://youtrack.jetbrains.com/issue/KT-70165) Introduce PSI-based `KaSymbol`s for K2
##### Fixes
- [`KT-72730`](https://youtrack.jetbrains.com/issue/KT-72730) K2: "Unexpected owner function: KtNamedFunction" on vararg val parameter in function
- [`KT-75123`](https://youtrack.jetbrains.com/issue/KT-75123) K2. KaFirNamedFunctionSymbol should contain a receiver
- [`KT-75894`](https://youtrack.jetbrains.com/issue/KT-75894) Cannot build KaFirJavaFieldSymbol for FirFieldImpl
- [`KT-75115`](https://youtrack.jetbrains.com/issue/KT-75115) Analysis API: The `JavaModuleResolver` compiler class is leaked to Analysis API platform implementations
- [`KT-76018`](https://youtrack.jetbrains.com/issue/KT-76018) K2: Stop the wold leads to deadlock/freeze
- [`KT-76011`](https://youtrack.jetbrains.com/issue/KT-76011) `KaFirNamedClassSymbol#companionObject` doesn't provide generated objects generated by compiled plugins
- [`KT-72482`](https://youtrack.jetbrains.com/issue/KT-72482) "KotlinIllegalArgumentExceptionWithAttachments: Expected all candidates to have same callableId but some of them but was different" on trying to add the import
- [`KT-75586`](https://youtrack.jetbrains.com/issue/KT-75586) `KaFirPropertyGetterSymbol#isInline` and `KaFirPropertySetterSymbol#isInline` is incorrect for accessors with explicit modifier
- [`KT-58572`](https://youtrack.jetbrains.com/issue/KT-58572) Analysis API: Enforcing STATUS resolve in 'KtFirNamedClassOrObjectSymbol.visibility' may cause lazy resolve contract violation
- [`KT-75574`](https://youtrack.jetbrains.com/issue/KT-75574) Recognize injected code fragment copies
- [`KT-75573`](https://youtrack.jetbrains.com/issue/KT-75573) Recognize physical file copies as dangling files
- [`KT-74801`](https://youtrack.jetbrains.com/issue/KT-74801) Analysis API: Publish/subscribe to modification events with a single message bus topic
- [`KT-73290`](https://youtrack.jetbrains.com/issue/KT-73290) Analysis API: Improve the architecture of content scopes and resolution scopes
- [`KT-68901`](https://youtrack.jetbrains.com/issue/KT-68901) Constructor delegation call receiver missing in fir implementation
- [`KT-72639`](https://youtrack.jetbrains.com/issue/KT-72639) Support context parameter API
- [`KT-73112`](https://youtrack.jetbrains.com/issue/KT-73112) AA: FirExpression.toKtReceiverValue should handle context receivers properly
- [`KT-74905`](https://youtrack.jetbrains.com/issue/KT-74905) Cannot find context receiver in FIR declaration
- [`KT-74563`](https://youtrack.jetbrains.com/issue/KT-74563) `createPointer` is overloaded not for all implementations
- [`KT-73722`](https://youtrack.jetbrains.com/issue/KT-73722) Analysis API: Automatically check that the API surface is fully documented
- [`KT-65065`](https://youtrack.jetbrains.com/issue/KT-65065) Provide `KtTypeReference#getShortTypeText()`
##### Backend. Native. Debug
- [`KT-75991`](https://youtrack.jetbrains.com/issue/KT-75991) Xcode 16.3: Fix lldb stepping test over an inline function
##### Backend. Wasm
##### New Features
- [`KT-59032`](https://youtrack.jetbrains.com/issue/KT-59032) Support instantiation of annotation classes on WASM
##### Fixes
- [`KT-77622`](https://youtrack.jetbrains.com/issue/KT-77622) K/Wasm: investigate CMP crash on mobile Safari
- [`KT-76747`](https://youtrack.jetbrains.com/issue/KT-76747) \[Wasm] Wasm name section absent for wasm structs
- [`KT-76701`](https://youtrack.jetbrains.com/issue/KT-76701) K/Wasm: custom formatters are not loaded when a project is built with incremental compilation
- [`KT-66081`](https://youtrack.jetbrains.com/issue/KT-66081) K/WASM: `0/0`, `5/0` and `5%0`throw not ArithmeticException, but RuntimeError
- [`KT-76287`](https://youtrack.jetbrains.com/issue/KT-76287) \[Wasm] Enable stdlib and kotlin.test tests after compiler bootstrap
- [`KT-75871`](https://youtrack.jetbrains.com/issue/KT-75871) \[Wasm] Implement new RTTI approach
- [`KT-75872`](https://youtrack.jetbrains.com/issue/KT-75872) Wasm / IC: IllegalStateException: IC internal error: can not find library
- [`KT-74441`](https://youtrack.jetbrains.com/issue/KT-74441) K/Wasm: incorrect 1e-45.toString()
- [`KT-59118`](https://youtrack.jetbrains.com/issue/KT-59118) WASM: floating point toString inconsistencies
- [`KT-68948`](https://youtrack.jetbrains.com/issue/KT-68948) Wasm: float from variable is printed with many decimal points
- [`KT-69107`](https://youtrack.jetbrains.com/issue/KT-69107) \[wasm] Seemingly incorrect rounding
- [`KT-73362`](https://youtrack.jetbrains.com/issue/KT-73362) Migrate K/Wasm sources to new IR parameter API
##### Compiler
##### New Features
- [`KT-70722`](https://youtrack.jetbrains.com/issue/KT-70722) Implement better Kotlin warnings for value classes and JEP 390 (Warnings for Value-Based Classes)
- [`KT-71768`](https://youtrack.jetbrains.com/issue/KT-71768) Enable -Xjvm-default=all-compatibility by default to generate JVM default interface methods
- [`KT-54205`](https://youtrack.jetbrains.com/issue/KT-54205) Support jakarta Nullability annotations
- [`KT-57919`](https://youtrack.jetbrains.com/issue/KT-57919) Store all annotations in Kotlin metadata on JVM under a flag
- [`KT-73255`](https://youtrack.jetbrains.com/issue/KT-73255) Change defaulting rule for annotations
- [`KT-74382`](https://youtrack.jetbrains.com/issue/KT-74382) Annotating Java record components for `@JvmRecord` data class
- [`KT-74811`](https://youtrack.jetbrains.com/issue/KT-74811) Prohibit usages of `@MustUseValue` / `@IgnorableValue` if RV checker is not enabled
- [`KT-74806`](https://youtrack.jetbrains.com/issue/KT-74806) Implement feature flag for improved unused return value checker
- [`KT-74809`](https://youtrack.jetbrains.com/issue/KT-74809) Support unnamed local variables
- [`KT-73508`](https://youtrack.jetbrains.com/issue/KT-73508) Add a warning diagnostic for using kotlin.concurrent.AtomicRef<Int>
- [`KT-72941`](https://youtrack.jetbrains.com/issue/KT-72941) ANNOTATIONS\_ON\_BLOCK\_LEVEL\_EXPRESSION\_ON\_THE\_SAME\_LINE missing in K2
- [`KT-74497`](https://youtrack.jetbrains.com/issue/KT-74497) Warn about incompatible Kotlin and Java targets in annotations
- [`KT-75061`](https://youtrack.jetbrains.com/issue/KT-75061) Support context-sensitive resolution in type position
- [`KT-75315`](https://youtrack.jetbrains.com/issue/KT-75315) Support context-sensitive resolution in the call-argument position
- [`KT-75316`](https://youtrack.jetbrains.com/issue/KT-75316) Support context-sensitive resolution for expression-position with expected type
- [`KT-76088`](https://youtrack.jetbrains.com/issue/KT-76088) Support context-sensitive resolution for annotation arguments
- [`KT-74049`](https://youtrack.jetbrains.com/issue/KT-74049) Introduce special override rule to allow overriding T! with T & Any
##### Performance Improvements
- [`KT-76395`](https://youtrack.jetbrains.com/issue/KT-76395) Performance degradation on 28.03.2025
- [`KT-76422`](https://youtrack.jetbrains.com/issue/KT-76422) FirJavaFacade#createFirJavaClass: do not compute super type references right away
- [`KT-75957`](https://youtrack.jetbrains.com/issue/KT-75957) K2: PsiRawFirBuilder.Visitor#toFirExpression forces AST loading via getSpreadElement
- [`KT-74824`](https://youtrack.jetbrains.com/issue/KT-74824) Exponential performance caused by nested flexible types
- [`KT-62855`](https://youtrack.jetbrains.com/issue/KT-62855) K2: extra allocation for SAM conversion compared to K1
- [`KT-74977`](https://youtrack.jetbrains.com/issue/KT-74977) K/N: support stack array for Array(size) call
- [`KT-74369`](https://youtrack.jetbrains.com/issue/KT-74369) Exponential compiler memory usage in specific situations with type inference
##### Fixes
- [`KT-76606`](https://youtrack.jetbrains.com/issue/KT-76606) Enable 'Indy: Allow lambdas with annotations' by default
- [`KT-77301`](https://youtrack.jetbrains.com/issue/KT-77301) False positive Context Parameter resolution when using DslMarker
- [`KT-74389`](https://youtrack.jetbrains.com/issue/KT-74389) K2: False positive NON\_EXPORTABLE\_TYPE on non-Unit `Promise<...>` in K/JS
- [`KT-77219`](https://youtrack.jetbrains.com/issue/KT-77219) "`@Composable` annotation is not applicable" on vararg `@Composable` () -> Unit in Kotlin 2.2.0
- [`KT-76357`](https://youtrack.jetbrains.com/issue/KT-76357) K2: a nested class annotation observes member declarations of the outer class
- [`KT-72734`](https://youtrack.jetbrains.com/issue/KT-72734) Support new callable reference nodes in Kotlin Native
- [`KT-74421`](https://youtrack.jetbrains.com/issue/KT-74421) K2: Missing "val cannot be reassigned" when trying to assign a value to parent's "val"
- [`KT-63720`](https://youtrack.jetbrains.com/issue/KT-63720) Coroutine debugger: do not optimise out local variables
- [`KT-74470`](https://youtrack.jetbrains.com/issue/KT-74470) NSME on calling in runtime internal constructor of value class with default arg from tests
- [`KT-77640`](https://youtrack.jetbrains.com/issue/KT-77640) Context parameters: using 'contextOf()' function leads to \[NO\_CONTEXT\_ARGUMENT]
- [`KT-73909`](https://youtrack.jetbrains.com/issue/KT-73909) Add an inspection discouraging usage of kotlin.concurrent Native atomics in favor of the new atomics
- [`KT-76583`](https://youtrack.jetbrains.com/issue/KT-76583) CCE: suspend lambda attempts to unbox value class parameter twice after lambda suspended
- [`KT-76663`](https://youtrack.jetbrains.com/issue/KT-76663) KJS: KotlinNothingValueException caused by expression return since 2.1.20
- [`KT-75457`](https://youtrack.jetbrains.com/issue/KT-75457) Native: cache machinery uses stdlib cache with default runtime options even if custom runtime options are supplied when partial linkage is disabled
- [`KT-76615`](https://youtrack.jetbrains.com/issue/KT-76615) K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" for mixed Java/Kotlin code
- [`KT-77220`](https://youtrack.jetbrains.com/issue/KT-77220) Annotation with EXPRESSION is not allowed on lambdas in Kotlin 2.2.0
- [`KT-76381`](https://youtrack.jetbrains.com/issue/KT-76381) K2: Expected expression 'FirPropertyAccessExpressionImpl' to be resolved
- [`KT-74739`](https://youtrack.jetbrains.com/issue/KT-74739) Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION\_REFERENCE"
- [`KT-74325`](https://youtrack.jetbrains.com/issue/KT-74325) Explicit API mode does not enforce explicit return types for extension properties
- [`KT-77259`](https://youtrack.jetbrains.com/issue/KT-77259) Confusing message for `ANNOTATION_WILL_BE_APPLIED_ALSO_TO_PROPERTY_OR_FIELD`
- [`KT-73771`](https://youtrack.jetbrains.com/issue/KT-73771) K2: Infinite compilation caused by buildList without type
- [`KT-61258`](https://youtrack.jetbrains.com/issue/KT-61258) Kotlin/Native: CLASS CLASS name:<no name provided> modality:FINAL visibility:local superTypes:\[<root>.Base]
- [`KT-75317`](https://youtrack.jetbrains.com/issue/KT-75317) Kotlin/Native: segfault in kotlin::gc::Mark<kotlin::gc::mark::ConcurrentMark::MarkTraits>
- [`KT-75965`](https://youtrack.jetbrains.com/issue/KT-75965) The iOS app did not run successfully in Release mode
- [`KT-77397`](https://youtrack.jetbrains.com/issue/KT-77397) Report UNSUPPORTED\_CONTEXTUAL\_DECLARATION\_CALL when calling declaration with contextual function type in signature
- [`KT-77137`](https://youtrack.jetbrains.com/issue/KT-77137) K2: Controversial behavior allows resolving annotation arguments on a companion inside it
- [`KT-77150`](https://youtrack.jetbrains.com/issue/KT-77150) Native: compilation fails with an assertion error
- [`KT-51960`](https://youtrack.jetbrains.com/issue/KT-51960) ClassCastException: Inline function with both context and extension receiver produces this when invoked
- [`KT-73611`](https://youtrack.jetbrains.com/issue/KT-73611) Remove -Xextended-compiler-checks in favor of a deprecation cycle
- [`KT-74649`](https://youtrack.jetbrains.com/issue/KT-74649) Deprecate language versions 1.8 and 1.9
- [`KT-77283`](https://youtrack.jetbrains.com/issue/KT-77283) Binary compatibility of FirDeclarationChecker
- [`KT-73445`](https://youtrack.jetbrains.com/issue/KT-73445) K2: do not report "cannot infer visibility" when inheriting multiple implementations
- [`KT-75945`](https://youtrack.jetbrains.com/issue/KT-75945) Indy: Allow lambdas with annotations
- [`KT-76898`](https://youtrack.jetbrains.com/issue/KT-76898) K2: ClassCastException when data class shadows supertype's `componentX` method with wrong type
- [`KT-75992`](https://youtrack.jetbrains.com/issue/KT-75992) Xcode 16.3: stacktraces on simulators are not symbolicated
- [`KT-76805`](https://youtrack.jetbrains.com/issue/KT-76805) Wrong NPE occurs when assigning synthetic properties with platform types in Kotlin 2.1.20
- [`KT-76171`](https://youtrack.jetbrains.com/issue/KT-76171) "KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirSingleExpressionBlock' to be resolved"
- [`KT-77078`](https://youtrack.jetbrains.com/issue/KT-77078) K2: anonymous object is wrongly allowed to implement interfaces by unsafe Delegation
- [`KT-72722`](https://youtrack.jetbrains.com/issue/KT-72722) Treat 'copy' calls of a data class as explicit constructor usages
- [`KT-77001`](https://youtrack.jetbrains.com/issue/KT-77001) Leave ForbidParenthesizedLhsInAssignments as a warning
- [`KT-75828`](https://youtrack.jetbrains.com/issue/KT-75828) Store backing field/delegate annotations and extension receiver annotations in metadata
- [`KT-58369`](https://youtrack.jetbrains.com/issue/KT-58369) K2: enable DFA warnings
- [`KT-51258`](https://youtrack.jetbrains.com/issue/KT-51258) Annotations should go before context receivers
- [`KT-76253`](https://youtrack.jetbrains.com/issue/KT-76253) K2 Compiler: Less precise diagnostic COMPONENT\_FUNCTION\_AMBIGUITY for flexible type
- [`KT-59526`](https://youtrack.jetbrains.com/issue/KT-59526) Store annotation default values in metadata on JVM
- [`KT-63850`](https://youtrack.jetbrains.com/issue/KT-63850) K2: setter with an annotated parameter has `isNotDefault == false` flag in metadata
- [`KT-75712`](https://youtrack.jetbrains.com/issue/KT-75712) -Wextra: false positive UNUSED\_LAMBDA\_EXPRESSION on functional type variable assignment with inferred type
- [`KT-4779`](https://youtrack.jetbrains.com/issue/KT-4779) Generate default methods for implementations in interfaces
- [`KT-69624`](https://youtrack.jetbrains.com/issue/KT-69624) Debugger: Missing local variable in Variables view (inline function)
- [`KT-75518`](https://youtrack.jetbrains.com/issue/KT-75518) NO\_CONTEXT\_ARGUMENT should report the name of the context parameter in addition to the type
- [`KT-76199`](https://youtrack.jetbrains.com/issue/KT-76199) Introduce -Xcontext-sensitive-resolution compiler flag
- [`KT-75553`](https://youtrack.jetbrains.com/issue/KT-75553) `MISSING_DEPENDENCY_SUPERCLASS` and `MISSING_DEPENDENCY_SUPERCLASS_WARNING` is reported at the same time on the same element
- [`KT-76159`](https://youtrack.jetbrains.com/issue/KT-76159) Obsolete error "'`@JvmDefaultWithCompatibility`' annotation is only allowed on interfaces" should be removed
- [`KT-76660`](https://youtrack.jetbrains.com/issue/KT-76660) False negative RETURN\_NOT\_ALLOWED in lambda in default argument leads to NoClassDefFoundError: $$$$$NON\_LOCAL\_RETURN$$$$$
- [`KT-76301`](https://youtrack.jetbrains.com/issue/KT-76301) Fail to infer types after syntactical change
- [`KT-74999`](https://youtrack.jetbrains.com/issue/KT-74999) K2: KotlinNothingValueException within Extension Function
- [`KT-76675`](https://youtrack.jetbrains.com/issue/KT-76675) KIAEWA exception at KaFirDataFlowProvider with non-local return from nested inline call
- [`KT-75756`](https://youtrack.jetbrains.com/issue/KT-75756) Backend Internal error: Exception during IR lowering when trying to access variable from providedProperties in class within kotlin custom script
- [`KT-76345`](https://youtrack.jetbrains.com/issue/KT-76345) Enhance variable fixation
- [`KT-76578`](https://youtrack.jetbrains.com/issue/KT-76578) \[FIR, K1/K2 Regression] `lateinit` is allowed on loop parameters
- [`KT-76448`](https://youtrack.jetbrains.com/issue/KT-76448) FirOverrideChecker: class ClsMethodImpl is not a subtype of class KtNamedDeclaration for factory VIRTUAL\_MEMBER\_HIDDEN
- [`KT-73360`](https://youtrack.jetbrains.com/issue/KT-73360) Migrate K/JVM sources to new IR parameter API
- [`KT-74852`](https://youtrack.jetbrains.com/issue/KT-74852) Kotlin/Native: allow caches for thread state checker and sanitizers
- [`KT-76130`](https://youtrack.jetbrains.com/issue/KT-76130) IR evaluator does not support array literals in annotation parameter default values
- [`KT-76436`](https://youtrack.jetbrains.com/issue/KT-76436) Missing K2 checker: non-local return through lambda passed to inline f/o
- [`KT-74326`](https://youtrack.jetbrains.com/issue/KT-74326) False negative: no variable must be initialized error though code doesn't compile
- [`KT-76572`](https://youtrack.jetbrains.com/issue/KT-76572) FIR\_NON\_SUPPRESSIBLE\_ERROR\_NAMES does not contain deprecation errors
- [`KT-75704`](https://youtrack.jetbrains.com/issue/KT-75704) Refactor `FirWhenSubjectExpression`
- [`KT-76284`](https://youtrack.jetbrains.com/issue/KT-76284) Flexible captured type is not approximated in receiver position
- [`KT-76192`](https://youtrack.jetbrains.com/issue/KT-76192) RETURN\_TYPE\_MISMATCH with same expected and actual type: nullability of actual type is omitted
- [`KT-75944`](https://youtrack.jetbrains.com/issue/KT-75944) Allow using invokedynamic for lambdas with no 'Runtime' level retention annotations
- [`KT-76396`](https://youtrack.jetbrains.com/issue/KT-76396) FirIntegerConstantOperatorScope: NoSuchElementException: Collection contains no element matching the predicate
- [`KT-76209`](https://youtrack.jetbrains.com/issue/KT-76209) CONFLICTING\_UPPER\_BOUNDS on `Nothing` bound
- [`KT-59506`](https://youtrack.jetbrains.com/issue/KT-59506) Context receivers: Unable to use trailing comma in receiver list
- [`KT-46119`](https://youtrack.jetbrains.com/issue/KT-46119) NONE\_APPLICABLE instead of NAMED\_ARGUMENTS\_NOT\_ALLOWED with overloaded Java constructor call
- [`KT-75503`](https://youtrack.jetbrains.com/issue/KT-75503) Run lazy resolution in CallableCopyTypeCalculator and use withForcedTypeCalculator everywhere in checkers
- [`KT-76485`](https://youtrack.jetbrains.com/issue/KT-76485) Don't report EXTENSION\_SHADOWED\_BY\_MEMBER if extension can be called with named arguments
- [`KT-76154`](https://youtrack.jetbrains.com/issue/KT-76154) False positive "EXTENSION\_SHADOWED\_BY\_MEMBER" when extension adds default values to parameters
- [`KT-76527`](https://youtrack.jetbrains.com/issue/KT-76527) False positive UNSUPPORTED\_CONTEXTUAL\_DECLARATION\_CALL with -Xcontext-receivers and implicit invoke
- [`KT-63246`](https://youtrack.jetbrains.com/issue/KT-63246) K2: False positive NOTHING\_TO\_OVERRIDE in generic property with context receiver in non generic class extending generic class
- [`KT-58534`](https://youtrack.jetbrains.com/issue/KT-58534) K2: "Argument type mismatch" with typealias to context receiver functional type
- [`KT-71792`](https://youtrack.jetbrains.com/issue/KT-71792) Switch latest stable version in Kotlin project to 2.2
- [`KT-74827`](https://youtrack.jetbrains.com/issue/KT-74827) CompilationErrorException : Could not load module in an attempt to find deserializer when trying to evaluate an expression
- [`KT-70352`](https://youtrack.jetbrains.com/issue/KT-70352) K2: False-negative CONFLICTING\_UPPER\_BOUNDS on `Nothing` bound
- [`KT-71481`](https://youtrack.jetbrains.com/issue/KT-71481) K2: drop pre-1.6 language features from compiler code
- [`KT-74454`](https://youtrack.jetbrains.com/issue/KT-74454) Support trailing comma in context parameters
- [`KT-74069`](https://youtrack.jetbrains.com/issue/KT-74069) False positive UNUSED\_EXPRESSION due to Long/Int conversion
- [`KT-74337`](https://youtrack.jetbrains.com/issue/KT-74337) Local Delegated properties don't preserve their annotations and don't show up in reflection
- [`KT-55187`](https://youtrack.jetbrains.com/issue/KT-55187) Context receivers in function types can have labels
- [`KT-58498`](https://youtrack.jetbrains.com/issue/KT-58498) Context receivers: ClassCastException with object and extension function in interface
- [`KT-58165`](https://youtrack.jetbrains.com/issue/KT-58165) K2: "IllegalArgumentException: No argument for parameter VALUE\_PARAMETER" on overridden contextual property
- [`KT-75234`](https://youtrack.jetbrains.com/issue/KT-75234) Add error for callsInPlace contracts on context parameters
- [`KT-73805`](https://youtrack.jetbrains.com/issue/KT-73805) K2: Investigate missing diagnostic in implicit invoke call on context function type with receiver from module with disabled context parameters
- [`KT-41934`](https://youtrack.jetbrains.com/issue/KT-41934) NI: a type variable for lambda parameter has been inferred to nullable type instead of not null one
- [`KT-75983`](https://youtrack.jetbrains.com/issue/KT-75983) Backend Internal error: Exception during IR lowering 'IllegalStateException: Internal error: cannot convert Any to Int'
- [`KT-75535`](https://youtrack.jetbrains.com/issue/KT-75535) Compilation of typealias does not check for clashes
- [`KT-72313`](https://youtrack.jetbrains.com/issue/KT-72313) K2 IDE / KMP Debugger: Evaluation of inline functions declared in a common source set causes a crash
- [`KT-76290`](https://youtrack.jetbrains.com/issue/KT-76290) False positive UNUSED\_EXPRESSION while returning Unit in the when branches
- [`KT-32358`](https://youtrack.jetbrains.com/issue/KT-32358) NI: Smart cast doesn't work with inline function after elvis operator
- [`KT-76316`](https://youtrack.jetbrains.com/issue/KT-76316) K2: Missing NON\_PUBLIC\_CALL\_FROM\_PUBLIC\_INLINE on object extending private class in public inline function
- [`KT-76324`](https://youtrack.jetbrains.com/issue/KT-76324) Frontend diagnostic says "... this will be an error in Kotlin N.M" but N.M is already released
- [`KT-76058`](https://youtrack.jetbrains.com/issue/KT-76058) PCLA: compile-time failure on calling a higher-order function from another module inside a lambda assigned to a variable of a type with a postponed type variable
- [`KT-75571`](https://youtrack.jetbrains.com/issue/KT-75571) K2: type mismatch error provides unsubstituted types
- [`KT-31391`](https://youtrack.jetbrains.com/issue/KT-31391) 'Recursive call is not a tail call' with elvis operator in tailrec function
- [`KT-73420`](https://youtrack.jetbrains.com/issue/KT-73420) False-positive `NON_TAIL_RECURSIVE_CALL` on tailrec function with elvis in the return statement
- [`KT-75815`](https://youtrack.jetbrains.com/issue/KT-75815) Disable warnings about different context parameter names in overrides
- [`KT-75169`](https://youtrack.jetbrains.com/issue/KT-75169) Unnecessary EXTENSION\_SHADOWED\_BY\_MEMBER on generic declarations
- [`KT-75483`](https://youtrack.jetbrains.com/issue/KT-75483) Native: redundant unboxing generated with smart cast
- [`KT-76339`](https://youtrack.jetbrains.com/issue/KT-76339) K2: Dangling modifier list is missed for enum entries in PSI mode
- [`KT-75513`](https://youtrack.jetbrains.com/issue/KT-75513) Avoid overrides traversal without preinitialization
- [`KT-74587`](https://youtrack.jetbrains.com/issue/KT-74587) Report an error when JvmDefaultWithoutCompatibility is used with -Xjvm-default=all
- [`KT-76257`](https://youtrack.jetbrains.com/issue/KT-76257) Annotations with class references are not supported when marking IR declarations as visible to metadata
- [`KT-71793`](https://youtrack.jetbrains.com/issue/KT-71793) Drop language versions 1.6 and 1.7
- [`KT-59272`](https://youtrack.jetbrains.com/issue/KT-59272) Incorrect bytecode generated: wrong line number table after condition
- [`KT-69248`](https://youtrack.jetbrains.com/issue/KT-69248) K2: IAE “class KtDotQualifiedExpression is not a subtype of class KtCallExpression for factory ENUM\_CLASS\_CONSTRUCTOR\_CALL” with qualified enum constructor call
- [`KT-73778`](https://youtrack.jetbrains.com/issue/KT-73778) Kotlin Debugger: NSFE on accessing private property from dependencies during evaluation
- [`KT-74131`](https://youtrack.jetbrains.com/issue/KT-74131) Incorrect line numbers for static initializer with delegated local variable
- [`KT-76320`](https://youtrack.jetbrains.com/issue/KT-76320) K2: PsiRawFirBuilder: import alias triggers ast loading
- [`KT-63851`](https://youtrack.jetbrains.com/issue/KT-63851) K2: No `setterValueParameter` in metadata for property setter with an annotated parameter
- [`KT-55083`](https://youtrack.jetbrains.com/issue/KT-55083) JVM: AbstractMethodError caused by lambda with sealed base interface and fun sub interface and overridden method
- [`KT-16727`](https://youtrack.jetbrains.com/issue/KT-16727) Names for anonymous classes in interfaces are malformed on JDK 8
- [`KT-12466`](https://youtrack.jetbrains.com/issue/KT-12466) NoClassDefFoundError: B$DefaultImpls on super interface call through K-J-K inheritance
- [`KT-71002`](https://youtrack.jetbrains.com/issue/KT-71002) Possible inheritance from nullable type through typealias
- [`KT-75293`](https://youtrack.jetbrains.com/issue/KT-75293) K2: Missing \[HAS\_NEXT\_FUNCTION\_TYPE\_MISMATCH] diagnostics
- [`KT-75498`](https://youtrack.jetbrains.com/issue/KT-75498) Forbid .declarations access from checkers
- [`KT-72335`](https://youtrack.jetbrains.com/issue/KT-72335) KotlinIllegalArgumentExceptionWithAttachments when using illegal selector
- [`KT-68375`](https://youtrack.jetbrains.com/issue/KT-68375) K2: FirPrimaryConstructorSuperTypeChecker fails on generated superclasses
- [`KT-71718`](https://youtrack.jetbrains.com/issue/KT-71718) K2: drop TypePreservingVisibilityWrtHack
- [`KT-75112`](https://youtrack.jetbrains.com/issue/KT-75112) FE resolves wrong receivers order for property passed to delegate
- [`KT-75924`](https://youtrack.jetbrains.com/issue/KT-75924) K2. Incorrect generic type Inference "R? & Any" appears for "Add explicit type arguments"
- [`KT-75969`](https://youtrack.jetbrains.com/issue/KT-75969) java.lang.IllegalArgumentException: source must not be null on red code
- [`KT-75322`](https://youtrack.jetbrains.com/issue/KT-75322) ConeDiagnosticToFirDiagnosticKt: source must not be null
- [`KT-73800`](https://youtrack.jetbrains.com/issue/KT-73800) Wrong method executed on super call in -Xjvm-default=all/all-compatibility with an extraneous super-interface
- [`KT-38029`](https://youtrack.jetbrains.com/issue/KT-38029) Wrong method executed on super call in diamond hierarchy with covariant override
- [`KT-75242`](https://youtrack.jetbrains.com/issue/KT-75242) Any use-site target can be applied to a lambda and an expression
- [`KT-73051`](https://youtrack.jetbrains.com/issue/KT-73051) incorrect direction of subtyping violation in type mismatch error's message for A\<X<C>> \</: A\<Y<Tv>> given a Tv <: Rv == C constraint from a lambda return position
- [`KT-75090`](https://youtrack.jetbrains.com/issue/KT-75090) Argument type mismatch: actual type is 'SuspendFunction0<Unit>', but 'SuspendFunction0<Unit>' was expected when anonymous function is passed to function expecting suspend function type
- [`KT-74956`](https://youtrack.jetbrains.com/issue/KT-74956) K2: No USAGE\_IS\_NOT\_INLINABLE with compiling an inlined function call
- [`KT-76049`](https://youtrack.jetbrains.com/issue/KT-76049) K2: drop explicitTypeArgumentIfMadeFlexibleSynthetically creation when DontMakeExplicitJavaTypeArgumentsFlexible is enabled
- [`KT-76055`](https://youtrack.jetbrains.com/issue/KT-76055) K2: drop prepareCustomReturnTypeSubstitutorForFunctionCall logic when DontMakeExplicitJavaTypeArgumentsFlexible is enabled
- [`KT-76057`](https://youtrack.jetbrains.com/issue/KT-76057) K2: don't do reverse Java overridability checks when DontMakeExplicitJavaTypeArgumentsFlexible is enabled
- [`KT-75197`](https://youtrack.jetbrains.com/issue/KT-75197) K2: Missing \[COMPARE\_TO\_TYPE\_MISMATCH] diagnostics
- [`KT-75639`](https://youtrack.jetbrains.com/issue/KT-75639) Inline `context` function leads to `ClassCastException`
- [`KT-75677`](https://youtrack.jetbrains.com/issue/KT-75677) K2: change runtime behavior of KT-75649 case in 2.2
- [`KT-75961`](https://youtrack.jetbrains.com/issue/KT-75961) K2: `PsiRawFirBuilder.Visitor#visitSimpleNameExpression`forces AST loading via `getReferencedNameElement().node.text`
- [`KT-67869`](https://youtrack.jetbrains.com/issue/KT-67869) Make inference for lambda working consistently inside and outside of the call
- [`KT-74885`](https://youtrack.jetbrains.com/issue/KT-74885) K2: IAE "source must not be null" in FirCyclicTypeBoundsChecker
- [`KT-75578`](https://youtrack.jetbrains.com/issue/KT-75578) K2: False negative \[SUPER\_CALL\_WITH\_DEFAULT\_PARAMETERS] when calling the upper-class implementation of a method with the default value argument
- [`KT-73954`](https://youtrack.jetbrains.com/issue/KT-73954) Generate implementations in classes for inherited non-abstract methods in -Xjvm-default=all-compatibility
- [`KT-75173`](https://youtrack.jetbrains.com/issue/KT-75173) Context parameters: KotlinIllegalArgumentExceptionWithAttachments if you override function with value/extension parameter by fun with context
- [`KT-75742`](https://youtrack.jetbrains.com/issue/KT-75742) Native: "IllegalArgumentException: unknown pass name '' " when specifying an empty list of LLVM passes
- [`KT-74819`](https://youtrack.jetbrains.com/issue/KT-74819) K2: False-positive overload resolution ambiguity for flatMap inside PCLA
- [`KT-75093`](https://youtrack.jetbrains.com/issue/KT-75093) K2 IDE: "Unreachable code" highlighting range is confusing
- [`KT-74572`](https://youtrack.jetbrains.com/issue/KT-74572) Context parameters: contracts don't work with context parameters
- [`KT-74765`](https://youtrack.jetbrains.com/issue/KT-74765) Move K1 lazy IR implementation from 'ir.tree' to 'psi2ir'
- [`KT-71425`](https://youtrack.jetbrains.com/issue/KT-71425) IR Inliner: investigate return type of an inlined block
- [`KT-74764`](https://youtrack.jetbrains.com/issue/KT-74764) Native: merge init nodes generated within the same LLVM module for the same klib
- [`KT-75561`](https://youtrack.jetbrains.com/issue/KT-75561) K/N: place InteropLowering after UpgradeCallableReferences phase
- [`KT-73369`](https://youtrack.jetbrains.com/issue/KT-73369) K/N: move interop lowering up the pipeline
- [`KT-75517`](https://youtrack.jetbrains.com/issue/KT-75517) K2: Refactor FirCallableSymbol.resolvedContextParameters to return symbols
- [`KT-75821`](https://youtrack.jetbrains.com/issue/KT-75821) K2: REPL resolution doesn't take into account the property type when processing its initializer
- [`KT-75705`](https://youtrack.jetbrains.com/issue/KT-75705) IllegalArgumentException when isInitialized is used with java field
- [`KT-75334`](https://youtrack.jetbrains.com/issue/KT-75334) Java target shouldn't be specified if Kotlin target isn't specified
- [`KT-75157`](https://youtrack.jetbrains.com/issue/KT-75157) Missing PARAMETER\_NAME\_CHANGED\_ON\_OVERRIDE and DIFFERENT\_NAMES\_FOR\_THE\_SAME\_PARAMETER\_IN\_SUPERTYPES for context parameters
- [`KT-75160`](https://youtrack.jetbrains.com/issue/KT-75160) Check usages of value parameters in checkers and adapt to context parameters
- [`KT-75729`](https://youtrack.jetbrains.com/issue/KT-75729) KtPsiFactory: no type-safe way to create triple-quoted KtStringTemplateExpression
- [`KT-75040`](https://youtrack.jetbrains.com/issue/KT-75040) Unify `subject` and `subjectVariable` in `FirWhenExpression`
- [`KT-75323`](https://youtrack.jetbrains.com/issue/KT-75323) FirSyntheticProperty: Unexpected status. Expected is FirResolvedDeclarationStatus, but was FirDeclarationStatusImpl
- [`KT-75602`](https://youtrack.jetbrains.com/issue/KT-75602) Introduce concept of shared library session in Fir sessions
- [`KT-75509`](https://youtrack.jetbrains.com/issue/KT-75509) PARAMETER\_NAME\_CHANGED\_ON\_OVERRIDE is reported randomly
- [`KT-75124`](https://youtrack.jetbrains.com/issue/KT-75124) IAE “class org.jetbrains.kotlin.psi.KtContextReceiver is not a subtype of class org.jetbrains.kotlin.psi.KtParameter for factory EXPOSED\_PARAMETER\_TYPE” on private context receiver
- [`KT-73585`](https://youtrack.jetbrains.com/issue/KT-73585) K2: ABSTRACT\_SUPER\_CALL is not reported
- [`KT-75531`](https://youtrack.jetbrains.com/issue/KT-75531) K2 REPL: local name doesn't shadow one from implicit receiver
- [`KT-73359`](https://youtrack.jetbrains.com/issue/KT-73359) Migrate frontend sources to new IR parameter API
- [`KT-75380`](https://youtrack.jetbrains.com/issue/KT-75380) K2: Modality is configured incorrectly for some FirDefaultPropertyAccessor
- [`KT-75526`](https://youtrack.jetbrains.com/issue/KT-75526) Regression in K2 scripting: local name doesn't shadow one from the implicit receiver
- [`KT-59379`](https://youtrack.jetbrains.com/issue/KT-59379) K2: Missing MIXING\_NAMED\_AND\_POSITIONED\_ARGUMENTS
- [`KT-75106`](https://youtrack.jetbrains.com/issue/KT-75106) K2: type parameters of anonymous functions are unresolved
- [`KT-73387`](https://youtrack.jetbrains.com/issue/KT-73387) Unexpected implicit type during enhancement
- [`KT-72618`](https://youtrack.jetbrains.com/issue/KT-72618) Cannot define operator inc/dec in class context
- [`KT-74546`](https://youtrack.jetbrains.com/issue/KT-74546) Serialize context parameters to metadata
- [`KT-68768`](https://youtrack.jetbrains.com/issue/KT-68768) K2: unsuccessful inference fork with jspecify annotations
- [`KT-75345`](https://youtrack.jetbrains.com/issue/KT-75345) Add a test for KT-42271
- [`KT-75012`](https://youtrack.jetbrains.com/issue/KT-75012) K2: Compiler crash on `dynamic == null`
- [`KT-75195`](https://youtrack.jetbrains.com/issue/KT-75195) IllegalStateException: No value for annotation parameter when `@all` meta-target is used with annotation with constructor
- [`KT-75163`](https://youtrack.jetbrains.com/issue/KT-75163) WRONG\_ANNOTATION\_TARGET\_WITH\_USE\_SITE\_TARGET for `@all` meta-target although there are applicable targets
- [`KT-75198`](https://youtrack.jetbrains.com/issue/KT-75198) `@all` meta-target should be forbidden for delegated properties
- [`KT-74958`](https://youtrack.jetbrains.com/issue/KT-74958) K2: UNEXPECTED\_TRAILING\_LAMBDA\_ON\_A\_NEW\_LINE isn't reported on accidental trailing closure
- [`KT-74982`](https://youtrack.jetbrains.com/issue/KT-74982) Improve UNSUPPORTED message handling
- [`KT-75111`](https://youtrack.jetbrains.com/issue/KT-75111) False negative "This declaration needs opt-in" for usage of enum entry with OptIn marker in another module
- [`KT-74924`](https://youtrack.jetbrains.com/issue/KT-74924) Infinite recursion in substitution of captured type with recursive supertype
- [`KT-75289`](https://youtrack.jetbrains.com/issue/KT-75289) NPE: getParent(...) must not be null
- [`KT-75275`](https://youtrack.jetbrains.com/issue/KT-75275) Inline class member inherited from interface is not mangled in '-Xjvm-default=all-compatibility'
- [`KT-74340`](https://youtrack.jetbrains.com/issue/KT-74340) FIR: folding binary expression chains for psi parser
- [`KT-73831`](https://youtrack.jetbrains.com/issue/KT-73831) Do not choose `field` target in annotation classes
- [`KT-73494`](https://youtrack.jetbrains.com/issue/KT-73494) Enable first-only-warn annotation defaulting mode
- [`KT-75174`](https://youtrack.jetbrains.com/issue/KT-75174) K2: incorrect influence of return type nullability on required receiver type in KJK hierarchy with property
- [`KT-74920`](https://youtrack.jetbrains.com/issue/KT-74920) Overriding T! with T & Any is not allowed to the extension property receiver type
- [`KT-75150`](https://youtrack.jetbrains.com/issue/KT-75150) False ambiguous context parameter reported because context is not chosen via generic parameter
- [`KT-74965`](https://youtrack.jetbrains.com/issue/KT-74965) CLI compiler doesn't report syntax errors for JS, Metadata backends if light-tree mode is disabled
- [`KT-74303`](https://youtrack.jetbrains.com/issue/KT-74303) K2 IDE / Kotlin Debugger: AE “Trying to inline an anonymous object which is not part of the public ABI” on evaluating private inline function with object inside
- [`KT-75177`](https://youtrack.jetbrains.com/issue/KT-75177) NoSuchMethodError on suspend default interface method fake override returning inline class in -Xjvm-default=all-compatibility
- [`KT-74718`](https://youtrack.jetbrains.com/issue/KT-74718) K/N: Move TestProcessor phase to the top of the pipeline
- [`KT-75015`](https://youtrack.jetbrains.com/issue/KT-75015) Context parameters: it is possible to declare anonymous function with modifiers but they don't have any effect
- [`KT-75092`](https://youtrack.jetbrains.com/issue/KT-75092) K2: Missing errors for modifiers on anonymous function in statement position
- [`KT-75009`](https://youtrack.jetbrains.com/issue/KT-75009) Context parameters: context is unresolved inside anonymous function if passed as an argument
- [`KT-75017`](https://youtrack.jetbrains.com/issue/KT-75017) Context parameters: "IllegalStateException: Cannot find variable a: R|kotlin/String| in local storage " when context from another local function is called
- [`KT-75154`](https://youtrack.jetbrains.com/issue/KT-75154) Context receiver deprecation warning should depend on langauge version, not on LATEST\_STABLE
- [`KT-74979`](https://youtrack.jetbrains.com/issue/KT-74979) Context parameters: anonymous functions with a context aren't parsed in complex cases
- [`KT-74673`](https://youtrack.jetbrains.com/issue/KT-74673) K2: ClassCastException when passing suspending functional interface with generic
- [`KT-74469`](https://youtrack.jetbrains.com/issue/KT-74469) K2: False positive: "Argument type mismatch" during Java interop
- [`KT-75105`](https://youtrack.jetbrains.com/issue/KT-75105) K2: False negative NAME\_IN\_CONSTRAINT\_IS\_NOT\_A\_TYPE\_PARAMETER for type constraint of anonymous function
- [`KT-74929`](https://youtrack.jetbrains.com/issue/KT-74929) False positive TYPE\_PARAMETER\_OF\_PROPERTY\_NOT\_USED\_IN\_RECEIVER if it is used with T\&Any
- [`KT-74227`](https://youtrack.jetbrains.com/issue/KT-74227) K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function type
- [`KT-64558`](https://youtrack.jetbrains.com/issue/KT-64558) K2 compiler does not report UNNECESSARY\_SAFE\_CALL, UNNECESSARY\_NOT\_NULL\_ASSERTION, USELESS\_ELVIS, while K2 IDEA does
- [`KT-74728`](https://youtrack.jetbrains.com/issue/KT-74728) K2: Java method overriding Kotlin method with receiver loses vararg modifier
- [`KT-70789`](https://youtrack.jetbrains.com/issue/KT-70789) CLI error "mixing legacy and modern plugin arguments is prohibited" on using -Xcompiler-plugin unless default scripting plugin is disabled
- [`KT-72829`](https://youtrack.jetbrains.com/issue/KT-72829) Forbid 'entries' name of enum entry, and deprioritize it in resolve
- [`KT-75037`](https://youtrack.jetbrains.com/issue/KT-75037) K2: IrGeneratedDeclarationsRegistrar.registerFunctionAsMetadataVisible doesn't handle extension receivers and context parameters
- [`KT-73149`](https://youtrack.jetbrains.com/issue/KT-73149) Annotations support for context parameters
- [`KT-74798`](https://youtrack.jetbrains.com/issue/KT-74798) Report error on local contextual properties
- [`KT-74092`](https://youtrack.jetbrains.com/issue/KT-74092) Context parameters: it is not possible to declare an anonymous function with a context
- [`KT-52152`](https://youtrack.jetbrains.com/issue/KT-52152) K2: Investigate suspicious code at SAM conversions
- [`KT-75016`](https://youtrack.jetbrains.com/issue/KT-75016) K2: BackendException when context var property is declared in interface
- [`KT-74474`](https://youtrack.jetbrains.com/issue/KT-74474) K2: Report more precise diagnostic when last expression of non-unit lambda is a statement
- [`KT-74478`](https://youtrack.jetbrains.com/issue/KT-74478) K2: False negative RETURN TYPE\_MISMATCH if the last statement of a lambda is indexed assignment
- [`KT-73685`](https://youtrack.jetbrains.com/issue/KT-73685) K2 IDE / Kotlin Debugger: NSME “Method not found” on evaluating function with constant value in `@JvmName`
- [`KT-74449`](https://youtrack.jetbrains.com/issue/KT-74449) Report RETURN\_TYPE\_MISMATCH instead of ARGUMENT\_TYPE\_MISMATCH for return expressions in lambdas
- [`KT-74918`](https://youtrack.jetbrains.com/issue/KT-74918) FIR: account for K/Wasm diagnostics in generateNonSuppressibleErrorNamesFile
- [`KT-74897`](https://youtrack.jetbrains.com/issue/KT-74897) K2: Report UNSUPPORTED\_FEATURE instead of TOPLEVEL\_TYPEALIASES\_ONLY for nested type aliases
- [`KT-74963`](https://youtrack.jetbrains.com/issue/KT-74963) K2: Fir2Ir: Avoid a situation when startOffset > endOffset in generated IrBranch
- [`KT-74697`](https://youtrack.jetbrains.com/issue/KT-74697) Overriding a method that's both deprecated and non-deprecated should not cause warnings
- [`KT-74928`](https://youtrack.jetbrains.com/issue/KT-74928) K2: "IllegalStateException: Cannot find cached type parameter by FIR symbol" in KJK hierarchy with extension property
- [`KT-74630`](https://youtrack.jetbrains.com/issue/KT-74630) K2: local class arguments in annotations on types and type parameters are not serialized
- [`KT-74445`](https://youtrack.jetbrains.com/issue/KT-74445) Commonize Native Function/Property reference lowerings
- [`KT-74670`](https://youtrack.jetbrains.com/issue/KT-74670) Warning message CONTEXT\_CLASS\_OR\_CONSTRUCTOR isn't reported for context receiver on the constructor
- [`KT-74617`](https://youtrack.jetbrains.com/issue/KT-74617) Trivial SMAP optimization leads to missing debug info after inline
- [`KT-74812`](https://youtrack.jetbrains.com/issue/KT-74812) compile-time failure on a callable reference with an input type inferred to an inaccessible generic type
- [`KT-66195`](https://youtrack.jetbrains.com/issue/KT-66195) K2: Java method is not enhanced from overridden's context receivers
- [`KT-74501`](https://youtrack.jetbrains.com/issue/KT-74501) Context parameters: ABSTRACT\_MEMBER\_NOT\_IMPLEMENTED if fun with context is implemented in Java in KJK hierarchy
- [`KT-74385`](https://youtrack.jetbrains.com/issue/KT-74385) Missing diagnostic on repeated suspend modifier in function type
- [`KT-74749`](https://youtrack.jetbrains.com/issue/KT-74749) Provide explanation IR before script compilation
- [`KT-74751`](https://youtrack.jetbrains.com/issue/KT-74751) K2: IllegalStateException: Can't apply receivers of FirPropertyAccessExpressionImpl to IrTypeOperatorCallImpl
- [`KT-74729`](https://youtrack.jetbrains.com/issue/KT-74729) NPE when suspend lambda has inline class parameter
- [`KT-74336`](https://youtrack.jetbrains.com/issue/KT-74336) Not supported: class org.jetbrains.kotlin.fir.types.ConeIntersectionType
- [`KT-74203`](https://youtrack.jetbrains.com/issue/KT-74203) K2: False negative NO\_ELSE\_IN\_WHEN of a generic type with star projection <\*> bounded by a sealed hierarchy
- [`KT-48085`](https://youtrack.jetbrains.com/issue/KT-48085) Kotlin/Native: LLD removes live code with `--gc-sections` when producing DLL
- [`KT-69164`](https://youtrack.jetbrains.com/issue/KT-69164) Native: use lld from bundled LLVM distribution when compiling on Windows for a MinGW target
- [`KT-74081`](https://youtrack.jetbrains.com/issue/KT-74081) Context parameters: implicit call resolves to extension when there is a context
- [`KT-74682`](https://youtrack.jetbrains.com/issue/KT-74682) Implement internal type exposure via parameter bounds deprecation postponement
- [`KT-74556`](https://youtrack.jetbrains.com/issue/KT-74556) K2: "IAE: class KtDestructuringDeclaration is not a subtype of class KtNamedDeclaration for factory REDECLARATION" with two non-local destructuring declarations
- [`KT-73146`](https://youtrack.jetbrains.com/issue/KT-73146) Context parameters CLI & diagnostics
- [`KT-72104`](https://youtrack.jetbrains.com/issue/KT-72104) Consider enabling check for unbound symbols in JVM before lowerings
- [`KT-74568`](https://youtrack.jetbrains.com/issue/KT-74568) Synthetic nested classes missing JVM attributes
- [`KT-73703`](https://youtrack.jetbrains.com/issue/KT-73703) \[Native] Move KonanIrLinker to `serialization.native` module
- [`KT-61175`](https://youtrack.jetbrains.com/issue/KT-61175) K2: FirReceiverParameter does not extend FirDeclaration
- [`KT-73961`](https://youtrack.jetbrains.com/issue/KT-73961) 'lateinit is unnecessary' on transient properties should not be reported for serializable classes
- [`KT-73858`](https://youtrack.jetbrains.com/issue/KT-73858) Compose / iOS: NullPointerException on building
- [`KT-62953`](https://youtrack.jetbrains.com/issue/KT-62953) JVM IR: Use `SimpleNamedCompilerPhase` instead of `NamedCompilerPhase`
- [`KT-72929`](https://youtrack.jetbrains.com/issue/KT-72929) Consider caching typealiased constructor symbols created by TypeAliasConstructorsSubstitutingScope
- [`KT-74459`](https://youtrack.jetbrains.com/issue/KT-74459) K2: false positive MISSING\_DEPENDENCY\_CLASS for types inside default argument
- [`KT-73705`](https://youtrack.jetbrains.com/issue/KT-73705) \[Native] Decouple native caches support from KonanIrLinker and KonanPartialModuleDeserializer
- [`KT-74091`](https://youtrack.jetbrains.com/issue/KT-74091) K2: `@JvmOverloads`-produced overloads have generated line number table
- [`KT-69754`](https://youtrack.jetbrains.com/issue/KT-69754) Drop -Xuse-k2 compiler flag
- [`KT-73352`](https://youtrack.jetbrains.com/issue/KT-73352) K2: false negative ARRAY\_EQUALITY\_OPERATOR\_CAN\_BE\_REPLACED\_WITH\_EQUALS
- [`KT-72962`](https://youtrack.jetbrains.com/issue/KT-72962) Consider enabling ConsiderForkPointsWhenCheckingContradictions LF earlier
- [`KT-73027`](https://youtrack.jetbrains.com/issue/KT-73027) IllegalStateException: Annotation argument value cannot be null: since
- [`KT-74242`](https://youtrack.jetbrains.com/issue/KT-74242) Freeze on `runCatching` call in `finally` block inside SAM conversion
- [`KT-29222`](https://youtrack.jetbrains.com/issue/KT-29222) FIR: consider folding binary expression chains
- [`KT-73760`](https://youtrack.jetbrains.com/issue/KT-73760) Cannot implement two Java interfaces with `@NotNull`-annotated type argument and Kotlin's plain (nullable) type parameter
- [`KT-58933`](https://youtrack.jetbrains.com/issue/KT-58933) Applying suggested signature from WRONG\_NULLABILITY\_FOR\_JAVA\_OVERRIDE leads to red code
- [`KT-70507`](https://youtrack.jetbrains.com/issue/KT-70507) Should parentheses prevent from plus/set operator desugaring?
- [`KT-67520`](https://youtrack.jetbrains.com/issue/KT-67520) Change of behaviour of inline function with safe cast on value type
- [`KT-67518`](https://youtrack.jetbrains.com/issue/KT-67518) Value classes leak their carrier type implementation details via inlining
- [`KT-72305`](https://youtrack.jetbrains.com/issue/KT-72305) K2: Report error when using synthetic properties in case of mapped collections
- [`KT-71226`](https://youtrack.jetbrains.com/issue/KT-71226) K2 Evaluator: Code fragment compilation with unresolved classes does not fail with exception
- [`KT-70233`](https://youtrack.jetbrains.com/issue/KT-70233) Implement a deprecation error for FIELD-targeted annotations on annotation properties
- [`KT-67517`](https://youtrack.jetbrains.com/issue/KT-67517) Value class upcast to Any leaks carrier type interfaces
- [`KT-72814`](https://youtrack.jetbrains.com/issue/KT-72814) FIR: don't use function references in FirThisReference
- [`KT-73153`](https://youtrack.jetbrains.com/issue/KT-73153) K2: Standalone diagnostics on type arguments are not reported
- [`KT-73011`](https://youtrack.jetbrains.com/issue/KT-73011) K2: Allow overloads resolution for callable references based on expected type variable with constraints
- [`KT-70139`](https://youtrack.jetbrains.com/issue/KT-70139) Remove dependencies of debugger on K1 and old JVM backend
- [`KT-69223`](https://youtrack.jetbrains.com/issue/KT-69223) Drop parallel lowering mode in JVM backend
- [`KT-7461`](https://youtrack.jetbrains.com/issue/KT-7461) Forbid using projection modifiers inside top-level Array in annotation's value parameter
- [`KT-53804`](https://youtrack.jetbrains.com/issue/KT-53804) Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlib
- [`KT-52774`](https://youtrack.jetbrains.com/issue/KT-52774) Resolve unqualified enum constants based on expected type
##### Compose compiler
##### New features
- [`5f7e5d1`](https://github.com/JetBrains/kotlin/commit/5f7e5d1518e839c1f8514a5c145aad52b1ce1739) Enabled PausableComposition feature flag by default
- [`e49ba7a`](https://github.com/JetBrains/kotlin/commit/e49ba7a4e60da8c4bd5020376a69749484d39f6c) Enabled OptimizeNonSkippingGroups feature flag by default
-
##### Fixes
- [`b/420729503`](https://issuetracker.google.com/issues/420729503) Avoid copying `@Deprecated` annotations on Compose compiler stubs
- [`b/417412949`](https://issuetracker.google.com/issues/417412949) Emit fake line number for `skipToGroupEnd` branch
- [`b/412584977`](https://issuetracker.google.com/issues/412584977) Fix false positive for overriding open functions from older dependencies
- [`b/409238521`](https://issuetracker.google.com/issues/409238521) Fix crash when searching for ComposableLambda::invoke function on JS
- [`b/408752831`](https://issuetracker.google.com/issues/408752831) Fix early return with value from `key` groups
- [`b/388505454`](https://issuetracker.google.com/issues/388505454) Treat context parameters the same way as extension receiver
- [`b/408013789`](https://issuetracker.google.com/issues/408013789) Add missing return for the default function wrappers
- [`b/405541364`](https://issuetracker.google.com/issues/405541364) Realize coalescable children in the body of `key` call
- [`b/305035807`](https://issuetracker.google.com/issues/305035807) Add support for `@Composable` function references with K2
- [`b/401484249`](https://issuetracker.google.com/issues/401484249) Generate a group around `Array` constructor call
- [`b/400380396`](https://issuetracker.google.com/issues/400380396) Fix missing `endMovableGroup` call with early return in `key` function
- [`b/397855145`](https://issuetracker.google.com/issues/397855145) Fix "Unknown file" error in target annotation inference
- [`b/274898109`](https://issuetracker.google.com/issues/274898109) Fix off-by-one error when calculating changed arg count for lambdas
- [`b/377499888`](https://issuetracker.google.com/issues/377499888) Allow restarting overridden functions in a final class
- [`b/393400768`](https://issuetracker.google.com/issues/393400768) Use -1 for `.changed` call if nullable enum parameter is `null`
- [`b/390151896`](https://issuetracker.google.com/issues/390151896) Fix default arguments with varargs in `@Composable` functions
- [`b/388030459`](https://issuetracker.google.com/issues/388030459), [`b/377737816`](https://issuetracker.google.com/issues/377737816) Prevent usage of transitive captures in lambda memoization
- [`b/310004740`](https://issuetracker.google.com/issues/310004740) Check vararg parameter length in skipping logic
- [`b/367066334`](https://issuetracker.google.com/issues/367066334) Add diagnostic to restrict `@Composable` annotation to function types only
- [`b/388505454`](https://issuetracker.google.com/issues/388505454) Change order of $changed bits with context parameters
- [`CMP-7873`](https://youtrack.jetbrains.com/issue/CMP-7873) Native build fails with "e: Compilation failed: Exception during generating code for following declaration"
##### IDE
- [`KT-54804`](https://youtrack.jetbrains.com/issue/KT-54804) Generate synthetic functions for annotations on properties in light classes
##### IR. Actualizer
- [`KT-70907`](https://youtrack.jetbrains.com/issue/KT-70907) Actualize fake override symbols in Ir Actualizer
##### IR. Inlining
##### Fixes
- [`KT-76145`](https://youtrack.jetbrains.com/issue/KT-76145) Enhance error message about poisoned KLIBs in KLIB-based compilers
- [`KT-70916`](https://youtrack.jetbrains.com/issue/KT-70916) IR: Report errors on exposure of private types in non-private inline functions
- [`KT-73155`](https://youtrack.jetbrains.com/issue/KT-73155) Move `Mapping` from `LoweringContext` back to `CommonBackendContext`
- [`KT-76186`](https://youtrack.jetbrains.com/issue/KT-76186) \[IR] Sanitize deserialized IR dump of anonymous classes
- [`KT-75788`](https://youtrack.jetbrains.com/issue/KT-75788) IR inliner: Serialize preprocessed inline functions in a separate place inside KLIBs
- [`KT-71416`](https://youtrack.jetbrains.com/issue/KT-71416) Perform IR-level visibility diagnostics for inline functions after the first phase of inlining
- [`KT-76224`](https://youtrack.jetbrains.com/issue/KT-76224) \[IR]\[Inliner] Dumb file is unsuported in IrSymbolBase.getDescriptor()
- [`KT-75793`](https://youtrack.jetbrains.com/issue/KT-75793) IR inliner: Stop injecting the deserialized function body to LazyIR inline function
- [`KT-75791`](https://youtrack.jetbrains.com/issue/KT-75791) IR inliner: `NonLinkingIrInlineFunctionDeserializer` should load inline functions from a separate location in a KLIB
- [`KT-73708`](https://youtrack.jetbrains.com/issue/KT-73708) Use some marker in KLIBs produced with IR inliner
- [`KT-76024`](https://youtrack.jetbrains.com/issue/KT-76024) \[JS]\[IR Inliner] Partial linkage: No function found for symbol in `kotlin` package
- [`KT-75733`](https://youtrack.jetbrains.com/issue/KT-75733) Reorganize execution of the common prefix at 1st phase of compilation
- [`KT-75986`](https://youtrack.jetbrains.com/issue/KT-75986) Add an option to the `DumpIrTreeOptions` to dump IR signature if available
- [`KT-75951`](https://youtrack.jetbrains.com/issue/KT-75951) \[IR Inliner] Illegal non-local return reported by the partial linkage engine
- [`KT-75932`](https://youtrack.jetbrains.com/issue/KT-75932) Fix a problem with already bound symbol with public IR inline enabled
- [`KT-64812`](https://youtrack.jetbrains.com/issue/KT-64812) Investigate and fix remaining owner usages in inliner
- [`KT-74732`](https://youtrack.jetbrains.com/issue/KT-74732) IR: Exposure of private type is reported at wrong source location
- [`KT-76007`](https://youtrack.jetbrains.com/issue/KT-76007) IR deserialization tests w/ enabled IR inliner: undefined offsets in IrInlinedFunctionBlock.inlinedFunctionSymbol
- [`KT-74734`](https://youtrack.jetbrains.com/issue/KT-74734) \[Native] Use NativeInliningFacade in new subclass of AbstractFirNativeSerializationTest
- [`KT-73985`](https://youtrack.jetbrains.com/issue/KT-73985) KLIB Synthetic Accessors Dump Format: Include local declarations
- [`KT-72594`](https://youtrack.jetbrains.com/issue/KT-72594) \[JS]\[Native] Add IrInliningFacade to test runners
- [`KT-74456`](https://youtrack.jetbrains.com/issue/KT-74456) SerializedIrDumpHandler: Compare IR dumps with source offsets
- [`KT-73624`](https://youtrack.jetbrains.com/issue/KT-73624) \[Native] Implement inlining facade
- [`KT-70370`](https://youtrack.jetbrains.com/issue/KT-70370) SyntheticAccessorLowering: Turn on mode with narrowing visibility on 1st phase of compilation
- [`KT-70452`](https://youtrack.jetbrains.com/issue/KT-70452) OuterThisInInlineFunctionsSpecialAccessorLowering - run it after inlining of private functions
- [`KT-70451`](https://youtrack.jetbrains.com/issue/KT-70451) Enable double-inlining in Native & JS backends unconditionally
- [`KT-69681`](https://youtrack.jetbrains.com/issue/KT-69681) IR: Report warnings on exposure of private types in non-private inline functions
##### IR. Interpreter
- [`KT-74581`](https://youtrack.jetbrains.com/issue/KT-74581) Support `IrRich*Reference` in IR interpreter
##### IR. Tree
##### Fixes
- [`KT-73189`](https://youtrack.jetbrains.com/issue/KT-73189) Migrate compiler sources to new IR parameter API
- [`KT-77508`](https://youtrack.jetbrains.com/issue/KT-77508) K/JS and K/Native CompilationException Wrong number of parameters in wrapper
- [`KT-74331`](https://youtrack.jetbrains.com/issue/KT-74331) Implement IrElement.copyAttributes as a true attribute map copy
- [`KT-76600`](https://youtrack.jetbrains.com/issue/KT-76600) Use a language feature to check error on cross-file IrGetField operations generated by compiler plugins
- [`KT-75628`](https://youtrack.jetbrains.com/issue/KT-75628) IR validator: Forbid IrExpressionBody for IrFunction
- [`KT-75679`](https://youtrack.jetbrains.com/issue/KT-75679) Extract common `invokeFunction` in IrRichCallableReference
- [`KT-74799`](https://youtrack.jetbrains.com/issue/KT-74799) \[Native]\[IR] Excessive FUNCTION\_INTERFACE\_CLASS after deserialization
- [`KT-71138`](https://youtrack.jetbrains.com/issue/KT-71138) Report error on cross-file IrGetField operations generated by compiler plugins
- [`KT-75196`](https://youtrack.jetbrains.com/issue/KT-75196) \[IR] Make startOffset and endOffset mutable
- [`KT-73206`](https://youtrack.jetbrains.com/issue/KT-73206) Extract common parts from new IrRichFunctionReference/IrRichPropertyReference nodes
- [`KT-73190`](https://youtrack.jetbrains.com/issue/KT-73190) Migrate common backend sources to new IR parameter API
- [`KT-73225`](https://youtrack.jetbrains.com/issue/KT-73225) Migrate `compiler.ir.serialization.common` to new IR parameter API
- [`KT-73220`](https://youtrack.jetbrains.com/issue/KT-73220) Migrate `compiler.ir.tree` to new IR parameter API
- [`KT-75189`](https://youtrack.jetbrains.com/issue/KT-75189) Add an IR validation for the correspondingPropertySymbol
- [`KT-74275`](https://youtrack.jetbrains.com/issue/KT-74275) Adjust IR dump format for context parameters & new parameter API
- [`KT-74269`](https://youtrack.jetbrains.com/issue/KT-74269) Drop IrElementVisitor, IrElementVisitorVoid and IrElementTransformer interfaces
- [`KT-72739`](https://youtrack.jetbrains.com/issue/KT-72739) Create a lowering to replace old callable reference nodes with new ones
- [`KT-73120`](https://youtrack.jetbrains.com/issue/KT-73120) Get rid of `Ir` class
- [`KT-73045`](https://youtrack.jetbrains.com/issue/KT-73045) Fix inconsistency between shapes of IR calls vs callee
- [`KT-69714`](https://youtrack.jetbrains.com/issue/KT-69714) \[IR] Remove IrErrorDeclaration
- [`KT-73609`](https://youtrack.jetbrains.com/issue/KT-73609) Tests: Implement DeserializerFacade for Kotlin/Native
- [`KT-73813`](https://youtrack.jetbrains.com/issue/KT-73813) Implement tests for all IR validator checkers
- [`KT-73171`](https://youtrack.jetbrains.com/issue/KT-73171) Choose the approach for testing IR serialization/deserialization wrt IR inliner
- [`KT-73430`](https://youtrack.jetbrains.com/issue/KT-73430) \[IR] Get rid of SymbolFinder usages outside of `Symbols` hierarchy
- [`KT-74455`](https://youtrack.jetbrains.com/issue/KT-74455) IR dump: Support dumping source offsets
- [`KT-73433`](https://youtrack.jetbrains.com/issue/KT-73433) \[IR] Get rid of some symbols lookup methods
##### JVM. Reflection
- [`KT-75505`](https://youtrack.jetbrains.com/issue/KT-75505) Reflection: use kotlin-metadata-jvm to implement class visibility, modality, modifiers, etc
- [`KT-77663`](https://youtrack.jetbrains.com/issue/KT-77663) Reflection: java.util.ServiceConfigurationError: "module kotlin.reflect does not declare `uses`" when using kotlin-reflect in modular mode
- [`KT-75464`](https://youtrack.jetbrains.com/issue/KT-75464) Bundle kotlin-metadata-jvm into kotlin-reflect
- [`KT-71832`](https://youtrack.jetbrains.com/issue/KT-71832) kotlin.jvm.internal.ClassReference static overhead is 11,060 bytes
##### JavaScript
##### New Features
- [`KT-31493`](https://youtrack.jetbrains.com/issue/KT-31493) \[Kotlin/JS] Can't put typealias in file marked with JsModule annotation
##### Performance Improvements
- [`KT-74533`](https://youtrack.jetbrains.com/issue/KT-74533) K/JS: avoid number to char calls in charSequenceGet intrinsic
##### Fixes
- [`KT-77021`](https://youtrack.jetbrains.com/issue/KT-77021) CompilationException: Encountered a local class not previously collected on inner classes inside anonymous objects
- [`KT-78073`](https://youtrack.jetbrains.com/issue/KT-78073) K/JS: KProperty from local delegate changes after another delegate is invoked
- [`KT-77271`](https://youtrack.jetbrains.com/issue/KT-77271) KJS / Serialization: "Cannot set property message of Error which has only a getter"
- [`KT-76235`](https://youtrack.jetbrains.com/issue/KT-76235) \[JS] Extra invalid line `tmp_0.tmp00__1 = Options;` in testSuspendFunction()
- [`KT-76234`](https://youtrack.jetbrains.com/issue/KT-76234) \[JS] Extra invalid line `Parent` in testNested()
- [`KT-76233`](https://youtrack.jetbrains.com/issue/KT-76233) \[JS] Extra invalid import line in testJsQualifier()
- [`KT-74839`](https://youtrack.jetbrains.com/issue/KT-74839) AssociatedObjectKey metadata doesn't survive incremental compilation
- [`KT-77418`](https://youtrack.jetbrains.com/issue/KT-77418) KJS: cannot debug with whole-program granularity
- [`KT-76463`](https://youtrack.jetbrains.com/issue/KT-76463) KJS: `@JsPlainObject` fails in parent count is 8+
- [`KT-75606`](https://youtrack.jetbrains.com/issue/KT-75606) KJS: java.lang.AssertionError: Different declarations with the same signatures were detected
- [`KT-69591`](https://youtrack.jetbrains.com/issue/KT-69591) KJS / d.ts: Wrong type of SerializerFactory for abstract classes
- [`KT-72437`](https://youtrack.jetbrains.com/issue/KT-72437) KJS. Invalid `copy` method for inherited JSO with type parameters
- [`KT-57192`](https://youtrack.jetbrains.com/issue/KT-57192) KJS: "Exported declaration uses non-exportable return type" caused by `@JsExport` Promise with Unit type
- [`KT-73226`](https://youtrack.jetbrains.com/issue/KT-73226) Migrate K/JS to new IR parameter API
- [`KT-75254`](https://youtrack.jetbrains.com/issue/KT-75254) KJS: Merge AbstractSuspendFunctionsLowering from Common and JS backends
- [`KT-76440`](https://youtrack.jetbrains.com/issue/KT-76440) `@JsPlainObject` compiles broken code when inlining suspend function and non suspend function
- [`KT-71169`](https://youtrack.jetbrains.com/issue/KT-71169) `@JsPlainObject` copy produces the wrong type when copied property is nullable in parent interface
- [`KT-75772`](https://youtrack.jetbrains.com/issue/KT-75772) KJS: NullPointerException caused by reference of private class with `@JsExport`
- [`KT-73363`](https://youtrack.jetbrains.com/issue/KT-73363) Migrate `js-plain-objects` plugin to new IR parameter API
- [`KT-64927`](https://youtrack.jetbrains.com/issue/KT-64927) \[JS] TypeError when abstract class with override var property extends an exported abstract class with val property
- [`KT-70623`](https://youtrack.jetbrains.com/issue/KT-70623) Kotlin/JS: Incremental compilation fails when granularity is changed
- [`KT-74384`](https://youtrack.jetbrains.com/issue/KT-74384) Support new callable reference nodes in JS backend
- [`KT-70652`](https://youtrack.jetbrains.com/issue/KT-70652) Kotlin/JS: `@JsExport` doesn't work with granularity per-file
- [`KT-71365`](https://youtrack.jetbrains.com/issue/KT-71365) KJS. File-level export support
- [`KT-68775`](https://youtrack.jetbrains.com/issue/KT-68775) Kotlin/JS infinite loop for exception message override that calls super.message
- [`KT-42271`](https://youtrack.jetbrains.com/issue/KT-42271) K/JS: isInitialized for not-lateinit property isn't marked as error as in JVM project
- [`KT-70664`](https://youtrack.jetbrains.com/issue/KT-70664) Extending a `@JsPlainObject` interface with a generic type parameter fails with a compile error
- [`KT-71656`](https://youtrack.jetbrains.com/issue/KT-71656) K2 JS: "IllegalStateException: Class has no primary constructor: kotlin.ULong"
- [`KT-42305`](https://youtrack.jetbrains.com/issue/KT-42305) KJS / IR: "Class constructor is marked as private" `@JsExport` produces wrong TS code for sealed classes
- [`KT-52563`](https://youtrack.jetbrains.com/issue/KT-52563) KJS / IR: Invalid TypeScript generated for class extending base class with private constructor
##### Klibs
##### New Features
- [`KT-72296`](https://youtrack.jetbrains.com/issue/KT-72296) Use specialized signatures for serialized local fake overrides
##### Fixes
- [`KT-78168`](https://youtrack.jetbrains.com/issue/KT-78168) K/N: "IndexOutOfBoundsException: Index 3 out of bounds for length 3" for iOS build with Kotlin 2.2.0-RC2
- [`KT-74635`](https://youtrack.jetbrains.com/issue/KT-74635) KLIBs: Change call serialization scheme to store all arguments in a single list
- [`KT-76061`](https://youtrack.jetbrains.com/issue/KT-76061) Add option for suppress warning of missing no-existent transitive klib dependencies
- [`KT-70146`](https://youtrack.jetbrains.com/issue/KT-70146) \[KLIB Resolve] Don't fail on nonexistent transitive dependency
- [`KT-75624`](https://youtrack.jetbrains.com/issue/KT-75624) Don't fail on an attempt to deserialize "unknown" IrStatementOrigin and IrDeclarationOrigin
- [`KT-55808`](https://youtrack.jetbrains.com/issue/KT-55808) Support metadata version checks for klibs in the compiler
- [`KT-56062`](https://youtrack.jetbrains.com/issue/KT-56062) Support `-Xmetadata-version` for KLIB-based compilers
- [`KT-76158`](https://youtrack.jetbrains.com/issue/KT-76158) Drop "description" from local signatures
- [`KT-75749`](https://youtrack.jetbrains.com/issue/KT-75749) KLIB: Fail with error on attempt to serialize/deserialize SpecialFakeOverrideSignature
- [`KT-75941`](https://youtrack.jetbrains.com/issue/KT-75941) \[IR Inliner] Abstract function is not implemented in non-abstract anonymous object
- [`KT-75867`](https://youtrack.jetbrains.com/issue/KT-75867) The CLI argument -Xabi-version allows versions with multiple 0 and -0
- [`KT-75192`](https://youtrack.jetbrains.com/issue/KT-75192) KLIB reader tends to extract files from the KLIB archive to a temporary directory even when this is not needed
- [`KT-75013`](https://youtrack.jetbrains.com/issue/KT-75013) Make klib reader more flexible: allow empty directories to be omitted
- [`KT-75680`](https://youtrack.jetbrains.com/issue/KT-75680) KLIB: Drop obsolete IrPerFileLibraryImpl & IrPerFileWriterImpl
- [`KT-73779`](https://youtrack.jetbrains.com/issue/KT-73779) \[Native] Context parameters: extension receiver is preferred over context parameters
- [`KT-65375`](https://youtrack.jetbrains.com/issue/KT-65375) Clean-up the logic for serialization of error types in metadata and in IR
- [`KT-73826`](https://youtrack.jetbrains.com/issue/KT-73826) Deduplicate `IrFileEntry` that is serialized inside `IrInlinedFunctionBlock`
- [`KT-75091`](https://youtrack.jetbrains.com/issue/KT-75091) Drop `targets/$target_name/kotlin` directory from klibs
- [`KT-74352`](https://youtrack.jetbrains.com/issue/KT-74352) API4ABI: Fix representation of context parameters
- [`KT-71007`](https://youtrack.jetbrains.com/issue/KT-71007) Align KLIB ABI version with the language version
- [`KT-73672`](https://youtrack.jetbrains.com/issue/KT-73672) Bump KLIB ABI version in 2.2.0
- [`KT-74080`](https://youtrack.jetbrains.com/issue/KT-74080) API4ABI: Adapt API for value parameter kinds
- [`KT-74396`](https://youtrack.jetbrains.com/issue/KT-74396) Support context parameters in klibs
- [`KT-72931`](https://youtrack.jetbrains.com/issue/KT-72931) Support new callable reference nodes in KLIB \[de]serializer
##### Language Design
##### New Features
- [`KT-2425`](https://youtrack.jetbrains.com/issue/KT-2425) Multidollar interpolation: improve handling of $ in string literals
- [`KT-1436`](https://youtrack.jetbrains.com/issue/KT-1436) Support non-local break and continue
- [`KT-13626`](https://youtrack.jetbrains.com/issue/KT-13626) Guard conditions in when-with-subject
- [`KT-54206`](https://youtrack.jetbrains.com/issue/KT-54206) Support local contextual functions
##### Fixes
- [`KT-53673`](https://youtrack.jetbrains.com/issue/KT-53673) Support `@DslMarker` annotations on contextual receivers
- [`KT-73557`](https://youtrack.jetbrains.com/issue/KT-73557) Allow refining expect declarations for platform groups
- [`KT-72417`](https://youtrack.jetbrains.com/issue/KT-72417) Annotation with target RECORD\_COMPONENT cannot be used on `@JvmRecord` data class components
- [`KT-67977`](https://youtrack.jetbrains.com/issue/KT-67977) Compile results of annotations assigned to JvmRecord properties as in Java
- [`KT-73502`](https://youtrack.jetbrains.com/issue/KT-73502) Context parameters: it is not possible to declare local function with a context
- [`KT-73632`](https://youtrack.jetbrains.com/issue/KT-73632) Expect class redeclaration is allowed
- [`KT-70002`](https://youtrack.jetbrains.com/issue/KT-70002) \[LC] Forbid using projection modifiers inside top-level Array in annotation's value parameter
##### Libraries
##### New Features
- [`KT-76163`](https://youtrack.jetbrains.com/issue/KT-76163) K/N: Hide or remove CreateNSStringFromKString/CreateKStringFromNSString
- [`KT-70456`](https://youtrack.jetbrains.com/issue/KT-70456) Base64: Support lineLength parameter for Mime
- [`KT-76394`](https://youtrack.jetbrains.com/issue/KT-76394) kotlin.time.TimeSource.asClock missing
- [`KT-31857`](https://youtrack.jetbrains.com/issue/KT-31857) Provide easy way to retrieve annotations for kotlinx-metadata
- [`KT-76528`](https://youtrack.jetbrains.com/issue/KT-76528) Instant.parseOrNull
- [`KT-74804`](https://youtrack.jetbrains.com/issue/KT-74804) Add `@MustUseValue` and `@IgnorableValue` / `@Discardable` to kotlin-stdlib
- [`KT-74422`](https://youtrack.jetbrains.com/issue/KT-74422) KotlinWebsiteSampleRewriter should filter individual imports from samples package
##### Performance Improvements
- [`KT-68860`](https://youtrack.jetbrains.com/issue/KT-68860) K/JS: optimize listOf(element)
- [`KT-75647`](https://youtrack.jetbrains.com/issue/KT-75647) Optimized sequenceOf(T) overload is missing
##### Fixes
- [`KT-72138`](https://youtrack.jetbrains.com/issue/KT-72138) Stabilize experimental API for 2.2
- [`KT-76831`](https://youtrack.jetbrains.com/issue/KT-76831) Atomic types: inconsistent behavior on JS and Wasm targets
- [`KT-76795`](https://youtrack.jetbrains.com/issue/KT-76795) RecursiveDeletionTest.deleteRelativeSymbolicLink fails on Windows for unprivileged users
- [`KT-75290`](https://youtrack.jetbrains.com/issue/KT-75290) kotlin-metadata: deprecate hasAnnotations flag, add JVM-only hasAnnotationsInBytecode instead
- [`KT-76193`](https://youtrack.jetbrains.com/issue/KT-76193) Common Atomics: 'AtomicArray.compareAndSetAt' and 'compareAndExchangeAt' docs incorrectly suggest they use `==` when actually they use `===`
- [`KT-54077`](https://youtrack.jetbrains.com/issue/KT-54077) Consider using SecureDirectoryStream in deleteRecursively even when Path.parent is null
- [`KT-72866`](https://youtrack.jetbrains.com/issue/KT-72866) Standard library functions to work with context parameters
- [`KT-76743`](https://youtrack.jetbrains.com/issue/KT-76743) Add kotlin-scripting-jvm to projectsUsedInIntelliJKotlinPlugin list
- [`KT-72483`](https://youtrack.jetbrains.com/issue/KT-72483) Clean up redundant stdlib code for Kotlin 2.2
- [`KT-76385`](https://youtrack.jetbrains.com/issue/KT-76385) Remove suppression from functions to work with context parameters
- [`KT-75337`](https://youtrack.jetbrains.com/issue/KT-75337) Remove suppress annotations from `@IgnorableReturnValue`
- [`KT-72137`](https://youtrack.jetbrains.com/issue/KT-72137) Review deprecations in stdlib for 2.2
- [`KT-75491`](https://youtrack.jetbrains.com/issue/KT-75491) Non intuitive work of 'in' (contains) with String range
- [`KT-75933`](https://youtrack.jetbrains.com/issue/KT-75933) Update readLine's KDoc to suggest alternative functions
- [`KT-46360`](https://youtrack.jetbrains.com/issue/KT-46360) Type inference fails to infer type for sumOf call with integer literal: "Overload resolution ambiguity TypeVariable(T)) -> Int / Long"
- [`KT-73590`](https://youtrack.jetbrains.com/issue/KT-73590) Samplify string.split
- [`KT-75759`](https://youtrack.jetbrains.com/issue/KT-75759) Add the serializer for kotlin.time.Instant to the list of standard serializers
- [`KT-71628`](https://youtrack.jetbrains.com/issue/KT-71628) Review deprecations in stdlib for 2.1
- [`KT-73726`](https://youtrack.jetbrains.com/issue/KT-73726) A link from shuffle's KDoc is not rendered properly
- [`KT-74173`](https://youtrack.jetbrains.com/issue/KT-74173) The sample code of `lazy` on stdlib can not run on playground due to "samples" package import
- [`KT-50081`](https://youtrack.jetbrains.com/issue/KT-50081) AbstractList sublist leads to StackOverflow
##### Native
- [`KT-76992`](https://youtrack.jetbrains.com/issue/KT-76992) Native: update llvm for windows targets
- [`KT-56107`](https://youtrack.jetbrains.com/issue/KT-56107) Support Enum.entries for C/ObjC interop enums
- [`KT-76552`](https://youtrack.jetbrains.com/issue/KT-76552) LLVM Update: rebase the LLVM branch
- [`KT-76662`](https://youtrack.jetbrains.com/issue/KT-76662) LLVM 19 update: documentation
- [`KT-76560`](https://youtrack.jetbrains.com/issue/KT-76560) LLVM Update: investigate changes in filterStdargH test
- [`KT-76283`](https://youtrack.jetbrains.com/issue/KT-76283) LLVM Update: pass all tests
- [`KT-74377`](https://youtrack.jetbrains.com/issue/KT-74377) Kotlin Native: release executable crashes with error 139
- [`KT-75829`](https://youtrack.jetbrains.com/issue/KT-75829) LLVM Update: port K/N on LLVM 19
- [`KT-76280`](https://youtrack.jetbrains.com/issue/KT-76280) LLVM Update: benchmarksAnalyzer build failed
- [`KT-70202`](https://youtrack.jetbrains.com/issue/KT-70202) Xcode 16 Linker fails with SIGBUS
##### Native. Build Infrastructure
- [`KT-77349`](https://youtrack.jetbrains.com/issue/KT-77349) Kotlin/Native: default cache for stdlib is unused
##### Native. C and ObjC Import
- [`KT-75598`](https://youtrack.jetbrains.com/issue/KT-75598) Native: fix samples/objc test
- [`KT-76551`](https://youtrack.jetbrains.com/issue/KT-76551) LLVM Update: investigate CXFile equality problem further
- [`KT-75781`](https://youtrack.jetbrains.com/issue/KT-75781) Xcode 16.3: Fix cinterop tests failing with fatal error: could not build module '\_stdint'
- [`KT-74549`](https://youtrack.jetbrains.com/issue/KT-74549) Native: replace clang\_Type\_getNumProtocols/clang\_Type\_getProtocol with standard libclang functions
##### Native. Platforms
- [`KT-74702`](https://youtrack.jetbrains.com/issue/KT-74702) Deprecate Windows 7 support
##### Native. Runtime
- [`KT-71534`](https://youtrack.jetbrains.com/issue/KT-71534) Native: Support Latin-1 encoded strings at runtime
- [`KT-67741`](https://youtrack.jetbrains.com/issue/KT-67741) Kotlin/Native: Unify SpecialRef handling
##### Native. Runtime. Memory
- [`KT-74831`](https://youtrack.jetbrains.com/issue/KT-74831) Kotlin/Native: investigate mmap usage in custom allocator
- [`KT-74432`](https://youtrack.jetbrains.com/issue/KT-74432) Native: add an option to allocate everything in SingleObjectPage
- [`KT-74975`](https://youtrack.jetbrains.com/issue/KT-74975) Enable CMS by default in Swift export
- [`KT-60928`](https://youtrack.jetbrains.com/issue/KT-60928) Kotlin/Native: refactor allocator code
- [`KT-50291`](https://youtrack.jetbrains.com/issue/KT-50291) Kotlin/Native: remove dependency of mm on gc implementation
##### Native. Swift Export
- [`KT-75166`](https://youtrack.jetbrains.com/issue/KT-75166) Support export of platform libraries types in Swift export
- [`KT-75079`](https://youtrack.jetbrains.com/issue/KT-75079) Swift export: add dependency from sir-compiler-bridge to Analysis API
- [`KT-72413`](https://youtrack.jetbrains.com/issue/KT-72413) Swift Export: potential memory leak when best-fitting class is different from the formal type
- [`KT-72107`](https://youtrack.jetbrains.com/issue/KT-72107) Remove IntoSingleModule stratagy
##### Tools. Ant
- [`KT-73116`](https://youtrack.jetbrains.com/issue/KT-73116) Deprecate Ant support
##### Tools. BCV
- [`KT-75686`](https://youtrack.jetbrains.com/issue/KT-75686) Improve DSL for BCV in KGP
- [`KT-76129`](https://youtrack.jetbrains.com/issue/KT-76129) Abi validation filtering functionality for included classes doesn't work
- [`KT-75999`](https://youtrack.jetbrains.com/issue/KT-75999) ABI validation filter doesn't apply excluded kotlin files
- [`KT-75981`](https://youtrack.jetbrains.com/issue/KT-75981) ABI validation filter not applying excluded classes without package names
- [`KT-71168`](https://youtrack.jetbrains.com/issue/KT-71168) Implement a prototype of ABI Validation in Kotlin Gradle Plugin
##### Tools. Build Tools API
- [`KT-76455`](https://youtrack.jetbrains.com/issue/KT-76455) BTA: Compilation is always non-incremental if BTA API >= 2.2.0 is used together with BTA impl < 2.2.0
- [`KT-76060`](https://youtrack.jetbrains.com/issue/KT-76060) BTA: Java sources passed for IC may fail compilation in non-incremental mode
- [`KT-74041`](https://youtrack.jetbrains.com/issue/KT-74041) Build Tools API: Lower level or remove compiler arguments log
##### Tools. CLI
##### New Features
- [`KT-73606`](https://youtrack.jetbrains.com/issue/KT-73606) Provide a unified interface for managing the reporting of compiler warnings
- [`KT-24746`](https://youtrack.jetbrains.com/issue/KT-24746) Provide ability to exclude specific warnings from compiler option Werror (all warnings as errors)
- [`KT-18783`](https://youtrack.jetbrains.com/issue/KT-18783) Option to treat a specific compiler warning as an error
- [`KT-76095`](https://youtrack.jetbrains.com/issue/KT-76095) Add JVM target bytecode version 24
- [`KT-73007`](https://youtrack.jetbrains.com/issue/KT-73007) Add stable compiler argument -jvm-default instead of -Xjvm-default
##### Performance Improvements
- [`KT-75641`](https://youtrack.jetbrains.com/issue/KT-75641) kotlinc -help spends almost 1 second on Usage.render()
##### Fixes
- [`KT-77445`](https://youtrack.jetbrains.com/issue/KT-77445) UNRESOLVED\_REFERENCE when importing classes from kotlin-stdlib
- [`KT-75300`](https://youtrack.jetbrains.com/issue/KT-75300) Lenient compiler mode which generates stubs for missing actuals
- [`KT-76829`](https://youtrack.jetbrains.com/issue/KT-76829) UnsupportedOperationException when reenabling a taking place warning with -Xwarning-level
- [`KT-75588`](https://youtrack.jetbrains.com/issue/KT-75588) \[2.1.20-RC] "was compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" warnings despite using the same compiler version
- [`KT-74663`](https://youtrack.jetbrains.com/issue/KT-74663) kotlinc-js CLI: not providing -ir-output-dir results in NullPointerException
- [`KT-75967`](https://youtrack.jetbrains.com/issue/KT-75967) Implement generation of CLI arguments in compiler using new single representation
- [`KT-75966`](https://youtrack.jetbrains.com/issue/KT-75966) Declare all existing CLI arguments using the new DSL
- [`KT-76498`](https://youtrack.jetbrains.com/issue/KT-76498) Implement JSON dumper for performance stats
- [`KT-75970`](https://youtrack.jetbrains.com/issue/KT-75970) Extract all non-trivial logic from `CommonCompilerArguments` and its inheritors
- [`KT-73595`](https://youtrack.jetbrains.com/issue/KT-73595) Kapt.use.k2=true is ignored silently for language-version 1.9 or less
- [`KT-75043`](https://youtrack.jetbrains.com/issue/KT-75043) Migrate Metadata compilation pipeline to the phased structure
- [`KT-75113`](https://youtrack.jetbrains.com/issue/KT-75113) TEST\_ONLY LanguageFeature doesn't abort the compilation
##### Tools. CLI. Native
- [`KT-69485`](https://youtrack.jetbrains.com/issue/KT-69485) Native: remove adding $llvmDir\bin to PATH on Windows
##### Tools. Commonizer
- [`KT-74623`](https://youtrack.jetbrains.com/issue/KT-74623) Drop metadata version check from KLIB commonizer
##### Tools. Compiler Plugin API
- [`KT-74640`](https://youtrack.jetbrains.com/issue/KT-74640) \[FIR] Support setting `source` in declaration generators
##### Tools. Compiler Plugins
##### Fixes
- [`KT-76162`](https://youtrack.jetbrains.com/issue/KT-76162) "IllegalStateException: No mapping for symbol: VALUE\_PARAMETER INSTANCE\_RECEIVER" after updating to 2.1.20
- [`KT-61584`](https://youtrack.jetbrains.com/issue/KT-61584) \[atomicfu]: prohibit declaration of AtomicReference to the value class in the compiler plugin
- [`KT-70982`](https://youtrack.jetbrains.com/issue/KT-70982) Deprecate declaration of atomic properties marked with `@PublishedApi` with error
- [`KT-73367`](https://youtrack.jetbrains.com/issue/KT-73367) Migrate compose plugin to new IR parameter API
- [`KT-76429`](https://youtrack.jetbrains.com/issue/KT-76429) Migrate kotlin-dataframe plugin to new IR parameter API
- [`KT-75263`](https://youtrack.jetbrains.com/issue/KT-75263) PowerAssert: no additional info is displayed for 'when' with subject
- [`KT-75614`](https://youtrack.jetbrains.com/issue/KT-75614) PowerAssert: handling of exceptions doesn't work inside assert function
- [`KT-75264`](https://youtrack.jetbrains.com/issue/KT-75264) PowerAssert: the diagram for try-catch with boolean expressions isn't clear
- [`KT-75663`](https://youtrack.jetbrains.com/issue/KT-75663) PowerAssert: 'contains' result for strings is displayed under the first parameter instead of 'in'
- [`KT-73897`](https://youtrack.jetbrains.com/issue/KT-73897) PowerAssert: Implicit argument detection is brittle in a number of cases
- [`KT-74315`](https://youtrack.jetbrains.com/issue/KT-74315) Kotlin Lombok: "Unresolved reference" on generating `@Builder` for static inner class where outer class is also using `@Builder`
- [`KT-72172`](https://youtrack.jetbrains.com/issue/KT-72172) File Leak occurring in Kotlin Daemon
- [`KT-75159`](https://youtrack.jetbrains.com/issue/KT-75159) Compose: Missing 'FunctionKeyMeta' annotation on lamdas declared in non-composable function
- [`KT-72877`](https://youtrack.jetbrains.com/issue/KT-72877) Power-Assert should provide IrExpression transformation API
- [`KT-73871`](https://youtrack.jetbrains.com/issue/KT-73871) PowerAssert: Comparison via operator overload results in confusing diagram
- [`KT-73898`](https://youtrack.jetbrains.com/issue/KT-73898) PowerAssert: Operator calls with multiple receivers incorrectly aligned
- [`KT-73870`](https://youtrack.jetbrains.com/issue/KT-73870) PowerAssert: Object should not be displayed
##### Tools. Compiler plugins. Serialization
- [`KT-49632`](https://youtrack.jetbrains.com/issue/KT-49632) Provide diagnostic when custom serializer for generic type does not have required constructor signature ( ISE Null argument in ExpressionCodegen for parameter VALUE\_PARAMETER)
##### Tools. Gradle
##### New Features
- [`KT-75823`](https://youtrack.jetbrains.com/issue/KT-75823) Resources bundle with XCFrameworks for iOS
- [`KT-73418`](https://youtrack.jetbrains.com/issue/KT-73418) Gradle '--warning-mode' value should affect Gradle plugin diagnostics
- [`KT-73906`](https://youtrack.jetbrains.com/issue/KT-73906) Improve ToolingDiagnostic CLI rendering
- [`KT-73285`](https://youtrack.jetbrains.com/issue/KT-73285) Integrate Gradle Problem API with KGP diagnostics
- [`KT-61649`](https://youtrack.jetbrains.com/issue/KT-61649) Add Gradle compiler option for jvm-default
- [`KT-68659`](https://youtrack.jetbrains.com/issue/KT-68659) Collect reported Kotlin Gradle Plugin diagnostics into one HTML/Text file report instead of writing it to log
##### Fixes
- [`KT-75188`](https://youtrack.jetbrains.com/issue/KT-75188) Groovy plugin breaks access to internal members of test friendPaths classes in kotlin compilation
- [`KT-54110`](https://youtrack.jetbrains.com/issue/KT-54110) Change deprecation level to ERROR for kotlinOptions DSL
- [`KT-74277`](https://youtrack.jetbrains.com/issue/KT-74277) KGP / FreeBSD: "TargetSupportException: Unknown operating system: FreeBSD" during the build
- [`KT-75820`](https://youtrack.jetbrains.com/issue/KT-75820) Gradle: "ClassNotFoundException: intellij.util.containers.Stack" while parsing compilation warnings with IN\_PROCESS execution strategy
- [`KT-64991`](https://youtrack.jetbrains.com/issue/KT-64991) Change deprecation level to error for KotlinCompilation.source
- [`KT-75107`](https://youtrack.jetbrains.com/issue/KT-75107) Add Gradle property to use new FIR IC runner
- [`KT-66133`](https://youtrack.jetbrains.com/issue/KT-66133) Finalize resolution strategy for resources and remove the one that is unused
- [`KT-59632`](https://youtrack.jetbrains.com/issue/KT-59632) KotlinCompileTool.setSource() should replace existing sources
- [`KT-62963`](https://youtrack.jetbrains.com/issue/KT-62963) Remove "kotlin.incremental.useClasspathSnapshot" property
- [`KT-76137`](https://youtrack.jetbrains.com/issue/KT-76137) Compatibility with Gradle 8.14 release
- [`KT-76797`](https://youtrack.jetbrains.com/issue/KT-76797) KGP: StdlibDependencyManagementKt.configureStdlibVersionAlignment() triggering eager configuration realization
- [`KT-76282`](https://youtrack.jetbrains.com/issue/KT-76282) Add missing Android Gradle plugin versions in tests
- [`KT-77011`](https://youtrack.jetbrains.com/issue/KT-77011) Update build regression benchmarks for 2.2.0 release
- [`KT-76138`](https://youtrack.jetbrains.com/issue/KT-76138) Compile against Gradle API 8.14
- [`KT-76139`](https://youtrack.jetbrains.com/issue/KT-76139) Run integration tests against Gradle 8.14
- [`KT-74007`](https://youtrack.jetbrains.com/issue/KT-74007) Not all the DSL features related to kotlinOptions are deprecated
- [`KT-77288`](https://youtrack.jetbrains.com/issue/KT-77288) Using 'KotlinJvmOptions' is an error - Gradle sync issue when using 2.2.0-Beta2 with Android Gradle Plugin
- [`KT-74887`](https://youtrack.jetbrains.com/issue/KT-74887) Compatibility with Gradle 8.13 release
- [`KT-73682`](https://youtrack.jetbrains.com/issue/KT-73682) Compatibility with Gradle 8.12 release
- [`KT-77035`](https://youtrack.jetbrains.com/issue/KT-77035) A compiler diagnostic isn't reported when its severity is set to warning with Gradle
- [`KT-70620`](https://youtrack.jetbrains.com/issue/KT-70620) Raise to error deprecation for KotlinCompilationOutput#resourcesDirProvider
- [`KT-68597`](https://youtrack.jetbrains.com/issue/KT-68597) Update KGP deprecations before 2.2
- [`KT-68325`](https://youtrack.jetbrains.com/issue/KT-68325) Add to Compiler Types DSL exceptions message possible ways of a solution
- [`KT-76951`](https://youtrack.jetbrains.com/issue/KT-76951) 'distribution-base' plugin is only applied in Gradle 8.13
- [`KT-73142`](https://youtrack.jetbrains.com/issue/KT-73142) Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilder
- [`KT-73968`](https://youtrack.jetbrains.com/issue/KT-73968) KotlinDependencyManagement tries to mutate configuration after it was resolved
- [`KT-74890`](https://youtrack.jetbrains.com/issue/KT-74890) Run Gradle integrations test against Gradle 8.13 release
- [`KT-74889`](https://youtrack.jetbrains.com/issue/KT-74889) Compile against Gradle 8.13 API
- [`KT-76052`](https://youtrack.jetbrains.com/issue/KT-76052) Support Gradle 8.13 for Problems API
- [`KT-73684`](https://youtrack.jetbrains.com/issue/KT-73684) Run integration tests against Gradle 8.12
- [`KT-76377`](https://youtrack.jetbrains.com/issue/KT-76377) Add integration tests for Problems API
- [`KT-74551`](https://youtrack.jetbrains.com/issue/KT-74551) Improve KGP-IT withDebug for tests with environment variables
- [`KT-74717`](https://youtrack.jetbrains.com/issue/KT-74717) Test publication with dependency constraints
- [`KT-75164`](https://youtrack.jetbrains.com/issue/KT-75164) Run Gradle incremental compilation tests with FIR runner
- [`KT-72694`](https://youtrack.jetbrains.com/issue/KT-72694) Accessing Task.project during execution is being deprecated in Gradle 8.12
- [`KT-76374`](https://youtrack.jetbrains.com/issue/KT-76374) Investigate and fix failing tests with configuration cache in KotlinDaemonIT: testDaemonMultiproject and testMultipleCompilations
- [`KT-76379`](https://youtrack.jetbrains.com/issue/KT-76379) Gradle: KotlinGradleFinishBuildHandler does not perform cleanup on configuration cache reuse
- [`KT-61911`](https://youtrack.jetbrains.com/issue/KT-61911) Gradle: make KGP to depend on fixated version of stdlib
- [`KT-76026`](https://youtrack.jetbrains.com/issue/KT-76026) \[ToolingDiagnostic] Gradle warning mode=fail: no emoji replacement, title color unchanged
- [`KT-76025`](https://youtrack.jetbrains.com/issue/KT-76025) ToolingDiagnostic with FATAL Severity: ANSI escape codes are not rendered properly in the Build tool window in IntelliJ IDEA
- [`KT-70252`](https://youtrack.jetbrains.com/issue/KT-70252) Gradle: remove Intellij dependencies from KGP runtime
- [`KT-74333`](https://youtrack.jetbrains.com/issue/KT-74333) improve ToolingDiagnosticBuilder
- [`KT-73683`](https://youtrack.jetbrains.com/issue/KT-73683) Compile against Gradle API 8.12
- [`KT-75187`](https://youtrack.jetbrains.com/issue/KT-75187) Make KotlinToolingDiagnostics internal
- [`KT-75568`](https://youtrack.jetbrains.com/issue/KT-75568) Do not use env variables registered as CC inputs
- [`KT-73842`](https://youtrack.jetbrains.com/issue/KT-73842) Gradle: AGP failing tests with "Failed to calculate the value of property 'generalConfigurationMetrics'" using KGP
- [`KT-75262`](https://youtrack.jetbrains.com/issue/KT-75262) Gradle test-fixtures plugin apply order breaks the project
- [`KT-75277`](https://youtrack.jetbrains.com/issue/KT-75277) FUS statistics: 'java.lang.IllegalStateException: The value for this property cannot be changed any further' exception is thrown during project import
- [`KT-75026`](https://youtrack.jetbrains.com/issue/KT-75026) Corrupted NonSynchronizedMetricsContainer in parallel Gradle build
- [`KT-73849`](https://youtrack.jetbrains.com/issue/KT-73849) Categorize ToolingDiagnostics
- [`KT-74462`](https://youtrack.jetbrains.com/issue/KT-74462) Flaky Kotlin Gradle Plugin Tests: IsInIdeaEnvironmentValueSource$Inject not found
- [`KT-72329`](https://youtrack.jetbrains.com/issue/KT-72329) Consider bumping apiVersion for projects with compatibility setup
- [`KT-74772`](https://youtrack.jetbrains.com/issue/KT-74772) ToolingDiagnostic: title is not displayed on Windows
- [`KT-74485`](https://youtrack.jetbrains.com/issue/KT-74485) BuildFinishedListenerService is not thread-safe
- [`KT-74639`](https://youtrack.jetbrains.com/issue/KT-74639) Executable binaries for JVM test cannot be created unless an additional suffix is set in Groovy
- [`KT-72187`](https://youtrack.jetbrains.com/issue/KT-72187) Gradle tests are using incorrect Kotlin/Native distribution
- [`KT-57653`](https://youtrack.jetbrains.com/issue/KT-57653) Explicit API mode is not enabled when free compiler arguments are specified in Gradle project
- [`KT-51378`](https://youtrack.jetbrains.com/issue/KT-51378) Gradle 'buildSrc' compilation fails when newer version of Kotlin plugin is added to the build script classpath
##### Tools. Gradle. Compiler plugins
- [`KT-58009`](https://youtrack.jetbrains.com/issue/KT-58009) `BaseKapt.annotationProcessorOptionProviders` should be a `List<CommandLineArgumentProvider>` instead of `List<Any>`
- [`KT-61928`](https://youtrack.jetbrains.com/issue/KT-61928) Clarify parameter types in KaptArguments and KaptJavacOption
##### Tools. Gradle. JS
- [`KT-74859`](https://youtrack.jetbrains.com/issue/KT-74859) Gradle configuration cache issues related to RootPackageJsonTask
- [`KT-70357`](https://youtrack.jetbrains.com/issue/KT-70357) Remove JS/Dce deprecated Gradle DSL
- [`KT-71217`](https://youtrack.jetbrains.com/issue/KT-71217) KJS: 'Per-file' "Module not found: Error: Can't resolve void.mjs"
- [`KT-77119`](https://youtrack.jetbrains.com/issue/KT-77119) KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer works
- [`KT-74735`](https://youtrack.jetbrains.com/issue/KT-74735) KGP uses Gradle internal `CompositeProjectComponentArtifactMetadata`
- [`KT-71879`](https://youtrack.jetbrains.com/issue/KT-71879) Notice of upcoming deprecation for Boolean 'is-' properties in Gradle Groovy scripts
- [`KT-75863`](https://youtrack.jetbrains.com/issue/KT-75863) Wasm/JS: Deprecate phantom-js for Karma
- [`KT-75485`](https://youtrack.jetbrains.com/issue/KT-75485) KJS: "Module not found: Error: Can't resolve 'style-loader' and 'css-loader'" in 2.1.20-RC
- [`KT-74869`](https://youtrack.jetbrains.com/issue/KT-74869) KJS: `jsBrowserProductionWebpack` does not minify output with 2.1.20-Beta2
##### Tools. Gradle. Multiplatform
##### New Features
- [`KT-60623`](https://youtrack.jetbrains.com/issue/KT-60623) Deprecate `publishAllLibraryVariants` in kotlin-android
##### Fixes
- [`KT-75161`](https://youtrack.jetbrains.com/issue/KT-75161) Deprecate commonization parameters in KGP with an error
- [`KT-74005`](https://youtrack.jetbrains.com/issue/KT-74005) Implement a prototype of Unified Klib support in Kotlin Gradle Plugin
- [`KT-61817`](https://youtrack.jetbrains.com/issue/KT-61817) Remove support for Legacy Metadata Compilation with support of Compatibility Metadata Variant
- [`KT-71634`](https://youtrack.jetbrains.com/issue/KT-71634) KGP: Remove KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImport
- [`KT-77404`](https://youtrack.jetbrains.com/issue/KT-77404) The kotlin-stdlib and annotations are missing from commonTest dependencies with 2.2.0-Beta1
- [`KT-62643`](https://youtrack.jetbrains.com/issue/KT-62643) Increase DeprecationLevel to 'Error' on deprecated 'ExtrasProperty.kt' (Kotlin 2.2)
- [`KT-75605`](https://youtrack.jetbrains.com/issue/KT-75605) Dependency resolution fails in commonTest/nativeTest source sets for KMP module when depending on another project due to missing PSM
- [`KT-71698`](https://youtrack.jetbrains.com/issue/KT-71698) Remove preset APIs
- [`KT-68015`](https://youtrack.jetbrains.com/issue/KT-68015) Remove legacy KMP flags
- [`KT-74727`](https://youtrack.jetbrains.com/issue/KT-74727) Dependency resolve from a single target KMP module to another kmp module fails on non-found PSM
- [`KT-75808`](https://youtrack.jetbrains.com/issue/KT-75808) KGP: MPP with jvm target and Gradle java-test-fixtures is broken
- [`KT-59315`](https://youtrack.jetbrains.com/issue/KT-59315) Improve the readability of KGP diagnostics in CLI build output
- [`KT-58231`](https://youtrack.jetbrains.com/issue/KT-58231) Kotlin Gradle Plugin: set deprecation level to Error for KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImport
- [`KT-66423`](https://youtrack.jetbrains.com/issue/KT-66423) Configuration cache false recalculation because of Kotlin Native downloading during the execution phase
- [`KT-74888`](https://youtrack.jetbrains.com/issue/KT-74888) Use 'distribution-base' plugin in KMP/JVM
- [`KT-76659`](https://youtrack.jetbrains.com/issue/KT-76659) Write proper diagnostics for Uklib checks
- [`KT-70493`](https://youtrack.jetbrains.com/issue/KT-70493) Improve gray-box testing experience in KGP-IT
- [`KT-71608`](https://youtrack.jetbrains.com/issue/KT-71608) Remove 'android()' target
- [`KT-75512`](https://youtrack.jetbrains.com/issue/KT-75512) Maven-publish: ArtifactId is not correct in`pom` file with customized `withXml`
- [`KT-72203`](https://youtrack.jetbrains.com/issue/KT-72203) Swift Export: Unclear failure for invalid module name
- [`KT-74278`](https://youtrack.jetbrains.com/issue/KT-74278) KSP tasks don't trigger a K/N distribution downloading
- [`KT-74669`](https://youtrack.jetbrains.com/issue/KT-74669) Executable binaries for JVM: a jar generated by jvmJar task isn't added to the build/install/testAppName/lib directory
- [`KT-69200`](https://youtrack.jetbrains.com/issue/KT-69200) Module 'intellij.kotlin.gradle.multiplatformTests' transitively depends on K1/K2 implementation
- [`KT-71454`](https://youtrack.jetbrains.com/issue/KT-71454) Remove not compatible with Project Isolation PomDependenciesRewriter
- [`KT-73536`](https://youtrack.jetbrains.com/issue/KT-73536) Enable kmp isolated projects support for kotlin-test and patch PSM.json
##### Tools. Gradle. Native
- [`KT-77067`](https://youtrack.jetbrains.com/issue/KT-77067) Kotlin Gradle plugin with the configuration cache passes all platform libraries to the compiler when compiling a binary for the first time
- [`KT-74953`](https://youtrack.jetbrains.com/issue/KT-74953) Deprecate kotlinArtifacts with a warning
- [`KT-71069`](https://youtrack.jetbrains.com/issue/KT-71069) Remove `konanVersion ` from CInteropProcess
- [`KT-75171`](https://youtrack.jetbrains.com/issue/KT-75171) Provide custom freeCompilerArgs to Swift Export's link task
- [`KT-74591`](https://youtrack.jetbrains.com/issue/KT-74591) HostManager.isMingw isLinux and isMac are not accessible in groovy scripts
- [`KT-65692`](https://youtrack.jetbrains.com/issue/KT-65692) Remove Kotlin Native Performance plugin
- [`KT-74403`](https://youtrack.jetbrains.com/issue/KT-74403) :commonizeNativeDistribution fails when configured native targets cannot be built on machine
##### Tools. Gradle. Xcode
- [`KT-66262`](https://youtrack.jetbrains.com/issue/KT-66262) Deprecate and remove support for bitcode embedding from the Kotlin Gradle plugin
##### Tools. Incremental Compile
- [`KT-62555`](https://youtrack.jetbrains.com/issue/KT-62555) Wrong ABI fingerprint for inline function containing a lambda
- [`KT-75883`](https://youtrack.jetbrains.com/issue/KT-75883) Follow-up: switch from INSTANCE heuristic to outerClass chain
- [`KT-75276`](https://youtrack.jetbrains.com/issue/KT-75276) Test IC issues with first-round failures that might be fixed by Fir runner
- [`KT-76041`](https://youtrack.jetbrains.com/issue/KT-76041) Make lenient mode work with IC
- [`KT-75155`](https://youtrack.jetbrains.com/issue/KT-75155) Split HistoryFileJvmIncrementalCompilerRunner and the current one
- [`KT-74628`](https://youtrack.jetbrains.com/issue/KT-74628) Incremental compilation runner does not check compiler exit code before mapping sources to classes
##### Tools. JPS
- [`KT-60914`](https://youtrack.jetbrains.com/issue/KT-60914) IC misses dependency to recompile when named kt file with JvmField instructed property was replaced with an object with the same name
- [`KT-76495`](https://youtrack.jetbrains.com/issue/KT-76495) JPS: delegated Maven builds use embeddable version of kotlin-serialization compiler plugin with non-embeddable Kotlin compiler
- [`KT-76461`](https://youtrack.jetbrains.com/issue/KT-76461) Fix "compilation of typealias does not check for clashes" for JPS
- [`KT-75917`](https://youtrack.jetbrains.com/issue/KT-75917) Unused imports may lead to inc compilation failure
- [`KT-73379`](https://youtrack.jetbrains.com/issue/KT-73379) Review the usage of JavaBuilder.IS\_ENABLED inside the KotlinBuilder JSP builder
- [`KT-63707`](https://youtrack.jetbrains.com/issue/KT-63707) JPS: "Multiple values are not allowed for" caused by Compose
##### Tools. Kapt
- [`KT-75936`](https://youtrack.jetbrains.com/issue/KT-75936) K2 KAPT: unsupported FIR element kinds in constant evaluation
- [`KT-64385`](https://youtrack.jetbrains.com/issue/KT-64385) K2: Enable K2 KAPT by default
- [`KT-76546`](https://youtrack.jetbrains.com/issue/KT-76546) Kapt / CLI: ""compile" mode is not supported in Kotlin 2.x" with -version flag
- [`KT-75942`](https://youtrack.jetbrains.com/issue/KT-75942) K2 KAPT: underscore not allowed here
- [`KT-40485`](https://youtrack.jetbrains.com/issue/KT-40485) -Xjvm-default=all causes private interface methods to be generated in JVM target < 9 which is not supported in annotation processing
- [`KT-75202`](https://youtrack.jetbrains.com/issue/KT-75202) K2 kapt: mapped type class literal is converted incorrectly
- [`KT-70797`](https://youtrack.jetbrains.com/issue/KT-70797) Remove obsolete K2 kapt implementation based on Analysis API
##### Tools. Maven
- [`KT-73012`](https://youtrack.jetbrains.com/issue/KT-73012) Migrate Kotlin Maven plugin to the Build Tools API
- [`KT-77036`](https://youtrack.jetbrains.com/issue/KT-77036) Kotlin Maven plugin: ClassNotFoundException com.google.common.base.Joiner with compiler plugins in debug mode
- [`KT-61285`](https://youtrack.jetbrains.com/issue/KT-61285) Remove multiplatform "support" from Maven Plugin
##### Tools. Performance benchmarks
- [`KT-75563`](https://youtrack.jetbrains.com/issue/KT-75563) Fix crash on kotlin compiler server user project related to performance measurements
##### Tools. REPL
##### Fixes
- [`KT-75632`](https://youtrack.jetbrains.com/issue/KT-75632) Contunue deprecation of the REPL built into `kotlinc`
- [`KT-76507`](https://youtrack.jetbrains.com/issue/KT-76507) \[K2 Repl] Delegated properties are not visible in the next snippet
- [`KT-76508`](https://youtrack.jetbrains.com/issue/KT-76508) \[K2 Repl] Annotations on property accessors are not resolved
- [`KT-75672`](https://youtrack.jetbrains.com/issue/KT-75672) \[K2 Repl] Serialization plugin crashes compiler backend
- [`KT-76009`](https://youtrack.jetbrains.com/issue/KT-76009) \[K2 Repl] Kotlin-specific imports does not work if dependency is added to the classpath after 1st snippet
- [`KT-75580`](https://youtrack.jetbrains.com/issue/KT-75580) \[K2 Repl] Cannot access snippet properties using Kotlin reflection
- [`KT-75616`](https://youtrack.jetbrains.com/issue/KT-75616) \[K2 Repl] Sealed hierarchies causes a FileAnalysisException
- [`KT-75593`](https://youtrack.jetbrains.com/issue/KT-75593) \[K2 Repl] Custom Delegates crash code gen
- [`KT-75607`](https://youtrack.jetbrains.com/issue/KT-75607) \[K2 Repl] ScriptingConfiguration.jvm.jvmTarget is not respected
- [`KT-74607`](https://youtrack.jetbrains.com/issue/KT-74607) \[K2 Repl] Lambda statement crashes code generation
- [`KT-74615`](https://youtrack.jetbrains.com/issue/KT-74615) \[K2 REPL] Anonymous objects crash code generation
- [`KT-74856`](https://youtrack.jetbrains.com/issue/KT-74856) \[K2 Repl] Snippet class files are missing Kotlin metadata
- [`KT-74768`](https://youtrack.jetbrains.com/issue/KT-74768) \[K2 Repl] refineConfiguration does not update the classpath correctly
- [`KT-74593`](https://youtrack.jetbrains.com/issue/KT-74593) \[K2 Repl] defaultImports does not work in ScriptCompilationConfiguration
##### Tools. Scripts
- [`KT-75589`](https://youtrack.jetbrains.com/issue/KT-75589) Scripts: "IndexOutOfBoundsException in jdk.internal.util.Preconditions.outOfBounds" when trying to extend a class which uses global variable
- [`KT-76424`](https://youtrack.jetbrains.com/issue/KT-76424) Dependencies in main.kts not working with 2.1.20
- [`KT-76296`](https://youtrack.jetbrains.com/issue/KT-76296) Kotlin script compiler crashes when secondary constructor calls a function
- [`KT-76430`](https://youtrack.jetbrains.com/issue/KT-76430) Migrate scripting plugin to new IR parameter API
- [`KT-74004`](https://youtrack.jetbrains.com/issue/KT-74004) "Evaluate expression" fails in scripts
##### Tools. Wasm
- [`KT-76161`](https://youtrack.jetbrains.com/issue/KT-76161) Wasm: "export startUnitTests was not found" after updating to Kotlin 2.1.20
- [`KT-73398`](https://youtrack.jetbrains.com/issue/KT-73398) K/Wasm: Separate from JS NPM infrastructure
- [`KT-76948`](https://youtrack.jetbrains.com/issue/KT-76948) Wasm: Rename kotlinBinaryenSetup and kotlinD8Setup
- [`KT-74840`](https://youtrack.jetbrains.com/issue/KT-74840) Wasm: Binaryen setup per project
- [`KT-76657`](https://youtrack.jetbrains.com/issue/KT-76657) K/Wasm: Composite build does not work with wasm tasks
- [`KT-76656`](https://youtrack.jetbrains.com/issue/KT-76656) K/Wasm: Change NPM project name of wasm projects
- [`KT-76587`](https://youtrack.jetbrains.com/issue/KT-76587) Wasm lock check failure says to run the JS lock upgrade
- [`KT-76330`](https://youtrack.jetbrains.com/issue/KT-76330) K/Wasm: update binaryen to 123 or newer
- [`KT-74480`](https://youtrack.jetbrains.com/issue/KT-74480) Projects using Compose don't run in Android Studio started from 2.1.20- Kotlin version
### [`v2.1.21`](https://github.com/JetBrains/kotlin/releases/tag/v2.1.21): Kotlin 2.1.21
#### Changelog
##### Backend. Native. Debug
- [`KT-75991`](https://youtrack.jetbrains.com/issue/KT-75991) Xcode 16.3: Fix lldb stepping test over an inline function
##### Compiler
- [`KT-75992`](https://youtrack.jetbrains.com/issue/KT-75992) Xcode 16.3: stacktraces on simulators are not symbolicated
- [`KT-76663`](https://youtrack.jetbrains.com/issue/KT-76663) KJS: KotlinNothingValueException caused by expression return since 2.1.20
- [`KT-75756`](https://youtrack.jetbrains.com/issue/KT-75756) Backend Internal error: Exception during IR lowering when trying to access variable from providedProperties in class within kotlin custom script
- [`KT-76209`](https://youtrack.jetbrains.com/issue/KT-76209) CONFLICTING\_UPPER\_BOUNDS on `Nothing` bound
- [`KT-70352`](https://youtrack.jetbrains.com/issue/KT-70352) K2: False-negative CONFLICTING\_UPPER\_BOUNDS on `Nothing` bound
- [`KT-74739`](https://youtrack.jetbrains.com/issue/KT-74739) Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION\_REFERENCE"
- [`KT-75483`](https://youtrack.jetbrains.com/issue/KT-75483) Native: redundant unboxing generated with smart cast
- [`KT-71425`](https://youtrack.jetbrains.com/issue/KT-71425) IR Inliner: investigate return type of an inlined block
##### Native
- [`KT-76252`](https://youtrack.jetbrains.com/issue/KT-76252) Native: executable crash with generic value classes with 2.1.20
##### Native. C and ObjC Import
- [`KT-75781`](https://youtrack.jetbrains.com/issue/KT-75781) Xcode 16.3: Fix cinterop tests failing with fatal error: could not build module '\_stdint'
##### Native. Runtime. Memory
- [`KT-74280`](https://youtrack.jetbrains.com/issue/KT-74280) Native: GC.collect crashes with -Xallocator=std
##### Tools. CLI
- [`KT-75588`](https://youtrack.jetbrains.com/issue/KT-75588) \[2.1.20-RC] "was compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" warnings despite using the same compiler version
- [`KT-74663`](https://youtrack.jetbrains.com/issue/KT-74663) kotlinc-js CLI: not providing -ir-output-dir results in NullPointerException
##### Tools. Compiler Plugins
- [`KT-76162`](https://youtrack.jetbrains.com/issue/KT-76162) "IllegalStateException: No mapping for symbol: VALUE\_PARAMETER INSTANCE\_RECEIVER" after updating to 2.1.20
##### Tools. Gradle
- [`KT-73682`](https://youtrack.jetbrains.com/issue/KT-73682) Compatibility with Gradle 8.12 release
- [`KT-73142`](https://youtrack.jetbrains.com/issue/KT-73142) Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilder
- [`KT-36004`](https://youtrack.jetbrains.com/issue/KT-36004) Update 'org.gradle.usage' attribute rules to support the 'JAVA\_API' and 'JAVA\_RUNTIME' value
- [`KT-73968`](https://youtrack.jetbrains.com/issue/KT-73968) KotlinDependencyManagement tries to mutate configuration after it was resolved
- [`KT-73684`](https://youtrack.jetbrains.com/issue/KT-73684) Run integration tests against Gradle 8.12
- [`KT-72694`](https://youtrack.jetbrains.com/issue/KT-72694) Accessing Task.project during execution is being deprecated in Gradle 8.12
- [`KT-73683`](https://youtrack.jetbrains.com/issue/KT-73683) Compile against Gradle API 8.12
##### Tools. Gradle. JS
- [`KT-77119`](https://youtrack.jetbrains.com/issue/KT-77119) KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer works
- [`KT-74735`](https://youtrack.jetbrains.com/issue/KT-74735) KGP uses Gradle internal `CompositeProjectComponentArtifactMetadata`
- [`KT-71879`](https://youtrack.jetbrains.com/issue/KT-71879) Notice of upcoming deprecation for Boolean 'is-' properties in Gradle Groovy scripts
##### Tools. Gradle. Multiplatform
- [`KT-75808`](https://youtrack.jetbrains.com/issue/KT-75808) KGP: MPP with jvm target and Gradle java-test-fixtures is broken
- [`KT-75605`](https://youtrack.jetbrains.com/issue/KT-75605) Dependency resolution fails in commonTest/nativeTest source sets for KMP module when depending on another project due to missing PSM
- [`KT-75512`](https://youtrack.jetbrains.com/issue/KT-75512) Maven-publish: ArtifactId is not correct in`pom` file with customized `withXml`
##### Tools. Incremental Compile
- [`KT-62555`](https://youtrack.jetbrains.com/issue/KT-62555) Wrong ABI fingerprint for inline function containing a lambda
- [`KT-75883`](https://youtrack.jetbrains.com/issue/KT-75883) Follow-up: switch from INSTANCE heuristic to outerClass chain
##### Tools. Kapt
- [`KT-75936`](https://youtrack.jetbrains.com/issue/KT-75936) K2 KAPT: unsupported FIR element kinds in constant evaluation
- [`KT-75942`](https://youtrack.jetbrains.com/issue/KT-75942) K2 KAPT: underscore not allowed here
##### Tools. Scripts
- [`KT-76424`](https://youtrack.jetbrains.com/issue/KT-76424) Dependencies in main.kts not working with 2.1.20
- [`KT-76296`](https://youtrack.jetbrains.com/issue/KT-76296) Kotlin script compiler crashes when secondary constructor calls a function
- [`KT-75589`](https://youtrack.jetbrains.com/issue/KT-75589) Scripts: "IndexOutOfBoundsException in jdk.internal.util.Preconditions.outOfBounds" when trying to extend a class which uses global variable
##### Tools. Wasm
- [`KT-76161`](https://youtrack.jetbrains.com/issue/KT-76161) Wasm: "export startUnitTests was not found" after updating to Kotlin 2.1.20
### [`v2.1.20`](https://github.com/JetBrains/kotlin/releases/tag/v2.1.20): Kotlin 2.1.20
#### Changelog
##### Analysis API
##### Fixes
- [`KT-68198`](https://youtrack.jetbrains.com/issue/KT-68198) Analysis API: Support application service registration in plugin XMLs
- [`KT-57733`](https://youtrack.jetbrains.com/issue/KT-57733) Analysis API: Use optimized `ModuleWithDependenciesScope`s in combined symbol providers
- [`KT-73156`](https://youtrack.jetbrains.com/issue/KT-73156) AA: type retrieval for erroneous typealias crashes
- [`KT-71907`](https://youtrack.jetbrains.com/issue/KT-71907) K2 debugger evaluator failed when cannot resolve unrelated annotation
- [`KT-69128`](https://youtrack.jetbrains.com/issue/KT-69128) K2 IDE: "Unresolved reference in KDoc" reports existing Java class in reference to its own nested class
- [`KT-71613`](https://youtrack.jetbrains.com/issue/KT-71613) KaFirPsiJavaTypeParameterSymbol cannot be cast to KaFirTypeParameterSymbol
- [`KT-71741`](https://youtrack.jetbrains.com/issue/KT-71741) K2 IDE. Classifier was found in KtFile but was not found in FirFile in `libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts` in `kotlin.git` and broken analysis
- [`KT-71942`](https://youtrack.jetbrains.com/issue/KT-71942) Need to rethrow Intellij Platform exceptions, like ProcessCanceledException
- [`KT-70949`](https://youtrack.jetbrains.com/issue/KT-70949) Analysis API: "containingDeclaration" does not work on nested Java classes in K2 implementation
- [`KT-69736`](https://youtrack.jetbrains.com/issue/KT-69736) K2 IDE: False positive resolution from KDoc for `value`
- [`KT-69047`](https://youtrack.jetbrains.com/issue/KT-69047) Analysis API: Unresolved KDoc reference to extensions with the same name
- [`KT-70815`](https://youtrack.jetbrains.com/issue/KT-70815) Analysis API: Implement stop-the-world session invalidation
- [`KT-69630`](https://youtrack.jetbrains.com/issue/KT-69630) KAPT User project builds with KAPT4 enabled fail with Metaspace overflow
##### Analysis API. Code Compilation
- [`KT-71263`](https://youtrack.jetbrains.com/issue/KT-71263) K2 evaluator: Error in evaluating self property with extension receiver
##### Analysis API. FIR
##### Performance Improvements
- [`KT-72025`](https://youtrack.jetbrains.com/issue/KT-72025) FileStructureElement: reduce redundant resolve
- [`KT-74012`](https://youtrack.jetbrains.com/issue/KT-74012) Redundant `FirAbstractBodyResolveTransformerDispatcher.<init>` CPU consumption
- [`KT-73900`](https://youtrack.jetbrains.com/issue/KT-73900) ContextCollectorVisitor#computeContext may spend significant time on `createSnapshot`
- [`KT-73665`](https://youtrack.jetbrains.com/issue/KT-73665) FirElementFinder is inefficient in large files
- [`KT-73330`](https://youtrack.jetbrains.com/issue/KT-73330) Remove bodies from functions without contracts after the CONTRACTS phase
- [`KT-73017`](https://youtrack.jetbrains.com/issue/KT-73017) Analysis API: `FirReferenceResolveHelper.getSymbolsByResolvedImport` searches for classes even when the selected `FqName` is a known package
##### Fixes
- [`KT-72308`](https://youtrack.jetbrains.com/issue/KT-72308) getOrBuildFir returns null for this expression for plusAssign operator
- [`KT-72660`](https://youtrack.jetbrains.com/issue/KT-72660) ISE: Recursive update at org.jetbrains.kotlin.analysis.low\.level.api.fir.caches.FirCaffeineCache.getValue
- [`KT-74097`](https://youtrack.jetbrains.com/issue/KT-74097) ISE: Recursive update at org.jetbrains.kotlin.analysis.low\.level.api.fir.caches.FirCaffeineCache.getValue
- [`KT-74098`](https://youtrack.jetbrains.com/issue/KT-74098) ISE: Recursive update at org.jetbrains.kotlin.analysis.low\.level.api.fir.caches.FirCaffeineCache.getValue
- [`KT-72148`](https://youtrack.jetbrains.com/issue/KT-72148) K2: KISEWA: Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(DataClassMember) but FirArgumentListImpl found
- [`KT-73079`](https://youtrack.jetbrains.com/issue/KT-73079) K2: Internal compiler error when conflicting type aliases are present
- [`KT-73456`](https://youtrack.jetbrains.com/issue/KT-73456) Expected FirResolvedContractDescription but FirRawContractDescriptionImpl found for FirSimpleFunctionImpl
- [`KT-73259`](https://youtrack.jetbrains.com/issue/KT-73259) Expected FirResolvedContractDescription but FirLegacyRawContractDescriptionImpl found for FirSimpleFunctionImpl
- [`KT-72740`](https://youtrack.jetbrains.com/issue/KT-72740) FirDanglingModifierList: `lazyResolveToPhase(STATUS)` cannot be called from a transformer with a phase STATUS
- [`KT-66132`](https://youtrack.jetbrains.com/issue/KT-66132) K2: FirRegularClass expected, but FirFileImpl found | Containing declaration is not found
- [`KT-72196`](https://youtrack.jetbrains.com/issue/KT-72196) K2. KMP. IllegalStateException: expect-actual matching is only possible for code with sources
- [`KT-72652`](https://youtrack.jetbrains.com/issue/KT-72652) `FirProvider#getContainingClass` should support `FirDanglingModifierSymbol`
- [`KT-73105`](https://youtrack.jetbrains.com/issue/KT-73105) Lazy resolve contract violation (BODY\_RESOLVE from BODY\_RESOLVE)
- [`KT-66261`](https://youtrack.jetbrains.com/issue/KT-66261) K2: Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" with MULTIPLE\_LABELS\_ARE\_FORBIDDEN K2 error
- [`KT-72315`](https://youtrack.jetbrains.com/issue/KT-72315) K2. KIWA on usage of always-true OR in guard condition
- [`KT-65707`](https://youtrack.jetbrains.com/issue/KT-65707) K2 IDE: unresolved calls of callables imported with typealias as qualifier
- [`KT-61516`](https://youtrack.jetbrains.com/issue/KT-61516) K2: Provide an LL FIR implementation for `getContainingClassSymbol` (in `FirHelpers`)
- [`KT-72853`](https://youtrack.jetbrains.com/issue/KT-72853) Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirContextReceiverImpl(Source) but FirArgumentListImpl found
- [`KT-64215`](https://youtrack.jetbrains.com/issue/KT-64215) K2: do not resolve type annotations of receiver if it is used as an implicit return type
- [`KT-64248`](https://youtrack.jetbrains.com/issue/KT-64248) K2: do not resolve type annotations of context receiver if it is used as an implicit return type
- [`KT-72821`](https://youtrack.jetbrains.com/issue/KT-72821) Add assertion to diagnostic tests to check that all declarations have BODY\_RESOLVE phase at the end
- [`KT-64056`](https://youtrack.jetbrains.com/issue/KT-64056) K2: K2: FirLazyBodiesCalculator shouldn't calculate annotation arguments on type phase
- [`KT-71651`](https://youtrack.jetbrains.com/issue/KT-71651) K2 IDE: False positive NON\_LOCAL\_SUSPENSION\_POINT in suspend function call
- [`KT-72164`](https://youtrack.jetbrains.com/issue/KT-72164) K2. IllegalArgumentException when pre and post increment are used simultaneously in assignment
- [`KT-71174`](https://youtrack.jetbrains.com/issue/KT-71174) Illegal scope used
- [`KT-72407`](https://youtrack.jetbrains.com/issue/KT-72407) FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing
- [`KT-72228`](https://youtrack.jetbrains.com/issue/KT-72228) K2: Reformat doesn't work in project with Kotlin `2.0.21`
- [`KT-69671`](https://youtrack.jetbrains.com/issue/KT-69671) TYPES phase contract violation through JavaSymbolProvider
- [`KT-71348`](https://youtrack.jetbrains.com/issue/KT-71348) K2: KotlinIllegalStateExceptionWithAttachments: 'By now the annotations argument mapping should have been resolved' during code inspection
- [`KT-72024`](https://youtrack.jetbrains.com/issue/KT-72024) FirClassVarianceChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
- [`KT-71746`](https://youtrack.jetbrains.com/issue/KT-71746) K2 IDE. `ISE: Zero or multiple overrides found for descriptor in FirRegularClassSymbol serializing/ExternalSerializer` and red code on `@Serializer`(forClass) \` usage
##### Analysis API. Infrastructure
- [`KT-72922`](https://youtrack.jetbrains.com/issue/KT-72922) KotlinFakeClsStubsCache project leakage
- [`KT-71988`](https://youtrack.jetbrains.com/issue/KT-71988) Improve scripts test coverage by LL FIR
- [`KT-64687`](https://youtrack.jetbrains.com/issue/KT-64687) K2: Analysis API: migrate AbstractFirLibraryModuleDeclarationResolveTest to kotlin repo
##### Analysis API. Light Classes
- [`KT-73492`](https://youtrack.jetbrains.com/issue/KT-73492) K2. FP error in Java file when using `@JvmSuppressWildcards` annotation without arguments
- [`KT-66763`](https://youtrack.jetbrains.com/issue/KT-66763) K2: Get rid of context receivers in Analysis API and LL API
- [`KT-71781`](https://youtrack.jetbrains.com/issue/KT-71781) SLC: migrate SLC from KotlinModificationTrackerService to KotlinModificationTrackerFactory
- [`KT-67963`](https://youtrack.jetbrains.com/issue/KT-67963) K2: PsiInvalidElementAccessException on redeclaration of class with constructor
- [`KT-71407`](https://youtrack.jetbrains.com/issue/KT-71407) K2: Do not report `@JvmField` default value as PsiField initializer in K2
- [`KT-72078`](https://youtrack.jetbrains.com/issue/KT-72078) K2 PSI change for constructor parameter with value class type
##### Analysis API. Providers and Caches
- [`KT-69247`](https://youtrack.jetbrains.com/issue/KT-69247) Analysis API: Invalidate sessions after builtins modification events
- [`KT-72704`](https://youtrack.jetbrains.com/issue/KT-72704) ISE: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(53) in array owner: LLFirBuiltinsAndCloneableSession for Builtins for JS/wasm-js (JS)
- [`KT-67148`](https://youtrack.jetbrains.com/issue/KT-67148) Analysis API: Introduce a weak reference cache for the original `KtSymbol` in `KtSymbolPointer`
- [`KT-73395`](https://youtrack.jetbrains.com/issue/KT-73395) Analysis API: `JavaElementPsiSourceWithSmartPointer` contains strong references to PSI
- [`KT-72390`](https://youtrack.jetbrains.com/issue/KT-72390) Kotlin project full of red code
- [`KT-72388`](https://youtrack.jetbrains.com/issue/KT-72388) KaFirStopWorldCacheCleaner: Control-flow exceptions
- [`KT-72644`](https://youtrack.jetbrains.com/issue/KT-72644) "PSI has changed since creation" reason is misleading
##### Analysis API. Standalone
- [`KT-73776`](https://youtrack.jetbrains.com/issue/KT-73776) Analysis API Standalone: Application services are missing registrations in tests and Dokka
- [`KT-70346`](https://youtrack.jetbrains.com/issue/KT-70346) Analysis API Standalone: Remove the custom class loader option in Standalone session creation
##### Analysis API. Stubs and Decompilation
- [`KT-69398`](https://youtrack.jetbrains.com/issue/KT-69398) K2 IDE: SOE on editing top level private variable name
- [`KT-72897`](https://youtrack.jetbrains.com/issue/KT-72897) Analysis API: Smart PSI element pointers for `KtEnumEntry` stubs cannot be restored
- [`KT-71565`](https://youtrack.jetbrains.com/issue/KT-71565) KtClassOrObject should use isLocal from greenStub
##### Analysis API. Surface
##### New Features
- [`KT-73414`](https://youtrack.jetbrains.com/issue/KT-73414) Analysis API: Support typealiased constructors in KaConstructorSymbol
- [`KT-70301`](https://youtrack.jetbrains.com/issue/KT-70301) Analysis API: 'KaSamConstructorSymbol' does not allow to find the constructed SAM type
- [`KT-68236`](https://youtrack.jetbrains.com/issue/KT-68236) Analysis API: add `isExternal` property for KtPropertySymbol
- [`KT-68598`](https://youtrack.jetbrains.com/issue/KT-68598) Analysis API: missed getClassLikeSymbolByClassId API
##### Performance Improvements
- [`KT-74112`](https://youtrack.jetbrains.com/issue/KT-74112) UI freeze: `AnyThreadWriteThreadingSupport.getWritePermit`
- [`KT-73942`](https://youtrack.jetbrains.com/issue/KT-73942) Extend resolveToSymbols cache to all references
- [`KT-73622`](https://youtrack.jetbrains.com/issue/KT-73622) Cache `resolveToSymbols` result
- [`KT-72684`](https://youtrack.jetbrains.com/issue/KT-72684) Drop explicit resolve from KaFirJavaInteroperabilityComponent#asPsiTypeElement
- [`KT-60486`](https://youtrack.jetbrains.com/issue/KT-60486) Analysis API: optimize KaExpressionTypeProvider.returnType for simple cases
##### Fixes
- [`KT-70114`](https://youtrack.jetbrains.com/issue/KT-70114) K2: Analysis API: do not lazy resolve declarations without deprecation to get it deprecation
- [`KT-73406`](https://youtrack.jetbrains.com/issue/KT-73406) \[Analysis API] Allow extending KaModule resolution scope for all KaModules
- [`KT-65850`](https://youtrack.jetbrains.com/issue/KT-65850) Cover Analysis API with KDocs
- [`KT-72099`](https://youtrack.jetbrains.com/issue/KT-72099) Analysis API: implement an API to retrieve default imports
- [`KT-73662`](https://youtrack.jetbrains.com/issue/KT-73662) KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
- [`KT-70108`](https://youtrack.jetbrains.com/issue/KT-70108) Analysis API: "KaScopeProvider.scopeContext" provides scopes from implicit companion objects with inaccessible classifiers
- [`KT-68954`](https://youtrack.jetbrains.com/issue/KT-68954) Remove JAR publications with old artifact names (high-level-api family)
- [`KT-70134`](https://youtrack.jetbrains.com/issue/KT-70134) Analysis API: Port API documentation from the guide to KDoc
- [`KT-72973`](https://youtrack.jetbrains.com/issue/KT-72973) Introduce KaSymbolOrigin.TYPE\_ALIAS\_CONSTRUCTOR
- [`KT-70356`](https://youtrack.jetbrains.com/issue/KT-70356) analyzeCopy with IGNORE\_SELF cannot find private members
- [`KT-66783`](https://youtrack.jetbrains.com/issue/KT-66783) Analysis API: `KtFirSymbolProvider` creates symbols when given PSI from unrelated modules
- [`KT-72937`](https://youtrack.jetbrains.com/issue/KT-72937) Migrate KaFirReceiverParameterSymbol to KaFirSymbol/KaFirKtBasedSymbol
- [`KT-70243`](https://youtrack.jetbrains.com/issue/KT-70243) K2 IDE: PsiMethod.callableSymbol returns `null` for constructor
- [`KT-66608`](https://youtrack.jetbrains.com/issue/KT-66608) Support `OperatorFunctionChecks#isOperator` in AA
- [`KT-73068`](https://youtrack.jetbrains.com/issue/KT-73068) Analysis API: A `KaFirJavaFieldSymbol` for a static Java field is open instead of final
- [`KT-73055`](https://youtrack.jetbrains.com/issue/KT-73055) Get rid of the deprecated Analysis API API
- [`KT-65065`](https://youtrack.jetbrains.com/issue/KT-65065) Provide `KtTypeReference#getShortTypeText()`
- [`KT-63800`](https://youtrack.jetbrains.com/issue/KT-63800) AA: this reference shortener doesn't simplify label
- [`KT-72793`](https://youtrack.jetbrains.com/issue/KT-72793) Analysis API: 'expressionType' returns raw type for typealiased constructors calls
- [`KT-72658`](https://youtrack.jetbrains.com/issue/KT-72658) `resolveToCall` doesn't work for `KtSafeQualifiedExpression`
- [`KT-69930`](https://youtrack.jetbrains.com/issue/KT-69930) K2 IDE: Kotlin/JS project: ISE: "Unsupported type DYNAMIC\_TYPE"
- [`KT-71373`](https://youtrack.jetbrains.com/issue/KT-71373) Make KaSessionProvider the internal API
- [`KT-71869`](https://youtrack.jetbrains.com/issue/KT-71869) KaClassSymbol.superTypes for kotlin.Any contains kotlin.Any itself (K1-only)
- [`KT-64190`](https://youtrack.jetbrains.com/issue/KT-64190) K2 IDE: Analysis API: KDoc link leads to a function instead of interface
- [`KT-72075`](https://youtrack.jetbrains.com/issue/KT-72075) `defaultType` should be available for `KaClassifierSymbol` instead of `KaNamedClassSymbol`
- [`KT-72002`](https://youtrack.jetbrains.com/issue/KT-72002) Analysis API: psi KaTypeParameterSymbol for default Java constructor is null
##### Backend. Native. Debug
- [`KT-73306`](https://youtrack.jetbrains.com/issue/KT-73306) Native: add a way to specify a dir for the debug compilation unit file
- [`KT-68536`](https://youtrack.jetbrains.com/issue/KT-68536) Native: bridges and trampolines affect stepping in the debugger
- [`KT-72398`](https://youtrack.jetbrains.com/issue/KT-72398) Native: use `DW_AT_trampoline` for `objc2kotlin_*` functions instead of `KonanHook` in `konan_lldb.py`
##### Backend. Wasm
- [`KT-71868`](https://youtrack.jetbrains.com/issue/KT-71868) K/Wasm: support generating debug information in DWARF format
- [`KT-71645`](https://youtrack.jetbrains.com/issue/KT-71645) \[Wasm] Check wasm test runner for groupByPackage=true case
- [`KT-72232`](https://youtrack.jetbrains.com/issue/KT-72232) Wasm, IC: Compilation exception on renaming of file
- [`KT-73907`](https://youtrack.jetbrains.com/issue/KT-73907) Wasm: Duplication of files in browser distribution
- [`KT-72223`](https://youtrack.jetbrains.com/issue/KT-72223) Compiler generates an invalid glue-code for externals with backquoted identifiers
- [`KT-73015`](https://youtrack.jetbrains.com/issue/KT-73015) \[Wasm, IC] Implement possibility for readonly IC cache
- [`KT-71763`](https://youtrack.jetbrains.com/issue/KT-71763) K/Wasm: compiler generates incorrect code for is check on JsAny
- [`KT-72156`](https://youtrack.jetbrains.com/issue/KT-72156) custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven public
- [`KT-71037`](https://youtrack.jetbrains.com/issue/KT-71037) \[Wasm, IC] Investigate how make kotlin.test not fully loaded in IC
##### Compiler
##### New Features
- [`KT-74049`](https://youtrack.jetbrains.com/issue/KT-74049) Introduce special override rule to allow overriding T! with T & Any
- [`KT-73256`](https://youtrack.jetbrains.com/issue/KT-73256) Implement `all` meta-target for annotations
- [`KT-73255`](https://youtrack.jetbrains.com/issue/KT-73255) Change defaulting rule for annotations
- [`KT-61447`](https://youtrack.jetbrains.com/issue/KT-61447) Support context receivers overloads in Kotlin multiplatform
- [`KT-67034`](https://youtrack.jetbrains.com/issue/KT-67034) Warning when a property hides a Java field from superclass
- [`KT-71092`](https://youtrack.jetbrains.com/issue/KT-71092) Native: Write out used dependencies
- [`KT-71094`](https://youtrack.jetbrains.com/issue/KT-71094) Kotlin/Native incremental compilation: fail compilation if cache build failed
- [`KT-71569`](https://youtrack.jetbrains.com/issue/KT-71569) Improve diagnostic precision for OPT\_IN\_ARGUMENT\_IS\_NOT\_MARKER
##### Performance Improvements
- [`KT-73434`](https://youtrack.jetbrains.com/issue/KT-73434) Slow / infinite compile involving ConeInferenceContext
- [`KT-73328`](https://youtrack.jetbrains.com/issue/KT-73328) Do not spill `this` to a local variable in coroutines
- [`KT-69995`](https://youtrack.jetbrains.com/issue/KT-69995) K2: Slow compilation when star projecting mutually recursive bounds from java
- [`KT-73687`](https://youtrack.jetbrains.com/issue/KT-73687) Inefficient KtCommonFile#getFileAnnotationList
- [`KT-45452`](https://youtrack.jetbrains.com/issue/KT-45452) K/N optimization: inline simple functions that aren't marked with `inline` keyword
- [`KT-64898`](https://youtrack.jetbrains.com/issue/KT-64898) K2: toFirProperty call in PsiRawFirBuilder forces AST loading
- [`KT-71673`](https://youtrack.jetbrains.com/issue/KT-71673) Consider making EnhancementSymbolsCache. enhancedFunctions using simple cache
- [`KT-71973`](https://youtrack.jetbrains.com/issue/KT-71973) KtPsiUtil#getEnclosingElementForLocalDeclaration shouldn't iterate over directories
##### Fixes
- [`KT-75965`](https://youtrack.jetbrains.com/issue/KT-75965) The iOS app did not run successfully in Release mode
- [`KT-57696`](https://youtrack.jetbrains.com/issue/KT-57696) Deprecate JvmDefault annotation with level HIDDEN
- [`KT-75578`](https://youtrack.jetbrains.com/issue/KT-75578) K2: False negative \[SUPER\_CALL\_WITH\_DEFAULT\_PARAMETERS] when calling the upper-class implementation of a method with the default value argument
- [`KT-74764`](https://youtrack.jetbrains.com/issue/KT-74764) Native: merge init nodes generated within the same LLVM module for the same klib
- [`KT-75444`](https://youtrack.jetbrains.com/issue/KT-75444) Contradictions in the constraint system are ignored in case of multiple constraints from forking points
- [`KT-75649`](https://youtrack.jetbrains.com/issue/KT-75649) K2: NPE on assigning platform type value to non-nullable lateinit var
- [`KT-75483`](https://youtrack.jetbrains.com/issue/KT-75483) Native: redundant unboxing generated with smart cast
- [`KT-73028`](https://youtrack.jetbrains.com/issue/KT-73028) K2. FileAnalysisException on private property in Context
- [`KT-73937`](https://youtrack.jetbrains.com/issue/KT-73937) Context parameters: IllegalArgumentException: source must not be null on lateinit var with a context
- [`KT-74104`](https://youtrack.jetbrains.com/issue/KT-74104) Native: SynchronizedLazyImpl produces NPE on 2.1.20-Beta1 on mingwX64
- [`KT-71752`](https://youtrack.jetbrains.com/issue/KT-71752) K2: Absent non-null check for platform types in assignments
- [`KT-75526`](https://youtrack.jetbrains.com/issue/KT-75526) Regression in K2 scripting: local name doesn't shadow one from the implicit receiver
- [`KT-68131`](https://youtrack.jetbrains.com/issue/KT-68131) K2: build Grazie monorepo main branch
- [`KT-72618`](https://youtrack.jetbrains.com/issue/KT-72618) Cannot define operator inc/dec in class context
- [`KT-74739`](https://youtrack.jetbrains.com/issue/KT-74739) Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION\_REFERENCE"
- [`KT-68768`](https://youtrack.jetbrains.com/issue/KT-68768) K2: unsuccessful inference fork with jspecify annotations
- [`KT-71943`](https://youtrack.jetbrains.com/issue/KT-71943) K2: IAE "source must not be null" in FirJvmModuleAccessibilityQualifiedAccessChecker
- [`KT-75111`](https://youtrack.jetbrains.com/issue/KT-75111) False negative "This declaration needs opt-in" for usage of enum entry with OptIn marker in another module
- [`KT-73831`](https://youtrack.jetbrains.com/issue/KT-73831) Do not choose `field` target in annotation classes
- [`KT-73494`](https://youtrack.jetbrains.com/issue/KT-73494) Enable first-only-warn annotation defaulting mode
- [`KT-74929`](https://youtrack.jetbrains.com/issue/KT-74929) False positive TYPE\_PARAMETER\_OF\_PROPERTY\_NOT\_USED\_IN\_RECEIVER if it is used with T\&Any
- [`KT-74227`](https://youtrack.jetbrains.com/issue/KT-74227) K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function type
- [`KT-70789`](https://youtrack.jetbrains.com/issue/KT-70789) CLI error "mixing legacy and modern plugin arguments is prohibited" on using -Xcompiler-plugin unless default scripting plugin is disabled
- [`KT-73903`](https://youtrack.jetbrains.com/issue/KT-73903) Design 'replaceWith' / 'test-only' kinds for the 'LanguageFeature' class
- [`KT-74474`](https://youtrack.jetbrains.com/issue/KT-74474) K2: Report more precise diagnostic when last expression of non-unit lambda is a statement
- [`KT-74478`](https://youtrack.jetbrains.com/issue/KT-74478) K2: False negative RETURN TYPE\_MISMATCH if the last statement of a lambda is indexed assignment
- [`KT-67480`](https://youtrack.jetbrains.com/issue/KT-67480) K/N: a separate inlining phase after the lowerings
- [`KT-72154`](https://youtrack.jetbrains.com/issue/KT-72154) Dokka fails with `not array: KClass<out Annotation>` on Kotlin 2.1.20-dev with `@SubclassOptInRequired`
- [`KT-72040`](https://youtrack.jetbrains.com/issue/KT-72040) Extra checkers: false-positive unused parameter warnings on anonymous lambda parameters
- [`KT-74203`](https://youtrack.jetbrains.com/issue/KT-74203) K2: False negative NO\_ELSE\_IN\_WHEN of a generic type with star projection <\*> bounded by a sealed hierarchy
- [`KT-63720`](https://youtrack.jetbrains.com/issue/KT-63720) Coroutine debugger: do not optimise out local variables
- [`KT-74024`](https://youtrack.jetbrains.com/issue/KT-74024) K2: Prohibit declaring local type aliases
- [`KT-73146`](https://youtrack.jetbrains.com/issue/KT-73146) Context parameters CLI & diagnostics
- [`KT-73251`](https://youtrack.jetbrains.com/issue/KT-73251) Warn users about removal of context classes and constructors
- [`KT-72222`](https://youtrack.jetbrains.com/issue/KT-72222) Context parameters parsing & resolution part 1
- [`KT-61175`](https://youtrack.jetbrains.com/issue/KT-61175) K2: FirReceiverParameter does not extend FirDeclaration
- [`KT-73858`](https://youtrack.jetbrains.com/issue/KT-73858) Compose / iOS: NullPointerException on building
- [`KT-73864`](https://youtrack.jetbrains.com/issue/KT-73864) \[Native] Decouple `IrType.computePrimitiveBinaryTypeOrNull` from backend.native
- [`KT-73122`](https://youtrack.jetbrains.com/issue/KT-73122) Move the upgrade references lowering to be first one in Native pipeline
- [`KT-73608`](https://youtrack.jetbrains.com/issue/KT-73608) K2: "Initializer type mismatch" with map and typealias to object
- [`KT-73691`](https://youtrack.jetbrains.com/issue/KT-73691) DCE removes static initializer function, which is actually called
- [`KT-74147`](https://youtrack.jetbrains.com/issue/KT-74147) K2: False negative INCONSISTENT\_TYPE\_PARAMETER\_VALUES
- [`KT-73454`](https://youtrack.jetbrains.com/issue/KT-73454) K2: Fix type parameters mapping for typealiases with inner RHS
- [`KT-73043`](https://youtrack.jetbrains.com/issue/KT-73043) K2 Compiler does not allow references to inner constructors with typealiases
- [`KT-74040`](https://youtrack.jetbrains.com/issue/KT-74040) Compilation of inner class usage does not check the visibility of parent class during compilation in different rounds
- [`KT-74195`](https://youtrack.jetbrains.com/issue/KT-74195) Fully qualified names in error messages make them complicated
- [`KT-74221`](https://youtrack.jetbrains.com/issue/KT-74221) Make `FirSupertypesChecker` a platform checker
- [`KT-72962`](https://youtrack.jetbrains.com/issue/KT-72962) Consider enabling ConsiderForkPointsWhenCheckingContradictions LF earlier
- [`KT-74242`](https://youtrack.jetbrains.com/issue/KT-74242) Freeze on `runCatching` call in `finally` block inside SAM conversion
- [`KT-29222`](https://youtrack.jetbrains.com/issue/KT-29222) FIR: consider folding binary expression chains
- [`KT-73760`](https://youtrack.jetbrains.com/issue/KT-73760) Cannot implement two Java interfaces with `@NotNull`-annotated type argument and Kotlin's plain (nullable) type parameter
- [`KT-58933`](https://youtrack.jetbrains.com/issue/KT-58933) Applying suggested signature from WRONG\_NULLABILITY\_FOR\_JAVA\_OVERRIDE leads to red code
- [`KT-74107`](https://youtrack.jetbrains.com/issue/KT-74107) K2: Calling type alias constructor with inner RHS in static scope causes runtime crash
- [`KT-74244`](https://youtrack.jetbrains.com/issue/KT-74244) Context parameters: context isn't checked for expect/actual property declaration
- [`KT-74276`](https://youtrack.jetbrains.com/issue/KT-74276) Update ASM from 9.0 to 9.6.1
- [`KT-72737`](https://youtrack.jetbrains.com/issue/KT-72737) Avoid function references creation in lowerings after FunctionReferenceLowering
- [`KT-72295`](https://youtrack.jetbrains.com/issue/KT-72295) K2: Generated accessors for delegated property should have property source
- [`KT-73150`](https://youtrack.jetbrains.com/issue/KT-73150) Investigate/test approximation of context parameter type in completion
- [`KT-73862`](https://youtrack.jetbrains.com/issue/KT-73862) \[Native] Decouple NativePreSerializationLoweringContext from backend.native
- [`KT-70507`](https://youtrack.jetbrains.com/issue/KT-70507) Should parentheses prevent from plus/set operator desugaring?
- [`KT-72677`](https://youtrack.jetbrains.com/issue/KT-72677) K2 IDE / Kotlin Debugger: “Couldn't find virtual file for p1/MainKt$foo$iface$1” on evaluating inline function from another module
- [`KT-72672`](https://youtrack.jetbrains.com/issue/KT-72672) K2 IDE / Kotlin Debugger: “Couldn't find virtual file” on evaluating inline function for enum class entries from test module
- [`KT-73912`](https://youtrack.jetbrains.com/issue/KT-73912) Cannot evaluate inline methods from another module in KMP project
- [`KT-73765`](https://youtrack.jetbrains.com/issue/KT-73765) K2: Prohibit nested type aliases with inner RHS when it captures type parameters implicitly
- [`KT-73869`](https://youtrack.jetbrains.com/issue/KT-73869) \[Native] Move KonanSymbols out of `backend.native`
- [`KT-73823`](https://youtrack.jetbrains.com/issue/KT-73823) Kotlin/Native: IndexOutOfBounds for java.util.Map::getOrDefault
- [`KT-73755`](https://youtrack.jetbrains.com/issue/KT-73755) K2: type mismatch error contains unsubstituted type parameter types
- [`KT-72837`](https://youtrack.jetbrains.com/issue/KT-72837) ERROR\_IN\_CONTRACT\_DESCRIPTION message contains compiler internals
- [`KT-73771`](https://youtrack.jetbrains.com/issue/KT-73771) K2: Infinite compilation caused by buildList without type
- [`KT-67520`](https://youtrack.jetbrains.com/issue/KT-67520) Change of behaviour of inline function with safe cast on value type
- [`KT-67518`](https://youtrack.jetbrains.com/issue/KT-67518) Value classes leak their carrier type implementation details via inlining
- [`KT-71767`](https://youtrack.jetbrains.com/issue/KT-71767) Generate default compatibility bridges in -Xjvm-default=all/all-compatibility mode
- [`KT-73716`](https://youtrack.jetbrains.com/issue/KT-73716) Context parameters expose visibility
- [`KT-73671`](https://youtrack.jetbrains.com/issue/KT-73671) Context parameters: val/var on context parameter on a property is possible
- [`KT-73510`](https://youtrack.jetbrains.com/issue/KT-73510) Context parameters: It is possible to declare a context for init block
- [`KT-72305`](https://youtrack.jetbrains.com/issue/KT-72305) K2: Report error when using synthetic properties in case of mapped collections
- [`KT-72429`](https://youtrack.jetbrains.com/issue/KT-72429) StackOverflowError when compiling large files
- [`KT-72500`](https://youtrack.jetbrains.com/issue/KT-72500) K2 Debugger: NSME on evaluating lambda with a call to internal class field
- [`KT-73845`](https://youtrack.jetbrains.com/issue/KT-73845) K2: IllegalArgumentException during FIR2IR transformation when processing nested default values in annotations
- [`KT-73538`](https://youtrack.jetbrains.com/issue/KT-73538) K2 IDE / Kotlin Debugger: ISE “couldn't find inline method" on evaluating internal inline function with default arg from main module in test module
- [`KT-73347`](https://youtrack.jetbrains.com/issue/KT-73347) K2: Expected is FirResolvedDeclarationStatus
- [`KT-71226`](https://youtrack.jetbrains.com/issue/KT-71226) K2 Evaluator: Code fragment compilation with unresolved classes does not fail with exception
- [`KT-73902`](https://youtrack.jetbrains.com/issue/KT-73902) Clean-up code around lateinit inline/value classes
- [`KT-73693`](https://youtrack.jetbrains.com/issue/KT-73693) K2: DslMarker checker doesn't report violation for callable reference with bound receiver
- [`KT-73667`](https://youtrack.jetbrains.com/issue/KT-73667) K2: DslMarker checker ignores function type annotations for invokeExtension
- [`KT-72797`](https://youtrack.jetbrains.com/issue/KT-72797) K2 IDE / Kotlin Debugger: AE “No such value argument slot in IrCallImpl” on evaluating inc()-operator for private field
- [`KT-68388`](https://youtrack.jetbrains.com/issue/KT-68388) Compiler crash on convesion to fun interface with extension receiver
- [`KT-73801`](https://youtrack.jetbrains.com/issue/KT-73801) False positive CONFLICTING\_OVERLOADS between base suspend fun and derived property
- [`KT-62833`](https://youtrack.jetbrains.com/issue/KT-62833) K2: Run smoke FP tests with SLOW\_ASSERTIONS enabled
- [`KT-54068`](https://youtrack.jetbrains.com/issue/KT-54068) Context receivers with lambda nesting result in Type mismatch
- [`KT-51383`](https://youtrack.jetbrains.com/issue/KT-51383) Lambdas with context receivers do not accept context receivers from scope
- [`KT-73331`](https://youtrack.jetbrains.com/issue/KT-73331) Context parameters implicit invoke
- [`KT-73650`](https://youtrack.jetbrains.com/issue/KT-73650) Implement DIFFERENT\_NAMES\_FOR\_THE\_SAME\_PARAMETER\_IN\_SUPERTYPES for K2
- [`KT-73745`](https://youtrack.jetbrains.com/issue/KT-73745) Migrate modularized tests to the latest stable version
- [`KT-70233`](https://youtrack.jetbrains.com/issue/KT-70233) Implement a deprecation error for FIELD-targeted annotations on annotation properties
- [`KT-72996`](https://youtrack.jetbrains.com/issue/KT-72996) false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operator
- [`KT-73791`](https://youtrack.jetbrains.com/issue/KT-73791) Forbid using `inline` and `value` class modifiers together
- [`KT-73704`](https://youtrack.jetbrains.com/issue/KT-73704) \[Native] Decouple KonanIrLinker from cinterop deserialization
- [`KT-73641`](https://youtrack.jetbrains.com/issue/KT-73641) Context parameters DSL marker support
- [`KT-59880`](https://youtrack.jetbrains.com/issue/KT-59880) K2: Disappeared CONFLICTING\_OVERLOADS
- [`KT-73339`](https://youtrack.jetbrains.com/issue/KT-73339) K2: "VerifyError: Bad type on operand stack" because of missing implicit cast on generic field receiver with star projection
- [`KT-72585`](https://youtrack.jetbrains.com/issue/KT-72585) K2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace top-level type with star projection: S
- [`KT-59443`](https://youtrack.jetbrains.com/issue/KT-59443) K2: Implement missing K1 diagnostics
- [`KT-67517`](https://youtrack.jetbrains.com/issue/KT-67517) Value class upcast to Any leaks carrier type interfaces
- [`KT-73527`](https://youtrack.jetbrains.com/issue/KT-73527) Prohibit (via a deprecation warning) accessing nested class through generic outer class
- [`KT-72852`](https://youtrack.jetbrains.com/issue/KT-72852) JAVA\_CLASS\_ON\_COMPANION compiler warning missing in K2
- [`KT-71704`](https://youtrack.jetbrains.com/issue/KT-71704) K2: subAtom already initialized
- [`KT-73399`](https://youtrack.jetbrains.com/issue/KT-73399) compile-time JVM codegen failure on a KProperty argument of a KSuspendFunction parameter
- [`KT-72281`](https://youtrack.jetbrains.com/issue/KT-72281) K/N: "Failed to wait for cache to be built"
- [`KT-73049`](https://youtrack.jetbrains.com/issue/KT-73049) Kotlin Debugger: CNFE on evaluating local function inside lambda
- [`KT-72725`](https://youtrack.jetbrains.com/issue/KT-72725) KMP: Unsupported actualization of inherited java field in expect class
- [`KT-73476`](https://youtrack.jetbrains.com/issue/KT-73476) K2: Visibility of nested type aliases is not respected if RHS is inner
- [`KT-72957`](https://youtrack.jetbrains.com/issue/KT-72957) K2: Don't use offsets for mapping annotations from IR plugins injected into metadata
- [`KT-72814`](https://youtrack.jetbrains.com/issue/KT-72814) FIR: don't use function references in FirThisReference
- [`KT-73143`](https://youtrack.jetbrains.com/issue/KT-73143) Context parameters resolution leftovers
- [`KT-71649`](https://youtrack.jetbrains.com/issue/KT-71649) K2: Put operator on mutableMap\<T?, V>() causes crashes on null key
- [`KT-72832`](https://youtrack.jetbrains.com/issue/KT-72832) Erroneous implicit cast inserted by smartcast
- [`KT-72930`](https://youtrack.jetbrains.com/issue/KT-72930) K2 IDE / Kotlin Debugger: ISE “couldn't find inline method” on evaluating internal inline function from main module in test module
- [`KT-73095`](https://youtrack.jetbrains.com/issue/KT-73095) K2: "Failed to find functional supertype for ConeIntersectionType"
- [`KT-70366`](https://youtrack.jetbrains.com/issue/KT-70366) K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class "
- [`KT-73260`](https://youtrack.jetbrains.com/issue/KT-73260) Rename context receivers to context parameters in frontend
- [`KT-73375`](https://youtrack.jetbrains.com/issue/KT-73375) K2/JVM: -Xuse-type-table generates incorrect metadata for local delegated properties
- [`KT-72470`](https://youtrack.jetbrains.com/issue/KT-72470) Annotations on effect declarations are unresolved
- [`KT-72409`](https://youtrack.jetbrains.com/issue/KT-72409) False negative "Type parameter is forbidden for catch parameter"
- [`KT-72723`](https://youtrack.jetbrains.com/issue/KT-72723) K2: Replace unused FIR properties required by inheritence with computed properties
- [`KT-72246`](https://youtrack.jetbrains.com/issue/KT-72246) Exception from FirReceiverAccessBeforeSuperCallChecker on red code
- [`KT-47289`](https://youtrack.jetbrains.com/issue/KT-47289) No error on companion object inside inner class in enum constructor call
- [`KT-46120`](https://youtrack.jetbrains.com/issue/KT-46120) No error reported when Java interface method is implemented by delegation to Java class where corresponding method has different generic signature
- [`KT-72746`](https://youtrack.jetbrains.com/issue/KT-72746) K2: No IR overriddens generated for Nothing.toString
- [`KT-70389`](https://youtrack.jetbrains.com/issue/KT-70389) K2: StackOverflowError at org.jetbrains.kotlin.fir.resolve.calls.CreateFreshTypeVariableSubstitutorStage.shouldBeFlexible
- [`KT-72537`](https://youtrack.jetbrains.com/issue/KT-72537) \[FIR Analysis] 'IllegalArgumentException: source must not be null' when typing '++++' (four pluses)
- [`KT-73010`](https://youtrack.jetbrains.com/issue/KT-73010) K2: Refactor `DispatchReceiverMemberScopeTowerLevel.processMembers`
- [`KT-72924`](https://youtrack.jetbrains.com/issue/KT-72924) Extension property declaration shouldn't be possible in when
- [`KT-72826`](https://youtrack.jetbrains.com/issue/KT-72826) UNUSED\_LAMBDA\_EXPRESSION compiler warning missing in K2
- [`KT-25513`](https://youtrack.jetbrains.com/issue/KT-25513) Report compilation error when in generated JVM bytecode there is a need for CHECKCAST to inaccessible interface
- [`KT-73153`](https://youtrack.jetbrains.com/issue/KT-73153) K2: Standalone diagnostics on type arguments are not reported
- [`KT-71252`](https://youtrack.jetbrains.com/issue/KT-71252) JVM: Set the proper visibility to backing fields of lateinit properties
- [`KT-73213`](https://youtrack.jetbrains.com/issue/KT-73213) K2: Initialize outer type parameter refs for inner (local) type aliases during FIR building
- [`KT-73215`](https://youtrack.jetbrains.com/issue/KT-73215) Set up isInner property for inner type aliases during FIR building
- [`KT-73088`](https://youtrack.jetbrains.com/issue/KT-73088) K2: Introduce NestedTypeAliases experimental feature
- [`KT-73192`](https://youtrack.jetbrains.com/issue/KT-73192) K2: FirJavaField has incorrect modality
- [`KT-60310`](https://youtrack.jetbrains.com/issue/KT-60310) K2: introduce FirErrorContractDescription to distinguish unresolved contract from error one
- [`KT-73008`](https://youtrack.jetbrains.com/issue/KT-73008) K2: Resolve nested type aliases in derived classes
- [`KT-73009`](https://youtrack.jetbrains.com/issue/KT-73009) K2: Treat nested type aliases as classes during supertypes resolution (they are not inner by default)
- [`KT-59886`](https://youtrack.jetbrains.com/issue/KT-59886) K2: Disappeared ERROR\_IN\_CONTRACT\_DESCRIPTION
- [`KT-72839`](https://youtrack.jetbrains.com/issue/KT-72839) Rewrite processConstraintStorageFromExpression using resolution atoms
- [`KT-73147`](https://youtrack.jetbrains.com/issue/KT-73147) Context parameters FIR2IR support
- [`KT-72789`](https://youtrack.jetbrains.com/issue/KT-72789) Fix inconsistent IR produced by ScriptsToClassesLowering for script instance feature
- [`KT-66711`](https://youtrack.jetbrains.com/issue/KT-66711) K2: INITIALIZER\_TYPE\_MISMATCH is reported on the whole lambda instead of RETURN\_TYPE\_MISMATCH on each return expression
- [`KT-73011`](https://youtrack.jetbrains.com/issue/KT-73011) K2: Allow overloads resolution for callable references based on expected type variable with constraints
- [`KT-73031`](https://youtrack.jetbrains.com/issue/KT-73031) K2: Callable reference unresolved inside elvis with a complex function type
- [`KT-66161`](https://youtrack.jetbrains.com/issue/KT-66161) K2: False-positive REDUNDANT\_VISIBILITY\_MODIFIER for protected modifier in private class
- [`KT-73065`](https://youtrack.jetbrains.com/issue/KT-73065) CCE with context receivers
- [`KT-72345`](https://youtrack.jetbrains.com/issue/KT-72345) K2: Method 'get' without `@Override` annotation not called
- [`KT-69981`](https://youtrack.jetbrains.com/issue/KT-69981) K2: Refactor ResolutionMode.WithExpectedType.expectedType to be a ConeKotlinType
- [`KT-68363`](https://youtrack.jetbrains.com/issue/KT-68363) `ABSTRACT_MEMBER_NOT_IMPLEMENTED` diagnostic reported only for the first not implemented function
- [`KT-72105`](https://youtrack.jetbrains.com/issue/KT-72105) JVM: typeOf() result is sometimes incorrectly optimized to null in bytecode
- [`KT-72813`](https://youtrack.jetbrains.com/issue/KT-72813) FIR: fix containing declaration for annotations of a receiver parameter
- [`KT-72552`](https://youtrack.jetbrains.com/issue/KT-72552) AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped types
- [`KT-71751`](https://youtrack.jetbrains.com/issue/KT-71751) K2: Skipping code in last statement of lambda
- [`KT-72863`](https://youtrack.jetbrains.com/issue/KT-72863) K2: failed compilation for a context receiver with an annotated type
- [`KT-68984`](https://youtrack.jetbrains.com/issue/KT-68984) K2: Typealiased SAM constructors resolve to the expanded interface
- [`KT-57471`](https://youtrack.jetbrains.com/issue/KT-57471) K2: Wrong diagnostics for named lambda arguments
- [`KT-69560`](https://youtrack.jetbrains.com/issue/KT-69560) Tidy up test data that affected by `PrioritizedEnumEntries` or `ProperUninitializedEnumEntryAccessAnalysis` features
- [`KT-72894`](https://youtrack.jetbrains.com/issue/KT-72894) "Placeholder projection cannot be mapped." error from resolve when using placeholder in a typealias
- [`KT-70886`](https://youtrack.jetbrains.com/issue/KT-70886) FIR/AA: Reduce strong memory footprint of cached symbol names providers
- [`KT-72238`](https://youtrack.jetbrains.com/issue/KT-72238) Argument type mismatch in builder inside extension function after ?:
- [`KT-72738`](https://youtrack.jetbrains.com/issue/KT-72738) Simplify naming scheme for function references
- [`KT-72340`](https://youtrack.jetbrains.com/issue/KT-72340) K1/K2 difference in de-duplication of OPT\_IN\_USAGE and OPT\_IN\_TO\_INHERITANCE
- [`KT-61272`](https://youtrack.jetbrains.com/issue/KT-61272) Frontend: error message "feature ... is experimental and should be enabled explicitly" does not explain how to do it
- [`KT-72664`](https://youtrack.jetbrains.com/issue/KT-72664) K2: Function type kind is not propagated for parameters of incomplete calls
- [`KT-64247`](https://youtrack.jetbrains.com/issue/KT-64247) K2: FirContextReceiver does not extend FirDeclaration
- [`KT-67383`](https://youtrack.jetbrains.com/issue/KT-67383) Incorrect optimisation when optimising for loop with UByte
- [`KT-70975`](https://youtrack.jetbrains.com/issue/KT-70975) K2: Confusing INVISIBLE\_REFERENCE message when accessing nested class in private-in-file class
- [`KT-72743`](https://youtrack.jetbrains.com/issue/KT-72743) CCE in `FirUninitializedEnumChecker`: `FirPropertySymbol` cannot be cast to `FirEnumEntrySymbol`
- [`KT-71708`](https://youtrack.jetbrains.com/issue/KT-71708) False negative UNSUPPORTED for collection literals as trailing return value
- [`KT-67707`](https://youtrack.jetbrains.com/issue/KT-67707) K2: CCE "ArrayMapImpl cannot be cast to class OneElementArrayMap" from FIR evaluator
- [`KT-71966`](https://youtrack.jetbrains.com/issue/KT-71966) Seemingly bug in SupertypeComputationSession#breakLoopFor
- [`KT-17455`](https://youtrack.jetbrains.com/issue/KT-17455) Confusing error message "There's a cycle in the inheritance hierarchy for this type" when outer class inherits nested class
- [`KT-71119`](https://youtrack.jetbrains.com/issue/KT-71119) K2: "AssertionError: Should be primitive or nullable primitive type" caused by comparing Double/Float and Any successor type
- [`KT-57527`](https://youtrack.jetbrains.com/issue/KT-57527) K1/K2: "IllegalArgumentException: Some properties have the same names" with inline class
- [`KT-57851`](https://youtrack.jetbrains.com/issue/KT-57851) Wrong ValueClassRepresentation inside value class
- [`KT-67998`](https://youtrack.jetbrains.com/issue/KT-67998) K2: CANNOT\_INFER\_PARAMETER\_TYPE on incomplete call inside if in a Java SAM
- [`KT-71961`](https://youtrack.jetbrains.com/issue/KT-71961) K2 debugger evaluation ClassCastException in IrElementsCreationUtilsKt#createFilesWithBuiltinsSyntheticDeclarationsIfNeeded
- [`KT-72504`](https://youtrack.jetbrains.com/issue/KT-72504) Optimize `KotlinLocalVirtualFile.isDirectory` for parent virtual files
- [`KT-71399`](https://youtrack.jetbrains.com/issue/KT-71399) Kotlin Script: NPE on type resolve
- [`KT-69283`](https://youtrack.jetbrains.com/issue/KT-69283) Incorrect synthetic line numbers when inlining suspend funs
- [`KT-52929`](https://youtrack.jetbrains.com/issue/KT-52929) Java cannot extend instantiations of generic Kotlin collections in the presence of instantiated Kotlin subclasses
- [`KT-71885`](https://youtrack.jetbrains.com/issue/KT-71885) K2: confusing message when lateinit var is assigned once
- [`KT-69920`](https://youtrack.jetbrains.com/issue/KT-69920) K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilation
- [`KT-55894`](https://youtrack.jetbrains.com/issue/KT-55894) NI: Compile errors for out-projected types are more cryptic than previously
- [`KT-72231`](https://youtrack.jetbrains.com/issue/KT-72231) K2: NONE\_APPLICABLE instead of NAMED\_ARGUMENTS\_NOT\_ALLOWED for non-Kotlin functions with overloads
- [`KT-72422`](https://youtrack.jetbrains.com/issue/KT-72422) KMP: False-positive report of ACTUAL\_ANNOTATIONS\_NOT\_MATCH\_EXPECT on SublcassOptInRequired
- [`KT-72257`](https://youtrack.jetbrains.com/issue/KT-72257) 'javaClass' method cannot be evaluated in Kotlin project itself
- [`KT-72408`](https://youtrack.jetbrains.com/issue/KT-72408) Introduce new TYPE\_VARIANCE\_CONFLICT diagnostics
- [`KT-71508`](https://youtrack.jetbrains.com/issue/KT-71508) JAVA\_CLASS\_INHERITS\_KT\_PRIVATE\_CLASS isn't reported when java class is inherited from an effectively private class
- [`KT-72177`](https://youtrack.jetbrains.com/issue/KT-72177) K2: Argument type mismatch when using star projection
- [`KT-72245`](https://youtrack.jetbrains.com/issue/KT-72245) K2: When Java source roots are passed by file, fully qualified deep packages are unresolved
- [`KT-63923`](https://youtrack.jetbrains.com/issue/KT-63923) Confusing error messages for TYPE\_MISMATCH from inference
- [`KT-57708`](https://youtrack.jetbrains.com/issue/KT-57708) Unclear TYPE\_MISMATCH messages in certain situations with generics
- [`KT-72178`](https://youtrack.jetbrains.com/issue/KT-72178) K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "\_" as key type in EnumMap
- [`KT-62455`](https://youtrack.jetbrains.com/issue/KT-62455) "NullPointerException" with 'multi-field value class'
- [`KT-72302`](https://youtrack.jetbrains.com/issue/KT-72302) K2: no error on type operator in annotation parameter default value
- [`KT-72212`](https://youtrack.jetbrains.com/issue/KT-72212) \[Scripting] Guava dependency is not packaged correctly
- [`KT-71662`](https://youtrack.jetbrains.com/issue/KT-71662) PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variable
- [`KT-72229`](https://youtrack.jetbrains.com/issue/KT-72229) K2: Change LV of ProhibitConstructorAndSupertypeOnTypealiasWithTypeProjection to 2.2
- [`KT-70256`](https://youtrack.jetbrains.com/issue/KT-70256) K2: Check for `MISSING_BUILT_IN_DECLARATION` not only for JVM but for all platforms
- [`KT-72173`](https://youtrack.jetbrains.com/issue/KT-72173) K2: simple object names from root package are resolved without imports in non-root packages when used as values
- [`KT-71480`](https://youtrack.jetbrains.com/issue/KT-71480) JAVA\_CLASS\_INHERITS\_KT\_PRIVATE\_CLASS isn't reported while java object isn't created
- [`KT-60034`](https://youtrack.jetbrains.com/issue/KT-60034) K2: Introduced NO\_GET\_METHOD
- [`KT-72199`](https://youtrack.jetbrains.com/issue/KT-72199) K1: Match the shape of references to synthetic Java properties to the shape of their getters
- [`KT-15672`](https://youtrack.jetbrains.com/issue/KT-15672) Improve diagnostics for accessing Enum companion object from enum constructor
- [`KT-71321`](https://youtrack.jetbrains.com/issue/KT-71321) K2: ClassCastException caused by missed type mismatch when passing a method reference
- [`KT-72041`](https://youtrack.jetbrains.com/issue/KT-72041) Extra checkers: false-positive unused parameter warnings on implicit lambda parameters
- [`KT-71959`](https://youtrack.jetbrains.com/issue/KT-71959) NO\_VALUE\_FOR\_PARAMETER should use actual lambda parameter name
- [`KT-69985`](https://youtrack.jetbrains.com/issue/KT-69985) K2: simple classifier names from root package are resolved without imports in non-root packages
- [`KT-70139`](https://youtrack.jetbrains.com/issue/KT-70139) Remove dependencies of debugger on K1 and old JVM backend
- [`KT-72142`](https://youtrack.jetbrains.com/issue/KT-72142) PSI: unrelated enums are treated as equivalent
- [`KT-57358`](https://youtrack.jetbrains.com/issue/KT-57358) False positive "Const 'val' initializer should be a constant value" caused by equality with literals
- [`KT-71753`](https://youtrack.jetbrains.com/issue/KT-71753) PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignment
- [`KT-70844`](https://youtrack.jetbrains.com/issue/KT-70844) K2 IDE: deprecated marker shouldn't highlight not deprecated type argument
- [`KT-70854`](https://youtrack.jetbrains.com/issue/KT-70854) K2 IDE: annotation on delegation causes illegal argument exception
- [`KT-56901`](https://youtrack.jetbrains.com/issue/KT-56901) NI: Missing error on passing star-projection to reified type argument
- [`KT-70856`](https://youtrack.jetbrains.com/issue/KT-70856) K2: IllegalStateException: Non-empty unresolved argument list
- [`KT-71897`](https://youtrack.jetbrains.com/issue/KT-71897) K2: Don't erase in projections in SAM conversion if -Xsam-conversion=class like in K1
- [`KT-66464`](https://youtrack.jetbrains.com/issue/KT-66464) Introduce `isInlineable` parameter for `FunctionTypeKind`
- [`KT-71590`](https://youtrack.jetbrains.com/issue/KT-71590) K2: false alarm from `UselessCallOnNotNullChecker`
- [`KT-71919`](https://youtrack.jetbrains.com/issue/KT-71919) Wrapped ProcessCanceledException in GenerationState#loadClassBuilderInterceptors
- [`KT-70922`](https://youtrack.jetbrains.com/issue/KT-70922) PSI for KtPropertyAccessor is inconsistent with KtNamedFunction
- [`KT-28598`](https://youtrack.jetbrains.com/issue/KT-28598) Type is inferred incorrectly to Any on a deep generic type with out projection
- [`KT-71490`](https://youtrack.jetbrains.com/issue/KT-71490) K2: missing REDUNDANT\_ELSE\_IN\_WHEN
- [`KT-36107`](https://youtrack.jetbrains.com/issue/KT-36107) Remove deprecated mod operator convention
- [`KT-71166`](https://youtrack.jetbrains.com/issue/KT-71166) Generic synthetic property is unresolved when parameterized with Unit
- [`KT-71738`](https://youtrack.jetbrains.com/issue/KT-71738) K2: False negative REDECLARATION inside object expression
- [`KT-59908`](https://youtrack.jetbrains.com/issue/KT-59908) K2: Disappeared RECURSIVE\_TYPEALIAS\_EXPANSION
- [`KT-69937`](https://youtrack.jetbrains.com/issue/KT-69937) Define & enforce user-friendly terminology for extended checkers
- [`KT-68834`](https://youtrack.jetbrains.com/issue/KT-68834) Parentheses don't influence calls of any convention operators (except invoke operator) after safe navigation operator
- [`KT-58437`](https://youtrack.jetbrains.com/issue/KT-58437) K2: Do not use descriptors in KonanSymbols
- [`KT-18563`](https://youtrack.jetbrains.com/issue/KT-18563) Do not generate inline reified functions as private in bytecode
##### Compose compiler
- [`b/397855145`](https://issuetracker.google.com/issues/397855145) Fix "Unknown file" error in target annotation inference
- [`b/377499888`](https://issuetracker.google.com/issues/377499888) Allow restarting overridden functions in a final class
- [`b/390151896`](https://issuetracker.google.com/issues/390151896) Fix default arguments with varargs in `@Composable` functions
- [`b/388030459`](https://issuetracker.google.com/issues/388030459) Kotlin compiler backend exception when lambda with anonymous object is memoized
- [`b/310004740`](https://issuetracker.google.com/issues/310004740) Check vararg parameter length in skipping logic
- [`b/393400768`](https://issuetracker.google.com/issues/393400768) Use -1 for `.changed` call if nullable enum parameter is `null`
- [`b/388505454`](https://issuetracker.google.com/issues/388505454) Change order of $changed bits with context parameters
- [`b/165812010`](https://issuetracker.google.com/issues/165812010) Support default values in open `@Composable` functions (K2 only)
- [`b/285336821`](https://issuetracker.google.com/issues/285336821) Use stability of parent class in stability inference
- [`b/353744956`](https://issuetracker.google.com/issues/353744956) Fix context receiver/parameter handling in Compose
- [`b/195200551`](https://issuetracker.google.com/issues/195200551) Call `Enum#ordinal` on enum values passed to Composer#changed
- [`b/378697545`](https://issuetracker.google.com/issues/378697545) Avoid using ComposableSingletons inside public inline functions
- [`b/376148043`](https://issuetracker.google.com/issues/376148043) Use remember function source key for intrinsic remember
- [`b/345204571`](https://issuetracker.google.com/issues/345204571) Remove IR offsets for conditions generated by Compose compiler
- [`b/376058538`](https://issuetracker.google.com/issues/376058538) Fix stack overflow when inferring stability of indirect generic loop
- [`b/339322843`](https://issuetracker.google.com/issues/339322843) Transform `@Composable` property delegate references
- [`CMP-7571`](https://youtrack.jetbrains.com/issue/CMP-7571) 1.8.0-alpha03 incompatible with Compose based on k1
##### IDE
- [`KT-59445`](https://youtrack.jetbrains.com/issue/KT-59445) Recursion detected on input: JavaAnnotationImpl
##### IR. Actualizer
- [`KT-68830`](https://youtrack.jetbrains.com/issue/KT-68830) Compiler crash on missing actual class
- [`KT-71809`](https://youtrack.jetbrains.com/issue/KT-71809) Kotlin-to-Java direct actualization: the property isn't actualized by overridden getter
- [`KT-71817`](https://youtrack.jetbrains.com/issue/KT-71817) Actualization of static members is broken for non-JVM platforms
##### IR. Inlining
##### Fixes
- [`KT-69681`](https://youtrack.jetbrains.com/issue/KT-69681) IR: Report warnings on exposure of private types in non-private inline functions
- [`KT-72776`](https://youtrack.jetbrains.com/issue/KT-72776) \[JS] Add lowerings around inlining of private functions to the common prefix at the 1st phase of compilation
- [`KT-72775`](https://youtrack.jetbrains.com/issue/KT-72775) \[JS] Add lowerings up to "cache private inline functions" to the common prefix at the 1st phase of compilation
- [`KT-72440`](https://youtrack.jetbrains.com/issue/KT-72440) \[Native] Add lowerings around inlining of private functions to the common prefix at the 1st phase of compilation
- [`KT-72439`](https://youtrack.jetbrains.com/issue/KT-72439) \[Native] Add lowerings up to "cache private inline functions" to the common prefix at the 1st phase of compilation
- [`KT-74039`](https://youtrack.jetbrains.com/issue/KT-74039) IR proto: Rename properties of IrInlinedFunctionBlock
- [`KT-73987`](https://youtrack.jetbrains.com/issue/KT-73987) Cherry-pick the fix for KT-73482 to 2.1.20-Beta1
- [`KT-73475`](https://youtrack.jetbrains.com/issue/KT-73475) Fix validation errors for `sharedBox...` methods
- [`KT-73588`](https://youtrack.jetbrains.com/issue/KT-73588) Support serialization/deserialization of IrReturnableBlock and IrInlinedFunctionBlock
- [`KT-69009`](https://youtrack.jetbrains.com/issue/KT-69009) Merge -Xverify-ir-visibility-after-inlining and -Xverify-ir-visibility CLI flags
- [`KT-72915`](https://youtrack.jetbrains.com/issue/KT-72915) Use `LoweringContext` instead of `CommonBackendContext` for the first stage of compilation
- [`KT-73101`](https://youtrack.jetbrains.com/issue/KT-73101) Try to unbound `JsIntrinsic` from `JsIrBackendContext`
- [`KT-73110`](https://youtrack.jetbrains.com/issue/KT-73110) Unbind JS version of `Symbols` from `SymbolTable`
- [`KT-73108`](https://youtrack.jetbrains.com/issue/KT-73108) Unbind JS version of `Symbols` from context
- [`KT-71864`](https://youtrack.jetbrains.com/issue/KT-71864) \[JS] Run IrValidator as the first lowering in 1st compilation phase
- [`KT-73103`](https://youtrack.jetbrains.com/issue/KT-73103) Switch `InlineCallableReferenceToLambdaPhase` to use `LoweringContext`
- [`KT-73098`](https://youtrack.jetbrains.com/issue/KT-73098) Use `LoweringContext` for `NativeInlineFunctionResolver`
- [`KT-73096`](https://youtrack.jetbrains.com/issue/KT-73096) Change `LateinitLowering` to use `LoweringContext` instead of `CommonBackendContext`
- [`KT-71141`](https://youtrack.jetbrains.com/issue/KT-71141) Merge lateinit-related lowerings
- [`KT-73099`](https://youtrack.jetbrains.com/issue/KT-73099) Use `BackendContext` for the `JsCodeOutliningLowering`
- [`KT-73097`](https://youtrack.jetbrains.com/issue/KT-73097) Try to use `BackendContext` for `LocalDeclarationsLowering`
- [`KT-73035`](https://youtrack.jetbrains.com/issue/KT-73035) Remove field of type SymbolTable from Symbols
- [`KT-72919`](https://youtrack.jetbrains.com/issue/KT-72919) Move `JsCommonBackendContext.coroutineSymbols` into `Symbols`
- [`KT-72916`](https://youtrack.jetbrains.com/issue/KT-72916) Drop `symbolTable` reference from `BuiltinSymbolsBase`
- [`KT-72912`](https://youtrack.jetbrains.com/issue/KT-72912) Rewrite `andAllOuterClasses` located in `FunctionInlining`
- [`KT-72910`](https://youtrack.jetbrains.com/issue/KT-72910) Move `isSideEffectFree` to the `Symbols`
- [`KT-72907`](https://youtrack.jetbrains.com/issue/KT-72907) Extract `SharedVariablesManager` from `BackendContext`
- [`KT-72905`](https://youtrack.jetbrains.com/issue/KT-72905) Unbind `KonanSharedVariablesManager` from `KonanBackendContext`
- [`KT-70961`](https://youtrack.jetbrains.com/issue/KT-70961) \[K/N] Test IR inliner on 1st stage with box tests
- [`KT-72884`](https://youtrack.jetbrains.com/issue/KT-72884) Internal error in body lowering: IllegalStateException: Can't inline given reference, it should've been lowered
- [`KT-72920`](https://youtrack.jetbrains.com/issue/KT-72920) Drop `context` parameter from `JsCommonCoroutineSymbols`
- [`KT-72906`](https://youtrack.jetbrains.com/issue/KT-72906) Unbind `JsSharedVariablesManager` from `JsIrBackendContext`
- [`KT-67298`](https://youtrack.jetbrains.com/issue/KT-67298) Write tests for deserialization/serialization of unbound IR
- [`KT-72521`](https://youtrack.jetbrains.com/issue/KT-72521) Kotlin/Native: java.lang.AssertionError: kfun:androidx.compose.runtime#access$\<get-androidx\_compose\_runtime\_ProvidedValue$stable>$p$tComposerKt(){}kotlin.Int
- [`KT-67220`](https://youtrack.jetbrains.com/issue/KT-67220) Drop caching of deserialized/lowered inline functions
- [`KT-72623`](https://youtrack.jetbrains.com/issue/KT-72623) Don't generate synthetic accessors in files other than the one being lowered
- [`KT-71859`](https://youtrack.jetbrains.com/issue/KT-71859) \[K/N] Run IrValidator as the first lowering in 1st compilation phase
- [`KT-67292`](https://youtrack.jetbrains.com/issue/KT-67292) Handling assertions before the IR inliner
- [`KT-70423`](https://youtrack.jetbrains.com/issue/KT-70423) KLIB: SyntheticAccessorLowering - generate static factory functions instead of synthetic constructors
- [`KT-69765`](https://youtrack.jetbrains.com/issue/KT-69765) Add language feature to enable IR inliner in K2 1st phase
##### IR. Interpreter
- [`KT-72356`](https://youtrack.jetbrains.com/issue/KT-72356) K2 Native: IllegalStateException when annotation has the same source range as a constant in another file
- [`KT-71903`](https://youtrack.jetbrains.com/issue/KT-71903) \[K/N] Find a way to set up a synchronization point for the IR interpreter
- [`KT-66450`](https://youtrack.jetbrains.com/issue/KT-66450) IR interpreter can't handle entries of lowered enums
- [`KT-71971`](https://youtrack.jetbrains.com/issue/KT-71971) K2 evaluator error on casting object of value type
##### IR. Tree
##### Performance Improvements
- [`KT-74496`](https://youtrack.jetbrains.com/issue/KT-74496) 8% performance regression in lowerings
- [`KT-72211`](https://youtrack.jetbrains.com/issue/KT-72211) Refactor IrValidator to speed up
##### Fixes
- [`KT-73553`](https://youtrack.jetbrains.com/issue/KT-73553) \[Native] Create testrunners for serialization tests
- [`KT-73224`](https://youtrack.jetbrains.com/issue/KT-73224) Migrate `compiler.ir.interpreter` to new IR parameter API
- [`KT-73179`](https://youtrack.jetbrains.com/issue/KT-73179) Drop IrAttributeContainer
- [`KT-67545`](https://youtrack.jetbrains.com/issue/KT-67545) Autogenerate DeepCopyIrTreeWithSymbols
- [`KT-73222`](https://youtrack.jetbrains.com/issue/KT-73222) Migrate `compiler.ir.inline` to new IR parameter API
- [`KT-72735`](https://youtrack.jetbrains.com/issue/KT-72735) Add new IR nodes for callable references
- [`KT-73248`](https://youtrack.jetbrains.com/issue/KT-73248) Merge `FileValidator` and `CheckIrElementVisitor` into `IrValidator`
- [`KT-73221`](https://youtrack.jetbrains.com/issue/KT-73221) Migrate `compiler.ir.actualization` to new IR parameter API
- [`KT-73219`](https://youtrack.jetbrains.com/issue/KT-73219) Migrate `compiler.tests-compiler-utils` to new IR parameter API
- [`KT-73194`](https://youtrack.jetbrains.com/issue/KT-73194) \[IR] Consider moving platform-independent funs from SymbolLookupUtils to SymbolFinder
- [`KT-73218`](https://youtrack.jetbrains.com/issue/KT-73218) Migrate `compiler.tests-common-new` to new IR parameter API
- [`KT-73227`](https://youtrack.jetbrains.com/issue/KT-73227) Migrate `js:js.tests` to new IR parameter API
- [`KT-73258`](https://youtrack.jetbrains.com/issue/KT-73258) \[IR] Separate new lookup functionality from IrBuiltins
- [`KT-73063`](https://youtrack.jetbrains.com/issue/KT-73063) \[JS]\[Wasm] Simplify ExpectDeclarationsRemoveLowering
- [`KT-73350`](https://youtrack.jetbrains.com/issue/KT-73350) Migrate `:native.tests:klib-ir-inliner` to new IR parameter API
- [`KT-68992`](https://youtrack.jetbrains.com/issue/KT-68992) Fix IR serializer to handle IR with unbound symbols
- [`KT-64866`](https://youtrack.jetbrains.com/issue/KT-64866) Support deserializing and serializing unbound IR
- [`KT-72619`](https://youtrack.jetbrains.com/issue/KT-72619) \[IR] Steer checks for vararg types with new test directive
- [`KT-69498`](https://youtrack.jetbrains.com/issue/KT-69498) \[IR] Merge two `IrTypeUtils.kt` sources
- [`KT-72376`](https://youtrack.jetbrains.com/issue/KT-72376) Disable vararg types checking in org.jetbrains.kotlin.fir.pipeline.ConvertToIrKt#runMandatoryIrValidation
- [`KT-69454`](https://youtrack.jetbrains.com/issue/KT-69454) \[IR] Check vararg types in IrValidator
- [`KT-68314`](https://youtrack.jetbrains.com/issue/KT-68314) Remove IrBuiltins from IrModule
- [`KT-71944`](https://youtrack.jetbrains.com/issue/KT-71944) Move IR lowering phase descriptions to kdoc
- [`KT-71826`](https://youtrack.jetbrains.com/issue/KT-71826) stdlib fails to compile with `-Xserialize-ir=all`
##### JavaScript
##### Performance Improvements
- [`KT-16379`](https://youtrack.jetbrains.com/issue/KT-16379) KotlinJs - ArrayList get is now slow
- [`KT-71199`](https://youtrack.jetbrains.com/issue/KT-71199) K/JS: charSequenceGet intrinsic should bypass Char range checks
- [`KT-73759`](https://youtrack.jetbrains.com/issue/KT-73759) KJS: do not fillArrayVal if using an Array init function
- [`KT-72180`](https://youtrack.jetbrains.com/issue/KT-72180) Fix problems with memory spikes during JS Codegen/Box tests
##### Fixes
- [`KT-70987`](https://youtrack.jetbrains.com/issue/KT-70987) KJS: `@JsExport`: NullPointerException with private data class
- [`KT-75606`](https://youtrack.jetbrains.com/issue/KT-75606) KJS: java.lang.AssertionError: Different declarations with the same signatures were detected
- [`KT-58797`](https://youtrack.jetbrains.com/issue/KT-58797) Optimize the code generated for objects on JS and Wasm backends
- [`KT-48468`](https://youtrack.jetbrains.com/issue/KT-48468) KJS / IR: "StackOverflowError" when long and complex `js` used
- [`KT-72437`](https://youtrack.jetbrains.com/issue/KT-72437) KJS. Invalid `copy` method for inherited JSO with type parameters
- [`KT-72974`](https://youtrack.jetbrains.com/issue/KT-72974) KJS / ESModules: EagerInitialization annotation has no effect on unused properties
- [`KT-71788`](https://youtrack.jetbrains.com/issue/KT-71788) KJS: NPE when use `@JsExport` with `@JsPlainObject`
- [`KT-43567`](https://youtrack.jetbrains.com/issue/KT-43567) KJS: toString() method and string interpolation of variable produce different code
- [`KT-70778`](https://youtrack.jetbrains.com/issue/KT-70778) Kotlin Js companion is undefined in production build
- [`KT-73130`](https://youtrack.jetbrains.com/issue/KT-73130) KJS: Missed `break` for do/while in generated JS code
- [`KT-68067`](https://youtrack.jetbrains.com/issue/KT-68067) KJS: Overriding methods with default parameters doesn't work
- [`KT-71656`](https://youtrack.jetbrains.com/issue/KT-71656) K2 JS: "IllegalStateException: Class has no primary constructor: kotlin.ULong"
- [`KT-72598`](https://youtrack.jetbrains.com/issue/KT-72598) KJS: Nested `@JsPlainObject` does not work
- [`KT-70078`](https://youtrack.jetbrains.com/issue/KT-70078) `@JsPlainObject` compiles broken code when inlining suspend function
- [`KT-68904`](https://youtrack.jetbrains.com/issue/KT-68904) `@JsPlainObject` breaks when inside a file with `@file`:JsQualifier
- [`KT-74067`](https://youtrack.jetbrains.com/issue/KT-74067) KJS: ES class constructor is generated with 'return this'
- [`KT-72883`](https://youtrack.jetbrains.com/issue/KT-72883) \[JS] AbstractSuspendFunctionsLowering crashes on private top level suspend fun
- [`KT-70533`](https://youtrack.jetbrains.com/issue/KT-70533) KJS: changed string concatenation behavior in 2.0
- [`KT-71949`](https://youtrack.jetbrains.com/issue/KT-71949) K/JS: investigate test failures in MPP codegen tests with friend dependencies
- [`KT-71857`](https://youtrack.jetbrains.com/issue/KT-71857) \[JS] Add new step to codegen tests for IR inliner invocation
- [`KT-14013`](https://youtrack.jetbrains.com/issue/KT-14013) JS toString produces different result for nullable/non-nullable ref to the same array
- [`KT-70803`](https://youtrack.jetbrains.com/issue/KT-70803) Investigate generating call with invalid argument count in Js Backend
- [`KT-72200`](https://youtrack.jetbrains.com/issue/KT-72200) Remove legacy JS test executors
- [`KT-68332`](https://youtrack.jetbrains.com/issue/KT-68332) Remove legacy Nashorn script engine
- [`KT-39337`](https://youtrack.jetbrains.com/issue/KT-39337) KJS: remove LabeledBlockToDoWhileTransformation and related things
- [`KT-72732`](https://youtrack.jetbrains.com/issue/KT-72732) KJS / ES6: "SyntaxError: 'super' keyword unexpected here" with enabled `-Xir-generate-inline-anonymous-functions` and disabled arrow functions
- [`KT-71821`](https://youtrack.jetbrains.com/issue/KT-71821) K/JS tests are failing with coroutines flow and turbine on timeout
- [`KT-70227`](https://youtrack.jetbrains.com/issue/KT-70227) Remove JS from the `org.jetbrains.kotlin.test.TargetBackend` enum
- [`KT-71855`](https://youtrack.jetbrains.com/issue/KT-71855) ES6ConstructorLowering sets extensionReceiver to a function without extension receiver
- [`KT-70226`](https://youtrack.jetbrains.com/issue/KT-70226) Delete JS tests that were only run with the legacy JS backend
##### KMM Plugin
- [`KT-66458`](https://youtrack.jetbrains.com/issue/KT-66458) KMM Wizards: Get rid of deprecated 'kotlinOptions'
##### Klibs
##### Fixes
- [`KT-70146`](https://youtrack.jetbrains.com/issue/KT-70146) \[KLIB Resolve] Don't fail on nonexistent transitive dependency
- [`KT-75393`](https://youtrack.jetbrains.com/issue/KT-75393) Non-JVM artifacts from Kotlin 2.1.20-RC fail on 2.1.x releases due to IMPLICIT\_ARGUMENT
- [`KT-74045`](https://youtrack.jetbrains.com/issue/KT-74045) Context parameters: conflicting signatures for properties with/without context on the non-JVM backends
- [`KT-74050`](https://youtrack.jetbrains.com/issue/KT-74050) Kotlin 2.1.0 with K1 throws a signature mismatch of Ir and Descriptor for Composable lambda
- [`KT-73589`](https://youtrack.jetbrains.com/issue/KT-73589) Design & implement signatures for context parameters
- [`KT-73721`](https://youtrack.jetbrains.com/issue/KT-73721) NativeLibraryAbiReaderWithManifestTest - move to Common BE tests
- [`KT-73855`](https://youtrack.jetbrains.com/issue/KT-73855) \[Klibs] Changing function body causes change to header klib
- [`KT-73474`](https://youtrack.jetbrains.com/issue/KT-73474) Create `NonLinkingIrInlineFunctionDeserializer` directly inside inline function resolver
- [`KT-72627`](https://youtrack.jetbrains.com/issue/KT-72627) IrInstanceInitializer is always deserialized having kotlin/Unit type
- [`KT-71500`](https://youtrack.jetbrains.com/issue/KT-71500) Improve "incompatible ABI version" error message
- [`KT-72965`](https://youtrack.jetbrains.com/issue/KT-72965) Ignore subclassOptInRequired constructor warning
- [`KT-69309`](https://youtrack.jetbrains.com/issue/KT-69309) Separate pure KLIB tests from Kotlin/Native tests
- [`KT-71917`](https://youtrack.jetbrains.com/issue/KT-71917) \[JS] Make it possible to run IR lowerings before serializing to KLIBs
- [`KT-67474`](https://youtrack.jetbrains.com/issue/KT-67474) K2: Missing `@ExtensionFunctionType` in metadata in KLIBs
- [`KT-68756`](https://youtrack.jetbrains.com/issue/KT-68756) \[K/N] Make it possible to run IR lowerings before serializing to KLIBs
- [`KT-72333`](https://youtrack.jetbrains.com/issue/KT-72333) Ensure KLIBs with old local signatures (< 2.1.20) are mutually compatible with KLIBs with new local signatures (>= 2.1.20)
- [`KT-71633`](https://youtrack.jetbrains.com/issue/KT-71633) \[2.1.0] Suspicious "Argument type mismatch" error
- [`KT-71333`](https://youtrack.jetbrains.com/issue/KT-71333) KLIB cross-compilation: Add additional tests
##### Libraries
##### New Features
- [`KT-72480`](https://youtrack.jetbrains.com/issue/KT-72480) Move Instant and Clock from kotlinx-datetime to stdlib
- [`KT-31880`](https://youtrack.jetbrains.com/issue/KT-31880) UUID functionality to fix Java bugs as well as extend it
- [`KT-54606`](https://youtrack.jetbrains.com/issue/KT-54606) Print program name in Kotlin/Native executables
##### Performance Improvements
- [`KT-72492`](https://youtrack.jetbrains.com/issue/KT-72492) Improve String.toFloatOrNull performance
- [`KT-70695`](https://youtrack.jetbrains.com/issue/KT-70695) Float/Double.isFinite can be optimized
##### Fixes
- [`KT-73654`](https://youtrack.jetbrains.com/issue/KT-73654) Remove org.w3c packages from stdlib documentation
- [`KT-62423`](https://youtrack.jetbrains.com/issue/KT-62423) Consider providing Common atomic types
- [`KT-28492`](https://youtrack.jetbrains.com/issue/KT-28492) Merge sources when building kotlin-osgi-bundle
- [`KT-74173`](https://youtrack.jetbrains.com/issue/KT-74173) The sample code of `lazy` on stdlib can not run on playground due to "samples" package import
- [`KT-73695`](https://youtrack.jetbrains.com/issue/KT-73695) PublishedApi KDoc's link to inline functions page is not rendered properly
- [`KT-73817`](https://youtrack.jetbrains.com/issue/KT-73817) Part 1. Moving Atomics to kotlin.concurrent.atomics: bootstrap updates
- [`KT-73743`](https://youtrack.jetbrains.com/issue/KT-73743) UninitializedPropertyAccessException on AtomicReference initialization
- [`KT-73820`](https://youtrack.jetbrains.com/issue/KT-73820) Part 2. Moving Atomics to kotlin.concurrent.atomics: move the API to the new package
- [`KT-73816`](https://youtrack.jetbrains.com/issue/KT-73816) Moving common Atomics to kotlin.concurrent.atomics package
- [`KT-73747`](https://youtrack.jetbrains.com/issue/KT-73747) AtomicBoolean.asJavaAtomic() and AtomicBoolean.asKotlinAtomic() have unnecessary type parameter
- [`KT-74641`](https://youtrack.jetbrains.com/issue/KT-74641) k.t.Clock: bypass thread state validation for std::chrono::system\_clock::now()
- [`KT-74676`](https://youtrack.jetbrains.com/issue/KT-74676) Wasm: common atomic API actualizations are annotated with wrong experimental annotation
- [`KT-74600`](https://youtrack.jetbrains.com/issue/KT-74600) Common atomic types could be used without explicit opt-in
- [`KT-73291`](https://youtrack.jetbrains.com/issue/KT-73291) Uuid.random() requires security context in WasmJs
- [`KT-69575`](https://youtrack.jetbrains.com/issue/KT-69575) kotlin.uuid.Uuid is not Comparable
- [`KT-54859`](https://youtrack.jetbrains.com/issue/KT-54859) `kotlin.repeat` should document behavior in the case of negative arguments
- [`KT-74294`](https://youtrack.jetbrains.com/issue/KT-74294) Make the Uuid.parse function able to parse multiple formats
- [`KT-74279`](https://youtrack.jetbrains.com/issue/KT-74279) Introduce Uuid.parseHexDash() and toHexDashString()
- [`KT-74272`](https://youtrack.jetbrains.com/issue/KT-74272) Introduce Uuid.fromUByteArray and toUByteArray
- [`KT-74314`](https://youtrack.jetbrains.com/issue/KT-74314) Reduce bitwise operations on Longs in Uuid implementation
- [`KT-73391`](https://youtrack.jetbrains.com/issue/KT-73391) Provide samples for common atomics API
- [`KT-73890`](https://youtrack.jetbrains.com/issue/KT-73890) Add kotlin-metadata-jvm to .zip compiler distribution
- [`KT-71099`](https://youtrack.jetbrains.com/issue/KT-71099) Mention that selector for maxBy/minBy family is not invoked for 1-element collections
- [`KT-71762`](https://youtrack.jetbrains.com/issue/KT-71762) ReplaceWith properties kdoc is rendered with extra spaces
- [`KT-73740`](https://youtrack.jetbrains.com/issue/KT-73740) Unresolved reference 'AtomicBoolean' in 2.1.20-Beta1
- [`KT-73762`](https://youtrack.jetbrains.com/issue/KT-73762) Warn about `@Transient` being not sound to use with non-nullable types
- [`KT-50395`](https://youtrack.jetbrains.com/issue/KT-50395) Stdlib documentation for StringBuilder.removeRange is unclear
- [`KT-36863`](https://youtrack.jetbrains.com/issue/KT-36863) Specify which element is returned from max/min functions if multiple elements are equal to min/max
- [`KT-71606`](https://youtrack.jetbrains.com/issue/KT-71606) Provide Atomic and AtomicArray builtins in a bootstrap compiler
- [`KT-73064`](https://youtrack.jetbrains.com/issue/KT-73064) Samplification of the Optional extensions documentation
- [`KT-69545`](https://youtrack.jetbrains.com/issue/KT-69545) Kotlin/Native: Deprecate API marked with FreezingIsDeprecated to error
- [`KT-61184`](https://youtrack.jetbrains.com/issue/KT-61184) Drop redundant `@Suppress` from some classes in stdlib. After stdlib migration to K2
- [`KT-72380`](https://youtrack.jetbrains.com/issue/KT-72380) Incorrect Duration parsing with extra leading zeros in components and multiple signs
- [`KT-72278`](https://youtrack.jetbrains.com/issue/KT-72278) Clean up redundant stdlib code for Kotlin 2.1
- [`KT-49026`](https://youtrack.jetbrains.com/issue/KT-49026) Add Regex.replace/replaceFirst samples
##### Native
- [`KT-75807`](https://youtrack.jetbrains.com/issue/KT-75807) CMP caching fails for iOS with Kotlin 2.1.20-RC2
- [`KT-70202`](https://youtrack.jetbrains.com/issue/KT-70202) Xcode 16 Linker fails with SIGBUS
- [`KT-74377`](https://youtrack.jetbrains.com/issue/KT-74377) Kotlin Native: release executable crashes with error 139
- [`KT-73559`](https://youtrack.jetbrains.com/issue/KT-73559) K/Native: AndroidNativeArm64 linking fails starting from Kotlin 2.1.0
- [`KT-71976`](https://youtrack.jetbrains.com/issue/KT-71976) \[Native]\[KLIB Resolve]: compilation error if libraries have the same `unique_name` and the strategy is allow-all-with-warning or allow-first-with-warning
##### Native. Build Infrastructure
- [`KT-72063`](https://youtrack.jetbrains.com/issue/KT-72063) Jars using `native` in their name are incompatible with JPMS
- [`KT-70990`](https://youtrack.jetbrains.com/issue/KT-70990) Kotlin/Native: fix stdlib building task
- [`KT-71820`](https://youtrack.jetbrains.com/issue/KT-71820) Update the coroutines version used in kotlin-native build infrastructure
- [`KT-71261`](https://youtrack.jetbrains.com/issue/KT-71261) Kotlin/Native: enable gradle caching for runtime building tasks
##### Native. C and ObjC Import
- [`KT-74043`](https://youtrack.jetbrains.com/issue/KT-74043) Drop obsolete parts of Skia (aka ad-hoc C++) import
##### Native. ObjC Export
- [`KT-72673`](https://youtrack.jetbrains.com/issue/KT-72673) Native: objc2kotlin "virtual" bridges have no debug info
##### Native. Swift Export
- [`KT-73623`](https://youtrack.jetbrains.com/issue/KT-73623) Swift Export: Interfaces: Add protocol printing
- [`KT-72703`](https://youtrack.jetbrains.com/issue/KT-72703) Translate valueOf into static func
- [`KT-72102`](https://youtrack.jetbrains.com/issue/KT-72102) Create test infra for swift export in IDE
- [`KT-72096`](https://youtrack.jetbrains.com/issue/KT-72096) Create module for swift-export-in-ide
- [`KT-71898`](https://youtrack.jetbrains.com/issue/KT-71898) Swift Export: support List in overrides
##### Test Infrastructure
- [`KT-67281`](https://youtrack.jetbrains.com/issue/KT-67281) \[Tests] Introduce an obligatory diagnostics test directive to choose a test runner
- [`KT-62472`](https://youtrack.jetbrains.com/issue/KT-62472) Remove suppressions of warnings which are presented only in K2 but not in K1 compiler in Kotlin project
- [`KT-72094`](https://youtrack.jetbrains.com/issue/KT-72094) K2: switch DEBUG\_INFO\_EXPRESSION\_TYPE to regular FIR infrastructure for type rendering
##### Tools. CLI
- [`KT-73319`](https://youtrack.jetbrains.com/issue/KT-73319) Migrate the main JVM CLI pipeline to the phased structure
- [`KT-74099`](https://youtrack.jetbrains.com/issue/KT-74099) Add CLI argument to enable nested type aliases feature
- [`KT-69384`](https://youtrack.jetbrains.com/issue/KT-69384) Add a way to force colored compiler diagnostic output
- [`KT-73320`](https://youtrack.jetbrains.com/issue/KT-73320) Migrate the main JS CLI pipeline to the phased structure
- [`KT-73922`](https://youtrack.jetbrains.com/issue/KT-73922) `CompileEnvironmentUtil.writeToJar` is unbuffered
- [`KT-73967`](https://youtrack.jetbrains.com/issue/KT-73967) JDK 25: "IllegalArgumentException: 25-ea" with EA builds
- [`KT-72927`](https://youtrack.jetbrains.com/issue/KT-72927) Combine `FlexiblePhaseConfig` and `PhaseConfig`
- [`KT-73244`](https://youtrack.jetbrains.com/issue/KT-73244) `:compiler:cli-base` depends on `:compiler:ir.serialization.jvm` to read a single property
- [`KT-70179`](https://youtrack.jetbrains.com/issue/KT-70179) K2: Building a file with kotlin-test-junit without junit does not include annotations
- [`KT-41756`](https://youtrack.jetbrains.com/issue/KT-41756) Sanitize stack trace in 'kotlin' runner CLI script
##### Tools. Commonizer
- [`KT-74623`](https://youtrack.jetbrains.com/issue/KT-74623) Drop metadata version check from KLIB commonizer
##### Tools. Compiler Plugin API
- [`KT-71212`](https://youtrack.jetbrains.com/issue/KT-71212) Allow compiler plugins to write custom data to declarations metadata
##### Tools. Compiler Plugins
##### New Features
- [`KT-53563`](https://youtrack.jetbrains.com/issue/KT-53563) Kotlin Lombok: Support `@SuperBuilder`
- [`KT-71547`](https://youtrack.jetbrains.com/issue/KT-71547) Lombok Compiler Plugin Does Not Support `@Builder` on Constructors
##### Fixes
- [`KT-73897`](https://youtrack.jetbrains.com/issue/KT-73897) PowerAssert: Implicit argument detection is brittle in a number of cases
- [`KT-74315`](https://youtrack.jetbrains.com/issue/KT-74315) Kotlin Lombok: "Unresolved reference" on generating `@Builder` for static inner class where outer class is also using `@Builder`
- [`KT-74102`](https://youtrack.jetbrains.com/issue/KT-74102) "Lambda cannot be cast to class kotlin.jvm.functions.Function0" in 2.1.20-Beta1 with Compose
- [`KT-75159`](https://youtrack.jetbrains.com/issue/KT-75159) Compose: Missing 'FunctionKeyMeta' annotation on lamdas declared in non-composable function
- [`KT-58695`](https://youtrack.jetbrains.com/issue/KT-58695) Lombok Builders's subclassing leads to 'Unresolved reference'
- [`KT-73871`](https://youtrack.jetbrains.com/issue/KT-73871) PowerAssert: Comparison via operator overload results in confusing diagram
- [`KT-73898`](https://youtrack.jetbrains.com/issue/KT-73898) PowerAssert: Operator calls with multiple receivers incorrectly aligned
- [`KT-73870`](https://youtrack.jetbrains.com/issue/KT-73870) PowerAssert: Object should not be displayed
- [`KT-73895`](https://youtrack.jetbrains.com/issue/KT-73895) jvm-abi-gen: $serializer class name is written incorrectly to InnerClasses attribute
- [`KT-73349`](https://youtrack.jetbrains.com/issue/KT-73349) Migrate power-assert sources to new IR parameter API
- [`KT-73366`](https://youtrack.jetbrains.com/issue/KT-73366) Migrate parcelize sources to new IR parameter API
- [`KT-72824`](https://youtrack.jetbrains.com/issue/KT-72824) Kotlin power-assert plugin StringIndexOutOfBoundsException
##### Tools. Compiler plugins. Serialization
- [`KT-71072`](https://youtrack.jetbrains.com/issue/KT-71072) KxSerialization: KeepGeneratedSerializer and sealed class in Map causes initialization-error
- [`KT-73830`](https://youtrack.jetbrains.com/issue/KT-73830) \[Kotlin/Wasm] CompileError: WebAssembly.Module(): Compiling function [#​10198](https://github.com/JetBrains/kotlin/issues/10198):"kotlinx.serialization.$serializer.serialize" failed
##### Tools. Daemon
- [`KT-73311`](https://youtrack.jetbrains.com/issue/KT-73311) "Unable to release compile session, maybe daemon is already down" flakiness
- [`KT-70556`](https://youtrack.jetbrains.com/issue/KT-70556) Add support for SourcesChanges.ToBeCalculated
- [`KT-72530`](https://youtrack.jetbrains.com/issue/KT-72530) The daemon has terminated unexpectedly on startup attempt [#​1](https://github.com/JetBrains/kotlin/issues/1) with error code: Unknown
- [`KT-72373`](https://youtrack.jetbrains.com/issue/KT-72373) Fix naming for the new daemon symbols added after KT-69929
##### Tools. Fleet. ObjC Export
- [`KT-73237`](https://youtrack.jetbrains.com/issue/KT-73237) ObjCExport: immutable property translated as mutable
##### Tools. Gradle
##### New Features
- [`KT-41409`](https://youtrack.jetbrains.com/issue/KT-41409) Gradle: Support binaries.executable for jvm targets
- [`KT-58830`](https://youtrack.jetbrains.com/issue/KT-58830) Expose AdhocComponentWithVariants API on KGP generated component
- [`KT-72320`](https://youtrack.jetbrains.com/issue/KT-72320) Gradle Plugin Diagnostics Reporter: add emojis to increase visibility
##### Performance Improvements
- [`KT-69613`](https://youtrack.jetbrains.com/issue/KT-69613) Remove usages of `getCanonicalPath` and `getCanonicalFile` in plugins code
- [`KT-68136`](https://youtrack.jetbrains.com/issue/KT-68136) Gradle: improve classloaders cache eviction
##### Fixes
- [`KT-73842`](https://youtrack.jetbrains.com/issue/KT-73842) Gradle: AGP failing tests with "Failed to calculate the value of property 'generalConfigurationMetrics'" using KGP
- [`KT-74394`](https://youtrack.jetbrains.com/issue/KT-74394) KGP + isolated projects: "Something has been appended to this collector already"
- [`KT-75262`](https://youtrack.jetbrains.com/issue/KT-75262) Gradle test-fixtures plugin apply order breaks the project
- [`KT-75277`](https://youtrack.jetbrains.com/issue/KT-75277) FUS statistics: 'java.lang.IllegalStateException: The value for this property cannot be changed any further' exception is thrown during project import
- [`KT-75026`](https://youtrack.jetbrains.com/issue/KT-75026) Corrupted NonSynchronizedMetricsContainer in parallel Gradle build
- [`KT-74997`](https://youtrack.jetbrains.com/issue/KT-74997) Unexpected KGP warnings about kotlin scripting plugin
- [`KT-74322`](https://youtrack.jetbrains.com/issue/KT-74322) Enable source information by default in Compose compiler gradle plugin
- [`KT-72337`](https://youtrack.jetbrains.com/issue/KT-72337) kotlin-android-extensions plugin should fail the build on apply
- [`KT-72967`](https://youtrack.jetbrains.com/issue/KT-72967) Remove deprecated KotlinPlatformJsPlugin
- [`KT-74846`](https://youtrack.jetbrains.com/issue/KT-74846) Gradle Configuration Cache miss on second build with 2.1.20-Beta2
- [`KT-74462`](https://youtrack.jetbrains.com/issue/KT-74462) Flaky Kotlin Gradle Plugin Tests: IsInIdeaEnvironmentValueSource$Inject not found
- [`KT-74415`](https://youtrack.jetbrains.com/issue/KT-74415) Make composeCompiler.includeSourceInformation true by default
- [`KT-73782`](https://youtrack.jetbrains.com/issue/KT-73782) KGP diagnostics reporter: emojis added to KGP warning/errors are displayed broken on Windows
- [`KT-74095`](https://youtrack.jetbrains.com/issue/KT-74095) Make ToolingDiagnosticBuilder internal API
- [`KT-74124`](https://youtrack.jetbrains.com/issue/KT-74124) Gradle: error message regression of incompatible Gradle version usage
- [`KT-74639`](https://youtrack.jetbrains.com/issue/KT-74639) Executable binaries for JVM test cannot be created unless an additional suffix is set in Groovy
- [`KT-73728`](https://youtrack.jetbrains.com/issue/KT-73728) 'generatePomFileForMavenPublication' creates pom with dependencies with 'unspecified' version
- [`KT-73974`](https://youtrack.jetbrains.com/issue/KT-73974) Configuration cache when run Xcode tasks without xcode's environment
- [`KT-74476`](https://youtrack.jetbrains.com/issue/KT-74476) KGP uses internal Gradle API, DefaultArtifactPublicationSet
- [`KT-62273`](https://youtrack.jetbrains.com/issue/KT-62273) Use new FUS plugin in Kotlin
- [`KT-72963`](https://youtrack.jetbrains.com/issue/KT-72963) Remove deprecated KotlinPlatformAndroidPlugin
- [`KT-74017`](https://youtrack.jetbrains.com/issue/KT-74017) Remove kotlin.androidExtensionsPlugin.enabled flag
- [`KT-73749`](https://youtrack.jetbrains.com/issue/KT-73749) KGP diagnostics reporter: emojis are duplicated if a gradle task is executed from the IDEA UI
- [`KT-72467`](https://youtrack.jetbrains.com/issue/KT-72467) kotlin.sourceSets extension not added for KotlinBaseApiPlugin.createKotlinAndroidExtension()
- [`KT-74143`](https://youtrack.jetbrains.com/issue/KT-74143) Gradle: Add workaround for [gradle/gradle#31881](https://github.com/gradle/gradle/issues/31881)
- [`KT-72384`](https://youtrack.jetbrains.com/issue/KT-72384) Run Gradle Integration tests against Gradle 8.11
- [`KT-70150`](https://youtrack.jetbrains.com/issue/KT-70150) Android Kotlin Compile Task has ClassPath Backwards
- [`KT-72495`](https://youtrack.jetbrains.com/issue/KT-72495) Warn about kotlin-compiler-embeddable loaded along KGP
- [`KT-71549`](https://youtrack.jetbrains.com/issue/KT-71549) K2: NoSuchMethodError: org.jetbrains.kotlin.incremental.storage.ExternalizersKt.saveToFile with dependency locking
- [`KT-67277`](https://youtrack.jetbrains.com/issue/KT-67277) Gradle: decommission properties to disable precise task outputs backup
- [`KT-73795`](https://youtrack.jetbrains.com/issue/KT-73795) Fix failing checkNodeJsSetup test on Windows
- [`KT-72383`](https://youtrack.jetbrains.com/issue/KT-72383) Compatibility with Gradle 8.11 release
- [`KT-72394`](https://youtrack.jetbrains.com/issue/KT-72394) ProjectDependency.getDependencyProject() is deprecated in Gradle 8.11
- [`KT-72385`](https://youtrack.jetbrains.com/issue/KT-72385) Compile against Gradle API 8.11
- [`KT-71711`](https://youtrack.jetbrains.com/issue/KT-71711) KGP: Kotlin Stdlib is leaking when KGP is applied in buildSrc
- [`KT-73128`](https://youtrack.jetbrains.com/issue/KT-73128) Apply Kotlinlang template for partial HTMLs
- [`KT-58858`](https://youtrack.jetbrains.com/issue/KT-58858) Add KDoc documentation for Kotlin Gradle plugin API
- [`KT-73076`](https://youtrack.jetbrains.com/issue/KT-73076) Kotlin Gradle Plugin API Reference: adjust settings
- [`KT-72651`](https://youtrack.jetbrains.com/issue/KT-72651) Unable to use `target` for KotlinBaseApiPlugin.createKotlin(Jvm/Android)Extension()
- [`KT-72303`](https://youtrack.jetbrains.com/issue/KT-72303) KGP 2.1.0-Beta2 broke compatibility with KSP
- [`KT-71405`](https://youtrack.jetbrains.com/issue/KT-71405) Compose compiler gradle plugin: project.layout.file can't be used as a value of the 'stabilityConfigurationFiles' option
- [`KT-71948`](https://youtrack.jetbrains.com/issue/KT-71948) KotlinJvmFactory : get rid of replaces with TODO()
- [`KT-72092`](https://youtrack.jetbrains.com/issue/KT-72092) Gradle: use packed klib variant as the default when no packaging attribute is present
##### Tools. Gradle. JS
- [`KT-75485`](https://youtrack.jetbrains.com/issue/KT-75485) KJS: "Module not found: Error: Can't resolve 'style-loader' and 'css-loader'" in 2.1.20-RC
- [`KT-74869`](https://youtrack.jetbrains.com/issue/KT-74869) KJS: `jsBrowserProductionWebpack` does not minify output with 2.1.20-Beta2
- [`KT-74859`](https://youtrack.jetbrains.com/issue/KT-74859) Gradle configuration cache issues related to RootPackageJsonTask
- [`KT-72175`](https://youtrack.jetbrains.com/issue/KT-72175) JS, Wasm: Deprecate non-Provider API in JS infrastructure extensions
- [`KT-66388`](https://youtrack.jetbrains.com/issue/KT-66388) KJS / Gradle: Allow using an insecure protocol to download Node.js/Yarn when setting up project using Gradle >= 7
- [`KT-73614`](https://youtrack.jetbrains.com/issue/KT-73614) org.jetbrains.kotlin.gradle.targets.jsAbstractSetupTask.destinationProvider should be public
- [`KT-72027`](https://youtrack.jetbrains.com/issue/KT-72027) JS target build fails on ARM64 Windows
- [`KT-71362`](https://youtrack.jetbrains.com/issue/KT-71362) KGP/JS: moduleName is not compatible with convention plugins
- [`KT-72874`](https://youtrack.jetbrains.com/issue/KT-72874) KJS: NodeJsRootExtension: "'download: Boolean' is deprecated. Use download from NodeJsExtension (not NodeJsRootExtension) instead You can find this extension after applying NodeJsPlugin. This will be removed in 2.2"
- [`KT-72872`](https://youtrack.jetbrains.com/issue/KT-72872) Js, Wasm: downloadBaseUrl in NodeJsEnvSpec could not be disabled
##### Tools. Gradle. Multiplatform
##### Performance Improvements
- [`KT-71888`](https://youtrack.jetbrains.com/issue/KT-71888) Default Target Hierarchy results in very large heap usage/OoM when resolving IDE dependencies in larger projects
##### Fixes
- [`KT-66542`](https://youtrack.jetbrains.com/issue/KT-66542) Gradle: JVM target with `withJava()` produces a deprecation warning
- [`KT-71074`](https://youtrack.jetbrains.com/issue/KT-71074) Optimize Granular Metadata Dependencies Transformation for Import after adding support for Project Isolation
- [`KT-74669`](https://youtrack.jetbrains.com/issue/KT-74669) Executable binaries for JVM: a jar generated by jvmJar task isn't added to the build/install/testAppName/lib directory
- [`KT-37964`](https://youtrack.jetbrains.com/issue/KT-37964) Gradle application/distribution plugin does not copy and name jar files correctly when using installDist task for multiplatform project
- [`KT-30878`](https://youtrack.jetbrains.com/issue/KT-30878) It's impossible to have .java sources in a Multiplatform Gradle Project with Android, because `android()` and `jvm { withJava() }` targets can not be applied to one and the same Gradle Project
- [`KT-66962`](https://youtrack.jetbrains.com/issue/KT-66962) Kapt with Kotlin Multiplatform: Cannot query the value of this provider because it has no value available
- [`KT-74898`](https://youtrack.jetbrains.com/issue/KT-74898) The wording for the warning about incompatible 'application' plugin should be updated to suggest using the new binaries DSL
- [`KT-72488`](https://youtrack.jetbrains.com/issue/KT-72488) Unify freeCompilerArgs property in swiftExport and compilerArgs
- [`KT-74727`](https://youtrack.jetbrains.com/issue/KT-74727) Dependency resolve from a single target KMP module to another kmp module fails on non-found PSM
- [`KT-75062`](https://youtrack.jetbrains.com/issue/KT-75062) Remove usage of deprecated ProjectDependency.getDependencyProject
- [`KT-71130`](https://youtrack.jetbrains.com/issue/KT-71130) Enable Isolated Projects support by default for KMP
- [`KT-74832`](https://youtrack.jetbrains.com/issue/KT-74832) Relax JVM target validation diagnostic in KMP/Jvm projects
- [`KT-57280`](https://youtrack.jetbrains.com/issue/KT-57280) Expose Kotlin Project Structure metadata via consumable configurations instead of accessing all gradle projects directly
- [`KT-72130`](https://youtrack.jetbrains.com/issue/KT-72130) Gradle Project Isolation Violation in build.gradle due to KGP
- [`KT-74298`](https://youtrack.jetbrains.com/issue/KT-74298) Incorrect DSL for swift export settings under the export node
- [`KT-73620`](https://youtrack.jetbrains.com/issue/KT-73620) KMP 2.1.0: Transitive dependency is broken when setting publication groupId
- [`KT-72112`](https://youtrack.jetbrains.com/issue/KT-72112) KotlinNativeLink task fetches configuration that might not exist
- [`KT-49155`](https://youtrack.jetbrains.com/issue/KT-49155) MPP, Gradle: Cannot use `test-retry-gradle-plugin` with Kotlin multiplatform tests
- [`KT-61816`](https://youtrack.jetbrains.com/issue/KT-61816) Remove Legacy Multiplatform Gradle Plugin
- [`KT-72068`](https://youtrack.jetbrains.com/issue/KT-72068) Distribution for klib cross-compilation is not downloaded during compile tasks
- [`KT-64998`](https://youtrack.jetbrains.com/issue/KT-64998) Granular Metadata Dependencies Transformation is not compatible with Project Isolation
- [`KT-72454`](https://youtrack.jetbrains.com/issue/KT-72454) Revert changes made in KT-69899 i.e. make kotlin.android.buildTypeAttribute.keep = false by default again
- [`KT-70380`](https://youtrack.jetbrains.com/issue/KT-70380) KMM App failed to consume android binary lib
- [`KT-71529`](https://youtrack.jetbrains.com/issue/KT-71529) Deprecate targetFromPreset API with an error
##### Tools. Gradle. Native
- [`KT-71398`](https://youtrack.jetbrains.com/issue/KT-71398) kotlinNativeBundleConfiguration should not contain dependencies on unsupported platforms
- [`KT-74403`](https://youtrack.jetbrains.com/issue/KT-74403) :commonizeNativeDistribution fails when configured native targets cannot be built on machine
- [`KT-62826`](https://youtrack.jetbrains.com/issue/KT-62826) Show a warning when KGP and K/N versions mismatch
- [`KT-73572`](https://youtrack.jetbrains.com/issue/KT-73572) \[Gradle] `kotlin.native.cacheKind=none` doesn't work anymore
- [`KT-71722`](https://youtrack.jetbrains.com/issue/KT-71722) kotlinNativeBundleConfiguration present in JVM-only Gradle project
- [`KT-72686`](https://youtrack.jetbrains.com/issue/KT-72686) Add warning about Kotlin native home conflict declaration
- [`KT-71419`](https://youtrack.jetbrains.com/issue/KT-71419) Light bundle KGP IT run against a stable K/N version
- [`KT-70558`](https://youtrack.jetbrains.com/issue/KT-70558) False positive up-to-date status for CInterop tasks after changes in .h files
##### Tools. Gradle. Xcode
- [`KT-71535`](https://youtrack.jetbrains.com/issue/KT-71535) embedSwiftExportForXcode doesn't report configuration error about missed dependency
- [`KT-72485`](https://youtrack.jetbrains.com/issue/KT-72485) Swift Export DSL exposes unused options in `binaries` section
- [`KT-66894`](https://youtrack.jetbrains.com/issue/KT-66894) XCFramework task fails when name passed to xcframework DSL is different from framework's name
- [`KT-65675`](https://youtrack.jetbrains.com/issue/KT-65675) XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworks
##### Tools. Incremental Compile
- [`KT-69333`](https://youtrack.jetbrains.com/issue/KT-69333) Remove built-in ABI snapshot implementation
- [`KT-55940`](https://youtrack.jetbrains.com/issue/KT-55940) Kotlin 1.8.0 compiler hangs indefinitely
- [`KT-29860`](https://youtrack.jetbrains.com/issue/KT-29860) Incremental compilation looping or incorrect results
##### Tools. JPS
- [`KT-73688`](https://youtrack.jetbrains.com/issue/KT-73688) Make it possible to build and run JPS locally
- [`KT-73607`](https://youtrack.jetbrains.com/issue/KT-73607) JPS incremental compilation is broken after KT-71549
- [`KT-68565`](https://youtrack.jetbrains.com/issue/KT-68565) K2: IllegalStateException: Source classes should be created separately before referencing
##### Tools. Kapt
- [`KT-75202`](https://youtrack.jetbrains.com/issue/KT-75202) K2 kapt: mapped type class literal is converted incorrectly
- [`KT-64385`](https://youtrack.jetbrains.com/issue/KT-64385) K2: Enable K2 KAPT by default
- [`KT-71154`](https://youtrack.jetbrains.com/issue/KT-71154) Kapt tests: EXPECTED\_ERROR directive is checked incorrectly
- [`KT-71776`](https://youtrack.jetbrains.com/issue/KT-71776) K2 Kapt in 2.1.0-Beta1 fails with `e: java.lang.IllegalStateException: FIR symbol "class org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol" is not supported in constant evaluation`
##### Tools. Maven
- [`KT-69231`](https://youtrack.jetbrains.com/issue/KT-69231) PowerAssert: Create maven plugin for power-assert
##### Tools. Scripts
- [`KT-72277`](https://youtrack.jetbrains.com/issue/KT-72277) Legacy REPL implementation is still based on the old backend
##### Tools. Wasm
- [`KT-72157`](https://youtrack.jetbrains.com/issue/KT-72157) Turn on custom formatters feature by default in development builds
- [`KT-71361`](https://youtrack.jetbrains.com/issue/KT-71361) \[Wasm] Make all production-mode binaries optimised with binaryen
### [`v2.1.10`](https://github.com/JetBrains/kotlin/releases/tag/v2.1.10): Kotlin 2.1.10
#### Changelog
##### Compiler
- [`KT-73858`](https://youtrack.jetbrains.com/issue/KT-73858) Compose / iOS: NullPointerException on building
- [`KT-73454`](https://youtrack.jetbrains.com/issue/KT-73454) K2: Fix type parameters mapping for typealiases with inner RHS
- [`KT-73043`](https://youtrack.jetbrains.com/issue/KT-73043) K2 Compiler does not allow references to inner constructors with typealiases
- [`KT-74040`](https://youtrack.jetbrains.com/issue/KT-74040) Compilation of inner class usage does not check the visibility of parent class during compilation in different rounds
- [`KT-73339`](https://youtrack.jetbrains.com/issue/KT-73339) K2: "VerifyError: Bad type on operand stack" because of missing implicit cast on generic field receiver with star projection
- [`KT-72585`](https://youtrack.jetbrains.com/issue/KT-72585) K2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace top-level type with star projection: S
- [`KT-73399`](https://youtrack.jetbrains.com/issue/KT-73399) compile-time JVM codegen failure on a KProperty argument of a KSuspendFunction parameter
- [`KT-72725`](https://youtrack.jetbrains.com/issue/KT-72725) KMP: Unsupported actualization of inherited java field in expect class
- [`KT-73153`](https://youtrack.jetbrains.com/issue/KT-73153) K2: Standalone diagnostics on type arguments are not reported
##### Compose compiler
- [`CMP-5680`](https://youtrack.jetbrains.com/issue/CMP-5680) Compose compiler: unexpected stability warnings for classes compiled with 2.0.10
- [`b/381407900`](https://issuetracker.google.com/issues/381407900) Avoid adding Compose annotations on synthetic classes
##### IR. Inlining
- [`KT-73981`](https://youtrack.jetbrains.com/issue/KT-73981) \[2.1.10] Suppress `checkIncorrectCrossFileDeclarationAccess` warning for Compose `<class>$stable` field access
##### JavaScript
- [`KT-70778`](https://youtrack.jetbrains.com/issue/KT-70778) Kotlin Js companion is undefined in production build
- [`KT-73130`](https://youtrack.jetbrains.com/issue/KT-73130) KJS: Missed `break` for do/while in generated JS code
- [`KT-58797`](https://youtrack.jetbrains.com/issue/KT-58797) Optimize the code generated for objects on JS and Wasm backends
##### Klibs
- [`KT-70146`](https://youtrack.jetbrains.com/issue/KT-70146) \[KLIB Resolve] Don't fail on nonexistent transitive dependency
- [`KT-73951`](https://youtrack.jetbrains.com/issue/KT-73951) Workaround for "Partial linkage engine may not patch some discrepancies in IR when compiling Kotlin/Native static caches" in 2.1.10
##### Native
- [`KT-73559`](https://youtrack.jetbrains.com/issue/KT-73559) K/Native: AndroidNativeArm64 linking fails starting from Kotlin 2.1.0
##### Tools. CLI
- [`KT-73967`](https://youtrack.jetbrains.com/issue/KT-73967) JDK 25: "IllegalArgumentException: 25-ea" with EA builds
##### Tools. Daemon
- [`KT-73311`](https://youtrack.jetbrains.com/issue/KT-73311) "Unable to release compile session, maybe daemon is already down" flakiness
##### Tools. Gradle
- [`KT-73728`](https://youtrack.jetbrains.com/issue/KT-73728) 'generatePomFileForMavenPublication' creates pom with dependencies with 'unspecified' version
##### Tools. Gradle. Multiplatform
- [`KT-73620`](https://youtrack.jetbrains.com/issue/KT-73620) KMP 2.1.0: Transitive dependency is broken when setting publication groupId
##### Tools. Gradle. Native
- [`KT-73572`](https://youtrack.jetbrains.com/issue/KT-73572) \[Gradle] `kotlin.native.cacheKind=none` doesn't work anymore
- [`KT-71419`](https://youtrack.jetbrains.com/issue/KT-71419) Light bundle KGP IT run against a stable K/N version
### [`v2.1.0`](https://github.com/JetBrains/kotlin/releases/tag/v2.1.0): Kotlin 2.1.0
#### Changelog
##### Analysis API
##### New Features
- [`KT-68603`](https://youtrack.jetbrains.com/issue/KT-68603) KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results
##### Performance Improvements
- [`KT-70757`](https://youtrack.jetbrains.com/issue/KT-70757) Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol
##### Fixes
- [`KT-70437`](https://youtrack.jetbrains.com/issue/KT-70437) Class reference is not resolvable
- [`KT-57733`](https://youtrack.jetbrains.com/issue/KT-57733) Analysis API: Use optimized `ModuleWithDependenciesScope`s in combined symbol providers
- [`KT-72389`](https://youtrack.jetbrains.com/issue/KT-72389) K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class
- [`KT-69190`](https://youtrack.jetbrains.com/issue/KT-69190) K2: False-positive "redundant private modifier"
- [`KT-64984`](https://youtrack.jetbrains.com/issue/KT-64984) Analysis API: Support Wasm target
- [`KT-70375`](https://youtrack.jetbrains.com/issue/KT-70375) K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer
- [`KT-71259`](https://youtrack.jetbrains.com/issue/KT-71259) K2 evaluator: Invalid smart cast info collecting for Code Fragments
- [`KT-69360`](https://youtrack.jetbrains.com/issue/KT-69360) Lack of implicit receiver for the last statement under lambda in scripts
- [`KT-70890`](https://youtrack.jetbrains.com/issue/KT-70890) Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches
- [`KT-70657`](https://youtrack.jetbrains.com/issue/KT-70657) Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars
- [`KT-71055`](https://youtrack.jetbrains.com/issue/KT-71055) Suspend calls inside 'analyze()' break the block guarantees
- [`KT-70815`](https://youtrack.jetbrains.com/issue/KT-70815) Analysis API: Implement stop-the-world session invalidation
- [`KT-69819`](https://youtrack.jetbrains.com/issue/KT-69819) K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified
- [`KT-68761`](https://youtrack.jetbrains.com/issue/KT-68761) Analysis API: Experiment with limited-size cache in `KaFirSessionProvider`
- [`KT-70384`](https://youtrack.jetbrains.com/issue/KT-70384) Analysis API Standalone: The same class in the same two renamed jars is unresolved
- [`KT-71067`](https://youtrack.jetbrains.com/issue/KT-71067) Exceptions from references cancel Find Usages
- [`KT-69535`](https://youtrack.jetbrains.com/issue/KT-69535) Redesign 'containingSymbol'
- [`KT-71025`](https://youtrack.jetbrains.com/issue/KT-71025) K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values
- [`KT-67483`](https://youtrack.jetbrains.com/issue/KT-67483) K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call
- [`KT-69416`](https://youtrack.jetbrains.com/issue/KT-69416) K2 IDE / Completion: “No classifier found” on simple value creating
- [`KT-70257`](https://youtrack.jetbrains.com/issue/KT-70257) CCE: class kotlin.UInt cannot be cast to class java.lang.Number
- [`KT-70376`](https://youtrack.jetbrains.com/issue/KT-70376) K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value class
- [`KT-70264`](https://youtrack.jetbrains.com/issue/KT-70264) AA: service registration via XML fails with AbstractMethodError in Lint CLI
- [`KT-69950`](https://youtrack.jetbrains.com/issue/KT-69950) Analysis API: Introduce `isSubtypeOf(ClassId)`
- [`KT-68625`](https://youtrack.jetbrains.com/issue/KT-68625) K2: “`lazyResolveToPhase(STATUS)` cannot be called from a transformer with a phase STATUS.”
- [`KT-67665`](https://youtrack.jetbrains.com/issue/KT-67665) K2: contract violation for value class with a constructor parameter with an implicit type
- [`KT-67009`](https://youtrack.jetbrains.com/issue/KT-67009) Analysis API: Add abbreviated type tests for type aliases from source modules
- [`KT-69977`](https://youtrack.jetbrains.com/issue/KT-69977) KaFirFunctionalType#getAbbreviation is always null
- [`KT-68341`](https://youtrack.jetbrains.com/issue/KT-68341) Analysis API: Expanded function types from libraries don't have an abbreviated type
- [`KT-68857`](https://youtrack.jetbrains.com/issue/KT-68857) Analysis API: Refactor annotations
- [`KT-70386`](https://youtrack.jetbrains.com/issue/KT-70386) Do not filter out overloads from different libraries in dangling files
- [`KT-65552`](https://youtrack.jetbrains.com/issue/KT-65552) K2: CANNOT\_CHECK\_FOR\_ERASED in KtTypeCodeFragment
- [`KT-65803`](https://youtrack.jetbrains.com/issue/KT-65803) K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"
- [`KT-68896`](https://youtrack.jetbrains.com/issue/KT-68896) Support VirtualFile binary dependency inputs to Analysis API modules
- [`KT-69395`](https://youtrack.jetbrains.com/issue/KT-69395) K2 IDE: incorrect overload selection from binary dependencies in a shared native source set
- [`KT-68573`](https://youtrack.jetbrains.com/issue/KT-68573) ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue()
- [`KT-69576`](https://youtrack.jetbrains.com/issue/KT-69576) Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns false for companion references in implicit invoke operator calls
- [`KT-69568`](https://youtrack.jetbrains.com/issue/KT-69568) Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns true for non-companion references in qualified calls
- [`KT-69436`](https://youtrack.jetbrains.com/issue/KT-69436) Analysis API Platform: Encapsulate `LLFirDeclarationModificationService` as an engine service
- [`KT-63004`](https://youtrack.jetbrains.com/issue/KT-63004) K2: Analysis API: Design API for querying declarations generated by compiler plugins (similar to indices)
- [`KT-69452`](https://youtrack.jetbrains.com/issue/KT-69452) AA FIR: wrong source PSI after compile-time evaluation
- [`KT-69598`](https://youtrack.jetbrains.com/issue/KT-69598) AA: definitely not-null type at receiver position should be wrapped in parenthesis
- [`KT-60484`](https://youtrack.jetbrains.com/issue/KT-60484) Analysis API: add support for KtType pointers similar to KtSymbolPointer
- [`KT-68884`](https://youtrack.jetbrains.com/issue/KT-68884) Analysis API: Rename/deprecate/remove declarations as part of Stabilization
- [`KT-69453`](https://youtrack.jetbrains.com/issue/KT-69453) AA FIR: miss to handle expected type of lambda with explicit label
- [`KT-69533`](https://youtrack.jetbrains.com/issue/KT-69533) Protect implementation parts of Analysis API with opt-in annotations
##### Analysis API. FIR
##### Performance Improvements
- [`KT-71566`](https://youtrack.jetbrains.com/issue/KT-71566) FirElementBuilder#getFirForNonKtFileElement should iterate a Psi file over and over
- [`KT-71224`](https://youtrack.jetbrains.com/issue/KT-71224) Analysis API: `FirElementFinder.collectDesignationPath` relies on naive iteration through FIR files
##### Fixes
- [`KT-70327`](https://youtrack.jetbrains.com/issue/KT-70327) Analysis API: Batch inspection causes deadlock in `ValueWithPostCompute`
- [`KT-69070`](https://youtrack.jetbrains.com/issue/KT-69070) Analysis API: Querying declared member scope for Java symbols results in exception in some use cases
- [`KT-68268`](https://youtrack.jetbrains.com/issue/KT-68268) LLSealedInheritorsProvider: reduce scope to kotlin files
- [`KT-69671`](https://youtrack.jetbrains.com/issue/KT-69671) TYPES phase contract violation through JavaSymbolProvider
- [`KT-70624`](https://youtrack.jetbrains.com/issue/KT-70624) Declaration symbols from code fragments are treated as not local
- [`KT-70662`](https://youtrack.jetbrains.com/issue/KT-70662) NPE: FirLazyBodiesCalculatorKt.calculateLazyBodyForProperty
- [`KT-70859`](https://youtrack.jetbrains.com/issue/KT-70859) Do not fail highlighting due to resolution problems
- [`KT-70474`](https://youtrack.jetbrains.com/issue/KT-70474) FirLazyResolveContractViolationException from JavaSymbolProvider
- [`KT-70323`](https://youtrack.jetbrains.com/issue/KT-70323) FirLazyResolveContractViolationException: `lazyResolveToPhase(TYPES)` cannot be called from a transformer with a phase TYPES
- [`KT-71567`](https://youtrack.jetbrains.com/issue/KT-71567) LLFirCompilerRequiredAnnotationsTargetResolver should calculate annotation arguments on demand
- [`KT-71584`](https://youtrack.jetbrains.com/issue/KT-71584) `getNonLocalContainingOrThisDeclaration` treats KtParameter from functional type as non-local
##### Analysis API. Light Classes
##### Performance Improvements
- [`KT-69998`](https://youtrack.jetbrains.com/issue/KT-69998) Drop redundant cache from ClassInnerStuffCache
##### Fixes
- [`KT-69833`](https://youtrack.jetbrains.com/issue/KT-69833) Support value classes
- [`KT-71693`](https://youtrack.jetbrains.com/issue/KT-71693) Wrong name mangling for JvmField class property and companion property clash
- [`KT-71469`](https://youtrack.jetbrains.com/issue/KT-71469) KtLightClassForDecompiledDeclaration: missed kotlinOrigin
- [`KT-70710`](https://youtrack.jetbrains.com/issue/KT-70710) Provide light classes for KMP modules in Android Lint
- [`KT-70548`](https://youtrack.jetbrains.com/issue/KT-70548) SLC: text of class object access expression is not the same as raw text
- [`KT-70572`](https://youtrack.jetbrains.com/issue/KT-70572) SLC: missing `isInheritor` implementation for type parameter
- [`KT-70491`](https://youtrack.jetbrains.com/issue/KT-70491) SLC: inconsistent source PSI of no-arg constructor for all default values
- [`KT-70458`](https://youtrack.jetbrains.com/issue/KT-70458) SLC: missed `auxiliaryOriginalElement` for delegated property
- [`KT-70232`](https://youtrack.jetbrains.com/issue/KT-70232) Support a companion object inside value classes
- [`KT-70349`](https://youtrack.jetbrains.com/issue/KT-70349) `@delegate`:\` annotations are missed for light class fields
- [`KT-68328`](https://youtrack.jetbrains.com/issue/KT-68328) Move KtLightClassBase to ULC
##### Analysis API. Providers and Caches
- [`KT-65618`](https://youtrack.jetbrains.com/issue/KT-65618) K2: resulted FirClass.psi != requested PsiClass from completion
- [`KT-69292`](https://youtrack.jetbrains.com/issue/KT-69292) K2: Analysis API: A property's `MUST_BE_INITIALIZED` diagnostic is not updated after changing `field` usage in an accessor
- [`KT-71468`](https://youtrack.jetbrains.com/issue/KT-71468) Drop redundant logic from LLFirJavaFacadeForBinaries
- [`KT-71700`](https://youtrack.jetbrains.com/issue/KT-71700) Cache result of resolveToCall
- [`KT-71520`](https://youtrack.jetbrains.com/issue/KT-71520) Analysis API: `LLFirNativeForwardDeclarationsSymbolProvider` spends a lot of time in indices
##### Analysis API. Standalone
- [`KT-65110`](https://youtrack.jetbrains.com/issue/KT-65110) Analysis API: In Standalone mode the order of symbols is unstable
##### Analysis API. Stubs and Decompilation
- [`KT-71565`](https://youtrack.jetbrains.com/issue/KT-71565) KtClassOrObject should use isLocal from greenStub
##### Analysis API. Surface
##### New Features
- [`KT-69960`](https://youtrack.jetbrains.com/issue/KT-69960) `resolveToCallCandidates` should support operators
- [`KT-69961`](https://youtrack.jetbrains.com/issue/KT-69961) `resolveToCallCandidates` should support properties
##### Performance Improvements
- [`KT-70529`](https://youtrack.jetbrains.com/issue/KT-70529) KaSymbol: reduce the number of `cached` usages
- [`KT-70165`](https://youtrack.jetbrains.com/issue/KT-70165) Introduce PSI-based `KaSymbol`s for K2
##### Fixes
- [`KT-69371`](https://youtrack.jetbrains.com/issue/KT-69371) Analysis API: expose only interfaces/abstract classes for the resolution API
- [`KT-69696`](https://youtrack.jetbrains.com/issue/KT-69696) KaSymbolByFirBuilder should filter call-site substitutions
- [`KT-69679`](https://youtrack.jetbrains.com/issue/KT-69679) KaDelegatedConstructorCall should have substituted signature
- [`KT-70206`](https://youtrack.jetbrains.com/issue/KT-70206) `anonymousSymbol` API throws an exception for regular functions
- [`KT-69699`](https://youtrack.jetbrains.com/issue/KT-69699) Receiver type is not substituted in the case of conflict declarations
- [`KT-69381`](https://youtrack.jetbrains.com/issue/KT-69381) Analysis API: Investigate the viability of current `KaSymbol` caches
- [`KT-70199`](https://youtrack.jetbrains.com/issue/KT-70199) K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments
- [`KT-70661`](https://youtrack.jetbrains.com/issue/KT-70661) Invalid FirDeclarationOrigin ScriptTopLevelDestructuringDeclarationContainer
- [`KT-70663`](https://youtrack.jetbrains.com/issue/KT-70663) KaFirDestructuringDeclarationSymbol: Failed requirement
- [`KT-63490`](https://youtrack.jetbrains.com/issue/KT-63490) Analysis API: Accessing the Analysis API should be prohibited during dumb mode
- [`KT-63390`](https://youtrack.jetbrains.com/issue/KT-63390) K2: Analysis API: add annotations to KtClassInitializerSymbol
- [`KT-55124`](https://youtrack.jetbrains.com/issue/KT-55124) Design common ancestor for KtValueParameter and KtReceiverParameterSymbol
- [`KT-71731`](https://youtrack.jetbrains.com/issue/KT-71731) directlyOverridenSymbols/allOverridenSymbols works incorrectly for intersection overrides
##### Apple Ecosystem
- [`KT-66262`](https://youtrack.jetbrains.com/issue/KT-66262) Deprecate and remove support for bitcode embedding from the Kotlin Gradle plugin
- [`KT-66894`](https://youtrack.jetbrains.com/issue/KT-66894) XCFramework task fails when name passed to xcframework DSL is different from framework's name
- [`KT-65675`](https://youtrack.jetbrains.com/issue/KT-65675) XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworks
- [`KT-69119`](https://youtrack.jetbrains.com/issue/KT-69119) xcodeVersion task fails if Xcode isn't installed and apple-specific native targets aren't declared
##### Backend. Wasm
##### New Features
- [`KT-70786`](https://youtrack.jetbrains.com/issue/KT-70786) Improve DX of the variable view during debugging in Chrome/Firefox for Kotlin/Wasm
- [`KT-70331`](https://youtrack.jetbrains.com/issue/KT-70331) Support incremental compilation for the Wasm backend
- [`KT-71686`](https://youtrack.jetbrains.com/issue/KT-71686) K/Wasm: Add functions to convert between Kotlin and JS array types
- [`KT-68185`](https://youtrack.jetbrains.com/issue/KT-68185) \[WasmJs] Attach js exception object to JsException
##### Fixes
- [`KT-71294`](https://youtrack.jetbrains.com/issue/KT-71294) Wasm Artifacts/Resource are being loaded relatively instead of absolutely
- [`KT-71473`](https://youtrack.jetbrains.com/issue/KT-71473) K/Wasm: Use `--closed-world` and related options for Binaryen
- [`KT-72297`](https://youtrack.jetbrains.com/issue/KT-72297) \[Wasm] Unused associated object class lead to compiler fail
- [`KT-72156`](https://youtrack.jetbrains.com/issue/KT-72156) custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven public
- [`KT-65799`](https://youtrack.jetbrains.com/issue/KT-65799) K/Wasm: remove default exports from wasm exports
- [`KT-71800`](https://youtrack.jetbrains.com/issue/KT-71800) Wasm compiler: Fix member generation for data classes with an array-type property
- [`KT-71580`](https://youtrack.jetbrains.com/issue/KT-71580) String::toFloat on wasm behaves differently compared to other targets
- [`KT-71523`](https://youtrack.jetbrains.com/issue/KT-71523) K/Wasm: cleanup after fix for KT-71474
- [`KT-71475`](https://youtrack.jetbrains.com/issue/KT-71475) K/Wasm: KClass::qualifiedName returns incorrect result for nested or companion objects
- [`KT-71474`](https://youtrack.jetbrains.com/issue/KT-71474) K/Wasm: KProperty\*Impl equals work incorrectly for clabbale reference created in different files or modules
- [`KT-61130`](https://youtrack.jetbrains.com/issue/KT-61130) K/Wasm: Function signatures may clash with base class internal methods from a friend module
- [`KT-70820`](https://youtrack.jetbrains.com/issue/KT-70820) \[Kotlin QG] wasm-validator fails when running compile\[...]KotlinWasmJsOptimize
- [`KT-70819`](https://youtrack.jetbrains.com/issue/KT-70819) \[Kotlin QG] node.js fails when running wasmJs\[...]Test KGP tasks
- [`KT-70394`](https://youtrack.jetbrains.com/issue/KT-70394) Investigate increased wasm binary size after switching stdlib compilation to K2
- [`KT-69627`](https://youtrack.jetbrains.com/issue/KT-69627) Remove `create###Array` functions from WASM stdlib
- [`KT-68509`](https://youtrack.jetbrains.com/issue/KT-68509) Fatal: error validating input in compileProductionExecutableKotlinWasmJsOptimize
##### Compiler
##### New Features
- [`KT-71094`](https://youtrack.jetbrains.com/issue/KT-71094) Kotlin/Native incremental compilation: fail compilation if cache build failed
- [`KT-21908`](https://youtrack.jetbrains.com/issue/KT-21908) Support 'when' exhaustiveness checking for generic type parameter with sealed class upper bound
- [`KT-70679`](https://youtrack.jetbrains.com/issue/KT-70679) Kotlin/Native: fill WritableTypeInfo from Swift Export type mapping
- [`KT-59798`](https://youtrack.jetbrains.com/issue/KT-59798) Builder inference is not working when combined with `let` expression
- [`KT-54227`](https://youtrack.jetbrains.com/issue/KT-54227) Cannot use nullable Nothing as reified type parameter
- [`KT-71430`](https://youtrack.jetbrains.com/issue/KT-71430) Kotlin-to-Java direct actualization implementation
- [`KT-68163`](https://youtrack.jetbrains.com/issue/KT-68163) Expose supplementary compiler warnings via CLI
- [`KT-69321`](https://youtrack.jetbrains.com/issue/KT-69321) Swift export: enable auto-linkage of binary dependencies
- [`KT-11526`](https://youtrack.jetbrains.com/issue/KT-11526) Improve diagnostics for "X overrides nothing"
- [`KT-49710`](https://youtrack.jetbrains.com/issue/KT-49710) False positive NO\_ELSE\_IN\_WHEN with nullable type as receiver
- [`KT-69729`](https://youtrack.jetbrains.com/issue/KT-69729) Support calling super interface Java methods from Kotlin interface
- [`KT-69508`](https://youtrack.jetbrains.com/issue/KT-69508) Improve "Public-API inline function cannot access non-public-API" check for the inline property accessors
##### Performance Improvements
- [`KT-71353`](https://youtrack.jetbrains.com/issue/KT-71353) FP Kotlin performance degradation (around Cone types hierarchy changes)
- [`KT-71159`](https://youtrack.jetbrains.com/issue/KT-71159) \[K2] OOM on large enum classes with fields
- [`KT-69718`](https://youtrack.jetbrains.com/issue/KT-69718) K2: Check for jvm nullability annotations in fir2ir is slow
- [`KT-68417`](https://youtrack.jetbrains.com/issue/KT-68417) Native: LLVM 16 inliner is slow on K/N-produced modules
- [`KT-63971`](https://youtrack.jetbrains.com/issue/KT-63971) K2: Redundant `@ParameterName` in abbreviated type in metadata
##### Fixes
- [`KT-71550`](https://youtrack.jetbrains.com/issue/KT-71550) JVM IR: NPE on identity equals of boolean true with null
- [`KT-72214`](https://youtrack.jetbrains.com/issue/KT-72214) -fpass-plugin (clangFlags) is not applied since Kotlin 2.0.20
- [`KT-68933`](https://youtrack.jetbrains.com/issue/KT-68933) CompilationException: Back-end: Could not get inlined class
- [`KT-72255`](https://youtrack.jetbrains.com/issue/KT-72255) Promote jspecify from warning to error
- [`KT-73065`](https://youtrack.jetbrains.com/issue/KT-73065) CCE with context receivers
- [`KT-61033`](https://youtrack.jetbrains.com/issue/KT-61033) K2: implement a diagnostic corresponding to K1's MISSING\_BUILT\_IN\_DECLARATION
- [`KT-72345`](https://youtrack.jetbrains.com/issue/KT-72345) K2: Method 'get' without `@Override` annotation not called
- [`KT-71260`](https://youtrack.jetbrains.com/issue/KT-71260) K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner when there is no actual for expect
- [`KT-72996`](https://youtrack.jetbrains.com/issue/KT-72996) false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operator
- [`KT-72552`](https://youtrack.jetbrains.com/issue/KT-72552) AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped types
- [`KT-71751`](https://youtrack.jetbrains.com/issue/KT-71751) K2: Skipping code in last statement of lambda
- [`KT-71121`](https://youtrack.jetbrains.com/issue/KT-71121) Kotlin/JS incremental compilation fails with KotlinIllegalArgumentExceptionWithAttachments
- [`KT-60521`](https://youtrack.jetbrains.com/issue/KT-60521) Drop language versions 1.4 and 1.5
- [`KT-70461`](https://youtrack.jetbrains.com/issue/KT-70461) K2: "Inline class types should have the same representation" caused by value class and smart check
- [`KT-72238`](https://youtrack.jetbrains.com/issue/KT-72238) Argument type mismatch in builder inside extension function after ?:
- [`KT-70306`](https://youtrack.jetbrains.com/issue/KT-70306) K2: Lambdas are unserializable: inferred from Java param `? super I`
- [`KT-67383`](https://youtrack.jetbrains.com/issue/KT-67383) Incorrect optimisation when optimising for loop with UByte
- [`KT-68653`](https://youtrack.jetbrains.com/issue/KT-68653) Switch latest stable language version in Kotlin project to 2.1
- [`KT-71708`](https://youtrack.jetbrains.com/issue/KT-71708) False negative UNSUPPORTED for collection literals as trailing return value
- [`KT-72281`](https://youtrack.jetbrains.com/issue/KT-72281) K/N: "Failed to wait for cache to be built"
- [`KT-72017`](https://youtrack.jetbrains.com/issue/KT-72017) Enum property reflection returning null KClassifier property for Enum classes defined inside Kotlin Scripts
- [`KT-69040`](https://youtrack.jetbrains.com/issue/KT-69040) PCLA: deal with "deep" calls that can be fully analyzed properly
- [`KT-69920`](https://youtrack.jetbrains.com/issue/KT-69920) K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilation
- [`KT-69549`](https://youtrack.jetbrains.com/issue/KT-69549) Try to move callable reference transformation earlier in pipeline
- [`KT-63944`](https://youtrack.jetbrains.com/issue/KT-63944) Kotlin/Native: Cache flavor selection doesn't respect GC kind
- [`KT-71649`](https://youtrack.jetbrains.com/issue/KT-71649) K2: Put operator on mutableMap\<T?, V>() causes crashes on null key
- [`KT-70667`](https://youtrack.jetbrains.com/issue/KT-70667) K2: "Type parameter \* has inconsistent bounds" caused by wildcard and where-clause
- [`KT-70562`](https://youtrack.jetbrains.com/issue/KT-70562) `@SubclassOptInRequired` cannot accept multiple experimental marker
- [`KT-69407`](https://youtrack.jetbrains.com/issue/KT-69407) K2: Compiler crash (Shouldn't be here) due to unresolved reference in FirProjectionRelationChecker
- [`KT-71508`](https://youtrack.jetbrains.com/issue/KT-71508) JAVA\_CLASS\_INHERITS\_KT\_PRIVATE\_CLASS isn't reported when java class is inherited from an effectively private class
- [`KT-72178`](https://youtrack.jetbrains.com/issue/KT-72178) K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "\_" as key type in EnumMap
- [`KT-70407`](https://youtrack.jetbrains.com/issue/KT-70407) Error/warning message for `@SubclassOptInRequired`-annotated class should provide more context
- [`KT-72302`](https://youtrack.jetbrains.com/issue/KT-72302) K2: no error on type operator in annotation parameter default value
- [`KT-58820`](https://youtrack.jetbrains.com/issue/KT-58820) OPT\_IN\_USAGE\_ERROR's message text does not account for SubclassOptInRequired
- [`KT-71662`](https://youtrack.jetbrains.com/issue/KT-71662) PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variable
- [`KT-69739`](https://youtrack.jetbrains.com/issue/KT-69739) K2: "KotlinIllegalArgumentExceptionWithAttachments: Unexpected FirPlaceholderProjectionImpl" caused by unresolved references
- [`KT-72154`](https://youtrack.jetbrains.com/issue/KT-72154) Dokka fails with `not array: KClass<out Annotation>` on Kotlin 2.1.20-dev with `@SubclassOptInRequired`
- [`KT-70756`](https://youtrack.jetbrains.com/issue/KT-70756) K2. Compiler crash with FileAnalysisException on incorrect symbol in nesting lambda
- [`KT-72173`](https://youtrack.jetbrains.com/issue/KT-72173) K2: simple object names from root package are resolved without imports in non-root packages when used as values
- [`KT-71480`](https://youtrack.jetbrains.com/issue/KT-71480) JAVA\_CLASS\_INHERITS\_KT\_PRIVATE\_CLASS isn't reported while java object isn't created
- [`KT-71034`](https://youtrack.jetbrains.com/issue/KT-71034) Failing compiler/testData/codegen/box/inlineClasses/kt70461.kt
- [`KT-71016`](https://youtrack.jetbrains.com/issue/KT-71016) K/Wasm: Failing compiler/testData/codegen/box/inlineClasses/kt70461.kt
- [`KT-52469`](https://youtrack.jetbrains.com/issue/KT-52469) Deprecate reified type parameter instantiating into intersection types
- [`KT-71753`](https://youtrack.jetbrains.com/issue/KT-71753) PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignment
- [`KT-59871`](https://youtrack.jetbrains.com/issue/KT-59871) K2: Fix introduced diagnostics
- [`KT-71563`](https://youtrack.jetbrains.com/issue/KT-71563) 'llegalStateException: Source classes should be created separately before referencing' when actualized through typealias and java direct actualization
- [`KT-64741`](https://youtrack.jetbrains.com/issue/KT-64741) Avoid leaking ConeTypeVariable types in diagnostics from PCLA
- [`KT-60447`](https://youtrack.jetbrains.com/issue/KT-60447) Builder inference fails to infer generic type argument from local class
- [`KT-69170`](https://youtrack.jetbrains.com/issue/KT-69170) K2: "Unresolved reference" caused by generics and fun interfaces
- [`KT-71756`](https://youtrack.jetbrains.com/issue/KT-71756) K2 evaluator: broken resolve of private members during debug of Kotlin project itself
- [`KT-68893`](https://youtrack.jetbrains.com/issue/KT-68893) Invalid annotation in contract crashes with K2
- [`KT-71490`](https://youtrack.jetbrains.com/issue/KT-71490) K2: missing REDUNDANT\_ELSE\_IN\_WHEN
- [`KT-64403`](https://youtrack.jetbrains.com/issue/KT-64403) Implement BlackBoxCodegenTestSpecGenerated for K2
- [`KT-71551`](https://youtrack.jetbrains.com/issue/KT-71551) JVM IR K1: NPE on generating a function imported from an object from another module
- [`KT-71210`](https://youtrack.jetbrains.com/issue/KT-71210) K2: false negative FUNCTION\_CALL\_EXPECTED / NESTED\_CLASS\_ACCESSED\_VIA\_INSTANCE\_REFERENCE with companion objects
- [`KT-71528`](https://youtrack.jetbrains.com/issue/KT-71528) K2/JVM: ClassCastException around Array\<Nothing?>
- [`KT-71228`](https://youtrack.jetbrains.com/issue/KT-71228) K2: "IllegalArgumentException: Failed requirement" caused by lambda parameter and class type
- [`KT-71738`](https://youtrack.jetbrains.com/issue/KT-71738) K2: False negative REDECLARATION inside object expression
- [`KT-71701`](https://youtrack.jetbrains.com/issue/KT-71701) K2: false positive CAN\_BE\_VAL with lateinit and non-in-place lambda
- [`KT-68694`](https://youtrack.jetbrains.com/issue/KT-68694) K2 IDE / Kotlin Debugger: AE “Unresolved reference: \<HIDDEN: samples/gen/classes/enum class/EnumClass.lam is invisible” on evaluating private lambda inside enum entry
- [`KT-70970`](https://youtrack.jetbrains.com/issue/KT-70970) K2 IDE / Kotlin Debugger: AE “Only assignable IrValues can be set” on calling overloaded inc() operator on interface
- [`KT-70824`](https://youtrack.jetbrains.com/issue/KT-70824) K2: NoSuchFieldException when evaluating private extension property
- [`KT-70390`](https://youtrack.jetbrains.com/issue/KT-70390) K2 IDE / Kotlin Debugger: can't invoke lambda from private class during evaluation
- [`KT-68701`](https://youtrack.jetbrains.com/issue/KT-68701) K2 IDE / Kotlin Debugger: AE “ERROR\_CALL 'Unresolved reference: \<HIDDEN: /privateLambda is invisible>#' type=IrErrorType(null)” on evaluating private top-level lambda
- [`KT-68695`](https://youtrack.jetbrains.com/issue/KT-68695) K2 IDE / Kotlin Debugger: AE “Unsupported callable reference” on evaluating ::lateinitStr on private lateinit property
- [`KT-70861`](https://youtrack.jetbrains.com/issue/KT-70861) K2 IDE / Kotlin Debugger: can't evaluate Clazz::class call for private class
- [`KT-34911`](https://youtrack.jetbrains.com/issue/KT-34911) Improve error message for WRONG\_ANNOTATION\_TARGET: list applicable targets
- [`KT-71601`](https://youtrack.jetbrains.com/issue/KT-71601) K2: When with a subject of type dynamic always considered exhaustive
- [`KT-33091`](https://youtrack.jetbrains.com/issue/KT-33091) Kotlin/Native: Compiler crashes if an external class is declared
- [`KT-59651`](https://youtrack.jetbrains.com/issue/KT-59651) K1/K2: Assertion error on external enum usage attempt
- [`KT-69939`](https://youtrack.jetbrains.com/issue/KT-69939) Extract a category of internal FIR checkers from supplementary FIR checkers
- [`KT-70850`](https://youtrack.jetbrains.com/issue/KT-70850) Pull down typeArguments from ConeKotlinType to ConeClassLikeType
- [`KT-71117`](https://youtrack.jetbrains.com/issue/KT-71117) K2: "IllegalArgumentException: No type for StarProjection" with star projection and function type
- [`KT-71251`](https://youtrack.jetbrains.com/issue/KT-71251) Native & JS K2: Missing check for calling `isInitialized` inside inline fun
- [`KT-70161`](https://youtrack.jetbrains.com/issue/KT-70161) Native: extracting LLVM 16 on Linux makes the compiler print many "Ignoring unknown extended header keyword 'LIBARCHIVE.creationtime'" messages
- [`KT-71215`](https://youtrack.jetbrains.com/issue/KT-71215) K2: UB due to the erroneous greening of the red code with multiple delegation with java
- [`KT-59386`](https://youtrack.jetbrains.com/issue/KT-59386) K2: Missing CONSTANT\_EXPECTED\_TYPE\_MISMATCH
- [`KT-69564`](https://youtrack.jetbrains.com/issue/KT-69564) Make using -Xuse-k2 compiler flag an error
- [`KT-69756`](https://youtrack.jetbrains.com/issue/KT-69756) TypeOfLowering: don't create constant object nodes before inlining
- [`KT-66328`](https://youtrack.jetbrains.com/issue/KT-66328) K2: implement an error for KT-66324
- [`KT-71046`](https://youtrack.jetbrains.com/issue/KT-71046) K/N: a separate lowering to convert function reference to IrConstantObject
- [`KT-69223`](https://youtrack.jetbrains.com/issue/KT-69223) Drop parallel lowering mode in JVM backend
- [`KT-70260`](https://youtrack.jetbrains.com/issue/KT-70260) `@JsPlainObject`: improve compiler error if a method is present
- [`KT-67739`](https://youtrack.jetbrains.com/issue/KT-67739) Improve error message when JDK used in -Xjdk-release has corrupted class files
- [`KT-63964`](https://youtrack.jetbrains.com/issue/KT-63964) K2: different naming of classes defined in script in metadata
- [`KT-70014`](https://youtrack.jetbrains.com/issue/KT-70014) Common inference: introduce rigidTypeMarker
- [`KT-71352`](https://youtrack.jetbrains.com/issue/KT-71352) Cannot load script definition class org.gradle.kotlin.dsl.KotlinProjectScriptTemplate
- [`KT-63502`](https://youtrack.jetbrains.com/issue/KT-63502) Getting java.lang.ClassNotFoundException: javaslang.λ during compilation
- [`KT-66316`](https://youtrack.jetbrains.com/issue/KT-66316) Kotlin/Native: make `@Escapes` annotation required for all external functions
- [`KT-69653`](https://youtrack.jetbrains.com/issue/KT-69653) Prohibit exposing types via type parameters' bounds
- [`KT-68451`](https://youtrack.jetbrains.com/issue/KT-68451) Inconsistent rules of CFA in enum initialization block
- [`KT-70893`](https://youtrack.jetbrains.com/issue/KT-70893) K2: Bogus NO\_COMPANION\_OBJECT on resolve to private qualifier
- [`KT-70965`](https://youtrack.jetbrains.com/issue/KT-70965) FIR/AA: Initializers for Java annotation arguments mapping capture use-site sessions
- [`KT-63945`](https://youtrack.jetbrains.com/issue/KT-63945) K2: Prevent possible diagnostic loss
- [`KT-64453`](https://youtrack.jetbrains.com/issue/KT-64453) K2: Implement ComposeLikeIr...TestGenerated for K2
- [`KT-30424`](https://youtrack.jetbrains.com/issue/KT-30424) Confusing error message "modality is different"
- [`KT-70846`](https://youtrack.jetbrains.com/issue/KT-70846) Replace `ConeKotlinType.nullability` with `isMarkedNullable` on specific types
- [`KT-56720`](https://youtrack.jetbrains.com/issue/KT-56720) K2: false positive MANY\_IMPL\_MEMBER\_NOT\_IMPLEMENTED in case of delegation in diamond inheritance
- [`KT-69937`](https://youtrack.jetbrains.com/issue/KT-69937) Define & enforce user-friendly terminology for extended checkers
- [`KT-64406`](https://youtrack.jetbrains.com/issue/KT-64406) K2: Implement CompileKotlinAgainstJavaTestGenerated for K2
- [`KT-69938`](https://youtrack.jetbrains.com/issue/KT-69938) Validate sets of default compiler warnings and supplementary compiler warnings
- [`KT-68971`](https://youtrack.jetbrains.com/issue/KT-68971) Investigate suspicious fragmentation of FIR trees for string literals with interpolation
- [`KT-71073`](https://youtrack.jetbrains.com/issue/KT-71073) Multi-dollar strings: parser grabs too much if backticks follow a short sequence of '$'
- [`KT-71213`](https://youtrack.jetbrains.com/issue/KT-71213) Rethrow exceptions in checkers with some useful attachments
- [`KT-70395`](https://youtrack.jetbrains.com/issue/KT-70395) K2: "Captured Type does not have a classifier" caused by `out` type and interface hierarchy
- [`KT-70133`](https://youtrack.jetbrains.com/issue/KT-70133) K2: false negative UNINITIALIZED\_VARIABLE when postponed lambda is created before initialization
- [`KT-70625`](https://youtrack.jetbrains.com/issue/KT-70625) K2: ClassCastException caused by function reference, star projection and invariant type parameter
- [`KT-70835`](https://youtrack.jetbrains.com/issue/KT-70835) K2: "TYPE\_MISMATCH" caused by operator assignment
- [`KT-70366`](https://youtrack.jetbrains.com/issue/KT-70366) K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class "
- [`KT-68834`](https://youtrack.jetbrains.com/issue/KT-68834) Parentheses don't influence calls of any convention operators (except invoke operator) after safe navigation operator
- [`KT-70358`](https://youtrack.jetbrains.com/issue/KT-70358) K2: "java.lang.IllegalArgumentException: No type for StarProjection" when using a star projection on a function type
- [`KT-69298`](https://youtrack.jetbrains.com/issue/KT-69298) K2: "Initializer type mismatch" caused by elvis operator type inference for nullable typealias
- [`KT-71189`](https://youtrack.jetbrains.com/issue/KT-71189) K2: emit 'DELEGATE\_SPECIAL\_FUNCTION\_MISSING' and 'DELEGATE\_SPECIAL\_FUNCTION\_NONE\_APPLICABLE' on 'by' keyword
- [`KT-71178`](https://youtrack.jetbrains.com/issue/KT-71178) K2: False negative NO\_ELSE\_IN\_WHEN in when over nullable type with `!is Nothing?` check
- [`KT-70812`](https://youtrack.jetbrains.com/issue/KT-70812) False positive NO\_ELSE\_IN\_WHEN with nullable type argument as subject
- [`KT-70947`](https://youtrack.jetbrains.com/issue/KT-70947) False positive NO\_ELSE\_IN\_WHEN with DNN subject and nullable sealed class upper bound
- [`KT-70752`](https://youtrack.jetbrains.com/issue/KT-70752) Review diagnostics with whole declaration as range
- [`KT-71160`](https://youtrack.jetbrains.com/issue/KT-71160) K2: Rendering of flexible collection types and arrays is too verbose
- [`KT-61227`](https://youtrack.jetbrains.com/issue/KT-61227) Definitely non-nullable types cause "Any was expected" for `@Nullable` parameter
- [`KT-69389`](https://youtrack.jetbrains.com/issue/KT-69389) K2: NONE\_APPLICABLE instead of more useful "type mismatch" error with overloads and parameter nullability mismatch
- [`KT-69829`](https://youtrack.jetbrains.com/issue/KT-69829) Missed UNRESOLVED\_LABEL for label in returns and loops
- [`KT-61223`](https://youtrack.jetbrains.com/issue/KT-61223) JDK 21: new addFirst/addLast and putFirst/putLast methods allow adding nullable value for non-null types
- [`KT-66742`](https://youtrack.jetbrains.com/issue/KT-66742) Supertypes with inaccessible type arguments are allowed
- [`KT-62906`](https://youtrack.jetbrains.com/issue/KT-62906) Type system: consider changing simple type & DNN type relation
- [`KT-70104`](https://youtrack.jetbrains.com/issue/KT-70104) Update the error message for calling super Java interface methods case
- [`KT-69794`](https://youtrack.jetbrains.com/issue/KT-69794) K2: Wrong target is reported for EXPOSED\_SUPER\_INTERFACE diagnostic
- [`KT-70724`](https://youtrack.jetbrains.com/issue/KT-70724) False-positive UNINITIALIZED\_VARIABLE for inline constructor with late-initialized variables
- [`KT-70749`](https://youtrack.jetbrains.com/issue/KT-70749) False-positive UNINITIALIZED\_VARIABLE for inline fun with crossinline modifier
- [`KT-65805`](https://youtrack.jetbrains.com/issue/KT-65805) Migrate builtins serializer to K2
- [`KT-71004`](https://youtrack.jetbrains.com/issue/KT-71004) FirSignatureEnhancement#enhance mutates attributes on the original function
- [`KT-70813`](https://youtrack.jetbrains.com/issue/KT-70813) Questionable behavior for calls on ILT receivers
- [`KT-70208`](https://youtrack.jetbrains.com/issue/KT-70208) 'when' is not exhaustive for expect Boolean
- [`KT-69210`](https://youtrack.jetbrains.com/issue/KT-69210) Native: tune LLVM optimization pipeline
- [`KT-70753`](https://youtrack.jetbrains.com/issue/KT-70753) K2: Missing non-null assertion on the return value of try-catch block
- [`KT-70012`](https://youtrack.jetbrains.com/issue/KT-70012) EXTENSION\_SHADOWED\_BY\_MEMBER shouldn't be reported for actual declarations
- [`KT-70837`](https://youtrack.jetbrains.com/issue/KT-70837) K2. "Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource" on incorrect call with extension fun
- [`KT-66751`](https://youtrack.jetbrains.com/issue/KT-66751) Implement a general deprecation of types with inaccessible type arguments
- [`KT-68748`](https://youtrack.jetbrains.com/issue/KT-68748) K2: Remove `irFactory` from `Fir2IrComponents`
- [`KT-61659`](https://youtrack.jetbrains.com/issue/KT-61659) K2: Implement the `EXTENSION_SHADOWED_BY_MEMBER` warning
- [`KT-70709`](https://youtrack.jetbrains.com/issue/KT-70709) Range for MUST\_BE\_INITIALIZED shouldn't include property annotations
- [`KT-63294`](https://youtrack.jetbrains.com/issue/KT-63294) Do not use duplicated compiler argument names across the codebase
- [`KT-70673`](https://youtrack.jetbrains.com/issue/KT-70673) False positive NO\_ELSE\_IN\_WHEN with nullable Boolean as subject
- [`KT-70672`](https://youtrack.jetbrains.com/issue/KT-70672) False positive NO\_ELSE\_IN\_WHEN with nullable Enum as subject
- [`KT-69207`](https://youtrack.jetbrains.com/issue/KT-69207) Native: use lld when the compiler produces binaries for a Linux target
- [`KT-67696`](https://youtrack.jetbrains.com/issue/KT-67696) Native: compiler crashes when loading an LLVM bitcode file of unsupported version
- [`KT-69767`](https://youtrack.jetbrains.com/issue/KT-69767) K2: Investigate differences in tests without alias behavior for cyclic expansion
- [`KT-70617`](https://youtrack.jetbrains.com/issue/KT-70617) K2: ClassCastException caused by Java enum with overridden `name` property
- [`KT-68796`](https://youtrack.jetbrains.com/issue/KT-68796) Non-first invoke operator calls break chained calls of convention operators after safe navigation operator
- [`KT-67772`](https://youtrack.jetbrains.com/issue/KT-67772) K2: Metadata misses NoInfer annotation for unsafeCast result
- [`KT-70304`](https://youtrack.jetbrains.com/issue/KT-70304) \[FIR2IR] Missing `@NoInfer`
- [`KT-65085`](https://youtrack.jetbrains.com/issue/KT-65085) K2: Get rid of special check for unresolved array literals on argument mapping phase
- [`KT-65066`](https://youtrack.jetbrains.com/issue/KT-65066) K1 crashes, K2 doesn't report type mismatch on array literal inside nested annotation call
- [`KT-49235`](https://youtrack.jetbrains.com/issue/KT-49235) Kotlin interface limited to 1000 super types
- [`KT-69991`](https://youtrack.jetbrains.com/issue/KT-69991) K2/JVM: Backend crash with functional types and KFunctions
- [`KT-7461`](https://youtrack.jetbrains.com/issue/KT-7461) Forbid using projection modifiers inside top-level Array in annotation's value parameter
- [`KT-52315`](https://youtrack.jetbrains.com/issue/KT-52315) Legacy keywords (header, impl) break enum definitions
- [`KT-69499`](https://youtrack.jetbrains.com/issue/KT-69499) Native: aggressive inline of runtime procedures causes compiler crash in debug builds
- [`KT-69737`](https://youtrack.jetbrains.com/issue/KT-69737) Native: incompatible target-cpu attributes between runtime and Kotlin code
- [`KT-69911`](https://youtrack.jetbrains.com/issue/KT-69911) Unexpected line numbers in default setter
- [`KT-61529`](https://youtrack.jetbrains.com/issue/KT-61529) K2: Unexpected FirClassLikeSymbol null with -no-jdk
- [`KT-69475`](https://youtrack.jetbrains.com/issue/KT-69475) K2: No "Name contains illegal characters" for package name with dots inside
- [`KT-69484`](https://youtrack.jetbrains.com/issue/KT-69484) Native: remove default values for `isObjectType`
- [`KT-70352`](https://youtrack.jetbrains.com/issue/KT-70352) K2: False-negative CONFLICTING\_UPPER\_BOUNDS on `Nothing` bound
- [`KT-59781`](https://youtrack.jetbrains.com/issue/KT-59781) K2: investigate implicit cast generation in fir2ir vs psi2ir
- [`KT-70036`](https://youtrack.jetbrains.com/issue/KT-70036) \[FIR2IR] Fix param name in overridden setter
- [`KT-68718`](https://youtrack.jetbrains.com/issue/KT-68718) \[JVM] Generic function is instantiated with wrong type argument
- [`KT-67983`](https://youtrack.jetbrains.com/issue/KT-67983) K2: False negative "Recursive type alias in expansion" at recursive typealiases
- [`KT-70328`](https://youtrack.jetbrains.com/issue/KT-70328) K2: `@UnsafeVariance` stored in the metadata despite the Source retention
- [`KT-70313`](https://youtrack.jetbrains.com/issue/KT-70313) K2: Don't add `Any` supertype to `kotlin.Nothing` compiled from sources
- [`KT-69982`](https://youtrack.jetbrains.com/issue/KT-69982) K2: New errors when executing `:kotlin-stdlib:jvmJar`
- [`KT-70169`](https://youtrack.jetbrains.com/issue/KT-70169) K2: implement a deprecation error for Synchronized, Throws, JvmField on annotation parameters
- [`KT-67651`](https://youtrack.jetbrains.com/issue/KT-67651) K2: inconsistency in behavior for SAM constructor with flexible type
- [`KT-63857`](https://youtrack.jetbrains.com/issue/KT-63857) K2: Extra `operator` modifier in metadata
- [`KT-70182`](https://youtrack.jetbrains.com/issue/KT-70182) K2: Set up `isOperator` flag according to operator naming conventions during building synthetic overrides for Java methods
- [`KT-20798`](https://youtrack.jetbrains.com/issue/KT-20798) Implement a deprecation warning for reified modifier on type parameters of type alias
- [`KT-68697`](https://youtrack.jetbrains.com/issue/KT-68697) K2 IDE / Kotlin Debugger: NSEE “List is empty.” when method reference is used in some place in code
- [`KT-70157`](https://youtrack.jetbrains.com/issue/KT-70157) K2: false positive JAVA\_CLASS\_INHERITS\_KT\_PRIVATE\_CLASS for a Java private class
- [`KT-68702`](https://youtrack.jetbrains.com/issue/KT-68702) K2 IDE: AE “SyntheticAccessorLowering should not attempt to modify other files!” on evaluating of supermethods toString() and hashCode()
- [`KT-69509`](https://youtrack.jetbrains.com/issue/KT-69509) K2 IDE / Kotlin Debugger: exception in lowering ReplaceKFunctionInvokeWithFunctionInvoke when compiling code fragment
- [`KT-66323`](https://youtrack.jetbrains.com/issue/KT-66323) K2: Clarify contracts of `ConeSubstitutorByMap`
- [`KT-69652`](https://youtrack.jetbrains.com/issue/KT-69652) K2: False positive "Redundant visibility modifier" with explicitApi()
- [`KT-65815`](https://youtrack.jetbrains.com/issue/KT-65815) K2: False-positive NO\_RETURN\_IN\_FUNCTION\_WITH\_BLOCK\_BODY with inline function returning Nothing?
- [`KT-60508`](https://youtrack.jetbrains.com/issue/KT-60508) K2/stdlib: compilation of common code fails if built-in types are provided as platform sources
- [`KT-70037`](https://youtrack.jetbrains.com/issue/KT-70037) K2: Generate IR body for `Any` constructor despite that fact it's empty
- [`KT-69870`](https://youtrack.jetbrains.com/issue/KT-69870) K2: False positive NO\_VALUE\_FOR\_PARAMETER for override without default but base with default and with enabled KMP
- [`KT-69599`](https://youtrack.jetbrains.com/issue/KT-69599) K2: Investiage and fix lots of `UNRESOLVED_REFERENCE` during building stdlib native with K2
- [`KT-68375`](https://youtrack.jetbrains.com/issue/KT-68375) K2: FirPrimaryConstructorSuperTypeChecker fails on generated superclasses
- [`KT-58309`](https://youtrack.jetbrains.com/issue/KT-58309) Deal with test failures inside FirTypeEnhancementTestGenerated
- [`KT-27112`](https://youtrack.jetbrains.com/issue/KT-27112) Implement prohibition of exposing types via type parameters' bounds
- [`KT-69831`](https://youtrack.jetbrains.com/issue/KT-69831) Add long FastJarFS tests to the `nightlyFirCompilerTest` configuration
- [`KT-69537`](https://youtrack.jetbrains.com/issue/KT-69537) K2: Unintentional behavior caused by InferMoreImplicationsFromBooleanExpressions
- [`KT-59814`](https://youtrack.jetbrains.com/issue/KT-59814) K2: Explore why `FirDataFlowAnalyzer` strips away value parameters of non top-level-functions
- [`KT-69069`](https://youtrack.jetbrains.com/issue/KT-69069) K2: expect overloads are deprioritized in common code
- [`KT-69511`](https://youtrack.jetbrains.com/issue/KT-69511) KJS / K2: False positive IMPLICIT\_BOXING\_IN\_IDENTITY\_EQUALS when comparing dynamic with primitive
- [`KT-69500`](https://youtrack.jetbrains.com/issue/KT-69500) Native: introduce an option to inline less "ALWAYS\_INLINE" runtime procedures
- [`KT-69717`](https://youtrack.jetbrains.com/issue/KT-69717) K2: Don't call `coneType`/`coneTypeOrNull` extensions on `FirResolvedTypeRef`
- [`KT-60440`](https://youtrack.jetbrains.com/issue/KT-60440) K2/Java: investigate constructor own type parameters enhancement
- [`KT-69871`](https://youtrack.jetbrains.com/issue/KT-69871) K2 allows modifier keywords on `package` declaration
- [`KT-61271`](https://youtrack.jetbrains.com/issue/KT-61271) Frontend: "The label does not denote a loop." error message is used even if the label does denote a loop
- [`KT-69768`](https://youtrack.jetbrains.com/issue/KT-69768) K2: Investigate differences in tests without alias behavior with typealias to enum entry
- [`KT-63846`](https://youtrack.jetbrains.com/issue/KT-63846) K2: incorrect type argument inferred for smart cast value of a generic type
- [`KT-69774`](https://youtrack.jetbrains.com/issue/KT-69774) Don't report overload resolution ambiguity if extension receiver contains error type
- [`KT-61316`](https://youtrack.jetbrains.com/issue/KT-61316) K2: Consider throwing exception when replaceType is called on special FirExpressions with immutable types
- [`KT-69201`](https://youtrack.jetbrains.com/issue/KT-69201) Discard expect candidate in overload conflict resolver if there is no actual
- [`KT-69557`](https://youtrack.jetbrains.com/issue/KT-69557) K2: Investigate failures with enabled assertion in `ConeResolvedAtom` constructor
- [`KT-69783`](https://youtrack.jetbrains.com/issue/KT-69783) K2: Make FirTypeProjection sealed
- [`KT-68000`](https://youtrack.jetbrains.com/issue/KT-68000) Investigate getting container functions in checkers
- [`KT-69649`](https://youtrack.jetbrains.com/issue/KT-69649) K2: Cleanup various utilities about `toSymbol` conversion
- [`KT-69185`](https://youtrack.jetbrains.com/issue/KT-69185) K2: Prepare a test runner for diagnostic tests with type aliases non-expanded automatically
- [`KT-69390`](https://youtrack.jetbrains.com/issue/KT-69390) UNRESOLVED\_REFERENCE on call with lambda argument turns whole call red
- [`KT-68794`](https://youtrack.jetbrains.com/issue/KT-68794) K2 IDE / Kotlin Debugger: ISE “No real overrides for FUN FAKE\_OVERRIDE name:privateFun visibility:private modality:FINAL” on calling private function from superclass in debugger
- [`KT-69315`](https://youtrack.jetbrains.com/issue/KT-69315) FirJavaGenericVarianceViolationTypeChecker: StackOverflowError
- [`KT-49962`](https://youtrack.jetbrains.com/issue/KT-49962) "Visibility inherited is not allowed in forVisibility" when analyzing broken file
- [`KT-24212`](https://youtrack.jetbrains.com/issue/KT-24212) Report "This class shouldn't be used in Kotlin" on calling constructor of Java class with Kotlin analog
- [`KT-64195`](https://youtrack.jetbrains.com/issue/KT-64195) K2: Consider make `FirAnonymousInitializer. containingDeclarationSymbol` not null
- [`KT-64254`](https://youtrack.jetbrains.com/issue/KT-64254) "Projections are not allowed on type arguments of functions and properties": Type-project type arguments of properties
- [`KT-40533`](https://youtrack.jetbrains.com/issue/KT-40533) Error message PROPERTY\_WITH\_NO\_TYPE\_NO\_INITIALIZER for interface property is not fully correct
- [`KT-20014`](https://youtrack.jetbrains.com/issue/KT-20014) Improve diagnostics for lateinit property without initializer and type annotation
- [`KT-51366`](https://youtrack.jetbrains.com/issue/KT-51366) False positive error "Value class cannot extend classes" when extending generic interface with wrong number of type arguments
- [`KT-68277`](https://youtrack.jetbrains.com/issue/KT-68277) K2: false positive UNREACHABLE\_CODE for non-local `return`/`break`
- [`KT-69544`](https://youtrack.jetbrains.com/issue/KT-69544) K2: Mapped Java `@Target` annotation's vararg argument has swapped type and elementType
- [`KT-68998`](https://youtrack.jetbrains.com/issue/KT-68998) K2: Refactor postponed atoms
- [`KT-69288`](https://youtrack.jetbrains.com/issue/KT-69288) Native: Apple LLVM 16 fork can't read bitcode with memory attribute produced by upstream LLVM 16
- [`KT-67808`](https://youtrack.jetbrains.com/issue/KT-67808) K2: Inconsistent properties initialization analysis in init blocks in presence of smartcast on this
- [`KT-69035`](https://youtrack.jetbrains.com/issue/KT-69035) K2: Investigate potential removal of FirMangler
- [`KT-69473`](https://youtrack.jetbrains.com/issue/KT-69473) Missing suspend-conversion for lambda in the last statement of when with expected type
- [`KT-64640`](https://youtrack.jetbrains.com/issue/KT-64640) Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collections
- [`KT-65441`](https://youtrack.jetbrains.com/issue/KT-65441) K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfaces
- [`KT-54792`](https://youtrack.jetbrains.com/issue/KT-54792) Store program order of properties inside `@kotlin`.Metadata
- [`KT-59832`](https://youtrack.jetbrains.com/issue/KT-59832) K2: Fix the TODO about merging values for labels in UnusedChecker
##### Compose compiler
##### New features
- [`b/328817808`](https://issuetracker.google.com/issues/328817808) Added the PausableComposition feature flags
- [`83c48a0`](https://github.com/JetBrains/kotlin/commit/83c48a0dc54c8b48bd46805c84c5df215558134d) Decoy support for JS target is removed from Compose compiler
##### Fixes
- [`CMP-6926`](https://youtrack.jetbrains.com/issue/CMP-6926) iOS compilation failure: Unresolved reference 'copy'
- [`CMP-6842`](https://youtrack.jetbrains.com/issue/CMP-6842) FAKE\_OVERRIDE declarations are not preserved in metadata and should not be marked with annotations
- [`CMP-6788`](https://youtrack.jetbrains.com/issue/CMP-6788) non-private field compilation warnings (stableprop & ComposableSingletons)
- [`CMP-6685`](https://youtrack.jetbrains.com/issue/CMP-6685) Native/WASM compilation failure on Composable function with value-type arg + return
- [`b/376058538`](https://issuetracker.google.com/issues/376058538) Fix stack overflow when inferring stability of indirect generic loop
- [`b/339322843`](https://issuetracker.google.com/issues/339322843) Transform `@Composable` property delegate references
- [`b/366040842`](https://issuetracker.google.com/issues/366040842), [`b/365066530`](https://issuetracker.google.com/issues/365066530) Replace deep copy in Compose plugin with in-place type mutation
- [`b/329477544`](https://issuetracker.google.com/issues/329477544) Force open / overridden Composable functions to be non-restartable.
- [`b/361652128`](https://issuetracker.google.com/issues/361652128) Disable live literal transform if the corresponding flag is disabled
- [`b/325004814`](https://issuetracker.google.com/issues/325004814) \[Compose] Fix infinite recursion in target analysis
- [`b/357878245`](https://issuetracker.google.com/issues/357878245) Disallow open `@Composable` functions with default params to fix binary compatibility issues.
- [`b/338597078`](https://issuetracker.google.com/issues/338597078) \[Compose] Fix target warning message
- [`b/351858979`](https://issuetracker.google.com/issues/351858979) Fix stability inferencing of interfaces on incremental compilation
- [`b/346821372`](https://issuetracker.google.com/issues/346821372) \[Compose] Fix code generation for group optimization
- [`b/339311821`](https://issuetracker.google.com/issues/339311821) Give warning when stability configuration file is not found
- [`b/346821372`](https://issuetracker.google.com/issues/346821372) Fixes group generation for if statements when nonSkippingGroupOptimization is enabled.
##### IDE. Gradle Integration
- [`KT-48554`](https://youtrack.jetbrains.com/issue/KT-48554) \[Multiplatform Import] Ensure consistency between `GradleImportProperties` and `PropertiesProvider`
##### IR. Actualizer
- [`KT-71631`](https://youtrack.jetbrains.com/issue/KT-71631) Kotlin-to-Java direct actualization: java annotation element isn't actualized
- [`KT-71597`](https://youtrack.jetbrains.com/issue/KT-71597) Kotlin-to-Java direct actualization: it is possible to actualize a function with default parameters
- [`KT-71592`](https://youtrack.jetbrains.com/issue/KT-71592) Kotlin-to-Java direct actualization: constructor of nested class can't be actualized
- [`KT-71577`](https://youtrack.jetbrains.com/issue/KT-71577) Kotlin-to-Java direct actualization: method can be actualized by java static method
- [`KT-69632`](https://youtrack.jetbrains.com/issue/KT-69632) K2: Expect actual mismatch on actualization with alias to expect class
- [`KT-71817`](https://youtrack.jetbrains.com/issue/KT-71817) Actualization of static members is broken for non-JVM platforms
##### IR. Inlining
##### New Features
- [`KT-69527`](https://youtrack.jetbrains.com/issue/KT-69527) Set the right visibility for synthetic accessors in SyntheticAccessorLowering
##### Fixes
- [`KT-71232`](https://youtrack.jetbrains.com/issue/KT-71232) Implement an IR validation check that ensures that all IrFields are private on non-JVM backends
- [`KT-69307`](https://youtrack.jetbrains.com/issue/KT-69307) Source offsets seem incorrect after IR inlining
- [`KT-72884`](https://youtrack.jetbrains.com/issue/KT-72884) Internal error in body lowering: IllegalStateException: Can't inline given reference, it should've been lowered
- [`KT-71659`](https://youtrack.jetbrains.com/issue/KT-71659) IR Inliner fails to inline function expressions due to implicit cast from the 1st phase of inlining
- [`KT-69681`](https://youtrack.jetbrains.com/issue/KT-69681) IR: Report warnings on exposure of private types in non-private inline functions
- [`KT-72521`](https://youtrack.jetbrains.com/issue/KT-72521) Kotlin/Native: java.lang.AssertionError: kfun:androidx.compose.runtime#access$\<get-androidx\_compose\_runtime\_ProvidedValue$stable>$p$tComposerKt(){}kotlin.Int
- [`KT-72623`](https://youtrack.jetbrains.com/issue/KT-72623) Don't generate synthetic accessors in files other than the one being lowered
- [`KT-70420`](https://youtrack.jetbrains.com/issue/KT-70420) Enable double-inlining in Native & JS backends by default
- [`KT-67292`](https://youtrack.jetbrains.com/issue/KT-67292) Handling assertions before the IR inliner
- [`KT-70423`](https://youtrack.jetbrains.com/issue/KT-70423) KLIB: SyntheticAccessorLowering - generate static factory functions instead of synthetic constructors
- [`KT-69565`](https://youtrack.jetbrains.com/issue/KT-69565) Don't generate synthetic accessors for private symbols inside local classes
- [`KT-69787`](https://youtrack.jetbrains.com/issue/KT-69787) Handle clashes of synthetic accessors generated for top-level callables
- [`KT-71137`](https://youtrack.jetbrains.com/issue/KT-71137) Generate synthetic accessors for backing fields
- [`KT-67172`](https://youtrack.jetbrains.com/issue/KT-67172) Native & JS: Introduce OuterThisInInlineFunctionsSpecialAccessorLowering
- [`KT-64865`](https://youtrack.jetbrains.com/issue/KT-64865) Explicitly generate accessors for private declarations in inline functions
- [`KT-71657`](https://youtrack.jetbrains.com/issue/KT-71657) K/JS: Double-inlining causes failures in IC with top-level synthetic accessors
- [`KT-71078`](https://youtrack.jetbrains.com/issue/KT-71078) Inline all functions in local classes at the 1st stage of inlining
- [`KT-69802`](https://youtrack.jetbrains.com/issue/KT-69802) Don't extract local classes from inline functions in double inlining mode
- [`KT-66508`](https://youtrack.jetbrains.com/issue/KT-66508) IR inliner: Add implicit cast for initializer of temporary variables
- [`KT-66507`](https://youtrack.jetbrains.com/issue/KT-66507) IR inliner: Enable implicit casts in all KLib backends
- [`KT-69466`](https://youtrack.jetbrains.com/issue/KT-69466) IrInlinedFunctionBlock: Refactor it to make it possible to serialize in KLIBs
- [`KT-69317`](https://youtrack.jetbrains.com/issue/KT-69317) IR Inlining. Try to place inlined arguments outside `IrInlinedFunctionBlock`
- [`KT-67149`](https://youtrack.jetbrains.com/issue/KT-67149) Common Native/JS lowering prefix at the 2nd phase of compilation
- [`KT-69172`](https://youtrack.jetbrains.com/issue/KT-69172) Implement double-inlining for Native
- [`KT-67304`](https://youtrack.jetbrains.com/issue/KT-67304) Keep in common prefix: Shared variables + local classes in inline lambdas
- [`KT-67170`](https://youtrack.jetbrains.com/issue/KT-67170) ArrayConstructorReferenceLowering is missing in Native
- [`KT-70583`](https://youtrack.jetbrains.com/issue/KT-70583) Internal error in body lowering: java.lang.IllegalStateException: An attempt to generate an accessor after all accessors have been already added to their containers
- [`KT-69700`](https://youtrack.jetbrains.com/issue/KT-69700) Inline `stub_for_inlining` use sites survive after the inliner
- [`KT-69462`](https://youtrack.jetbrains.com/issue/KT-69462) Support dumping IR after inlining in compiler tests
- [`KT-70693`](https://youtrack.jetbrains.com/issue/KT-70693) IR: replace IrReturnableBlock.inlineFucntion with IrInlinedFunctionBlock.inlineFucntion
- [`KT-70763`](https://youtrack.jetbrains.com/issue/KT-70763) IR inline: consider storing stub\_for\_inline as an inlined function for callable reference
- [`KT-69168`](https://youtrack.jetbrains.com/issue/KT-69168) Wrap assertion calls before IR inliner
- [`KT-69167`](https://youtrack.jetbrains.com/issue/KT-69167) Create intrinsics in stdlib for handling assertions in KLIB-based backends
- [`KT-69169`](https://youtrack.jetbrains.com/issue/KT-69169) Expand assertion intrinsics in backend based on CLI parameters
- [`KT-69174`](https://youtrack.jetbrains.com/issue/KT-69174) Implement the basic Synthetic Accessors Lowering for KLIB-based backends
##### IR. Interpreter
- [`KT-70388`](https://youtrack.jetbrains.com/issue/KT-70388) K2 IDE / Kotlin Debugger: InterpreterError “Unsupported number of arguments for invocation as builtin function: INT\_MAX\_POWER\_OF\_TWO” during evaluation
##### IR. Tree
##### Fixes
- [`KT-69644`](https://youtrack.jetbrains.com/issue/KT-69644) Report warning on cross-file IrGetField operations generated by compiler plugins
- [`KT-68789`](https://youtrack.jetbrains.com/issue/KT-68789) Prepare tests for testing visibility (non-)violation in inlined IR
- [`KT-71826`](https://youtrack.jetbrains.com/issue/KT-71826) stdlib fails to compile with `-Xserialize-ir=all`
- [`KT-70333`](https://youtrack.jetbrains.com/issue/KT-70333) IR: remove ability to apply compiler plugins during KAPT stub generation phase
- [`KT-67752`](https://youtrack.jetbrains.com/issue/KT-67752) Make copyRemappedTypeArgumentsFrom and transformValueArguments methods in DeepCopyIrTreeWithSymbols protected instead of private
- [`KT-68151`](https://youtrack.jetbrains.com/issue/KT-68151) Setup testing visibility of referenced declarations in IR
- [`KT-68988`](https://youtrack.jetbrains.com/issue/KT-68988) \[Tests] Streamline the order of irFiles in IR- and Kotlin-like dumps
- [`KT-65773`](https://youtrack.jetbrains.com/issue/KT-65773) Auto generate IR implementation classes
- [`KT-70330`](https://youtrack.jetbrains.com/issue/KT-70330) Automatically keep track of IrValueParameter.index
- [`KT-68495`](https://youtrack.jetbrains.com/issue/KT-68495) Compile-time failure on bounded generic value used in a contains-check with range
- [`KT-68974`](https://youtrack.jetbrains.com/issue/KT-68974) Validate scopes of IrValueParameters in IrValidator
##### JavaScript
##### New Features
- [`KT-70254`](https://youtrack.jetbrains.com/issue/KT-70254) K/JS: Generate arrows in ES6 mode instead of anonymous functions
- [`KT-70283`](https://youtrack.jetbrains.com/issue/KT-70283) KJS / ES6: Don't generate bind(this) calls for anonymous functions that capture `this`
##### Fixes
- [`KT-43567`](https://youtrack.jetbrains.com/issue/KT-43567) KJS: toString() method and string interpolation of variable produce different code
- [`KT-70533`](https://youtrack.jetbrains.com/issue/KT-70533) KJS: changed string concatenation behavior in 2.0
- [`KT-14013`](https://youtrack.jetbrains.com/issue/KT-14013) JS toString produces different result for nullable/non-nullable ref to the same array
- [`KT-72732`](https://youtrack.jetbrains.com/issue/KT-72732) KJS / ES6: "SyntaxError: 'super' keyword unexpected here" with enabled `-Xir-generate-inline-anonymous-functions` and disabled arrow functions
- [`KT-69408`](https://youtrack.jetbrains.com/issue/KT-69408) \[JS] Enable insertAdditionalImplicitCasts=true (as in other KLIB-based backends)
- [`KT-71821`](https://youtrack.jetbrains.com/issue/KT-71821) K/JS tests are failing with coroutines flow and turbine on timeout
- [`KT-31799`](https://youtrack.jetbrains.com/issue/KT-31799) Allow non-identifier characters in Kotlin/JS (backquoted properties, `@JsName`)
- [`KT-55869`](https://youtrack.jetbrains.com/issue/KT-55869) Coroutine is not intercepted, when the coroutine is started calling `startCoroutineUninterceptedOrReturn` using callable reference
- [`KT-70117`](https://youtrack.jetbrains.com/issue/KT-70117) Generate debug info for code from `js` call
- [`KT-69642`](https://youtrack.jetbrains.com/issue/KT-69642) ES generator-based coroutines rely on eval
- [`KT-67452`](https://youtrack.jetbrains.com/issue/KT-67452) K2: Consider hiding dynamic type creation under FlexibleTypeFactory for JS only
- [`KT-70226`](https://youtrack.jetbrains.com/issue/KT-70226) Delete JS tests that were only run with the legacy JS backend
- [`KT-71338`](https://youtrack.jetbrains.com/issue/KT-71338) K/JS: Add a flag for switching generating arrow functions on & off
- [`KT-69173`](https://youtrack.jetbrains.com/issue/KT-69173) Implement double-inlining for JS
- [`KT-67327`](https://youtrack.jetbrains.com/issue/KT-67327) JS: Remove error tolerance
- [`KT-69892`](https://youtrack.jetbrains.com/issue/KT-69892) Array.isArray() returns false for an instance returned by KtList.asReadonlyArrayView()
- [`KT-70231`](https://youtrack.jetbrains.com/issue/KT-70231) Delete the org.jetbrains.kotlin.cli.js.dce.K2JSDce class
- [`KT-69928`](https://youtrack.jetbrains.com/issue/KT-69928) KJS: keys() and values() of KtMap's JS view don't behave as expected
- [`KT-70707`](https://youtrack.jetbrains.com/issue/KT-70707) KJS: asJsReadonlyMapView does not implement ReadonlyMap correctly
- [`KT-71220`](https://youtrack.jetbrains.com/issue/KT-71220) Fix invalid IrFunctionReference creation in InnerClassConstructorCallsLowering
- [`KT-70393`](https://youtrack.jetbrains.com/issue/KT-70393) Investigate failing JS test after switch stdlib compilation to K2
- [`KT-64429`](https://youtrack.jetbrains.com/issue/KT-64429) K2: Implement KlibJsIrTextTestCaseGenerated for K2
- [`KT-69587`](https://youtrack.jetbrains.com/issue/KT-69587) \[Tests] Fix multi-module deserialization in JS irText tests
- [`KT-70219`](https://youtrack.jetbrains.com/issue/KT-70219) Delete the org.jetbrains.kotlin.cli.js.K2JSCompiler class
- [`KT-70221`](https://youtrack.jetbrains.com/issue/KT-70221) Rename org.jetbrains.kotlin.cli.js.K2JsIrCompiler to K2JSCompiler
- [`KT-70229`](https://youtrack.jetbrains.com/issue/KT-70229) Remove test classes related to the legacy JS backend
- [`KT-70359`](https://youtrack.jetbrains.com/issue/KT-70359) Remove legacy backend-related test directives from Kotlin/JS tests
- [`KT-70362`](https://youtrack.jetbrains.com/issue/KT-70362) Clean up Gradle tasks for running JS tests against the legacy JS backend
- [`KT-66181`](https://youtrack.jetbrains.com/issue/KT-66181) Reorganize JsCodeOutliningLowering and keep it before the IR inliner
- [`KT-30016`](https://youtrack.jetbrains.com/issue/KT-30016) JS BE does not generate special bridge methods
- [`KT-68975`](https://youtrack.jetbrains.com/issue/KT-68975) KJS: Investigate calling `js(...)` from inline functions
##### KMM Plugin
- [`KT-71011`](https://youtrack.jetbrains.com/issue/KT-71011) AS KMP plugin: ios application can't start for 2024.2.1
##### Klibs
##### New Features
- [`KT-64169`](https://youtrack.jetbrains.com/issue/KT-64169) \[KLIB Resolve] Don't skip libraries that happen to have the same `unique_name`
- [`KT-68322`](https://youtrack.jetbrains.com/issue/KT-68322) Compiler (JS, Wasm): warn about incompatible Kotlin stdlib/compiler pair
##### Fixes
- [`KT-61098`](https://youtrack.jetbrains.com/issue/KT-61098) \[KLIB Resolve] Don't allow working with KLIB "repositories"
- [`KT-72965`](https://youtrack.jetbrains.com/issue/KT-72965) Ignore subclassOptInRequired constructor warning
- [`KT-68792`](https://youtrack.jetbrains.com/issue/KT-68792) Bump KLIB ABI version in 2.1
- [`KT-67474`](https://youtrack.jetbrains.com/issue/KT-67474) K2: Missing `@ExtensionFunctionType` in metadata in KLIBs
- [`KT-71633`](https://youtrack.jetbrains.com/issue/KT-71633) \[2.1.0] Suspicious "Argument type mismatch" error
- [`KT-70146`](https://youtrack.jetbrains.com/issue/KT-70146) \[KLIB Resolve] Don't fail on nonexistent transitive dependency
- [`KT-71455`](https://youtrack.jetbrains.com/issue/KT-71455) \[KLIB Resolve] Forbid passing KLIB unique names via CLI
- [`KT-67448`](https://youtrack.jetbrains.com/issue/KT-67448) \[KLIB Resolve] Deprecate passing KLIB unique names via CLI
- [`KT-67450`](https://youtrack.jetbrains.com/issue/KT-67450) \[KLIB Resolve] Kotlin/Native: Only one implicit repository should remain for the compiler ("dist")
- [`KT-70285`](https://youtrack.jetbrains.com/issue/KT-70285) Warning about incompatible stdlib (JS/Wasm) is not reported if stdlib is unpacked
- [`KT-66218`](https://youtrack.jetbrains.com/issue/KT-66218) Clean-up the code for serialization & deserialization of DFGs to & from KLIBs
- [`KT-71414`](https://youtrack.jetbrains.com/issue/KT-71414) KotlinLibraryResolver.resolveWithDependencies was evolved in binary incompatible way
- [`KT-68195`](https://youtrack.jetbrains.com/issue/KT-68195) move KlibMetadataProtoBuf to frondend-independent module
##### Language Design
- [`KT-54617`](https://youtrack.jetbrains.com/issue/KT-54617) Stabilize `@SubclassOptInRequired`: ability to require opt-in for interface implementation
- [`KT-54458`](https://youtrack.jetbrains.com/issue/KT-54458) Preview of non-local break and continue
- [`KT-69924`](https://youtrack.jetbrains.com/issue/KT-69924) Mention 'if' guard when '&&' is used incorrectly
- [`KT-71222`](https://youtrack.jetbrains.com/issue/KT-71222) Remove `@ExperimentalSubclassOptIn` from SubclassOptInRequired
- [`KT-67675`](https://youtrack.jetbrains.com/issue/KT-67675) Allow usage of Array\<Nothing?>
- [`KT-70754`](https://youtrack.jetbrains.com/issue/KT-70754) Changes in typeOf behaviour for Kotlin/Native
- [`KT-58659`](https://youtrack.jetbrains.com/issue/KT-58659) Prohibit implementing a var property with an inherited val property
##### Libraries
##### Performance Improvements
- [`KT-66715`](https://youtrack.jetbrains.com/issue/KT-66715) Performance: faster alternative to String.lines()
##### Fixes
- [`KT-71628`](https://youtrack.jetbrains.com/issue/KT-71628) Review deprecations in stdlib for 2.1
- [`KT-69545`](https://youtrack.jetbrains.com/issue/KT-69545) Kotlin/Native: Deprecate API marked with FreezingIsDeprecated to error
- [`KT-56076`](https://youtrack.jetbrains.com/issue/KT-56076) K2: build Kotlin standard library
- [`KT-71660`](https://youtrack.jetbrains.com/issue/KT-71660) Stabilize experimental API for 2.1
- [`KT-54299`](https://youtrack.jetbrains.com/issue/KT-54299) Extract org.w3c declarations to separate library from K/Wasm Stdlib
- [`KT-68027`](https://youtrack.jetbrains.com/issue/KT-68027) Document caveats and deincentivise usage of measureTimeMillis
- [`KT-71581`](https://youtrack.jetbrains.com/issue/KT-71581) Update outdated documentation to common lazy and provide samples
- [`KT-71796`](https://youtrack.jetbrains.com/issue/KT-71796) Improve documentation for Path.walk and Path.visitFileTree functions
- [`KT-68019`](https://youtrack.jetbrains.com/issue/KT-68019) Fill in missing package descriptions for standard library documentation
- [`KT-52181`](https://youtrack.jetbrains.com/issue/KT-52181) Native: Inconsistent behaviour of LinkedHashMap#entries on JVM and Native
- [`KT-71570`](https://youtrack.jetbrains.com/issue/KT-71570) Document suspend lambda builder
- [`KT-65526`](https://youtrack.jetbrains.com/issue/KT-65526) Rewrite builtins as expect-actual
- [`KT-68502`](https://youtrack.jetbrains.com/issue/KT-68502) K2: Fix or suppress stdlib K2 warnings
- [`KT-68731`](https://youtrack.jetbrains.com/issue/KT-68731) K2: Handle some formally incompatible expect/actual classes in JVM stdlib
- [`KT-70378`](https://youtrack.jetbrains.com/issue/KT-70378) Implement custom serialization for Uuid
- [`KT-70005`](https://youtrack.jetbrains.com/issue/KT-70005) K/Wasm and K/Native: IntArray.sort - array element access out of bounds
- [`KT-66764`](https://youtrack.jetbrains.com/issue/KT-66764) kotlinx-benchmark: rework on kotlin-compiler-embeddable
- [`KT-69817`](https://youtrack.jetbrains.com/issue/KT-69817) Set up klib binary API validation for stdlib
- [`KT-68396`](https://youtrack.jetbrains.com/issue/KT-68396) Handle some formally incompatible top-level expects/actuals callables
- [`KT-69524`](https://youtrack.jetbrains.com/issue/KT-69524) kotlin.uuid.Uuid: checkHyphenAt - error message always specified index 8
- [`KT-69327`](https://youtrack.jetbrains.com/issue/KT-69327) \[native] FloatingPointParser.initialParse works incorrectly for some inputs
- [`KT-46785`](https://youtrack.jetbrains.com/issue/KT-46785) Get rid of !! after readLine() in the standard library
##### Native
- [`KT-71435`](https://youtrack.jetbrains.com/issue/KT-71435) Native: cannot access class 'objcnames.classes.Protocol'
- [`KT-49279`](https://youtrack.jetbrains.com/issue/KT-49279) Kotlin/Native: update LLVM from 11.1.0 to 16.0.0
- [`KT-61299`](https://youtrack.jetbrains.com/issue/KT-61299) Native: patch LLVM to prevent it from using signal handlers incompatibly with JVM
- [`KT-69637`](https://youtrack.jetbrains.com/issue/KT-69637) Native: our LLVM shouldn't advise submitting bugs to the upstream
- [`KT-64636`](https://youtrack.jetbrains.com/issue/KT-64636) kotlin.incremental.native=true causes IrLinkageError
- [`KT-69142`](https://youtrack.jetbrains.com/issue/KT-69142) ObsoleteWorkersApi and FreezingIsDeprecated is not displayed on targets in webdocs
##### Native. Build Infrastructure
- [`KT-71820`](https://youtrack.jetbrains.com/issue/KT-71820) Update the coroutines version used in kotlin-native build infrastructure
- [`KT-69479`](https://youtrack.jetbrains.com/issue/KT-69479) Native: remove custom python version building from the LLVM builder container image
- [`KT-63214`](https://youtrack.jetbrains.com/issue/KT-63214) \[K/N] llvm build script fails with MacOSX14.0.sdk sysroot
##### Native. ObjC Export
- [`KT-62997`](https://youtrack.jetbrains.com/issue/KT-62997) IllegalStateException for hashCode(): KClass for Objective-C classes is not supported yet
- [`KT-59497`](https://youtrack.jetbrains.com/issue/KT-59497) KClass.simpleName returns null in ObjC-inherited class
##### Native. Platform Libraries
- [`KT-70032`](https://youtrack.jetbrains.com/issue/KT-70032) Rebuild platform libraries in 2.1.0 with Xcode 16
- [`KT-69448`](https://youtrack.jetbrains.com/issue/KT-69448) LLVM 16 clang with Xcode 16 headers: 'sys/cdefs.h' file not found
##### Native. Runtime
- [`KT-70680`](https://youtrack.jetbrains.com/issue/KT-70680) Kotlin/Native: Use WritableTypeInfo when creating Swift wrapper from the runtime
- [`KT-70568`](https://youtrack.jetbrains.com/issue/KT-70568) Native: revert workaround for debug with LLVM 16
- [`KT-67730`](https://youtrack.jetbrains.com/issue/KT-67730) Native: fix runtime compilation warnings after update to LLVM 16
##### Native. Runtime. Memory
- [`KT-72624`](https://youtrack.jetbrains.com/issue/KT-72624) Native: testRelease\_on\_unattached\_thread sometimes fails with Releasing StableRef with rc 0
- [`KT-71401`](https://youtrack.jetbrains.com/issue/KT-71401) K/N: CMS barrier can be executed on an unregisterred thread
- [`KT-70364`](https://youtrack.jetbrains.com/issue/KT-70364) Kotlin/Native: data race during GC initialization
- [`KT-68544`](https://youtrack.jetbrains.com/issue/KT-68544) \[Native] Implement heap dump tool
- [`KT-70365`](https://youtrack.jetbrains.com/issue/KT-70365) Kotlin/Native: make thread id be pointer size
##### Native. Swift Export
##### New Features
- [`KT-71539`](https://youtrack.jetbrains.com/issue/KT-71539) Swift Export: export class member overrides
- [`KT-70442`](https://youtrack.jetbrains.com/issue/KT-70442) Swift Export: export class inheritance
- [`KT-68864`](https://youtrack.jetbrains.com/issue/KT-68864) Refactor internal details of swift-export-standalone
##### Fixes
- [`KT-70678`](https://youtrack.jetbrains.com/issue/KT-70678) Swift Export: generate Kotlin<->Swift type mapping
- [`KT-70920`](https://youtrack.jetbrains.com/issue/KT-70920) Swift Export Nullability: primitive type
- [`KT-71087`](https://youtrack.jetbrains.com/issue/KT-71087) Swift Export: Nullability: Never
- [`KT-71086`](https://youtrack.jetbrains.com/issue/KT-71086) Swift Export: Nullability: Strings
- [`KT-70919`](https://youtrack.jetbrains.com/issue/KT-70919) Swift Export Nullability: reference type
- [`KT-71026`](https://youtrack.jetbrains.com/issue/KT-71026) Swift Export: function overloading with ref types does not work
- [`KT-70960`](https://youtrack.jetbrains.com/issue/KT-70960) Swift Export nullability: add nullability to sir and printer
- [`KT-70063`](https://youtrack.jetbrains.com/issue/KT-70063) Swift export generates invalid Swift code for class and function with the same name
- [`KT-70069`](https://youtrack.jetbrains.com/issue/KT-70069) Swift export: filter out extension properties
- [`KT-70068`](https://youtrack.jetbrains.com/issue/KT-70068) Swift export: nullable types are not marked as unsupported
- [`KT-69287`](https://youtrack.jetbrains.com/issue/KT-69287) Swift Export: support leaking dependencies
- [`KT-69633`](https://youtrack.jetbrains.com/issue/KT-69633) Provide interface for multiple module translation
- [`KT-69286`](https://youtrack.jetbrains.com/issue/KT-69286) \[Swift Export]\[TestInfra] Support translating multiple roots
- [`KT-69376`](https://youtrack.jetbrains.com/issue/KT-69376) Property with Any type does not force addition of import
##### Reflection
- [`KT-71378`](https://youtrack.jetbrains.com/issue/KT-71378) KotlinReflectionInternalError: Inconsistent number of parameters in the descriptor and Java reflection object
##### Specification
- [`KT-53427`](https://youtrack.jetbrains.com/issue/KT-53427) Specify `@SubclassOptInRequired`
##### Tools. CLI
##### New Features
- [`KT-8087`](https://youtrack.jetbrains.com/issue/KT-8087) Make it possible to suppress warnings globally in compiler (via command-line option)
- [`KT-71537`](https://youtrack.jetbrains.com/issue/KT-71537) Add JVM target bytecode version 23
##### Fixes
- [`KT-70991`](https://youtrack.jetbrains.com/issue/KT-70991) K2: Compilation fails if project version has a comma
- [`KT-70179`](https://youtrack.jetbrains.com/issue/KT-70179) K2: Building a file with kotlin-test-junit without junit does not include annotations
- [`KT-72311`](https://youtrack.jetbrains.com/issue/KT-72311) KotlinCliJavaFileManagerImpl caches empty result and broke repeated analyses
- [`KT-61745`](https://youtrack.jetbrains.com/issue/KT-61745) K2: support light tree in multi-module chunk mode
- [`KT-70885`](https://youtrack.jetbrains.com/issue/KT-70885) Errors are not reported for wrong arguments in -Xsuppress-warning flag for non-jvm backends
- [`KT-69541`](https://youtrack.jetbrains.com/issue/KT-69541) K2: "IllegalArgumentException: Unexpected versionNeededToExtract" on using JAR packaged as ZIP64
- [`KT-69434`](https://youtrack.jetbrains.com/issue/KT-69434) K2: Kotlin compiler JarFS can't handle large dependencies (>2GB)
- [`KT-70959`](https://youtrack.jetbrains.com/issue/KT-70959) K2: Support legacy metadata jar format in K2 compiler
- [`KT-70337`](https://youtrack.jetbrains.com/issue/KT-70337) Obsolete code is not removed after refactoring - `JvmEnvironmentConfigurator.registerModuleDependencies`
- [`KT-70322`](https://youtrack.jetbrains.com/issue/KT-70322) Merge CLITool and CLICompiler classes
##### Tools. CLI. Native
- [`KT-68673`](https://youtrack.jetbrains.com/issue/KT-68673) Kotlin/Native "You have not specified any compilation arguments. No output has been produced" when no source nor `-Xinclude` is passed
##### Tools. Compiler Plugins
##### Fixes
- [`KT-72804`](https://youtrack.jetbrains.com/issue/KT-72804) Regression in Kotlin 2.1.0: compilation fails when building iOS
- [`KT-72824`](https://youtrack.jetbrains.com/issue/KT-72824) Kotlin power-assert plugin StringIndexOutOfBoundsException
- [`KT-71658`](https://youtrack.jetbrains.com/issue/KT-71658) Transform top-level atomic properties to Java boxed atomics
- [`KT-65645`](https://youtrack.jetbrains.com/issue/KT-65645) Atomicfu-plugin: compilation hangs on a long string concatenation
- [`KT-69038`](https://youtrack.jetbrains.com/issue/KT-69038) Power-Assert does not display const vals
- [`KT-71525`](https://youtrack.jetbrains.com/issue/KT-71525) Setting JvmAbiConfigurationKeys.REMOVE\_PRIVATE\_CLASSES = true triggers java.util.ConcurrentModificationException
- [`KT-41888`](https://youtrack.jetbrains.com/issue/KT-41888) IrExpression startOffset and endOffset are inconsistent with raw file text
- [`KT-69856`](https://youtrack.jetbrains.com/issue/KT-69856) Compose Plugin: IrType.erasedUpperBound throws NullPointerException when evaluating IrScript nodes due to missing targetClass
- [`KT-69410`](https://youtrack.jetbrains.com/issue/KT-69410) PowerAssert: Cannot find overload of requireNotNull without existing message
- [`KT-66293`](https://youtrack.jetbrains.com/issue/KT-66293) Atomicfu-plugin: wrong return types for lowered extension functions
- [`KT-69646`](https://youtrack.jetbrains.com/issue/KT-69646) PowerAssert: result of array access operator is unaligned
- [`KT-70112`](https://youtrack.jetbrains.com/issue/KT-70112) Power Assert: multiline assertion support
- [`KT-70504`](https://youtrack.jetbrains.com/issue/KT-70504) \[atomicfu-plugin] Incremental compilation fails for atomic extensions on JVM
- [`KT-70351`](https://youtrack.jetbrains.com/issue/KT-70351) K2 CodeGen API exception triggered by a compose compiler plugin lowering transformer for data class example
- [`KT-70113`](https://youtrack.jetbrains.com/issue/KT-70113) Power Assert: tab support
- [`KT-69806`](https://youtrack.jetbrains.com/issue/KT-69806) K2: SOE on nested plugin-like annotation in class annotated with itself
- [`KT-69538`](https://youtrack.jetbrains.com/issue/KT-69538) jvm-abi-gen: Remove copy$default if data class constructor is private and ConsistentCopyVisibility is used
##### Tools. Compiler plugins. Serialization
- [`KT-70110`](https://youtrack.jetbrains.com/issue/KT-70110) Prohibit `@Serializable` on companion object of another `@Serializable` class
- [`KT-69388`](https://youtrack.jetbrains.com/issue/KT-69388) Serialization: "You should use ConeClassLookupTagWithFixedSymbol" caused by `@Serializable` on local generic class
##### Tools. Daemon
- [`KT-69929`](https://youtrack.jetbrains.com/issue/KT-69929) compileKotlin task reports that daemon has terminated unexpectedly
- [`KT-72530`](https://youtrack.jetbrains.com/issue/KT-72530) The daemon has terminated unexpectedly on startup attempt [#​1](https://github.com/JetBrains/kotlin/issues/1) with error code: Unknown
##### Tools. Fleet. ObjC Export
##### Fixes
- [`KT-71162`](https://youtrack.jetbrains.com/issue/KT-71162) ObjCExport: nullable functional type with reference arguments
- [`KT-71022`](https://youtrack.jetbrains.com/issue/KT-71022) ObjCExport: enum c keywords translation
- [`KT-71082`](https://youtrack.jetbrains.com/issue/KT-71082) ObjCExport: KotlinUnit translated as Function1
- [`KT-70781`](https://youtrack.jetbrains.com/issue/KT-70781) ObjCExport: classifiers and callables type parameters translation
- [`KT-70943`](https://youtrack.jetbrains.com/issue/KT-70943) ObjCExport: extension order
- [`KT-70840`](https://youtrack.jetbrains.com/issue/KT-70840) ObjCExport: duplicated interfaces
- [`KT-70642`](https://youtrack.jetbrains.com/issue/KT-70642) ObjCExport: translate collection type arguments as id
- [`KT-70546`](https://youtrack.jetbrains.com/issue/KT-70546) ObjCExport: method generic parameter is lost and translated as id
- [`KT-70329`](https://youtrack.jetbrains.com/issue/KT-70329) ObjCExport: translation and forward of super generic types
- [`KT-70263`](https://youtrack.jetbrains.com/issue/KT-70263) ObjCExport: generic extension support
- [`KT-69685`](https://youtrack.jetbrains.com/issue/KT-69685) ObjCExport: extension translated as not extension
- [`KT-70318`](https://youtrack.jetbrains.com/issue/KT-70318) ObjCExport: translate companion type
- [`KT-69252`](https://youtrack.jetbrains.com/issue/KT-69252) ObjCExport: Get rid of context receivers from ./native/objcexport-header-generator
##### Tools. Gradle
##### New Features
- [`KT-69940`](https://youtrack.jetbrains.com/issue/KT-69940) Expose supplementary compiler warnings via KGP
- [`KT-71603`](https://youtrack.jetbrains.com/issue/KT-71603) Introduce KotlinJvmExtension and KotlinAndroidExtension
- [`KT-70383`](https://youtrack.jetbrains.com/issue/KT-70383) KotlinJvmFactory registerKaptGenerateStubsTask() function should also request compilation task provider
- [`KT-65125`](https://youtrack.jetbrains.com/issue/KT-65125) Provide basic support for Swift Export in Kotlin Gradle Plugin
- [`KT-71602`](https://youtrack.jetbrains.com/issue/KT-71602) Introduce KotlinTopLevelExtension
- [`KT-69927`](https://youtrack.jetbrains.com/issue/KT-69927) Need ability to pass KotlinJvmCompilerOptions to registerKotlinJvmCompileTask()
- [`KT-71227`](https://youtrack.jetbrains.com/issue/KT-71227) \[Compose] Add PausableComposition feature flag to the Compose Gradle Plugin
- [`KT-68345`](https://youtrack.jetbrains.com/issue/KT-68345) 'composeCompiler#stabilityConfigurationFile' doesn't allow setting multiple stability configuration files
##### Performance Improvements
- [`KT-65285`](https://youtrack.jetbrains.com/issue/KT-65285) Use uncompressed Klibs
##### Fixes
- [`KT-71411`](https://youtrack.jetbrains.com/issue/KT-71411) Add FUS statistics for new Dokka tasks
- [`KT-72495`](https://youtrack.jetbrains.com/issue/KT-72495) Warn about kotlin-compiler-embeddable loaded along KGP
- [`KT-70543`](https://youtrack.jetbrains.com/issue/KT-70543) Gradle: create migration guide for those who are using Kotlin compiler classes indirectly available in buildscripts
- [`KT-69329`](https://youtrack.jetbrains.com/issue/KT-69329) Compatibility with Gradle 8.9 release
- [`KT-71291`](https://youtrack.jetbrains.com/issue/KT-71291) Log plugins from the list as Gradle plugins
- [`KT-69255`](https://youtrack.jetbrains.com/issue/KT-69255) Deprecate KotlinCompilationOutput#resourcesDirProvider
- [`KT-61706`](https://youtrack.jetbrains.com/issue/KT-61706) Gradle: remove kotlin-compiler-embeddable from build runtime dependencies
- [`KT-73128`](https://youtrack.jetbrains.com/issue/KT-73128) Apply Kotlinlang template for partial HTMLs
- [`KT-47897`](https://youtrack.jetbrains.com/issue/KT-47897) Official Kotlin Gradle plugin api
- [`KT-58858`](https://youtrack.jetbrains.com/issue/KT-58858) Add KDoc documentation for Kotlin Gradle plugin API
- [`KT-73076`](https://youtrack.jetbrains.com/issue/KT-73076) Kotlin Gradle Plugin API Reference: adjust settings
- [`KT-72387`](https://youtrack.jetbrains.com/issue/KT-72387) KGP 2.1.0-RC-227 changes cause KSP to crash calling produceUnpackedKlib
- [`KT-53280`](https://youtrack.jetbrains.com/issue/KT-53280) Gradle plugin leaks some compiler related extensions into API
- [`KT-69851`](https://youtrack.jetbrains.com/issue/KT-69851) Compatibility with Gradle 8.10 release
- [`KT-65565`](https://youtrack.jetbrains.com/issue/KT-65565) Remove deprecated common platform plugin id
- [`KT-69719`](https://youtrack.jetbrains.com/issue/KT-69719) Bump minimal supported Gradle version to 7.6.3
- [`KT-69721`](https://youtrack.jetbrains.com/issue/KT-69721) Bump minimal supported Android Gradle plugin version to 7.3.1
- [`KT-66944`](https://youtrack.jetbrains.com/issue/KT-66944) Relax host requirements on Kotlin klib compilation
- [`KT-72651`](https://youtrack.jetbrains.com/issue/KT-72651) Unable to use `target` for KotlinBaseApiPlugin.createKotlin(Jvm/Android)Extension()
- [`KT-72467`](https://youtrack.jetbrains.com/issue/KT-72467) kotlin.sourceSets extension not added for KotlinBaseApiPlugin.createKotlinAndroidExtension()
- [`KT-72303`](https://youtrack.jetbrains.com/issue/KT-72303) KGP 2.1.0-Beta2 broke compatibility with KSP
- [`KT-68596`](https://youtrack.jetbrains.com/issue/KT-68596) Update KGP deprecations before 2.1
- [`KT-67951`](https://youtrack.jetbrains.com/issue/KT-67951) Update Compose extension KDoc
- [`KT-66049`](https://youtrack.jetbrains.com/issue/KT-66049) KGP JVM: Publishing isn't compatible with isolated projects and project dependencies
- [`KT-71405`](https://youtrack.jetbrains.com/issue/KT-71405) Compose compiler gradle plugin: project.layout.file can't be used as a value of the 'stabilityConfigurationFiles' option
- [`KT-71948`](https://youtrack.jetbrains.com/issue/KT-71948) KotlinJvmFactory : get rid of replaces with TODO()
- [`KT-72092`](https://youtrack.jetbrains.com/issue/KT-72092) Gradle: use packed klib variant as the default when no packaging attribute is present
- [`KT-58956`](https://youtrack.jetbrains.com/issue/KT-58956) Offer a shared interface for JVM and Android compilerOptions in Project extension
- [`KT-70251`](https://youtrack.jetbrains.com/issue/KT-70251) Gradle: hide compiler symbols in KGP
- [`KT-70430`](https://youtrack.jetbrains.com/issue/KT-70430) Clean-up obsolete Gradle plugin variants for Gradle versions <7.6
- [`KT-69853`](https://youtrack.jetbrains.com/issue/KT-69853) Compile against Gradle API 8.10
- [`KT-69852`](https://youtrack.jetbrains.com/issue/KT-69852) Run Gradle integration tests against Gradle 8.10 release
- [`KT-65990`](https://youtrack.jetbrains.com/issue/KT-65990) Update `GradleDeprecatedOption.level` values for arguments removed from the DSL after 2.1
- [`KT-69331`](https://youtrack.jetbrains.com/issue/KT-69331) Run tests against Gradle 8.9 release
- [`KT-69332`](https://youtrack.jetbrains.com/issue/KT-69332) Compile against Gradle 8.9 API
- [`KT-67174`](https://youtrack.jetbrains.com/issue/KT-67174) Cleanup old Test DSL
- [`KT-71071`](https://youtrack.jetbrains.com/issue/KT-71071) BuildFusStatisticsIT.testInvalidFusReportDir test failes on Windows
- [`KT-69585`](https://youtrack.jetbrains.com/issue/KT-69585) KGP / Composite Build: "Could not apply withXml() to generated POM" during publishing
- [`KT-59769`](https://youtrack.jetbrains.com/issue/KT-59769) Many "Unexpected exception happened" warnings during build without internet connection
##### Tools. Gradle. Cocoapods
- [`KT-63811`](https://youtrack.jetbrains.com/issue/KT-63811) cinterop fails to build klib for iosArm64 target when iOS simulator SDK isn't installed
- [`KT-70500`](https://youtrack.jetbrains.com/issue/KT-70500) Remove useLibraries from CocoaPods plugin
- [`KT-56947`](https://youtrack.jetbrains.com/issue/KT-56947) Replace AFNetworking with a smaller library in tests
##### Tools. Gradle. JS
- [`KT-69628`](https://youtrack.jetbrains.com/issue/KT-69628) K/Wasm: Node.js version per project
- [`KT-71578`](https://youtrack.jetbrains.com/issue/KT-71578) KotlinJS. Webpack does not recompile on changes with `per-file`
- [`KT-71536`](https://youtrack.jetbrains.com/issue/KT-71536) \[JS, Wasm] Stop collecting information about KLIB IC in Kotlin2JsCompile
- [`KT-70621`](https://youtrack.jetbrains.com/issue/KT-70621) Move kotlin-test-js-runner out of Kotlin repository
- [`KT-67442`](https://youtrack.jetbrains.com/issue/KT-67442) KJS / Gradle: `kotlinStorePackageLock` fails due to OS-dependent lockfile with npm package manager
##### Tools. Gradle. Multiplatform
##### New Features
- [`KT-70469`](https://youtrack.jetbrains.com/issue/KT-70469) Add feature flag for Project Isolation and Kotlin Multiplatform
- [`KT-70897`](https://youtrack.jetbrains.com/issue/KT-70897) Add KotlinBaseApiPlugin.kotlinAndroidExtension
##### Fixes
- [`KT-71206`](https://youtrack.jetbrains.com/issue/KT-71206) KGP: Test source set may get duplicated KLIBs of different versions
- [`KT-71209`](https://youtrack.jetbrains.com/issue/KT-71209) Drop Hierarchy Template diagnostic about used shortcuts
- [`KT-69412`](https://youtrack.jetbrains.com/issue/KT-69412) Change `KotlinTargetAlreadyDeclaredChecker`'s severity from warning to error
- [`KT-70060`](https://youtrack.jetbrains.com/issue/KT-70060) KGP: handleHierarchicalStructureFlagsMigration doesn't support project isolation
- [`KT-57280`](https://youtrack.jetbrains.com/issue/KT-57280) Expose Kotlin Project Structure metadata via consumable configurations instead of accessing all gradle projects directly
- [`KT-64999`](https://youtrack.jetbrains.com/issue/KT-64999) Support Project Isolation with Kotlin Native tasks (XCode integration, Cocoapods etc)
- [`KT-64998`](https://youtrack.jetbrains.com/issue/KT-64998) Granular Metadata Dependencies Transformation is not compatible with Project Isolation
- [`KT-70650`](https://youtrack.jetbrains.com/issue/KT-70650) GenerateProjectStructureMetadata is not compatible with Project Isolation
- [`KT-71675`](https://youtrack.jetbrains.com/issue/KT-71675) checkSandboxAndWriteProtection collides with Compose's syncComposeResources
- [`KT-66461`](https://youtrack.jetbrains.com/issue/KT-66461) Promote compiler options DSL for multiplatform projects to stable
- [`KT-69323`](https://youtrack.jetbrains.com/issue/KT-69323) Don't pass platform dependencies to metadata compilation
- [`KT-72454`](https://youtrack.jetbrains.com/issue/KT-72454) Revert changes made in KT-69899 i.e. make kotlin.android.buildTypeAttribute.keep = false by default again
- [`KT-70380`](https://youtrack.jetbrains.com/issue/KT-70380) KMM App failed to consume android binary lib
- [`KT-71423`](https://youtrack.jetbrains.com/issue/KT-71423) Xcode archive missing dSYM files since Kotlin 2.0.20
- [`KT-69899`](https://youtrack.jetbrains.com/issue/KT-69899) KMP: Publish BuildType by default for android publications with multiple variants
- [`KT-71428`](https://youtrack.jetbrains.com/issue/KT-71428) Change deprecation message for KMP target shorcuts
- [`KT-58231`](https://youtrack.jetbrains.com/issue/KT-58231) Kotlin Gradle Plugin: set deprecation level to Error for KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImport
- [`KT-72068`](https://youtrack.jetbrains.com/issue/KT-72068) Distribution for klib cross-compilation is not downloaded during compile tasks
- [`KT-70612`](https://youtrack.jetbrains.com/issue/KT-70612) Report incompatibility warning when Project Isolation enabled and Included builds are used
- [`KT-71529`](https://youtrack.jetbrains.com/issue/KT-71529) Deprecate targetFromPreset API with an error
- [`KT-69614`](https://youtrack.jetbrains.com/issue/KT-69614) Deprecate with error ios/tvos/watchos presets
- [`KT-69974`](https://youtrack.jetbrains.com/issue/KT-69974) KMP: POM dependency rewriter doesn't work with Included Builds OR dependencySubstitution
- [`KT-69472`](https://youtrack.jetbrains.com/issue/KT-69472) Remove IncompatibleAgpVersionTooHighWarning diagnostic
- [`KT-64996`](https://youtrack.jetbrains.com/issue/KT-64996) Commonize Native Distribution task is not compatible with Project Isolation
- [`KT-62911`](https://youtrack.jetbrains.com/issue/KT-62911) Export Kotlin Multipaltform Project Coordinates as a secondary variant of apiMetadataElements
- [`KT-70888`](https://youtrack.jetbrains.com/issue/KT-70888) Project isolation: Project cannot dynamically look up a property in the parent project at PropertiesProvider.propertiesWithPrefix
- [`KT-70688`](https://youtrack.jetbrains.com/issue/KT-70688) Move ExperimentalSwiftExportDsl to another package
- [`KT-58298`](https://youtrack.jetbrains.com/issue/KT-58298) AndroidAndJavaConsumeMppLibIT maintenance: Convert to new infrastructure and add test for newer AGP versions
- [`KT-68976`](https://youtrack.jetbrains.com/issue/KT-68976) K2 IDE: Unresolved FileSystem.SYSTEM from OKIO in shared source sets
##### Tools. Gradle. Native
- [`KT-67162`](https://youtrack.jetbrains.com/issue/KT-67162) KGP: Kotlin/Native with Isolated Projects: kotlinNativeBundleBuildService cannot be changed any futher
- [`KT-72366`](https://youtrack.jetbrains.com/issue/KT-72366) KGP 2.1.0-Beta2 doesn't download `kotlin-native-prebuilt` when running Dokka
- [`KT-45559`](https://youtrack.jetbrains.com/issue/KT-45559) CInteropProcess: Changes to header files are not recognized; Task is still UP-TO-DATE
- [`KT-71051`](https://youtrack.jetbrains.com/issue/KT-71051) K/N dependencies are re-downloaded multiple times on Windows
- [`KT-71398`](https://youtrack.jetbrains.com/issue/KT-71398) kotlinNativeBundleConfiguration should not contain dependencies on unsupported platforms
- [`KT-71722`](https://youtrack.jetbrains.com/issue/KT-71722) kotlinNativeBundleConfiguration present in JVM-only Gradle project
- [`KT-55832`](https://youtrack.jetbrains.com/issue/KT-55832) Support passing errors to Xcode when configuration cache is enabled
- [`KT-70690`](https://youtrack.jetbrains.com/issue/KT-70690) not possible to build iOS app with Swift Export and Xcode 16
- [`KT-65838`](https://youtrack.jetbrains.com/issue/KT-65838) Remove project usage from PlatformLibrariesGenerator
- [`KT-70875`](https://youtrack.jetbrains.com/issue/KT-70875) KSP1 native tasks fail on configuration phase
##### Tools. Incremental Compile
- [`KT-69123`](https://youtrack.jetbrains.com/issue/KT-69123) IC: "NoSuchFieldError: No instance field". Not tracking changes to Android ViewBinding class
##### Tools. JPS
- [`KT-68565`](https://youtrack.jetbrains.com/issue/KT-68565) K2: IllegalStateException: Source classes should be created separately before referencing
- [`KT-71042`](https://youtrack.jetbrains.com/issue/KT-71042) `JAVA_MODULE_DOES_NOT_READ_UNNAMED_MODULE` when compiling IntelliJ
##### Tools. Kapt
- [`KT-72249`](https://youtrack.jetbrains.com/issue/KT-72249) K2 KAPT Not picking up use site annontation like K1 Kapt
- [`KT-69860`](https://youtrack.jetbrains.com/issue/KT-69860) K2 kapt: use compiler directly instead of Analysis API
- [`KT-71776`](https://youtrack.jetbrains.com/issue/KT-71776) K2 Kapt in 2.1.0-Beta1 fails with `e: java.lang.IllegalStateException: FIR symbol "class org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol" is not supported in constant evaluation`
- [`KT-70879`](https://youtrack.jetbrains.com/issue/KT-70879) Kapt: check that Kotlin 2.1 language features are ignored correctly by K1 kapt
- [`KT-71431`](https://youtrack.jetbrains.com/issue/KT-71431) K2KAPT fails on modules without any annotation processors
- [`KT-70600`](https://youtrack.jetbrains.com/issue/KT-70600) K2 KAPT: inline reified function has a null signature
- [`KT-70718`](https://youtrack.jetbrains.com/issue/KT-70718) Kapt: "error: could not load module <Error module>" on error type in data class component
- [`KT-69861`](https://youtrack.jetbrains.com/issue/KT-69861) Kapt: use IR to obtain line information instead of PSI
##### Tools. REPL
- [`KT-71109`](https://youtrack.jetbrains.com/issue/KT-71109) Kotlin Scripting REPL doesn't support keyboard shortcuts
##### Tools. Scripts
- [`KT-68685`](https://youtrack.jetbrains.com/issue/KT-68685) K2 / Script: "KotlinReflectionInternalError: Unresolved class:" caused by main.kts script with nested classes and reflection
- [`KT-68545`](https://youtrack.jetbrains.com/issue/KT-68545) Using labeled `this` access to implicit receivers fails in scripts
##### Tools. Wasm
- [`KT-67797`](https://youtrack.jetbrains.com/issue/KT-67797) Improve the variable view during debugging in Fleet for Kotlin/Wasm
- [`KT-71506`](https://youtrack.jetbrains.com/issue/KT-71506) \[Wasm, IC] FUS report for builds with incremental compilation
- [`KT-70100`](https://youtrack.jetbrains.com/issue/KT-70100) wasmJs Target Fails to Compile on ARM64 Linux
- [`KT-70367`](https://youtrack.jetbrains.com/issue/KT-70367) Update binaryen once we get a release with PR 6793
- [`KT-67863`](https://youtrack.jetbrains.com/issue/KT-67863) K/Wasm: Remove ChromeWasmGc
- [`KT-71360`](https://youtrack.jetbrains.com/issue/KT-71360) K/JS & K/Wasm: Upgrade NPM dependencies
- [`KT-70297`](https://youtrack.jetbrains.com/issue/KT-70297) Wasm: Incorrect kotlinJsTestRunner version set in Multi-Project Builds with mixed kotlin-stdlibs
### [`v2.0.21`](https://github.com/JetBrains/kotlin/releases/tag/v2.0.21): Kotlin 2.0.21
#### Changelog
##### Apple Ecosystem
- [`KT-69093`](https://youtrack.jetbrains.com/issue/KT-69093) Xcode 16 support in Kotlin
##### Backend. Native. Debug
- [`KT-71374`](https://youtrack.jetbrains.com/issue/KT-71374) lldb: step out breaks breaking in Xcode 16
##### Compiler
##### Fixes
- [`KT-69735`](https://youtrack.jetbrains.com/issue/KT-69735) K2: Static fields are missing from the declaration list of corresponding IrClass for java class
- [`KT-71122`](https://youtrack.jetbrains.com/issue/KT-71122) Regression in Kotlin Compiler 2.0 causing NPE in the runtime
- [`KT-70931`](https://youtrack.jetbrains.com/issue/KT-70931) K2 / Scripts: "cannot convert IrExpression to ConstantValue" when using function annotation
- [`KT-70584`](https://youtrack.jetbrains.com/issue/KT-70584) K2: "IllegalStateException: flow for PostponedLambdaExitNode not initialized - traversing nodes in wrong order?"
- [`KT-70808`](https://youtrack.jetbrains.com/issue/KT-70808) K2: "node has already been visited" with anonymous object in dead code
- [`KT-69985`](https://youtrack.jetbrains.com/issue/KT-69985) K2: Classifier declarations from root package are resolved without imports in non-root packages
- [`KT-70683`](https://youtrack.jetbrains.com/issue/KT-70683) K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner
- [`KT-70901`](https://youtrack.jetbrains.com/issue/KT-70901) False positive Public-API inline function cannot access non-public-API property accessor
- [`KT-70930`](https://youtrack.jetbrains.com/issue/KT-70930) K2: Java annotations not present on ENUM\_ENTRY IR elements
- [`KT-70194`](https://youtrack.jetbrains.com/issue/KT-70194) K2 IDE: exception on a very red file
- [`KT-69399`](https://youtrack.jetbrains.com/issue/KT-69399) Native: IllegalStateException: "Failed to build cache"
##### Compose compiler
##### Fixes
- [`b/329477544`](https://issuetracker.google.com/issues/329477544) Force open / overridden Composable functions to be non-restartable.
- [`b/361652128`](https://issuetracker.google.com/issues/361652128) Disable live literal transform if the corresponding flag is disabled
##### IR. Actualizer
- [`KT-70894`](https://youtrack.jetbrains.com/issue/KT-70894) IR crash. Unprocessed `IrFunctionFakeOverrideSymbol` when actualize to Java
##### IR. Tree
- [`KT-71191`](https://youtrack.jetbrains.com/issue/KT-71191) SymbolTable: Check if the provided signature is public before adding a symbol to the SymbolTable
##### Native. Build Infrastructure
- [`KT-71485`](https://youtrack.jetbrains.com/issue/KT-71485) K/N runtime parts don't build due to \_Float16 issues on x86\_64 macOS
##### Native. C Export
- [`KT-69507`](https://youtrack.jetbrains.com/issue/KT-69507) LLVM 11 clang with Xcode 16 headers: standard c++ headers
##### Native. C and ObjC Import
- [`KT-71029`](https://youtrack.jetbrains.com/issue/KT-71029) Investigate why stdarg.h declarations leak into testModuleA
##### Native. Platform Libraries
- [`KT-70566`](https://youtrack.jetbrains.com/issue/KT-70566) LLVM 11 clang with Xcode 16 headers: 'sys/cdefs.h' file not found
- [`KT-71624`](https://youtrack.jetbrains.com/issue/KT-71624) Eliminate remaining UIKit/AppKit removed signatures
- [`KT-70031`](https://youtrack.jetbrains.com/issue/KT-70031) Rebuild platform libraries in 2.0.21 with Xcode 16
##### Native. Testing
- [`KT-70603`](https://youtrack.jetbrains.com/issue/KT-70603) C++ with -fmodules: cyclic dependency in module 'std': std -> \_wctype -> \_\_wctype -> std in dev llvm toolchains
##### Tools. CLI. Native
- [`KT-71262`](https://youtrack.jetbrains.com/issue/KT-71262) KotlinNativeLink tasks fetching from network despite -Xoverride-konan-properties=dependenciesUrl= being set
##### Tools. Compiler Plugins
- [`KT-71038`](https://youtrack.jetbrains.com/issue/KT-71038) PowerAssert: Constant on RHS of elvis operator leads to compiler crash
##### Tools. Daemon
- [`KT-35381`](https://youtrack.jetbrains.com/issue/KT-35381) Get rid of the native-platform usage in kotlin compiler
##### Tools. Gradle. Multiplatform
- [`KT-71444`](https://youtrack.jetbrains.com/issue/KT-71444) Certain POMs produced by Kotlin 2.0.20 cannot be consumed by KMP projects with Android targets
- [`KT-70700`](https://youtrack.jetbrains.com/issue/KT-70700) Gradle 8.10: The value for task ':commonizeNativeDistribution' property 'kotlinNativeBundleBuildService' cannot be changed any further
- [`KT-71396`](https://youtrack.jetbrains.com/issue/KT-71396) Gradle client side JVM explodes with OOM due to xcodebuild logs
##### Tools. Gradle. Native
- [`KT-71419`](https://youtrack.jetbrains.com/issue/KT-71419) Light bundle KGP IT run against a stable K/N version
##### Tools. JPS
- [`KT-71450`](https://youtrack.jetbrains.com/issue/KT-71450) Constant build failure: com.intellij.util.io.ClosedStorageException: storage is already closed
### [`v2.0.20`](https://github.com/JetBrains/kotlin/releases/tag/v2.0.20): Kotlin 2.0.20
#### Changelog
##### Analysis. API
##### New Features
- [`KT-68143`](https://youtrack.jetbrains.com/issue/KT-68143) Analysis API: support KtWhenConditionInRange call resolution
##### Performance Improvements
- [`KT-67195`](https://youtrack.jetbrains.com/issue/KT-67195) K2: do not call redundant resolve on body resolution phase for classes
##### Fixes
- [`KT-67360`](https://youtrack.jetbrains.com/issue/KT-67360) Analysis API: KtDestructuringDeclarationSymbol#entries shouldn't be KtLocalVariableSymbol
- [`KT-67748`](https://youtrack.jetbrains.com/issue/KT-67748) K2: AllCandidatesResolver modifies the original FirDelegatedConstructorCall
- [`KT-68198`](https://youtrack.jetbrains.com/issue/KT-68198) Analysis API: Support application service registration in plugin XMLs
- [`KT-62936`](https://youtrack.jetbrains.com/issue/KT-62936) Analysis API: NativeForwardDeclarationsSymbolProvider is not supported for Kotlin/Native
- [`KT-68689`](https://youtrack.jetbrains.com/issue/KT-68689) LL API: support analysis from builtins module
- [`KT-69630`](https://youtrack.jetbrains.com/issue/KT-69630) KAPT User project builds with KAPT4 enabled fail with Metaspace overflow
- [`KT-65417`](https://youtrack.jetbrains.com/issue/KT-65417) K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source sets
- [`KT-68882`](https://youtrack.jetbrains.com/issue/KT-68882) Analysis API: Refactor `KaSymbol`s
- [`KT-65413`](https://youtrack.jetbrains.com/issue/KT-65413) K2 IDE: KTOR unresolved serializer() call for `@Serializable` class in common code
- [`KT-67996`](https://youtrack.jetbrains.com/issue/KT-67996) Analysis API: rename Kt prefix to Ka
- [`KT-67775`](https://youtrack.jetbrains.com/issue/KT-67775) Analysis API: expose only interfaces/abstract classes for the user surface
- [`KT-68009`](https://youtrack.jetbrains.com/issue/KT-68009) K2: lowering transformers of Compose compiler plugin access AbstractFir2IrLazyFunction modality, which results in null point exception
- [`KT-68918`](https://youtrack.jetbrains.com/issue/KT-68918) collectCallCandidates works incorrectly for parenthesis invoke
- [`KT-68462`](https://youtrack.jetbrains.com/issue/KT-68462) Analysis API: Integrate `project-structure` module into `analysis-api` and `analysis-api-platform-interface`
- [`KT-69131`](https://youtrack.jetbrains.com/issue/KT-69131) AA: "provideDelegate" operator is not resolved from the delegation reference in FIR implementation
- [`KT-69055`](https://youtrack.jetbrains.com/issue/KT-69055) Analysis API: Stabilize `KaScope`s
- [`KT-66216`](https://youtrack.jetbrains.com/issue/KT-66216) K2 IDE. "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" on incorrect string template
- [`KT-68959`](https://youtrack.jetbrains.com/issue/KT-68959) Introduce KaSeverity
- [`KT-53669`](https://youtrack.jetbrains.com/issue/KT-53669) Analysis API: redesign KtSymbolOrigin to distinguish kotlin/java source/library declarations
- [`KT-68846`](https://youtrack.jetbrains.com/issue/KT-68846) Mark KaFirReference and all implementations with internal modifier
- [`KT-68845`](https://youtrack.jetbrains.com/issue/KT-68845) Move KaSymbolBasedReference to resolution package
- [`KT-68844`](https://youtrack.jetbrains.com/issue/KT-68844) Move KaTypeProjection to types package
- [`KT-65849`](https://youtrack.jetbrains.com/issue/KT-65849) K2: Rename 'high-level-api' family of JARs to 'analysis-api'
- [`KT-62540`](https://youtrack.jetbrains.com/issue/KT-62540) Remove uses of TypeInfo.fromString and TypeInfo.createTypeText from Kotlin plugin
- [`KT-62889`](https://youtrack.jetbrains.com/issue/KT-62889) K2 IDE. FP `MISSING_DEPENDENCY_CLASS` on not available type alias with available underlying type
- [`KT-68155`](https://youtrack.jetbrains.com/issue/KT-68155) Analysis API: Add PSI validity check to `analyze`
- [`KT-62343`](https://youtrack.jetbrains.com/issue/KT-62343) Analysis API: fix binary incopatibility problems cause by `KtAnalysisSessionProvider.analyze` being inline
- [`KT-68498`](https://youtrack.jetbrains.com/issue/KT-68498) To get reference symbol the one should be KtSymbolBasedReference
- [`KT-68393`](https://youtrack.jetbrains.com/issue/KT-68393) Analysis API: Rename `KaClassLikeSymbol. classIdIfNonLocal` to `classId`
- [`KT-62924`](https://youtrack.jetbrains.com/issue/KT-62924) Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableId
- [`KT-66712`](https://youtrack.jetbrains.com/issue/KT-66712) K2 IDE. SOE on settings string template for string variable with the same name
- [`KT-65892`](https://youtrack.jetbrains.com/issue/KT-65892) K2: "We should be able to find a symbol" for findNonLocalFunction
- [`KT-68273`](https://youtrack.jetbrains.com/issue/KT-68273) AA: support `KtFirKDocReference#isReferenceToImportAlias`
- [`KT-68272`](https://youtrack.jetbrains.com/issue/KT-68272) AA: KtFirReference.isReferenceToImportAlias doesn't work for references on constructor
- [`KT-66996`](https://youtrack.jetbrains.com/issue/KT-66996) Analysis API: Expose the abbreviated type of an expanded `KtType`
- [`KT-66646`](https://youtrack.jetbrains.com/issue/KT-66646) K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl from FirJsHelpersKt.isExportedObject
- [`KT-68203`](https://youtrack.jetbrains.com/issue/KT-68203) K2: Analysis API: wrong type of receiver value in case of imported object member
- [`KT-68031`](https://youtrack.jetbrains.com/issue/KT-68031) LL resolve crash in case of PCLA inference with local object
- [`KT-67851`](https://youtrack.jetbrains.com/issue/KT-67851) K2: `PsiReference#isReferenceTo` always returns false for references to Java getters
- [`KT-68076`](https://youtrack.jetbrains.com/issue/KT-68076) AA: use type code fragments for import alias detection
- [`KT-65915`](https://youtrack.jetbrains.com/issue/KT-65915) K2: Analysis API: extract services registration into xml file
- [`KT-68049`](https://youtrack.jetbrains.com/issue/KT-68049) Analysis API: do not expose imported symbols
- [`KT-68075`](https://youtrack.jetbrains.com/issue/KT-68075) K2: Analysis API: Type arguments for delegation constructor to java constructor with type parameters not supported
- [`KT-65190`](https://youtrack.jetbrains.com/issue/KT-65190) AA: reference to the super type is not resolved
- [`KT-68070`](https://youtrack.jetbrains.com/issue/KT-68070) AA: KtExpressionInfoProvider#isUsedAsExpression doesn't work for KtPropertyDelegate
- [`KT-67743`](https://youtrack.jetbrains.com/issue/KT-67743) K2: Stubs & AbbreviatedTypeAttribute
- [`KT-67706`](https://youtrack.jetbrains.com/issue/KT-67706) K2: "KtDotQualifiedExpression is not a subtype of class KtNamedDeclaration" from UnusedChecker
- [`KT-68021`](https://youtrack.jetbrains.com/issue/KT-68021) Analysis API: do not break the diagnostic collection in a case of exception from some collector
- [`KT-67973`](https://youtrack.jetbrains.com/issue/KT-67973) AA FIR: wrong KtCall modeling for == from type bound
- [`KT-67949`](https://youtrack.jetbrains.com/issue/KT-67949) AA: Type arguments of Java methods' calls are not reported as used by KtFirImportOptimizer
- [`KT-67988`](https://youtrack.jetbrains.com/issue/KT-67988) AA: functional type at receiver position should be wrapped in parenthesis
- [`KT-66536`](https://youtrack.jetbrains.com/issue/KT-66536) Analysis API: ContextCollector doesn't provide implicit receivers from FirExpressionResolutionExtension
- [`KT-67321`](https://youtrack.jetbrains.com/issue/KT-67321) AA: Type arguments of Java methods' calls are not resolved
- [`KT-64158`](https://youtrack.jetbrains.com/issue/KT-64158) K2: "KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtParameter"
- [`KT-60344`](https://youtrack.jetbrains.com/issue/KT-60344) K2 IDE. "KotlinExceptionWithAttachments: expect `createKtCall` to succeed for resolvable case with callable symbol" on attempt to assign value to param named getParam
- [`KT-64599`](https://youtrack.jetbrains.com/issue/KT-64599) K2: "expect `createKtCall` to succeed for resolvable case with callable" for unfinished if statement
- [`KT-60330`](https://youtrack.jetbrains.com/issue/KT-60330) K2 IDE. ".KotlinExceptionWithAttachments: expect `createKtCall` to succeed for resolvable case with callable symbol" on attempt to assign or compare true with something
- [`KT-66672`](https://youtrack.jetbrains.com/issue/KT-66672) K2 IDE. False positive INVISIBLE\_REFERENCE on accessing private subclass as type argument in parent class declaration
- [`KT-67750`](https://youtrack.jetbrains.com/issue/KT-67750) Analysis API: Remove `infix` modifiers from type equality and subtyping functions
- [`KT-67655`](https://youtrack.jetbrains.com/issue/KT-67655) Analysis API: declare a rule how to deal with parameters in KtLifetimeOwner
- [`KT-61775`](https://youtrack.jetbrains.com/issue/KT-61775) Analysis API: KtKClassAnnotationValue lacks complete type information
- [`KT-67168`](https://youtrack.jetbrains.com/issue/KT-67168) K2: Analysis API: Rendering is broken for JSR-305 enhanced Java types
- [`KT-66689`](https://youtrack.jetbrains.com/issue/KT-66689) Analysis API: KtFirPackageScope shouldn't rely on KotlinDeclarationProvider for binary dependencies in standalone mode
- [`KT-60483`](https://youtrack.jetbrains.com/issue/KT-60483) Analysis API: add isTailrec property to KtFunctionSymbol
- [`KT-67472`](https://youtrack.jetbrains.com/issue/KT-67472) K2: Analysis API FIR: KtFunctionCall misses argument with desugared expressions
- [`KT-65759`](https://youtrack.jetbrains.com/issue/KT-65759) Analysis API: Avoid hard references to `LLFirSession` in session validity trackers
- [`KT-60272`](https://youtrack.jetbrains.com/issue/KT-60272) K2: Implement active invalidation of `KtAnalysisSession`s
- [`KT-66765`](https://youtrack.jetbrains.com/issue/KT-66765) K2: Analysis API: support classpath substitution with library dependencies in super type transformer
- [`KT-67265`](https://youtrack.jetbrains.com/issue/KT-67265) K2: status phase should resolve original declarations in the case of classpath subsitution
- [`KT-67244`](https://youtrack.jetbrains.com/issue/KT-67244) K2: StackOverflowError in the case of cyclic type hierarchy and library classpath substitution
- [`KT-67080`](https://youtrack.jetbrains.com/issue/KT-67080) K2: clearer contract for lazyResolveToPhaseWithCallableMembers
- [`KT-66713`](https://youtrack.jetbrains.com/issue/KT-66713) K2 FIR: Expose a way to get the module name used for name mangling
- [`KT-61892`](https://youtrack.jetbrains.com/issue/KT-61892) KtType#asPsiType could provide nullability annotations
- [`KT-66122`](https://youtrack.jetbrains.com/issue/KT-66122) Analysis API: Pass `KtTestModule` instead of `TestModule` to tests based on `AbstractAnalysisApiBasedTest`
##### Analysis. Light Classes
- [`KT-65714`](https://youtrack.jetbrains.com/issue/KT-65714) K2: IDE K2: "org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirClassLikeSymbolPointer pointer already disposed"
- [`KT-65835`](https://youtrack.jetbrains.com/issue/KT-65835) `SymbolLightClassForClassLike.getName` returns `null` for a companion object instead of `Companion`
- [`KT-68261`](https://youtrack.jetbrains.com/issue/KT-68261) SLC: Constructors of sealed classes should be private
- [`KT-68696`](https://youtrack.jetbrains.com/issue/KT-68696) Drop `DecompiledPsiDeclarationProvider`-related stuff
- [`KT-68404`](https://youtrack.jetbrains.com/issue/KT-68404) SLC: wrong binary resolution to declaration with `@JvmName`
- [`KT-68275`](https://youtrack.jetbrains.com/issue/KT-68275) LC: no arg constructor is not visible in light classes
- [`KT-66687`](https://youtrack.jetbrains.com/issue/KT-66687) Symbol Light Classes: Duplicate field names for classes with companion objects
- [`KT-66804`](https://youtrack.jetbrains.com/issue/KT-66804) Symbol Light Classes: Fields from the parent interface's companion are added to DefaultImpls
##### Apple Ecosystem
- [`KT-65542`](https://youtrack.jetbrains.com/issue/KT-65542) Cinterop tasks fails if Xcode 15.3 is used
##### Backend. Native. Debug
- [`KT-67567`](https://youtrack.jetbrains.com/issue/KT-67567) Native: after updating to LLVM 16 lldb hangs when smooth stepping
##### Backend. Wasm
- [`KT-70591`](https://youtrack.jetbrains.com/issue/KT-70591) To much sources that don't exist inside SourceMap file
- [`KT-69529`](https://youtrack.jetbrains.com/issue/KT-69529) compileProductionExecutableKotlinWasmJs FAILED: No such value argument slot in IrConstructorCallImpl: 1 (total=1)
- [`KT-68088`](https://youtrack.jetbrains.com/issue/KT-68088) Wasm: "UNREACHABLE executed at Precompute.cpp:838" running gradle task wasmJsBrowserDistribution for compose multiplatform on Windows
- [`KT-65798`](https://youtrack.jetbrains.com/issue/KT-65798) K/Wasm: make an error on default export usage
- [`KT-68828`](https://youtrack.jetbrains.com/issue/KT-68828) Wasm test failure. expect-actual. private constructor in expect
- [`KT-68453`](https://youtrack.jetbrains.com/issue/KT-68453) K/Wasm: "Supported JS engine not detected" in Web Worker
- [`KT-64565`](https://youtrack.jetbrains.com/issue/KT-64565) Kotlin/wasm removeEventListener function did not remove the event listener
- [`KT-65322`](https://youtrack.jetbrains.com/issue/KT-65322) \[Wasm] Clean-up bootstrap code
- [`KT-66099`](https://youtrack.jetbrains.com/issue/KT-66099) Wasm: local.get of type f64 has to be in the same reference type hierarchy as (ref 686) @​+237036
- [`KT-63230`](https://youtrack.jetbrains.com/issue/KT-63230) \[WASM] `println(null)` prints 'ul'
##### Compiler
##### New Features
- [`KT-58310`](https://youtrack.jetbrains.com/issue/KT-58310) Consider non-functional type constraints for type variable which is an expected type for lambda argument
- [`KT-68969`](https://youtrack.jetbrains.com/issue/KT-68969) Consider implementing general "redundant interpolation prefix" warning
- [`KT-57872`](https://youtrack.jetbrains.com/issue/KT-57872) Improve "Public-API inline function cannot access non-public-API" check
- [`KT-68165`](https://youtrack.jetbrains.com/issue/KT-68165) Native: type checks on generic types boundary
- [`KT-67611`](https://youtrack.jetbrains.com/issue/KT-67611) Implement improved handling of $ in literals
- [`KT-67787`](https://youtrack.jetbrains.com/issue/KT-67787) Implement guard conditions for when-with-subject
- [`KT-39868`](https://youtrack.jetbrains.com/issue/KT-39868) Allow access to protected consts and fields from a super companion object
- [`KT-66169`](https://youtrack.jetbrains.com/issue/KT-66169) `useContents` lacks a `contract`
- [`KT-67767`](https://youtrack.jetbrains.com/issue/KT-67767) Introduce an ability to enforce explicit return types for public declarations without enabling Explicit API mode
- [`KT-65841`](https://youtrack.jetbrains.com/issue/KT-65841) Allow to actualize expect types in kotlin stdlib to builtins in JVM
- [`KT-53834`](https://youtrack.jetbrains.com/issue/KT-53834) Support for JSpecify `@NullUnmarked`
##### Performance Improvements
- [`KT-69995`](https://youtrack.jetbrains.com/issue/KT-69995) K2: Slow compilation when star projecting mutually recursive bounds from java
- [`KT-69723`](https://youtrack.jetbrains.com/issue/KT-69723) K2: code analysis taking too long
- [`KT-69898`](https://youtrack.jetbrains.com/issue/KT-69898) K2: Performance degradation in fir2ir caused by changes around intersection types
- [`KT-68034`](https://youtrack.jetbrains.com/issue/KT-68034) Devirtualization analysis fails to devirtualize string.get
##### Fixes
- [`KT-67102`](https://youtrack.jetbrains.com/issue/KT-67102) IR Evaluator: NoSuchFieldException when accessing a private delegated property
- [`KT-35305`](https://youtrack.jetbrains.com/issue/KT-35305) "Overload resolution ambiguity" on function for unsigned types (UByte, UShort, UInt, ULong)
- [`KT-69211`](https://youtrack.jetbrains.com/issue/KT-69211) K2: java.lang.IllegalArgumentException: Failed requirement
- [`KT-68874`](https://youtrack.jetbrains.com/issue/KT-68874) Types with different captured types as type arguments are rendered incorrectly
- [`KT-66086`](https://youtrack.jetbrains.com/issue/KT-66086) K/N: Unchecked illegal cast is not thrown
- [`KT-70186`](https://youtrack.jetbrains.com/issue/KT-70186) Kotlin 2.0.20-Beta2: Unexpected number of type arguments: 0
- [`KT-68889`](https://youtrack.jetbrains.com/issue/KT-68889) K2: type variable should not be fixed
- [`KT-69835`](https://youtrack.jetbrains.com/issue/KT-69835) K2 / Native: kotlin.native.binary.gc=cms throws library cached but its dependency isn't error
- [`KT-70417`](https://youtrack.jetbrains.com/issue/KT-70417) DELEGATED\_MEMBER\_HIDES\_SUPERTYPE\_OVERRIDE leads to NPE in BE
- [`KT-69964`](https://youtrack.jetbrains.com/issue/KT-69964) K2: Returning from an in-place lambda doesn't compile
- [`KT-69773`](https://youtrack.jetbrains.com/issue/KT-69773) K2: "Overload resolution ambiguity between candidate" with arrays
- [`KT-60261`](https://youtrack.jetbrains.com/issue/KT-60261) K2: No origin is set for composite assignment operators
- [`KT-15388`](https://youtrack.jetbrains.com/issue/KT-15388) Forbid delegated property to have external getter/setter
- [`KT-70238`](https://youtrack.jetbrains.com/issue/KT-70238) K2: false negative VOLATILE\_ON\_VALUE for constructor properties
- [`KT-68669`](https://youtrack.jetbrains.com/issue/KT-68669) K2: Generate inherited delegated members after actualization
- [`KT-63828`](https://youtrack.jetbrains.com/issue/KT-63828) K2: Missing `signature` metadata for accessors of properties inherited from delegate
- [`KT-63871`](https://youtrack.jetbrains.com/issue/KT-63871) K2: different value of `isNotDefault ` flag for property inherited from delegate
- [`KT-67119`](https://youtrack.jetbrains.com/issue/KT-67119) Migration warning from context receivers to context parameters
- [`KT-68997`](https://youtrack.jetbrains.com/issue/KT-68997) K2: "No accessor found" for an inline value class when query the value of a delegated class by reflection
- [`KT-64106`](https://youtrack.jetbrains.com/issue/KT-64106) Native: the compiler allows using `-opt` and `-g` at the same time
- [`KT-69766`](https://youtrack.jetbrains.com/issue/KT-69766) K2: False negative: Internal setter of generic class is accessible from another module
- [`KT-68364`](https://youtrack.jetbrains.com/issue/KT-68364) JVM: ISE "Bad exception handler end" on a non-local break/continue inside try with finally
- [`KT-69494`](https://youtrack.jetbrains.com/issue/KT-69494) StackOverflowError in CfgTraverserKt.getPreviousCfgNodes
- [`KT-56880`](https://youtrack.jetbrains.com/issue/KT-56880) K2. Conflicting overloads for main() isn't shown when language version is set to 2.0
- [`KT-69282`](https://youtrack.jetbrains.com/issue/KT-69282) K2: equality of unsigned types with nullability works incorrectly
- [`KT-68492`](https://youtrack.jetbrains.com/issue/KT-68492) JVM IR backend: IDE / Kotlin Debugger: AE “Non-reified type parameter under ::class should be rejected by type checker” on evaluating private generic function
- [`KT-70039`](https://youtrack.jetbrains.com/issue/KT-70039) K2: inconsistent stability of vals of captured receivers
- [`KT-44139`](https://youtrack.jetbrains.com/issue/KT-44139) Don't report overload resolution ambiguities if arguments contain an error type
- [`KT-68996`](https://youtrack.jetbrains.com/issue/KT-68996) K2: "Not enough information to infer type argument" caused by typealias annotation with fixed generic argument
- [`KT-55851`](https://youtrack.jetbrains.com/issue/KT-55851) K2: reference to a field from package private class crashes in runtime
- [`KT-65038`](https://youtrack.jetbrains.com/issue/KT-65038) K2: Type alias from indirect dependency causes `MISSING_DEPENDENCY_CLASS` error
- [`KT-61875`](https://youtrack.jetbrains.com/issue/KT-61875) Native: remove support for bitcode embedding
- [`KT-67693`](https://youtrack.jetbrains.com/issue/KT-67693) Implement checkers for K1 compiler which will check the usage of K2 new features and report that they are not supported in K1 compiler
- [`KT-68556`](https://youtrack.jetbrains.com/issue/KT-68556) K2: false negative PROPERTY\_WITH\_NO\_TYPE\_NO\_INITIALIZER on uninitialized property without type
- [`KT-60445`](https://youtrack.jetbrains.com/issue/KT-60445) K2/Java: investigate possible symbol clash while enhancing Java class type parameter bounds
- [`KT-64193`](https://youtrack.jetbrains.com/issue/KT-64193) K2: No smartcast with two boolean expressions in a row
- [`KT-65546`](https://youtrack.jetbrains.com/issue/KT-65546) K2. implement extended checker for unused anonymous parameter in lambda
- [`KT-68358`](https://youtrack.jetbrains.com/issue/KT-68358) `@EnhancedNullability` is missing on value parameter type after inheritance by delegation with strict JSpecify enabled
- [`KT-67791`](https://youtrack.jetbrains.com/issue/KT-67791) False negative "Synchronizing by Meters is forbidden" with inline value classes
- [`KT-69495`](https://youtrack.jetbrains.com/issue/KT-69495) k2: inconsistent output of unsigned number in string templates
- [`KT-69619`](https://youtrack.jetbrains.com/issue/KT-69619) K2. JAVA\_TYPE\_MISMATCH when Kotlin out generic type used in Java
- [`KT-69563`](https://youtrack.jetbrains.com/issue/KT-69563) trying to call `.source` on `FirPackageFragmentDescriptor` results in exception
- [`KT-69611`](https://youtrack.jetbrains.com/issue/KT-69611) Internal annotation FlexibleArrayElementVariance is written to output jar
- [`KT-69463`](https://youtrack.jetbrains.com/issue/KT-69463) K2: false negative SUPER\_CALL\_WITH\_DEFAULT\_PARAMETERS with expect/actual declarations
- [`KT-68724`](https://youtrack.jetbrains.com/issue/KT-68724) K2: "ABSTRACT\_MEMBER\_NOT\_IMPLEMENTED" caused by open modifier on interface
- [`KT-69182`](https://youtrack.jetbrains.com/issue/KT-69182) K2: OptIn on enum companion blocks enum constants
- [`KT-69191`](https://youtrack.jetbrains.com/issue/KT-69191) K2: "Unresolved reference" caused by nested data objects
- [`KT-69569`](https://youtrack.jetbrains.com/issue/KT-69569) Wrong paths when one type has multiple annotated arguments
- [`KT-55128`](https://youtrack.jetbrains.com/issue/KT-55128) Wrong type path in type annotations when type arguments are compiled to wildcards
- [`KT-67692`](https://youtrack.jetbrains.com/issue/KT-67692) Native: support LLVM opaque pointers in the compiler
- [`KT-69402`](https://youtrack.jetbrains.com/issue/KT-69402) FirSupertypeResolverVisitor: ConcurrentModificationException
- [`KT-69062`](https://youtrack.jetbrains.com/issue/KT-69062) K1: false-negative "unsupported feature" error on multi-dollar interpolation
- [`KT-68967`](https://youtrack.jetbrains.com/issue/KT-68967) Consider demoting warnings about multi-dollar interpolation to IJ inspections
- [`KT-68957`](https://youtrack.jetbrains.com/issue/KT-68957) False-negative diagnostics about multi-dollar interpolation on string literals without interpolation
- [`KT-69476`](https://youtrack.jetbrains.com/issue/KT-69476) False negative NO\_ELSE\_IN\_WHEN on when over intersection type with expect enum/sealed class
- [`KT-67069`](https://youtrack.jetbrains.com/issue/KT-67069) K2: Delegated member calls interface method instead of fake override
- [`KT-63864`](https://youtrack.jetbrains.com/issue/KT-63864) K2: Missing abbreviated type in metadata
- [`KT-59833`](https://youtrack.jetbrains.com/issue/KT-59833) K2: Stop modifying values of enum entries
- [`KT-69421`](https://youtrack.jetbrains.com/issue/KT-69421) K2: Resolve changed from delegated function to java default function
- [`KT-69392`](https://youtrack.jetbrains.com/issue/KT-69392) K2: "UNSAFE\_CALL": when with some variable subjects does not smartcast the variable
- [`KT-69053`](https://youtrack.jetbrains.com/issue/KT-69053) K2: Unsupported intersection overrides for fields
- [`KT-69227`](https://youtrack.jetbrains.com/issue/KT-69227) K2: "Argument type mismatch" caused by generic typealias and upper bound
- [`KT-31371`](https://youtrack.jetbrains.com/issue/KT-31371) NOT\_YET\_SUPPORTED\_IN\_INLINE: incorrect error message for local inline function
- [`KT-49473`](https://youtrack.jetbrains.com/issue/KT-49473) PROTECTED\_CALL\_FROM\_PUBLIC\_INLINE\_ERROR: specialize error message for 'inline' property
- [`KT-49474`](https://youtrack.jetbrains.com/issue/KT-49474) NON\_PUBLIC\_CALL\_FROM\_PUBLIC\_INLINE: specialize error message for 'inline' property
- [`KT-49503`](https://youtrack.jetbrains.com/issue/KT-49503) SUPER\_CALL\_FROM\_PUBLIC\_INLINE\_ERROR: specialize error message for 'inline' property
- [`KT-11302`](https://youtrack.jetbrains.com/issue/KT-11302) On inapplicable '`@JvmStatic`' annotation, highlight only the annotation, not the function signature
- [`KT-59510`](https://youtrack.jetbrains.com/issue/KT-59510) K2: do not render annotations in the deprecation diagnostic
- [`KT-68532`](https://youtrack.jetbrains.com/issue/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-68859`](https://youtrack.jetbrains.com/issue/KT-68859) K2: unable to suppress only "JAVA\_MODULE\_DOES\_NOT\_EXPORT\_PACKAGE"
- [`KT-68469`](https://youtrack.jetbrains.com/issue/KT-68469) \[K2] MISSING\_DEPENDENCY\_CLASS caused by redundant `@file`:JvmName
- [`KT-68999`](https://youtrack.jetbrains.com/issue/KT-68999) K2: Unify the style of FIR generator with IR and SIR tree-generators
- [`KT-66061`](https://youtrack.jetbrains.com/issue/KT-66061) Kotlin/Native - building shared module for iOS - Argument list too long
- [`KT-49420`](https://youtrack.jetbrains.com/issue/KT-49420) Suspicious behaviour of frontend in case of DefinitelyNotNull type overload
- [`KT-59752`](https://youtrack.jetbrains.com/issue/KT-59752) K2: "Conflicting overloads" if function with same signature added to different contexts
- [`KT-68618`](https://youtrack.jetbrains.com/issue/KT-68618) K1: Unresolved reference for qualified this in implicit type
- [`KT-25341`](https://youtrack.jetbrains.com/issue/KT-25341) NOT\_YET\_SUPPORTED\_IN\_INLINE reported over anonymous object border
- [`KT-69215`](https://youtrack.jetbrains.com/issue/KT-69215) K2: IllegalArgumentException for delegated function in anonymous object with captured type parameters
- [`KT-69044`](https://youtrack.jetbrains.com/issue/KT-69044) Destructuring declaration shouldn't be possible in declaration in when
- [`KT-69028`](https://youtrack.jetbrains.com/issue/KT-69028) K2: `FirJvmActualizingBuiltinSymbolProvider` returns `null` on builtins declarations if common source-set is not presented
- [`KT-15704`](https://youtrack.jetbrains.com/issue/KT-15704) Rethink usage of term "type annotation" in error messages
- [`KT-68970`](https://youtrack.jetbrains.com/issue/KT-68970) K2. Argument type mismatch caused by out projection in inferred type from if - else
- [`KT-68800`](https://youtrack.jetbrains.com/issue/KT-68800) K2: Delete `ConeAttributes.plus` method
- [`KT-59389`](https://youtrack.jetbrains.com/issue/KT-59389) K2: Missing AMBIGUOUS\_LABEL
- [`KT-68803`](https://youtrack.jetbrains.com/issue/KT-68803) K2: Smart cast fails with "Unresolved reference" when `@Suppress`("UNCHECKED\_CAST") used in statement
- [`KT-68968`](https://youtrack.jetbrains.com/issue/KT-68968) K2: Missing ILLEGAL\_SUSPEND\_FUNCTION\_CALL diagnostic in initialization code of a local class inside suspend function
- [`KT-68336`](https://youtrack.jetbrains.com/issue/KT-68336) K2 does not seem to pass the right constructor arguments to custom scripts
- [`KT-68517`](https://youtrack.jetbrains.com/issue/KT-68517) "IrSimpleFunctionSymbolImpl is unbound" for actual class containing non-actual functions
- [`KT-59678`](https://youtrack.jetbrains.com/issue/KT-59678) K2: Investigate `ConeKotlinType.unCapture()`
- [`KT-69027`](https://youtrack.jetbrains.com/issue/KT-69027) K2: Initialize `FirStdlibBuiltinSyntheticFunctionInterfaceProvider` in library session
- [`KT-62818`](https://youtrack.jetbrains.com/issue/KT-62818) K2: improve VAR\_OVERRIDDEN\_BY\_VAL diagnostic message
- [`KT-68214`](https://youtrack.jetbrains.com/issue/KT-68214) Rename TypeApproximatorConfiguration properties for clarity
- [`KT-68093`](https://youtrack.jetbrains.com/issue/KT-68093) Implement deprecation of smartcasts on class-delegated properties
- [`KT-67270`](https://youtrack.jetbrains.com/issue/KT-67270) Native: report more performance metrics from the compiler
- [`KT-68621`](https://youtrack.jetbrains.com/issue/KT-68621) DATA\_CLASS\_INVISIBLE\_COPY\_USAGE false negative for inline fun
- [`KT-68568`](https://youtrack.jetbrains.com/issue/KT-68568) K2: False-positive ACCIDENTAL\_OVERRIDE caused by missing dependency class
- [`KT-66723`](https://youtrack.jetbrains.com/issue/KT-66723) K2: NO\_ACTUAL\_CLASS\_MEMBER\_FOR\_EXPECTED\_CLASS for actual typealias that extends to Java class with complicated hierarchy that includes default method
- [`KT-69000`](https://youtrack.jetbrains.com/issue/KT-69000) Can't render constructor of intersection type
- [`KT-68849`](https://youtrack.jetbrains.com/issue/KT-68849) K2: "ClassCastException: cannot be cast to kotlin.jvm.functions.Function2" caused by passing lambda to SAM constructor results
- [`KT-61744`](https://youtrack.jetbrains.com/issue/KT-61744) Native: -Xsave-llvm-ir-after fails to check errors from LLVMPrintModuleToFile
- [`KT-67103`](https://youtrack.jetbrains.com/issue/KT-67103) Support AbbreviatedTypeAttribute for aliased types from the source code
- [`KT-63921`](https://youtrack.jetbrains.com/issue/KT-63921) K2: different representation of recursive type aliases
- [`KT-68679`](https://youtrack.jetbrains.com/issue/KT-68679) K2: "Override has incorrect nullability in its signature compared to the overridden declaration" caused by subclass of Android HashMap
- [`KT-64335`](https://youtrack.jetbrains.com/issue/KT-64335) K2: improve rendering of captured types in diagnostic messages
- [`KT-68820`](https://youtrack.jetbrains.com/issue/KT-68820) K2: "Unresolved reference" on calling function with "contract" name
- [`KT-67933`](https://youtrack.jetbrains.com/issue/KT-67933) K2: no conversion between fun interfaces if target has `suspend`
- [`KT-68230`](https://youtrack.jetbrains.com/issue/KT-68230) K2: FirMissingDependencyClassChecker: Not supported: ConeFlexibleType
- [`KT-68531`](https://youtrack.jetbrains.com/issue/KT-68531) K2: False-negative error on assignment to enum entry
- [`KT-68446`](https://youtrack.jetbrains.com/issue/KT-68446) K2: compile-time failure on smart-casted generic value used as a when-subject in a contains-check with range
- [`KT-68678`](https://youtrack.jetbrains.com/issue/KT-68678) K2: Drop using `FirBuiltinSymbolProvider` while compiling JVM stdlib
- [`KT-68382`](https://youtrack.jetbrains.com/issue/KT-68382) Get rid of context receivers in FirScript implementation
- [`KT-68585`](https://youtrack.jetbrains.com/issue/KT-68585) Implement new rules for CFA about enum entries
- [`KT-68110`](https://youtrack.jetbrains.com/issue/KT-68110) K2: "Java type mismatch" caused by spring.Nullable
- [`KT-68613`](https://youtrack.jetbrains.com/issue/KT-68613) K2: False positive `CONFLICTING_PROJECTION` after fixing KT-67764
- [`KT-67764`](https://youtrack.jetbrains.com/issue/KT-67764) K2: False negative: Projection problem is not reported in `is` expression
- [`KT-67887`](https://youtrack.jetbrains.com/issue/KT-67887) Expection on assigning to private field of value type
- [`KT-67801`](https://youtrack.jetbrains.com/issue/KT-67801) NSME on evaluating private member function with value class parameter
- [`KT-67800`](https://youtrack.jetbrains.com/issue/KT-67800) NSME on evaluating private top-level function with value class parameter
- [`KT-68542`](https://youtrack.jetbrains.com/issue/KT-68542) K2: Fix referecing to `@ExtensionFunctionType` if it's declared in source
- [`KT-68188`](https://youtrack.jetbrains.com/issue/KT-68188) K2: Properly support FunctionN creation for stdlib compilation
- [`KT-67946`](https://youtrack.jetbrains.com/issue/KT-67946) K2: Crash on red code: `Instead use FirErrorTypeRef for ERROR CLASS: Cannot infer argument for type parameter T`
- [`KT-68526`](https://youtrack.jetbrains.com/issue/KT-68526) K2: false-negative inconsistent data class copy visibility warning on call to generic data class copy function
- [`KT-68528`](https://youtrack.jetbrains.com/issue/KT-68528) K2: false-positive inconsistent data class copy visibility warning on call to function from another module with identical value parameter types and return type
- [`KT-68525`](https://youtrack.jetbrains.com/issue/KT-68525) K2: false-negative inconsistent data class copy visibility warning on callable reference to data class copy function
- [`KT-68617`](https://youtrack.jetbrains.com/issue/KT-68617) K2: Secondary constructors in a sealed class have private visibility instead of protected in the generated IR
- [`KT-63920`](https://youtrack.jetbrains.com/issue/KT-63920) K2: Private secondary sealed class constructor is private in metadata, but protected in K1
- [`KT-57996`](https://youtrack.jetbrains.com/issue/KT-57996) Usages of `Foo` `@Nullable` \[]`produce only warnings even with`-Xtype-enhancement-improvements-strict-mode -Xjspecify-annotations=strict\`
- [`KT-68207`](https://youtrack.jetbrains.com/issue/KT-68207) K2: Investigate if losing ConeIntersectionType.upperBoundForApproximation during approximation leads to any issues
- [`KT-64990`](https://youtrack.jetbrains.com/issue/KT-64990) K2: Remove usages of SymbolTable from FIR2IR
- [`KT-67798`](https://youtrack.jetbrains.com/issue/KT-67798) NSME on assigning to private delegated property of value class
- [`KT-68264`](https://youtrack.jetbrains.com/issue/KT-68264) K2: confusing INVISIBLE\_\* error when typealias is involved
- [`KT-68529`](https://youtrack.jetbrains.com/issue/KT-68529) K2: false-negative redundant annotation warning on `@ExposedCopyVisibility` on data class with public constructor
- [`KT-67943`](https://youtrack.jetbrains.com/issue/KT-67943) Approximation should not generate types with UPPER\_BOUND\_VIOLATION errors
- [`KT-67503`](https://youtrack.jetbrains.com/issue/KT-67503) K2: False negative "Type Expected" when attempting to annotate a wildcard type argument
- [`KT-68187`](https://youtrack.jetbrains.com/issue/KT-68187) K2: Create IrBuiltins in fir2ir only after IR actualization
- [`KT-66443`](https://youtrack.jetbrains.com/issue/KT-66443) K2: ArrayIterationHandler doesn't work if UIntArray declared in sources
- [`KT-68291`](https://youtrack.jetbrains.com/issue/KT-68291) K2 / Contracts: Non-existent invocation kind is suggested as a fix
- [`KT-68209`](https://youtrack.jetbrains.com/issue/KT-68209) K2: Strange import suggestion when lambda body contains invalid code
- [`KT-67368`](https://youtrack.jetbrains.com/issue/KT-67368) "NullPointerException: Parameter specified as non-null is null" local lambda creates new not-null checks with 2.0.0-Beta5
- [`KT-51433`](https://youtrack.jetbrains.com/issue/KT-51433) FE 1.0: implement warnings about label resolve changes
- [`KT-66554`](https://youtrack.jetbrains.com/issue/KT-66554) K2. Drop FIR based fake-override generator from fir2ir
- [`KT-64202`](https://youtrack.jetbrains.com/issue/KT-64202) K2: Drop old methods for calculation of overridden symbols for lazy declarations
- [`KT-67895`](https://youtrack.jetbrains.com/issue/KT-67895) K2: Properly implement generation of fake-overrides for fields
- [`KT-54496`](https://youtrack.jetbrains.com/issue/KT-54496) K2: `REDUNDANT_MODALITY_MODIFIER` diagnostic disregards compiler plugins
- [`KT-63745`](https://youtrack.jetbrains.com/issue/KT-63745) K2: Approximation of DNN with nullability warning attribute leads to attribute incorrectly becoming not-null
- [`KT-63362`](https://youtrack.jetbrains.com/issue/KT-63362) AbstractTypeApproximator fixes only first local type in hierarchy
- [`KT-67769`](https://youtrack.jetbrains.com/issue/KT-67769) K2: "variable must be initialized" on unreachable access in constructor
- [`KT-51195`](https://youtrack.jetbrains.com/issue/KT-51195) FIR IC: Incremental compilation fails with `@PublishedApi` property
- [`KT-67966`](https://youtrack.jetbrains.com/issue/KT-67966) No JVM type annotation is generated on a class supertype
- [`KT-46640`](https://youtrack.jetbrains.com/issue/KT-46640) Generate JVM type annotations on wildcard bounds
- [`KT-67952`](https://youtrack.jetbrains.com/issue/KT-67952) Annotations on type parameters are not generated for parameters other than the first
- [`KT-68012`](https://youtrack.jetbrains.com/issue/KT-68012) K2. No `'operator' modifier is required on 'component'` error in K2
- [`KT-61835`](https://youtrack.jetbrains.com/issue/KT-61835) K2: FirStubTypeTransformer receives unresolved expressions in builder inference session
- [`KT-63596`](https://youtrack.jetbrains.com/issue/KT-63596) K1/K2: Different behavior for lambda with different return type
- [`KT-67688`](https://youtrack.jetbrains.com/issue/KT-67688) K2: False positive CANNOT\_INFER\_PARAMETER\_TYPE for Unit constraint type variable
- [`KT-62080`](https://youtrack.jetbrains.com/issue/KT-62080) False positive UNUSED\_VARIABLE for variable that is used in lambda and in further code with several conditions
- [`KT-60726`](https://youtrack.jetbrains.com/issue/KT-60726) K2: Missed TYPE\_MISMATCH error: inferred type non-suspend function but suspend function was expected
- [`KT-41835`](https://youtrack.jetbrains.com/issue/KT-41835) \[FIR] Green code turns to red in presence of smartcasts and redundant type arguments
- [`KT-67579`](https://youtrack.jetbrains.com/issue/KT-67579) K1/JVM: false-negative annotation-based diagnostics on usages of ABI compiled with non-trivially configured generation of default methods
- [`KT-67493`](https://youtrack.jetbrains.com/issue/KT-67493) K2: argument type mismatch: actual type is 'T', but 'T' was expected
- [`KT-64900`](https://youtrack.jetbrains.com/issue/KT-64900) K2: `getConstructorKeyword` call in `PsiRawFirBuilder.toFirConstructor` forces AST load
- [`KT-67648`](https://youtrack.jetbrains.com/issue/KT-67648) K2: wrong exposed visibility errors with WRONG\_MODIFIER\_CONTAINING\_DECLARATION on top-level enum class
- [`KT-58686`](https://youtrack.jetbrains.com/issue/KT-58686) FIR2IR: Don't use global counters
- [`KT-67592`](https://youtrack.jetbrains.com/issue/KT-67592) K2: Success execution of `:kotlin-stdlib:compileKotlinMetadata`
- [`KT-60398`](https://youtrack.jetbrains.com/issue/KT-60398) K2: consider forbidding FirBasedSymbol rebind
- [`KT-54918`](https://youtrack.jetbrains.com/issue/KT-54918) Refactor transformAnonymousFunctionWithExpectedType
- [`KT-63360`](https://youtrack.jetbrains.com/issue/KT-63360) K2: Malformed type mismatch error with functional type
- [`KT-67266`](https://youtrack.jetbrains.com/issue/KT-67266) K2: disappeared INLINE\_CLASS\_DEPRECATED
- [`KT-67569`](https://youtrack.jetbrains.com/issue/KT-67569) K2: Fix default value parameters of Enum's constructor if it's declared in source code
- [`KT-67378`](https://youtrack.jetbrains.com/issue/KT-67378) K2: Don't use `wrapScopeWithJvmMapped` for common source sets
- [`KT-67738`](https://youtrack.jetbrains.com/issue/KT-67738) K2: Introduce `kotlin.internal.ActualizeByJvmBuiltinProvider` annotation
- [`KT-64456`](https://youtrack.jetbrains.com/issue/KT-64456) K2: Port \*VersionRequirementTest to K2
- [`KT-67136`](https://youtrack.jetbrains.com/issue/KT-67136) Put $this parameter to LVT for suspend lambdas
- [`KT-62538`](https://youtrack.jetbrains.com/issue/KT-62538) K2: Declarations inside external classes should be implicitly external
- [`KT-67627`](https://youtrack.jetbrains.com/issue/KT-67627) K2: External interface companion isn't external in IR
- [`KT-60290`](https://youtrack.jetbrains.com/issue/KT-60290) K2: origin is not set for !in operator
- [`KT-67512`](https://youtrack.jetbrains.com/issue/KT-67512) K2: false positive WRONG\_GETTER\_RETURN\_TYPE when getter return type is annotated
- [`KT-67635`](https://youtrack.jetbrains.com/issue/KT-67635) K2: No warning TYPE\_MISMATCH\_WHEN\_FLEXIBILITY\_CHANGES for SAM constructor with inferred type
- [`KT-60501`](https://youtrack.jetbrains.com/issue/KT-60501) K2 Scripting: investigate metadata difference between K1 and K2
- [`KT-67598`](https://youtrack.jetbrains.com/issue/KT-67598) K2: Fix incorrect casting `UByte` to `Number` in `FirToConstantValueTransformer`
- [`KT-56564`](https://youtrack.jetbrains.com/issue/KT-56564) False positive "non-exhaustive when" in case of intersection type
- [`KT-63969`](https://youtrack.jetbrains.com/issue/KT-63969) K2: extra property in metadata
- [`KT-63968`](https://youtrack.jetbrains.com/issue/KT-63968) K2: extra property in metadata for anonymous variable in script
- [`KT-67547`](https://youtrack.jetbrains.com/issue/KT-67547) K/N can't build caches, fails with "clang++: error=2, No such file or directory"
- [`KT-67469`](https://youtrack.jetbrains.com/issue/KT-67469) K2: Failing module in FP-intellij
- [`KT-64033`](https://youtrack.jetbrains.com/issue/KT-64033) K2: Investigate ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound
- [`KT-64457`](https://youtrack.jetbrains.com/issue/KT-64457) K2: Fix DecompiledKnmStubConsistencyK2TestGenerated
- [`KT-66377`](https://youtrack.jetbrains.com/issue/KT-66377) IR Evaluator: "no container found for type parameter" when evaluating nested generics
- [`KT-66378`](https://youtrack.jetbrains.com/issue/KT-66378) IR Evaluator: Symbol is unbound
- [`KT-64506`](https://youtrack.jetbrains.com/issue/KT-64506) IDE, IR Evaluator: NPE in ReflectiveAccessLowering.fieldLocationAndReceiver when evaluating private static properties
- [`KT-67380`](https://youtrack.jetbrains.com/issue/KT-67380) K2: Don't check for `equals` overriding for class `Any`
- [`KT-67038`](https://youtrack.jetbrains.com/issue/KT-67038) K2: Missing type of FirLiteralExpression causes an exception for property initializer type resolution
- [`KT-59813`](https://youtrack.jetbrains.com/issue/KT-59813) K2: Fix the TODO about `firEffect.source` in `FirReturnsImpliesAnalyzer`
- [`KT-59834`](https://youtrack.jetbrains.com/issue/KT-59834) K2: Fix the TODO about `merge(other)` in `UnusedChecker`
- [`KT-59188`](https://youtrack.jetbrains.com/issue/KT-59188) K2: Change positioning strategy for `WRONG_NUMBER_OF_TYPE_ARGUMENTS` error
- [`KT-59108`](https://youtrack.jetbrains.com/issue/KT-59108) K2. SMARTCAST\_IMPOSSIBLE instead of UNSAFE\_IMPLICIT\_INVOKE\_CALL
- [`KT-65503`](https://youtrack.jetbrains.com/issue/KT-65503) The inline processor cannot handle objects inside the lambda correctly when calling an inline function from another module
- [`KT-30696`](https://youtrack.jetbrains.com/issue/KT-30696) NoSuchMethodError if nested anonymous objects are used with propagation reified type parameter
- [`KT-58966`](https://youtrack.jetbrains.com/issue/KT-58966) Incorrect type inference for parameters with omitted type of anonymous function that is being analyzed as value of function type with receiver
- [`KT-67458`](https://youtrack.jetbrains.com/issue/KT-67458) Use `@PhaseDescription` for JVM backend lowering phases
- [`KT-65647`](https://youtrack.jetbrains.com/issue/KT-65647) K2 ignores diagnostics on sourceless `FirTypeRef`s
- [`KT-64489`](https://youtrack.jetbrains.com/issue/KT-64489) K2: Rename FirAugmentedArraySet
- [`KT-67394`](https://youtrack.jetbrains.com/issue/KT-67394) FIR: Make FIR repr of For from PSI and LightTree the same
- [`KT-66724`](https://youtrack.jetbrains.com/issue/KT-66724) K2 IDE. False positive errors because of wrong type inference in complex case of delegated property and type arguments
- [`KT-40248`](https://youtrack.jetbrains.com/issue/KT-40248) Confusing error message NO\_RETURN\_IN\_FUNCTION\_WITH\_BLOCK\_BODY
- [`KT-66947`](https://youtrack.jetbrains.com/issue/KT-66947) K2: false-positive JSpecify nullability enhancement warning on Java wildcard type argument with same base type but different nullabilities as upper and lower bounds
- [`KT-66974`](https://youtrack.jetbrains.com/issue/KT-66974) K2: false-negative JSpecify nullability enhancement warning on nullable projection of Java wildcard type argument with non-null bounds in out-position
- [`KT-66946`](https://youtrack.jetbrains.com/issue/KT-66946) K2: false-negative JSpecify nullability enhancement warning on Java wildcard type argument with nullable upper bound in out-position
- [`KT-66442`](https://youtrack.jetbrains.com/issue/KT-66442) K2: No visibility error on importing private aliases
- [`KT-66598`](https://youtrack.jetbrains.com/issue/KT-66598) K2: Allow comparisons, `is`-checks and casts between Kotlin and platform types
- [`KT-55966`](https://youtrack.jetbrains.com/issue/KT-55966) K2: Not enough information to infer type variable K if smartcast is used
- [`KT-64894`](https://youtrack.jetbrains.com/issue/KT-64894) OPT\_IN\_ARGUMENT\_IS\_NOT\_MARKER diagnostic message is unclear
- [`KT-67019`](https://youtrack.jetbrains.com/issue/KT-67019) K2: IR has incorrect EQ origins for some inplace updating operators
- [`KT-59810`](https://youtrack.jetbrains.com/issue/KT-59810) K2: Support other ConstraintPosition-s
- [`KT-55383`](https://youtrack.jetbrains.com/issue/KT-55383) K1/K2: isClassTypeConstructor behaves differently for stub types
- [`KT-60089`](https://youtrack.jetbrains.com/issue/KT-60089) K2: Introduced ERROR\_IN\_CONTRACT\_DESCRIPTION
- [`KT-60382`](https://youtrack.jetbrains.com/issue/KT-60382) K2: Refactor ExpectActualCollector
- [`KT-62929`](https://youtrack.jetbrains.com/issue/KT-62929) K2: investigate if guessArrayTypeIfNeeded is necessary in annotation loader
- [`KT-65642`](https://youtrack.jetbrains.com/issue/KT-65642) K2: IR: Array access desugaring doesn't have origins
- [`KT-24807`](https://youtrack.jetbrains.com/issue/KT-24807) No smartcast to Boolean in subject of when-expression when subject type is non-nullable
- [`KT-66057`](https://youtrack.jetbrains.com/issue/KT-66057) K2: incorrect supertype leads to class declaration being highlighted red
- [`KT-63958`](https://youtrack.jetbrains.com/issue/KT-63958) K2: drop support of UseBuilderInferenceOnlyIfNeeded=false
- [`KT-63959`](https://youtrack.jetbrains.com/issue/KT-63959) K2: treat stub types as non-nullable for isReceiverNullable check
- [`KT-65100`](https://youtrack.jetbrains.com/issue/KT-65100) IrFakeOverrideBuilder: support custom 'remove(Int)' handling logic in MutableCollection subclasses
##### Compose compiler
##### New features
- [`cdfe659`](https://github.com/JetBrains/kotlin/commit/cdfe65911490eef21892098494986af1af14fa64) Changed how compiler features being rolled out are enabled and disabled in compiler plugin CLI. Features, such as strong skipping and non-skipping group optimizations are now enabled through the "featureFlag" option instead of their own option.
- [`192e556`](https://github.com/JetBrains/kotlin/commit/192e5565f484b399b33ed9e959793922f0aeb3d0) Strong skipping is now enabled by default
- [`842a9e8`](https://github.com/JetBrains/kotlin/commit/842a9e87e3c1e1d219313caedcc9e9fae895e53f) Add support for default parameters in abstract and open `@Composable` functions [`b/165812010`](https://issuetracker.google.com/issues/165812010)
##### Fixes
- [`e207b05`](https://github.com/JetBrains/kotlin/commit/e207b05f1fcbba38b71030be0fc30b378e9b5308) Fixes group generation for if statements when nonSkippingGroupOptimization is enabled [`b/346821372`](https://issuetracker.google.com/issues/346821372)
- [`f64fc3a`](https://github.com/JetBrains/kotlin/commit/f64fc3ae5f9be6f2a066b3b9350f830bdd4e854c) Fixes `endToMarker` generation in early return from inline lambdas that caused start/end imbalance [`b/346808602`](https://issuetracker.google.com/issues/346808602)
- [`d6ac8a5`](https://github.com/JetBrains/kotlin/commit/d6ac8a50a4eb4ce1c6464cb5103d2d9b04f67019) Stop memoizing lambdas with captured property delegates [`b/342557697`](https://issuetracker.google.com/issues/342557697)
- [`f38d5a3`](https://github.com/JetBrains/kotlin/commit/f38d5a3c047edb3b38eb0eaebcdcedc2aa1c04d8) Stop capturing parameter meta across crossinline boundary [`b/343801379`](https://issuetracker.google.com/issues/343801379)
- [`770fe8d`](https://github.com/JetBrains/kotlin/commit/770fe8dda6a8a801b47cb84f5026f93555c4b452) Propagate annotations from inferred function types when serializing [`b/345261077`](https://issuetracker.google.com/issues/345261077)
- [`3c67cda`](https://github.com/JetBrains/kotlin/commit/3c67cda09099f9acdd10b944183a75958e023141) Fix memoization of captureless lambdas when K2 compiler is used [`b/340582180`](https://issuetracker.google.com/issues/340582180)
- [`3281e53`](https://github.com/JetBrains/kotlin/commit/3281e53a1bb15af932157d42178184aed55e6d71) Allow memoizing lambdas in composable inline functions [`b/340606661`](https://issuetracker.google.com/issues/340606661)
- [`b/351858979`](https://issuetracker.google.com/issues/351858979) Fix stability inferencing of interfaces on incremental compilation
- [`b/346821372`](https://issuetracker.google.com/issues/346821372) \[Compose] Fix code generation for group optimization
- [`b/357878245`](https://issuetracker.google.com/issues/357878245) Disallow open `@Composable` functions with default params to fix binary compatibility issues.
##### IR. Actualizer
- [`KT-68830`](https://youtrack.jetbrains.com/issue/KT-68830) Compiler crash on missing actual class
- [`KT-69024`](https://youtrack.jetbrains.com/issue/KT-69024) K2: Children of expect annotation with `@OptionalExpectation` should be actualized
- [`KT-68742`](https://youtrack.jetbrains.com/issue/KT-68742) Allow expect protected to Java protected actualization
- [`KT-66436`](https://youtrack.jetbrains.com/issue/KT-66436) K2. Actualizing modCount property with a field in AbstractMutableList
- [`KT-68741`](https://youtrack.jetbrains.com/issue/KT-68741) Support actualization of AbstractMutableList.modCount
- [`KT-68801`](https://youtrack.jetbrains.com/issue/KT-68801) Crash on access of fake override of function actualized by fake override
- [`KT-66307`](https://youtrack.jetbrains.com/issue/KT-66307) K2: property fake override isn't generated for protected field
##### IR. Inlining
- [`KT-67208`](https://youtrack.jetbrains.com/issue/KT-67208) KJS: put ReplaceSuspendIntrinsicLowering after IR inliner
- [`KT-68100`](https://youtrack.jetbrains.com/issue/KT-68100) Run IR validation in the beginning and the end of the common prefix
- [`KT-69171`](https://youtrack.jetbrains.com/issue/KT-69171) Introduce a temporary `-X` CLI parameter that enables double-inlining
- [`KT-69006`](https://youtrack.jetbrains.com/issue/KT-69006) Enable IR visibility checks after IR inlining
- [`KT-69183`](https://youtrack.jetbrains.com/issue/KT-69183) IR inlining: properly handle defaults that depends on previous value parameters
- [`KT-67660`](https://youtrack.jetbrains.com/issue/KT-67660) Suspicious package part FQN calculation in InventNamesForLocalClasses
- [`KT-68558`](https://youtrack.jetbrains.com/issue/KT-68558) Move `InlineCallableReferenceToLambdaPhase` into `ir.inline` module
- [`KT-56466`](https://youtrack.jetbrains.com/issue/KT-56466) Support non-local break/continue in IR inliner
- [`KT-64958`](https://youtrack.jetbrains.com/issue/KT-64958) KJS: Put as many as possible lowerings after the inliner
- [`KT-67297`](https://youtrack.jetbrains.com/issue/KT-67297) Implement IR deserializer with unbound symbols
##### IR. Interpreter
- [`KT-66938`](https://youtrack.jetbrains.com/issue/KT-66938) Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir'
##### IR. Tree
##### Performance Improvements
- [`KT-67695`](https://youtrack.jetbrains.com/issue/KT-67695) ForLoopsLowering fails to handle a loop over an imprecise typed iterable
##### Fixes
- [`KT-68784`](https://youtrack.jetbrains.com/issue/KT-68784) Support validating visibility of referenced declarations in IrValidator
- [`KT-68174`](https://youtrack.jetbrains.com/issue/KT-68174) Delete the IrMessageLogger interface
- [`KT-67082`](https://youtrack.jetbrains.com/issue/KT-67082) Introduce attributes on IrElement
- [`KT-68716`](https://youtrack.jetbrains.com/issue/KT-68716) `DeepCopyIrTreeWithSymbols.visitConst` should remap const type
- [`KT-67650`](https://youtrack.jetbrains.com/issue/KT-67650) Add default implementations to methods for non-leaf IrSymbol subclasses from SymbolRemapper
- [`KT-67649`](https://youtrack.jetbrains.com/issue/KT-67649) Autogenerate IrSymbol interface hierarchy
- [`KT-44721`](https://youtrack.jetbrains.com/issue/KT-44721) IR: merge IrPrivateSymbolBase and IrPublicSymbolBase hierarchies
- [`KT-67580`](https://youtrack.jetbrains.com/issue/KT-67580) Autogenerate SymbolRemapper
- [`KT-67457`](https://youtrack.jetbrains.com/issue/KT-67457) Introduce a way to simplify IR lowering phase creation
- [`KT-67060`](https://youtrack.jetbrains.com/issue/KT-67060) NoSuchMethodError for org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl in the Flysto
##### JavaScript
##### New Features
- [`KT-69133`](https://youtrack.jetbrains.com/issue/KT-69133) Kotlin/JS: Add support for collection instantiation in JavaScript
- [`KT-18891`](https://youtrack.jetbrains.com/issue/KT-18891) JS: provide a way to declare static members (JsStatic?)
##### Fixes
- [`KT-68943`](https://youtrack.jetbrains.com/issue/KT-68943) `@JsPlainObject` breaks when interface has type parameters
- [`KT-70592`](https://youtrack.jetbrains.com/issue/KT-70592) "Error: HttpClientCall expected" on HTTP request when targeting es2015 with KTOR
- [`KT-67273`](https://youtrack.jetbrains.com/issue/KT-67273) Creating Kotlin Collections from JS collections
- [`KT-65018`](https://youtrack.jetbrains.com/issue/KT-65018) JS: Deprecate error tolerance
- [`KT-67355`](https://youtrack.jetbrains.com/issue/KT-67355) KJS / ES6: 'super' in lambda with enabled `-Xir-generate-inline-anonymous-functions` leads to JS errors
- [`KT-69353`](https://youtrack.jetbrains.com/issue/KT-69353) KJS / d.ts: Kotlin does not export base collection classes along with their mutable collection counterparts
- [`KT-66898`](https://youtrack.jetbrains.com/issue/KT-66898) KJS: Reserved keywords not escaped when `-Xir-generate-inline-anonymous-functions` is enabled
- [`KT-69710`](https://youtrack.jetbrains.com/issue/KT-69710) JS IR generates bad code for inner param default referring to outer members
- [`KT-68632`](https://youtrack.jetbrains.com/issue/KT-68632) K2: allow JS\_NAME\_CLASH suppression
- [`KT-69400`](https://youtrack.jetbrains.com/issue/KT-69400) Use correct type for references on local functions when transforming them into lambda
- [`KT-68554`](https://youtrack.jetbrains.com/issue/KT-68554) Legalize marker interface as parent for JSO (interface marked with `@JsPlainObject`)
- [`KT-68740`](https://youtrack.jetbrains.com/issue/KT-68740) Kotlin/JS 2.0.0 IrLinkageError with dynamic function parameters inside data classes
- [`KT-68944`](https://youtrack.jetbrains.com/issue/KT-68944) `@JsPlainObject` require properties, when type - nullable alias
- [`KT-68891`](https://youtrack.jetbrains.com/issue/KT-68891) `@JsPlainObject` fails to compile when encountering reserved keywords as interface properties
- [`KT-69023`](https://youtrack.jetbrains.com/issue/KT-69023) KJS / IR: `globalThis` is mandatory, breaking older browsers support
- [`KT-68641`](https://youtrack.jetbrains.com/issue/KT-68641) KJS: 'export was not found' with per-file mode on case-insensitive filesystem
- [`KT-68053`](https://youtrack.jetbrains.com/issue/KT-68053) K2: NON\_EXPORTABLE\_TYPE on a typealias of primitive type
- [`KT-62304`](https://youtrack.jetbrains.com/issue/KT-62304) K/JS: Investigate the compiler assertion crash in JS FIR with backend tests
- [`KT-68620`](https://youtrack.jetbrains.com/issue/KT-68620) \[wasm]\[js] Default param in inner class method fails if we are referring generic extension property
- [`KT-64801`](https://youtrack.jetbrains.com/issue/KT-64801) K2 + JS and WASM: Inner with default inner doesn't work properly
- [`KT-67248`](https://youtrack.jetbrains.com/issue/KT-67248) ModuleDescriptor in JS Linker contains incorrect friend dependecies
- [`KT-64424`](https://youtrack.jetbrains.com/issue/KT-64424) K2: Migrate JsProtoComparisonTestGenerated to K2
- [`KT-52602`](https://youtrack.jetbrains.com/issue/KT-52602) Kotlin/JS + IR: incompatible ABI version is not reported when no declarations are actually used by a Gradle compilation
- [`KT-66092`](https://youtrack.jetbrains.com/issue/KT-66092) K/JS & Wasm: .isReified for reified upper bound is wrongly false
- [`KT-67112`](https://youtrack.jetbrains.com/issue/KT-67112) Unable to apply `@JsStatic` for common sources: \[NO\_CONSTRUCTOR]
- [`KT-62329`](https://youtrack.jetbrains.com/issue/KT-62329) KJS: "UnsupportedOperationException: Empty collection can't be reduced" caused by external enum with "`@JsExport`"
- [`KT-67018`](https://youtrack.jetbrains.com/issue/KT-67018) K/JS: Executable js file for module-kind=umd contains top level this instead of globalThis
- [`KT-64776`](https://youtrack.jetbrains.com/issue/KT-64776) Test infra for JS can't process dependency in mpp module
- [`KT-65076`](https://youtrack.jetbrains.com/issue/KT-65076) Use the same instance when a fun interface doesn't capture or capture only singletons
##### Klibs
- [`KT-66557`](https://youtrack.jetbrains.com/issue/KT-66557) Check, that no bad metadata in klib is produced, when we failed to compute constant value
- [`KT-66968`](https://youtrack.jetbrains.com/issue/KT-66968) Provide K/N platforms libs for all available targets
- [`KT-66967`](https://youtrack.jetbrains.com/issue/KT-66967) Provide K/N stdlib for all available targets in all distributions
- [`KT-66605`](https://youtrack.jetbrains.com/issue/KT-66605) \[KLIB] Excessive creation of `BaseKotlinLibrary` during resolving libs
- [`KT-68824`](https://youtrack.jetbrains.com/issue/KT-68824) API 4 ABI: Don't show sealed class constructors
- [`KT-68202`](https://youtrack.jetbrains.com/issue/KT-68202) KLIB metadata: nested classes are sometimes inside a different 'knm' chunk
- [`KT-65834`](https://youtrack.jetbrains.com/issue/KT-65834) \[KLIB Resolve] Drop library versions in KLIB manifests
- [`KT-67446`](https://youtrack.jetbrains.com/issue/KT-67446) \[KLIB Tool] Drop "-repository <path>" CLI parameter
- [`KT-67445`](https://youtrack.jetbrains.com/issue/KT-67445) \[KLIB Tool] Drop "install" and "remove" commands
##### Language Design
- [`KT-58920`](https://youtrack.jetbrains.com/issue/KT-58920) K2: Prioritize Enum.entries resolve
- [`KT-11914`](https://youtrack.jetbrains.com/issue/KT-11914) Confusing data class copy with private constructor
- [`KT-68636`](https://youtrack.jetbrains.com/issue/KT-68636) Incorrect private\_to\_this visibility for data class with a private constructor
##### Libraries
##### New Features
- [`KT-31880`](https://youtrack.jetbrains.com/issue/KT-31880) UUID functionality to fix Java bugs as well as extend it
- [`KT-57998`](https://youtrack.jetbrains.com/issue/KT-57998) implement Base64.withoutPadding
##### Performance Improvements
- [`KT-67023`](https://youtrack.jetbrains.com/issue/KT-67023) Optimize Int.sign and Long.sign for js and wasmJs targets
##### Fixes
- [`KT-70196`](https://youtrack.jetbrains.com/issue/KT-70196) Introduce ExperimentalUuidApi annotation for marking Uuid API
- [`KT-60787`](https://youtrack.jetbrains.com/issue/KT-60787) Cannot ignore alpha when formatting with HexFormat
- [`KT-68025`](https://youtrack.jetbrains.com/issue/KT-68025) Improve documentation for Hex
- [`KT-66129`](https://youtrack.jetbrains.com/issue/KT-66129) Minor issues with HexFormat
- [`KT-67511`](https://youtrack.jetbrains.com/issue/KT-67511) provide equals() and hashCode() implementations for kotlinx.metadata.KmType
- [`KT-68240`](https://youtrack.jetbrains.com/issue/KT-68240) stdlib: proper expects for internal API used in intermediate shared source sets
- [`KT-68840`](https://youtrack.jetbrains.com/issue/KT-68840) atomicfu-runtime: annotate some internal functions with `@PublishedApi`
- [`KT-68839`](https://youtrack.jetbrains.com/issue/KT-68839) Annotate `kotlin.js.VOID` property with `@PublishedApi`
- [`KT-68023`](https://youtrack.jetbrains.com/issue/KT-68023) Improve documentation for Base64
- [`KT-51483`](https://youtrack.jetbrains.com/issue/KT-51483) Documentation of trimMargin is (partly) difficult to understand
- [`KT-64649`](https://youtrack.jetbrains.com/issue/KT-64649) Add explanation to "A compileOnly dependency is used in the Kotlin/Native target" warning message
- [`KT-67807`](https://youtrack.jetbrains.com/issue/KT-67807) JS/Wasm: ByteArray.decodeToString incorrectly handles ill-formed 4-byte sequences with a 2nd byte not being continuation byte
- [`KT-67768`](https://youtrack.jetbrains.com/issue/KT-67768) Wasm: ByteArray.decodeToString throws out-of-bounds exception if the last byte is a start of a 4-byte sequence
- [`KT-66896`](https://youtrack.jetbrains.com/issue/KT-66896) Improve Array contentEquals and contentDeepEquals documentation
##### Native
- [`KT-70166`](https://youtrack.jetbrains.com/issue/KT-70166) Native: EXC\_BAD\_ACCESS on watchOS when using Dispatchers
- [`KT-69246`](https://youtrack.jetbrains.com/issue/KT-69246) K2: linkPodDebugFrameworkIosArm64 takes 15 (!!) times longer
- [`KT-67694`](https://youtrack.jetbrains.com/issue/KT-67694) Native: WeakRefBenchmark degradation due to nonoptimized IntProgression iteration
- [`KT-69206`](https://youtrack.jetbrains.com/issue/KT-69206) Native: updating to LLVM 16 breaks debugging in lldb on Linux
- [`KT-68640`](https://youtrack.jetbrains.com/issue/KT-68640) Native: updating to LLVM 16 changes behavior of `used` attribute in C/C++ code
- [`KT-58097`](https://youtrack.jetbrains.com/issue/KT-58097) Kotlin/Native: improve the error message if Xcode is not properly configured
- [`KT-67583`](https://youtrack.jetbrains.com/issue/KT-67583) compileKotlin-task unexpectedly downloads K/N dependencies on Linux (but doesn't on Mac)
##### Native. Build Infrastructure
- [`KT-69781`](https://youtrack.jetbrains.com/issue/KT-69781) Kotlin/Native performance tests fail to compile with bitcode
##### Native. C and ObjC Import
- [`KT-69094`](https://youtrack.jetbrains.com/issue/KT-69094) LLVM 11 clang: cinterops fail with "\_Float16 is not supported on this target"
- [`KT-68254`](https://youtrack.jetbrains.com/issue/KT-68254) Native: flaky testForwardEnum test in Kotlin/Native on MacOS
- [`KT-65260`](https://youtrack.jetbrains.com/issue/KT-65260) Native: compiler crashes when casting to an Obj-C class companion
##### Native. ObjC Export
- [`KT-65666`](https://youtrack.jetbrains.com/issue/KT-65666) Native: enable objcExportSuspendFunctionLaunchThreadRestriction=none by default
- [`KT-57496`](https://youtrack.jetbrains.com/issue/KT-57496) linkReleaseFrameworkIosArm64: e: Compilation failed: An operation is not implemented
##### Native. Platform Libraries
- [`KT-69382`](https://youtrack.jetbrains.com/issue/KT-69382) LLVM 11 clang: symbol not found when running the linker
##### Native. Runtime
- [`KT-70043`](https://youtrack.jetbrains.com/issue/KT-70043) Native: EXC\_BAD\_ACCESS on watchOS when using Random
- [`KT-68928`](https://youtrack.jetbrains.com/issue/KT-68928) EXC\_BREAKPOINT: BUG IN CLIENT OF LIBPLATFORM: Trying to recursively lock an os\_unfair\_lock
##### Native. Runtime. Memory
- [`KT-66644`](https://youtrack.jetbrains.com/issue/KT-66644) Native: threads are too often paused to assist GC (with concurrent mark)
- [`KT-68871`](https://youtrack.jetbrains.com/issue/KT-68871) Native: Unexpected barriers phase during STW: weak-processing
- [`KT-67779`](https://youtrack.jetbrains.com/issue/KT-67779) Native: SpecialRefRegistry::ThradData publication prolongs the pause in CMS
- [`KT-66918`](https://youtrack.jetbrains.com/issue/KT-66918) Native: scan global root set concurrently
##### Native. Swift Export
- [`KT-69469`](https://youtrack.jetbrains.com/issue/KT-69469) Exporting object twice causing crash
- [`KT-69251`](https://youtrack.jetbrains.com/issue/KT-69251) Get rid of context receivers from ./native/.../lazyWithSessions.kt
- [`KT-68865`](https://youtrack.jetbrains.com/issue/KT-68865) Move config into test-directives
- [`KT-68259`](https://youtrack.jetbrains.com/issue/KT-68259) Swift export: secondary constructs lead to compilation errors
- [`KT-67095`](https://youtrack.jetbrains.com/issue/KT-67095) Native: fix testNativeRefs export test
- [`KT-67099`](https://youtrack.jetbrains.com/issue/KT-67099) Remove SirVisitor and SirTransformer from code
- [`KT-67003`](https://youtrack.jetbrains.com/issue/KT-67003) Abandon PackageInflator implementation in favour of PackageProvider component
##### Native. Testing
- [`KT-69235`](https://youtrack.jetbrains.com/issue/KT-69235) Incorrect handling of friend dependencies in Native test infra
- [`KT-67436`](https://youtrack.jetbrains.com/issue/KT-67436) Native: support CLI tests
- [`KT-68416`](https://youtrack.jetbrains.com/issue/KT-68416) Native: when using test grouping, a whole group gets ignored on non-Mac hosts if it has Objective-C tests
- [`KT-68500`](https://youtrack.jetbrains.com/issue/KT-68500) Native: Drop custom logic in ExtTestCaseGroupProvider, mute codegen/box tests explicitly
##### Reflection
- [`KT-69433`](https://youtrack.jetbrains.com/issue/KT-69433) KotlinReflectionInternalError on non-reified type parameter in typeOf inside an inline lambda
- [`KT-68675`](https://youtrack.jetbrains.com/issue/KT-68675) K2: KotlinReflectionInternalError on non-reified type parameter in typeOf inside a lambda
##### Tools. Build Tools API
- [`KT-68555`](https://youtrack.jetbrains.com/issue/KT-68555) BTA test infra: top level declarations are invisible across modules
##### Tools. CLI
- [`KT-69792`](https://youtrack.jetbrains.com/issue/KT-69792) Add the possibility to disable fast jar fs in K2
- [`KT-68838`](https://youtrack.jetbrains.com/issue/KT-68838) OutOfMemory when compiling in CLI
- [`KT-67939`](https://youtrack.jetbrains.com/issue/KT-67939) Add CLI argument to enable when guards feature
- [`KT-68743`](https://youtrack.jetbrains.com/issue/KT-68743) Extract common CLI arguments for all KLIB-based backends
- [`KT-68450`](https://youtrack.jetbrains.com/issue/KT-68450) CLI: errors related to module-info are reported even if there are no Kotlin source files
- [`KT-68060`](https://youtrack.jetbrains.com/issue/KT-68060) FastJarFS fails on empty jars
##### Tools. CLI. Native
- [`KT-66952`](https://youtrack.jetbrains.com/issue/KT-66952) Native: konanc fails when KONAN\_HOME is under path with spaces
- [`KT-64524`](https://youtrack.jetbrains.com/issue/KT-64524) Introduce a CLI argument to override native\_targets field in klib manifest
##### Tools. Commonizer
- [`KT-68835`](https://youtrack.jetbrains.com/issue/KT-68835) Command line length overflow on Linux/Windows while invoking commonizer via :commonizeDistribution
##### Tools. Compiler Plugin API
- [`KT-68020`](https://youtrack.jetbrains.com/issue/KT-68020) K2: run FirSupertypeGenerationExtension over generated declarations
##### Tools. Compiler Plugins
- [`KT-64425`](https://youtrack.jetbrains.com/issue/KT-64425) K2: Implement Atomicfu\*IrTestGenerated for K2
- [`KT-69401`](https://youtrack.jetbrains.com/issue/KT-69401) Kotlin power assert plugin doesn't work correctly with safe cast operator
- [`KT-69290`](https://youtrack.jetbrains.com/issue/KT-69290) PowerAssert: implicit receivers included in power-assert generated diagram
- [`KT-68511`](https://youtrack.jetbrains.com/issue/KT-68511) Power Assert kotlinx.assertEquals message display problem
- [`KT-68807`](https://youtrack.jetbrains.com/issue/KT-68807) Power-Assert crashes the Kotlin compiler when if expression used as assertion parameter
- [`KT-68162`](https://youtrack.jetbrains.com/issue/KT-68162) K2 Parcelize implementation breaks compiler phase contracts
- [`KT-67605`](https://youtrack.jetbrains.com/issue/KT-67605) K2 parcelize: false positive NOTHING\_TO\_OVERRIDE in one test
- [`KT-64455`](https://youtrack.jetbrains.com/issue/KT-64455) K2: Implement ParcelizeIrBoxTestWithSerializableLikeExtension for K2
##### Tools. Compiler plugins. Serialization
- [`KT-70516`](https://youtrack.jetbrains.com/issue/KT-70516) KxSerialization: `@KeepGeneratedSerializer` and sealed class cause initialization error
- [`KT-68752`](https://youtrack.jetbrains.com/issue/KT-68752) Serializable annotation on Java class is not taken into account in K2 checker
- [`KT-68931`](https://youtrack.jetbrains.com/issue/KT-68931) JS/Native + serialization: partial linkage error
- [`KT-69039`](https://youtrack.jetbrains.com/issue/KT-69039) FIR: Implement IDE-only checker for kotlinx.serialization compiler plugin to report IDE-only diagnostics
##### Tools. Fleet. ObjC Export
- [`KT-68826`](https://youtrack.jetbrains.com/issue/KT-68826) ObjCExport: SerializersModuleBuilder
- [`KT-68841`](https://youtrack.jetbrains.com/issue/KT-68841) ObjCExport: `@Deprecated` support
- [`KT-68887`](https://youtrack.jetbrains.com/issue/KT-68887) ObjCExport: K1 text fixture `@Deprecated` support
- [`KT-68051`](https://youtrack.jetbrains.com/issue/KT-68051) \[ObjCExport] Support reserved method names
##### Tools. Gradle
##### New Features
- [`KT-68651`](https://youtrack.jetbrains.com/issue/KT-68651) Compose: provide a single place in extension to configure all compose flags
##### Performance Improvements
- [`KT-61861`](https://youtrack.jetbrains.com/issue/KT-61861) Gradle: Kotlin compilations depend on packed artifacts
##### Fixes
- [`KT-69809`](https://youtrack.jetbrains.com/issue/KT-69809) Compose Gradle Plugin: AGP doesn't override configuration properties like traceMarkersEnabled
- [`KT-65820`](https://youtrack.jetbrains.com/issue/KT-65820) Compatibility with Gradle 8.7 release
- [`KT-69444`](https://youtrack.jetbrains.com/issue/KT-69444) Don't warn about missing Compose Compiler Gradle plugin in some cases
- [`KT-67888`](https://youtrack.jetbrains.com/issue/KT-67888) Remove usages of deprecated Configuration.fileCollection() method
- [`KT-68843`](https://youtrack.jetbrains.com/issue/KT-68843) Gradle: Kotlin plugin changes source set 'main' to 'null/main'
- [`KT-67395`](https://youtrack.jetbrains.com/issue/KT-67395) Add new plugins to collector kotlin gradle performance
- [`KT-68661`](https://youtrack.jetbrains.com/issue/KT-68661) Move ExperimentalWasmDsl to kotlin-gradle-plugin-annotations
- [`KT-69837`](https://youtrack.jetbrains.com/issue/KT-69837) Deprecation warning for file-based IC is issued when the property is set to true, altering the intended meaning of the message
- [`KT-69291`](https://youtrack.jetbrains.com/issue/KT-69291) Compose Gradle plugin: Enable strong skipping by default
- [`KT-67766`](https://youtrack.jetbrains.com/issue/KT-67766) Build against Gradle API 8.7
- [`KT-67889`](https://youtrack.jetbrains.com/issue/KT-67889) Run tests against Gradle 8.8 release
- [`KT-65271`](https://youtrack.jetbrains.com/issue/KT-65271) Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3
- [`KT-67822`](https://youtrack.jetbrains.com/issue/KT-67822) Deprecate JVM history files based incremental compilation
- [`KT-64378`](https://youtrack.jetbrains.com/issue/KT-64378) Compatibility with Gradle 8.6 release
- [`KT-69414`](https://youtrack.jetbrains.com/issue/KT-69414) Compose: featureFlags override values of the deprecated compose options
- [`KT-67771`](https://youtrack.jetbrains.com/issue/KT-67771) Compatibility with Gradle 8.8 release
- [`KT-65528`](https://youtrack.jetbrains.com/issue/KT-65528) Migrate rest of Gradle integration tests to new Test DSL
- [`KT-68306`](https://youtrack.jetbrains.com/issue/KT-68306) Project isolation for FUS statistics: Cannot access project ':' from project ':app' at org.jetbrains.kotlin.gradle.report.BuildMetricsService$ Companion.initBuildScanExtensionHolder
- [`KT-67890`](https://youtrack.jetbrains.com/issue/KT-67890) Compile against Gradle 8.8 API artifact
- [`KT-68773`](https://youtrack.jetbrains.com/issue/KT-68773) Kotlin 2.0.0 with Gradle 8.8: ConcurrentModificationException on BuildFusService configurationMetrics
- [`KT-68308`](https://youtrack.jetbrains.com/issue/KT-68308) Project isolation for FUS statistics: An error is thrown at org.gradle.configurationcache.ProblemReportingCrossProjectModelAccess$ProblemReportingProject.getLayout
- [`KT-61574`](https://youtrack.jetbrains.com/issue/KT-61574) Add project-isolation test for Kotlin/Android plugin
- [`KT-65936`](https://youtrack.jetbrains.com/issue/KT-65936) Provide a detailed error for changing kotlin native version dependency.
- [`KT-62684`](https://youtrack.jetbrains.com/issue/KT-62684) PropertiesBuildService should load extraProperties only once
- [`KT-67288`](https://youtrack.jetbrains.com/issue/KT-67288) Test DSL should not fail the test if build scan publishing has failed
- [`KT-58280`](https://youtrack.jetbrains.com/issue/KT-58280) org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath
##### Tools. Gradle. JS
- [`KT-70077`](https://youtrack.jetbrains.com/issue/KT-70077) \[2.0.20-Beta2] KGP reports confusing warnings about js/wasmJS source sets
- [`KT-69805`](https://youtrack.jetbrains.com/issue/KT-69805) YarnSetupTask does not work for custom downloadBaseUrl
- [`KT-67444`](https://youtrack.jetbrains.com/issue/KT-67444) Gradle / JS: wrong type commonWebpackConfig.devServer.proxy
- [`KT-42923`](https://youtrack.jetbrains.com/issue/KT-42923) KJS: Resources are not available when running Karma tests
- [`KT-68482`](https://youtrack.jetbrains.com/issue/KT-68482) KotlinNpmInstallTask is not compatible with configuration cache
- [`KT-68072`](https://youtrack.jetbrains.com/issue/KT-68072) K/JS, K/Wasm: Module not found in transitive case
- [`KT-68103`](https://youtrack.jetbrains.com/issue/KT-68103) K/JS, K/Wasm: Generation of test compilation's package.json requires main compilation
- [`KT-67924`](https://youtrack.jetbrains.com/issue/KT-67924) K/JS, K/Wasm: kotlinNpmInstall can rewrite root package.json
##### Tools. Gradle. Kapt
- [`KT-64627`](https://youtrack.jetbrains.com/issue/KT-64627) Kapt3KotlinGradleSubplugin uses property lookup that breaks project isolation
- [`KT-61928`](https://youtrack.jetbrains.com/issue/KT-61928) Clarify parameter types in KaptArguments and KaptJavacOption
##### Tools. Gradle. Multiplatform
##### New Features
- [`KT-56566`](https://youtrack.jetbrains.com/issue/KT-56566) Consider pre-generating DSL accessors for source sets with names corresponding to the default target hierarchy
##### Fixes
- [`KT-66568`](https://youtrack.jetbrains.com/issue/KT-66568) w: KLIB resolver: The same 'unique\_name=...' found in more than one library
- [`KT-65754`](https://youtrack.jetbrains.com/issue/KT-65754) Gradle: Commonized cinterop dependency configuration changes project description
- [`KT-69406`](https://youtrack.jetbrains.com/issue/KT-69406) Deprecate combinations of KMP plugin with some Gradle Java plugins
- [`KT-64109`](https://youtrack.jetbrains.com/issue/KT-64109) Using compileOnly/runtimeOnly dependencies in K/N-related configurations leads to odd behaviour
- [`KT-69311`](https://youtrack.jetbrains.com/issue/KT-69311) runDebugExecutable task fails with "this.compilation" is null with enabled configuration cache
- [`KT-69310`](https://youtrack.jetbrains.com/issue/KT-69310) w: KLIB resolver: The same 'unique\_name=...' found in more than one library for diamond source set structures
- [`KT-61793`](https://youtrack.jetbrains.com/issue/KT-61793) KMP/AGP compatibility: Update the maximum tested AGP version to 8.3
- [`KT-66209`](https://youtrack.jetbrains.com/issue/KT-66209) Accessing the source sets by name is confusing
- [`KT-62368`](https://youtrack.jetbrains.com/issue/KT-62368) Kotlin 1.9.X fails to detect kotlin.test.Test annotation reference on commonTest source set when targeting JVM+Android
- [`KT-67110`](https://youtrack.jetbrains.com/issue/KT-67110) Usage of BuildOperationExecutor.getCurrentOpeartion internal Gradle API
- [`KT-58319`](https://youtrack.jetbrains.com/issue/KT-58319) kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'"
##### Tools. Gradle. Native
- [`KT-69918`](https://youtrack.jetbrains.com/issue/KT-69918) java.lang.NullPointerException: Cannot invoke "org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation.getTarget()" because "this.compilation" is null
- [`KT-67935`](https://youtrack.jetbrains.com/issue/KT-67935) OverriddenKotlinNativeHomeChecker does not work well with relative paths
- [`KT-64430`](https://youtrack.jetbrains.com/issue/KT-64430) Remove deprecated KotlinToolRunner(project) constructor
- [`KT-64427`](https://youtrack.jetbrains.com/issue/KT-64427) Stop using deprecated KotlinToolRunner(project) constructor call
##### Tools. Incremental Compile
- [`KT-69042`](https://youtrack.jetbrains.com/issue/KT-69042) K2: changing a Java constant won't cause Kotlin usages to recompile
- [`KT-63476`](https://youtrack.jetbrains.com/issue/KT-63476) Investigate the debug output of JVM compilation in KMP IC smoke tests
##### Tools. JPS
- [`KT-63707`](https://youtrack.jetbrains.com/issue/KT-63707) JPS: "Multiple values are not allowed for" caused by Compose
##### Tools. Kapt
- [`KT-68145`](https://youtrack.jetbrains.com/issue/KT-68145) K2 KAPT: missing $annotations methods for const properties and private properties without accessors
- [`KT-67495`](https://youtrack.jetbrains.com/issue/KT-67495) File leak in when building with kapt
- [`KT-66780`](https://youtrack.jetbrains.com/issue/KT-66780) K2 KAPT Kotlinc should exit with an exit code 1 (compilation error) if a Kapt task fails
- [`KT-66998`](https://youtrack.jetbrains.com/issue/KT-66998) K2 KAPT: Reimplement support for DefaultImpls
##### Tools. Scripts
- [`KT-69296`](https://youtrack.jetbrains.com/issue/KT-69296) scripting dependency resolution does not authenticate towards maven mirrors
- [`KT-67575`](https://youtrack.jetbrains.com/issue/KT-67575) FromConfigurationsBase script definition unexpected behaviour with regex from gradle templates
- [`KT-67066`](https://youtrack.jetbrains.com/issue/KT-67066) DeepCopyIrTreeWithSymbols does not copy IrScript nodes correctly
- [`KT-67071`](https://youtrack.jetbrains.com/issue/KT-67071) K2: ScriptCompilationConfigurationFromDefinition is not serializable
- [`KT-67063`](https://youtrack.jetbrains.com/issue/KT-67063) LauncherReplTest flaky on Windows
##### Tools. Wasm
- [`KT-70220`](https://youtrack.jetbrains.com/issue/KT-70220) K/Wasm: Upgrade NPM dependencies
- [`KT-69245`](https://youtrack.jetbrains.com/issue/KT-69245) K/Wasm: Remove warning of working-in-progress
- [`KT-69154`](https://youtrack.jetbrains.com/issue/KT-69154) K/Wasm: wasmJsBrowserProductionRun flaky crash with "WebAssembly.instantiate(): Import ... function import requires a callable"
- [`KT-68930`](https://youtrack.jetbrains.com/issue/KT-68930) K/Wasm: Production run doesn not use optimize task result
- [`KT-67901`](https://youtrack.jetbrains.com/issue/KT-67901) K/Wasm: Add kotlin-wasm-examples to CI
- [`KT-67468`](https://youtrack.jetbrains.com/issue/KT-67468) Gradle task build (allTests) fails on default web project
- [`KT-67980`](https://youtrack.jetbrains.com/issue/KT-67980) Wasm: Incorrect "Please choose a JavaScript environment to build distributions and run tests" when WASM is not configured
- [`KT-67862`](https://youtrack.jetbrains.com/issue/KT-67862) K/Wasm: Make usage of ChromeWasmGc an error
### [`v2.0.10`](https://github.com/JetBrains/kotlin/releases/tag/v2.0.10): Kotlin 2.0.10
#### 2.0.10
##### Apple Ecosystem
- [`KT-68257`](https://youtrack.jetbrains.com/issue/KT-68257) Xcode incorrectly reuses embedAndSign framework when moving to and from 2.0.0
##### Compiler
##### Fixes
- [`KT-69876`](https://youtrack.jetbrains.com/issue/KT-69876) K2 Compile exception: Only IrBlockBody together with kotlinx serialization
- [`KT-68521`](https://youtrack.jetbrains.com/issue/KT-68521) K2: Property's private setters can be bypassed when using plusAssign and minusAssign operators
- [`KT-68667`](https://youtrack.jetbrains.com/issue/KT-68667) K2: Compiler hangs on mapNotNull and elvis inside lambda
- [`KT-68747`](https://youtrack.jetbrains.com/issue/KT-68747) K2: Long compilation time because of constraint solving when using typealias in different modules
- [`KT-68940`](https://youtrack.jetbrains.com/issue/KT-68940) K2: "IllegalArgumentException: All variables should be fixed to something"
- [`KT-68797`](https://youtrack.jetbrains.com/issue/KT-68797) K2 / Native: "java.lang.IllegalStateException: FIELD" caused by enabled caching
- [`KT-68362`](https://youtrack.jetbrains.com/issue/KT-68362) False-positive ABSTRACT\_MEMBER\_NOT\_IMPLEMENTED for inheritor of java class which directly implements java.util.Map
- [`KT-68449`](https://youtrack.jetbrains.com/issue/KT-68449) K2: "when" expression returns Unit
- [`KT-67072`](https://youtrack.jetbrains.com/issue/KT-67072) K2: inconsistent stability of open vals on receivers of final type
- [`KT-68570`](https://youtrack.jetbrains.com/issue/KT-68570) K2: "Unresolved reference" in call with lambda argument and nested lambda argument
- [`KT-69159`](https://youtrack.jetbrains.com/issue/KT-69159) K2: KotlinNothingValueException in Exposed
- [`KT-68623`](https://youtrack.jetbrains.com/issue/KT-68623) K2: "Only safe or null-asserted calls are allowed" on safe call
- [`KT-68193`](https://youtrack.jetbrains.com/issue/KT-68193) JDK 21: new MutableList.addFirst/addLast methods allow adding nullable value for non-null types
- [`KT-67804`](https://youtrack.jetbrains.com/issue/KT-67804) removeFirst and removeLast return type with Java 21
- [`KT-68727`](https://youtrack.jetbrains.com/issue/KT-68727) K2: "Null argument in ExpressionCodegen for parameter VALUE\_PARAMETER" caused by an enum class with default parameter in a different module
- [`KT-68383`](https://youtrack.jetbrains.com/issue/KT-68383) K2: "Argument type mismatch: actual type is 'kotlin.String', but 'T & Any' was expected." with intersection types
- [`KT-68546`](https://youtrack.jetbrains.com/issue/KT-68546) K2: false-positive conflicting overloads error on inheriting generic type with inherited generic and non-generic member overloads
- [`KT-68626`](https://youtrack.jetbrains.com/issue/KT-68626) K2: "Conflicting Overloads" for function if inherited from generic type
- [`KT-68351`](https://youtrack.jetbrains.com/issue/KT-68351) K2: "Suspension functions can only be called within coroutine body"
- [`KT-68489`](https://youtrack.jetbrains.com/issue/KT-68489) K2: WRONG\_ANNOTATION\_TARGET with Java and Kotlin `@Target` annotation positions
- [`KT-69058`](https://youtrack.jetbrains.com/issue/KT-69058) K2: Java-defined property annotations not persisted
- [`KT-64515`](https://youtrack.jetbrains.com/issue/KT-64515) K2 IDE: \[NEW\_INFERENCE\_ERROR] in a build.gradle.kts script while applying "jvm-test-suite" plugin and then configuring targets for test suites
- [`KT-68016`](https://youtrack.jetbrains.com/issue/KT-68016) K2: Gradle repo test `should compile correctly with Kotlin explicit api mode` fails on K2
- [`KT-68575`](https://youtrack.jetbrains.com/issue/KT-68575) K2: `@ParameterName` annotation is not erased when inferring the type of `it` in lambdas
- [`KT-67999`](https://youtrack.jetbrains.com/issue/KT-67999) K2: lost flexibility on parameters of Java SAM
- [`KT-59679`](https://youtrack.jetbrains.com/issue/KT-59679) K2: Investigate extracting uncompleted candidates from blocks
- [`KT-68401`](https://youtrack.jetbrains.com/issue/KT-68401) K2: "IllegalAccessError: failed to access class" caused by package private super Java type, when inferencing a common super type of if or when branches on JVM
- [`KT-68806`](https://youtrack.jetbrains.com/issue/KT-68806) K/Wasm RuntimeError: unreachable on Sequence::toList
- [`KT-68455`](https://youtrack.jetbrains.com/issue/KT-68455) K2: False negative UPPER\_BOUND\_VIOLATED\_BASED\_ON\_JAVA\_ANNOTATIONS
- [`KT-68538`](https://youtrack.jetbrains.com/issue/KT-68538) KJS/K2: using `while` with `break` inside inline lambdas leads to an endless cycle
- [`KT-68798`](https://youtrack.jetbrains.com/issue/KT-68798) JVM compiler crashes on calling private expect constructor with a default parameter
- [`KT-68734`](https://youtrack.jetbrains.com/issue/KT-68734) K2: enum class in KMP: Expect declaration `MMKVLogLevel` is incompatible with actual `MMKVLogLevel` because modality is different
- [`KT-68674`](https://youtrack.jetbrains.com/issue/KT-68674) False positive ACTUAL\_WITHOUT\_EXPECT in K2
- [`KT-68350`](https://youtrack.jetbrains.com/issue/KT-68350) K2: "Inapplicable candidate(s)" caused by parameter reference of local class with type parameters from function
- [`KT-68571`](https://youtrack.jetbrains.com/issue/KT-68571) K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by exceptions and when statement
- [`KT-68523`](https://youtrack.jetbrains.com/issue/KT-68523) K2: FileAnalysisException when using Definitely non-nullable types
- [`KT-68339`](https://youtrack.jetbrains.com/issue/KT-68339) K2: "Enum entry \* is uninitialized here" caused by lazy property with enum in `when` expression
- [`KT-66688`](https://youtrack.jetbrains.com/issue/KT-66688) K2: false-negative "upper bound violated" error in extension receiver
- [`KT-68630`](https://youtrack.jetbrains.com/issue/KT-68630) DiagnosticsSuppressor is not invoked with Kotlin 2.0
- [`KT-68222`](https://youtrack.jetbrains.com/issue/KT-68222) K2. KMP. False negative `Expected declaration must not have a body` for expected top-level property with getter/setter
- [`KT-64103`](https://youtrack.jetbrains.com/issue/KT-64103) FirExpectActualDeclarationChecker reports diagnostic error for KtPsiSimpleDiagnostic with KtFakeSourceElement
- [`KT-68191`](https://youtrack.jetbrains.com/issue/KT-68191) K2. Static fake-overrides are not generated for kotlin Fir2IrLazyClass
- [`KT-68024`](https://youtrack.jetbrains.com/issue/KT-68024) K2: Gradle repo test `accessors to kotlin internal task types...` fails on K2
- [`KT-64957`](https://youtrack.jetbrains.com/issue/KT-64957) K1: drop ModuleAnnotationResolver
##### Compose compiler
- [`0c5a858`](https://github.com/JetBrains/kotlin/commit/0c5a858604da726792d5b3c16374bb6cba5baf2f) Fix memoization of captureless lambdas when K2 compiler is used [b/340582180](https://issuetracker.google.com/issues/340582180)
- [`a8249d6`](https://github.com/JetBrains/kotlin/commit/a8249d60c7cd14a459469fe0ef2099721d3dd699) Allow memoizing lambdas in composable inline functions [b/340606661](https://issuetracker.google.com/issues/340606661)
##### Native
- [`KT-68094`](https://youtrack.jetbrains.com/issue/KT-68094) K2/Native: Member inherits different '`@Throws`' when inheriting from generic type
##### Tools. Compiler Plugins
- [`KT-69187`](https://youtrack.jetbrains.com/issue/KT-69187) Compose compiler for web doesn't support rememberComposableLambda
- [`KT-68557`](https://youtrack.jetbrains.com/issue/KT-68557) K2. Supertypes resolution of KJK hierarchy fails in presence of allopen plugin
##### Tools. Compiler plugins. Serialization
- [`KT-68850`](https://youtrack.jetbrains.com/issue/KT-68850) Compose lambda type not transformed with KGP 2 + new Compose plugin
##### Tools. Daemon
- [`KT-68297`](https://youtrack.jetbrains.com/issue/KT-68297) KGP 2.0 regression: JAVA\_TOOL\_OPTIONS is not considered in Kotlin daemon creation
##### Tools. Gradle
- [`KT-69330`](https://youtrack.jetbrains.com/issue/KT-69330) KotlinCompile friendPathsSet property is racy due causing build cache invalidation
- [`KT-69026`](https://youtrack.jetbrains.com/issue/KT-69026) Mark AGP 8.5.0 as compatible with KGP
- [`KT-68447`](https://youtrack.jetbrains.com/issue/KT-68447) ill-added intentionally-broken dependency source configurations
- [`KT-69078`](https://youtrack.jetbrains.com/issue/KT-69078) Gradle: Add option to disable FUS Service
- [`KT-68278`](https://youtrack.jetbrains.com/issue/KT-68278) Spring resource loading in combination with `java-test-fixtures` plugin broken
- [`KT-66452`](https://youtrack.jetbrains.com/issue/KT-66452) Gradle produces false positive configuration cache problem for Project usage at execution time
- [`KT-68242`](https://youtrack.jetbrains.com/issue/KT-68242) Run tests against AGP 8.4.0
##### Tools. Gradle. Multiplatform
- [`KT-68805`](https://youtrack.jetbrains.com/issue/KT-68805) KMP project (re-)import took a long time for downloading platform libs
- [`KT-68248`](https://youtrack.jetbrains.com/issue/KT-68248) kotlin multiplatform project fail to build on Fedora with corretto
##### Tools. Gradle. Native
- [`KT-68638`](https://youtrack.jetbrains.com/issue/KT-68638) KGP 2.0 breaks native test with api dependencies and configuration cache
- [`KT-65761`](https://youtrack.jetbrains.com/issue/KT-65761) Missing JDK Platform ClassLoader when compiling Kotlin native in daemon
##### Tools. JPS
- [`KT-69204`](https://youtrack.jetbrains.com/issue/KT-69204) Generate lookups in dumb mode for compatibility with ref index
##### Tools. Kapt
- [`KT-68171`](https://youtrack.jetbrains.com/issue/KT-68171) K2KAPT: boxed return types in overridden methods changed to primitives
##### Tools. Scripts
- [`KT-68681`](https://youtrack.jetbrains.com/issue/KT-68681) K2 / CLI / Script: "NullPointerException: getService(...) must not be null" caused by `@DependsOn`
- [`KT-67747`](https://youtrack.jetbrains.com/issue/KT-67747) K2: regression in Spring unit tests using `javax.script.ScriptEngine`
### [`v2.0.0`](https://github.com/JetBrains/kotlin/releases/tag/v2.0.0): Kotlin 2.0.0
#### Changelog
##### Analysis. API
##### New Features
- [`KT-65327`](https://youtrack.jetbrains.com/issue/KT-65327) Support reading klib contents in Analysis API
##### Performance Improvements
- [`KT-65560`](https://youtrack.jetbrains.com/issue/KT-65560) K2: Anaysis API: ContextCollector triggers redundant resolution in the case of file elements
- [`KT-64987`](https://youtrack.jetbrains.com/issue/KT-64987) Analysis API: 50GB memory allocation on creating empty kotlinx.collections.immutable.persistentMapOf
- [`KT-61789`](https://youtrack.jetbrains.com/issue/KT-61789) K2: optimize getFirForNonKtFileElement for references inside super type reference
- [`KT-59498`](https://youtrack.jetbrains.com/issue/KT-59498) K2: getOnAirGetTowerContextProvider took too much time due to on air resolve
- [`KT-61728`](https://youtrack.jetbrains.com/issue/KT-61728) Analysis API: optimize AllCandidatesResolver.getAllCandidates
##### Fixes
- [`KT-65561`](https://youtrack.jetbrains.com/issue/KT-65561) Analysis API: dummy.kt is not a physical file
- [`KT-65616`](https://youtrack.jetbrains.com/issue/KT-65616) K2: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus from STATUS
- [`KT-65600`](https://youtrack.jetbrains.com/issue/KT-65600) Analysis Api: FirFile for KtCodeFragments are created and not updated on changes
- [`KT-64919`](https://youtrack.jetbrains.com/issue/KT-64919) K2 IDE: Implement KMP support for sealed class inheritors
- [`KT-64241`](https://youtrack.jetbrains.com/issue/KT-64241) K2: Unresolved calls to functions in scripts depending on included projects
- [`KT-65813`](https://youtrack.jetbrains.com/issue/KT-65813) Analysis API Standalone: `FirDeclarationForCompiledElementSearcher` does not find compiled elements
- [`KT-66052`](https://youtrack.jetbrains.com/issue/KT-66052) AA: render expect/actual modifier
- [`KT-66795`](https://youtrack.jetbrains.com/issue/KT-66795) KtCodeFragment.clone() is broken
- [`KT-66532`](https://youtrack.jetbrains.com/issue/KT-66532) K2 CodeGen AA: missing annotation setup for function in source module but not in a compile target file
- [`KT-64833`](https://youtrack.jetbrains.com/issue/KT-64833) Analysis API: Members implemented by delegation have no overridden symbols
- [`KT-62405`](https://youtrack.jetbrains.com/issue/KT-62405) Analysis API: Symbols `SUBSTITUTION_OVERRIDE` have no overridden symbols
- [`KT-66749`](https://youtrack.jetbrains.com/issue/KT-66749) K2: "Collection contains no element matching the predicate" on an unresolved call
- [`KT-62832`](https://youtrack.jetbrains.com/issue/KT-62832) K2: ClassCastException: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus
- [`KT-66719`](https://youtrack.jetbrains.com/issue/KT-66719) AbstractGetKlibSourceFileNameTest: The dependency to ":native:analysis-api-klib-reader" breaks JPS compilation
- [`KT-66603`](https://youtrack.jetbrains.com/issue/KT-66603) Analysis API: support type annotations in KtPsiTypeProviderMixIn#asPsiType
- [`KT-64505`](https://youtrack.jetbrains.com/issue/KT-64505) Analysis API Standalone: Remove test-specific calculation of sealed class inheritors
- [`KT-66013`](https://youtrack.jetbrains.com/issue/KT-66013) Analysis API Standalone: Sealed inheritors aren't correctly calculated for source classes
- [`KT-62880`](https://youtrack.jetbrains.com/issue/KT-62880) K2 IDE: Unresolved java annotation methods in KDoc
- [`KT-66530`](https://youtrack.jetbrains.com/issue/KT-66530) K2: Analysis API: KtPsiTypeProvider#asKtType crashes on PsiClassType for Java type parameter with wrong use site
- [`KT-65571`](https://youtrack.jetbrains.com/issue/KT-65571) Support VirtualFile inputs to Analysis API modules
- [`KT-66485`](https://youtrack.jetbrains.com/issue/KT-66485) Substituted types are not provided for callable references
- [`KT-66498`](https://youtrack.jetbrains.com/issue/KT-66498) Analysis API: 'KtFe10SymbolDeclarationOverridesProvider' considers a class to be a subclass of itself
- [`KT-64579`](https://youtrack.jetbrains.com/issue/KT-64579) K2 IDE: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(Source) but FirArgumentListImpl found"
- [`KT-65978`](https://youtrack.jetbrains.com/issue/KT-65978) Analysis API: Use soft references in `FileStructureCache`
- [`KT-64051`](https://youtrack.jetbrains.com/issue/KT-64051) K2 IDE: Analysis API: Unresolved links to typealias in KDoc
- [`KT-66189`](https://youtrack.jetbrains.com/issue/KT-66189) K2 / IDE: KtFirExpressionTypeProvider bugs
- [`KT-61422`](https://youtrack.jetbrains.com/issue/KT-61422) K2 IDE: "No array element type for vararg value parameter: org.jetbrains.kotlin.fir.declarations.impl.FirValueParameterImpl"
- [`KT-66276`](https://youtrack.jetbrains.com/issue/KT-66276) K2: Analysis API: `TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM` false positive for script parameter
- [`KT-66232`](https://youtrack.jetbrains.com/issue/KT-66232) K2: Analysis API: cover ScriptWithCustomDefDiagnosticsTestBaseGenerated by LL FIR tests
- [`KT-60996`](https://youtrack.jetbrains.com/issue/KT-60996) K2: Stub Based Deserializer: Set versionRequirements to enable VERSION\_REQUIREMENT\_DEPRECATION diagnostics
- [`KT-66306`](https://youtrack.jetbrains.com/issue/KT-66306) K2: Analysis API: drop ability to enable global phase resolve lock
- [`KT-55750`](https://youtrack.jetbrains.com/issue/KT-55750) LL FIR: Implement multi-threaded resolve
- [`KT-65563`](https://youtrack.jetbrains.com/issue/KT-65563) Analysis API: Missing session component `FirExpectActualMatchingContextFactory` in `LLFirLibrarySession`
- [`KT-66173`](https://youtrack.jetbrains.com/issue/KT-66173) K2: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter' in array owner: LLFirLibrarySession
- [`KT-66238`](https://youtrack.jetbrains.com/issue/KT-66238) Gradle kotlin build scripts - a lot of unresolved symbols after latest changes in kotlin master
- [`KT-65099`](https://youtrack.jetbrains.com/issue/KT-65099) K2: Recursive local storage cache check for Fir2IrDeclarationStorage::createAndCacheIrPropertySymbols()
- [`KT-65265`](https://youtrack.jetbrains.com/issue/KT-65265) Analysis API: Add library session invalidation tests
- [`KT-56288`](https://youtrack.jetbrains.com/issue/KT-56288) Analysis API: Add tests for session invalidation on the Analysis API side
- [`KT-64000`](https://youtrack.jetbrains.com/issue/KT-64000) K2: make AnnotationArgumentsStateKeepers more accurate
- [`KT-63606`](https://youtrack.jetbrains.com/issue/KT-63606) K2: Analysis API: rewrite FirLazyAnnotationTransformer to avoid redundant transformations
- [`KT-65191`](https://youtrack.jetbrains.com/issue/KT-65191) KtFirMultiplatformInfoProvider#getExpectForActual doesn't return expect function for slightly broken code
- [`KT-62136`](https://youtrack.jetbrains.com/issue/KT-62136) Analysis API: Add concurrent tests for `CleanableSoftValueCache`
- [`KT-61222`](https://youtrack.jetbrains.com/issue/KT-61222) K2: Add lifecycle management for `KtResolveExtension`
- [`KT-65960`](https://youtrack.jetbrains.com/issue/KT-65960) Analysis API: Test infrastructure indexes binary libraries from decompiled files instead of stubs during IDE mode tests
- [`KT-65240`](https://youtrack.jetbrains.com/issue/KT-65240) K2: CodeGen API fails to resolve Annotation parameter type when it runs FIR2IR for a class with a parent class from other module if the parent class has an annotation from another module
- [`KT-65344`](https://youtrack.jetbrains.com/issue/KT-65344) K2: make FirScript statements (declarations) independent
- [`KT-65930`](https://youtrack.jetbrains.com/issue/KT-65930) AA: receiver type for `Int?::foo` misses nullability
- [`KT-65914`](https://youtrack.jetbrains.com/issue/KT-65914) AA: receiver type for `this::foo` returns return type of the target callable
- [`KT-62071`](https://youtrack.jetbrains.com/issue/KT-62071) Analysis API: KtFirScopeProvider.getScopeContextForPosition throws exception when ImplicitReceiverValue.implicitScope is null
- [`KT-65780`](https://youtrack.jetbrains.com/issue/KT-65780) K2: polish FileStructure implementation for FirFile
- [`KT-62840`](https://youtrack.jetbrains.com/issue/KT-62840) K2 Script: everything around destructuring declaration on top level of scripts are broken
- [`KT-64528`](https://youtrack.jetbrains.com/issue/KT-64528) K2 IDE: MPP: unregistered component 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'
- [`KT-64921`](https://youtrack.jetbrains.com/issue/KT-64921) K2 IDE: references in platform code resolve to expect classifier instead of actual
- [`KT-61296`](https://youtrack.jetbrains.com/issue/KT-61296) K2: do not resolve the entire file on lazyResolve call if FirFile is passed
- [`KT-65683`](https://youtrack.jetbrains.com/issue/KT-65683) Analysis API: Dangling file session creation causes a `computeIfAbsent` contract violation
- [`KT-64884`](https://youtrack.jetbrains.com/issue/KT-64884) K2 IDE. FP \[NAMED\_PARAMETER\_NOT\_FOUND] for copy method of library data class when class has not parameter-properties
- [`KT-65763`](https://youtrack.jetbrains.com/issue/KT-65763) K2: value parameter from library data class copy have RAW\_FIR phase
- [`KT-65665`](https://youtrack.jetbrains.com/issue/KT-65665) Analysis API: support `KtDelegatedSuperTypeEntry` in `KtFirExpressionInfoProvider.isUsedAsExpression`
- [`KT-62899`](https://youtrack.jetbrains.com/issue/KT-62899) K2 IDE. IDE ignores `@Suppress` annotation for errors
- [`KT-65655`](https://youtrack.jetbrains.com/issue/KT-65655) Analysis API: `KtCodeCompilationException` should not strongly reference FIR sessions
- [`KT-62302`](https://youtrack.jetbrains.com/issue/KT-62302) Support PsiType -> KtType conversion
- [`KT-64604`](https://youtrack.jetbrains.com/issue/KT-64604) K2: IDE K2: "Modules are inconsistent during performance tests"
- [`KT-65345`](https://youtrack.jetbrains.com/issue/KT-65345) K2: unify FirDesignation and LLFirResolveTarget
- [`KT-61757`](https://youtrack.jetbrains.com/issue/KT-61757) K2 IDE: resolution to buitlins does not work for from common module
- [`KT-65268`](https://youtrack.jetbrains.com/issue/KT-65268) K2: Checking the presence of the delegated constructor call forces AST loading
- [`KT-63330`](https://youtrack.jetbrains.com/issue/KT-63330) Analysis API: Stub-based deserialized symbol providers provide unresolved enum entry annotation arguments
- [`KT-65418`](https://youtrack.jetbrains.com/issue/KT-65418) Analysis API: `LLFirAbstractSessionFactory` loads anchor module sessions eagerly
- [`KT-64718`](https://youtrack.jetbrains.com/issue/KT-64718) Analysis API: do not expose SealedClassInheritorsProvider and FirRegularClass to IDE Plugin
- [`KT-65075`](https://youtrack.jetbrains.com/issue/KT-65075) K2: getContainingDeclaration() is broken for declarations inside code fragments
- [`KT-61332`](https://youtrack.jetbrains.com/issue/KT-61332) Support `KtTypeCodeFragment` in `PsiRawFirBuilder`
- [`KT-65150`](https://youtrack.jetbrains.com/issue/KT-65150) AA: incorrect result from `KtTypeProvider#getReceiverTypeForDoubleColonExpression` for Java static method
- [`KT-56551`](https://youtrack.jetbrains.com/issue/KT-56551) LL FIR: implement parallel resolve for jumping phases
- [`KT-65223`](https://youtrack.jetbrains.com/issue/KT-65223) Psi: avoid KtFile usages
- [`KT-65307`](https://youtrack.jetbrains.com/issue/KT-65307) Analysis API FE10: support KtFe10AnalysisSessionProvider.getAnalysisSessionByUseSiteKtModule
- [`KT-62695`](https://youtrack.jetbrains.com/issue/KT-62695) K2 IDE: Unresolved extension functions in KDoc
- [`KT-65152`](https://youtrack.jetbrains.com/issue/KT-65152) Analysis API: KDoc references to packages are not fully resolved
- [`KT-64988`](https://youtrack.jetbrains.com/issue/KT-64988) K2 IDE: Navigation from the named argument in safe call does not work
- [`KT-63195`](https://youtrack.jetbrains.com/issue/KT-63195) AA: incorrect results from `KtTypeProvider#getReceiverTypeForDoubleColonExpression`
- [`KT-64074`](https://youtrack.jetbrains.com/issue/KT-64074) K2: Investigate LL divergence for Script.testTopLevelPropertyInitialization
- [`KT-62441`](https://youtrack.jetbrains.com/issue/KT-62441) K2: IDE K2: "No dangling modifier found"
- [`KT-62895`](https://youtrack.jetbrains.com/issue/KT-62895) K2 IDE. FP `'when' expression must be exhaustive` with sealed interface from library
- [`KT-64993`](https://youtrack.jetbrains.com/issue/KT-64993) Analysis API: KtExpressionTypeProvider.getExpectedType works incorrectly for arguments of safe calls
- [`KT-64883`](https://youtrack.jetbrains.com/issue/KT-64883) Allow direct creation of KtCommonFile
- [`KT-64646`](https://youtrack.jetbrains.com/issue/KT-64646) K2: properly forbid ast loading during raw fir phase in tests
- [`KT-64862`](https://youtrack.jetbrains.com/issue/KT-64862) Psi: missed parenthesis in type reference presentation
- [`KT-62893`](https://youtrack.jetbrains.com/issue/KT-62893) K2 IDE. FP 'when' expression must be exhaustive with Java sealed interface from library
- [`KT-63795`](https://youtrack.jetbrains.com/issue/KT-63795) K2: `lazyResolveToPhase(BODY_RESOLVE)` cannot be called from a transformer with a phase BODY\_RESOLVE from SealedClassInheritorsProviderIdeImpl
- [`KT-64805`](https://youtrack.jetbrains.com/issue/KT-64805) Analysis API: introduce common entry point for multi-file test cases
- [`KT-64714`](https://youtrack.jetbrains.com/issue/KT-64714) K2: Analysis API: CollectionsKt.map doesn't resolves from Java in kotlin repo
- [`KT-64647`](https://youtrack.jetbrains.com/issue/KT-64647) K2: Allow to calculate decompiled inheritors for sealed classes in tests
- [`KT-64595`](https://youtrack.jetbrains.com/issue/KT-64595) AA: stackoverflow while simplifying a type with a recursive type parameter
- [`KT-64825`](https://youtrack.jetbrains.com/issue/KT-64825) Analysis API. Cannot compute containing PSI for unknown source kind 'org.jetbrains.kotlin.KtFakeSourceElementKind$DefaultAccessor' exception on getContainingSymbol call for default setter parameter
- [`KT-64080`](https://youtrack.jetbrains.com/issue/KT-64080) K2: Analysis API: On-air resolve does not trigger resolution of delegated super call arguments
- [`KT-64243`](https://youtrack.jetbrains.com/issue/KT-64243) K2: proper lazy resolution for fake overrides
- [`KT-62891`](https://youtrack.jetbrains.com/issue/KT-62891) K2 IDE. FP \[EXPOSED\_FUNCTION\_RETURN\_TYPE] on overriding library method which returns protected type
- [`KT-62667`](https://youtrack.jetbrains.com/issue/KT-62667) K2: Cannot find enclosing declaration for KtNameReferenceExpression (on-air, imports)
- [`KT-61890`](https://youtrack.jetbrains.com/issue/KT-61890) Analysis API: Migrate KtFirScopeProvider to ContextCollector instead of onAirResolve
- [`KT-64197`](https://youtrack.jetbrains.com/issue/KT-64197) K2: Code fragments are only supported in JVM
- [`KT-62357`](https://youtrack.jetbrains.com/issue/KT-62357) K2 IDE. False positive on generated component methods and false negative on getter of `@JvmRecord` classes in Java
- [`KT-62892`](https://youtrack.jetbrains.com/issue/KT-62892) K2 IDE. Java outer class from other module is not resolved when nested class is accessed with fq name in a type position
- [`KT-62888`](https://youtrack.jetbrains.com/issue/KT-62888) K2 IDE. IDE infers reference to `KMutableProperty` as reference to just `KProperty`
- [`KT-64584`](https://youtrack.jetbrains.com/issue/KT-64584) K2: StubBasedFirDeserializedSymbolProvider: support deserialization of delegated declarations
- [`KT-60324`](https://youtrack.jetbrains.com/issue/KT-60324) K2 IDE: "NoSuchElementException: List is empty at JavaOverrideChecker#buildErasure"
- [`KT-62896`](https://youtrack.jetbrains.com/issue/KT-62896) K2 IDE. FP ABSTRACT\_MEMBER\_NOT\_IMPLEMENTED on inheriting class from library which implements interface by delegation
- [`KT-62947`](https://youtrack.jetbrains.com/issue/KT-62947) Analysis API: Error while resolving FirPropertyImpl
- [`KT-64468`](https://youtrack.jetbrains.com/issue/KT-64468) Analysis API: Implement mixed multi-module tests which support different kinds of `KtModule`s
- [`KT-56541`](https://youtrack.jetbrains.com/issue/KT-56541) Symbol Light Classes: No `@NotNull` annotations are generated for accessors of lateinit properties of unresolved types
- [`KT-63547`](https://youtrack.jetbrains.com/issue/KT-63547) K2 IDE. False Positive AMBIGUOUS\_ANNOTATION\_ARGUMENT
- [`KT-64205`](https://youtrack.jetbrains.com/issue/KT-64205) Analysis API: Do not import non-top-level callables by default
- [`KT-63056`](https://youtrack.jetbrains.com/issue/KT-63056) K2: Cannot mutate an immutable ImplicitReceiverValue on FirCodeFragment analysis
- [`KT-64108`](https://youtrack.jetbrains.com/issue/KT-64108) K2: KtFirSymbolDeclarationOverridesProvider shouldn't provide fake overrides
- [`KT-63752`](https://youtrack.jetbrains.com/issue/KT-63752) K2: java.lang.StackOverflowError FirFieldSymbol.getHasInitializer
- [`KT-63718`](https://youtrack.jetbrains.com/issue/KT-63718) Analysis API: Stub-based dependency symbol providers of library source sessions compute the wrong package name sets
- [`KT-64225`](https://youtrack.jetbrains.com/issue/KT-64225) K2: IDE K2: "FirLazyBlock should be calculated before accessing" in evaluate debuger completion
- [`KT-64186`](https://youtrack.jetbrains.com/issue/KT-64186) Analysis API: ContextCollector provides incorrect scopes for anonymous objects
- [`KT-63979`](https://youtrack.jetbrains.com/issue/KT-63979) K2 IDE: presentation of types in completion is too verbose
- [`KT-63681`](https://youtrack.jetbrains.com/issue/KT-63681) K2: LL FIR: Improve isResolved check coverage of after lazy resolution
- [`KT-62982`](https://youtrack.jetbrains.com/issue/KT-62982) K2: Cannot get a PSI element for 'Enum.values'
- [`KT-59732`](https://youtrack.jetbrains.com/issue/KT-59732) FirLazyResolveContractViolationException: `lazyResolveToPhase(IMPORTS)` cannot be called from a transformer with a phase IMPORTS from serialisation plugin
- [`KT-62676`](https://youtrack.jetbrains.com/issue/KT-62676) K2 IDE: Reference shortener does not recoginize redundant this references
- [`KT-63627`](https://youtrack.jetbrains.com/issue/KT-63627) K2 IDE: shorten reference shortens required qualifier
- [`KT-62675`](https://youtrack.jetbrains.com/issue/KT-62675) K2 IDE: Reference shortener does not recoginize redundant labels
- [`KT-60957`](https://youtrack.jetbrains.com/issue/KT-60957) K2: Analysis API: Reference shortener does not work correctly with invoke function calls on properties
- [`KT-63771`](https://youtrack.jetbrains.com/issue/KT-63771) fe10: KtNamedClassOrObjectSymbol#isInline does not cover value classes
- [`KT-60327`](https://youtrack.jetbrains.com/issue/KT-60327) K2 IDE. "IllegalArgumentException: source must not be null" during delegation declaration
- [`KT-62421`](https://youtrack.jetbrains.com/issue/KT-62421) K2: IDE K2: "`lazyResolveToPhase(BODY_RESOLVE)` cannot be called from a transformer with a phase BODY\_RESOLVE."
- [`KT-62587`](https://youtrack.jetbrains.com/issue/KT-62587) K2 IDE. FP unresolved reference on accessing nested class in annotation argument
- [`KT-63700`](https://youtrack.jetbrains.com/issue/KT-63700) K2: "FirLazyExpression should be calculated before accessing" in the case of secondary constructor
- [`KT-61383`](https://youtrack.jetbrains.com/issue/KT-61383) K2: 'KtCompilerFacility' fails on code fragment compilation in library sources with duplicated dependencies
- [`KT-62111`](https://youtrack.jetbrains.com/issue/KT-62111) K2 IDE. IllegalArgumentException on for loop with iterator declaration attempt
- [`KT-63538`](https://youtrack.jetbrains.com/issue/KT-63538) Analysis API: Removing a contract statement via `PsiElement.delete()` does not trigger an out-of-block modification
- [`KT-63694`](https://youtrack.jetbrains.com/issue/KT-63694) K1/K2 IDE. "RuntimeException: Broken stub format, most likely version of kotlin.FILE (kotlin.FILE) was not updated after serialization changes" exception on incorrect class name
- [`KT-63660`](https://youtrack.jetbrains.com/issue/KT-63660) K2: expect-actual gutter icons must be shown when declarations are matched but incompatible
- [`KT-63560`](https://youtrack.jetbrains.com/issue/KT-63560) Analysis API: Modifiable PSI tests cannot rely on the cached application environment to allow write access
- [`KT-62980`](https://youtrack.jetbrains.com/issue/KT-62980) Implement `KtFirSimpleNameReference#getImportAlias`
- [`KT-63130`](https://youtrack.jetbrains.com/issue/KT-63130) Analysis API: No receiver found for broken code during commit document
- [`KT-62705`](https://youtrack.jetbrains.com/issue/KT-62705) K2: "lazyResolveToPhase(IMPORTS) cannot be called..." from light classes
- [`KT-60170`](https://youtrack.jetbrains.com/issue/KT-60170) K2 IDE: CCE from KtFirCallResolver on invalid code with wrong implicit invoke
- [`KT-61783`](https://youtrack.jetbrains.com/issue/KT-61783) K2: Analyze 'KtCodeFragment' in a separate session
- [`KT-62010`](https://youtrack.jetbrains.com/issue/KT-62010) K2: IDE K2: "ConeClassLikeTypeImpl is not resolved to symbol for on-error type"
- [`KT-62957`](https://youtrack.jetbrains.com/issue/KT-62957) Analysis API: NullPointerException on call resolution when builtins are not available
- [`KT-61252`](https://youtrack.jetbrains.com/issue/KT-61252) K2: IDE K2: "By now the annotations argument mapping should have been resolved"
- [`KT-62935`](https://youtrack.jetbrains.com/issue/KT-62935) Analysis API: `kotlin.Cloneable` should not be available in Kotlin/Native sources
- [`KT-62910`](https://youtrack.jetbrains.com/issue/KT-62910) Analysis API: create AbstractFirPsiNativeDiagnosticsTest for LL FIR
- [`KT-63096`](https://youtrack.jetbrains.com/issue/KT-63096) K2: Analysis API: KotlinAnnotationsResolver for IDE is created with incorrect scope
- [`KT-62310`](https://youtrack.jetbrains.com/issue/KT-62310) K2 IDE. False positives errors with external annotations
- [`KT-63282`](https://youtrack.jetbrains.com/issue/KT-63282) K2 Script: annotation arguments phase should resolve propagated annotations
- [`KT-62397`](https://youtrack.jetbrains.com/issue/KT-62397) K2 IDE. FP Error in the editor on `RequiresOptIn` annotation from the lib despite the warning level
- [`KT-63223`](https://youtrack.jetbrains.com/issue/KT-63223) Analysis API: reference to declarations with kotlin\* package are not resolved
- [`KT-62626`](https://youtrack.jetbrains.com/issue/KT-62626) IllegalStateException: Cannot build symbol for class org.jetbrains.kotlin.psi.KtScriptInitializer
- [`KT-62693`](https://youtrack.jetbrains.com/issue/KT-62693) K2: IDE K2: "PSI should present for declaration built by Kotlin code"
- [`KT-62674`](https://youtrack.jetbrains.com/issue/KT-62674) K2: "Scope for type ConeClassLikeTypeImpl" is null from transitive dependencies
- [`KT-61889`](https://youtrack.jetbrains.com/issue/KT-61889) Analysis API: Migrate KtFirReferenceShortener to ContextCollector instead of FirResolveContextCollector
- [`KT-62772`](https://youtrack.jetbrains.com/issue/KT-62772) Analysis API: No 'org.jetbrains.kotlin.fir.java.FirSyntheticPropertiesStorage'(31) in array owner: LLFirSourcesSession when analysing builtins in a context of common code
- [`KT-60319`](https://youtrack.jetbrains.com/issue/KT-60319) K2 IDE: "Stability for initialized variable always should be computable"
- [`KT-62859`](https://youtrack.jetbrains.com/issue/KT-62859) K2 IDE: "Evaluate expression" throws exception when calling "Any?.toString()"
- [`KT-63058`](https://youtrack.jetbrains.com/issue/KT-63058) K2 IDE: Code completion unexpectedly imports static/companion object method
- [`KT-62588`](https://youtrack.jetbrains.com/issue/KT-62588) getExpectedType should not calculate type of the expression
- [`KT-61990`](https://youtrack.jetbrains.com/issue/KT-61990) K2: Unexpected returnTypeRef for FirSyntheticProperty
- [`KT-62625`](https://youtrack.jetbrains.com/issue/KT-62625) K2: 'FirLazyExpression should be calculated before accessing' for unresolved super type
- [`KT-62691`](https://youtrack.jetbrains.com/issue/KT-62691) K2: optimize getFirForNonKtFileElement for references inside 'where'
- [`KT-62834`](https://youtrack.jetbrains.com/issue/KT-62834) K2: missing file node level in control flow builder
- [`KT-62768`](https://youtrack.jetbrains.com/issue/KT-62768) Analysis API: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(44) in array owner: LLFirSourcesSession exception on analysing common code
- [`KT-62874`](https://youtrack.jetbrains.com/issue/KT-62874) K2: FirLazyExpression should be calculated before accessing
- [`KT-62407`](https://youtrack.jetbrains.com/issue/KT-62407) Analysis API: resolve `[this]` in KDoc to extension receiver
- [`KT-61204`](https://youtrack.jetbrains.com/issue/KT-61204) K2: "FirLazyExpression should be calculated before accessing in ktor HttpBinApplication"
- [`KT-61901`](https://youtrack.jetbrains.com/issue/KT-61901) Analysis API: Declared member scopes for Java classes are missing static members
- [`KT-61800`](https://youtrack.jetbrains.com/issue/KT-61800) Analysis API: Provide separate declared member scopes for non-static and static callables
- [`KT-61255`](https://youtrack.jetbrains.com/issue/KT-61255) Analysis API: Get rid of `valueOf`, `values` and `entries` from a declared member scope
- [`KT-62466`](https://youtrack.jetbrains.com/issue/KT-62466) Expected type for functional expression should include inferred types
- [`KT-61203`](https://youtrack.jetbrains.com/issue/KT-61203) IDE K2: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirRegularClassImpl(Source) but FirArgumentListImpl found"
- [`KT-61791`](https://youtrack.jetbrains.com/issue/KT-61791) Analysis API: Implement combined `getPackage` for combined Kotlin symbol providers
- [`KT-62437`](https://youtrack.jetbrains.com/issue/KT-62437) K2 IDE. Resolution does not work inside lambda expression in constructor argument in supertypes
- [`KT-62244`](https://youtrack.jetbrains.com/issue/KT-62244) K2: Analysis API Standalone: Resolving klib dependencies from binary roots terminates application
- [`KT-62897`](https://youtrack.jetbrains.com/issue/KT-62897) K2 IDE. Unresolved declarations from libraries which are doubled in `intellij` project libraries
- [`KT-61615`](https://youtrack.jetbrains.com/issue/KT-61615) K2: No 'org.jetbrains.kotlin.fir.analysis.js.checkers.FirJsModuleKind' in array owner: LLFirSourcesSession
- [`KT-59334`](https://youtrack.jetbrains.com/issue/KT-59334) K2: LLFirImplicitTypesLazyResolver problems
- [`KT-62038`](https://youtrack.jetbrains.com/issue/KT-62038) K2: Nested classes are missing in symbol light class structure tests for libraries
- [`KT-61788`](https://youtrack.jetbrains.com/issue/KT-61788) Analysis API: Symbol for `FirAnonymousInitializer` cannot be null
- [`KT-62139`](https://youtrack.jetbrains.com/issue/KT-62139) Analysis API: KtFe10AnalysisSession.createContextDependentCopy does not need validity check
- [`KT-62090`](https://youtrack.jetbrains.com/issue/KT-62090) Analysis API: introduce an API to get a substitution formed by class inheritance
- [`KT-62268`](https://youtrack.jetbrains.com/issue/KT-62268) K2 IDE. No autocompletion and IllegalStateException for Pair
- [`KT-60325`](https://youtrack.jetbrains.com/issue/KT-60325) K2 IDE. "IllegalArgumentException: source must not be null" on `throw` usage attempt
- [`KT-61431`](https://youtrack.jetbrains.com/issue/KT-61431) K2: KtPropertyAccessorSymbolPointer pointer already disposed for $$result script property
- [`KT-58490`](https://youtrack.jetbrains.com/issue/KT-58490) K2: LLFirTypeLazyResolver problems
- [`KT-58494`](https://youtrack.jetbrains.com/issue/KT-58494) K2: LLFirAnnotationArgumentsLazyResolver problems
- [`KT-58492`](https://youtrack.jetbrains.com/issue/KT-58492) K2: LLFirBodyLazyResolver problems
- [`KT-58769`](https://youtrack.jetbrains.com/issue/KT-58769) K2: LL FIR: implement platform-dependent session factories
- [`KT-60343`](https://youtrack.jetbrains.com/issue/KT-60343) K2 IDE. IllegalArgumentException on passing incorrect type parameter to function
- [`KT-61842`](https://youtrack.jetbrains.com/issue/KT-61842) K2: reduce number of "in-block modification" events
- [`KT-62012`](https://youtrack.jetbrains.com/issue/KT-62012) K2: "KtReadActionConfinementLifetimeToken is inaccessible: Called outside analyse method"
- [`KT-61371`](https://youtrack.jetbrains.com/issue/KT-61371) K2: Analysis API standalone: register compiler symbol provider for libraries in standalone mode
- [`KT-60611`](https://youtrack.jetbrains.com/issue/KT-60611) K2: reduce number of "in-block modification" events
- [`KT-61425`](https://youtrack.jetbrains.com/issue/KT-61425) Analysis API: Provide a way to get a declared member scope for an enum entry's initializing anonymous object
- [`KT-61405`](https://youtrack.jetbrains.com/issue/KT-61405) Analysis API: An enum entry should not be a `KtSymbolWithMembers`
- [`KT-55504`](https://youtrack.jetbrains.com/issue/KT-55504) AA: remove dependency on :compiler:cli from standalone AA
- [`KT-60904`](https://youtrack.jetbrains.com/issue/KT-60904) K2: IDE K2: "For DESTRUCTURING\_DECLARATION\_ENTRY with text `_`, one of element types expected, but FirValueParameterSymbol found"
- [`KT-61260`](https://youtrack.jetbrains.com/issue/KT-61260) K2 Scripts: Containing function should be not null for KtParameter
- [`KT-61568`](https://youtrack.jetbrains.com/issue/KT-61568) FIR Analysis API: `collectCallCandidates` gives presence to the top level functions in the presence of more suitable overrides
- [`KT-60610`](https://youtrack.jetbrains.com/issue/KT-60610) K2 IDE: move "out of block" processing logic into LL FIR
- [`KT-61597`](https://youtrack.jetbrains.com/issue/KT-61597) Analysis API: KotlinIllegalStateExceptionWithAttachments: expected as maximum one `expect` for the actual on errorneous code with multiple expects
- [`KT-59793`](https://youtrack.jetbrains.com/issue/KT-59793) K2: class org.jetbrains.kotlin.fir.declarations.impl.FirErrorImportImpl cannot be cast to class org.jetbrains.kotlin.fir.declarations.FirResolvedImport
- [`KT-61599`](https://youtrack.jetbrains.com/issue/KT-61599) K2: ContextCollector: Support smart cast collection
- [`KT-61689`](https://youtrack.jetbrains.com/issue/KT-61689) Analysis API: ContextCollector provides incorrect context in scripts
- [`KT-61683`](https://youtrack.jetbrains.com/issue/KT-61683) Analysis API: resolve ambiguities in kotlin project
- [`KT-61245`](https://youtrack.jetbrains.com/issue/KT-61245) Analysis API: ContextCollector provides incorrect context for supertype constructor calls
- [`KT-60384`](https://youtrack.jetbrains.com/issue/KT-60384) K2: Opening `@JvmName` source in IDEA: NPE at PsiRawFirBuilder$Visitor.toFirConstructor()
- [`KT-60918`](https://youtrack.jetbrains.com/issue/KT-60918) K2 IDE: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtDestructuringDeclarationEntry, fir is null"
- [`KT-61013`](https://youtrack.jetbrains.com/issue/KT-61013) K2 Scripts: LLFirReturnTypeCalculatorWithJump: No designation of local declaration
- [`KT-59517`](https://youtrack.jetbrains.com/issue/KT-59517) K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent
- [`KT-61331`](https://youtrack.jetbrains.com/issue/KT-61331) K2: add cache restoring in case of existing context
- [`KT-61408`](https://youtrack.jetbrains.com/issue/KT-61408) K2: IDE K2: "Inconsistency in the cache. Someone without context put a null value in the cache"
##### Analysis. Light Classes
##### Performance Improvements
- [`KT-63486`](https://youtrack.jetbrains.com/issue/KT-63486) SLC: a lot of RAM is allocated in `org.jetbrains.kotlin.asJava.LightClassUtil.isMangled`
##### Fixes
- [`KT-66692`](https://youtrack.jetbrains.com/issue/KT-66692) SLC: `findAttributeValue` for attribute w/ default value in Java returns `null`
- [`KT-61734`](https://youtrack.jetbrains.com/issue/KT-61734) SLC: wildcard suppression not honored
- [`KT-65112`](https://youtrack.jetbrains.com/issue/KT-65112) Symbol Light Classes don't support annotations on type parameters
- [`KT-65843`](https://youtrack.jetbrains.com/issue/KT-65843) K2: Light method returns `kotlin.Unit` type for `TestResult` return type
- [`KT-65653`](https://youtrack.jetbrains.com/issue/KT-65653) SLC: wrong binary resolution to function with value class
- [`KT-65393`](https://youtrack.jetbrains.com/issue/KT-65393) SLC: missing deprecated-hidden property
- [`KT-64772`](https://youtrack.jetbrains.com/issue/KT-64772) SLC: presence of source PSI for compiler-generated declaration
- [`KT-65425`](https://youtrack.jetbrains.com/issue/KT-65425) K2 IDE: Seeing a reference to the class generated by compiler plugin exposed from Java code caused NPE from light classes
- [`KT-64937`](https://youtrack.jetbrains.com/issue/KT-64937) SLC: internal setters are not mangled
- [`KT-63949`](https://youtrack.jetbrains.com/issue/KT-63949) K2 IDE. Analyze hang on `@Autowired` constructor analysis
- [`KT-63087`](https://youtrack.jetbrains.com/issue/KT-63087) K2 IDE: in .java source reference to JvmName names on unsigned type / value class are unresolved
- [`KT-64605`](https://youtrack.jetbrains.com/issue/KT-64605) K2 IDE: usage of `@Repeatable` annotation in Java: false positive "Duplicate annotation"
- [`KT-64795`](https://youtrack.jetbrains.com/issue/KT-64795) SLC: distinguish last v.s. non-last `vararg` value parameter type during binary resolution
- [`KT-61605`](https://youtrack.jetbrains.com/issue/KT-61605) K2 IDE: Light elements do not obey platform contracts
- [`KT-57536`](https://youtrack.jetbrains.com/issue/KT-57536) SLC: no need to populate members with `expect` modifier
- [`KT-64320`](https://youtrack.jetbrains.com/issue/KT-64320) Decouple kotlin psi from java PSI
- [`KT-64282`](https://youtrack.jetbrains.com/issue/KT-64282) Decouple KotlinIconProviderService from java PSI
- [`KT-63552`](https://youtrack.jetbrains.com/issue/KT-63552) Symbol Light Classes don't support arrayOf and similar without parameters in property initializers and default parameter values
##### Apple Ecosystem
- [`KT-63821`](https://youtrack.jetbrains.com/issue/KT-63821) Copy framework to BUILT\_PRODUCTS\_DIR in the embedAndSign task
- [`KT-67892`](https://youtrack.jetbrains.com/issue/KT-67892) KotlinNativeLink task instantiates with a fixed list of apiFiles
- [`KT-64096`](https://youtrack.jetbrains.com/issue/KT-64096) Diagnostic when embedAndSign used for framework with cocoapods-dependencies
- [`KT-66446`](https://youtrack.jetbrains.com/issue/KT-66446) Diagnostic never showed, and build fails when CocoaPods dependency is used with embedAndSign task and linking type is dynamic
- [`KT-66445`](https://youtrack.jetbrains.com/issue/KT-66445) Diagnostic never showed when CocoaPods dependency is used with embedAndSign task and linking type is static
- [`KT-62373`](https://youtrack.jetbrains.com/issue/KT-62373) "Xcode higher than tested" diagnostic
- [`KT-63212`](https://youtrack.jetbrains.com/issue/KT-63212) podInstall task fails without a proper diagnostic when xcodeproj gem is outdated
##### Backend. Native. Debug
- [`KT-65553`](https://youtrack.jetbrains.com/issue/KT-65553) K2: Native: kt42208WithPassingLambdaToAnotherFunction test fails with K2
- [`KT-57365`](https://youtrack.jetbrains.com/issue/KT-57365) \[Native] Incorrect debug info on inline function call site
##### Backend. Wasm
##### New Features
- [`KT-65009`](https://youtrack.jetbrains.com/issue/KT-65009) Generate TypeScript definitions for the `@JsExport` declarations in K/Wasm
- [`KT-58088`](https://youtrack.jetbrains.com/issue/KT-58088) \[PL] Support & enable partial linkage for Wasm
- [`KT-66327`](https://youtrack.jetbrains.com/issue/KT-66327) Include information about particular Wasm target into KLib manifest
##### Fixes
- [`KT-66465`](https://youtrack.jetbrains.com/issue/KT-66465) WASM support doesn't appear to be able to see some common declarations
- [`KT-66905`](https://youtrack.jetbrains.com/issue/KT-66905) K/Wasm: support new version of exception handling proposal
- [`KT-66515`](https://youtrack.jetbrains.com/issue/KT-66515) Wasm: "call param types must match" during the build
- [`KT-67435`](https://youtrack.jetbrains.com/issue/KT-67435) K/Wasm: import.meta.url transforming into absolute local path in webpack
- [`KT-65777`](https://youtrack.jetbrains.com/issue/KT-65777) Implement named export for Kotlin/Wasm
- [`KT-65660`](https://youtrack.jetbrains.com/issue/KT-65660) \[WasmJs] Support catching JS exceptions
- [`KT-65824`](https://youtrack.jetbrains.com/issue/KT-65824) Wasm: Allow unsigned primitives to be used inside functions annotated with `@JsExport`
- [`KT-66103`](https://youtrack.jetbrains.com/issue/KT-66103) Wasm: companion object is not initialized in test initializers1.kt
- [`KT-66471`](https://youtrack.jetbrains.com/issue/KT-66471) Null method reference with Kotlin/Wasm on 2.0.0-Beta4
- [`KT-65210`](https://youtrack.jetbrains.com/issue/KT-65210) K/Wasm `::class` operator produces Number KClass for Short expression
- [`KT-66065`](https://youtrack.jetbrains.com/issue/KT-66065) \[Wasm] Make specialisations for closured primitive values
- [`KT-64890`](https://youtrack.jetbrains.com/issue/KT-64890) K/Wasm compiler crash with external class and Kodein
- [`KT-66104`](https://youtrack.jetbrains.com/issue/KT-66104) Wasm: compiler crash: NoSuchElementException: Sequence contains no element matching the predicate
- [`KT-65778`](https://youtrack.jetbrains.com/issue/KT-65778) Create the same TypeScript tests infrastructure for Kotlin/Wasm that we have now for Kotlin/JS
- [`KT-65411`](https://youtrack.jetbrains.com/issue/KT-65411) Kotlin/Wasm: Boolean boxed instances are not the same
- [`KT-65713`](https://youtrack.jetbrains.com/issue/KT-65713) Kotlin/Wasm generates a wrapper that cannot run in Deno
- [`KT-63939`](https://youtrack.jetbrains.com/issue/KT-63939) Kotlin/Wasm Support lazy associated object initialisation
- [`KT-61888`](https://youtrack.jetbrains.com/issue/KT-61888) \[Kotlin/wasm] in kotlin.test support for `@AfterTest` for async tests
- [`KT-64803`](https://youtrack.jetbrains.com/issue/KT-64803) K/Wasm: non-capturing lambdas are not singleton unlike same lambdas in jvm
- [`KT-64449`](https://youtrack.jetbrains.com/issue/KT-64449) K2: Implement K1WasmWasiCodegenBoxTestGenerated for K2
- [`KT-64829`](https://youtrack.jetbrains.com/issue/KT-64829) K/Wasm: division remainder has a wrong sign
- [`KT-58852`](https://youtrack.jetbrains.com/issue/KT-58852) WASM: two methods with different varargs: Class korlibs.template.dynamic.DynamicShape has 2 methods with the same signature \[register(kotlin.Array<T of kotlin.Array>)
- [`KT-61263`](https://youtrack.jetbrains.com/issue/KT-61263) K/Wasm: add a way to turn on k2 in wasm examples using Compose
- [`KT-62863`](https://youtrack.jetbrains.com/issue/KT-62863) Execution failed for task ':kotlinx-serialization-properties:wasmJsD8Test' in serialization in the K2 QG
- [`KT-62657`](https://youtrack.jetbrains.com/issue/KT-62657) K/Wasm: switch to json repots for Kotlin Wasm Benchmarks
- [`KT-62147`](https://youtrack.jetbrains.com/issue/KT-62147) \[Kotlin/Wasm] Nothing typed when expression cause a backend error
- [`KT-61958`](https://youtrack.jetbrains.com/issue/KT-61958) Update SpiderMonkey and return its usage in box tests when they switch to the final opcodes for GC and FTR proposals
- [`KT-60828`](https://youtrack.jetbrains.com/issue/KT-60828) K/Wasm: return br\_on\_cast\_fail usages
- [`KT-59084`](https://youtrack.jetbrains.com/issue/KT-59084) WASM: "RuntimeError: illegal cast" caused by inline class and JsAny
- [`KT-60700`](https://youtrack.jetbrains.com/issue/KT-60700) \[WASM] test FirWasmCodegenBoxTestGenerated.testSuspendUnitConversion failed after KT-60259
##### Compiler
##### New Features
- [`KT-45375`](https://youtrack.jetbrains.com/issue/KT-45375) Generate all Kotlin lambdas via invokedynamic + LambdaMetafactory by default
- [`KT-24664`](https://youtrack.jetbrains.com/issue/KT-24664) No smartcast on stable property if receiver had non-null assertion
- [`KT-23915`](https://youtrack.jetbrains.com/issue/KT-23915) Add smart cast to non-nullable type after elvis operator
- [`KT-61077`](https://youtrack.jetbrains.com/issue/KT-61077) Support provideDelegate inference from var property type
- [`KT-59688`](https://youtrack.jetbrains.com/issue/KT-59688) K2: consider removing smartcasts only from the only visibile property with specific name, not from all of them
- [`KT-7389`](https://youtrack.jetbrains.com/issue/KT-7389) Intersection type for type parameter with multiple upper bounds in star projection
- [`KT-63477`](https://youtrack.jetbrains.com/issue/KT-63477) Consider supporting builder-style type inference from Unit coercion of last statements in lambdas
- [`KT-61907`](https://youtrack.jetbrains.com/issue/KT-61907) K2: builder inference works with assignments to member properties
- [`KT-61909`](https://youtrack.jetbrains.com/issue/KT-61909) K2: builder inference infers correct types from assignments to extension properties
- [`KT-59551`](https://youtrack.jetbrains.com/issue/KT-59551) K2: builder inference works with anonymous functions if builder parameter has a receiver with a postponed type variable
- [`KT-65443`](https://youtrack.jetbrains.com/issue/KT-65443) \[K/N] Implement header caches
- [`KT-4113`](https://youtrack.jetbrains.com/issue/KT-4113) Smart casts for properties to not-null functional types at `invoke` calls
- [`KT-65681`](https://youtrack.jetbrains.com/issue/KT-65681) K2: Improve error message of UPPER\_BOUND\_VIOLATED when upper bound is a captured type or other non-denotable type
- [`KT-32754`](https://youtrack.jetbrains.com/issue/KT-32754) Choose existing extensions over additional built-ins members from JDK except overrides
- [`KT-57800`](https://youtrack.jetbrains.com/issue/KT-57800) Support synthetic properties on `super` receiver
- [`KT-64350`](https://youtrack.jetbrains.com/issue/KT-64350) K2: deprecate using typealias as a callable qualifier in imports
- [`KT-26565`](https://youtrack.jetbrains.com/issue/KT-26565) Choose existing extensions over additional built-ins members from JDK
- [`KT-65478`](https://youtrack.jetbrains.com/issue/KT-65478) JVM: Change inlined variable naming format
- [`KT-64702`](https://youtrack.jetbrains.com/issue/KT-64702) Upper bound of type parameter is ignored when capturing of in-projection appears in out position
- [`KT-60274`](https://youtrack.jetbrains.com/issue/KT-60274) K2: builder inference works through a delegated local variable inside builder argument
- [`KT-65859`](https://youtrack.jetbrains.com/issue/KT-65859) Calls refinement extension point
- [`KT-15220`](https://youtrack.jetbrains.com/issue/KT-15220) Reuse resolution results of common code for platform modules in multiplatform projects
- [`KT-60476`](https://youtrack.jetbrains.com/issue/KT-60476) K2: False positive NO\_VALUE\_FOR\_PARAMETER in platform code for value class with default parameter in common declaration
- [`KT-65153`](https://youtrack.jetbrains.com/issue/KT-65153) K/N: extract liveness analysis to a separate phase
- [`KT-59098`](https://youtrack.jetbrains.com/issue/KT-59098) Support -Xjdk-release=1.6/1.7 with -jvm-target 1.8
- [`KT-63670`](https://youtrack.jetbrains.com/issue/KT-63670) Implement platform specific declaration clash diagnostics across all backends
- [`KT-62547`](https://youtrack.jetbrains.com/issue/KT-62547) Introduce a language feature flag for smartcasts based on "memory" variables
- [`KT-60820`](https://youtrack.jetbrains.com/issue/KT-60820) K1: Empty vararg value is inserted in serialized annotation call with expect default vararg value
- [`KT-58172`](https://youtrack.jetbrains.com/issue/KT-58172) Forbid `expect class A actual constructor`
- [`KT-54443`](https://youtrack.jetbrains.com/issue/KT-54443) Smart cast to non-null after safe-call in require
- [`KT-25747`](https://youtrack.jetbrains.com/issue/KT-25747) DFA variables: propagate smart cast results from local variables
- [`KT-22997`](https://youtrack.jetbrains.com/issue/KT-22997) Smart-cast should merge is-check for non-nullable type and a null check to a nullable type
- [`KT-22996`](https://youtrack.jetbrains.com/issue/KT-22996) Smart casts should observe nullability after is-check with a nullable subject type
- [`KT-22004`](https://youtrack.jetbrains.com/issue/KT-22004) Allow to resolve CONFLICTING\_OVERLOADS with Deprecated(HIDDEN)
- [`KT-61955`](https://youtrack.jetbrains.com/issue/KT-61955) Support more wider actual member visibility, if the expect member is effectively final
- [`KT-59504`](https://youtrack.jetbrains.com/issue/KT-59504) K2 compiler does not require resolved 'componentX' functions for the placeholder ('\_') variables in the destructuring declarations
- [`KT-62239`](https://youtrack.jetbrains.com/issue/KT-62239) Allow enum entries without parentheses uniformly
- [`KT-11712`](https://youtrack.jetbrains.com/issue/KT-11712) Smart cast is not applied for invisible setter
##### Performance Improvements
- [`KT-47545`](https://youtrack.jetbrains.com/issue/KT-47545) NI: Slow type inference involving large when-expression (ConstraintInjector.processConstraints)
- [`KT-62714`](https://youtrack.jetbrains.com/issue/KT-62714) Do not add nullability annotations to the methods of inner classes in enum entries
- [`KT-62903`](https://youtrack.jetbrains.com/issue/KT-62903) Unoptimzied `when` compilation
- [`KT-67388`](https://youtrack.jetbrains.com/issue/KT-67388) FP intellij: performance degradation in build 611
- [`KT-67507`](https://youtrack.jetbrains.com/issue/KT-67507) K2: Slow compilation times when a class has a lot of possibly conflicting declarations
- [`KT-65005`](https://youtrack.jetbrains.com/issue/KT-65005) K2: Investigate testCommonSuperTypeContravariant performance
- [`KT-65996`](https://youtrack.jetbrains.com/issue/KT-65996) Compiler enters endless loop
- [`KT-66341`](https://youtrack.jetbrains.com/issue/KT-66341) K2: Don't build IdSignatures in FIR2IR with IR f/o builder
- [`KT-66172`](https://youtrack.jetbrains.com/issue/KT-66172) K2: Improve memory consumption of `KtPsiSourceElement`
- [`KT-50860`](https://youtrack.jetbrains.com/issue/KT-50860) Combination of array set convention and plusAssign works exponentially
- [`KT-62798`](https://youtrack.jetbrains.com/issue/KT-62798) 'in' range checks are not intrinsified in kotlin-stdlib
- [`KT-65579`](https://youtrack.jetbrains.com/issue/KT-65579) K2: performance regression in FP Space
- [`KT-61635`](https://youtrack.jetbrains.com/issue/KT-61635) K2: `getConstructorKeyword` call in `PsiRawFirBuilder.toFirConstructor` forces AST load
- [`KT-62619`](https://youtrack.jetbrains.com/issue/KT-62619) FIR: Checker performance regression due to MISSING\_DEPENDENCY checkers
- [`KT-62044`](https://youtrack.jetbrains.com/issue/KT-62044) Do not add nullability annotations to the methods of anonymous class
- [`KT-62706`](https://youtrack.jetbrains.com/issue/KT-62706) Optimize KtSourceElement.findChild()
- [`KT-62513`](https://youtrack.jetbrains.com/issue/KT-62513) Do not add nullability annotations to the methods of local classes
- [`KT-61991`](https://youtrack.jetbrains.com/issue/KT-61991) K2: avoid redundant full body resolution for properties during implicit type phase
- [`KT-61604`](https://youtrack.jetbrains.com/issue/KT-61604) \[K/N] Bitcode dependency linking is slow for large compilations
- [`KT-61121`](https://youtrack.jetbrains.com/issue/KT-61121) \[K/N] Kotlin Native compiler performance is slow when generating large frameworks
- [`KT-57616`](https://youtrack.jetbrains.com/issue/KT-57616) K2: Consider optimizing reversed versions of persistent lists in FirTowerDataContext
##### Fixes
- [`KT-67993`](https://youtrack.jetbrains.com/issue/KT-67993) K2: PCLA Inference throws exception with local objects
- [`KT-61768`](https://youtrack.jetbrains.com/issue/KT-61768) Wrong bytecode index in LineNumberTable when there is an incremental operation
- [`KT-63580`](https://youtrack.jetbrains.com/issue/KT-63580) "AssertionError: access of const val: GET\_FIELD" caused by const value and variable with delegation
- [`KT-63567`](https://youtrack.jetbrains.com/issue/KT-63567) "NoSuchMethodError" on getting value of lazily initialized property by companion's const value
- [`KT-56078`](https://youtrack.jetbrains.com/issue/KT-56078) K2: build kotlinx.coroutines
- [`KT-67609`](https://youtrack.jetbrains.com/issue/KT-67609) K2: False negative INFERRED\_TYPE\_VARIABLE\_INTO\_EMPTY\_INTERSECTION\_ERROR
- [`KT-57750`](https://youtrack.jetbrains.com/issue/KT-57750) Report ambiguity error when resolving types and having the same-named classes star imported
- [`KT-65603`](https://youtrack.jetbrains.com/issue/KT-65603) K2: No approximation is done on public, but effectively private property
- [`KT-59932`](https://youtrack.jetbrains.com/issue/KT-59932) K2: Disappeared AMBIGUOUS\_ANONYMOUS\_TYPE\_INFERRED
- [`KT-59906`](https://youtrack.jetbrains.com/issue/KT-59906) K2: Disappeared CAPTURED\_VAL\_INITIALIZATION
- [`KT-53886`](https://youtrack.jetbrains.com/issue/KT-53886) NoSuchMethodError exception in Kotlin/Native compiler
- [`KT-57678`](https://youtrack.jetbrains.com/issue/KT-57678) K2: Inconsistency in how K2 analyzes unresolved code for loops and changing closures
- [`KT-57871`](https://youtrack.jetbrains.com/issue/KT-57871) K1/K2 inconsistency on if-conditional without else-branch in parenthesis
- [`KT-56384`](https://youtrack.jetbrains.com/issue/KT-56384) K2: build IntelliJ monorepo master branch
- [`KT-49191`](https://youtrack.jetbrains.com/issue/KT-49191) Leaked integer literals from lambda with flexible return type
- [`KT-65812`](https://youtrack.jetbrains.com/issue/KT-65812) K2: "OutOfMemoryError: Java heap space" in kotlin.utils.SmartList.add
- [`KT-67224`](https://youtrack.jetbrains.com/issue/KT-67224) K2/Native: Member overrides different '`@Throws`' filter from separate module
- [`KT-65623`](https://youtrack.jetbrains.com/issue/KT-65623) K2: Unresolved reference in connection with casts
- [`KT-64136`](https://youtrack.jetbrains.com/issue/KT-64136) K2: NSME with Anvil compiler plugin
- [`KT-51241`](https://youtrack.jetbrains.com/issue/KT-51241) Provide a error when override method has different set of context receivers
- [`KT-52920`](https://youtrack.jetbrains.com/issue/KT-52920) Confusing "Multiple arguments applicable for context receiver" error message
- [`KT-67912`](https://youtrack.jetbrains.com/issue/KT-67912) K2: Cannot inference type properly from inline function with Type parameter
- [`KT-68056`](https://youtrack.jetbrains.com/issue/KT-68056) Prohibit referencing java field in case of conflict with property from companion object of the derived class
- [`KT-61129`](https://youtrack.jetbrains.com/issue/KT-61129) K2: Implement error suppression warning
- [`KT-67367`](https://youtrack.jetbrains.com/issue/KT-67367) K2: Incorrect resolution to top-level function with less specific signature in presence of SAM constructor on the same tower level
- [`KT-50179`](https://youtrack.jetbrains.com/issue/KT-50179) Fix DUPLICATE\_LABEL\_IN\_WHEN warning with new rules of complex boolean constants
- [`KT-45334`](https://youtrack.jetbrains.com/issue/KT-45334) Prohibit referencing constructors of sealed classes by its inner members
- [`KT-59943`](https://youtrack.jetbrains.com/issue/KT-59943) K2: Disappeared OPERATOR\_MODIFIER\_REQUIRED
- [`KT-67875`](https://youtrack.jetbrains.com/issue/KT-67875) K2: Resolution ambiguity between Iterable and varargs
- [`KT-67699`](https://youtrack.jetbrains.com/issue/KT-67699) Not enough information to infer type argument for 'Error' using Arrow's Raise context receiver since Kotlin 2.0.0-Beta3
- [`KT-67486`](https://youtrack.jetbrains.com/issue/KT-67486) K2: Calling method from a Java (implementing a Kotlin class) with named parameters is no longer possible if Java method has different parameter names
- [`KT-66527`](https://youtrack.jetbrains.com/issue/KT-66527) K2: type mismatch on override for <anonymous> type
- [`KT-59897`](https://youtrack.jetbrains.com/issue/KT-59897) K2: Disappeared PACKAGE\_OR\_CLASSIFIER\_REDECLARATION
- [`KT-50020`](https://youtrack.jetbrains.com/issue/KT-50020) K2: False-negative USAGE\_IS\_NOT\_INLINEABLE when lambda in receiver position
- [`KT-44557`](https://youtrack.jetbrains.com/issue/KT-44557) Implement main function detection to FIR
- [`KT-67810`](https://youtrack.jetbrains.com/issue/KT-67810) K2: public-API inline function cannot access non-public-API annotation enum
- [`KT-66447`](https://youtrack.jetbrains.com/issue/KT-66447) Implement KT-59138 under a language feature
- [`KT-54862`](https://youtrack.jetbrains.com/issue/KT-54862) Anonymous type can be exposed from private inline function from type argument
- [`KT-37592`](https://youtrack.jetbrains.com/issue/KT-37592) Property invoke of a functional type with receiver is preferred over extension function invoke
- [`KT-51194`](https://youtrack.jetbrains.com/issue/KT-51194) False negative CONFLICTING\_INHERITED\_MEMBERS when dependency class contained in two different versions of the same dependency
- [`KT-67221`](https://youtrack.jetbrains.com/issue/KT-67221) K2: "new inference error \[NewConstraintError at Incorporate TypeVariable" for captured type
- [`KT-66701`](https://youtrack.jetbrains.com/issue/KT-66701) K2: Java interface method override via Kotlin class rejected
- [`KT-60604`](https://youtrack.jetbrains.com/issue/KT-60604) K2: introduced NON\_PUBLIC\_CALL\_FROM\_PUBLIC\_INLINE, `@PublishedApi` needed for constants in annotations
- [`KT-64309`](https://youtrack.jetbrains.com/issue/KT-64309) Generate a variable mapping for continuation parameter in suspend methods just from the start
- [`KT-65438`](https://youtrack.jetbrains.com/issue/KT-65438) K2: Introduce WEAKLY\_HIDDEN concept to built-in-JDK content mapping
- [`KT-65235`](https://youtrack.jetbrains.com/issue/KT-65235) JDK 21 might lead to change in overloads resolution
- [`KT-66768`](https://youtrack.jetbrains.com/issue/KT-66768) K1: False positive UNRESOLVED\_REFERENCE in super.getFirst/getLast call
- [`KT-67106`](https://youtrack.jetbrains.com/issue/KT-67106) Platforms libs-dependant autotests for ObjC checkers
- [`KT-65440`](https://youtrack.jetbrains.com/issue/KT-65440) K2: Mark all potential implementations of List.getFirst()/getLast() as deprecated independently of JDK
- [`KT-65594`](https://youtrack.jetbrains.com/issue/KT-65594) K2: Type inference fails on NullMarked object with star type
- [`KT-62849`](https://youtrack.jetbrains.com/issue/KT-62849) Unoptimised bytecode for Java synthetic property references
- [`KT-60174`](https://youtrack.jetbrains.com/issue/KT-60174) JVM IR inline: accidental reification in various cases
- [`KT-57609`](https://youtrack.jetbrains.com/issue/KT-57609) K2: Stop relying on the presence of `@UnsafeVariance` using for contravariant parameters
- [`KT-54316`](https://youtrack.jetbrains.com/issue/KT-54316) Out-of-call reference to companion object's member has invalid signature
- [`KT-66976`](https://youtrack.jetbrains.com/issue/KT-66976) Some value class diagnostics are missed
- [`KT-57426`](https://youtrack.jetbrains.com/issue/KT-57426) Incorrect error message on inapplicable smartcast from alien property
- [`KT-55111`](https://youtrack.jetbrains.com/issue/KT-55111) OptIn: forbid constructor calls with default arguments under marker
- [`KT-49856`](https://youtrack.jetbrains.com/issue/KT-49856) Incorrect smartcast on var assigned in try-catch block
- [`KT-41237`](https://youtrack.jetbrains.com/issue/KT-41237) ReturnsImplies contract for receiver of member function does not work (no smartcast)
- [`KT-37878`](https://youtrack.jetbrains.com/issue/KT-37878) No Smart cast for class literal reference of nullable generic type
- [`KT-35846`](https://youtrack.jetbrains.com/issue/KT-35846) Smart cast with unchecked cast leads to unresolved call that was resolved before (both old and new inference)
- [`KT-30867`](https://youtrack.jetbrains.com/issue/KT-30867) Unsound smartcast if smartcast source and break is placed in for-in header as function arguments
- [`KT-30267`](https://youtrack.jetbrains.com/issue/KT-30267) Inconsistent smart casts in while (true)
- [`KT-33917`](https://youtrack.jetbrains.com/issue/KT-33917) Prohibit to expose anonymous types from private inline functions
- [`KT-28889`](https://youtrack.jetbrains.com/issue/KT-28889) Smart cast does not work with boolean `and` infix function
- [`KT-54790`](https://youtrack.jetbrains.com/issue/KT-54790) False positive NO\_ELSE\_IN\_WHEN when all interfaces are sealed
- [`KT-54920`](https://youtrack.jetbrains.com/issue/KT-54920) K2: `when` with a single branch stops being exhaustive the second time it's done
- [`KT-53364`](https://youtrack.jetbrains.com/issue/KT-53364) False positive UNUSED\_VARIABLE warning for variable that is used across multiple blocks
- [`KT-43234`](https://youtrack.jetbrains.com/issue/KT-43234) False positive INVALID\_IF\_AS\_EXPRESSION caused by `if` without `else` inside `else` inside synchronized()
- [`KT-38490`](https://youtrack.jetbrains.com/issue/KT-38490) False negative INVALID\_IF\_AS\_EXPRESSION with unreachable code and coercion to Unit
- [`KT-35510`](https://youtrack.jetbrains.com/issue/KT-35510) No INVALID\_IF\_AS\_EXPRESSION ("'if' must have both main and 'else' branches if used as an expression") diagnostic for if-expression with only one branch and Nothing type condition
- [`KT-34016`](https://youtrack.jetbrains.com/issue/KT-34016) Contracts - variable cannot be initialized before declaration
- [`KT-56408`](https://youtrack.jetbrains.com/issue/KT-56408) Inconsistent rules of CFA in class initialization block between K1 and K2
- [`KT-33829`](https://youtrack.jetbrains.com/issue/KT-33829) False positive SENSELESS\_COMPARISON with assignment in catch block
- [`KT-30717`](https://youtrack.jetbrains.com/issue/KT-30717) False positive UNUSED\_VARIABLE with local var used in inline lambda block with loop, return and other lambda
- [`KT-28232`](https://youtrack.jetbrains.com/issue/KT-28232) RETURN\_NOT\_ALLOWED in inline lambda argument of '\[... ]' operator convention
- [`KT-26116`](https://youtrack.jetbrains.com/issue/KT-26116) No error when class member val is referenced in inline function before it is assigned later on
- [`KT-25311`](https://youtrack.jetbrains.com/issue/KT-25311) Calls on error type values lead to false-positive unreachable code
- [`KT-24372`](https://youtrack.jetbrains.com/issue/KT-24372) Misleading warning on unused setter parameter in some cases
- [`KT-23680`](https://youtrack.jetbrains.com/issue/KT-23680) False positive UNREACHABLE\_CODE on `throw` with a `return` inside `finally` clause
- [`KT-23502`](https://youtrack.jetbrains.com/issue/KT-23502) When exhaustiveness is not checked for unreachable code, resulting in JVM back-end error
- [`KT-22621`](https://youtrack.jetbrains.com/issue/KT-22621) "throw throw Exception()": False negative UNREACHABLE\_CODE warning
- [`KT-22317`](https://youtrack.jetbrains.com/issue/KT-22317) No INITIALIZATION\_BEFORE\_DECLARATION without primary constructor
- [`KT-67307`](https://youtrack.jetbrains.com/issue/KT-67307) K2: "Cannot find cached type parameter by FIR symbol" in JpaRepository.saveAll
- [`KT-67185`](https://youtrack.jetbrains.com/issue/KT-67185) K2: Incorrect coercion-to-Unit leading to CCE at runtime
- [`KT-64891`](https://youtrack.jetbrains.com/issue/KT-64891) K2: consider supporting/forbidding foo.(bar)() syntax
- [`KT-59480`](https://youtrack.jetbrains.com/issue/KT-59480) K2: build moko-resources
- [`KT-65771`](https://youtrack.jetbrains.com/issue/KT-65771) K2: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" when calling method imported using typealias as callable qualifier
- [`KT-67502`](https://youtrack.jetbrains.com/issue/KT-67502) K2: "property must be initialized or be abstract" with try-finally in secondary constructor
- [`KT-67456`](https://youtrack.jetbrains.com/issue/KT-67456) K2: "property must be initialized or be abstract" depending on constructor declaration order
- [`KT-63524`](https://youtrack.jetbrains.com/issue/KT-63524) K2: "Not enough information to infer type argument"
- [`KT-67628`](https://youtrack.jetbrains.com/issue/KT-67628) K2: "IllegalArgumentException: Expected nullable type" — alias of nullable type analyzed as non-nullable in type parameter
- [`KT-67625`](https://youtrack.jetbrains.com/issue/KT-67625) K2: Array aliases can't be used as vararg values
- [`KT-67624`](https://youtrack.jetbrains.com/issue/KT-67624) K2: False negative "The feature "break continue in inline lambdas" is experimental and should be enabled explicitly" in elvis operator
- [`KT-61787`](https://youtrack.jetbrains.com/issue/KT-61787) K2 doesn't report warnings for some Gradle tasks
- [`KT-62550`](https://youtrack.jetbrains.com/issue/KT-62550) K2: Different JVM signature of lambda with `Unit` return type
- [`KT-65120`](https://youtrack.jetbrains.com/issue/KT-65120) K2 Consider turn into platform checkers ones which checks for objC
- [`KT-60271`](https://youtrack.jetbrains.com/issue/KT-60271) K2: origins are not set on compare operators
- [`KT-28695`](https://youtrack.jetbrains.com/issue/KT-28695) Compiler does not detect uninitialized property in lambda
- [`KT-67593`](https://youtrack.jetbrains.com/issue/KT-67593) K2: false negative SUPER\_CALL\_WITH\_DEFAULT\_PARAMETERS
- [`KT-67484`](https://youtrack.jetbrains.com/issue/KT-67484) K2: FIR2IR generates incorrect access to f/o of lateinit internal var
- [`KT-47382`](https://youtrack.jetbrains.com/issue/KT-47382) JVM / IR: "AssertionError: Unbound private symbol IrFieldSymbolImpl" caused by string template in constructor and extension property
- [`KT-67581`](https://youtrack.jetbrains.com/issue/KT-67581) K2: Compiler fails on actualizing abstract class with sealed Java class via type alias
- [`KT-49404`](https://youtrack.jetbrains.com/issue/KT-49404) Fix type unsoundness for contravariant captured type based on Java class
- [`KT-22379`](https://youtrack.jetbrains.com/issue/KT-22379) Condition of while-loop with break can produce unsound smartcast
- [`KT-67021`](https://youtrack.jetbrains.com/issue/KT-67021) K2: Cannot find cached type parameter by FIR symbol: E of the owner: FirRegularClassSymbol Function
- [`KT-67014`](https://youtrack.jetbrains.com/issue/KT-67014) K1/K2 handle when expression as annotation target differently
- [`KT-67254`](https://youtrack.jetbrains.com/issue/KT-67254) K1/K2 both allow annotations on loops, assignments, array sets
- [`KT-66960`](https://youtrack.jetbrains.com/issue/KT-66960) K2. KMP. False negative ` 'when' expression must be exhaustive` without sealed class inheritor from common source-set
- [`KT-65578`](https://youtrack.jetbrains.com/issue/KT-65578) K2: implement a deprecation warning for KT-57014 (wrong nullability returned from JDK SAM constructor lambda)
- [`KT-63466`](https://youtrack.jetbrains.com/issue/KT-63466) `@NonNull` on a type-variable usage doesn't take precedence over a wildcard type argument
- [`KT-56134`](https://youtrack.jetbrains.com/issue/KT-56134) K2: NEW\_INFERENCE\_NO\_INFORMATION\_FOR\_PARAMETER diagnostic is reported for the wrong symbol
- [`KT-66196`](https://youtrack.jetbrains.com/issue/KT-66196) Convert INFERRED\_TYPE\_VARIABLE\_INTO\_EMPTY\_INTERSECTION\_ERROR to warning
- [`KT-66793`](https://youtrack.jetbrains.com/issue/KT-66793) K2: "assigning single elements to varargs in named form is prohibited." caused by varargs supplied from java with elvis operator
- [`KT-59872`](https://youtrack.jetbrains.com/issue/KT-59872) K2: Disappeared TYPE\_MISMATCH
- [`KT-67192`](https://youtrack.jetbrains.com/issue/KT-67192) K2: Disappeared TYPE\_MISMATCH \[3]
- [`KT-63319`](https://youtrack.jetbrains.com/issue/KT-63319) K1/K2: inconsistent behavior around NullMarked and type parameter based types
- [`KT-59882`](https://youtrack.jetbrains.com/issue/KT-59882) K2: Disappeared CANNOT\_INFER\_PARAMETER\_TYPE
- [`KT-67191`](https://youtrack.jetbrains.com/issue/KT-67191) K2: Disappeared TYPE\_MISMATCH \[4]
- [`KT-53752`](https://youtrack.jetbrains.com/issue/KT-53752) Missed subtyping check for an intersection type
- [`KT-52628`](https://youtrack.jetbrains.com/issue/KT-52628) Deprecate SAM constructor usages which require OptIn without annotation
- [`KT-54066`](https://youtrack.jetbrains.com/issue/KT-54066) Deprecate upper bound violation in typealias constructors
- [`KT-64860`](https://youtrack.jetbrains.com/issue/KT-64860) K2: Consider using different ConstraintPosition when fixing variables for PCLA
- [`KT-67189`](https://youtrack.jetbrains.com/issue/KT-67189) K2: Disappeared TYPE\_MISMATCH \[5]
- [`KT-67551`](https://youtrack.jetbrains.com/issue/KT-67551) K2: No wrong annotation target error for `for` statement
- [`KT-67374`](https://youtrack.jetbrains.com/issue/KT-67374) K2: Object is not smartcasted to type parameter type
- [`KT-67264`](https://youtrack.jetbrains.com/issue/KT-67264) K2: "argument type mismatch" with suspend lambda and java wildcard
- [`KT-63257`](https://youtrack.jetbrains.com/issue/KT-63257) K2: FIR2IR inserts incorrect implicit cast for smartcasted variable
- [`KT-66902`](https://youtrack.jetbrains.com/issue/KT-66902) K2: "Named arguments are prohibited for non-Kotlin functions" with Java interop
- [`KT-67311`](https://youtrack.jetbrains.com/issue/KT-67311) K2: "Argument type mismatch" caused by lambda type when using named arguments
- [`KT-57011`](https://youtrack.jetbrains.com/issue/KT-57011) Make real type of a destructuring variable consistent with explicit type when specified
- [`KT-62043`](https://youtrack.jetbrains.com/issue/KT-62043) K2: Fix FirCompileKotlinAgainstCustomBinariesTest.testRawTypes
- [`KT-66256`](https://youtrack.jetbrains.com/issue/KT-66256) K2: compiler FIR2IR crash on SAM-conversion to value parameter of in-projected type
- [`KT-67124`](https://youtrack.jetbrains.com/issue/KT-67124) "Unstable inference behaviour with multiple generic lambdas" compilation error
- [`KT-59791`](https://youtrack.jetbrains.com/issue/KT-59791) K2: Implement partially constrained lambda analysis
- [`KT-66743`](https://youtrack.jetbrains.com/issue/KT-66743) Lambda receivers and anonymous function parameters of inaccessible types are allowed
- [`KT-67315`](https://youtrack.jetbrains.com/issue/KT-67315) K2: Some default imports are not excluded
- [`KT-56126`](https://youtrack.jetbrains.com/issue/KT-56126) Avoid using descriptors at JvmPlatformAnalyzerServices::computePlatformSpecificDefaultImports
- [`KT-66513`](https://youtrack.jetbrains.com/issue/KT-66513) K2: Suppressing OPT\_IN\_USAGE\_ERROR is now a warning in K2, preventing safe code gen compatible with -Werror
- [`KT-67233`](https://youtrack.jetbrains.com/issue/KT-67233) False negative UNSAFE\_CALL with type check after null coalescing with 'OR'
- [`KT-52802`](https://youtrack.jetbrains.com/issue/KT-52802) Report ambiguity resolving between property/field and enum entry
- [`KT-64920`](https://youtrack.jetbrains.com/issue/KT-64920) Json.encodeToString yields different results depending on whether typealias is used
- [`KT-58260`](https://youtrack.jetbrains.com/issue/KT-58260) Make invoke convention work consistently with expected desugaring
- [`KT-67314`](https://youtrack.jetbrains.com/issue/KT-67314) PCLA works inconsistently with smart-cast related CS forks
- [`KT-66797`](https://youtrack.jetbrains.com/issue/KT-66797) K2 JS: Primary constructor property annotation with target VALUE\_PARAMETER is put on property instead of parameter
- [`KT-55179`](https://youtrack.jetbrains.com/issue/KT-55179) False negative PRIVATE\_CLASS\_MEMBER\_FROM\_INLINE on calling private class companion object member from internal inline function
- [`KT-54663`](https://youtrack.jetbrains.com/issue/KT-54663) Projected types don't take into account in-place not null types
- [`KT-58191`](https://youtrack.jetbrains.com/issue/KT-58191) K2: capturing closures successors that are already resolved (thanks to backward edges) must be taken into account for allowing smart casts
- [`KT-67144`](https://youtrack.jetbrains.com/issue/KT-67144) K2: potential NPE when assigning to unstable vars
- [`KT-66971`](https://youtrack.jetbrains.com/issue/KT-66971) K2: missing SMARTCAST\_IMPOSSIBLE on open val declared in another module
- [`KT-66904`](https://youtrack.jetbrains.com/issue/KT-66904) K2: possible NPE when reassigning captured variables
- [`KT-57031`](https://youtrack.jetbrains.com/issue/KT-57031) operator assignment, increment/decrement should be considered as variable reassigning in terms of DFA. green in K1 -> red in K2 for unsound code
- [`KT-67212`](https://youtrack.jetbrains.com/issue/KT-67212) K2: "Failed to find functional supertype for class org.jetbrains.kotlin.fir.types.ConeCapturedType"
- [`KT-67283`](https://youtrack.jetbrains.com/issue/KT-67283) K2: No SAM conversion for fun interface with abstract toString
- [`KT-67318`](https://youtrack.jetbrains.com/issue/KT-67318) Compiler fails with OutOfMemoryError on combination of PCLA+smart cast
- [`KT-66956`](https://youtrack.jetbrains.com/issue/KT-66956) K2: false negative CONST\_VAL\_WITH\_NON\_CONST\_INITIALIZER for inc/dec operators
- [`KT-64233`](https://youtrack.jetbrains.com/issue/KT-64233) K2: K1/K2: ensure JVM ABI consistency for quality gates projects
- [`KT-63535`](https://youtrack.jetbrains.com/issue/KT-63535) K2: Apply DFA implications for nullable Nothing to both sides
- [`KT-63413`](https://youtrack.jetbrains.com/issue/KT-63413) K2 / kotlinx-atomicfu: "IllegalStateException: Expected some types"
- [`KT-62931`](https://youtrack.jetbrains.com/issue/KT-62931) K2: extra class files for `@OptionalExpectation` marked annotations
- [`KT-34307`](https://youtrack.jetbrains.com/issue/KT-34307) Confusing error message on lambda return type mismatch
- [`KT-62151`](https://youtrack.jetbrains.com/issue/KT-62151) K2. overload resolution ambiguity for calls of Java record compact constructors
- [`KT-60732`](https://youtrack.jetbrains.com/issue/KT-60732) K2 Scripting: TeamCity DSL test
- [`KT-65062`](https://youtrack.jetbrains.com/issue/KT-65062) K2: build kotlinx.collections.immutable and pass to CI
- [`KT-59467`](https://youtrack.jetbrains.com/issue/KT-59467) K2: build toolbox-enterprise
- [`KT-67205`](https://youtrack.jetbrains.com/issue/KT-67205) K2: can't deserialize annotation with local class as argument
- [`KT-52175`](https://youtrack.jetbrains.com/issue/KT-52175) K2: WRONG\_ANNOTATION\_TARGET for annotation that used inside if
- [`KT-65449`](https://youtrack.jetbrains.com/issue/KT-65449) K2: build KAPT user project and pass it to CI
- [`KT-61384`](https://youtrack.jetbrains.com/issue/KT-61384) IrFakeOverrideBuilder incorrectly checks visibility for friend modules
- [`KT-67142`](https://youtrack.jetbrains.com/issue/KT-67142) K2: IrFakeOverrideBuilder: AbstractMethodError on raw type argument in a Java superclass
- [`KT-65105`](https://youtrack.jetbrains.com/issue/KT-65105) K2 / Native: Member overrides different '`@Throws`' filter
- [`KT-62570`](https://youtrack.jetbrains.com/issue/KT-62570) IncompatibleClassChangeError due to overriding final method
- [`KT-57812`](https://youtrack.jetbrains.com/issue/KT-57812) K2: support serialization of type annotation's arguments
- [`KT-67190`](https://youtrack.jetbrains.com/issue/KT-67190) K2: Disappeared TYPE\_MISMATCH \[2]
- [`KT-56683`](https://youtrack.jetbrains.com/issue/KT-56683) K2: No control flow analysis for top-level properties
- [`KT-67188`](https://youtrack.jetbrains.com/issue/KT-67188) K2: Disappeared TYPE\_MISMATCH \[6]
- [`KT-62063`](https://youtrack.jetbrains.com/issue/KT-62063) K2: drop pre-release flag in 2.0-RC
- [`KT-67187`](https://youtrack.jetbrains.com/issue/KT-67187) K2: Disappeared TYPE\_MISMATCH \[1]
- [`KT-66909`](https://youtrack.jetbrains.com/issue/KT-66909) K2: Implement a diagnostic for returning null from a lambda with expected return type Unit!
- [`KT-66534`](https://youtrack.jetbrains.com/issue/KT-66534) False positive ASSIGNMENT\_TYPE\_MISMATCH in lambdas with expected return type Unit!
- [`KT-63381`](https://youtrack.jetbrains.com/issue/KT-63381) IrFakeOverrideBuilder: PublishedApi affects overridability of internal members
- [`KT-63836`](https://youtrack.jetbrains.com/issue/KT-63836) K2: No deprecation error message in common metadata compilation
- [`KT-57618`](https://youtrack.jetbrains.com/issue/KT-57618) K2: complex deprecation messages are not printed in the error
- [`KT-59856`](https://youtrack.jetbrains.com/issue/KT-59856) K2: Check ConeDiagnostics that are not mapped to KtDiagnostics
- [`KT-57502`](https://youtrack.jetbrains.com/issue/KT-57502) K2: Smart casts should be forbidden if variable that remembers the smart cast is declared by delegation
- [`KT-63967`](https://youtrack.jetbrains.com/issue/KT-63967) K2: Missing getterSignature in metadata for script variables
- [`KT-59372`](https://youtrack.jetbrains.com/issue/KT-59372) K2: Missing SELF\_CALL\_IN\_NESTED\_OBJECT\_CONSTRUCTOR\_ERROR
- [`KT-60526`](https://youtrack.jetbrains.com/issue/KT-60526) K2: Fix the TODO in `convertToIr.kt`
- [`KT-67090`](https://youtrack.jetbrains.com/issue/KT-67090) K2: Exception from metadata compilation when compiling class with annotations from dependencies
- [`KT-59479`](https://youtrack.jetbrains.com/issue/KT-59479) K2: build KorGE
- [`KT-64502`](https://youtrack.jetbrains.com/issue/KT-64502) K2: Internal error on calling function before declaration
- [`KT-62560`](https://youtrack.jetbrains.com/issue/KT-62560) K2: KAPT4: annotation `@ReplaceWith` is missing a default value for the element 'imports'
- [`KT-67027`](https://youtrack.jetbrains.com/issue/KT-67027) K2: Review all use-sites of annotation arguments utilities
- [`KT-65012`](https://youtrack.jetbrains.com/issue/KT-65012) IR Evaluator: `NoSuchFieldException` when evaluating protected/private fields of superclasses
- [`KT-66953`](https://youtrack.jetbrains.com/issue/KT-66953) K2: toByte() call on Char leads to ClassCastException for klib backends
- [`KT-60096`](https://youtrack.jetbrains.com/issue/KT-60096) K2: Introduced API\_NOT\_AVAILABLE
- [`KT-59484`](https://youtrack.jetbrains.com/issue/KT-59484) K2: build trustwallet sample
- [`KT-64151`](https://youtrack.jetbrains.com/issue/KT-64151) K2: consider implementing FIR-level constant evaluation
- [`KT-65787`](https://youtrack.jetbrains.com/issue/KT-65787) K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType" caused by passing lambda expression with multiple labels to function
- [`KT-53629`](https://youtrack.jetbrains.com/issue/KT-53629) K2: forbid multiple labels per statement
- [`KT-65255`](https://youtrack.jetbrains.com/issue/KT-65255) K2 / KJS: "IllegalArgumentException: Candidate is not successful, but system has no contradiction"
- [`KT-65195`](https://youtrack.jetbrains.com/issue/KT-65195) K2: Unexpected exception when executing dynamic array element inc/dec
- [`KT-63416`](https://youtrack.jetbrains.com/issue/KT-63416) K2 / Contracts: False positive "Leaked in-place lambda" warning caused by suspend lambda with callsInPlace contract
- [`KT-66717`](https://youtrack.jetbrains.com/issue/KT-66717) Incorrect diagnostics around intersection property overrides
- [`KT-63540`](https://youtrack.jetbrains.com/issue/KT-63540) Restrict the CONFLICTING\_OVERLOADS + DeprecatedLevel.HIDDEN ignore to final callables
- [`KT-56587`](https://youtrack.jetbrains.com/issue/KT-56587) There are no warnings in some cases when Enum.entries is shadowed
- [`KT-65111`](https://youtrack.jetbrains.com/issue/KT-65111) K2: Java star imports don't work in KJK interdependencies
- [`KT-63709`](https://youtrack.jetbrains.com/issue/KT-63709) K2: Argument smartcasting impacting receiver and call resolution for implicit invoke
- [`KT-63530`](https://youtrack.jetbrains.com/issue/KT-63530) K2: Disable passing data flow info from in-place lambdas
- [`KT-65377`](https://youtrack.jetbrains.com/issue/KT-65377) K2: "Argument type mismatch" caused by approximated captured type argument of generic type
- [`KT-59400`](https://youtrack.jetbrains.com/issue/KT-59400) K2: Missing CANNOT\_INFER\_VISIBILITY
- [`KT-62305`](https://youtrack.jetbrains.com/issue/KT-62305) K2: Missing Fir metadata serialization support for scripts
- [`KT-64534`](https://youtrack.jetbrains.com/issue/KT-64534) K2: org.jetbrains.kotlin.util.FileAnalysisException: Somewhere in file
- [`KT-57555`](https://youtrack.jetbrains.com/issue/KT-57555) \[LC] Forbid deferred initialization of open properties with backing field
- [`KT-65776`](https://youtrack.jetbrains.com/issue/KT-65776) \[LC] K2 breaks `false && ...` and `false || ...`
- [`KT-64641`](https://youtrack.jetbrains.com/issue/KT-64641) K2: Change in inference of supertype of function types with receiver
- [`KT-65649`](https://youtrack.jetbrains.com/issue/KT-65649) K2: IR has incorrect origins for some inplace updating operators
- [`KT-64295`](https://youtrack.jetbrains.com/issue/KT-64295) Forbid recursive resolve in case of potential ambiguity on upper tower level
- [`KT-62866`](https://youtrack.jetbrains.com/issue/KT-62866) K2: Change qualifier resolution behavior when companion object is preferred against static scope
- [`KT-55446`](https://youtrack.jetbrains.com/issue/KT-55446) Change impact of *private-to-this* visibility to resolution
- [`KT-64255`](https://youtrack.jetbrains.com/issue/KT-64255) Forbid accessing internal setter from a derived class in another module
- [`KT-64966`](https://youtrack.jetbrains.com/issue/KT-64966) Forbid generic delegating constructor calls with wrong type for generic parameter
- [`KT-63389`](https://youtrack.jetbrains.com/issue/KT-63389) K2: `WRONG_ANNOTATION_TARGET` is reported on incompatible annotations of a type wrapped into `()?`
- [`KT-66748`](https://youtrack.jetbrains.com/issue/KT-66748) K2: False-positive AMBIGUOUS\_SUPER in toString
- [`KT-67013`](https://youtrack.jetbrains.com/issue/KT-67013) K2: ClassCastException: class FirConstructorSymbol cannot be cast to class FirNamedFunctionSymbol
- [`KT-64872`](https://youtrack.jetbrains.com/issue/KT-64872) K2: do-while condition able to access uninitialized variable
- [`KT-66350`](https://youtrack.jetbrains.com/issue/KT-66350) K2: "IllegalStateException: Unsupported compile-time value STRING\_CONCATENATION" when evaluating an annotation argument string
- [`KT-61798`](https://youtrack.jetbrains.com/issue/KT-61798) K2 incorrectly calculates modality of property accessors
- [`KT-65035`](https://youtrack.jetbrains.com/issue/KT-65035) IrFakeOverrideBuilder: AbstractMethodError on inheritance from Java subclass of CharSequence with inherited implementations
- [`KT-61579`](https://youtrack.jetbrains.com/issue/KT-61579) K2: Inconsistent reporting `UNINITIALIZED_VARIABLE` for top-level properties
- [`KT-66730`](https://youtrack.jetbrains.com/issue/KT-66730) K2: False positive RETURN\_TYPE\_MISMATCH in return statement in SAM constructor
- [`KT-66570`](https://youtrack.jetbrains.com/issue/KT-66570) Generic wildcard upper bound inference error
- [`KT-65272`](https://youtrack.jetbrains.com/issue/KT-65272) K2: invoke operator applies "restricted suspending call" error differently than K1
- [`KT-66148`](https://youtrack.jetbrains.com/issue/KT-66148) K2. Sources of receivers updated twice because of PCLA
- [`KT-62525`](https://youtrack.jetbrains.com/issue/KT-62525) K2: IllegalStateException: Can't find KotlinType in IrErrorType: IrErrorType(null)
- [`KT-64266`](https://youtrack.jetbrains.com/issue/KT-64266) K2: don't report MISSING\_DEPENDENCY\_CLASS on lambda parameter for non-generic types
- [`KT-65300`](https://youtrack.jetbrains.com/issue/KT-65300) K2: this-expressions in initializers and local declarations don't introduce type information to either BI or PCLA
- [`KT-66463`](https://youtrack.jetbrains.com/issue/KT-66463) K2: false positive ACCIDENTAL\_OVERRIDE\_CLASH\_BY\_JVM\_SIGNATURE
- [`KT-62356`](https://youtrack.jetbrains.com/issue/KT-62356) Prohibit using property+invoke for iterator
- [`KT-63631`](https://youtrack.jetbrains.com/issue/KT-63631) K2: constant value UByte.MAX\_VALUE is incorrectly deserialized from metadata
- [`KT-65386`](https://youtrack.jetbrains.com/issue/KT-65386) K2: Different signature of invoke for Unit lambda
- [`KT-60574`](https://youtrack.jetbrains.com/issue/KT-60574) K2: generated IR for `suspendCoroutineUninterceptedOrReturn` is different from K1 (K2 uses Any? instead of Unit)
- [`KT-66512`](https://youtrack.jetbrains.com/issue/KT-66512) K2: Incorrect diagnostic in lambda whose expected type is a type alias to Unit
- [`KT-66279`](https://youtrack.jetbrains.com/issue/KT-66279) K2: False positive INITIALIZER\_TYPE\_MISMATCH with `return Unit` in a lambda with the expected type `() -> Unit`
- [`KT-66277`](https://youtrack.jetbrains.com/issue/KT-66277) K2: False negative RETURN\_TYPE\_MISMATCH with empty return in lambda assigned to a property
- [`KT-66654`](https://youtrack.jetbrains.com/issue/KT-66654) K2 FIR resolution: Mismatch between actual type and expected type for a value parameter when the parameter type is a function type with special function kind
- [`KT-66638`](https://youtrack.jetbrains.com/issue/KT-66638) Cannot access properties of a generic type with wildcards
- [`KT-66690`](https://youtrack.jetbrains.com/issue/KT-66690) K2: don't report MISSING\_DEPENDENCY\_CLASS on expression without errors for generic type arguments
- [`KT-66767`](https://youtrack.jetbrains.com/issue/KT-66767) K2: Destructuring declaration inside initializer failure
- [`KT-63695`](https://youtrack.jetbrains.com/issue/KT-63695) JVM: Don't use plugin extensions when compiling code fragment
- [`KT-65727`](https://youtrack.jetbrains.com/issue/KT-65727) K2: add proper package for properties generated from destructuring declarations
- [`KT-64854`](https://youtrack.jetbrains.com/issue/KT-64854) K2: Trying to access private field on runtime with contracts
- [`KT-65388`](https://youtrack.jetbrains.com/issue/KT-65388) IrFakeOverrideBuilder - custom annotation is available in fake getter/setter
- [`KT-66595`](https://youtrack.jetbrains.com/issue/KT-66595) K2: compiler FIR checking crash on destructuring declarations calling hidden componentN declarations
- [`KT-62129`](https://youtrack.jetbrains.com/issue/KT-62129) K2: Verification error on calling an extension from an env with 2+ context receivers
- [`KT-41607`](https://youtrack.jetbrains.com/issue/KT-41607) NI: UNSAFE\_CALL caused by try catch block assigning to a nullable variable
- [`KT-63932`](https://youtrack.jetbrains.com/issue/KT-63932) K2/Native codegen test failures around builder inference
- [`KT-66352`](https://youtrack.jetbrains.com/issue/KT-66352) K2: difference between LL FIR and FIR for componentN functions
- [`KT-66686`](https://youtrack.jetbrains.com/issue/KT-66686) K2 Script: Unresolved reference of script-specific entities on out-of-order resolve
- [`KT-65523`](https://youtrack.jetbrains.com/issue/KT-65523) K2: add proper package for result$$ property
- [`KT-66699`](https://youtrack.jetbrains.com/issue/KT-66699) Restore HostManager ABI
- [`KT-60533`](https://youtrack.jetbrains.com/issue/KT-60533) Inliner incorrectly captures non-null value as null in coroutines
- [`KT-57925`](https://youtrack.jetbrains.com/issue/KT-57925) K2: Consider removing FirEmptyContractDescription
- [`KT-61893`](https://youtrack.jetbrains.com/issue/KT-61893) K2: should not resolve to Java function with Kotlin hidden-level deprecation
- [`KT-59669`](https://youtrack.jetbrains.com/issue/KT-59669) K2: Explore assignments in in-place lambdas
- [`KT-66271`](https://youtrack.jetbrains.com/issue/KT-66271) Fir: Deserialize classFile, functionFile and propertyFile from KlibMetadataProtoBuf
- [`KT-57957`](https://youtrack.jetbrains.com/issue/KT-57957) K2: Symbol providers are frequently queried with error-named class IDs
- [`KT-66046`](https://youtrack.jetbrains.com/issue/KT-66046) K2: false negative CANNOT\_WEAKEN\_ACCESS\_PRIVILEGE on property
- [`KT-66677`](https://youtrack.jetbrains.com/issue/KT-66677) K2: OVERRIDE\_DEPRECATION isn't reported for WEAKLY\_HIDDEN method toArray()
- [`KT-62793`](https://youtrack.jetbrains.com/issue/KT-62793) K2: slightly different bytecode of suspend conversions
- [`KT-57244`](https://youtrack.jetbrains.com/issue/KT-57244) K2: slightly different naming scheme for suspend conversion adapters
- [`KT-60256`](https://youtrack.jetbrains.com/issue/KT-60256) K2: types are not substituted in suspend conversion
- [`KT-66673`](https://youtrack.jetbrains.com/issue/KT-66673) K2/JS: FirJsInheritanceClassChecker doesn't expand type aliases to supertypes
- [`KT-66475`](https://youtrack.jetbrains.com/issue/KT-66475) K2/KMP/Wasm: report WRONG\_JS\_INTEROP\_TYPE from a platform checker
- [`KT-66474`](https://youtrack.jetbrains.com/issue/KT-66474) K2/KMP/JS: report EXTERNAL\_TYPE\_EXTENDS\_NON\_EXTERNAL\_TYPE from a platform checker
- [`KT-66473`](https://youtrack.jetbrains.com/issue/KT-66473) K2/Wasm: FirWasmExternalInheritanceChecker doesn't expand type aliases
- [`KT-64407`](https://youtrack.jetbrains.com/issue/KT-64407) Implement WriteSignatureTestGenerated for K2
- [`KT-64438`](https://youtrack.jetbrains.com/issue/KT-64438) K2: Port CodegenTestCase to K2
- [`KT-64404`](https://youtrack.jetbrains.com/issue/KT-64404) Implement WriteFlagsTestGenerated for K2
- [`KT-66491`](https://youtrack.jetbrains.com/issue/KT-66491) K2 / KJS: "Name contains illegal characters." caused by backticks in import
- [`KT-66275`](https://youtrack.jetbrains.com/issue/KT-66275) K2: false-positive "Java module does not depend on module" error on access to inherited member from twice-transitive dependency via class from transitive dependency
- [`KT-65801`](https://youtrack.jetbrains.com/issue/KT-65801) IrFakeOverrideBuilder - visibility is lost for setter in KJK hierarchy
- [`KT-65576`](https://youtrack.jetbrains.com/issue/KT-65576) K2: Incorrect resolution of variable+invoke when the property type is not computed
- [`KT-58575`](https://youtrack.jetbrains.com/issue/KT-58575) Private Kotlin property prevents use of Java get- and set-methods from Java-Kotlin-Java hierarchy
- [`KT-61282`](https://youtrack.jetbrains.com/issue/KT-61282) K2: Incorrect overridden function for `java.nio.CharBuffer.get`
- [`KT-65464`](https://youtrack.jetbrains.com/issue/KT-65464) K2: False positive UNRESOLVED\_REFERENCE on extension property call defined in KJK hierarchy
- [`KT-59470`](https://youtrack.jetbrains.com/issue/KT-59470) K2: build KaMPKit
- [`KT-60510`](https://youtrack.jetbrains.com/issue/KT-60510) Smartcast to functional type does not work in when exprssion
- [`KT-59677`](https://youtrack.jetbrains.com/issue/KT-59677) K2: Report diagnostics about missing receiver for delegated constructor call to inner class
- [`KT-65183`](https://youtrack.jetbrains.com/issue/KT-65183) K2: Remove workaround for `@OnlyInputTypes` and captured types with recursive supertypes from inference
- [`KT-66120`](https://youtrack.jetbrains.com/issue/KT-66120) IrFakeOverrideBuilder: wrong return type in intersection with 3 classes
- [`KT-65939`](https://youtrack.jetbrains.com/issue/KT-65939) IrFakeOverrideBuilder - nullability annotation is lost in intersection without annotation
- [`KT-59473`](https://youtrack.jetbrains.com/issue/KT-59473) K2: build firebase-kotlin-sdk
- [`KT-66356`](https://youtrack.jetbrains.com/issue/KT-66356) K2: type mismatch error when generic type with inaccessible generic type as type argument is produced and consumed by declarations from dependencies
- [`KT-65193`](https://youtrack.jetbrains.com/issue/KT-65193) K2: "JAVA\_TYPE\_MISMATCH" caused by MutableList
- [`KT-66636`](https://youtrack.jetbrains.com/issue/KT-66636) NoSuchMethodError: 'void org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl.<init> in the FLysto K2 QG
- [`KT-63941`](https://youtrack.jetbrains.com/issue/KT-63941) K2: "IllegalStateException: Unsupported compile-time value STRING\_CONCATENATION" caused by class reference in string expression as annotation parameter
- [`KT-65704`](https://youtrack.jetbrains.com/issue/KT-65704) K2: `computeCommonSuperType` of flexible type with recursive captured type argument produces giant multi-level-deep type
- [`KT-65410`](https://youtrack.jetbrains.com/issue/KT-65410) K2: ABSTRACT\_CLASS\_MEMBER\_NOT\_IMPLEMENTED for 'removeAt' in KJK hierarchy
- [`KT-65184`](https://youtrack.jetbrains.com/issue/KT-65184) K2: disappeared TYPE\_MISMATCH for java collections
- [`KT-66392`](https://youtrack.jetbrains.com/issue/KT-66392) K2: Exception in KJK hierarchy with implicit types
- [`KT-66551`](https://youtrack.jetbrains.com/issue/KT-66551) Revert temporary commits after KT-62063 and bootstrapping
- [`KT-65218`](https://youtrack.jetbrains.com/issue/KT-65218) FIR LL and DiagnosticFE10 tests start to fail in case of adding any new declaration into stdlib commonMain
- [`KT-66552`](https://youtrack.jetbrains.com/issue/KT-66552) K2: build of intellij crashes the compiler
- [`KT-63746`](https://youtrack.jetbrains.com/issue/KT-63746) K2: JSpecify: If a class has a `@Nullable` type-parameter bound, Kotlin should still treat unbounded wildcards like platform types
- [`KT-66504`](https://youtrack.jetbrains.com/issue/KT-66504) K2: plusAssign operator call is resolved differently than function call
- [`KT-48515`](https://youtrack.jetbrains.com/issue/KT-48515) JSpecify: If a class has a `@Nullable` type-parameter bound, Kotlin should still treat unbounded wildcards like platform types
- [`KT-57588`](https://youtrack.jetbrains.com/issue/KT-57588) K2/Native: False positive '"CONFLICTING\_OVERLOADS", "PARAMETER\_NAME\_CHANGED\_ON\_OVERRIDE" on overriding objc methods
- [`KT-58892`](https://youtrack.jetbrains.com/issue/KT-58892) K2: Parcelize doesn't work in common code when expect annotation is actualized with typealias to `@Parcelize`
- [`KT-65882`](https://youtrack.jetbrains.com/issue/KT-65882) K2: "KotlinNothingValueException" caused by unsafe cast and Nothing::class
- [`KT-66124`](https://youtrack.jetbrains.com/issue/KT-66124) K2: Remove FirLambdaArgumentExpression and FirNamedArgumentExpression after resolution
- [`KT-65959`](https://youtrack.jetbrains.com/issue/KT-65959) K2: Incorrect warnings about inline function impact
- [`KT-64994`](https://youtrack.jetbrains.com/issue/KT-64994) K2: `@Composable` lambda type is not resolved from other modules
- [`KT-66048`](https://youtrack.jetbrains.com/issue/KT-66048) K2: property becomes nullable in KJK hierarchy if base declaration has implicit return type
- [`KT-47843`](https://youtrack.jetbrains.com/issue/KT-47843) No error reported on assigning "continue" to a companion object
- [`KT-47530`](https://youtrack.jetbrains.com/issue/KT-47530) NI: Unexpected TYPE\_MISMATCH when combining nested conditional and contravariant type argument
- [`KT-49583`](https://youtrack.jetbrains.com/issue/KT-49583) NI: NullPointerException on compiling anonymous function returning a method reference
- [`KT-42782`](https://youtrack.jetbrains.com/issue/KT-42782) NI: Smart casting for generic type doesn't work if the variable is already smart cast
- [`KT-38031`](https://youtrack.jetbrains.com/issue/KT-38031) FIR: Discrepancy in call resolution for qualifiers with old FE
- [`KT-65789`](https://youtrack.jetbrains.com/issue/KT-65789) K1/K2: Resolve change in constructor/top-level function ambiguity
- [`KT-66150`](https://youtrack.jetbrains.com/issue/KT-66150) K2: expects type argument in super qualifier
- [`KT-60971`](https://youtrack.jetbrains.com/issue/KT-60971) Incorrect "cannot inline bytecode built with JVM target ..." on property setter if only getter is inline
- [`KT-61514`](https://youtrack.jetbrains.com/issue/KT-61514) K2: Build fake overrides using IR during Fir2IR
- [`KT-65584`](https://youtrack.jetbrains.com/issue/KT-65584) K2: "Duplicate parameter name in a function type"
- [`KT-50008`](https://youtrack.jetbrains.com/issue/KT-50008) JSpecify `@Nullable` annotation on type-parameter bound prevents type-variable usages from being platform types
- [`KT-37000`](https://youtrack.jetbrains.com/issue/KT-37000) IndexOutOfBoundsException from TypeResolver on typealias with cyclic references
- [`KT-56988`](https://youtrack.jetbrains.com/issue/KT-56988) CFG, smart casts: red in K1 -> green in K2 for invalid code
- [`KT-62118`](https://youtrack.jetbrains.com/issue/KT-62118) FIR: "HashMap.entry" has invalid enhanced type
- [`KT-64840`](https://youtrack.jetbrains.com/issue/KT-64840) K2: Bare type are not allowed for TV based values during PCLA
- [`KT-65415`](https://youtrack.jetbrains.com/issue/KT-65415) K2: Stdlib K2 build error: IrConstructorSymbolImpl is already bound
- [`KT-66449`](https://youtrack.jetbrains.com/issue/KT-66449) Make DiagnosticSuppressor a project-level extension
- [`KT-66411`](https://youtrack.jetbrains.com/issue/KT-66411) FIR: Real source on fake block around assignment expression in the "when" branch affects resolve in K2 Analysis API and IDE
- [`KT-65249`](https://youtrack.jetbrains.com/issue/KT-65249) K2: False positive modality is different for native compilation
- [`KT-65982`](https://youtrack.jetbrains.com/issue/KT-65982) K2 Scripts cannot disambiguate declarations imported from default and explicit imports
- [`KT-65677`](https://youtrack.jetbrains.com/issue/KT-65677) K2: Unable to resolve parent class from companion object
- [`KT-47310`](https://youtrack.jetbrains.com/issue/KT-47310) Change qualifier resolution behavior when companion property is preferred against enum entry
- [`KT-41034`](https://youtrack.jetbrains.com/issue/KT-41034) K2: Change evaluation semantics for combination of safe calls and convention operators
- [`KT-63529`](https://youtrack.jetbrains.com/issue/KT-63529) K2: Compiler does not detect tailrec call with nullable type
- [`KT-66441`](https://youtrack.jetbrains.com/issue/KT-66441) Remove symbol table from IR fake override builder in Fir2Ir
- [`KT-64846`](https://youtrack.jetbrains.com/issue/KT-64846) K2: false negative CONFLICTING\_JVM\_DECLARATIONS on inheritance from Java collection subclass with a conflicting override
- [`KT-62312`](https://youtrack.jetbrains.com/issue/KT-62312) \[K2/N] revert putting stdlib to the beginning of libraries list in the compiler
- [`KT-58203`](https://youtrack.jetbrains.com/issue/KT-58203) K2: false-negative incompatible types error on is-check with unrelated type
- [`KT-65722`](https://youtrack.jetbrains.com/issue/KT-65722) K2: Property reference refers to non-existent functions
- [`KT-65878`](https://youtrack.jetbrains.com/issue/KT-65878) K2: "ClassCastException" when passing nun-suspend lambda to SAM constructor with named argument
- [`KT-66379`](https://youtrack.jetbrains.com/issue/KT-66379) K2: No extra message in UPPER\_BOUND\_VIOLATED for cases with CapturedType
- [`KT-59475`](https://youtrack.jetbrains.com/issue/KT-59475) K2: build nowinandroid
- [`KT-65926`](https://youtrack.jetbrains.com/issue/KT-65926) K2: add tests for all fixed-in-k2 / not-reproducible-in-k2 unresolved issues
- [`KT-59481`](https://youtrack.jetbrains.com/issue/KT-59481) K2: build aws-sdk-kotlin + smithy-kotlin
- [`KT-65022`](https://youtrack.jetbrains.com/issue/KT-65022) K2: Compiler crashes when array literal is used in delegate expression
- [`KT-62836`](https://youtrack.jetbrains.com/issue/KT-62836) K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
- [`KT-64727`](https://youtrack.jetbrains.com/issue/KT-64727) K1: Closing bracket of object inside crossinline lambda or inside lambda in inline function is not hit on step-over
- [`KT-64726`](https://youtrack.jetbrains.com/issue/KT-64726) K1: Cannot stop on closing bracket of crossinline lambda inside of another crossinline lambda
- [`KT-64725`](https://youtrack.jetbrains.com/issue/KT-64725) K1: Cannot stop on closing bracket of lambda of inline-only function
- [`KT-66272`](https://youtrack.jetbrains.com/issue/KT-66272) Could not load module <Error module> with a combination of type parameters
- [`KT-66243`](https://youtrack.jetbrains.com/issue/KT-66243) Could not load module <Error module> in a builder inference with lambda with typed parameter
- [`KT-66229`](https://youtrack.jetbrains.com/issue/KT-66229) Could not load module <Error module> in a builder inference with Map.Entry
- [`KT-66313`](https://youtrack.jetbrains.com/issue/KT-66313) K2: declaration-order-dependent false-positive "recursive problem in type checker" error on `getX` declaration with implicit return type that calls `x` declaration via intermediate declaration in `getX`'s expression body
- [`KT-61041`](https://youtrack.jetbrains.com/issue/KT-61041) K2: Consider getting rid of confusing shouldRunCompletion and shouldAvoidFullCompletion function in FirInferenceSession
- [`KT-66267`](https://youtrack.jetbrains.com/issue/KT-66267) K2: generic function's type parameter is erased if present as type argument in type of callable reference to member of generic function's local class
- [`KT-61448`](https://youtrack.jetbrains.com/issue/KT-61448) K2: Disappeared DEPRECATION in testWithModifiedMockJdk
- [`KT-60106`](https://youtrack.jetbrains.com/issue/KT-60106) K2: Introduced REIFIED\_TYPE\_FORBIDDEN\_SUBSTITUTION
- [`KT-58279`](https://youtrack.jetbrains.com/issue/KT-58279) K2. False-negative `Smart cast to is impossible, because is a public API property declared in different module` for Java static field
- [`KT-61626`](https://youtrack.jetbrains.com/issue/KT-61626) K2: Module "com.soywiz.korlibs.kmem:kmem" has a reference to symbol korlibs.memory/Buffer|null\[1]
- [`KT-57427`](https://youtrack.jetbrains.com/issue/KT-57427) Fix inconsistencies in name manglers that use different declaration representations
- [`KT-66258`](https://youtrack.jetbrains.com/issue/KT-66258) K2: accessor-targeted `@Suppress` annotation is ignored on primary constructor property
- [`KT-29559`](https://youtrack.jetbrains.com/issue/KT-29559) Smart Cast functionality doesn't behave in an expected way in all cases
- [`KT-60777`](https://youtrack.jetbrains.com/issue/KT-60777) K2: missing INLINE\_FROM\_HIGHER\_PLATFORM
- [`KT-66260`](https://youtrack.jetbrains.com/issue/KT-66260) K2: false-positive "abstract function in non-abstract class" error on abstract member function of open interface
- [`KT-66067`](https://youtrack.jetbrains.com/issue/KT-66067) K2: different overrides are created in a complex hierarchy with raw types and upper-bounded type parameters
- [`KT-65821`](https://youtrack.jetbrains.com/issue/KT-65821) K2: \[NONE\_APPLICABLE] None of the following functions is applicable: \[constructor(message: String?): Throwable, constructor(cause: Throwable?): Throwable, constructor(): Throwable, ...]
- [`KT-66268`](https://youtrack.jetbrains.com/issue/KT-66268) K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl
- [`KT-63563`](https://youtrack.jetbrains.com/issue/KT-63563) K2: False negative RETURN\_TYPE\_MISMATCH with empty return
- [`KT-60797`](https://youtrack.jetbrains.com/issue/KT-60797) K2: implement JAVA\_MODULE\_DOES\_NOT\_EXPORT\_PACKAGE
- [`KT-28159`](https://youtrack.jetbrains.com/issue/KT-28159) Smartcasts don't work with Nothing? values (Nothing? considered a null constant => an unstable value)
- [`KT-28262`](https://youtrack.jetbrains.com/issue/KT-28262) Smartcasts for reference equality don't work if explicit true check is used
- [`KT-66000`](https://youtrack.jetbrains.com/issue/KT-66000) K2: inherited inline getter has not been inlined
- [`KT-66158`](https://youtrack.jetbrains.com/issue/KT-66158) K2: not nullable return type for upper-bounded kotlin type parameter in KJK hierarchy
- [`KT-57268`](https://youtrack.jetbrains.com/issue/KT-57268) K2: extra methods `remove` and/or `getOrDefault` are generated for Map subclasses with JDK 1.6 in dependencies
- [`KT-63577`](https://youtrack.jetbrains.com/issue/KT-63577) K2: false-positive "wrong number of type arguments" error on callable reference to member of generic function's local class
- [`KT-62352`](https://youtrack.jetbrains.com/issue/KT-62352) jspecify NonNull annotation seems not supported
- [`KT-65636`](https://youtrack.jetbrains.com/issue/KT-65636) PowerAssert: Negative contains operator not aligned correctly in K2
- [`KT-64271`](https://youtrack.jetbrains.com/issue/KT-64271) K2: Wrong overriddenSymbols for toString of data class
- [`KT-62779`](https://youtrack.jetbrains.com/issue/KT-62779) K2: Difference in fake override generation
- [`KT-61941`](https://youtrack.jetbrains.com/issue/KT-61941) K2: FIR2IR incorrectly generates f/o structure for complex java/kotlin hierarchies with remapped jvm declarations
- [`KT-60283`](https://youtrack.jetbrains.com/issue/KT-60283) K2: fake override for java static method is not generated
- [`KT-65095`](https://youtrack.jetbrains.com/issue/KT-65095) K2: no bridge generated for getOrDefault when inheriting from Java Map implementation
- [`KT-57301`](https://youtrack.jetbrains.com/issue/KT-57301) K2: `getOrDefault` and bridges are not generated for certain Map subclasses
- [`KT-50916`](https://youtrack.jetbrains.com/issue/KT-50916) K2: store resolved type inside ConeStubType after builder inference
- [`KT-65857`](https://youtrack.jetbrains.com/issue/KT-65857) K2: java.lang.IllegalArgumentException: Unknown visibility: unknown
- [`KT-66174`](https://youtrack.jetbrains.com/issue/KT-66174) -Xjdk-release 6 and 7 have a misleading error message
- [`KT-66175`](https://youtrack.jetbrains.com/issue/KT-66175) Wrong supported options list for -jvm-target compiler option
- [`KT-58814`](https://youtrack.jetbrains.com/issue/KT-58814) Too eager subtype inference in when expression
- [`KT-65408`](https://youtrack.jetbrains.com/issue/KT-65408) K1: "There are still 2 unbound symbols after generation of IR module" caused by data object's `copy` function usage
- [`KT-65844`](https://youtrack.jetbrains.com/issue/KT-65844) False Positive "This class can only be used as an annotation or as an argument to `@OptIn`" when passing as an array
- [`KT-58697`](https://youtrack.jetbrains.com/issue/KT-58697) K2: Tests: Assert no dump files exist when dump directive isn't present
- [`KT-63258`](https://youtrack.jetbrains.com/issue/KT-63258) NPE with function reference from within lambda during init
- [`KT-60597`](https://youtrack.jetbrains.com/issue/KT-60597) K1: IllegalArgumentException: fromIndex(0) > toIndex(-1) when wrapping receiver with backticks
- [`KT-33108`](https://youtrack.jetbrains.com/issue/KT-33108) USELESS\_CAST false positive for cast inside lambda
- [`KT-58458`](https://youtrack.jetbrains.com/issue/KT-58458) K1: "java.lang.NullPointerException" with 'var equals' or 'val equals' as argument in when
- [`KT-58447`](https://youtrack.jetbrains.com/issue/KT-58447) K1: "AssertionError: Recursion detected on input" with `@ParameterName` and extension
- [`KT-41013`](https://youtrack.jetbrains.com/issue/KT-41013) OVERLOAD\_RESOLUTION\_AMBIGUITY for functions takes lambda: can not resolve it, but only named lambda parameter
- [`KT-56032`](https://youtrack.jetbrains.com/issue/KT-56032) \[LC issue] Incorrect wrapping when passing java vararg method to inline function
- [`KT-65588`](https://youtrack.jetbrains.com/issue/KT-65588) K2: typealias of primitive type in vararg causes ABI incompatibility
- [`KT-23873`](https://youtrack.jetbrains.com/issue/KT-23873) Indexed access operator can cause false USELESS\_CAST warning
- [`KT-31191`](https://youtrack.jetbrains.com/issue/KT-31191) Contract not smartcasting for extension functions in if-statement with multiple conditions
- [`KT-28725`](https://youtrack.jetbrains.com/issue/KT-28725) ReenteringLazyValueComputationException during resolution & inference
- [`KT-35429`](https://youtrack.jetbrains.com/issue/KT-35429) ReenteringLazyValueComputationException when accessing property with same name
- [`KT-63826`](https://youtrack.jetbrains.com/issue/KT-63826) K2: expect for expect crashes the compiler
- [`KT-25668`](https://youtrack.jetbrains.com/issue/KT-25668) False-positive error on restricted suspending function call with callable reference
- [`KT-18055`](https://youtrack.jetbrains.com/issue/KT-18055) SMARTCAST\_IMPOSSIBLE on mutable data class variable with a read-only property
- [`KT-15904`](https://youtrack.jetbrains.com/issue/KT-15904) Improve error message when type of generic extension call is inferred from receiver
- [`KT-66186`](https://youtrack.jetbrains.com/issue/KT-66186) K1 diagnostics miss some reporting messages
- [`KT-65101`](https://youtrack.jetbrains.com/issue/KT-65101) Generics behaving different when parenthesized
- [`KT-63444`](https://youtrack.jetbrains.com/issue/KT-63444) TYPE\_MISMATCH caused by Inner class with nullable type and star projection
- [`KT-62022`](https://youtrack.jetbrains.com/issue/KT-62022) K1 False positive EXPOSED\_FUNCTION\_RETURN\_TYPE on generics with anonymous object types
- [`KT-58751`](https://youtrack.jetbrains.com/issue/KT-58751) Definitely non-nullable type gets lost with star projection
- [`KT-56624`](https://youtrack.jetbrains.com/issue/KT-56624) "Unresolved reference" with import alias and enum constructor call
- [`KT-54726`](https://youtrack.jetbrains.com/issue/KT-54726) K1: StackOverflowError on mutually recursive typealiases
- [`KT-35134`](https://youtrack.jetbrains.com/issue/KT-35134) False negative INCOMPATIBLE\_TYPES, EQUALITY\_NOT\_APPLICABLE when comparing smartcast value to Boolean
- [`KT-20617`](https://youtrack.jetbrains.com/issue/KT-20617) Qualified this`@property` does not work in extension properties with body expression
- [`KT-10879`](https://youtrack.jetbrains.com/issue/KT-10879) OVERLOAD\_RESOLUTION\_AMBIGUITY for synthetic property accessor with smartcasted receiver
- [`KT-26768`](https://youtrack.jetbrains.com/issue/KT-26768) K1 IDE: False positive "Smart cast to '$CLASS$' is impossible", on local variable in run closure
- [`KT-63525`](https://youtrack.jetbrains.com/issue/KT-63525) K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by unreachable code
- [`KT-65333`](https://youtrack.jetbrains.com/issue/KT-65333) K2: UNRESOLVED\_REFERENCE for java inner class in intersection scope
- [`KT-61060`](https://youtrack.jetbrains.com/issue/KT-61060) K2: Rewrite delegate inference
- [`KT-63712`](https://youtrack.jetbrains.com/issue/KT-63712) Make it possible to add new stdlib API with SinceKotlin(2.0)
- [`KT-63741`](https://youtrack.jetbrains.com/issue/KT-63741) K2: fix visibility inference with overridden + inherited member
- [`KT-64488`](https://youtrack.jetbrains.com/issue/KT-64488) K2: False positive DEPRECATED\_ACCESS\_TO\_ENTRY\_PROPERTY\_FROM\_ENUM with context receivers
- [`KT-62283`](https://youtrack.jetbrains.com/issue/KT-62283) K2: build Dokka with K2 user project and pass it to CI
- [`KT-57585`](https://youtrack.jetbrains.com/issue/KT-57585) K2/MPP: false-negative errors on expect/actual modifiers mismatch
- [`KT-66077`](https://youtrack.jetbrains.com/issue/KT-66077) IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKinds
- [`KT-57044`](https://youtrack.jetbrains.com/issue/KT-57044) K2 LL Tests: false-positive 'Overload resolution ambiguity between candidates: \[`@Override`() fun test(): Unit , fun test(): Unit]'
- [`KT-66020`](https://youtrack.jetbrains.com/issue/KT-66020) K2: ISE "IrPropertySymbolImpl is unbound. Signature: null" on a property with getter with `@JvmName`
- [`KT-62135`](https://youtrack.jetbrains.com/issue/KT-62135) K2, KLIB: Classes are still sorted before serializing them to metadata
- [`KT-65866`](https://youtrack.jetbrains.com/issue/KT-65866) \[K/N] Fix java.lang.IllegalArgumentException: Unknown visibility: unknown
- [`KT-66005`](https://youtrack.jetbrains.com/issue/KT-66005) K2: "Should not be here: class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedReifiedParameterReferenceImpl" on incorrect comparison of reified type parameter
- [`KT-65840`](https://youtrack.jetbrains.com/issue/KT-65840) \[K2] Initializer type mismatch: expected 'Type', actual 'Type'
- [`KT-65002`](https://youtrack.jetbrains.com/issue/KT-65002) K2: Incorrect suspend conversion if argument is an aliased functional type
- [`KT-65984`](https://youtrack.jetbrains.com/issue/KT-65984) K2 scripting: failure on processing SUPPRESS annotation in the last script statement
- [`KT-65680`](https://youtrack.jetbrains.com/issue/KT-65680) K2: Class redeclaration leads to BackendException during IR fake override builder
- [`KT-66028`](https://youtrack.jetbrains.com/issue/KT-66028) K2: Convert FirExpectActualDeclarationChecker to platform checker
- [`KT-65592`](https://youtrack.jetbrains.com/issue/KT-65592) K2: IrFakeOverrideBuilder: ISE "should not be called" on diamond hierarchy with explicit dependency on annotations.jar
- [`KT-65277`](https://youtrack.jetbrains.com/issue/KT-65277) IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKinds
- [`KT-65983`](https://youtrack.jetbrains.com/issue/KT-65983) K2 gradle scripting: "'val' cannot be reassigned" errors
- [`KT-60452`](https://youtrack.jetbrains.com/issue/KT-60452) K2 Scripting: implement overriding of the script params
- [`KT-65975`](https://youtrack.jetbrains.com/issue/KT-65975) K2: Implicit receivers resolution order in K2 scripting
- [`KT-60249`](https://youtrack.jetbrains.com/issue/KT-60249) K2: No unit coercion generated for loops body
- [`KT-65937`](https://youtrack.jetbrains.com/issue/KT-65937) K2: order of enum entries changed
- [`KT-65933`](https://youtrack.jetbrains.com/issue/KT-65933) K2: Type missmatch in arrays in annotations
- [`KT-65343`](https://youtrack.jetbrains.com/issue/KT-65343) JVM IR: Source parameter is lost when copying with DeepCopyIrTreeWithSymbols
- [`KT-65103`](https://youtrack.jetbrains.com/issue/KT-65103) K2: IllegalArgumentException: IrErrorCallExpressionImpl(5388, 5392, "Unresolved reference: R?C|<local>/cont|") found but error code is not allowed
- [`KT-62788`](https://youtrack.jetbrains.com/issue/KT-62788) K2: difference in annotation inheritance in overriddings
- [`KT-65669`](https://youtrack.jetbrains.com/issue/KT-65669) K2: ClassCastException class FirDeclarationStatusImpl cannot be cast to class FirResolvedDeclarationStatus
- [`KT-65493`](https://youtrack.jetbrains.com/issue/KT-65493) IrFakeOverrideBuilder: difference in return type for intersection with raw type
- [`KT-65207`](https://youtrack.jetbrains.com/issue/KT-65207) IrFakeOverrideBuilder - nullable return type for intersection override
- [`KT-65972`](https://youtrack.jetbrains.com/issue/KT-65972) Fix problems related to Unknown visibility in \[FP] intellij
- [`KT-65246`](https://youtrack.jetbrains.com/issue/KT-65246) K2: Overiding java method that takes vararg parameter causes WRONG\_NULLABILITY\_FOR\_JAVA\_OVERRIDE warning
- [`KT-59883`](https://youtrack.jetbrains.com/issue/KT-59883) K2: Disappeared INVALID\_IF\_AS\_EXPRESSION
- [`KT-57300`](https://youtrack.jetbrains.com/issue/KT-57300) K2: subclass of MutableCollection with primitive element type has methods with boxed type
- [`KT-58476`](https://youtrack.jetbrains.com/issue/KT-58476) Context receivers: "No mapping for symbol: VALUE\_PARAMETER" with context-receiver inside suspended lambda calling another suspended function
- [`KT-52213`](https://youtrack.jetbrains.com/issue/KT-52213) Context receivers: "No mapping for symbol: VALUE\_PARAMETER" caused by contextual suspending function type with receiver
- [`KT-56545`](https://youtrack.jetbrains.com/issue/KT-56545) Fix incorrect functions mangling in JVM backend in case of accidental clashing overload in a Java subclass
- [`KT-13650`](https://youtrack.jetbrains.com/issue/KT-13650) Right-hand side of a safe assignment is not always evaluated, which can fool smart-casts
- [`KT-61823`](https://youtrack.jetbrains.com/issue/KT-61823) K2: Render list of declarations in diagnostic messages with linebreak as separator
- [`KT-65302`](https://youtrack.jetbrains.com/issue/KT-65302) IrFakeOverrideBuilder - missing `@EnhancedNullability`
- [`KT-65241`](https://youtrack.jetbrains.com/issue/KT-65241) K2: \[LT] Compiler crash on assignment expression with incorrect lvalue
- [`KT-60006`](https://youtrack.jetbrains.com/issue/KT-60006) K2: Disappeared EXPRESSION\_EXPECTED
- [`KT-65817`](https://youtrack.jetbrains.com/issue/KT-65817) K2: Check if callable reference vararg adaption can be affected by primitive type aliases
- [`KT-62847`](https://youtrack.jetbrains.com/issue/KT-62847) K2: Introduce FIR node for SAM conversion
- [`KT-65920`](https://youtrack.jetbrains.com/issue/KT-65920) K2: no field for delegation is created
- [`KT-65487`](https://youtrack.jetbrains.com/issue/KT-65487) K2: Different fake overrides and false positive NOTHING\_TO\_OVERRIDE for intersection/override with Collection.remove
- [`KT-65460`](https://youtrack.jetbrains.com/issue/KT-65460) Don't compare order of functions in IR dump
- [`KT-64276`](https://youtrack.jetbrains.com/issue/KT-64276) \[K/N]\[K2] K2 behaviorial difference with inconsistent inheritance of ObjCName
- [`KT-65572`](https://youtrack.jetbrains.com/issue/KT-65572) \[K/N]\[K2] INCOMPATIBLE\_OBJC\_NAME\_OVERRIDE error message changed from K1
- [`KT-63420`](https://youtrack.jetbrains.com/issue/KT-63420) Prevent weakening visibility in implicit overrides
- [`KT-64635`](https://youtrack.jetbrains.com/issue/KT-64635) K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirAnonymousFunctionExpressionImpl' to be resolved" when provideDelegate is extension of function with receiver
- [`KT-63879`](https://youtrack.jetbrains.com/issue/KT-63879) K2: Redundant flag `declaresDefaultValue` for parameter of function inherited from delegate
- [`KT-56744`](https://youtrack.jetbrains.com/issue/KT-56744) Prepare language committee ticket about DFA/Smart-cast related changes in K2
- [`KT-65790`](https://youtrack.jetbrains.com/issue/KT-65790) K2: Move check for *private-to-this* visibility into checker
- [`KT-65551`](https://youtrack.jetbrains.com/issue/KT-65551) K2: Property redeclaration on native compilation leads to NotImplementedError
- [`KT-65770`](https://youtrack.jetbrains.com/issue/KT-65770) K2: Diagnostic rendering of `vararg Foo` parameter produces `vararg Array<Foo>`
- [`KT-65555`](https://youtrack.jetbrains.com/issue/KT-65555) K2: must override 'spliterator' because it inherits multiple implementations for it
- [`KT-59921`](https://youtrack.jetbrains.com/issue/KT-59921) K2: Disappeared NULL\_FOR\_NONNULL\_TYPE
- [`KT-65290`](https://youtrack.jetbrains.com/issue/KT-65290) K2: No override for FUN DEFAULT\_PROPERTY\_ACCESSOR
- [`KT-19446`](https://youtrack.jetbrains.com/issue/KT-19446) False positive "Smart cast to 'Foo' is impossible" due to same variable names in different closures
- [`KT-65337`](https://youtrack.jetbrains.com/issue/KT-65337) K2: False positive UNRESOLVED\_REFERENCE when lambda labeled by illegal label and operator-invoked
- [`KT-65448`](https://youtrack.jetbrains.com/issue/KT-65448) K2: fake overrides are not generated for 'containsAll', 'removeAll', 'retainAll' if inherited from raw type
- [`KT-65298`](https://youtrack.jetbrains.com/issue/KT-65298) K2: not nullable return type and parameter for raw types
- [`KT-63377`](https://youtrack.jetbrains.com/issue/KT-63377) K2: conflict between type parameter and nested class
- [`KT-63286`](https://youtrack.jetbrains.com/issue/KT-63286) K2: Top-level properties in scripts are missing initialization checks
- [`KT-59744`](https://youtrack.jetbrains.com/issue/KT-59744) K2: false negative VAL\_REASSIGNMENT in case of reassignment inside custom setter
- [`KT-58579`](https://youtrack.jetbrains.com/issue/KT-58579) K2: false-positive new inference error on invoking a generic function on Java wildcard type bounded by raw-typed Java inner class
- [`KT-60258`](https://youtrack.jetbrains.com/issue/KT-60258) Support java-kotlin interop for `@SubclassOptInRequired`
- [`KT-60262`](https://youtrack.jetbrains.com/issue/KT-60262) Support for inter-module interaction for `@SubclassOptInRequired`
- [`KT-62878`](https://youtrack.jetbrains.com/issue/KT-62878) K2: missing implicit coercion to unit
- [`KT-59715`](https://youtrack.jetbrains.com/issue/KT-59715) K2: Check behaviour of property + operator in operator position
- [`KT-63441`](https://youtrack.jetbrains.com/issue/KT-63441) IrFakeOverrideBuilder: "accidental override" when implementing a Java function taking an array parameter
- [`KT-65706`](https://youtrack.jetbrains.com/issue/KT-65706) K2: IrFakeOverrideBuilder: ISE "Fake override should have at least one overridden descriptor" on J-K-J-K hierarchy with interface delegation
- [`KT-61362`](https://youtrack.jetbrains.com/issue/KT-61362) K2: Properties/fields are missing from system libraries
- [`KT-63344`](https://youtrack.jetbrains.com/issue/KT-63344) K2: False positive ABSTRACT\_CLASS\_MEMBER\_NOT\_IMPLEMENTED
- [`KT-58845`](https://youtrack.jetbrains.com/issue/KT-58845) K2: SAM checker can run incorrectly in presence of an expect supertype
- [`KT-61843`](https://youtrack.jetbrains.com/issue/KT-61843) K2: Missing TYPE\_MISMATCH for nested array literals
- [`KT-62752`](https://youtrack.jetbrains.com/issue/KT-62752) expect-actual matcher/checker: return type must be "checking" incompatibility
- [`KT-59887`](https://youtrack.jetbrains.com/issue/KT-59887) K2: Disappeared ACTUAL\_MISSING
- [`KT-65604`](https://youtrack.jetbrains.com/issue/KT-65604) K2: INAPPLICABLE\_JVM\_NAME: effective modality
- [`KT-65637`](https://youtrack.jetbrains.com/issue/KT-65637) Prepare documentation for PCLA implementation
- [`KT-65341`](https://youtrack.jetbrains.com/issue/KT-65341) K2: "Cannot find cached type parameter by FIR symbol" caused by not-null assertion operator inside string in throw
- [`KT-49283`](https://youtrack.jetbrains.com/issue/KT-49283) Support contribution type info from a nested builder inference call
- [`KT-64077`](https://youtrack.jetbrains.com/issue/KT-64077) K2: Builder inference ignores constraints from nested builder inference
- [`KT-49160`](https://youtrack.jetbrains.com/issue/KT-49160) Couldn't infer a type argument through several builder inference calls broken by a local class
- [`KT-63827`](https://youtrack.jetbrains.com/issue/KT-63827) K2: Array += desugaring doesn't have origin
- [`KT-65057`](https://youtrack.jetbrains.com/issue/KT-65057) K2: Wrong type inferred in code with heavy use of generics
- [`KT-63514`](https://youtrack.jetbrains.com/issue/KT-63514) ISE “Inline class types should have the same representation: \[I != I” during compilation on submitting UIntArray to vararg
- [`KT-61088`](https://youtrack.jetbrains.com/issue/KT-61088) K2: return types of non-last-expression calls to `@PolymorphicSignature` methods inside try-expressions don't resolve to void when required
- [`KT-62476`](https://youtrack.jetbrains.com/issue/KT-62476) K2: Enable building fake overrides by ir on non-JVM targets
- [`KT-59839`](https://youtrack.jetbrains.com/issue/KT-59839) Prohibit `header` and `impl` in MPP
- [`KT-61310`](https://youtrack.jetbrains.com/issue/KT-61310) K2: "Not enough information to infer type variable R" for transformLatest
- [`KT-63733`](https://youtrack.jetbrains.com/issue/KT-63733) Builder-style type inference can't resolve to extension overloads when they're more applicable than member ones
- [`KT-57707`](https://youtrack.jetbrains.com/issue/KT-57707) K1: inconsistent TYPE\_MISMATCH in builder inference
- [`KT-55057`](https://youtrack.jetbrains.com/issue/KT-55057) Builder inference changes behaviour sporadically based on BI annotation on unrelated call
- [`KT-60663`](https://youtrack.jetbrains.com/issue/KT-60663) Builder inference does not work inside a nested unrelated builder inference lambda
- [`KT-53639`](https://youtrack.jetbrains.com/issue/KT-53639) TYPE\_MISMATCH: compiler can't infer the list's type when using `buildList {}` builder or `Collection#isNotEmpty`
- [`KT-60291`](https://youtrack.jetbrains.com/issue/KT-60291) K2: "IllegalStateException: Cannot serialize error type: ERROR CLASS: Cannot infer argument for type parameter T" during FIR serialization
- [`KT-65033`](https://youtrack.jetbrains.com/issue/KT-65033) K2: Fir2LazyIr: Lazy type aliases not supported
- [`KT-57709`](https://youtrack.jetbrains.com/issue/KT-57709) Inconsistent extension function call resolution in builder inference
- [`KT-53740`](https://youtrack.jetbrains.com/issue/KT-53740) Builder inference with multiple lambdas leads to unsound type
- [`KT-60877`](https://youtrack.jetbrains.com/issue/KT-60877) Builder inference from the null literal results in Nothing instead of Nothing? for producing positions of the postponed type variable
- [`KT-53553`](https://youtrack.jetbrains.com/issue/KT-53553) Builder inference: inconsistent types in different lambda scopes
- [`KT-54400`](https://youtrack.jetbrains.com/issue/KT-54400) K2: builder inference does not work with assignments of literals to member properties
- [`KT-63840`](https://youtrack.jetbrains.com/issue/KT-63840) Builder inference fails on calls to identity-shaped functions with postponed type variables inside select-constructions
- [`KT-65262`](https://youtrack.jetbrains.com/issue/KT-65262) K2: Exception in DFA for combination of try-finally + PCLA + DI
- [`KT-58169`](https://youtrack.jetbrains.com/issue/KT-58169) K2: make equals bounded smart casts work the same as in K1
- [`KT-64967`](https://youtrack.jetbrains.com/issue/KT-64967) K2: false positive TYPE\_MISMATCH with generic type parameters
- [`KT-64102`](https://youtrack.jetbrains.com/issue/KT-64102) K2: Missing (disappeared in this case) DELEGATE\_USES\_EXTENSION\_PROPERTY\_TYPE\_PARAMETER\_ERROR
- [`KT-63988`](https://youtrack.jetbrains.com/issue/KT-63988) K2: Reflection cannot find type of local class of local class
- [`KT-63901`](https://youtrack.jetbrains.com/issue/KT-63901) K2: Different naming of inner class in metadata
- [`KT-63655`](https://youtrack.jetbrains.com/issue/KT-63655) K2: incorrect short class name in metadata for anonymous object inside a local class
- [`KT-59664`](https://youtrack.jetbrains.com/issue/KT-59664) Inline modifier can be added to a constructor parameter, but it does not have any effect
- [`KT-59418`](https://youtrack.jetbrains.com/issue/KT-59418) K2: Missing DUPLICATE\_PARAMETER\_NAME\_IN\_FUNCTION\_TYPE
- [`KT-63612`](https://youtrack.jetbrains.com/issue/KT-63612) K2: Class is not abstract and does not implement abstract member
- [`KT-63737`](https://youtrack.jetbrains.com/issue/KT-63737) Wasm: revise external declaration FE checker for WASI mode
- [`KT-59782`](https://youtrack.jetbrains.com/issue/KT-59782) K2: Forbid local delegated properties with private accessors in public inline functions
- [`KT-65482`](https://youtrack.jetbrains.com/issue/KT-65482) K2: NoSuchFieldError due to using unboxed type
- [`KT-61182`](https://youtrack.jetbrains.com/issue/KT-61182) Unit conversion is accidentally allowed to be used for expressions on variables + invoke resolution
- [`KT-62998`](https://youtrack.jetbrains.com/issue/KT-62998) Forbid assignment of a nullable to a not-null Java field as a selector of unsafe assignment
- [`KT-63208`](https://youtrack.jetbrains.com/issue/KT-63208) K2: Implement deprecation cycle and fix missing errors for error-level nullable arguments of warning-level Java types
- [`KT-57600`](https://youtrack.jetbrains.com/issue/KT-57600) Forbid overriding of Java method with raw-typed parameter with generic typed parameter
- [`KT-63147`](https://youtrack.jetbrains.com/issue/KT-63147) K2: False negative DSL\_SCOPE\_VIOLATION when member is annotated with `@LowPriorityInOverloadResolution`
- [`KT-62134`](https://youtrack.jetbrains.com/issue/KT-62134) K2: handle non-simple types during FirStatusResolver.isPrivateToThis check
- [`KT-42020`](https://youtrack.jetbrains.com/issue/KT-42020) Psi2ir: IllegalStateException: "IrSimpleFunctionPublicSymbolImpl for public \[...] is already bound" on generic function whose substitution leads to IdSignature clash
##### See the full 2.0.0 ChangeLog here - <https://github.com/JetBrains/kotlin/blob/2.0.0/ChangeLog.md>
### [`v1.9.25`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.25): Kotlin 1.9.25
##### ***Note:** This is a technical release for IntelliJ IDEA.*
#### Changelog
##### Tools. JPS
- [`KT-69204`](https://youtrack.jetbrains.com/issue/KT-69204) Generate lookups in dumb mode for compatibility with ref index
### [`v1.9.24`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.24): 1.9.24
#### Changelog
##### Backend. Wasm
- [`KT-64890`](https://youtrack.jetbrains.com/issue/KT-64890) K/Wasm compiler crash with external class and Kodein
##### Compiler
- [`KT-65235`](https://youtrack.jetbrains.com/issue/KT-65235) JDK 21 might lead to change in overloads resolution
- [`KT-66768`](https://youtrack.jetbrains.com/issue/KT-66768) K1: False positive UNRESOLVED\_REFERENCE in super.getFirst/getLast call
##### Native
- [`KT-67218`](https://youtrack.jetbrains.com/issue/KT-67218) Native: nested classes in kx.serialization ProtoBuf produce empty array for release binary
##### Tools. Gradle
- [`KT-67139`](https://youtrack.jetbrains.com/issue/KT-67139) Build reports can be overridden
- [`KT-67138`](https://youtrack.jetbrains.com/issue/KT-67138) Json report is empty for incremental compilation
##### Tools. Gradle. Multiplatform
- [`KT-67127`](https://youtrack.jetbrains.com/issue/KT-67127) KMP: IDE Dependency Resolver for CInterops reports errors on linux and windows machines
- [`KT-66514`](https://youtrack.jetbrains.com/issue/KT-66514) Don't get output file from Cinterop task for IDE Import if host os doesn't support it
##### Tools. JPS
- [`KT-65043`](https://youtrack.jetbrains.com/issue/KT-65043) JPS dumb mode should respect maps needed for the compiler
##### Tools. Wasm
- [`KT-67785`](https://youtrack.jetbrains.com/issue/KT-67785) Kotlin/Wasm: Node.JS 22 does not need experimental-wasm-gc flag anymore
- [`KT-65864`](https://youtrack.jetbrains.com/issue/KT-65864) K/Wasm: update Node.js to 22.x
### [`v1.9.23`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.23): Kotlin 1.9.23
#### 1.9.23
##### Apple Ecosystem
- [`KT-65542`](https://youtrack.jetbrains.com/issue/KT-65542) Cinterop tasks fails if Xcode 15.3 is used
##### Backend. Wasm
- [`KT-64486`](https://youtrack.jetbrains.com/issue/KT-64486) Kotlin/Wasm/WASI exported function callback for coroutines support
##### Compiler
- [`KT-53478`](https://youtrack.jetbrains.com/issue/KT-53478) Could not load module <Error module>
- [`KT-66044`](https://youtrack.jetbrains.com/issue/KT-66044) JDK's new API is used over Kotlin's SDK functions
- [`KT-64640`](https://youtrack.jetbrains.com/issue/KT-64640) Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collections
- [`KT-65441`](https://youtrack.jetbrains.com/issue/KT-65441) K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfaces
- [`KT-65634`](https://youtrack.jetbrains.com/issue/KT-65634) K/N: data race during monolithic cache creation
- [`KT-53109`](https://youtrack.jetbrains.com/issue/KT-53109) CompilationErrorException generateUnboundSymbolsAsDependencies with builder inference and lambdas
- [`KT-52757`](https://youtrack.jetbrains.com/issue/KT-52757) Type inference for builders fails if inferred from a function
##### Tools. Gradle
- [`KT-65792`](https://youtrack.jetbrains.com/issue/KT-65792) Add JSON build report
- [`KT-65091`](https://youtrack.jetbrains.com/issue/KT-65091) Update compiler metrics in build reports
- [`KT-62490`](https://youtrack.jetbrains.com/issue/KT-62490) KGP dropping resource directories
##### Tools. Gradle. JS
- [`KT-64119`](https://youtrack.jetbrains.com/issue/KT-64119) K/JS: Migrate package manager from Yarn onto NPM
- [`KT-64561`](https://youtrack.jetbrains.com/issue/KT-64561) K/JS tests are not executed after upgrade to 1.9.22
##### Tools. Gradle. Multiplatform
- [`KT-65954`](https://youtrack.jetbrains.com/issue/KT-65954) commonTest dependencies affect commoMainMetadata compilation
##### Tools. Gradle. Native
- [`KT-64573`](https://youtrack.jetbrains.com/issue/KT-64573) Default value for `produceUnpackedKlib` was not provided
### [`v1.9.22`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.22): Kotlin 1.9.22
#### Changelog
##### JavaScript
- [`KT-63719`](https://youtrack.jetbrains.com/issue/KT-63719) KJS: Test results ignored for ES module kind
- [`KT-63808`](https://youtrack.jetbrains.com/issue/KT-63808) compileTestDevelopmentExecutableKotlinJs failed in JsIntrinsicTransformers
##### Native
- [`KT-64139`](https://youtrack.jetbrains.com/issue/KT-64139) Weird bug with while and coroutine in Kotlin Native
- [`KT-63471`](https://youtrack.jetbrains.com/issue/KT-63471) linkDebugTestIosX64 Failed to build cache: NoSuchFileException bitcode\_deps
- [`KT-63789`](https://youtrack.jetbrains.com/issue/KT-63789) Native: Incremental compilation problem with compose
##### Tools. CLI
- [`KT-64485`](https://youtrack.jetbrains.com/issue/KT-64485) CLI: cache and optimize parsing of command-line arguments
##### Tools. Gradle
- [`KT-63990`](https://youtrack.jetbrains.com/issue/KT-63990) "Cannot query the value of property 'buildFlowServiceProperty' because it has no value available" with Isolated Projects
##### Tools. Gradle. Native
- [`KT-63363`](https://youtrack.jetbrains.com/issue/KT-63363) Kotlin Gradle Plugin: `KotlinNativeHostSpecificMetadataArtifact` breaks configuration cache, implicitly includes output file as configuration cache input
- [`KT-63742`](https://youtrack.jetbrains.com/issue/KT-63742) Gradle wrongly caches Kotlin/Native compiler flags
##### Tools. JPS
- [`KT-64305`](https://youtrack.jetbrains.com/issue/KT-64305) Kotlin JPS builder requests chunk rebuild with graph implementation
- [`KT-64112`](https://youtrack.jetbrains.com/issue/KT-64112) Avoid using IJ's JPS mappings in Kotlin JPS tests
- [`KT-63799`](https://youtrack.jetbrains.com/issue/KT-63799) Make plugin classpath serialization path agnostic
#### Checksums
| File | Sha256 |
| ----------------------------------------- | ---------------------------------------------------------------- |
| kotlin-compiler-1.9.22.zip | 88b39213506532c816ff56348c07bbeefe0c8d18943bffbad11063cf97cac3e6 |
| kotlin-native-linux-x86\_64-1.9.22.tar.gz | c2b0a6481ced5401db4a7028661c039b7466996efaa554bbcc6a3d421ac5e7d4 |
| kotlin-native-macos-x86\_64-1.9.22.tar.gz | 4646c9bc289d48a228064f565f3a968dde3dcccd7821f403717c708f6ffa8285 |
| kotlin-native-macos-aarch64-1.9.22.tar.gz | 8a95c0e0eb46b41b6d02a1942dc7dfe8c70082a2a26679490a77cd486f0ec8dd |
| kotlin-native-windows-x86\_64-1.9.22.zip | a9d7bcf38a41a84002ba7a733b08e97b554225a39656d5158fc31dc6d0acede4 |
### [`v1.9.21`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.21): Kotlin 1.9.21
#### Changelog
##### Compiler
- [`KT-62885`](https://youtrack.jetbrains.com/issue/KT-62885) Introduce a language feature entry for expect actual classes for easier configuration of MPP projects
- [`KT-63081`](https://youtrack.jetbrains.com/issue/KT-63081) Optimize new native caches: CachedLibraries.computeVersionedCacheDirectory()
##### Docs & Examples
- [`KT-55619`](https://youtrack.jetbrains.com/issue/KT-55619) Document `String.format` function
##### IDE. Gradle Integration
- [`KT-62877`](https://youtrack.jetbrains.com/issue/KT-62877) Artifact files collecting for project configuration was finished. Resolution for configuration configuration X will be skipped
##### IDE. Gradle. Script
- [`KT-60813`](https://youtrack.jetbrains.com/issue/KT-60813) Scripts: NoSuchMethodError: 'void org.slf4j.Logger.error(java.lang.String, java.lang.Object)' when dependency uses Slf4j API
##### JavaScript
- [`KT-60785`](https://youtrack.jetbrains.com/issue/KT-60785) KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type error
- [`KT-63207`](https://youtrack.jetbrains.com/issue/KT-63207) KMP / JS: "TypeError: \<mangled\_name> is not a function" with 1.9.20
- [`KT-62778`](https://youtrack.jetbrains.com/issue/KT-62778) package.json "main" field has .js extension when the result files have .mjs extension
- [`KT-61795`](https://youtrack.jetbrains.com/issue/KT-61795) KJS: Incremental Cache is not invalidated if `useEsClasses` compiler argument was changed
- [`KT-61957`](https://youtrack.jetbrains.com/issue/KT-61957) KJS: "Uncaught ReferenceError: entries is not defined" caused by enum class with `@JsExport` and Enum.entries call
- [`KT-62444`](https://youtrack.jetbrains.com/issue/KT-62444) KJS with commonJS modules should re-export in 1.9.20
- [`KT-63184`](https://youtrack.jetbrains.com/issue/KT-63184) KJS / Serialization: JsExport on serializable interface creates erroneous TypeScript
- [`KT-62190`](https://youtrack.jetbrains.com/issue/KT-62190) KJS: "IllegalStateException: Expect to have either super call or partial linkage stub inside constructor" caused by Compose and useEsModules()
- [`KT-58685`](https://youtrack.jetbrains.com/issue/KT-58685) KJS: "IllegalStateException: Not locked" cused by "unlock" called twice
##### Klibs
- [`KT-62515`](https://youtrack.jetbrains.com/issue/KT-62515) Interop klib of concurrent version is not accepted when building dependent project: "The library versions don't match"
##### Tools. CLI
- [`KT-63139`](https://youtrack.jetbrains.com/issue/KT-63139) Incorrect kotlin implementation version (1.9.255-SNAPSHOT) in metadata info
##### Tools. Gradle
- [`KT-63499`](https://youtrack.jetbrains.com/issue/KT-63499) Gradle: Source sets conventions are still registered
##### Tools. Gradle. JS
- [`KT-59523`](https://youtrack.jetbrains.com/issue/KT-59523) MPP / KJS: ESM modules uses incorrect file extension on package.json (.mjs)
##### Tools. Gradle. Kapt
- [`KT-63366`](https://youtrack.jetbrains.com/issue/KT-63366) Kapt processing fails with custom source sets
##### Tools. Gradle. Multiplatform
- [`KT-32608`](https://youtrack.jetbrains.com/issue/KT-32608) Create JUnit-XML result file in multiplatform gradle build
- [`KT-63315`](https://youtrack.jetbrains.com/issue/KT-63315) Wasm gradle plugin DSL is invalid for parameterless wasmWasi method
- [`KT-63338`](https://youtrack.jetbrains.com/issue/KT-63338) \[KMP] metadata task fails to find cinterop classes from dependency projects
- [`KT-63044`](https://youtrack.jetbrains.com/issue/KT-63044) KGP: Multiplatform - 8.4 configuration cache support
- [`KT-63011`](https://youtrack.jetbrains.com/issue/KT-63011) Apple Framework Artifacts is not connected to KotlinNativeTask
- [`KT-62601`](https://youtrack.jetbrains.com/issue/KT-62601) AS/IntelliJ exception after updating a KMP project with a macos target to Kotlin 1.9.20-RC
##### Tools. Incremental Compile
- [`KT-61590`](https://youtrack.jetbrains.com/issue/KT-61590) K2/KMP: Expect actual matching is breaking on the incremental compilation
##### Tools. JPS
- [`KT-63594`](https://youtrack.jetbrains.com/issue/KT-63594) ClassCastException in JPS statistics
- [`KT-63651`](https://youtrack.jetbrains.com/issue/KT-63651) Fix NPE in Kotlin JPS after enabling graph implementation of JPS
##### Tools. Kapt
- [`KT-57389`](https://youtrack.jetbrains.com/issue/KT-57389) KAPT3 uses a Javac API for JCImport which will break in JDK 21
- [`KT-60507`](https://youtrack.jetbrains.com/issue/KT-60507) Kapt: "IllegalAccessError: superclass access check failed" using java 21 toolchain
##### Tools. Scripts
- [`KT-54819`](https://youtrack.jetbrains.com/issue/KT-54819) Scripts: Not able to use slf4j in .main.kts
- [`KT-61727`](https://youtrack.jetbrains.com/issue/KT-61727) Scripts: Maven artifacts resolution is slow
#### Checksums
| File | Sha256 |
| ----------------------------------------- | ---------------------------------------------------------------- |
| kotlin-compiler-1.9.21.zip | cf17e0272bc065d49e64a86953b73af06065370629f090d5b7c2fe353ccf9c1a |
| kotlin-native-linux-x86\_64-1.9.21.tar.gz | 965564bb599a95283307be31947386b61f0de79514e894b1f20f4fe728eee7cc |
| kotlin-native-macos-x86\_64-1.9.21.tar.gz | 8f47cf1871bf0dfcacfc04e68ee71f2333a8a711ca25fd7a29e852eafe8da76e |
| kotlin-native-macos-aarch64-1.9.21.tar.gz | b3c45aa0a5aa08419bd79b06cb5bdeed32b30141a6a976b67ca91bb0959e28b7 |
| kotlin-native-windows-x86\_64-1.9.21.zip | e917e67d5dfeb4683a413b932f080adef08ba48d8ede61fbb040f9c3481f7b3a |
### [`v1.9.20`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.20): Kotlin 1.9.20
#### 1.9.20
##### Analysis. API
##### New Features
- [`KT-58834`](https://youtrack.jetbrains.com/issue/KT-58834) Analysis API: Add source shadowing feature to resolve extensions
##### Performance Improvements
- [`KT-57515`](https://youtrack.jetbrains.com/issue/KT-57515) LL FIR: Performance bottleneck in `CompositeModificationTracker.getModificationCount`
- [`KT-59266`](https://youtrack.jetbrains.com/issue/KT-59266) K2: optimize FirElementBuilder.getOrBuildFir for elements outside body
- [`KT-59454`](https://youtrack.jetbrains.com/issue/KT-59454) K2: drop resolve from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
- [`KT-59453`](https://youtrack.jetbrains.com/issue/KT-59453) K2: completion regression from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
- [`KT-59189`](https://youtrack.jetbrains.com/issue/KT-59189) Analysis API: KtFirKDocReference.resolveToSymbols is slow
- [`KT-58125`](https://youtrack.jetbrains.com/issue/KT-58125) K2: LL FIR: `KtToFirMapping.getElement` is slow for `KtUserType`s due to on-air resolution of types
##### Fixes
- [`KT-59240`](https://youtrack.jetbrains.com/issue/KT-59240) K2: FirLazyResolveContractViolationException: `lazyResolveToPhase(IMPORTS)` cannot be called from a transformer with a phase IMPORTS from superTypes
- [`KT-58499`](https://youtrack.jetbrains.com/issue/KT-58499) K2: FirLazyBlock should be calculated before accessing
- [`KT-57966`](https://youtrack.jetbrains.com/issue/KT-57966) K2: Analysis API: Reference Shortener does not work correctly when called on entire file
- [`KT-60954`](https://youtrack.jetbrains.com/issue/KT-60954) K2: Analysis API: Reference shortener does not work correctly with variable assignments
- [`KT-60940`](https://youtrack.jetbrains.com/issue/KT-60940) K2: Analysis API: Reference shortener incorrectly handles types in vararg parameters declarations
- [`KT-60488`](https://youtrack.jetbrains.com/issue/KT-60488) Analysis API: forbid providing custom KtLifetimeToken for every analyze call
- [`KT-60728`](https://youtrack.jetbrains.com/issue/KT-60728) K2: proper support for scripts in LL FIR transformers
- [`KT-59159`](https://youtrack.jetbrains.com/issue/KT-59159) K2 IDE: declaration is not found exception
- [`KT-59297`](https://youtrack.jetbrains.com/issue/KT-59297) K2: exception from body resolve leads to corrupted state and broken analysis
- [`KT-59077`](https://youtrack.jetbrains.com/issue/KT-59077) KtFirExpressionTypeProvider behaviour for KtSimpleNameReferences in function calls
- [`KT-60586`](https://youtrack.jetbrains.com/issue/KT-60586) K2: forbid analyze from write action
- [`KT-57743`](https://youtrack.jetbrains.com/issue/KT-57743) K2 IDE: StackOverflowError from LLFirSessionCache for simple JPS project with cyclic dependencies
- [`KT-61026`](https://youtrack.jetbrains.com/issue/KT-61026) K2 Scripts: FirLazyExpression should be calculated before accessing from on-air resolve
- [`KT-61009`](https://youtrack.jetbrains.com/issue/KT-61009) K2 Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource <implicit>
- [`KT-60357`](https://youtrack.jetbrains.com/issue/KT-60357) K2 IDE. Reified types parameters are not resolved in a function body
- [`KT-60317`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-60706) K2 IDE: FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-common
- [`KT-60552`](https://youtrack.jetbrains.com/issue/KT-60552) K2: merge StateKeeper and lazy body calculator for ANNOTATIONS\_ARGUMENTS\_MAPPING transformer
- [`KT-60641`](https://youtrack.jetbrains.com/issue/KT-60641) Analysis API: Scope for class org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found exception when stdlib is missing
- [`KT-60638`](https://youtrack.jetbrains.com/issue/KT-60638) K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource <implicit>
- [`KT-54846`](https://youtrack.jetbrains.com/issue/KT-54846) Analysis API: add isExpect/isActual to KtSymbol
- [`KT-60448`](https://youtrack.jetbrains.com/issue/KT-60448) FirLazyResolveContractViolationException: `lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS)` cannot be called from a transformer with a phase COMPILER\_REQUIRED\_ANNOTATIONS from AllOpen plugin
- [`KT-59342`](https://youtrack.jetbrains.com/issue/KT-59342) K2 IDE. FirLazyResolveContractViolationException: `lazyResolveToPhase(TYPES)` cannot be called from a transformer with a phase TYPES
- [`KT-59687`](https://youtrack.jetbrains.com/issue/KT-59687) K2: Implement proper body update for in-block modifications
- [`KT-59329`](https://youtrack.jetbrains.com/issue/KT-59329) Resolve Extensions reference resolution breaks Find Usages
- [`KT-60295`](https://youtrack.jetbrains.com/issue/KT-60295) K2: move checkIsResolved for annotations from LLFirAnnotationArgumentsLazyResolver to LLFirTypeLazyResolver
- [`KT-59758`](https://youtrack.jetbrains.com/issue/KT-59758) K2: Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImplWithoutSource from ReturnTypeCalculatorWithJump
- [`KT-60377`](https://youtrack.jetbrains.com/issue/KT-60377) K2 IDE: This method will only work on compiled declarations, but this declaration is not compiled
- [`KT-59685`](https://youtrack.jetbrains.com/issue/KT-59685) K2: rewrite on-air resolution
- [`KT-60132`](https://youtrack.jetbrains.com/issue/KT-60132) K2: properties and functions without a name should be re-analyzable as well
- [`KT-59199`](https://youtrack.jetbrains.com/issue/KT-59199) K2 IDE: PSI changes which do not cause OOB modifications can be unseen from the FIR elements
- [`KT-59667`](https://youtrack.jetbrains.com/issue/KT-59667) Analysis API: PsiInvalidElementAccessException from JavaClassifierTypeImpl.substitutor
- [`KT-59705`](https://youtrack.jetbrains.com/issue/KT-59705) KotlinExceptionWithAttachments: No fir element was found for getter
- [`KT-59697`](https://youtrack.jetbrains.com/issue/KT-59697) AA standalone: JRT module paths are not properly populated in Windows
- [`KT-59505`](https://youtrack.jetbrains.com/issue/KT-59505) K2: implicit type lazy resolution doesn't work for delegated declaration from other module
- [`KT-56426`](https://youtrack.jetbrains.com/issue/KT-56426) K2 IDE: Typealised functional types cannot be rendered
- [`KT-59598`](https://youtrack.jetbrains.com/issue/KT-59598) AA: stackoverflow while simplifying a type with a recursive type parameter
- [`KT-58497`](https://youtrack.jetbrains.com/issue/KT-58497) K2: Expected FirResolvedTypeRef for initializer type of FirPropertyImpl(Source) but FirImplicitTypeRefImplWithoutSource found
- [`KT-59511`](https://youtrack.jetbrains.com/issue/KT-59511) AA standalone mode creates Application Environment for tests
- [`KT-58161`](https://youtrack.jetbrains.com/issue/KT-58161) Analysis API: Make methods in `KtCallResolverMixIn` more distinctive based on their receiver/return type
- [`KT-59093`](https://youtrack.jetbrains.com/issue/KT-59093) Do not throw exception on KtCall resolution, `KtCallElement.resolveCall` should return `null` on unknown cases
- [`KT-59243`](https://youtrack.jetbrains.com/issue/KT-59243) K2: FirLazyResolveContractViolationException: `lazyResolveToPhase(IMPORTS)` cannot be called from a transformer with a phase IMPORTS from permits types
- [`KT-58194`](https://youtrack.jetbrains.com/issue/KT-58194) K2: Low Level API: use smart pointers to store references to PSI from FIR declarations for JavaElement
- [`KT-59133`](https://youtrack.jetbrains.com/issue/KT-59133) K2: java.lang.IllegalStateException: Fir is not initialized for FirRegularClassSymbol
- [`KT-58174`](https://youtrack.jetbrains.com/issue/KT-58174) K2: LL FIR: Invalid type reference for T & Any type
- [`KT-52615`](https://youtrack.jetbrains.com/issue/KT-52615) LL FIR: build RAW FIR only by stubs
- [`KT-55053`](https://youtrack.jetbrains.com/issue/KT-55053) K2: Exception "lateinit property diagnostic has not been initialized" in FirBuilder
- [`KT-58580`](https://youtrack.jetbrains.com/issue/KT-58580) K2: LL FIR: Declarations provided by resolve extensions from a dependency module are not visible through `LLFirCombinedKotlinSymbolProvider`
- [`KT-58992`](https://youtrack.jetbrains.com/issue/KT-58992) Analysis API: move org.jetbrains.kotlin.analysis.api.fir.utils.addImportToFile out of Analysis API
- [`KT-58727`](https://youtrack.jetbrains.com/issue/KT-58727) K2: AA FIR: implicit type in delegated function treated as error
- [`KT-58653`](https://youtrack.jetbrains.com/issue/KT-58653) K2: Analysis API: add functions for KtScope members access by name
- [`KT-57559`](https://youtrack.jetbrains.com/issue/KT-57559) K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent on intellij project
- [`KT-58262`](https://youtrack.jetbrains.com/issue/KT-58262) Analysis API: Declarations from Analysis API Resolve Extensions are not seen from completion
- [`KT-57455`](https://youtrack.jetbrains.com/issue/KT-57455) LL FIR: Combine `AbstractFirDeserializedSymbolProvider`s in session dependencies (optimization)
- [`KT-57207`](https://youtrack.jetbrains.com/issue/KT-57207) LL FIR: Combine `JavaSymbolProvider`s in session dependencies (optimization)
- [`KT-58546`](https://youtrack.jetbrains.com/issue/KT-58546) K2: LL FIR: support name collision in a designation path
- [`KT-58495`](https://youtrack.jetbrains.com/issue/KT-58495) K2: Lazy calculation is redundant
- [`KT-58500`](https://youtrack.jetbrains.com/issue/KT-58500) K2: null cannot be cast to non-null type org.jetbrains.kotlin.fir.FirPureAbstractElement
- [`KT-58493`](https://youtrack.jetbrains.com/issue/KT-58493) K2: Expected FirResolvedTypeRef for default value type of FirValueParameterImpl(Source) but FirUserTypeRefImpl found
- [`KT-58496`](https://youtrack.jetbrains.com/issue/KT-58496) K2: Expected FirNamedReference, FirErrorNamedReference or FirFromMissingDependenciesNamedReference, but FirExplicitSuperReference found
- [`KT-58491`](https://youtrack.jetbrains.com/issue/KT-58491) K2: Expected FirResolvedTypeRef or FirImplicitTypeRef for return type of FirDefaultPropertyBackingField(Synthetic) but FirUserTypeRefImpl found
- [`KT-56550`](https://youtrack.jetbrains.com/issue/KT-56550) LL FIR: implement parallel resolve for non-jumping phases
- [`KT-58503`](https://youtrack.jetbrains.com/issue/KT-58503) Analysis API: KtFirNamedClassOrObjectSymbol.visibility/modality do not trigger STATUS resolve
- [`KT-57623`](https://youtrack.jetbrains.com/issue/KT-57623) K2 IDE: ConcurrentModificationException from getSuperConeTypes
- [`KT-58083`](https://youtrack.jetbrains.com/issue/KT-58083) K2: LL FIR: implement FakeOverrideTypeCalculator
##### Android
- [`KT-27170`](https://youtrack.jetbrains.com/issue/KT-27170) Android lint tasks fails in Gradle with MPP dependency
##### Backend. Native. Debug
- [`KT-61131`](https://youtrack.jetbrains.com/issue/KT-61131) Virtual functions trampolines have invalid debug info
##### Backend. Wasm
##### Fixes
- [`KT-60244`](https://youtrack.jetbrains.com/issue/KT-60244) K/Wasm: make the compiler compatible with Wasm GC phase 4 (Final) specification
- [`KT-61262`](https://youtrack.jetbrains.com/issue/KT-61262) K/Wasm: add a way to turn on k2 in wasm examples that don't use compose
- [`KT-61343`](https://youtrack.jetbrains.com/issue/KT-61343) K/Wasm: add a wasi example to kotlin-wasm-examples
- [`KT-62147`](https://youtrack.jetbrains.com/issue/KT-62147) \[Kotlin/Wasm] Nothing typed when expression cause a backend error
- [`KT-59720`](https://youtrack.jetbrains.com/issue/KT-59720) K/Wasm: update to final opcodes
- [`KT-60834`](https://youtrack.jetbrains.com/issue/KT-60834) K/Wasm: investigate consequences of stopping using `br_on_cast_fail`
- [`KT-59294`](https://youtrack.jetbrains.com/issue/KT-59294) WASM: localStorage Cannot read properties of undefined (reading 'length')
- [`KT-60835`](https://youtrack.jetbrains.com/issue/KT-60835) K/Wasm: fix compatibility with Node.js 20.\*
- [`KT-60113`](https://youtrack.jetbrains.com/issue/KT-60113) K/Wasm: illegal cast when using 1.9.20-dev
- [`KT-60496`](https://youtrack.jetbrains.com/issue/KT-60496) Compose-web Wasm crashes on remember { null } calls
- [`KT-58746`](https://youtrack.jetbrains.com/issue/KT-58746) K/Wasm: Make Arrays' constructors with size and lambda inline (similar to other implementations)
- [`KT-58993`](https://youtrack.jetbrains.com/issue/KT-58993) \[K/Wasm] Fix w3c declarations with lambda parameters
- [`KT-59722`](https://youtrack.jetbrains.com/issue/KT-59722) K/Wasm: Support new encoding with flags for br\_on\_cast and br\_on\_cast\_fail instructions
- [`KT-59713`](https://youtrack.jetbrains.com/issue/KT-59713) K/Wasm: Implement enumEntries intrinsic
- [`KT-59082`](https://youtrack.jetbrains.com/issue/KT-59082) WASM: NullPointerException caused by companion with String type constants
- [`KT-58941`](https://youtrack.jetbrains.com/issue/KT-58941) WASM Hang with extension delegate inside a Class
- [`KT-60200`](https://youtrack.jetbrains.com/issue/KT-60200) K/Wasm: generate types without supertypes properly
- [`KT-52178`](https://youtrack.jetbrains.com/issue/KT-52178) IR dump doesn't seem to work for Kotlin/WASM phases
- [`KT-59556`](https://youtrack.jetbrains.com/issue/KT-59556) Wasm: critical dependency when using with webpack
- [`KT-58681`](https://youtrack.jetbrains.com/issue/KT-58681) K/Wasm: division remainder has a wrong sign
- [`KT-56711`](https://youtrack.jetbrains.com/issue/KT-56711) Wasm: IllegalStateException caused by dynamic type
##### Compiler
##### New Features
- [`KT-58551`](https://youtrack.jetbrains.com/issue/KT-58551) KMP: check all annotation from expect declaration are present on actual
- [`KT-58554`](https://youtrack.jetbrains.com/issue/KT-58554) KMP: restrict expect opt-in annotations and actual typealiases to annotations with special meaning
- [`KT-58545`](https://youtrack.jetbrains.com/issue/KT-58545) KMP: prohibit implicit actualization via Java
- [`KT-58536`](https://youtrack.jetbrains.com/issue/KT-58536) KMP: prohibit `expect tailrec` / `expect external`
- [`KT-59764`](https://youtrack.jetbrains.com/issue/KT-59764) Make a frontend checker that reports cast to forward declaration as unchecked
- [`KT-60528`](https://youtrack.jetbrains.com/issue/KT-60528) Updates for JVM/IR backend of kotlin-atomicfu-compiler-plugin
- [`KT-59558`](https://youtrack.jetbrains.com/issue/KT-59558) Add support for creating annotation instances with type parameters
- [`KT-52367`](https://youtrack.jetbrains.com/issue/KT-52367) Devirtualization algorithm improvement
- [`KT-58652`](https://youtrack.jetbrains.com/issue/KT-58652) Native: Implement frontend checkers for HiddenFromObjC on classes
##### Performance Improvements
- [`KT-59600`](https://youtrack.jetbrains.com/issue/KT-59600) K2: CFG: do not add edges to nested classes and functions
- [`KT-57860`](https://youtrack.jetbrains.com/issue/KT-57860) K/N: Functions with default arguments of value/inline class types have poor performance due to value class boxing
##### Fixes
- [`KT-60387`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-61228) False positive MUST\_BE\_INITIALIZED\_OR\_FINAL\_OR\_ABSTRACT\_WARNING for effectively final properties
- [`KT-61643`](https://youtrack.jetbrains.com/issue/KT-61643) "Argument type mismatch" for mixed Java/Kotlin Project with Java 21
- [`KT-62389`](https://youtrack.jetbrains.com/issue/KT-62389) JDK 21: Cannot access class 'TimeUnit'. Check your module classpath for missing or conflicting dependencies
- [`KT-56768`](https://youtrack.jetbrains.com/issue/KT-56768) K2. No error description on incomplete try catch declaration
- [`KT-52220`](https://youtrack.jetbrains.com/issue/KT-52220) FIR + LightTree - Consider building a single tree on parsing into LightTree
- [`KT-60601`](https://youtrack.jetbrains.com/issue/KT-60601) K2 / Maven: Overload resolution ambiguity between candidates inline method
- [`KT-62027`](https://youtrack.jetbrains.com/issue/KT-62027) "java.lang.IndexOutOfBoundsException: Empty list doesn't contain element at index 0" caused by ClassicExpectActualMatchingContext.kt when annotation `@AllowDifferentMembersInActual` used
- [`KT-62747`](https://youtrack.jetbrains.com/issue/KT-62747) Wrong warning message when overriding vararg with Array during actualization
- [`KT-62655`](https://youtrack.jetbrains.com/issue/KT-62655) Don't report a warning when new members and new supertypes are added to open expect actualization
- [`KT-62313`](https://youtrack.jetbrains.com/issue/KT-62313) Kotlin/Native Compiler crash: ClassCastException in IntrinsicGenerator
- [`KT-60902`](https://youtrack.jetbrains.com/issue/KT-60902) visibility vs upper bound expect actual matching conflict
- [`KT-61095`](https://youtrack.jetbrains.com/issue/KT-61095) K2: "IAE: source must not be null" from FirMultipleDefaultsInheritedFromSupertypesChecker
- [`KT-47567`](https://youtrack.jetbrains.com/issue/KT-47567) 'Val cannot be reassigned' error not reported in unreachable code
- [`KT-59468`](https://youtrack.jetbrains.com/issue/KT-59468) K2: build realm-kotlin
- [`KT-62026`](https://youtrack.jetbrains.com/issue/KT-62026) KMP: Correctly handle a case when annotation on expect declaration is unresolved
- [`KT-59476`](https://youtrack.jetbrains.com/issue/KT-59476) K2: build ClashForAndroid
- [`KT-59487`](https://youtrack.jetbrains.com/issue/KT-59487) K2: build KSP-playground
- [`KT-47409`](https://youtrack.jetbrains.com/issue/KT-47409) K1/K2: Investigate and align inference for equality (==) operator
- [`KT-59393`](https://youtrack.jetbrains.com/issue/KT-59393) K2: Missing TYPE\_ARGUMENTS\_FOR\_OUTER\_CLASS\_WHEN\_NESTED\_REFERENCED
- [`KT-62127`](https://youtrack.jetbrains.com/issue/KT-62127) "NoSuchFieldError: TRUE$delegate" on referencing companion's variable in submodule
- [`KT-62335`](https://youtrack.jetbrains.com/issue/KT-62335) Improve debuggability of code generator crashes
- [`KT-61165`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-62263) Turn "different expect/actual members" error into a warning
- [`KT-59969`](https://youtrack.jetbrains.com/issue/KT-59969) K2: Disappeared UNSUPPORTED\_CONTEXTUAL\_DECLARATION\_CALL
- [`KT-61616`](https://youtrack.jetbrains.com/issue/KT-61616) K2: `IrBuiltIns.extensionToString` fails during native compilation
- [`KT-59377`](https://youtrack.jetbrains.com/issue/KT-59377) K2: Missing CALL\_TO\_JS\_MODULE\_WITHOUT\_MODULE\_SYSTEM
- [`KT-61645`](https://youtrack.jetbrains.com/issue/KT-61645) K2/KMP: Set stdlib-native before stdlib-commonMain in dependencies for shared native metadata compilation
- [`KT-61924`](https://youtrack.jetbrains.com/issue/KT-61924) Native: problem with abstract fake override from Any
- [`KT-61933`](https://youtrack.jetbrains.com/issue/KT-61933) K2: "`Argument type mismatch: actual type is 'Foo<kotlin/Function0<kotlin/Unit>>' but 'Foo<kotlin/coroutines/SuspendFunction0<kotlin/Unit>>' was expected`"
- [`KT-59471`](https://youtrack.jetbrains.com/issue/KT-59471) K2: build multiplatform-settings
- [`KT-56077`](https://youtrack.jetbrains.com/issue/KT-56077) K2: build kotlinx.atomicfu
- [`KT-59465`](https://youtrack.jetbrains.com/issue/KT-59465) K2: build kotlinx-datetime
- [`KT-60824`](https://youtrack.jetbrains.com/issue/KT-60824) K2 IDE: FirSyntheticCallGenerator: IAE: List has more than one element
- [`KT-61856`](https://youtrack.jetbrains.com/issue/KT-61856) K2: "KotlinIllegalArgumentExceptionWithAttachments" on usage of javax.validation.constraints.Email.List
- [`KT-54792`](https://youtrack.jetbrains.com/issue/KT-54792) Store program order of properties inside `@kotlin`.Metadata
- [`KT-56083`](https://youtrack.jetbrains.com/issue/KT-56083) K2: build ktor
- [`KT-23861`](https://youtrack.jetbrains.com/issue/KT-23861) Expect annotation should not be applicable wider than the actual one
- [`KT-59466`](https://youtrack.jetbrains.com/issue/KT-59466) K2: build kotlinx-benchmark
- [`KT-60830`](https://youtrack.jetbrains.com/issue/KT-60830) KMP, K2: expect actual annotation IR checker doesn't unwrap actual typealiases to annotations
- [`KT-61668`](https://youtrack.jetbrains.com/issue/KT-61668) Put expect/actual diagnostics introduced in 1.9.20 release under 1.9 Language Version
- [`KT-61725`](https://youtrack.jetbrains.com/issue/KT-61725) KMP: Annotation matching requirement for expect/actual leads to errors for annotations with `@OptionalExpectation`
- [`KT-47892`](https://youtrack.jetbrains.com/issue/KT-47892) False negative BREAK\_OR\_CONTINUE\_OUTSIDE\_A\_LOOP with `continue` in `init` block inside `for`
- [`KT-61784`](https://youtrack.jetbrains.com/issue/KT-61784) KMP: \[DEFAULT\_ARGUMENTS\_IN\_EXPECT\_WITH\_ACTUAL\_TYPEALIAS] checker missed for companion functions
- [`KT-61173`](https://youtrack.jetbrains.com/issue/KT-61173) K2: FirProperty.hasBackingField is true for an expect val
- [`KT-59743`](https://youtrack.jetbrains.com/issue/KT-59743) K2: erroneous binding of typealias with two type parameters to a class with one type parameter
- [`KT-60650`](https://youtrack.jetbrains.com/issue/KT-60650) KMP: prohibit problematic actual typealiases
- [`KT-61461`](https://youtrack.jetbrains.com/issue/KT-61461) K2: Kotlin native metadata compilation breaks when stdlib is present in -libraries
- [`KT-61270`](https://youtrack.jetbrains.com/issue/KT-61270) Enabling Kotlin/Native caching causes 65K warnings from dsymutil when building Compose iOS app
- [`KT-58229`](https://youtrack.jetbrains.com/issue/KT-58229) K2/MPP/JVM: compiler codegen crash on call of inherited generic class's method with actual-typealias as value parameter
- [`KT-47702`](https://youtrack.jetbrains.com/issue/KT-47702) Support call of Java annotation constructor without specifying a default value
- [`KT-56460`](https://youtrack.jetbrains.com/issue/KT-56460) K2: Do not re-run DiagnosticCollectorVisitor from FirInlineDeclarationChecker.checkChildrenWithCustomVisitor
- [`KT-55933`](https://youtrack.jetbrains.com/issue/KT-55933) K2: False negative Overload resolution ambiguity for call functions with named parameters if one of params is vararg
- [`KT-59548`](https://youtrack.jetbrains.com/issue/KT-59548) FIR2IR: inconsistent generation of dispatch receiver for object methods
- [`KT-55072`](https://youtrack.jetbrains.com/issue/KT-55072) K2: False positive "suspension point is inside a critical section"
- [`KT-58778`](https://youtrack.jetbrains.com/issue/KT-58778) JVM IR inline: add fake variables for debugger
- [`KT-59404`](https://youtrack.jetbrains.com/issue/KT-59404) K2: Missing EXPECT\_TYPE\_IN\_WHEN\_WITHOUT\_ELSE
- [`KT-59830`](https://youtrack.jetbrains.com/issue/KT-59830) K2. False negative \[FINAL\_SUPERTYPE] on extending final class through type alias
- [`KT-60580`](https://youtrack.jetbrains.com/issue/KT-60580) K2: Not supported: class org.jetbrains.kotlin.fir.types.ConeFlexibleType
- [`KT-59391`](https://youtrack.jetbrains.com/issue/KT-59391) K2: Missing JS\_BUILTIN\_NAME\_CLASH
- [`KT-59392`](https://youtrack.jetbrains.com/issue/KT-59392) K2: Missing NAME\_CONTAINS\_ILLEGAL\_CHARS
- [`KT-58360`](https://youtrack.jetbrains.com/issue/KT-58360) Intrinsics for atomic update of array elements
- [`KT-59165`](https://youtrack.jetbrains.com/issue/KT-59165) K2: Prohibit class literals with empty left-hand side
- [`KT-60427`](https://youtrack.jetbrains.com/issue/KT-60427) K2 `@Metadata` annotations contain outerType/outerTypeId information for non-inner nested classes
- [`KT-59376`](https://youtrack.jetbrains.com/issue/KT-59376) K2: Missing TYPECHECKER\_HAS\_RUN\_INTO\_RECURSIVE\_PROBLEM\_ERROR
- [`KT-55221`](https://youtrack.jetbrains.com/issue/KT-55221) K2: No error reported for self-referencing local function with inferred return type
- [`KT-59586`](https://youtrack.jetbrains.com/issue/KT-59586) K2: support JVM backend diagnostics in light tree mode
- [`KT-57780`](https://youtrack.jetbrains.com/issue/KT-57780) K2: Calling a constructor through a deprecated typealias doesn't report a deprecation
- [`KT-59110`](https://youtrack.jetbrains.com/issue/KT-59110) K2. "NotImplementedError: An operation is not implemented." error on incorrect `@Target` annotation
- [`KT-59249`](https://youtrack.jetbrains.com/issue/KT-59249) K2: Empty varargs are not serialized to KLIB
- [`KT-55373`](https://youtrack.jetbrains.com/issue/KT-55373) K2. Unresolved reference error for type mismatch with callable references
- [`KT-55955`](https://youtrack.jetbrains.com/issue/KT-55955) K2: callable references are not properly resolved when in conflict with expected type
- [`KT-60144`](https://youtrack.jetbrains.com/issue/KT-60144) JVM IR inline: backport primitive boxing in class literals
- [`KT-60779`](https://youtrack.jetbrains.com/issue/KT-60779) K2: missing INTERFACE\_CANT\_CALL\_DEFAULT\_METHOD\_VIA\_SUPER
- [`KT-60587`](https://youtrack.jetbrains.com/issue/KT-60587) K2: Implement warning NO\_REFLECTION\_IN\_CLASS\_PATH
- [`KT-61145`](https://youtrack.jetbrains.com/issue/KT-61145) False negative NOTHING\_TO\_OVERRIDE when context receivers don't match
- [`KT-59378`](https://youtrack.jetbrains.com/issue/KT-59378) K2: Missing FINITE\_BOUNDS\_VIOLATION and FINITE\_BOUNDS\_VIOLATION\_IN\_JAVA
- [`KT-61163`](https://youtrack.jetbrains.com/issue/KT-61163) Default params on actual check and inheritance by delegation compilation error
- [`KT-60800`](https://youtrack.jetbrains.com/issue/KT-60800) \[atomicfu-K/N]: turn on the tests for the K/N part of the compiler plugin
- [`KT-61029`](https://youtrack.jetbrains.com/issue/KT-61029) K2: Duplicates when processing direct overridden callables
- [`KT-55196`](https://youtrack.jetbrains.com/issue/KT-55196) K2: False-negative CONST\_VAL\_WITH\_NON\_CONST\_INITIALIZER on boolean .not() call
- [`KT-60862`](https://youtrack.jetbrains.com/issue/KT-60862) Kotlin Scripting: NoSuchMethodError for ExternalDependenciesResolver.addRepository
- [`KT-57963`](https://youtrack.jetbrains.com/issue/KT-57963) K2: MPP: Annotation calls should be actualized
- [`KT-60854`](https://youtrack.jetbrains.com/issue/KT-60854) K2: IrActualizer incorrectly generates fake overrides for synthetic java properties
- [`KT-59665`](https://youtrack.jetbrains.com/issue/KT-59665) ACTUAL\_FUNCTION\_WITH\_DEFAULT\_ARGUMENTS isn't reported for actual typealias and fake-override actualization
- [`KT-61039`](https://youtrack.jetbrains.com/issue/KT-61039) False positive ABSTRACT\_MEMBER\_NOT\_IMPLEMENTED in K1 when expect actual super types scopes don't match
- [`KT-61166`](https://youtrack.jetbrains.com/issue/KT-61166) Inherited platform declaration clash & accidental override
- [`KT-60531`](https://youtrack.jetbrains.com/issue/KT-60531) K2/JS: Report diagnostics before running FIR2IR
- [`KT-32275`](https://youtrack.jetbrains.com/issue/KT-32275) Embedding kotlin-compiler-embeddable into a Java EE App leads to CDI related deployment error
- [`KT-57845`](https://youtrack.jetbrains.com/issue/KT-57845) K2. Unresolved reference error on calling Java references with fully qualified name
- [`KT-58757`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-59736) kotlinx.serialization + K2 + JS: e: java.lang.IllegalStateException: Symbol for kotlinx.serialization.json.internal/FormatLanguage.<init>|-547215418288530576\[1] is unbound
- [`KT-59071`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-61167) Runtime failure: ReferenceError: MyPromise is not defined
- [`KT-59408`](https://youtrack.jetbrains.com/issue/KT-59408) K2: Missing MULTIPLE\_DEFAULTS\_INHERITED\_FROM\_SUPERTYPES
- [`KT-61409`](https://youtrack.jetbrains.com/issue/KT-61409) Kotlin/Native: crash in kmm-production-sample (compose-app) with escape analysis enabled
- [`KT-57329`](https://youtrack.jetbrains.com/issue/KT-57329) K/N IR linkage issues due to the combination of static caches w/ Lazy IR & Compose compiler plugin
- [`KT-59247`](https://youtrack.jetbrains.com/issue/KT-59247) Kapt+JVM\_IR: AssertionError on anonymous object in enum super constructor call
- [`KT-58576`](https://youtrack.jetbrains.com/issue/KT-58576) K2: IR actualization problems in MPP scenario
- [`KT-61442`](https://youtrack.jetbrains.com/issue/KT-61442) K2: Consider stricter filtering on implicit integer coercion
- [`KT-61441`](https://youtrack.jetbrains.com/issue/KT-61441) K2: Wrong overload is chosen with ImplicitIntegerCoercion enabled
- [`KT-59328`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-61159) K2: OVERLOAD\_RESOLUTION\_AMBIGUITY between private top-level property in same file and top-level property in different module
- [`KT-59233`](https://youtrack.jetbrains.com/issue/KT-59233) K2: false-negative diagnostic on creating a callable reference to a function with free type variables
- [`KT-61418`](https://youtrack.jetbrains.com/issue/KT-61418) k2: ImplicitIntegerCoercion to List leads to "IllegalStateException: Cannot find cached type parameter by FIR symbol"
- [`KT-61373`](https://youtrack.jetbrains.com/issue/KT-61373) False positive: "The opt-in annotation is redundant: no matching experimental API is used" with multiplatform code.
- [`KT-58884`](https://youtrack.jetbrains.com/issue/KT-58884) K2: NotAMockException for mock testing with lambda expression with Maven
- [`KT-58893`](https://youtrack.jetbrains.com/issue/KT-58893) K2: MockitoException for mock testing with lambda expression with Gradle
- [`KT-59483`](https://youtrack.jetbrains.com/issue/KT-59483) K2: Build a Native app
- [`KT-57738`](https://youtrack.jetbrains.com/issue/KT-57738) K2: unresolved class fields and methods in kotlin scripts
- [`KT-59449`](https://youtrack.jetbrains.com/issue/KT-59449) K2: Diagnostic messages contain debugging-style rendered FIR
- [`KT-59849`](https://youtrack.jetbrains.com/issue/KT-59849) K2: IllegalArgumentException: List has more than one element
- [`KT-57553`](https://youtrack.jetbrains.com/issue/KT-57553) Implement deprecation for open val with backing field and deferred initialization in K1
- [`KT-57230`](https://youtrack.jetbrains.com/issue/KT-57230) Support Kotlin/Wasm in the K2 platform
- [`KT-59409`](https://youtrack.jetbrains.com/issue/KT-59409) K2: Missing DEFAULT\_VALUE\_NOT\_ALLOWED\_IN\_OVERRIDE
- [`KT-59058`](https://youtrack.jetbrains.com/issue/KT-59058) Companion object is not initialized on class constructor call
- [`KT-61017`](https://youtrack.jetbrains.com/issue/KT-61017) K2: intermediate expect/actual class results in expected class has no actual declaration in module
- [`KT-60181`](https://youtrack.jetbrains.com/issue/KT-60181) K2: "NotImplementedError: An operation is not implemented" with Spring
- [`KT-59472`](https://youtrack.jetbrains.com/issue/KT-59472) K2: build Reaktive
- [`KT-54786`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-59753) K2: NotImplementedError when using annotation with vararg with default value from other module
- [`KT-60883`](https://youtrack.jetbrains.com/issue/KT-60883) K2: Fix `testRequireKotlinCompilerVersion` in LV 2.0 branch
- [`KT-59747`](https://youtrack.jetbrains.com/issue/KT-59747) K2: cannot actualize expect class to Unit via typealias
- [`KT-61054`](https://youtrack.jetbrains.com/issue/KT-61054) K2: "IAE: source must not be null" with -no-reflect on calling property getter with implicit invoke
- [`KT-57126`](https://youtrack.jetbrains.com/issue/KT-57126) \[KLIB Reproducibility] Manifest is written using os-dependent line separators
- [`KT-60850`](https://youtrack.jetbrains.com/issue/KT-60850) K2: FIR2IR generates incorrect signature for fake overrides for common declaration if it called from a platform module
- [`KT-59218`](https://youtrack.jetbrains.com/issue/KT-59218) K2: return types of calls to `@PolymorphicSignature` methods inside try-expressions don't resolve to void when required
- [`KT-60002`](https://youtrack.jetbrains.com/issue/KT-60002) K2: Missing UNSUPPORTED\_SUSPEND\_TEST
- [`KT-61011`](https://youtrack.jetbrains.com/issue/KT-61011) K2 Scripts: FirRecursiveProblemChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource <implicit>
- [`KT-58906`](https://youtrack.jetbrains.com/issue/KT-58906) K2. "Backend Internal error: Exception during IR lowering" instead of CANNOT\_INFER\_PARAMETER\_TYPE error when parameter type missing in lambda
- [`KT-59490`](https://youtrack.jetbrains.com/issue/KT-59490) K2: build km-shop
- [`KT-60163`](https://youtrack.jetbrains.com/issue/KT-60163) K2: vararg annotation argument value is serialized not as an array
- [`KT-59355`](https://youtrack.jetbrains.com/issue/KT-59355) K2: Allow to actual classifier have wider visibility than the corresponding expect class
- [`KT-56179`](https://youtrack.jetbrains.com/issue/KT-56179) \[K2/N] `interop_objc_tests/multipleInheritanceClash.kt` test failed
- [`KT-59411`](https://youtrack.jetbrains.com/issue/KT-59411) K2: Missing ENUM\_CLASS\_CONSTRUCTOR\_CALL
- [`KT-59410`](https://youtrack.jetbrains.com/issue/KT-59410) K2: Missing TYPEALIAS\_EXPANDED\_TO\_MALFORMED\_TYPE
- [`KT-59382`](https://youtrack.jetbrains.com/issue/KT-59382) K2: Missing PROTECTED\_CONSTRUCTOR\_NOT\_IN\_SUPER\_CALL
- [`KT-59901`](https://youtrack.jetbrains.com/issue/KT-59901) K2: Disappeared API\_NOT\_AVAILABLE
- [`KT-60474`](https://youtrack.jetbrains.com/issue/KT-60474) K2: False negative type mismatch for array literal with wrong numeric literal
- [`KT-59610`](https://youtrack.jetbrains.com/issue/KT-59610) K2: Calls to annotations with default values are serialized differently in K1 and K2
- [`KT-60139`](https://youtrack.jetbrains.com/issue/KT-60139) K2: Refactor handling of implicitly actual declarations (annotation & inline class constructors and property of inline class)
- [`KT-60793`](https://youtrack.jetbrains.com/issue/KT-60793) K2: IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirJavaTypeRef
- [`KT-60735`](https://youtrack.jetbrains.com/issue/KT-60735) K2: lateinit property diagnostic has not been initialized
- [`KT-60137`](https://youtrack.jetbrains.com/issue/KT-60137) K2: Quite complicated redeclaration error description is displayed for data classes
- [`KT-60639`](https://youtrack.jetbrains.com/issue/KT-60639) K2: IllegalStateException: Unsupported compile-time value GET\_CLASS type=kotlin.reflect.KClass\<p1.A>
- [`KT-56888`](https://youtrack.jetbrains.com/issue/KT-56888) CFA: Valid green in K1 -> red in K2. `catch_end -> finally -> after_try`
- [`KT-60723`](https://youtrack.jetbrains.com/issue/KT-60723) K2: Nested finally block has extra jump edge if surrounding try block jumps
- [`KT-60573`](https://youtrack.jetbrains.com/issue/KT-60573) K2: False positive/negative CONFLICTING\_OVERLOADS for main functions
- [`KT-60124`](https://youtrack.jetbrains.com/issue/KT-60124) K2: Conflicting declarations on extension properties with different upper-bounded type parameter
- [`KT-60259`](https://youtrack.jetbrains.com/issue/KT-60259) K2: Reflection target is missing on adapted function refernces
- [`KT-59036`](https://youtrack.jetbrains.com/issue/KT-59036) InstantiationError when instantiating annotation with a parameter type as a default parameter of another annotation
- [`KT-59094`](https://youtrack.jetbrains.com/issue/KT-59094) K2: Fix Scripting K2 tests
- [`KT-59711`](https://youtrack.jetbrains.com/issue/KT-59711) K/N: Implement enumEntries intrinsic
- [`KT-59748`](https://youtrack.jetbrains.com/issue/KT-59748) K2: Return type mismatch: expected Unit, actual Any? for when with an assignment in branch
- [`KT-60154`](https://youtrack.jetbrains.com/issue/KT-60154) K2: Expected some types error
- [`KT-58139`](https://youtrack.jetbrains.com/issue/KT-58139) K2/MPP/metadata: compiler FIR serialization crash on complex expression as annotation argument
- [`KT-59485`](https://youtrack.jetbrains.com/issue/KT-59485) K2: build Anki-Android
- [`KT-59415`](https://youtrack.jetbrains.com/issue/KT-59415) K2: Missing DATA\_CLASS\_OVERRIDE\_DEFAULT\_VALUES\_ERROR
- [`KT-59710`](https://youtrack.jetbrains.com/issue/KT-59710) K/JVM: Implement enumEntries intrinsic
- [`KT-57984`](https://youtrack.jetbrains.com/issue/KT-57984) K2/JS fails with IdSignature clash for inherited expect/actual function
- [`KT-59398`](https://youtrack.jetbrains.com/issue/KT-59398) K2: Missing NOT\_SUPPORTED\_INLINE\_PARAMETER\_IN\_INLINE\_PARAMETER\_DEFAULT\_VALUE
- [`KT-60645`](https://youtrack.jetbrains.com/issue/KT-60645) Native: dynamic caches are broken on Linux
- [`KT-50221`](https://youtrack.jetbrains.com/issue/KT-50221) FIR: handle enhanced/flexible nullability inside withNullability properly
- [`KT-59281`](https://youtrack.jetbrains.com/issue/KT-59281) JVM IR inline: incorrect type of created array
- [`KT-59507`](https://youtrack.jetbrains.com/issue/KT-59507) JVM IR inline: invocation of arrayOfNulls by function reference results in exception
- [`KT-58359`](https://youtrack.jetbrains.com/issue/KT-58359) Allow volatile intrinsics on inline function constant arguments
- [`KT-60598`](https://youtrack.jetbrains.com/issue/KT-60598) K2: add OptIn checkers for command line arguments
- [`KT-59766`](https://youtrack.jetbrains.com/issue/KT-59766) K2: ISE: Cannot find cached type parameter by FIR symbol during the coroutines library build
- [`KT-59644`](https://youtrack.jetbrains.com/issue/KT-59644) K2: the companion object in an `expect` class requires to be explicitly defined for compileNativeMainKotlinMetadata
- [`KT-59640`](https://youtrack.jetbrains.com/issue/KT-59640) K2: `expect` constructor requires calling `this` or `super` but didn't use to
- [`KT-58883`](https://youtrack.jetbrains.com/issue/KT-58883) K2: False negative type mismatch for generic annotation in collection literal
- [`KT-59581`](https://youtrack.jetbrains.com/issue/KT-59581) K2: Initializer type mismatch: expected Array\<KClass<\*>>, actual Array\<KClass<out Serializable>> in annotation parameter default value using array literal
- [`KT-59069`](https://youtrack.jetbrains.com/issue/KT-59069) K2 does not report EXPECTED\_CLASS\_CONSTRUCTOR\_DELEGATION\_CALL
- [`KT-59416`](https://youtrack.jetbrains.com/issue/KT-59416) K2: Missing EXTERNAL\_INTERFACE\_AS\_REIFIED\_TYPE\_ARGUMENT
- [`KT-59417`](https://youtrack.jetbrains.com/issue/KT-59417) K2: Missing CALL\_FROM\_UMD\_MUST\_BE\_JS\_MODULE\_AND\_JS\_NON\_MODULE
- [`KT-59381`](https://youtrack.jetbrains.com/issue/KT-59381) K2: Missing CALL\_TO\_JS\_NON\_MODULE\_WITH\_MODULE\_SYSTEM
- [`KT-59384`](https://youtrack.jetbrains.com/issue/KT-59384) K2: Missing DYNAMIC\_NOT\_ALLOWED
- [`KT-59406`](https://youtrack.jetbrains.com/issue/KT-59406) K2: Missing PROPERTY\_DELEGATION\_BY\_DYNAMIC
- [`KT-60247`](https://youtrack.jetbrains.com/issue/KT-60247) K2: order of data class generated member differs in IR
- [`KT-57223`](https://youtrack.jetbrains.com/issue/KT-57223) K2: false-negative INAPPLICABLE\_JVM\_NAME on non-final properties outside interfaces
- [`KT-60183`](https://youtrack.jetbrains.com/issue/KT-60183) K2: INAPPLICABLE\_JVM\_NAME on private methods with all-open plugin
- [`KT-60120`](https://youtrack.jetbrains.com/issue/KT-60120) K2 can't get a default parameter value of expect annotation
- [`KT-57240`](https://youtrack.jetbrains.com/issue/KT-57240) K2 MPP: Actualization doesn't work for flexible types
- [`KT-60436`](https://youtrack.jetbrains.com/issue/KT-60436) K2: investigate possible FirJavaTypeRef equals parameter in FirDataFlowAnalyzer.hasEqualsOverride
- [`KT-60299`](https://youtrack.jetbrains.com/issue/KT-60299) K2: when a typealias to `Unit` is returned, an explicit `return` is now required
- [`KT-58005`](https://youtrack.jetbrains.com/issue/KT-58005) K2: Unsupported compile-time value BLOCK for Repeatable annotations
- [`KT-60223`](https://youtrack.jetbrains.com/issue/KT-60223) K2: Wrong import with import alias
- [`KT-54854`](https://youtrack.jetbrains.com/issue/KT-54854) K2. Unresolved reference for not imported declaration when it is already imported as an import alias is absent in K2
- [`KT-59738`](https://youtrack.jetbrains.com/issue/KT-59738) K2: NoSuchElementException from JvmValueClassLoweringDispatcher in MPP environment
- [`KT-59708`](https://youtrack.jetbrains.com/issue/KT-59708) K2: "Property must be initialized or be abstract" occurs due to constructors order
- [`KT-58483`](https://youtrack.jetbrains.com/issue/KT-58483) K2. -Xmulti-platform flag isn't working
- [`KT-53490`](https://youtrack.jetbrains.com/issue/KT-53490) FIR: Refactor augmented assignment resolving code - fix lhs-related problems and combine similar code in array and assign operator handling
- [`KT-59673`](https://youtrack.jetbrains.com/issue/KT-59673) K2: incorrect error message
- [`KT-58578`](https://youtrack.jetbrains.com/issue/KT-58578) K2: Commonize expect-actual logic between FIR and IR actualizer
- [`KT-54989`](https://youtrack.jetbrains.com/issue/KT-54989) FIR2IR: fragile code in postfix op detection
- [`KT-59464`](https://youtrack.jetbrains.com/issue/KT-59464) K2: Investigate cases of implicit type refs in Fir2IrImplicitCastInserter
- [`KT-53898`](https://youtrack.jetbrains.com/issue/KT-53898) K2: False negative VAL\_REASSIGNMENT on member vals
- [`KT-57641`](https://youtrack.jetbrains.com/issue/KT-57641) K2: "java.lang.NoSuchFieldException: INSTANCE" in kotlin-reflect for `KClass.objectInstance` on an anonymous object
- [`KT-59299`](https://youtrack.jetbrains.com/issue/KT-59299) \[K2] ISE in IrBindablePublicSymbolBase.bind on equals function from companion of serializable class
- [`KT-58844`](https://youtrack.jetbrains.com/issue/KT-58844) Incorrect type mismatch error: "actual type is kotlin/Int but kotlin/Int was expected"
- [`KT-59413`](https://youtrack.jetbrains.com/issue/KT-59413) K2: Missing VALUE\_CLASS\_CANNOT\_HAVE\_CONTEXT\_RECEIVERS
- [`KT-56173`](https://youtrack.jetbrains.com/issue/KT-56173) FIR: IrGenerationExtensions cannot see default values from expect declarations
- [`KT-59611`](https://youtrack.jetbrains.com/issue/KT-59611) FIR2IR: Unsupported callable reference for enum entry with clashing name
- [`KT-59858`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-58539) \[K2] Ir actualization fails to match expect/actual declarations that use custom function types
- [`KT-59775`](https://youtrack.jetbrains.com/issue/KT-59775) 'toString()' on Object returns different result with concatenation
- [`KT-59737`](https://youtrack.jetbrains.com/issue/KT-59737) K2: Actual class 'actual class FastArrayList<E> : AbstractMutableList<E>, MutableListEx<E>, RandomAccess' has no corresponding members for expected class members because of different parameter names in Java
- [`KT-59613`](https://youtrack.jetbrains.com/issue/KT-59613) K2: Unhandled intrinsic in ExpressionCodegen exception in for expect function with default value in parameter
- [`KT-59216`](https://youtrack.jetbrains.com/issue/KT-59216) K2. Unhelpful unresolved reference when inheriting from interface with constructor call (K1 reports NO\_CONSTRUCTOR instead)
- [`KT-59057`](https://youtrack.jetbrains.com/issue/KT-59057) Revise muted tests for native backend
- [`KT-57377`](https://youtrack.jetbrains.com/issue/KT-57377) K2/MPP: internal declarations from common module are inivisible for intermediate modules during metadata compilation
- [`KT-59693`](https://youtrack.jetbrains.com/issue/KT-59693) MPP: linkReleaseExecutableLinux fails with IllegalStateException: Drains have not been painted properly
- [`KT-59362`](https://youtrack.jetbrains.com/issue/KT-59362) K2/MPP: `.toByte()` conversion for const val causes SourceCodeAnalysisException: java.lang.NullPointerException: null
- [`KT-51670`](https://youtrack.jetbrains.com/issue/KT-51670) FIR: questionable behavior for deprecated String constructors
- [`KT-35314`](https://youtrack.jetbrains.com/issue/KT-35314) StackOverflowError with nested try-finally and function with contracts
- [`KT-53460`](https://youtrack.jetbrains.com/issue/KT-53460) False positive smartcast warning in if block after if block
- [`KT-40851`](https://youtrack.jetbrains.com/issue/KT-40851) False MUST\_BE\_INITIALIZED\_OR\_BE\_ABSTRACT error for a property which is initialised in the init block
- [`KT-59695`](https://youtrack.jetbrains.com/issue/KT-59695) K2: false negative NON\_PUBLIC\_CALL\_FROM\_PUBLIC\_INLINE
- [`KT-41198`](https://youtrack.jetbrains.com/issue/KT-41198) False positive “Variable must be initialized” with assignment in scope function and safe call
- [`KT-58901`](https://youtrack.jetbrains.com/issue/KT-58901) K2. Value parameter default values are not checked for type mismatch
- [`KT-48115`](https://youtrack.jetbrains.com/issue/KT-48115) Member functions with type parameter and contract don't produce smartcasts
- [`KT-59541`](https://youtrack.jetbrains.com/issue/KT-59541) K2: Type checking has run into a recursive problem on code that was compiling with Language 1.9
- [`KT-58943`](https://youtrack.jetbrains.com/issue/KT-58943) K2: Incorrect with K1 priority of "invokeExtension + implicit receiver" candidate
- [`KT-37375`](https://youtrack.jetbrains.com/issue/KT-37375) \[FIR] Incorrect invoke resolution
- [`KT-59789`](https://youtrack.jetbrains.com/issue/KT-59789) K2: self-reference does not compile anymore
- [`KT-59286`](https://youtrack.jetbrains.com/issue/KT-59286) JVM IR inline: local property not found
- [`KT-58823`](https://youtrack.jetbrains.com/issue/KT-58823) K2: Android app crashes right after start: java.lang.NoSuchMethodError: No virtual method findViewById(I)Landroid/view/View
- [`KT-57754`](https://youtrack.jetbrains.com/issue/KT-57754) K2: No public signature built for the synthesized delegate field
- [`KT-58533`](https://youtrack.jetbrains.com/issue/KT-58533) K2: "Not enough information to infer type variable T" for generic call in throw expression
- [`KT-34846`](https://youtrack.jetbrains.com/issue/KT-34846) FIR Java: enhance type parameter bounds properly
- [`KT-52043`](https://youtrack.jetbrains.com/issue/KT-52043) FIR: FirValueParameter with SubstitutionOverride does not reference the original FIR declaration
- [`KT-59291`](https://youtrack.jetbrains.com/issue/KT-59291) JVM IR inline: unexpected result of `apiVersionIsAtLeast` invocation
- [`KT-59550`](https://youtrack.jetbrains.com/issue/KT-59550) K2: synthetic property isn't seen through Java
- [`KT-59038`](https://youtrack.jetbrains.com/issue/KT-59038) \[K2] IllegalStateException in mixed Java/Kotlin inheritance
- [`KT-59489`](https://youtrack.jetbrains.com/issue/KT-59489) K2: builld spring-petclinic-kotlin
- [`KT-58908`](https://youtrack.jetbrains.com/issue/KT-58908) K2. Internal error "kotlin.UninitializedPropertyAccessException: lateinit property firType has not been initialized" on incomplete `is`
- [`KT-56755`](https://youtrack.jetbrains.com/issue/KT-56755) K2: Investigate failures related to line numbers with LT compilation enabled
- [`KT-56139`](https://youtrack.jetbrains.com/issue/KT-56139) K2: consider adding source element for implicit receivers
- [`KT-57489`](https://youtrack.jetbrains.com/issue/KT-57489) K2: Incorrectly generated line numbers in companion object access inside class
- [`KT-58947`](https://youtrack.jetbrains.com/issue/KT-58947) Run all existing codegen box tests with kapt stub generation
- [`KT-58827`](https://youtrack.jetbrains.com/issue/KT-58827) K2 reports ACTUAL\_WITHOUT\_EXPECT on the whole class
- [`KT-54917`](https://youtrack.jetbrains.com/issue/KT-54917) K2: ILT leak from a completed generic call
- [`KT-56187`](https://youtrack.jetbrains.com/issue/KT-56187) K2: type parameter's upper bound is ignored in callable references
- [`KT-56186`](https://youtrack.jetbrains.com/issue/KT-56186) K2: lack of type arguments in type constructor is ignored in callable references
- [`KT-59356`](https://youtrack.jetbrains.com/issue/KT-59356) K2: Restrict rules for matching of expect supertypes for actual class
- [`KT-57217`](https://youtrack.jetbrains.com/issue/KT-57217) K2: NoSuchMethodError on `toChar` call on java inheritor of java.lang.Number
- [`KT-58356`](https://youtrack.jetbrains.com/issue/KT-58356) K2: StackOverflowError with OptIn and Deprecated, while compiling Kotlin project
- [`KT-57954`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-59508) K2: Make sure that warnings-severity nullability annotations are not perceived as reasons for nullability errors
- [`KT-53820`](https://youtrack.jetbrains.com/issue/KT-53820) FIR: mismatching error message for invisible reference/member
- [`KT-58641`](https://youtrack.jetbrains.com/issue/KT-58641) K2: PublishedApi has no effect when internal fun used in the test source set
- [`KT-59461`](https://youtrack.jetbrains.com/issue/KT-59461) K2: Erroneous null check when returning not-null typealias to nullable type
- [`KT-58980`](https://youtrack.jetbrains.com/issue/KT-58980) K2: Import of java field from companion's base breaks the compiler
- [`KT-59140`](https://youtrack.jetbrains.com/issue/KT-59140) K2: "Symbol public final static field is invisible" caused by java static field called in kotlin code
- [`KT-59501`](https://youtrack.jetbrains.com/issue/KT-59501) Escape analysis constructs arrays of negative size
- [`KT-59452`](https://youtrack.jetbrains.com/issue/KT-59452) apiVersionIsAtLeast calls in body of stdlib inline function may be evaluated on compile-time
- [`KT-53967`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-59346) Not working breakpoints on not initialized variables
- [`KT-55993`](https://youtrack.jetbrains.com/issue/KT-55993) Wrong current pointer: strange behaviour of debugger or compiler when two IFs and an uninitialized variable between them
- [`KT-58335`](https://youtrack.jetbrains.com/issue/KT-58335) K2: Exposed typealias from implementation dependency produces type mismatch in dependent module
- [`KT-58719`](https://youtrack.jetbrains.com/issue/KT-58719) K2: false-positive INVISIBLE\_REFERENCE error in case of importing an internal abstract class
- [`KT-57694`](https://youtrack.jetbrains.com/issue/KT-57694) K2: False positive \[NOTHING\_TO\_OVERRIDE] for a class overriding 'sort' method from the List collection
- [`KT-58460`](https://youtrack.jetbrains.com/issue/KT-58460) K2. return without argument became allowed for functions with return type Any
- [`KT-49249`](https://youtrack.jetbrains.com/issue/KT-49249) Incorrect nullability inferred for Throwable
- [`KT-57429`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-57566) K2: Fix name mangling for functions that have dynamic type in their signature
- [`KT-57818`](https://youtrack.jetbrains.com/issue/KT-57818) K2: Fix FirMangleComputer to not include the "special" package name into mangled names of property accessors on non-JVM platforms
- [`KT-57777`](https://youtrack.jetbrains.com/issue/KT-57777) K2: Fix computing a mangled name for the synthesized `entries` property getter of an enum class
- [`KT-57433`](https://youtrack.jetbrains.com/issue/KT-57433) K2: Fix computing a mangled name for top-level functions and properties
- [`KT-58553`](https://youtrack.jetbrains.com/issue/KT-58553) k2: Annotation type arguments are lost in FIR2IR
- [`KT-58184`](https://youtrack.jetbrains.com/issue/KT-58184) K2: False negative INVISIBLE\_MEMBER on destructuring declaration
- [`KT-58637`](https://youtrack.jetbrains.com/issue/KT-58637) K2: False negative ABSTRACT\_MEMBER\_NOT\_IMPLEMENTED on Entry of Enum with abstract member declaration
- [`KT-54952`](https://youtrack.jetbrains.com/issue/KT-54952) JvmSerializationBindings does not work with K2
- [`KT-54844`](https://youtrack.jetbrains.com/issue/KT-54844) FIR/Analysis API: create stubs for equals/hashCode/toString for data classes in FIR
- [`KT-58555`](https://youtrack.jetbrains.com/issue/KT-58555) K2: Generic property reference inside delegation misses type argument
- [`KT-57648`](https://youtrack.jetbrains.com/issue/KT-57648) FIR: move deprecation calculation on COMPILER\_REQUIRED\_ANNOTATIONS phase
- [`KT-57049`](https://youtrack.jetbrains.com/issue/KT-57049) K2 generates duplicates of symbols/declarations
- [`KT-55723`](https://youtrack.jetbrains.com/issue/KT-55723) K2: deprecations for enum entries are not resolved on the TYPES phase
- [`KT-59033`](https://youtrack.jetbrains.com/issue/KT-59033) Doesn’t support vararg parameter in annotation instantiation with empty arguments
- [`KT-58780`](https://youtrack.jetbrains.com/issue/KT-58780) JVM IR inline: local property delegation is not working for K2
- [`KT-58779`](https://youtrack.jetbrains.com/issue/KT-58779) JVM IR inline: correctly process special inlined block in value class lowering
- [`KT-58720`](https://youtrack.jetbrains.com/issue/KT-58720) Generate full InnerClass attributes for the standard library
- [`KT-58215`](https://youtrack.jetbrains.com/issue/KT-58215) K2: JVM IR produces line numbers for delegation bridges that are not marked with ACC\_BRIDGE
- [`KT-42696`](https://youtrack.jetbrains.com/issue/KT-42696) JVM IR generates line numbers for all bridges leading to extra steps in the debugger
- [`KT-57228`](https://youtrack.jetbrains.com/issue/KT-57228) K2: annotations for interface member properties implemented by delegation are copied
- [`KT-57216`](https://youtrack.jetbrains.com/issue/KT-57216) K2: non-trivial enum declaration does not have ACC\_FINAL in the bytecode
- [`KT-55866`](https://youtrack.jetbrains.com/issue/KT-55866) K2: Constant as parameter of `@JvmName`: BE: "Unsupported compile-time value CALL private final fun <get-TAG>"
- [`KT-58717`](https://youtrack.jetbrains.com/issue/KT-58717) Object on the left-hand side of callable reference is not initialized if `KCallable.name` optimization is used
- [`KT-59211`](https://youtrack.jetbrains.com/issue/KT-59211) Kapt+JVM\_IR: AssertionError on delegating to anonymous object
- [`KT-57251`](https://youtrack.jetbrains.com/issue/KT-57251) K2: weird error message when trying to instantiate an `expect` class without explicit constructor
- [`KT-58623`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-55945) NoSuchMethodError when calling method with value class parameter on java class inherited from kotlin class
- [`KT-58840`](https://youtrack.jetbrains.com/issue/KT-58840) K1/K2: false positive EXPOSED\_FUNCTION\_RETURN\_TYPE related to protected lower bound
- [`KT-57243`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-57833) K2 reports NO\_ACTUAL\_FOR\_EXPECT for inherited properties with the same name
- [`KT-58153`](https://youtrack.jetbrains.com/issue/KT-58153) K2/MPP/JVM\&Native: cannot override Any::toString when an expect-supertype has Any::toString override in actual-class
- [`KT-58124`](https://youtrack.jetbrains.com/issue/KT-58124) K2: FIR2IR compiler crash with MPP (Fir2IrSimpleFunctionSymbol is already bound)
- [`KT-58346`](https://youtrack.jetbrains.com/issue/KT-58346) k2: false negative MUST\_BE\_INITIALIZED for deferred initialization
- [`KT-57803`](https://youtrack.jetbrains.com/issue/KT-57803) K2. "Kotlin: Only the Kotlin standard library is allowed to use the 'kotlin' package" error missing in 2.0
- [`KT-57504`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-57484) K2: false positive OVERLOAD\_RESOLUTION\_AMBIGUITY with ImplicitIntegerCoercion
- [`KT-57971`](https://youtrack.jetbrains.com/issue/KT-57971) K1/K2: False positive "Redundant 'suspend' modifier" warning on declaration site when suspend function is also argument
- [`KT-56779`](https://youtrack.jetbrains.com/issue/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-51793`](https://youtrack.jetbrains.com/issue/KT-51793) FIR: Investigate property+invoke resolution priorities
- [`KT-57003`](https://youtrack.jetbrains.com/issue/KT-57003) FIR: missing annotation on parameter of `data` class' synthetic `copy`
- [`KT-57269`](https://youtrack.jetbrains.com/issue/KT-57269) K2: collection stub for `sort` is not generated for custom List subclasses
- [`KT-54748`](https://youtrack.jetbrains.com/issue/KT-54748) K2: incomprehensible errors when type parameter has the same name as a class
- [`KT-50703`](https://youtrack.jetbrains.com/issue/KT-50703) FIR: Improve reporting UPPER\_BOUND\_VIOLATED for type arguments of typealias constructor calls
- [`KT-57622`](https://youtrack.jetbrains.com/issue/KT-57622) Fix incorrect metadata for data class generated methods
- [`KT-54887`](https://youtrack.jetbrains.com/issue/KT-54887) K2: fix behavior of references to value classes equals/hashCode/toString
- [`KT-58937`](https://youtrack.jetbrains.com/issue/KT-58937) K2: Annotation vararg arguments are incorrectly serialized
- [`KT-58621`](https://youtrack.jetbrains.com/issue/KT-58621) K2: Private class shadows public function defined in the same package
- [`KT-59041`](https://youtrack.jetbrains.com/issue/KT-59041) K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource <implicit>" on incorrect collection declaration
- [`KT-58665`](https://youtrack.jetbrains.com/issue/KT-58665) K2: Optional.of incorrectly accepts nullable String
- [`KT-58938`](https://youtrack.jetbrains.com/issue/KT-58938) K2. Abstract class can be invoked using member reference `::` operator
- [`KT-50798`](https://youtrack.jetbrains.com/issue/KT-50798) FIR: False negative UPPER\_BOUND\_VIOLATED\_IN\_TYPEALIAS\_EXPANSION
- [`KT-58944`](https://youtrack.jetbrains.com/issue/KT-58944) K2. StackOverflowError on incorrect intersection types
- [`KT-59241`](https://youtrack.jetbrains.com/issue/KT-59241) K2: broken inference of DNN types
- [`KT-58294`](https://youtrack.jetbrains.com/issue/KT-58294) K2 compiler crashes with OOM on deserializing annotation applied to itself with a enum outer/nested parameter
- [`KT-58972`](https://youtrack.jetbrains.com/issue/KT-58972) K2: Error message of PRIVATE\_CLASS\_MEMBER\_FROM\_INLINE doesn't mention class members
- [`KT-58989`](https://youtrack.jetbrains.com/issue/KT-58989) K2: Forbid suspend operator get/setValue and provideDelegate
- [`KT-59177`](https://youtrack.jetbrains.com/issue/KT-59177) K2: Report NAMED\_ARGUMENTS\_NOT\_ALLOWED for named parameters in lambdas
- [`KT-57028`](https://youtrack.jetbrains.com/issue/KT-57028) K2: "NSEE: Sequence contains no element matching the predicate" with stream related Java api
- [`KT-58007`](https://youtrack.jetbrains.com/issue/KT-58007) K2: Unsupported compile-time value GET\_FIELD FIELD PROPERTY\_BACKING\_FIELD when const value is default for annotation
- [`KT-58472`](https://youtrack.jetbrains.com/issue/KT-58472) Secondary constructor breaks MUST\_BE\_INITIALIZED check
- [`KT-59022`](https://youtrack.jetbrains.com/issue/KT-59022) Make is and as behaviour consistent in Native
- [`KT-58902`](https://youtrack.jetbrains.com/issue/KT-58902) K2: Calls to overridden method with default parameter are not compiled
- [`KT-58549`](https://youtrack.jetbrains.com/issue/KT-58549) K2: variable type is infered to non-existing interface
- [`KT-58613`](https://youtrack.jetbrains.com/issue/KT-58613) K2: ConcurrentModificationException from FirSignatureEnhancement.performFirstRoundOfBoundsResolution
- [`KT-55552`](https://youtrack.jetbrains.com/issue/KT-55552) K2. False negative TYPE\_MISMATCH in implementation via delegation
- [`KT-57436`](https://youtrack.jetbrains.com/issue/KT-57436) Fix computing mangled names of generic properties from IR-based declaration descriptors
- [`KT-58543`](https://youtrack.jetbrains.com/issue/KT-58543) \[K2/N] Rewrite native MPP tests to avoid expect actual in same module
- [`KT-57701`](https://youtrack.jetbrains.com/issue/KT-57701) Unify selection of inherited callable with default implementation among multiple candidates in JVM, Native & JS backends
- [`KT-58444`](https://youtrack.jetbrains.com/issue/KT-58444) K2/MPP/metadata: compiler FIR2IR crash on constant with intrinsic initializer from common source set in Native-shared source set
- [`KT-57756`](https://youtrack.jetbrains.com/issue/KT-57756) K2: Missing syntax errors when light tree parsing is used
- [`KT-57435`](https://youtrack.jetbrains.com/issue/KT-57435) Fix computing mangled names for functions with context receivers
- [`KT-57219`](https://youtrack.jetbrains.com/issue/KT-57219) K2: incorrect relative order of normal and use-site-targeted annotations on property getter in the resulting bytecode
- [`KT-57955`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-58583) K2: false-positive invisible reference error on nested anonymous object literal extending a protected nested class
- [`KT-57425`](https://youtrack.jetbrains.com/issue/KT-57425) K2: False-positive smartcast on property accessed through a property from another module
- [`KT-57844`](https://youtrack.jetbrains.com/issue/KT-57844) K2. Not relevant errors when accessing Java member which have private overloads with argument type mismatch
- [`KT-58584`](https://youtrack.jetbrains.com/issue/KT-58584) K2: "UninitializedPropertyAccessException: lateinit property packageFqName has not been initialized"
- [`KT-58529`](https://youtrack.jetbrains.com/issue/KT-58529) K2: "Extension function type is not allowed as supertypes" compile error
- [`KT-58379`](https://youtrack.jetbrains.com/issue/KT-58379) K2: NEW\_INFERENCE\_ERROR in sortedBy call with exception in branch
- [`KT-58284`](https://youtrack.jetbrains.com/issue/KT-58284) K2: False negative ITERATOR\_MISSING
- [`KT-55078`](https://youtrack.jetbrains.com/issue/KT-55078) K2 IDE: Infinite recursion in `org.jetbrains.kotlin.fir.java.JavaScopeProvider#findJavaSuperClass`
- [`KT-58080`](https://youtrack.jetbrains.com/issue/KT-58080) K2: False-positive TYPECHECKER\_HAS\_RUN\_INTO\_RECURSIVE\_PROBLEM on annotated const val
- [`KT-58674`](https://youtrack.jetbrains.com/issue/KT-58674) K2: No expected type for while loop condition
- [`KT-56523`](https://youtrack.jetbrains.com/issue/KT-56523) K2 should report MANY\_INTERFACES\_MEMBER\_NOT\_IMPLEMENTED
- [`KT-58238`](https://youtrack.jetbrains.com/issue/KT-58238) Support dumping signatures and mangled names in irText tests
- [`KT-58456`](https://youtrack.jetbrains.com/issue/KT-58456) K2: Custom function type metadata breaks Compose library compatibility
- [`KT-58267`](https://youtrack.jetbrains.com/issue/KT-58267) K/N: do not reference hidden Array.content\* functions from the compiler
- [`KT-57791`](https://youtrack.jetbrains.com/issue/KT-57791) Native: Method returning String? leads to exception: Unexpected receiver type: kotlin.String
- [`KT-58437`](https://youtrack.jetbrains.com/issue/KT-58437) K2: Do not use descriptors in KonanSymbols
- [`KT-57432`](https://youtrack.jetbrains.com/issue/KT-57432) K2: Don't create default getters and setters in case when they are not needed
- [`KT-46047`](https://youtrack.jetbrains.com/issue/KT-46047) FIR: incorrect type of integer literals
- [`KT-57487`](https://youtrack.jetbrains.com/issue/KT-57487) \[K2/N] Stdlib ArraysTest fails with `Class found but error nodes are not allowed`
- [`KT-56951`](https://youtrack.jetbrains.com/issue/KT-56951) K2: False negative error on compound assignment for property of type Byte
- [`KT-57222`](https://youtrack.jetbrains.com/issue/KT-57222) K2: compiler FIR serialization crash on two functions with captured type and object literal
- [`KT-58224`](https://youtrack.jetbrains.com/issue/KT-58224) K2: deprecation on field is not detected properly
- [`KT-55662`](https://youtrack.jetbrains.com/issue/KT-55662) K2. Incorrect type mismatch error "inferred type is IOT" instead of "inferred type is Int"
- [`KT-55668`](https://youtrack.jetbrains.com/issue/KT-55668) K2. 'in' modifier became applicable to star projection
- [`KT-57064`](https://youtrack.jetbrains.com/issue/KT-57064) K2: hidden internals of dealing with type-aliased primitive types are exposed to user
- [`KT-58252`](https://youtrack.jetbrains.com/issue/KT-58252) K2: Symbol already bound for backing field during building resulting JS artifact for MPP project
- [`KT-56940`](https://youtrack.jetbrains.com/issue/KT-56940) K/Wasm: report compiler errors for unsupported external declarations
- [`KT-56943`](https://youtrack.jetbrains.com/issue/KT-56943) K/Wasm: implement `@WasmImport` diagnostics
- [`KT-55903`](https://youtrack.jetbrains.com/issue/KT-55903) K2: False negative CANNOT\_CHECK\_FOR\_ERASED on is-check for type with reified type arguments
- [`KT-56944`](https://youtrack.jetbrains.com/issue/KT-56944) K/Wasm: implement `@JsFun` diagnostics
- [`KT-58329`](https://youtrack.jetbrains.com/issue/KT-58329) K2: False-positive suspend conversion for anonymous functions
- [`KT-58028`](https://youtrack.jetbrains.com/issue/KT-58028) K2: False-positive TYPE\_PARAMETER\_IS\_NOT\_AN\_EXPRESSION
##### Docs & Examples
- [`KT-60545`](https://youtrack.jetbrains.com/issue/KT-60545) Documentation change on Interoperability with Swift/Objective-C: highlight that it is not normal to suppress errors
- [`KT-50927`](https://youtrack.jetbrains.com/issue/KT-50927) Kotlin / Docs: Delete all the information about old Kotlin/Wasm
- [`KT-61398`](https://youtrack.jetbrains.com/issue/KT-61398) Advertise hierarchy templates in 1.9.20-Beta what's new
##### IDE
##### New Features
- [`KTIJ-23199`](https://youtrack.jetbrains.com/issue/KTIJ-23199) K2 IDE: Improve Import quick fix description
- [`KTIJ-26056`](https://youtrack.jetbrains.com/issue/KTIJ-26056) Support highlighting of KNM files
##### Performance Improvements
- [`KTIJ-26688`](https://youtrack.jetbrains.com/issue/KTIJ-26688) UAST: optimize methodNameCanBeOneOf
##### Fixes
- [`KTIJ-26782`](https://youtrack.jetbrains.com/issue/KTIJ-26782) Internal error while highlighting "AndroidHighlighterExtension does not define or inherit highlightDeclaration"
- [`KTIJ-27188`](https://youtrack.jetbrains.com/issue/KTIJ-27188) Bundled DevKit plugin + 1.9.20-Beta\* constantly throws exceptions when opening another plugin codebase
- [`KTIJ-25220`](https://youtrack.jetbrains.com/issue/KTIJ-25220) Kotlin not configured dialog does not show if Kotlin stdlib is anywhere on classpath
- [`KTIJ-25563`](https://youtrack.jetbrains.com/issue/KTIJ-25563) Failed cinterop task becomes UP-TO-DATE and successfully passes on the second import
- [`KTIJ-26536`](https://youtrack.jetbrains.com/issue/KTIJ-26536) IDE in Java file resolves to property with the same name instead of method in the nested class from library
- [`KTIJ-25126`](https://youtrack.jetbrains.com/issue/KTIJ-25126) K2 IDE. No import quickfix for Java static members
- [`KT-60341`](https://youtrack.jetbrains.com/issue/KT-60341) K2 IDE: "UnsupportedOperationException: Unknown type CapturedType(\*)?"
- [`KTIJ-25960`](https://youtrack.jetbrains.com/issue/KTIJ-25960) K2 IDE: KDoc references to static java methods are not resolved
- [`KTIJ-7642`](https://youtrack.jetbrains.com/issue/KTIJ-7642) HMPP, IDE: False positive ''suspend' modifier is not allowed on a single abstract member' for common code if JVM target present
- [`KTIJ-25745`](https://youtrack.jetbrains.com/issue/KTIJ-25745) K2 IDE: "Type info" intention shows the return type of a functional type instead of the functional type itself
- [`KTIJ-26501`](https://youtrack.jetbrains.com/issue/KTIJ-26501) K2: IDE K2: False positive unused import when declaration used for vararg parameter type
- [`KTIJ-26661`](https://youtrack.jetbrains.com/issue/KTIJ-26661) K2 IDE. PIEAE “Element class CompositeElement of type FUN” after removing/putting back function with operator modifier
- [`KTIJ-26672`](https://youtrack.jetbrains.com/issue/KTIJ-26672) K2 IDE: false positive in optimize import for ambiguity calls
- [`KTIJ-26760`](https://youtrack.jetbrains.com/issue/KTIJ-26760) K2 IDE: OVERLOAD\_RESOLUTION\_AMBIGUITY false positive
- [`KTIJ-26867`](https://youtrack.jetbrains.com/issue/KTIJ-26867) K2 IDE: rename refactoring doesn't rename subclasses if they are used in import directives
- [`KTIJ-26848`](https://youtrack.jetbrains.com/issue/KTIJ-26848) K2 IDE: index inconsistency in case of "<no name provided>" name
- [`KTIJ-26666`](https://youtrack.jetbrains.com/issue/KTIJ-26666) K2 IDE: changed FirFile is treated as fully resolved after in-block modification
- [`KT-59836`](https://youtrack.jetbrains.com/issue/KT-59836) Symbol Light Classes: Type parameters from the parent interface aren't copied to DefaultImpls methods
- [`KT-28611`](https://youtrack.jetbrains.com/issue/KT-28611) MPP: Gradle -> IDE: settings provided via `compilations` DSL are not imported into common modules facets
- [`KTIJ-25448`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-60603) K2: Investigate intellij tests failures in branch 2.0
- [`KTIJ-25364`](https://youtrack.jetbrains.com/issue/KTIJ-25364) K2 IDE: References to Java records are red: OVERLOAD\_RESOLUTION\_AMBIGUITY, UNRESOLVED\_REFERENCE
- [`KTIJ-24390`](https://youtrack.jetbrains.com/issue/KTIJ-24390) Kotlin assignment plugin: Imports are not recognized in build logic .kt files for Gradle build
- [`KT-60590`](https://youtrack.jetbrains.com/issue/KT-60590) Fix light classes related tests in branch 2.0
- [`KT-60530`](https://youtrack.jetbrains.com/issue/KT-60530) K2 scripting: exception on .gradle.kts opening
- [`KT-60539`](https://youtrack.jetbrains.com/issue/KT-60539) K2: "KtInaccessibleLifetimeOwnerAccessException: org.jetbrains.kotlin.analysis.api.lifetime.KtReadActionConfinementLifetimeToken`@3ce52fd9` is inaccessible: Using KtLifetimeOwner from previous analysis" at highlighting
- [`KTIJ-26276`](https://youtrack.jetbrains.com/issue/KTIJ-26276) K2 IDE: Optimize import drops used import alias
- [`KT-60518`](https://youtrack.jetbrains.com/issue/KT-60518) K2 IDE. False positive \[NON\_MEMBER\_FUNCTION\_NO\_BODY] when completing function with `Complete current statement`
- [`KT-60323`](https://youtrack.jetbrains.com/issue/KT-60323) K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" exception on contract return type
- [`KT-60352`](https://youtrack.jetbrains.com/issue/KT-60352) K2 IDE. Support Java Records
- [`KT-56503`](https://youtrack.jetbrains.com/issue/KT-56503) K2 IDE: FIR tree is incorrect in a case of ProcessCancelledException was thrown during phase execution
- [`KTIJ-25653`](https://youtrack.jetbrains.com/issue/KTIJ-25653) K2 IDE. "KotlinExceptionWithAttachments: Containing function should be not null for KtParameter" exception on incorrect derived class declaration
- [`KT-59843`](https://youtrack.jetbrains.com/issue/KT-59843) SLC: `KotlinAsJavaSupport.packageExists` (via `KotlinStaticPackageProvider`) said ROOT package doesn't exist if no `KtFile`s are given
- [`KTIJ-26206`](https://youtrack.jetbrains.com/issue/KTIJ-26206) Support retrieving KtType from annotation constructor calls on getters and setters
- [`KT-59445`](https://youtrack.jetbrains.com/issue/KT-59445) Recursion detected on input: JavaAnnotationImpl
- [`KTIJ-26066`](https://youtrack.jetbrains.com/issue/KTIJ-26066) K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" on attempt to set contract
- [`KTIJ-26085`](https://youtrack.jetbrains.com/issue/KTIJ-26085) K2 IDE: treat psi modification of a contact inside a body as OOBM
- [`KTIJ-25869`](https://youtrack.jetbrains.com/issue/KTIJ-25869) K2 IDE. Expected FirResolvedTypeRef for return type of FirValueParameterImpl(Source) but FirImplicitTypeRefImplWithoutSource was found
- [`KTIJ-24272`](https://youtrack.jetbrains.com/issue/KTIJ-24272) K2 IDE: "Expected some types"
- [`KTIJ-24730`](https://youtrack.jetbrains.com/issue/KTIJ-24730) K2 IDE. IllegalStateException on absence of opening bracket in main() function
- [`KT-59533`](https://youtrack.jetbrains.com/issue/KT-59533) AA/SLC: anonymous object appears during PsiType conversion, resulting in IllegalArgumentException:KtFirPsiTypeProviderKt.asPsiTypeElement
- [`KT-59563`](https://youtrack.jetbrains.com/issue/KT-59563) Symbol Light Classes: Incorrect type erasure in $annotations methods for extension properties with generic parameters
- [`KT-57567`](https://youtrack.jetbrains.com/issue/KT-57567) SLC: missing `final` modifier on enum (non-synthetic) members
- [`KT-59537`](https://youtrack.jetbrains.com/issue/KT-59537) SLC: SymbolLightClassForAnonymousObject with null parent
- [`KTIJ-24121`](https://youtrack.jetbrains.com/issue/KTIJ-24121) K2 IDE. "failed to convert element KtLightField" when trying to declare property after function that has return with type mismatch
- [`KTIJ-25335`](https://youtrack.jetbrains.com/issue/KTIJ-25335) K2 IDE. "failed to convert element KtLightField:<no name provided>" on attempt to set property in class with constructor
- [`KT-59293`](https://youtrack.jetbrains.com/issue/KT-59293) Symbol Light Classes: DefaultImpls methods must be static and have an additional $this parameter
- [`KTIJ-25976`](https://youtrack.jetbrains.com/issue/KTIJ-25976) K2 IDE: Fix "Unsupported compiled declaration of type" for type parameters
- [`KT-59325`](https://youtrack.jetbrains.com/issue/KT-59325) Symbol Light Classes: Non-existing fields for properties from companion objects
- [`KT-57579`](https://youtrack.jetbrains.com/issue/KT-57579) SLC: unboxed type argument as method return type
- [`KT-54804`](https://youtrack.jetbrains.com/issue/KT-54804) Generate synthetic functions for annotations on properties in light classes
- [`KT-56200`](https://youtrack.jetbrains.com/issue/KT-56200) Kotlin FIR reference resolve exception leaks user code
- [`KT-58448`](https://youtrack.jetbrains.com/issue/KT-58448) K2 / IDE / SLC: `findAttributeValue` for attribute w/ default value raises ClassCastException
##### IDE. Completion
##### Fixes
- [`KTIJ-26518`](https://youtrack.jetbrains.com/issue/KTIJ-26518) K2 IDE: Code completion does not insert import when completing a type in the vararg position
- [`KTIJ-26713`](https://youtrack.jetbrains.com/issue/KTIJ-26713) K2 IDE: Code completion does not insert import when completing a type inside a functional type
- [`KTIJ-26597`](https://youtrack.jetbrains.com/issue/KTIJ-26597) K2 IDE: "Change return type" quick fix adds full qualified name to anonymous function
- [`KTIJ-26384`](https://youtrack.jetbrains.com/issue/KTIJ-26384) K2 IDE: Extension functions completion should recognize context receivers
- [`KTIJ-26419`](https://youtrack.jetbrains.com/issue/KTIJ-26419) K2 IDE: Completion in anonymous function inside when branch expression does not account for smart cast
- [`KTIJ-26629`](https://youtrack.jetbrains.com/issue/KTIJ-26629) K2 IDE: Completion of types in anonymous function return is not shortened
- [`KTIJ-26599`](https://youtrack.jetbrains.com/issue/KTIJ-26599) K2 IDE: Typing `do ... while` statement: InvalidFirElementTypeException: "For DO\_WHILE with text... FirExpression expected, but FirDoWhileLoopImpl found"
- [`KTIJ-26113`](https://youtrack.jetbrains.com/issue/KTIJ-26113) K2 IDE: Completion in when branch does not account for smart casts if `else` branch is present
- [`KT-60451`](https://youtrack.jetbrains.com/issue/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-21103`](https://youtrack.jetbrains.com/issue/KTIJ-21103) FIR IDE: implement completion In Kdoc
- [`KTIJ-24096`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KTIJ-25116) K2 IDE: Name shortening in constructor's parameters affects constructor
- [`KTIJ-19863`](https://youtrack.jetbrains.com/issue/KTIJ-19863) Bad completion variants inside annotations
##### IDE. Decompiler, Indexing, Stubs
- [`KTIJ-26706`](https://youtrack.jetbrains.com/issue/KTIJ-26706) Bytecode viewer: "IllegalStateException: Couldn't find declaration file" for a file with a delegated property with inline accessor in another module
- [`KTIJ-25465`](https://youtrack.jetbrains.com/issue/KTIJ-25465) IDE hangs when indexing Kotlin project
- [`KTIJ-25979`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KTIJ-25985) Stub mismatch for names with special characters
##### IDE. Gradle Integration
- [`KTIJ-25334`](https://youtrack.jetbrains.com/issue/KTIJ-25334) Gradle 8.1: Unresolved references in IDE for build.gradle.kts
- [`KT-61777`](https://youtrack.jetbrains.com/issue/KT-61777) Explicit API mode isn't reflected in IDE settings unless every task is configured with Gradle
- [`KTIJ-26306`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-61172) MPP: Stacktraces of diagnostics are always printed during IDEA sync
- [`KT-48554`](https://youtrack.jetbrains.com/issue/KT-48554) \[Multiplatform Import] Ensure consistency between `GradleImportProperties` and `PropertiesProvider`
- [`KT-36677`](https://youtrack.jetbrains.com/issue/KT-36677) MPP Gradle plugin doesn't respect manually set compiler arg `-opt-in`
- [`KT-58696`](https://youtrack.jetbrains.com/issue/KT-58696) MPP + IDEA: tryK2 does not affect LV value of common facets
- [`KT-53875`](https://youtrack.jetbrains.com/issue/KT-53875) Warn users about erroneously adding dependsOn from `test` to `main`
- [`KTIJ-23890`](https://youtrack.jetbrains.com/issue/KTIJ-23890) Gradle to IDEA import: "You are currently using the Kotlin/JS Legacy toolchain" balloon is shown when I actually use IR
##### IDE. Gradle. Script
- [`KTIJ-25523`](https://youtrack.jetbrains.com/issue/KTIJ-25523) Scripts: support for standalone configuration flag
- [`KTIJ-25910`](https://youtrack.jetbrains.com/issue/KTIJ-25910) Scripts: transition to GistStorage
- [`KTIJ-26778`](https://youtrack.jetbrains.com/issue/KTIJ-26778) Gradle 8.3: some parts of build.gradle.kts look unresolved
- [`KTIJ-26308`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-60171) K2 IDE: scripting freeze on kotlin project build.gradle.kts file
- [`KT-60236`](https://youtrack.jetbrains.com/issue/KT-60236) K2 scripting: completion fails with exception
- [`KT-59801`](https://youtrack.jetbrains.com/issue/KT-59801) K2 IDE: Adding of an import with a task name to a build script leads to unresolved references
- [`KT-60749`](https://youtrack.jetbrains.com/issue/KT-60749) Scripting: default definition as a fallback
- [`KT-60199`](https://youtrack.jetbrains.com/issue/KT-60199) K2 scripting: exception on script opening
- [`KT-60193`](https://youtrack.jetbrains.com/issue/KT-60193) K2 scripts: configuration discovery fails silently from time to time
##### IDE. Hints. Parameter Info
- [`KTIJ-26824`](https://youtrack.jetbrains.com/issue/KTIJ-26824) K2 IDE: "Parameter Info" shows incorrect overload as selected
##### IDE. Inspections and Intentions
##### New Features
- [`KTIJ-26302`](https://youtrack.jetbrains.com/issue/KTIJ-26302) K2 IDE: Support adding a `@OptIn` annotation and suggesting to propagate opt-in requirement in quickFixes
- [`KTIJ-25002`](https://youtrack.jetbrains.com/issue/KTIJ-25002) Provide a quick fix to migrate use-site 'get' annotations on getters
##### Fixes
- [`KTIJ-24832`](https://youtrack.jetbrains.com/issue/KTIJ-24832) K2 IDE: 'Redundant qualifier name' false positive for nested classes from supertypes on the outside of a class
- [`KTIJ-26103`](https://youtrack.jetbrains.com/issue/KTIJ-26103) K2 IDE: False positive in redundant qualifier inspection
- [`KTIJ-26024`](https://youtrack.jetbrains.com/issue/KTIJ-26024) K2 IDE: False positive "Redundant qualifier" inspection on a nested class which extends its outer class
- [`KTIJ-26576`](https://youtrack.jetbrains.com/issue/KTIJ-26576) K2 IDE: "Redundant qualifier" false positive with referring parent's subclass in type constraint
- [`KTIJ-26785`](https://youtrack.jetbrains.com/issue/KTIJ-26785) K2 IDE: False positive "Redundant qualifier" inspection in extension function for Java interface with nested interface
- [`KTIJ-26695`](https://youtrack.jetbrains.com/issue/KTIJ-26695) K2 IDE. False negative "Redundant qualifier" directive for invoke function from object
- [`KTIJ-26627`](https://youtrack.jetbrains.com/issue/KTIJ-26627) K2 IDE: False positive "Redundant qualifier" inspection on extension property called on object when other 'this' is present in scope
- [`KTIJ-23407`](https://youtrack.jetbrains.com/issue/KTIJ-23407) K2 IDE. False positive unused import directive for invoke function from object
- [`KTIJ-26808`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KTIJ-26498) KMP: Create expect-actual dialog selects incorrect path on Windows
- [`KTIJ-24877`](https://youtrack.jetbrains.com/issue/KTIJ-24877) K2 IDE. False negative unused import directive when declaration is available in file indirectly
- [`KTIJ-25368`](https://youtrack.jetbrains.com/issue/KTIJ-25368) K2 IDE. Specify type explicitly intention does not work with Java records
##### IDE. JS
- [`KTIJ-25023`](https://youtrack.jetbrains.com/issue/KTIJ-25023) K/JS: Remove balloon warning about migration to IR backend
##### IDE. Libraries
- [`KTIJ-13660`](https://youtrack.jetbrains.com/issue/KTIJ-13660) MPP library: No gutters for `expect` and `actual` symbols
##### IDE. Misc
- [`KT-60053`](https://youtrack.jetbrains.com/issue/KT-60053) IdeaKotlinBinaryCoordinates doesn't respect capabilities and classifier attributes
##### IDE. Multiplatform
##### Fixes
- [`KTIJ-26700`](https://youtrack.jetbrains.com/issue/KTIJ-26700) KMP: false positive report of non matching expect and actual annotations if annotation is actual typealias
- [`KTIJ-25997`](https://youtrack.jetbrains.com/issue/KTIJ-25997) KotlinMPPGradleTestTasksProvider: Support jvm targets with other names (such as android)
- [`KT-61686`](https://youtrack.jetbrains.com/issue/KT-61686) Check and update places in compiler and IDE where we are saying that MPP is experimental/Beta/Alpha
- [`KTIJ-27058`](https://youtrack.jetbrains.com/issue/KTIJ-27058) Wizard's KMM application failed to build in 232 AS
- [`KT-59760`](https://youtrack.jetbrains.com/issue/KT-59760) \[BUG] Use bundled version of Kotlin IDE Plugin in KMM Tests instead of custom
- [`KT-61520`](https://youtrack.jetbrains.com/issue/KT-61520) Sources.jar is not imported for common and intermediate source-sets from the MPP library
- [`KTIJ-25842`](https://youtrack.jetbrains.com/issue/KTIJ-25842) MPP: New create expect/actual dialog uses deprecated location for android instrumented actual counterpart
- [`KTIJ-25746`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-60410) Add minimum supported KGP version in intellij.git infrastructure
- [`KT-59794`](https://youtrack.jetbrains.com/issue/KT-59794) Bump used KGP in multiplatform intellij.git tests after release 1.9.0
- [`KT-59518`](https://youtrack.jetbrains.com/issue/KT-59518) Cherry-pick old-import tests into 231-1.9.0/master
- [`KT-56736`](https://youtrack.jetbrains.com/issue/KT-56736) Investigate how-to run multiplatform tests on real devices
- [`KT-59519`](https://youtrack.jetbrains.com/issue/KT-59519) Bump AGP versions in intellij.git tests in master
- [`KTIJ-25591`](https://youtrack.jetbrains.com/issue/KTIJ-25591) MPP: Create expect/actual dialog doesn't allow selecting all targets
- [`KT-56684`](https://youtrack.jetbrains.com/issue/KT-56684) Adopt KMM UI tests to be used with IDEA
- [`KT-50952`](https://youtrack.jetbrains.com/issue/KT-50952) MPP: Commonized cinterops doesn't attach/detach to source set on configuration changes
##### IDE. Navigation
- [`KT-61894`](https://youtrack.jetbrains.com/issue/KT-61894) Navigation from java sources leads to Kotlin decompiled code in case of suspend function
- [`KTIJ-27053`](https://youtrack.jetbrains.com/issue/KTIJ-27053) Value parameters documentation of expect isn't shown in actuals
- [`KTIJ-26292`](https://youtrack.jetbrains.com/issue/KTIJ-26292) Documentation for expect/actual comes from a random actual
- [`KTIJ-26441`](https://youtrack.jetbrains.com/issue/KTIJ-26441) K2 IDE: navigation doesn't work when type parameters are missed in annotation call
- [`KTIJ-26566`](https://youtrack.jetbrains.com/issue/KTIJ-26566) K2 IDE: don't show no-name parameters in presentations
- [`KTIJ-25366`](https://youtrack.jetbrains.com/issue/KTIJ-25366) K2 IDE. Go to declaration of Java record shows record and constructor
##### IDE. Refactorings. Rename
- [`KTIJ-25762`](https://youtrack.jetbrains.com/issue/KTIJ-25762) K2 IDE. label rename doesn't change it's name in usages after rename refactoring
##### IDE. Script
- [`KTIJ-25989`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-60519) Analysis API: scripts are not invalidated on PCE
- [`KTIJ-26670`](https://youtrack.jetbrains.com/issue/KTIJ-26670) K2 Scripts: We should be able to find a symbol for <CLASS>
- [`KTIJ-25731`](https://youtrack.jetbrains.com/issue/KTIJ-25731) KtAssignResolutionPresenceService is not available as a service in 231-1.9.20
- [`KT-60307`](https://youtrack.jetbrains.com/issue/KT-60307) K2 IDE. KotlinExceptionWithAttachments in script file
##### IDE. Wizards
- [`KTIJ-27005`](https://youtrack.jetbrains.com/issue/KTIJ-27005) Wizards 232: Fix generated kotlin version for 1.9.20-Beta
- [`KTIJ-26846`](https://youtrack.jetbrains.com/issue/KTIJ-26846) Adjust compatibility data for 1.9.20 release
- [`KTIJ-26479`](https://youtrack.jetbrains.com/issue/KTIJ-26479) 1.9.20: Update versions in wizards
- [`KT-59347`](https://youtrack.jetbrains.com/issue/KT-59347) Rename Compose Multiplatform wizard to Compose for Desktop
##### IR. Interpreter
- [`KT-60467`](https://youtrack.jetbrains.com/issue/KT-60467) "InternalError: Companion object \* cannot be interpreted" caused by java's package name
- [`KT-60744`](https://youtrack.jetbrains.com/issue/KT-60744) Restore binary compatibility of toIrConst function
##### IR. Tree
- [`KT-59771`](https://youtrack.jetbrains.com/issue/KT-59771) Restore compatibility of IdSignature.CommonSignature
- [`KT-59772`](https://youtrack.jetbrains.com/issue/KT-59772) Restore compatibility of IrFactory#createFunction
- [`KT-59308`](https://youtrack.jetbrains.com/issue/KT-59308) Auto-generate the IrFactory interface
##### JS. Tools
- [`KT-44838`](https://youtrack.jetbrains.com/issue/KT-44838) Kotlin/JS source-map-loader slow performance since 1.4.0
##### JavaScript
##### New Features
- [`KT-58684`](https://youtrack.jetbrains.com/issue/KT-58684) KJS: ES15 classes — creating instance by class
##### Performance Improvements
- [`KT-58187`](https://youtrack.jetbrains.com/issue/KT-58187) KJS / IR: Huge performance bottleneck while generating sourceMaps (getCannonicalFile)
##### Fixes
- [`KT-60425`](https://youtrack.jetbrains.com/issue/KT-60425) Kotlin/JS compiler incorrect behavior for object singleton with CompleteableDeferred
- [`KT-62790`](https://youtrack.jetbrains.com/issue/KT-62790) java.lang.ClassCastException in compiler when ::class is used
- [`KT-60495`](https://youtrack.jetbrains.com/issue/KT-60495) K2: Make JS CliTestGenerated working with K2
- [`KT-6168`](https://youtrack.jetbrains.com/issue/KT-6168) Ability to generate one JS file for each Kotlin source file
- [`KT-60667`](https://youtrack.jetbrains.com/issue/KT-60667) K2 / KJS: jsTest fails with "SyntaxError: Unexpected token '}'" on runtime
- [`KT-61581`](https://youtrack.jetbrains.com/issue/KT-61581) KJS: generate separate imports for useEsModules()
- [`KT-56737`](https://youtrack.jetbrains.com/issue/KT-56737) K2: build Space JS
- [`KT-59001`](https://youtrack.jetbrains.com/issue/KT-59001) K/JS: Use open-addressing hash map in JS stdlib
- [`KT-60131`](https://youtrack.jetbrains.com/issue/KT-60131) KJS: Interference between `@JsExport` and final implementation of properties
- [`KT-59712`](https://youtrack.jetbrains.com/issue/KT-59712) K/JS: Implement enumEntries intrinsic
- [`KT-60202`](https://youtrack.jetbrains.com/issue/KT-60202) JsExport.Ignored internal extension still has "JavaScript name (<get-const>) generated for this declaration clashes with another declaration"
- [`KT-51333`](https://youtrack.jetbrains.com/issue/KT-51333) KJS: some `KType` equals `Nothing`'s `KType` throws an exception, breaking its symmetry
- [`KT-58857`](https://youtrack.jetbrains.com/issue/KT-58857) KJS/IR: js file is not generated when source is stored in /var folder
- [`KT-53482`](https://youtrack.jetbrains.com/issue/KT-53482) KJS: Inheritance from JS class fails in ES6, because constructor is not called with new
- [`KT-58891`](https://youtrack.jetbrains.com/issue/KT-58891) K/JS: non-local return in lambda may leave an unreachable JS code after return
- [`KT-49077`](https://youtrack.jetbrains.com/issue/KT-49077) KJS / IR: Wrong method called when using overloaded methods and class with the same name
- [`KT-59718`](https://youtrack.jetbrains.com/issue/KT-59718) K/JS: Concatenating a String with a Char can lead to boxing of the Char
- [`KT-59717`](https://youtrack.jetbrains.com/issue/KT-59717) K/JS: a redundant boxing of a returned Char from an inline function
- [`KT-39506`](https://youtrack.jetbrains.com/issue/KT-39506) Kotlin/JS browser application using JS IR and React fails in runtime with "TypeError: \_this\_\_0.\_set\_name\_\_2 is not a function"
- [`KT-59151`](https://youtrack.jetbrains.com/issue/KT-59151) K2 / KJS: NullPointerException in Fir2IrClassifierStorage.preCacheBuiltinClasses
- [`KT-59335`](https://youtrack.jetbrains.com/issue/KT-59335) K/JS ES6 classes: A child constructor, when using parent secondary constructor super call, creates a parent object
- [`KT-58797`](https://youtrack.jetbrains.com/issue/KT-58797) Optimize the code generated for objects on JS and Wasm backends
- [`KT-52339`](https://youtrack.jetbrains.com/issue/KT-52339) FIx failing JS tests after bootstrap update
- [`KT-46643`](https://youtrack.jetbrains.com/issue/KT-46643) KJS / IR: Setter of overridden var of external val is removed
- [`KT-55315`](https://youtrack.jetbrains.com/issue/KT-55315) IR: can't access the `stack` property of `Throwable`
- [`KT-59204`](https://youtrack.jetbrains.com/issue/KT-59204) Automatically generate NATIVE directive in tests for IR signatures
- [`KT-59239`](https://youtrack.jetbrains.com/issue/KT-59239) K/JS: Bridge not generated for checking parameter type in generic class override
- [`KT-57347`](https://youtrack.jetbrains.com/issue/KT-57347) KJS: BE IR Incremental cache invalidation doesn't work after inserting Partial Linkage stub
- [`KT-58599`](https://youtrack.jetbrains.com/issue/KT-58599) KJS: Adding an override method to open class does not rebuild children JS code
- [`KT-58003`](https://youtrack.jetbrains.com/issue/KT-58003) K2/MPP/JS: compiler IR serialization crash on multiple calls to inherited expect-function
- [`KT-38017`](https://youtrack.jetbrains.com/issue/KT-38017) KJS: tests generate invalid code depending on file names
- [`KT-25796`](https://youtrack.jetbrains.com/issue/KT-25796) KJS: Top-level constructs are put in an incorrect order
- [`KT-58396`](https://youtrack.jetbrains.com/issue/KT-58396) KJS / IR: "IllegalStateException: Validation failed in file" with Enum.entries and inheritance
##### KMM Plugin
- [`KTIJ-27158`](https://youtrack.jetbrains.com/issue/KTIJ-27158) Import is failing after creation of new module if project don't use versionCatalog
- [`KT-59492`](https://youtrack.jetbrains.com/issue/KT-59492) KMM AS plugin for Canary 231 reports error
##### Klibs
- [`KT-58877`](https://youtrack.jetbrains.com/issue/KT-58877) \[klib tool] add ability to dump klib ir
- [`KT-54402`](https://youtrack.jetbrains.com/issue/KT-54402) Programmatic API to dump public signatures from KLibs
- [`KT-60576`](https://youtrack.jetbrains.com/issue/KT-60576) Keep supported IR signature versions in manifest
- [`KT-59136`](https://youtrack.jetbrains.com/issue/KT-59136) \[PL] Lower the default PL engine messages log level down to INFO
- [`KT-59486`](https://youtrack.jetbrains.com/issue/KT-59486) klib: Serialize mangled names along with signatures
##### Language Design
- [`KT-22841`](https://youtrack.jetbrains.com/issue/KT-22841) Prohibit different member scopes for non-final expect and its actual
- [`KT-49175`](https://youtrack.jetbrains.com/issue/KT-49175) Inconsistency with extension super-type allowance between suspend / non-suspend function types
- [`KT-61573`](https://youtrack.jetbrains.com/issue/KT-61573) Emit the compilation warning on expect/actual classes. The warning must mention that expect/actual classes are in Beta
- [`KT-57614`](https://youtrack.jetbrains.com/issue/KT-57614) KMP: consider prohibiting `actual typealias` when the corresponding `expect class` has default arguments
- [`KT-27750`](https://youtrack.jetbrains.com/issue/KT-27750) Reverse reservation of 'yield' as keyword
##### Libraries
##### New Features
- [`KT-59440`](https://youtrack.jetbrains.com/issue/KT-59440) Rework Flags API in kotlinx-metadata-jvm
##### Fixes
- [`KT-62381`](https://youtrack.jetbrains.com/issue/KT-62381) K/Wasm: (re)publish libraries with 1.9.20-Beta2 (or newer if available)
- [`KT-62656`](https://youtrack.jetbrains.com/issue/KT-62656) Drop `@AllowDifferentMembersInActual` from stdlib
- [`KT-58887`](https://youtrack.jetbrains.com/issue/KT-58887) Reflection: "IllegalArgumentException: argument type mismatch" when using reflection to invoke a value class returning function that suspends
- [`KT-61507`](https://youtrack.jetbrains.com/issue/KT-61507) Native: enum hashcode is not final
- [`KT-56106`](https://youtrack.jetbrains.com/issue/KT-56106) Migrate stdlib to current Kotlin Multiplatform Plugin
- [`KT-58402`](https://youtrack.jetbrains.com/issue/KT-58402) Migrate Vector128 from kotlin.native to kotlinx.cinterop
- [`KT-60911`](https://youtrack.jetbrains.com/issue/KT-60911) Compatibility publishing of kotlin-stdlib-common
- [`KT-53154`](https://youtrack.jetbrains.com/issue/KT-53154) Deprecate enumValues and replace it with enumEntries in standard library
- [`KT-58123`](https://youtrack.jetbrains.com/issue/KT-58123) Update deprecations in native atomic classes for 1.9.20
- [`KT-60444`](https://youtrack.jetbrains.com/issue/KT-60444) transformJvmMainAtomicfu fails with java.lang.NoSuchMethodError: 'kotlin.Metadata kotlinx.metadata.jvm.KotlinClassMetadata.getAnnotationData()'
- [`KT-61342`](https://youtrack.jetbrains.com/issue/KT-61342) kotlin-test-wasm-\* artifacts include test code
- [`KT-61315`](https://youtrack.jetbrains.com/issue/KT-61315) Publish common sources in kotlin-test-js sources jar
- [`KT-56608`](https://youtrack.jetbrains.com/issue/KT-56608) WASI Preview1 version of Kotlin/Wasm stdlib
- [`KT-55765`](https://youtrack.jetbrains.com/issue/KT-55765) Review and stabilize stdlib surface available in K/N
- [`KT-55297`](https://youtrack.jetbrains.com/issue/KT-55297) kotlin-stdlib should declare constraints on kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7
- [`KT-57838`](https://youtrack.jetbrains.com/issue/KT-57838) Native: raise ExperimentalNativeApi opt-in requirement level to ERROR
- [`KT-61028`](https://youtrack.jetbrains.com/issue/KT-61028) Behavioural changes to the Native stdlib API
- [`KT-61024`](https://youtrack.jetbrains.com/issue/KT-61024) Native: Mark the kotlin.native.CName annotation with ExperimentalNativeApi
- [`KT-61025`](https://youtrack.jetbrains.com/issue/KT-61025) Native: Deprecate HashSet.getElement() with WARNING
- [`KT-53791`](https://youtrack.jetbrains.com/issue/KT-53791) Publish standard library as a multiplatform artifact with Gradle metadata
- [`KT-57363`](https://youtrack.jetbrains.com/issue/KT-57363) Remove reified constraint from Array constructors in platforms where Array type parameter is not required to be reified
- [`KT-57401`](https://youtrack.jetbrains.com/issue/KT-57401) Native: Regex matching zero length should split surrogate pairs
- [`KT-57359`](https://youtrack.jetbrains.com/issue/KT-57359) Provide Common StringBuilder.append/insert with primitive type arguments
- [`KT-58264`](https://youtrack.jetbrains.com/issue/KT-58264) K2: republish kotlinx.metadata to support LV 2.0
- [`KT-57710`](https://youtrack.jetbrains.com/issue/KT-57710) Native: Internalize `@Retain` and `@RetainForTarget` annotations
- [`KT-57720`](https://youtrack.jetbrains.com/issue/KT-57720) Native: Consider strictening NativeRuntimeApi opt-in requirement level to ERROR
- [`KT-57837`](https://youtrack.jetbrains.com/issue/KT-57837) Deprecate kotlin.native.SharedImmutable and kotlin.native.concurrent.SharedImmutable
- [`KT-58126`](https://youtrack.jetbrains.com/issue/KT-58126) Wasm: Consider removing Primitive.equals(Primitive) overload on primitive types
- [`KT-53327`](https://youtrack.jetbrains.com/issue/KT-53327) Migrate all usages of 'Enum.values' to 'Enum.entries' in standard library
- [`KT-59366`](https://youtrack.jetbrains.com/issue/KT-59366) Deprecate KmModule.annotations
- [`KT-59365`](https://youtrack.jetbrains.com/issue/KT-59365) Get rid of two-stage parsing in KotlinClassMetadata
- [`KT-35116`](https://youtrack.jetbrains.com/issue/KT-35116) Enum.valueOf throws inconsistent exception across multiple platforms
- [`KT-59223`](https://youtrack.jetbrains.com/issue/KT-59223) Native Enum.hashCode should return identity hash code, similar to JVM
- [`KT-56637`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-59192) Align behavior of collection constructors across platforms
##### Native
##### New Features
- [`KT-50463`](https://youtrack.jetbrains.com/issue/KT-50463) Native: Provide a way to control the KONAN\_DATA\_DIR by the Gradle mechanisms
- [`KT-59448`](https://youtrack.jetbrains.com/issue/KT-59448) K2: IR and FIR signatures are not same for composable functions
##### Fixes
- [`KT-60230`](https://youtrack.jetbrains.com/issue/KT-60230) Native: "unknown options: -ios\_simulator\_version\_min -sdk\_version" with Xcode 15 beta 3
- [`KT-62532`](https://youtrack.jetbrains.com/issue/KT-62532) Support Xcode 15.0 frameworks as Kotlin/Native platform libraries
- [`KT-61382`](https://youtrack.jetbrains.com/issue/KT-61382) Linking XCFramework fails with error: Invalid record (Producer: 'LLVM11.1.0' Reader: 'LLVM APPLE\_1\_1300.0.29.30\_0')
- [`KT-61417`](https://youtrack.jetbrains.com/issue/KT-61417) Native: string and array variables are not properly displayed in lldb when compiling with caches with Xcode 15
- [`KT-60758`](https://youtrack.jetbrains.com/issue/KT-60758) Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4
- [`KT-59149`](https://youtrack.jetbrains.com/issue/KT-59149) Native: check compiler compatibility with Xcode 15 beta 1
- [`KT-58537`](https://youtrack.jetbrains.com/issue/KT-58537) iOS project fails to build with rootProject.name = "Contains Space"
- [`KT-59073`](https://youtrack.jetbrains.com/issue/KT-59073) Native: don't include kotlinx.cli endorsed library into compiler distribution
- [`KT-58707`](https://youtrack.jetbrains.com/issue/KT-58707) \[K/N] Compiler crash building generics with redundant cast
- [`KT-58654`](https://youtrack.jetbrains.com/issue/KT-58654) Compiler error from kotlin.collections.Map : "Invalid phi record", while compiling for kotlin native
##### Native. C Export
- [`KT-56182`](https://youtrack.jetbrains.com/issue/KT-56182) \[K2/N] C export doesn't work for non-root packages with K2
##### Native. C and ObjC Import
- [`KT-59642`](https://youtrack.jetbrains.com/issue/KT-59642) Remove ability to import forward declaration by library package name
- [`KT-59643`](https://youtrack.jetbrains.com/issue/KT-59643) K2: Disable merging of forward declaration with real declaration class
- [`KT-52882`](https://youtrack.jetbrains.com/issue/KT-52882) MPP / Native: expect/actual mechanism broken when base contract is NSObjectProtocol
- [`KT-55578`](https://youtrack.jetbrains.com/issue/KT-55578) Custom user message for linker error
- [`KT-58585`](https://youtrack.jetbrains.com/issue/KT-58585) \[K2/N] Fix interop issues
- [`KT-56041`](https://youtrack.jetbrains.com/issue/KT-56041) \[K2/N] Fix broken \_\_builtin\_nanf(String)
- [`KT-57716`](https://youtrack.jetbrains.com/issue/KT-57716) \[K2/N] Validation failed in file smoke.kt : unexpected type: expected platform.objc.Protocol?, got objcnames.classes.Protocol?
- [`KT-56028`](https://youtrack.jetbrains.com/issue/KT-56028) \[K2/N] `cnames.structs.Foo` does not resolve
- [`KT-59645`](https://youtrack.jetbrains.com/issue/KT-59645) Cast to objective C forward declaration crashes compiler
- [`KT-58793`](https://youtrack.jetbrains.com/issue/KT-58793) \[K2/N] Package separators after mangling are different for IR and FIR
##### Native. ObjC Export
- [`KT-56090`](https://youtrack.jetbrains.com/issue/KT-56090) \[K2/N] Emit DocString klib extensions for ObjCExport
##### Native. Runtime. Memory
- [`KT-61914`](https://youtrack.jetbrains.com/issue/KT-61914) Kotlin/Native: massive increase in memory usage
- [`KT-61092`](https://youtrack.jetbrains.com/issue/KT-61092) Kotlin/Native: Adjust initial values for expected heap size
- [`KT-61091`](https://youtrack.jetbrains.com/issue/KT-61091) Kotlin/Native: GC scheduler pauses mutators too aggressively
- [`KT-61741`](https://youtrack.jetbrains.com/issue/KT-61741) Kotlin/Native: tsan error in parallel mark
- [`KT-57773`](https://youtrack.jetbrains.com/issue/KT-57773) Kotlin/Native: track memory in big chunks in the GC scheduler
- [`KT-61089`](https://youtrack.jetbrains.com/issue/KT-61089) Kotlin/Native: fix concurrent weak processing for new allocations
- [`KT-55364`](https://youtrack.jetbrains.com/issue/KT-55364) Implement custom allocator for Kotlin/Native
- [`KT-57772`](https://youtrack.jetbrains.com/issue/KT-57772) Kotlin/Native: concurrently process weak references in GC
- [`KT-57771`](https://youtrack.jetbrains.com/issue/KT-57771) Kotlin/Native: parallel mark in GC
##### Native. Stdlib
- [`KT-60608`](https://youtrack.jetbrains.com/issue/KT-60608) Introduce AtomicArrays API in K/N stdlib
- [`KT-59120`](https://youtrack.jetbrains.com/issue/KT-59120) Native: Rewrite stdlib AtomicReference with Volatile instead of custom C++ code
##### Reflection
- [`KT-47973`](https://youtrack.jetbrains.com/issue/KT-47973) Reflection: "IllegalArgumentException: argument type mismatch" when using callSuspend to call a function returning value class over primitive
- [`KT-41373`](https://youtrack.jetbrains.com/issue/KT-41373) "KotlinReflectionInternalError: Unresolved class" when inspecting anonymous Java class
- [`KT-61304`](https://youtrack.jetbrains.com/issue/KT-61304) Reflection: Calling data class `copy` method via reflection (callBy) fails when the data class has exactly 64 fields
- [`KT-52071`](https://youtrack.jetbrains.com/issue/KT-52071) Continue gracefully when the system property check "kotlin.ignore.old.metadata" fails
##### Tools. CLI
- [`KT-60662`](https://youtrack.jetbrains.com/issue/KT-60662) Add JVM target bytecode version 21
- [`KT-58183`](https://youtrack.jetbrains.com/issue/KT-58183) ParseCommandLineArgumentsKt.parseCommandLineArguments takes \~500ms
- [`KT-58690`](https://youtrack.jetbrains.com/issue/KT-58690) OutOfMemory when compiling in CLI
- [`KT-58065`](https://youtrack.jetbrains.com/issue/KT-58065) K2: Enable light tree instead of PSI for CLI compilation of JS and Native by default
##### Tools. CLI. Native
- [`KT-59245`](https://youtrack.jetbrains.com/issue/KT-59245) \[K1/N] Compile sources to native binary in two stages
- [`KT-56855`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-58979) \[K2/N] FIR frontend cannot resolve symbols from resolved klib having non-normalized path
##### Tools. Commonizer
- [`KT-59302`](https://youtrack.jetbrains.com/issue/KT-59302) Commonizer: make sure that opt-in annotation generated by cinterop made it into commonized artifact
- [`KT-62028`](https://youtrack.jetbrains.com/issue/KT-62028) False positive "Unnecessary '`@OptIn`' Annotation" for ExperimentalForeignApi
- [`KT-55757`](https://youtrack.jetbrains.com/issue/KT-55757) `kotlinx.cinterop.UnsafeNumber`: empty opt-in message
- [`KT-59859`](https://youtrack.jetbrains.com/issue/KT-59859) Change the OptIn Level to Error for kotlinx.cinterop.UnsafeNumber
- [`KT-59132`](https://youtrack.jetbrains.com/issue/KT-59132) K2/Native/CInterop: \[UPPER\_BOUND\_VIOLATED] Type argument is not within its bounds: should be subtype of 'kotlinx/cinterop/CPointed'
- [`KT-58822`](https://youtrack.jetbrains.com/issue/KT-58822) Kotlin Gradle Plugin: migrate tests off native deprecated targets
- [`KT-47641`](https://youtrack.jetbrains.com/issue/KT-47641) Enabled cInterop commonization triggers native compilation during Gradle sync in IDE
##### Tools. Compiler Plugin API
- [`KT-58638`](https://youtrack.jetbrains.com/issue/KT-58638) K2: Annotations generated by IR plugins are not included into metadata
- [`KT-61872`](https://youtrack.jetbrains.com/issue/KT-61872) K2: Adding annotations to metadata from backend plugin doesn't work in the presence of comments on annotated declaration
- [`KT-61833`](https://youtrack.jetbrains.com/issue/KT-61833) K2: annotations added via `addMetadataVisibleAnnotationsToElement` to declarations from common sourceset in MPP project are invisible
- [`KT-60051`](https://youtrack.jetbrains.com/issue/KT-60051) K2: Support metadata serialization of primitive const annotation arguments generated by IR plugins
##### Tools. Compiler Plugins
- [`KT-61550`](https://youtrack.jetbrains.com/issue/KT-61550) \[atomicfu-compiler-plugin]: check that atomic properties are declared as private or internal val
- [`KT-58079`](https://youtrack.jetbrains.com/issue/KT-58079) K2/atomicfu: JVM IR transformer crash on atomic extension functions
- [`KT-61293`](https://youtrack.jetbrains.com/issue/KT-61293) Usage of atomicfu compiler plugin leads to UnsupportedClassVersionError if Gradle runs on JVM <11
- [`KT-55876`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-58049) K2: Smartcast of nullable property fails when Spring compiler plugin is present
- [`KT-57468`](https://youtrack.jetbrains.com/issue/KT-57468) Kotlin assignment plugin: operation name cannot be found for reference
##### Tools. Compiler plugins. Serialization
- [`KT-58501`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-59768) kotlinx.serialization + K2 + JS/Native: Support meta-annotations on sealed interfaces with user-defined companions
##### Tools. Gradle
##### New Features
- [`KT-59000`](https://youtrack.jetbrains.com/issue/KT-59000) Default standard library dependency should use the single artifact for all targets
- [`KT-57398`](https://youtrack.jetbrains.com/issue/KT-57398) Add ability to run compilation via build-tools-api
- [`KT-34901`](https://youtrack.jetbrains.com/issue/KT-34901) Gradle testFixtures don't have friendPaths set
- [`KT-44833`](https://youtrack.jetbrains.com/issue/KT-44833) Gradle DSL: Add `languageSettings` accessor to `kotlin` extension that applies to all source sets
- [`KT-58315`](https://youtrack.jetbrains.com/issue/KT-58315) Add build metrics for Kotlin/Native task
##### Performance Improvements
- [`KT-62318`](https://youtrack.jetbrains.com/issue/KT-62318) Android Studio sync memory leak in 1.9.20-Beta
- [`KT-62496`](https://youtrack.jetbrains.com/issue/KT-62496) Configuration time regression with KGP 1.9.20-Beta caused by loading of properties
- [`KT-61426`](https://youtrack.jetbrains.com/issue/KT-61426) Enabling compilation via the build tools API may cause high metaspace usage
##### Fixes
- [`KT-61359`](https://youtrack.jetbrains.com/issue/KT-61359) "Unresolved reference: platform" when enabling Gradle configuration cache
- [`KT-59826`](https://youtrack.jetbrains.com/issue/KT-59826) Update SimpleKotlinGradleIT#testProjectIsolation to run on Gradle 8
- [`KT-57565`](https://youtrack.jetbrains.com/issue/KT-57565) Add ability to capture classpath snapshots via the build-tools-api
- [`KT-51964`](https://youtrack.jetbrains.com/issue/KT-51964) Optimize `kotlin.incremental.useClasspathSnapshot` feature to improve incremental Kotlin compilation
- [`KT-61368`](https://youtrack.jetbrains.com/issue/KT-61368) Native compiler option 'module-name' isn't available within the compilerOptions extension for native target while configuring it inside compilations
- [`KT-61355`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-61273) KGP: TaskOutputsBackup.createSnapshot was failed by IOException sometimes
- [`KT-58987`](https://youtrack.jetbrains.com/issue/KT-58987) Use some available JVM target if there's no JvmTarget for the inferred toolchain version
- [`KT-58234`](https://youtrack.jetbrains.com/issue/KT-58234) Kotlin Gradle Plugin: Deprecate and remove KotlinCompilation.source API
- [`KT-61401`](https://youtrack.jetbrains.com/issue/KT-61401) The reported language version value for KotlinNativeLink tasks in build reports and build scans is inaccurate
- [`KT-54231`](https://youtrack.jetbrains.com/issue/KT-54231) Compatibility with Gradle 8.0 release
- [`KT-61950`](https://youtrack.jetbrains.com/issue/KT-61950) K/Wasm: Add warning about changed sourceSets
- [`KT-61895`](https://youtrack.jetbrains.com/issue/KT-61895) KotlinTopLevelExtension.useCompilerVersion is not marked as experimental
- [`KT-61303`](https://youtrack.jetbrains.com/issue/KT-61303) The module-name value stays unchanged when configuring it through compiler options extension specific to the android target
- [`KT-61194`](https://youtrack.jetbrains.com/issue/KT-61194) MPP compiler options: part of JsCompilerOptions set up using js { compilerOptions {} } extension is lost
- [`KT-61253`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-59588) Upgrade max gradle version to max supported in kapt connected tests
- [`KT-61292`](https://youtrack.jetbrains.com/issue/KT-61292) Gradle: compilation tasks may capture wrong build directory when build directory is changed after task configuration
- [`KT-61193`](https://youtrack.jetbrains.com/issue/KT-61193) Flag kotlin.experimental.tryK2 doesn't set LV 2.0 for tasks of kotlin-js gradle plugin
- [`KT-60541`](https://youtrack.jetbrains.com/issue/KT-60541) Possibility to create a custom usable `KotlinCompile` task without using internals
- [`KT-59451`](https://youtrack.jetbrains.com/issue/KT-59451) \[K2]\[1.9.0-Beta] "Errors were stored into ..." log files never actually exist
- [`KT-48898`](https://youtrack.jetbrains.com/issue/KT-48898) Can't suppress warnings by Optin() in KMM build.gradle.kts or IDEA settings
- [`KT-60660`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-56959) K2: Set up Ktor repo performance benchmarks with K2 enabled
- [`KT-56178`](https://youtrack.jetbrains.com/issue/KT-56178) Compatibility with Gradle 8.1 release
- [`KT-61457`](https://youtrack.jetbrains.com/issue/KT-61457) Kotlin Gradle Plugin should not use internal deprecated StartParameterInternal.isConfigurationCache
- [`KT-60718`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-60717) Kotlin Gradle Plugin violates Project Isolation restrictions by dynamically looking up properties in the project
- [`KT-54232`](https://youtrack.jetbrains.com/issue/KT-54232) Don't check if file exists in task file inputs configuration
- [`KT-61066`](https://youtrack.jetbrains.com/issue/KT-61066) \[KMP] iOS "Unkown Kotlin JVM target 20"
- [`KT-54160`](https://youtrack.jetbrains.com/issue/KT-54160) New KGP API using lazy properties to add compiler plugin options may remove options with the same pluginId
- [`KT-60839`](https://youtrack.jetbrains.com/issue/KT-60839) KGP provides incorrect default value "ENABLED" for -Xpartial-linkage
- [`KT-15370`](https://youtrack.jetbrains.com/issue/KT-15370) Gradle DSL: add module-level kotlin options
- [`KT-57645`](https://youtrack.jetbrains.com/issue/KT-57645) build\_scan failed in testBuildScanReportSmokeTestForConfigurationCache test with Gradle 8.0.2
- [`KT-59827`](https://youtrack.jetbrains.com/issue/KT-59827) Update configuration to validate plugin inputs
- [`KT-59799`](https://youtrack.jetbrains.com/issue/KT-59799) Validate Gralde Integrations tests has only one tag
- [`KT-59117`](https://youtrack.jetbrains.com/issue/KT-59117) Add gradle integration tests for explicit api mode in Android projects
- [`KT-59587`](https://youtrack.jetbrains.com/issue/KT-59587) Upgrade max gradle version to max supported in jvmToolchain connected tests
- [`KT-56636`](https://youtrack.jetbrains.com/issue/KT-56636) Bump max Gradle version for integration tests to 8.0
- [`KT-58353`](https://youtrack.jetbrains.com/issue/KT-58353) Support reporting of diagnostics after projects are evaluated
- [`KT-53822`](https://youtrack.jetbrains.com/issue/KT-53822) Upgrade the `gradle-download-task` dependency of the Kotlin Gradle plugin
- [`KT-58162`](https://youtrack.jetbrains.com/issue/KT-58162) Kotlin Gradle Plugin: Remove kotlinx.coroutines from classpath of KGP
- [`KT-58104`](https://youtrack.jetbrains.com/issue/KT-58104) Check values for MPP\_PLATFORMS
- [`KT-58569`](https://youtrack.jetbrains.com/issue/KT-58569) Bump language version for Gradle plugins dependencies to 1.5
##### Tools. Gradle. Cocoapods
- [`KT-59263`](https://youtrack.jetbrains.com/issue/KT-59263) Add diagnostic that a dummy framework is not present when build is triggered from Xcode
- [`KT-57741`](https://youtrack.jetbrains.com/issue/KT-57741) KMP importing an iOS project with Xcode 14.3 fails when importing a pod that depends on `libarclite_iphoneos`
- [`KT-60050`](https://youtrack.jetbrains.com/issue/KT-60050) Log reason why podInstall task is skipped
- [`KT-49430`](https://youtrack.jetbrains.com/issue/KT-49430) Stop invalidating iOS framework generated by KMM module on each Gradle Sync
- [`KT-59522`](https://youtrack.jetbrains.com/issue/KT-59522) Set the required environment for cocoapods invocations
- [`KT-59313`](https://youtrack.jetbrains.com/issue/KT-59313) Elevate to error deprecation of useLibraries
- [`KT-58775`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-49789) KJS / Gradle: Add npm style repository option for YarnRootExtension - and/or don't register github repository when download=false
##### Fixes
- [`KT-60469`](https://youtrack.jetbrains.com/issue/KT-60469) KJS: "Could not serialize value of type Build\_gradle" caused by changed name in packageJson task
- [`KT-61623`](https://youtrack.jetbrains.com/issue/KT-61623) K/Wasm: Error with project dependency between modules with both wasmJs and wasmWasi targets
- [`KT-56933`](https://youtrack.jetbrains.com/issue/KT-56933) Add Kotlin/JS incremental tests with K2 enabled
- [`KT-58970`](https://youtrack.jetbrains.com/issue/KT-58970) browserTest gradle task fails if karma is used and gradle configuration cache is enabled
- [`KT-42520`](https://youtrack.jetbrains.com/issue/KT-42520) Add a way to setup generating separate js files for each module inside gradle
- [`KT-32086`](https://youtrack.jetbrains.com/issue/KT-32086) Gradle, JS: runTask.enabled = false has no effect on npm dependencies
- [`KT-48358`](https://youtrack.jetbrains.com/issue/KT-48358) KJS: Circular dependency when multiple second-level Gradle modules have the same name
- [`KT-50530`](https://youtrack.jetbrains.com/issue/KT-50530) Kotlin/JS: enabling `kotlin.js.ir.output.granularity=whole-program` does not remove superfluous .js output files
- [`KT-50442`](https://youtrack.jetbrains.com/issue/KT-50442) KJS / Gradle: webpack plugin errors not logged
- [`KT-46003`](https://youtrack.jetbrains.com/issue/KT-46003) KJS / IR: Should provide single distributions folder for production and development similarly to Legacy
- [`KT-47319`](https://youtrack.jetbrains.com/issue/KT-47319) KJS: Error when project contains two modules with same name
- [`KT-46010`](https://youtrack.jetbrains.com/issue/KT-46010) KJS / Gradle: Can't find a file on building on Windows
- [`KT-48923`](https://youtrack.jetbrains.com/issue/KT-48923) KJS / Gradle: No `Webpack` error messages when Node.js process exits unexpected
- [`KT-51942`](https://youtrack.jetbrains.com/issue/KT-51942) KJS / Gradle: fails with two projects with the same name, but different paths
- [`KT-51372`](https://youtrack.jetbrains.com/issue/KT-51372) Kotlin/JS: Gradle compileKotlinJs processes directory just excluded from source set
- [`KT-52134`](https://youtrack.jetbrains.com/issue/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-52776`](https://youtrack.jetbrains.com/issue/KT-52776) KJS / Gradle: Webpack version update despite yarn.lock breaks Kotlin/JS build
- [`KT-54182`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-58250) The `NodeJsExec` tasks are not compatible with Gradle configuration cache
- [`KT-58256`](https://youtrack.jetbrains.com/issue/KT-58256) The `D8Exec` tasks are not compatible with Gradle configuration cache
##### Tools. Gradle. Multiplatform
##### New Features
- [`KT-60441`](https://youtrack.jetbrains.com/issue/KT-60441) KGP based dependency resolution: Support 'idea.gradle.download.sources' flag
##### - [See full ChangeLog in File](https://github.com/JetBrains/kotlin/edit/1.9.20/docs/changelogs/ChangeLog-1.9.X.md)
#### Checksums
| File | Sha256 |
| ----------------------------------------- | ---------------------------------------------------------------- |
| kotlin-compiler-1.9.20.zip | 15a8a2825b74ccf6c44e04e97672db802d2df75ce2fbb63ef0539bf3ae5006f0 |
| kotlin-native-linux-x86\_64-1.9.20.tar.gz | 7da32e058506e6a8f4378be0e4471f5880b75235e23e1149ba29335d580db23c |
| kotlin-native-macos-x86\_64-1.9.20.tar.gz | 9a70e2f1d3020f31ac74f743d5dc3860c07101fa3916fc0325553f7b0ef4cfd5 |
| kotlin-native-macos-aarch64-1.9.20.tar.gz | 630e883bca63d02f571dfcd5b21728be4a050545c9dca8b1846a326c14452f65 |
| kotlin-native-windows-x86\_64-1.9.20.zip | 78ea9f5a1ca3d665529b724400799e1f11040e784091ed033916dff1a77780b6 |
### [`v1.9.10`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.10): Kotlin 1.9.10
#### Changelog
##### Compiler
- [`KT-60769`](https://youtrack.jetbrains.com/issue/KT-60769) Partially revert KT-58371
- [`KT-60659`](https://youtrack.jetbrains.com/issue/KT-60659) Incorrect 'unresolved reference: addFirst' error with JDK 21
- [`KT-60371`](https://youtrack.jetbrains.com/issue/KT-60371) Native custom allocator link error
- [`KT-60986`](https://youtrack.jetbrains.com/issue/KT-60986) Native: static caches with custom runtime options are broken on Linux
- [`KT-60770`](https://youtrack.jetbrains.com/issue/KT-60770) Fix false-positive ABSTRACT\_MEMBER\_NOT\_IMPLEMENTED on toArray with JDK 21
- [`KT-60231`](https://youtrack.jetbrains.com/issue/KT-60231) NoClassDefFoundError: $$$$$NON\_LOCAL\_RETURN$$$$$ after upgrade to Kotlin 1.9.0
##### JavaScript
- [`KT-60785`](https://youtrack.jetbrains.com/issue/KT-60785) KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type error
- [`KT-60852`](https://youtrack.jetbrains.com/issue/KT-60852) Kotlin JS(IR): IllegalArgumentException: Cross module dependency resolution failed when updating to Kotlin 1.9.0
- [`KT-57509`](https://youtrack.jetbrains.com/issue/KT-57509) KJS: Compiler generates native JS operator == for comparing values with Any type
##### Native
- [`KT-60230`](https://youtrack.jetbrains.com/issue/KT-60230) Native: "unknown options: -ios\_simulator\_version\_min -sdk\_version" with Xcode 15 beta 3
- [`KT-60758`](https://youtrack.jetbrains.com/issue/KT-60758) Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4
##### Native. C and ObjC Import
- [`KT-59167`](https://youtrack.jetbrains.com/issue/KT-59167) Native: cinterop is unable to build interop libraries against the Xcode 15 Beta 1
##### Tools. Gradle
- [`KT-61147`](https://youtrack.jetbrains.com/issue/KT-61147) Kotlin Compiler 1.9.0 bundles a stripped unshadowed version of Gson
- [`KT-60543`](https://youtrack.jetbrains.com/issue/KT-60543) NoClassDefFoundError for com/gradle/scan/plugin/BuildScanExtension
#### Checksums
| File | Sha256 |
| ----------------------------------------- | ---------------------------------------------------------------- |
| kotlin-compiler-1.9.10.zip | 7d74863deecf8e0f28ea54c3735feab003d0eac67e8d3a791254b16889c20342 |
| kotlin-native-linux-x86\_64-1.9.10.tar.gz | 1db3679919f4449514e9d82451e7dfa73558ac9bc80b82579cd74d452c8faa5b |
| kotlin-native-macos-x86\_64-1.9.10.tar.gz | f5650f2560438a692803d8fe07124529c19f1972f84fe09cfa2329b93f43828d |
| kotlin-native-macos-aarch64-1.9.10.tar.gz | d2cf5a484ac0808ab29fd3f6099df7c07330f81f3cbab949947e42e36138c3de |
| kotlin-native-windows-x86\_64-1.9.10.zip | a34d56661455e94e1ba4dd09ec3c1adac6148fdedcf55eefb9a79c8ed01ff02c |
### [`v1.9.0`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.0): Kotlin 1.9.0
#### Changelog
##### Analysis API
##### New Features
- [`KT-57930`](https://youtrack.jetbrains.com/issue/KT-57930) Analysis API: provide an API for extending Kotlin resolution
- [`KT-57636`](https://youtrack.jetbrains.com/issue/KT-57636) K2: Add the return type of K2 reference shortener AA `ShortenCommand::invokeShortening()` e.g., `ShorteningResultInfo` to allow callers to access the shortening result PSI
##### Fixes
- [`KT-58249`](https://youtrack.jetbrains.com/issue/KT-58249) Analysis API: Disable error logging for FE10 implementation of resolveCall when resolve is not successful
- [`KT-55626`](https://youtrack.jetbrains.com/issue/KT-55626) Impossible to restore symbol by psi from script file
- [`KT-57314`](https://youtrack.jetbrains.com/issue/KT-57314) LL FIR: Combine `LLFirProvider$SymbolProvider`s in session dependencies (optimization)
- [`KT-55527`](https://youtrack.jetbrains.com/issue/KT-55527) K2 IDE: Rewrite KtScopeContext class to allow to handle each scope separately
- [`KT-55329`](https://youtrack.jetbrains.com/issue/KT-55329) LL FIR: Unexpected ACTUAL\_WITHOUT\_EXPECT error on constructor and function declaration
- [`KT-50732`](https://youtrack.jetbrains.com/issue/KT-50732) LL API: fix compiler based tests
- [`KT-57850`](https://youtrack.jetbrains.com/issue/KT-57850) K2: contract violation due to SymbolLightAccessorMethod.propertyAccessorSymbol
- [`KT-56543`](https://youtrack.jetbrains.com/issue/KT-56543) LL FIR: rework lazy transformers so transformers modify only declarations they suppose to
- [`KT-56721`](https://youtrack.jetbrains.com/issue/KT-56721) K2: FirExtensionDeclarationsSymbolProvider: java.lang.IllegalStateException: Recursive update
- [`KT-50253`](https://youtrack.jetbrains.com/issue/KT-50253) Analysis API: Solve issues with ProcessCancelledException
- [`KT-56800`](https://youtrack.jetbrains.com/issue/KT-56800) K2 IDE: optimize deprecation calculation for symbols
- [`KT-55006`](https://youtrack.jetbrains.com/issue/KT-55006) Analysis API does not transform Java type refs for callable symbol return types
- [`KT-57256`](https://youtrack.jetbrains.com/issue/KT-57256) AA FIR: Reduce lazy resolve phase for deprecation status
- [`KT-57619`](https://youtrack.jetbrains.com/issue/KT-57619) K2: CFG for class initializer is not correctly built in reversed resolve mode
- [`KT-58141`](https://youtrack.jetbrains.com/issue/KT-58141) K2: AA FIR: impossible to restore symbol for declaration with annotation with argument inside type
- [`KT-57462`](https://youtrack.jetbrains.com/issue/KT-57462) Symbol Light Classes: SymbolLightFieldForProperty should retrieve annotations not from KtPropertySymbol, but from the corresponding backing field
- [`KT-54864`](https://youtrack.jetbrains.com/issue/KT-54864) Analysis API: add function to get expect KtSymbol list by actual KtSymbol
- [`KT-56763`](https://youtrack.jetbrains.com/issue/KT-56763) Analysis API: `.KtSourceModuleImpl is missing in the map.` on symbol restore when symbol cannot be seen from the use-site module
- [`KT-56617`](https://youtrack.jetbrains.com/issue/KT-56617) Analysis API: optimize KtFirSymbolProviderByJavaPsi.getNamedClassSymbol
- [`KT-54430`](https://youtrack.jetbrains.com/issue/KT-54430) K2: .getAllOverriddenSymbols() returns invalid results
##### Backend. Native. Debug
- [`KT-55440`](https://youtrack.jetbrains.com/issue/KT-55440) Kotlin/Native debugger: inline function parameters are not visible during debugging
##### Backend. Wasm
- [`KT-58293`](https://youtrack.jetbrains.com/issue/KT-58293) Wasm: ReferenceError: e is not defined in kotlin.test.jsThrow
- [`KT-58931`](https://youtrack.jetbrains.com/issue/KT-58931) Wasm tests are failing to start on Kotlin 1.9.0-Beta
- [`KT-58188`](https://youtrack.jetbrains.com/issue/KT-58188) Restore binary compatibility of PlatformDiagnosticSuppressor.shouldReportUnusedParameter
- [`KT-57136`](https://youtrack.jetbrains.com/issue/KT-57136) K/Wasm: Restrict non-external types in JS interop
- [`KT-57060`](https://youtrack.jetbrains.com/issue/KT-57060) Clarify the lack of support for dynamic in Kotlin/Wasm
- [`KT-56955`](https://youtrack.jetbrains.com/issue/KT-56955) K/Wasm: Support restricted version of K/JS `js(code)`
- [`KT-57276`](https://youtrack.jetbrains.com/issue/KT-57276) Wasm: "Body not found for function" error when compiling konform library with Kotlin/Wasm support
- [`KT-56976`](https://youtrack.jetbrains.com/issue/KT-56976) K/Wasm bug with calling override of external function with default parameters
##### Compiler
##### New Features
- [`KT-55333`](https://youtrack.jetbrains.com/issue/KT-55333) Allow secondary constructors in value classes with bodies
- [`KT-54944`](https://youtrack.jetbrains.com/issue/KT-54944) `@Volatile` support in native
- [`KT-54746`](https://youtrack.jetbrains.com/issue/KT-54746) Deprecate with ERROR JvmDefault annotation and old -Xjvm-default modes
- [`KT-47902`](https://youtrack.jetbrains.com/issue/KT-47902) Do not propagate method deprecation through overrides
- [`KT-29378`](https://youtrack.jetbrains.com/issue/KT-29378) K2: rework warnings/errors for equality/identity operators on incompatible types
- [`KT-57477`](https://youtrack.jetbrains.com/issue/KT-57477) False-positive overload resolution ambiguity in case of lambda without arguments
- [`KT-57010`](https://youtrack.jetbrains.com/issue/KT-57010) Kotlin/Native: make it possible to compile bitcode in a separate compiler invocation
- [`KT-55691`](https://youtrack.jetbrains.com/issue/KT-55691) K2: Avoid inferring Nothing? in presence of other constraints (beside type parameter bounds)
- [`KT-46288`](https://youtrack.jetbrains.com/issue/KT-46288) Unexpected behavior of extension function on lambda with suspend receiver
- [`KT-24779`](https://youtrack.jetbrains.com/issue/KT-24779) Inconsistent smart cast behavior for bound data flow values
##### Performance Improvements
- [`KT-23397`](https://youtrack.jetbrains.com/issue/KT-23397) Optimize out field for property delegate when it's safe (JVM)
- [`KT-56906`](https://youtrack.jetbrains.com/issue/KT-56906) FIR: Use cached instance of FirImplicitTypeRefImpl in FIR builders
- [`KT-56276`](https://youtrack.jetbrains.com/issue/KT-56276) LanguageVersion.getVersionString() allocates 5k objects on project opening
##### Fixes
- [`KT-57784`](https://youtrack.jetbrains.com/issue/KT-57784) "NullPointerException: Parameter specified as non-null is null:" with enum, companion object, 'entries' and map
- [`KT-55217`](https://youtrack.jetbrains.com/issue/KT-55217) K2: support callable reference conversions on top-level expressions
- [`KT-57232`](https://youtrack.jetbrains.com/issue/KT-57232) K2: build Space JVM (master)
- [`KT-59079`](https://youtrack.jetbrains.com/issue/KT-59079) "AE: SyntheticAccessorLowering should not attempt to modify other files!" with callable reference to constructor with value class parameter
- [`KT-58837`](https://youtrack.jetbrains.com/issue/KT-58837) Partial linkage fails to report any compiler message on Windows when launched through Gradle plugin
- [`KT-57602`](https://youtrack.jetbrains.com/issue/KT-57602) K2: Rework member scope of types having projection arguments for covariant parameters
- [`KT-55171`](https://youtrack.jetbrains.com/issue/KT-55171) Put new contracts syntax under a feature flag
- [`KT-58719`](https://youtrack.jetbrains.com/issue/KT-58719) K2: false-positive INVISIBLE\_REFERENCE error in case of importing an internal abstract class
- [`KT-56030`](https://youtrack.jetbrains.com/issue/KT-56030) \[K2/N] Support Objective-C overloading by param names only
- [`KT-57510`](https://youtrack.jetbrains.com/issue/KT-57510) K2: Data class equals/hashCode/toString methods are not written to Klib metadata
- [`KT-56331`](https://youtrack.jetbrains.com/issue/KT-56331) K2: compiler backend crash on usage of expected function with default arguments
- [`KT-53846`](https://youtrack.jetbrains.com/issue/KT-53846) K2 / Context receivers: ClassCastException on secondary constructor of class with context receiver
- [`KT-58621`](https://youtrack.jetbrains.com/issue/KT-58621) K2: Private class shadows public function defined in the same package
- [`KT-59102`](https://youtrack.jetbrains.com/issue/KT-59102) K2: constant evaluator does not provide Long type on shl
- [`KT-59066`](https://youtrack.jetbrains.com/issue/KT-59066) \[K2] delegation leads to "IllegalStateException: Expected some types"
- [`KT-56074`](https://youtrack.jetbrains.com/issue/KT-56074) K2: build Space JVM (snapshot 2022.3)
- [`KT-58787`](https://youtrack.jetbrains.com/issue/KT-58787) KAPT: "NullPointerException: null cannot be cast to non-null type" with delegate
- [`KT-57022`](https://youtrack.jetbrains.com/issue/KT-57022) K2 IllegalStateException in signature computation
- [`KT-56792`](https://youtrack.jetbrains.com/issue/KT-56792) K2: build kotlinpoet
- [`KT-57373`](https://youtrack.jetbrains.com/issue/KT-57373) K2: FIR properties synthesized when implementing interface by delegation don't have accessors
- [`KT-56583`](https://youtrack.jetbrains.com/issue/KT-56583) K1: Implement opt-in for integer cinterop conversions
- [`KT-59030`](https://youtrack.jetbrains.com/issue/KT-59030) \[PL] Workaround for broken `@Deprecated` annotations in c-interop KLIBs
- [`KT-58618`](https://youtrack.jetbrains.com/issue/KT-58618) K2: Local property delegates cannot infer generic return type
- [`KT-36770`](https://youtrack.jetbrains.com/issue/KT-36770) Prohibit unsafe calls with expected `@NotNull` T and given Kotlin generic parameter with nullable bound
- [`KT-56739`](https://youtrack.jetbrains.com/issue/KT-56739) K2: build Space iOS
- [`KT-57131`](https://youtrack.jetbrains.com/issue/KT-57131) K2: stdlib test compilation fails on ListTest.kt in FirJvmMangleComputer
- [`KT-58137`](https://youtrack.jetbrains.com/issue/KT-58137) K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another module
- [`KT-58897`](https://youtrack.jetbrains.com/issue/KT-58897) K2: False positive unresolved reference with same-named enum class and its entry
- [`KT-40903`](https://youtrack.jetbrains.com/issue/KT-40903) Forbid actual member in expect class
- [`KT-30905`](https://youtrack.jetbrains.com/issue/KT-30905) Expect var property with default public setter matches with actual var property with private setter
- [`KT-56172`](https://youtrack.jetbrains.com/issue/KT-56172) K2: Fix reporting of PRIVATE\_CLASS\_MEMBER\_FROM\_INLINE error
- [`KT-56171`](https://youtrack.jetbrains.com/issue/KT-56171) Implement deprecation warning for missing PRIVATE\_CLASS\_MEMBER\_FROM\_INLINE error
- [`KT-27261`](https://youtrack.jetbrains.com/issue/KT-27261) Contracts for infix functions don't work (for receivers and parameters)
- [`KT-56927`](https://youtrack.jetbrains.com/issue/KT-56927) Enum with secondary constructor can't be compiled with K2 using JS/Native backend
- [`KT-53568`](https://youtrack.jetbrains.com/issue/KT-53568) Partial linkage: absent class as type parameter bound causes failure of `compileProductionExecutableKotlinJs`
- [`KT-53608`](https://youtrack.jetbrains.com/issue/KT-53608) Partial linkage: Kotlin/JS fails with IllegalStateException: "Validation failed in file" when overridden declaration was visible, but now private
- [`KT-53663`](https://youtrack.jetbrains.com/issue/KT-53663) Partial linkage: usage of property which becomes abstract: no IrLinkageError, but AssertionError in Native backend instead
- [`KT-56013`](https://youtrack.jetbrains.com/issue/KT-56013) K2. a set of errors about local properties are missing
- [`KT-53939`](https://youtrack.jetbrains.com/issue/KT-53939) Partial linkage: with turning object into class link*Native and js*Test tasks fail
- [`KT-53938`](https://youtrack.jetbrains.com/issue/KT-53938) Partial linkage: with turning interface into class and using as second parent Native build fails
- [`KT-53941`](https://youtrack.jetbrains.com/issue/KT-53941) Partial linkage: with turning class into object accessing member via parameterless constructor does not fail
- [`KT-53970`](https://youtrack.jetbrains.com/issue/KT-53970) Partial linkage: on turning nested class into inner JS tasks are successful, Native build fails
- [`KT-53971`](https://youtrack.jetbrains.com/issue/KT-53971) Partial linkage: turning inner class into nested: without usage in executable Native is successful, JavaScript fails
- [`KT-53972`](https://youtrack.jetbrains.com/issue/KT-53972) Partial linkage: turning inner class into nested: with usage in executable Native fails with NPE in backend
- [`KT-54045`](https://youtrack.jetbrains.com/issue/KT-54045) Partial linkage: turning class into type alias + calculating implicit function type: build fails with UninitializedPropertyAccessException: "lateinit property parent has not been initialized"
- [`KT-54046`](https://youtrack.jetbrains.com/issue/KT-54046) Partial linkage: turning type alias into class + using it as type: build fails with AssertionError: "Expected exactly one delegating constructor call but none encountered"
- [`KT-53887`](https://youtrack.jetbrains.com/issue/KT-53887) Partial linkage: turning from enum to regular class + reference to enum contant causes compileProductionExecutableKotlinJs fail with IllegalStateException
- [`KT-54047`](https://youtrack.jetbrains.com/issue/KT-54047) Partial linkage: reference to removed enum const causes JS fail with "IllegalStateException: Validation failed in file"
- [`KT-54048`](https://youtrack.jetbrains.com/issue/KT-54048) Partial linkage: reference to removed enum const in runtime causes Native fail with IllegalStateException at IrBindablePublicSymbolBase.getOwner()
- [`KT-53995`](https://youtrack.jetbrains.com/issue/KT-53995) Partial linkage: on turning class to abstract and direct constructor call Naive fails, JavaScript is successful
- [`KT-43527`](https://youtrack.jetbrains.com/issue/KT-43527) `@ExtensionFunctionType` is allowed on function types with no parameters and leads to backend exception
- [`KT-55316`](https://youtrack.jetbrains.com/issue/KT-55316) K2. IllegalStateException on incorrect import directive name
- [`KT-57570`](https://youtrack.jetbrains.com/issue/KT-57570) Remove source code excerpts from platform type nullability assertion exceptions
- [`KT-56073`](https://youtrack.jetbrains.com/issue/KT-56073) K2: build Exposed
- [`KT-47932`](https://youtrack.jetbrains.com/issue/KT-47932) Report errors on cycles in annotation parameter types
- [`KT-38871`](https://youtrack.jetbrains.com/issue/KT-38871) Kotlin Gradle DSL, MPP: UNUSED\_VARIABLE when configuring a sourceset with delegated property
- [`KT-46344`](https://youtrack.jetbrains.com/issue/KT-46344) No error for a super class constructor call on a function interface in supertypes list
- [`KT-56609`](https://youtrack.jetbrains.com/issue/KT-56609) K2: False positive NULL\_FOR\_NONNULL\_TYPE with -Xjsr305=strict and `@Nullable` annotation Java parameter
- [`KT-56656`](https://youtrack.jetbrains.com/issue/KT-56656) K1/K2: inconsistent NOTHING\_TO\_OVERRIDE with complex nullable annotations
- [`KT-58332`](https://youtrack.jetbrains.com/issue/KT-58332) K2: local fun with suspend type is not marked as suspend in IR
- [`KT-57991`](https://youtrack.jetbrains.com/issue/KT-57991) K2: Modifier 'suspend' is not applicable to 'anonymous function'
- [`KT-54294`](https://youtrack.jetbrains.com/issue/KT-54294) K2: "Not all type variables found" in builder inference with type parameters inferred through a union of two branches
- [`KT-58564`](https://youtrack.jetbrains.com/issue/KT-58564) \[PL] Annotations with unlinked parameters are not removed
- [`KT-52597`](https://youtrack.jetbrains.com/issue/KT-52597) Provide Alpha Support for Multiplatform in the K2 platform
- [`KT-58523`](https://youtrack.jetbrains.com/issue/KT-58523) K2: reference is resolved to imported type-alias instead of identically named top-level property
- [`KT-57098`](https://youtrack.jetbrains.com/issue/KT-57098) Native: avoid object initialization while accessing const val
- [`KT-57973`](https://youtrack.jetbrains.com/issue/KT-57973) 32-th default value in inline classes override function is not used
- [`KT-57714`](https://youtrack.jetbrains.com/issue/KT-57714) "IllegalStateException: \<B::!>" using reified generics
- [`KT-57810`](https://youtrack.jetbrains.com/issue/KT-57810) `toString` of object erroneously considered as constant function in string concatenation
- [`KT-58076`](https://youtrack.jetbrains.com/issue/KT-58076) K2: Incorrect inference of type of labeled receiver
- [`KT-57929`](https://youtrack.jetbrains.com/issue/KT-57929) K2: Arguments of annotations are not calculated in a lot of strange locations
- [`KT-54874`](https://youtrack.jetbrains.com/issue/KT-54874) K2. No compilation error with incorrect Comparator invocation
- [`KT-55388`](https://youtrack.jetbrains.com/issue/KT-55388) Consider enabling ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
- [`KT-53041`](https://youtrack.jetbrains.com/issue/KT-53041) NPE in Kotlin 1.7.0 when using RxJava Maybe.doOnEvent with anonymous parameters
- [`KT-54829`](https://youtrack.jetbrains.com/issue/KT-54829) Cleanup local types approximation logic
- [`KT-58577`](https://youtrack.jetbrains.com/issue/KT-58577) K2: private Kotlin property prevents use of Java set-method from Java-Kotlin-Java hierarchy in another module
- [`KT-58587`](https://youtrack.jetbrains.com/issue/KT-58587) MUST\_BE\_INITIALIZED must take into account effectivelly final
- [`KT-58524`](https://youtrack.jetbrains.com/issue/KT-58524) K2: false-positive overload resolution ambiguity error on invoking a generic class's member function with id-shaped function-typed parameter on intersection-typed receiver
- [`KT-53929`](https://youtrack.jetbrains.com/issue/KT-53929) Enum.entries: consider changing scope behavior in K1
- [`KT-58520`](https://youtrack.jetbrains.com/issue/KT-58520) K2: FIR2IR: ISE during const evaluation of operator times with exposed
- [`KT-57905`](https://youtrack.jetbrains.com/issue/KT-57905) K1: resolution to base class's Java field instead of derived class's Kotlin property is not deprecated in case of different types
- [`KT-56662`](https://youtrack.jetbrains.com/issue/KT-56662) K1: false negative INVISIBLE\_SETTER for a var with internal setter accessed from a derived class
- [`KT-57770`](https://youtrack.jetbrains.com/issue/KT-57770) K2: Support generation of serializer if base class for serializable
> ✂ **Note**
>
> PR body was truncated to here.
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNTEuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE1MC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJib3QiLCJ1cGdyYWRlIl19-->
renovate
changed title from Update plugin org.jetbrains.kotlin.android to v2 to Update plugin org.jetbrains.kotlin.android to v2 - autoclosed2026-06-02 07:01:18 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
1.8.22→2.3.21Release Notes
JetBrains/kotlin (org.jetbrains.kotlin.android)
v2.3.21Backend. Wasm
KT-84610[Wasm] Failed to compile klibs in IC modeCompiler
KT-84566Prevent launching Default dispatcher threads from IJ SDK in kotlin compilerKT-85358Native: roll back the workaround for KT-84678 once MapLibre has been properly fixedKT-85626@JvmRecordin commonMain breaks compileCommonMainKotlinMetadata with "Cannot access 'java.lang.Record'"KT-85405Postpone/RevertDontIgnoreUpperBoundViolatedOnImplicitArgumentsKT-84678K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS targetKT-85021False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module projectJavaScript
KT-82395Support top-level declarations from compiler plugins in JS incremental compilationKT-84475K/JS: false-positive exportability warnings in multi-module projectKT-84633Kotlin/JS: "Serializer for class not found" error when IR output granularity iswhole-programKT-85047Kotlin/JS:@JsStaticon suspend fun of class companion generates incorrect d.tsKT-84517K/JS: bad mappings data in outputted Kotlin stdlib source mapLibraries
KT-71848Kotlinx.metadata: AddCompilerPluginDatainto Km APINative. C and ObjC Import
KT-85399Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabledKT-85508K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20Tools. Gradle
KT-84729Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portalTools. Gradle. Compiler plugins
KT-85257AGP/Compose: MergeMappingFileTask clears R8 artifacts due to@OutputDirectoryannotation on AGP 9.1+Tools. Scripts
KT-85105Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous objectKT-85103Exception while generating code when explain destructuring declsKT-84842scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20KT-85029Kotlin Scripting: ScriptDiagnostic reports "at null" instead of error locationTools. Statistics (FUS)
KT-85628KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'v2.3.20Analysis API. FIR
New Features
KT-78090Implement stubs support for new conditional returns and holdsIn contractsFixes
KT-82948'FirRegularClass' expected as a containing declaration, got 'FirTypeAliasImpl'KT-83467Package-level JSpecify annotations are ignored when coming from jars or librariesKT-82057K2. Cannot infer type parameter 'R' in Ktor routing post() function with explicit response typeKT-82846AA: unresolved KtExpression.expressionType for the reference to the parameter with default valueKT-80485False positive UNRESOLVED_REFERENCE on nested interface from super-super class in the super type position inside an anonymous objectKT-82772Flaky false positive deprecation warning on PersistentMap.put in Kotlin repo in IDE modeKT-76487StdLibSourcesLazyDeclarationResolveTestGenerated.testWrappedInt is unstableKT-82618Various tests are failing with NPE in kt-master after updating the compiler on 19.11.25KT-82076Error querying members of JavaClass created for SymbolLightClassForAnnotationClass during library analysisKT-71596Include Js/Wasi checkers in AbstractLLFirDiagnosticsCollectorKT-82085No OUTER_CLASS_ARGUMENTS_REQUIRED on type parameter bound in IDEKT-81873Provide a way of including traces in phase JFR eventsKT-71929Consider leaving the non-post-compute version at EnhancementSymbolsCache.enhancedFunctionsAnalysis API. Infrastructure
KT-83173Analysis API Tests: Library names with RC versions aren't sanitisedKT-65140LL FIR: Implement AbstractFirPsiJsDiagnosticTest for LL FIRKT-82212[Analysis API, LL FIR] Implement AbstractDiagnosticsFirWasmTest and AbstractDiagnosticsFirWasmWasiTest for LL FIRAnalysis API. Light Classes
KT-82227Value classes should expose regular static methodsAnalysis API. PSI
KT-81710'KtTypeReference.getTypeText' does not account for 'suspend' modifier on suspend lambdasKT-82258Prepare PSI for migration from context receivers to context parametersKT-81074KDoc: List rendering is brokenAnalysis API. Providers and Caches
KT-82449K2 IDE Analysis Freezes During Gradle Sync (Recursive Module Dependency Computation in KotlinModuleDependentsProviderBase.computeTransitiveDependents)KT-82629'collectDiagnostics' returns stale syntax error after editor fixKT-74907Analysis API: Apply platform-based library module content restrictions consistentlyAnalysis API. Standalone
KT-81107AA: KtSourceModuleBuilder.sourceRoots doesn't works with symbolic linksAnalysis API. Stubs and Decompilation
KT-82792Stub for KtValueArgumentList inside KtAnnotationEntry should be present if it is present in psiKT-82527TypeClsStubBuilder.createFunctionTypeStub throws NullPointerExceptionKT-82558Deserialized DNN type should have a fully qualified AnyKT-81928KaArrayAnnotationValueImpl.values missing first elementKT-82139Support contracts for property accessorsKT-82198Support context parameters in contractsAnalysis API. Surface
New Features
KT-82851Property accessors should inherit KDoc from the parent propertyKT-63339Analysis API: Provide a way to extract KDoc for symbolsKT-79070KaTypeProvider: add API to build a default type with star projectionsKT-66566AA: api to create functional typesKT-66043KtTypeCreator doesn't provide a way for creating annotated typesPerformance Improvements
KT-83694Provide psi-based implementation ofKaDeclarationSymbol#isExternalKT-70868KaSymbol: support PSI-only visibility and modality for the case without compiler pluginsKT-81627KaFirSymbolDeclarationOverridesProvider#processOverrides should process only relevant declarationsFixes
KT-83152[Analysis API, KDoc] Make class name links on constructors point to the classKT-83695DeprecateKaSymbolInformationProvider#{getter, setter}DeprecationStatusKT-82853Add a convenience property for testing declarations for effective external-nessKT-83226Support "Collection literals" in the Analysis APIKT-83225Support "@IntroduceAt" in the Analysis APIKT-83222Support "Improve use-site defaulting for annotations" in the Analysis APIKT-83351Rename KaSession context parameter from 's' in bridges to something nicerKT-83199Clarify API around extension pointsKT-83074Inner enum entry class has incorrect default visibilityKT-82442Add Ka prefix to org.jetbrains.kotlin.analysis.api.symbols.AdditionalKDocResolutionProviderKT-82443Add Ka prefix to org.jetbrains.kotlin.analysis.api.symbols.DebugSymbolRendererKT-82441Add Ka prefix to org.jetbrains.kotlin.analysis.api.compile.CodeFragmentCapturedValueKT-82439Add Ka prefix to org.jetbrains.kotlin.analysis.api.components.DebuggerExtensionKT-82438Add Ka prefix to org.jetbrains.kotlin.analysis.api.components.DefaultTypeClassIdsKT-68577asPsiTypeandmapTypeToJvmType: leading delimiter for class in a root packageKT-81734MIssing "ARGUMENT_TYPE_MISMATCH" caused by self-referential generic typeKT-82856Redesign KotlinReferenceProviderContributor to make it extensibleKT-82615ClarifyKtReference#resolvesByNamescontractKT-82534No expected type for property accessor without bodyKT-82406Add a test to ensure that all top-level classes in the Analysis API Surface haveKaprefixKT-78397investigate if there is a need in Extra support for the "various little features in contracts"KT-74009Analysis API: Expose "isOverloadable" check for callable symbols similar to "OverloadChecker.isOverloadable"KT-78399Check return value - check how we see from Java(+Stub) we see “annotated” signaturesKT-80357[Analysis API]KaType.enhancedTypedoesn't enhance type parametersKT-73659Analysis API: The name ofKaType.enhancedTypeis too generalKT-80545[Analysis API] DeprecateKaFunctionType.arityKT-77708K2 Mode: Potentially redundant smart cast highlighing when passing smartcasted expressions as argumentsKT-81264K2 AA:KaValueParameterSymbol.hasDefaultValueis false for overriding or actual functionsKT-81166Forbid the usage of KaSessionComponent implementation types directlyKT-74801Analysis API: Publish/subscribe to modification events with a single message bus topicBackend. Native. Debug
KT-81741Native: stepping into data class hashCode in lldb goes to line 1Backend. Wasm
New Features
KT-81485[Wasm] DebuggerCustomFormatters generation support for single module modeKT-81483[Wasm] Typescript generation support for single module modeKT-81484[Wasm] Dwarf generation support for single module modePerformance Improvements
KT-83839K/Wasm: CMP. Load time on Safari significantly increased with Kotlin = 2.3.20-Beta1KT-81524Unnecessary Any-JsAny conversions are generated for external instanceofsFixes
KT-82732K/Wasm runtime crash when using fun reference: convertKotlinClosureToJsClosureKT-82649K/Wasm: Rewrite StringBuilder to use JsStringKT-73240K/Wasm: consider using JS String Builtins proposal in String implementation for wasm-js targetKT-83995K/Wasm: 2.3.0 -> 2.3.20-Beta1 degradation in arrow testsKT-82309K/Wasm: refactor _initialize functionKT-70075Wasm: "OutOfMemoryError: GC overhead limit exceeded" during testsKT-83046K/Wasm: don't use StringBuilder implicitly for string concatenationsKT-82645K/Wasm: wasmJs use js "String" for number2String conversionKT-79937K/Wasm: support kotlin.js.nativeInvoke annotationKT-67461Use new lowering phase creation API in Wasm backendKT-83664Wasm: Colon and space are not sanitized in output file namesKT-65779JsExport declaration name clashKT-82202[Wasm] SourceMap generation support for single module modeKT-82162[Wasm] Run single module tests with standalone vm'sKT-81325[Wasm] Remove string pool initialiser dependent codeKT-73238K/Wasm: stop using linear memory inside our codeKT-83025Wasm: Compose application is not loadingKT-73239K/Wasm: use JS String Builtins proposal to transfer strings to and from JSKT-83194K/Wasm: create WasmIR test infrastructureKT-65234K/Wasm Ensure that fp operations are aligned with other b-endsKT-81856K/JS/Wasm interop: external instanceofs do not link in singleModule modeKT-81610[Wasm] Add CLI test for performance metrics for klibs->binary scenarioKT-81550Incorrect generation of .wat filesKT-71533K/Wasm + K2: no error on KClass::qualifiedName usagesCompiler
New Features
KT-75736Enable reading/writing annotations in metadata on JVM by defaultKT-79330Implement the first version of inference for Collection LiteralsKT-83401Collection literals: support different types of expected types for CLKT-55548JSR-305: Overload resolution ambiguity: Platform Types vs Kotlin TypesKT-74860Support Unit coercion (incl. fun refs) in unused return value checkerKT-13968Support vertx nullable annotationKT-79656Useorg.jetbrains.annotations.UnmodifiableViewand/ororg.jetbrains.annotations.Unmodifiableto infer read-only types for Java entitiesKT-81684Implement explicit passing of context arguments using named syntax [TEST_ONLY]KT-80492Checkers for operatorofKT-82638Collection literals: resolve to factory functions for standard library classesKT-82467Improve binary and JVM compatibility by generating bridges for abstract interface methodsKT-82655Bridges generated for non-fake overrides shall include annotations from target methodsKT-74223Move Kotlin/Native TestProcessor phase to the first phaseKT-27090Support contracts in getter and setter for top-level extension propertiesKT-74809Support unnamed local variablesKT-45683Allow generics in contract type assertionsPerformance Improvements
KT-81974Do not eagerly initialize reflection for KProperty objects for delegated propertiesKT-83697Native: increased bitcode produced with enabled safe castsKT-83036Native: too many casts emitted with -Xgeneric-safe-casts=trueKT-80061Compiler (or IDEA) hangs due to importing large Kotlin reflect functions (e.g. KFunction999999999)KT-68592Investigate performance implications of enabling -Xjvm-default for ir.tree moduleKT-73687Inefficient KtCommonFile#getFileAnnotationListKT-71673Consider making EnhancementSymbolsCache. enhancedFunctions using simple cacheFixes
KT-84773Annotations not persisted in IR for internal external functionsKT-78783K2: absence of warning for KTLC-284 migrationKT-81553INITIALIZER_TYPE_MISMATCH and ASSIGNMENT_TYPE_MISMATCH is reported on the entire initializerKT-83395Kotlin/Native 2.3.0 iOS release framework fails with Invalid LLVM module (PHI node type mismatch)KT-84620Incorrect optimization of property delegationKT-81567Add a use-site warning if a@DslMarker-marked annotation is used on entities where it is a no-opKT-81700flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)KT-83372compileDebugKotlinAndroid hangs in 2.3.0 with SQLDelightKT-82579Update specificity rule for context parametersKT-83590Some explicit backing fields must still be considered private-to-thisKT-83849False-positive NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS forOptional.orElse(null)callKT-84192"Member overrides different '@Throws' filter from" caused by overriding in different moduleKT-72994K2: Remove resolution to context receiversKT-80247No diagnostic on unresolved type annotation from a dependency in an inferred typeKT-78730Move more LLVM-agnostic code to compiler/ir/backend.native or compiler/ir/backend.commonKT-74051Add a Continuation for tail-call suspend functionsKT-83984Data races around kotlinx.serialization plugin protobuf extensions registrationKT-83317ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constantKT-83031K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused codeKT-83824Delegated property in Gradle DSL fails to compileKT-83657[K/N] Pre-codegen inline produces invalid bitcodeKT-81555Kotlin scripts: top-level name-based destructuring with _ = prop fails with “exception while generating code”KT-83314JSpecify@NullMarkedchanges Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3KT-83282JvmExposeBoxed: Duplicate annotation interface kotlin.coroutines.jvm.internal.DebugMetadata in class %class%$1 for suspend inline class valueKT-78443Refactor session component initialization for multi-target compilationKT-83427Arguments of plugin-generated annotations are serialized incorrectlyKT-83538OPERATOR_RENAMED_ON_IMPORT is not reported for 'provideDelegate' operatorKT-83537OPERATOR_RENAMED_ON_IMPORT is not reported for 'of' operatorKT-82721Inconsistent explicit backing fields behaviorKT-83589Explicit backing fields don't likely work with intersection overridesKT-81951K2: Another false positive "Assigned value is never read" in composable functionKT-83588Explicit backing field is falsely accessible from a subclass via a substitution overrideKT-82849Collection literals (minor): collection literal should only be resolved to operatorKT-83363VerifyError: "Bad type on operand stack" on multi-line suspending call with default parameter value since API version 2.4KT-83570K2: Resolve problematic IR when referencing Kotlin const from annotation in JavaKT-83362Starting from 2.3 DefaultImpls bridge functions deprecated with the level HIDDEN are no longer syntheticKT-9182Java interoperability: Overload resolution ambiguity on Java's@NotNulland primitivesKT-83633Forbid inline functional context parameters in inline functionsKT-83449compile-time IR failure on smart cast information leaking from capturing closureKT-82375AddATOMIC_REF_WITHOUT_CONSISTENT_IDENTITYwarning for any argument without consistent identityKT-82524Access to a companion that requires opt-in is possible without opt-inKT-83367VolatileFieldsLowering may emit wrong parameter types for atomic intrinsic callsKT-83382K2: Unreachable method exit breaks MUST_BE_INITIALIZED checks for succeeding value declarationsKT-82211False positive SENSELESS_NULL_IN_WHEN with nullable varKT-83157ExplicitBackingFields: "Property with explicit backing field should be final" in 2.3.0KT-83269K2: Wrong types in IR for explicit backing fieldsKT-68606Argument type mismatch, despite being from the same star-projected typeKT-83324Native: problem with loops handling in types computation passKT-83241K2: "NoSuchElementException: List is empty" with top-level destructuring declaration and lambda initializerKT-82277MisleadingInapplicable candidate(s): fun <K> WHEN_CALL(vararg branches: K): Kwhen a when expression branch contains an unresolved referenceKT-80839Get rid of an obsolete -Xcompile-builtins-as-part-of-stdlib flag once previous changes are bootstrappedKT-82900Language Feature EnhancedBridgesGenerationKT-82651Do not generate self-recursive bridges in JVM backendKT-5486Better errors for integers with leading zeroKT-83185Kotlin repeatable annotations are incorrectly deserialized from bytecodeKT-82863@NoInferregression since 2.2.20KT-82376Header mode: Index out of bounds when generating bodies of data classKT-82311Header mode: Error expression when assigning function declaration to a propertyKT-82408Header mode: Java files are not compiled successfullyKT-82378Header mode: Sequence contains no element matching the predicateKT-82407Header mode: Backend Internal error: Exception during IR loweringKT-81763Incorrect comparison result when using elvis ?: with nullable Long valuesKT-83153Properly ignore contract statements in the Return Value CheckerKT-83076Don't reportWRONG_JS_INTEROP_TYPEon expect types during metadata compilationKT-78589"Class does not have member field" caused by delegation from a Java to Kotlin classKT-82640K2: CCE on green codeKT-82684"Don't know how to compile annotation value ERROR_EXPR" on incorrect array literal in annotation default argumentsKT-81948K2: ClassCastException: "java.lang.String cannot be cast to java.lang.Void" when calling@NullableJava functionKT-82788false-positive duplicate JVM class name error in IJ monorepoKT-82841"kotlin.NoWhenBranchMatchedException" inwhenwith!ischeck & non-sealed class in the middle of hierarchyKT-82844"when" with no branches does not evaluate subject (side effects ignored)KT-81625Incorrect empty parameters parsing (comma is highlighted in red)KT-81193K2: SOE fromAbstractTypeApproximator.approximateToSuperTypewith local enum classKT-65059Stack overflow when typechecking an Elvis expression with deeply generic valuesKT-82555@Deprecated(HIDDEN)` objects not skipped when resolving qualifiersKT-82737Leaked type variable in diagnostic when top-level lambda with uninferred type parameter has non-functional expected typeKT-78019Change K1 API deprecation level from Warning to ErrorKT-82683K2: FIR2IR: compile-time JVM codegen failure on an argument of function subtype for a KSuspendFunction parameterKT-82671Do not report ignorability mismatch on override/actualization if the function returns Unit typeKT-82506Misleading compilation warning: "This class is not recommended for use in Kotlin. Use 'java.util.Map' instead"KT-52498Test privateSuperType.kt is failing with caches enabledKT-82336Header mode: Cannot infer argument for type parameter TKT-69326Inference chooses controversial order to fix variablesKT-82545Handle data class with extra components in migration warning for name-based destructuringKT-82303Improve UNSUPPORTED_FEATURE message when compiler argument has a parameterKT-81866K2: False positive ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL caused by smart-casted@RestrictsSuspensionreceiverKT-13412Improve error message on callable reference with expression of nullable typeKT-82466KotlinIllegalArgumentExceptionWithAttachment when return is used in explicit delegation expressionKT-82454Local types aren't approximated in public declaration typesKT-82487False positive REDUNDANT_VISIBILITY_MODIFIER inside private classKT-82369[K2 REPL] Crash in the serialization plugin backend with "unable to transform declaration"KT-82243Usage of nested type aliases is forbidden despite the feature flagKT-62900K2: Expected expression to be resolved during Fir2IrKT-81941IllegalArgumentException: class org.jetbrains.kotlin.psi.KtValueArgument is not a subtype of class org.jetbrains.kotlin.psi.KtExpression for factory POSITIONED_VALUE_ARGUMENT_FOR_JAVA_ANNOTATIONKT-80741Fix rendering of inner classes with generic outer classesKT-82331Do not propagate context parameters from classes to constructorsKT-77276K2: Wrong scope for annotation arguments for the parameters of a secondary constructor headerKT-77275Inconsistency between scopes for primary/secondary constructor headersKT-15152Improve error message for unresolved reference for delegation specifier and primary constructor callKT-81498Make Kotlin/Native stdlib in distribution reproducibleKT-81408Allow local-variable-target annotations on destructuring declarationsKT-82012Annotations without parentheses on full form of name-based destructuring don't workKT-81915Exception when analysing 'when' expression with annotated expression as a subjectKT-78364Static methods are not generated for companion object JvmStatic property accessors with JvmExposeBoxedKT-81838Prohibit usage of nested type aliases (from lib) for sources with LV < 2.3KT-81357Forbid compilation of code with explicit root_ide_package in CLI modeKT-73138K2: "Assignment type mismatch" when class name is underscore_KT-82169Add quotes to message of WRONG_NUMBER_OF_TYPE_ARGUMENTSKT-78386JvmExposeBoxed (with no name) + JvmOverloads + JvmName produces ambiguityKT-78358Propagated JvmExposeBoxed annotation doesn't copy JvmName argumentKT-81699Move native klib compilation to a separate moduleKT-81692Decouple compilation of Native klib from the Native backendKT-80673Consider forbidding/minimizing usages of ClassId.isLocal and CallableId.isLocalKT-81376False negative UNEXPECTED_TRAILING_LAMBDA_ON_A_NEW_LINE & bad positioningKT-81946false-positive JAVA_CLASS_ON_COMPANION in case of an explicit companion referenceKT-74461K2: Render function types nicelyKT-81875NCDFE: kotlinx/coroutines/internal/intellij/IntellijCoroutines at :compiler:multiplatform-parsing:jvmTestKT-49722Report NOT_YET_SUPPORTED_IN_INLINE for inherited default parameters with inline functionKT-81913Inapplicable candidate when vararg-adaption for callable reference might be used (array parameter)KT-81841Inapplicable candidate when vararg-adaption for callable reference might be used (generic parameter)KT-39697"Cannot infer type parameter" in map with java static or global method referenceKT-81896Improve RedundantCallOfConversionMethod inspection for@UnsafeNumberannotated typealiasesKT-66413Incorrect line mapping in suspendable code before suspend call without parametersKT-80525Update IntelliJ SDK dependency to 251.27812.49KT-81808Setting hasDefaultValue = true in irValueParameter() crashes the compilerKT-78927False positive 'USELESS_JVM_EXPOSE_BOXED'KT-81703Drop obsolete K1 frontend code from Kotlin/NativeKT-81698DecoupleSpecialBackendChecksTraversalfrom Native backendKT-81687Different LightTree and PSI outputs when annotated class-like declaration is used as an expressionKT-81302False positive: Type Mismatch caused by context parameters, lambdas, and genericsKT-81584IAE "Collection contains more than one matching element" in FirElementSerializer on contextual property with same name as primary value class propertyKT-77237JvmExposeBoxed breaks compilation with a secondary constructor with value classKT-81262False positive: Access declaration type exposure: during access to public function class from internal inline declarationKT-80112Kotlin Debugger: “Cannot find local variable” on evaluating default lambda inside inline functionKT-76806K2: AIOOBE in FirEqualityCompatibilityCheckerKT-81693Introduce lightweight versions of KonanConfig and PhaseContextKT-72446K/N: inline function's default values aren't lowered with cachesKT-81521Anonymous function in context parameters breaks parserKT-80853Class reference in context parameters breaks parserKT-81441Missing type checks when class has deeply generic supertypeKT-79116Wrong parameter arguments mapping (compiler skips empty arguments)KT-81422False negative in full-form name-based destructuring: annotations before val/var not rejectedKT-80652K2: USELESS_IS_CHECK is not detected inwhenKT-80049MangleERROR_TYPEs in diagnostics reported to userKT-73786Evaluator: cannot evaluate inline methods with reified parameterKT-75828Store backing field/delegate annotations and extension receiver annotations in metadataKT-74572Context parameters: contracts don't work with context parametersKT-42824FIR: false INAPPLICABLE_CANDIDATE when using in variance on a Java classCompose compiler
b/481953005,b/481769383Cache stability inference results during sessionb/481735904Fix Compose codegen crash in inline functionb/479646393Add groups to inline functions with two or more inline parametersb/458234821Disable Compose K1 tests on CIb/456948687Force resolution of declarations when looking up SAM functions in FIRb/445426829Add a diagnostic forkeycall with no argumentsIR. Actualizer
KT-82418KMP Separate Compilation: NPE caused by actualization of NsCalendar.getEraKT-82313ACTUAL_ANNOTATION_CONFLICTING_DEFAULT_ARGUMENT_VALUE checks throwconflicting values in expected and actual annotationsIR. Inlining
Fixes
KT-82017[Inliner] Inline function overrides abstract method with default valueKT-80814[IR Inliner] Space: jsBrowserProductionWebpack task failed with HookWebpackErrorKT-83280SplitLibrarySpecialCompatibilityChecksTestinto pure JS and pure Wasm testsKT-81766K/N: Recursive inline expect/actual causes StackOverflowErrorKT-80953[Inliner] Eliminate excessive IMPLICIT_CAST after IR Inliner on 2nd stage.KT-79899[IR Inliner] Split single-module tests havinginline funinto filesKT-83148KLIB inliner: Make both "inliner" language features to require Api Version = 2.3KT-80791classFunctionsAndFieldsWithCrossModuleInliner fails per-file with cross-module inlinerKT-80696Can not get instance of singleton 'Obj': No class found for symbolKT-82065IR inliner: Inline function's default value argument may get wrong offsets in a temporary variableKT-81753Review diagnosticReporters usage in pre-serialization loweringsKT-80793TestfriendDependencyWithCrossModuleInlinerfails per-file with cross-module inlinerKT-80698[IC][WASM] Mismatched file statsKT-80697[IC][JS per file] Mismatched rebuilt modulesKT-80660[Inliner] Bodyless functions should not be inlined at 1st compilation stageKT-79064Try to get rid ofTypeOfPostProcessorIR. Interpreter
KT-82161Enable Enum.name and KCallable.name to constant evaluationKT-80646Enable unsigned conversion functions when bootstrapped compiler is availableIR. Tree
KT-82765Kotlin/Native: Internal compiler error when building DFGKT-82829IR deserializer: Don't deserialize any cinterop fake overrides from KlibsKT-83236PeopleInSpace_mpp compilation error: The symbol table has been sealedKT-81154[IrValidator] Fine-tune IrVisibilityChecker on 2nd stageKT-80243Support Name Based Destructuring in loop with withIndex()KT-79436KLIB stdlib symbols loading: Drop all functions from SymbolFinder except for loading the whole collection of (potentially unbound) symbols by nameKT-79435KLIB stdlib symbols loading: Load symbols and and filter/map them lazily in BuiltinSymbolsBase hierarchy when accessed by IRKT-69082Migrate maps of IR elements to IR attributesKT-67457Introduce a way to simplify IR lowering phase creationJVM. Reflection
New Features
KT-22265Support for inherited annotationsPerformance Improvements
KT-84600Performance regression around Kotlin properties JVM reflection during instantiationFixes
KT-83608Kotlin-reflect: "Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R"KT-57357Reflection: "KotlinReflectionInternalError" when usingcallByon constructor that has inline class parameter with nullable valueKT-83361"KotlinReflectionInternalError: Type parameter not found: 0" on super types with Kotlin 2.3.0KT-42199"KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke" on function reference to FunctionN.invokeKT-81024Reflection: New KType implementation fails on arguments comparison for a Nothing type parameterKT-83067Reflection: IAE "argument type mismatch" on callBy with vararg of generic type parameter with primitive upper boundKT-82699Reflection: incorrect behavior of KFunction.isExternal for Java native methodsKT-82350Reflection: incorrect behavior of KType.javaType on a type obtained from KType.withNullabilityKT-29203KType.javaType always returns void class for local delegated propertyKT-81899Reflection: incorrect javaType for local delegated property setter return typeKT-82093Reflection: IAE from defaultType for inner class of generic classKT-77312KotlinReflectionInternalError: "Container of deserialized member is not resolved" on computing type parameter captured in a local delegated propertyKT-82316Reflection: type parameters of top-level declarations behave incorrectlyKT-81987Reflection: error when calling function in inline class with inherited default valueKT-81870Reflection: Error when calling function with default parameters and extension receiverKT-81880Reflection: Error when calling function with default & context parametersKT-81907Reflection: incorrect result when calling function with default values and context parametersKT-81859Reflection: do not use descriptors in ValueClassAwareCallerKT-81854Reflection: incorrect type for instance receiver of inner class constructorKT-81855Reflection: IAE "object is not an instance of declaring class" on function with context and extension receiver of inline classKT-81843Reflection: NPE on accessing property accessor returnType for Java fieldKT-81588Reflection: KotlinReflectionInternalError "Inconsistent number of parameters" on calling contextual declaration with value class type in the signatureKT-81111Reflection: suspend function types are loaded incorrectly by the new implementationKT-81206Reflection: non-substituted Function type in suspend function supertypesKT-81804Reflection: remove support for multi-field value classesKT-81664Reflection: IAE "argument type mismatch" on calling member extension with value class in the signatureJavaScript
New Features
KT-83454K/JS: Support ES6 classes in js() callsKT-83455K/JS: Support ES6 default function arguments in js() callsKT-83453K/JS: Support ES6 concise methods in js() callsKT-83457K/JS: Support ES6 spread operators in js() callsKT-83456K/JS: Support ES6 rest function parameters in js() callsKT-54504K/JS: Support ECMAScript tagged string templatesKT-82327KJS: Export parameter names of function types if present in .d.ts filesKT-82371KJS: Generate more concrete TypeScript for members of an uninhabited enumPerformance Improvements
KT-16379KotlinJs - ArrayList get is now slowFixes
KT-64951Kotlin-Multiplatform does not allow JSExport of expectKT-83528K/JS: Array holes in array literals are ignored in the new js() parserKT-84134KJS/CMP: "IrLinkageError: Function 'get' can not be called: No function found for symbol"KT-65802How to implement Interfaces in Javascript/Typescript?KT-83830Relocate org.antlr.v4 to an internal packageKT-83572KJS/Wasm: Cannot access@JsModule-declared class from non-modular projectKT-83930Kotlin/JS: JsStatic on property of interface companion generates incorrect d.tsKT-70986Add Swc into the compilation pipeline of Kotlin/JSKT-78742Investigate the usage of the ANTLR-generated parser for thejsfunctionKT-60554KJS: rethink JS_*_NAME_CLASH diagnosticsKT-82552KJS: "Non-abstract class does not implement inherited abstract member from class" errors in generated .d.tsKT-82652KJS: Exported abstract inner classes can be constructed from TypeScriptKT-82542KJS: Inner class can be constructed from TypeScript without passing an outer instanceKT-82499KJS: Omit parameters in private constructors in .d.ts filesKT-41082KJS: 'Reflection is not supported on JavaScript target, so you won't be able to read this annotation in runtime' warning is inconvenient and misleadingKT-82279KJS: DCE removes external members overrides without reasonKT-52800KJS / IR: sealed interface with nested data classes not accessibleKT-67460Use new lowering phase creation API in JS backendKT-82667Kotlin/JS: ESM TypeScript definitions for exported nested Enums do not compileKT-82553KJS: Incorrect .d.ts generated for generic inner classesKT-82263Implement exporting top-level properties in Analysis API-based TypeScript ExportKT-82362KJS: Incorrect types generated in .d.ts for JsName-annotated enum entryKT-82262Implement exporting top-level functions in Analysis API-based TypeScript ExportKT-82144K/JS: 'meta' identifier usage in js() inline calls prevents expression from parsingKT-82149K/JS:newcalls without arguments produce exceptions in js() inline callsKT-81730Optimize suspend functions compilations via JS generatorsKT-79243[JS] Drop K1-specific tests, testrunners and test directivesKlibs
New Features
KT-83101Implement experimental KLib ABI dump parserFixes
KT-82586Export in previous version (JS, Wasm): adjust the checker for incompatible Kotlin stdlib/compiler pairsKT-84273[Klib] Added IrOffsetsChecker broke backward klib compatibilityKT-80910[Klib] Ensure serialized source coordinates are correctKT-81955[JS] Support testing of forward compatibility with export in previous versionKT-81957[JS] Create a common Gradle test taskKT-82736False positiveIR_PRIVATE_CALLABLE_REFERENCED_BY_NON_PRIVATE_INLINE_FUNCTION_ERRORon referenece to local declarationKT-82758[PL] Change the behavior of getting name of removed propertyKT-81470Simplify inline function deserialization after the bootstrap updateKT-81466Enable KlibAnnotationsInMetadata by default in LV 2.5KT-82208K/Wasm: allow using newer stdlib with older compilerKT-83328kotlin-wasm-benchmarks: Compilation errors due to missing KLIB dependenciesKT-83071Failure on Native NightlyKT-78365[PL] Change the behavior of getting name of removed functionKT-81977Klib compatibility tests: Implement sanity checksKT-81410Klib metadata: migrate to using the common annotations instead of klib-specific extensions in kotlinx-metadata-klibKT-82577Don't use KLIB resolver in the KLIB toolKT-82213IR linker doesn't complain when a private value class constructor is used from another moduleKT-81003KLIBs: Eliminate excessive implicit casts in common prefix on the 1st stageKT-81670K/N: Many Section still use none cacheable zip when Xklib-zip-file-accessor-cache-limit flag setKT-81954[JS] All forward compatibility tests failKT-81709[KLIB Reproducibility] KLIB zip file generation is non-deterministic due to unsorted file system traversalKT-81474[Tests][Klibs] Migrate Klib evolution tests to PL tests engineLanguage Design
KT-83009Exposing of non-exportable API from interfacesKT-73502Context parameters: it is not possible to declare local function with a contextLibraries
New Features
KT-81997Method to create a detached copy of a Map entryKT-79093Expose FirResolvedStatus.hasMustUseReturnValue in kotlin-metadataPerformance Improvements
KT-75801Optimize Array to list conversion using array copy instead of a loopKT-82038K/N: iterating over Array.asList is slower compared to ArrayListFixes
KT-78115Investigate the current situation with 22kotlin.contextstandard library overloadsKT-82363AddassertIsto the list of ignorable functionsKT-80666K/N and K/Wasm: Regex: unassigned category is excluded from other charsKT-80665K/N and K/Wasm: Regex: unicode category Symbol matches some punctuation marksKT-78089K/N: Regex: Quantified groups matching is causing a stack overflowKT-82783HashMap (K/N, Wasm), MapBuilder (all targets) duplicate keysKT-52400Deprecate@BuilderInferenceKT-80786Annotate kotlin-stdlib-jdk7/8 with@IgnorableReturnValueKT-83181Remove@IgnorableReturnValuefrom contract DSL functionsKT-82033Array<Array>.flatten fails with obscure error when total length exceeds List's size limitKT-83290Remove unnecessary ExperimentalTime annotation from Uuid functionsKT-83026Specify compareTo behavior for BooleanKT-82868Restore accidentally deleted JS-specific note in ArrayList documentationKT-81563Document kotlin.collections.HashMap and HashSetKT-81562Document kotlin.collections.ArrayListKT-60535Mark SubclassOptInRequired and RequiresOptIn with MustBeDocumentedKT-64649Add explanation to "A compileOnly dependency is used in the Kotlin/Native target" warning messageNative
KT-83542Switch the default GC back to PMCS in 2.3.20-RCKT-82387Kotlin <-> Xcode compatibility issueKT-75806KN Compiler with debug build can not produce executable with debug infoKT-81828Update exception messages regarding disabling native cacheKT-81495Consider making Kotlin/Native distribution compiler cache reproducibleKT-81501Make Kotlin/Native distribution runtime .bc and fingerprint reproducibleKT-80790'Argument list too long' error when using dynamic_cachesKT-48566ExceptionInInitializerError when configuring Gradle project with kotlin-multiplatform plugin on a host unsupported by Kotlin/NativeNative. Build Infrastructure
KT-82886KonanTarget's clinit causes deadlockKT-81345Temporary turned off Swift Export execution testsKT-80869Extract per-module test generators for Native testsKT-82028Kotlin/Native: move runtime building flags to runtime building codeKT-81500Make Kotlin/Native distribution shared libraries reproducibleKT-72011Kotlin/Native: consider building platform libraries with bootstrap compilerKT-81666Kotlin/Native: build stdlib with the bootstrap compilerNative. C and ObjC Import
KT-79741Native: implement type checking against Objective-C protocols withoutprotocolGetterKT-83039Native: mark header-defined functions and globals unavailable with-Xccall-mode directKT-82200Native: implement type checking against Objective-C protocols withobjc_runtime_namewithoutprotocolGetterKT-82669Kotlin/Native: cinterop tests failure with no class for metaclassKT-79742Native: import C global variables without C wrappersKT-81937Native: switch cinterop to-Xccall-mode bothby default for custom cinterop klibsKT-81548Native: compiler doesn't sanitize CCall.Direct symbol names in C stubsKT-81538Native: InteropBridgesNameInventor doesn't handle legitimate '$' characters in function namesKT-81017Native: compiler can't call CCall.Direct with '$' in the symbol nameNative. ObjC Export
KT-82160K/N: bridge for fake override is not built but requestedKT-83736Objective-C export withobjcExportBlockExplicitParameterNamesgenerates invalid block signature when lambda parameter is namedidKT-83014Native: experimental support for generating an NS_ENUM in addition to an Objective-C class for Kotlin classesKT-76637ObjCExport: K1 + K2 integration testNative. Runtime
KT-82077Kotlin/Native: in runtime make main module depend on mm moduleNative. Runtime. Memory
KT-82635Enable CMS GC by default in 2.3.20-Beta1KT-83470Potential race condition in TryRequestThreadsSuspension due to initialization orderKT-83549Provide an experimental Platform property which returns information about object allocation modeKT-83535Typo in out-of-memory error messageKT-81152Kotlin/Native: deprecate isMemoryLeakCheckerActiveKT-81156Kotlin/Native: deprecate forceCheckedShutdownNative. Swift Export
New Features
KT-82908Swift Export: bridges for FT should be recursiveFixes
KT-82054Swift Export:private setis ignored by swift exportKT-83499Swift Export: trampoulines w/ varargs results in a broken swift codeKT-83655Typealias to a closure receiving a closure results in broken swift codeKT-82053Swift Export: Returning generic on top level function produces uncompilable codeKT-80971Swift Export: Support exception throwingKT-83141Swift Export: suspendable covariant functional typeKT-82907Swift Export: attributes are not printed for parameters of closuresKT-80970Swift Export: Support cancellationKT-82726Swift Export: filters out wrong module for coroutinesKT-81591Custom type translation rules in Swift exportKT-81270K/N - Build fails when exposing suspend functionsTools. BCV
KT-80938Binary compatibility validation: can't exclude container types of Repeatable annotations byfilters.excluded.byNamesKT-83484Create fat-jar artifact for abi-tools [ABI Validation]KT-80747Refactor API of ABI tools [ABI Tools]Tools. Build Tools API
New Features
KT-80681BTA: introduce a special argument for passing compiler pluginsKT-80338Kotlin CRI generationKT-78198BTA: implement basic metrics collectionKT-79975BTA: add ability to cancel build operationsKT-81790[BTA] Make build operations and configuration immutable after executeKT-82702BTA: Allow collecting compiler lookups in non-incremental modeKT-81847Add CRI <-> BTA integrationKT-81845Add CRI <-> Maven integrationFixes
KT-84577BTA: API 2.3.20 incompatible with compiler 2.3.10KT-82682BTA: reading non-nullable arguments may return null or throw NPEKT-81729BTA: loading from a classloader without implementation fails with CNFE instead of error with explanationKT-83971BTA: OperationCancelledException cannot be thrown properly from isolated classloaderKT-82167Add BuildTimeMetric for the CRI data generationKT-81846Add FUS for CRI usage in Gradle / MavenKT-82399[BTA] JvmClasspathSnapshottingOperationImpl doesn't use Option defaultsKT-82039BuildEvent compilation error missing with KGP 2.3.0-Beta1KT-81887Implement the CRI lookup data generationKT-81886Implement the CRI data serializationKT-81780Add Gradle <-> CRI integration testsKT-81645BTA prints unreadable version in "option available only since" error (shows KotlinReleaseVersion@hashinstead of 2.x.y)Tools. CLI
KT-83044Report redundant CLI arguments when they have no effectKT-83202Report all errors during parsing CLI arguments instead of a single oneKT-73320Migrate the main JS CLI pipeline to the phased structureKT-81898Introduce a CLI option to disable source file sortingKT-73606Provide a unified interface for managing the reporting of compiler warningsKT-48419Using a@RequiresOptInAPI that does not exist should have an option to not output a warningKT-81861Introduce a mechanism that allows suppressing CLI diagnosticsKT-82321KMP Separate Compilation: Common fragments are missing forward declaration symbol providersKT-81551Introduce an experimental CLI option for enabling local type aliasesKT-74196Remove patched copy of com.intellij.util.lang.JavaVersion from the Kotlin repoTools. CLI. Native
KT-64509Refactor Kotlin/Native compiler setup: run FE without KonanConfigTools. Compiler Plugin API
KT-83823DeprecatePreprocessedVirtualFileFactoryExtensionKT-82809[FIR][IC] New containingFileName parameter API is not actually compatible with ICKT-46709IR plugin lookups don't work as expected for expect class with actual typealiasKT-82518Disable automatic body generation of the plugin-generated callablesKT-82159[FIR] Automatically add expressions to properties or functionsKT-58886K2: compiler plugin generated top level declarations cause AssertionError on K/JS and K/NativeTools. Compiler Plugins
New Features
KT-71893Support@Builderlombok annotation on methodsKT-28594Add a 'jpa' pre-defined flavor to the allOpen compiler plugin.KT-81604Lombok Kotlin compiler plugin and -Werror: Unable to ignore warning for the plugin applianceFixes
KT-83119Lombok. canEqual is not available from kotlin for a class with@DataannotationKT-83334Lombok. Builder function is unavailable for a generic classKT-83063Lombok: Setter/getter is not available with a protected access levelKT-83217Lombok. With method is available for the static fieldKT-83120Lombok. A constructor is available for a class with an existing constructor and@Data/@ValueannotationKT-83256Lombok. Setter is available for non-final fields if@Valueand@Data/@Setterare used togetherKT-83251Lombok. Constructor from@Valueincludes fields that are initialized in declarationKT-83252Lombok. Class marked with@Valueisn't finalKT-83085Lombok: getter/setter is available for a static field if class is annotatedKT-83078Lombok: getter and setter are not available for a static Java fieldKT-82341Migrate official compiler plugins to IC-safe reference... APITools. Compiler plugins. Compose
KT-84218[2.3.20-Beta1] "IllegalStateException: no implementation for FUN MISSING_DECLARATION" during bitcode loweringKT-84055Reference to lambda in lambda in function 'TextField' can not be evaluatedTools. Compiler plugins. Serialization
KT-82351Migrate kotlinx.serialization to IC-safe reference... APIKT-76949Serialization: "IllegalStateException: Serializer for element of type kotlin.Any has not been found" on custom serializer forMap<String, Any?>KT-73107Serialization: "IllegalStateException: Serializer for element of type kotlin.Any? has not been found" with star projectionTools. Gradle
New Features
KT-79389Add allopen plugin + JPA preset to kotlin.plugin.jpaKT-78200Gradle: enable JVM compilation through BTA by defaultKT-81844Add CRI <-> Gradle integrationPerformance Improvements
KT-84152Memory Leak and OOM Errors in Kotlin Gradle Plugin 2.3.20-Beta2 within-processexecution modeFixes
KT-80186Remove usage of deprecated Gradle API Project.container(...)KT-78754KGP: Remove usages of isVisible/setVisibleKT-80356Compatibility with Gradle 9.2.0 releaseKT-78763Compatibility with Gradle 9.1.0 releaseKT-83316[BTA] Build Reports missing information when JVM compilation uses Build Tools APIKT-82885Run tests against Gradle 9.3.0KT-83125Deprecate out-of-process compilation modeKT-82323Deprecate LanguageSettings.enableLanguageFeature DSLKT-83323Run integration tests against Gradle 9.2KT-82884Compile against Gradle API 9.3.0KT-78104Deprecate CleanableStore infrastructureKT-80096Strange "Inconsistent JVM Target Compatibility" warningKT-82715Declaring dependencies using multi-string notation has been deprecatedKT-83161CRI: it is not clear that CRI generation requires BTA being enabledKT-82717Specifying 'org.gradle.java.installations.auto-detect' as a project property on the command line has been deprecatedKT-81830Create autogenerated kotlin version constants to be used with disableNativeCache DSLKT-83322Compile against Gradle 9.2 APIKT-81831Verify Problems API implementation with Gradle guidelinesKT-80120Support colored value for --console command in Gradle 9.1KT-81400ToolingDiagnosticFactory: check if documentationLink set multiple timesKT-83070The KGP api reference is missing a descriptionKT-82459Improve iOS simulator boot implementationKT-80008Track cross compilation status from project dependenciesKT-78764Compile against Gradle 9.1 APITools. Gradle. BCV
KT-80674Rename tasks to avoid usinglegacyword [ABI Validation]KT-80614Add dependency on abi check from gradle's check task [ABI Validation]KT-80827Delete DSL for working with dump variants [ABI Validation]KT-80823Stabilize DSL for filtering [ABI Validation]Tools. Gradle. Cocoapods
KT-80641EXECUTABLE_DEBUG_DYLIB_PATH problemKT-80644Cocoapod plugin builds a synthetic project for "generic/platform=iOS Simulator"Tools. Gradle. JS
KT-84772Bundled yarn.lock for kotlinWasmToolingSetup does not include@swc/helpers@0.5.17KT-82946Js, Wasm: Upgrade NPM dependenciesTools. Gradle. Multiplatform
New Features
KT-77258Query status of cross-compilation or compilation taskKT-81849Replace kotlin-test-common and kotlin-test-annotations-common with just kotlin-testFixes
KT-83917compileCommonMainKotlinMetadata fails in CMP core repository with Kotlin 2.3.20-Beta1KT-82090Kotlin JVM + Android Shared Source set fails Import with the Project Isolation enabledKT-81973NPE with Cannot invoke "java.util.List.get(int)" because "path" is null in KMP + Android projectKT-79257Consider deprecating and removing kotlin.kmp.isolated-projects.supportKT-81944Legacy KMP Android uses wrong configurations to infer common dependenciesKT-83687Revert deprecation of 'androidTarget' for AGP lower than 9KT-81536"Couldn't resolve dependency in 'commonMain' for all target platforms" in 2.2.20-Beta2KT-81724IntelliJ successfully resolves imports that are not actually available in the given moduleKT-79073compileTest* tasks pass separateCompilation parameters but don't behave accordinglyKT-71130Enable Isolated Projects support by default for KMPTools. Gradle. Native
KT-84759iosX64 should not be marked as deprecated in Kotlin Gradle DSLKT-83598KotlinNativeDownloadTask build caching is unsafeKT-80715Deprecatekotlin.native.cacheKindand introduce DSL insteadKT-83353DisableNativeCache breaks up-to-date checks for non-cacheable K/N targetsKT-81443ConfigurationCacheErroron Linux arm64 due to disabled iOS targetsKT-82970Warning about disabled K/N caches for non-cacheable targets is printed twiceKT-82786Warning about disabled K/N caches is displayed twiceTools. Gradle. Swift Export
KT-82727Swift Export: generated kotlin bridges don't see neighboring modulesTools. Gradle. Wasm
KT-82525K/Wasm: kotlinToolingSetup does not depend on package manager installationTools. Incremental Compile
KT-80483Incorporate IC lookups intoreference...methods ofIrPluginContextTools. JPS
KT-76927Switching from VAL to VAR does not trigger recompilation of usage in Kotlin-uses-KotlinKT-79362JPS/NoArg: Failed to build project with 'java.lang.NoClassDefFoundError: org/jetbrains/kotlin/com/intellij/psi/PsiElement'Tools. Kapt
KT-81691K2: KAPT: "ClassCastException: IrErrorTypeImpl cannot be cast to class IrSimpleType"KT-82338K2 KAPT: ISE "Cannot evaluate IR expression in annotation" on unresolved enum usageTools. Maven
KT-83565Maven: auto‑detect src/main|test/kotlinKT-79304Maven: Automatically add kotlin-stdlib dependencyKT-83111Add JavaVersion argument resolver for kotlin-maven-plugin-testKT-83112Add MavenVersion argument resolver for kotlin-maven-plugin-testTools. REPL
KT-82575[K2 REPL] Redesign frontend resolution for REPL snippetsKT-82741[K2 Repl] OOM inFirJavaElementFinderKt.collectAllDependentSourceSessionsTowhen rerunning the same cell multiple timesTools. Scripts
KT-81679Script explain: while loop explanation may lead to the hanging codeKT-81677Script explain: Contents of the if/when branches are not explainedKT-67063LauncherReplTest flaky on WindowsTools. Statistics (FUS)
KT-82877Add performance measurement for KLIB sizeKT-79576Included build subprojects produce FUS files with unknown_id when configuration cache is enabledv2.3.10Compiler
KT-83984Data races around kotlinx.serialization plugin protobuf extensions registrationKT-83317ClassCastException: with cast kotlin.UInt to java.lang.Number when defining constantKT-83031K2: unstable resolution of EnhancedNullability from type-use NotNull in presence of unused codeKT-81700flaky overload resolution behaviors (false-positive errors, different final candidates, compile-time failures)KT-83983Revert of KT-83081KT-83314JSpecify@NullMarkedchanges Java equals(Object) to equals(Any?) causing override conflict in Kotlin 2.3KT-82863@NoInferregression since 2.2.20KT-82841"kotlin.NoWhenBranchMatchedException" inwhenwith!ischeck & non-sealed class in the middle of hierarchyJVM. Reflection
KT-83608Kotlin-reflect: "Unknown origin of public abstract operator fun invoke(p1: P1, p2: P2): R"KT-83361"KotlinReflectionInternalError: Type parameter not found: 0" on super types with Kotlin 2.3.0KT-42199"KotlinReflectionInternalError: Unknown origin of public abstract operator fun invoke" on function reference to FunctionN.invokeKT-81024Reflection: New KType implementation fails on arguments comparison for a Nothing type parameterTools. Compiler Plugins
KT-83266"Unsupported class file major version 69" for "produceReleaseComposeMapping" task with Kotlin 2.3KT-83099Compose compiler does not generate stack trace mappings for project filesTools. Gradle
KT-83070The KGP api reference is missing a descriptionKT-82459Improve iOS simulator boot implementationTools. Gradle. JS
KT-82946Js, Wasm: Upgrade NPM dependenciesTools. Gradle. Multiplatform
KT-83687Revert deprecation of 'androidTarget' for AGP lower than 9v2.3.0Analysis API
KT-80082K2. False positive "Cannot resolve method" for self-bounded generic with wildcard return type in Java interopKT-80303Move:native:analysis-api-klib-readerto:libraries:toolsAnalysis API. Code Compilation
KT-70860K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that varKT-78554K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluationKT-73201K2 IDE: Error while evaluating expressions with local classesAnalysis API. FIR
KT-81378Expected expression 'FirFunctionCallImpl' to be resolved caused bysuspend {}KT-80473Add events for tracking LL activitiesKT-46375Analysis API: Support cross-file class redeclaration checks using indicesKT-80471Analysis API: Deduplicate equivalent call candidates inresolveToCallCandidatesKT-79653[Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entriesKT-75858K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setterKT-80231AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some casesKT-80233Pull mutation out of AnnotationArgumentsStateKeepersKT-71466LLFirBuiltinsSessionFactoryusescreateCompositeSymbolProviderKT-76432JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImplAnalysis API. Infrastructure
KT-80717Support IntelliJ Bazel build in the Kotlin Coop development modeAnalysis API. Light Classes
KT-80656Duplicate no-args constructor in PSIKT-60490Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating classKT-79689SymbolLightClassForClassLike.toString() causes PSI tree loadingKT-80690Private interface functions are not present in light classesKT-80256K2: Certain actions in JPA code causes infinite PIEAE: "Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)"KT-79012Add a high-level overview of light classesAnalysis API. Providers and Caches
Fixes
KT-81476Analysis API:AlreadyDisposedExceptionfrom low-memory cache cleanupKT-80911Analysis API: Execute session invalidation in a non-cancelable sectionKT-81242Analysis API: Add UUID/lifetime properties to LL FIR session structure loggingKT-80622Analysis API: Visualise LL FIR session structure & weightKT-80904Analysis API: "Invalid dangling file module" exception during session invalidationKT-78882K2 AA: Calling containingSymbol on getProgressionLastElement causes exceptionKT-58325Analysis API: CombineLLKotlinStubBasedLibrarySymbolProviders in session dependencies (optimization)KT-77825Analysis API:CheckersComponentconsumes a lot of memory while being unused in LL FIR sessionsKT-76526Incorrect built-in module is provided for non-JVM sources in StandaloneKT-62549Analysis API: Cache callables in combined Kotlin symbol providersKT-70721LL FIR: investigate possibility of movingLLFirFirClassByPsiClassProvider . getClassByPsiClass (PsiClass)to symbol providersKT-72998Analysis API: IntroducegetClassLikeSymbolByPsito LL FIR symbol providersAnalysis API. Standalone
KT-81108AA: java.lang.ClassCastException: class org.jetbrains.kotlin.fir.FirBinaryDependenciesModuleData cannot be cast to class org.jetbrains.kotlin.analysis.low.level.api.fir.projectStructure.LLFirModuleDataKT-80573Potential performance issue on class ID computationKT-80559Try to optimize KotlinStandaloneDeclarationProviderFactory startup for testsKT-71706Analysis API Standalone:StandaloneProjectFactory.createSearchScopeByLibraryRootscreates inefficient file-based search scopesAnalysis API. Stubs and Decompilation
Performance Improvements
KT-77097SupportReplaceWithdeprecation annotation argument via stubsFixes
KT-80350Drop K1 decompilerKT-77082StackOverflowError in CreateFreshTypeVariableSubstitutorStage.shouldBeFlexibleKT-80798Improve stubs tests coverageKT-75318Read context parameter fields from metadata in CallableClsStubBuilderKT-77874AA disagrees with the compiler on descriptions of context parameters from binaries in messages for context argument ambiguity errorsKT-80276Implement native coping for stubsKT-79780Decompiled MultifileClass has Facade kindKT-79398isClsStubCompiledToJvmDefaultImplementation flag is inconsistent for compiled and decompiled stubsKT-79798Prettify stub usages in LL stub-based deserializerKT-78949AbstractLLStubBasedResolutionTest: tests against real stub-based filesKT-80251Inconsistent decompiled and compiled stub for properties with an initializer and a delegateKT-74547Implement decompiler for K2KT-79555Move KotlinFileStubImpl serialization/deserialization to the Analysis APIKT-79487"null DefinitelyNotNullType for 'T'" from decompilerKT-60764Stub Builder: fix differences between K1 and K2 stub building on decompiled filesKT-79484An empty enum class with a member decompiles with a synthetic errorKT-79730Decompiled files have an extraKtsuffixKT-79483data modifier is not present on object modifierKT-75398Local classes from scripts have ClassId in stubsKT-79412Context parameters with type annotations cause inconsistency errors while building stubsAnalysis API. Surface
New Features
KT-80084Provide endpoints for Analysis API to understand when the context sensitive resolution is usedKT-64340Analysis API: no way to get a type of vararg parameterKT-68387AA: provide context for type approximationsPerformance Improvements
KT-80713Optimize KaDeclarationSymbol#visibility for class-like symbolsKT-79097KaFirNamedFunctionSymbol#isSuspend shouldn't trigger resolutionKT-79095isOverride shouldn't trigger resolution if not compiler plugins presentFixes
KT-80234Incorrect value ofisActualfor the implicitlyactualconstructor of annotation classKT-81132Use KaSession instead of a particular KaSessionComponent for context parameter bridgesKT-81129K2: KaSymbolInformationProvider#importableFqName: should return null for dynamic declarationsKT-81128K2: KaSymbolInformationProvider#importableFqName: should return null for error destructuring declarationsKT-81127K2: KaSymbolInformationProvider#importableFqName: should return null for anonymous functionsKT-81126K2: KaSymbolInformationProvider#importableFqName: should return null for enum entry initializer constructorsKT-81125K2: KaSymbolInformationProvider#importableFqName: should return null for property accessorsKT-81124K2: KaSymbolInformationProvider#importableFqName: type alias constructor should have a reference to the type alias and not to the underlying classKT-70127Analysis API: 'KaFirReceiverParameterSymbol' does not implement 'KaFirSymbol'; leads to exception fromimportableFqNameKT-81123Reimplement KaFirSymbolInformationProvider#importableFqNameKT-81122Drop KaImportOptimizerKT-78093Add bridges for context parametersKT-79772Migrate from 'validityAsserted' to 'withValidityAssertion'KT-79328K2 AA, isUsedAsExpression: Unhandled Non-KtExpression parent of KtExpression: class org.jetbrains.kotlin.psi.KtImportDirectiveKT-80366IllegalStateException from KaFirStopWorldCacheCleanerKT-80274Merge AbstractMultiModuleSymbolByPsiTest to AbstractSymbolByPsiTestKT-80352KaBaseResolutionScope.contains(PsiElement) always returns false for Android light classes (e.g. synthetic R.java classes)KT-80178Incorrect modality for an abstract interface function with a redundantopenmodifierKT-79129[Analysis API]KaFe10TypeCreator.buildClassTypecannot build builtin types by class idsKT-79143AA:argumentMappingcontains an expression that is not an argumentKT-59857KaExpressionTypeProvider#returnType shouldn't throw an exception for class like declarationsKT-79667Enable resolve on java record components in standalone modeKT-73050KaFirSymbolRelationProvider#expectsForActual: suspicius logic for KaReceiverParameterSymbolKT-78904KaBaseWriteActionStartedChecker throws when no additional WA was doneKT-79281Add KDoc toKaTypePointer#restoreKT-78597KaUseSiteVisibilityChecker returns false for internal functions exposed via implicit receiverKT-71705FIR api impl: Postfix increment expression'sexpressionTypeis Unit when incrementing array elementKT-75057Analysis API: Reference to object through typealias in invoke operator call leads to original typeBackend. Native. Debug
KT-79848Flaky debugger tests in opt.debug/cache.*/GC.CMS/GC.sch.ad/alloc.custom configurationBackend. Wasm
New Features
KT-59032Support instantiation of annotation classes on WASMFixes
KT-76204K/Wasm: support generating a wasm module per kotlin module/klibKT-79357K/Wasm: store data for string literals in utf8 for Latin1KT-82075K/Wasm: kotlin.wasm.internal.getSimpleName crashes on iOS Safari older than 26KT-79244[Wasm] Drop K1-specific tests, testrunners and test directivesKT-69621K/Wasm: Consider enabling support for KClass.qualifiedName by defaultKT-80397K/Wasm: turn on by default using a new version of the exception handling proposal for wasm-wasi targetKT-81372K/Wasm: JsException: Exception was thrown while running JavaScript code on Safari 18.2/18.3KT-80018K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit)KT-66072K/Wasm: improve how exceptions work in JS interopKT-80106devServer in Kotlin/Wasm overwrites defaults, causing missing static pathsKT-80210Wasm: "Unexpected non-external class: kotlin.Nothing" caused by JsExport with JsPromiseKT-80555WASM IC: Can't link symbol on kotlinx.coroutines on fresh masterKT-80415WasmJs Number Elvis Operator CrashKT-76509WasmJS: ReferenceError: Temporal is not defined caused by "Redundant reference to unused external results"KT-79317[Wasm] Do not throw CCE for ExcludedFromCodegen declarationsKT-78036K/Wasm: generate a message with "expected" and "actual" types in case of CCECompiler
New Features
KT-80461K2: false positive NO_ELSE_IN_WHEN for complex sealed hierarchyKT-77676K/N: enable typechecks and the casts optimization pass in debug mode by defaultKT-79185Support local type aliasesKT-80837Warn about extension function with a context shadowed by memberKT-80768Warning on overloading by a superset of context parameters in class contextKT-80031Check spotbugs's@CheckReturnValuein Kotlin's unused return value checkerKT-79380Native: add performance measurement for the rest of backend phasesKT-79381Native: add performance measurement of LLVM phasesKT-80222Implement the prohibition of always-falseischecks for definitely incompatible typesKT-79295Parse and build raw FIR from new short and full forms of positional destructuring with square bracketsKT-74810Support typealiased/mapped Java types in unused return value checkerKT-71244Incorporate existing@CheckReturnValueannotation(s) into Kotlin's unused return value checkerKT-79922Record 'MustUse/ExplicitlyIgnorable' state for overrides even in disabled RVC modeKT-79920Store 'Explicitly ignorable' state of function/property in the metadataKT-79690Implement a USELESS_ELVIS_LEFT_IS_NULL with elvis expressionKT-79296Implement/adapt diagnostics for new destructuringKT-79298Report errors on new destructuring syntax in K1Performance Improvements
KT-81617Native: casts optimizations pass explodes on deep nested loopsKT-80554Kotlin/Native: investigate performance hit from always-on llvm pass profilingKT-81340K/N: severe compilation time degradation after turning on casts optimization passKT-80370Add NO_INLINE attribute to some of runtime functionsKT-80167K/N: condense the nodes and edges in DevirtualizationAnalysis constraint graphKT-79535Revert incorrect SAM conversion enhancements brought to K2Fixes
KT-79979K2: ClassCastException when overriding extension property with delegationKT-82590ClassCastException when instantiating class with generics implemented by fun interface and lambdaKT-78881K2: False positive "Assigned value is never read" in composable functionKT-79276Dexing fails with "Cannot read field X because is null" with 2.2.0KT-79547"UnsupportedOperationException: Not supported" with inlining and value classesKT-79442"Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfacesKT-80744Kotlin failure on lambda with type parameterKT-81618"Number of arguments should not be less than number of parameters" on JVM on Kotlin 2.3.0-Beta1KT-82869Green-to-Red change in 2.3 after prioritizing non-suspend-function-type overloadsKT-79611"IllegalStateException: couldn't find inline method": Exception during incremental compilationKT-78895Consider dropping isLocalInFunction and FirClassLikeDeclaration.isLocalKT-82040Native: ClassCastException: PointerInputChangeKT-81924K2: "Cannot infer type for this parameter", "Overload resolution ambiguity between candidates"KT-80864K2: MissingVal cannot be reassigneddiagnostic for Java final fields (crashes in runtime withIllegalAccessError)KT-71420Report error when reified type parameter is inferred to intersection typeKT-79451Rework approach to recursive types approximationKT-78413Kotlin Debugger: value classes as context parameters have incorrect names in Variables View during debuggingKT-82138Debugger: Cannot evaluate JvmInline value class parameterKT-82381ArrayIndexOutOfBoundsException while FirDiagnosticsCompilerResultsReporter tries to print code as part of a warning logKT-81068Corrupted Unicode paths passed or used in the compilerKT-79783KDoc parser: Links aren't rendered if the line has an indent of 4 or moreKT-80549Call of Java method with type parameter bounds: Expected FirResolvedTypeRef with ConeKotlinType but was FirJavaTypeRefKT-82132False-positive type mismatch with -language-version 2.2KT-81988K2: Any?.toString() causes NPE inside lambda with JavaKT-81652Native: ClassCastException: ApplicationForegroundStateListener.CompanionKT-76479Backend. JVM: Report errors on exposure of types in inline functionsKT-82022K/N: Unexpected "Annotation@JvmInlineis missing on actual declaration" warning with value classesKT-80250ISE: flow for PostponedLambdaExitNode not initialized - traversing nodes in wrong order?KT-76344Drop language version 1.9 for non-JVM platformsKT-76343Drop language version 1.8KT-80330K2: NPE at org.jetbrains.kotlin.fir.resolve.calls.FirCallResolver.createResolvedNamedReferenceKT-80400K2: AbstractMethodError on fun interface implementation inheriting from an interface compiled with -jvm-default=disableKT-9111Improve diagnostic for call with access to outer class from nested classKT-78280Implement the sourcelessKtDiagnosticsKT-74999K2: KotlinNothingValueException within Extension FunctionKT-81254"AssertionError: There should be at least one non-stub type to compute common supertype": Parser issue during generic type inferenceKT-53237NI: Frontend ignores generic bound when inferring typesKT-81186Only allow local type aliases in REPL/scripts until full stabilizationKT-80929IC Native: Undefined symbols on ktorKT-81657K2: put warning about "exposing package-private in internal" under experimental language featureKT-81241Konanc exit while lowering org.jetbrains.kotlin.ir.util.IrUtilsKt.remapTypeParametersKT-74819K2: False-positive overload resolution ambiguity for flatMap inside PCLAKT-81547Stabilize DFA-based exhaustivenessKT-79274Frontend implementation of name-based destructuringKT-79506Contract for getter and setter doesn't work if a property is called from another moduleKT-58988K2: Deprecate exposing package-private parameter of internal methodKT-80711IC Native: NPE during link on ktorKT-77727Move some of the extra checkers to the default listKT-76136Switch latest stable version in Kotlin project to 2.3KT-81257Native: "Unexpected boolean predicate" when generating 'static_cache'KT-81525Report REDUNDANT_SPREAD_OPERATOR on (*) instead of argument expressionKT-81522Fix Light TreeSPREAD_OPERATORdiagnostic positioningKT-77008K2: Incorrectly force casting to a wrong typeKT-78127K2: Too precise inference for if/when with expected type in assignmentKT-80208K2: ClassCastException: "class java.util.ArrayList cannot be cast to class java.lang.Void" type inference picks Void for generic functionKT-75797Native: find a way to handle generates C bridges in inline functionsKT-78819K2: False positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in KJK hierarchyKT-80003Kotlin/Native: deprecate eager GlobalData initializationKT-79231Inconsistent InnerClass entry flags for abstract inner enumKT-20677Improve diagnostic about implicit default constructor absence for expected annotation classKT-81385Missing error of nullable expression in class literal in case of reified type parameterKT-81251Smartcast doesn't work for an effectively private inline functionKT-81245Automatic smart cast on properties with EBF is allowed on inlined property accessorsKT-81222Custom getter is allowed on a property with redundant EBFKT-80795Wrong type cast is added for IMPLICIT_COERCION_TO_UNITKT-81141Fix FirUnsupportedArrayLiteralChecker to forbid array literals inside non-annotation contextsKT-81383Return type of anonymous function used asrunargument is incorrectly inferred toNothingKT-80577"Return type mismatch" for self-referential types used as generic parametersKT-75215KDoc: references from@paramtag are rendered as plain textKT-79887K2 Compiler Internal Error in 'FirFakeOverrideGenerator.checkStatusIsResolved' MethodKT-78125false-negative shadowed contextual overload warning on local declarationsKT-81198Move type and type parameter annotations from jvm_metadata.proto to metadata.protoKT-81057Wrong handling of boxing during redundant casts optimizationKT-81191K2: "null cannot be cast to non-null type ConeTypeParameterLookupTag" with invalid codeKT-80285IJ monorepo: broken compilation after 2.2.20-RC updateKT-81115Allow converting lambda with explicit parameter when assigning to variable of an extension function typeKT-74588Redundant checkNotNull intrinsics instructions for Java generic methodsKT-78390UnmuteFusStatisticsIT.testKotlinxPlugins()after AtomicFU updateskotlin-metadata-jvmKT-79369Forbid typealiasing for all compiler-required annotationsKT-69294K2: ReportCONSTRUCTOR_OR_SUPERTYPE_ON_TYPEALIAS_WITH_TYPE_PROJECTION_ERRORinstead ofEXPANDED_TYPE_CANNOT_BE_INHERITEDafter switching to LV 2.2KT-81064Wrong safe call null check handling during redundant casts optimizationKT-80871StackOverflowError on AnnotationTarget.TYPEKT-80908K2: Compiling type annotation with self-annotated vararg fail with exceptionKT-81018ISE "IR class for Foo not found" on missing dependency when lowering SAM constructorKT-80936NON_PUBLIC_CALL_FROM_PUBLIC_INLINE :@PublishedApidoesn't work for fun interfacesKT-75748StackOverflowError when reading array from metadata annotationsKT-80606KotlinIllegalArgumentExceptionWithAttachments when using property itself in explicit backing field initializationKT-80940K2: Exception in FIR2IR with AnnotationTarget.TYPE with self-annotated non-vararg default argument and usage in child moduleKT-80538KaFirDiagnostic.EmptyRange doesn't work in most of the casesKT-80524Class is not abstract and does not implement abstract member when compiling with kotlinc-jklibKT-80597Apply fix for CVE-2024-7254 to our fork of protobuf 2.6.1KT-80849K2:ConstValueProviderImpldoesn't distinguish files with same name and packageKT-80602Exhaustiveness checker improvements for 2.3KT-80735Support || return/throw shortcut in unsed return value checkerKT-79651Report a warning about an unused return value only on the function nameKT-80719False positive: "Redundant visibility modifier": when overriding protected methods as "public"KT-80434K2: DSL marker doesn't work with lambda fieldsKT-80383Getter without a body is allowed on a property with an explicit backing fieldKT-80446Explicit visibility modifiers are allowed on EBFKT-80378ClassCastException on callable reference to a property with EBFKT-80377Fir2Ir: "Cannot determine expected receiver type" for callable reference to a property with EBF outside of classKT-80455K2: StackOverflowError in when exhaustiveness checker on red codeKT-72862[Native caches] Umbrella for failing codegen/box tests for corner cases in synthetic accessorsKT-20278NO_TYPE_ARGUMENTS_ON_RHS: Confusing diagnostic for inner class of generic outer classKT-80418Property with EBF with functional type isn't resolved if its type is AnyKT-80469Functional type from property is always used for explicit backing fieldKT-80535Missing INITIALIZER_TYPE_MISMATCH for EBFKT-80445Private visibility is possible for a property with EBFKT-80164Move name generation for unnamed context parameters to frontendKT-80684Line breaks are lost in multi-line diagnostic messages since 2.3.0KT-78112RETURN_VALUE_NOT_USED is reported for local function even if it isn't marked with annotation in CHECKER modeKT-48311Incorrect LINENUMBER after if with a suspend callKT-80688Bad SourceDebugExtension caused by enhanced coroutines debuggingKT-73851Native: compilation fails with ClassCastException with genericSafeCasts=trueKT-77593Add a warning when@IgnorableReturnValueis inconsistent between expect/actual functionsKT-79386Confusing error message when named parameters are used for java method callsKT-80600K2: Private and final modifiers are allowed on setter of open delegated propertyKT-77101Invoke on callable reference is considered ignorableKT-79923Remove lookup of@IgnorableReturnValueannotation from FirReturnValueOverrideCheckerKT-80517Synthetic kotlin.Any members in data classes are missing@MustUseReturnValueKT-80194VAR_TYPE_MISMATCH_ON_OVERRIDE: doesn't mention the inferred typeKT-80484K2: ClassCastException due to fake source for implicit lambda parameter (RedundantNullableChecker)KT-80592UninitializedPropertyAccessExceptionwhen anayzing annotations on members of anonymous classesKT-80399Anonymous Kotlin class incorrectly warns about deprecated java override despite '@Deprecated' annotationKT-79610Adding CocoaPod to Kotlin/Native MPP triggers IR serialization failure and commonizer errorsKT-79951Infinite loop in parsing incomplete full form destructuringKT-79866kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an errorKT-79777Argument type mismatch on value of complex type with a captured raw type argumentKT-78664False positive VARIABLE_NEVER_READ and ASSIGNED_VALUE_IS_NEVER_READ on function type variable with splited declaration and assignmentKT-79496False positive "when must be exhaustive" in triangle interface/class hierarchyKT-79774KtDestructuringDeclaration.getLPar & getRPar are brokenKT-80391K2: Only one context parameter is mentioned in the [NO_CONTEXT_ARGUMENT] diagnosticKT-79785ktypew:kotlin.collections.List already exists error using Swift ExportKT-78879"Sealed types cannot be instantiated": Can't instantiate Java-defined sealed Class from KotlinKT-21598Extension is shadowed by member should not be reported when member is deprecated with HIDDEN levelKT-79622FUNCTION_EXPECTED: Misleading 'expression cannot be invoked as a function' when inaccessible with private lambdaKT-80255[EXTENSION_FUNCTION_IN_EXTERNAL_DECLARATION] can be attached to the receiver type of a functional typeKT-79816Java Interfaces implemented by delegation have non-null return checksKT-80177Improve message of RECEIVER_SHADOWED_BY_CONTEXT_PARAMETER in case of member extensionKT-79770There is no RECEIVER_SHADOWED_BY_CONTEXT_PARAMETER if the usage of fun is from inside the classKT-79430False positive EXTENSION_SHADOWED_BY_MEMBER on overridden member extensionKT-62934Incorrect line mapping inside inline lambda after non-local returnKT-79545K2: no error on crossinline lambda usage in anonymous object base constructor callKT-79643HAS_NEXT_FUNCTION_AMBIGUITY and NEXT_AMBIGUITY diagnostics are always ignored in favor of HAS_NEXT_FUNCTION_NONE_APPLICABLE and NEXT_NONE_APPLICABLEKT-79327Modifier 'private' is not applicable to 'value parameter' is reported for context parametersKT-76453K2 IDE: autocomplete freezeKT-77182A function in a file annotated with@file:MustUseReturnValue doesn't produce a warning when it is used from compiled codeKT-78541Jspecify: Unsound platform type despite@NullMarkedfor an override with a generic-subclass return typeKT-79672'when expression must be exhaustive' even after using 'require()'KT-71306K2 IDE / Kotlin Debugger: “Cannot find local variable 'block' with type kotlin.jvm.functions.Function0” on evaluating lambda arg inside inline functionKT-76991K2 IDE / Kotlin Debugger: ISE “Couldn't find declaration file for” on evaluating local fun when the scope has also inline fun from another file callKT-79877K2 IDE / Kotlin Debugger: failed evaluations of a code fragment capturing local data classKT-77401[FIR]ParameterNameTypeAttribute.namedoesn't support@ParameterNamewith compile-time constant property argumentKT-79682Fix partially uninitialized locals after coroutine spills insertionKT-79562NPE when passing non-lambda argument of nullable non-suspend function type into function that accepts nullable suspend function typeKT-79693NotImplementedError: An operation is not implemented: Unknown file with KMP separate compilationKT-79662Unused return value checker doesn't work for com.google.errorprone.annotations.CheckReturnValueKT-79781Missing MISSING_DEPENDENCY_CLASS when using type alias with inaccessible RHSKT-77772Only report exposed type on qualifier if it's resolved to an objectKT-79765K2. Do not report ignore return value for unresolved referenceKT-79017False negative REDECLARATION on private nested classKT-79519Nested type alias is unreachable from another moduleKT-72039StackOverflowError on calling keySet on a Kotlin subclass of Java subclass of ConcurrentHashMapKT-75843K2: incorrect line numbers in an if-expression with a super-callKT-77504Add a warning when@IgnorableReturnValueis inconsistent on overridesKT-78389Perform version 2.3 boostrappingKT-79092Crash on default argument in function in fun interfaceKT-77729Package-level@NullMarkeddoes not work when kotlinc sees .java source filesKT-79013False negativeNOT_YET_SUPPORTED_IN_INLINEon inline local functions inside inline functionsKT-79139False positive CONFLICTING_OVERLOADS for context parameters instead of receiversKT-35305Address the overload conflict resolution between unsigned and non-primitive typesKT-42096No diagnostic reported oninlinemodifier on an enum entryKT-79355Failed to fix the problem of desugaredincwith new reverse implies returns contractKT-79277Implies returns contract doesn't affect the return type of the function if it is in the argument positionKT-79271Implies returns contract doesn't impact exhaustivenessKT-79218SMARTCAST_IMPOSSIBLE for top‑level extension‑property getter despite returnsNotNull contractKT-79220returnsNotNull contract ignored on extension function with nullable receiverKT-79354IllegalStateException: Debug metadata version mismatch. Expected: 1, got 2 with compiler 2.2.20-Beta1 and stdlib 2.2.0KT-77986K2: False negative: "Local classes are not yet supported in inline functions"KT-79456Redeclaration conflict checks of private top-level classifiers rely on an incorrect containing fileKT-79125RVC full mode: delegated interfaces are not checkedKT-63720Coroutine debugger: do not optimise out local variablesKT-78595type variable leak on a generic property as a call argument given an unstable smart castKT-79076'IllegalStateException: Cannot serialize error type: ERROR CLASS: Uninferred type' with Exposed column using recursive generic typeKT-59807K2: Replicate the MUST_BE_LATEINIT logic from K1KT-76782K2: Incorrect resolve into unrelated invoke operator with wrong diagnosticKT-78066TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER error message does not account for context parametersKT-76065Drop JavaTypeParameterDefaultRepresentationWithDNN featureKT-77808Inference: recheck the code about DNN-related hacksKT-24202NOTHING_TO_OVERRIDE if super-class reference misses generic argumentsKT-78909K2: Missing diagnostics [CYCLIC_INHERITANCE_HIERARCHY] for recursive class inheritance leads to StackOverflowErrorKT-75969java.lang.IllegalArgumentException: source must not be null on red codeKT-76902Omit type-use annotations from diagnosticsKT-17460Diagnostics and intention on suspend function that is overriden with non-suspend one.KT-56665K2: false positive RECURSIVE_TYPEALIAS_EXPANSIONKT-78932Contracts are allowed for open and overridden property accessorsKT-77203FIR: Consider adding destructured type to all COMPONENT_FUNCTION_* diagnosticsKT-77685"IllegalArgumentException: Sequence contains more than one matching element"KT-78452Drop redundant frontend structures after fir2ir conversionKT-70507Should parentheses prevent from plus/set operator desugaring?Compose compiler
New features
98d3907Introduce a compose group analysis module that produces a proguard/R8 mapping from group keys in bytecode.Fixes
b/419049140Disabled memoization intryblocksKT-81081Generate Compose-specific proguard mappings when Compose compiler plugin is applied.b/431025881[Compose] Clean up runtime version checkerb/365922168Addjava.util.Localeto the list of known stable classesb/407549020Introduce a registry of known stable markersb/417989445Added a diagnostic to restrict usages ofrunCatchingin@ComposablefunctionsKT-80294Fix crash with inline@Composablefunction referenceb/430140896Fix IrSourcePrinter output for when branch check and typechecksCMP-9167iOS: Platform declaration clash: The following functions have the same IR signatureIDE. Gradle Integration
KT-46273MPP: Don't fail import for case of missed platform in source set structureKT-46417[UNRESOLVED_REFERENCE] For project to project dependencies of native platform test source setsKT-44845After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=trueKT-46142K/N distribution is unavailable from IDE with multiplatform hierarchical project structure enabledIR. Actualizer
KT-77337IrNoExpectSymbolsHandlerfinds expect class reference after enabling annotation traversal in IRKT-80002Investigate the need for map copying in IrCommonToPlatformDependencyExtractor.ktKT-80131KMP Separate Compilation: No override for FUN IR_EXTERNAL_DECLARATION_STUB name:KT-80064KMP Separate Compilation: ClassCastException: class org.jetbrains.kotlin.ir.symbols.impl.IrTypeAliasSymbolImpl cannot be cast to class org.jetbrains.kotlin.ir.symbols.IrClassSymbolKT-80051KMP Separate Compilation: Actualization of common dependencies failed on 'PROPERTY FAKE_OVERRIDE name:modCount visibility:protected modality:FINAL [fake_override,var]'KT-79998KMP Separate Compilation: java.lang.IllegalStateException: No override for FUN IR_EXTERNAL_DECLARATION_STUB name:IR. Inlining
New Features
KT-70360KLIBs: Uniformly handletypeOf()calls at 1st/2nd stages of compilationPerformance Improvements
KT-69497Crossinline lambda is allocated on K/N & JSFixes
KT-78673Make fakeOverrideLocalGenericBase not using red codeKT-78537[Inliner] Incorrect KFunction.name of a reference to inlined local functionKT-74892Investigate passing inline lambda as argument of another inline functionKT-81673False warnings about ABI change in dependencies in library mode in 2.3.0-Beta1KT-81713[Inliner] Compilation of inline function with recursive call applied to TODO() fails with an internal errorKT-80653[IR Inliner] Space: "Local declarations should've been popped out by this point"KT-78392CommonPrefix: Add a way of stopping execution when one of the phases is unsuccessfulKT-80927[Native] Review intrinsics with PublishedApiKT-81070[Inliner] kotlin/Any is unboundKT-80628KLIB inliner: Not enough information about the "full" modeKT-69516Double-inlining for Native: Enable visibility checks after 1st phase of inliningKT-79334Unify intrinsics used on 1st phase of IR inliner in KLIB-based compilersKT-80610KLIB inliner: Always apply cross-module inlining to pre-processed inline functionsKT-80565KLIB Inliner: Add a special annotation to prohibit inlining of marked inline functions in stdlib on 1st compilation phaseKT-80883[Inliner] Run pre-serialization lowerings in all testrunnersKT-77876IrVisibilityChecker: Different set of exceptions for 1st and 2nd compilation stagesKT-80693[IC] Split IC invalidation tests for cross-module IR InlinerKT-79718KLIB inliner: Emit warning on generation ofpublicsynthetic accessor when running in "explicit API mode"KT-80226[IR Inliner] Generate constructor accessors as constructors, not static functionsKT-80692[IC] Split IC invalidation tests for intra-module IR InlinerKT-77103[Inliner] IrLocalDelegatedProperty was not serialized, while its symbol and IrRichPropertyReference were.KT-80537The expected error is not emitted from FirJsKlibSyntheticAccessorsTestGenerated and NativeKlibSyntheticAccessorsTestGeneratedKT-78903Unifycodegen/boxInlinetests withcodegen/boxKT-78989Add missing PL tests for inline functions/property accessorsKT-79771kotlinx-coroutines-core: Public synthetic accessor generated with enabled KLIB IR inlinerKT-79680IrConstructorSymbolImpl is unboundin lambdaWithoutNonLocalControlflow.ktKT-70849Ensure correct debug info for intra-module IR inlining on the first compilation phaseKT-79800JS BE errors with default values when IR inliner is enabledKT-79352Remove excessive validations fromValidateAfterAll...on the first stageKT-76599MigrateIrValidationAfterInliningAllFunctionsPhaseto the first stage of compilationKT-78245Synthetic Accessors incorrectly copies default valuesKT-72594[JS][Native] Add IrInliningFacade to test runnersIR. Interpreter
KT-72356K2 Native: IllegalStateException when annotation has the same source range as a constant in another fileKT-72881K2: incorrect empty array as annotation argument when parameter has default valueIR. Tree
Fixes
KT-79371Fix handling of broken SAM conversion in PL with enabled Rich ReferencesKT-81952"IllegalStateException: Callable reference with vararg should not appear at this stage" for callable references to functions with generic vararg parametersKT-79739Static synthetic accessors inside generic classes access its type parametersKT-78100Track and annotate internal annotations with@PublishedApito enable annotation visibility validationKT-80825DropIrSerializationSettings.reuseExistingSignaturesForSymbolssettingKT-79807Broken IR tree invariants in IrReplSnippet after FIR2IRKT-77819[IR] Fine-tune IrValidator's run after Fir2IR and IR pluginsKT-70160Remove IrDeclaration.parents after Anvil updateKT-80454LocalDeclarationsLowering: Clean-up the dead codeKT-80819Rework IrFileValidator to use Hashmap instead of ClassValueKT-80516Kotlin-like IR dump: Don't render tailrec as lateinitKT-78856Refactor LocalDeclarationsLowering to split it in smaller partsKT-79439KLIB stdlib symbols loading: Split the result of merging of IrBuiltins with BuiltinSymbolsBase hierarchy into two parts (for 1st & 2nd phases)KT-79437KLIB stdlib symbols loading: Drop loading functions from IrBuiltins and migrate usages to SymbolFinder functions and lazy filteringKT-79569Unexpected error during DFG phase in Native due to PL issue with SAM conversion represented by rich referenceKT-76601IrValidatorConfig should have all checks disabled by defaultKT-69662Deduplicate functioncreateTemporaryVariableKT-79440KLIB stdlib symbols loading: Drop BuiltinSymbolsBase from plugin APIKT-78960[FO] Limit static fake overrides generation for static functionsKT-76813IR validator: not all symbols/references are visitedJVM. Reflection
KT-79020Suspend lambdas return type is shown as ??? in reflectionKT-81967isSubtypeOf: ClassCastException: CapturedKType cannot be cast to class AbstractKTypeKT-76521Reflection: change KType representation to avoid dependency on K1KT-81619Reflection: Function supertype of a FunctionN class has flexible type in new implementationKT-74529Context parameters support in reflectionKT-80901Reflection: incorrect translation of raw types in the new implementationKT-74624Reflection: KClassifier.createType(...) ignores annotations parameterKT-80203Reflection: provide a way to use legacy K1-based implementationKT-80236Reflection: KType.toString for raw types no longer renders "(raw)"KT-79206Reflection: suspend functional type classifier is nullJavaScript
New Features
KT-80401Kotlin/JS support fordefault exportin generated JavaScriptKT-79284Use BigInt64Array for LongArrayKT-79222K/JS: Allow using Long in exported declarationsKT-79394Add the possibility to write common external declarations between JS and WasmJS targetsPerformance Improvements
KT-57128KJS: Use BigInt to represent Long values in ES6 modeFixes
KT-79928Allow JsModule/JsNonModule/JsQualifier invocation on per-entity levelKT-79514java.lang.IllegalStateException: IrClassSymbolImpl is unbound. Signature: kotlin.js/Promise|null[0] on running jsBrowserTestKT-82005KJS: "TypeError: callAgent.jsonRpcCall_ij3z26_k$ is not a function" after code change in 2.3.0-Beta1/2KT-79359Kotlin/JS: Suspending function doesn’t return Unit on es2015KT-79089KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode testsKT-56281KJS: Can't export suspend functionsKT-79926Wrong export of interfaces with companions with ES ModulesKT-80168Allow@JsStaticinside interface companionsKT-70222Remove legacy JS BE-related CLI flagsKT-81424Kotlin/JS: Cannot Get / in a simple running applicationKT-80873KJS: Stdlib requires ES2020-compatible JS engine due to BigInt type literalKT-81066Wasm, JS: Remove redundant logging in compiler outputKT-72833KJS: Source maps have incorrect sources paths inper-fileKT-74055KJS:@JsPlainObjectadds JS code even if marked interface is not usedKT-72474KJS:@JsPlainObjectdoesn't honour -XXLanguage:+JsAllowInvalidCharsIdentifiersEscapingKT-79644BigInt enabled for ES 2015 despite being an ES 2020 featureKT-52771KJS: Pair should be exported to JavaScriptKT-79704Unify variance rendering between JS and other backendsKT-69297Deprecate referencing inlineable lambdas injs()callsKT-80086[k/js] Resolving imported string literalsKT-79066[Kotlin/JS] jsNodeTest fails with SyntaxError when a test file has@file:JsExport and useEsModules() is enabledKT-77385Investigate partial linkage problems for JS HMPP testsKT-79628Remove IR nodes from ExportModelKT-79916K/JS: "Uncaught TypeError" when using 'Xes-long-as-bigint' in compose-htmlKT-79050KJS / IC: "Unexpected body of primary constructor for processing irClass"KT-79977KJS: Long.rotateLeft returns incorrect result when BigInts are enabledKT-78831AbstractFunctionReferencesLowering: fragile fake override generationKT-52230KSJ IR: Applying identity equality operator to Longs always returns falseKT-6675KotlinJS: toInt() on external Long throws errorKT-79184K/JS: Further intrinsify BigInt-backed Long operationsKlibs
New Features
KT-80761K2: [K/N] Should reported klib usage include inheritancePerformance Improvements
KT-80861[Klib] Deduplicate IrFileEntry.nameKT-80866[Klib] Optimize size of IrFileEntry.line_start_offsetKT-80438Uncached KlibMetadataClassDataFinder.findClassDataFixes
KT-64237Klib metadata: migrate to using the common annotations instead of klib-specific extensions in the compilerKT-80099KLIB resolver: Could not find file because of missingklibextension in resolved symlink pathKT-80999Reuse existingIrKotlinLibraryLayoutinKotlinLibraryfor reading pre-processed functionsKT-80290Removeifand TODO incountInAsInlinedLambdaArgumentWithPermittedNonLocalReturnsKT-80298K/N: one-stage compilation is brokenKT-79958KLIB tool fails to render IR if there is IrErrorType in a lirbraryKT-75241Move ExperimentalLibraryAbiReader to a publishable artifactKT-76260MakeIrRichCallableReferencesInKlibslang feature stable in LV=2.3KT-61552[PL] IndexOutOfBoundsException in SAM conversion with substituted functionKT-74417Deduce the metadata version based on LV in KLIB-based backendsKT-75980[Klib] Reduce serialized size of IrFileEntries for sparse usage of another source filesKT-73826DeduplicateIrFileEntrythat is serialized insideIrInlinedFunctionBlockLanguage Design
KT-76926Allow return in expression bodies if return type is specified explicitlyKT-78866Show an error for implicit receiver shadowed by context parameterKT-81561Update nested type aliases KEEP to reflect local type aliases supportKT-81015Stabilize nested type aliasesKT-32619JS: return Promise whencontinuationis not providedKT-78976Decide if K2 should support local functions inside of local inline functionsKT-79308Ability to actualize empty interfaces as AnyKT-48872Provide modern and performant replacement for Enum.values()KT-28850Prohibit protected visibility in final expected classesLibraries
New Features
KT-81092Uuid: support generation of version 7 uuids with a given timestampKT-78463Annotate wasm and JS targets of kotlin-stdlib with@IgnorableReturnValuewhen appropriateKT-74444EnumEntries type should implement RandomAccessKT-78462Annotate kotlin-stdlib-jvm with@IgnorableReturnValuewhere appropriatePerformance Improvements
KT-72111Change Duration.parseOrNull logic to not throw exceptions internallyFixes
KT-82901Long.MIN_VALUE.millisecondsproduces invalid denormalized DurationKT-81995K/N: CMP: Undefined symbol _kfun:kotlin.time.Duration.kotlin.time.DurationKT-56822Deprecate Number.toChar() with error deprecation levelKT-81078Increase kotlin.io.createTempDir and createTempFile deprecation level to ERRORKT-74493Deprecate String.subSequence(start, end) with error and drop it in the futureKT-79192Increase InputStream.readBytes(Int) deprecation level to HIDDENKT-80778Stabilize kotlin.time.Clock and kotlin.time.InstantKT-81043String.toBigDecimalOrNull rejects strings accepted by String.toBigDecimalKT-81477Uuid.Companion.generateV* are missing SinceKotlin annotationKT-81478FileTreeWalkTest.withDirectoryFilter fails on WindowsKT-74411Introduce Uuid.generateV4() and generateV7()KT-80530Annotate Kotlin/Native stdlib with must-use value/@IgnorableReturnValuewhen appropriateKT-79791Duration.parse incorrectly handles negative decimal seconds in ISO-8601 formatKT-80619[KLIBs] Enable intra-module inliner in stdlib & kotlin-testKT-76773stdlib: contextOf's type argument can be inferred via contextOf's context argumentKT-71822Intersection with (subtraction from) an identity set may produce incorrect resultsKT-80431Remove suppression of "ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT" from stdlibKT-80605Rename MustUseReturnValue -> MustUseReturnValuesKT-69947KLIB stdlib: All intrinsics that can be used in KLIBs with inlined IR must be included in stdlib ABI dumpKT-59044Improve various aspects of TimeSource documentationKT-80544Mark controversial path extensions (like .deleteRecursively()) as ignorableKT-80603K/N and K/Wasm: \p{N} category is not supportedKT-80661ArrayDeque.lastIndexOf may return -1 for an element present in the dequeKT-80390ArrayDeque.indexOf(null) wrongly returns 0 after removalsKT-79094Change signature of assertFailsWith or make lambda excluded otherwiseKT-72028Incorrect parameters order in IndexedValue documentationKT-80130[stdlib] Commonize AssociatedObjects in commonNonJvmMainKT-80107[stdlib] Move CancellationException to commonNonJvmMainKT-80179Investigate why StringBuilder.length is not enhanced automaticallyKT-80046Increase test coverage of Duration.parse[IsoString][OrNull] methodsKT-76459Remove comments about sorting stability in unsigned-type arraysKT-79489Generate Stdlib API reference for webMain source setKT-78243Drop JS- and Wasm-specific IrLinkageError classesKT-79108Remove the default argument forlinkageErrorfrom kotlin.js.getPropertyCallableRefKT-79130K/JS: Remove bodies from intrinsified Long methodsKT-79239K/Wasm: elementAt extension function of Array/PrimitiveArray/UnsignedArray does not throw IndexOutOfBoundException on incorrect indexKT-79256K/Wasm: MatchResult.groups raises a trap on invalid group indexKT-57317Repack EnumEntries from stdlib into the compilerNative
KT-80620Bump minimal iOS and tvOS supported versions to 14.0KT-80624Bump minimal watchOS supported versions to 7.0KT-79384K/N: Application Not Responding: Thread DeadlockKT-80536Native:DependencyDownloaderseems to have no timeoutNative. Build Infrastructure
KT-80147Set proper LV and AV forkotlin-native/performance/buildSrcKT-79474Kotlin/Native: fix breakpad buildKT-79215Kotlin/Native: fix distInvalidateStaleCaches on windowsNative. C and ObjC Import
KT-79752Native: make cinterop generate CCall.Direct annotationsKT-79753Native: support CCall.Direct calls in the compilerKT-81312Native: when-Xccall-mode directis used, mark unsupported declarations with unresolvable symbol name instead of@Deprecated(ERROR)KT-79571Xcode 26 beta 4: CInteropKT39120TestGenerated.testForwardEnum failedKT-80838Cinterop fails with an error when Compilation works fineKT-49034Kotlin/Native:cnames.structs.Fooresolves into wrong declarationNative. ObjC Export
KT-81906NormalizeCFBundleIdentifierwhen producing Apple frameworkKT-78810[ObjCExport] Enable explicit ObjC block parameter names by defaultKT-80271ObjC/Swift Export: Remove Native platformCloneablechecksKT-78604Consider not inheritingKlibScopefromKaScopeKT-79767ObjCExport: private companion must not be exposedKT-79724ObjCExport: extensions orderKT-79548ObjCExport: mangling difference between K1 and K2 when translating KotlinDurationCompanionKT-79475ObjCExport: invalid property getter translationKT-79346ObjCExport: Any method overridesKT-78871ObjCExport: translation of keywordreleasewith parameter generates invalid headerNative. Runtime. Memory
KT-75918Native: Deprecate -Xallocator=stdKT-80678Native: pagedAllocator=false sweep is slowKT-75916Native: Enable sanitizer support with pagedAllocator=falseNative. Swift Export
Fixes
KT-81355Swift Export: Introduce a flag to turn off coroutines exportKT-80969Swift Export: Callsuspendfunction asasyncon swift sideKT-80111Swift Export Build Fails Due to Errors in KotlinStdlib.swiftKT-80884Swift Export: support async in SIRKT-80185Swift Export: IllegalArgumentException – Collection contains more than one matching elementKT-79889K/N: swift-export fails under several different conditionsKT-79518Swift export: represent kotlin.Any as swift.anyKT-78603Do not inherit SirAndKaSession from KaSessionKT-79227Swift Export: Fix First Release IssuesKT-79521'_CoroutineScope' is inaccessible due to 'internal' protection levelKT-79181Swift Export Fails When Using T: Comparable Generic Constraint in Kotlin ClassesTools. Ant
KT-75875Remove Ant supportTools. BCV
KT-80313Add ability to generate dump from jar files [ABI Tools]Tools. Build Tools API
New Features
KT-78194BTA: port the JVM prototype to the new designKT-79409BTA: Support removed compiler arguments properlyKT-78193BTA: Implement core infrastructure according to the new designKT-78196BTA: implement API adapter for the prototype implementationKT-77999BTA: Generate BTA options from compiler arguments descriptionsFixes
KT-75357CompilationService.loadImplementation(loader) Expects aClassLoader, but Fails if its not aURLClassLoaderKT-73090Gradle 8.11 kotlin compilation fails when run with -Pkotlin.compiler.runViaBuildToolsApi=trueKT-81321Deprecate old BTA prototype APIKT-81602BTA: rename KotlinToolchains.jvm@JvmNamefor a more Java-friendly APIKT-75356Failing to pass a-dargument causes Build Tools API to NPEKT-81130BTA: using KotlinVersion from stdlib in the API breaks when using isolated classloaderKT-78195BTA: migrate the test infrastructure from the prototype to the new designTools. CLI
KT-81077Add JVM target bytecode version 25KT-79867CompilerConfiguration.configureSourceRoots puts obfuscated file paths instead of ones passed onclasspathto CLIConfigurationKeys.CONTENT_ROOTSKT-80348Expose 'XXLanguage' compiler argument as a normal argumentKT-80428KMP Separate Compilation: Handle friend dependenciesKT-74590Deprecate -Xjvm-default in favor of -jvm-defaultKT-80349KMP Separate Compilation is enabled on non-KMP compilationsKT-79982Fix description of -Xjspecify-annotationsKT-79403Improve generator for deprecated CLI argumentsKT-75968Set proper lifecycle for all existing compiler argumentsKT-79293Create Language Features and compiler argument with parameter for new destructuring featuresTools. Commonizer
KT-49735[Commonizer] :commonizeNativeDistribution fails for projects with two or more same native targetsKT-47523MPP: Unable to resolve c-interop dependency if platform is included in an intermediate source set with the only targetKT-48118Commonized c-interop lib is not attached to common main source setKT-46248MPP: Compile KotlinMetadata fails with Unresolved reference if only one native platform from shared source set is availableTools. Compiler Plugin API
KT-82563Improve compiler error messages to identify incompatible plugins causing compilation failuresKT-55300Provide a mechanism to describe ordering and dependencies for compiler pluginsKT-82099Compiler plugin ordering has no effectKT-74867LLFirIdePredicateBasedProvider matches local classes when it shouldn'tKT-52665DeprecateComponentRegistrarKT-75865Provide an API for setting the file name for the file with top-level declarations generated by a pluginTools. Compiler Plugins
New Features
KT-81091[DataFrame] Receivers from FirExpressionResolutionExtension are not resolved in CodeFragmentFixes
KT-64339Symbol Light Classes: No Arg compiler plugin generates synthethic constructor which is not seen from light classesKT-80429Power Assert with "Run test using: IntelliJ": NoClassDefFoundError (org.jetbrains.kotlin.kotlinx.collections.immutable.ExtensionsKt) during compilationKT-79319Lombok: NullPointerException onmvn compilewhen importing Java constantsKT-81348Incorrect bytecode mentioning error class/package is generated by kotlinx-serialization when private serializer in another module is not accessibleKT-80944FirUserTypeRefImpl cannot be cast to class FirResolvedTypeRef in maven projectKT-80815NoArg compiler plugin: Promote NO_NOARG_CONSTRUCTOR_IN_SUPERCLASS diagnostic from warning to errorKT-80822False positive NO_NOARG_CONSTRUCTOR_IN_SUPERCLASS reported for a class with explicit noargs constructor already presentKT-53122Constructors generated with NoArg have no@Metadataand are invisible for the frontendKT-74687Kotlin Lombok: False positive when calling builder on Java recordKT-80419Remove bundled jetbrains annotations from kotlin-dataframe-compiler-pluginKT-79245[AtomicFU] Drop K1/JS- and K1/Native-specific testrunnersKT-79197DataFrame: Cannot find local variable 'this@df' with type Scope0KT-73865Incorrect type is generated for irPropertyReference during K/N transformationTools. Compiler plugins. Serialization
KT-70345Promote COMPANION_OBJECT_IS_SERIALIZABLE_INSIDE_SERIALIZABLE_CLASS diagnostic to errorKT-79695Serialization does not exclude field-less properties in 2.2.20-Beta2KT-79246[Serialization] Drop K1-specific testrunnersTools. Gradle
New Features
KT-78199Gradle: Migrate JVM compilation in KGP to the new BTAKT-45161Gradle: Support registering generated sources with the Kotlin modelKT-71602Introduce KotlinTopLevelExtensionFixes
KT-67290Deprecate usage of HasKotlinDependencies inside KotlinCompilationKT-80950KGP breaks configuration cache when signing plugin with GnuPG is appliedKT-64211Provide support for the kotlin.internal.compiler.arguments.log.level property while running via build tools apiKT-81719Do not register swift export related configurations when it's not requiredKT-78741Add FUS analytics for klib cross-compilationKT-75449Update deprecation ofKotlinJsTestFramework#createTestExecutionSpecKT-64273Gradle: remove symbols deprecated after KT-54312KT-74915Make ExtrasProperty.kt internalKT-64992Remove KotlinCompilation.sourceKT-82068Workaround iOS Simulator start failure in ITKT-79482Report webMain / webTest usage in FUS metricsKT-81199Deprecate "org.jetbrains.kotlin.android" pluginKT-82244Conflicting warnings when using AGP 9.0.0-alpha with built-in Kotlin disabledKT-81161Gradle plugin api reference: compiler arguments types are not availableKT-70251Gradle: hide compiler symbols in KGPKT-81837Run integration tests against AGP 8.13KT-77457Compile against Gradle API 9.0KT-79238Bump minimal supported AGP version to 8.2.2KT-75869KGP JS - Update deprecated constructorsKT-76720Raise deprecation level to error for Kotlin*Options propertiesKT-79047Gradle compileKotlin fails with configuration cacheKT-81415BTA: Duplicate daemons when compiling JVM + JS in KGPKT-80763Add redirect link to error message when 'org.jetbrains.kotlin.android' plugin is used with built-in KotlinKT-81038Gradle: remove support for properties disabling precise task outputs backupKT-80808Warning from kotlin-dsl with kotlin("jvm") on Gradle < 9.0 doesn’t suggest updating GradleKT-80875Gradle: runToolInSeparateProcess may fail on Windows with too long command lineKT-79851Emit an actionable warning/error on unsupported AV/LV configured bykotlin-dslKT-77458Run Gradle integration tests against Gradle 9.0KT-80172Error message changes depending on the order of applying 'org.jetbrains.kotlin.android' and 'AGP' 9.0+ with built-in Kotlin pluginKT-76177Remove deprecated classpath snapshot task inputsKT-79339Remove additionalMetadata from compiler options DSLKT-73478Add module level descriptionKT-80083KGP IT: fix tests on WindowsKT-79034Automatically disable cross compilation if it's not supported on the hostKT-79408A lot of errors files are created when compile KotlinKT-78827Rewrite Gradle compiler options DSL generatorTools. Gradle. BCV
KT-80687Add description to Gradle tasks [ABI Validation]KT-80621Move Gradle tasks into suitable groups [ABI Validation]KT-78625Kotlin's built-in BCV generates empty .api filesTools. Gradle. Compiler plugins
KT-81827Add a switch for mapping file tasks in Compose Gradle pluginTools. Gradle. JS
Fixes
KT-79921Web Tooling Gradle API does not respect webpack reconfigurationKT-81009K/JS, Wasm: Promote deprecation of NPM and Yarn package manager internal functionsKT-76019Wasm/JS: Promote phantom-js for Karma deprecation to ERRORKT-81005K/JS, Wasm: Promote deprecation of ExperimentalWasmDsl to ErrorKT-81010K/JS, Wasm: Promote deprecation of internal JS functions to ErrorKT-81008K/JS, Wasm: Promote deprecation of ExperimentalDceDsl to ErrorKT-81007K/JS, Wasm: Promote deprecation of public constructors of JS declarations to ErrorKT-81006K/JS, Wasm: Promote wasm declarations in "js" package deprecation to ErrorKT-81004K/JS, Wasm: promote deprecation NodeJsExec.create to ErrorKT-75621KJS / Gradle: Disable npm in --offline modeKT-79910Wasm, JS: Upgrade NPM versionsKT-76996Wasm: js tasks triggers wasm subtasksKT-79237Upgrade NPM dependencies versionsTools. Gradle. Multiplatform
New Features
KT-76446Add kotlin-level dependency block to work the same way as commonMain/commonTest dependencies blocksFixes
KT-61127Remove scoped resolvable and intransitive DependenciesMetadata configurations used in the pre-IdeMultiplatformImport IDE importKT-81980KGP warning gives incorrect suggestion for AGP application compatibilityKT-81601Withandroid.builtInKotlin=falseAGP 9.0+, usingkotlin-multiplatformplugin will fail with aClass Cast ExceptionKT-81060KMP stores common compilation dependency resolution in Configuration cache leading to error when deserializing (Android only)KT-80720Gradle import of multiplatform project fails: "Failed to invoke getAssociateWith on KotlinJvmCompilation_Decorated"KT-81200Deprecate 'androidTarget'KT-74005Implement a prototype of Unified Klib support in Kotlin Gradle PluginKT-77367[uklib] Project dependency to kotlin-jvm module leads to failure in transform during IDE importKT-80785Withandroid.builtInKotlin=falseandandroid.newDsl=true, usingkotlin-androidplugin will fail withClassCastExceptionKT-81434[uklib] androidCompileClasspath resolves java compatibility variant instead of android for uklib libraryKT-81469[uklib] kmpPublicationStrategy affects resolution during import for androidTargetKT-81249Kotlin 2.2.20 broke KMP implementation of ParcelizeKT-77066Promote kotlinArtifacts deprecation to an errorKT-74955Remove resources resolution strategy completelyKT-62614Remove legacy kotlin-gradle-plugin-modelKT-79559AGP complains about configurations resolved at configuration time due to KMP partially resolved dependencies diagnosticKT-78993The value for property '*' property 'dependencies' is final and cannot be changed any furtherKT-76200TestModuleProperties.productionModuleName for JVM module isn't present with 2.1.20-RCKT-55312Replace "ALL_COMPILE_DEPENDENCIES_METADATA" configuration with set of metadata dependencies configurations associated per setKT-52216HMPP / KTOR: False positive "TYPE_MISMATCH" with Throwable descendantKT-54312TCS: Replace CompilationDetails abstract class hierarchy by composable implementationKT-55230Remove metadata dependencies transformation for runtimeOnly scopeTools. Gradle. Native
KT-80675Commonized cinterops between "test" compilations produce an import failureKT-77732commonizeCInteropfailed with "Unresolved classifier: platform/posix/size_t"KT-81510commonizeCInteropexception with 'kotlinNativeBundleConfiguration' not foundKT-81134Native: Gradle configuration failure likely related to Klibs cross-compilationKT-77486Remove bitcode DSLKT-64107Kotlin Gradle plugin allows native binaries to have bothdebuggableandoptimizedflags set totrueKT-74910BumpdestinationDirin CInteropProcess to hiddenKT-74911Promote CInteropProcess.konanVersion to hiddenKT-74864Enable exporting KDocs by default to ObjCKT-72705K/N: compile task cache can not be used due to 'artifactVersion' input propertyTools. Gradle. Swift Export
KT-81465Swift Export package is build with wrong targetKT-81460[KGP] Crash in SwiftExportRunner due to older stdlibKT-79524NoSuchMethodError: 'java.lang.String org.gradle.api.artifacts.ProjectDependency.getPath() for swift export with dependency export fro gradle < 8.11Tools. Incremental Compile
KT-75864Implement a conservative mechanism of the IC with compiler plugins generated top-level declarationsKT-55982K2: Consider global lookups from plugins in incremental compilationKT-79504Implement an API to provide IC lookups from backend pluginsKT-75657Fix difference in incremental compilation scenarios in BTA in-process vs daemon compilation modeKT-79541Refactor tracking of files relation in ICKT-74628Incremental compilation runner does not check compiler exit code before mapping sources to classesTools. JPS
KT-77347Support file-less compatible IC approachTools. Kapt
KT-79138K2: KAPT Java Stub Gen:Unresolved referencewith@kotlin.Metadata in Java in 2.2.0KT-79133K2 kapt: class literal with typealias is not expandedKT-79305K2 kapt: ISE "Cannot evaluate IR expression in annotation" on typealias with unresolved expansionKT-79136K2 kapt: unresolved nested class references in annotation arguments are generated without outer class namesKT-71786K2Kapt: Stubs generation does not fail on files with declaration errorsKT-80843K2: KAPT: Crash on any data class with duplicate properties: "Sequence contains more than one matching element"KT-73411Removekapt.use.k2property and code which allows to use K2 with K1 kaptKT-79641Kapt: too much information is printed in verbose modeTools. Maven
KT-82180kotlin-maven-plugin: IC succeeds after dependent source deletionKT-78201Maven: migrate JVM compilation to the new BTAKT-814142.2.20 regression: OOM (Compressed class space) when in-processKT-81435Maven: Improve BTA classloader reusageKT-81681Maven: "NoClassDefFoundError" on a second test runKT-81218Kotlin Maven Plugin 2.2.20: Java classes not resolved with enabled incremental compilation without daemonTools. Performance benchmarks
KT-79709Add-Xdetailed-perfCLI flag to control verbosity of performance logsKT-79226[K/N] Add performance measurement for native backend loweringsTools. REPL
KT-80062ReplSnippetLowering sometimes produces IrConstructorCall with too many argumentsTools. Scripts
KT-80071Kotlin script mode produces invalid IR: "value that is not available in the current scope"Tools. Statistics (FUS)
KT-77407Add performance measurement for prefix loweringsKT-79455[FUS] Collect KSP plugin versionKT-79090Integrate dynamic stats intoMarkdownReportRendererTools. Wasm
KT-82365K/Wasm: NodeRun tasks in Wasi depend on kotlinWasmToolingSetupKT-81313K/Wasm: update Node.js to 24.xKT-81315K/Wasm: update Node.js to 25.xKT-80582Multiple reloads when using webpack dev server after 2.2.20-Beta2KT-80896K/Wasm: debug tests only onceKT-78921K/Wasm: don't generate empty yarn.lock filev2.2.21: Kotlin 2.2.21Changelog
Backend. Wasm
KT-81372K/Wasm: JsException: Exception was thrown while running JavaScript code on Safari 18.2/18.3KT-80018K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit)Compiler
KT-81191K2: "null cannot be cast to non-null type ConeTypeParameterLookupTag" with invalid codeKT-80936NON_PUBLIC_CALL_FROM_PUBLIC_INLINE :@PublishedApidoesn't work for fun interfacesJavaScript
KT-79926Wrong export of interfaces with companions with ES ModulesKT-81424Kotlin/JS: Cannot Get / in a simple running applicationKT-80873KJS: Stdlib requires ES2020-compatible JS engine due to BigInt type literalNative
KT-79384K/N: Application Not Responding: Thread DeadlockTools. Gradle
KT-79047Gradle compileKotlin fails with configuration cacheKT-81148Publishing helpers in KGP are incompatible with Isolated ProjectsKT-80950KGP breaks configuration cache when signing plugin with GnuPG is appliedTools. Gradle. Multiplatform
KT-61127Remove scoped resolvable and intransitive DependenciesMetadata configurations used in the pre-IdeMultiplatformImport IDE importKT-81249Kotlin 2.2.20 broke KMP implementation of ParcelizeTools. Gradle. Native
KT-81510commonizeCInteropexception with 'kotlinNativeBundleConfiguration' not foundKT-81134Native: Gradle configuration failure likely related to Klibs cross-compilationKT-77732commonizeCInteropfailed with "Unresolved classifier: platform/posix/size_t"KT-80675Commonized cinterops between "test" compilations produce an import failureTools. Maven
KT-81218Kotlin Maven Plugin 2.2.20: Java classes not resolved with enabled incremental compilation without daemonTools. Wasm
KT-80582Multiple reloads when using webpack dev server after 2.2.20-Beta2v2.2.20: Kotlin 2.2.20Changelog
Analysis API
KT-78187Synthetic properties not to be shown as callablesKT-72525K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)KT-74246KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-siteAnalysis API. Code Compilation
KT-78382K2 IR lowering error when interface extends interfaceKT-73201K2 IDE: Error while evaluating expressions with local classesKT-78164Evaluator: '@JvmName' annotations are not recognized in other modulesKT-76457K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvmKT-73084K2 evaluator cannot resolve local variables standing at the closing braceAnalysis API. FIR
Performance Improvements
KT-76490Do not load ast during the contracts phase if no contracts presentKT-78132Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarationsFixes
KT-72227SOE from recursive value classKT-68977K2 IDE: Reference to companion object through typealias in a function call does not workKT-72357Implement partial body resolutionKT-76932Support context parameters on dangling modifier listKT-72407FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessingKT-77602K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-callKT-77629K2: NPE: "org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution"KT-76855Analysis API:KaType.asPsiTypereturnsnullfor a local inner class in dependent analysis testsKT-72718ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-castedKT-76811Analysis API:resolveToFirSymbolfinds aFirPropertySymbolfor aKtScriptin dependent analysisKT-73586[Analysis API] AddlazyResolveToPhase(STATUS)before accessing modifiers of membersKT-71135AA: exception from sealed inheritors checker whenanalyzeCopyKT-75534K2 AA: "Containing declaration should present for nested declaration class KtNamedFunction" with dangling annotation on top-level anonymous functionKT-75687K2: local variable doesn't get to the do-while scopeKT-56543LL FIR: rework lazy transformers so transformers modify only declarations they suppose toAnalysis API. Infrastructure
KT-76809Analysis API: Dependent analysis tests frequently work with the original element instead of the copied elementAnalysis API. Light Classes
KT-78835Find usages of a light constructor from a class with an empty body finds usages of class as wellKT-78878K2. Method shown as unavailable in Java when@JvmExposeBoxedis applied (redundantly) at both class and method level in KotlinKT-78065Support "Expose boxed inline value classes" in Light ClassesKT-78076DLC: KotlinDeclarationInCompiledFileSearcher missed accessors if types are boxedKT-77569SLC: annotation missing from generated no-args constructorKT-75182K2 AA. False positive red code "Unresolved reference" to a Kotlin method in Java when Kotlin uses a value class with@JvmOverloadsKT-77564Constructor with JvmOverloads and value class shouldn't mark regular constructors privateKT-77505K2: find usages on java accessor methods do not detect kotlin property accessor usagesKT-76789Annotation resolve shouldn't search through non-class membersKT-76907Wrong equality between repeatable annotation and containerAnalysis API. Providers and Caches
KT-77578Analysis API: Performance degradation ofKaBaseResolutionScope.containsafter introduction of library restriction scopesKT-78640Analysis API: Remove "friend builtins provider" fromFirDeclarationForCompiledElementSearcherKT-74907Analysis API: Apply platform-based library module content restrictions consistentlyKT-77605AA: Leaking KaDanglingFileModule through IdeKotlinPackageProviderKT-62474Analysis API: Improve mergeability and performance of custom search scopesKT-77022Get rid of ExpectBuiltinPostProcessor workaroundKT-77248Delegation ofJavaModuleResolveris restricted toCliJavaModuleResolverKT-76850LLFirLibrarySession cannot be cast to LLFirResolvableModuleSessionKT-76952Analysis API:whenexhaustiveness analysis fails for sealed classes in dangling filesKT-72390Kotlin project full of red codeAnalysis API. Standalone
KT-78638Analysis API Standalone: Stdlib builtins are not indexed inSTUBSdeserialized declaration origin modeAnalysis API. Stubs and Decompilation
KT-77496Support HAS_MUST_USE_RETURN_VALUE metadata flags in FirStubBasedMemberDeserializerKT-77778Function receivers doesn't have annotationsKT-77777Receiver annotations shouldn't be present on typesKT-77538Support default property accessors with annotationsKT-77763Decompiled stubs miss inline modifier for property accessorsKT-77309Decompiled property from annotation constructor with default value should have a constant initializerKT-77168Prefer DataInputOutputUtil for serialization/deserializationKT-77117Flaky WRONG_ANNOTATION_TARGET diagnosticKT-76791Function signature types are deserialized inconsistentlyKT-76947Support functional types with context parametersAnalysis API. Surface
New Features
KT-73473Provide KaExpressionInformationProvider.isUsedAsResultOfLambdaKT-77278Implement psi-basedKaFirKotlinPropertyKtPropertyBasedSymbol#hasBackingFieldKT-70770KaLocalVariableSymbol: supportisLateInitPerformance Improvements
KT-78526Get rid of redundantcheckValidityfromwithPsiValidityAssertionFixes
KT-77674Analysis API: Redundant smart cast to the original typeKT-76577Guard KaFirStopWorldCacheCleaner from deadlocks via threads waitingKT-78820K2: ISE "FIR element class FirErrorExpressionImpl is not supported in constant evaluation" through RedundantValueArgumentInspectionKT-75057Analysis API: Reference to object through typealias in invoke operator call leads to original typeKT-79042Do not restore KaTypePointer if target kind has changedKT-72421AA: "KtReference.resolveToSymbols" returns empty list when ASSIGN_OPERATOR_AMBGUITY error is presentKT-63464AA: KtPsiTypeProvider#asPsiType doesn't substitute kotlin.UnitKT-75913K2: SymbolLightLazyAnnotation evaluates arguments and replaces them with constantsKT-78628K2. Setting Receiver=true in Change Signature produces parameter of regular function type receiver instead of extension function typeKT-78278ISE: FIR element "class org.jetbrains.kotlin.fir.expressions.impl.FirErrorResolvedQualifierImpl" is not supported in constant evaluation at org.jetbrains.uast.kotlin.internal.FirKotlinUastConstantEvaluator.evaluateKT-73184Analysis API: KaFunctionCall.argumentMapping is unexpectedly deparenthesisedKT-73327Cover all psi inputs with scope validity assertionsKT-78613PSI: add binary compatibility checksKT-74013Analysis API: Cover the API surface with@SubclassOptInRequiredannotationsKT-76614Move the parser and lexer to a separate moduleKT-78552KaFunctionValueParameteris not marked asKaLifetimeOwnerKT-71152Add back SubclassOptInRequired to classes in KaModule.ktKT-71876Support storing parameter names inKaFunctionTypeKT-77738AA: inconsistentKaType.allSupertypesregarding multiple iterationsKT-75358K2 AA, KaFirVisibilityChecker: private member of anonymous object is not visible inside itKT-73723K2 AA, KaFirVisibilityChecker: protected member of superclass is not visible from anonymous objectKT-78057[Analysis API, K2] Context parameters are not resolved in KDocKT-73758K2 Mode: "KaEvaluator.evaluate" does not work for simple arithmetic expressionsKT-72301K2 AA.PSI should present for declaration built by Kotlin codeon property access syntax of generic Java getter through Kotlin subclassKT-77730K2: Unable to get a light PSI for a nested annotation used with fully-qualified nameKT-73216K2: unresolvable references in type parametersKT-71794Analysis API: Types with errors have unresolved qualifiers in lambda parameters positionKT-65846Support parameter names in functional type renderingKT-76738K2 AA: rendering constructor of sealed class inserts protected modifierKT-77515KaTypeProvider#receiverTypeshould be more tolerant to an error codeKT-77333K2 AA: KaFirTypeProvider.getType: InvalidFirElementTypeException: For TYPE_REFERENCE with textI, unexpected element of type: FirSuperReceiverExpressionImpl foundKT-76044K2 AA: isFun is true for restored symbol of Java interface with several methodsKT-77264KaTypeProvider#typeshould be more tolerant to an error codeKT-77282KaPropertySymbol: supportisDelegatedPropertyfor librariesKT-77254K2 AA: expectedType doesn't provide anything for parameter default valueKT-74777KaVariableSymbol.hasBackingField returns incorrect result for librariesKT-77280RenameKaPropertyAccessorSymbol#isCustomtoisNotDefaultKT-77210Analysis API:scopeContextshows implicit receiver with a class instance in the class constructorKT-77196Clarify differences between KaPropertyAccessorSymbol#{isDefault, hasBody}KT-76580K2: No expected type for the second+ vararg argumentKT-76750K2. internal exception 'Unable to provide inlay hint' on typo in nested lambdasKT-73290Analysis API: Improve the architecture of content scopes and resolution scopesKT-73055Get rid of the deprecated Analysis API APIKT-70199K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArgumentsBackend. Wasm
New Features
KT-65721K/Wasm: stop unconditionally exporting any main function from the root packagePerformance Improvements
KT-70097Optimize shared primitive variables in Native and WasmFixes
KT-80106devServer in Kotlin/Wasm overwrites defaults, causing missing static pathsKT-80018K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit)KT-66072K/Wasm: improve how exceptions work in JS interopKT-77897WasmJs: ClassCastException when using star-projection with nullable transformation in generic extension functionKT-71533K/Wasm + K2: no error on KClass::qualifiedName usagesKT-73931WASM: "RuntimeError: illegal cast" with nullable genericKT-65403[WASM] RuntimeError is thrown instead of ClassCastExceptionKT-79317[Wasm] Do not throw CCE for ExcludedFromCodegen declarationsKT-66085K/WASM: Runtime error is uncaught withcatch (e: Throwable)KT-78036K/Wasm: generate a message with "expected" and "actual" types in case of CCEKT-78384K/Wasm: Incorrect debug info of local declarations in inline function from another fileKT-72220Wasm: Unclear exception in case of missed dependencyKT-71691No trace on Wasm/JS if an error occurred in initializing global variables in a file with the main functionKT-67554[Wasm] Consider to have reference equals or/and equals for function referencesKT-71521K/Wasm: incorrect results on equality checks for capturing property referencesKT-71522K/Wasm: incorrect results on equality checks for function referencesKT-69570K/Wasm: JsExport with default parameter value compiles to invalid WasmKT-71517K/Wasm: KClass::qualifiedName for local classes and objects returns non-null valueKT-68309WASM: Anonymous class simpleName returns "" instead of nullKT-77272K/Wasm: Remove kotlin.wasm.internal.ClosureBox* classes from the standard libraryKT-66106Wasm: lambda was not invoked in test lambda2.ktKT-77855[Wasm] Improve virtual function calls speed for lambdasKT-77501Wasm: unsigned vararg compiles to invalid WasmKT-76775[Wasm] Inconsistent FP mod operationKT-77464Wasm: KType.toString() has simple names even with -Xwasm-kclass-fqnKT-77465Wasm: KTypeParamter printed without variance informationCompiler
New Features
KT-71768Enable -Xjvm-default=all-compatibility by default to generate JVM default interface methodsKT-78374Make indy lambda function name generation more consistentKT-45683Allow generics in contract type assertionsKT-27090Support contracts in getter and setter for top-level extension propertiesKT-76766Warning is missing for wrong subclass checkingKT-71244Incorporate existing@CheckReturnValueannotation(s) into Kotlin's unused return value checkerKT-73256Implementallmeta-target for annotationsKT-78792Report warning for redundant return in expression bodyKT-32313Support contracts for operator functionsKT-70722Implement better Kotlin warnings for value classes and JEP 390 (Warnings for Value-Based Classes)KT-65688Generate when-expressions over final classes via invokedynamic typeSwitch + tableswitch on JDK 21+KT-54344Trigger the unused expression warning for interpolated strings, even when the expression may have side effectsKT-74807Implement 'full' unused return value checker modeKT-77653K/N: an optimization pass to remove redundant type checksKT-64477Enhance KotlinLightParser to make it able to parse scriptsKT-74809Support unnamed local variablesKT-72941ANNOTATIONS_ON_BLOCK_LEVEL_EXPRESSION_ON_THE_SAME_LINE missing in K2KT-75061Support context-sensitive resolution in type positionPerformance Improvements
KT-77993Optimize old PSI/LightTree Kotlin parserKT-78672Consider having FirCallableSymbol.callableId null for local properties / parametersKT-77839K2: consider not creating CallableId for value parameters / variables / fieldsKT-74981Kotlin/Native: large binary size for iOS target in 2.1.0(LLVM16)KT-77838K2: consider replacing LinkedHashMap with HashMap inside scopes and scope sessionKT-76698Android Studio compose preview holds read lock 700ms for KaCompilerFacility APIKT-68677Kotlin compilation issue when using EnumMap and PairFixes
KT-79979K2: ClassCastException when overriding extension property with delegationKT-67146UPPER_BOUND_VIOLATEDmissing on implicit type argumentsKT-76477Kotlin/Native: fix compiler performance reporting in sources->klib and klibs->binaryKT-79866kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an errorKT-78666"Platform declaration clash" caused by indy lambda name generation which generates conflicting namesKT-80285IJ monorepo: broken compilation after 2.2.20-RC updateKT-79442"Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfacesKT-78589"Class does not have member field" caused by delegation from a Java to Kotlin classKT-79816Java Interfaces implemented by delegation have non-null return checksKT-78097False positive NO_ELSE_IN_WHEN on sealed interface with negative is checkKT-77182A function in a file annotated with@file:MustUseReturnValue doesn't produce a warning when it is used from compiled codeKT-79085Adding-Xreturn-value-checker=fullto kotlinc causes "error: conflicting overloads"KT-75268K2: Implement the new compilation scheme for MPP (compiler part)KT-78843FIR tree: comments within String concatenation aren't visited in 2.2.0KT-77401[FIR]ParameterNameTypeAttribute.namedoesn't support@ParameterNamewith compile-time constant property argumentKT-73611Remove -Xextended-compiler-checks in favor of a deprecation cycleKT-79276Dexing fails with "Cannot read field X because is null" with 2.2.0KT-79781Missing MISSING_DEPENDENCY_CLASS when using type alias with inaccessible RHSKT-78621false-positive type mismatch error on value of nullable type as value of platform typeKT-79547"UnsupportedOperationException: Not supported" with inlining and value classesKT-52706Bad signature for generic value classes with substituted type parameterKT-79519Nested type alias is unreachable from another moduleKT-76839False-negative MISSING_DEPENDENCY_CLASS on parameter of data class constructorKT-78352False-positive IDENTITY_SENSITIVE_OPERATIONS_WITH_VALUE_TYPE when comparing with equality operator (==)KT-78815Symbol not found: __ZNSt3__117bad_function_callD1Everror on iOS 15.5 simulator in Xcode 16.3 after update to 2.2.0-Beta2KT-25341NOT_YET_SUPPORTED_IN_INLINE reported over anonymous object borderKT-77099'all' annotation target is not a soft keywordKT-76478FIR: Implement IDE-only checker for types exposed in inline functionKT-79355Failed to fix the problem of desugaredincwith new reverse implies returns contractKT-79277Implies returns contract doesn't affect the return type of the function if it is in the argument positionKT-79271Implies returns contract doesn't impact exhaustivenessKT-79218SMARTCAST_IMPOSSIBLE for top‑level extension‑property getter despite returnsNotNull contractKT-79220returnsNotNull contract ignored on extension function with nullable receiverKT-79354IllegalStateException: Debug metadata version mismatch. Expected: 1, got 2 with compiler 2.2.20-Beta1 and stdlib 2.2.0KT-78479IR lowering failed / Unexpected null argument for composable callKT-77986K2: False negative: "Local classes are not yet supported in inline functions"KT-79076'IllegalStateException: Cannot serialize error type: ERROR CLASS: Uninferred type' with Exposed column using recursive generic typeKT-78726Split runPsiToIr phase into runPsiToIr and runIrLinkerKT-77672K/N: come up with a fallback strategy for the casts optimization passKT-76365K2: Missing ABSTRACT_SUPER_CALLKT-76585K2: RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY is not reported inside initializers of local variablesKT-79099K2: Do not inherit inline modifierKT-76902Omit type-use annotations from diagnosticsKT-64499Report error on overloading by order of context parametersKT-58988K2: Deprecate exposing package-private parameter of internal methodKT-77199OPT_IN_USAGE_ERROR is still absent when calling the enum primary constructorKT-72800K2: java.util.NoSuchElementException when introduce variableKT-79056Add experimental language version 2.5KT-17460Diagnostics and intention on suspend function that is overriden with non-suspend one.KT-78351Plugins: VIRTUAL_MEMBER_HIDDEN caused by FirSupertypeGenerationExtensionKT-78527No LESS_VISIBLE_TYPE_ACCESS_IN_INLINE_WARNING is reported when a private companion object is accessed via the class nameKT-79045FirExpectActualMatcherTransformer should not visit bodiesKT-74570K2: Linenumber for annotation on property is present in LVTKT-74569K2: Linenumber of annotation is present in constructor's LVTKT-64731K2: Annotation on inline function or inside inline function is hit by debuggerKT-77756Add experimental language version 2.4KT-78837linkReleaseFrameworkIosArm64: Compilation failed: An interface expected but was AnyKT-78945CONTRACT_NOT_ALLOWED is not reported for local operator functionsKT-78944ANNOTATION_IN_CONTRACT_ERROR is not reported for operators and property accessors with contractsKT-78943ERROR_IN_CONTRACT_DESCRIPTION is not reported for operators and property accessors with contractsKT-78932Contracts are allowed for open and overridden property accessorsKT-77203FIR: Consider adding destructured type to all COMPONENT_FUNCTION_* diagnosticsKT-76635Implement Data-Flow Based Exhaustiveness SupportKT-78805K2: False positive METHOD_OF_ANY_IMPLEMENTED_IN_INTERFACEKT-78651No need to report LESS_VISIBLE_TYPE_ACCESS_IN_INLINE_WARNING in noinline default value lambdaKT-78849K2: [Wasm, Fir2IR] Invalid smartcast on overloaded function callKT-78793Make feature AllowEagerSupertypeAccessibilityChecks experimentalKT-78736Missing [NOT_YET_SUPPORTED_IN_INLINE] diagnostics because of incorrect context updateKT-78324K2: False negative [INCONSISTENT_TYPE_PARAMETER_VALUES]KT-69975KDoc: cannot reference elements with names in backticksKT-78229KDoc: unable to reference a method with spaces in the nameKT-78047Render unnamed context parameters as _ instead ofKT-74621Debugger: AssertionError on evaluating two suspending callsKT-78784Improve deprecation warnings about KTLC-284KT-76826New inference error [NewConstraintError at Incorporate TypeVariable] caused by recursive generics and nullable expected typeKT-77685"IllegalArgumentException: Sequence contains more than one matching element"KT-78028"FirNamedFunctionSymbol" leaks to the error message about missing infix modifierKT-77245Add expression name to RETURN_VALUE_NOT_USED diagnosticKT-78071False-positive NO_ELSE_IN_WHEN after variable reassignmentKT-78068False-positive NO_ELSE_IN_WHEN after excluding enum value with inequality checkKT-71134Consider to get rid of CapturedTypeMarker.withNotNullProjection()KT-77131getValue/setValue can be declared with more than two/three parametersKT-78452Drop redundant frontend structures after fir2ir conversionKT-78458Don't populate PredicateBasedProvider if no lookup predicates are registeredKT-78440Lambda with an implicitly runtime-retained annotation is generated via invokedynamic with-Xindy-allow-annotated-lambdas=falseKT-77709Missing diagnostics of accessing less visible objects in inline functionKT-77577False positive exposed type warningsKT-77095FIR: Report warnings on exposure of references to invisible references in inline functionsKT-76981Move exposed type checker to regular checkersKT-78252ClassCastException whenArray<Void>used for compile-time vararg ofNothingKT-77713Context Parameters cause compiler generate r8 incompatible bytecodeKT-71854K2 IDE. False positive red code because of external annotation on a generic parameterKT-67335K2: Infers Int instead of Long for an ILTKT-76629K2 Mode: False positive RedundantVisibilityModifier inspection on private constructors in sealed classesKT-77728Drop controversial experimental checkersKT-78429K2: Property callable reference incorrectly smart-casted to intersection of property type and KPropertyKT-78509Renamed for override copy functions are cached in scope instead of sessionKT-17417Loops in delegation: no compilation error on non-abstract class with abstract method that never implementedKT-75033Split JvmBackendPipelinePhase to be able to provide a custom implementation of writeOutputsKT-75831K2: An extra "[VALUE_PARAMETER_WITHOUT_EXPLICIT_TYPE] An explicit type is required on a value parameter." for a missing parameterKT-78370All the [something]Assign operators on dynamic return Unit as a typeKT-73950K2 IDE / Kotlin Debugger: ISE “Fake override should have at least one overridden descriptor” on evaluation of local calss in presence of bystanderKT-78280Implement the sourcelessKtDiagnosticsKT-76543Migrate psi2ir sources to new IR parameter APIKT-77716Kotlin/Native and -Xseparate-kmp-compilation: "Compilation failed: Several functions kotlin/native/immutableBlobOf found"KT-76400Context-sensitive resolution doesn’t work in if-else condition passed as a function argumentKT-76606Enable 'Indy: Allow lambdas with annotations' by defaultKT-76739Dubious argument type mismatch "actual type is 'String', but 'String' was expected" caused by wrong number of type argumentsKT-78121Report warning on function type with multiple implicit values that's annotated with DSL markerKT-76872Anonymous context parameters are not visible in debuggerKT-74088Kotlin Debugger: CCE on evaluating private suspend functionKT-77301False positive Context Parameter resolution when using DslMarkerKT-78230Add more test cases to the holdsIn contractsKT-78111K2: Approximation of captured star projection in function type producesFunction1<Nothing?, Unit>in IRKT-77273K/N: Remove the kotlin.native.internal.Ref class from the standard libraryKT-73995JVM bytecode: Bad name for value class fieldKT-73013Kotlin Debugger: ISE “No mapping for symbol: VALUE_PARAMETER” on evaluating callable reference to local function with closure in itKT-77665K2: unresolved annotatation on local context parameter typeKT-77485Add constraints logging to inferenceKT-76504Find and deprecate actively used parts of K1 APIKT-75338K2 Mode: False positive "Redundant assignment" diagnostic on variable captured by local functionKT-77648K2: False negative DSL_SCOPE_VIOLATION when using named argument for lambda with annotated function typeKT-77355Report warning on overloading by a superset of another overload's context parametersKT-77354Report warning on overloading by a subtype of another overload's context parameterKT-78084Unify deprecation warning messagesKT-76776@MustUseReturnValuedoesn't affect nested scopesKT-77545@NoInferon receiver type leads to false positive type mismatch when generic type is specified explicitly and closest implicit receiver is of incorrect typeKT-76772@NoInferon a context parameter's type leads to a false-positive context argument ambiguity error regardless of the closest implicit values' types if there are multiple of them at the call siteKT-76771@NoInferon context parameter type leads to a false-positive type mismatch when generic type is specified explicitly and closest implicit value at the call site is of a mismatching typeKT-77156INITIALIZATION_BEFORE_DECLARATION is not reported in anonymous objectKT-78060UNRESOLVED_REFERENCE in fp-spaceKT-67555Debug metadata: map the Continuation label to the next executable location in fileKT-77723Refine the message for ArrayEqualityCanBeReplacedWithEquals checkerKT-75178Inline functions in conjunction with@JvmStaticmay result in bytecode errorsKT-77390Prototype lazy loading of stdlib symbols in NativeKT-77921False positive EXTENSION_SHADOWED_BY_MEMBER when member has context parametersKT-77895false-negative error on package directives with context parameter lists (even with context parameters disabled)KT-76767AMBIGUOUS_CONTEXT_ARGUMENT should report the name of the context parameter in addition to the typeKT-77444K2: False negative "Unchecked cast" with casting from MutableList to MutableListKT-63348K2: FIR2IR should properly pass expected typesKT-77627K2: consider getting rid of NEW_INFERENCE_ERRORKT-75833K2: Extra [ANNOTATION_ARGUMENT_MUST_BE_CONST] when passing regex-like strings as annotation argumentsKT-77547Native: add a check that the logic looking for stdlib-related bitcode is not used when compiling sources to a klibKT-77206RemovePARAMETER_NAME_CHANGED_ON_OVERRIDEsuppression in KMP lexersKT-77679Update syntax-api dependency in KMP Kotlin parserKT-77705K2: Consuming data class compiled with kotlin 1.0.5 breaks the K2 compilerKT-76583CCE: suspend lambda attempts to unbox value class parameter twice after lambda suspendedKT-76663KJS: KotlinNothingValueException caused by expression return since 2.1.20KT-75457Native: cache machinery uses stdlib cache with default runtime options even if custom runtime options are supplied when partial linkage is disabledKT-77563False-positive smart cast with captured local in init block causes NPEKT-77696ISE "couldn't find inline method" on kotlin/Result compiled by old Kotlin versionKT-76931K2: Annotation on do-while expression captures variables from inside the loopKT-77183Metadata: remove multi-field value class representationKT-77678Apply found optimization to Kotlin KMP parserKT-60127K2: Support scripts with LightTree-based raw FIR buildingKT-76615K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" for mixed Java/Kotlin codeKT-77220Annotation with EXPRESSION is not allowed on lambdas in Kotlin 2.2.0KT-77656K/N: fix the super type for local delegated propertiesKT-75907Inference/PCLA: consider storing semi-fixed variables in inference sessionKT-77144Implement KMP Kotlin parserKT-77352Implement KMP Expression parserKT-76984SYNCHRONIZED_BLOCK_ON_JAVA_VALUE_BASED_CLASS isn't reported for primitive wrapper classes instantiated within the scopeKT-67471K2: "Unresolved reference" on incorrect term of FQ nameKT-77269[K/N] external calls checker crashes when used with cachesKT-77205Kotlin Debugger / Context Parameters: CCE “class FirPropertySymbol cannot be cast to class FirFunctionSymbol” on evaluating class propertyKT-74133FIR: use EmptyDeprecationsPerUseSite consistently in symbolsKT-77100java.lang.Void type is not ignorableKT-77491K2: No SUPERTYPE_IS_EXTENSION_FUNCTION_TYPE when using typealiasKT-77490Report error on contextual function type in supertypeKT-77431Functional type with a context is allowed as an upper-boundKT-77432Context isn't passed properly when functional type with a context is used as a type argumentKT-77417There is no TYPE_VARIANCE_CONFLICT_ERROR when 'out' type is used in contextKT-62631Improve expect-actual "checking" incompatibilities reportingKT-77481Support ExpectRefinement feature in HMPP compilation schemeKT-77268Make sure that -Xreturn-value-checker also enables -XX:UnnamedLocalVariablesKT-65719K1/K2: Nullness defaults from subclass unsoundly applied to method in superclassKT-53836In type-parameter declarations, recognize JSpecify annotations only on boundsKT-73658JSpecify@NonNullannotation on type-parameter bound prevents type-variable usages from being platform typesKT-77000Leave ForbidInferOfInvisibleTypeAsReifiedOrVararg as a warningKT-74084K2: False negative [NO_ELSE_IN_WHEN]KT-77451FirLazyResolveContractViolationException for test with overridden delegateKT-77397Report UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL when calling declaration with contextual function type in signatureKT-77137K2: Controversial behavior allows resolving annotation arguments on a companion inside itKT-77257Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the conditional expression to the inaccessible interfaceKT-77256Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the functional call result to the inaccessible interfaceKT-76356K2 evaluation fails on evaluating inline methods if there is an inline with AutoCloseableKT-73786Evaluator: cannot evaluate inline methods with reified parameterKT-77204Native: XCode strip command causes flaky testsKT-77351Implement KMP KDoc parserKT-76914compile-time failure on a type argument placeholder in a callable referenceKT-76597False negative opt-in required on delegated constructor callKT-76667Mark the class implementation of interface function with ACC_BRIDGE in the class fileKT-77181K2: a nested typealias annotation observes member declarations of the outer classKT-77180K2: Wrong scope for annotation arguments in the constructor headerKT-77287Try enforcingsource != nullwhenorigin == SourceKT-76135K2: drop pre-1.8 language features from compiler codeKT-77231Reflection: CCE on resuming coroutine after callSuspend if result is a generic inline class substituted with primitiveKT-77031Investigate the actual need of deduplicating provider in HMPP compilation schemeKT-77050Implement KMP KDoc lexerKT-77048Implement KMP Kotlin lexerKT-77044Consolidate, refine and update jFlex dependencyKT-77252It is impossible to declare an unnamed variable in a scriptKT-58137K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another moduleKT-77140Protect ConstraintSystemCompletionMode.UNTIL_FIRST_LAMBDA with opt-inKT-76898K2: ClassCastException when data class shadows supertype'scomponentXmethod with wrong typeKT-75695Bogus "Assigned value is never read" warning for prefix ++ operatorKT-76805Wrong NPE occurs when assigning synthetic properties with platform types in Kotlin 2.1.20KT-77078K2: anonymous object is wrongly allowed to implement interfaces by unsafe DelegationKT-72722Treat 'copy' calls of a data class as explicit constructor usagesKT-77149IllegalArgumentException: source must not be nullKT-76806K2: AIOOBE in FirEqualityCompatibilityCheckerKT-72391KJS: (a * b).toDouble_ygsx0s_k$ is not a functionKT-76950K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" with nullable UByteKT-76043Native: NotImplementedError: Generation of stubs for class org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl is not supported yetKT-77126Transitive dependency mismatch between Kotlin Gradle Plugin and Scripting dependenciesKT-72831ANNOTATION_USED_AS_ANNOTATION_ARGUMENT missing in some cases in K2KT-73707Remove dependency on ":compiler:backend.jvm" from NativeKT-75499CheckerContext#{containingDeclaration, containingFile} in checkers should return symbolsKT-76548False positive TYPE_MISMATCH when resolving an expression with the expected type from the upper boundKT-76142K2:@RequiresOptInwarning does not display the custom message when using concatenated strings.KT-68699Kotlin Debugger: UPAE “lateinit property parent has not been initialized” on trying evaluate enumValues(), enumEntries() from inlined function with reified parameterKT-63267K2: incorrect line numbers after smart cast of an extension receiverKT-71309Kotlin Debugger: UnsupportedOperationException on calling method with reified type parameterKT-74912K2: Investigate irrelevant ARGUMENT_TYPE_MISMATCH on top-level lambdasKT-74657K2: Linenumber for annotation on local variable is present in LVTKT-76749NONE_APPLICABLE message is unreadable for stdlib context functionKT-74932Investigate false-negative ARGUMENT_TYPE_MISMATCH on a nested anonymous functionKT-74545Redundant TYPE_MISMATCH in variable initializer with callKT-76774K2: Simplify ResolutionMode.WithExpectedType contractsKT-76689Unnamed local variable with type and without initializer is allowedKT-76746ClassCastException: class org.jetbrains.kotlin.fir.types.impl.FirUserTypeRefImpl cannot be cast to classKT-76754K2: Compiler doesn't check annotations on array literals (as annotation arguments)KT-76674The function isn't called from unnamed local variable initializerKT-75553MISSING_DEPENDENCY_SUPERCLASSandMISSING_DEPENDENCY_SUPERCLASS_WARNINGis reported at the same time on the same elementKT-76345Enhance variable fixationKT-73348AssertionError from isCompiledToJvmDefault on super call of suspend function with composable function parameterKT-72305K2: Report error when using synthetic properties in case of mapped collectionsKT-73527Prohibit (via a deprecation warning) accessing nested class through generic outer classKT-59886K2: Disappeared ERROR_IN_CONTRACT_DESCRIPTIONKT-61227Definitely non-nullable types cause "Any was expected" for@NullableparameterKT-57911K2: Contracts are not inherited by substitution overridesKT-47398'null' EnhancedNullability value in String-based 'when' might produce different behavior depending on whether 'when' is "optimized" or notCompose compiler
CMP-7505IrLinkageError: Function can not be called: No function found for symbolb/432262806Fix target description lookupb/436870733Prevent lambda memoization in local classes inside a composableb/432485982Fix AbstractMethodError when overriding function with default parametersb/432262806Use classId as FirApplierInferencer tokensb/400371006Gate default parameters behind language versionsb/245673006Specify fqName for classes and functions in build metricsb/254577243Avoid printing complex expressions in compiler metricsb/394891628Allow specifying target version of Compose runtimeb/424454512Recreate FirApplierInferencer for each checkb/417406922Restrict references to@Composablepropertiesb/282135108,b/349866442[Compose] Enable applier checking when using FIRb/307592552Add BigInteger and BigDecimal to the list of known stable classesb/414547195Unwrap type casts when inferring@Composablecall argumentsIR. Inlining
New Features
KT-70360KLIBs: Uniformly handletypeOf()calls at 1st/2nd stages of compilationFixes
KT-79002[Inliner][Native][PL] Native backend fails for inline function that instantiates a class that was compiled implementing two interfaces, which turned into abstract classesKT-78137Review & enable PL tests with enabled IR inlinerKT-72464[Native][JS][Wasm] Non-local return through suspend conversion breaks the IR inlinerKT-69941RewriteDumpSyntheticAccessorslowering to test handler after moving common Native/JS prefix to KLIB compilationKT-78245Synthetic Accessors incorrectly copies default valuesKT-76236IncludeNativeInliningFacadeandJsIrInliningFacadein all Native & JS test runnersKT-76512Avoid usingoriginalFunctioninsideFunctionInliningKT-69457[references] IR Inliner: References to inline functions are not inlinedKT-47521Native & JS: Recursive inline fun calls -> StackOverflowErrorKT-76425Do not store signatures of preprocessed inline functions in KLIBsKT-76763[Inliner] Don't use attributeOwnerId to pass info from Inliner to non-JVM backendsKT-77102[Inliner] Expression uses unlinked type parameter symbolKT-76145Enhance error message about poisoned KLIBs in KLIB-based compilersKT-77079IR: Report warnings on exposure of references to invisible declarations in inline functionsKT-69797[references] Accessors for private function/constructor/property references are not generatedKT-76454Investigate erasure of class type parameters during inlinerKT-72593[K/N] Add NativeIrInliningFacade to CrossCompilationIdentityTestKT-70969IR Inliner: Ensure that common prefix at 1st phase does not affect KLIB signaturesKT-75937[IR Inliner] Umbrella for failing tests due to public inlinerKT-77295Improve Diagnostic Message Formatting for Private API Exposure in Inline FunctionsKT-77047Ir Ininler: crash on fake override in private class from more visible classKT-77336[references] Synthetic accessor test for private top-level function accessed via reference fails withNo function found for symbolKT-76761[Inliner] non-JVM IR Inliner incorrectly uses K/JVM-specific codeKT-76712[Inliner] No function found for symbol '/|?'KT-76711[Inliner] Reference to function 'privateMethod' can not be evaluatedIR. Tree
KT-77508K/JS and K/Native CompilationException Wrong number of parameters in wrapperKT-78978PL tests: Dropadjust*forLazyIr()hackKT-76813IR validator: not all symbols/references are visitedKT-77596RefinereuseExistingSignaturesForSymbolssetting in IR serializerKT-76723IR validator: Check visibilities of annotationsKT-76405Visit annotations in IrTypeVisitor and IrTreeSymbolsVisitorKT-78033[PL] MergeIrUnimplementedOverridesStrategytoPartiallyLinkedIrTreePatcherJVM. Reflection
KT-77882kotlin-reflect: KParameter.name returns "" instead of null for anonymous context parametersKT-77879kotlin-reflect: toString overrides of KCallable implementations do not render context parametersKT-74529Context parameters support in reflectionKT-52170Reflection: typeOf<Array> gives classifier LongArrayKT-77663Reflection: java.util.ServiceConfigurationError: "module kotlin.reflect does not declareuses" when using kotlin-reflect in modular modeJavaScript
New Features
KT-79222K/JS: Allow using Long in exported declarationsKT-79394Add the possibility to write common external declarations between JS and WasmJS targetsKT-70486K/JS: exported exception types should extend ErrorKT-19016Define accessors as enumerablePerformance Improvements
KT-57128KJS: Use BigInt to represent Long values in ES6 modeKT-54689KJS: Data class equals less efficient than manually written versionFixes
KT-69297Deprecate referencing inlineable lambdas injs()callsKT-77620Fix failing IC tests on WindowsKT-77372KJS: NullPointerException at JsIntrinsics$JsReflectionSymbolsKT-78316KJS: List is not exported to TypeScript declaration if wrapped in PromiseKT-79644BigInt enabled for ES 2015 despite being an ES 2020 featureKT-79089KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode testsKT-79916K/JS: "Uncaught TypeError" when using 'Xes-long-as-bigint' in compose-htmlKT-79050KJS / IC: "Unexpected body of primary constructor for processing irClass"KT-79977KJS: Long.rotateLeft returns incorrect result when BigInts are enabledKT-76093Support new callable reference nodes in partial linkage in Kotlin/JSKT-78073K/JS: KProperty from local delegate changes after another delegate is invokedKT-52230KSJ IR: Applying identity equality operator to Longs always returns falseKT-6675KotlinJS: toInt() on external Long throws errorKT-79184K/JS: Further intrinsify BigInt-backed Long operationsKT-78701Js and Wasm: enumValueOf does not include invalid value into an exception messageKT-55256KJS: non-exported subclass with a no-parameter function overload doesn't compileKT-76034passProcessArgvToMainFunction contains the node path and script pathKT-66091KJS, WASM:AssertionError: Illegal value: <T>in test nonReified_equality.ktKT-78169KJS: [NON_EXPORTABLE_TYPE] with@JsExportclass if@JsStaticcompanion method returns an out typeKT-57192KJS: "Exported declaration uses non-exportable return type" caused by@JsExportPromise with Unit typeKT-61183KJS: "AssertionError: Assertion failed" from JsSuspendFunctionsLoweringKT-59326KJS / IR: invalid code generated when using constructor parameter nameddefaultKT-70295KLIB stdlib: Unify intrinsics for boxing captured variables in lambdas across non-JVM backendsKT-77021CompilationException: Encountered a local class not previously collected on inner classes inside anonymous objectsKT-77320KJS: Big.js times() is compiled to multiply (*) operatorKT-77430K/JS: Remove sharedBox* intrinsics from the standard libraryKT-73267KJS: IC: "FileNotFoundException": Build failures with Kotlin 2.1-RC and RC2KT-76912KJS:@JsStaticcan't be used for companion objects implementing external interfacesKT-77271KJS / Serialization: "Cannot set property message of Error which has only a getter"KT-77242Kotlin/JS & Kotlin/Wasm backends: Artificially apply reverse topo-order after IR linkageKT-77649KJS: es-arrow-functions requires explicit opt-in when target is ES2015KT-76235[JS] Extra invalid linetmp_0.tmp00__1 = Options;in testSuspendFunction()KT-76234[JS] Extra invalid lineParentin testNested()KT-76233[JS] Extra invalid import line in testJsQualifier()KT-77190Migrate JS diagnostic tests to the new CLI-based test facades (1st phase only)KT-77418KJS: cannot debug with whole-program granularityKT-77371[K/N][K/JS][K/Wasm] Unify visibility rules for generated default argument stubsKT-77148KJS: "Uncaught TypeError: (intermediate value).l(...).m is not a function" during production build runKT-77193Migrate JS irText tests to the new CLI-based test facades (1st phase only)KT-77192Migrate JS ABI reader tests to the new CLI-based test facades (1st phase only)KT-77187Migrate JS box tests to the new CLI-based test facades (1st phase only)KT-77027Migrate 1st phase facades to the phased CLI infrastructure in JS testsKT-69591KJS / d.ts: Wrong type of SerializerFactory for abstract classesKT-76027KJS: "ReferenceError: entries is not defined": Accessing entries of an enum arbitrarily fails with println()KT-76232Suspend contextual function with extension receiver results in wrong values at runtime in JSKT-42305KJS / IR: "Class constructor is marked as private"@JsExportproduces wrong TS code for sealed classesKT-52563KJS / IR: Invalid TypeScript generated for class extending base class with private constructorKlibs
New Features
KT-78699Compiler (JS, Wasm): warn about incompatible kotlin-test/compiler pairKT-78700Compiler (JS, Wasm): Consider making diagnostics for incompatible kotlin-stdlib/compiler and kotlin-test/compiler pairs errors instead of warningsKT-74815KLIB resolver can't consume metadata klibs between source sets when abi_versions divergeKT-68322Compiler (JS, Wasm): warn about incompatible Kotlin stdlib/compiler pairFixes
KT-78168K/N: "IndexOutOfBoundsException: Index 3 out of bounds for length 3" for iOS build with Kotlin 2.2.0-RC2KT-75766PL: Error on building fake override with multiple overridden members with unbound symbols in return typeKT-75757PL: Error on building fake overrides with unbound symbols in value parametersKT-76094Support new callable reference nodes in partial linkage in Kotlin/WasmKT-78771KLIBs: ImprovezipDirAs()function that is used to produce KLIB (ZIP) archivesKT-75980[Klib] Reduce serialized size of IrFileEntries for sparse usage of another source filesKT-78349[Tests] Enable Partial Linkage in all testsKT-76827KLIB cross-compilation tests: Don't use IR hashes and metadata hashes in test dataKT-76266Move trigger of :tools:binary-compatibility-validator:check to native/native.tests/klib-ir-inlinerKT-76725KLIB ABI export in older version: Restore legacy directoriesKT-76061Add option for suppress warning of missing no-existent transitive klib dependenciesKT-76471Partial linkage: add an attribute if a class is invalidKT-75192KLIB reader tends to extract files from the KLIB archive to a temporary directory even when this is not neededLanguage Design
KT-78866Warn implicit receiver shadowed by context parameterKT-54363Allow using reified types for catch parametersKT-32993Contract to specify that a function parameter is always true inside lambdaKT-79308Ability to actualize empty interfaces as AnyKT-8889Contracts: if a given function parameter is not null, the result is not nullKT-22786Returns are not allowed for expression-body functions and are allowed when an inline lambda is addedKT-77836Support using context parameter of a@RestrictsSuspensiontype as the "restricted coroutine scope"KT-77823Context-sensitive resolution doesn't work for subtypes of sealed typesKT-75977False positive unresolved_reference when resolving nested member after a type checkKT-73557Allow refining expect declarations for platform groupsLibraries
New Features
KT-76389Provideupdatefunctions for common atomicsKT-78581Add the KClass.isInterface property to Kotlin/JS stdlibKT-34132Contract for ClosedRange.contains(T?) operatorKT-73853Provide vararg constructors for Atomic ArraysFixes
KT-71628Review deprecations in stdlib for 2.1KT-76773stdlib: contextOf's type argument can be inferred via contextOf's context argumentKT-79489Generate Stdlib API reference for webMain source setKT-79080Annotate WasmImport and WasmExport as experimental APIKT-79121K/Wasm annotate JS-interop API as experimentalKT-78710kotlin.wasm and kotlin.wasm.unsafe packages are missing descriptionKT-78709Wasm: KClass.qualifiedName KDoc should reflect the behavior on the targetKT-78704CharSequence.subSequence and String.substring behavior with invalid indices differs between targetsKT-78705Float.sign and Double.sign behavior for negative zero is not documentedKT-74543Support for context parameters in kotlinx-metadataKT-78340String.startsWith KDoc declares invalid exception conditionKT-78242Move IrLinkageError to the common non-JVM part of the standard libraryKT-67819Document collection interfaces contractsNative
KT-79075Stuck on Kotlin_getSourceInfo_core_symbolicationKT-76178LLVM Update: symbol '__ZnwmSt19__type_descriptor_t' missingKT-78959Xcode 26: fix GC stress testsKT-78734Finish runtime crash dump generationKT-74662Consider providing a way to enable stack canaries for Kotlin/Native binariesKT-77378[macos] Loading libraries with non resolved paths runs XProtectServiceKT-61549Kotlin/Native: remove kotlin-native/Interop/JsRuntimeKT-76563LLVM Update: numerous "was built for newer 'macOS' version" warningsNative. Build Infrastructure
KT-77349Kotlin/Native: default cache for stdlib is unusedNative. C and ObjC Import
KT-79571Xcode 26 beta 4: CInteropKT39120TestGenerated.testForwardEnum failedKT-71400Fix disabled -fmodules testing for stdarg.hNative. ObjC Export
New Features
KT-77488[ObjCExport] Add explicit ObjCBlock parameter name in objc exportKT-76974Include conflicting element in objc export warningsKT-76338Native, ObjCExport: Replace name mangling of special method familiesFixes
KT-55648Native: produce smaller binariesKT-78447[ObjCExport] Add missing ERROR constructors, align with K1KT-78034ObjCExport: primitive type extension translated as static methodKT-77781ObjCExport: support@ObjCNamefor function parameters and receiver parametersKT-77592KMP plugin uses incorrect Swift name from ObjCName annotationKT-77625ObjCExport: ObjCName annotation adds kotlin name swift_nameKT-77484KotlinConf app: Invalid identifiers inObjCHeader.renderKT-77500IllegalStateExceptionduring generating ObjC header stubsNative. Runtime
KT-79152Native: unexpected thread state in kotlin::to_stringNative. Runtime. Memory
KT-78925Crash SIGABRT on Apple Watch after updating Kotlin to 2.2.0KT-76851Kotlin/Native: GC scheduler MutatorAssists requestAssists and completeEpoch issueKT-63143Kotlin/Native: execute Cleaners on the finalizer threadNative. Swift Export
KT-79105ConcurrentModificationException During Swift Export Caused by Usage of ArrayKT-79227Swift Export: Fix First Release IssuesKT-78947Implement FUS for Swift exportKT-79521'_CoroutineScope' is inaccessible due to 'internal' protection levelKT-79181Swift Export Fails When Using T: Comparable Generic Constraint in Kotlin ClassesKT-77650Swift export execution tests fail with caches enabledKT-77634K/N: swift export tests started failing after hyper-existentialsKT-77290Transitive Export on swift export can duplicate declarationsTools. Build Tools API
KT-78415Add a tool for performance reports analysingTools. CLI
New Features
KT-75812Basic DSL for compiler arguments representationFixes
KT-78318Unresolved reference when compiling kotlin/JS project on fresh masterKT-75968Set proper lifecycle for all existing compiler argumentsKT-77445UNRESOLVED_REFERENCE when importing classes from kotlin-stdlibKT-77030Implement setup of HMPP sessions for KLib-based compilersKT-78578Support for placeholder (*) and directory in-Xdump-perfKT-78129Compiler cannot parse -Xfragment-dependency with a comma in the pathKT-76828Warning doesn't exist error with -Xwarning-level when the source file has no codeKT-76957Incorrect error message when severity is set with -Xsuppress-warning and -Xwarning-level for the same diagnosticKT-76829UnsupportedOperationException when reenabling a taking place warning with -Xwarning-levelKT-76111kotlinc warns about org.fusesource.jansi.internal.JansiLoader call to System.loadKT-76447Remove -Xjps compiler argumentTools. Compiler Plugin API
KT-78279Make the DiagnosticReporter default way for reporting in IR pluginsKT-77157Cannot create a symbol pointer for local class generated by FirFunctionCallRefinementExtensionTools. Compiler Plugins
New Features
KT-78038Make jvm-abi-gen compiler plugin output classloader-friendlyKT-77339Update kotlin dataframe dependency to 1.0.0-dev-6925Fixes
KT-78969[DataFrame] Provide source elements for plugin-generated classesKT-75265PowerAssert: the result of invoke is displayed at the same level as value that can be confusingKT-78490"AssertionError: SyntheticAccessorLowering should not attempt to modify other files" when calling protected open composable with default argumentKT-77626K2: AssertionError: FUN LOCAL_FUNCTION_FOR_LAMBDA has no continuationKT-78671[DataFrame] Support type parameter types in DataSchema to fix evaluate expressionKT-78439DataFrame compiler plugin: Unresolved reference error in REPLKT-75876PowerAssert: don't display results for assertion operatorKT-75514[JS][Native] Add IrPreSerializationLoweringFacade to Atomicfu test runnersKT-77719Remove suppress INVISIBLE_REFERENCE from DataFrame pluginKT-77691Kotlin DataFrame plugin: IR and FIR anonymous functions have inconsistent receiversKT-77455kotlin-dataframe plugin throws NoClassDefFoundError in IDEKT-77437Kotlin DataFrame: Add configuration key to disable top level properties generatorKT-74366Delete kotlin-android-extensions compiler pluginKT-73364Migrate atomicfu sources to new IR parameter APITools. Compiler plugins. Serialization
KT-79695Serialization does not exclude field-less properties in 2.2.20-Beta2KT-73365Migrate kotlinx-serialization sources to new IR parameter APITools. Gradle
New Features
KT-76421Stabilize klib cross-compilation on different platformsKT-77107Introduce Kotlin ecosystem pluginFixes
KT-80172Error message changes depending on the order of applying 'org.jetbrains.kotlin.android' and 'AGP' 9.0+ with built-in Kotlin pluginKT-77546Implement basic support for HMPP compilation scheme support in KGPKT-79034Automatically disable cross compilation if it's not supported on the hostKT-79408A lot of errors files are created when compile KotlinKT-77785Add -fmodules option to CocoaPod dependency by defaultKT-75921Make Swift Export available by defaultKT-63383Add compiler performance metrics to Native build reportsKT-77023Support creating KotlinJvmAndroidCompilation in KotlinBaseApiPluginKT-74420Migrate kotlin-parcelize away from AGP's deprecated Variant APIKT-78233Add ExperimentalFeatureWarning unique idKT-67992Cleanup deprecated code required for KSP1KT-72341Remove 'kotlin-android-extensions' pluginKT-67291Enable Project Isolation AND/OR Configuration Cache mode for Gradle Integration testsKT-78325Kotlin ecosystem plugin rejects compatible Gradle patch version when DCL is enabledKT-76353Handle migration to stable -jvm-default in KGP: replace deprecated option and suppress warningsKT-76797KGP: StdlibDependencyManagementKt.configureStdlibVersionAlignment() triggering eager configuration realizationKT-77163Migrate Swift Export IT to injectionsKT-76282Add missing Android Gradle plugin versions in testsKT-77011Update build regression benchmarks for 2.2.0 releaseKT-76138Compile against Gradle API 8.14KT-76139Run integration tests against Gradle 8.14KT-77035A compiler diagnostic isn't reported when its severity is set to warning with GradleKT-76951'distribution-base' plugin is only applied in Gradle 8.13KT-73142Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilderKT-76740Use Problems API for warning introduced in KT-75808KT-65271Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3Tools. Gradle. Cocoapods
KT-76035Allow extra command line arguments in PodBuildTaskKT-78387Kotlin Cocoapods Gradle Plugin is not compatible with Gradle isolated projectsKT-79429K/N: Cocoapods: IllegalArgumentException: "cinterop doesn't support having headers in -fmodules mode" with 2.2.20-Beta1 if explicitly not specify false for 'useClangModules'Tools. Gradle. Compiler plugins
KT-66728Deprecatekapt.use.k2propertyTools. Gradle. JS
New Features
KT-75480Add shared source set for js and wasmJs targetKT-77073generateTypeScriptDefinitions() does not add generated .d.ts file to package.json automaticallyFixes
KT-77319KJS / Gradle: generateTypeScriptDefinitions() generates wrong file extension when outputting ES modulesKT-79921Web Tooling Gradle API does not respect webpack reconfigurationKT-76996Wasm: js tasks triggers wasm subtasksKT-79237Upgrade NPM dependencies versionsKT-79188Pre-generated accessors aren't available for webMain / webTest source setsKT-78504[2.2.0-RC3] NPM Tasks in 2.2 RCs produce broken/unusable build cache entriesKT-77443NPE: "NullPointerException: Cannot invoke org.gradle.api.tasks.TaskProvider.flatMap(org.gradle.api.Transformer)": ExecutableWasm.optimizeTask is accessed before initializationKT-76987JS, Wasm: Upgrade NPM dependenciesKT-77119KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer worksKT-74735KGP uses Gradle internalCompositeProjectComponentArtifactMetadataTools. Gradle. Multiplatform
New Features
KT-69790Report human-readable error when declared dependency doesn't support required target typesKT-76446Add kotlin-level dependency block to work the same way as commonMain/commonTest dependencies blocksFixes
KT-78297FileNotFoundException in generateMetadataFile task if non-packed=falseKT-62294kotlin-parcelize plugin does not support the new android kotlin multiplatform pluginKT-77404The kotlin-stdlib and annotations are missing from commonTest dependencies with 2.2.0-Beta1KT-79559AGP complains about configurations resolved at configuration time due to KMP partially resolved dependencies diagnosticKT-78993The value for property '*' property 'dependencies' is final and cannot be changed any furtherKT-77843KGP fails with Gradle 9 onProjectDependency.getDependencyProject()KT-79315Early task materialization with cross-project configuration breaks configuration due to KMP partial resolution checkerKT-77466KMP - testFixturesApi and similar configurations do not affect jvmTestFixtures source setKT-78433Gradle: add tracking of the new KMP compilation scheme to FUSKT-78431Gradle: in-process metadata compiler uses deprecated K2MetadataCompilerKT-77414KMP dependencies in detached source sets cause IDE resolution to write error logs: "kotlin-project-structure-metadata.json (No such file or directory)"KT-76200TestModuleProperties.productionModuleName for JVM module isn't present with 2.1.20-RCTools. Gradle. Native
KT-51301Remove ability to use Native non-embeddable compiler jar in Gradle pluginKT-74864Enable exporting KDocs by default to ObjCKT-77977"Unknown hardware platform: riscv64" on JVM project buildKT-78838Add default 3G max heap size for the commonizer JVM processKT-68256Reduce commonizer max heap size to default 3g and allow users to configure itKT-77067Kotlin Gradle plugin with the configuration cache passes all platform libraries to the compiler when compiling a binary for the first timeTools. Gradle. Swift Export
KT-79554Swift Export status diagnostic is produced even if swift export is not configuredKT-78385Swift Export is not compatible with Gradle isolated projectsKT-79524NoSuchMethodError: 'java.lang.String org.gradle.api.artifacts.ProjectDependency.getPath() for swift export with dependency export fro gradle < 8.11Tools. Incremental Compile
KT-60653IC does not handle changes in inline functions objects/lambdas correctlyKT-78807Changing ABI fingerprint on non-ABI changes when lambda passed to inlined functionKT-69075Incremental compilation: smartcast is impossible on field with@JvmNameTools. JPS
KT-77347Support file-less compatible IC approachKT-78444Clean up JPS code baseKT-75460Adding@PurelyImplementsannotation to a List does not cause incremental recompile of affected filesKT-50594Fix org.jetbrains.kotlin.arguments.CompilerArgumentsContentProspectorTestTools. Kapt
KT-79138K2: KAPT Java Stub Gen:Unresolved referencewith@kotlin.Metadata in Java in 2.2.0KT-79641Kapt: too much information is printed in verbose modeKT-79136K2 kapt: unresolved nested class references in annotation arguments are generated without outer class namesKT-79133K2 kapt: class literal with typealias is not expandedKT-77853K2 KAPT: backend internal error: exception during IR fake override builderKT-73322MigrateFirKaptAnalysisHandlerExtensioncompilation pipeline to the phased structureTools. Maven
KT-77587Maven: Introduce Kotlin daemon support and make it enabled by defaultKT-63688Remove JS-related stuff from kotlin-maven-pluginTools. Maven. Compiler plugins
KT-77511Add maven plugin for Kotlin DataFrame pluginTools. REPL
KT-78755[K2 Repl] Redeclaring variables does not workKT-75632Contunue deprecation of the REPL built intokotlincKT-77470[K2 Repl] Lazy Properties crash code generationKT-76507[K2 Repl] Delegated properties are not visible in the next snippetKT-76508[K2 Repl] Annotations on property accessors are not resolvedKT-75672[K2 Repl] Serialization plugin crashes compiler backendTools. Scripts
KT-78378"Explain" feature of the kotlin script fails on hidden variablesTools. Statistics (FUS)
KT-79455[FUS] Collect KSP plugin versionKT-77755[FUS Pipeline] Fus file formatKT-77995Do not collect FUS metrics on TeamCityTools. Wasm
KT-76842K/Wasm: serve project sources in *DevRun tasks by defaultKT-78921K/Wasm: don't generate empty yarn.lock fileKT-75714Wasm: Move tooling NPM dependencies outside user projectKT-70013.gradle/yarn and .gradle/node are part of Gradle configuration cacheKT-76838K/Wasm: No possible to set downloadBaseUrl to null for D8 and BinaryenKT-76948Wasm: Rename kotlinBinaryenSetup and kotlinD8Setupv2.2.10: Kotlin 2.2.10Changelog
Compiler
KT-79276Dexing fails with "Cannot read field X because is null" with 2.2.0KT-79442"Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfacesKT-78815Symbol not found: __ZNSt3__117bad_function_callD1Everror on iOS 15.5 simulator in Xcode 16.3 after update to 2.2.0-Beta2KT-78501K2: Missing [ABSTRACT_SUPER_CALL] diagnostics for delegated interface method leads to AssertionError: isCompiledToJvmDefault during IR loweringKT-78479IR lowering failed / Unexpected null argument for composable callKT-76477Kotlin/Native: fix compiler performance reporting in sources->klib and klibs->binaryKT-78736Missing [NOT_YET_SUPPORTED_IN_INLINE] diagnostics because of incorrect context updateKT-77685"IllegalArgumentException: Sequence contains more than one matching element"KT-76365K2: Missing ABSTRACT_SUPER_CALLKT-78352False-positive IDENTITY_SENSITIVE_OPERATIONS_WITH_VALUE_TYPE when comparing with equality operator (==)Compose compiler
KT-78479Ensure that default transform affects functions entered through a callKT-78490Fix visibility for default wrappers of protected methodsb/408492167Emit parameter names in Compose source informationJavaScript
KT-79050KJS / IC: "Unexpected body of primary constructor for processing irClass"KT-79089KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode testsNative
KT-79075Stuck on Kotlin_getSourceInfo_core_symbolicationKT-76178LLVM Update: symbol '__ZnwmSt19__type_descriptor_t' missingNative. Runtime. Memory
KT-78925Crash SIGABRT on Apple Watch after updating Kotlin to 2.2.0Tools. CLI
KT-77445UNRESOLVED_REFERENCE when importing classes from kotlin-stdlibKT-78263java.lang.NoClassDefFoundError: Could not initialize class com.intellij.psi.impl.PsiSubstitutorImplKT-78318Unresolved reference when compiling kotlin/JS project on fresh masterTools. Compiler Plugins
KT-78490"AssertionError: SyntheticAccessorLowering should not attempt to modify other files" when calling protected open composable with default argumentKT-78038Make jvm-abi-gen compiler plugin output classloader-friendlyTools. Gradle
KT-77023Support creating KotlinJvmAndroidCompilation in KotlinBaseApiPluginTools. Gradle. JS
KT-78504[2.2.0-RC3] NPM Tasks in 2.2 RCs produce broken/unusable build cache entriesTools. Gradle. Multiplatform
KT-77466KMP - testFixturesApi and similar configurations do not affect jvmTestFixtures source setKT-68646Compose extension's metrics/reports dir should use subdirs based on targetTools. Gradle. Native
KT-77977"Unknown hardware platform: riscv64" on JVM project buildTools. Incremental Compile
KT-78807Changing ABI fingerprint on non-ABI changes when lambda passed to inlined functionTools. Kapt
KT-77853K2 KAPT: backend internal error: exception during IR fake override builderKT-79138K2: KAPT Java Stub Gen:Unresolved referencewith@kotlin.Metadata in Java in 2.2.0v2.2.0: Kotlin 2.2.0Changelog
Analysis API
KT-73337Migrate analysis sources to new IR parameter APIKT-75880K2 Mode: Typealias reference resolves to the underlying class in KMP projectKT-74246KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-siteKT-57733Analysis API: Use optimizedModuleWithDependenciesScopes in combined symbol providersKT-69535Redesign 'containingSymbol'KT-69950Analysis API: IntroduceisSubtypeOf(ClassId)KT-68393Analysis API: RenameKaClassLikeSymbol. classIdIfNonLocaltoclassIdKT-62924Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableIdAnalysis API. Code Compilation
KT-75502K2: IDEA hangs when evaluating inside kotlin-stdlib modules in the Kotlin projectKT-73077Evaluation of inline functions is broken inside Kotlin project and Amper module in Idea sourcesKT-73936K2: CyclicInlineDependencyException: Inline functions have a cyclic dependency in evaluatorKT-74582InterpreterMethodNotFoundError when trying to evaluate simple expressions after recent fixesKT-74524Compilation exception with incorrect JvmName annotation argumentsKT-74443Compilation peer collector ignores inline property accessorsAnalysis API. FIR
New Features
KT-73493Support context parametersPerformance Improvements
KT-75790Experiment with increasing DEFAULT_LOCKING_INTERVAL timeKT-72159LLFirCompilerRequiredAnnotationsTargetResolver: consider rewriting it to use honest jumping locksFixes
KT-76331Cleanup FileStructureElement for classesKT-73117K2 AA: Exception "Setter is not found" when val has a setter without bodyKT-76540K2: Missing library dependency on Android SDK from androidx.activity-1.8.2 causes LiveEdit failuresKT-73266K2. "Declaration should have non-local container" with unclosed annotation on top-level functionKT-76432JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImplKT-76217K2 AA: "No fir element was found for KtParameter" with multiple context parameter listsKT-74740Highlighting is broken after the built-in serialization refactoringKT-76366ContextCollector: annotations on class members don't have the class as implicit receiverKT-76352ContextCollector: wrong class annotation context in BODY modeKT-76341ContextCollector: support dangling modifiersKT-76332"Declaration should have non-local container" for declaration inside file annotationKT-76115DisableFirElementBuilder#getFirForElementInsideAnnotationsoptimization for files, classes and scriptsKT-76347ContextCollector: avoid resolution for enum entry annotationsKT-76272Cleanup AbstractFileStructureTestKT-75542K2 AA: "FirDeclaration was not found for class KtNamedFunction, fir is class FirErrorExpressionImpl" for unclosed annotation on member functionKT-73719K2. "FirDeclaration was not found for class KtDestructuringDeclaration, fir is class FirBlockImpl" on incorrect chain callKT-72908K2 Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteral" with non-local destructuring declaration without initializer beforeinitblockKT-75532ContextCollector: scope for an anonymous function type parameter contains regular parametersKT-74508FirElementBuilder#findElementInsideshould reuse logic fromKtToFirMapping#getFirKT-73066[LL] Enable low-level-api-fir-native even with the disabled native partKT-75132Investigate failures of sandbox diagnostic testKT-75130Set up LL FIR tests for sandbox test dataKT-73386Standardize LL FIR test for compiler test dataKT-75125ISE “Value classes cannot have 0 fields” on instantiating inline class without fieldsKT-75179ContextCollector: support error propertiesKT-74632K2: ISE FirLazyDelegatedConstructorCall should be calculated before accessingKT-74818K2 AA: "FirDeclaration was not found for class KtTypeParameter, fir is null" with TYPE_PARAMETERS_NOT_ALLOWED on anonymous functionKT-73183Support context parameters in ContextCollectorVisitorKT-60350K2 IDE: top level destructuring RHS should be resolvableKT-74794K2: FirLazyExpression should be calculated before accessing with context parameter and implicit return typeKT-72938Get rid of KaFirAnnotationListForReceiverParameterKT-73727Exception in implicit type resolutionAnalysis API. Infrastructure
KT-74917[Analysis API, Test Framework] Introduce a way to acquirePsiFilefor a givenTestFileinKtTestModuleAnalysis API. Light Classes
KT-73405Get rid of KtElement#{symbolPointer, symbolPointerOfType} API usagesKT-75391Reduce the amount of psi-based logic in light classesKT-70001SLC adds@Overridewith zero text offset onoverridememberKT-75755K2. False positive red code on vararg parameters in Kotlin class with@JvmOverloadswhen called from JavaKT-75397Constructors and functions with non-last vararg parameters are treated as varargsKT-74868Support context parametersKT-74733SymbolPsiLiteral.text == value for Java constantKT-74620Delegated functions with value classes are present in light classesKT-74595Static functions with value classes are present in light classesKT-74284Synthetic data class methods using value class types present in LCAnalysis API. Providers and Caches
Performance Improvements
KT-62115Analysis API: Package providers are not cached per search scopeKT-74463Analysis API:LLNativeForwardDeclarationsSymbolProviderqueries its cache even when theClassIdcannot represent a native forward declarationFixes
KT-74541Analysis API: Include files generated by resolve extensions inKaModulecontent scopesKT-64236Analysis API: Introduce a separate module for fallback dependencies of library source modulesKT-74090Analysis API: Support dumb mode (restricted analysis)KT-63780Analysis API: Invalidate resolvable library sessions when binary library modules are modifiedKT-72388KaFirStopWorldCacheCleaner: Control-flow exceptionsKT-74943Analysis API: ReplaceKotlinGlobalModificationServicewith simpler global modification event publishing and listener-based modification trackersKT-70518K2: Analysis API: Access indices outside ofConcurrentMapcomputation in symbol providersKT-74302Analysis API:LLFirProvidershould disregard self-declarations ingetFirClassifierBy*KT-67868Analysis API: Improve the architecture ofLLFirKotlinSymbolProvidersAnalysis API. Standalone
KT-72810withMultiplatformLightClassSupport is inconvenient in StandaloneAnalysis API. Stubs and Decompilation
KT-71787PsiRawFirBuilder.Visitor#visitStringTemplateExpressionforces AST loadingKT-68484K2 IDE, Analysis API: "We should be able to find a symbol for function" for getting KaType ofIterable<T>.map(transform: (T) -> R)parameter in J2KAnalysis API. Surface
New Features
KT-74475AddisInlineforKaPropertySymbolKT-75063KaScopeContext: support context parametersPerformance Improvements
KT-73669Support psi-based symbol pointer for implicit primary constructorsKT-76008Provide PSI-based implementation forKaFirNamedClassSymbol#companionObjectKT-70165Introduce PSI-basedKaSymbols for K2Fixes
KT-72730K2: "Unexpected owner function: KtNamedFunction" on vararg val parameter in functionKT-75123K2. KaFirNamedFunctionSymbol should contain a receiverKT-75894Cannot build KaFirJavaFieldSymbol for FirFieldImplKT-75115Analysis API: TheJavaModuleResolvercompiler class is leaked to Analysis API platform implementationsKT-76018K2: Stop the wold leads to deadlock/freezeKT-76011KaFirNamedClassSymbol#companionObjectdoesn't provide generated objects generated by compiled pluginsKT-72482"KotlinIllegalArgumentExceptionWithAttachments: Expected all candidates to have same callableId but some of them but was different" on trying to add the importKT-75586KaFirPropertyGetterSymbol#isInlineandKaFirPropertySetterSymbol#isInlineis incorrect for accessors with explicit modifierKT-58572Analysis API: Enforcing STATUS resolve in 'KtFirNamedClassOrObjectSymbol.visibility' may cause lazy resolve contract violationKT-75574Recognize injected code fragment copiesKT-75573Recognize physical file copies as dangling filesKT-74801Analysis API: Publish/subscribe to modification events with a single message bus topicKT-73290Analysis API: Improve the architecture of content scopes and resolution scopesKT-68901Constructor delegation call receiver missing in fir implementationKT-72639Support context parameter APIKT-73112AA: FirExpression.toKtReceiverValue should handle context receivers properlyKT-74905Cannot find context receiver in FIR declarationKT-74563createPointeris overloaded not for all implementationsKT-73722Analysis API: Automatically check that the API surface is fully documentedKT-65065ProvideKtTypeReference#getShortTypeText()Backend. Native. Debug
KT-75991Xcode 16.3: Fix lldb stepping test over an inline functionBackend. Wasm
New Features
KT-59032Support instantiation of annotation classes on WASMFixes
KT-77622K/Wasm: investigate CMP crash on mobile SafariKT-76747[Wasm] Wasm name section absent for wasm structsKT-76701K/Wasm: custom formatters are not loaded when a project is built with incremental compilationKT-66081K/WASM:0/0,5/0and5%0throw not ArithmeticException, but RuntimeErrorKT-76287[Wasm] Enable stdlib and kotlin.test tests after compiler bootstrapKT-75871[Wasm] Implement new RTTI approachKT-75872Wasm / IC: IllegalStateException: IC internal error: can not find libraryKT-74441K/Wasm: incorrect 1e-45.toString()KT-59118WASM: floating point toString inconsistenciesKT-68948Wasm: float from variable is printed with many decimal pointsKT-69107[wasm] Seemingly incorrect roundingKT-73362Migrate K/Wasm sources to new IR parameter APICompiler
New Features
KT-70722Implement better Kotlin warnings for value classes and JEP 390 (Warnings for Value-Based Classes)KT-71768Enable -Xjvm-default=all-compatibility by default to generate JVM default interface methodsKT-54205Support jakarta Nullability annotationsKT-57919Store all annotations in Kotlin metadata on JVM under a flagKT-73255Change defaulting rule for annotationsKT-74382Annotating Java record components for@JvmRecorddata classKT-74811Prohibit usages of@MustUseValue/@IgnorableValueif RV checker is not enabledKT-74806Implement feature flag for improved unused return value checkerKT-74809Support unnamed local variablesKT-73508Add a warning diagnostic for using kotlin.concurrent.AtomicRefKT-72941ANNOTATIONS_ON_BLOCK_LEVEL_EXPRESSION_ON_THE_SAME_LINE missing in K2KT-74497Warn about incompatible Kotlin and Java targets in annotationsKT-75061Support context-sensitive resolution in type positionKT-75315Support context-sensitive resolution in the call-argument positionKT-75316Support context-sensitive resolution for expression-position with expected typeKT-76088Support context-sensitive resolution for annotation argumentsKT-74049Introduce special override rule to allow overriding T! with T & AnyPerformance Improvements
KT-76395Performance degradation on 28.03.2025KT-76422FirJavaFacade#createFirJavaClass: do not compute super type references right awayKT-75957K2: PsiRawFirBuilder.Visitor#toFirExpression forces AST loading via getSpreadElementKT-74824Exponential performance caused by nested flexible typesKT-62855K2: extra allocation for SAM conversion compared to K1KT-74977K/N: support stack array for Array(size) callKT-74369Exponential compiler memory usage in specific situations with type inferenceFixes
KT-76606Enable 'Indy: Allow lambdas with annotations' by defaultKT-77301False positive Context Parameter resolution when using DslMarkerKT-74389K2: False positive NON_EXPORTABLE_TYPE on non-UnitPromise<...>in K/JSKT-77219"@Composableannotation is not applicable" on vararg@Composable() -> Unit in Kotlin 2.2.0KT-76357K2: a nested class annotation observes member declarations of the outer classKT-72734Support new callable reference nodes in Kotlin NativeKT-74421K2: Missing "val cannot be reassigned" when trying to assign a value to parent's "val"KT-63720Coroutine debugger: do not optimise out local variablesKT-74470NSME on calling in runtime internal constructor of value class with default arg from testsKT-77640Context parameters: using 'contextOf()' function leads to [NO_CONTEXT_ARGUMENT]KT-73909Add an inspection discouraging usage of kotlin.concurrent Native atomics in favor of the new atomicsKT-76583CCE: suspend lambda attempts to unbox value class parameter twice after lambda suspendedKT-76663KJS: KotlinNothingValueException caused by expression return since 2.1.20KT-75457Native: cache machinery uses stdlib cache with default runtime options even if custom runtime options are supplied when partial linkage is disabledKT-76615K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" for mixed Java/Kotlin codeKT-77220Annotation with EXPRESSION is not allowed on lambdas in Kotlin 2.2.0KT-76381K2: Expected expression 'FirPropertyAccessExpressionImpl' to be resolvedKT-74739Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION_REFERENCE"KT-74325Explicit API mode does not enforce explicit return types for extension propertiesKT-77259Confusing message forANNOTATION_WILL_BE_APPLIED_ALSO_TO_PROPERTY_OR_FIELDKT-73771K2: Infinite compilation caused by buildList without typeKT-61258Kotlin/Native: CLASS CLASS name: modality:FINAL visibility:local superTypes:[.Base]KT-75317Kotlin/Native: segfault in kotlin::gc::Markkotlin::gc::mark::ConcurrentMark::MarkTraitsKT-75965The iOS app did not run successfully in Release modeKT-77397Report UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL when calling declaration with contextual function type in signatureKT-77137K2: Controversial behavior allows resolving annotation arguments on a companion inside itKT-77150Native: compilation fails with an assertion errorKT-51960ClassCastException: Inline function with both context and extension receiver produces this when invokedKT-73611Remove -Xextended-compiler-checks in favor of a deprecation cycleKT-74649Deprecate language versions 1.8 and 1.9KT-77283Binary compatibility of FirDeclarationCheckerKT-73445K2: do not report "cannot infer visibility" when inheriting multiple implementationsKT-75945Indy: Allow lambdas with annotationsKT-76898K2: ClassCastException when data class shadows supertype'scomponentXmethod with wrong typeKT-75992Xcode 16.3: stacktraces on simulators are not symbolicatedKT-76805Wrong NPE occurs when assigning synthetic properties with platform types in Kotlin 2.1.20KT-76171"KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirSingleExpressionBlock' to be resolved"KT-77078K2: anonymous object is wrongly allowed to implement interfaces by unsafe DelegationKT-72722Treat 'copy' calls of a data class as explicit constructor usagesKT-77001Leave ForbidParenthesizedLhsInAssignments as a warningKT-75828Store backing field/delegate annotations and extension receiver annotations in metadataKT-58369K2: enable DFA warningsKT-51258Annotations should go before context receiversKT-76253K2 Compiler: Less precise diagnostic COMPONENT_FUNCTION_AMBIGUITY for flexible typeKT-59526Store annotation default values in metadata on JVMKT-63850K2: setter with an annotated parameter hasisNotDefault == falseflag in metadataKT-75712-Wextra: false positive UNUSED_LAMBDA_EXPRESSION on functional type variable assignment with inferred typeKT-4779Generate default methods for implementations in interfacesKT-69624Debugger: Missing local variable in Variables view (inline function)KT-75518NO_CONTEXT_ARGUMENT should report the name of the context parameter in addition to the typeKT-76199Introduce -Xcontext-sensitive-resolution compiler flagKT-75553MISSING_DEPENDENCY_SUPERCLASSandMISSING_DEPENDENCY_SUPERCLASS_WARNINGis reported at the same time on the same elementKT-76159Obsolete error "'@JvmDefaultWithCompatibility' annotation is only allowed on interfaces" should be removedKT-76660False negative RETURN_NOT_ALLOWED in lambda in default argument leads to NoClassDefFoundError:NON\_LOCAL\_RETURNKT-76301Fail to infer types after syntactical changeKT-74999K2: KotlinNothingValueException within Extension FunctionKT-76675KIAEWA exception at KaFirDataFlowProvider with non-local return from nested inline callKT-75756Backend Internal error: Exception during IR lowering when trying to access variable from providedProperties in class within kotlin custom scriptKT-76345Enhance variable fixationKT-76578[FIR, K1/K2 Regression]lateinitis allowed on loop parametersKT-76448FirOverrideChecker: class ClsMethodImpl is not a subtype of class KtNamedDeclaration for factory VIRTUAL_MEMBER_HIDDENKT-73360Migrate K/JVM sources to new IR parameter APIKT-74852Kotlin/Native: allow caches for thread state checker and sanitizersKT-76130IR evaluator does not support array literals in annotation parameter default valuesKT-76436Missing K2 checker: non-local return through lambda passed to inline f/oKT-74326False negative: no variable must be initialized error though code doesn't compileKT-76572FIR_NON_SUPPRESSIBLE_ERROR_NAMES does not contain deprecation errorsKT-75704RefactorFirWhenSubjectExpressionKT-76284Flexible captured type is not approximated in receiver positionKT-76192RETURN_TYPE_MISMATCH with same expected and actual type: nullability of actual type is omittedKT-75944Allow using invokedynamic for lambdas with no 'Runtime' level retention annotationsKT-76396FirIntegerConstantOperatorScope: NoSuchElementException: Collection contains no element matching the predicateKT-76209CONFLICTING_UPPER_BOUNDS onNothingboundKT-59506Context receivers: Unable to use trailing comma in receiver listKT-46119NONE_APPLICABLE instead of NAMED_ARGUMENTS_NOT_ALLOWED with overloaded Java constructor callKT-75503Run lazy resolution in CallableCopyTypeCalculator and use withForcedTypeCalculator everywhere in checkersKT-76485Don't report EXTENSION_SHADOWED_BY_MEMBER if extension can be called with named argumentsKT-76154False positive "EXTENSION_SHADOWED_BY_MEMBER" when extension adds default values to parametersKT-76527False positive UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL with -Xcontext-receivers and implicit invokeKT-63246K2: False positive NOTHING_TO_OVERRIDE in generic property with context receiver in non generic class extending generic classKT-58534K2: "Argument type mismatch" with typealias to context receiver functional typeKT-71792Switch latest stable version in Kotlin project to 2.2KT-74827CompilationErrorException : Could not load module in an attempt to find deserializer when trying to evaluate an expressionKT-70352K2: False-negative CONFLICTING_UPPER_BOUNDS onNothingboundKT-71481K2: drop pre-1.6 language features from compiler codeKT-74454Support trailing comma in context parametersKT-74069False positive UNUSED_EXPRESSION due to Long/Int conversionKT-74337Local Delegated properties don't preserve their annotations and don't show up in reflectionKT-55187Context receivers in function types can have labelsKT-58498Context receivers: ClassCastException with object and extension function in interfaceKT-58165K2: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER" on overridden contextual propertyKT-75234Add error for callsInPlace contracts on context parametersKT-73805K2: Investigate missing diagnostic in implicit invoke call on context function type with receiver from module with disabled context parametersKT-41934NI: a type variable for lambda parameter has been inferred to nullable type instead of not null oneKT-75983Backend Internal error: Exception during IR lowering 'IllegalStateException: Internal error: cannot convert Any to Int'KT-75535Compilation of typealias does not check for clashesKT-72313K2 IDE / KMP Debugger: Evaluation of inline functions declared in a common source set causes a crashKT-76290False positive UNUSED_EXPRESSION while returning Unit in the when branchesKT-32358NI: Smart cast doesn't work with inline function after elvis operatorKT-76316K2: Missing NON_PUBLIC_CALL_FROM_PUBLIC_INLINE on object extending private class in public inline functionKT-76324Frontend diagnostic says "... this will be an error in Kotlin N.M" but N.M is already releasedKT-76058PCLA: compile-time failure on calling a higher-order function from another module inside a lambda assigned to a variable of a type with a postponed type variableKT-75571K2: type mismatch error provides unsubstituted typesKT-31391'Recursive call is not a tail call' with elvis operator in tailrec functionKT-73420False-positiveNON_TAIL_RECURSIVE_CALLon tailrec function with elvis in the return statementKT-75815Disable warnings about different context parameter names in overridesKT-75169Unnecessary EXTENSION_SHADOWED_BY_MEMBER on generic declarationsKT-75483Native: redundant unboxing generated with smart castKT-76339K2: Dangling modifier list is missed for enum entries in PSI modeKT-75513Avoid overrides traversal without preinitializationKT-74587Report an error when JvmDefaultWithoutCompatibility is used with -Xjvm-default=allKT-76257Annotations with class references are not supported when marking IR declarations as visible to metadataKT-71793Drop language versions 1.6 and 1.7KT-59272Incorrect bytecode generated: wrong line number table after conditionKT-69248K2: IAE “class KtDotQualifiedExpression is not a subtype of class KtCallExpression for factory ENUM_CLASS_CONSTRUCTOR_CALL” with qualified enum constructor callKT-73778Kotlin Debugger: NSFE on accessing private property from dependencies during evaluationKT-74131Incorrect line numbers for static initializer with delegated local variableKT-76320K2: PsiRawFirBuilder: import alias triggers ast loadingKT-63851K2: NosetterValueParameterin metadata for property setter with an annotated parameterKT-55083JVM: AbstractMethodError caused by lambda with sealed base interface and fun sub interface and overridden methodKT-16727Names for anonymous classes in interfaces are malformed on JDK 8KT-12466NoClassDefFoundError: B$DefaultImpls on super interface call through K-J-K inheritanceKT-71002Possible inheritance from nullable type through typealiasKT-75293K2: Missing [HAS_NEXT_FUNCTION_TYPE_MISMATCH] diagnosticsKT-75498Forbid .declarations access from checkersKT-72335KotlinIllegalArgumentExceptionWithAttachments when using illegal selectorKT-68375K2: FirPrimaryConstructorSuperTypeChecker fails on generated superclassesKT-71718K2: drop TypePreservingVisibilityWrtHackKT-75112FE resolves wrong receivers order for property passed to delegateKT-75924K2. Incorrect generic type Inference "R? & Any" appears for "Add explicit type arguments"KT-75969java.lang.IllegalArgumentException: source must not be null on red codeKT-75322ConeDiagnosticToFirDiagnosticKt: source must not be nullKT-73800Wrong method executed on super call in -Xjvm-default=all/all-compatibility with an extraneous super-interfaceKT-38029Wrong method executed on super call in diamond hierarchy with covariant overrideKT-75242Any use-site target can be applied to a lambda and an expressionKT-73051incorrect direction of subtyping violation in type mismatch error's message for A<X> </: A<Y> given a Tv <: Rv == C constraint from a lambda return positionKT-75090Argument type mismatch: actual type is 'SuspendFunction0', but 'SuspendFunction0' was expected when anonymous function is passed to function expecting suspend function typeKT-74956K2: No USAGE_IS_NOT_INLINABLE with compiling an inlined function callKT-76049K2: drop explicitTypeArgumentIfMadeFlexibleSynthetically creation when DontMakeExplicitJavaTypeArgumentsFlexible is enabledKT-76055K2: drop prepareCustomReturnTypeSubstitutorForFunctionCall logic when DontMakeExplicitJavaTypeArgumentsFlexible is enabledKT-76057K2: don't do reverse Java overridability checks when DontMakeExplicitJavaTypeArgumentsFlexible is enabledKT-75197K2: Missing [COMPARE_TO_TYPE_MISMATCH] diagnosticsKT-75639Inlinecontextfunction leads toClassCastExceptionKT-75677K2: change runtime behavior of KT-75649 case in 2.2KT-75961K2:PsiRawFirBuilder.Visitor#visitSimpleNameExpressionforces AST loading viagetReferencedNameElement().node.textKT-67869Make inference for lambda working consistently inside and outside of the callKT-74885K2: IAE "source must not be null" in FirCyclicTypeBoundsCheckerKT-75578K2: False negative [SUPER_CALL_WITH_DEFAULT_PARAMETERS] when calling the upper-class implementation of a method with the default value argumentKT-73954Generate implementations in classes for inherited non-abstract methods in -Xjvm-default=all-compatibilityKT-75173Context parameters: KotlinIllegalArgumentExceptionWithAttachments if you override function with value/extension parameter by fun with contextKT-75742Native: "IllegalArgumentException: unknown pass name '' " when specifying an empty list of LLVM passesKT-74819K2: False-positive overload resolution ambiguity for flatMap inside PCLAKT-75093K2 IDE: "Unreachable code" highlighting range is confusingKT-74572Context parameters: contracts don't work with context parametersKT-74765Move K1 lazy IR implementation from 'ir.tree' to 'psi2ir'KT-71425IR Inliner: investigate return type of an inlined blockKT-74764Native: merge init nodes generated within the same LLVM module for the same klibKT-75561K/N: place InteropLowering after UpgradeCallableReferences phaseKT-73369K/N: move interop lowering up the pipelineKT-75517K2: Refactor FirCallableSymbol.resolvedContextParameters to return symbolsKT-75821K2: REPL resolution doesn't take into account the property type when processing its initializerKT-75705IllegalArgumentException when isInitialized is used with java fieldKT-75334Java target shouldn't be specified if Kotlin target isn't specifiedKT-75157Missing PARAMETER_NAME_CHANGED_ON_OVERRIDE and DIFFERENT_NAMES_FOR_THE_SAME_PARAMETER_IN_SUPERTYPES for context parametersKT-75160Check usages of value parameters in checkers and adapt to context parametersKT-75729KtPsiFactory: no type-safe way to create triple-quoted KtStringTemplateExpressionKT-75040UnifysubjectandsubjectVariableinFirWhenExpressionKT-75323FirSyntheticProperty: Unexpected status. Expected is FirResolvedDeclarationStatus, but was FirDeclarationStatusImplKT-75602Introduce concept of shared library session in Fir sessionsKT-75509PARAMETER_NAME_CHANGED_ON_OVERRIDE is reported randomlyKT-75124IAE “class org.jetbrains.kotlin.psi.KtContextReceiver is not a subtype of class org.jetbrains.kotlin.psi.KtParameter for factory EXPOSED_PARAMETER_TYPE” on private context receiverKT-73585K2: ABSTRACT_SUPER_CALL is not reportedKT-75531K2 REPL: local name doesn't shadow one from implicit receiverKT-73359Migrate frontend sources to new IR parameter APIKT-75380K2: Modality is configured incorrectly for some FirDefaultPropertyAccessorKT-75526Regression in K2 scripting: local name doesn't shadow one from the implicit receiverKT-59379K2: Missing MIXING_NAMED_AND_POSITIONED_ARGUMENTSKT-75106K2: type parameters of anonymous functions are unresolvedKT-73387Unexpected implicit type during enhancementKT-72618Cannot define operator inc/dec in class contextKT-74546Serialize context parameters to metadataKT-68768K2: unsuccessful inference fork with jspecify annotationsKT-75345Add a test for KT-42271KT-75012K2: Compiler crash ondynamic == nullKT-75195IllegalStateException: No value for annotation parameter when@allmeta-target is used with annotation with constructorKT-75163WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET for@allmeta-target although there are applicable targetsKT-75198@allmeta-target should be forbidden for delegated propertiesKT-74958K2: UNEXPECTED_TRAILING_LAMBDA_ON_A_NEW_LINE isn't reported on accidental trailing closureKT-74982Improve UNSUPPORTED message handlingKT-75111False negative "This declaration needs opt-in" for usage of enum entry with OptIn marker in another moduleKT-74924Infinite recursion in substitution of captured type with recursive supertypeKT-75289NPE: getParent(...) must not be nullKT-75275Inline class member inherited from interface is not mangled in '-Xjvm-default=all-compatibility'KT-74340FIR: folding binary expression chains for psi parserKT-73831Do not choosefieldtarget in annotation classesKT-73494Enable first-only-warn annotation defaulting modeKT-75174K2: incorrect influence of return type nullability on required receiver type in KJK hierarchy with propertyKT-74920Overriding T! with T & Any is not allowed to the extension property receiver typeKT-75150False ambiguous context parameter reported because context is not chosen via generic parameterKT-74965CLI compiler doesn't report syntax errors for JS, Metadata backends if light-tree mode is disabledKT-74303K2 IDE / Kotlin Debugger: AE “Trying to inline an anonymous object which is not part of the public ABI” on evaluating private inline function with object insideKT-75177NoSuchMethodError on suspend default interface method fake override returning inline class in -Xjvm-default=all-compatibilityKT-74718K/N: Move TestProcessor phase to the top of the pipelineKT-75015Context parameters: it is possible to declare anonymous function with modifiers but they don't have any effectKT-75092K2: Missing errors for modifiers on anonymous function in statement positionKT-75009Context parameters: context is unresolved inside anonymous function if passed as an argumentKT-75017Context parameters: "IllegalStateException: Cannot find variable a: R|kotlin/String| in local storage " when context from another local function is calledKT-75154Context receiver deprecation warning should depend on langauge version, not on LATEST_STABLEKT-74979Context parameters: anonymous functions with a context aren't parsed in complex casesKT-74673K2: ClassCastException when passing suspending functional interface with genericKT-74469K2: False positive: "Argument type mismatch" during Java interopKT-75105K2: False negative NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER for type constraint of anonymous functionKT-74929False positive TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER if it is used with T&AnyKT-74227K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function typeKT-64558K2 compiler does not report UNNECESSARY_SAFE_CALL, UNNECESSARY_NOT_NULL_ASSERTION, USELESS_ELVIS, while K2 IDEA doesKT-74728K2: Java method overriding Kotlin method with receiver loses vararg modifierKT-70789CLI error "mixing legacy and modern plugin arguments is prohibited" on using -Xcompiler-plugin unless default scripting plugin is disabledKT-72829Forbid 'entries' name of enum entry, and deprioritize it in resolveKT-75037K2: IrGeneratedDeclarationsRegistrar.registerFunctionAsMetadataVisible doesn't handle extension receivers and context parametersKT-73149Annotations support for context parametersKT-74798Report error on local contextual propertiesKT-74092Context parameters: it is not possible to declare an anonymous function with a contextKT-52152K2: Investigate suspicious code at SAM conversionsKT-75016K2: BackendException when context var property is declared in interfaceKT-74474K2: Report more precise diagnostic when last expression of non-unit lambda is a statementKT-74478K2: False negative RETURN TYPE_MISMATCH if the last statement of a lambda is indexed assignmentKT-73685K2 IDE / Kotlin Debugger: NSME “Method not found” on evaluating function with constant value in@JvmNameKT-74449Report RETURN_TYPE_MISMATCH instead of ARGUMENT_TYPE_MISMATCH for return expressions in lambdasKT-74918FIR: account for K/Wasm diagnostics in generateNonSuppressibleErrorNamesFileKT-74897K2: Report UNSUPPORTED_FEATURE instead of TOPLEVEL_TYPEALIASES_ONLY for nested type aliasesKT-74963K2: Fir2Ir: Avoid a situation when startOffset > endOffset in generated IrBranchKT-74697Overriding a method that's both deprecated and non-deprecated should not cause warningsKT-74928K2: "IllegalStateException: Cannot find cached type parameter by FIR symbol" in KJK hierarchy with extension propertyKT-74630K2: local class arguments in annotations on types and type parameters are not serializedKT-74445Commonize Native Function/Property reference loweringsKT-74670Warning message CONTEXT_CLASS_OR_CONSTRUCTOR isn't reported for context receiver on the constructorKT-74617Trivial SMAP optimization leads to missing debug info after inlineKT-74812compile-time failure on a callable reference with an input type inferred to an inaccessible generic typeKT-66195K2: Java method is not enhanced from overridden's context receiversKT-74501Context parameters: ABSTRACT_MEMBER_NOT_IMPLEMENTED if fun with context is implemented in Java in KJK hierarchyKT-74385Missing diagnostic on repeated suspend modifier in function typeKT-74749Provide explanation IR before script compilationKT-74751K2: IllegalStateException: Can't apply receivers of FirPropertyAccessExpressionImpl to IrTypeOperatorCallImplKT-74729NPE when suspend lambda has inline class parameterKT-74336Not supported: class org.jetbrains.kotlin.fir.types.ConeIntersectionTypeKT-74203K2: False negative NO_ELSE_IN_WHEN of a generic type with star projection <*> bounded by a sealed hierarchyKT-48085Kotlin/Native: LLD removes live code with--gc-sectionswhen producing DLLKT-69164Native: use lld from bundled LLVM distribution when compiling on Windows for a MinGW targetKT-74081Context parameters: implicit call resolves to extension when there is a contextKT-74682Implement internal type exposure via parameter bounds deprecation postponementKT-74556K2: "IAE: class KtDestructuringDeclaration is not a subtype of class KtNamedDeclaration for factory REDECLARATION" with two non-local destructuring declarationsKT-73146Context parameters CLI & diagnosticsKT-72104Consider enabling check for unbound symbols in JVM before loweringsKT-74568Synthetic nested classes missing JVM attributesKT-73703[Native] Move KonanIrLinker toserialization.nativemoduleKT-61175K2: FirReceiverParameter does not extend FirDeclarationKT-73961'lateinit is unnecessary' on transient properties should not be reported for serializable classesKT-73858Compose / iOS: NullPointerException on buildingKT-62953JVM IR: UseSimpleNamedCompilerPhaseinstead ofNamedCompilerPhaseKT-72929Consider caching typealiased constructor symbols created by TypeAliasConstructorsSubstitutingScopeKT-74459K2: false positive MISSING_DEPENDENCY_CLASS for types inside default argumentKT-73705[Native] Decouple native caches support from KonanIrLinker and KonanPartialModuleDeserializerKT-74091K2:@JvmOverloads-produced overloads have generated line number tableKT-69754Drop -Xuse-k2 compiler flagKT-73352K2: false negative ARRAY_EQUALITY_OPERATOR_CAN_BE_REPLACED_WITH_EQUALSKT-72962Consider enabling ConsiderForkPointsWhenCheckingContradictions LF earlierKT-73027IllegalStateException: Annotation argument value cannot be null: sinceKT-74242Freeze onrunCatchingcall infinallyblock inside SAM conversionKT-29222FIR: consider folding binary expression chainsKT-73760Cannot implement two Java interfaces with@NotNull-annotated type argument and Kotlin's plain (nullable) type parameterKT-58933Applying suggested signature from WRONG_NULLABILITY_FOR_JAVA_OVERRIDE leads to red codeKT-70507Should parentheses prevent from plus/set operator desugaring?KT-67520Change of behaviour of inline function with safe cast on value typeKT-67518Value classes leak their carrier type implementation details via inliningKT-72305K2: Report error when using synthetic properties in case of mapped collectionsKT-71226K2 Evaluator: Code fragment compilation with unresolved classes does not fail with exceptionKT-70233Implement a deprecation error for FIELD-targeted annotations on annotation propertiesKT-67517Value class upcast to Any leaks carrier type interfacesKT-72814FIR: don't use function references in FirThisReferenceKT-73153K2: Standalone diagnostics on type arguments are not reportedKT-73011K2: Allow overloads resolution for callable references based on expected type variable with constraintsKT-70139Remove dependencies of debugger on K1 and old JVM backendKT-69223Drop parallel lowering mode in JVM backendKT-7461Forbid using projection modifiers inside top-level Array in annotation's value parameterKT-53804Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlibKT-52774Resolve unqualified enum constants based on expected typeCompose compiler
New features
5f7e5d1Enabled PausableComposition feature flag by defaulte49ba7aEnabled OptimizeNonSkippingGroups feature flag by defaultFixes
b/420729503Avoid copying@Deprecatedannotations on Compose compiler stubsb/417412949Emit fake line number forskipToGroupEndbranchb/412584977Fix false positive for overriding open functions from older dependenciesb/409238521Fix crash when searching for ComposableLambda::invoke function on JSb/408752831Fix early return with value fromkeygroupsb/388505454Treat context parameters the same way as extension receiverb/408013789Add missing return for the default function wrappersb/405541364Realize coalescable children in the body ofkeycallb/305035807Add support for@Composablefunction references with K2b/401484249Generate a group aroundArrayconstructor callb/400380396Fix missingendMovableGroupcall with early return inkeyfunctionb/397855145Fix "Unknown file" error in target annotation inferenceb/274898109Fix off-by-one error when calculating changed arg count for lambdasb/377499888Allow restarting overridden functions in a final classb/393400768Use -1 for.changedcall if nullable enum parameter isnullb/390151896Fix default arguments with varargs in@Composablefunctionsb/388030459,b/377737816Prevent usage of transitive captures in lambda memoizationb/310004740Check vararg parameter length in skipping logicb/367066334Add diagnostic to restrict@Composableannotation to function types onlyb/388505454Change order of $changed bits with context parametersCMP-7873Native build fails with "e: Compilation failed: Exception during generating code for following declaration"IDE
KT-54804Generate synthetic functions for annotations on properties in light classesIR. Actualizer
KT-70907Actualize fake override symbols in Ir ActualizerIR. Inlining
Fixes
KT-76145Enhance error message about poisoned KLIBs in KLIB-based compilersKT-70916IR: Report errors on exposure of private types in non-private inline functionsKT-73155MoveMappingfromLoweringContextback toCommonBackendContextKT-76186[IR] Sanitize deserialized IR dump of anonymous classesKT-75788IR inliner: Serialize preprocessed inline functions in a separate place inside KLIBsKT-71416Perform IR-level visibility diagnostics for inline functions after the first phase of inliningKT-76224[IR][Inliner] Dumb file is unsuported in IrSymbolBase.getDescriptor()KT-75793IR inliner: Stop injecting the deserialized function body to LazyIR inline functionKT-75791IR inliner:NonLinkingIrInlineFunctionDeserializershould load inline functions from a separate location in a KLIBKT-73708Use some marker in KLIBs produced with IR inlinerKT-76024[JS][IR Inliner] Partial linkage: No function found for symbol inkotlinpackageKT-75733Reorganize execution of the common prefix at 1st phase of compilationKT-75986Add an option to theDumpIrTreeOptionsto dump IR signature if availableKT-75951[IR Inliner] Illegal non-local return reported by the partial linkage engineKT-75932Fix a problem with already bound symbol with public IR inline enabledKT-64812Investigate and fix remaining owner usages in inlinerKT-74732IR: Exposure of private type is reported at wrong source locationKT-76007IR deserialization tests w/ enabled IR inliner: undefined offsets in IrInlinedFunctionBlock.inlinedFunctionSymbolKT-74734[Native] Use NativeInliningFacade in new subclass of AbstractFirNativeSerializationTestKT-73985KLIB Synthetic Accessors Dump Format: Include local declarationsKT-72594[JS][Native] Add IrInliningFacade to test runnersKT-74456SerializedIrDumpHandler: Compare IR dumps with source offsetsKT-73624[Native] Implement inlining facadeKT-70370SyntheticAccessorLowering: Turn on mode with narrowing visibility on 1st phase of compilationKT-70452OuterThisInInlineFunctionsSpecialAccessorLowering - run it after inlining of private functionsKT-70451Enable double-inlining in Native & JS backends unconditionallyKT-69681IR: Report warnings on exposure of private types in non-private inline functionsIR. Interpreter
KT-74581SupportIrRich*Referencein IR interpreterIR. Tree
Fixes
KT-73189Migrate compiler sources to new IR parameter APIKT-77508K/JS and K/Native CompilationException Wrong number of parameters in wrapperKT-74331Implement IrElement.copyAttributes as a true attribute map copyKT-76600Use a language feature to check error on cross-file IrGetField operations generated by compiler pluginsKT-75628IR validator: Forbid IrExpressionBody for IrFunctionKT-75679Extract commoninvokeFunctionin IrRichCallableReferenceKT-74799[Native][IR] Excessive FUNCTION_INTERFACE_CLASS after deserializationKT-71138Report error on cross-file IrGetField operations generated by compiler pluginsKT-75196[IR] Make startOffset and endOffset mutableKT-73206Extract common parts from new IrRichFunctionReference/IrRichPropertyReference nodesKT-73190Migrate common backend sources to new IR parameter APIKT-73225Migratecompiler.ir.serialization.commonto new IR parameter APIKT-73220Migratecompiler.ir.treeto new IR parameter APIKT-75189Add an IR validation for the correspondingPropertySymbolKT-74275Adjust IR dump format for context parameters & new parameter APIKT-74269Drop IrElementVisitor, IrElementVisitorVoid and IrElementTransformer interfacesKT-72739Create a lowering to replace old callable reference nodes with new onesKT-73120Get rid ofIrclassKT-73045Fix inconsistency between shapes of IR calls vs calleeKT-69714[IR] Remove IrErrorDeclarationKT-73609Tests: Implement DeserializerFacade for Kotlin/NativeKT-73813Implement tests for all IR validator checkersKT-73171Choose the approach for testing IR serialization/deserialization wrt IR inlinerKT-73430[IR] Get rid of SymbolFinder usages outside ofSymbolshierarchyKT-74455IR dump: Support dumping source offsetsKT-73433[IR] Get rid of some symbols lookup methodsJVM. Reflection
KT-75505Reflection: use kotlin-metadata-jvm to implement class visibility, modality, modifiers, etcKT-77663Reflection: java.util.ServiceConfigurationError: "module kotlin.reflect does not declareuses" when using kotlin-reflect in modular modeKT-75464Bundle kotlin-metadata-jvm into kotlin-reflectKT-71832kotlin.jvm.internal.ClassReference static overhead is 11,060 bytesJavaScript
New Features
KT-31493[Kotlin/JS] Can't put typealias in file marked with JsModule annotationPerformance Improvements
KT-74533K/JS: avoid number to char calls in charSequenceGet intrinsicFixes
KT-77021CompilationException: Encountered a local class not previously collected on inner classes inside anonymous objectsKT-78073K/JS: KProperty from local delegate changes after another delegate is invokedKT-77271KJS / Serialization: "Cannot set property message of Error which has only a getter"KT-76235[JS] Extra invalid linetmp_0.tmp00__1 = Options;in testSuspendFunction()KT-76234[JS] Extra invalid lineParentin testNested()KT-76233[JS] Extra invalid import line in testJsQualifier()KT-74839AssociatedObjectKey metadata doesn't survive incremental compilationKT-77418KJS: cannot debug with whole-program granularityKT-76463KJS:@JsPlainObjectfails in parent count is 8+KT-75606KJS: java.lang.AssertionError: Different declarations with the same signatures were detectedKT-69591KJS / d.ts: Wrong type of SerializerFactory for abstract classesKT-72437KJS. Invalidcopymethod for inherited JSO with type parametersKT-57192KJS: "Exported declaration uses non-exportable return type" caused by@JsExportPromise with Unit typeKT-73226Migrate K/JS to new IR parameter APIKT-75254KJS: Merge AbstractSuspendFunctionsLowering from Common and JS backendsKT-76440@JsPlainObjectcompiles broken code when inlining suspend function and non suspend functionKT-71169@JsPlainObjectcopy produces the wrong type when copied property is nullable in parent interfaceKT-75772KJS: NullPointerException caused by reference of private class with@JsExportKT-73363Migratejs-plain-objectsplugin to new IR parameter APIKT-64927[JS] TypeError when abstract class with override var property extends an exported abstract class with val propertyKT-70623Kotlin/JS: Incremental compilation fails when granularity is changedKT-74384Support new callable reference nodes in JS backendKT-70652Kotlin/JS:@JsExportdoesn't work with granularity per-fileKT-71365KJS. File-level export supportKT-68775Kotlin/JS infinite loop for exception message override that calls super.messageKT-42271K/JS: isInitialized for not-lateinit property isn't marked as error as in JVM projectKT-70664Extending a@JsPlainObjectinterface with a generic type parameter fails with a compile errorKT-71656K2 JS: "IllegalStateException: Class has no primary constructor: kotlin.ULong"KT-42305KJS / IR: "Class constructor is marked as private"@JsExportproduces wrong TS code for sealed classesKT-52563KJS / IR: Invalid TypeScript generated for class extending base class with private constructorKlibs
New Features
KT-72296Use specialized signatures for serialized local fake overridesFixes
KT-78168K/N: "IndexOutOfBoundsException: Index 3 out of bounds for length 3" for iOS build with Kotlin 2.2.0-RC2KT-74635KLIBs: Change call serialization scheme to store all arguments in a single listKT-76061Add option for suppress warning of missing no-existent transitive klib dependenciesKT-70146[KLIB Resolve] Don't fail on nonexistent transitive dependencyKT-75624Don't fail on an attempt to deserialize "unknown" IrStatementOrigin and IrDeclarationOriginKT-55808Support metadata version checks for klibs in the compilerKT-56062Support-Xmetadata-versionfor KLIB-based compilersKT-76158Drop "description" from local signaturesKT-75749KLIB: Fail with error on attempt to serialize/deserialize SpecialFakeOverrideSignatureKT-75941[IR Inliner] Abstract function is not implemented in non-abstract anonymous objectKT-75867The CLI argument -Xabi-version allows versions with multiple 0 and -0KT-75192KLIB reader tends to extract files from the KLIB archive to a temporary directory even when this is not neededKT-75013Make klib reader more flexible: allow empty directories to be omittedKT-75680KLIB: Drop obsolete IrPerFileLibraryImpl & IrPerFileWriterImplKT-73779[Native] Context parameters: extension receiver is preferred over context parametersKT-65375Clean-up the logic for serialization of error types in metadata and in IRKT-73826DeduplicateIrFileEntrythat is serialized insideIrInlinedFunctionBlockKT-75091Droptargets/$target_name/kotlindirectory from klibsKT-74352API4ABI: Fix representation of context parametersKT-71007Align KLIB ABI version with the language versionKT-73672Bump KLIB ABI version in 2.2.0KT-74080API4ABI: Adapt API for value parameter kindsKT-74396Support context parameters in klibsKT-72931Support new callable reference nodes in KLIB [de]serializerLanguage Design
New Features
KT-2425Multidollar interpolation: improve handling of $ in string literalsKT-1436Support non-local break and continueKT-13626Guard conditions in when-with-subjectKT-54206Support local contextual functionsFixes
KT-53673Support@DslMarkerannotations on contextual receiversKT-73557Allow refining expect declarations for platform groupsKT-72417Annotation with target RECORD_COMPONENT cannot be used on@JvmRecorddata class componentsKT-67977Compile results of annotations assigned to JvmRecord properties as in JavaKT-73502Context parameters: it is not possible to declare local function with a contextKT-73632Expect class redeclaration is allowedKT-70002[LC] Forbid using projection modifiers inside top-level Array in annotation's value parameterLibraries
New Features
KT-76163K/N: Hide or remove CreateNSStringFromKString/CreateKStringFromNSStringKT-70456Base64: Support lineLength parameter for MimeKT-76394kotlin.time.TimeSource.asClock missingKT-31857Provide easy way to retrieve annotations for kotlinx-metadataKT-76528Instant.parseOrNullKT-74804Add@MustUseValueand@IgnorableValue/@Discardableto kotlin-stdlibKT-74422KotlinWebsiteSampleRewriter should filter individual imports from samples packagePerformance Improvements
KT-68860K/JS: optimize listOf(element)KT-75647Optimized sequenceOf(T) overload is missingFixes
KT-72138Stabilize experimental API for 2.2KT-76831Atomic types: inconsistent behavior on JS and Wasm targetsKT-76795RecursiveDeletionTest.deleteRelativeSymbolicLink fails on Windows for unprivileged usersKT-75290kotlin-metadata: deprecate hasAnnotations flag, add JVM-only hasAnnotationsInBytecode insteadKT-76193Common Atomics: 'AtomicArray.compareAndSetAt' and 'compareAndExchangeAt' docs incorrectly suggest they use==when actually they use===KT-54077Consider using SecureDirectoryStream in deleteRecursively even when Path.parent is nullKT-72866Standard library functions to work with context parametersKT-76743Add kotlin-scripting-jvm to projectsUsedInIntelliJKotlinPlugin listKT-72483Clean up redundant stdlib code for Kotlin 2.2KT-76385Remove suppression from functions to work with context parametersKT-75337Remove suppress annotations from@IgnorableReturnValueKT-72137Review deprecations in stdlib for 2.2KT-75491Non intuitive work of 'in' (contains) with String rangeKT-75933Update readLine's KDoc to suggest alternative functionsKT-46360Type inference fails to infer type for sumOf call with integer literal: "Overload resolution ambiguity TypeVariable(T)) -> Int / Long"KT-73590Samplify string.splitKT-75759Add the serializer for kotlin.time.Instant to the list of standard serializersKT-71628Review deprecations in stdlib for 2.1KT-73726A link from shuffle's KDoc is not rendered properlyKT-74173The sample code oflazyon stdlib can not run on playground due to "samples" package importKT-50081AbstractList sublist leads to StackOverflowNative
KT-76992Native: update llvm for windows targetsKT-56107Support Enum.entries for C/ObjC interop enumsKT-76552LLVM Update: rebase the LLVM branchKT-76662LLVM 19 update: documentationKT-76560LLVM Update: investigate changes in filterStdargH testKT-76283LLVM Update: pass all testsKT-74377Kotlin Native: release executable crashes with error 139KT-75829LLVM Update: port K/N on LLVM 19KT-76280LLVM Update: benchmarksAnalyzer build failedKT-70202Xcode 16 Linker fails with SIGBUSNative. Build Infrastructure
KT-77349Kotlin/Native: default cache for stdlib is unusedNative. C and ObjC Import
KT-75598Native: fix samples/objc testKT-76551LLVM Update: investigate CXFile equality problem furtherKT-75781Xcode 16.3: Fix cinterop tests failing with fatal error: could not build module '_stdint'KT-74549Native: replace clang_Type_getNumProtocols/clang_Type_getProtocol with standard libclang functionsNative. Platforms
KT-74702Deprecate Windows 7 supportNative. Runtime
KT-71534Native: Support Latin-1 encoded strings at runtimeKT-67741Kotlin/Native: Unify SpecialRef handlingNative. Runtime. Memory
KT-74831Kotlin/Native: investigate mmap usage in custom allocatorKT-74432Native: add an option to allocate everything in SingleObjectPageKT-74975Enable CMS by default in Swift exportKT-60928Kotlin/Native: refactor allocator codeKT-50291Kotlin/Native: remove dependency of mm on gc implementationNative. Swift Export
KT-75166Support export of platform libraries types in Swift exportKT-75079Swift export: add dependency from sir-compiler-bridge to Analysis APIKT-72413Swift Export: potential memory leak when best-fitting class is different from the formal typeKT-72107Remove IntoSingleModule stratagyTools. Ant
KT-73116Deprecate Ant supportTools. BCV
KT-75686Improve DSL for BCV in KGPKT-76129Abi validation filtering functionality for included classes doesn't workKT-75999ABI validation filter doesn't apply excluded kotlin filesKT-75981ABI validation filter not applying excluded classes without package namesKT-71168Implement a prototype of ABI Validation in Kotlin Gradle PluginTools. Build Tools API
KT-76455BTA: Compilation is always non-incremental if BTA API >= 2.2.0 is used together with BTA impl < 2.2.0KT-76060BTA: Java sources passed for IC may fail compilation in non-incremental modeKT-74041Build Tools API: Lower level or remove compiler arguments logTools. CLI
New Features
KT-73606Provide a unified interface for managing the reporting of compiler warningsKT-24746Provide ability to exclude specific warnings from compiler option Werror (all warnings as errors)KT-18783Option to treat a specific compiler warning as an errorKT-76095Add JVM target bytecode version 24KT-73007Add stable compiler argument -jvm-default instead of -Xjvm-defaultPerformance Improvements
KT-75641kotlinc -help spends almost 1 second on Usage.render()Fixes
KT-77445UNRESOLVED_REFERENCE when importing classes from kotlin-stdlibKT-75300Lenient compiler mode which generates stubs for missing actualsKT-76829UnsupportedOperationException when reenabling a taking place warning with -Xwarning-levelKT-75588[2.1.20-RC] "was compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" warnings despite using the same compiler versionKT-74663kotlinc-js CLI: not providing -ir-output-dir results in NullPointerExceptionKT-75967Implement generation of CLI arguments in compiler using new single representationKT-75966Declare all existing CLI arguments using the new DSLKT-76498Implement JSON dumper for performance statsKT-75970Extract all non-trivial logic fromCommonCompilerArgumentsand its inheritorsKT-73595Kapt.use.k2=true is ignored silently for language-version 1.9 or lessKT-75043Migrate Metadata compilation pipeline to the phased structureKT-75113TEST_ONLY LanguageFeature doesn't abort the compilationTools. CLI. Native
KT-69485Native: remove adding $llvmDir\bin to PATH on WindowsTools. Commonizer
KT-74623Drop metadata version check from KLIB commonizerTools. Compiler Plugin API
KT-74640[FIR] Support settingsourcein declaration generatorsTools. Compiler Plugins
Fixes
KT-76162"IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" after updating to 2.1.20KT-61584[atomicfu]: prohibit declaration of AtomicReference to the value class in the compiler pluginKT-70982Deprecate declaration of atomic properties marked with@PublishedApiwith errorKT-73367Migrate compose plugin to new IR parameter APIKT-76429Migrate kotlin-dataframe plugin to new IR parameter APIKT-75263PowerAssert: no additional info is displayed for 'when' with subjectKT-75614PowerAssert: handling of exceptions doesn't work inside assert functionKT-75264PowerAssert: the diagram for try-catch with boolean expressions isn't clearKT-75663PowerAssert: 'contains' result for strings is displayed under the first parameter instead of 'in'KT-73897PowerAssert: Implicit argument detection is brittle in a number of casesKT-74315Kotlin Lombok: "Unresolved reference" on generating@Builderfor static inner class where outer class is also using@BuilderKT-72172File Leak occurring in Kotlin DaemonKT-75159Compose: Missing 'FunctionKeyMeta' annotation on lamdas declared in non-composable functionKT-72877Power-Assert should provide IrExpression transformation APIKT-73871PowerAssert: Comparison via operator overload results in confusing diagramKT-73898PowerAssert: Operator calls with multiple receivers incorrectly alignedKT-73870PowerAssert: Object should not be displayedTools. Compiler plugins. Serialization
KT-49632Provide diagnostic when custom serializer for generic type does not have required constructor signature ( ISE Null argument in ExpressionCodegen for parameter VALUE_PARAMETER)Tools. Gradle
New Features
KT-75823Resources bundle with XCFrameworks for iOSKT-73418Gradle '--warning-mode' value should affect Gradle plugin diagnosticsKT-73906Improve ToolingDiagnostic CLI renderingKT-73285Integrate Gradle Problem API with KGP diagnosticsKT-61649Add Gradle compiler option for jvm-defaultKT-68659Collect reported Kotlin Gradle Plugin diagnostics into one HTML/Text file report instead of writing it to logFixes
KT-75188Groovy plugin breaks access to internal members of test friendPaths classes in kotlin compilationKT-54110Change deprecation level to ERROR for kotlinOptions DSLKT-74277KGP / FreeBSD: "TargetSupportException: Unknown operating system: FreeBSD" during the buildKT-75820Gradle: "ClassNotFoundException: intellij.util.containers.Stack" while parsing compilation warnings with IN_PROCESS execution strategyKT-64991Change deprecation level to error for KotlinCompilation.sourceKT-75107Add Gradle property to use new FIR IC runnerKT-66133Finalize resolution strategy for resources and remove the one that is unusedKT-59632KotlinCompileTool.setSource() should replace existing sourcesKT-62963Remove "kotlin.incremental.useClasspathSnapshot" propertyKT-76137Compatibility with Gradle 8.14 releaseKT-76797KGP: StdlibDependencyManagementKt.configureStdlibVersionAlignment() triggering eager configuration realizationKT-76282Add missing Android Gradle plugin versions in testsKT-77011Update build regression benchmarks for 2.2.0 releaseKT-76138Compile against Gradle API 8.14KT-76139Run integration tests against Gradle 8.14KT-74007Not all the DSL features related to kotlinOptions are deprecatedKT-77288Using 'KotlinJvmOptions' is an error - Gradle sync issue when using 2.2.0-Beta2 with Android Gradle PluginKT-74887Compatibility with Gradle 8.13 releaseKT-73682Compatibility with Gradle 8.12 releaseKT-77035A compiler diagnostic isn't reported when its severity is set to warning with GradleKT-70620Raise to error deprecation for KotlinCompilationOutput#resourcesDirProviderKT-68597Update KGP deprecations before 2.2KT-68325Add to Compiler Types DSL exceptions message possible ways of a solutionKT-76951'distribution-base' plugin is only applied in Gradle 8.13KT-73142Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilderKT-73968KotlinDependencyManagement tries to mutate configuration after it was resolvedKT-74890Run Gradle integrations test against Gradle 8.13 releaseKT-74889Compile against Gradle 8.13 APIKT-76052Support Gradle 8.13 for Problems APIKT-73684Run integration tests against Gradle 8.12KT-76377Add integration tests for Problems APIKT-74551Improve KGP-IT withDebug for tests with environment variablesKT-74717Test publication with dependency constraintsKT-75164Run Gradle incremental compilation tests with FIR runnerKT-72694Accessing Task.project during execution is being deprecated in Gradle 8.12KT-76374Investigate and fix failing tests with configuration cache in KotlinDaemonIT: testDaemonMultiproject and testMultipleCompilationsKT-76379Gradle: KotlinGradleFinishBuildHandler does not perform cleanup on configuration cache reuseKT-61911Gradle: make KGP to depend on fixated version of stdlibKT-76026[ToolingDiagnostic] Gradle warning mode=fail: no emoji replacement, title color unchangedKT-76025ToolingDiagnostic with FATAL Severity: ANSI escape codes are not rendered properly in the Build tool window in IntelliJ IDEAKT-70252Gradle: remove Intellij dependencies from KGP runtimeKT-74333improve ToolingDiagnosticBuilderKT-73683Compile against Gradle API 8.12KT-75187Make KotlinToolingDiagnostics internalKT-75568Do not use env variables registered as CC inputsKT-73842Gradle: AGP failing tests with "Failed to calculate the value of property 'generalConfigurationMetrics'" using KGPKT-75262Gradle test-fixtures plugin apply order breaks the projectKT-75277FUS statistics: 'java.lang.IllegalStateException: The value for this property cannot be changed any further' exception is thrown during project importKT-75026Corrupted NonSynchronizedMetricsContainer in parallel Gradle buildKT-73849Categorize ToolingDiagnosticsKT-74462Flaky Kotlin Gradle Plugin Tests: IsInIdeaEnvironmentValueSource$Inject not foundKT-72329Consider bumping apiVersion for projects with compatibility setupKT-74772ToolingDiagnostic: title is not displayed on WindowsKT-74485BuildFinishedListenerService is not thread-safeKT-74639Executable binaries for JVM test cannot be created unless an additional suffix is set in GroovyKT-72187Gradle tests are using incorrect Kotlin/Native distributionKT-57653Explicit API mode is not enabled when free compiler arguments are specified in Gradle projectKT-51378Gradle 'buildSrc' compilation fails when newer version of Kotlin plugin is added to the build script classpathTools. Gradle. Compiler plugins
KT-58009BaseKapt.annotationProcessorOptionProvidersshould be aList<CommandLineArgumentProvider>instead ofList<Any>KT-61928Clarify parameter types in KaptArguments and KaptJavacOptionTools. Gradle. JS
KT-74859Gradle configuration cache issues related to RootPackageJsonTaskKT-70357Remove JS/Dce deprecated Gradle DSLKT-71217KJS: 'Per-file' "Module not found: Error: Can't resolve void.mjs"KT-77119KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer worksKT-74735KGP uses Gradle internalCompositeProjectComponentArtifactMetadataKT-71879Notice of upcoming deprecation for Boolean 'is-' properties in Gradle Groovy scriptsKT-75863Wasm/JS: Deprecate phantom-js for KarmaKT-75485KJS: "Module not found: Error: Can't resolve 'style-loader' and 'css-loader'" in 2.1.20-RCKT-74869KJS:jsBrowserProductionWebpackdoes not minify output with 2.1.20-Beta2Tools. Gradle. Multiplatform
New Features
KT-60623DeprecatepublishAllLibraryVariantsin kotlin-androidFixes
KT-75161Deprecate commonization parameters in KGP with an errorKT-74005Implement a prototype of Unified Klib support in Kotlin Gradle PluginKT-61817Remove support for Legacy Metadata Compilation with support of Compatibility Metadata VariantKT-71634KGP: Remove KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImportKT-77404The kotlin-stdlib and annotations are missing from commonTest dependencies with 2.2.0-Beta1KT-62643Increase DeprecationLevel to 'Error' on deprecated 'ExtrasProperty.kt' (Kotlin 2.2)KT-75605Dependency resolution fails in commonTest/nativeTest source sets for KMP module when depending on another project due to missing PSMKT-71698Remove preset APIsKT-68015Remove legacy KMP flagsKT-74727Dependency resolve from a single target KMP module to another kmp module fails on non-found PSMKT-75808KGP: MPP with jvm target and Gradle java-test-fixtures is brokenKT-59315Improve the readability of KGP diagnostics in CLI build outputKT-58231Kotlin Gradle Plugin: set deprecation level to Error for KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImportKT-66423Configuration cache false recalculation because of Kotlin Native downloading during the execution phaseKT-74888Use 'distribution-base' plugin in KMP/JVMKT-76659Write proper diagnostics for Uklib checksKT-70493Improve gray-box testing experience in KGP-ITKT-71608Remove 'android()' targetKT-75512Maven-publish: ArtifactId is not correct inpomfile with customizedwithXmlKT-72203Swift Export: Unclear failure for invalid module nameKT-74278KSP tasks don't trigger a K/N distribution downloadingKT-74669Executable binaries for JVM: a jar generated by jvmJar task isn't added to the build/install/testAppName/lib directoryKT-69200Module 'intellij.kotlin.gradle.multiplatformTests' transitively depends on K1/K2 implementationKT-71454Remove not compatible with Project Isolation PomDependenciesRewriterKT-73536Enable kmp isolated projects support for kotlin-test and patch PSM.jsonTools. Gradle. Native
KT-77067Kotlin Gradle plugin with the configuration cache passes all platform libraries to the compiler when compiling a binary for the first timeKT-74953Deprecate kotlinArtifacts with a warningKT-71069RemovekonanVersionfrom CInteropProcessKT-75171Provide custom freeCompilerArgs to Swift Export's link taskKT-74591HostManager.isMingw isLinux and isMac are not accessible in groovy scriptsKT-65692Remove Kotlin Native Performance pluginKT-74403:commonizeNativeDistribution fails when configured native targets cannot be built on machineTools. Gradle. Xcode
KT-66262Deprecate and remove support for bitcode embedding from the Kotlin Gradle pluginTools. Incremental Compile
KT-62555Wrong ABI fingerprint for inline function containing a lambdaKT-75883Follow-up: switch from INSTANCE heuristic to outerClass chainKT-75276Test IC issues with first-round failures that might be fixed by Fir runnerKT-76041Make lenient mode work with ICKT-75155Split HistoryFileJvmIncrementalCompilerRunner and the current oneKT-74628Incremental compilation runner does not check compiler exit code before mapping sources to classesTools. JPS
KT-60914IC misses dependency to recompile when named kt file with JvmField instructed property was replaced with an object with the same nameKT-76495JPS: delegated Maven builds use embeddable version of kotlin-serialization compiler plugin with non-embeddable Kotlin compilerKT-76461Fix "compilation of typealias does not check for clashes" for JPSKT-75917Unused imports may lead to inc compilation failureKT-73379Review the usage of JavaBuilder.IS_ENABLED inside the KotlinBuilder JSP builderKT-63707JPS: "Multiple values are not allowed for" caused by ComposeTools. Kapt
KT-75936K2 KAPT: unsupported FIR element kinds in constant evaluationKT-64385K2: Enable K2 KAPT by defaultKT-76546Kapt / CLI: ""compile" mode is not supported in Kotlin 2.x" with -version flagKT-75942K2 KAPT: underscore not allowed hereKT-40485-Xjvm-default=all causes private interface methods to be generated in JVM target < 9 which is not supported in annotation processingKT-75202K2 kapt: mapped type class literal is converted incorrectlyKT-70797Remove obsolete K2 kapt implementation based on Analysis APITools. Maven
KT-73012Migrate Kotlin Maven plugin to the Build Tools APIKT-77036Kotlin Maven plugin: ClassNotFoundException com.google.common.base.Joiner with compiler plugins in debug modeKT-61285Remove multiplatform "support" from Maven PluginTools. Performance benchmarks
KT-75563Fix crash on kotlin compiler server user project related to performance measurementsTools. REPL
Fixes
KT-75632Contunue deprecation of the REPL built intokotlincKT-76507[K2 Repl] Delegated properties are not visible in the next snippetKT-76508[K2 Repl] Annotations on property accessors are not resolvedKT-75672[K2 Repl] Serialization plugin crashes compiler backendKT-76009[K2 Repl] Kotlin-specific imports does not work if dependency is added to the classpath after 1st snippetKT-75580[K2 Repl] Cannot access snippet properties using Kotlin reflectionKT-75616[K2 Repl] Sealed hierarchies causes a FileAnalysisExceptionKT-75593[K2 Repl] Custom Delegates crash code genKT-75607[K2 Repl] ScriptingConfiguration.jvm.jvmTarget is not respectedKT-74607[K2 Repl] Lambda statement crashes code generationKT-74615[K2 REPL] Anonymous objects crash code generationKT-74856[K2 Repl] Snippet class files are missing Kotlin metadataKT-74768[K2 Repl] refineConfiguration does not update the classpath correctlyKT-74593[K2 Repl] defaultImports does not work in ScriptCompilationConfigurationTools. Scripts
KT-75589Scripts: "IndexOutOfBoundsException in jdk.internal.util.Preconditions.outOfBounds" when trying to extend a class which uses global variableKT-76424Dependencies in main.kts not working with 2.1.20KT-76296Kotlin script compiler crashes when secondary constructor calls a functionKT-76430Migrate scripting plugin to new IR parameter APIKT-74004"Evaluate expression" fails in scriptsTools. Wasm
KT-76161Wasm: "export startUnitTests was not found" after updating to Kotlin 2.1.20KT-73398K/Wasm: Separate from JS NPM infrastructureKT-76948Wasm: Rename kotlinBinaryenSetup and kotlinD8SetupKT-74840Wasm: Binaryen setup per projectKT-76657K/Wasm: Composite build does not work with wasm tasksKT-76656K/Wasm: Change NPM project name of wasm projectsKT-76587Wasm lock check failure says to run the JS lock upgradeKT-76330K/Wasm: update binaryen to 123 or newerKT-74480Projects using Compose don't run in Android Studio started from 2.1.20- Kotlin versionv2.1.21: Kotlin 2.1.21Changelog
Backend. Native. Debug
KT-75991Xcode 16.3: Fix lldb stepping test over an inline functionCompiler
KT-75992Xcode 16.3: stacktraces on simulators are not symbolicatedKT-76663KJS: KotlinNothingValueException caused by expression return since 2.1.20KT-75756Backend Internal error: Exception during IR lowering when trying to access variable from providedProperties in class within kotlin custom scriptKT-76209CONFLICTING_UPPER_BOUNDS onNothingboundKT-70352K2: False-negative CONFLICTING_UPPER_BOUNDS onNothingboundKT-74739Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION_REFERENCE"KT-75483Native: redundant unboxing generated with smart castKT-71425IR Inliner: investigate return type of an inlined blockNative
KT-76252Native: executable crash with generic value classes with 2.1.20Native. C and ObjC Import
KT-75781Xcode 16.3: Fix cinterop tests failing with fatal error: could not build module '_stdint'Native. Runtime. Memory
KT-74280Native: GC.collect crashes with -Xallocator=stdTools. CLI
KT-75588[2.1.20-RC] "was compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" warnings despite using the same compiler versionKT-74663kotlinc-js CLI: not providing -ir-output-dir results in NullPointerExceptionTools. Compiler Plugins
KT-76162"IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" after updating to 2.1.20Tools. Gradle
KT-73682Compatibility with Gradle 8.12 releaseKT-73142Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilderKT-36004Update 'org.gradle.usage' attribute rules to support the 'JAVA_API' and 'JAVA_RUNTIME' valueKT-73968KotlinDependencyManagement tries to mutate configuration after it was resolvedKT-73684Run integration tests against Gradle 8.12KT-72694Accessing Task.project during execution is being deprecated in Gradle 8.12KT-73683Compile against Gradle API 8.12Tools. Gradle. JS
KT-77119KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer worksKT-74735KGP uses Gradle internalCompositeProjectComponentArtifactMetadataKT-71879Notice of upcoming deprecation for Boolean 'is-' properties in Gradle Groovy scriptsTools. Gradle. Multiplatform
KT-75808KGP: MPP with jvm target and Gradle java-test-fixtures is brokenKT-75605Dependency resolution fails in commonTest/nativeTest source sets for KMP module when depending on another project due to missing PSMKT-75512Maven-publish: ArtifactId is not correct inpomfile with customizedwithXmlTools. Incremental Compile
KT-62555Wrong ABI fingerprint for inline function containing a lambdaKT-75883Follow-up: switch from INSTANCE heuristic to outerClass chainTools. Kapt
KT-75936K2 KAPT: unsupported FIR element kinds in constant evaluationKT-75942K2 KAPT: underscore not allowed hereTools. Scripts
KT-76424Dependencies in main.kts not working with 2.1.20KT-76296Kotlin script compiler crashes when secondary constructor calls a functionKT-75589Scripts: "IndexOutOfBoundsException in jdk.internal.util.Preconditions.outOfBounds" when trying to extend a class which uses global variableTools. Wasm
KT-76161Wasm: "export startUnitTests was not found" after updating to Kotlin 2.1.20v2.1.20: Kotlin 2.1.20Changelog
Analysis API
Fixes
KT-68198Analysis API: Support application service registration in plugin XMLsKT-57733Analysis API: Use optimizedModuleWithDependenciesScopes in combined symbol providersKT-73156AA: type retrieval for erroneous typealias crashesKT-71907K2 debugger evaluator failed when cannot resolve unrelated annotationKT-69128K2 IDE: "Unresolved reference in KDoc" reports existing Java class in reference to its own nested classKT-71613KaFirPsiJavaTypeParameterSymbol cannot be cast to KaFirTypeParameterSymbolKT-71741K2 IDE. Classifier was found in KtFile but was not found in FirFile inlibraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.ktsinkotlin.gitand broken analysisKT-71942Need to rethrow Intellij Platform exceptions, like ProcessCanceledExceptionKT-70949Analysis API: "containingDeclaration" does not work on nested Java classes in K2 implementationKT-69736K2 IDE: False positive resolution from KDoc forvalueKT-69047Analysis API: Unresolved KDoc reference to extensions with the same nameKT-70815Analysis API: Implement stop-the-world session invalidationKT-69630KAPT User project builds with KAPT4 enabled fail with Metaspace overflowAnalysis API. Code Compilation
KT-71263K2 evaluator: Error in evaluating self property with extension receiverAnalysis API. FIR
Performance Improvements
KT-72025FileStructureElement: reduce redundant resolveKT-74012RedundantFirAbstractBodyResolveTransformerDispatcher.<init>CPU consumptionKT-73900ContextCollectorVisitor#computeContext may spend significant time oncreateSnapshotKT-73665FirElementFinder is inefficient in large filesKT-73330Remove bodies from functions without contracts after the CONTRACTS phaseKT-73017Analysis API:FirReferenceResolveHelper.getSymbolsByResolvedImportsearches for classes even when the selectedFqNameis a known packageFixes
KT-72308getOrBuildFir returns null for this expression for plusAssign operatorKT-72660ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValueKT-74097ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValueKT-74098ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValueKT-72148K2: KISEWA: Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(DataClassMember) but FirArgumentListImpl foundKT-73079K2: Internal compiler error when conflicting type aliases are presentKT-73456Expected FirResolvedContractDescription but FirRawContractDescriptionImpl found for FirSimpleFunctionImplKT-73259Expected FirResolvedContractDescription but FirLegacyRawContractDescriptionImpl found for FirSimpleFunctionImplKT-72740FirDanglingModifierList:lazyResolveToPhase(STATUS)cannot be called from a transformer with a phase STATUSKT-66132K2: FirRegularClass expected, but FirFileImpl found | Containing declaration is not foundKT-72196K2. KMP. IllegalStateException: expect-actual matching is only possible for code with sourcesKT-72652FirProvider#getContainingClassshould supportFirDanglingModifierSymbolKT-73105Lazy resolve contract violation (BODY_RESOLVE from BODY_RESOLVE)KT-66261K2: Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" with MULTIPLE_LABELS_ARE_FORBIDDEN K2 errorKT-72315K2. KIWA on usage of always-true OR in guard conditionKT-65707K2 IDE: unresolved calls of callables imported with typealias as qualifierKT-61516K2: Provide an LL FIR implementation forgetContainingClassSymbol(inFirHelpers)KT-72853Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirContextReceiverImpl(Source) but FirArgumentListImpl foundKT-64215K2: do not resolve type annotations of receiver if it is used as an implicit return typeKT-64248K2: do not resolve type annotations of context receiver if it is used as an implicit return typeKT-72821Add assertion to diagnostic tests to check that all declarations have BODY_RESOLVE phase at the endKT-64056K2: K2: FirLazyBodiesCalculator shouldn't calculate annotation arguments on type phaseKT-71651K2 IDE: False positive NON_LOCAL_SUSPENSION_POINT in suspend function callKT-72164K2. IllegalArgumentException when pre and post increment are used simultaneously in assignmentKT-71174Illegal scope usedKT-72407FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessingKT-72228K2: Reformat doesn't work in project with Kotlin2.0.21KT-69671TYPES phase contract violation through JavaSymbolProviderKT-71348K2: KotlinIllegalStateExceptionWithAttachments: 'By now the annotations argument mapping should have been resolved' during code inspectionKT-72024FirClassVarianceChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-71746K2 IDE.ISE: Zero or multiple overrides found for descriptor in FirRegularClassSymbol serializing/ExternalSerializerand red code on@Serializer(forClass) ` usageAnalysis API. Infrastructure
KT-72922KotlinFakeClsStubsCache project leakageKT-71988Improve scripts test coverage by LL FIRKT-64687K2: Analysis API: migrate AbstractFirLibraryModuleDeclarationResolveTest to kotlin repoAnalysis API. Light Classes
KT-73492K2. FP error in Java file when using@JvmSuppressWildcardsannotation without argumentsKT-66763K2: Get rid of context receivers in Analysis API and LL APIKT-71781SLC: migrate SLC from KotlinModificationTrackerService to KotlinModificationTrackerFactoryKT-67963K2: PsiInvalidElementAccessException on redeclaration of class with constructorKT-71407K2: Do not report@JvmFielddefault value as PsiField initializer in K2KT-72078K2 PSI change for constructor parameter with value class typeAnalysis API. Providers and Caches
KT-69247Analysis API: Invalidate sessions after builtins modification eventsKT-72704ISE: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(53) in array owner: LLFirBuiltinsAndCloneableSession for Builtins for JS/wasm-js (JS)KT-67148Analysis API: Introduce a weak reference cache for the originalKtSymbolinKtSymbolPointerKT-73395Analysis API:JavaElementPsiSourceWithSmartPointercontains strong references to PSIKT-72390Kotlin project full of red codeKT-72388KaFirStopWorldCacheCleaner: Control-flow exceptionsKT-72644"PSI has changed since creation" reason is misleadingAnalysis API. Standalone
KT-73776Analysis API Standalone: Application services are missing registrations in tests and DokkaKT-70346Analysis API Standalone: Remove the custom class loader option in Standalone session creationAnalysis API. Stubs and Decompilation
KT-69398K2 IDE: SOE on editing top level private variable nameKT-72897Analysis API: Smart PSI element pointers forKtEnumEntrystubs cannot be restoredKT-71565KtClassOrObject should use isLocal from greenStubAnalysis API. Surface
New Features
KT-73414Analysis API: Support typealiased constructors in KaConstructorSymbolKT-70301Analysis API: 'KaSamConstructorSymbol' does not allow to find the constructed SAM typeKT-68236Analysis API: addisExternalproperty for KtPropertySymbolKT-68598Analysis API: missed getClassLikeSymbolByClassId APIPerformance Improvements
KT-74112UI freeze:AnyThreadWriteThreadingSupport.getWritePermitKT-73942Extend resolveToSymbols cache to all referencesKT-73622CacheresolveToSymbolsresultKT-72684Drop explicit resolve from KaFirJavaInteroperabilityComponent#asPsiTypeElementKT-60486Analysis API: optimize KaExpressionTypeProvider.returnType for simple casesFixes
KT-70114K2: Analysis API: do not lazy resolve declarations without deprecation to get it deprecationKT-73406[Analysis API] Allow extending KaModule resolution scope for all KaModulesKT-65850Cover Analysis API with KDocsKT-72099Analysis API: implement an API to retrieve default importsKT-73662KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImplKT-70108Analysis API: "KaScopeProvider.scopeContext" provides scopes from implicit companion objects with inaccessible classifiersKT-68954Remove JAR publications with old artifact names (high-level-api family)KT-70134Analysis API: Port API documentation from the guide to KDocKT-72973Introduce KaSymbolOrigin.TYPE_ALIAS_CONSTRUCTORKT-70356analyzeCopy with IGNORE_SELF cannot find private membersKT-66783Analysis API:KtFirSymbolProvidercreates symbols when given PSI from unrelated modulesKT-72937Migrate KaFirReceiverParameterSymbol to KaFirSymbol/KaFirKtBasedSymbolKT-70243K2 IDE: PsiMethod.callableSymbol returnsnullfor constructorKT-66608SupportOperatorFunctionChecks#isOperatorin AAKT-73068Analysis API: AKaFirJavaFieldSymbolfor a static Java field is open instead of finalKT-73055Get rid of the deprecated Analysis API APIKT-65065ProvideKtTypeReference#getShortTypeText()KT-63800AA: this reference shortener doesn't simplify labelKT-72793Analysis API: 'expressionType' returns raw type for typealiased constructors callsKT-72658resolveToCalldoesn't work forKtSafeQualifiedExpressionKT-69930K2 IDE: Kotlin/JS project: ISE: "Unsupported type DYNAMIC_TYPE"KT-71373Make KaSessionProvider the internal APIKT-71869KaClassSymbol.superTypes for kotlin.Any contains kotlin.Any itself (K1-only)KT-64190K2 IDE: Analysis API: KDoc link leads to a function instead of interfaceKT-72075defaultTypeshould be available forKaClassifierSymbolinstead ofKaNamedClassSymbolKT-72002Analysis API: psi KaTypeParameterSymbol for default Java constructor is nullBackend. Native. Debug
KT-73306Native: add a way to specify a dir for the debug compilation unit fileKT-68536Native: bridges and trampolines affect stepping in the debuggerKT-72398Native: useDW_AT_trampolineforobjc2kotlin_*functions instead ofKonanHookinkonan_lldb.pyBackend. Wasm
KT-71868K/Wasm: support generating debug information in DWARF formatKT-71645[Wasm] Check wasm test runner for groupByPackage=true caseKT-72232Wasm, IC: Compilation exception on renaming of fileKT-73907Wasm: Duplication of files in browser distributionKT-72223Compiler generates an invalid glue-code for externals with backquoted identifiersKT-73015[Wasm, IC] Implement possibility for readonly IC cacheKT-71763K/Wasm: compiler generates incorrect code for is check on JsAnyKT-72156custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven publicKT-71037[Wasm, IC] Investigate how make kotlin.test not fully loaded in ICCompiler
New Features
KT-74049Introduce special override rule to allow overriding T! with T & AnyKT-73256Implementallmeta-target for annotationsKT-73255Change defaulting rule for annotationsKT-61447Support context receivers overloads in Kotlin multiplatformKT-67034Warning when a property hides a Java field from superclassKT-71092Native: Write out used dependenciesKT-71094Kotlin/Native incremental compilation: fail compilation if cache build failedKT-71569Improve diagnostic precision for OPT_IN_ARGUMENT_IS_NOT_MARKERPerformance Improvements
KT-73434Slow / infinite compile involving ConeInferenceContextKT-73328Do not spillthisto a local variable in coroutinesKT-69995K2: Slow compilation when star projecting mutually recursive bounds from javaKT-73687Inefficient KtCommonFile#getFileAnnotationListKT-45452K/N optimization: inline simple functions that aren't marked withinlinekeywordKT-64898K2: toFirProperty call in PsiRawFirBuilder forces AST loadingKT-71673Consider making EnhancementSymbolsCache. enhancedFunctions using simple cacheKT-71973KtPsiUtil#getEnclosingElementForLocalDeclaration shouldn't iterate over directoriesFixes
KT-75965The iOS app did not run successfully in Release modeKT-57696Deprecate JvmDefault annotation with level HIDDENKT-75578K2: False negative [SUPER_CALL_WITH_DEFAULT_PARAMETERS] when calling the upper-class implementation of a method with the default value argumentKT-74764Native: merge init nodes generated within the same LLVM module for the same klibKT-75444Contradictions in the constraint system are ignored in case of multiple constraints from forking pointsKT-75649K2: NPE on assigning platform type value to non-nullable lateinit varKT-75483Native: redundant unboxing generated with smart castKT-73028K2. FileAnalysisException on private property in ContextKT-73937Context parameters: IllegalArgumentException: source must not be null on lateinit var with a contextKT-74104Native: SynchronizedLazyImpl produces NPE on 2.1.20-Beta1 on mingwX64KT-71752K2: Absent non-null check for platform types in assignmentsKT-75526Regression in K2 scripting: local name doesn't shadow one from the implicit receiverKT-68131K2: build Grazie monorepo main branchKT-72618Cannot define operator inc/dec in class contextKT-74739Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION_REFERENCE"KT-68768K2: unsuccessful inference fork with jspecify annotationsKT-71943K2: IAE "source must not be null" in FirJvmModuleAccessibilityQualifiedAccessCheckerKT-75111False negative "This declaration needs opt-in" for usage of enum entry with OptIn marker in another moduleKT-73831Do not choosefieldtarget in annotation classesKT-73494Enable first-only-warn annotation defaulting modeKT-74929False positive TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER if it is used with T&AnyKT-74227K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function typeKT-70789CLI error "mixing legacy and modern plugin arguments is prohibited" on using -Xcompiler-plugin unless default scripting plugin is disabledKT-73903Design 'replaceWith' / 'test-only' kinds for the 'LanguageFeature' classKT-74474K2: Report more precise diagnostic when last expression of non-unit lambda is a statementKT-74478K2: False negative RETURN TYPE_MISMATCH if the last statement of a lambda is indexed assignmentKT-67480K/N: a separate inlining phase after the loweringsKT-72154Dokka fails withnot array: KClass<out Annotation>on Kotlin 2.1.20-dev with@SubclassOptInRequiredKT-72040Extra checkers: false-positive unused parameter warnings on anonymous lambda parametersKT-74203K2: False negative NO_ELSE_IN_WHEN of a generic type with star projection <*> bounded by a sealed hierarchyKT-63720Coroutine debugger: do not optimise out local variablesKT-74024K2: Prohibit declaring local type aliasesKT-73146Context parameters CLI & diagnosticsKT-73251Warn users about removal of context classes and constructorsKT-72222Context parameters parsing & resolution part 1KT-61175K2: FirReceiverParameter does not extend FirDeclarationKT-73858Compose / iOS: NullPointerException on buildingKT-73864[Native] DecoupleIrType.computePrimitiveBinaryTypeOrNullfrom backend.nativeKT-73122Move the upgrade references lowering to be first one in Native pipelineKT-73608K2: "Initializer type mismatch" with map and typealias to objectKT-73691DCE removes static initializer function, which is actually calledKT-74147K2: False negative INCONSISTENT_TYPE_PARAMETER_VALUESKT-73454K2: Fix type parameters mapping for typealiases with inner RHSKT-73043K2 Compiler does not allow references to inner constructors with typealiasesKT-74040Compilation of inner class usage does not check the visibility of parent class during compilation in different roundsKT-74195Fully qualified names in error messages make them complicatedKT-74221MakeFirSupertypesCheckera platform checkerKT-72962Consider enabling ConsiderForkPointsWhenCheckingContradictions LF earlierKT-74242Freeze onrunCatchingcall infinallyblock inside SAM conversionKT-29222FIR: consider folding binary expression chainsKT-73760Cannot implement two Java interfaces with@NotNull-annotated type argument and Kotlin's plain (nullable) type parameterKT-58933Applying suggested signature from WRONG_NULLABILITY_FOR_JAVA_OVERRIDE leads to red codeKT-74107K2: Calling type alias constructor with inner RHS in static scope causes runtime crashKT-74244Context parameters: context isn't checked for expect/actual property declarationKT-74276Update ASM from 9.0 to 9.6.1KT-72737Avoid function references creation in lowerings after FunctionReferenceLoweringKT-72295K2: Generated accessors for delegated property should have property sourceKT-73150Investigate/test approximation of context parameter type in completionKT-73862[Native] Decouple NativePreSerializationLoweringContext from backend.nativeKT-70507Should parentheses prevent from plus/set operator desugaring?KT-72677K2 IDE / Kotlin Debugger: “Couldn't find virtual file for p1/MainKt$foo$iface$1” on evaluating inline function from another moduleKT-72672K2 IDE / Kotlin Debugger: “Couldn't find virtual file” on evaluating inline function for enum class entries from test moduleKT-73912Cannot evaluate inline methods from another module in KMP projectKT-73765K2: Prohibit nested type aliases with inner RHS when it captures type parameters implicitlyKT-73869[Native] Move KonanSymbols out ofbackend.nativeKT-73823Kotlin/Native: IndexOutOfBounds for java.util.Map::getOrDefaultKT-73755K2: type mismatch error contains unsubstituted type parameter typesKT-72837ERROR_IN_CONTRACT_DESCRIPTION message contains compiler internalsKT-73771K2: Infinite compilation caused by buildList without typeKT-67520Change of behaviour of inline function with safe cast on value typeKT-67518Value classes leak their carrier type implementation details via inliningKT-71767Generate default compatibility bridges in -Xjvm-default=all/all-compatibility modeKT-73716Context parameters expose visibilityKT-73671Context parameters: val/var on context parameter on a property is possibleKT-73510Context parameters: It is possible to declare a context for init blockKT-72305K2: Report error when using synthetic properties in case of mapped collectionsKT-72429StackOverflowError when compiling large filesKT-72500K2 Debugger: NSME on evaluating lambda with a call to internal class fieldKT-73845K2: IllegalArgumentException during FIR2IR transformation when processing nested default values in annotationsKT-73538K2 IDE / Kotlin Debugger: ISE “couldn't find inline method" on evaluating internal inline function with default arg from main module in test moduleKT-73347K2: Expected is FirResolvedDeclarationStatusKT-71226K2 Evaluator: Code fragment compilation with unresolved classes does not fail with exceptionKT-73902Clean-up code around lateinit inline/value classesKT-73693K2: DslMarker checker doesn't report violation for callable reference with bound receiverKT-73667K2: DslMarker checker ignores function type annotations for invokeExtensionKT-72797K2 IDE / Kotlin Debugger: AE “No such value argument slot in IrCallImpl” on evaluating inc()-operator for private fieldKT-68388Compiler crash on convesion to fun interface with extension receiverKT-73801False positive CONFLICTING_OVERLOADS between base suspend fun and derived propertyKT-62833K2: Run smoke FP tests with SLOW_ASSERTIONS enabledKT-54068Context receivers with lambda nesting result in Type mismatchKT-51383Lambdas with context receivers do not accept context receivers from scopeKT-73331Context parameters implicit invokeKT-73650Implement DIFFERENT_NAMES_FOR_THE_SAME_PARAMETER_IN_SUPERTYPES for K2KT-73745Migrate modularized tests to the latest stable versionKT-70233Implement a deprecation error for FIELD-targeted annotations on annotation propertiesKT-72996false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operatorKT-73791Forbid usinginlineandvalueclass modifiers togetherKT-73704[Native] Decouple KonanIrLinker from cinterop deserializationKT-73641Context parameters DSL marker supportKT-59880K2: Disappeared CONFLICTING_OVERLOADSKT-73339K2: "VerifyError: Bad type on operand stack" because of missing implicit cast on generic field receiver with star projectionKT-72585K2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace top-level type with star projection: SKT-59443K2: Implement missing K1 diagnosticsKT-67517Value class upcast to Any leaks carrier type interfacesKT-73527Prohibit (via a deprecation warning) accessing nested class through generic outer classKT-72852JAVA_CLASS_ON_COMPANION compiler warning missing in K2KT-71704K2: subAtom already initializedKT-73399compile-time JVM codegen failure on a KProperty argument of a KSuspendFunction parameterKT-72281K/N: "Failed to wait for cache to be built"KT-73049Kotlin Debugger: CNFE on evaluating local function inside lambdaKT-72725KMP: Unsupported actualization of inherited java field in expect classKT-73476K2: Visibility of nested type aliases is not respected if RHS is innerKT-72957K2: Don't use offsets for mapping annotations from IR plugins injected into metadataKT-72814FIR: don't use function references in FirThisReferenceKT-73143Context parameters resolution leftoversKT-71649K2: Put operator on mutableMap<T?, V>() causes crashes on null keyKT-72832Erroneous implicit cast inserted by smartcastKT-72930K2 IDE / Kotlin Debugger: ISE “couldn't find inline method” on evaluating internal inline function from main module in test moduleKT-73095K2: "Failed to find functional supertype for ConeIntersectionType"KT-70366K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class "KT-73260Rename context receivers to context parameters in frontendKT-73375K2/JVM: -Xuse-type-table generates incorrect metadata for local delegated propertiesKT-72470Annotations on effect declarations are unresolvedKT-72409False negative "Type parameter is forbidden for catch parameter"KT-72723K2: Replace unused FIR properties required by inheritence with computed propertiesKT-72246Exception from FirReceiverAccessBeforeSuperCallChecker on red codeKT-47289No error on companion object inside inner class in enum constructor callKT-46120No error reported when Java interface method is implemented by delegation to Java class where corresponding method has different generic signatureKT-72746K2: No IR overriddens generated for Nothing.toStringKT-70389K2: StackOverflowError at org.jetbrains.kotlin.fir.resolve.calls.CreateFreshTypeVariableSubstitutorStage.shouldBeFlexibleKT-72537[FIR Analysis] 'IllegalArgumentException: source must not be null' when typing '++++' (four pluses)KT-73010K2: RefactorDispatchReceiverMemberScopeTowerLevel.processMembersKT-72924Extension property declaration shouldn't be possible in whenKT-72826UNUSED_LAMBDA_EXPRESSION compiler warning missing in K2KT-25513Report compilation error when in generated JVM bytecode there is a need for CHECKCAST to inaccessible interfaceKT-73153K2: Standalone diagnostics on type arguments are not reportedKT-71252JVM: Set the proper visibility to backing fields of lateinit propertiesKT-73213K2: Initialize outer type parameter refs for inner (local) type aliases during FIR buildingKT-73215Set up isInner property for inner type aliases during FIR buildingKT-73088K2: Introduce NestedTypeAliases experimental featureKT-73192K2: FirJavaField has incorrect modalityKT-60310K2: introduce FirErrorContractDescription to distinguish unresolved contract from error oneKT-73008K2: Resolve nested type aliases in derived classesKT-73009K2: Treat nested type aliases as classes during supertypes resolution (they are not inner by default)KT-59886K2: Disappeared ERROR_IN_CONTRACT_DESCRIPTIONKT-72839Rewrite processConstraintStorageFromExpression using resolution atomsKT-73147Context parameters FIR2IR supportKT-72789Fix inconsistent IR produced by ScriptsToClassesLowering for script instance featureKT-66711K2: INITIALIZER_TYPE_MISMATCH is reported on the whole lambda instead of RETURN_TYPE_MISMATCH on each return expressionKT-73011K2: Allow overloads resolution for callable references based on expected type variable with constraintsKT-73031K2: Callable reference unresolved inside elvis with a complex function typeKT-66161K2: False-positive REDUNDANT_VISIBILITY_MODIFIER for protected modifier in private classKT-73065CCE with context receiversKT-72345K2: Method 'get' without@Overrideannotation not calledKT-69981K2: Refactor ResolutionMode.WithExpectedType.expectedType to be a ConeKotlinTypeKT-68363ABSTRACT_MEMBER_NOT_IMPLEMENTEDdiagnostic reported only for the first not implemented functionKT-72105JVM: typeOf() result is sometimes incorrectly optimized to null in bytecodeKT-72813FIR: fix containing declaration for annotations of a receiver parameterKT-72552AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped typesKT-71751K2: Skipping code in last statement of lambdaKT-72863K2: failed compilation for a context receiver with an annotated typeKT-68984K2: Typealiased SAM constructors resolve to the expanded interfaceKT-57471K2: Wrong diagnostics for named lambda argumentsKT-69560Tidy up test data that affected byPrioritizedEnumEntriesorProperUninitializedEnumEntryAccessAnalysisfeaturesKT-72894"Placeholder projection cannot be mapped." error from resolve when using placeholder in a typealiasKT-70886FIR/AA: Reduce strong memory footprint of cached symbol names providersKT-72238Argument type mismatch in builder inside extension function after ?:KT-72738Simplify naming scheme for function referencesKT-72340K1/K2 difference in de-duplication of OPT_IN_USAGE and OPT_IN_TO_INHERITANCEKT-61272Frontend: error message "feature ... is experimental and should be enabled explicitly" does not explain how to do itKT-72664K2: Function type kind is not propagated for parameters of incomplete callsKT-64247K2: FirContextReceiver does not extend FirDeclarationKT-67383Incorrect optimisation when optimising for loop with UByteKT-70975K2: Confusing INVISIBLE_REFERENCE message when accessing nested class in private-in-file classKT-72743CCE inFirUninitializedEnumChecker:FirPropertySymbolcannot be cast toFirEnumEntrySymbolKT-71708False negative UNSUPPORTED for collection literals as trailing return valueKT-67707K2: CCE "ArrayMapImpl cannot be cast to class OneElementArrayMap" from FIR evaluatorKT-71966Seemingly bug in SupertypeComputationSession#breakLoopForKT-17455Confusing error message "There's a cycle in the inheritance hierarchy for this type" when outer class inherits nested classKT-71119K2: "AssertionError: Should be primitive or nullable primitive type" caused by comparing Double/Float and Any successor typeKT-57527K1/K2: "IllegalArgumentException: Some properties have the same names" with inline classKT-57851Wrong ValueClassRepresentation inside value classKT-67998K2: CANNOT_INFER_PARAMETER_TYPE on incomplete call inside if in a Java SAMKT-71961K2 debugger evaluation ClassCastException in IrElementsCreationUtilsKt#createFilesWithBuiltinsSyntheticDeclarationsIfNeededKT-72504OptimizeKotlinLocalVirtualFile.isDirectoryfor parent virtual filesKT-71399Kotlin Script: NPE on type resolveKT-69283Incorrect synthetic line numbers when inlining suspend funsKT-52929Java cannot extend instantiations of generic Kotlin collections in the presence of instantiated Kotlin subclassesKT-71885K2: confusing message when lateinit var is assigned onceKT-69920K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilationKT-55894NI: Compile errors for out-projected types are more cryptic than previouslyKT-72231K2: NONE_APPLICABLE instead of NAMED_ARGUMENTS_NOT_ALLOWED for non-Kotlin functions with overloadsKT-72422KMP: False-positive report of ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT on SublcassOptInRequiredKT-72257'javaClass' method cannot be evaluated in Kotlin project itselfKT-72408Introduce new TYPE_VARIANCE_CONFLICT diagnosticsKT-71508JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported when java class is inherited from an effectively private classKT-72177K2: Argument type mismatch when using star projectionKT-72245K2: When Java source roots are passed by file, fully qualified deep packages are unresolvedKT-63923Confusing error messages for TYPE_MISMATCH from inferenceKT-57708Unclear TYPE_MISMATCH messages in certain situations with genericsKT-72178K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "_" as key type in EnumMapKT-62455"NullPointerException" with 'multi-field value class'KT-72302K2: no error on type operator in annotation parameter default valueKT-72212[Scripting] Guava dependency is not packaged correctlyKT-71662PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variableKT-72229K2: Change LV of ProhibitConstructorAndSupertypeOnTypealiasWithTypeProjection to 2.2KT-70256K2: Check forMISSING_BUILT_IN_DECLARATIONnot only for JVM but for all platformsKT-72173K2: simple object names from root package are resolved without imports in non-root packages when used as valuesKT-71480JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported while java object isn't createdKT-60034K2: Introduced NO_GET_METHODKT-72199K1: Match the shape of references to synthetic Java properties to the shape of their gettersKT-15672Improve diagnostics for accessing Enum companion object from enum constructorKT-71321K2: ClassCastException caused by missed type mismatch when passing a method referenceKT-72041Extra checkers: false-positive unused parameter warnings on implicit lambda parametersKT-71959NO_VALUE_FOR_PARAMETER should use actual lambda parameter nameKT-69985K2: simple classifier names from root package are resolved without imports in non-root packagesKT-70139Remove dependencies of debugger on K1 and old JVM backendKT-72142PSI: unrelated enums are treated as equivalentKT-57358False positive "Const 'val' initializer should be a constant value" caused by equality with literalsKT-71753PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignmentKT-70844K2 IDE: deprecated marker shouldn't highlight not deprecated type argumentKT-70854K2 IDE: annotation on delegation causes illegal argument exceptionKT-56901NI: Missing error on passing star-projection to reified type argumentKT-70856K2: IllegalStateException: Non-empty unresolved argument listKT-71897K2: Don't erase in projections in SAM conversion if -Xsam-conversion=class like in K1KT-66464IntroduceisInlineableparameter forFunctionTypeKindKT-71590K2: false alarm fromUselessCallOnNotNullCheckerKT-71919Wrapped ProcessCanceledException in GenerationState#loadClassBuilderInterceptorsKT-70922PSI for KtPropertyAccessor is inconsistent with KtNamedFunctionKT-28598Type is inferred incorrectly to Any on a deep generic type with out projectionKT-71490K2: missing REDUNDANT_ELSE_IN_WHENKT-36107Remove deprecated mod operator conventionKT-71166Generic synthetic property is unresolved when parameterized with UnitKT-71738K2: False negative REDECLARATION inside object expressionKT-59908K2: Disappeared RECURSIVE_TYPEALIAS_EXPANSIONKT-69937Define & enforce user-friendly terminology for extended checkersKT-68834Parentheses don't influence calls of any convention operators (except invoke operator) after safe navigation operatorKT-58437K2: Do not use descriptors in KonanSymbolsKT-18563Do not generate inline reified functions as private in bytecodeCompose compiler
b/397855145Fix "Unknown file" error in target annotation inferenceb/377499888Allow restarting overridden functions in a final classb/390151896Fix default arguments with varargs in@Composablefunctionsb/388030459Kotlin compiler backend exception when lambda with anonymous object is memoizedb/310004740Check vararg parameter length in skipping logicb/393400768Use -1 for.changedcall if nullable enum parameter isnullb/388505454Change order of $changed bits with context parametersb/165812010Support default values in open@Composablefunctions (K2 only)b/285336821Use stability of parent class in stability inferenceb/353744956Fix context receiver/parameter handling in Composeb/195200551CallEnum#ordinalon enum values passed to Composer#changedb/378697545Avoid using ComposableSingletons inside public inline functionsb/376148043Use remember function source key for intrinsic rememberb/345204571Remove IR offsets for conditions generated by Compose compilerb/376058538Fix stack overflow when inferring stability of indirect generic loopb/339322843Transform@Composableproperty delegate referencesCMP-75711.8.0-alpha03 incompatible with Compose based on k1IDE
KT-59445Recursion detected on input: JavaAnnotationImplIR. Actualizer
KT-68830Compiler crash on missing actual classKT-71809Kotlin-to-Java direct actualization: the property isn't actualized by overridden getterKT-71817Actualization of static members is broken for non-JVM platformsIR. Inlining
Fixes
KT-69681IR: Report warnings on exposure of private types in non-private inline functionsKT-72776[JS] Add lowerings around inlining of private functions to the common prefix at the 1st phase of compilationKT-72775[JS] Add lowerings up to "cache private inline functions" to the common prefix at the 1st phase of compilationKT-72440[Native] Add lowerings around inlining of private functions to the common prefix at the 1st phase of compilationKT-72439[Native] Add lowerings up to "cache private inline functions" to the common prefix at the 1st phase of compilationKT-74039IR proto: Rename properties of IrInlinedFunctionBlockKT-73987Cherry-pick the fix for KT-73482 to 2.1.20-Beta1KT-73475Fix validation errors forsharedBox...methodsKT-73588Support serialization/deserialization of IrReturnableBlock and IrInlinedFunctionBlockKT-69009Merge -Xverify-ir-visibility-after-inlining and -Xverify-ir-visibility CLI flagsKT-72915UseLoweringContextinstead ofCommonBackendContextfor the first stage of compilationKT-73101Try to unboundJsIntrinsicfromJsIrBackendContextKT-73110Unbind JS version ofSymbolsfromSymbolTableKT-73108Unbind JS version ofSymbolsfrom contextKT-71864[JS] Run IrValidator as the first lowering in 1st compilation phaseKT-73103SwitchInlineCallableReferenceToLambdaPhaseto useLoweringContextKT-73098UseLoweringContextforNativeInlineFunctionResolverKT-73096ChangeLateinitLoweringto useLoweringContextinstead ofCommonBackendContextKT-71141Merge lateinit-related loweringsKT-73099UseBackendContextfor theJsCodeOutliningLoweringKT-73097Try to useBackendContextforLocalDeclarationsLoweringKT-73035Remove field of type SymbolTable from SymbolsKT-72919MoveJsCommonBackendContext.coroutineSymbolsintoSymbolsKT-72916DropsymbolTablereference fromBuiltinSymbolsBaseKT-72912RewriteandAllOuterClasseslocated inFunctionInliningKT-72910MoveisSideEffectFreeto theSymbolsKT-72907ExtractSharedVariablesManagerfromBackendContextKT-72905UnbindKonanSharedVariablesManagerfromKonanBackendContextKT-70961[K/N] Test IR inliner on 1st stage with box testsKT-72884Internal error in body lowering: IllegalStateException: Can't inline given reference, it should've been loweredKT-72920Dropcontextparameter fromJsCommonCoroutineSymbolsKT-72906UnbindJsSharedVariablesManagerfromJsIrBackendContextKT-67298Write tests for deserialization/serialization of unbound IRKT-72521Kotlin/Native: java.lang.AssertionError: kfun:androidx.compose.runtime#access$<get-androidx_compose_runtime_ProvidedValue$stable>$p$tComposerKt(){}kotlin.IntKT-67220Drop caching of deserialized/lowered inline functionsKT-72623Don't generate synthetic accessors in files other than the one being loweredKT-71859[K/N] Run IrValidator as the first lowering in 1st compilation phaseKT-67292Handling assertions before the IR inlinerKT-70423KLIB: SyntheticAccessorLowering - generate static factory functions instead of synthetic constructorsKT-69765Add language feature to enable IR inliner in K2 1st phaseIR. Interpreter
KT-72356K2 Native: IllegalStateException when annotation has the same source range as a constant in another fileKT-71903[K/N] Find a way to set up a synchronization point for the IR interpreterKT-66450IR interpreter can't handle entries of lowered enumsKT-71971K2 evaluator error on casting object of value typeIR. Tree
Performance Improvements
KT-744968% performance regression in loweringsKT-72211Refactor IrValidator to speed upFixes
KT-73553[Native] Create testrunners for serialization testsKT-73224Migratecompiler.ir.interpreterto new IR parameter APIKT-73179Drop IrAttributeContainerKT-67545Autogenerate DeepCopyIrTreeWithSymbolsKT-73222Migratecompiler.ir.inlineto new IR parameter APIKT-72735Add new IR nodes for callable referencesKT-73248MergeFileValidatorandCheckIrElementVisitorintoIrValidatorKT-73221Migratecompiler.ir.actualizationto new IR parameter APIKT-73219Migratecompiler.tests-compiler-utilsto new IR parameter APIKT-73194[IR] Consider moving platform-independent funs from SymbolLookupUtils to SymbolFinderKT-73218Migratecompiler.tests-common-newto new IR parameter APIKT-73227Migratejs:js.teststo new IR parameter APIKT-73258[IR] Separate new lookup functionality from IrBuiltinsKT-73063[JS][Wasm] Simplify ExpectDeclarationsRemoveLoweringKT-73350Migrate:native.tests:klib-ir-inlinerto new IR parameter APIKT-68992Fix IR serializer to handle IR with unbound symbolsKT-64866Support deserializing and serializing unbound IRKT-72619[IR] Steer checks for vararg types with new test directiveKT-69498[IR] Merge twoIrTypeUtils.ktsourcesKT-72376Disable vararg types checking in org.jetbrains.kotlin.fir.pipeline.ConvertToIrKt#runMandatoryIrValidationKT-69454[IR] Check vararg types in IrValidatorKT-68314Remove IrBuiltins from IrModuleKT-71944Move IR lowering phase descriptions to kdocKT-71826stdlib fails to compile with-Xserialize-ir=allJavaScript
Performance Improvements
KT-16379KotlinJs - ArrayList get is now slowKT-71199K/JS: charSequenceGet intrinsic should bypass Char range checksKT-73759KJS: do not fillArrayVal if using an Array init functionKT-72180Fix problems with memory spikes during JS Codegen/Box testsFixes
KT-70987KJS:@JsExport: NullPointerException with private data classKT-75606KJS: java.lang.AssertionError: Different declarations with the same signatures were detectedKT-58797Optimize the code generated for objects on JS and Wasm backendsKT-48468KJS / IR: "StackOverflowError" when long and complexjsusedKT-72437KJS. Invalidcopymethod for inherited JSO with type parametersKT-72974KJS / ESModules: EagerInitialization annotation has no effect on unused propertiesKT-71788KJS: NPE when use@JsExportwith@JsPlainObjectKT-43567KJS: toString() method and string interpolation of variable produce different codeKT-70778Kotlin Js companion is undefined in production buildKT-73130KJS: Missedbreakfor do/while in generated JS codeKT-68067KJS: Overriding methods with default parameters doesn't workKT-71656K2 JS: "IllegalStateException: Class has no primary constructor: kotlin.ULong"KT-72598KJS: Nested@JsPlainObjectdoes not workKT-70078@JsPlainObjectcompiles broken code when inlining suspend functionKT-68904@JsPlainObjectbreaks when inside a file with@file:JsQualifierKT-74067KJS: ES class constructor is generated with 'return this'KT-72883[JS] AbstractSuspendFunctionsLowering crashes on private top level suspend funKT-70533KJS: changed string concatenation behavior in 2.0KT-71949K/JS: investigate test failures in MPP codegen tests with friend dependenciesKT-71857[JS] Add new step to codegen tests for IR inliner invocationKT-14013JS toString produces different result for nullable/non-nullable ref to the same arrayKT-70803Investigate generating call with invalid argument count in Js BackendKT-72200Remove legacy JS test executorsKT-68332Remove legacy Nashorn script engineKT-39337KJS: remove LabeledBlockToDoWhileTransformation and related thingsKT-72732KJS / ES6: "SyntaxError: 'super' keyword unexpected here" with enabled-Xir-generate-inline-anonymous-functionsand disabled arrow functionsKT-71821K/JS tests are failing with coroutines flow and turbine on timeoutKT-70227Remove JS from theorg.jetbrains.kotlin.test.TargetBackendenumKT-71855ES6ConstructorLowering sets extensionReceiver to a function without extension receiverKT-70226Delete JS tests that were only run with the legacy JS backendKMM Plugin
KT-66458KMM Wizards: Get rid of deprecated 'kotlinOptions'Klibs
Fixes
KT-70146[KLIB Resolve] Don't fail on nonexistent transitive dependencyKT-75393Non-JVM artifacts from Kotlin 2.1.20-RC fail on 2.1.x releases due to IMPLICIT_ARGUMENTKT-74045Context parameters: conflicting signatures for properties with/without context on the non-JVM backendsKT-74050Kotlin 2.1.0 with K1 throws a signature mismatch of Ir and Descriptor for Composable lambdaKT-73589Design & implement signatures for context parametersKT-73721NativeLibraryAbiReaderWithManifestTest - move to Common BE testsKT-73855[Klibs] Changing function body causes change to header klibKT-73474CreateNonLinkingIrInlineFunctionDeserializerdirectly inside inline function resolverKT-72627IrInstanceInitializer is always deserialized having kotlin/Unit typeKT-71500Improve "incompatible ABI version" error messageKT-72965Ignore subclassOptInRequired constructor warningKT-69309Separate pure KLIB tests from Kotlin/Native testsKT-71917[JS] Make it possible to run IR lowerings before serializing to KLIBsKT-67474K2: Missing@ExtensionFunctionTypein metadata in KLIBsKT-68756[K/N] Make it possible to run IR lowerings before serializing to KLIBsKT-72333Ensure KLIBs with old local signatures (< 2.1.20) are mutually compatible with KLIBs with new local signatures (>= 2.1.20)KT-71633[2.1.0] Suspicious "Argument type mismatch" errorKT-71333KLIB cross-compilation: Add additional testsLibraries
New Features
KT-72480Move Instant and Clock from kotlinx-datetime to stdlibKT-31880UUID functionality to fix Java bugs as well as extend itKT-54606Print program name in Kotlin/Native executablesPerformance Improvements
KT-72492Improve String.toFloatOrNull performanceKT-70695Float/Double.isFinite can be optimizedFixes
KT-73654Remove org.w3c packages from stdlib documentationKT-62423Consider providing Common atomic typesKT-28492Merge sources when building kotlin-osgi-bundleKT-74173The sample code oflazyon stdlib can not run on playground due to "samples" package importKT-73695PublishedApi KDoc's link to inline functions page is not rendered properlyKT-73817Part 1. Moving Atomics to kotlin.concurrent.atomics: bootstrap updatesKT-73743UninitializedPropertyAccessException on AtomicReference initializationKT-73820Part 2. Moving Atomics to kotlin.concurrent.atomics: move the API to the new packageKT-73816Moving common Atomics to kotlin.concurrent.atomics packageKT-73747AtomicBoolean.asJavaAtomic() and AtomicBoolean.asKotlinAtomic() have unnecessary type parameterKT-74641k.t.Clock: bypass thread state validation for std::chrono::system_clock::now()KT-74676Wasm: common atomic API actualizations are annotated with wrong experimental annotationKT-74600Common atomic types could be used without explicit opt-inKT-73291Uuid.random() requires security context in WasmJsKT-69575kotlin.uuid.Uuid is not ComparableKT-54859kotlin.repeatshould document behavior in the case of negative argumentsKT-74294Make the Uuid.parse function able to parse multiple formatsKT-74279Introduce Uuid.parseHexDash() and toHexDashString()KT-74272Introduce Uuid.fromUByteArray and toUByteArrayKT-74314Reduce bitwise operations on Longs in Uuid implementationKT-73391Provide samples for common atomics APIKT-73890Add kotlin-metadata-jvm to .zip compiler distributionKT-71099Mention that selector for maxBy/minBy family is not invoked for 1-element collectionsKT-71762ReplaceWith properties kdoc is rendered with extra spacesKT-73740Unresolved reference 'AtomicBoolean' in 2.1.20-Beta1KT-73762Warn about@Transientbeing not sound to use with non-nullable typesKT-50395Stdlib documentation for StringBuilder.removeRange is unclearKT-36863Specify which element is returned from max/min functions if multiple elements are equal to min/maxKT-71606Provide Atomic and AtomicArray builtins in a bootstrap compilerKT-73064Samplification of the Optional extensions documentationKT-69545Kotlin/Native: Deprecate API marked with FreezingIsDeprecated to errorKT-61184Drop redundant@Suppressfrom some classes in stdlib. After stdlib migration to K2KT-72380Incorrect Duration parsing with extra leading zeros in components and multiple signsKT-72278Clean up redundant stdlib code for Kotlin 2.1KT-49026Add Regex.replace/replaceFirst samplesNative
KT-75807CMP caching fails for iOS with Kotlin 2.1.20-RC2KT-70202Xcode 16 Linker fails with SIGBUSKT-74377Kotlin Native: release executable crashes with error 139KT-73559K/Native: AndroidNativeArm64 linking fails starting from Kotlin 2.1.0KT-71976[Native][KLIB Resolve]: compilation error if libraries have the sameunique_nameand the strategy is allow-all-with-warning or allow-first-with-warningNative. Build Infrastructure
KT-72063Jars usingnativein their name are incompatible with JPMSKT-70990Kotlin/Native: fix stdlib building taskKT-71820Update the coroutines version used in kotlin-native build infrastructureKT-71261Kotlin/Native: enable gradle caching for runtime building tasksNative. C and ObjC Import
KT-74043Drop obsolete parts of Skia (aka ad-hoc C++) importNative. ObjC Export
KT-72673Native: objc2kotlin "virtual" bridges have no debug infoNative. Swift Export
KT-73623Swift Export: Interfaces: Add protocol printingKT-72703Translate valueOf into static funcKT-72102Create test infra for swift export in IDEKT-72096Create module for swift-export-in-ideKT-71898Swift Export: support List in overridesTest Infrastructure
KT-67281[Tests] Introduce an obligatory diagnostics test directive to choose a test runnerKT-62472Remove suppressions of warnings which are presented only in K2 but not in K1 compiler in Kotlin projectKT-72094K2: switch DEBUG_INFO_EXPRESSION_TYPE to regular FIR infrastructure for type renderingTools. CLI
KT-73319Migrate the main JVM CLI pipeline to the phased structureKT-74099Add CLI argument to enable nested type aliases featureKT-69384Add a way to force colored compiler diagnostic outputKT-73320Migrate the main JS CLI pipeline to the phased structureKT-73922CompileEnvironmentUtil.writeToJaris unbufferedKT-73967JDK 25: "IllegalArgumentException: 25-ea" with EA buildsKT-72927CombineFlexiblePhaseConfigandPhaseConfigKT-73244:compiler:cli-basedepends on:compiler:ir.serialization.jvmto read a single propertyKT-70179K2: Building a file with kotlin-test-junit without junit does not include annotationsKT-41756Sanitize stack trace in 'kotlin' runner CLI scriptTools. Commonizer
KT-74623Drop metadata version check from KLIB commonizerTools. Compiler Plugin API
KT-71212Allow compiler plugins to write custom data to declarations metadataTools. Compiler Plugins
New Features
KT-53563Kotlin Lombok: Support@SuperBuilderKT-71547Lombok Compiler Plugin Does Not Support@Builderon ConstructorsFixes
KT-73897PowerAssert: Implicit argument detection is brittle in a number of casesKT-74315Kotlin Lombok: "Unresolved reference" on generating@Builderfor static inner class where outer class is also using@BuilderKT-74102"Lambda cannot be cast to class kotlin.jvm.functions.Function0" in 2.1.20-Beta1 with ComposeKT-75159Compose: Missing 'FunctionKeyMeta' annotation on lamdas declared in non-composable functionKT-58695Lombok Builders's subclassing leads to 'Unresolved reference'KT-73871PowerAssert: Comparison via operator overload results in confusing diagramKT-73898PowerAssert: Operator calls with multiple receivers incorrectly alignedKT-73870PowerAssert: Object should not be displayedKT-73895jvm-abi-gen: $serializer class name is written incorrectly to InnerClasses attributeKT-73349Migrate power-assert sources to new IR parameter APIKT-73366Migrate parcelize sources to new IR parameter APIKT-72824Kotlin power-assert plugin StringIndexOutOfBoundsExceptionTools. Compiler plugins. Serialization
KT-71072KxSerialization: KeepGeneratedSerializer and sealed class in Map causes initialization-errorKT-73830[Kotlin/Wasm] CompileError: WebAssembly.Module(): Compiling function #10198:"kotlinx.serialization.$serializer.serialize" failedTools. Daemon
KT-73311"Unable to release compile session, maybe daemon is already down" flakinessKT-70556Add support for SourcesChanges.ToBeCalculatedKT-72530The daemon has terminated unexpectedly on startup attempt #1 with error code: UnknownKT-72373Fix naming for the new daemon symbols added after KT-69929Tools. Fleet. ObjC Export
KT-73237ObjCExport: immutable property translated as mutableTools. Gradle
New Features
KT-41409Gradle: Support binaries.executable for jvm targetsKT-58830Expose AdhocComponentWithVariants API on KGP generated componentKT-72320Gradle Plugin Diagnostics Reporter: add emojis to increase visibilityPerformance Improvements
KT-69613Remove usages ofgetCanonicalPathandgetCanonicalFilein plugins codeKT-68136Gradle: improve classloaders cache evictionFixes
KT-73842Gradle: AGP failing tests with "Failed to calculate the value of property 'generalConfigurationMetrics'" using KGPKT-74394KGP + isolated projects: "Something has been appended to this collector already"KT-75262Gradle test-fixtures plugin apply order breaks the projectKT-75277FUS statistics: 'java.lang.IllegalStateException: The value for this property cannot be changed any further' exception is thrown during project importKT-75026Corrupted NonSynchronizedMetricsContainer in parallel Gradle buildKT-74997Unexpected KGP warnings about kotlin scripting pluginKT-74322Enable source information by default in Compose compiler gradle pluginKT-72337kotlin-android-extensions plugin should fail the build on applyKT-72967Remove deprecated KotlinPlatformJsPluginKT-74846Gradle Configuration Cache miss on second build with 2.1.20-Beta2KT-74462Flaky Kotlin Gradle Plugin Tests: IsInIdeaEnvironmentValueSource$Inject not foundKT-74415Make composeCompiler.includeSourceInformation true by defaultKT-73782KGP diagnostics reporter: emojis added to KGP warning/errors are displayed broken on WindowsKT-74095Make ToolingDiagnosticBuilder internal APIKT-74124Gradle: error message regression of incompatible Gradle version usageKT-74639Executable binaries for JVM test cannot be created unless an additional suffix is set in GroovyKT-73728'generatePomFileForMavenPublication' creates pom with dependencies with 'unspecified' versionKT-73974Configuration cache when run Xcode tasks without xcode's environmentKT-74476KGP uses internal Gradle API, DefaultArtifactPublicationSetKT-62273Use new FUS plugin in KotlinKT-72963Remove deprecated KotlinPlatformAndroidPluginKT-74017Remove kotlin.androidExtensionsPlugin.enabled flagKT-73749KGP diagnostics reporter: emojis are duplicated if a gradle task is executed from the IDEA UIKT-72467kotlin.sourceSets extension not added for KotlinBaseApiPlugin.createKotlinAndroidExtension()KT-74143Gradle: Add workaround for gradle/gradle#31881KT-72384Run Gradle Integration tests against Gradle 8.11KT-70150Android Kotlin Compile Task has ClassPath BackwardsKT-72495Warn about kotlin-compiler-embeddable loaded along KGPKT-71549K2: NoSuchMethodError: org.jetbrains.kotlin.incremental.storage.ExternalizersKt.saveToFile with dependency lockingKT-67277Gradle: decommission properties to disable precise task outputs backupKT-73795Fix failing checkNodeJsSetup test on WindowsKT-72383Compatibility with Gradle 8.11 releaseKT-72394ProjectDependency.getDependencyProject() is deprecated in Gradle 8.11KT-72385Compile against Gradle API 8.11KT-71711KGP: Kotlin Stdlib is leaking when KGP is applied in buildSrcKT-73128Apply Kotlinlang template for partial HTMLsKT-58858Add KDoc documentation for Kotlin Gradle plugin APIKT-73076Kotlin Gradle Plugin API Reference: adjust settingsKT-72651Unable to usetargetfor KotlinBaseApiPlugin.createKotlin(Jvm/Android)Extension()KT-72303KGP 2.1.0-Beta2 broke compatibility with KSPKT-71405Compose compiler gradle plugin: project.layout.file can't be used as a value of the 'stabilityConfigurationFiles' optionKT-71948KotlinJvmFactory : get rid of replaces with TODO()KT-72092Gradle: use packed klib variant as the default when no packaging attribute is presentTools. Gradle. JS
KT-75485KJS: "Module not found: Error: Can't resolve 'style-loader' and 'css-loader'" in 2.1.20-RCKT-74869KJS:jsBrowserProductionWebpackdoes not minify output with 2.1.20-Beta2KT-74859Gradle configuration cache issues related to RootPackageJsonTaskKT-72175JS, Wasm: Deprecate non-Provider API in JS infrastructure extensionsKT-66388KJS / Gradle: Allow using an insecure protocol to download Node.js/Yarn when setting up project using Gradle >= 7KT-73614org.jetbrains.kotlin.gradle.targets.jsAbstractSetupTask.destinationProvider should be publicKT-72027JS target build fails on ARM64 WindowsKT-71362KGP/JS: moduleName is not compatible with convention pluginsKT-72874KJS: NodeJsRootExtension: "'download: Boolean' is deprecated. Use download from NodeJsExtension (not NodeJsRootExtension) instead You can find this extension after applying NodeJsPlugin. This will be removed in 2.2"KT-72872Js, Wasm: downloadBaseUrl in NodeJsEnvSpec could not be disabledTools. Gradle. Multiplatform
Performance Improvements
KT-71888Default Target Hierarchy results in very large heap usage/OoM when resolving IDE dependencies in larger projectsFixes
KT-66542Gradle: JVM target withwithJava()produces a deprecation warningKT-71074Optimize Granular Metadata Dependencies Transformation for Import after adding support for Project IsolationKT-74669Executable binaries for JVM: a jar generated by jvmJar task isn't added to the build/install/testAppName/lib directoryKT-37964Gradle application/distribution plugin does not copy and name jar files correctly when using installDist task for multiplatform projectKT-30878It's impossible to have .java sources in a Multiplatform Gradle Project with Android, becauseandroid()andjvm { withJava() }targets can not be applied to one and the same Gradle ProjectKT-66962Kapt with Kotlin Multiplatform: Cannot query the value of this provider because it has no value availableKT-74898The wording for the warning about incompatible 'application' plugin should be updated to suggest using the new binaries DSLKT-72488Unify freeCompilerArgs property in swiftExport and compilerArgsKT-74727Dependency resolve from a single target KMP module to another kmp module fails on non-found PSMKT-75062Remove usage of deprecated ProjectDependency.getDependencyProjectKT-71130Enable Isolated Projects support by default for KMPKT-74832Relax JVM target validation diagnostic in KMP/Jvm projectsKT-57280Expose Kotlin Project Structure metadata via consumable configurations instead of accessing all gradle projects directlyKT-72130Gradle Project Isolation Violation in build.gradle due to KGPKT-74298Incorrect DSL for swift export settings under the export nodeKT-73620KMP 2.1.0: Transitive dependency is broken when setting publication groupIdKT-72112KotlinNativeLink task fetches configuration that might not existKT-49155MPP, Gradle: Cannot usetest-retry-gradle-pluginwith Kotlin multiplatform testsKT-61816Remove Legacy Multiplatform Gradle PluginKT-72068Distribution for klib cross-compilation is not downloaded during compile tasksKT-64998Granular Metadata Dependencies Transformation is not compatible with Project IsolationKT-72454Revert changes made in KT-69899 i.e. make kotlin.android.buildTypeAttribute.keep = false by default againKT-70380KMM App failed to consume android binary libKT-71529Deprecate targetFromPreset API with an errorTools. Gradle. Native
KT-71398kotlinNativeBundleConfiguration should not contain dependencies on unsupported platformsKT-74403:commonizeNativeDistribution fails when configured native targets cannot be built on machineKT-62826Show a warning when KGP and K/N versions mismatchKT-73572[Gradle]kotlin.native.cacheKind=nonedoesn't work anymoreKT-71722kotlinNativeBundleConfiguration present in JVM-only Gradle projectKT-72686Add warning about Kotlin native home conflict declarationKT-71419Light bundle KGP IT run against a stable K/N versionKT-70558False positive up-to-date status for CInterop tasks after changes in .h filesTools. Gradle. Xcode
KT-71535embedSwiftExportForXcode doesn't report configuration error about missed dependencyKT-72485Swift Export DSL exposes unused options inbinariessectionKT-66894XCFramework task fails when name passed to xcframework DSL is different from framework's nameKT-65675XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworksTools. Incremental Compile
KT-69333Remove built-in ABI snapshot implementationKT-55940Kotlin 1.8.0 compiler hangs indefinitelyKT-29860Incremental compilation looping or incorrect resultsTools. JPS
KT-73688Make it possible to build and run JPS locallyKT-73607JPS incremental compilation is broken after KT-71549KT-68565K2: IllegalStateException: Source classes should be created separately before referencingTools. Kapt
KT-75202K2 kapt: mapped type class literal is converted incorrectlyKT-64385K2: Enable K2 KAPT by defaultKT-71154Kapt tests: EXPECTED_ERROR directive is checked incorrectlyKT-71776K2 Kapt in 2.1.0-Beta1 fails withe: java.lang.IllegalStateException: FIR symbol "class org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol" is not supported in constant evaluationTools. Maven
KT-69231PowerAssert: Create maven plugin for power-assertTools. Scripts
KT-72277Legacy REPL implementation is still based on the old backendTools. Wasm
KT-72157Turn on custom formatters feature by default in development buildsKT-71361[Wasm] Make all production-mode binaries optimised with binaryenv2.1.10: Kotlin 2.1.10Changelog
Compiler
KT-73858Compose / iOS: NullPointerException on buildingKT-73454K2: Fix type parameters mapping for typealiases with inner RHSKT-73043K2 Compiler does not allow references to inner constructors with typealiasesKT-74040Compilation of inner class usage does not check the visibility of parent class during compilation in different roundsKT-73339K2: "VerifyError: Bad type on operand stack" because of missing implicit cast on generic field receiver with star projectionKT-72585K2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace top-level type with star projection: SKT-73399compile-time JVM codegen failure on a KProperty argument of a KSuspendFunction parameterKT-72725KMP: Unsupported actualization of inherited java field in expect classKT-73153K2: Standalone diagnostics on type arguments are not reportedCompose compiler
CMP-5680Compose compiler: unexpected stability warnings for classes compiled with 2.0.10b/381407900Avoid adding Compose annotations on synthetic classesIR. Inlining
KT-73981[2.1.10] SuppresscheckIncorrectCrossFileDeclarationAccesswarning for Compose<class>$stablefield accessJavaScript
KT-70778Kotlin Js companion is undefined in production buildKT-73130KJS: Missedbreakfor do/while in generated JS codeKT-58797Optimize the code generated for objects on JS and Wasm backendsKlibs
KT-70146[KLIB Resolve] Don't fail on nonexistent transitive dependencyKT-73951Workaround for "Partial linkage engine may not patch some discrepancies in IR when compiling Kotlin/Native static caches" in 2.1.10Native
KT-73559K/Native: AndroidNativeArm64 linking fails starting from Kotlin 2.1.0Tools. CLI
KT-73967JDK 25: "IllegalArgumentException: 25-ea" with EA buildsTools. Daemon
KT-73311"Unable to release compile session, maybe daemon is already down" flakinessTools. Gradle
KT-73728'generatePomFileForMavenPublication' creates pom with dependencies with 'unspecified' versionTools. Gradle. Multiplatform
KT-73620KMP 2.1.0: Transitive dependency is broken when setting publication groupIdTools. Gradle. Native
KT-73572[Gradle]kotlin.native.cacheKind=nonedoesn't work anymoreKT-71419Light bundle KGP IT run against a stable K/N versionv2.1.0: Kotlin 2.1.0Changelog
Analysis API
New Features
KT-68603KotlinDirectInheritorsProvider: add an option to ignore non-kotlin resultsPerformance Improvements
KT-70757Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbolFixes
KT-70437Class reference is not resolvableKT-57733Analysis API: Use optimizedModuleWithDependenciesScopes in combined symbol providersKT-72389K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal classKT-69190K2: False-positive "redundant private modifier"KT-64984Analysis API: Support Wasm targetKT-70375K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointerKT-71259K2 evaluator: Invalid smart cast info collecting for Code FragmentsKT-69360Lack of implicit receiver for the last statement under lambda in scriptsKT-70890Analysis API: Experiment with weak references to LL FIR/analysis sessions in session cachesKT-70657Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jarsKT-71055Suspend calls inside 'analyze()' break the block guaranteesKT-70815Analysis API: Implement stop-the-world session invalidationKT-69819K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualifiedKT-68761Analysis API: Experiment with limited-size cache inKaFirSessionProviderKT-70384Analysis API Standalone: The same class in the same two renamed jars is unresolvedKT-71067Exceptions from references cancel Find UsagesKT-69535Redesign 'containingSymbol'KT-71025K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" valuesKT-67483K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation callKT-69416K2 IDE / Completion: “No classifier found” on simple value creatingKT-70257CCE: class kotlin.UInt cannot be cast to class java.lang.NumberKT-70376K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value classKT-70264AA: service registration via XML fails with AbstractMethodError in Lint CLIKT-69950Analysis API: IntroduceisSubtypeOf(ClassId)KT-68625K2: “lazyResolveToPhase(STATUS)cannot be called from a transformer with a phase STATUS.”KT-67665K2: contract violation for value class with a constructor parameter with an implicit typeKT-67009Analysis API: Add abbreviated type tests for type aliases from source modulesKT-69977KaFirFunctionalType#getAbbreviation is always nullKT-68341Analysis API: Expanded function types from libraries don't have an abbreviated typeKT-68857Analysis API: Refactor annotationsKT-70386Do not filter out overloads from different libraries in dangling filesKT-65552K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragmentKT-65803K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"KT-68896Support VirtualFile binary dependency inputs to Analysis API modulesKT-69395K2 IDE: incorrect overload selection from binary dependencies in a shared native source setKT-68573ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue()KT-69576Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns false for companion references in implicit invoke operator callsKT-69568Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns true for non-companion references in qualified callsKT-69436Analysis API Platform: EncapsulateLLFirDeclarationModificationServiceas an engine serviceKT-63004K2: Analysis API: Design API for querying declarations generated by compiler plugins (similar to indices)KT-69452AA FIR: wrong source PSI after compile-time evaluationKT-69598AA: definitely not-null type at receiver position should be wrapped in parenthesisKT-60484Analysis API: add support for KtType pointers similar to KtSymbolPointerKT-68884Analysis API: Rename/deprecate/remove declarations as part of StabilizationKT-69453AA FIR: miss to handle expected type of lambda with explicit labelKT-69533Protect implementation parts of Analysis API with opt-in annotationsAnalysis API. FIR
Performance Improvements
KT-71566FirElementBuilder#getFirForNonKtFileElement should iterate a Psi file over and overKT-71224Analysis API:FirElementFinder.collectDesignationPathrelies on naive iteration through FIR filesFixes
KT-70327Analysis API: Batch inspection causes deadlock inValueWithPostComputeKT-69070Analysis API: Querying declared member scope for Java symbols results in exception in some use casesKT-68268LLSealedInheritorsProvider: reduce scope to kotlin filesKT-69671TYPES phase contract violation through JavaSymbolProviderKT-70624Declaration symbols from code fragments are treated as not localKT-70662NPE: FirLazyBodiesCalculatorKt.calculateLazyBodyForPropertyKT-70859Do not fail highlighting due to resolution problemsKT-70474FirLazyResolveContractViolationException from JavaSymbolProviderKT-70323FirLazyResolveContractViolationException:lazyResolveToPhase(TYPES)cannot be called from a transformer with a phase TYPESKT-71567LLFirCompilerRequiredAnnotationsTargetResolver should calculate annotation arguments on demandKT-71584getNonLocalContainingOrThisDeclarationtreats KtParameter from functional type as non-localAnalysis API. Light Classes
Performance Improvements
KT-69998Drop redundant cache from ClassInnerStuffCacheFixes
KT-69833Support value classesKT-71693Wrong name mangling for JvmField class property and companion property clashKT-71469KtLightClassForDecompiledDeclaration: missed kotlinOriginKT-70710Provide light classes for KMP modules in Android LintKT-70548SLC: text of class object access expression is not the same as raw textKT-70572SLC: missingisInheritorimplementation for type parameterKT-70491SLC: inconsistent source PSI of no-arg constructor for all default valuesKT-70458SLC: missedauxiliaryOriginalElementfor delegated propertyKT-70232Support a companion object inside value classesKT-70349@delegate:` annotations are missed for light class fieldsKT-68328Move KtLightClassBase to ULCAnalysis API. Providers and Caches
KT-65618K2: resulted FirClass.psi != requested PsiClass from completionKT-69292K2: Analysis API: A property'sMUST_BE_INITIALIZEDdiagnostic is not updated after changingfieldusage in an accessorKT-71468Drop redundant logic from LLFirJavaFacadeForBinariesKT-71700Cache result of resolveToCallKT-71520Analysis API:LLFirNativeForwardDeclarationsSymbolProviderspends a lot of time in indicesAnalysis API. Standalone
KT-65110Analysis API: In Standalone mode the order of symbols is unstableAnalysis API. Stubs and Decompilation
KT-71565KtClassOrObject should use isLocal from greenStubAnalysis API. Surface
New Features
KT-69960resolveToCallCandidatesshould support operatorsKT-69961resolveToCallCandidatesshould support propertiesPerformance Improvements
KT-70529KaSymbol: reduce the number ofcachedusagesKT-70165Introduce PSI-basedKaSymbols for K2Fixes
KT-69371Analysis API: expose only interfaces/abstract classes for the resolution APIKT-69696KaSymbolByFirBuilder should filter call-site substitutionsKT-69679KaDelegatedConstructorCall should have substituted signatureKT-70206anonymousSymbolAPI throws an exception for regular functionsKT-69699Receiver type is not substituted in the case of conflict declarationsKT-69381Analysis API: Investigate the viability of currentKaSymbolcachesKT-70199K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArgumentsKT-70661Invalid FirDeclarationOrigin ScriptTopLevelDestructuringDeclarationContainerKT-70663KaFirDestructuringDeclarationSymbol: Failed requirementKT-63490Analysis API: Accessing the Analysis API should be prohibited during dumb modeKT-63390K2: Analysis API: add annotations to KtClassInitializerSymbolKT-55124Design common ancestor for KtValueParameter and KtReceiverParameterSymbolKT-71731directlyOverridenSymbols/allOverridenSymbols works incorrectly for intersection overridesApple Ecosystem
KT-66262Deprecate and remove support for bitcode embedding from the Kotlin Gradle pluginKT-66894XCFramework task fails when name passed to xcframework DSL is different from framework's nameKT-65675XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworksKT-69119xcodeVersion task fails if Xcode isn't installed and apple-specific native targets aren't declaredBackend. Wasm
New Features
KT-70786Improve DX of the variable view during debugging in Chrome/Firefox for Kotlin/WasmKT-70331Support incremental compilation for the Wasm backendKT-71686K/Wasm: Add functions to convert between Kotlin and JS array typesKT-68185[WasmJs] Attach js exception object to JsExceptionFixes
KT-71294Wasm Artifacts/Resource are being loaded relatively instead of absolutelyKT-71473K/Wasm: Use--closed-worldand related options for BinaryenKT-72297[Wasm] Unused associated object class lead to compiler failKT-72156custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven publicKT-65799K/Wasm: remove default exports from wasm exportsKT-71800Wasm compiler: Fix member generation for data classes with an array-type propertyKT-71580String::toFloat on wasm behaves differently compared to other targetsKT-71523K/Wasm: cleanup after fix for KT-71474KT-71475K/Wasm: KClass::qualifiedName returns incorrect result for nested or companion objectsKT-71474K/Wasm: KProperty*Impl equals work incorrectly for clabbale reference created in different files or modulesKT-61130K/Wasm: Function signatures may clash with base class internal methods from a friend moduleKT-70820[Kotlin QG] wasm-validator fails when running compile[...]KotlinWasmJsOptimizeKT-70819[Kotlin QG] node.js fails when running wasmJs[...]Test KGP tasksKT-70394Investigate increased wasm binary size after switching stdlib compilation to K2KT-69627Removecreate###Arrayfunctions from WASM stdlibKT-68509Fatal: error validating input in compileProductionExecutableKotlinWasmJsOptimizeCompiler
New Features
KT-71094Kotlin/Native incremental compilation: fail compilation if cache build failedKT-21908Support 'when' exhaustiveness checking for generic type parameter with sealed class upper boundKT-70679Kotlin/Native: fill WritableTypeInfo from Swift Export type mappingKT-59798Builder inference is not working when combined withletexpressionKT-54227Cannot use nullable Nothing as reified type parameterKT-71430Kotlin-to-Java direct actualization implementationKT-68163Expose supplementary compiler warnings via CLIKT-69321Swift export: enable auto-linkage of binary dependenciesKT-11526Improve diagnostics for "X overrides nothing"KT-49710False positive NO_ELSE_IN_WHEN with nullable type as receiverKT-69729Support calling super interface Java methods from Kotlin interfaceKT-69508Improve "Public-API inline function cannot access non-public-API" check for the inline property accessorsPerformance Improvements
KT-71353FP Kotlin performance degradation (around Cone types hierarchy changes)KT-71159[K2] OOM on large enum classes with fieldsKT-69718K2: Check for jvm nullability annotations in fir2ir is slowKT-68417Native: LLVM 16 inliner is slow on K/N-produced modulesKT-63971K2: Redundant@ParameterNamein abbreviated type in metadataFixes
KT-71550JVM IR: NPE on identity equals of boolean true with nullKT-72214-fpass-plugin (clangFlags) is not applied since Kotlin 2.0.20KT-68933CompilationException: Back-end: Could not get inlined classKT-72255Promote jspecify from warning to errorKT-73065CCE with context receiversKT-61033K2: implement a diagnostic corresponding to K1's MISSING_BUILT_IN_DECLARATIONKT-72345K2: Method 'get' without@Overrideannotation not calledKT-71260K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner when there is no actual for expectKT-72996false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operatorKT-72552AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped typesKT-71751K2: Skipping code in last statement of lambdaKT-71121Kotlin/JS incremental compilation fails with KotlinIllegalArgumentExceptionWithAttachmentsKT-60521Drop language versions 1.4 and 1.5KT-70461K2: "Inline class types should have the same representation" caused by value class and smart checkKT-72238Argument type mismatch in builder inside extension function after ?:KT-70306K2: Lambdas are unserializable: inferred from Java param? super IKT-67383Incorrect optimisation when optimising for loop with UByteKT-68653Switch latest stable language version in Kotlin project to 2.1KT-71708False negative UNSUPPORTED for collection literals as trailing return valueKT-72281K/N: "Failed to wait for cache to be built"KT-72017Enum property reflection returning null KClassifier property for Enum classes defined inside Kotlin ScriptsKT-69040PCLA: deal with "deep" calls that can be fully analyzed properlyKT-69920K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilationKT-69549Try to move callable reference transformation earlier in pipelineKT-63944Kotlin/Native: Cache flavor selection doesn't respect GC kindKT-71649K2: Put operator on mutableMap<T?, V>() causes crashes on null keyKT-70667K2: "Type parameter * has inconsistent bounds" caused by wildcard and where-clauseKT-70562@SubclassOptInRequiredcannot accept multiple experimental markerKT-69407K2: Compiler crash (Shouldn't be here) due to unresolved reference in FirProjectionRelationCheckerKT-71508JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported when java class is inherited from an effectively private classKT-72178K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "_" as key type in EnumMapKT-70407Error/warning message for@SubclassOptInRequired-annotated class should provide more contextKT-72302K2: no error on type operator in annotation parameter default valueKT-58820OPT_IN_USAGE_ERROR's message text does not account for SubclassOptInRequiredKT-71662PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variableKT-69739K2: "KotlinIllegalArgumentExceptionWithAttachments: Unexpected FirPlaceholderProjectionImpl" caused by unresolved referencesKT-72154Dokka fails withnot array: KClass<out Annotation>on Kotlin 2.1.20-dev with@SubclassOptInRequiredKT-70756K2. Compiler crash with FileAnalysisException on incorrect symbol in nesting lambdaKT-72173K2: simple object names from root package are resolved without imports in non-root packages when used as valuesKT-71480JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported while java object isn't createdKT-71034Failing compiler/testData/codegen/box/inlineClasses/kt70461.ktKT-71016K/Wasm: Failing compiler/testData/codegen/box/inlineClasses/kt70461.ktKT-52469Deprecate reified type parameter instantiating into intersection typesKT-71753PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignmentKT-59871K2: Fix introduced diagnosticsKT-71563'llegalStateException: Source classes should be created separately before referencing' when actualized through typealias and java direct actualizationKT-64741Avoid leaking ConeTypeVariable types in diagnostics from PCLAKT-60447Builder inference fails to infer generic type argument from local classKT-69170K2: "Unresolved reference" caused by generics and fun interfacesKT-71756K2 evaluator: broken resolve of private members during debug of Kotlin project itselfKT-68893Invalid annotation in contract crashes with K2KT-71490K2: missing REDUNDANT_ELSE_IN_WHENKT-64403Implement BlackBoxCodegenTestSpecGenerated for K2KT-71551JVM IR K1: NPE on generating a function imported from an object from another moduleKT-71210K2: false negative FUNCTION_CALL_EXPECTED / NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE with companion objectsKT-71528K2/JVM: ClassCastException around Array<Nothing?>KT-71228K2: "IllegalArgumentException: Failed requirement" caused by lambda parameter and class typeKT-71738K2: False negative REDECLARATION inside object expressionKT-71701K2: false positive CAN_BE_VAL with lateinit and non-in-place lambdaKT-68694K2 IDE / Kotlin Debugger: AE “Unresolved reference: <HIDDEN: samples/gen/classes/enum class/EnumClass.lam is invisible” on evaluating private lambda inside enum entryKT-70970K2 IDE / Kotlin Debugger: AE “Only assignable IrValues can be set” on calling overloaded inc() operator on interfaceKT-70824K2: NoSuchFieldException when evaluating private extension propertyKT-70390K2 IDE / Kotlin Debugger: can't invoke lambda from private class during evaluationKT-68701K2 IDE / Kotlin Debugger: AE “ERROR_CALL 'Unresolved reference: <HIDDEN: /privateLambda is invisible>#' type=IrErrorType(null)” on evaluating private top-level lambdaKT-68695K2 IDE / Kotlin Debugger: AE “Unsupported callable reference” on evaluating ::lateinitStr on private lateinit propertyKT-70861K2 IDE / Kotlin Debugger: can't evaluate Clazz::class call for private classKT-34911Improve error message for WRONG_ANNOTATION_TARGET: list applicable targetsKT-71601K2: When with a subject of type dynamic always considered exhaustiveKT-33091Kotlin/Native: Compiler crashes if an external class is declaredKT-59651K1/K2: Assertion error on external enum usage attemptKT-69939Extract a category of internal FIR checkers from supplementary FIR checkersKT-70850Pull down typeArguments from ConeKotlinType to ConeClassLikeTypeKT-71117K2: "IllegalArgumentException: No type for StarProjection" with star projection and function typeKT-71251Native & JS K2: Missing check for callingisInitializedinside inline funKT-70161Native: extracting LLVM 16 on Linux makes the compiler print many "Ignoring unknown extended header keyword 'LIBARCHIVE.creationtime'" messagesKT-71215K2: UB due to the erroneous greening of the red code with multiple delegation with javaKT-59386K2: Missing CONSTANT_EXPECTED_TYPE_MISMATCHKT-69564Make using -Xuse-k2 compiler flag an errorKT-69756TypeOfLowering: don't create constant object nodes before inliningKT-66328K2: implement an error for KT-66324KT-71046K/N: a separate lowering to convert function reference to IrConstantObjectKT-69223Drop parallel lowering mode in JVM backendKT-70260@JsPlainObject: improve compiler error if a method is presentKT-67739Improve error message when JDK used in -Xjdk-release has corrupted class filesKT-63964K2: different naming of classes defined in script in metadataKT-70014Common inference: introduce rigidTypeMarkerKT-71352Cannot load script definition class org.gradle.kotlin.dsl.KotlinProjectScriptTemplateKT-63502Getting java.lang.ClassNotFoundException: javaslang.λ during compilationKT-66316Kotlin/Native: make@Escapesannotation required for all external functionsKT-69653Prohibit exposing types via type parameters' boundsKT-68451Inconsistent rules of CFA in enum initialization blockKT-70893K2: Bogus NO_COMPANION_OBJECT on resolve to private qualifierKT-70965FIR/AA: Initializers for Java annotation arguments mapping capture use-site sessionsKT-63945K2: Prevent possible diagnostic lossKT-64453K2: Implement ComposeLikeIr...TestGenerated for K2KT-30424Confusing error message "modality is different"KT-70846ReplaceConeKotlinType.nullabilitywithisMarkedNullableon specific typesKT-56720K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritanceKT-69937Define & enforce user-friendly terminology for extended checkersKT-64406K2: Implement CompileKotlinAgainstJavaTestGenerated for K2KT-69938Validate sets of default compiler warnings and supplementary compiler warningsKT-68971Investigate suspicious fragmentation of FIR trees for string literals with interpolationKT-71073Multi-dollar strings: parser grabs too much if backticks follow a short sequence of '$'KT-71213Rethrow exceptions in checkers with some useful attachmentsKT-70395K2: "Captured Type does not have a classifier" caused byouttype and interface hierarchyKT-70133K2: false negative UNINITIALIZED_VARIABLE when postponed lambda is created before initializationKT-70625K2: ClassCastException caused by function reference, star projection and invariant type parameterKT-70835K2: "TYPE_MISMATCH" caused by operator assignmentKT-70366K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class "KT-68834Parentheses don't influence calls of any convention operators (except invoke operator) after safe navigation operatorKT-70358K2: "java.lang.IllegalArgumentException: No type for StarProjection" when using a star projection on a function typeKT-69298K2: "Initializer type mismatch" caused by elvis operator type inference for nullable typealiasKT-71189K2: emit 'DELEGATE_SPECIAL_FUNCTION_MISSING' and 'DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE' on 'by' keywordKT-71178K2: False negative NO_ELSE_IN_WHEN in when over nullable type with!is Nothing?checkKT-70812False positive NO_ELSE_IN_WHEN with nullable type argument as subjectKT-70947False positive NO_ELSE_IN_WHEN with DNN subject and nullable sealed class upper boundKT-70752Review diagnostics with whole declaration as rangeKT-71160K2: Rendering of flexible collection types and arrays is too verboseKT-61227Definitely non-nullable types cause "Any was expected" for@NullableparameterKT-69389K2: NONE_APPLICABLE instead of more useful "type mismatch" error with overloads and parameter nullability mismatchKT-69829Missed UNRESOLVED_LABEL for label in returns and loopsKT-61223JDK 21: new addFirst/addLast and putFirst/putLast methods allow adding nullable value for non-null typesKT-66742Supertypes with inaccessible type arguments are allowedKT-62906Type system: consider changing simple type & DNN type relationKT-70104Update the error message for calling super Java interface methods caseKT-69794K2: Wrong target is reported for EXPOSED_SUPER_INTERFACE diagnosticKT-70724False-positive UNINITIALIZED_VARIABLE for inline constructor with late-initialized variablesKT-70749False-positive UNINITIALIZED_VARIABLE for inline fun with crossinline modifierKT-65805Migrate builtins serializer to K2KT-71004FirSignatureEnhancement#enhance mutates attributes on the original functionKT-70813Questionable behavior for calls on ILT receiversKT-70208'when' is not exhaustive for expect BooleanKT-69210Native: tune LLVM optimization pipelineKT-70753K2: Missing non-null assertion on the return value of try-catch blockKT-70012EXTENSION_SHADOWED_BY_MEMBER shouldn't be reported for actual declarationsKT-70837K2. "Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource" on incorrect call with extension funKT-66751Implement a general deprecation of types with inaccessible type argumentsKT-68748K2: RemoveirFactoryfromFir2IrComponentsKT-61659K2: Implement theEXTENSION_SHADOWED_BY_MEMBERwarningKT-70709Range for MUST_BE_INITIALIZED shouldn't include property annotationsKT-63294Do not use duplicated compiler argument names across the codebaseKT-70673False positive NO_ELSE_IN_WHEN with nullable Boolean as subjectKT-70672False positive NO_ELSE_IN_WHEN with nullable Enum as subjectKT-69207Native: use lld when the compiler produces binaries for a Linux targetKT-67696Native: compiler crashes when loading an LLVM bitcode file of unsupported versionKT-69767K2: Investigate differences in tests without alias behavior for cyclic expansionKT-70617K2: ClassCastException caused by Java enum with overriddennamepropertyKT-68796Non-first invoke operator calls break chained calls of convention operators after safe navigation operatorKT-67772K2: Metadata misses NoInfer annotation for unsafeCast resultKT-70304[FIR2IR] Missing@NoInferKT-65085K2: Get rid of special check for unresolved array literals on argument mapping phaseKT-65066K1 crashes, K2 doesn't report type mismatch on array literal inside nested annotation callKT-49235Kotlin interface limited to 1000 super typesKT-69991K2/JVM: Backend crash with functional types and KFunctionsKT-7461Forbid using projection modifiers inside top-level Array in annotation's value parameterKT-52315Legacy keywords (header, impl) break enum definitionsKT-69499Native: aggressive inline of runtime procedures causes compiler crash in debug buildsKT-69737Native: incompatible target-cpu attributes between runtime and Kotlin codeKT-69911Unexpected line numbers in default setterKT-61529K2: Unexpected FirClassLikeSymbol null with -no-jdkKT-69475K2: No "Name contains illegal characters" for package name with dots insideKT-69484Native: remove default values forisObjectTypeKT-70352K2: False-negative CONFLICTING_UPPER_BOUNDS onNothingboundKT-59781K2: investigate implicit cast generation in fir2ir vs psi2irKT-70036[FIR2IR] Fix param name in overridden setterKT-68718[JVM] Generic function is instantiated with wrong type argumentKT-67983K2: False negative "Recursive type alias in expansion" at recursive typealiasesKT-70328K2:@UnsafeVariancestored in the metadata despite the Source retentionKT-70313K2: Don't addAnysupertype tokotlin.Nothingcompiled from sourcesKT-69982K2: New errors when executing:kotlin-stdlib:jvmJarKT-70169K2: implement a deprecation error for Synchronized, Throws, JvmField on annotation parametersKT-67651K2: inconsistency in behavior for SAM constructor with flexible typeKT-63857K2: Extraoperatormodifier in metadataKT-70182K2: Set upisOperatorflag according to operator naming conventions during building synthetic overrides for Java methodsKT-20798Implement a deprecation warning for reified modifier on type parameters of type aliasKT-68697K2 IDE / Kotlin Debugger: NSEE “List is empty.” when method reference is used in some place in codeKT-70157K2: false positive JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS for a Java private classKT-68702K2 IDE: AE “SyntheticAccessorLowering should not attempt to modify other files!” on evaluating of supermethods toString() and hashCode()KT-69509K2 IDE / Kotlin Debugger: exception in lowering ReplaceKFunctionInvokeWithFunctionInvoke when compiling code fragmentKT-66323K2: Clarify contracts ofConeSubstitutorByMapKT-69652K2: False positive "Redundant visibility modifier" with explicitApi()KT-65815K2: False-positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY with inline function returning Nothing?KT-60508K2/stdlib: compilation of common code fails if built-in types are provided as platform sourcesKT-70037K2: Generate IR body forAnyconstructor despite that fact it's emptyKT-69870K2: False positive NO_VALUE_FOR_PARAMETER for override without default but base with default and with enabled KMPKT-69599K2: Investiage and fix lots ofUNRESOLVED_REFERENCEduring building stdlib native with K2KT-68375K2: FirPrimaryConstructorSuperTypeChecker fails on generated superclassesKT-58309Deal with test failures inside FirTypeEnhancementTestGeneratedKT-27112Implement prohibition of exposing types via type parameters' boundsKT-69831Add long FastJarFS tests to thenightlyFirCompilerTestconfigurationKT-69537K2: Unintentional behavior caused by InferMoreImplicationsFromBooleanExpressionsKT-59814K2: Explore whyFirDataFlowAnalyzerstrips away value parameters of non top-level-functionsKT-69069K2: expect overloads are deprioritized in common codeKT-69511KJS / K2: False positive IMPLICIT_BOXING_IN_IDENTITY_EQUALS when comparing dynamic with primitiveKT-69500Native: introduce an option to inline less "ALWAYS_INLINE" runtime proceduresKT-69717K2: Don't callconeType/coneTypeOrNullextensions onFirResolvedTypeRefKT-60440K2/Java: investigate constructor own type parameters enhancementKT-69871K2 allows modifier keywords onpackagedeclarationKT-61271Frontend: "The label does not denote a loop." error message is used even if the label does denote a loopKT-69768K2: Investigate differences in tests without alias behavior with typealias to enum entryKT-63846K2: incorrect type argument inferred for smart cast value of a generic typeKT-69774Don't report overload resolution ambiguity if extension receiver contains error typeKT-61316K2: Consider throwing exception when replaceType is called on special FirExpressions with immutable typesKT-69201Discard expect candidate in overload conflict resolver if there is no actualKT-69557K2: Investigate failures with enabled assertion inConeResolvedAtomconstructorKT-69783K2: Make FirTypeProjection sealedKT-68000Investigate getting container functions in checkersKT-69649K2: Cleanup various utilities abouttoSymbolconversionKT-69185K2: Prepare a test runner for diagnostic tests with type aliases non-expanded automaticallyKT-69390UNRESOLVED_REFERENCE on call with lambda argument turns whole call redKT-68794K2 IDE / Kotlin Debugger: ISE “No real overrides for FUN FAKE_OVERRIDE name:privateFun visibility:private modality:FINAL” on calling private function from superclass in debuggerKT-69315FirJavaGenericVarianceViolationTypeChecker: StackOverflowErrorKT-49962"Visibility inherited is not allowed in forVisibility" when analyzing broken fileKT-24212Report "This class shouldn't be used in Kotlin" on calling constructor of Java class with Kotlin analogKT-64195K2: Consider makeFirAnonymousInitializer. containingDeclarationSymbolnot nullKT-64254"Projections are not allowed on type arguments of functions and properties": Type-project type arguments of propertiesKT-40533Error message PROPERTY_WITH_NO_TYPE_NO_INITIALIZER for interface property is not fully correctKT-20014Improve diagnostics for lateinit property without initializer and type annotationKT-51366False positive error "Value class cannot extend classes" when extending generic interface with wrong number of type argumentsKT-68277K2: false positive UNREACHABLE_CODE for non-localreturn/breakKT-69544K2: Mapped Java@Targetannotation's vararg argument has swapped type and elementTypeKT-68998K2: Refactor postponed atomsKT-69288Native: Apple LLVM 16 fork can't read bitcode with memory attribute produced by upstream LLVM 16KT-67808K2: Inconsistent properties initialization analysis in init blocks in presence of smartcast on thisKT-69035K2: Investigate potential removal of FirManglerKT-69473Missing suspend-conversion for lambda in the last statement of when with expected typeKT-64640Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collectionsKT-65441K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfacesKT-54792Store program order of properties inside@kotlin.MetadataKT-59832K2: Fix the TODO about merging values for labels in UnusedCheckerCompose compiler
New features
b/328817808Added the PausableComposition feature flags83c48a0Decoy support for JS target is removed from Compose compilerFixes
CMP-6926iOS compilation failure: Unresolved reference 'copy'CMP-6842FAKE_OVERRIDE declarations are not preserved in metadata and should not be marked with annotationsCMP-6788non-private field compilation warnings (stableprop & ComposableSingletons)CMP-6685Native/WASM compilation failure on Composable function with value-type arg + returnb/376058538Fix stack overflow when inferring stability of indirect generic loopb/339322843Transform@Composableproperty delegate referencesb/366040842,b/365066530Replace deep copy in Compose plugin with in-place type mutationb/329477544Force open / overridden Composable functions to be non-restartable.b/361652128Disable live literal transform if the corresponding flag is disabledb/325004814[Compose] Fix infinite recursion in target analysisb/357878245Disallow open@Composablefunctions with default params to fix binary compatibility issues.b/338597078[Compose] Fix target warning messageb/351858979Fix stability inferencing of interfaces on incremental compilationb/346821372[Compose] Fix code generation for group optimizationb/339311821Give warning when stability configuration file is not foundb/346821372Fixes group generation for if statements when nonSkippingGroupOptimization is enabled.IDE. Gradle Integration
KT-48554[Multiplatform Import] Ensure consistency betweenGradleImportPropertiesandPropertiesProviderIR. Actualizer
KT-71631Kotlin-to-Java direct actualization: java annotation element isn't actualizedKT-71597Kotlin-to-Java direct actualization: it is possible to actualize a function with default parametersKT-71592Kotlin-to-Java direct actualization: constructor of nested class can't be actualizedKT-71577Kotlin-to-Java direct actualization: method can be actualized by java static methodKT-69632K2: Expect actual mismatch on actualization with alias to expect classKT-71817Actualization of static members is broken for non-JVM platformsIR. Inlining
New Features
KT-69527Set the right visibility for synthetic accessors in SyntheticAccessorLoweringFixes
KT-71232Implement an IR validation check that ensures that all IrFields are private on non-JVM backendsKT-69307Source offsets seem incorrect after IR inliningKT-72884Internal error in body lowering: IllegalStateException: Can't inline given reference, it should've been loweredKT-71659IR Inliner fails to inline function expressions due to implicit cast from the 1st phase of inliningKT-69681IR: Report warnings on exposure of private types in non-private inline functionsKT-72521Kotlin/Native: java.lang.AssertionError: kfun:androidx.compose.runtime#access$<get-androidx_compose_runtime_ProvidedValue$stable>$p$tComposerKt(){}kotlin.IntKT-72623Don't generate synthetic accessors in files other than the one being loweredKT-70420Enable double-inlining in Native & JS backends by defaultKT-67292Handling assertions before the IR inlinerKT-70423KLIB: SyntheticAccessorLowering - generate static factory functions instead of synthetic constructorsKT-69565Don't generate synthetic accessors for private symbols inside local classesKT-69787Handle clashes of synthetic accessors generated for top-level callablesKT-71137Generate synthetic accessors for backing fieldsKT-67172Native & JS: Introduce OuterThisInInlineFunctionsSpecialAccessorLoweringKT-64865Explicitly generate accessors for private declarations in inline functionsKT-71657K/JS: Double-inlining causes failures in IC with top-level synthetic accessorsKT-71078Inline all functions in local classes at the 1st stage of inliningKT-69802Don't extract local classes from inline functions in double inlining modeKT-66508IR inliner: Add implicit cast for initializer of temporary variablesKT-66507IR inliner: Enable implicit casts in all KLib backendsKT-69466IrInlinedFunctionBlock: Refactor it to make it possible to serialize in KLIBsKT-69317IR Inlining. Try to place inlined arguments outsideIrInlinedFunctionBlockKT-67149Common Native/JS lowering prefix at the 2nd phase of compilationKT-69172Implement double-inlining for NativeKT-67304Keep in common prefix: Shared variables + local classes in inline lambdasKT-67170ArrayConstructorReferenceLowering is missing in NativeKT-70583Internal error in body lowering: java.lang.IllegalStateException: An attempt to generate an accessor after all accessors have been already added to their containersKT-69700Inlinestub_for_inlininguse sites survive after the inlinerKT-69462Support dumping IR after inlining in compiler testsKT-70693IR: replace IrReturnableBlock.inlineFucntion with IrInlinedFunctionBlock.inlineFucntionKT-70763IR inline: consider storing stub_for_inline as an inlined function for callable referenceKT-69168Wrap assertion calls before IR inlinerKT-69167Create intrinsics in stdlib for handling assertions in KLIB-based backendsKT-69169Expand assertion intrinsics in backend based on CLI parametersKT-69174Implement the basic Synthetic Accessors Lowering for KLIB-based backendsIR. Interpreter
KT-70388K2 IDE / Kotlin Debugger: InterpreterError “Unsupported number of arguments for invocation as builtin function: INT_MAX_POWER_OF_TWO” during evaluationIR. Tree
Fixes
KT-69644Report warning on cross-file IrGetField operations generated by compiler pluginsKT-68789Prepare tests for testing visibility (non-)violation in inlined IRKT-71826stdlib fails to compile with-Xserialize-ir=allKT-70333IR: remove ability to apply compiler plugins during KAPT stub generation phaseKT-67752Make copyRemappedTypeArgumentsFrom and transformValueArguments methods in DeepCopyIrTreeWithSymbols protected instead of privateKT-68151Setup testing visibility of referenced declarations in IRKT-68988[Tests] Streamline the order of irFiles in IR- and Kotlin-like dumpsKT-65773Auto generate IR implementation classesKT-70330Automatically keep track of IrValueParameter.indexKT-68495Compile-time failure on bounded generic value used in a contains-check with rangeKT-68974Validate scopes of IrValueParameters in IrValidatorJavaScript
New Features
KT-70254K/JS: Generate arrows in ES6 mode instead of anonymous functionsKT-70283KJS / ES6: Don't generate bind(this) calls for anonymous functions that capturethisFixes
KT-43567KJS: toString() method and string interpolation of variable produce different codeKT-70533KJS: changed string concatenation behavior in 2.0KT-14013JS toString produces different result for nullable/non-nullable ref to the same arrayKT-72732KJS / ES6: "SyntaxError: 'super' keyword unexpected here" with enabled-Xir-generate-inline-anonymous-functionsand disabled arrow functionsKT-69408[JS] Enable insertAdditionalImplicitCasts=true (as in other KLIB-based backends)KT-71821K/JS tests are failing with coroutines flow and turbine on timeoutKT-31799Allow non-identifier characters in Kotlin/JS (backquoted properties,@JsName)KT-55869Coroutine is not intercepted, when the coroutine is started callingstartCoroutineUninterceptedOrReturnusing callable referenceKT-70117Generate debug info for code fromjscallKT-69642ES generator-based coroutines rely on evalKT-67452K2: Consider hiding dynamic type creation under FlexibleTypeFactory for JS onlyKT-70226Delete JS tests that were only run with the legacy JS backendKT-71338K/JS: Add a flag for switching generating arrow functions on & offKT-69173Implement double-inlining for JSKT-67327JS: Remove error toleranceKT-69892Array.isArray() returns false for an instance returned by KtList.asReadonlyArrayView()KT-70231Delete the org.jetbrains.kotlin.cli.js.dce.K2JSDce classKT-69928KJS: keys() and values() of KtMap's JS view don't behave as expectedKT-70707KJS: asJsReadonlyMapView does not implement ReadonlyMap correctlyKT-71220Fix invalid IrFunctionReference creation in InnerClassConstructorCallsLoweringKT-70393Investigate failing JS test after switch stdlib compilation to K2KT-64429K2: Implement KlibJsIrTextTestCaseGenerated for K2KT-69587[Tests] Fix multi-module deserialization in JS irText testsKT-70219Delete the org.jetbrains.kotlin.cli.js.K2JSCompiler classKT-70221Rename org.jetbrains.kotlin.cli.js.K2JsIrCompiler to K2JSCompilerKT-70229Remove test classes related to the legacy JS backendKT-70359Remove legacy backend-related test directives from Kotlin/JS testsKT-70362Clean up Gradle tasks for running JS tests against the legacy JS backendKT-66181Reorganize JsCodeOutliningLowering and keep it before the IR inlinerKT-30016JS BE does not generate special bridge methodsKT-68975KJS: Investigate callingjs(...)from inline functionsKMM Plugin
KT-71011AS KMP plugin: ios application can't start for 2024.2.1Klibs
New Features
KT-64169[KLIB Resolve] Don't skip libraries that happen to have the sameunique_nameKT-68322Compiler (JS, Wasm): warn about incompatible Kotlin stdlib/compiler pairFixes
KT-61098[KLIB Resolve] Don't allow working with KLIB "repositories"KT-72965Ignore subclassOptInRequired constructor warningKT-68792Bump KLIB ABI version in 2.1KT-67474K2: Missing@ExtensionFunctionTypein metadata in KLIBsKT-71633[2.1.0] Suspicious "Argument type mismatch" errorKT-70146[KLIB Resolve] Don't fail on nonexistent transitive dependencyKT-71455[KLIB Resolve] Forbid passing KLIB unique names via CLIKT-67448[KLIB Resolve] Deprecate passing KLIB unique names via CLIKT-67450[KLIB Resolve] Kotlin/Native: Only one implicit repository should remain for the compiler ("dist")KT-70285Warning about incompatible stdlib (JS/Wasm) is not reported if stdlib is unpackedKT-66218Clean-up the code for serialization & deserialization of DFGs to & from KLIBsKT-71414KotlinLibraryResolver.resolveWithDependencies was evolved in binary incompatible wayKT-68195move KlibMetadataProtoBuf to frondend-independent moduleLanguage Design
KT-54617Stabilize@SubclassOptInRequired: ability to require opt-in for interface implementationKT-54458Preview of non-local break and continueKT-69924Mention 'if' guard when '&&' is used incorrectlyKT-71222Remove@ExperimentalSubclassOptInfrom SubclassOptInRequiredKT-67675Allow usage of Array<Nothing?>KT-70754Changes in typeOf behaviour for Kotlin/NativeKT-58659Prohibit implementing a var property with an inherited val propertyLibraries
Performance Improvements
KT-66715Performance: faster alternative to String.lines()Fixes
KT-71628Review deprecations in stdlib for 2.1KT-69545Kotlin/Native: Deprecate API marked with FreezingIsDeprecated to errorKT-56076K2: build Kotlin standard libraryKT-71660Stabilize experimental API for 2.1KT-54299Extract org.w3c declarations to separate library from K/Wasm StdlibKT-68027Document caveats and deincentivise usage of measureTimeMillisKT-71581Update outdated documentation to common lazy and provide samplesKT-71796Improve documentation for Path.walk and Path.visitFileTree functionsKT-68019Fill in missing package descriptions for standard library documentationKT-52181Native: Inconsistent behaviour of LinkedHashMap#entries on JVM and NativeKT-71570Document suspend lambda builderKT-65526Rewrite builtins as expect-actualKT-68502K2: Fix or suppress stdlib K2 warningsKT-68731K2: Handle some formally incompatible expect/actual classes in JVM stdlibKT-70378Implement custom serialization for UuidKT-70005K/Wasm and K/Native: IntArray.sort - array element access out of boundsKT-66764kotlinx-benchmark: rework on kotlin-compiler-embeddableKT-69817Set up klib binary API validation for stdlibKT-68396Handle some formally incompatible top-level expects/actuals callablesKT-69524kotlin.uuid.Uuid: checkHyphenAt - error message always specified index 8KT-69327[native] FloatingPointParser.initialParse works incorrectly for some inputsKT-46785Get rid of !! after readLine() in the standard libraryNative
KT-71435Native: cannot access class 'objcnames.classes.Protocol'KT-49279Kotlin/Native: update LLVM from 11.1.0 to 16.0.0KT-61299Native: patch LLVM to prevent it from using signal handlers incompatibly with JVMKT-69637Native: our LLVM shouldn't advise submitting bugs to the upstreamKT-64636kotlin.incremental.native=true causes IrLinkageErrorKT-69142ObsoleteWorkersApi and FreezingIsDeprecated is not displayed on targets in webdocsNative. Build Infrastructure
KT-71820Update the coroutines version used in kotlin-native build infrastructureKT-69479Native: remove custom python version building from the LLVM builder container imageKT-63214[K/N] llvm build script fails with MacOSX14.0.sdk sysrootNative. ObjC Export
KT-62997IllegalStateException for hashCode(): KClass for Objective-C classes is not supported yetKT-59497KClass.simpleName returns null in ObjC-inherited classNative. Platform Libraries
KT-70032Rebuild platform libraries in 2.1.0 with Xcode 16KT-69448LLVM 16 clang with Xcode 16 headers: 'sys/cdefs.h' file not foundNative. Runtime
KT-70680Kotlin/Native: Use WritableTypeInfo when creating Swift wrapper from the runtimeKT-70568Native: revert workaround for debug with LLVM 16KT-67730Native: fix runtime compilation warnings after update to LLVM 16Native. Runtime. Memory
KT-72624Native: testRelease_on_unattached_thread sometimes fails with Releasing StableRef with rc 0KT-71401K/N: CMS barrier can be executed on an unregisterred threadKT-70364Kotlin/Native: data race during GC initializationKT-68544[Native] Implement heap dump toolKT-70365Kotlin/Native: make thread id be pointer sizeNative. Swift Export
New Features
KT-71539Swift Export: export class member overridesKT-70442Swift Export: export class inheritanceKT-68864Refactor internal details of swift-export-standaloneFixes
KT-70678Swift Export: generate Kotlin<->Swift type mappingKT-70920Swift Export Nullability: primitive typeKT-71087Swift Export: Nullability: NeverKT-71086Swift Export: Nullability: StringsKT-70919Swift Export Nullability: reference typeKT-71026Swift Export: function overloading with ref types does not workKT-70960Swift Export nullability: add nullability to sir and printerKT-70063Swift export generates invalid Swift code for class and function with the same nameKT-70069Swift export: filter out extension propertiesKT-70068Swift export: nullable types are not marked as unsupportedKT-69287Swift Export: support leaking dependenciesKT-69633Provide interface for multiple module translationKT-69286[Swift Export][TestInfra] Support translating multiple rootsKT-69376Property with Any type does not force addition of importReflection
KT-71378KotlinReflectionInternalError: Inconsistent number of parameters in the descriptor and Java reflection objectSpecification
KT-53427Specify@SubclassOptInRequiredTools. CLI
New Features
KT-8087Make it possible to suppress warnings globally in compiler (via command-line option)KT-71537Add JVM target bytecode version 23Fixes
KT-70991K2: Compilation fails if project version has a commaKT-70179K2: Building a file with kotlin-test-junit without junit does not include annotationsKT-72311KotlinCliJavaFileManagerImpl caches empty result and broke repeated analysesKT-61745K2: support light tree in multi-module chunk modeKT-70885Errors are not reported for wrong arguments in -Xsuppress-warning flag for non-jvm backendsKT-69541K2: "IllegalArgumentException: Unexpected versionNeededToExtract" on using JAR packaged as ZIP64KT-69434K2: Kotlin compiler JarFS can't handle large dependencies (>2GB)KT-70959K2: Support legacy metadata jar format in K2 compilerKT-70337Obsolete code is not removed after refactoring -JvmEnvironmentConfigurator.registerModuleDependenciesKT-70322Merge CLITool and CLICompiler classesTools. CLI. Native
KT-68673Kotlin/Native "You have not specified any compilation arguments. No output has been produced" when no source nor-Xincludeis passedTools. Compiler Plugins
Fixes
KT-72804Regression in Kotlin 2.1.0: compilation fails when building iOSKT-72824Kotlin power-assert plugin StringIndexOutOfBoundsExceptionKT-71658Transform top-level atomic properties to Java boxed atomicsKT-65645Atomicfu-plugin: compilation hangs on a long string concatenationKT-69038Power-Assert does not display const valsKT-71525Setting JvmAbiConfigurationKeys.REMOVE_PRIVATE_CLASSES = true triggers java.util.ConcurrentModificationExceptionKT-41888IrExpression startOffset and endOffset are inconsistent with raw file textKT-69856Compose Plugin: IrType.erasedUpperBound throws NullPointerException when evaluating IrScript nodes due to missing targetClassKT-69410PowerAssert: Cannot find overload of requireNotNull without existing messageKT-66293Atomicfu-plugin: wrong return types for lowered extension functionsKT-69646PowerAssert: result of array access operator is unalignedKT-70112Power Assert: multiline assertion supportKT-70504[atomicfu-plugin] Incremental compilation fails for atomic extensions on JVMKT-70351K2 CodeGen API exception triggered by a compose compiler plugin lowering transformer for data class exampleKT-70113Power Assert: tab supportKT-69806K2: SOE on nested plugin-like annotation in class annotated with itselfKT-69538jvm-abi-gen: Remove copy$default if data class constructor is private and ConsistentCopyVisibility is usedTools. Compiler plugins. Serialization
KT-70110Prohibit@Serializableon companion object of another@SerializableclassKT-69388Serialization: "You should use ConeClassLookupTagWithFixedSymbol" caused by@Serializableon local generic classTools. Daemon
KT-69929compileKotlin task reports that daemon has terminated unexpectedlyKT-72530The daemon has terminated unexpectedly on startup attempt #1 with error code: UnknownTools. Fleet. ObjC Export
Fixes
KT-71162ObjCExport: nullable functional type with reference argumentsKT-71022ObjCExport: enum c keywords translationKT-71082ObjCExport: KotlinUnit translated as Function1KT-70781ObjCExport: classifiers and callables type parameters translationKT-70943ObjCExport: extension orderKT-70840ObjCExport: duplicated interfacesKT-70642ObjCExport: translate collection type arguments as idKT-70546ObjCExport: method generic parameter is lost and translated as idKT-70329ObjCExport: translation and forward of super generic typesKT-70263ObjCExport: generic extension supportKT-69685ObjCExport: extension translated as not extensionKT-70318ObjCExport: translate companion typeKT-69252ObjCExport: Get rid of context receivers from ./native/objcexport-header-generatorTools. Gradle
New Features
KT-69940Expose supplementary compiler warnings via KGPKT-71603Introduce KotlinJvmExtension and KotlinAndroidExtensionKT-70383KotlinJvmFactory registerKaptGenerateStubsTask() function should also request compilation task providerKT-65125Provide basic support for Swift Export in Kotlin Gradle PluginKT-71602Introduce KotlinTopLevelExtensionKT-69927Need ability to pass KotlinJvmCompilerOptions to registerKotlinJvmCompileTask()KT-71227[Compose] Add PausableComposition feature flag to the Compose Gradle PluginKT-68345'composeCompiler#stabilityConfigurationFile' doesn't allow setting multiple stability configuration filesPerformance Improvements
KT-65285Use uncompressed KlibsFixes
KT-71411Add FUS statistics for new Dokka tasksKT-72495Warn about kotlin-compiler-embeddable loaded along KGPKT-70543Gradle: create migration guide for those who are using Kotlin compiler classes indirectly available in buildscriptsKT-69329Compatibility with Gradle 8.9 releaseKT-71291Log plugins from the list as Gradle pluginsKT-69255Deprecate KotlinCompilationOutput#resourcesDirProviderKT-61706Gradle: remove kotlin-compiler-embeddable from build runtime dependenciesKT-73128Apply Kotlinlang template for partial HTMLsKT-47897Official Kotlin Gradle plugin apiKT-58858Add KDoc documentation for Kotlin Gradle plugin APIKT-73076Kotlin Gradle Plugin API Reference: adjust settingsKT-72387KGP 2.1.0-RC-227 changes cause KSP to crash calling produceUnpackedKlibKT-53280Gradle plugin leaks some compiler related extensions into APIKT-69851Compatibility with Gradle 8.10 releaseKT-65565Remove deprecated common platform plugin idKT-69719Bump minimal supported Gradle version to 7.6.3KT-69721Bump minimal supported Android Gradle plugin version to 7.3.1KT-66944Relax host requirements on Kotlin klib compilationKT-72651Unable to usetargetfor KotlinBaseApiPlugin.createKotlin(Jvm/Android)Extension()KT-72467kotlin.sourceSets extension not added for KotlinBaseApiPlugin.createKotlinAndroidExtension()KT-72303KGP 2.1.0-Beta2 broke compatibility with KSPKT-68596Update KGP deprecations before 2.1KT-67951Update Compose extension KDocKT-66049KGP JVM: Publishing isn't compatible with isolated projects and project dependenciesKT-71405Compose compiler gradle plugin: project.layout.file can't be used as a value of the 'stabilityConfigurationFiles' optionKT-71948KotlinJvmFactory : get rid of replaces with TODO()KT-72092Gradle: use packed klib variant as the default when no packaging attribute is presentKT-58956Offer a shared interface for JVM and Android compilerOptions in Project extensionKT-70251Gradle: hide compiler symbols in KGPKT-70430Clean-up obsolete Gradle plugin variants for Gradle versions <7.6KT-69853Compile against Gradle API 8.10KT-69852Run Gradle integration tests against Gradle 8.10 releaseKT-65990UpdateGradleDeprecatedOption.levelvalues for arguments removed from the DSL after 2.1KT-69331Run tests against Gradle 8.9 releaseKT-69332Compile against Gradle 8.9 APIKT-67174Cleanup old Test DSLKT-71071BuildFusStatisticsIT.testInvalidFusReportDir test failes on WindowsKT-69585KGP / Composite Build: "Could not apply withXml() to generated POM" during publishingKT-59769Many "Unexpected exception happened" warnings during build without internet connectionTools. Gradle. Cocoapods
KT-63811cinterop fails to build klib for iosArm64 target when iOS simulator SDK isn't installedKT-70500Remove useLibraries from CocoaPods pluginKT-56947Replace AFNetworking with a smaller library in testsTools. Gradle. JS
KT-69628K/Wasm: Node.js version per projectKT-71578KotlinJS. Webpack does not recompile on changes withper-fileKT-71536[JS, Wasm] Stop collecting information about KLIB IC in Kotlin2JsCompileKT-70621Move kotlin-test-js-runner out of Kotlin repositoryKT-67442KJS / Gradle:kotlinStorePackageLockfails due to OS-dependent lockfile with npm package managerTools. Gradle. Multiplatform
New Features
KT-70469Add feature flag for Project Isolation and Kotlin MultiplatformKT-70897Add KotlinBaseApiPlugin.kotlinAndroidExtensionFixes
KT-71206KGP: Test source set may get duplicated KLIBs of different versionsKT-71209Drop Hierarchy Template diagnostic about used shortcutsKT-69412ChangeKotlinTargetAlreadyDeclaredChecker's severity from warning to errorKT-70060KGP: handleHierarchicalStructureFlagsMigration doesn't support project isolationKT-57280Expose Kotlin Project Structure metadata via consumable configurations instead of accessing all gradle projects directlyKT-64999Support Project Isolation with Kotlin Native tasks (XCode integration, Cocoapods etc)KT-64998Granular Metadata Dependencies Transformation is not compatible with Project IsolationKT-70650GenerateProjectStructureMetadata is not compatible with Project IsolationKT-71675checkSandboxAndWriteProtection collides with Compose's syncComposeResourcesKT-66461Promote compiler options DSL for multiplatform projects to stableKT-69323Don't pass platform dependencies to metadata compilationKT-72454Revert changes made in KT-69899 i.e. make kotlin.android.buildTypeAttribute.keep = false by default againKT-70380KMM App failed to consume android binary libKT-71423Xcode archive missing dSYM files since Kotlin 2.0.20KT-69899KMP: Publish BuildType by default for android publications with multiple variantsKT-71428Change deprecation message for KMP target shorcutsKT-58231Kotlin Gradle Plugin: set deprecation level to Error for KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImportKT-72068Distribution for klib cross-compilation is not downloaded during compile tasksKT-70612Report incompatibility warning when Project Isolation enabled and Included builds are usedKT-71529Deprecate targetFromPreset API with an errorKT-69614Deprecate with error ios/tvos/watchos presetsKT-69974KMP: POM dependency rewriter doesn't work with Included Builds OR dependencySubstitutionKT-69472Remove IncompatibleAgpVersionTooHighWarning diagnosticKT-64996Commonize Native Distribution task is not compatible with Project IsolationKT-62911Export Kotlin Multipaltform Project Coordinates as a secondary variant of apiMetadataElementsKT-70888Project isolation: Project cannot dynamically look up a property in the parent project at PropertiesProvider.propertiesWithPrefixKT-70688Move ExperimentalSwiftExportDsl to another packageKT-58298AndroidAndJavaConsumeMppLibIT maintenance: Convert to new infrastructure and add test for newer AGP versionsKT-68976K2 IDE: Unresolved FileSystem.SYSTEM from OKIO in shared source setsTools. Gradle. Native
KT-67162KGP: Kotlin/Native with Isolated Projects: kotlinNativeBundleBuildService cannot be changed any futherKT-72366KGP 2.1.0-Beta2 doesn't downloadkotlin-native-prebuiltwhen running DokkaKT-45559CInteropProcess: Changes to header files are not recognized; Task is still UP-TO-DATEKT-71051K/N dependencies are re-downloaded multiple times on WindowsKT-71398kotlinNativeBundleConfiguration should not contain dependencies on unsupported platformsKT-71722kotlinNativeBundleConfiguration present in JVM-only Gradle projectKT-55832Support passing errors to Xcode when configuration cache is enabledKT-70690not possible to build iOS app with Swift Export and Xcode 16KT-65838Remove project usage from PlatformLibrariesGeneratorKT-70875KSP1 native tasks fail on configuration phaseTools. Incremental Compile
KT-69123IC: "NoSuchFieldError: No instance field". Not tracking changes to Android ViewBinding classTools. JPS
KT-68565K2: IllegalStateException: Source classes should be created separately before referencingKT-71042JAVA_MODULE_DOES_NOT_READ_UNNAMED_MODULEwhen compiling IntelliJTools. Kapt
KT-72249K2 KAPT Not picking up use site annontation like K1 KaptKT-69860K2 kapt: use compiler directly instead of Analysis APIKT-71776K2 Kapt in 2.1.0-Beta1 fails withe: java.lang.IllegalStateException: FIR symbol "class org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol" is not supported in constant evaluationKT-70879Kapt: check that Kotlin 2.1 language features are ignored correctly by K1 kaptKT-71431K2KAPT fails on modules without any annotation processorsKT-70600K2 KAPT: inline reified function has a null signatureKT-70718Kapt: "error: could not load module " on error type in data class componentKT-69861Kapt: use IR to obtain line information instead of PSITools. REPL
KT-71109Kotlin Scripting REPL doesn't support keyboard shortcutsTools. Scripts
KT-68685K2 / Script: "KotlinReflectionInternalError: Unresolved class:" caused by main.kts script with nested classes and reflectionKT-68545Using labeledthisaccess to implicit receivers fails in scriptsTools. Wasm
KT-67797Improve the variable view during debugging in Fleet for Kotlin/WasmKT-71506[Wasm, IC] FUS report for builds with incremental compilationKT-70100wasmJs Target Fails to Compile on ARM64 LinuxKT-70367Update binaryen once we get a release with PR 6793KT-67863K/Wasm: Remove ChromeWasmGcKT-71360K/JS & K/Wasm: Upgrade NPM dependenciesKT-70297Wasm: Incorrect kotlinJsTestRunner version set in Multi-Project Builds with mixed kotlin-stdlibsv2.0.21: Kotlin 2.0.21Changelog
Apple Ecosystem
KT-69093Xcode 16 support in KotlinBackend. Native. Debug
KT-71374lldb: step out breaks breaking in Xcode 16Compiler
Fixes
KT-69735K2: Static fields are missing from the declaration list of corresponding IrClass for java classKT-71122Regression in Kotlin Compiler 2.0 causing NPE in the runtimeKT-70931K2 / Scripts: "cannot convert IrExpression to ConstantValue" when using function annotationKT-70584K2: "IllegalStateException: flow for PostponedLambdaExitNode not initialized - traversing nodes in wrong order?"KT-70808K2: "node has already been visited" with anonymous object in dead codeKT-69985K2: Classifier declarations from root package are resolved without imports in non-root packagesKT-70683K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwnerKT-70901False positive Public-API inline function cannot access non-public-API property accessorKT-70930K2: Java annotations not present on ENUM_ENTRY IR elementsKT-70194K2 IDE: exception on a very red fileKT-69399Native: IllegalStateException: "Failed to build cache"Compose compiler
Fixes
b/329477544Force open / overridden Composable functions to be non-restartable.b/361652128Disable live literal transform if the corresponding flag is disabledIR. Actualizer
KT-70894IR crash. UnprocessedIrFunctionFakeOverrideSymbolwhen actualize to JavaIR. Tree
KT-71191SymbolTable: Check if the provided signature is public before adding a symbol to the SymbolTableNative. Build Infrastructure
KT-71485K/N runtime parts don't build due to _Float16 issues on x86_64 macOSNative. C Export
KT-69507LLVM 11 clang with Xcode 16 headers: standard c++ headersNative. C and ObjC Import
KT-71029Investigate why stdarg.h declarations leak into testModuleANative. Platform Libraries
KT-70566LLVM 11 clang with Xcode 16 headers: 'sys/cdefs.h' file not foundKT-71624Eliminate remaining UIKit/AppKit removed signaturesKT-70031Rebuild platform libraries in 2.0.21 with Xcode 16Native. Testing
KT-70603C++ with -fmodules: cyclic dependency in module 'std': std -> _wctype -> __wctype -> std in dev llvm toolchainsTools. CLI. Native
KT-71262KotlinNativeLink tasks fetching from network despite -Xoverride-konan-properties=dependenciesUrl= being setTools. Compiler Plugins
KT-71038PowerAssert: Constant on RHS of elvis operator leads to compiler crashTools. Daemon
KT-35381Get rid of the native-platform usage in kotlin compilerTools. Gradle. Multiplatform
KT-71444Certain POMs produced by Kotlin 2.0.20 cannot be consumed by KMP projects with Android targetsKT-70700Gradle 8.10: The value for task ':commonizeNativeDistribution' property 'kotlinNativeBundleBuildService' cannot be changed any furtherKT-71396Gradle client side JVM explodes with OOM due to xcodebuild logsTools. Gradle. Native
KT-71419Light bundle KGP IT run against a stable K/N versionTools. JPS
KT-71450Constant build failure: com.intellij.util.io.ClosedStorageException: storage is already closedv2.0.20: Kotlin 2.0.20Changelog
Analysis. API
New Features
KT-68143Analysis API: support KtWhenConditionInRange call resolutionPerformance Improvements
KT-67195K2: do not call redundant resolve on body resolution phase for classesFixes
KT-67360Analysis API: KtDestructuringDeclarationSymbol#entries shouldn't be KtLocalVariableSymbolKT-67748K2: AllCandidatesResolver modifies the original FirDelegatedConstructorCallKT-68198Analysis API: Support application service registration in plugin XMLsKT-62936Analysis API: NativeForwardDeclarationsSymbolProvider is not supported for Kotlin/NativeKT-68689LL API: support analysis from builtins moduleKT-69630KAPT User project builds with KAPT4 enabled fail with Metaspace overflowKT-65417K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source setsKT-68882Analysis API: RefactorKaSymbolsKT-65413K2 IDE: KTOR unresolved serializer() call for@Serializableclass in common codeKT-67996Analysis API: rename Kt prefix to KaKT-67775Analysis API: expose only interfaces/abstract classes for the user surfaceKT-68009K2: lowering transformers of Compose compiler plugin access AbstractFir2IrLazyFunction modality, which results in null point exceptionKT-68918collectCallCandidates works incorrectly for parenthesis invokeKT-68462Analysis API: Integrateproject-structuremodule intoanalysis-apiandanalysis-api-platform-interfaceKT-69131AA: "provideDelegate" operator is not resolved from the delegation reference in FIR implementationKT-69055Analysis API: StabilizeKaScopesKT-66216K2 IDE. "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" on incorrect string templateKT-68959Introduce KaSeverityKT-53669Analysis API: redesign KtSymbolOrigin to distinguish kotlin/java source/library declarationsKT-68846Mark KaFirReference and all implementations with internal modifierKT-68845Move KaSymbolBasedReference to resolution packageKT-68844Move KaTypeProjection to types packageKT-65849K2: Rename 'high-level-api' family of JARs to 'analysis-api'KT-62540Remove uses of TypeInfo.fromString and TypeInfo.createTypeText from Kotlin pluginKT-62889K2 IDE. FPMISSING_DEPENDENCY_CLASSon not available type alias with available underlying typeKT-68155Analysis API: Add PSI validity check toanalyzeKT-62343Analysis API: fix binary incopatibility problems cause byKtAnalysisSessionProvider.analyzebeing inlineKT-68498To get reference symbol the one should be KtSymbolBasedReferenceKT-68393Analysis API: RenameKaClassLikeSymbol. classIdIfNonLocaltoclassIdKT-62924Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableIdKT-66712K2 IDE. SOE on settings string template for string variable with the same nameKT-65892K2: "We should be able to find a symbol" for findNonLocalFunctionKT-68273AA: supportKtFirKDocReference#isReferenceToImportAliasKT-68272AA: KtFirReference.isReferenceToImportAlias doesn't work for references on constructorKT-66996Analysis API: Expose the abbreviated type of an expandedKtTypeKT-66646K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl from FirJsHelpersKt.isExportedObjectKT-68203K2: Analysis API: wrong type of receiver value in case of imported object memberKT-68031LL resolve crash in case of PCLA inference with local objectKT-67851K2:PsiReference#isReferenceToalways returns false for references to Java gettersKT-68076AA: use type code fragments for import alias detectionKT-65915K2: Analysis API: extract services registration into xml fileKT-68049Analysis API: do not expose imported symbolsKT-68075K2: Analysis API: Type arguments for delegation constructor to java constructor with type parameters not supportedKT-65190AA: reference to the super type is not resolvedKT-68070AA: KtExpressionInfoProvider#isUsedAsExpression doesn't work for KtPropertyDelegateKT-67743K2: Stubs & AbbreviatedTypeAttributeKT-67706K2: "KtDotQualifiedExpression is not a subtype of class KtNamedDeclaration" from UnusedCheckerKT-68021Analysis API: do not break the diagnostic collection in a case of exception from some collectorKT-67973AA FIR: wrong KtCall modeling for == from type boundKT-67949AA: Type arguments of Java methods' calls are not reported as used by KtFirImportOptimizerKT-67988AA: functional type at receiver position should be wrapped in parenthesisKT-66536Analysis API: ContextCollector doesn't provide implicit receivers from FirExpressionResolutionExtensionKT-67321AA: Type arguments of Java methods' calls are not resolvedKT-64158K2: "KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtParameter"KT-60344K2 IDE. "KotlinExceptionWithAttachments: expectcreateKtCallto succeed for resolvable case with callable symbol" on attempt to assign value to param named getParamKT-64599K2: "expectcreateKtCallto succeed for resolvable case with callable" for unfinished if statementKT-60330K2 IDE. ".KotlinExceptionWithAttachments: expectcreateKtCallto succeed for resolvable case with callable symbol" on attempt to assign or compare true with somethingKT-66672K2 IDE. False positive INVISIBLE_REFERENCE on accessing private subclass as type argument in parent class declarationKT-67750Analysis API: Removeinfixmodifiers from type equality and subtyping functionsKT-67655Analysis API: declare a rule how to deal with parameters in KtLifetimeOwnerKT-61775Analysis API: KtKClassAnnotationValue lacks complete type informationKT-67168K2: Analysis API: Rendering is broken for JSR-305 enhanced Java typesKT-66689Analysis API: KtFirPackageScope shouldn't rely on KotlinDeclarationProvider for binary dependencies in standalone modeKT-60483Analysis API: add isTailrec property to KtFunctionSymbolKT-67472K2: Analysis API FIR: KtFunctionCall misses argument with desugared expressionsKT-65759Analysis API: Avoid hard references toLLFirSessionin session validity trackersKT-60272K2: Implement active invalidation ofKtAnalysisSessionsKT-66765K2: Analysis API: support classpath substitution with library dependencies in super type transformerKT-67265K2: status phase should resolve original declarations in the case of classpath subsitutionKT-67244K2: StackOverflowError in the case of cyclic type hierarchy and library classpath substitutionKT-67080K2: clearer contract for lazyResolveToPhaseWithCallableMembersKT-66713K2 FIR: Expose a way to get the module name used for name manglingKT-61892KtType#asPsiType could provide nullability annotationsKT-66122Analysis API: PassKtTestModuleinstead ofTestModuleto tests based onAbstractAnalysisApiBasedTestAnalysis. Light Classes
KT-65714K2: IDE K2: "org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirClassLikeSymbolPointer pointer already disposed"KT-65835SymbolLightClassForClassLike.getNamereturnsnullfor a companion object instead ofCompanionKT-68261SLC: Constructors of sealed classes should be privateKT-68696DropDecompiledPsiDeclarationProvider-related stuffKT-68404SLC: wrong binary resolution to declaration with@JvmNameKT-68275LC: no arg constructor is not visible in light classesKT-66687Symbol Light Classes: Duplicate field names for classes with companion objectsKT-66804Symbol Light Classes: Fields from the parent interface's companion are added to DefaultImplsApple Ecosystem
KT-65542Cinterop tasks fails if Xcode 15.3 is usedBackend. Native. Debug
KT-67567Native: after updating to LLVM 16 lldb hangs when smooth steppingBackend. Wasm
KT-70591To much sources that don't exist inside SourceMap fileKT-69529compileProductionExecutableKotlinWasmJs FAILED: No such value argument slot in IrConstructorCallImpl: 1 (total=1)KT-68088Wasm: "UNREACHABLE executed at Precompute.cpp:838" running gradle task wasmJsBrowserDistribution for compose multiplatform on WindowsKT-65798K/Wasm: make an error on default export usageKT-68828Wasm test failure. expect-actual. private constructor in expectKT-68453K/Wasm: "Supported JS engine not detected" in Web WorkerKT-64565Kotlin/wasm removeEventListener function did not remove the event listenerKT-65322[Wasm] Clean-up bootstrap codeKT-66099Wasm: local.get of type f64 has to be in the same reference type hierarchy as (ref 686) @+237036KT-63230[WASM]println(null)prints 'ul'Compiler
New Features
KT-58310Consider non-functional type constraints for type variable which is an expected type for lambda argumentKT-68969Consider implementing general "redundant interpolation prefix" warningKT-57872Improve "Public-API inline function cannot access non-public-API" checkKT-68165Native: type checks on generic types boundaryKT-67611Implement improved handling of $ in literalsKT-67787Implement guard conditions for when-with-subjectKT-39868Allow access to protected consts and fields from a super companion objectKT-66169useContentslacks acontractKT-67767Introduce an ability to enforce explicit return types for public declarations without enabling Explicit API modeKT-65841Allow to actualize expect types in kotlin stdlib to builtins in JVMKT-53834Support for JSpecify@NullUnmarkedPerformance Improvements
KT-69995K2: Slow compilation when star projecting mutually recursive bounds from javaKT-69723K2: code analysis taking too longKT-69898K2: Performance degradation in fir2ir caused by changes around intersection typesKT-68034Devirtualization analysis fails to devirtualize string.getFixes
KT-67102IR Evaluator: NoSuchFieldException when accessing a private delegated propertyKT-35305"Overload resolution ambiguity" on function for unsigned types (UByte, UShort, UInt, ULong)KT-69211K2: java.lang.IllegalArgumentException: Failed requirementKT-68874Types with different captured types as type arguments are rendered incorrectlyKT-66086K/N: Unchecked illegal cast is not thrownKT-70186Kotlin 2.0.20-Beta2: Unexpected number of type arguments: 0KT-68889K2: type variable should not be fixedKT-69835K2 / Native: kotlin.native.binary.gc=cms throws library cached but its dependency isn't errorKT-70417DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE leads to NPE in BEKT-69964K2: Returning from an in-place lambda doesn't compileKT-69773K2: "Overload resolution ambiguity between candidate" with arraysKT-60261K2: No origin is set for composite assignment operatorsKT-15388Forbid delegated property to have external getter/setterKT-70238K2: false negative VOLATILE_ON_VALUE for constructor propertiesKT-68669K2: Generate inherited delegated members after actualizationKT-63828K2: Missingsignaturemetadata for accessors of properties inherited from delegateKT-63871K2: different value ofisNotDefaultflag for property inherited from delegateKT-67119Migration warning from context receivers to context parametersKT-68997K2: "No accessor found" for an inline value class when query the value of a delegated class by reflectionKT-64106Native: the compiler allows using-optand-gat the same timeKT-69766K2: False negative: Internal setter of generic class is accessible from another moduleKT-68364JVM: ISE "Bad exception handler end" on a non-local break/continue inside try with finallyKT-69494StackOverflowError in CfgTraverserKt.getPreviousCfgNodesKT-56880K2. Conflicting overloads for main() isn't shown when language version is set to 2.0KT-69282K2: equality of unsigned types with nullability works incorrectlyKT-68492JVM IR backend: IDE / Kotlin Debugger: AE “Non-reified type parameter under ::class should be rejected by type checker” on evaluating private generic functionKT-70039K2: inconsistent stability of vals of captured receiversKT-44139Don't report overload resolution ambiguities if arguments contain an error typeKT-68996K2: "Not enough information to infer type argument" caused by typealias annotation with fixed generic argumentKT-55851K2: reference to a field from package private class crashes in runtimeKT-65038K2: Type alias from indirect dependency causesMISSING_DEPENDENCY_CLASSerrorKT-61875Native: remove support for bitcode embeddingKT-67693Implement checkers for K1 compiler which will check the usage of K2 new features and report that they are not supported in K1 compilerKT-68556K2: false negative PROPERTY_WITH_NO_TYPE_NO_INITIALIZER on uninitialized property without typeKT-60445K2/Java: investigate possible symbol clash while enhancing Java class type parameter boundsKT-64193K2: No smartcast with two boolean expressions in a rowKT-65546K2. implement extended checker for unused anonymous parameter in lambdaKT-68358@EnhancedNullabilityis missing on value parameter type after inheritance by delegation with strict JSpecify enabledKT-67791False negative "Synchronizing by Meters is forbidden" with inline value classesKT-69495k2: inconsistent output of unsigned number in string templatesKT-69619K2. JAVA_TYPE_MISMATCH when Kotlin out generic type used in JavaKT-69563trying to call.sourceonFirPackageFragmentDescriptorresults in exceptionKT-69611Internal annotation FlexibleArrayElementVariance is written to output jarKT-69463K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERS with expect/actual declarationsKT-68724K2: "ABSTRACT_MEMBER_NOT_IMPLEMENTED" caused by open modifier on interfaceKT-69182K2: OptIn on enum companion blocks enum constantsKT-69191K2: "Unresolved reference" caused by nested data objectsKT-69569Wrong paths when one type has multiple annotated argumentsKT-55128Wrong type path in type annotations when type arguments are compiled to wildcardsKT-67692Native: support LLVM opaque pointers in the compilerKT-69402FirSupertypeResolverVisitor: ConcurrentModificationExceptionKT-69062K1: false-negative "unsupported feature" error on multi-dollar interpolationKT-68967Consider demoting warnings about multi-dollar interpolation to IJ inspectionsKT-68957False-negative diagnostics about multi-dollar interpolation on string literals without interpolationKT-69476False negative NO_ELSE_IN_WHEN on when over intersection type with expect enum/sealed classKT-67069K2: Delegated member calls interface method instead of fake overrideKT-63864K2: Missing abbreviated type in metadataKT-59833K2: Stop modifying values of enum entriesKT-69421K2: Resolve changed from delegated function to java default functionKT-69392K2: "UNSAFE_CALL": when with some variable subjects does not smartcast the variableKT-69053K2: Unsupported intersection overrides for fieldsKT-69227K2: "Argument type mismatch" caused by generic typealias and upper boundKT-31371NOT_YET_SUPPORTED_IN_INLINE: incorrect error message for local inline functionKT-49473PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' propertyKT-49474NON_PUBLIC_CALL_FROM_PUBLIC_INLINE: specialize error message for 'inline' propertyKT-49503SUPER_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' propertyKT-11302On inapplicable '@JvmStatic' annotation, highlight only the annotation, not the function signatureKT-59510K2: do not render annotations in the deprecation diagnosticKT-68532"This code uses error suppression for 'INAPPLICABLE_JVM_NAME'. While it might compile and work, the compiler behavior is UNSPECIFIED and WON'T BE PRESERVED"KT-68859K2: unable to suppress only "JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE"KT-68469[K2] MISSING_DEPENDENCY_CLASS caused by redundant@file:JvmNameKT-68999K2: Unify the style of FIR generator with IR and SIR tree-generatorsKT-66061Kotlin/Native - building shared module for iOS - Argument list too longKT-49420Suspicious behaviour of frontend in case of DefinitelyNotNull type overloadKT-59752K2: "Conflicting overloads" if function with same signature added to different contextsKT-68618K1: Unresolved reference for qualified this in implicit typeKT-25341NOT_YET_SUPPORTED_IN_INLINE reported over anonymous object borderKT-69215K2: IllegalArgumentException for delegated function in anonymous object with captured type parametersKT-69044Destructuring declaration shouldn't be possible in declaration in whenKT-69028K2:FirJvmActualizingBuiltinSymbolProviderreturnsnullon builtins declarations if common source-set is not presentedKT-15704Rethink usage of term "type annotation" in error messagesKT-68970K2. Argument type mismatch caused by out projection in inferred type from if - elseKT-68800K2: DeleteConeAttributes.plusmethodKT-59389K2: Missing AMBIGUOUS_LABELKT-68803K2: Smart cast fails with "Unresolved reference" when@Suppress("UNCHECKED_CAST") used in statementKT-68968K2: Missing ILLEGAL_SUSPEND_FUNCTION_CALL diagnostic in initialization code of a local class inside suspend functionKT-68336K2 does not seem to pass the right constructor arguments to custom scriptsKT-68517"IrSimpleFunctionSymbolImpl is unbound" for actual class containing non-actual functionsKT-59678K2: InvestigateConeKotlinType.unCapture()KT-69027K2: InitializeFirStdlibBuiltinSyntheticFunctionInterfaceProviderin library sessionKT-62818K2: improve VAR_OVERRIDDEN_BY_VAL diagnostic messageKT-68214Rename TypeApproximatorConfiguration properties for clarityKT-68093Implement deprecation of smartcasts on class-delegated propertiesKT-67270Native: report more performance metrics from the compilerKT-68621DATA_CLASS_INVISIBLE_COPY_USAGE false negative for inline funKT-68568K2: False-positive ACCIDENTAL_OVERRIDE caused by missing dependency classKT-66723K2: NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS for actual typealias that extends to Java class with complicated hierarchy that includes default methodKT-69000Can't render constructor of intersection typeKT-68849K2: "ClassCastException: cannot be cast to kotlin.jvm.functions.Function2" caused by passing lambda to SAM constructor resultsKT-61744Native: -Xsave-llvm-ir-after fails to check errors from LLVMPrintModuleToFileKT-67103Support AbbreviatedTypeAttribute for aliased types from the source codeKT-63921K2: different representation of recursive type aliasesKT-68679K2: "Override has incorrect nullability in its signature compared to the overridden declaration" caused by subclass of Android HashMapKT-64335K2: improve rendering of captured types in diagnostic messagesKT-68820K2: "Unresolved reference" on calling function with "contract" nameKT-67933K2: no conversion between fun interfaces if target hassuspendKT-68230K2: FirMissingDependencyClassChecker: Not supported: ConeFlexibleTypeKT-68531K2: False-negative error on assignment to enum entryKT-68446K2: compile-time failure on smart-casted generic value used as a when-subject in a contains-check with rangeKT-68678K2: Drop usingFirBuiltinSymbolProviderwhile compiling JVM stdlibKT-68382Get rid of context receivers in FirScript implementationKT-68585Implement new rules for CFA about enum entriesKT-68110K2: "Java type mismatch" caused by spring.NullableKT-68613K2: False positiveCONFLICTING_PROJECTIONafter fixing KT-67764KT-67764K2: False negative: Projection problem is not reported inisexpressionKT-67887Expection on assigning to private field of value typeKT-67801NSME on evaluating private member function with value class parameterKT-67800NSME on evaluating private top-level function with value class parameterKT-68542K2: Fix referecing to@ExtensionFunctionTypeif it's declared in sourceKT-68188K2: Properly support FunctionN creation for stdlib compilationKT-67946K2: Crash on red code:Instead use FirErrorTypeRef for ERROR CLASS: Cannot infer argument for type parameter TKT-68526K2: false-negative inconsistent data class copy visibility warning on call to generic data class copy functionKT-68528K2: false-positive inconsistent data class copy visibility warning on call to function from another module with identical value parameter types and return typeKT-68525K2: false-negative inconsistent data class copy visibility warning on callable reference to data class copy functionKT-68617K2: Secondary constructors in a sealed class have private visibility instead of protected in the generated IRKT-63920K2: Private secondary sealed class constructor is private in metadata, but protected in K1KT-57996Usages ofFoo@Nullable[]produce only warnings even with-Xtype-enhancement-improvements-strict-mode -Xjspecify-annotations=strict`KT-68207K2: Investigate if losing ConeIntersectionType.upperBoundForApproximation during approximation leads to any issuesKT-64990K2: Remove usages of SymbolTable from FIR2IRKT-67798NSME on assigning to private delegated property of value classKT-68264K2: confusing INVISIBLE_* error when typealias is involvedKT-68529K2: false-negative redundant annotation warning on@ExposedCopyVisibilityon data class with public constructorKT-67943Approximation should not generate types with UPPER_BOUND_VIOLATION errorsKT-67503K2: False negative "Type Expected" when attempting to annotate a wildcard type argumentKT-68187K2: Create IrBuiltins in fir2ir only after IR actualizationKT-66443K2: ArrayIterationHandler doesn't work if UIntArray declared in sourcesKT-68291K2 / Contracts: Non-existent invocation kind is suggested as a fixKT-68209K2: Strange import suggestion when lambda body contains invalid codeKT-67368"NullPointerException: Parameter specified as non-null is null" local lambda creates new not-null checks with 2.0.0-Beta5KT-51433FE 1.0: implement warnings about label resolve changesKT-66554K2. Drop FIR based fake-override generator from fir2irKT-64202K2: Drop old methods for calculation of overridden symbols for lazy declarationsKT-67895K2: Properly implement generation of fake-overrides for fieldsKT-54496K2:REDUNDANT_MODALITY_MODIFIERdiagnostic disregards compiler pluginsKT-63745K2: Approximation of DNN with nullability warning attribute leads to attribute incorrectly becoming not-nullKT-63362AbstractTypeApproximator fixes only first local type in hierarchyKT-67769K2: "variable must be initialized" on unreachable access in constructorKT-51195FIR IC: Incremental compilation fails with@PublishedApipropertyKT-67966No JVM type annotation is generated on a class supertypeKT-46640Generate JVM type annotations on wildcard boundsKT-67952Annotations on type parameters are not generated for parameters other than the firstKT-68012K2. No'operator' modifier is required on 'component'error in K2KT-61835K2: FirStubTypeTransformer receives unresolved expressions in builder inference sessionKT-63596K1/K2: Different behavior for lambda with different return typeKT-67688K2: False positive CANNOT_INFER_PARAMETER_TYPE for Unit constraint type variableKT-62080False positive UNUSED_VARIABLE for variable that is used in lambda and in further code with several conditionsKT-60726K2: Missed TYPE_MISMATCH error: inferred type non-suspend function but suspend function was expectedKT-41835[FIR] Green code turns to red in presence of smartcasts and redundant type argumentsKT-67579K1/JVM: false-negative annotation-based diagnostics on usages of ABI compiled with non-trivially configured generation of default methodsKT-67493K2: argument type mismatch: actual type is 'T', but 'T' was expectedKT-64900K2:getConstructorKeywordcall inPsiRawFirBuilder.toFirConstructorforces AST loadKT-67648K2: wrong exposed visibility errors with WRONG_MODIFIER_CONTAINING_DECLARATION on top-level enum classKT-58686FIR2IR: Don't use global countersKT-67592K2: Success execution of:kotlin-stdlib:compileKotlinMetadataKT-60398K2: consider forbidding FirBasedSymbol rebindKT-54918Refactor transformAnonymousFunctionWithExpectedTypeKT-63360K2: Malformed type mismatch error with functional typeKT-67266K2: disappeared INLINE_CLASS_DEPRECATEDKT-67569K2: Fix default value parameters of Enum's constructor if it's declared in source codeKT-67378K2: Don't usewrapScopeWithJvmMappedfor common source setsKT-67738K2: Introducekotlin.internal.ActualizeByJvmBuiltinProviderannotationKT-64456K2: Port *VersionRequirementTest to K2KT-67136Put $this parameter to LVT for suspend lambdasKT-62538K2: Declarations inside external classes should be implicitly externalKT-67627K2: External interface companion isn't external in IRKT-60290K2: origin is not set for !in operatorKT-67512K2: false positive WRONG_GETTER_RETURN_TYPE when getter return type is annotatedKT-67635K2: No warning TYPE_MISMATCH_WHEN_FLEXIBILITY_CHANGES for SAM constructor with inferred typeKT-60501K2 Scripting: investigate metadata difference between K1 and K2KT-67598K2: Fix incorrect castingUBytetoNumberinFirToConstantValueTransformerKT-56564False positive "non-exhaustive when" in case of intersection typeKT-63969K2: extra property in metadataKT-63968K2: extra property in metadata for anonymous variable in scriptKT-67547K/N can't build caches, fails with "clang++: error=2, No such file or directory"KT-67469K2: Failing module in FP-intellijKT-64033K2: Investigate ForbidInferringPostponedTypeVariableIntoDeclaredUpperBoundKT-64457K2: Fix DecompiledKnmStubConsistencyK2TestGeneratedKT-66377IR Evaluator: "no container found for type parameter" when evaluating nested genericsKT-66378IR Evaluator: Symbol is unboundKT-64506IDE, IR Evaluator: NPE in ReflectiveAccessLowering.fieldLocationAndReceiver when evaluating private static propertiesKT-67380K2: Don't check forequalsoverriding for classAnyKT-67038K2: Missing type of FirLiteralExpression causes an exception for property initializer type resolutionKT-59813K2: Fix the TODO aboutfirEffect.sourceinFirReturnsImpliesAnalyzerKT-59834K2: Fix the TODO aboutmerge(other)inUnusedCheckerKT-59188K2: Change positioning strategy forWRONG_NUMBER_OF_TYPE_ARGUMENTSerrorKT-59108K2. SMARTCAST_IMPOSSIBLE instead of UNSAFE_IMPLICIT_INVOKE_CALLKT-65503The inline processor cannot handle objects inside the lambda correctly when calling an inline function from another moduleKT-30696NoSuchMethodError if nested anonymous objects are used with propagation reified type parameterKT-58966Incorrect type inference for parameters with omitted type of anonymous function that is being analyzed as value of function type with receiverKT-67458Use@PhaseDescriptionfor JVM backend lowering phasesKT-65647K2 ignores diagnostics on sourcelessFirTypeRefsKT-64489K2: Rename FirAugmentedArraySetKT-67394FIR: Make FIR repr of For from PSI and LightTree the sameKT-66724K2 IDE. False positive errors because of wrong type inference in complex case of delegated property and type argumentsKT-40248Confusing error message NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODYKT-66947K2: false-positive JSpecify nullability enhancement warning on Java wildcard type argument with same base type but different nullabilities as upper and lower boundsKT-66974K2: false-negative JSpecify nullability enhancement warning on nullable projection of Java wildcard type argument with non-null bounds in out-positionKT-66946K2: false-negative JSpecify nullability enhancement warning on Java wildcard type argument with nullable upper bound in out-positionKT-66442K2: No visibility error on importing private aliasesKT-66598K2: Allow comparisons,is-checks and casts between Kotlin and platform typesKT-55966K2: Not enough information to infer type variable K if smartcast is usedKT-64894OPT_IN_ARGUMENT_IS_NOT_MARKER diagnostic message is unclearKT-67019K2: IR has incorrect EQ origins for some inplace updating operatorsKT-59810K2: Support other ConstraintPosition-sKT-55383K1/K2: isClassTypeConstructor behaves differently for stub typesKT-60089K2: Introduced ERROR_IN_CONTRACT_DESCRIPTIONKT-60382K2: Refactor ExpectActualCollectorKT-62929K2: investigate if guessArrayTypeIfNeeded is necessary in annotation loaderKT-65642K2: IR: Array access desugaring doesn't have originsKT-24807No smartcast to Boolean in subject of when-expression when subject type is non-nullableKT-66057K2: incorrect supertype leads to class declaration being highlighted redKT-63958K2: drop support of UseBuilderInferenceOnlyIfNeeded=falseKT-63959K2: treat stub types as non-nullable for isReceiverNullable checkKT-65100IrFakeOverrideBuilder: support custom 'remove(Int)' handling logic in MutableCollection subclassesCompose compiler
New features
cdfe659Changed how compiler features being rolled out are enabled and disabled in compiler plugin CLI. Features, such as strong skipping and non-skipping group optimizations are now enabled through the "featureFlag" option instead of their own option.192e556Strong skipping is now enabled by default842a9e8Add support for default parameters in abstract and open@Composablefunctionsb/165812010Fixes
e207b05Fixes group generation for if statements when nonSkippingGroupOptimization is enabledb/346821372f64fc3aFixesendToMarkergeneration in early return from inline lambdas that caused start/end imbalanceb/346808602d6ac8a5Stop memoizing lambdas with captured property delegatesb/342557697f38d5a3Stop capturing parameter meta across crossinline boundaryb/343801379770fe8dPropagate annotations from inferred function types when serializingb/3452610773c67cdaFix memoization of captureless lambdas when K2 compiler is usedb/3405821803281e53Allow memoizing lambdas in composable inline functionsb/340606661b/351858979Fix stability inferencing of interfaces on incremental compilationb/346821372[Compose] Fix code generation for group optimizationb/357878245Disallow open@Composablefunctions with default params to fix binary compatibility issues.IR. Actualizer
KT-68830Compiler crash on missing actual classKT-69024K2: Children of expect annotation with@OptionalExpectationshould be actualizedKT-68742Allow expect protected to Java protected actualizationKT-66436K2. Actualizing modCount property with a field in AbstractMutableListKT-68741Support actualization of AbstractMutableList.modCountKT-68801Crash on access of fake override of function actualized by fake overrideKT-66307K2: property fake override isn't generated for protected fieldIR. Inlining
KT-67208KJS: put ReplaceSuspendIntrinsicLowering after IR inlinerKT-68100Run IR validation in the beginning and the end of the common prefixKT-69171Introduce a temporary-XCLI parameter that enables double-inliningKT-69006Enable IR visibility checks after IR inliningKT-69183IR inlining: properly handle defaults that depends on previous value parametersKT-67660Suspicious package part FQN calculation in InventNamesForLocalClassesKT-68558MoveInlineCallableReferenceToLambdaPhaseintoir.inlinemoduleKT-56466Support non-local break/continue in IR inlinerKT-64958KJS: Put as many as possible lowerings after the inlinerKT-67297Implement IR deserializer with unbound symbolsIR. Interpreter
KT-66938Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir'IR. Tree
Performance Improvements
KT-67695ForLoopsLowering fails to handle a loop over an imprecise typed iterableFixes
KT-68784Support validating visibility of referenced declarations in IrValidatorKT-68174Delete the IrMessageLogger interfaceKT-67082Introduce attributes on IrElementKT-68716DeepCopyIrTreeWithSymbols.visitConstshould remap const typeKT-67650Add default implementations to methods for non-leaf IrSymbol subclasses from SymbolRemapperKT-67649Autogenerate IrSymbol interface hierarchyKT-44721IR: merge IrPrivateSymbolBase and IrPublicSymbolBase hierarchiesKT-67580Autogenerate SymbolRemapperKT-67457Introduce a way to simplify IR lowering phase creationKT-67060NoSuchMethodError for org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl in the FlystoJavaScript
New Features
KT-69133Kotlin/JS: Add support for collection instantiation in JavaScriptKT-18891JS: provide a way to declare static members (JsStatic?)Fixes
KT-68943@JsPlainObjectbreaks when interface has type parametersKT-70592"Error: HttpClientCall expected" on HTTP request when targeting es2015 with KTORKT-67273Creating Kotlin Collections from JS collectionsKT-65018JS: Deprecate error toleranceKT-67355KJS / ES6: 'super' in lambda with enabled-Xir-generate-inline-anonymous-functionsleads to JS errorsKT-69353KJS / d.ts: Kotlin does not export base collection classes along with their mutable collection counterpartsKT-66898KJS: Reserved keywords not escaped when-Xir-generate-inline-anonymous-functionsis enabledKT-69710JS IR generates bad code for inner param default referring to outer membersKT-68632K2: allow JS_NAME_CLASH suppressionKT-69400Use correct type for references on local functions when transforming them into lambdaKT-68554Legalize marker interface as parent for JSO (interface marked with@JsPlainObject)KT-68740Kotlin/JS 2.0.0 IrLinkageError with dynamic function parameters inside data classesKT-68944@JsPlainObjectrequire properties, when type - nullable aliasKT-68891@JsPlainObjectfails to compile when encountering reserved keywords as interface propertiesKT-69023KJS / IR:globalThisis mandatory, breaking older browsers supportKT-68641KJS: 'export was not found' with per-file mode on case-insensitive filesystemKT-68053K2: NON_EXPORTABLE_TYPE on a typealias of primitive typeKT-62304K/JS: Investigate the compiler assertion crash in JS FIR with backend testsKT-68620[wasm][js] Default param in inner class method fails if we are referring generic extension propertyKT-64801K2 + JS and WASM: Inner with default inner doesn't work properlyKT-67248ModuleDescriptor in JS Linker contains incorrect friend dependeciesKT-64424K2: Migrate JsProtoComparisonTestGenerated to K2KT-52602Kotlin/JS + IR: incompatible ABI version is not reported when no declarations are actually used by a Gradle compilationKT-66092K/JS & Wasm: .isReified for reified upper bound is wrongly falseKT-67112Unable to apply@JsStaticfor common sources: [NO_CONSTRUCTOR]KT-62329KJS: "UnsupportedOperationException: Empty collection can't be reduced" caused by external enum with "@JsExport"KT-67018K/JS: Executable js file for module-kind=umd contains top level this instead of globalThisKT-64776Test infra for JS can't process dependency in mpp moduleKT-65076Use the same instance when a fun interface doesn't capture or capture only singletonsKlibs
KT-66557Check, that no bad metadata in klib is produced, when we failed to compute constant valueKT-66968Provide K/N platforms libs for all available targetsKT-66967Provide K/N stdlib for all available targets in all distributionsKT-66605[KLIB] Excessive creation ofBaseKotlinLibraryduring resolving libsKT-68824API 4 ABI: Don't show sealed class constructorsKT-68202KLIB metadata: nested classes are sometimes inside a different 'knm' chunkKT-65834[KLIB Resolve] Drop library versions in KLIB manifestsKT-67446[KLIB Tool] Drop "-repository " CLI parameterKT-67445[KLIB Tool] Drop "install" and "remove" commandsLanguage Design
KT-58920K2: Prioritize Enum.entries resolveKT-11914Confusing data class copy with private constructorKT-68636Incorrect private_to_this visibility for data class with a private constructorLibraries
New Features
KT-31880UUID functionality to fix Java bugs as well as extend itKT-57998implement Base64.withoutPaddingPerformance Improvements
KT-67023Optimize Int.sign and Long.sign for js and wasmJs targetsFixes
KT-70196Introduce ExperimentalUuidApi annotation for marking Uuid APIKT-60787Cannot ignore alpha when formatting with HexFormatKT-68025Improve documentation for HexKT-66129Minor issues with HexFormatKT-67511provide equals() and hashCode() implementations for kotlinx.metadata.KmTypeKT-68240stdlib: proper expects for internal API used in intermediate shared source setsKT-68840atomicfu-runtime: annotate some internal functions with@PublishedApiKT-68839Annotatekotlin.js.VOIDproperty with@PublishedApiKT-68023Improve documentation for Base64KT-51483Documentation of trimMargin is (partly) difficult to understandKT-64649Add explanation to "A compileOnly dependency is used in the Kotlin/Native target" warning messageKT-67807JS/Wasm: ByteArray.decodeToString incorrectly handles ill-formed 4-byte sequences with a 2nd byte not being continuation byteKT-67768Wasm: ByteArray.decodeToString throws out-of-bounds exception if the last byte is a start of a 4-byte sequenceKT-66896Improve Array contentEquals and contentDeepEquals documentationNative
KT-70166Native: EXC_BAD_ACCESS on watchOS when using DispatchersKT-69246K2: linkPodDebugFrameworkIosArm64 takes 15 (!!) times longerKT-67694Native: WeakRefBenchmark degradation due to nonoptimized IntProgression iterationKT-69206Native: updating to LLVM 16 breaks debugging in lldb on LinuxKT-68640Native: updating to LLVM 16 changes behavior ofusedattribute in C/C++ codeKT-58097Kotlin/Native: improve the error message if Xcode is not properly configuredKT-67583compileKotlin-task unexpectedly downloads K/N dependencies on Linux (but doesn't on Mac)Native. Build Infrastructure
KT-69781Kotlin/Native performance tests fail to compile with bitcodeNative. C and ObjC Import
KT-69094LLVM 11 clang: cinterops fail with "_Float16 is not supported on this target"KT-68254Native: flaky testForwardEnum test in Kotlin/Native on MacOSKT-65260Native: compiler crashes when casting to an Obj-C class companionNative. ObjC Export
KT-65666Native: enable objcExportSuspendFunctionLaunchThreadRestriction=none by defaultKT-57496linkReleaseFrameworkIosArm64: e: Compilation failed: An operation is not implementedNative. Platform Libraries
KT-69382LLVM 11 clang: symbol not found when running the linkerNative. Runtime
KT-70043Native: EXC_BAD_ACCESS on watchOS when using RandomKT-68928EXC_BREAKPOINT: BUG IN CLIENT OF LIBPLATFORM: Trying to recursively lock an os_unfair_lockNative. Runtime. Memory
KT-66644Native: threads are too often paused to assist GC (with concurrent mark)KT-68871Native: Unexpected barriers phase during STW: weak-processingKT-67779Native: SpecialRefRegistry::ThradData publication prolongs the pause in CMSKT-66918Native: scan global root set concurrentlyNative. Swift Export
KT-69469Exporting object twice causing crashKT-69251Get rid of context receivers from ./native/.../lazyWithSessions.ktKT-68865Move config into test-directivesKT-68259Swift export: secondary constructs lead to compilation errorsKT-67095Native: fix testNativeRefs export testKT-67099Remove SirVisitor and SirTransformer from codeKT-67003Abandon PackageInflator implementation in favour of PackageProvider componentNative. Testing
KT-69235Incorrect handling of friend dependencies in Native test infraKT-67436Native: support CLI testsKT-68416Native: when using test grouping, a whole group gets ignored on non-Mac hosts if it has Objective-C testsKT-68500Native: Drop custom logic in ExtTestCaseGroupProvider, mute codegen/box tests explicitlyReflection
KT-69433KotlinReflectionInternalError on non-reified type parameter in typeOf inside an inline lambdaKT-68675K2: KotlinReflectionInternalError on non-reified type parameter in typeOf inside a lambdaTools. Build Tools API
KT-68555BTA test infra: top level declarations are invisible across modulesTools. CLI
KT-69792Add the possibility to disable fast jar fs in K2KT-68838OutOfMemory when compiling in CLIKT-67939Add CLI argument to enable when guards featureKT-68743Extract common CLI arguments for all KLIB-based backendsKT-68450CLI: errors related to module-info are reported even if there are no Kotlin source filesKT-68060FastJarFS fails on empty jarsTools. CLI. Native
KT-66952Native: konanc fails when KONAN_HOME is under path with spacesKT-64524Introduce a CLI argument to override native_targets field in klib manifestTools. Commonizer
KT-68835Command line length overflow on Linux/Windows while invoking commonizer via :commonizeDistributionTools. Compiler Plugin API
KT-68020K2: run FirSupertypeGenerationExtension over generated declarationsTools. Compiler Plugins
KT-64425K2: Implement Atomicfu*IrTestGenerated for K2KT-69401Kotlin power assert plugin doesn't work correctly with safe cast operatorKT-69290PowerAssert: implicit receivers included in power-assert generated diagramKT-68511Power Assert kotlinx.assertEquals message display problemKT-68807Power-Assert crashes the Kotlin compiler when if expression used as assertion parameterKT-68162K2 Parcelize implementation breaks compiler phase contractsKT-67605K2 parcelize: false positive NOTHING_TO_OVERRIDE in one testKT-64455K2: Implement ParcelizeIrBoxTestWithSerializableLikeExtension for K2Tools. Compiler plugins. Serialization
KT-70516KxSerialization:@KeepGeneratedSerializerand sealed class cause initialization errorKT-68752Serializable annotation on Java class is not taken into account in K2 checkerKT-68931JS/Native + serialization: partial linkage errorKT-69039FIR: Implement IDE-only checker for kotlinx.serialization compiler plugin to report IDE-only diagnosticsTools. Fleet. ObjC Export
KT-68826ObjCExport: SerializersModuleBuilderKT-68841ObjCExport:@DeprecatedsupportKT-68887ObjCExport: K1 text fixture@DeprecatedsupportKT-68051[ObjCExport] Support reserved method namesTools. Gradle
New Features
KT-68651Compose: provide a single place in extension to configure all compose flagsPerformance Improvements
KT-61861Gradle: Kotlin compilations depend on packed artifactsFixes
KT-69809Compose Gradle Plugin: AGP doesn't override configuration properties like traceMarkersEnabledKT-65820Compatibility with Gradle 8.7 releaseKT-69444Don't warn about missing Compose Compiler Gradle plugin in some casesKT-67888Remove usages of deprecated Configuration.fileCollection() methodKT-68843Gradle: Kotlin plugin changes source set 'main' to 'null/main'KT-67395Add new plugins to collector kotlin gradle performanceKT-68661Move ExperimentalWasmDsl to kotlin-gradle-plugin-annotationsKT-69837Deprecation warning for file-based IC is issued when the property is set to true, altering the intended meaning of the messageKT-69291Compose Gradle plugin: Enable strong skipping by defaultKT-67766Build against Gradle API 8.7KT-67889Run tests against Gradle 8.8 releaseKT-65271Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3KT-67822Deprecate JVM history files based incremental compilationKT-64378Compatibility with Gradle 8.6 releaseKT-69414Compose: featureFlags override values of the deprecated compose optionsKT-67771Compatibility with Gradle 8.8 releaseKT-65528Migrate rest of Gradle integration tests to new Test DSLKT-68306Project isolation for FUS statistics: Cannot access project ':' from project ':app' at org.jetbrains.kotlin.gradle.report.BuildMetricsService$ Companion.initBuildScanExtensionHolderKT-67890Compile against Gradle 8.8 API artifactKT-68773Kotlin 2.0.0 with Gradle 8.8: ConcurrentModificationException on BuildFusService configurationMetricsKT-68308Project isolation for FUS statistics: An error is thrown at org.gradle.configurationcache.ProblemReportingCrossProjectModelAccess$ProblemReportingProject.getLayoutKT-61574Add project-isolation test for Kotlin/Android pluginKT-65936Provide a detailed error for changing kotlin native version dependency.KT-62684PropertiesBuildService should load extraProperties only onceKT-67288Test DSL should not fail the test if build scan publishing has failedKT-58280org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpathTools. Gradle. JS
KT-70077[2.0.20-Beta2] KGP reports confusing warnings about js/wasmJS source setsKT-69805YarnSetupTask does not work for custom downloadBaseUrlKT-67444Gradle / JS: wrong type commonWebpackConfig.devServer.proxyKT-42923KJS: Resources are not available when running Karma testsKT-68482KotlinNpmInstallTask is not compatible with configuration cacheKT-68072K/JS, K/Wasm: Module not found in transitive caseKT-68103K/JS, K/Wasm: Generation of test compilation's package.json requires main compilationKT-67924K/JS, K/Wasm: kotlinNpmInstall can rewrite root package.jsonTools. Gradle. Kapt
KT-64627Kapt3KotlinGradleSubplugin uses property lookup that breaks project isolationKT-61928Clarify parameter types in KaptArguments and KaptJavacOptionTools. Gradle. Multiplatform
New Features
KT-56566Consider pre-generating DSL accessors for source sets with names corresponding to the default target hierarchyFixes
KT-66568w: KLIB resolver: The same 'unique_name=...' found in more than one libraryKT-65754Gradle: Commonized cinterop dependency configuration changes project descriptionKT-69406Deprecate combinations of KMP plugin with some Gradle Java pluginsKT-64109Using compileOnly/runtimeOnly dependencies in K/N-related configurations leads to odd behaviourKT-69311runDebugExecutable task fails with "this.compilation" is null with enabled configuration cacheKT-69310w: KLIB resolver: The same 'unique_name=...' found in more than one library for diamond source set structuresKT-61793KMP/AGP compatibility: Update the maximum tested AGP version to 8.3KT-66209Accessing the source sets by name is confusingKT-62368Kotlin 1.9.X fails to detect kotlin.test.Test annotation reference on commonTest source set when targeting JVM+AndroidKT-67110Usage of BuildOperationExecutor.getCurrentOpeartion internal Gradle APIKT-58319kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'"Tools. Gradle. Native
KT-69918java.lang.NullPointerException: Cannot invoke "org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation.getTarget()" because "this.compilation" is nullKT-67935OverriddenKotlinNativeHomeChecker does not work well with relative pathsKT-64430Remove deprecated KotlinToolRunner(project) constructorKT-64427Stop using deprecated KotlinToolRunner(project) constructor callTools. Incremental Compile
KT-69042K2: changing a Java constant won't cause Kotlin usages to recompileKT-63476Investigate the debug output of JVM compilation in KMP IC smoke testsTools. JPS
KT-63707JPS: "Multiple values are not allowed for" caused by ComposeTools. Kapt
KT-68145K2 KAPT: missing $annotations methods for const properties and private properties without accessorsKT-67495File leak in when building with kaptKT-66780K2 KAPT Kotlinc should exit with an exit code 1 (compilation error) if a Kapt task failsKT-66998K2 KAPT: Reimplement support for DefaultImplsTools. Scripts
KT-69296scripting dependency resolution does not authenticate towards maven mirrorsKT-67575FromConfigurationsBase script definition unexpected behaviour with regex from gradle templatesKT-67066DeepCopyIrTreeWithSymbols does not copy IrScript nodes correctlyKT-67071K2: ScriptCompilationConfigurationFromDefinition is not serializableKT-67063LauncherReplTest flaky on WindowsTools. Wasm
KT-70220K/Wasm: Upgrade NPM dependenciesKT-69245K/Wasm: Remove warning of working-in-progressKT-69154K/Wasm: wasmJsBrowserProductionRun flaky crash with "WebAssembly.instantiate(): Import ... function import requires a callable"KT-68930K/Wasm: Production run doesn not use optimize task resultKT-67901K/Wasm: Add kotlin-wasm-examples to CIKT-67468Gradle task build (allTests) fails on default web projectKT-67980Wasm: Incorrect "Please choose a JavaScript environment to build distributions and run tests" when WASM is not configuredKT-67862K/Wasm: Make usage of ChromeWasmGc an errorv2.0.10: Kotlin 2.0.102.0.10
Apple Ecosystem
KT-68257Xcode incorrectly reuses embedAndSign framework when moving to and from 2.0.0Compiler
Fixes
KT-69876K2 Compile exception: Only IrBlockBody together with kotlinx serializationKT-68521K2: Property's private setters can be bypassed when using plusAssign and minusAssign operatorsKT-68667K2: Compiler hangs on mapNotNull and elvis inside lambdaKT-68747K2: Long compilation time because of constraint solving when using typealias in different modulesKT-68940K2: "IllegalArgumentException: All variables should be fixed to something"KT-68797K2 / Native: "java.lang.IllegalStateException: FIELD" caused by enabled cachingKT-68362False-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED for inheritor of java class which directly implements java.util.MapKT-68449K2: "when" expression returns UnitKT-67072K2: inconsistent stability of open vals on receivers of final typeKT-68570K2: "Unresolved reference" in call with lambda argument and nested lambda argumentKT-69159K2: KotlinNothingValueException in ExposedKT-68623K2: "Only safe or null-asserted calls are allowed" on safe callKT-68193JDK 21: new MutableList.addFirst/addLast methods allow adding nullable value for non-null typesKT-67804removeFirst and removeLast return type with Java 21KT-68727K2: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" caused by an enum class with default parameter in a different moduleKT-68383K2: "Argument type mismatch: actual type is 'kotlin.String', but 'T & Any' was expected." with intersection typesKT-68546K2: false-positive conflicting overloads error on inheriting generic type with inherited generic and non-generic member overloadsKT-68626K2: "Conflicting Overloads" for function if inherited from generic typeKT-68351K2: "Suspension functions can only be called within coroutine body"KT-68489K2: WRONG_ANNOTATION_TARGET with Java and Kotlin@Targetannotation positionsKT-69058K2: Java-defined property annotations not persistedKT-64515K2 IDE: [NEW_INFERENCE_ERROR] in a build.gradle.kts script while applying "jvm-test-suite" plugin and then configuring targets for test suitesKT-68016K2: Gradle repo testshould compile correctly with Kotlin explicit api modefails on K2KT-68575K2:@ParameterNameannotation is not erased when inferring the type ofitin lambdasKT-67999K2: lost flexibility on parameters of Java SAMKT-59679K2: Investigate extracting uncompleted candidates from blocksKT-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 JVMKT-68806K/Wasm RuntimeError: unreachable on Sequence::toListKT-68455K2: False negative UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONSKT-68538KJS/K2: usingwhilewithbreakinside inline lambdas leads to an endless cycleKT-68798JVM compiler crashes on calling private expect constructor with a default parameterKT-68734K2: enum class in KMP: Expect declarationMMKVLogLevelis incompatible with actualMMKVLogLevelbecause modality is differentKT-68674False positive ACTUAL_WITHOUT_EXPECT in K2KT-68350K2: "Inapplicable candidate(s)" caused by parameter reference of local class with type parameters from functionKT-68571K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by exceptions and when statementKT-68523K2: FileAnalysisException when using Definitely non-nullable typesKT-68339K2: "Enum entry * is uninitialized here" caused by lazy property with enum inwhenexpressionKT-66688K2: false-negative "upper bound violated" error in extension receiverKT-68630DiagnosticsSuppressor is not invoked with Kotlin 2.0KT-68222K2. KMP. False negativeExpected declaration must not have a bodyfor expected top-level property with getter/setterKT-64103FirExpectActualDeclarationChecker reports diagnostic error for KtPsiSimpleDiagnostic with KtFakeSourceElementKT-68191K2. Static fake-overrides are not generated for kotlin Fir2IrLazyClassKT-68024K2: Gradle repo testaccessors to kotlin internal task types...fails on K2KT-64957K1: drop ModuleAnnotationResolverCompose compiler
0c5a858Fix memoization of captureless lambdas when K2 compiler is used b/340582180a8249d6Allow memoizing lambdas in composable inline functions b/340606661Native
KT-68094K2/Native: Member inherits different '@Throws' when inheriting from generic typeTools. Compiler Plugins
KT-69187Compose compiler for web doesn't support rememberComposableLambdaKT-68557K2. Supertypes resolution of KJK hierarchy fails in presence of allopen pluginTools. Compiler plugins. Serialization
KT-68850Compose lambda type not transformed with KGP 2 + new Compose pluginTools. Daemon
KT-68297KGP 2.0 regression: JAVA_TOOL_OPTIONS is not considered in Kotlin daemon creationTools. Gradle
KT-69330KotlinCompile friendPathsSet property is racy due causing build cache invalidationKT-69026Mark AGP 8.5.0 as compatible with KGPKT-68447ill-added intentionally-broken dependency source configurationsKT-69078Gradle: Add option to disable FUS ServiceKT-68278Spring resource loading in combination withjava-test-fixturesplugin brokenKT-66452Gradle produces false positive configuration cache problem for Project usage at execution timeKT-68242Run tests against AGP 8.4.0Tools. Gradle. Multiplatform
KT-68805KMP project (re-)import took a long time for downloading platform libsKT-68248kotlin multiplatform project fail to build on Fedora with correttoTools. Gradle. Native
KT-68638KGP 2.0 breaks native test with api dependencies and configuration cacheKT-65761Missing JDK Platform ClassLoader when compiling Kotlin native in daemonTools. JPS
KT-69204Generate lookups in dumb mode for compatibility with ref indexTools. Kapt
KT-68171K2KAPT: boxed return types in overridden methods changed to primitivesTools. Scripts
KT-68681K2 / CLI / Script: "NullPointerException: getService(...) must not be null" caused by@DependsOnKT-67747K2: regression in Spring unit tests usingjavax.script.ScriptEnginev2.0.0: Kotlin 2.0.0Changelog
Analysis. API
New Features
KT-65327Support reading klib contents in Analysis APIPerformance Improvements
KT-65560K2: Anaysis API: ContextCollector triggers redundant resolution in the case of file elementsKT-64987Analysis API: 50GB memory allocation on creating empty kotlinx.collections.immutable.persistentMapOfKT-61789K2: optimize getFirForNonKtFileElement for references inside super type referenceKT-59498K2: getOnAirGetTowerContextProvider took too much time due to on air resolveKT-61728Analysis API: optimize AllCandidatesResolver.getAllCandidatesFixes
KT-65561Analysis API: dummy.kt is not a physical fileKT-65616K2: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus from STATUSKT-65600Analysis Api: FirFile for KtCodeFragments are created and not updated on changesKT-64919K2 IDE: Implement KMP support for sealed class inheritorsKT-64241K2: Unresolved calls to functions in scripts depending on included projectsKT-65813Analysis API Standalone:FirDeclarationForCompiledElementSearcherdoes not find compiled elementsKT-66052AA: render expect/actual modifierKT-66795KtCodeFragment.clone() is brokenKT-66532K2 CodeGen AA: missing annotation setup for function in source module but not in a compile target fileKT-64833Analysis API: Members implemented by delegation have no overridden symbolsKT-62405Analysis API: SymbolsSUBSTITUTION_OVERRIDEhave no overridden symbolsKT-66749K2: "Collection contains no element matching the predicate" on an unresolved callKT-62832K2: ClassCastException: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatusKT-66719AbstractGetKlibSourceFileNameTest: The dependency to ":native:analysis-api-klib-reader" breaks JPS compilationKT-66603Analysis API: support type annotations in KtPsiTypeProviderMixIn#asPsiTypeKT-64505Analysis API Standalone: Remove test-specific calculation of sealed class inheritorsKT-66013Analysis API Standalone: Sealed inheritors aren't correctly calculated for source classesKT-62880K2 IDE: Unresolved java annotation methods in KDocKT-66530K2: Analysis API: KtPsiTypeProvider#asKtType crashes on PsiClassType for Java type parameter with wrong use siteKT-65571Support VirtualFile inputs to Analysis API modulesKT-66485Substituted types are not provided for callable referencesKT-66498Analysis API: 'KtFe10SymbolDeclarationOverridesProvider' considers a class to be a subclass of itselfKT-64579K2 IDE: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(Source) but FirArgumentListImpl found"KT-65978Analysis API: Use soft references inFileStructureCacheKT-64051K2 IDE: Analysis API: Unresolved links to typealias in KDocKT-66189K2 / IDE: KtFirExpressionTypeProvider bugsKT-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 parameterKT-66232K2: Analysis API: cover ScriptWithCustomDefDiagnosticsTestBaseGenerated by LL FIR testsKT-60996K2: Stub Based Deserializer: Set versionRequirements to enable VERSION_REQUIREMENT_DEPRECATION diagnosticsKT-66306K2: Analysis API: drop ability to enable global phase resolve lockKT-55750LL FIR: Implement multi-threaded resolveKT-65563Analysis API: Missing session componentFirExpectActualMatchingContextFactoryinLLFirLibrarySessionKT-66173K2: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter' in array owner: LLFirLibrarySessionKT-66238Gradle kotlin build scripts - a lot of unresolved symbols after latest changes in kotlin masterKT-65099K2: Recursive local storage cache check for Fir2IrDeclarationStorage::createAndCacheIrPropertySymbols()KT-65265Analysis API: Add library session invalidation testsKT-56288Analysis API: Add tests for session invalidation on the Analysis API sideKT-64000K2: make AnnotationArgumentsStateKeepers more accurateKT-63606K2: Analysis API: rewrite FirLazyAnnotationTransformer to avoid redundant transformationsKT-65191KtFirMultiplatformInfoProvider#getExpectForActual doesn't return expect function for slightly broken codeKT-62136Analysis API: Add concurrent tests forCleanableSoftValueCacheKT-61222K2: Add lifecycle management forKtResolveExtensionKT-65960Analysis API: Test infrastructure indexes binary libraries from decompiled files instead of stubs during IDE mode testsKT-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 moduleKT-65344K2: make FirScript statements (declarations) independentKT-65930AA: receiver type forInt?::foomisses nullabilityKT-65914AA: receiver type forthis::fooreturns return type of the target callableKT-62071Analysis API: KtFirScopeProvider.getScopeContextForPosition throws exception when ImplicitReceiverValue.implicitScope is nullKT-65780K2: polish FileStructure implementation for FirFileKT-62840K2 Script: everything around destructuring declaration on top level of scripts are brokenKT-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 actualKT-61296K2: do not resolve the entire file on lazyResolve call if FirFile is passedKT-65683Analysis API: Dangling file session creation causes acomputeIfAbsentcontract violationKT-64884K2 IDE. FP [NAMED_PARAMETER_NOT_FOUND] for copy method of library data class when class has not parameter-propertiesKT-65763K2: value parameter from library data class copy have RAW_FIR phaseKT-65665Analysis API: supportKtDelegatedSuperTypeEntryinKtFirExpressionInfoProvider.isUsedAsExpressionKT-62899K2 IDE. IDE ignores@Suppressannotation for errorsKT-65655Analysis API:KtCodeCompilationExceptionshould not strongly reference FIR sessionsKT-62302Support PsiType -> KtType conversionKT-64604K2: IDE K2: "Modules are inconsistent during performance tests"KT-65345K2: unify FirDesignation and LLFirResolveTargetKT-61757K2 IDE: resolution to buitlins does not work for from common moduleKT-65268K2: Checking the presence of the delegated constructor call forces AST loadingKT-63330Analysis API: Stub-based deserialized symbol providers provide unresolved enum entry annotation argumentsKT-65418Analysis API:LLFirAbstractSessionFactoryloads anchor module sessions eagerlyKT-64718Analysis API: do not expose SealedClassInheritorsProvider and FirRegularClass to IDE PluginKT-65075K2: getContainingDeclaration() is broken for declarations inside code fragmentsKT-61332SupportKtTypeCodeFragmentinPsiRawFirBuilderKT-65150AA: incorrect result fromKtTypeProvider#getReceiverTypeForDoubleColonExpressionfor Java static methodKT-56551LL FIR: implement parallel resolve for jumping phasesKT-65223Psi: avoid KtFile usagesKT-65307Analysis API FE10: support KtFe10AnalysisSessionProvider.getAnalysisSessionByUseSiteKtModuleKT-62695K2 IDE: Unresolved extension functions in KDocKT-65152Analysis API: KDoc references to packages are not fully resolvedKT-64988K2 IDE: Navigation from the named argument in safe call does not workKT-63195AA: incorrect results fromKtTypeProvider#getReceiverTypeForDoubleColonExpressionKT-64074K2: Investigate LL divergence for Script.testTopLevelPropertyInitializationKT-62441K2: IDE K2: "No dangling modifier found"KT-62895K2 IDE. FP'when' expression must be exhaustivewith sealed interface from libraryKT-64993Analysis API: KtExpressionTypeProvider.getExpectedType works incorrectly for arguments of safe callsKT-64883Allow direct creation of KtCommonFileKT-64646K2: properly forbid ast loading during raw fir phase in testsKT-64862Psi: missed parenthesis in type reference presentationKT-62893K2 IDE. FP 'when' expression must be exhaustive with Java sealed interface from libraryKT-63795K2:lazyResolveToPhase(BODY_RESOLVE)cannot be called from a transformer with a phase BODY_RESOLVE from SealedClassInheritorsProviderIdeImplKT-64805Analysis API: introduce common entry point for multi-file test casesKT-64714K2: Analysis API: CollectionsKt.map doesn't resolves from Java in kotlin repoKT-64647K2: Allow to calculate decompiled inheritors for sealed classes in testsKT-64595AA: stackoverflow while simplifying a type with a recursive type parameterKT-64825Analysis API. Cannot compute containing PSI for unknown source kind 'org.jetbrains.kotlin.KtFakeSourceElementKind$DefaultAccessor' exception on getContainingSymbol call for default setter parameterKT-64080K2: Analysis API: On-air resolve does not trigger resolution of delegated super call argumentsKT-64243K2: proper lazy resolution for fake overridesKT-62891K2 IDE. FP [EXPOSED_FUNCTION_RETURN_TYPE] on overriding library method which returns protected typeKT-62667K2: Cannot find enclosing declaration for KtNameReferenceExpression (on-air, imports)KT-61890Analysis API: Migrate KtFirScopeProvider to ContextCollector instead of onAirResolveKT-64197K2: Code fragments are only supported in JVMKT-62357K2 IDE. False positive on generated component methods and false negative on getter of@JvmRecordclasses in JavaKT-62892K2 IDE. Java outer class from other module is not resolved when nested class is accessed with fq name in a type positionKT-62888K2 IDE. IDE infers reference toKMutablePropertyas reference to justKPropertyKT-64584K2: StubBasedFirDeserializedSymbolProvider: support deserialization of delegated declarationsKT-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 delegationKT-62947Analysis API: Error while resolving FirPropertyImplKT-64468Analysis API: Implement mixed multi-module tests which support different kinds ofKtModulesKT-56541Symbol Light Classes: No@NotNullannotations are generated for accessors of lateinit properties of unresolved typesKT-63547K2 IDE. False Positive AMBIGUOUS_ANNOTATION_ARGUMENTKT-64205Analysis API: Do not import non-top-level callables by defaultKT-63056K2: Cannot mutate an immutable ImplicitReceiverValue on FirCodeFragment analysisKT-64108K2: KtFirSymbolDeclarationOverridesProvider shouldn't provide fake overridesKT-63752K2: java.lang.StackOverflowError FirFieldSymbol.getHasInitializerKT-63718Analysis API: Stub-based dependency symbol providers of library source sessions compute the wrong package name setsKT-64225K2: IDE K2: "FirLazyBlock should be calculated before accessing" in evaluate debuger completionKT-64186Analysis API: ContextCollector provides incorrect scopes for anonymous objectsKT-63979K2 IDE: presentation of types in completion is too verboseKT-63681K2: LL FIR: Improve isResolved check coverage of after lazy resolutionKT-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 pluginKT-62676K2 IDE: Reference shortener does not recoginize redundant this referencesKT-63627K2 IDE: shorten reference shortens required qualifierKT-62675K2 IDE: Reference shortener does not recoginize redundant labelsKT-60957K2: Analysis API: Reference shortener does not work correctly with invoke function calls on propertiesKT-63771fe10: KtNamedClassOrObjectSymbol#isInline does not cover value classesKT-60327K2 IDE. "IllegalArgumentException: source must not be null" during delegation declarationKT-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 argumentKT-63700K2: "FirLazyExpression should be calculated before accessing" in the case of secondary constructorKT-61383K2: 'KtCompilerFacility' fails on code fragment compilation in library sources with duplicated dependenciesKT-62111K2 IDE. IllegalArgumentException on for loop with iterator declaration attemptKT-63538Analysis API: Removing a contract statement viaPsiElement.delete()does not trigger an out-of-block modificationKT-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 nameKT-63660K2: expect-actual gutter icons must be shown when declarations are matched but incompatibleKT-63560Analysis API: Modifiable PSI tests cannot rely on the cached application environment to allow write accessKT-62980ImplementKtFirSimpleNameReference#getImportAliasKT-63130Analysis API: No receiver found for broken code during commit documentKT-62705K2: "lazyResolveToPhase(IMPORTS) cannot be called..." from light classesKT-60170K2 IDE: CCE from KtFirCallResolver on invalid code with wrong implicit invokeKT-61783K2: Analyze 'KtCodeFragment' in a separate sessionKT-62010K2: IDE K2: "ConeClassLikeTypeImpl is not resolved to symbol for on-error type"KT-62957Analysis API: NullPointerException on call resolution when builtins are not availableKT-61252K2: IDE K2: "By now the annotations argument mapping should have been resolved"KT-62935Analysis API:kotlin.Cloneableshould not be available in Kotlin/Native sourcesKT-62910Analysis API: create AbstractFirPsiNativeDiagnosticsTest for LL FIRKT-63096K2: Analysis API: KotlinAnnotationsResolver for IDE is created with incorrect scopeKT-62310K2 IDE. False positives errors with external annotationsKT-63282K2 Script: annotation arguments phase should resolve propagated annotationsKT-62397K2 IDE. FP Error in the editor onRequiresOptInannotation from the lib despite the warning levelKT-63223Analysis API: reference to declarations with kotlin* package are not resolvedKT-62626IllegalStateException: Cannot build symbol for class org.jetbrains.kotlin.psi.KtScriptInitializerKT-62693K2: IDE K2: "PSI should present for declaration built by Kotlin code"KT-62674K2: "Scope for type ConeClassLikeTypeImpl" is null from transitive dependenciesKT-61889Analysis API: Migrate KtFirReferenceShortener to ContextCollector instead of FirResolveContextCollectorKT-62772Analysis API: No 'org.jetbrains.kotlin.fir.java.FirSyntheticPropertiesStorage'(31) in array owner: LLFirSourcesSession when analysing builtins in a context of common codeKT-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 methodKT-62588getExpectedType should not calculate type of the expressionKT-61990K2: Unexpected returnTypeRef for FirSyntheticPropertyKT-62625K2: 'FirLazyExpression should be calculated before accessing' for unresolved super typeKT-62691K2: optimize getFirForNonKtFileElement for references inside 'where'KT-62834K2: missing file node level in control flow builderKT-62768Analysis API: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(44) in array owner: LLFirSourcesSession exception on analysing common codeKT-62874K2: FirLazyExpression should be calculated before accessingKT-62407Analysis API: resolve[this]in KDoc to extension receiverKT-61204K2: "FirLazyExpression should be calculated before accessing in ktor HttpBinApplication"KT-61901Analysis API: Declared member scopes for Java classes are missing static membersKT-61800Analysis API: Provide separate declared member scopes for non-static and static callablesKT-61255Analysis API: Get rid ofvalueOf,valuesandentriesfrom a declared member scopeKT-62466Expected type for functional expression should include inferred typesKT-61203IDE K2: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirRegularClassImpl(Source) but FirArgumentListImpl found"KT-61791Analysis API: Implement combinedgetPackagefor combined Kotlin symbol providersKT-62437K2 IDE. Resolution does not work inside lambda expression in constructor argument in supertypesKT-62244K2: Analysis API Standalone: Resolving klib dependencies from binary roots terminates applicationKT-62897K2 IDE. Unresolved declarations from libraries which are doubled inintellijproject librariesKT-61615K2: No 'org.jetbrains.kotlin.fir.analysis.js.checkers.FirJsModuleKind' in array owner: LLFirSourcesSessionKT-59334K2: LLFirImplicitTypesLazyResolver problemsKT-62038K2: Nested classes are missing in symbol light class structure tests for librariesKT-61788Analysis API: Symbol forFirAnonymousInitializercannot be nullKT-62139Analysis API: KtFe10AnalysisSession.createContextDependentCopy does not need validity checkKT-62090Analysis API: introduce an API to get a substitution formed by class inheritanceKT-62268K2 IDE. No autocompletion and IllegalStateException for PairKT-60325K2 IDE. "IllegalArgumentException: source must not be null" onthrowusage attemptKT-61431K2: KtPropertyAccessorSymbolPointer pointer already disposed for $$result script propertyKT-58490K2: LLFirTypeLazyResolver problemsKT-58494K2: LLFirAnnotationArgumentsLazyResolver problemsKT-58492K2: LLFirBodyLazyResolver problemsKT-58769K2: LL FIR: implement platform-dependent session factoriesKT-60343K2 IDE. IllegalArgumentException on passing incorrect type parameter to functionKT-61842K2: reduce number of "in-block modification" eventsKT-62012K2: "KtReadActionConfinementLifetimeToken is inaccessible: Called outside analyse method"KT-61371K2: Analysis API standalone: register compiler symbol provider for libraries in standalone modeKT-60611K2: reduce number of "in-block modification" eventsKT-61425Analysis API: Provide a way to get a declared member scope for an enum entry's initializing anonymous objectKT-61405Analysis API: An enum entry should not be aKtSymbolWithMembersKT-55504AA: remove dependency on :compiler:cli from standalone AAKT-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 KtParameterKT-61568FIR Analysis API:collectCallCandidatesgives presence to the top level functions in the presence of more suitable overridesKT-60610K2 IDE: move "out of block" processing logic into LL FIRKT-61597Analysis API: KotlinIllegalStateExceptionWithAttachments: expected as maximum oneexpectfor the actual on errorneous code with multiple expectsKT-59793K2: class org.jetbrains.kotlin.fir.declarations.impl.FirErrorImportImpl cannot be cast to class org.jetbrains.kotlin.fir.declarations.FirResolvedImportKT-61599K2: ContextCollector: Support smart cast collectionKT-61689Analysis API: ContextCollector provides incorrect context in scriptsKT-61683Analysis API: resolve ambiguities in kotlin projectKT-61245Analysis API: ContextCollector provides incorrect context for supertype constructor callsKT-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 declarationKT-59517K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistentKT-61331K2: add cache restoring in case of existing contextKT-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.isMangledFixes
KT-66692SLC:findAttributeValuefor attribute w/ default value in Java returnsnullKT-61734SLC: wildcard suppression not honoredKT-65112Symbol Light Classes don't support annotations on type parametersKT-65843K2: Light method returnskotlin.Unittype forTestResultreturn typeKT-65653SLC: wrong binary resolution to function with value classKT-65393SLC: missing deprecated-hidden propertyKT-64772SLC: presence of source PSI for compiler-generated declarationKT-65425K2 IDE: Seeing a reference to the class generated by compiler plugin exposed from Java code caused NPE from light classesKT-64937SLC: internal setters are not mangledKT-63949K2 IDE. Analyze hang on@Autowiredconstructor analysisKT-63087K2 IDE: in .java source reference to JvmName names on unsigned type / value class are unresolvedKT-64605K2 IDE: usage of@Repeatableannotation in Java: false positive "Duplicate annotation"KT-64795SLC: distinguish last v.s. non-lastvarargvalue parameter type during binary resolutionKT-61605K2 IDE: Light elements do not obey platform contractsKT-57536SLC: no need to populate members withexpectmodifierKT-64320Decouple kotlin psi from java PSIKT-64282Decouple KotlinIconProviderService from java PSIKT-63552Symbol Light Classes don't support arrayOf and similar without parameters in property initializers and default parameter valuesApple Ecosystem
KT-63821Copy framework to BUILT_PRODUCTS_DIR in the embedAndSign taskKT-67892KotlinNativeLink task instantiates with a fixed list of apiFilesKT-64096Diagnostic when embedAndSign used for framework with cocoapods-dependenciesKT-66446Diagnostic never showed, and build fails when CocoaPods dependency is used with embedAndSign task and linking type is dynamicKT-66445Diagnostic never showed when CocoaPods dependency is used with embedAndSign task and linking type is staticKT-62373"Xcode higher than tested" diagnosticKT-63212podInstall task fails without a proper diagnostic when xcodeproj gem is outdatedBackend. Native. Debug
KT-65553K2: Native: kt42208WithPassingLambdaToAnotherFunction test fails with K2KT-57365[Native] Incorrect debug info on inline function call siteBackend. Wasm
New Features
KT-65009Generate TypeScript definitions for the@JsExportdeclarations in K/WasmKT-58088[PL] Support & enable partial linkage for WasmKT-66327Include information about particular Wasm target into KLib manifestFixes
KT-66465WASM support doesn't appear to be able to see some common declarationsKT-66905K/Wasm: support new version of exception handling proposalKT-66515Wasm: "call param types must match" during the buildKT-67435K/Wasm: import.meta.url transforming into absolute local path in webpackKT-65777Implement named export for Kotlin/WasmKT-65660[WasmJs] Support catching JS exceptionsKT-65824Wasm: Allow unsigned primitives to be used inside functions annotated with@JsExportKT-66103Wasm: companion object is not initialized in test initializers1.ktKT-66471Null method reference with Kotlin/Wasm on 2.0.0-Beta4KT-65210K/Wasm::classoperator produces Number KClass for Short expressionKT-66065[Wasm] Make specialisations for closured primitive valuesKT-64890K/Wasm compiler crash with external class and KodeinKT-66104Wasm: compiler crash: NoSuchElementException: Sequence contains no element matching the predicateKT-65778Create the same TypeScript tests infrastructure for Kotlin/Wasm that we have now for Kotlin/JSKT-65411Kotlin/Wasm: Boolean boxed instances are not the sameKT-65713Kotlin/Wasm generates a wrapper that cannot run in DenoKT-63939Kotlin/Wasm Support lazy associated object initialisationKT-61888[Kotlin/wasm] in kotlin.test support for@AfterTestfor async testsKT-64803K/Wasm: non-capturing lambdas are not singleton unlike same lambdas in jvmKT-64449K2: Implement K1WasmWasiCodegenBoxTestGenerated for K2KT-64829K/Wasm: division remainder has a wrong signKT-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 ComposeKT-62863Execution failed for task ':kotlinx-serialization-properties:wasmJsD8Test' in serialization in the K2 QGKT-62657K/Wasm: switch to json repots for Kotlin Wasm BenchmarksKT-62147[Kotlin/Wasm] Nothing typed when expression cause a backend errorKT-61958Update SpiderMonkey and return its usage in box tests when they switch to the final opcodes for GC and FTR proposalsKT-60828K/Wasm: return br_on_cast_fail usagesKT-59084WASM: "RuntimeError: illegal cast" caused by inline class and JsAnyKT-60700[WASM] test FirWasmCodegenBoxTestGenerated.testSuspendUnitConversion failed after KT-60259Compiler
New Features
KT-45375Generate all Kotlin lambdas via invokedynamic + LambdaMetafactory by defaultKT-24664No smartcast on stable property if receiver had non-null assertionKT-23915Add smart cast to non-nullable type after elvis operatorKT-61077Support provideDelegate inference from var property typeKT-59688K2: consider removing smartcasts only from the only visibile property with specific name, not from all of themKT-7389Intersection type for type parameter with multiple upper bounds in star projectionKT-63477Consider supporting builder-style type inference from Unit coercion of last statements in lambdasKT-61907K2: builder inference works with assignments to member propertiesKT-61909K2: builder inference infers correct types from assignments to extension propertiesKT-59551K2: builder inference works with anonymous functions if builder parameter has a receiver with a postponed type variableKT-65443[K/N] Implement header cachesKT-4113Smart casts for properties to not-null functional types atinvokecallsKT-65681K2: Improve error message of UPPER_BOUND_VIOLATED when upper bound is a captured type or other non-denotable typeKT-32754Choose existing extensions over additional built-ins members from JDK except overridesKT-57800Support synthetic properties onsuperreceiverKT-64350K2: deprecate using typealias as a callable qualifier in importsKT-26565Choose existing extensions over additional built-ins members from JDKKT-65478JVM: Change inlined variable naming formatKT-64702Upper bound of type parameter is ignored when capturing of in-projection appears in out positionKT-60274K2: builder inference works through a delegated local variable inside builder argumentKT-65859Calls refinement extension pointKT-15220Reuse resolution results of common code for platform modules in multiplatform projectsKT-60476K2: False positive NO_VALUE_FOR_PARAMETER in platform code for value class with default parameter in common declarationKT-65153K/N: extract liveness analysis to a separate phaseKT-59098Support -Xjdk-release=1.6/1.7 with -jvm-target 1.8KT-63670Implement platform specific declaration clash diagnostics across all backendsKT-62547Introduce a language feature flag for smartcasts based on "memory" variablesKT-60820K1: Empty vararg value is inserted in serialized annotation call with expect default vararg valueKT-58172Forbidexpect class A actual constructorKT-54443Smart cast to non-null after safe-call in requireKT-25747DFA variables: propagate smart cast results from local variablesKT-22997Smart-cast should merge is-check for non-nullable type and a null check to a nullable typeKT-22996Smart casts should observe nullability after is-check with a nullable subject typeKT-22004Allow to resolve CONFLICTING_OVERLOADS with Deprecated(HIDDEN)KT-61955Support more wider actual member visibility, if the expect member is effectively finalKT-59504K2 compiler does not require resolved 'componentX' functions for the placeholder ('_') variables in the destructuring declarationsKT-62239Allow enum entries without parentheses uniformlyKT-11712Smart cast is not applied for invisible setterPerformance 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 entriesKT-62903UnoptimziedwhencompilationKT-67388FP intellij: performance degradation in build 611KT-67507K2: Slow compilation times when a class has a lot of possibly conflicting declarationsKT-65005K2: Investigate testCommonSuperTypeContravariant performanceKT-65996Compiler enters endless loopKT-66341K2: Don't build IdSignatures in FIR2IR with IR f/o builderKT-66172K2: Improve memory consumption ofKtPsiSourceElementKT-50860Combination of array set convention and plusAssign works exponentiallyKT-62798'in' range checks are not intrinsified in kotlin-stdlibKT-65579K2: performance regression in FP SpaceKT-61635K2:getConstructorKeywordcall inPsiRawFirBuilder.toFirConstructorforces AST loadKT-62619FIR: Checker performance regression due to MISSING_DEPENDENCY checkersKT-62044Do not add nullability annotations to the methods of anonymous classKT-62706Optimize KtSourceElement.findChild()KT-62513Do not add nullability annotations to the methods of local classesKT-61991K2: avoid redundant full body resolution for properties during implicit type phaseKT-61604[K/N] Bitcode dependency linking is slow for large compilationsKT-61121[K/N] Kotlin Native compiler performance is slow when generating large frameworksKT-57616K2: Consider optimizing reversed versions of persistent lists in FirTowerDataContextFixes
KT-67993K2: PCLA Inference throws exception with local objectsKT-61768Wrong bytecode index in LineNumberTable when there is an incremental operationKT-63580"AssertionError: access of const val: GET_FIELD" caused by const value and variable with delegationKT-63567"NoSuchMethodError" on getting value of lazily initialized property by companion's const valueKT-56078K2: build kotlinx.coroutinesKT-67609K2: False negative INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERRORKT-57750Report ambiguity error when resolving types and having the same-named classes star importedKT-65603K2: No approximation is done on public, but effectively private propertyKT-59932K2: Disappeared AMBIGUOUS_ANONYMOUS_TYPE_INFERREDKT-59906K2: Disappeared CAPTURED_VAL_INITIALIZATIONKT-53886NoSuchMethodError exception in Kotlin/Native compilerKT-57678K2: Inconsistency in how K2 analyzes unresolved code for loops and changing closuresKT-57871K1/K2 inconsistency on if-conditional without else-branch in parenthesisKT-56384K2: build IntelliJ monorepo master branchKT-49191Leaked integer literals from lambda with flexible return typeKT-65812K2: "OutOfMemoryError: Java heap space" in kotlin.utils.SmartList.addKT-67224K2/Native: Member overrides different '@Throws' filter from separate moduleKT-65623K2: Unresolved reference in connection with castsKT-64136K2: NSME with Anvil compiler pluginKT-51241Provide a error when override method has different set of context receiversKT-52920Confusing "Multiple arguments applicable for context receiver" error messageKT-67912K2: Cannot inference type properly from inline function with Type parameterKT-68056Prohibit referencing java field in case of conflict with property from companion object of the derived classKT-61129K2: Implement error suppression warningKT-67367K2: Incorrect resolution to top-level function with less specific signature in presence of SAM constructor on the same tower levelKT-50179Fix DUPLICATE_LABEL_IN_WHEN warning with new rules of complex boolean constantsKT-45334Prohibit referencing constructors of sealed classes by its inner membersKT-59943K2: Disappeared OPERATOR_MODIFIER_REQUIREDKT-67875K2: Resolution ambiguity between Iterable and varargsKT-67699Not enough information to infer type argument for 'Error' using Arrow's Raise context receiver since Kotlin 2.0.0-Beta3KT-67486K2: Calling method from a Java (implementing a Kotlin class) with named parameters is no longer possible if Java method has different parameter namesKT-66527K2: type mismatch on override for typeKT-59897K2: Disappeared PACKAGE_OR_CLASSIFIER_REDECLARATIONKT-50020K2: False-negative USAGE_IS_NOT_INLINEABLE when lambda in receiver positionKT-44557Implement main function detection to FIRKT-67810K2: public-API inline function cannot access non-public-API annotation enumKT-66447Implement KT-59138 under a language featureKT-54862Anonymous type can be exposed from private inline function from type argumentKT-37592Property invoke of a functional type with receiver is preferred over extension function invokeKT-51194False negative CONFLICTING_INHERITED_MEMBERS when dependency class contained in two different versions of the same dependencyKT-67221K2: "new inference error [NewConstraintError at Incorporate TypeVariable" for captured typeKT-66701K2: Java interface method override via Kotlin class rejectedKT-60604K2: introduced NON_PUBLIC_CALL_FROM_PUBLIC_INLINE,@PublishedApineeded for constants in annotationsKT-64309Generate a variable mapping for continuation parameter in suspend methods just from the startKT-65438K2: Introduce WEAKLY_HIDDEN concept to built-in-JDK content mappingKT-65235JDK 21 might lead to change in overloads resolutionKT-66768K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast callKT-67106Platforms libs-dependant autotests for ObjC checkersKT-65440K2: Mark all potential implementations of List.getFirst()/getLast() as deprecated independently of JDKKT-65594K2: Type inference fails on NullMarked object with star typeKT-62849Unoptimised bytecode for Java synthetic property referencesKT-60174JVM IR inline: accidental reification in various casesKT-57609K2: Stop relying on the presence of@UnsafeVarianceusing for contravariant parametersKT-54316Out-of-call reference to companion object's member has invalid signatureKT-66976Some value class diagnostics are missedKT-57426Incorrect error message on inapplicable smartcast from alien propertyKT-55111OptIn: forbid constructor calls with default arguments under markerKT-49856Incorrect smartcast on var assigned in try-catch blockKT-41237ReturnsImplies contract for receiver of member function does not work (no smartcast)KT-37878No Smart cast for class literal reference of nullable generic typeKT-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 argumentsKT-30267Inconsistent smart casts in while (true)KT-33917Prohibit to expose anonymous types from private inline functionsKT-28889Smart cast does not work with booleanandinfix functionKT-54790False positive NO_ELSE_IN_WHEN when all interfaces are sealedKT-54920K2:whenwith a single branch stops being exhaustive the second time it's doneKT-53364False positive UNUSED_VARIABLE warning for variable that is used across multiple blocksKT-43234False positive INVALID_IF_AS_EXPRESSION caused byifwithoutelseinsideelseinside synchronized()KT-38490False negative INVALID_IF_AS_EXPRESSION with unreachable code and coercion to UnitKT-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 conditionKT-34016Contracts - variable cannot be initialized before declarationKT-56408Inconsistent rules of CFA in class initialization block between K1 and K2KT-33829False positive SENSELESS_COMPARISON with assignment in catch blockKT-30717False positive UNUSED_VARIABLE with local var used in inline lambda block with loop, return and other lambdaKT-28232RETURN_NOT_ALLOWED in inline lambda argument of '[... ]' operator conventionKT-26116No error when class member val is referenced in inline function before it is assigned later onKT-25311Calls on error type values lead to false-positive unreachable codeKT-24372Misleading warning on unused setter parameter in some casesKT-23680False positive UNREACHABLE_CODE onthrowwith areturninsidefinallyclauseKT-23502When exhaustiveness is not checked for unreachable code, resulting in JVM back-end errorKT-22621"throw throw Exception()": False negative UNREACHABLE_CODE warningKT-22317No INITIALIZATION_BEFORE_DECLARATION without primary constructorKT-67307K2: "Cannot find cached type parameter by FIR symbol" in JpaRepository.saveAllKT-67185K2: Incorrect coercion-to-Unit leading to CCE at runtimeKT-64891K2: consider supporting/forbidding foo.(bar)() syntaxKT-59480K2: build moko-resourcesKT-65771K2: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" when calling method imported using typealias as callable qualifierKT-67502K2: "property must be initialized or be abstract" with try-finally in secondary constructorKT-67456K2: "property must be initialized or be abstract" depending on constructor declaration orderKT-63524K2: "Not enough information to infer type argument"KT-67628K2: "IllegalArgumentException: Expected nullable type" — alias of nullable type analyzed as non-nullable in type parameterKT-67625K2: Array aliases can't be used as vararg valuesKT-67624K2: False negative "The feature "break continue in inline lambdas" is experimental and should be enabled explicitly" in elvis operatorKT-61787K2 doesn't report warnings for some Gradle tasksKT-62550K2: Different JVM signature of lambda withUnitreturn typeKT-65120K2 Consider turn into platform checkers ones which checks for objCKT-60271K2: origins are not set on compare operatorsKT-28695Compiler does not detect uninitialized property in lambdaKT-67593K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERSKT-67484K2: FIR2IR generates incorrect access to f/o of lateinit internal varKT-47382JVM / IR: "AssertionError: Unbound private symbol IrFieldSymbolImpl" caused by string template in constructor and extension propertyKT-67581K2: Compiler fails on actualizing abstract class with sealed Java class via type aliasKT-49404Fix type unsoundness for contravariant captured type based on Java classKT-22379Condition of while-loop with break can produce unsound smartcastKT-67021K2: Cannot find cached type parameter by FIR symbol: E of the owner: FirRegularClassSymbol FunctionKT-67014K1/K2 handle when expression as annotation target differentlyKT-67254K1/K2 both allow annotations on loops, assignments, array setsKT-66960K2. KMP. False negative'when' expression must be exhaustivewithout sealed class inheritor from common source-setKT-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 argumentKT-56134K2: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER diagnostic is reported for the wrong symbolKT-66196Convert INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERROR to warningKT-66793K2: "assigning single elements to varargs in named form is prohibited." caused by varargs supplied from java with elvis operatorKT-59872K2: Disappeared TYPE_MISMATCHKT-67192K2: Disappeared TYPE_MISMATCH [3]KT-63319K1/K2: inconsistent behavior around NullMarked and type parameter based typesKT-59882K2: Disappeared CANNOT_INFER_PARAMETER_TYPEKT-67191K2: Disappeared TYPE_MISMATCH [4]KT-53752Missed subtyping check for an intersection typeKT-52628Deprecate SAM constructor usages which require OptIn without annotationKT-54066Deprecate upper bound violation in typealias constructorsKT-64860K2: Consider using different ConstraintPosition when fixing variables for PCLAKT-67189K2: Disappeared TYPE_MISMATCH [5]KT-67551K2: No wrong annotation target error forforstatementKT-67374K2: Object is not smartcasted to type parameter typeKT-67264K2: "argument type mismatch" with suspend lambda and java wildcardKT-63257K2: FIR2IR inserts incorrect implicit cast for smartcasted variableKT-66902K2: "Named arguments are prohibited for non-Kotlin functions" with Java interopKT-67311K2: "Argument type mismatch" caused by lambda type when using named argumentsKT-57011Make real type of a destructuring variable consistent with explicit type when specifiedKT-62043K2: Fix FirCompileKotlinAgainstCustomBinariesTest.testRawTypesKT-66256K2: compiler FIR2IR crash on SAM-conversion to value parameter of in-projected typeKT-67124"Unstable inference behaviour with multiple generic lambdas" compilation errorKT-59791K2: Implement partially constrained lambda analysisKT-66743Lambda receivers and anonymous function parameters of inaccessible types are allowedKT-67315K2: Some default imports are not excludedKT-56126Avoid using descriptors at JvmPlatformAnalyzerServices::computePlatformSpecificDefaultImportsKT-66513K2: Suppressing OPT_IN_USAGE_ERROR is now a warning in K2, preventing safe code gen compatible with -WerrorKT-67233False negative UNSAFE_CALL with type check after null coalescing with 'OR'KT-52802Report ambiguity resolving between property/field and enum entryKT-64920Json.encodeToString yields different results depending on whether typealias is usedKT-58260Make invoke convention work consistently with expected desugaringKT-67314PCLA works inconsistently with smart-cast related CS forksKT-66797K2 JS: Primary constructor property annotation with target VALUE_PARAMETER is put on property instead of parameterKT-55179False negative PRIVATE_CLASS_MEMBER_FROM_INLINE on calling private class companion object member from internal inline functionKT-54663Projected types don't take into account in-place not null typesKT-58191K2: capturing closures successors that are already resolved (thanks to backward edges) must be taken into account for allowing smart castsKT-67144K2: potential NPE when assigning to unstable varsKT-66971K2: missing SMARTCAST_IMPOSSIBLE on open val declared in another moduleKT-66904K2: possible NPE when reassigning captured variablesKT-57031operator assignment, increment/decrement should be considered as variable reassigning in terms of DFA. green in K1 -> red in K2 for unsound codeKT-67212K2: "Failed to find functional supertype for class org.jetbrains.kotlin.fir.types.ConeCapturedType"KT-67283K2: No SAM conversion for fun interface with abstract toStringKT-67318Compiler fails with OutOfMemoryError on combination of PCLA+smart castKT-66956K2: false negative CONST_VAL_WITH_NON_CONST_INITIALIZER for inc/dec operatorsKT-64233K2: K1/K2: ensure JVM ABI consistency for quality gates projectsKT-63535K2: Apply DFA implications for nullable Nothing to both sidesKT-63413K2 / kotlinx-atomicfu: "IllegalStateException: Expected some types"KT-62931K2: extra class files for@OptionalExpectationmarked annotationsKT-34307Confusing error message on lambda return type mismatchKT-62151K2. overload resolution ambiguity for calls of Java record compact constructorsKT-60732K2 Scripting: TeamCity DSL testKT-65062K2: build kotlinx.collections.immutable and pass to CIKT-59467K2: build toolbox-enterpriseKT-67205K2: can't deserialize annotation with local class as argumentKT-52175K2: WRONG_ANNOTATION_TARGET for annotation that used inside ifKT-65449K2: build KAPT user project and pass it to CIKT-61384IrFakeOverrideBuilder incorrectly checks visibility for friend modulesKT-67142K2: IrFakeOverrideBuilder: AbstractMethodError on raw type argument in a Java superclassKT-65105K2 / Native: Member overrides different '@Throws' filterKT-62570IncompatibleClassChangeError due to overriding final methodKT-57812K2: support serialization of type annotation's argumentsKT-67190K2: Disappeared TYPE_MISMATCH [2]KT-56683K2: No control flow analysis for top-level propertiesKT-67188K2: Disappeared TYPE_MISMATCH [6]KT-62063K2: drop pre-release flag in 2.0-RCKT-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 membersKT-63836K2: No deprecation error message in common metadata compilationKT-57618K2: complex deprecation messages are not printed in the errorKT-59856K2: Check ConeDiagnostics that are not mapped to KtDiagnosticsKT-57502K2: Smart casts should be forbidden if variable that remembers the smart cast is declared by delegationKT-63967K2: Missing getterSignature in metadata for script variablesKT-59372K2: Missing SELF_CALL_IN_NESTED_OBJECT_CONSTRUCTOR_ERRORKT-60526K2: Fix the TODO inconvertToIr.ktKT-67090K2: Exception from metadata compilation when compiling class with annotations from dependenciesKT-59479K2: build KorGEKT-64502K2: Internal error on calling function before declarationKT-62560K2: KAPT4: annotation@ReplaceWithis missing a default value for the element 'imports'KT-67027K2: Review all use-sites of annotation arguments utilitiesKT-65012IR Evaluator:NoSuchFieldExceptionwhen evaluating protected/private fields of superclassesKT-66953K2: toByte() call on Char leads to ClassCastException for klib backendsKT-60096K2: Introduced API_NOT_AVAILABLEKT-59484K2: build trustwallet sampleKT-64151K2: consider implementing FIR-level constant evaluationKT-65787K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType" caused by passing lambda expression with multiple labels to functionKT-53629K2: forbid multiple labels per statementKT-65255K2 / KJS: "IllegalArgumentException: Candidate is not successful, but system has no contradiction"KT-65195K2: Unexpected exception when executing dynamic array element inc/decKT-63416K2 / Contracts: False positive "Leaked in-place lambda" warning caused by suspend lambda with callsInPlace contractKT-66717Incorrect diagnostics around intersection property overridesKT-63540Restrict the CONFLICTING_OVERLOADS + DeprecatedLevel.HIDDEN ignore to final callablesKT-56587There are no warnings in some cases when Enum.entries is shadowedKT-65111K2: Java star imports don't work in KJK interdependenciesKT-63709K2: Argument smartcasting impacting receiver and call resolution for implicit invokeKT-63530K2: Disable passing data flow info from in-place lambdasKT-65377K2: "Argument type mismatch" caused by approximated captured type argument of generic typeKT-59400K2: Missing CANNOT_INFER_VISIBILITYKT-62305K2: Missing Fir metadata serialization support for scriptsKT-64534K2: org.jetbrains.kotlin.util.FileAnalysisException: Somewhere in fileKT-57555[LC] Forbid deferred initialization of open properties with backing fieldKT-65776[LC] K2 breaksfalse && ...andfalse || ...KT-64641K2: Change in inference of supertype of function types with receiverKT-65649K2: IR has incorrect origins for some inplace updating operatorsKT-64295Forbid recursive resolve in case of potential ambiguity on upper tower levelKT-62866K2: Change qualifier resolution behavior when companion object is preferred against static scopeKT-55446Change impact of private-to-this visibility to resolutionKT-64255Forbid accessing internal setter from a derived class in another moduleKT-64966Forbid generic delegating constructor calls with wrong type for generic parameterKT-63389K2:WRONG_ANNOTATION_TARGETis reported on incompatible annotations of a type wrapped into()?KT-66748K2: False-positive AMBIGUOUS_SUPER in toStringKT-67013K2: ClassCastException: class FirConstructorSymbol cannot be cast to class FirNamedFunctionSymbolKT-64872K2: do-while condition able to access uninitialized variableKT-66350K2: "IllegalStateException: Unsupported compile-time value STRING_CONCATENATION" when evaluating an annotation argument stringKT-61798K2 incorrectly calculates modality of property accessorsKT-65035IrFakeOverrideBuilder: AbstractMethodError on inheritance from Java subclass of CharSequence with inherited implementationsKT-61579K2: Inconsistent reportingUNINITIALIZED_VARIABLEfor top-level propertiesKT-66730K2: False positive RETURN_TYPE_MISMATCH in return statement in SAM constructorKT-66570Generic wildcard upper bound inference errorKT-65272K2: invoke operator applies "restricted suspending call" error differently than K1KT-66148K2. Sources of receivers updated twice because of PCLAKT-62525K2: IllegalStateException: Can't find KotlinType in IrErrorType: IrErrorType(null)KT-64266K2: don't report MISSING_DEPENDENCY_CLASS on lambda parameter for non-generic typesKT-65300K2: this-expressions in initializers and local declarations don't introduce type information to either BI or PCLAKT-66463K2: false positive ACCIDENTAL_OVERRIDE_CLASH_BY_JVM_SIGNATUREKT-62356Prohibit using property+invoke for iteratorKT-63631K2: constant value UByte.MAX_VALUE is incorrectly deserialized from metadataKT-65386K2: Different signature of invoke for Unit lambdaKT-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 UnitKT-66279K2: False positive INITIALIZER_TYPE_MISMATCH withreturn Unitin a lambda with the expected type() -> UnitKT-66277K2: False negative RETURN_TYPE_MISMATCH with empty return in lambda assigned to a propertyKT-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 kindKT-66638Cannot access properties of a generic type with wildcardsKT-66690K2: don't report MISSING_DEPENDENCY_CLASS on expression without errors for generic type argumentsKT-66767K2: Destructuring declaration inside initializer failureKT-63695JVM: Don't use plugin extensions when compiling code fragmentKT-65727K2: add proper package for properties generated from destructuring declarationsKT-64854K2: Trying to access private field on runtime with contractsKT-65388IrFakeOverrideBuilder - custom annotation is available in fake getter/setterKT-66595K2: compiler FIR checking crash on destructuring declarations calling hidden componentN declarationsKT-62129K2: Verification error on calling an extension from an env with 2+ context receiversKT-41607NI: UNSAFE_CALL caused by try catch block assigning to a nullable variableKT-63932K2/Native codegen test failures around builder inferenceKT-66352K2: difference between LL FIR and FIR for componentN functionsKT-66686K2 Script: Unresolved reference of script-specific entities on out-of-order resolveKT-65523K2: add proper package for result$$ propertyKT-66699Restore HostManager ABIKT-60533Inliner incorrectly captures non-null value as null in coroutinesKT-57925K2: Consider removing FirEmptyContractDescriptionKT-61893K2: should not resolve to Java function with Kotlin hidden-level deprecationKT-59669K2: Explore assignments in in-place lambdasKT-66271Fir: Deserialize classFile, functionFile and propertyFile from KlibMetadataProtoBufKT-57957K2: Symbol providers are frequently queried with error-named class IDsKT-66046K2: false negative CANNOT_WEAKEN_ACCESS_PRIVILEGE on propertyKT-66677K2: OVERRIDE_DEPRECATION isn't reported for WEAKLY_HIDDEN method toArray()KT-62793K2: slightly different bytecode of suspend conversionsKT-57244K2: slightly different naming scheme for suspend conversion adaptersKT-60256K2: types are not substituted in suspend conversionKT-66673K2/JS: FirJsInheritanceClassChecker doesn't expand type aliases to supertypesKT-66475K2/KMP/Wasm: report WRONG_JS_INTEROP_TYPE from a platform checkerKT-66474K2/KMP/JS: report EXTERNAL_TYPE_EXTENDS_NON_EXTERNAL_TYPE from a platform checkerKT-66473K2/Wasm: FirWasmExternalInheritanceChecker doesn't expand type aliasesKT-64407Implement WriteSignatureTestGenerated for K2KT-64438K2: Port CodegenTestCase to K2KT-64404Implement WriteFlagsTestGenerated for K2KT-66491K2 / KJS: "Name contains illegal characters." caused by backticks in importKT-66275K2: false-positive "Java module does not depend on module" error on access to inherited member from twice-transitive dependency via class from transitive dependencyKT-65801IrFakeOverrideBuilder - visibility is lost for setter in KJK hierarchyKT-65576K2: Incorrect resolution of variable+invoke when the property type is not computedKT-58575Private Kotlin property prevents use of Java get- and set-methods from Java-Kotlin-Java hierarchyKT-61282K2: Incorrect overridden function forjava.nio.CharBuffer.getKT-65464K2: False positive UNRESOLVED_REFERENCE on extension property call defined in KJK hierarchyKT-59470K2: build KaMPKitKT-60510Smartcast to functional type does not work in when exprssionKT-59677K2: Report diagnostics about missing receiver for delegated constructor call to inner classKT-65183K2: Remove workaround for@OnlyInputTypesand captured types with recursive supertypes from inferenceKT-66120IrFakeOverrideBuilder: wrong return type in intersection with 3 classesKT-65939IrFakeOverrideBuilder - nullability annotation is lost in intersection without annotationKT-59473K2: build firebase-kotlin-sdkKT-66356K2: type mismatch error when generic type with inaccessible generic type as type argument is produced and consumed by declarations from dependenciesKT-65193K2: "JAVA_TYPE_MISMATCH" caused by MutableListKT-66636NoSuchMethodError: 'void org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl. in the FLysto K2 QGKT-63941K2: "IllegalStateException: Unsupported compile-time value STRING_CONCATENATION" caused by class reference in string expression as annotation parameterKT-65704K2:computeCommonSuperTypeof flexible type with recursive captured type argument produces giant multi-level-deep typeKT-65410K2: ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED for 'removeAt' in KJK hierarchyKT-65184K2: disappeared TYPE_MISMATCH for java collectionsKT-66392K2: Exception in KJK hierarchy with implicit typesKT-66551Revert temporary commits after KT-62063 and bootstrappingKT-65218FIR LL and DiagnosticFE10 tests start to fail in case of adding any new declaration into stdlib commonMainKT-66552K2: build of intellij crashes the compilerKT-63746K2: JSpecify: If a class has a@Nullabletype-parameter bound, Kotlin should still treat unbounded wildcards like platform typesKT-66504K2: plusAssign operator call is resolved differently than function callKT-48515JSpecify: If a class has a@Nullabletype-parameter bound, Kotlin should still treat unbounded wildcards like platform typesKT-57588K2/Native: False positive '"CONFLICTING_OVERLOADS", "PARAMETER_NAME_CHANGED_ON_OVERRIDE" on overriding objc methodsKT-58892K2: Parcelize doesn't work in common code when expect annotation is actualized with typealias to@ParcelizeKT-65882K2: "KotlinNothingValueException" caused by unsafe cast and Nothing::classKT-66124K2: Remove FirLambdaArgumentExpression and FirNamedArgumentExpression after resolutionKT-65959K2: Incorrect warnings about inline function impactKT-64994K2:@Composablelambda type is not resolved from other modulesKT-66048K2: property becomes nullable in KJK hierarchy if base declaration has implicit return typeKT-47843No error reported on assigning "continue" to a companion objectKT-47530NI: Unexpected TYPE_MISMATCH when combining nested conditional and contravariant type argumentKT-49583NI: NullPointerException on compiling anonymous function returning a method referenceKT-42782NI: Smart casting for generic type doesn't work if the variable is already smart castKT-38031FIR: Discrepancy in call resolution for qualifiers with old FEKT-65789K1/K2: Resolve change in constructor/top-level function ambiguityKT-66150K2: expects type argument in super qualifierKT-60971Incorrect "cannot inline bytecode built with JVM target ..." on property setter if only getter is inlineKT-61514K2: Build fake overrides using IR during Fir2IRKT-65584K2: "Duplicate parameter name in a function type"KT-50008JSpecify@Nullableannotation on type-parameter bound prevents type-variable usages from being platform typesKT-37000IndexOutOfBoundsException from TypeResolver on typealias with cyclic referencesKT-56988CFG, smart casts: red in K1 -> green in K2 for invalid codeKT-62118FIR: "HashMap.entry" has invalid enhanced typeKT-64840K2: Bare type are not allowed for TV based values during PCLAKT-65415K2: Stdlib K2 build error: IrConstructorSymbolImpl is already boundKT-66449Make DiagnosticSuppressor a project-level extensionKT-66411FIR: Real source on fake block around assignment expression in the "when" branch affects resolve in K2 Analysis API and IDEKT-65249K2: False positive modality is different for native compilationKT-65982K2 Scripts cannot disambiguate declarations imported from default and explicit importsKT-65677K2: Unable to resolve parent class from companion objectKT-47310Change qualifier resolution behavior when companion property is preferred against enum entryKT-41034K2: Change evaluation semantics for combination of safe calls and convention operatorsKT-63529K2: Compiler does not detect tailrec call with nullable typeKT-66441Remove symbol table from IR fake override builder in Fir2IrKT-64846K2: false negative CONFLICTING_JVM_DECLARATIONS on inheritance from Java collection subclass with a conflicting overrideKT-62312[K2/N] revert putting stdlib to the beginning of libraries list in the compilerKT-58203K2: false-negative incompatible types error on is-check with unrelated typeKT-65722K2: Property reference refers to non-existent functionsKT-65878K2: "ClassCastException" when passing nun-suspend lambda to SAM constructor with named argumentKT-66379K2: No extra message in UPPER_BOUND_VIOLATED for cases with CapturedTypeKT-59475K2: build nowinandroidKT-65926K2: add tests for all fixed-in-k2 / not-reproducible-in-k2 unresolved issuesKT-59481K2: build aws-sdk-kotlin + smithy-kotlinKT-65022K2: Compiler crashes when array literal is used in delegate expressionKT-62836K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-64727K1: Closing bracket of object inside crossinline lambda or inside lambda in inline function is not hit on step-overKT-64726K1: Cannot stop on closing bracket of crossinline lambda inside of another crossinline lambdaKT-64725K1: Cannot stop on closing bracket of lambda of inline-only functionKT-66272Could not load module with a combination of type parametersKT-66243Could not load module in a builder inference with lambda with typed parameterKT-66229Could not load module in a builder inference with Map.EntryKT-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 bodyKT-61041K2: Consider getting rid of confusing shouldRunCompletion and shouldAvoidFullCompletion function in FirInferenceSessionKT-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 classKT-61448K2: Disappeared DEPRECATION in testWithModifiedMockJdkKT-60106K2: Introduced REIFIED_TYPE_FORBIDDEN_SUBSTITUTIONKT-58279K2. False-negativeSmart cast to is impossible, because is a public API property declared in different modulefor Java static fieldKT-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 representationsKT-66258K2: accessor-targeted@Suppressannotation is ignored on primary constructor propertyKT-29559Smart Cast functionality doesn't behave in an expected way in all casesKT-60777K2: missing INLINE_FROM_HIGHER_PLATFORMKT-66260K2: false-positive "abstract function in non-abstract class" error on abstract member function of open interfaceKT-66067K2: different overrides are created in a complex hierarchy with raw types and upper-bounded type parametersKT-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 FirUserTypeRefImplKT-63563K2: False negative RETURN_TYPE_MISMATCH with empty returnKT-60797K2: implement JAVA_MODULE_DOES_NOT_EXPORT_PACKAGEKT-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 usedKT-66000K2: inherited inline getter has not been inlinedKT-66158K2: not nullable return type for upper-bounded kotlin type parameter in KJK hierarchyKT-57268K2: extra methodsremoveand/orgetOrDefaultare generated for Map subclasses with JDK 1.6 in dependenciesKT-63577K2: false-positive "wrong number of type arguments" error on callable reference to member of generic function's local classKT-62352jspecify NonNull annotation seems not supportedKT-65636PowerAssert: Negative contains operator not aligned correctly in K2KT-64271K2: Wrong overriddenSymbols for toString of data classKT-62779K2: Difference in fake override generationKT-61941K2: FIR2IR incorrectly generates f/o structure for complex java/kotlin hierarchies with remapped jvm declarationsKT-60283K2: fake override for java static method is not generatedKT-65095K2: no bridge generated for getOrDefault when inheriting from Java Map implementationKT-57301K2:getOrDefaultand bridges are not generated for certain Map subclassesKT-50916K2: store resolved type inside ConeStubType after builder inferenceKT-65857K2: java.lang.IllegalArgumentException: Unknown visibility: unknownKT-66174-Xjdk-release 6 and 7 have a misleading error messageKT-66175Wrong supported options list for -jvm-target compiler optionKT-58814Too eager subtype inference in when expressionKT-65408K1: "There are still 2 unbound symbols after generation of IR module" caused by data object'scopyfunction usageKT-65844False Positive "This class can only be used as an annotation or as an argument to@OptIn" when passing as an arrayKT-58697K2: Tests: Assert no dump files exist when dump directive isn't presentKT-63258NPE with function reference from within lambda during initKT-60597K1: IllegalArgumentException: fromIndex(0) > toIndex(-1) when wrapping receiver with backticksKT-33108USELESS_CAST false positive for cast inside lambdaKT-58458K1: "java.lang.NullPointerException" with 'var equals' or 'val equals' as argument in whenKT-58447K1: "AssertionError: Recursion detected on input" with@ParameterNameand extensionKT-41013OVERLOAD_RESOLUTION_AMBIGUITY for functions takes lambda: can not resolve it, but only named lambda parameterKT-56032[LC issue] Incorrect wrapping when passing java vararg method to inline functionKT-65588K2: typealias of primitive type in vararg causes ABI incompatibilityKT-23873Indexed access operator can cause false USELESS_CAST warningKT-31191Contract not smartcasting for extension functions in if-statement with multiple conditionsKT-28725ReenteringLazyValueComputationException during resolution & inferenceKT-35429ReenteringLazyValueComputationException when accessing property with same nameKT-63826K2: expect for expect crashes the compilerKT-25668False-positive error on restricted suspending function call with callable referenceKT-18055SMARTCAST_IMPOSSIBLE on mutable data class variable with a read-only propertyKT-15904Improve error message when type of generic extension call is inferred from receiverKT-66186K1 diagnostics miss some reporting messagesKT-65101Generics behaving different when parenthesizedKT-63444TYPE_MISMATCH caused by Inner class with nullable type and star projectionKT-62022K1 False positive EXPOSED_FUNCTION_RETURN_TYPE on generics with anonymous object typesKT-58751Definitely non-nullable type gets lost with star projectionKT-56624"Unresolved reference" with import alias and enum constructor callKT-54726K1: StackOverflowError on mutually recursive typealiasesKT-35134False negative INCOMPATIBLE_TYPES, EQUALITY_NOT_APPLICABLE when comparing smartcast value to BooleanKT-20617Qualified this@propertydoes not work in extension properties with body expressionKT-10879OVERLOAD_RESOLUTION_AMBIGUITY for synthetic property accessor with smartcasted receiverKT-26768K1 IDE: False positive "Smart cast to '$CLASS$' is impossible", on local variable in run closureKT-63525K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by unreachable codeKT-65333K2: UNRESOLVED_REFERENCE for java inner class in intersection scopeKT-61060K2: Rewrite delegate inferenceKT-63712Make it possible to add new stdlib API with SinceKotlin(2.0)KT-63741K2: fix visibility inference with overridden + inherited memberKT-64488K2: False positive DEPRECATED_ACCESS_TO_ENTRY_PROPERTY_FROM_ENUM with context receiversKT-62283K2: build Dokka with K2 user project and pass it to CIKT-57585K2/MPP: false-negative errors on expect/actual modifiers mismatchKT-66077IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKindsKT-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@JvmNameKT-62135K2, KLIB: Classes are still sorted before serializing them to metadataKT-65866[K/N] Fix java.lang.IllegalArgumentException: Unknown visibility: unknownKT-66005K2: "Should not be here: class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedReifiedParameterReferenceImpl" on incorrect comparison of reified type parameterKT-65840[K2] Initializer type mismatch: expected 'Type', actual 'Type'KT-65002K2: Incorrect suspend conversion if argument is an aliased functional typeKT-65984K2 scripting: failure on processing SUPPRESS annotation in the last script statementKT-65680K2: Class redeclaration leads to BackendException during IR fake override builderKT-66028K2: Convert FirExpectActualDeclarationChecker to platform checkerKT-65592K2: IrFakeOverrideBuilder: ISE "should not be called" on diamond hierarchy with explicit dependency on annotations.jarKT-65277IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKindsKT-65983K2 gradle scripting: "'val' cannot be reassigned" errorsKT-60452K2 Scripting: implement overriding of the script paramsKT-65975K2: Implicit receivers resolution order in K2 scriptingKT-60249K2: No unit coercion generated for loops bodyKT-65937K2: order of enum entries changedKT-65933K2: Type missmatch in arrays in annotationsKT-65343JVM IR: Source parameter is lost when copying with DeepCopyIrTreeWithSymbolsKT-65103K2: IllegalArgumentException: IrErrorCallExpressionImpl(5388, 5392, "Unresolved reference: R?C|/cont|") found but error code is not allowedKT-62788K2: difference in annotation inheritance in overriddingsKT-65669K2: ClassCastException class FirDeclarationStatusImpl cannot be cast to class FirResolvedDeclarationStatusKT-65493IrFakeOverrideBuilder: difference in return type for intersection with raw typeKT-65207IrFakeOverrideBuilder - nullable return type for intersection overrideKT-65972Fix problems related to Unknown visibility in [FP] intellijKT-65246K2: Overiding java method that takes vararg parameter causes WRONG_NULLABILITY_FOR_JAVA_OVERRIDE warningKT-59883K2: Disappeared INVALID_IF_AS_EXPRESSIONKT-57300K2: subclass of MutableCollection with primitive element type has methods with boxed typeKT-58476Context receivers: "No mapping for symbol: VALUE_PARAMETER" with context-receiver inside suspended lambda calling another suspended functionKT-52213Context receivers: "No mapping for symbol: VALUE_PARAMETER" caused by contextual suspending function type with receiverKT-56545Fix incorrect functions mangling in JVM backend in case of accidental clashing overload in a Java subclassKT-13650Right-hand side of a safe assignment is not always evaluated, which can fool smart-castsKT-61823K2: Render list of declarations in diagnostic messages with linebreak as separatorKT-65302IrFakeOverrideBuilder - missing@EnhancedNullabilityKT-65241K2: [LT] Compiler crash on assignment expression with incorrect lvalueKT-60006K2: Disappeared EXPRESSION_EXPECTEDKT-65817K2: Check if callable reference vararg adaption can be affected by primitive type aliasesKT-62847K2: Introduce FIR node for SAM conversionKT-65920K2: no field for delegation is createdKT-65487K2: Different fake overrides and false positive NOTHING_TO_OVERRIDE for intersection/override with Collection.removeKT-65460Don't compare order of functions in IR dumpKT-64276[K/N][K2] K2 behaviorial difference with inconsistent inheritance of ObjCNameKT-65572[K/N][K2] INCOMPATIBLE_OBJC_NAME_OVERRIDE error message changed from K1KT-63420Prevent weakening visibility in implicit overridesKT-64635K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirAnonymousFunctionExpressionImpl' to be resolved" when provideDelegate is extension of function with receiverKT-63879K2: Redundant flagdeclaresDefaultValuefor parameter of function inherited from delegateKT-56744Prepare language committee ticket about DFA/Smart-cast related changes in K2KT-65790K2: Move check for private-to-this visibility into checkerKT-65551K2: Property redeclaration on native compilation leads to NotImplementedErrorKT-65770K2: Diagnostic rendering ofvararg Fooparameter producesvararg Array<Foo>KT-65555K2: must override 'spliterator' because it inherits multiple implementations for itKT-59921K2: Disappeared NULL_FOR_NONNULL_TYPEKT-65290K2: No override for FUN DEFAULT_PROPERTY_ACCESSORKT-19446False positive "Smart cast to 'Foo' is impossible" due to same variable names in different closuresKT-65337K2: False positive UNRESOLVED_REFERENCE when lambda labeled by illegal label and operator-invokedKT-65448K2: fake overrides are not generated for 'containsAll', 'removeAll', 'retainAll' if inherited from raw typeKT-65298K2: not nullable return type and parameter for raw typesKT-63377K2: conflict between type parameter and nested classKT-63286K2: Top-level properties in scripts are missing initialization checksKT-59744K2: false negative VAL_REASSIGNMENT in case of reassignment inside custom setterKT-58579K2: false-positive new inference error on invoking a generic function on Java wildcard type bounded by raw-typed Java inner classKT-60258Support java-kotlin interop for@SubclassOptInRequiredKT-60262Support for inter-module interaction for@SubclassOptInRequiredKT-62878K2: missing implicit coercion to unitKT-59715K2: Check behaviour of property + operator in operator positionKT-63441IrFakeOverrideBuilder: "accidental override" when implementing a Java function taking an array parameterKT-65706K2: IrFakeOverrideBuilder: ISE "Fake override should have at least one overridden descriptor" on J-K-J-K hierarchy with interface delegationKT-61362K2: Properties/fields are missing from system librariesKT-63344K2: False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTEDKT-58845K2: SAM checker can run incorrectly in presence of an expect supertypeKT-61843K2: Missing TYPE_MISMATCH for nested array literalsKT-62752expect-actual matcher/checker: return type must be "checking" incompatibilityKT-59887K2: Disappeared ACTUAL_MISSINGKT-65604K2: INAPPLICABLE_JVM_NAME: effective modalityKT-65637Prepare documentation for PCLA implementationKT-65341K2: "Cannot find cached type parameter by FIR symbol" caused by not-null assertion operator inside string in throwKT-49283Support contribution type info from a nested builder inference callKT-64077K2: Builder inference ignores constraints from nested builder inferenceKT-49160Couldn't infer a type argument through several builder inference calls broken by a local classKT-63827K2: Array += desugaring doesn't have originKT-65057K2: Wrong type inferred in code with heavy use of genericsKT-63514ISE “Inline class types should have the same representation: [I != I” during compilation on submitting UIntArray to varargKT-61088K2: return types of non-last-expression calls to@PolymorphicSignaturemethods inside try-expressions don't resolve to void when requiredKT-62476K2: Enable building fake overrides by ir on non-JVM targetsKT-59839Prohibitheaderandimplin MPPKT-61310K2: "Not enough information to infer type variable R" for transformLatestKT-63733Builder-style type inference can't resolve to extension overloads when they're more applicable than member onesKT-57707K1: inconsistent TYPE_MISMATCH in builder inferenceKT-55057Builder inference changes behaviour sporadically based on BI annotation on unrelated callKT-60663Builder inference does not work inside a nested unrelated builder inference lambdaKT-53639TYPE_MISMATCH: compiler can't infer the list's type when usingbuildList {}builder orCollection#isNotEmptyKT-60291K2: "IllegalStateException: Cannot serialize error type: ERROR CLASS: Cannot infer argument for type parameter T" during FIR serializationKT-65033K2: Fir2LazyIr: Lazy type aliases not supportedKT-57709Inconsistent extension function call resolution in builder inferenceKT-53740Builder inference with multiple lambdas leads to unsound typeKT-60877Builder inference from the null literal results in Nothing instead of Nothing? for producing positions of the postponed type variableKT-53553Builder inference: inconsistent types in different lambda scopesKT-54400K2: builder inference does not work with assignments of literals to member propertiesKT-63840Builder inference fails on calls to identity-shaped functions with postponed type variables inside select-constructionsKT-65262K2: Exception in DFA for combination of try-finally + PCLA + DIKT-58169K2: make equals bounded smart casts work the same as in K1KT-64967K2: false positive TYPE_MISMATCH with generic type parametersKT-64102K2: Missing (disappeared in this case) DELEGATE_USES_EXTENSION_PROPERTY_TYPE_PARAMETER_ERRORKT-63988K2: Reflection cannot find type of local class of local classKT-63901K2: Different naming of inner class in metadataKT-63655K2: incorrect short class name in metadata for anonymous object inside a local classKT-59664Inline modifier can be added to a constructor parameter, but it does not have any effectKT-59418K2: Missing DUPLICATE_PARAMETER_NAME_IN_FUNCTION_TYPEKT-63612K2: Class is not abstract and does not implement abstract memberKT-63737Wasm: revise external declaration FE checker for WASI modeKT-59782K2: Forbid local delegated properties with private accessors in public inline functionsKT-65482K2: NoSuchFieldError due to using unboxed typeKT-61182Unit conversion is accidentally allowed to be used for expressions on variables + invoke resolutionKT-62998Forbid assignment of a nullable to a not-null Java field as a selector of unsafe assignmentKT-63208K2: Implement deprecation cycle and fix missing errors for error-level nullable arguments of warning-level Java typesKT-57600Forbid overriding of Java method with raw-typed parameter with generic typed parameterKT-63147K2: False negative DSL_SCOPE_VIOLATION when member is annotated with@LowPriorityInOverloadResolutionKT-62134K2: handle non-simple types during FirStatusResolver.isPrivateToThis checkKT-42020Psi2ir: IllegalStateException: "IrSimpleFunctionPublicSymbolImpl for public [...] is already bound" on generic function whose substitution leads to IdSignature clashSee the full 2.0.0 ChangeLog here - https://github.com/JetBrains/kotlin/blob/2.0.0/ChangeLog.md
v1.9.25: Kotlin 1.9.25Note: This is a technical release for IntelliJ IDEA.
Changelog
Tools. JPS
KT-69204Generate lookups in dumb mode for compatibility with ref indexv1.9.24: 1.9.24Changelog
Backend. Wasm
KT-64890K/Wasm compiler crash with external class and KodeinCompiler
KT-65235JDK 21 might lead to change in overloads resolutionKT-66768K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast callNative
KT-67218Native: nested classes in kx.serialization ProtoBuf produce empty array for release binaryTools. Gradle
KT-67139Build reports can be overriddenKT-67138Json report is empty for incremental compilationTools. Gradle. Multiplatform
KT-67127KMP: IDE Dependency Resolver for CInterops reports errors on linux and windows machinesKT-66514Don't get output file from Cinterop task for IDE Import if host os doesn't support itTools. JPS
KT-65043JPS dumb mode should respect maps needed for the compilerTools. Wasm
KT-67785Kotlin/Wasm: Node.JS 22 does not need experimental-wasm-gc flag anymoreKT-65864K/Wasm: update Node.js to 22.xv1.9.23: Kotlin 1.9.231.9.23
Apple Ecosystem
KT-65542Cinterop tasks fails if Xcode 15.3 is usedBackend. Wasm
KT-64486Kotlin/Wasm/WASI exported function callback for coroutines supportCompiler
KT-53478Could not load moduleKT-66044JDK's new API is used over Kotlin's SDK functionsKT-64640Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collectionsKT-65441K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfacesKT-65634K/N: data race during monolithic cache creationKT-53109CompilationErrorException generateUnboundSymbolsAsDependencies with builder inference and lambdasKT-52757Type inference for builders fails if inferred from a functionTools. Gradle
KT-65792Add JSON build reportKT-65091Update compiler metrics in build reportsKT-62490KGP dropping resource directoriesTools. Gradle. JS
KT-64119K/JS: Migrate package manager from Yarn onto NPMKT-64561K/JS tests are not executed after upgrade to 1.9.22Tools. Gradle. Multiplatform
KT-65954commonTest dependencies affect commoMainMetadata compilationTools. Gradle. Native
KT-64573Default value forproduceUnpackedKlibwas not providedv1.9.22: Kotlin 1.9.22Changelog
JavaScript
KT-63719KJS: Test results ignored for ES module kindKT-63808compileTestDevelopmentExecutableKotlinJs failed in JsIntrinsicTransformersNative
KT-64139Weird bug with while and coroutine in Kotlin NativeKT-63471linkDebugTestIosX64 Failed to build cache: NoSuchFileException bitcode_depsKT-63789Native: Incremental compilation problem with composeTools. CLI
KT-64485CLI: cache and optimize parsing of command-line argumentsTools. Gradle
KT-63990"Cannot query the value of property 'buildFlowServiceProperty' because it has no value available" with Isolated ProjectsTools. Gradle. Native
KT-63363Kotlin Gradle Plugin:KotlinNativeHostSpecificMetadataArtifactbreaks configuration cache, implicitly includes output file as configuration cache inputKT-63742Gradle wrongly caches Kotlin/Native compiler flagsTools. JPS
KT-64305Kotlin JPS builder requests chunk rebuild with graph implementationKT-64112Avoid using IJ's JPS mappings in Kotlin JPS testsKT-63799Make plugin classpath serialization path agnosticChecksums
v1.9.21: Kotlin 1.9.21Changelog
Compiler
KT-62885Introduce a language feature entry for expect actual classes for easier configuration of MPP projectsKT-63081Optimize new native caches: CachedLibraries.computeVersionedCacheDirectory()Docs & Examples
KT-55619DocumentString.formatfunctionIDE. Gradle Integration
KT-62877Artifact files collecting for project configuration was finished. Resolution for configuration configuration X will be skippedIDE. Gradle. Script
KT-60813Scripts: NoSuchMethodError: 'void org.slf4j.Logger.error(java.lang.String, java.lang.Object)' when dependency uses Slf4j APIJavaScript
KT-60785KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type errorKT-63207KMP / JS: "TypeError: <mangled_name> is not a function" with 1.9.20KT-62778package.json "main" field has .js extension when the result files have .mjs extensionKT-61795KJS: Incremental Cache is not invalidated ifuseEsClassescompiler argument was changedKT-61957KJS: "Uncaught ReferenceError: entries is not defined" caused by enum class with@JsExportand Enum.entries callKT-62444KJS with commonJS modules should re-export in 1.9.20KT-63184KJS / Serialization: JsExport on serializable interface creates erroneous TypeScriptKT-62190KJS: "IllegalStateException: Expect to have either super call or partial linkage stub inside constructor" caused by Compose and useEsModules()KT-58685KJS: "IllegalStateException: Not locked" cused by "unlock" called twiceKlibs
KT-62515Interop klib of concurrent version is not accepted when building dependent project: "The library versions don't match"Tools. CLI
KT-63139Incorrect kotlin implementation version (1.9.255-SNAPSHOT) in metadata infoTools. Gradle
KT-63499Gradle: Source sets conventions are still registeredTools. Gradle. JS
KT-59523MPP / KJS: ESM modules uses incorrect file extension on package.json (.mjs)Tools. Gradle. Kapt
KT-63366Kapt processing fails with custom source setsTools. Gradle. Multiplatform
KT-32608Create JUnit-XML result file in multiplatform gradle buildKT-63315Wasm gradle plugin DSL is invalid for parameterless wasmWasi methodKT-63338[KMP] metadata task fails to find cinterop classes from dependency projectsKT-63044KGP: Multiplatform - 8.4 configuration cache supportKT-63011Apple Framework Artifacts is not connected to KotlinNativeTaskKT-62601AS/IntelliJ exception after updating a KMP project with a macos target to Kotlin 1.9.20-RCTools. Incremental Compile
KT-61590K2/KMP: Expect actual matching is breaking on the incremental compilationTools. JPS
KT-63594ClassCastException in JPS statisticsKT-63651Fix NPE in Kotlin JPS after enabling graph implementation of JPSTools. Kapt
KT-57389KAPT3 uses a Javac API for JCImport which will break in JDK 21KT-60507Kapt: "IllegalAccessError: superclass access check failed" using java 21 toolchainTools. Scripts
KT-54819Scripts: Not able to use slf4j in .main.ktsKT-61727Scripts: Maven artifacts resolution is slowChecksums
v1.9.20: Kotlin 1.9.201.9.20
Analysis. API
New Features
KT-58834Analysis API: Add source shadowing feature to resolve extensionsPerformance Improvements
KT-57515LL FIR: Performance bottleneck inCompositeModificationTracker.getModificationCountKT-59266K2: optimize FirElementBuilder.getOrBuildFir for elements outside bodyKT-59454K2: drop resolve from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarationsKT-59453K2: completion regression from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarationsKT-59189Analysis API: KtFirKDocReference.resolveToSymbols is slowKT-58125K2: LL FIR:KtToFirMapping.getElementis slow forKtUserTypes due to on-air resolution of typesFixes
KT-59240K2: FirLazyResolveContractViolationException:lazyResolveToPhase(IMPORTS)cannot be called from a transformer with a phase IMPORTS from superTypesKT-58499K2: FirLazyBlock should be calculated before accessingKT-57966K2: Analysis API: Reference Shortener does not work correctly when called on entire fileKT-60954K2: Analysis API: Reference shortener does not work correctly with variable assignmentsKT-60940K2: Analysis API: Reference shortener incorrectly handles types in vararg parameters declarationsKT-60488Analysis API: forbid providing custom KtLifetimeToken for every analyze callKT-60728K2: proper support for scripts in LL FIR transformersKT-59159K2 IDE: declaration is not found exceptionKT-59297K2: exception from body resolve leads to corrupted state and broken analysisKT-59077KtFirExpressionTypeProvider behaviour for KtSimpleNameReferences in function callsKT-60586K2: forbid analyze from write actionKT-57743K2 IDE: StackOverflowError from LLFirSessionCache for simple JPS project with cyclic dependenciesKT-61026K2 Scripts: FirLazyExpression should be calculated before accessing from on-air resolveKT-61009K2 Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-60357K2 IDE. Reified types parameters are not resolved in a function bodyKT-60317K2 IDE. IAE "This method will only work on compiled declarations, but this declaration is not compiled" on invoking Find Usages for enum method in libraryKT-60706K2 IDE: FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-commonKT-60552K2: merge StateKeeper and lazy body calculator for ANNOTATIONS_ARGUMENTS_MAPPING transformerKT-60641Analysis API: Scope for class org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found exception when stdlib is missingKT-60638K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-54846Analysis API: add isExpect/isActual to KtSymbolKT-60448FirLazyResolveContractViolationException:lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS)cannot be called from a transformer with a phase COMPILER_REQUIRED_ANNOTATIONS from AllOpen pluginKT-59342K2 IDE. FirLazyResolveContractViolationException:lazyResolveToPhase(TYPES)cannot be called from a transformer with a phase TYPESKT-59687K2: Implement proper body update for in-block modificationsKT-59329Resolve Extensions reference resolution breaks Find UsagesKT-60295K2: move checkIsResolved for annotations from LLFirAnnotationArgumentsLazyResolver to LLFirTypeLazyResolverKT-59758K2: Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImplWithoutSource from ReturnTypeCalculatorWithJumpKT-60377K2 IDE: This method will only work on compiled declarations, but this declaration is not compiledKT-59685K2: rewrite on-air resolutionKT-60132K2: properties and functions without a name should be re-analyzable as wellKT-59199K2 IDE: PSI changes which do not cause OOB modifications can be unseen from the FIR elementsKT-59667Analysis API: PsiInvalidElementAccessException from JavaClassifierTypeImpl.substitutorKT-59705KotlinExceptionWithAttachments: No fir element was found for getterKT-59697AA standalone: JRT module paths are not properly populated in WindowsKT-59505K2: implicit type lazy resolution doesn't work for delegated declaration from other moduleKT-56426K2 IDE: Typealised functional types cannot be renderedKT-59598AA: stackoverflow while simplifying a type with a recursive type parameterKT-58497K2: Expected FirResolvedTypeRef for initializer type of FirPropertyImpl(Source) but FirImplicitTypeRefImplWithoutSource foundKT-59511AA standalone mode creates Application Environment for testsKT-58161Analysis API: Make methods inKtCallResolverMixInmore distinctive based on their receiver/return typeKT-59093Do not throw exception on KtCall resolution,KtCallElement.resolveCallshould returnnullon unknown casesKT-59243K2: FirLazyResolveContractViolationException:lazyResolveToPhase(IMPORTS)cannot be called from a transformer with a phase IMPORTS from permits typesKT-58194K2: Low Level API: use smart pointers to store references to PSI from FIR declarations for JavaElementKT-59133K2: java.lang.IllegalStateException: Fir is not initialized for FirRegularClassSymbolKT-58174K2: LL FIR: Invalid type reference for T & Any typeKT-52615LL FIR: build RAW FIR only by stubsKT-55053K2: Exception "lateinit property diagnostic has not been initialized" in FirBuilderKT-58580K2: LL FIR: Declarations provided by resolve extensions from a dependency module are not visible throughLLFirCombinedKotlinSymbolProviderKT-58992Analysis API: move org.jetbrains.kotlin.analysis.api.fir.utils.addImportToFile out of Analysis APIKT-58727K2: AA FIR: implicit type in delegated function treated as errorKT-58653K2: Analysis API: add functions for KtScope members access by nameKT-57559K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent on intellij projectKT-58262Analysis API: Declarations from Analysis API Resolve Extensions are not seen from completionKT-57455LL FIR: CombineAbstractFirDeserializedSymbolProviders in session dependencies (optimization)KT-57207LL FIR: CombineJavaSymbolProviders in session dependencies (optimization)KT-58546K2: LL FIR: support name collision in a designation pathKT-58495K2: Lazy calculation is redundantKT-58500K2: null cannot be cast to non-null type org.jetbrains.kotlin.fir.FirPureAbstractElementKT-58493K2: Expected FirResolvedTypeRef for default value type of FirValueParameterImpl(Source) but FirUserTypeRefImpl foundKT-58496K2: Expected FirNamedReference, FirErrorNamedReference or FirFromMissingDependenciesNamedReference, but FirExplicitSuperReference foundKT-58491K2: Expected FirResolvedTypeRef or FirImplicitTypeRef for return type of FirDefaultPropertyBackingField(Synthetic) but FirUserTypeRefImpl foundKT-56550LL FIR: implement parallel resolve for non-jumping phasesKT-58503Analysis API: KtFirNamedClassOrObjectSymbol.visibility/modality do not trigger STATUS resolveKT-57623K2 IDE: ConcurrentModificationException from getSuperConeTypesKT-58083K2: LL FIR: implement FakeOverrideTypeCalculatorAndroid
KT-27170Android lint tasks fails in Gradle with MPP dependencyBackend. Native. Debug
KT-61131Virtual functions trampolines have invalid debug infoBackend. Wasm
Fixes
KT-60244K/Wasm: make the compiler compatible with Wasm GC phase 4 (Final) specificationKT-61262K/Wasm: add a way to turn on k2 in wasm examples that don't use composeKT-61343K/Wasm: add a wasi example to kotlin-wasm-examplesKT-62147[Kotlin/Wasm] Nothing typed when expression cause a backend errorKT-59720K/Wasm: update to final opcodesKT-60834K/Wasm: investigate consequences of stopping usingbr_on_cast_failKT-59294WASM: localStorage Cannot read properties of undefined (reading 'length')KT-60835K/Wasm: fix compatibility with Node.js 20.*KT-60113K/Wasm: illegal cast when using 1.9.20-devKT-60496Compose-web Wasm crashes on remember { null } callsKT-58746K/Wasm: Make Arrays' constructors with size and lambda inline (similar to other implementations)KT-58993[K/Wasm] Fix w3c declarations with lambda parametersKT-59722K/Wasm: Support new encoding with flags for br_on_cast and br_on_cast_fail instructionsKT-59713K/Wasm: Implement enumEntries intrinsicKT-59082WASM: NullPointerException caused by companion with String type constantsKT-58941WASM Hang with extension delegate inside a ClassKT-60200K/Wasm: generate types without supertypes properlyKT-52178IR dump doesn't seem to work for Kotlin/WASM phasesKT-59556Wasm: critical dependency when using with webpackKT-58681K/Wasm: division remainder has a wrong signKT-56711Wasm: IllegalStateException caused by dynamic typeCompiler
New Features
KT-58551KMP: check all annotation from expect declaration are present on actualKT-58554KMP: restrict expect opt-in annotations and actual typealiases to annotations with special meaningKT-58545KMP: prohibit implicit actualization via JavaKT-58536KMP: prohibitexpect tailrec/expect externalKT-59764Make a frontend checker that reports cast to forward declaration as uncheckedKT-60528Updates for JVM/IR backend of kotlin-atomicfu-compiler-pluginKT-59558Add support for creating annotation instances with type parametersKT-52367Devirtualization algorithm improvementKT-58652Native: Implement frontend checkers for HiddenFromObjC on classesPerformance Improvements
KT-59600K2: CFG: do not add edges to nested classes and functionsKT-57860K/N: Functions with default arguments of value/inline class types have poor performance due to value class boxingFixes
KT-60387K2: IDE K2: "org.jetbrains.kotlin.fir.expressions.impl.FirArgumentListImpl cannot be cast to class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedArgumentList"KT-61228False positive MUST_BE_INITIALIZED_OR_FINAL_OR_ABSTRACT_WARNING for effectively final propertiesKT-61643"Argument type mismatch" for mixed Java/Kotlin Project with Java 21KT-62389JDK 21: Cannot access class 'TimeUnit'. Check your module classpath for missing or conflicting dependenciesKT-56768K2. No error description on incomplete try catch declarationKT-52220FIR + LightTree - Consider building a single tree on parsing into LightTreeKT-60601K2 / Maven: Overload resolution ambiguity between candidates inline methodKT-62027"java.lang.IndexOutOfBoundsException: Empty list doesn't contain element at index 0" caused by ClassicExpectActualMatchingContext.kt when annotation@AllowDifferentMembersInActualusedKT-62747Wrong warning message when overriding vararg with Array during actualizationKT-62655Don't report a warning when new members and new supertypes are added to open expect actualizationKT-62313Kotlin/Native Compiler crash: ClassCastException in IntrinsicGeneratorKT-60902visibility vs upper bound expect actual matching conflictKT-61095K2: "IAE: source must not be null" from FirMultipleDefaultsInheritedFromSupertypesCheckerKT-47567'Val cannot be reassigned' error not reported in unreachable codeKT-59468K2: build realm-kotlinKT-62026KMP: Correctly handle a case when annotation on expect declaration is unresolvedKT-59476K2: build ClashForAndroidKT-59487K2: build KSP-playgroundKT-47409K1/K2: Investigate and align inference for equality (==) operatorKT-59393K2: Missing TYPE_ARGUMENTS_FOR_OUTER_CLASS_WHEN_NESTED_REFERENCEDKT-62127"NoSuchFieldError: TRUE$delegate" on referencing companion's variable in submoduleKT-62335Improve debuggability of code generator crashesKT-61165More than one overridden descriptor declares a default value for 'cause: Throwable?'. As the compiler can not make sure these values agree, this is not allowedKT-62263Turn "different expect/actual members" error into a warningKT-59969K2: Disappeared UNSUPPORTED_CONTEXTUAL_DECLARATION_CALLKT-61616K2:IrBuiltIns.extensionToStringfails during native compilationKT-59377K2: Missing CALL_TO_JS_MODULE_WITHOUT_MODULE_SYSTEMKT-61645K2/KMP: Set stdlib-native before stdlib-commonMain in dependencies for shared native metadata compilationKT-61924Native: problem with abstract fake override from AnyKT-61933K2: "Argument type mismatch: actual type is 'Foo<kotlin/Function0<kotlin/Unit>>' but 'Foo<kotlin/coroutines/SuspendFunction0<kotlin/Unit>>' was expected"KT-59471K2: build multiplatform-settingsKT-56077K2: build kotlinx.atomicfuKT-59465K2: build kotlinx-datetimeKT-60824K2 IDE: FirSyntheticCallGenerator: IAE: List has more than one elementKT-61856K2: "KotlinIllegalArgumentExceptionWithAttachments" on usage of javax.validation.constraints.Email.ListKT-54792Store program order of properties inside@kotlin.MetadataKT-56083K2: build ktorKT-23861Expect annotation should not be applicable wider than the actual oneKT-59466K2: build kotlinx-benchmarkKT-60830KMP, K2: expect actual annotation IR checker doesn't unwrap actual typealiases to annotationsKT-61668Put expect/actual diagnostics introduced in 1.9.20 release under 1.9 Language VersionKT-61725KMP: Annotation matching requirement for expect/actual leads to errors for annotations with@OptionalExpectationKT-47892False negative BREAK_OR_CONTINUE_OUTSIDE_A_LOOP withcontinueininitblock insideforKT-61784KMP: [DEFAULT_ARGUMENTS_IN_EXPECT_WITH_ACTUAL_TYPEALIAS] checker missed for companion functionsKT-61173K2: FirProperty.hasBackingField is true for an expect valKT-59743K2: erroneous binding of typealias with two type parameters to a class with one type parameterKT-60650KMP: prohibit problematic actual typealiasesKT-61461K2: Kotlin native metadata compilation breaks when stdlib is present in -librariesKT-61270Enabling Kotlin/Native caching causes 65K warnings from dsymutil when building Compose iOS appKT-58229K2/MPP/JVM: compiler codegen crash on call of inherited generic class's method with actual-typealias as value parameterKT-47702Support call of Java annotation constructor without specifying a default valueKT-56460K2: Do not re-run DiagnosticCollectorVisitor from FirInlineDeclarationChecker.checkChildrenWithCustomVisitorKT-55933K2: False negative Overload resolution ambiguity for call functions with named parameters if one of params is varargKT-59548FIR2IR: inconsistent generation of dispatch receiver for object methodsKT-55072K2: False positive "suspension point is inside a critical section"KT-58778JVM IR inline: add fake variables for debuggerKT-59404K2: Missing EXPECT_TYPE_IN_WHEN_WITHOUT_ELSEKT-59830K2. False negative [FINAL_SUPERTYPE] on extending final class through type aliasKT-60580K2: Not supported: class org.jetbrains.kotlin.fir.types.ConeFlexibleTypeKT-59391K2: Missing JS_BUILTIN_NAME_CLASHKT-59392K2: Missing NAME_CONTAINS_ILLEGAL_CHARSKT-58360Intrinsics for atomic update of array elementsKT-59165K2: Prohibit class literals with empty left-hand sideKT-60427K2@Metadataannotations contain outerType/outerTypeId information for non-inner nested classesKT-59376K2: Missing TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERRORKT-55221K2: No error reported for self-referencing local function with inferred return typeKT-59586K2: support JVM backend diagnostics in light tree modeKT-57780K2: Calling a constructor through a deprecated typealias doesn't report a deprecationKT-59110K2. "NotImplementedError: An operation is not implemented." error on incorrect@TargetannotationKT-59249K2: Empty varargs are not serialized to KLIBKT-55373K2. Unresolved reference error for type mismatch with callable referencesKT-55955K2: callable references are not properly resolved when in conflict with expected typeKT-60144JVM IR inline: backport primitive boxing in class literalsKT-60779K2: missing INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPERKT-60587K2: Implement warning NO_REFLECTION_IN_CLASS_PATHKT-61145False negative NOTHING_TO_OVERRIDE when context receivers don't matchKT-59378K2: Missing FINITE_BOUNDS_VIOLATION and FINITE_BOUNDS_VIOLATION_IN_JAVAKT-61163Default params on actual check and inheritance by delegation compilation errorKT-60800[atomicfu-K/N]: turn on the tests for the K/N part of the compiler pluginKT-61029K2: Duplicates when processing direct overridden callablesKT-55196K2: False-negative CONST_VAL_WITH_NON_CONST_INITIALIZER on boolean .not() callKT-60862Kotlin Scripting: NoSuchMethodError for ExternalDependenciesResolver.addRepositoryKT-57963K2: MPP: Annotation calls should be actualizedKT-60854K2: IrActualizer incorrectly generates fake overrides for synthetic java propertiesKT-59665ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS isn't reported for actual typealias and fake-override actualizationKT-61039False positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in K1 when expect actual super types scopes don't matchKT-61166Inherited platform declaration clash & accidental overrideKT-60531K2/JS: Report diagnostics before running FIR2IRKT-32275Embedding kotlin-compiler-embeddable into a Java EE App leads to CDI related deployment errorKT-57845K2. Unresolved reference error on calling Java references with fully qualified nameKT-58757K2: False-positive NON_PUBLIC_CALL_FROM_PUBLIC_INLINE error in case an inline fun is protected and is a part of an internal abstract class declarationKT-59736kotlinx.serialization + K2 + JS: e: java.lang.IllegalStateException: Symbol for kotlinx.serialization.json.internal/FormatLanguage.|-547215418288530576[1] is unboundKT-59071K2/MPP: internal declarations from common module are invisible in dependent source sets if there is more that one intermediate source set betweenKT-61167Runtime failure: ReferenceError: MyPromise is not definedKT-59408K2: Missing MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPESKT-61409Kotlin/Native: crash in kmm-production-sample (compose-app) with escape analysis enabledKT-57329K/N IR linkage issues due to the combination of static caches w/ Lazy IR & Compose compiler pluginKT-59247Kapt+JVM_IR: AssertionError on anonymous object in enum super constructor callKT-58576K2: IR actualization problems in MPP scenarioKT-61442K2: Consider stricter filtering on implicit integer coercionKT-61441K2: Wrong overload is chosen with ImplicitIntegerCoercion enabledKT-59328K2: property with compound getter and without explicit type: compilation failure, IAE "List has more than one element" at FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature()KT-61159K2: OVERLOAD_RESOLUTION_AMBIGUITY between private top-level property in same file and top-level property in different moduleKT-59233K2: false-negative diagnostic on creating a callable reference to a function with free type variablesKT-61418k2: ImplicitIntegerCoercion to List leads to "IllegalStateException: Cannot find cached type parameter by FIR symbol"KT-61373False positive: "The opt-in annotation is redundant: no matching experimental API is used" with multiplatform code.KT-58884K2: NotAMockException for mock testing with lambda expression with MavenKT-58893K2: MockitoException for mock testing with lambda expression with GradleKT-59483K2: Build a Native appKT-57738K2: unresolved class fields and methods in kotlin scriptsKT-59449K2: Diagnostic messages contain debugging-style rendered FIRKT-59849K2: IllegalArgumentException: List has more than one elementKT-57553Implement deprecation for open val with backing field and deferred initialization in K1KT-57230Support Kotlin/Wasm in the K2 platformKT-59409K2: Missing DEFAULT_VALUE_NOT_ALLOWED_IN_OVERRIDEKT-59058Companion object is not initialized on class constructor callKT-61017K2: intermediate expect/actual class results in expected class has no actual declaration in moduleKT-60181K2: "NotImplementedError: An operation is not implemented" with SpringKT-59472K2: build ReaktiveKT-54786MPP: "LazyTypeAliasDescriptor cannot be cast to class org.jetbrains.kotlin.descriptors.ClassDescriptor" caused by expected non-constant function argument on iOS if class is type aliasedKT-59753K2: NotImplementedError when using annotation with vararg with default value from other moduleKT-60883K2: FixtestRequireKotlinCompilerVersionin LV 2.0 branchKT-59747K2: cannot actualize expect class to Unit via typealiasKT-61054K2: "IAE: source must not be null" with -no-reflect on calling property getter with implicit invokeKT-57126[KLIB Reproducibility] Manifest is written using os-dependent line separatorsKT-60850K2: FIR2IR generates incorrect signature for fake overrides for common declaration if it called from a platform moduleKT-59218K2: return types of calls to@PolymorphicSignaturemethods inside try-expressions don't resolve to void when requiredKT-60002K2: Missing UNSUPPORTED_SUSPEND_TESTKT-61011K2 Scripts: FirRecursiveProblemChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-58906K2. "Backend Internal error: Exception during IR lowering" instead of CANNOT_INFER_PARAMETER_TYPE error when parameter type missing in lambdaKT-59490K2: build km-shopKT-60163K2: vararg annotation argument value is serialized not as an arrayKT-59355K2: Allow to actual classifier have wider visibility than the corresponding expect classKT-56179[K2/N]interop_objc_tests/multipleInheritanceClash.kttest failedKT-59411K2: Missing ENUM_CLASS_CONSTRUCTOR_CALLKT-59410K2: Missing TYPEALIAS_EXPANDED_TO_MALFORMED_TYPEKT-59382K2: Missing PROTECTED_CONSTRUCTOR_NOT_IN_SUPER_CALLKT-59901K2: Disappeared API_NOT_AVAILABLEKT-60474K2: False negative type mismatch for array literal with wrong numeric literalKT-59610K2: Calls to annotations with default values are serialized differently in K1 and K2KT-60139K2: Refactor handling of implicitly actual declarations (annotation & inline class constructors and property of inline class)KT-60793K2: IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirJavaTypeRefKT-60735K2: lateinit property diagnostic has not been initializedKT-60137K2: Quite complicated redeclaration error description is displayed for data classesKT-60639K2: IllegalStateException: Unsupported compile-time value GET_CLASS type=kotlin.reflect.KClass<p1.A>KT-56888CFA: Valid green in K1 -> red in K2.catch_end -> finally -> after_tryKT-60723K2: Nested finally block has extra jump edge if surrounding try block jumpsKT-60573K2: False positive/negative CONFLICTING_OVERLOADS for main functionsKT-60124K2: Conflicting declarations on extension properties with different upper-bounded type parameterKT-60259K2: Reflection target is missing on adapted function referncesKT-59036InstantiationError when instantiating annotation with a parameter type as a default parameter of another annotationKT-59094K2: Fix Scripting K2 testsKT-59711K/N: Implement enumEntries intrinsicKT-59748K2: Return type mismatch: expected Unit, actual Any? for when with an assignment in branchKT-60154K2: Expected some types errorKT-58139K2/MPP/metadata: compiler FIR serialization crash on complex expression as annotation argumentKT-59485K2: build Anki-AndroidKT-59415K2: Missing DATA_CLASS_OVERRIDE_DEFAULT_VALUES_ERRORKT-59710K/JVM: Implement enumEntries intrinsicKT-57984K2/JS fails with IdSignature clash for inherited expect/actual functionKT-59398K2: Missing NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUEKT-60645Native: dynamic caches are broken on LinuxKT-50221FIR: handle enhanced/flexible nullability inside withNullability properlyKT-59281JVM IR inline: incorrect type of created arrayKT-59507JVM IR inline: invocation of arrayOfNulls by function reference results in exceptionKT-58359Allow volatile intrinsics on inline function constant argumentsKT-60598K2: add OptIn checkers for command line argumentsKT-59766K2: ISE: Cannot find cached type parameter by FIR symbol during the coroutines library buildKT-59644K2: the companion object in anexpectclass requires to be explicitly defined for compileNativeMainKotlinMetadataKT-59640K2:expectconstructor requires callingthisorsuperbut didn't use toKT-58883K2: False negative type mismatch for generic annotation in collection literalKT-59581K2: Initializer type mismatch: expected Array<KClass<*>>, actual Array<KClass> in annotation parameter default value using array literalKT-59069K2 does not report EXPECTED_CLASS_CONSTRUCTOR_DELEGATION_CALLKT-59416K2: Missing EXTERNAL_INTERFACE_AS_REIFIED_TYPE_ARGUMENTKT-59417K2: Missing CALL_FROM_UMD_MUST_BE_JS_MODULE_AND_JS_NON_MODULEKT-59381K2: Missing CALL_TO_JS_NON_MODULE_WITH_MODULE_SYSTEMKT-59384K2: Missing DYNAMIC_NOT_ALLOWEDKT-59406K2: Missing PROPERTY_DELEGATION_BY_DYNAMICKT-60247K2: order of data class generated member differs in IRKT-57223K2: false-negative INAPPLICABLE_JVM_NAME on non-final properties outside interfacesKT-60183K2: INAPPLICABLE_JVM_NAME on private methods with all-open pluginKT-60120K2 can't get a default parameter value of expect annotationKT-57240K2 MPP: Actualization doesn't work for flexible typesKT-60436K2: investigate possible FirJavaTypeRef equals parameter in FirDataFlowAnalyzer.hasEqualsOverrideKT-60299K2: when a typealias toUnitis returned, an explicitreturnis now requiredKT-58005K2: Unsupported compile-time value BLOCK for Repeatable annotationsKT-60223K2: Wrong import with import aliasKT-54854K2. Unresolved reference for not imported declaration when it is already imported as an import alias is absent in K2KT-59738K2: NoSuchElementException from JvmValueClassLoweringDispatcher in MPP environmentKT-59708K2: "Property must be initialized or be abstract" occurs due to constructors orderKT-58483K2. -Xmulti-platform flag isn't workingKT-53490FIR: Refactor augmented assignment resolving code - fix lhs-related problems and combine similar code in array and assign operator handlingKT-59673K2: incorrect error messageKT-58578K2: Commonize expect-actual logic between FIR and IR actualizerKT-54989FIR2IR: fragile code in postfix op detectionKT-59464K2: Investigate cases of implicit type refs in Fir2IrImplicitCastInserterKT-53898K2: False negative VAL_REASSIGNMENT on member valsKT-57641K2: "java.lang.NoSuchFieldException: INSTANCE" in kotlin-reflect forKClass.objectInstanceon an anonymous objectKT-59299[K2] ISE in IrBindablePublicSymbolBase.bind on equals function from companion of serializable classKT-58844Incorrect type mismatch error: "actual type is kotlin/Int but kotlin/Int was expected"KT-59413K2: Missing VALUE_CLASS_CANNOT_HAVE_CONTEXT_RECEIVERSKT-56173FIR: IrGenerationExtensions cannot see default values from expect declarationsKT-59611FIR2IR: Unsupported callable reference for enum entry with clashing nameKT-59858Kotlin Native: Compilation failed: Sequence contains more than one matching element, org.jetbrains.kotlin.backend.konan.lower.FunctionReferenceLowering$FunctionReferenceBuilder.buildClass(FunctionReferenceLowering.kt:644)KT-58539[K2] Ir actualization fails to match expect/actual declarations that use custom function typesKT-59775'toString()' on Object returns different result with concatenationKT-59737K2: Actual class 'actual class FastArrayList : AbstractMutableList, MutableListEx, RandomAccess' has no corresponding members for expected class members because of different parameter names in JavaKT-59613K2: Unhandled intrinsic in ExpressionCodegen exception in for expect function with default value in parameterKT-59216K2. Unhelpful unresolved reference when inheriting from interface with constructor call (K1 reports NO_CONSTRUCTOR instead)KT-59057Revise muted tests for native backendKT-57377K2/MPP: internal declarations from common module are inivisible for intermediate modules during metadata compilationKT-59693MPP: linkReleaseExecutableLinux fails with IllegalStateException: Drains have not been painted properlyKT-59362K2/MPP:.toByte()conversion for const val causes SourceCodeAnalysisException: java.lang.NullPointerException: nullKT-51670FIR: questionable behavior for deprecated String constructorsKT-35314StackOverflowError with nested try-finally and function with contractsKT-53460False positive smartcast warning in if block after if blockKT-40851False MUST_BE_INITIALIZED_OR_BE_ABSTRACT error for a property which is initialised in the init blockKT-59695K2: false negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINEKT-41198False positive “Variable must be initialized” with assignment in scope function and safe callKT-58901K2. Value parameter default values are not checked for type mismatchKT-48115Member functions with type parameter and contract don't produce smartcastsKT-59541K2: Type checking has run into a recursive problem on code that was compiling with Language 1.9KT-58943K2: Incorrect with K1 priority of "invokeExtension + implicit receiver" candidateKT-37375[FIR] Incorrect invoke resolutionKT-59789K2: self-reference does not compile anymoreKT-59286JVM IR inline: local property not foundKT-58823K2: Android app crashes right after start: java.lang.NoSuchMethodError: No virtual method findViewById(I)Landroid/view/ViewKT-57754K2: No public signature built for the synthesized delegate fieldKT-58533K2: "Not enough information to infer type variable T" for generic call in throw expressionKT-34846FIR Java: enhance type parameter bounds properlyKT-52043FIR: FirValueParameter with SubstitutionOverride does not reference the original FIR declarationKT-59291JVM IR inline: unexpected result ofapiVersionIsAtLeastinvocationKT-59550K2: synthetic property isn't seen through JavaKT-59038[K2] IllegalStateException in mixed Java/Kotlin inheritanceKT-59489K2: builld spring-petclinic-kotlinKT-58908K2. Internal error "kotlin.UninitializedPropertyAccessException: lateinit property firType has not been initialized" on incompleteisKT-56755K2: Investigate failures related to line numbers with LT compilation enabledKT-56139K2: consider adding source element for implicit receiversKT-57489K2: Incorrectly generated line numbers in companion object access inside classKT-58947Run all existing codegen box tests with kapt stub generationKT-58827K2 reports ACTUAL_WITHOUT_EXPECT on the whole classKT-54917K2: ILT leak from a completed generic callKT-56187K2: type parameter's upper bound is ignored in callable referencesKT-56186K2: lack of type arguments in type constructor is ignored in callable referencesKT-59356K2: Restrict rules for matching of expect supertypes for actual classKT-57217K2: NoSuchMethodError ontoCharcall on java inheritor of java.lang.NumberKT-58356K2: StackOverflowError with OptIn and Deprecated, while compiling Kotlin projectKT-57954K2. Auto-generated "entries" member of enum class has higher priority than user-declared companion object with same name when language version is set to 2.0KT-59508K2: Make sure that warnings-severity nullability annotations are not perceived as reasons for nullability errorsKT-53820FIR: mismatching error message for invisible reference/memberKT-58641K2: PublishedApi has no effect when internal fun used in the test source setKT-59461K2: Erroneous null check when returning not-null typealias to nullable typeKT-58980K2: Import of java field from companion's base breaks the compilerKT-59140K2: "Symbol public final static field is invisible" caused by java static field called in kotlin codeKT-59501Escape analysis constructs arrays of negative sizeKT-59452apiVersionIsAtLeast calls in body of stdlib inline function may be evaluated on compile-timeKT-53967[PL] Classifiers: Turning interface from fun to non-fun + adding member function causes Kotlin/JS fail: IAE: "Sequence contains more than one matching element"KT-59346Not working breakpoints on not initialized variablesKT-55993Wrong current pointer: strange behaviour of debugger or compiler when two IFs and an uninitialized variable between themKT-58335K2: Exposed typealias from implementation dependency produces type mismatch in dependent moduleKT-58719K2: false-positive INVISIBLE_REFERENCE error in case of importing an internal abstract classKT-57694K2: False positive [NOTHING_TO_OVERRIDE] for a class overriding 'sort' method from the List collectionKT-58460K2. return without argument became allowed for functions with return type AnyKT-49249Incorrect nullability inferred for ThrowableKT-57429K2: Fix computing a mangled name for members of a generic class that reference the class's type parameters in their signatureKT-57566K2: Fix name mangling for functions that have dynamic type in their signatureKT-57818K2: Fix FirMangleComputer to not include the "special" package name into mangled names of property accessors on non-JVM platformsKT-57777K2: Fix computing a mangled name for the synthesizedentriesproperty getter of an enum classKT-57433K2: Fix computing a mangled name for top-level functions and propertiesKT-58553k2: Annotation type arguments are lost in FIR2IRKT-58184K2: False negative INVISIBLE_MEMBER on destructuring declarationKT-58637K2: False negative ABSTRACT_MEMBER_NOT_IMPLEMENTED on Entry of Enum with abstract member declarationKT-54952JvmSerializationBindings does not work with K2KT-54844FIR/Analysis API: create stubs for equals/hashCode/toString for data classes in FIRKT-58555K2: Generic property reference inside delegation misses type argumentKT-57648FIR: move deprecation calculation on COMPILER_REQUIRED_ANNOTATIONS phaseKT-57049K2 generates duplicates of symbols/declarationsKT-55723K2: deprecations for enum entries are not resolved on the TYPES phaseKT-59033Doesn’t support vararg parameter in annotation instantiation with empty argumentsKT-58780JVM IR inline: local property delegation is not working for K2KT-58779JVM IR inline: correctly process special inlined block in value class loweringKT-58720Generate full InnerClass attributes for the standard libraryKT-58215K2: JVM IR produces line numbers for delegation bridges that are not marked with ACC_BRIDGEKT-42696JVM IR generates line numbers for all bridges leading to extra steps in the debuggerKT-57228K2: annotations for interface member properties implemented by delegation are copiedKT-57216K2: non-trivial enum declaration does not have ACC_FINAL in the bytecodeKT-55866K2: Constant as parameter of@JvmName: BE: "Unsupported compile-time value CALL private final fun "KT-58717Object on the left-hand side of callable reference is not initialized ifKCallable.nameoptimization is usedKT-59211Kapt+JVM_IR: AssertionError on delegating to anonymous objectKT-57251K2: weird error message when trying to instantiate anexpectclass without explicit constructorKT-58623Language version 2.0: compiling into common, Native does not report "Protected function call from public-API inline function is prohibited", while JVM, JS doKT-55945NoSuchMethodError when calling method with value class parameter on java class inherited from kotlin classKT-58840K1/K2: false positive EXPOSED_FUNCTION_RETURN_TYPE related to protected lower boundKT-57243K2: no warning or error reported on expect class in CLI, and JVM backend tries to generate it to a .class fileKT-57833K2 reports NO_ACTUAL_FOR_EXPECT for inherited properties with the same nameKT-58153K2/MPP/JVM&Native: cannot override Any::toString when an expect-supertype has Any::toString override in actual-classKT-58124K2: FIR2IR compiler crash with MPP (Fir2IrSimpleFunctionSymbol is already bound)KT-58346k2: false negative MUST_BE_INITIALIZED for deferred initializationKT-57803K2. "Kotlin: Only the Kotlin standard library is allowed to use the 'kotlin' package" error missing in 2.0KT-57504[K2/N] Wrong coercion ofILT: 7to kotlinx.cinterop.COpaquePointer causesCannot adapt kotlin.Int to kotlinx.cinterop.CPointerduring autoboxingKT-57484K2: false positive OVERLOAD_RESOLUTION_AMBIGUITY with ImplicitIntegerCoercionKT-57971K1/K2: False positive "Redundant 'suspend' modifier" warning on declaration site when suspend function is also argumentKT-56779Checkers false negative: AbstractMethodError when accessing setter via an interface where the member is defined as var, but it's val in implementationKT-51793FIR: Investigate property+invoke resolution prioritiesKT-57003FIR: missing annotation on parameter ofdataclass' syntheticcopyKT-57269K2: collection stub forsortis not generated for custom List subclassesKT-54748K2: incomprehensible errors when type parameter has the same name as a classKT-50703FIR: Improve reporting UPPER_BOUND_VIOLATED for type arguments of typealias constructor callsKT-57622Fix incorrect metadata for data class generated methodsKT-54887K2: fix behavior of references to value classes equals/hashCode/toStringKT-58937K2: Annotation vararg arguments are incorrectly serializedKT-58621K2: Private class shadows public function defined in the same packageKT-59041K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource " on incorrect collection declarationKT-58665K2: Optional.of incorrectly accepts nullable StringKT-58938K2. Abstract class can be invoked using member reference::operatorKT-50798FIR: False negative UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSIONKT-58944K2. StackOverflowError on incorrect intersection typesKT-59241K2: broken inference of DNN typesKT-58294K2 compiler crashes with OOM on deserializing annotation applied to itself with a enum outer/nested parameterKT-58972K2: Error message of PRIVATE_CLASS_MEMBER_FROM_INLINE doesn't mention class membersKT-58989K2: Forbid suspend operator get/setValue and provideDelegateKT-59177K2: Report NAMED_ARGUMENTS_NOT_ALLOWED for named parameters in lambdasKT-57028K2: "NSEE: Sequence contains no element matching the predicate" with stream related Java apiKT-58007K2: Unsupported compile-time value GET_FIELD FIELD PROPERTY_BACKING_FIELD when const value is default for annotationKT-58472Secondary constructor breaks MUST_BE_INITIALIZED checkKT-59022Make is and as behaviour consistent in NativeKT-58902K2: Calls to overridden method with default parameter are not compiledKT-58549K2: variable type is infered to non-existing interfaceKT-58613K2: ConcurrentModificationException from FirSignatureEnhancement.performFirstRoundOfBoundsResolutionKT-55552K2. False negative TYPE_MISMATCH in implementation via delegationKT-57436Fix computing mangled names of generic properties from IR-based declaration descriptorsKT-58543[K2/N] Rewrite native MPP tests to avoid expect actual in same moduleKT-57701Unify selection of inherited callable with default implementation among multiple candidates in JVM, Native & JS backendsKT-58444K2/MPP/metadata: compiler FIR2IR crash on constant with intrinsic initializer from common source set in Native-shared source setKT-57756K2: Missing syntax errors when light tree parsing is usedKT-57435Fix computing mangled names for functions with context receiversKT-57219K2: incorrect relative order of normal and use-site-targeted annotations on property getter in the resulting bytecodeKT-57955K2: "ClassCastException: class org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl cannot be cast to class org.jetbrains.kotlin.ir.declarations.IrDeclaration" with property delegateKT-58583K2: false-positive invisible reference error on nested anonymous object literal extending a protected nested classKT-57425K2: False-positive smartcast on property accessed through a property from another moduleKT-57844K2. Not relevant errors when accessing Java member which have private overloads with argument type mismatchKT-58584K2: "UninitializedPropertyAccessException: lateinit property packageFqName has not been initialized"KT-58529K2: "Extension function type is not allowed as supertypes" compile errorKT-58379K2: NEW_INFERENCE_ERROR in sortedBy call with exception in branchKT-58284K2: False negative ITERATOR_MISSINGKT-55078K2 IDE: Infinite recursion inorg.jetbrains.kotlin.fir.java.JavaScopeProvider#findJavaSuperClassKT-58080K2: False-positive TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on annotated const valKT-58674K2: No expected type for while loop conditionKT-56523K2 should report MANY_INTERFACES_MEMBER_NOT_IMPLEMENTEDKT-58238Support dumping signatures and mangled names in irText testsKT-58456K2: Custom function type metadata breaks Compose library compatibilityKT-58267K/N: do not reference hidden Array.content* functions from the compilerKT-57791Native: Method returning String? leads to exception: Unexpected receiver type: kotlin.StringKT-58437K2: Do not use descriptors in KonanSymbolsKT-57432K2: Don't create default getters and setters in case when they are not neededKT-46047FIR: incorrect type of integer literalsKT-57487[K2/N] Stdlib ArraysTest fails withClass found but error nodes are not allowedKT-56951K2: False negative error on compound assignment for property of type ByteKT-57222K2: compiler FIR serialization crash on two functions with captured type and object literalKT-58224K2: deprecation on field is not detected properlyKT-55662K2. Incorrect type mismatch error "inferred type is IOT" instead of "inferred type is Int"KT-55668K2. 'in' modifier became applicable to star projectionKT-57064K2: hidden internals of dealing with type-aliased primitive types are exposed to userKT-58252K2: Symbol already bound for backing field during building resulting JS artifact for MPP projectKT-56940K/Wasm: report compiler errors for unsupported external declarationsKT-56943K/Wasm: implement@WasmImportdiagnosticsKT-55903K2: False negative CANNOT_CHECK_FOR_ERASED on is-check for type with reified type argumentsKT-56944K/Wasm: implement@JsFundiagnosticsKT-58329K2: False-positive suspend conversion for anonymous functionsKT-58028K2: False-positive TYPE_PARAMETER_IS_NOT_AN_EXPRESSIONDocs & Examples
KT-60545Documentation change on Interoperability with Swift/Objective-C: highlight that it is not normal to suppress errorsKT-50927Kotlin / Docs: Delete all the information about old Kotlin/WasmKT-61398Advertise hierarchy templates in 1.9.20-Beta what's newIDE
New Features
KTIJ-23199K2 IDE: Improve Import quick fix descriptionKTIJ-26056Support highlighting of KNM filesPerformance Improvements
KTIJ-26688UAST: optimize methodNameCanBeOneOfFixes
KTIJ-26782Internal error while highlighting "AndroidHighlighterExtension does not define or inherit highlightDeclaration"KTIJ-27188Bundled DevKit plugin + 1.9.20-Beta* constantly throws exceptions when opening another plugin codebaseKTIJ-25220Kotlin not configured dialog does not show if Kotlin stdlib is anywhere on classpathKTIJ-25563Failed cinterop task becomes UP-TO-DATE and successfully passes on the second importKTIJ-26536IDE in Java file resolves to property with the same name instead of method in the nested class from libraryKTIJ-25126K2 IDE. No import quickfix for Java static membersKT-60341K2 IDE: "UnsupportedOperationException: Unknown type CapturedType(*)?"KTIJ-25960K2 IDE: KDoc references to static java methods are not resolvedKTIJ-7642HMPP, IDE: False positive ''suspend' modifier is not allowed on a single abstract member' for common code if JVM target presentKTIJ-25745K2 IDE: "Type info" intention shows the return type of a functional type instead of the functional type itselfKTIJ-26501K2: IDE K2: False positive unused import when declaration used for vararg parameter typeKTIJ-26661K2 IDE. PIEAE “Element class CompositeElement of type FUN” after removing/putting back function with operator modifierKTIJ-26672K2 IDE: false positive in optimize import for ambiguity callsKTIJ-26760K2 IDE: OVERLOAD_RESOLUTION_AMBIGUITY false positiveKTIJ-26867K2 IDE: rename refactoring doesn't rename subclasses if they are used in import directivesKTIJ-26848K2 IDE: index inconsistency in case of "" nameKTIJ-26666K2 IDE: changed FirFile is treated as fully resolved after in-block modificationKT-59836Symbol Light Classes: Type parameters from the parent interface aren't copied to DefaultImpls methodsKT-28611MPP: Gradle -> IDE: settings provided viacompilationsDSL are not imported into common modules facetsKTIJ-25448When project JDK is less than one defines in jvmToolchain block, run with Idea fails withhas been compiled by a more recent version of the Java RuntimeKT-60603K2: Investigate intellij tests failures in branch 2.0KTIJ-25364K2 IDE: References to Java records are red: OVERLOAD_RESOLUTION_AMBIGUITY, UNRESOLVED_REFERENCEKTIJ-24390Kotlin assignment plugin: Imports are not recognized in build logic .kt files for Gradle buildKT-60590Fix light classes related tests in branch 2.0KT-60530K2 scripting: exception on .gradle.kts openingKT-60539K2: "KtInaccessibleLifetimeOwnerAccessException: org.jetbrains.kotlin.analysis.api.lifetime.KtReadActionConfinementLifetimeToken@3ce52fd9is inaccessible: Using KtLifetimeOwner from previous analysis" at highlightingKTIJ-26276K2 IDE: Optimize import drops used import aliasKT-60518K2 IDE. False positive [NON_MEMBER_FUNCTION_NO_BODY] when completing function withComplete current statementKT-60323K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" exception on contract return typeKT-60352K2 IDE. Support Java RecordsKT-56503K2 IDE: FIR tree is incorrect in a case of ProcessCancelledException was thrown during phase executionKTIJ-25653K2 IDE. "KotlinExceptionWithAttachments: Containing function should be not null for KtParameter" exception on incorrect derived class declarationKT-59843SLC:KotlinAsJavaSupport.packageExists(viaKotlinStaticPackageProvider) said ROOT package doesn't exist if noKtFiles are givenKTIJ-26206Support retrieving KtType from annotation constructor calls on getters and settersKT-59445Recursion detected on input: JavaAnnotationImplKTIJ-26066K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" on attempt to set contractKTIJ-26085K2 IDE: treat psi modification of a contact inside a body as OOBMKTIJ-25869K2 IDE. Expected FirResolvedTypeRef for return type of FirValueParameterImpl(Source) but FirImplicitTypeRefImplWithoutSource was foundKTIJ-24272K2 IDE: "Expected some types"KTIJ-24730K2 IDE. IllegalStateException on absence of opening bracket in main() functionKT-59533AA/SLC: anonymous object appears during PsiType conversion, resulting in IllegalArgumentException:KtFirPsiTypeProviderKt.asPsiTypeElementKT-59563Symbol Light Classes: Incorrect type erasure in $annotations methods for extension properties with generic parametersKT-57567SLC: missingfinalmodifier on enum (non-synthetic) membersKT-59537SLC: SymbolLightClassForAnonymousObject with null parentKTIJ-24121K2 IDE. "failed to convert element KtLightField" when trying to declare property after function that has return with type mismatchKTIJ-25335K2 IDE. "failed to convert element KtLightField:" on attempt to set property in class with constructorKT-59293Symbol Light Classes: DefaultImpls methods must be static and have an additional $this parameterKTIJ-25976K2 IDE: Fix "Unsupported compiled declaration of type" for type parametersKT-59325Symbol Light Classes: Non-existing fields for properties from companion objectsKT-57579SLC: unboxed type argument as method return typeKT-54804Generate synthetic functions for annotations on properties in light classesKT-56200Kotlin FIR reference resolve exception leaks user codeKT-58448K2 / IDE / SLC:findAttributeValuefor attribute w/ default value raises ClassCastExceptionIDE. Completion
Fixes
KTIJ-26518K2 IDE: Code completion does not insert import when completing a type in the vararg positionKTIJ-26713K2 IDE: Code completion does not insert import when completing a type inside a functional typeKTIJ-26597K2 IDE: "Change return type" quick fix adds full qualified name to anonymous functionKTIJ-26384K2 IDE: Extension functions completion should recognize context receiversKTIJ-26419K2 IDE: Completion in anonymous function inside when branch expression does not account for smart castKTIJ-26629K2 IDE: Completion of types in anonymous function return is not shortenedKTIJ-26599K2 IDE: Typingdo ... whilestatement: InvalidFirElementTypeException: "For DO_WHILE with text... FirExpression expected, but FirDoWhileLoopImpl found"KTIJ-26113K2 IDE: Completion in when branch does not account for smart casts ifelsebranch is presentKT-60451K2 IDE: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is class org.jetbrains.kotlin.fir.expressions.impl.FirBlockImplKTIJ-21103FIR IDE: implement completion In KdocKTIJ-24096K2 IDE: Completion should insert the fully-qualified class name when the short class name clashes with a name from scopeKTIJ-25116K2 IDE: Name shortening in constructor's parameters affects constructorKTIJ-19863Bad completion variants inside annotationsIDE. Decompiler, Indexing, Stubs
KTIJ-26706Bytecode viewer: "IllegalStateException: Couldn't find declaration file" for a file with a delegated property with inline accessor in another moduleKTIJ-25465IDE hangs when indexing Kotlin projectKTIJ-25979K2 IDE: 'java.lang.IllegalStateException: Attempt to load decompiled text, please use stubs instead' exception if navigate to the decompiled KGP sourcesKTIJ-25985Stub mismatch for names with special charactersIDE. Gradle Integration
KTIJ-25334Gradle 8.1: Unresolved references in IDE for build.gradle.ktsKT-61777Explicit API mode isn't reflected in IDE settings unless every task is configured with GradleKTIJ-26306apiLevel (API version) for Kotlin/Native modules is set to 1.8 with KGP 1.9 and IDE Plugin 1.9.0-XXX, if the compiler bundled to IDE Plugin is still 1.8KT-61172MPP: Stacktraces of diagnostics are always printed during IDEA syncKT-48554[Multiplatform Import] Ensure consistency betweenGradleImportPropertiesandPropertiesProviderKT-36677MPP Gradle plugin doesn't respect manually set compiler arg-opt-inKT-58696MPP + IDEA: tryK2 does not affect LV value of common facetsKT-53875Warn users about erroneously adding dependsOn fromtesttomainKTIJ-23890Gradle to IDEA import: "You are currently using the Kotlin/JS Legacy toolchain" balloon is shown when I actually use IRIDE. Gradle. Script
KTIJ-25523Scripts: support for standalone configuration flagKTIJ-25910Scripts: transition to GistStorageKTIJ-26778Gradle 8.3: some parts of build.gradle.kts look unresolvedKTIJ-26308IAE “Unable to find script compilation configuration for the script KtFile: build.gradle.kts” on reopening project with build.gradle.ktsKT-60171K2 IDE: scripting freeze on kotlin project build.gradle.kts fileKT-60236K2 scripting: completion fails with exceptionKT-59801K2 IDE: Adding of an import with a task name to a build script leads to unresolved referencesKT-60749Scripting: default definition as a fallbackKT-60199K2 scripting: exception on script openingKT-60193K2 scripts: configuration discovery fails silently from time to timeIDE. Hints. Parameter Info
KTIJ-26824K2 IDE: "Parameter Info" shows incorrect overload as selectedIDE. Inspections and Intentions
New Features
KTIJ-26302K2 IDE: Support adding a@OptInannotation and suggesting to propagate opt-in requirement in quickFixesKTIJ-25002Provide a quick fix to migrate use-site 'get' annotations on gettersFixes
KTIJ-24832K2 IDE: 'Redundant qualifier name' false positive for nested classes from supertypes on the outside of a classKTIJ-26103K2 IDE: False positive in redundant qualifier inspectionKTIJ-26024K2 IDE: False positive "Redundant qualifier" inspection on a nested class which extends its outer classKTIJ-26576K2 IDE: "Redundant qualifier" false positive with referring parent's subclass in type constraintKTIJ-26785K2 IDE: False positive "Redundant qualifier" inspection in extension function for Java interface with nested interfaceKTIJ-26695K2 IDE. False negative "Redundant qualifier" directive for invoke function from objectKTIJ-26627K2 IDE: False positive "Redundant qualifier" inspection on extension property called on object when other 'this' is present in scopeKTIJ-23407K2 IDE. False positive unused import directive for invoke function from objectKTIJ-26808K2 IDE. "Redundant qualifier" inspection on the receiver of static method from Java may change semantic when receiver is not direct parentKTIJ-26840K2 IDE. False positive "Redundant qualifier" inspection when accessing companion object member inside anonymous object and there is a name clashKTIJ-26498KMP: Create expect-actual dialog selects incorrect path on WindowsKTIJ-24877K2 IDE. False negative unused import directive when declaration is available in file indirectlyKTIJ-25368K2 IDE. Specify type explicitly intention does not work with Java recordsIDE. JS
KTIJ-25023K/JS: Remove balloon warning about migration to IR backendIDE. Libraries
KTIJ-13660MPP library: No gutters forexpectandactualsymbolsIDE. Misc
KT-60053IdeaKotlinBinaryCoordinates doesn't respect capabilities and classifier attributesIDE. Multiplatform
Fixes
KTIJ-26700KMP: false positive report of non matching expect and actual annotations if annotation is actual typealiasKTIJ-25997KotlinMPPGradleTestTasksProvider: Support jvm targets with other names (such as android)KT-61686Check and update places in compiler and IDE where we are saying that MPP is experimental/Beta/AlphaKTIJ-27058Wizard's KMM application failed to build in 232 ASKT-59760[BUG] Use bundled version of Kotlin IDE Plugin in KMM Tests instead of customKT-61520Sources.jar is not imported for common and intermediate source-sets from the MPP libraryKTIJ-25842MPP: New create expect/actual dialog uses deprecated location for android instrumented actual counterpartKTIJ-25746MPP: Unable to distinguish android unit and instrumented tests in new create expect/actual dialog if instrumented tests are depends on commonKT-60410Add minimum supported KGP version in intellij.git infrastructureKT-59794Bump used KGP in multiplatform intellij.git tests after release 1.9.0KT-59518Cherry-pick old-import tests into 231-1.9.0/masterKT-56736Investigate how-to run multiplatform tests on real devicesKT-59519Bump AGP versions in intellij.git tests in masterKTIJ-25591MPP: Create expect/actual dialog doesn't allow selecting all targetsKT-56684Adopt KMM UI tests to be used with IDEAKT-50952MPP: Commonized cinterops doesn't attach/detach to source set on configuration changesIDE. Navigation
KT-61894Navigation from java sources leads to Kotlin decompiled code in case of suspend functionKTIJ-27053Value parameters documentation of expect isn't shown in actualsKTIJ-26292Documentation for expect/actual comes from a random actualKTIJ-26441K2 IDE: navigation doesn't work when type parameters are missed in annotation callKTIJ-26566K2 IDE: don't show no-name parameters in presentationsKTIJ-25366K2 IDE. Go to declaration of Java record shows record and constructorIDE. Refactorings. Rename
KTIJ-25762K2 IDE. label rename doesn't change it's name in usages after rename refactoringIDE. Script
KTIJ-25989java.lang.NullPointerException: Cannot invoke "com.intellij.openapi.vfs.VirtualFile.getPath()" because the return value of "java.lang.ThreadLocal.get()" is nullKT-60519Analysis API: scripts are not invalidated on PCEKTIJ-26670K2 Scripts: We should be able to find a symbol forKTIJ-25731KtAssignResolutionPresenceService is not available as a service in 231-1.9.20KT-60307K2 IDE. KotlinExceptionWithAttachments in script fileIDE. Wizards
KTIJ-27005Wizards 232: Fix generated kotlin version for 1.9.20-BetaKTIJ-26846Adjust compatibility data for 1.9.20 releaseKTIJ-264791.9.20: Update versions in wizardsKT-59347Rename Compose Multiplatform wizard to Compose for DesktopIR. Interpreter
KT-60467"InternalError: Companion object * cannot be interpreted" caused by java's package nameKT-60744Restore binary compatibility of toIrConst functionIR. Tree
KT-59771Restore compatibility of IdSignature.CommonSignatureKT-59772Restore compatibility of IrFactory#createFunctionKT-59308Auto-generate the IrFactory interfaceJS. Tools
KT-44838Kotlin/JS source-map-loader slow performance since 1.4.0JavaScript
New Features
KT-58684KJS: ES15 classes — creating instance by classPerformance Improvements
KT-58187KJS / IR: Huge performance bottleneck while generating sourceMaps (getCannonicalFile)Fixes
KT-60425Kotlin/JS compiler incorrect behavior for object singleton with CompleteableDeferredKT-62790java.lang.ClassCastException in compiler when ::class is usedKT-60495K2: Make JS CliTestGenerated working with K2KT-6168Ability to generate one JS file for each Kotlin source fileKT-60667K2 / KJS: jsTest fails with "SyntaxError: Unexpected token '}'" on runtimeKT-61581KJS: generate separate imports for useEsModules()KT-56737K2: build Space JSKT-59001K/JS: Use open-addressing hash map in JS stdlibKT-60131KJS: Interference between@JsExportand final implementation of propertiesKT-59712K/JS: Implement enumEntries intrinsicKT-60202JsExport.Ignored internal extension still has "JavaScript name () generated for this declaration clashes with another declaration"KT-51333KJS: someKTypeequalsNothing'sKTypethrows an exception, breaking its symmetryKT-58857KJS/IR: js file is not generated when source is stored in /var folderKT-53482KJS: Inheritance from JS class fails in ES6, because constructor is not called with newKT-58891K/JS: non-local return in lambda may leave an unreachable JS code after returnKT-49077KJS / IR: Wrong method called when using overloaded methods and class with the same nameKT-59718K/JS: Concatenating a String with a Char can lead to boxing of the CharKT-59717K/JS: a redundant boxing of a returned Char from an inline functionKT-39506Kotlin/JS browser application using JS IR and React fails in runtime with "TypeError: _this__0._set_name__2 is not a function"KT-59151K2 / KJS: NullPointerException in Fir2IrClassifierStorage.preCacheBuiltinClassesKT-59335K/JS ES6 classes: A child constructor, when using parent secondary constructor super call, creates a parent objectKT-58797Optimize the code generated for objects on JS and Wasm backendsKT-52339FIx failing JS tests after bootstrap updateKT-46643KJS / IR: Setter of overridden var of external val is removedKT-55315IR: can't access thestackproperty ofThrowableKT-59204Automatically generate NATIVE directive in tests for IR signaturesKT-59239K/JS: Bridge not generated for checking parameter type in generic class overrideKT-57347KJS: BE IR Incremental cache invalidation doesn't work after inserting Partial Linkage stubKT-58599KJS: Adding an override method to open class does not rebuild children JS codeKT-58003K2/MPP/JS: compiler IR serialization crash on multiple calls to inherited expect-functionKT-38017KJS: tests generate invalid code depending on file namesKT-25796KJS: Top-level constructs are put in an incorrect orderKT-58396KJS / IR: "IllegalStateException: Validation failed in file" with Enum.entries and inheritanceKMM Plugin
KTIJ-27158Import is failing after creation of new module if project don't use versionCatalogKT-59492KMM AS plugin for Canary 231 reports errorKlibs
KT-58877[klib tool] add ability to dump klib irKT-54402Programmatic API to dump public signatures from KLibsKT-60576Keep supported IR signature versions in manifestKT-59136[PL] Lower the default PL engine messages log level down to INFOKT-59486klib: Serialize mangled names along with signaturesLanguage Design
KT-22841Prohibit different member scopes for non-final expect and its actualKT-49175Inconsistency with extension super-type allowance between suspend / non-suspend function typesKT-61573Emit the compilation warning on expect/actual classes. The warning must mention that expect/actual classes are in BetaKT-57614KMP: consider prohibitingactual typealiaswhen the correspondingexpect classhas default argumentsKT-27750Reverse reservation of 'yield' as keywordLibraries
New Features
KT-59440Rework Flags API in kotlinx-metadata-jvmFixes
KT-62381K/Wasm: (re)publish libraries with 1.9.20-Beta2 (or newer if available)KT-62656Drop@AllowDifferentMembersInActualfrom stdlibKT-58887Reflection: "IllegalArgumentException: argument type mismatch" when using reflection to invoke a value class returning function that suspendsKT-61507Native: enum hashcode is not finalKT-56106Migrate stdlib to current Kotlin Multiplatform PluginKT-58402Migrate Vector128 from kotlin.native to kotlinx.cinteropKT-60911Compatibility publishing of kotlin-stdlib-commonKT-53154Deprecate enumValues and replace it with enumEntries in standard libraryKT-58123Update deprecations in native atomic classes for 1.9.20KT-60444transformJvmMainAtomicfu fails with java.lang.NoSuchMethodError: 'kotlin.Metadata kotlinx.metadata.jvm.KotlinClassMetadata.getAnnotationData()'KT-61342kotlin-test-wasm-* artifacts include test codeKT-61315Publish common sources in kotlin-test-js sources jarKT-56608WASI Preview1 version of Kotlin/Wasm stdlibKT-55765Review and stabilize stdlib surface available in K/NKT-55297kotlin-stdlib should declare constraints on kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7KT-57838Native: raise ExperimentalNativeApi opt-in requirement level to ERRORKT-61028Behavioural changes to the Native stdlib APIKT-61024Native: Mark the kotlin.native.CName annotation with ExperimentalNativeApiKT-61025Native: Deprecate HashSet.getElement() with WARNINGKT-53791Publish standard library as a multiplatform artifact with Gradle metadataKT-57363Remove reified constraint from Array constructors in platforms where Array type parameter is not required to be reifiedKT-57401Native: Regex matching zero length should split surrogate pairsKT-57359Provide Common StringBuilder.append/insert with primitive type argumentsKT-58264K2: republish kotlinx.metadata to support LV 2.0KT-57710Native: Internalize@Retainand@RetainForTargetannotationsKT-57720Native: Consider strictening NativeRuntimeApi opt-in requirement level to ERRORKT-57837Deprecate kotlin.native.SharedImmutable and kotlin.native.concurrent.SharedImmutableKT-58126Wasm: Consider removing Primitive.equals(Primitive) overload on primitive typesKT-53327Migrate all usages of 'Enum.values' to 'Enum.entries' in standard libraryKT-59366Deprecate KmModule.annotationsKT-59365Get rid of two-stage parsing in KotlinClassMetadataKT-35116Enum.valueOf throws inconsistent exception across multiple platformsKT-59223Native Enum.hashCode should return identity hash code, similar to JVMKT-56637Native: 'String.indexOf' matches byte sequences not on the char boundary, which also makes the result of 'split' and 'replace' operation incorrectKT-59192Align behavior of collection constructors across platformsNative
New Features
KT-50463Native: Provide a way to control the KONAN_DATA_DIR by the Gradle mechanismsKT-59448K2: IR and FIR signatures are not same for composable functionsFixes
KT-60230Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3KT-62532Support Xcode 15.0 frameworks as Kotlin/Native platform librariesKT-61382Linking XCFramework fails with error: Invalid record (Producer: 'LLVM11.1.0' Reader: 'LLVM APPLE_1_1300.0.29.30_0')KT-61417Native: string and array variables are not properly displayed in lldb when compiling with caches with Xcode 15KT-60758Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4KT-59149Native: check compiler compatibility with Xcode 15 beta 1KT-58537iOS project fails to build with rootProject.name = "Contains Space"KT-59073Native: don't include kotlinx.cli endorsed library into compiler distributionKT-58707[K/N] Compiler crash building generics with redundant castKT-58654Compiler error from kotlin.collections.Map : "Invalid phi record", while compiling for kotlin nativeNative. C Export
KT-56182[K2/N] C export doesn't work for non-root packages with K2Native. C and ObjC Import
KT-59642Remove ability to import forward declaration by library package nameKT-59643K2: Disable merging of forward declaration with real declaration classKT-52882MPP / Native: expect/actual mechanism broken when base contract is NSObjectProtocolKT-55578Custom user message for linker errorKT-58585[K2/N] Fix interop issuesKT-56041[K2/N] Fix broken __builtin_nanf(String)KT-57716[K2/N] Validation failed in file smoke.kt : unexpected type: expected platform.objc.Protocol?, got objcnames.classes.Protocol?KT-56028[K2/N]cnames.structs.Foodoes not resolveKT-59645Cast to objective C forward declaration crashes compilerKT-58793[K2/N] Package separators after mangling are different for IR and FIRNative. ObjC Export
KT-56090[K2/N] Emit DocString klib extensions for ObjCExportNative. Runtime. Memory
KT-61914Kotlin/Native: massive increase in memory usageKT-61092Kotlin/Native: Adjust initial values for expected heap sizeKT-61091Kotlin/Native: GC scheduler pauses mutators too aggressivelyKT-61741Kotlin/Native: tsan error in parallel markKT-57773Kotlin/Native: track memory in big chunks in the GC schedulerKT-61089Kotlin/Native: fix concurrent weak processing for new allocationsKT-55364Implement custom allocator for Kotlin/NativeKT-57772Kotlin/Native: concurrently process weak references in GCKT-57771Kotlin/Native: parallel mark in GCNative. Stdlib
KT-60608Introduce AtomicArrays API in K/N stdlibKT-59120Native: Rewrite stdlib AtomicReference with Volatile instead of custom C++ codeReflection
KT-47973Reflection: "IllegalArgumentException: argument type mismatch" when using callSuspend to call a function returning value class over primitiveKT-41373"KotlinReflectionInternalError: Unresolved class" when inspecting anonymous Java classKT-61304Reflection: Calling data classcopymethod via reflection (callBy) fails when the data class has exactly 64 fieldsKT-52071Continue gracefully when the system property check "kotlin.ignore.old.metadata" failsTools. CLI
KT-60662Add JVM target bytecode version 21KT-58183ParseCommandLineArgumentsKt.parseCommandLineArguments takes ~500msKT-58690OutOfMemory when compiling in CLIKT-58065K2: Enable light tree instead of PSI for CLI compilation of JS and Native by defaultTools. CLI. Native
KT-59245[K1/N] Compile sources to native binary in two stagesKT-56855[K2/N] Command-line compiler doesn't support compiling sources directly to a native binary (without intermediate klib) with-language-version 2.0KT-58979[K2/N] FIR frontend cannot resolve symbols from resolved klib having non-normalized pathTools. Commonizer
KT-59302Commonizer: make sure that opt-in annotation generated by cinterop made it into commonized artifactKT-62028False positive "Unnecessary '@OptIn' Annotation" for ExperimentalForeignApiKT-55757kotlinx.cinterop.UnsafeNumber: empty opt-in messageKT-59859Change the OptIn Level to Error for kotlinx.cinterop.UnsafeNumberKT-59132K2/Native/CInterop: [UPPER_BOUND_VIOLATED] Type argument is not within its bounds: should be subtype of 'kotlinx/cinterop/CPointed'KT-58822Kotlin Gradle Plugin: migrate tests off native deprecated targetsKT-47641Enabled cInterop commonization triggers native compilation during Gradle sync in IDETools. Compiler Plugin API
KT-58638K2: Annotations generated by IR plugins are not included into metadataKT-61872K2: Adding annotations to metadata from backend plugin doesn't work in the presence of comments on annotated declarationKT-61833K2: annotations added viaaddMetadataVisibleAnnotationsToElementto declarations from common sourceset in MPP project are invisibleKT-60051K2: Support metadata serialization of primitive const annotation arguments generated by IR pluginsTools. Compiler Plugins
KT-61550[atomicfu-compiler-plugin]: check that atomic properties are declared as private or internal valKT-58079K2/atomicfu: JVM IR transformer crash on atomic extension functionsKT-61293Usage of atomicfu compiler plugin leads to UnsupportedClassVersionError if Gradle runs on JVM <11KT-55876K2. "[Internal Error] java.lang.NoClassDefFoundError: org/jetbrains/kotlin/com/intellij/openapi/util/UserDataHolderBase" when project with languageVersion 2.0 is Built and Run using Intelij IDEAKT-58049K2: Smartcast of nullable property fails when Spring compiler plugin is presentKT-57468Kotlin assignment plugin: operation name cannot be found for referenceTools. Compiler plugins. Serialization
KT-58501K2/MPP/serialization: several classifier kinds seem to miss generated serializer functions when compiled to K/JS and K/Native targetsKT-59768kotlinx.serialization + K2 + JS/Native: Support meta-annotations on sealed interfaces with user-defined companionsTools. Gradle
New Features
KT-59000Default standard library dependency should use the single artifact for all targetsKT-57398Add ability to run compilation via build-tools-apiKT-34901Gradle testFixtures don't have friendPaths setKT-44833Gradle DSL: AddlanguageSettingsaccessor tokotlinextension that applies to all source setsKT-58315Add build metrics for Kotlin/Native taskPerformance Improvements
KT-62318Android Studio sync memory leak in 1.9.20-BetaKT-62496Configuration time regression with KGP 1.9.20-Beta caused by loading of propertiesKT-61426Enabling compilation via the build tools API may cause high metaspace usageFixes
KT-61359"Unresolved reference: platform" when enabling Gradle configuration cacheKT-59826Update SimpleKotlinGradleIT#testProjectIsolation to run on Gradle 8KT-57565Add ability to capture classpath snapshots via the build-tools-apiKT-51964Optimizekotlin.incremental.useClasspathSnapshotfeature to improve incremental Kotlin compilationKT-61368Native compiler option 'module-name' isn't available within the compilerOptions extension for native target while configuring it inside compilationsKT-61355freeCompilerArgs arguments and its values are passed to the compiler 5 times if added through target-level compilerOptions{} extension inside compilationsKT-61273KGP: TaskOutputsBackup.createSnapshot was failed by IOException sometimesKT-58987Use some available JVM target if there's no JvmTarget for the inferred toolchain versionKT-58234Kotlin Gradle Plugin: Deprecate and remove KotlinCompilation.source APIKT-61401The reported language version value for KotlinNativeLink tasks in build reports and build scans is inaccurateKT-54231Compatibility with Gradle 8.0 releaseKT-61950K/Wasm: Add warning about changed sourceSetsKT-61895KotlinTopLevelExtension.useCompilerVersion is not marked as experimentalKT-61303The module-name value stays unchanged when configuring it through compiler options extension specific to the android targetKT-61194MPP compiler options: part of JsCompilerOptions set up using js { compilerOptions {} } extension is lostKT-61253CompileExecutableKotlinJs task is skipped while configuring LV either using sourceSets.all {} or both js compiler options extension and base multiplatform compiler options extensionKT-59588Upgrade max gradle version to max supported in kapt connected testsKT-61292Gradle: compilation tasks may capture wrong build directory when build directory is changed after task configurationKT-61193Flag kotlin.experimental.tryK2 doesn't set LV 2.0 for tasks of kotlin-js gradle pluginKT-60541Possibility to create a custom usableKotlinCompiletask without using internalsKT-59451[K2][1.9.0-Beta] "Errors were stored into ..." log files never actually existKT-48898Can't suppress warnings by Optin() in KMM build.gradle.kts or IDEA settingsKT-60660konan.data.dir property not provided for K/N Gradle project build (on Linux or Mac) with a dependency from a MavenKT-56959K2: Set up Ktor repo performance benchmarks with K2 enabledKT-56178Compatibility with Gradle 8.1 releaseKT-61457Kotlin Gradle Plugin should not use internal deprecated StartParameterInternal.isConfigurationCacheKT-60718Kotlin Gradle Plugin's incremental compilation violates Project Isolation by accessing the tasks in the task graph that were produced by other projectsKT-60717Kotlin Gradle Plugin violates Project Isolation restrictions by dynamically looking up properties in the projectKT-54232Don't check if file exists in task file inputs configurationKT-61066[KMP] iOS "Unkown Kotlin JVM target 20"KT-54160New KGP API using lazy properties to add compiler plugin options may remove options with the same pluginIdKT-60839KGP provides incorrect default value "ENABLED" for -Xpartial-linkageKT-15370Gradle DSL: add module-level kotlin optionsKT-57645build_scan failed in testBuildScanReportSmokeTestForConfigurationCache test with Gradle 8.0.2KT-59827Update configuration to validate plugin inputsKT-59799Validate Gralde Integrations tests has only one tagKT-59117Add gradle integration tests for explicit api mode in Android projectsKT-59587Upgrade max gradle version to max supported in jvmToolchain connected testsKT-56636Bump max Gradle version for integration tests to 8.0KT-58353Support reporting of diagnostics after projects are evaluatedKT-53822Upgrade thegradle-download-taskdependency of the Kotlin Gradle pluginKT-58162Kotlin Gradle Plugin: Remove kotlinx.coroutines from classpath of KGPKT-58104Check values for MPP_PLATFORMSKT-58569Bump language version for Gradle plugins dependencies to 1.5Tools. Gradle. Cocoapods
KT-59263Add diagnostic that a dummy framework is not present when build is triggered from XcodeKT-57741KMP importing an iOS project with Xcode 14.3 fails when importing a pod that depends onlibarclite_iphoneosKT-60050Log reason why podInstall task is skippedKT-49430Stop invalidating iOS framework generated by KMM module on each Gradle SyncKT-59522Set the required environment for cocoapods invocationsKT-59313Elevate to error deprecation of useLibrariesKT-58775If the pod has a declared dependency on itself, then it will cause StackOverFlow exception while importing of a projectTools. Gradle. JS
New Features
KT-49789KJS / Gradle: Add npm style repository option for YarnRootExtension - and/or don't register github repository when download=falseFixes
KT-60469KJS: "Could not serialize value of type Build_gradle" caused by changed name in packageJson taskKT-61623K/Wasm: Error with project dependency between modules with both wasmJs and wasmWasi targetsKT-56933Add Kotlin/JS incremental tests with K2 enabledKT-58970browserTest gradle task fails if karma is used and gradle configuration cache is enabledKT-42520Add a way to setup generating separate js files for each module inside gradleKT-32086Gradle, JS: runTask.enabled = false has no effect on npm dependenciesKT-48358KJS: Circular dependency when multiple second-level Gradle modules have the same nameKT-50530Kotlin/JS: enablingkotlin.js.ir.output.granularity=whole-programdoes not remove superfluous .js output filesKT-50442KJS / Gradle: webpack plugin errors not loggedKT-46003KJS / IR: Should provide single distributions folder for production and development similarly to LegacyKT-47319KJS: Error when project contains two modules with same nameKT-46010KJS / Gradle: Can't find a file on building on WindowsKT-48923KJS / Gradle: NoWebpackerror messages when Node.js process exits unexpectedKT-51942KJS / Gradle: fails with two projects with the same name, but different pathsKT-51372Kotlin/JS: Gradle compileKotlinJs processes directory just excluded from source setKT-52134KJS: the default generated JS module name in a Gradle project with multiple subprojects is incomplete, which might cause duplicate names and build conflictsKT-52776KJS / Gradle: Webpack version update despite yarn.lock breaks Kotlin/JS buildKT-54182MPP / JS:StackOverflowErrorwhen in a Gradle multi-project and Kotlin Multiplatform build with the JS IR target which depends on another with the same subproject name via a renamed published Maven artifactKT-58250TheNodeJsExectasks are not compatible with Gradle configuration cacheKT-58256TheD8Exectasks are not compatible with Gradle configuration cacheTools. Gradle. Multiplatform
New Features
KT-60441KGP based dependency resolution: Support 'idea.gradle.download.sources' flag- See full ChangeLog in File
Checksums
v1.9.10: Kotlin 1.9.10Changelog
Compiler
KT-60769Partially revert KT-58371KT-60659Incorrect 'unresolved reference: addFirst' error with JDK 21KT-60371Native custom allocator link errorKT-60986Native: static caches with custom runtime options are broken on LinuxKT-60770Fix false-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED on toArray with JDK 21KT-60231NoClassDefFoundError:NON\_LOCAL\_RETURNafter upgrade to Kotlin 1.9.0JavaScript
KT-60785KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type errorKT-60852Kotlin JS(IR): IllegalArgumentException: Cross module dependency resolution failed when updating to Kotlin 1.9.0KT-57509KJS: Compiler generates native JS operator == for comparing values with Any typeNative
KT-60230Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3KT-60758Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4Native. C and ObjC Import
KT-59167Native: cinterop is unable to build interop libraries against the Xcode 15 Beta 1Tools. Gradle
KT-61147Kotlin Compiler 1.9.0 bundles a stripped unshadowed version of GsonKT-60543NoClassDefFoundError for com/gradle/scan/plugin/BuildScanExtensionChecksums
v1.9.0: Kotlin 1.9.0Changelog
Analysis API
New Features
KT-57930Analysis API: provide an API for extending Kotlin resolutionKT-57636K2: Add the return type of K2 reference shortener AAShortenCommand::invokeShortening()e.g.,ShorteningResultInfoto allow callers to access the shortening result PSIFixes
KT-58249Analysis API: Disable error logging for FE10 implementation of resolveCall when resolve is not successfulKT-55626Impossible to restore symbol by psi from script fileKT-57314LL FIR: CombineLLFirProvider$SymbolProviders in session dependencies (optimization)KT-55527K2 IDE: Rewrite KtScopeContext class to allow to handle each scope separatelyKT-55329LL FIR: Unexpected ACTUAL_WITHOUT_EXPECT error on constructor and function declarationKT-50732LL API: fix compiler based testsKT-57850K2: contract violation due to SymbolLightAccessorMethod.propertyAccessorSymbolKT-56543LL FIR: rework lazy transformers so transformers modify only declarations they suppose toKT-56721K2: FirExtensionDeclarationsSymbolProvider: java.lang.IllegalStateException: Recursive updateKT-50253Analysis API: Solve issues with ProcessCancelledExceptionKT-56800K2 IDE: optimize deprecation calculation for symbolsKT-55006Analysis API does not transform Java type refs for callable symbol return typesKT-57256AA FIR: Reduce lazy resolve phase for deprecation statusKT-57619K2: CFG for class initializer is not correctly built in reversed resolve modeKT-58141K2: AA FIR: impossible to restore symbol for declaration with annotation with argument inside typeKT-57462Symbol Light Classes: SymbolLightFieldForProperty should retrieve annotations not from KtPropertySymbol, but from the corresponding backing fieldKT-54864Analysis API: add function to get expect KtSymbol list by actual KtSymbolKT-56763Analysis API:.KtSourceModuleImpl is missing in the map.on symbol restore when symbol cannot be seen from the use-site moduleKT-56617Analysis API: optimize KtFirSymbolProviderByJavaPsi.getNamedClassSymbolKT-54430K2: .getAllOverriddenSymbols() returns invalid resultsBackend. Native. Debug
KT-55440Kotlin/Native debugger: inline function parameters are not visible during debuggingBackend. Wasm
KT-58293Wasm: ReferenceError: e is not defined in kotlin.test.jsThrowKT-58931Wasm tests are failing to start on Kotlin 1.9.0-BetaKT-58188Restore binary compatibility of PlatformDiagnosticSuppressor.shouldReportUnusedParameterKT-57136K/Wasm: Restrict non-external types in JS interopKT-57060Clarify the lack of support for dynamic in Kotlin/WasmKT-56955K/Wasm: Support restricted version of K/JSjs(code)KT-57276Wasm: "Body not found for function" error when compiling konform library with Kotlin/Wasm supportKT-56976K/Wasm bug with calling override of external function with default parametersCompiler
New Features
KT-55333Allow secondary constructors in value classes with bodiesKT-54944@Volatilesupport in nativeKT-54746Deprecate with ERROR JvmDefault annotation and old -Xjvm-default modesKT-47902Do not propagate method deprecation through overridesKT-29378K2: rework warnings/errors for equality/identity operators on incompatible typesKT-57477False-positive overload resolution ambiguity in case of lambda without argumentsKT-57010Kotlin/Native: make it possible to compile bitcode in a separate compiler invocationKT-55691K2: Avoid inferring Nothing? in presence of other constraints (beside type parameter bounds)KT-46288Unexpected behavior of extension function on lambda with suspend receiverKT-24779Inconsistent smart cast behavior for bound data flow valuesPerformance Improvements
KT-23397Optimize out field for property delegate when it's safe (JVM)KT-56906FIR: Use cached instance of FirImplicitTypeRefImpl in FIR buildersKT-56276LanguageVersion.getVersionString() allocates 5k objects on project openingFixes
KT-57784"NullPointerException: Parameter specified as non-null is null:" with enum, companion object, 'entries' and mapKT-55217K2: support callable reference conversions on top-level expressionsKT-57232K2: build Space JVM (master)KT-59079"AE: SyntheticAccessorLowering should not attempt to modify other files!" with callable reference to constructor with value class parameterKT-58837Partial linkage fails to report any compiler message on Windows when launched through Gradle pluginKT-57602K2: Rework member scope of types having projection arguments for covariant parametersKT-55171Put new contracts syntax under a feature flagKT-58719K2: false-positive INVISIBLE_REFERENCE error in case of importing an internal abstract classKT-56030[K2/N] Support Objective-C overloading by param names onlyKT-57510K2: Data class equals/hashCode/toString methods are not written to Klib metadataKT-56331K2: compiler backend crash on usage of expected function with default argumentsKT-53846K2 / Context receivers: ClassCastException on secondary constructor of class with context receiverKT-58621K2: Private class shadows public function defined in the same packageKT-59102K2: constant evaluator does not provide Long type on shlKT-59066[K2] delegation leads to "IllegalStateException: Expected some types"KT-56074K2: build Space JVM (snapshot 2022.3)KT-58787KAPT: "NullPointerException: null cannot be cast to non-null type" with delegateKT-57022K2 IllegalStateException in signature computationKT-56792K2: build kotlinpoetKT-57373K2: FIR properties synthesized when implementing interface by delegation don't have accessorsKT-56583K1: Implement opt-in for integer cinterop conversionsKT-59030[PL] Workaround for broken@Deprecatedannotations in c-interop KLIBsKT-58618K2: Local property delegates cannot infer generic return typeKT-36770Prohibit unsafe calls with expected@NotNullT and given Kotlin generic parameter with nullable boundKT-56739K2: build Space iOSKT-57131K2: stdlib test compilation fails on ListTest.kt in FirJvmMangleComputerKT-58137K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another moduleKT-58897K2: False positive unresolved reference with same-named enum class and its entryKT-40903Forbid actual member in expect classKT-30905Expect var property with default public setter matches with actual var property with private setterKT-56172K2: Fix reporting of PRIVATE_CLASS_MEMBER_FROM_INLINE errorKT-56171Implement deprecation warning for missing PRIVATE_CLASS_MEMBER_FROM_INLINE errorKT-27261Contracts for infix functions don't work (for receivers and parameters)KT-56927Enum with secondary constructor can't be compiled with K2 using JS/Native backendKT-53568Partial linkage: absent class as type parameter bound causes failure ofcompileProductionExecutableKotlinJsKT-53608Partial linkage: Kotlin/JS fails with IllegalStateException: "Validation failed in file" when overridden declaration was visible, but now privateKT-53663Partial linkage: usage of property which becomes abstract: no IrLinkageError, but AssertionError in Native backend insteadKT-56013K2. a set of errors about local properties are missingKT-53939Partial linkage: with turning object into class linkNative and jsTest tasks failKT-53938Partial linkage: with turning interface into class and using as second parent Native build failsKT-53941Partial linkage: with turning class into object accessing member via parameterless constructor does not failKT-53970Partial linkage: on turning nested class into inner JS tasks are successful, Native build failsKT-53971Partial linkage: turning inner class into nested: without usage in executable Native is successful, JavaScript failsKT-53972Partial linkage: turning inner class into nested: with usage in executable Native fails with NPE in backendKT-54045Partial linkage: turning class into type alias + calculating implicit function type: build fails with UninitializedPropertyAccessException: "lateinit property parent has not been initialized"KT-54046Partial linkage: turning type alias into class + using it as type: build fails with AssertionError: "Expected exactly one delegating constructor call but none encountered"KT-53887Partial linkage: turning from enum to regular class + reference to enum contant causes compileProductionExecutableKotlinJs fail with IllegalStateExceptionKT-54047Partial linkage: reference to removed enum const causes JS fail with "IllegalStateException: Validation failed in file"KT-54048Partial linkage: reference to removed enum const in runtime causes Native fail with IllegalStateException at IrBindablePublicSymbolBase.getOwner()KT-53995Partial linkage: on turning class to abstract and direct constructor call Naive fails, JavaScript is successfulKT-43527@ExtensionFunctionTypeis allowed on function types with no parameters and leads to backend exceptionKT-55316K2. IllegalStateException on incorrect import directive nameKT-57570Remove source code excerpts from platform type nullability assertion exceptionsKT-56073K2: build ExposedKT-47932Report errors on cycles in annotation parameter typesKT-38871Kotlin Gradle DSL, MPP: UNUSED_VARIABLE when configuring a sourceset with delegated propertyKT-46344No error for a super class constructor call on a function interface in supertypes listKT-56609K2: False positive NULL_FOR_NONNULL_TYPE with -Xjsr305=strict and@Nullableannotation Java parameterKT-56656K1/K2: inconsistent NOTHING_TO_OVERRIDE with complex nullable annotationsKT-58332K2: local fun with suspend type is not marked as suspend in IRKT-57991K2: Modifier 'suspend' is not applicable to 'anonymous function'KT-54294K2: "Not all type variables found" in builder inference with type parameters inferred through a union of two branchesKT-58564[PL] Annotations with unlinked parameters are not removedKT-52597Provide Alpha Support for Multiplatform in the K2 platformKT-58523K2: reference is resolved to imported type-alias instead of identically named top-level propertyKT-57098Native: avoid object initialization while accessing const valKT-5797332-th default value in inline classes override function is not usedKT-57714"IllegalStateException: <B::!>" using reified genericsKT-57810toStringof object erroneously considered as constant function in string concatenationKT-58076K2: Incorrect inference of type of labeled receiverKT-57929K2: Arguments of annotations are not calculated in a lot of strange locationsKT-54874K2. No compilation error with incorrect Comparator invocationKT-55388Consider enabling ProhibitUsingNullableTypeParameterAgainstNotNullAnnotatedKT-53041NPE in Kotlin 1.7.0 when using RxJava Maybe.doOnEvent with anonymous parametersKT-54829Cleanup local types approximation logicKT-58577K2: private Kotlin property prevents use of Java set-method from Java-Kotlin-Java hierarchy in another moduleKT-58587MUST_BE_INITIALIZED must take into account effectivelly finalKT-58524K2: false-positive overload resolution ambiguity error on invoking a generic class's member function with id-shaped function-typed parameter on intersection-typed receiverKT-53929Enum.entries: consider changing scope behavior in K1KT-58520K2: FIR2IR: ISE during const evaluation of operator times with exposedKT-57905K1: resolution to base class's Java field instead of derived class's Kotlin property is not deprecated in case of different typesKT-56662K1: false negative INVISIBLE_SETTER for a var with internal setter accessed from a derived classKT-57770K2: Support generation of serializer if base class for serializableConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate.
b0f4e0aa7ctoc6f04827c0Update plugin org.jetbrains.kotlin.android to v2to Update plugin org.jetbrains.kotlin.android to v2 - autoclosedPull request closed