Skip to content

Update kotlin monorepo to v2.4.20 - #28

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/kotlin-monorepo
Open

Update kotlin monorepo to v2.4.20#28
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/kotlin-monorepo

Conversation

@renovate

@renovate renovate Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
org.jetbrains.kotlin.plugin.compose (source) 2.4.02.4.20 age confidence
org.jetbrains.kotlin.jvm (source) 2.4.02.4.20 age confidence

Release Notes

JetBrains/kotlin (org.jetbrains.kotlin.plugin.compose)

v2.4.20

Analysis API
  • KT-86546 Check suspicious when over ConeKotlinType in ConeTypeCompatibilityChecker
  • KT-85418 Implement an API for accessing deserialized file annotations in Analysis API
  • KT-74448 K2. False positive MISSING_DEPENDENCY_SUPERCLASS in LinkedListTest.kt, kotlinx.coroutines
  • KT-85856 containingSymbol of constructor property differs for local and non-local classes
  • KT-65417 K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source sets
Analysis API. Code Compilation
  • KT-76457 K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm
Analysis API. FIR
  • KT-70552 No expects for actual
  • KT-69727 K2 IDE. Wrong error in the editor on calling clone function of actual enum instance in non-jvm platform
  • KT-69726 FP errors on declaring fun clone() in actual enum in not-jvm source-set
  • KT-86014 Types are broken after remove parameter through change signature
  • KT-86363 KotlinIllegalArgumentExceptionWithAttachments: No dangling modifier found on companion blocks
  • KT-86147 Drop kotlin.parallel.resolve.under.global.lock registry key
  • KT-85543 Avoid lazy resolve for the contracts phase if no constracts might be resolved
Analysis API. Infrastructure
  • KT-84914 Do not publish analysis-api-test-framework
  • KT-86986 kotlin-compiler-common-for-ide bundles unrelated Analysis API modules
  • KT-86186 Analysis API: Codebase tests run twice in some analysis modules — pick a single JUnit runner and migrate
  • KT-85360 Drop kotlin-compiler-testdata-for-ide artifact
  • KT-85585 Simplify the dependencies graph for the Analysis API modules
  • KT-85381 Remove tests for the FE10 implementation
Analysis API. Light Classes
New Features
  • KT-84645 Support resolving to companion block members & extensions from Java (light classes)
  • KT-80775 Support PsiClass#getRecordComponents in light classes
Fixes
  • KT-57537 SLC: propagate default parameter value from (@JvmOverloads) expect declarations to actual declarations
  • KT-85040 [Analysis API] Improve Java / Kotlin interop in KMP projects
  • KT-87301 SymbolLightAccessorMethod#isValid returns false for delegated properties
  • KT-87171 SLC: non-mapped Kotlin collection supertype is dropped from supertype list
  • KT-87250 JvmExposeBoxed: light classes shouldn't be autogenerated for private declarations
  • KT-70428 AA: good code is red when a Java class extends a Kotlin class implementing MutableList by delegation
  • KT-63568 Symbol Light Classes: KtAnnotationApplicationWithArgumentsInfo.normalizedArguments() may work incorrectly when psi is not set
  • KT-36740 MPP: False-positive incompatible types in .java when using expect-class returned by non-expect member from common when actual is actual typealias
  • KT-67749 Analysis API: Symbol Light classes should be available only to pure JVM sources
  • KT-68169 K2 IDE. KMP. False positive type mismatch in java file of jvm source-set when using common declaration which expects String
  • KT-37783 KMP Java Interop: JVM-only methods on actual superclass not resolved in Java for common subclass
  • KT-40059 Provide type correction for expect/actual types used from Java-code
  • KT-71429 MPP: False positive "Function1 is not a functional interface" when calling code from Common in Java
  • KT-70426 SLC: kotlin.Collection#size is not exposed by default
  • KT-60480 Symbol Light Classes: Classes implementing kotlin.collections.* interfaces don't implement all methods from the corresponding java.util.* interfaces
  • KT-36991 IDE: "both methods have same erasure" for Java classes directly or indirectly extending Kotlin collections
  • KT-22594 KotlinCollection.getSize is not highlighted as an error in Java
Analysis API. PSI
  • KT-84925 Move KtReference to the Kotlin IntelliJ plugin
  • KT-85052 Move mutation methods out of the Kotlin PSI
  • KT-85427 Use factory-like pattern instead of reflection in KtNodeType
  • KT-84789 Ensure all KtClassBody.parent usages are correct
  • KT-85154 PSI: "AE: parent is ERROR_ELEMENT" with top-level destructuring declaration
Analysis API. Providers and Caches
  • KT-82220 Analysis API: Support platform-specific session components and checkers in metadata sessions
  • KT-76526 Incorrect built-in module is provided for non-JVM sources in Standalone
Analysis API. Standalone
  • KT-83191 Analysis API: JvmDependenciesIndexImpl performs very poorly for large classpaths
  • KT-61404 Analysis API: implement proper library publishing structure
  • KT-85112 AA does not see packages from unpacked klibs
  • KT-86417 Support parameters in 'getExpectsForActual()'
  • KT-84916 Metadata stub deserializers aren't properly set up for Analysis API Standalone
Analysis API. Stubs and Decompilation
  • KT-86250 KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtDestructuringDeclaration on destructuring declaration typing
  • KT-86520 KotlinDeclarationInCompiledFileSearcher doesn't support visibility-mangled declarations
  • KT-64901 Inconsistency between AST and Stub tree in the case of non-local destructuring declarations
  • KT-84444 Support stubs for companion blocks & extensions
Analysis API. Surface
New Features
  • KT-73214 Add KaScope#declarations with name filter
  • KT-69085 Provide API to retrieve label/name from KtFunctionLikeSymbol
  • KT-70771 KaLocalVariableSymbol: support isDelegatedProperty
  • KT-85037 Add API for KaFunctionType's returnType modification
  • KT-80460 AA: Introduce KtExpression.isStableForSmartCasting API
  • KT-66566 AA: api to create functional types
  • KT-65912 Analysis API: Implement type building API for all KtType
Performance Improvements
  • KT-70021 Analysis API: optimize KaFirExpressionTypeProvider.expressionType for simple cases
Fixes
  • KT-66039 K2: Analysis API: redesign resolution API
  • KT-86394 Resolve from KDoc reference is inconsistent with source code
  • KT-87337 Integrate KaContextParameterOwnerSymbol into KaCallableSymbol
  • KT-78234 Analysis API: Context parameters for accessors
  • KT-86786 Investigate suspicious when over ConeKotlinType in ConeKotlinType.getDirectSupertypes
  • KT-72902 Shouldn't KaSymbolProvider#findClass return KaNamedClassSymbol?
  • KT-87237 No expected type inside arrayOf in annotation entries
  • KT-87143 findKDoc returns parent property KDoc for accessors of an overriding property
  • KT-83224 Support "Compile-time functions" in the Analysis API
  • KT-87174 Expected class KaFirSymbol instead of class KaFirPackageSymbol exception
  • KT-87199 [Analysis API] Remove KaEnumEntryInitializerSymbol
  • KT-85382 Remove the FE10 implementation
  • KT-70774 Unary operators on literals are not resolvable
  • KT-85206 Provide information about potentially removable context-sensitive resolution qualifiers via Analysis API
  • KT-86872 KtOperationReferenceExpression should be KtResolvableCall
  • KT-85800 Analysis API: The internal utility PrettyPrinter is used in the public API surface
  • KT-73796 Consider "KaAnnotation#useSiteTarget" removal
  • KT-70794 K2 IDE: Reference to object does not resolve as LHS in "plusAssign" assignment expression
  • KT-86757 Flaky annotations result for @all annotation on a backing field
  • KT-86681 [Analysis API] Move isDelegated to KaVariableSymbol
  • KT-86685 collectCallCandidates works incorrectly for a constructor vs. a companion invoke
  • KT-86514 No expected type within collection literal in annotation entry using array rather than varargs
  • KT-76076 K2 AA: safe call expression navigates to parent array index access expression
  • KT-86418 Support property accessors in 'getExpectsForActual()'
  • KT-71312 KaFirPsiJavaClassSymbol.{hasAnnotations, annotationSimpleNames} is inconsistent with FirJavaClass implementation
  • KT-86248 isUsedAsExpression true for typealias lhs in ::
  • KT-85778 Analysis API: Ensure that all public endpoints in implementation modules are internal or opt-in
  • KT-78285 resolveToCallCandidates inconsistent behaviour with invoke operator and constructor
  • KT-85852 CCE in buildClassType
  • KT-85989 Super type references should be aware of type alias constructors
  • KT-84184 [Analysis API] Provide a unification substitutor API
  • KT-84584 Support companion extensions and blocks in the Analysis API
  • KT-84932 Deprecate utilities exposed through analysis-internal-utils
  • KT-73059 Consider dropping of KaOriginalPsiProvider
  • KT-73050 KaFirSymbolRelationProvider#expectsForActual: suspicius logic for KaReceiverParameterSymbol
  • KT-71101 [AA] Consider getting rid of KaTypeNullability
Backend. J2KLIB
  • KT-88165 Add Support for -XheaderModeType=compilation to improve header compilation performance
  • KT-86239 [JKLIB] Investigate which type system context is needed in JklibIrLinker
  • KT-88306 [JKLIB] Unbound symbols for kotlin.coroutines.SuspendFunctionN
  • KT-88120 [JKLIB] Add -jvm-target to K2JKlibCompilerArguments
  • KT-88176 [JKLIB] DeserializationStrategy.WITH_INLINE_BODIES when deserializaing dependencies
  • KT-88163 Allow to disable firAggressivePrunner for Jklib
Backend. Native. Debug
  • KT-85264 [Native] Stepping trace starts with // test.kt:1 box in some debug stepping tests
  • KT-81740 Native: importing konan_lldb.py to lldb prints a warning
Backend. Wasm
Fixes
  • KT-73452 K/Wasm: turning on range checks by default
  • KT-83171 K/Wasm: Investigate import.meta usage in mjs files
  • KT-83159 K/Wasm: generate one common base class fun interfaces (including Function*)
  • KT-82843 K/Wasm: pass a lambda call helpers to convert funs as an argument instead of exporting them
  • KT-86123 [Wasm] Callable reference refactoring (KT-83159) broke klib binary compatibility with libraries compiled by Kotlin 2.0.x
  • KT-83356 K/Wasm: Difference in behavior on nested class initialization (for enums?)
  • KT-87639 [Wasm] Multimodule wasm fails on Pointer usages
  • KT-87583 Wasm IC cache is not invalidated when kotlin.wasm.compilationMode changes causing IndexOutOfBoundsException in WasmDeserializer
  • KT-84267 K/Wasm: init order of companion objects is different from JVM
  • KT-86192 K/Wasm: Raise a warning on usage of top-level require in JsFun
  • KT-86242 K/Wasm: deprecate and prohibit using wasmExports
  • KT-86245 K/Wasm: provide an API to get a reference to wasm memory
  • KT-84610 [Wasm] Failed to compile klibs in IC mode
  • KT-87078 Wasm/JS: OutOfMemoryError (or BufferUnderflowException) during incremental compilation of multiple files with @JsExport
  • KT-76207 K/Wasm: prototype generating suspend functions with stack-switching proposal
  • KT-86166 [Wasm] Make possible to have passing test in multimodule but having it fail in monolith
  • KT-71039 [Wasm, IC] Investigate synthetic function types loading
  • KT-71505 [Wasm, IC] Incremental step can produce wrong main function call
  • KT-86822 K/Wasm: don't cast the result of calling callable references with Unit return type
  • KT-86180 [Wasm] backward compatibility is broken in 2.1->2.2 by changed order of type parameters
  • KT-86640 [wasm]: Single-module test failures with companion object initializers
  • KT-66105 Wasm: SyntaxError: Identifier 'box' has already been declared
  • KT-83245 K/Wasm: Run stepping tests with local variables with K/Wasm
  • KT-86478 K/Wasm JS: StringBuilder.setLength crashes when growing with js-string builtins
  • KT-84667 wasm: Add general support for custom sections/annotations
  • KT-85506 [Wasm/WASI] Stdlib readLn and readlnOrNull implementation
  • KT-85270 K/Wasm: incremental compilation fails with NoSuchElementException when a stdlib call is removed
Compiler
New Features
  • KT-73431 Unresolved reference errors should state the type they're acting on
  • KT-80373 Add initial support for release compiler caches
  • KT-84618 Emit a warning when an undesrcore variable is assigned to a Unit expression
  • KT-86409 [KMP] Create JVM IC metadata output
  • KT-84295 Support Companion Block of Operator for Collection Literals
  • KT-84956 Resolve of references to static & companion object members of generic class
  • KT-85925 Native: rework virtual trampolines machinery
  • KT-86657 Native: turn on incremental compilation by default
  • KT-86018 Short-form of name-based destructuring for multi-field value classes
  • KT-86406 Swift Export: support supercalls for cross-language inheritance
  • KT-77616 Native: consider adding an annotation that enforces thread state switching for a @SymbolName external fun`
  • KT-86410 [KMP] Implement acceptance of JVM IC metadata from previous compilation
  • KT-85593 ELA: Support multiple lambda arguments
  • KT-83040 Collection literals: ensure normal interaction with CFG
  • KT-84333 Collection literals: type inference in delegate expression
  • KT-84289 Resolution to Companion Block & Extension Invoke Operator
  • KT-82961 Type inference from upper type for type parameters designed for tracking of checked exceptions
  • KT-81444 False positive: "Overload resolution ambiguity" with @OverloadResolutionByLambdaReturnType and multiple lambda parameters
  • KT-75736 Enable reading/writing annotations in metadata on JVM by default
Performance Improvements
  • KT-85621 Native: fix optimization in CastsOptimization
  • KT-69758 FastJarFS - avoid copying data on inflating (JDK 16+)
  • KT-85647 Compilation performance regression in AbstractFirDeserializedSymbolProvider since 2.3.20
  • KT-86104 [JVM] use static methods/fields of KTypeProjection in typeOf generated bytecode
  • KT-86084 IDEA freezes when a lot of properties are modified to lazy delegates
  • KT-83068 Investigate long compilation times with many generics & overloads
  • KT-66469 Long compilation with mockk import
  • KT-79677 Remove meaningless LVT records
Fixes
  • KT-88953 CCE caused by suspend conversion of nullable argument to nullable expected type
  • KT-85842 Collection literals (and CSR): internal failure when lambda is analyzed during inference of outer call
  • KT-86751 IntroducedAt: Do not generate @IntroducedAt overloads as synthetic
  • KT-81708 K/N incremental compilation: No module deserializer for FUN name:writeObject
  • KT-82510 K/N, IC: "Undefined symbols for architecture arm64" for iosSimulatorArm64 with kotlin.incremental.native=true
  • KT-88316 K/N: StackOverflowError in CastsOptimization when two nullable local variables are assigned to each other across nested loops
  • KT-80841 Confusing positioning of NO_VALUE_FOR_PARAMETER
  • KT-85300 Improve message for UNRESOLVED_REFERENCE_WRONG_RECEIVER
  • KT-87983 CCE on member extension property delegated to bound property reference
  • KT-85403 kotlin.NoWhenBranchMatchedException on Kotlin Native with sealed interface
  • KT-87922 K1FakeDescriptorsForReferencesKt classes duplicated between kotlin-scripting-compiler-embeddable and kotlin-build-tools-impl
  • KT-87499 ClassCastException "Float cannot be cast to Unit" when a suspend function's result is discarded in a when-branch
  • KT-85656 [NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS] False negative for nested type alias
  • KT-85641 Nullable-marked object qualifiers in LHSs of callable references
  • KT-86957 Warning on the underscore variable is not reported for java.lang.Void call
  • KT-87261 K/N debug: 'is' check miscompilation — local variable reports wrong type when two smart-cast extractions precede an inline loop
  • KT-87577 Compiler crash on red code with ambiguous type parameter used as expression
  • KT-80867 [Native] Stack allocation is blocked after cross-module inlining of stdlib
  • KT-86949 Native: ComputeTypesPass handles type checks across loop iterations wrong
  • KT-86959 Native: OptimizeCasts gets confused by "complex" terms leaking between different loop iterations
  • KT-78079 Enable generation of when using invokedynamic by default for JVM targets 21+
  • KT-86525 JvmExposeBoxed: Inconsistent number of parameters during reflection
  • KT-72999 K/N: Do not consider IrTypeOperatorCall as a tail call expression
  • KT-84802 Add new synthetic class flag to JVM metadata
  • KT-87606 Compiler crash on red code with redeclaration of type parameter which is used as expression
  • KT-85888 Native: incremental compilation blows up when a method changes from open to final
  • KT-87335 Context parameters: wrong LINENUMBER emitted for context argument loads in JVM bytecode
  • KT-84344 Disambiguate fake source elements for source-based symbol IDs
  • KT-86618 Collection literals: internal PCLA failure with reassignment
  • KT-85703 Drop pre-2.0 language features from K2 & common compiler code
  • KT-87245 Report UnsupportedFeature on ExplicitContextArgument
  • KT-80227 Support unnamed context parameters in evaluation
  • KT-72706 Confusing "INVISIBLE_REFERENCE" when calling private constructor
  • KT-86110 K/N Incremental compilation: stale cache is reused after enum entry reorder
  • KT-86133 K/N IC: stale cache is reused after reified inline body change
  • KT-30728 "VerifyError: Operand stack underflow" on crossinline lambda usage inside inline function in anonymous object
  • KT-87507 False-positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED on fake-override with value parameter of type missing in dependencies
  • KT-87439 Postpone UnitConversionsOnArbitraryExpressions indefinetely
  • KT-87434 JAVA_CLASS_ON_COMPANION not reported when companion accessed through typealias
  • KT-64622 [K/N] ar utility fails with symbol @ in module/klib name on Linux with static cache
  • KT-84037 Native: rework ar invocations in the compiler
  • KT-87339 JVM: Support recursive type provided as an argument of typeOf
  • KT-86551 Check suspicious when over ConeKotlinType in FirExposedVisibilityDeclarationChecker#findVisibilityExposure
  • KT-87395 StackOverflowError in return value checker when a Java class member is annotated with the class's own nested annotation
  • KT-87290 Investigate possible bug in value class deserialization
  • KT-61141 K/N: irText tests failed with K/N irText first run
  • KT-85764 Native: Prohibit compiling sources in 'kotlin' package by default
  • KT-86469 Check 'when's over 'ConeKotlinType' which could miss some branches in DFA
  • KT-87253 Missed ConeCapturedType check in processing of equals contracts
  • KT-84522 Refactor FirResolvedQualifier
  • KT-84299 resolvedToCompanionObject is not set in some situations
  • KT-87327 JVM IR: NullPointerException in JvmInlineClassLowering when using == between value of generic value class and another value class
  • KT-86948 Native: CastsOptimization merges results of type checks across loop iterations wrong
  • KT-86947 Native: CastsOptimization drops side effects of always-null safe casts
  • KT-87276 Drop or move ConeTypeCompatibilityChecker
  • KT-78623 No-arg constructor should be generated if all parameters are optional, even when one of the parameters is inline type
  • KT-86886 Kotlin Lombok: compiler crash with IllegalArgumentException on builder with a single type parameter
  • KT-83880 Consider making OPERATOR_RENAMED_ON_IMPORT a warning (instead of error)
  • KT-70461 K2: "Inline class types should have the same representation" caused by value class and smart check
  • KT-87140 K/N: Test generation leaks BaseClassSuite's INSTANCE type parameter
  • KT-87291 Enable ProhibitScriptTopLevelInnerClasses in 2.5
  • KT-87226 CompanionBlocksAndExtensions: COMPANION_EXTENSION_RECEIVER_IS_OBJECT diagnostic is absent when object used via typealias
  • KT-87058 Investigate abandoned language features
  • KT-86655 mismatched mutability annotations in overriding lead to misaligned behavior in warn-mode and strict-mode
  • KT-85169 Return value checker: RETURN_VALUE_NOT_USED: object expression highlighted entirely instead of just the keyword
  • KT-86464 Support isPublicAbi JVM metadata flag for anonymous and synthetic local classes
  • KT-87083 JVM: AssertionError in if UIntArray is declared in sources
  • KT-87032 JvmExposeBoxed: forbid private @JvmExposeBoxed declarations
  • KT-85954 Implicit JvmExposeBoxed leads to IOOBE when data class constructor accepts nullable inline class
  • KT-85955 Implicit JvmExposeBoxed: double default constructor parameter leads to IOOBE
  • KT-86523 JvmExposeBoxed: Cannot generate code for exposed constructor with default parameter referencing another default parameter
  • KT-86524 JvmExposeBoxed: Collection does not implement abstract method
  • KT-86526 JvmExposeBoxed: Sequence contains more than one matching element
  • KT-86865 Support abstract full value classes with non-trivial constructors
  • KT-87016 Drop ANNOTATION_ON_ANNOTATION_ARGUMENT diagnostic
  • KT-86615 K2: Missing INVALID_CHARACTERS diagnostic for enum entry name with illegal JVM characters, leading to runtime ClassFormatError
  • KT-86849 Remove old @JvmInline multi-field value classes
  • KT-87014 [KGP] failing testSwiftExportCoroutines
  • KT-86481 Compilation failure with spread arrayOf inside arrayOf
  • KT-86996 unwrapVarargValue does not consider some cases
  • KT-86955 K2: Companion block funs in interfaces have OPEN modality after Fir2IR
  • KT-87035 K2: Context parameter type leaks unsubstituted into callable-reference adapter
  • KT-86940 Diagnostic range of NONE_APPLICABLE in enum entry is hard to see
  • KT-86046 Put @K1Deprecation to all public declarations of K1 modules
  • KT-86555 CL-based annotation resolve: clean up CFG-related hacks
  • KT-86482 Collection literals: do not fallback if not supertype of List is expected
  • KT-84154 Invalid qualifiers with type arguments in package parts compile without diagnostics
  • KT-85288 Consider dropping use-site target checks in checkRepeatedAnnotation and similar places
  • KT-85469 Native: potential concurrency problem with caches
  • KT-81567 Add a use-site warning if a @DslMarker-marked annotation is used on entities where it is a no-op
  • KT-86853 FIR: Char.code not being const-evaluated under IntrinsicConstEvaluation feature
  • KT-86877 Postpone ELA-related language features
  • KT-86852 Initialize full value classes fields before calling super
  • KT-86824 Native: support spaces in paths for Linux
  • KT-85816 Drop remaining usages of ComponentRegistrar
  • KT-86534 Extract reworked annotations resolution under separate language feature
  • KT-82555 @Deprecated(HIDDEN)` objects not skipped when resolving qualifiers
  • KT-84626 Try to combine FirConstChecks and FirExpressionEvaluator
  • KT-85291 MFVC: consider analyzing the type of declaration instead of use-site target in AnnotationChecker
  • KT-86755 False negative NATIVE_SPECIFIC_ATOMIC in type arguments
  • KT-86752 K2: False negative NO_REFLECTION_IN_CLASS_PATH on type parameters, intersection types, captured types
  • KT-85972 [ArrayEqualityCanBeReplacedWithContentEquals checker] Checker misses smart-cast array operands when the original type is a type parameter
  • KT-85970 [ArrayEqualityCanBeReplacedWithContentEquals checker] Warning message mentions ==/=== instead of !=/!== for inequality operator
  • KT-86705 False positive REDUNDANT_SINGLE_EXPRESSION_STRING_TEMPLATE for nullable String? expressions with -Wextra
  • KT-86798 Native: don't use stale incremental cache when a new compiler version is used
  • KT-86298 LEAKED_IN_PLACE_LAMBDA when a lambda parameter is forwarded into an inline function parameter
  • KT-76632 K2: False positive "Assigned value is never read" with 'flatMap()'
  • KT-86699 Kotlin/Native: get rid of OptimizeTLSDataLoads
  • KT-86577 Companion block member is determined as a fake override
  • KT-86646 IllegalStateException "unknown supertype kind null" when compiling data class with definitely non-nullable type parameter (U : T & Any)
  • KT-86662 Check for loss of ConeIntersectionType.upperBoundForApproximation
  • KT-86629 Approximation of Intersection Type to Upper Bound is Broken by Bang Bang Operator
  • KT-86115 Platform declaration clash on no-arg constructor with @JvmExposeBoxed and @IntroducedAt
  • KT-86643 Warning for returning callsInPlace lambda
  • KT-86609 Make KDocSection implement PsiLanguageInjectionHost
  • KT-86642 Flexible type with nullable intersection types in both bounds
  • KT-85148 Native: check/fix KT-72710 Incorrect behaviour of tail call suspend functions optimization
  • KT-85230 False negative deprecation diagnostics on import of member of nested class
  • KT-62467 K2: Result type of elvis operator should be flexible if rhs is flexible
  • KT-86319 K2: StackOverflowError in AbstractConeSubstitutor with recursive Java type bound under mixed JSpecify @NullMarked/@NullUnmarked
  • KT-86512 K2: Bad IR for adapted callable reference to function with generic vararg and optional parameter
  • KT-85947 Collection literals: internal failure when SAM is expected
  • KT-85535 Collection literals: Migrate to new resolve in annotations under "-Xcollection-literals"
  • KT-86468 K2: False negative DSL_SCOPE_VIOLATION when type parameter has DSL-annotated bound
  • KT-86292 False negative: INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_WARNING reported for direct getValue call but not for equivalent by delegation
  • KT-86467 K2: False negative ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL with DNN, flexible, captured and intersection receiver types
  • KT-85848 Recursion on value classes through type parameters
  • KT-75874 K2: Adjust the type mismatch diagnostic on lambda parameters
  • KT-82456 K2. Missing deprecation for object with invoke
  • KT-86184 KDoc: syntax highlighting incorrect when @param, @return, or summary line begins with a backtick
  • KT-85454 Make :compiler:android-tests:test cacheable
  • KT-51400 Additional independent candidate with @OverloadResolutionByLambdaReturnType could change inference results
  • KT-86042 Inference fixes lambda's return type variable too early
  • KT-86327 Add flag to LanguageFeature enum to enable it in the latest language version tests
  • KT-84718 Provide information for simple names resolved through imports which might be resolved via context-sensitive in IDE mode
  • KT-75112 FE resolves wrong receivers order for property passed to delegate
  • KT-86191 Check not null on a dynamic-typed property leads to malformed CFG
  • KT-86143 operator keyword is allowed on arbitrary equals in enum entries
  • KT-73197 Order-dependent choice of overload by lambda return type with Unit
  • KT-86144 Unresolved code in ambiguous plus assign is not reported
  • KT-86006 CFG: Exponential growth when visiting unresolved delegates in FirLocalVariableAssignmentAnalyzer
  • KT-86103 Incorrectly reported CONFLICTING_OVERLOAD on companion member
  • KT-85965 Native: incremental compilation blows up with NoSuchFileException: class_fields
  • KT-86005 Fix misuse of DeferredMethodVisitor.intermediate in AnonymousObjectTransformer
  • KT-72840 [JVM Inliner] Two fails AFTER mandatory stack transformations: incorrect bytecode
  • KT-84589 Prohibit Array<Nothing> in lhs of ::class
  • KT-84766 Kotlin/Native: separate compiler cache for latin1Strings=true
  • KT-82899 Native IC: AIOOBE on coroutines
  • KT-85188 Don't poison binaries with companion blocks & extensions for LV >= 2.5
  • KT-80176 ASSERT FAILED: SDE.c : 296 - bad SourceDebugExtension syntax - position 376 - expected ':'
  • KT-84581 Inline function with @JvmOverloads produces SourceDebugExtension attribute with invalid line numbers
  • KT-85203 Kotlin/Native: "Invalid LLVM module - Instruction does not dominate all uses" with nested inline suspend functions and withContext
  • KT-85766 Confusing error message "'this' is not defined in this context" on companion extension delegated property
  • KT-85720 K2: Missing null check in generic vararg function call when passing value of flexible type
  • KT-85701 K2: Type parameter is out of bounds for IMPLICIT_DYNAMIC_CAST
  • KT-82196 False positive: "Recursive call is not a tail call" inside when/if with lambda and elvis
  • KT-85841 Error message for NULLABLE_ON_DEFINITELY_NOT_NULLABLE uses obsolete term for DNN types
  • KT-81932 False positive TAIL_RECURSION_IN_TRY_IS_NOT_SUPPORTED caused by try in another branch inside tailrec function
  • KT-78443 Refactor session component initialization for multi-target compilation
  • KT-85661 Lazy resolve for substituted property accessors with a contract doesn't work
  • KT-84719 Provide information for qualified types that might be replaced with context-sensitive simple names in IDE mode
  • KT-85667 Add experimental language version 2.6
  • KT-85770 Support companion block properties in interfaces
  • KT-85168 Generate static initializers as proper IR functions
  • KT-74516 False negative TYPE_PARAMETER_AS_REIFIED for DNN type
  • KT-85733 Illegal unqualified resolution to companion extension through scope linking
  • KT-85679 Internal Compiler Error when trying to access a value parameter from companion block
  • KT-85358 Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed
  • KT-81814 Field name '$$context-Functor#1' cannot be represented in dex format
  • KT-6071 Change USELESS_CAST warning message
  • KT-85626 @JvmRecord in commonMain breaks compileCommonMainKotlinMetadata with "Cannot access 'java.lang.Record'"
  • KT-85527 Unmute Android tests after removing IGNORE_BACKEND_K1 directive
  • KT-84939 Kotlin/Native: support llvm passes in -Xsave-llvm-ir-after
  • KT-85341 K2."TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM" false positive on accesses to properties of an anonymous object
  • KT-84861 Support Companion Blocks & Extensions in Scripts/REPL
  • KT-84327 Name-based destructuring conflicts with in-scope functions
  • KT-78678 Checking for nullable type against nullable type falls back to inline-when generation mechanism
  • KT-83652 Confusing messages when using package parts with type arguments in qualifiers
  • KT-75372 Deprecate K1 compiler
  • KT-80093 Type inference depends on the presence of transitive dependency
  • KT-68933 CompilationException: Back-end: Could not get inlined class
  • KT-63746 K2: JSpecify: If a class has a @Nullable type-parameter bound, Kotlin should still treat unbounded wildcards like platform types
  • KT-17738 Java cannot extend class implementing kotlin.collections.Map
Compose compiler
Fixes
  • b/549552317 Fixed a bug that, in certain cases, prevented execution of
    non-local return statements inside lambdas called from when
    expressions.
  • b/543684938 Fix composable singleton in function with type parameters
  • b/537617330 Fixed a bug that caused miscompilation of cross-module calls
    to getters and setters, causing spurious runtime errors.
  • b/522127447 Fixed a bug that was making the stability of pre-cast types be
    used in certain skipping checks instead of the stability of post-cast
    types
  • b/489339299 Move Compose runtime to a stable version
  • b/509945632 Always wrap inline lambdas with a composable group with a group
  • b/422193018 Fix callableInferenceNodeOf in ComposableTargetChecker.kt
IR. Inlining
  • KT-86558 Forbid accesing volatile references after inlining
  • KT-87272 IR: Function value is inlined with out-of-scope type parameter
  • KT-87274 IR: Synthetic accessors are generated with out of scope type parameters
  • KT-79065 Try to remove NativeRuntimeReflectionIrBuilder
  • KT-72464 [Native][JS][Wasm] Non-local return through suspend conversion breaks the IR inliner
IR. Tree
Fixes
  • KT-69305 Re-enable reporting out-of-scope type parameter usages during pre-lowering IR validation
  • KT-86943 Investigate if lambdas must be transformed into static or regular functions
  • KT-73921 False negative: tailrec checkers with recursive functions (without tail recursion)
  • KT-85896 Type parameter is out of bounds (in setter) for a property with context parameters
  • KT-85698 Type parameter is out of bounds (in setter) for an extension property with type parameter
  • KT-85575 KLIBs: Add IR text & ABI dump tests for companion blocks and companion extensions
  • KT-87138 IR: Rich callable reference to an inner-class member leaks outer class type parameters into the generated adapter
  • KT-74938 Use SYNTHETIC_OFFSET in IR fake overrides
  • KT-87105 [Tests][IR] Unify or split IR dump for different backends
  • KT-87292 IR: Drop lateinit modifier from IrFile.module property
  • KT-86884 IrTreeSymbolVisitor is not visiting symbols declared in non-final class
  • KT-85147 K/N: Segfault when calling SAM instance converted to type with nullable type parameter upper bound
  • KT-86527 Remove unreachable code from UpgradeCallableReferences
  • KT-85673 Replace classId with IrClassSymbol in IrAnnotation
  • KT-85572 KLIBs: New signatures for companion funs/vals
  • KT-78175 Remove remaining usages of attributeOwnerId outside of JVM backend
  • KT-85573 Store "companion parameter" in IR of funs/vals declared as companion extensions
JVM. Reflection
New Features
  • KT-73657 Fix kotlin-reflect performance issues for reflection operations common for both reflection implementation: stdlib and kotlin-reflect
Fixes
  • KT-86477 Reflection: test builtin class contents
  • KT-87369 Reflection: KClass.members fails on Java class with self-referential raw type bounds
  • KT-76521 Reflection: change KType representation to avoid dependency on K1
  • KT-85902 Reflection: support call/callBy for companion blocks & extensions
  • KT-85903 Reflection: do not inherit companion block members from supertypes in KClass.members
  • KT-86709 Reflection: KRIE with Reaktor on fresh master
  • KT-86101 Reflection: additional Java constructors are not added for mapped builtins in the new implementation
  • KT-86545 Reflection: extra Serializable supertype for non-mapped enum classes in "kotlin" package
  • KT-83677 Reflection: aliased extension function type is rendered as non-extension in toString
  • KT-85836 Reflection: KotlinReflectionInternalError on isSubtypeOf with definitely-not-null type
  • KT-83986 Reflection: java.io.Serializable is not shown in supertypes of Int type in new reflection
  • KT-84495 Reflection: "KotlinReflectionInternalError: Annotation class not found: kotlin/jvm/internal/EnhancedNullability" on Java Optional type
  • KT-86177 Reflection: incorrect modality of Java constructors in the new implementation
JavaScript
Fixes
  • KT-88571 K/JS: "llegalStateException: Internal error: cannot find external signature" caused by @Serializable enum in 2.4.20-RC
  • KT-87410 [K/JS] Companion block initialization order of super types differs from JVM
  • KT-86273 @JsExport.Ignore does not work properly with data classes properties
  • KT-85599 Allow exporting annotation classes into JS/TS
  • KT-86934 K/JS: Stack overflow when implementing interface with suspend fun using anonymous object
  • KT-80188 Design exporting of suspend lambdas into JS/TS
  • KT-87127 KJS: @JsPlainObject factory contains duplicated parameters
  • KT-70622 Kotlin/JS: Incremental compilation doesn't recompile kotlin js stdlib while changing a collection
  • KT-87307 [JS] Reflection: runtime KClass of a Long value differs from Long::class
  • KT-85990 K/JS: Default parameter values ignored in @JsStatic suspend functions when class is exported
  • KT-84992 Remove body of isLongCompiledToBigInt intrinsic after boostrap version updated
  • KT-40768 KJS: initialization order for companion objects (inherited classes) different from K/JVM
  • KT-87074 KJS: Fix inheritance issues in Analysis API-based TypeScript export
  • KT-75176 Add infrastructure for bu

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

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

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

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


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/kotlin-monorepo branch from 9dc2303 to 934bf33 Compare September 7, 2026 13:34
@renovate renovate Bot changed the title Update kotlin monorepo to v2.4.10 Update kotlin monorepo to v2.4.20 Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants