Update kotlin_version to v2 (major) - autoclosed #71

Closed
renovate wants to merge 1 commits from renovate_major-kotlin_version into master
Owner

This PR contains the following updates:

Package Type Update Change
org.jetbrains.kotlin:kotlin-stdlib-jdk7 (source) dependencies major 1.8.10 -> 2.0.20
org.jetbrains.kotlin:kotlin-gradle-plugin (source) dependencies major 1.8.10 -> 2.0.20

⚠️ Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

JetBrains/kotlin (org.jetbrains.kotlin:kotlin-stdlib-jdk7)

v2.0.20: Kotlin 2.0.20

Changelog
Analysis. API
New Features
  • KT-68143 Analysis API: support KtWhenConditionInRange call resolution
Performance Improvements
  • KT-67195 K2: do not call redundant resolve on body resolution phase for classes
Fixes
  • KT-67360 Analysis API: KtDestructuringDeclarationSymbol#entries shouldn't be KtLocalVariableSymbol
  • KT-67748 K2: AllCandidatesResolver modifies the original FirDelegatedConstructorCall
  • KT-68198 Analysis API: Support application service registration in plugin XMLs
  • KT-62936 Analysis API: NativeForwardDeclarationsSymbolProvider is not supported for Kotlin/Native
  • KT-68689 LL API: support analysis from builtins module
  • KT-69630 KAPT User project builds with KAPT4 enabled fail with Metaspace overflow
  • 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 Analysis API: Refactor KaSymbols
  • KT-65413 K2 IDE: KTOR unresolved serializer() call for @Serializable class in common code
  • KT-67996 Analysis API: rename Kt prefix to Ka
  • KT-67775 Analysis API: expose only interfaces/abstract classes for the user surface
  • KT-68009 K2: lowering transformers of Compose compiler plugin access AbstractFir2IrLazyFunction modality, which results in null point exception
  • KT-68918 collectCallCandidates works incorrectly for parenthesis invoke
  • KT-68462 Analysis API: Integrate project-structure module into analysis-api and analysis-api-platform-interface
  • KT-69131 AA: "provideDelegate" operator is not resolved from the delegation reference in FIR implementation
  • KT-69055 Analysis API: Stabilize KaScopes
  • KT-66216 K2 IDE. "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" on incorrect string template
  • KT-68959 Introduce KaSeverity
  • KT-53669 Analysis API: redesign KtSymbolOrigin to distinguish kotlin/java source/library declarations
  • KT-68846 Mark KaFirReference and all implementations with internal modifier
  • KT-68845 Move KaSymbolBasedReference to resolution package
  • KT-68844 Move KaTypeProjection to types package
  • KT-65849 K2: Rename 'high-level-api' family of JARs to 'analysis-api'
  • KT-62540 Remove uses of TypeInfo.fromString and TypeInfo.createTypeText from Kotlin plugin
  • KT-62889 K2 IDE. FP MISSING_DEPENDENCY_CLASS on not available type alias with available underlying type
  • KT-68155 Analysis API: Add PSI validity check to analyze
  • KT-62343 Analysis API: fix binary incopatibility problems cause by KtAnalysisSessionProvider.analyze being inline
  • KT-68498 To get reference symbol the one should be KtSymbolBasedReference
  • KT-68393 Analysis API: Rename KaClassLikeSymbol. classIdIfNonLocal to classId
  • KT-62924 Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableId
  • KT-66712 K2 IDE. SOE on settings string template for string variable with the same name
  • KT-65892 K2: "We should be able to find a symbol" for findNonLocalFunction
  • KT-68273 AA: support KtFirKDocReference#isReferenceToImportAlias
  • KT-68272 AA: KtFirReference.isReferenceToImportAlias doesn't work for references on constructor
  • KT-66996 Analysis API: Expose the abbreviated type of an expanded KtType
  • KT-66646 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl from FirJsHelpersKt.isExportedObject
  • KT-68203 K2: Analysis API: wrong type of receiver value in case of imported object member
  • KT-68031 LL resolve crash in case of PCLA inference with local object
  • KT-67851 K2: PsiReference#isReferenceTo always returns false for references to Java getters
  • KT-68076 AA: use type code fragments for import alias detection
  • KT-65915 K2: Analysis API: extract services registration into xml file
  • KT-68049 Analysis API: do not expose imported symbols
  • KT-68075 K2: Analysis API: Type arguments for delegation constructor to java constructor with type parameters not supported
  • KT-65190 AA: reference to the super type is not resolved
  • KT-68070 AA: KtExpressionInfoProvider#isUsedAsExpression doesn't work for KtPropertyDelegate
  • KT-67743 K2: Stubs & AbbreviatedTypeAttribute
  • 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-65835 SymbolLightClassForClassLike.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-65322 [Wasm] Clean-up bootstrap code
  • KT-66099 Wasm: local.get of type f64 has to be in the same reference type hierarchy as (ref 686) @​+237036
  • KT-63230 [WASM] println(null) prints 'ul'
Compiler
New Features
  • KT-58310 Consider non-functional type constraints for type variable which is an expected type for lambda argument
  • KT-68969 Consider implementing general "redundant interpolation prefix" warning
  • KT-57872 Improve "Public-API inline function cannot access non-public-API" check
  • KT-68165 Native: type checks on generic types boundary
  • KT-67611 Implement improved handling of $ in literals
  • KT-67787 Implement guard conditions for when-with-subject
  • KT-39868 Allow access to protected consts and fields from a super companion object
  • KT-66169 useContents lacks a contract
  • KT-67767 Introduce an ability to enforce explicit return types for public declarations without enabling Explicit API mode
  • KT-65841 Allow to actualize expect types in kotlin stdlib to builtins in JVM
  • KT-53834 Support for JSpecify @NullUnmarked
Performance Improvements
  • KT-69995 K2: Slow compilation when star projecting mutually recursive bounds from java
  • KT-69723 K2: code analysis taking too long
  • KT-69898 K2: Performance degradation in fir2ir caused by changes around intersection types
  • KT-68034 Devirtualization analysis fails to devirtualize string.get
Fixes
  • KT-67102 IR Evaluator: NoSuchFieldException when accessing a private delegated property
  • KT-35305 "Overload resolution ambiguity" on function for unsigned types (UByte, UShort, UInt, ULong)
  • KT-69211 K2: java.lang.IllegalArgumentException: Failed requirement
  • KT-68874 Types with different captured types as type arguments are rendered incorrectly
  • KT-66086 K/N: Unchecked illegal cast is not thrown
  • KT-70186 Kotlin 2.0.20-Beta2: Unexpected number of type arguments: 0
  • KT-68889 K2: type variable should not be fixed
  • 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-69402 FirSupertypeResolverVisitor: ConcurrentModificationException
  • KT-69062 K1: false-negative "unsupported feature" error on multi-dollar interpolation
  • KT-68967 Consider demoting warnings about multi-dollar interpolation to IJ inspections
  • KT-68957 False-negative diagnostics about multi-dollar interpolation on string literals without interpolation
  • KT-69476 False negative NO_ELSE_IN_WHEN on when over intersection type with expect enum/sealed class
  • KT-67069 K2: Delegated member calls interface method instead of fake override
  • KT-63864 K2: Missing abbreviated type in metadata
  • 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-68800 K2: Delete ConeAttributes.plus method
  • KT-59389 K2: Missing AMBIGUOUS_LABEL
  • KT-68803 K2: Smart cast fails with "Unresolved reference" when @Suppress("UNCHECKED_CAST") used in statement
  • KT-68968 K2: Missing ILLEGAL_SUSPEND_FUNCTION_CALL diagnostic in initialization code of a local class inside suspend function
  • KT-68336 K2 does not seem to pass the right constructor arguments to custom scripts
  • KT-68517 "IrSimpleFunctionSymbolImpl is unbound" for actual class containing non-actual functions
  • KT-59678 K2: Investigate ConeKotlinType.unCapture()
  • KT-69027 K2: Initialize FirStdlibBuiltinSyntheticFunctionInterfaceProvider in library session
  • KT-62818 K2: improve VAR_OVERRIDDEN_BY_VAL diagnostic message
  • 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-54496 K2: REDUNDANT_MODALITY_MODIFIER diagnostic disregards compiler plugins
  • KT-63745 K2: Approximation of DNN with nullability warning attribute leads to attribute incorrectly becoming not-null
  • KT-63362 AbstractTypeApproximator fixes only first local type in hierarchy
  • KT-67769 K2: "variable must be initialized" on unreachable access in constructor
  • KT-51195 FIR IC: Incremental compilation fails with @PublishedApi property
  • KT-67966 No JVM type annotation is generated on a class supertype
  • KT-46640 Generate JVM type annotations on wildcard bounds
  • KT-67952 Annotations on type parameters are not generated for parameters other than the first
  • KT-68012 K2. No 'operator' modifier is required on 'component' error in K2
  • KT-61835 K2: FirStubTypeTransformer receives unresolved expressions in builder inference session
  • KT-63596 K1/K2: Different behavior for lambda with different return type
  • KT-67688 K2: False positive CANNOT_INFER_PARAMETER_TYPE for Unit constraint type variable
  • KT-62080 False positive UNUSED_VARIABLE for variable that is used in lambda and in further code with several conditions
  • KT-60726 K2: Missed TYPE_MISMATCH error: inferred type non-suspend function but suspend function was expected
  • KT-41835 [FIR] Green code turns to red in presence of smartcasts and redundant type arguments
  • KT-67579 K1/JVM: false-negative annotation-based diagnostics on usages of ABI compiled with non-trivially configured generation of default methods
  • KT-67493 K2: argument type mismatch: actual type is 'T', but 'T' was expected
  • KT-64900 K2: getConstructorKeyword call in PsiRawFirBuilder.toFirConstructor forces AST load
  • KT-67648 K2: wrong exposed visibility errors with WRONG_MODIFIER_CONTAINING_DECLARATION on top-level enum class
  • KT-58686 FIR2IR: Don't use global counters
  • KT-67592 K2: Success execution of :kotlin-stdlib:compileKotlinMetadata
  • KT-60398 K2: consider forbidding FirBasedSymbol rebind
  • KT-54918 Refactor transformAnonymousFunctionWithExpectedType
  • KT-63360 K2: Malformed type mismatch error with functional type
  • KT-67266 K2: disappeared INLINE_CLASS_DEPRECATED
  • KT-67569 K2: Fix default value parameters of Enum's constructor if it's declared in source code
  • KT-67378 K2: Don't use wrapScopeWithJvmMapped for common source sets
  • KT-67738 K2: Introduce kotlin.internal.ActualizeByJvmBuiltinProvider annotation
  • KT-64456 K2: Port *VersionRequirementTest to K2
  • KT-67136 Put $this parameter to LVT for suspend lambdas
  • KT-62538 K2: Declarations inside external classes should be implicitly external
  • KT-67627 K2: External interface companion isn't external in IR
  • KT-60290 K2: origin is not set for !in operator
  • KT-67512 K2: false positive WRONG_GETTER_RETURN_TYPE when getter return type is annotated
  • KT-67635 K2: No warning TYPE_MISMATCH_WHEN_FLEXIBILITY_CHANGES for SAM constructor with inferred type
  • KT-60501 K2 Scripting: investigate metadata difference between K1 and K2
  • KT-67598 K2: Fix incorrect casting UByte to Number in FirToConstantValueTransformer
  • KT-56564 False positive "non-exhaustive when" in case of intersection type
  • KT-63969 K2: extra property in metadata
  • KT-63968 K2: extra property in metadata for anonymous variable in script
  • KT-67547 K/N can't build caches, fails with "clang++: error=2, No such file or directory"
  • KT-67469 K2: Failing module in FP-intellij
  • KT-64033 K2: Investigate ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound
  • KT-64457 K2: Fix DecompiledKnmStubConsistencyK2TestGenerated
  • KT-66377 IR Evaluator: "no container found for type parameter" when evaluating nested generics
  • KT-66378 IR Evaluator: Symbol is unbound
  • 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-64489 K2: Rename FirAugmentedArraySet
  • KT-67394 FIR: Make FIR repr of For from PSI and LightTree the same
  • KT-66724 K2 IDE. False positive errors because of wrong type inference in complex case of delegated property and type arguments
  • KT-40248 Confusing error message NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY
  • 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-59810 K2: Support other ConstraintPosition-s
  • KT-55383 K1/K2: isClassTypeConstructor behaves differently for stub types
  • KT-60089 K2: Introduced ERROR_IN_CONTRACT_DESCRIPTION
  • KT-60382 K2: Refactor ExpectActualCollector
  • 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.
  • 192e556 Strong skipping is now enabled by default
  • 842a9e8 Add support for default parameters in abstract and open @Composable functions b/165812010
Fixes
  • e207b05 Fixes group generation for if statements when nonSkippingGroupOptimization is enabled b/346821372
  • f64fc3a Fixes endToMarker generation in early return from inline lambdas that caused start/end imbalance b/346808602
  • d6ac8a5 Stop memoizing lambdas with captured property delegates b/342557697
  • f38d5a3 Stop capturing parameter meta across crossinline boundary b/343801379
  • 770fe8d Propagate annotations from inferred function types when serializing b/345261077
  • 3c67cda Fix memoization of captureless lambdas when K2 compiler is used b/340582180
  • 3281e53 Allow memoizing lambdas in composable inline functions b/340606661
  • b/351858979 Fix stability inferencing of interfaces on incremental compilation
  • b/346821372 [Compose] Fix code generation for group optimization
  • b/357878245 Disallow open @Composable functions with default params to fix binary compatibility issues.
IR. Actualizer
  • KT-68830 Compiler crash on missing actual class
  • 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-68174 Delete the IrMessageLogger interface
  • KT-67082 Introduce attributes on IrElement
  • KT-68716 DeepCopyIrTreeWithSymbols.visitConst should remap const type
  • KT-67650 Add default implementations to methods for non-leaf IrSymbol subclasses from SymbolRemapper
  • KT-67649 Autogenerate IrSymbol interface hierarchy
  • KT-44721 IR: merge IrPrivateSymbolBase and IrPublicSymbolBase hierarchies
  • KT-67580 Autogenerate SymbolRemapper
  • KT-67457 Introduce a way to simplify IR lowering phase creation
  • KT-67060 NoSuchMethodError for org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl in the Flysto
JavaScript
New Features
  • KT-69133 Kotlin/JS: Add support for collection instantiation in JavaScript
  • KT-18891 JS: provide a way to declare static members (JsStatic?)
Fixes
  • KT-68943 @JsPlainObject breaks when interface has type parameters
  • KT-70592 "Error: HttpClientCall expected" on HTTP request when targeting es2015 with KTOR
  • KT-67273 Creating Kotlin Collections from JS collections
  • KT-65018 JS: Deprecate error tolerance
  • KT-67355 KJS / ES6: 'super' in lambda with enabled -Xir-generate-inline-anonymous-functions leads to JS errors
  • KT-69353 KJS / d.ts: Kotlin does not export base collection classes along with their mutable collection counterparts
  • KT-66898 KJS: Reserved keywords not escaped when -Xir-generate-inline-anonymous-functions is enabled
  • KT-69710 JS IR generates bad code for inner param default referring to outer members
  • KT-68632 K2: allow JS_NAME_CLASH suppression
  • KT-69400 Use correct type for references on local functions when transforming them into lambda
  • KT-68554 Legalize marker interface as parent for JSO (interface marked with @JsPlainObject)
  • KT-68740 Kotlin/JS 2.0.0 IrLinkageError with dynamic function parameters inside data classes
  • KT-68944 @JsPlainObject require properties, when type - nullable alias
  • KT-68891 @JsPlainObject fails to compile when encountering reserved keywords as interface properties
  • KT-69023 KJS / IR: globalThis is mandatory, breaking older browsers support
  • KT-68641 KJS: 'export was not found' with per-file mode on case-insensitive filesystem
  • KT-68053 K2: NON_EXPORTABLE_TYPE on a typealias of primitive type
  • KT-62304 K/JS: Investigate the compiler assertion crash in JS FIR with backend tests
  • KT-68620 [wasm][js] Default param in inner class method fails if we are referring generic extension property
  • KT-64801 K2 + JS and WASM: Inner with default inner doesn't work properly
  • KT-67248 ModuleDescriptor in JS Linker contains incorrect friend dependecies
  • KT-64424 K2: Migrate JsProtoComparisonTestGenerated to K2
  • KT-52602 Kotlin/JS + IR: incompatible ABI version is not reported when no declarations are actually used by a Gradle compilation
  • KT-66092 K/JS & Wasm: .isReified for reified upper bound is wrongly false
  • KT-67112 Unable to apply @JsStatic for common sources: [NO_CONSTRUCTOR]
  • KT-62329 KJS: "UnsupportedOperationException: Empty collection can't be reduced" caused by external enum with "@JsExport"
  • KT-67018 K/JS: Executable js file for module-kind=umd contains top level this instead of globalThis
  • KT-64776 Test infra for JS can't process dependency in mpp module
  • KT-65076 Use the same instance when a fun interface doesn't capture or capture only singletons
Klibs
  • KT-66557 Check, that no bad metadata in klib is produced, when we failed to compute constant value
  • KT-66968 Provide K/N platforms libs for all available targets
  • KT-66967 Provide K/N stdlib for all available targets in all distributions
  • KT-66605 [KLIB] Excessive creation of BaseKotlinLibrary during resolving libs
  • KT-68824 API 4 ABI: Don't show sealed class constructors
  • KT-68202 KLIB metadata: nested classes are sometimes inside a different 'knm' chunk
  • KT-65834 [KLIB Resolve] Drop library versions in KLIB manifests
  • KT-67446 [KLIB Tool] Drop "-repository " CLI parameter
  • KT-67445 [KLIB Tool] Drop "install" and "remove" commands
Language Design
  • KT-58920 K2: Prioritize Enum.entries resolve
  • KT-11914 Confusing data class copy with private constructor
  • KT-68636 Incorrect private_to_this visibility for data class with a private constructor
Libraries
New Features
  • KT-31880 UUID functionality to fix Java bugs as well as extend it
  • KT-57998 implement Base64.withoutPadding
Performance Improvements
  • KT-67023 Optimize Int.sign and Long.sign for js and wasmJs targets
Fixes
  • KT-70196 Introduce ExperimentalUuidApi annotation for marking Uuid API
  • KT-60787 Cannot ignore alpha when formatting with HexFormat
  • KT-68025 Improve documentation for Hex
  • KT-66129 Minor issues with HexFormat
  • KT-67511 provide equals() and hashCode() implementations for kotlinx.metadata.KmType
  • KT-68240 stdlib: proper expects for internal API used in intermediate shared source sets
  • KT-68840 atomicfu-runtime: annotate some internal functions with @PublishedApi
  • KT-68839 Annotate kotlin.js.VOID property with @PublishedApi
  • KT-68023 Improve documentation for Base64
  • KT-51483 Documentation of trimMargin is (partly) difficult to understand
  • KT-64649 Add explanation to "A compileOnly dependency is used in the Kotlin/Native target" warning message
  • KT-67807 JS/Wasm: ByteArray.decodeToString incorrectly handles ill-formed 4-byte sequences with a 2nd byte not being continuation byte
  • KT-67768 Wasm: ByteArray.decodeToString throws out-of-bounds exception if the last byte is a start of a 4-byte sequence
  • KT-66896 Improve Array contentEquals and contentDeepEquals documentation
Native
  • KT-70166 Native: EXC_BAD_ACCESS on watchOS when using Dispatchers
  • KT-69246 K2: linkPodDebugFrameworkIosArm64 takes 15 (!!) times longer
  • KT-67694 Native: WeakRefBenchmark degradation due to nonoptimized IntProgression iteration
  • KT-69206 Native: updating to LLVM 16 breaks debugging in lldb on Linux
  • KT-68640 Native: updating to LLVM 16 changes behavior of used attribute in C/C++ code
  • KT-58097 Kotlin/Native: improve the error message if Xcode is not properly configured
  • KT-67583 compileKotlin-task unexpectedly downloads K/N dependencies on Linux (but doesn't on Mac)
Native. Build Infrastructure
  • KT-69781 Kotlin/Native performance tests fail to compile with bitcode
Native. C and ObjC Import
  • KT-69094 LLVM 11 clang: cinterops fail with "_Float16 is not supported on this target"
  • KT-68254 Native: flaky testForwardEnum test in Kotlin/Native on MacOS
  • KT-65260 Native: compiler crashes when casting to an Obj-C class companion
Native. ObjC Export
  • KT-65666 Native: enable objcExportSuspendFunctionLaunchThreadRestriction=none by default
  • KT-57496 linkReleaseFrameworkIosArm64: e: Compilation failed: An operation is not implemented
Native. Platform Libraries
  • KT-69382 LLVM 11 clang: symbol not found when running the linker
Native. Runtime
  • KT-70043 Native: EXC_BAD_ACCESS on watchOS when using Random
  • KT-68928 EXC_BREAKPOINT: BUG IN CLIENT OF LIBPLATFORM: Trying to recursively lock an os_unfair_lock
Native. Runtime. Memory
  • KT-66644 Native: threads are too often paused to assist GC (with concurrent mark)
  • KT-68871 Native: Unexpected barriers phase during STW: weak-processing
  • KT-67779 Native: SpecialRefRegistry::ThradData publication prolongs the pause in CMS
  • KT-66918 Native: scan global root set concurrently
Native. Swift Export
  • KT-69469 Exporting object twice causing crash
  • KT-69251 Get rid of context receivers from ./native/.../lazyWithSessions.kt
  • KT-68865 Move config into test-directives
  • KT-68259 Swift export: secondary constructs lead to compilation errors
  • KT-67095 Native: fix testNativeRefs export test
  • KT-67099 Remove SirVisitor and SirTransformer from code
  • KT-67003 Abandon PackageInflator implementation in favour of PackageProvider component
Native. Testing
  • KT-69235 Incorrect handling of friend dependencies in Native test infra
  • KT-67436 Native: support CLI tests
  • KT-68416 Native: when using test grouping, a whole group gets ignored on non-Mac hosts if it has Objective-C tests
  • KT-68500 Native: Drop custom logic in ExtTestCaseGroupProvider, mute codegen/box tests explicitly
Reflection
  • KT-69433 KotlinReflectionInternalError on non-reified type parameter in typeOf inside an inline lambda
  • KT-68675 K2: KotlinReflectionInternalError on non-reified type parameter in typeOf inside a lambda
Tools. Build Tools API
  • KT-68555 BTA test infra: top level declarations are invisible across modules
Tools. CLI
  • KT-69792 Add the possibility to disable fast jar fs in K2
  • KT-68838 OutOfMemory when compiling in CLI
  • KT-67939 Add CLI argument to enable when guards feature
  • KT-68743 Extract common CLI arguments for all KLIB-based backends
  • KT-68450 CLI: errors related to module-info are reported even if there are no Kotlin source files
  • KT-68060 FastJarFS fails on empty jars
Tools. CLI. Native
  • KT-66952 Native: konanc fails when KONAN_HOME is under path with spaces
  • KT-64524 Introduce a CLI argument to override native_targets field in klib manifest
Tools. Commonizer
  • KT-68835 Command line length overflow on Linux/Windows while invoking commonizer via :commonizeDistribution
Tools. Compiler Plugin API
  • KT-68020 K2: run FirSupertypeGenerationExtension over generated declarations
Tools. Compiler Plugins
  • KT-64425 K2: Implement Atomicfu*IrTestGenerated for K2
  • KT-69401 Kotlin power assert plugin doesn't work correctly with safe cast operator
  • KT-69290 PowerAssert: implicit receivers included in power-assert generated diagram
  • KT-68511 Power Assert kotlinx.assertEquals message display problem
  • KT-68807 Power-Assert crashes the Kotlin compiler when if expression used as assertion parameter
  • KT-68162 K2 Parcelize implementation breaks compiler phase contracts
  • KT-67605 K2 parcelize: false positive NOTHING_TO_OVERRIDE in one test
  • KT-64455 K2: Implement ParcelizeIrBoxTestWithSerializableLikeExtension for K2
Tools. Compiler plugins. Serialization
  • KT-70516 KxSerialization: @KeepGeneratedSerializer and sealed class cause initialization error
  • KT-68752 Serializable annotation on Java class is not taken into account in K2 checker
  • KT-68931 JS/Native + serialization: partial linkage error
  • KT-69039 FIR: Implement IDE-only checker for kotlinx.serialization compiler plugin to report IDE-only diagnostics
Tools. Fleet. ObjC Export
  • KT-68826 ObjCExport: SerializersModuleBuilder
  • KT-68841 ObjCExport: @Deprecated support
  • KT-68887 ObjCExport: K1 text fixture @Deprecated support
  • KT-68051 [ObjCExport] Support reserved method names
Tools. Gradle
New Features
  • KT-68651 Compose: provide a single place in extension to configure all compose flags
Performance Improvements
  • KT-61861 Gradle: Kotlin compilations depend on packed artifacts
Fixes
  • KT-69809 Compose Gradle Plugin: AGP doesn't override configuration properties like traceMarkersEnabled
  • KT-65820 Compatibility with Gradle 8.7 release
  • KT-69444 Don't warn about missing Compose Compiler Gradle plugin in some cases
  • KT-67888 Remove usages of deprecated Configuration.fileCollection() method
  • KT-68843 Gradle: Kotlin plugin changes source set 'main' to 'null/main'
  • KT-67395 Add new plugins to collector kotlin gradle performance
  • KT-68661 Move ExperimentalWasmDsl to kotlin-gradle-plugin-annotations
  • 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 Compose Gradle plugin: Enable strong skipping by default
  • KT-67766 Build against Gradle API 8.7
  • KT-67889 Run tests against Gradle 8.8 release
  • KT-65271 Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3
  • KT-67822 Deprecate JVM history files based incremental compilation
  • KT-64378 Compatibility with Gradle 8.6 release
  • KT-69414 Compose: featureFlags override values of the deprecated compose options
  • KT-67771 Compatibility with Gradle 8.8 release
  • KT-65528 Migrate rest of Gradle integration tests to new Test DSL
  • KT-68306 Project isolation for FUS statistics: Cannot access project ':' from project ':app' at org.jetbrains.kotlin.gradle.report.BuildMetricsService$ Companion.initBuildScanExtensionHolder
  • KT-67890 Compile against Gradle 8.8 API artifact
  • 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-65754 Gradle: Commonized cinterop dependency configuration changes project description
  • 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-64430 Remove deprecated KotlinToolRunner(project) constructor
  • KT-64427 Stop using deprecated KotlinToolRunner(project) constructor call
Tools. Incremental Compile
  • KT-69042 K2: changing a Java constant won't cause Kotlin usages to recompile
  • KT-63476 Investigate the debug output of JVM compilation in KMP IC smoke tests
Tools. JPS
  • KT-63707 JPS: "Multiple values are not allowed for" caused by Compose
Tools. Kapt
  • KT-68145 K2 KAPT: missing $annotations methods for const properties and private properties without accessors
  • KT-67495 File leak in when building with kapt
  • KT-66780 K2 KAPT Kotlinc should exit with an exit code 1 (compilation error) if a Kapt task fails
  • KT-66998 K2 KAPT: Reimplement support for DefaultImpls
Tools. Scripts
  • KT-69296 scripting dependency resolution does not authenticate towards maven mirrors
  • KT-67575 FromConfigurationsBase script definition unexpected behaviour with regex from gradle templates
  • KT-67066 DeepCopyIrTreeWithSymbols does not copy IrScript nodes correctly
  • KT-67071 K2: ScriptCompilationConfigurationFromDefinition is not serializable
  • KT-67063 LauncherReplTest flaky on Windows
Tools. Wasm
  • KT-70220 K/Wasm: Upgrade NPM dependencies
  • KT-69245 K/Wasm: Remove warning of working-in-progress
  • KT-69154 K/Wasm: wasmJsBrowserProductionRun flaky crash with "WebAssembly.instantiate(): Import ... function import requires a callable"
  • KT-68930 K/Wasm: Production run doesn not use optimize task result
  • KT-67901 K/Wasm: Add kotlin-wasm-examples to CI
  • KT-67468 Gradle task build (allTests) fails on default web project
  • KT-67980 Wasm: Incorrect "Please choose a JavaScript environment to build distributions and run tests" when WASM is not configured
  • KT-67862 K/Wasm: Make usage of ChromeWasmGc an error

v2.0.10

Apple Ecosystem
  • KT-68257 Xcode incorrectly reuses embedAndSign framework when moving to and from 2.0.0
Compiler
Fixes
  • KT-69876 K2 Compile exception: Only IrBlockBody together with kotlinx serialization
  • KT-68521 K2: Property's private setters can be bypassed when using plusAssign and minusAssign operators
  • KT-68667 K2: Compiler hangs on mapNotNull and elvis inside lambda
  • KT-68747 K2: Long compilation time because of constraint solving when using typealias in different modules
  • KT-68940 K2: "IllegalArgumentException: All variables should be fixed to something"
  • KT-68797 K2 / Native: "java.lang.IllegalStateException: FIELD" caused by enabled caching
  • KT-68362 False-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED for inheritor of java class which directly implements java.util.Map
  • KT-68449 K2: "when" expression returns Unit
  • 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-68455 K2: False negative UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONS
  • KT-68538 KJS/K2: using while with break inside inline lambdas leads to an endless cycle
  • KT-68798 JVM compiler crashes on calling private expect constructor with a default parameter
  • KT-68734 K2: enum class in KMP: Expect declaration MMKVLogLevel is incompatible with actual MMKVLogLevel because modality is different
  • KT-68674 False positive ACTUAL_WITHOUT_EXPECT in K2
  • KT-68350 K2: "Inapplicable candidate(s)" caused by parameter reference of local class with type parameters from function
  • KT-68571 K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by exceptions and when statement
  • KT-68523 K2: FileAnalysisException when using Definitely non-nullable types
  • KT-68339 K2: "Enum entry * is uninitialized here" caused by lazy property with enum in when expression
  • KT-66688 K2: false-negative "upper bound violated" error in extension receiver
  • KT-68630 DiagnosticsSuppressor is not invoked with Kotlin 2.0
  • KT-68222 K2. KMP. False negative Expected declaration must not have a body for expected top-level property with getter/setter
  • KT-64103 FirExpectActualDeclarationChecker reports diagnostic error for KtPsiSimpleDiagnostic with KtFakeSourceElement
  • KT-68191 K2. Static fake-overrides are not generated for kotlin Fir2IrLazyClass
  • KT-68024 K2: Gradle repo test accessors to kotlin internal task types... fails on K2
  • KT-64957 K1: drop ModuleAnnotationResolver
Compose compiler
Native
  • KT-68094 K2/Native: Member inherits different '@Throws' when inheriting from generic type
Tools. Compiler Plugins
  • KT-69187 Compose compiler for web doesn't support rememberComposableLambda
  • KT-68557 K2. Supertypes resolution of KJK hierarchy fails in presence of allopen plugin
Tools. Compiler plugins. Serialization
  • KT-68850 Compose lambda type not transformed with KGP 2 + new Compose plugin
Tools. Daemon
  • KT-68297 KGP 2.0 regression: JAVA_TOOL_OPTIONS is not considered in Kotlin daemon creation
Tools. Gradle
  • KT-69330 KotlinCompile friendPathsSet property is racy due causing build cache invalidation
  • KT-69026 Mark AGP 8.5.0 as compatible with KGP
  • KT-68447 ill-added intentionally-broken dependency source configurations
  • KT-69078 Gradle: Add option to disable FUS Service
  • KT-68278 Spring resource loading in combination with java-test-fixtures plugin broken
  • KT-66452 Gradle produces false positive configuration cache problem for Project usage at execution time
  • KT-68242 Run tests against AGP 8.4.0
Tools. Gradle. Multiplatform
  • KT-68805 KMP project (re-)import took a long time for downloading platform libs
  • KT-68248 kotlin multiplatform project fail to build on Fedora with corretto
Tools. Gradle. Native
  • KT-68638 KGP 2.0 breaks native test with api dependencies and configuration cache
  • KT-65761 Missing JDK Platform ClassLoader when compiling Kotlin native in daemon
Tools. JPS
  • KT-69204 Generate lookups in dumb mode for compatibility with ref index
Tools. Kapt
  • KT-68171 K2KAPT: boxed return types in overridden methods changed to primitives
Tools. Scripts
  • KT-68681 K2 / CLI / Script: "NullPointerException: getService(...) must not be null" caused by @DependsOn
  • KT-67747 K2: regression in Spring unit tests using javax.script.ScriptEngine

v2.0.0

Analysis. API
New Features
  • KT-65327 Support reading klib contents in Analysis API
Performance Improvements
  • KT-65560 K2: Anaysis API: ContextCollector triggers redundant resolution in the case of file elements
  • KT-64987 Analysis API: 50GB memory allocation on creating empty kotlinx.collections.immutable.persistentMapOf
  • KT-61789 K2: optimize getFirForNonKtFileElement for references inside super type reference
  • KT-59498 K2: getOnAirGetTowerContextProvider took too much time due to on air resolve
  • KT-61728 Analysis API: optimize AllCandidatesResolver.getAllCandidates
Fixes
  • KT-65561 Analysis API: dummy.kt is not a physical file
  • KT-65616 K2: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus from STATUS
  • KT-65600 Analysis Api: FirFile for KtCodeFragments are created and not updated on changes
  • KT-64919 K2 IDE: Implement KMP support for sealed class inheritors
  • KT-64241 K2: Unresolved calls to functions in scripts depending on included projects
  • KT-65813 Analysis API Standalone: FirDeclarationForCompiledElementSearcher does not find compiled elements
  • KT-66052 AA: render expect/actual modifier
  • KT-66795 KtCodeFragment.clone() is broken
  • KT-66532 K2 CodeGen AA: missing annotation setup for function in source module but not in a compile target file
  • KT-64833 Analysis API: Members implemented by delegation have no overridden symbols
  • KT-62405 Analysis API: Symbols SUBSTITUTION_OVERRIDE have no overridden symbols
  • KT-66749 K2: "Collection contains no element matching the predicate" on an unresolved call
  • KT-62832 K2: ClassCastException: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus
  • KT-66719 AbstractGetKlibSourceFileNameTest: The dependency to ":native:analysis-api-klib-reader" breaks JPS compilation
  • KT-66603 Analysis API: support type annotations in KtPsiTypeProviderMixIn#asPsiType
  • KT-64505 Analysis API Standalone: Remove test-specific calculation of sealed class inheritors
  • KT-66013 Analysis API Standalone: Sealed inheritors aren't correctly calculated for source classes
  • KT-62880 K2 IDE: Unresolved java annotation methods in KDoc
  • KT-66530 K2: Analysis API: KtPsiTypeProvider#asKtType crashes on PsiClassType for Java type parameter with wrong use site
  • KT-65571 Support VirtualFile inputs to Analysis API modules
  • KT-66485 Substituted types are not provided for callable references
  • KT-66498 Analysis API: 'KtFe10SymbolDeclarationOverridesProvider' considers a class to be a subclass of itself
  • KT-64579 K2 IDE: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(Source) but FirArgumentListImpl found"
  • KT-65978 Analysis API: Use soft references in FileStructureCache
  • KT-64051 K2 IDE: Analysis API: Unresolved links to typealias in KDoc
  • KT-66189 K2 / IDE: KtFirExpressionTypeProvider bugs
  • KT-61422 K2 IDE: "No array element type for vararg value parameter: org.jetbrains.kotlin.fir.declarations.impl.FirValueParameterImpl"
  • KT-66276 K2: Analysis API: TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM false positive for script parameter
  • KT-66232 K2: Analysis API: cover ScriptWithCustomDefDiagnosticsTestBaseGenerated by LL FIR tests
  • KT-60996 K2: Stub Based Deserializer: Set versionRequirements to enable VERSION_REQUIREMENT_DEPRECATION diagnostics
  • KT-66306 K2: Analysis API: drop ability to enable global phase resolve lock
  • KT-55750 LL FIR: Implement multi-threaded resolve
  • KT-65563 Analysis API: Missing session component FirExpectActualMatchingContextFactory in LLFirLibrarySession
  • KT-66173 K2: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter' in array owner: LLFirLibrarySession
  • KT-66238 Gradle kotlin build scripts - a lot of unresolved symbols after latest changes in kotlin master
  • KT-65099 K2: Recursive local storage cache check for Fir2IrDeclarationStorage::createAndCacheIrPropertySymbols()
  • KT-65265 Analysis API: Add library session invalidation tests
  • 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-64528 K2 IDE: MPP: unregistered component 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'
  • KT-64921 K2 IDE: references in platform code resolve to expect classifier instead of actual
  • KT-61296 K2: do not resolve the entire file on lazyResolve call if FirFile is passed
  • KT-65683 Analysis API: Dangling file session creation causes a computeIfAbsent contract violation
  • KT-64884 K2 IDE. FP [NAMED_PARAMETER_NOT_FOUND] for copy method of library data class when class has not parameter-properties
  • KT-65763 K2: value parameter from library data class copy have RAW_FIR phase
  • KT-65665 Analysis API: support KtDelegatedSuperTypeEntry in KtFirExpressionInfoProvider.isUsedAsExpression
  • KT-62899 K2 IDE. IDE ignores @Suppress annotation for errors
  • KT-65655 Analysis API: KtCodeCompilationException should not strongly reference FIR sessions
  • KT-62302 Support PsiType -> KtType conversion
  • KT-64604 K2: IDE K2: "Modules are inconsistent during performance tests"
  • KT-65345 K2: unify FirDesignation and LLFirResolveTarget
  • KT-61757 K2 IDE: resolution to buitlins does not work for from common module
  • KT-65268 K2: Checking the presence of the delegated constructor call forces AST loading
  • KT-63330 Analysis API: Stub-based deserialized symbol providers provide unresolved enum entry annotation arguments
  • KT-65418 Analysis API: LLFirAbstractSessionFactory loads anchor module sessions eagerly
  • KT-64718 Analysis API: do not expose SealedClassInheritorsProvider and FirRegularClass to IDE Plugin
  • KT-65075 K2: getContainingDeclaration() is broken for declarations inside code fragments
  • KT-61332 Support KtTypeCodeFragment in PsiRawFirBuilder
  • KT-65150 AA: incorrect result from KtTypeProvider#getReceiverTypeForDoubleColonExpression for Java static method
  • KT-56551 LL FIR: implement parallel resolve for jumping phases
  • KT-65223 Psi: avoid KtFile usages
  • KT-65307 Analysis API FE10: support KtFe10AnalysisSessionProvider.getAnalysisSessionByUseSiteKtModule
  • KT-62695 K2 IDE: Unresolved extension functions in KDoc
  • KT-65152 Analysis API: KDoc references to packages are not fully resolved
  • KT-64988 K2 IDE: Navigation from the named argument in safe call does not work
  • KT-63195 AA: incorrect results from KtTypeProvider#getReceiverTypeForDoubleColonExpression
  • KT-64074 K2: Investigate LL divergence for Script.testTopLevelPropertyInitialization
  • KT-62441 K2: IDE K2: "No dangling modifier found"
  • KT-62895 K2 IDE. FP 'when' expression must be exhaustive with sealed interface from library
  • KT-64993 Analysis API: KtExpressionTypeProvider.getExpectedType works incorrectly for arguments of safe calls
  • KT-64883 Allow direct creation of KtCommonFile
  • KT-64646 K2: properly forbid ast loading during raw fir phase in tests
  • KT-64862 Psi: missed parenthesis in type reference presentation
  • KT-62893 K2 IDE. FP 'when' expression must be exhaustive with Java sealed interface from library
  • KT-63795 K2: lazyResolveToPhase(BODY_RESOLVE) cannot be called from a transformer with a phase BODY_RESOLVE from SealedClassInheritorsProviderIdeImpl
  • KT-64805 Analysis API: introduce common entry point for multi-file test cases
  • KT-64714 K2: Analysis API: CollectionsKt.map doesn't resolves from Java in kotlin repo
  • KT-64647 K2: Allow to calculate decompiled inheritors for sealed classes in tests
  • KT-64595 AA: stackoverflow while simplifying a type with a recursive type parameter
  • 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 K2: Analysis API: On-air resolve does not trigger resolution of delegated super call arguments
  • KT-64243 K2: proper lazy resolution for fake overrides
  • KT-62891 K2 IDE. FP [EXPOSED_FUNCTION_RETURN_TYPE] on overriding library method which returns protected type
  • KT-62667 K2: Cannot find enclosing declaration for KtNameReferenceExpression (on-air, imports)
  • KT-61890 Analysis API: Migrate KtFirScopeProvider to ContextCollector instead of onAirResolve
  • KT-64197 K2: Code fragments are only supported in JVM
  • KT-62357 K2 IDE. False positive on generated component methods and false negative on getter of @JvmRecord classes in Java
  • 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 K2 IDE. IDE infers reference to KMutableProperty as reference to just KProperty
  • KT-64584 K2: StubBasedFirDeserializedSymbolProvider: support deserialization of delegated declarations
  • KT-60324 K2 IDE: "NoSuchElementException: List is empty at JavaOverrideChecker#buildErasure"
  • KT-62896 K2 IDE. FP ABSTRACT_MEMBER_NOT_IMPLEMENTED on inheriting class from library which implements interface by delegation
  • KT-62947 Analysis API: Error while resolving FirPropertyImpl
  • KT-64468 Analysis API: Implement mixed multi-module tests which support different kinds of KtModules
  • KT-56541 Symbol Light Classes: No @NotNull annotations are generated for accessors of lateinit properties of unresolved types
  • KT-63547 K2 IDE. False Positive AMBIGUOUS_ANNOTATION_ARGUMENT
  • KT-64205 Analysis API: Do not import non-top-level callables by default
  • KT-63056 K2: Cannot mutate an immutable ImplicitReceiverValue on FirCodeFragment analysis
  • KT-64108 K2: KtFirSymbolDeclarationOverridesProvider shouldn't provide fake overrides
  • KT-63752 K2: java.lang.StackOverflowError FirFieldSymbol.getHasInitializer
  • 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-63627 K2 IDE: shorten reference shortens required qualifier
  • 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-62980 Implement KtFirSimpleNameReference#getImportAlias
  • 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-63058 K2 IDE: Code completion unexpectedly imports static/companion object method
  • 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-59334 K2: LLFirImplicitTypesLazyResolver problems
  • KT-62038 K2: Nested classes are missing in symbol light class structure tests for libraries
  • KT-61788 Analysis API: Symbol for FirAnonymousInitializer cannot be null
  • KT-62139 Analysis API: KtFe10AnalysisSession.createContextDependentCopy does not need validity check
  • KT-62090 Analysis API: introduce an API to get a substitution formed by class inheritance
  • KT-62268 K2 IDE. No autocompletion and IllegalStateException for Pair
  • KT-60325 K2 IDE. "IllegalArgumentException: source must not be null" on throw usage attempt
  • KT-61431 K2: KtPropertyAccessorSymbolPointer pointer already disposed for $$result script property
  • KT-58490 K2: LLFirTypeLazyResolver problems
  • KT-58494 K2: LLFirAnnotationArgumentsLazyResolver problems
  • KT-58492 K2: LLFirBodyLazyResolver problems
  • KT-58769 K2: LL FIR: implement platform-dependent session factories
  • 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-61245 Analysis API: ContextCollector provides incorrect context for supertype constructor calls
  • KT-60384 K2: Opening @JvmName source in IDEA: NPE at PsiRawFirBuilder$Visitor.toFirConstructor()
  • KT-60918 K2 IDE: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtDestructuringDeclarationEntry, fir is null"
  • KT-61013 K2 Scripts: LLFirReturnTypeCalculatorWithJump: No designation of local declaration
  • KT-59517 K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent
  • KT-61331 K2: add cache restoring in case of existing context
  • 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 SLC: a lot of RAM is allocated in org.jetbrains.kotlin.asJava.LightClassUtil.isMangled
Fixes
  • KT-66692 SLC: findAttributeValue for attribute w/ default value in Java returns null
  • KT-61734 SLC: wildcard suppression not honored
  • KT-65112 Symbol Light Classes don't support annotations on type parameters
  • KT-65843 K2: Light method returns kotlin.Unit type for TestResult return type
  • KT-65653 SLC: wrong binary resolution to function with value class
  • KT-65393 SLC: missing deprecated-hidden property
  • KT-64772 SLC: presence of source PSI for compiler-generated declaration
  • 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 SLC: internal setters are not mangled
  • KT-63949 K2 IDE. Analyze hang on @Autowired constructor analysis
  • KT-63087 K2 IDE: in .java source reference to JvmName names on unsigned type / value class are unresolved
  • KT-64605 K2 IDE: usage of @Repeatable annotation in Java: false positive "Duplicate annotation"
  • KT-64795 SLC: distinguish last v.s. non-last vararg value parameter type during binary resolution
  • KT-61605 K2 IDE: Light elements do not obey platform contracts
  • KT-57536 SLC: no need to populate members with expect modifier
  • KT-64320 Decouple kotlin psi from java PSI
  • KT-64282 Decouple KotlinIconProviderService from java PSI
  • KT-63552 Symbol Light Classes don't support arrayOf and similar without parameters in property initializers and default parameter values
Apple Ecosystem
  • KT-64096 Diagnostic when embedAndSign used for framework with cocoapods-dependencies
  • KT-63821 Copy framework to BUILT_PRODUCTS_DIR in the embedAndSign task
  • KT-67892 KotlinNativeLink task instantiates with a fixed list of apiFiles
  • KT-66446 Diagnostic never showed, and build fails when CocoaPods dependency is used with embedAndSign task and linking type is dynamic
  • KT-66445 Diagnostic never showed when CocoaPods dependency is used with embedAndSign task and linking type is static
  • KT-62373 "Xcode higher than tested" diagnostic
  • KT-63212 podInstall task fails without a proper diagnostic when xcodeproj gem is outdated
Backend. Native. Debug
  • KT-65553 K2: Native: kt42208WithPassingLambdaToAnotherFunction test fails with K2
  • KT-57365 [Native] Incorrect debug info on inline function call site
Backend. Wasm
New Features
  • KT-65009 Generate TypeScript definitions for the @JsExport declarations in K/Wasm
  • KT-58088 [PL] Support & enable partial linkage for Wasm
  • KT-66327 Include information about particular Wasm target into KLib manifest
Fixes
  • KT-66465 WASM support doesn't appear to be able to see some common declarations
  • KT-66905 K/Wasm: support new version of exception handling proposal
  • KT-66515 Wasm: "call param types must match" during the build
  • KT-67435 K/Wasm: import.meta.url transforming into absolute local path in webpack
  • KT-65777 Implement named export for Kotlin/Wasm
  • KT-65660 [WasmJs] Support catching JS exceptions
  • 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-60828 K/Wasm: return br_on_cast_fail usages
  • KT-59084 WASM: "RuntimeError: illegal cast" caused by inline class and JsAny
  • KT-60700 [WASM] test FirWasmCodegenBoxTestGenerated.testSuspendUnitConversion failed after KT-60259
Compiler
New Features
  • KT-24664 No smartcast on stable property if receiver had non-null assertion
  • KT-45375 Generate all Kotlin lambdas via invokedynamic + LambdaMetafactory by default
  • KT-23915 Add smart cast to non-nullable type after elvis operator
  • KT-61077 Support provideDelegate inference from var property type
  • KT-59688 K2: consider removing smartcasts only from the only visibile property with specific name, not from all of them
  • KT-7389 Intersection type for type parameter with multiple upper bounds in star projection
  • KT-63477 Consider supporting builder-style type inference from Unit coercion of last statements in lambdas
  • KT-61907 K2: builder inference works with assignments to member properties
  • KT-61909 K2: builder inference infers correct types from assignments to extension properties
  • KT-59551 K2: builder inference works with anonymous functions if builder parameter has a receiver with a postponed type variable
  • KT-65443 [K/N] Implement header caches
  • KT-4113 Smart casts for properties to not-null functional types at invoke calls
  • KT-65681 K2: Improve error message of UPPER_BOUND_VIOLATED when upper bound is a captured type or other non-denotable type
  • KT-32754 Choose existing extensions over additional built-ins members from JDK except overrides
  • KT-57800 Support synthetic properties on super receiver
  • KT-64350 K2: deprecate using typealias as a callable qualifier in imports
  • KT-26565 Choose existing extensions over additional built-ins members from JDK
  • KT-65478 JVM: Change inlined variable naming format
  • KT-64702 Upper bound of type parameter is ignored when capturing of in-projection appears in out position
  • KT-60274 K2: builder inference works through a delegated local variable inside builder argument
  • KT-65859 Calls refinement extension point
  • KT-15220 Reuse resolution results of common code for platform modules in multiplatform projects
  • KT-60476 K2: False positive NO_VALUE_FOR_PARAMETER in platform code for value class with default parameter in common declaration
  • KT-65153 K/N: extract liveness analysis to a separate phase
  • KT-59098 Support -Xjdk-release=1.6/1.7 with -jvm-target 1.8
  • KT-63670 Implement platform specific declaration clash diagnostics across all backends
  • KT-62547 Introduce a language feature flag for smartcasts based on "memory" variables
  • KT-60820 K1: Empty vararg value is inserted in serialized annotation call with expect default vararg value
  • KT-58172 Forbid expect class A actual constructor
  • KT-54443 Smart cast to non-null after safe-call in require
  • KT-25747 DFA variables: propagate smart cast results from local variables
  • KT-22997 Smart-cast should merge is-check for non-nullable type and a null check to a nullable type
  • KT-22996 Smart casts should observe nullability after is-check with a nullable subject type
  • KT-22004 Allow to resolve CONFLICTING_OVERLOADS with Deprecated(HIDDEN)
  • KT-61955 Support more wider actual member visibility, if the expect member is effectively final
  • KT-59504 K2 compiler does not require resolved 'componentX' functions for the placeholder ('_') variables in the destructuring declarations
  • KT-62239 Allow enum entries without parentheses uniformly
  • KT-11712 Smart cast is not applied for invisible setter
Performance Improvements
  • KT-47545 NI: Slow type inference involving large when-expression (ConstraintInjector.processConstraints)
  • KT-62714 Do not add nullability annotations to the methods of inner classes in enum entries
  • KT-62903 Unoptimzied when compilation
  • KT-67388 FP intellij: performance degradation in build 611
  • KT-67507 K2: Slow compilation times when a class has a lot of possibly conflicting declarations
  • KT-65005 K2: Investigate testCommonSuperTypeContravariant performance
  • KT-65996 Compiler enters endless loop
  • KT-66341 K2: Don't build IdSignatures in FIR2IR with IR f/o builder
  • KT-66172 K2: Improve memory consumption of KtPsiSourceElement
  • KT-50860 Combination of array set convention and plusAssign works exponentially
  • KT-62798 'in' range checks are not intrinsified in kotlin-stdlib
  • KT-65579 K2: performance regression in FP Space
  • KT-61635 K2: getConstructorKeyword call in PsiRawFirBuilder.toFirConstructor forces AST load
  • KT-62619 FIR: Checker performance regression due to MISSING_DEPENDENCY checkers
  • KT-62044 Do not add nullability annotations to the methods of anonymous class
  • KT-62706 Optimize KtSourceElement.findChild()
  • KT-62513 Do not add nullability annotations to the methods of local classes
  • KT-61991 K2: avoid redundant full body resolution for properties during implicit type phase
  • KT-61604 [K/N] Bitcode dependency linking is slow for large compilations
  • KT-61121 [K/N] Kotlin Native compiler performance is slow when generating large frameworks
  • KT-57616 K2: Consider optimizing reversed versions of persistent lists in FirTowerDataContext
Fixes
  • 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-64615 Inconsistent error messages for platform type nullability assertions
  • KT-65062 K2: build kotlinx.collections.immutable and pass to CI
  • KT-68164 Smart cast fails for KT-49404
  • KT-56545 Fix incorrect functions mangling in JVM backend in case of accidental clashing overload in a Java subclass
  • KT-49404 Fix type unsoundness for contravariant captured type based on Java class
  • KT-64598 K2: build Arrow with k2 user project
  • KT-61039 False positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in K1 when expect actual super types scopes don't match
  • KT-56408 Inconsistent rules of CFA in class initialization block between K1 and K2
  • KT-63580 "AssertionError: access of const val: GET_FIELD" caused by const value and variable with delegation
  • KT-67993 K2: PCLA Inference throws exception with local objects
  • KT-61768 Wrong bytecode index in LineNumberTable when there is an incremental operation
  • KT-63567 "NoSuchMethodError" on getting value of lazily initialized property by companion's const value
  • KT-56078 K2: build kotlinx.coroutines
  • KT-67609 K2: False negative INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERROR
  • KT-57750 Report ambiguity error when resolving types and having the same-named classes star imported
  • KT-65603 K2: No approximation is done on public, but effectively private property
  • KT-59932 K2: Disappeared AMBIGUOUS_ANONYMOUS_TYPE_INFERRED
  • KT-59906 K2: Disappeared CAPTURED_VAL_INITIALIZATION
  • KT-53886 NoSuchMethodError exception in Kotlin/Native compiler
  • KT-57678 K2: Inconsistency in how K2 analyzes unresolved code for loops and changing closures
  • KT-57871 K1/K2 inconsistency on if-conditional without else-branch in parenthesis
  • KT-56384 K2: build IntelliJ monorepo master branch
  • KT-49191 Leaked integer literals from lambda with flexible return type
  • KT-65812 K2: "OutOfMemoryError: Java heap space" in kotlin.utils.SmartList.add
  • KT-67224 K2/Native: Member overrides different '@Throws' filter from separate module
  • KT-65623 K2: Unresolved reference in connection with casts
  • KT-64136 K2: NSME with Anvil compiler plugin
  • KT-51241 Provide a error when override method has different set of context receivers
  • KT-52920 Confusing "Multiple arguments applicable for context receiver" error message
  • KT-67912 K2: Cannot inference type properly from inline function with Type parameter
  • KT-68056 Prohibit referencing java field in case of conflict with property from companion object of the derived class
  • KT-61129 K2: Implement error suppression warning
  • 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 Fix DUPLICATE_LABEL_IN_WHEN warning with new rules of complex boolean constants
  • KT-45334 Prohibit referencing constructors of sealed classes by its inner members
  • KT-59943 K2: Disappeared OPERATOR_MODIFIER_REQUIRED
  • 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-66527 K2: type mismatch on override for type
  • KT-59897 K2: Disappeared PACKAGE_OR_CLASSIFIER_REDECLARATION
  • KT-50020 K2: False-negative USAGE_IS_NOT_INLINEABLE when lambda in receiver position
  • KT-44557 Implement main function detection to FIR
  • KT-67810 K2: public-API inline function cannot access non-public-API annotation enum
  • KT-66447 Implement KT-59138 under a language feature
  • KT-54862 Anonymous type can be exposed from private inline function from type argument
  • KT-37592 Property invoke of a functional type with receiver is preferred over extension function invoke
  • KT-51194 False negative CONFLICTING_INHERITED_MEMBERS when dependency class contained in two different versions of the same dependency
  • KT-67221 K2: "new inference error [NewConstraintError at Incorporate TypeVariable" for captured type
  • KT-66701 K2: Java interface method override via Kotlin class rejected
  • KT-60604 K2: introduced NON_PUBLIC_CALL_FROM_PUBLIC_INLINE, @PublishedApi needed for constants in annotations
  • KT-64309 Generate a variable mapping for continuation parameter in suspend methods just from the start
  • KT-65438 K2: Introduce WEAKLY_HIDDEN concept to built-in-JDK content mapping
  • KT-65235 JDK 21 might lead to change in overloads resolution
  • KT-66768 K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast call
  • KT-67106 Platforms libs-dependant autotests for ObjC checkers
  • KT-65440 K2: Mark all potential implementations of List.getFirst()/getLast() as deprecated independently of JDK
  • KT-65594 K2: Type inference fails on NullMarked object with star type
  • KT-62849 Unoptimised bytecode for Java synthetic property references
  • KT-60174 JVM IR inline: accidental reification in various cases
  • KT-57609 K2: Stop relying on the presence of @UnsafeVariance using for contravariant parameters
  • KT-54316 Out-of-call reference to companion object's member has invalid signature
  • KT-66976 Some value class diagnostics are missed
  • KT-57426 Incorrect error message on inapplicable smartcast from alien property
  • KT-55111 OptIn: forbid constructor calls with default arguments under marker
  • KT-49856 Incorrect smartcast on var assigned in try-catch block
  • KT-41237 ReturnsImplies contract for receiver of member function does not work (no smartcast)
  • KT-37878 No Smart cast for class literal reference of nullable generic type
  • KT-35846 Smart cast with unchecked cast leads to unresolved call that was resolved before (both old and new inference)
  • KT-30867 Unsound smartcast if smartcast source and break is placed in for-in header as function arguments
  • KT-30267 Inconsistent smart casts in while (true)
  • 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-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-22621 "throw throw Exception()": False negative UNREACHABLE_CODE warning
  • KT-22317 No INITIALIZATION_BEFORE_DECLARATION without primary constructor
  • KT-67307 K2: "Cannot find cached type parameter by FIR symbol" in JpaRepository.saveAll
  • KT-67185 K2: Incorrect coercion-to-Unit leading to CCE at runtime
  • KT-64891 K2: consider supporting/forbidding foo.(bar)() syntax
  • KT-59480 K2: build moko-resources
  • KT-65771 K2: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" when calling method imported using typealias as callable qualifier
  • KT-67502 K2: "property must be initialized or be abstract" with try-finally in secondary constructor
  • KT-67456 K2: "property must be initialized or be abstract" depending on constructor declaration order
  • KT-63524 K2: "Not enough information to infer type argument"
  • KT-67628 K2: "IllegalArgumentException: Expected nullable type" — alias of nullable type analyzed as non-nullable in type parameter
  • KT-67625 K2: Array aliases can't be used as vararg values
  • KT-67624 K2: False negative "The feature "break continue in inline lambdas" is experimental and should be enabled explicitly" in elvis operator
  • KT-61787 K2 doesn't report warnings for some Gradle tasks
  • KT-62550 K2: Different JVM signature of lambda with Unit return type
  • KT-65120 K2 Consider turn into platform checkers ones which checks for objC
  • KT-60271 K2: origins are not set on compare operators
  • KT-28695 Compiler does not detect uninitialized property in lambda
  • KT-67593 K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERS
  • KT-67484 K2: FIR2IR generates incorrect access to f/o of lateinit internal var
  • KT-47382 JVM / IR: "AssertionError: Unbound private symbol IrFieldSymbolImpl" caused by string template in constructor and extension property
  • KT-67581 K2: Compiler fails on actualizing abstract class with sealed Java class via type alias
  • KT-22379 Condition of while-loop with break can produce unsound smartcast
  • KT-67021 K2: Cannot find cached type parameter by FIR symbol: E of the owner: FirRegularClassSymbol Function
  • KT-67014 K1/K2 handle when expression as annotation target differently
  • KT-67254 K1/K2 both allow annotations on loops, assignments, array sets
  • KT-66960 K2. KMP. False negative 'when' expression must be exhaustive without sealed class inheritor from common source-set
  • KT-65578 K2: implement a deprecation warning for KT-57014 (wrong nullability returned from JDK SAM constructor lambda)
  • KT-63466 @NonNull on a type-variable usage doesn't take precedence over a wildcard type argument
  • KT-56134 K2: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER diagnostic is reported for the wrong symbol
  • KT-66196 Convert INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERROR to warning
  • KT-66793 K2: "assigning single elements to varargs in named form is prohibited." caused by varargs supplied from java with elvis operator
  • KT-59872 K2: Disappeared TYPE_MISMATCH
  • KT-67192 K2: Disappeared TYPE_MISMATCH [3]
  • KT-63319 K1/K2: inconsistent behavior around NullMarked and type parameter based types
  • KT-59882 K2: Disappeared CANNOT_INFER_PARAMETER_TYPE
  • KT-67191 K2: Disappeared TYPE_MISMATCH [4]
  • KT-53752 Missed subtyping check for an intersection type
  • KT-52628 Deprecate SAM constructor usages which require OptIn without annotation
  • KT-54066 Deprecate upper bound violation in typealias constructors
  • KT-64860 K2: Consider using different ConstraintPosition when fixing variables for PCLA
  • KT-67189 K2: Disappeared TYPE_MISMATCH [5]
  • KT-67551 K2: No wrong annotation target error for for statement
  • KT-67374 K2: Object is not smartcasted to type parameter type
  • KT-67264 K2: "argument type mismatch" with suspend lambda and java wildcard
  • KT-63257 K2: FIR2IR inserts incorrect implicit cast for smartcasted variable
  • KT-66902 K2: "Named arguments are prohibited for non-Kotlin functions" with Java interop
  • KT-67311 K2: "Argument type mismatch" caused by lambda type when using named arguments
  • KT-57011 Make real type of a destructuring variable consistent with explicit type when specified
  • KT-62043 K2: Fix FirCompileKotlinAgainstCustomBinariesTest.testRawTypes
  • KT-66256 K2: compiler FIR2IR crash on SAM-conversion to value parameter of in-projected type
  • KT-67124 "Unstable inference behaviour with multiple generic lambdas" compilation error
  • KT-59791 K2: Implement partially constrained lambda analysis
  • 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-60732 K2 Scripting: TeamCity DSL test
  • KT-59467 K2: build toolbox-enterprise
  • KT-67205 K2: can't deserialize annotation with local class as argument
  • KT-52175 K2: WRONG_ANNOTATION_TARGET for annotation that used inside if
  • KT-65449 K2: build KAPT user project and pass it to CI
  • KT-61384 IrFakeOverrideBuilder incorrectly checks visibility for friend modules
  • KT-67142 K2: IrFakeOverrideBuilder: AbstractMethodError on raw type argument in a Java superclass
  • KT-65105 K2 / Native: Member overrides different '@Throws' filter
  • KT-62570 IncompatibleClassChangeError due to overriding final method
  • KT-57812 K2: support serialization of type annotation's arguments
  • KT-67190 K2: Disappeared TYPE_MISMATCH [2]
  • KT-56683 K2: No control flow analysis for top-level properties
  • KT-67188 K2: Disappeared TYPE_MISMATCH [6]
  • KT-62063 K2: drop pre-release flag in 2.0-RC
  • KT-67187 K2: Disappeared TYPE_MISMATCH [1]
  • KT-66909 K2: Implement a diagnostic for returning null from a lambda with expected return type Unit!
  • KT-66534 False positive ASSIGNMENT_TYPE_MISMATCH in lambdas with expected return type Unit!
  • KT-63381 IrFakeOverrideBuilder: PublishedApi affects overridability of internal members
  • KT-63836 K2: No deprecation error message in common metadata compilation
  • KT-57618 K2: complex deprecation messages are not printed in the error
  • KT-59856 K2: Check ConeDiagnostics that are not mapped to KtDiagnostics
  • KT-57502 K2: Smart casts should be forbidden if variable that remembers the smart cast is declared by delegation
  • KT-63967 K2: Missing getterSignature in metadata for script variables
  • KT-59372 K2: Missing SELF_CALL_IN_NESTED_OBJECT_CONSTRUCTOR_ERROR
  • KT-60526 K2: Fix the TODO in convertToIr.kt
  • KT-67090 K2: Exception from metadata compilation when compiling class with annotations from dependencies
  • KT-59479 K2: build KorGE
  • KT-64502 K2: Internal error on calling function before declaration
  • KT-62560 K2: KAPT4: annotation @ReplaceWith is missing a default value for the element 'imports'
  • KT-67027 K2: Review all use-sites of annotation arguments utilities
  • KT-65012 IR Evaluator: NoSuchFieldException when evaluating protected/private fields of superclasses
  • KT-66953 K2: toByte() call on Char leads to ClassCastException for klib backends
  • KT-60096 K2: Introduced API_NOT_AVAILABLE
  • KT-59484 K2: build trustwallet sample
  • KT-64151 K2: consider implementing FIR-level constant evaluation
  • KT-65787 K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType" caused by passing lambda expression with multiple labels to function
  • KT-53629 K2: forbid multiple labels per statement
  • KT-65255 K2 / KJS: "IllegalArgumentException: Candidate is not successful, but system has no contradiction"
  • KT-65195 K2: Unexpected exception when executing dynamic array element inc/dec
  • KT-63416 K2 / Contracts: False positive "Leaked in-place lambda" warning caused by suspend lambda with callsInPlace contract
  • KT-66717 Incorrect diagnostics around intersection property overrides
  • KT-63540 Restrict the CONFLICTING_OVERLOADS + DeprecatedLevel.HIDDEN ignore to final callables
  • KT-56587 There are no warnings in some cases when Enum.entries is shadowed
  • KT-65111 K2: Java star imports don't work in KJK interdependencies
  • KT-63709 K2: Argument smartcasting impacting receiver and call resolution for implicit invoke
  • KT-63530 K2: Disable passing data flow info from in-place lambdas
  • KT-65377 K2: "Argument type mismatch" caused by approximated captured type argument of generic type
  • KT-59400 K2: Missing CANNOT_INFER_VISIBILITY
  • KT-62305 K2: Missing Fir metadata serialization support for scripts
  • KT-64534 K2: org.jetbrains.kotlin.util.FileAnalysisException: Somewhere in file
  • KT-57555 [LC] Forbid deferred initialization of open properties with backing field
  • KT-65776 [LC] K2 breaks false && ... and false || ...
  • KT-64641 K2: Change in inference of supertype of function types with receiver
  • KT-65649 K2: IR has incorrect origins for some inplace updating operators
  • KT-64295 Forbid recursive resolve in case of potential ambiguity on upper tower level
  • KT-62866 K2: Change qualifier resolution behavior when companion object is preferred against static scope
  • KT-55446 Change impact of private-to-this visibility to resolution
  • KT-64255 Forbid accessing internal setter from a derived class in another module
  • KT-64966 Forbid generic delegating constructor calls with wrong type for generic parameter
  • KT-63389 K2: WRONG_ANNOTATION_TARGET is reported on incompatible annotations of a type wrapped into ()?
  • KT-66748 K2: False-positive AMBIGUOUS_SUPER in toString
  • KT-67013 K2: ClassCastException: class FirConstructorSymbol cannot be cast to class FirNamedFunctionSymbol
  • KT-64872 K2: do-while condition able to access uninitialized variable
  • KT-66350 K2: "IllegalStateException: Unsupported compile-time value STRING_CONCATENATION" when evaluating an annotation argument string
  • KT-61798 K2 incorrectly calculates modality of property accessors
  • KT-65035 IrFakeOverrideBuilder: AbstractMethodError on inheritance from Java subclass of CharSequence with inherited implementations
  • KT-61579 K2: Inconsistent reporting UNINITIALIZED_VARIABLE for top-level properties
  • KT-66730 K2: False positive RETURN_TYPE_MISMATCH in return statement in SAM constructor
  • KT-66570 Generic wildcard upper bound inference error
  • KT-65272 K2: invoke operator applies "restricted suspending call" error differently than K1
  • KT-66148 K2. Sources of receivers updated twice because of PCLA
  • KT-62525 K2: IllegalStateException: Can't find KotlinType in IrErrorType: IrErrorType(null)
  • KT-64266 K2: don't report MISSING_DEPENDENCY_CLASS on lambda parameter for non-generic types
  • KT-65300 K2: this-expressions in initializers and local declarations don't introduce type information to either BI or PCLA
  • KT-66463 K2: false positive ACCIDENTAL_OVERRIDE_CLASH_BY_JVM_SIGNATURE
  • 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-66767 K2: Destructuring declaration inside initializer failure
  • KT-63695 JVM: Don't use plugin extensions when compiling code fragment
  • KT-65727 K2: add proper package for properties generated from destructuring declarations
  • KT-64854 K2: Trying to access private field on runtime with contracts
  • KT-65388 IrFakeOverrideBuilder - custom annotation is available in fake getter/setter
  • KT-66595 K2: compiler FIR checking crash on destructuring declarations calling hidden componentN declarations
  • KT-62129 K2: Verification error on calling an extension from an env with 2+ context receivers
  • KT-41607 NI: UNSAFE_CALL caused by try catch block assigning to a nullable variable
  • KT-63932 K2/Native codegen test failures around builder inference
  • KT-66352 K2: difference between LL FIR and FIR for componentN functions
  • KT-66686 K2 Script: Unresolved reference of script-specific entities on out-of-order resolve
  • KT-65523 K2: add proper package for result$$ property
  • KT-66699 Restore HostManager ABI
  • KT-60533 Inliner incorrectly captures non-null value as null in coroutines
  • KT-57925 K2: Consider removing FirEmptyContractDescription
  • KT-61893 K2: should not resolve to Java function with Kotlin hidden-level deprecation
  • KT-59669 K2: Explore assignments in in-place lambdas
  • KT-66271 Fir: Deserialize classFile, functionFile and propertyFile from KlibMetadataProtoBuf
  • KT-57957 K2: Symbol providers are frequently queried with error-named class IDs
  • KT-66046 K2: false negative CANNOT_WEAKEN_ACCESS_PRIVILEGE on property
  • KT-66677 K2: OVERRIDE_DEPRECATION isn't reported for WEAKLY_HIDDEN method toArray()
  • KT-62793 K2: slightly different bytecode of suspend conversions
  • KT-57244 K2: slightly different naming scheme for suspend conversion adapters
  • KT-60256 K2: types are not substituted in suspend conversion
  • KT-66673 K2/JS: FirJsInheritanceClassChecker doesn't expand type aliases to supertypes
  • KT-66475 K2/KMP/Wasm: report WRONG_JS_INTEROP_TYPE from a platform checker
  • KT-66474 K2/KMP/JS: report EXTERNAL_TYPE_EXTENDS_NON_EXTERNAL_TYPE from a platform checker
  • KT-66473 K2/Wasm: FirWasmExternalInheritanceChecker doesn't expand type aliases
  • KT-64407 Implement WriteSignatureTestGenerated for K2
  • KT-64438 K2: Port CodegenTestCase to K2
  • KT-64404 Implement WriteFlagsTestGenerated for K2
  • 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-59470 K2: build KaMPKit
  • KT-60510 Smartcast to functional type does not work in when exprssion
  • KT-59677 K2: Report diagnostics about missing receiver for delegated constructor call to inner class
  • KT-65183 K2: Remove workaround for @OnlyInputTypes and captured types with recursive supertypes from inference
  • KT-66120 IrFakeOverrideBuilder: wrong return type in intersection with 3 classes
  • KT-65939 IrFakeOverrideBuilder - nullability annotation is lost in intersection without annotation
  • KT-59473 K2: build firebase-kotlin-sdk
  • 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-59475 K2: build nowinandroid
  • KT-65926 K2: add tests for all fixed-in-k2 / not-reproducible-in-k2 unresolved issues
  • KT-59481 K2: build aws-sdk-kotlin + smithy-kotlin
  • 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-60106 K2: Introduced REIFIED_TYPE_FORBIDDEN_SUBSTITUTION
  • 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 K2: Module "com.soywiz.korlibs.kmem:kmem" has a reference to symbol korlibs.memory/Buffer|null[1]
  • KT-57427 Fix inconsistencies in name manglers that use different declaration representations
  • KT-66258 K2: accessor-targeted @Suppress annotation is ignored on primary constructor property
  • KT-29559 Smart Cast functionality doesn't behave in an expected way in all cases
  • KT-60777 K2: missing INLINE_FROM_HIGHER_PLATFORM
  • 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-60797 K2: implement JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE
  • KT-28159 Smartcasts don't work with Nothing? values (Nothing? considered a null constant => an unstable value)
  • KT-28262 Smartcasts for reference equality don't work if explicit true check is used
  • KT-66000 K2: inherited inline getter has not been inlined
  • KT-66158 K2: not nullable return type for upper-bounded kotlin type parameter in KJK hierarchy
  • KT-57268 K2: extra methods remove and/or getOrDefault are generated for Map subclasses with JDK 1.6 in dependencies
  • KT-63577 K2: false-positive "wrong number of type arguments" error on callable reference to member of generic function's local class
  • KT-62352 jspecify NonNull annotation seems not supported
  • KT-65636 PowerAssert: Negative contains operator not aligned correctly in K2
  • KT-64271 K2: Wrong overriddenSymbols for toString of data class
  • KT-62779 K2: Difference in fake override generation
  • KT-61941 K2: FIR2IR incorrectly generates f/o structure for complex java/kotlin hierarchies with remapped jvm declarations
  • KT-60283 K2: fake override for java static method is not generated
  • KT-65095 K2: no bridge generated for getOrDefault when inheriting from Java Map implementation
  • KT-57301 K2: getOrDefault and bridges are not generated for certain Map subclasses
  • KT-50916 K2: store resolved type inside ConeStubType after builder inference
  • KT-65857 K2: java.lang.IllegalArgumentException: Unknown visibility: unknown
  • KT-66174 -Xjdk-release 6 and 7 have a misleading error message
  • KT-66175 Wrong supported options list for -jvm-target compiler option
  • KT-58814 Too eager subtype inference in when expression
  • KT-65408 K1: "There are still 2 unbound symbols after generation of IR module" caused by data object's copy function usage
  • 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 K2: Tests: Assert no dump files exist when dump directive isn't present
  • KT-63258 NPE with function reference from within lambda during init
  • KT-60597 K1: IllegalArgumentException: fromIndex(0) > toIndex(-1) when wrapping receiver with backticks
  • KT-33108 USELESS_CAST false positive for cast inside lambda
  • KT-58458 K1: "java.lang.NullPointerException" with 'var equals' or 'val equals' as argument in when
  • KT-58447 K1: "AssertionError: Recursion detected on input" with @ParameterName and extension
  • KT-41013 OVERLOAD_RESOLUTION_AMBIGUITY for functions takes lambda: can not resolve it, but only named lambda parameter
  • KT-56032 [LC issue] Incorrect wrapping when passing java vararg method to inline function
  • KT-65588 K2: typealias of primitive type in vararg causes ABI incompatibility
  • KT-23873 Indexed access operator can cause false USELESS_CAST warning
  • KT-31191 Contract not smartcasting for extension functions in if-statement with multiple conditions
  • KT-28725 ReenteringLazyValueComputationException during resolution & inference
  • KT-35429 ReenteringLazyValueComputationException when accessing property with same name
  • KT-63826 K2: expect for expect crashes the compiler
  • KT-25668 False-positive error on restricted suspending function call with callable reference
  • KT-18055 SMARTCAST_IMPOSSIBLE on mutable data class variable with a read-only property
  • KT-15904 Improve error message when type of generic extension call is inferred from receiver
  • KT-66186 K1 diagnostics miss some reporting messages
  • KT-65101 Generics behaving different when parenthesized
  • KT-63444 TYPE_MISMATCH caused by Inner class with nullable type and star projection
  • KT-62022 K1 False positive EXPOSED_FUNCTION_RETURN_TYPE on generics with anonymous object types
  • KT-58751 Definitely non-nullable type gets lost with star projection
  • KT-56624 "Unresolved reference" with import alias and enum constructor call
  • KT-54726 K1: StackOverflowError on mutually recursive typealiases
  • KT-35134 False negative INCOMPATIBLE_TYPES, EQUALITY_NOT_APPLICABLE when comparing smartcast value to Boolean
  • KT-20617 Qualified this@property does not work in extension properties with body expression
  • KT-10879 OVERLOAD_RESOLUTION_AMBIGUITY for synthetic property accessor with smartcasted receiver
  • KT-26768 K1 IDE: False positive "Smart cast to '$CLASS$' is impossible", on local variable in run closure
  • KT-63525 K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by unreachable code
  • KT-65333 K2: UNRESOLVED_REFERENCE for java inner class in intersection scope
  • KT-61060 K2: Rewrite delegate inference
  • KT-63712 Make it possible to add new stdlib API with SinceKotlin(2.0)
  • KT-63741 K2: fix visibility inference with overridden + inherited member
  • KT-64488 K2: False positive DEPRECATED_ACCESS_TO_ENTRY_PROPERTY_FROM_ENUM with context receivers
  • KT-62283 K2: build Dokka with K2 user project and pass it to CI
  • KT-57585 K2/MPP: false-negative errors on expect/actual modifiers mismatch
  • KT-66077 IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKinds
  • KT-57044 K2 LL Tests: false-positive 'Overload resolution ambiguity between candidates: [@Override() fun test(): Unit , fun test(): Unit]'
  • KT-66020 K2: ISE "IrPropertySymbolImpl is unbound. Signature: null" on a property with getter with @JvmName
  • KT-62135 K2, KLIB: Classes are still sorted before serializing them to metadata
  • KT-65866 [K/N] Fix java.lang.IllegalArgumentException: Unknown visibility: unknown
  • 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-65937 K2: order of enum entries changed
  • KT-65933 K2: Type missmatch in arrays in annotations
  • KT-65343 JVM IR: Source parameter is lost when copying with DeepCopyIrTreeWithSymbols
  • KT-65103 K2: IllegalArgumentException: IrErrorCallExpressionImpl(5388, 5392, "Unresolved reference: R?C|/cont|") found but error code is not allowed
  • KT-62788 K2: difference in annotation inheritance in overriddings
  • KT-65669 K2: ClassCastException class FirDeclarationStatusImpl cannot be cast to class FirResolvedDeclarationStatus
  • KT-65493 IrFakeOverrideBuilder: difference in return type for intersection with raw type
  • KT-65207 IrFakeOverrideBuilder - nullable return type for intersection override
  • KT-65972 Fix problems related to Unknown visibility in [FP] intellij
  • KT-65246 K2: Overiding java method that takes vararg parameter causes WRONG_NULLABILITY_FOR_JAVA_OVERRIDE warning
  • KT-59883 K2: Disappeared INVALID_IF_AS_EXPRESSION
  • KT-57300 K2: subclass of MutableCollection with primitive element type has methods with boxed type
  • KT-58476 Context receivers: "No mapping for symbol: VALUE_PARAMETER" with context-receiver inside suspended lambda calling another suspended function
  • KT-52213 Context receivers: "No mapping for symbol: VALUE_PARAMETER" caused by contextual suspending function type with receiver
  • KT-13650 Right-hand side of a safe assignment is not always evaluated, which can fool smart-casts
  • KT-61823 K2: Render list of declarations in diagnostic messages with linebreak as separator
  • KT-65302 IrFakeOverrideBuilder - missing @EnhancedNullability
  • KT-65241 K2: [LT] Compiler crash on assignment expression with incorrect lvalue
  • KT-60006 K2: Disappeared EXPRESSION_EXPECTED
  • KT-65817 K2: Check if callable reference vararg adaption can be affected by primitive type aliases
  • KT-62847 K2: Introduce FIR node for SAM conversion
  • KT-65920 K2: no field for delegation is created
  • 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-65770 K2: Diagnostic rendering of vararg Foo parameter produces vararg Array<Foo>
  • KT-65555 K2: must override 'spliterator' because it inherits multiple implementations for it
  • KT-59921 K2: Disappeared NULL_FOR_NONNULL_TYPE
  • KT-65290 K2: No override for FUN DEFAULT_PROPERTY_ACCESSOR
  • KT-19446 False positive "Smart cast to 'Foo' is impossible" due to same variable names in different closures
  • KT-65337 K2: False positive UNRESOLVED_REFERENCE when lambda labeled by illegal label and operator-invoked
  • KT-65448 K2: fake overrides are not generated for 'containsAll', 'removeAll', 'retainAll' if inherited from raw type
  • KT-65298 K2: not nullable return type and parameter for raw types
  • KT-63377 K2: conflict between type parameter and nested class
  • KT-63286 K2: Top-level properties in scripts are missing initialization checks
  • KT-59744 K2: false negative VAL_REASSIGNMENT in case of reassignment inside custom setter
  • 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 Support java-kotlin interop for @SubclassOptInRequired
  • KT-60262 Support for inter-module interaction for @SubclassOptInRequired
  • KT-62878 K2: missing implicit coercion to unit
  • KT-59715 K2: Check behaviour of property + operator in operator position
  • KT-63441 IrFakeOverrideBuilder: "accidental override" when implementing a Java function taking an array parameter
  • 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 K2: Properties/fields are missing from system libraries
  • KT-63344 K2: False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED
  • KT-58845 K2: SAM checker can run incorrectly in presence of an expect supertype
  • KT-61843 K2: Missing TYPE_MISMATCH for nested array literals
  • KT-62752 expect-actual matcher/checker: return type must be "checking" incompatibility
  • KT-59887 K2: Disappeared ACTUAL_MISSING
  • KT-65604 K2: INAPPLICABLE_JVM_NAME: effective modality
  • KT-65637 Prepare documentation for PCLA implementation
  • KT-65341 K2: "Cannot find cached type parameter by FIR symbol" caused by not-null assertion operator inside string in throw
  • KT-49283 Support contribution type info from a nested builder inference call
  • KT-64077 K2: Builder inference ignores constraints from nested builder inference
  • KT-49160 Couldn't infer a type argument through several builder inference calls broken by a local class
  • KT-63827 K2: Array += desugaring doesn't have origin
  • KT-65057 K2: Wrong type inferred in code with heavy use of generics
  • KT-63514 ISE “Inline class types should have the same representation: [I != I” during compilation on submitting UIntArray to vararg
  • 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 K2: Enable building fake overrides by ir on non-JVM targets
  • KT-59839 Prohibit header and impl in MPP
  • KT-61310 K2: "Not enough information to infer type variable R" for transformLatest
  • KT-63733 Builder-style type inference can't resolve to extension overloads when they're more applicable than member ones
  • KT-57707 K1: inconsistent TYPE_MISMATCH in builder inference
  • KT-55057 Builder inference changes behaviour sporadically based on BI annotation on unrelated call
  • KT-60663 Builder inference does not work inside a nested unrelated builder inference lambda
  • KT-53639 TYPE_MISMATCH: compiler can't infer the list's type when using buildList {} builder or Collection#isNotEmpty
  • KT-60291 K2: "IllegalStateException: Cannot serialize error type: ERROR CLASS: Cannot infer argument for type parameter T" during FIR serialization
  • KT-65033 K2: Fir2LazyIr: Lazy type aliases not supported
  • KT-57709 Inconsistent extension function call resolution in builder inference
  • KT-53740 Builder inference with multiple lambdas leads to unsound type
  • KT-60877 Builder inference from the null literal results in Nothing instead of Nothing? for producing positions of the postponed type variable
  • KT-53553 Builder inference: inconsistent types in different lambda scopes
  • KT-54400 K2: builder inference does not work with assignments of literals to member properties
  • KT-63840 Builder inference fails on calls to identity-shaped functions with postponed type variables inside select-constructions
  • KT-65262 K2: Exception in DFA for combination of try-finally + PCLA + DI
  • KT-58169 K2: make equals bounded smart casts work the same as in K1
  • KT-64967 K2: false positive TYPE_MISMATCH with generic type parameters
  • KT-64102 K2: Missing (disappeared in this case) DELEGATE_USES_EXTENSION_PROPERTY_TYPE_PARAMETER_ERROR
  • KT-63988 K2: Reflection cannot find type of local class of local class
  • KT-63901 K2: Different naming of inner class in metadata
  • KT-63655 K2: incorrect short class name in metadata for anonymous object inside a local class
  • KT-59664 Inline modifier can be added to a constructor parameter, but it does not have any effect
  • KT-59418 K2: Missing DUPLICATE_PARAMETER_NAME_IN_FUNCTION_TYPE
  • 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-59012 K2: Support inferring types based on self upper bounds
  • KT-65373 K2: there is a crash in KJK hierarchy with an extension member property
  • KT-65456 K1: ISE "Property has no getter" with -Xsam-conversions=class when Java SAM interface contains a field
  • KT-62884 K2: different signature of delegate object for generic extension property
  • KT-60581 K2 fails with New inference error for assertThat under strange circumstances
  • KT-59630 K2: Implement running FIR Blackbox tests on different JDKs
  • KT-64944 Can't assign null after early return smart cast with typed destructive assignment
  • KT-64910 K2: AA FIR: KtCall's argument mapping misses SAM conversion argument
  • KT-65165 K2: "ClassCastException: class java.lang.String cannot be cast to class SampleClass"
  • KT-64982 K2: false negative FUNCTION_CALL_EXPECTED
  • KT-65318 K2: Substitution stackoverflow on jspecify @NullMarked superclass
  • KT-65010 Kotlin/Native: code generation for a static field is failing
  • KT-57299 K2: VerifyError due to overriding final method size on a subclass of Collection and Set
  • KT-64706 K2: Type inference cannot resolve nullable @Composable lambda
  • KT-65058 K2: Protected function call from public-API inline function is prohibited in anonymous object
  • KT-65316 K2: False positive USAGE_IS_NOT_INLINABLE for expression labeled with illegal label
  • KT-60958 K2: smart cast does not work with definite return from if block
  • KT-63151 K2: Assignment within function lambda should invalidate contract DFA implications
  • KT-63351 K2. No smart cast with not-null assertion operator after a safe call
  • KT-65324 atomicfu-plugin: top-level delegated properties cause NPE
  • KT-60246 K2: origin is not set for getting array element operator
  • KT-64387 K2: Missing POSTFIX_INC/DEC origin for array element inc/dec
  • KT-61891 K2: POSTFIX_{INCR|DECR} of global misses an origin
  • KT-65019 K2: unexpected exception when executing inc/dec in finally block on WASM
  • KT-64392 Factor out KLIB serialization logic from the backend.native module
  • KT-65270 K2: Missing ACTUAL_WITHOUT_EXPECT when expect is fake-override
  • KT-60367 K2: Support EXPECT_AND_ACTUAL_IN_THE_SAME_MODULE diagnostics
  • KT-62704 Absent testrunner FirLightTreeDiagnosticTestSpecGenerated
  • KT-65044 K2 compiler crash on unresolved delegated extention receiver
  • KT-65021 K2: Missing error and miscompilation in destructuring declaration delegation
  • KT-63899 K2: Vararg parameter misses annotation in metadata
  • KT-60175 JVM IR inline: accidental reification of typeOf type argument
  • KT-65336 K2: Space build fails
  • KT-59683 K2: Add control flow graph to FirScript
  • KT-63434 K2. False positive Cannot access with protected nested classifiers references inside anonymous object inherited from containing class
  • KT-64222 K2: "return type is not a subtype of the return type of the overridden member"
  • KT-64314 K2: Rename FirConstExpression to FirLiteralExpression
  • KT-64975 FIR: Deserialize enum entry annotation arguments from binary libraries with lookup tags instead of symbols
  • KT-63646 K2: "IllegalStateException: Return type of provideDelegate is expected to be one of the type variables of a candidate, but D was found"
  • KT-65024 K2: kotlin.NotImplementedError: An operation is not implemented in the K2 QGs
  • KT-63994 K2: Investigate K2 failures in IntelliJ-Rust plugin
  • KT-64268 K2: Data-flow from nested lambda not passed to outer lambda
  • KT-59729 K2: Investigate CFG buildings for inner lambdas in case of double-lambda builder inference
  • KT-63042 K2: proper processing of propagated annotations
  • KT-64841 K2: argument type mismatch with type parameter with recursive bound
  • KT-62554 K2: incorrect "inherits multiple implementations" error when base Java method takes a parameter of primitive wrapper type
  • KT-65093 K2: Super constructor call able to access uninitialized object fields
  • KT-56489 K2 allows reading uninitialized variable in object declaration
  • KT-59987 K2: Disappeared REIFIED_TYPE_FORBIDDEN_SUBSTITUTION
  • KT-36786 Smartcast doesn't work in case of property infix call
  • KT-65027 K2: java.lang.NoSuchMethodError: void org.jetbrains.kotlin.name.CallableId in the K2 QG
  • KT-65056 IrFakeOverrideBuilder: ISE "No override for FUN" on package-private Java method in K-J-K hierarchy
  • KT-63414 K2 / Contracts: false positive "Result has wrong invocation kind" when invoking a function returning a value with contract InvocationKind.EXACTLY_ONCE and try/finally
  • KT-64809 K2: Remove the LINK_VIA_SIGNATURES flag from FIR2IR configuration
  • KT-62045 IrFakeOverrideBuilder: incorrectly merged fake overrides for Java methods accepting wrapper Double and primitive double
  • KT-57640 [K2/N] Investigate behaviour for intersection overrides for properties that have incompatible types
  • KT-59371 K2: Missing MISSING_DEPENDENCY_CLASS
  • KT-59682 K2: Use proper source for vararg arguments
  • KT-64261 K2 / WASM: Extension function with star projection throws "RuntimeError: unreachable"
  • KT-64257 K2 QG: kotlin.NotImplementedError: Generation of stubs for class org.jetbrains.kotlin.ir.symbols.impl.IrTypeParameterPublicSymbolImpl is not supported yet
  • KT-64844 [K/N] Filecheck test redundant_safepoints.kt fails under linux_x64
  • KT-64877 K2: PCLA doesn't allow infer types from value parameter having TV type
  • KT-63794 K2: False positive NONE_APPLICABLE on Throws::class
  • KT-63781 K2: Generated blocks appear in the IR
  • KT-63779 K2: Regression for locations of 'if' statements
  • KT-63624 K2: incompatible declaration because of different visibility
  • KT-64400 K2: allow to use simple boolean expressions as constants
  • KT-65050 K2: IllegalStateException: Captured type for incorporation shouldn't escape from incorporation: CapturedType(out org/jetbrains/plugins/gitlab/mergerequest/api/dto/GitLabMergeRequestShortRestDTO)
  • KT-59972 K2: Disappeared EXPRESSION_EXPECTED_PACKAGE_FOUND
  • KT-63256 K2: NOT_IDENTITY operator call is illegal in contract description
  • KT-61717 K1: Unsound green code with self upper bounds and captured types
  • KT-64871 IrFakeOverrideBuilder: ISE "no override for " on HashMap subclass
  • KT-58739 K2: Rewrite CallableId.classId to be thread-safe
  • KT-64979 K2: Missing REDUNDANT_TYPE_PARCELER when using type alias
  • KT-60019 K2: Introduced PARCELER_TYPE_INCOMPATIBLE
  • KT-60682 K2: Disappeared DEPRECATION
  • KT-62500 K2: origin=GET_PROPERTY is wrongly set to GET_FIELD of backing field inside property's own getter
  • KT-64743 K2: Non-expanded type serialized in metadata
  • KT-64405 K2: Implement CompileJavaAgainstKotlinTestGenerated for K2
  • KT-57094 K1: wrong type inferred for an instance of a local class inside a generic property
  • KT-62069 K2: ASSIGNMENT_TYPE_MISMATCH is reported in addition to NO_ELSE_IN_WHEN
  • KT-62776 FirLazyResolveContractViolationException: "lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase TYPES" on Java annotation usage
  • KT-47313 Change (V)::foo reference resolution when V has a companion
  • KT-64837 K2: NPE in fir2ir when generic transitive dependency class is missing
  • KT-60260 K2: Implicit coercion to unit is not generated in adapted function reference
  • KT-60858 Remove redundant createDeprecatedAnnotation necessary to workaround kotlinx-serialization compilation with native
  • KT-64432 Unbound symbol access in Fir2Ir fake override builder
  • KT-64466 K2: Delegated method annotations are not copied in IR
  • KT-63589 K1: Unsound type inference for unbound callable reference to star-projected class's generic mutable property
  • KT-56141 K2: Consider removing skipping diagnostics for DelegatedPropertyConstraintPosition
  • KT-60056 K2: Introduced UNRESOLVED_REFERENCE
  • KT-61032 K2: False positive “Unused variable” for function callable reference
  • KT-64832 K2: False positive "Unused variable" checker report on suspend functional types, on overloaded functional types and on custom invoke operator types
  • KT-64771 Investigate subtle FIR_DUMP difference for reversed order analysis
  • KT-62584 K2: different signature in subclass of local class declared in extension value getter
  • KT-63806 Native / KJS / Wasm: "NullPointerException: accept(...) must not be null"
  • KT-59938 K2: Disappeared AMBIGUOUS_ACTUALS
  • KT-43713 callsInPlace InvocationKind.EXACTLY_ONCE causes CAPTURED_VAL_INITIALIZATION in constructor
  • KT-64645 K2: Missing smartcast caused by typealias that expands to nullable type in upper bound
  • KT-64501 K2: False-positive WRONG_INVOCATION_KIND when using default arguments
  • KT-63962 K2: "java.lang.IllegalStateException: !"
  • KT-63644 K2: Create special IR symbols for fake-overrides in fir2ir in mode with IR f/o generator
  • KT-63638 K2: Compiler crashes with "Inline class types should have the same representation"
  • KT-36220 NI: false positive NON_APPLICABLE_CALL_FOR_BUILDER_INFERENCE if one use cannot resolve
  • KT-64121 K2: Actual modifier is missed on override fun toString() fro value class in native
  • KT-63703 K2: Eliminate call to Candidate.usesSAM and samResolver.getFunctionTypeForPossibleSamType in AbstractConeCallConflictResolver.toTypeWithConversion
  • KT-61443 K2: Return typeId -1 during JS compilation
  • KT-64090 K2: false-positive new inference error on invoking from another module a generic function on Java list type with wildcard type argument bounded by raw-typed Java inner class
  • KT-64044 K2: Java mapped method should have a source from Java method, not from mapped Kotlin source class
  • KT-39137 Smartcast to wrong nullability with generic type parameter upper bound
  • KT-46674 ClassCastException with smartcast if plus operator returns a different type
  • KT-64625 [FIR] Infinite recursion in TypeUnificationKt.doUnify() building subset of native stdlib
  • KT-59369 K2: Missing BUILDER_INFERENCE_STUB_RECEIVER
  • KT-62590 Split expect/actual matcher-checker machinery in two separate components: matcher and checker
  • KT-63732 K1: False positive OUTER_CLASS_ARGUMENTS_REQUIRED inside anonymous object
  • KT-64644 K2: Compiler crash in FirTypeParameterBoundsChecker
  • KT-64312 K2: FirPropertySymbol.hasBackingField() always returns true for properties from other modules
  • KT-64420 K2: Wrong module descriptor for builtin classes
  • KT-64127 K2: incorrect resolution of inherited members on Java classes inheriting classes from different packages in the presence of identically named classes in the same packages
  • KT-63446 IrFakeOverrideBuilder: AbstractMethodError due to missing bridge for generic method in a Java superclass
  • KT-63867 K2: Smartcast is allowed inside changing lambda with cycles
  • KT-64609 K2: INAPPLICABLE_TARGET_PROPERTY_IMMUTABLE diagnostic is missed for primary constructor properties
  • KT-63777 K2: Smartcast is allowed inside changing lambda with bounds
  • KT-64059 K2: CYCLIC_INHERITANCE_HIERARCHY while using nested annotation in an outer class declaration
  • KT-63528 K2: Missing UNNECESSARY_SAFE_CALL for warning level annotated java declarations
  • KT-64607 K2: extension functions on UInt and Number lead to JVM ClassCastException
  • KT-63761 K2: False positive "Unresolved reference" caused by object's parameter in enum class which is passed as annotation parameter
  • KT-62816 K2: Annotation use site targets printing could be improved in diagnostics' messages
  • KT-62815 K2: FIR renderings leak through some diagnostics' message
  • KT-35289 Confusing warning message "Duplicate label in when"
  • KT-49084 Contracts: error message is unclear
  • KT-63228 K2: Upper bound violation diagnostic renders compiler internals about SourceAttribute
  • KT-62386 K2: Proofread quotes in diagnostic messages
  • KT-64081 K2: Incorrect smartcast candidate calculation in MemberScopeTowerLevel
  • KT-32420 Confusing error message "Contracts are allowed only for top-level functions" when contract block is not first expression
  • KT-61937 K2: implicit script receiver from ScriptDefinition are not visible for invoke
  • KT-58767 Inheritance opt-in enforcement via @SubclassOptInRequired can be avoided with type aliases
  • KT-59818 K2: Explore the TODO about suspend functions overridden in Java in FirHelpers
  • KT-63233 K2 : false negative Class is not abstract and does not implement abstract member with abstract suspend function
  • KT-59344 K2: implement deprecation warnings from KT-53153
  • KT-63379 K2. Argument type mismatch on creating functional interface instance with function literal as an argument with in type projection
  • KT-64308 K2: prefer call with Unit conversion at lower level to one without Unit conversion at upper level
  • KT-64307 K2: prefer function with default arguments at lower level to one without them at upper level during callable reference resolve
  • KT-64306 K2: prefer SAM at lower level to a functional type at upper level
  • KT-64341 Kotlin/JVM: Missing line number generation for intrinsic comparisons
  • KT-64238 Add proper documentation to the IdeCodegenSettings class
  • KT-63667 K2/KMP: exception when expect property matched to java field
  • KT-59915 K2: Disappeared TOO_MANY_ARGUMENTS
  • KT-57755 K2/JVM: Fix computing a "signature" mangled name for the main function
  • KT-63645 K2: Replace special f/o symbols with normal ones after actualization
  • KT-63076 K2: change in behavior for synthetic properties in Kotlin-Java hierarchy
  • KT-63723 Frontend manglers improperly handle error type
  • KT-56491 K2: Fix reporting AMBIGUOUS_ANONYMOUS_TYPE_INFERRED if anonymous object is leaked in type argument
  • KT-63738 K2: Some declarations are missing in the hierarchy of overridden symbols
  • KT-62242 K2: Uniformly treat enum entries as anonymous objects
  • KT-62281 K2: build DuckDuckGo Android user project and pass it to CI
  • KT-60266 K2: origin is not set for FOR_LOOP_ITERATOR
  • KT-59875 K2: Disappeared UNRESOLVED_REFERENCE_WRONG_RECEIVER
  • KT-62394 K2: Synthetic property scope doesn't consider java classes in the hierarchy
  • KT-62715 K2: Missing WASM_IMPORT_EXPORT_UNSUPPORTED_PARAMETER_TYPE
  • KT-62723 K2: Missing WASM_IMPORT_ON_NON_EXTERNAL_DECLARATION
  • KT-62722 K2: Missing NESTED_WASM_IMPORT
  • KT-62721 K2: Missing WASM_EXPORT_ON_EXTERNAL_DECLARATION
  • KT-62720 K2: Missing JS_AND_WASM_EXPORTS_ON_SAME_DECLARATION
  • KT-62719 K2: Missing NESTED_WASM_EXPORT
  • KT-62718 K2: Missing WASM_IMPORT_EXPORT_UNSUPPORTED_RETURN_TYPE
  • KT-62717 K2: Missing WASM_IMPORT_EXPORT_PARAMETER_DEFAULT_VALUE
  • KT-62716 K2: Missing WASM_IMPORT_EXPORT_VARARG_PARAMETER
  • KT-60225 K2: compiler FIR symbol resolution crash on a call to an extension function whose receiver contains a type parameter with a recursive upper bound
  • KT-60090 K2: Introduced DEPRECATED_PARCELER
  • KT-59949 K2: Disappeared DEPRECATED_PARCELER
  • KT-64045 K2: "Expect declaration * is incompatible with actual" when function parameter names are different
  • KT-62018 K2: prohibit suspend-marked anonymous function declarations in statement positions
  • KT-63973 K2: "NoSuchElementException: Array is empty" with vararg used within tail recursive function
  • KT-61792 KMP: Backend error on @Deprecated usage with DeprecationLevel.HIDDEN in K2
  • KT-57788 Fix computing mangled names of types with @EnhancedNullability from IR-based declaration descriptors
  • KT-63249 K2: change in annotation resolve when ambiguous
  • KT-62553 K2: Add topLevelClassifierPackageNames to symbol name providers
  • KT-64148 K2: class cast exception org.jetbrains.kotlin.fir.types.ConeStarProjection
  • KT-63665 K2: "NullPointerException" caused by class with the companion object and extra curly brace
  • KT-62736 K2: Disappeared NESTED_JS_EXPORT
  • KT-62347 Prohibit using property+invoke convention for delegated properties
  • KT-59421 K2: Missing CONTEXT_RECEIVERS_WITH_BACKING_FIELD
  • KT-59903 K2: Disappeared DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE
  • KT-54997 Forbid implicit non-public-API accesses from public-API inline function
  • KT-34372 Report missed error for virtual inline method in enum classes
  • KT-62926 K2: IR has missing receivers during expect-actual matching
  • KT-62565 K2 cannot infer type parameters in case of expected functional type
  • KT-63328 K2: Top-level properties in scripts can be used while uninitialized
  • KT-62120 K2: "NoSuchMethodError: java.lang.String" at runtime on class delegating to Java type
  • KT-36876 Smartcast doesn't work when class has property available through the invoke
  • KT-63835 K2: metadata compilation with constants is falling for Native
  • KT-60251 K2: delegated method are delegating to different methods in hierarchy compared to K1
  • KT-63574 K2: "IllegalStateException: IrFieldPublicSymbolImpl for java.nio/ByteOrder.LITTLE_ENDIAN"
  • KT-61068 Bounds of type parameters are not enforced during inheritance of inner classes with generic outer classes
  • KT-60504 K2: difference between LL FIR and FIR in enhanced return type with annotation
  • KT-64147 K2: Generate FIR diagnostics with explicit types
  • KT-62961 K2 / KMP: NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS with expect enum class and typealias
  • KT-53749 Support builder inference restriction in FIR
  • KT-59390 K2: Missing BUILDER_INFERENCE_MULTI_LAMBDA_RESTRICTION
  • KT-61065 K2: @Suppress annotation is ignored inside preconditions of when-clauses
  • KT-59368 K2: Missing SUBTYPING_BETWEEN_CONTEXT_RECEIVERS
  • KT-64083 K2: "KotlinIllegalArgumentExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirJavaTypeRef"
  • KT-37308 No smart cast when the null check is performed on a child property through a function with a contract
  • KT-62589 K2: Investigate need of non-nullable IdSignature in Fir2IrLazyDeclarations
  • KT-59894 K2: Disappeared ANNOTATION_ARGUMENT_MUST_BE_CONST
  • KT-63329 K2: difference in SAM-conversion casts generation
  • KT-64062 K2 IDE. NPE on typing nullable parameter in return
  • KT-61427 K2/MPP/JS does not report Expecting a top level declaration and FIR2IR crashes
  • KT-64031 K2: Revise naming in FirBuilderInferenceSession
  • KT-55252 Backend Internal error during psi2ir in native compile tasks (NPE in getKlibModuleOrigin)
  • KT-50453 Improve builder inference diagnostics with type mismatch due to chosen inapplicable overload
  • KT-56949 K2: Builder inference violates upper bound
  • KT-63648 K2: values of postponed type variable don't introduce type constraints in extension receiver positions during builder-style type inference
  • KT-64028 K2: Investigate questionable condition in FirBuilderInfernceSession
  • KT-60031 K2: Introduced NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS
  • KT-55809 K2: Support pre-release checks for klibs
  • KT-59881 K2: Disappeared UNSUPPORTED
  • KT-63448 K2: CONFLICTING_INHERITED_JVM_DECLARATIONS with @JvmField
  • KT-63705 False positive UNSAFE_IMPLICIT_INVOKE_CALL after explicit null check of the constructor val property
  • KT-63865 K2: "IllegalArgumentException: Failed requirement." caused by lambda parameters with different type in init block
  • KT-62036 KMP: consider prohibiting actual fake-override when the corresponding expect class has default arguments
  • KT-62609 K2. Type argument inference changed for object of Java class with several common parents
  • KT-30369 Smartcasts from safe call + null check don't work if explicit true/false check is used
  • KT-30376 Smartcasts don't propagate to the original variable when use not-null assertion or cast expression
  • KT-30868 Unsound smartcast if smartcast source and break is placed inside square brackets (indexing expression)
  • KT-31053 Nothing? type check isn't equivalent to null check is some places
  • KT-29935 Smartcasts don't work if explicit annotated true/false check is used
  • KT-30903 Smartcast to null doesn't affect computing of exhaustiveness
  • KT-63564 K/Wasm: CompilationException with 2.0.0-Beta1
  • KT-63345 K2: FIR2IR chooses an incorrect type for smartcast in case of SAM conversion
  • KT-63848 ReflectiveAccessLowering does not count arguments of super-calls
  • KT-62544 K2: IllegalAccessError when functional type argument is inferred to package-private type
  • KT-61920 K2: False negative CONST_VAL_WITH_NON_CONST_INITIALIZER when initializer is Java field
  • KT-63649 K2: Wild card in superclass confuses EXPANSIVE_INHERITANCE checker
  • KT-63569 K2: "IllegalStateException: ?!id:1" caused by private function call
  • KT-63842 K2: some arguments of annotations on local declarations are unresolved
  • KT-63832 K2: missed context during annotation argument resolution for a type alias, init and property receiver
  • KT-62559 KMP, K2: prevent reporting ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT twice in CLI
  • KT-24652 Elvis with 'break' can produce unsound smartcasts in while-true loop
  • KT-28508 Possible unsound smartcast in class initializer
  • KT-28759 No not-null smartcast from direct assignment if it's split into declaration and value assignment
  • KT-28760 No not-null smartcast from direct assignment of this
  • KT-29878 Smartcasts from type check or null check don't work if explicit true check as reference equality is used
  • KT-29936 Smartcasts don't work if comparing with return value of some function and explicit true/false check is used
  • KT-30317 Smartcast doesn't work if smartcast source is used as an operand of the reference equality
  • KT-63071 K2 supports calling functions with the dynamic receiver over Nothing?
  • KT-59896 K2: Disappeared WRONG_ANNOTATION_TARGET
  • KT-56849 Implement K/Wasm K1 diagnostics in K2
  • KT-31636 Expect-actual matching doesn't work for inner/nested classes with explicit constructor using typealiases
  • KT-63361 K2: Expected FirResolvedTypeRef for return type of FirDefaultPropertyGetter(SubstitutionOverride(DeclarationSite)) but FirImplicitTypeRefImplWithoutSource found
  • KT-62913 Convert DEFAULT_ARGUMENTS_IN_EXPECT_ACTUALIZED_BY_FAKE_OVERRIDE to checking incompatibility
  • KT-63550 K2: fake-override in expect covariant override in actual. Move diagnostics from backend to frontend
  • KT-62491 K2. No 'when' expression must be exhaustive error when Java sealed class inheritors are not listed in permits clause
  • KT-63443 IrFakeOverrideBuilder: ISE "No new fake override recorded" when Java superclass declares abstract toString
  • KT-62679 K2: drop ARGUMENTS_OF_ANNOTATIONS phase
  • KT-63600 K2: Duplicate WRONG_NULLABILITY_FOR_JAVA_OVERRIDE
  • KT-63508 K2: "IllegalArgumentException: Not FirResolvedTypeRef (String) in storeResult" caused by @Deprecated Java function and typo
  • KT-63656 K2: "IllegalArgumentException: Local com/example/ should never be used to find its corresponding classifier"
  • KT-63459 K2: OPT_IN_USAGE_ERROR is absent when calling the enum primary constructor
  • KT-59582 OPT_IN_MARKER_CAN_ONLY_BE_USED_AS_ANNOTATION_OR_ARGUMENT_IN_OPT_IN on an annotation import
  • KT-60614 K2: Conflicting INVISIBLE_REFERENCE and UNRESOLVED_REFERENCE reported depending on FIR test for transitive friend module dependencies
  • KT-59983 K2: Disappeared IMPLEMENTATION_BY_DELEGATION_IN_EXPECT_CLASS
  • KT-63068 K2 supports typeRef-name labels
  • KT-63642 JVM_IR: don't generate reflective access to getter/setter without property
  • KT-62212 K2: require matching of suspend status for override check
  • KT-60983 K2: "Argument type mismatch: actual type is android/view/View.OnApplyWindowInsetsListener but androidx/core/view/OnApplyWindowInsetsListener? was expected"
  • KT-63597 JVM_IR: Properly handle type parameters of outer declaration in code fragment
  • KT-59913 K2: Disappeared UNSUPPORTED_FEATURE
  • KT-63593 K2: FIR2IR converts arguments of array set call for dynamic receiver twice
  • KT-63317 K2: Disallow generic types in contract type assertions
  • KT-59922 K2: Disappeared CANNOT_CHECK_FOR_ERASED
  • KT-59561 K2/MPP reports INCOMPATIBLE_MATCHING when an actual annotation declaration with vararg property is typealias with @Suppress
  • KT-63241 IJ monorepo K2 QG: backward-incompatible compiler ABI change leads to run-time failures of Fleet's kotlinc plugins
  • KT-55318 Redundant variance projection causes wrong signature in klib
  • KT-57513 K2: Bound smart casts don't work with Strings
  • KT-59988 K2: Disappeared TYPE_ARGUMENTS_NOT_ALLOWED
  • KT-59936 K2: Disappeared ARGUMENT_PASSED_TWICE
  • KT-61959 K2: Type parameters from outer class leak to nested class
  • KT-58094 K2: Review IrBuiltinsOverFir
  • KT-63522 K2: wrong context for delegated field type
  • KT-63454 Properly check that inline fun is in the same module as callee in IrSourceCompilerForInline
  • KT-59951 K2: Disappeared NO_TYPE_ARGUMENTS_ON_RHS
  • KT-62727 K2: Missing JSCODE_UNSUPPORTED_FUNCTION_KIND
  • KT-62726 K2: Missing JSCODE_WRONG_CONTEXT
  • KT-62725 K2: Missing JSCODE_INVALID_PARAMETER_NAME
  • KT-62314 Make usages of JavaTypeParameterStack safe
  • KT-60924 FIR2IR: Get rid of all unsafe usages of IrSymbol.owner
  • KT-59402 K2: Missing EXPANSIVE_INHERITANCE and EXPANSIVE_INHERITANCE_IN_JAVA
  • KT-57949 FIR: SignatureEnhancement: mutation of java enum entry
  • KT-62724 K2: Missing WRONG_JS_FUN_TARGET
  • KT-62856 K2: Don't create IR declaration when its symbol is accessed in fir2ir
  • KT-61329 K2: Review for diagnostic messages reported by CLI arguments processing
  • KT-58953 K2 doesn't work with Compose Multiplatform
  • KT-63599 False negative WRONG_NULLABILITY_FOR_JAVA_OVERRIDE when Java parameter is warning-severity not-null and override isn't a DNN
  • KT-62711 Incorrect ParsedCodeMetaInfo instances
  • KT-63122 K2: Improve 'EVALUATION_ERROR' messages
  • KT-63164 K2/JVM: compiler codegen crash on invisible property IllegalStateException: Fake override should have at least one overridden descriptor
  • KT-56614 K2: Incorrect overload resolution with SAM types
  • KT-62783 K2: False positive CAST_NEVER_SUCCEEDS when casting nullable expression to it's non-nullable generic base class
  • KT-47931 FIR DFA: smartcast not working for if (x!=null || x!=null && x!=null) {}
  • KT-62735 K2: Disappeared EXTERNAL_CLASS_CONSTRUCTOR_PROPERTY_PARAMETER
  • KT-62733 K2: Disappeared WRONG_EXTERNAL_DECLARATION
  • KT-62734 K2: Disappeared INLINE_EXTERNAL_DECLARATION
  • KT-62618 K2: Fix the ensureAllMessagesPresent test
  • KT-60312 K2: CCE “class [I cannot be cast to class java.lang.Number ([I and java.lang.Number are in module java.base of loader 'bootstrap')” on using IntArray as vararg
  • KT-58531 K2: "Property must be initialized" compile error
  • KT-54064 K2. Conflicting declarations error differs for k1 and k2
  • KT-52432 Using the IDE compiled with K2 (useFir) throws VerifyError exception
  • KT-59825 K2: Fix the TODO about wasExperimentalMarkerClasses in FirSinceKotlinHelpers
  • KT-26045 False positive DUPLICATE_LABEL_IN_WHEN for safe calls
  • KT-59514 K2: New inference error with jspecify and Java interop
  • KT-63094 K2: Exception from fir2ir during conversion data class with property of dynamic type
  • KT-59822 K2: Fix the TODO in FirConstChecks
  • KT-59493 Definitely non-nullable types have type inference issues with extension functions
  • KT-63396 K2: property from companion object are unresolved as an annotation argument in type parameter
  • KT-62925 K2: Disappeared EXPOSED_FUNCTION_RETURN_TYPE for package-private and type args
  • KT-63430 IrFakeOverrideBuilder: VerifyError on calling a function with a context receiver from a superclass
  • KT-58754 "Not enough information to infer type variable for subcalls of if expression" when adding curly braces to a conditional inside a lazy property
  • KT-54067 K1 with NI: false positive UPPER_BOUND_VIOLATED in typealias constructor
  • KT-62420 K2: Remove ConeClassifierLookupTag from ConeTypeVariableTypeConstructor
  • KT-63431 K1: Incorrect resolution of call to Java class that extends CharSequence and inherits a get(int): Char method
  • KT-55288 False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifier
  • KT-61459 K2: type parameters cannot be parameterized with type arguments
  • KT-59998 K2: Disappeared OPT_IN_MARKER_CAN_ONLY_BE_USED_AS_ANNOTATION_OR_ARGUMENT_IN_OPT_IN
  • KT-53308 TYPE_MISMATCH: Contracts on boolean expression has no effect on referential equality to null
  • KT-51160 Type mismatch with contracts on narrowing sealed hierarchy fail to smart cast
  • KT-49696 Smart cast to non-null with inline non-modifying closures sometimes doesn't work
  • KT-46586 SMARTCAST_IMPOSSIBLE when assigning value inside lambda instead of if expression
  • KT-41728 False positive no smart cast with unreachable code after return in if expression
  • KT-59482 K2: build kmm-production-sample
  • KT-57529 K1/K2: "IllegalStateException: not identifier: " with hard keywords in angle brackets
  • KT-62032 K2: Render flexible types as A..B instead of cryptic ft<A, B> in diagnostic messages
  • KT-59940 K2: Disappeared ACTUAL_ANNOTATION_CONFLICTING_DEFAULT_ARGUMENT_VALUE
  • KT-59401 K2: Missing ADAPTED_CALLABLE_REFERENCE_AGAINST_REFLECTION_TYPE
  • KT-56081 K2: build kotlinx.serialization
  • KT-63172 K2: Java vararg setter should not be used as property accessor
  • KT-61243 K2: Always use declaredMemberScope-s in FirConflictsHelpers instead of declarations
  • KT-59430 K2: Missing CALLABLE_REFERENCE_RESOLUTION_AMBIGUITY
  • KT-62306 K2: Compiler internal error for incorrect call on ILT
  • KT-61592 kt57320.kt weird diagnostic range for NO_ACTUAL_FOR_EXPECT
  • KT-62334 K2: FIR should not generate delegated functions for methods from java interface with default implementation
  • KT-60294 K2: lambda inside object capturing this, when not in K1
  • KT-59590 JVM IR: NotImplementedError during rendering of conflicting JVM signatures diagnostic
  • KT-62607 K2: "Overload resolution ambiguity between candidates"
  • KT-55096 K2: false-positive smartcast after equals check with reassignment in RHS of ==
  • KT-63002 K2: Fix flaky FirPsiOldFrontendDiagnosticsTestGenerated.Tests.Annotations#testAnnotatedErrorTypeRef
  • KT-62916 K2: False positive INCOMPATIBLE_MATCHING
  • KT-45687 Contract doesn't allow smart cast when implicit receiver and inference target is this
  • KT-62137 Compiler fails on null tracking (inference) for safe call
  • KT-36976 FIR: Provide exact smart casting type
  • KT-60004 K2: Disappeared CONTRACT_NOT_ALLOWED
  • KT-62404 K2 Scripting for gradle: unresolved name errors on implicit imports
  • KT-62197 K2 and Apache Commons's MutableLong: Overload resolution ambiguity between candidates
  • KT-59890 K2: Disappeared CONST_VAL_WITH_NON_CONST_INITIALIZER
  • KT-53551 suspend functional type with context receiver causes ClassCastException
  • KT-61491 K2 AA: Multiple FIR declarations for the same delegated property
  • KT-55965 K2: NPE via usage of functions that return Nothing but have no return expressions
  • KT-60942 K2: Transitive dependency IR is not deserialized correctly
  • KT-55319 K2: False negative NON_LOCAL_RETURN_NOT_ALLOWED for non-local returns example
  • KT-59884 K2: Disappeared NON_LOCAL_RETURN_NOT_ALLOWED
  • KT-61942 K2 + kotlinx.serialization: Incorrect 'Conflicting declarations' on only one declaration
  • KT-62944 K2: Symbols with context receiver shouldn't be rendered with line break
  • KT-59977 K2: Disappeared NO_ACTUAL_FOR_EXPECT
  • KT-60117 K2: ISE “Cannot serialize error type: ERROR CLASS: Cannot infer variable type without initializer / getter / delegate” on compiling lateinit property without initialization
  • KT-60042 K2: Introduced PRIMARY_CONSTRUCTOR_REQUIRED_FOR_DATA_CLASS
  • KT-62467 K2: Result type of elvis operator should be flexible if rhs is flexible
  • KT-62126 KJS / K2: "InterpreterError: VALUE_PARAMETER" caused by reflection, delegation and languageVersion = 1.9
  • KT-56615 K2: False-negative USELESS_CAST after double smartcast
  • KT-59820 K2: Investigate the TODO in FirCastDiagnosticsHelpers
  • KT-61100 K2: wrong type for "value" parameter of java annotation constructor
  • KT-59996 K2: Disappeared INVALID_CHARACTERS
  • KT-62598 K2: SOE through JvmBinaryAnnotationDeserializer with nested annotation with value parameter in other module
  • KT-59070 K1: Unbound private symbol with mixed Java/Kotlin hierarchy
  • KT-60095 K2: Introduced INCOMPATIBLE_TYPES
  • KT-61598 K2: report IR_WITH_UNSTABLE_ABI_COMPILED_CLASS
  • KT-42625 "Unresolved reference" when star import packages with conflicting entries
  • KT-60123 K2: PROPERTY_WITH_NO_TYPE_NO_INITIALIZER isn't working in IDE for lateinit property without a type
  • KT-59935 K2: Disappeared PROPERTY_WITH_NO_TYPE_NO_INITIALIZER
  • KT-57931 K1: unsafe assignment of nullable values to not-null Java fields via safe access operator
  • KT-59992 K2: Disappeared KCLASS_WITH_NULLABLE_TYPE_PARAMETER_IN_SIGNATURE
  • KT-58455 K2(LT). Internal compiler error "UninitializedPropertyAccessException: lateinit property identifier has not been initialized" on missing type parameter in "where" constraint
  • KT-60714 K2: Implement resolve to private members from Evaluator in K2
  • KT-59577 K2. Enum constant name is not specified in error text
  • KT-60003 K2: Disappeared INVALID_CHARACTERS_NATIVE_ERROR
  • KT-62099 K2: "Type arguments should be specified for an outer class" error about typealias
  • KT-60111 K2: Location regressions for operators
  • KT-59974 K2: Disappeared INAPPLICABLE_INFIX_MODIFIER
  • KT-59399 K2: Missing JSCODE_NO_JAVASCRIPT_PRODUCED
  • KT-59388 K2: Missing JSCODE_ERROR
  • KT-59435 K2: Missing JSCODE_ARGUMENT_SHOULD_BE_CONSTANT
  • KT-59991 K2: Disappeared FORBIDDEN_VARARG_PARAMETER_TYPE
  • KT-60601 K2 / Maven: Overload resolution ambiguity between candidates inline method
  • KT-59973 K2: Disappeared INAPPLICABLE_LATEINIT_MODIFIER
  • KT-59933 K2: Disappeared USAGE_IS_NOT_INLINABLE
  • KT-60778 K2: implement MISSING_DEPENDENCY_CLASS(_SUPERCLASS) errors
  • KT-62581 K2: Difference in kind flag in metadata
  • KT-59967 K2: Disappeared UNINITIALIZED_ENUM_ENTRY
  • KT-59956 K2: Disappeared INAPPLICABLE_OPERATOR_MODIFIER
  • KT-35913 Diagnostic error VAL_REASSIGNMENT is not reported multiple times
  • KT-60059 K2: Introduced VAL_REASSIGNMENT
  • KT-59945 K2: Disappeared ANONYMOUS_FUNCTION_WITH_NAME
  • KT-62573 K2: incorrect parsing behavior with named functions as expressions
  • KT-55484 K2: @OptIn false negative OPT_IN_USAGE_ERROR on equals operator call
  • KT-56629 K2: an instance of USELESS_CAST was not moved under EnableDfaWarningsInK2 language feature
  • KT-58034 Inconsistent resolve for nested objects in presence of a companion object property with the same name
  • KT-59864 K2: Bad locations with delegates
  • KT-59584 K2: Bad startOffset for 'this'
  • KT-61388 K2: ISE "Annotations are resolved twice" from CompilerRequiredAnnotationsComputationSession on nested annotation
  • KT-62628 K2: FirErrorTypeRefImpl doesn't have annotations
  • KT-62447 K2. "Replacing annotations in FirErrorTypeRefImpl is not supported" compiler error when annotation is used as variable type or return type
  • KT-61055 K2: Investigate if usage of toResolvedCallableSymbol is correct at FirDataFlowAnalyzer#processConditionalContract
  • KT-61518 K2: IAE: "Expected type to be resolved" at FirTypeUtilsKt.getResolvedType() on usage of Java annotation with default value for enum array parameter
  • KT-61688 K2: FIR renderings of type annotations leak through the diagnostics' messages
  • KT-61794 FIR: MergePostponedLambdaExitsNode.flow remains uninitialized after resolve
  • KT-59986 K2: Disappeared ITERATOR_MISSING
  • KT-57802 K2: Backend Internal error: RecordEnclosingMethodsLowering.kt
  • KT-59941 K2: Disappeared COMPONENT_FUNCTION_MISSING
  • KT-61076 K2: false-positive conflicting overloads error on suspending function and private Java method from a supertype
  • KT-61075 K2: type inference for delegate expressions with complexly bounded type variables fails on properties with annotated accessors
  • KT-62671 K2: fir2ir generates a duplicate of delegated function for class from a common module
  • KT-62541 K2: Missed type mismatch error
  • KT-62585 KMP, K2: fix ugly reporting of annotation arguments in ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT diagnostic
  • KT-62143 Error: Identity equality for arguments of types 'kotlin/Int?' and 'kotlin/Nothing?' is prohibited
  • KT-62620 Warn about @OptIn/@Deprecated for overrides of Any
  • KT-59689 K2: Fix complex smartcasts with safe calls
  • KT-61517 K2: FirModuleDescriptor should correctly provide dependencies from FirModuleData
  • KT-62578 K2: @NoInfer annotation doesn't work for deserialized functions
  • KT-59916 K2: Disappeared REPEATED_ANNOTATION
  • KT-36844 DELEGATE_SPECIAL_FUNCTION_MISSING highlight is missed when Delegate class has getValue property available through the invoke convention
  • KT-62450 K2: Disappeared OPT_IN_USAGE_ERROR for a data class property during the destructuring declaration
  • KT-59997 K2: Disappeared OPT_IN_USAGE_ERROR
  • KT-60026 K2: Introduced EXPOSED_TYPEALIAS_EXPANDED_TYPE
  • KT-62393 K2: FIR doesn't count visibility when creating synthetic property override
  • KT-61191 K2: Problem with @OptionalExpectation
  • KT-61208 EnumEntries mappings are generated incorrectly in the face of incremental compilation
  • KT-57811 K2: make java static string and int fields not null
  • KT-53982 Keep nullability when approximating local types in public signatures
  • KT-62531 InvalidProtocolBufferException on reading module metadata compiled by K2 from compilers earlier than 1.8.20 with -Xskip-metadata-version-check
  • KT-61511 IrFakeOverride builder: objc overridability condition is not supported
  • KT-62316 K2: CONFLICTING_INHERITED_JVM_DECLARATIONS on List subclass inheriting remove/removeAt from Java superclass
  • KT-60671 KMP: check other annotation targets in expect and actual annotations compatibility checker
  • KT-62473 K2: @Suppress("UNCHECKED_CAST")` doesn't work on rhs of augmented assignment call
  • KT-59433 K2: Missing NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE
  • KT-62451 K2: Disappeared OPT_IN_USAGE_ERROR for typealias
  • KT-62452 K2: Violation of OPT_IN_USAGE_ERROR non-propagating opt-in rules for typealias
  • KT-59927 K2: Disappeared INVISIBLE_REFERENCE
  • KT-60080 K2: Introduced INVISIBLE_SETTER
  • KT-60104 K2: Introduced FUNCTION_CALL_EXPECTED
  • KT-59979 K2: Disappeared SUPERTYPE_INITIALIZED_IN_EXPECTED_CLASS
  • KT-62146 K2: @Suppress does not work with named argument
  • KT-62475 K2: IrExternalModuleFragments contains incorrect data in Fir2Ir
  • KT-59978 K2: Disappeared EXPECTED_ENUM_ENTRY_WITH_BODY
  • KT-59015 K1+NI: "Type mismatch: inferred type is CapturedType(*) but Xy was expected" with star projection callable reference to extension function
  • KT-61983 K2: *fir.kt.txt dump uses different naming approach for local vars
  • KT-59970 K2: Disappeared NULLABLE_TYPE_IN_CLASS_LITERAL_LHS
  • KT-58216 K2 (2.0): when is not checked for exhaustiveness with Java sealed class
  • KT-61205 Compose Compiler K2/ios: No file for /App|App(){}[0] when running linkPodDebugFrameworkIosX64
  • KT-58087 Unexpected type mismatch after nullable captured type approximation
  • KT-58240 Support running irText compiler tests against the Native backend
  • KT-59565 K2. Internal error "IndexOutOfBoundsException: Index -1 out of bounds for length 0" on incorrect usage of annotation in type parameter
  • KT-59954 K2: Disappeared REPEATED_MODIFIER
  • KT-57100 K2 does not report Conflicting overloads and backend crashes with Exception during IR lowering on conflict overloading with suspend function
  • KT-59955 K2: Disappeared INCOMPATIBLE_MODIFIERS
  • KT-61572 [K2/N] Missing diagnostic SUPER_CALL_WITH_DEFAULT_PARAMETERS in test for MPP supercall with default params
  • KT-62262 [K2/N] tests/samples/uikit compilation fails with NPE in checkCanGenerateOverrideInit
  • KT-62114 K2: Unresolved reference for smart cast inside when (but not if)
  • KT-59373 K2: Missing INVISIBLE_MEMBER
  • KT-61844 K2: "Expression * of type * cannot be invoked as a function" caused by private property
  • KT-61735 [FIR] Assignment to val with flexible type dispatch receiver causes crash
  • KT-59942 K2: Disappeared ANNOTATION_PARAMETER_DEFAULT_VALUE_MUST_BE_CONSTANT
  • KT-62058 K2: use PRE_RELEASE flag until 2.0-RC
  • KT-59931 K2: Disappeared CLASS_LITERAL_LHS_NOT_A_CLASS
  • KT-62104 K2: fix failing tests caused by KT-59940
  • KT-61974 K2: "ClassCastException: class cannot be cast to class java.lang.Void" in test
  • KT-61637 K2: Store all IR declarations inside Fir2IrDeclarationStorage
  • KT-60921 K2: IndexOutOfBoundsException on attempt to cast an element to inner class with type parameter
  • KT-59429 K2: Missing ABBREVIATED_NOTHING_RETURN_TYPE
  • KT-59420 K2: Missing ABBREVIATED_NOTHING_PROPERTY_TYPE
  • KT-59965 K2: Disappeared CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON
  • KT-59952 K2: Disappeared EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR
  • KT-61732 K2: Analysis API: resolve ambiguities in kotlin project
  • KT-60499 K2: Order of synthetic fields is different from K1's order
  • KT-61773 K2 Native: support reporting PRE_RELEASE_CLASS
  • KT-61578 [FIR] Resolution to private companion objects does not produce INVISIBLE_REFERENCE diagnostic
  • KT-59985 K2: Disappeared UNDERSCORE_USAGE_WITHOUT_BACKTICKS
  • KT-62031 K2: Render k2-specific flexible types in a more compact way in diagnostic messages
  • KT-62030 K2: Render dot-separated FQNs instead of slash-separated ones in diagnostics
  • KT-59950 K2: Disappeared ILLEGAL_ESCAPE
  • KT-61827 K2: Fix rendering of NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS message
  • KT-61386 IrFakeOverrideBuilder: wrong dispatch receiver type
  • KT-59907 K2: Disappeared RETURN_TYPE_MISMATCH
  • KT-62056 K2: Drop FIR_COMPILED_CLASS error in K1
  • KT-61824 K2: Don't render internal compiler type annotations in diagnostic messages
  • KT-61826 K2: Fix rendering of SUSPENSION_POINT_INSIDE_CRITICAL_SECTION message
  • KT-57858 @PlatformDependent annotation should be considered in JS and Native
  • KT-61876 K2: FirCommonSessionFactory does not register visibility checker for a library session
  • KT-60264 K2: while loop body block sometimes replaced with single expression
  • KT-58542 K2: Store abbreviated types in deserialized declarations as attributes for rendering
  • KT-62008 K2: Java getter function may be enhanced twice
  • KT-61921 K2: Check for false positive/negative diagnostics caused by wrong handling of typealiases
  • KT-41997 False positive "Value class cannot have properties with backing fields" inside expect class
  • KT-62017 K2: ISE "No real overrides for FUN FAKE_OVERRIDE" on calling package-private Java method through anonymous object
  • KT-58247 Incorrect inference of nullable types inside Optional
  • KT-61309 K2: Only named arguments are available for Java annotations
  • KT-61366 IrFakeOverrideBuilder ignores package-private visibility
  • KT-59899 K2: Disappeared EXPECTED_DECLARATION_WITH_BODY
  • KT-59980 K2: Disappeared EXPECTED_ENUM_CONSTRUCTOR
  • KT-59982 K2: Disappeared EXPECTED_CLASS_CONSTRUCTOR_PROPERTY_PARAMETER
  • KT-61499 K2: False positive "Const 'val' initializer should be a constant value" when using typealias
  • KT-62005 K2: No conflicting declarations error for constructors of nested classes and member functions
  • KT-60092 K2: Introduced EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR
  • KT-61972 K2: FIR2IR crashes on converting data classes in MPP setup
  • KT-60105 K2: Introduced UNDERSCORE_USAGE_WITHOUT_BACKTICKS
  • KT-60075 K2: Introduced ACTUAL_WITHOUT_EXPECT
  • KT-29316 Change diagnostics strategy for equality-operators applicability
  • KT-61751 IrFakeOverrideBuilder: keep flexible type annotations when remapping/substituting types
  • KT-61778 K2: Overload resolution ambiguity between expect and non-expect in native build
  • KT-57703 K1/K2: unprecise constraint system behavior around integer literals and comparable arrays
  • KT-61367 K2: Introduce OptIn for FirExpression.coneTypeOrNull
  • KT-61802 K2: infinite recursion in constant evaluator causing StackOverflowError
  • KT-60043 K2: Introduced PROPERTY_AS_OPERATOR
  • KT-61829 K2. Internal error, FileAnalysisException when type argument doesn't conform expected type
  • KT-61691 K2: This annotation is not applicable to target 'local variable'
  • KT-59925 K2: Disappeared VIRTUAL_MEMBER_HIDDEN
  • KT-61173 K2: FirProperty.hasBackingField is true for an expect val
  • KT-61696 K2: Cannot override method of interface if superclass has package-protected method with same signature
  • KT-59370 K2: Missing JS_NAME_CLASH
  • KT-36056 [FIR] Fix implementation of try/catch/finally in DFA
  • KT-61719 K2. Invisible reference is shown for whole type reference instead of single name reference
  • KT-35566 False negative UPPER_BOUND_VIOLATED in a supertype of an inner class
  • KT-60248 K2: Type abbreviations are not stored in IR
  • KT-61720 K2: Delegates: Property type not specialised in property reference of setter
  • KT-59251 KMP/JS: forbid matching actual callable with dynamic return type to expect callable with non-dynamic return type
  • KT-61510 K2: internal declarations are invisible in cyclically dependent modules
  • KT-54890 FIR: fix resolve contract violations in FIR
  • KT-60048 K2: Introduced MISSING_EXCEPTION_IN_THROWS_ON_SUSPEND
  • KT-59425 K2: Missing JS_FAKE_NAME_CLASH
  • KT-59529 K2: "property delegate must have" caused by class hierarchy
  • KT-55471 K2. Unresolved reference for nested type is shown instead of outer class
  • KT-58896 K2: Higher priority expect overload candidates in common code lose in overload resolution to non-expects
  • KT-60780 K2: missing PRE_RELEASE_CLASS
  • KT-59855 K2: Replace FirExpression.typeRef with coneType
  • KT-53565 K2: no WRONG_ANNOTATION_TARGET on when subject
  • KT-54568 K2: Type variables leak into implicit it parameter of lambdas
  • KT-60892 K2: Implement diagnostics around @OptionalExpectation
  • KT-60917 K2: "Unresolved reference" for operator for array value
  • KT-59367 K2: Missing MIXING_SUSPEND_AND_NON_SUSPEND_SUPERTYPES
  • KT-60268 K2: lazy annotation classes have wrong modality
  • KT-60536 K2: FIR2IR Crash when resolving to companion of internal class with Suppress("INVISIBLE_REFERENCE")
  • KT-60292 K2: annotations on local delegated properties are lost
  • KT-59422 K2: Missing NON_SOURCE_ANNOTATION_ON_INLINED_LAMBDA_EXPRESSION
  • KT-61407 K2: java.lang.IllegalArgumentException: Stability for initialized variable always should be computable
  • KT-59186 K2: False negative CONFLICTING_OVERLOADS in nested functions
  • KT-54390 K2: ClassId for local classes do not match with specification
  • KT-61277 K2: Expand the MIXING_SUSPEND_AND_NON_SUSPEND_SUPERTYPES check to other function kinds
  • KT-61548 Compiler crashes with StackOverflowError when mapping types
  • KT-56757 Drop IGNORE_BACKEND_K2_LIGHT_TREE directive
  • KT-61330 K2: No BinarySourceElement for system libraries
  • KT-61166 Inherited platform declaration clash & accidental override
  • KT-58764 [K2] Make FirResolvedDeclarationStatus.modality not nullable
  • KT-61576 [FIR] Private type alias for public class constructor is always visible
  • KT-46031 False negative SEALED_INHERITOR_IN_DIFFERENT_MODULE in bamboo HMPP hierarchy
  • KT-59804 K2: Repeat the SealedInheritorInSameModuleChecker HMPP logic
  • KT-59900 K2: Disappeared NESTED_CLASS_NOT_ALLOWED
  • KT-61067 K2. No Assignments are not expressions
  • KT-61144 FIR2IR: Fix field access for class context receiver from debugger evaluator in K2
  • KT-59914 K2: Disappeared RETURN_NOT_ALLOWED
  • KT-60136 Wrong IR is generated for spread call in annotation call when annotation has a vararg parameter
  • KT-56872 K2: not all reassignments, operator assignments, increments, decrements are tracked in DFA for try/catch expressions
  • KT-60397 K2/MPP: don't perform enhancement twice when Java method is called from different modules
  • KT-61640 K2: Share declarations from JvmMappedScope between sessions in MPP scenario
  • KT-59051 "ISE: IrSimpleFunctionSymbolImpl is already bound" when implementing multiple interfaces by delegation where one of them overrides equals/hashCode
  • KT-60380 K2: IAE: class org.jetbrains.kotlin.psi.KtLambdaArgument is not a subtype of class org.jetbrains.kotlin.psi.KtExpression for factory TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM
  • KT-60795 K2: missing INCOMPATIBLE_CLASS and corresponding CLI error
  • KT-59650 K2: Get rid of FirNoReceiverExpression
  • KT-60555 K2. FirJavaClass source field is null
  • KT-61045 K2: Missing return from DELEGATED_PROPERTY_ACCESSOR setter
  • KT-60636 KMP: K2 handling of actual typealiases to nullable types
  • KT-59815 K2: Avoid recomputing argumentVariables
  • KT-61409 Kotlin/Native: crash in kmm-production-sample (compose-app) with escape analysis enabled
  • KT-61348 K2: Refactor FIR2IR declaration storages
  • KT-54905 KLIB check on compiled with pre-release version
  • KT-61249 Move fir-related code from backend.native module
  • KT-59478 K2: StackOverflowError on invalid code with nullable unresolved
  • KT-59893 K2: Disappeared WRONG_NUMBER_OF_TYPE_ARGUMENTS
  • KT-60450 K2: IOOBE from analyzeAndGetLambdaReturnArguments
  • KT-57076 K2 does not report 'More than one overridden descriptor declares a default value'
  • KT-55672 K2. Operator name message instead of "Unresolved reference" when operator isn't defined for type
  • KT-61454 K1: False positive WRONG_NUMBER_OF_TYPE_ARGUMENTS when typealias is LHS of class literal
  • KT-60252 K2: Supertype argument is not substituted in fake override receivers and value parameters
  • KT-60687 K2: Introduced UNEXPECTED_SAFE_CALL
  • KT-61312 K2: Remove FirExpression.typeRef completely when Compose was migrated
  • KT-60602 Fix scripting tests in 2.0 branch
  • KT-60771 K2: "Conflicting declarations". Unable to re-declare variable if the first one comes from a destructured element
  • KT-60760 K2: Every FirFunctionCall has an implicit type reference which points to the return type declaration
  • KT-59944 K2: Disappeared NON_MEMBER_FUNCTION_NO_BODY
  • KT-60936 KMP: check annotations compatibility on members inside expect and actual class scopes
  • KT-60668 KMP: check expect and actual annotations match when actual method is fake override
  • KT-60250 K2: origin is set too many times for elvis operator
  • KT-60254 K2: Extra unset type argument on Java field reference
  • KT-60245 K2: Extra return is generated in always throwing function
  • KT-59407 K2: Missing MISSING_CONSTRUCTOR_KEYWORD
  • KT-57681 Request review for all FIR diagnostic messages
  • KT-60885 K2: Fix testSelfUpperBoundInference test in LV 2.0 branch
  • KT-59957 K2: Missing UNSUPPORTED_SEALED_FUN_INTERFACE
  • KT-60000 K2: Missing UNSUPPORTED_INHERITANCE_FROM_JAVA_MEMBER_REFERENCING_KOTLIN_FUNCTION
  • KT-60886 K2: Fix testDirectoryWithRelativePath in LV 2.0 branch
  • KT-59419 K2: Missing MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES_WHEN_NO_EXPLICIT_OVERRIDE
  • KT-59748 K2: Return type mismatch: expected Unit, actual Any? for when with an assignment in branch
  • KT-60297 K2: finally block is not coerced to unit
  • KT-59860 [FIR] False-positive UNEXPECTED_SAFE_CALL
  • KT-46794 Contract not working with extension function in class
  • KT-59101 Contract not smartcasting for private extension functions inside class
  • KT-59387 K2: Missing NO_CONSTRUCTOR
  • KT-22499 Missing error on 'x == y' for different numeric types inferred from smart casts
  • KT-56867 Green in K1 -> red in K2 for unsound code. catch_end to good_finally data flow
  • KT-57526 K1: "NullPointerException: Cannot invoke "com.intellij.psi.PsiElement.getParent()" because "current" is null" with label
  • KT-46383 EQUALITY_NOT_APPLICABLE is not taking smart cast into consideration in if block
  • KT-32575 Bound smartcasts in contracts
  • KT-58331 Erroneous suspend conversion on anonymous function should not affect call resolution
  • KT-37591 Deprecate cases in FE 1.0 when companion property is prioritized against enum entry
  • KT-53210 OVERLOAD_RESOLUTION_AMBIGUITY when lambda with single argument it is involved
  • KT-51796 False positive smart cast after safe call to contract function with nullable receiver
  • KT-52782 Receiver type mismatch error due to ProperTypeInferenceConstraintsProcessing compiler feature
  • KT-57308 Incorrect property type inference after contracted smart cast of generic type
  • KT-18130 Smart cast can be broken by expression in string template
  • KT-21915 Generic parameter of a reference gets wrongly smart-casted after a cast
  • KT-22454 Unsound smartcast in nested loops with labeled break from while-true
  • KT-17694 Smart cast impossible on var declared in init block with a secondary constructor
  • KT-47895 NullPointerException in PSICallResolver.resolveToDeprecatedMod with incorrect loop range
  • KT-47378 Missed FUNCTION_CALL_EXPECTED diagnostic on wrong code with callable reference
  • KT-43408 False positive CAPTURED_VAL_INITIALIZATION on crossinline val property initialization with EXACTLY_ONCE lambda call from the init block
  • KT-35565 False negative UNINITIALIZED_VARIABLE, VAL_REASSIGNMENT, and INVISIBLE_SETTER errors in unreachable code block
  • KT-10420 Shadowed variable declaration in inner function makes compiler behave strange
  • KT-49881 "AssertionError: Base expression was not processed: POSTFIX_EXPRESSION" when analyzing dangling [bracketed] expression with postfix
  • KT-53847 Missed USAGE_IS_NOT_INLINABLE when using runCatching with the inline function's functional argument as a receiver
  • KT-53802 No smartcast after a while (true) infinite loop with break
  • KT-27754 Stack Overflow Error in pseudocode analysis
  • KT-41131 Error: java.lang.AssertionError: Rewrite at slice LEAKING_THIS when invoking non final constructor property in init block
  • KT-42962 False positive "ACCIDENTAL_OVERRIDE" when field name annotated with @JvmField conflicts with getter/setter from Java
  • KT-49507 JVM: "IllegalAccessError: class X tried to access private field" with same-named Kotlin property and Java base class field
  • KT-35752 "AE: Recursion detected in a lazy value" with type alias and inner class from another module
  • KT-28333 Smartcast is wrong if while(true) and break as a part of expression is used (possible NPE)
  • KT-28489 Smartcast is wrong if not-null assertion in while condition + break to the parent while is used (produces NPE)
  • KT-28369 Var not-null smartcasts are wrong if reassignments are used inside another expressions
  • KT-26612 Smartcast don't work in not-null checks + NotNull contract
  • KT-7676 Redundant cast of var is not redundant?
  • KT-51984 Cannot use x == null when Java class X declares equals(@NonNull)
  • KT-56249 No method equals for HttpMethod in Spring Boot 3
  • KT-56264 incorrect type inference/smart cast for exhaustive try catch
  • KT-24565 Incorrect floating point comparisons in constant expressions
  • KT-54333 False positive CONST_VAL_WITH_NON_CONST_INITIALIZER on negative literals in const vals
  • KT-53447 Leaking/unrefined types from main source set when main/test use different library versions
  • KT-35981 No smart cast and UNSAFE_CALL error when using not() function instead of inverse operator
  • KT-33132 Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclass
  • KT-55335 Don't report SUPERTYPE_NOT_INITIALIZED for annotation supertype, because FINAL_SUPERTYPE is already reported
  • KT-27936 Write InnerClasses attribute for all class names used in a class file
  • KT-53261 Evaluate effect from inline for primitive types
  • KT-31367 IllegalStateException: Concrete fake override public open fun (...) defined in TheIssue[PropertyGetterDescriptorImpl@1a03c376] should have exactly one concrete super-declaration: []
Compose Compiler
New features
  • 13b27eb Strong skipping is no longer considered experimental and is safe for use in production. It will become the default behavior in an upcoming release.
Bug fixes
Docs & Examples
New Features
  • KT-66958 [Docs][JVM] Add info about generating lambda functions like the Java compiler by default
Fixes
  • KT-63618 [Docs] Create documentation for Kotlin power-assert compiler plugin
  • KT-67902 [Docs][Wasm] K/Wasm: support new version of exception handling proposal
  • KT-67944 [Docs][K2][IDE] Update IDE support description for K2
  • KT-67865 [Docs][K2] update Kotlin Release Page
  • KT-66957 [Docs] [Gradle] Build reports are Stable
  • KT-67936 [Docs][Build tools] Update KGP variants
  • KT-67508 [Docs] Talk about the new Compose Gradle plugin
  • KT-67347 Remove docs on dropped K/JS feature "Ignoring compilation errors"
  • KT-64710 [Docs] Update What's new for 2.0.0-BetaX
  • KT-63001 K2: Organize team-wide talks about new FIR2IR & PCLA
  • KT-6259 Docs: add information about default constructor for class
IDE
  • KT-50241 Make Symbol Light Classes consistent with Ultra Light Classes
  • KT-60318 K2: disable SLC for non-JVM platforms
  • KT-56546 LL FIR: fix lazy resolve contract violation in Symbol Light Classes
  • KT-55788 [SLC] Declarations with value classes are leaked into light classes
  • KT-61195 UAST modeling of implicit it is inconsistent for Enum.entries
  • KT-62757 SLC: incorrect nullability annotation on aliased type
  • KT-62440 On the fly resolve with light method context doesn't resolve method type parameters
  • KT-57550 K2: AA: incorrect constant value in file-level annotation
  • KT-61460 SLC: unnecessary upper bound wildcards (w/ type alias)
  • KT-61377 K2: SLC: wrong retention counterpart for AnnotationRetention.BINARY
IDE. Gradle Integration
  • KT-65617 K/N project import fails if ~/.konan dir is empty
  • KT-45775 Improve quality of Import
IDE. JS
  • KT-61257 Analysis API:"KotlinIllegalArgumentExceptionWithAttachments: Invalid FirDeclarationOrigin DynamicScope" exception on unsupported JS dynamic usage in scope
IDE. Multiplatform
  • KT-45513 Run c-interop generation in parallel during project import
  • KT-63007 K2: Analysis API Standalone: klibs are not resovled from common code
  • KT-63126 K2: Analysis API Standalone: IllegalStateException from Kotlin/Native klib
  • KT-61520 Sources.jar is not imported for common and intermediate source-sets from the MPP library
IDE. Script
  • KT-61267 K2 Scripts: dependency issues
  • KT-60418 K2 scripting: highlighting sometimes fails
  • KT-60987 K2: Analysis API: make build.gradle.kts resolution work on build scripts from kotlin projects
IR. Actualizer
Fixes
  • KT-67488 K2: AssertionError No such value argument slot in IrConstructorCallImpl: 0 (total=0
  • KT-60847 K2: Fake overrides are incorrect after actualization
  • KT-65274 IrFakeOverrideBuilder: ISE: "IrFieldPublicSymbolImpl is already bound"
  • KT-63756 K2: "AssertionError: No such value argument slot in IrConstructorCallImpl" caused by actual typealias for annotation with default parameter
  • KT-65236 IrFakeOverrideBuilder: ISE: "should not be called"
  • KT-65116 K2: IrFakeOverrideBuilder: "No override for FUN" if the function has already been overridden by another class in K <- J<- K <- J hierarchy
  • KT-65499 IrFakeOverrideBuilder: ISE IrSimpleFunctionPublicSymbolImpl is already bound for irrelevant 'remove' clashing with a function from Java collection subclass
  • KT-64150 IrFakeOverrideBuilder: Fake overrides for static java functions are not generated
  • KT-65432 IrFakeOverrideBuilder - No override for FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:elementData
  • KT-64895 K2:IrActualizer corrupts attributeOwnerId value
  • KT-58861 K2: Improve the new pipeline of FIR2IR conversion, IR actualization and fake-override generation
  • KT-64835 K2: K/JS: Expect declaration is incompatible errors in the K2 QG
  • KT-63347 K2: Fix overridden symbols inside LazyDeclarations
  • KT-62535 K2: FakeOverrideRebuilder can't handle f/o without overridden symbols
  • KT-62292 K2: Extract IrActualizer into separate module
  • KT-63442 IrFakeOverrideBuilder: ISE "Multiple overrides" error when function signatures differ only in the type parameter upper bound
  • KT-62623 K2: Ir actualizer leaves inconsistent module links from files
IR. Inlining
  • KT-66017 K2 / Native: "NoSuchElementException: Sequence contains no element matching the predicate" on building native release binaries
  • KT-64868 [K/N] Inlined assert is later not removed, even without -ea
  • KT-64807 Refactor InlineFunctionResolver
  • KT-64806 Move FunctionInlining to separate module
IR. Interpreter
  • KT-64079 Native library evolution behaviour for constants
  • KT-62683 K2: FIR2IR: IrConst*Transformer doesn't evaluate an expression for const val initializer
IR. Tree
  • KT-66152 IrFakeOverrideBuilder: AssertionError "different length of type parameter lists"
  • KT-65971 K2: Investigate diagnostic test failures with IrFakeOverrideBuilder
  • KT-64974 Consolidate visibility checks in IrFakeOverrideBuilder
  • KT-61360 Fix essential problems in IrFakeOverrideBuilder
  • KT-61970 Refactor IR and FIR tree generators to reuse common logic
  • KT-61703 Drop the dependency on kotlinpoet for IR tree generation
  • KT-63437 IrFakeOverrideBuilder: ISE "Captured Type does not have a classifier" on complex Java hierarchy
  • KT-61934 Decouple building fake overrides from symbol table and build scheduling
  • KT-60923 IR: Mark IrSymbol.owner with OptIn
JavaScript
New Features
  • KT-56206 KJS / Reflection: add KClass.createInstance
  • KT-44871 Add @JsExport and @JsName annotations to stdlib classes (especially collections) to avoid method name mangling and improve Kotlin usability from JS
  • KT-8373 JS: support ES6 as compilation target
  • KT-65168 Introduce an ability to create type-safe JS objects
  • KT-45604 KJS / IR: Use globalThis instead of top level this
Fixes
  • KT-66922 K2 JS: Intrinsic Float/Double toString producing wrong numbers
  • KT-64135 K2 / KJS: Incorrect value class support when used with inline fun
  • KT-67978 K2: Declaration of such kind (expect) cannot be exported to JavaScript
  • KT-64951 Kotlin-Multiplatform does not allow JSExport of expect
  • KT-63038 Compilation of suspend functions into ES2015 generators
  • KT-16981 js: Command line arguments passed to main() are always empty
  • KT-34995 JS: List, Map, and Set types are hard to use from JS because of mangled member names
  • KT-51225 JS IR & Wasm: using nested expect enum entry in a default argument fails
  • KT-63907 KJS: default parameters in interfaces are lost in implementations
  • KT-64708 KJS: exported interfaces missing __doNotUseOrImplementIt when extending from external types
  • KT-62806 KJS: Type mismatch on inferred return type with Nothing
  • KT-64421 K2: Implement IrJsTypeScriptExportTestGenerated for K2
  • KT-61526 KJS: Compiled files clash with the new per-file granularity
  • KT-63359 K2: support new ways to declare TestResult in JS TestGenerator lowering
  • KT-61929 KJS: "IllegalStateException: No dispatch receiver parameter for FUN LOCAL_FUNCTION_FOR_LAMBDA" caused by run function in init block
  • KT-65216 K2 JS: False positive JS_NAME_CLASH diagnostic on generic interface
  • KT-64548 KJS / K2: "Cannot find delegated constructor call" caused by external classes constructors
  • KT-64867 K2 JS: Name clash between constructors with same JsName but in different classes
  • KT-64463 KJS / K2: "Name contains illegal chars that cannot appear in JavaScript identifier" caused by non-ASCII character
  • KT-64451 K2: Implement MultiModuleOrderTestGenerated for K2
  • KT-64450 K2: Implement SourceMapGenerationSmokeTestGenerated for K2
  • KT-64366 KJS / K2: Exported declaration uses non-exportable return type: 'kotlin.?'
  • KT-64426 K2: Implement JsIrLineNumberTestGenerated for K2
  • KT-64422 K2: Implement IrJsSteppingTestGenerated for K2
  • KT-64364 K2 / KJS: @JSExports generates clashing declarations for companion objects that extends its own class
  • KT-64445 K2: Implement **VersionChangedTestGenerated for K2
  • KT-64446 K2: Implement JsIrInvalidationPerFileWithPLTestGenerated for K2
  • KT-64423 K2: Implement JsIrES6InvalidationPerFileTestGenerated for K2
  • KT-63543 KJS / K2: Exported declaration uses non-exportable return type type: 'kotlin.Unit'
  • KT-61596 K2 JS: support reporting PRE_RELEASE_CLASS
  • KT-61117 Migrate remaining legacy IC tests to IR
  • KT-61523 KJS: Call main function in per-file mode
  • KT-63089 KJS / K2 : "IllegalArgumentException: source must not be null " for inner class and interface as type
  • KT-56818 KJS: "TypeError: Class constructor * cannot be invoked without 'new'" when extending external class
  • KT-62077 KJS: TypeError: str.charCodeAt is not a function
  • KT-63436 K/JS: Eliminate names for synthetic classes in setMetadataFor()
  • KT-63013 KJS: requireNotNull not working correctly in JS tests with Kotlin 1.9.20
  • KT-61525 KJS: Test functions are not invoked in per-file mode
  • KT-62425 K/JS: Implement K2 and K1 diagnostics for checking argument passing to js()
  • KT-61524 KJS: Eager initialization doesn't work in per-file mode
  • KT-61862 KJS: Can't create kotlin.js.Promise inheritor
  • KT-61710 K/JS: Implement JS_NAME_CLASH check for top level declarations
  • KT-61886 K/JS: Prepare K/JS tests for JS IR BE diagnostics
  • KT-60829 Fix JS Incremental tests in 2.0 branch
  • KT-60635 K/JS: Class internal methods may clash with child methods from other module that have the same name
  • KT-60846 Fix IncrementalJsKlibCompilerWithScopeExpansionRunnerTestGenerated test in 2.0 branch
KMM Plugin
  • KT-59270 Update wizards in KMM AS plugin after 1.9.20 release
  • KT-60169 Generate gradle version catalog in KMM AS plugin
  • KT-59269 Update wizards in KMM AS plugin after 1.9.0 release
Klibs
New Features
  • KT-66367 KLib ABI dump: support wasm_target manifest attribute
  • KT-65442 [klibs] header klibs: keep internal declarations and declarations inside inlines
  • KT-62213 [klibs] header klibs should keep private interfaces
  • KT-62259 KLIB ABI reader: add information about a backing field to AbiProperty
  • KT-62341 [KLIB tool] Dump declared & imported signatures by IR (not metadata)
  • KT-60807 [klib] Add an option to write out header klibs
Fixes
  • KT-67401 KLib ABI dump: write plain targets in the manifest
  • KT-66970 K2: "IrLinkageError: Function * can not be called" when calling @JvmStatic functions in Native test
  • KT-64440 K2: Port KotlinKlibSerializerTest to K2
  • KT-66921 K/JS backend doesn't report "/ by zero" and fails with const val property must have a const initializer
  • KT-66611 Check, that no bad IR is produced, when we failed to compute constant default value in constant context
  • KT-33411 Kotlin/Native crashes if several libraries have declarations with the same FQ name
  • KT-44626 Umbrella issue: different kinds of klib IR linker error messages
  • KT-64452 K2: Port FilePathsInKlibTest to K2
  • KT-64395 API for ABI: Add a check for the file's existence to KLIB ABI Reader
  • KT-61143 [klib tool] Dump IR with unbound symbols
  • KT-65723 K2: Signature clash diagnostic fails for parametrized function with Unsupported pair of descriptors
  • KT-65063 Clashing KLIB signatures from different modules result in an exception
  • KT-64085 Different klib signatures for K1/K2 for overridden properties assigned in init block
  • KT-63573 K2: Dependency problems with dependencies with same artifact id
  • KT-64082 Different klib signatures in K1/K2 for the same locally used constant declaration
  • KT-63931 [K/N] Relative path to klib option of cinterop tool doesn't work
  • KT-60390 KLIBs: Wrong IrSymbol is used for deserialized expect property's backing field & accessors
  • KT-61136 Drop ExpectActualTable + clean-up the relevant code
  • KT-61767 [K/N] Header klibs should keep private underlying properties of value classes
  • KT-61097 [PL] Don't create an executable if there were errors in PL
Language Design
New Features
  • KT-64510 Proceed to next tower level if property setter is invisible in assignment
  • KT-59553 K2: Simplify rules for upper bound violated checks for qualifier in LHS of class literal
  • KT-11272 Resolve combined index-accessed get and set operators
  • KT-65682 Deprecate header/impl keywords
  • KT-65965 KMP: Parameter properties in constructor of external class
  • KT-57274 Allow generic argument to have explicit Nothing upper bound
  • KT-1982 Smart cast to a common supertype of subject types after || (OR operator)
  • KT-65964 KMP: Private constructor in external classes
  • KT-37316 Allow actual classifier to have more permissive visibility than visibility of expect classifier
  • KT-58616 KMP: consider relaxing the classifier visibility matching rules
  • KT-37115 Smart cast with boolean expressions and early return / throw statements
  • KT-7186 Smart cast for captured variables inside changing closures of inline functions
  • KT-62138 K1: false positive (?) NO_SET_METHOD for += resolved as a combination of Map.get and plus
Performance Improvements
  • KT-38101 Exponential analysis of += calls
Fixes
  • KT-64187 K2: False positive ABSTRACT_NOT_IMPLEMENTED caused by the fact that common code sees platform code of its dependencies
  • KT-57290 Deprecate smart cast on base class property from invisible derived class if base class is from another module
  • KT-54309 Deprecate use of a synthetic setter on a projected receiver
  • KT-61718 Forbid unsound code with self upper bounds and captured types
  • KT-54607 Can't use same function if having multiple instances of same subtype in same when-statement
  • KT-27252 Smart cast in when on a sealed class depends on the order of "is" checks
  • KT-57178 Change inferred type of prefix increment to return type of getter instead of return type of inc() operator
  • KT-61749 Forbid unsound bound violation in generic inner class of generic outer class
  • KT-64342 SAM conversion of parameter types of callable references leads to CCE
  • KT-64299 Companion scope is ignored for resolution of annotations on companion object
  • KT-66453 Consistently resolve operator/infix calls like function calls in presence of classifier candidate for receiver
  • KT-62923 K2: Introduce PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE for projections of outer super types of inner class
  • KT-65724 Propagate data flow information from try block to catch and finally blocks
  • KT-65750 Increment and plus operators that change return type must affect smart casts
  • KT-58881 K2: Run checkers in common code against platform session
  • KT-62646 Decide on the equality compatibility
  • KT-65775 K2: Consider prohibiting actual typealias to superclass
  • KT-65881 K2: Missing ITERATOR_MISSING in for loop on object
  • KT-61340 K2: Allowed smart cast in common which should be prohibited in platform
  • KT-51827 Inconsistent behavior with smartcast and protected members
  • KT-58589 Deprecate missed MUST_BE_INITIALIZED when no primary constructor is presented or when class is local
  • KT-26983 Gradle buildscript (kotlin-dsl): "Smart cast to 'Foo' is impossible" due to same variable names
  • KT-62959 Value of captured type is not a subtype of the same captured type
  • KT-64828 Update KEEP for SubclassOptInRequired
  • KT-64739 Mark @SubclassOptInRequired as an experimental
  • KT-26044 When expression is not considered to be exhaustive for empty nullable sealed and enum classes
  • KT-57422 K2: Prohibit use-site 'get' targeted annotations on property getters
  • KT-58921 K1/K2: difference in Enum.values resolve priority
Libraries
New Features
  • KT-65532 Stabilize experimental API for 2.0
  • KT-60657 Introduce Common String.toCharArray(destination) in stdlib
  • KT-57150 Introduce common protected property AbstractMutableList.modCount
  • KT-57151 Introduce common protected function AbstractMutableList.removeRange
  • KT-66102 Constructor-like function for creating AutoCloseable instances
  • KT-59441 Design reading and writing future versions of Kotlin metadata
Performance Improvements
  • KT-64361 Optimization opportunity in Int.sign
  • KT-65590 Make CharSequence.isBlank idiomatic and improve its performance
  • KT-61488 Kotlin/Native stdlib: simplify ArrayList implementation
  • KT-51058 Avoid byte array allocation in File.writeText when possible
  • KT-58588 Optimizations for sequence functions distinct, flatten
Fixes
  • KT-67397 Switch remaining org.jetbrains.kotlin libs to K2
  • KT-61969 Migrate kotlin-test to the current Kotlin Multiplatform Plugin
  • KT-60803 Experimental AutoCloseable 'use' method is not resolved in Java
  • KT-63156 Remove all deprecated declarations in kotlinx-metadata-jvm
  • KT-54879 Add callsInPlace contract for more functions in stdlib
  • KT-55777 Unresolved kotlin.AutoCloseable in JVM
  • KT-63219 Change root package and coordinates of kotlinx-metadata-jvm to kotlin.*
  • KT-65518 Memory leak in buildMap and in Wasm/Js/Native (Linked)HashMap
  • KT-65525 JS: Wrong return value of HashMap.keys.remove
  • KT-63397 kotlin-test should declare runtime dependency on "org.junit.platform:junit-platform-launcher"
  • KT-65242 Update transitive dependencies of JVM test frameworks in kotlin-test
  • KT-63355 Detect concurrent modifications in ArrayDeque
  • KT-64956 Implement optimized removeRange for ArrayDeque
  • KT-58039 Wasm: Implement unsigned numbers using wasm builtin capabilities
  • KT-63341 K2: JVM StringBuilder has no corresponding members for expected class members
  • KT-63714 K2: kotlinx-benchmarks fails with "Unable to find method ''org.gradle.api.tasks.TaskProvider" with register("js")
  • KT-63157 Make sure that all deprecation levels are raised to ERROR for declarations intended for removal from kotlinx-metadata
  • KT-60870 kotlinx.metadata.InconsistentKotlinMetadataException: No VersionRequirement with the given id in the table In kotlinx-metadata-jvm
  • KT-64230 Prohibit writing versions of metadata that are too high
  • KT-62346 Sublists of ListBuilder does not correctly detect ConcurrentModification
  • KT-57922 kotlinx-metadata-jvm does not take into account strict semantics flag
  • KT-63447 K2: stdlib buildscript error: file included in two modules
  • KT-62785 Drop unnecessary suppresses in stdlib after bootstrap update
  • KT-62004 Drop legacy JS compilations of stdlib and kotlin-test
  • KT-61614 WASM: Enum hashCode is not final
Multiplatform Wizard
  • KT-66188 Update Compose for Desktop version to 1.6.0
Native
New Features
  • KT-61642 [K/N] Serialize full IdSignatures to caches
Performance Improvements
  • KT-63749 konan_lldb.py: is_string_or_array inefficient
Fixes
  • KT-67218 Native: nested classes in kx.serialization ProtoBuf produce empty array for release binary
  • KT-66390 Universal binary in included binaries produces universal archive as output
  • KT-60817 K2/N: Fix remaining tests
  • KT-65659 [K/N][K2] Typealiased kotlin.Throws isn't translated to NSError out param
  • KT-64249 Native: Implicit cache directory search is O(n^2)
  • KT-61695 [K/N] Empty list error in FakeOverridesActualizer with K2
  • KT-57870 compileKotlinNative fails on windows if PATH contains invalid entry
  • KT-64508 IndexOutOfBoundsException in Konan StaticInitializersOptimization
  • KT-50547 [Commonizer] K/N echoServer sample fails with multiple "Unresolved reference" errors on Windows
  • KT-62803 Konanc has print statement "Produced library API in..." that should be deleted or properly logged at INFO level
  • KT-61248 [K/N] Extract native manglers out of backend.native module
Native. Build Infrastructure
  • KT-63905 Extract ObjC Export Header generation from K/N backend
  • KT-63220 [K/N] Unable to specify custom LLVM distribution
Native. C and ObjC Import
  • KT-63049 NPE in BackendChecker.visitDelegatingConstructorCall compiling ObjC-interop class
  • KT-49558 Kotlin/Native: "Backend Internal error: Exception during IR lowering" while compiling "val ldap = memScoped { alloc() }"
  • KT-64105 [K2/N] cannot access Objective-C forward declared class used only in a dependent lib
  • KT-59597 [K\N] Usage of instancetype in block return type crashes
  • KT-63287 [K/N] Create test model for building/executing C-Interop tests
  • KT-63048 K2 ObjC interop: Fields are not supported for Companion of subclass of ObjC type
Native. ObjC Export
  • KT-66565 Exporting framework "umbrella" produces an unimportable framework
  • KT-65863 Native: implement a flag to emit compiler errors on ObjCExport name collisions
  • KT-63153 Native: implement a flag to emit compiler warnings on ObjCExport name collisions
  • KT-62091 KMP for iOS framework with private api : __NSCFBoolean
Native. Runtime
  • KT-65170 Kotlin/Native: deprecate -Xworker-exception-handling=legacy with error
Native. Runtime. Memory
  • KT-62689 Native: generate signposts for GC performance debugging
  • KT-63423 Kotlin/Native: huge dispose-on-main overhead
  • KT-66371 Native: nullptr access during concurrent weak processing in CMS GC
  • KT-64313 Kotlin Native: Seg Fault during Garbage Collection on 1.9.21 (observed on iOS)
  • KT-61093 Kotlin/Native: enable concurrent weak processing by default
Native. Stdlib
  • KT-60514 Add llvm filecheck tests for atomic intrinsics
Native. Testing
  • KT-67501 Mute flaky driver tests on macOS agents
  • KT-64755 Setup test for CMS GC
  • KT-66014 [K/N][Tests] Some testsuites don't test two-stage compilation and lose -language-version flag
  • KT-64393 Use Compiler Core test infrastructure for testing serialization diagnostics on Native
  • KT-61871 Native CompilerOutput tests should be runned for K2
  • KT-65117 Implement IrBackendFacades for Kotlin/Native backend
  • KT-65979 Improve test coverage on K/JS and K/JVM with existing tests
  • KT-64408 [K/N] No tests have been found for eagerInitializationGlobal1 test with per-file-caches
  • KT-64256 IR_DUMP directive doesn't enforce FIR_IDENTICAL when it is possible
  • KT-62157 Native: Migrate FileCheck tests to new native test infra
Reflection
  • KT-65156 Calls to callBy that use default arguments fail with KotlineReflectionInternalError when the argument size is a multiple of 32 in a constructor that contains value class as a parameter
  • KT-57972 Reflection: "KotlinReflectionInternalError" when using callBy with overridden function in inline class
  • KT-60708 Reflection: Not supported ) (parentheses in backticks)
  • KT-60984 K2: java.lang.ClassNotFoundException: kotlin.Array in runtime with Spring Boot test
  • KT-60709 Reflection: Not recognized bound receiver in case of 'equals' always returning true
Specification
  • KT-65651 Add Vladimir Reshetnikov to the specification "Acknowledgments" section
  • KT-54499 Update kotlin specification for non-local break and continue
Tools. Build Tools API
  • KT-61860 Add infrastructure for BTA tests
  • KT-65048 "Can't get connection" (to daemon) when classpath has spaces
Tools. CLI
New Features
  • KT-66703 Add JVM target bytecode version 22
  • KT-64989 Mark the whole diagnostic position range instead of only start position
Fixes
  • KT-65094 K2: Revise PerformanceManager reporting
  • KT-67417 CLI: Remove option -Xrepeat
  • KT-65451 K2: CLI: false positive warning "scripts are not yet supported with K2 in LightTree mode" on irrelevant files in source directory
  • KT-65842 K2 / CLI: "kotlinc -version" creates META-INF/main.kotlin_module
  • KT-66926 Add a flag to report warnings when errors are found
  • KT-64384 Until the REPL in K2 is not supported, display an appropriate warning
  • KT-64608 K2: Wrong end position of compiler diagnostics
  • KT-64013 CLI REPL: "com.sun.jna.LastErrorException: [14] Bad address" on invoking kotlinc from CLI on ARM Mac
  • KT-62644 Don't enable in progressive mode bug-fix features without target version
  • KT-62350 CLI: no color output on Apple silicon Macs
  • KT-61156 K2: do not try to run compilation if there were errors during calculation of Java module graph
  • KT-48026 Add the compiler X-flag to enable self upper bound type inference
Tools. CLI. Native
Tools. Commonizer
  • KT-64376 Commonizer incorrectly retains UnsafeNumber annotation in target sets where it shouldn't
Tools. Compiler Plugin API
  • KT-59555 Expose resource closing extension point in CompilerPluginRegistrar
  • KT-64444 K2: IrGeneratedDeclarationsRegistrar.addMetadataVisibleAnnotationsToElement doesn't work for declarations in common module
Tools. Compiler Plugins
New Features
  • KT-63617 Add kotlin-power-assert to Kotlin repository
  • KT-33020 Support stripping debug information in the jvm-abi-gen plugin
  • KT-64591 Data class' copy method is never stripped from ABI
  • KT-65690 jvm-abi-gen: Remove internal declarations from ABI
  • KT-64590 jvm-abi-gen: Effectively private classes are not being removed from ABI
Fixes
  • KT-64707 K2: Parcelize ignores @TypeParceler set for typealias
  • KT-67523 [K2] Actualizer cannot reconcile mismatched parameter names from java supertypes
  • KT-67489 JsPlainObjects Plugin: Method not found when consuming
  • KT-63607 Migrate kotlin-power-assert into Kotlin repository
  • KT-67354 K2 Parcelize: support efficient Parcel serializer for parcelables in the same module
  • KT-64454 K2: Implement ParcelizeIrBytecodeListingTestGenerated for K2
  • KT-67353 K2 Parcelize: support parcelableCreator intrinsic
  • KT-66526 K2: Special function kind setup does not work for value parameter whose type is function with a receiver
  • KT-63507 K2 / All-open plugin: "'open' has no effect on a final class" warning
  • KT-66208 PowerAssert: some built-in operators are not aligned correctly for some values
  • KT-65810 PowerAssert: Infix transformation doesn't capture full context
  • KT-65640 PowerAssert: Infix function not aligned correctly
  • KT-61993 K2: Synthetic file classes are generated with start offset of 0, causing errors during compilation
  • KT-64971 Exception is thrown when compiling kotlinx.coroutines to Native because of the new signature clash diagnostics
  • KT-59074 K2: false-positive MUST_BE_INITIALIZED_OR_FINAL_OR_ABSTRACT if allOpen plugin is used and a val is defined with init {} block
  • KT-64589 jvm-abi-gen: Order of class members affects ABI jar
  • KT-65072 jvm-abi-gen: SourceDebugExtension annotation isn't stripped along with corresponding attribute
  • KT-54025 [K2] [NONE_APPLICABLE] compiler error in case @​ AllArgConstructor annotation is used together with a static field
  • KT-54054 [Lombok] An extra unneeded constructor parameter is expected by compiler if java class annotated with @​ AllArgsConstructor and has private final initialized field
  • KT-61432 K2 Parcelize. RawValue is not recognized if parameter is annotated via typealias
  • KT-64656 K2: realm-kotlin: compilation errors in IR plugin
  • KT-53861 K2. Report SERIALIZER_TYPE_INCOMPATIBLE on specific type argument in kotlinx.serialization
  • KT-63086 K2: "Parcelable should be a class"
  • KT-60849 jvm-abi-gen: do not treat hasConstant property flag as a part of ABI for non-const properties
  • KT-53926 K2. Don't check serializable properties from supertypes
Tools. Compiler plugins. Serialization
  • KT-65757 K2: Missing @Deprecated annotation on synthesized declarations
  • KT-63539 K2: Missing "Serializable class has duplicate serial name of property"
  • KT-63570 K2 / Serialization: "Class * which is serializer for type * is applied here to type *. This may lead to errors or incorrect behavior."
  • KT-64447 K2: Implement Serialization...IrBoxTestGenerated for K2
  • KT-63591 K2: "KotlinReflectionInternalError: Could not compute caller for function" on generated internal constructor
  • KT-64124 Different klib signatures in K1/K2 for a serializable class
  • KT-63402 K2 / Serialization: "SyntheticAccessorLowering should not attempt to modify other files!" caused by sealed base with generic derived class in separate files
  • KT-62215 Serialization / Native: "IllegalArgumentException: No container found for type parameter" caused by serializing generic classes with a field that uses generics
  • KT-62522 K2 + kotlinx.serialization + Native: NPE when generic base class has inheritor in other module
Tools. Daemon
  • KT-64283 Configure correct JVM arguments when starting the daemon
Tools. Fleet. ObjC Export
Fixes
  • KT-66695 Move analysis-api-klib-reader package into 'o.j.k.native.analysis.api`
  • KT-65384 ObjCExport: class super name special case
  • KT-66380 ObjCExport: support interface implementation
  • KT-65670 ObjCExport: Naming: Support additional module based prefix
  • KT-64953 ObjCExport: Analysis-Api: enum
  • KT-65348 ObjCExport: Char as function return type
  • KT-65738 ObjCExport: Analysis-Api: Generate base declarations
  • KT-65204 ObjCExport: Analysis Api: Support nested classes
  • KT-65225 ObjCExport: implement KtCallableSymbol.isArray
  • KT-65108 ObjCExport: Tests: Check if 'requirePlatformLibs' is necessary
  • KT-65281 ObjCExport: AA: Run already passing Unit Tests on CI
  • KT-65080 ObjCExport: Analysis-Api: error handling
  • KT-64952 ObjCExport: Analysis-Api: object
  • KT-64076 ObjCExport: Do not retain descriptors in stubs
  • KT-64227 ObjCExport: Extract Header Generation to base module
  • KT-64168 ObjCExport: Split header generator module into K1 and Analysis Api
  • KT-64869 ObjCExport: Analysis-Api: Support 'MustBeDocumented' annotations
  • KT-64839 ObjCExport: Enable tests on CI for aggregate
  • KT-64888 ObjCExport: Analysis Api: Support exporting KDoc
Tools. Gradle
New Features
  • KT-67253 Support per-target configuration in compose-compiler-gradle-plugin
  • KT-67006 Create new compose compiler Gradle plugin
  • KT-62921 Add API to allow getting the version of the kotlinc compiler
  • KT-61975 Re-purpose kotlin.experimental.tryK2
  • KT-64653 Add Kotlin DslMarker into Gradle plugin DSL
  • KT-59627 FUS base plugin
  • KT-62025 K/Wasm: Support binaryen for wasi
Performance Improvements
  • KT-60664 Gradle 8.3: KGP eagerly creates compile task
  • KT-64353 Improve reuse of Build Tools Api's classloader
  • KT-66912 Parallel compilation slowdown due to synchronization
  • KT-63005 Avoid registering KMP related compatibility/disambiguration rules for pure JVM/Android projects
Fixes
  • KT-58768 Support configuration cache and project isolation for FUS statistics
  • KT-65143 Use the new ConfigurationContainer dependencyScope method to create dependency declaration configurations
  • KT-62640 Compatibility with Gradle 8.5 release
  • KT-62639 Compatibility with Gradle 8.4 release
  • KT-59024 Compatibility with Gradle 8.3 release
  • KT-58064 Compatibility with Gradle 8.2 release
  • KT-64355 Add plugin variant for gradle 8.5
  • KT-67746 Indicate for users they need to apply the new Kotlin Compose Gradle plugin
  • KT-67387 Enable intrinsic remember by default in compose compiler gradle plugin
  • KT-64115 KGP + JVM/JS/WASM: The same library can be passed twice to the compiler
  • KT-67762 Rename Kotlin Compose Compiler plugin on Gradle portal
  • KT-64504 Remove ownModuleName from AbstractKotlinCompile
  • KT-67778 Clarify documentation for compose metricsDestination property
  • KT-67139 Build reports can be overridden
  • KT-67138 Json report is empty for incremental compilation
  • KT-67685 KotlinBaseApiPlugin regression with Gradle's Configuration Cache in 2.0.0-RC1
  • KT-64567 [FUS] Add boolean flag into kotlin.gradle.performance collector
  • KT-67515 Remove 'experimental' from compose strong skipping mode
  • KT-67441 Gradle remote cache misses in the compose plugin
  • KT-67602 Compose gradle plugin: a deprecated plugin option 'experimentalStrongSkipping' is added by default that causes a warning
  • KT-67200 Compose gradle plugin: 'suppressKotlinVersionCompatibilityCheck' option is duplicated if added as a kotlin option for the KotlinCompile task and kapt is used
  • KT-67216 Compose compiler plugin: false-positive versions incompatibility is reported
  • KT-64379 Remove kotlin.useK2 gradle property
  • KT-62939 Bump minimal supported AGP version to 7.1
  • KT-63491 Restore access to top-level DSL to configure compiler options in MPP
  • KT-65935 Track project isolation Gradle feature
  • KT-65934 Track if Gradle configuration cache is enabled in the user builds
  • KT-66459 PowerAssert: Improve design of excludedSourceSets extension property
  • KT-64203 Throw exception when old build report properties are used
  • KT-62758 Gradle: make precise task outputs backup enabled by default
  • KT-65568 Deprecate the ability to configure compiler options in KotlinCompilation
  • KT-63419 Deprecate 'kotlinOptions' DSL
  • KT-64848 Log K/Native compiler arguments with log level specified for compiler arguments
  • KT-58223 Kotlin Gradle plugin shouldn't store data in project cache directory
  • KT-61913 Validate LanguageSettings KDoc
  • KT-61171 CompilerPluginsIncrementalIT.afterChangeInPluginBuildDoesIncrementalProcessing doesn't provide a compiler plugin for K2 leading to the test failure
  • KT-62131 Could not isolate value org.jetbrains.kotlin.gradle.plugin.statistics.BuildFlowService$Parameters_Decorated@63fddc4b of type BuildFlowService.Parameters
  • KT-66961 Early access to gradle.rootProject leads to an exception
  • KT-61918 Removal of an associated compilation from a build script doesn't lead to full recompilation
  • KT-63619 Add Kotlin power-assert compiler plugin to feature usage statistics gathering
  • KT-62108 Wrong scope of compiler options is used while configuring options for all targets and all compilations
  • KT-55322 Kotlin daemon: Cannot perform operation, requested state: Alive > actual: LastSession
  • KT-66429 Move WASM stability warning to KGP Tooling Diagnostics and report it once per build
  • KT-63165 Gradle: checkKotlinGradlePluginConfigurationErrors uses deprecated Gradle behavior
  • KT-66374 Diagnostic for deprecated properties: false-positive warning is reported for kapt.use.k2property
  • KT-64117 K2: "'when' expression must be exhaustive" state does not fail compilation
  • KT-58443 Change deprecation level to WARNING for KotlinOptions
  • KT-65768 Don't pass -Xfragment-sources for non-mpp compilations
  • KT-62398 KMP: Compose breaks resolution of stdlib declarations in common source set
  • KT-64046 Provide K/N version to KGP when -Pkotlin.native.enabled=true
  • KT-66154 Cannot access 'org.slf4j.spi.LoggingEventAware' in the Space K2 QG
  • KT-65952 PowerAssert: Update Gradle extension to be more idiomatic
  • KT-65951 PowerAssert: Add Gradle integration tests to compiler plugin
  • KT-66373 [Wasm, KGP] Npm is not configured for JS usagе for wasmWasi project
  • KT-66314 Build reports in JSON: property 'kotlin.build.report.json.directory' without value causes NPE
  • KT-64380 Add project diagnostics for deprecated properties
  • KT-65986 GradleDeprecatedOption.removeAfter does not actually remove arguments from the compilerOptions/kotlinOptions DSLs
  • KT-65989 Compile against Gradle API 8.6
  • KT-65819 Build Gradle Plugins against Gradle 8.5 API
  • KT-65701 Limit Gradle daemon max memory in integration tests
  • KT-65708 Flaky tests because of ivy repos in Integration Tests
  • KT-56904 Enable warnings-as-error for Kotlin Gradle plugins compilation
  • KT-65606 Out of memory in Anki Android in the K2 QG
  • KT-65347 K/N has not been dowloaded before :commonizeNativeDistribution
  • KT-65213 Collect logic for FUS metrics calculation in one place
  • KT-61698 Compiler options configured inside metadata {} target set up all targets in a project
  • KT-64824 Move validateParameters from CInteropProcess to diagnostics
  • KT-60879 Deprecation warning on trying to configure Configuration multiple times
  • KT-64251 KGP: Cannot re-use tooling model cache with Project Isolation due to "~/.gradle/kotlin-profile" changing
  • KT-64655 K2: PeopleInSpace: K2 build fails during Gradle config
  • KT-63697 The warning is still presented in terminal after suppressing it with -Xexpect-actual-classes flag
  • KT-62527 Gradle: get rid of the Project.buildDir usages
  • KT-60733 Allow specify log level for compiler arguments used to compile sources
  • KT-63369 Fix: "The org.gradle.api.plugins.BasePluginConvention type has been deprecated."
  • KT-63368 Fix "The automatic loading of test framework implementation dependencies has been deprecated. "
  • KT-63601 Fetching Gradle compiler DSL objects using raw strings is inconvenient in the Groovy DSL
  • KT-62955 Missing static accessors for Wasm targets in Kotlin Gradle plugin DSL:
  • KT-62962 Remove COMPILE_INCREMENTAL_WITH_ARTIFACT_TRANSFORM system property
  • KT-62264 Send build type report metric to FUS
  • KT-62650 Gradle: Return the usage of kotlin-compiler-embeddable back
  • KT-61295 KotlinTestReport captures Project.buildDir too early
  • KT-62987 Add tests for statistics plugin in Aggregate build
  • KT-62964 Build Gradle plugin against Gradle 8.4 API
  • KT-62617 Update report configuration project FUS metrics
  • KT-61896 Gradle: compilation via build tools API doesn't perform Gradle side output backups
  • KT-62016 ClassNotFoundException on org.jetbrains.kotlin.backend.common.serialization.metadata.DynamicTypeDeserializer in the K2 QG
  • KT-56574 Implement a prototype of Kotlin JVM compilation pipeline via the build tools API
  • KT-61206 Build system classes may leak into the Build Tools API classloader
  • KT-61737 GradleStyleMessageRenderer.render misses a space between the file and the message when location is (line:column = 0:0)
Tools. Gradle. Cocoapods
  • KT-57650 Gradle Cocoapods: use pod install --repo-update instead of pod install
  • KT-63331 CocoaPods plugin noPodspec() causes "property * specifies file * which doesn't exist."
Tools. Gradle. JS
Fixes
  • KT-55620 KJS / Gradle: plugin doesn't support repositoriesMode
  • KT-65870 KJS / Gradle: kotlinUpgradePackageLock fails making Yarn unusable
  • KT-66917 JS/Wasm: Upgrade NPM dependencies
  • KT-63040 K/JS: Rework outputs of webpack and distribution task
  • KT-61992 KJS / Gradle: KotlinJsTest using KotlinMocha should not show output, and should not run a dry-run every time.
  • KT-65295 Gradle: K/N and K/JS tests may produce unrequested TeamCity service messages
  • KT-63435 KJS: Get rid of deprecated outputFileProperty of Kotlin2JsCompile
  • KT-61294 NodeJsRootExtension captures Project.buildDir too early
  • KT-59282 K/JS: KotlinJsIrLinkConfig is not compatible with Configuration Cache in Gradle 8.1.1
  • KT-62780 K/JS: Deprecate node-specific properties in NodeJsRootExtension
  • KT-63544 KGP: JS - KotlinJsIrLink is not compatible with Gradle CC starting 8.4
  • KT-63312 KJS: Apply IR flags for JS compilations unconditionally
  • KT-62633 wasmWasi/JsNodeTest tasks are always not up-to-date
  • KT-63225 java.lang.ClassNotFoundException: org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation in the K2 QG
  • KT-41382 NI / KJS / Gradle: TYPE_MISMATCH caused by compilations.getting delegate
  • KT-53077 KJS / Gradle: Remove redundant gradle js log on kotlin build
  • KT-56300 KJS / Gradle: plugin should not add repositories unconditionally
  • KT-60694 KJS: Remove K/JS legacy support from Gradle plugin
  • KT-56465 MPP: Import with npm dependency fails with "UninitializedPropertyAccessException: lateinit property fileHasher has not been initialized" if there is no selected JavaScript environment for JS target
  • KT-41578 Kotlin/JS: contiuous mode: changes in static resources do not reload browser page
Tools. Gradle. Kapt
  • KT-62518 kapt processing is skipped when all annotation processors are indirect dependencies
  • KT-27404 Kapt does not call annotation processors on custom (e.g., androidTest) source sets if all dependencies are inherited from the main kapt configuration
  • KT-22261 Annotation Processor - in gradle, kapt configuration is missing extendsFrom
Tools. Gradle. Multiplatform
New Features
  • KT-66047 KMP: Isolate dependencies graph between main and test source sets
  • KT-61559 Include stdlib and platform dependencies to KotlinNativeCompilation.compileDependencyFiles API
  • KT-65196 Add high-level DSL to configure compiler options in the multiplatform project
Performance Improvements
  • KT-57141 K2: KotlinCompile task input named 'multiplatformStructure.fragments.$0.sources' is tracked in a pure JVM kotlin project together with changes of sources
Fixes
  • KT-65315 KMP Composite compileIosMainKotlinMetadata fails with "Could not find "
  • KT-67042 K2: Unresolved reference 'convertRadiusToSigma'
  • KT-66983 MPP Configuration Cache IT fails with Gradle 8.7 on windows
  • KT-60489 Android-java only consumers (no KGP applied) choose Java-variant instead of Android-variant when depending on MPP library
  • KT-67806 KMP import fails if android target has flavors
  • KT-67636 Gradle configuration error when use withJava()
  • KT-63536 KMP: MetadataDependencyTransformationTask is not Thread Safe
  • KT-67127 KMP: IDE Dependency Resolver for CInterops reports errors on linux and windows machines
  • KT-66514 Don't get output file from Cinterop task for IDE Import if host os doesn't support it
  • KT-65426 K2: Debug compilation fails because code from main source set included in two K2 fragments
  • KT-65480 MissingNativeStdlibChecker checks existence of konanDistribution.stdlib during configuration phase
  • KT-61945 Report redundant dependsOn-edges
  • KT-65187 Remove deprecated platform plugins ids
  • KT-49919 Introduce the org.gradle.jvm.environment attribute on JVM and Android published variants (both for MPP and non-MPP libraries)
  • KT-66419 Remove useless API: Kotlin compilation level compiler options DSL
  • KT-64913 Report warning if user has multiple source set roots for a certain compilation
  • KT-66563 Stop including resources to metadata klib
  • KT-61078 K2: Compilation fails in FirSerializer trying to serialize nested class
  • KT-66372 KMP: JVM dependency can be downgraded by metadata dependency
  • KT-66431 KMP: External Target Compilation friendArtifactResolver throws ClassCastException
  • KT-64995 KonanPropertiesBuildService is not compatible with Project Isolation
  • KT-61430 K2/KMP: metadata compilation fails with Unresolved reference for property in actual class
  • KT-63753 K2: File "does not belong to any module" when it is generated by registerJavaGeneratingTask in AGP
  • KT-62508 Merge Android Source Sets into one K2 Fragment
  • KT-61943 Mark the checkKotlinGradlePluginConfigurationErrors as UP-TO-DATE when possible
  • KT-63206 Deprecate eager CInteropProcess.outputFile in favor to lazy outputFileProvider
  • KT-65248 Native compile task fail with ClassNotFoundException: org.jetbrains.kotlin.cli.utilities.MainKt
  • KT-56440 TCS: Gradle Sync: Add API to populate extras only during sync
  • KT-64629 Gradle configuration fails: 'fun jvmToolchain(jdkVersion: Int): Unit' can't be called in this context by implicit receiver
  • KT-63226 KGP Multiplatform Ide Dependency Resolution: Use gradle variants instead/in addition of ArtifactResolutionQuery
  • KT-60734 Handle the migration from ios shortcut and source set with getting
  • KT-63197 After using Kotlin 1.9.20 on Windows 11, the gradle sync failed
  • KT-61540 K2: KMP/K2: Metadata compilations: Discriminate expect over actual by sorting compile path using refines edges
  • KT-60860 K2: Fix KotlinNativeCompileArgumentsTest in 2.0 branch
  • KT-61463 KMP: Remove unused 'kpm' code
  • KT-40309 A call of a declaration with actual typealiases is incorrectly successfully compiled in commonTest using the type from actual part
Tools. Gradle. Native
New Features
  • KT-49268 Only download Kotlin/Native Compiler when there are valid targets
Performance Improvements
  • KT-58303 Kotlin multiplatform Gradle plugin downloads Kotlin/Native compiler during configuration
Fixes
  • KT-67522 K/N toolchain: unclear compilation error if path specified as a value for the kotlin.native.home doesn't provide the kotlin native compiler downloaded
  • KT-67521 K/N warning checking existence of the standard library isn't displayed when the native toolchain enabled and the kotlin native home dir doesn't contain stdlib
  • KT-65624 K/N warning: "The Kotlin/Native distribution used in this build does not provide the standard library." is displayed during configuration phase
  • KT-66694 Disable Kotlin Native Toolchain when custom konan home passed
  • KT-66309 K/N compiler can't be downloaded if project import is stopped while 'commonizeNativeDistribution' task is being executed and rerun again
  • KT-65641 Invalid replacements for deprecated properties 'konanHome' and 'konanDataDir' are suggested as quick fixes
  • KT-65823 Add downloading k/n dependencies to KotlinNativeProvider
  • KT-62907 Turn on downloading Kotlin Native from maven by default
  • KT-62795 CInteropProcess task resolves cinterop def file eagerly, breaking Gradle task dependencies
  • KT-66982 Gradle plugin corrupts Native compiler dependencies
  • KT-66750 Cannot query the value of task ':commonizeNativeDistribution' property 'kotlinNativeBundleBuildService' because it has no value available
  • KT-64903 Add maven repo with dev versions into IT
  • KT-66422 Configuration cache breaks during Kotlin Native dependencies downloading
  • KT-65985 Race condition during simultaneous execution of several native tasks
  • KT-51379 Build fails when using RepositoriesMode.FAIL_ON_PROJECT_REPOS with kotlin multiplatform projects
  • KT-52567 Use Gradle dependency management for downloading Kotlin/Native compiler when compiling with Gradle
  • KT-65222 Native compile task fails after clean reimport
  • KT-52483 Sign native prebuilt tars
  • KT-62800 CInteropProcess should not require .def file to exist
  • KT-51255 Kotlin/Native should not download compiler artifacts when not necessary
  • KT-62745 iOS application build is failing if script sandboxing option is enabled in Xcode
  • KT-61657 KonanTarget should implement equals or custom serialization
  • KT-62232 embedAndSignAppleFrameworkForXcode task is broken with 1.9.20-Beta2
  • KT-56455 Gradle: remove enableEndorsedLibs from codebase
  • KT-51553 Migrate all Kotlin Gradle plugin/Native tests to new test DSL and add CI configuration to run them
Tools. Incremental Compile
New Features
  • KT-61865 Add support for incremental compilation within the in-process execution strategy in the build tools api
Fixes
  • KT-61137 Incremental scripting compilation fails with 2.0
  • KT-65943 Incorrect scopeFqName recorded in LookupTracker
  • KT-56423 IC: "Cannot access class 'xxx.Foo'. Check your module classpath for missing or conflicting dependencies" in tests and KSP
  • KT-62101 IC: Execution failed for ClasspathEntrySnapshotTransform: when using tools.jar as dependency
  • KT-62686 K2: Common module sees platform declarations in case of MPP project incremental compilation
  • KT-63837 Implement baseline fix for common sources getting access to platform declarations
  • KT-64513 Simplify adding configuration properties to incremental compilation
  • KT-21534 IC doesn't recompile file with potential SAM-adapter usage
  • KT-63839 Measure impact of rebuilding common sources, using nightly IC benchmarks
  • KT-64228 K2: After switching to LV20 branch incremental tests are not running on PSI anymore
  • KT-46743 Incremental compilation doesn't process usages of Java property in Kotlin code if getter is removed
  • KT-60522 Incremental compilation doesn't process usages of Java property in Kotlin code if return type of getter changes
  • KT-56963 Add MPP/Jvm incremental compilation tests for both K1 and K2 modes
  • KT-63876 Move useful utilities from KmpIncrementalITBase.kt to KGPBaseTest and/or common utils
  • KT-63010 Build reports may contain incorrect measurements for "Total size of the cache directory"
  • KT-59178 With language version = 2.0 incremental compilation of JVM, JS fails on matching expect and actual declarations
  • KT-60831 Fix IncrementalMultiplatformJvmCompilerRunnerTestGenerated in 2.0 branch
Tools. JPS
  • KT-65043 JPS dumb mode should respect maps needed for the compiler
  • KT-55393 JPS: Java synthetic properties incremental compilation is broken
  • KT-63549 Add compiler performance metrics to JPS build reports
  • KT-63484 JPS Kotlin Incremental Compilation Overcaching
  • KT-62486 K2 Intellij build: Execution timeout after changes in IC in the K2 QG
  • KT-60737 Investigate/fix JPS-related tests in 2.0 migration branch
Tools. Kapt
Fixes
  • KT-66541 K2 KAPT: KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirPropertyAccessExpressionImpl' to be resolved
  • KT-64303 K2 KAPT: Kapt doesn't dispose resources allocated by standalone analysis API
  • KT-66773 KAPT: Generated stubs cannot access annotations from other module
  • KT-65399 K2 QG: Kapt3 with K2 produces incorrect code
  • KT-65684 KAPT: (Re)enable fallback to K1 KAPT and make it default
  • KT-44706 KAPT: @JvmRecord causes "Record is an API that is part of a preview feature"
  • KT-59488 K2: build sphinx-kotlin
  • KT-64391 Some K2 Kapt integration tests are being executed with K1
  • KT-65404 KAPT should print a warning if stub generation is triggered for an interface with method bodies but without -Xjvm-default=all or -Xjvm-default=all-compatibility
  • KT-65453 Kapt4: error "annotation @ParameterName is missing a default value for the element 'name'" for a composable lambda fun without parameters
  • KT-61080 Kapt: investigate suspicious check for KMutableMap.Entry in KaptTreeMaker
  • KT-65006 [kapt] org.jetbrains.kotlin.utils.exceptions.KotlinIllegalArgumentExceptionWithAttachments: Error while resolving org.jetbrains.kotlin.fir.declarations.impl.FirRegularClassImpl in the K2 QG
  • KT-64479 Kapt4 + Compose. Error: scoping construct cannot be annotated with type-use annotation: @androidx.compose.runtime.Composable
  • KT-64719 K2 KAPT Stub genertaion doesn't fail on files with syntax errors
  • KT-64680 Kapt: remove the flag to enable old JVM backend
  • KT-64639 KAPT+JVM_IR: erased error types in JvmStatic and JvmOverloads
  • KT-64389 K2 KAPT generates invalid code for multiple generic constraints
  • KT-61776 K2: KAPT tasks fail with parallel gradle
  • KT-64021 Kapt3 + Kapt4. NullPointerException: processingEnv must not be null
  • KT-64301 K2 KAPT: Kapt doesn't report invalid enum value names to log
  • KT-64297 K2 KAPT: Deprecated members are not marked with @java.lang.Deprecated
  • KT-60821 [KAPT4] Make sure that KAPT produces correct JCTree; if that's not possible, investigate using JavaPoet as an alternative
  • KT-62059 Kapt4IT.kt18799 test fails - cannot find symbol Factory
  • KT-62097 K2: [KAPT4] Keep import statements for unresolved annotation classes
  • KT-61628 K2: testAndroidDaggerIC doesn't work with Kapt4
  • KT-61916 K2 KAPT. Kapt doesn't generate fully qualified names for annotations used as arguments to other annotations
  • KT-61729 K2: KAPT 4: Compiler crash during compilation of Sphinx for Android
  • KT-61333 K2 Kapt: support REPORT_OUTPUT_FILES compiler mode
  • KT-61761 Kapt4ToolIntegrationTestGenerated should not use Kapt3ComponentRegistrar
  • KT-59702 KAPT4: Build sphinx-kotlin using KAPT4
Tools. Maven
  • KT-63322 Add tests for KTIJ-21742
  • KT-54868 Stop publishing kotlin-archetype-js
  • KT-60859 K2: Fix maven IncrementalCompilationIT tests in 2.0 branch
Tools. Parcelize
  • KT-57685 Support ImmutableCollections in Parcelize plugin
Tools. REPL
  • KT-18355 REPL doesn't quit on the first line after pressing Ctrl+D or typing :quit
Tools. Scripts
  • KT-67727 Kotlin Scripting with language version 2.0 fails during IR lowering on empty scripts
  • KT-66395 K2: Scripting test testHelloSerialization fails on K2
  • KT-63352 Scripting dependencies resolver logs "file not found" even if the artefact is retrieved
  • KT-62400 K2: Missing annotation resolving for scripts
  • KT-65865 K2: Compile scripts in a separate session
  • KT-65967 Scripts in common source roots should be forbidden for now
  • KT-58367 Remove script-util from the repo
Tools. Wasm
New Features
  • KT-63417 KMP hierarchy DSL. Split withWasm() into withWasmJs() and withWasmWasi()
  • KT-64553 K/Wasm: enable binaryen by default in production builds
Fixes
  • KT-65864 K/Wasm: update Node.js to 22.x
  • KT-67785 Kotlin/Wasm: Node.JS 22 does not need experimental-wasm-gc flag anymore
  • KT-66228 K/Wasm 2.0.0-Beta4 distribution doesn't contain all files
  • KT-66159 K/Wasm: applyBinaryen somehow affects skiko.mjs
  • KT-67086 K/Wasm: wasi with binaries.library fails on import and build
  • KT-65889 wasmJsBrowserDistribution doesn't copy wasm binaries to dist folder
  • KT-66733 wasmWasiTest is not compatible with Gradle Configuration Cache
  • KT-64851 Wasm. Support Gradle configuration cache
  • KT-64601 Indicate that wasmJsBrowserDevelopmentRun has finished bundling
  • KT-65686 K/Wasm: Binaryen and d8 have to be downloaded via the same mechanism as Node.js and Yarn
  • KT-58291 Wasm: --tests argument is ignored when running wasmBrowserTest

v1.9.25: Kotlin 1.9.25

Note: This is a technical release for IntelliJ IDEA.
Changelog
Tools. JPS
  • KT-69204 Generate lookups in dumb mode for compatibility with ref index

v1.9.24: 1.9.24

Changelog
Backend. Wasm
  • KT-64890 K/Wasm compiler crash with external class and Kodein
Compiler
  • KT-65235 JDK 21 might lead to change in overloads resolution
  • KT-66768 K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast call
Native
  • KT-67218 Native: nested classes in kx.serialization ProtoBuf produce empty array for release binary
Tools. Gradle
  • KT-67139 Build reports can be overridden
  • KT-67138 Json report is empty for incremental compilation
Tools. Gradle. Multiplatform
  • KT-67127 KMP: IDE Dependency Resolver for CInterops reports errors on linux and windows machines
  • KT-66514 Don't get output file from Cinterop task for IDE Import if host os doesn't support it
Tools. JPS
  • KT-65043 JPS dumb mode should respect maps needed for the compiler
Tools. Wasm
  • KT-67785 Kotlin/Wasm: Node.JS 22 does not need experimental-wasm-gc flag anymore
  • KT-65864 K/Wasm: update Node.js to 22.x

v1.9.23: Kotlin 1.9.23

1.9.23
Apple Ecosystem
  • KT-65542 Cinterop tasks fails if Xcode 15.3 is used
Backend. Wasm
  • KT-64486 Kotlin/Wasm/WASI exported function callback for coroutines support
Compiler
  • KT-53478 Could not load module
  • KT-66044 JDK's new API is used over Kotlin's SDK functions
  • KT-64640 Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collections
  • KT-65441 K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfaces
  • KT-65634 K/N: data race during monolithic cache creation
  • KT-53109 CompilationErrorException generateUnboundSymbolsAsDependencies with builder inference and lambdas
  • KT-52757 Type inference for builders fails if inferred from a function
Tools. Gradle
  • KT-65792 Add JSON build report
  • KT-65091 Update compiler metrics in build reports
  • KT-62490 KGP dropping resource directories
Tools. Gradle. JS
  • KT-64119 K/JS: Migrate package manager from Yarn onto NPM
  • KT-64561 K/JS tests are not executed after upgrade to 1.9.22
Tools. Gradle. Multiplatform
  • KT-65954 commonTest dependencies affect commoMainMetadata compilation
Tools. Gradle. Native
  • KT-64573 Default value for produceUnpackedKlib was not provided

v1.9.22: Kotlin 1.9.22

Changelog
JavaScript
  • KT-63719 KJS: Test results ignored for ES module kind
  • KT-63808 compileTestDevelopmentExecutableKotlinJs failed in JsIntrinsicTransformers
Native
  • KT-64139 Weird bug with while and coroutine in Kotlin Native
  • KT-63471 linkDebugTestIosX64 Failed to build cache: NoSuchFileException bitcode_deps
  • KT-63789 Native: Incremental compilation problem with compose
Tools. CLI
  • KT-64485 CLI: cache and optimize parsing of command-line arguments
Tools. Gradle
  • KT-63990 "Cannot query the value of property 'buildFlowServiceProperty' because it has no value available" with Isolated Projects
Tools. Gradle. Native
  • KT-63363 Kotlin Gradle Plugin: KotlinNativeHostSpecificMetadataArtifact breaks configuration cache, implicitly includes output file as configuration cache input
  • KT-63742 Gradle wrongly caches Kotlin/Native compiler flags
Tools. JPS
  • KT-64305 Kotlin JPS builder requests chunk rebuild with graph implementation
  • KT-64112 Avoid using IJ's JPS mappings in Kotlin JPS tests
  • 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: Kotlin 1.9.21

Changelog
Compiler
  • KT-62885 Introduce a language feature entry for expect actual classes for easier configuration of MPP projects
  • KT-63081 Optimize new native caches: CachedLibraries.computeVersionedCacheDirectory()
Docs & Examples
  • KT-55619 Document String.format function
IDE. Gradle Integration
  • KT-62877 Artifact files collecting for project configuration was finished. Resolution for configuration configuration X will be skipped
IDE. Gradle. Script
  • KT-60813 Scripts: NoSuchMethodError: 'void org.slf4j.Logger.error(java.lang.String, java.lang.Object)' when dependency uses Slf4j API
JavaScript
  • KT-60785 KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type error
  • KT-63207 KMP / JS: "TypeError: <mangled_name> is not a function" with 1.9.20
  • KT-62778 package.json "main" field has .js extension when the result files have .mjs extension
  • KT-61795 KJS: Incremental Cache is not invalidated if useEsClasses compiler argument was changed
  • KT-61957 KJS: "Uncaught ReferenceError: entries is not defined" caused by enum class with @JsExport and Enum.entries call
  • KT-62444 KJS with commonJS modules should re-export in 1.9.20
  • KT-63184 KJS / Serialization: JsExport on serializable interface creates erroneous TypeScript
  • 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
Tools. Gradle. JS
  • KT-59523 MPP / KJS: ESM modules uses incorrect file extension on package.json (.mjs)
Tools. Gradle. Kapt
  • KT-63366 Kapt processing fails with custom source sets
Tools. Gradle. Multiplatform
  • KT-32608 Create JUnit-XML result file in multiplatform gradle build
  • KT-63315 Wasm gradle plugin DSL is invalid for parameterless wasmWasi method
  • KT-63338 [KMP] metadata task fails to find cinterop classes from dependency projects
  • KT-63044 KGP: Multiplatform - 8.4 configuration cache support
  • KT-63011 Apple Framework Artifacts is not connected to KotlinNativeTask
  • 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 K2/KMP: Expect actual matching is breaking on the incremental compilation
Tools. JPS
  • KT-63594 ClassCastException in JPS statistics
  • KT-63651 Fix NPE in Kotlin JPS after enabling graph implementation of JPS
Tools. Kapt
  • KT-57389 KAPT3 uses a Javac API for JCImport which will break in JDK 21
  • KT-60507 Kapt: "IllegalAccessError: superclass access check failed" using java 21 toolchain
Tools. Scripts
  • KT-54819 Scripts: Not able to use slf4j in .main.kts
  • 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: Kotlin 1.9.20

1.9.20
Analysis. API
New Features
  • 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-60940 K2: Analysis API: Reference shortener incorrectly handles types in vararg parameters declarations
  • KT-60488 Analysis API: forbid providing custom KtLifetimeToken for every analyze call
  • KT-60728 K2: proper support for scripts in LL FIR transformers
  • KT-59159 K2 IDE: declaration is not found exception
  • KT-59297 K2: exception from body resolve leads to corrupted state and broken analysis
  • KT-59077 KtFirExpressionTypeProvider behaviour for KtSimpleNameReferences in function calls
  • KT-60586 K2: forbid analyze from write action
  • 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-59329 Resolve Extensions reference resolution breaks Find Usages
  • KT-60295 K2: move checkIsResolved for annotations from LLFirAnnotationArgumentsLazyResolver to LLFirTypeLazyResolver
  • KT-59758 K2: Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImplWithoutSource from ReturnTypeCalculatorWithJump
  • KT-60377 K2 IDE: This method will only work on compiled declarations, but this declaration is not compiled
  • KT-59685 K2: rewrite on-air resolution
  • 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-52615 LL FIR: build RAW FIR only by stubs
  • KT-55053 K2: Exception "lateinit property diagnostic has not been initialized" in FirBuilder
  • KT-58580 K2: LL FIR: Declarations provided by resolve extensions from a dependency module are not visible through LLFirCombinedKotlinSymbolProvider
  • KT-58992 Analysis API: move org.jetbrains.kotlin.analysis.api.fir.utils.addImportToFile out of Analysis API
  • KT-58727 K2: AA FIR: implicit type in delegated function treated as error
  • KT-58653 K2: Analysis API: add functions for KtScope members access by name
  • KT-57559 K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent on intellij project
  • KT-58262 Analysis API: Declarations from Analysis API Resolve Extensions are not seen from completion
  • KT-57455 LL FIR: Combine AbstractFirDeserializedSymbolProviders in session dependencies (optimization)
  • KT-57207 LL FIR: Combine JavaSymbolProviders in session dependencies (optimization)
  • KT-58546 K2: LL FIR: support name collision in a designation path
  • KT-58495 K2: Lazy calculation is redundant
  • 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-58083 K2: LL FIR: implement FakeOverrideTypeCalculator
Android
  • KT-27170 Android lint tasks fails in Gradle with MPP dependency
Backend. Native. Debug
  • KT-61131 Virtual functions trampolines have invalid debug info
Backend. Wasm
Fixes
  • KT-60244 K/Wasm: make the compiler compatible with Wasm GC phase 4 (Final) specification
  • KT-61262 K/Wasm: add a way to turn on k2 in wasm examples that don't use compose
  • KT-61343 K/Wasm: add a wasi example to kotlin-wasm-examples
  • KT-62147 [Kotlin/Wasm] Nothing typed when expression cause a backend error
  • KT-59720 K/Wasm: update to final opcodes
  • KT-60834 K/Wasm: investigate consequences of stopping using br_on_cast_fail
  • KT-59294 WASM: localStorage Cannot read properties of undefined (reading 'length')
  • KT-60835 K/Wasm: fix compatibility with Node.js 20.*
  • KT-60113 K/Wasm: illegal cast when using 1.9.20-dev
  • KT-60496 Compose-web Wasm crashes on remember { null } calls
  • KT-58746 K/Wasm: Make Arrays' constructors with size and lambda inline (similar to other implementations)
  • KT-58993 [K/Wasm] Fix w3c declarations with lambda parameters
  • KT-59722 K/Wasm: Support new encoding with flags for br_on_cast and br_on_cast_fail instructions
  • KT-59713 K/Wasm: Implement enumEntries intrinsic
  • KT-59082 WASM: NullPointerException caused by companion with String type constants
  • KT-58941 WASM Hang with extension delegate inside a Class
  • KT-60200 K/Wasm: generate types without supertypes properly
  • KT-52178 IR dump doesn't seem to work for Kotlin/WASM phases
  • KT-59556 Wasm: critical dependency when using with webpack
  • KT-58681 K/Wasm: division remainder has a wrong sign
  • KT-56711 Wasm: IllegalStateException caused by dynamic type
Compiler
New Features
  • KT-58551 KMP: check all annotation from expect declaration are present on actual
  • KT-58554 KMP: restrict expect opt-in annotations and actual typealiases to annotations with special meaning
  • KT-58545 KMP: prohibit implicit actualization via Java
  • KT-58536 KMP: prohibit expect tailrec / expect external
  • KT-59764 Make a frontend checker that reports cast to forward declaration as unchecked
  • KT-60528 Updates for JVM/IR backend of kotlin-atomicfu-compiler-plugin
  • KT-59558 Add support for creating annotation instances with type parameters
  • KT-52367 Devirtualization algorithm improvement
  • 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-60601 K2 / Maven: Overload resolution ambiguity between candidates inline method
  • 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-59468 K2: build realm-kotlin
  • KT-62026 KMP: Correctly handle a case when annotation on expect declaration is unresolved
  • KT-59476 K2: build ClashForAndroid
  • KT-59487 K2: build KSP-playground
  • KT-47409 K1/K2: Investigate and align inference for equality (==) operator
  • KT-59393 K2: Missing TYPE_ARGUMENTS_FOR_OUTER_CLASS_WHEN_NESTED_REFERENCED
  • 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-59969 K2: Disappeared UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL
  • KT-61616 K2: IrBuiltIns.extensionToString fails during native compilation
  • KT-59377 K2: Missing CALL_TO_JS_MODULE_WITHOUT_MODULE_SYSTEM
  • 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-59471 K2: build multiplatform-settings
  • KT-56077 K2: build kotlinx.atomicfu
  • KT-59465 K2: build kotlinx-datetime
  • KT-60824 K2 IDE: FirSyntheticCallGenerator: IAE: List has more than one element
  • KT-61856 K2: "KotlinIllegalArgumentExceptionWithAttachments" on usage of javax.validation.constraints.Email.List
  • KT-54792 Store program order of properties inside @kotlin.Metadata
  • KT-56083 K2: build ktor
  • KT-23861 Expect annotation should not be applicable wider than the actual one
  • KT-59466 K2: build kotlinx-benchmark
  • KT-60830 KMP, K2: expect actual annotation IR checker doesn't unwrap actual typealiases to annotations
  • KT-61668 Put expect/actual diagnostics introduced in 1.9.20 release under 1.9 Language Version
  • KT-61725 KMP: Annotation matching requirement for expect/actual leads to errors for annotations with @OptionalExpectation
  • KT-47892 False negative BREAK_OR_CONTINUE_OUTSIDE_A_LOOP with continue in init block inside for
  • KT-61784 KMP: [DEFAULT_ARGUMENTS_IN_EXPECT_WITH_ACTUAL_TYPEALIAS] checker missed for companion functions
  • KT-61173 K2: FirProperty.hasBackingField is true for an expect val
  • KT-59743 K2: erroneous binding of typealias with two type parameters to a class with one type parameter
  • KT-60650 KMP: prohibit problematic actual typealiases
  • KT-61461 K2: Kotlin native metadata compilation breaks when stdlib is present in -libraries
  • KT-61270 Enabling Kotlin/Native caching causes 65K warnings from dsymutil when building Compose iOS app
  • KT-58229 K2/MPP/JVM: compiler codegen crash on call of inherited generic class's method with actual-typealias as value parameter
  • KT-47702 Support call of Java annotation constructor without specifying a default value
  • KT-56460 K2: Do not re-run DiagnosticCollectorVisitor from FirInlineDeclarationChecker.checkChildrenWithCustomVisitor
  • KT-55933 K2: False negative Overload resolution ambiguity for call functions with named parameters if one of params is vararg
  • KT-59548 FIR2IR: inconsistent generation of dispatch receiver for object methods
  • KT-55072 K2: False positive "suspension point is inside a critical section"
  • KT-58778 JVM IR inline: add fake variables for debugger
  • KT-59404 K2: Missing EXPECT_TYPE_IN_WHEN_WITHOUT_ELSE
  • KT-59830 K2. False negative [FINAL_SUPERTYPE] on extending final class through type alias
  • KT-60580 K2: Not supported: class org.jetbrains.kotlin.fir.types.ConeFlexibleType
  • KT-59391 K2: Missing JS_BUILTIN_NAME_CLASH
  • KT-59392 K2: Missing NAME_CONTAINS_ILLEGAL_CHARS
  • KT-58360 Intrinsics for atomic update of array elements
  • KT-59165 K2: Prohibit class literals with empty left-hand side
  • KT-60427 K2 @Metadata annotations contain outerType/outerTypeId information for non-inner nested classes
  • KT-59376 K2: Missing TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR
  • KT-55221 K2: No error reported for self-referencing local function with inferred return type
  • KT-59586 K2: support JVM backend diagnostics in light tree mode
  • KT-57780 K2: Calling a constructor through a deprecated typealias doesn't report a deprecation
  • KT-59110 K2. "NotImplementedError: An operation is not implemented." error on incorrect @Target annotation
  • KT-59249 K2: Empty varargs are not serialized to KLIB
  • KT-55373 K2. Unresolved reference error for type mismatch with callable references
  • KT-55955 K2: callable references are not properly resolved when in conflict with expected type
  • KT-60144 JVM IR inline: backport primitive boxing in class literals
  • KT-60779 K2: missing INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER
  • KT-60587 K2: Implement warning NO_REFLECTION_IN_CLASS_PATH
  • KT-61145 False negative NOTHING_TO_OVERRIDE when context receivers don't match
  • KT-59378 K2: Missing FINITE_BOUNDS_VIOLATION and FINITE_BOUNDS_VIOLATION_IN_JAVA
  • KT-61163 Default params on actual check and inheritance by delegation compilation error
  • KT-60800 [atomicfu-K/N]: turn on the tests for the K/N part of the compiler plugin
  • KT-61029 K2: Duplicates when processing direct overridden callables
  • KT-55196 K2: False-negative CONST_VAL_WITH_NON_CONST_INITIALIZER on boolean .not() call
  • KT-60862 Kotlin Scripting: NoSuchMethodError for ExternalDependenciesResolver.addRepository
  • KT-57963 K2: MPP: Annotation calls should be actualized
  • KT-60854 K2: IrActualizer incorrectly generates fake overrides for synthetic java properties
  • KT-59665 ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS isn't reported for actual typealias and fake-override actualization
  • KT-61039 False positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in K1 when expect actual super types scopes don't match
  • KT-61166 Inherited platform declaration clash & accidental override
  • 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-59408 K2: Missing MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES
  • 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-59483 K2: Build a Native app
  • KT-57738 K2: unresolved class fields and methods in kotlin scripts
  • KT-59449 K2: Diagnostic messages contain debugging-style rendered FIR
  • KT-59849 K2: IllegalArgumentException: List has more than one element
  • KT-57553 Implement deprecation for open val with backing field and deferred initialization in K1
  • KT-57230 Support Kotlin/Wasm in the K2 platform
  • KT-59409 K2: Missing DEFAULT_VALUE_NOT_ALLOWED_IN_OVERRIDE
  • KT-59058 Companion object is not initialized on class constructor call
  • KT-61017 K2: intermediate expect/actual class results in expected class has no actual declaration in module
  • KT-60181 K2: "NotImplementedError: An operation is not implemented" with Spring
  • KT-59472 K2: build Reaktive
  • 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-60002 K2: Missing UNSUPPORTED_SUSPEND_TEST
  • KT-61011 K2 Scripts: FirRecursiveProblemChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
  • 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 K2: build km-shop
  • KT-60163 K2: vararg annotation argument value is serialized not as an array
  • KT-59355 K2: Allow to actual classifier have wider visibility than the corresponding expect class
  • KT-56179 [K2/N] interop_objc_tests/multipleInheritanceClash.kt test failed
  • KT-59411 K2: Missing ENUM_CLASS_CONSTRUCTOR_CALL
  • KT-59410 K2: Missing TYPEALIAS_EXPANDED_TO_MALFORMED_TYPE
  • KT-59382 K2: Missing PROTECTED_CONSTRUCTOR_NOT_IN_SUPER_CALL
  • KT-59901 K2: Disappeared API_NOT_AVAILABLE
  • KT-60474 K2: False negative type mismatch for array literal with wrong numeric literal
  • KT-59610 K2: Calls to annotations with default values are serialized differently in K1 and K2
  • KT-60139 K2: Refactor handling of implicitly actual declarations (annotation & inline class constructors and property of inline class)
  • KT-60793 K2: IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirJavaTypeRef
  • KT-60735 K2: lateinit property diagnostic has not been initialized
  • KT-60137 K2: Quite complicated redeclaration error description is displayed for data classes
  • KT-60639 K2: IllegalStateException: Unsupported compile-time value GET_CLASS type=kotlin.reflect.KClass<p1.A>
  • KT-56888 CFA: Valid green in K1 -> red in K2. catch_end -> finally -> after_try
  • KT-60723 K2: Nested finally block has extra jump edge if surrounding try block jumps
  • KT-60573 K2: False positive/negative CONFLICTING_OVERLOADS for main functions
  • KT-60124 K2: Conflicting declarations on extension properties with different upper-bounded type parameter
  • KT-60259 K2: Reflection target is missing on adapted function refernces
  • KT-59036 InstantiationError when instantiating annotation with a parameter type as a default parameter of another annotation
  • KT-59094 K2: Fix Scripting K2 tests
  • KT-59711 K/N: Implement enumEntries intrinsic
  • KT-59748 K2: Return type mismatch: expected Unit, actual Any? for when with an assignment in branch
  • KT-60154 K2: Expected some types error
  • KT-58139 K2/MPP/metadata: compiler FIR serialization crash on complex expression as annotation argument
  • KT-59485 K2: build Anki-Android
  • KT-59415 K2: Missing DATA_CLASS_OVERRIDE_DEFAULT_VALUES_ERROR
  • KT-59710 K/JVM: Implement enumEntries intrinsic
  • KT-57984 K2/JS fails with IdSignature clash for inherited expect/actual function
  • KT-59398 K2: Missing NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUE
  • KT-60645 Native: dynamic caches are broken on Linux
  • KT-50221 FIR: handle enhanced/flexible nullability inside withNullability properly
  • KT-59281 JVM IR inline: incorrect type of created array
  • KT-59507 JVM IR inline: invocation of arrayOfNulls by function reference results in exception
  • KT-58359 Allow volatile intrinsics on inline function constant arguments
  • KT-60598 K2: add OptIn checkers for command line arguments
  • KT-59766 K2: ISE: Cannot find cached type parameter by FIR symbol during the coroutines library build
  • KT-59644 K2: the companion object in an expect class requires to be explicitly defined for compileNativeMainKotlinMetadata
  • KT-59640 K2: expect constructor requires calling this or super but didn't use to
  • KT-58883 K2: False negative type mismatch for generic annotation in collection literal
  • KT-59581 K2: Initializer type mismatch: expected Array<KClass<*>>, actual Array<KClass> in annotation parameter default value using array literal
  • KT-59069 K2 does not report EXPECTED_CLASS_CONSTRUCTOR_DELEGATION_CALL
  • KT-59416 K2: Missing EXTERNAL_INTERFACE_AS_REIFIED_TYPE_ARGUMENT
  • KT-59417 K2: Missing CALL_FROM_UMD_MUST_BE_JS_MODULE_AND_JS_NON_MODULE
  • KT-59381 K2: Missing CALL_TO_JS_NON_MODULE_WITH_MODULE_SYSTEM
  • KT-59384 K2: Missing DYNAMIC_NOT_ALLOWED
  • KT-59406 K2: Missing PROPERTY_DELEGATION_BY_DYNAMIC
  • KT-60247 K2: order of data class generated member differs in IR
  • KT-57223 K2: false-negative INAPPLICABLE_JVM_NAME on non-final properties outside interfaces
  • KT-60183 K2: INAPPLICABLE_JVM_NAME on private methods with all-open plugin
  • KT-60120 K2 can't get a default parameter value of expect annotation
  • KT-57240 K2 MPP: Actualization doesn't work for flexible types
  • KT-60436 K2: investigate possible FirJavaTypeRef equals parameter in FirDataFlowAnalyzer.hasEqualsOverride
  • KT-60299 K2: when a typealias to Unit is returned, an explicit return is now required
  • KT-58005 K2: Unsupported compile-time value BLOCK for Repeatable annotations
  • KT-60223 K2: Wrong import with import alias
  • KT-54854 K2. Unresolved reference for not imported declaration when it is already imported as an import alias is absent in K2
  • KT-59738 K2: NoSuchElementException from JvmValueClassLoweringDispatcher in MPP environment
  • KT-59708 K2: "Property must be initialized or be abstract" occurs due to constructors order
  • KT-58483 K2. -Xmulti-platform flag isn't working
  • KT-53490 FIR: Refactor augmented assignment resolving code - fix lhs-related problems and combine similar code in array and assign operator handling
  • KT-59673 K2: incorrect error message
  • KT-58578 K2: Commonize expect-actual logic between FIR and IR actualizer
  • KT-54989 FIR2IR: fragile code in postfix op detection
  • KT-59464 K2: Investigate cases of implicit type refs in Fir2IrImplicitCastInserter
  • KT-53898 K2: False negative VAL_REASSIGNMENT on member vals
  • KT-57641 K2: "java.lang.NoSuchFieldException: INSTANCE" in kotlin-reflect for KClass.objectInstance on an anonymous object
  • KT-59299 [K2] ISE in IrBindablePublicSymbolBase.bind on equals function from companion of serializable class
  • KT-58844 Incorrect type mismatch error: "actual type is kotlin/Int but kotlin/Int was expected"
  • KT-59413 K2: Missing VALUE_CLASS_CANNOT_HAVE_CONTEXT_RECEIVERS
  • 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-59057 Revise muted tests for native backend
  • KT-57377 K2/MPP: internal declarations from common module are inivisible for intermediate modules during metadata compilation
  • KT-59693 MPP: linkReleaseExecutableLinux fails with IllegalStateException: Drains have not been painted properly
  • KT-59362 K2/MPP: .toByte() conversion for const val causes SourceCodeAnalysisException: java.lang.NullPointerException: null
  • KT-51670 FIR: questionable behavior for deprecated String constructors
  • KT-35314 StackOverflowError with nested try-finally and function with contracts
  • KT-53460 False positive smartcast warning in if block after if block
  • KT-40851 False MUST_BE_INITIALIZED_OR_BE_ABSTRACT error for a property which is initialised in the init block
  • KT-59695 K2: false negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE
  • KT-41198 False positive “Variable must be initialized” with assignment in scope function and safe call
  • KT-58901 K2. Value parameter default values are not checked for type mismatch
  • KT-48115 Member functions with type parameter and contract don't produce smartcasts
  • KT-59541 K2: Type checking has run into a recursive problem on code that was compiling with Language 1.9
  • KT-58943 K2: Incorrect with K1 priority of "invokeExtension + implicit receiver" candidate
  • KT-37375 [FIR] Incorrect invoke resolution
  • KT-59789 K2: self-reference does not compile anymore
  • KT-59286 JVM IR inline: local property not found
  • KT-58823 K2: Android app crashes right after start: java.lang.NoSuchMethodError: No virtual method findViewById(I)Landroid/view/View
  • KT-57754 K2: No public signature built for the synthesized delegate field
  • KT-58533 K2: "Not enough information to infer type variable T" for generic call in throw expression
  • KT-34846 FIR Java: enhance type parameter bounds properly
  • KT-52043 FIR: FirValueParameter with SubstitutionOverride does not reference the original FIR declaration
  • KT-59291 JVM IR inline: unexpected result of apiVersionIsAtLeast invocation
  • KT-59550 K2: synthetic property isn't seen through Java
  • KT-59038 [K2] IllegalStateException in mixed Java/Kotlin inheritance
  • KT-59489 K2: builld spring-petclinic-kotlin
  • 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-51793 FIR: Investigate property+invoke resolution priorities
  • 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-58665 K2: Optional.of incorrectly accepts nullable String
  • KT-58938 K2. Abstract class can be invoked using member reference :: operator
  • KT-50798 FIR: False negative UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSION
  • KT-58944 K2. StackOverflowError on incorrect intersection types
  • KT-59241 K2: broken inference of DNN types
  • KT-58294 K2 compiler crashes with OOM on deserializing annotation applied to itself with a enum outer/nested parameter
  • KT-58972 K2: Error message of PRIVATE_CLASS_MEMBER_FROM_INLINE doesn't mention class members
  • KT-58989 K2: Forbid suspend operator get/setValue and provideDelegate
  • KT-59177 K2: Report NAMED_ARGUMENTS_NOT_ALLOWED for named parameters in lambdas
  • KT-57028 K2: "NSEE: Sequence contains no element matching the predicate" with stream related Java api
  • KT-58007 K2: Unsupported compile-time value GET_FIELD FIELD PROPERTY_BACKING_FIELD when const value is default for annotation
  • KT-58472 Secondary constructor breaks MUST_BE_INITIALIZED check
  • 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
  • KT-58284 K2: False negative ITERATOR_MISSING
  • KT-55078 K2 IDE: Infinite recursion in org.jetbrains.kotlin.fir.java.JavaScopeProvider#findJavaSuperClass
  • KT-58080 K2: False-positive TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on annotated const val
  • KT-58674 K2: No expected type for while loop condition
  • KT-56523 K2 should report MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED
  • KT-58238 Support dumping signatures and mangled names in irText tests
  • KT-58456 K2: Custom function type metadata breaks Compose library compatibility
  • KT-58267 K/N: do not reference hidden Array.content* functions from the compiler
  • KT-57791 Native: Method returning String? leads to exception: Unexpected receiver type: kotlin.String
  • KT-58437 K2: Do not use descriptors in KonanSymbols
  • KT-57432 K2: Don't create default getters and setters in case when they are not needed
  • KT-46047 FIR: incorrect type of integer literals
  • KT-57487 [K2/N] Stdlib ArraysTest fails with Class found but error nodes are not allowed
  • KT-56951 K2: False negative error on compound assignment for property of type Byte
  • KT-57222 K2: compiler FIR serialization crash on two functions with captured type and object literal
  • KT-58224 K2: deprecation on field is not detected properly
  • KT-55662 K2. Incorrect type mismatch error "inferred type is IOT" instead of "inferred type is Int"
  • KT-55668 K2. 'in' modifier became applicable to star projection
  • KT-57064 K2: hidden internals of dealing with type-aliased primitive types are exposed to user
  • KT-58252 K2: Symbol already bound for backing field during building resulting JS artifact for MPP project
  • KT-56940 K/Wasm: report compiler errors for unsupported external declarations
  • KT-56943 K/Wasm: implement @WasmImport diagnostics
  • KT-55903 K2: False negative CANNOT_CHECK_FOR_ERASED on is-check for type with reified type arguments
  • KT-56944 K/Wasm: implement @JsFun diagnostics
  • KT-58329 K2: False-positive suspend conversion for anonymous functions
  • KT-58028 K2: False-positive TYPE_PARAMETER_IS_NOT_AN_EXPRESSION
Docs & Examples
  • KT-60545 Documentation change on Interoperability with Swift/Objective-C: highlight that it is not normal to suppress errors
  • KT-50927 Kotlin / Docs: Delete all the information about old Kotlin/Wasm
  • KT-61398 Advertise hierarchy templates in 1.9.20-Beta what's new
IDE
New Features
  • KTIJ-23199 K2 IDE: Improve Import quick fix description
  • KTIJ-26056 Support highlighting of KNM files
Performance Improvements
Fixes
  • KTIJ-26782 Internal error while highlighting "AndroidHighlighterExtension does not define or inherit highlightDeclaration"
  • KTIJ-27188 Bundled DevKit plugin + 1.9.20-Beta* constantly throws exceptions when opening another plugin codebase
  • KTIJ-25220 Kotlin not configured dialog does not show if Kotlin stdlib is anywhere on classpath
  • KTIJ-25563 Failed cinterop task becomes UP-TO-DATE and successfully passes on the second import
  • KTIJ-26536 IDE in Java file resolves to property with the same name instead of method in the nested class from library
  • KTIJ-25126 K2 IDE. No import quickfix for Java static members
  • KT-60341 K2 IDE: "UnsupportedOperationException: Unknown type CapturedType(*)?"
  • KTIJ-25960 K2 IDE: KDoc references to static java methods are not resolved
  • 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 K2 IDE: "Type info" intention shows the return type of a functional type instead of the functional type itself
  • KTIJ-26501 K2: IDE K2: False positive unused import when declaration used for vararg parameter type
  • KTIJ-26661 K2 IDE. PIEAE “Element class CompositeElement of type FUN” after removing/putting back function with operator modifier
  • KTIJ-26672 K2 IDE: false positive in optimize import for ambiguity calls
  • KTIJ-26760 K2 IDE: OVERLOAD_RESOLUTION_AMBIGUITY false positive
  • 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-60352 K2 IDE. Support Java Records
  • 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-24272 K2 IDE: "Expected some types"
  • 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-21103 FIR IDE: implement completion In Kdoc
  • 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-25465 IDE hangs when indexing Kotlin project
  • 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
  • KT-36677 MPP Gradle plugin doesn't respect manually set compiler arg -opt-in
  • KT-58696 MPP + IDEA: tryK2 does not affect LV value of common facets
  • KT-53875 Warn users about erroneously adding dependsOn from test to main
  • 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 Scripts: support for standalone configuration flag
  • KTIJ-25910 Scripts: transition to GistStorage
  • 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-56684 Adopt KMM UI tests to be used with IDEA
  • 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
  • KTIJ-26479 1.9.20: Update versions in wizards
  • KT-59347 Rename Compose Multiplatform wizard to Compose for Desktop
IR. Interpreter
  • KT-60467 "InternalError: Companion object * cannot be interpreted" caused by java's package name
  • KT-60744 Restore binary compatibility of toIrConst function
IR. Tree
  • KT-59771 Restore compatibility of IdSignature.CommonSignature
  • KT-59772 Restore compatibility of IrFactory#createFunction
  • KT-59308 Auto-generate the IrFactory interface
JS. Tools
  • KT-44838 Kotlin/JS source-map-loader slow performance since 1.4.0
JavaScript
New Features
  • KT-58684 KJS: ES15 classes — creating instance by class
Performance Improvements
  • KT-58187 KJS / IR: Huge performance bottleneck while generating sourceMaps (getCannonicalFile)
Fixes
  • KT-60425 Kotlin/JS compiler incorrect behavior for object singleton with CompleteableDeferred
  • KT-62790 java.lang.ClassCastException in compiler when ::class is used
  • KT-60495 K2: Make JS CliTestGenerated working with K2
  • KT-6168 Ability to generate one JS file for each Kotlin source file
  • KT-60667 K2 / KJS: jsTest fails with "SyntaxError: Unexpected token '}'" on runtime
  • KT-61581 KJS: generate separate imports for useEsModules()
  • KT-56737 K2: build Space JS
  • KT-59001 K/JS: Use open-addressing hash map in JS stdlib
  • KT-60131 KJS: Interference between @JsExport and final implementation of properties
  • KT-59712 K/JS: Implement enumEntries intrinsic
  • KT-60202 JsExport.Ignored internal extension still has "JavaScript name () generated for this declaration clashes with another declaration"
  • KT-51333 KJS: some KType equals Nothing's KType throws an exception, breaking its symmetry
  • KT-58857 KJS/IR: js file is not generated when source is stored in /var folder
  • KT-53482 KJS: Inheritance from JS class fails in ES6, because constructor is not called with new
  • KT-58891 K/JS: non-local return in lambda may leave an unreachable JS code after return
  • KT-49077 KJS / IR: Wrong method called when using overloaded methods and class with the same name
  • KT-59718 K/JS: Concatenating a String with a Char can lead to boxing of the Char
  • KT-59717 K/JS: a redundant boxing of a returned Char from an inline function
  • 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 K2 / KJS: NullPointerException in Fir2IrClassifierStorage.preCacheBuiltinClasses
  • KT-59335 K/JS ES6 classes: A child constructor, when using parent secondary constructor super call, creates a parent object
  • KT-58797 Optimize the code generated for objects on JS and Wasm backends
  • KT-52339 FIx failing JS tests after bootstrap update
  • KT-46643 KJS / IR: Setter of overridden var of external val is removed
  • KT-55315 IR: can't access the stack property of Throwable
  • KT-59204 Automatically generate NATIVE directive in tests for IR signatures
  • KT-59239 K/JS: Bridge not generated for checking parameter type in generic class override
  • KT-57347 KJS: BE IR Incremental cache invalidation doesn't work after inserting Partial Linkage stub
  • KT-58599 KJS: Adding an override method to open class does not rebuild children JS code
  • KT-58003 K2/MPP/JS: compiler IR serialization crash on multiple calls to inherited expect-function
  • KT-38017 KJS: tests generate invalid code depending on file names
  • KT-25796 KJS: Top-level constructs are put in an incorrect order
  • KT-58396 KJS / IR: "IllegalStateException: Validation failed in file" with Enum.entries and inheritance
KMM Plugin
  • KTIJ-27158 Import is failing after creation of new module if project don't use versionCatalog
  • KT-59492 KMM AS plugin for Canary 231 reports error
Klibs
  • KT-58877 [klib tool] add ability to dump klib ir
  • KT-54402 Programmatic API to dump public signatures from KLibs
  • KT-60576 Keep supported IR signature versions in manifest
  • KT-59136 [PL] Lower the default PL engine messages log level down to INFO
  • KT-59486 klib: Serialize mangled names along with signatures
Language Design
  • KT-22841 Prohibit different member scopes for non-final expect and its actual
  • KT-49175 Inconsistency with extension super-type allowance between suspend / non-suspend function types
  • KT-61573 Emit the compilation warning on expect/actual classes. The warning must mention that expect/actual classes are in Beta
  • KT-57614 KMP: consider prohibiting actual typealias when the corresponding expect class has default arguments
  • KT-27750 Reverse reservation of 'yield' as keyword
Libraries
New Features
  • KT-59440 Rework Flags API in kotlinx-metadata-jvm
Fixes
  • KT-62381 K/Wasm: (re)publish libraries with 1.9.20-Beta2 (or newer if available)
  • KT-62656 Drop @AllowDifferentMembersInActual from stdlib
  • KT-58887 Reflection: "IllegalArgumentException: argument type mismatch" when using reflection to invoke a value class returning function that suspends
  • KT-61507 Native: enum hashcode is not final
  • KT-56106 Migrate stdlib to current Kotlin Multiplatform Plugin
  • KT-58402 Migrate Vector128 from kotlin.native to kotlinx.cinterop
  • KT-60911 Compatibility publishing of kotlin-stdlib-common
  • KT-53154 Deprecate enumValues and replace it with enumEntries in standard library
  • KT-58123 Update deprecations in native atomic classes for 1.9.20
  • KT-60444 transformJvmMainAtomicfu fails with java.lang.NoSuchMethodError: 'kotlin.Metadata kotlinx.metadata.jvm.KotlinClassMetadata.getAnnotationData()'
  • KT-61342 kotlin-test-wasm-* artifacts include test code
  • KT-61315 Publish common sources in kotlin-test-js sources jar
  • KT-56608 WASI Preview1 version of Kotlin/Wasm stdlib
  • KT-55765 Review and stabilize stdlib surface available in K/N
  • KT-55297 kotlin-stdlib should declare constraints on kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7
  • KT-57838 Native: raise ExperimentalNativeApi opt-in requirement level to ERROR
  • KT-61028 Behavioural changes to the Native stdlib API
  • KT-61024 Native: Mark the kotlin.native.CName annotation with ExperimentalNativeApi
  • KT-61025 Native: Deprecate HashSet.getElement() with WARNING
  • KT-53791 Publish standard library as a multiplatform artifact with Gradle metadata
  • KT-57363 Remove reified constraint from Array constructors in platforms where Array type parameter is not required to be reified
  • KT-57401 Native: Regex matching zero length should split surrogate pairs
  • KT-57359 Provide Common StringBuilder.append/insert with primitive type arguments
  • KT-58264 K2: republish kotlinx.metadata to support LV 2.0
  • KT-57710 Native: Internalize @Retain and @RetainForTarget annotations
  • KT-57720 Native: Consider strictening NativeRuntimeApi opt-in requirement level to ERROR
  • KT-57837 Deprecate kotlin.native.SharedImmutable and kotlin.native.concurrent.SharedImmutable
  • KT-58126 Wasm: Consider removing Primitive.equals(Primitive) overload on primitive types
  • KT-53327 Migrate all usages of 'Enum.values' to 'Enum.entries' in standard library
  • KT-59366 Deprecate KmModule.annotations
  • 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
Fixes
  • KT-60230 Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3
  • KT-62532 Support Xcode 15.0 frameworks as Kotlin/Native platform libraries
  • KT-61382 Linking XCFramework fails with error: Invalid record (Producer: 'LLVM11.1.0' Reader: 'LLVM APPLE_1_1300.0.29.30_0')
  • KT-61417 Native: string and array variables are not properly displayed in lldb when compiling with caches with Xcode 15
  • KT-60758 Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4
  • KT-59149 Native: check compiler compatibility with Xcode 15 beta 1
  • KT-58537 iOS project fails to build with rootProject.name = "Contains Space"
  • KT-59073 Native: don't include kotlinx.cli endorsed library into compiler distribution
  • KT-58707 [K/N] Compiler crash building generics with redundant cast
  • KT-58654 Compiler error from kotlin.collections.Map : "Invalid phi record", while compiling for kotlin native
Native. C Export
  • KT-56182 [K2/N] C export doesn't work for non-root packages with K2
Native. C and ObjC Import
  • KT-59642 Remove ability to import forward declaration by library package name
  • KT-59643 K2: Disable merging of forward declaration with real declaration class
  • KT-52882 MPP / Native: expect/actual mechanism broken when base contract is NSObjectProtocol
  • KT-55578 Custom user message for linker error
  • KT-58585 [K2/N] Fix interop issues
  • KT-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.Foo does not resolve
  • KT-59645 Cast to objective C forward declaration crashes compiler
  • KT-58793 [K2/N] Package separators after mangling are different for IR and FIR
Native. ObjC Export
  • KT-56090 [K2/N] Emit DocString klib extensions for ObjCExport
Native. Runtime. Memory
  • KT-61914 Kotlin/Native: massive increase in memory usage
  • KT-61092 Kotlin/Native: Adjust initial values for expected heap size
  • KT-61091 Kotlin/Native: GC scheduler pauses mutators too aggressively
  • KT-61741 Kotlin/Native: tsan error in parallel mark
  • KT-57773 Kotlin/Native: track memory in big chunks in the GC scheduler
  • KT-61089 Kotlin/Native: fix concurrent weak processing for new allocations
  • KT-55364 Implement custom allocator for Kotlin/Native
  • KT-57772 Kotlin/Native: concurrently process weak references in GC
  • KT-57771 Kotlin/Native: parallel mark in GC
Native. Stdlib
  • KT-60608 Introduce AtomicArrays API in K/N stdlib
  • KT-59120 Native: Rewrite stdlib AtomicReference with Volatile instead of custom C++ code
Reflection
  • KT-47973 Reflection: "IllegalArgumentException: argument type mismatch" when using callSuspend to call a function returning value class over primitive
  • KT-41373 "KotlinReflectionInternalError: Unresolved class" when inspecting anonymous Java class
  • KT-61304 Reflection: Calling data class copy method via reflection (callBy) fails when the data class has exactly 64 fields
  • KT-52071 Continue gracefully when the system property check "kotlin.ignore.old.metadata" fails
Tools. CLI
  • KT-60662 Add JVM target bytecode version 21
  • KT-58183 ParseCommandLineArgumentsKt.parseCommandLineArguments takes ~500ms
  • KT-58690 OutOfMemory when compiling in CLI
  • 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-55757 kotlinx.cinterop.UnsafeNumber: empty opt-in message
  • 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-58315 Add build metrics for Kotlin/Native task
Performance Improvements
  • 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-54231 Compatibility with Gradle 8.0 release
  • 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-56178 Compatibility with Gradle 8.1 release
  • 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-61066 [KMP] iOS "Unkown Kotlin JVM target 20"
  • KT-54160 New KGP API using lazy properties to add compiler plugin options may remove options with the same pluginId
  • KT-60839 KGP provides incorrect default value "ENABLED" for -Xpartial-linkage
  • KT-15370 Gradle DSL: add module-level kotlin options
  • KT-57645 build_scan failed in testBuildScanReportSmokeTestForConfigurationCache test with Gradle 8.0.2
  • KT-59827 Update configuration to validate plugin inputs
  • KT-59799 Validate Gralde Integrations tests has only one tag
  • KT-59117 Add gradle integration tests for explicit api mode in Android projects
  • KT-59587 Upgrade max gradle version to max supported in jvmToolchain connected tests
  • KT-56636 Bump max Gradle version for integration tests to 8.0
  • KT-58353 Support reporting of diagnostics after projects are evaluated
  • KT-53822 Upgrade the gradle-download-task dependency of the Kotlin Gradle plugin
  • KT-58162 Kotlin Gradle Plugin: Remove kotlinx.coroutines from classpath of KGP
  • KT-58104 Check values for MPP_PLATFORMS
  • 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-52776 KJS / Gradle: Webpack version update despite yarn.lock breaks Kotlin/JS build
  • 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
- See full ChangeLog in File
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: Kotlin 1.9.10

Changelog

Compiler
  • KT-60769 Partially revert KT-58371
  • KT-60659 Incorrect 'unresolved reference: addFirst' error with JDK 21
  • KT-60371 Native custom allocator link error
  • KT-60986 Native: static caches with custom runtime options are broken on Linux
  • KT-60770 Fix false-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED on toArray with JDK 21
  • KT-60231 NoClassDefFoundError: $$$$$NON_LOCAL_RETURN$$$ after upgrade to Kotlin 1.9.0
JavaScript
  • KT-60785 KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type error
  • KT-60852 Kotlin JS(IR): IllegalArgumentException: Cross module dependency resolution failed when updating to Kotlin 1.9.0
  • KT-57509 KJS: Compiler generates native JS operator == for comparing values with Any type
Native
  • KT-60230 Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3
  • 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 Native: cinterop is unable to build interop libraries against the Xcode 15 Beta 1
Tools. Gradle
  • KT-61147 Kotlin Compiler 1.9.0 bundles a stripped unshadowed version of Gson
  • 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: Kotlin 1.9.0

Changelog
Analysis API
New Features
  • 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-50732 LL API: fix compiler based tests
  • KT-57850 K2: contract violation due to SymbolLightAccessorMethod.propertyAccessorSymbol
  • KT-56543 LL FIR: rework lazy transformers so transformers modify only declarations they suppose to
  • KT-56721 K2: FirExtensionDeclarationsSymbolProvider: java.lang.IllegalStateException: Recursive update
  • 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-56617 Analysis API: optimize KtFirSymbolProviderByJavaPsi.getNamedClassSymbol
  • KT-54430 K2: .getAllOverriddenSymbols() returns invalid results
Backend. Native. Debug
  • KT-55440 Kotlin/Native debugger: inline function parameters are not visible during debugging
Backend. Wasm
  • KT-58293 Wasm: ReferenceError: e is not defined in kotlin.test.jsThrow
  • KT-58931 Wasm tests are failing to start on Kotlin 1.9.0-Beta
  • KT-58188 Restore binary compatibility of PlatformDiagnosticSuppressor.shouldReportUnusedParameter
  • KT-57136 K/Wasm: Restrict non-external types in JS interop
  • KT-57060 Clarify the lack of support for dynamic in Kotlin/Wasm
  • KT-56955 K/Wasm: Support restricted version of K/JS js(code)
  • KT-57276 Wasm: "Body not found for function" error when compiling konform library with Kotlin/Wasm support
  • KT-56976 K/Wasm bug with calling override of external function with default parameters
Compiler
New Features
  • KT-55333 Allow secondary constructors in value classes with bodies
  • KT-54944 @Volatile support in native
  • KT-54746 Deprecate with ERROR JvmDefault annotation and old -Xjvm-default modes
  • KT-47902 Do not propagate method deprecation through overrides
  • KT-29378 K2: rework warnings/errors for equality/identity operators on incompatible types
  • KT-57477 False-positive overload resolution ambiguity in case of lambda without arguments
  • KT-57010 Kotlin/Native: make it possible to compile bitcode in a separate compiler invocation
  • KT-55691 K2: Avoid inferring Nothing? in presence of other constraints (beside type parameter bounds)
  • KT-46288 Unexpected behavior of extension function on lambda with suspend receiver
  • KT-24779 Inconsistent smart cast behavior for bound data flow values
Performance Improvements
  • KT-23397 Optimize out field for property delegate when it's safe (JVM)
  • KT-56906 FIR: Use cached instance of FirImplicitTypeRefImpl in FIR builders
  • KT-56276 LanguageVersion.getVersionString() allocates 5k objects on project opening
Fixes
  • KT-57784 "NullPointerException: Parameter specified as non-null is null:" with enum, companion object, 'entries' and map
  • KT-55217 K2: support callable reference conversions on top-level expressions
  • KT-57232 K2: build Space JVM (master)
  • KT-59079 "AE: SyntheticAccessorLowering should not attempt to modify other files!" with callable reference to constructor with value class parameter
  • KT-58837 Partial linkage fails to report any compiler message on Windows when launched through Gradle plugin
  • KT-57602 K2: Rework member scope of types having projection arguments for covariant parameters
  • KT-55171 Put new contracts syntax under a feature flag
  • KT-58719 K2: false-positive INVISIBLE_REFERENCE error in case of importing an internal abstract class
  • KT-56030 [K2/N] Support Objective-C overloading by param names only
  • KT-57510 K2: Data class equals/hashCode/toString methods are not written to Klib metadata
  • KT-56331 K2: compiler backend crash on usage of expected function with default arguments
  • KT-53846 K2 / Context receivers: ClassCastException on secondary constructor of class with context receiver
  • KT-58621 K2: Private class shadows public function defined in the same package
  • KT-59102 K2: constant evaluator does not provide Long type on shl
  • KT-59066 [K2] delegation leads to "IllegalStateException: Expected some types"
  • KT-56074 K2: build Space JVM (snapshot 2022.3)
  • KT-58787 KAPT: "NullPointerException: null cannot be cast to non-null type" with delegate
  • KT-57022 K2 IllegalStateException in signature computation
  • KT-56792 K2: build kotlinpoet
  • KT-57373 K2: FIR properties synthesized when implementing interface by delegation don't have accessors
  • KT-56583 K1: Implement opt-in for integer cinterop conversions
  • KT-59030 [PL] Workaround for broken @Deprecated annotations in c-interop KLIBs
  • KT-58618 K2: Local property delegates cannot infer generic return type
  • KT-36770 Prohibit unsafe calls with expected @NotNull T and given Kotlin generic parameter with nullable bound
  • KT-56739 K2: build Space iOS
  • 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-40903 Forbid actual member in expect class
  • 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-56073 K2: build Exposed
  • KT-47932 Report errors on cycles in annotation parameter types
  • KT-38871 Kotlin Gradle DSL, MPP: UNUSED_VARIABLE when configuring a sourceset with delegated property
  • KT-46344 No error for a super class constructor call on a function interface in supertypes list
  • KT-56609 K2: False positive NULL_FOR_NONNULL_TYPE with -Xjsr305=strict and @Nullable annotation Java parameter
  • KT-56656 K1/K2: inconsistent NOTHING_TO_OVERRIDE with complex nullable annotations
  • KT-58332 K2: local fun with suspend type is not marked as suspend in IR
  • KT-57991 K2: Modifier 'suspend' is not applicable to 'anonymous function'
  • KT-54294 K2: "Not all type variables found" in builder inference with type parameters inferred through a union of two branches
  • KT-58564 [PL] Annotations with unlinked parameters are not removed
  • KT-52597 Provide Alpha Support for Multiplatform in the K2 platform
  • KT-58523 K2: reference is resolved to imported type-alias instead of identically named top-level property
  • KT-57098 Native: avoid object initialization while accessing const val
  • KT-57973 32-th default value in inline classes override function is not used
  • KT-57714 "IllegalStateException: <B::!>" using reified generics
  • KT-57810 toString of object erroneously considered as constant function in string concatenation
  • KT-58076 K2: Incorrect inference of type of labeled receiver
  • KT-57929 K2: Arguments of annotations are not calculated in a lot of strange locations
  • KT-54874 K2. No compilation error with incorrect Comparator invocation
  • KT-55388 Consider enabling ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
  • KT-53041 NPE in Kotlin 1.7.0 when using RxJava Maybe.doOnEvent with anonymous parameters
  • KT-54829 Cleanup local types approximation logic
  • 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 class declared in different module
  • KT-58375 Kapt: "wrong number of type arguments. required 1" when more than 22 type arguments
  • KT-48870 [FIR] Different behavior for explicit receiver resolution inside delegated constructors
  • KT-58013 K2: "Not enough information to infer type variable T" when using assert non-null (!!) and delegation
  • KT-58365 K2: Fix stub types leakage in builder inference caused by implicit receiver type update with partially resolved calls (IGNORE_LEAKED_INTERNAL_TYPES for stub types)
  • KT-58214 Continuation parameter only exists in lowered suspend functions, but function origin is LOCAL_FUNCTION_FOR_LAMBDA
  • KT-58030 K2/MPP/JVM: compiler backend crash on super-call to indirectly inherited Java method
  • KT-58135 K2: Priority of extension property is lower than ordinary property
  • KT-57181 [K1/N, K2/N] Expect and Actual funs have different IdSignature.CommonSignature, if Expect has default argument
  • KT-58219 K2/MPP/metadata: false-positive invisible reference error in Native-shared source set
  • KT-58145 K2/MPP/metadata: compiler FIR crash on inheritance of a generic class with property by actual-class from Native-shared source set
  • KT-56023 Constant operations (e.g. division) are not constant in K2 (JS, Native)
  • KT-57354 In suspend function default arguments are sometimes not deleted in IR
  • KT-55242 K2/MPP: basic build/link functionality
  • KT-57979 K2: Unresolved reference error when assigning to Java synthetic property with a different nullability getter
  • KT-57543 K2 reports DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE
  • KT-58142 K2: val parameter with more specific type is lower priority
  • KT-48546 Missed TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM error at plus-assign
  • KT-57854 RECEIVER_TYPE_MISMATCH on synthetic property from mutually recursive Java generics with disabled ProperTypeInferenceConstraintsProcessing
  • KT-54518 False negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE when calling internal method of super class
  • KT-58025 K2: Argument type mismatch when using Springs HandlerMethodArgumentResolver
  • KT-58259 Unexpected unresolved function call with obvious invoke-convention desugaring
  • KT-57135 K2: Fir should take into account an annotation's allowed targets as well as the use-site target when deciding whether it applies to a property, a field, or a constructor parameter
  • KT-57069 K2: Method kind in metadata is DECLARATION when DELEGATION is used in K1
  • KT-57958 K2: Initializer type mismatch when using extension property on type with star projection
  • KT-58149 K2: New inference error with buildList
  • KT-58008 K2: "Cannot find cached type parameter by FIR symbol: T" on suspend function with generic and nested class
  • KT-57835 K2: compiler crash on lambda with dynamic receiver
  • KT-57601 K2: Builtin function extensionToString can't be accessed
  • KT-57655 K2: ImplicitIntegerCoercion is not working for named arguments
  • KT-58143 K2: overload resolution ambiguity inside dynamic lambda
  • KT-58132 K2: Implicit int constant to long converion crashes FirSerializer
  • KT-57378 Partial linkage: Run codegen box tests for Native & JS with enabled PL
  • KT-58207 K2: Handle result of completion of synthetic call with callable reference argument
  • KT-56549 K2: Reference to Java sealed class fails to compile
  • KT-57994 K2: Type inference failed on function reference
  • KT-58099 interop0 test fails with error "type kotlin.String? is not supported here: doesn't correspond to any C type"
  • KT-57671 Synthetic $EntriesMappings declaration is public and generated even for enums from current module on IC
  • KT-56517 K2: Reference to Java record fails to compile: "unresolved reference", "Overload resolution ambiguity between candidates"
  • KT-58163 FIR: deserialized default property setter and getter must have FirResolvePhase.ANALYZED_DEPENDENCIES phase
  • KT-55646 K2: Report definitely non-nullable as reified error
  • KT-58043 k2: Expect call is not removed from IR with nullability-based overload
  • KT-56442 K2: Make sure K2 has the same behavior for defaults with overrides as K1 has
  • KT-55904 Fix tests for volatile annotation on K2
  • KT-57928 K2: Arguments of annotations on constructor value parameter are not calculated
  • KT-57814 K2: Argument type mismatch with delegating property
  • KT-56490 Implement deprecation for an anonymous type exposed from inline functions with type argument
  • KT-57781 K2: Generated serializer is invisible in a non-JVM test source set
  • KT-57807 K2: Symbol already bound exception for arrayOf function from IrBuiltInsOverFir
  • KT-57962 K2: No set method providing array access on dynamic
  • KT-57353 K2: unresolved reference when using fully qualified object declaration name as an expression, when a declaration package is from another klib and has at least two name segments
  • KT-57899 K2: compiler FIR2IR crash on anonymous object with inheritance by delegation to value of smart-casted type parameter
  • KT-57988 K2: compiler exception on get operator on dynamic this
  • KT-57960 K2: incorrect type inference in lambda with dynamic receiver
  • KT-57923 K2: Optional expectation annotation crashes const evaluator
  • KT-56511 K1: false negative SMARTCAST_IMPOSSIBLE when alien constructor property is accessed from a private class
  • KT-58033 K2 reports Constructor must be private or protected in sealed class in actual sealed class if its constructor has own actual declaration
  • KT-58061 K2: false-positive unsupported feature error on callable references to Java methods from annotation interfaces
  • KT-55079 Refactor DiagnosticReporterByTrackingStrategy and fix some "diagnostic into black hole" problems
  • KT-57889 K2: false-positive lack of information for inline function's type parameter in case of builder-style inference from caller function's return expression
  • KT-57961 K2: Unresolved reference using dynamic lambda parameter
  • KT-57911 K2: Contracts are not inherited by substitution overrides
  • KT-57880 K2: false-positive argument type mismatch due to lambda receiver shadowing labeled outer lambda receiver when assigning lambda to variable
  • KT-57986 K2: NPE on building Space
  • KT-57873 K2: compiler FIR serialization crash on builder-style inference from lambda's return type
  • KT-57941 K2: Assertion error on loading serializable class with non-serializable property compiled with K1 compiler
  • KT-57947 K2: Incorrect resolution results when property type for invokeExtension is not inferred
  • KT-58002 K2: compiler FIR serialization crash on platform type with type-targeted Java annotation with Java enum as argument
  • KT-57263 K2/MPP/JVM: compiler codegen crash on expect-property as default argument for expect-function's parameter
  • KT-56942 K2: False-negative NO_ELSE_IN_WHEN if subject is flexible type
  • KT-56687 Unexpected behaviour with enum entries when using outdated stdlib
  • KT-56398 K2/MPP: compiler backend crash on inheritance from expected interface
  • KT-57806 K2: string interpolation as annotation parameter causes error
  • KT-57611 K2: Annotation arguments are not evaluated
  • KT-56190 [K2/N] Const initializers are not serialized to klib
  • KT-57843 K2: Missing diagnostic when calling constructor through typealias whose expansion has a deprecation
  • KT-57350 FIR: deprecation diagnostic is not reported on a super class call
  • KT-57532 K2: IrActualizer doesn't handle properties overloaded by extension receiver correctly
  • KT-57776 K2: Suppressing "INVISIBLE_REFERENCE" leads to AssertionError: Unexpected IR element found during code generation
  • KT-57769 [K2] Load properties in proper order for classes compiled with kotlinx.serialization and LV < 2.0
  • KT-57879 K2: compiler FIR serialization crash on passing Java constants as arguments to type-targeted annotations
  • KT-57893 K1/K2 inconsistency on smart casts of internally visible properties in friend modules
  • KT-57876 K2: stack overflow in compiler FIR deserialization on nested type-target annotation class used in enclosing class
  • KT-57839 K2: Compiler crash on lambda returning anonymous object with implemented lambda
  • KT-57822 K2: Can't refer to external interface from class literal
  • KT-57809 K2: No value passed for parameter of external class
  • KT-56383 Build intellij master with LV 1.9
  • KT-57735 K2: MPP: K2 reports hides member of supertype and needs 'override' modifier for the function with @PlatformDependent annotation when there is an empty linux target in project
  • KT-55056 Builder inference causes incorrect type inference result in related call
  • KT-57689 K2: Unresolved reference to nested typealias in KLIB
  • KT-57665 K2: incorrect resolution of dynamic type
  • KT-57381 K2/MPP/Native: impossible to override Any::equals with non-external function
  • KT-57654 K2: Lambda with receiver deserialized as lambda without receiver during metadata compilation
  • KT-57662 K2: The error message is poorly formatted and not precise in case of NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS error and @Suppress is used
  • KT-57763 FirExtensionRegistrar extension point broken
  • KT-57312 K2: IR interpreter fails on string interpolation with const val from a klib involved
  • KT-57768 Don't decompile code to search for annotation arguments
  • KT-55628 Diagnostics for kotlin.concurrent.Volatile annotation applicability
  • KT-55860 K2. [CONFLICTING_INHERITED_MEMBERS] for inheritor of a class with overloaded generic function
  • KT-53491 K2: Implement "Operator '==' cannot be applied to 'Long' and 'Int'" error
  • KT-55804 K2: UNSAFE_CALL Non-nullable generic marked as nullable even if non-null asserted
  • KT-57682 K2: Incorrect composing of signatures for calls on dynamic types
  • KT-55405 K2: false-negative INVISIBLE_REFERENCE in import directives
  • KT-54781 K2: no error on unresolved import statement with more than one package
  • KT-57635 K2/MPP: Expect constructors are not considered as expect during metadata deserialization
  • KT-57376 K2/MPP: false-positive K/JS diagnostic in absence of K/JS target when sharing a source set between K/JVM and K/Native
  • KT-55902 K2: Support ImplicitIntegerCoercion annotation
  • KT-56577 Migrate Native KLIB ABI compatibility tests to K2
  • KT-56603 [K2/N] Segfault invoking fun from binary compatible klib
  • KT-57457 K2: the error message is not quite informative in case of EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR
  • KT-57568 K2: K2, Native reports overload resolution ambiguity
  • KT-57446 K2: Adapter function reference is not generated inside when expression
  • KT-54894 K2: False positive RETURN_TYPE_MISMATCH on function which returns a functional type with @UnsafeVariance argument
  • KT-57001 K2 compilation fails due to nullabillity subtyping not working properly
  • KT-57271 Delay forbidding inference to an empty intersection to version 2.0
  • KT-57209 K2: type parameters are available in companion object scope
  • KT-50550 False positive NO_ELSE_IN_WHEN with annotated when branch condition
  • KT-57431 K2 MPP JS: Compiler crash on transitive common dependencies
  • KT-57456 K2 reports uninitializied variable in enum class when variable is used in lambda and defined in companion object
  • KT-57583 K2/MPP/JS&Native: FIR2IR compiler crash on reference to Any method inherited by expect-classifier
  • KT-56336 [K2/N] Multiplatform test fails with unexpected "actual declaration has no corresponding expected declaration" compiler error
  • KT-57556 K2: Rename error 'This API is not available after FIR'
  • KT-23447 Integer.toChar compiles to missing method
  • KT-46465 Deprecate and make open Number.toChar()
  • KT-49017 Forbid usages of super or super if in fact it accesses an abstract member
  • KT-56119 BinaryVersion.isCompatible binary compatibility is broken
  • KT-57369 K2/MPP: supertypes established in actual-classifiers from other source sets are not visible
  • KT-55469 [K2/N] equals(Double,Double) and equals(Boolean,Boolean) are not found
  • KT-57250 K2: the metadata is serialized for an expect class even if the actual class is present when compiling to klib
  • KT-56660 K2/MPP: compiler backend crash on invoking a K/Common constructor in K/JS code
  • KT-55055 K1: Builder inference violates upper bound
  • KT-57316 Initialize Enum.entries eagerly: avoid using invokedynamics
  • KT-57491 Kotlin synthetic parameter looks ordinary
  • KT-56846 K2: incorrect line & symbol numbers in exception reporting
  • KT-56368 K2/MPP: compiler backend crash on missing actual declaration
  • KT-57104 K2: false-positive conflicting inherited JVM declarations error despite use of @JvmName in another module
  • KT-56747 [K2/N] Return type for lambda: (Any) -> Any which returns Unit is different for K1 and K2 and return statement is missing with K2
  • KT-57211 K2: incorrect "error: an annotation argument must be a compile-time constant" on unsigned array in annotation argument
  • KT-57302 K2 fails with IllegalStateException on reading inherited property of Java enum
  • KT-57424 K2 IDE: "By now the annotations argument mapping should have been resolved" exception
  • KT-57241 K2 MPP: Actualization doesn't work for actual enum that has primary constructor with arguments
  • KT-57210 K2 MPP: Support of arguments with dynamic type
  • KT-57182 K2 MPP: Actualization doesn't work for nested objects
  • KT-56344 K2: Implement correct errors reporting of IrActualizer
  • KT-54405 K2 compiler allows val redeclaration
  • KT-54531 [K2] Uncaught Runtime exception is thrown instead of user friendly error messages with details in case -no-jdk option set to true
  • KT-56926 K2: incorrect line number generated for class constructor or method with default parameter when comment before
  • KT-56913 K2: Incorrect line numbers in overriden field getters and setters
  • KT-56982 K2: Incorrect line number start in when expression
  • KT-56720 K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritance
  • KT-57175 K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type aliases
  • KT-25694 Fix reporting of uninitialized parameter in default values of parameters
  • KT-57198 K2: false-positive type mismatch error on inherited raw-typed class with type parameters in upper bounds of other type parameters
  • KT-15470 Inconsistency: use-site 'set' target is a compilation error, use-site 'get' target is ok
  • KT-57179 FIR: preserve prefix increment behavior like in K1 by calling getter twice
  • KT-57405 K2. Function call ambiguity error when nullable String is passed to function with Spring @Nullable annotation in signature
  • KT-57284 K2: compiler codegen crash at property initialization in constructor after smartcast of dispatch receiver to indirectly derived type
  • KT-57221 K2: compiler FIR2IR crash on function's unavailable cached type parameter
  • KT-57036 Unresolved reference: with inferred type of class constructor with extension parameter
  • KT-56177 K2: FIR should not generate annotation on both property and parameter
  • KT-54990 NI: Type mismatch when encountering bounded type parameter and projections
  • KT-57065 K2: overload resolution ambiguity between type-aliased constructor and identically named function
  • KT-49653 Deprecate and remove Enum.declaringClass synthetic property
  • KT-57190 K2: false-positive unsafe call error on safe call on type-aliased nullable receiver in SAM-conversion
  • KT-57166 K2: false-positive val reassignment error when synthetic property with implicitly typed overridden getter is called from implicitly typed member that is declared earlier
  • KT-55828 [K2/N]: Fix test fails in OPT mode : Internal compiler error: no implementation found ... when building itable/vtable
  • KT-56169 False negative deprecation warning about future inference error with builder inference
  • KT-56657 K1/K2: inconsistent behavior in nullability mismatch (Guava hash set/map)
  • KT-57105 K2: compiler codegen crash at property initialization in constructor after smartcast
  • KT-56379 K2: build tests for the Kotlin standard library
  • KT-56079 K2: build YouTrack 2022.3
  • KT-57092 K2: false-positive multiple inherited implementations error
  • KT-56696 K2: Allow to access uninitialized member properties in non-inPlace lambdas in class initialization
  • KT-56354 K2/MPP: unresolved references to library entities
  • KT-57095 K2: false-positive lack of type arguments error on raw cast of Base<*> to Derived: Base<T?>
  • KT-56630 FIR: ClassCastException on compilation hierarchy with a raw type
  • KT-57171 K2: Implement bytecode tests
  • KT-57214 K2: compiler FIR crash on annotation usage before annotation class declaration
  • KT-57204 K2: callable reference to mutable property of inherited by delegation superinterface isn't properly resolved
  • KT-57195 K2: false-positive VAR_TYPE_MISMATCH_ON_OVERRIDE on changing property's platform type to non-nullable type when overriding
  • KT-56814 K2. PsiElement is null inside IrClass. As a result ClassBuilder defineClass gets null as origin
  • KT-54758 Deprecate ClassBuilderInterceptorExtension.interceptClassBuilderFactory and provide another method without dependency on K1
  • KT-57253 K2: clean up callable reference logic in FIR2IR
  • KT-56225 K2. "BackendException: Backend Internal error: Exception during IR lowering" error on incorrect constructor in inline class
  • KT-56769 K2. Annotation applicability is ignored during compilation when there's use-site @target
  • KT-56616 K2: cannot infer Java array type properly
  • KT-57247 K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type-aliased vararg property
  • KT-57206 K2: false-positive val reassignment error on synthetic property from generic class with overridden getter but not setter
  • KT-56519 K2: Compiler crash on a function reference on companion receiver that inherits from outer class
  • KT-56506 K1/K2 inconsistency: VAL_REASSIGNMENT on synthetic setter with different nullability
  • KT-56877 K2: false-positive UNRESOLVED_LABEL for labeled this-expression in contract description
  • KT-56863 K2: false-positive property initialization analysis errors after smartcast
  • KT-56864 K2: Unexpected behavior with default parameter inheritance and function reference
  • KT-56665 K2: false positive RECURSIVE_TYPEALIAS_EXPANSION
  • KT-53966 K2 does not support SAM conversions with condition into Java/Kotlin functional interfaces
  • KT-56659 FIR: Increment operator on object leads to exception from resolve
  • KT-56771 FIR: Increment operator on qualified expressions leads to exception from resolve
  • KT-56759 K2: False-positive UNRESOLVED_REFERENCE on labeled desctructuring declaration in LT mode
  • KT-56548 K2: false positive overload resolution ambiguity for Java record constructor
  • KT-56476 K2: false positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY at inline fun use-site
  • KT-56138 K2: Illegal conversion of lambda with parameters to ExtensionFunction expected type
  • KT-56448 K2: False-positive unsafe call due to incorrect inference of smartcasted type
  • KT-55966 K2: Not enough information to infer type variable K if smartcast is used
  • KT-57168 K2: compiler FIR2IR crash on synthetic property from generic class with overridden getter but not setter
  • KT-56876 K2: false-positive UNRESOLVED_REFERENCE for name of nested class in contract description
  • KT-57194 K2: overload resolution doesn't prioritize Double over Float
  • KT-57067 Warning about expect/aсtual in the same module doesn't take into account absence of 'actual' modifier
  • KT-56954 K2: function literals can be passed as arguments to parameters with kotlin.reflect function types
  • KT-55423 K2: Implement CONTRACT_NOT_ALLOWED
  • KT-56923 K2: no line number in bytecode when ASTORE exception in catch
  • KT-56829 K2: compiler FIR2IR crash on passing to function a callable reference to nested class's constructor with default arguments
  • KT-57029 Per-file caches fail on local inline function in an inline function
  • KT-57085 K2: @Suppress is sensitive to its argument's case
  • KT-57103 K1: AssertionError: Mismatching type arguments: 0 vs 1 + 0 when calling inline function with callable reference to generic synthetic property
  • KT-57033 Make KtClassLiteralExpression stub based
  • KT-57035 Make KtCollectionLiteralExpression stub based
  • KT-40857 Invalid parameterized types for extension function on parameterized receiver when javaParameters=true
  • KT-56154 Compiler backend crash on reference to Java synthetic property from generic class
  • KT-56692 StackOverflow in PrivateInlineFunctionsReturningAnonymousObjectsChecker
  • KT-55879 Modularized tests: fir.bench.language.version is used as API version, not language version
  • KT-51821 ClassCastException on anonymous fun interface implementation when unrelated vararg is used
  • KT-56820 K2: compiler FIR crash on Java field access after smartcast
  • KT-56579 [K2/N] IR actualizer crashed with K2 on expect annotation marked with @OptionalExpectation, without actual.
  • KT-56750 K2: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER" when calling typealias method reference
  • KT-55614 K2: consider serializing static enum members (values/valueOf/entries) to match K1 behavior
  • KT-30507 Unsound smartcast if null assignment inside index place and plusAssign/minusAssign is used
  • KT-56646 K2: "IllegalStateException: No single implementation found for: FUN FAKE_OVERRIDE" when compiling a functional interface
  • KT-56334 K2: can't call expected function with default arguments
  • KT-56514 K2 should report ACTUAL_TYPE_ALIAS_NOT_TO_CLASS
  • KT-56522 K2 should report ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS
  • KT-56910 Exception during IR lowering: Cannot determine lineNumber of element FUN name:cancelProgress
  • KT-56542 K2: false positive TOO_MANY_ARGUMENTS in VarHandle.set call
  • KT-56861 FIR: test FirPluginBlackBoxCodegenTestGenerated.testClassWithAllPropertiesConstructor is failing with runtime error
  • KT-56234 K2: "ISE: Expected value generated with NEW" with inline property setter and noinline parameter
  • KT-56722 K2: cannot resolve component call after smart cast
  • KT-56875 K2: isOperator flag is incorrectly set for java methods
  • KT-56714 K2: wrong argument mapping in DSL
  • KT-56723 K2: lambda accidentally returns Unit? instead of Unit
  • KT-55877 K2: Secondary constructor without call to parent: no frontend error, ISE: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER"
  • KT-56386 K2: Make possible to access Java field which is shadowed by Kotlin invisible property`
  • KT-56862 Compatibility problem with using Kotlin in Intellij 223 or higher because of missing particular trove4j dependency
  • KT-55088 JS, Native compilation fail with internal error on SomeEnum.entries reference when SomeEnum is from klib compiled with disabled EnumEntries language feature
  • KT-40904 No warning when declare actual in the same target (module) as expect
  • KT-56707 K2: Unexpected TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM where only getter type specified explicitly
  • KT-56508 Context receivers: Internal compiler error when compiling code containing a class with a secondary constructor
  • KT-56706 K2: False-positive ARGUMENT_TYPE_MISMATCH for generic nested types from library
  • KT-56505 K2: Missing NO_EXPLICIT_VISIBILITY_IN_API_MODE errors on various declarations
  • KT-56682 K2: False-negative UNINITIALIZED_VARIABLE on access to delegated property
  • KT-56678 K2: False-negative UNINITIALIZED_VARIABLE if corresponding variable has initializer
  • KT-56612 K2: false positive NO_TYPE_ARGUMENTS_ON_RHS on raw cast with type alias based argument
  • KT-56445 K2: False-positive unresolved reference to callable reference to function with default argument
  • KT-55024 K2: overload resolution ambiguity/unresolved reference if variable is smart-casted to an invisible internal class
  • KT-55722 K2: Incorrect OVERLOAD_RESOLUTION_AMBIGUITY with smart cast on dispatch receiver (simple)
  • KT-56563 Inference within if stops working when changing expected type from Any to a different type
  • KT-55936 K2: Support proper resolution of callable references as last statements in lambda
  • KT-45989 FIR: wrong callable reference type inferred
  • KT-55169 K2: False-negative NO_ELSE_IN_WHEN
  • KT-55932 K2. No compiler error when elvis operator returns not matched type
  • KT-53987 K2: False negative "TYPE_MISMATCH" with if statement return
  • KT-41038 NI: TYPE_MISMATCH when passing constructor of nested class
  • KT-42449 Can not resolve property for value of type Any even after casting type to a type with star projection
  • KT-52934 StackOverflow from PseudocodeTraverserKt.collectDataFromSubgraph with if inside finally
  • KT-52860 StackOverflowError when casting involving recursive generics and star projection
  • KT-52424 ClassCastException: Wrong smartcast to Nothing? with if-else in nullable lambda parameter
  • KT-52262 TYPE_MISMATCH: Nonnull smartcasting fails with non-exhaustive when
  • KT-52502 Forbid extension calls on inline functional parameters
  • KT-51045 SETTER_PROJECTED_OUT: Star projected nullable property can't be set to null
  • KT-40480 [FIR] Support hasStableParameterName from metadata
  • KT-50134 NI: Type inference regression in java streams groupingBy
  • KT-50160 False positive "USELESS_CAST" caused by indexed access operator
  • KT-42715 Unable to use implicit lambda param it for overloaded methods
  • KT-49045 False positive USELESS_CAST in generic type with nullable type parameter
  • KT-49024 AssertionError: Variance conflict: type parameter variance 'out' and projection kind 'in' cannot be combined
  • KT-48975 Type mismatch: inferred type is X but Nothing! was expected with the AssertJ latest version
  • KT-47870 INVISIBLE_MEMBER: Kotlin class can't access protected annotation defined in Java parent class
  • KT-47495 ReenteringLazyValueComputationException on invalid code
  • KT-47490 Missed diagnostic for incorrect callable reference in finally
  • KT-47484 "Recursion detected in a lazy value under LockBasedStorageManager" on invalid code
  • KT-46301 Combining branches with sealed interfaces in when breaks type inference
  • KT-44392 False negative: redundant nullability/not null check on cast with as operator
  • KT-43936 Recursion detected on input: ANNOTATION_ENTRY with annotation on star-imported nested class
  • KT-43846 No smart cast when returning function closures with captured smart-cast variable
  • KT-43603 False positive USELESS_CAST leads to TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on "when" with smart cast and extension property
  • KT-43553 JVM / IR: "AssertionError: Unbound symbols not allowed" caused by annotation class with TYPE target
  • KT-42169 False negative CAST_NEVER_SUCCEEDS for incompatible types with generic parameter and star projection
  • KT-42136 NI: False positive [USELESS_CAST] when list serves to create a mutable list
  • KT-41721 SAM conversion fails on varargs with type approximated to Nothing
  • KT-38288 Unresolved reference for type parameter upper bound of nested class when outer class extends it with star projected type argument
  • KT-37490 NULL_FOR_NONNULL_TYPE: "Null can not be a value of a non-null type Nothing" when null is passed to nullable argument of type projected method
  • KT-37365 NPE from ReflectionReferencesGenerator.generateCallableReference with inner class function reference and wrong parenthesis
  • KT-36958 NI: missed unresolved on parenthesized callable reference passing through call (back-ends throw an exception)
  • KT-30756 No smartcast if elvis operator as a smartcast source in while or do-while is used as the last statement
  • KT-24737 Report an error on invalid this-expression with angle brackets on left-hand side of a callable reference
  • KT-21463 Compiler doesn't take into accout a type parameter upper bound if a corresponding type argument is in projection
  • KT-6822 Smart cast doesn't work inside local returned expression in lambda
  • KT-55840 Inconsistency between members of enums in bytecode between FE 1.0 + JVM IR and FIR + JVM IR
  • KT-47815 JVM: "Recursion detected in a lazy value under LockBasedStorageManager" when trying to inherit interface from a class with non-trivial function
  • KT-17817 No error reported on invalid LHS for class literal
  • KT-47373 Missed diagnostics on/after non-null assertion (!!) on generic class class use with class literal
  • KT-51143 Wrong Unit-requiring at if/when branch with stub types
  • KT-53671 False-positive diagnostic reported on OptIn annotation import from root package
  • KT-53494 Mistaken type inference in compound 'if' expression with nullability check and covariant type
  • KT-28668 "AssertionError: Unrelated types in SAM conversion for index variable" if lambda argument of '[...]' in LHS of augmented assignment is used as an implementation for different SAM interfaces
  • KT-55931 Inference for callable reference inside synthetic calls for if/when/try/etc stops working when brought into lambda for a call
  • KT-20223 Inline access check ignores operator calls to invoke()
  • KT-54478 @NoInfer causes CONFLICTING_OVERLOADS
  • KT-56472 K2: Add stack of all FIR elements to CheckerContext
  • KT-41126 [FIR] Inconsistency of a compiler behaviour at init block for an enum entry with and without a qualifier name
  • KT-54931 Annotations defined in nested classes cannot be instantiated directly
  • KT-52338 "IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class field
  • KT-24901 No smart cast for when with early return
  • KT-53086 "Cannot access '' before superclass constructor has been called" with inner class secondary constructor
  • KT-55137 Callable references with conversion are incorrectly allowed to be promoted to KFunction
  • KT-30497 EXACTLY_ONCE contract doesn't work in a function with vararg parameter
  • KT-47074 Front-end Internal error: Failed to analyze declaration State / java.lang.IllegalStateException: Should not be called! when try to add Parcelize
  • KT-24503 Return-as-expression is allowed as this/super constructor parameter
  • KT-55379 False positive NO_ELSE_IN_WHEN with smartcast to Boolean
  • KT-47750 False positive NO_ELSE_IN_WHEN in presence of smartcast to sealed interface
  • KT-53819 False positive UNINITIALIZED_VARIABLE with secondary constructor and custom property getter in local class
  • KT-56457 JVM: Enum.entries are not annotated with @NotNull
  • KT-56072 K2. "IllegalStateException: Fir2IrSimpleFunctionSymbol for is already bound" when trying to access java synthetic property of inherited class
  • KT-50082 Kotlin non-overriding property of subclass doesn't shadow same-named Java field from base class
  • KT-55822 False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with raw types and mixed overridden members
  • KT-55666 K2: label on local function is rejected: "Target label does not denote a function"
  • KT-56283 False-positive INVISIBLE_MEMBER on overridden member of more specific type after smart cast
  • KT-51969 [FIR] Compilation for expect value class fails with "Fir2IrSimpleFunctionSymbol for [declaration] is already bound"
  • KT-56329 K2: compiler backend crash on two expected functions with similar signatures
  • KT-56361 K2/MPP: receiver isn't available in lambda literals with receiver
  • KT-55295 K2/MPP: JS build functionality
  • KT-55909 [K2/N] IndexOutOfBoundsException for a reference to a function defined in companion object superclass
  • KT-55664 K2: eliminate ClassId.isSame call from FirClass.isSubclassOf
  • KT-56353 K2. False negative "Unresolved reference" in default value of secondary constructor's parameter
  • KT-56381 K2: Function type kind not extracted from lambda literal in generic call
  • KT-55747 K2. "Convention for 'mod' is forbidden. Use 'rem'" error is missing
  • KT-56104 Unnecessary inner classes attributes in class files for subclasses
  • KT-55570 K2: ACTUAL_WITHOUT_EXPECT error is not reported on a simple actual class
  • KT-56176 [K2/N] "IllegalStateException: actual type is kotlin.Int, expected kotlin.Long" when expected type uses typealias
  • KT-56229 K2: IllegalStateException (already bound) for triangle-like dependencies scheme with MPP scenario
  • KT-56199 K2 + MPP + kotlinx.serialization: java.lang.VerifyError: Bad type on operand stack in aaload
  • KT-56212 K2: Exception when compiling extension function declaration with illegally chained type parameter receiver
  • KT-55503 K2: "Argument type mismatch" caused by using the wrong "this"
  • KT-56050 K2: inconsistency regarding visibility of synthetic properties with protected getter and public setter
  • KT-49663 FIR: Support @kotlin.jvm.PurelyImplements for java collections
  • KT-55468 [K2/N] Crash with debuginfo caused by changed tree using IMPLICIT_COERCION_TO_UNIT
  • KT-56269 [K2/N] Don't test "Tailrec is not allowed on open members" in K2
  • KT-54647 K2: Function call with Lambda on LHS of assignment leads to KotlinExceptionWithAttachments: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteral
  • KT-54648 K2: Function call on left side of erroneous assignment isn't resolved
  • KT-55699 K2. False Negative "Type parameter T is not an expression"
  • KT-56132 Restore 'JvmBackendContext' constructor signature for compatibility
  • KT-55973 K2: Exception from UnusedChecker on an unused destructuring
  • KT-56275 K2 IDE: Missed error for enum super type
  • KT-54775 K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl " exception on incorrect code
  • KT-55528 K2: CFA for property initialization analysis is not run for class initialization graphs
  • KT-54410 K2: Deprecation warning instead of "this declaration is only available since Kotlin X" when language version in project are below required to use language feature
  • KT-55186 K2: No compilation error on calling exception without constructor
  • KT-36776 Treat special constructions (if, when, try) as a usual calls when there is expected type
  • KT-50947 False negative: FE 1.0 doesn't report type variance conflict error on an inner type
  • KT-39041 Collection literals should not be allowed inside annotation classes
  • KT-54694 Consider enabling BooleanElvisBoundSmartCasts in K1 or K2
  • KT-54587 K2. CCE on compilation when some operator fun is needed and it is implemented as an extension function for another class
  • KT-52774 Resolve unqualified enum constants based on expected type
Docs & Examples
  • KT-53643 Update coding style conventions to include rangeUntil operator
  • KT-57902 Create migration tutorial from kotlin-js to kotlin-multiplatform gradle plugin
  • KT-58381 [Docs][Libraries] Document Path.createParentDirectories
IDE
Performance Improvements
  • KTIJ-23501 Make main run configuration detection lighter
  • KT-56613 Reduce memory consumption of light classes
Fixes
  • KT-57849 K2: contract violation due to implicit java type with annotation
  • KT-57857 LC: FakeFileForLightClass: Read access is allowed from inside read-action
  • KT-57578 SLC: incorrect upper bound wildcards
  • KT-57917 Analysis API: decompiled value parameters are not resolved
  • KT-56046 K2 IDE: Avoid redundant resolve from annotations
  • KT-57569 SLC: incorrect visibility for lateinit var with private setter
  • KT-57547 SLC: non-last vararg value parameter type mismatch
  • KT-57548 SLC: incorrect inheritance list for Comparator
  • KT-56843 Light classes: certain kinds of constant values in property initializers aren't supported
  • KT-56868 SLC: IncorrectOperationException on enum annotation arguments that are not valid Java identifiers
  • KT-56833 Light classes: Accessors to lateinit properties don't have @NotNull annotations
  • KT-56845 Light classes: Overridden property accessors don't have @Override annotation
  • KT-56441 K2 IDE: reference from Java to ObjectName.INSTANCE of private object is red in IDE, but compiled successfully
  • KT-56891 Symbol Classes: DefaultImpls classes contain methods without default implementation
  • KT-56842 Light Classes: Primitive-backed context receiver parameters shouldn't be marked with @NotNull
  • KT-56835 Light classes: Underlying fields for delegated properties should be marked as final and @NotNull
  • KT-56840 Light Classes: Inline classes backed by Java primitives shouldn't be marked with @NotNull
  • KT-56728 K2 IDE. False positive not applicable to for kotlin annotation with target annotating Java element
  • KT-55815 SLC: Keep annotations on type when converting to PsiType
  • KT-55669 K2 IDE: INRE from light classes
IDE. Completion
  • KTIJ-25108 K2 IDE: Code completion in Java context for Kotlin top level members: "Slow operations are prohibited on EDT" through KtAnalysisScopeProviderImpl.canBeAnalysed()
  • KTIJ-24989 K2 IDE: completion should show information about expanded types for type alias parameters
  • KTIJ-24992 K2 IDE: completion shows return type with incorrect nullability when type is stub type
  • KTIJ-24948 K2 IDE: "ERROR: class org.jetbrains.kotlin.fir.types.jvm.FirJavaTypeRef cannot be cast to class org.jetbrains.kotlin.fir.types.FirResolvedTypeRef" during completion of inner classes' constructors
  • KTIJ-24256 K2 IDE: Angle brackets are missing in completion of function with type parameters
  • KTIJ-24083 K2, Completion: Exception on adding a type parameter receiver to a function
  • KTIJ-23963 K2 IDE: Completion in Kotlin suggests overriding a Java field; fails with "Unknown member to override"
  • KTIJ-22359 K2 IDE: no completion for Java synthetic properties from super class
  • KTIJ-23880 Completion doesn't work for Java synthetic property reference
IDE. Decompiler, Indexing, Stubs
  • KTIJ-25152 Kotlin Bytecode tool window: ISE Symbol with IrSimpleFunctionSymbolImpl is unbound on actual callable with argument in mpp project with IR
  • KTIJ-24475 Migrate kotlin index extension implementation from object to classes
  • KTIJ-24335 Kotlin Bytecode tool window: NoSuchElementException caused by duplicate Boolean type descriptor in JvmSharedVariablesManager.getProvider
  • KTIJ-24206 Kotlin Bytecode tool window: "Unhandled intrinsic in ExpressionCodegen" when compiling a source file with an expect function
  • KTIJ-15764 IR by default in Kotlin bytecode tool window
IDE. Gradle Integration
  • KT-59034 MPP build failed with "Factory type is not known for plugin variants" in kt-231-*
  • KT-56671 KGP import: K/N distribution libraries should'n be resolved for IDE by KGP with package names
  • KTIJ-24573 KGP-based import: commonized cinterop libraries don't include source set targets, unsupported by host
  • KTIJ-25757 KJS: 1.9.0-Beta fails to run when running in Android Studio
  • KTIJ-24701 KGP import: JVM+Android shared source sets don't receive a correct default stdlib dependency
  • KTIJ-24745 IDE sync of kotlin("js") projects with js(BOTH) set fails with exception because of the new MPP IDE import
  • KTIJ-24567 Enable KGP dependency resolution by default
  • KTIJ-24729 KotlinMPPGradleProjectResolverKt must not be requested from main classloader on project import
  • KTIJ-11978 IDE does not recognize the sources JAR of a published to mavenLocal MPP library
IDE. Inspections and Intentions
  • KTIJ-24684 K2 IDE: 'Redundant qualifier name' false positive in type specification in extension function
  • KTIJ-24662 K2 IDE: False positive "Redundant qualifier name" inspection for nested class from base interface
  • KTIJ-25232 K2 IDE: "Redundant qualifier name" inspection false positive with object referenced via property
  • KTIJ-25447 Make Enum.entries and RangeUntil inspections don't check for opt-in when APIs become stable
  • KTIJ-23588 K2 IDE. False positive unused import directive for extension function of an object
  • KTIJ-25112 K2 IDE: False positive "Actual value of parameter 'b' is always 'null'"
  • KTIJ-24485 Explicit API mode: false positive "redundant 'public' modifier"
  • KTIJ-24453 Unsuccessfull resolve error from OperatorToFunctionIntention on recursive property declaration
IDE. JS
  • KT-58427 Kotlin Gradle Plugin ignores language version value for Kotlin/JS sources
IDE. Libraries
  • KTIJ-25096 K2 IDE: Library sessions are garbage collected between performance test runs with enabled library caches
  • KTIJ-24413 Cannot navigate to enum of the Kotlin library via entries call
IDE. Multiplatform
  • KTIJ-25859 MPP: Library wizard with android target uses deprecated androidTest source set
  • KTIJ-25479 Compiler options is not imported correctly for js source sets
  • KTIJ-24011 MPP: Native tests are missing run gutters
JavaScript
New Features
  • KT-12784 JS: generate ES2015 compatible modules
  • KT-48154 KJS / IR: Inline members support for external types
  • KT-51582 FIR: support basic compile-time evaluation for JS backend
Fixes
  • KT-43490 KJS / IR: "Cannot set property message of Error which has only a getter" caused by class that is child of Throwable
  • KT-57690 K2/MPP: compileProductionLibraryKotlinJs fails with Module has a reference to symbol kotlin/arrayOf|3204918726020768747[0]. Neither the module itself nor its dependencies contain such declaration
  • KT-56911 K2/MPP: Compile K/JS fails for @Serializable annotation with class IrDeclarationOrigin$GeneratedByPlugin cannot be cast to class IrDeclarationOriginImpl
  • KT-56950 Support KLIB IC with K2
  • KT-58570 KJS: ES6 classes + PL throw java.lang.NullPointerException
  • KT-58835 K2/JS: Fix incremental compilation klib tests
  • KT-58794 KJS / K2: Assertion failed with Space build
  • KT-51706 Partial linkage: in case of absent symbol referred from declaration Native compiler is successful, JavaScript fails
  • KT-54452 Kotlin/JS libraries with "joined" legacy+IR content: publish IR sources for them
  • KT-53180 Kotlin/JS: generated TypeScript constructor can have "TS1016: A required parameter cannot follow an optional parameter" error with certain properties order
  • KT-39650 KJS IR: provide a way to enable ES2015 class generation
  • KT-57990 KJS/IR. Invalid super call for final parent methods (ES classes)
  • KT-58246 KJS: ES15 classses — duplicated code in class constructor
  • KT-57479 KJS: Add an annotation for a function parameter which checks that a passed argument has an external type
  • KT-58201 Unknown statement type when building with ES modules
  • KT-30810 values and valueOf are miscompiled for external enum classes
  • KT-57024 Ugly TypeScript definitions for declarations with both @JsExport and @Serializable
  • KT-56237 KJS + IC: Adding or removing interface default implementation doesn't invalidate children and doesn't update JS code
  • KT-54638 K2/JS: Fir2ir - implement and use JS-specific mangler
  • KT-54028 Native / JS: Using private object implementing a sealed interface causes a linker error
  • KT-57423 KJS: Add an annotation for external interfaces which allows to be inherited only by other external interfaces, classes or objects
  • KT-57711 K2: Native & JS fail to compile a KLIB that uses const val from a dependency KLIB
  • KT-57078 JS IC: Unbound symbol left in SymbolTable in JsIr[ES6]InvalidationTestGenerated.testBreakKlibBinaryCompatibilityWithVariance tests
  • KT-57254 Deprecate external enum declarations
  • KT-57002 KJS: "JsParserException: missing name after . operator" when a js(...) block contains an interpolated constant
  • KT-56961 JS IR: serializedIrFileFingerprints in klib manifest has a wrong format
  • KT-56282 KJS: Invalidate incremental cache in case of compiler internal errors
KMM Plugin
  • KT-55402 "Framework not found SQLCipher": after selection of "Regular framework" as "iOS framework distribution" and installing SqlCihper through CocoaPods
  • KT-55988 KN debugger in KMM plugin for Android Studio can't recognize the source code
Language Design
New Features
  • KT-48872 Provide modern and performant replacement for Enum.values()
  • KT-15613 Introduce special syntax for the until operator
  • KT-4107 Design and implement a solution for toString, equals and hashCode on objects (data object)
Fixes
  • KT-28850 Prohibit protected visibility in final expected classes
  • KT-39362 Expect fun interface must have actual fun interface counterpart
  • KT-48994 Prohibit type unsound java fields assignments
  • KT-58791 Prolongate PROGRESSION_CHANGE_RESOLVE diagnostics to 2.x
  • KT-53778 Release stdlib API about "rangeUntil" operator in 1.9
  • KT-53653 Export Enum.entries to Objective-C and Swift
  • KT-55177 Deprecate declaration of expect and actual counterparts of same class in one module
  • KT-49110 Prohibit access to members of companion of enum class from initializers of entries of this enum
  • KT-47986 Forbid implicit inferring a type variable into an upper bound in the builder inference context
  • KT-57395 Delay ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound feature to LV 2.0
  • KT-55082 Bump KLib version for Enum.entries
  • KT-49264 Deprecate infix function calls of functions named "suspend" with dangling function literal
Libraries
New Features
  • KT-58046 Stabilize remaining kotlin.time API: time sources, time marks, measureTime
  • KT-58074 Stabilization of Atomics API in K/N
  • KT-55268 Mutiplatform @Volatile annotation
  • KT-51908 Provide common function for getting regex capture group by name
  • KT-53263 Path.createParentDirectories
  • KT-7637 Add toString() to standard delegates classes (NotNullVar, LazyVal, BlockingLazyVal, ...)
  • KT-40728 Add AssertionError constructor with cause: Throwable parameter to common stdlib
  • KT-57298 Avoid FileAlreadyExistsException from Path.createParentDirectories in case of parent is symlink
Performance Improvements
  • KT-54739 build method in collection builders (Set, Map, List) should return a single instance for empty collections
  • KT-42589 Provide common listOf(value) overload to avoid allocation of the vararg
  • KT-55091 Stdlib: Sequence.toSet() and Sequence.toList() may create the collection twice
  • KT-57617 Optimize ReversedListReadOnly iterator
  • KT-57607 KJS: Bad performance for ArrayList.addAll
Fixes
  • KT-58841 Serialization: NPE when obtaining a serializer of a sealed base class with a self-referencing property
  • KT-57728 Explicitly specify level of stability of programmatically-accessible interoperability API
  • KT-58985 Update KClass.isData KDoc
  • KT-57762 Introduce HexFormat for formatting and parsing hexadecimals
  • KT-55612 Stabilize experimental API for 1.9
  • KT-58548 Stabilize standard library API for Enum.entries
  • KT-56400 Disable compilation of atomicfu-runtime with legacy JS backend
  • KT-58276 Deprecate redundant public declarations in kotlin.native.concurrent
  • KT-35973 Extract org.w3c declarations from stdlib-js
  • KT-58073 JS/Legacy compiler blocks compilation of kotlinx.atomicfu with K2
  • KT-57317 Repack EnumEntries from stdlib into the compiler
  • KT-54702 Native: mark Worker and related APIs as obsolete
  • KT-55610 Deprecate kotlin.jvm.Volatile annotation in platforms except JVM
  • KT-57404 Native: Support AnnotationTarget.TYPE_PARAMETER
  • KT-57318 Change EnumEntries stdlib implementation to be eager
  • KT-57137 Native: Consider removing ArrayAsList
  • KT-56661 Missing EnumEntries-related bytecode in kotlin-stdlib-1.9.255-SNAPSHOT.jar
  • KT-51579 PlatformImplementations loading is not compatible with graalvm native-image --no-fallback
Native
  • KT-54098 Decommission and remove 'enableEndorsedLibs' flag from Gradle setup
  • KT-52594 Provide Alpha support for Native in the K2 platform
  • KT-56071 K2/MPP: Native build functionality
  • KT-56218 [K2/N] Receiver annotations for properties are not serialized
  • KT-56326 [K2/N] RemoveRedundantCallsToStaticInitializersPhase removes important static initializer
  • KT-27002 lateinit intrinsics frontend checkers aren't applied on Native
Native. Build Infrastructure
  • KT-58160 Native: performance build configuration fails with NoSuchMethodError: 'boolean kotlinx.coroutines.CompletableDeferredKt.completeWith(kotlinx.coroutines.CompletableDeferred, java.lang.Object)'
Native. C and ObjC Import
  • KT-54610 Kotlin Native can't call objc_direct functions
  • KT-57918 [K2/N] Support typealiases in FirClassSymbol<*>.selfOrAnySuperClass()
  • KT-58651 Native c-interop tool generates broken @Deprecated annotations
  • KT-57541 Compilation fails without explicit cast on cinterop code
  • KT-54805 KMP ios memory leak when using CA Layer
  • KT-57490 [K/N] Duplicate package names for cinterop klibs with objc protocols fails to link
Native. ObjC Export
  • KT-58839 K/N: Exception during HiddenFromObjC marked class extension function compiling
  • KT-56464 K/N: Allow HiddenFromObjC for classes
  • KT-57507 K2: Set of Objc exported declarations is different between K1 and K2
Native. Runtime
  • KT-58441 Kotlin/Native: @ObjCAction @ObjCOutlet generate bridges without switching state
  • KT-57091 Align Native and Java file/class initialization behavior
Native. Runtime. Memory
  • KT-56233 [Kotlin/Native] Crash when enum values are accessed in multiple threads
  • KT-58130 Implement preview of custom allocator for Kotlin/Native
  • KT-56402 Native: if a Kotlin peer for an Obj-C object is created on the main thread, then Kotlin runtime should run objc_release for it on the main thread
Native. Stdlib
  • KT-57344 Try to remove strange .equals overload on primitive types
  • KT-57592 Native: Remove the default parameter value for AtomicLong constructor
Native. Testing
  • KT-57349 Enable more K2 MPP codegen/box tests for Kotlin/Native
  • KT-57026 K2: Fix Native test infrastructure for MPP
Reflection
  • KT-54833 Reflection: Incorrect behaviour for Field.kotlinProperty function in companion objects
  • KT-56650 ArrayStoreException from InlineClassAwareCaller.call with an array of inline class
  • KT-56093 Metaspace leak in a Gradle plugin built with Kotlin 1.8.0
  • KT-55937 Optimize implementation of kotlinFunction/kotlinProperty
Tools. CLI
  • KT-57495 Add JVM target bytecode version 20
  • KT-57154 Incorrect version of JDK is provided through CoreJrtFs
  • KT-56209 Add CLI support for HMPP in K2
  • KT-58351 Confusing error message when using removed -Xjvm-default mode value
  • KT-57535 K2: Kotlin command line compiler doesn't see class files on the class path in 2.0
  • KT-57644 K2: Prohibit passing HMPP module structure with CLI arguments to metadata compiler
  • KT-56351 Reduce memory usage spent on compiler settings
Tools. Commonizer
  • KT-57796 NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20
  • KT-56207 Investigate failing tests in ClassifierCommonizationFromSourcesTest
Tools. Compiler Plugins
Fixes
  • KT-57821 K2: Compiler calls declaration generation plugins twice for classes in the common source set
  • KT-57406 FIR Compiler plugins: Assignment plugin incorrectly recognizes qualified names of annotations
  • KT-57626 K2: SERIALIZER_NOT_FOUND for serializable class from another module
  • KT-57400 FIR Compiler Plugins: annotated predicate does not work with Java classes
  • KT-57140 K2: Implement backwards compatibility for FirFunctionTypeKindExtension
  • KT-56685 K2: ArrayIndexOfBound during session creation if compiler plugins are enabled
  • KT-55375 Remove "legacy" mode of jvm-abi-gen plugin
  • KT-53470 FIR: pass MemberGenerationContext to all methods of FirDeclarationGenerationExtension
  • KT-51092 Lombok @Value causes IllegalAccessError
  • KT-55885 K2 plugin API: Backend-only declarations are not visible from other modules
  • KT-55584 K2: Improve registration of session components from compiler plugins
  • KT-55843 FIR Plugin API: metaAnnotated predicate returns meta-annotation itself as well
  • KT-53874 Optimize checking for plugin applicability and redesign DeclarationPredicates
Tools. Compiler plugins. Serialization
Fixes
  • KT-58954 Serialization: NPE at run time when accessing a delegating property of a deserialized object
  • KT-56537 Serialization: Presence of (transient) delegated field in the serialized class breaks deserialization
  • KT-58918 Serialization: NPE at run time obtaining a serializer for a sealed class with a generic self-referencing property
  • KT-59113 Serialization: NPE at run time when accessing a delegating property of a deserialized object
  • KT-57647 Serialization: "IllegalAccessError: Update to static final field" caused by serializable value class
  • KT-57704 K2/serialization: false-positive SERIALIZER_NOT_FOUND when compiling against 1.7.20 binary with enum class
  • KT-57083 K2/serialization: can't resolve serializers for classes from other modules
  • KT-56480 K2: false-positive warning about incompatible serializer type when using type aliases
  • KT-56594 K2/serialization reports SERIALIZER_NOT_FOUND over aliased String or primitive types
  • KT-56553 Support 'serialization plugin intrinsics' feature in K2
  • KT-56244 kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0
Tools. Daemon
  • KT-50846 Remove "new" Kotlin daemon from codebase
Tools. Gradle
New Features
  • KT-56971 Expose jvmTargetValidationMode property in KotlinCompile Gradle task
  • KT-57159 Add project level compiler options for Kotlin/JVM plugin
Performance Improvements
  • KT-57052 Gradle: Stop using exceptions for flow control
  • KT-57757 Reduce classpath snapshotter memory consumption
  • KT-56052 Implement an in-memory wrapper for PersistentHashMap to avoid applying changes to IC caches before successful compilation
Fixes
  • KT-55624 Update KGP integration tests that use removed in Gradle 8 getClassifier method
  • KT-59589 Gradle: 'java.lang.NoClassDefFoundError: com/gradle/scan/plugin/BuildScanExtension' on 1.9.0-RC when applying Enterprise Plugin from initscript
  • KT-59063 Explicit API mode broken in Kotlin 1.9.0-Beta
  • KT-57653 Explicit API mode is not enabled when free compiler arguments are specified in Gradle project
  • KT-59256 [1.9.0-Beta] ServiceLoader does not pick up classes defined in the same project
  • KT-58662 Gradle 8.1 + Configuration Cache: custom values data is missing from build report
  • KT-58280 org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath
  • KT-59191 Actual compilation failure exception might be hidden in the case of a Kotlin daemon crash
  • KT-56211 Improve Kotlin build reports
  • KT-57767 Gradle: "ZipException: invalid entry size" with 1.8.20
  • KT-57736 K2: Introduce an easy way to try K2 compiler in Gradle user projects
  • KT-59056 FreeCompilerArgs options added using 'subprojects' extension override module-level freeCompilerArgs options
  • KT-55740 Gradle 8: Listener registration using Gradle.addBuildListener() has been deprecated
  • KT-37652 Support explicit mode for Android projects
  • KT-58251 Build Statistics. Kotlin-specific tags are missing in build scans if projects use Gradle 8+
  • KT-57224 Add an indicator into build metrics report to show whether K1 or K2 compiler was used to compile the code
  • KT-58571 ExplicitApi mode should not apply for test compilations
  • KT-42718 Test and AndroidTest sources should be excluded from explicit API requirements for libraries
  • KT-58916 [1.9.0-Beta] PLUGIN_CLASSPATH_CONFIGURATION_NAME and NATIVE_COMPILER_PLUGIN_CLASSPATH_CONFIGURATION_NAME should stay public or offer an alternative API
  • KT-58869 K2, Gradle: Improve message "100% (2/2) tasks have compiled with Kotlin 2"
  • KT-52811 Kotlin Serialization metadata issue due to incompatibility between Gradle Kotlin embedded version and Kotlin Gradle Plugin version
  • KT-57330 Provide collection of usage statistics for the Dokka
  • KT-57393 jvm-target value set through 'android.kotlinOptions' is ignored and overwritten with the default 1.8 value
  • KT-58745 KaptGenerateStubs task should also be configured with the same compiler plugin options
  • KT-58682 Explicit api mode does not apply in MPP projects
  • KT-52976 Remove deprecated Gradle conventions usages
  • KT-58530 Compiler plugin unbundling changes should be backward compatible with Kotlin plugin
  • KT-36904 Adding folders to sourceSets.resources.srcDir() in Gradle script does not work
  • KT-58313 An exception in console if no task is executed and file build reports are enabled
  • KT-58619 Move all pm20 interfaces into Gradle plugin codebase
  • KT-58320 Kotlin daemon OOM help message is missing on OOM in Kotlin Daemon itself
  • KT-53923 Add 'progressive' compiler argument to Gradle compiler options
  • KT-53924 Add 'optIn' compiler arguments to Gradle compiler options
  • KT-53748 Remove KotlinCompile setClasspath/getClasspath methods
  • KT-56454 Bump minimal support AGP version to 4.2.2
  • KT-57397 Add infrastructure to use the build-tools-api to run compilation from Gradle
  • KT-56946 Switch incremental Gradle tests for K2 to use language version 2.0
  • KT-57782 Disable daemon fallback strategy for Gradle integration tests by default
  • KT-57142 Split org.jetbrains.kotlin.gradle.tasks/Tasks.kt into several source files
  • KT-54447 Remove usage of deprecated internal Gradle field in Kotlin Gradle Plugin, replace with equivalent in public API
  • KT-49785 Avoid creating task output backups until really needed
  • KT-56047 False positive message about full recompilation is displayed while restoring from build cache and then making a syntax error
  • KT-56421 Gradle: plugin should not use BasePluginExtension deprecated properties
  • KT-55241 Gradle: the VariantImplementationFactories build service state is not persistent making impossible to access factories with configuration cache lazily
  • KT-56357 Gradle: "DefaultTaskCollection#configureEach(Action) on task set cannot be executed in the current context" because of VariantImplementationFactories
  • KT-56352 Make build scan reports more readable
  • KT-55972 Gradle: Add an assertion to all integration tests if warningMode is not FAIL, but the build doesn't produce any warnings
Tools. Gradle. Cocoapods
  • KT-38749 Support reusing generated C-interop between dependant pods
  • KT-54161 Support adding extra code to generated Podfile from the Kotlin gradle plugin
  • KT-56162 Provide granular Gradle warnings suppression for CocoaPodsIT
Tools. Gradle. JS
New Features
  • KT-48791 KJS: Support for Power(ppc64le) and Z(s390x)
  • KT-32209 org.jetbrains.kotlin.js does not respect Gradle's archivesBaseName
  • KT-52646 KJS / Gradle: make "KotlinCompilationNpmResolver already closed" a warning
  • KT-52647 KJS / Gradle: Make "Projects must be configuring" a warning
  • KT-56158 KJS: Support implementation dependencies
Fixes
  • KT-59604 Unresolved reference: useKarma in convention plugin
  • KT-57604 JS, Space: Circular dependency between tasks
  • KT-59116 K/JS npm dependcies are not resolved properly on Kotlin 1.9
  • KT-54731 KJS / Gradle: "There are multiple versions of "kotlin" used in nodejs build: 1.6.21, 1.7.20." with kotlin-dsl in buildSrc
  • KT-58970 browserTest gradle task fails if karma is used and gradle configuration cache is enabled
  • KT-59004 Kotlin JS 1.9.0-Beta, yarn.lock is unstable in multi module project
  • KT-56458 KJS / Gradle: Unnecessary and confusing "There are multiple versions of "kotlin" used in nodejs build" generated from YarnImportedPackagesVersionResolver
  • KT-57985 K/JS: packageJson Gradle configurations don't inherit unique attributes from JsTarget DSL
  • KT-57817 JS: executables for couple of JS targets builds in the same directory
  • KT-58199 K/JS: Remove useCoverage method
  • KT-57116 KJS / Gradle: commonWebpackConfig not applied if called after binaries.executable()
  • KT-58522 K/JS: Upgrade NPM dependency versions
  • KT-57629 K/JS: Change default destination of JS production distribution
  • KT-57480 K/JS: Use IR compiler by default without explicit choosing of js compiler
  • KT-58345 K/JS: Webpack task skipped with ES modules because files have mjs extension
  • KT-58071 KJS / Gradle: jsNodeTest task is not incremental
  • KT-43809 KJS: browserProductionExecutableDistributeResources tasks deletes distributions directory
  • KT-56690 Kotlin2JsCompiler friendDependencies cannot be configured through friendPaths
  • KT-57920 K/JS: Make imported NPM package not considering dev dependencies
  • KT-56025 KJS / Gradle: Gradle 8.0 jsBrowserProductionWebpack uses the output of another project's jsProductionExecutableCompileSync
  • KT-57630 K/JS: webpack updating twice on one change of kt sources
  • KT-47351 KJS / IR: :jsTestPackageJson is unable to find nested included builds under composite build
  • KT-44754 K/JS: browserRun --continuous keeps rebuilding without any changes
  • KT-49774 KJS / Gradle: Errors during NPM dependencies resolution in parallel build lead to unfriendly error messages like "Projects must be closed"
  • KT-57387 Remove support of webpack 4
  • KT-57386 Kotlin/JS upgrade npm dependencies
  • KT-56705 KJS / Gradle: Module name starting with '@​' isn't properly set when FUS is disabled
  • KT-46428 KJS / IR: Composing build failed "Failed to create MD5 hash for package.json"
  • KT-53687 Don't trigger npm and yarn related tasks if it not relevant for assemble
  • KT-49915 KJS / Gradle: Gradle build cache miss because of absolute path in KotlinJsIrLink.filteredArgumentsMap
  • KT-56192 KJS: In browser testing no original sources in stacktrace
  • KT-42395 Kotlin/JS: Gradle DSL: PackageJson.customField() does not accept null
  • KT-43305 Support Node.JS downloading for Ubuntu
  • KT-48631 KJS: Unconditionally uses linux/x86 binaries
  • KT-38015 NodeJS installation does not extract symlinks correctly (npm and npx)
Tools. Gradle. Multiplatform
New Features
  • KT-34662 Provide an option for Android targets to compile & run commonTest tests as unit tests only, instrumented tests only, or both
  • KT-55881 Add possibility to enable/disable sources publication similar to Java Gradle Plugin API
Fixes
  • KT-59446 MPP: transformCommonMainDependenciesMetadata failing for api java dependency in shared jvm source set with Future was not completed yet
  • KT-55751 MPP / Gradle: Consumable configurations must have unique attributes
  • KT-57688 MPP: compileDebugKotlinAndroid task fails with llegalArgumentException: 'moduleName' is null!
  • KT-56210 Pass module structure to CLI of K2 if K2 enabled
  • KT-57531 KotlinNativeLink: StackOverflowError when consuming library with dependency cycles (from constraints)
  • KT-58281 Kotlin Gradle Plugin: Enable Kotlin/Android SourceSetLayout v2 by default
  • KT-57903 Prepare for migration to the pluggable android target plugin
  • KT-49933 Support Gradle Configuration caching with HMPP
  • KT-58661 KGP: KotlinJvmTarget: Implement 'run' carrier task
  • KT-59055 KotlinJvmRun not respecting jvmToolchain setting
  • KT-57959 Module-name value can't be changed for the android target of a multiplatform project
  • KT-55506 TCS: Gradle Sync: kotlin-stdlib-common is not filtered from JVM + Android source sets
  • KT-57652 Don't expose sourcesElements for project2project dependencies
  • KT-58601 Finalise "ExternalKotlinTargetApi" shape for initial 1.9 release
  • KT-58710 External Target Api: Add API to control SourceSetTree
  • KT-58488 Add a diagnostic message to KGP in case of val androidTest by getting usage
  • KT-57482 cleanNativeDistributionCommonization is not compatible with configuration cache with gradle 8.0
  • KT-58062 Commonizer configuration cache not compatible with Gradle 8.1
  • KT-58086 Warn about using MPP libraries published in the legacy mode
  • KT-56439 TCS: Gradle Sync: IdeBinaryResolver: Add componentFilter API for compilations/configurations
  • KT-57023 Cryptic Gradle task descriptions for compile tasks
  • KT-58470 Warning about using MPP libraries published in the legacy mode is not reported if the dependency is declared in an intermediate source set
  • KT-58466 K2 Gradle: non *.kt files are passed to -Xfragment-sources
  • KT-58319 kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'"
  • KT-51940 HMPP resolves configurations during configuration
  • KT-58261 Link kotlin native binary framework tasks fails when configuration cache is enabled
  • KT-41506 UnknownDomainObjectException: "KotlinSourceSet with name not found" when creating custom compilations after applying withJava to an MPP JVM target
  • KT-58209 Do not use the term 'Module' in KotlinTargetHierarchy
  • KT-56153 When the dependency is unresolved, import fails and don't import anything instead of degrading gracefully
  • KT-56571 New import broke apiVersion for commonMain, commonTest and jvmAndAndroidMain modules
  • KT-56712 Multiplatform;Composite Builds: Classpath isolation: .MppDependencyProjectStructureMetadataExtractorFactory cannot be cast to class *MppDependencyProjectStructureMetadataExtractorFactory
  • KT-56461 MPP: resolvableMetadataConfiguration: Ensure consistent resolution across all compile dependencies
  • KT-56841 MPP: Module-to-module dependencies don't work inside included build in included build
  • KT-42748 Project that transitively depends on composite build of multimodule multiplatform library cannot resolve dependencies properly
  • KT-52356 MPP / Gradle: Missing common classes on KMM project integrated via Gradle included build into an Android application
  • KT-51293 Unresolved references with hierarchical project structure when building KotlinMetadata from native-common source set
  • KT-56700 V2 MPP Source Set layout warnings should include link to docs
  • KT-55926 TCS: Gradle Sync: Import Extras on KotlinSourceSet and KotlinTarget
  • KT-55730 MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets
Tools. Gradle. Native
  • KT-58838 KGP/Multiplatform: 1.9.0-Beta with custom cinterops: IllegalStateException: Could not create domain object 'jni' (DefaultCInteropSettings)
  • KT-57823 KotlinNativeCompileOptions.moduleName value is ignored and replaced with the default one if to set up using compilations
  • KT-57815 KotlinNativeCompileOptions.moduleName isn't accessible if to configure using compilerOptions.configure {}
  • KT-57944 K2: K2, MPP, Native: K2 reports "Source does not belong to any module" for native sources
  • KT-53108 Expose Kotlin/Native compiler options as Gradle DSL
  • KT-58063 Kotlin/Native tasks configuration cache are not compatible with Gradle 8.1
  • KT-38317 Kotlin/Native: NSURLConnection HTTPS requests fail in iOS tests due to --standalone simctl flag
  • KT-56280 Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries
Tools. Incremental Compile
  • KT-58289 IC fails to detect a change to class annotations
  • KT-58986 New IC: ISE "The following LookupSymbols are not yet converted to ProgramSymbols: LookupSymbol(name=$$delegatedProperties, ...)"
  • KT-56197 If use classpathSnapshot, the invoke place of subclass's super function who has default parameters will not recompiled if it is incremental build
  • KT-56886 K2: Changes to Java sources used in Kotlin project do not trigger a rebuild if a previous build was successful
Tools. Kapt
  • KT-54468 KAPT Gradle plugin causes eager task creation
  • KT-59521 Kapt maven plugin require version of annotation processor
  • KT-58301 K2: Compile Kotlin task failure for the generated by Kapt sources : 'Source NameOfTheGenerated.kt does not belong to any module
  • KT-57598 K2: Support a fallback mode executing Kapt with K1 even when the compiler is run with languageVersion=2.0
  • KT-58226 KAPT: “org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtNameReferenceExpression” with enum with secondary constructor
Tools. Maven
  • KTIJ-25445 Maven. JVM target is imported as 1.6 when no target specified in pom.xml
Tools. Parcelize
  • KT-59112 K2: "IllegalStateException: Function has no body with @Parcelize" on nested sealed class hierarchies
Tools. Scripts
  • KT-58366 The obsolete kotlin-script-util jar is still published and contains broken JSR-223 implementation
Tools. Wasm
  • KT-56585 Change wasmBrowserRun Browser Executable to System Default
  • KT-56159 Running (karma) tests doesn't work in a project generated by wizard "Browser Application for Kotlin/Wasm"
  • KT-57203 Update Kotlin/Wasm to support Gradle 8
Checksums
File Sha256
kotlin-compiler-1.9.0.zip 1fc50d805f9809e92de43e91f089cc8618567c1a350faebdabf8a40c5048bee8
kotlin-native-linux-x86_64-1.9.0.tar.gz 18bd17e7541baef5ace0303ee463f4185c2d56369382f1b9822ece7215b2a8ec
kotlin-native-macos-x86_64-1.9.0.tar.gz 9ca355eacfb2986cfd2e579831ac4932df6d5f8a6cbaccc553875f8f0d884226
kotlin-native-macos-aarch64-1.9.0.tar.gz 5086850c7118a0141d55e8427efa4a9e76f1201f4d4d97a137d4732f4efd481c
kotlin-native-windows-x86_64-1.9.0.zip 989cb5cb28da87ad0ae2a9469dbbce227165014217ec472eeb78468045dcb766

v1.8.22: Kotlin 1.8.22

Changelog

Tools. Gradle
  • KT-58280 org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath

Checksums

File Sha256
kotlin-compiler-1.8.22.zip 91f50fe25c9edfb1e79ae1fe2ede85fa4728f7f4b0587644a4eee40252cdfaa6
kotlin-native-linux-x86_64-1.8.22.tar.gz a1fb41fc010b347d5d9a5449ebb48ad200c59ec2a9121b01db5165db6697e58b
kotlin-native-macos-x86_64-1.8.22.tar.gz 0d6e6b12569a4b8ff2f301f827192dd715a29962cc01eed05557aa8e6eb7c20d
kotlin-native-macos-aarch64-1.8.22.tar.gz 29805af3220eab3c163ac54f02a6097436d4ddfa83eca7815eb053517093e417
kotlin-native-windows-x86_64-1.8.22.zip 91b04aa9f3dc3d5968c75d8e7f163e542458867915777e995162864cc805b2e5

v1.8.21: Kotlin 1.8.21

Changelog

Compiler
  • KT-57848 Native: compilation of dynamic/static library fails with Xcode 14.3
  • KT-57875 Native compilation failure: Suspend functions should be lowered out at this point, but FUN LOCAL_FUNCTION_FOR_LAMBDA
  • KT-57946 KAPT: "RuntimeException: No type for expression" with delegate
JavaScript
  • KT-57356 KJS: StackOverflowException on @JsExport with type parameters referring to one another
Tools. Commonizer
  • KT-57796 NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20
Tools. Compiler plugins. Serialization
  • KT-58067 Serialization: NullPointerException caused by @Contextual property with type with generic
  • KT-57730 Serialization: "IllegalStateException: Serializer for element of type .Foo has not been found" caused by serialization of Java type
Tools. Gradle. JS
  • KT-57766 KJS / Gradle "Module not found: Error: Can't resolve 'kotlin-kotlin-stdlib-js-ir'" when using "useEsModules"
Tools. Kapt
  • KT-58027 Kotlin 1.8.20 kapt issue "null: KtCallExpression: build()"
Tools. Maven
  • KT-58048 Maven: "Too many source module declarations found" after upgrading to 1.8.20
  • KT-58101 'Unable to access class' in kotlin-maven-plugin after updating to Kotlin 1.8.20

Checksums

File Sha256
kotlin-compiler-1.8.21.zip 6e43c5569ad067492d04d92c28cdf8095673699d81ce460bd7270443297e8fd7
kotlin-native-linux-x86_64-1.8.21.tar.gz 0fc854641dd6d88dce3cc044bb5bc99b9035480474e23541eff03771690c68cf
kotlin-native-macos-x86_64-1.8.21.tar.gz e73bfdac0461ee0c84f25e61063c243bf8d4eb8e0ff5da250456d6a23c677fd6
kotlin-native-macos-aarch64-1.8.21.tar.gz 0a97957921ed55458f3e6cc9117643914ccf3663d8ad7eb161a4a03035a7521b
kotlin-native-windows-x86_64-1.8.21.zip f23d3288a47ee580f82f862d55452a75074fce3d26fe7e7f55e27b6015226d8d

v1.8.20: Kotlin 1.8.20

Changelog
Analysis API
  • KT-55510 K2: Lost designation for local classes
  • KT-55191 AA: add an API to compare symbol pointers
  • KT-55487 K2: symbol pointer restoring doesn't work for static members
  • KT-55336 K2 IDE: "java.lang.IllegalStateException: Required value was null." exception while importing a compiled JPS project
  • KT-55098 AA: KtDeclarationRenderer should render a context receivers
  • KT-51181 LL API: errors for SAM with suspend function from another module
  • KT-50250 Analysis API: Implement Analysis API of KtExpression.isUsedAsExpression
  • KT-54360 KtPropertySymbol: support JvmField in javaSetterName and javaGetterName
Analysis API. FE1.0
  • KT-55825 AA FE1.0: stackoverflow when resolution to a function with a recursive type parameter
Analysis API. FIR
  • KT-54311 K2: proper implementation of KtSymbolPointer
  • KT-50238 Analysis API: Implement KSymbolPointer for KtSymbol
Analysis API. FIR Low Level API
  • KT-52160 FIR: Substitution overrides on FirValueParameter-s are incorrectly unwrapped
  • KT-55566 LL FIR: Tests in compiler/testData/diagnostics/tests/testsWithJava17 fail under LL FIR
  • KT-55339 LL FIR: Missing RECURSIVE_TYPEALIAS_EXPANSION error in function type alias
  • KT-55327 LL FIR: Diverging UNRESOLVED_REFERENCE errors in recursive local function test
  • KT-54826 KtSymbolPointer: migrate from IdSignature to our own solution
Android
  • KT-54464 MPP, Android SSL2: Add a flag for suppressing warning in case of using Android Style folders
Backend. Wasm
  • KT-38924 Wasm support in nodejs
  • KT-56160 Getting WebAssembly.CompileError in browsers not supported GC and other required proposals
  • KT-46773 Implement an experimental version of the Kotlin/Wasm compiler backend
  • KT-56584 K/Wasm: Can't link symbol class
  • KT-56166 Fix compatibility with Firefox Nightly
  • KT-55589 Basic support of WASI
  • KT-53790 Reading from "node:module" is not handled by plugins error with Kotlin/Wasm 1.7.20-Beta
Compiler
New Features
  • KT-54535 Implement custom equals and hashCode for value classes in Kotlin/JVM
  • KT-55949 Release experimental @Volatile support in native
  • KT-44698 Frontend (K2): print file name/line on compiler crash/exception
  • KT-54666 K2: Allow to skip specifying type arguments for members from raw type scope
  • KT-54524 Implement Java synthetic property references in compiler
  • KT-54024 K2: support -Xlink-via-signatures mode
Performance Improvements
  • KT-33722 JVM: Result API causes unnecessary boxing
  • KT-53330 Optimize for-loops and contains over open-ended ranges with until operator (..<) for all backends
  • KT-54415 JVM BE: performance loss related to multi-field inline class lowering
  • KT-48759 Infix compareTo boxes inline classes
  • KT-55033 Make org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl#runTransaction an inline function
  • KT-54501 Improve code generation for inline classes with custom equals
Fixes
  • KT-56965 K/N: linkDebugFrameworkIosArm64 tasks failing with UnsupportedOperationException: VAR name:disposables type:com.badoo.reaktive.disposable.CompositeDisposable [val]
  • KT-56611 Native: new native caches are broken when KONAN_DATA_DIR is defined to a directory inside ~/.gradle
  • KT-55251 Enum.entries compilation error should be more specific
  • KT-56527 K2: "AssertionError: Assertion failed" during compilation in SequentialFilePositionFinder
  • KT-56526 InvalidProtocolBufferException on reading module metadata compiled by K2 in 1.8.20
  • KT-57388 Kapt+JVM_IR: "RuntimeException: No type for expression" for delegated property
  • KT-53153 Synthetic Enum.entries can be shadowed by user-defined declarations
  • KT-51290 "AssertionError: Parameter indices mismatch at context" with context receivers
  • KT-57242 Equals behaviour for value classes implementing interfaces is different between 1.8.10 and 1.8.20-RC
  • KT-57261 "IllegalArgumentException was thrown at: MemoizedInlineClassReplacements.getSpecializedEqualsMethod" when comparing non-inline class instance with an inline class instance
  • KT-57107 Handling of Windows line endings CRLF broken in latest snapshot with K2
  • KT-57117 K2: Compiler reports invalid columns in diagnostics in case of crlf line endings
  • KT-56500 The type parameter TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false is not defined in the referenced function FUN LOCAL_FUNCTION_FOR_LAMBDA
  • KT-56258 VerifyError: Bad local variable type when using -Xdebug
  • KT-54455 Unexpected result of equality comparison of inline class objects
  • KT-56251 Generic Java synthetic property references don't work in K2
  • KT-55886 K2: Wrong code location mapping with Windows line endings
  • KT-43296 FIR: Complicated interaction between smart cast and inference leads to false-positive diagnostic
  • KT-57053 Problem around anonymous objects in inline functions
  • KT-54950 NoSuchMethodError on calling 'addAll' on inline class implementing mutable list
  • KT-56815 compileKotlin task is stuck with while(true) and suspend function
  • KT-56847 Unresolved reference to Java annotation in Kotlin class with the same name packages
  • KT-52459 Context receivers: AbstractMethodError caused by Interface method with both an extension and a context receiver is overriden incorrectly in subclasses
  • KT-56215 JVM: Object extension function nullable receiver null check false negative when object is null
  • KT-56188 K/N: AssertionError when casting SAM wrapper with generic type parameter
  • KT-56033 Restore 'isMostPreciseContravariantArgument' function signature for compatibility
  • KT-56407 Backend Internal error: Exception during IR lowering during :daemon-common-new:compileKotlin
  • KT-55887 K2. "IllegalStateException: org.jetbrains.kotlin.ir.expressions.impl.IrErrorCallExpressionImpl is not expected" on adding kotlin.plugin.jpa
  • KT-56701 K2 (with LightTree) reports syntax errors without additional information
  • KT-56649 K2 uses 0-index for line numbers rather than 1-index
  • KT-54807 K2. Support @OnlyInputTypes diagnostic checks (contains like calls)
  • KT-51247 "AssertionError: org.jetbrains.kotlin.ir.expressions.impl.IrFunctionReferenceImpl" caused by context receiver functional types
  • KT-55436 K1: implement warning about shadowing of the derived property by the base class field
  • KT-56521 Static scope initializers sometimes not called when first accessed from interop
  • KT-49182 Strange cast from Unit to String
  • KT-55288 False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifier
  • KT-33132 Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclass
  • KT-56061 K1 does not report error on inconsistent synthetic property assignment
  • KT-55483 K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory
  • KT-55125 Difference in generated bytecode for open suspend functions of generic classes
  • KT-54140 SOE at IrBasedDescriptorsKt.makeKotlinType with mixing recursive definitely not nullable type with nullability
  • KT-56224 Clarify message "Secondary constructors with bodies are reserved for for future releases" for secondary constructors in value classes with bodies
  • KT-54662 K2: Assign operator ambiguity on synthetic property from java
  • KT-54507 K2: Wrong implicitModality for interface in FirHelpers
  • KT-55912 "UnsupportedOperationException: Unsupported const element type kotlin.Any" caused by kotlin fqn in annotation
  • KT-56018 [K2/N] Fir2Ir does not take value parameters annotations from FIR to IR
  • KT-56091 [K2/N] Fix various property annotations
  • KT-54209 K2: false positive deprecation on a class literal with deprecated companion
  • KT-55977 [K2/N] Suspend function reference type is wrongly serialized to klib
  • KT-55493 K2: False-negative VAL_REASSIGNMENT
  • KT-55372 K2: false-negative INVISIBLE_MEMBER for call of static method of package-private Java grandparent class
  • KT-55371 K2: compiled code fails trying to call static method of package-private Java grandparent class
  • KT-55408 K2: can't access indirectly inherited from a package-private class Java members through a type alias
  • KT-55116 K2: store static qualifiers in dispatch receiver field
  • KT-55996 K2: cannot switch the light tree mode off with -Xuse-fir-lt=false
  • KT-55368 K2/MPP: Metadata compiler
  • KT-54305 K1: implement warning "synthetic setter projected out"
  • KT-52027 "NullPointerException" when using context receivers with inline fun
  • KT-55984 Stack allocated array is not cleaned between loop iterations
  • KT-52593 Provide Alpha support for JS in the K2 platform
  • KT-54656 NoSuchMethodError on invoking Java constructor which takes an inline value class as a parameter
  • KT-56015 Remove unnecessary stack traces for special checks for ObjC interop
  • KT-55606 K2. Infix operator "in" works on ConcurrentHashMap when it's declared through another class
  • KT-53884 K2: "IllegalStateException: Fir is not initialized for FirRegularClassSymbol com/appodeal/consent/Consent.a" when importing this class
  • KT-54502 Synthetic extensions on raw types work differently from regular getter calls
  • KT-49351 FIR: Raw type scopes are unsupported
  • KT-49345 FIR: Properly support raw types in type parameter upper bounds
  • KT-55733 K2. Reference resolve works incorrectly for classes declared through typealias
  • KT-46369 FIR: Investigate raw types for arrays
  • KT-41794 [FIR] Implement raw type based scope
  • KT-55181 K2. No compilation error on throwing not throwable
  • KT-55398 Kotlin inline nested inline lambda's inline variable will inline not correctly
  • KT-55359 K2. No error when secondary constructor does not delegate to primary one
  • KT-55759 K2: Unresolved reference of serializer if library linking is used (with kotlinx.serialization plugin)
  • KT-54705 Kotlin scripting doesn't support files with UTF-8 BOM
  • KT-51753 FIR: various errors due to expect/actual mapping absence in translator
  • KT-44515 FIR DFA: extract non-null info from anonymous object's initialization
  • KT-55018 K2 / serialization: FIR2IR fails on local companion
  • KT-55284 Refactor org.jetbrains.kotlin.diagnostics.KtDiagnosticReportContextHelpersKt#reportOn(...)
  • KT-55693 K2. Type inference changed in k2
  • KT-54742 K2: lambda with conditional bare return inferred to return Any, not Unit
  • KT-54332 Add deprecation warning for false-negative TYPE_MISMATCH for KT-49404
  • KT-55509 Invisible fake overrides are listed among lazy IR class members
  • KT-55597 K2. This type has a constructor, and thus must be initialized here error is missed for anonymous object inherits class with no-arg constructor
  • KT-54357 "ClassCastException: class org.jetbrains.kotlin.resolve.scopes.receivers.ExtensionReceiver cannot be cast to class org.jetbrains.kotlin.resolve.scopes.receivers.ContextClassReceiver" with anonymous object extending a class with a context receiver
  • KT-51397 "VerifyError: Bad type on operand stack" with context receivers
  • KT-54905 KLIB check on compiled with pre-release version
  • KT-55615 K2 often does not expand type aliases in annotation position
  • KT-54522 K2: ambiguity between operator candidates on += (plusAssign) to reassigned var of MutableList type
  • KT-54300 K2: No "Projections are not allowed for immediate arguments of a supertype" for projection in supertypes of an anonymous object
  • KT-55495 K2: support lateinit intrinsic applicability checker
  • KT-55494 MPP. Error when building for native: Compilation failed: Global 'kclass:io.ktor.serialization.$deserializeCOROUTINE$0' already exists
  • KT-54980 K2: Explicit type arguments in calls with the wrong number of type arguments are not resolved
  • KT-54730 K2: type aliases to generic functional interfaces attempt to re-infer explicitly specified type parameters
  • KT-55611 IC / MPP: Optional internal annotations are not visible on incremental builds
  • KT-55324 K2: ControlFlowGraphBuilder fails with index out of bounds exception
  • KT-55656 K2: PRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED being a warning causes a NPE in runtime
  • KT-51277 "NoSuchElementException: Collection contains no element matching the predicate" with context receivers and star projection
  • KT-52791 Class with multiple context receivers fails -Xvalidate-ir with "Validation failed in file"
  • KT-55071 Shared Native Compilation: Calls from intermediate common source set cannot use default parameters declared in expect common functions
  • KT-52193 Native: Unable to call primary constructor with default values in an actual class without passing the values, in nativeMain source set
  • KT-54573 K2: untouched implicit types in delegated constructor call of data class with @JvmRecord
  • KT-55037 Support jspecify annotations moved to the new package org.jspecify.annotations in jspecify 0.3
  • KT-48989 JVM / IR: "IllegalStateException: Bad exception handler end" when first parameter of inline function is nullable with "try/catch/finally" default value and second parameter tries to call toString() on the first
  • KT-55231 K2: Contract declarations are not passed to checkers
  • KT-54411 False positive: INFERRED_TYPE_VARIABLE_INTO_POSSIBLE_EMPTY_INTERSECTION on kotlinx.coroutines code
  • KT-55005 Inconsistent behavior of array set operation in Kotlin 1.7.21
  • KT-44625 Property backing/delegate field annotations are not serialized/deserialized for non-JVM targets
  • KT-42490 Receiver annotations are not serialized/deserialized for non-JVM targets
  • KT-53441 K2: cannot access static method of package-private Java grandparent class
  • KT-54197 [K2] Exception from inliner for inline function with context receiver
  • KT-55246 Disable 'CustomEqualsInValueClasses' feature in 1.9 language version
  • KT-55247 Disable 'InlineLateinit' feature in 1.9 language version
  • KT-53957 K2 and -Xlambdas=indy: LambdaConversionException on reference to method with both context and extension receivers
  • KT-55421 K2: get rid of potentially redundant call of preCacheBuiltinClassMembers from getIrClassSymbol
  • KT-52815 Compiler option -Xjdk-release fails to compile mixed projects
  • KT-52236 Different modality in psi and fir
  • KT-54921 K2: cannot access static field of package-private Java parent class
  • KT-53698 K2: FIR2IR fails on call of inivisble extension function with Suppress
  • KT-53920 K2: "NoSuchElementException: Key org.jetbrains.kotlin.fir.resolve.dfa.cfg.ClassExitNode@ef115ab is missing in the map" with unreachable code and anonymous object
  • KT-55358 INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in return positions of functions
  • KT-51475 "ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4" with context(Any) on inline function with contract
  • KT-51951 "IllegalStateException: No receiver" caused by implicit invoke on typealias context receiver
  • KT-52373 Context receivers: ClassCastException: function with dispatch, context, and extension receivers produces this when a parameter's default is included
  • KT-54220 K2: compiler fails on compiling plus expression on unsigned int
  • KT-54692 K2: compiler fails on compiling unsigned shifts
  • KT-54824 K2: missing smartcast after two levels of aliasing and a reassignment
  • KT-53368 Out of bounds read in sse version of String::hashCode
  • KT-54978 K2: Property accesses with explicit type arguments pass frontend checkers
  • KT-51863 ClassCastException when using context receivers with named argument.
  • KT-55123 JvmSerializableLambda is not applicable in common code in multiplatform projects
  • KT-45970 Missing deprecation warnings for constant operators calls in property initializers
  • KT-54851 K2: analysis of as/is contains multiple errors that result in missing diagnostics
  • KT-54668 K2: Inference error in body of lazy property with elvis with Nothing in RHS
  • KT-55269 FIR2IR: Static functions and nested classes are missing from Fir2IrLazyClass
  • KT-55026 K2: Function hides internal constructor from another module
  • KT-53070 Update intellij testdata fixes for FIR and merge it to master
  • KT-53492 No parameter null check generated for constructor taking an inline class type
  • KT-50489 Smart cast may lead to failing inference
  • KT-55160 Kotlin's fragment element types must not extend IStubFileElementType
  • KT-55143 K2: INAPPLICABLE_JVM_NAME in JVM does not work for inline classes
  • KT-47933 Report warning if kotlin.annotation.Repeatable is used together with java.lang.annotation.Repeatable
  • KT-55035 FIR: do not use FirValueParameter for FirFunctionalTypeRef
  • KT-55095 Wrong containingDeclarationSymbol in type parameter from Enhancement
  • KT-53946 K2: don't resolve Enum.declaringClass and Enum.getDeclaringClass
  • KT-54673 K2. "Superclass is not accessible" from interface error for sealed interfaces
  • KT-55074 OptIn false negative: constructor call with default argument value
  • KT-54260 K2: "AssertionError: No modifier list, but modifier has been found by the analyzer" when annotated annotation and AllOpen plugin
  • KT-55034 FIR: provide information about containing function/constructor to FirValueParameter
  • KT-54744 K2: reassigning a var erases smartcast info of a variable derived from the old value
  • KT-53988 K2: False negative "The expression cannot be a selector (occur after a dot)"
  • KT-53983 K2 crashes with NPE when 'this' is used inside enum class constructor
  • KT-54910 Can not declare typed equals operator in inline class with "Nothing" return type
  • KT-54909 Usage of custom typed equals operator in generic inline class is type-unsafe
  • KT-53371 Properly resolve FIR to get fully resolved annotations
  • KT-53519 FIR: argument mapping for annotations on value parameter is not properly built
  • KT-54827 MPP: "java.lang.IndexOutOfBoundsException: Index: 0" during compilation of androidMain target
  • KT-54417 K2: move receiver-targeted annotations to KtReceiverParameterSymbol and remove it from FirProperty receiver type
  • KT-54972 K2: Local functions with multiple type arguments are broken
  • KT-54762 Private constructor is accessible from a public inline function via @PublishedAPI annotation
  • KT-54832 Deprecate incorrect callable references resolution behavior for KT-54316
  • KT-54732 DirectedGraphCondensationBuilder.paint fails with StackOverflowError during linkReleaseFrameworkIos64
  • KT-54897 K2: value class with private constructor stripped by jvm-abi-gen cannot be used in another module
  • KT-54784 NPE from IrSourceCompilerForInlineKt.nonLocalReturnLabel on non-local break and continue in anonymous initializers and in scripts
  • KT-54840 Field for const property on interface companion object loses deprecated status when copied to interface
  • KT-53825 class files are generated when compilation fails with platform declaration clash
  • KT-54526 K2: Raw type scope is lost after exiting from elvis
  • KT-54570 K2: False-positive OVERLOAD_RESOLUTION_AMBIGUITY in case of combination of raw types
  • KT-52157 Annotation on type parameter isn't present in the symbol loaded from the library
  • KT-54318 VerifyError on { null } in catch block
  • KT-54654 K2: Implicit types leaks into delegated member
  • KT-54645 K2: Clash of two inherited classes with the same name
  • KT-53255 [FIR2IR] StackOverflowError with long when-expression conditions
  • KT-48861 No warning on incorrect usage of array type annotated as Nullable in Java
  • KT-54539 @Deprecated on members of private companion object is no longer needed
  • KT-54403 Unexpected behaviour on overridden typed equals in inline class
  • KT-54536 Unexpected result of comparison of inline class instances
  • KT-54603 ClassCastException on comparison of inline classes with custom equals
  • KT-54401 Unhandled exception on compilation inline class with 'equals' from 'Any' returning 'Nothing'
  • KT-54378 K2: smart cast breaks subtyping in case with complex projections
  • KT-53761 Reified type not propagated to supertype token through two inline functions
  • KT-53876 Manually instantiated annotations with unsigned arrays are not equal
  • KT-51740 NO_VALUE_FOR_PARAMETER: Consider increasing error highlighting range
  • KT-54084 ClassCastException when trying to call a context receiver's method
  • KT-51282 IllegalAccessError: Compiler for JVM 1.8+ makes lambdas access unaccessible classes when using @JvmMultifileClasses
  • KT-53479 False positive "Cannot access 'runCatching' before superclass constructor has been called"
  • KT-50950 JVM IR: "AssertionError: FUN SYNTHETIC_GENERATED_SAM_IMPLEMENTATION" when using bound reference to suspend SAM function
  • KT-49364 "VerifyError: Bad type on operand stack" on cast which "can never succeed" from ULong to Int
  • KT-51478 Inapplicable receiver diagnostic expected when there are two context receiver candidates
Docs & Examples
  • KT-32469 @Synchronized on extension method doesn't generate instance lock
IDE
New Features
  • KTIJ-24378 Update Kotlin plugin to 1.8.0 in IDEA 223.2
Performance Improvements
  • KT-55445 KtUltraLightClassModifierList.hasModifierProperty requires resolve for PsiModifier.PRIVATE
Fixes
  • KTIJ-24657 Disable pre-release and other metadata checks in IDE
  • KT-55929 Unresolved dependencies for intermediate multiplatform SourceSets
  • KTIJ-24179 Bundle Kotlin 1.8.0 with Intellij IDEA 2022.3.2
  • KTIJ-23547 K2 IDE: Functional type: explicit parameter name VS ParameterName annotation
  • KTIJ-23347 K2 IDE. False positive "Symbol fun intFun(): Unit is invisible" in tests
  • KT-55862 Can't resolve kotlin-stdlib-js sources in IDE
  • KTIJ-23587 K2: SOE in delegate field resolution
  • KT-55782 [SLC] Typealiases are not exapnded in arguments of annotations
  • KT-55778 [SLC] Incorrect determination of useSitePostion for types of local declarations
  • KT-55780 [SLC] No approximation of anonymous and local types in members
  • KT-55743 K2 SLC: SymbolLightClassForClassOrObject must have a name
  • KT-55604 Descriptor leak
  • KT-55502 SLC: drop redundant 'final' modifier from synthetic static enum members
  • KT-55497 LC: drop @NotNull annotation from parameter from synthetic Enum.valueOf
  • KT-55496 SLC: generated synthetic enum methods by symbols instead of manual creation
  • KT-55481 SLC: implement correct java annotations for annotation classes (Retention, Target, etc.)
  • KT-55470 SLC: implement light class for RepeatableContainer
  • KT-55442 SLC: 'isInheritor' for 'DefaultImpls' should work correctly
  • KTIJ-23449 K2: "parent must not be null" from SymbolLightClassBase.getContext()
  • KT-40609 IDE: False positive "Exception is never thrown..." in Java when Kotlin getter is annotated with Throws
  • KT-54051 Migrate symbol light classes from KtSymbol to KtElement
IDE. Completion
  • KTIJ-22503 Support code completion for data objects
  • KTIJ-22361 ISE “java.lang.IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl ” on K2
IDE. Debugger
  • KTIJ-24259 Debugger is stuck in an infinite loop in an Android project
  • KTIJ-24003 Smart step into doesn't work for Java synthetic properties references
  • KTIJ-24039 Support smart step into for property setters
IDE. Decompiler, Indexing, Stubs
  • KTIJ-24351 Kotlin Bytecode tool window: NullPointerException during inlining of inline function with object literal
IDE. Gradle Integration
  • KTIJ-24616 Gradle Integration: "NoSuchMethodError: 'java.util.Collection org.jetbrains.kotlin.idea.projectModel.KotlinCompilation.getDeclaredSourceSets" during sync fail after updating Kotlin IJ Plugin to 1.8.20-Beta
  • KT-55347 Broken IDE sync for js: java.lang.IllegalStateException: Accessing Compile Dependencies Transformations is not yet initialised
  • KTIJ-23781 TCS: Gradle Sync: Support friend&dependsOn via IdeaKotlinSourceDependency
IDE. Gradle. Script
  • KT-56941 Gradle KTS / Navigation: Go to declaration for Java types doesn't work
IDE. Inspections and Intentions
  • KTIJ-23404 K2 IDE. Platform type is inserted as type parameter for "Change return type" intention
  • KTIJ-24319 "Set module version to *" quickfix isn't working
  • KTIJ-23225 "Change package" intention unintentionally and intractably replaces text inside of critical strings and comments
  • KTIJ-23892 UsePropertyAccessSyntaxInspection should also suggest replacing getter method references with method synthetic properties referencies after Kotlin 1.9
  • KTIJ-22087 Support IDE inspections for upcoming data objects
  • KTIJ-24286 Constant conditions: false positive "Cast will always fail" with cast of java.lang.String to kotlin.String
  • KTIJ-23859 ConvertObjectToDataObjectInspection support more hashCode and toString cases
  • KTIJ-23760 Get rid of readResolve logic in ConvertObjectToDataObjectInspection
IDE. KDoc
  • KTIJ-24342 KDoc: First line break character is swallowed when pasted
IDE. Misc
  • KTIJ-24370 Remove link to k2.xml from plugin.xml in kt-223 branches
  • KTIJ-24210 Compatibility issue with the CUBA plugin
IDE. Multiplatform
  • KTIJ-21205 MPP: Kotlin not configured error is shown for K/N sources if Android target is presented
  • KT-52172 Multiplatform: Support composite builds
  • KT-56198 Multiplatform;Composite Builds: import fails if single jvm target multiplatform project consume included jvm build
  • KTIJ-24147 MPP: NullPointerException: versionString must not be null
IDE. Refactorings. Move
  • KTIJ-24243 Move declarations: "Search in comments and strings" and "Search for text occurrences" options are always enabled when files are moved
IDE. Script
  • KT-56632 Script configuration cannot be loaded for embedded code snippets
IDE. Wizards
  • KTIJ-24562 Android target created by wizard contains AGP higher than supported
  • KTIJ-24402 Changes "Browser Application for Kotlin/Wasm" wizard template
  • KTIJ-23525 Wizard: Compose multiplatform: project won't build and require higher compileSdkVersion
JavaScript
New Features
  • KT-54118 Kotlin/JS IR: keep declarations with non-minified names
  • KT-35655 Investigate could we use "names" field in SourceMaps to improve debug experience
Fixes
  • KT-55971 KJS: Result of suspend function cannot be assigned to property of dynamic value
  • KT-52374 KJS / IR: caling suspend function as dynamic ignores the rest of the expression
  • KT-56884 KJS: "Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier." caused by enum and array inside the companion object
  • KT-51122 Provide fully-qualified method name in Kotlin/JS source maps
  • KT-56602 KJS / Serialization: polymorphicDefaultDeserializer unbound on Kotlin 1.8.20-Beta
  • KT-56580 KJS: languageVersionSettings string is unstable
  • KT-56581 KJS: Lock file for incremental cache
  • KT-56582 KJS: Function type interface reflection crashes the compiler in incremental build
  • KT-55720 KJS: ReferenceError: SuspendFunction1 is not defined with 1.8 when importingkotlin.coroutines.SuspendFunction1
  • KT-56469 KJS: BE Incremental rebuild spoils source map comment
  • KT-55930 KJS: A recursive callable reference of the inline function leads broken cross module references
  • KT-31888 Kotlin/JS: make possible to call main() in main run tasks, but not in test tasks
  • KT-51581 FIR: support JS backend
  • KT-55786 KJS: Rewriting of secondary constructors if they are protected
  • KT-52563 KJS / IR: Invalid TypeScript generated for class extending base class with private constructor
  • KT-55367 KJS / IR + IC: Moving an external declaration between different JsModules() doesn't rebuild the JS code
  • KT-55240 KJS: "NoSuchElementException: No element of given type found" caused by @JsExport and Throwable's child class
  • KT-54398 KJS / IR + IC: Support *.d.ts generation
  • KT-55144 KJS / IR + IC: Modifying an inline function which is used as a default param in another inline function doesn't invalidate a caller
  • KT-54134 KJS / IR: "TypeError: Cannot read properties of undefined" in js block wrapped with suspend functions around
  • KT-54911 KJS / IR + IC: invalidate all klib dependencies after removing it
  • KT-54912 KJS / IR + IC: Commit cache header only in the end (after lowering)
  • KT-52677 Native: StackOverFlow during "kotlin.ir.util.RenderIrElementVisitor$renderTypeAnnotations$1.invoke"
  • KT-54480 KJS: "Exported declaration contains non-consumable identifier" warning when exporting modules as default
  • KT-41294 KJS: Weird behaviour of j2v8 in test infra
  • KT-54173 Kotlin/JS + IR: failed to provide keep setting to avoid DCE remove of default interface function from implementing object
Language Design
  • KT-55451 Preview of lifting restriction on secondary constructor bodies for value classes
  • KT-54621 Preview of Enum.entries: modern and performant replacement for Enum.values()
  • KT-54525 Preview of Java synthetic property references
  • KT-55337 Preview of data objects
  • KT-55344 Deprecate @Synchronized in platforms except JVM
Libraries
  • KT-35508 EXC_BAD_ACCESS(code=2, address=0x16d8dbff0) crashes on iOS when using a sequence (from map() etc.)
  • KT-56794 Libraries: "Recursively copying a directory into its subdirectory is prohibited" Path.copyToRecursively fails on copying from one ZipFileSystem to another ZipFileSystem
  • KT-55935 [Kotlin/JVM] Path.copyToRecursively does not work across file systems
  • KT-55978 Provide Common Base64 encoding in stdlib
  • KT-46211 [Kotlin/Native] Stack overflow crash in Regex classes with simple pattern and very large input
  • KT-31066 Add Closeable & use to common stdlib
  • KT-55609 Introduce experimental kotlin.concurrent.Volatile annotation
  • KT-39789 Segfault in Kotlin/Native regex interpreter
  • KT-53310 Native: HashMap/HashSet doesn't reclaim storage after removing elements
Native
  • KT-56443 Native link task reports w: Cached libraries will not be used for optimized compilation
  • KT-55938 [Kotlin/Native] Inline functions accessing ObjC class companion cause compiler to crash when building static caches in 1.8.20 dev build
Native. C and ObjC Import
  • KT-55303 Objective-C import: improve -fmodules flag discoverability.
  • KT-39120 Cinterop tool doesn't support the -fmodules compiler argument
  • KT-40426 Incorrect Objective-C extensions importing that prevents UIKit usage
  • KT-55653 Since Kotlin 1.8.0 NSView.resetCursorRects doesn't exist anymore and cannot override it
  • KT-54284 Kotlin/Native: cinterop produces non-deterministic metadata
Native. ObjC Export
  • KT-56350 Kotlin/Native: restore "use Foundation" in generated Objective-C frameworks
  • KT-55736 Native: exporting suspend function from a cached dependency to Objective-C crashes with "Suspend functions should be lowered out at this point"
  • KT-53638 Native: support disabling mangling globally for Swift names in generated Objective-C header
  • KT-53069 SOE on K/N framework build for Arm64
  • KT-53317 ObjCName annotation is not applied to an extension receiver in Objective-C export
Native. Stdlib
  • KT-53064 Native: provide stdlib API to obtain memory management statistics
Reflection
  • KT-27585 Flaky IllegalPropertyDelegateAccessException: Cannot obtain the delegate of a non-accessible property. Use "isAccessible = true" to make the property accessible
  • KT-55178 Improve performance of KCallable.callBy
  • KT-53279 Reflection: "KotlinReflectionInternalError: Method is not supported" caused by @Repeatable annotation deserialization at runtime if it's repeated and contains arrays
  • KT-44977 Reflection: ClassCastException caused by annotations with "AnnotationTarget.TYPE" usage on array attributes access
Tools. CLI
  • KT-57077 1.8.20-RC-243 shows Java 19 warnings even if configured with Java 17 toolchain
  • KT-56992 Performance test regression in Gradle when switching to Kotlin 1.8.20
  • KT-56789 Metaspace memory leak in CoreJrtFileSystem
  • KT-56925 Remove warning about assignment plugin
  • KT-54652 Enable -Xuse-fir-lt by default when -Xuse-k2 is turned on, provide way to disable
  • KT-55784 Unable to format compilation errors with ansi colors in compilation server
  • KT-54718 K2: Compiler crashes with "IllegalArgumentException: newPosition > limit"
  • KT-54337 CLI: compiling module-info.java without explicitly specified JDK home leads to a weird error
Tools. Commonizer
  • KT-47429 [Commonizer] OKIO support
  • KT-51517 C Interop Commonizer Fails On Classifier That Doesn't Exist
Tools. Compiler Plugins
Fixes
  • KT-53590 K2 Allopen does not look for transitive meta-annotations
  • KT-56487 Add more methods to DescriptorSerializerPlugin
  • KT-54020 [K2] [NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER] error in case 'static Name' param was added to @AllArgsConstructor annotation and an empty list is set as a constructor param value
  • KT-53096 Create a pack of compiler utilities for generating declarations from plugins
  • KT-55248 K2/PluginAPI: getCallableNamesForClass/generateClassLikeDeclaration are not called for synthetic companions of local classes
  • KT-54756 Deprecate "legacy" mode of jvm-abi-gen plugin
  • KT-55233 jvm-abi-gen strips out InnerClass attributes
  • KT-54994 K2 plugin API: Compile-time constants are not evaluated before IR
  • KT-55023 K2 plugin API: Compilation with Kotlin daemon fails after certain number of tries
  • KT-55286 K2: Parcelize plugin sometimes can't find nested objects in current class
  • KT-54500 Private type aliases can be referenced from public declarations, but are stripped by jvm-abi-gen
Tools. Compiler plugins. Serialization
  • KT-56738 Unexpected SERIALIZER_NOT_FOUND when compiling against binary with enum
  • KT-56990 "AssertionError: SyntheticAccessorLowering should not attempt to modify other files" in kotlinx-serialization using @Serializer and List argument
  • KT-54441 Prohibit implicit serializer customization via companion object
  • KT-49983 Implement prototype of kotlinx.serialization for K2 compiler
  • KT-48733 "AssertionError: Unexpected IR element found during code generation" caused by Serialization and annotation with default parameter
  • KT-54297 Regression in serializable classes with star projections
Tools. Gradle
New Features
  • KT-54691 Kotlin Gradle Plugin libraries alignment platform
  • KT-54492 Send gradle build errors from idea
  • KT-55540 Add compilation speed metric in build reports
  • KT-55541 Validate FUS metrics values on Gradle side
Performance Improvements
  • KT-54836 Kotlin/JVM Gradle plugin creates task eagerly on Gradle 7.3+
  • KT-55995 Add ability to perform precise compilation task outputs backup
  • KT-54579 Kapt tasks slow down significantly on Windows when running with JDK 17 compared to JDK 11
  • KT-54588 KotlinCompile: Avoid calling FileCollection.getFiles() multiple times
Fixes
  • KT-57296 Build statistics sending errors in case of buildSrc directory usage with kotlin-dsl plugin applied
  • KT-56645 Gradle: KGP reports an incorrect resources processing task name for JVM projects
  • KT-55824 Deprecate commonMain.dependsOn(anything) in user scripts
  • KT-56221 Gradle KTS: False positive Val cannot be reassigned when using an extension and its property with an implicit set operator
  • KT-55452 Values of the compiler arguments set via KotlinCompile task configuration are duplicated by the KaptGenerateStubs task
  • KT-55565 Consider de-duping or blocking standard addition of freeCompilerArgs to KaptGenerateStubsTask
  • KT-55632 'The configuration :kotlinCompilerClasspath is both consumable and declarable' messages are displayed in logs for different types of projects for KotlinCompile task with gradle 8
  • KT-56414 Dependency locking and failed builds with Kotlin 1.8.10
  • KT-52625 Compatibility with Gradle 7.4 release
  • KT-55544 Gradle: add more debugging information for finding usages of kotlinOptions.freeCompilerArgs
  • KT-52149 Gradle: declare shared build services usages with Task#usesService
  • KT-55323 Gradle: allow to opt-out of reporting compiler arguments to a http statistics service
  • KT-53811 Compatibility with Gradle 7.6 release
  • KT-52998 Compatibility with Gradle 7.5 release
  • KT-55741 Gradle 8: Build service '' is being used by task '' without the corresponding declaration via 'Task#usesService'.
  • KT-55174 KotlinCompile task produces deprecation "Build service 'variant_impl_factories_...' is being used by task"
  • KT-54425 Kotlin Gradle Plugin should not use deprecated UsageContext#getUsage()
  • KT-54998 "kotlin.gradle.performance" FUS collector reports data twice
  • KT-55520 Add required configuration for Kotlin Gradle Plugin API reference publication
  • KT-52963 Build report code breaks Gradle project isolation.
  • KT-55164 KGP: "Cannot access project ':' from project ':list'" JVM - Project Isolation with Multi Modules and Configuration Cache fails
  • KT-52490 Gradle: [org.jetbrains.kotlin.gradle.testing.internal] TestReport.destinationDir and TestReport.reportOn deprecation warnings
  • KT-55000 Include information about the new IC into "kotlin.gradle.performance" FUS collector
  • KT-54941 Gradle, Daemon, MacOS M1: "Native integration is not available for Mac OS X aarch64" on first build
  • KT-45748 Migrate all Kotlin Gradle plugin Android tests to new test setup
  • KT-54029 Validate Binary Compatibility for kotlin-gradle-plugin-api
Tools. Gradle. Cocoapods
  • KT-41830 CocoaPods integration: Support link-only mode for pods
  • KT-55117 PodGenTask doesn't declare ouputs properly
  • KT-55243 Gradle 7.6: Cocoapods plugin generates invalid podspec when applied in root project
  • KT-56304 Podspec generated with new K/N artifact DSL contains wrong artifact names for static and dynamic libraries
  • KT-56298 Assemble tasks for native binaries fail if more than one kotlin artifact is declared in one gradle project
  • KT-55801 Deprecate useLibraries
  • KT-55790 Improper sdk selected for watchosDeviceArm64 target
Tools. Gradle. JS
New Features
  • KT-25878 Provide Option to Define Scoped NPM Package
  • KT-37759 [Gradle, JS] Support arguments of command line for webpack and nodejs task
  • KT-33518 Allow specifying command line args for node in nodejs or mocha tests
  • KT-46163 KJS / Ktor: Support run on the next free port if default one is occupied
Performance Improvements
  • KT-55476 KotlinWebpack should be cacheable
  • KT-39108 Kotlin multiplatform plugin targeting js takes too long compared to the old kotlin-frontend plugin
  • KT-45411 Investigate memory consumption in npm package
  • KT-51376 KJS / Gradle: Dukat tasks make impact on build time even if there's no npm dependencies
Fixes
  • KT-57285 KJS / Gradle / MPP: FileNotFoundException on publishing empty KJS sourceset
  • KT-57068 KJS / Gradle: "Unable to find method 'kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl.testTask'" after updating to 1.8.20-Beta
  • KT-54445 KJS Remove dukat integration
  • KT-56999 K/JS: KotlinJsIrLink::rootCacheDirectory property must be public
  • KT-56765 K/JS: Several binaries use same cache directory
  • KT-54529 KJS / IR: generate typescript definitions only on explicit Gradle action
  • KT-56488 Debugger won't stop on breakpoints of JS browser test
  • KT-56719 KJS / Gradle: Compile sync task has to sync only changed files
  • KT-56131 KJS / Gradle: Could not create an instance of type org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinNodeJs when task configuration avoidance is broken
  • KT-37668 Kotlin/JS: nodeTest failure due to main() function fail is reported as "BUILD SUCCESSFUL"
  • KT-35285 Kotlin/JS + Gradle: browserDevelopementWebpack and browserProductionWebpack could write to different locations
  • KT-55593 KotlinJsCompilerType and KotlinJsCompilerTypeHolder LEGACY and BOTH constants should be marked as @Deprecated in 1.8
  • KT-33291 JS: No build result with gradle parallel build in multiproject build
  • KT-40925 KJS: need a way to configure extra environment variables for the test task
  • KT-47236 KJS: kotlinNpmInstall fails if no yarn is downloaded
  • KT-53288 KJS / Gradle: FileNotFoundException when customising moduleName
  • KT-54511 Kotlin/JS generated package.json main field is not correctly set if module name contains a / (slash)
  • KT-54421 KJS / Legacy: Kotlin 1.7.20 fails when running tests on Node 14
  • KT-54503 Make the target observer API public in kotlin JS Extension
  • KT-54418 KJS: Change test running with kotlin-test adapter
  • KT-54132 KJS IR: Sometimes karma failed on teamcity because of uninitialized browser
Tools. Gradle. Multiplatform
New Features
  • KT-54766 TCS: external Android Target APIs: Milestone: Compile
  • KT-50967 Make c-interop libs resolve robust to build clean
  • KT-53570 multiplatform 'natural hierarchy' prototype
Fixes
  • KT-36943 Gradle Plugin (multiplatform) - Consider publishing a 'sourcesElements' variant for the sources.jar
  • KT-57460 Kotlin Gradle Plugin: Null this pointer in transformCommonMainDependenciesMetadata
  • KT-57306 [Kotlin 1.8.20-RC] GradleException: Could not load the value of field apiConfiguration of org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationConfigurationsContainer
  • KTIJ-23750 KotlinMppModelSerializationService is not invoked in production environment
  • KTIJ-24223 Update latest tested KGP version to 1.9.0-dev-764
  • KT-56536 Multiplatform: Composite build fails on included build with rootProject.name != buildIdentifier.name
  • KTIJ-23889 TCS: Gradle Sync: Match sources.jar dependencies to sourceSetName scoped dependencies
  • KT-56729 commonizeCInterop: Duplicated libraries: co.touchlab:sqliter-driver-cinterop-sqlite3
  • KT-56510 Import with included plugin build may fail with OverlappingFileLockException during commonizeNativeDistribution
  • KT-54180 TCS: Initial external Android Target APIs
  • KT-55010 TCS: External Android Target Prototype: Setup Android dependencies
  • KT-54783 KotlinJvmWithJavaCompilation mututal .all listener loop creates two compilations
  • KT-54867 KotlinWithJavaCompilation does not respect javaSourceSet classpaths
  • KT-52413 MPP: Gradle dependency substitution breaks KMP import for native targets
  • KT-56115 Multiplatform;Composite Builds: Support import with cinterop commonization enabled
  • KT-54312 TCS: Replace CompilationDetails abstract class hierarchy by composable implementation
  • KT-47441 MPP: Unresolved reference for dependent on the other module with dependencySubstitution
  • KT-56429 Fix flaky: MppIdeDependencyResolutionIT.test cinterops - are stored in root gradle folder
  • KT-56337 Unable to import a project with cinterop with enableKgpDependencyResolution
  • KT-55873 Unrequested dependencies leaking into common source sets: Regression after 703fd0f
  • KT-55891 Deprecate pre-HMPP flags
  • KT-56278 TCS: Gradle Sync: [MISSING_DEPENDENCY_CLASS] on libraries used in shared native source sets
  • KT-56143 CInteropDependencyConfiguration and CInteropApiElementsConfiguration are missing attributes defined on target
  • KT-56285 TCS: Gradle Sync: IdeProjectToProjectCInteropDependencyResolver: Ensure lenient resolution
  • KT-56204 KotlinTargetHierarchy: Changing naming from 'any' to 'with' prefix
  • KT-56111 Multiplatform;Composite Builds: Clean builds fail on when 'hostSpecificMetadata' is required
  • KT-54974 TCS: Gradle Sync: Implement IdeKotlinDependencyResolvers
  • KT-38712 Gradle configuration's name with word "implementation" is camelcased to "İmplementation" if default locale is Turkish
  • KT-54975 TCS: Gradle Sync: Implement stdlib-common filter for platform source sets
  • KT-48839 Sources.jar of the root artifact of MPP library includes source files from test sourcesets
  • KT-55492 TCS: Gradle Sync: Sources and Documentation as extra 'classpath'
  • KT-55237 TCS: Gradle Sync: Support stdlib-native sources
  • KT-55475 TCS: Gradle Sync: Fine tune jvmAndAndroid source sets
  • KT-55189 TCS: Gradle Sync: Support icons (native, js) and global libraries
  • KT-55218 KotlinTargetHierarchy: Disambiguate declaring targets vs including targets
  • KT-55112 TCS: Gradle Sync: Resolve Source Dependencies
  • KT-54977 TCS: Gradle Sync: Implement debugging tools
  • KT-54948 TCS: Gradle Sync: Port IdeaKpmPlatformDependencyResolver to TCS
  • KT-55289 TCS: Gradle Sync: Prototypical sources jar resolution
  • KT-55238 TCS: Gradle Sync: Support commonized native distribution
  • KT-55230 Remove metadata dependencies transformation for runtimeOnly scope
  • KT-53338 Prettify the message about incompatible AGP and KGP versions
  • KT-55134 MPP / Gradle: Cannot read test tasks state
  • KT-54506 Test tasks are considered up-to-date after a failure when triggered by allTests
  • KTIJ-23509 Update latest tested KGP version to 1.8.20-dev-1815
  • KT-54787 Test tasks are not up-to-date when an individual test task called after aggregating test task
  • KT-54033 Multiplatform/Android Source Set Layout 1: Also support setting source dirs using AGP Apis
  • KT-54202 CInterop Commonization fails on first run when native distribution is not yet commonizied
  • KT-54135 Add documentation with examples to CompositeMetadataArtifact
Tools. Gradle. Native
  • KT-37051 MPP Gradle plugin: duplicated cinterop libraries in composite build
  • KT-55650 Pass through errors from Gradle to Xcode
  • KT-56205 Shared Native Compilation: False positive 'w: Could not find' warnings on metadata klibs
  • KT-54969 Support podspec generation for the new K/N artifact DSL
Tools. Incremental Compile
  • KT-55021 New IC: "The following LookupSymbols are not yet converted to programSymbols" when removing/renaming file facades
  • KTIJ-21161 Incremental build is taking too long when no files have changed in the project
  • KT-53832 Enable new incremental compilation by default in Gradle
  • KT-55622 MPP: Incremental compilation ignores changes in source set structure
  • KT-55309 IC: Get rid of NonCachingLazyStorage
  • KT-53402 Incremental compilation tries to compile resources
  • KT-54791 Incremental compilation in JPS broken in 1.8.20-dev-1815
Tools. JPS
  • KT-56165 Language version 1.9 and 2.0 is absent in Kotlin Compiler settings
  • KT-51536 [JPS] Recompile module on facet settings change
  • KT-53735 JPS / IC: "IOException: The system cannot find the file specified" on Windows
  • KT-47983 [JPS] Adding compilerSettings to Facet should initiate rebuild of module
  • KT-54449 Cyrillic characters in a filename break builds on linux
Tools. Kapt
New Features
  • KT-53135 Enable JVM IR for KAPT stub generation by default
  • KT-41129 kotlin-maven-plugin + kapt - allow aptMode to be set according to docs
Fixes
  • KT-56635 KAPT / IR: "Unresolved reference: DaggerGeneratedCodeTest_AppComponent " caused by stub generation with Kotlin 1.8.20-Beta
  • KT-56360 Kapt with JVM IR changes fields order
  • KT-54380 Kapt / IR: Build failed when inheritance by functional interface with suspend modifier
  • KT-54245 JVM IR / Kapt / Serialization: NullPointerException in SerializableIrGenerator.kt
  • KT-33847 Kapt does not included Filer-generated class files on compilation classpath
  • KT-55490 Kapt + JVM IR: "annotation @Foo is missing default values"
  • KT-43786 KAPT: IllegalStateException: SimpleTypeImpl should not be created for error type: ErrorScope
  • KT-43117 Kapt: "System is already defined in this compilation unit"
  • KT-46966 Kapt: correctErrorTypes: receiver type is NonExistentClass
  • KT-46965 Kapt: correctErrorTypes: custom setter gets Object parameter type
  • KT-51087 KAPT: @JvmRepeatable annotations are present in inverse order in KAPT stubs
  • KT-54870 KAPT stub generation with JVM_IR backend throws exception for delegated properties
  • KT-44350 Kapt Gradle integration tests failing with Android Gradle plugin 7.0
  • KT-54030 Kapt: annotation processor warnings are displayed as errors on JDK 17+
  • KT-32596 kapt replaces class generated by annotation processor with error.NonExistentClass when the class is used as an annotation
  • KT-37586 KAPT: When delegated property use an unknown type (to-be-generated class), correctTypeError will mess up the $delegate field type
Tools. Maven
  • KT-56697 IC: "Incremental compilation was attempted but failed" Failed to get changed files: java.io.IOException: readPrevChunkAddress
  • KT-55709 Maven: "java.lang.reflect.InaccessibleObjectException: Unable to make field protected java.io.OutputStream java.io.FilterOutputStream.out accessible"
  • KT-29346 Add components.xml to automatically compile kotlin maven projects
  • KT-13995 Maven: Kotlin compiler plugin should respect model's compile source roots
  • KT-54822 Maven: Too low-level error message "Parameter specified as non-null is null: method kotlin.text.StringsKt__StringsJVMKt.startsWith, parameter " from Kotlin Maven plugin invoking compiler when tags are empty
  • KT-47110 Disable jdk8-specific warnings in kotlin-maven-plugin
Tools. Scripts
  • KT-54095 It is difficult (if not impossible) to use kotlin compiler plugins with scripting
  • KT-54461 Warnings and stack traces when executing scripts via kotlin-maven-plugin
  • KT-54733 Scripts: ConcurrentModificationException in *.main.kts scripts
  • KT-53283 Scripts: main-kts JAR does not relocate embedded SLF4J and jsoup libraries
Checksums
File Sha256
kotlin-compiler-1.8.20.zip 10df74c3c6e2eafd4c7a5572352d37cbe41774996e42de627023cb4c82b50ae4
kotlin-native-linux-x86_64-1.8.20.tar.gz 43d3f2149c4862b9b3ebf84a0f26912f2a587082d2858747564ffeafd2534438
kotlin-native-macos-x86_64-1.8.20.tar.gz e39e801eb8ae2e86a8fe0b5ee32535bf176fd284b6f6883a431cafbb27684055
kotlin-native-macos-aarch64-1.8.20.tar.gz becc0f4367ae8854f33546efff40767cc2cb227da0cd7935a9a6784e9a2736d2
kotlin-native-windows-x86_64-1.8.20.zip 5e25ef348e9eab9895f63047a3857b428dc977e81d22771a69d712500d7cf60a

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [org.jetbrains.kotlin:kotlin-stdlib-jdk7](https://kotlinlang.org/) ([source](https://github.com/JetBrains/kotlin)) | dependencies | major | `1.8.10` -> `2.0.20` | | [org.jetbrains.kotlin:kotlin-gradle-plugin](https://kotlinlang.org/) ([source](https://github.com/JetBrains/kotlin)) | dependencies | major | `1.8.10` -> `2.0.20` | --- > ⚠️ **Warning** > > Some dependencies could not be looked up. Check the warning logs for more information. --- ### Release Notes <details> <summary>JetBrains/kotlin (org.jetbrains.kotlin:kotlin-stdlib-jdk7)</summary> ### [`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) @&#8203;+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/blob/HEAD/ChangeLog.md#2010) ##### 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/issue/340582180) - [`a8249d6`](https://github.com/JetBrains/kotlin/commit/a8249d60c7cd14a459469fe0ef2099721d3dd699) Allow memoizing lambdas in composable inline functions [b/340606661](https://issuetracker.google.com/issue/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/blob/HEAD/ChangeLog.md#200) ##### 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-64096`](https://youtrack.jetbrains.com/issue/KT-64096) Diagnostic when embedAndSign used for framework with cocoapods-dependencies - [`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-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-24664`](https://youtrack.jetbrains.com/issue/KT-24664) No smartcast on stable property if receiver had non-null assertion - [`KT-45375`](https://youtrack.jetbrains.com/issue/KT-45375) Generate all Kotlin lambdas via invokedynamic + LambdaMetafactory by default - [`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-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-64615`](https://youtrack.jetbrains.com/issue/KT-64615) Inconsistent error messages for platform type nullability assertions - [`KT-65062`](https://youtrack.jetbrains.com/issue/KT-65062) K2: build kotlinx.collections.immutable and pass to CI - [`KT-68164`](https://youtrack.jetbrains.com/issue/KT-68164) Smart cast fails for KT-49404 - [`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-49404`](https://youtrack.jetbrains.com/issue/KT-49404) Fix type unsoundness for contravariant captured type based on Java class - [`KT-64598`](https://youtrack.jetbrains.com/issue/KT-64598) K2: build Arrow with k2 user project - [`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-56408`](https://youtrack.jetbrains.com/issue/KT-56408) Inconsistent rules of CFA in class initialization block between K1 and K2 - [`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-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-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-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-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-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-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-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 - [`KT-59012`](https://youtrack.jetbrains.com/issue/KT-59012) K2: Support inferring types based on self upper bounds - [`KT-65373`](https://youtrack.jetbrains.com/issue/KT-65373) K2: there is a crash in KJK hierarchy with an extension member property - [`KT-65456`](https://youtrack.jetbrains.com/issue/KT-65456) K1: ISE "Property has no getter" with -Xsam-conversions=class when Java SAM interface contains a field - [`KT-62884`](https://youtrack.jetbrains.com/issue/KT-62884) K2: different signature of delegate object for generic extension property - [`KT-60581`](https://youtrack.jetbrains.com/issue/KT-60581) K2 fails with New inference error for assertThat under strange circumstances - [`KT-59630`](https://youtrack.jetbrains.com/issue/KT-59630) K2: Implement running FIR Blackbox tests on different JDKs - [`KT-64944`](https://youtrack.jetbrains.com/issue/KT-64944) Can't assign null after early return smart cast with typed destructive assignment - [`KT-64910`](https://youtrack.jetbrains.com/issue/KT-64910) K2: AA FIR: KtCall's argument mapping misses SAM conversion argument - [`KT-65165`](https://youtrack.jetbrains.com/issue/KT-65165) K2: "ClassCastException: class java.lang.String cannot be cast to class SampleClass" - [`KT-64982`](https://youtrack.jetbrains.com/issue/KT-64982) K2: false negative FUNCTION_CALL_EXPECTED - [`KT-65318`](https://youtrack.jetbrains.com/issue/KT-65318) K2: Substitution stackoverflow on jspecify `@NullMarked` superclass - [`KT-65010`](https://youtrack.jetbrains.com/issue/KT-65010) Kotlin/Native: code generation for a static field is failing - [`KT-57299`](https://youtrack.jetbrains.com/issue/KT-57299) K2: VerifyError due to overriding final method `size` on a subclass of Collection and Set - [`KT-64706`](https://youtrack.jetbrains.com/issue/KT-64706) K2: Type inference cannot resolve nullable `@Composable` lambda - [`KT-65058`](https://youtrack.jetbrains.com/issue/KT-65058) K2: Protected function call from public-API inline function is prohibited in anonymous object - [`KT-65316`](https://youtrack.jetbrains.com/issue/KT-65316) K2: False positive USAGE_IS_NOT_INLINABLE for expression labeled with illegal label - [`KT-60958`](https://youtrack.jetbrains.com/issue/KT-60958) K2: smart cast does not work with definite return from if block - [`KT-63151`](https://youtrack.jetbrains.com/issue/KT-63151) K2: Assignment within function lambda should invalidate contract DFA implications - [`KT-63351`](https://youtrack.jetbrains.com/issue/KT-63351) K2. No smart cast with not-null assertion operator after a safe call - [`KT-65324`](https://youtrack.jetbrains.com/issue/KT-65324) atomicfu-plugin: top-level delegated properties cause NPE - [`KT-60246`](https://youtrack.jetbrains.com/issue/KT-60246) K2: origin is not set for getting array element operator - [`KT-64387`](https://youtrack.jetbrains.com/issue/KT-64387) K2: Missing POSTFIX_INC/DEC origin for array element inc/dec - [`KT-61891`](https://youtrack.jetbrains.com/issue/KT-61891) K2: POSTFIX\_{INCR|DECR} of global misses an origin - [`KT-65019`](https://youtrack.jetbrains.com/issue/KT-65019) K2: unexpected exception when executing inc/dec in finally block on WASM - [`KT-64392`](https://youtrack.jetbrains.com/issue/KT-64392) Factor out KLIB serialization logic from the `backend.native` module - [`KT-65270`](https://youtrack.jetbrains.com/issue/KT-65270) K2: Missing ACTUAL_WITHOUT_EXPECT when expect is fake-override - [`KT-60367`](https://youtrack.jetbrains.com/issue/KT-60367) K2: Support EXPECT_AND_ACTUAL_IN_THE_SAME_MODULE diagnostics - [`KT-62704`](https://youtrack.jetbrains.com/issue/KT-62704) Absent testrunner FirLightTreeDiagnosticTestSpecGenerated - [`KT-65044`](https://youtrack.jetbrains.com/issue/KT-65044) K2 compiler crash on unresolved delegated extention receiver - [`KT-65021`](https://youtrack.jetbrains.com/issue/KT-65021) K2: Missing error and miscompilation in destructuring declaration delegation - [`KT-63899`](https://youtrack.jetbrains.com/issue/KT-63899) K2: Vararg parameter misses annotation in metadata - [`KT-60175`](https://youtrack.jetbrains.com/issue/KT-60175) JVM IR inline: accidental reification of typeOf type argument - [`KT-65336`](https://youtrack.jetbrains.com/issue/KT-65336) K2: Space build fails - [`KT-59683`](https://youtrack.jetbrains.com/issue/KT-59683) K2: Add control flow graph to FirScript - [`KT-63434`](https://youtrack.jetbrains.com/issue/KT-63434) K2. False positive `Cannot access` with protected nested classifiers references inside anonymous object inherited from containing class - [`KT-64222`](https://youtrack.jetbrains.com/issue/KT-64222) K2: "return type is not a subtype of the return type of the overridden member" - [`KT-64314`](https://youtrack.jetbrains.com/issue/KT-64314) K2: Rename FirConstExpression to FirLiteralExpression - [`KT-64975`](https://youtrack.jetbrains.com/issue/KT-64975) FIR: Deserialize enum entry annotation arguments from binary libraries with lookup tags instead of symbols - [`KT-63646`](https://youtrack.jetbrains.com/issue/KT-63646) K2: "IllegalStateException: Return type of provideDelegate is expected to be one of the type variables of a candidate, but D was found" - [`KT-65024`](https://youtrack.jetbrains.com/issue/KT-65024) K2: kotlin.NotImplementedError: An operation is not implemented in the K2 QGs - [`KT-63994`](https://youtrack.jetbrains.com/issue/KT-63994) K2: Investigate K2 failures in IntelliJ-Rust plugin - [`KT-64268`](https://youtrack.jetbrains.com/issue/KT-64268) K2: Data-flow from nested lambda not passed to outer lambda - [`KT-59729`](https://youtrack.jetbrains.com/issue/KT-59729) K2: Investigate CFG buildings for inner lambdas in case of double-lambda builder inference - [`KT-63042`](https://youtrack.jetbrains.com/issue/KT-63042) K2: proper processing of propagated annotations - [`KT-64841`](https://youtrack.jetbrains.com/issue/KT-64841) K2: argument type mismatch with type parameter with recursive bound - [`KT-62554`](https://youtrack.jetbrains.com/issue/KT-62554) K2: incorrect "inherits multiple implementations" error when base Java method takes a parameter of primitive wrapper type - [`KT-65093`](https://youtrack.jetbrains.com/issue/KT-65093) K2: Super constructor call able to access uninitialized object fields - [`KT-56489`](https://youtrack.jetbrains.com/issue/KT-56489) K2 allows reading uninitialized variable in object declaration - [`KT-59987`](https://youtrack.jetbrains.com/issue/KT-59987) K2: Disappeared REIFIED_TYPE_FORBIDDEN_SUBSTITUTION - [`KT-36786`](https://youtrack.jetbrains.com/issue/KT-36786) Smartcast doesn't work in case of property infix call - [`KT-65027`](https://youtrack.jetbrains.com/issue/KT-65027) K2: java.lang.NoSuchMethodError: void org.jetbrains.kotlin.name.CallableId in the K2 QG - [`KT-65056`](https://youtrack.jetbrains.com/issue/KT-65056) IrFakeOverrideBuilder: ISE "No override for FUN" on package-private Java method in K-J-K hierarchy - [`KT-63414`](https://youtrack.jetbrains.com/issue/KT-63414) K2 / Contracts: false positive "Result has wrong invocation kind" when invoking a function returning a value with contract InvocationKind.EXACTLY_ONCE and try/finally - [`KT-64809`](https://youtrack.jetbrains.com/issue/KT-64809) K2: Remove the LINK_VIA_SIGNATURES flag from FIR2IR configuration - [`KT-62045`](https://youtrack.jetbrains.com/issue/KT-62045) IrFakeOverrideBuilder: incorrectly merged fake overrides for Java methods accepting wrapper Double and primitive double - [`KT-57640`](https://youtrack.jetbrains.com/issue/KT-57640) \[K2/N] Investigate behaviour for intersection overrides for properties that have incompatible types - [`KT-59371`](https://youtrack.jetbrains.com/issue/KT-59371) K2: Missing MISSING_DEPENDENCY_CLASS - [`KT-59682`](https://youtrack.jetbrains.com/issue/KT-59682) K2: Use proper source for vararg arguments - [`KT-64261`](https://youtrack.jetbrains.com/issue/KT-64261) K2 / WASM: Extension function with star projection throws "RuntimeError: unreachable" - [`KT-64257`](https://youtrack.jetbrains.com/issue/KT-64257) K2 QG: kotlin.NotImplementedError: Generation of stubs for class org.jetbrains.kotlin.ir.symbols.impl.IrTypeParameterPublicSymbolImpl is not supported yet - [`KT-64844`](https://youtrack.jetbrains.com/issue/KT-64844) \[K/N] Filecheck test `redundant_safepoints.kt` fails under linux_x64 - [`KT-64877`](https://youtrack.jetbrains.com/issue/KT-64877) K2: PCLA doesn't allow infer types from value parameter having TV type - [`KT-63794`](https://youtrack.jetbrains.com/issue/KT-63794) K2: False positive `NONE_APPLICABLE` on `Throws::class` - [`KT-63781`](https://youtrack.jetbrains.com/issue/KT-63781) K2: Generated blocks appear in the IR - [`KT-63779`](https://youtrack.jetbrains.com/issue/KT-63779) K2: Regression for locations of 'if' statements - [`KT-63624`](https://youtrack.jetbrains.com/issue/KT-63624) K2: incompatible declaration because of different visibility - [`KT-64400`](https://youtrack.jetbrains.com/issue/KT-64400) K2: allow to use simple boolean expressions as constants - [`KT-65050`](https://youtrack.jetbrains.com/issue/KT-65050) K2: IllegalStateException: Captured type for incorporation shouldn't escape from incorporation: CapturedType(out org/jetbrains/plugins/gitlab/mergerequest/api/dto/GitLabMergeRequestShortRestDTO) - [`KT-59972`](https://youtrack.jetbrains.com/issue/KT-59972) K2: Disappeared EXPRESSION_EXPECTED_PACKAGE_FOUND - [`KT-63256`](https://youtrack.jetbrains.com/issue/KT-63256) K2: NOT_IDENTITY operator call is illegal in contract description - [`KT-61717`](https://youtrack.jetbrains.com/issue/KT-61717) K1: Unsound green code with self upper bounds and captured types - [`KT-64871`](https://youtrack.jetbrains.com/issue/KT-64871) IrFakeOverrideBuilder: ISE "no override for <get-size>" on HashMap subclass - [`KT-58739`](https://youtrack.jetbrains.com/issue/KT-58739) K2: Rewrite `CallableId.classId` to be thread-safe - [`KT-64979`](https://youtrack.jetbrains.com/issue/KT-64979) K2: Missing REDUNDANT_TYPE_PARCELER when using type alias - [`KT-60019`](https://youtrack.jetbrains.com/issue/KT-60019) K2: Introduced PARCELER_TYPE_INCOMPATIBLE - [`KT-60682`](https://youtrack.jetbrains.com/issue/KT-60682) K2: Disappeared DEPRECATION - [`KT-62500`](https://youtrack.jetbrains.com/issue/KT-62500) K2: origin=GET_PROPERTY is wrongly set to GET_FIELD of backing field inside property's own getter - [`KT-64743`](https://youtrack.jetbrains.com/issue/KT-64743) K2: Non-expanded type serialized in metadata - [`KT-64405`](https://youtrack.jetbrains.com/issue/KT-64405) K2: Implement CompileJavaAgainstKotlinTestGenerated for K2 - [`KT-57094`](https://youtrack.jetbrains.com/issue/KT-57094) K1: wrong type inferred for an instance of a local class inside a generic property - [`KT-62069`](https://youtrack.jetbrains.com/issue/KT-62069) K2: ASSIGNMENT_TYPE_MISMATCH is reported in addition to NO_ELSE_IN_WHEN - [`KT-62776`](https://youtrack.jetbrains.com/issue/KT-62776) FirLazyResolveContractViolationException: "lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase TYPES" on Java annotation usage - [`KT-47313`](https://youtrack.jetbrains.com/issue/KT-47313) Change (V)::foo reference resolution when V has a companion - [`KT-64837`](https://youtrack.jetbrains.com/issue/KT-64837) K2: NPE in fir2ir when generic transitive dependency class is missing - [`KT-60260`](https://youtrack.jetbrains.com/issue/KT-60260) K2: Implicit coercion to unit is not generated in adapted function reference - [`KT-60858`](https://youtrack.jetbrains.com/issue/KT-60858) Remove redundant `createDeprecatedAnnotation` necessary to workaround kotlinx-serialization compilation with native - [`KT-64432`](https://youtrack.jetbrains.com/issue/KT-64432) Unbound symbol access in Fir2Ir fake override builder - [`KT-64466`](https://youtrack.jetbrains.com/issue/KT-64466) K2: Delegated method annotations are not copied in IR - [`KT-63589`](https://youtrack.jetbrains.com/issue/KT-63589) K1: Unsound type inference for unbound callable reference to star-projected class's generic mutable property - [`KT-56141`](https://youtrack.jetbrains.com/issue/KT-56141) K2: Consider removing skipping diagnostics for DelegatedPropertyConstraintPosition - [`KT-60056`](https://youtrack.jetbrains.com/issue/KT-60056) K2: Introduced UNRESOLVED_REFERENCE - [`KT-61032`](https://youtrack.jetbrains.com/issue/KT-61032) K2: False positive “Unused variable” for function callable reference - [`KT-64832`](https://youtrack.jetbrains.com/issue/KT-64832) K2: False positive "Unused variable" checker report on suspend functional types, on overloaded functional types and on custom invoke operator types - [`KT-64771`](https://youtrack.jetbrains.com/issue/KT-64771) Investigate subtle FIR_DUMP difference for reversed order analysis - [`KT-62584`](https://youtrack.jetbrains.com/issue/KT-62584) K2: different signature in subclass of local class declared in extension value getter - [`KT-63806`](https://youtrack.jetbrains.com/issue/KT-63806) Native / KJS / Wasm: "NullPointerException: accept(...) must not be null" - [`KT-59938`](https://youtrack.jetbrains.com/issue/KT-59938) K2: Disappeared AMBIGUOUS_ACTUALS - [`KT-43713`](https://youtrack.jetbrains.com/issue/KT-43713) callsInPlace InvocationKind.EXACTLY_ONCE causes CAPTURED_VAL_INITIALIZATION in constructor - [`KT-64645`](https://youtrack.jetbrains.com/issue/KT-64645) K2: Missing smartcast caused by typealias that expands to nullable type in upper bound - [`KT-64501`](https://youtrack.jetbrains.com/issue/KT-64501) K2: False-positive WRONG_INVOCATION_KIND when using default arguments - [`KT-63962`](https://youtrack.jetbrains.com/issue/KT-63962) K2: "java.lang.IllegalStateException: !" - [`KT-63644`](https://youtrack.jetbrains.com/issue/KT-63644) K2: Create special IR symbols for fake-overrides in fir2ir in mode with IR f/o generator - [`KT-63638`](https://youtrack.jetbrains.com/issue/KT-63638) K2: Compiler crashes with "Inline class types should have the same representation" - [`KT-36220`](https://youtrack.jetbrains.com/issue/KT-36220) NI: false positive NON_APPLICABLE_CALL_FOR_BUILDER_INFERENCE if one use cannot resolve - [`KT-64121`](https://youtrack.jetbrains.com/issue/KT-64121) K2: Actual modifier is missed on `override fun toString()` fro value class in native - [`KT-63703`](https://youtrack.jetbrains.com/issue/KT-63703) K2: Eliminate call to Candidate.usesSAM and samResolver.getFunctionTypeForPossibleSamType in AbstractConeCallConflictResolver.toTypeWithConversion - [`KT-61443`](https://youtrack.jetbrains.com/issue/KT-61443) K2: Return typeId -1 during JS compilation - [`KT-64090`](https://youtrack.jetbrains.com/issue/KT-64090) K2: false-positive new inference error on invoking from another module a generic function on Java list type with wildcard type argument bounded by raw-typed Java inner class - [`KT-64044`](https://youtrack.jetbrains.com/issue/KT-64044) K2: Java mapped method should have a source from Java method, not from mapped Kotlin source class - [`KT-39137`](https://youtrack.jetbrains.com/issue/KT-39137) Smartcast to wrong nullability with generic type parameter upper bound - [`KT-46674`](https://youtrack.jetbrains.com/issue/KT-46674) ClassCastException with smartcast if `plus` operator returns a different type - [`KT-64625`](https://youtrack.jetbrains.com/issue/KT-64625) \[FIR] Infinite recursion in `TypeUnificationKt.doUnify()` building subset of native stdlib - [`KT-59369`](https://youtrack.jetbrains.com/issue/KT-59369) K2: Missing BUILDER_INFERENCE_STUB_RECEIVER - [`KT-62590`](https://youtrack.jetbrains.com/issue/KT-62590) Split expect/actual matcher-checker machinery in two separate components: matcher and checker - [`KT-63732`](https://youtrack.jetbrains.com/issue/KT-63732) K1: False positive OUTER_CLASS_ARGUMENTS_REQUIRED inside anonymous object - [`KT-64644`](https://youtrack.jetbrains.com/issue/KT-64644) K2: Compiler crash in FirTypeParameterBoundsChecker - [`KT-64312`](https://youtrack.jetbrains.com/issue/KT-64312) K2: FirPropertySymbol.hasBackingField() always returns true for properties from other modules - [`KT-64420`](https://youtrack.jetbrains.com/issue/KT-64420) K2: Wrong module descriptor for builtin classes - [`KT-64127`](https://youtrack.jetbrains.com/issue/KT-64127) K2: incorrect resolution of inherited members on Java classes inheriting classes from different packages in the presence of identically named classes in the same packages - [`KT-63446`](https://youtrack.jetbrains.com/issue/KT-63446) IrFakeOverrideBuilder: AbstractMethodError due to missing bridge for generic method in a Java superclass - [`KT-63867`](https://youtrack.jetbrains.com/issue/KT-63867) K2: Smartcast is allowed inside changing lambda with cycles - [`KT-64609`](https://youtrack.jetbrains.com/issue/KT-64609) K2: INAPPLICABLE_TARGET_PROPERTY_IMMUTABLE diagnostic is missed for primary constructor properties - [`KT-63777`](https://youtrack.jetbrains.com/issue/KT-63777) K2: Smartcast is allowed inside changing lambda with bounds - [`KT-64059`](https://youtrack.jetbrains.com/issue/KT-64059) K2: CYCLIC_INHERITANCE_HIERARCHY while using nested annotation in an outer class declaration - [`KT-63528`](https://youtrack.jetbrains.com/issue/KT-63528) K2: Missing UNNECESSARY_SAFE_CALL for warning level annotated java declarations - [`KT-64607`](https://youtrack.jetbrains.com/issue/KT-64607) K2: extension functions on UInt and Number lead to JVM ClassCastException - [`KT-63761`](https://youtrack.jetbrains.com/issue/KT-63761) K2: False positive "Unresolved reference" caused by object's parameter in enum class which is passed as annotation parameter - [`KT-62816`](https://youtrack.jetbrains.com/issue/KT-62816) K2: Annotation use site targets printing could be improved in diagnostics' messages - [`KT-62815`](https://youtrack.jetbrains.com/issue/KT-62815) K2: FIR renderings leak through some diagnostics' message - [`KT-35289`](https://youtrack.jetbrains.com/issue/KT-35289) Confusing warning message "Duplicate label in when" - [`KT-49084`](https://youtrack.jetbrains.com/issue/KT-49084) Contracts: error message is unclear - [`KT-63228`](https://youtrack.jetbrains.com/issue/KT-63228) K2: Upper bound violation diagnostic renders compiler internals about SourceAttribute - [`KT-62386`](https://youtrack.jetbrains.com/issue/KT-62386) K2: Proofread quotes in diagnostic messages - [`KT-64081`](https://youtrack.jetbrains.com/issue/KT-64081) K2: Incorrect smartcast candidate calculation in MemberScopeTowerLevel - [`KT-32420`](https://youtrack.jetbrains.com/issue/KT-32420) Confusing error message "Contracts are allowed only for top-level functions" when `contract` block is not first expression - [`KT-61937`](https://youtrack.jetbrains.com/issue/KT-61937) K2: implicit script receiver from ScriptDefinition are not visible for invoke - [`KT-58767`](https://youtrack.jetbrains.com/issue/KT-58767) Inheritance opt-in enforcement via `@SubclassOptInRequired` can be avoided with type aliases - [`KT-59818`](https://youtrack.jetbrains.com/issue/KT-59818) K2: Explore the TODO about suspend functions overridden in Java in FirHelpers - [`KT-63233`](https://youtrack.jetbrains.com/issue/KT-63233) K2 : false negative `Class is not abstract and does not implement abstract member` with abstract suspend function - [`KT-59344`](https://youtrack.jetbrains.com/issue/KT-59344) K2: implement deprecation warnings from KT-53153 - [`KT-63379`](https://youtrack.jetbrains.com/issue/KT-63379) K2. Argument type mismatch on creating functional interface instance with function literal as an argument with `in` type projection - [`KT-64308`](https://youtrack.jetbrains.com/issue/KT-64308) K2: prefer call with Unit conversion at lower level to one without Unit conversion at upper level - [`KT-64307`](https://youtrack.jetbrains.com/issue/KT-64307) K2: prefer function with default arguments at lower level to one without them at upper level during callable reference resolve - [`KT-64306`](https://youtrack.jetbrains.com/issue/KT-64306) K2: prefer SAM at lower level to a functional type at upper level - [`KT-64341`](https://youtrack.jetbrains.com/issue/KT-64341) Kotlin/JVM: Missing line number generation for intrinsic comparisons - [`KT-64238`](https://youtrack.jetbrains.com/issue/KT-64238) Add proper documentation to the `IdeCodegenSettings` class - [`KT-63667`](https://youtrack.jetbrains.com/issue/KT-63667) K2/KMP: exception when expect property matched to java field - [`KT-59915`](https://youtrack.jetbrains.com/issue/KT-59915) K2: Disappeared TOO_MANY_ARGUMENTS - [`KT-57755`](https://youtrack.jetbrains.com/issue/KT-57755) K2/JVM: Fix computing a "signature" mangled name for the `main` function - [`KT-63645`](https://youtrack.jetbrains.com/issue/KT-63645) K2: Replace special f/o symbols with normal ones after actualization - [`KT-63076`](https://youtrack.jetbrains.com/issue/KT-63076) K2: change in behavior for synthetic properties in Kotlin-Java hierarchy - [`KT-63723`](https://youtrack.jetbrains.com/issue/KT-63723) Frontend manglers improperly handle error type - [`KT-56491`](https://youtrack.jetbrains.com/issue/KT-56491) K2: Fix reporting AMBIGUOUS_ANONYMOUS_TYPE_INFERRED if anonymous object is leaked in type argument - [`KT-63738`](https://youtrack.jetbrains.com/issue/KT-63738) K2: Some declarations are missing in the hierarchy of overridden symbols - [`KT-62242`](https://youtrack.jetbrains.com/issue/KT-62242) K2: Uniformly treat enum entries as anonymous objects - [`KT-62281`](https://youtrack.jetbrains.com/issue/KT-62281) K2: build DuckDuckGo Android user project and pass it to CI - [`KT-60266`](https://youtrack.jetbrains.com/issue/KT-60266) K2: origin is not set for FOR_LOOP_ITERATOR - [`KT-59875`](https://youtrack.jetbrains.com/issue/KT-59875) K2: Disappeared UNRESOLVED_REFERENCE_WRONG_RECEIVER - [`KT-62394`](https://youtrack.jetbrains.com/issue/KT-62394) K2: Synthetic property scope doesn't consider java classes in the hierarchy - [`KT-62715`](https://youtrack.jetbrains.com/issue/KT-62715) K2: Missing WASM_IMPORT_EXPORT_UNSUPPORTED_PARAMETER_TYPE - [`KT-62723`](https://youtrack.jetbrains.com/issue/KT-62723) K2: Missing WASM_IMPORT_ON_NON_EXTERNAL_DECLARATION - [`KT-62722`](https://youtrack.jetbrains.com/issue/KT-62722) K2: Missing NESTED_WASM_IMPORT - [`KT-62721`](https://youtrack.jetbrains.com/issue/KT-62721) K2: Missing WASM_EXPORT_ON_EXTERNAL_DECLARATION - [`KT-62720`](https://youtrack.jetbrains.com/issue/KT-62720) K2: Missing JS_AND_WASM_EXPORTS_ON_SAME_DECLARATION - [`KT-62719`](https://youtrack.jetbrains.com/issue/KT-62719) K2: Missing NESTED_WASM_EXPORT - [`KT-62718`](https://youtrack.jetbrains.com/issue/KT-62718) K2: Missing WASM_IMPORT_EXPORT_UNSUPPORTED_RETURN_TYPE - [`KT-62717`](https://youtrack.jetbrains.com/issue/KT-62717) K2: Missing WASM_IMPORT_EXPORT_PARAMETER_DEFAULT_VALUE - [`KT-62716`](https://youtrack.jetbrains.com/issue/KT-62716) K2: Missing WASM_IMPORT_EXPORT_VARARG_PARAMETER - [`KT-60225`](https://youtrack.jetbrains.com/issue/KT-60225) K2: compiler FIR symbol resolution crash on a call to an extension function whose receiver contains a type parameter with a recursive upper bound - [`KT-60090`](https://youtrack.jetbrains.com/issue/KT-60090) K2: Introduced DEPRECATED_PARCELER - [`KT-59949`](https://youtrack.jetbrains.com/issue/KT-59949) K2: Disappeared DEPRECATED_PARCELER - [`KT-64045`](https://youtrack.jetbrains.com/issue/KT-64045) K2: "Expect declaration \* is incompatible with actual" when function parameter names are different - [`KT-62018`](https://youtrack.jetbrains.com/issue/KT-62018) K2: prohibit suspend-marked anonymous function declarations in statement positions - [`KT-63973`](https://youtrack.jetbrains.com/issue/KT-63973) K2: "NoSuchElementException: Array is empty" with vararg used within tail recursive function - [`KT-61792`](https://youtrack.jetbrains.com/issue/KT-61792) KMP: Backend error on `@Deprecated` usage with DeprecationLevel.HIDDEN in K2 - [`KT-57788`](https://youtrack.jetbrains.com/issue/KT-57788) Fix computing mangled names of types with `@EnhancedNullability` from IR-based declaration descriptors - [`KT-63249`](https://youtrack.jetbrains.com/issue/KT-63249) K2: change in annotation resolve when ambiguous - [`KT-62553`](https://youtrack.jetbrains.com/issue/KT-62553) K2: Add `topLevelClassifierPackageNames` to symbol name providers - [`KT-64148`](https://youtrack.jetbrains.com/issue/KT-64148) K2: class cast exception org.jetbrains.kotlin.fir.types.ConeStarProjection - [`KT-63665`](https://youtrack.jetbrains.com/issue/KT-63665) K2: "NullPointerException" caused by class with the companion object and extra curly brace - [`KT-62736`](https://youtrack.jetbrains.com/issue/KT-62736) K2: Disappeared NESTED_JS_EXPORT - [`KT-62347`](https://youtrack.jetbrains.com/issue/KT-62347) Prohibit using property+invoke convention for delegated properties - [`KT-59421`](https://youtrack.jetbrains.com/issue/KT-59421) K2: Missing CONTEXT_RECEIVERS_WITH_BACKING_FIELD - [`KT-59903`](https://youtrack.jetbrains.com/issue/KT-59903) K2: Disappeared DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE - [`KT-54997`](https://youtrack.jetbrains.com/issue/KT-54997) Forbid implicit non-public-API accesses from public-API inline function - [`KT-34372`](https://youtrack.jetbrains.com/issue/KT-34372) Report missed error for virtual inline method in enum classes - [`KT-62926`](https://youtrack.jetbrains.com/issue/KT-62926) K2: IR has missing receivers during expect-actual matching - [`KT-62565`](https://youtrack.jetbrains.com/issue/KT-62565) K2 cannot infer type parameters in case of expected functional type - [`KT-63328`](https://youtrack.jetbrains.com/issue/KT-63328) K2: Top-level properties in scripts can be used while uninitialized - [`KT-62120`](https://youtrack.jetbrains.com/issue/KT-62120) K2: "NoSuchMethodError: java.lang.String" at runtime on class delegating to Java type - [`KT-36876`](https://youtrack.jetbrains.com/issue/KT-36876) Smartcast doesn't work when class has property available through the invoke - [`KT-63835`](https://youtrack.jetbrains.com/issue/KT-63835) K2: metadata compilation with constants is falling for Native - [`KT-60251`](https://youtrack.jetbrains.com/issue/KT-60251) K2: delegated method are delegating to different methods in hierarchy compared to K1 - [`KT-63574`](https://youtrack.jetbrains.com/issue/KT-63574) K2: "IllegalStateException: IrFieldPublicSymbolImpl for java.nio/ByteOrder.LITTLE_ENDIAN" - [`KT-61068`](https://youtrack.jetbrains.com/issue/KT-61068) Bounds of type parameters are not enforced during inheritance of inner classes with generic outer classes - [`KT-60504`](https://youtrack.jetbrains.com/issue/KT-60504) K2: difference between LL FIR and FIR in enhanced return type with annotation - [`KT-64147`](https://youtrack.jetbrains.com/issue/KT-64147) K2: Generate FIR diagnostics with explicit types - [`KT-62961`](https://youtrack.jetbrains.com/issue/KT-62961) K2 / KMP: NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS with expect enum class and typealias - [`KT-53749`](https://youtrack.jetbrains.com/issue/KT-53749) Support builder inference restriction in FIR - [`KT-59390`](https://youtrack.jetbrains.com/issue/KT-59390) K2: Missing BUILDER_INFERENCE_MULTI_LAMBDA_RESTRICTION - [`KT-61065`](https://youtrack.jetbrains.com/issue/KT-61065) K2: `@Suppress` annotation is ignored inside preconditions of when-clauses - [`KT-59368`](https://youtrack.jetbrains.com/issue/KT-59368) K2: Missing SUBTYPING_BETWEEN_CONTEXT_RECEIVERS - [`KT-64083`](https://youtrack.jetbrains.com/issue/KT-64083) K2: "KotlinIllegalArgumentExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirJavaTypeRef" - [`KT-37308`](https://youtrack.jetbrains.com/issue/KT-37308) No smart cast when the null check is performed on a child property through a function with a contract - [`KT-62589`](https://youtrack.jetbrains.com/issue/KT-62589) K2: Investigate need of non-nullable IdSignature in Fir2IrLazyDeclarations - [`KT-59894`](https://youtrack.jetbrains.com/issue/KT-59894) K2: Disappeared ANNOTATION_ARGUMENT_MUST_BE_CONST - [`KT-63329`](https://youtrack.jetbrains.com/issue/KT-63329) K2: difference in SAM-conversion casts generation - [`KT-64062`](https://youtrack.jetbrains.com/issue/KT-64062) K2 IDE. NPE on typing nullable parameter in return - [`KT-61427`](https://youtrack.jetbrains.com/issue/KT-61427) K2/MPP/JS does not report Expecting a top level declaration and FIR2IR crashes - [`KT-64031`](https://youtrack.jetbrains.com/issue/KT-64031) K2: Revise naming in FirBuilderInferenceSession - [`KT-55252`](https://youtrack.jetbrains.com/issue/KT-55252) Backend Internal error during psi2ir in native compile tasks (NPE in getKlibModuleOrigin) - [`KT-50453`](https://youtrack.jetbrains.com/issue/KT-50453) Improve builder inference diagnostics with type mismatch due to chosen inapplicable overload - [`KT-56949`](https://youtrack.jetbrains.com/issue/KT-56949) K2: Builder inference violates upper bound - [`KT-63648`](https://youtrack.jetbrains.com/issue/KT-63648) K2: values of postponed type variable don't introduce type constraints in extension receiver positions during builder-style type inference - [`KT-64028`](https://youtrack.jetbrains.com/issue/KT-64028) K2: Investigate questionable condition in FirBuilderInfernceSession - [`KT-60031`](https://youtrack.jetbrains.com/issue/KT-60031) K2: Introduced NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS - [`KT-55809`](https://youtrack.jetbrains.com/issue/KT-55809) K2: Support pre-release checks for klibs - [`KT-59881`](https://youtrack.jetbrains.com/issue/KT-59881) K2: Disappeared UNSUPPORTED - [`KT-63448`](https://youtrack.jetbrains.com/issue/KT-63448) K2: CONFLICTING_INHERITED_JVM_DECLARATIONS with `@JvmField` - [`KT-63705`](https://youtrack.jetbrains.com/issue/KT-63705) False positive UNSAFE_IMPLICIT_INVOKE_CALL after explicit null check of the constructor val property - [`KT-63865`](https://youtrack.jetbrains.com/issue/KT-63865) K2: "IllegalArgumentException: Failed requirement." caused by lambda parameters with different type in init block - [`KT-62036`](https://youtrack.jetbrains.com/issue/KT-62036) KMP: consider prohibiting `actual fake-override` when the corresponding `expect class` has default arguments - [`KT-62609`](https://youtrack.jetbrains.com/issue/KT-62609) K2. Type argument inference changed for object of Java class with several common parents - [`KT-30369`](https://youtrack.jetbrains.com/issue/KT-30369) Smartcasts from safe call + null check don't work if explicit true/false check is used - [`KT-30376`](https://youtrack.jetbrains.com/issue/KT-30376) Smartcasts don't propagate to the original variable when use not-null assertion or cast expression - [`KT-30868`](https://youtrack.jetbrains.com/issue/KT-30868) Unsound smartcast if smartcast source and break is placed inside square brackets (indexing expression) - [`KT-31053`](https://youtrack.jetbrains.com/issue/KT-31053) Nothing? type check isn't equivalent to null check is some places - [`KT-29935`](https://youtrack.jetbrains.com/issue/KT-29935) Smartcasts don't work if explicit annotated true/false check is used - [`KT-30903`](https://youtrack.jetbrains.com/issue/KT-30903) Smartcast to null doesn't affect computing of exhaustiveness - [`KT-63564`](https://youtrack.jetbrains.com/issue/KT-63564) K/Wasm: CompilationException with 2.0.0-Beta1 - [`KT-63345`](https://youtrack.jetbrains.com/issue/KT-63345) K2: FIR2IR chooses an incorrect type for smartcast in case of SAM conversion - [`KT-63848`](https://youtrack.jetbrains.com/issue/KT-63848) ReflectiveAccessLowering does not count arguments of super-calls - [`KT-62544`](https://youtrack.jetbrains.com/issue/KT-62544) K2: IllegalAccessError when functional type argument is inferred to package-private type - [`KT-61920`](https://youtrack.jetbrains.com/issue/KT-61920) K2: False negative CONST_VAL_WITH_NON_CONST_INITIALIZER when initializer is Java field - [`KT-63649`](https://youtrack.jetbrains.com/issue/KT-63649) K2: Wild card in superclass confuses EXPANSIVE_INHERITANCE checker - [`KT-63569`](https://youtrack.jetbrains.com/issue/KT-63569) K2: "IllegalStateException: ?!id:1" caused by private function call - [`KT-63842`](https://youtrack.jetbrains.com/issue/KT-63842) K2: some arguments of annotations on local declarations are unresolved - [`KT-63832`](https://youtrack.jetbrains.com/issue/KT-63832) K2: missed context during annotation argument resolution for a type alias, init and property receiver - [`KT-62559`](https://youtrack.jetbrains.com/issue/KT-62559) KMP, K2: prevent reporting ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT twice in CLI - [`KT-24652`](https://youtrack.jetbrains.com/issue/KT-24652) Elvis with 'break' can produce unsound smartcasts in while-true loop - [`KT-28508`](https://youtrack.jetbrains.com/issue/KT-28508) Possible unsound smartcast in class initializer - [`KT-28759`](https://youtrack.jetbrains.com/issue/KT-28759) No not-null smartcast from direct assignment if it's split into declaration and value assignment - [`KT-28760`](https://youtrack.jetbrains.com/issue/KT-28760) No not-null smartcast from direct assignment of `this` - [`KT-29878`](https://youtrack.jetbrains.com/issue/KT-29878) Smartcasts from type check or null check don't work if explicit true check as reference equality is used - [`KT-29936`](https://youtrack.jetbrains.com/issue/KT-29936) Smartcasts don't work if comparing with return value of some function and explicit true/false check is used - [`KT-30317`](https://youtrack.jetbrains.com/issue/KT-30317) Smartcast doesn't work if smartcast source is used as an operand of the reference equality - [`KT-63071`](https://youtrack.jetbrains.com/issue/KT-63071) K2 supports calling functions with the dynamic receiver over `Nothing?` - [`KT-59896`](https://youtrack.jetbrains.com/issue/KT-59896) K2: Disappeared WRONG_ANNOTATION_TARGET - [`KT-56849`](https://youtrack.jetbrains.com/issue/KT-56849) Implement K/Wasm K1 diagnostics in K2 - [`KT-31636`](https://youtrack.jetbrains.com/issue/KT-31636) Expect-actual matching doesn't work for inner/nested classes with explicit constructor using typealiases - [`KT-63361`](https://youtrack.jetbrains.com/issue/KT-63361) K2: Expected FirResolvedTypeRef for return type of FirDefaultPropertyGetter(SubstitutionOverride(DeclarationSite)) but FirImplicitTypeRefImplWithoutSource found - [`KT-62913`](https://youtrack.jetbrains.com/issue/KT-62913) Convert DEFAULT_ARGUMENTS_IN_EXPECT_ACTUALIZED_BY_FAKE_OVERRIDE to checking incompatibility - [`KT-63550`](https://youtrack.jetbrains.com/issue/KT-63550) K2: fake-override in expect covariant override in actual. Move diagnostics from backend to frontend - [`KT-62491`](https://youtrack.jetbrains.com/issue/KT-62491) K2. No `'when' expression must be exhaustive` error when Java sealed class inheritors are not listed in `permits` clause - [`KT-63443`](https://youtrack.jetbrains.com/issue/KT-63443) IrFakeOverrideBuilder: ISE "No new fake override recorded" when Java superclass declares abstract toString - [`KT-62679`](https://youtrack.jetbrains.com/issue/KT-62679) K2: drop ARGUMENTS_OF_ANNOTATIONS phase - [`KT-63600`](https://youtrack.jetbrains.com/issue/KT-63600) K2: Duplicate WRONG_NULLABILITY_FOR_JAVA_OVERRIDE - [`KT-63508`](https://youtrack.jetbrains.com/issue/KT-63508) K2: "IllegalArgumentException: Not FirResolvedTypeRef (String) in storeResult" caused by `@Deprecated` Java function and typo - [`KT-63656`](https://youtrack.jetbrains.com/issue/KT-63656) K2: "IllegalArgumentException: Local com/example/<anonymous> should never be used to find its corresponding classifier" - [`KT-63459`](https://youtrack.jetbrains.com/issue/KT-63459) K2: OPT_IN_USAGE_ERROR is absent when calling the enum primary constructor - [`KT-59582`](https://youtrack.jetbrains.com/issue/KT-59582) OPT_IN_MARKER_CAN_ONLY_BE_USED_AS_ANNOTATION_OR_ARGUMENT_IN_OPT_IN on an annotation import - [`KT-60614`](https://youtrack.jetbrains.com/issue/KT-60614) K2: Conflicting INVISIBLE_REFERENCE and UNRESOLVED_REFERENCE reported depending on FIR test for transitive friend module dependencies - [`KT-59983`](https://youtrack.jetbrains.com/issue/KT-59983) K2: Disappeared IMPLEMENTATION_BY_DELEGATION_IN_EXPECT_CLASS - [`KT-63068`](https://youtrack.jetbrains.com/issue/KT-63068) K2 supports typeRef-name labels - [`KT-63642`](https://youtrack.jetbrains.com/issue/KT-63642) JVM_IR: don't generate reflective access to getter/setter without property - [`KT-62212`](https://youtrack.jetbrains.com/issue/KT-62212) K2: require matching of suspend status for override check - [`KT-60983`](https://youtrack.jetbrains.com/issue/KT-60983) K2: "Argument type mismatch: actual type is android/view/View.OnApplyWindowInsetsListener but androidx/core/view/OnApplyWindowInsetsListener? was expected" - [`KT-63597`](https://youtrack.jetbrains.com/issue/KT-63597) JVM_IR: Properly handle type parameters of outer declaration in code fragment - [`KT-59913`](https://youtrack.jetbrains.com/issue/KT-59913) K2: Disappeared UNSUPPORTED_FEATURE - [`KT-63593`](https://youtrack.jetbrains.com/issue/KT-63593) K2: FIR2IR converts arguments of array set call for dynamic receiver twice - [`KT-63317`](https://youtrack.jetbrains.com/issue/KT-63317) K2: Disallow generic types in contract type assertions - [`KT-59922`](https://youtrack.jetbrains.com/issue/KT-59922) K2: Disappeared CANNOT_CHECK_FOR_ERASED - [`KT-59561`](https://youtrack.jetbrains.com/issue/KT-59561) K2/MPP reports INCOMPATIBLE_MATCHING when an actual annotation declaration with vararg property is typealias with `@Suppress` - [`KT-63241`](https://youtrack.jetbrains.com/issue/KT-63241) IJ monorepo K2 QG: backward-incompatible compiler ABI change leads to run-time failures of Fleet's kotlinc plugins - [`KT-55318`](https://youtrack.jetbrains.com/issue/KT-55318) Redundant variance projection causes wrong signature in klib - [`KT-57513`](https://youtrack.jetbrains.com/issue/KT-57513) K2: Bound smart casts don't work with Strings - [`KT-59988`](https://youtrack.jetbrains.com/issue/KT-59988) K2: Disappeared TYPE_ARGUMENTS_NOT_ALLOWED - [`KT-59936`](https://youtrack.jetbrains.com/issue/KT-59936) K2: Disappeared ARGUMENT_PASSED_TWICE - [`KT-61959`](https://youtrack.jetbrains.com/issue/KT-61959) K2: Type parameters from outer class leak to nested class - [`KT-58094`](https://youtrack.jetbrains.com/issue/KT-58094) K2: Review IrBuiltinsOverFir - [`KT-63522`](https://youtrack.jetbrains.com/issue/KT-63522) K2: wrong context for delegated field type - [`KT-63454`](https://youtrack.jetbrains.com/issue/KT-63454) Properly check that inline fun is in the same module as callee in `IrSourceCompilerForInline` - [`KT-59951`](https://youtrack.jetbrains.com/issue/KT-59951) K2: Disappeared NO_TYPE_ARGUMENTS_ON_RHS - [`KT-62727`](https://youtrack.jetbrains.com/issue/KT-62727) K2: Missing JSCODE_UNSUPPORTED_FUNCTION_KIND - [`KT-62726`](https://youtrack.jetbrains.com/issue/KT-62726) K2: Missing JSCODE_WRONG_CONTEXT - [`KT-62725`](https://youtrack.jetbrains.com/issue/KT-62725) K2: Missing JSCODE_INVALID_PARAMETER_NAME - [`KT-62314`](https://youtrack.jetbrains.com/issue/KT-62314) Make usages of JavaTypeParameterStack safe - [`KT-60924`](https://youtrack.jetbrains.com/issue/KT-60924) FIR2IR: Get rid of all unsafe usages of IrSymbol.owner - [`KT-59402`](https://youtrack.jetbrains.com/issue/KT-59402) K2: Missing EXPANSIVE_INHERITANCE and EXPANSIVE_INHERITANCE_IN_JAVA - [`KT-57949`](https://youtrack.jetbrains.com/issue/KT-57949) FIR: SignatureEnhancement: mutation of java enum entry - [`KT-62724`](https://youtrack.jetbrains.com/issue/KT-62724) K2: Missing WRONG_JS_FUN_TARGET - [`KT-62856`](https://youtrack.jetbrains.com/issue/KT-62856) K2: Don't create IR declaration when its symbol is accessed in fir2ir - [`KT-61329`](https://youtrack.jetbrains.com/issue/KT-61329) K2: Review for diagnostic messages reported by CLI arguments processing - [`KT-58953`](https://youtrack.jetbrains.com/issue/KT-58953) K2 doesn't work with Compose Multiplatform - [`KT-63599`](https://youtrack.jetbrains.com/issue/KT-63599) False negative WRONG_NULLABILITY_FOR_JAVA_OVERRIDE when Java parameter is warning-severity not-null and override isn't a DNN - [`KT-62711`](https://youtrack.jetbrains.com/issue/KT-62711) Incorrect ParsedCodeMetaInfo instances - [`KT-63122`](https://youtrack.jetbrains.com/issue/KT-63122) K2: Improve 'EVALUATION_ERROR' messages - [`KT-63164`](https://youtrack.jetbrains.com/issue/KT-63164) K2/JVM: compiler codegen crash on invisible property IllegalStateException: Fake override should have at least one overridden descriptor - [`KT-56614`](https://youtrack.jetbrains.com/issue/KT-56614) K2: Incorrect overload resolution with SAM types - [`KT-62783`](https://youtrack.jetbrains.com/issue/KT-62783) K2: False positive CAST_NEVER_SUCCEEDS when casting nullable expression to it's non-nullable generic base class - [`KT-47931`](https://youtrack.jetbrains.com/issue/KT-47931) FIR DFA: smartcast not working for `if (x!=null || x!=null && x!=null) {}` - [`KT-62735`](https://youtrack.jetbrains.com/issue/KT-62735) K2: Disappeared EXTERNAL_CLASS_CONSTRUCTOR_PROPERTY_PARAMETER - [`KT-62733`](https://youtrack.jetbrains.com/issue/KT-62733) K2: Disappeared WRONG_EXTERNAL_DECLARATION - [`KT-62734`](https://youtrack.jetbrains.com/issue/KT-62734) K2: Disappeared INLINE_EXTERNAL_DECLARATION - [`KT-62618`](https://youtrack.jetbrains.com/issue/KT-62618) K2: Fix the `ensureAllMessagesPresent` test - [`KT-60312`](https://youtrack.jetbrains.com/issue/KT-60312) K2: CCE “class \[I cannot be cast to class java.lang.Number (\[I and java.lang.Number are in module java.base of loader 'bootstrap')” on using IntArray as vararg - [`KT-58531`](https://youtrack.jetbrains.com/issue/KT-58531) K2: "Property must be initialized" compile error - [`KT-54064`](https://youtrack.jetbrains.com/issue/KT-54064) K2. Conflicting declarations error differs for k1 and k2 - [`KT-52432`](https://youtrack.jetbrains.com/issue/KT-52432) Using the IDE compiled with K2 (useFir) throws VerifyError exception - [`KT-59825`](https://youtrack.jetbrains.com/issue/KT-59825) K2: Fix the TODO about `wasExperimentalMarkerClasses` in `FirSinceKotlinHelpers` - [`KT-26045`](https://youtrack.jetbrains.com/issue/KT-26045) False positive DUPLICATE_LABEL_IN_WHEN for safe calls - [`KT-59514`](https://youtrack.jetbrains.com/issue/KT-59514) K2: New inference error with jspecify and Java interop - [`KT-63094`](https://youtrack.jetbrains.com/issue/KT-63094) K2: Exception from fir2ir during conversion data class with property of dynamic type - [`KT-59822`](https://youtrack.jetbrains.com/issue/KT-59822) K2: Fix the TODO in FirConstChecks - [`KT-59493`](https://youtrack.jetbrains.com/issue/KT-59493) Definitely non-nullable types have type inference issues with extension functions - [`KT-63396`](https://youtrack.jetbrains.com/issue/KT-63396) K2: property from companion object are unresolved as an annotation argument in type parameter - [`KT-62925`](https://youtrack.jetbrains.com/issue/KT-62925) K2: Disappeared EXPOSED_FUNCTION_RETURN_TYPE for package-private and type args - [`KT-63430`](https://youtrack.jetbrains.com/issue/KT-63430) IrFakeOverrideBuilder: VerifyError on calling a function with a context receiver from a superclass - [`KT-58754`](https://youtrack.jetbrains.com/issue/KT-58754) "Not enough information to infer type variable for subcalls of if expression" when adding curly braces to a conditional inside a `lazy` property - [`KT-54067`](https://youtrack.jetbrains.com/issue/KT-54067) K1 with NI: false positive UPPER_BOUND_VIOLATED in typealias constructor - [`KT-62420`](https://youtrack.jetbrains.com/issue/KT-62420) K2: Remove ConeClassifierLookupTag from ConeTypeVariableTypeConstructor - [`KT-63431`](https://youtrack.jetbrains.com/issue/KT-63431) K1: Incorrect resolution of call to Java class that extends CharSequence and inherits a `get(int): Char` method - [`KT-55288`](https://youtrack.jetbrains.com/issue/KT-55288) False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifier - [`KT-61459`](https://youtrack.jetbrains.com/issue/KT-61459) K2: type parameters cannot be parameterized with type arguments - [`KT-59998`](https://youtrack.jetbrains.com/issue/KT-59998) K2: Disappeared OPT_IN_MARKER_CAN_ONLY_BE_USED_AS_ANNOTATION_OR_ARGUMENT_IN_OPT_IN - [`KT-53308`](https://youtrack.jetbrains.com/issue/KT-53308) TYPE_MISMATCH: Contracts on boolean expression has no effect on referential equality to `null` - [`KT-51160`](https://youtrack.jetbrains.com/issue/KT-51160) Type mismatch with contracts on narrowing sealed hierarchy fail to smart cast - [`KT-49696`](https://youtrack.jetbrains.com/issue/KT-49696) Smart cast to non-null with inline non-modifying closures sometimes doesn't work - [`KT-46586`](https://youtrack.jetbrains.com/issue/KT-46586) SMARTCAST_IMPOSSIBLE when assigning value inside lambda instead of if expression - [`KT-41728`](https://youtrack.jetbrains.com/issue/KT-41728) False positive no smart cast with unreachable code after return in if expression - [`KT-59482`](https://youtrack.jetbrains.com/issue/KT-59482) K2: build kmm-production-sample - [`KT-57529`](https://youtrack.jetbrains.com/issue/KT-57529) K1/K2: "IllegalStateException: not identifier: <no name provided>" with hard keywords in angle brackets - [`KT-62032`](https://youtrack.jetbrains.com/issue/KT-62032) K2: Render flexible types as A..B instead of cryptic ft\<A, B> in diagnostic messages - [`KT-59940`](https://youtrack.jetbrains.com/issue/KT-59940) K2: Disappeared ACTUAL_ANNOTATION_CONFLICTING_DEFAULT_ARGUMENT_VALUE - [`KT-59401`](https://youtrack.jetbrains.com/issue/KT-59401) K2: Missing ADAPTED_CALLABLE_REFERENCE_AGAINST_REFLECTION_TYPE - [`KT-56081`](https://youtrack.jetbrains.com/issue/KT-56081) K2: build kotlinx.serialization - [`KT-63172`](https://youtrack.jetbrains.com/issue/KT-63172) K2: Java vararg setter should not be used as property accessor - [`KT-61243`](https://youtrack.jetbrains.com/issue/KT-61243) K2: Always use declaredMemberScope-s in `FirConflictsHelpers` instead of `declarations` - [`KT-59430`](https://youtrack.jetbrains.com/issue/KT-59430) K2: Missing CALLABLE_REFERENCE_RESOLUTION_AMBIGUITY - [`KT-62306`](https://youtrack.jetbrains.com/issue/KT-62306) K2: Compiler internal error for incorrect call on ILT - [`KT-61592`](https://youtrack.jetbrains.com/issue/KT-61592) kt57320.kt weird diagnostic range for NO_ACTUAL_FOR_EXPECT - [`KT-62334`](https://youtrack.jetbrains.com/issue/KT-62334) K2: FIR should not generate delegated functions for methods from java interface with default implementation - [`KT-60294`](https://youtrack.jetbrains.com/issue/KT-60294) K2: lambda inside object capturing this, when not in K1 - [`KT-59590`](https://youtrack.jetbrains.com/issue/KT-59590) JVM IR: NotImplementedError during rendering of conflicting JVM signatures diagnostic - [`KT-62607`](https://youtrack.jetbrains.com/issue/KT-62607) K2: "Overload resolution ambiguity between candidates" - [`KT-55096`](https://youtrack.jetbrains.com/issue/KT-55096) K2: false-positive smartcast after equals check with reassignment in RHS of == - [`KT-63002`](https://youtrack.jetbrains.com/issue/KT-63002) K2: Fix flaky FirPsiOldFrontendDiagnosticsTestGenerated.Tests.Annotations#testAnnotatedErrorTypeRef - [`KT-62916`](https://youtrack.jetbrains.com/issue/KT-62916) K2: False positive INCOMPATIBLE_MATCHING - [`KT-45687`](https://youtrack.jetbrains.com/issue/KT-45687) Contract doesn't allow smart cast when implicit receiver and inference target is `this` - [`KT-62137`](https://youtrack.jetbrains.com/issue/KT-62137) Compiler fails on null tracking (inference) for safe call - [`KT-36976`](https://youtrack.jetbrains.com/issue/KT-36976) FIR: Provide exact smart casting type - [`KT-60004`](https://youtrack.jetbrains.com/issue/KT-60004) K2: Disappeared CONTRACT_NOT_ALLOWED - [`KT-62404`](https://youtrack.jetbrains.com/issue/KT-62404) K2 Scripting for gradle: unresolved name errors on implicit imports - [`KT-62197`](https://youtrack.jetbrains.com/issue/KT-62197) K2 and Apache Commons's MutableLong: Overload resolution ambiguity between candidates - [`KT-59890`](https://youtrack.jetbrains.com/issue/KT-59890) K2: Disappeared CONST_VAL_WITH_NON_CONST_INITIALIZER - [`KT-53551`](https://youtrack.jetbrains.com/issue/KT-53551) suspend functional type with context receiver causes ClassCastException - [`KT-61491`](https://youtrack.jetbrains.com/issue/KT-61491) K2 AA: Multiple FIR declarations for the same delegated property - [`KT-55965`](https://youtrack.jetbrains.com/issue/KT-55965) K2: NPE via usage of functions that return Nothing but have no return expressions - [`KT-60942`](https://youtrack.jetbrains.com/issue/KT-60942) K2: Transitive dependency IR is not deserialized correctly - [`KT-55319`](https://youtrack.jetbrains.com/issue/KT-55319) K2: False negative NON_LOCAL_RETURN_NOT_ALLOWED for non-local returns example - [`KT-59884`](https://youtrack.jetbrains.com/issue/KT-59884) K2: Disappeared NON_LOCAL_RETURN_NOT_ALLOWED - [`KT-61942`](https://youtrack.jetbrains.com/issue/KT-61942) K2 + kotlinx.serialization: Incorrect 'Conflicting declarations' on only one declaration - [`KT-62944`](https://youtrack.jetbrains.com/issue/KT-62944) K2: Symbols with context receiver shouldn't be rendered with line break - [`KT-59977`](https://youtrack.jetbrains.com/issue/KT-59977) K2: Disappeared NO_ACTUAL_FOR_EXPECT - [`KT-60117`](https://youtrack.jetbrains.com/issue/KT-60117) K2: ISE “Cannot serialize error type: ERROR CLASS: Cannot infer variable type without initializer / getter / delegate” on compiling lateinit property without initialization - [`KT-60042`](https://youtrack.jetbrains.com/issue/KT-60042) K2: Introduced PRIMARY_CONSTRUCTOR_REQUIRED_FOR_DATA_CLASS - [`KT-62467`](https://youtrack.jetbrains.com/issue/KT-62467) K2: Result type of elvis operator should be flexible if rhs is flexible - [`KT-62126`](https://youtrack.jetbrains.com/issue/KT-62126) KJS / K2: "InterpreterError: VALUE_PARAMETER" caused by reflection, delegation and languageVersion = 1.9 - [`KT-56615`](https://youtrack.jetbrains.com/issue/KT-56615) K2: False-negative USELESS_CAST after double smartcast - [`KT-59820`](https://youtrack.jetbrains.com/issue/KT-59820) K2: Investigate the TODO in FirCastDiagnosticsHelpers - [`KT-61100`](https://youtrack.jetbrains.com/issue/KT-61100) K2: wrong type for "value" parameter of java annotation constructor - [`KT-59996`](https://youtrack.jetbrains.com/issue/KT-59996) K2: Disappeared INVALID_CHARACTERS - [`KT-62598`](https://youtrack.jetbrains.com/issue/KT-62598) K2: SOE through JvmBinaryAnnotationDeserializer with nested annotation with value parameter in other module - [`KT-59070`](https://youtrack.jetbrains.com/issue/KT-59070) K1: Unbound private symbol with mixed Java/Kotlin hierarchy - [`KT-60095`](https://youtrack.jetbrains.com/issue/KT-60095) K2: Introduced INCOMPATIBLE_TYPES - [`KT-61598`](https://youtrack.jetbrains.com/issue/KT-61598) K2: report IR_WITH_UNSTABLE_ABI_COMPILED_CLASS - [`KT-42625`](https://youtrack.jetbrains.com/issue/KT-42625) "Unresolved reference" when star import packages with conflicting entries - [`KT-60123`](https://youtrack.jetbrains.com/issue/KT-60123) K2: PROPERTY_WITH_NO_TYPE_NO_INITIALIZER isn't working in IDE for lateinit property without a type - [`KT-59935`](https://youtrack.jetbrains.com/issue/KT-59935) K2: Disappeared PROPERTY_WITH_NO_TYPE_NO_INITIALIZER - [`KT-57931`](https://youtrack.jetbrains.com/issue/KT-57931) K1: unsafe assignment of nullable values to not-null Java fields via safe access operator - [`KT-59992`](https://youtrack.jetbrains.com/issue/KT-59992) K2: Disappeared KCLASS_WITH_NULLABLE_TYPE_PARAMETER_IN_SIGNATURE - [`KT-58455`](https://youtrack.jetbrains.com/issue/KT-58455) K2(LT). Internal compiler error "UninitializedPropertyAccessException: lateinit property identifier has not been initialized" on missing type parameter in "where" constraint - [`KT-60714`](https://youtrack.jetbrains.com/issue/KT-60714) K2: Implement resolve to private members from Evaluator in K2 - [`KT-59577`](https://youtrack.jetbrains.com/issue/KT-59577) K2. Enum constant name is not specified in error text - [`KT-60003`](https://youtrack.jetbrains.com/issue/KT-60003) K2: Disappeared INVALID_CHARACTERS_NATIVE_ERROR - [`KT-62099`](https://youtrack.jetbrains.com/issue/KT-62099) K2: "Type arguments should be specified for an outer class" error about typealias - [`KT-60111`](https://youtrack.jetbrains.com/issue/KT-60111) K2: Location regressions for operators - [`KT-59974`](https://youtrack.jetbrains.com/issue/KT-59974) K2: Disappeared INAPPLICABLE_INFIX_MODIFIER - [`KT-59399`](https://youtrack.jetbrains.com/issue/KT-59399) K2: Missing JSCODE_NO_JAVASCRIPT_PRODUCED - [`KT-59388`](https://youtrack.jetbrains.com/issue/KT-59388) K2: Missing JSCODE_ERROR - [`KT-59435`](https://youtrack.jetbrains.com/issue/KT-59435) K2: Missing JSCODE_ARGUMENT_SHOULD_BE_CONSTANT - [`KT-59991`](https://youtrack.jetbrains.com/issue/KT-59991) K2: Disappeared FORBIDDEN_VARARG_PARAMETER_TYPE - [`KT-60601`](https://youtrack.jetbrains.com/issue/KT-60601) K2 / Maven: Overload resolution ambiguity between candidates inline method - [`KT-59973`](https://youtrack.jetbrains.com/issue/KT-59973) K2: Disappeared INAPPLICABLE_LATEINIT_MODIFIER - [`KT-59933`](https://youtrack.jetbrains.com/issue/KT-59933) K2: Disappeared USAGE_IS_NOT_INLINABLE - [`KT-60778`](https://youtrack.jetbrains.com/issue/KT-60778) K2: implement MISSING_DEPENDENCY_CLASS(\_SUPERCLASS) errors - [`KT-62581`](https://youtrack.jetbrains.com/issue/KT-62581) K2: Difference in `kind` flag in metadata - [`KT-59967`](https://youtrack.jetbrains.com/issue/KT-59967) K2: Disappeared UNINITIALIZED_ENUM_ENTRY - [`KT-59956`](https://youtrack.jetbrains.com/issue/KT-59956) K2: Disappeared INAPPLICABLE_OPERATOR_MODIFIER - [`KT-35913`](https://youtrack.jetbrains.com/issue/KT-35913) Diagnostic error VAL_REASSIGNMENT is not reported multiple times - [`KT-60059`](https://youtrack.jetbrains.com/issue/KT-60059) K2: Introduced VAL_REASSIGNMENT - [`KT-59945`](https://youtrack.jetbrains.com/issue/KT-59945) K2: Disappeared ANONYMOUS_FUNCTION_WITH_NAME - [`KT-62573`](https://youtrack.jetbrains.com/issue/KT-62573) K2: incorrect parsing behavior with named functions as expressions - [`KT-55484`](https://youtrack.jetbrains.com/issue/KT-55484) K2: `@OptIn` false negative OPT_IN_USAGE_ERROR on equals operator call - [`KT-56629`](https://youtrack.jetbrains.com/issue/KT-56629) K2: an instance of USELESS_CAST was not moved under EnableDfaWarningsInK2 language feature - [`KT-58034`](https://youtrack.jetbrains.com/issue/KT-58034) Inconsistent resolve for nested objects in presence of a companion object property with the same name - [`KT-59864`](https://youtrack.jetbrains.com/issue/KT-59864) K2: Bad locations with delegates - [`KT-59584`](https://youtrack.jetbrains.com/issue/KT-59584) K2: Bad startOffset for 'this' - [`KT-61388`](https://youtrack.jetbrains.com/issue/KT-61388) K2: ISE "Annotations are resolved twice" from CompilerRequiredAnnotationsComputationSession on nested annotation - [`KT-62628`](https://youtrack.jetbrains.com/issue/KT-62628) K2: FirErrorTypeRefImpl doesn't have annotations - [`KT-62447`](https://youtrack.jetbrains.com/issue/KT-62447) K2. "Replacing annotations in FirErrorTypeRefImpl is not supported" compiler error when annotation is used as variable type or return type - [`KT-61055`](https://youtrack.jetbrains.com/issue/KT-61055) K2: Investigate if usage of `toResolvedCallableSymbol` is correct at FirDataFlowAnalyzer#processConditionalContract - [`KT-61518`](https://youtrack.jetbrains.com/issue/KT-61518) K2: IAE: "Expected type to be resolved" at FirTypeUtilsKt.getResolvedType() on usage of Java annotation with default value for enum array parameter - [`KT-61688`](https://youtrack.jetbrains.com/issue/KT-61688) K2: FIR renderings of type annotations leak through the diagnostics' messages - [`KT-61794`](https://youtrack.jetbrains.com/issue/KT-61794) FIR: MergePostponedLambdaExitsNode.flow remains uninitialized after resolve - [`KT-59986`](https://youtrack.jetbrains.com/issue/KT-59986) K2: Disappeared ITERATOR_MISSING - [`KT-57802`](https://youtrack.jetbrains.com/issue/KT-57802) K2: Backend Internal error: RecordEnclosingMethodsLowering.kt - [`KT-59941`](https://youtrack.jetbrains.com/issue/KT-59941) K2: Disappeared COMPONENT_FUNCTION_MISSING - [`KT-61076`](https://youtrack.jetbrains.com/issue/KT-61076) K2: false-positive conflicting overloads error on suspending function and private Java method from a supertype - [`KT-61075`](https://youtrack.jetbrains.com/issue/KT-61075) K2: type inference for delegate expressions with complexly bounded type variables fails on properties with annotated accessors - [`KT-62671`](https://youtrack.jetbrains.com/issue/KT-62671) K2: fir2ir generates a duplicate of delegated function for class from a common module - [`KT-62541`](https://youtrack.jetbrains.com/issue/KT-62541) K2: Missed type mismatch error - [`KT-62585`](https://youtrack.jetbrains.com/issue/KT-62585) KMP, K2: fix ugly reporting of annotation arguments in ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT diagnostic - [`KT-62143`](https://youtrack.jetbrains.com/issue/KT-62143) Error: Identity equality for arguments of types 'kotlin/Int?' and 'kotlin/Nothing?' is prohibited - [`KT-62620`](https://youtrack.jetbrains.com/issue/KT-62620) Warn about `@OptIn`/`@Deprecated` for overrides of Any - [`KT-59689`](https://youtrack.jetbrains.com/issue/KT-59689) K2: Fix complex smartcasts with safe calls - [`KT-61517`](https://youtrack.jetbrains.com/issue/KT-61517) K2: FirModuleDescriptor should correctly provide dependencies from FirModuleData - [`KT-62578`](https://youtrack.jetbrains.com/issue/KT-62578) K2: `@NoInfer` annotation doesn't work for deserialized functions - [`KT-59916`](https://youtrack.jetbrains.com/issue/KT-59916) K2: Disappeared REPEATED_ANNOTATION - [`KT-36844`](https://youtrack.jetbrains.com/issue/KT-36844) DELEGATE_SPECIAL_FUNCTION_MISSING highlight is missed when Delegate class has getValue property available through the invoke convention - [`KT-62450`](https://youtrack.jetbrains.com/issue/KT-62450) K2: Disappeared OPT_IN_USAGE_ERROR for a data class property during the destructuring declaration - [`KT-59997`](https://youtrack.jetbrains.com/issue/KT-59997) K2: Disappeared OPT_IN_USAGE_ERROR - [`KT-60026`](https://youtrack.jetbrains.com/issue/KT-60026) K2: Introduced EXPOSED_TYPEALIAS_EXPANDED_TYPE - [`KT-62393`](https://youtrack.jetbrains.com/issue/KT-62393) K2: FIR doesn't count visibility when creating synthetic property override - [`KT-61191`](https://youtrack.jetbrains.com/issue/KT-61191) K2: Problem with `@OptionalExpectation` - [`KT-61208`](https://youtrack.jetbrains.com/issue/KT-61208) EnumEntries mappings are generated incorrectly in the face of incremental compilation - [`KT-57811`](https://youtrack.jetbrains.com/issue/KT-57811) K2: make java static string and int fields not null - [`KT-53982`](https://youtrack.jetbrains.com/issue/KT-53982) Keep nullability when approximating local types in public signatures - [`KT-62531`](https://youtrack.jetbrains.com/issue/KT-62531) InvalidProtocolBufferException on reading module metadata compiled by K2 from compilers earlier than 1.8.20 with -Xskip-metadata-version-check - [`KT-61511`](https://youtrack.jetbrains.com/issue/KT-61511) IrFakeOverride builder: objc overridability condition is not supported - [`KT-62316`](https://youtrack.jetbrains.com/issue/KT-62316) K2: CONFLICTING_INHERITED_JVM_DECLARATIONS on List subclass inheriting remove/removeAt from Java superclass - [`KT-60671`](https://youtrack.jetbrains.com/issue/KT-60671) KMP: check other annotation targets in expect and actual annotations compatibility checker - [`KT-62473`](https://youtrack.jetbrains.com/issue/KT-62473) K2: `@Suppress`("UNCHECKED_CAST")\` doesn't work on rhs of augmented assignment call - [`KT-59433`](https://youtrack.jetbrains.com/issue/KT-59433) K2: Missing NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE - [`KT-62451`](https://youtrack.jetbrains.com/issue/KT-62451) K2: Disappeared OPT_IN_USAGE_ERROR for typealias - [`KT-62452`](https://youtrack.jetbrains.com/issue/KT-62452) K2: Violation of OPT_IN_USAGE_ERROR non-propagating opt-in rules for typealias - [`KT-59927`](https://youtrack.jetbrains.com/issue/KT-59927) K2: Disappeared INVISIBLE_REFERENCE - [`KT-60080`](https://youtrack.jetbrains.com/issue/KT-60080) K2: Introduced INVISIBLE_SETTER - [`KT-60104`](https://youtrack.jetbrains.com/issue/KT-60104) K2: Introduced FUNCTION_CALL_EXPECTED - [`KT-59979`](https://youtrack.jetbrains.com/issue/KT-59979) K2: Disappeared SUPERTYPE_INITIALIZED_IN_EXPECTED_CLASS - [`KT-62146`](https://youtrack.jetbrains.com/issue/KT-62146) K2: `@Suppress` does not work with named argument - [`KT-62475`](https://youtrack.jetbrains.com/issue/KT-62475) K2: IrExternalModuleFragments contains incorrect data in Fir2Ir - [`KT-59978`](https://youtrack.jetbrains.com/issue/KT-59978) K2: Disappeared EXPECTED_ENUM_ENTRY_WITH_BODY - [`KT-59015`](https://youtrack.jetbrains.com/issue/KT-59015) K1+NI: "Type mismatch: inferred type is CapturedType(\*) but Xy was expected" with star projection callable reference to extension function - [`KT-61983`](https://youtrack.jetbrains.com/issue/KT-61983) K2: \*fir.kt.txt dump uses different naming approach for local vars - [`KT-59970`](https://youtrack.jetbrains.com/issue/KT-59970) K2: Disappeared NULLABLE_TYPE_IN_CLASS_LITERAL_LHS - [`KT-58216`](https://youtrack.jetbrains.com/issue/KT-58216) K2 (2.0): when is not checked for exhaustiveness with Java sealed class - [`KT-61205`](https://youtrack.jetbrains.com/issue/KT-61205) Compose Compiler K2/ios: No file for /App|App(){}\[0] when running linkPodDebugFrameworkIosX64 - [`KT-58087`](https://youtrack.jetbrains.com/issue/KT-58087) Unexpected type mismatch after nullable captured type approximation - [`KT-58240`](https://youtrack.jetbrains.com/issue/KT-58240) Support running irText compiler tests against the Native backend - [`KT-59565`](https://youtrack.jetbrains.com/issue/KT-59565) K2. Internal error "IndexOutOfBoundsException: Index -1 out of bounds for length 0" on incorrect usage of annotation in type parameter - [`KT-59954`](https://youtrack.jetbrains.com/issue/KT-59954) K2: Disappeared REPEATED_MODIFIER - [`KT-57100`](https://youtrack.jetbrains.com/issue/KT-57100) K2 does not report Conflicting overloads and backend crashes with Exception during IR lowering on conflict overloading with suspend function - [`KT-59955`](https://youtrack.jetbrains.com/issue/KT-59955) K2: Disappeared INCOMPATIBLE_MODIFIERS - [`KT-61572`](https://youtrack.jetbrains.com/issue/KT-61572) \[K2/N] Missing diagnostic SUPER_CALL_WITH_DEFAULT_PARAMETERS in test for MPP supercall with default params - [`KT-62262`](https://youtrack.jetbrains.com/issue/KT-62262) \[K2/N] tests/samples/uikit compilation fails with NPE in checkCanGenerateOverrideInit - [`KT-62114`](https://youtrack.jetbrains.com/issue/KT-62114) K2: Unresolved reference for smart cast inside `when` (but not `if`) - [`KT-59373`](https://youtrack.jetbrains.com/issue/KT-59373) K2: Missing INVISIBLE_MEMBER - [`KT-61844`](https://youtrack.jetbrains.com/issue/KT-61844) K2: "Expression \* of type \* cannot be invoked as a function" caused by private property - [`KT-61735`](https://youtrack.jetbrains.com/issue/KT-61735) \[FIR] Assignment to val with flexible type dispatch receiver causes crash - [`KT-59942`](https://youtrack.jetbrains.com/issue/KT-59942) K2: Disappeared ANNOTATION_PARAMETER_DEFAULT_VALUE_MUST_BE_CONSTANT - [`KT-62058`](https://youtrack.jetbrains.com/issue/KT-62058) K2: use PRE_RELEASE flag until 2.0-RC - [`KT-59931`](https://youtrack.jetbrains.com/issue/KT-59931) K2: Disappeared CLASS_LITERAL_LHS_NOT_A_CLASS - [`KT-62104`](https://youtrack.jetbrains.com/issue/KT-62104) K2: fix failing tests caused by KT-59940 - [`KT-61974`](https://youtrack.jetbrains.com/issue/KT-61974) K2: "ClassCastException: class cannot be cast to class java.lang.Void" in test - [`KT-61637`](https://youtrack.jetbrains.com/issue/KT-61637) K2: Store all IR declarations inside Fir2IrDeclarationStorage - [`KT-60921`](https://youtrack.jetbrains.com/issue/KT-60921) K2: IndexOutOfBoundsException on attempt to cast an element to inner class with type parameter - [`KT-59429`](https://youtrack.jetbrains.com/issue/KT-59429) K2: Missing ABBREVIATED_NOTHING_RETURN_TYPE - [`KT-59420`](https://youtrack.jetbrains.com/issue/KT-59420) K2: Missing ABBREVIATED_NOTHING_PROPERTY_TYPE - [`KT-59965`](https://youtrack.jetbrains.com/issue/KT-59965) K2: Disappeared CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON - [`KT-59952`](https://youtrack.jetbrains.com/issue/KT-59952) K2: Disappeared EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR - [`KT-61732`](https://youtrack.jetbrains.com/issue/KT-61732) K2: Analysis API: resolve ambiguities in kotlin project - [`KT-60499`](https://youtrack.jetbrains.com/issue/KT-60499) K2: Order of synthetic fields is different from K1's order - [`KT-61773`](https://youtrack.jetbrains.com/issue/KT-61773) K2 Native: support reporting PRE_RELEASE_CLASS - [`KT-61578`](https://youtrack.jetbrains.com/issue/KT-61578) \[FIR] Resolution to private companion objects does not produce `INVISIBLE_REFERENCE` diagnostic - [`KT-59985`](https://youtrack.jetbrains.com/issue/KT-59985) K2: Disappeared UNDERSCORE_USAGE_WITHOUT_BACKTICKS - [`KT-62031`](https://youtrack.jetbrains.com/issue/KT-62031) K2: Render k2-specific flexible types in a more compact way in diagnostic messages - [`KT-62030`](https://youtrack.jetbrains.com/issue/KT-62030) K2: Render dot-separated FQNs instead of slash-separated ones in diagnostics - [`KT-59950`](https://youtrack.jetbrains.com/issue/KT-59950) K2: Disappeared ILLEGAL_ESCAPE - [`KT-61827`](https://youtrack.jetbrains.com/issue/KT-61827) K2: Fix rendering of `NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS` message - [`KT-61386`](https://youtrack.jetbrains.com/issue/KT-61386) IrFakeOverrideBuilder: wrong dispatch receiver type - [`KT-59907`](https://youtrack.jetbrains.com/issue/KT-59907) K2: Disappeared RETURN_TYPE_MISMATCH - [`KT-62056`](https://youtrack.jetbrains.com/issue/KT-62056) K2: Drop FIR_COMPILED_CLASS error in K1 - [`KT-61824`](https://youtrack.jetbrains.com/issue/KT-61824) K2: Don't render internal compiler type annotations in diagnostic messages - [`KT-61826`](https://youtrack.jetbrains.com/issue/KT-61826) K2: Fix rendering of SUSPENSION_POINT_INSIDE_CRITICAL_SECTION message - [`KT-57858`](https://youtrack.jetbrains.com/issue/KT-57858) `@PlatformDependent` annotation should be considered in JS and Native - [`KT-61876`](https://youtrack.jetbrains.com/issue/KT-61876) K2: FirCommonSessionFactory does not register visibility checker for a library session - [`KT-60264`](https://youtrack.jetbrains.com/issue/KT-60264) K2: while loop body block sometimes replaced with single expression - [`KT-58542`](https://youtrack.jetbrains.com/issue/KT-58542) K2: Store abbreviated types in deserialized declarations as attributes for rendering - [`KT-62008`](https://youtrack.jetbrains.com/issue/KT-62008) K2: Java getter function may be enhanced twice - [`KT-61921`](https://youtrack.jetbrains.com/issue/KT-61921) K2: Check for false positive/negative diagnostics caused by wrong handling of typealiases - [`KT-41997`](https://youtrack.jetbrains.com/issue/KT-41997) False positive "Value class cannot have properties with backing fields" inside expect class - [`KT-62017`](https://youtrack.jetbrains.com/issue/KT-62017) K2: ISE "No real overrides for FUN FAKE_OVERRIDE" on calling package-private Java method through anonymous object - [`KT-58247`](https://youtrack.jetbrains.com/issue/KT-58247) Incorrect inference of nullable types inside Optional - [`KT-61309`](https://youtrack.jetbrains.com/issue/KT-61309) K2: Only named arguments are available for Java annotations - [`KT-61366`](https://youtrack.jetbrains.com/issue/KT-61366) IrFakeOverrideBuilder ignores package-private visibility - [`KT-59899`](https://youtrack.jetbrains.com/issue/KT-59899) K2: Disappeared EXPECTED_DECLARATION_WITH_BODY - [`KT-59980`](https://youtrack.jetbrains.com/issue/KT-59980) K2: Disappeared EXPECTED_ENUM_CONSTRUCTOR - [`KT-59982`](https://youtrack.jetbrains.com/issue/KT-59982) K2: Disappeared EXPECTED_CLASS_CONSTRUCTOR_PROPERTY_PARAMETER - [`KT-61499`](https://youtrack.jetbrains.com/issue/KT-61499) K2: False positive "Const 'val' initializer should be a constant value" when using typealias - [`KT-62005`](https://youtrack.jetbrains.com/issue/KT-62005) K2: No conflicting declarations error for constructors of nested classes and member functions - [`KT-60092`](https://youtrack.jetbrains.com/issue/KT-60092) K2: Introduced EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR - [`KT-61972`](https://youtrack.jetbrains.com/issue/KT-61972) K2: FIR2IR crashes on converting data classes in MPP setup - [`KT-60105`](https://youtrack.jetbrains.com/issue/KT-60105) K2: Introduced UNDERSCORE_USAGE_WITHOUT_BACKTICKS - [`KT-60075`](https://youtrack.jetbrains.com/issue/KT-60075) K2: Introduced ACTUAL_WITHOUT_EXPECT - [`KT-29316`](https://youtrack.jetbrains.com/issue/KT-29316) Change diagnostics strategy for equality-operators applicability - [`KT-61751`](https://youtrack.jetbrains.com/issue/KT-61751) IrFakeOverrideBuilder: keep flexible type annotations when remapping/substituting types - [`KT-61778`](https://youtrack.jetbrains.com/issue/KT-61778) K2: Overload resolution ambiguity between expect and non-expect in native build - [`KT-57703`](https://youtrack.jetbrains.com/issue/KT-57703) K1/K2: unprecise constraint system behavior around integer literals and comparable arrays - [`KT-61367`](https://youtrack.jetbrains.com/issue/KT-61367) K2: Introduce OptIn for FirExpression.coneTypeOrNull - [`KT-61802`](https://youtrack.jetbrains.com/issue/KT-61802) K2: infinite recursion in constant evaluator causing StackOverflowError - [`KT-60043`](https://youtrack.jetbrains.com/issue/KT-60043) K2: Introduced PROPERTY_AS_OPERATOR - [`KT-61829`](https://youtrack.jetbrains.com/issue/KT-61829) K2. Internal error, FileAnalysisException when type argument doesn't conform expected type - [`KT-61691`](https://youtrack.jetbrains.com/issue/KT-61691) K2: This annotation is not applicable to target 'local variable' - [`KT-59925`](https://youtrack.jetbrains.com/issue/KT-59925) K2: Disappeared VIRTUAL_MEMBER_HIDDEN - [`KT-61173`](https://youtrack.jetbrains.com/issue/KT-61173) K2: FirProperty.hasBackingField is true for an expect val - [`KT-61696`](https://youtrack.jetbrains.com/issue/KT-61696) K2: Cannot override method of interface if superclass has package-protected method with same signature - [`KT-59370`](https://youtrack.jetbrains.com/issue/KT-59370) K2: Missing JS_NAME_CLASH - [`KT-36056`](https://youtrack.jetbrains.com/issue/KT-36056) \[FIR] Fix implementation of try/catch/finally in DFA - [`KT-61719`](https://youtrack.jetbrains.com/issue/KT-61719) K2. Invisible reference is shown for whole type reference instead of single name reference - [`KT-35566`](https://youtrack.jetbrains.com/issue/KT-35566) False negative UPPER_BOUND_VIOLATED in a supertype of an inner class - [`KT-60248`](https://youtrack.jetbrains.com/issue/KT-60248) K2: Type abbreviations are not stored in IR - [`KT-61720`](https://youtrack.jetbrains.com/issue/KT-61720) K2: Delegates: Property type not specialised in property reference of setter - [`KT-59251`](https://youtrack.jetbrains.com/issue/KT-59251) KMP/JS: forbid matching actual callable with dynamic return type to expect callable with non-dynamic return type - [`KT-61510`](https://youtrack.jetbrains.com/issue/KT-61510) K2: internal declarations are invisible in cyclically dependent modules - [`KT-54890`](https://youtrack.jetbrains.com/issue/KT-54890) FIR: fix resolve contract violations in FIR - [`KT-60048`](https://youtrack.jetbrains.com/issue/KT-60048) K2: Introduced MISSING_EXCEPTION_IN_THROWS_ON_SUSPEND - [`KT-59425`](https://youtrack.jetbrains.com/issue/KT-59425) K2: Missing JS_FAKE_NAME_CLASH - [`KT-59529`](https://youtrack.jetbrains.com/issue/KT-59529) K2: "property delegate must have" caused by class hierarchy - [`KT-55471`](https://youtrack.jetbrains.com/issue/KT-55471) K2. Unresolved reference for nested type is shown instead of outer class - [`KT-58896`](https://youtrack.jetbrains.com/issue/KT-58896) K2: Higher priority expect overload candidates in common code lose in overload resolution to non-expects - [`KT-60780`](https://youtrack.jetbrains.com/issue/KT-60780) K2: missing PRE_RELEASE_CLASS - [`KT-59855`](https://youtrack.jetbrains.com/issue/KT-59855) K2: Replace FirExpression.typeRef with coneType - [`KT-53565`](https://youtrack.jetbrains.com/issue/KT-53565) K2: no WRONG_ANNOTATION_TARGET on when subject - [`KT-54568`](https://youtrack.jetbrains.com/issue/KT-54568) K2: Type variables leak into implicit `it` parameter of lambdas - [`KT-60892`](https://youtrack.jetbrains.com/issue/KT-60892) K2: Implement diagnostics around `@OptionalExpectation` - [`KT-60917`](https://youtrack.jetbrains.com/issue/KT-60917) K2: "Unresolved reference" for operator for array value - [`KT-59367`](https://youtrack.jetbrains.com/issue/KT-59367) K2: Missing MIXING_SUSPEND_AND_NON_SUSPEND_SUPERTYPES - [`KT-60268`](https://youtrack.jetbrains.com/issue/KT-60268) K2: lazy annotation classes have wrong modality - [`KT-60536`](https://youtrack.jetbrains.com/issue/KT-60536) K2: FIR2IR Crash when resolving to companion of internal class with Suppress("INVISIBLE_REFERENCE") - [`KT-60292`](https://youtrack.jetbrains.com/issue/KT-60292) K2: annotations on local delegated properties are lost - [`KT-59422`](https://youtrack.jetbrains.com/issue/KT-59422) K2: Missing NON_SOURCE_ANNOTATION_ON_INLINED_LAMBDA_EXPRESSION - [`KT-61407`](https://youtrack.jetbrains.com/issue/KT-61407) K2: java.lang.IllegalArgumentException: Stability for initialized variable always should be computable - [`KT-59186`](https://youtrack.jetbrains.com/issue/KT-59186) K2: False negative CONFLICTING_OVERLOADS in nested functions - [`KT-54390`](https://youtrack.jetbrains.com/issue/KT-54390) K2: ClassId for local classes do not match with specification - [`KT-61277`](https://youtrack.jetbrains.com/issue/KT-61277) K2: Expand the MIXING_SUSPEND_AND_NON_SUSPEND_SUPERTYPES check to other function kinds - [`KT-61548`](https://youtrack.jetbrains.com/issue/KT-61548) Compiler crashes with StackOverflowError when mapping types - [`KT-56757`](https://youtrack.jetbrains.com/issue/KT-56757) Drop `IGNORE_BACKEND_K2_LIGHT_TREE` directive - [`KT-61330`](https://youtrack.jetbrains.com/issue/KT-61330) K2: No BinarySourceElement for system libraries - [`KT-61166`](https://youtrack.jetbrains.com/issue/KT-61166) Inherited platform declaration clash & accidental override - [`KT-58764`](https://youtrack.jetbrains.com/issue/KT-58764) \[K2] Make `FirResolvedDeclarationStatus.modality` not nullable - [`KT-61576`](https://youtrack.jetbrains.com/issue/KT-61576) \[FIR] Private type alias for public class constructor is always visible - [`KT-46031`](https://youtrack.jetbrains.com/issue/KT-46031) False negative SEALED_INHERITOR_IN_DIFFERENT_MODULE in bamboo HMPP hierarchy - [`KT-59804`](https://youtrack.jetbrains.com/issue/KT-59804) K2: Repeat the `SealedInheritorInSameModuleChecker` HMPP logic - [`KT-59900`](https://youtrack.jetbrains.com/issue/KT-59900) K2: Disappeared NESTED_CLASS_NOT_ALLOWED - [`KT-61067`](https://youtrack.jetbrains.com/issue/KT-61067) K2. No `Assignments are not expressions` - [`KT-61144`](https://youtrack.jetbrains.com/issue/KT-61144) FIR2IR: Fix field access for class context receiver from debugger evaluator in K2 - [`KT-59914`](https://youtrack.jetbrains.com/issue/KT-59914) K2: Disappeared RETURN_NOT_ALLOWED - [`KT-60136`](https://youtrack.jetbrains.com/issue/KT-60136) Wrong IR is generated for spread call in annotation call when annotation has a vararg parameter - [`KT-56872`](https://youtrack.jetbrains.com/issue/KT-56872) K2: not all reassignments, operator assignments, increments, decrements are tracked in DFA for try/catch expressions - [`KT-60397`](https://youtrack.jetbrains.com/issue/KT-60397) K2/MPP: don't perform enhancement twice when Java method is called from different modules - [`KT-61640`](https://youtrack.jetbrains.com/issue/KT-61640) K2: Share declarations from JvmMappedScope between sessions in MPP scenario - [`KT-59051`](https://youtrack.jetbrains.com/issue/KT-59051) "ISE: IrSimpleFunctionSymbolImpl is already bound" when implementing multiple interfaces by delegation where one of them overrides equals/hashCode - [`KT-60380`](https://youtrack.jetbrains.com/issue/KT-60380) K2: IAE: class org.jetbrains.kotlin.psi.KtLambdaArgument is not a subtype of class org.jetbrains.kotlin.psi.KtExpression for factory TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM - [`KT-60795`](https://youtrack.jetbrains.com/issue/KT-60795) K2: missing INCOMPATIBLE_CLASS and corresponding CLI error - [`KT-59650`](https://youtrack.jetbrains.com/issue/KT-59650) K2: Get rid of `FirNoReceiverExpression` - [`KT-60555`](https://youtrack.jetbrains.com/issue/KT-60555) K2. FirJavaClass source field is null - [`KT-61045`](https://youtrack.jetbrains.com/issue/KT-61045) K2: Missing return from DELEGATED_PROPERTY_ACCESSOR setter - [`KT-60636`](https://youtrack.jetbrains.com/issue/KT-60636) KMP: K2 handling of actual typealiases to nullable types - [`KT-59815`](https://youtrack.jetbrains.com/issue/KT-59815) K2: Avoid recomputing `argumentVariables` - [`KT-61409`](https://youtrack.jetbrains.com/issue/KT-61409) Kotlin/Native: crash in kmm-production-sample (compose-app) with escape analysis enabled - [`KT-61348`](https://youtrack.jetbrains.com/issue/KT-61348) K2: Refactor FIR2IR declaration storages - [`KT-54905`](https://youtrack.jetbrains.com/issue/KT-54905) KLIB check on compiled with pre-release version - [`KT-61249`](https://youtrack.jetbrains.com/issue/KT-61249) Move fir-related code from backend.native module - [`KT-59478`](https://youtrack.jetbrains.com/issue/KT-59478) K2: StackOverflowError on invalid code with nullable unresolved - [`KT-59893`](https://youtrack.jetbrains.com/issue/KT-59893) K2: Disappeared WRONG_NUMBER_OF_TYPE_ARGUMENTS - [`KT-60450`](https://youtrack.jetbrains.com/issue/KT-60450) K2: IOOBE from analyzeAndGetLambdaReturnArguments - [`KT-57076`](https://youtrack.jetbrains.com/issue/KT-57076) K2 does not report 'More than one overridden descriptor declares a default value' - [`KT-55672`](https://youtrack.jetbrains.com/issue/KT-55672) K2. Operator name message instead of "Unresolved reference" when operator isn't defined for type - [`KT-61454`](https://youtrack.jetbrains.com/issue/KT-61454) K1: False positive WRONG_NUMBER_OF_TYPE_ARGUMENTS when typealias is LHS of class literal - [`KT-60252`](https://youtrack.jetbrains.com/issue/KT-60252) K2: Supertype argument is not substituted in fake override receivers and value parameters - [`KT-60687`](https://youtrack.jetbrains.com/issue/KT-60687) K2: Introduced UNEXPECTED_SAFE_CALL - [`KT-61312`](https://youtrack.jetbrains.com/issue/KT-61312) K2: Remove FirExpression.typeRef completely when Compose was migrated - [`KT-60602`](https://youtrack.jetbrains.com/issue/KT-60602) Fix scripting tests in 2.0 branch - [`KT-60771`](https://youtrack.jetbrains.com/issue/KT-60771) K2: "Conflicting declarations". Unable to re-declare variable if the first one comes from a destructured element - [`KT-60760`](https://youtrack.jetbrains.com/issue/KT-60760) K2: Every FirFunctionCall has an implicit type reference which points to the return type declaration - [`KT-59944`](https://youtrack.jetbrains.com/issue/KT-59944) K2: Disappeared NON_MEMBER_FUNCTION_NO_BODY - [`KT-60936`](https://youtrack.jetbrains.com/issue/KT-60936) KMP: check annotations compatibility on members inside expect and actual class scopes - [`KT-60668`](https://youtrack.jetbrains.com/issue/KT-60668) KMP: check expect and actual annotations match when actual method is fake override - [`KT-60250`](https://youtrack.jetbrains.com/issue/KT-60250) K2: origin is set too many times for elvis operator - [`KT-60254`](https://youtrack.jetbrains.com/issue/KT-60254) K2: Extra unset type argument on Java field reference - [`KT-60245`](https://youtrack.jetbrains.com/issue/KT-60245) K2: Extra return is generated in always throwing function - [`KT-59407`](https://youtrack.jetbrains.com/issue/KT-59407) K2: Missing MISSING_CONSTRUCTOR_KEYWORD - [`KT-57681`](https://youtrack.jetbrains.com/issue/KT-57681) Request review for all FIR diagnostic messages - [`KT-60885`](https://youtrack.jetbrains.com/issue/KT-60885) K2: Fix `testSelfUpperBoundInference` test in LV 2.0 branch - [`KT-59957`](https://youtrack.jetbrains.com/issue/KT-59957) K2: Missing UNSUPPORTED_SEALED_FUN_INTERFACE - [`KT-60000`](https://youtrack.jetbrains.com/issue/KT-60000) K2: Missing UNSUPPORTED_INHERITANCE_FROM_JAVA_MEMBER_REFERENCING_KOTLIN_FUNCTION - [`KT-60886`](https://youtrack.jetbrains.com/issue/KT-60886) K2: Fix `testDirectoryWithRelativePath` in LV 2.0 branch - [`KT-59419`](https://youtrack.jetbrains.com/issue/KT-59419) K2: Missing MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES_WHEN_NO_EXPLICIT_OVERRIDE - [`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-60297`](https://youtrack.jetbrains.com/issue/KT-60297) K2: finally block is not coerced to unit - [`KT-59860`](https://youtrack.jetbrains.com/issue/KT-59860) \[FIR] False-positive `UNEXPECTED_SAFE_CALL` - [`KT-46794`](https://youtrack.jetbrains.com/issue/KT-46794) Contract not working with extension function in class - [`KT-59101`](https://youtrack.jetbrains.com/issue/KT-59101) Contract not smartcasting for private extension functions inside class - [`KT-59387`](https://youtrack.jetbrains.com/issue/KT-59387) K2: Missing NO_CONSTRUCTOR - [`KT-22499`](https://youtrack.jetbrains.com/issue/KT-22499) Missing error on 'x == y' for different numeric types inferred from smart casts - [`KT-56867`](https://youtrack.jetbrains.com/issue/KT-56867) Green in K1 -> red in K2 for unsound code. `catch_end` to `good_finally` data flow - [`KT-57526`](https://youtrack.jetbrains.com/issue/KT-57526) K1: "NullPointerException: Cannot invoke "com.intellij.psi.PsiElement.getParent()" because "current" is null" with label - [`KT-46383`](https://youtrack.jetbrains.com/issue/KT-46383) EQUALITY_NOT_APPLICABLE is not taking smart cast into consideration in `if` block - [`KT-32575`](https://youtrack.jetbrains.com/issue/KT-32575) Bound smartcasts in contracts - [`KT-58331`](https://youtrack.jetbrains.com/issue/KT-58331) Erroneous suspend conversion on anonymous function should not affect call resolution - [`KT-37591`](https://youtrack.jetbrains.com/issue/KT-37591) Deprecate cases in FE 1.0 when companion property is prioritized against enum entry - [`KT-53210`](https://youtrack.jetbrains.com/issue/KT-53210) OVERLOAD_RESOLUTION_AMBIGUITY when lambda with single argument `it` is involved - [`KT-51796`](https://youtrack.jetbrains.com/issue/KT-51796) False positive smart cast after safe call to contract function with nullable receiver - [`KT-52782`](https://youtrack.jetbrains.com/issue/KT-52782) Receiver type mismatch error due to ProperTypeInferenceConstraintsProcessing compiler feature - [`KT-57308`](https://youtrack.jetbrains.com/issue/KT-57308) Incorrect property type inference after contracted smart cast of generic type - [`KT-18130`](https://youtrack.jetbrains.com/issue/KT-18130) Smart cast can be broken by expression in string template - [`KT-21915`](https://youtrack.jetbrains.com/issue/KT-21915) Generic parameter of a reference gets wrongly smart-casted after a cast - [`KT-22454`](https://youtrack.jetbrains.com/issue/KT-22454) Unsound smartcast in nested loops with labeled break from while-true - [`KT-17694`](https://youtrack.jetbrains.com/issue/KT-17694) Smart cast impossible on var declared in init block with a secondary constructor - [`KT-47895`](https://youtrack.jetbrains.com/issue/KT-47895) NullPointerException in `PSICallResolver.resolveToDeprecatedMod` with incorrect loop range - [`KT-47378`](https://youtrack.jetbrains.com/issue/KT-47378) Missed FUNCTION_CALL_EXPECTED diagnostic on wrong code with callable reference - [`KT-43408`](https://youtrack.jetbrains.com/issue/KT-43408) False positive CAPTURED_VAL_INITIALIZATION on crossinline val property initialization with EXACTLY_ONCE lambda call from the init block - [`KT-35565`](https://youtrack.jetbrains.com/issue/KT-35565) False negative UNINITIALIZED_VARIABLE, VAL_REASSIGNMENT, and INVISIBLE_SETTER errors in unreachable code block - [`KT-10420`](https://youtrack.jetbrains.com/issue/KT-10420) Shadowed variable declaration in inner function makes compiler behave strange - [`KT-49881`](https://youtrack.jetbrains.com/issue/KT-49881) "AssertionError: Base expression was not processed: POSTFIX_EXPRESSION" when analyzing dangling \[bracketed] expression with postfix - [`KT-53847`](https://youtrack.jetbrains.com/issue/KT-53847) Missed USAGE_IS_NOT_INLINABLE when using runCatching with the inline function's functional argument as a receiver - [`KT-53802`](https://youtrack.jetbrains.com/issue/KT-53802) No smartcast after a while (true) infinite loop with break - [`KT-27754`](https://youtrack.jetbrains.com/issue/KT-27754) Stack Overflow Error in pseudocode analysis - [`KT-41131`](https://youtrack.jetbrains.com/issue/KT-41131) Error: java.lang.AssertionError: Rewrite at slice LEAKING_THIS when invoking non final constructor property in init block - [`KT-42962`](https://youtrack.jetbrains.com/issue/KT-42962) False positive "ACCIDENTAL_OVERRIDE" when field name annotated with `@JvmField` conflicts with getter/setter from Java - [`KT-49507`](https://youtrack.jetbrains.com/issue/KT-49507) JVM: "IllegalAccessError: class X tried to access private field" with same-named Kotlin property and Java base class field - [`KT-35752`](https://youtrack.jetbrains.com/issue/KT-35752) "AE: Recursion detected in a lazy value" with type alias and inner class from another module - [`KT-28333`](https://youtrack.jetbrains.com/issue/KT-28333) Smartcast is wrong if while(true) and break as a part of expression is used (possible NPE) - [`KT-28489`](https://youtrack.jetbrains.com/issue/KT-28489) Smartcast is wrong if not-null assertion in while condition + break to the parent while is used (produces NPE) - [`KT-28369`](https://youtrack.jetbrains.com/issue/KT-28369) Var not-null smartcasts are wrong if reassignments are used inside another expressions - [`KT-26612`](https://youtrack.jetbrains.com/issue/KT-26612) Smartcast don't work in not-null checks + NotNull contract - [`KT-7676`](https://youtrack.jetbrains.com/issue/KT-7676) Redundant cast of var is not redundant? - [`KT-51984`](https://youtrack.jetbrains.com/issue/KT-51984) Cannot use `x == null` when Java class X declares equals(`@NonNull`) - [`KT-56249`](https://youtrack.jetbrains.com/issue/KT-56249) No method equals for HttpMethod in Spring Boot 3 - [`KT-56264`](https://youtrack.jetbrains.com/issue/KT-56264) incorrect type inference/smart cast for exhaustive try catch - [`KT-24565`](https://youtrack.jetbrains.com/issue/KT-24565) Incorrect floating point comparisons in constant expressions - [`KT-54333`](https://youtrack.jetbrains.com/issue/KT-54333) False positive CONST_VAL_WITH_NON_CONST_INITIALIZER on negative literals in const vals - [`KT-53447`](https://youtrack.jetbrains.com/issue/KT-53447) Leaking/unrefined types from main source set when main/test use different library versions - [`KT-35981`](https://youtrack.jetbrains.com/issue/KT-35981) No smart cast and UNSAFE_CALL error when using not() function instead of inverse operator - [`KT-33132`](https://youtrack.jetbrains.com/issue/KT-33132) Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclass - [`KT-55335`](https://youtrack.jetbrains.com/issue/KT-55335) Don't report SUPERTYPE_NOT_INITIALIZED for annotation supertype, because FINAL_SUPERTYPE is already reported - [`KT-27936`](https://youtrack.jetbrains.com/issue/KT-27936) Write InnerClasses attribute for all class names used in a class file - [`KT-53261`](https://youtrack.jetbrains.com/issue/KT-53261) Evaluate effect from <T-unbox> inline for primitive types - [`KT-31367`](https://youtrack.jetbrains.com/issue/KT-31367) IllegalStateException: Concrete fake override public open fun (...) defined in TheIssue\[PropertyGetterDescriptorImpl`@1a03c376`] should have exactly one concrete super-declaration: \[] ##### Compose Compiler ##### New features - [13b27eb](https://github.com/JetBrains/kotlin/commit/13b27eb8120c67bc0f52bccd451103ea6fed36b6) Strong skipping is no longer considered experimental and is safe for use in production. It will become the default behavior in an upcoming release. ##### Bug fixes - [868d0ac](https://github.com/JetBrains/kotlin/commit/868d0acf6bd5e550ae84428a6b62f9f6e1c2c633) Ensure that inline body is realized when source information is off [b/338179884](https://issuetracker.google.com/issue/338179884) - [8a6f64a](https://github.com/JetBrains/kotlin/commit/8a6f64aad528983fc937df9075a3a120c770a67b) Generate binary compat stubs for nullable value classes [b/335384193](https://issuetracker.google.com/issue/335384193) - [154d479](https://github.com/JetBrains/kotlin/commit/154d47964f1d9b569eb38f9458d890dc9cabd04f) Make sure a composable call does not escape composable lambda [b/331365999](https://issuetracker.google.com/issue/331365999) - [53f4f37](https://github.com/JetBrains/kotlin/commit/53f4f37287b5845ffb440b41b833386440482258) Make parameter types for inline classes nullable when underlying type is not primitive [b/330655412](https://issuetracker.google.com/issue/330655412) ##### Docs & Examples ##### New Features - [`KT-66958`](https://youtrack.jetbrains.com/issue/KT-66958) \[Docs]\[JVM] Add info about generating lambda functions like the Java compiler by default ##### Fixes - [`KT-63618`](https://youtrack.jetbrains.com/issue/KT-63618) \[Docs] Create documentation for Kotlin power-assert compiler plugin - [`KT-67902`](https://youtrack.jetbrains.com/issue/KT-67902) \[Docs]\[Wasm] K/Wasm: support new version of exception handling proposal - [`KT-67944`](https://youtrack.jetbrains.com/issue/KT-67944) \[Docs]\[K2]\[IDE] Update IDE support description for K2 - [`KT-67865`](https://youtrack.jetbrains.com/issue/KT-67865) \[Docs]\[K2] update Kotlin Release Page - [`KT-66957`](https://youtrack.jetbrains.com/issue/KT-66957) \[Docs] \[Gradle] Build reports are Stable - [`KT-67936`](https://youtrack.jetbrains.com/issue/KT-67936) \[Docs]\[Build tools] Update KGP variants - [`KT-67508`](https://youtrack.jetbrains.com/issue/KT-67508) \[Docs] Talk about the new Compose Gradle plugin - [`KT-67347`](https://youtrack.jetbrains.com/issue/KT-67347) Remove docs on dropped K/JS feature "Ignoring compilation errors" - [`KT-64710`](https://youtrack.jetbrains.com/issue/KT-64710) \[Docs] Update What's new for 2.0.0-BetaX - [`KT-63001`](https://youtrack.jetbrains.com/issue/KT-63001) K2: Organize team-wide talks about new FIR2IR & PCLA - [`KT-6259`](https://youtrack.jetbrains.com/issue/KT-6259) Docs: add information about default constructor for class ##### IDE - [`KT-50241`](https://youtrack.jetbrains.com/issue/KT-50241) Make Symbol Light Classes consistent with Ultra Light Classes - [`KT-60318`](https://youtrack.jetbrains.com/issue/KT-60318) K2: disable SLC for non-JVM platforms - [`KT-56546`](https://youtrack.jetbrains.com/issue/KT-56546) LL FIR: fix lazy resolve contract violation in Symbol Light Classes - [`KT-55788`](https://youtrack.jetbrains.com/issue/KT-55788) \[SLC] Declarations with value classes are leaked into light classes - [`KT-61195`](https://youtrack.jetbrains.com/issue/KT-61195) UAST modeling of implicit `it` is inconsistent for `Enum.entries` - [`KT-62757`](https://youtrack.jetbrains.com/issue/KT-62757) SLC: incorrect nullability annotation on aliased type - [`KT-62440`](https://youtrack.jetbrains.com/issue/KT-62440) On the fly resolve with light method context doesn't resolve method type parameters - [`KT-57550`](https://youtrack.jetbrains.com/issue/KT-57550) K2: AA: incorrect constant value in file-level annotation - [`KT-61460`](https://youtrack.jetbrains.com/issue/KT-61460) SLC: unnecessary upper bound wildcards (w/ type alias) - [`KT-61377`](https://youtrack.jetbrains.com/issue/KT-61377) K2: SLC: wrong retention counterpart for AnnotationRetention.BINARY ##### IDE. Gradle Integration - [`KT-65617`](https://youtrack.jetbrains.com/issue/KT-65617) K/N project import fails if ~/.konan dir is empty - [`KT-45775`](https://youtrack.jetbrains.com/issue/KT-45775) Improve quality of Import ##### IDE. JS - [`KT-61257`](https://youtrack.jetbrains.com/issue/KT-61257) Analysis API:"KotlinIllegalArgumentExceptionWithAttachments: Invalid FirDeclarationOrigin DynamicScope" exception on unsupported JS dynamic usage in scope ##### IDE. Multiplatform - [`KT-45513`](https://youtrack.jetbrains.com/issue/KT-45513) Run c-interop generation in parallel during project import - [`KT-63007`](https://youtrack.jetbrains.com/issue/KT-63007) K2: Analysis API Standalone: klibs are not resovled from common code - [`KT-63126`](https://youtrack.jetbrains.com/issue/KT-63126) K2: Analysis API Standalone: IllegalStateException from Kotlin/Native klib - [`KT-61520`](https://youtrack.jetbrains.com/issue/KT-61520) Sources.jar is not imported for common and intermediate source-sets from the MPP library ##### IDE. Script - [`KT-61267`](https://youtrack.jetbrains.com/issue/KT-61267) K2 Scripts: dependency issues - [`KT-60418`](https://youtrack.jetbrains.com/issue/KT-60418) K2 scripting: highlighting sometimes fails - [`KT-60987`](https://youtrack.jetbrains.com/issue/KT-60987) K2: Analysis API: make build.gradle.kts resolution work on build scripts from kotlin projects ##### IR. Actualizer ##### Fixes - [`KT-67488`](https://youtrack.jetbrains.com/issue/KT-67488) K2: AssertionError No such value argument slot in IrConstructorCallImpl: 0 (total=0 - [`KT-60847`](https://youtrack.jetbrains.com/issue/KT-60847) K2: Fake overrides are incorrect after actualization - [`KT-65274`](https://youtrack.jetbrains.com/issue/KT-65274) IrFakeOverrideBuilder: ISE: "IrFieldPublicSymbolImpl is already bound" - [`KT-63756`](https://youtrack.jetbrains.com/issue/KT-63756) K2: "AssertionError: No such value argument slot in IrConstructorCallImpl" caused by actual typealias for annotation with default parameter - [`KT-65236`](https://youtrack.jetbrains.com/issue/KT-65236) IrFakeOverrideBuilder: ISE: "should not be called" - [`KT-65116`](https://youtrack.jetbrains.com/issue/KT-65116) K2: IrFakeOverrideBuilder: "No override for FUN" if the function has already been overridden by another class in K <- J<- K <- J hierarchy - [`KT-65499`](https://youtrack.jetbrains.com/issue/KT-65499) IrFakeOverrideBuilder: ISE IrSimpleFunctionPublicSymbolImpl is already bound for irrelevant 'remove' clashing with a function from Java collection subclass - [`KT-64150`](https://youtrack.jetbrains.com/issue/KT-64150) IrFakeOverrideBuilder: Fake overrides for static java functions are not generated - [`KT-65432`](https://youtrack.jetbrains.com/issue/KT-65432) IrFakeOverrideBuilder - No override for FUN IR_EXTERNAL_JAVA_DECLARATION_STUB name:elementData - [`KT-64895`](https://youtrack.jetbrains.com/issue/KT-64895) K2:IrActualizer corrupts attributeOwnerId value - [`KT-58861`](https://youtrack.jetbrains.com/issue/KT-58861) K2: Improve the new pipeline of FIR2IR conversion, IR actualization and fake-override generation - [`KT-64835`](https://youtrack.jetbrains.com/issue/KT-64835) K2: K/JS: Expect declaration is incompatible errors in the K2 QG - [`KT-63347`](https://youtrack.jetbrains.com/issue/KT-63347) K2: Fix overridden symbols inside LazyDeclarations - [`KT-62535`](https://youtrack.jetbrains.com/issue/KT-62535) K2: FakeOverrideRebuilder can't handle f/o without overridden symbols - [`KT-62292`](https://youtrack.jetbrains.com/issue/KT-62292) K2: Extract IrActualizer into separate module - [`KT-63442`](https://youtrack.jetbrains.com/issue/KT-63442) IrFakeOverrideBuilder: ISE "Multiple overrides" error when function signatures differ only in the type parameter upper bound - [`KT-62623`](https://youtrack.jetbrains.com/issue/KT-62623) K2: Ir actualizer leaves inconsistent module links from files ##### IR. Inlining - [`KT-66017`](https://youtrack.jetbrains.com/issue/KT-66017) K2 / Native: "NoSuchElementException: Sequence contains no element matching the predicate" on building native release binaries - [`KT-64868`](https://youtrack.jetbrains.com/issue/KT-64868) \[K/N] Inlined assert is later not removed, even without `-ea` - [`KT-64807`](https://youtrack.jetbrains.com/issue/KT-64807) Refactor InlineFunctionResolver - [`KT-64806`](https://youtrack.jetbrains.com/issue/KT-64806) Move FunctionInlining to separate module ##### IR. Interpreter - [`KT-64079`](https://youtrack.jetbrains.com/issue/KT-64079) Native library evolution behaviour for constants - [`KT-62683`](https://youtrack.jetbrains.com/issue/KT-62683) K2: FIR2IR: IrConst\*Transformer doesn't evaluate an expression for const val initializer ##### IR. Tree - [`KT-66152`](https://youtrack.jetbrains.com/issue/KT-66152) IrFakeOverrideBuilder: AssertionError "different length of type parameter lists" - [`KT-65971`](https://youtrack.jetbrains.com/issue/KT-65971) K2: Investigate diagnostic test failures with IrFakeOverrideBuilder - [`KT-64974`](https://youtrack.jetbrains.com/issue/KT-64974) Consolidate visibility checks in IrFakeOverrideBuilder - [`KT-61360`](https://youtrack.jetbrains.com/issue/KT-61360) Fix essential problems in IrFakeOverrideBuilder - [`KT-61970`](https://youtrack.jetbrains.com/issue/KT-61970) Refactor IR and FIR tree generators to reuse common logic - [`KT-61703`](https://youtrack.jetbrains.com/issue/KT-61703) Drop the dependency on kotlinpoet for IR tree generation - [`KT-63437`](https://youtrack.jetbrains.com/issue/KT-63437) IrFakeOverrideBuilder: ISE "Captured Type does not have a classifier" on complex Java hierarchy - [`KT-61934`](https://youtrack.jetbrains.com/issue/KT-61934) Decouple building fake overrides from symbol table and build scheduling - [`KT-60923`](https://youtrack.jetbrains.com/issue/KT-60923) IR: Mark IrSymbol.owner with OptIn ##### JavaScript ##### New Features - [`KT-56206`](https://youtrack.jetbrains.com/issue/KT-56206) KJS / Reflection: add KClass.createInstance - [`KT-44871`](https://youtrack.jetbrains.com/issue/KT-44871) Add `@JsExport` and `@JsName` annotations to stdlib classes (especially collections) to avoid method name mangling and improve Kotlin usability from JS - [`KT-8373`](https://youtrack.jetbrains.com/issue/KT-8373) JS: support ES6 as compilation target - [`KT-65168`](https://youtrack.jetbrains.com/issue/KT-65168) Introduce an ability to create type-safe JS objects - [`KT-45604`](https://youtrack.jetbrains.com/issue/KT-45604) KJS / IR: Use `globalThis` instead of top level `this` ##### Fixes - [`KT-66922`](https://youtrack.jetbrains.com/issue/KT-66922) K2 JS: Intrinsic Float/Double toString producing wrong numbers - [`KT-64135`](https://youtrack.jetbrains.com/issue/KT-64135) K2 / KJS: Incorrect value class support when used with inline fun - [`KT-67978`](https://youtrack.jetbrains.com/issue/KT-67978) K2: Declaration of such kind (expect) cannot be exported to JavaScript - [`KT-64951`](https://youtrack.jetbrains.com/issue/KT-64951) Kotlin-Multiplatform does not allow JSExport of expect - [`KT-63038`](https://youtrack.jetbrains.com/issue/KT-63038) Compilation of suspend functions into ES2015 generators - [`KT-16981`](https://youtrack.jetbrains.com/issue/KT-16981) js: Command line arguments passed to `main()` are always empty - [`KT-34995`](https://youtrack.jetbrains.com/issue/KT-34995) JS: List, Map, and Set types are hard to use from JS because of mangled member names - [`KT-51225`](https://youtrack.jetbrains.com/issue/KT-51225) JS IR & Wasm: using nested expect enum entry in a default argument fails - [`KT-63907`](https://youtrack.jetbrains.com/issue/KT-63907) KJS: default parameters in interfaces are lost in implementations - [`KT-64708`](https://youtrack.jetbrains.com/issue/KT-64708) KJS: exported interfaces missing \__doNotUseOrImplementIt when extending from external types - [`KT-62806`](https://youtrack.jetbrains.com/issue/KT-62806) KJS: Type mismatch on inferred return type with Nothing - [`KT-64421`](https://youtrack.jetbrains.com/issue/KT-64421) K2: Implement IrJsTypeScriptExportTestGenerated for K2 - [`KT-61526`](https://youtrack.jetbrains.com/issue/KT-61526) KJS: Compiled files clash with the new per-file granularity - [`KT-63359`](https://youtrack.jetbrains.com/issue/KT-63359) K2: support new ways to declare TestResult in JS TestGenerator lowering - [`KT-61929`](https://youtrack.jetbrains.com/issue/KT-61929) KJS: "IllegalStateException: No dispatch receiver parameter for FUN LOCAL_FUNCTION_FOR_LAMBDA" caused by `run` function in init block - [`KT-65216`](https://youtrack.jetbrains.com/issue/KT-65216) K2 JS: False positive JS_NAME_CLASH diagnostic on generic interface - [`KT-64548`](https://youtrack.jetbrains.com/issue/KT-64548) KJS / K2: "Cannot find delegated constructor call" caused by external classes constructors - [`KT-64867`](https://youtrack.jetbrains.com/issue/KT-64867) K2 JS: Name clash between constructors with same JsName but in different classes - [`KT-64463`](https://youtrack.jetbrains.com/issue/KT-64463) KJS / K2: "Name contains illegal chars that cannot appear in JavaScript identifier" caused by non-ASCII character - [`KT-64451`](https://youtrack.jetbrains.com/issue/KT-64451) K2: Implement MultiModuleOrderTestGenerated for K2 - [`KT-64450`](https://youtrack.jetbrains.com/issue/KT-64450) K2: Implement SourceMapGenerationSmokeTestGenerated for K2 - [`KT-64366`](https://youtrack.jetbrains.com/issue/KT-64366) KJS / K2: Exported declaration uses non-exportable return type: 'kotlin.<X>?' - [`KT-64426`](https://youtrack.jetbrains.com/issue/KT-64426) K2: Implement JsIrLineNumberTestGenerated for K2 - [`KT-64422`](https://youtrack.jetbrains.com/issue/KT-64422) K2: Implement IrJsSteppingTestGenerated for K2 - [`KT-64364`](https://youtrack.jetbrains.com/issue/KT-64364) K2 / KJS: `@JSExports` generates clashing declarations for companion objects that extends its own class - [`KT-64445`](https://youtrack.jetbrains.com/issue/KT-64445) K2: Implement \*\*VersionChangedTestGenerated for K2 - [`KT-64446`](https://youtrack.jetbrains.com/issue/KT-64446) K2: Implement JsIrInvalidationPerFileWithPLTestGenerated for K2 - [`KT-64423`](https://youtrack.jetbrains.com/issue/KT-64423) K2: Implement JsIrES6InvalidationPerFileTestGenerated for K2 - [`KT-63543`](https://youtrack.jetbrains.com/issue/KT-63543) KJS / K2: Exported declaration uses non-exportable return type type: 'kotlin.Unit' - [`KT-61596`](https://youtrack.jetbrains.com/issue/KT-61596) K2 JS: support reporting PRE_RELEASE_CLASS - [`KT-61117`](https://youtrack.jetbrains.com/issue/KT-61117) Migrate remaining legacy IC tests to IR - [`KT-61523`](https://youtrack.jetbrains.com/issue/KT-61523) KJS: Call main function in per-file mode - [`KT-63089`](https://youtrack.jetbrains.com/issue/KT-63089) KJS / K2 : "IllegalArgumentException: source must not be null " for inner class and interface as type - [`KT-56818`](https://youtrack.jetbrains.com/issue/KT-56818) KJS: "TypeError: Class constructor \* cannot be invoked without 'new'" when extending external class - [`KT-62077`](https://youtrack.jetbrains.com/issue/KT-62077) KJS: TypeError: str.charCodeAt is not a function - [`KT-63436`](https://youtrack.jetbrains.com/issue/KT-63436) K/JS: Eliminate names for synthetic classes in setMetadataFor() - [`KT-63013`](https://youtrack.jetbrains.com/issue/KT-63013) KJS: `requireNotNull` not working correctly in JS tests with Kotlin 1.9.20 - [`KT-61525`](https://youtrack.jetbrains.com/issue/KT-61525) KJS: Test functions are not invoked in per-file mode - [`KT-62425`](https://youtrack.jetbrains.com/issue/KT-62425) K/JS: Implement K2 and K1 diagnostics for checking argument passing to js() - [`KT-61524`](https://youtrack.jetbrains.com/issue/KT-61524) KJS: Eager initialization doesn't work in per-file mode - [`KT-61862`](https://youtrack.jetbrains.com/issue/KT-61862) KJS: Can't create kotlin.js.Promise inheritor - [`KT-61710`](https://youtrack.jetbrains.com/issue/KT-61710) K/JS: Implement JS_NAME_CLASH check for top level declarations - [`KT-61886`](https://youtrack.jetbrains.com/issue/KT-61886) K/JS: Prepare K/JS tests for JS IR BE diagnostics - [`KT-60829`](https://youtrack.jetbrains.com/issue/KT-60829) Fix JS Incremental tests in 2.0 branch - [`KT-60635`](https://youtrack.jetbrains.com/issue/KT-60635) K/JS: Class internal methods may clash with child methods from other module that have the same name - [`KT-60846`](https://youtrack.jetbrains.com/issue/KT-60846) Fix `IncrementalJsKlibCompilerWithScopeExpansionRunnerTestGenerated` test in 2.0 branch ##### KMM Plugin - [`KT-59270`](https://youtrack.jetbrains.com/issue/KT-59270) Update wizards in KMM AS plugin after 1.9.20 release - [`KT-60169`](https://youtrack.jetbrains.com/issue/KT-60169) Generate gradle version catalog in KMM AS plugin - [`KT-59269`](https://youtrack.jetbrains.com/issue/KT-59269) Update wizards in KMM AS plugin after 1.9.0 release ##### Klibs ##### New Features - [`KT-66367`](https://youtrack.jetbrains.com/issue/KT-66367) KLib ABI dump: support wasm_target manifest attribute - [`KT-65442`](https://youtrack.jetbrains.com/issue/KT-65442) \[klibs] header klibs: keep internal declarations and declarations inside inlines - [`KT-62213`](https://youtrack.jetbrains.com/issue/KT-62213) \[klibs] header klibs should keep private interfaces - [`KT-62259`](https://youtrack.jetbrains.com/issue/KT-62259) KLIB ABI reader: add information about a backing field to AbiProperty - [`KT-62341`](https://youtrack.jetbrains.com/issue/KT-62341) \[KLIB tool] Dump declared & imported signatures by IR (not metadata) - [`KT-60807`](https://youtrack.jetbrains.com/issue/KT-60807) \[klib] Add an option to write out header klibs ##### Fixes - [`KT-67401`](https://youtrack.jetbrains.com/issue/KT-67401) KLib ABI dump: write plain targets in the manifest - [`KT-66970`](https://youtrack.jetbrains.com/issue/KT-66970) K2: "IrLinkageError: Function \* can not be called" when calling `@JvmStatic` functions in Native test - [`KT-64440`](https://youtrack.jetbrains.com/issue/KT-64440) K2: Port KotlinKlibSerializerTest to K2 - [`KT-66921`](https://youtrack.jetbrains.com/issue/KT-66921) K/JS backend doesn't report "/ by zero" and fails with const val property must have a const initializer - [`KT-66611`](https://youtrack.jetbrains.com/issue/KT-66611) Check, that no bad IR is produced, when we failed to compute constant default value in constant context - [`KT-33411`](https://youtrack.jetbrains.com/issue/KT-33411) Kotlin/Native crashes if several libraries have declarations with the same FQ name - [`KT-44626`](https://youtrack.jetbrains.com/issue/KT-44626) Umbrella issue: different kinds of klib IR linker error messages - [`KT-64452`](https://youtrack.jetbrains.com/issue/KT-64452) K2: Port FilePathsInKlibTest to K2 - [`KT-64395`](https://youtrack.jetbrains.com/issue/KT-64395) API for ABI: Add a check for the file's existence to KLIB ABI Reader - [`KT-61143`](https://youtrack.jetbrains.com/issue/KT-61143) \[klib tool] Dump IR with unbound symbols - [`KT-65723`](https://youtrack.jetbrains.com/issue/KT-65723) K2: Signature clash diagnostic fails for parametrized function with Unsupported pair of descriptors - [`KT-65063`](https://youtrack.jetbrains.com/issue/KT-65063) Clashing KLIB signatures from different modules result in an exception - [`KT-64085`](https://youtrack.jetbrains.com/issue/KT-64085) Different klib signatures for K1/K2 for overridden properties assigned in init block - [`KT-63573`](https://youtrack.jetbrains.com/issue/KT-63573) K2: Dependency problems with dependencies with same artifact id - [`KT-64082`](https://youtrack.jetbrains.com/issue/KT-64082) Different klib signatures in K1/K2 for the same locally used constant declaration - [`KT-63931`](https://youtrack.jetbrains.com/issue/KT-63931) \[K/N] Relative path to klib option of cinterop tool doesn't work - [`KT-60390`](https://youtrack.jetbrains.com/issue/KT-60390) KLIBs: Wrong IrSymbol is used for deserialized `expect` property's backing field & accessors - [`KT-61136`](https://youtrack.jetbrains.com/issue/KT-61136) Drop ExpectActualTable + clean-up the relevant code - [`KT-61767`](https://youtrack.jetbrains.com/issue/KT-61767) \[K/N] Header klibs should keep private underlying properties of value classes - [`KT-61097`](https://youtrack.jetbrains.com/issue/KT-61097) \[PL] Don't create an executable if there were errors in PL ##### Language Design ##### New Features - [`KT-64510`](https://youtrack.jetbrains.com/issue/KT-64510) Proceed to next tower level if property setter is invisible in assignment - [`KT-59553`](https://youtrack.jetbrains.com/issue/KT-59553) K2: Simplify rules for upper bound violated checks for qualifier in LHS of class literal - [`KT-11272`](https://youtrack.jetbrains.com/issue/KT-11272) Resolve combined index-accessed get and set operators - [`KT-65682`](https://youtrack.jetbrains.com/issue/KT-65682) Deprecate `header`/`impl` keywords - [`KT-65965`](https://youtrack.jetbrains.com/issue/KT-65965) KMP: Parameter properties in constructor of external class - [`KT-57274`](https://youtrack.jetbrains.com/issue/KT-57274) Allow generic argument to have explicit `Nothing` upper bound - [`KT-1982`](https://youtrack.jetbrains.com/issue/KT-1982) Smart cast to a common supertype of subject types after `||` (OR operator) - [`KT-65964`](https://youtrack.jetbrains.com/issue/KT-65964) KMP: Private constructor in external classes - [`KT-37316`](https://youtrack.jetbrains.com/issue/KT-37316) Allow actual classifier to have more permissive visibility than visibility of expect classifier - [`KT-58616`](https://youtrack.jetbrains.com/issue/KT-58616) KMP: consider relaxing the classifier visibility matching rules - [`KT-37115`](https://youtrack.jetbrains.com/issue/KT-37115) Smart cast with boolean expressions and early return / throw statements - [`KT-7186`](https://youtrack.jetbrains.com/issue/KT-7186) Smart cast for captured variables inside changing closures of inline functions - [`KT-62138`](https://youtrack.jetbrains.com/issue/KT-62138) K1: false positive (?) NO_SET_METHOD for += resolved as a combination of Map.get and plus ##### Performance Improvements - [`KT-38101`](https://youtrack.jetbrains.com/issue/KT-38101) Exponential analysis of += calls ##### Fixes - [`KT-64187`](https://youtrack.jetbrains.com/issue/KT-64187) K2: False positive ABSTRACT_NOT_IMPLEMENTED caused by the fact that common code sees platform code of its dependencies - [`KT-57290`](https://youtrack.jetbrains.com/issue/KT-57290) Deprecate smart cast on base class property from invisible derived class if base class is from another module - [`KT-54309`](https://youtrack.jetbrains.com/issue/KT-54309) Deprecate use of a synthetic setter on a projected receiver - [`KT-61718`](https://youtrack.jetbrains.com/issue/KT-61718) Forbid unsound code with self upper bounds and captured types - [`KT-54607`](https://youtrack.jetbrains.com/issue/KT-54607) Can't use same function if having multiple instances of same subtype in same `when`-statement - [`KT-27252`](https://youtrack.jetbrains.com/issue/KT-27252) Smart cast in when on a sealed class depends on the order of "is" checks - [`KT-57178`](https://youtrack.jetbrains.com/issue/KT-57178) Change inferred type of prefix increment to return type of getter instead of return type of inc() operator - [`KT-61749`](https://youtrack.jetbrains.com/issue/KT-61749) Forbid unsound bound violation in generic inner class of generic outer class - [`KT-64342`](https://youtrack.jetbrains.com/issue/KT-64342) SAM conversion of parameter types of callable references leads to CCE - [`KT-64299`](https://youtrack.jetbrains.com/issue/KT-64299) Companion scope is ignored for resolution of annotations on companion object - [`KT-66453`](https://youtrack.jetbrains.com/issue/KT-66453) Consistently resolve operator/infix calls like function calls in presence of classifier candidate for receiver - [`KT-62923`](https://youtrack.jetbrains.com/issue/KT-62923) K2: Introduce PROJECTION_IN_IMMEDIATE_ARGUMENT_TO_SUPERTYPE for projections of outer super types of inner class - [`KT-65724`](https://youtrack.jetbrains.com/issue/KT-65724) Propagate data flow information from try block to catch and finally blocks - [`KT-65750`](https://youtrack.jetbrains.com/issue/KT-65750) Increment and plus operators that change return type must affect smart casts - [`KT-58881`](https://youtrack.jetbrains.com/issue/KT-58881) K2: Run checkers in common code against platform session - [`KT-62646`](https://youtrack.jetbrains.com/issue/KT-62646) Decide on the equality compatibility - [`KT-65775`](https://youtrack.jetbrains.com/issue/KT-65775) K2: Consider prohibiting actual typealias to superclass - [`KT-65881`](https://youtrack.jetbrains.com/issue/KT-65881) K2: Missing `ITERATOR_MISSING` in `for` loop on object - [`KT-61340`](https://youtrack.jetbrains.com/issue/KT-61340) K2: Allowed smart cast in common which should be prohibited in platform - [`KT-51827`](https://youtrack.jetbrains.com/issue/KT-51827) Inconsistent behavior with smartcast and protected members - [`KT-58589`](https://youtrack.jetbrains.com/issue/KT-58589) Deprecate missed MUST_BE_INITIALIZED when no primary constructor is presented or when class is local - [`KT-26983`](https://youtrack.jetbrains.com/issue/KT-26983) Gradle buildscript (kotlin-dsl): "Smart cast to 'Foo' is impossible" due to same variable names - [`KT-62959`](https://youtrack.jetbrains.com/issue/KT-62959) Value of captured type is not a subtype of the same captured type - [`KT-64828`](https://youtrack.jetbrains.com/issue/KT-64828) Update KEEP for SubclassOptInRequired - [`KT-64739`](https://youtrack.jetbrains.com/issue/KT-64739) Mark `@SubclassOptInRequired` as an experimental - [`KT-26044`](https://youtrack.jetbrains.com/issue/KT-26044) When expression is not considered to be exhaustive for empty nullable sealed and enum classes - [`KT-57422`](https://youtrack.jetbrains.com/issue/KT-57422) K2: Prohibit use-site 'get' targeted annotations on property getters - [`KT-58921`](https://youtrack.jetbrains.com/issue/KT-58921) K1/K2: difference in Enum.values resolve priority ##### Libraries ##### New Features - [`KT-65532`](https://youtrack.jetbrains.com/issue/KT-65532) Stabilize experimental API for 2.0 - [`KT-60657`](https://youtrack.jetbrains.com/issue/KT-60657) Introduce Common String.toCharArray(destination) in stdlib - [`KT-57150`](https://youtrack.jetbrains.com/issue/KT-57150) Introduce common protected property AbstractMutableList.modCount - [`KT-57151`](https://youtrack.jetbrains.com/issue/KT-57151) Introduce common protected function AbstractMutableList.removeRange - [`KT-66102`](https://youtrack.jetbrains.com/issue/KT-66102) Constructor-like function for creating AutoCloseable instances - [`KT-59441`](https://youtrack.jetbrains.com/issue/KT-59441) Design reading and writing future versions of Kotlin metadata ##### Performance Improvements - [`KT-64361`](https://youtrack.jetbrains.com/issue/KT-64361) Optimization opportunity in Int.sign - [`KT-65590`](https://youtrack.jetbrains.com/issue/KT-65590) Make CharSequence.isBlank idiomatic and improve its performance - [`KT-61488`](https://youtrack.jetbrains.com/issue/KT-61488) Kotlin/Native stdlib: simplify ArrayList implementation - [`KT-51058`](https://youtrack.jetbrains.com/issue/KT-51058) Avoid byte array allocation in File.writeText when possible - [`KT-58588`](https://youtrack.jetbrains.com/issue/KT-58588) Optimizations for sequence functions distinct, flatten ##### Fixes - [`KT-67397`](https://youtrack.jetbrains.com/issue/KT-67397) Switch remaining org.jetbrains.kotlin libs to K2 - [`KT-61969`](https://youtrack.jetbrains.com/issue/KT-61969) Migrate kotlin-test to the current Kotlin Multiplatform Plugin - [`KT-60803`](https://youtrack.jetbrains.com/issue/KT-60803) Experimental AutoCloseable 'use' method is not resolved in Java - [`KT-63156`](https://youtrack.jetbrains.com/issue/KT-63156) Remove all deprecated declarations in kotlinx-metadata-jvm - [`KT-54879`](https://youtrack.jetbrains.com/issue/KT-54879) Add callsInPlace contract for more functions in stdlib - [`KT-55777`](https://youtrack.jetbrains.com/issue/KT-55777) Unresolved kotlin.AutoCloseable in JVM - [`KT-63219`](https://youtrack.jetbrains.com/issue/KT-63219) Change root package and coordinates of kotlinx-metadata-jvm to kotlin.\* - [`KT-65518`](https://youtrack.jetbrains.com/issue/KT-65518) Memory leak in buildMap and in Wasm/Js/Native (Linked)HashMap - [`KT-65525`](https://youtrack.jetbrains.com/issue/KT-65525) JS: Wrong return value of HashMap.keys.remove - [`KT-63397`](https://youtrack.jetbrains.com/issue/KT-63397) kotlin-test should declare runtime dependency on "org.junit.platform:junit-platform-launcher" - [`KT-65242`](https://youtrack.jetbrains.com/issue/KT-65242) Update transitive dependencies of JVM test frameworks in kotlin-test - [`KT-63355`](https://youtrack.jetbrains.com/issue/KT-63355) Detect concurrent modifications in ArrayDeque - [`KT-64956`](https://youtrack.jetbrains.com/issue/KT-64956) Implement optimized removeRange for ArrayDeque - [`KT-58039`](https://youtrack.jetbrains.com/issue/KT-58039) Wasm: Implement unsigned numbers using wasm builtin capabilities - [`KT-63341`](https://youtrack.jetbrains.com/issue/KT-63341) K2: JVM StringBuilder has no corresponding members for expected class members - [`KT-63714`](https://youtrack.jetbrains.com/issue/KT-63714) K2: kotlinx-benchmarks fails with "Unable to find method ''org.gradle.api.tasks.TaskProvider" with register("js") - [`KT-63157`](https://youtrack.jetbrains.com/issue/KT-63157) Make sure that all deprecation levels are raised to ERROR for declarations intended for removal from kotlinx-metadata - [`KT-60870`](https://youtrack.jetbrains.com/issue/KT-60870) kotlinx.metadata.InconsistentKotlinMetadataException: No VersionRequirement with the given id in the table In kotlinx-metadata-jvm - [`KT-64230`](https://youtrack.jetbrains.com/issue/KT-64230) Prohibit writing versions of metadata that are too high - [`KT-62346`](https://youtrack.jetbrains.com/issue/KT-62346) Sublists of ListBuilder does not correctly detect ConcurrentModification - [`KT-57922`](https://youtrack.jetbrains.com/issue/KT-57922) kotlinx-metadata-jvm does not take into account strict semantics flag - [`KT-63447`](https://youtrack.jetbrains.com/issue/KT-63447) K2: stdlib buildscript error: file included in two modules - [`KT-62785`](https://youtrack.jetbrains.com/issue/KT-62785) Drop unnecessary suppresses in stdlib after bootstrap update - [`KT-62004`](https://youtrack.jetbrains.com/issue/KT-62004) Drop legacy JS compilations of stdlib and kotlin-test - [`KT-61614`](https://youtrack.jetbrains.com/issue/KT-61614) WASM: Enum hashCode is not final ##### Multiplatform Wizard - [`KT-66188`](https://youtrack.jetbrains.com/issue/KT-66188) Update Compose for Desktop version to 1.6.0 ##### Native ##### New Features - [`KT-61642`](https://youtrack.jetbrains.com/issue/KT-61642) \[K/N] Serialize full IdSignatures to caches ##### Performance Improvements - [`KT-63749`](https://youtrack.jetbrains.com/issue/KT-63749) konan_lldb.py: is_string_or_array inefficient ##### Fixes - [`KT-67218`](https://youtrack.jetbrains.com/issue/KT-67218) Native: nested classes in kx.serialization ProtoBuf produce empty array for release binary - [`KT-66390`](https://youtrack.jetbrains.com/issue/KT-66390) Universal binary in included binaries produces universal archive as output - [`KT-60817`](https://youtrack.jetbrains.com/issue/KT-60817) K2/N: Fix remaining tests - [`KT-65659`](https://youtrack.jetbrains.com/issue/KT-65659) \[K/N]\[K2] Typealiased kotlin.Throws isn't translated to NSError out param - [`KT-64249`](https://youtrack.jetbrains.com/issue/KT-64249) Native: Implicit cache directory search is O(n^2) - [`KT-61695`](https://youtrack.jetbrains.com/issue/KT-61695) \[K/N] Empty list error in FakeOverridesActualizer with K2 - [`KT-57870`](https://youtrack.jetbrains.com/issue/KT-57870) compileKotlinNative fails on windows if PATH contains invalid entry - [`KT-64508`](https://youtrack.jetbrains.com/issue/KT-64508) IndexOutOfBoundsException in Konan StaticInitializersOptimization - [`KT-50547`](https://youtrack.jetbrains.com/issue/KT-50547) \[Commonizer] K/N echoServer sample fails with multiple "Unresolved reference" errors on Windows - [`KT-62803`](https://youtrack.jetbrains.com/issue/KT-62803) Konanc has print statement "Produced library API in..." that should be deleted or properly logged at INFO level - [`KT-61248`](https://youtrack.jetbrains.com/issue/KT-61248) \[K/N] Extract native manglers out of `backend.native` module ##### Native. Build Infrastructure - [`KT-63905`](https://youtrack.jetbrains.com/issue/KT-63905) Extract ObjC Export Header generation from K/N backend - [`KT-63220`](https://youtrack.jetbrains.com/issue/KT-63220) \[K/N] Unable to specify custom LLVM distribution ##### Native. C and ObjC Import - [`KT-63049`](https://youtrack.jetbrains.com/issue/KT-63049) NPE in BackendChecker.visitDelegatingConstructorCall compiling ObjC-interop class - [`KT-49558`](https://youtrack.jetbrains.com/issue/KT-49558) Kotlin/Native: "Backend Internal error: Exception during IR lowering" while compiling "val ldap = memScoped<LDAP> { alloc() }" - [`KT-64105`](https://youtrack.jetbrains.com/issue/KT-64105) \[K2/N] cannot access Objective-C forward declared class used only in a dependent lib - [`KT-59597`](https://youtrack.jetbrains.com/issue/KT-59597) \[K\N] Usage of instancetype in block return type crashes - [`KT-63287`](https://youtrack.jetbrains.com/issue/KT-63287) \[K/N] Create test model for building/executing C-Interop tests - [`KT-63048`](https://youtrack.jetbrains.com/issue/KT-63048) K2 ObjC interop: Fields are not supported for Companion of subclass of ObjC type ##### Native. ObjC Export - [`KT-66565`](https://youtrack.jetbrains.com/issue/KT-66565) Exporting framework "umbrella" produces an unimportable framework - [`KT-65863`](https://youtrack.jetbrains.com/issue/KT-65863) Native: implement a flag to emit compiler errors on ObjCExport name collisions - [`KT-63153`](https://youtrack.jetbrains.com/issue/KT-63153) Native: implement a flag to emit compiler warnings on ObjCExport name collisions - [`KT-62091`](https://youtrack.jetbrains.com/issue/KT-62091) KMP for iOS framework with private api : \__NSCFBoolean ##### Native. Runtime - [`KT-65170`](https://youtrack.jetbrains.com/issue/KT-65170) Kotlin/Native: deprecate -Xworker-exception-handling=legacy with error ##### Native. Runtime. Memory - [`KT-62689`](https://youtrack.jetbrains.com/issue/KT-62689) Native: generate signposts for GC performance debugging - [`KT-63423`](https://youtrack.jetbrains.com/issue/KT-63423) Kotlin/Native: huge dispose-on-main overhead - [`KT-66371`](https://youtrack.jetbrains.com/issue/KT-66371) Native: nullptr access during concurrent weak processing in CMS GC - [`KT-64313`](https://youtrack.jetbrains.com/issue/KT-64313) Kotlin Native: Seg Fault during Garbage Collection on 1.9.21 (observed on iOS) - [`KT-61093`](https://youtrack.jetbrains.com/issue/KT-61093) Kotlin/Native: enable concurrent weak processing by default ##### Native. Stdlib - [`KT-60514`](https://youtrack.jetbrains.com/issue/KT-60514) Add llvm filecheck tests for atomic intrinsics ##### Native. Testing - [`KT-67501`](https://youtrack.jetbrains.com/issue/KT-67501) Mute flaky driver tests on macOS agents - [`KT-64755`](https://youtrack.jetbrains.com/issue/KT-64755) Setup test for CMS GC - [`KT-66014`](https://youtrack.jetbrains.com/issue/KT-66014) \[K/N]\[Tests] Some testsuites don't test two-stage compilation and lose -language-version flag - [`KT-64393`](https://youtrack.jetbrains.com/issue/KT-64393) Use Compiler Core test infrastructure for testing serialization diagnostics on Native - [`KT-61871`](https://youtrack.jetbrains.com/issue/KT-61871) Native CompilerOutput tests should be runned for K2 - [`KT-65117`](https://youtrack.jetbrains.com/issue/KT-65117) Implement `IrBackendFacade`s for Kotlin/Native backend - [`KT-65979`](https://youtrack.jetbrains.com/issue/KT-65979) Improve test coverage on K/JS and K/JVM with existing tests - [`KT-64408`](https://youtrack.jetbrains.com/issue/KT-64408) \[K/N] No tests have been found for `eagerInitializationGlobal1` test with per-file-caches - [`KT-64256`](https://youtrack.jetbrains.com/issue/KT-64256) IR_DUMP directive doesn't enforce FIR_IDENTICAL when it is possible - [`KT-62157`](https://youtrack.jetbrains.com/issue/KT-62157) Native: Migrate FileCheck tests to new native test infra ##### Reflection - [`KT-65156`](https://youtrack.jetbrains.com/issue/KT-65156) Calls to `callBy` that use default arguments fail with `KotlineReflectionInternalError` when the argument size is a multiple of 32 in a constructor that contains `value class` as a parameter - [`KT-57972`](https://youtrack.jetbrains.com/issue/KT-57972) Reflection: "KotlinReflectionInternalError" when using `callBy` with overridden function in inline class - [`KT-60708`](https://youtrack.jetbrains.com/issue/KT-60708) Reflection: Not supported `)` (parentheses in backticks) - [`KT-60984`](https://youtrack.jetbrains.com/issue/KT-60984) K2: java.lang.ClassNotFoundException: kotlin.Array in runtime with Spring Boot test - [`KT-60709`](https://youtrack.jetbrains.com/issue/KT-60709) Reflection: Not recognized bound receiver in case of 'equals' always returning true ##### Specification - [`KT-65651`](https://youtrack.jetbrains.com/issue/KT-65651) Add Vladimir Reshetnikov to the specification "Acknowledgments" section - [`KT-54499`](https://youtrack.jetbrains.com/issue/KT-54499) Update kotlin specification for non-local break and continue ##### Tools. Build Tools API - [`KT-61860`](https://youtrack.jetbrains.com/issue/KT-61860) Add infrastructure for BTA tests - [`KT-65048`](https://youtrack.jetbrains.com/issue/KT-65048) "Can't get connection" (to daemon) when classpath has spaces ##### Tools. CLI ##### New Features - [`KT-66703`](https://youtrack.jetbrains.com/issue/KT-66703) Add JVM target bytecode version 22 - [`KT-64989`](https://youtrack.jetbrains.com/issue/KT-64989) Mark the whole diagnostic position range instead of only start position ##### Fixes - [`KT-65094`](https://youtrack.jetbrains.com/issue/KT-65094) K2: Revise PerformanceManager reporting - [`KT-67417`](https://youtrack.jetbrains.com/issue/KT-67417) CLI: Remove option -Xrepeat - [`KT-65451`](https://youtrack.jetbrains.com/issue/KT-65451) K2: CLI: false positive warning "scripts are not yet supported with K2 in LightTree mode" on irrelevant files in source directory - [`KT-65842`](https://youtrack.jetbrains.com/issue/KT-65842) K2 / CLI: "kotlinc -version" creates META-INF/main.kotlin_module - [`KT-66926`](https://youtrack.jetbrains.com/issue/KT-66926) Add a flag to report warnings when errors are found - [`KT-64384`](https://youtrack.jetbrains.com/issue/KT-64384) Until the REPL in K2 is not supported, display an appropriate warning - [`KT-64608`](https://youtrack.jetbrains.com/issue/KT-64608) K2: Wrong end position of compiler diagnostics - [`KT-64013`](https://youtrack.jetbrains.com/issue/KT-64013) CLI REPL: "com.sun.jna.LastErrorException: \[14] Bad address" on invoking kotlinc from CLI on ARM Mac - [`KT-62644`](https://youtrack.jetbrains.com/issue/KT-62644) Don't enable in progressive mode bug-fix features without target version - [`KT-62350`](https://youtrack.jetbrains.com/issue/KT-62350) CLI: no color output on Apple silicon Macs - [`KT-61156`](https://youtrack.jetbrains.com/issue/KT-61156) K2: do not try to run compilation if there were errors during calculation of Java module graph - [`KT-48026`](https://youtrack.jetbrains.com/issue/KT-48026) Add the compiler X-flag to enable self upper bound type inference ##### Tools. CLI. Native - [`KT-64517`](https://youtrack.jetbrains.com/issue/KT-64517) Drop deprecated KonanTargets ##### Tools. Commonizer - [`KT-64376`](https://youtrack.jetbrains.com/issue/KT-64376) Commonizer incorrectly retains UnsafeNumber annotation in target sets where it shouldn't ##### Tools. Compiler Plugin API - [`KT-59555`](https://youtrack.jetbrains.com/issue/KT-59555) Expose resource closing extension point in `CompilerPluginRegistrar` - [`KT-64444`](https://youtrack.jetbrains.com/issue/KT-64444) K2: IrGeneratedDeclarationsRegistrar.addMetadataVisibleAnnotationsToElement doesn't work for declarations in common module ##### Tools. Compiler Plugins ##### New Features - [`KT-63617`](https://youtrack.jetbrains.com/issue/KT-63617) Add kotlin-power-assert to Kotlin repository - [`KT-33020`](https://youtrack.jetbrains.com/issue/KT-33020) Support stripping debug information in the jvm-abi-gen plugin - [`KT-64591`](https://youtrack.jetbrains.com/issue/KT-64591) Data class' copy method is never stripped from ABI - [`KT-65690`](https://youtrack.jetbrains.com/issue/KT-65690) jvm-abi-gen: Remove internal declarations from ABI - [`KT-64590`](https://youtrack.jetbrains.com/issue/KT-64590) jvm-abi-gen: Effectively private classes are not being removed from ABI ##### Fixes - [`KT-64707`](https://youtrack.jetbrains.com/issue/KT-64707) K2: Parcelize ignores `@TypeParceler` set for typealias - [`KT-67523`](https://youtrack.jetbrains.com/issue/KT-67523) \[K2] Actualizer cannot reconcile mismatched parameter names from java supertypes - [`KT-67489`](https://youtrack.jetbrains.com/issue/KT-67489) JsPlainObjects Plugin: Method not found when consuming - [`KT-63607`](https://youtrack.jetbrains.com/issue/KT-63607) Migrate kotlin-power-assert into Kotlin repository - [`KT-67354`](https://youtrack.jetbrains.com/issue/KT-67354) K2 Parcelize: support efficient Parcel serializer for parcelables in the same module - [`KT-64454`](https://youtrack.jetbrains.com/issue/KT-64454) K2: Implement ParcelizeIrBytecodeListingTestGenerated for K2 - [`KT-67353`](https://youtrack.jetbrains.com/issue/KT-67353) K2 Parcelize: support parcelableCreator intrinsic - [`KT-66526`](https://youtrack.jetbrains.com/issue/KT-66526) K2: Special function kind setup does not work for value parameter whose type is function with a receiver - [`KT-63507`](https://youtrack.jetbrains.com/issue/KT-63507) K2 / All-open plugin: "'open' has no effect on a final class" warning - [`KT-66208`](https://youtrack.jetbrains.com/issue/KT-66208) PowerAssert: some built-in operators are not aligned correctly for some values - [`KT-65810`](https://youtrack.jetbrains.com/issue/KT-65810) PowerAssert: Infix transformation doesn't capture full context - [`KT-65640`](https://youtrack.jetbrains.com/issue/KT-65640) PowerAssert: Infix function not aligned correctly - [`KT-61993`](https://youtrack.jetbrains.com/issue/KT-61993) K2: Synthetic file classes are generated with start offset of 0, causing errors during compilation - [`KT-64971`](https://youtrack.jetbrains.com/issue/KT-64971) Exception is thrown when compiling kotlinx.coroutines to Native because of the new signature clash diagnostics - [`KT-59074`](https://youtrack.jetbrains.com/issue/KT-59074) K2: false-positive MUST_BE_INITIALIZED_OR_FINAL_OR_ABSTRACT if allOpen plugin is used and a val is defined with init {} block - [`KT-64589`](https://youtrack.jetbrains.com/issue/KT-64589) jvm-abi-gen: Order of class members affects ABI jar - [`KT-65072`](https://youtrack.jetbrains.com/issue/KT-65072) jvm-abi-gen: SourceDebugExtension annotation isn't stripped along with corresponding attribute - [`KT-54025`](https://youtrack.jetbrains.com/issue/KT-54025) \[K2] \[NONE_APPLICABLE] compiler error in case @&#8203; AllArgConstructor annotation is used together with a static field - [`KT-54054`](https://youtrack.jetbrains.com/issue/KT-54054) \[Lombok] An extra unneeded constructor parameter is expected by compiler if java class annotated with @&#8203; AllArgsConstructor and has private final initialized field - [`KT-61432`](https://youtrack.jetbrains.com/issue/KT-61432) K2 Parcelize. RawValue is not recognized if parameter is annotated via typealias - [`KT-64656`](https://youtrack.jetbrains.com/issue/KT-64656) K2: realm-kotlin: compilation errors in IR plugin - [`KT-53861`](https://youtrack.jetbrains.com/issue/KT-53861) K2. Report SERIALIZER_TYPE_INCOMPATIBLE on specific type argument in kotlinx.serialization - [`KT-63086`](https://youtrack.jetbrains.com/issue/KT-63086) K2: "Parcelable should be a class" - [`KT-60849`](https://youtrack.jetbrains.com/issue/KT-60849) jvm-abi-gen: do not treat hasConstant property flag as a part of ABI for non-const properties - [`KT-53926`](https://youtrack.jetbrains.com/issue/KT-53926) K2. Don't check serializable properties from supertypes ##### Tools. Compiler plugins. Serialization - [`KT-65757`](https://youtrack.jetbrains.com/issue/KT-65757) K2: Missing `@Deprecated` annotation on synthesized declarations - [`KT-63539`](https://youtrack.jetbrains.com/issue/KT-63539) K2: Missing "Serializable class has duplicate serial name of property" - [`KT-63570`](https://youtrack.jetbrains.com/issue/KT-63570) K2 / Serialization: "Class \* which is serializer for type \* is applied here to type \*. This may lead to errors or incorrect behavior." - [`KT-64447`](https://youtrack.jetbrains.com/issue/KT-64447) K2: Implement Serialization...IrBoxTestGenerated for K2 - [`KT-63591`](https://youtrack.jetbrains.com/issue/KT-63591) K2: "KotlinReflectionInternalError: Could not compute caller for function" on generated internal constructor - [`KT-64124`](https://youtrack.jetbrains.com/issue/KT-64124) Different klib signatures in K1/K2 for a serializable class - [`KT-63402`](https://youtrack.jetbrains.com/issue/KT-63402) K2 / Serialization: "SyntheticAccessorLowering should not attempt to modify other files!" caused by sealed base with generic derived class in separate files - [`KT-62215`](https://youtrack.jetbrains.com/issue/KT-62215) Serialization / Native: "IllegalArgumentException: No container found for type parameter" caused by serializing generic classes with a field that uses generics - [`KT-62522`](https://youtrack.jetbrains.com/issue/KT-62522) K2 + kotlinx.serialization + Native: NPE when generic base class has inheritor in other module ##### Tools. Daemon - [`KT-64283`](https://youtrack.jetbrains.com/issue/KT-64283) Configure correct JVM arguments when starting the daemon ##### Tools. Fleet. ObjC Export ##### Fixes - [`KT-66695`](https://youtrack.jetbrains.com/issue/KT-66695) Move `analysis-api-klib-reader` package into 'o.j.k.native.analysis.api\` - [`KT-65384`](https://youtrack.jetbrains.com/issue/KT-65384) ObjCExport: class super name special case - [`KT-66380`](https://youtrack.jetbrains.com/issue/KT-66380) ObjCExport: support interface implementation - [`KT-65670`](https://youtrack.jetbrains.com/issue/KT-65670) ObjCExport: Naming: Support additional module based prefix - [`KT-64953`](https://youtrack.jetbrains.com/issue/KT-64953) ObjCExport: Analysis-Api: enum - [`KT-65348`](https://youtrack.jetbrains.com/issue/KT-65348) ObjCExport: Char as function return type - [`KT-65738`](https://youtrack.jetbrains.com/issue/KT-65738) ObjCExport: Analysis-Api: Generate base declarations - [`KT-65204`](https://youtrack.jetbrains.com/issue/KT-65204) ObjCExport: Analysis Api: Support nested classes - [`KT-65225`](https://youtrack.jetbrains.com/issue/KT-65225) ObjCExport: implement KtCallableSymbol.isArray - [`KT-65108`](https://youtrack.jetbrains.com/issue/KT-65108) ObjCExport: Tests: Check if 'requirePlatformLibs' is necessary - [`KT-65281`](https://youtrack.jetbrains.com/issue/KT-65281) ObjCExport: AA: Run already passing Unit Tests on CI - [`KT-65080`](https://youtrack.jetbrains.com/issue/KT-65080) ObjCExport: Analysis-Api: error handling - [`KT-64952`](https://youtrack.jetbrains.com/issue/KT-64952) ObjCExport: Analysis-Api: object - [`KT-64076`](https://youtrack.jetbrains.com/issue/KT-64076) ObjCExport: Do not retain descriptors in stubs - [`KT-64227`](https://youtrack.jetbrains.com/issue/KT-64227) ObjCExport: Extract Header Generation to base module - [`KT-64168`](https://youtrack.jetbrains.com/issue/KT-64168) ObjCExport: Split header generator module into K1 and Analysis Api - [`KT-64869`](https://youtrack.jetbrains.com/issue/KT-64869) ObjCExport: Analysis-Api: Support 'MustBeDocumented' annotations - [`KT-64839`](https://youtrack.jetbrains.com/issue/KT-64839) ObjCExport: Enable tests on CI for aggregate - [`KT-64888`](https://youtrack.jetbrains.com/issue/KT-64888) ObjCExport: Analysis Api: Support exporting KDoc ##### Tools. Gradle ##### New Features - [`KT-67253`](https://youtrack.jetbrains.com/issue/KT-67253) Support per-target configuration in compose-compiler-gradle-plugin - [`KT-67006`](https://youtrack.jetbrains.com/issue/KT-67006) Create new compose compiler Gradle plugin - [`KT-62921`](https://youtrack.jetbrains.com/issue/KT-62921) Add API to allow getting the version of the kotlinc compiler - [`KT-61975`](https://youtrack.jetbrains.com/issue/KT-61975) Re-purpose kotlin.experimental.tryK2 - [`KT-64653`](https://youtrack.jetbrains.com/issue/KT-64653) Add Kotlin DslMarker into Gradle plugin DSL - [`KT-59627`](https://youtrack.jetbrains.com/issue/KT-59627) FUS base plugin - [`KT-62025`](https://youtrack.jetbrains.com/issue/KT-62025) K/Wasm: Support binaryen for wasi ##### Performance Improvements - [`KT-60664`](https://youtrack.jetbrains.com/issue/KT-60664) Gradle 8.3: KGP eagerly creates compile task - [`KT-64353`](https://youtrack.jetbrains.com/issue/KT-64353) Improve reuse of Build Tools Api's classloader - [`KT-66912`](https://youtrack.jetbrains.com/issue/KT-66912) Parallel compilation slowdown due to synchronization - [`KT-63005`](https://youtrack.jetbrains.com/issue/KT-63005) Avoid registering KMP related compatibility/disambiguration rules for pure JVM/Android projects ##### Fixes - [`KT-58768`](https://youtrack.jetbrains.com/issue/KT-58768) Support configuration cache and project isolation for FUS statistics - [`KT-65143`](https://youtrack.jetbrains.com/issue/KT-65143) Use the new ConfigurationContainer dependencyScope method to create dependency declaration configurations - [`KT-62640`](https://youtrack.jetbrains.com/issue/KT-62640) Compatibility with Gradle 8.5 release - [`KT-62639`](https://youtrack.jetbrains.com/issue/KT-62639) Compatibility with Gradle 8.4 release - [`KT-59024`](https://youtrack.jetbrains.com/issue/KT-59024) Compatibility with Gradle 8.3 release - [`KT-58064`](https://youtrack.jetbrains.com/issue/KT-58064) Compatibility with Gradle 8.2 release - [`KT-64355`](https://youtrack.jetbrains.com/issue/KT-64355) Add plugin variant for gradle 8.5 - [`KT-67746`](https://youtrack.jetbrains.com/issue/KT-67746) Indicate for users they need to apply the new Kotlin Compose Gradle plugin - [`KT-67387`](https://youtrack.jetbrains.com/issue/KT-67387) Enable intrinsic remember by default in compose compiler gradle plugin - [`KT-64115`](https://youtrack.jetbrains.com/issue/KT-64115) KGP + JVM/JS/WASM: The same library can be passed twice to the compiler - [`KT-67762`](https://youtrack.jetbrains.com/issue/KT-67762) Rename Kotlin Compose Compiler plugin on Gradle portal - [`KT-64504`](https://youtrack.jetbrains.com/issue/KT-64504) Remove ownModuleName from AbstractKotlinCompile - [`KT-67778`](https://youtrack.jetbrains.com/issue/KT-67778) Clarify documentation for compose metricsDestination property - [`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 - [`KT-67685`](https://youtrack.jetbrains.com/issue/KT-67685) KotlinBaseApiPlugin regression with Gradle's Configuration Cache in 2.0.0-RC1 - [`KT-64567`](https://youtrack.jetbrains.com/issue/KT-64567) \[FUS] Add boolean flag into kotlin.gradle.performance collector - [`KT-67515`](https://youtrack.jetbrains.com/issue/KT-67515) Remove 'experimental' from compose strong skipping mode - [`KT-67441`](https://youtrack.jetbrains.com/issue/KT-67441) Gradle remote cache misses in the compose plugin - [`KT-67602`](https://youtrack.jetbrains.com/issue/KT-67602) Compose gradle plugin: a deprecated plugin option 'experimentalStrongSkipping' is added by default that causes a warning - [`KT-67200`](https://youtrack.jetbrains.com/issue/KT-67200) Compose gradle plugin: 'suppressKotlinVersionCompatibilityCheck' option is duplicated if added as a kotlin option for the KotlinCompile task and kapt is used - [`KT-67216`](https://youtrack.jetbrains.com/issue/KT-67216) Compose compiler plugin: false-positive versions incompatibility is reported - [`KT-64379`](https://youtrack.jetbrains.com/issue/KT-64379) Remove `kotlin.useK2` gradle property - [`KT-62939`](https://youtrack.jetbrains.com/issue/KT-62939) Bump minimal supported AGP version to 7.1 - [`KT-63491`](https://youtrack.jetbrains.com/issue/KT-63491) Restore access to top-level DSL to configure compiler options in MPP - [`KT-65935`](https://youtrack.jetbrains.com/issue/KT-65935) Track project isolation Gradle feature - [`KT-65934`](https://youtrack.jetbrains.com/issue/KT-65934) Track if Gradle configuration cache is enabled in the user builds - [`KT-66459`](https://youtrack.jetbrains.com/issue/KT-66459) PowerAssert: Improve design of excludedSourceSets extension property - [`KT-64203`](https://youtrack.jetbrains.com/issue/KT-64203) Throw exception when old build report properties are used - [`KT-62758`](https://youtrack.jetbrains.com/issue/KT-62758) Gradle: make precise task outputs backup enabled by default - [`KT-65568`](https://youtrack.jetbrains.com/issue/KT-65568) Deprecate the ability to configure compiler options in KotlinCompilation - [`KT-63419`](https://youtrack.jetbrains.com/issue/KT-63419) Deprecate 'kotlinOptions' DSL - [`KT-64848`](https://youtrack.jetbrains.com/issue/KT-64848) Log K/Native compiler arguments with log level specified for compiler arguments - [`KT-58223`](https://youtrack.jetbrains.com/issue/KT-58223) Kotlin Gradle plugin shouldn't store data in project cache directory - [`KT-61913`](https://youtrack.jetbrains.com/issue/KT-61913) Validate LanguageSettings KDoc - [`KT-61171`](https://youtrack.jetbrains.com/issue/KT-61171) CompilerPluginsIncrementalIT.afterChangeInPluginBuildDoesIncrementalProcessing doesn't provide a compiler plugin for K2 leading to the test failure - [`KT-62131`](https://youtrack.jetbrains.com/issue/KT-62131) Could not isolate value org.jetbrains.kotlin.gradle.plugin.statistics.BuildFlowService$Parameters_Decorated`@63fddc4b` of type BuildFlowService.Parameters - [`KT-66961`](https://youtrack.jetbrains.com/issue/KT-66961) Early access to gradle.rootProject leads to an exception - [`KT-61918`](https://youtrack.jetbrains.com/issue/KT-61918) Removal of an associated compilation from a build script doesn't lead to full recompilation - [`KT-63619`](https://youtrack.jetbrains.com/issue/KT-63619) Add Kotlin power-assert compiler plugin to feature usage statistics gathering - [`KT-62108`](https://youtrack.jetbrains.com/issue/KT-62108) Wrong scope of compiler options is used while configuring options for all targets and all compilations - [`KT-55322`](https://youtrack.jetbrains.com/issue/KT-55322) Kotlin daemon: Cannot perform operation, requested state: Alive > actual: LastSession - [`KT-66429`](https://youtrack.jetbrains.com/issue/KT-66429) Move WASM stability warning to KGP Tooling Diagnostics and report it once per build - [`KT-63165`](https://youtrack.jetbrains.com/issue/KT-63165) Gradle: checkKotlinGradlePluginConfigurationErrors uses deprecated Gradle behavior - [`KT-66374`](https://youtrack.jetbrains.com/issue/KT-66374) Diagnostic for deprecated properties: false-positive warning is reported for `kapt.use.k2`property - [`KT-64117`](https://youtrack.jetbrains.com/issue/KT-64117) K2: "'when' expression must be exhaustive" state does not fail compilation - [`KT-58443`](https://youtrack.jetbrains.com/issue/KT-58443) Change deprecation level to WARNING for KotlinOptions - [`KT-65768`](https://youtrack.jetbrains.com/issue/KT-65768) Don't pass -Xfragment-sources for non-mpp compilations - [`KT-62398`](https://youtrack.jetbrains.com/issue/KT-62398) KMP: Compose breaks resolution of stdlib declarations in common source set - [`KT-64046`](https://youtrack.jetbrains.com/issue/KT-64046) Provide K/N version to KGP when -Pkotlin.native.enabled=true - [`KT-66154`](https://youtrack.jetbrains.com/issue/KT-66154) Cannot access 'org.slf4j.spi.LoggingEventAware' in the Space K2 QG - [`KT-65952`](https://youtrack.jetbrains.com/issue/KT-65952) PowerAssert: Update Gradle extension to be more idiomatic - [`KT-65951`](https://youtrack.jetbrains.com/issue/KT-65951) PowerAssert: Add Gradle integration tests to compiler plugin - [`KT-66373`](https://youtrack.jetbrains.com/issue/KT-66373) \[Wasm, KGP] Npm is not configured for JS usagе for wasmWasi project - [`KT-66314`](https://youtrack.jetbrains.com/issue/KT-66314) Build reports in JSON: property 'kotlin.build.report.json.directory' without value causes NPE - [`KT-64380`](https://youtrack.jetbrains.com/issue/KT-64380) Add project diagnostics for deprecated properties - [`KT-65986`](https://youtrack.jetbrains.com/issue/KT-65986) `GradleDeprecatedOption.removeAfter` does not actually remove arguments from the compilerOptions/kotlinOptions DSLs - [`KT-65989`](https://youtrack.jetbrains.com/issue/KT-65989) Compile against Gradle API 8.6 - [`KT-65819`](https://youtrack.jetbrains.com/issue/KT-65819) Build Gradle Plugins against Gradle 8.5 API - [`KT-65701`](https://youtrack.jetbrains.com/issue/KT-65701) Limit Gradle daemon max memory in integration tests - [`KT-65708`](https://youtrack.jetbrains.com/issue/KT-65708) Flaky tests because of ivy repos in Integration Tests - [`KT-56904`](https://youtrack.jetbrains.com/issue/KT-56904) Enable warnings-as-error for Kotlin Gradle plugins compilation - [`KT-65606`](https://youtrack.jetbrains.com/issue/KT-65606) Out of memory in Anki Android in the K2 QG - [`KT-65347`](https://youtrack.jetbrains.com/issue/KT-65347) K/N has not been dowloaded before :commonizeNativeDistribution - [`KT-65213`](https://youtrack.jetbrains.com/issue/KT-65213) Collect logic for FUS metrics calculation in one place - [`KT-61698`](https://youtrack.jetbrains.com/issue/KT-61698) Compiler options configured inside metadata {} target set up all targets in a project - [`KT-64824`](https://youtrack.jetbrains.com/issue/KT-64824) Move validateParameters from CInteropProcess to diagnostics - [`KT-60879`](https://youtrack.jetbrains.com/issue/KT-60879) Deprecation warning on trying to configure Configuration multiple times - [`KT-64251`](https://youtrack.jetbrains.com/issue/KT-64251) KGP: Cannot re-use tooling model cache with Project Isolation due to "~/.gradle/kotlin-profile" changing - [`KT-64655`](https://youtrack.jetbrains.com/issue/KT-64655) K2: PeopleInSpace: K2 build fails during Gradle config - [`KT-63697`](https://youtrack.jetbrains.com/issue/KT-63697) The warning is still presented in terminal after suppressing it with -Xexpect-actual-classes flag - [`KT-62527`](https://youtrack.jetbrains.com/issue/KT-62527) Gradle: get rid of the `Project.buildDir` usages - [`KT-60733`](https://youtrack.jetbrains.com/issue/KT-60733) Allow specify log level for compiler arguments used to compile sources - [`KT-63369`](https://youtrack.jetbrains.com/issue/KT-63369) Fix: "The org.gradle.api.plugins.BasePluginConvention type has been deprecated." - [`KT-63368`](https://youtrack.jetbrains.com/issue/KT-63368) Fix "The automatic loading of test framework implementation dependencies has been deprecated. " - [`KT-63601`](https://youtrack.jetbrains.com/issue/KT-63601) Fetching Gradle compiler DSL objects using raw strings is inconvenient in the Groovy DSL - [`KT-62955`](https://youtrack.jetbrains.com/issue/KT-62955) Missing static accessors for Wasm targets in Kotlin Gradle plugin DSL: - [`KT-62962`](https://youtrack.jetbrains.com/issue/KT-62962) Remove COMPILE_INCREMENTAL_WITH_ARTIFACT_TRANSFORM system property - [`KT-62264`](https://youtrack.jetbrains.com/issue/KT-62264) Send build type report metric to FUS - [`KT-62650`](https://youtrack.jetbrains.com/issue/KT-62650) Gradle: Return the usage of `kotlin-compiler-embeddable` back - [`KT-61295`](https://youtrack.jetbrains.com/issue/KT-61295) `KotlinTestReport` captures `Project.buildDir` too early - [`KT-62987`](https://youtrack.jetbrains.com/issue/KT-62987) Add tests for statistics plugin in Aggregate build - [`KT-62964`](https://youtrack.jetbrains.com/issue/KT-62964) Build Gradle plugin against Gradle 8.4 API - [`KT-62617`](https://youtrack.jetbrains.com/issue/KT-62617) Update report configuration project FUS metrics - [`KT-61896`](https://youtrack.jetbrains.com/issue/KT-61896) Gradle: compilation via build tools API doesn't perform Gradle side output backups - [`KT-62016`](https://youtrack.jetbrains.com/issue/KT-62016) ClassNotFoundException on org.jetbrains.kotlin.backend.common.serialization.metadata.DynamicTypeDeserializer in the K2 QG - [`KT-56574`](https://youtrack.jetbrains.com/issue/KT-56574) Implement a prototype of Kotlin JVM compilation pipeline via the build tools API - [`KT-61206`](https://youtrack.jetbrains.com/issue/KT-61206) Build system classes may leak into the Build Tools API classloader - [`KT-61737`](https://youtrack.jetbrains.com/issue/KT-61737) GradleStyleMessageRenderer.render misses a space between the file and the message when `location` is (line:column = 0:0) ##### Tools. Gradle. Cocoapods - [`KT-57650`](https://youtrack.jetbrains.com/issue/KT-57650) Gradle Cocoapods: use pod install --repo-update instead of pod install - [`KT-63331`](https://youtrack.jetbrains.com/issue/KT-63331) CocoaPods plugin noPodspec() causes "property \* specifies file \* which doesn't exist." ##### Tools. Gradle. JS ##### Fixes - [`KT-55620`](https://youtrack.jetbrains.com/issue/KT-55620) KJS / Gradle: plugin doesn't support repositoriesMode - [`KT-65870`](https://youtrack.jetbrains.com/issue/KT-65870) KJS / Gradle: kotlinUpgradePackageLock fails making Yarn unusable - [`KT-66917`](https://youtrack.jetbrains.com/issue/KT-66917) JS/Wasm: Upgrade NPM dependencies - [`KT-63040`](https://youtrack.jetbrains.com/issue/KT-63040) K/JS: Rework outputs of webpack and distribution task - [`KT-61992`](https://youtrack.jetbrains.com/issue/KT-61992) KJS / Gradle: KotlinJsTest using KotlinMocha should not show output, and should not run a dry-run every time. - [`KT-65295`](https://youtrack.jetbrains.com/issue/KT-65295) Gradle: K/N and K/JS tests may produce unrequested TeamCity service messages - [`KT-63435`](https://youtrack.jetbrains.com/issue/KT-63435) KJS: Get rid of deprecated outputFileProperty of Kotlin2JsCompile - [`KT-61294`](https://youtrack.jetbrains.com/issue/KT-61294) `NodeJsRootExtension` captures `Project.buildDir` too early - [`KT-59282`](https://youtrack.jetbrains.com/issue/KT-59282) K/JS: KotlinJsIrLinkConfig is not compatible with Configuration Cache in Gradle 8.1.1 - [`KT-62780`](https://youtrack.jetbrains.com/issue/KT-62780) K/JS: Deprecate node-specific properties in NodeJsRootExtension - [`KT-63544`](https://youtrack.jetbrains.com/issue/KT-63544) KGP: JS - KotlinJsIrLink is not compatible with Gradle CC starting 8.4 - [`KT-63312`](https://youtrack.jetbrains.com/issue/KT-63312) KJS: Apply IR flags for JS compilations unconditionally - [`KT-62633`](https://youtrack.jetbrains.com/issue/KT-62633) wasmWasi/JsNodeTest tasks are always not up-to-date - [`KT-63225`](https://youtrack.jetbrains.com/issue/KT-63225) java.lang.ClassNotFoundException: org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation in the K2 QG - [`KT-41382`](https://youtrack.jetbrains.com/issue/KT-41382) NI / KJS / Gradle: TYPE_MISMATCH caused by compilations.getting delegate - [`KT-53077`](https://youtrack.jetbrains.com/issue/KT-53077) KJS / Gradle: Remove redundant gradle js log on kotlin build - [`KT-56300`](https://youtrack.jetbrains.com/issue/KT-56300) KJS / Gradle: plugin should not add repositories unconditionally - [`KT-60694`](https://youtrack.jetbrains.com/issue/KT-60694) KJS: Remove K/JS legacy support from Gradle plugin - [`KT-56465`](https://youtrack.jetbrains.com/issue/KT-56465) MPP: Import with npm dependency fails with "UninitializedPropertyAccessException: lateinit property fileHasher has not been initialized" if there is no selected JavaScript environment for JS target - [`KT-41578`](https://youtrack.jetbrains.com/issue/KT-41578) Kotlin/JS: contiuous mode: changes in static resources do not reload browser page ##### Tools. Gradle. Kapt - [`KT-62518`](https://youtrack.jetbrains.com/issue/KT-62518) kapt processing is skipped when all annotation processors are indirect dependencies - [`KT-27404`](https://youtrack.jetbrains.com/issue/KT-27404) Kapt does not call annotation processors on custom (e.g., androidTest) source sets if all dependencies are inherited from the main kapt configuration - [`KT-22261`](https://youtrack.jetbrains.com/issue/KT-22261) Annotation Processor - in gradle, kapt configuration is missing extendsFrom ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-66047`](https://youtrack.jetbrains.com/issue/KT-66047) KMP: Isolate dependencies graph between main and test source sets - [`KT-61559`](https://youtrack.jetbrains.com/issue/KT-61559) Include stdlib and platform dependencies to KotlinNativeCompilation.compileDependencyFiles API - [`KT-65196`](https://youtrack.jetbrains.com/issue/KT-65196) Add high-level DSL to configure compiler options in the multiplatform project ##### Performance Improvements - [`KT-57141`](https://youtrack.jetbrains.com/issue/KT-57141) K2: KotlinCompile task input named 'multiplatformStructure.fragments.$0.sources' is tracked in a pure JVM kotlin project together with changes of sources ##### Fixes - [`KT-65315`](https://youtrack.jetbrains.com/issue/KT-65315) KMP Composite compileIosMainKotlinMetadata fails with "Could not find <included iOS dependency>" - [`KT-67042`](https://youtrack.jetbrains.com/issue/KT-67042) K2: Unresolved reference 'convertRadiusToSigma' - [`KT-66983`](https://youtrack.jetbrains.com/issue/KT-66983) MPP Configuration Cache IT fails with Gradle 8.7 on windows - [`KT-60489`](https://youtrack.jetbrains.com/issue/KT-60489) Android-java only consumers (no KGP applied) choose Java-variant instead of Android-variant when depending on MPP library - [`KT-67806`](https://youtrack.jetbrains.com/issue/KT-67806) KMP import fails if android target has flavors - [`KT-67636`](https://youtrack.jetbrains.com/issue/KT-67636) Gradle configuration error when use withJava() - [`KT-63536`](https://youtrack.jetbrains.com/issue/KT-63536) KMP: MetadataDependencyTransformationTask is not Thread Safe - [`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 - [`KT-65426`](https://youtrack.jetbrains.com/issue/KT-65426) K2: Debug compilation fails because code from main source set included in two K2 fragments - [`KT-65480`](https://youtrack.jetbrains.com/issue/KT-65480) MissingNativeStdlibChecker checks existence of konanDistribution.stdlib during configuration phase - [`KT-61945`](https://youtrack.jetbrains.com/issue/KT-61945) Report redundant dependsOn-edges - [`KT-65187`](https://youtrack.jetbrains.com/issue/KT-65187) Remove deprecated platform plugins ids - [`KT-49919`](https://youtrack.jetbrains.com/issue/KT-49919) Introduce the `org.gradle.jvm.environment` attribute on JVM and Android published variants (both for MPP and non-MPP libraries) - [`KT-66419`](https://youtrack.jetbrains.com/issue/KT-66419) Remove useless API: Kotlin compilation level compiler options DSL - [`KT-64913`](https://youtrack.jetbrains.com/issue/KT-64913) Report warning if user has multiple source set roots for a certain compilation - [`KT-66563`](https://youtrack.jetbrains.com/issue/KT-66563) Stop including resources to metadata klib - [`KT-61078`](https://youtrack.jetbrains.com/issue/KT-61078) K2: Compilation fails in FirSerializer trying to serialize nested class - [`KT-66372`](https://youtrack.jetbrains.com/issue/KT-66372) KMP: JVM dependency can be downgraded by metadata dependency - [`KT-66431`](https://youtrack.jetbrains.com/issue/KT-66431) KMP: External Target Compilation friendArtifactResolver throws ClassCastException - [`KT-64995`](https://youtrack.jetbrains.com/issue/KT-64995) KonanPropertiesBuildService is not compatible with Project Isolation - [`KT-61430`](https://youtrack.jetbrains.com/issue/KT-61430) K2/KMP: metadata compilation fails with Unresolved reference for property in actual class - [`KT-63753`](https://youtrack.jetbrains.com/issue/KT-63753) K2: File "does not belong to any module" when it is generated by `registerJavaGeneratingTask` in AGP - [`KT-62508`](https://youtrack.jetbrains.com/issue/KT-62508) Merge Android Source Sets into one K2 Fragment - [`KT-61943`](https://youtrack.jetbrains.com/issue/KT-61943) Mark the `checkKotlinGradlePluginConfigurationErrors` as UP-TO-DATE when possible - [`KT-63206`](https://youtrack.jetbrains.com/issue/KT-63206) Deprecate eager CInteropProcess.outputFile in favor to lazy outputFileProvider - [`KT-65248`](https://youtrack.jetbrains.com/issue/KT-65248) Native compile task fail with ClassNotFoundException: org.jetbrains.kotlin.cli.utilities.MainKt - [`KT-56440`](https://youtrack.jetbrains.com/issue/KT-56440) TCS: Gradle Sync: Add API to populate extras only during sync - [`KT-64629`](https://youtrack.jetbrains.com/issue/KT-64629) Gradle configuration fails: 'fun jvmToolchain(jdkVersion: Int): Unit' can't be called in this context by implicit receiver - [`KT-63226`](https://youtrack.jetbrains.com/issue/KT-63226) KGP Multiplatform Ide Dependency Resolution: Use gradle variants instead/in addition of ArtifactResolutionQuery - [`KT-60734`](https://youtrack.jetbrains.com/issue/KT-60734) Handle the migration from ios shortcut and source set with `getting` - [`KT-63197`](https://youtrack.jetbrains.com/issue/KT-63197) After using Kotlin 1.9.20 on Windows 11, the gradle sync failed - [`KT-61540`](https://youtrack.jetbrains.com/issue/KT-61540) K2: KMP/K2: Metadata compilations: Discriminate expect over actual by sorting compile path using refines edges - [`KT-60860`](https://youtrack.jetbrains.com/issue/KT-60860) K2: Fix `KotlinNativeCompileArgumentsTest` in 2.0 branch - [`KT-61463`](https://youtrack.jetbrains.com/issue/KT-61463) KMP: Remove unused 'kpm' code - [`KT-40309`](https://youtrack.jetbrains.com/issue/KT-40309) A call of a declaration with actual typealiases is incorrectly successfully compiled in commonTest using the type from actual part ##### Tools. Gradle. Native ##### New Features - [`KT-49268`](https://youtrack.jetbrains.com/issue/KT-49268) Only download Kotlin/Native Compiler when there are valid targets ##### Performance Improvements - [`KT-58303`](https://youtrack.jetbrains.com/issue/KT-58303) Kotlin multiplatform Gradle plugin downloads Kotlin/Native compiler during configuration ##### Fixes - [`KT-67522`](https://youtrack.jetbrains.com/issue/KT-67522) K/N toolchain: unclear compilation error if path specified as a value for the kotlin.native.home doesn't provide the kotlin native compiler downloaded - [`KT-67521`](https://youtrack.jetbrains.com/issue/KT-67521) K/N warning checking existence of the standard library isn't displayed when the native toolchain enabled and the kotlin native home dir doesn't contain stdlib - [`KT-65624`](https://youtrack.jetbrains.com/issue/KT-65624) K/N warning: "The Kotlin/Native distribution used in this build does not provide the standard library." is displayed during configuration phase - [`KT-66694`](https://youtrack.jetbrains.com/issue/KT-66694) Disable Kotlin Native Toolchain when custom konan home passed - [`KT-66309`](https://youtrack.jetbrains.com/issue/KT-66309) K/N compiler can't be downloaded if project import is stopped while 'commonizeNativeDistribution' task is being executed and rerun again - [`KT-65641`](https://youtrack.jetbrains.com/issue/KT-65641) Invalid replacements for deprecated properties 'konanHome' and 'konanDataDir' are suggested as quick fixes - [`KT-65823`](https://youtrack.jetbrains.com/issue/KT-65823) Add downloading k/n dependencies to KotlinNativeProvider - [`KT-62907`](https://youtrack.jetbrains.com/issue/KT-62907) Turn on downloading Kotlin Native from maven by default - [`KT-62795`](https://youtrack.jetbrains.com/issue/KT-62795) CInteropProcess task resolves cinterop def file eagerly, breaking Gradle task dependencies - [`KT-66982`](https://youtrack.jetbrains.com/issue/KT-66982) Gradle plugin corrupts Native compiler dependencies - [`KT-66750`](https://youtrack.jetbrains.com/issue/KT-66750) Cannot query the value of task ':commonizeNativeDistribution' property 'kotlinNativeBundleBuildService' because it has no value available - [`KT-64903`](https://youtrack.jetbrains.com/issue/KT-64903) Add maven repo with dev versions into IT - [`KT-66422`](https://youtrack.jetbrains.com/issue/KT-66422) Configuration cache breaks during Kotlin Native dependencies downloading - [`KT-65985`](https://youtrack.jetbrains.com/issue/KT-65985) Race condition during simultaneous execution of several native tasks - [`KT-51379`](https://youtrack.jetbrains.com/issue/KT-51379) Build fails when using `RepositoriesMode.FAIL_ON_PROJECT_REPOS` with kotlin multiplatform projects - [`KT-52567`](https://youtrack.jetbrains.com/issue/KT-52567) Use Gradle dependency management for downloading Kotlin/Native compiler when compiling with Gradle - [`KT-65222`](https://youtrack.jetbrains.com/issue/KT-65222) Native compile task fails after clean reimport - [`KT-52483`](https://youtrack.jetbrains.com/issue/KT-52483) Sign native prebuilt tars - [`KT-62800`](https://youtrack.jetbrains.com/issue/KT-62800) CInteropProcess should not require .def file to exist - [`KT-51255`](https://youtrack.jetbrains.com/issue/KT-51255) Kotlin/Native should not download compiler artifacts when not necessary - [`KT-62745`](https://youtrack.jetbrains.com/issue/KT-62745) iOS application build is failing if script sandboxing option is enabled in Xcode - [`KT-61657`](https://youtrack.jetbrains.com/issue/KT-61657) KonanTarget should implement equals or custom serialization - [`KT-62232`](https://youtrack.jetbrains.com/issue/KT-62232) embedAndSignAppleFrameworkForXcode task is broken with 1.9.20-Beta2 - [`KT-56455`](https://youtrack.jetbrains.com/issue/KT-56455) Gradle: remove `enableEndorsedLibs` from codebase - [`KT-51553`](https://youtrack.jetbrains.com/issue/KT-51553) Migrate all Kotlin Gradle plugin/Native tests to new test DSL and add CI configuration to run them ##### Tools. Incremental Compile ##### New Features - [`KT-61865`](https://youtrack.jetbrains.com/issue/KT-61865) Add support for incremental compilation within the in-process execution strategy in the build tools api ##### Fixes - [`KT-61137`](https://youtrack.jetbrains.com/issue/KT-61137) Incremental scripting compilation fails with 2.0 - [`KT-65943`](https://youtrack.jetbrains.com/issue/KT-65943) Incorrect scopeFqName recorded in LookupTracker - [`KT-56423`](https://youtrack.jetbrains.com/issue/KT-56423) IC: "Cannot access class 'xxx.Foo'. Check your module classpath for missing or conflicting dependencies" in tests and KSP - [`KT-62101`](https://youtrack.jetbrains.com/issue/KT-62101) IC: Execution failed for ClasspathEntrySnapshotTransform: when using tools.jar as dependency - [`KT-62686`](https://youtrack.jetbrains.com/issue/KT-62686) K2: Common module sees platform declarations in case of MPP project incremental compilation - [`KT-63837`](https://youtrack.jetbrains.com/issue/KT-63837) Implement baseline fix for common sources getting access to platform declarations - [`KT-64513`](https://youtrack.jetbrains.com/issue/KT-64513) Simplify adding configuration properties to incremental compilation - [`KT-21534`](https://youtrack.jetbrains.com/issue/KT-21534) IC doesn't recompile file with potential SAM-adapter usage - [`KT-63839`](https://youtrack.jetbrains.com/issue/KT-63839) Measure impact of rebuilding common sources, using nightly IC benchmarks - [`KT-64228`](https://youtrack.jetbrains.com/issue/KT-64228) K2: After switching to LV20 branch incremental tests are not running on PSI anymore - [`KT-46743`](https://youtrack.jetbrains.com/issue/KT-46743) Incremental compilation doesn't process usages of Java property in Kotlin code if getter is removed - [`KT-60522`](https://youtrack.jetbrains.com/issue/KT-60522) Incremental compilation doesn't process usages of Java property in Kotlin code if return type of getter changes - [`KT-56963`](https://youtrack.jetbrains.com/issue/KT-56963) Add MPP/Jvm incremental compilation tests for both K1 and K2 modes - [`KT-63876`](https://youtrack.jetbrains.com/issue/KT-63876) Move useful utilities from KmpIncrementalITBase.kt to KGPBaseTest and/or common utils - [`KT-63010`](https://youtrack.jetbrains.com/issue/KT-63010) Build reports may contain incorrect measurements for "Total size of the cache directory" - [`KT-59178`](https://youtrack.jetbrains.com/issue/KT-59178) With language version = 2.0 incremental compilation of JVM, JS fails on matching expect and actual declarations - [`KT-60831`](https://youtrack.jetbrains.com/issue/KT-60831) Fix IncrementalMultiplatformJvmCompilerRunnerTestGenerated in 2.0 branch ##### Tools. JPS - [`KT-65043`](https://youtrack.jetbrains.com/issue/KT-65043) JPS dumb mode should respect maps needed for the compiler - [`KT-55393`](https://youtrack.jetbrains.com/issue/KT-55393) JPS: Java synthetic properties incremental compilation is broken - [`KT-63549`](https://youtrack.jetbrains.com/issue/KT-63549) Add compiler performance metrics to JPS build reports - [`KT-63484`](https://youtrack.jetbrains.com/issue/KT-63484) JPS Kotlin Incremental Compilation Overcaching - [`KT-62486`](https://youtrack.jetbrains.com/issue/KT-62486) K2 Intellij build: Execution timeout after changes in IC in the K2 QG - [`KT-60737`](https://youtrack.jetbrains.com/issue/KT-60737) Investigate/fix JPS-related tests in 2.0 migration branch ##### Tools. Kapt ##### Fixes - [`KT-66541`](https://youtrack.jetbrains.com/issue/KT-66541) K2 KAPT: KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirPropertyAccessExpressionImpl' to be resolved - [`KT-64303`](https://youtrack.jetbrains.com/issue/KT-64303) K2 KAPT: Kapt doesn't dispose resources allocated by standalone analysis API - [`KT-66773`](https://youtrack.jetbrains.com/issue/KT-66773) KAPT: Generated stubs cannot access annotations from other module - [`KT-65399`](https://youtrack.jetbrains.com/issue/KT-65399) K2 QG: Kapt3 with K2 produces incorrect code - [`KT-65684`](https://youtrack.jetbrains.com/issue/KT-65684) KAPT: (Re)enable fallback to K1 KAPT and make it default - [`KT-44706`](https://youtrack.jetbrains.com/issue/KT-44706) KAPT: `@JvmRecord` causes "Record is an API that is part of a preview feature" - [`KT-59488`](https://youtrack.jetbrains.com/issue/KT-59488) K2: build sphinx-kotlin - [`KT-64391`](https://youtrack.jetbrains.com/issue/KT-64391) Some K2 Kapt integration tests are being executed with K1 - [`KT-65404`](https://youtrack.jetbrains.com/issue/KT-65404) KAPT should print a warning if stub generation is triggered for an interface with method bodies but without -Xjvm-default=all or -Xjvm-default=all-compatibility - [`KT-65453`](https://youtrack.jetbrains.com/issue/KT-65453) Kapt4: error "annotation `@ParameterName` is missing a default value for the element 'name'" for a composable lambda fun without parameters - [`KT-61080`](https://youtrack.jetbrains.com/issue/KT-61080) Kapt: investigate suspicious check for KMutableMap.Entry in KaptTreeMaker - [`KT-65006`](https://youtrack.jetbrains.com/issue/KT-65006) \[kapt] org.jetbrains.kotlin.utils.exceptions.KotlinIllegalArgumentExceptionWithAttachments: Error while resolving org.jetbrains.kotlin.fir.declarations.impl.FirRegularClassImpl in the K2 QG - [`KT-64479`](https://youtrack.jetbrains.com/issue/KT-64479) Kapt4 + Compose. Error: scoping construct cannot be annotated with type-use annotation: `@androidx`.compose.runtime.Composable - [`KT-64719`](https://youtrack.jetbrains.com/issue/KT-64719) K2 KAPT Stub genertaion doesn't fail on files with syntax errors - [`KT-64680`](https://youtrack.jetbrains.com/issue/KT-64680) Kapt: remove the flag to enable old JVM backend - [`KT-64639`](https://youtrack.jetbrains.com/issue/KT-64639) KAPT+JVM_IR: erased error types in JvmStatic and JvmOverloads - [`KT-64389`](https://youtrack.jetbrains.com/issue/KT-64389) K2 KAPT generates invalid code for multiple generic constraints - [`KT-61776`](https://youtrack.jetbrains.com/issue/KT-61776) K2: KAPT tasks fail with parallel gradle - [`KT-64021`](https://youtrack.jetbrains.com/issue/KT-64021) Kapt3 + Kapt4. NullPointerException: processingEnv must not be null - [`KT-64301`](https://youtrack.jetbrains.com/issue/KT-64301) K2 KAPT: Kapt doesn't report invalid enum value names to log - [`KT-64297`](https://youtrack.jetbrains.com/issue/KT-64297) K2 KAPT: Deprecated members are not marked with `@java`.lang.Deprecated - [`KT-60821`](https://youtrack.jetbrains.com/issue/KT-60821) \[KAPT4] Make sure that KAPT produces correct JCTree; if that's not possible, investigate using JavaPoet as an alternative - [`KT-62059`](https://youtrack.jetbrains.com/issue/KT-62059) Kapt4IT.kt18799 test fails - cannot find symbol Factory - [`KT-62097`](https://youtrack.jetbrains.com/issue/KT-62097) K2: \[KAPT4] Keep import statements for unresolved annotation classes - [`KT-61628`](https://youtrack.jetbrains.com/issue/KT-61628) K2: testAndroidDaggerIC doesn't work with Kapt4 - [`KT-61916`](https://youtrack.jetbrains.com/issue/KT-61916) K2 KAPT. Kapt doesn't generate fully qualified names for annotations used as arguments to other annotations - [`KT-61729`](https://youtrack.jetbrains.com/issue/KT-61729) K2: KAPT 4: Compiler crash during compilation of Sphinx for Android - [`KT-61333`](https://youtrack.jetbrains.com/issue/KT-61333) K2 Kapt: support REPORT_OUTPUT_FILES compiler mode - [`KT-61761`](https://youtrack.jetbrains.com/issue/KT-61761) Kapt4ToolIntegrationTestGenerated should not use Kapt3ComponentRegistrar - [`KT-59702`](https://youtrack.jetbrains.com/issue/KT-59702) KAPT4: Build sphinx-kotlin using KAPT4 ##### Tools. Maven - [`KT-63322`](https://youtrack.jetbrains.com/issue/KT-63322) Add tests for KTIJ-21742 - [`KT-54868`](https://youtrack.jetbrains.com/issue/KT-54868) Stop publishing `kotlin-archetype-js` - [`KT-60859`](https://youtrack.jetbrains.com/issue/KT-60859) K2: Fix maven `IncrementalCompilationIT` tests in 2.0 branch ##### Tools. Parcelize - [`KT-57685`](https://youtrack.jetbrains.com/issue/KT-57685) Support ImmutableCollections in Parcelize plugin ##### Tools. REPL - [`KT-18355`](https://youtrack.jetbrains.com/issue/KT-18355) REPL doesn't quit on the first line after pressing Ctrl+D or typing :quit ##### Tools. Scripts - [`KT-67727`](https://youtrack.jetbrains.com/issue/KT-67727) Kotlin Scripting with language version 2.0 fails during IR lowering on empty scripts - [`KT-66395`](https://youtrack.jetbrains.com/issue/KT-66395) K2: Scripting test testHelloSerialization fails on K2 - [`KT-63352`](https://youtrack.jetbrains.com/issue/KT-63352) Scripting dependencies resolver logs "file not found" even if the artefact is retrieved - [`KT-62400`](https://youtrack.jetbrains.com/issue/KT-62400) K2: Missing annotation resolving for scripts - [`KT-65865`](https://youtrack.jetbrains.com/issue/KT-65865) K2: Compile scripts in a separate session - [`KT-65967`](https://youtrack.jetbrains.com/issue/KT-65967) Scripts in common source roots should be forbidden for now - [`KT-58367`](https://youtrack.jetbrains.com/issue/KT-58367) Remove script-util from the repo ##### Tools. Wasm ##### New Features - [`KT-63417`](https://youtrack.jetbrains.com/issue/KT-63417) KMP hierarchy DSL. Split withWasm() into withWasmJs() and withWasmWasi() - [`KT-64553`](https://youtrack.jetbrains.com/issue/KT-64553) K/Wasm: enable binaryen by default in production builds ##### Fixes - [`KT-65864`](https://youtrack.jetbrains.com/issue/KT-65864) K/Wasm: update Node.js to 22.x - [`KT-67785`](https://youtrack.jetbrains.com/issue/KT-67785) Kotlin/Wasm: Node.JS 22 does not need experimental-wasm-gc flag anymore - [`KT-66228`](https://youtrack.jetbrains.com/issue/KT-66228) K/Wasm 2.0.0-Beta4 distribution doesn't contain all files - [`KT-66159`](https://youtrack.jetbrains.com/issue/KT-66159) K/Wasm: applyBinaryen somehow affects skiko.mjs - [`KT-67086`](https://youtrack.jetbrains.com/issue/KT-67086) K/Wasm: wasi with binaries.library fails on import and build - [`KT-65889`](https://youtrack.jetbrains.com/issue/KT-65889) wasmJsBrowserDistribution doesn't copy wasm binaries to dist folder - [`KT-66733`](https://youtrack.jetbrains.com/issue/KT-66733) wasmWasiTest is not compatible with Gradle Configuration Cache - [`KT-64851`](https://youtrack.jetbrains.com/issue/KT-64851) Wasm. Support Gradle configuration cache - [`KT-64601`](https://youtrack.jetbrains.com/issue/KT-64601) Indicate that wasmJsBrowserDevelopmentRun has finished bundling - [`KT-65686`](https://youtrack.jetbrains.com/issue/KT-65686) K/Wasm: Binaryen and d8 have to be downloaded via the same mechanism as Node.js and Yarn - [`KT-58291`](https://youtrack.jetbrains.com/issue/KT-58291) Wasm: --tests argument is ignored when running wasmBrowserTest ### [`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 class declared in different module - [`KT-58375`](https://youtrack.jetbrains.com/issue/KT-58375) Kapt: "wrong number of type arguments. required 1" when more than 22 type arguments - [`KT-48870`](https://youtrack.jetbrains.com/issue/KT-48870) \[FIR] Different behavior for explicit receiver resolution inside delegated constructors - [`KT-58013`](https://youtrack.jetbrains.com/issue/KT-58013) K2: "Not enough information to infer type variable T" when using assert non-null (!!) and delegation - [`KT-58365`](https://youtrack.jetbrains.com/issue/KT-58365) K2: Fix stub types leakage in builder inference caused by implicit receiver type update with partially resolved calls (IGNORE_LEAKED_INTERNAL_TYPES for stub types) - [`KT-58214`](https://youtrack.jetbrains.com/issue/KT-58214) Continuation parameter only exists in lowered suspend functions, but function origin is LOCAL_FUNCTION_FOR_LAMBDA - [`KT-58030`](https://youtrack.jetbrains.com/issue/KT-58030) K2/MPP/JVM: compiler backend crash on super-call to indirectly inherited Java method - [`KT-58135`](https://youtrack.jetbrains.com/issue/KT-58135) K2: Priority of extension property is lower than ordinary property - [`KT-57181`](https://youtrack.jetbrains.com/issue/KT-57181) \[K1/N, K2/N] Expect and Actual funs have different IdSignature.CommonSignature, if Expect has default argument - [`KT-58219`](https://youtrack.jetbrains.com/issue/KT-58219) K2/MPP/metadata: false-positive invisible reference error in Native-shared source set - [`KT-58145`](https://youtrack.jetbrains.com/issue/KT-58145) K2/MPP/metadata: compiler FIR crash on inheritance of a generic class with property by actual-class from Native-shared source set - [`KT-56023`](https://youtrack.jetbrains.com/issue/KT-56023) Constant operations (e.g. division) are not constant in K2 (JS, Native) - [`KT-57354`](https://youtrack.jetbrains.com/issue/KT-57354) In suspend function default arguments are sometimes not deleted in IR - [`KT-55242`](https://youtrack.jetbrains.com/issue/KT-55242) K2/MPP: basic build/link functionality - [`KT-57979`](https://youtrack.jetbrains.com/issue/KT-57979) K2: Unresolved reference error when assigning to Java synthetic property with a different nullability getter - [`KT-57543`](https://youtrack.jetbrains.com/issue/KT-57543) K2 reports DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE - [`KT-58142`](https://youtrack.jetbrains.com/issue/KT-58142) K2: val parameter with more specific type is lower priority - [`KT-48546`](https://youtrack.jetbrains.com/issue/KT-48546) Missed TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM error at plus-assign - [`KT-57854`](https://youtrack.jetbrains.com/issue/KT-57854) RECEIVER_TYPE_MISMATCH on synthetic property from mutually recursive Java generics with disabled ProperTypeInferenceConstraintsProcessing - [`KT-54518`](https://youtrack.jetbrains.com/issue/KT-54518) False negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE when calling internal method of super class - [`KT-58025`](https://youtrack.jetbrains.com/issue/KT-58025) K2: Argument type mismatch when using Springs HandlerMethodArgumentResolver - [`KT-58259`](https://youtrack.jetbrains.com/issue/KT-58259) Unexpected unresolved function call with obvious invoke-convention desugaring - [`KT-57135`](https://youtrack.jetbrains.com/issue/KT-57135) K2: Fir should take into account an annotation's allowed targets as well as the use-site target when deciding whether it applies to a property, a field, or a constructor parameter - [`KT-57069`](https://youtrack.jetbrains.com/issue/KT-57069) K2: Method kind in metadata is DECLARATION when DELEGATION is used in K1 - [`KT-57958`](https://youtrack.jetbrains.com/issue/KT-57958) K2: Initializer type mismatch when using extension property on type with star projection - [`KT-58149`](https://youtrack.jetbrains.com/issue/KT-58149) K2: New inference error with buildList - [`KT-58008`](https://youtrack.jetbrains.com/issue/KT-58008) K2: "Cannot find cached type parameter by FIR symbol: T" on suspend function with generic and nested class - [`KT-57835`](https://youtrack.jetbrains.com/issue/KT-57835) K2: compiler crash on lambda with dynamic receiver - [`KT-57601`](https://youtrack.jetbrains.com/issue/KT-57601) K2: Builtin function `extensionToString` can't be accessed - [`KT-57655`](https://youtrack.jetbrains.com/issue/KT-57655) K2: ImplicitIntegerCoercion is not working for named arguments - [`KT-58143`](https://youtrack.jetbrains.com/issue/KT-58143) K2: overload resolution ambiguity inside dynamic lambda - [`KT-58132`](https://youtrack.jetbrains.com/issue/KT-58132) K2: Implicit int constant to long converion crashes FirSerializer - [`KT-57378`](https://youtrack.jetbrains.com/issue/KT-57378) Partial linkage: Run codegen box tests for Native & JS with enabled PL - [`KT-58207`](https://youtrack.jetbrains.com/issue/KT-58207) K2: Handle result of completion of synthetic call with callable reference argument - [`KT-56549`](https://youtrack.jetbrains.com/issue/KT-56549) K2: Reference to Java sealed class fails to compile - [`KT-57994`](https://youtrack.jetbrains.com/issue/KT-57994) K2: Type inference failed on function reference - [`KT-58099`](https://youtrack.jetbrains.com/issue/KT-58099) interop0 test fails with error "type kotlin.String? is not supported here: doesn't correspond to any C type" - [`KT-57671`](https://youtrack.jetbrains.com/issue/KT-57671) Synthetic $EntriesMappings declaration is public and generated even for enums from current module on IC - [`KT-56517`](https://youtrack.jetbrains.com/issue/KT-56517) K2: Reference to Java record fails to compile: "unresolved reference", "Overload resolution ambiguity between candidates" - [`KT-58163`](https://youtrack.jetbrains.com/issue/KT-58163) FIR: deserialized default property setter and getter must have FirResolvePhase.ANALYZED_DEPENDENCIES phase - [`KT-55646`](https://youtrack.jetbrains.com/issue/KT-55646) K2: Report definitely non-nullable as reified error - [`KT-58043`](https://youtrack.jetbrains.com/issue/KT-58043) k2: Expect call is not removed from IR with nullability-based overload - [`KT-56442`](https://youtrack.jetbrains.com/issue/KT-56442) K2: Make sure K2 has the same behavior for defaults with overrides as K1 has - [`KT-55904`](https://youtrack.jetbrains.com/issue/KT-55904) Fix tests for volatile annotation on K2 - [`KT-57928`](https://youtrack.jetbrains.com/issue/KT-57928) K2: Arguments of annotations on constructor value parameter are not calculated - [`KT-57814`](https://youtrack.jetbrains.com/issue/KT-57814) K2: Argument type mismatch with delegating property - [`KT-56490`](https://youtrack.jetbrains.com/issue/KT-56490) Implement deprecation for an anonymous type exposed from inline functions with type argument - [`KT-57781`](https://youtrack.jetbrains.com/issue/KT-57781) K2: Generated serializer is invisible in a non-JVM test source set - [`KT-57807`](https://youtrack.jetbrains.com/issue/KT-57807) K2: Symbol already bound exception for arrayOf function from IrBuiltInsOverFir - [`KT-57962`](https://youtrack.jetbrains.com/issue/KT-57962) K2: No set method providing array access on dynamic - [`KT-57353`](https://youtrack.jetbrains.com/issue/KT-57353) K2: unresolved reference when using fully qualified object declaration name as an expression, when a declaration package is from another klib and has at least two name segments - [`KT-57899`](https://youtrack.jetbrains.com/issue/KT-57899) K2: compiler FIR2IR crash on anonymous object with inheritance by delegation to value of smart-casted type parameter - [`KT-57988`](https://youtrack.jetbrains.com/issue/KT-57988) K2: compiler exception on get operator on dynamic this - [`KT-57960`](https://youtrack.jetbrains.com/issue/KT-57960) K2: incorrect type inference in lambda with dynamic receiver - [`KT-57923`](https://youtrack.jetbrains.com/issue/KT-57923) K2: Optional expectation annotation crashes const evaluator - [`KT-56511`](https://youtrack.jetbrains.com/issue/KT-56511) K1: false negative SMARTCAST_IMPOSSIBLE when alien constructor property is accessed from a private class - [`KT-58033`](https://youtrack.jetbrains.com/issue/KT-58033) K2 reports Constructor must be private or protected in sealed class in actual sealed class if its constructor has own actual declaration - [`KT-58061`](https://youtrack.jetbrains.com/issue/KT-58061) K2: false-positive unsupported feature error on callable references to Java methods from annotation interfaces - [`KT-55079`](https://youtrack.jetbrains.com/issue/KT-55079) Refactor DiagnosticReporterByTrackingStrategy and fix some "diagnostic into black hole" problems - [`KT-57889`](https://youtrack.jetbrains.com/issue/KT-57889) K2: false-positive lack of information for inline function's type parameter in case of builder-style inference from caller function's return expression - [`KT-57961`](https://youtrack.jetbrains.com/issue/KT-57961) K2: Unresolved reference using dynamic lambda parameter - [`KT-57911`](https://youtrack.jetbrains.com/issue/KT-57911) K2: Contracts are not inherited by substitution overrides - [`KT-57880`](https://youtrack.jetbrains.com/issue/KT-57880) K2: false-positive argument type mismatch due to lambda receiver shadowing labeled outer lambda receiver when assigning lambda to variable - [`KT-57986`](https://youtrack.jetbrains.com/issue/KT-57986) K2: NPE on building Space - [`KT-57873`](https://youtrack.jetbrains.com/issue/KT-57873) K2: compiler FIR serialization crash on builder-style inference from lambda's return type - [`KT-57941`](https://youtrack.jetbrains.com/issue/KT-57941) K2: Assertion error on loading serializable class with non-serializable property compiled with K1 compiler - [`KT-57947`](https://youtrack.jetbrains.com/issue/KT-57947) K2: Incorrect resolution results when property type for invokeExtension is not inferred - [`KT-58002`](https://youtrack.jetbrains.com/issue/KT-58002) K2: compiler FIR serialization crash on platform type with type-targeted Java annotation with Java enum as argument - [`KT-57263`](https://youtrack.jetbrains.com/issue/KT-57263) K2/MPP/JVM: compiler codegen crash on expect-property as default argument for expect-function's parameter - [`KT-56942`](https://youtrack.jetbrains.com/issue/KT-56942) K2: False-negative NO_ELSE_IN_WHEN if subject is flexible type - [`KT-56687`](https://youtrack.jetbrains.com/issue/KT-56687) Unexpected behaviour with enum entries when using outdated stdlib - [`KT-56398`](https://youtrack.jetbrains.com/issue/KT-56398) K2/MPP: compiler backend crash on inheritance from expected interface - [`KT-57806`](https://youtrack.jetbrains.com/issue/KT-57806) K2: string interpolation as annotation parameter causes error - [`KT-57611`](https://youtrack.jetbrains.com/issue/KT-57611) K2: Annotation arguments are not evaluated - [`KT-56190`](https://youtrack.jetbrains.com/issue/KT-56190) \[K2/N] Const initializers are not serialized to klib - [`KT-57843`](https://youtrack.jetbrains.com/issue/KT-57843) K2: Missing diagnostic when calling constructor through typealias whose expansion has a deprecation - [`KT-57350`](https://youtrack.jetbrains.com/issue/KT-57350) FIR: deprecation diagnostic is not reported on a super class call - [`KT-57532`](https://youtrack.jetbrains.com/issue/KT-57532) K2: IrActualizer doesn't handle properties overloaded by extension receiver correctly - [`KT-57776`](https://youtrack.jetbrains.com/issue/KT-57776) K2: Suppressing "INVISIBLE_REFERENCE" leads to AssertionError: Unexpected IR element found during code generation - [`KT-57769`](https://youtrack.jetbrains.com/issue/KT-57769) \[K2] Load properties in proper order for classes compiled with kotlinx.serialization and LV < 2.0 - [`KT-57879`](https://youtrack.jetbrains.com/issue/KT-57879) K2: compiler FIR serialization crash on passing Java constants as arguments to type-targeted annotations - [`KT-57893`](https://youtrack.jetbrains.com/issue/KT-57893) K1/K2 inconsistency on smart casts of internally visible properties in friend modules - [`KT-57876`](https://youtrack.jetbrains.com/issue/KT-57876) K2: stack overflow in compiler FIR deserialization on nested type-target annotation class used in enclosing class - [`KT-57839`](https://youtrack.jetbrains.com/issue/KT-57839) K2: Compiler crash on lambda returning anonymous object with implemented lambda - [`KT-57822`](https://youtrack.jetbrains.com/issue/KT-57822) K2: Can't refer to external interface from class literal - [`KT-57809`](https://youtrack.jetbrains.com/issue/KT-57809) K2: No value passed for parameter of external class - [`KT-56383`](https://youtrack.jetbrains.com/issue/KT-56383) Build intellij master with LV 1.9 - [`KT-57735`](https://youtrack.jetbrains.com/issue/KT-57735) K2: MPP: K2 reports hides member of supertype and needs 'override' modifier for the function with `@PlatformDependent` annotation when there is an empty linux target in project - [`KT-55056`](https://youtrack.jetbrains.com/issue/KT-55056) Builder inference causes incorrect type inference result in related call - [`KT-57689`](https://youtrack.jetbrains.com/issue/KT-57689) K2: Unresolved reference to nested typealias in KLIB - [`KT-57665`](https://youtrack.jetbrains.com/issue/KT-57665) K2: incorrect resolution of dynamic type - [`KT-57381`](https://youtrack.jetbrains.com/issue/KT-57381) K2/MPP/Native: impossible to override Any::equals with non-external function - [`KT-57654`](https://youtrack.jetbrains.com/issue/KT-57654) K2: Lambda with receiver deserialized as lambda without receiver during metadata compilation - [`KT-57662`](https://youtrack.jetbrains.com/issue/KT-57662) K2: The error message is poorly formatted and not precise in case of NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS error and `@Suppress` is used - [`KT-57763`](https://youtrack.jetbrains.com/issue/KT-57763) FirExtensionRegistrar extension point broken - [`KT-57312`](https://youtrack.jetbrains.com/issue/KT-57312) K2: IR interpreter fails on string interpolation with `const val` from a klib involved - [`KT-57768`](https://youtrack.jetbrains.com/issue/KT-57768) Don't decompile code to search for annotation arguments - [`KT-55628`](https://youtrack.jetbrains.com/issue/KT-55628) Diagnostics for kotlin.concurrent.Volatile annotation applicability - [`KT-55860`](https://youtrack.jetbrains.com/issue/KT-55860) K2. \[CONFLICTING_INHERITED_MEMBERS] for inheritor of a class with overloaded generic function - [`KT-53491`](https://youtrack.jetbrains.com/issue/KT-53491) K2: Implement "Operator '==' cannot be applied to 'Long' and 'Int'" error - [`KT-55804`](https://youtrack.jetbrains.com/issue/KT-55804) K2: UNSAFE_CALL Non-nullable generic marked as nullable even if non-null asserted - [`KT-57682`](https://youtrack.jetbrains.com/issue/KT-57682) K2: Incorrect composing of signatures for calls on dynamic types - [`KT-55405`](https://youtrack.jetbrains.com/issue/KT-55405) K2: false-negative INVISIBLE_REFERENCE in import directives - [`KT-54781`](https://youtrack.jetbrains.com/issue/KT-54781) K2: no error on unresolved import statement with more than one package - [`KT-57635`](https://youtrack.jetbrains.com/issue/KT-57635) K2/MPP: Expect constructors are not considered as expect during metadata deserialization - [`KT-57376`](https://youtrack.jetbrains.com/issue/KT-57376) K2/MPP: false-positive K/JS diagnostic in absence of K/JS target when sharing a source set between K/JVM and K/Native - [`KT-55902`](https://youtrack.jetbrains.com/issue/KT-55902) K2: Support ImplicitIntegerCoercion annotation - [`KT-56577`](https://youtrack.jetbrains.com/issue/KT-56577) Migrate Native KLIB ABI compatibility tests to K2 - [`KT-56603`](https://youtrack.jetbrains.com/issue/KT-56603) \[K2/N] Segfault invoking fun from binary compatible klib - [`KT-57457`](https://youtrack.jetbrains.com/issue/KT-57457) K2: the error message is not quite informative in case of EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR - [`KT-57568`](https://youtrack.jetbrains.com/issue/KT-57568) K2: K2, Native reports overload resolution ambiguity - [`KT-57446`](https://youtrack.jetbrains.com/issue/KT-57446) K2: Adapter function reference is not generated inside when expression - [`KT-54894`](https://youtrack.jetbrains.com/issue/KT-54894) K2: False positive RETURN_TYPE_MISMATCH on function which returns a functional type with `@UnsafeVariance` argument - [`KT-57001`](https://youtrack.jetbrains.com/issue/KT-57001) K2 compilation fails due to nullabillity subtyping not working properly - [`KT-57271`](https://youtrack.jetbrains.com/issue/KT-57271) Delay forbidding inference to an empty intersection to version 2.0 - [`KT-57209`](https://youtrack.jetbrains.com/issue/KT-57209) K2: type parameters are available in companion object scope - [`KT-50550`](https://youtrack.jetbrains.com/issue/KT-50550) False positive NO_ELSE_IN_WHEN with annotated `when` branch condition - [`KT-57431`](https://youtrack.jetbrains.com/issue/KT-57431) K2 MPP JS: Compiler crash on transitive common dependencies - [`KT-57456`](https://youtrack.jetbrains.com/issue/KT-57456) K2 reports uninitializied variable in enum class when variable is used in lambda and defined in companion object - [`KT-57583`](https://youtrack.jetbrains.com/issue/KT-57583) K2/MPP/JS\&Native: FIR2IR compiler crash on reference to Any method inherited by expect-classifier - [`KT-56336`](https://youtrack.jetbrains.com/issue/KT-56336) \[K2/N] Multiplatform test fails with unexpected "actual declaration has no corresponding expected declaration" compiler error - [`KT-57556`](https://youtrack.jetbrains.com/issue/KT-57556) K2: Rename error 'This API is not available after FIR' - [`KT-23447`](https://youtrack.jetbrains.com/issue/KT-23447) Integer.toChar compiles to missing method - [`KT-46465`](https://youtrack.jetbrains.com/issue/KT-46465) Deprecate and make open Number.toChar() - [`KT-49017`](https://youtrack.jetbrains.com/issue/KT-49017) Forbid usages of super or super<Some> if in fact it accesses an abstract member - [`KT-56119`](https://youtrack.jetbrains.com/issue/KT-56119) BinaryVersion.isCompatible binary compatibility is broken - [`KT-57369`](https://youtrack.jetbrains.com/issue/KT-57369) K2/MPP: supertypes established in actual-classifiers from other source sets are not visible - [`KT-55469`](https://youtrack.jetbrains.com/issue/KT-55469) \[K2/N] equals(Double,Double) and equals(Boolean,Boolean) are not found - [`KT-57250`](https://youtrack.jetbrains.com/issue/KT-57250) K2: the metadata is serialized for an `expect` class even if the `actual` class is present when compiling to klib - [`KT-56660`](https://youtrack.jetbrains.com/issue/KT-56660) K2/MPP: compiler backend crash on invoking a K/Common constructor in K/JS code - [`KT-55055`](https://youtrack.jetbrains.com/issue/KT-55055) K1: Builder inference violates upper bound - [`KT-57316`](https://youtrack.jetbrains.com/issue/KT-57316) Initialize Enum.entries eagerly: avoid using invokedynamics - [`KT-57491`](https://youtrack.jetbrains.com/issue/KT-57491) Kotlin synthetic parameter looks ordinary - [`KT-56846`](https://youtrack.jetbrains.com/issue/KT-56846) K2: incorrect line & symbol numbers in exception reporting - [`KT-56368`](https://youtrack.jetbrains.com/issue/KT-56368) K2/MPP: compiler backend crash on missing actual declaration - [`KT-57104`](https://youtrack.jetbrains.com/issue/KT-57104) K2: false-positive conflicting inherited JVM declarations error despite use of `@JvmName` in another module - [`KT-56747`](https://youtrack.jetbrains.com/issue/KT-56747) \[K2/N] Return type for `lambda: (Any) -> Any` which returns Unit is different for K1 and K2 and return statement is missing with K2 - [`KT-57211`](https://youtrack.jetbrains.com/issue/KT-57211) K2: incorrect "error: an annotation argument must be a compile-time constant" on unsigned array in annotation argument - [`KT-57302`](https://youtrack.jetbrains.com/issue/KT-57302) K2 fails with IllegalStateException on reading inherited property of Java enum - [`KT-57424`](https://youtrack.jetbrains.com/issue/KT-57424) K2 IDE: "By now the annotations argument mapping should have been resolved" exception - [`KT-57241`](https://youtrack.jetbrains.com/issue/KT-57241) K2 MPP: Actualization doesn't work for actual enum that has primary constructor with arguments - [`KT-57210`](https://youtrack.jetbrains.com/issue/KT-57210) K2 MPP: Support of arguments with dynamic type - [`KT-57182`](https://youtrack.jetbrains.com/issue/KT-57182) K2 MPP: Actualization doesn't work for nested objects - [`KT-56344`](https://youtrack.jetbrains.com/issue/KT-56344) K2: Implement correct errors reporting of IrActualizer - [`KT-54405`](https://youtrack.jetbrains.com/issue/KT-54405) K2 compiler allows val redeclaration - [`KT-54531`](https://youtrack.jetbrains.com/issue/KT-54531) \[K2] Uncaught Runtime exception is thrown instead of user friendly error messages with details in case -no-jdk option set to true - [`KT-56926`](https://youtrack.jetbrains.com/issue/KT-56926) K2: incorrect line number generated for class constructor or method with default parameter when comment before - [`KT-56913`](https://youtrack.jetbrains.com/issue/KT-56913) K2: Incorrect line numbers in overriden field getters and setters - [`KT-56982`](https://youtrack.jetbrains.com/issue/KT-56982) K2: Incorrect line number start in when expression - [`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-57175`](https://youtrack.jetbrains.com/issue/KT-57175) K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type aliases - [`KT-25694`](https://youtrack.jetbrains.com/issue/KT-25694) Fix reporting of uninitialized parameter in default values of parameters - [`KT-57198`](https://youtrack.jetbrains.com/issue/KT-57198) K2: false-positive type mismatch error on inherited raw-typed class with type parameters in upper bounds of other type parameters - [`KT-15470`](https://youtrack.jetbrains.com/issue/KT-15470) Inconsistency: use-site 'set' target is a compilation error, use-site 'get' target is ok - [`KT-57179`](https://youtrack.jetbrains.com/issue/KT-57179) FIR: preserve prefix increment behavior like in K1 by calling getter twice - [`KT-57405`](https://youtrack.jetbrains.com/issue/KT-57405) K2. Function call ambiguity error when nullable String is passed to function with Spring `@Nullable` annotation in signature - [`KT-57284`](https://youtrack.jetbrains.com/issue/KT-57284) K2: compiler codegen crash at property initialization in constructor after smartcast of dispatch receiver to indirectly derived type - [`KT-57221`](https://youtrack.jetbrains.com/issue/KT-57221) K2: compiler FIR2IR crash on function's unavailable cached type parameter - [`KT-57036`](https://youtrack.jetbrains.com/issue/KT-57036) Unresolved reference: with inferred type of class constructor with extension parameter - [`KT-56177`](https://youtrack.jetbrains.com/issue/KT-56177) K2: FIR should not generate annotation on both property and parameter - [`KT-54990`](https://youtrack.jetbrains.com/issue/KT-54990) NI: Type mismatch when encountering bounded type parameter and projections - [`KT-57065`](https://youtrack.jetbrains.com/issue/KT-57065) K2: overload resolution ambiguity between type-aliased constructor and identically named function - [`KT-49653`](https://youtrack.jetbrains.com/issue/KT-49653) Deprecate and remove Enum.declaringClass synthetic property - [`KT-57190`](https://youtrack.jetbrains.com/issue/KT-57190) K2: false-positive unsafe call error on safe call on type-aliased nullable receiver in SAM-conversion - [`KT-57166`](https://youtrack.jetbrains.com/issue/KT-57166) K2: false-positive val reassignment error when synthetic property with implicitly typed overridden getter is called from implicitly typed member that is declared earlier - [`KT-55828`](https://youtrack.jetbrains.com/issue/KT-55828) \[K2/N]: Fix test fails in OPT mode : `Internal compiler error: no implementation found ... when building itable/vtable` - [`KT-56169`](https://youtrack.jetbrains.com/issue/KT-56169) False negative deprecation warning about future inference error with builder inference - [`KT-56657`](https://youtrack.jetbrains.com/issue/KT-56657) K1/K2: inconsistent behavior in nullability mismatch (Guava hash set/map) - [`KT-57105`](https://youtrack.jetbrains.com/issue/KT-57105) K2: compiler codegen crash at property initialization in constructor after smartcast - [`KT-56379`](https://youtrack.jetbrains.com/issue/KT-56379) K2: build tests for the Kotlin standard library - [`KT-56079`](https://youtrack.jetbrains.com/issue/KT-56079) K2: build YouTrack 2022.3 - [`KT-57092`](https://youtrack.jetbrains.com/issue/KT-57092) K2: false-positive multiple inherited implementations error - [`KT-56696`](https://youtrack.jetbrains.com/issue/KT-56696) K2: Allow to access uninitialized member properties in non-inPlace lambdas in class initialization - [`KT-56354`](https://youtrack.jetbrains.com/issue/KT-56354) K2/MPP: unresolved references to library entities - [`KT-57095`](https://youtrack.jetbrains.com/issue/KT-57095) K2: false-positive lack of type arguments error on raw cast of Base<\*> to Derived<T>: Base\<T?> - [`KT-56630`](https://youtrack.jetbrains.com/issue/KT-56630) FIR: ClassCastException on compilation hierarchy with a raw type - [`KT-57171`](https://youtrack.jetbrains.com/issue/KT-57171) K2: Implement bytecode tests - [`KT-57214`](https://youtrack.jetbrains.com/issue/KT-57214) K2: compiler FIR crash on annotation usage before annotation class declaration - [`KT-57204`](https://youtrack.jetbrains.com/issue/KT-57204) K2: callable reference to mutable property of inherited by delegation superinterface isn't properly resolved - [`KT-57195`](https://youtrack.jetbrains.com/issue/KT-57195) K2: false-positive VAR_TYPE_MISMATCH_ON_OVERRIDE on changing property's platform type to non-nullable type when overriding - [`KT-56814`](https://youtrack.jetbrains.com/issue/KT-56814) K2. PsiElement is null inside IrClass. As a result ClassBuilder defineClass gets null as origin - [`KT-54758`](https://youtrack.jetbrains.com/issue/KT-54758) Deprecate `ClassBuilderInterceptorExtension.interceptClassBuilderFactory` and provide another method without dependency on K1 - [`KT-57253`](https://youtrack.jetbrains.com/issue/KT-57253) K2: clean up callable reference logic in FIR2IR - [`KT-56225`](https://youtrack.jetbrains.com/issue/KT-56225) K2. "BackendException: Backend Internal error: Exception during IR lowering" error on incorrect constructor in inline class - [`KT-56769`](https://youtrack.jetbrains.com/issue/KT-56769) K2. Annotation applicability is ignored during compilation when there's use-site `@target` - [`KT-56616`](https://youtrack.jetbrains.com/issue/KT-56616) K2: cannot infer Java array type properly - [`KT-57247`](https://youtrack.jetbrains.com/issue/KT-57247) K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type-aliased vararg property - [`KT-57206`](https://youtrack.jetbrains.com/issue/KT-57206) K2: false-positive val reassignment error on synthetic property from generic class with overridden getter but not setter - [`KT-56519`](https://youtrack.jetbrains.com/issue/KT-56519) K2: Compiler crash on a function reference on companion receiver that inherits from outer class - [`KT-56506`](https://youtrack.jetbrains.com/issue/KT-56506) K1/K2 inconsistency: VAL_REASSIGNMENT on synthetic setter with different nullability - [`KT-56877`](https://youtrack.jetbrains.com/issue/KT-56877) K2: false-positive UNRESOLVED_LABEL for labeled this-expression in contract description - [`KT-56863`](https://youtrack.jetbrains.com/issue/KT-56863) K2: false-positive property initialization analysis errors after smartcast - [`KT-56864`](https://youtrack.jetbrains.com/issue/KT-56864) K2: Unexpected behavior with default parameter inheritance and function reference - [`KT-56665`](https://youtrack.jetbrains.com/issue/KT-56665) K2: false positive RECURSIVE_TYPEALIAS_EXPANSION - [`KT-53966`](https://youtrack.jetbrains.com/issue/KT-53966) K2 does not support SAM conversions with condition into Java/Kotlin functional interfaces - [`KT-56659`](https://youtrack.jetbrains.com/issue/KT-56659) FIR: Increment operator on object leads to exception from resolve - [`KT-56771`](https://youtrack.jetbrains.com/issue/KT-56771) FIR: Increment operator on qualified expressions leads to exception from resolve - [`KT-56759`](https://youtrack.jetbrains.com/issue/KT-56759) K2: False-positive UNRESOLVED_REFERENCE on labeled desctructuring declaration in LT mode - [`KT-56548`](https://youtrack.jetbrains.com/issue/KT-56548) K2: false positive overload resolution ambiguity for Java record constructor - [`KT-56476`](https://youtrack.jetbrains.com/issue/KT-56476) K2: false positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY at inline fun use-site - [`KT-56138`](https://youtrack.jetbrains.com/issue/KT-56138) K2: Illegal conversion of lambda with parameters to ExtensionFunction expected type - [`KT-56448`](https://youtrack.jetbrains.com/issue/KT-56448) K2: False-positive unsafe call due to incorrect inference of smartcasted type - [`KT-55966`](https://youtrack.jetbrains.com/issue/KT-55966) K2: Not enough information to infer type variable K if smartcast is used - [`KT-57168`](https://youtrack.jetbrains.com/issue/KT-57168) K2: compiler FIR2IR crash on synthetic property from generic class with overridden getter but not setter - [`KT-56876`](https://youtrack.jetbrains.com/issue/KT-56876) K2: false-positive UNRESOLVED_REFERENCE for name of nested class in contract description - [`KT-57194`](https://youtrack.jetbrains.com/issue/KT-57194) K2: overload resolution doesn't prioritize Double over Float - [`KT-57067`](https://youtrack.jetbrains.com/issue/KT-57067) Warning about expect/aсtual in the same module doesn't take into account absence of 'actual' modifier - [`KT-56954`](https://youtrack.jetbrains.com/issue/KT-56954) K2: function literals can be passed as arguments to parameters with kotlin.reflect function types - [`KT-55423`](https://youtrack.jetbrains.com/issue/KT-55423) K2: Implement CONTRACT_NOT_ALLOWED - [`KT-56923`](https://youtrack.jetbrains.com/issue/KT-56923) K2: no line number in bytecode when ASTORE exception in catch - [`KT-56829`](https://youtrack.jetbrains.com/issue/KT-56829) K2: compiler FIR2IR crash on passing to function a callable reference to nested class's constructor with default arguments - [`KT-57029`](https://youtrack.jetbrains.com/issue/KT-57029) Per-file caches fail on local inline function in an inline function - [`KT-57085`](https://youtrack.jetbrains.com/issue/KT-57085) K2: `@Suppress` is sensitive to its argument's case - [`KT-57103`](https://youtrack.jetbrains.com/issue/KT-57103) K1: AssertionError: Mismatching type arguments: 0 vs 1 + 0 when calling inline function with callable reference to generic synthetic property - [`KT-57033`](https://youtrack.jetbrains.com/issue/KT-57033) Make KtClassLiteralExpression stub based - [`KT-57035`](https://youtrack.jetbrains.com/issue/KT-57035) Make KtCollectionLiteralExpression stub based - [`KT-40857`](https://youtrack.jetbrains.com/issue/KT-40857) Invalid parameterized types for extension function on parameterized receiver when javaParameters=true - [`KT-56154`](https://youtrack.jetbrains.com/issue/KT-56154) Compiler backend crash on reference to Java synthetic property from generic class - [`KT-56692`](https://youtrack.jetbrains.com/issue/KT-56692) StackOverflow in PrivateInlineFunctionsReturningAnonymousObjectsChecker - [`KT-55879`](https://youtrack.jetbrains.com/issue/KT-55879) Modularized tests: fir.bench.language.version is used as API version, not language version - [`KT-51821`](https://youtrack.jetbrains.com/issue/KT-51821) ClassCastException on anonymous fun interface implementation when unrelated vararg is used - [`KT-56820`](https://youtrack.jetbrains.com/issue/KT-56820) K2: compiler FIR crash on Java field access after smartcast - [`KT-56579`](https://youtrack.jetbrains.com/issue/KT-56579) \[K2/N] IR actualizer crashed with K2 on expect annotation marked with `@OptionalExpectation`, without actual. - [`KT-56750`](https://youtrack.jetbrains.com/issue/KT-56750) K2: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER" when calling typealias method reference - [`KT-55614`](https://youtrack.jetbrains.com/issue/KT-55614) K2: consider serializing static enum members (values/valueOf/entries) to match K1 behavior - [`KT-30507`](https://youtrack.jetbrains.com/issue/KT-30507) Unsound smartcast if null assignment inside index place and plusAssign/minusAssign is used - [`KT-56646`](https://youtrack.jetbrains.com/issue/KT-56646) K2: "IllegalStateException: No single implementation found for: FUN FAKE_OVERRIDE" when compiling a functional interface - [`KT-56334`](https://youtrack.jetbrains.com/issue/KT-56334) K2: can't call expected function with default arguments - [`KT-56514`](https://youtrack.jetbrains.com/issue/KT-56514) K2 should report ACTUAL_TYPE_ALIAS_NOT_TO_CLASS - [`KT-56522`](https://youtrack.jetbrains.com/issue/KT-56522) K2 should report ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS - [`KT-56910`](https://youtrack.jetbrains.com/issue/KT-56910) Exception during IR lowering: Cannot determine lineNumber of element FUN name:cancelProgress - [`KT-56542`](https://youtrack.jetbrains.com/issue/KT-56542) K2: false positive TOO_MANY_ARGUMENTS in VarHandle.set call - [`KT-56861`](https://youtrack.jetbrains.com/issue/KT-56861) FIR: test FirPluginBlackBoxCodegenTestGenerated.testClassWithAllPropertiesConstructor is failing with runtime error - [`KT-56234`](https://youtrack.jetbrains.com/issue/KT-56234) K2: "ISE: Expected value generated with NEW" with inline property setter and noinline parameter - [`KT-56722`](https://youtrack.jetbrains.com/issue/KT-56722) K2: cannot resolve component call after smart cast - [`KT-56875`](https://youtrack.jetbrains.com/issue/KT-56875) K2: isOperator flag is incorrectly set for java methods - [`KT-56714`](https://youtrack.jetbrains.com/issue/KT-56714) K2: wrong argument mapping in DSL - [`KT-56723`](https://youtrack.jetbrains.com/issue/KT-56723) K2: lambda accidentally returns Unit? instead of Unit - [`KT-55877`](https://youtrack.jetbrains.com/issue/KT-55877) K2: Secondary constructor without call to parent: no frontend error, ISE: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" - [`KT-56386`](https://youtrack.jetbrains.com/issue/KT-56386) K2: Make possible to access Java field which is shadowed by Kotlin invisible property\` - [`KT-56862`](https://youtrack.jetbrains.com/issue/KT-56862) Compatibility problem with using Kotlin in Intellij 223 or higher because of missing particular trove4j dependency - [`KT-55088`](https://youtrack.jetbrains.com/issue/KT-55088) JS, Native compilation fail with internal error on `SomeEnum.entries` reference when `SomeEnum` is from klib compiled with disabled EnumEntries language feature - [`KT-40904`](https://youtrack.jetbrains.com/issue/KT-40904) No warning when declare actual in the same target (module) as expect - [`KT-56707`](https://youtrack.jetbrains.com/issue/KT-56707) K2: Unexpected TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM where only getter type specified explicitly - [`KT-56508`](https://youtrack.jetbrains.com/issue/KT-56508) Context receivers: Internal compiler error when compiling code containing a class with a secondary constructor - [`KT-56706`](https://youtrack.jetbrains.com/issue/KT-56706) K2: False-positive ARGUMENT_TYPE_MISMATCH for generic nested types from library - [`KT-56505`](https://youtrack.jetbrains.com/issue/KT-56505) K2: Missing `NO_EXPLICIT_VISIBILITY_IN_API_MODE` errors on various declarations - [`KT-56682`](https://youtrack.jetbrains.com/issue/KT-56682) K2: False-negative UNINITIALIZED_VARIABLE on access to delegated property - [`KT-56678`](https://youtrack.jetbrains.com/issue/KT-56678) K2: False-negative UNINITIALIZED_VARIABLE if corresponding variable has initializer - [`KT-56612`](https://youtrack.jetbrains.com/issue/KT-56612) K2: false positive NO_TYPE_ARGUMENTS_ON_RHS on raw cast with type alias based argument - [`KT-56445`](https://youtrack.jetbrains.com/issue/KT-56445) K2: False-positive unresolved reference to callable reference to function with default argument - [`KT-55024`](https://youtrack.jetbrains.com/issue/KT-55024) K2: overload resolution ambiguity/unresolved reference if variable is smart-casted to an invisible internal class - [`KT-55722`](https://youtrack.jetbrains.com/issue/KT-55722) K2: Incorrect OVERLOAD_RESOLUTION_AMBIGUITY with smart cast on dispatch receiver (simple) - [`KT-56563`](https://youtrack.jetbrains.com/issue/KT-56563) Inference within if stops working when changing expected type from Any to a different type - [`KT-55936`](https://youtrack.jetbrains.com/issue/KT-55936) K2: Support proper resolution of callable references as last statements in lambda - [`KT-45989`](https://youtrack.jetbrains.com/issue/KT-45989) FIR: wrong callable reference type inferred - [`KT-55169`](https://youtrack.jetbrains.com/issue/KT-55169) K2: False-negative NO_ELSE_IN_WHEN - [`KT-55932`](https://youtrack.jetbrains.com/issue/KT-55932) K2. No compiler error when elvis operator returns not matched type - [`KT-53987`](https://youtrack.jetbrains.com/issue/KT-53987) K2: False negative "TYPE_MISMATCH" with if statement return - [`KT-41038`](https://youtrack.jetbrains.com/issue/KT-41038) NI: TYPE_MISMATCH when passing constructor of nested class - [`KT-42449`](https://youtrack.jetbrains.com/issue/KT-42449) Can not resolve property for value of type Any even after casting type to a type with star projection - [`KT-52934`](https://youtrack.jetbrains.com/issue/KT-52934) StackOverflow from `PseudocodeTraverserKt.collectDataFromSubgraph` with `if` inside `finally` - [`KT-52860`](https://youtrack.jetbrains.com/issue/KT-52860) StackOverflowError when casting involving recursive generics and star projection - [`KT-52424`](https://youtrack.jetbrains.com/issue/KT-52424) ClassCastException: Wrong smartcast to Nothing? with if-else in nullable lambda parameter - [`KT-52262`](https://youtrack.jetbrains.com/issue/KT-52262) TYPE_MISMATCH: Nonnull smartcasting fails with non-exhaustive when - [`KT-52502`](https://youtrack.jetbrains.com/issue/KT-52502) Forbid extension calls on inline functional parameters - [`KT-51045`](https://youtrack.jetbrains.com/issue/KT-51045) SETTER_PROJECTED_OUT: Star projected nullable property can't be set to null - [`KT-40480`](https://youtrack.jetbrains.com/issue/KT-40480) \[FIR] Support `hasStableParameterName` from metadata - [`KT-50134`](https://youtrack.jetbrains.com/issue/KT-50134) NI: Type inference regression in java streams groupingBy - [`KT-50160`](https://youtrack.jetbrains.com/issue/KT-50160) False positive "USELESS_CAST" caused by indexed access operator - [`KT-42715`](https://youtrack.jetbrains.com/issue/KT-42715) Unable to use implicit lambda param `it` for overloaded methods - [`KT-49045`](https://youtrack.jetbrains.com/issue/KT-49045) False positive USELESS_CAST in generic type with nullable type parameter - [`KT-49024`](https://youtrack.jetbrains.com/issue/KT-49024) AssertionError: Variance conflict: type parameter variance 'out' and projection kind 'in' cannot be combined - [`KT-48975`](https://youtrack.jetbrains.com/issue/KT-48975) Type mismatch: inferred type is X but Nothing! was expected with the AssertJ latest version - [`KT-47870`](https://youtrack.jetbrains.com/issue/KT-47870) INVISIBLE_MEMBER: Kotlin class can't access protected annotation defined in Java parent class - [`KT-47495`](https://youtrack.jetbrains.com/issue/KT-47495) ReenteringLazyValueComputationException on invalid code - [`KT-47490`](https://youtrack.jetbrains.com/issue/KT-47490) Missed diagnostic for incorrect callable reference in finally - [`KT-47484`](https://youtrack.jetbrains.com/issue/KT-47484) "Recursion detected in a lazy value under LockBasedStorageManager" on invalid code - [`KT-46301`](https://youtrack.jetbrains.com/issue/KT-46301) Combining branches with sealed interfaces in `when` breaks type inference - [`KT-44392`](https://youtrack.jetbrains.com/issue/KT-44392) False negative: redundant nullability/not null check on cast with as operator - [`KT-43936`](https://youtrack.jetbrains.com/issue/KT-43936) Recursion detected on input: ANNOTATION_ENTRY with annotation on star-imported nested class - [`KT-43846`](https://youtrack.jetbrains.com/issue/KT-43846) No smart cast when returning function closures with captured smart-cast variable - [`KT-43603`](https://youtrack.jetbrains.com/issue/KT-43603) False positive USELESS_CAST leads to TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on "when" with smart cast and extension property - [`KT-43553`](https://youtrack.jetbrains.com/issue/KT-43553) JVM / IR: "AssertionError: Unbound symbols not allowed" caused by annotation class with TYPE target - [`KT-42169`](https://youtrack.jetbrains.com/issue/KT-42169) False negative CAST_NEVER_SUCCEEDS for incompatible types with generic parameter and star projection - [`KT-42136`](https://youtrack.jetbrains.com/issue/KT-42136) NI: False positive \[USELESS_CAST] when list serves to create a mutable list - [`KT-41721`](https://youtrack.jetbrains.com/issue/KT-41721) SAM conversion fails on varargs with type approximated to Nothing - [`KT-38288`](https://youtrack.jetbrains.com/issue/KT-38288) Unresolved reference for type parameter upper bound of nested class when outer class extends it with star projected type argument - [`KT-37490`](https://youtrack.jetbrains.com/issue/KT-37490) NULL_FOR_NONNULL_TYPE: "Null can not be a value of a non-null type Nothing" when null is passed to nullable argument of type projected method - [`KT-37365`](https://youtrack.jetbrains.com/issue/KT-37365) NPE from `ReflectionReferencesGenerator.generateCallableReference` with inner class function reference and wrong parenthesis - [`KT-36958`](https://youtrack.jetbrains.com/issue/KT-36958) NI: missed unresolved on parenthesized callable reference passing through call (back-ends throw an exception) - [`KT-30756`](https://youtrack.jetbrains.com/issue/KT-30756) No smartcast if elvis operator as a smartcast source in while or do-while is used as the last statement - [`KT-24737`](https://youtrack.jetbrains.com/issue/KT-24737) Report an error on invalid this-expression with angle brackets on left-hand side of a callable reference - [`KT-21463`](https://youtrack.jetbrains.com/issue/KT-21463) Compiler doesn't take into accout a type parameter upper bound if a corresponding type argument is in projection - [`KT-6822`](https://youtrack.jetbrains.com/issue/KT-6822) Smart cast doesn't work inside local returned expression in lambda - [`KT-55840`](https://youtrack.jetbrains.com/issue/KT-55840) Inconsistency between members of enums in bytecode between FE 1.0 + JVM IR and FIR + JVM IR - [`KT-47815`](https://youtrack.jetbrains.com/issue/KT-47815) JVM: "Recursion detected in a lazy value under LockBasedStorageManager" when trying to inherit interface from a class with non-trivial function - [`KT-17817`](https://youtrack.jetbrains.com/issue/KT-17817) No error reported on invalid LHS for class literal - [`KT-47373`](https://youtrack.jetbrains.com/issue/KT-47373) Missed diagnostics on/after non-null assertion (!!) on generic class class use with class literal - [`KT-51143`](https://youtrack.jetbrains.com/issue/KT-51143) Wrong Unit-requiring at if/when branch with stub types - [`KT-53671`](https://youtrack.jetbrains.com/issue/KT-53671) False-positive diagnostic reported on OptIn annotation import from root package - [`KT-53494`](https://youtrack.jetbrains.com/issue/KT-53494) Mistaken type inference in compound 'if' expression with nullability check and covariant type - [`KT-28668`](https://youtrack.jetbrains.com/issue/KT-28668) "AssertionError: Unrelated types in SAM conversion for index variable" if lambda argument of '\[...]' in LHS of augmented assignment is used as an implementation for different SAM interfaces - [`KT-55931`](https://youtrack.jetbrains.com/issue/KT-55931) Inference for callable reference inside synthetic calls for if/when/try/etc stops working when brought into lambda for a call - [`KT-20223`](https://youtrack.jetbrains.com/issue/KT-20223) Inline access check ignores operator calls to `invoke()` - [`KT-54478`](https://youtrack.jetbrains.com/issue/KT-54478) `@NoInfer` causes CONFLICTING_OVERLOADS - [`KT-56472`](https://youtrack.jetbrains.com/issue/KT-56472) K2: Add stack of all FIR elements to CheckerContext - [`KT-41126`](https://youtrack.jetbrains.com/issue/KT-41126) \[FIR] Inconsistency of a compiler behaviour at init block for an enum entry with and without a qualifier name - [`KT-54931`](https://youtrack.jetbrains.com/issue/KT-54931) Annotations defined in nested classes cannot be instantiated directly - [`KT-52338`](https://youtrack.jetbrains.com/issue/KT-52338) "IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class field - [`KT-24901`](https://youtrack.jetbrains.com/issue/KT-24901) No smart cast for `when` with early return - [`KT-53086`](https://youtrack.jetbrains.com/issue/KT-53086) "Cannot access '<init>' before superclass constructor has been called" with inner class secondary constructor - [`KT-55137`](https://youtrack.jetbrains.com/issue/KT-55137) Callable references with conversion are incorrectly allowed to be promoted to KFunction - [`KT-30497`](https://youtrack.jetbrains.com/issue/KT-30497) EXACTLY_ONCE contract doesn't work in a function with `vararg` parameter - [`KT-47074`](https://youtrack.jetbrains.com/issue/KT-47074) Front-end Internal error: Failed to analyze declaration State / java.lang.IllegalStateException: Should not be called! when try to add Parcelize - [`KT-24503`](https://youtrack.jetbrains.com/issue/KT-24503) Return-as-expression is allowed as this/super constructor parameter - [`KT-55379`](https://youtrack.jetbrains.com/issue/KT-55379) False positive NO_ELSE_IN_WHEN with smartcast to Boolean - [`KT-47750`](https://youtrack.jetbrains.com/issue/KT-47750) False positive NO_ELSE_IN_WHEN in presence of smartcast to sealed interface - [`KT-53819`](https://youtrack.jetbrains.com/issue/KT-53819) False positive UNINITIALIZED_VARIABLE with secondary constructor and custom property getter in local class - [`KT-56457`](https://youtrack.jetbrains.com/issue/KT-56457) JVM: Enum.entries are not annotated with `@NotNull` - [`KT-56072`](https://youtrack.jetbrains.com/issue/KT-56072) K2. "IllegalStateException: Fir2IrSimpleFunctionSymbol for <paramName> is already bound" when trying to access java synthetic property of inherited class - [`KT-50082`](https://youtrack.jetbrains.com/issue/KT-50082) Kotlin non-overriding property of subclass doesn't shadow same-named Java field from base class - [`KT-55822`](https://youtrack.jetbrains.com/issue/KT-55822) False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with raw types and mixed overridden members - [`KT-55666`](https://youtrack.jetbrains.com/issue/KT-55666) K2: label on local function is rejected: "Target label does not denote a function" - [`KT-56283`](https://youtrack.jetbrains.com/issue/KT-56283) False-positive INVISIBLE_MEMBER on overridden member of more specific type after smart cast - [`KT-51969`](https://youtrack.jetbrains.com/issue/KT-51969) \[FIR] Compilation for expect value class fails with "Fir2IrSimpleFunctionSymbol for \[declaration] is already bound" - [`KT-56329`](https://youtrack.jetbrains.com/issue/KT-56329) K2: compiler backend crash on two expected functions with similar signatures - [`KT-56361`](https://youtrack.jetbrains.com/issue/KT-56361) K2/MPP: receiver isn't available in lambda literals with receiver - [`KT-55295`](https://youtrack.jetbrains.com/issue/KT-55295) K2/MPP: JS build functionality - [`KT-55909`](https://youtrack.jetbrains.com/issue/KT-55909) \[K2/N] IndexOutOfBoundsException for a reference to a function defined in companion object superclass - [`KT-55664`](https://youtrack.jetbrains.com/issue/KT-55664) K2: eliminate ClassId.isSame call from FirClass.isSubclassOf - [`KT-56353`](https://youtrack.jetbrains.com/issue/KT-56353) K2. False negative "Unresolved reference" in default value of secondary constructor's parameter - [`KT-56381`](https://youtrack.jetbrains.com/issue/KT-56381) K2: Function type kind not extracted from lambda literal in generic call - [`KT-55747`](https://youtrack.jetbrains.com/issue/KT-55747) K2. "Convention for 'mod' is forbidden. Use 'rem'" error is missing - [`KT-56104`](https://youtrack.jetbrains.com/issue/KT-56104) Unnecessary inner classes attributes in class files for subclasses - [`KT-55570`](https://youtrack.jetbrains.com/issue/KT-55570) K2: ACTUAL_WITHOUT_EXPECT error is not reported on a simple actual class - [`KT-56176`](https://youtrack.jetbrains.com/issue/KT-56176) \[K2/N] "IllegalStateException: actual type is kotlin.Int, expected kotlin.Long" when expected type uses typealias - [`KT-56229`](https://youtrack.jetbrains.com/issue/KT-56229) K2: IllegalStateException (already bound) for triangle-like dependencies scheme with MPP scenario - [`KT-56199`](https://youtrack.jetbrains.com/issue/KT-56199) K2 + MPP + kotlinx.serialization: java.lang.VerifyError: Bad type on operand stack in aaload - [`KT-56212`](https://youtrack.jetbrains.com/issue/KT-56212) K2: Exception when compiling extension function declaration with illegally chained type parameter receiver - [`KT-55503`](https://youtrack.jetbrains.com/issue/KT-55503) K2: "Argument type mismatch" caused by using the wrong "this" - [`KT-56050`](https://youtrack.jetbrains.com/issue/KT-56050) K2: inconsistency regarding visibility of synthetic properties with protected getter and public setter - [`KT-49663`](https://youtrack.jetbrains.com/issue/KT-49663) FIR: Support `@kotlin`.jvm.PurelyImplements for java collections - [`KT-55468`](https://youtrack.jetbrains.com/issue/KT-55468) \[K2/N] Crash with debuginfo caused by changed tree using IMPLICIT_COERCION_TO_UNIT - [`KT-56269`](https://youtrack.jetbrains.com/issue/KT-56269) \[K2/N] Don't test "Tailrec is not allowed on open members" in K2 - [`KT-54647`](https://youtrack.jetbrains.com/issue/KT-54647) K2: Function call with Lambda on LHS of assignment leads to KotlinExceptionWithAttachments: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteral - [`KT-54648`](https://youtrack.jetbrains.com/issue/KT-54648) K2: Function call on left side of erroneous assignment isn't resolved - [`KT-55699`](https://youtrack.jetbrains.com/issue/KT-55699) K2. False Negative "Type parameter T is not an expression" - [`KT-56132`](https://youtrack.jetbrains.com/issue/KT-56132) Restore 'JvmBackendContext' constructor signature for compatibility - [`KT-55973`](https://youtrack.jetbrains.com/issue/KT-55973) K2: Exception from UnusedChecker on an unused destructuring - [`KT-56275`](https://youtrack.jetbrains.com/issue/KT-56275) K2 IDE: Missed error for enum super type - [`KT-54775`](https://youtrack.jetbrains.com/issue/KT-54775) K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl <implicit>" exception on incorrect code - [`KT-55528`](https://youtrack.jetbrains.com/issue/KT-55528) K2: CFA for property initialization analysis is not run for class initialization graphs - [`KT-54410`](https://youtrack.jetbrains.com/issue/KT-54410) K2: Deprecation warning instead of "this declaration is only available since Kotlin X" when language version in project are below required to use language feature - [`KT-55186`](https://youtrack.jetbrains.com/issue/KT-55186) K2: No compilation error on calling exception without constructor - [`KT-36776`](https://youtrack.jetbrains.com/issue/KT-36776) Treat special constructions (if, when, try) as a usual calls when there is expected type - [`KT-50947`](https://youtrack.jetbrains.com/issue/KT-50947) False negative: FE 1.0 doesn't report type variance conflict error on an inner type - [`KT-39041`](https://youtrack.jetbrains.com/issue/KT-39041) Collection literals should not be allowed inside annotation classes - [`KT-54694`](https://youtrack.jetbrains.com/issue/KT-54694) Consider enabling BooleanElvisBoundSmartCasts in K1 or K2 - [`KT-54587`](https://youtrack.jetbrains.com/issue/KT-54587) K2. CCE on compilation when some operator fun is needed and it is implemented as an extension function for another class - [`KT-52774`](https://youtrack.jetbrains.com/issue/KT-52774) Resolve unqualified enum constants based on expected type ##### Docs & Examples - [`KT-53643`](https://youtrack.jetbrains.com/issue/KT-53643) Update coding style conventions to include rangeUntil operator - [`KT-57902`](https://youtrack.jetbrains.com/issue/KT-57902) Create migration tutorial from kotlin-js to kotlin-multiplatform gradle plugin - [`KT-58381`](https://youtrack.jetbrains.com/issue/KT-58381) \[Docs]\[Libraries] Document Path.createParentDirectories ##### IDE ##### Performance Improvements - [`KTIJ-23501`](https://youtrack.jetbrains.com/issue/KTIJ-23501) Make main run configuration detection lighter - [`KT-56613`](https://youtrack.jetbrains.com/issue/KT-56613) Reduce memory consumption of light classes ##### Fixes - [`KT-57849`](https://youtrack.jetbrains.com/issue/KT-57849) K2: contract violation due to implicit java type with annotation - [`KT-57857`](https://youtrack.jetbrains.com/issue/KT-57857) LC: FakeFileForLightClass: Read access is allowed from inside read-action - [`KT-57578`](https://youtrack.jetbrains.com/issue/KT-57578) SLC: incorrect upper bound wildcards - [`KT-57917`](https://youtrack.jetbrains.com/issue/KT-57917) Analysis API: decompiled value parameters are not resolved - [`KT-56046`](https://youtrack.jetbrains.com/issue/KT-56046) K2 IDE: Avoid redundant resolve from annotations - [`KT-57569`](https://youtrack.jetbrains.com/issue/KT-57569) SLC: incorrect visibility for lateinit var with private setter - [`KT-57547`](https://youtrack.jetbrains.com/issue/KT-57547) SLC: non-last `vararg` value parameter type mismatch - [`KT-57548`](https://youtrack.jetbrains.com/issue/KT-57548) SLC: incorrect inheritance list for Comparator - [`KT-56843`](https://youtrack.jetbrains.com/issue/KT-56843) Light classes: certain kinds of constant values in property initializers aren't supported - [`KT-56868`](https://youtrack.jetbrains.com/issue/KT-56868) SLC: IncorrectOperationException on enum annotation arguments that are not valid Java identifiers - [`KT-56833`](https://youtrack.jetbrains.com/issue/KT-56833) Light classes: Accessors to lateinit properties don't have `@NotNull` annotations - [`KT-56845`](https://youtrack.jetbrains.com/issue/KT-56845) Light classes: Overridden property accessors don't have `@Override` annotation - [`KT-56441`](https://youtrack.jetbrains.com/issue/KT-56441) K2 IDE: reference from Java to ObjectName.INSTANCE of private object is red in IDE, but compiled successfully - [`KT-56891`](https://youtrack.jetbrains.com/issue/KT-56891) Symbol Classes: DefaultImpls classes contain methods without default implementation - [`KT-56842`](https://youtrack.jetbrains.com/issue/KT-56842) Light Classes: Primitive-backed context receiver parameters shouldn't be marked with `@NotNull` - [`KT-56835`](https://youtrack.jetbrains.com/issue/KT-56835) Light classes: Underlying fields for delegated properties should be marked as final and `@NotNull` - [`KT-56840`](https://youtrack.jetbrains.com/issue/KT-56840) Light Classes: Inline classes backed by Java primitives shouldn't be marked with `@NotNull` - [`KT-56728`](https://youtrack.jetbrains.com/issue/KT-56728) K2 IDE. False positive `not applicable to` for kotlin annotation with target annotating Java element - [`KT-55815`](https://youtrack.jetbrains.com/issue/KT-55815) SLC: Keep annotations on type when converting to `PsiType` - [`KT-55669`](https://youtrack.jetbrains.com/issue/KT-55669) K2 IDE: INRE from light classes ##### IDE. Completion - [`KTIJ-25108`](https://youtrack.jetbrains.com/issue/KTIJ-25108) K2 IDE: Code completion in Java context for Kotlin top level members: "Slow operations are prohibited on EDT" through KtAnalysisScopeProviderImpl.canBeAnalysed() - [`KTIJ-24989`](https://youtrack.jetbrains.com/issue/KTIJ-24989) K2 IDE: completion should show information about expanded types for type alias parameters - [`KTIJ-24992`](https://youtrack.jetbrains.com/issue/KTIJ-24992) K2 IDE: completion shows return type with incorrect nullability when type is stub type - [`KTIJ-24948`](https://youtrack.jetbrains.com/issue/KTIJ-24948) K2 IDE: "ERROR: class org.jetbrains.kotlin.fir.types.jvm.FirJavaTypeRef cannot be cast to class org.jetbrains.kotlin.fir.types.FirResolvedTypeRef" during completion of inner classes' constructors - [`KTIJ-24256`](https://youtrack.jetbrains.com/issue/KTIJ-24256) K2 IDE: Angle brackets are missing in completion of function with type parameters - [`KTIJ-24083`](https://youtrack.jetbrains.com/issue/KTIJ-24083) K2, Completion: Exception on adding a type parameter receiver to a function - [`KTIJ-23963`](https://youtrack.jetbrains.com/issue/KTIJ-23963) K2 IDE: Completion in Kotlin suggests overriding a Java field; fails with "Unknown member to override" - [`KTIJ-22359`](https://youtrack.jetbrains.com/issue/KTIJ-22359) K2 IDE: no completion for Java synthetic properties from super class - [`KTIJ-23880`](https://youtrack.jetbrains.com/issue/KTIJ-23880) Completion doesn't work for Java synthetic property reference ##### IDE. Decompiler, Indexing, Stubs - [`KTIJ-25152`](https://youtrack.jetbrains.com/issue/KTIJ-25152) Kotlin Bytecode tool window: ISE Symbol with IrSimpleFunctionSymbolImpl is unbound on actual callable with argument in mpp project with IR - [`KTIJ-24475`](https://youtrack.jetbrains.com/issue/KTIJ-24475) Migrate kotlin index extension implementation from object to classes - [`KTIJ-24335`](https://youtrack.jetbrains.com/issue/KTIJ-24335) Kotlin Bytecode tool window: NoSuchElementException caused by duplicate Boolean type descriptor in JvmSharedVariablesManager.getProvider - [`KTIJ-24206`](https://youtrack.jetbrains.com/issue/KTIJ-24206) Kotlin Bytecode tool window: "Unhandled intrinsic in ExpressionCodegen" when compiling a source file with an expect function - [`KTIJ-15764`](https://youtrack.jetbrains.com/issue/KTIJ-15764) IR by default in Kotlin bytecode tool window ##### IDE. Gradle Integration - [`KT-59034`](https://youtrack.jetbrains.com/issue/KT-59034) MPP build failed with "Factory type is not known for plugin variants" in kt-231-\* - [`KT-56671`](https://youtrack.jetbrains.com/issue/KT-56671) KGP import: K/N distribution libraries should'n be resolved for IDE by KGP with package names - [`KTIJ-24573`](https://youtrack.jetbrains.com/issue/KTIJ-24573) KGP-based import: commonized cinterop libraries don't include source set targets, unsupported by host - [`KTIJ-25757`](https://youtrack.jetbrains.com/issue/KTIJ-25757) KJS: 1.9.0-Beta fails to run when running in Android Studio - [`KTIJ-24701`](https://youtrack.jetbrains.com/issue/KTIJ-24701) KGP import: JVM+Android shared source sets don't receive a correct default stdlib dependency - [`KTIJ-24745`](https://youtrack.jetbrains.com/issue/KTIJ-24745) IDE sync of kotlin("js") projects with js(BOTH) set fails with exception because of the new MPP IDE import - [`KTIJ-24567`](https://youtrack.jetbrains.com/issue/KTIJ-24567) Enable KGP dependency resolution by default - [`KTIJ-24729`](https://youtrack.jetbrains.com/issue/KTIJ-24729) KotlinMPPGradleProjectResolverKt must not be requested from main classloader on project import - [`KTIJ-11978`](https://youtrack.jetbrains.com/issue/KTIJ-11978) IDE does not recognize the sources JAR of a published to mavenLocal MPP library ##### IDE. Inspections and Intentions - [`KTIJ-24684`](https://youtrack.jetbrains.com/issue/KTIJ-24684) K2 IDE: 'Redundant qualifier name' false positive in type specification in extension function - [`KTIJ-24662`](https://youtrack.jetbrains.com/issue/KTIJ-24662) K2 IDE: False positive "Redundant qualifier name" inspection for nested class from base interface - [`KTIJ-25232`](https://youtrack.jetbrains.com/issue/KTIJ-25232) K2 IDE: "Redundant qualifier name" inspection false positive with object referenced via property - [`KTIJ-25447`](https://youtrack.jetbrains.com/issue/KTIJ-25447) Make Enum.entries and RangeUntil inspections don't check for opt-in when APIs become stable - [`KTIJ-23588`](https://youtrack.jetbrains.com/issue/KTIJ-23588) K2 IDE. False positive unused import directive for extension function of an object - [`KTIJ-25112`](https://youtrack.jetbrains.com/issue/KTIJ-25112) K2 IDE: False positive "Actual value of parameter 'b' is always 'null'" - [`KTIJ-24485`](https://youtrack.jetbrains.com/issue/KTIJ-24485) Explicit API mode: false positive "redundant 'public' modifier" - [`KTIJ-24453`](https://youtrack.jetbrains.com/issue/KTIJ-24453) Unsuccessfull resolve error from OperatorToFunctionIntention on recursive property declaration ##### IDE. JS - [`KT-58427`](https://youtrack.jetbrains.com/issue/KT-58427) Kotlin Gradle Plugin ignores language version value for Kotlin/JS sources ##### IDE. Libraries - [`KTIJ-25096`](https://youtrack.jetbrains.com/issue/KTIJ-25096) K2 IDE: Library sessions are garbage collected between performance test runs with enabled library caches - [`KTIJ-24413`](https://youtrack.jetbrains.com/issue/KTIJ-24413) Cannot navigate to enum of the Kotlin library via entries call ##### IDE. Multiplatform - [`KTIJ-25859`](https://youtrack.jetbrains.com/issue/KTIJ-25859) MPP: Library wizard with android target uses deprecated `androidTest` source set - [`KTIJ-25479`](https://youtrack.jetbrains.com/issue/KTIJ-25479) Compiler options is not imported correctly for js source sets - [`KTIJ-24011`](https://youtrack.jetbrains.com/issue/KTIJ-24011) MPP: Native tests are missing run gutters ##### JavaScript ##### New Features - [`KT-12784`](https://youtrack.jetbrains.com/issue/KT-12784) JS: generate ES2015 compatible modules - [`KT-48154`](https://youtrack.jetbrains.com/issue/KT-48154) KJS / IR: Inline members support for external types - [`KT-51582`](https://youtrack.jetbrains.com/issue/KT-51582) FIR: support basic compile-time evaluation for JS backend ##### Fixes - [`KT-43490`](https://youtrack.jetbrains.com/issue/KT-43490) KJS / IR: "Cannot set property message of Error which has only a getter" caused by class that is child of Throwable - [`KT-57690`](https://youtrack.jetbrains.com/issue/KT-57690) K2/MPP: compileProductionLibraryKotlinJs fails with Module has a reference to symbol kotlin/arrayOf|3204918726020768747\[0]. Neither the module itself nor its dependencies contain such declaration - [`KT-56911`](https://youtrack.jetbrains.com/issue/KT-56911) K2/MPP: Compile K/JS fails for `@Serializable` annotation with class IrDeclarationOrigin$GeneratedByPlugin cannot be cast to class IrDeclarationOriginImpl - [`KT-56950`](https://youtrack.jetbrains.com/issue/KT-56950) Support KLIB IC with K2 - [`KT-58570`](https://youtrack.jetbrains.com/issue/KT-58570) KJS: ES6 classes + PL throw java.lang.NullPointerException - [`KT-58835`](https://youtrack.jetbrains.com/issue/KT-58835) K2/JS: Fix incremental compilation klib tests - [`KT-58794`](https://youtrack.jetbrains.com/issue/KT-58794) KJS / K2: Assertion failed with Space build - [`KT-51706`](https://youtrack.jetbrains.com/issue/KT-51706) Partial linkage: in case of absent symbol referred from declaration Native compiler is successful, JavaScript fails - [`KT-54452`](https://youtrack.jetbrains.com/issue/KT-54452) Kotlin/JS libraries with "joined" legacy+IR content: publish IR sources for them - [`KT-53180`](https://youtrack.jetbrains.com/issue/KT-53180) Kotlin/JS: generated TypeScript constructor can have "TS1016: A required parameter cannot follow an optional parameter" error with certain properties order - [`KT-39650`](https://youtrack.jetbrains.com/issue/KT-39650) KJS IR: provide a way to enable ES2015 class generation - [`KT-57990`](https://youtrack.jetbrains.com/issue/KT-57990) KJS/IR. Invalid `super` call for final parent methods (ES classes) - [`KT-58246`](https://youtrack.jetbrains.com/issue/KT-58246) KJS: ES15 classses — duplicated code in class constructor - [`KT-57479`](https://youtrack.jetbrains.com/issue/KT-57479) KJS: Add an annotation for a function parameter which checks that a passed argument has an external type - [`KT-58201`](https://youtrack.jetbrains.com/issue/KT-58201) Unknown statement type when building with ES modules - [`KT-30810`](https://youtrack.jetbrains.com/issue/KT-30810) values and valueOf are miscompiled for external enum classes - [`KT-57024`](https://youtrack.jetbrains.com/issue/KT-57024) Ugly TypeScript definitions for declarations with both `@JsExport` and `@Serializable` - [`KT-56237`](https://youtrack.jetbrains.com/issue/KT-56237) KJS + IC: Adding or removing interface default implementation doesn't invalidate children and doesn't update JS code - [`KT-54638`](https://youtrack.jetbrains.com/issue/KT-54638) K2/JS: Fir2ir - implement and use JS-specific mangler - [`KT-54028`](https://youtrack.jetbrains.com/issue/KT-54028) Native / JS: Using private object implementing a sealed interface causes a linker error - [`KT-57423`](https://youtrack.jetbrains.com/issue/KT-57423) KJS: Add an annotation for external interfaces which allows to be inherited only by other external interfaces, classes or objects - [`KT-57711`](https://youtrack.jetbrains.com/issue/KT-57711) K2: Native & JS fail to compile a KLIB that uses const val from a dependency KLIB - [`KT-57078`](https://youtrack.jetbrains.com/issue/KT-57078) JS IC: Unbound symbol left in `SymbolTable` in `JsIr[ES6]InvalidationTestGenerated.testBreakKlibBinaryCompatibilityWithVariance` tests - [`KT-57254`](https://youtrack.jetbrains.com/issue/KT-57254) Deprecate `external enum` declarations - [`KT-57002`](https://youtrack.jetbrains.com/issue/KT-57002) KJS: "JsParserException: missing name after . operator" when a js(...) block contains an interpolated constant - [`KT-56961`](https://youtrack.jetbrains.com/issue/KT-56961) JS IR: serializedIrFileFingerprints in klib manifest has a wrong format - [`KT-56282`](https://youtrack.jetbrains.com/issue/KT-56282) KJS: Invalidate incremental cache in case of compiler internal errors ##### KMM Plugin - [`KT-55402`](https://youtrack.jetbrains.com/issue/KT-55402) "Framework not found SQLCipher": after selection of "Regular framework" as "iOS framework distribution" and installing SqlCihper through CocoaPods - [`KT-55988`](https://youtrack.jetbrains.com/issue/KT-55988) KN debugger in KMM plugin for Android Studio can't recognize the source code ##### Language Design ##### New Features - [`KT-48872`](https://youtrack.jetbrains.com/issue/KT-48872) Provide modern and performant replacement for Enum.values() - [`KT-15613`](https://youtrack.jetbrains.com/issue/KT-15613) Introduce special syntax for the until operator - [`KT-4107`](https://youtrack.jetbrains.com/issue/KT-4107) Design and implement a solution for toString, equals and hashCode on objects (data object) ##### Fixes - [`KT-28850`](https://youtrack.jetbrains.com/issue/KT-28850) Prohibit protected visibility in final expected classes - [`KT-39362`](https://youtrack.jetbrains.com/issue/KT-39362) Expect fun interface must have actual fun interface counterpart - [`KT-48994`](https://youtrack.jetbrains.com/issue/KT-48994) Prohibit type unsound java fields assignments - [`KT-58791`](https://youtrack.jetbrains.com/issue/KT-58791) Prolongate PROGRESSION_CHANGE_RESOLVE diagnostics to 2.x - [`KT-53778`](https://youtrack.jetbrains.com/issue/KT-53778) Release stdlib API about "rangeUntil" operator in 1.9 - [`KT-53653`](https://youtrack.jetbrains.com/issue/KT-53653) Export Enum.entries to Objective-C and Swift - [`KT-55177`](https://youtrack.jetbrains.com/issue/KT-55177) Deprecate declaration of expect and actual counterparts of same class in one module - [`KT-49110`](https://youtrack.jetbrains.com/issue/KT-49110) Prohibit access to members of companion of enum class from initializers of entries of this enum - [`KT-47986`](https://youtrack.jetbrains.com/issue/KT-47986) Forbid implicit inferring a type variable into an upper bound in the builder inference context - [`KT-57395`](https://youtrack.jetbrains.com/issue/KT-57395) Delay ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound feature to LV 2.0 - [`KT-55082`](https://youtrack.jetbrains.com/issue/KT-55082) Bump KLib version for Enum.entries - [`KT-49264`](https://youtrack.jetbrains.com/issue/KT-49264) Deprecate infix function calls of functions named "suspend" with dangling function literal ##### Libraries ##### New Features - [`KT-58046`](https://youtrack.jetbrains.com/issue/KT-58046) Stabilize remaining kotlin.time API: time sources, time marks, measureTime - [`KT-58074`](https://youtrack.jetbrains.com/issue/KT-58074) Stabilization of Atomics API in K/N - [`KT-55268`](https://youtrack.jetbrains.com/issue/KT-55268) Mutiplatform `@Volatile` annotation - [`KT-51908`](https://youtrack.jetbrains.com/issue/KT-51908) Provide common function for getting regex capture group by name - [`KT-53263`](https://youtrack.jetbrains.com/issue/KT-53263) Path.createParentDirectories - [`KT-7637`](https://youtrack.jetbrains.com/issue/KT-7637) Add toString() to standard delegates classes (NotNullVar, LazyVal, BlockingLazyVal, ...) - [`KT-40728`](https://youtrack.jetbrains.com/issue/KT-40728) Add AssertionError constructor with `cause: Throwable` parameter to common stdlib - [`KT-57298`](https://youtrack.jetbrains.com/issue/KT-57298) Avoid FileAlreadyExistsException from Path.createParentDirectories in case of parent is symlink ##### Performance Improvements - [`KT-54739`](https://youtrack.jetbrains.com/issue/KT-54739) `build` method in collection builders (Set, Map, List) should return a single instance for empty collections - [`KT-42589`](https://youtrack.jetbrains.com/issue/KT-42589) Provide common listOf(value) overload to avoid allocation of the vararg - [`KT-55091`](https://youtrack.jetbrains.com/issue/KT-55091) Stdlib: Sequence.toSet() and Sequence.toList() may create the collection twice - [`KT-57617`](https://youtrack.jetbrains.com/issue/KT-57617) Optimize ReversedListReadOnly iterator - [`KT-57607`](https://youtrack.jetbrains.com/issue/KT-57607) KJS: Bad performance for ArrayList.addAll ##### Fixes - [`KT-58841`](https://youtrack.jetbrains.com/issue/KT-58841) Serialization: NPE when obtaining a serializer of a sealed base class with a self-referencing property - [`KT-57728`](https://youtrack.jetbrains.com/issue/KT-57728) Explicitly specify level of stability of programmatically-accessible interoperability API - [`KT-58985`](https://youtrack.jetbrains.com/issue/KT-58985) Update KClass.isData KDoc - [`KT-57762`](https://youtrack.jetbrains.com/issue/KT-57762) Introduce HexFormat for formatting and parsing hexadecimals - [`KT-55612`](https://youtrack.jetbrains.com/issue/KT-55612) Stabilize experimental API for 1.9 - [`KT-58548`](https://youtrack.jetbrains.com/issue/KT-58548) Stabilize standard library API for Enum.entries - [`KT-56400`](https://youtrack.jetbrains.com/issue/KT-56400) Disable compilation of atomicfu-runtime with legacy JS backend - [`KT-58276`](https://youtrack.jetbrains.com/issue/KT-58276) Deprecate redundant public declarations in kotlin.native.concurrent - [`KT-35973`](https://youtrack.jetbrains.com/issue/KT-35973) Extract org.w3c declarations from stdlib-js - [`KT-58073`](https://youtrack.jetbrains.com/issue/KT-58073) JS/Legacy compiler blocks compilation of kotlinx.atomicfu with K2 - [`KT-57317`](https://youtrack.jetbrains.com/issue/KT-57317) Repack EnumEntries from stdlib into the compiler - [`KT-54702`](https://youtrack.jetbrains.com/issue/KT-54702) Native: mark Worker and related APIs as obsolete - [`KT-55610`](https://youtrack.jetbrains.com/issue/KT-55610) Deprecate kotlin.jvm.Volatile annotation in platforms except JVM - [`KT-57404`](https://youtrack.jetbrains.com/issue/KT-57404) Native: Support AnnotationTarget.TYPE_PARAMETER - [`KT-57318`](https://youtrack.jetbrains.com/issue/KT-57318) Change EnumEntries stdlib implementation to be eager - [`KT-57137`](https://youtrack.jetbrains.com/issue/KT-57137) Native: Consider removing ArrayAsList - [`KT-56661`](https://youtrack.jetbrains.com/issue/KT-56661) Missing EnumEntries-related bytecode in kotlin-stdlib-1.9.255-SNAPSHOT.jar - [`KT-51579`](https://youtrack.jetbrains.com/issue/KT-51579) PlatformImplementations loading is not compatible with graalvm native-image --no-fallback ##### Native - [`KT-54098`](https://youtrack.jetbrains.com/issue/KT-54098) Decommission and remove 'enableEndorsedLibs' flag from Gradle setup - [`KT-52594`](https://youtrack.jetbrains.com/issue/KT-52594) Provide Alpha support for Native in the K2 platform - [`KT-56071`](https://youtrack.jetbrains.com/issue/KT-56071) K2/MPP: Native build functionality - [`KT-56218`](https://youtrack.jetbrains.com/issue/KT-56218) \[K2/N] Receiver annotations for properties are not serialized - [`KT-56326`](https://youtrack.jetbrains.com/issue/KT-56326) \[K2/N] RemoveRedundantCallsToStaticInitializersPhase removes important static initializer - [`KT-27002`](https://youtrack.jetbrains.com/issue/KT-27002) `lateinit` intrinsics frontend checkers aren't applied on Native ##### Native. Build Infrastructure - [`KT-58160`](https://youtrack.jetbrains.com/issue/KT-58160) Native: performance build configuration fails with NoSuchMethodError: 'boolean kotlinx.coroutines.CompletableDeferredKt.completeWith(kotlinx.coroutines.CompletableDeferred, java.lang.Object)' ##### Native. C and ObjC Import - [`KT-54610`](https://youtrack.jetbrains.com/issue/KT-54610) Kotlin Native can't call `objc_direct` functions - [`KT-57918`](https://youtrack.jetbrains.com/issue/KT-57918) \[K2/N] Support typealiases in FirClassSymbol<\*>.selfOrAnySuperClass() - [`KT-58651`](https://youtrack.jetbrains.com/issue/KT-58651) Native c-interop tool generates broken `@Deprecated` annotations - [`KT-57541`](https://youtrack.jetbrains.com/issue/KT-57541) Compilation fails without explicit cast on cinterop code - [`KT-54805`](https://youtrack.jetbrains.com/issue/KT-54805) KMP ios memory leak when using CA Layer - [`KT-57490`](https://youtrack.jetbrains.com/issue/KT-57490) \[K/N] Duplicate package names for cinterop klibs with objc protocols fails to link ##### Native. ObjC Export - [`KT-58839`](https://youtrack.jetbrains.com/issue/KT-58839) K/N: Exception during HiddenFromObjC marked class extension function compiling - [`KT-56464`](https://youtrack.jetbrains.com/issue/KT-56464) K/N: Allow HiddenFromObjC for classes - [`KT-57507`](https://youtrack.jetbrains.com/issue/KT-57507) K2: Set of Objc exported declarations is different between K1 and K2 ##### Native. Runtime - [`KT-58441`](https://youtrack.jetbrains.com/issue/KT-58441) Kotlin/Native: `@ObjCAction` `@ObjCOutlet` generate bridges without switching state - [`KT-57091`](https://youtrack.jetbrains.com/issue/KT-57091) Align Native and Java file/class initialization behavior ##### Native. Runtime. Memory - [`KT-56233`](https://youtrack.jetbrains.com/issue/KT-56233) \[Kotlin/Native] Crash when enum values are accessed in multiple threads - [`KT-58130`](https://youtrack.jetbrains.com/issue/KT-58130) Implement preview of custom allocator for Kotlin/Native - [`KT-56402`](https://youtrack.jetbrains.com/issue/KT-56402) Native: if a Kotlin peer for an Obj-C object is created on the main thread, then Kotlin runtime should run objc_release for it on the main thread ##### Native. Stdlib - [`KT-57344`](https://youtrack.jetbrains.com/issue/KT-57344) Try to remove strange .equals overload on primitive types - [`KT-57592`](https://youtrack.jetbrains.com/issue/KT-57592) Native: Remove the default parameter value for AtomicLong constructor ##### Native. Testing - [`KT-57349`](https://youtrack.jetbrains.com/issue/KT-57349) Enable more K2 MPP codegen/box tests for Kotlin/Native - [`KT-57026`](https://youtrack.jetbrains.com/issue/KT-57026) K2: Fix Native test infrastructure for MPP ##### Reflection - [`KT-54833`](https://youtrack.jetbrains.com/issue/KT-54833) Reflection: Incorrect behaviour for Field.kotlinProperty function in companion objects - [`KT-56650`](https://youtrack.jetbrains.com/issue/KT-56650) ArrayStoreException from InlineClassAwareCaller.call with an array of inline class - [`KT-56093`](https://youtrack.jetbrains.com/issue/KT-56093) Metaspace leak in a Gradle plugin built with Kotlin 1.8.0 - [`KT-55937`](https://youtrack.jetbrains.com/issue/KT-55937) Optimize implementation of kotlinFunction/kotlinProperty ##### Tools. CLI - [`KT-57495`](https://youtrack.jetbrains.com/issue/KT-57495) Add JVM target bytecode version 20 - [`KT-57154`](https://youtrack.jetbrains.com/issue/KT-57154) Incorrect version of JDK is provided through CoreJrtFs - [`KT-56209`](https://youtrack.jetbrains.com/issue/KT-56209) Add CLI support for HMPP in K2 - [`KT-58351`](https://youtrack.jetbrains.com/issue/KT-58351) Confusing error message when using removed -Xjvm-default mode value - [`KT-57535`](https://youtrack.jetbrains.com/issue/KT-57535) K2: Kotlin command line compiler doesn't see class files on the class path in 2.0 - [`KT-57644`](https://youtrack.jetbrains.com/issue/KT-57644) K2: Prohibit passing HMPP module structure with CLI arguments to metadata compiler - [`KT-56351`](https://youtrack.jetbrains.com/issue/KT-56351) Reduce memory usage spent on compiler settings ##### Tools. Commonizer - [`KT-57796`](https://youtrack.jetbrains.com/issue/KT-57796) NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20 - [`KT-56207`](https://youtrack.jetbrains.com/issue/KT-56207) Investigate failing tests in ClassifierCommonizationFromSourcesTest ##### Tools. Compiler Plugins ##### Fixes - [`KT-57821`](https://youtrack.jetbrains.com/issue/KT-57821) K2: Compiler calls declaration generation plugins twice for classes in the common source set - [`KT-57406`](https://youtrack.jetbrains.com/issue/KT-57406) FIR Compiler plugins: Assignment plugin incorrectly recognizes qualified names of annotations - [`KT-57626`](https://youtrack.jetbrains.com/issue/KT-57626) K2: SERIALIZER_NOT_FOUND for serializable class from another module - [`KT-57400`](https://youtrack.jetbrains.com/issue/KT-57400) FIR Compiler Plugins: `annotated` predicate does not work with Java classes - [`KT-57140`](https://youtrack.jetbrains.com/issue/KT-57140) K2: Implement backwards compatibility for FirFunctionTypeKindExtension - [`KT-56685`](https://youtrack.jetbrains.com/issue/KT-56685) K2: ArrayIndexOfBound during session creation if compiler plugins are enabled - [`KT-55375`](https://youtrack.jetbrains.com/issue/KT-55375) Remove "legacy" mode of jvm-abi-gen plugin - [`KT-53470`](https://youtrack.jetbrains.com/issue/KT-53470) FIR: pass `MemberGenerationContext` to all methods of FirDeclarationGenerationExtension - [`KT-51092`](https://youtrack.jetbrains.com/issue/KT-51092) Lombok `@Value` causes IllegalAccessError - [`KT-55885`](https://youtrack.jetbrains.com/issue/KT-55885) K2 plugin API: Backend-only declarations are not visible from other modules - [`KT-55584`](https://youtrack.jetbrains.com/issue/KT-55584) K2: Improve registration of session components from compiler plugins - [`KT-55843`](https://youtrack.jetbrains.com/issue/KT-55843) FIR Plugin API: metaAnnotated predicate returns meta-annotation itself as well - [`KT-53874`](https://youtrack.jetbrains.com/issue/KT-53874) Optimize checking for plugin applicability and redesign DeclarationPredicates ##### Tools. Compiler plugins. Serialization ##### Fixes - [`KT-58954`](https://youtrack.jetbrains.com/issue/KT-58954) Serialization: NPE at run time when accessing a delegating property of a deserialized object - [`KT-56537`](https://youtrack.jetbrains.com/issue/KT-56537) Serialization: Presence of (transient) delegated field in the serialized class breaks deserialization - [`KT-58918`](https://youtrack.jetbrains.com/issue/KT-58918) Serialization: NPE at run time obtaining a serializer for a sealed class with a generic self-referencing property - [`KT-59113`](https://youtrack.jetbrains.com/issue/KT-59113) Serialization: NPE at run time when accessing a delegating property of a deserialized object - [`KT-57647`](https://youtrack.jetbrains.com/issue/KT-57647) Serialization: "IllegalAccessError: Update to static final field" caused by serializable value class - [`KT-57704`](https://youtrack.jetbrains.com/issue/KT-57704) K2/serialization: false-positive SERIALIZER_NOT_FOUND when compiling against 1.7.20 binary with enum class - [`KT-57083`](https://youtrack.jetbrains.com/issue/KT-57083) K2/serialization: can't resolve serializers for classes from other modules - [`KT-56480`](https://youtrack.jetbrains.com/issue/KT-56480) K2: false-positive warning about incompatible serializer type when using type aliases - [`KT-56594`](https://youtrack.jetbrains.com/issue/KT-56594) K2/serialization reports SERIALIZER_NOT_FOUND over aliased String or primitive types - [`KT-56553`](https://youtrack.jetbrains.com/issue/KT-56553) Support 'serialization plugin intrinsics' feature in K2 - [`KT-56244`](https://youtrack.jetbrains.com/issue/KT-56244) kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0 ##### Tools. Daemon - [`KT-50846`](https://youtrack.jetbrains.com/issue/KT-50846) Remove "new" Kotlin daemon from codebase ##### Tools. Gradle ##### New Features - [`KT-56971`](https://youtrack.jetbrains.com/issue/KT-56971) Expose jvmTargetValidationMode property in KotlinCompile Gradle task - [`KT-57159`](https://youtrack.jetbrains.com/issue/KT-57159) Add project level compiler options for Kotlin/JVM plugin ##### Performance Improvements - [`KT-57052`](https://youtrack.jetbrains.com/issue/KT-57052) Gradle: Stop using exceptions for flow control - [`KT-57757`](https://youtrack.jetbrains.com/issue/KT-57757) Reduce classpath snapshotter memory consumption - [`KT-56052`](https://youtrack.jetbrains.com/issue/KT-56052) Implement an in-memory wrapper for PersistentHashMap to avoid applying changes to IC caches before successful compilation ##### Fixes - [`KT-55624`](https://youtrack.jetbrains.com/issue/KT-55624) Update KGP integration tests that use removed in Gradle 8 getClassifier method - [`KT-59589`](https://youtrack.jetbrains.com/issue/KT-59589) Gradle: 'java.lang.NoClassDefFoundError: com/gradle/scan/plugin/BuildScanExtension' on 1.9.0-RC when applying Enterprise Plugin from initscript - [`KT-59063`](https://youtrack.jetbrains.com/issue/KT-59063) Explicit API mode broken in Kotlin 1.9.0-Beta - [`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-59256`](https://youtrack.jetbrains.com/issue/KT-59256) \[1.9.0-Beta] ServiceLoader does not pick up classes defined in the same project - [`KT-58662`](https://youtrack.jetbrains.com/issue/KT-58662) Gradle 8.1 + Configuration Cache: custom values data is missing from build report - [`KT-58280`](https://youtrack.jetbrains.com/issue/KT-58280) org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath - [`KT-59191`](https://youtrack.jetbrains.com/issue/KT-59191) Actual compilation failure exception might be hidden in the case of a Kotlin daemon crash - [`KT-56211`](https://youtrack.jetbrains.com/issue/KT-56211) Improve Kotlin build reports - [`KT-57767`](https://youtrack.jetbrains.com/issue/KT-57767) Gradle: "ZipException: invalid entry size" with 1.8.20 - [`KT-57736`](https://youtrack.jetbrains.com/issue/KT-57736) K2: Introduce an easy way to try K2 compiler in Gradle user projects - [`KT-59056`](https://youtrack.jetbrains.com/issue/KT-59056) FreeCompilerArgs options added using 'subprojects' extension override module-level freeCompilerArgs options - [`KT-55740`](https://youtrack.jetbrains.com/issue/KT-55740) Gradle 8: Listener registration using Gradle.addBuildListener() has been deprecated - [`KT-37652`](https://youtrack.jetbrains.com/issue/KT-37652) Support explicit mode for Android projects - [`KT-58251`](https://youtrack.jetbrains.com/issue/KT-58251) Build Statistics. Kotlin-specific tags are missing in build scans if projects use Gradle 8+ - [`KT-57224`](https://youtrack.jetbrains.com/issue/KT-57224) Add an indicator into build metrics report to show whether K1 or K2 compiler was used to compile the code - [`KT-58571`](https://youtrack.jetbrains.com/issue/KT-58571) ExplicitApi mode should not apply for test compilations - [`KT-42718`](https://youtrack.jetbrains.com/issue/KT-42718) Test and AndroidTest sources should be excluded from explicit API requirements for libraries - [`KT-58916`](https://youtrack.jetbrains.com/issue/KT-58916) \[1.9.0-Beta] PLUGIN_CLASSPATH_CONFIGURATION_NAME and NATIVE_COMPILER_PLUGIN_CLASSPATH_CONFIGURATION_NAME should stay public or offer an alternative API - [`KT-58869`](https://youtrack.jetbrains.com/issue/KT-58869) K2, Gradle: Improve message "100% (2/2) tasks have compiled with Kotlin 2" - [`KT-52811`](https://youtrack.jetbrains.com/issue/KT-52811) Kotlin Serialization metadata issue due to incompatibility between Gradle Kotlin embedded version and Kotlin Gradle Plugin version - [`KT-57330`](https://youtrack.jetbrains.com/issue/KT-57330) Provide collection of usage statistics for the Dokka - [`KT-57393`](https://youtrack.jetbrains.com/issue/KT-57393) jvm-target value set through 'android.kotlinOptions' is ignored and overwritten with the default 1.8 value - [`KT-58745`](https://youtrack.jetbrains.com/issue/KT-58745) KaptGenerateStubs task should also be configured with the same compiler plugin options - [`KT-58682`](https://youtrack.jetbrains.com/issue/KT-58682) Explicit api mode does not apply in MPP projects - [`KT-52976`](https://youtrack.jetbrains.com/issue/KT-52976) Remove deprecated Gradle conventions usages - [`KT-58530`](https://youtrack.jetbrains.com/issue/KT-58530) Compiler plugin unbundling changes should be backward compatible with Kotlin plugin - [`KT-36904`](https://youtrack.jetbrains.com/issue/KT-36904) Adding folders to sourceSets.resources.srcDir() in Gradle script does not work - [`KT-58313`](https://youtrack.jetbrains.com/issue/KT-58313) An exception in console if no task is executed and file build reports are enabled - [`KT-58619`](https://youtrack.jetbrains.com/issue/KT-58619) Move all pm20 interfaces into Gradle plugin codebase - [`KT-58320`](https://youtrack.jetbrains.com/issue/KT-58320) Kotlin daemon OOM help message is missing on OOM in Kotlin Daemon itself - [`KT-53923`](https://youtrack.jetbrains.com/issue/KT-53923) Add 'progressive' compiler argument to Gradle compiler options - [`KT-53924`](https://youtrack.jetbrains.com/issue/KT-53924) Add 'optIn' compiler arguments to Gradle compiler options - [`KT-53748`](https://youtrack.jetbrains.com/issue/KT-53748) Remove KotlinCompile setClasspath/getClasspath methods - [`KT-56454`](https://youtrack.jetbrains.com/issue/KT-56454) Bump minimal support AGP version to 4.2.2 - [`KT-57397`](https://youtrack.jetbrains.com/issue/KT-57397) Add infrastructure to use the build-tools-api to run compilation from Gradle - [`KT-56946`](https://youtrack.jetbrains.com/issue/KT-56946) Switch incremental Gradle tests for K2 to use language version 2.0 - [`KT-57782`](https://youtrack.jetbrains.com/issue/KT-57782) Disable daemon fallback strategy for Gradle integration tests by default - [`KT-57142`](https://youtrack.jetbrains.com/issue/KT-57142) Split org.jetbrains.kotlin.gradle.tasks/Tasks.kt into several source files - [`KT-54447`](https://youtrack.jetbrains.com/issue/KT-54447) Remove usage of deprecated internal Gradle field in Kotlin Gradle Plugin, replace with equivalent in public API - [`KT-49785`](https://youtrack.jetbrains.com/issue/KT-49785) Avoid creating task output backups until really needed - [`KT-56047`](https://youtrack.jetbrains.com/issue/KT-56047) False positive message about full recompilation is displayed while restoring from build cache and then making a syntax error - [`KT-56421`](https://youtrack.jetbrains.com/issue/KT-56421) Gradle: plugin should not use BasePluginExtension deprecated properties - [`KT-55241`](https://youtrack.jetbrains.com/issue/KT-55241) Gradle: the VariantImplementationFactories build service state is not persistent making impossible to access factories with configuration cache lazily - [`KT-56357`](https://youtrack.jetbrains.com/issue/KT-56357) Gradle: "DefaultTaskCollection#configureEach(Action) on task set cannot be executed in the current context" because of VariantImplementationFactories - [`KT-56352`](https://youtrack.jetbrains.com/issue/KT-56352) Make build scan reports more readable - [`KT-55972`](https://youtrack.jetbrains.com/issue/KT-55972) Gradle: Add an assertion to all integration tests if `warningMode` is not `FAIL`, but the build doesn't produce any warnings ##### Tools. Gradle. Cocoapods - [`KT-38749`](https://youtrack.jetbrains.com/issue/KT-38749) Support reusing generated C-interop between dependant pods - [`KT-54161`](https://youtrack.jetbrains.com/issue/KT-54161) Support adding extra code to generated Podfile from the Kotlin gradle plugin - [`KT-56162`](https://youtrack.jetbrains.com/issue/KT-56162) Provide granular Gradle warnings suppression for CocoaPodsIT ##### Tools. Gradle. JS ##### New Features - [`KT-48791`](https://youtrack.jetbrains.com/issue/KT-48791) KJS: Support for Power(ppc64le) and Z(s390x) - [`KT-32209`](https://youtrack.jetbrains.com/issue/KT-32209) org.jetbrains.kotlin.js does not respect Gradle's archivesBaseName - [`KT-52646`](https://youtrack.jetbrains.com/issue/KT-52646) KJS / Gradle: make "KotlinCompilationNpmResolver already closed" a warning - [`KT-52647`](https://youtrack.jetbrains.com/issue/KT-52647) KJS / Gradle: Make "Projects must be configuring" a warning - [`KT-56158`](https://youtrack.jetbrains.com/issue/KT-56158) KJS: Support implementation dependencies ##### Fixes - [`KT-59604`](https://youtrack.jetbrains.com/issue/KT-59604) Unresolved reference: useKarma in convention plugin - [`KT-57604`](https://youtrack.jetbrains.com/issue/KT-57604) JS, Space: Circular dependency between tasks - [`KT-59116`](https://youtrack.jetbrains.com/issue/KT-59116) K/JS npm dependcies are not resolved properly on Kotlin 1.9 - [`KT-54731`](https://youtrack.jetbrains.com/issue/KT-54731) KJS / Gradle: "There are multiple versions of "kotlin" used in nodejs build: 1.6.21, 1.7.20." with kotlin-dsl in buildSrc - [`KT-58970`](https://youtrack.jetbrains.com/issue/KT-58970) browserTest gradle task fails if karma is used and gradle configuration cache is enabled - [`KT-59004`](https://youtrack.jetbrains.com/issue/KT-59004) Kotlin JS 1.9.0-Beta, yarn.lock is unstable in multi module project - [`KT-56458`](https://youtrack.jetbrains.com/issue/KT-56458) KJS / Gradle: Unnecessary and confusing "There are multiple versions of "kotlin" used in nodejs build" generated from `YarnImportedPackagesVersionResolver` - [`KT-57985`](https://youtrack.jetbrains.com/issue/KT-57985) K/JS: `packageJson` Gradle configurations don't inherit unique attributes from JsTarget DSL - [`KT-57817`](https://youtrack.jetbrains.com/issue/KT-57817) JS: executables for couple of JS targets builds in the same directory - [`KT-58199`](https://youtrack.jetbrains.com/issue/KT-58199) K/JS: Remove useCoverage method - [`KT-57116`](https://youtrack.jetbrains.com/issue/KT-57116) KJS / Gradle: `commonWebpackConfig` not applied if called after `binaries.executable()` - [`KT-58522`](https://youtrack.jetbrains.com/issue/KT-58522) K/JS: Upgrade NPM dependency versions - [`KT-57629`](https://youtrack.jetbrains.com/issue/KT-57629) K/JS: Change default destination of JS production distribution - [`KT-57480`](https://youtrack.jetbrains.com/issue/KT-57480) K/JS: Use IR compiler by default without explicit choosing of js compiler - [`KT-58345`](https://youtrack.jetbrains.com/issue/KT-58345) K/JS: Webpack task skipped with ES modules because files have mjs extension - [`KT-58071`](https://youtrack.jetbrains.com/issue/KT-58071) KJS / Gradle: `jsNodeTest` task is not incremental - [`KT-43809`](https://youtrack.jetbrains.com/issue/KT-43809) KJS: browserProductionExecutableDistributeResources tasks deletes distributions directory - [`KT-56690`](https://youtrack.jetbrains.com/issue/KT-56690) Kotlin2JsCompiler friendDependencies cannot be configured through friendPaths - [`KT-57920`](https://youtrack.jetbrains.com/issue/KT-57920) K/JS: Make imported NPM package not considering dev dependencies - [`KT-56025`](https://youtrack.jetbrains.com/issue/KT-56025) KJS / Gradle: Gradle 8.0 jsBrowserProductionWebpack uses the output of another project's jsProductionExecutableCompileSync - [`KT-57630`](https://youtrack.jetbrains.com/issue/KT-57630) K/JS: webpack updating twice on one change of kt sources - [`KT-47351`](https://youtrack.jetbrains.com/issue/KT-47351) KJS / IR: `:jsTestPackageJson` is unable to find nested included builds under composite build - [`KT-44754`](https://youtrack.jetbrains.com/issue/KT-44754) K/JS: `browserRun --continuous` keeps rebuilding without any changes - [`KT-49774`](https://youtrack.jetbrains.com/issue/KT-49774) KJS / Gradle: Errors during NPM dependencies resolution in parallel build lead to unfriendly error messages like "Projects must be closed" - [`KT-57387`](https://youtrack.jetbrains.com/issue/KT-57387) Remove support of webpack 4 - [`KT-57386`](https://youtrack.jetbrains.com/issue/KT-57386) Kotlin/JS upgrade npm dependencies - [`KT-56705`](https://youtrack.jetbrains.com/issue/KT-56705) KJS / Gradle: Module name starting with '@&#8203;' isn't properly set when FUS is disabled - [`KT-46428`](https://youtrack.jetbrains.com/issue/KT-46428) KJS / IR: Composing build failed "Failed to create MD5 hash for package.json" - [`KT-53687`](https://youtrack.jetbrains.com/issue/KT-53687) Don't trigger npm and yarn related tasks if it not relevant for assemble - [`KT-49915`](https://youtrack.jetbrains.com/issue/KT-49915) KJS / Gradle: Gradle build cache miss because of absolute path in `KotlinJsIrLink.filteredArgumentsMap` - [`KT-56192`](https://youtrack.jetbrains.com/issue/KT-56192) KJS: In browser testing no original sources in stacktrace - [`KT-42395`](https://youtrack.jetbrains.com/issue/KT-42395) Kotlin/JS: Gradle DSL: PackageJson.customField() does not accept null - [`KT-43305`](https://youtrack.jetbrains.com/issue/KT-43305) Support Node.JS downloading for Ubuntu - [`KT-48631`](https://youtrack.jetbrains.com/issue/KT-48631) KJS: Unconditionally uses linux/x86 binaries - [`KT-38015`](https://youtrack.jetbrains.com/issue/KT-38015) NodeJS installation does not extract symlinks correctly (npm and npx) ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-34662`](https://youtrack.jetbrains.com/issue/KT-34662) Provide an option for Android targets to compile & run `commonTest` tests as unit tests only, instrumented tests only, or both - [`KT-55881`](https://youtrack.jetbrains.com/issue/KT-55881) Add possibility to enable/disable sources publication similar to Java Gradle Plugin API ##### Fixes - [`KT-59446`](https://youtrack.jetbrains.com/issue/KT-59446) MPP: transformCommonMainDependenciesMetadata failing for api java dependency in shared jvm source set with Future was not completed yet - [`KT-55751`](https://youtrack.jetbrains.com/issue/KT-55751) MPP / Gradle: Consumable configurations must have unique attributes - [`KT-57688`](https://youtrack.jetbrains.com/issue/KT-57688) MPP: `compileDebugKotlinAndroid` task fails with llegalArgumentException: 'moduleName' is null! - [`KT-56210`](https://youtrack.jetbrains.com/issue/KT-56210) Pass module structure to CLI of K2 if K2 enabled - [`KT-57531`](https://youtrack.jetbrains.com/issue/KT-57531) KotlinNativeLink: StackOverflowError when consuming library with dependency cycles (from constraints) - [`KT-58281`](https://youtrack.jetbrains.com/issue/KT-58281) Kotlin Gradle Plugin: Enable Kotlin/Android SourceSetLayout v2 by default - [`KT-57903`](https://youtrack.jetbrains.com/issue/KT-57903) Prepare for migration to the pluggable android target plugin - [`KT-49933`](https://youtrack.jetbrains.com/issue/KT-49933) Support Gradle Configuration caching with HMPP - [`KT-58661`](https://youtrack.jetbrains.com/issue/KT-58661) KGP: KotlinJvmTarget: Implement 'run' carrier task - [`KT-59055`](https://youtrack.jetbrains.com/issue/KT-59055) KotlinJvmRun not respecting jvmToolchain setting - [`KT-57959`](https://youtrack.jetbrains.com/issue/KT-57959) Module-name value can't be changed for the android target of a multiplatform project - [`KT-55506`](https://youtrack.jetbrains.com/issue/KT-55506) TCS: Gradle Sync: kotlin-stdlib-common is not filtered from JVM + Android source sets - [`KT-57652`](https://youtrack.jetbrains.com/issue/KT-57652) Don't expose sourcesElements for project2project dependencies - [`KT-58601`](https://youtrack.jetbrains.com/issue/KT-58601) Finalise "ExternalKotlinTargetApi" shape for initial 1.9 release - [`KT-58710`](https://youtrack.jetbrains.com/issue/KT-58710) External Target Api: Add API to control SourceSetTree - [`KT-58488`](https://youtrack.jetbrains.com/issue/KT-58488) Add a diagnostic message to KGP in case of val androidTest by getting usage - [`KT-57482`](https://youtrack.jetbrains.com/issue/KT-57482) cleanNativeDistributionCommonization is not compatible with configuration cache with gradle 8.0 - [`KT-58062`](https://youtrack.jetbrains.com/issue/KT-58062) Commonizer configuration cache not compatible with Gradle 8.1 - [`KT-58086`](https://youtrack.jetbrains.com/issue/KT-58086) Warn about using MPP libraries published in the legacy mode - [`KT-56439`](https://youtrack.jetbrains.com/issue/KT-56439) TCS: Gradle Sync: IdeBinaryResolver: Add componentFilter API for compilations/configurations - [`KT-57023`](https://youtrack.jetbrains.com/issue/KT-57023) Cryptic Gradle task descriptions for compile tasks - [`KT-58470`](https://youtrack.jetbrains.com/issue/KT-58470) Warning about using MPP libraries published in the legacy mode is not reported if the dependency is declared in an intermediate source set - [`KT-58466`](https://youtrack.jetbrains.com/issue/KT-58466) K2 Gradle: non \*.kt files are passed to -Xfragment-sources - [`KT-58319`](https://youtrack.jetbrains.com/issue/KT-58319) kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'" - [`KT-51940`](https://youtrack.jetbrains.com/issue/KT-51940) HMPP resolves configurations during configuration - [`KT-58261`](https://youtrack.jetbrains.com/issue/KT-58261) Link kotlin native binary framework tasks fails when configuration cache is enabled - [`KT-41506`](https://youtrack.jetbrains.com/issue/KT-41506) UnknownDomainObjectException: "KotlinSourceSet with name not found" when creating custom compilations after applying withJava to an MPP JVM target - [`KT-58209`](https://youtrack.jetbrains.com/issue/KT-58209) Do not use the term 'Module' in KotlinTargetHierarchy - [`KT-56153`](https://youtrack.jetbrains.com/issue/KT-56153) When the dependency is unresolved, import fails and don't import anything instead of degrading gracefully - [`KT-56571`](https://youtrack.jetbrains.com/issue/KT-56571) New import broke apiVersion for commonMain, commonTest and jvmAndAndroidMain modules - [`KT-56712`](https://youtrack.jetbrains.com/issue/KT-56712) Multiplatform;Composite Builds: Classpath isolation: .MppDependencyProjectStructureMetadataExtractorFactory cannot be cast to class \*MppDependencyProjectStructureMetadataExtractorFactory - [`KT-56461`](https://youtrack.jetbrains.com/issue/KT-56461) MPP: resolvableMetadataConfiguration: Ensure consistent resolution across all compile dependencies - [`KT-56841`](https://youtrack.jetbrains.com/issue/KT-56841) MPP: Module-to-module dependencies don't work inside included build in included build - [`KT-42748`](https://youtrack.jetbrains.com/issue/KT-42748) Project that transitively depends on composite build of multimodule multiplatform library cannot resolve dependencies properly - [`KT-52356`](https://youtrack.jetbrains.com/issue/KT-52356) MPP / Gradle: Missing common classes on KMM project integrated via Gradle included build into an Android application - [`KT-51293`](https://youtrack.jetbrains.com/issue/KT-51293) Unresolved references with hierarchical project structure when building KotlinMetadata from native-common source set - [`KT-56700`](https://youtrack.jetbrains.com/issue/KT-56700) V2 MPP Source Set layout warnings should include link to docs - [`KT-55926`](https://youtrack.jetbrains.com/issue/KT-55926) TCS: Gradle Sync: Import Extras on KotlinSourceSet and KotlinTarget - [`KT-55730`](https://youtrack.jetbrains.com/issue/KT-55730) MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets ##### Tools. Gradle. Native - [`KT-58838`](https://youtrack.jetbrains.com/issue/KT-58838) KGP/Multiplatform: 1.9.0-Beta with custom cinterops: IllegalStateException: Could not create domain object 'jni' (DefaultCInteropSettings) - [`KT-57823`](https://youtrack.jetbrains.com/issue/KT-57823) KotlinNativeCompileOptions.moduleName value is ignored and replaced with the default one if to set up using compilations - [`KT-57815`](https://youtrack.jetbrains.com/issue/KT-57815) KotlinNativeCompileOptions.moduleName isn't accessible if to configure using compilerOptions.configure {} - [`KT-57944`](https://youtrack.jetbrains.com/issue/KT-57944) K2: K2, MPP, Native: K2 reports "Source does not belong to any module" for native sources - [`KT-53108`](https://youtrack.jetbrains.com/issue/KT-53108) Expose Kotlin/Native compiler options as Gradle DSL - [`KT-58063`](https://youtrack.jetbrains.com/issue/KT-58063) Kotlin/Native tasks configuration cache are not compatible with Gradle 8.1 - [`KT-38317`](https://youtrack.jetbrains.com/issue/KT-38317) Kotlin/Native: NSURLConnection HTTPS requests fail in iOS tests due to --standalone simctl flag - [`KT-56280`](https://youtrack.jetbrains.com/issue/KT-56280) Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries ##### Tools. Incremental Compile - [`KT-58289`](https://youtrack.jetbrains.com/issue/KT-58289) IC fails to detect a change to class annotations - [`KT-58986`](https://youtrack.jetbrains.com/issue/KT-58986) New IC: ISE "The following LookupSymbols are not yet converted to ProgramSymbols: LookupSymbol(name=$$delegatedProperties, ...)" - [`KT-56197`](https://youtrack.jetbrains.com/issue/KT-56197) If use classpathSnapshot, the invoke place of subclass's super function who has default parameters will not recompiled if it is incremental build - [`KT-56886`](https://youtrack.jetbrains.com/issue/KT-56886) K2: Changes to Java sources used in Kotlin project do not trigger a rebuild if a previous build was successful ##### Tools. Kapt - [`KT-54468`](https://youtrack.jetbrains.com/issue/KT-54468) KAPT Gradle plugin causes eager task creation - [`KT-59521`](https://youtrack.jetbrains.com/issue/KT-59521) Kapt maven plugin require version of annotation processor - [`KT-58301`](https://youtrack.jetbrains.com/issue/KT-58301) K2: Compile Kotlin task failure for the generated by Kapt sources : 'Source NameOfTheGenerated.kt does not belong to any module - [`KT-57598`](https://youtrack.jetbrains.com/issue/KT-57598) K2: Support a fallback mode executing Kapt with K1 even when the compiler is run with languageVersion=2.0 - [`KT-58226`](https://youtrack.jetbrains.com/issue/KT-58226) KAPT: “org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtNameReferenceExpression” with enum with secondary constructor ##### Tools. Maven - [`KTIJ-25445`](https://youtrack.jetbrains.com/issue/KTIJ-25445) Maven. JVM target is imported as 1.6 when no target specified in pom.xml ##### Tools. Parcelize - [`KT-59112`](https://youtrack.jetbrains.com/issue/KT-59112) K2: "IllegalStateException: Function has no body with `@Parcelize`" on nested sealed class hierarchies ##### Tools. Scripts - [`KT-58366`](https://youtrack.jetbrains.com/issue/KT-58366) The obsolete kotlin-script-util jar is still published and contains broken JSR-223 implementation ##### Tools. Wasm - [`KT-56585`](https://youtrack.jetbrains.com/issue/KT-56585) Change wasmBrowserRun Browser Executable to System Default - [`KT-56159`](https://youtrack.jetbrains.com/issue/KT-56159) Running (karma) tests doesn't work in a project generated by wizard "Browser Application for Kotlin/Wasm" - [`KT-57203`](https://youtrack.jetbrains.com/issue/KT-57203) Update Kotlin/Wasm to support Gradle 8 ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.9.0.zip | 1fc50d805f9809e92de43e91f089cc8618567c1a350faebdabf8a40c5048bee8 | | kotlin-native-linux-x86\_64-1.9.0.tar.gz | 18bd17e7541baef5ace0303ee463f4185c2d56369382f1b9822ece7215b2a8ec | | kotlin-native-macos-x86\_64-1.9.0.tar.gz | 9ca355eacfb2986cfd2e579831ac4932df6d5f8a6cbaccc553875f8f0d884226 | | kotlin-native-macos-aarch64-1.9.0.tar.gz | 5086850c7118a0141d55e8427efa4a9e76f1201f4d4d97a137d4732f4efd481c | | kotlin-native-windows-x86\_64-1.9.0.zip | 989cb5cb28da87ad0ae2a9469dbbce227165014217ec472eeb78468045dcb766 | ### [`v1.8.22`](https://github.com/JetBrains/kotlin/releases/tag/v1.8.22): Kotlin 1.8.22 #### Changelog ##### Tools. Gradle - [`KT-58280`](https://youtrack.jetbrains.com/issue/KT-58280) org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath #### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.8.22.zip | 91f50fe25c9edfb1e79ae1fe2ede85fa4728f7f4b0587644a4eee40252cdfaa6 | | kotlin-native-linux-x86\_64-1.8.22.tar.gz | a1fb41fc010b347d5d9a5449ebb48ad200c59ec2a9121b01db5165db6697e58b | | kotlin-native-macos-x86\_64-1.8.22.tar.gz | 0d6e6b12569a4b8ff2f301f827192dd715a29962cc01eed05557aa8e6eb7c20d | | kotlin-native-macos-aarch64-1.8.22.tar.gz | 29805af3220eab3c163ac54f02a6097436d4ddfa83eca7815eb053517093e417 | | kotlin-native-windows-x86\_64-1.8.22.zip | 91b04aa9f3dc3d5968c75d8e7f163e542458867915777e995162864cc805b2e5 | ### [`v1.8.21`](https://github.com/JetBrains/kotlin/releases/tag/v1.8.21): Kotlin 1.8.21 #### Changelog ##### Compiler - [`KT-57848`](https://youtrack.jetbrains.com/issue/KT-57848) Native: compilation of dynamic/static library fails with Xcode 14.3 - [`KT-57875`](https://youtrack.jetbrains.com/issue/KT-57875) Native compilation failure: Suspend functions should be lowered out at this point, but FUN LOCAL_FUNCTION_FOR_LAMBDA - [`KT-57946`](https://youtrack.jetbrains.com/issue/KT-57946) KAPT: "RuntimeException: No type for expression" with delegate ##### JavaScript - [`KT-57356`](https://youtrack.jetbrains.com/issue/KT-57356) KJS: StackOverflowException on `@JsExport` with type parameters referring to one another ##### Tools. Commonizer - [`KT-57796`](https://youtrack.jetbrains.com/issue/KT-57796) NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20 ##### Tools. Compiler plugins. Serialization - [`KT-58067`](https://youtrack.jetbrains.com/issue/KT-58067) Serialization: NullPointerException caused by `@Contextual` property with type with generic - [`KT-57730`](https://youtrack.jetbrains.com/issue/KT-57730) Serialization: "IllegalStateException: Serializer for element of type <root>.Foo has not been found" caused by serialization of Java type ##### Tools. Gradle. JS - [`KT-57766`](https://youtrack.jetbrains.com/issue/KT-57766) KJS / Gradle "Module not found: Error: Can't resolve 'kotlin-kotlin-stdlib-js-ir'" when using "useEsModules" ##### Tools. Kapt - [`KT-58027`](https://youtrack.jetbrains.com/issue/KT-58027) Kotlin 1.8.20 kapt issue "null: KtCallExpression: build()" ##### Tools. Maven - [`KT-58048`](https://youtrack.jetbrains.com/issue/KT-58048) Maven: "Too many source module declarations found" after upgrading to 1.8.20 - [`KT-58101`](https://youtrack.jetbrains.com/issue/KT-58101) 'Unable to access class' in kotlin-maven-plugin after updating to Kotlin 1.8.20 #### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.8.21.zip | 6e43c5569ad067492d04d92c28cdf8095673699d81ce460bd7270443297e8fd7 | | kotlin-native-linux-x86\_64-1.8.21.tar.gz | 0fc854641dd6d88dce3cc044bb5bc99b9035480474e23541eff03771690c68cf | | kotlin-native-macos-x86\_64-1.8.21.tar.gz | e73bfdac0461ee0c84f25e61063c243bf8d4eb8e0ff5da250456d6a23c677fd6 | | kotlin-native-macos-aarch64-1.8.21.tar.gz | 0a97957921ed55458f3e6cc9117643914ccf3663d8ad7eb161a4a03035a7521b | | kotlin-native-windows-x86\_64-1.8.21.zip | f23d3288a47ee580f82f862d55452a75074fce3d26fe7e7f55e27b6015226d8d | ### [`v1.8.20`](https://github.com/JetBrains/kotlin/releases/tag/v1.8.20): Kotlin 1.8.20 ##### Changelog ##### Analysis API - [`KT-55510`](https://youtrack.jetbrains.com/issue/KT-55510) K2: Lost designation for local classes - [`KT-55191`](https://youtrack.jetbrains.com/issue/KT-55191) AA: add an API to compare symbol pointers - [`KT-55487`](https://youtrack.jetbrains.com/issue/KT-55487) K2: symbol pointer restoring doesn't work for static members - [`KT-55336`](https://youtrack.jetbrains.com/issue/KT-55336) K2 IDE: "java.lang.IllegalStateException: Required value was null." exception while importing a compiled JPS project - [`KT-55098`](https://youtrack.jetbrains.com/issue/KT-55098) AA: KtDeclarationRenderer should render a context receivers - [`KT-51181`](https://youtrack.jetbrains.com/issue/KT-51181) LL API: errors for SAM with suspend function from another module - [`KT-50250`](https://youtrack.jetbrains.com/issue/KT-50250) Analysis API: Implement Analysis API of KtExpression.isUsedAsExpression - [`KT-54360`](https://youtrack.jetbrains.com/issue/KT-54360) KtPropertySymbol: support JvmField in javaSetterName and javaGetterName ##### Analysis API. FE1.0 - [`KT-55825`](https://youtrack.jetbrains.com/issue/KT-55825) AA FE1.0: stackoverflow when resolution to a function with a recursive type parameter ##### Analysis API. FIR - [`KT-54311`](https://youtrack.jetbrains.com/issue/KT-54311) K2: proper implementation of KtSymbolPointer - [`KT-50238`](https://youtrack.jetbrains.com/issue/KT-50238) Analysis API: Implement KSymbolPointer for KtSymbol ##### Analysis API. FIR Low Level API - [`KT-52160`](https://youtrack.jetbrains.com/issue/KT-52160) FIR: Substitution overrides on FirValueParameter-s are incorrectly unwrapped - [`KT-55566`](https://youtrack.jetbrains.com/issue/KT-55566) LL FIR: Tests in `compiler/testData/diagnostics/tests/testsWithJava17` fail under LL FIR - [`KT-55339`](https://youtrack.jetbrains.com/issue/KT-55339) LL FIR: Missing RECURSIVE_TYPEALIAS_EXPANSION error in function type alias - [`KT-55327`](https://youtrack.jetbrains.com/issue/KT-55327) LL FIR: Diverging UNRESOLVED_REFERENCE errors in recursive local function test - [`KT-54826`](https://youtrack.jetbrains.com/issue/KT-54826) KtSymbolPointer: migrate from IdSignature to our own solution ##### Android - [`KT-54464`](https://youtrack.jetbrains.com/issue/KT-54464) MPP, Android SSL2: Add a flag for suppressing warning in case of using Android Style folders ##### Backend. Wasm - [`KT-38924`](https://youtrack.jetbrains.com/issue/KT-38924) Wasm support in nodejs - [`KT-56160`](https://youtrack.jetbrains.com/issue/KT-56160) Getting WebAssembly.CompileError in browsers not supported GC and other required proposals - [`KT-46773`](https://youtrack.jetbrains.com/issue/KT-46773) Implement an experimental version of the Kotlin/Wasm compiler backend - [`KT-56584`](https://youtrack.jetbrains.com/issue/KT-56584) K/Wasm: Can't link symbol class - [`KT-56166`](https://youtrack.jetbrains.com/issue/KT-56166) Fix compatibility with Firefox Nightly - [`KT-55589`](https://youtrack.jetbrains.com/issue/KT-55589) Basic support of WASI - [`KT-53790`](https://youtrack.jetbrains.com/issue/KT-53790) Reading from "node:module" is not handled by plugins error with Kotlin/Wasm 1.7.20-Beta ##### Compiler ##### New Features - [`KT-54535`](https://youtrack.jetbrains.com/issue/KT-54535) Implement custom equals and hashCode for value classes in Kotlin/JVM - [`KT-55949`](https://youtrack.jetbrains.com/issue/KT-55949) Release experimental `@Volatile` support in native - [`KT-44698`](https://youtrack.jetbrains.com/issue/KT-44698) Frontend (K2): print file name/line on compiler crash/exception - [`KT-54666`](https://youtrack.jetbrains.com/issue/KT-54666) K2: Allow to skip specifying type arguments for members from raw type scope - [`KT-54524`](https://youtrack.jetbrains.com/issue/KT-54524) Implement Java synthetic property references in compiler - [`KT-54024`](https://youtrack.jetbrains.com/issue/KT-54024) K2: support -Xlink-via-signatures mode ##### Performance Improvements - [`KT-33722`](https://youtrack.jetbrains.com/issue/KT-33722) JVM: Result API causes unnecessary boxing - [`KT-53330`](https://youtrack.jetbrains.com/issue/KT-53330) Optimize for-loops and contains over open-ended ranges with until operator (`..<`) for all backends - [`KT-54415`](https://youtrack.jetbrains.com/issue/KT-54415) JVM BE: performance loss related to multi-field inline class lowering - [`KT-48759`](https://youtrack.jetbrains.com/issue/KT-48759) Infix compareTo boxes inline classes - [`KT-55033`](https://youtrack.jetbrains.com/issue/KT-55033) Make org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl#runTransaction an inline function - [`KT-54501`](https://youtrack.jetbrains.com/issue/KT-54501) Improve code generation for inline classes with custom equals ##### Fixes - [`KT-56965`](https://youtrack.jetbrains.com/issue/KT-56965) K/N: linkDebugFrameworkIosArm64 tasks failing with UnsupportedOperationException: VAR name:disposables type:com.badoo.reaktive.disposable.CompositeDisposable \[val] - [`KT-56611`](https://youtrack.jetbrains.com/issue/KT-56611) Native: new native caches are broken when KONAN_DATA_DIR is defined to a directory inside ~/.gradle - [`KT-55251`](https://youtrack.jetbrains.com/issue/KT-55251) Enum.entries compilation error should be more specific - [`KT-56527`](https://youtrack.jetbrains.com/issue/KT-56527) K2: "AssertionError: Assertion failed" during compilation in SequentialFilePositionFinder - [`KT-56526`](https://youtrack.jetbrains.com/issue/KT-56526) InvalidProtocolBufferException on reading module metadata compiled by K2 in 1.8.20 - [`KT-57388`](https://youtrack.jetbrains.com/issue/KT-57388) Kapt+JVM_IR: "RuntimeException: No type for expression" for delegated property - [`KT-53153`](https://youtrack.jetbrains.com/issue/KT-53153) Synthetic Enum.entries can be shadowed by user-defined declarations - [`KT-51290`](https://youtrack.jetbrains.com/issue/KT-51290) "AssertionError: Parameter indices mismatch at context" with context receivers - [`KT-57242`](https://youtrack.jetbrains.com/issue/KT-57242) Equals behaviour for value classes implementing interfaces is different between 1.8.10 and 1.8.20-RC - [`KT-57261`](https://youtrack.jetbrains.com/issue/KT-57261) "IllegalArgumentException was thrown at: MemoizedInlineClassReplacements.getSpecializedEqualsMethod" when comparing non-inline class instance with an inline class instance - [`KT-57107`](https://youtrack.jetbrains.com/issue/KT-57107) Handling of Windows line endings CRLF broken in latest snapshot with K2 - [`KT-57117`](https://youtrack.jetbrains.com/issue/KT-57117) K2: Compiler reports invalid columns in diagnostics in case of crlf line endings - [`KT-56500`](https://youtrack.jetbrains.com/issue/KT-56500) The type parameter TYPE_PARAMETER name:E index:0 variance: superTypes:\[kotlin.Any?] reified:false is not defined in the referenced function FUN LOCAL_FUNCTION_FOR_LAMBDA - [`KT-56258`](https://youtrack.jetbrains.com/issue/KT-56258) VerifyError: Bad local variable type when using -Xdebug - [`KT-54455`](https://youtrack.jetbrains.com/issue/KT-54455) Unexpected result of equality comparison of inline class objects - [`KT-56251`](https://youtrack.jetbrains.com/issue/KT-56251) Generic Java synthetic property references don't work in K2 - [`KT-55886`](https://youtrack.jetbrains.com/issue/KT-55886) K2: Wrong code location mapping with Windows line endings - [`KT-43296`](https://youtrack.jetbrains.com/issue/KT-43296) FIR: Complicated interaction between smart cast and inference leads to false-positive diagnostic - [`KT-57053`](https://youtrack.jetbrains.com/issue/KT-57053) Problem around anonymous objects in inline functions - [`KT-54950`](https://youtrack.jetbrains.com/issue/KT-54950) NoSuchMethodError on calling 'addAll' on inline class implementing mutable list - [`KT-56815`](https://youtrack.jetbrains.com/issue/KT-56815) compileKotlin task is stuck with while(true) and suspend function - [`KT-56847`](https://youtrack.jetbrains.com/issue/KT-56847) Unresolved reference to Java annotation in Kotlin class with the same name packages - [`KT-52459`](https://youtrack.jetbrains.com/issue/KT-52459) Context receivers: AbstractMethodError caused by Interface method with both an extension and a context receiver is overriden incorrectly in subclasses - [`KT-56215`](https://youtrack.jetbrains.com/issue/KT-56215) JVM: Object extension function nullable receiver null check false negative when object is null - [`KT-56188`](https://youtrack.jetbrains.com/issue/KT-56188) K/N: AssertionError when casting SAM wrapper with generic type parameter - [`KT-56033`](https://youtrack.jetbrains.com/issue/KT-56033) Restore 'isMostPreciseContravariantArgument' function signature for compatibility - [`KT-56407`](https://youtrack.jetbrains.com/issue/KT-56407) Backend Internal error: Exception during IR lowering during `:daemon-common-new:compileKotlin` - [`KT-55887`](https://youtrack.jetbrains.com/issue/KT-55887) K2. "IllegalStateException: org.jetbrains.kotlin.ir.expressions.impl.IrErrorCallExpressionImpl is not expected" on adding kotlin.plugin.jpa - [`KT-56701`](https://youtrack.jetbrains.com/issue/KT-56701) K2 (with LightTree) reports syntax errors without additional information - [`KT-56649`](https://youtrack.jetbrains.com/issue/KT-56649) K2 uses 0-index for line numbers rather than 1-index - [`KT-54807`](https://youtrack.jetbrains.com/issue/KT-54807) K2. Support `@OnlyInputTypes` diagnostic checks (`contains` like calls) - [`KT-51247`](https://youtrack.jetbrains.com/issue/KT-51247) "AssertionError: org.jetbrains.kotlin.ir.expressions.impl.IrFunctionReferenceImpl" caused by context receiver functional types - [`KT-55436`](https://youtrack.jetbrains.com/issue/KT-55436) K1: implement warning about shadowing of the derived property by the base class field - [`KT-56521`](https://youtrack.jetbrains.com/issue/KT-56521) Static scope initializers sometimes not called when first accessed from interop - [`KT-49182`](https://youtrack.jetbrains.com/issue/KT-49182) Strange cast from Unit to String - [`KT-55288`](https://youtrack.jetbrains.com/issue/KT-55288) False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifier - [`KT-33132`](https://youtrack.jetbrains.com/issue/KT-33132) Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclass - [`KT-56061`](https://youtrack.jetbrains.com/issue/KT-56061) K1 does not report error on inconsistent synthetic property assignment - [`KT-55483`](https://youtrack.jetbrains.com/issue/KT-55483) K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory - [`KT-55125`](https://youtrack.jetbrains.com/issue/KT-55125) Difference in generated bytecode for open suspend functions of generic classes - [`KT-54140`](https://youtrack.jetbrains.com/issue/KT-54140) SOE at `IrBasedDescriptorsKt.makeKotlinType` with mixing recursive definitely not nullable type with nullability - [`KT-56224`](https://youtrack.jetbrains.com/issue/KT-56224) Clarify message "Secondary constructors with bodies are reserved for for future releases" for secondary constructors in value classes with bodies - [`KT-54662`](https://youtrack.jetbrains.com/issue/KT-54662) K2: Assign operator ambiguity on synthetic property from java - [`KT-54507`](https://youtrack.jetbrains.com/issue/KT-54507) K2: Wrong `implicitModality` for interface in `FirHelpers` - [`KT-55912`](https://youtrack.jetbrains.com/issue/KT-55912) "UnsupportedOperationException: Unsupported const element type kotlin.Any" caused by `kotlin` fqn in annotation - [`KT-56018`](https://youtrack.jetbrains.com/issue/KT-56018) \[K2/N] Fir2Ir does not take value parameters annotations from FIR to IR - [`KT-56091`](https://youtrack.jetbrains.com/issue/KT-56091) \[K2/N] Fix various property annotations - [`KT-54209`](https://youtrack.jetbrains.com/issue/KT-54209) K2: false positive deprecation on a class literal with deprecated companion - [`KT-55977`](https://youtrack.jetbrains.com/issue/KT-55977) \[K2/N] Suspend function reference type is wrongly serialized to klib - [`KT-55493`](https://youtrack.jetbrains.com/issue/KT-55493) K2: False-negative VAL_REASSIGNMENT - [`KT-55372`](https://youtrack.jetbrains.com/issue/KT-55372) K2: false-negative INVISIBLE_MEMBER for call of static method of package-private Java grandparent class - [`KT-55371`](https://youtrack.jetbrains.com/issue/KT-55371) K2: compiled code fails trying to call static method of package-private Java grandparent class - [`KT-55408`](https://youtrack.jetbrains.com/issue/KT-55408) K2: can't access indirectly inherited from a package-private class Java members through a type alias - [`KT-55116`](https://youtrack.jetbrains.com/issue/KT-55116) K2: store static qualifiers in dispatch receiver field - [`KT-55996`](https://youtrack.jetbrains.com/issue/KT-55996) K2: cannot switch the light tree mode off with -Xuse-fir-lt=false - [`KT-55368`](https://youtrack.jetbrains.com/issue/KT-55368) K2/MPP: Metadata compiler - [`KT-54305`](https://youtrack.jetbrains.com/issue/KT-54305) K1: implement warning "synthetic setter projected out" - [`KT-52027`](https://youtrack.jetbrains.com/issue/KT-52027) "NullPointerException" when using context receivers with inline fun - [`KT-55984`](https://youtrack.jetbrains.com/issue/KT-55984) Stack allocated array is not cleaned between loop iterations - [`KT-52593`](https://youtrack.jetbrains.com/issue/KT-52593) Provide Alpha support for JS in the K2 platform - [`KT-54656`](https://youtrack.jetbrains.com/issue/KT-54656) NoSuchMethodError on invoking Java constructor which takes an inline value class as a parameter - [`KT-56015`](https://youtrack.jetbrains.com/issue/KT-56015) Remove unnecessary stack traces for special checks for ObjC interop - [`KT-55606`](https://youtrack.jetbrains.com/issue/KT-55606) K2. Infix operator "in" works on ConcurrentHashMap when it's declared through another class - [`KT-53884`](https://youtrack.jetbrains.com/issue/KT-53884) K2: "IllegalStateException: Fir is not initialized for FirRegularClassSymbol com/appodeal/consent/Consent.a" when importing this class - [`KT-54502`](https://youtrack.jetbrains.com/issue/KT-54502) Synthetic extensions on raw types work differently from regular getter calls - [`KT-49351`](https://youtrack.jetbrains.com/issue/KT-49351) FIR: Raw type scopes are unsupported - [`KT-49345`](https://youtrack.jetbrains.com/issue/KT-49345) FIR: Properly support raw types in type parameter upper bounds - [`KT-55733`](https://youtrack.jetbrains.com/issue/KT-55733) K2. Reference resolve works incorrectly for classes declared through typealias - [`KT-46369`](https://youtrack.jetbrains.com/issue/KT-46369) FIR: Investigate raw types for arrays - [`KT-41794`](https://youtrack.jetbrains.com/issue/KT-41794) \[FIR] Implement raw type based scope - [`KT-55181`](https://youtrack.jetbrains.com/issue/KT-55181) K2. No compilation error on throwing not throwable - [`KT-55398`](https://youtrack.jetbrains.com/issue/KT-55398) Kotlin inline nested inline lambda's inline variable will inline not correctly - [`KT-55359`](https://youtrack.jetbrains.com/issue/KT-55359) K2. No error when secondary constructor does not delegate to primary one - [`KT-55759`](https://youtrack.jetbrains.com/issue/KT-55759) K2: Unresolved reference of `serializer` if library linking is used (with kotlinx.serialization plugin) - [`KT-54705`](https://youtrack.jetbrains.com/issue/KT-54705) Kotlin scripting doesn't support files with UTF-8 BOM - [`KT-51753`](https://youtrack.jetbrains.com/issue/KT-51753) FIR: various errors due to expect/actual mapping absence in translator - [`KT-44515`](https://youtrack.jetbrains.com/issue/KT-44515) FIR DFA: extract non-null info from anonymous object's initialization - [`KT-55018`](https://youtrack.jetbrains.com/issue/KT-55018) K2 / serialization: FIR2IR fails on local companion - [`KT-55284`](https://youtrack.jetbrains.com/issue/KT-55284) Refactor org.jetbrains.kotlin.diagnostics.KtDiagnosticReportContextHelpersKt#reportOn(...) - [`KT-55693`](https://youtrack.jetbrains.com/issue/KT-55693) K2. Type inference changed in k2 - [`KT-54742`](https://youtrack.jetbrains.com/issue/KT-54742) K2: lambda with conditional bare `return` inferred to return Any, not Unit - [`KT-54332`](https://youtrack.jetbrains.com/issue/KT-54332) Add deprecation warning for false-negative TYPE_MISMATCH for KT-49404 - [`KT-55509`](https://youtrack.jetbrains.com/issue/KT-55509) Invisible fake overrides are listed among lazy IR class members - [`KT-55597`](https://youtrack.jetbrains.com/issue/KT-55597) K2. `This type has a constructor, and thus must be initialized here` error is missed for anonymous object inherits class with no-arg constructor - [`KT-54357`](https://youtrack.jetbrains.com/issue/KT-54357) "ClassCastException: class org.jetbrains.kotlin.resolve.scopes.receivers.ExtensionReceiver cannot be cast to class org.jetbrains.kotlin.resolve.scopes.receivers.ContextClassReceiver" with anonymous object extending a class with a context receiver - [`KT-51397`](https://youtrack.jetbrains.com/issue/KT-51397) "VerifyError: Bad type on operand stack" with context receivers - [`KT-54905`](https://youtrack.jetbrains.com/issue/KT-54905) KLIB check on compiled with pre-release version - [`KT-55615`](https://youtrack.jetbrains.com/issue/KT-55615) K2 often does not expand type aliases in annotation position - [`KT-54522`](https://youtrack.jetbrains.com/issue/KT-54522) K2: ambiguity between operator candidates on += (plusAssign) to reassigned var of MutableList type - [`KT-54300`](https://youtrack.jetbrains.com/issue/KT-54300) K2: No "Projections are not allowed for immediate arguments of a supertype" for projection in supertypes of an anonymous object - [`KT-55495`](https://youtrack.jetbrains.com/issue/KT-55495) K2: support lateinit intrinsic applicability checker - [`KT-55494`](https://youtrack.jetbrains.com/issue/KT-55494) MPP. Error when building for native: Compilation failed: Global 'kclass:io.ktor.serialization.$deserializeCOROUTINE$0' already exists - [`KT-54980`](https://youtrack.jetbrains.com/issue/KT-54980) K2: Explicit type arguments in calls with the wrong number of type arguments are not resolved - [`KT-54730`](https://youtrack.jetbrains.com/issue/KT-54730) K2: type aliases to generic functional interfaces attempt to re-infer explicitly specified type parameters - [`KT-55611`](https://youtrack.jetbrains.com/issue/KT-55611) IC / MPP: Optional internal annotations are not visible on incremental builds - [`KT-55324`](https://youtrack.jetbrains.com/issue/KT-55324) K2: ControlFlowGraphBuilder fails with index out of bounds exception - [`KT-55656`](https://youtrack.jetbrains.com/issue/KT-55656) K2: PRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED being a warning causes a NPE in runtime - [`KT-51277`](https://youtrack.jetbrains.com/issue/KT-51277) "NoSuchElementException: Collection contains no element matching the predicate" with context receivers and star projection - [`KT-52791`](https://youtrack.jetbrains.com/issue/KT-52791) Class with multiple context receivers fails -Xvalidate-ir with "Validation failed in file" - [`KT-55071`](https://youtrack.jetbrains.com/issue/KT-55071) Shared Native Compilation: Calls from intermediate common source set cannot use default parameters declared in expect common functions - [`KT-52193`](https://youtrack.jetbrains.com/issue/KT-52193) Native: Unable to call primary constructor with default values in an actual class without passing the values, in nativeMain source set - [`KT-54573`](https://youtrack.jetbrains.com/issue/KT-54573) K2: untouched implicit types in delegated constructor call of data class with `@JvmRecord` - [`KT-55037`](https://youtrack.jetbrains.com/issue/KT-55037) Support jspecify annotations moved to the new package org.jspecify.annotations in jspecify 0.3 - [`KT-48989`](https://youtrack.jetbrains.com/issue/KT-48989) JVM / IR: "IllegalStateException: Bad exception handler end" when first parameter of inline function is nullable with "try/catch/finally" default value and second parameter tries to call toString() on the first - [`KT-55231`](https://youtrack.jetbrains.com/issue/KT-55231) K2: Contract declarations are not passed to checkers - [`KT-54411`](https://youtrack.jetbrains.com/issue/KT-54411) False positive: INFERRED_TYPE_VARIABLE_INTO_POSSIBLE_EMPTY_INTERSECTION on kotlinx.coroutines code - [`KT-55005`](https://youtrack.jetbrains.com/issue/KT-55005) Inconsistent behavior of array set operation in Kotlin 1.7.21 - [`KT-44625`](https://youtrack.jetbrains.com/issue/KT-44625) Property backing/delegate field annotations are not serialized/deserialized for non-JVM targets - [`KT-42490`](https://youtrack.jetbrains.com/issue/KT-42490) Receiver annotations are not serialized/deserialized for non-JVM targets - [`KT-53441`](https://youtrack.jetbrains.com/issue/KT-53441) K2: cannot access static method of package-private Java grandparent class - [`KT-54197`](https://youtrack.jetbrains.com/issue/KT-54197) \[K2] Exception from inliner for inline function with context receiver - [`KT-55246`](https://youtrack.jetbrains.com/issue/KT-55246) Disable 'CustomEqualsInValueClasses' feature in 1.9 language version - [`KT-55247`](https://youtrack.jetbrains.com/issue/KT-55247) Disable 'InlineLateinit' feature in 1.9 language version - [`KT-53957`](https://youtrack.jetbrains.com/issue/KT-53957) K2 and -Xlambdas=indy: LambdaConversionException on reference to method with both context and extension receivers - [`KT-55421`](https://youtrack.jetbrains.com/issue/KT-55421) K2: get rid of potentially redundant call of preCacheBuiltinClassMembers from getIrClassSymbol - [`KT-52815`](https://youtrack.jetbrains.com/issue/KT-52815) Compiler option -Xjdk-release fails to compile mixed projects - [`KT-52236`](https://youtrack.jetbrains.com/issue/KT-52236) Different modality in psi and fir - [`KT-54921`](https://youtrack.jetbrains.com/issue/KT-54921) K2: cannot access static field of package-private Java parent class - [`KT-53698`](https://youtrack.jetbrains.com/issue/KT-53698) K2: FIR2IR fails on call of inivisble extension function with Suppress - [`KT-53920`](https://youtrack.jetbrains.com/issue/KT-53920) K2: "NoSuchElementException: Key `org.jetbrains.kotlin.fir.resolve.dfa.cfg.ClassExitNode@ef115ab` is missing in the map" with unreachable code and anonymous object - [`KT-55358`](https://youtrack.jetbrains.com/issue/KT-55358) INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in return positions of functions - [`KT-51475`](https://youtrack.jetbrains.com/issue/KT-51475) "ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4" with context(Any) on inline function with contract - [`KT-51951`](https://youtrack.jetbrains.com/issue/KT-51951) "IllegalStateException: No receiver" caused by implicit invoke on typealias context receiver - [`KT-52373`](https://youtrack.jetbrains.com/issue/KT-52373) Context receivers: ClassCastException: function with dispatch, context, and extension receivers produces this when a parameter's default is included - [`KT-54220`](https://youtrack.jetbrains.com/issue/KT-54220) K2: compiler fails on compiling plus expression on unsigned int - [`KT-54692`](https://youtrack.jetbrains.com/issue/KT-54692) K2: compiler fails on compiling unsigned shifts - [`KT-54824`](https://youtrack.jetbrains.com/issue/KT-54824) K2: missing smartcast after two levels of aliasing and a reassignment - [`KT-53368`](https://youtrack.jetbrains.com/issue/KT-53368) Out of bounds read in sse version of String::hashCode - [`KT-54978`](https://youtrack.jetbrains.com/issue/KT-54978) K2: Property accesses with explicit type arguments pass frontend checkers - [`KT-51863`](https://youtrack.jetbrains.com/issue/KT-51863) ClassCastException when using context receivers with named argument. - [`KT-55123`](https://youtrack.jetbrains.com/issue/KT-55123) JvmSerializableLambda is not applicable in common code in multiplatform projects - [`KT-45970`](https://youtrack.jetbrains.com/issue/KT-45970) Missing deprecation warnings for constant operators calls in property initializers - [`KT-54851`](https://youtrack.jetbrains.com/issue/KT-54851) K2: analysis of as/is contains multiple errors that result in missing diagnostics - [`KT-54668`](https://youtrack.jetbrains.com/issue/KT-54668) K2: Inference error in body of lazy property with elvis with Nothing in RHS - [`KT-55269`](https://youtrack.jetbrains.com/issue/KT-55269) FIR2IR: Static functions and nested classes are missing from Fir2IrLazyClass - [`KT-55026`](https://youtrack.jetbrains.com/issue/KT-55026) K2: Function hides internal constructor from another module - [`KT-53070`](https://youtrack.jetbrains.com/issue/KT-53070) Update intellij testdata fixes for FIR and merge it to master - [`KT-53492`](https://youtrack.jetbrains.com/issue/KT-53492) No parameter null check generated for constructor taking an inline class type - [`KT-50489`](https://youtrack.jetbrains.com/issue/KT-50489) Smart cast may lead to failing inference - [`KT-55160`](https://youtrack.jetbrains.com/issue/KT-55160) Kotlin's fragment element types must not extend `IStubFileElementType` - [`KT-55143`](https://youtrack.jetbrains.com/issue/KT-55143) K2: INAPPLICABLE_JVM_NAME in JVM does not work for inline classes - [`KT-47933`](https://youtrack.jetbrains.com/issue/KT-47933) Report warning if kotlin.annotation.Repeatable is used together with java.lang.annotation.Repeatable - [`KT-55035`](https://youtrack.jetbrains.com/issue/KT-55035) FIR: do not use FirValueParameter for FirFunctionalTypeRef - [`KT-55095`](https://youtrack.jetbrains.com/issue/KT-55095) Wrong containingDeclarationSymbol in type parameter from Enhancement - [`KT-53946`](https://youtrack.jetbrains.com/issue/KT-53946) K2: don't resolve Enum.declaringClass and Enum.getDeclaringClass - [`KT-54673`](https://youtrack.jetbrains.com/issue/KT-54673) K2. "Superclass is not accessible" from interface error for sealed interfaces - [`KT-55074`](https://youtrack.jetbrains.com/issue/KT-55074) OptIn false negative: constructor call with default argument value - [`KT-54260`](https://youtrack.jetbrains.com/issue/KT-54260) K2: "AssertionError: No modifier list, but modifier has been found by the analyzer" when annotated annotation and AllOpen plugin - [`KT-55034`](https://youtrack.jetbrains.com/issue/KT-55034) FIR: provide information about containing function/constructor to FirValueParameter - [`KT-54744`](https://youtrack.jetbrains.com/issue/KT-54744) K2: reassigning a var erases smartcast info of a variable derived from the old value - [`KT-53988`](https://youtrack.jetbrains.com/issue/KT-53988) K2: False negative "The expression cannot be a selector (occur after a dot)" - [`KT-53983`](https://youtrack.jetbrains.com/issue/KT-53983) K2 crashes with NPE when 'this' is used inside enum class constructor - [`KT-54910`](https://youtrack.jetbrains.com/issue/KT-54910) Can not declare typed equals operator in inline class with "Nothing" return type - [`KT-54909`](https://youtrack.jetbrains.com/issue/KT-54909) Usage of custom typed equals operator in generic inline class is type-unsafe - [`KT-53371`](https://youtrack.jetbrains.com/issue/KT-53371) Properly resolve FIR to get fully resolved annotations - [`KT-53519`](https://youtrack.jetbrains.com/issue/KT-53519) FIR: argument mapping for annotations on value parameter is not properly built - [`KT-54827`](https://youtrack.jetbrains.com/issue/KT-54827) MPP: "java.lang.IndexOutOfBoundsException: Index: 0" during compilation of `androidMain` target - [`KT-54417`](https://youtrack.jetbrains.com/issue/KT-54417) K2: move receiver-targeted annotations to KtReceiverParameterSymbol and remove it from FirProperty receiver type - [`KT-54972`](https://youtrack.jetbrains.com/issue/KT-54972) K2: Local functions with multiple type arguments are broken - [`KT-54762`](https://youtrack.jetbrains.com/issue/KT-54762) Private constructor is accessible from a public inline function via `@PublishedAPI` annotation - [`KT-54832`](https://youtrack.jetbrains.com/issue/KT-54832) Deprecate incorrect callable references resolution behavior for KT-54316 - [`KT-54732`](https://youtrack.jetbrains.com/issue/KT-54732) DirectedGraphCondensationBuilder.paint fails with StackOverflowError during linkReleaseFrameworkIos64 - [`KT-54897`](https://youtrack.jetbrains.com/issue/KT-54897) K2: value class with private constructor stripped by jvm-abi-gen cannot be used in another module - [`KT-54784`](https://youtrack.jetbrains.com/issue/KT-54784) NPE from IrSourceCompilerForInlineKt.nonLocalReturnLabel on non-local break and continue in anonymous initializers and in scripts - [`KT-54840`](https://youtrack.jetbrains.com/issue/KT-54840) Field for const property on interface companion object loses deprecated status when copied to interface - [`KT-53825`](https://youtrack.jetbrains.com/issue/KT-53825) class files are generated when compilation fails with platform declaration clash - [`KT-54526`](https://youtrack.jetbrains.com/issue/KT-54526) K2: Raw type scope is lost after exiting from elvis - [`KT-54570`](https://youtrack.jetbrains.com/issue/KT-54570) K2: False-positive OVERLOAD_RESOLUTION_AMBIGUITY in case of combination of raw types - [`KT-52157`](https://youtrack.jetbrains.com/issue/KT-52157) Annotation on type parameter isn't present in the symbol loaded from the library - [`KT-54318`](https://youtrack.jetbrains.com/issue/KT-54318) VerifyError on `{ null }` in catch block - [`KT-54654`](https://youtrack.jetbrains.com/issue/KT-54654) K2: Implicit types leaks into delegated member - [`KT-54645`](https://youtrack.jetbrains.com/issue/KT-54645) K2: Clash of two inherited classes with the same name - [`KT-53255`](https://youtrack.jetbrains.com/issue/KT-53255) \[FIR2IR] StackOverflowError with long when-expression conditions - [`KT-48861`](https://youtrack.jetbrains.com/issue/KT-48861) No warning on incorrect usage of array type annotated as Nullable in Java - [`KT-54539`](https://youtrack.jetbrains.com/issue/KT-54539) `@Deprecated` on members of private companion object is no longer needed - [`KT-54403`](https://youtrack.jetbrains.com/issue/KT-54403) Unexpected behaviour on overridden typed equals in inline class - [`KT-54536`](https://youtrack.jetbrains.com/issue/KT-54536) Unexpected result of comparison of inline class instances - [`KT-54603`](https://youtrack.jetbrains.com/issue/KT-54603) ClassCastException on comparison of inline classes with custom equals - [`KT-54401`](https://youtrack.jetbrains.com/issue/KT-54401) Unhandled exception on compilation inline class with 'equals' from 'Any' returning 'Nothing' - [`KT-54378`](https://youtrack.jetbrains.com/issue/KT-54378) K2: smart cast breaks subtyping in case with complex projections - [`KT-53761`](https://youtrack.jetbrains.com/issue/KT-53761) Reified type not propagated to supertype token through two inline functions - [`KT-53876`](https://youtrack.jetbrains.com/issue/KT-53876) Manually instantiated annotations with unsigned arrays are not equal - [`KT-51740`](https://youtrack.jetbrains.com/issue/KT-51740) NO_VALUE_FOR_PARAMETER: Consider increasing error highlighting range - [`KT-54084`](https://youtrack.jetbrains.com/issue/KT-54084) ClassCastException when trying to call a context receiver's method - [`KT-51282`](https://youtrack.jetbrains.com/issue/KT-51282) IllegalAccessError: Compiler for JVM 1.8+ makes lambdas access unaccessible classes when using `@JvmMultifileClasses` - [`KT-53479`](https://youtrack.jetbrains.com/issue/KT-53479) False positive "Cannot access 'runCatching' before superclass constructor has been called" - [`KT-50950`](https://youtrack.jetbrains.com/issue/KT-50950) JVM IR: "AssertionError: FUN SYNTHETIC_GENERATED_SAM_IMPLEMENTATION" when using bound reference to suspend SAM function - [`KT-49364`](https://youtrack.jetbrains.com/issue/KT-49364) "VerifyError: Bad type on operand stack" on cast which "can never succeed" from ULong to Int - [`KT-51478`](https://youtrack.jetbrains.com/issue/KT-51478) Inapplicable receiver diagnostic expected when there are two context receiver candidates ##### Docs & Examples - [`KT-32469`](https://youtrack.jetbrains.com/issue/KT-32469) `@Synchronized` on extension method doesn't generate instance lock ##### IDE ##### New Features - [`KTIJ-24378`](https://youtrack.jetbrains.com/issue/KTIJ-24378) Update Kotlin plugin to 1.8.0 in IDEA 223.2 ##### Performance Improvements - [`KT-55445`](https://youtrack.jetbrains.com/issue/KT-55445) KtUltraLightClassModifierList.hasModifierProperty requires resolve for PsiModifier.PRIVATE ##### Fixes - [`KTIJ-24657`](https://youtrack.jetbrains.com/issue/KTIJ-24657) Disable pre-release and other metadata checks in IDE - [`KT-55929`](https://youtrack.jetbrains.com/issue/KT-55929) Unresolved dependencies for intermediate multiplatform SourceSets - [`KTIJ-24179`](https://youtrack.jetbrains.com/issue/KTIJ-24179) Bundle Kotlin 1.8.0 with Intellij IDEA 2022.3.2 - [`KTIJ-23547`](https://youtrack.jetbrains.com/issue/KTIJ-23547) K2 IDE: Functional type: explicit parameter name VS ParameterName annotation - [`KTIJ-23347`](https://youtrack.jetbrains.com/issue/KTIJ-23347) K2 IDE. False positive "Symbol fun intFun(): Unit is invisible" in tests - [`KT-55862`](https://youtrack.jetbrains.com/issue/KT-55862) Can't resolve kotlin-stdlib-js sources in IDE - [`KTIJ-23587`](https://youtrack.jetbrains.com/issue/KTIJ-23587) K2: SOE in delegate field resolution - [`KT-55782`](https://youtrack.jetbrains.com/issue/KT-55782) \[SLC] Typealiases are not exapnded in arguments of annotations - [`KT-55778`](https://youtrack.jetbrains.com/issue/KT-55778) \[SLC] Incorrect determination of useSitePostion for types of local declarations - [`KT-55780`](https://youtrack.jetbrains.com/issue/KT-55780) \[SLC] No approximation of anonymous and local types in members - [`KT-55743`](https://youtrack.jetbrains.com/issue/KT-55743) K2 SLC: SymbolLightClassForClassOrObject must have a name - [`KT-55604`](https://youtrack.jetbrains.com/issue/KT-55604) Descriptor leak - [`KT-55502`](https://youtrack.jetbrains.com/issue/KT-55502) SLC: drop redundant 'final' modifier from synthetic static enum members - [`KT-55497`](https://youtrack.jetbrains.com/issue/KT-55497) LC: drop `@NotNull` annotation from parameter from synthetic Enum.valueOf - [`KT-55496`](https://youtrack.jetbrains.com/issue/KT-55496) SLC: generated synthetic enum methods by symbols instead of manual creation - [`KT-55481`](https://youtrack.jetbrains.com/issue/KT-55481) SLC: implement correct java annotations for annotation classes (Retention, Target, etc.) - [`KT-55470`](https://youtrack.jetbrains.com/issue/KT-55470) SLC: implement light class for RepeatableContainer - [`KT-55442`](https://youtrack.jetbrains.com/issue/KT-55442) SLC: 'isInheritor' for 'DefaultImpls' should work correctly - [`KTIJ-23449`](https://youtrack.jetbrains.com/issue/KTIJ-23449) K2: "parent must not be null" from SymbolLightClassBase.getContext() - [`KT-40609`](https://youtrack.jetbrains.com/issue/KT-40609) IDE: False positive "Exception is never thrown..." in Java when Kotlin getter is annotated with Throws - [`KT-54051`](https://youtrack.jetbrains.com/issue/KT-54051) Migrate symbol light classes from KtSymbol to KtElement ##### IDE. Completion - [`KTIJ-22503`](https://youtrack.jetbrains.com/issue/KTIJ-22503) Support code completion for data objects - [`KTIJ-22361`](https://youtrack.jetbrains.com/issue/KTIJ-22361) ISE “java.lang.IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl <implicit>” on K2 ##### IDE. Debugger - [`KTIJ-24259`](https://youtrack.jetbrains.com/issue/KTIJ-24259) Debugger is stuck in an infinite loop in an Android project - [`KTIJ-24003`](https://youtrack.jetbrains.com/issue/KTIJ-24003) Smart step into doesn't work for Java synthetic properties references - [`KTIJ-24039`](https://youtrack.jetbrains.com/issue/KTIJ-24039) Support smart step into for property setters ##### IDE. Decompiler, Indexing, Stubs - [`KTIJ-24351`](https://youtrack.jetbrains.com/issue/KTIJ-24351) Kotlin Bytecode tool window: NullPointerException during inlining of inline function with object literal ##### IDE. Gradle Integration - [`KTIJ-24616`](https://youtrack.jetbrains.com/issue/KTIJ-24616) Gradle Integration: "NoSuchMethodError: 'java.util.Collection org.jetbrains.kotlin.idea.projectModel.KotlinCompilation.getDeclaredSourceSets" during sync fail after updating Kotlin IJ Plugin to 1.8.20-Beta - [`KT-55347`](https://youtrack.jetbrains.com/issue/KT-55347) Broken IDE sync for js: java.lang.IllegalStateException: Accessing Compile Dependencies Transformations is not yet initialised - [`KTIJ-23781`](https://youtrack.jetbrains.com/issue/KTIJ-23781) TCS: Gradle Sync: Support friend\&dependsOn via IdeaKotlinSourceDependency ##### IDE. Gradle. Script - [`KT-56941`](https://youtrack.jetbrains.com/issue/KT-56941) Gradle KTS / Navigation: Go to declaration for Java types doesn't work ##### IDE. Inspections and Intentions - [`KTIJ-23404`](https://youtrack.jetbrains.com/issue/KTIJ-23404) K2 IDE. Platform type is inserted as type parameter for "Change return type" intention - [`KTIJ-24319`](https://youtrack.jetbrains.com/issue/KTIJ-24319) "Set module version to \*" quickfix isn't working - [`KTIJ-23225`](https://youtrack.jetbrains.com/issue/KTIJ-23225) "Change package" intention unintentionally and intractably replaces text inside of critical strings and comments - [`KTIJ-23892`](https://youtrack.jetbrains.com/issue/KTIJ-23892) UsePropertyAccessSyntaxInspection should also suggest replacing getter method references with method synthetic properties referencies after Kotlin 1.9 - [`KTIJ-22087`](https://youtrack.jetbrains.com/issue/KTIJ-22087) Support IDE inspections for upcoming data objects - [`KTIJ-24286`](https://youtrack.jetbrains.com/issue/KTIJ-24286) Constant conditions: false positive "Cast will always fail" with cast of java.lang.String to kotlin.String - [`KTIJ-23859`](https://youtrack.jetbrains.com/issue/KTIJ-23859) ConvertObjectToDataObjectInspection support more hashCode and toString cases - [`KTIJ-23760`](https://youtrack.jetbrains.com/issue/KTIJ-23760) Get rid of `readResolve` logic in ConvertObjectToDataObjectInspection ##### IDE. KDoc - [`KTIJ-24342`](https://youtrack.jetbrains.com/issue/KTIJ-24342) KDoc: First line break character is swallowed when pasted ##### IDE. Misc - [`KTIJ-24370`](https://youtrack.jetbrains.com/issue/KTIJ-24370) Remove link to k2.xml from plugin.xml in kt-223 branches - [`KTIJ-24210`](https://youtrack.jetbrains.com/issue/KTIJ-24210) Compatibility issue with the CUBA plugin ##### IDE. Multiplatform - [`KTIJ-21205`](https://youtrack.jetbrains.com/issue/KTIJ-21205) MPP: Kotlin not configured error is shown for K/N sources if Android target is presented - [`KT-52172`](https://youtrack.jetbrains.com/issue/KT-52172) Multiplatform: Support composite builds - [`KT-56198`](https://youtrack.jetbrains.com/issue/KT-56198) Multiplatform;Composite Builds: import fails if single jvm target multiplatform project consume included jvm build - [`KTIJ-24147`](https://youtrack.jetbrains.com/issue/KTIJ-24147) MPP: NullPointerException: versionString must not be null ##### IDE. Refactorings. Move - [`KTIJ-24243`](https://youtrack.jetbrains.com/issue/KTIJ-24243) Move declarations: "Search in comments and strings" and "Search for text occurrences" options are always enabled when files are moved ##### IDE. Script - [`KT-56632`](https://youtrack.jetbrains.com/issue/KT-56632) Script configuration cannot be loaded for embedded code snippets ##### IDE. Wizards - [`KTIJ-24562`](https://youtrack.jetbrains.com/issue/KTIJ-24562) Android target created by wizard contains AGP higher than supported - [`KTIJ-24402`](https://youtrack.jetbrains.com/issue/KTIJ-24402) Changes "Browser Application for Kotlin/Wasm" wizard template - [`KTIJ-23525`](https://youtrack.jetbrains.com/issue/KTIJ-23525) Wizard: Compose multiplatform: project won't build and require higher compileSdkVersion ##### JavaScript ##### New Features - [`KT-54118`](https://youtrack.jetbrains.com/issue/KT-54118) Kotlin/JS IR: keep declarations with non-minified names - [`KT-35655`](https://youtrack.jetbrains.com/issue/KT-35655) Investigate could we use "names" field in SourceMaps to improve debug experience ##### Fixes - [`KT-55971`](https://youtrack.jetbrains.com/issue/KT-55971) KJS: Result of suspend function cannot be assigned to property of dynamic value - [`KT-52374`](https://youtrack.jetbrains.com/issue/KT-52374) KJS / IR: caling suspend function as dynamic ignores the rest of the expression - [`KT-56884`](https://youtrack.jetbrains.com/issue/KT-56884) KJS: "Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier." caused by enum and array inside the companion object - [`KT-51122`](https://youtrack.jetbrains.com/issue/KT-51122) Provide fully-qualified method name in Kotlin/JS source maps - [`KT-56602`](https://youtrack.jetbrains.com/issue/KT-56602) KJS / Serialization: polymorphicDefaultDeserializer unbound on Kotlin 1.8.20-Beta - [`KT-56580`](https://youtrack.jetbrains.com/issue/KT-56580) KJS: languageVersionSettings string is unstable - [`KT-56581`](https://youtrack.jetbrains.com/issue/KT-56581) KJS: Lock file for incremental cache - [`KT-56582`](https://youtrack.jetbrains.com/issue/KT-56582) KJS: Function type interface reflection crashes the compiler in incremental build - [`KT-55720`](https://youtrack.jetbrains.com/issue/KT-55720) KJS: `ReferenceError: SuspendFunction1 is not defined` with 1.8 when importing`kotlin.coroutines.SuspendFunction1` - [`KT-56469`](https://youtrack.jetbrains.com/issue/KT-56469) KJS: BE Incremental rebuild spoils source map comment - [`KT-55930`](https://youtrack.jetbrains.com/issue/KT-55930) KJS: A recursive callable reference of the inline function leads broken cross module references - [`KT-31888`](https://youtrack.jetbrains.com/issue/KT-31888) Kotlin/JS: make possible to call `main()` in main run tasks, but not in test tasks - [`KT-51581`](https://youtrack.jetbrains.com/issue/KT-51581) FIR: support JS backend - [`KT-55786`](https://youtrack.jetbrains.com/issue/KT-55786) KJS: Rewriting of secondary constructors if they are protected - [`KT-52563`](https://youtrack.jetbrains.com/issue/KT-52563) KJS / IR: Invalid TypeScript generated for class extending base class with private constructor - [`KT-55367`](https://youtrack.jetbrains.com/issue/KT-55367) KJS / IR + IC: Moving an external declaration between different JsModules() doesn't rebuild the JS code - [`KT-55240`](https://youtrack.jetbrains.com/issue/KT-55240) KJS: "NoSuchElementException: No element of given type found" caused by `@JsExport` and `Throwable's` child class - [`KT-54398`](https://youtrack.jetbrains.com/issue/KT-54398) KJS / IR + IC: Support \*.d.ts generation - [`KT-55144`](https://youtrack.jetbrains.com/issue/KT-55144) KJS / IR + IC: Modifying an inline function which is used as a default param in another inline function doesn't invalidate a caller - [`KT-54134`](https://youtrack.jetbrains.com/issue/KT-54134) KJS / IR: "TypeError: Cannot read properties of undefined" in js block wrapped with suspend functions around - [`KT-54911`](https://youtrack.jetbrains.com/issue/KT-54911) KJS / IR + IC: invalidate all klib dependencies after removing it - [`KT-54912`](https://youtrack.jetbrains.com/issue/KT-54912) KJS / IR + IC: Commit cache header only in the end (after lowering) - [`KT-52677`](https://youtrack.jetbrains.com/issue/KT-52677) Native: StackOverFlow during "kotlin.ir.util.RenderIrElementVisitor$renderTypeAnnotations$1.invoke" - [`KT-54480`](https://youtrack.jetbrains.com/issue/KT-54480) KJS: "Exported declaration contains non-consumable identifier" warning when exporting modules as default - [`KT-41294`](https://youtrack.jetbrains.com/issue/KT-41294) KJS: Weird behaviour of j2v8 in test infra - [`KT-54173`](https://youtrack.jetbrains.com/issue/KT-54173) Kotlin/JS + IR: failed to provide `keep` setting to avoid DCE remove of default interface function from implementing object ##### Language Design - [`KT-55451`](https://youtrack.jetbrains.com/issue/KT-55451) Preview of lifting restriction on secondary constructor bodies for value classes - [`KT-54621`](https://youtrack.jetbrains.com/issue/KT-54621) Preview of Enum.entries: modern and performant replacement for Enum.values() - [`KT-54525`](https://youtrack.jetbrains.com/issue/KT-54525) Preview of Java synthetic property references - [`KT-55337`](https://youtrack.jetbrains.com/issue/KT-55337) Preview of data objects - [`KT-55344`](https://youtrack.jetbrains.com/issue/KT-55344) Deprecate `@Synchronized` in platforms except JVM ##### Libraries - [`KT-35508`](https://youtrack.jetbrains.com/issue/KT-35508) EXC_BAD_ACCESS(code=2, address=0x16d8dbff0) crashes on iOS when using a sequence (from map() etc.) - [`KT-56794`](https://youtrack.jetbrains.com/issue/KT-56794) Libraries: "Recursively copying a directory into its subdirectory is prohibited" Path.copyToRecursively fails on copying from one ZipFileSystem to another ZipFileSystem - [`KT-55935`](https://youtrack.jetbrains.com/issue/KT-55935) \[Kotlin/JVM] Path.copyToRecursively does not work across file systems - [`KT-55978`](https://youtrack.jetbrains.com/issue/KT-55978) Provide Common Base64 encoding in stdlib - [`KT-46211`](https://youtrack.jetbrains.com/issue/KT-46211) \[Kotlin/Native] Stack overflow crash in Regex classes with simple pattern and very large input - [`KT-31066`](https://youtrack.jetbrains.com/issue/KT-31066) Add Closeable & use to common stdlib - [`KT-55609`](https://youtrack.jetbrains.com/issue/KT-55609) Introduce experimental kotlin.concurrent.Volatile annotation - [`KT-39789`](https://youtrack.jetbrains.com/issue/KT-39789) Segfault in Kotlin/Native regex interpreter - [`KT-53310`](https://youtrack.jetbrains.com/issue/KT-53310) Native: HashMap/HashSet doesn't reclaim storage after removing elements ##### Native - [`KT-56443`](https://youtrack.jetbrains.com/issue/KT-56443) Native link task reports w: Cached libraries will not be used for optimized compilation - [`KT-55938`](https://youtrack.jetbrains.com/issue/KT-55938) \[Kotlin/Native] Inline functions accessing ObjC class companion cause compiler to crash when building static caches in 1.8.20 dev build ##### Native. C and ObjC Import - [`KT-55303`](https://youtrack.jetbrains.com/issue/KT-55303) Objective-C import: improve `-fmodules` flag discoverability. - [`KT-39120`](https://youtrack.jetbrains.com/issue/KT-39120) Cinterop tool doesn't support the -fmodules compiler argument - [`KT-40426`](https://youtrack.jetbrains.com/issue/KT-40426) Incorrect Objective-C extensions importing that prevents UIKit usage - [`KT-55653`](https://youtrack.jetbrains.com/issue/KT-55653) Since Kotlin 1.8.0 NSView.resetCursorRects doesn't exist anymore and cannot override it - [`KT-54284`](https://youtrack.jetbrains.com/issue/KT-54284) Kotlin/Native: cinterop produces non-deterministic metadata ##### Native. ObjC Export - [`KT-56350`](https://youtrack.jetbrains.com/issue/KT-56350) Kotlin/Native: restore "use Foundation" in generated Objective-C frameworks - [`KT-55736`](https://youtrack.jetbrains.com/issue/KT-55736) Native: exporting suspend function from a cached dependency to Objective-C crashes with "Suspend functions should be lowered out at this point" - [`KT-53638`](https://youtrack.jetbrains.com/issue/KT-53638) Native: support disabling mangling globally for Swift names in generated Objective-C header - [`KT-53069`](https://youtrack.jetbrains.com/issue/KT-53069) SOE on K/N framework build for Arm64 - [`KT-53317`](https://youtrack.jetbrains.com/issue/KT-53317) ObjCName annotation is not applied to an extension receiver in Objective-C export ##### Native. Stdlib - [`KT-53064`](https://youtrack.jetbrains.com/issue/KT-53064) Native: provide stdlib API to obtain memory management statistics ##### Reflection - [`KT-27585`](https://youtrack.jetbrains.com/issue/KT-27585) Flaky IllegalPropertyDelegateAccessException: Cannot obtain the delegate of a non-accessible property. Use "isAccessible = true" to make the property accessible - [`KT-55178`](https://youtrack.jetbrains.com/issue/KT-55178) Improve performance of KCallable.callBy - [`KT-53279`](https://youtrack.jetbrains.com/issue/KT-53279) Reflection: "KotlinReflectionInternalError: Method is not supported" caused by `@Repeatable` annotation deserialization at runtime if it's repeated and contains arrays - [`KT-44977`](https://youtrack.jetbrains.com/issue/KT-44977) Reflection: ClassCastException caused by annotations with "AnnotationTarget.TYPE" usage on array attributes access ##### Tools. CLI - [`KT-57077`](https://youtrack.jetbrains.com/issue/KT-57077) `1.8.20-RC-243` shows Java 19 warnings even if configured with Java 17 toolchain - [`KT-56992`](https://youtrack.jetbrains.com/issue/KT-56992) Performance test regression in Gradle when switching to Kotlin 1.8.20 - [`KT-56789`](https://youtrack.jetbrains.com/issue/KT-56789) Metaspace memory leak in CoreJrtFileSystem - [`KT-56925`](https://youtrack.jetbrains.com/issue/KT-56925) Remove warning about assignment plugin - [`KT-54652`](https://youtrack.jetbrains.com/issue/KT-54652) Enable -Xuse-fir-lt by default when -Xuse-k2 is turned on, provide way to disable - [`KT-55784`](https://youtrack.jetbrains.com/issue/KT-55784) Unable to format compilation errors with ansi colors in compilation server - [`KT-54718`](https://youtrack.jetbrains.com/issue/KT-54718) K2: Compiler crashes with "IllegalArgumentException: newPosition > limit" - [`KT-54337`](https://youtrack.jetbrains.com/issue/KT-54337) CLI: compiling module-info.java without explicitly specified JDK home leads to a weird error ##### Tools. Commonizer - [`KT-47429`](https://youtrack.jetbrains.com/issue/KT-47429) \[Commonizer] OKIO support - [`KT-51517`](https://youtrack.jetbrains.com/issue/KT-51517) C Interop Commonizer Fails On Classifier That Doesn't Exist ##### Tools. Compiler Plugins ##### Fixes - [`KT-53590`](https://youtrack.jetbrains.com/issue/KT-53590) K2 Allopen does not look for transitive meta-annotations - [`KT-56487`](https://youtrack.jetbrains.com/issue/KT-56487) Add more methods to DescriptorSerializerPlugin - [`KT-54020`](https://youtrack.jetbrains.com/issue/KT-54020) \[K2] \[NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER] error in case 'static Name' param was added to `@AllArgsConstructor` annotation and an empty list is set as a constructor param value - [`KT-53096`](https://youtrack.jetbrains.com/issue/KT-53096) Create a pack of compiler utilities for generating declarations from plugins - [`KT-55248`](https://youtrack.jetbrains.com/issue/KT-55248) K2/PluginAPI: getCallableNamesForClass/generateClassLikeDeclaration are not called for synthetic companions of local classes - [`KT-54756`](https://youtrack.jetbrains.com/issue/KT-54756) Deprecate "legacy" mode of jvm-abi-gen plugin - [`KT-55233`](https://youtrack.jetbrains.com/issue/KT-55233) jvm-abi-gen strips out InnerClass attributes - [`KT-54994`](https://youtrack.jetbrains.com/issue/KT-54994) K2 plugin API: Compile-time constants are not evaluated before IR - [`KT-55023`](https://youtrack.jetbrains.com/issue/KT-55023) K2 plugin API: Compilation with Kotlin daemon fails after certain number of tries - [`KT-55286`](https://youtrack.jetbrains.com/issue/KT-55286) K2: Parcelize plugin sometimes can't find nested objects in current class - [`KT-54500`](https://youtrack.jetbrains.com/issue/KT-54500) Private type aliases can be referenced from public declarations, but are stripped by jvm-abi-gen ##### Tools. Compiler plugins. Serialization - [`KT-56738`](https://youtrack.jetbrains.com/issue/KT-56738) Unexpected SERIALIZER_NOT_FOUND when compiling against binary with enum - [`KT-56990`](https://youtrack.jetbrains.com/issue/KT-56990) "AssertionError: SyntheticAccessorLowering should not attempt to modify other files" in kotlinx-serialization using `@Serializer` and List argument - [`KT-54441`](https://youtrack.jetbrains.com/issue/KT-54441) Prohibit implicit serializer customization via companion object - [`KT-49983`](https://youtrack.jetbrains.com/issue/KT-49983) Implement prototype of kotlinx.serialization for K2 compiler - [`KT-48733`](https://youtrack.jetbrains.com/issue/KT-48733) "AssertionError: Unexpected IR element found during code generation" caused by Serialization and annotation with default parameter - [`KT-54297`](https://youtrack.jetbrains.com/issue/KT-54297) Regression in serializable classes with star projections ##### Tools. Gradle ##### New Features - [`KT-54691`](https://youtrack.jetbrains.com/issue/KT-54691) Kotlin Gradle Plugin libraries alignment platform - [`KT-54492`](https://youtrack.jetbrains.com/issue/KT-54492) Send gradle build errors from idea - [`KT-55540`](https://youtrack.jetbrains.com/issue/KT-55540) Add compilation speed metric in build reports - [`KT-55541`](https://youtrack.jetbrains.com/issue/KT-55541) Validate FUS metrics values on Gradle side ##### Performance Improvements - [`KT-54836`](https://youtrack.jetbrains.com/issue/KT-54836) Kotlin/JVM Gradle plugin creates task eagerly on Gradle 7.3+ - [`KT-55995`](https://youtrack.jetbrains.com/issue/KT-55995) Add ability to perform precise compilation task outputs backup - [`KT-54579`](https://youtrack.jetbrains.com/issue/KT-54579) Kapt tasks slow down significantly on Windows when running with JDK 17 compared to JDK 11 - [`KT-54588`](https://youtrack.jetbrains.com/issue/KT-54588) KotlinCompile: Avoid calling `FileCollection.getFiles()` multiple times ##### Fixes - [`KT-57296`](https://youtrack.jetbrains.com/issue/KT-57296) Build statistics sending errors in case of buildSrc directory usage with kotlin-dsl plugin applied - [`KT-56645`](https://youtrack.jetbrains.com/issue/KT-56645) Gradle: KGP reports an incorrect resources processing task name for JVM projects - [`KT-55824`](https://youtrack.jetbrains.com/issue/KT-55824) Deprecate `commonMain.dependsOn(anything)` in user scripts - [`KT-56221`](https://youtrack.jetbrains.com/issue/KT-56221) Gradle KTS: False positive `Val cannot be reassigned` when using an extension and its property with an implicit `set` operator - [`KT-55452`](https://youtrack.jetbrains.com/issue/KT-55452) Values of the compiler arguments set via KotlinCompile task configuration are duplicated by the KaptGenerateStubs task - [`KT-55565`](https://youtrack.jetbrains.com/issue/KT-55565) Consider de-duping or blocking standard addition of freeCompilerArgs to KaptGenerateStubsTask - [`KT-55632`](https://youtrack.jetbrains.com/issue/KT-55632) 'The configuration :kotlinCompilerClasspath is both consumable and declarable' messages are displayed in logs for different types of projects for KotlinCompile task with gradle 8 - [`KT-56414`](https://youtrack.jetbrains.com/issue/KT-56414) Dependency locking and failed builds with Kotlin 1.8.10 - [`KT-52625`](https://youtrack.jetbrains.com/issue/KT-52625) Compatibility with Gradle 7.4 release - [`KT-55544`](https://youtrack.jetbrains.com/issue/KT-55544) Gradle: add more debugging information for finding usages of kotlinOptions.freeCompilerArgs - [`KT-52149`](https://youtrack.jetbrains.com/issue/KT-52149) Gradle: declare shared build services usages with `Task#usesService` - [`KT-55323`](https://youtrack.jetbrains.com/issue/KT-55323) Gradle: allow to opt-out of reporting compiler arguments to a http statistics service - [`KT-53811`](https://youtrack.jetbrains.com/issue/KT-53811) Compatibility with Gradle 7.6 release - [`KT-52998`](https://youtrack.jetbrains.com/issue/KT-52998) Compatibility with Gradle 7.5 release - [`KT-55741`](https://youtrack.jetbrains.com/issue/KT-55741) Gradle 8: Build service '*' is being used by task '*' without the corresponding declaration via 'Task#usesService'. - [`KT-55174`](https://youtrack.jetbrains.com/issue/KT-55174) KotlinCompile task produces deprecation "Build service 'variant_impl_factories\_...' is being used by task" - [`KT-54425`](https://youtrack.jetbrains.com/issue/KT-54425) Kotlin Gradle Plugin should not use deprecated UsageContext#getUsage() - [`KT-54998`](https://youtrack.jetbrains.com/issue/KT-54998) "kotlin.gradle.performance" FUS collector reports data twice - [`KT-55520`](https://youtrack.jetbrains.com/issue/KT-55520) Add required configuration for Kotlin Gradle Plugin API reference publication - [`KT-52963`](https://youtrack.jetbrains.com/issue/KT-52963) Build report code breaks Gradle project isolation. - [`KT-55164`](https://youtrack.jetbrains.com/issue/KT-55164) KGP: "Cannot access project ':' from project ':list'" JVM - Project Isolation with Multi Modules and Configuration Cache fails - [`KT-52490`](https://youtrack.jetbrains.com/issue/KT-52490) Gradle: \[org.jetbrains.kotlin.gradle.testing.internal] TestReport.destinationDir and TestReport.reportOn deprecation warnings - [`KT-55000`](https://youtrack.jetbrains.com/issue/KT-55000) Include information about the new IC into "kotlin.gradle.performance" FUS collector - [`KT-54941`](https://youtrack.jetbrains.com/issue/KT-54941) Gradle, Daemon, MacOS M1: "Native integration is not available for Mac OS X aarch64" on first build - [`KT-45748`](https://youtrack.jetbrains.com/issue/KT-45748) Migrate all Kotlin Gradle plugin Android tests to new test setup - [`KT-54029`](https://youtrack.jetbrains.com/issue/KT-54029) Validate Binary Compatibility for kotlin-gradle-plugin-api ##### Tools. Gradle. Cocoapods - [`KT-41830`](https://youtrack.jetbrains.com/issue/KT-41830) CocoaPods integration: Support link-only mode for pods - [`KT-55117`](https://youtrack.jetbrains.com/issue/KT-55117) PodGenTask doesn't declare ouputs properly - [`KT-55243`](https://youtrack.jetbrains.com/issue/KT-55243) Gradle 7.6: Cocoapods plugin generates invalid podspec when applied in root project - [`KT-56304`](https://youtrack.jetbrains.com/issue/KT-56304) Podspec generated with new K/N artifact DSL contains wrong artifact names for static and dynamic libraries - [`KT-56298`](https://youtrack.jetbrains.com/issue/KT-56298) Assemble tasks for native binaries fail if more than one kotlin artifact is declared in one gradle project - [`KT-55801`](https://youtrack.jetbrains.com/issue/KT-55801) Deprecate useLibraries - [`KT-55790`](https://youtrack.jetbrains.com/issue/KT-55790) Improper sdk selected for watchosDeviceArm64 target ##### Tools. Gradle. JS ##### New Features - [`KT-25878`](https://youtrack.jetbrains.com/issue/KT-25878) Provide Option to Define Scoped NPM Package - [`KT-37759`](https://youtrack.jetbrains.com/issue/KT-37759) \[Gradle, JS] Support arguments of command line for webpack and nodejs task - [`KT-33518`](https://youtrack.jetbrains.com/issue/KT-33518) Allow specifying command line args for node in nodejs or mocha tests - [`KT-46163`](https://youtrack.jetbrains.com/issue/KT-46163) KJS / Ktor: Support run on the next free port if default one is occupied ##### Performance Improvements - [`KT-55476`](https://youtrack.jetbrains.com/issue/KT-55476) KotlinWebpack should be cacheable - [`KT-39108`](https://youtrack.jetbrains.com/issue/KT-39108) Kotlin multiplatform plugin targeting js takes too long compared to the old kotlin-frontend plugin - [`KT-45411`](https://youtrack.jetbrains.com/issue/KT-45411) Investigate memory consumption in npm package - [`KT-51376`](https://youtrack.jetbrains.com/issue/KT-51376) KJS / Gradle: Dukat tasks make impact on build time even if there's no npm dependencies ##### Fixes - [`KT-57285`](https://youtrack.jetbrains.com/issue/KT-57285) KJS / Gradle / MPP: FileNotFoundException on publishing empty KJS sourceset - [`KT-57068`](https://youtrack.jetbrains.com/issue/KT-57068) KJS / Gradle: "Unable to find method 'kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl.testTask'" after updating to 1.8.20-Beta - [`KT-54445`](https://youtrack.jetbrains.com/issue/KT-54445) KJS Remove dukat integration - [`KT-56999`](https://youtrack.jetbrains.com/issue/KT-56999) K/JS: KotlinJsIrLink::rootCacheDirectory property must be public - [`KT-56765`](https://youtrack.jetbrains.com/issue/KT-56765) K/JS: Several binaries use same cache directory - [`KT-54529`](https://youtrack.jetbrains.com/issue/KT-54529) KJS / IR: generate typescript definitions only on explicit Gradle action - [`KT-56488`](https://youtrack.jetbrains.com/issue/KT-56488) Debugger won't stop on breakpoints of JS browser test - [`KT-56719`](https://youtrack.jetbrains.com/issue/KT-56719) KJS / Gradle: Compile sync task has to sync only changed files - [`KT-56131`](https://youtrack.jetbrains.com/issue/KT-56131) KJS / Gradle: Could not create an instance of type org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinNodeJs when task configuration avoidance is broken - [`KT-37668`](https://youtrack.jetbrains.com/issue/KT-37668) Kotlin/JS: nodeTest failure due to main() function fail is reported as "BUILD SUCCESSFUL" - [`KT-35285`](https://youtrack.jetbrains.com/issue/KT-35285) Kotlin/JS + Gradle: browserDevelopementWebpack and browserProductionWebpack could write to different locations - [`KT-55593`](https://youtrack.jetbrains.com/issue/KT-55593) KotlinJsCompilerType and KotlinJsCompilerTypeHolder LEGACY and BOTH constants should be marked as `@Deprecated` in 1.8 - [`KT-33291`](https://youtrack.jetbrains.com/issue/KT-33291) JS: No build result with gradle parallel build in multiproject build - [`KT-40925`](https://youtrack.jetbrains.com/issue/KT-40925) KJS: need a way to configure extra environment variables for the test task - [`KT-47236`](https://youtrack.jetbrains.com/issue/KT-47236) KJS: `kotlinNpmInstall` fails if no yarn is downloaded - [`KT-53288`](https://youtrack.jetbrains.com/issue/KT-53288) KJS / Gradle: FileNotFoundException when customising moduleName - [`KT-54511`](https://youtrack.jetbrains.com/issue/KT-54511) Kotlin/JS generated package.json main field is not correctly set if module name contains a `/` (slash) - [`KT-54421`](https://youtrack.jetbrains.com/issue/KT-54421) KJS / Legacy: Kotlin 1.7.20 fails when running tests on Node 14 - [`KT-54503`](https://youtrack.jetbrains.com/issue/KT-54503) Make the target observer API public in kotlin JS Extension - [`KT-54418`](https://youtrack.jetbrains.com/issue/KT-54418) KJS: Change test running with kotlin-test adapter - [`KT-54132`](https://youtrack.jetbrains.com/issue/KT-54132) KJS IR: Sometimes karma failed on teamcity because of uninitialized browser ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-54766`](https://youtrack.jetbrains.com/issue/KT-54766) TCS: external Android Target APIs: Milestone: Compile - [`KT-50967`](https://youtrack.jetbrains.com/issue/KT-50967) Make c-interop libs resolve robust to build clean - [`KT-53570`](https://youtrack.jetbrains.com/issue/KT-53570) multiplatform 'natural hierarchy' prototype ##### Fixes - [`KT-36943`](https://youtrack.jetbrains.com/issue/KT-36943) Gradle Plugin (multiplatform) - Consider publishing a 'sourcesElements' variant for the sources.jar - [`KT-57460`](https://youtrack.jetbrains.com/issue/KT-57460) Kotlin Gradle Plugin: Null `this` pointer in transformCommonMainDependenciesMetadata - [`KT-57306`](https://youtrack.jetbrains.com/issue/KT-57306) \[Kotlin 1.8.20-RC] GradleException: Could not load the value of field `apiConfiguration` of `org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationConfigurationsContainer` - [`KTIJ-23750`](https://youtrack.jetbrains.com/issue/KTIJ-23750) KotlinMppModelSerializationService is not invoked in production environment - [`KTIJ-24223`](https://youtrack.jetbrains.com/issue/KTIJ-24223) Update latest tested KGP version to 1.9.0-dev-764 - [`KT-56536`](https://youtrack.jetbrains.com/issue/KT-56536) Multiplatform: Composite build fails on included build with rootProject.name != buildIdentifier.name - [`KTIJ-23889`](https://youtrack.jetbrains.com/issue/KTIJ-23889) TCS: Gradle Sync: Match sources.jar dependencies to sourceSetName scoped dependencies - [`KT-56729`](https://youtrack.jetbrains.com/issue/KT-56729) commonizeCInterop: Duplicated libraries: co.touchlab:sqliter-driver-cinterop-sqlite3 - [`KT-56510`](https://youtrack.jetbrains.com/issue/KT-56510) Import with included plugin build may fail with OverlappingFileLockException during commonizeNativeDistribution - [`KT-54180`](https://youtrack.jetbrains.com/issue/KT-54180) TCS: Initial external Android Target APIs - [`KT-55010`](https://youtrack.jetbrains.com/issue/KT-55010) TCS: External Android Target Prototype: Setup Android dependencies - [`KT-54783`](https://youtrack.jetbrains.com/issue/KT-54783) KotlinJvmWithJavaCompilation mututal .all listener loop creates two compilations - [`KT-54867`](https://youtrack.jetbrains.com/issue/KT-54867) KotlinWithJavaCompilation does not respect javaSourceSet classpaths - [`KT-52413`](https://youtrack.jetbrains.com/issue/KT-52413) MPP: Gradle dependency substitution breaks KMP import for native targets - [`KT-56115`](https://youtrack.jetbrains.com/issue/KT-56115) Multiplatform;Composite Builds: Support import with cinterop commonization enabled - [`KT-54312`](https://youtrack.jetbrains.com/issue/KT-54312) TCS: Replace CompilationDetails abstract class hierarchy by composable implementation - [`KT-47441`](https://youtrack.jetbrains.com/issue/KT-47441) MPP: Unresolved reference for dependent on the other module with dependencySubstitution - [`KT-56429`](https://youtrack.jetbrains.com/issue/KT-56429) Fix flaky: MppIdeDependencyResolutionIT.test cinterops - are stored in root gradle folder - [`KT-56337`](https://youtrack.jetbrains.com/issue/KT-56337) Unable to import a project with cinterop with enableKgpDependencyResolution - [`KT-55873`](https://youtrack.jetbrains.com/issue/KT-55873) Unrequested dependencies leaking into common source sets: Regression after [`703fd0f`](https://github.com/JetBrains/kotlin/commit/703fd0f2) - [`KT-55891`](https://youtrack.jetbrains.com/issue/KT-55891) Deprecate pre-HMPP flags - [`KT-56278`](https://youtrack.jetbrains.com/issue/KT-56278) TCS: Gradle Sync: \[MISSING_DEPENDENCY_CLASS] on libraries used in shared native source sets - [`KT-56143`](https://youtrack.jetbrains.com/issue/KT-56143) CInteropDependencyConfiguration and CInteropApiElementsConfiguration are missing attributes defined on target - [`KT-56285`](https://youtrack.jetbrains.com/issue/KT-56285) TCS: Gradle Sync: IdeProjectToProjectCInteropDependencyResolver: Ensure lenient resolution - [`KT-56204`](https://youtrack.jetbrains.com/issue/KT-56204) KotlinTargetHierarchy: Changing naming from 'any' to 'with' prefix - [`KT-56111`](https://youtrack.jetbrains.com/issue/KT-56111) Multiplatform;Composite Builds: Clean builds fail on when 'hostSpecificMetadata' is required - [`KT-54974`](https://youtrack.jetbrains.com/issue/KT-54974) TCS: Gradle Sync: Implement IdeKotlinDependencyResolvers - [`KT-38712`](https://youtrack.jetbrains.com/issue/KT-38712) Gradle configuration's name with word "implementation" is camelcased to "İmplementation" if default locale is Turkish - [`KT-54975`](https://youtrack.jetbrains.com/issue/KT-54975) TCS: Gradle Sync: Implement stdlib-common filter for platform source sets - [`KT-48839`](https://youtrack.jetbrains.com/issue/KT-48839) Sources.jar of the root artifact of MPP library includes source files from test sourcesets - [`KT-55492`](https://youtrack.jetbrains.com/issue/KT-55492) TCS: Gradle Sync: Sources and Documentation as extra 'classpath' - [`KT-55237`](https://youtrack.jetbrains.com/issue/KT-55237) TCS: Gradle Sync: Support stdlib-native sources - [`KT-55475`](https://youtrack.jetbrains.com/issue/KT-55475) TCS: Gradle Sync: Fine tune jvmAndAndroid source sets - [`KT-55189`](https://youtrack.jetbrains.com/issue/KT-55189) TCS: Gradle Sync: Support icons (native, js) and global libraries - [`KT-55218`](https://youtrack.jetbrains.com/issue/KT-55218) KotlinTargetHierarchy: Disambiguate declaring targets vs including targets - [`KT-55112`](https://youtrack.jetbrains.com/issue/KT-55112) TCS: Gradle Sync: Resolve Source Dependencies - [`KT-54977`](https://youtrack.jetbrains.com/issue/KT-54977) TCS: Gradle Sync: Implement debugging tools - [`KT-54948`](https://youtrack.jetbrains.com/issue/KT-54948) TCS: Gradle Sync: Port IdeaKpmPlatformDependencyResolver to TCS - [`KT-55289`](https://youtrack.jetbrains.com/issue/KT-55289) TCS: Gradle Sync: Prototypical sources jar resolution - [`KT-55238`](https://youtrack.jetbrains.com/issue/KT-55238) TCS: Gradle Sync: Support commonized native distribution - [`KT-55230`](https://youtrack.jetbrains.com/issue/KT-55230) Remove metadata dependencies transformation for runtimeOnly scope - [`KT-53338`](https://youtrack.jetbrains.com/issue/KT-53338) Prettify the message about incompatible AGP and KGP versions - [`KT-55134`](https://youtrack.jetbrains.com/issue/KT-55134) MPP / Gradle: Cannot read test tasks state - [`KT-54506`](https://youtrack.jetbrains.com/issue/KT-54506) Test tasks are considered up-to-date after a failure when triggered by `allTests` - [`KTIJ-23509`](https://youtrack.jetbrains.com/issue/KTIJ-23509) Update latest tested KGP version to 1.8.20-dev-1815 - [`KT-54787`](https://youtrack.jetbrains.com/issue/KT-54787) Test tasks are not up-to-date when an individual test task called after aggregating test task - [`KT-54033`](https://youtrack.jetbrains.com/issue/KT-54033) Multiplatform/Android Source Set Layout 1: Also support setting source dirs using AGP Apis - [`KT-54202`](https://youtrack.jetbrains.com/issue/KT-54202) CInterop Commonization fails on first run when native distribution is not yet commonizied - [`KT-54135`](https://youtrack.jetbrains.com/issue/KT-54135) Add documentation with examples to CompositeMetadataArtifact ##### Tools. Gradle. Native - [`KT-37051`](https://youtrack.jetbrains.com/issue/KT-37051) MPP Gradle plugin: duplicated cinterop libraries in composite build - [`KT-55650`](https://youtrack.jetbrains.com/issue/KT-55650) Pass through errors from Gradle to Xcode - [`KT-56205`](https://youtrack.jetbrains.com/issue/KT-56205) Shared Native Compilation: False positive 'w: Could not find' warnings on metadata klibs - [`KT-54969`](https://youtrack.jetbrains.com/issue/KT-54969) Support podspec generation for the new K/N artifact DSL ##### Tools. Incremental Compile - [`KT-55021`](https://youtrack.jetbrains.com/issue/KT-55021) New IC: "The following LookupSymbols are not yet converted to programSymbols" when removing/renaming file facades - [`KTIJ-21161`](https://youtrack.jetbrains.com/issue/KTIJ-21161) Incremental build is taking too long when no files have changed in the project - [`KT-53832`](https://youtrack.jetbrains.com/issue/KT-53832) Enable new incremental compilation by default in Gradle - [`KT-55622`](https://youtrack.jetbrains.com/issue/KT-55622) MPP: Incremental compilation ignores changes in source set structure - [`KT-55309`](https://youtrack.jetbrains.com/issue/KT-55309) IC: Get rid of `NonCachingLazyStorage` - [`KT-53402`](https://youtrack.jetbrains.com/issue/KT-53402) Incremental compilation tries to compile resources - [`KT-54791`](https://youtrack.jetbrains.com/issue/KT-54791) Incremental compilation in JPS broken in 1.8.20-dev-1815 ##### Tools. JPS - [`KT-56165`](https://youtrack.jetbrains.com/issue/KT-56165) Language version 1.9 and 2.0 is absent in Kotlin Compiler settings - [`KT-51536`](https://youtrack.jetbrains.com/issue/KT-51536) \[JPS] Recompile module on facet settings change - [`KT-53735`](https://youtrack.jetbrains.com/issue/KT-53735) JPS / IC: "IOException: The system cannot find the file specified" on Windows - [`KT-47983`](https://youtrack.jetbrains.com/issue/KT-47983) \[JPS] Adding compilerSettings to Facet should initiate rebuild of module - [`KT-54449`](https://youtrack.jetbrains.com/issue/KT-54449) Cyrillic characters in a filename break builds on linux ##### Tools. Kapt ##### New Features - [`KT-53135`](https://youtrack.jetbrains.com/issue/KT-53135) Enable JVM IR for KAPT stub generation by default - [`KT-41129`](https://youtrack.jetbrains.com/issue/KT-41129) kotlin-maven-plugin + kapt - allow aptMode to be set according to docs ##### Fixes - [`KT-56635`](https://youtrack.jetbrains.com/issue/KT-56635) KAPT / IR: "Unresolved reference: DaggerGeneratedCodeTest_AppComponent " caused by stub generation with Kotlin 1.8.20-Beta - [`KT-56360`](https://youtrack.jetbrains.com/issue/KT-56360) Kapt with JVM IR changes fields order - [`KT-54380`](https://youtrack.jetbrains.com/issue/KT-54380) Kapt / IR: Build failed when inheritance by functional interface with suspend modifier - [`KT-54245`](https://youtrack.jetbrains.com/issue/KT-54245) JVM IR / Kapt / Serialization: NullPointerException in SerializableIrGenerator.kt - [`KT-33847`](https://youtrack.jetbrains.com/issue/KT-33847) Kapt does not included Filer-generated class files on compilation classpath - [`KT-55490`](https://youtrack.jetbrains.com/issue/KT-55490) Kapt + JVM IR: "annotation `@Foo` is missing default values" - [`KT-43786`](https://youtrack.jetbrains.com/issue/KT-43786) KAPT: IllegalStateException: SimpleTypeImpl should not be created for error type: ErrorScope - [`KT-43117`](https://youtrack.jetbrains.com/issue/KT-43117) Kapt: "System is already defined in this compilation unit" - [`KT-46966`](https://youtrack.jetbrains.com/issue/KT-46966) Kapt: correctErrorTypes: receiver type is NonExistentClass - [`KT-46965`](https://youtrack.jetbrains.com/issue/KT-46965) Kapt: correctErrorTypes: custom setter gets Object parameter type - [`KT-51087`](https://youtrack.jetbrains.com/issue/KT-51087) KAPT: `@JvmRepeatable` annotations are present in inverse order in KAPT stubs - [`KT-54870`](https://youtrack.jetbrains.com/issue/KT-54870) KAPT stub generation with JVM_IR backend throws exception for delegated properties - [`KT-44350`](https://youtrack.jetbrains.com/issue/KT-44350) Kapt Gradle integration tests failing with Android Gradle plugin 7.0 - [`KT-54030`](https://youtrack.jetbrains.com/issue/KT-54030) Kapt: annotation processor warnings are displayed as errors on JDK 17+ - [`KT-32596`](https://youtrack.jetbrains.com/issue/KT-32596) kapt replaces class generated by annotation processor with error.NonExistentClass when the class is used as an annotation - [`KT-37586`](https://youtrack.jetbrains.com/issue/KT-37586) KAPT: When delegated property use an unknown type (to-be-generated class), `correctTypeError` will mess up the `$delegate` field type ##### Tools. Maven - [`KT-56697`](https://youtrack.jetbrains.com/issue/KT-56697) IC: "Incremental compilation was attempted but failed" Failed to get changed files: java.io.IOException: readPrevChunkAddress - [`KT-55709`](https://youtrack.jetbrains.com/issue/KT-55709) Maven: "java.lang.reflect.InaccessibleObjectException: Unable to make field protected java.io.OutputStream java.io.FilterOutputStream.out accessible" - [`KT-29346`](https://youtrack.jetbrains.com/issue/KT-29346) Add components.xml to automatically compile kotlin maven projects - [`KT-13995`](https://youtrack.jetbrains.com/issue/KT-13995) Maven: Kotlin compiler plugin should respect model's compile source roots - [`KT-54822`](https://youtrack.jetbrains.com/issue/KT-54822) Maven: Too low-level error message "Parameter specified as non-null is null: method kotlin.text.StringsKt\_\_StringsJVMKt.startsWith, parameter <this>" from Kotlin Maven plugin invoking compiler when <arg> tags are empty - [`KT-47110`](https://youtrack.jetbrains.com/issue/KT-47110) Disable jdk8-specific warnings in kotlin-maven-plugin ##### Tools. Scripts - [`KT-54095`](https://youtrack.jetbrains.com/issue/KT-54095) It is difficult (if not impossible) to use kotlin compiler plugins with scripting - [`KT-54461`](https://youtrack.jetbrains.com/issue/KT-54461) Warnings and stack traces when executing scripts via kotlin-maven-plugin - [`KT-54733`](https://youtrack.jetbrains.com/issue/KT-54733) Scripts: ConcurrentModificationException in \*.main.kts scripts - [`KT-53283`](https://youtrack.jetbrains.com/issue/KT-53283) Scripts: main-kts JAR does not relocate embedded SLF4J and jsoup libraries ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.8.20.zip | 10df74c3c6e2eafd4c7a5572352d37cbe41774996e42de627023cb4c82b50ae4 | | kotlin-native-linux-x86\_64-1.8.20.tar.gz | 43d3f2149c4862b9b3ebf84a0f26912f2a587082d2858747564ffeafd2534438 | | kotlin-native-macos-x86\_64-1.8.20.tar.gz | e39e801eb8ae2e86a8fe0b5ee32535bf176fd284b6f6883a431cafbb27684055 | | kotlin-native-macos-aarch64-1.8.20.tar.gz | becc0f4367ae8854f33546efff40767cc2cb227da0cd7935a9a6784e9a2736d2 | | kotlin-native-windows-x86\_64-1.8.20.zip | 5e25ef348e9eab9895f63047a3857b428dc977e81d22771a69d712500d7cf60a | </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguOSIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
renovate added 1 commit 2024-05-22 01:18:09 +00:00
Update kotlin_version to v2
Some checks failed
valuya/embedded-webview/pipeline/pr-master There was a failure building this commit
valuya/embedded-webview/pipeline/head There was a failure building this commit
ef987cd03d
renovate force-pushed renovate_major-kotlin_version from ef987cd03d to 3ece2b2617 2024-08-08 01:22:11 +00:00 Compare
renovate force-pushed renovate_major-kotlin_version from 3ece2b2617 to 86860b0393 2024-08-23 01:22:42 +00:00 Compare
renovate changed title from Update kotlin_version to v2 (major) to Update kotlin_version to v2 (major) - autoclosed 2024-08-24 01:08:45 +00:00
renovate closed this pull request 2024-08-24 01:08:45 +00:00
This repo is archived. You cannot comment on pull requests.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Valuya/embedded-webview#71
No description provided.