Update plugin org.jetbrains.kotlin.android to v2 #2
Reference in New Issue
Block a user
Delete Branch "renovate/major-kotlin-monorepo"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
1.8.22->2.2.21Release Notes
JetBrains/kotlin (org.jetbrains.kotlin.android)
v2.2.21Backend. Wasm
KT-81372K/Wasm: JsException: Exception was thrown while running JavaScript code on Safari 18.2/18.3KT-80018K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit)Compiler
KT-81191K2: "null cannot be cast to non-null type ConeTypeParameterLookupTag" with invalid codeKT-80936NON_PUBLIC_CALL_FROM_PUBLIC_INLINE :@PublishedApidoesn't work for fun interfacesJavaScript
KT-79926Wrong export of interfaces with companions with ES ModulesKT-81424Kotlin/JS: Cannot Get / in a simple running applicationKT-80873KJS: Stdlib requires ES2020-compatible JS engine due to BigInt type literalNative
KT-79384K/N: Application Not Responding: Thread DeadlockTools. Gradle
KT-79047Gradle compileKotlin fails with configuration cacheKT-81148Publishing helpers in KGP are incompatible with Isolated ProjectsKT-80950KGP breaks configuration cache when signing plugin with GnuPG is appliedTools. Gradle. Multiplatform
KT-61127Remove scoped resolvable and intransitive DependenciesMetadata configurations used in the pre-IdeMultiplatformImport IDE importKT-81249Kotlin 2.2.20 broke KMP implementation of ParcelizeTools. Gradle. Native
KT-81510commonizeCInteropexception with 'kotlinNativeBundleConfiguration' not foundKT-81134Native: Gradle configuration failure likely related to Klibs cross-compilationKT-77732commonizeCInteropfailed with "Unresolved classifier: platform/posix/size_t"KT-80675Commonized cinterops between "test" compilations produce an import failureTools. Maven
KT-81218Kotlin Maven Plugin 2.2.20: Java classes not resolved with enabled incremental compilation without daemonTools. Wasm
KT-80582Multiple reloads when using webpack dev server after 2.2.20-Beta2v2.2.20Analysis API
KT-78187Synthetic properties not to be shown as callablesKT-72525K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)KT-74246KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-siteAnalysis API. Code Compilation
KT-78382K2 IR lowering error when interface extends interfaceKT-73201K2 IDE: Error while evaluating expressions with local classesKT-78164Evaluator: '@JvmName' annotations are not recognized in other modulesKT-76457K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvmKT-73084K2 evaluator cannot resolve local variables standing at the closing braceAnalysis API. FIR
Performance Improvements
KT-76490Do not load ast during the contracts phase if no contracts presentKT-78132Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarationsFixes
KT-72227SOE from recursive value classKT-68977K2 IDE: Reference to companion object through typealias in a function call does not workKT-72357Implement partial body resolutionKT-76932Support context parameters on dangling modifier listKT-72407FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessingKT-77602K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on incorrect context()-callKT-77629K2: NPE: "org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution"KT-76855Analysis API:KaType.asPsiTypereturnsnullfor a local inner class in dependent analysis testsKT-72718ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-castedKT-76811Analysis API:resolveToFirSymbolfinds aFirPropertySymbolfor aKtScriptin dependent analysisKT-73586[Analysis API] AddlazyResolveToPhase(STATUS)before accessing modifiers of membersKT-71135AA: exception from sealed inheritors checker whenanalyzeCopyKT-75534K2 AA: "Containing declaration should present for nested declaration class KtNamedFunction" with dangling annotation on top-level anonymous functionKT-75687K2: local variable doesn't get to the do-while scopeKT-56543LL FIR: rework lazy transformers so transformers modify only declarations they suppose toAnalysis API. Infrastructure
KT-76809Analysis API: Dependent analysis tests frequently work with the original element instead of the copied elementAnalysis API. Light Classes
KT-78835Find usages of a light constructor from a class with an empty body finds usages of class as wellKT-78878K2. Method shown as unavailable in Java when@JvmExposeBoxedis applied (redundantly) at both class and method level in KotlinKT-78065Support "Expose boxed inline value classes" in Light ClassesKT-78076DLC: KotlinDeclarationInCompiledFileSearcher missed accessors if types are boxedKT-77569SLC: annotation missing from generated no-args constructorKT-75182K2 AA. False positive red code "Unresolved reference" to a Kotlin method in Java when Kotlin uses a value class with@JvmOverloadsKT-77564Constructor with JvmOverloads and value class shouldn't mark regular constructors privateKT-77505K2: find usages on java accessor methods do not detect kotlin property accessor usagesKT-76789Annotation resolve shouldn't search through non-class membersKT-76907Wrong equality between repeatable annotation and containerAnalysis API. Providers and Caches
KT-77578Analysis API: Performance degradation ofKaBaseResolutionScope.containsafter introduction of library restriction scopesKT-78640Analysis API: Remove "friend builtins provider" fromFirDeclarationForCompiledElementSearcherKT-74907Analysis API: Apply platform-based library module content restrictions consistentlyKT-77605AA: Leaking KaDanglingFileModule through IdeKotlinPackageProviderKT-62474Analysis API: Improve mergeability and performance of custom search scopesKT-77022Get rid of ExpectBuiltinPostProcessor workaroundKT-77248Delegation ofJavaModuleResolveris restricted toCliJavaModuleResolverKT-76850LLFirLibrarySession cannot be cast to LLFirResolvableModuleSessionKT-76952Analysis API:whenexhaustiveness analysis fails for sealed classes in dangling filesKT-72390Kotlin project full of red codeAnalysis API. Standalone
KT-78638Analysis API Standalone: Stdlib builtins are not indexed inSTUBSdeserialized declaration origin modeAnalysis API. Stubs and Decompilation
KT-77496Support HAS_MUST_USE_RETURN_VALUE metadata flags in FirStubBasedMemberDeserializerKT-77778Function receivers doesn't have annotationsKT-77777Receiver annotations shouldn't be present on typesKT-77538Support default property accessors with annotationsKT-77763Decompiled stubs miss inline modifier for property accessorsKT-77309Decompiled property from annotation constructor with default value should have a constant initializerKT-77168Prefer DataInputOutputUtil for serialization/deserializationKT-77117Flaky WRONG_ANNOTATION_TARGET diagnosticKT-76791Function signature types are deserialized inconsistentlyKT-76947Support functional types with context parametersAnalysis API. Surface
New Features
KT-73473Provide KaExpressionInformationProvider.isUsedAsResultOfLambdaKT-77278Implement psi-basedKaFirKotlinPropertyKtPropertyBasedSymbol#hasBackingFieldKT-70770KaLocalVariableSymbol: supportisLateInitPerformance Improvements
KT-78526Get rid of redundantcheckValidityfromwithPsiValidityAssertionFixes
KT-77674Analysis API: Redundant smart cast to the original typeKT-76577Guard KaFirStopWorldCacheCleaner from deadlocks via threads waitingKT-78820K2: ISE "FIR element class FirErrorExpressionImpl is not supported in constant evaluation" through RedundantValueArgumentInspectionKT-75057Analysis API: Reference to object through typealias in invoke operator call leads to original typeKT-79042Do not restore KaTypePointer if target kind has changedKT-72421AA: "KtReference.resolveToSymbols" returns empty list when ASSIGN_OPERATOR_AMBGUITY error is presentKT-63464AA: KtPsiTypeProvider#asPsiType doesn't substitute kotlin.UnitKT-75913K2: SymbolLightLazyAnnotation evaluates arguments and replaces them with constantsKT-78628K2. Setting Receiver=true in Change Signature produces parameter of regular function type receiver instead of extension function typeKT-78278ISE: FIR element "class org.jetbrains.kotlin.fir.expressions.impl.FirErrorResolvedQualifierImpl" is not supported in constant evaluation at org.jetbrains.uast.kotlin.internal.FirKotlinUastConstantEvaluator.evaluateKT-73184Analysis API: KaFunctionCall.argumentMapping is unexpectedly deparenthesisedKT-73327Cover all psi inputs with scope validity assertionsKT-78613PSI: add binary compatibility checksKT-74013Analysis API: Cover the API surface with@SubclassOptInRequiredannotationsKT-76614Move the parser and lexer to a separate moduleKT-78552KaFunctionValueParameteris not marked asKaLifetimeOwnerKT-71152Add back SubclassOptInRequired to classes in KaModule.ktKT-71876Support storing parameter names inKaFunctionTypeKT-77738AA: inconsistentKaType.allSupertypesregarding multiple iterationsKT-75358K2 AA, KaFirVisibilityChecker: private member of anonymous object is not visible inside itKT-73723K2 AA, KaFirVisibilityChecker: protected member of superclass is not visible from anonymous objectKT-78057[Analysis API, K2] Context parameters are not resolved in KDocKT-73758K2 Mode: "KaEvaluator.evaluate" does not work for simple arithmetic expressionsKT-72301K2 AA.PSI should present for declaration built by Kotlin codeon property access syntax of generic Java getter through Kotlin subclassKT-77730K2: Unable to get a light PSI for a nested annotation used with fully-qualified nameKT-73216K2: unresolvable references in type parametersKT-71794Analysis API: Types with errors have unresolved qualifiers in lambda parameters positionKT-65846Support parameter names in functional type renderingKT-76738K2 AA: rendering constructor of sealed class inserts protected modifierKT-77515KaTypeProvider#receiverTypeshould be more tolerant to an error codeKT-77333K2 AA: KaFirTypeProvider.getType: InvalidFirElementTypeException: For TYPE_REFERENCE with textI, unexpected element of type: FirSuperReceiverExpressionImpl foundKT-76044K2 AA: isFun is true for restored symbol of Java interface with several methodsKT-77264KaTypeProvider#typeshould be more tolerant to an error codeKT-77282KaPropertySymbol: supportisDelegatedPropertyfor librariesKT-77254K2 AA: expectedType doesn't provide anything for parameter default valueKT-74777KaVariableSymbol.hasBackingField returns incorrect result for librariesKT-77280RenameKaPropertyAccessorSymbol#isCustomtoisNotDefaultKT-77210Analysis API:scopeContextshows implicit receiver with a class instance in the class constructorKT-77196Clarify differences between KaPropertyAccessorSymbol#{isDefault, hasBody}KT-76580K2: No expected type for the second+ vararg argumentKT-76750K2. internal exception 'Unable to provide inlay hint' on typo in nested lambdasKT-73290Analysis API: Improve the architecture of content scopes and resolution scopesKT-73055Get rid of the deprecated Analysis API APIKT-70199K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArgumentsBackend. Wasm
New Features
KT-65721K/Wasm: stop unconditionally exporting any main function from the root packagePerformance Improvements
KT-70097Optimize shared primitive variables in Native and WasmFixes
KT-80106devServer in Kotlin/Wasm overwrites defaults, causing missing static pathsKT-80018K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit)KT-66072K/Wasm: improve how exceptions work in JS interopKT-77897WasmJs: ClassCastException when using star-projection with nullable transformation in generic extension functionKT-71533K/Wasm + K2: no error on KClass::qualifiedName usagesKT-73931WASM: "RuntimeError: illegal cast" with nullable genericKT-65403[WASM] RuntimeError is thrown instead of ClassCastExceptionKT-79317[Wasm] Do not throw CCE for ExcludedFromCodegen declarationsKT-66085K/WASM: Runtime error is uncaught withcatch (e: Throwable)KT-78036K/Wasm: generate a message with "expected" and "actual" types in case of CCEKT-78384K/Wasm: Incorrect debug info of local declarations in inline function from another fileKT-72220Wasm: Unclear exception in case of missed dependencyKT-71691No trace on Wasm/JS if an error occurred in initializing global variables in a file with the main functionKT-67554[Wasm] Consider to have reference equals or/and equals for function referencesKT-71521K/Wasm: incorrect results on equality checks for capturing property referencesKT-71522K/Wasm: incorrect results on equality checks for function referencesKT-69570K/Wasm: JsExport with default parameter value compiles to invalid WasmKT-71517K/Wasm: KClass::qualifiedName for local classes and objects returns non-null valueKT-68309WASM: Anonymous class simpleName returns "" instead of nullKT-77272K/Wasm: Remove kotlin.wasm.internal.ClosureBox* classes from the standard libraryKT-66106Wasm: lambda was not invoked in test lambda2.ktKT-77855[Wasm] Improve virtual function calls speed for lambdasKT-77501Wasm: unsigned vararg compiles to invalid WasmKT-76775[Wasm] Inconsistent FP mod operationKT-77464Wasm: KType.toString() has simple names even with -Xwasm-kclass-fqnKT-77465Wasm: KTypeParamter printed without variance informationCompiler
New Features
KT-71768Enable -Xjvm-default=all-compatibility by default to generate JVM default interface methodsKT-78374Make indy lambda function name generation more consistentKT-45683Allow generics in contract type assertionsKT-27090Support contracts in getter and setter for top-level extension propertiesKT-76766Warning is missing for wrong subclass checkingKT-71244Incorporate existing@CheckReturnValueannotation(s) into Kotlin's unused return value checkerKT-73256Implementallmeta-target for annotationsKT-78792Report warning for redundant return in expression bodyKT-32313Support contracts for operator functionsKT-70722Implement better Kotlin warnings for value classes and JEP 390 (Warnings for Value-Based Classes)KT-65688Generate when-expressions over final classes via invokedynamic typeSwitch + tableswitch on JDK 21+KT-54344Trigger the unused expression warning for interpolated strings, even when the expression may have side effectsKT-74807Implement 'full' unused return value checker modeKT-77653K/N: an optimization pass to remove redundant type checksKT-64477Enhance KotlinLightParser to make it able to parse scriptsKT-74809Support unnamed local variablesKT-72941ANNOTATIONS_ON_BLOCK_LEVEL_EXPRESSION_ON_THE_SAME_LINE missing in K2KT-75061Support context-sensitive resolution in type positionPerformance Improvements
KT-77993Optimize old PSI/LightTree Kotlin parserKT-78672Consider having FirCallableSymbol.callableId null for local properties / parametersKT-77839K2: consider not creating CallableId for value parameters / variables / fieldsKT-74981Kotlin/Native: large binary size for iOS target in 2.1.0(LLVM16)KT-77838K2: consider replacing LinkedHashMap with HashMap inside scopes and scope sessionKT-76698Android Studio compose preview holds read lock 700ms for KaCompilerFacility APIKT-68677Kotlin compilation issue when using EnumMap and PairFixes
KT-79979K2: ClassCastException when overriding extension property with delegationKT-67146UPPER_BOUND_VIOLATEDmissing on implicit type argumentsKT-76477Kotlin/Native: fix compiler performance reporting in sources->klib and klibs->binaryKT-79866kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an errorKT-78666"Platform declaration clash" caused by indy lambda name generation which generates conflicting namesKT-80285IJ monorepo: broken compilation after 2.2.20-RC updateKT-79442"Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfacesKT-78589"Class does not have member field" caused by delegation from a Java to Kotlin classKT-79816Java Interfaces implemented by delegation have non-null return checksKT-78097False positive NO_ELSE_IN_WHEN on sealed interface with negative is checkKT-77182A function in a file annotated with@file:MustUseReturnValue doesn't produce a warning when it is used from compiled codeKT-79085Adding-Xreturn-value-checker=fullto kotlinc causes "error: conflicting overloads"KT-75268K2: Implement the new compilation scheme for MPP (compiler part)KT-78843FIR tree: comments within String concatenation aren't visited in 2.2.0KT-77401[FIR]ParameterNameTypeAttribute.namedoesn't support@ParameterNamewith compile-time constant property argumentKT-73611Remove -Xextended-compiler-checks in favor of a deprecation cycleKT-79276Dexing fails with "Cannot read field X because is null" with 2.2.0KT-79781Missing MISSING_DEPENDENCY_CLASS when using type alias with inaccessible RHSKT-78621false-positive type mismatch error on value of nullable type as value of platform typeKT-79547"UnsupportedOperationException: Not supported" with inlining and value classesKT-52706Bad signature for generic value classes with substituted type parameterKT-79519Nested type alias is unreachable from another moduleKT-76839False-negative MISSING_DEPENDENCY_CLASS on parameter of data class constructorKT-78352False-positive IDENTITY_SENSITIVE_OPERATIONS_WITH_VALUE_TYPE when comparing with equality operator (==)KT-78815Symbol not found: __ZNSt3__117bad_function_callD1Everror on iOS 15.5 simulator in Xcode 16.3 after update to 2.2.0-Beta2KT-25341NOT_YET_SUPPORTED_IN_INLINE reported over anonymous object borderKT-77099'all' annotation target is not a soft keywordKT-76478FIR: Implement IDE-only checker for types exposed in inline functionKT-79355Failed to fix the problem of desugaredincwith new reverse implies returns contractKT-79277Implies returns contract doesn't affect the return type of the function if it is in the argument positionKT-79271Implies returns contract doesn't impact exhaustivenessKT-79218SMARTCAST_IMPOSSIBLE for top‑level extension‑property getter despite returnsNotNull contractKT-79220returnsNotNull contract ignored on extension function with nullable receiverKT-79354IllegalStateException: Debug metadata version mismatch. Expected: 1, got 2 with compiler 2.2.20-Beta1 and stdlib 2.2.0KT-78479IR lowering failed / Unexpected null argument for composable callKT-77986K2: False negative: "Local classes are not yet supported in inline functions"KT-79076'IllegalStateException: Cannot serialize error type: ERROR CLASS: Uninferred type' with Exposed column using recursive generic typeKT-78726Split runPsiToIr phase into runPsiToIr and runIrLinkerKT-77672K/N: come up with a fallback strategy for the casts optimization passKT-76365K2: Missing ABSTRACT_SUPER_CALLKT-76585K2: RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY is not reported inside initializers of local variablesKT-79099K2: Do not inherit inline modifierKT-76902Omit type-use annotations from diagnosticsKT-64499Report error on overloading by order of context parametersKT-58988K2: Deprecate exposing package-private parameter of internal methodKT-77199OPT_IN_USAGE_ERROR is still absent when calling the enum primary constructorKT-72800K2: java.util.NoSuchElementException when introduce variableKT-79056Add experimental language version 2.5KT-17460Diagnostics and intention on suspend function that is overriden with non-suspend one.KT-78351Plugins: VIRTUAL_MEMBER_HIDDEN caused by FirSupertypeGenerationExtensionKT-78527No LESS_VISIBLE_TYPE_ACCESS_IN_INLINE_WARNING is reported when a private companion object is accessed via the class nameKT-79045FirExpectActualMatcherTransformer should not visit bodiesKT-74570K2: Linenumber for annotation on property is present in LVTKT-74569K2: Linenumber of annotation is present in constructor's LVTKT-64731K2: Annotation on inline function or inside inline function is hit by debuggerKT-77756Add experimental language version 2.4KT-78837linkReleaseFrameworkIosArm64: Compilation failed: An interface expected but was AnyKT-78945CONTRACT_NOT_ALLOWED is not reported for local operator functionsKT-78944ANNOTATION_IN_CONTRACT_ERROR is not reported for operators and property accessors with contractsKT-78943ERROR_IN_CONTRACT_DESCRIPTION is not reported for operators and property accessors with contractsKT-78932Contracts are allowed for open and overridden property accessorsKT-77203FIR: Consider adding destructured type to all COMPONENT_FUNCTION_* diagnosticsKT-76635Implement Data-Flow Based Exhaustiveness SupportKT-78805K2: False positive METHOD_OF_ANY_IMPLEMENTED_IN_INTERFACEKT-78651No need to report LESS_VISIBLE_TYPE_ACCESS_IN_INLINE_WARNING in noinline default value lambdaKT-78849K2: [Wasm, Fir2IR] Invalid smartcast on overloaded function callKT-78793Make feature AllowEagerSupertypeAccessibilityChecks experimentalKT-78736Missing [NOT_YET_SUPPORTED_IN_INLINE] diagnostics because of incorrect context updateKT-78324K2: False negative [INCONSISTENT_TYPE_PARAMETER_VALUES]KT-69975KDoc: cannot reference elements with names in backticksKT-78229KDoc: unable to reference a method with spaces in the nameKT-78047Render unnamed context parameters as _ instead ofKT-74621Debugger: AssertionError on evaluating two suspending callsKT-78784Improve deprecation warnings about KTLC-284KT-76826New inference error [NewConstraintError at Incorporate TypeVariable] caused by recursive generics and nullable expected typeKT-77685"IllegalArgumentException: Sequence contains more than one matching element"KT-78028"FirNamedFunctionSymbol" leaks to the error message about missing infix modifierKT-77245Add expression name to RETURN_VALUE_NOT_USED diagnosticKT-78071False-positive NO_ELSE_IN_WHEN after variable reassignmentKT-78068False-positive NO_ELSE_IN_WHEN after excluding enum value with inequality checkKT-71134Consider to get rid of CapturedTypeMarker.withNotNullProjection()KT-77131getValue/setValue can be declared with more than two/three parametersKT-78452Drop redundant frontend structures after fir2ir conversionKT-78458Don't populate PredicateBasedProvider if no lookup predicates are registeredKT-78440Lambda with an implicitly runtime-retained annotation is generated via invokedynamic with-Xindy-allow-annotated-lambdas=falseKT-77709Missing diagnostics of accessing less visible objects in inline functionKT-77577False positive exposed type warningsKT-77095FIR: Report warnings on exposure of references to invisible references in inline functionsKT-76981Move exposed type checker to regular checkersKT-78252ClassCastException whenArray<Void>used for compile-time vararg ofNothingKT-77713Context Parameters cause compiler generate r8 incompatible bytecodeKT-71854K2 IDE. False positive red code because of external annotation on a generic parameterKT-67335K2: Infers Int instead of Long for an ILTKT-76629K2 Mode: False positive RedundantVisibilityModifier inspection on private constructors in sealed classesKT-77728Drop controversial experimental checkersKT-78429K2: Property callable reference incorrectly smart-casted to intersection of property type and KPropertyKT-78509Renamed for override copy functions are cached in scope instead of sessionKT-17417Loops in delegation: no compilation error on non-abstract class with abstract method that never implementedKT-75033Split JvmBackendPipelinePhase to be able to provide a custom implementation of writeOutputsKT-75831K2: An extra "[VALUE_PARAMETER_WITHOUT_EXPLICIT_TYPE] An explicit type is required on a value parameter." for a missing parameterKT-78370All the [something]Assign operators on dynamic return Unit as a typeKT-73950K2 IDE / Kotlin Debugger: ISE “Fake override should have at least one overridden descriptor” on evaluation of local calss in presence of bystanderKT-78280Implement the sourcelessKtDiagnosticsKT-76543Migrate psi2ir sources to new IR parameter APIKT-77716Kotlin/Native and -Xseparate-kmp-compilation: "Compilation failed: Several functions kotlin/native/immutableBlobOf found"KT-76400Context-sensitive resolution doesn’t work in if-else condition passed as a function argumentKT-76606Enable 'Indy: Allow lambdas with annotations' by defaultKT-76739Dubious argument type mismatch "actual type is 'String', but 'String' was expected" caused by wrong number of type argumentsKT-78121Report warning on function type with multiple implicit values that's annotated with DSL markerKT-76872Anonymous context parameters are not visible in debuggerKT-74088Kotlin Debugger: CCE on evaluating private suspend functionKT-77301False positive Context Parameter resolution when using DslMarkerKT-78230Add more test cases to the holdsIn contractsKT-78111K2: Approximation of captured star projection in function type producesFunction1<Nothing?, Unit>in IRKT-77273K/N: Remove the kotlin.native.internal.Ref class from the standard libraryKT-73995JVM bytecode: Bad name for value class fieldKT-73013Kotlin Debugger: ISE “No mapping for symbol: VALUE_PARAMETER” on evaluating callable reference to local function with closure in itKT-77665K2: unresolved annotatation on local context parameter typeKT-77485Add constraints logging to inferenceKT-76504Find and deprecate actively used parts of K1 APIKT-75338K2 Mode: False positive "Redundant assignment" diagnostic on variable captured by local functionKT-77648K2: False negative DSL_SCOPE_VIOLATION when using named argument for lambda with annotated function typeKT-77355Report warning on overloading by a superset of another overload's context parametersKT-77354Report warning on overloading by a subtype of another overload's context parameterKT-78084Unify deprecation warning messagesKT-76776@MustUseReturnValuedoesn't affect nested scopesKT-77545@NoInferon receiver type leads to false positive type mismatch when generic type is specified explicitly and closest implicit receiver is of incorrect typeKT-76772@NoInferon a context parameter's type leads to a false-positive context argument ambiguity error regardless of the closest implicit values' types if there are multiple of them at the call siteKT-76771@NoInferon context parameter type leads to a false-positive type mismatch when generic type is specified explicitly and closest implicit value at the call site is of a mismatching typeKT-77156INITIALIZATION_BEFORE_DECLARATION is not reported in anonymous objectKT-78060UNRESOLVED_REFERENCE in fp-spaceKT-67555Debug metadata: map the Continuation label to the next executable location in fileKT-77723Refine the message for ArrayEqualityCanBeReplacedWithEquals checkerKT-75178Inline functions in conjunction with@JvmStaticmay result in bytecode errorsKT-77390Prototype lazy loading of stdlib symbols in NativeKT-77921False positive EXTENSION_SHADOWED_BY_MEMBER when member has context parametersKT-77895false-negative error on package directives with context parameter lists (even with context parameters disabled)KT-76767AMBIGUOUS_CONTEXT_ARGUMENT should report the name of the context parameter in addition to the typeKT-77444K2: False negative "Unchecked cast" with casting from MutableList to MutableListKT-63348K2: FIR2IR should properly pass expected typesKT-77627K2: consider getting rid of NEW_INFERENCE_ERRORKT-75833K2: Extra [ANNOTATION_ARGUMENT_MUST_BE_CONST] when passing regex-like strings as annotation argumentsKT-77547Native: add a check that the logic looking for stdlib-related bitcode is not used when compiling sources to a klibKT-77206RemovePARAMETER_NAME_CHANGED_ON_OVERRIDEsuppression in KMP lexersKT-77679Update syntax-api dependency in KMP Kotlin parserKT-77705K2: Consuming data class compiled with kotlin 1.0.5 breaks the K2 compilerKT-76583CCE: suspend lambda attempts to unbox value class parameter twice after lambda suspendedKT-76663KJS: KotlinNothingValueException caused by expression return since 2.1.20KT-75457Native: cache machinery uses stdlib cache with default runtime options even if custom runtime options are supplied when partial linkage is disabledKT-77563False-positive smart cast with captured local in init block causes NPEKT-77696ISE "couldn't find inline method" on kotlin/Result compiled by old Kotlin versionKT-76931K2: Annotation on do-while expression captures variables from inside the loopKT-77183Metadata: remove multi-field value class representationKT-77678Apply found optimization to Kotlin KMP parserKT-60127K2: Support scripts with LightTree-based raw FIR buildingKT-76615K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" for mixed Java/Kotlin codeKT-77220Annotation with EXPRESSION is not allowed on lambdas in Kotlin 2.2.0KT-77656K/N: fix the super type for local delegated propertiesKT-75907Inference/PCLA: consider storing semi-fixed variables in inference sessionKT-77144Implement KMP Kotlin parserKT-77352Implement KMP Expression parserKT-76984SYNCHRONIZED_BLOCK_ON_JAVA_VALUE_BASED_CLASS isn't reported for primitive wrapper classes instantiated within the scopeKT-67471K2: "Unresolved reference" on incorrect term of FQ nameKT-77269[K/N] external calls checker crashes when used with cachesKT-77205Kotlin Debugger / Context Parameters: CCE “class FirPropertySymbol cannot be cast to class FirFunctionSymbol” on evaluating class propertyKT-74133FIR: use EmptyDeprecationsPerUseSite consistently in symbolsKT-77100java.lang.Void type is not ignorableKT-77491K2: No SUPERTYPE_IS_EXTENSION_FUNCTION_TYPE when using typealiasKT-77490Report error on contextual function type in supertypeKT-77431Functional type with a context is allowed as an upper-boundKT-77432Context isn't passed properly when functional type with a context is used as a type argumentKT-77417There is no TYPE_VARIANCE_CONFLICT_ERROR when 'out' type is used in contextKT-62631Improve expect-actual "checking" incompatibilities reportingKT-77481Support ExpectRefinement feature in HMPP compilation schemeKT-77268Make sure that -Xreturn-value-checker also enables -XX:UnnamedLocalVariablesKT-65719K1/K2: Nullness defaults from subclass unsoundly applied to method in superclassKT-53836In type-parameter declarations, recognize JSpecify annotations only on boundsKT-73658JSpecify@NonNullannotation on type-parameter bound prevents type-variable usages from being platform typesKT-77000Leave ForbidInferOfInvisibleTypeAsReifiedOrVararg as a warningKT-74084K2: False negative [NO_ELSE_IN_WHEN]KT-77451FirLazyResolveContractViolationException for test with overridden delegateKT-77397Report UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL when calling declaration with contextual function type in signatureKT-77137K2: Controversial behavior allows resolving annotation arguments on a companion inside itKT-77257Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the conditional expression to the inaccessible interfaceKT-77256Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the functional call result to the inaccessible interfaceKT-76356K2 evaluation fails on evaluating inline methods if there is an inline with AutoCloseableKT-73786Evaluator: cannot evaluate inline methods with reified parameterKT-77204Native: XCode strip command causes flaky testsKT-77351Implement KMP KDoc parserKT-76914compile-time failure on a type argument placeholder in a callable referenceKT-76597False negative opt-in required on delegated constructor callKT-76667Mark the class implementation of interface function with ACC_BRIDGE in the class fileKT-77181K2: a nested typealias annotation observes member declarations of the outer classKT-77180K2: Wrong scope for annotation arguments in the constructor headerKT-77287Try enforcingsource != nullwhenorigin == SourceKT-76135K2: drop pre-1.8 language features from compiler codeKT-77231Reflection: CCE on resuming coroutine after callSuspend if result is a generic inline class substituted with primitiveKT-77031Investigate the actual need of deduplicating provider in HMPP compilation schemeKT-77050Implement KMP KDoc lexerKT-77048Implement KMP Kotlin lexerKT-77044Consolidate, refine and update jFlex dependencyKT-77252It is impossible to declare an unnamed variable in a scriptKT-58137K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another moduleKT-77140Protect ConstraintSystemCompletionMode.UNTIL_FIRST_LAMBDA with opt-inKT-76898K2: ClassCastException when data class shadows supertype'scomponentXmethod with wrong typeKT-75695Bogus "Assigned value is never read" warning for prefix ++ operatorKT-76805Wrong NPE occurs when assigning synthetic properties with platform types in Kotlin 2.1.20KT-77078K2: anonymous object is wrongly allowed to implement interfaces by unsafe DelegationKT-72722Treat 'copy' calls of a data class as explicit constructor usagesKT-77149IllegalArgumentException: source must not be nullKT-76806K2: AIOOBE in FirEqualityCompatibilityCheckerKT-72391KJS: (a * b).toDouble_ygsx0s_k$ is not a functionKT-76950K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" with nullable UByteKT-76043Native: NotImplementedError: Generation of stubs for class org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl is not supported yetKT-77126Transitive dependency mismatch between Kotlin Gradle Plugin and Scripting dependenciesKT-72831ANNOTATION_USED_AS_ANNOTATION_ARGUMENT missing in some cases in K2KT-73707Remove dependency on ":compiler:backend.jvm" from NativeKT-75499CheckerContext#{containingDeclaration, containingFile} in checkers should return symbolsKT-76548False positive TYPE_MISMATCH when resolving an expression with the expected type from the upper boundKT-76142K2:@RequiresOptInwarning does not display the custom message when using concatenated strings.KT-68699Kotlin Debugger: UPAE “lateinit property parent has not been initialized” on trying evaluate enumValues(), enumEntries() from inlined function with reified parameterKT-63267K2: incorrect line numbers after smart cast of an extension receiverKT-71309Kotlin Debugger: UnsupportedOperationException on calling method with reified type parameterKT-74912K2: Investigate irrelevant ARGUMENT_TYPE_MISMATCH on top-level lambdasKT-74657K2: Linenumber for annotation on local variable is present in LVTKT-76749NONE_APPLICABLE message is unreadable for stdlib context functionKT-74932Investigate false-negative ARGUMENT_TYPE_MISMATCH on a nested anonymous functionKT-74545Redundant TYPE_MISMATCH in variable initializer with callKT-76774K2: Simplify ResolutionMode.WithExpectedType contractsKT-76689Unnamed local variable with type and without initializer is allowedKT-76746ClassCastException: class org.jetbrains.kotlin.fir.types.impl.FirUserTypeRefImpl cannot be cast to classKT-76754K2: Compiler doesn't check annotations on array literals (as annotation arguments)KT-76674The function isn't called from unnamed local variable initializerKT-75553MISSING_DEPENDENCY_SUPERCLASSandMISSING_DEPENDENCY_SUPERCLASS_WARNINGis reported at the same time on the same elementKT-76345Enhance variable fixationKT-73348AssertionError from isCompiledToJvmDefault on super call of suspend function with composable function parameterKT-72305K2: Report error when using synthetic properties in case of mapped collectionsKT-73527Prohibit (via a deprecation warning) accessing nested class through generic outer classKT-59886K2: Disappeared ERROR_IN_CONTRACT_DESCRIPTIONKT-61227Definitely non-nullable types cause "Any was expected" for@NullableparameterKT-57911K2: Contracts are not inherited by substitution overridesKT-47398'null' EnhancedNullability value in String-based 'when' might produce different behavior depending on whether 'when' is "optimized" or notCompose compiler
CMP-7505IrLinkageError: Function can not be called: No function found for symbolb/432262806Fix target description lookupb/436870733Prevent lambda memoization in local classes inside a composableb/432485982Fix AbstractMethodError when overriding function with default parametersb/432262806Use classId as FirApplierInferencer tokensb/400371006Gate default parameters behind language versionsb/245673006Specify fqName for classes and functions in build metricsb/254577243Avoid printing complex expressions in compiler metricsb/394891628Allow specifying target version of Compose runtimeb/424454512Recreate FirApplierInferencer for each checkb/417406922Restrict references to@Composablepropertiesb/282135108,b/349866442[Compose] Enable applier checking when using FIRb/307592552Add BigInteger and BigDecimal to the list of known stable classesb/414547195Unwrap type casts when inferring@Composablecall argumentsIR. Inlining
New Features
KT-70360KLIBs: Uniformly handletypeOf()calls at 1st/2nd stages of compilationFixes
KT-79002[Inliner][Native][PL] Native backend fails for inline function that instantiates a class that was compiled implementing two interfaces, which turned into abstract classesKT-78137Review & enable PL tests with enabled IR inlinerKT-72464[Native][JS][Wasm] Non-local return through suspend conversion breaks the IR inlinerKT-69941RewriteDumpSyntheticAccessorslowering to test handler after moving common Native/JS prefix to KLIB compilationKT-78245Synthetic Accessors incorrectly copies default valuesKT-76236IncludeNativeInliningFacadeandJsIrInliningFacadein all Native & JS test runnersKT-76512Avoid usingoriginalFunctioninsideFunctionInliningKT-69457[references] IR Inliner: References to inline functions are not inlinedKT-47521Native & JS: Recursive inline fun calls -> StackOverflowErrorKT-76425Do not store signatures of preprocessed inline functions in KLIBsKT-76763[Inliner] Don't use attributeOwnerId to pass info from Inliner to non-JVM backendsKT-77102[Inliner] Expression uses unlinked type parameter symbolKT-76145Enhance error message about poisoned KLIBs in KLIB-based compilersKT-77079IR: Report warnings on exposure of references to invisible declarations in inline functionsKT-69797[references] Accessors for private function/constructor/property references are not generatedKT-76454Investigate erasure of class type parameters during inlinerKT-72593[K/N] Add NativeIrInliningFacade to CrossCompilationIdentityTestKT-70969IR Inliner: Ensure that common prefix at 1st phase does not affect KLIB signaturesKT-75937[IR Inliner] Umbrella for failing tests due to public inlinerKT-77295Improve Diagnostic Message Formatting for Private API Exposure in Inline FunctionsKT-77047Ir Ininler: crash on fake override in private class from more visible classKT-77336[references] Synthetic accessor test for private top-level function accessed via reference fails withNo function found for symbolKT-76761[Inliner] non-JVM IR Inliner incorrectly uses K/JVM-specific codeKT-76712[Inliner] No function found for symbol '/|?'KT-76711[Inliner] Reference to function 'privateMethod' can not be evaluatedIR. Tree
KT-77508K/JS and K/Native CompilationException Wrong number of parameters in wrapperKT-78978PL tests: Dropadjust*forLazyIr()hackKT-76813IR validator: not all symbols/references are visitedKT-77596RefinereuseExistingSignaturesForSymbolssetting in IR serializerKT-76723IR validator: Check visibilities of annotationsKT-76405Visit annotations in IrTypeVisitor and IrTreeSymbolsVisitorKT-78033[PL] MergeIrUnimplementedOverridesStrategytoPartiallyLinkedIrTreePatcherJVM. Reflection
KT-77882kotlin-reflect: KParameter.name returns "" instead of null for anonymous context parametersKT-77879kotlin-reflect: toString overrides of KCallable implementations do not render context parametersKT-74529Context parameters support in reflectionKT-52170Reflection: typeOf<Array> gives classifier LongArrayKT-77663Reflection: java.util.ServiceConfigurationError: "module kotlin.reflect does not declareuses" when using kotlin-reflect in modular modeJavaScript
New Features
KT-79222K/JS: Allow using Long in exported declarationsKT-79394Add the possibility to write common external declarations between JS and WasmJS targetsKT-70486K/JS: exported exception types should extend ErrorKT-19016Define accessors as enumerablePerformance Improvements
KT-57128KJS: Use BigInt to represent Long values in ES6 modeKT-54689KJS: Data class equals less efficient than manually written versionFixes
KT-69297Deprecate referencing inlineable lambdas injs()callsKT-77620Fix failing IC tests on WindowsKT-77372KJS: NullPointerException at JsIntrinsics$JsReflectionSymbolsKT-78316KJS: List is not exported to TypeScript declaration if wrapped in PromiseKT-79644BigInt enabled for ES 2015 despite being an ES 2020 featureKT-79089KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode testsKT-79916K/JS: "Uncaught TypeError" when using 'Xes-long-as-bigint' in compose-htmlKT-79050KJS / IC: "Unexpected body of primary constructor for processing irClass"KT-79977KJS: Long.rotateLeft returns incorrect result when BigInts are enabledKT-76093Support new callable reference nodes in partial linkage in Kotlin/JSKT-78073K/JS: KProperty from local delegate changes after another delegate is invokedKT-52230KSJ IR: Applying identity equality operator to Longs always returns falseKT-6675KotlinJS: toInt() on external Long throws errorKT-79184K/JS: Further intrinsify BigInt-backed Long operationsKT-78701Js and Wasm: enumValueOf does not include invalid value into an exception messageKT-55256KJS: non-exported subclass with a no-parameter function overload doesn't compileKT-76034passProcessArgvToMainFunction contains the node path and script pathKT-66091KJS, WASM:AssertionError: Illegal value: <T>in test nonReified_equality.ktKT-78169KJS: [NON_EXPORTABLE_TYPE] with@JsExportclass if@JsStaticcompanion method returns an out typeKT-57192KJS: "Exported declaration uses non-exportable return type" caused by@JsExportPromise with Unit typeKT-61183KJS: "AssertionError: Assertion failed" from JsSuspendFunctionsLoweringKT-59326KJS / IR: invalid code generated when using constructor parameter nameddefaultKT-70295KLIB stdlib: Unify intrinsics for boxing captured variables in lambdas across non-JVM backendsKT-77021CompilationException: Encountered a local class not previously collected on inner classes inside anonymous objectsKT-77320KJS: Big.js times() is compiled to multiply (*) operatorKT-77430K/JS: Remove sharedBox* intrinsics from the standard libraryKT-73267KJS: IC: "FileNotFoundException": Build failures with Kotlin 2.1-RC and RC2KT-76912KJS:@JsStaticcan't be used for companion objects implementing external interfacesKT-77271KJS / Serialization: "Cannot set property message of Error which has only a getter"KT-77242Kotlin/JS & Kotlin/Wasm backends: Artificially apply reverse topo-order after IR linkageKT-77649KJS: es-arrow-functions requires explicit opt-in when target is ES2015KT-76235[JS] Extra invalid linetmp_0.tmp00__1 = Options;in testSuspendFunction()KT-76234[JS] Extra invalid lineParentin testNested()KT-76233[JS] Extra invalid import line in testJsQualifier()KT-77190Migrate JS diagnostic tests to the new CLI-based test facades (1st phase only)KT-77418KJS: cannot debug with whole-program granularityKT-77371[K/N][K/JS][K/Wasm] Unify visibility rules for generated default argument stubsKT-77148KJS: "Uncaught TypeError: (intermediate value).l(...).m is not a function" during production build runKT-77193Migrate JS irText tests to the new CLI-based test facades (1st phase only)KT-77192Migrate JS ABI reader tests to the new CLI-based test facades (1st phase only)KT-77187Migrate JS box tests to the new CLI-based test facades (1st phase only)KT-77027Migrate 1st phase facades to the phased CLI infrastructure in JS testsKT-69591KJS / d.ts: Wrong type of SerializerFactory for abstract classesKT-76027KJS: "ReferenceError: entries is not defined": Accessing entries of an enum arbitrarily fails with println()KT-76232Suspend contextual function with extension receiver results in wrong values at runtime in JSKT-42305KJS / IR: "Class constructor is marked as private"@JsExportproduces wrong TS code for sealed classesKT-52563KJS / IR: Invalid TypeScript generated for class extending base class with private constructorKlibs
New Features
KT-78699Compiler (JS, Wasm): warn about incompatible kotlin-test/compiler pairKT-78700Compiler (JS, Wasm): Consider making diagnostics for incompatible kotlin-stdlib/compiler and kotlin-test/compiler pairs errors instead of warningsKT-74815KLIB resolver can't consume metadata klibs between source sets when abi_versions divergeKT-68322Compiler (JS, Wasm): warn about incompatible Kotlin stdlib/compiler pairFixes
KT-78168K/N: "IndexOutOfBoundsException: Index 3 out of bounds for length 3" for iOS build with Kotlin 2.2.0-RC2KT-75766PL: Error on building fake override with multiple overridden members with unbound symbols in return typeKT-75757PL: Error on building fake overrides with unbound symbols in value parametersKT-76094Support new callable reference nodes in partial linkage in Kotlin/WasmKT-78771KLIBs: ImprovezipDirAs()function that is used to produce KLIB (ZIP) archivesKT-75980[Klib] Reduce serialized size of IrFileEntries for sparse usage of another source filesKT-78349[Tests] Enable Partial Linkage in all testsKT-76827KLIB cross-compilation tests: Don't use IR hashes and metadata hashes in test dataKT-76266Move trigger of :tools:binary-compatibility-validator:check to native/native.tests/klib-ir-inlinerKT-76725KLIB ABI export in older version: Restore legacy directoriesKT-76061Add option for suppress warning of missing no-existent transitive klib dependenciesKT-76471Partial linkage: add an attribute if a class is invalidKT-75192KLIB reader tends to extract files from the KLIB archive to a temporary directory even when this is not neededLanguage Design
KT-78866Warn implicit receiver shadowed by context parameterKT-54363Allow using reified types for catch parametersKT-32993Contract to specify that a function parameter is always true inside lambdaKT-79308Ability to actualize empty interfaces as AnyKT-8889Contracts: if a given function parameter is not null, the result is not nullKT-22786Returns are not allowed for expression-body functions and are allowed when an inline lambda is addedKT-77836Support using context parameter of a@RestrictsSuspensiontype as the "restricted coroutine scope"KT-77823Context-sensitive resolution doesn't work for subtypes of sealed typesKT-75977False positive unresolved_reference when resolving nested member after a type checkKT-73557Allow refining expect declarations for platform groupsLibraries
New Features
KT-76389Provideupdatefunctions for common atomicsKT-78581Add the KClass.isInterface property to Kotlin/JS stdlibKT-34132Contract for ClosedRange.contains(T?) operatorKT-73853Provide vararg constructors for Atomic ArraysFixes
KT-71628Review deprecations in stdlib for 2.1KT-76773stdlib: contextOf's type argument can be inferred via contextOf's context argumentKT-79489Generate Stdlib API reference for webMain source setKT-79080Annotate WasmImport and WasmExport as experimental APIKT-79121K/Wasm annotate JS-interop API as experimentalKT-78710kotlin.wasm and kotlin.wasm.unsafe packages are missing descriptionKT-78709Wasm: KClass.qualifiedName KDoc should reflect the behavior on the targetKT-78704CharSequence.subSequence and String.substring behavior with invalid indices differs between targetsKT-78705Float.sign and Double.sign behavior for negative zero is not documentedKT-74543Support for context parameters in kotlinx-metadataKT-78340String.startsWith KDoc declares invalid exception conditionKT-78242Move IrLinkageError to the common non-JVM part of the standard libraryKT-67819Document collection interfaces contractsNative
KT-79075Stuck on Kotlin_getSourceInfo_core_symbolicationKT-76178LLVM Update: symbol '__ZnwmSt19__type_descriptor_t' missingKT-78959Xcode 26: fix GC stress testsKT-78734Finish runtime crash dump generationKT-74662Consider providing a way to enable stack canaries for Kotlin/Native binariesKT-77378[macos] Loading libraries with non resolved paths runs XProtectServiceKT-61549Kotlin/Native: remove kotlin-native/Interop/JsRuntimeKT-76563LLVM Update: numerous "was built for newer 'macOS' version" warningsNative. Build Infrastructure
KT-77349Kotlin/Native: default cache for stdlib is unusedNative. C and ObjC Import
KT-79571Xcode 26 beta 4: CInteropKT39120TestGenerated.testForwardEnum failedKT-71400Fix disabled -fmodules testing for stdarg.hNative. ObjC Export
New Features
KT-77488[ObjCExport] Add explicit ObjCBlock parameter name in objc exportKT-76974Include conflicting element in objc export warningsKT-76338Native, ObjCExport: Replace name mangling of special method familiesFixes
KT-55648Native: produce smaller binariesKT-78447[ObjCExport] Add missing ERROR constructors, align with K1KT-78034ObjCExport: primitive type extension translated as static methodKT-77781ObjCExport: support@ObjCNamefor function parameters and receiver parametersKT-77592KMP plugin uses incorrect Swift name from ObjCName annotationKT-77625ObjCExport: ObjCName annotation adds kotlin name swift_nameKT-77484KotlinConf app: Invalid identifiers inObjCHeader.renderKT-77500IllegalStateExceptionduring generating ObjC header stubsNative. Runtime
KT-79152Native: unexpected thread state in kotlin::to_stringNative. Runtime. Memory
KT-78925Crash SIGABRT on Apple Watch after updating Kotlin to 2.2.0KT-76851Kotlin/Native: GC scheduler MutatorAssists requestAssists and completeEpoch issueKT-63143Kotlin/Native: execute Cleaners on the finalizer threadNative. Swift Export
KT-79105ConcurrentModificationException During Swift Export Caused by Usage of ArrayKT-79227Swift Export: Fix First Release IssuesKT-78947Implement FUS for Swift exportKT-79521'_CoroutineScope' is inaccessible due to 'internal' protection levelKT-79181Swift Export Fails When Using T: Comparable Generic Constraint in Kotlin ClassesKT-77650Swift export execution tests fail with caches enabledKT-77634K/N: swift export tests started failing after hyper-existentialsKT-77290Transitive Export on swift export can duplicate declarationsTools. Build Tools API
KT-78415Add a tool for performance reports analysingTools. CLI
New Features
KT-75812Basic DSL for compiler arguments representationFixes
KT-78318Unresolved reference when compiling kotlin/JS project on fresh masterKT-75968Set proper lifecycle for all existing compiler argumentsKT-77445UNRESOLVED_REFERENCE when importing classes from kotlin-stdlibKT-77030Implement setup of HMPP sessions for KLib-based compilersKT-78578Support for placeholder (*) and directory in-Xdump-perfKT-78129Compiler cannot parse -Xfragment-dependency with a comma in the pathKT-76828Warning doesn't exist error with -Xwarning-level when the source file has no codeKT-76957Incorrect error message when severity is set with -Xsuppress-warning and -Xwarning-level for the same diagnosticKT-76829UnsupportedOperationException when reenabling a taking place warning with -Xwarning-levelKT-76111kotlinc warns about org.fusesource.jansi.internal.JansiLoader call to System.loadKT-76447Remove -Xjps compiler argumentTools. Compiler Plugin API
KT-78279Make the DiagnosticReporter default way for reporting in IR pluginsKT-77157Cannot create a symbol pointer for local class generated by FirFunctionCallRefinementExtensionTools. Compiler Plugins
New Features
KT-78038Make jvm-abi-gen compiler plugin output classloader-friendlyKT-77339Update kotlin dataframe dependency to 1.0.0-dev-6925Fixes
KT-78969[DataFrame] Provide source elements for plugin-generated classesKT-75265PowerAssert: the result of invoke is displayed at the same level as value that can be confusingKT-78490"AssertionError: SyntheticAccessorLowering should not attempt to modify other files" when calling protected open composable with default argumentKT-77626K2: AssertionError: FUN LOCAL_FUNCTION_FOR_LAMBDA has no continuationKT-78671[DataFrame] Support type parameter types in DataSchema to fix evaluate expressionKT-78439DataFrame compiler plugin: Unresolved reference error in REPLKT-75876PowerAssert: don't display results for assertion operatorKT-75514[JS][Native] Add IrPreSerializationLoweringFacade to Atomicfu test runnersKT-77719Remove suppress INVISIBLE_REFERENCE from DataFrame pluginKT-77691Kotlin DataFrame plugin: IR and FIR anonymous functions have inconsistent receiversKT-77455kotlin-dataframe plugin throws NoClassDefFoundError in IDEKT-77437Kotlin DataFrame: Add configuration key to disable top level properties generatorKT-74366Delete kotlin-android-extensions compiler pluginKT-73364Migrate atomicfu sources to new IR parameter APITools. Compiler plugins. Serialization
KT-79695Serialization does not exclude field-less properties in 2.2.20-Beta2KT-73365Migrate kotlinx-serialization sources to new IR parameter APITools. Gradle
New Features
KT-76421Stabilize klib cross-compilation on different platformsKT-77107Introduce Kotlin ecosystem pluginFixes
KT-80172Error message changes depending on the order of applying 'org.jetbrains.kotlin.android' and 'AGP' 9.0+ with built-in Kotlin pluginKT-77546Implement basic support for HMPP compilation scheme support in KGPKT-79034Automatically disable cross compilation if it's not supported on the hostKT-79408A lot of errors files are created when compile KotlinKT-77785Add -fmodules option to CocoaPod dependency by defaultKT-75921Make Swift Export available by defaultKT-63383Add compiler performance metrics to Native build reportsKT-77023Support creating KotlinJvmAndroidCompilation in KotlinBaseApiPluginKT-74420Migrate kotlin-parcelize away from AGP's deprecated Variant APIKT-78233Add ExperimentalFeatureWarning unique idKT-67992Cleanup deprecated code required for KSP1KT-72341Remove 'kotlin-android-extensions' pluginKT-67291Enable Project Isolation AND/OR Configuration Cache mode for Gradle Integration testsKT-78325Kotlin ecosystem plugin rejects compatible Gradle patch version when DCL is enabledKT-76353Handle migration to stable -jvm-default in KGP: replace deprecated option and suppress warningsKT-76797KGP: StdlibDependencyManagementKt.configureStdlibVersionAlignment() triggering eager configuration realizationKT-77163Migrate Swift Export IT to injectionsKT-76282Add missing Android Gradle plugin versions in testsKT-77011Update build regression benchmarks for 2.2.0 releaseKT-76138Compile against Gradle API 8.14KT-76139Run integration tests against Gradle 8.14KT-77035A compiler diagnostic isn't reported when its severity is set to warning with GradleKT-76951'distribution-base' plugin is only applied in Gradle 8.13KT-73142Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilderKT-76740Use Problems API for warning introduced in KT-75808KT-65271Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3Tools. Gradle. Cocoapods
KT-76035Allow extra command line arguments in PodBuildTaskKT-78387Kotlin Cocoapods Gradle Plugin is not compatible with Gradle isolated projectsKT-79429K/N: Cocoapods: IllegalArgumentException: "cinterop doesn't support having headers in -fmodules mode" with 2.2.20-Beta1 if explicitly not specify false for 'useClangModules'Tools. Gradle. Compiler plugins
KT-66728Deprecatekapt.use.k2propertyTools. Gradle. JS
New Features
KT-75480Add shared source set for js and wasmJs targetKT-77073generateTypeScriptDefinitions() does not add generated .d.ts file to package.json automaticallyFixes
KT-77319KJS / Gradle: generateTypeScriptDefinitions() generates wrong file extension when outputting ES modulesKT-79921Web Tooling Gradle API does not respect webpack reconfigurationKT-76996Wasm: js tasks triggers wasm subtasksKT-79237Upgrade NPM dependencies versionsKT-79188Pre-generated accessors aren't available for webMain / webTest source setsKT-78504[2.2.0-RC3] NPM Tasks in 2.2 RCs produce broken/unusable build cache entriesKT-77443NPE: "NullPointerException: Cannot invoke org.gradle.api.tasks.TaskProvider.flatMap(org.gradle.api.Transformer)": ExecutableWasm.optimizeTask is accessed before initializationKT-76987JS, Wasm: Upgrade NPM dependenciesKT-77119KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer worksKT-74735KGP uses Gradle internalCompositeProjectComponentArtifactMetadataTools. Gradle. Multiplatform
New Features
KT-69790Report human-readable error when declared dependency doesn't support required target typesKT-76446Add kotlin-level dependency block to work the same way as commonMain/commonTest dependencies blocksFixes
KT-78297FileNotFoundException in generateMetadataFile task if non-packed=falseKT-62294kotlin-parcelize plugin does not support the new android kotlin multiplatform pluginKT-77404The kotlin-stdlib and annotations are missing from commonTest dependencies with 2.2.0-Beta1KT-79559AGP complains about configurations resolved at configuration time due to KMP partially resolved dependencies diagnosticKT-78993The value for property '*' property 'dependencies' is final and cannot be changed any furtherKT-77843KGP fails with Gradle 9 onProjectDependency.getDependencyProject()KT-79315Early task materialization with cross-project configuration breaks configuration due to KMP partial resolution checkerKT-77466KMP - testFixturesApi and similar configurations do not affect jvmTestFixtures source setKT-78433Gradle: add tracking of the new KMP compilation scheme to FUSKT-78431Gradle: in-process metadata compiler uses deprecated K2MetadataCompilerKT-77414KMP dependencies in detached source sets cause IDE resolution to write error logs: "kotlin-project-structure-metadata.json (No such file or directory)"KT-76200TestModuleProperties.productionModuleName for JVM module isn't present with 2.1.20-RCTools. Gradle. Native
KT-51301Remove ability to use Native non-embeddable compiler jar in Gradle pluginKT-74864Enable exporting KDocs by default to ObjCKT-77977"Unknown hardware platform: riscv64" on JVM project buildKT-78838Add default 3G max heap size for the commonizer JVM processKT-68256Reduce commonizer max heap size to default 3g and allow users to configure itKT-77067Kotlin Gradle plugin with the configuration cache passes all platform libraries to the compiler when compiling a binary for the first timeTools. Gradle. Swift Export
KT-79554Swift Export status diagnostic is produced even if swift export is not configuredKT-78385Swift Export is not compatible with Gradle isolated projectsKT-79524NoSuchMethodError: 'java.lang.String org.gradle.api.artifacts.ProjectDependency.getPath() for swift export with dependency export fro gradle < 8.11Tools. Incremental Compile
KT-60653IC does not handle changes in inline functions objects/lambdas correctlyKT-78807Changing ABI fingerprint on non-ABI changes when lambda passed to inlined functionKT-69075Incremental compilation: smartcast is impossible on field with@JvmNameTools. JPS
KT-77347Support file-less compatible IC approachKT-78444Clean up JPS code baseKT-75460Adding@PurelyImplementsannotation to a List does not cause incremental recompile of affected filesKT-50594Fix org.jetbrains.kotlin.arguments.CompilerArgumentsContentProspectorTestTools. Kapt
KT-79138K2: KAPT Java Stub Gen:Unresolved referencewith@kotlin.Metadata in Java in 2.2.0KT-79641Kapt: too much information is printed in verbose modeKT-79136K2 kapt: unresolved nested class references in annotation arguments are generated without outer class namesKT-79133K2 kapt: class literal with typealias is not expandedKT-77853K2 KAPT: backend internal error: exception during IR fake override builderKT-73322MigrateFirKaptAnalysisHandlerExtensioncompilation pipeline to the phased structureTools. Maven
KT-77587Maven: Introduce Kotlin daemon support and make it enabled by defaultKT-63688Remove JS-related stuff from kotlin-maven-pluginTools. Maven. Compiler plugins
KT-77511Add maven plugin for Kotlin DataFrame pluginTools. REPL
KT-78755[K2 Repl] Redeclaring variables does not workKT-75632Contunue deprecation of the REPL built intokotlincKT-77470[K2 Repl] Lazy Properties crash code generationKT-76507[K2 Repl] Delegated properties are not visible in the next snippetKT-76508[K2 Repl] Annotations on property accessors are not resolvedKT-75672[K2 Repl] Serialization plugin crashes compiler backendTools. Scripts
KT-78378"Explain" feature of the kotlin script fails on hidden variablesTools. Statistics (FUS)
KT-79455[FUS] Collect KSP plugin versionKT-77755[FUS Pipeline] Fus file formatKT-77995Do not collect FUS metrics on TeamCityTools. Wasm
KT-76842K/Wasm: serve project sources in *DevRun tasks by defaultKT-78921K/Wasm: don't generate empty yarn.lock fileKT-75714Wasm: Move tooling NPM dependencies outside user projectKT-70013.gradle/yarn and .gradle/node are part of Gradle configuration cacheKT-76838K/Wasm: No possible to set downloadBaseUrl to null for D8 and BinaryenKT-76948Wasm: Rename kotlinBinaryenSetup and kotlinD8Setupv2.2.10Compiler
KT-79276Dexing fails with "Cannot read field X because is null" with 2.2.0KT-79442"Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfacesKT-78815Symbol not found: __ZNSt3__117bad_function_callD1Everror on iOS 15.5 simulator in Xcode 16.3 after update to 2.2.0-Beta2KT-78501K2: Missing [ABSTRACT_SUPER_CALL] diagnostics for delegated interface method leads to AssertionError: isCompiledToJvmDefault during IR loweringKT-78479IR lowering failed / Unexpected null argument for composable callKT-76477Kotlin/Native: fix compiler performance reporting in sources->klib and klibs->binaryKT-78736Missing [NOT_YET_SUPPORTED_IN_INLINE] diagnostics because of incorrect context updateKT-77685"IllegalArgumentException: Sequence contains more than one matching element"KT-76365K2: Missing ABSTRACT_SUPER_CALLKT-78352False-positive IDENTITY_SENSITIVE_OPERATIONS_WITH_VALUE_TYPE when comparing with equality operator (==)Compose compiler
KT-78479Ensure that default transform affects functions entered through a callKT-78490Fix visibility for default wrappers of protected methodsb/408492167Emit parameter names in Compose source informationJavaScript
KT-79050KJS / IC: "Unexpected body of primary constructor for processing irClass"KT-79089KJS: Could not load reporter / Cannot find module 'mocha' when running jsNode testsNative
KT-79075Stuck on Kotlin_getSourceInfo_core_symbolicationKT-76178LLVM Update: symbol '__ZnwmSt19__type_descriptor_t' missingNative. Runtime. Memory
KT-78925Crash SIGABRT on Apple Watch after updating Kotlin to 2.2.0Tools. CLI
KT-77445UNRESOLVED_REFERENCE when importing classes from kotlin-stdlibKT-78263java.lang.NoClassDefFoundError: Could not initialize class com.intellij.psi.impl.PsiSubstitutorImplKT-78318Unresolved reference when compiling kotlin/JS project on fresh masterTools. Compiler Plugins
KT-78490"AssertionError: SyntheticAccessorLowering should not attempt to modify other files" when calling protected open composable with default argumentKT-78038Make jvm-abi-gen compiler plugin output classloader-friendlyTools. Gradle
KT-77023Support creating KotlinJvmAndroidCompilation in KotlinBaseApiPluginTools. Gradle. JS
KT-78504[2.2.0-RC3] NPM Tasks in 2.2 RCs produce broken/unusable build cache entriesTools. Gradle. Multiplatform
KT-77466KMP - testFixturesApi and similar configurations do not affect jvmTestFixtures source setKT-68646Compose extension's metrics/reports dir should use subdirs based on targetTools. Gradle. Native
KT-77977"Unknown hardware platform: riscv64" on JVM project buildTools. Incremental Compile
KT-78807Changing ABI fingerprint on non-ABI changes when lambda passed to inlined functionTools. Kapt
KT-77853K2 KAPT: backend internal error: exception during IR fake override builderKT-79138K2: KAPT Java Stub Gen:Unresolved referencewith@kotlin.Metadata in Java in 2.2.0v2.2.0Analysis API
KT-73337Migrate analysis sources to new IR parameter APIKT-75880K2 Mode: Typealias reference resolves to the underlying class in KMP projectKT-74246KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-siteKT-57733Analysis API: Use optimizedModuleWithDependenciesScopes in combined symbol providersKT-69535Redesign 'containingSymbol'KT-69950Analysis API: IntroduceisSubtypeOf(ClassId)KT-68393Analysis API: RenameKaClassLikeSymbol. classIdIfNonLocaltoclassIdKT-62924Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableIdAnalysis API. Code Compilation
KT-75502K2: IDEA hangs when evaluating inside kotlin-stdlib modules in the Kotlin projectKT-73077Evaluation of inline functions is broken inside Kotlin project and Amper module in Idea sourcesKT-73936K2: CyclicInlineDependencyException: Inline functions have a cyclic dependency in evaluatorKT-74582InterpreterMethodNotFoundError when trying to evaluate simple expressions after recent fixesKT-74524Compilation exception with incorrect JvmName annotation argumentsKT-74443Compilation peer collector ignores inline property accessorsAnalysis API. FIR
New Features
KT-73493Support context parametersPerformance Improvements
KT-75790Experiment with increasing DEFAULT_LOCKING_INTERVAL timeKT-72159LLFirCompilerRequiredAnnotationsTargetResolver: consider rewriting it to use honest jumping locksFixes
KT-76331Cleanup FileStructureElement for classesKT-73117K2 AA: Exception "Setter is not found" when val has a setter without bodyKT-76540K2: Missing library dependency on Android SDK from androidx.activity-1.8.2 causes LiveEdit failuresKT-73266K2. "Declaration should have non-local container" with unclosed annotation on top-level functionKT-76432JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImplKT-76217K2 AA: "No fir element was found for KtParameter" with multiple context parameter listsKT-74740Highlighting is broken after the built-in serialization refactoringKT-76366ContextCollector: annotations on class members don't have the class as implicit receiverKT-76352ContextCollector: wrong class annotation context in BODY modeKT-76341ContextCollector: support dangling modifiersKT-76332"Declaration should have non-local container" for declaration inside file annotationKT-76115DisableFirElementBuilder#getFirForElementInsideAnnotationsoptimization for files, classes and scriptsKT-76347ContextCollector: avoid resolution for enum entry annotationsKT-76272Cleanup AbstractFileStructureTestKT-75542K2 AA: "FirDeclaration was not found for class KtNamedFunction, fir is class FirErrorExpressionImpl" for unclosed annotation on member functionKT-73719K2. "FirDeclaration was not found for class KtDestructuringDeclaration, fir is class FirBlockImpl" on incorrect chain callKT-72908K2 Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteral" with non-local destructuring declaration without initializer beforeinitblockKT-75532ContextCollector: scope for an anonymous function type parameter contains regular parametersKT-74508FirElementBuilder#findElementInsideshould reuse logic fromKtToFirMapping#getFirKT-73066[LL] Enable low-level-api-fir-native even with the disabled native partKT-75132Investigate failures of sandbox diagnostic testKT-75130Set up LL FIR tests for sandbox test dataKT-73386Standardize LL FIR test for compiler test dataKT-75125ISE “Value classes cannot have 0 fields” on instantiating inline class without fieldsKT-75179ContextCollector: support error propertiesKT-74632K2: ISE FirLazyDelegatedConstructorCall should be calculated before accessingKT-74818K2 AA: "FirDeclaration was not found for class KtTypeParameter, fir is null" with TYPE_PARAMETERS_NOT_ALLOWED on anonymous functionKT-73183Support context parameters in ContextCollectorVisitorKT-60350K2 IDE: top level destructuring RHS should be resolvableKT-74794K2: FirLazyExpression should be calculated before accessing with context parameter and implicit return typeKT-72938Get rid of KaFirAnnotationListForReceiverParameterKT-73727Exception in implicit type resolutionAnalysis API. Infrastructure
KT-74917[Analysis API, Test Framework] Introduce a way to acquirePsiFilefor a givenTestFileinKtTestModuleAnalysis API. Light Classes
KT-73405Get rid of KtElement#{symbolPointer, symbolPointerOfType} API usagesKT-75391Reduce the amount of psi-based logic in light classesKT-70001SLC adds@Overridewith zero text offset onoverridememberKT-75755K2. False positive red code on vararg parameters in Kotlin class with@JvmOverloadswhen called from JavaKT-75397Constructors and functions with non-last vararg parameters are treated as varargsKT-74868Support context parametersKT-74733SymbolPsiLiteral.text == value for Java constantKT-74620Delegated functions with value classes are present in light classesKT-74595Static functions with value classes are present in light classesKT-74284Synthetic data class methods using value class types present in LCAnalysis API. Providers and Caches
Performance Improvements
KT-62115Analysis API: Package providers are not cached per search scopeKT-74463Analysis API:LLNativeForwardDeclarationsSymbolProviderqueries its cache even when theClassIdcannot represent a native forward declarationFixes
KT-74541Analysis API: Include files generated by resolve extensions inKaModulecontent scopesKT-64236Analysis API: Introduce a separate module for fallback dependencies of library source modulesKT-74090Analysis API: Support dumb mode (restricted analysis)KT-63780Analysis API: Invalidate resolvable library sessions when binary library modules are modifiedKT-72388KaFirStopWorldCacheCleaner: Control-flow exceptionsKT-74943Analysis API: ReplaceKotlinGlobalModificationServicewith simpler global modification event publishing and listener-based modification trackersKT-70518K2: Analysis API: Access indices outside ofConcurrentMapcomputation in symbol providersKT-74302Analysis API:LLFirProvidershould disregard self-declarations ingetFirClassifierBy*KT-67868Analysis API: Improve the architecture ofLLFirKotlinSymbolProvidersAnalysis API. Standalone
KT-72810withMultiplatformLightClassSupport is inconvenient in StandaloneAnalysis API. Stubs and Decompilation
KT-71787PsiRawFirBuilder.Visitor#visitStringTemplateExpressionforces AST loadingKT-68484K2 IDE, Analysis API: "We should be able to find a symbol for function" for getting KaType ofIterable<T>.map(transform: (T) -> R)parameter in J2KAnalysis API. Surface
New Features
KT-74475AddisInlineforKaPropertySymbolKT-75063KaScopeContext: support context parametersPerformance Improvements
KT-73669Support psi-based symbol pointer for implicit primary constructorsKT-76008Provide PSI-based implementation forKaFirNamedClassSymbol#companionObjectKT-70165Introduce PSI-basedKaSymbols for K2Fixes
KT-72730K2: "Unexpected owner function: KtNamedFunction" on vararg val parameter in functionKT-75123K2. KaFirNamedFunctionSymbol should contain a receiverKT-75894Cannot build KaFirJavaFieldSymbol for FirFieldImplKT-75115Analysis API: TheJavaModuleResolvercompiler class is leaked to Analysis API platform implementationsKT-76018K2: Stop the wold leads to deadlock/freezeKT-76011KaFirNamedClassSymbol#companionObjectdoesn't provide generated objects generated by compiled pluginsKT-72482"KotlinIllegalArgumentExceptionWithAttachments: Expected all candidates to have same callableId but some of them but was different" on trying to add the importKT-75586KaFirPropertyGetterSymbol#isInlineandKaFirPropertySetterSymbol#isInlineis incorrect for accessors with explicit modifierKT-58572Analysis API: Enforcing STATUS resolve in 'KtFirNamedClassOrObjectSymbol.visibility' may cause lazy resolve contract violationKT-75574Recognize injected code fragment copiesKT-75573Recognize physical file copies as dangling filesKT-74801Analysis API: Publish/subscribe to modification events with a single message bus topicKT-73290Analysis API: Improve the architecture of content scopes and resolution scopesKT-68901Constructor delegation call receiver missing in fir implementationKT-72639Support context parameter APIKT-73112AA: FirExpression.toKtReceiverValue should handle context receivers properlyKT-74905Cannot find context receiver in FIR declarationKT-74563createPointeris overloaded not for all implementationsKT-73722Analysis API: Automatically check that the API surface is fully documentedKT-65065ProvideKtTypeReference#getShortTypeText()Backend. Native. Debug
KT-75991Xcode 16.3: Fix lldb stepping test over an inline functionBackend. Wasm
New Features
KT-59032Support instantiation of annotation classes on WASMFixes
KT-77622K/Wasm: investigate CMP crash on mobile SafariKT-76747[Wasm] Wasm name section absent for wasm structsKT-76701K/Wasm: custom formatters are not loaded when a project is built with incremental compilationKT-66081K/WASM:0/0,5/0and5%0throw not ArithmeticException, but RuntimeErrorKT-76287[Wasm] Enable stdlib and kotlin.test tests after compiler bootstrapKT-75871[Wasm] Implement new RTTI approachKT-75872Wasm / IC: IllegalStateException: IC internal error: can not find libraryKT-74441K/Wasm: incorrect 1e-45.toString()KT-59118WASM: floating point toString inconsistenciesKT-68948Wasm: float from variable is printed with many decimal pointsKT-69107[wasm] Seemingly incorrect roundingKT-73362Migrate K/Wasm sources to new IR parameter APICompiler
New Features
KT-70722Implement better Kotlin warnings for value classes and JEP 390 (Warnings for Value-Based Classes)KT-71768Enable -Xjvm-default=all-compatibility by default to generate JVM default interface methodsKT-54205Support jakarta Nullability annotationsKT-57919Store all annotations in Kotlin metadata on JVM under a flagKT-73255Change defaulting rule for annotationsKT-74382Annotating Java record components for@JvmRecorddata classKT-74811Prohibit usages of@MustUseValue/@IgnorableValueif RV checker is not enabledKT-74806Implement feature flag for improved unused return value checkerKT-74809Support unnamed local variablesKT-73508Add a warning diagnostic for using kotlin.concurrent.AtomicRefKT-72941ANNOTATIONS_ON_BLOCK_LEVEL_EXPRESSION_ON_THE_SAME_LINE missing in K2KT-74497Warn about incompatible Kotlin and Java targets in annotationsKT-75061Support context-sensitive resolution in type positionKT-75315Support context-sensitive resolution in the call-argument positionKT-75316Support context-sensitive resolution for expression-position with expected typeKT-76088Support context-sensitive resolution for annotation argumentsKT-74049Introduce special override rule to allow overriding T! with T & AnyPerformance Improvements
KT-76395Performance degradation on 28.03.2025KT-76422FirJavaFacade#createFirJavaClass: do not compute super type references right awayKT-75957K2: PsiRawFirBuilder.Visitor#toFirExpression forces AST loading via getSpreadElementKT-74824Exponential performance caused by nested flexible typesKT-62855K2: extra allocation for SAM conversion compared to K1KT-74977K/N: support stack array for Array(size) callKT-74369Exponential compiler memory usage in specific situations with type inferenceFixes
KT-76606Enable 'Indy: Allow lambdas with annotations' by defaultKT-77301False positive Context Parameter resolution when using DslMarkerKT-74389K2: False positive NON_EXPORTABLE_TYPE on non-UnitPromise<...>in K/JSKT-77219"@Composableannotation is not applicable" on vararg@Composable() -> Unit in Kotlin 2.2.0KT-76357K2: a nested class annotation observes member declarations of the outer classKT-72734Support new callable reference nodes in Kotlin NativeKT-74421K2: Missing "val cannot be reassigned" when trying to assign a value to parent's "val"KT-63720Coroutine debugger: do not optimise out local variablesKT-74470NSME on calling in runtime internal constructor of value class with default arg from testsKT-77640Context parameters: using 'contextOf()' function leads to [NO_CONTEXT_ARGUMENT]KT-73909Add an inspection discouraging usage of kotlin.concurrent Native atomics in favor of the new atomicsKT-76583CCE: suspend lambda attempts to unbox value class parameter twice after lambda suspendedKT-76663KJS: KotlinNothingValueException caused by expression return since 2.1.20KT-75457Native: cache machinery uses stdlib cache with default runtime options even if custom runtime options are supplied when partial linkage is disabledKT-76615K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" for mixed Java/Kotlin codeKT-77220Annotation with EXPRESSION is not allowed on lambdas in Kotlin 2.2.0KT-76381K2: Expected expression 'FirPropertyAccessExpressionImpl' to be resolvedKT-74739Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION_REFERENCE"KT-74325Explicit API mode does not enforce explicit return types for extension propertiesKT-77259Confusing message forANNOTATION_WILL_BE_APPLIED_ALSO_TO_PROPERTY_OR_FIELDKT-73771K2: Infinite compilation caused by buildList without typeKT-61258Kotlin/Native: CLASS CLASS name: modality:FINAL visibility:local superTypes:[.Base]KT-75317Kotlin/Native: segfault in kotlin::gc::Markkotlin::gc::mark::ConcurrentMark::MarkTraitsKT-75965The iOS app did not run successfully in Release modeKT-77397Report UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL when calling declaration with contextual function type in signatureKT-77137K2: Controversial behavior allows resolving annotation arguments on a companion inside itKT-77150Native: compilation fails with an assertion errorKT-51960ClassCastException: Inline function with both context and extension receiver produces this when invokedKT-73611Remove -Xextended-compiler-checks in favor of a deprecation cycleKT-74649Deprecate language versions 1.8 and 1.9KT-77283Binary compatibility of FirDeclarationCheckerKT-73445K2: do not report "cannot infer visibility" when inheriting multiple implementationsKT-75945Indy: Allow lambdas with annotationsKT-76898K2: ClassCastException when data class shadows supertype'scomponentXmethod with wrong typeKT-75992Xcode 16.3: stacktraces on simulators are not symbolicatedKT-76805Wrong NPE occurs when assigning synthetic properties with platform types in Kotlin 2.1.20KT-76171"KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirSingleExpressionBlock' to be resolved"KT-77078K2: anonymous object is wrongly allowed to implement interfaces by unsafe DelegationKT-72722Treat 'copy' calls of a data class as explicit constructor usagesKT-77001Leave ForbidParenthesizedLhsInAssignments as a warningKT-75828Store backing field/delegate annotations and extension receiver annotations in metadataKT-58369K2: enable DFA warningsKT-51258Annotations should go before context receiversKT-76253K2 Compiler: Less precise diagnostic COMPONENT_FUNCTION_AMBIGUITY for flexible typeKT-59526Store annotation default values in metadata on JVMKT-63850K2: setter with an annotated parameter hasisNotDefault == falseflag in metadataKT-75712-Wextra: false positive UNUSED_LAMBDA_EXPRESSION on functional type variable assignment with inferred typeKT-4779Generate default methods for implementations in interfacesKT-69624Debugger: Missing local variable in Variables view (inline function)KT-75518NO_CONTEXT_ARGUMENT should report the name of the context parameter in addition to the typeKT-76199Introduce -Xcontext-sensitive-resolution compiler flagKT-75553MISSING_DEPENDENCY_SUPERCLASSandMISSING_DEPENDENCY_SUPERCLASS_WARNINGis reported at the same time on the same elementKT-76159Obsolete error "'@JvmDefaultWithCompatibility' annotation is only allowed on interfaces" should be removedKT-76660False negative RETURN_NOT_ALLOWED in lambda in default argument leads to NoClassDefFoundError: $$$$$NON_LOCAL_RETURN$KT-76301Fail to infer types after syntactical changeKT-74999K2: KotlinNothingValueException within Extension FunctionKT-76675KIAEWA exception at KaFirDataFlowProvider with non-local return from nested inline callKT-75756Backend Internal error: Exception during IR lowering when trying to access variable from providedProperties in class within kotlin custom scriptKT-76345Enhance variable fixationKT-76578[FIR, K1/K2 Regression]lateinitis allowed on loop parametersKT-76448FirOverrideChecker: class ClsMethodImpl is not a subtype of class KtNamedDeclaration for factory VIRTUAL_MEMBER_HIDDENKT-73360Migrate K/JVM sources to new IR parameter APIKT-74852Kotlin/Native: allow caches for thread state checker and sanitizersKT-76130IR evaluator does not support array literals in annotation parameter default valuesKT-76436Missing K2 checker: non-local return through lambda passed to inline f/oKT-74326False negative: no variable must be initialized error though code doesn't compileKT-76572FIR_NON_SUPPRESSIBLE_ERROR_NAMES does not contain deprecation errorsKT-75704RefactorFirWhenSubjectExpressionKT-76284Flexible captured type is not approximated in receiver positionKT-76192RETURN_TYPE_MISMATCH with same expected and actual type: nullability of actual type is omittedKT-75944Allow using invokedynamic for lambdas with no 'Runtime' level retention annotationsKT-76396FirIntegerConstantOperatorScope: NoSuchElementException: Collection contains no element matching the predicateKT-76209CONFLICTING_UPPER_BOUNDS onNothingboundKT-59506Context receivers: Unable to use trailing comma in receiver listKT-46119NONE_APPLICABLE instead of NAMED_ARGUMENTS_NOT_ALLOWED with overloaded Java constructor callKT-75503Run lazy resolution in CallableCopyTypeCalculator and use withForcedTypeCalculator everywhere in checkersKT-76485Don't report EXTENSION_SHADOWED_BY_MEMBER if extension can be called with named argumentsKT-76154False positive "EXTENSION_SHADOWED_BY_MEMBER" when extension adds default values to parametersKT-76527False positive UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL with -Xcontext-receivers and implicit invokeKT-63246K2: False positive NOTHING_TO_OVERRIDE in generic property with context receiver in non generic class extending generic classKT-58534K2: "Argument type mismatch" with typealias to context receiver functional typeKT-71792Switch latest stable version in Kotlin project to 2.2KT-74827CompilationErrorException : Could not load module in an attempt to find deserializer when trying to evaluate an expressionKT-70352K2: False-negative CONFLICTING_UPPER_BOUNDS onNothingboundKT-71481K2: drop pre-1.6 language features from compiler codeKT-74454Support trailing comma in context parametersKT-74069False positive UNUSED_EXPRESSION due to Long/Int conversionKT-74337Local Delegated properties don't preserve their annotations and don't show up in reflectionKT-55187Context receivers in function types can have labelsKT-58498Context receivers: ClassCastException with object and extension function in interfaceKT-58165K2: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER" on overridden contextual propertyKT-75234Add error for callsInPlace contracts on context parametersKT-73805K2: Investigate missing diagnostic in implicit invoke call on context function type with receiver from module with disabled context parametersKT-41934NI: a type variable for lambda parameter has been inferred to nullable type instead of not null oneKT-75983Backend Internal error: Exception during IR lowering 'IllegalStateException: Internal error: cannot convert Any to Int'KT-75535Compilation of typealias does not check for clashesKT-72313K2 IDE / KMP Debugger: Evaluation of inline functions declared in a common source set causes a crashKT-76290False positive UNUSED_EXPRESSION while returning Unit in the when branchesKT-32358NI: Smart cast doesn't work with inline function after elvis operatorKT-76316K2: Missing NON_PUBLIC_CALL_FROM_PUBLIC_INLINE on object extending private class in public inline functionKT-76324Frontend diagnostic says "... this will be an error in Kotlin N.M" but N.M is already releasedKT-76058PCLA: compile-time failure on calling a higher-order function from another module inside a lambda assigned to a variable of a type with a postponed type variableKT-75571K2: type mismatch error provides unsubstituted typesKT-31391'Recursive call is not a tail call' with elvis operator in tailrec functionKT-73420False-positiveNON_TAIL_RECURSIVE_CALLon tailrec function with elvis in the return statementKT-75815Disable warnings about different context parameter names in overridesKT-75169Unnecessary EXTENSION_SHADOWED_BY_MEMBER on generic declarationsKT-75483Native: redundant unboxing generated with smart castKT-76339K2: Dangling modifier list is missed for enum entries in PSI modeKT-75513Avoid overrides traversal without preinitializationKT-74587Report an error when JvmDefaultWithoutCompatibility is used with -Xjvm-default=allKT-76257Annotations with class references are not supported when marking IR declarations as visible to metadataKT-71793Drop language versions 1.6 and 1.7KT-59272Incorrect bytecode generated: wrong line number table after conditionKT-69248K2: IAE “class KtDotQualifiedExpression is not a subtype of class KtCallExpression for factory ENUM_CLASS_CONSTRUCTOR_CALL” with qualified enum constructor callKT-73778Kotlin Debugger: NSFE on accessing private property from dependencies during evaluationKT-74131Incorrect line numbers for static initializer with delegated local variableKT-76320K2: PsiRawFirBuilder: import alias triggers ast loadingKT-63851K2: NosetterValueParameterin metadata for property setter with an annotated parameterKT-55083JVM: AbstractMethodError caused by lambda with sealed base interface and fun sub interface and overridden methodKT-16727Names for anonymous classes in interfaces are malformed on JDK 8KT-12466NoClassDefFoundError: B$DefaultImpls on super interface call through K-J-K inheritanceKT-71002Possible inheritance from nullable type through typealiasKT-75293K2: Missing [HAS_NEXT_FUNCTION_TYPE_MISMATCH] diagnosticsKT-75498Forbid .declarations access from checkersKT-72335KotlinIllegalArgumentExceptionWithAttachments when using illegal selectorKT-68375K2: FirPrimaryConstructorSuperTypeChecker fails on generated superclassesKT-71718K2: drop TypePreservingVisibilityWrtHackKT-75112FE resolves wrong receivers order for property passed to delegateKT-75924K2. Incorrect generic type Inference "R? & Any" appears for "Add explicit type arguments"KT-75969java.lang.IllegalArgumentException: source must not be null on red codeKT-75322ConeDiagnosticToFirDiagnosticKt: source must not be nullKT-73800Wrong method executed on super call in -Xjvm-default=all/all-compatibility with an extraneous super-interfaceKT-38029Wrong method executed on super call in diamond hierarchy with covariant overrideKT-75242Any use-site target can be applied to a lambda and an expressionKT-73051incorrect direction of subtyping violation in type mismatch error's message for A<X> </: A<Y> given a Tv <: Rv == C constraint from a lambda return positionKT-75090Argument type mismatch: actual type is 'SuspendFunction0', but 'SuspendFunction0' was expected when anonymous function is passed to function expecting suspend function typeKT-74956K2: No USAGE_IS_NOT_INLINABLE with compiling an inlined function callKT-76049K2: drop explicitTypeArgumentIfMadeFlexibleSynthetically creation when DontMakeExplicitJavaTypeArgumentsFlexible is enabledKT-76055K2: drop prepareCustomReturnTypeSubstitutorForFunctionCall logic when DontMakeExplicitJavaTypeArgumentsFlexible is enabledKT-76057K2: don't do reverse Java overridability checks when DontMakeExplicitJavaTypeArgumentsFlexible is enabledKT-75197K2: Missing [COMPARE_TO_TYPE_MISMATCH] diagnosticsKT-75639Inlinecontextfunction leads toClassCastExceptionKT-75677K2: change runtime behavior of KT-75649 case in 2.2KT-75961K2:PsiRawFirBuilder.Visitor#visitSimpleNameExpressionforces AST loading viagetReferencedNameElement().node.textKT-67869Make inference for lambda working consistently inside and outside of the callKT-74885K2: IAE "source must not be null" in FirCyclicTypeBoundsCheckerKT-75578K2: False negative [SUPER_CALL_WITH_DEFAULT_PARAMETERS] when calling the upper-class implementation of a method with the default value argumentKT-73954Generate implementations in classes for inherited non-abstract methods in -Xjvm-default=all-compatibilityKT-75173Context parameters: KotlinIllegalArgumentExceptionWithAttachments if you override function with value/extension parameter by fun with contextKT-75742Native: "IllegalArgumentException: unknown pass name '' " when specifying an empty list of LLVM passesKT-74819K2: False-positive overload resolution ambiguity for flatMap inside PCLAKT-75093K2 IDE: "Unreachable code" highlighting range is confusingKT-74572Context parameters: contracts don't work with context parametersKT-74765Move K1 lazy IR implementation from 'ir.tree' to 'psi2ir'KT-71425IR Inliner: investigate return type of an inlined blockKT-74764Native: merge init nodes generated within the same LLVM module for the same klibKT-75561K/N: place InteropLowering after UpgradeCallableReferences phaseKT-73369K/N: move interop lowering up the pipelineKT-75517K2: Refactor FirCallableSymbol.resolvedContextParameters to return symbolsKT-75821K2: REPL resolution doesn't take into account the property type when processing its initializerKT-75705IllegalArgumentException when isInitialized is used with java fieldKT-75334Java target shouldn't be specified if Kotlin target isn't specifiedKT-75157Missing PARAMETER_NAME_CHANGED_ON_OVERRIDE and DIFFERENT_NAMES_FOR_THE_SAME_PARAMETER_IN_SUPERTYPES for context parametersKT-75160Check usages of value parameters in checkers and adapt to context parametersKT-75729KtPsiFactory: no type-safe way to create triple-quoted KtStringTemplateExpressionKT-75040UnifysubjectandsubjectVariableinFirWhenExpressionKT-75323FirSyntheticProperty: Unexpected status. Expected is FirResolvedDeclarationStatus, but was FirDeclarationStatusImplKT-75602Introduce concept of shared library session in Fir sessionsKT-75509PARAMETER_NAME_CHANGED_ON_OVERRIDE is reported randomlyKT-75124IAE “class org.jetbrains.kotlin.psi.KtContextReceiver is not a subtype of class org.jetbrains.kotlin.psi.KtParameter for factory EXPOSED_PARAMETER_TYPE” on private context receiverKT-73585K2: ABSTRACT_SUPER_CALL is not reportedKT-75531K2 REPL: local name doesn't shadow one from implicit receiverKT-73359Migrate frontend sources to new IR parameter APIKT-75380K2: Modality is configured incorrectly for some FirDefaultPropertyAccessorKT-75526Regression in K2 scripting: local name doesn't shadow one from the implicit receiverKT-59379K2: Missing MIXING_NAMED_AND_POSITIONED_ARGUMENTSKT-75106K2: type parameters of anonymous functions are unresolvedKT-73387Unexpected implicit type during enhancementKT-72618Cannot define operator inc/dec in class contextKT-74546Serialize context parameters to metadataKT-68768K2: unsuccessful inference fork with jspecify annotationsKT-75345Add a test for KT-42271KT-75012K2: Compiler crash ondynamic == nullKT-75195IllegalStateException: No value for annotation parameter when@allmeta-target is used with annotation with constructorKT-75163WRONG_ANNOTATION_TARGET_WITH_USE_SITE_TARGET for@allmeta-target although there are applicable targetsKT-75198@allmeta-target should be forbidden for delegated propertiesKT-74958K2: UNEXPECTED_TRAILING_LAMBDA_ON_A_NEW_LINE isn't reported on accidental trailing closureKT-74982Improve UNSUPPORTED message handlingKT-75111False negative "This declaration needs opt-in" for usage of enum entry with OptIn marker in another moduleKT-74924Infinite recursion in substitution of captured type with recursive supertypeKT-75289NPE: getParent(...) must not be nullKT-75275Inline class member inherited from interface is not mangled in '-Xjvm-default=all-compatibility'KT-74340FIR: folding binary expression chains for psi parserKT-73831Do not choosefieldtarget in annotation classesKT-73494Enable first-only-warn annotation defaulting modeKT-75174K2: incorrect influence of return type nullability on required receiver type in KJK hierarchy with propertyKT-74920Overriding T! with T & Any is not allowed to the extension property receiver typeKT-75150False ambiguous context parameter reported because context is not chosen via generic parameterKT-74965CLI compiler doesn't report syntax errors for JS, Metadata backends if light-tree mode is disabledKT-74303K2 IDE / Kotlin Debugger: AE “Trying to inline an anonymous object which is not part of the public ABI” on evaluating private inline function with object insideKT-75177NoSuchMethodError on suspend default interface method fake override returning inline class in -Xjvm-default=all-compatibilityKT-74718K/N: Move TestProcessor phase to the top of the pipelineKT-75015Context parameters: it is possible to declare anonymous function with modifiers but they don't have any effectKT-75092K2: Missing errors for modifiers on anonymous function in statement positionKT-75009Context parameters: context is unresolved inside anonymous function if passed as an argumentKT-75017Context parameters: "IllegalStateException: Cannot find variable a: R|kotlin/String| in local storage " when context from another local function is calledKT-75154Context receiver deprecation warning should depend on langauge version, not on LATEST_STABLEKT-74979Context parameters: anonymous functions with a context aren't parsed in complex casesKT-74673K2: ClassCastException when passing suspending functional interface with genericKT-74469K2: False positive: "Argument type mismatch" during Java interopKT-75105K2: False negative NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER for type constraint of anonymous functionKT-74929False positive TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER if it is used with T&AnyKT-74227K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function typeKT-64558K2 compiler does not report UNNECESSARY_SAFE_CALL, UNNECESSARY_NOT_NULL_ASSERTION, USELESS_ELVIS, while K2 IDEA doesKT-74728K2: Java method overriding Kotlin method with receiver loses vararg modifierKT-70789CLI error "mixing legacy and modern plugin arguments is prohibited" on using -Xcompiler-plugin unless default scripting plugin is disabledKT-72829Forbid 'entries' name of enum entry, and deprioritize it in resolveKT-75037K2: IrGeneratedDeclarationsRegistrar.registerFunctionAsMetadataVisible doesn't handle extension receivers and context parametersKT-73149Annotations support for context parametersKT-74798Report error on local contextual propertiesKT-74092Context parameters: it is not possible to declare an anonymous function with a contextKT-52152K2: Investigate suspicious code at SAM conversionsKT-75016K2: BackendException when context var property is declared in interfaceKT-74474K2: Report more precise diagnostic when last expression of non-unit lambda is a statementKT-74478K2: False negative RETURN TYPE_MISMATCH if the last statement of a lambda is indexed assignmentKT-73685K2 IDE / Kotlin Debugger: NSME “Method not found” on evaluating function with constant value in@JvmNameKT-74449Report RETURN_TYPE_MISMATCH instead of ARGUMENT_TYPE_MISMATCH for return expressions in lambdasKT-74918FIR: account for K/Wasm diagnostics in generateNonSuppressibleErrorNamesFileKT-74897K2: Report UNSUPPORTED_FEATURE instead of TOPLEVEL_TYPEALIASES_ONLY for nested type aliasesKT-74963K2: Fir2Ir: Avoid a situation when startOffset > endOffset in generated IrBranchKT-74697Overriding a method that's both deprecated and non-deprecated should not cause warningsKT-74928K2: "IllegalStateException: Cannot find cached type parameter by FIR symbol" in KJK hierarchy with extension propertyKT-74630K2: local class arguments in annotations on types and type parameters are not serializedKT-74445Commonize Native Function/Property reference loweringsKT-74670Warning message CONTEXT_CLASS_OR_CONSTRUCTOR isn't reported for context receiver on the constructorKT-74617Trivial SMAP optimization leads to missing debug info after inlineKT-74812compile-time failure on a callable reference with an input type inferred to an inaccessible generic typeKT-66195K2: Java method is not enhanced from overridden's context receiversKT-74501Context parameters: ABSTRACT_MEMBER_NOT_IMPLEMENTED if fun with context is implemented in Java in KJK hierarchyKT-74385Missing diagnostic on repeated suspend modifier in function typeKT-74749Provide explanation IR before script compilationKT-74751K2: IllegalStateException: Can't apply receivers of FirPropertyAccessExpressionImpl to IrTypeOperatorCallImplKT-74729NPE when suspend lambda has inline class parameterKT-74336Not supported: class org.jetbrains.kotlin.fir.types.ConeIntersectionTypeKT-74203K2: False negative NO_ELSE_IN_WHEN of a generic type with star projection <*> bounded by a sealed hierarchyKT-48085Kotlin/Native: LLD removes live code with--gc-sectionswhen producing DLLKT-69164Native: use lld from bundled LLVM distribution when compiling on Windows for a MinGW targetKT-74081Context parameters: implicit call resolves to extension when there is a contextKT-74682Implement internal type exposure via parameter bounds deprecation postponementKT-74556K2: "IAE: class KtDestructuringDeclaration is not a subtype of class KtNamedDeclaration for factory REDECLARATION" with two non-local destructuring declarationsKT-73146Context parameters CLI & diagnosticsKT-72104Consider enabling check for unbound symbols in JVM before loweringsKT-74568Synthetic nested classes missing JVM attributesKT-73703[Native] Move KonanIrLinker toserialization.nativemoduleKT-61175K2: FirReceiverParameter does not extend FirDeclarationKT-73961'lateinit is unnecessary' on transient properties should not be reported for serializable classesKT-73858Compose / iOS: NullPointerException on buildingKT-62953JVM IR: UseSimpleNamedCompilerPhaseinstead ofNamedCompilerPhaseKT-72929Consider caching typealiased constructor symbols created by TypeAliasConstructorsSubstitutingScopeKT-74459K2: false positive MISSING_DEPENDENCY_CLASS for types inside default argumentKT-73705[Native] Decouple native caches support from KonanIrLinker and KonanPartialModuleDeserializerKT-74091K2:@JvmOverloads-produced overloads have generated line number tableKT-69754Drop -Xuse-k2 compiler flagKT-73352K2: false negative ARRAY_EQUALITY_OPERATOR_CAN_BE_REPLACED_WITH_EQUALSKT-72962Consider enabling ConsiderForkPointsWhenCheckingContradictions LF earlierKT-73027IllegalStateException: Annotation argument value cannot be null: sinceKT-74242Freeze onrunCatchingcall infinallyblock inside SAM conversionKT-29222FIR: consider folding binary expression chainsKT-73760Cannot implement two Java interfaces with@NotNull-annotated type argument and Kotlin's plain (nullable) type parameterKT-58933Applying suggested signature from WRONG_NULLABILITY_FOR_JAVA_OVERRIDE leads to red codeKT-70507Should parentheses prevent from plus/set operator desugaring?KT-67520Change of behaviour of inline function with safe cast on value typeKT-67518Value classes leak their carrier type implementation details via inliningKT-72305K2: Report error when using synthetic properties in case of mapped collectionsKT-71226K2 Evaluator: Code fragment compilation with unresolved classes does not fail with exceptionKT-70233Implement a deprecation error for FIELD-targeted annotations on annotation propertiesKT-67517Value class upcast to Any leaks carrier type interfacesKT-72814FIR: don't use function references in FirThisReferenceKT-73153K2: Standalone diagnostics on type arguments are not reportedKT-73011K2: Allow overloads resolution for callable references based on expected type variable with constraintsKT-70139Remove dependencies of debugger on K1 and old JVM backendKT-69223Drop parallel lowering mode in JVM backendKT-7461Forbid using projection modifiers inside top-level Array in annotation's value parameterKT-53804Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlibKT-52774Resolve unqualified enum constants based on expected typeCompose compiler
New features
v2.1.21: Kotlin 2.1.21Changelog
Backend. Native. Debug
KT-75991Xcode 16.3: Fix lldb stepping test over an inline functionCompiler
KT-75992Xcode 16.3: stacktraces on simulators are not symbolicatedKT-76663KJS: KotlinNothingValueException caused by expression return since 2.1.20KT-75756Backend Internal error: Exception during IR lowering when trying to access variable from providedProperties in class within kotlin custom scriptKT-76209CONFLICTING_UPPER_BOUNDS onNothingboundKT-70352K2: False-negative CONFLICTING_UPPER_BOUNDS onNothingboundKT-74739Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION_REFERENCE"KT-75483Native: redundant unboxing generated with smart castKT-71425IR Inliner: investigate return type of an inlined blockNative
KT-76252Native: executable crash with generic value classes with 2.1.20Native. C and ObjC Import
KT-75781Xcode 16.3: Fix cinterop tests failing with fatal error: could not build module '_stdint'Native. Runtime. Memory
KT-74280Native: GC.collect crashes with -Xallocator=stdTools. CLI
KT-75588[2.1.20-RC] "was compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" warnings despite using the same compiler versionKT-74663kotlinc-js CLI: not providing -ir-output-dir results in NullPointerExceptionTools. Compiler Plugins
KT-76162"IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" after updating to 2.1.20Tools. Gradle
KT-73682Compatibility with Gradle 8.12 releaseKT-73142Kotlin Gradle plugin: Remove usage of Gradle's internal ExecHandleBuilderKT-36004Update 'org.gradle.usage' attribute rules to support the 'JAVA_API' and 'JAVA_RUNTIME' valueKT-73968KotlinDependencyManagement tries to mutate configuration after it was resolvedKT-73684Run integration tests against Gradle 8.12KT-72694Accessing Task.project during execution is being deprecated in Gradle 8.12KT-73683Compile against Gradle API 8.12Tools. Gradle. JS
KT-77119KJS: Gradle: Setting custom environment variables in KotlinJsTest tasks no longer worksKT-74735KGP uses Gradle internalCompositeProjectComponentArtifactMetadataKT-71879Notice of upcoming deprecation for Boolean 'is-' properties in Gradle Groovy scriptsTools. Gradle. Multiplatform
KT-75808KGP: MPP with jvm target and Gradle java-test-fixtures is brokenKT-75605Dependency resolution fails in commonTest/nativeTest source sets for KMP module when depending on another project due to missing PSMKT-75512Maven-publish: ArtifactId is not correct inpomfile with customizedwithXmlTools. Incremental Compile
KT-62555Wrong ABI fingerprint for inline function containing a lambdaKT-75883Follow-up: switch from INSTANCE heuristic to outerClass chainTools. Kapt
KT-75936K2 KAPT: unsupported FIR element kinds in constant evaluationKT-75942K2 KAPT: underscore not allowed hereTools. Scripts
KT-76424Dependencies in main.kts not working with 2.1.20KT-76296Kotlin script compiler crashes when secondary constructor calls a functionKT-75589Scripts: "IndexOutOfBoundsException in jdk.internal.util.Preconditions.outOfBounds" when trying to extend a class which uses global variableTools. Wasm
KT-76161Wasm: "export startUnitTests was not found" after updating to Kotlin 2.1.20v2.1.20: Kotlin 2.1.20Changelog
Analysis API
Fixes
KT-68198Analysis API: Support application service registration in plugin XMLsKT-57733Analysis API: Use optimizedModuleWithDependenciesScopes in combined symbol providersKT-73156AA: type retrieval for erroneous typealias crashesKT-71907K2 debugger evaluator failed when cannot resolve unrelated annotationKT-69128K2 IDE: "Unresolved reference in KDoc" reports existing Java class in reference to its own nested classKT-71613KaFirPsiJavaTypeParameterSymbol cannot be cast to KaFirTypeParameterSymbolKT-71741K2 IDE. Classifier was found in KtFile but was not found in FirFile inlibraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.ktsinkotlin.gitand broken analysisKT-71942Need to rethrow Intellij Platform exceptions, like ProcessCanceledExceptionKT-70949Analysis API: "containingDeclaration" does not work on nested Java classes in K2 implementationKT-69736K2 IDE: False positive resolution from KDoc forvalueKT-69047Analysis API: Unresolved KDoc reference to extensions with the same nameKT-70815Analysis API: Implement stop-the-world session invalidationKT-69630KAPT User project builds with KAPT4 enabled fail with Metaspace overflowAnalysis API. Code Compilation
KT-71263K2 evaluator: Error in evaluating self property with extension receiverAnalysis API. FIR
Performance Improvements
KT-72025FileStructureElement: reduce redundant resolveKT-74012RedundantFirAbstractBodyResolveTransformerDispatcher.<init>CPU consumptionKT-73900ContextCollectorVisitor#computeContext may spend significant time oncreateSnapshotKT-73665FirElementFinder is inefficient in large filesKT-73330Remove bodies from functions without contracts after the CONTRACTS phaseKT-73017Analysis API:FirReferenceResolveHelper.getSymbolsByResolvedImportsearches for classes even when the selectedFqNameis a known packageFixes
KT-72308getOrBuildFir returns null for this expression for plusAssign operatorKT-72660ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValueKT-74097ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValueKT-74098ISE: Recursive update at org.jetbrains.kotlin.analysis.low.level.api.fir.caches.FirCaffeineCache.getValueKT-72148K2: KISEWA: Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(DataClassMember) but FirArgumentListImpl foundKT-73079K2: Internal compiler error when conflicting type aliases are presentKT-73456Expected FirResolvedContractDescription but FirRawContractDescriptionImpl found for FirSimpleFunctionImplKT-73259Expected FirResolvedContractDescription but FirLegacyRawContractDescriptionImpl found for FirSimpleFunctionImplKT-72740FirDanglingModifierList:lazyResolveToPhase(STATUS)cannot be called from a transformer with a phase STATUSKT-66132K2: FirRegularClass expected, but FirFileImpl found | Containing declaration is not foundKT-72196K2. KMP. IllegalStateException: expect-actual matching is only possible for code with sourcesKT-72652FirProvider#getContainingClassshould supportFirDanglingModifierSymbolKT-73105Lazy resolve contract violation (BODY_RESOLVE from BODY_RESOLVE)KT-66261K2: Analysis API: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" with MULTIPLE_LABELS_ARE_FORBIDDEN K2 errorKT-72315K2. KIWA on usage of always-true OR in guard conditionKT-65707K2 IDE: unresolved calls of callables imported with typealias as qualifierKT-61516K2: Provide an LL FIR implementation forgetContainingClassSymbol(inFirHelpers)KT-72853Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirContextReceiverImpl(Source) but FirArgumentListImpl foundKT-64215K2: do not resolve type annotations of receiver if it is used as an implicit return typeKT-64248K2: do not resolve type annotations of context receiver if it is used as an implicit return typeKT-72821Add assertion to diagnostic tests to check that all declarations have BODY_RESOLVE phase at the endKT-64056K2: K2: FirLazyBodiesCalculator shouldn't calculate annotation arguments on type phaseKT-71651K2 IDE: False positive NON_LOCAL_SUSPENSION_POINT in suspend function callKT-72164K2. IllegalArgumentException when pre and post increment are used simultaneously in assignmentKT-71174Illegal scope usedKT-72407FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessingKT-72228K2: Reformat doesn't work in project with Kotlin2.0.21KT-69671TYPES phase contract violation through JavaSymbolProviderKT-71348K2: KotlinIllegalStateExceptionWithAttachments: 'By now the annotations argument mapping should have been resolved' during code inspectionKT-72024FirClassVarianceChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-71746K2 IDE.ISE: Zero or multiple overrides found for descriptor in FirRegularClassSymbol serializing/ExternalSerializerand red code on@Serializer(forClass) ` usageAnalysis API. Infrastructure
KT-72922KotlinFakeClsStubsCache project leakageKT-71988Improve scripts test coverage by LL FIRKT-64687K2: Analysis API: migrate AbstractFirLibraryModuleDeclarationResolveTest to kotlin repoAnalysis API. Light Classes
KT-73492K2. FP error in Java file when using@JvmSuppressWildcardsannotation without argumentsKT-66763K2: Get rid of context receivers in Analysis API and LL APIKT-71781SLC: migrate SLC from KotlinModificationTrackerService to KotlinModificationTrackerFactoryKT-67963K2: PsiInvalidElementAccessException on redeclaration of class with constructorKT-71407K2: Do not report@JvmFielddefault value as PsiField initializer in K2KT-72078K2 PSI change for constructor parameter with value class typeAnalysis API. Providers and Caches
KT-69247Analysis API: Invalidate sessions after builtins modification eventsKT-72704ISE: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(53) in array owner: LLFirBuiltinsAndCloneableSession for Builtins for JS/wasm-js (JS)KT-67148Analysis API: Introduce a weak reference cache for the originalKtSymbolinKtSymbolPointerKT-73395Analysis API:JavaElementPsiSourceWithSmartPointercontains strong references to PSIKT-72390Kotlin project full of red codeKT-72388KaFirStopWorldCacheCleaner: Control-flow exceptionsKT-72644"PSI has changed since creation" reason is misleadingAnalysis API. Standalone
KT-73776Analysis API Standalone: Application services are missing registrations in tests and DokkaKT-70346Analysis API Standalone: Remove the custom class loader option in Standalone session creationAnalysis API. Stubs and Decompilation
KT-69398K2 IDE: SOE on editing top level private variable nameKT-72897Analysis API: Smart PSI element pointers forKtEnumEntrystubs cannot be restoredKT-71565KtClassOrObject should use isLocal from greenStubAnalysis API. Surface
New Features
KT-73414Analysis API: Support typealiased constructors in KaConstructorSymbolKT-70301Analysis API: 'KaSamConstructorSymbol' does not allow to find the constructed SAM typeKT-68236Analysis API: addisExternalproperty for KtPropertySymbolKT-68598Analysis API: missed getClassLikeSymbolByClassId APIPerformance Improvements
KT-74112UI freeze:AnyThreadWriteThreadingSupport.getWritePermitKT-73942Extend resolveToSymbols cache to all referencesKT-73622CacheresolveToSymbolsresultKT-72684Drop explicit resolve from KaFirJavaInteroperabilityComponent#asPsiTypeElementKT-60486Analysis API: optimize KaExpressionTypeProvider.returnType for simple casesFixes
KT-70114K2: Analysis API: do not lazy resolve declarations without deprecation to get it deprecationKT-73406[Analysis API] Allow extending KaModule resolution scope for all KaModulesKT-65850Cover Analysis API with KDocsKT-72099Analysis API: implement an API to retrieve default importsKT-73662KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImplKT-70108Analysis API: "KaScopeProvider.scopeContext" provides scopes from implicit companion objects with inaccessible classifiersKT-68954Remove JAR publications with old artifact names (high-level-api family)KT-70134Analysis API: Port API documentation from the guide to KDocKT-72973Introduce KaSymbolOrigin.TYPE_ALIAS_CONSTRUCTORKT-70356analyzeCopy with IGNORE_SELF cannot find private membersKT-66783Analysis API:KtFirSymbolProvidercreates symbols when given PSI from unrelated modulesKT-72937Migrate KaFirReceiverParameterSymbol to KaFirSymbol/KaFirKtBasedSymbolKT-70243K2 IDE: PsiMethod.callableSymbol returnsnullfor constructorKT-66608SupportOperatorFunctionChecks#isOperatorin AAKT-73068Analysis API: AKaFirJavaFieldSymbolfor a static Java field is open instead of finalKT-73055Get rid of the deprecated Analysis API APIKT-65065ProvideKtTypeReference#getShortTypeText()KT-63800AA: this reference shortener doesn't simplify labelKT-72793Analysis API: 'expressionType' returns raw type for typealiased constructors callsKT-72658resolveToCalldoesn't work forKtSafeQualifiedExpressionKT-69930K2 IDE: Kotlin/JS project: ISE: "Unsupported type DYNAMIC_TYPE"KT-71373Make KaSessionProvider the internal APIKT-71869KaClassSymbol.superTypes for kotlin.Any contains kotlin.Any itself (K1-only)KT-64190K2 IDE: Analysis API: KDoc link leads to a function instead of interfaceKT-72075defaultTypeshould be available forKaClassifierSymbolinstead ofKaNamedClassSymbolKT-72002Analysis API: psi KaTypeParameterSymbol for default Java constructor is nullBackend. Native. Debug
KT-73306Native: add a way to specify a dir for the debug compilation unit fileKT-68536Native: bridges and trampolines affect stepping in the debuggerKT-72398Native: useDW_AT_trampolineforobjc2kotlin_*functions instead ofKonanHookinkonan_lldb.pyBackend. Wasm
KT-71868K/Wasm: support generating debug information in DWARF formatKT-71645[Wasm] Check wasm test runner for groupByPackage=true caseKT-72232Wasm, IC: Compilation exception on renaming of fileKT-73907Wasm: Duplication of files in browser distributionKT-72223Compiler generates an invalid glue-code for externals with backquoted identifiersKT-73015[Wasm, IC] Implement possibility for readonly IC cacheKT-71763K/Wasm: compiler generates incorrect code for is check on JsAnyKT-72156custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven publicKT-71037[Wasm, IC] Investigate how make kotlin.test not fully loaded in ICCompiler
New Features
KT-74049Introduce special override rule to allow overriding T! with T & AnyKT-73256Implementallmeta-target for annotationsKT-73255Change defaulting rule for annotationsKT-61447Support context receivers overloads in Kotlin multiplatformKT-67034Warning when a property hides a Java field from superclassKT-71092Native: Write out used dependenciesKT-71094Kotlin/Native incremental compilation: fail compilation if cache build failedKT-71569Improve diagnostic precision for OPT_IN_ARGUMENT_IS_NOT_MARKERPerformance Improvements
KT-73434Slow / infinite compile involving ConeInferenceContextKT-73328Do not spillthisto a local variable in coroutinesKT-69995K2: Slow compilation when star projecting mutually recursive bounds from javaKT-73687Inefficient KtCommonFile#getFileAnnotationListKT-45452K/N optimization: inline simple functions that aren't marked withinlinekeywordKT-64898K2: toFirProperty call in PsiRawFirBuilder forces AST loadingKT-71673Consider making EnhancementSymbolsCache. enhancedFunctions using simple cacheKT-71973KtPsiUtil#getEnclosingElementForLocalDeclaration shouldn't iterate over directoriesFixes
KT-75965The iOS app did not run successfully in Release modeKT-57696Deprecate JvmDefault annotation with level HIDDENKT-75578K2: False negative [SUPER_CALL_WITH_DEFAULT_PARAMETERS] when calling the upper-class implementation of a method with the default value argumentKT-74764Native: merge init nodes generated within the same LLVM module for the same klibKT-75444Contradictions in the constraint system are ignored in case of multiple constraints from forking pointsKT-75649K2: NPE on assigning platform type value to non-nullable lateinit varKT-75483Native: redundant unboxing generated with smart castKT-73028K2. FileAnalysisException on private property in ContextKT-73937Context parameters: IllegalArgumentException: source must not be null on lateinit var with a contextKT-74104Native: SynchronizedLazyImpl produces NPE on 2.1.20-Beta1 on mingwX64KT-71752K2: Absent non-null check for platform types in assignmentsKT-75526Regression in K2 scripting: local name doesn't shadow one from the implicit receiverKT-68131K2: build Grazie monorepo main branchKT-72618Cannot define operator inc/dec in class contextKT-74739Native: "IllegalArgumentException: All constructors should've been lowered: FUNCTION_REFERENCE"KT-68768K2: unsuccessful inference fork with jspecify annotationsKT-71943K2: IAE "source must not be null" in FirJvmModuleAccessibilityQualifiedAccessCheckerKT-75111False negative "This declaration needs opt-in" for usage of enum entry with OptIn marker in another moduleKT-73831Do not choosefieldtarget in annotation classesKT-73494Enable first-only-warn annotation defaulting modeKT-74929False positive TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER if it is used with T&AnyKT-74227K2: "Cannot infer type for this parameter. Please specify it explicitly" caused by lambda in another lambda with a parameterized function typeKT-70789CLI error "mixing legacy and modern plugin arguments is prohibited" on using -Xcompiler-plugin unless default scripting plugin is disabledKT-73903Design 'replaceWith' / 'test-only' kinds for the 'LanguageFeature' classKT-74474K2: Report more precise diagnostic when last expression of non-unit lambda is a statementKT-74478K2: False negative RETURN TYPE_MISMATCH if the last statement of a lambda is indexed assignmentKT-67480K/N: a separate inlining phase after the loweringsKT-72154Dokka fails withnot array: KClass<out Annotation>on Kotlin 2.1.20-dev with@SubclassOptInRequiredKT-72040Extra checkers: false-positive unused parameter warnings on anonymous lambda parametersKT-74203K2: False negative NO_ELSE_IN_WHEN of a generic type with star projection <*> bounded by a sealed hierarchyKT-63720Coroutine debugger: do not optimise out local variablesKT-74024K2: Prohibit declaring local type aliasesKT-73146Context parameters CLI & diagnosticsKT-73251Warn users about removal of context classes and constructorsKT-72222Context parameters parsing & resolution part 1KT-61175K2: FirReceiverParameter does not extend FirDeclarationKT-73858Compose / iOS: NullPointerException on buildingKT-73864[Native] DecoupleIrType.computePrimitiveBinaryTypeOrNullfrom backend.nativeKT-73122Move the upgrade references lowering to be first one in Native pipelineKT-73608K2: "Initializer type mismatch" with map and typealias to objectKT-73691DCE removes static initializer function, which is actually calledKT-74147K2: False negative INCONSISTENT_TYPE_PARAMETER_VALUESKT-73454K2: Fix type parameters mapping for typealiases with inner RHSKT-73043K2 Compiler does not allow references to inner constructors with typealiasesKT-74040Compilation of inner class usage does not check the visibility of parent class during compilation in different roundsKT-74195Fully qualified names in error messages make them complicatedKT-74221MakeFirSupertypesCheckera platform checkerKT-72962Consider enabling ConsiderForkPointsWhenCheckingContradictions LF earlierKT-74242Freeze onrunCatchingcall infinallyblock inside SAM conversionKT-29222FIR: consider folding binary expression chainsKT-73760Cannot implement two Java interfaces with@NotNull-annotated type argument and Kotlin's plain (nullable) type parameterKT-58933Applying suggested signature from WRONG_NULLABILITY_FOR_JAVA_OVERRIDE leads to red codeKT-74107K2: Calling type alias constructor with inner RHS in static scope causes runtime crashKT-74244Context parameters: context isn't checked for expect/actual property declarationKT-74276Update ASM from 9.0 to 9.6.1KT-72737Avoid function references creation in lowerings after FunctionReferenceLoweringKT-72295K2: Generated accessors for delegated property should have property sourceKT-73150Investigate/test approximation of context parameter type in completionKT-73862[Native] Decouple NativePreSerializationLoweringContext from backend.nativeKT-70507Should parentheses prevent from plus/set operator desugaring?KT-72677K2 IDE / Kotlin Debugger: “Couldn't find virtual file for p1/MainKt$foo$iface$1” on evaluating inline function from another moduleKT-72672K2 IDE / Kotlin Debugger: “Couldn't find virtual file” on evaluating inline function for enum class entries from test moduleKT-73912Cannot evaluate inline methods from another module in KMP projectKT-73765K2: Prohibit nested type aliases with inner RHS when it captures type parameters implicitlyKT-73869[Native] Move KonanSymbols out ofbackend.nativeKT-73823Kotlin/Native: IndexOutOfBounds for java.util.Map::getOrDefaultKT-73755K2: type mismatch error contains unsubstituted type parameter typesKT-72837ERROR_IN_CONTRACT_DESCRIPTION message contains compiler internalsKT-73771K2: Infinite compilation caused by buildList without typeKT-67520Change of behaviour of inline function with safe cast on value typeKT-67518Value classes leak their carrier type implementation details via inliningKT-71767Generate default compatibility bridges in -Xjvm-default=all/all-compatibility modeKT-73716Context parameters expose visibilityKT-73671Context parameters: val/var on context parameter on a property is possibleKT-73510Context parameters: It is possible to declare a context for init blockKT-72305K2: Report error when using synthetic properties in case of mapped collectionsKT-72429StackOverflowError when compiling large filesKT-72500K2 Debugger: NSME on evaluating lambda with a call to internal class fieldKT-73845K2: IllegalArgumentException during FIR2IR transformation when processing nested default values in annotationsKT-73538K2 IDE / Kotlin Debugger: ISE “couldn't find inline method" on evaluating internal inline function with default arg from main module in test moduleKT-73347K2: Expected is FirResolvedDeclarationStatusKT-71226K2 Evaluator: Code fragment compilation with unresolved classes does not fail with exceptionKT-73902Clean-up code around lateinit inline/value classesKT-73693K2: DslMarker checker doesn't report violation for callable reference with bound receiverKT-73667K2: DslMarker checker ignores function type annotations for invokeExtensionKT-72797K2 IDE / Kotlin Debugger: AE “No such value argument slot in IrCallImpl” on evaluating inc()-operator for private fieldKT-68388Compiler crash on convesion to fun interface with extension receiverKT-73801False positive CONFLICTING_OVERLOADS between base suspend fun and derived propertyKT-62833K2: Run smoke FP tests with SLOW_ASSERTIONS enabledKT-54068Context receivers with lambda nesting result in Type mismatchKT-51383Lambdas with context receivers do not accept context receivers from scopeKT-73331Context parameters implicit invokeKT-73650Implement DIFFERENT_NAMES_FOR_THE_SAME_PARAMETER_IN_SUPERTYPES for K2KT-73745Migrate modularized tests to the latest stable versionKT-70233Implement a deprecation error for FIELD-targeted annotations on annotation propertiesKT-72996false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operatorKT-73791Forbid usinginlineandvalueclass modifiers togetherKT-73704[Native] Decouple KonanIrLinker from cinterop deserializationKT-73641Context parameters DSL marker supportKT-59880K2: Disappeared CONFLICTING_OVERLOADSKT-73339K2: "VerifyError: Bad type on operand stack" because of missing implicit cast on generic field receiver with star projectionKT-72585K2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace top-level type with star projection: SKT-59443K2: Implement missing K1 diagnosticsKT-67517Value class upcast to Any leaks carrier type interfacesKT-73527Prohibit (via a deprecation warning) accessing nested class through generic outer classKT-72852JAVA_CLASS_ON_COMPANION compiler warning missing in K2KT-71704K2: subAtom already initializedKT-73399compile-time JVM codegen failure on a KProperty argument of a KSuspendFunction parameterKT-72281K/N: "Failed to wait for cache to be built"KT-73049Kotlin Debugger: CNFE on evaluating local function inside lambdaKT-72725KMP: Unsupported actualization of inherited java field in expect classKT-73476K2: Visibility of nested type aliases is not respected if RHS is innerKT-72957K2: Don't use offsets for mapping annotations from IR plugins injected into metadataKT-72814FIR: don't use function references in FirThisReferenceKT-73143Context parameters resolution leftoversKT-71649K2: Put operator on mutableMap<T?, V>() causes crashes on null keyKT-72832Erroneous implicit cast inserted by smartcastKT-72930K2 IDE / Kotlin Debugger: ISE “couldn't find inline method” on evaluating internal inline function from main module in test moduleKT-73095K2: "Failed to find functional supertype for ConeIntersectionType"KT-70366K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class "KT-73260Rename context receivers to context parameters in frontendKT-73375K2/JVM: -Xuse-type-table generates incorrect metadata for local delegated propertiesKT-72470Annotations on effect declarations are unresolvedKT-72409False negative "Type parameter is forbidden for catch parameter"KT-72723K2: Replace unused FIR properties required by inheritence with computed propertiesKT-72246Exception from FirReceiverAccessBeforeSuperCallChecker on red codeKT-47289No error on companion object inside inner class in enum constructor callKT-46120No error reported when Java interface method is implemented by delegation to Java class where corresponding method has different generic signatureKT-72746K2: No IR overriddens generated for Nothing.toStringKT-70389K2: StackOverflowError at org.jetbrains.kotlin.fir.resolve.calls.CreateFreshTypeVariableSubstitutorStage.shouldBeFlexibleKT-72537[FIR Analysis] 'IllegalArgumentException: source must not be null' when typing '++++' (four pluses)KT-73010K2: RefactorDispatchReceiverMemberScopeTowerLevel.processMembersKT-72924Extension property declaration shouldn't be possible in whenKT-72826UNUSED_LAMBDA_EXPRESSION compiler warning missing in K2KT-25513Report compilation error when in generated JVM bytecode there is a need for CHECKCAST to inaccessible interfaceKT-73153K2: Standalone diagnostics on type arguments are not reportedKT-71252JVM: Set the proper visibility to backing fields of lateinit propertiesKT-73213K2: Initialize outer type parameter refs for inner (local) type aliases during FIR buildingKT-73215Set up isInner property for inner type aliases during FIR buildingKT-73088K2: Introduce NestedTypeAliases experimental featureKT-73192K2: FirJavaField has incorrect modalityKT-60310K2: introduce FirErrorContractDescription to distinguish unresolved contract from error oneKT-73008K2: Resolve nested type aliases in derived classesKT-73009K2: Treat nested type aliases as classes during supertypes resolution (they are not inner by default)KT-59886K2: Disappeared ERROR_IN_CONTRACT_DESCRIPTIONKT-72839Rewrite processConstraintStorageFromExpression using resolution atomsKT-73147Context parameters FIR2IR supportKT-72789Fix inconsistent IR produced by ScriptsToClassesLowering for script instance featureKT-66711K2: INITIALIZER_TYPE_MISMATCH is reported on the whole lambda instead of RETURN_TYPE_MISMATCH on each return expressionKT-73011K2: Allow overloads resolution for callable references based on expected type variable with constraintsKT-73031K2: Callable reference unresolved inside elvis with a complex function typeKT-66161K2: False-positive REDUNDANT_VISIBILITY_MODIFIER for protected modifier in private classKT-73065CCE with context receiversKT-72345K2: Method 'get' without@Overrideannotation not calledKT-69981K2: Refactor ResolutionMode.WithExpectedType.expectedType to be a ConeKotlinTypeKT-68363ABSTRACT_MEMBER_NOT_IMPLEMENTEDdiagnostic reported only for the first not implemented functionKT-72105JVM: typeOf() result is sometimes incorrectly optimized to null in bytecodeKT-72813FIR: fix containing declaration for annotations of a receiver parameterKT-72552AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped typesKT-71751K2: Skipping code in last statement of lambdaKT-72863K2: failed compilation for a context receiver with an annotated typeKT-68984K2: Typealiased SAM constructors resolve to the expanded interfaceKT-57471K2: Wrong diagnostics for named lambda argumentsKT-69560Tidy up test data that affected byPrioritizedEnumEntriesorProperUninitializedEnumEntryAccessAnalysisfeaturesKT-72894"Placeholder projection cannot be mapped." error from resolve when using placeholder in a typealiasKT-70886FIR/AA: Reduce strong memory footprint of cached symbol names providersKT-72238Argument type mismatch in builder inside extension function after ?:KT-72738Simplify naming scheme for function referencesKT-72340K1/K2 difference in de-duplication of OPT_IN_USAGE and OPT_IN_TO_INHERITANCEKT-61272Frontend: error message "feature ... is experimental and should be enabled explicitly" does not explain how to do itKT-72664K2: Function type kind is not propagated for parameters of incomplete callsKT-64247K2: FirContextReceiver does not extend FirDeclarationKT-67383Incorrect optimisation when optimising for loop with UByteKT-70975K2: Confusing INVISIBLE_REFERENCE message when accessing nested class in private-in-file classKT-72743CCE inFirUninitializedEnumChecker:FirPropertySymbolcannot be cast toFirEnumEntrySymbolKT-71708False negative UNSUPPORTED for collection literals as trailing return valueKT-67707K2: CCE "ArrayMapImpl cannot be cast to class OneElementArrayMap" from FIR evaluatorKT-71966Seemingly bug in SupertypeComputationSession#breakLoopForKT-17455Confusing error message "There's a cycle in the inheritance hierarchy for this type" when outer class inherits nested classKT-71119K2: "AssertionError: Should be primitive or nullable primitive type" caused by comparing Double/Float and Any successor typeKT-57527K1/K2: "IllegalArgumentException: Some properties have the same names" with inline classKT-57851Wrong ValueClassRepresentation inside value classKT-67998K2: CANNOT_INFER_PARAMETER_TYPE on incomplete call inside if in a Java SAMKT-71961K2 debugger evaluation ClassCastException in IrElementsCreationUtilsKt#createFilesWithBuiltinsSyntheticDeclarationsIfNeededKT-72504OptimizeKotlinLocalVirtualFile.isDirectoryfor parent virtual filesKT-71399Kotlin Script: NPE on type resolveKT-69283Incorrect synthetic line numbers when inlining suspend funsKT-52929Java cannot extend instantiations of generic Kotlin collections in the presence of instantiated Kotlin subclassesKT-71885K2: confusing message when lateinit var is assigned onceKT-69920K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilationKT-55894NI: Compile errors for out-projected types are more cryptic than previouslyKT-72231K2: NONE_APPLICABLE instead of NAMED_ARGUMENTS_NOT_ALLOWED for non-Kotlin functions with overloadsKT-72422KMP: False-positive report of ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT on SublcassOptInRequiredKT-72257'javaClass' method cannot be evaluated in Kotlin project itselfKT-72408Introduce new TYPE_VARIANCE_CONFLICT diagnosticsKT-71508JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported when java class is inherited from an effectively private classKT-72177K2: Argument type mismatch when using star projectionKT-72245K2: When Java source roots are passed by file, fully qualified deep packages are unresolvedKT-63923Confusing error messages for TYPE_MISMATCH from inferenceKT-57708Unclear TYPE_MISMATCH messages in certain situations with genericsKT-72178K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "_" as key type in EnumMapKT-62455"NullPointerException" with 'multi-field value class'KT-72302K2: no error on type operator in annotation parameter default valueKT-72212[Scripting] Guava dependency is not packaged correctlyKT-71662PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variableKT-72229K2: Change LV of ProhibitConstructorAndSupertypeOnTypealiasWithTypeProjection to 2.2KT-70256K2: Check forMISSING_BUILT_IN_DECLARATIONnot only for JVM but for all platformsKT-72173K2: simple object names from root package are resolved without imports in non-root packages when used as valuesKT-71480JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported while java object isn't createdKT-60034K2: Introduced NO_GET_METHODKT-72199K1: Match the shape of references to synthetic Java properties to the shape of their gettersKT-15672Improve diagnostics for accessing Enum companion object from enum constructorKT-71321K2: ClassCastException caused by missed type mismatch when passing a method referenceKT-72041Extra checkers: false-positive unused parameter warnings on implicit lambda parametersKT-71959NO_VALUE_FOR_PARAMETER should use actual lambda parameter nameKT-69985K2: simple classifier names from root package are resolved without imports in non-root packagesKT-70139Remove dependencies of debugger on K1 and old JVM backendKT-72142PSI: unrelated enums are treated as equivalentKT-57358False positive "Const 'val' initializer should be a constant value" caused by equality with literalsKT-71753PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignmentKT-70844K2 IDE: deprecated marker shouldn't highlight not deprecated type argumentKT-70854K2 IDE: annotation on delegation causes illegal argument exceptionKT-56901NI: Missing error on passing star-projection to reified type argumentKT-70856K2: IllegalStateException: Non-empty unresolved argument listKT-71897K2: Don't erase in projections in SAM conversion if -Xsam-conversion=class like in K1KT-66464IntroduceisInlineableparameter forFunctionTypeKindKT-71590K2: false alarm fromUselessCallOnNotNullCheckerKT-71919Wrapped ProcessCanceledException in GenerationState#loadClassBuilderInterceptorsKT-70922PSI for KtPropertyAccessor is inconsistent with KtNamedFunctionKT-28598Type is inferred incorrectly to Any on a deep generic type with out projectionKT-71490K2: missing REDUNDANT_ELSE_IN_WHENKT-36107Remove deprecated mod operator conventionKT-71166Generic synthetic property is unresolved when parameterized with UnitKT-71738K2: False negative REDECLARATION inside object expressionKT-59908K2: Disappeared RECURSIVE_TYPEALIAS_EXPANSIONKT-69937Define & enforce user-friendly terminology for extended checkersKT-68834Parentheses don't influence calls of any convention operators (except invoke operator) after safe navigation operatorKT-58437K2: Do not use descriptors in KonanSymbolsKT-18563Do not generate inline reified functions as private in bytecodeCompose compiler
b/397855145Fix "Unknown file" error in target annotation inferenceb/377499888Allow restarting overridden functions in a final classb/390151896Fix default arguments with varargs in@Composablefunctionsb/388030459Kotlin compiler backend exception when lambda with anonymous object is memoizedb/310004740Check vararg parameter length in skipping logicb/393400768Use -1 for.changedcall if nullable enum parameter isnullb/388505454Change order of $changed bits with context parametersb/165812010Support default values in open@Composablefunctions (K2 only)b/285336821Use stability of parent class in stability inferenceb/353744956Fix context receiver/parameter handling in Composeb/195200551CallEnum#ordinalon enum values passed to Composer#changedb/378697545Avoid using ComposableSingletons inside public inline functionsb/376148043Use remember function source key for intrinsic rememberb/345204571Remove IR offsets for conditions generated by Compose compilerb/376058538Fix stack overflow when inferring stability of indirect generic loopb/339322843Transform@Composableproperty delegate referencesCMP-75711.8.0-alpha03 incompatible with Compose based on k1IDE
KT-59445Recursion detected on input: JavaAnnotationImplIR. Actualizer
KT-68830Compiler crash on missing actual classKT-71809Kotlin-to-Java direct actualization: the property isn't actualized by overridden getterKT-71817Actualization of static members is broken for non-JVM platformsIR. Inlining
Fixes
KT-69681IR: Report warnings on exposure of private types in non-private inline functionsKT-72776[JS] Add lowerings around inlining of private functions to the common prefix at the 1st phase of compilationKT-72775[JS] Add lowerings up to "cache private inline functions" to the common prefix at the 1st phase of compilationKT-72440[Native] Add lowerings around inlining of private functions to the common prefix at the 1st phase of compilationKT-72439[Native] Add lowerings up to "cache private inline functions" to the common prefix at the 1st phase of compilationKT-74039IR proto: Rename properties of IrInlinedFunctionBlockKT-73987Cherry-pick the fix for KT-73482 to 2.1.20-Beta1KT-73475Fix validation errors forsharedBox...methodsKT-73588Support serialization/deserialization of IrReturnableBlock and IrInlinedFunctionBlockKT-69009Merge -Xverify-ir-visibility-after-inlining and -Xverify-ir-visibility CLI flagsKT-72915UseLoweringContextinstead ofCommonBackendContextfor the first stage of compilationKT-73101Try to unboundJsIntrinsicfromJsIrBackendContextKT-73110Unbind JS version ofSymbolsfromSymbolTableKT-73108Unbind JS version ofSymbolsfrom contextKT-71864[JS] Run IrValidator as the first lowering in 1st compilation phaseKT-73103SwitchInlineCallableReferenceToLambdaPhaseto useLoweringContextKT-73098UseLoweringContextforNativeInlineFunctionResolverKT-73096ChangeLateinitLoweringto useLoweringContextinstead ofCommonBackendContextKT-71141Merge lateinit-related loweringsKT-73099UseBackendContextfor theJsCodeOutliningLoweringKT-73097Try to useBackendContextforLocalDeclarationsLoweringKT-73035Remove field of type SymbolTable from SymbolsKT-72919MoveJsCommonBackendContext.coroutineSymbolsintoSymbolsKT-72916DropsymbolTablereference fromBuiltinSymbolsBaseKT-72912RewriteandAllOuterClasseslocated inFunctionInliningKT-72910MoveisSideEffectFreeto theSymbolsKT-72907ExtractSharedVariablesManagerfromBackendContextKT-72905UnbindKonanSharedVariablesManagerfromKonanBackendContextKT-70961[K/N] Test IR inliner on 1st stage with box testsKT-72884Internal error in body lowering: IllegalStateException: Can't inline given reference, it should've been loweredKT-72920Dropcontextparameter fromJsCommonCoroutineSymbolsKT-72906UnbindJsSharedVariablesManagerfromJsIrBackendContextKT-67298Write tests for deserialization/serialization of unbound IRKT-72521Kotlin/Native: java.lang.AssertionError: kfun:androidx.compose.runtime#access$<get-androidx_compose_runtime_ProvidedValue$stable>$p$tComposerKt(){}kotlin.IntKT-67220Drop caching of deserialized/lowered inline functionsKT-72623Don't generate synthetic accessors in files other than the one being loweredKT-71859[K/N] Run IrValidator as the first lowering in 1st compilation phaseKT-67292Handling assertions before the IR inlinerKT-70423KLIB: SyntheticAccessorLowering - generate static factory functions instead of synthetic constructorsKT-69765Add language feature to enable IR inliner in K2 1st phaseIR. Interpreter
KT-72356K2 Native: IllegalStateException when annotation has the same source range as a constant in another fileKT-71903[K/N] Find a way to set up a synchronization point for the IR interpreterKT-66450IR interpreter can't handle entries of lowered enumsKT-71971K2 evaluator error on casting object of value typeIR. Tree
Performance Improvements
KT-744968% performance regression in loweringsKT-72211Refactor IrValidator to speed upFixes
KT-73553[Native] Create testrunners for serialization testsKT-73224Migratecompiler.ir.interpreterto new IR parameter APIKT-73179Drop IrAttributeContainerKT-67545Autogenerate DeepCopyIrTreeWithSymbolsKT-73222Migratecompiler.ir.inlineto new IR parameter APIKT-72735Add new IR nodes for callable referencesKT-73248MergeFileValidatorandCheckIrElementVisitorintoIrValidatorKT-73221Migratecompiler.ir.actualizationto new IR parameter APIKT-73219Migratecompiler.tests-compiler-utilsto new IR parameter APIKT-73194[IR] Consider moving platform-independent funs from SymbolLookupUtils to SymbolFinderKT-73218Migratecompiler.tests-common-newto new IR parameter APIKT-73227Migratejs:js.teststo new IR parameter APIKT-73258[IR] Separate new lookup functionality from IrBuiltinsKT-73063[JS][Wasm] Simplify ExpectDeclarationsRemoveLoweringKT-73350Migrate:native.tests:klib-ir-inlinerto new IR parameter APIKT-68992Fix IR serializer to handle IR with unbound symbolsKT-64866Support deserializing and serializing unbound IRKT-72619[IR] Steer checks for vararg types with new test directiveKT-69498[IR] Merge twoIrTypeUtils.ktsourcesKT-72376Disable vararg types checking in org.jetbrains.kotlin.fir.pipeline.ConvertToIrKt#runMandatoryIrValidationKT-69454[IR] Check vararg types in IrValidatorKT-68314Remove IrBuiltins from IrModuleKT-71944Move IR lowering phase descriptions to kdocKT-71826stdlib fails to compile with-Xserialize-ir=allJavaScript
Performance Improvements
KT-16379KotlinJs - ArrayList get is now slowKT-71199K/JS: charSequenceGet intrinsic should bypass Char range checksKT-73759KJS: do not fillArrayVal if using an Array init functionKT-72180Fix problems with memory spikes during JS Codegen/Box testsFixes
KT-70987KJS:@JsExport: NullPointerException with private data classKT-75606KJS: java.lang.AssertionError: Different declarations with the same signatures were detectedKT-58797Optimize the code generated for objects on JS and Wasm backendsKT-48468KJS / IR: "StackOverflowError" when long and complexjsusedKT-72437KJS. Invalidcopymethod for inherited JSO with type parametersKT-72974KJS / ESModules: EagerInitialization annotation has no effect on unused propertiesKT-71788KJS: NPE when use@JsExportwith@JsPlainObjectKT-43567KJS: toString() method and string interpolation of variable produce different codeKT-70778Kotlin Js companion is undefined in production buildKT-73130KJS: Missedbreakfor do/while in generated JS codeKT-68067KJS: Overriding methods with default parameters doesn't workKT-71656K2 JS: "IllegalStateException: Class has no primary constructor: kotlin.ULong"KT-72598KJS: Nested@JsPlainObjectdoes not workKT-70078@JsPlainObjectcompiles broken code when inlining suspend functionKT-68904@JsPlainObjectbreaks when inside a file with@file:JsQualifierKT-74067KJS: ES class constructor is generated with 'return this'KT-72883[JS] AbstractSuspendFunctionsLowering crashes on private top level suspend funKT-70533KJS: changed string concatenation behavior in 2.0KT-71949K/JS: investigate test failures in MPP codegen tests with friend dependenciesKT-71857[JS] Add new step to codegen tests for IR inliner invocationKT-14013JS toString produces different result for nullable/non-nullable ref to the same arrayKT-70803Investigate generating call with invalid argument count in Js BackendKT-72200Remove legacy JS test executorsKT-68332Remove legacy Nashorn script engineKT-39337KJS: remove LabeledBlockToDoWhileTransformation and related thingsKT-72732KJS / ES6: "SyntaxError: 'super' keyword unexpected here" with enabled-Xir-generate-inline-anonymous-functionsand disabled arrow functionsKT-71821K/JS tests are failing with coroutines flow and turbine on timeoutKT-70227Remove JS from theorg.jetbrains.kotlin.test.TargetBackendenumKT-71855ES6ConstructorLowering sets extensionReceiver to a function without extension receiverKT-70226Delete JS tests that were only run with the legacy JS backendKMM Plugin
KT-66458KMM Wizards: Get rid of deprecated 'kotlinOptions'Klibs
Fixes
KT-70146[KLIB Resolve] Don't fail on nonexistent transitive dependencyKT-75393Non-JVM artifacts from Kotlin 2.1.20-RC fail on 2.1.x releases due to IMPLICIT_ARGUMENTKT-74045Context parameters: conflicting signatures for properties with/without context on the non-JVM backendsKT-74050Kotlin 2.1.0 with K1 throws a signature mismatch of Ir and Descriptor for Composable lambdaKT-73589Design & implement signatures for context parametersKT-73721NativeLibraryAbiReaderWithManifestTest - move to Common BE testsKT-73855[Klibs] Changing function body causes change to header klibKT-73474CreateNonLinkingIrInlineFunctionDeserializerdirectly inside inline function resolverKT-72627IrInstanceInitializer is always deserialized having kotlin/Unit typeKT-71500Improve "incompatible ABI version" error messageKT-72965Ignore subclassOptInRequired constructor warningKT-69309Separate pure KLIB tests from Kotlin/Native testsKT-71917[JS] Make it possible to run IR lowerings before serializing to KLIBsKT-67474K2: Missing@ExtensionFunctionTypein metadata in KLIBsKT-68756[K/N] Make it possible to run IR lowerings before serializing to KLIBsKT-72333Ensure KLIBs with old local signatures (< 2.1.20) are mutually compatible with KLIBs with new local signatures (>= 2.1.20)KT-71633[2.1.0] Suspicious "Argument type mismatch" errorKT-71333KLIB cross-compilation: Add additional testsLibraries
New Features
KT-72480Move Instant and Clock from kotlinx-datetime to stdlibKT-31880UUID functionality to fix Java bugs as well as extend itKT-54606Print program name in Kotlin/Native executablesPerformance Improvements
KT-72492Improve String.toFloatOrNull performanceKT-70695Float/Double.isFinite can be optimizedFixes
KT-73654Remove org.w3c packages from stdlib documentationKT-62423Consider providing Common atomic typesKT-28492Merge sources when building kotlin-osgi-bundleKT-74173The sample code oflazyon stdlib can not run on playground due to "samples" package importKT-73695PublishedApi KDoc's link to inline functions page is not rendered properlyKT-73817Part 1. Moving Atomics to kotlin.concurrent.atomics: bootstrap updatesKT-73743UninitializedPropertyAccessException on AtomicReference initializationKT-73820Part 2. Moving Atomics to kotlin.concurrent.atomics: move the API to the new packageKT-73816Moving common Atomics to kotlin.concurrent.atomics packageKT-73747AtomicBoolean.asJavaAtomic() and AtomicBoolean.asKotlinAtomic() have unnecessary type parameterKT-74641k.t.Clock: bypass thread state validation for std::chrono::system_clock::now()KT-74676Wasm: common atomic API actualizations are annotated with wrong experimental annotationKT-74600Common atomic types could be used without explicit opt-inKT-73291Uuid.random() requires security context in WasmJsKT-69575kotlin.uuid.Uuid is not ComparableKT-54859kotlin.repeatshould document behavior in the case of negative argumentsKT-74294Make the Uuid.parse function able to parse multiple formatsKT-74279Introduce Uuid.parseHexDash() and toHexDashString()KT-74272Introduce Uuid.fromUByteArray and toUByteArrayKT-74314Reduce bitwise operations on Longs in Uuid implementationKT-73391Provide samples for common atomics APIKT-73890Add kotlin-metadata-jvm to .zip compiler distributionKT-71099Mention that selector for maxBy/minBy family is not invoked for 1-element collectionsKT-71762ReplaceWith properties kdoc is rendered with extra spacesKT-73740Unresolved reference 'AtomicBoolean' in 2.1.20-Beta1KT-73762Warn about@Transientbeing not sound to use with non-nullable typesKT-50395Stdlib documentation for StringBuilder.removeRange is unclearKT-36863Specify which element is returned from max/min functions if multiple elements are equal to min/maxKT-71606Provide Atomic and AtomicArray builtins in a bootstrap compilerKT-73064Samplification of the Optional extensions documentationKT-69545Kotlin/Native: Deprecate API marked with FreezingIsDeprecated to errorKT-61184Drop redundant@Suppressfrom some classes in stdlib. After stdlib migration to K2KT-72380Incorrect Duration parsing with extra leading zeros in components and multiple signsKT-72278Clean up redundant stdlib code for Kotlin 2.1KT-49026Add Regex.replace/replaceFirst samplesNative
KT-75807CMP caching fails for iOS with Kotlin 2.1.20-RC2KT-70202Xcode 16 Linker fails with SIGBUSKT-74377Kotlin Native: release executable crashes with error 139KT-73559K/Native: AndroidNativeArm64 linking fails starting from Kotlin 2.1.0KT-71976[Native][KLIB Resolve]: compilation error if libraries have the sameunique_nameand the strategy is allow-all-with-warning or allow-first-with-warningNative. Build Infrastructure
KT-72063Jars usingnativein their name are incompatible with JPMSKT-70990Kotlin/Native: fix stdlib building taskKT-71820Update the coroutines version used in kotlin-native build infrastructureKT-71261Kotlin/Native: enable gradle caching for runtime building tasksNative. C and ObjC Import
KT-74043Drop obsolete parts of Skia (aka ad-hoc C++) importNative. ObjC Export
KT-72673Native: objc2kotlin "virtual" bridges have no debug infoNative. Swift Export
KT-73623Swift Export: Interfaces: Add protocol printingKT-72703Translate valueOf into static funcKT-72102Create test infra for swift export in IDEKT-72096Create module for swift-export-in-ideKT-71898Swift Export: support List in overridesTest Infrastructure
KT-67281[Tests] Introduce an obligatory diagnostics test directive to choose a test runnerKT-62472Remove suppressions of warnings which are presented only in K2 but not in K1 compiler in Kotlin projectKT-72094K2: switch DEBUG_INFO_EXPRESSION_TYPE to regular FIR infrastructure for type renderingTools. CLI
KT-73319Migrate the main JVM CLI pipeline to the phased structureKT-74099Add CLI argument to enable nested type aliases featureKT-69384Add a way to force colored compiler diagnostic outputKT-73320Migrate the main JS CLI pipeline to the phased structureKT-73922CompileEnvironmentUtil.writeToJaris unbufferedKT-73967JDK 25: "IllegalArgumentException: 25-ea" with EA buildsKT-72927CombineFlexiblePhaseConfigandPhaseConfigKT-73244:compiler:cli-basedepends on:compiler:ir.serialization.jvmto read a single propertyKT-70179K2: Building a file with kotlin-test-junit without junit does not include annotationsKT-41756Sanitize stack trace in 'kotlin' runner CLI scriptTools. Commonizer
KT-74623Drop metadata version check from KLIB commonizerTools. Compiler Plugin API
KT-71212Allow compiler plugins to write custom data to declarations metadataTools. Compiler Plugins
New Features
KT-53563Kotlin Lombok: Support@SuperBuilderKT-71547Lombok Compiler Plugin Does Not Support@Builderon ConstructorsFixes
KT-73897PowerAssert: Implicit argument detection is brittle in a number of casesKT-74315Kotlin Lombok: "Unresolved reference" on generating@Builderfor static inner class where outer class is also using@BuilderKT-74102"Lambda cannot be cast to class kotlin.jvm.functions.Function0" in 2.1.20-Beta1 with ComposeKT-75159Compose: Missing 'FunctionKeyMeta' annotation on lamdas declared in non-composable functionKT-58695Lombok Builders's subclassing leads to 'Unresolved reference'KT-73871PowerAssert: Comparison via operator overload results in confusing diagramKT-73898PowerAssert: Operator calls with multiple receivers incorrectly alignedKT-73870PowerAssert: Object should not be displayedKT-73895jvm-abi-gen: $serializer class name is written incorrectly to InnerClasses attributeKT-73349Migrate power-assert sources to new IR parameter APIKT-73366Migrate parcelize sources to new IR parameter APIKT-72824Kotlin power-assert plugin StringIndexOutOfBoundsExceptionTools. Compiler plugins. Serialization
KT-71072KxSerialization: KeepGeneratedSerializer and sealed class in Map causes initialization-errorKT-73830[Kotlin/Wasm] CompileError: WebAssembly.Module(): Compiling function #10198:"kotlinx.serialization.$serializer.serialize" failedTools. Daemon
KT-73311"Unable to release compile session, maybe daemon is already down" flakinessKT-70556Add support for SourcesChanges.ToBeCalculatedKT-72530The daemon has terminated unexpectedly on startup attempt #1 with error code: UnknownKT-72373Fix naming for the new daemon symbols added after KT-69929Tools. Fleet. ObjC Export
KT-73237ObjCExport: immutable property translated as mutableTools. Gradle
New Features
KT-41409Gradle: Support binaries.executable for jvm targetsKT-58830Expose AdhocComponentWithVariants API on KGP generated componentKT-72320Gradle Plugin Diagnostics Reporter: add emojis to increase visibilityPerformance Improvements
KT-69613Remove usages ofgetCanonicalPathandgetCanonicalFilein plugins codeKT-68136Gradle: improve classloaders cache evictionFixes
KT-73842Gradle: AGP failing tests with "Failed to calculate the value of property 'generalConfigurationMetrics'" using KGPKT-74394KGP + isolated projects: "Something has been appended to this collector already"KT-75262Gradle test-fixtures plugin apply order breaks the projectKT-75277FUS statistics: 'java.lang.IllegalStateException: The value for this property cannot be changed any further' exception is thrown during project importKT-75026Corrupted NonSynchronizedMetricsContainer in parallel Gradle buildKT-74997Unexpected KGP warnings about kotlin scripting pluginKT-74322Enable source information by default in Compose compiler gradle pluginKT-72337kotlin-android-extensions plugin should fail the build on applyKT-72967Remove deprecated KotlinPlatformJsPluginKT-74846Gradle Configuration Cache miss on second build with 2.1.20-Beta2KT-74462Flaky Kotlin Gradle Plugin Tests: IsInIdeaEnvironmentValueSource$Inject not foundKT-74415Make composeCompiler.includeSourceInformation true by defaultKT-73782KGP diagnostics reporter: emojis added to KGP warning/errors are displayed broken on WindowsKT-74095Make ToolingDiagnosticBuilder internal APIKT-74124Gradle: error message regression of incompatible Gradle version usageKT-74639Executable binaries for JVM test cannot be created unless an additional suffix is set in GroovyKT-73728'generatePomFileForMavenPublication' creates pom with dependencies with 'unspecified' versionKT-73974Configuration cache when run Xcode tasks without xcode's environmentKT-74476KGP uses internal Gradle API, DefaultArtifactPublicationSetKT-62273Use new FUS plugin in KotlinKT-72963Remove deprecated KotlinPlatformAndroidPluginKT-74017Remove kotlin.androidExtensionsPlugin.enabled flagKT-73749KGP diagnostics reporter: emojis are duplicated if a gradle task is executed from the IDEA UIKT-72467kotlin.sourceSets extension not added for KotlinBaseApiPlugin.createKotlinAndroidExtension()KT-74143Gradle: Add workaround for gradle/gradle#31881KT-72384Run Gradle Integration tests against Gradle 8.11KT-70150Android Kotlin Compile Task has ClassPath BackwardsKT-72495Warn about kotlin-compiler-embeddable loaded along KGPKT-71549K2: NoSuchMethodError: org.jetbrains.kotlin.incremental.storage.ExternalizersKt.saveToFile with dependency lockingKT-67277Gradle: decommission properties to disable precise task outputs backupKT-73795Fix failing checkNodeJsSetup test on WindowsKT-72383Compatibility with Gradle 8.11 releaseKT-72394ProjectDependency.getDependencyProject() is deprecated in Gradle 8.11KT-72385Compile against Gradle API 8.11KT-71711KGP: Kotlin Stdlib is leaking when KGP is applied in buildSrcKT-73128Apply Kotlinlang template for partial HTMLsKT-58858Add KDoc documentation for Kotlin Gradle plugin APIKT-73076Kotlin Gradle Plugin API Reference: adjust settingsKT-72651Unable to usetargetfor KotlinBaseApiPlugin.createKotlin(Jvm/Android)Extension()KT-72303KGP 2.1.0-Beta2 broke compatibility with KSPKT-71405Compose compiler gradle plugin: project.layout.file can't be used as a value of the 'stabilityConfigurationFiles' optionKT-71948KotlinJvmFactory : get rid of replaces with TODO()KT-72092Gradle: use packed klib variant as the default when no packaging attribute is presentTools. Gradle. JS
KT-75485KJS: "Module not found: Error: Can't resolve 'style-loader' and 'css-loader'" in 2.1.20-RCKT-74869KJS:jsBrowserProductionWebpackdoes not minify output with 2.1.20-Beta2KT-74859Gradle configuration cache issues related to RootPackageJsonTaskKT-72175JS, Wasm: Deprecate non-Provider API in JS infrastructure extensionsKT-66388KJS / Gradle: Allow using an insecure protocol to download Node.js/Yarn when setting up project using Gradle >= 7KT-73614org.jetbrains.kotlin.gradle.targets.jsAbstractSetupTask.destinationProvider should be publicKT-72027JS target build fails on ARM64 WindowsKT-71362KGP/JS: moduleName is not compatible with convention pluginsKT-72874KJS: NodeJsRootExtension: "'download: Boolean' is deprecated. Use download from NodeJsExtension (not NodeJsRootExtension) instead You can find this extension after applying NodeJsPlugin. This will be removed in 2.2"KT-72872Js, Wasm: downloadBaseUrl in NodeJsEnvSpec could not be disabledTools. Gradle. Multiplatform
Performance Improvements
KT-71888Default Target Hierarchy results in very large heap usage/OoM when resolving IDE dependencies in larger projectsFixes
KT-66542Gradle: JVM target withwithJava()produces a deprecation warningKT-71074Optimize Granular Metadata Dependencies Transformation for Import after adding support for Project IsolationKT-74669Executable binaries for JVM: a jar generated by jvmJar task isn't added to the build/install/testAppName/lib directoryKT-37964Gradle application/distribution plugin does not copy and name jar files correctly when using installDist task for multiplatform projectKT-30878It's impossible to have .java sources in a Multiplatform Gradle Project with Android, becauseandroid()andjvm { withJava() }targets can not be applied to one and the same Gradle ProjectKT-66962Kapt with Kotlin Multiplatform: Cannot query the value of this provider because it has no value availableKT-74898The wording for the warning about incompatible 'application' plugin should be updated to suggest using the new binaries DSLKT-72488Unify freeCompilerArgs property in swiftExport and compilerArgsKT-74727Dependency resolve from a single target KMP module to another kmp module fails on non-found PSMKT-75062Remove usage of deprecated ProjectDependency.getDependencyProjectKT-71130Enable Isolated Projects support by default for KMPKT-74832Relax JVM target validation diagnostic in KMP/Jvm projectsKT-57280Expose Kotlin Project Structure metadata via consumable configurations instead of accessing all gradle projects directlyKT-72130Gradle Project Isolation Violation in build.gradle due to KGPKT-74298Incorrect DSL for swift export settings under the export nodeKT-73620KMP 2.1.0: Transitive dependency is broken when setting publication groupIdKT-72112KotlinNativeLink task fetches configuration that might not existKT-49155MPP, Gradle: Cannot usetest-retry-gradle-pluginwith Kotlin multiplatform testsKT-61816Remove Legacy Multiplatform Gradle PluginKT-72068Distribution for klib cross-compilation is not downloaded during compile tasksKT-64998Granular Metadata Dependencies Transformation is not compatible with Project IsolationKT-72454Revert changes made in KT-69899 i.e. make kotlin.android.buildTypeAttribute.keep = false by default againKT-70380KMM App failed to consume android binary libKT-71529Deprecate targetFromPreset API with an errorTools. Gradle. Native
KT-71398kotlinNativeBundleConfiguration should not contain dependencies on unsupported platformsKT-74403:commonizeNativeDistribution fails when configured native targets cannot be built on machineKT-62826Show a warning when KGP and K/N versions mismatchKT-73572[Gradle]kotlin.native.cacheKind=nonedoesn't work anymoreKT-71722kotlinNativeBundleConfiguration present in JVM-only Gradle projectKT-72686Add warning about Kotlin native home conflict declarationKT-71419Light bundle KGP IT run against a stable K/N versionKT-70558False positive up-to-date status for CInterop tasks after changes in .h filesTools. Gradle. Xcode
KT-71535embedSwiftExportForXcode doesn't report configuration error about missed dependencyKT-72485Swift Export DSL exposes unused options inbinariessectionKT-66894XCFramework task fails when name passed to xcframework DSL is different from framework's nameKT-65675XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworksTools. Incremental Compile
KT-69333Remove built-in ABI snapshot implementationKT-55940Kotlin 1.8.0 compiler hangs indefinitelyKT-29860Incremental compilation looping or incorrect resultsTools. JPS
KT-73688Make it possible to build and run JPS locallyKT-73607JPS incremental compilation is broken after KT-71549KT-68565K2: IllegalStateException: Source classes should be created separately before referencingTools. Kapt
KT-75202K2 kapt: mapped type class literal is converted incorrectlyKT-64385K2: Enable K2 KAPT by defaultKT-71154Kapt tests: EXPECTED_ERROR directive is checked incorrectlyKT-71776K2 Kapt in 2.1.0-Beta1 fails withe: java.lang.IllegalStateException: FIR symbol "class org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol" is not supported in constant evaluationTools. Maven
KT-69231PowerAssert: Create maven plugin for power-assertTools. Scripts
KT-72277Legacy REPL implementation is still based on the old backendTools. Wasm
KT-72157Turn on custom formatters feature by default in development buildsKT-71361[Wasm] Make all production-mode binaries optimised with binaryenv2.1.10: Kotlin 2.1.10Changelog
Compiler
KT-73858Compose / iOS: NullPointerException on buildingKT-73454K2: Fix type parameters mapping for typealiases with inner RHSKT-73043K2 Compiler does not allow references to inner constructors with typealiasesKT-74040Compilation of inner class usage does not check the visibility of parent class during compilation in different roundsKT-73339K2: "VerifyError: Bad type on operand stack" because of missing implicit cast on generic field receiver with star projectionKT-72585K2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace top-level type with star projection: SKT-73399compile-time JVM codegen failure on a KProperty argument of a KSuspendFunction parameterKT-72725KMP: Unsupported actualization of inherited java field in expect classKT-73153K2: Standalone diagnostics on type arguments are not reportedCompose compiler
CMP-5680Compose compiler: unexpected stability warnings for classes compiled with 2.0.10b/381407900Avoid adding Compose annotations on synthetic classesIR. Inlining
KT-73981[2.1.10] SuppresscheckIncorrectCrossFileDeclarationAccesswarning for Compose<class>$stablefield accessJavaScript
KT-70778Kotlin Js companion is undefined in production buildKT-73130KJS: Missedbreakfor do/while in generated JS codeKT-58797Optimize the code generated for objects on JS and Wasm backendsKlibs
KT-70146[KLIB Resolve] Don't fail on nonexistent transitive dependencyKT-73951Workaround for "Partial linkage engine may not patch some discrepancies in IR when compiling Kotlin/Native static caches" in 2.1.10Native
KT-73559K/Native: AndroidNativeArm64 linking fails starting from Kotlin 2.1.0Tools. CLI
KT-73967JDK 25: "IllegalArgumentException: 25-ea" with EA buildsTools. Daemon
KT-73311"Unable to release compile session, maybe daemon is already down" flakinessTools. Gradle
KT-73728'generatePomFileForMavenPublication' creates pom with dependencies with 'unspecified' versionTools. Gradle. Multiplatform
KT-73620KMP 2.1.0: Transitive dependency is broken when setting publication groupIdTools. Gradle. Native
KT-73572[Gradle]kotlin.native.cacheKind=nonedoesn't work anymoreKT-71419Light bundle KGP IT run against a stable K/N versionv2.1.0: Kotlin 2.1.0Changelog
Analysis API
New Features
KT-68603KotlinDirectInheritorsProvider: add an option to ignore non-kotlin resultsPerformance Improvements
KT-70757Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbolFixes
KT-70437Class reference is not resolvableKT-57733Analysis API: Use optimizedModuleWithDependenciesScopes in combined symbol providersKT-72389K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal classKT-69190K2: False-positive "redundant private modifier"KT-64984Analysis API: Support Wasm targetKT-70375K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointerKT-71259K2 evaluator: Invalid smart cast info collecting for Code FragmentsKT-69360Lack of implicit receiver for the last statement under lambda in scriptsKT-70890Analysis API: Experiment with weak references to LL FIR/analysis sessions in session cachesKT-70657Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jarsKT-71055Suspend calls inside 'analyze()' break the block guaranteesKT-70815Analysis API: Implement stop-the-world session invalidationKT-69819K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualifiedKT-68761Analysis API: Experiment with limited-size cache inKaFirSessionProviderKT-70384Analysis API Standalone: The same class in the same two renamed jars is unresolvedKT-71067Exceptions from references cancel Find UsagesKT-69535Redesign 'containingSymbol'KT-71025K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" valuesKT-67483K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation callKT-69416K2 IDE / Completion: “No classifier found” on simple value creatingKT-70257CCE: class kotlin.UInt cannot be cast to class java.lang.NumberKT-70376K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value classKT-70264AA: service registration via XML fails with AbstractMethodError in Lint CLIKT-69950Analysis API: IntroduceisSubtypeOf(ClassId)KT-68625K2: “lazyResolveToPhase(STATUS)cannot be called from a transformer with a phase STATUS.”KT-67665K2: contract violation for value class with a constructor parameter with an implicit typeKT-67009Analysis API: Add abbreviated type tests for type aliases from source modulesKT-69977KaFirFunctionalType#getAbbreviation is always nullKT-68341Analysis API: Expanded function types from libraries don't have an abbreviated typeKT-68857Analysis API: Refactor annotationsKT-70386Do not filter out overloads from different libraries in dangling filesKT-65552K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragmentKT-65803K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"KT-68896Support VirtualFile binary dependency inputs to Analysis API modulesKT-69395K2 IDE: incorrect overload selection from binary dependencies in a shared native source setKT-68573ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue()KT-69576Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns false for companion references in implicit invoke operator callsKT-69568Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns true for non-companion references in qualified callsKT-69436Analysis API Platform: EncapsulateLLFirDeclarationModificationServiceas an engine serviceKT-63004K2: Analysis API: Design API for querying declarations generated by compiler plugins (similar to indices)KT-69452AA FIR: wrong source PSI after compile-time evaluationKT-69598AA: definitely not-null type at receiver position should be wrapped in parenthesisKT-60484Analysis API: add support for KtType pointers similar to KtSymbolPointerKT-68884Analysis API: Rename/deprecate/remove declarations as part of StabilizationKT-69453AA FIR: miss to handle expected type of lambda with explicit labelKT-69533Protect implementation parts of Analysis API with opt-in annotationsAnalysis API. FIR
Performance Improvements
KT-71566FirElementBuilder#getFirForNonKtFileElement should iterate a Psi file over and overKT-71224Analysis API:FirElementFinder.collectDesignationPathrelies on naive iteration through FIR filesFixes
KT-70327Analysis API: Batch inspection causes deadlock inValueWithPostComputeKT-69070Analysis API: Querying declared member scope for Java symbols results in exception in some use casesKT-68268LLSealedInheritorsProvider: reduce scope to kotlin filesKT-69671TYPES phase contract violation through JavaSymbolProviderKT-70624Declaration symbols from code fragments are treated as not localKT-70662NPE: FirLazyBodiesCalculatorKt.calculateLazyBodyForPropertyKT-70859Do not fail highlighting due to resolution problemsKT-70474FirLazyResolveContractViolationException from JavaSymbolProviderKT-70323FirLazyResolveContractViolationException:lazyResolveToPhase(TYPES)cannot be called from a transformer with a phase TYPESKT-71567LLFirCompilerRequiredAnnotationsTargetResolver should calculate annotation arguments on demandKT-71584getNonLocalContainingOrThisDeclarationtreats KtParameter from functional type as non-localAnalysis API. Light Classes
Performance Improvements
KT-69998Drop redundant cache from ClassInnerStuffCacheFixes
KT-69833Support value classesKT-71693Wrong name mangling for JvmField class property and companion property clashKT-71469KtLightClassForDecompiledDeclaration: missed kotlinOriginKT-70710Provide light classes for KMP modules in Android LintKT-70548SLC: text of class object access expression is not the same as raw textKT-70572SLC: missingisInheritorimplementation for type parameterKT-70491SLC: inconsistent source PSI of no-arg constructor for all default valuesKT-70458SLC: missedauxiliaryOriginalElementfor delegated propertyKT-70232Support a companion object inside value classesKT-70349@delegate:` annotations are missed for light class fieldsKT-68328Move KtLightClassBase to ULCAnalysis API. Providers and Caches
KT-65618K2: resulted FirClass.psi != requested PsiClass from completionKT-69292K2: Analysis API: A property'sMUST_BE_INITIALIZEDdiagnostic is not updated after changingfieldusage in an accessorKT-71468Drop redundant logic from LLFirJavaFacadeForBinariesKT-71700Cache result of resolveToCallKT-71520Analysis API:LLFirNativeForwardDeclarationsSymbolProviderspends a lot of time in indicesAnalysis API. Standalone
KT-65110Analysis API: In Standalone mode the order of symbols is unstableAnalysis API. Stubs and Decompilation
KT-71565KtClassOrObject should use isLocal from greenStubAnalysis API. Surface
New Features
KT-69960resolveToCallCandidatesshould support operatorsKT-69961resolveToCallCandidatesshould support propertiesPerformance Improvements
KT-70529KaSymbol: reduce the number ofcachedusagesKT-70165Introduce PSI-basedKaSymbols for K2Fixes
KT-69371Analysis API: expose only interfaces/abstract classes for the resolution APIKT-69696KaSymbolByFirBuilder should filter call-site substitutionsKT-69679KaDelegatedConstructorCall should have substituted signatureKT-70206anonymousSymbolAPI throws an exception for regular functionsKT-69699Receiver type is not substituted in the case of conflict declarationsKT-69381Analysis API: Investigate the viability of currentKaSymbolcachesKT-70199K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArgumentsKT-70661Invalid FirDeclarationOrigin ScriptTopLevelDestructuringDeclarationContainerKT-70663KaFirDestructuringDeclarationSymbol: Failed requirementKT-63490Analysis API: Accessing the Analysis API should be prohibited during dumb modeKT-63390K2: Analysis API: add annotations to KtClassInitializerSymbolKT-55124Design common ancestor for KtValueParameter and KtReceiverParameterSymbolKT-71731directlyOverridenSymbols/allOverridenSymbols works incorrectly for intersection overridesApple Ecosystem
KT-66262Deprecate and remove support for bitcode embedding from the Kotlin Gradle pluginKT-66894XCFramework task fails when name passed to xcframework DSL is different from framework's nameKT-65675XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworksKT-69119xcodeVersion task fails if Xcode isn't installed and apple-specific native targets aren't declaredBackend. Wasm
New Features
KT-70786Improve DX of the variable view during debugging in Chrome/Firefox for Kotlin/WasmKT-70331Support incremental compilation for the Wasm backendKT-71686K/Wasm: Add functions to convert between Kotlin and JS array typesKT-68185[WasmJs] Attach js exception object to JsExceptionFixes
KT-71294Wasm Artifacts/Resource are being loaded relatively instead of absolutelyKT-71473K/Wasm: Use--closed-worldand related options for BinaryenKT-72297[Wasm] Unused associated object class lead to compiler failKT-72156custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven publicKT-65799K/Wasm: remove default exports from wasm exportsKT-71800Wasm compiler: Fix member generation for data classes with an array-type propertyKT-71580String::toFloat on wasm behaves differently compared to other targetsKT-71523K/Wasm: cleanup after fix for KT-71474KT-71475K/Wasm: KClass::qualifiedName returns incorrect result for nested or companion objectsKT-71474K/Wasm: KProperty*Impl equals work incorrectly for clabbale reference created in different files or modulesKT-61130K/Wasm: Function signatures may clash with base class internal methods from a friend moduleKT-70820[Kotlin QG] wasm-validator fails when running compile[...]KotlinWasmJsOptimizeKT-70819[Kotlin QG] node.js fails when running wasmJs[...]Test KGP tasksKT-70394Investigate increased wasm binary size after switching stdlib compilation to K2KT-69627Removecreate###Arrayfunctions from WASM stdlibKT-68509Fatal: error validating input in compileProductionExecutableKotlinWasmJsOptimizeCompiler
New Features
KT-71094Kotlin/Native incremental compilation: fail compilation if cache build failedKT-21908Support 'when' exhaustiveness checking for generic type parameter with sealed class upper boundKT-70679Kotlin/Native: fill WritableTypeInfo from Swift Export type mappingKT-59798Builder inference is not working when combined withletexpressionKT-54227Cannot use nullable Nothing as reified type parameterKT-71430Kotlin-to-Java direct actualization implementationKT-68163Expose supplementary compiler warnings via CLIKT-69321Swift export: enable auto-linkage of binary dependenciesKT-11526Improve diagnostics for "X overrides nothing"KT-49710False positive NO_ELSE_IN_WHEN with nullable type as receiverKT-69729Support calling super interface Java methods from Kotlin interfaceKT-69508Improve "Public-API inline function cannot access non-public-API" check for the inline property accessorsPerformance Improvements
KT-71353FP Kotlin performance degradation (around Cone types hierarchy changes)KT-71159[K2] OOM on large enum classes with fieldsKT-69718K2: Check for jvm nullability annotations in fir2ir is slowKT-68417Native: LLVM 16 inliner is slow on K/N-produced modulesKT-63971K2: Redundant@ParameterNamein abbreviated type in metadataFixes
KT-71550JVM IR: NPE on identity equals of boolean true with nullKT-72214-fpass-plugin (clangFlags) is not applied since Kotlin 2.0.20KT-68933CompilationException: Back-end: Could not get inlined classKT-72255Promote jspecify from warning to errorKT-73065CCE with context receiversKT-61033K2: implement a diagnostic corresponding to K1's MISSING_BUILT_IN_DECLARATIONKT-72345K2: Method 'get' without@Overrideannotation not calledKT-71260K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner when there is no actual for expectKT-72996false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operatorKT-72552AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped typesKT-71751K2: Skipping code in last statement of lambdaKT-71121Kotlin/JS incremental compilation fails with KotlinIllegalArgumentExceptionWithAttachmentsKT-60521Drop language versions 1.4 and 1.5KT-70461K2: "Inline class types should have the same representation" caused by value class and smart checkKT-72238Argument type mismatch in builder inside extension function after ?:KT-70306K2: Lambdas are unserializable: inferred from Java param? super IKT-67383Incorrect optimisation when optimising for loop with UByteKT-68653Switch latest stable language version in Kotlin project to 2.1KT-71708False negative UNSUPPORTED for collection literals as trailing return valueKT-72281K/N: "Failed to wait for cache to be built"KT-72017Enum property reflection returning null KClassifier property for Enum classes defined inside Kotlin ScriptsKT-69040PCLA: deal with "deep" calls that can be fully analyzed properlyKT-69920K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilationKT-69549Try to move callable reference transformation earlier in pipelineKT-63944Kotlin/Native: Cache flavor selection doesn't respect GC kindKT-71649K2: Put operator on mutableMap<T?, V>() causes crashes on null keyKT-70667K2: "Type parameter * has inconsistent bounds" caused by wildcard and where-clauseKT-70562@SubclassOptInRequiredcannot accept multiple experimental markerKT-69407K2: Compiler crash (Shouldn't be here) due to unresolved reference in FirProjectionRelationCheckerKT-71508JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported when java class is inherited from an effectively private classKT-72178K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "_" as key type in EnumMapKT-70407Error/warning message for@SubclassOptInRequired-annotated class should provide more contextKT-72302K2: no error on type operator in annotation parameter default valueKT-58820OPT_IN_USAGE_ERROR's message text does not account for SubclassOptInRequiredKT-71662PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variableKT-69739K2: "KotlinIllegalArgumentExceptionWithAttachments: Unexpected FirPlaceholderProjectionImpl" caused by unresolved referencesKT-72154Dokka fails withnot array: KClass<out Annotation>on Kotlin 2.1.20-dev with@SubclassOptInRequiredKT-70756K2. Compiler crash with FileAnalysisException on incorrect symbol in nesting lambdaKT-72173K2: simple object names from root package are resolved without imports in non-root packages when used as valuesKT-71480JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported while java object isn't createdKT-71034Failing compiler/testData/codegen/box/inlineClasses/kt70461.ktKT-71016K/Wasm: Failing compiler/testData/codegen/box/inlineClasses/kt70461.ktKT-52469Deprecate reified type parameter instantiating into intersection typesKT-71753PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignmentKT-59871K2: Fix introduced diagnosticsKT-71563'llegalStateException: Source classes should be created separately before referencing' when actualized through typealias and java direct actualizationKT-64741Avoid leaking ConeTypeVariable types in diagnostics from PCLAKT-60447Builder inference fails to infer generic type argument from local classKT-69170K2: "Unresolved reference" caused by generics and fun interfacesKT-71756K2 evaluator: broken resolve of private members during debug of Kotlin project itselfKT-68893Invalid annotation in contract crashes with K2KT-71490K2: missing REDUNDANT_ELSE_IN_WHENKT-64403Implement BlackBoxCodegenTestSpecGenerated for K2KT-71551JVM IR K1: NPE on generating a function imported from an object from another moduleKT-71210K2: false negative FUNCTION_CALL_EXPECTED / NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE with companion objectsKT-71528K2/JVM: ClassCastException around Array<Nothing?>KT-71228K2: "IllegalArgumentException: Failed requirement" caused by lambda parameter and class typeKT-71738K2: False negative REDECLARATION inside object expressionKT-71701K2: false positive CAN_BE_VAL with lateinit and non-in-place lambdaKT-68694K2 IDE / Kotlin Debugger: AE “Unresolved reference: <HIDDEN: samples/gen/classes/enum class/EnumClass.lam is invisible” on evaluating private lambda inside enum entryKT-70970K2 IDE / Kotlin Debugger: AE “Only assignable IrValues can be set” on calling overloaded inc() operator on interfaceKT-70824K2: NoSuchFieldException when evaluating private extension propertyKT-70390K2 IDE / Kotlin Debugger: can't invoke lambda from private class during evaluationKT-68701K2 IDE / Kotlin Debugger: AE “ERROR_CALL 'Unresolved reference: <HIDDEN: /privateLambda is invisible>#' type=IrErrorType(null)” on evaluating private top-level lambdaKT-68695K2 IDE / Kotlin Debugger: AE “Unsupported callable reference” on evaluating ::lateinitStr on private lateinit propertyKT-70861K2 IDE / Kotlin Debugger: can't evaluate Clazz::class call for private classKT-34911Improve error message for WRONG_ANNOTATION_TARGET: list applicable targetsKT-71601K2: When with a subject of type dynamic always considered exhaustiveKT-33091Kotlin/Native: Compiler crashes if an external class is declaredKT-59651K1/K2: Assertion error on external enum usage attemptKT-69939Extract a category of internal FIR checkers from supplementary FIR checkersKT-70850Pull down typeArguments from ConeKotlinType to ConeClassLikeTypeKT-71117K2: "IllegalArgumentException: No type for StarProjection" with star projection and function typeKT-71251Native & JS K2: Missing check for callingisInitializedinside inline funKT-70161Native: extracting LLVM 16 on Linux makes the compiler print many "Ignoring unknown extended header keyword 'LIBARCHIVE.creationtime'" messagesKT-71215K2: UB due to the erroneous greening of the red code with multiple delegation with javaKT-59386K2: Missing CONSTANT_EXPECTED_TYPE_MISMATCHKT-69564Make using -Xuse-k2 compiler flag an errorKT-69756TypeOfLowering: don't create constant object nodes before inliningKT-66328K2: implement an error for KT-66324KT-71046K/N: a separate lowering to convert function reference to IrConstantObjectKT-69223Drop parallel lowering mode in JVM backendKT-70260@JsPlainObject: improve compiler error if a method is presentKT-67739Improve error message when JDK used in -Xjdk-release has corrupted class filesKT-63964K2: different naming of classes defined in script in metadataKT-70014Common inference: introduce rigidTypeMarkerKT-71352Cannot load script definition class org.gradle.kotlin.dsl.KotlinProjectScriptTemplateKT-63502Getting java.lang.ClassNotFoundException: javaslang.λ during compilationKT-66316Kotlin/Native: make@Escapesannotation required for all external functionsKT-69653Prohibit exposing types via type parameters' boundsKT-68451Inconsistent rules of CFA in enum initialization blockKT-70893K2: Bogus NO_COMPANION_OBJECT on resolve to private qualifierKT-70965FIR/AA: Initializers for Java annotation arguments mapping capture use-site sessionsKT-63945K2: Prevent possible diagnostic lossKT-64453K2: Implement ComposeLikeIr...TestGenerated for K2KT-30424Confusing error message "modality is different"KT-70846ReplaceConeKotlinType.nullabilitywithisMarkedNullableon specific typesKT-56720K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritanceKT-69937Define & enforce user-friendly terminology for extended checkersKT-64406K2: Implement CompileKotlinAgainstJavaTestGenerated for K2KT-69938Validate sets of default compiler warnings and supplementary compiler warningsKT-68971Investigate suspicious fragmentation of FIR trees for string literals with interpolationKT-71073Multi-dollar strings: parser grabs too much if backticks follow a short sequence of '$'KT-71213Rethrow exceptions in checkers with some useful attachmentsKT-70395K2: "Captured Type does not have a classifier" caused byouttype and interface hierarchyKT-70133K2: false negative UNINITIALIZED_VARIABLE when postponed lambda is created before initializationKT-70625K2: ClassCastException caused by function reference, star projection and invariant type parameterKT-70835K2: "TYPE_MISMATCH" caused by operator assignmentKT-70366K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class "KT-68834Parentheses don't influence calls of any convention operators (except invoke operator) after safe navigation operatorKT-70358K2: "java.lang.IllegalArgumentException: No type for StarProjection" when using a star projection on a function typeKT-69298K2: "Initializer type mismatch" caused by elvis operator type inference for nullable typealiasKT-71189K2: emit 'DELEGATE_SPECIAL_FUNCTION_MISSING' and 'DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE' on 'by' keywordKT-71178K2: False negative NO_ELSE_IN_WHEN in when over nullable type with!is Nothing?checkKT-70812False positive NO_ELSE_IN_WHEN with nullable type argument as subjectKT-70947False positive NO_ELSE_IN_WHEN with DNN subject and nullable sealed class upper boundKT-70752Review diagnostics with whole declaration as rangeKT-71160K2: Rendering of flexible collection types and arrays is too verboseKT-61227Definitely non-nullable types cause "Any was expected" for@NullableparameterKT-69389K2: NONE_APPLICABLE instead of more useful "type mismatch" error with overloads and parameter nullability mismatchKT-69829Missed UNRESOLVED_LABEL for label in returns and loopsKT-61223JDK 21: new addFirst/addLast and putFirst/putLast methods allow adding nullable value for non-null typesKT-66742Supertypes with inaccessible type arguments are allowedKT-62906Type system: consider changing simple type & DNN type relationKT-70104Update the error message for calling super Java interface methods caseKT-69794K2: Wrong target is reported for EXPOSED_SUPER_INTERFACE diagnosticKT-70724False-positive UNINITIALIZED_VARIABLE for inline constructor with late-initialized variablesKT-70749False-positive UNINITIALIZED_VARIABLE for inline fun with crossinline modifierKT-65805Migrate builtins serializer to K2KT-71004FirSignatureEnhancement#enhance mutates attributes on the original functionKT-70813Questionable behavior for calls on ILT receiversKT-70208'when' is not exhaustive for expect BooleanKT-69210Native: tune LLVM optimization pipelineKT-70753K2: Missing non-null assertion on the return value of try-catch blockKT-70012EXTENSION_SHADOWED_BY_MEMBER shouldn't be reported for actual declarationsKT-70837K2. "Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource" on incorrect call with extension funKT-66751Implement a general deprecation of types with inaccessible type argumentsKT-68748K2: RemoveirFactoryfromFir2IrComponentsKT-61659K2: Implement theEXTENSION_SHADOWED_BY_MEMBERwarningKT-70709Range for MUST_BE_INITIALIZED shouldn't include property annotationsKT-63294Do not use duplicated compiler argument names across the codebaseKT-70673False positive NO_ELSE_IN_WHEN with nullable Boolean as subjectKT-70672False positive NO_ELSE_IN_WHEN with nullable Enum as subjectKT-69207Native: use lld when the compiler produces binaries for a Linux targetKT-67696Native: compiler crashes when loading an LLVM bitcode file of unsupported versionKT-69767K2: Investigate differences in tests without alias behavior for cyclic expansionKT-70617K2: ClassCastException caused by Java enum with overriddennamepropertyKT-68796Non-first invoke operator calls break chained calls of convention operators after safe navigation operatorKT-67772K2: Metadata misses NoInfer annotation for unsafeCast resultKT-70304[FIR2IR] Missing@NoInferKT-65085K2: Get rid of special check for unresolved array literals on argument mapping phaseKT-65066K1 crashes, K2 doesn't report type mismatch on array literal inside nested annotation callKT-49235Kotlin interface limited to 1000 super typesKT-69991K2/JVM: Backend crash with functional types and KFunctionsKT-7461Forbid using projection modifiers inside top-level Array in annotation's value parameterKT-52315Legacy keywords (header, impl) break enum definitionsKT-69499Native: aggressive inline of runtime procedures causes compiler crash in debug buildsKT-69737Native: incompatible target-cpu attributes between runtime and Kotlin codeKT-69911Unexpected line numbers in default setterKT-61529K2: Unexpected FirClassLikeSymbol null with -no-jdkKT-69475K2: No "Name contains illegal characters" for package name with dots insideKT-69484Native: remove default values forisObjectTypeKT-70352K2: False-negative CONFLICTING_UPPER_BOUNDS onNothingboundKT-59781K2: investigate implicit cast generation in fir2ir vs psi2irKT-70036[FIR2IR] Fix param name in overridden setterKT-68718[JVM] Generic function is instantiated with wrong type argumentKT-67983K2: False negative "Recursive type alias in expansion" at recursive typealiasesKT-70328K2:@UnsafeVariancestored in the metadata despite the Source retentionKT-70313K2: Don't addAnysupertype tokotlin.Nothingcompiled from sourcesKT-69982K2: New errors when executing:kotlin-stdlib:jvmJarKT-70169K2: implement a deprecation error for Synchronized, Throws, JvmField on annotation parametersKT-67651K2: inconsistency in behavior for SAM constructor with flexible typeKT-63857K2: Extraoperatormodifier in metadataKT-70182K2: Set upisOperatorflag according to operator naming conventions during building synthetic overrides for Java methodsKT-20798Implement a deprecation warning for reified modifier on type parameters of type aliasKT-68697K2 IDE / Kotlin Debugger: NSEE “List is empty.” when method reference is used in some place in codeKT-70157K2: false positive JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS for a Java private classKT-68702K2 IDE: AE “SyntheticAccessorLowering should not attempt to modify other files!” on evaluating of supermethods toString() and hashCode()KT-69509K2 IDE / Kotlin Debugger: exception in lowering ReplaceKFunctionInvokeWithFunctionInvoke when compiling code fragmentKT-66323K2: Clarify contracts ofConeSubstitutorByMapKT-69652K2: False positive "Redundant visibility modifier" with explicitApi()KT-65815K2: False-positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY with inline function returning Nothing?KT-60508K2/stdlib: compilation of common code fails if built-in types are provided as platform sourcesKT-70037K2: Generate IR body forAnyconstructor despite that fact it's emptyKT-69870K2: False positive NO_VALUE_FOR_PARAMETER for override without default but base with default and with enabled KMPKT-69599K2: Investiage and fix lots ofUNRESOLVED_REFERENCEduring building stdlib native with K2KT-68375K2: FirPrimaryConstructorSuperTypeChecker fails on generated superclassesKT-58309Deal with test failures inside FirTypeEnhancementTestGeneratedKT-27112Implement prohibition of exposing types via type parameters' boundsKT-69831Add long FastJarFS tests to thenightlyFirCompilerTestconfigurationKT-69537K2: Unintentional behavior caused by InferMoreImplicationsFromBooleanExpressionsKT-59814K2: Explore whyFirDataFlowAnalyzerstrips away value parameters of non top-level-functionsKT-69069K2: expect overloads are deprioritized in common codeKT-69511KJS / K2: False positive IMPLICIT_BOXING_IN_IDENTITY_EQUALS when comparing dynamic with primitiveKT-69500Native: introduce an option to inline less "ALWAYS_INLINE" runtime proceduresKT-69717K2: Don't callconeType/coneTypeOrNullextensions onFirResolvedTypeRefKT-60440K2/Java: investigate constructor own type parameters enhancementKT-69871K2 allows modifier keywords onpackagedeclarationKT-61271Frontend: "The label does not denote a loop." error message is used even if the label does denote a loopKT-69768K2: Investigate differences in tests without alias behavior with typealias to enum entryKT-63846K2: incorrect type argument inferred for smart cast value of a generic typeKT-69774Don't report overload resolution ambiguity if extension receiver contains error typeKT-61316K2: Consider throwing exception when replaceType is called on special FirExpressions with immutable typesKT-69201Discard expect candidate in overload conflict resolver if there is no actualKT-69557K2: Investigate failures with enabled assertion inConeResolvedAtomconstructorKT-69783K2: Make FirTypeProjection sealedKT-68000Investigate getting container functions in checkersKT-69649K2: Cleanup various utilities abouttoSymbolconversionKT-69185K2: Prepare a test runner for diagnostic tests with type aliases non-expanded automaticallyKT-69390UNRESOLVED_REFERENCE on call with lambda argument turns whole call redKT-68794K2 IDE / Kotlin Debugger: ISE “No real overrides for FUN FAKE_OVERRIDE name:privateFun visibility:private modality:FINAL” on calling private function from superclass in debuggerKT-69315FirJavaGenericVarianceViolationTypeChecker: StackOverflowErrorKT-49962"Visibility inherited is not allowed in forVisibility" when analyzing broken fileKT-24212Report "This class shouldn't be used in Kotlin" on calling constructor of Java class with Kotlin analogKT-64195K2: Consider makeFirAnonymousInitializer. containingDeclarationSymbolnot nullKT-64254"Projections are not allowed on type arguments of functions and properties": Type-project type arguments of propertiesKT-40533Error message PROPERTY_WITH_NO_TYPE_NO_INITIALIZER for interface property is not fully correctKT-20014Improve diagnostics for lateinit property without initializer and type annotationKT-51366False positive error "Value class cannot extend classes" when extending generic interface with wrong number of type argumentsKT-68277K2: false positive UNREACHABLE_CODE for non-localreturn/breakKT-69544K2: Mapped Java@Targetannotation's vararg argument has swapped type and elementTypeKT-68998K2: Refactor postponed atomsKT-69288Native: Apple LLVM 16 fork can't read bitcode with memory attribute produced by upstream LLVM 16KT-67808K2: Inconsistent properties initialization analysis in init blocks in presence of smartcast on thisKT-69035K2: Investigate potential removal of FirManglerKT-69473Missing suspend-conversion for lambda in the last statement of when with expected typeKT-64640Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collectionsKT-65441K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfacesKT-54792Store program order of properties inside@kotlin.MetadataKT-59832K2: Fix the TODO about merging values for labels in UnusedCheckerCompose compiler
New features
b/328817808Added the PausableComposition feature flags83c48a0Decoy support for JS target is removed from Compose compilerFixes
CMP-6926iOS compilation failure: Unresolved reference 'copy'CMP-6842FAKE_OVERRIDE declarations are not preserved in metadata and should not be marked with annotationsCMP-6788non-private field compilation warnings (stableprop & ComposableSingletons)CMP-6685Native/WASM compilation failure on Composable function with value-type arg + returnb/376058538Fix stack overflow when inferring stability of indirect generic loopb/339322843Transform@Composableproperty delegate referencesb/366040842,b/365066530Replace deep copy in Compose plugin with in-place type mutationb/329477544Force open / overridden Composable functions to be non-restartable.b/361652128Disable live literal transform if the corresponding flag is disabledb/325004814[Compose] Fix infinite recursion in target analysisb/357878245Disallow open@Composablefunctions with default params to fix binary compatibility issues.b/338597078[Compose] Fix target warning messageb/351858979Fix stability inferencing of interfaces on incremental compilationb/346821372[Compose] Fix code generation for group optimizationb/339311821Give warning when stability configuration file is not foundb/346821372Fixes group generation for if statements when nonSkippingGroupOptimization is enabled.IDE. Gradle Integration
KT-48554[Multiplatform Import] Ensure consistency betweenGradleImportPropertiesandPropertiesProviderIR. Actualizer
KT-71631Kotlin-to-Java direct actualization: java annotation element isn't actualizedKT-71597Kotlin-to-Java direct actualization: it is possible to actualize a function with default parametersKT-71592Kotlin-to-Java direct actualization: constructor of nested class can't be actualizedKT-71577Kotlin-to-Java direct actualization: method can be actualized by java static methodKT-69632K2: Expect actual mismatch on actualization with alias to expect classKT-71817Actualization of static members is broken for non-JVM platformsIR. Inlining
New Features
KT-69527Set the right visibility for synthetic accessors in SyntheticAccessorLoweringFixes
KT-71232Implement an IR validation check that ensures that all IrFields are private on non-JVM backendsKT-69307Source offsets seem incorrect after IR inliningKT-72884Internal error in body lowering: IllegalStateException: Can't inline given reference, it should've been loweredKT-71659IR Inliner fails to inline function expressions due to implicit cast from the 1st phase of inliningKT-69681IR: Report warnings on exposure of private types in non-private inline functionsKT-72521Kotlin/Native: java.lang.AssertionError: kfun:androidx.compose.runtime#access$<get-androidx_compose_runtime_ProvidedValue$stable>$p$tComposerKt(){}kotlin.IntKT-72623Don't generate synthetic accessors in files other than the one being loweredKT-70420Enable double-inlining in Native & JS backends by defaultKT-67292Handling assertions before the IR inlinerKT-70423KLIB: SyntheticAccessorLowering - generate static factory functions instead of synthetic constructorsKT-69565Don't generate synthetic accessors for private symbols inside local classesKT-69787Handle clashes of synthetic accessors generated for top-level callablesKT-71137Generate synthetic accessors for backing fieldsKT-67172Native & JS: Introduce OuterThisInInlineFunctionsSpecialAccessorLoweringKT-64865Explicitly generate accessors for private declarations in inline functionsKT-71657K/JS: Double-inlining causes failures in IC with top-level synthetic accessorsKT-71078Inline all functions in local classes at the 1st stage of inliningKT-69802Don't extract local classes from inline functions in double inlining modeKT-66508IR inliner: Add implicit cast for initializer of temporary variablesKT-66507IR inliner: Enable implicit casts in all KLib backendsKT-69466IrInlinedFunctionBlock: Refactor it to make it possible to serialize in KLIBsKT-69317IR Inlining. Try to place inlined arguments outsideIrInlinedFunctionBlockKT-67149Common Native/JS lowering prefix at the 2nd phase of compilationKT-69172Implement double-inlining for NativeKT-67304Keep in common prefix: Shared variables + local classes in inline lambdasKT-67170ArrayConstructorReferenceLowering is missing in NativeKT-70583Internal error in body lowering: java.lang.IllegalStateException: An attempt to generate an accessor after all accessors have been already added to their containersKT-69700Inlinestub_for_inlininguse sites survive after the inlinerKT-69462Support dumping IR after inlining in compiler testsKT-70693IR: replace IrReturnableBlock.inlineFucntion with IrInlinedFunctionBlock.inlineFucntionKT-70763IR inline: consider storing stub_for_inline as an inlined function for callable referenceKT-69168Wrap assertion calls before IR inlinerKT-69167Create intrinsics in stdlib for handling assertions in KLIB-based backendsKT-69169Expand assertion intrinsics in backend based on CLI parametersKT-69174Implement the basic Synthetic Accessors Lowering for KLIB-based backendsIR. Interpreter
KT-70388K2 IDE / Kotlin Debugger: InterpreterError “Unsupported number of arguments for invocation as builtin function: INT_MAX_POWER_OF_TWO” during evaluationIR. Tree
Fixes
KT-69644Report warning on cross-file IrGetField operations generated by compiler pluginsKT-68789Prepare tests for testing visibility (non-)violation in inlined IRKT-71826stdlib fails to compile with-Xserialize-ir=allKT-70333IR: remove ability to apply compiler plugins during KAPT stub generation phaseKT-67752Make copyRemappedTypeArgumentsFrom and transformValueArguments methods in DeepCopyIrTreeWithSymbols protected instead of privateKT-68151Setup testing visibility of referenced declarations in IRKT-68988[Tests] Streamline the order of irFiles in IR- and Kotlin-like dumpsKT-65773Auto generate IR implementation classesKT-70330Automatically keep track of IrValueParameter.indexKT-68495Compile-time failure on bounded generic value used in a contains-check with rangeKT-68974Validate scopes of IrValueParameters in IrValidatorJavaScript
New Features
KT-70254K/JS: Generate arrows in ES6 mode instead of anonymous functionsKT-70283KJS / ES6: Don't generate bind(this) calls for anonymous functions that capturethisFixes
KT-43567KJS: toString() method and string interpolation of variable produce different codeKT-70533KJS: changed string concatenation behavior in 2.0KT-14013JS toString produces different result for nullable/non-nullable ref to the same arrayKT-72732KJS / ES6: "SyntaxError: 'super' keyword unexpected here" with enabled-Xir-generate-inline-anonymous-functionsand disabled arrow functionsKT-69408[JS] Enable insertAdditionalImplicitCasts=true (as in other KLIB-based backends)KT-71821K/JS tests are failing with coroutines flow and turbine on timeoutKT-31799Allow non-identifier characters in Kotlin/JS (backquoted properties,@JsName)KT-55869Coroutine is not intercepted, when the coroutine is started callingstartCoroutineUninterceptedOrReturnusing callable referenceKT-70117Generate debug info for code fromjscallKT-69642ES generator-based coroutines rely on evalKT-67452K2: Consider hiding dynamic type creation under FlexibleTypeFactory for JS onlyKT-70226Delete JS tests that were only run with the legacy JS backendKT-71338K/JS: Add a flag for switching generating arrow functions on & offKT-69173Implement double-inlining for JSKT-67327JS: Remove error toleranceKT-69892Array.isArray() returns false for an instance returned by KtList.asReadonlyArrayView()KT-70231Delete the org.jetbrains.kotlin.cli.js.dce.K2JSDce classKT-69928KJS: keys() and values() of KtMap's JS view don't behave as expectedKT-70707KJS: asJsReadonlyMapView does not implement ReadonlyMap correctlyKT-71220Fix invalid IrFunctionReference creation in InnerClassConstructorCallsLoweringKT-70393Investigate failing JS test after switch stdlib compilation to K2KT-64429K2: Implement KlibJsIrTextTestCaseGenerated for K2KT-69587[Tests] Fix multi-module deserialization in JS irText testsKT-70219Delete the org.jetbrains.kotlin.cli.js.K2JSCompiler classKT-70221Rename org.jetbrains.kotlin.cli.js.K2JsIrCompiler to K2JSCompilerKT-70229Remove test classes related to the legacy JS backendKT-70359Remove legacy backend-related test directives from Kotlin/JS testsKT-70362Clean up Gradle tasks for running JS tests against the legacy JS backendKT-66181Reorganize JsCodeOutliningLowering and keep it before the IR inlinerKT-30016JS BE does not generate special bridge methodsKT-68975KJS: Investigate callingjs(...)from inline functionsKMM Plugin
KT-71011AS KMP plugin: ios application can't start for 2024.2.1Klibs
New Features
KT-64169[KLIB Resolve] Don't skip libraries that happen to have the sameunique_nameKT-68322Compiler (JS, Wasm): warn about incompatible Kotlin stdlib/compiler pairFixes
KT-61098[KLIB Resolve] Don't allow working with KLIB "repositories"KT-72965Ignore subclassOptInRequired constructor warningKT-68792Bump KLIB ABI version in 2.1KT-67474K2: Missing@ExtensionFunctionTypein metadata in KLIBsKT-71633[2.1.0] Suspicious "Argument type mismatch" errorKT-70146[KLIB Resolve] Don't fail on nonexistent transitive dependencyKT-71455[KLIB Resolve] Forbid passing KLIB unique names via CLIKT-67448[KLIB Resolve] Deprecate passing KLIB unique names via CLIKT-67450[KLIB Resolve] Kotlin/Native: Only one implicit repository should remain for the compiler ("dist")KT-70285Warning about incompatible stdlib (JS/Wasm) is not reported if stdlib is unpackedKT-66218Clean-up the code for serialization & deserialization of DFGs to & from KLIBsKT-71414KotlinLibraryResolver.resolveWithDependencies was evolved in binary incompatible wayKT-68195move KlibMetadataProtoBuf to frondend-independent moduleLanguage Design
KT-54617Stabilize@SubclassOptInRequired: ability to require opt-in for interface implementationKT-54458Preview of non-local break and continueKT-69924Mention 'if' guard when '&&' is used incorrectlyKT-71222Remove@ExperimentalSubclassOptInfrom SubclassOptInRequiredKT-67675Allow usage of Array<Nothing?>KT-70754Changes in typeOf behaviour for Kotlin/NativeKT-58659Prohibit implementing a var property with an inherited val propertyLibraries
Performance Improvements
KT-66715Performance: faster alternative to String.lines()Fixes
KT-71628Review deprecations in stdlib for 2.1KT-69545Kotlin/Native: Deprecate API marked with FreezingIsDeprecated to errorKT-56076K2: build Kotlin standard libraryKT-71660Stabilize experimental API for 2.1KT-54299Extract org.w3c declarations to separate library from K/Wasm StdlibKT-68027Document caveats and deincentivise usage of measureTimeMillisKT-71581Update outdated documentation to common lazy and provide samplesKT-71796Improve documentation for Path.walk and Path.visitFileTree functionsKT-68019Fill in missing package descriptions for standard library documentationKT-52181Native: Inconsistent behaviour of LinkedHashMap#entries on JVM and NativeKT-71570Document suspend lambda builderKT-65526Rewrite builtins as expect-actualKT-68502K2: Fix or suppress stdlib K2 warningsKT-68731K2: Handle some formally incompatible expect/actual classes in JVM stdlibKT-70378Implement custom serialization for UuidKT-70005K/Wasm and K/Native: IntArray.sort - array element access out of boundsKT-66764kotlinx-benchmark: rework on kotlin-compiler-embeddableKT-69817Set up klib binary API validation for stdlibKT-68396Handle some formally incompatible top-level expects/actuals callablesKT-69524kotlin.uuid.Uuid: checkHyphenAt - error message always specified index 8KT-69327[native] FloatingPointParser.initialParse works incorrectly for some inputsKT-46785Get rid of !! after readLine() in the standard libraryNative
KT-71435Native: cannot access class 'objcnames.classes.Protocol'KT-49279Kotlin/Native: update LLVM from 11.1.0 to 16.0.0KT-61299Native: patch LLVM to prevent it from using signal handlers incompatibly with JVMKT-69637Native: our LLVM shouldn't advise submitting bugs to the upstreamKT-64636kotlin.incremental.native=true causes IrLinkageErrorKT-69142ObsoleteWorkersApi and FreezingIsDeprecated is not displayed on targets in webdocsNative. Build Infrastructure
KT-71820Update the coroutines version used in kotlin-native build infrastructureKT-69479Native: remove custom python version building from the LLVM builder container imageKT-63214[K/N] llvm build script fails with MacOSX14.0.sdk sysrootNative. ObjC Export
KT-62997IllegalStateException for hashCode(): KClass for Objective-C classes is not supported yetKT-59497KClass.simpleName returns null in ObjC-inherited classNative. Platform Libraries
KT-70032Rebuild platform libraries in 2.1.0 with Xcode 16KT-69448LLVM 16 clang with Xcode 16 headers: 'sys/cdefs.h' file not foundNative. Runtime
KT-70680Kotlin/Native: Use WritableTypeInfo when creating Swift wrapper from the runtimeKT-70568Native: revert workaround for debug with LLVM 16KT-67730Native: fix runtime compilation warnings after update to LLVM 16Native. Runtime. Memory
KT-72624Native: testRelease_on_unattached_thread sometimes fails with Releasing StableRef with rc 0KT-71401K/N: CMS barrier can be executed on an unregisterred threadKT-70364Kotlin/Native: data race during GC initializationKT-68544[Native] Implement heap dump toolKT-70365Kotlin/Native: make thread id be pointer sizeNative. Swift Export
New Features
KT-71539Swift Export: export class member overridesKT-70442Swift Export: export class inheritanceKT-68864Refactor internal details of swift-export-standaloneFixes
KT-70678Swift Export: generate Kotlin<->Swift type mappingKT-70920Swift Export Nullability: primitive typeKT-71087Swift Export: Nullability: NeverKT-71086Swift Export: Nullability: StringsKT-70919Swift Export Nullability: reference typeKT-71026Swift Export: function overloading with ref types does not workKT-70960Swift Export nullability: add nullability to sir and printerKT-70063Swift export generates invalid Swift code for class and function with the same nameKT-70069Swift export: filter out extension propertiesKT-70068Swift export: nullable types are not marked as unsupportedKT-69287Swift Export: support leaking dependenciesKT-69633Provide interface for multiple module translationKT-69286[Swift Export][TestInfra] Support translating multiple rootsKT-69376Property with Any type does not force addition of importReflection
KT-71378KotlinReflectionInternalError: Inconsistent number of parameters in the descriptor and Java reflection objectSpecification
KT-53427Specify@SubclassOptInRequiredTools. CLI
New Features
KT-8087Make it possible to suppress warnings globally in compiler (via command-line option)KT-71537Add JVM target bytecode version 23Fixes
KT-70991K2: Compilation fails if project version has a commaKT-70179K2: Building a file with kotlin-test-junit without junit does not include annotationsKT-72311KotlinCliJavaFileManagerImpl caches empty result and broke repeated analysesKT-61745K2: support light tree in multi-module chunk modeKT-70885Errors are not reported for wrong arguments in -Xsuppress-warning flag for non-jvm backendsKT-69541K2: "IllegalArgumentException: Unexpected versionNeededToExtract" on using JAR packaged as ZIP64KT-69434K2: Kotlin compiler JarFS can't handle large dependencies (>2GB)KT-70959K2: Support legacy metadata jar format in K2 compilerKT-70337Obsolete code is not removed after refactoring -JvmEnvironmentConfigurator.registerModuleDependenciesKT-70322Merge CLITool and CLICompiler classesTools. CLI. Native
KT-68673Kotlin/Native "You have not specified any compilation arguments. No output has been produced" when no source nor-Xincludeis passedTools. Compiler Plugins
Fixes
KT-72804Regression in Kotlin 2.1.0: compilation fails when building iOSKT-72824Kotlin power-assert plugin StringIndexOutOfBoundsExceptionKT-71658Transform top-level atomic properties to Java boxed atomicsKT-65645Atomicfu-plugin: compilation hangs on a long string concatenationKT-69038Power-Assert does not display const valsKT-71525Setting JvmAbiConfigurationKeys.REMOVE_PRIVATE_CLASSES = true triggers java.util.ConcurrentModificationExceptionKT-41888IrExpression startOffset and endOffset are inconsistent with raw file textKT-69856Compose Plugin: IrType.erasedUpperBound throws NullPointerException when evaluating IrScript nodes due to missing targetClassKT-69410PowerAssert: Cannot find overload of requireNotNull without existing messageKT-66293Atomicfu-plugin: wrong return types for lowered extension functionsKT-69646PowerAssert: result of array access operator is unalignedKT-70112Power Assert: multiline assertion supportKT-70504[atomicfu-plugin] Incremental compilation fails for atomic extensions on JVMKT-70351K2 CodeGen API exception triggered by a compose compiler plugin lowering transformer for data class exampleKT-70113Power Assert: tab supportKT-69806K2: SOE on nested plugin-like annotation in class annotated with itselfKT-69538jvm-abi-gen: Remove copy$default if data class constructor is private and ConsistentCopyVisibility is usedTools. Compiler plugins. Serialization
KT-70110Prohibit@Serializableon companion object of another@SerializableclassKT-69388Serialization: "You should use ConeClassLookupTagWithFixedSymbol" caused by@Serializableon local generic classTools. Daemon
KT-69929compileKotlin task reports that daemon has terminated unexpectedlyKT-72530The daemon has terminated unexpectedly on startup attempt #1 with error code: UnknownTools. Fleet. ObjC Export
Fixes
KT-71162ObjCExport: nullable functional type with reference argumentsKT-71022ObjCExport: enum c keywords translationKT-71082ObjCExport: KotlinUnit translated as Function1KT-70781ObjCExport: classifiers and callables type parameters translationKT-70943ObjCExport: extension orderKT-70840ObjCExport: duplicated interfacesKT-70642ObjCExport: translate collection type arguments as idKT-70546ObjCExport: method generic parameter is lost and translated as idKT-70329ObjCExport: translation and forward of super generic typesKT-70263ObjCExport: generic extension supportKT-69685ObjCExport: extension translated as not extensionKT-70318ObjCExport: translate companion typeKT-69252ObjCExport: Get rid of context receivers from ./native/objcexport-header-generatorTools. Gradle
New Features
KT-69940Expose supplementary compiler warnings via KGPKT-71603Introduce KotlinJvmExtension and KotlinAndroidExtensionKT-70383KotlinJvmFactory registerKaptGenerateStubsTask() function should also request compilation task providerKT-65125Provide basic support for Swift Export in Kotlin Gradle PluginKT-71602Introduce KotlinTopLevelExtensionKT-69927Need ability to pass KotlinJvmCompilerOptions to registerKotlinJvmCompileTask()KT-71227[Compose] Add PausableComposition feature flag to the Compose Gradle PluginKT-68345'composeCompiler#stabilityConfigurationFile' doesn't allow setting multiple stability configuration filesPerformance Improvements
KT-65285Use uncompressed KlibsFixes
KT-71411Add FUS statistics for new Dokka tasksKT-72495Warn about kotlin-compiler-embeddable loaded along KGPKT-70543Gradle: create migration guide for those who are using Kotlin compiler classes indirectly available in buildscriptsKT-69329Compatibility with Gradle 8.9 releaseKT-71291Log plugins from the list as Gradle pluginsKT-69255Deprecate KotlinCompilationOutput#resourcesDirProviderKT-61706Gradle: remove kotlin-compiler-embeddable from build runtime dependenciesKT-73128Apply Kotlinlang template for partial HTMLsKT-47897Official Kotlin Gradle plugin apiKT-58858Add KDoc documentation for Kotlin Gradle plugin APIKT-73076Kotlin Gradle Plugin API Reference: adjust settingsKT-72387KGP 2.1.0-RC-227 changes cause KSP to crash calling produceUnpackedKlibKT-53280Gradle plugin leaks some compiler related extensions into APIKT-69851Compatibility with Gradle 8.10 releaseKT-65565Remove deprecated common platform plugin idKT-69719Bump minimal supported Gradle version to 7.6.3KT-69721Bump minimal supported Android Gradle plugin version to 7.3.1KT-66944Relax host requirements on Kotlin klib compilationKT-72651Unable to usetargetfor KotlinBaseApiPlugin.createKotlin(Jvm/Android)Extension()KT-72467kotlin.sourceSets extension not added for KotlinBaseApiPlugin.createKotlinAndroidExtension()KT-72303KGP 2.1.0-Beta2 broke compatibility with KSPKT-68596Update KGP deprecations before 2.1KT-67951Update Compose extension KDocKT-66049KGP JVM: Publishing isn't compatible with isolated projects and project dependenciesKT-71405Compose compiler gradle plugin: project.layout.file can't be used as a value of the 'stabilityConfigurationFiles' optionKT-71948KotlinJvmFactory : get rid of replaces with TODO()KT-72092Gradle: use packed klib variant as the default when no packaging attribute is presentKT-58956Offer a shared interface for JVM and Android compilerOptions in Project extensionKT-70251Gradle: hide compiler symbols in KGPKT-70430Clean-up obsolete Gradle plugin variants for Gradle versions <7.6KT-69853Compile against Gradle API 8.10KT-69852Run Gradle integration tests against Gradle 8.10 releaseKT-65990UpdateGradleDeprecatedOption.levelvalues for arguments removed from the DSL after 2.1KT-69331Run tests against Gradle 8.9 releaseKT-69332Compile against Gradle 8.9 APIKT-67174Cleanup old Test DSLKT-71071BuildFusStatisticsIT.testInvalidFusReportDir test failes on WindowsKT-69585KGP / Composite Build: "Could not apply withXml() to generated POM" during publishingKT-59769Many "Unexpected exception happened" warnings during build without internet connectionTools. Gradle. Cocoapods
KT-63811cinterop fails to build klib for iosArm64 target when iOS simulator SDK isn't installedKT-70500Remove useLibraries from CocoaPods pluginKT-56947Replace AFNetworking with a smaller library in testsTools. Gradle. JS
KT-69628K/Wasm: Node.js version per projectKT-71578KotlinJS. Webpack does not recompile on changes withper-fileKT-71536[JS, Wasm] Stop collecting information about KLIB IC in Kotlin2JsCompileKT-70621Move kotlin-test-js-runner out of Kotlin repositoryKT-67442KJS / Gradle:kotlinStorePackageLockfails due to OS-dependent lockfile with npm package managerTools. Gradle. Multiplatform
New Features
KT-70469Add feature flag for Project Isolation and Kotlin MultiplatformKT-70897Add KotlinBaseApiPlugin.kotlinAndroidExtensionFixes
KT-71206KGP: Test source set may get duplicated KLIBs of different versionsKT-71209Drop Hierarchy Template diagnostic about used shortcutsKT-69412ChangeKotlinTargetAlreadyDeclaredChecker's severity from warning to errorKT-70060KGP: handleHierarchicalStructureFlagsMigration doesn't support project isolationKT-57280Expose Kotlin Project Structure metadata via consumable configurations instead of accessing all gradle projects directlyKT-64999Support Project Isolation with Kotlin Native tasks (XCode integration, Cocoapods etc)KT-64998Granular Metadata Dependencies Transformation is not compatible with Project IsolationKT-70650GenerateProjectStructureMetadata is not compatible with Project IsolationKT-71675checkSandboxAndWriteProtection collides with Compose's syncComposeResourcesKT-66461Promote compiler options DSL for multiplatform projects to stableKT-69323Don't pass platform dependencies to metadata compilationKT-72454Revert changes made in KT-69899 i.e. make kotlin.android.buildTypeAttribute.keep = false by default againKT-70380KMM App failed to consume android binary libKT-71423Xcode archive missing dSYM files since Kotlin 2.0.20KT-69899KMP: Publish BuildType by default for android publications with multiple variantsKT-71428Change deprecation message for KMP target shorcutsKT-58231Kotlin Gradle Plugin: set deprecation level to Error for KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImportKT-72068Distribution for klib cross-compilation is not downloaded during compile tasksKT-70612Report incompatibility warning when Project Isolation enabled and Included builds are usedKT-71529Deprecate targetFromPreset API with an errorKT-69614Deprecate with error ios/tvos/watchos presetsKT-69974KMP: POM dependency rewriter doesn't work with Included Builds OR dependencySubstitutionKT-69472Remove IncompatibleAgpVersionTooHighWarning diagnosticKT-64996Commonize Native Distribution task is not compatible with Project IsolationKT-62911Export Kotlin Multipaltform Project Coordinates as a secondary variant of apiMetadataElementsKT-70888Project isolation: Project cannot dynamically look up a property in the parent project at PropertiesProvider.propertiesWithPrefixKT-70688Move ExperimentalSwiftExportDsl to another packageKT-58298AndroidAndJavaConsumeMppLibIT maintenance: Convert to new infrastructure and add test for newer AGP versionsKT-68976K2 IDE: Unresolved FileSystem.SYSTEM from OKIO in shared source setsTools. Gradle. Native
KT-67162KGP: Kotlin/Native with Isolated Projects: kotlinNativeBundleBuildService cannot be changed any futherKT-72366KGP 2.1.0-Beta2 doesn't downloadkotlin-native-prebuiltwhen running DokkaKT-45559CInteropProcess: Changes to header files are not recognized; Task is still UP-TO-DATEKT-71051K/N dependencies are re-downloaded multiple times on WindowsKT-71398kotlinNativeBundleConfiguration should not contain dependencies on unsupported platformsKT-71722kotlinNativeBundleConfiguration present in JVM-only Gradle projectKT-55832Support passing errors to Xcode when configuration cache is enabledKT-70690not possible to build iOS app with Swift Export and Xcode 16KT-65838Remove project usage from PlatformLibrariesGeneratorKT-70875KSP1 native tasks fail on configuration phaseTools. Incremental Compile
KT-69123IC: "NoSuchFieldError: No instance field". Not tracking changes to Android ViewBinding classTools. JPS
KT-68565K2: IllegalStateException: Source classes should be created separately before referencingKT-71042JAVA_MODULE_DOES_NOT_READ_UNNAMED_MODULEwhen compiling IntelliJTools. Kapt
KT-72249K2 KAPT Not picking up use site annontation like K1 KaptKT-69860K2 kapt: use compiler directly instead of Analysis APIKT-71776K2 Kapt in 2.1.0-Beta1 fails withe: java.lang.IllegalStateException: FIR symbol "class org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol" is not supported in constant evaluationKT-70879Kapt: check that Kotlin 2.1 language features are ignored correctly by K1 kaptKT-71431K2KAPT fails on modules without any annotation processorsKT-70600K2 KAPT: inline reified function has a null signatureKT-70718Kapt: "error: could not load module " on error type in data class componentKT-69861Kapt: use IR to obtain line information instead of PSITools. REPL
KT-71109Kotlin Scripting REPL doesn't support keyboard shortcutsTools. Scripts
KT-68685K2 / Script: "KotlinReflectionInternalError: Unresolved class:" caused by main.kts script with nested classes and reflectionKT-68545Using labeledthisaccess to implicit receivers fails in scriptsTools. Wasm
KT-67797Improve the variable view during debugging in Fleet for Kotlin/WasmKT-71506[Wasm, IC] FUS report for builds with incremental compilationKT-70100wasmJs Target Fails to Compile on ARM64 LinuxKT-70367Update binaryen once we get a release with PR 6793KT-67863K/Wasm: Remove ChromeWasmGcKT-71360K/JS & K/Wasm: Upgrade NPM dependenciesKT-70297Wasm: Incorrect kotlinJsTestRunner version set in Multi-Project Builds with mixed kotlin-stdlibsv2.0.21: Kotlin 2.0.21Changelog
Apple Ecosystem
KT-69093Xcode 16 support in KotlinBackend. Native. Debug
KT-71374lldb: step out breaks breaking in Xcode 16Compiler
Fixes
KT-69735K2: Static fields are missing from the declaration list of corresponding IrClass for java classKT-71122Regression in Kotlin Compiler 2.0 causing NPE in the runtimeKT-70931K2 / Scripts: "cannot convert IrExpression to ConstantValue" when using function annotationKT-70584K2: "IllegalStateException: flow for PostponedLambdaExitNode not initialized - traversing nodes in wrong order?"KT-70808K2: "node has already been visited" with anonymous object in dead codeKT-69985K2: Classifier declarations from root package are resolved without imports in non-root packagesKT-70683K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwnerKT-70901False positive Public-API inline function cannot access non-public-API property accessorKT-70930K2: Java annotations not present on ENUM_ENTRY IR elementsKT-70194K2 IDE: exception on a very red fileKT-69399Native: IllegalStateException: "Failed to build cache"Compose compiler
Fixes
b/329477544Force open / overridden Composable functions to be non-restartable.b/361652128Disable live literal transform if the corresponding flag is disabledIR. Actualizer
KT-70894IR crash. UnprocessedIrFunctionFakeOverrideSymbolwhen actualize to JavaIR. Tree
KT-71191SymbolTable: Check if the provided signature is public before adding a symbol to the SymbolTableNative. Build Infrastructure
KT-71485K/N runtime parts don't build due to _Float16 issues on x86_64 macOSNative. C Export
KT-69507LLVM 11 clang with Xcode 16 headers: standard c++ headersNative. C and ObjC Import
KT-71029Investigate why stdarg.h declarations leak into testModuleANative. Platform Libraries
KT-70566LLVM 11 clang with Xcode 16 headers: 'sys/cdefs.h' file not foundKT-71624Eliminate remaining UIKit/AppKit removed signaturesKT-70031Rebuild platform libraries in 2.0.21 with Xcode 16Native. Testing
KT-70603C++ with -fmodules: cyclic dependency in module 'std': std -> _wctype -> __wctype -> std in dev llvm toolchainsTools. CLI. Native
KT-71262KotlinNativeLink tasks fetching from network despite -Xoverride-konan-properties=dependenciesUrl= being setTools. Compiler Plugins
KT-71038PowerAssert: Constant on RHS of elvis operator leads to compiler crashTools. Daemon
KT-35381Get rid of the native-platform usage in kotlin compilerTools. Gradle. Multiplatform
KT-71444Certain POMs produced by Kotlin 2.0.20 cannot be consumed by KMP projects with Android targetsKT-70700Gradle 8.10: The value for task ':commonizeNativeDistribution' property 'kotlinNativeBundleBuildService' cannot be changed any furtherKT-71396Gradle client side JVM explodes with OOM due to xcodebuild logsTools. Gradle. Native
KT-71419Light bundle KGP IT run against a stable K/N versionTools. JPS
KT-71450Constant build failure: com.intellij.util.io.ClosedStorageException: storage is already closedv2.0.20: Kotlin 2.0.20Changelog
Analysis. API
New Features
KT-68143Analysis API: support KtWhenConditionInRange call resolutionPerformance Improvements
KT-67195K2: do not call redundant resolve on body resolution phase for classesFixes
KT-67360Analysis API: KtDestructuringDeclarationSymbol#entries shouldn't be KtLocalVariableSymbolKT-67748K2: AllCandidatesResolver modifies the original FirDelegatedConstructorCallKT-68198Analysis API: Support application service registration in plugin XMLsKT-62936Analysis API: NativeForwardDeclarationsSymbolProvider is not supported for Kotlin/NativeKT-68689LL API: support analysis from builtins moduleKT-69630KAPT User project builds with KAPT4 enabled fail with Metaspace overflowKT-65417K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source setsKT-68882Analysis API: RefactorKaSymbolsKT-65413K2 IDE: KTOR unresolved serializer() call for@Serializableclass in common codeKT-67996Analysis API: rename Kt prefix to KaKT-67775Analysis API: expose only interfaces/abstract classes for the user surfaceKT-68009K2: lowering transformers of Compose compiler plugin access AbstractFir2IrLazyFunction modality, which results in null point exceptionKT-68918collectCallCandidates works incorrectly for parenthesis invokeKT-68462Analysis API: Integrateproject-structuremodule intoanalysis-apiandanalysis-api-platform-interfaceKT-69131AA: "provideDelegate" operator is not resolved from the delegation reference in FIR implementationKT-69055Analysis API: StabilizeKaScopesKT-66216K2 IDE. "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is null" on incorrect string templateKT-68959Introduce KaSeverityKT-53669Analysis API: redesign KtSymbolOrigin to distinguish kotlin/java source/library declarationsKT-68846Mark KaFirReference and all implementations with internal modifierKT-68845Move KaSymbolBasedReference to resolution packageKT-68844Move KaTypeProjection to types packageKT-65849K2: Rename 'high-level-api' family of JARs to 'analysis-api'KT-62540Remove uses of TypeInfo.fromString and TypeInfo.createTypeText from Kotlin pluginKT-62889K2 IDE. FPMISSING_DEPENDENCY_CLASSon not available type alias with available underlying typeKT-68155Analysis API: Add PSI validity check toanalyzeKT-62343Analysis API: fix binary incopatibility problems cause byKtAnalysisSessionProvider.analyzebeing inlineKT-68498To get reference symbol the one should be KtSymbolBasedReferenceKT-68393Analysis API: RenameKaClassLikeSymbol. classIdIfNonLocaltoclassIdKT-62924Analysis API: rename KtCallableSymbol.callableIdIfNonLocal -> callableIdKT-66712K2 IDE. SOE on settings string template for string variable with the same nameKT-65892K2: "We should be able to find a symbol" for findNonLocalFunctionKT-68273AA: supportKtFirKDocReference#isReferenceToImportAliasKT-68272AA: KtFirReference.isReferenceToImportAlias doesn't work for references on constructorKT-66996Analysis API: Expose the abbreviated type of an expandedKtTypeKT-66646K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl from FirJsHelpersKt.isExportedObjectKT-68203K2: Analysis API: wrong type of receiver value in case of imported object memberKT-68031LL resolve crash in case of PCLA inference with local objectKT-67851K2:PsiReference#isReferenceToalways returns false for references to Java gettersKT-68076AA: use type code fragments for import alias detectionKT-65915K2: Analysis API: extract services registration into xml fileKT-68049Analysis API: do not expose imported symbolsKT-68075K2: Analysis API: Type arguments for delegation constructor to java constructor with type parameters not supportedKT-65190AA: reference to the super type is not resolvedKT-68070AA: KtExpressionInfoProvider#isUsedAsExpression doesn't work for KtPropertyDelegateKT-67743K2: Stubs & AbbreviatedTypeAttributeKT-67706K2: "KtDotQualifiedExpression is not a subtype of class KtNamedDeclaration" from UnusedCheckerKT-68021Analysis API: do not break the diagnostic collection in a case of exception from some collectorKT-67973AA FIR: wrong KtCall modeling for == from type boundKT-67949AA: Type arguments of Java methods' calls are not reported as used by KtFirImportOptimizerKT-67988AA: functional type at receiver position should be wrapped in parenthesisKT-66536Analysis API: ContextCollector doesn't provide implicit receivers from FirExpressionResolutionExtensionKT-67321AA: Type arguments of Java methods' calls are not resolvedKT-64158K2: "KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtParameter"KT-60344K2 IDE. "KotlinExceptionWithAttachments: expectcreateKtCallto succeed for resolvable case with callable symbol" on attempt to assign value to param named getParamKT-64599K2: "expectcreateKtCallto succeed for resolvable case with callable" for unfinished if statementKT-60330K2 IDE. ".KotlinExceptionWithAttachments: expectcreateKtCallto succeed for resolvable case with callable symbol" on attempt to assign or compare true with somethingKT-66672K2 IDE. False positive INVISIBLE_REFERENCE on accessing private subclass as type argument in parent class declarationKT-67750Analysis API: Removeinfixmodifiers from type equality and subtyping functionsKT-67655Analysis API: declare a rule how to deal with parameters in KtLifetimeOwnerKT-61775Analysis API: KtKClassAnnotationValue lacks complete type informationKT-67168K2: Analysis API: Rendering is broken for JSR-305 enhanced Java typesKT-66689Analysis API: KtFirPackageScope shouldn't rely on KotlinDeclarationProvider for binary dependencies in standalone modeKT-60483Analysis API: add isTailrec property to KtFunctionSymbolKT-67472K2: Analysis API FIR: KtFunctionCall misses argument with desugared expressionsKT-65759Analysis API: Avoid hard references toLLFirSessionin session validity trackersKT-60272K2: Implement active invalidation ofKtAnalysisSessionsKT-66765K2: Analysis API: support classpath substitution with library dependencies in super type transformerKT-67265K2: status phase should resolve original declarations in the case of classpath subsitutionKT-67244K2: StackOverflowError in the case of cyclic type hierarchy and library classpath substitutionKT-67080K2: clearer contract for lazyResolveToPhaseWithCallableMembersKT-66713K2 FIR: Expose a way to get the module name used for name manglingKT-61892KtType#asPsiType could provide nullability annotationsKT-66122Analysis API: PassKtTestModuleinstead ofTestModuleto tests based onAbstractAnalysisApiBasedTestAnalysis. Light Classes
KT-65714K2: IDE K2: "org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirClassLikeSymbolPointer pointer already disposed"KT-65835SymbolLightClassForClassLike.getNamereturnsnullfor a companion object instead ofCompanionKT-68261SLC: Constructors of sealed classes should be privateKT-68696DropDecompiledPsiDeclarationProvider-related stuffKT-68404SLC: wrong binary resolution to declaration with@JvmNameKT-68275LC: no arg constructor is not visible in light classesKT-66687Symbol Light Classes: Duplicate field names for classes with companion objectsKT-66804Symbol Light Classes: Fields from the parent interface's companion are added to DefaultImplsApple Ecosystem
KT-65542Cinterop tasks fails if Xcode 15.3 is usedBackend. Native. Debug
KT-67567Native: after updating to LLVM 16 lldb hangs when smooth steppingBackend. Wasm
KT-70591To much sources that don't exist inside SourceMap fileKT-69529compileProductionExecutableKotlinWasmJs FAILED: No such value argument slot in IrConstructorCallImpl: 1 (total=1)KT-68088Wasm: "UNREACHABLE executed at Precompute.cpp:838" running gradle task wasmJsBrowserDistribution for compose multiplatform on WindowsKT-65798K/Wasm: make an error on default export usageKT-68828Wasm test failure. expect-actual. private constructor in expectKT-68453K/Wasm: "Supported JS engine not detected" in Web WorkerKT-64565Kotlin/wasm removeEventListener function did not remove the event listenerKT-65322[Wasm] Clean-up bootstrap codeKT-66099Wasm: local.get of type f64 has to be in the same reference type hierarchy as (ref 686) @+237036KT-63230[WASM]println(null)prints 'ul'Compiler
New Features
KT-58310Consider non-functional type constraints for type variable which is an expected type for lambda argumentKT-68969Consider implementing general "redundant interpolation prefix" warningKT-57872Improve "Public-API inline function cannot access non-public-API" checkKT-68165Native: type checks on generic types boundaryKT-67611Implement improved handling of $ in literalsKT-67787Implement guard conditions for when-with-subjectKT-39868Allow access to protected consts and fields from a super companion objectKT-66169useContentslacks acontractKT-67767Introduce an ability to enforce explicit return types for public declarations without enabling Explicit API modeKT-65841Allow to actualize expect types in kotlin stdlib to builtins in JVMKT-53834Support for JSpecify@NullUnmarkedPerformance Improvements
KT-69995K2: Slow compilation when star projecting mutually recursive bounds from javaKT-69723K2: code analysis taking too longKT-69898K2: Performance degradation in fir2ir caused by changes around intersection typesKT-68034Devirtualization analysis fails to devirtualize string.getFixes
KT-67102IR Evaluator: NoSuchFieldException when accessing a private delegated propertyKT-35305"Overload resolution ambiguity" on function for unsigned types (UByte, UShort, UInt, ULong)KT-69211K2: java.lang.IllegalArgumentException: Failed requirementKT-68874Types with different captured types as type arguments are rendered incorrectlyKT-66086K/N: Unchecked illegal cast is not thrownKT-70186Kotlin 2.0.20-Beta2: Unexpected number of type arguments: 0KT-68889K2: type variable should not be fixedKT-69835K2 / Native: kotlin.native.binary.gc=cms throws library cached but its dependency isn't errorKT-70417DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE leads to NPE in BEKT-69964K2: Returning from an in-place lambda doesn't compileKT-69773K2: "Overload resolution ambiguity between candidate" with arraysKT-60261K2: No origin is set for composite assignment operatorsKT-15388Forbid delegated property to have external getter/setterKT-70238K2: false negative VOLATILE_ON_VALUE for constructor propertiesKT-68669K2: Generate inherited delegated members after actualizationKT-63828K2: Missingsignaturemetadata for accessors of properties inherited from delegateKT-63871K2: different value ofisNotDefaultflag for property inherited from delegateKT-67119Migration warning from context receivers to context parametersKT-68997K2: "No accessor found" for an inline value class when query the value of a delegated class by reflectionKT-64106Native: the compiler allows using-optand-gat the same timeKT-69766K2: False negative: Internal setter of generic class is accessible from another moduleKT-68364JVM: ISE "Bad exception handler end" on a non-local break/continue inside try with finallyKT-69494StackOverflowError in CfgTraverserKt.getPreviousCfgNodesKT-56880K2. Conflicting overloads for main() isn't shown when language version is set to 2.0KT-69282K2: equality of unsigned types with nullability works incorrectlyKT-68492JVM IR backend: IDE / Kotlin Debugger: AE “Non-reified type parameter under ::class should be rejected by type checker” on evaluating private generic functionKT-70039K2: inconsistent stability of vals of captured receiversKT-44139Don't report overload resolution ambiguities if arguments contain an error typeKT-68996K2: "Not enough information to infer type argument" caused by typealias annotation with fixed generic argumentKT-55851K2: reference to a field from package private class crashes in runtimeKT-65038K2: Type alias from indirect dependency causesMISSING_DEPENDENCY_CLASSerrorKT-61875Native: remove support for bitcode embeddingKT-67693Implement checkers for K1 compiler which will check the usage of K2 new features and report that they are not supported in K1 compilerKT-68556K2: false negative PROPERTY_WITH_NO_TYPE_NO_INITIALIZER on uninitialized property without typeKT-60445K2/Java: investigate possible symbol clash while enhancing Java class type parameter boundsKT-64193K2: No smartcast with two boolean expressions in a rowKT-65546K2. implement extended checker for unused anonymous parameter in lambdaKT-68358@EnhancedNullabilityis missing on value parameter type after inheritance by delegation with strict JSpecify enabledKT-67791False negative "Synchronizing by Meters is forbidden" with inline value classesKT-69495k2: inconsistent output of unsigned number in string templatesKT-69619K2. JAVA_TYPE_MISMATCH when Kotlin out generic type used in JavaKT-69563trying to call.sourceonFirPackageFragmentDescriptorresults in exceptionKT-69611Internal annotation FlexibleArrayElementVariance is written to output jarKT-69463K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERS with expect/actual declarationsKT-68724K2: "ABSTRACT_MEMBER_NOT_IMPLEMENTED" caused by open modifier on interfaceKT-69182K2: OptIn on enum companion blocks enum constantsKT-69191K2: "Unresolved reference" caused by nested data objectsKT-69569Wrong paths when one type has multiple annotated argumentsKT-55128Wrong type path in type annotations when type arguments are compiled to wildcardsKT-67692Native: support LLVM opaque pointers in the compilerKT-69402FirSupertypeResolverVisitor: ConcurrentModificationExceptionKT-69062K1: false-negative "unsupported feature" error on multi-dollar interpolationKT-68967Consider demoting warnings about multi-dollar interpolation to IJ inspectionsKT-68957False-negative diagnostics about multi-dollar interpolation on string literals without interpolationKT-69476False negative NO_ELSE_IN_WHEN on when over intersection type with expect enum/sealed classKT-67069K2: Delegated member calls interface method instead of fake overrideKT-63864K2: Missing abbreviated type in metadataKT-59833K2: Stop modifying values of enum entriesKT-69421K2: Resolve changed from delegated function to java default functionKT-69392K2: "UNSAFE_CALL": when with some variable subjects does not smartcast the variableKT-69053K2: Unsupported intersection overrides for fieldsKT-69227K2: "Argument type mismatch" caused by generic typealias and upper boundKT-31371NOT_YET_SUPPORTED_IN_INLINE: incorrect error message for local inline functionKT-49473PROTECTED_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' propertyKT-49474NON_PUBLIC_CALL_FROM_PUBLIC_INLINE: specialize error message for 'inline' propertyKT-49503SUPER_CALL_FROM_PUBLIC_INLINE_ERROR: specialize error message for 'inline' propertyKT-11302On inapplicable '@JvmStatic' annotation, highlight only the annotation, not the function signatureKT-59510K2: do not render annotations in the deprecation diagnosticKT-68532"This code uses error suppression for 'INAPPLICABLE_JVM_NAME'. While it might compile and work, the compiler behavior is UNSPECIFIED and WON'T BE PRESERVED"KT-68859K2: unable to suppress only "JAVA_MODULE_DOES_NOT_EXPORT_PACKAGE"KT-68469[K2] MISSING_DEPENDENCY_CLASS caused by redundant@file:JvmNameKT-68999K2: Unify the style of FIR generator with IR and SIR tree-generatorsKT-66061Kotlin/Native - building shared module for iOS - Argument list too longKT-49420Suspicious behaviour of frontend in case of DefinitelyNotNull type overloadKT-59752K2: "Conflicting overloads" if function with same signature added to different contextsKT-68618K1: Unresolved reference for qualified this in implicit typeKT-25341NOT_YET_SUPPORTED_IN_INLINE reported over anonymous object borderKT-69215K2: IllegalArgumentException for delegated function in anonymous object with captured type parametersKT-69044Destructuring declaration shouldn't be possible in declaration in whenKT-69028K2:FirJvmActualizingBuiltinSymbolProviderreturnsnullon builtins declarations if common source-set is not presentedKT-15704Rethink usage of term "type annotation" in error messagesKT-68970K2. Argument type mismatch caused by out projection in inferred type from if - elseKT-68800K2: DeleteConeAttributes.plusmethodKT-59389K2: Missing AMBIGUOUS_LABELKT-68803K2: Smart cast fails with "Unresolved reference" when@Suppress("UNCHECKED_CAST") used in statementKT-68968K2: Missing ILLEGAL_SUSPEND_FUNCTION_CALL diagnostic in initialization code of a local class inside suspend functionKT-68336K2 does not seem to pass the right constructor arguments to custom scriptsKT-68517"IrSimpleFunctionSymbolImpl is unbound" for actual class containing non-actual functionsKT-59678K2: InvestigateConeKotlinType.unCapture()KT-69027K2: InitializeFirStdlibBuiltinSyntheticFunctionInterfaceProviderin library sessionKT-62818K2: improve VAR_OVERRIDDEN_BY_VAL diagnostic messageKT-68214Rename TypeApproximatorConfiguration properties for clarityKT-68093Implement deprecation of smartcasts on class-delegated propertiesKT-67270Native: report more performance metrics from the compilerKT-68621DATA_CLASS_INVISIBLE_COPY_USAGE false negative for inline funKT-68568K2: False-positive ACCIDENTAL_OVERRIDE caused by missing dependency classKT-66723K2: NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS for actual typealias that extends to Java class with complicated hierarchy that includes default methodKT-69000Can't render constructor of intersection typeKT-68849K2: "ClassCastException: cannot be cast to kotlin.jvm.functions.Function2" caused by passing lambda to SAM constructor resultsKT-61744Native: -Xsave-llvm-ir-after fails to check errors from LLVMPrintModuleToFileKT-67103Support AbbreviatedTypeAttribute for aliased types from the source codeKT-63921K2: different representation of recursive type aliasesKT-68679K2: "Override has incorrect nullability in its signature compared to the overridden declaration" caused by subclass of Android HashMapKT-64335K2: improve rendering of captured types in diagnostic messagesKT-68820K2: "Unresolved reference" on calling function with "contract" nameKT-67933K2: no conversion between fun interfaces if target hassuspendKT-68230K2: FirMissingDependencyClassChecker: Not supported: ConeFlexibleTypeKT-68531K2: False-negative error on assignment to enum entryKT-68446K2: compile-time failure on smart-casted generic value used as a when-subject in a contains-check with rangeKT-68678K2: Drop usingFirBuiltinSymbolProviderwhile compiling JVM stdlibKT-68382Get rid of context receivers in FirScript implementationKT-68585Implement new rules for CFA about enum entriesKT-68110K2: "Java type mismatch" caused by spring.NullableKT-68613K2: False positiveCONFLICTING_PROJECTIONafter fixing KT-67764KT-67764K2: False negative: Projection problem is not reported inisexpressionKT-67887Expection on assigning to private field of value typeKT-67801NSME on evaluating private member function with value class parameterKT-67800NSME on evaluating private top-level function with value class parameterKT-68542K2: Fix referecing to@ExtensionFunctionTypeif it's declared in sourceKT-68188K2: Properly support FunctionN creation for stdlib compilationKT-67946K2: Crash on red code:Instead use FirErrorTypeRef for ERROR CLASS: Cannot infer argument for type parameter TKT-68526K2: false-negative inconsistent data class copy visibility warning on call to generic data class copy functionKT-68528K2: false-positive inconsistent data class copy visibility warning on call to function from another module with identical value parameter types and return typeKT-68525K2: false-negative inconsistent data class copy visibility warning on callable reference to data class copy functionKT-68617K2: Secondary constructors in a sealed class have private visibility instead of protected in the generated IRKT-63920K2: Private secondary sealed class constructor is private in metadata, but protected in K1KT-57996Usages ofFoo@Nullable[]produce only warnings even with-Xtype-enhancement-improvements-strict-mode -Xjspecify-annotations=strict`KT-68207K2: Investigate if losing ConeIntersectionType.upperBoundForApproximation during approximation leads to any issuesKT-64990K2: Remove usages of SymbolTable from FIR2IRKT-67798NSME on assigning to private delegated property of value classKT-68264K2: confusing INVISIBLE_* error when typealias is involvedKT-68529K2: false-negative redundant annotation warning on@ExposedCopyVisibilityon data class with public constructorKT-67943Approximation should not generate types with UPPER_BOUND_VIOLATION errorsKT-67503K2: False negative "Type Expected" when attempting to annotate a wildcard type argumentKT-68187K2: Create IrBuiltins in fir2ir only after IR actualizationKT-66443K2: ArrayIterationHandler doesn't work if UIntArray declared in sourcesKT-68291K2 / Contracts: Non-existent invocation kind is suggested as a fixKT-68209K2: Strange import suggestion when lambda body contains invalid codeKT-67368"NullPointerException: Parameter specified as non-null is null" local lambda creates new not-null checks with 2.0.0-Beta5KT-51433FE 1.0: implement warnings about label resolve changesKT-66554K2. Drop FIR based fake-override generator from fir2irKT-64202K2: Drop old methods for calculation of overridden symbols for lazy declarationsKT-67895K2: Properly implement generation of fake-overrides for fieldsKT-54496K2:REDUNDANT_MODALITY_MODIFIERdiagnostic disregards compiler pluginsKT-63745K2: Approximation of DNN with nullability warning attribute leads to attribute incorrectly becoming not-nullKT-63362AbstractTypeApproximator fixes only first local type in hierarchyKT-67769K2: "variable must be initialized" on unreachable access in constructorKT-51195FIR IC: Incremental compilation fails with@PublishedApipropertyKT-67966No JVM type annotation is generated on a class supertypeKT-46640Generate JVM type annotations on wildcard boundsKT-67952Annotations on type parameters are not generated for parameters other than the firstKT-68012K2. No'operator' modifier is required on 'component'error in K2KT-61835K2: FirStubTypeTransformer receives unresolved expressions in builder inference sessionKT-63596K1/K2: Different behavior for lambda with different return typeKT-67688K2: False positive CANNOT_INFER_PARAMETER_TYPE for Unit constraint type variableKT-62080False positive UNUSED_VARIABLE for variable that is used in lambda and in further code with several conditionsKT-60726K2: Missed TYPE_MISMATCH error: inferred type non-suspend function but suspend function was expectedKT-41835[FIR] Green code turns to red in presence of smartcasts and redundant type argumentsKT-67579K1/JVM: false-negative annotation-based diagnostics on usages of ABI compiled with non-trivially configured generation of default methodsKT-67493K2: argument type mismatch: actual type is 'T', but 'T' was expectedKT-64900K2:getConstructorKeywordcall inPsiRawFirBuilder.toFirConstructorforces AST loadKT-67648K2: wrong exposed visibility errors with WRONG_MODIFIER_CONTAINING_DECLARATION on top-level enum classKT-58686FIR2IR: Don't use global countersKT-67592K2: Success execution of:kotlin-stdlib:compileKotlinMetadataKT-60398K2: consider forbidding FirBasedSymbol rebindKT-54918Refactor transformAnonymousFunctionWithExpectedTypeKT-63360K2: Malformed type mismatch error with functional typeKT-67266K2: disappeared INLINE_CLASS_DEPRECATEDKT-67569K2: Fix default value parameters of Enum's constructor if it's declared in source codeKT-67378K2: Don't usewrapScopeWithJvmMappedfor common source setsKT-67738K2: Introducekotlin.internal.ActualizeByJvmBuiltinProviderannotationKT-64456K2: Port *VersionRequirementTest to K2KT-67136Put $this parameter to LVT for suspend lambdasKT-62538K2: Declarations inside external classes should be implicitly externalKT-67627K2: External interface companion isn't external in IRKT-60290K2: origin is not set for !in operatorKT-67512K2: false positive WRONG_GETTER_RETURN_TYPE when getter return type is annotatedKT-67635K2: No warning TYPE_MISMATCH_WHEN_FLEXIBILITY_CHANGES for SAM constructor with inferred typeKT-60501K2 Scripting: investigate metadata difference between K1 and K2KT-67598K2: Fix incorrect castingUBytetoNumberinFirToConstantValueTransformerKT-56564False positive "non-exhaustive when" in case of intersection typeKT-63969K2: extra property in metadataKT-63968K2: extra property in metadata for anonymous variable in scriptKT-67547K/N can't build caches, fails with "clang++: error=2, No such file or directory"KT-67469K2: Failing module in FP-intellijKT-64033K2: Investigate ForbidInferringPostponedTypeVariableIntoDeclaredUpperBoundKT-64457K2: Fix DecompiledKnmStubConsistencyK2TestGeneratedKT-66377IR Evaluator: "no container found for type parameter" when evaluating nested genericsKT-66378IR Evaluator: Symbol is unboundKT-64506IDE, IR Evaluator: NPE in ReflectiveAccessLowering.fieldLocationAndReceiver when evaluating private static propertiesKT-67380K2: Don't check forequalsoverriding for classAnyKT-67038K2: Missing type of FirLiteralExpression causes an exception for property initializer type resolutionKT-59813K2: Fix the TODO aboutfirEffect.sourceinFirReturnsImpliesAnalyzerKT-59834K2: Fix the TODO aboutmerge(other)inUnusedCheckerKT-59188K2: Change positioning strategy forWRONG_NUMBER_OF_TYPE_ARGUMENTSerrorKT-59108K2. SMARTCAST_IMPOSSIBLE instead of UNSAFE_IMPLICIT_INVOKE_CALLKT-65503The inline processor cannot handle objects inside the lambda correctly when calling an inline function from another moduleKT-30696NoSuchMethodError if nested anonymous objects are used with propagation reified type parameterKT-58966Incorrect type inference for parameters with omitted type of anonymous function that is being analyzed as value of function type with receiverKT-67458Use@PhaseDescriptionfor JVM backend lowering phasesKT-65647K2 ignores diagnostics on sourcelessFirTypeRefsKT-64489K2: Rename FirAugmentedArraySetKT-67394FIR: Make FIR repr of For from PSI and LightTree the sameKT-66724K2 IDE. False positive errors because of wrong type inference in complex case of delegated property and type argumentsKT-40248Confusing error message NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODYKT-66947K2: false-positive JSpecify nullability enhancement warning on Java wildcard type argument with same base type but different nullabilities as upper and lower boundsKT-66974K2: false-negative JSpecify nullability enhancement warning on nullable projection of Java wildcard type argument with non-null bounds in out-positionKT-66946K2: false-negative JSpecify nullability enhancement warning on Java wildcard type argument with nullable upper bound in out-positionKT-66442K2: No visibility error on importing private aliasesKT-66598K2: Allow comparisons,is-checks and casts between Kotlin and platform typesKT-55966K2: Not enough information to infer type variable K if smartcast is usedKT-64894OPT_IN_ARGUMENT_IS_NOT_MARKER diagnostic message is unclearKT-67019K2: IR has incorrect EQ origins for some inplace updating operatorsKT-59810K2: Support other ConstraintPosition-sKT-55383K1/K2: isClassTypeConstructor behaves differently for stub typesKT-60089K2: Introduced ERROR_IN_CONTRACT_DESCRIPTIONKT-60382K2: Refactor ExpectActualCollectorKT-62929K2: investigate if guessArrayTypeIfNeeded is necessary in annotation loaderKT-65642K2: IR: Array access desugaring doesn't have originsKT-24807No smartcast to Boolean in subject of when-expression when subject type is non-nullableKT-66057K2: incorrect supertype leads to class declaration being highlighted redKT-63958K2: drop support of UseBuilderInferenceOnlyIfNeeded=falseKT-63959K2: treat stub types as non-nullable for isReceiverNullable checkKT-65100IrFakeOverrideBuilder: support custom 'remove(Int)' handling logic in MutableCollection subclassesCompose compiler
New features
cdfe659Changed how compiler features being rolled out are enabled and disabled in compiler plugin CLI. Features, such as strong skipping and non-skipping group optimizations are now enabled through the "featureFlag" option instead of their own option.192e556Strong skipping is now enabled by default842a9e8Add support for default parameters in abstract and open@Composablefunctionsb/165812010Fixes
e207b05Fixes group generation for if statements when nonSkippingGroupOptimization is enabledb/346821372f64fc3aFixesendToMarkergeneration in early return from inline lambdas that caused start/end imbalanceb/346808602d6ac8a5Stop memoizing lambdas with captured property delegatesb/342557697f38d5a3Stop capturing parameter meta across crossinline boundaryb/343801379770fe8dPropagate annotations from inferred function types when serializingb/3452610773c67cdaFix memoization of captureless lambdas when K2 compiler is usedb/3405821803281e53Allow memoizing lambdas in composable inline functionsb/340606661b/351858979Fix stability inferencing of interfaces on incremental compilationb/346821372[Compose] Fix code generation for group optimizationb/357878245Disallow open@Composablefunctions with default params to fix binary compatibility issues.IR. Actualizer
KT-68830Compiler crash on missing actual classKT-69024K2: Children of expect annotation with@OptionalExpectationshould be actualizedKT-68742Allow expect protected to Java protected actualizationKT-66436K2. Actualizing modCount property with a field in AbstractMutableListKT-68741Support actualization of AbstractMutableList.modCountKT-68801Crash on access of fake override of function actualized by fake overrideKT-66307K2: property fake override isn't generated for protected fieldIR. Inlining
KT-67208KJS: put ReplaceSuspendIntrinsicLowering after IR inlinerKT-68100Run IR validation in the beginning and the end of the common prefixKT-69171Introduce a temporary-XCLI parameter that enables double-inliningKT-69006Enable IR visibility checks after IR inliningKT-69183IR inlining: properly handle defaults that depends on previous value parametersKT-67660Suspicious package part FQN calculation in InventNamesForLocalClassesKT-68558MoveInlineCallableReferenceToLambdaPhaseintoir.inlinemoduleKT-56466Support non-local break/continue in IR inlinerKT-64958KJS: Put as many as possible lowerings after the inlinerKT-67297Implement IR deserializer with unbound symbolsIR. Interpreter
KT-66938Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression: CALL 'public final fun less (arg0: kotlin.Int, arg1: kotlin.Int): kotlin.Boolean declared in kotlin.internal.ir'IR. Tree
Performance Improvements
KT-67695ForLoopsLowering fails to handle a loop over an imprecise typed iterableFixes
KT-68784Support validating visibility of referenced declarations in IrValidatorKT-68174Delete the IrMessageLogger interfaceKT-67082Introduce attributes on IrElementKT-68716DeepCopyIrTreeWithSymbols.visitConstshould remap const typeKT-67650Add default implementations to methods for non-leaf IrSymbol subclasses from SymbolRemapperKT-67649Autogenerate IrSymbol interface hierarchyKT-44721IR: merge IrPrivateSymbolBase and IrPublicSymbolBase hierarchiesKT-67580Autogenerate SymbolRemapperKT-67457Introduce a way to simplify IR lowering phase creationKT-67060NoSuchMethodError for org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl in the FlystoJavaScript
New Features
KT-69133Kotlin/JS: Add support for collection instantiation in JavaScriptKT-18891JS: provide a way to declare static members (JsStatic?)Fixes
KT-68943@JsPlainObjectbreaks when interface has type parametersKT-70592"Error: HttpClientCall expected" on HTTP request when targeting es2015 with KTORKT-67273Creating Kotlin Collections from JS collectionsKT-65018JS: Deprecate error toleranceKT-67355KJS / ES6: 'super' in lambda with enabled-Xir-generate-inline-anonymous-functionsleads to JS errorsKT-69353KJS / d.ts: Kotlin does not export base collection classes along with their mutable collection counterpartsKT-66898KJS: Reserved keywords not escaped when-Xir-generate-inline-anonymous-functionsis enabledKT-69710JS IR generates bad code for inner param default referring to outer membersKT-68632K2: allow JS_NAME_CLASH suppressionKT-69400Use correct type for references on local functions when transforming them into lambdaKT-68554Legalize marker interface as parent for JSO (interface marked with@JsPlainObject)KT-68740Kotlin/JS 2.0.0 IrLinkageError with dynamic function parameters inside data classesKT-68944@JsPlainObjectrequire properties, when type - nullable aliasKT-68891@JsPlainObjectfails to compile when encountering reserved keywords as interface propertiesKT-69023KJS / IR:globalThisis mandatory, breaking older browsers supportKT-68641KJS: 'export was not found' with per-file mode on case-insensitive filesystemKT-68053K2: NON_EXPORTABLE_TYPE on a typealias of primitive typeKT-62304K/JS: Investigate the compiler assertion crash in JS FIR with backend testsKT-68620[wasm][js] Default param in inner class method fails if we are referring generic extension propertyKT-64801K2 + JS and WASM: Inner with default inner doesn't work properlyKT-67248ModuleDescriptor in JS Linker contains incorrect friend dependeciesKT-64424K2: Migrate JsProtoComparisonTestGenerated to K2KT-52602Kotlin/JS + IR: incompatible ABI version is not reported when no declarations are actually used by a Gradle compilationKT-66092K/JS & Wasm: .isReified for reified upper bound is wrongly falseKT-67112Unable to apply@JsStaticfor common sources: [NO_CONSTRUCTOR]KT-62329KJS: "UnsupportedOperationException: Empty collection can't be reduced" caused by external enum with "@JsExport"KT-67018K/JS: Executable js file for module-kind=umd contains top level this instead of globalThisKT-64776Test infra for JS can't process dependency in mpp moduleKT-65076Use the same instance when a fun interface doesn't capture or capture only singletonsKlibs
KT-66557Check, that no bad metadata in klib is produced, when we failed to compute constant valueKT-66968Provide K/N platforms libs for all available targetsKT-66967Provide K/N stdlib for all available targets in all distributionsKT-66605[KLIB] Excessive creation ofBaseKotlinLibraryduring resolving libsKT-68824API 4 ABI: Don't show sealed class constructorsKT-68202KLIB metadata: nested classes are sometimes inside a different 'knm' chunkKT-65834[KLIB Resolve] Drop library versions in KLIB manifestsKT-67446[KLIB Tool] Drop "-repository " CLI parameterKT-67445[KLIB Tool] Drop "install" and "remove" commandsLanguage Design
KT-58920K2: Prioritize Enum.entries resolveKT-11914Confusing data class copy with private constructorKT-68636Incorrect private_to_this visibility for data class with a private constructorLibraries
New Features
KT-31880UUID functionality to fix Java bugs as well as extend itKT-57998implement Base64.withoutPaddingPerformance Improvements
KT-67023Optimize Int.sign and Long.sign for js and wasmJs targetsFixes
KT-70196Introduce ExperimentalUuidApi annotation for marking Uuid APIKT-60787Cannot ignore alpha when formatting with HexFormatKT-68025Improve documentation for HexKT-66129Minor issues with HexFormatKT-67511provide equals() and hashCode() implementations for kotlinx.metadata.KmTypeKT-68240stdlib: proper expects for internal API used in intermediate shared source setsKT-68840atomicfu-runtime: annotate some internal functions with@PublishedApiKT-68839Annotatekotlin.js.VOIDproperty with@PublishedApiKT-68023Improve documentation for Base64KT-51483Documentation of trimMargin is (partly) difficult to understandKT-64649Add explanation to "A compileOnly dependency is used in the Kotlin/Native target" warning messageKT-67807JS/Wasm: ByteArray.decodeToString incorrectly handles ill-formed 4-byte sequences with a 2nd byte not being continuation byteKT-67768Wasm: ByteArray.decodeToString throws out-of-bounds exception if the last byte is a start of a 4-byte sequenceKT-66896Improve Array contentEquals and contentDeepEquals documentationNative
KT-70166Native: EXC_BAD_ACCESS on watchOS when using DispatchersKT-69246K2: linkPodDebugFrameworkIosArm64 takes 15 (!!) times longerKT-67694Native: WeakRefBenchmark degradation due to nonoptimized IntProgression iterationKT-69206Native: updating to LLVM 16 breaks debugging in lldb on LinuxKT-68640Native: updating to LLVM 16 changes behavior ofusedattribute in C/C++ codeKT-58097Kotlin/Native: improve the error message if Xcode is not properly configuredKT-67583compileKotlin-task unexpectedly downloads K/N dependencies on Linux (but doesn't on Mac)Native. Build Infrastructure
KT-69781Kotlin/Native performance tests fail to compile with bitcodeNative. C and ObjC Import
KT-69094LLVM 11 clang: cinterops fail with "_Float16 is not supported on this target"KT-68254Native: flaky testForwardEnum test in Kotlin/Native on MacOSKT-65260Native: compiler crashes when casting to an Obj-C class companionNative. ObjC Export
KT-65666Native: enable objcExportSuspendFunctionLaunchThreadRestriction=none by defaultKT-57496linkReleaseFrameworkIosArm64: e: Compilation failed: An operation is not implementedNative. Platform Libraries
KT-69382LLVM 11 clang: symbol not found when running the linkerNative. Runtime
KT-70043Native: EXC_BAD_ACCESS on watchOS when using RandomKT-68928EXC_BREAKPOINT: BUG IN CLIENT OF LIBPLATFORM: Trying to recursively lock an os_unfair_lockNative. Runtime. Memory
KT-66644Native: threads are too often paused to assist GC (with concurrent mark)KT-68871Native: Unexpected barriers phase during STW: weak-processingKT-67779Native: SpecialRefRegistry::ThradData publication prolongs the pause in CMSKT-66918Native: scan global root set concurrentlyNative. Swift Export
KT-69469Exporting object twice causing crashKT-69251Get rid of context receivers from ./native/.../lazyWithSessions.ktKT-68865Move config into test-directivesKT-68259Swift export: secondary constructs lead to compilation errorsKT-67095Native: fix testNativeRefs export testKT-67099Remove SirVisitor and SirTransformer from codeKT-67003Abandon PackageInflator implementation in favour of PackageProvider componentNative. Testing
KT-69235Incorrect handling of friend dependencies in Native test infraKT-67436Native: support CLI testsKT-68416Native: when using test grouping, a whole group gets ignored on non-Mac hosts if it has Objective-C testsKT-68500Native: Drop custom logic in ExtTestCaseGroupProvider, mute codegen/box tests explicitlyReflection
KT-69433KotlinReflectionInternalError on non-reified type parameter in typeOf inside an inline lambdaKT-68675K2: KotlinReflectionInternalError on non-reified type parameter in typeOf inside a lambdaTools. Build Tools API
KT-68555BTA test infra: top level declarations are invisible across modulesTools. CLI
KT-69792Add the possibility to disable fast jar fs in K2KT-68838OutOfMemory when compiling in CLIKT-67939Add CLI argument to enable when guards featureKT-68743Extract common CLI arguments for all KLIB-based backendsKT-68450CLI: errors related to module-info are reported even if there are no Kotlin source filesKT-68060FastJarFS fails on empty jarsTools. CLI. Native
KT-66952Native: konanc fails when KONAN_HOME is under path with spacesKT-64524Introduce a CLI argument to override native_targets field in klib manifestTools. Commonizer
KT-68835Command line length overflow on Linux/Windows while invoking commonizer via :commonizeDistributionTools. Compiler Plugin API
KT-68020K2: run FirSupertypeGenerationExtension over generated declarationsTools. Compiler Plugins
KT-64425K2: Implement Atomicfu*IrTestGenerated for K2KT-69401Kotlin power assert plugin doesn't work correctly with safe cast operatorKT-69290PowerAssert: implicit receivers included in power-assert generated diagramKT-68511Power Assert kotlinx.assertEquals message display problemKT-68807Power-Assert crashes the Kotlin compiler when if expression used as assertion parameterKT-68162K2 Parcelize implementation breaks compiler phase contractsKT-67605K2 parcelize: false positive NOTHING_TO_OVERRIDE in one testKT-64455K2: Implement ParcelizeIrBoxTestWithSerializableLikeExtension for K2Tools. Compiler plugins. Serialization
KT-70516KxSerialization:@KeepGeneratedSerializerand sealed class cause initialization errorKT-68752Serializable annotation on Java class is not taken into account in K2 checkerKT-68931JS/Native + serialization: partial linkage errorKT-69039FIR: Implement IDE-only checker for kotlinx.serialization compiler plugin to report IDE-only diagnosticsTools. Fleet. ObjC Export
KT-68826ObjCExport: SerializersModuleBuilderKT-68841ObjCExport:@DeprecatedsupportKT-68887ObjCExport: K1 text fixture@DeprecatedsupportKT-68051[ObjCExport] Support reserved method namesTools. Gradle
New Features
KT-68651Compose: provide a single place in extension to configure all compose flagsPerformance Improvements
KT-61861Gradle: Kotlin compilations depend on packed artifactsFixes
KT-69809Compose Gradle Plugin: AGP doesn't override configuration properties like traceMarkersEnabledKT-65820Compatibility with Gradle 8.7 releaseKT-69444Don't warn about missing Compose Compiler Gradle plugin in some casesKT-67888Remove usages of deprecated Configuration.fileCollection() methodKT-68843Gradle: Kotlin plugin changes source set 'main' to 'null/main'KT-67395Add new plugins to collector kotlin gradle performanceKT-68661Move ExperimentalWasmDsl to kotlin-gradle-plugin-annotationsKT-69837Deprecation warning for file-based IC is issued when the property is set to true, altering the intended meaning of the messageKT-69291Compose Gradle plugin: Enable strong skipping by defaultKT-67766Build against Gradle API 8.7KT-67889Run tests against Gradle 8.8 releaseKT-65271Gradle: "Mutating dependency DefaultExternalModuleDependency after it has been finalized has been deprecated " with gradle 8.6-rc-3KT-67822Deprecate JVM history files based incremental compilationKT-64378Compatibility with Gradle 8.6 releaseKT-69414Compose: featureFlags override values of the deprecated compose optionsKT-67771Compatibility with Gradle 8.8 releaseKT-65528Migrate rest of Gradle integration tests to new Test DSLKT-68306Project isolation for FUS statistics: Cannot access project ':' from project ':app' at org.jetbrains.kotlin.gradle.report.BuildMetricsService$ Companion.initBuildScanExtensionHolderKT-67890Compile against Gradle 8.8 API artifactKT-68773Kotlin 2.0.0 with Gradle 8.8: ConcurrentModificationException on BuildFusService configurationMetricsKT-68308Project isolation for FUS statistics: An error is thrown at org.gradle.configurationcache.ProblemReportingCrossProjectModelAccess$ProblemReportingProject.getLayoutKT-61574Add project-isolation test for Kotlin/Android pluginKT-65936Provide a detailed error for changing kotlin native version dependency.KT-62684PropertiesBuildService should load extraProperties only onceKT-67288Test DSL should not fail the test if build scan publishing has failedKT-58280org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpathTools. Gradle. JS
KT-70077[2.0.20-Beta2] KGP reports confusing warnings about js/wasmJS source setsKT-69805YarnSetupTask does not work for custom downloadBaseUrlKT-67444Gradle / JS: wrong type commonWebpackConfig.devServer.proxyKT-42923KJS: Resources are not available when running Karma testsKT-68482KotlinNpmInstallTask is not compatible with configuration cacheKT-68072K/JS, K/Wasm: Module not found in transitive caseKT-68103K/JS, K/Wasm: Generation of test compilation's package.json requires main compilationKT-67924K/JS, K/Wasm: kotlinNpmInstall can rewrite root package.jsonTools. Gradle. Kapt
KT-64627Kapt3KotlinGradleSubplugin uses property lookup that breaks project isolationKT-61928Clarify parameter types in KaptArguments and KaptJavacOptionTools. Gradle. Multiplatform
New Features
KT-56566Consider pre-generating DSL accessors for source sets with names corresponding to the default target hierarchyFixes
KT-66568w: KLIB resolver: The same 'unique_name=...' found in more than one libraryKT-65754Gradle: Commonized cinterop dependency configuration changes project descriptionKT-69406Deprecate combinations of KMP plugin with some Gradle Java pluginsKT-64109Using compileOnly/runtimeOnly dependencies in K/N-related configurations leads to odd behaviourKT-69311runDebugExecutable task fails with "this.compilation" is null with enabled configuration cacheKT-69310w: KLIB resolver: The same 'unique_name=...' found in more than one library for diamond source set structuresKT-61793KMP/AGP compatibility: Update the maximum tested AGP version to 8.3KT-66209Accessing the source sets by name is confusingKT-62368Kotlin 1.9.X fails to detect kotlin.test.Test annotation reference on commonTest source set when targeting JVM+AndroidKT-67110Usage of BuildOperationExecutor.getCurrentOpeartion internal Gradle APIKT-58319kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'"Tools. Gradle. Native
KT-69918java.lang.NullPointerException: Cannot invoke "org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation.getTarget()" because "this.compilation" is nullKT-67935OverriddenKotlinNativeHomeChecker does not work well with relative pathsKT-64430Remove deprecated KotlinToolRunner(project) constructorKT-64427Stop using deprecated KotlinToolRunner(project) constructor callTools. Incremental Compile
KT-69042K2: changing a Java constant won't cause Kotlin usages to recompileKT-63476Investigate the debug output of JVM compilation in KMP IC smoke testsTools. JPS
KT-63707JPS: "Multiple values are not allowed for" caused by ComposeTools. Kapt
KT-68145K2 KAPT: missing $annotations methods for const properties and private properties without accessorsKT-67495File leak in when building with kaptKT-66780K2 KAPT Kotlinc should exit with an exit code 1 (compilation error) if a Kapt task failsKT-66998K2 KAPT: Reimplement support for DefaultImplsTools. Scripts
KT-69296scripting dependency resolution does not authenticate towards maven mirrorsKT-67575FromConfigurationsBase script definition unexpected behaviour with regex from gradle templatesKT-67066DeepCopyIrTreeWithSymbols does not copy IrScript nodes correctlyKT-67071K2: ScriptCompilationConfigurationFromDefinition is not serializableKT-67063LauncherReplTest flaky on WindowsTools. Wasm
KT-70220K/Wasm: Upgrade NPM dependenciesKT-69245K/Wasm: Remove warning of working-in-progressKT-69154K/Wasm: wasmJsBrowserProductionRun flaky crash with "WebAssembly.instantiate(): Import ... function import requires a callable"KT-68930K/Wasm: Production run doesn not use optimize task resultKT-67901K/Wasm: Add kotlin-wasm-examples to CIKT-67468Gradle task build (allTests) fails on default web projectKT-67980Wasm: Incorrect "Please choose a JavaScript environment to build distributions and run tests" when WASM is not configuredKT-67862K/Wasm: Make usage of ChromeWasmGc an errorv2.0.10: Kotlin 2.0.102.0.10
Apple Ecosystem
KT-68257Xcode incorrectly reuses embedAndSign framework when moving to and from 2.0.0Compiler
Fixes
KT-69876K2 Compile exception: Only IrBlockBody together with kotlinx serializationKT-68521K2: Property's private setters can be bypassed when using plusAssign and minusAssign operatorsKT-68667K2: Compiler hangs on mapNotNull and elvis inside lambdaKT-68747K2: Long compilation time because of constraint solving when using typealias in different modulesKT-68940K2: "IllegalArgumentException: All variables should be fixed to something"KT-68797K2 / Native: "java.lang.IllegalStateException: FIELD" caused by enabled cachingKT-68362False-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED for inheritor of java class which directly implements java.util.MapKT-68449K2: "when" expression returns UnitKT-67072K2: inconsistent stability of open vals on receivers of final typeKT-68570K2: "Unresolved reference" in call with lambda argument and nested lambda argumentKT-69159K2: KotlinNothingValueException in ExposedKT-68623K2: "Only safe or null-asserted calls are allowed" on safe callKT-68193JDK 21: new MutableList.addFirst/addLast methods allow adding nullable value for non-null typesKT-67804removeFirst and removeLast return type with Java 21KT-68727K2: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" caused by an enum class with default parameter in a different moduleKT-68383K2: "Argument type mismatch: actual type is 'kotlin.String', but 'T & Any' was expected." with intersection typesKT-68546K2: false-positive conflicting overloads error on inheriting generic type with inherited generic and non-generic member overloadsKT-68626K2: "Conflicting Overloads" for function if inherited from generic typeKT-68351K2: "Suspension functions can only be called within coroutine body"KT-68489K2: WRONG_ANNOTATION_TARGET with Java and Kotlin@Targetannotation positionsKT-69058K2: Java-defined property annotations not persistedKT-64515K2 IDE: [NEW_INFERENCE_ERROR] in a build.gradle.kts script while applying "jvm-test-suite" plugin and then configuring targets for test suitesKT-68016K2: Gradle repo testshould compile correctly with Kotlin explicit api modefails on K2KT-68575K2:@ParameterNameannotation is not erased when inferring the type ofitin lambdasKT-67999K2: lost flexibility on parameters of Java SAMKT-59679K2: Investigate extracting uncompleted candidates from blocksKT-68401K2: "IllegalAccessError: failed to access class" caused by package private super Java type, when inferencing a common super type of if or when branches on JVMKT-68806K/Wasm RuntimeError: unreachable on Sequence::toListKT-68455K2: False negative UPPER_BOUND_VIOLATED_BASED_ON_JAVA_ANNOTATIONSKT-68538KJS/K2: usingwhilewithbreakinside inline lambdas leads to an endless cycleKT-68798JVM compiler crashes on calling private expect constructor with a default parameterKT-68734K2: enum class in KMP: Expect declarationMMKVLogLevelis incompatible with actualMMKVLogLevelbecause modality is differentKT-68674False positive ACTUAL_WITHOUT_EXPECT in K2KT-68350K2: "Inapplicable candidate(s)" caused by parameter reference of local class with type parameters from functionKT-68571K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by exceptions and when statementKT-68523K2: FileAnalysisException when using Definitely non-nullable typesKT-68339K2: "Enum entry * is uninitialized here" caused by lazy property with enum inwhenexpressionKT-66688K2: false-negative "upper bound violated" error in extension receiverKT-68630DiagnosticsSuppressor is not invoked with Kotlin 2.0KT-68222K2. KMP. False negativeExpected declaration must not have a bodyfor expected top-level property with getter/setterKT-64103FirExpectActualDeclarationChecker reports diagnostic error for KtPsiSimpleDiagnostic with KtFakeSourceElementKT-68191K2. Static fake-overrides are not generated for kotlin Fir2IrLazyClassKT-68024K2: Gradle repo testaccessors to kotlin internal task types...fails on K2KT-64957K1: drop ModuleAnnotationResolverCompose compiler
0c5a858Fix memoization of captureless lambdas when K2 compiler is used b/340582180a8249d6Allow memoizing lambdas in composable inline functions b/340606661Native
KT-68094K2/Native: Member inherits different '@Throws' when inheriting from generic typeTools. Compiler Plugins
KT-69187Compose compiler for web doesn't support rememberComposableLambdaKT-68557K2. Supertypes resolution of KJK hierarchy fails in presence of allopen pluginTools. Compiler plugins. Serialization
KT-68850Compose lambda type not transformed with KGP 2 + new Compose pluginTools. Daemon
KT-68297KGP 2.0 regression: JAVA_TOOL_OPTIONS is not considered in Kotlin daemon creationTools. Gradle
KT-69330KotlinCompile friendPathsSet property is racy due causing build cache invalidationKT-69026Mark AGP 8.5.0 as compatible with KGPKT-68447ill-added intentionally-broken dependency source configurationsKT-69078Gradle: Add option to disable FUS ServiceKT-68278Spring resource loading in combination withjava-test-fixturesplugin brokenKT-66452Gradle produces false positive configuration cache problem for Project usage at execution timeKT-68242Run tests against AGP 8.4.0Tools. Gradle. Multiplatform
KT-68805KMP project (re-)import took a long time for downloading platform libsKT-68248kotlin multiplatform project fail to build on Fedora with correttoTools. Gradle. Native
KT-68638KGP 2.0 breaks native test with api dependencies and configuration cacheKT-65761Missing JDK Platform ClassLoader when compiling Kotlin native in daemonTools. JPS
KT-69204Generate lookups in dumb mode for compatibility with ref indexTools. Kapt
KT-68171K2KAPT: boxed return types in overridden methods changed to primitivesTools. Scripts
KT-68681K2 / CLI / Script: "NullPointerException: getService(...) must not be null" caused by@DependsOnKT-67747K2: regression in Spring unit tests usingjavax.script.ScriptEnginev2.0.0: Kotlin 2.0.0Changelog
Analysis. API
New Features
KT-65327Support reading klib contents in Analysis APIPerformance Improvements
KT-65560K2: Anaysis API: ContextCollector triggers redundant resolution in the case of file elementsKT-64987Analysis API: 50GB memory allocation on creating empty kotlinx.collections.immutable.persistentMapOfKT-61789K2: optimize getFirForNonKtFileElement for references inside super type referenceKT-59498K2: getOnAirGetTowerContextProvider took too much time due to on air resolveKT-61728Analysis API: optimize AllCandidatesResolver.getAllCandidatesFixes
KT-65561Analysis API: dummy.kt is not a physical fileKT-65616K2: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatus from STATUSKT-65600Analysis Api: FirFile for KtCodeFragments are created and not updated on changesKT-64919K2 IDE: Implement KMP support for sealed class inheritorsKT-64241K2: Unresolved calls to functions in scripts depending on included projectsKT-65813Analysis API Standalone:FirDeclarationForCompiledElementSearcherdoes not find compiled elementsKT-66052AA: render expect/actual modifierKT-66795KtCodeFragment.clone() is brokenKT-66532K2 CodeGen AA: missing annotation setup for function in source module but not in a compile target fileKT-64833Analysis API: Members implemented by delegation have no overridden symbolsKT-62405Analysis API: SymbolsSUBSTITUTION_OVERRIDEhave no overridden symbolsKT-66749K2: "Collection contains no element matching the predicate" on an unresolved callKT-62832K2: ClassCastException: FirDeclarationStatusImpl cannot be cast to FirResolvedDeclarationStatusKT-66719AbstractGetKlibSourceFileNameTest: The dependency to ":native:analysis-api-klib-reader" breaks JPS compilationKT-66603Analysis API: support type annotations in KtPsiTypeProviderMixIn#asPsiTypeKT-64505Analysis API Standalone: Remove test-specific calculation of sealed class inheritorsKT-66013Analysis API Standalone: Sealed inheritors aren't correctly calculated for source classesKT-62880K2 IDE: Unresolved java annotation methods in KDocKT-66530K2: Analysis API: KtPsiTypeProvider#asKtType crashes on PsiClassType for Java type parameter with wrong use siteKT-65571Support VirtualFile inputs to Analysis API modulesKT-66485Substituted types are not provided for callable referencesKT-66498Analysis API: 'KtFe10SymbolDeclarationOverridesProvider' considers a class to be a subclass of itselfKT-64579K2 IDE: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirValueParameterImpl(Source) but FirArgumentListImpl found"KT-65978Analysis API: Use soft references inFileStructureCacheKT-64051K2 IDE: Analysis API: Unresolved links to typealias in KDocKT-66189K2 / IDE: KtFirExpressionTypeProvider bugsKT-61422K2 IDE: "No array element type for vararg value parameter: org.jetbrains.kotlin.fir.declarations.impl.FirValueParameterImpl"KT-66276K2: Analysis API:TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEMfalse positive for script parameterKT-66232K2: Analysis API: cover ScriptWithCustomDefDiagnosticsTestBaseGenerated by LL FIR testsKT-60996K2: Stub Based Deserializer: Set versionRequirements to enable VERSION_REQUIREMENT_DEPRECATION diagnosticsKT-66306K2: Analysis API: drop ability to enable global phase resolve lockKT-55750LL FIR: Implement multi-threaded resolveKT-65563Analysis API: Missing session componentFirExpectActualMatchingContextFactoryinLLFirLibrarySessionKT-66173K2: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter' in array owner: LLFirLibrarySessionKT-66238Gradle kotlin build scripts - a lot of unresolved symbols after latest changes in kotlin masterKT-65099K2: Recursive local storage cache check for Fir2IrDeclarationStorage::createAndCacheIrPropertySymbols()KT-65265Analysis API: Add library session invalidation testsKT-56288Analysis API: Add tests for session invalidation on the Analysis API sideKT-64000K2: make AnnotationArgumentsStateKeepers more accurateKT-63606K2: Analysis API: rewrite FirLazyAnnotationTransformer to avoid redundant transformationsKT-65191KtFirMultiplatformInfoProvider#getExpectForActual doesn't return expect function for slightly broken codeKT-62136Analysis API: Add concurrent tests forCleanableSoftValueCacheKT-61222K2: Add lifecycle management forKtResolveExtensionKT-65960Analysis API: Test infrastructure indexes binary libraries from decompiled files instead of stubs during IDE mode testsKT-65240K2: CodeGen API fails to resolve Annotation parameter type when it runs FIR2IR for a class with a parent class from other module if the parent class has an annotation from another moduleKT-65344K2: make FirScript statements (declarations) independentKT-65930AA: receiver type forInt?::foomisses nullabilityKT-65914AA: receiver type forthis::fooreturns return type of the target callableKT-62071Analysis API: KtFirScopeProvider.getScopeContextForPosition throws exception when ImplicitReceiverValue.implicitScope is nullKT-65780K2: polish FileStructure implementation for FirFileKT-62840K2 Script: everything around destructuring declaration on top level of scripts are brokenKT-64528K2 IDE: MPP: unregistered component 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'KT-64921K2 IDE: references in platform code resolve to expect classifier instead of actualKT-61296K2: do not resolve the entire file on lazyResolve call if FirFile is passedKT-65683Analysis API: Dangling file session creation causes acomputeIfAbsentcontract violationKT-64884K2 IDE. FP [NAMED_PARAMETER_NOT_FOUND] for copy method of library data class when class has not parameter-propertiesKT-65763K2: value parameter from library data class copy have RAW_FIR phaseKT-65665Analysis API: supportKtDelegatedSuperTypeEntryinKtFirExpressionInfoProvider.isUsedAsExpressionKT-62899K2 IDE. IDE ignores@Suppressannotation for errorsKT-65655Analysis API:KtCodeCompilationExceptionshould not strongly reference FIR sessionsKT-62302Support PsiType -> KtType conversionKT-64604K2: IDE K2: "Modules are inconsistent during performance tests"KT-65345K2: unify FirDesignation and LLFirResolveTargetKT-61757K2 IDE: resolution to buitlins does not work for from common moduleKT-65268K2: Checking the presence of the delegated constructor call forces AST loadingKT-63330Analysis API: Stub-based deserialized symbol providers provide unresolved enum entry annotation argumentsKT-65418Analysis API:LLFirAbstractSessionFactoryloads anchor module sessions eagerlyKT-64718Analysis API: do not expose SealedClassInheritorsProvider and FirRegularClass to IDE PluginKT-65075K2: getContainingDeclaration() is broken for declarations inside code fragmentsKT-61332SupportKtTypeCodeFragmentinPsiRawFirBuilderKT-65150AA: incorrect result fromKtTypeProvider#getReceiverTypeForDoubleColonExpressionfor Java static methodKT-56551LL FIR: implement parallel resolve for jumping phasesKT-65223Psi: avoid KtFile usagesKT-65307Analysis API FE10: support KtFe10AnalysisSessionProvider.getAnalysisSessionByUseSiteKtModuleKT-62695K2 IDE: Unresolved extension functions in KDocKT-65152Analysis API: KDoc references to packages are not fully resolvedKT-64988K2 IDE: Navigation from the named argument in safe call does not workKT-63195AA: incorrect results fromKtTypeProvider#getReceiverTypeForDoubleColonExpressionKT-64074K2: Investigate LL divergence for Script.testTopLevelPropertyInitializationKT-62441K2: IDE K2: "No dangling modifier found"KT-62895K2 IDE. FP'when' expression must be exhaustivewith sealed interface from libraryKT-64993Analysis API: KtExpressionTypeProvider.getExpectedType works incorrectly for arguments of safe callsKT-64883Allow direct creation of KtCommonFileKT-64646K2: properly forbid ast loading during raw fir phase in testsKT-64862Psi: missed parenthesis in type reference presentationKT-62893K2 IDE. FP 'when' expression must be exhaustive with Java sealed interface from libraryKT-63795K2:lazyResolveToPhase(BODY_RESOLVE)cannot be called from a transformer with a phase BODY_RESOLVE from SealedClassInheritorsProviderIdeImplKT-64805Analysis API: introduce common entry point for multi-file test casesKT-64714K2: Analysis API: CollectionsKt.map doesn't resolves from Java in kotlin repoKT-64647K2: Allow to calculate decompiled inheritors for sealed classes in testsKT-64595AA: stackoverflow while simplifying a type with a recursive type parameterKT-64825Analysis API. Cannot compute containing PSI for unknown source kind 'org.jetbrains.kotlin.KtFakeSourceElementKind$DefaultAccessor' exception on getContainingSymbol call for default setter parameterKT-64080K2: Analysis API: On-air resolve does not trigger resolution of delegated super call argumentsKT-64243K2: proper lazy resolution for fake overridesKT-62891K2 IDE. FP [EXPOSED_FUNCTION_RETURN_TYPE] on overriding library method which returns protected typeKT-62667K2: Cannot find enclosing declaration for KtNameReferenceExpression (on-air, imports)KT-61890Analysis API: Migrate KtFirScopeProvider to ContextCollector instead of onAirResolveKT-64197K2: Code fragments are only supported in JVMKT-62357K2 IDE. False positive on generated component methods and false negative on getter of@JvmRecordclasses in JavaKT-62892K2 IDE. Java outer class from other module is not resolved when nested class is accessed with fq name in a type positionKT-62888K2 IDE. IDE infers reference toKMutablePropertyas reference to justKPropertyKT-64584K2: StubBasedFirDeserializedSymbolProvider: support deserialization of delegated declarationsKT-60324K2 IDE: "NoSuchElementException: List is empty at JavaOverrideChecker#buildErasure"KT-62896K2 IDE. FP ABSTRACT_MEMBER_NOT_IMPLEMENTED on inheriting class from library which implements interface by delegationKT-62947Analysis API: Error while resolving FirPropertyImplKT-64468Analysis API: Implement mixed multi-module tests which support different kinds ofKtModulesKT-56541Symbol Light Classes: No@NotNullannotations are generated for accessors of lateinit properties of unresolved typesKT-63547K2 IDE. False Positive AMBIGUOUS_ANNOTATION_ARGUMENTKT-64205Analysis API: Do not import non-top-level callables by defaultKT-63056K2: Cannot mutate an immutable ImplicitReceiverValue on FirCodeFragment analysisKT-64108K2: KtFirSymbolDeclarationOverridesProvider shouldn't provide fake overridesKT-63752K2: java.lang.StackOverflowError FirFieldSymbol.getHasInitializerKT-63718Analysis API: Stub-based dependency symbol providers of library source sessions compute the wrong package name setsKT-64225K2: IDE K2: "FirLazyBlock should be calculated before accessing" in evaluate debuger completionKT-64186Analysis API: ContextCollector provides incorrect scopes for anonymous objectsKT-63979K2 IDE: presentation of types in completion is too verboseKT-63681K2: LL FIR: Improve isResolved check coverage of after lazy resolutionKT-62982K2: Cannot get a PSI element for 'Enum.values'KT-59732FirLazyResolveContractViolationException:lazyResolveToPhase(IMPORTS)cannot be called from a transformer with a phase IMPORTS from serialisation pluginKT-62676K2 IDE: Reference shortener does not recoginize redundant this referencesKT-63627K2 IDE: shorten reference shortens required qualifierKT-62675K2 IDE: Reference shortener does not recoginize redundant labelsKT-60957K2: Analysis API: Reference shortener does not work correctly with invoke function calls on propertiesKT-63771fe10: KtNamedClassOrObjectSymbol#isInline does not cover value classesKT-60327K2 IDE. "IllegalArgumentException: source must not be null" during delegation declarationKT-62421K2: IDE K2: "lazyResolveToPhase(BODY_RESOLVE)cannot be called from a transformer with a phase BODY_RESOLVE."KT-62587K2 IDE. FP unresolved reference on accessing nested class in annotation argumentKT-63700K2: "FirLazyExpression should be calculated before accessing" in the case of secondary constructorKT-61383K2: 'KtCompilerFacility' fails on code fragment compilation in library sources with duplicated dependenciesKT-62111K2 IDE. IllegalArgumentException on for loop with iterator declaration attemptKT-63538Analysis API: Removing a contract statement viaPsiElement.delete()does not trigger an out-of-block modificationKT-63694K1/K2 IDE. "RuntimeException: Broken stub format, most likely version of kotlin.FILE (kotlin.FILE) was not updated after serialization changes" exception on incorrect class nameKT-63660K2: expect-actual gutter icons must be shown when declarations are matched but incompatibleKT-63560Analysis API: Modifiable PSI tests cannot rely on the cached application environment to allow write accessKT-62980ImplementKtFirSimpleNameReference#getImportAliasKT-63130Analysis API: No receiver found for broken code during commit documentKT-62705K2: "lazyResolveToPhase(IMPORTS) cannot be called..." from light classesKT-60170K2 IDE: CCE from KtFirCallResolver on invalid code with wrong implicit invokeKT-61783K2: Analyze 'KtCodeFragment' in a separate sessionKT-62010K2: IDE K2: "ConeClassLikeTypeImpl is not resolved to symbol for on-error type"KT-62957Analysis API: NullPointerException on call resolution when builtins are not availableKT-61252K2: IDE K2: "By now the annotations argument mapping should have been resolved"KT-62935Analysis API:kotlin.Cloneableshould not be available in Kotlin/Native sourcesKT-62910Analysis API: create AbstractFirPsiNativeDiagnosticsTest for LL FIRKT-63096K2: Analysis API: KotlinAnnotationsResolver for IDE is created with incorrect scopeKT-62310K2 IDE. False positives errors with external annotationsKT-63282K2 Script: annotation arguments phase should resolve propagated annotationsKT-62397K2 IDE. FP Error in the editor onRequiresOptInannotation from the lib despite the warning levelKT-63223Analysis API: reference to declarations with kotlin* package are not resolvedKT-62626IllegalStateException: Cannot build symbol for class org.jetbrains.kotlin.psi.KtScriptInitializerKT-62693K2: IDE K2: "PSI should present for declaration built by Kotlin code"KT-62674K2: "Scope for type ConeClassLikeTypeImpl" is null from transitive dependenciesKT-61889Analysis API: Migrate KtFirReferenceShortener to ContextCollector instead of FirResolveContextCollectorKT-62772Analysis API: No 'org.jetbrains.kotlin.fir.java.FirSyntheticPropertiesStorage'(31) in array owner: LLFirSourcesSession when analysing builtins in a context of common codeKT-60319K2 IDE: "Stability for initialized variable always should be computable"KT-62859K2 IDE: "Evaluate expression" throws exception when calling "Any?.toString()"KT-63058K2 IDE: Code completion unexpectedly imports static/companion object methodKT-62588getExpectedType should not calculate type of the expressionKT-61990K2: Unexpected returnTypeRef for FirSyntheticPropertyKT-62625K2: 'FirLazyExpression should be calculated before accessing' for unresolved super typeKT-62691K2: optimize getFirForNonKtFileElement for references inside 'where'KT-62834K2: missing file node level in control flow builderKT-62768Analysis API: No 'org.jetbrains.kotlin.fir.scopes.impl.FirDelegatedMembersFilter'(44) in array owner: LLFirSourcesSession exception on analysing common codeKT-62874K2: FirLazyExpression should be calculated before accessingKT-62407Analysis API: resolve[this]in KDoc to extension receiverKT-61204K2: "FirLazyExpression should be calculated before accessing in ktor HttpBinApplication"KT-61901Analysis API: Declared member scopes for Java classes are missing static membersKT-61800Analysis API: Provide separate declared member scopes for non-static and static callablesKT-61255Analysis API: Get rid ofvalueOf,valuesandentriesfrom a declared member scopeKT-62466Expected type for functional expression should include inferred typesKT-61203IDE K2: "Expected FirResolvedArgumentList for FirAnnotationCallImpl of FirRegularClassImpl(Source) but FirArgumentListImpl found"KT-61791Analysis API: Implement combinedgetPackagefor combined Kotlin symbol providersKT-62437K2 IDE. Resolution does not work inside lambda expression in constructor argument in supertypesKT-62244K2: Analysis API Standalone: Resolving klib dependencies from binary roots terminates applicationKT-62897K2 IDE. Unresolved declarations from libraries which are doubled inintellijproject librariesKT-61615K2: No 'org.jetbrains.kotlin.fir.analysis.js.checkers.FirJsModuleKind' in array owner: LLFirSourcesSessionKT-59334K2: LLFirImplicitTypesLazyResolver problemsKT-62038K2: Nested classes are missing in symbol light class structure tests for librariesKT-61788Analysis API: Symbol forFirAnonymousInitializercannot be nullKT-62139Analysis API: KtFe10AnalysisSession.createContextDependentCopy does not need validity checkKT-62090Analysis API: introduce an API to get a substitution formed by class inheritanceKT-62268K2 IDE. No autocompletion and IllegalStateException for PairKT-60325K2 IDE. "IllegalArgumentException: source must not be null" onthrowusage attemptKT-61431K2: KtPropertyAccessorSymbolPointer pointer already disposed for $$result script propertyKT-58490K2: LLFirTypeLazyResolver problemsKT-58494K2: LLFirAnnotationArgumentsLazyResolver problemsKT-58492K2: LLFirBodyLazyResolver problemsKT-58769K2: LL FIR: implement platform-dependent session factoriesKT-60343K2 IDE. IllegalArgumentException on passing incorrect type parameter to functionKT-61842K2: reduce number of "in-block modification" eventsKT-62012K2: "KtReadActionConfinementLifetimeToken is inaccessible: Called outside analyse method"KT-61371K2: Analysis API standalone: register compiler symbol provider for libraries in standalone modeKT-60611K2: reduce number of "in-block modification" eventsKT-61425Analysis API: Provide a way to get a declared member scope for an enum entry's initializing anonymous objectKT-61405Analysis API: An enum entry should not be aKtSymbolWithMembersKT-55504AA: remove dependency on :compiler:cli from standalone AAKT-60904K2: IDE K2: "For DESTRUCTURING_DECLARATION_ENTRY with text_, one of element types expected, but FirValueParameterSymbol found"KT-61260K2 Scripts: Containing function should be not null for KtParameterKT-61568FIR Analysis API:collectCallCandidatesgives presence to the top level functions in the presence of more suitable overridesKT-60610K2 IDE: move "out of block" processing logic into LL FIRKT-61597Analysis API: KotlinIllegalStateExceptionWithAttachments: expected as maximum oneexpectfor the actual on errorneous code with multiple expectsKT-59793K2: class org.jetbrains.kotlin.fir.declarations.impl.FirErrorImportImpl cannot be cast to class org.jetbrains.kotlin.fir.declarations.FirResolvedImportKT-61599K2: ContextCollector: Support smart cast collectionKT-61689Analysis API: ContextCollector provides incorrect context in scriptsKT-61683Analysis API: resolve ambiguities in kotlin projectKT-61245Analysis API: ContextCollector provides incorrect context for supertype constructor callsKT-60384K2: Opening@JvmNamesource in IDEA: NPE at PsiRawFirBuilder$Visitor.toFirConstructor()KT-60918K2 IDE: "FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtDestructuringDeclarationEntry, fir is null"KT-61013K2 Scripts: LLFirReturnTypeCalculatorWithJump: No designation of local declarationKT-59517K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistentKT-61331K2: add cache restoring in case of existing contextKT-61408K2: IDE K2: "Inconsistency in the cache. Someone without context put a null value in the cache"Analysis. Light Classes
Performance Improvements
KT-63486SLC: a lot of RAM is allocated inorg.jetbrains.kotlin.asJava.LightClassUtil.isMangledFixes
KT-66692SLC:findAttributeValuefor attribute w/ default value in Java returnsnullKT-61734SLC: wildcard suppression not honoredKT-65112Symbol Light Classes don't support annotations on type parametersKT-65843K2: Light method returnskotlin.Unittype forTestResultreturn typeKT-65653SLC: wrong binary resolution to function with value classKT-65393SLC: missing deprecated-hidden propertyKT-64772SLC: presence of source PSI for compiler-generated declarationKT-65425K2 IDE: Seeing a reference to the class generated by compiler plugin exposed from Java code caused NPE from light classesKT-64937SLC: internal setters are not mangledKT-63949K2 IDE. Analyze hang on@Autowiredconstructor analysisKT-63087K2 IDE: in .java source reference to JvmName names on unsigned type / value class are unresolvedKT-64605K2 IDE: usage of@Repeatableannotation in Java: false positive "Duplicate annotation"KT-64795SLC: distinguish last v.s. non-lastvarargvalue parameter type during binary resolutionKT-61605K2 IDE: Light elements do not obey platform contractsKT-57536SLC: no need to populate members withexpectmodifierKT-64320Decouple kotlin psi from java PSIKT-64282Decouple KotlinIconProviderService from java PSIKT-63552Symbol Light Classes don't support arrayOf and similar without parameters in property initializers and default parameter valuesApple Ecosystem
KT-63821Copy framework to BUILT_PRODUCTS_DIR in the embedAndSign taskKT-67892KotlinNativeLink task instantiates with a fixed list of apiFilesKT-64096Diagnostic when embedAndSign used for framework with cocoapods-dependenciesKT-66446Diagnostic never showed, and build fails when CocoaPods dependency is used with embedAndSign task and linking type is dynamicKT-66445Diagnostic never showed when CocoaPods dependency is used with embedAndSign task and linking type is staticKT-62373"Xcode higher than tested" diagnosticKT-63212podInstall task fails without a proper diagnostic when xcodeproj gem is outdatedBackend. Native. Debug
KT-65553K2: Native: kt42208WithPassingLambdaToAnotherFunction test fails with K2KT-57365[Native] Incorrect debug info on inline function call siteBackend. Wasm
New Features
KT-65009Generate TypeScript definitions for the@JsExportdeclarations in K/WasmKT-58088[PL] Support & enable partial linkage for WasmKT-66327Include information about particular Wasm target into KLib manifestFixes
KT-66465WASM support doesn't appear to be able to see some common declarationsKT-66905K/Wasm: support new version of exception handling proposalKT-66515Wasm: "call param types must match" during the buildKT-67435K/Wasm: import.meta.url transforming into absolute local path in webpackKT-65777Implement named export for Kotlin/WasmKT-65660[WasmJs] Support catching JS exceptionsKT-65824Wasm: Allow unsigned primitives to be used inside functions annotated with@JsExportKT-66103Wasm: companion object is not initialized in test initializers1.ktKT-66471Null method reference with Kotlin/Wasm on 2.0.0-Beta4KT-65210K/Wasm::classoperator produces Number KClass for Short expressionKT-66065[Wasm] Make specialisations for closured primitive valuesKT-64890K/Wasm compiler crash with external class and KodeinKT-66104Wasm: compiler crash: NoSuchElementException: Sequence contains no element matching the predicateKT-65778Create the same TypeScript tests infrastructure for Kotlin/Wasm that we have now for Kotlin/JSKT-65411Kotlin/Wasm: Boolean boxed instances are not the sameKT-65713Kotlin/Wasm generates a wrapper that cannot run in DenoKT-63939Kotlin/Wasm Support lazy associated object initialisationKT-61888[Kotlin/wasm] in kotlin.test support for@AfterTestfor async testsKT-64803K/Wasm: non-capturing lambdas are not singleton unlike same lambdas in jvmKT-64449K2: Implement K1WasmWasiCodegenBoxTestGenerated for K2KT-64829K/Wasm: division remainder has a wrong signKT-58852WASM: two methods with different varargs: Class korlibs.template.dynamic.DynamicShape has 2 methods with the same signature [register(kotlin.Array)KT-61263K/Wasm: add a way to turn on k2 in wasm examples using ComposeKT-62863Execution failed for task ':kotlinx-serialization-properties:wasmJsD8Test' in serialization in the K2 QGKT-62657K/Wasm: switch to json repots for Kotlin Wasm BenchmarksKT-62147[Kotlin/Wasm] Nothing typed when expression cause a backend errorKT-61958Update SpiderMonkey and return its usage in box tests when they switch to the final opcodes for GC and FTR proposalsKT-60828K/Wasm: return br_on_cast_fail usagesKT-59084WASM: "RuntimeError: illegal cast" caused by inline class and JsAnyKT-60700[WASM] test FirWasmCodegenBoxTestGenerated.testSuspendUnitConversion failed after KT-60259Compiler
New Features
KT-45375Generate all Kotlin lambdas via invokedynamic + LambdaMetafactory by defaultKT-24664No smartcast on stable property if receiver had non-null assertionKT-23915Add smart cast to non-nullable type after elvis operatorKT-61077Support provideDelegate inference from var property typeKT-59688K2: consider removing smartcasts only from the only visibile property with specific name, not from all of themKT-7389Intersection type for type parameter with multiple upper bounds in star projectionKT-63477Consider supporting builder-style type inference from Unit coercion of last statements in lambdasKT-61907K2: builder inference works with assignments to member propertiesKT-61909K2: builder inference infers correct types from assignments to extension propertiesKT-59551K2: builder inference works with anonymous functions if builder parameter has a receiver with a postponed type variableKT-65443[K/N] Implement header cachesKT-4113Smart casts for properties to not-null functional types atinvokecallsKT-65681K2: Improve error message of UPPER_BOUND_VIOLATED when upper bound is a captured type or other non-denotable typeKT-32754Choose existing extensions over additional built-ins members from JDK except overridesKT-57800Support synthetic properties onsuperreceiverKT-64350K2: deprecate using typealias as a callable qualifier in importsKT-26565Choose existing extensions over additional built-ins members from JDKKT-65478JVM: Change inlined variable naming formatKT-64702Upper bound of type parameter is ignored when capturing of in-projection appears in out positionKT-60274K2: builder inference works through a delegated local variable inside builder argumentKT-65859Calls refinement extension pointKT-15220Reuse resolution results of common code for platform modules in multiplatform projectsKT-60476K2: False positive NO_VALUE_FOR_PARAMETER in platform code for value class with default parameter in common declarationKT-65153K/N: extract liveness analysis to a separate phaseKT-59098Support -Xjdk-release=1.6/1.7 with -jvm-target 1.8KT-63670Implement platform specific declaration clash diagnostics across all backendsKT-62547Introduce a language feature flag for smartcasts based on "memory" variablesKT-60820K1: Empty vararg value is inserted in serialized annotation call with expect default vararg valueKT-58172Forbidexpect class A actual constructorKT-54443Smart cast to non-null after safe-call in requireKT-25747DFA variables: propagate smart cast results from local variablesKT-22997Smart-cast should merge is-check for non-nullable type and a null check to a nullable typeKT-22996Smart casts should observe nullability after is-check with a nullable subject typeKT-22004Allow to resolve CONFLICTING_OVERLOADS with Deprecated(HIDDEN)KT-61955Support more wider actual member visibility, if the expect member is effectively finalKT-59504K2 compiler does not require resolved 'componentX' functions for the placeholder ('_') variables in the destructuring declarationsKT-62239Allow enum entries without parentheses uniformlyKT-11712Smart cast is not applied for invisible setterPerformance Improvements
KT-47545NI: Slow type inference involving large when-expression (ConstraintInjector.processConstraints)KT-62714Do not add nullability annotations to the methods of inner classes in enum entriesKT-62903UnoptimziedwhencompilationKT-67388FP intellij: performance degradation in build 611KT-67507K2: Slow compilation times when a class has a lot of possibly conflicting declarationsKT-65005K2: Investigate testCommonSuperTypeContravariant performanceKT-65996Compiler enters endless loopKT-66341K2: Don't build IdSignatures in FIR2IR with IR f/o builderKT-66172K2: Improve memory consumption ofKtPsiSourceElementKT-50860Combination of array set convention and plusAssign works exponentiallyKT-62798'in' range checks are not intrinsified in kotlin-stdlibKT-65579K2: performance regression in FP SpaceKT-61635K2:getConstructorKeywordcall inPsiRawFirBuilder.toFirConstructorforces AST loadKT-62619FIR: Checker performance regression due to MISSING_DEPENDENCY checkersKT-62044Do not add nullability annotations to the methods of anonymous classKT-62706Optimize KtSourceElement.findChild()KT-62513Do not add nullability annotations to the methods of local classesKT-61991K2: avoid redundant full body resolution for properties during implicit type phaseKT-61604[K/N] Bitcode dependency linking is slow for large compilationsKT-61121[K/N] Kotlin Native compiler performance is slow when generating large frameworksKT-57616K2: Consider optimizing reversed versions of persistent lists in FirTowerDataContextFixes
KT-67993K2: PCLA Inference throws exception with local objectsKT-61768Wrong bytecode index in LineNumberTable when there is an incremental operationKT-63580"AssertionError: access of const val: GET_FIELD" caused by const value and variable with delegationKT-63567"NoSuchMethodError" on getting value of lazily initialized property by companion's const valueKT-56078K2: build kotlinx.coroutinesKT-67609K2: False negative INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERRORKT-57750Report ambiguity error when resolving types and having the same-named classes star importedKT-65603K2: No approximation is done on public, but effectively private propertyKT-59932K2: Disappeared AMBIGUOUS_ANONYMOUS_TYPE_INFERREDKT-59906K2: Disappeared CAPTURED_VAL_INITIALIZATIONKT-53886NoSuchMethodError exception in Kotlin/Native compilerKT-57678K2: Inconsistency in how K2 analyzes unresolved code for loops and changing closuresKT-57871K1/K2 inconsistency on if-conditional without else-branch in parenthesisKT-56384K2: build IntelliJ monorepo master branchKT-49191Leaked integer literals from lambda with flexible return typeKT-65812K2: "OutOfMemoryError: Java heap space" in kotlin.utils.SmartList.addKT-67224K2/Native: Member overrides different '@Throws' filter from separate moduleKT-65623K2: Unresolved reference in connection with castsKT-64136K2: NSME with Anvil compiler pluginKT-51241Provide a error when override method has different set of context receiversKT-52920Confusing "Multiple arguments applicable for context receiver" error messageKT-67912K2: Cannot inference type properly from inline function with Type parameterKT-68056Prohibit referencing java field in case of conflict with property from companion object of the derived classKT-61129K2: Implement error suppression warningKT-67367K2: Incorrect resolution to top-level function with less specific signature in presence of SAM constructor on the same tower levelKT-50179Fix DUPLICATE_LABEL_IN_WHEN warning with new rules of complex boolean constantsKT-45334Prohibit referencing constructors of sealed classes by its inner membersKT-59943K2: Disappeared OPERATOR_MODIFIER_REQUIREDKT-67875K2: Resolution ambiguity between Iterable and varargsKT-67699Not enough information to infer type argument for 'Error' using Arrow's Raise context receiver since Kotlin 2.0.0-Beta3KT-67486K2: Calling method from a Java (implementing a Kotlin class) with named parameters is no longer possible if Java method has different parameter namesKT-66527K2: type mismatch on override for typeKT-59897K2: Disappeared PACKAGE_OR_CLASSIFIER_REDECLARATIONKT-50020K2: False-negative USAGE_IS_NOT_INLINEABLE when lambda in receiver positionKT-44557Implement main function detection to FIRKT-67810K2: public-API inline function cannot access non-public-API annotation enumKT-66447Implement KT-59138 under a language featureKT-54862Anonymous type can be exposed from private inline function from type argumentKT-37592Property invoke of a functional type with receiver is preferred over extension function invokeKT-51194False negative CONFLICTING_INHERITED_MEMBERS when dependency class contained in two different versions of the same dependencyKT-67221K2: "new inference error [NewConstraintError at Incorporate TypeVariable" for captured typeKT-66701K2: Java interface method override via Kotlin class rejectedKT-60604K2: introduced NON_PUBLIC_CALL_FROM_PUBLIC_INLINE,@PublishedApineeded for constants in annotationsKT-64309Generate a variable mapping for continuation parameter in suspend methods just from the startKT-65438K2: Introduce WEAKLY_HIDDEN concept to built-in-JDK content mappingKT-65235JDK 21 might lead to change in overloads resolutionKT-66768K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast callKT-67106Platforms libs-dependant autotests for ObjC checkersKT-65440K2: Mark all potential implementations of List.getFirst()/getLast() as deprecated independently of JDKKT-65594K2: Type inference fails on NullMarked object with star typeKT-62849Unoptimised bytecode for Java synthetic property referencesKT-60174JVM IR inline: accidental reification in various casesKT-57609K2: Stop relying on the presence of@UnsafeVarianceusing for contravariant parametersKT-54316Out-of-call reference to companion object's member has invalid signatureKT-66976Some value class diagnostics are missedKT-57426Incorrect error message on inapplicable smartcast from alien propertyKT-55111OptIn: forbid constructor calls with default arguments under markerKT-49856Incorrect smartcast on var assigned in try-catch blockKT-41237ReturnsImplies contract for receiver of member function does not work (no smartcast)KT-37878No Smart cast for class literal reference of nullable generic typeKT-35846Smart cast with unchecked cast leads to unresolved call that was resolved before (both old and new inference)KT-30867Unsound smartcast if smartcast source and break is placed in for-in header as function argumentsKT-30267Inconsistent smart casts in while (true)KT-33917Prohibit to expose anonymous types from private inline functionsKT-28889Smart cast does not work with booleanandinfix functionKT-54790False positive NO_ELSE_IN_WHEN when all interfaces are sealedKT-54920K2:whenwith a single branch stops being exhaustive the second time it's doneKT-53364False positive UNUSED_VARIABLE warning for variable that is used across multiple blocksKT-43234False positive INVALID_IF_AS_EXPRESSION caused byifwithoutelseinsideelseinside synchronized()KT-38490False negative INVALID_IF_AS_EXPRESSION with unreachable code and coercion to UnitKT-35510No INVALID_IF_AS_EXPRESSION ("'if' must have both main and 'else' branches if used as an expression") diagnostic for if-expression with only one branch and Nothing type conditionKT-34016Contracts - variable cannot be initialized before declarationKT-56408Inconsistent rules of CFA in class initialization block between K1 and K2KT-33829False positive SENSELESS_COMPARISON with assignment in catch blockKT-30717False positive UNUSED_VARIABLE with local var used in inline lambda block with loop, return and other lambdaKT-28232RETURN_NOT_ALLOWED in inline lambda argument of '[... ]' operator conventionKT-26116No error when class member val is referenced in inline function before it is assigned later onKT-25311Calls on error type values lead to false-positive unreachable codeKT-24372Misleading warning on unused setter parameter in some casesKT-23680False positive UNREACHABLE_CODE onthrowwith areturninsidefinallyclauseKT-23502When exhaustiveness is not checked for unreachable code, resulting in JVM back-end errorKT-22621"throw throw Exception()": False negative UNREACHABLE_CODE warningKT-22317No INITIALIZATION_BEFORE_DECLARATION without primary constructorKT-67307K2: "Cannot find cached type parameter by FIR symbol" in JpaRepository.saveAllKT-67185K2: Incorrect coercion-to-Unit leading to CCE at runtimeKT-64891K2: consider supporting/forbidding foo.(bar)() syntaxKT-59480K2: build moko-resourcesKT-65771K2: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" when calling method imported using typealias as callable qualifierKT-67502K2: "property must be initialized or be abstract" with try-finally in secondary constructorKT-67456K2: "property must be initialized or be abstract" depending on constructor declaration orderKT-63524K2: "Not enough information to infer type argument"KT-67628K2: "IllegalArgumentException: Expected nullable type" — alias of nullable type analyzed as non-nullable in type parameterKT-67625K2: Array aliases can't be used as vararg valuesKT-67624K2: False negative "The feature "break continue in inline lambdas" is experimental and should be enabled explicitly" in elvis operatorKT-61787K2 doesn't report warnings for some Gradle tasksKT-62550K2: Different JVM signature of lambda withUnitreturn typeKT-65120K2 Consider turn into platform checkers ones which checks for objCKT-60271K2: origins are not set on compare operatorsKT-28695Compiler does not detect uninitialized property in lambdaKT-67593K2: false negative SUPER_CALL_WITH_DEFAULT_PARAMETERSKT-67484K2: FIR2IR generates incorrect access to f/o of lateinit internal varKT-47382JVM / IR: "AssertionError: Unbound private symbol IrFieldSymbolImpl" caused by string template in constructor and extension propertyKT-67581K2: Compiler fails on actualizing abstract class with sealed Java class via type aliasKT-49404Fix type unsoundness for contravariant captured type based on Java classKT-22379Condition of while-loop with break can produce unsound smartcastKT-67021K2: Cannot find cached type parameter by FIR symbol: E of the owner: FirRegularClassSymbol FunctionKT-67014K1/K2 handle when expression as annotation target differentlyKT-67254K1/K2 both allow annotations on loops, assignments, array setsKT-66960K2. KMP. False negative'when' expression must be exhaustivewithout sealed class inheritor from common source-setKT-65578K2: implement a deprecation warning for KT-57014 (wrong nullability returned from JDK SAM constructor lambda)KT-63466@NonNullon a type-variable usage doesn't take precedence over a wildcard type argumentKT-56134K2: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER diagnostic is reported for the wrong symbolKT-66196Convert INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_ERROR to warningKT-66793K2: "assigning single elements to varargs in named form is prohibited." caused by varargs supplied from java with elvis operatorKT-59872K2: Disappeared TYPE_MISMATCHKT-67192K2: Disappeared TYPE_MISMATCH [3]KT-63319K1/K2: inconsistent behavior around NullMarked and type parameter based typesKT-59882K2: Disappeared CANNOT_INFER_PARAMETER_TYPEKT-67191K2: Disappeared TYPE_MISMATCH [4]KT-53752Missed subtyping check for an intersection typeKT-52628Deprecate SAM constructor usages which require OptIn without annotationKT-54066Deprecate upper bound violation in typealias constructorsKT-64860K2: Consider using different ConstraintPosition when fixing variables for PCLAKT-67189K2: Disappeared TYPE_MISMATCH [5]KT-67551K2: No wrong annotation target error forforstatementKT-67374K2: Object is not smartcasted to type parameter typeKT-67264K2: "argument type mismatch" with suspend lambda and java wildcardKT-63257K2: FIR2IR inserts incorrect implicit cast for smartcasted variableKT-66902K2: "Named arguments are prohibited for non-Kotlin functions" with Java interopKT-67311K2: "Argument type mismatch" caused by lambda type when using named argumentsKT-57011Make real type of a destructuring variable consistent with explicit type when specifiedKT-62043K2: Fix FirCompileKotlinAgainstCustomBinariesTest.testRawTypesKT-66256K2: compiler FIR2IR crash on SAM-conversion to value parameter of in-projected typeKT-67124"Unstable inference behaviour with multiple generic lambdas" compilation errorKT-59791K2: Implement partially constrained lambda analysisKT-66743Lambda receivers and anonymous function parameters of inaccessible types are allowedKT-67315K2: Some default imports are not excludedKT-56126Avoid using descriptors at JvmPlatformAnalyzerServices::computePlatformSpecificDefaultImportsKT-66513K2: Suppressing OPT_IN_USAGE_ERROR is now a warning in K2, preventing safe code gen compatible with -WerrorKT-67233False negative UNSAFE_CALL with type check after null coalescing with 'OR'KT-52802Report ambiguity resolving between property/field and enum entryKT-64920Json.encodeToString yields different results depending on whether typealias is usedKT-58260Make invoke convention work consistently with expected desugaringKT-67314PCLA works inconsistently with smart-cast related CS forksKT-66797K2 JS: Primary constructor property annotation with target VALUE_PARAMETER is put on property instead of parameterKT-55179False negative PRIVATE_CLASS_MEMBER_FROM_INLINE on calling private class companion object member from internal inline functionKT-54663Projected types don't take into account in-place not null typesKT-58191K2: capturing closures successors that are already resolved (thanks to backward edges) must be taken into account for allowing smart castsKT-67144K2: potential NPE when assigning to unstable varsKT-66971K2: missing SMARTCAST_IMPOSSIBLE on open val declared in another moduleKT-66904K2: possible NPE when reassigning captured variablesKT-57031operator assignment, increment/decrement should be considered as variable reassigning in terms of DFA. green in K1 -> red in K2 for unsound codeKT-67212K2: "Failed to find functional supertype for class org.jetbrains.kotlin.fir.types.ConeCapturedType"KT-67283K2: No SAM conversion for fun interface with abstract toStringKT-67318Compiler fails with OutOfMemoryError on combination of PCLA+smart castKT-66956K2: false negative CONST_VAL_WITH_NON_CONST_INITIALIZER for inc/dec operatorsKT-64233K2: K1/K2: ensure JVM ABI consistency for quality gates projectsKT-63535K2: Apply DFA implications for nullable Nothing to both sidesKT-63413K2 / kotlinx-atomicfu: "IllegalStateException: Expected some types"KT-62931K2: extra class files for@OptionalExpectationmarked annotationsKT-34307Confusing error message on lambda return type mismatchKT-62151K2. overload resolution ambiguity for calls of Java record compact constructorsKT-60732K2 Scripting: TeamCity DSL testKT-65062K2: build kotlinx.collections.immutable and pass to CIKT-59467K2: build toolbox-enterpriseKT-67205K2: can't deserialize annotation with local class as argumentKT-52175K2: WRONG_ANNOTATION_TARGET for annotation that used inside ifKT-65449K2: build KAPT user project and pass it to CIKT-61384IrFakeOverrideBuilder incorrectly checks visibility for friend modulesKT-67142K2: IrFakeOverrideBuilder: AbstractMethodError on raw type argument in a Java superclassKT-65105K2 / Native: Member overrides different '@Throws' filterKT-62570IncompatibleClassChangeError due to overriding final methodKT-57812K2: support serialization of type annotation's argumentsKT-67190K2: Disappeared TYPE_MISMATCH [2]KT-56683K2: No control flow analysis for top-level propertiesKT-67188K2: Disappeared TYPE_MISMATCH [6]KT-62063K2: drop pre-release flag in 2.0-RCKT-67187K2: Disappeared TYPE_MISMATCH [1]KT-66909K2: Implement a diagnostic for returning null from a lambda with expected return type Unit!KT-66534False positive ASSIGNMENT_TYPE_MISMATCH in lambdas with expected return type Unit!KT-63381IrFakeOverrideBuilder: PublishedApi affects overridability of internal membersKT-63836K2: No deprecation error message in common metadata compilationKT-57618K2: complex deprecation messages are not printed in the errorKT-59856K2: Check ConeDiagnostics that are not mapped to KtDiagnosticsKT-57502K2: Smart casts should be forbidden if variable that remembers the smart cast is declared by delegationKT-63967K2: Missing getterSignature in metadata for script variablesKT-59372K2: Missing SELF_CALL_IN_NESTED_OBJECT_CONSTRUCTOR_ERRORKT-60526K2: Fix the TODO inconvertToIr.ktKT-67090K2: Exception from metadata compilation when compiling class with annotations from dependenciesKT-59479K2: build KorGEKT-64502K2: Internal error on calling function before declarationKT-62560K2: KAPT4: annotation@ReplaceWithis missing a default value for the element 'imports'KT-67027K2: Review all use-sites of annotation arguments utilitiesKT-65012IR Evaluator:NoSuchFieldExceptionwhen evaluating protected/private fields of superclassesKT-66953K2: toByte() call on Char leads to ClassCastException for klib backendsKT-60096K2: Introduced API_NOT_AVAILABLEKT-59484K2: build trustwallet sampleKT-64151K2: consider implementing FIR-level constant evaluationKT-65787K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType" caused by passing lambda expression with multiple labels to functionKT-53629K2: forbid multiple labels per statementKT-65255K2 / KJS: "IllegalArgumentException: Candidate is not successful, but system has no contradiction"KT-65195K2: Unexpected exception when executing dynamic array element inc/decKT-63416K2 / Contracts: False positive "Leaked in-place lambda" warning caused by suspend lambda with callsInPlace contractKT-66717Incorrect diagnostics around intersection property overridesKT-63540Restrict the CONFLICTING_OVERLOADS + DeprecatedLevel.HIDDEN ignore to final callablesKT-56587There are no warnings in some cases when Enum.entries is shadowedKT-65111K2: Java star imports don't work in KJK interdependenciesKT-63709K2: Argument smartcasting impacting receiver and call resolution for implicit invokeKT-63530K2: Disable passing data flow info from in-place lambdasKT-65377K2: "Argument type mismatch" caused by approximated captured type argument of generic typeKT-59400K2: Missing CANNOT_INFER_VISIBILITYKT-62305K2: Missing Fir metadata serialization support for scriptsKT-64534K2: org.jetbrains.kotlin.util.FileAnalysisException: Somewhere in fileKT-57555[LC] Forbid deferred initialization of open properties with backing fieldKT-65776[LC] K2 breaksfalse && ...andfalse || ...KT-64641K2: Change in inference of supertype of function types with receiverKT-65649K2: IR has incorrect origins for some inplace updating operatorsKT-64295Forbid recursive resolve in case of potential ambiguity on upper tower levelKT-62866K2: Change qualifier resolution behavior when companion object is preferred against static scopeKT-55446Change impact of private-to-this visibility to resolutionKT-64255Forbid accessing internal setter from a derived class in another moduleKT-64966Forbid generic delegating constructor calls with wrong type for generic parameterKT-63389K2:WRONG_ANNOTATION_TARGETis reported on incompatible annotations of a type wrapped into()?KT-66748K2: False-positive AMBIGUOUS_SUPER in toStringKT-67013K2: ClassCastException: class FirConstructorSymbol cannot be cast to class FirNamedFunctionSymbolKT-64872K2: do-while condition able to access uninitialized variableKT-66350K2: "IllegalStateException: Unsupported compile-time value STRING_CONCATENATION" when evaluating an annotation argument stringKT-61798K2 incorrectly calculates modality of property accessorsKT-65035IrFakeOverrideBuilder: AbstractMethodError on inheritance from Java subclass of CharSequence with inherited implementationsKT-61579K2: Inconsistent reportingUNINITIALIZED_VARIABLEfor top-level propertiesKT-66730K2: False positive RETURN_TYPE_MISMATCH in return statement in SAM constructorKT-66570Generic wildcard upper bound inference errorKT-65272K2: invoke operator applies "restricted suspending call" error differently than K1KT-66148K2. Sources of receivers updated twice because of PCLAKT-62525K2: IllegalStateException: Can't find KotlinType in IrErrorType: IrErrorType(null)KT-64266K2: don't report MISSING_DEPENDENCY_CLASS on lambda parameter for non-generic typesKT-65300K2: this-expressions in initializers and local declarations don't introduce type information to either BI or PCLAKT-66463K2: false positive ACCIDENTAL_OVERRIDE_CLASH_BY_JVM_SIGNATUREKT-62356Prohibit using property+invoke for iteratorKT-63631K2: constant value UByte.MAX_VALUE is incorrectly deserialized from metadataKT-65386K2: Different signature of invoke for Unit lambdaKT-60574K2: generated IR forsuspendCoroutineUninterceptedOrReturnis different from K1 (K2 uses Any? instead of Unit)KT-66512K2: Incorrect diagnostic in lambda whose expected type is a type alias to UnitKT-66279K2: False positive INITIALIZER_TYPE_MISMATCH withreturn Unitin a lambda with the expected type() -> UnitKT-66277K2: False negative RETURN_TYPE_MISMATCH with empty return in lambda assigned to a propertyKT-66654K2 FIR resolution: Mismatch between actual type and expected type for a value parameter when the parameter type is a function type with special function kindKT-66638Cannot access properties of a generic type with wildcardsKT-66690K2: don't report MISSING_DEPENDENCY_CLASS on expression without errors for generic type argumentsKT-66767K2: Destructuring declaration inside initializer failureKT-63695JVM: Don't use plugin extensions when compiling code fragmentKT-65727K2: add proper package for properties generated from destructuring declarationsKT-64854K2: Trying to access private field on runtime with contractsKT-65388IrFakeOverrideBuilder - custom annotation is available in fake getter/setterKT-66595K2: compiler FIR checking crash on destructuring declarations calling hidden componentN declarationsKT-62129K2: Verification error on calling an extension from an env with 2+ context receiversKT-41607NI: UNSAFE_CALL caused by try catch block assigning to a nullable variableKT-63932K2/Native codegen test failures around builder inferenceKT-66352K2: difference between LL FIR and FIR for componentN functionsKT-66686K2 Script: Unresolved reference of script-specific entities on out-of-order resolveKT-65523K2: add proper package for result$$ propertyKT-66699Restore HostManager ABIKT-60533Inliner incorrectly captures non-null value as null in coroutinesKT-57925K2: Consider removing FirEmptyContractDescriptionKT-61893K2: should not resolve to Java function with Kotlin hidden-level deprecationKT-59669K2: Explore assignments in in-place lambdasKT-66271Fir: Deserialize classFile, functionFile and propertyFile from KlibMetadataProtoBufKT-57957K2: Symbol providers are frequently queried with error-named class IDsKT-66046K2: false negative CANNOT_WEAKEN_ACCESS_PRIVILEGE on propertyKT-66677K2: OVERRIDE_DEPRECATION isn't reported for WEAKLY_HIDDEN method toArray()KT-62793K2: slightly different bytecode of suspend conversionsKT-57244K2: slightly different naming scheme for suspend conversion adaptersKT-60256K2: types are not substituted in suspend conversionKT-66673K2/JS: FirJsInheritanceClassChecker doesn't expand type aliases to supertypesKT-66475K2/KMP/Wasm: report WRONG_JS_INTEROP_TYPE from a platform checkerKT-66474K2/KMP/JS: report EXTERNAL_TYPE_EXTENDS_NON_EXTERNAL_TYPE from a platform checkerKT-66473K2/Wasm: FirWasmExternalInheritanceChecker doesn't expand type aliasesKT-64407Implement WriteSignatureTestGenerated for K2KT-64438K2: Port CodegenTestCase to K2KT-64404Implement WriteFlagsTestGenerated for K2KT-66491K2 / KJS: "Name contains illegal characters." caused by backticks in importKT-66275K2: false-positive "Java module does not depend on module" error on access to inherited member from twice-transitive dependency via class from transitive dependencyKT-65801IrFakeOverrideBuilder - visibility is lost for setter in KJK hierarchyKT-65576K2: Incorrect resolution of variable+invoke when the property type is not computedKT-58575Private Kotlin property prevents use of Java get- and set-methods from Java-Kotlin-Java hierarchyKT-61282K2: Incorrect overridden function forjava.nio.CharBuffer.getKT-65464K2: False positive UNRESOLVED_REFERENCE on extension property call defined in KJK hierarchyKT-59470K2: build KaMPKitKT-60510Smartcast to functional type does not work in when exprssionKT-59677K2: Report diagnostics about missing receiver for delegated constructor call to inner classKT-65183K2: Remove workaround for@OnlyInputTypesand captured types with recursive supertypes from inferenceKT-66120IrFakeOverrideBuilder: wrong return type in intersection with 3 classesKT-65939IrFakeOverrideBuilder - nullability annotation is lost in intersection without annotationKT-59473K2: build firebase-kotlin-sdkKT-66356K2: type mismatch error when generic type with inaccessible generic type as type argument is produced and consumed by declarations from dependenciesKT-65193K2: "JAVA_TYPE_MISMATCH" caused by MutableListKT-66636NoSuchMethodError: 'void org.jetbrains.kotlin.ir.expressions.impl.IrCompositeImpl. in the FLysto K2 QGKT-63941K2: "IllegalStateException: Unsupported compile-time value STRING_CONCATENATION" caused by class reference in string expression as annotation parameterKT-65704K2:computeCommonSuperTypeof flexible type with recursive captured type argument produces giant multi-level-deep typeKT-65410K2: ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED for 'removeAt' in KJK hierarchyKT-65184K2: disappeared TYPE_MISMATCH for java collectionsKT-66392K2: Exception in KJK hierarchy with implicit typesKT-66551Revert temporary commits after KT-62063 and bootstrappingKT-65218FIR LL and DiagnosticFE10 tests start to fail in case of adding any new declaration into stdlib commonMainKT-66552K2: build of intellij crashes the compilerKT-63746K2: JSpecify: If a class has a@Nullabletype-parameter bound, Kotlin should still treat unbounded wildcards like platform typesKT-66504K2: plusAssign operator call is resolved differently than function callKT-48515JSpecify: If a class has a@Nullabletype-parameter bound, Kotlin should still treat unbounded wildcards like platform typesKT-57588K2/Native: False positive '"CONFLICTING_OVERLOADS", "PARAMETER_NAME_CHANGED_ON_OVERRIDE" on overriding objc methodsKT-58892K2: Parcelize doesn't work in common code when expect annotation is actualized with typealias to@ParcelizeKT-65882K2: "KotlinNothingValueException" caused by unsafe cast and Nothing::classKT-66124K2: Remove FirLambdaArgumentExpression and FirNamedArgumentExpression after resolutionKT-65959K2: Incorrect warnings about inline function impactKT-64994K2:@Composablelambda type is not resolved from other modulesKT-66048K2: property becomes nullable in KJK hierarchy if base declaration has implicit return typeKT-47843No error reported on assigning "continue" to a companion objectKT-47530NI: Unexpected TYPE_MISMATCH when combining nested conditional and contravariant type argumentKT-49583NI: NullPointerException on compiling anonymous function returning a method referenceKT-42782NI: Smart casting for generic type doesn't work if the variable is already smart castKT-38031FIR: Discrepancy in call resolution for qualifiers with old FEKT-65789K1/K2: Resolve change in constructor/top-level function ambiguityKT-66150K2: expects type argument in super qualifierKT-60971Incorrect "cannot inline bytecode built with JVM target ..." on property setter if only getter is inlineKT-61514K2: Build fake overrides using IR during Fir2IRKT-65584K2: "Duplicate parameter name in a function type"KT-50008JSpecify@Nullableannotation on type-parameter bound prevents type-variable usages from being platform typesKT-37000IndexOutOfBoundsException from TypeResolver on typealias with cyclic referencesKT-56988CFG, smart casts: red in K1 -> green in K2 for invalid codeKT-62118FIR: "HashMap.entry" has invalid enhanced typeKT-64840K2: Bare type are not allowed for TV based values during PCLAKT-65415K2: Stdlib K2 build error: IrConstructorSymbolImpl is already boundKT-66449Make DiagnosticSuppressor a project-level extensionKT-66411FIR: Real source on fake block around assignment expression in the "when" branch affects resolve in K2 Analysis API and IDEKT-65249K2: False positive modality is different for native compilationKT-65982K2 Scripts cannot disambiguate declarations imported from default and explicit importsKT-65677K2: Unable to resolve parent class from companion objectKT-47310Change qualifier resolution behavior when companion property is preferred against enum entryKT-41034K2: Change evaluation semantics for combination of safe calls and convention operatorsKT-63529K2: Compiler does not detect tailrec call with nullable typeKT-66441Remove symbol table from IR fake override builder in Fir2IrKT-64846K2: false negative CONFLICTING_JVM_DECLARATIONS on inheritance from Java collection subclass with a conflicting overrideKT-62312[K2/N] revert putting stdlib to the beginning of libraries list in the compilerKT-58203K2: false-negative incompatible types error on is-check with unrelated typeKT-65722K2: Property reference refers to non-existent functionsKT-65878K2: "ClassCastException" when passing nun-suspend lambda to SAM constructor with named argumentKT-66379K2: No extra message in UPPER_BOUND_VIOLATED for cases with CapturedTypeKT-59475K2: build nowinandroidKT-65926K2: add tests for all fixed-in-k2 / not-reproducible-in-k2 unresolved issuesKT-59481K2: build aws-sdk-kotlin + smithy-kotlinKT-65022K2: Compiler crashes when array literal is used in delegate expressionKT-62836K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-64727K1: Closing bracket of object inside crossinline lambda or inside lambda in inline function is not hit on step-overKT-64726K1: Cannot stop on closing bracket of crossinline lambda inside of another crossinline lambdaKT-64725K1: Cannot stop on closing bracket of lambda of inline-only functionKT-66272Could not load module with a combination of type parametersKT-66243Could not load module in a builder inference with lambda with typed parameterKT-66229Could not load module in a builder inference with Map.EntryKT-66313K2: declaration-order-dependent false-positive "recursive problem in type checker" error ongetXdeclaration with implicit return type that callsxdeclaration via intermediate declaration ingetX's expression bodyKT-61041K2: Consider getting rid of confusing shouldRunCompletion and shouldAvoidFullCompletion function in FirInferenceSessionKT-66267K2: generic function's type parameter is erased if present as type argument in type of callable reference to member of generic function's local classKT-61448K2: Disappeared DEPRECATION in testWithModifiedMockJdkKT-60106K2: Introduced REIFIED_TYPE_FORBIDDEN_SUBSTITUTIONKT-58279K2. False-negativeSmart cast to is impossible, because is a public API property declared in different modulefor Java static fieldKT-61626K2: Module "com.soywiz.korlibs.kmem:kmem" has a reference to symbol korlibs.memory/Buffer|null[1]KT-57427Fix inconsistencies in name manglers that use different declaration representationsKT-66258K2: accessor-targeted@Suppressannotation is ignored on primary constructor propertyKT-29559Smart Cast functionality doesn't behave in an expected way in all casesKT-60777K2: missing INLINE_FROM_HIGHER_PLATFORMKT-66260K2: false-positive "abstract function in non-abstract class" error on abstract member function of open interfaceKT-66067K2: different overrides are created in a complex hierarchy with raw types and upper-bounded type parametersKT-65821K2: [NONE_APPLICABLE] None of the following functions is applicable: [constructor(message: String?): Throwable, constructor(cause: Throwable?): Throwable, constructor(): Throwable, ...]KT-66268K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImplKT-63563K2: False negative RETURN_TYPE_MISMATCH with empty returnKT-60797K2: implement JAVA_MODULE_DOES_NOT_EXPORT_PACKAGEKT-28159Smartcasts don't work with Nothing? values (Nothing? considered a null constant => an unstable value)KT-28262Smartcasts for reference equality don't work if explicit true check is usedKT-66000K2: inherited inline getter has not been inlinedKT-66158K2: not nullable return type for upper-bounded kotlin type parameter in KJK hierarchyKT-57268K2: extra methodsremoveand/orgetOrDefaultare generated for Map subclasses with JDK 1.6 in dependenciesKT-63577K2: false-positive "wrong number of type arguments" error on callable reference to member of generic function's local classKT-62352jspecify NonNull annotation seems not supportedKT-65636PowerAssert: Negative contains operator not aligned correctly in K2KT-64271K2: Wrong overriddenSymbols for toString of data classKT-62779K2: Difference in fake override generationKT-61941K2: FIR2IR incorrectly generates f/o structure for complex java/kotlin hierarchies with remapped jvm declarationsKT-60283K2: fake override for java static method is not generatedKT-65095K2: no bridge generated for getOrDefault when inheriting from Java Map implementationKT-57301K2:getOrDefaultand bridges are not generated for certain Map subclassesKT-50916K2: store resolved type inside ConeStubType after builder inferenceKT-65857K2: java.lang.IllegalArgumentException: Unknown visibility: unknownKT-66174-Xjdk-release 6 and 7 have a misleading error messageKT-66175Wrong supported options list for -jvm-target compiler optionKT-58814Too eager subtype inference in when expressionKT-65408K1: "There are still 2 unbound symbols after generation of IR module" caused by data object'scopyfunction usageKT-65844False Positive "This class can only be used as an annotation or as an argument to@OptIn" when passing as an arrayKT-58697K2: Tests: Assert no dump files exist when dump directive isn't presentKT-63258NPE with function reference from within lambda during initKT-60597K1: IllegalArgumentException: fromIndex(0) > toIndex(-1) when wrapping receiver with backticksKT-33108USELESS_CAST false positive for cast inside lambdaKT-58458K1: "java.lang.NullPointerException" with 'var equals' or 'val equals' as argument in whenKT-58447K1: "AssertionError: Recursion detected on input" with@ParameterNameand extensionKT-41013OVERLOAD_RESOLUTION_AMBIGUITY for functions takes lambda: can not resolve it, but only named lambda parameterKT-56032[LC issue] Incorrect wrapping when passing java vararg method to inline functionKT-65588K2: typealias of primitive type in vararg causes ABI incompatibilityKT-23873Indexed access operator can cause false USELESS_CAST warningKT-31191Contract not smartcasting for extension functions in if-statement with multiple conditionsKT-28725ReenteringLazyValueComputationException during resolution & inferenceKT-35429ReenteringLazyValueComputationException when accessing property with same nameKT-63826K2: expect for expect crashes the compilerKT-25668False-positive error on restricted suspending function call with callable referenceKT-18055SMARTCAST_IMPOSSIBLE on mutable data class variable with a read-only propertyKT-15904Improve error message when type of generic extension call is inferred from receiverKT-66186K1 diagnostics miss some reporting messagesKT-65101Generics behaving different when parenthesizedKT-63444TYPE_MISMATCH caused by Inner class with nullable type and star projectionKT-62022K1 False positive EXPOSED_FUNCTION_RETURN_TYPE on generics with anonymous object typesKT-58751Definitely non-nullable type gets lost with star projectionKT-56624"Unresolved reference" with import alias and enum constructor callKT-54726K1: StackOverflowError on mutually recursive typealiasesKT-35134False negative INCOMPATIBLE_TYPES, EQUALITY_NOT_APPLICABLE when comparing smartcast value to BooleanKT-20617Qualified this@propertydoes not work in extension properties with body expressionKT-10879OVERLOAD_RESOLUTION_AMBIGUITY for synthetic property accessor with smartcasted receiverKT-26768K1 IDE: False positive "Smart cast to '$CLASS$' is impossible", on local variable in run closureKT-63525K2: "IllegalStateException: Fake override should have at least one overridden descriptor" caused by unreachable codeKT-65333K2: UNRESOLVED_REFERENCE for java inner class in intersection scopeKT-61060K2: Rewrite delegate inferenceKT-63712Make it possible to add new stdlib API with SinceKotlin(2.0)KT-63741K2: fix visibility inference with overridden + inherited memberKT-64488K2: False positive DEPRECATED_ACCESS_TO_ENTRY_PROPERTY_FROM_ENUM with context receiversKT-62283K2: build Dokka with K2 user project and pass it to CIKT-57585K2/MPP: false-negative errors on expect/actual modifiers mismatchKT-66077IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKindsKT-57044K2 LL Tests: false-positive 'Overload resolution ambiguity between candidates: [@Override() fun test(): Unit , fun test(): Unit]'KT-66020K2: ISE "IrPropertySymbolImpl is unbound. Signature: null" on a property with getter with@JvmNameKT-62135K2, KLIB: Classes are still sorted before serializing them to metadataKT-65866[K/N] Fix java.lang.IllegalArgumentException: Unknown visibility: unknownKT-66005K2: "Should not be here: class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedReifiedParameterReferenceImpl" on incorrect comparison of reified type parameterKT-65840[K2] Initializer type mismatch: expected 'Type', actual 'Type'KT-65002K2: Incorrect suspend conversion if argument is an aliased functional typeKT-65984K2 scripting: failure on processing SUPPRESS annotation in the last script statementKT-65680K2: Class redeclaration leads to BackendException during IR fake override builderKT-66028K2: Convert FirExpectActualDeclarationChecker to platform checkerKT-65592K2: IrFakeOverrideBuilder: ISE "should not be called" on diamond hierarchy with explicit dependency on annotations.jarKT-65277IrFakeOverrideBuilder: NPE from IrJavaIncompatibilityRulesOverridabilityCondition.doesJavaOverrideHaveIncompatibleValueParameterKindsKT-65983K2 gradle scripting: "'val' cannot be reassigned" errorsKT-60452K2 Scripting: implement overriding of the script paramsKT-65975K2: Implicit receivers resolution order in K2 scriptingKT-60249K2: No unit coercion generated for loops bodyKT-65937K2: order of enum entries changedKT-65933K2: Type missmatch in arrays in annotationsKT-65343JVM IR: Source parameter is lost when copying with DeepCopyIrTreeWithSymbolsKT-65103K2: IllegalArgumentException: IrErrorCallExpressionImpl(5388, 5392, "Unresolved reference: R?C|/cont|") found but error code is not allowedKT-62788K2: difference in annotation inheritance in overriddingsKT-65669K2: ClassCastException class FirDeclarationStatusImpl cannot be cast to class FirResolvedDeclarationStatusKT-65493IrFakeOverrideBuilder: difference in return type for intersection with raw typeKT-65207IrFakeOverrideBuilder - nullable return type for intersection overrideKT-65972Fix problems related to Unknown visibility in [FP] intellijKT-65246K2: Overiding java method that takes vararg parameter causes WRONG_NULLABILITY_FOR_JAVA_OVERRIDE warningKT-59883K2: Disappeared INVALID_IF_AS_EXPRESSIONKT-57300K2: subclass of MutableCollection with primitive element type has methods with boxed typeKT-58476Context receivers: "No mapping for symbol: VALUE_PARAMETER" with context-receiver inside suspended lambda calling another suspended functionKT-52213Context receivers: "No mapping for symbol: VALUE_PARAMETER" caused by contextual suspending function type with receiverKT-56545Fix incorrect functions mangling in JVM backend in case of accidental clashing overload in a Java subclassKT-13650Right-hand side of a safe assignment is not always evaluated, which can fool smart-castsKT-61823K2: Render list of declarations in diagnostic messages with linebreak as separatorKT-65302IrFakeOverrideBuilder - missing@EnhancedNullabilityKT-65241K2: [LT] Compiler crash on assignment expression with incorrect lvalueKT-60006K2: Disappeared EXPRESSION_EXPECTEDKT-65817K2: Check if callable reference vararg adaption can be affected by primitive type aliasesKT-62847K2: Introduce FIR node for SAM conversionKT-65920K2: no field for delegation is createdKT-65487K2: Different fake overrides and false positive NOTHING_TO_OVERRIDE for intersection/override with Collection.removeKT-65460Don't compare order of functions in IR dumpKT-64276[K/N][K2] K2 behaviorial difference with inconsistent inheritance of ObjCNameKT-65572[K/N][K2] INCOMPATIBLE_OBJC_NAME_OVERRIDE error message changed from K1KT-63420Prevent weakening visibility in implicit overridesKT-64635K2: "KotlinIllegalArgumentExceptionWithAttachments: Expected expression 'FirAnonymousFunctionExpressionImpl' to be resolved" when provideDelegate is extension of function with receiverKT-63879K2: Redundant flagdeclaresDefaultValuefor parameter of function inherited from delegateKT-56744Prepare language committee ticket about DFA/Smart-cast related changes in K2KT-65790K2: Move check for private-to-this visibility into checkerKT-65551K2: Property redeclaration on native compilation leads to NotImplementedErrorKT-65770K2: Diagnostic rendering ofvararg Fooparameter producesvararg Array<Foo>KT-65555K2: must override 'spliterator' because it inherits multiple implementations for itKT-59921K2: Disappeared NULL_FOR_NONNULL_TYPEKT-65290K2: No override for FUN DEFAULT_PROPERTY_ACCESSORKT-19446False positive "Smart cast to 'Foo' is impossible" due to same variable names in different closuresKT-65337K2: False positive UNRESOLVED_REFERENCE when lambda labeled by illegal label and operator-invokedKT-65448K2: fake overrides are not generated for 'containsAll', 'removeAll', 'retainAll' if inherited from raw typeKT-65298K2: not nullable return type and parameter for raw typesKT-63377K2: conflict between type parameter and nested classKT-63286K2: Top-level properties in scripts are missing initialization checksKT-59744K2: false negative VAL_REASSIGNMENT in case of reassignment inside custom setterKT-58579K2: false-positive new inference error on invoking a generic function on Java wildcard type bounded by raw-typed Java inner classKT-60258Support java-kotlin interop for@SubclassOptInRequiredKT-60262Support for inter-module interaction for@SubclassOptInRequiredKT-62878K2: missing implicit coercion to unitKT-59715K2: Check behaviour of property + operator in operator positionKT-63441IrFakeOverrideBuilder: "accidental override" when implementing a Java function taking an array parameterKT-65706K2: IrFakeOverrideBuilder: ISE "Fake override should have at least one overridden descriptor" on J-K-J-K hierarchy with interface delegationKT-61362K2: Properties/fields are missing from system librariesKT-63344K2: False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTEDKT-58845K2: SAM checker can run incorrectly in presence of an expect supertypeKT-61843K2: Missing TYPE_MISMATCH for nested array literalsKT-62752expect-actual matcher/checker: return type must be "checking" incompatibilityKT-59887K2: Disappeared ACTUAL_MISSINGKT-65604K2: INAPPLICABLE_JVM_NAME: effective modalityKT-65637Prepare documentation for PCLA implementationKT-65341K2: "Cannot find cached type parameter by FIR symbol" caused by not-null assertion operator inside string in throwKT-49283Support contribution type info from a nested builder inference callKT-64077K2: Builder inference ignores constraints from nested builder inferenceKT-49160Couldn't infer a type argument through several builder inference calls broken by a local classKT-63827K2: Array += desugaring doesn't have originKT-65057K2: Wrong type inferred in code with heavy use of genericsKT-63514ISE “Inline class types should have the same representation: [I != I” during compilation on submitting UIntArray to varargKT-61088K2: return types of non-last-expression calls to@PolymorphicSignaturemethods inside try-expressions don't resolve to void when requiredKT-62476K2: Enable building fake overrides by ir on non-JVM targetsKT-59839Prohibitheaderandimplin MPPKT-61310K2: "Not enough information to infer type variable R" for transformLatestKT-63733Builder-style type inference can't resolve to extension overloads when they're more applicable than member onesKT-57707K1: inconsistent TYPE_MISMATCH in builder inferenceKT-55057Builder inference changes behaviour sporadically based on BI annotation on unrelated callKT-60663Builder inference does not work inside a nested unrelated builder inference lambdaKT-53639TYPE_MISMATCH: compiler can't infer the list's type when usingbuildList {}builder orCollection#isNotEmptyKT-60291K2: "IllegalStateException: Cannot serialize error type: ERROR CLASS: Cannot infer argument for type parameter T" during FIR serializationKT-65033K2: Fir2LazyIr: Lazy type aliases not supportedKT-57709Inconsistent extension function call resolution in builder inferenceKT-53740Builder inference with multiple lambdas leads to unsound typeKT-60877Builder inference from the null literal results in Nothing instead of Nothing? for producing positions of the postponed type variableKT-53553Builder inference: inconsistent types in different lambda scopesKT-54400K2: builder inference does not work with assignments of literals to member propertiesKT-63840Builder inference fails on calls to identity-shaped functions with postponed type variables inside select-constructionsKT-65262K2: Exception in DFA for combination of try-finally + PCLA + DIKT-58169K2: make equals bounded smart casts work the same as in K1KT-64967K2: false positive TYPE_MISMATCH with generic type parametersKT-64102K2: Missing (disappeared in this case) DELEGATE_USES_EXTENSION_PROPERTY_TYPE_PARAMETER_ERRORKT-63988K2: Reflection cannot find type of local class of local classKT-63901K2: Different naming of inner class in metadataKT-63655K2: incorrect short class name in metadata for anonymous object inside a local classKT-59664Inline modifier can be added to a constructor parameter, but it does not have any effectKT-59418K2: Missing DUPLICATE_PARAMETER_NAME_IN_FUNCTION_TYPEKT-63612K2: Class is not abstract and does not implement abstract memberKT-63737Wasm: revise external declaration FE checker for WASI modeKT-59782K2: Forbid local delegated properties with private accessors in public inline functionsKT-65482K2: NoSuchFieldError due to using unboxed typeKT-61182Unit conversion is accidentally allowed to be used for expressions on variables + invoke resolutionKT-62998Forbid assignment of a nullable to a not-null Java field as a selector of unsafe assignmentKT-63208K2: Implement deprecation cycle and fix missing errors for error-level nullable arguments of warning-level Java typesKT-57600Forbid overriding of Java method with raw-typed parameter with generic typed parameterKT-63147K2: False negative DSL_SCOPE_VIOLATION when member is annotated with@LowPriorityInOverloadResolutionKT-62134K2: handle non-simple types during FirStatusResolver.isPrivateToThis checkKT-42020Psi2ir: IllegalStateException: "IrSimpleFunctionPublicSymbolImpl for public [...] is already bound" on generic function whose substitution leads to IdSignature clashSee the full 2.0.0 ChangeLog here - https://github.com/JetBrains/kotlin/blob/2.0.0/ChangeLog.md
v1.9.25: Kotlin 1.9.25Note: This is a technical release for IntelliJ IDEA.
Changelog
Tools. JPS
KT-69204Generate lookups in dumb mode for compatibility with ref indexv1.9.24: 1.9.24Changelog
Backend. Wasm
KT-64890K/Wasm compiler crash with external class and KodeinCompiler
KT-65235JDK 21 might lead to change in overloads resolutionKT-66768K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast callNative
KT-67218Native: nested classes in kx.serialization ProtoBuf produce empty array for release binaryTools. Gradle
KT-67139Build reports can be overriddenKT-67138Json report is empty for incremental compilationTools. Gradle. Multiplatform
KT-67127KMP: IDE Dependency Resolver for CInterops reports errors on linux and windows machinesKT-66514Don't get output file from Cinterop task for IDE Import if host os doesn't support itTools. JPS
KT-65043JPS dumb mode should respect maps needed for the compilerTools. Wasm
KT-67785Kotlin/Wasm: Node.JS 22 does not need experimental-wasm-gc flag anymoreKT-65864K/Wasm: update Node.js to 22.xv1.9.23: Kotlin 1.9.231.9.23
Apple Ecosystem
KT-65542Cinterop tasks fails if Xcode 15.3 is usedBackend. Wasm
KT-64486Kotlin/Wasm/WASI exported function callback for coroutines supportCompiler
KT-53478Could not load moduleKT-66044JDK's new API is used over Kotlin's SDK functionsKT-64640Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collectionsKT-65441K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfacesKT-65634K/N: data race during monolithic cache creationKT-53109CompilationErrorException generateUnboundSymbolsAsDependencies with builder inference and lambdasKT-52757Type inference for builders fails if inferred from a functionTools. Gradle
KT-65792Add JSON build reportKT-65091Update compiler metrics in build reportsKT-62490KGP dropping resource directoriesTools. Gradle. JS
KT-64119K/JS: Migrate package manager from Yarn onto NPMKT-64561K/JS tests are not executed after upgrade to 1.9.22Tools. Gradle. Multiplatform
KT-65954commonTest dependencies affect commoMainMetadata compilationTools. Gradle. Native
KT-64573Default value forproduceUnpackedKlibwas not providedv1.9.22: Kotlin 1.9.22Changelog
JavaScript
KT-63719KJS: Test results ignored for ES module kindKT-63808compileTestDevelopmentExecutableKotlinJs failed in JsIntrinsicTransformersNative
KT-64139Weird bug with while and coroutine in Kotlin NativeKT-63471linkDebugTestIosX64 Failed to build cache: NoSuchFileException bitcode_depsKT-63789Native: Incremental compilation problem with composeTools. CLI
KT-64485CLI: cache and optimize parsing of command-line argumentsTools. Gradle
KT-63990"Cannot query the value of property 'buildFlowServiceProperty' because it has no value available" with Isolated ProjectsTools. Gradle. Native
KT-63363Kotlin Gradle Plugin:KotlinNativeHostSpecificMetadataArtifactbreaks configuration cache, implicitly includes output file as configuration cache inputKT-63742Gradle wrongly caches Kotlin/Native compiler flagsTools. JPS
KT-64305Kotlin JPS builder requests chunk rebuild with graph implementationKT-64112Avoid using IJ's JPS mappings in Kotlin JPS testsKT-63799Make plugin classpath serialization path agnosticChecksums
v1.9.21: Kotlin 1.9.21Changelog
Compiler
KT-62885Introduce a language feature entry for expect actual classes for easier configuration of MPP projectsKT-63081Optimize new native caches: CachedLibraries.computeVersionedCacheDirectory()Docs & Examples
KT-55619DocumentString.formatfunctionIDE. Gradle Integration
KT-62877Artifact files collecting for project configuration was finished. Resolution for configuration configuration X will be skippedIDE. Gradle. Script
KT-60813Scripts: NoSuchMethodError: 'void org.slf4j.Logger.error(java.lang.String, java.lang.Object)' when dependency uses Slf4j APIJavaScript
KT-60785KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type errorKT-63207KMP / JS: "TypeError: <mangled_name> is not a function" with 1.9.20KT-62778package.json "main" field has .js extension when the result files have .mjs extensionKT-61795KJS: Incremental Cache is not invalidated ifuseEsClassescompiler argument was changedKT-61957KJS: "Uncaught ReferenceError: entries is not defined" caused by enum class with@JsExportand Enum.entries callKT-62444KJS with commonJS modules should re-export in 1.9.20KT-63184KJS / Serialization: JsExport on serializable interface creates erroneous TypeScriptKT-62190KJS: "IllegalStateException: Expect to have either super call or partial linkage stub inside constructor" caused by Compose and useEsModules()KT-58685KJS: "IllegalStateException: Not locked" cused by "unlock" called twiceKlibs
KT-62515Interop klib of concurrent version is not accepted when building dependent project: "The library versions don't match"Tools. CLI
KT-63139Incorrect kotlin implementation version (1.9.255-SNAPSHOT) in metadata infoTools. Gradle
KT-63499Gradle: Source sets conventions are still registeredTools. Gradle. JS
KT-59523MPP / KJS: ESM modules uses incorrect file extension on package.json (.mjs)Tools. Gradle. Kapt
KT-63366Kapt processing fails with custom source setsTools. Gradle. Multiplatform
KT-32608Create JUnit-XML result file in multiplatform gradle buildKT-63315Wasm gradle plugin DSL is invalid for parameterless wasmWasi methodKT-63338[KMP] metadata task fails to find cinterop classes from dependency projectsKT-63044KGP: Multiplatform - 8.4 configuration cache supportKT-63011Apple Framework Artifacts is not connected to KotlinNativeTaskKT-62601AS/IntelliJ exception after updating a KMP project with a macos target to Kotlin 1.9.20-RCTools. Incremental Compile
KT-61590K2/KMP: Expect actual matching is breaking on the incremental compilationTools. JPS
KT-63594ClassCastException in JPS statisticsKT-63651Fix NPE in Kotlin JPS after enabling graph implementation of JPSTools. Kapt
KT-57389KAPT3 uses a Javac API for JCImport which will break in JDK 21KT-60507Kapt: "IllegalAccessError: superclass access check failed" using java 21 toolchainTools. Scripts
KT-54819Scripts: Not able to use slf4j in .main.ktsKT-61727Scripts: Maven artifacts resolution is slowChecksums
v1.9.20: Kotlin 1.9.201.9.20
Analysis. API
New Features
KT-58834Analysis API: Add source shadowing feature to resolve extensionsPerformance Improvements
KT-57515LL FIR: Performance bottleneck inCompositeModificationTracker.getModificationCountKT-59266K2: optimize FirElementBuilder.getOrBuildFir for elements outside bodyKT-59454K2: drop resolve from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarationsKT-59453K2: completion regression from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarationsKT-59189Analysis API: KtFirKDocReference.resolveToSymbols is slowKT-58125K2: LL FIR:KtToFirMapping.getElementis slow forKtUserTypes due to on-air resolution of typesFixes
KT-59240K2: FirLazyResolveContractViolationException:lazyResolveToPhase(IMPORTS)cannot be called from a transformer with a phase IMPORTS from superTypesKT-58499K2: FirLazyBlock should be calculated before accessingKT-57966K2: Analysis API: Reference Shortener does not work correctly when called on entire fileKT-60954K2: Analysis API: Reference shortener does not work correctly with variable assignmentsKT-60940K2: Analysis API: Reference shortener incorrectly handles types in vararg parameters declarationsKT-60488Analysis API: forbid providing custom KtLifetimeToken for every analyze callKT-60728K2: proper support for scripts in LL FIR transformersKT-59159K2 IDE: declaration is not found exceptionKT-59297K2: exception from body resolve leads to corrupted state and broken analysisKT-59077KtFirExpressionTypeProvider behaviour for KtSimpleNameReferences in function callsKT-60586K2: forbid analyze from write actionKT-57743K2 IDE: StackOverflowError from LLFirSessionCache for simple JPS project with cyclic dependenciesKT-61026K2 Scripts: FirLazyExpression should be calculated before accessing from on-air resolveKT-61009K2 Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-60357K2 IDE. Reified types parameters are not resolved in a function bodyKT-60317K2 IDE. IAE "This method will only work on compiled declarations, but this declaration is not compiled" on invoking Find Usages for enum method in libraryKT-60706K2 IDE: FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-commonKT-60552K2: merge StateKeeper and lazy body calculator for ANNOTATIONS_ARGUMENTS_MAPPING transformerKT-60641Analysis API: Scope for class org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found exception when stdlib is missingKT-60638K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-54846Analysis API: add isExpect/isActual to KtSymbolKT-60448FirLazyResolveContractViolationException:lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS)cannot be called from a transformer with a phase COMPILER_REQUIRED_ANNOTATIONS from AllOpen pluginKT-59342K2 IDE. FirLazyResolveContractViolationException:lazyResolveToPhase(TYPES)cannot be called from a transformer with a phase TYPESKT-59687K2: Implement proper body update for in-block modificationsKT-59329Resolve Extensions reference resolution breaks Find UsagesKT-60295K2: move checkIsResolved for annotations from LLFirAnnotationArgumentsLazyResolver to LLFirTypeLazyResolverKT-59758K2: Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImplWithoutSource from ReturnTypeCalculatorWithJumpKT-60377K2 IDE: This method will only work on compiled declarations, but this declaration is not compiledKT-59685K2: rewrite on-air resolutionKT-60132K2: properties and functions without a name should be re-analyzable as wellKT-59199K2 IDE: PSI changes which do not cause OOB modifications can be unseen from the FIR elementsKT-59667Analysis API: PsiInvalidElementAccessException from JavaClassifierTypeImpl.substitutorKT-59705KotlinExceptionWithAttachments: No fir element was found for getterKT-59697AA standalone: JRT module paths are not properly populated in WindowsKT-59505K2: implicit type lazy resolution doesn't work for delegated declaration from other moduleKT-56426K2 IDE: Typealised functional types cannot be renderedKT-59598AA: stackoverflow while simplifying a type with a recursive type parameterKT-58497K2: Expected FirResolvedTypeRef for initializer type of FirPropertyImpl(Source) but FirImplicitTypeRefImplWithoutSource foundKT-59511AA standalone mode creates Application Environment for testsKT-58161Analysis API: Make methods inKtCallResolverMixInmore distinctive based on their receiver/return typeKT-59093Do not throw exception on KtCall resolution,KtCallElement.resolveCallshould returnnullon unknown casesKT-59243K2: FirLazyResolveContractViolationException:lazyResolveToPhase(IMPORTS)cannot be called from a transformer with a phase IMPORTS from permits typesKT-58194K2: Low Level API: use smart pointers to store references to PSI from FIR declarations for JavaElementKT-59133K2: java.lang.IllegalStateException: Fir is not initialized for FirRegularClassSymbolKT-58174K2: LL FIR: Invalid type reference for T & Any typeKT-52615LL FIR: build RAW FIR only by stubsKT-55053K2: Exception "lateinit property diagnostic has not been initialized" in FirBuilderKT-58580K2: LL FIR: Declarations provided by resolve extensions from a dependency module are not visible throughLLFirCombinedKotlinSymbolProviderKT-58992Analysis API: move org.jetbrains.kotlin.analysis.api.fir.utils.addImportToFile out of Analysis APIKT-58727K2: AA FIR: implicit type in delegated function treated as errorKT-58653K2: Analysis API: add functions for KtScope members access by nameKT-57559K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent on intellij projectKT-58262Analysis API: Declarations from Analysis API Resolve Extensions are not seen from completionKT-57455LL FIR: CombineAbstractFirDeserializedSymbolProviders in session dependencies (optimization)KT-57207LL FIR: CombineJavaSymbolProviders in session dependencies (optimization)KT-58546K2: LL FIR: support name collision in a designation pathKT-58495K2: Lazy calculation is redundantKT-58500K2: null cannot be cast to non-null type org.jetbrains.kotlin.fir.FirPureAbstractElementKT-58493K2: Expected FirResolvedTypeRef for default value type of FirValueParameterImpl(Source) but FirUserTypeRefImpl foundKT-58496K2: Expected FirNamedReference, FirErrorNamedReference or FirFromMissingDependenciesNamedReference, but FirExplicitSuperReference foundKT-58491K2: Expected FirResolvedTypeRef or FirImplicitTypeRef for return type of FirDefaultPropertyBackingField(Synthetic) but FirUserTypeRefImpl foundKT-56550LL FIR: implement parallel resolve for non-jumping phasesKT-58503Analysis API: KtFirNamedClassOrObjectSymbol.visibility/modality do not trigger STATUS resolveKT-57623K2 IDE: ConcurrentModificationException from getSuperConeTypesKT-58083K2: LL FIR: implement FakeOverrideTypeCalculatorAndroid
KT-27170Android lint tasks fails in Gradle with MPP dependencyBackend. Native. Debug
KT-61131Virtual functions trampolines have invalid debug infoBackend. Wasm
Fixes
KT-60244K/Wasm: make the compiler compatible with Wasm GC phase 4 (Final) specificationKT-61262K/Wasm: add a way to turn on k2 in wasm examples that don't use composeKT-61343K/Wasm: add a wasi example to kotlin-wasm-examplesKT-62147[Kotlin/Wasm] Nothing typed when expression cause a backend errorKT-59720K/Wasm: update to final opcodesKT-60834K/Wasm: investigate consequences of stopping usingbr_on_cast_failKT-59294WASM: localStorage Cannot read properties of undefined (reading 'length')KT-60835K/Wasm: fix compatibility with Node.js 20.*KT-60113K/Wasm: illegal cast when using 1.9.20-devKT-60496Compose-web Wasm crashes on remember { null } callsKT-58746K/Wasm: Make Arrays' constructors with size and lambda inline (similar to other implementations)KT-58993[K/Wasm] Fix w3c declarations with lambda parametersKT-59722K/Wasm: Support new encoding with flags for br_on_cast and br_on_cast_fail instructionsKT-59713K/Wasm: Implement enumEntries intrinsicKT-59082WASM: NullPointerException caused by companion with String type constantsKT-58941WASM Hang with extension delegate inside a ClassKT-60200K/Wasm: generate types without supertypes properlyKT-52178IR dump doesn't seem to work for Kotlin/WASM phasesKT-59556Wasm: critical dependency when using with webpackKT-58681K/Wasm: division remainder has a wrong signKT-56711Wasm: IllegalStateException caused by dynamic typeCompiler
New Features
KT-58551KMP: check all annotation from expect declaration are present on actualKT-58554KMP: restrict expect opt-in annotations and actual typealiases to annotations with special meaningKT-58545KMP: prohibit implicit actualization via JavaKT-58536KMP: prohibitexpect tailrec/expect externalKT-59764Make a frontend checker that reports cast to forward declaration as uncheckedKT-60528Updates for JVM/IR backend of kotlin-atomicfu-compiler-pluginKT-59558Add support for creating annotation instances with type parametersKT-52367Devirtualization algorithm improvementKT-58652Native: Implement frontend checkers for HiddenFromObjC on classesPerformance Improvements
KT-59600K2: CFG: do not add edges to nested classes and functionsKT-57860K/N: Functions with default arguments of value/inline class types have poor performance due to value class boxingFixes
KT-60387K2: IDE K2: "org.jetbrains.kotlin.fir.expressions.impl.FirArgumentListImpl cannot be cast to class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedArgumentList"KT-61228False positive MUST_BE_INITIALIZED_OR_FINAL_OR_ABSTRACT_WARNING for effectively final propertiesKT-61643"Argument type mismatch" for mixed Java/Kotlin Project with Java 21KT-62389JDK 21: Cannot access class 'TimeUnit'. Check your module classpath for missing or conflicting dependenciesKT-56768K2. No error description on incomplete try catch declarationKT-52220FIR + LightTree - Consider building a single tree on parsing into LightTreeKT-60601K2 / Maven: Overload resolution ambiguity between candidates inline methodKT-62027"java.lang.IndexOutOfBoundsException: Empty list doesn't contain element at index 0" caused by ClassicExpectActualMatchingContext.kt when annotation@AllowDifferentMembersInActualusedKT-62747Wrong warning message when overriding vararg with Array during actualizationKT-62655Don't report a warning when new members and new supertypes are added to open expect actualizationKT-62313Kotlin/Native Compiler crash: ClassCastException in IntrinsicGeneratorKT-60902visibility vs upper bound expect actual matching conflictKT-61095K2: "IAE: source must not be null" from FirMultipleDefaultsInheritedFromSupertypesCheckerKT-47567'Val cannot be reassigned' error not reported in unreachable codeKT-59468K2: build realm-kotlinKT-62026KMP: Correctly handle a case when annotation on expect declaration is unresolvedKT-59476K2: build ClashForAndroidKT-59487K2: build KSP-playgroundKT-47409K1/K2: Investigate and align inference for equality (==) operatorKT-59393K2: Missing TYPE_ARGUMENTS_FOR_OUTER_CLASS_WHEN_NESTED_REFERENCEDKT-62127"NoSuchFieldError: TRUE$delegate" on referencing companion's variable in submoduleKT-62335Improve debuggability of code generator crashesKT-61165More than one overridden descriptor declares a default value for 'cause: Throwable?'. As the compiler can not make sure these values agree, this is not allowedKT-62263Turn "different expect/actual members" error into a warningKT-59969K2: Disappeared UNSUPPORTED_CONTEXTUAL_DECLARATION_CALLKT-61616K2:IrBuiltIns.extensionToStringfails during native compilationKT-59377K2: Missing CALL_TO_JS_MODULE_WITHOUT_MODULE_SYSTEMKT-61645K2/KMP: Set stdlib-native before stdlib-commonMain in dependencies for shared native metadata compilationKT-61924Native: problem with abstract fake override from AnyKT-61933K2: "Argument type mismatch: actual type is 'Foo<kotlin/Function0<kotlin/Unit>>' but 'Foo<kotlin/coroutines/SuspendFunction0<kotlin/Unit>>' was expected"KT-59471K2: build multiplatform-settingsKT-56077K2: build kotlinx.atomicfuKT-59465K2: build kotlinx-datetimeKT-60824K2 IDE: FirSyntheticCallGenerator: IAE: List has more than one elementKT-61856K2: "KotlinIllegalArgumentExceptionWithAttachments" on usage of javax.validation.constraints.Email.ListKT-54792Store program order of properties inside@kotlin.MetadataKT-56083K2: build ktorKT-23861Expect annotation should not be applicable wider than the actual oneKT-59466K2: build kotlinx-benchmarkKT-60830KMP, K2: expect actual annotation IR checker doesn't unwrap actual typealiases to annotationsKT-61668Put expect/actual diagnostics introduced in 1.9.20 release under 1.9 Language VersionKT-61725KMP: Annotation matching requirement for expect/actual leads to errors for annotations with@OptionalExpectationKT-47892False negative BREAK_OR_CONTINUE_OUTSIDE_A_LOOP withcontinueininitblock insideforKT-61784KMP: [DEFAULT_ARGUMENTS_IN_EXPECT_WITH_ACTUAL_TYPEALIAS] checker missed for companion functionsKT-61173K2: FirProperty.hasBackingField is true for an expect valKT-59743K2: erroneous binding of typealias with two type parameters to a class with one type parameterKT-60650KMP: prohibit problematic actual typealiasesKT-61461K2: Kotlin native metadata compilation breaks when stdlib is present in -librariesKT-61270Enabling Kotlin/Native caching causes 65K warnings from dsymutil when building Compose iOS appKT-58229K2/MPP/JVM: compiler codegen crash on call of inherited generic class's method with actual-typealias as value parameterKT-47702Support call of Java annotation constructor without specifying a default valueKT-56460K2: Do not re-run DiagnosticCollectorVisitor from FirInlineDeclarationChecker.checkChildrenWithCustomVisitorKT-55933K2: False negative Overload resolution ambiguity for call functions with named parameters if one of params is varargKT-59548FIR2IR: inconsistent generation of dispatch receiver for object methodsKT-55072K2: False positive "suspension point is inside a critical section"KT-58778JVM IR inline: add fake variables for debuggerKT-59404K2: Missing EXPECT_TYPE_IN_WHEN_WITHOUT_ELSEKT-59830K2. False negative [FINAL_SUPERTYPE] on extending final class through type aliasKT-60580K2: Not supported: class org.jetbrains.kotlin.fir.types.ConeFlexibleTypeKT-59391K2: Missing JS_BUILTIN_NAME_CLASHKT-59392K2: Missing NAME_CONTAINS_ILLEGAL_CHARSKT-58360Intrinsics for atomic update of array elementsKT-59165K2: Prohibit class literals with empty left-hand sideKT-60427K2@Metadataannotations contain outerType/outerTypeId information for non-inner nested classesKT-59376K2: Missing TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERRORKT-55221K2: No error reported for self-referencing local function with inferred return typeKT-59586K2: support JVM backend diagnostics in light tree modeKT-57780K2: Calling a constructor through a deprecated typealias doesn't report a deprecationKT-59110K2. "NotImplementedError: An operation is not implemented." error on incorrect@TargetannotationKT-59249K2: Empty varargs are not serialized to KLIBKT-55373K2. Unresolved reference error for type mismatch with callable referencesKT-55955K2: callable references are not properly resolved when in conflict with expected typeKT-60144JVM IR inline: backport primitive boxing in class literalsKT-60779K2: missing INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPERKT-60587K2: Implement warning NO_REFLECTION_IN_CLASS_PATHKT-61145False negative NOTHING_TO_OVERRIDE when context receivers don't matchKT-59378K2: Missing FINITE_BOUNDS_VIOLATION and FINITE_BOUNDS_VIOLATION_IN_JAVAKT-61163Default params on actual check and inheritance by delegation compilation errorKT-60800[atomicfu-K/N]: turn on the tests for the K/N part of the compiler pluginKT-61029K2: Duplicates when processing direct overridden callablesKT-55196K2: False-negative CONST_VAL_WITH_NON_CONST_INITIALIZER on boolean .not() callKT-60862Kotlin Scripting: NoSuchMethodError for ExternalDependenciesResolver.addRepositoryKT-57963K2: MPP: Annotation calls should be actualizedKT-60854K2: IrActualizer incorrectly generates fake overrides for synthetic java propertiesKT-59665ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS isn't reported for actual typealias and fake-override actualizationKT-61039False positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in K1 when expect actual super types scopes don't matchKT-61166Inherited platform declaration clash & accidental overrideKT-60531K2/JS: Report diagnostics before running FIR2IRKT-32275Embedding kotlin-compiler-embeddable into a Java EE App leads to CDI related deployment errorKT-57845K2. Unresolved reference error on calling Java references with fully qualified nameKT-58757K2: False-positive NON_PUBLIC_CALL_FROM_PUBLIC_INLINE error in case an inline fun is protected and is a part of an internal abstract class declarationKT-59736kotlinx.serialization + K2 + JS: e: java.lang.IllegalStateException: Symbol for kotlinx.serialization.json.internal/FormatLanguage.|-547215418288530576[1] is unboundKT-59071K2/MPP: internal declarations from common module are invisible in dependent source sets if there is more that one intermediate source set betweenKT-61167Runtime failure: ReferenceError: MyPromise is not definedKT-59408K2: Missing MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPESKT-61409Kotlin/Native: crash in kmm-production-sample (compose-app) with escape analysis enabledKT-57329K/N IR linkage issues due to the combination of static caches w/ Lazy IR & Compose compiler pluginKT-59247Kapt+JVM_IR: AssertionError on anonymous object in enum super constructor callKT-58576K2: IR actualization problems in MPP scenarioKT-61442K2: Consider stricter filtering on implicit integer coercionKT-61441K2: Wrong overload is chosen with ImplicitIntegerCoercion enabledKT-59328K2: property with compound getter and without explicit type: compilation failure, IAE "List has more than one element" at FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature()KT-61159K2: OVERLOAD_RESOLUTION_AMBIGUITY between private top-level property in same file and top-level property in different moduleKT-59233K2: false-negative diagnostic on creating a callable reference to a function with free type variablesKT-61418k2: ImplicitIntegerCoercion to List leads to "IllegalStateException: Cannot find cached type parameter by FIR symbol"KT-61373False positive: "The opt-in annotation is redundant: no matching experimental API is used" with multiplatform code.KT-58884K2: NotAMockException for mock testing with lambda expression with MavenKT-58893K2: MockitoException for mock testing with lambda expression with GradleKT-59483K2: Build a Native appKT-57738K2: unresolved class fields and methods in kotlin scriptsKT-59449K2: Diagnostic messages contain debugging-style rendered FIRKT-59849K2: IllegalArgumentException: List has more than one elementKT-57553Implement deprecation for open val with backing field and deferred initialization in K1KT-57230Support Kotlin/Wasm in the K2 platformKT-59409K2: Missing DEFAULT_VALUE_NOT_ALLOWED_IN_OVERRIDEKT-59058Companion object is not initialized on class constructor callKT-61017K2: intermediate expect/actual class results in expected class has no actual declaration in moduleKT-60181K2: "NotImplementedError: An operation is not implemented" with SpringKT-59472K2: build ReaktiveKT-54786MPP: "LazyTypeAliasDescriptor cannot be cast to class org.jetbrains.kotlin.descriptors.ClassDescriptor" caused by expected non-constant function argument on iOS if class is type aliasedKT-59753K2: NotImplementedError when using annotation with vararg with default value from other moduleKT-60883K2: FixtestRequireKotlinCompilerVersionin LV 2.0 branchKT-59747K2: cannot actualize expect class to Unit via typealiasKT-61054K2: "IAE: source must not be null" with -no-reflect on calling property getter with implicit invokeKT-57126[KLIB Reproducibility] Manifest is written using os-dependent line separatorsKT-60850K2: FIR2IR generates incorrect signature for fake overrides for common declaration if it called from a platform moduleKT-59218K2: return types of calls to@PolymorphicSignaturemethods inside try-expressions don't resolve to void when requiredKT-60002K2: Missing UNSUPPORTED_SUSPEND_TESTKT-61011K2 Scripts: FirRecursiveProblemChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSourceKT-58906K2. "Backend Internal error: Exception during IR lowering" instead of CANNOT_INFER_PARAMETER_TYPE error when parameter type missing in lambdaKT-59490K2: build km-shopKT-60163K2: vararg annotation argument value is serialized not as an arrayKT-59355K2: Allow to actual classifier have wider visibility than the corresponding expect classKT-56179[K2/N]interop_objc_tests/multipleInheritanceClash.kttest failedKT-59411K2: Missing ENUM_CLASS_CONSTRUCTOR_CALLKT-59410K2: Missing TYPEALIAS_EXPANDED_TO_MALFORMED_TYPEKT-59382K2: Missing PROTECTED_CONSTRUCTOR_NOT_IN_SUPER_CALLKT-59901K2: Disappeared API_NOT_AVAILABLEKT-60474K2: False negative type mismatch for array literal with wrong numeric literalKT-59610K2: Calls to annotations with default values are serialized differently in K1 and K2KT-60139K2: Refactor handling of implicitly actual declarations (annotation & inline class constructors and property of inline class)KT-60793K2: IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirJavaTypeRefKT-60735K2: lateinit property diagnostic has not been initializedKT-60137K2: Quite complicated redeclaration error description is displayed for data classesKT-60639K2: IllegalStateException: Unsupported compile-time value GET_CLASS type=kotlin.reflect.KClass<p1.A>KT-56888CFA: Valid green in K1 -> red in K2.catch_end -> finally -> after_tryKT-60723K2: Nested finally block has extra jump edge if surrounding try block jumpsKT-60573K2: False positive/negative CONFLICTING_OVERLOADS for main functionsKT-60124K2: Conflicting declarations on extension properties with different upper-bounded type parameterKT-60259K2: Reflection target is missing on adapted function referncesKT-59036InstantiationError when instantiating annotation with a parameter type as a default parameter of another annotationKT-59094K2: Fix Scripting K2 testsKT-59711K/N: Implement enumEntries intrinsicKT-59748K2: Return type mismatch: expected Unit, actual Any? for when with an assignment in branchKT-60154K2: Expected some types errorKT-58139K2/MPP/metadata: compiler FIR serialization crash on complex expression as annotation argumentKT-59485K2: build Anki-AndroidKT-59415K2: Missing DATA_CLASS_OVERRIDE_DEFAULT_VALUES_ERRORKT-59710K/JVM: Implement enumEntries intrinsicKT-57984K2/JS fails with IdSignature clash for inherited expect/actual functionKT-59398K2: Missing NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUEKT-60645Native: dynamic caches are broken on LinuxKT-50221FIR: handle enhanced/flexible nullability inside withNullability properlyKT-59281JVM IR inline: incorrect type of created arrayKT-59507JVM IR inline: invocation of arrayOfNulls by function reference results in exceptionKT-58359Allow volatile intrinsics on inline function constant argumentsKT-60598K2: add OptIn checkers for command line argumentsKT-59766K2: ISE: Cannot find cached type parameter by FIR symbol during the coroutines library buildKT-59644K2: the companion object in anexpectclass requires to be explicitly defined for compileNativeMainKotlinMetadataKT-59640K2:expectconstructor requires callingthisorsuperbut didn't use toKT-58883K2: False negative type mismatch for generic annotation in collection literalKT-59581K2: Initializer type mismatch: expected Array<KClass<*>>, actual Array<KClass> in annotation parameter default value using array literalKT-59069K2 does not report EXPECTED_CLASS_CONSTRUCTOR_DELEGATION_CALLKT-59416K2: Missing EXTERNAL_INTERFACE_AS_REIFIED_TYPE_ARGUMENTKT-59417K2: Missing CALL_FROM_UMD_MUST_BE_JS_MODULE_AND_JS_NON_MODULEKT-59381K2: Missing CALL_TO_JS_NON_MODULE_WITH_MODULE_SYSTEMKT-59384K2: Missing DYNAMIC_NOT_ALLOWEDKT-59406K2: Missing PROPERTY_DELEGATION_BY_DYNAMICKT-60247K2: order of data class generated member differs in IRKT-57223K2: false-negative INAPPLICABLE_JVM_NAME on non-final properties outside interfacesKT-60183K2: INAPPLICABLE_JVM_NAME on private methods with all-open pluginKT-60120K2 can't get a default parameter value of expect annotationKT-57240K2 MPP: Actualization doesn't work for flexible typesKT-60436K2: investigate possible FirJavaTypeRef equals parameter in FirDataFlowAnalyzer.hasEqualsOverrideKT-60299K2: when a typealias toUnitis returned, an explicitreturnis now requiredKT-58005K2: Unsupported compile-time value BLOCK for Repeatable annotationsKT-60223K2: Wrong import with import aliasKT-54854K2. Unresolved reference for not imported declaration when it is already imported as an import alias is absent in K2KT-59738K2: NoSuchElementException from JvmValueClassLoweringDispatcher in MPP environmentKT-59708K2: "Property must be initialized or be abstract" occurs due to constructors orderKT-58483K2. -Xmulti-platform flag isn't workingKT-53490FIR: Refactor augmented assignment resolving code - fix lhs-related problems and combine similar code in array and assign operator handlingKT-59673K2: incorrect error messageKT-58578K2: Commonize expect-actual logic between FIR and IR actualizerKT-54989FIR2IR: fragile code in postfix op detectionKT-59464K2: Investigate cases of implicit type refs in Fir2IrImplicitCastInserterKT-53898K2: False negative VAL_REASSIGNMENT on member valsKT-57641K2: "java.lang.NoSuchFieldException: INSTANCE" in kotlin-reflect forKClass.objectInstanceon an anonymous objectKT-59299[K2] ISE in IrBindablePublicSymbolBase.bind on equals function from companion of serializable classKT-58844Incorrect type mismatch error: "actual type is kotlin/Int but kotlin/Int was expected"KT-59413K2: Missing VALUE_CLASS_CANNOT_HAVE_CONTEXT_RECEIVERSKT-56173FIR: IrGenerationExtensions cannot see default values from expect declarationsKT-59611FIR2IR: Unsupported callable reference for enum entry with clashing nameKT-59858Kotlin Native: Compilation failed: Sequence contains more than one matching element, org.jetbrains.kotlin.backend.konan.lower.FunctionReferenceLowering$FunctionReferenceBuilder.buildClass(FunctionReferenceLowering.kt:644)KT-58539[K2] Ir actualization fails to match expect/actual declarations that use custom function typesKT-59775'toString()' on Object returns different result with concatenationKT-59737K2: Actual class 'actual class FastArrayList : AbstractMutableList, MutableListEx, RandomAccess' has no corresponding members for expected class members because of different parameter names in JavaKT-59613K2: Unhandled intrinsic in ExpressionCodegen exception in for expect function with default value in parameterKT-59216K2. Unhelpful unresolved reference when inheriting from interface with constructor call (K1 reports NO_CONSTRUCTOR instead)KT-59057Revise muted tests for native backendKT-57377K2/MPP: internal declarations from common module are inivisible for intermediate modules during metadata compilationKT-59693MPP: linkReleaseExecutableLinux fails with IllegalStateException: Drains have not been painted properlyKT-59362K2/MPP:.toByte()conversion for const val causes SourceCodeAnalysisException: java.lang.NullPointerException: nullKT-51670FIR: questionable behavior for deprecated String constructorsKT-35314StackOverflowError with nested try-finally and function with contractsKT-53460False positive smartcast warning in if block after if blockKT-40851False MUST_BE_INITIALIZED_OR_BE_ABSTRACT error for a property which is initialised in the init blockKT-59695K2: false negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINEKT-41198False positive “Variable must be initialized” with assignment in scope function and safe callKT-58901K2. Value parameter default values are not checked for type mismatchKT-48115Member functions with type parameter and contract don't produce smartcastsKT-59541K2: Type checking has run into a recursive problem on code that was compiling with Language 1.9KT-58943K2: Incorrect with K1 priority of "invokeExtension + implicit receiver" candidateKT-37375[FIR] Incorrect invoke resolutionKT-59789K2: self-reference does not compile anymoreKT-59286JVM IR inline: local property not foundKT-58823K2: Android app crashes right after start: java.lang.NoSuchMethodError: No virtual method findViewById(I)Landroid/view/ViewKT-57754K2: No public signature built for the synthesized delegate fieldKT-58533K2: "Not enough information to infer type variable T" for generic call in throw expressionKT-34846FIR Java: enhance type parameter bounds properlyKT-52043FIR: FirValueParameter with SubstitutionOverride does not reference the original FIR declarationKT-59291JVM IR inline: unexpected result ofapiVersionIsAtLeastinvocationKT-59550K2: synthetic property isn't seen through JavaKT-59038[K2] IllegalStateException in mixed Java/Kotlin inheritanceKT-59489K2: builld spring-petclinic-kotlinKT-58908K2. Internal error "kotlin.UninitializedPropertyAccessException: lateinit property firType has not been initialized" on incompleteisKT-56755K2: Investigate failures related to line numbers with LT compilation enabledKT-56139K2: consider adding source element for implicit receiversKT-57489K2: Incorrectly generated line numbers in companion object access inside classKT-58947Run all existing codegen box tests with kapt stub generationKT-58827K2 reports ACTUAL_WITHOUT_EXPECT on the whole classKT-54917K2: ILT leak from a completed generic callKT-56187K2: type parameter's upper bound is ignored in callable referencesKT-56186K2: lack of type arguments in type constructor is ignored in callable referencesKT-59356K2: Restrict rules for matching of expect supertypes for actual classKT-57217K2: NoSuchMethodError ontoCharcall on java inheritor of java.lang.NumberKT-58356K2: StackOverflowError with OptIn and Deprecated, while compiling Kotlin projectKT-57954K2. Auto-generated "entries" member of enum class has higher priority than user-declared companion object with same name when language version is set to 2.0KT-59508K2: Make sure that warnings-severity nullability annotations are not perceived as reasons for nullability errorsKT-53820FIR: mismatching error message for invisible reference/memberKT-58641K2: PublishedApi has no effect when internal fun used in the test source setKT-59461K2: Erroneous null check when returning not-null typealias to nullable typeKT-58980K2: Import of java field from companion's base breaks the compilerKT-59140K2: "Symbol public final static field is invisible" caused by java static field called in kotlin codeKT-59501Escape analysis constructs arrays of negative sizeKT-59452apiVersionIsAtLeast calls in body of stdlib inline function may be evaluated on compile-timeKT-53967[PL] Classifiers: Turning interface from fun to non-fun + adding member function causes Kotlin/JS fail: IAE: "Sequence contains more than one matching element"KT-59346Not working breakpoints on not initialized variablesKT-55993Wrong current pointer: strange behaviour of debugger or compiler when two IFs and an uninitialized variable between themKT-58335K2: Exposed typealias from implementation dependency produces type mismatch in dependent moduleKT-58719K2: false-positive INVISIBLE_REFERENCE error in case of importing an internal abstract classKT-57694K2: False positive [NOTHING_TO_OVERRIDE] for a class overriding 'sort' method from the List collectionKT-58460K2. return without argument became allowed for functions with return type AnyKT-49249Incorrect nullability inferred for ThrowableKT-57429K2: Fix computing a mangled name for members of a generic class that reference the class's type parameters in their signatureKT-57566K2: Fix name mangling for functions that have dynamic type in their signatureKT-57818K2: Fix FirMangleComputer to not include the "special" package name into mangled names of property accessors on non-JVM platformsKT-57777K2: Fix computing a mangled name for the synthesizedentriesproperty getter of an enum classKT-57433K2: Fix computing a mangled name for top-level functions and propertiesKT-58553k2: Annotation type arguments are lost in FIR2IRKT-58184K2: False negative INVISIBLE_MEMBER on destructuring declarationKT-58637K2: False negative ABSTRACT_MEMBER_NOT_IMPLEMENTED on Entry of Enum with abstract member declarationKT-54952JvmSerializationBindings does not work with K2KT-54844FIR/Analysis API: create stubs for equals/hashCode/toString for data classes in FIRKT-58555K2: Generic property reference inside delegation misses type argumentKT-57648FIR: move deprecation calculation on COMPILER_REQUIRED_ANNOTATIONS phaseKT-57049K2 generates duplicates of symbols/declarationsKT-55723K2: deprecations for enum entries are not resolved on the TYPES phaseKT-59033Doesn’t support vararg parameter in annotation instantiation with empty argumentsKT-58780JVM IR inline: local property delegation is not working for K2KT-58779JVM IR inline: correctly process special inlined block in value class loweringKT-58720Generate full InnerClass attributes for the standard libraryKT-58215K2: JVM IR produces line numbers for delegation bridges that are not marked with ACC_BRIDGEKT-42696JVM IR generates line numbers for all bridges leading to extra steps in the debuggerKT-57228K2: annotations for interface member properties implemented by delegation are copiedKT-57216K2: non-trivial enum declaration does not have ACC_FINAL in the bytecodeKT-55866K2: Constant as parameter of@JvmName: BE: "Unsupported compile-time value CALL private final fun "KT-58717Object on the left-hand side of callable reference is not initialized ifKCallable.nameoptimization is usedKT-59211Kapt+JVM_IR: AssertionError on delegating to anonymous objectKT-57251K2: weird error message when trying to instantiate anexpectclass without explicit constructorKT-58623Language version 2.0: compiling into common, Native does not report "Protected function call from public-API inline function is prohibited", while JVM, JS doKT-55945NoSuchMethodError when calling method with value class parameter on java class inherited from kotlin classKT-58840K1/K2: false positive EXPOSED_FUNCTION_RETURN_TYPE related to protected lower boundKT-57243K2: no warning or error reported on expect class in CLI, and JVM backend tries to generate it to a .class fileKT-57833K2 reports NO_ACTUAL_FOR_EXPECT for inherited properties with the same nameKT-58153K2/MPP/JVM&Native: cannot override Any::toString when an expect-supertype has Any::toString override in actual-classKT-58124K2: FIR2IR compiler crash with MPP (Fir2IrSimpleFunctionSymbol is already bound)KT-58346k2: false negative MUST_BE_INITIALIZED for deferred initializationKT-57803K2. "Kotlin: Only the Kotlin standard library is allowed to use the 'kotlin' package" error missing in 2.0KT-57504[K2/N] Wrong coercion ofILT: 7to kotlinx.cinterop.COpaquePointer causesCannot adapt kotlin.Int to kotlinx.cinterop.CPointerduring autoboxingKT-57484K2: false positive OVERLOAD_RESOLUTION_AMBIGUITY with ImplicitIntegerCoercionKT-57971K1/K2: False positive "Redundant 'suspend' modifier" warning on declaration site when suspend function is also argumentKT-56779Checkers false negative: AbstractMethodError when accessing setter via an interface where the member is defined as var, but it's val in implementationKT-51793FIR: Investigate property+invoke resolution prioritiesKT-57003FIR: missing annotation on parameter ofdataclass' syntheticcopyKT-57269K2: collection stub forsortis not generated for custom List subclassesKT-54748K2: incomprehensible errors when type parameter has the same name as a classKT-50703FIR: Improve reporting UPPER_BOUND_VIOLATED for type arguments of typealias constructor callsKT-57622Fix incorrect metadata for data class generated methodsKT-54887K2: fix behavior of references to value classes equals/hashCode/toStringKT-58937K2: Annotation vararg arguments are incorrectly serializedKT-58621K2: Private class shadows public function defined in the same packageKT-59041K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource " on incorrect collection declarationKT-58665K2: Optional.of incorrectly accepts nullable StringKT-58938K2. Abstract class can be invoked using member reference::operatorKT-50798FIR: False negative UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSIONKT-58944K2. StackOverflowError on incorrect intersection typesKT-59241K2: broken inference of DNN typesKT-58294K2 compiler crashes with OOM on deserializing annotation applied to itself with a enum outer/nested parameterKT-58972K2: Error message of PRIVATE_CLASS_MEMBER_FROM_INLINE doesn't mention class membersKT-58989K2: Forbid suspend operator get/setValue and provideDelegateKT-59177K2: Report NAMED_ARGUMENTS_NOT_ALLOWED for named parameters in lambdasKT-57028K2: "NSEE: Sequence contains no element matching the predicate" with stream related Java apiKT-58007K2: Unsupported compile-time value GET_FIELD FIELD PROPERTY_BACKING_FIELD when const value is default for annotationKT-58472Secondary constructor breaks MUST_BE_INITIALIZED checkKT-59022Make is and as behaviour consistent in NativeKT-58902K2: Calls to overridden method with default parameter are not compiledKT-58549K2: variable type is infered to non-existing interfaceKT-58613K2: ConcurrentModificationException from FirSignatureEnhancement.performFirstRoundOfBoundsResolutionKT-55552K2. False negative TYPE_MISMATCH in implementation via delegationKT-57436Fix computing mangled names of generic properties from IR-based declaration descriptorsKT-58543[K2/N] Rewrite native MPP tests to avoid expect actual in same moduleKT-57701Unify selection of inherited callable with default implementation among multiple candidates in JVM, Native & JS backendsKT-58444K2/MPP/metadata: compiler FIR2IR crash on constant with intrinsic initializer from common source set in Native-shared source setKT-57756K2: Missing syntax errors when light tree parsing is usedKT-57435Fix computing mangled names for functions with context receiversKT-57219K2: incorrect relative order of normal and use-site-targeted annotations on property getter in the resulting bytecodeKT-57955K2: "ClassCastException: class org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl cannot be cast to class org.jetbrains.kotlin.ir.declarations.IrDeclaration" with property delegateKT-58583K2: false-positive invisible reference error on nested anonymous object literal extending a protected nested classKT-57425K2: False-positive smartcast on property accessed through a property from another moduleKT-57844K2. Not relevant errors when accessing Java member which have private overloads with argument type mismatchKT-58584K2: "UninitializedPropertyAccessException: lateinit property packageFqName has not been initialized"KT-58529K2: "Extension function type is not allowed as supertypes" compile errorKT-58379K2: NEW_INFERENCE_ERROR in sortedBy call with exception in branchKT-58284K2: False negative ITERATOR_MISSINGKT-55078K2 IDE: Infinite recursion inorg.jetbrains.kotlin.fir.java.JavaScopeProvider#findJavaSuperClassKT-58080K2: False-positive TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on annotated const valKT-58674K2: No expected type for while loop conditionKT-56523K2 should report MANY_INTERFACES_MEMBER_NOT_IMPLEMENTEDKT-58238Support dumping signatures and mangled names in irText testsKT-58456K2: Custom function type metadata breaks Compose library compatibilityKT-58267K/N: do not reference hidden Array.content* functions from the compilerKT-57791Native: Method returning String? leads to exception: Unexpected receiver type: kotlin.StringKT-58437K2: Do not use descriptors in KonanSymbolsKT-57432K2: Don't create default getters and setters in case when they are not neededKT-46047FIR: incorrect type of integer literalsKT-57487[K2/N] Stdlib ArraysTest fails withClass found but error nodes are not allowedKT-56951K2: False negative error on compound assignment for property of type ByteKT-57222K2: compiler FIR serialization crash on two functions with captured type and object literalKT-58224K2: deprecation on field is not detected properlyKT-55662K2. Incorrect type mismatch error "inferred type is IOT" instead of "inferred type is Int"KT-55668K2. 'in' modifier became applicable to star projectionKT-57064K2: hidden internals of dealing with type-aliased primitive types are exposed to userKT-58252K2: Symbol already bound for backing field during building resulting JS artifact for MPP projectKT-56940K/Wasm: report compiler errors for unsupported external declarationsKT-56943K/Wasm: implement@WasmImportdiagnosticsKT-55903K2: False negative CANNOT_CHECK_FOR_ERASED on is-check for type with reified type argumentsKT-56944K/Wasm: implement@JsFundiagnosticsKT-58329K2: False-positive suspend conversion for anonymous functionsKT-58028K2: False-positive TYPE_PARAMETER_IS_NOT_AN_EXPRESSIONDocs & Examples
KT-60545Documentation change on Interoperability with Swift/Objective-C: highlight that it is not normal to suppress errorsKT-50927Kotlin / Docs: Delete all the information about old Kotlin/WasmKT-61398Advertise hierarchy templates in 1.9.20-Beta what's newIDE
New Features
KTIJ-23199K2 IDE: Improve Import quick fix descriptionKTIJ-26056Support highlighting of KNM filesPerformance Improvements
KTIJ-26688UAST: optimize methodNameCanBeOneOfFixes
KTIJ-26782Internal error while highlighting "AndroidHighlighterExtension does not define or inherit highlightDeclaration"KTIJ-27188Bundled DevKit plugin + 1.9.20-Beta* constantly throws exceptions when opening another plugin codebaseKTIJ-25220Kotlin not configured dialog does not show if Kotlin stdlib is anywhere on classpathKTIJ-25563Failed cinterop task becomes UP-TO-DATE and successfully passes on the second importKTIJ-26536IDE in Java file resolves to property with the same name instead of method in the nested class from libraryKTIJ-25126K2 IDE. No import quickfix for Java static membersKT-60341K2 IDE: "UnsupportedOperationException: Unknown type CapturedType(*)?"KTIJ-25960K2 IDE: KDoc references to static java methods are not resolvedKTIJ-7642HMPP, IDE: False positive ''suspend' modifier is not allowed on a single abstract member' for common code if JVM target presentKTIJ-25745K2 IDE: "Type info" intention shows the return type of a functional type instead of the functional type itselfKTIJ-26501K2: IDE K2: False positive unused import when declaration used for vararg parameter typeKTIJ-26661K2 IDE. PIEAE “Element class CompositeElement of type FUN” after removing/putting back function with operator modifierKTIJ-26672K2 IDE: false positive in optimize import for ambiguity callsKTIJ-26760K2 IDE: OVERLOAD_RESOLUTION_AMBIGUITY false positiveKTIJ-26867K2 IDE: rename refactoring doesn't rename subclasses if they are used in import directivesKTIJ-26848K2 IDE: index inconsistency in case of "" nameKTIJ-26666K2 IDE: changed FirFile is treated as fully resolved after in-block modificationKT-59836Symbol Light Classes: Type parameters from the parent interface aren't copied to DefaultImpls methodsKT-28611MPP: Gradle -> IDE: settings provided viacompilationsDSL are not imported into common modules facetsKTIJ-25448When project JDK is less than one defines in jvmToolchain block, run with Idea fails withhas been compiled by a more recent version of the Java RuntimeKT-60603K2: Investigate intellij tests failures in branch 2.0KTIJ-25364K2 IDE: References to Java records are red: OVERLOAD_RESOLUTION_AMBIGUITY, UNRESOLVED_REFERENCEKTIJ-24390Kotlin assignment plugin: Imports are not recognized in build logic .kt files for Gradle buildKT-60590Fix light classes related tests in branch 2.0KT-60530K2 scripting: exception on .gradle.kts openingKT-60539K2: "KtInaccessibleLifetimeOwnerAccessException: org.jetbrains.kotlin.analysis.api.lifetime.KtReadActionConfinementLifetimeToken@3ce52fd9is inaccessible: Using KtLifetimeOwner from previous analysis" at highlightingKTIJ-26276K2 IDE: Optimize import drops used import aliasKT-60518K2 IDE. False positive [NON_MEMBER_FUNCTION_NO_BODY] when completing function withComplete current statementKT-60323K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" exception on contract return typeKT-60352K2 IDE. Support Java RecordsKT-56503K2 IDE: FIR tree is incorrect in a case of ProcessCancelledException was thrown during phase executionKTIJ-25653K2 IDE. "KotlinExceptionWithAttachments: Containing function should be not null for KtParameter" exception on incorrect derived class declarationKT-59843SLC:KotlinAsJavaSupport.packageExists(viaKotlinStaticPackageProvider) said ROOT package doesn't exist if noKtFiles are givenKTIJ-26206Support retrieving KtType from annotation constructor calls on getters and settersKT-59445Recursion detected on input: JavaAnnotationImplKTIJ-26066K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" on attempt to set contractKTIJ-26085K2 IDE: treat psi modification of a contact inside a body as OOBMKTIJ-25869K2 IDE. Expected FirResolvedTypeRef for return type of FirValueParameterImpl(Source) but FirImplicitTypeRefImplWithoutSource was foundKTIJ-24272K2 IDE: "Expected some types"KTIJ-24730K2 IDE. IllegalStateException on absence of opening bracket in main() functionKT-59533AA/SLC: anonymous object appears during PsiType conversion, resulting in IllegalArgumentException:KtFirPsiTypeProviderKt.asPsiTypeElementKT-59563Symbol Light Classes: Incorrect type erasure in $annotations methods for extension properties with generic parametersKT-57567SLC: missingfinalmodifier on enum (non-synthetic) membersKT-59537SLC: SymbolLightClassForAnonymousObject with null parentKTIJ-24121K2 IDE. "failed to convert element KtLightField" when trying to declare property after function that has return with type mismatchKTIJ-25335K2 IDE. "failed to convert element KtLightField:" on attempt to set property in class with constructorKT-59293Symbol Light Classes: DefaultImpls methods must be static and have an additional $this parameterKTIJ-25976K2 IDE: Fix "Unsupported compiled declaration of type" for type parametersKT-59325Symbol Light Classes: Non-existing fields for properties from companion objectsKT-57579SLC: unboxed type argument as method return typeKT-54804Generate synthetic functions for annotations on properties in light classesKT-56200Kotlin FIR reference resolve exception leaks user codeKT-58448K2 / IDE / SLC:findAttributeValuefor attribute w/ default value raises ClassCastExceptionIDE. Completion
Fixes
KTIJ-26518K2 IDE: Code completion does not insert import when completing a type in the vararg positionKTIJ-26713K2 IDE: Code completion does not insert import when completing a type inside a functional typeKTIJ-26597K2 IDE: "Change return type" quick fix adds full qualified name to anonymous functionKTIJ-26384K2 IDE: Extension functions completion should recognize context receiversKTIJ-26419K2 IDE: Completion in anonymous function inside when branch expression does not account for smart castKTIJ-26629K2 IDE: Completion of types in anonymous function return is not shortenedKTIJ-26599K2 IDE: Typingdo ... whilestatement: InvalidFirElementTypeException: "For DO_WHILE with text... FirExpression expected, but FirDoWhileLoopImpl found"KTIJ-26113K2 IDE: Completion in when branch does not account for smart casts ifelsebranch is presentKT-60451K2 IDE: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is class org.jetbrains.kotlin.fir.expressions.impl.FirBlockImplKTIJ-21103FIR IDE: implement completion In KdocKTIJ-24096K2 IDE: Completion should insert the fully-qualified class name when the short class name clashes with a name from scopeKTIJ-25116K2 IDE: Name shortening in constructor's parameters affects constructorKTIJ-19863Bad completion variants inside annotationsIDE. Decompiler, Indexing, Stubs
KTIJ-26706Bytecode viewer: "IllegalStateException: Couldn't find declaration file" for a file with a delegated property with inline accessor in another moduleKTIJ-25465IDE hangs when indexing Kotlin projectKTIJ-25979K2 IDE: 'java.lang.IllegalStateException: Attempt to load decompiled text, please use stubs instead' exception if navigate to the decompiled KGP sourcesKTIJ-25985Stub mismatch for names with special charactersIDE. Gradle Integration
KTIJ-25334Gradle 8.1: Unresolved references in IDE for build.gradle.ktsKT-61777Explicit API mode isn't reflected in IDE settings unless every task is configured with GradleKTIJ-26306apiLevel (API version) for Kotlin/Native modules is set to 1.8 with KGP 1.9 and IDE Plugin 1.9.0-XXX, if the compiler bundled to IDE Plugin is still 1.8KT-61172MPP: Stacktraces of diagnostics are always printed during IDEA syncKT-48554[Multiplatform Import] Ensure consistency betweenGradleImportPropertiesandPropertiesProviderKT-36677MPP Gradle plugin doesn't respect manually set compiler arg-opt-inKT-58696MPP + IDEA: tryK2 does not affect LV value of common facetsKT-53875Warn users about erroneously adding dependsOn fromtesttomainKTIJ-23890Gradle to IDEA import: "You are currently using the Kotlin/JS Legacy toolchain" balloon is shown when I actually use IRIDE. Gradle. Script
KTIJ-25523Scripts: support for standalone configuration flagKTIJ-25910Scripts: transition to GistStorageKTIJ-26778Gradle 8.3: some parts of build.gradle.kts look unresolvedKTIJ-26308IAE “Unable to find script compilation configuration for the script KtFile: build.gradle.kts” on reopening project with build.gradle.ktsKT-60171K2 IDE: scripting freeze on kotlin project build.gradle.kts fileKT-60236K2 scripting: completion fails with exceptionKT-59801K2 IDE: Adding of an import with a task name to a build script leads to unresolved referencesKT-60749Scripting: default definition as a fallbackKT-60199K2 scripting: exception on script openingKT-60193K2 scripts: configuration discovery fails silently from time to timeIDE. Hints. Parameter Info
KTIJ-26824K2 IDE: "Parameter Info" shows incorrect overload as selectedIDE. Inspections and Intentions
New Features
KTIJ-26302K2 IDE: Support adding a@OptInannotation and suggesting to propagate opt-in requirement in quickFixesKTIJ-25002Provide a quick fix to migrate use-site 'get' annotations on gettersFixes
KTIJ-24832K2 IDE: 'Redundant qualifier name' false positive for nested classes from supertypes on the outside of a classKTIJ-26103K2 IDE: False positive in redundant qualifier inspectionKTIJ-26024K2 IDE: False positive "Redundant qualifier" inspection on a nested class which extends its outer classKTIJ-26576K2 IDE: "Redundant qualifier" false positive with referring parent's subclass in type constraintKTIJ-26785K2 IDE: False positive "Redundant qualifier" inspection in extension function for Java interface with nested interfaceKTIJ-26695K2 IDE. False negative "Redundant qualifier" directive for invoke function from objectKTIJ-26627K2 IDE: False positive "Redundant qualifier" inspection on extension property called on object when other 'this' is present in scopeKTIJ-23407K2 IDE. False positive unused import directive for invoke function from objectKTIJ-26808K2 IDE. "Redundant qualifier" inspection on the receiver of static method from Java may change semantic when receiver is not direct parentKTIJ-26840K2 IDE. False positive "Redundant qualifier" inspection when accessing companion object member inside anonymous object and there is a name clashKTIJ-26498KMP: Create expect-actual dialog selects incorrect path on WindowsKTIJ-24877K2 IDE. False negative unused import directive when declaration is available in file indirectlyKTIJ-25368K2 IDE. Specify type explicitly intention does not work with Java recordsIDE. JS
KTIJ-25023K/JS: Remove balloon warning about migration to IR backendIDE. Libraries
KTIJ-13660MPP library: No gutters forexpectandactualsymbolsIDE. Misc
KT-60053IdeaKotlinBinaryCoordinates doesn't respect capabilities and classifier attributesIDE. Multiplatform
Fixes
KTIJ-26700KMP: false positive report of non matching expect and actual annotations if annotation is actual typealiasKTIJ-25997KotlinMPPGradleTestTasksProvider: Support jvm targets with other names (such as android)KT-61686Check and update places in compiler and IDE where we are saying that MPP is experimental/Beta/AlphaKTIJ-27058Wizard's KMM application failed to build in 232 ASKT-59760[BUG] Use bundled version of Kotlin IDE Plugin in KMM Tests instead of customKT-61520Sources.jar is not imported for common and intermediate source-sets from the MPP libraryKTIJ-25842MPP: New create expect/actual dialog uses deprecated location for android instrumented actual counterpartKTIJ-25746MPP: Unable to distinguish android unit and instrumented tests in new create expect/actual dialog if instrumented tests are depends on commonKT-60410Add minimum supported KGP version in intellij.git infrastructureKT-59794Bump used KGP in multiplatform intellij.git tests after release 1.9.0KT-59518Cherry-pick old-import tests into 231-1.9.0/masterKT-56736Investigate how-to run multiplatform tests on real devicesKT-59519Bump AGP versions in intellij.git tests in masterKTIJ-25591MPP: Create expect/actual dialog doesn't allow selecting all targetsKT-56684Adopt KMM UI tests to be used with IDEAKT-50952MPP: Commonized cinterops doesn't attach/detach to source set on configuration changesIDE. Navigation
KT-61894Navigation from java sources leads to Kotlin decompiled code in case of suspend functionKTIJ-27053Value parameters documentation of expect isn't shown in actualsKTIJ-26292Documentation for expect/actual comes from a random actualKTIJ-26441K2 IDE: navigation doesn't work when type parameters are missed in annotation callKTIJ-26566K2 IDE: don't show no-name parameters in presentationsKTIJ-25366K2 IDE. Go to declaration of Java record shows record and constructorIDE. Refactorings. Rename
KTIJ-25762K2 IDE. label rename doesn't change it's name in usages after rename refactoringIDE. Script
KTIJ-25989java.lang.NullPointerException: Cannot invoke "com.intellij.openapi.vfs.VirtualFile.getPath()" because the return value of "java.lang.ThreadLocal.get()" is nullKT-60519Analysis API: scripts are not invalidated on PCEKTIJ-26670K2 Scripts: We should be able to find a symbol forKTIJ-25731KtAssignResolutionPresenceService is not available as a service in 231-1.9.20KT-60307K2 IDE. KotlinExceptionWithAttachments in script fileIDE. Wizards
KTIJ-27005Wizards 232: Fix generated kotlin version for 1.9.20-BetaKTIJ-26846Adjust compatibility data for 1.9.20 releaseKTIJ-264791.9.20: Update versions in wizardsKT-59347Rename Compose Multiplatform wizard to Compose for DesktopIR. Interpreter
KT-60467"InternalError: Companion object * cannot be interpreted" caused by java's package nameKT-60744Restore binary compatibility of toIrConst functionIR. Tree
KT-59771Restore compatibility of IdSignature.CommonSignatureKT-59772Restore compatibility of IrFactory#createFunctionKT-59308Auto-generate the IrFactory interfaceJS. Tools
KT-44838Kotlin/JS source-map-loader slow performance since 1.4.0JavaScript
New Features
KT-58684KJS: ES15 classes — creating instance by classPerformance Improvements
KT-58187KJS / IR: Huge performance bottleneck while generating sourceMaps (getCannonicalFile)Fixes
KT-60425Kotlin/JS compiler incorrect behavior for object singleton with CompleteableDeferredKT-62790java.lang.ClassCastException in compiler when ::class is usedKT-60495K2: Make JS CliTestGenerated working with K2KT-6168Ability to generate one JS file for each Kotlin source fileKT-60667K2 / KJS: jsTest fails with "SyntaxError: Unexpected token '}'" on runtimeKT-61581KJS: generate separate imports for useEsModules()KT-56737K2: build Space JSKT-59001K/JS: Use open-addressing hash map in JS stdlibKT-60131KJS: Interference between@JsExportand final implementation of propertiesKT-59712K/JS: Implement enumEntries intrinsicKT-60202JsExport.Ignored internal extension still has "JavaScript name () generated for this declaration clashes with another declaration"KT-51333KJS: someKTypeequalsNothing'sKTypethrows an exception, breaking its symmetryKT-58857KJS/IR: js file is not generated when source is stored in /var folderKT-53482KJS: Inheritance from JS class fails in ES6, because constructor is not called with newKT-58891K/JS: non-local return in lambda may leave an unreachable JS code after returnKT-49077KJS / IR: Wrong method called when using overloaded methods and class with the same nameKT-59718K/JS: Concatenating a String with a Char can lead to boxing of the CharKT-59717K/JS: a redundant boxing of a returned Char from an inline functionKT-39506Kotlin/JS browser application using JS IR and React fails in runtime with "TypeError: _this__0._set_name__2 is not a function"KT-59151K2 / KJS: NullPointerException in Fir2IrClassifierStorage.preCacheBuiltinClassesKT-59335K/JS ES6 classes: A child constructor, when using parent secondary constructor super call, creates a parent objectKT-58797Optimize the code generated for objects on JS and Wasm backendsKT-52339FIx failing JS tests after bootstrap updateKT-46643KJS / IR: Setter of overridden var of external val is removedKT-55315IR: can't access thestackproperty ofThrowableKT-59204Automatically generate NATIVE directive in tests for IR signaturesKT-59239K/JS: Bridge not generated for checking parameter type in generic class overrideKT-57347KJS: BE IR Incremental cache invalidation doesn't work after inserting Partial Linkage stubKT-58599KJS: Adding an override method to open class does not rebuild children JS codeKT-58003K2/MPP/JS: compiler IR serialization crash on multiple calls to inherited expect-functionKT-38017KJS: tests generate invalid code depending on file namesKT-25796KJS: Top-level constructs are put in an incorrect orderKT-58396KJS / IR: "IllegalStateException: Validation failed in file" with Enum.entries and inheritanceKMM Plugin
KTIJ-27158Import is failing after creation of new module if project don't use versionCatalogKT-59492KMM AS plugin for Canary 231 reports errorKlibs
KT-58877[klib tool] add ability to dump klib irKT-54402Programmatic API to dump public signatures from KLibsKT-60576Keep supported IR signature versions in manifestKT-59136[PL] Lower the default PL engine messages log level down to INFOKT-59486klib: Serialize mangled names along with signaturesLanguage Design
KT-22841Prohibit different member scopes for non-final expect and its actualKT-49175Inconsistency with extension super-type allowance between suspend / non-suspend function typesKT-61573Emit the compilation warning on expect/actual classes. The warning must mention that expect/actual classes are in BetaKT-57614KMP: consider prohibitingactual typealiaswhen the correspondingexpect classhas default argumentsKT-27750Reverse reservation of 'yield' as keywordLibraries
New Features
KT-59440Rework Flags API in kotlinx-metadata-jvmFixes
KT-62381K/Wasm: (re)publish libraries with 1.9.20-Beta2 (or newer if available)KT-62656Drop@AllowDifferentMembersInActualfrom stdlibKT-58887Reflection: "IllegalArgumentException: argument type mismatch" when using reflection to invoke a value class returning function that suspendsKT-61507Native: enum hashcode is not finalKT-56106Migrate stdlib to current Kotlin Multiplatform PluginKT-58402Migrate Vector128 from kotlin.native to kotlinx.cinteropKT-60911Compatibility publishing of kotlin-stdlib-commonKT-53154Deprecate enumValues and replace it with enumEntries in standard libraryKT-58123Update deprecations in native atomic classes for 1.9.20KT-60444transformJvmMainAtomicfu fails with java.lang.NoSuchMethodError: 'kotlin.Metadata kotlinx.metadata.jvm.KotlinClassMetadata.getAnnotationData()'KT-61342kotlin-test-wasm-* artifacts include test codeKT-61315Publish common sources in kotlin-test-js sources jarKT-56608WASI Preview1 version of Kotlin/Wasm stdlibKT-55765Review and stabilize stdlib surface available in K/NKT-55297kotlin-stdlib should declare constraints on kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7KT-57838Native: raise ExperimentalNativeApi opt-in requirement level to ERRORKT-61028Behavioural changes to the Native stdlib APIKT-61024Native: Mark the kotlin.native.CName annotation with ExperimentalNativeApiKT-61025Native: Deprecate HashSet.getElement() with WARNINGKT-53791Publish standard library as a multiplatform artifact with Gradle metadataKT-57363Remove reified constraint from Array constructors in platforms where Array type parameter is not required to be reifiedKT-57401Native: Regex matching zero length should split surrogate pairsKT-57359Provide Common StringBuilder.append/insert with primitive type argumentsKT-58264K2: republish kotlinx.metadata to support LV 2.0KT-57710Native: Internalize@Retainand@RetainForTargetannotationsKT-57720Native: Consider strictening NativeRuntimeApi opt-in requirement level to ERRORKT-57837Deprecate kotlin.native.SharedImmutable and kotlin.native.concurrent.SharedImmutableKT-58126Wasm: Consider removing Primitive.equals(Primitive) overload on primitive typesKT-53327Migrate all usages of 'Enum.values' to 'Enum.entries' in standard libraryKT-59366Deprecate KmModule.annotationsKT-59365Get rid of two-stage parsing in KotlinClassMetadataKT-35116Enum.valueOf throws inconsistent exception across multiple platformsKT-59223Native Enum.hashCode should return identity hash code, similar to JVMKT-56637Native: 'String.indexOf' matches byte sequences not on the char boundary, which also makes the result of 'split' and 'replace' operation incorrectKT-59192Align behavior of collection constructors across platformsNative
New Features
KT-50463Native: Provide a way to control the KONAN_DATA_DIR by the Gradle mechanismsKT-59448K2: IR and FIR signatures are not same for composable functionsFixes
KT-60230Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3KT-62532Support Xcode 15.0 frameworks as Kotlin/Native platform librariesKT-61382Linking XCFramework fails with error: Invalid record (Producer: 'LLVM11.1.0' Reader: 'LLVM APPLE_1_1300.0.29.30_0')KT-61417Native: string and array variables are not properly displayed in lldb when compiling with caches with Xcode 15KT-60758Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4KT-59149Native: check compiler compatibility with Xcode 15 beta 1KT-58537iOS project fails to build with rootProject.name = "Contains Space"KT-59073Native: don't include kotlinx.cli endorsed library into compiler distributionKT-58707[K/N] Compiler crash building generics with redundant castKT-58654Compiler error from kotlin.collections.Map : "Invalid phi record", while compiling for kotlin nativeNative. C Export
KT-56182[K2/N] C export doesn't work for non-root packages with K2Native. C and ObjC Import
KT-59642Remove ability to import forward declaration by library package nameKT-59643K2: Disable merging of forward declaration with real declaration classKT-52882MPP / Native: expect/actual mechanism broken when base contract is NSObjectProtocolKT-55578Custom user message for linker errorKT-58585[K2/N] Fix interop issuesKT-56041[K2/N] Fix broken __builtin_nanf(String)KT-57716[K2/N] Validation failed in file smoke.kt : unexpected type: expected platform.objc.Protocol?, got objcnames.classes.Protocol?KT-56028[K2/N]cnames.structs.Foodoes not resolveKT-59645Cast to objective C forward declaration crashes compilerKT-58793[K2/N] Package separators after mangling are different for IR and FIRNative. ObjC Export
KT-56090[K2/N] Emit DocString klib extensions for ObjCExportNative. Runtime. Memory
KT-61914Kotlin/Native: massive increase in memory usageKT-61092Kotlin/Native: Adjust initial values for expected heap sizeKT-61091Kotlin/Native: GC scheduler pauses mutators too aggressivelyKT-61741Kotlin/Native: tsan error in parallel markKT-57773Kotlin/Native: track memory in big chunks in the GC schedulerKT-61089Kotlin/Native: fix concurrent weak processing for new allocationsKT-55364Implement custom allocator for Kotlin/NativeKT-57772Kotlin/Native: concurrently process weak references in GCKT-57771Kotlin/Native: parallel mark in GCNative. Stdlib
KT-60608Introduce AtomicArrays API in K/N stdlibKT-59120Native: Rewrite stdlib AtomicReference with Volatile instead of custom C++ codeReflection
KT-47973Reflection: "IllegalArgumentException: argument type mismatch" when using callSuspend to call a function returning value class over primitiveKT-41373"KotlinReflectionInternalError: Unresolved class" when inspecting anonymous Java classKT-61304Reflection: Calling data classcopymethod via reflection (callBy) fails when the data class has exactly 64 fieldsKT-52071Continue gracefully when the system property check "kotlin.ignore.old.metadata" failsTools. CLI
KT-60662Add JVM target bytecode version 21KT-58183ParseCommandLineArgumentsKt.parseCommandLineArguments takes ~500msKT-58690OutOfMemory when compiling in CLIKT-58065K2: Enable light tree instead of PSI for CLI compilation of JS and Native by defaultTools. CLI. Native
KT-59245[K1/N] Compile sources to native binary in two stagesKT-56855[K2/N] Command-line compiler doesn't support compiling sources directly to a native binary (without intermediate klib) with-language-version 2.0KT-58979[K2/N] FIR frontend cannot resolve symbols from resolved klib having non-normalized pathTools. Commonizer
KT-59302Commonizer: make sure that opt-in annotation generated by cinterop made it into commonized artifactKT-62028False positive "Unnecessary '@OptIn' Annotation" for ExperimentalForeignApiKT-55757kotlinx.cinterop.UnsafeNumber: empty opt-in messageKT-59859Change the OptIn Level to Error for kotlinx.cinterop.UnsafeNumberKT-59132K2/Native/CInterop: [UPPER_BOUND_VIOLATED] Type argument is not within its bounds: should be subtype of 'kotlinx/cinterop/CPointed'KT-58822Kotlin Gradle Plugin: migrate tests off native deprecated targetsKT-47641Enabled cInterop commonization triggers native compilation during Gradle sync in IDETools. Compiler Plugin API
KT-58638K2: Annotations generated by IR plugins are not included into metadataKT-61872K2: Adding annotations to metadata from backend plugin doesn't work in the presence of comments on annotated declarationKT-61833K2: annotations added viaaddMetadataVisibleAnnotationsToElementto declarations from common sourceset in MPP project are invisibleKT-60051K2: Support metadata serialization of primitive const annotation arguments generated by IR pluginsTools. Compiler Plugins
KT-61550[atomicfu-compiler-plugin]: check that atomic properties are declared as private or internal valKT-58079K2/atomicfu: JVM IR transformer crash on atomic extension functionsKT-61293Usage of atomicfu compiler plugin leads to UnsupportedClassVersionError if Gradle runs on JVM <11KT-55876K2. "[Internal Error] java.lang.NoClassDefFoundError: org/jetbrains/kotlin/com/intellij/openapi/util/UserDataHolderBase" when project with languageVersion 2.0 is Built and Run using Intelij IDEAKT-58049K2: Smartcast of nullable property fails when Spring compiler plugin is presentKT-57468Kotlin assignment plugin: operation name cannot be found for referenceTools. Compiler plugins. Serialization
KT-58501K2/MPP/serialization: several classifier kinds seem to miss generated serializer functions when compiled to K/JS and K/Native targetsKT-59768kotlinx.serialization + K2 + JS/Native: Support meta-annotations on sealed interfaces with user-defined companionsTools. Gradle
New Features
KT-59000Default standard library dependency should use the single artifact for all targetsKT-57398Add ability to run compilation via build-tools-apiKT-34901Gradle testFixtures don't have friendPaths setKT-44833Gradle DSL: AddlanguageSettingsaccessor tokotlinextension that applies to all source setsKT-58315Add build metrics for Kotlin/Native taskPerformance Improvements
KT-62318Android Studio sync memory leak in 1.9.20-BetaKT-62496Configuration time regression with KGP 1.9.20-Beta caused by loading of propertiesKT-61426Enabling compilation via the build tools API may cause high metaspace usageFixes
KT-61359"Unresolved reference: platform" when enabling Gradle configuration cacheKT-59826Update SimpleKotlinGradleIT#testProjectIsolation to run on Gradle 8KT-57565Add ability to capture classpath snapshots via the build-tools-apiKT-51964Optimizekotlin.incremental.useClasspathSnapshotfeature to improve incremental Kotlin compilationKT-61368Native compiler option 'module-name' isn't available within the compilerOptions extension for native target while configuring it inside compilationsKT-61355freeCompilerArgs arguments and its values are passed to the compiler 5 times if added through target-level compilerOptions{} extension inside compilationsKT-61273KGP: TaskOutputsBackup.createSnapshot was failed by IOException sometimesKT-58987Use some available JVM target if there's no JvmTarget for the inferred toolchain versionKT-58234Kotlin Gradle Plugin: Deprecate and remove KotlinCompilation.source APIKT-61401The reported language version value for KotlinNativeLink tasks in build reports and build scans is inaccurateKT-54231Compatibility with Gradle 8.0 releaseKT-61950K/Wasm: Add warning about changed sourceSetsKT-61895KotlinTopLevelExtension.useCompilerVersion is not marked as experimentalKT-61303The module-name value stays unchanged when configuring it through compiler options extension specific to the android targetKT-61194MPP compiler options: part of JsCompilerOptions set up using js { compilerOptions {} } extension is lostKT-61253CompileExecutableKotlinJs task is skipped while configuring LV either using sourceSets.all {} or both js compiler options extension and base multiplatform compiler options extensionKT-59588Upgrade max gradle version to max supported in kapt connected testsKT-61292Gradle: compilation tasks may capture wrong build directory when build directory is changed after task configurationKT-61193Flag kotlin.experimental.tryK2 doesn't set LV 2.0 for tasks of kotlin-js gradle pluginKT-60541Possibility to create a custom usableKotlinCompiletask without using internalsKT-59451[K2][1.9.0-Beta] "Errors were stored into ..." log files never actually existKT-48898Can't suppress warnings by Optin() in KMM build.gradle.kts or IDEA settingsKT-60660konan.data.dir property not provided for K/N Gradle project build (on Linux or Mac) with a dependency from a MavenKT-56959K2: Set up Ktor repo performance benchmarks with K2 enabledKT-56178Compatibility with Gradle 8.1 releaseKT-61457Kotlin Gradle Plugin should not use internal deprecated StartParameterInternal.isConfigurationCacheKT-60718Kotlin Gradle Plugin's incremental compilation violates Project Isolation by accessing the tasks in the task graph that were produced by other projectsKT-60717Kotlin Gradle Plugin violates Project Isolation restrictions by dynamically looking up properties in the projectKT-54232Don't check if file exists in task file inputs configurationKT-61066[KMP] iOS "Unkown Kotlin JVM target 20"KT-54160New KGP API using lazy properties to add compiler plugin options may remove options with the same pluginIdKT-60839KGP provides incorrect default value "ENABLED" for -Xpartial-linkageKT-15370Gradle DSL: add module-level kotlin optionsKT-57645build_scan failed in testBuildScanReportSmokeTestForConfigurationCache test with Gradle 8.0.2KT-59827Update configuration to validate plugin inputsKT-59799Validate Gralde Integrations tests has only one tagKT-59117Add gradle integration tests for explicit api mode in Android projectsKT-59587Upgrade max gradle version to max supported in jvmToolchain connected testsKT-56636Bump max Gradle version for integration tests to 8.0KT-58353Support reporting of diagnostics after projects are evaluatedKT-53822Upgrade thegradle-download-taskdependency of the Kotlin Gradle pluginKT-58162Kotlin Gradle Plugin: Remove kotlinx.coroutines from classpath of KGPKT-58104Check values for MPP_PLATFORMSKT-58569Bump language version for Gradle plugins dependencies to 1.5Tools. Gradle. Cocoapods
KT-59263Add diagnostic that a dummy framework is not present when build is triggered from XcodeKT-57741KMP importing an iOS project with Xcode 14.3 fails when importing a pod that depends onlibarclite_iphoneosKT-60050Log reason why podInstall task is skippedKT-49430Stop invalidating iOS framework generated by KMM module on each Gradle SyncKT-59522Set the required environment for cocoapods invocationsKT-59313Elevate to error deprecation of useLibrariesKT-58775If the pod has a declared dependency on itself, then it will cause StackOverFlow exception while importing of a projectTools. Gradle. JS
New Features
KT-49789KJS / Gradle: Add npm style repository option for YarnRootExtension - and/or don't register github repository when download=falseFixes
KT-60469KJS: "Could not serialize value of type Build_gradle" caused by changed name in packageJson taskKT-61623K/Wasm: Error with project dependency between modules with both wasmJs and wasmWasi targetsKT-56933Add Kotlin/JS incremental tests with K2 enabledKT-58970browserTest gradle task fails if karma is used and gradle configuration cache is enabledKT-42520Add a way to setup generating separate js files for each module inside gradleKT-32086Gradle, JS: runTask.enabled = false has no effect on npm dependenciesKT-48358KJS: Circular dependency when multiple second-level Gradle modules have the same nameKT-50530Kotlin/JS: enablingkotlin.js.ir.output.granularity=whole-programdoes not remove superfluous .js output filesKT-50442KJS / Gradle: webpack plugin errors not loggedKT-46003KJS / IR: Should provide single distributions folder for production and development similarly to LegacyKT-47319KJS: Error when project contains two modules with same nameKT-46010KJS / Gradle: Can't find a file on building on WindowsKT-48923KJS / Gradle: NoWebpackerror messages when Node.js process exits unexpectedKT-51942KJS / Gradle: fails with two projects with the same name, but different pathsKT-51372Kotlin/JS: Gradle compileKotlinJs processes directory just excluded from source setKT-52134KJS: the default generated JS module name in a Gradle project with multiple subprojects is incomplete, which might cause duplicate names and build conflictsKT-52776KJS / Gradle: Webpack version update despite yarn.lock breaks Kotlin/JS buildKT-54182MPP / JS:StackOverflowErrorwhen in a Gradle multi-project and Kotlin Multiplatform build with the JS IR target which depends on another with the same subproject name via a renamed published Maven artifactKT-58250TheNodeJsExectasks are not compatible with Gradle configuration cacheKT-58256TheD8Exectasks are not compatible with Gradle configuration cacheTools. Gradle. Multiplatform
New Features
KT-60441KGP based dependency resolution: Support 'idea.gradle.download.sources' flag- See full ChangeLog in File
Checksums
v1.9.10: Kotlin 1.9.10Changelog
Compiler
KT-60769Partially revert KT-58371KT-60659Incorrect 'unresolved reference: addFirst' error with JDK 21KT-60371Native custom allocator link errorKT-60986Native: static caches with custom runtime options are broken on LinuxKT-60770Fix false-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED on toArray with JDK 21KT-60231NoClassDefFoundError: $$$$$NON_LOCAL_RETURN$after upgrade to Kotlin 1.9.0JavaScript
KT-60785KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type errorKT-60852Kotlin JS(IR): IllegalArgumentException: Cross module dependency resolution failed when updating to Kotlin 1.9.0KT-57509KJS: Compiler generates native JS operator == for comparing values with Any typeNative
KT-60230Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3KT-60758Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4Native. C and ObjC Import
KT-59167Native: cinterop is unable to build interop libraries against the Xcode 15 Beta 1Tools. Gradle
KT-61147Kotlin Compiler 1.9.0 bundles a stripped unshadowed version of GsonKT-60543NoClassDefFoundError for com/gradle/scan/plugin/BuildScanExtensionChecksums
v1.9.0: Kotlin 1.9.0Changelog
Analysis API
New Features
KT-57930Analysis API: provide an API for extending Kotlin resolutionKT-57636K2: Add the return type of K2 reference shortener AAShortenCommand::invokeShortening()e.g.,ShorteningResultInfoto allow callers to access the shortening result PSIFixes
KT-58249Analysis API: Disable error logging for FE10 implementation of resolveCall when resolve is not successfulKT-55626Impossible to restore symbol by psi from script fileKT-57314LL FIR: CombineLLFirProvider$SymbolProviders in session dependencies (optimization)KT-55527K2 IDE: Rewrite KtScopeContext class to allow to handle each scope separatelyKT-55329LL FIR: Unexpected ACTUAL_WITHOUT_EXPECT error on constructor and function declarationKT-50732LL API: fix compiler based testsKT-57850K2: contract violation due to SymbolLightAccessorMethod.propertyAccessorSymbolKT-56543LL FIR: rework lazy transformers so transformers modify only declarations they suppose toKT-56721K2: FirExtensionDeclarationsSymbolProvider: java.lang.IllegalStateException: Recursive updateKT-50253Analysis API: Solve issues with ProcessCancelledExceptionKT-56800K2 IDE: optimize deprecation calculation for symbolsKT-55006Analysis API does not transform Java type refs for callable symbol return typesKT-57256AA FIR: Reduce lazy resolve phase for deprecation statusKT-57619K2: CFG for class initializer is not correctly built in reversed resolve modeKT-58141K2: AA FIR: impossible to restore symbol for declaration with annotation with argument inside typeKT-57462Symbol Light Classes: SymbolLightFieldForProperty should retrieve annotations not from KtPropertySymbol, but from the corresponding backing fieldKT-54864Analysis API: add function to get expect KtSymbol list by actual KtSymbolKT-56763Analysis API:.KtSourceModuleImpl is missing in the map.on symbol restore when symbol cannot be seen from the use-site moduleKT-56617Analysis API: optimize KtFirSymbolProviderByJavaPsi.getNamedClassSymbolKT-54430K2: .getAllOverriddenSymbols() returns invalid resultsBackend. Native. Debug
KT-55440Kotlin/Native debugger: inline function parameters are not visible during debuggingBackend. Wasm
KT-58293Wasm: ReferenceError: e is not defined in kotlin.test.jsThrowKT-58931Wasm tests are failing to start on Kotlin 1.9.0-BetaKT-58188Restore binary compatibility of PlatformDiagnosticSuppressor.shouldReportUnusedParameterKT-57136K/Wasm: Restrict non-external types in JS interopKT-57060Clarify the lack of support for dynamic in Kotlin/WasmKT-56955K/Wasm: Support restricted version of K/JSjs(code)KT-57276Wasm: "Body not found for function" error when compiling konform library with Kotlin/Wasm supportKT-56976K/Wasm bug with calling override of external function with default parametersCompiler
New Features
KT-55333Allow secondary constructors in value classes with bodiesKT-54944@Volatilesupport in nativeKT-54746Deprecate with ERROR JvmDefault annotation and old -Xjvm-default modesKT-47902Do not propagate method deprecation through overridesKT-29378K2: rework warnings/errors for equality/identity operators on incompatible typesKT-57477False-positive overload resolution ambiguity in case of lambda without argumentsKT-57010Kotlin/Native: make it possible to compile bitcode in a separate compiler invocationKT-55691K2: Avoid inferring Nothing? in presence of other constraints (beside type parameter bounds)KT-46288Unexpected behavior of extension function on lambda with suspend receiverKT-24779Inconsistent smart cast behavior for bound data flow valuesPerformance Improvements
KT-23397Optimize out field for property delegate when it's safe (JVM)KT-56906FIR: Use cached instance of FirImplicitTypeRefImpl in FIR buildersKT-56276LanguageVersion.getVersionString() allocates 5k objects on project openingFixes
KT-57784"NullPointerException: Parameter specified as non-null is null:" with enum, companion object, 'entries' and mapKT-55217K2: support callable reference conversions on top-level expressionsKT-57232K2: build Space JVM (master)KT-59079"AE: SyntheticAccessorLowering should not attempt to modify other files!" with callable reference to constructor with value class parameterKT-58837Partial linkage fails to report any compiler message on Windows when launched through Gradle pluginKT-57602K2: Rework member scope of types having projection arguments for covariant parametersKT-55171Put new contracts syntax under a feature flagKT-58719K2: false-positive INVISIBLE_REFERENCE error in case of importing an internal abstract classKT-56030[K2/N] Support Objective-C overloading by param names onlyKT-57510K2: Data class equals/hashCode/toString methods are not written to Klib metadataKT-56331K2: compiler backend crash on usage of expected function with default argumentsKT-53846K2 / Context receivers: ClassCastException on secondary constructor of class with context receiverKT-58621K2: Private class shadows public function defined in the same packageKT-59102K2: constant evaluator does not provide Long type on shlKT-59066[K2] delegation leads to "IllegalStateException: Expected some types"KT-56074K2: build Space JVM (snapshot 2022.3)KT-58787KAPT: "NullPointerException: null cannot be cast to non-null type" with delegateKT-57022K2 IllegalStateException in signature computationKT-56792K2: build kotlinpoetKT-57373K2: FIR properties synthesized when implementing interface by delegation don't have accessorsKT-56583K1: Implement opt-in for integer cinterop conversionsKT-59030[PL] Workaround for broken@Deprecatedannotations in c-interop KLIBsKT-58618K2: Local property delegates cannot infer generic return typeKT-36770Prohibit unsafe calls with expected@NotNullT and given Kotlin generic parameter with nullable boundKT-56739K2: build Space iOSKT-57131K2: stdlib test compilation fails on ListTest.kt in FirJvmMangleComputerKT-58137K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another moduleKT-58897K2: False positive unresolved reference with same-named enum class and its entryKT-40903Forbid actual member in expect classKT-30905Expect var property with default public setter matches with actual var property with private setterKT-56172K2: Fix reporting of PRIVATE_CLASS_MEMBER_FROM_INLINE errorKT-56171Implement deprecation warning for missing PRIVATE_CLASS_MEMBER_FROM_INLINE errorKT-27261Contracts for infix functions don't work (for receivers and parameters)KT-56927Enum with secondary constructor can't be compiled with K2 using JS/Native backendKT-53568Partial linkage: absent class as type parameter bound causes failure ofcompileProductionExecutableKotlinJsKT-53608Partial linkage: Kotlin/JS fails with IllegalStateException: "Validation failed in file" when overridden declaration was visible, but now privateKT-53663Partial linkage: usage of property which becomes abstract: no IrLinkageError, but AssertionError in Native backend insteadKT-56013K2. a set of errors about local properties are missingKT-53939Partial linkage: with turning object into class linkNative and jsTest tasks failKT-53938Partial linkage: with turning interface into class and using as second parent Native build failsKT-53941Partial linkage: with turning class into object accessing member via parameterless constructor does not failKT-53970Partial linkage: on turning nested class into inner JS tasks are successful, Native build failsKT-53971Partial linkage: turning inner class into nested: without usage in executable Native is successful, JavaScript failsKT-53972Partial linkage: turning inner class into nested: with usage in executable Native fails with NPE in backendKT-54045Partial linkage: turning class into type alias + calculating implicit function type: build fails with UninitializedPropertyAccessException: "lateinit property parent has not been initialized"KT-54046Partial linkage: turning type alias into class + using it as type: build fails with AssertionError: "Expected exactly one delegating constructor call but none encountered"KT-53887Partial linkage: turning from enum to regular class + reference to enum contant causes compileProductionExecutableKotlinJs fail with IllegalStateExceptionKT-54047Partial linkage: reference to removed enum const causes JS fail with "IllegalStateException: Validation failed in file"KT-54048Partial linkage: reference to removed enum const in runtime causes Native fail with IllegalStateException at IrBindablePublicSymbolBase.getOwner()KT-53995Partial linkage: on turning class to abstract and direct constructor call Naive fails, JavaScript is successfulKT-43527@ExtensionFunctionTypeis allowed on function types with no parameters and leads to backend exceptionKT-55316K2. IllegalStateException on incorrect import directive nameKT-57570Remove source code excerpts from platform type nullability assertion exceptionsKT-56073K2: build ExposedKT-47932Report errors on cycles in annotation parameter typesKT-38871Kotlin Gradle DSL, MPP: UNUSED_VARIABLE when configuring a sourceset with delegated propertyKT-46344No error for a super class constructor call on a function interface in supertypes listKT-56609K2: False positive NULL_FOR_NONNULL_TYPE with -Xjsr305=strict and@Nullableannotation Java parameterKT-56656K1/K2: inconsistent NOTHING_TO_OVERRIDE with complex nullable annotationsKT-58332K2: local fun with suspend type is not marked as suspend in IRKT-57991K2: Modifier 'suspend' is not applicable to 'anonymous function'KT-54294K2: "Not all type variables found" in builder inference with type parameters inferred through a union of two branchesKT-58564[PL] Annotations with unlinked parameters are not removedKT-52597Provide Alpha Support for Multiplatform in the K2 platformKT-58523K2: reference is resolved to imported type-alias instead of identically named top-level propertyKT-57098Native: avoid object initialization while accessing const valKT-5797332-th default value in inline classes override function is not usedKT-57714"IllegalStateException: <B::!>" using reified genericsKT-57810toStringof object erroneously considered as constant function in string concatenationKT-58076K2: Incorrect inference of type of labeled receiverKT-57929K2: Arguments of annotations are not calculated in a lot of strange locationsKT-54874K2. No compilation error with incorrect Comparator invocationKT-55388Consider enabling ProhibitUsingNullableTypeParameterAgainstNotNullAnnotatedKT-53041NPE in Kotlin 1.7.0 when using RxJava Maybe.doOnEvent with anonymous parametersKT-54829Cleanup local types approximation logicKT-58577K2: private Kotlin property prevents use of Java set-method from Java-Kotlin-Java hierarchy in another moduleKT-58587MUST_BE_INITIALIZED must take into account effectivelly finalKT-58524K2: false-positive overload resolution ambiguity error on invoking a generic class's member function with id-shaped function-typed parameter on intersection-typed receiverKT-53929Enum.entries: consider changing scope behavior in K1KT-58520K2: FIR2IR: ISE during const evaluation of operator times with exposedKT-57905K1: resolution to base class's Java field instead of derived class's Kotlin property is not deprecated in case of different typesKT-56662K1: false negative INVISIBLE_SETTER for a var with internal setter accessed from a derived classKT-57770K2: Support generation of serializer if base class for serializable class declared in different moduleKT-58375Kapt: "wrong number of type arguments. required 1" when more than 22 type argumentsKT-48870[FIR] Different behavior for explicit receiver resolution inside delegated constructorsKT-58013K2: "Not enough information to infer type variable T" when using assert non-null (!!) and delegationKT-58365K2: Fix stub types leakage in builder inference caused by implicit receiver type update with partially resolved calls (IGNORE_LEAKED_INTERNAL_TYPES for stub types)KT-58214Continuation parameter only exists in lowered suspend functions, but function origin is LOCAL_FUNCTION_FOR_LAMBDAKT-58030K2/MPP/JVM: compiler backend crash on super-call to indirectly inherited Java methodKT-58135K2: Priority of extension property is lower than ordinary propertyKT-57181[K1/N, K2/N] Expect and Actual funs have different IdSignature.CommonSignature, if Expect has default argumentKT-58219K2/MPP/metadata: false-positive invisible reference error in Native-shared source setKT-58145K2/MPP/metadata: compiler FIR crash on inheritance of a generic class with property by actual-class from Native-shared source setKT-56023Constant operations (e.g. division) are not constant in K2 (JS, Native)KT-57354In suspend function default arguments are sometimes not deleted in IRKT-55242K2/MPP: basic build/link functionalityKT-57979K2: Unresolved reference error when assigning to Java synthetic property with a different nullability getterKT-57543K2 reports DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLEKT-58142K2: val parameter with more specific type is lower priorityKT-48546Missed TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM error at plus-assignKT-57854RECEIVER_TYPE_MISMATCH on synthetic property from mutually recursive Java generics with disabled ProperTypeInferenceConstraintsProcessingKT-54518False negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE when calling internal method of super classKT-58025K2: Argument type mismatch when using Springs HandlerMethodArgumentResolverKT-58259Unexpected unresolved function call with obvious invoke-convention desugaringKT-57135K2: Fir should take into account an annotation's allowed targets as well as the use-site target when deciding whether it applies to a property, a field, or a constructor parameterKT-57069K2: Method kind in metadata is DECLARATION when DELEGATION is used in K1KT-57958K2: Initializer type mismatch when using extension property on type with star projectionKT-58149K2: New inference error with buildListKT-58008K2: "Cannot find cached type parameter by FIR symbol: T" on suspend function with generic and nested classKT-57835K2: compiler crash on lambda with dynamic receiverKT-57601K2: Builtin functionextensionToStringcan't be accessedKT-57655K2: ImplicitIntegerCoercion is not working for named argumentsKT-58143K2: overload resolution ambiguity inside dynamic lambdaKT-58132K2: Implicit int constant to long converion crashes FirSerializerKT-57378Partial linkage: Run codegen box tests for Native & JS with enabled PLKT-58207K2: Handle result of completion of synthetic call with callable reference argumentKT-56549K2: Reference to Java sealed class fails to compileKT-57994K2: Type inference failed on function referenceKT-58099interop0 test fails with error "type kotlin.String? is not supported here: doesn't correspond to any C type"KT-57671Synthetic $EntriesMappings declaration is public and generated even for enums from current module on ICKT-56517K2: Reference to Java record fails to compile: "unresolved reference", "Overload resolution ambiguity between candidates"KT-58163FIR: deserialized default property setter and getter must have FirResolvePhase.ANALYZED_DEPENDENCIES phaseKT-55646K2: Report definitely non-nullable as reified errorKT-58043k2: Expect call is not removed from IR with nullability-based overloadKT-56442K2: Make sure K2 has the same behavior for defaults with overrides as K1 hasKT-55904Fix tests for volatile annotation on K2KT-57928K2: Arguments of annotations on constructor value parameter are not calculatedKT-57814K2: Argument type mismatch with delegating propertyKT-56490Implement deprecation for an anonymous type exposed from inline functions with type argumentKT-57781K2: Generated serializer is invisible in a non-JVM test source setKT-57807K2: Symbol already bound exception for arrayOf function from IrBuiltInsOverFirKT-57962K2: No set method providing array access on dynamicKT-57353K2: unresolved reference when using fully qualified object declaration name as an expression, when a declaration package is from another klib and has at least two name segmentsKT-57899K2: compiler FIR2IR crash on anonymous object with inheritance by delegation to value of smart-casted type parameterKT-57988K2: compiler exception on get operator on dynamic thisKT-57960K2: incorrect type inference in lambda with dynamic receiverKT-57923K2: Optional expectation annotation crashes const evaluatorKT-56511K1: false negative SMARTCAST_IMPOSSIBLE when alien constructor property is accessed from a private classKT-58033K2 reports Constructor must be private or protected in sealed class in actual sealed class if its constructor has own actual declarationKT-58061K2: false-positive unsupported feature error on callable references to Java methods from annotation interfacesKT-55079Refactor DiagnosticReporterByTrackingStrategy and fix some "diagnostic into black hole" problemsKT-57889K2: false-positive lack of information for inline function's type parameter in case of builder-style inference from caller function's return expressionKT-57961K2: Unresolved reference using dynamic lambda parameterKT-57911K2: Contracts are not inherited by substitution overridesKT-57880K2: false-positive argument type mismatch due to lambda receiver shadowing labeled outer lambda receiver when assigning lambda to variableKT-57986K2: NPE on building SpaceKT-57873K2: compiler FIR serialization crash on builder-style inference from lambda's return typeKT-57941K2: Assertion error on loading serializable class with non-serializable property compiled with K1 compilerKT-57947K2: Incorrect resolution results when property type for invokeExtension is not inferredKT-58002K2: compiler FIR serialization crash on platform type with type-targeted Java annotation with Java enum as argumentKT-57263K2/MPP/JVM: compiler codegen crash on expect-property as default argument for expect-function's parameterKT-56942K2: False-negative NO_ELSE_IN_WHEN if subject is flexible typeKT-56687Unexpected behaviour with enum entries when using outdated stdlibKT-56398K2/MPP: compiler backend crash on inheritance from expected interfaceKT-57806K2: string interpolation as annotation parameter causes errorKT-57611K2: Annotation arguments are not evaluatedKT-56190[K2/N] Const initializers are not serialized to klibKT-57843K2: Missing diagnostic when calling constructor through typealias whose expansion has a deprecationKT-57350FIR: deprecation diagnostic is not reported on a super class callKT-57532K2: IrActualizer doesn't handle properties overloaded by extension receiver correctlyKT-57776K2: Suppressing "INVISIBLE_REFERENCE" leads to AssertionError: Unexpected IR element found during code generationKT-57769[K2] Load properties in proper order for classes compiled with kotlinx.serialization and LV < 2.0KT-57879K2: compiler FIR serialization crash on passing Java constants as arguments to type-targeted annotationsKT-57893K1/K2 inconsistency on smart casts of internally visible properties in friend modulesKT-57876K2: stack overflow in compiler FIR deserialization on nested type-target annotation class used in enclosing classKT-57839K2: Compiler crash on lambda returning anonymous object with implemented lambdaKT-57822K2: Can't refer to external interface from class literalKT-57809K2: No value passed for parameter of external classKT-56383Build intellij master with LV 1.9KT-57735K2: MPP: K2 reports hides member of supertype and needs 'override' modifier for the function with@PlatformDependentannotation when there is an empty linux target in projectKT-55056Builder inference causes incorrect type inference result in related callKT-57689K2: Unresolved reference to nested typealias in KLIBKT-57665K2: incorrect resolution of dynamic typeKT-57381K2/MPP/Native: impossible to override Any::equals with non-external functionKT-57654K2: Lambda with receiver deserialized as lambda without receiver during metadata compilationKT-57662K2: The error message is poorly formatted and not precise in case of NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS error and@Suppressis usedKT-57763FirExtensionRegistrar extension point brokenKT-57312K2: IR interpreter fails on string interpolation withconst valfrom a klib involvedKT-57768Don't decompile code to search for annotation argumentsKT-55628Diagnostics for kotlin.concurrent.Volatile annotation applicabilityKT-55860K2. [CONFLICTING_INHERITED_MEMBERS] for inheritor of a class with overloaded generic functionKT-53491K2: Implement "Operator '==' cannot be applied to 'Long' and 'Int'" errorKT-55804K2: UNSAFE_CALL Non-nullable generic marked as nullable even if non-null assertedKT-57682K2: Incorrect composing of signatures for calls on dynamic typesKT-55405K2: false-negative INVISIBLE_REFERENCE in import directivesKT-54781K2: no error on unresolved import statement with more than one packageKT-57635K2/MPP: Expect constructors are not considered as expect during metadata deserializationKT-57376K2/MPP: false-positive K/JS diagnostic in absence of K/JS target when sharing a source set between K/JVM and K/NativeKT-55902K2: Support ImplicitIntegerCoercion annotationKT-56577Migrate Native KLIB ABI compatibility tests to K2KT-56603[K2/N] Segfault invoking fun from binary compatible klibKT-57457K2: the error message is not quite informative in case of EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERRORKT-57568K2: K2, Native reports overload resolution ambiguityKT-57446K2: Adapter function reference is not generated inside when expressionKT-54894K2: False positive RETURN_TYPE_MISMATCH on function which returns a functional type with@UnsafeVarianceargumentKT-57001K2 compilation fails due to nullabillity subtyping not working properlyKT-57271Delay forbidding inference to an empty intersection to version 2.0KT-57209K2: type parameters are available in companion object scopeKT-50550False positive NO_ELSE_IN_WHEN with annotatedwhenbranch conditionKT-57431K2 MPP JS: Compiler crash on transitive common dependenciesKT-57456K2 reports uninitializied variable in enum class when variable is used in lambda and defined in companion objectKT-57583K2/MPP/JS&Native: FIR2IR compiler crash on reference to Any method inherited by expect-classifierKT-56336[K2/N] Multiplatform test fails with unexpected "actual declaration has no corresponding expected declaration" compiler errorKT-57556K2: Rename error 'This API is not available after FIR'KT-23447Integer.toChar compiles to missing methodKT-46465Deprecate and make open Number.toChar()KT-49017Forbid usages of super or super if in fact it accesses an abstract memberKT-56119BinaryVersion.isCompatible binary compatibility is brokenKT-57369K2/MPP: supertypes established in actual-classifiers from other source sets are not visibleKT-55469[K2/N] equals(Double,Double) and equals(Boolean,Boolean) are not foundKT-57250K2: the metadata is serialized for anexpectclass even if theactualclass is present when compiling to klibKT-56660K2/MPP: compiler backend crash on invoking a K/Common constructor in K/JS codeKT-55055K1: Builder inference violates upper boundKT-57316Initialize Enum.entries eagerly: avoid using invokedynamicsKT-57491Kotlin synthetic parameter looks ordinaryKT-56846K2: incorrect line & symbol numbers in exception reportingKT-56368K2/MPP: compiler backend crash on missing actual declarationKT-57104K2: false-positive conflicting inherited JVM declarations error despite use of@JvmNamein another moduleKT-56747[K2/N] Return type forlambda: (Any) -> Anywhich returns Unit is different for K1 and K2 and return statement is missing with K2KT-57211K2: incorrect "error: an annotation argument must be a compile-time constant" on unsigned array in annotation argumentKT-57302K2 fails with IllegalStateException on reading inherited property of Java enumKT-57424K2 IDE: "By now the annotations argument mapping should have been resolved" exceptionKT-57241K2 MPP: Actualization doesn't work for actual enum that has primary constructor with argumentsKT-57210K2 MPP: Support of arguments with dynamic typeKT-57182K2 MPP: Actualization doesn't work for nested objectsKT-56344K2: Implement correct errors reporting of IrActualizerKT-54405K2 compiler allows val redeclarationKT-54531[K2] Uncaught Runtime exception is thrown instead of user friendly error messages with details in case -no-jdk option set to trueKT-56926K2: incorrect line number generated for class constructor or method with default parameter when comment beforeKT-56913K2: Incorrect line numbers in overriden field getters and settersKT-56982K2: Incorrect line number start in when expressionKT-56720K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritanceKT-57175K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type aliasesKT-25694Fix reporting of uninitialized parameter in default values of parametersKT-57198K2: false-positive type mismatch error on inherited raw-typed class with type parameters in upper bounds of other type parametersKT-15470Inconsistency: use-site 'set' target is a compilation error, use-site 'get' target is okKT-57179FIR: preserve prefix increment behavior like in K1 by calling getter twiceKT-57405K2. Function call ambiguity error when nullable String is passed to function with Spring@Nullableannotation in signatureKT-57284K2: compiler codegen crash at property initialization in constructor after smartcast of dispatch receiver to indirectly derived typeKT-57221K2: compiler FIR2IR crash on function's unavailable cached type parameterKT-57036Unresolved reference: with inferred type of class constructor with extension parameterKT-56177K2: FIR should not generate annotation on both property and parameterKT-54990NI: Type mismatch when encountering bounded type parameter and projectionsKT-57065K2: overload resolution ambiguity between type-aliased constructor and identically named functionKT-49653Deprecate and remove Enum.declaringClass synthetic propertyKT-57190K2: false-positive unsafe call error on safe call on type-aliased nullable receiver in SAM-conversionKT-57166K2: false-positive val reassignment error when synthetic property with implicitly typed overridden getter is called from implicitly typed member that is declared earlierKT-55828[K2/N]: Fix test fails in OPT mode :Internal compiler error: no implementation found ... when building itable/vtableKT-56169False negative deprecation warning about future inference error with builder inferenceKT-56657K1/K2: inconsistent behavior in nullability mismatch (Guava hash set/map)KT-57105K2: compiler codegen crash at property initialization in constructor after smartcastKT-56379K2: build tests for the Kotlin standard libraryKT-56079K2: build YouTrack 2022.3KT-57092K2: false-positive multiple inherited implementations errorKT-56696K2: Allow to access uninitialized member properties in non-inPlace lambdas in class initializationKT-56354K2/MPP: unresolved references to library entitiesKT-57095K2: false-positive lack of type arguments error on raw cast of Base<*> to Derived: Base<T?>KT-56630FIR: ClassCastException on compilation hierarchy with a raw typeKT-57171K2: Implement bytecode testsKT-57214K2: compiler FIR crash on annotation usage before annotation class declarationKT-57204K2: callable reference to mutable property of inherited by delegation superinterface isn't properly resolvedKT-57195K2: false-positive VAR_TYPE_MISMATCH_ON_OVERRIDE on changing property's platform type to non-nullable type when overridingKT-56814K2. PsiElement is null inside IrClass. As a result ClassBuilder defineClass gets null as originKT-54758DeprecateClassBuilderInterceptorExtension.interceptClassBuilderFactoryand provide another method without dependency on K1KT-57253K2: clean up callable reference logic in FIR2IRKT-56225K2. "BackendException: Backend Internal error: Exception during IR lowering" error on incorrect constructor in inline classKT-56769K2. Annotation applicability is ignored during compilation when there's use-site@targetKT-56616K2: cannot infer Java array type properlyKT-57247K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type-aliased vararg propertyKT-57206K2: false-positive val reassignment error on synthetic property from generic class with overridden getter but not setterKT-56519K2: Compiler crash on a function reference on companion receiver that inherits from outer classKT-56506K1/K2 inconsistency: VAL_REASSIGNMENT on synthetic setter with different nullabilityKT-56877K2: false-positive UNRESOLVED_LABEL for labeled this-expression in contract descriptionKT-56863K2: false-positive property initialization analysis errors after smartcastKT-56864K2: Unexpected behavior with default parameter inheritance and function referenceKT-56665K2: false positive RECURSIVE_TYPEALIAS_EXPANSIONKT-53966K2 does not support SAM conversions with condition into Java/Kotlin functional interfacesKT-56659FIR: Increment operator on object leads to exception from resolveKT-56771FIR: Increment operator on qualified expressions leads to exception from resolveKT-56759K2: False-positive UNRESOLVED_REFERENCE on labeled desctructuring declaration in LT modeKT-56548K2: false positive overload resolution ambiguity for Java record constructorKT-56476K2: false positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY at inline fun use-siteKT-56138K2: Illegal conversion of lambda with parameters to ExtensionFunction expected typeKT-56448K2: False-positive unsafe call due to incorrect inference of smartcasted typeKT-55966K2: Not enough information to infer type variable K if smartcast is usedKT-57168K2: compiler FIR2IR crash on synthetic property from generic class with overridden getter but not setterKT-56876K2: false-positive UNRESOLVED_REFERENCE for name of nested class in contract descriptionKT-57194K2: overload resolution doesn't prioritize Double over FloatKT-57067Warning about expect/aсtual in the same module doesn't take into account absence of 'actual' modifierKT-56954K2: function literals can be passed as arguments to parameters with kotlin.reflect function typesKT-55423K2: Implement CONTRACT_NOT_ALLOWEDKT-56923K2: no line number in bytecode when ASTORE exception in catchKT-56829K2: compiler FIR2IR crash on passing to function a callable reference to nested class's constructor with default argumentsKT-57029Per-file caches fail on local inline function in an inline functionKT-57085K2:@Suppressis sensitive to its argument's caseKT-57103K1: AssertionError: Mismatching type arguments: 0 vs 1 + 0 when calling inline function with callable reference to generic synthetic propertyKT-57033Make KtClassLiteralExpression stub basedKT-57035Make KtCollectionLiteralExpression stub basedKT-40857Invalid parameterized types for extension function on parameterized receiver when javaParameters=trueKT-56154Compiler backend crash on reference to Java synthetic property from generic classKT-56692StackOverflow in PrivateInlineFunctionsReturningAnonymousObjectsCheckerKT-55879Modularized tests: fir.bench.language.version is used as API version, not language versionKT-51821ClassCastException on anonymous fun interface implementation when unrelated vararg is usedKT-56820K2: compiler FIR crash on Java field access after smartcastKT-56579[K2/N] IR actualizer crashed with K2 on expect annotation marked with@OptionalExpectation, without actual.KT-56750K2: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER" when calling typealias method referenceKT-55614K2: consider serializing static enum members (values/valueOf/entries) to match K1 behaviorKT-30507Unsound smartcast if null assignment inside index place and plusAssign/minusAssign is usedKT-56646K2: "IllegalStateException: No single implementation found for: FUN FAKE_OVERRIDE" when compiling a functional interfaceKT-56334K2: can't call expected function with default argumentsKT-56514K2 should report ACTUAL_TYPE_ALIAS_NOT_TO_CLASSKT-56522K2 should report ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTSKT-56910Exception during IR lowering: Cannot determine lineNumber of element FUN name:cancelProgressKT-56542K2: false positive TOO_MANY_ARGUMENTS in VarHandle.set callKT-56861FIR: test FirPluginBlackBoxCodegenTestGenerated.testClassWithAllPropertiesConstructor is failing with runtime errorKT-56234K2: "ISE: Expected value generated with NEW" with inline property setter and noinline parameterKT-56722K2: cannot resolve component call after smart castKT-56875K2: isOperator flag is incorrectly set for java methodsKT-56714K2: wrong argument mapping in DSLKT-56723K2: lambda accidentally returns Unit? instead of UnitKT-55877K2: Secondary constructor without call to parent: no frontend error, ISE: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER"KT-56386K2: Make possible to access Java field which is shadowed by Kotlin invisible property`KT-56862Compatibility problem with using Kotlin in Intellij 223 or higher because of missing particular trove4j dependencyKT-55088JS, Native compilation fail with internal error onSomeEnum.entriesreference whenSomeEnumis from klib compiled with disabled EnumEntries language featureKT-40904No warning when declare actual in the same target (module) as expectKT-56707K2: Unexpected TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM where only getter type specified explicitlyKT-56508Context receivers: Internal compiler error when compiling code containing a class with a secondary constructorKT-56706K2: False-positive ARGUMENT_TYPE_MISMATCH for generic nested types from libraryKT-56505K2: MissingNO_EXPLICIT_VISIBILITY_IN_API_MODEerrors on various declarationsKT-56682K2: False-negative UNINITIALIZED_VARIABLE on access to delegated propertyKT-56678K2: False-negative UNINITIALIZED_VARIABLE if corresponding variable has initializerKT-56612K2: false positive NO_TYPE_ARGUMENTS_ON_RHS on raw cast with type alias based argumentKT-56445K2: False-positive unresolved reference to callable reference to function with default argumentKT-55024K2: overload resolution ambiguity/unresolved reference if variable is smart-casted to an invisible internal classKT-55722K2: Incorrect OVERLOAD_RESOLUTION_AMBIGUITY with smart cast on dispatch receiver (simple)KT-56563Inference within if stops working when changing expected type from Any to a different typeKT-55936K2: Support proper resolution of callable references as last statements in lambdaKT-45989FIR: wrong callable reference type inferredKT-55169K2: False-negative NO_ELSE_IN_WHENKT-55932K2. No compiler error when elvis operator returns not matched typeKT-53987K2: False negative "TYPE_MISMATCH" with if statement returnKT-41038NI: TYPE_MISMATCH when passing constructor of nested classKT-42449Can not resolve property for value of type Any even after casting type to a type with star projectionKT-52934StackOverflow fromPseudocodeTraverserKt.collectDataFromSubgraphwithifinsidefinallyKT-52860StackOverflowError when casting involving recursive generics and star projectionKT-52424ClassCastException: Wrong smartcast to Nothing? with if-else in nullable lambda parameterKT-52262TYPE_MISMATCH: Nonnull smartcasting fails with non-exhaustive whenKT-52502Forbid extension calls on inline functional parametersKT-51045SETTER_PROJECTED_OUT: Star projected nullable property can't be set to nullKT-40480[FIR] SupporthasStableParameterNamefrom metadataKT-50134NI: Type inference regression in java streams groupingByKT-50160False positive "USELESS_CAST" caused by indexed access operatorKT-42715Unable to use implicit lambda paramitfor overloaded methodsKT-49045False positive USELESS_CAST in generic type with nullable type parameterKT-49024AssertionError: Variance conflict: type parameter variance 'out' and projection kind 'in' cannot be combinedKT-48975Type mismatch: inferred type is X but Nothing! was expected with the AssertJ latest versionKT-47870INVISIBLE_MEMBER: Kotlin class can't access protected annotation defined in Java parent classKT-47495ReenteringLazyValueComputationException on invalid codeKT-47490Missed diagnostic for incorrect callable reference in finallyKT-47484"Recursion detected in a lazy value under LockBasedStorageManager" on invalid codeKT-46301Combining branches with sealed interfaces inwhenbreaks type inferenceKT-44392False negative: redundant nullability/not null check on cast with as operatorKT-43936Recursion detected on input: ANNOTATION_ENTRY with annotation on star-imported nested classKT-43846No smart cast when returning function closures with captured smart-cast variableKT-43603False positive USELESS_CAST leads to TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on "when" with smart cast and extension propertyKT-43553JVM / IR: "AssertionError: Unbound symbols not allowed" caused by annotation class with TYPE targetKT-42169False negative CAST_NEVER_SUCCEEDS for incompatible types with generic parameter and star projectionKT-42136NI: False positive [USELESS_CAST] when list serves to create a mutable listKT-41721SAM conversion fails on varargs with type approximated to NothingKT-38288Unresolved reference for type parameter upper bound of nested class when outer class extends it with star projected type argumentKT-37490NULL_FOR_NONNULL_TYPE: "Null can not be a value of a non-null type Nothing" when null is passed to nullable argument of type projected methodKT-37365NPE fromReflectionReferencesGenerator.generateCallableReferencewith inner class function reference and wrong parenthesisKT-36958NI: missed unresolved on parenthesized callable reference passing through call (back-ends throw an exception)KT-30756No smartcast if elvis operator as a smartcast source in while or do-while is used as the last statementKT-24737Report an error on invalid this-expression with angle brackets on left-hand side of a callable referenceKT-21463Compiler doesn't take into accout a type parameter upper bound if a corresponding type argument is in projectionKT-6822Smart cast doesn't work inside local returned expression in lambdaKT-55840Inconsistency between members of enums in bytecode between FE 1.0 + JVM IR and FIR + JVM IRKT-47815JVM: "Recursion detected in a lazy value under LockBasedStorageManager" when trying to inherit interface from a class with non-trivial functionKT-17817No error reported on invalid LHS for class literalKT-47373Missed diagnostics on/after non-null assertion (!!) on generic class class use with class literalKT-51143Wrong Unit-requiring at if/when branch with stub typesKT-53671False-positive diagnostic reported on OptIn annotation import from root packageKT-53494Mistaken type inference in compound 'if' expression with nullability check and covariant typeKT-28668"AssertionError: Unrelated types in SAM conversion for index variable" if lambda argument of '[...]' in LHS of augmented assignment is used as an implementation for different SAM interfacesKT-55931Inference for callable reference inside synthetic calls for if/when/try/etc stops working when brought into lambda for a callKT-20223Inline access check ignores operator calls toinvoke()KT-54478@NoInfercauses CONFLICTING_OVERLOADSKT-56472K2: Add stack of all FIR elements to CheckerContextKT-41126[FIR] Inconsistency of a compiler behaviour at init block for an enum entry with and without a qualifier nameKT-54931Annotations defined in nested classes cannot be instantiated directlyKT-52338"IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class fieldKT-24901No smart cast forwhenwith early returnKT-53086"Cannot access '' before superclass constructor has been called" with inner class secondary constructorKT-55137Callable references with conversion are incorrectly allowed to be promoted to KFunctionKT-30497EXACTLY_ONCE contract doesn't work in a function withvarargparameterKT-47074Front-end Internal error: Failed to analyze declaration State / java.lang.IllegalStateException: Should not be called! when try to add ParcelizeKT-24503Return-as-expression is allowed as this/super constructor parameterKT-55379False positive NO_ELSE_IN_WHEN with smartcast to BooleanKT-47750False positive NO_ELSE_IN_WHEN in presence of smartcast to sealed interfaceKT-53819False positive UNINITIALIZED_VARIABLE with secondary constructor and custom property getter in local classKT-56457JVM: Enum.entries are not annotated with@NotNullKT-56072K2. "IllegalStateException: Fir2IrSimpleFunctionSymbol for is already bound" when trying to access java synthetic property of inherited classKT-50082Kotlin non-overriding property of subclass doesn't shadow same-named Java field from base classKT-55822False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with raw types and mixed overridden membersKT-55666K2: label on local function is rejected: "Target label does not denote a function"KT-56283False-positive INVISIBLE_MEMBER on overridden member of more specific type after smart castKT-51969[FIR] Compilation for expect value class fails with "Fir2IrSimpleFunctionSymbol for [declaration] is already bound"KT-56329K2: compiler backend crash on two expected functions with similar signaturesKT-56361K2/MPP: receiver isn't available in lambda literals with receiverKT-55295K2/MPP: JS build functionalityKT-55909[K2/N] IndexOutOfBoundsException for a reference to a function defined in companion object superclassKT-55664K2: eliminate ClassId.isSame call from FirClass.isSubclassOfKT-56353K2. False negative "Unresolved reference" in default value of secondary constructor's parameterKT-56381K2: Function type kind not extracted from lambda literal in generic callKT-55747K2. "Convention for 'mod' is forbidden. Use 'rem'" error is missingKT-56104Unnecessary inner classes attributes in class files for subclassesKT-55570K2: ACTUAL_WITHOUT_EXPECT error is not reported on a simple actual classKT-56176[K2/N] "IllegalStateException: actual type is kotlin.Int, expected kotlin.Long" when expected type uses typealiasKT-56229K2: IllegalStateException (already bound) for triangle-like dependencies scheme with MPP scenarioKT-56199K2 + MPP + kotlinx.serialization: java.lang.VerifyError: Bad type on operand stack in aaloadKT-56212K2: Exception when compiling extension function declaration with illegally chained type parameter receiverKT-55503K2: "Argument type mismatch" caused by using the wrong "this"KT-56050K2: inconsistency regarding visibility of synthetic properties with protected getter and public setterKT-49663FIR: Support@kotlin.jvm.PurelyImplements for java collectionsKT-55468[K2/N] Crash with debuginfo caused by changed tree using IMPLICIT_COERCION_TO_UNITKT-56269[K2/N] Don't test "Tailrec is not allowed on open members" in K2KT-54647K2: Function call with Lambda on LHS of assignment leads to KotlinExceptionWithAttachments: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteralKT-54648K2: Function call on left side of erroneous assignment isn't resolvedKT-55699K2. False Negative "Type parameter T is not an expression"KT-56132Restore 'JvmBackendContext' constructor signature for compatibilityKT-55973K2: Exception from UnusedChecker on an unused destructuringKT-56275K2 IDE: Missed error for enum super typeKT-54775K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl " exception on incorrect codeKT-55528K2: CFA for property initialization analysis is not run for class initialization graphsKT-54410K2: Deprecation warning instead of "this declaration is only available since Kotlin X" when language version in project are below required to use language featureKT-55186K2: No compilation error on calling exception without constructorKT-36776Treat special constructions (if, when, try) as a usual calls when there is expected typeKT-50947False negative: FE 1.0 doesn't report type variance conflict error on an inner typeKT-39041Collection literals should not be allowed inside annotation classesKT-54694Consider enabling BooleanElvisBoundSmartCasts in K1 or K2KT-54587K2. CCE on compilation when some operator fun is needed and it is implemented as an extension function for another classKT-52774Resolve unqualified enum constants based on expected typeDocs & Examples
KT-53643Update coding style conventions to include rangeUntil operatorKT-57902Create migration tutorial from kotlin-js to kotlin-multiplatform gradle pluginKT-58381[Docs][Libraries] Document Path.createParentDirectoriesIDE
Performance Improvements
KTIJ-23501Make main run configuration detection lighterKT-56613Reduce memory consumption of light classesFixes
KT-57849K2: contract violation due to implicit java type with annotationKT-57857LC: FakeFileForLightClass: Read access is allowed from inside read-actionKT-57578SLC: incorrect upper bound wildcardsKT-57917Analysis API: decompiled value parameters are not resolvedKT-56046K2 IDE: Avoid redundant resolve from annotationsKT-57569SLC: incorrect visibility for lateinit var with private setterKT-57547SLC: non-lastvarargvalue parameter type mismatchKT-57548SLC: incorrect inheritance list for ComparatorKT-56843Light classes: certain kinds of constant values in property initializers aren't supportedKT-56868SLC: IncorrectOperationException on enum annotation arguments that are not valid Java identifiersKT-56833Light classes: Accessors to lateinit properties don't have@NotNullannotationsKT-56845Light classes: Overridden property accessors don't have@OverrideannotationKT-56441K2 IDE: reference from Java to ObjectName.INSTANCE of private object is red in IDE, but compiled successfullyKT-56891Symbol Classes: DefaultImpls classes contain methods without default implementationKT-56842Light Classes: Primitive-backed context receiver parameters shouldn't be marked with@NotNullKT-56835Light classes: Underlying fields for delegated properties should be marked as final and@NotNullKT-56840Light Classes: Inline classes backed by Java primitives shouldn't be marked with@NotNullKT-56728K2 IDE. False positivenot applicable tofor kotlin annotation with target annotating Java elementKT-55815SLC: Keep annotations on type when converting toPsiTypeKT-55669K2 IDE: INRE from light classesIDE. Completion
KTIJ-25108K2 IDE: Code completion in Java context for Kotlin top level members: "Slow operations are prohibited on EDT" through KtAnalysisScopeProviderImpl.canBeAnalysed()KTIJ-24989K2 IDE: completion should show information about expanded types for type alias parametersKTIJ-24992K2 IDE: completion shows return type with incorrect nullability when type is stub typeKTIJ-24948K2 IDE: "ERROR: class org.jetbrains.kotlin.fir.types.jvm.FirJavaTypeRef cannot be cast to class org.jetbrains.kotlin.fir.types.FirResolvedTypeRef" during completion of inner classes' constructorsKTIJ-24256K2 IDE: Angle brackets are missing in completion of function with type parametersKTIJ-24083K2, Completion: Exception on adding a type parameter receiver to a functionKTIJ-23963K2 IDE: Completion in Kotlin suggests overriding a Java field; fails with "Unknown member to override"KTIJ-22359K2 IDE: no completion for Java synthetic properties from super classKTIJ-23880Completion doesn't work for Java synthetic property referenceIDE. Decompiler, Indexing, Stubs
KTIJ-25152Kotlin Bytecode tool window: ISE Symbol with IrSimpleFunctionSymbolImpl is unbound on actual callable with argument in mpp project with IRKTIJ-24475Migrate kotlin index extension implementation from object to classesKTIJ-24335Kotlin Bytecode tool window: NoSuchElementException caused by duplicate Boolean type descriptor in JvmSharedVariablesManager.getProviderKTIJ-24206Kotlin Bytecode tool window: "Unhandled intrinsic in ExpressionCodegen" when compiling a source file with an expect functionKTIJ-15764IR by default in Kotlin bytecode tool windowIDE. Gradle Integration
KT-59034MPP build failed with "Factory type is not known for plugin variants" in kt-231-*KT-56671KGP import: K/N distribution libraries should'n be resolved for IDE by KGP with package namesKTIJ-24573KGP-based import: commonized cinterop libraries don't include source set targets, unsupported by hostKTIJ-25757KJS: 1.9.0-Beta fails to run when running in Android StudioKTIJ-24701KGP import: JVM+Android shared source sets don't receive a correct default stdlib dependencyKTIJ-24745IDE sync of kotlin("js") projects with js(BOTH) set fails with exception because of the new MPP IDE importKTIJ-24567Enable KGP dependency resolution by defaultKTIJ-24729KotlinMPPGradleProjectResolverKt must not be requested from main classloader on project importKTIJ-11978IDE does not recognize the sources JAR of a published to mavenLocal MPP libraryIDE. Inspections and Intentions
KTIJ-24684K2 IDE: 'Redundant qualifier name' false positive in type specification in extension functionKTIJ-24662K2 IDE: False positive "Redundant qualifier name" inspection for nested class from base interfaceKTIJ-25232K2 IDE: "Redundant qualifier name" inspection false positive with object referenced via propertyKTIJ-25447Make Enum.entries and RangeUntil inspections don't check for opt-in when APIs become stableKTIJ-23588K2 IDE. False positive unused import directive for extension function of an objectKTIJ-25112K2 IDE: False positive "Actual value of parameter 'b' is always 'null'"KTIJ-24485Explicit API mode: false positive "redundant 'public' modifier"KTIJ-24453Unsuccessfull resolve error from OperatorToFunctionIntention on recursive property declarationIDE. JS
KT-58427Kotlin Gradle Plugin ignores language version value for Kotlin/JS sourcesIDE. Libraries
KTIJ-25096K2 IDE: Library sessions are garbage collected between performance test runs with enabled library cachesKTIJ-24413Cannot navigate to enum of the Kotlin library via entries callIDE. Multiplatform
KTIJ-25859MPP: Library wizard with android target uses deprecatedandroidTestsource setKTIJ-25479Compiler options is not imported correctly for js source setsKTIJ-24011MPP: Native tests are missing run guttersJavaScript
New Features
KT-12784JS: generate ES2015 compatible modulesKT-48154KJS / IR: Inline members support for external typesKT-51582FIR: support basic compile-time evaluation for JS backendFixes
KT-43490KJS / IR: "Cannot set property message of Error which has only a getter" caused by class that is child of ThrowableKT-57690K2/MPP: compileProductionLibraryKotlinJs fails with Module has a reference to symbol kotlin/arrayOf|3204918726020768747[0]. Neither the module itself nor its dependencies contain such declarationKT-56911K2/MPP: Compile K/JS fails for@Serializableannotation with class IrDeclarationOrigin$GeneratedByPlugin cannot be cast to class IrDeclarationOriginImplKT-56950Support KLIB IC with K2KT-58570KJS: ES6 classes + PL throw java.lang.NullPointerExceptionKT-58835K2/JS: Fix incremental compilation klib testsKT-58794KJS / K2: Assertion failed with Space buildKT-51706Partial linkage: in case of absent symbol referred from declaration Native compiler is successful, JavaScript failsKT-54452Kotlin/JS libraries with "joined" legacy+IR content: publish IR sources for themKT-53180Kotlin/JS: generated TypeScript constructor can have "TS1016: A required parameter cannot follow an optional parameter" error with certain properties orderKT-39650KJS IR: provide a way to enable ES2015 class generationKT-57990KJS/IR. Invalidsupercall for final parent methods (ES classes)KT-58246KJS: ES15 classses — duplicated code in class constructorKT-57479KJS: Add an annotation for a function parameter which checks that a passed argument has an external typeKT-58201Unknown statement type when building with ES modulesKT-30810values and valueOf are miscompiled for external enum classesKT-57024Ugly TypeScript definitions for declarations with both@JsExportand@SerializableKT-56237KJS + IC: Adding or removing interface default implementation doesn't invalidate children and doesn't update JS codeKT-54638K2/JS: Fir2ir - implement and use JS-specific manglerKT-54028Native / JS: Using private object implementing a sealed interface causes a linker errorKT-57423KJS: Add an annotation for external interfaces which allows to be inherited only by other external interfaces, classes or objectsKT-57711K2: Native & JS fail to compile a KLIB that uses const val from a dependency KLIBKT-57078JS IC: Unbound symbol left inSymbolTableinJsIr[ES6]InvalidationTestGenerated.testBreakKlibBinaryCompatibilityWithVariancetestsKT-57254Deprecateexternal enumdeclarationsKT-57002KJS: "JsParserException: missing name after . operator" when a js(...) block contains an interpolated constantKT-56961JS IR: serializedIrFileFingerprints in klib manifest has a wrong formatKT-56282KJS: Invalidate incremental cache in case of compiler internal errorsKMM Plugin
KT-55402"Framework not found SQLCipher": after selection of "Regular framework" as "iOS framework distribution" and installing SqlCihper through CocoaPodsKT-55988KN debugger in KMM plugin for Android Studio can't recognize the source codeLanguage Design
New Features
KT-48872Provide modern and performant replacement for Enum.values()KT-15613Introduce special syntax for the until operatorKT-4107Design and implement a solution for toString, equals and hashCode on objects (data object)Fixes
KT-28850Prohibit protected visibility in final expected classesKT-39362Expect fun interface must have actual fun interface counterpartKT-48994Prohibit type unsound java fields assignmentsKT-58791Prolongate PROGRESSION_CHANGE_RESOLVE diagnostics to 2.xKT-53778Release stdlib API about "rangeUntil" operator in 1.9KT-53653Export Enum.entries to Objective-C and SwiftKT-55177Deprecate declaration of expect and actual counterparts of same class in one moduleKT-49110Prohibit access to members of companion of enum class from initializers of entries of this enumKT-47986Forbid implicit inferring a type variable into an upper bound in the builder inference contextKT-57395Delay ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound feature to LV 2.0KT-55082Bump KLib version for Enum.entriesKT-49264Deprecate infix function calls of functions named "suspend" with dangling function literalLibraries
New Features
KT-58046Stabilize remaining kotlin.time API: time sources, time marks, measureTimeKT-58074Stabilization of Atomics API in K/NKT-55268Mutiplatform@VolatileannotationKT-51908Provide common function for getting regex capture group by nameKT-53263Path.createParentDirectoriesKT-7637Add toString() to standard delegates classes (NotNullVar, LazyVal, BlockingLazyVal, ...)KT-40728Add AssertionError constructor withcause: Throwableparameter to common stdlibKT-57298Avoid FileAlreadyExistsException from Path.createParentDirectories in case of parent is symlinkPerformance Improvements
KT-54739buildmethod in collection builders (Set, Map, List) should return a single instance for empty collectionsKT-42589Provide common listOf(value) overload to avoid allocation of the varargKT-55091Stdlib: Sequence.toSet() and Sequence.toList() may create the collection twiceKT-57617Optimize ReversedListReadOnly iteratorKT-57607KJS: Bad performance for ArrayList.addAllFixes
KT-58841Serialization: NPE when obtaining a serializer of a sealed base class with a self-referencing propertyKT-57728Explicitly specify level of stability of programmatically-accessible interoperability APIKT-58985Update KClass.isData KDocKT-57762Introduce HexFormat for formatting and parsing hexadecimalsKT-55612Stabilize experimental API for 1.9KT-58548Stabilize standard library API for Enum.entriesKT-56400Disable compilation of atomicfu-runtime with legacy JS backendKT-58276Deprecate redundant public declarations in kotlin.native.concurrentKT-35973Extract org.w3c declarations from stdlib-jsKT-58073JS/Legacy compiler blocks compilation of kotlinx.atomicfu with K2KT-57317Repack EnumEntries from stdlib into the compilerKT-54702Native: mark Worker and related APIs as obsoleteKT-55610Deprecate kotlin.jvm.Volatile annotation in platforms except JVMKT-57404Native: Support AnnotationTarget.TYPE_PARAMETERKT-57318Change EnumEntries stdlib implementation to be eagerKT-57137Native: Consider removing ArrayAsListKT-56661Missing EnumEntries-related bytecode in kotlin-stdlib-1.9.255-SNAPSHOT.jarKT-51579PlatformImplementations loading is not compatible with graalvm native-image --no-fallbackNative
KT-54098Decommission and remove 'enableEndorsedLibs' flag from Gradle setupKT-52594Provide Alpha support for Native in the K2 platformKT-56071K2/MPP: Native build functionalityKT-56218[K2/N] Receiver annotations for properties are not serializedKT-56326[K2/N] RemoveRedundantCallsToStaticInitializersPhase removes important static initializerKT-27002lateinitintrinsics frontend checkers aren't applied on NativeNative. Build Infrastructure
KT-58160Native: performance build configuration fails with NoSuchMethodError: 'boolean kotlinx.coroutines.CompletableDeferredKt.completeWith(kotlinx.coroutines.CompletableDeferred, java.lang.Object)'Native. C and ObjC Import
KT-54610Kotlin Native can't callobjc_directfunctionsKT-57918[K2/N] Support typealiases in FirClassSymbol<*>.selfOrAnySuperClass()KT-58651Native c-interop tool generates broken@DeprecatedannotationsKT-57541Compilation fails without explicit cast on cinterop codeKT-54805KMP ios memory leak when using CA LayerKT-57490[K/N] Duplicate package names for cinterop klibs with objc protocols fails to linkNative. ObjC Export
KT-58839K/N: Exception during HiddenFromObjC marked class extension function compilingKT-56464K/N: Allow HiddenFromObjC for classesKT-57507K2: Set of Objc exported declarations is different between K1 and K2Native. Runtime
KT-58441Kotlin/Native:@ObjCAction@ObjCOutletgenerate bridges without switching stateKT-57091Align Native and Java file/class initialization behaviorNative. Runtime. Memory
KT-56233[Kotlin/Native] Crash when enum values are accessed in multiple threadsKT-58130Implement preview of custom allocator for Kotlin/NativeKT-56402Native: if a Kotlin peer for an Obj-C object is created on the main thread, then Kotlin runtime should run objc_release for it on the main threadNative. Stdlib
KT-57344Try to remove strange .equals overload on primitive typesKT-57592Native: Remove the default parameter value for AtomicLong constructorNative. Testing
KT-57349Enable more K2 MPP codegen/box tests for Kotlin/NativeKT-57026K2: Fix Native test infrastructure for MPPReflection
KT-54833Reflection: Incorrect behaviour for Field.kotlinProperty function in companion objectsKT-56650ArrayStoreException from InlineClassAwareCaller.call with an array of inline classKT-56093Metaspace leak in a Gradle plugin built with Kotlin 1.8.0KT-55937Optimize implementation of kotlinFunction/kotlinPropertyTools. CLI
KT-57495Add JVM target bytecode version 20KT-57154Incorrect version of JDK is provided through CoreJrtFsKT-56209Add CLI support for HMPP in K2KT-58351Confusing error message when using removed -Xjvm-default mode valueKT-57535K2: Kotlin command line compiler doesn't see class files on the class path in 2.0KT-57644K2: Prohibit passing HMPP module structure with CLI arguments to metadata compilerKT-56351Reduce memory usage spent on compiler settingsTools. Commonizer
KT-57796NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20KT-56207Investigate failing tests in ClassifierCommonizationFromSourcesTestTools. Compiler Plugins
Fixes
KT-57821K2: Compiler calls declaration generation plugins twice for classes in the common source setKT-57406FIR Compiler plugins: Assignment plugin incorrectly recognizes qualified names of annotationsKT-57626K2: SERIALIZER_NOT_FOUND for serializable class from another moduleKT-57400FIR Compiler Plugins:annotatedpredicate does not work with Java classesKT-57140K2: Implement backwards compatibility for FirFunctionTypeKindExtensionKT-56685K2: ArrayIndexOfBound during session creation if compiler plugins are enabledKT-55375Remove "legacy" mode of jvm-abi-gen pluginKT-53470FIR: passMemberGenerationContextto all methods of FirDeclarationGenerationExtensionKT-51092Lombok@Valuecauses IllegalAccessErrorKT-55885K2 plugin API: Backend-only declarations are not visible from other modulesKT-55584K2: Improve registration of session components from compiler pluginsKT-55843FIR Plugin API: metaAnnotated predicate returns meta-annotation itself as wellKT-53874Optimize checking for plugin applicability and redesign DeclarationPredicatesTools. Compiler plugins. Serialization
Fixes
KT-58954Serialization: NPE at run time when accessing a delegating property of a deserialized objectKT-56537Serialization: Presence of (transient) delegated field in the serialized class breaks deserializationKT-58918Serialization: NPE at run time obtaining a serializer for a sealed class with a generic self-referencing propertyKT-59113Serialization: NPE at run time when accessing a delegating property of a deserialized objectKT-57647Serialization: "IllegalAccessError: Update to static final field" caused by serializable value classKT-57704K2/serialization: false-positive SERIALIZER_NOT_FOUND when compiling against 1.7.20 binary with enum classKT-57083K2/serialization: can't resolve serializers for classes from other modulesKT-56480K2: false-positive warning about incompatible serializer type when using type aliasesKT-56594K2/serialization reports SERIALIZER_NOT_FOUND over aliased String or primitive typesKT-56553Support 'serialization plugin intrinsics' feature in K2KT-56244kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0Tools. Daemon
KT-50846Remove "new" Kotlin daemon from codebaseTools. Gradle
New Features
KT-56971Expose jvmTargetValidationMode property in KotlinCompile Gradle taskKT-57159Add project level compiler options for Kotlin/JVM pluginPerformance Improvements
KT-57052Gradle: Stop using exceptions for flow controlKT-57757Reduce classpath snapshotter memory consumptionKT-56052Implement an in-memory wrapper for PersistentHashMap to avoid applying changes to IC caches before successful compilationFixes
KT-55624Update KGP integration tests that use removed in Gradle 8 getClassifier methodKT-59589Gradle: 'java.lang.NoClassDefFoundError: com/gradle/scan/plugin/BuildScanExtension' on 1.9.0-RC when applying Enterprise Plugin from initscriptKT-59063Explicit API mode broken in Kotlin 1.9.0-BetaKT-57653Explicit API mode is not enabled when free compiler arguments are specified in Gradle projectKT-59256[1.9.0-Beta] ServiceLoader does not pick up classes defined in the same projectKT-58662Gradle 8.1 + Configuration Cache: custom values data is missing from build reportKT-58280org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpathKT-59191Actual compilation failure exception might be hidden in the case of a Kotlin daemon crashKT-56211Improve Kotlin build reportsKT-57767Gradle: "ZipException: invalid entry size" with 1.8.20KT-57736K2: Introduce an easy way to try K2 compiler in Gradle user projectsKT-59056FreeCompilerArgs options added using 'subprojects' extension override module-level freeCompilerArgs optionsKT-55740Gradle 8: Listener registration using Gradle.addBuildListener() has been deprecatedKT-37652Support explicit mode for Android projectsKT-58251Build Statistics. Kotlin-specific tags are missing in build scans if projects use Gradle 8+KT-57224Add an indicator into build metrics report to show whether K1 or K2 compiler was used to compile the codeKT-58571ExplicitApi mode should not apply for test compilationsKT-42718Test and AndroidTest sources should be excluded from explicit API requirements for librariesKT-58916[1.9.0-Beta] PLUGIN_CLASSPATH_CONFIGURATION_NAME and NATIVE_COMPILER_PLUGIN_CLASSPATH_CONFIGURATION_NAME should stay public or offer an alternative APIKT-58869K2, Gradle: Improve message "100% (2/2) tasks have compiled with Kotlin 2"KT-52811Kotlin Serialization metadata issue due to incompatibility between Gradle Kotlin embedded version and Kotlin Gradle Plugin versionKT-57330Provide collection of usage statistics for the DokkaKT-57393jvm-target value set through 'android.kotlinOptions' is ignored and overwritten with the default 1.8 valueKT-58745KaptGenerateStubs task should also be configured with the same compiler plugin optionsKT-58682Explicit api mode does not apply in MPP projectsKT-52976Remove deprecated Gradle conventions usagesKT-58530Compiler plugin unbundling changes should be backward compatible with Kotlin pluginKT-36904Adding folders to sourceSets.resources.srcDir() in Gradle script does not workKT-58313An exception in console if no task is executed and file build reports are enabledKT-58619Move all pm20 interfaces into Gradle plugin codebaseKT-58320Kotlin daemon OOM help message is missing on OOM in Kotlin Daemon itselfKT-53923Add 'progressive' compiler argument to Gradle compiler optionsKT-53924Add 'optIn' compiler arguments to Gradle compiler optionsKT-53748Remove KotlinCompile setClasspath/getClasspath methodsKT-56454Bump minimal support AGP version to 4.2.2KT-57397Add infrastructure to use the build-tools-api to run compilation from GradleKT-56946Switch incremental Gradle tests for K2 to use language version 2.0KT-57782Disable daemon fallback strategy for Gradle integration tests by defaultKT-57142Split org.jetbrains.kotlin.gradle.tasks/Tasks.kt into several source filesKT-54447Remove usage of deprecated internal Gradle field in Kotlin Gradle Plugin, replace with equivalent in public APIKT-49785Avoid creating task output backups until really neededKT-56047False positive message about full recompilation is displayed while restoring from build cache and then making a syntax errorKT-56421Gradle: plugin should not use BasePluginExtension deprecated propertiesKT-55241Gradle: the VariantImplementationFactories build service state is not persistent making impossible to access factories with configuration cache lazilyKT-56357Gradle: "DefaultTaskCollection#configureEach(Action) on task set cannot be executed in the current context" because of VariantImplementationFactoriesKT-56352Make build scan reports more readableKT-55972Gradle: Add an assertion to all integration tests ifwarningModeis notFAIL, but the build doesn't produce any warningsTools. Gradle. Cocoapods
KT-38749Support reusing generated C-interop between dependant podsKT-54161Support adding extra code to generated Podfile from the Kotlin gradle pluginKT-56162Provide granular Gradle warnings suppression for CocoaPodsITTools. Gradle. JS
New Features
KT-48791KJS: Support for Power(ppc64le) and Z(s390x)KT-32209org.jetbrains.kotlin.js does not respect Gradle's archivesBaseNameKT-52646KJS / Gradle: make "KotlinCompilationNpmResolver already closed" a warningKT-52647KJS / Gradle: Make "Projects must be configuring" a warningKT-56158KJS: Support implementation dependenciesFixes
KT-59604Unresolved reference: useKarma in convention pluginKT-57604JS, Space: Circular dependency between tasksKT-59116K/JS npm dependcies are not resolved properly on Kotlin 1.9KT-54731KJS / Gradle: "There are multiple versions of "kotlin" used in nodejs build: 1.6.21, 1.7.20." with kotlin-dsl in buildSrcKT-58970browserTest gradle task fails if karma is used and gradle configuration cache is enabledKT-59004Kotlin JS 1.9.0-Beta, yarn.lock is unstable in multi module projectKT-56458KJS / Gradle: Unnecessary and confusing "There are multiple versions of "kotlin" used in nodejs build" generated fromYarnImportedPackagesVersionResolverKT-57985K/JS:packageJsonGradle configurations don't inherit unique attributes from JsTarget DSLKT-57817JS: executables for couple of JS targets builds in the same directoryKT-58199K/JS: Remove useCoverage methodKT-57116KJS / Gradle:commonWebpackConfignot applied if called afterbinaries.executable()KT-58522K/JS: Upgrade NPM dependency versionsKT-57629K/JS: Change default destination of JS production distributionKT-57480K/JS: Use IR compiler by default without explicit choosing of js compilerKT-58345K/JS: Webpack task skipped with ES modules because files have mjs extensionKT-58071KJS / Gradle:jsNodeTesttask is not incrementalKT-43809KJS: browserProductionExecutableDistributeResources tasks deletes distributions directoryKT-56690Kotlin2JsCompiler friendDependencies cannot be configured through friendPathsKT-57920K/JS: Make imported NPM package not considering dev dependenciesKT-56025KJS / Gradle: Gradle 8.0 jsBrowserProductionWebpack uses the output of another project's jsProductionExecutableCompileSyncKT-57630K/JS: webpack updating twice on one change of kt sourcesKT-47351KJS / IR::jsTestPackageJsonis unable to find nested included builds under composite buildKT-44754K/JS:browserRun --continuouskeeps rebuilding without any changesKT-49774KJS / Gradle: Errors during NPM dependencies resolution in parallel build lead to unfriendly error messages like "Projects must be closed"KT-57387Remove support of webpack 4KT-57386Kotlin/JS upgrade npm dependenciesKT-56705KJS / Gradle: Module name starting with '@' isn't properly set when FUS is disabledKT-46428KJS / IR: Composing build failed "Failed to create MD5 hash for package.json"KT-53687Don't trigger npm and yarn related tasks if it not relevant for assembleKT-49915KJS / Gradle: Gradle build cache miss because of absolute path inKotlinJsIrLink.filteredArgumentsMapKT-56192KJS: In browser testing no original sources in stacktraceKT-42395Kotlin/JS: Gradle DSL: PackageJson.customField() does not accept nullKT-43305Support Node.JS downloading for UbuntuKT-48631KJS: Unconditionally uses linux/x86 binariesKT-38015NodeJS installation does not extract symlinks correctly (npm and npx)Tools. Gradle. Multiplatform
New Features
KT-34662Provide an option for Android targets to compile & runcommonTesttests as unit tests only, instrumented tests only, or bothKT-55881Add possibility to enable/disable sources publication similar to Java Gradle Plugin APIFixes
KT-59446MPP: transformCommonMainDependenciesMetadata failing for api java dependency in shared jvm source set with Future was not completed yetKT-55751MPP / Gradle: Consumable configurations must have unique attributesKT-57688MPP:compileDebugKotlinAndroidtask fails with llegalArgumentException: 'moduleName' is null!KT-56210Pass module structure to CLI of K2 if K2 enabledKT-57531KotlinNativeLink: StackOverflowError when consuming library with dependency cycles (from constraints)KT-58281Kotlin Gradle Plugin: Enable Kotlin/Android SourceSetLayout v2 by defaultKT-57903Prepare for migration to the pluggable android target pluginKT-49933Support Gradle Configuration caching with HMPPKT-58661KGP: KotlinJvmTarget: Implement 'run' carrier taskKT-59055KotlinJvmRun not respecting jvmToolchain settingKT-57959Module-name value can't be changed for the android target of a multiplatform projectKT-55506TCS: Gradle Sync: kotlin-stdlib-common is not filtered from JVM + Android source setsKT-57652Don't expose sourcesElements for project2project dependenciesKT-58601Finalise "ExternalKotlinTargetApi" shape for initial 1.9 releaseKT-58710External Target Api: Add API to control SourceSetTreeKT-58488Add a diagnostic message to KGP in case of val androidTest by getting usageKT-57482cleanNativeDistributionCommonization is not compatible with configuration cache with gradle 8.0KT-58062Commonizer configuration cache not compatible with Gradle 8.1KT-58086Warn about using MPP libraries published in the legacy modeKT-56439TCS: Gradle Sync: IdeBinaryResolver: Add componentFilter API for compilations/configurationsKT-57023Cryptic Gradle task descriptions for compile tasksKT-58470Warning about using MPP libraries published in the legacy mode is not reported if the dependency is declared in an intermediate source setKT-58466K2 Gradle: non *.kt files are passed to -Xfragment-sourcesKT-58319kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'"KT-51940HMPP resolves configurations during configurationKT-58261Link kotlin native binary framework tasks fails when configuration cache is enabledKT-41506UnknownDomainObjectException: "KotlinSourceSet with name not found" when creating custom compilations after applying withJava to an MPP JVM targetKT-58209Do not use the term 'Module' in KotlinTargetHierarchyKT-56153When the dependency is unresolved, import fails and don't import anything instead of degrading gracefullyKT-56571New import broke apiVersion for commonMain, commonTest and jvmAndAndroidMain modulesKT-56712Multiplatform;Composite Builds: Classpath isolation: .MppDependencyProjectStructureMetadataExtractorFactory cannot be cast to class *MppDependencyProjectStructureMetadataExtractorFactoryKT-56461MPP: resolvableMetadataConfiguration: Ensure consistent resolution across all compile dependenciesKT-56841MPP: Module-to-module dependencies don't work inside included build in included buildKT-42748Project that transitively depends on composite build of multimodule multiplatform library cannot resolve dependencies properlyKT-52356MPP / Gradle: Missing common classes on KMM project integrated via Gradle included build into an Android applicationKT-51293Unresolved references with hierarchical project structure when building KotlinMetadata from native-common source setKT-56700V2 MPP Source Set layout warnings should include link to docsKT-55926TCS: Gradle Sync: Import Extras on KotlinSourceSet and KotlinTargetKT-55730MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source setsTools. Gradle. Native
KT-58838KGP/Multiplatform: 1.9.0-Beta with custom cinterops: IllegalStateException: Could not create domain object 'jni' (DefaultCInteropSettings)KT-57823KotlinNativeCompileOptions.moduleName value is ignored and replaced with the default one if to set up using compilationsKT-57815KotlinNativeCompileOptions.moduleName isn't accessible if to configure using compilerOptions.configure {}KT-57944K2: K2, MPP, Native: K2 reports "Source does not belong to any module" for native sourcesKT-53108Expose Kotlin/Native compiler options as Gradle DSLKT-58063Kotlin/Native tasks configuration cache are not compatible with Gradle 8.1KT-38317Kotlin/Native: NSURLConnection HTTPS requests fail in iOS tests due to --standalone simctl flagKT-56280Gradle: freeCompilerArgs are no longer propagated from compilations to Native binariesTools. Incremental Compile
KT-58289IC fails to detect a change to class annotationsKT-58986New IC: ISE "The following LookupSymbols are not yet converted to ProgramSymbols: LookupSymbol(name=$$delegatedProperties, ...)"KT-56197If use classpathSnapshot, the invoke place of subclass's super function who has default parameters will not recompiled if it is incremental buildKT-56886K2: Changes to Java sources used in Kotlin project do not trigger a rebuild if a previous build was successfulTools. Kapt
KT-54468KAPT Gradle plugin causes eager task creationKT-59521Kapt maven plugin require version of annotation processorKT-58301K2: Compile Kotlin task failure for the generated by Kapt sources : 'Source NameOfTheGenerated.kt does not belong to any moduleKT-57598K2: Support a fallback mode executing Kapt with K1 even when the compiler is run with languageVersion=2.0KT-58226KAPT: “org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtNameReferenceExpression” with enum with secondary constructorTools. Maven
KTIJ-25445Maven. JVM target is imported as 1.6 when no target specified in pom.xmlTools. Parcelize
KT-59112K2: "IllegalStateException: Function has no body with@Parcelize" on nested sealed class hierarchiesTools. Scripts
KT-58366The obsolete kotlin-script-util jar is still published and contains broken JSR-223 implementationTools. Wasm
KT-56585Change wasmBrowserRun Browser Executable to System DefaultKT-56159Running (karma) tests doesn't work in a project generated by wizard "Browser Application for Kotlin/Wasm"KT-57203Update Kotlin/Wasm to support Gradle 8Checksums
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.
1b874d15fdto88391c0c5288391c0c52to7f8f6f67a77f8f6f67a7to3b5e3582613b5e358261todc4d7cd0f5dc4d7cd0f5to3c5d7d03583c5d7d0358tobade71cd5ebade71cd5etob247a42c91b247a42c91to3a435bb436283e580fdcto6088fac358View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.