Skip to content

fix(deps): update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v2.4.20 [security] - autoclosed - #726

Closed
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/kotlin
Closed

fix(deps): update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v2.4.20 [security] - autoclosed#726
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/kotlin

Conversation

@renovate

@renovate renovate Bot commented Sep 7, 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:kotlin-gradle-plugin (source) 2.4.102.4.20 age confidence

JetBrains Kotlin: Unsafe Deserialization in Kotlin Build Cache Enables Code Execution

CVE-2026-53914 / GHSA-r937-wjx7-w2jp

More information

Details

In JetBrains Kotlin before 2.4.20 code execution was possible via unsafe deserialization in the build cache metadata

Severity

  • CVSS Score: 6.7 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:L/A:L

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

JetBrains/kotlin (org.jetbrains.kotlin:kotlin-gradle-plugin)

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](https://youtrack

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 is behind base branch, or you tick the rebase/retry checkbox.

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


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

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

@renovate
renovate Bot requested a review from stuebingerb as a code owner September 7, 2026 10:48
@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Sep 7, 2026
@renovate
renovate Bot requested a review from mervyn-mccreight as a code owner September 7, 2026 10:48
@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Sep 7, 2026
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

🐰 Bencher Report

ProjectKGraphQL
Branchrenovate/kotlin
Testbedubuntu-latest
Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s)
(Result Δ%)
Lower Boundary
operations / second (ops/s)
(Limit %)
de.stuebingerb.kgraphql.FunctionExecutionBenchmark.benchmarkFunctionExecution📈 view plot
🚷 view threshold
5,912,726.65 ops/s
(+3.22%)Baseline: 5,728,378.73 ops/s
4,738,822.26 ops/s
(80.15%)
de.stuebingerb.kgraphql.ParallelExecutionBenchmark.queryBenchmark📈 view plot
🚷 view threshold
1.30 ops/s
(+0.04%)Baseline: 1.30 ops/s
1.30 ops/s
(99.78%)
de.stuebingerb.kgraphql.QueryBenchmark.executionError📈 view plot
🚷 view threshold
15,644.73 ops/s
(-13.27%)Baseline: 18,038.23 ops/s
10,816.52 ops/s
(69.14%)
de.stuebingerb.kgraphql.QueryBenchmark.inputFromDocument📈 view plot
🚷 view threshold
19,213.79 ops/s
(-12.73%)Baseline: 22,017.62 ops/s
14,257.11 ops/s
(74.20%)
de.stuebingerb.kgraphql.QueryBenchmark.inputFromVariable📈 view plot
🚷 view threshold
19,288.81 ops/s
(-9.67%)Baseline: 21,353.20 ops/s
13,936.27 ops/s
(72.25%)
de.stuebingerb.kgraphql.QueryBenchmark.largeList📈 view plot
🚷 view threshold
4.79 ops/s
(+1.72%)Baseline: 4.71 ops/s
3.97 ops/s
(82.91%)
de.stuebingerb.kgraphql.QueryBenchmark.largeListWithFragment📈 view plot
🚷 view threshold
5.21 ops/s
(-0.61%)Baseline: 5.24 ops/s
4.48 ops/s
(86.03%)
de.stuebingerb.kgraphql.QueryBenchmark.manyChildren📈 view plot
🚷 view threshold
177.67 ops/s
(-3.35%)Baseline: 183.82 ops/s
136.80 ops/s
(77.00%)
de.stuebingerb.kgraphql.QueryBenchmark.manyChildrenWithFragment📈 view plot
🚷 view threshold
196.34 ops/s
(+0.35%)Baseline: 195.65 ops/s
146.36 ops/s
(74.55%)
de.stuebingerb.kgraphql.QueryBenchmark.manyDataChildren📈 view plot
🚷 view threshold
8.91 ops/s
(+0.00%)Baseline: 8.91 ops/s
8.77 ops/s
(98.41%)
de.stuebingerb.kgraphql.QueryBenchmark.manyOperations📈 view plot
🚷 view threshold
319.01 ops/s
(+4.12%)Baseline: 306.40 ops/s
234.21 ops/s
(73.42%)
de.stuebingerb.kgraphql.QueryBenchmark.manyOperationsWithFragment📈 view plot
🚷 view threshold
313.91 ops/s
(-0.42%)Baseline: 315.25 ops/s
246.91 ops/s
(78.66%)
de.stuebingerb.kgraphql.QueryBenchmark.nestedObject📈 view plot
🚷 view threshold
7,645.60 ops/s
(-4.10%)Baseline: 7,972.47 ops/s
5,896.45 ops/s
(77.12%)
de.stuebingerb.kgraphql.RequestCachingBenchmark.invalidRequest📈 view plot
🚷 view threshold
135,816.98 ops/s
(-4.79%)Baseline: 142,645.46 ops/s
126,051.63 ops/s
(92.81%)
de.stuebingerb.kgraphql.RequestCachingBenchmark.largeRequest📈 view plot
🚷 view threshold
7,759.18 ops/s
(-5.58%)Baseline: 8,217.48 ops/s
5,841.16 ops/s
(75.28%)
de.stuebingerb.kgraphql.RequestCachingBenchmark.smallRequest📈 view plot
🚷 view threshold
10,926.21 ops/s
(-7.65%)Baseline: 11,830.79 ops/s
8,195.10 ops/s
(75.00%)
de.stuebingerb.kgraphql.SimpleExecutionOverheadBenchmark.benchmark📈 view plot
🚷 view threshold
463,956.02 ops/s
(-2.88%)Baseline: 477,733.52 ops/s
414,077.58 ops/s
(89.25%)
🐰 View full continuous benchmarking report in Bencher

@renovate renovate Bot changed the title fix(deps): update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v2.4.20 [security] fix(deps): update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v2.4.20 [security] - autoclosed Sep 8, 2026
@renovate renovate Bot closed this Sep 8, 2026
@renovate
renovate Bot deleted the renovate/kotlin branch September 8, 2026 11:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants