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
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-87221 [Swift Export] abstract class with inherited interface fails to compile
KT-87229 [Swift Export] OptIn property inside interface fails to compile
KT-86463 Swift Export: nested sealed interface in kotlinx-datetime (DateTimeFormatBuilder.WithDate) is referenced but never emitted, causing Swift compile error
KT-87088 Protocols that came from cinterop should lose the Protocol suffix
KT-87150 [Swift Export] member function with param named result fails to compile
KT-87144 [Swift Export] nullable closure in member function fails to compile
KT-87106 [Swift Export] suspend closure with context parameter fails to compile
KT-86780 Native: Swift Export coroutines tests are flaky on the CI
KT-87022 [Swift Export] Optional Range results in incompilable code
KT-86650 [Swift Export] Trampoulinebuilding for a function with changed argument name produces incorrect code.
KT-85870 [Swift Export] Invalid unavailability propagation to protocol members
KT-85918 [Swift Export] unavailable operator function fails to compile
KT-85869 [Swift Export] release function conflicts with unavailable NSObject.release
KT-85868 [Swift Export] Factory function conflicts with class name
KT-85871 [Swift Export] 'AbstractCoroutineContextKey' is inaccessible due to '@_spi' protection level
KT-86473 Report usages of removed CLI arguments as warnings
KT-86202 Warn against disabling a language feature with a parametrized compiler argument that's already stable
Performance Improvements
KT-87868 In-process compilation via CLI/Build Tools API pays a large ThreadMXBean.getCurrentThreadUserTime penalty on Linux: PerformanceManager.measureSideTime measures unconditionally around every class file read
Fixes
KT-88475 IncrementalCompilationComponents instances are not being called anymore
KT-86985 Can't use @JvmName on class member properties of JPA entities even when using the 'final' modifier
KT-86286all-open plugin makes @JvmRecord classes non-final, causing compilation error "'@JvmRecord' class must be final"
KT-86774 PowerAssert: allow changing the last parameter to a different type if not specified
KT-86620 Lombok incorrectly detects clashing constructor with varargs argument
KT-86773 PowerAssert: sorting of possible overloads
KT-83121 Lombok. A constructor without parameters is available for a class with @Data and staticConstructor
KT-84059 Lombok. CANNOT_INFER_PARAMETER_TYPE for toBuilder function if @Builder is applied to a generic class
KT-84058 Lombok. NoSuchMethodError for the builder function when @Builder is applied to the method
KT-86058 Check the frontend-owned plugins for the Companion blocks and extensions
KT-86065 Scripting plugin adds HashMap<K, V> (with HashMap's own out-of-scope type parameters) as a supertype of the synthetic REPL state class
KT-86064 Plugin sandbox generates IrClassReferenceImpl typed as KClass<T> where T is KClass's own type parameter
KT-86063 PowerAssert plugin generates IR call to listOf<T> with an out-of-scope type parameter as its type
KT-86070 PowerAssert: Enum entries should not be displayed
KT-85472 Compiler crash if use unexpected value of AccessLevel in a lombok annotation
KT-85693 Don't generate declarations with NONE access level
Tools. Compiler plugins. Compose
KT-88028 Compose compiler: IndexOutOfBoundsException in ComposableTargetAnnotationsTransformer when overriding a @Composable function with default parameter in another module
KT-87326 Compose compiler plugin: NoClassDefFoundError / IrLinkageError at runtime when calling @Composable interface method with default parameter across modules
Tools. Compiler plugins. Serialization
KT-86224 Serialization plugin generates IR with out-of-scope type parameters
Tools. Daemon
KT-71048 KotlinCompileDaemon compatibility not discriminated by JVM version
KT-75840 Almost dead daemons are considered in the daemon elections
KT-85634 -Xwarning-level warnings are escalated to errors when -Werror is enabled in BTA daemon mode
Tools. Gradle
New Features
KT-80509 Gradle: implement metadata compilation through BTA
KT-78216 Gradle: implement Kotlin/Wasm compilation and linking through BTA
KT-78214 Gradle: implement Kotlin/JS compilation and linking through BTA
KT-86118 CRI: Enabling kotlin.compiler.generateCompilerRefIndex does not invalidate compileKotlin UP-TO-DATE state
KT-85901 [Gradle] Refactor KGP functional test task configuration to use file-backed system properties
KT-66381 Build reports in JSON: incorrect path to a json build report is printed to build output if a relative path defined as a value for kotlin.build.report.json.directory property
KT-55452 Values of the compiler arguments set via KotlinCompile task configuration are duplicated by the KaptGenerateStubs task
KT-57653 Explicit API mode is not enabled when free compiler arguments are specified in Gradle project
Tools. Gradle. Compiler plugins
KT-84811 PowerAssert: Gradle configuration option for default sourcesets to transform
Tools. Gradle. JS
New Features
KT-87484 Update Browser JS Test DSL after DM for 2.4.20-Beta2
KT-86260 Integrate Playwright with JS Tests pipeline
KT-86707 Cover new Browser Js Test DSL with diagnostics and invariant checks
KT-86715 Add ability to configure Dev-server URL (or specification) to run browser tests from
KT-87483 Mark parts of JS Test DSL with DelicateAPI
KT-86630 Introduce mocha browser runner for kotlin test as part of kotlin-web-helpers
Fixes
KT-87647 Upgrade tooling NPM dependencies versions for 2.4.20
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [org.jetbrains.kotlin.jvm](https://kotlinlang.org/) ([source](https://github.com/JetBrains/kotlin)) | plugin | patch | `2.4.10` → `2.4.20` |
| [org.jetbrains.kotlin:kotlin-stdlib-jdk8](https://kotlinlang.org/) ([source](https://github.com/JetBrains/kotlin)) | dependencies | patch | `2.4.10` → `2.4.20` |
---
### Release Notes
<details>
<summary>JetBrains/kotlin (org.jetbrains.kotlin.jvm)</summary>
### [`v2.4.20`](https://github.com/JetBrains/kotlin/blob/HEAD/ChangeLog.md#2420)
##### Analysis API
- [`KT-86546`](https://youtrack.jetbrains.com/issue/KT-86546) Check suspicious when over ConeKotlinType in ConeTypeCompatibilityChecker
- [`KT-85418`](https://youtrack.jetbrains.com/issue/KT-85418) Implement an API for accessing deserialized file annotations in Analysis API
- [`KT-74448`](https://youtrack.jetbrains.com/issue/KT-74448) K2. False positive MISSING\_DEPENDENCY\_SUPERCLASS in LinkedListTest.kt, kotlinx.coroutines
- [`KT-85856`](https://youtrack.jetbrains.com/issue/KT-85856) containingSymbol of constructor property differs for local and non-local classes
- [`KT-65417`](https://youtrack.jetbrains.com/issue/KT-65417) K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source sets
##### Analysis API. Code Compilation
- [`KT-76457`](https://youtrack.jetbrains.com/issue/KT-76457) K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm
##### Analysis API. FIR
- [`KT-70552`](https://youtrack.jetbrains.com/issue/KT-70552) No expects for actual
- [`KT-69727`](https://youtrack.jetbrains.com/issue/KT-69727) K2 IDE. Wrong error in the editor on calling `clone` function of actual enum instance in non-jvm platform
- [`KT-69726`](https://youtrack.jetbrains.com/issue/KT-69726) FP errors on declaring `fun clone()` in actual enum in not-jvm source-set
- [`KT-86014`](https://youtrack.jetbrains.com/issue/KT-86014) Types are broken after remove parameter through change signature
- [`KT-86363`](https://youtrack.jetbrains.com/issue/KT-86363) KotlinIllegalArgumentExceptionWithAttachments: No dangling modifier found on companion blocks
- [`KT-86147`](https://youtrack.jetbrains.com/issue/KT-86147) Drop `kotlin.parallel.resolve.under.global.lock` registry key
- [`KT-85543`](https://youtrack.jetbrains.com/issue/KT-85543) Avoid lazy resolve for the contracts phase if no constracts might be resolved
##### Analysis API. Infrastructure
- [`KT-84914`](https://youtrack.jetbrains.com/issue/KT-84914) Do not publish analysis-api-test-framework
- [`KT-86986`](https://youtrack.jetbrains.com/issue/KT-86986) `kotlin-compiler-common-for-ide` bundles unrelated Analysis API modules
- [`KT-86186`](https://youtrack.jetbrains.com/issue/KT-86186) Analysis API: Codebase tests run twice in some analysis modules — pick a single JUnit runner and migrate
- [`KT-85360`](https://youtrack.jetbrains.com/issue/KT-85360) Drop kotlin-compiler-testdata-for-ide artifact
- [`KT-85585`](https://youtrack.jetbrains.com/issue/KT-85585) Simplify the dependencies graph for the Analysis API modules
- [`KT-85381`](https://youtrack.jetbrains.com/issue/KT-85381) Remove tests for the FE10 implementation
##### Analysis API. Light Classes
##### New Features
- [`KT-84645`](https://youtrack.jetbrains.com/issue/KT-84645) Support resolving to companion block members & extensions from Java (light classes)
- [`KT-80775`](https://youtrack.jetbrains.com/issue/KT-80775) Support PsiClass#getRecordComponents in light classes
##### Fixes
- [`KT-57537`](https://youtrack.jetbrains.com/issue/KT-57537) SLC: propagate default parameter value from (`@JvmOverloads`) `expect` declarations to `actual` declarations
- [`KT-85040`](https://youtrack.jetbrains.com/issue/KT-85040) \[Analysis API] Improve Java / Kotlin interop in KMP projects
- [`KT-87301`](https://youtrack.jetbrains.com/issue/KT-87301) SymbolLightAccessorMethod#isValid returns false for delegated properties
- [`KT-87171`](https://youtrack.jetbrains.com/issue/KT-87171) SLC: non-mapped Kotlin collection supertype is dropped from supertype list
- [`KT-87250`](https://youtrack.jetbrains.com/issue/KT-87250) JvmExposeBoxed: light classes shouldn't be autogenerated for private declarations
- [`KT-70428`](https://youtrack.jetbrains.com/issue/KT-70428) AA: good code is red when a Java class extends a Kotlin class implementing MutableList by delegation
- [`KT-63568`](https://youtrack.jetbrains.com/issue/KT-63568) Symbol Light Classes: KtAnnotationApplicationWithArgumentsInfo.normalizedArguments() may work incorrectly when psi is not set
- [`KT-36740`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-67749) Analysis API: Symbol Light classes should be available only to pure JVM sources
- [`KT-68169`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-37783) KMP Java Interop: JVM-only methods on actual superclass not resolved in Java for common subclass
- [`KT-40059`](https://youtrack.jetbrains.com/issue/KT-40059) Provide type correction for expect/actual types used from Java-code
- [`KT-71429`](https://youtrack.jetbrains.com/issue/KT-71429) MPP: False positive "Function1 is not a functional interface" when calling code from Common in Java
- [`KT-70426`](https://youtrack.jetbrains.com/issue/KT-70426) SLC: kotlin.Collection#size is not exposed by default
- [`KT-60480`](https://youtrack.jetbrains.com/issue/KT-60480) Symbol Light Classes: Classes implementing kotlin.collections.\* interfaces don't implement all methods from the corresponding java.util.\* interfaces
- [`KT-36991`](https://youtrack.jetbrains.com/issue/KT-36991) IDE: "both methods have same erasure" for Java classes directly or indirectly extending Kotlin collections
- [`KT-22594`](https://youtrack.jetbrains.com/issue/KT-22594) KotlinCollection.getSize is not highlighted as an error in Java
##### Analysis API. PSI
- [`KT-84925`](https://youtrack.jetbrains.com/issue/KT-84925) Move KtReference to the Kotlin IntelliJ plugin
- [`KT-85052`](https://youtrack.jetbrains.com/issue/KT-85052) Move mutation methods out of the Kotlin PSI
- [`KT-85427`](https://youtrack.jetbrains.com/issue/KT-85427) Use factory-like pattern instead of reflection in KtNodeType
- [`KT-84789`](https://youtrack.jetbrains.com/issue/KT-84789) Ensure all `KtClassBody.parent` usages are correct
- [`KT-85154`](https://youtrack.jetbrains.com/issue/KT-85154) PSI: "AE: parent is ERROR\_ELEMENT" with top-level destructuring declaration
##### Analysis API. Providers and Caches
- [`KT-82220`](https://youtrack.jetbrains.com/issue/KT-82220) Analysis API: Support platform-specific session components and checkers in metadata sessions
- [`KT-76526`](https://youtrack.jetbrains.com/issue/KT-76526) Incorrect built-in module is provided for non-JVM sources in Standalone
##### Analysis API. Standalone
- [`KT-83191`](https://youtrack.jetbrains.com/issue/KT-83191) Analysis API: JvmDependenciesIndexImpl performs very poorly for large classpaths
- [`KT-61404`](https://youtrack.jetbrains.com/issue/KT-61404) Analysis API: implement proper library publishing structure
- [`KT-85112`](https://youtrack.jetbrains.com/issue/KT-85112) AA does not see packages from unpacked klibs
- [`KT-86417`](https://youtrack.jetbrains.com/issue/KT-86417) Support parameters in 'getExpectsForActual()'
- [`KT-84916`](https://youtrack.jetbrains.com/issue/KT-84916) Metadata stub deserializers aren't properly set up for Analysis API Standalone
##### Analysis API. Stubs and Decompilation
- [`KT-86250`](https://youtrack.jetbrains.com/issue/KT-86250) KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtDestructuringDeclaration on destructuring declaration typing
- [`KT-86520`](https://youtrack.jetbrains.com/issue/KT-86520) KotlinDeclarationInCompiledFileSearcher doesn't support visibility-mangled declarations
- [`KT-64901`](https://youtrack.jetbrains.com/issue/KT-64901) Inconsistency between AST and Stub tree in the case of non-local destructuring declarations
- [`KT-84444`](https://youtrack.jetbrains.com/issue/KT-84444) Support stubs for companion blocks & extensions
##### Analysis API. Surface
##### New Features
- [`KT-73214`](https://youtrack.jetbrains.com/issue/KT-73214) Add `KaScope#declarations` with name filter
- [`KT-69085`](https://youtrack.jetbrains.com/issue/KT-69085) Provide API to retrieve label/name from KtFunctionLikeSymbol
- [`KT-70771`](https://youtrack.jetbrains.com/issue/KT-70771) KaLocalVariableSymbol: support `isDelegatedProperty`
- [`KT-85037`](https://youtrack.jetbrains.com/issue/KT-85037) Add API for KaFunctionType's returnType modification
- [`KT-80460`](https://youtrack.jetbrains.com/issue/KT-80460) AA: Introduce `KtExpression.isStableForSmartCasting` API
- [`KT-66566`](https://youtrack.jetbrains.com/issue/KT-66566) AA: api to create functional types
- [`KT-65912`](https://youtrack.jetbrains.com/issue/KT-65912) Analysis API: Implement type building API for all KtType
##### Performance Improvements
- [`KT-70021`](https://youtrack.jetbrains.com/issue/KT-70021) Analysis API: optimize KaFirExpressionTypeProvider.expressionType for simple cases
##### Fixes
- [`KT-66039`](https://youtrack.jetbrains.com/issue/KT-66039) K2: Analysis API: redesign resolution API
- [`KT-86394`](https://youtrack.jetbrains.com/issue/KT-86394) Resolve from KDoc reference is inconsistent with source code
- [`KT-87337`](https://youtrack.jetbrains.com/issue/KT-87337) Integrate KaContextParameterOwnerSymbol into KaCallableSymbol
- [`KT-78234`](https://youtrack.jetbrains.com/issue/KT-78234) Analysis API: Context parameters for accessors
- [`KT-86786`](https://youtrack.jetbrains.com/issue/KT-86786) Investigate suspicious when over ConeKotlinType in ConeKotlinType.getDirectSupertypes
- [`KT-72902`](https://youtrack.jetbrains.com/issue/KT-72902) Shouldn't `KaSymbolProvider#findClass` return `KaNamedClassSymbol`?
- [`KT-87237`](https://youtrack.jetbrains.com/issue/KT-87237) No expected type inside `arrayOf` in annotation entries
- [`KT-87143`](https://youtrack.jetbrains.com/issue/KT-87143) `findKDoc` returns parent property KDoc for accessors of an overriding property
- [`KT-83224`](https://youtrack.jetbrains.com/issue/KT-83224) Support "Compile-time functions" in the Analysis API
- [`KT-87174`](https://youtrack.jetbrains.com/issue/KT-87174) Expected class KaFirSymbol instead of class KaFirPackageSymbol exception
- [`KT-87199`](https://youtrack.jetbrains.com/issue/KT-87199) \[Analysis API] Remove `KaEnumEntryInitializerSymbol`
- [`KT-85382`](https://youtrack.jetbrains.com/issue/KT-85382) Remove the FE10 implementation
- [`KT-70774`](https://youtrack.jetbrains.com/issue/KT-70774) Unary operators on literals are not resolvable
- [`KT-85206`](https://youtrack.jetbrains.com/issue/KT-85206) Provide information about potentially removable context-sensitive resolution qualifiers via Analysis API
- [`KT-86872`](https://youtrack.jetbrains.com/issue/KT-86872) `KtOperationReferenceExpression` should be `KtResolvableCall`
- [`KT-85800`](https://youtrack.jetbrains.com/issue/KT-85800) Analysis API: The internal utility `PrettyPrinter` is used in the public API surface
- [`KT-73796`](https://youtrack.jetbrains.com/issue/KT-73796) Consider "KaAnnotation#useSiteTarget" removal
- [`KT-70794`](https://youtrack.jetbrains.com/issue/KT-70794) K2 IDE: Reference to object does not resolve as LHS in "plusAssign" assignment expression
- [`KT-86757`](https://youtrack.jetbrains.com/issue/KT-86757) Flaky annotations result for `@all` annotation on a backing field
- [`KT-86681`](https://youtrack.jetbrains.com/issue/KT-86681) \[Analysis API] Move `isDelegated` to `KaVariableSymbol`
- [`KT-86685`](https://youtrack.jetbrains.com/issue/KT-86685) collectCallCandidates works incorrectly for a constructor vs. a companion invoke
- [`KT-86514`](https://youtrack.jetbrains.com/issue/KT-86514) No expected type within collection literal in annotation entry using array rather than varargs
- [`KT-76076`](https://youtrack.jetbrains.com/issue/KT-76076) K2 AA: safe call expression navigates to parent array index access expression
- [`KT-86418`](https://youtrack.jetbrains.com/issue/KT-86418) Support property accessors in 'getExpectsForActual()'
- [`KT-71312`](https://youtrack.jetbrains.com/issue/KT-71312) `KaFirPsiJavaClassSymbol.{hasAnnotations, annotationSimpleNames}` is inconsistent with `FirJavaClass` implementation
- [`KT-86248`](https://youtrack.jetbrains.com/issue/KT-86248) `isUsedAsExpression` true for typealias lhs in ::
- [`KT-85778`](https://youtrack.jetbrains.com/issue/KT-85778) Analysis API: Ensure that all public endpoints in implementation modules are internal or opt-in
- [`KT-78285`](https://youtrack.jetbrains.com/issue/KT-78285) resolveToCallCandidates inconsistent behaviour with invoke operator and constructor
- [`KT-85852`](https://youtrack.jetbrains.com/issue/KT-85852) CCE in buildClassType
- [`KT-85989`](https://youtrack.jetbrains.com/issue/KT-85989) Super type references should be aware of type alias constructors
- [`KT-84184`](https://youtrack.jetbrains.com/issue/KT-84184) \[Analysis API] Provide a unification substitutor API
- [`KT-84584`](https://youtrack.jetbrains.com/issue/KT-84584) Support companion extensions and blocks in the Analysis API
- [`KT-84932`](https://youtrack.jetbrains.com/issue/KT-84932) Deprecate utilities exposed through analysis-internal-utils
- [`KT-73059`](https://youtrack.jetbrains.com/issue/KT-73059) Consider dropping of KaOriginalPsiProvider
- [`KT-73050`](https://youtrack.jetbrains.com/issue/KT-73050) `KaFirSymbolRelationProvider#expectsForActual`: suspicius logic for KaReceiverParameterSymbol
- [`KT-71101`](https://youtrack.jetbrains.com/issue/KT-71101) \[AA] Consider getting rid of KaTypeNullability
##### Backend. J2KLIB
- [`KT-88165`](https://youtrack.jetbrains.com/issue/KT-88165) Add Support for -XheaderModeType=compilation to improve header compilation performance
- [`KT-86239`](https://youtrack.jetbrains.com/issue/KT-86239) \[JKLIB] Investigate which type system context is needed in JklibIrLinker
- [`KT-88306`](https://youtrack.jetbrains.com/issue/KT-88306) \[JKLIB] Unbound symbols for kotlin.coroutines.SuspendFunctionN
- [`KT-88120`](https://youtrack.jetbrains.com/issue/KT-88120) \[JKLIB] Add -jvm-target to K2JKlibCompilerArguments
- [`KT-88176`](https://youtrack.jetbrains.com/issue/KT-88176) \[JKLIB] DeserializationStrategy.WITH\_INLINE\_BODIES when deserializaing dependencies
- [`KT-88163`](https://youtrack.jetbrains.com/issue/KT-88163) Allow to disable firAggressivePrunner for Jklib
##### Backend. Native. Debug
- [`KT-85264`](https://youtrack.jetbrains.com/issue/KT-85264) \[Native] Stepping trace starts with `// test.kt:1 box` in some debug stepping tests
- [`KT-81740`](https://youtrack.jetbrains.com/issue/KT-81740) Native: importing konan\_lldb.py to lldb prints a warning
##### Backend. Wasm
##### Fixes
- [`KT-73452`](https://youtrack.jetbrains.com/issue/KT-73452) K/Wasm: turning on range checks by default
- [`KT-83171`](https://youtrack.jetbrains.com/issue/KT-83171) K/Wasm: Investigate import.meta usage in mjs files
- [`KT-83159`](https://youtrack.jetbrains.com/issue/KT-83159) K/Wasm: generate one common base class fun interfaces (including Function\*)
- [`KT-82843`](https://youtrack.jetbrains.com/issue/KT-82843) K/Wasm: pass a lambda call helpers to convert funs as an argument instead of exporting them
- [`KT-86123`](https://youtrack.jetbrains.com/issue/KT-86123) \[Wasm] Callable reference refactoring (KT-83159) broke klib binary compatibility with libraries compiled by Kotlin 2.0.x
- [`KT-83356`](https://youtrack.jetbrains.com/issue/KT-83356) K/Wasm: Difference in behavior on nested class initialization (for enums?)
- [`KT-87639`](https://youtrack.jetbrains.com/issue/KT-87639) \[Wasm] Multimodule wasm fails on Pointer usages
- [`KT-87583`](https://youtrack.jetbrains.com/issue/KT-87583) Wasm IC cache is not invalidated when kotlin.wasm.compilationMode changes causing IndexOutOfBoundsException in WasmDeserializer
- [`KT-84267`](https://youtrack.jetbrains.com/issue/KT-84267) K/Wasm: init order of companion objects is different from JVM
- [`KT-86192`](https://youtrack.jetbrains.com/issue/KT-86192) K/Wasm: Raise a warning on usage of top-level require in JsFun
- [`KT-86242`](https://youtrack.jetbrains.com/issue/KT-86242) K/Wasm: deprecate and prohibit using `wasmExports`
- [`KT-86245`](https://youtrack.jetbrains.com/issue/KT-86245) K/Wasm: provide an API to get a reference to wasm memory
- [`KT-84610`](https://youtrack.jetbrains.com/issue/KT-84610) \[Wasm] Failed to compile klibs in IC mode
- [`KT-87078`](https://youtrack.jetbrains.com/issue/KT-87078) Wasm/JS: OutOfMemoryError (or BufferUnderflowException) during incremental compilation of multiple files with `@JsExport`
- [`KT-76207`](https://youtrack.jetbrains.com/issue/KT-76207) K/Wasm: prototype generating suspend functions with stack-switching proposal
- [`KT-86166`](https://youtrack.jetbrains.com/issue/KT-86166) \[Wasm] Make possible to have passing test in multimodule but having it fail in monolith
- [`KT-71039`](https://youtrack.jetbrains.com/issue/KT-71039) \[Wasm, IC] Investigate synthetic function types loading
- [`KT-71505`](https://youtrack.jetbrains.com/issue/KT-71505) \[Wasm, IC] Incremental step can produce wrong main function call
- [`KT-86822`](https://youtrack.jetbrains.com/issue/KT-86822) K/Wasm: don't cast the result of calling callable references with Unit return type
- [`KT-86180`](https://youtrack.jetbrains.com/issue/KT-86180) \[Wasm] backward compatibility is broken in 2.1->2.2 by changed order of type parameters
- [`KT-86640`](https://youtrack.jetbrains.com/issue/KT-86640) \[wasm]: Single-module test failures with companion object initializers
- [`KT-66105`](https://youtrack.jetbrains.com/issue/KT-66105) Wasm: SyntaxError: Identifier 'box' has already been declared
- [`KT-83245`](https://youtrack.jetbrains.com/issue/KT-83245) K/Wasm: Run stepping tests with local variables with K/Wasm
- [`KT-86478`](https://youtrack.jetbrains.com/issue/KT-86478) K/Wasm JS: StringBuilder.setLength crashes when growing with js-string builtins
- [`KT-84667`](https://youtrack.jetbrains.com/issue/KT-84667) wasm: Add general support for custom sections/annotations
- [`KT-85506`](https://youtrack.jetbrains.com/issue/KT-85506) \[Wasm/WASI] Stdlib readLn and readlnOrNull implementation
- [`KT-85270`](https://youtrack.jetbrains.com/issue/KT-85270) K/Wasm: incremental compilation fails with NoSuchElementException when a stdlib call is removed
##### Compiler
##### New Features
- [`KT-73431`](https://youtrack.jetbrains.com/issue/KT-73431) Unresolved reference errors should state the type they're acting on
- [`KT-80373`](https://youtrack.jetbrains.com/issue/KT-80373) Add initial support for release compiler caches
- [`KT-84618`](https://youtrack.jetbrains.com/issue/KT-84618) Emit a warning when an undesrcore variable is assigned to a Unit expression
- [`KT-86409`](https://youtrack.jetbrains.com/issue/KT-86409) \[KMP] Create JVM IC metadata output
- [`KT-84295`](https://youtrack.jetbrains.com/issue/KT-84295) Support Companion Block `of` Operator for Collection Literals
- [`KT-84956`](https://youtrack.jetbrains.com/issue/KT-84956) Resolve of references to static & companion object members of generic class
- [`KT-85925`](https://youtrack.jetbrains.com/issue/KT-85925) Native: rework virtual trampolines machinery
- [`KT-86657`](https://youtrack.jetbrains.com/issue/KT-86657) Native: turn on incremental compilation by default
- [`KT-86018`](https://youtrack.jetbrains.com/issue/KT-86018) Short-form of name-based destructuring for multi-field value classes
- [`KT-86406`](https://youtrack.jetbrains.com/issue/KT-86406) Swift Export: support supercalls for cross-language inheritance
- [`KT-77616`](https://youtrack.jetbrains.com/issue/KT-77616) Native: consider adding an annotation that enforces thread state switching for a `@SymbolName` external fun\`
- [`KT-86410`](https://youtrack.jetbrains.com/issue/KT-86410) \[KMP] Implement acceptance of JVM IC metadata from previous compilation
- [`KT-85593`](https://youtrack.jetbrains.com/issue/KT-85593) ELA: Support multiple lambda arguments
- [`KT-83040`](https://youtrack.jetbrains.com/issue/KT-83040) Collection literals: ensure normal interaction with CFG
- [`KT-84333`](https://youtrack.jetbrains.com/issue/KT-84333) Collection literals: type inference in delegate expression
- [`KT-84289`](https://youtrack.jetbrains.com/issue/KT-84289) Resolution to Companion Block & Extension Invoke Operator
- [`KT-82961`](https://youtrack.jetbrains.com/issue/KT-82961) Type inference from upper type for type parameters designed for tracking of checked exceptions
- [`KT-81444`](https://youtrack.jetbrains.com/issue/KT-81444) False positive: "Overload resolution ambiguity" with `@OverloadResolutionByLambdaReturnType` and multiple lambda parameters
- [`KT-75736`](https://youtrack.jetbrains.com/issue/KT-75736) Enable reading/writing annotations in metadata on JVM by default
##### Performance Improvements
- [`KT-85621`](https://youtrack.jetbrains.com/issue/KT-85621) Native: fix optimization in CastsOptimization
- [`KT-69758`](https://youtrack.jetbrains.com/issue/KT-69758) FastJarFS - avoid copying data on inflating (JDK 16+)
- [`KT-85647`](https://youtrack.jetbrains.com/issue/KT-85647) Compilation performance regression in AbstractFirDeserializedSymbolProvider since 2.3.20
- [`KT-86104`](https://youtrack.jetbrains.com/issue/KT-86104) \[JVM] use static methods/fields of KTypeProjection in typeOf generated bytecode
- [`KT-86084`](https://youtrack.jetbrains.com/issue/KT-86084) IDEA freezes when a lot of properties are modified to lazy delegates
- [`KT-83068`](https://youtrack.jetbrains.com/issue/KT-83068) Investigate long compilation times with many generics & overloads
- [`KT-66469`](https://youtrack.jetbrains.com/issue/KT-66469) Long compilation with mockk import
- [`KT-79677`](https://youtrack.jetbrains.com/issue/KT-79677) Remove meaningless LVT records
##### Fixes
- [`KT-88953`](https://youtrack.jetbrains.com/issue/KT-88953) CCE caused by suspend conversion of nullable argument to nullable expected type
- [`KT-85842`](https://youtrack.jetbrains.com/issue/KT-85842) Collection literals (and CSR): internal failure when lambda is analyzed during inference of outer call
- [`KT-86751`](https://youtrack.jetbrains.com/issue/KT-86751) IntroducedAt: Do not generate `@IntroducedAt` overloads as synthetic
- [`KT-81708`](https://youtrack.jetbrains.com/issue/KT-81708) K/N incremental compilation: `No module deserializer for FUN name:writeObject`
- [`KT-82510`](https://youtrack.jetbrains.com/issue/KT-82510) K/N, IC: "Undefined symbols for architecture arm64" for iosSimulatorArm64 with `kotlin.incremental.native=true`
- [`KT-88316`](https://youtrack.jetbrains.com/issue/KT-88316) K/N: StackOverflowError in CastsOptimization when two nullable local variables are assigned to each other across nested loops
- [`KT-80841`](https://youtrack.jetbrains.com/issue/KT-80841) Confusing positioning of NO\_VALUE\_FOR\_PARAMETER
- [`KT-85300`](https://youtrack.jetbrains.com/issue/KT-85300) Improve message for UNRESOLVED\_REFERENCE\_WRONG\_RECEIVER
- [`KT-87983`](https://youtrack.jetbrains.com/issue/KT-87983) CCE on member extension property delegated to bound property reference
- [`KT-85403`](https://youtrack.jetbrains.com/issue/KT-85403) kotlin.NoWhenBranchMatchedException on Kotlin Native with sealed interface
- [`KT-87922`](https://youtrack.jetbrains.com/issue/KT-87922) K1FakeDescriptorsForReferencesKt classes duplicated between kotlin-scripting-compiler-embeddable and kotlin-build-tools-impl
- [`KT-87499`](https://youtrack.jetbrains.com/issue/KT-87499) ClassCastException "Float cannot be cast to Unit" when a suspend function's result is discarded in a when-branch
- [`KT-85656`](https://youtrack.jetbrains.com/issue/KT-85656) \[NO\_ACTUAL\_CLASS\_MEMBER\_FOR\_EXPECTED\_CLASS] False negative for nested type alias
- [`KT-85641`](https://youtrack.jetbrains.com/issue/KT-85641) Nullable-marked object qualifiers in LHSs of callable references
- [`KT-86957`](https://youtrack.jetbrains.com/issue/KT-86957) Warning on the underscore variable is not reported for java.lang.Void call
- [`KT-87261`](https://youtrack.jetbrains.com/issue/KT-87261) K/N debug: 'is' check miscompilation — local variable reports wrong type when two smart-cast extractions precede an inline loop
- [`KT-87577`](https://youtrack.jetbrains.com/issue/KT-87577) Compiler crash on red code with ambiguous type parameter used as expression
- [`KT-80867`](https://youtrack.jetbrains.com/issue/KT-80867) \[Native] Stack allocation is blocked after cross-module inlining of stdlib
- [`KT-86949`](https://youtrack.jetbrains.com/issue/KT-86949) Native: ComputeTypesPass handles type checks across loop iterations wrong
- [`KT-86959`](https://youtrack.jetbrains.com/issue/KT-86959) Native: OptimizeCasts gets confused by "complex" terms leaking between different loop iterations
- [`KT-78079`](https://youtrack.jetbrains.com/issue/KT-78079) Enable generation of `when` using invokedynamic by default for JVM targets 21+
- [`KT-86525`](https://youtrack.jetbrains.com/issue/KT-86525) JvmExposeBoxed: Inconsistent number of parameters during reflection
- [`KT-72999`](https://youtrack.jetbrains.com/issue/KT-72999) K/N: Do not consider `IrTypeOperatorCall` as a tail call expression
- [`KT-84802`](https://youtrack.jetbrains.com/issue/KT-84802) Add new synthetic class flag to JVM metadata
- [`KT-87606`](https://youtrack.jetbrains.com/issue/KT-87606) Compiler crash on red code with redeclaration of type parameter which is used as expression
- [`KT-85888`](https://youtrack.jetbrains.com/issue/KT-85888) Native: incremental compilation blows up when a method changes from open to final
- [`KT-87335`](https://youtrack.jetbrains.com/issue/KT-87335) Context parameters: wrong LINENUMBER emitted for context argument loads in JVM bytecode
- [`KT-84344`](https://youtrack.jetbrains.com/issue/KT-84344) Disambiguate fake source elements for source-based symbol IDs
- [`KT-86618`](https://youtrack.jetbrains.com/issue/KT-86618) Collection literals: internal PCLA failure with reassignment
- [`KT-85703`](https://youtrack.jetbrains.com/issue/KT-85703) Drop pre-2.0 language features from K2 & common compiler code
- [`KT-87245`](https://youtrack.jetbrains.com/issue/KT-87245) Report UnsupportedFeature on ExplicitContextArgument
- [`KT-80227`](https://youtrack.jetbrains.com/issue/KT-80227) Support unnamed context parameters in evaluation
- [`KT-72706`](https://youtrack.jetbrains.com/issue/KT-72706) Confusing "INVISIBLE\_REFERENCE" when calling private constructor
- [`KT-86110`](https://youtrack.jetbrains.com/issue/KT-86110) K/N Incremental compilation: stale cache is reused after enum entry reorder
- [`KT-86133`](https://youtrack.jetbrains.com/issue/KT-86133) K/N IC: stale cache is reused after reified inline body change
- [`KT-30728`](https://youtrack.jetbrains.com/issue/KT-30728) "VerifyError: Operand stack underflow" on crossinline lambda usage inside inline function in anonymous object
- [`KT-87507`](https://youtrack.jetbrains.com/issue/KT-87507) False-positive `ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED` on fake-override with value parameter of type missing in dependencies
- [`KT-87439`](https://youtrack.jetbrains.com/issue/KT-87439) Postpone UnitConversionsOnArbitraryExpressions indefinetely
- [`KT-87434`](https://youtrack.jetbrains.com/issue/KT-87434) JAVA\_CLASS\_ON\_COMPANION not reported when companion accessed through typealias
- [`KT-64622`](https://youtrack.jetbrains.com/issue/KT-64622) \[K/N] `ar` utility fails with symbol `@` in module/klib name on Linux with static cache
- [`KT-84037`](https://youtrack.jetbrains.com/issue/KT-84037) Native: rework `ar` invocations in the compiler
- [`KT-87339`](https://youtrack.jetbrains.com/issue/KT-87339) JVM: Support recursive type provided as an argument of typeOf
- [`KT-86551`](https://youtrack.jetbrains.com/issue/KT-86551) Check suspicious when over ConeKotlinType in FirExposedVisibilityDeclarationChecker#findVisibilityExposure
- [`KT-87395`](https://youtrack.jetbrains.com/issue/KT-87395) StackOverflowError in return value checker when a Java class member is annotated with the class's own nested annotation
- [`KT-87290`](https://youtrack.jetbrains.com/issue/KT-87290) Investigate possible bug in value class deserialization
- [`KT-61141`](https://youtrack.jetbrains.com/issue/KT-61141) K/N: irText tests failed with K/N irText first run
- [`KT-85764`](https://youtrack.jetbrains.com/issue/KT-85764) Native: Prohibit compiling sources in 'kotlin' package by default
- [`KT-86469`](https://youtrack.jetbrains.com/issue/KT-86469) Check 'when's over 'ConeKotlinType' which could miss some branches in DFA
- [`KT-87253`](https://youtrack.jetbrains.com/issue/KT-87253) Missed `ConeCapturedType` check in processing of `equals` contracts
- [`KT-84522`](https://youtrack.jetbrains.com/issue/KT-84522) Refactor FirResolvedQualifier
- [`KT-84299`](https://youtrack.jetbrains.com/issue/KT-84299) `resolvedToCompanionObject` is not set in some situations
- [`KT-87327`](https://youtrack.jetbrains.com/issue/KT-87327) JVM IR: NullPointerException in JvmInlineClassLowering when using == between value of generic value class and another value class
- [`KT-86948`](https://youtrack.jetbrains.com/issue/KT-86948) Native: CastsOptimization merges results of type checks across loop iterations wrong
- [`KT-86947`](https://youtrack.jetbrains.com/issue/KT-86947) Native: CastsOptimization drops side effects of always-`null` safe casts
- [`KT-87276`](https://youtrack.jetbrains.com/issue/KT-87276) Drop or move ConeTypeCompatibilityChecker
- [`KT-78623`](https://youtrack.jetbrains.com/issue/KT-78623) No-arg constructor should be generated if all parameters are optional, even when one of the parameters is inline type
- [`KT-86886`](https://youtrack.jetbrains.com/issue/KT-86886) Kotlin Lombok: compiler crash with IllegalArgumentException on builder with a single type parameter
- [`KT-83880`](https://youtrack.jetbrains.com/issue/KT-83880) Consider making `OPERATOR_RENAMED_ON_IMPORT` a warning (instead of error)
- [`KT-70461`](https://youtrack.jetbrains.com/issue/KT-70461) K2: "Inline class types should have the same representation" caused by value class and smart check
- [`KT-87140`](https://youtrack.jetbrains.com/issue/KT-87140) K/N: Test generation leaks `BaseClassSuite`'s `INSTANCE` type parameter
- [`KT-87291`](https://youtrack.jetbrains.com/issue/KT-87291) Enable ProhibitScriptTopLevelInnerClasses in 2.5
- [`KT-87226`](https://youtrack.jetbrains.com/issue/KT-87226) CompanionBlocksAndExtensions: COMPANION\_EXTENSION\_RECEIVER\_IS\_OBJECT diagnostic is absent when object used via typealias
- [`KT-87058`](https://youtrack.jetbrains.com/issue/KT-87058) Investigate abandoned language features
- [`KT-86655`](https://youtrack.jetbrains.com/issue/KT-86655) mismatched mutability annotations in overriding lead to misaligned behavior in warn-mode and strict-mode
- [`KT-85169`](https://youtrack.jetbrains.com/issue/KT-85169) Return value checker: RETURN\_VALUE\_NOT\_USED: object expression highlighted entirely instead of just the keyword
- [`KT-86464`](https://youtrack.jetbrains.com/issue/KT-86464) Support `isPublicAbi` JVM metadata flag for anonymous and synthetic local classes
- [`KT-87083`](https://youtrack.jetbrains.com/issue/KT-87083) JVM: AssertionError in if UIntArray is declared in sources
- [`KT-87032`](https://youtrack.jetbrains.com/issue/KT-87032) JvmExposeBoxed: forbid private `@JvmExposeBoxed` declarations
- [`KT-85954`](https://youtrack.jetbrains.com/issue/KT-85954) Implicit JvmExposeBoxed leads to IOOBE when data class constructor accepts nullable inline class
- [`KT-85955`](https://youtrack.jetbrains.com/issue/KT-85955) Implicit JvmExposeBoxed: double default constructor parameter leads to IOOBE
- [`KT-86523`](https://youtrack.jetbrains.com/issue/KT-86523) JvmExposeBoxed: Cannot generate code for exposed constructor with default parameter referencing another default parameter
- [`KT-86524`](https://youtrack.jetbrains.com/issue/KT-86524) JvmExposeBoxed: Collection does not implement abstract method
- [`KT-86526`](https://youtrack.jetbrains.com/issue/KT-86526) JvmExposeBoxed: Sequence contains more than one matching element
- [`KT-86865`](https://youtrack.jetbrains.com/issue/KT-86865) Support abstract full value classes with non-trivial constructors
- [`KT-87016`](https://youtrack.jetbrains.com/issue/KT-87016) Drop `ANNOTATION_ON_ANNOTATION_ARGUMENT` diagnostic
- [`KT-86615`](https://youtrack.jetbrains.com/issue/KT-86615) K2: Missing INVALID\_CHARACTERS diagnostic for enum entry name with illegal JVM characters, leading to runtime ClassFormatError
- [`KT-86849`](https://youtrack.jetbrains.com/issue/KT-86849) Remove old `@JvmInline` multi-field value classes
- [`KT-87014`](https://youtrack.jetbrains.com/issue/KT-87014) \[KGP] failing testSwiftExportCoroutines
- [`KT-86481`](https://youtrack.jetbrains.com/issue/KT-86481) Compilation failure with spread `arrayOf` inside `arrayOf`
- [`KT-86996`](https://youtrack.jetbrains.com/issue/KT-86996) `unwrapVarargValue` does not consider some cases
- [`KT-86955`](https://youtrack.jetbrains.com/issue/KT-86955) K2: Companion block funs in interfaces have OPEN modality after Fir2IR
- [`KT-87035`](https://youtrack.jetbrains.com/issue/KT-87035) K2: Context parameter type leaks unsubstituted into callable-reference adapter
- [`KT-86940`](https://youtrack.jetbrains.com/issue/KT-86940) Diagnostic range of NONE\_APPLICABLE in enum entry is hard to see
- [`KT-86046`](https://youtrack.jetbrains.com/issue/KT-86046) Put `@K1Deprecation` to all public declarations of K1 modules
- [`KT-86555`](https://youtrack.jetbrains.com/issue/KT-86555) CL-based annotation resolve: clean up CFG-related hacks
- [`KT-86482`](https://youtrack.jetbrains.com/issue/KT-86482) Collection literals: do not fallback if not supertype of `List` is expected
- [`KT-84154`](https://youtrack.jetbrains.com/issue/KT-84154) Invalid qualifiers with type arguments in package parts compile without diagnostics
- [`KT-85288`](https://youtrack.jetbrains.com/issue/KT-85288) Consider dropping use-site target checks in checkRepeatedAnnotation and similar places
- [`KT-85469`](https://youtrack.jetbrains.com/issue/KT-85469) Native: potential concurrency problem with caches
- [`KT-81567`](https://youtrack.jetbrains.com/issue/KT-81567) Add a use-site warning if a `@DslMarker`-marked annotation is used on entities where it is a no-op
- [`KT-86853`](https://youtrack.jetbrains.com/issue/KT-86853) FIR: `Char.code` not being const-evaluated under IntrinsicConstEvaluation feature
- [`KT-86877`](https://youtrack.jetbrains.com/issue/KT-86877) Postpone ELA-related language features
- [`KT-86852`](https://youtrack.jetbrains.com/issue/KT-86852) Initialize full value classes fields before calling super
- [`KT-86824`](https://youtrack.jetbrains.com/issue/KT-86824) Native: support spaces in paths for Linux
- [`KT-85816`](https://youtrack.jetbrains.com/issue/KT-85816) Drop remaining usages of ComponentRegistrar
- [`KT-86534`](https://youtrack.jetbrains.com/issue/KT-86534) Extract reworked annotations resolution under separate language feature
- [`KT-82555`](https://youtrack.jetbrains.com/issue/KT-82555) `@Deprecated`(HIDDEN)\` objects not skipped when resolving qualifiers
- [`KT-84626`](https://youtrack.jetbrains.com/issue/KT-84626) Try to combine `FirConstChecks` and `FirExpressionEvaluator`
- [`KT-85291`](https://youtrack.jetbrains.com/issue/KT-85291) MFVC: consider analyzing the type of declaration instead of use-site target in AnnotationChecker
- [`KT-86755`](https://youtrack.jetbrains.com/issue/KT-86755) False negative NATIVE\_SPECIFIC\_ATOMIC in type arguments
- [`KT-86752`](https://youtrack.jetbrains.com/issue/KT-86752) K2: False negative NO\_REFLECTION\_IN\_CLASS\_PATH on type parameters, intersection types, captured types
- [`KT-85972`](https://youtrack.jetbrains.com/issue/KT-85972) \[ArrayEqualityCanBeReplacedWithContentEquals checker] Checker misses smart-cast array operands when the original type is a type parameter
- [`KT-85970`](https://youtrack.jetbrains.com/issue/KT-85970) \[ArrayEqualityCanBeReplacedWithContentEquals checker] Warning message mentions ==/=== instead of !=/!== for inequality operator
- [`KT-86705`](https://youtrack.jetbrains.com/issue/KT-86705) False positive REDUNDANT\_SINGLE\_EXPRESSION\_STRING\_TEMPLATE for nullable String? expressions with -Wextra
- [`KT-86798`](https://youtrack.jetbrains.com/issue/KT-86798) Native: don't use stale incremental cache when a new compiler version is used
- [`KT-86298`](https://youtrack.jetbrains.com/issue/KT-86298) LEAKED\_IN\_PLACE\_LAMBDA when a lambda parameter is forwarded into an inline function parameter
- [`KT-76632`](https://youtrack.jetbrains.com/issue/KT-76632) K2: False positive "Assigned value is never read" with 'flatMap()'
- [`KT-86699`](https://youtrack.jetbrains.com/issue/KT-86699) Kotlin/Native: get rid of OptimizeTLSDataLoads
- [`KT-86577`](https://youtrack.jetbrains.com/issue/KT-86577) Companion block member is determined as a fake override
- [`KT-86646`](https://youtrack.jetbrains.com/issue/KT-86646) IllegalStateException "unknown supertype kind null" when compiling data class with definitely non-nullable type parameter (U : T & Any)
- [`KT-86662`](https://youtrack.jetbrains.com/issue/KT-86662) Check for loss of ConeIntersectionType.upperBoundForApproximation
- [`KT-86629`](https://youtrack.jetbrains.com/issue/KT-86629) Approximation of Intersection Type to Upper Bound is Broken by Bang Bang Operator
- [`KT-86115`](https://youtrack.jetbrains.com/issue/KT-86115) Platform declaration clash on no-arg constructor with `@JvmExposeBoxed` and `@IntroducedAt`
- [`KT-86643`](https://youtrack.jetbrains.com/issue/KT-86643) Warning for returning callsInPlace lambda
- [`KT-86609`](https://youtrack.jetbrains.com/issue/KT-86609) Make `KDocSection` implement `PsiLanguageInjectionHost`
- [`KT-86642`](https://youtrack.jetbrains.com/issue/KT-86642) Flexible type with nullable intersection types in both bounds
- [`KT-85148`](https://youtrack.jetbrains.com/issue/KT-85148) Native: check/fix KT-72710 Incorrect behaviour of tail call suspend functions optimization
- [`KT-85230`](https://youtrack.jetbrains.com/issue/KT-85230) False negative deprecation diagnostics on import of member of nested class
- [`KT-62467`](https://youtrack.jetbrains.com/issue/KT-62467) K2: Result type of elvis operator should be flexible if rhs is flexible
- [`KT-86319`](https://youtrack.jetbrains.com/issue/KT-86319) K2: StackOverflowError in AbstractConeSubstitutor with recursive Java type bound under mixed JSpecify `@NullMarked`/`@NullUnmarked`
- [`KT-86512`](https://youtrack.jetbrains.com/issue/KT-86512) K2: Bad IR for adapted callable reference to function with generic vararg and optional parameter
- [`KT-85947`](https://youtrack.jetbrains.com/issue/KT-85947) Collection literals: internal failure when SAM is expected
- [`KT-85535`](https://youtrack.jetbrains.com/issue/KT-85535) Collection literals: Migrate to new resolve in annotations under "-Xcollection-literals"
- [`KT-86468`](https://youtrack.jetbrains.com/issue/KT-86468) K2: False negative DSL\_SCOPE\_VIOLATION when type parameter has DSL-annotated bound
- [`KT-86292`](https://youtrack.jetbrains.com/issue/KT-86292) False negative: INFERRED\_TYPE\_VARIABLE\_INTO\_EMPTY\_INTERSECTION\_WARNING reported for direct getValue call but not for equivalent by delegation
- [`KT-86467`](https://youtrack.jetbrains.com/issue/KT-86467) K2: False negative ILLEGAL\_RESTRICTED\_SUSPENDING\_FUNCTION\_CALL with DNN, flexible, captured and intersection receiver types
- [`KT-85848`](https://youtrack.jetbrains.com/issue/KT-85848) Recursion on value classes through type parameters
- [`KT-75874`](https://youtrack.jetbrains.com/issue/KT-75874) K2: Adjust the type mismatch diagnostic on lambda parameters
- [`KT-82456`](https://youtrack.jetbrains.com/issue/KT-82456) K2. Missing deprecation for object with invoke
- [`KT-86184`](https://youtrack.jetbrains.com/issue/KT-86184) KDoc: syntax highlighting incorrect when `@param`, `@return`, or summary line begins with a backtick
- [`KT-85454`](https://youtrack.jetbrains.com/issue/KT-85454) Make :compiler:android-tests:test cacheable
- [`KT-51400`](https://youtrack.jetbrains.com/issue/KT-51400) Additional independent candidate with `@OverloadResolutionByLambdaReturnType` could change inference results
- [`KT-86042`](https://youtrack.jetbrains.com/issue/KT-86042) Inference fixes lambda's return type variable too early
- [`KT-86327`](https://youtrack.jetbrains.com/issue/KT-86327) Add flag to `LanguageFeature` enum to enable it in the latest language version tests
- [`KT-84718`](https://youtrack.jetbrains.com/issue/KT-84718) Provide information for simple names resolved through imports which might be resolved via context-sensitive in IDE mode
- [`KT-75112`](https://youtrack.jetbrains.com/issue/KT-75112) FE resolves wrong receivers order for property passed to delegate
- [`KT-86191`](https://youtrack.jetbrains.com/issue/KT-86191) Check not null on a dynamic-typed property leads to malformed CFG
- [`KT-86143`](https://youtrack.jetbrains.com/issue/KT-86143) `operator` keyword is allowed on arbitrary equals in enum entries
- [`KT-73197`](https://youtrack.jetbrains.com/issue/KT-73197) Order-dependent choice of overload by lambda return type with Unit
- [`KT-86144`](https://youtrack.jetbrains.com/issue/KT-86144) Unresolved code in ambiguous plus assign is not reported
- [`KT-86006`](https://youtrack.jetbrains.com/issue/KT-86006) CFG: Exponential growth when visiting unresolved delegates in FirLocalVariableAssignmentAnalyzer
- [`KT-86103`](https://youtrack.jetbrains.com/issue/KT-86103) Incorrectly reported `CONFLICTING_OVERLOAD` on companion member
- [`KT-85965`](https://youtrack.jetbrains.com/issue/KT-85965) Native: incremental compilation blows up with NoSuchFileException: class\_fields
- [`KT-86005`](https://youtrack.jetbrains.com/issue/KT-86005) Fix misuse of DeferredMethodVisitor.intermediate in AnonymousObjectTransformer
- [`KT-72840`](https://youtrack.jetbrains.com/issue/KT-72840) \[JVM Inliner] Two fails `AFTER mandatory stack transformations: incorrect bytecode`
- [`KT-84589`](https://youtrack.jetbrains.com/issue/KT-84589) Prohibit `Array<Nothing>` in lhs of `::class`
- [`KT-84766`](https://youtrack.jetbrains.com/issue/KT-84766) Kotlin/Native: separate compiler cache for latin1Strings=true
- [`KT-82899`](https://youtrack.jetbrains.com/issue/KT-82899) Native IC: AIOOBE on coroutines
- [`KT-85188`](https://youtrack.jetbrains.com/issue/KT-85188) Don't poison binaries with companion blocks & extensions for LV >= 2.5
- [`KT-80176`](https://youtrack.jetbrains.com/issue/KT-80176) ASSERT FAILED: SDE.c : 296 - bad SourceDebugExtension syntax - position 376 - expected ':'
- [`KT-84581`](https://youtrack.jetbrains.com/issue/KT-84581) Inline function with `@JvmOverloads` produces SourceDebugExtension attribute with invalid line numbers
- [`KT-85203`](https://youtrack.jetbrains.com/issue/KT-85203) Kotlin/Native: "Invalid LLVM module - Instruction does not dominate all uses" with nested inline suspend functions and withContext
- [`KT-85766`](https://youtrack.jetbrains.com/issue/KT-85766) Confusing error message "'this' is not defined in this context" on companion extension delegated property
- [`KT-85720`](https://youtrack.jetbrains.com/issue/KT-85720) K2: Missing null check in generic vararg function call when passing value of flexible type
- [`KT-85701`](https://youtrack.jetbrains.com/issue/KT-85701) K2: Type parameter is out of bounds for `IMPLICIT_DYNAMIC_CAST`
- [`KT-82196`](https://youtrack.jetbrains.com/issue/KT-82196) False positive: "Recursive call is not a tail call" inside when/if with lambda and elvis
- [`KT-85841`](https://youtrack.jetbrains.com/issue/KT-85841) Error message for NULLABLE\_ON\_DEFINITELY\_NOT\_NULLABLE uses obsolete term for DNN types
- [`KT-81932`](https://youtrack.jetbrains.com/issue/KT-81932) False positive TAIL\_RECURSION\_IN\_TRY\_IS\_NOT\_SUPPORTED caused by try in another branch inside tailrec function
- [`KT-78443`](https://youtrack.jetbrains.com/issue/KT-78443) Refactor session component initialization for multi-target compilation
- [`KT-85661`](https://youtrack.jetbrains.com/issue/KT-85661) Lazy resolve for substituted property accessors with a contract doesn't work
- [`KT-84719`](https://youtrack.jetbrains.com/issue/KT-84719) Provide information for qualified types that might be replaced with context-sensitive simple names in IDE mode
- [`KT-85667`](https://youtrack.jetbrains.com/issue/KT-85667) Add experimental language version 2.6
- [`KT-85770`](https://youtrack.jetbrains.com/issue/KT-85770) Support companion block properties in interfaces
- [`KT-85168`](https://youtrack.jetbrains.com/issue/KT-85168) Generate static initializers as proper IR functions
- [`KT-74516`](https://youtrack.jetbrains.com/issue/KT-74516) False negative TYPE\_PARAMETER\_AS\_REIFIED for DNN type
- [`KT-85733`](https://youtrack.jetbrains.com/issue/KT-85733) Illegal unqualified resolution to companion extension through scope linking
- [`KT-85679`](https://youtrack.jetbrains.com/issue/KT-85679) Internal Compiler Error when trying to access a value parameter from companion block
- [`KT-85358`](https://youtrack.jetbrains.com/issue/KT-85358) Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed
- [`KT-81814`](https://youtrack.jetbrains.com/issue/KT-81814) Field name '$$context-Functor#1' cannot be represented in dex format
- [`KT-6071`](https://youtrack.jetbrains.com/issue/KT-6071) Change USELESS\_CAST warning message
- [`KT-85626`](https://youtrack.jetbrains.com/issue/KT-85626) `@JvmRecord` in commonMain breaks compileCommonMainKotlinMetadata with "Cannot access 'java.lang.Record'"
- [`KT-85527`](https://youtrack.jetbrains.com/issue/KT-85527) Unmute Android tests after removing IGNORE\_BACKEND\_K1 directive
- [`KT-84939`](https://youtrack.jetbrains.com/issue/KT-84939) Kotlin/Native: support llvm passes in -Xsave-llvm-ir-after
- [`KT-85341`](https://youtrack.jetbrains.com/issue/KT-85341) K2."TYPECHECKER\_HAS\_RUN\_INTO\_RECURSIVE\_PROBLEM" false positive on accesses to properties of an anonymous object
- [`KT-84861`](https://youtrack.jetbrains.com/issue/KT-84861) Support Companion Blocks & Extensions in Scripts/REPL
- [`KT-84327`](https://youtrack.jetbrains.com/issue/KT-84327) Name-based destructuring conflicts with in-scope functions
- [`KT-78678`](https://youtrack.jetbrains.com/issue/KT-78678) Checking for nullable type against nullable type falls back to inline-when generation mechanism
- [`KT-83652`](https://youtrack.jetbrains.com/issue/KT-83652) Confusing messages when using package parts with type arguments in qualifiers
- [`KT-75372`](https://youtrack.jetbrains.com/issue/KT-75372) Deprecate K1 compiler
- [`KT-80093`](https://youtrack.jetbrains.com/issue/KT-80093) Type inference depends on the presence of transitive dependency
- [`KT-68933`](https://youtrack.jetbrains.com/issue/KT-68933) CompilationException: Back-end: Could not get inlined class
- [`KT-63746`](https://youtrack.jetbrains.com/issue/KT-63746) K2: JSpecify: If a class has a `@Nullable` type-parameter bound, Kotlin should still treat unbounded wildcards like platform types
- [`KT-17738`](https://youtrack.jetbrains.com/issue/KT-17738) Java cannot extend class implementing kotlin.collections.Map
##### Compose compiler
##### Fixes
- [`b/549552317`](https://issuetracker.google.com/issues/549552317) Fixed a bug that, in certain cases, prevented execution of
non-local return `statements` inside lambdas called from `when`
expressions.
- [`b/543684938`](https://issuetracker.google.com/issues/543684938) Fix composable singleton in function with type parameters
- [`b/537617330`](https://issuetracker.google.com/issues/537617330) Fixed a bug that caused miscompilation of cross-module calls
to getters and setters, causing spurious runtime errors.
- [`b/522127447`](https://issuetracker.google.com/issues/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`](https://issuetracker.google.com/issues/489339299) Move Compose runtime to a stable version
- [`b/509945632`](https://issuetracker.google.com/issues/509945632) Always wrap inline lambdas with a composable group with a group
- [`b/422193018`](https://issuetracker.google.com/issues/422193018) Fix `callableInferenceNodeOf` in `ComposableTargetChecker.kt`
##### IR. Inlining
- [`KT-86558`](https://youtrack.jetbrains.com/issue/KT-86558) Forbid accesing volatile references after inlining
- [`KT-87272`](https://youtrack.jetbrains.com/issue/KT-87272) IR: Function value is inlined with out-of-scope type parameter
- [`KT-87274`](https://youtrack.jetbrains.com/issue/KT-87274) IR: Synthetic accessors are generated with out of scope type parameters
- [`KT-79065`](https://youtrack.jetbrains.com/issue/KT-79065) Try to remove `NativeRuntimeReflectionIrBuilder`
- [`KT-72464`](https://youtrack.jetbrains.com/issue/KT-72464) \[Native]\[JS]\[Wasm] Non-local return through suspend conversion breaks the IR inliner
##### IR. Tree
##### Fixes
- [`KT-69305`](https://youtrack.jetbrains.com/issue/KT-69305) Re-enable reporting out-of-scope type parameter usages during pre-lowering IR validation
- [`KT-86943`](https://youtrack.jetbrains.com/issue/KT-86943) Investigate if lambdas must be transformed into static or regular functions
- [`KT-73921`](https://youtrack.jetbrains.com/issue/KT-73921) False negative: tailrec checkers with recursive functions (without tail recursion)
- [`KT-85896`](https://youtrack.jetbrains.com/issue/KT-85896) Type parameter is out of bounds (in setter) for a property with context parameters
- [`KT-85698`](https://youtrack.jetbrains.com/issue/KT-85698) Type parameter is out of bounds (in setter) for an extension property with type parameter
- [`KT-85575`](https://youtrack.jetbrains.com/issue/KT-85575) KLIBs: Add IR text & ABI dump tests for companion blocks and companion extensions
- [`KT-87138`](https://youtrack.jetbrains.com/issue/KT-87138) IR: Rich callable reference to an inner-class member leaks outer class type parameters into the generated adapter
- [`KT-74938`](https://youtrack.jetbrains.com/issue/KT-74938) Use SYNTHETIC\_OFFSET in IR fake overrides
- [`KT-87105`](https://youtrack.jetbrains.com/issue/KT-87105) \[Tests]\[IR] Unify or split IR dump for different backends
- [`KT-87292`](https://youtrack.jetbrains.com/issue/KT-87292) IR: Drop `lateinit` modifier from `IrFile.module` property
- [`KT-86884`](https://youtrack.jetbrains.com/issue/KT-86884) IrTreeSymbolVisitor is not visiting symbols declared in non-final class
- [`KT-85147`](https://youtrack.jetbrains.com/issue/KT-85147) K/N: Segfault when calling SAM instance converted to type with nullable type parameter upper bound
- [`KT-86527`](https://youtrack.jetbrains.com/issue/KT-86527) Remove unreachable code from UpgradeCallableReferences
- [`KT-85673`](https://youtrack.jetbrains.com/issue/KT-85673) Replace `classId` with `IrClassSymbol` in `IrAnnotation`
- [`KT-85572`](https://youtrack.jetbrains.com/issue/KT-85572) KLIBs: New signatures for companion funs/vals
- [`KT-78175`](https://youtrack.jetbrains.com/issue/KT-78175) Remove remaining usages of attributeOwnerId outside of JVM backend
- [`KT-85573`](https://youtrack.jetbrains.com/issue/KT-85573) Store "companion parameter" in IR of funs/vals declared as companion extensions
##### JVM. Reflection
##### New Features
- [`KT-73657`](https://youtrack.jetbrains.com/issue/KT-73657) Fix kotlin-reflect performance issues for reflection operations common for both reflection implementation: stdlib and kotlin-reflect
##### Fixes
- [`KT-86477`](https://youtrack.jetbrains.com/issue/KT-86477) Reflection: test builtin class contents
- [`KT-87369`](https://youtrack.jetbrains.com/issue/KT-87369) Reflection: KClass.members fails on Java class with self-referential raw type bounds
- [`KT-76521`](https://youtrack.jetbrains.com/issue/KT-76521) Reflection: change KType representation to avoid dependency on K1
- [`KT-85902`](https://youtrack.jetbrains.com/issue/KT-85902) Reflection: support call/callBy for companion blocks & extensions
- [`KT-85903`](https://youtrack.jetbrains.com/issue/KT-85903) Reflection: do not inherit companion block members from supertypes in `KClass.members`
- [`KT-86709`](https://youtrack.jetbrains.com/issue/KT-86709) Reflection: KRIE with Reaktor on fresh master
- [`KT-86101`](https://youtrack.jetbrains.com/issue/KT-86101) Reflection: additional Java constructors are not added for mapped builtins in the new implementation
- [`KT-86545`](https://youtrack.jetbrains.com/issue/KT-86545) Reflection: extra Serializable supertype for non-mapped enum classes in "kotlin" package
- [`KT-83677`](https://youtrack.jetbrains.com/issue/KT-83677) Reflection: aliased extension function type is rendered as non-extension in toString
- [`KT-85836`](https://youtrack.jetbrains.com/issue/KT-85836) Reflection: KotlinReflectionInternalError on isSubtypeOf with definitely-not-null type
- [`KT-83986`](https://youtrack.jetbrains.com/issue/KT-83986) Reflection: java.io.Serializable is not shown in supertypes of Int type in new reflection
- [`KT-84495`](https://youtrack.jetbrains.com/issue/KT-84495) Reflection: "KotlinReflectionInternalError: Annotation class not found: kotlin/jvm/internal/EnhancedNullability" on Java Optional type
- [`KT-86177`](https://youtrack.jetbrains.com/issue/KT-86177) Reflection: incorrect modality of Java constructors in the new implementation
##### JavaScript
##### Fixes
- [`KT-88571`](https://youtrack.jetbrains.com/issue/KT-88571) K/JS: "llegalStateException: Internal error: cannot find external signature" caused by `@Serializable` enum in 2.4.20-RC
- [`KT-87410`](https://youtrack.jetbrains.com/issue/KT-87410) \[K/JS] Companion block initialization order of super types differs from JVM
- [`KT-86273`](https://youtrack.jetbrains.com/issue/KT-86273) `@JsExport`.Ignore does not work properly with data classes properties
- [`KT-85599`](https://youtrack.jetbrains.com/issue/KT-85599) Allow exporting annotation classes into JS/TS
- [`KT-86934`](https://youtrack.jetbrains.com/issue/KT-86934) K/JS: Stack overflow when implementing interface with suspend fun using anonymous object
- [`KT-80188`](https://youtrack.jetbrains.com/issue/KT-80188) Design exporting of suspend lambdas into JS/TS
- [`KT-87127`](https://youtrack.jetbrains.com/issue/KT-87127) KJS: `@JsPlainObject` factory contains duplicated parameters
- [`KT-70622`](https://youtrack.jetbrains.com/issue/KT-70622) Kotlin/JS: Incremental compilation doesn't recompile kotlin js stdlib while changing a collection
- [`KT-87307`](https://youtrack.jetbrains.com/issue/KT-87307) \[JS] Reflection: runtime KClass of a Long value differs from Long::class
- [`KT-85990`](https://youtrack.jetbrains.com/issue/KT-85990) K/JS: Default parameter values ignored in `@JsStatic` suspend functions when class is exported
- [`KT-84992`](https://youtrack.jetbrains.com/issue/KT-84992) Remove body of isLongCompiledToBigInt intrinsic after boostrap version updated
- [`KT-40768`](https://youtrack.jetbrains.com/issue/KT-40768) KJS: initialization order for companion objects (inherited classes) different from K/JVM
- [`KT-87074`](https://youtrack.jetbrains.com/issue/KT-87074) KJS: Fix inheritance issues in Analysis API-based TypeScript export
- [`KT-75176`](https://youtrack.jetbrains.com/issue/KT-75176) Add infrastructure for bundle size testing
- [`KT-85616`](https://youtrack.jetbrains.com/issue/KT-85616) \[K/JS] Add synthetic and internal compiler APIs into sourcemap's `ignoreList`
- [`KT-70223`](https://youtrack.jetbrains.com/issue/KT-70223) Delete the source code for the legacy JS backend
- [`KT-73067`](https://youtrack.jetbrains.com/issue/KT-73067) Drop support for the legacy JS metadata from the metadata decompiler
- [`KT-82224`](https://youtrack.jetbrains.com/issue/KT-82224) Respect file-level annotations in Analysis API-based TypeScript export
- [`KT-82340`](https://youtrack.jetbrains.com/issue/KT-82340) Implement supertype approximation in Analysis API-based TypeScript Export
- [`KT-82317`](https://youtrack.jetbrains.com/issue/KT-82317) Support Kotlin collections in Analysis API-based TypeScript Export
- [`KT-84710`](https://youtrack.jetbrains.com/issue/KT-84710) Kotlin/JS: Suspending default interface methods are not accessible on subclasses from JS
- [`KT-19819`](https://youtrack.jetbrains.com/issue/KT-19819) JS: source maps: write the longest common prefix of all paths to "sourceRoot" field
- [`KT-82266`](https://youtrack.jetbrains.com/issue/KT-82266) Support transitive export in Analysis API-based TypeScript export
- [`KT-80991`](https://youtrack.jetbrains.com/issue/KT-80991) K/JS/Wasm interop: JsReference.get is easy to accidentally use in JS target
- [`KT-85424`](https://youtrack.jetbrains.com/issue/KT-85424) Replace each `js` call with `jsClassIntrinsic` after bootstrapping
- [`KT-84457`](https://youtrack.jetbrains.com/issue/KT-84457) KJS: Support implementable interfaces in Analysis API-based TypeScript Export
- [`KT-85452`](https://youtrack.jetbrains.com/issue/KT-85452) K/JS: Cannot create static member with `@JsStatic` in non-companion object
- [`KT-83462`](https://youtrack.jetbrains.com/issue/KT-83462) Usage of star projection makes any generic type not-exportable
- [`KT-85563`](https://youtrack.jetbrains.com/issue/KT-85563) Kotlin/JS: TypeScript mts files do not properly escape enum values
- [`KT-60899`](https://youtrack.jetbrains.com/issue/KT-60899) K2 JS: Implement warning NO\_REFLECTION\_IN\_CLASS\_PATH
##### Klibs
##### Performance Improvements
- [`KT-84837`](https://youtrack.jetbrains.com/issue/KT-84837) Introduce an index in IR linker for faster look up of suitable module deserializers
##### Fixes
- [`KT-84821`](https://youtrack.jetbrains.com/issue/KT-84821) \[K/N] Load `libclangstubs` from configured path
- [`KT-87294`](https://youtrack.jetbrains.com/issue/KT-87294) \[Wasm] Implement Wasi Klib backward compatibility testing
- [`KT-86320`](https://youtrack.jetbrains.com/issue/KT-86320) \[PL] Replacing unusable classifiers with Any? type may cause a signature clash
- [`KT-86632`](https://youtrack.jetbrains.com/issue/KT-86632) KLIBs: Rework serialization logic for IrTypeAlias
- [`KT-87006`](https://youtrack.jetbrains.com/issue/KT-87006) Extract/remove K1-specific parts from :kotlin-util-klib-metadata
- [`KT-81947`](https://youtrack.jetbrains.com/issue/KT-81947) \[Wasm] Klib backward and forward compatibility testing
- [`KT-81659`](https://youtrack.jetbrains.com/issue/KT-81659) Load symbols on 2nd compilation stage without frontend involvement
- [`KT-85611`](https://youtrack.jetbrains.com/issue/KT-85611) Change usage of `KlibCompilerDeserializationConfiguration` in IntelliJ to `CommonCompilerDeserializationConfiguration`
- [`KT-86451`](https://youtrack.jetbrains.com/issue/KT-86451) Get rid of deprecated '-no-endorsed-libs' usages in Kotlin project
- [`KT-85578`](https://youtrack.jetbrains.com/issue/KT-85578) KLIBs: New manifest property to indicate "new initialization order"
- [`KT-84836`](https://youtrack.jetbrains.com/issue/KT-84836) Minimize usages of IrBuiltIns in the KotlinIrLinker
- [`KT-86037`](https://youtrack.jetbrains.com/issue/KT-86037) \[Tests] Split test directive IGNORE\_KLIB\_BACKEND\_ERRORS\_WITH\_CUSTOM\_FIRST\_STAGE
- [`KT-86228`](https://youtrack.jetbrains.com/issue/KT-86228) Simplify Klib's ReadBuffer
- [`KT-58409`](https://youtrack.jetbrains.com/issue/KT-58409) \[KLIB Reproducibility] File path separators should be platform-independent in KLIBs
- [`KT-74417`](https://youtrack.jetbrains.com/issue/KT-74417) Deduce the metadata version based on LV in KLIB-based backends
- [`KT-76195`](https://youtrack.jetbrains.com/issue/KT-76195) Combine `toJvmMetadataVersion` and `toKlibMetadataVersion`
- [`KT-84750`](https://youtrack.jetbrains.com/issue/KT-84750) \[K/N] Set "kotlin.native.home" appropriately in forward testing of `master` -> 2.4.0-Beta2
- [`KT-85805`](https://youtrack.jetbrains.com/issue/KT-85805) AtomicfuNativeKlibSyntheticAccessorTestGenerated broken
- [`KT-85587`](https://youtrack.jetbrains.com/issue/KT-85587) \[Tests] Update test data so it ignores failing compatibility tests correctly
- [`KT-85359`](https://youtrack.jetbrains.com/issue/KT-85359) ExportKlibToOlderAbiVersion with LV=2.2 is silently ignored
- [`KT-85290`](https://youtrack.jetbrains.com/issue/KT-85290) Make :native:native.tests:klib-compatibility:testMinimalInAggregate cachable
- [`KT-85080`](https://youtrack.jetbrains.com/issue/KT-85080) Klib/IR Tests TC configuration -- need to explicitly download the necessary dependencies
- [`KT-84990`](https://youtrack.jetbrains.com/issue/KT-84990) Investigate the usage of `allDependencyModules` in IR linker
- [`KT-84349`](https://youtrack.jetbrains.com/issue/KT-84349) \[Wasm] Implement forward klib compatibility testing
- [`KT-71414`](https://youtrack.jetbrains.com/issue/KT-71414) KotlinLibraryResolver.resolveWithDependencies was evolved in binary incompatible way
##### Language Design
- [`KT-86089`](https://youtrack.jetbrains.com/issue/KT-86089) Explicit context arguments: Stable release
- [`KT-11914`](https://youtrack.jetbrains.com/issue/KT-11914) Confusing data class copy with private constructor
- [`KT-86761`](https://youtrack.jetbrains.com/issue/KT-86761) DM 2026-06-08: Another round on ELA (2)
- [`KT-86895`](https://youtrack.jetbrains.com/issue/KT-86895) Make full value classes poison builds
- [`KT-86201`](https://youtrack.jetbrains.com/issue/KT-86201) Name-based destructuring stable release of `only-syntax` in 2.5
- [`KT-7882`](https://youtrack.jetbrains.com/issue/KT-7882) Generic vs Non-Generic and implicit Unit return type
- [`KT-78796`](https://youtrack.jetbrains.com/issue/KT-78796) Decide the future of the AllowEagerSupertypeAccessibilityChecks language feature
##### Libraries
##### New Features
- [`KT-30270`](https://youtrack.jetbrains.com/issue/KT-30270) Provide allDistinct() and allDistinctBy{} for iterables
- [`KT-10380`](https://youtrack.jetbrains.com/issue/KT-10380) allEqual function for Iterable<T>
- [`KT-31305`](https://youtrack.jetbrains.com/issue/KT-31305) Support JUnit5-like assertions with message suppliers in kotlin-test
- [`KT-86595`](https://youtrack.jetbrains.com/issue/KT-86595) Introduce StackTraceRecoverable interface into the standard library
- [`KT-86766`](https://youtrack.jetbrains.com/issue/KT-86766) Add `@EqualityBound` declaration to stdlib
##### Performance Improvements
- [`KT-86010`](https://youtrack.jetbrains.com/issue/KT-86010) K/N, K/Wasm: MatchResultImpl function arguments checks takes significant portion of time for regex with capturing groups
- [`KT-86032`](https://youtrack.jetbrains.com/issue/KT-86032) K/N, K/Wasm: BitSet::get allocates objects for each access
##### Fixes
- [`KT-86329`](https://youtrack.jetbrains.com/issue/KT-86329) Update kotlinx.collections.immutable in Kotlin project to 0.5.0
- [`KT-86053`](https://youtrack.jetbrains.com/issue/KT-86053) Update kotlin-metadata-jvm for the companion blocks and extensions
- [`KT-87173`](https://youtrack.jetbrains.com/issue/KT-87173) isSortedBy and isSortedByDescending inline their selector twice at every call site
- [`KT-87166`](https://youtrack.jetbrains.com/issue/KT-87166) allEqualBy inlines its selector twice at every call site
- [`KT-85020`](https://youtrack.jetbrains.com/issue/KT-85020) Path.copyToRecursively silently corrupts directory structure when copying across file systems with different path separators
- [`KT-86696`](https://youtrack.jetbrains.com/issue/KT-86696) return-value-checker: false positive Path.setPosixFilePermissions and Path.setLastModifiedTime
- [`KT-86470`](https://youtrack.jetbrains.com/issue/KT-86470) Stdlib doc: Wrong timestamp in kotlin.time.Instant.parse example (leads to InstantFormatException)
- [`KT-80654`](https://youtrack.jetbrains.com/issue/KT-80654) K/N and K/Wasm: implement missing Regex tests
- [`KT-85326`](https://youtrack.jetbrains.com/issue/KT-85326) Libraries: rangeUntil docs sample code uses a rangeTo example
- [`KT-82505`](https://youtrack.jetbrains.com/issue/KT-82505) API reference: add links to array transformations returning arrays from their list-returning counterparts
- [`KT-57883`](https://youtrack.jetbrains.com/issue/KT-57883) Description and code mismatch in CoroutineContextImpl.kt
- [`KT-65526`](https://youtrack.jetbrains.com/issue/KT-65526) Rewrite builtins as expect-actual
##### Native
- [`KT-74844`](https://youtrack.jetbrains.com/issue/KT-74844) `kotlin.native.internal.FileFailedToInitializeException` when running native tests with Kotlin 2.1.20-Beta2
- [`KT-80830`](https://youtrack.jetbrains.com/issue/KT-80830) \[K/N] -Xruntime-logs doesn't work with caches
- [`KT-36076`](https://youtrack.jetbrains.com/issue/KT-36076) KotlinNullPointerException: Gradle parallel compilation fails on 1.3.70
##### Native. Build Infrastructure
- [`KT-86889`](https://youtrack.jetbrains.com/issue/KT-86889) Kotlin/Native: restore benchmarks after bootstrap update
- [`KT-82607`](https://youtrack.jetbrains.com/issue/KT-82607) \[K/N] Dist build fails when gradle daemon was started on a JRE (i.e., without JNI headers)
- [`KT-85451`](https://youtrack.jetbrains.com/issue/KT-85451) Native: migrate the remaining tests to testFixtures
- [`KT-86725`](https://youtrack.jetbrains.com/issue/KT-86725) Kotlin/Native: make KonanCacheTask aware of per-file caches
- [`KT-85823`](https://youtrack.jetbrains.com/issue/KT-85823) Kotlin/Native: delete outputs in :kotlin-native:distNativeLibs
- [`KT-85522`](https://youtrack.jetbrains.com/issue/KT-85522) Kotlin/Native: llvmLinkBreakpadMainMacos\_arm64 fails
##### Native. C and ObjC Import
##### New Features
- [`KT-86654`](https://youtrack.jetbrains.com/issue/KT-86654) \[K/N] `CValuesRef` overload for c-string parameters
##### Performance Improvements
- [`KT-84043`](https://youtrack.jetbrains.com/issue/KT-84043) Native: findMacros takes a lot of time with -fmodules in cinterop
##### Fixes
- [`KT-33092`](https://youtrack.jetbrains.com/issue/KT-33092) Kotlin/Native doesn't mangle names clashing with standard macros when generating Objective-C headers
- [`KT-85765`](https://youtrack.jetbrains.com/issue/KT-85765) Prohibit emitting C-interop KLIBs with `kotlin` or `kotlinx.cinterop` packages
- [`KT-87461`](https://youtrack.jetbrains.com/issue/KT-87461) Native: platform.darwin cache build failure with symbol is already bound
- [`KT-83940`](https://youtrack.jetbrains.com/issue/KT-83940) Generate IR from C-interop KLIBs without descriptors
- [`KT-84665`](https://youtrack.jetbrains.com/issue/KT-84665) Don't use KLIB resolver in the CInterop tool
- [`KT-86263`](https://youtrack.jetbrains.com/issue/KT-86263) Generate IR for forward-declared classes without descriptors
- [`KT-86871`](https://youtrack.jetbrains.com/issue/KT-86871) C-interop Klib caches are not deterministic after KT-83940
- [`KT-86559`](https://youtrack.jetbrains.com/issue/KT-86559) \[K/N] More stable `@CCall` ids
- [`KT-73656`](https://youtrack.jetbrains.com/issue/KT-73656) Native: `@OverrideInit` on a capturing local class constructor causes a compiler crash
- [`KT-85399`](https://youtrack.jetbrains.com/issue/KT-85399) Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled
- [`KT-85508`](https://youtrack.jetbrains.com/issue/KT-85508) K/N: TypeCastException when using nw\_parameters\_create\_secure\_tcp block parameter on 2.3.20
##### Native. ObjC Export
- [`KT-86443`](https://youtrack.jetbrains.com/issue/KT-86443) Native: crash in SwitchThreadState when KotlinBase methods are called from a thread without an initialized Kotlin runtime
- [`KT-85423`](https://youtrack.jetbrains.com/issue/KT-85423) Native: ObjC export throws and breaks IDE highlighting and navigation support due to mangling inconsistency
- [`KT-86069`](https://youtrack.jetbrains.com/issue/KT-86069) Native: the annotation target for `@ObjCEnum`.EntryName\` is wrong
- [`KT-83504`](https://youtrack.jetbrains.com/issue/KT-83504) ObjCExport: Source unresolved dependency
- [`KT-83505`](https://youtrack.jetbrains.com/issue/KT-83505) ObjCExport: Transitive unresolved dependency
##### Native. Runtime
- [`KT-85897`](https://youtrack.jetbrains.com/issue/KT-85897) \[K/N] C Export sometimes hangs on termination on mingw
- [`KT-85811`](https://youtrack.jetbrains.com/issue/KT-85811) K/N: FirNativeGCTestGenerated.testMemoryDump fails
- [`KT-85882`](https://youtrack.jetbrains.com/issue/KT-85882) Performance improvement in Kotlin\_getCurrentStackTrace: use vectorized/range-checkless copy
- [`KT-85077`](https://youtrack.jetbrains.com/issue/KT-85077) Native: if CoreSymbolication fails, report this to users with a troubleshooting guide
##### Native. Runtime. Memory
- [`KT-86432`](https://youtrack.jetbrains.com/issue/KT-86432) Native: PMCS GC bug - alive object seems to be freed prematurely
- [`KT-85457`](https://youtrack.jetbrains.com/issue/KT-85457) Native: TSAN tests fail with Xcode 26.4
##### Native. Swift Export
##### New Features
- [`KT-80000`](https://youtrack.jetbrains.com/issue/KT-80000) Swift Export: Sealed Classes
- [`KT-66888`](https://youtrack.jetbrains.com/issue/KT-66888) Swift Export: cross-language subtyping
- [`KT-87503`](https://youtrack.jetbrains.com/issue/KT-87503) Swift Export: Support properties in cross-language inheritance
- [`KT-87068`](https://youtrack.jetbrains.com/issue/KT-87068) Swift Export: default interface method implementations
- [`KT-86890`](https://youtrack.jetbrains.com/issue/KT-86890) Swift Export: Support async calls in cross-language subtyping
- [`KT-79477`](https://youtrack.jetbrains.com/issue/KT-79477) Make Swift Export work handle `@OptIn` declarations well
##### Fixes
- [`KT-66890`](https://youtrack.jetbrains.com/issue/KT-66890) Swift Export: cross-language protocol conformance
- [`KT-66889`](https://youtrack.jetbrains.com/issue/KT-66889) Swift Export: cross-language inheritance
- [`KT-86509`](https://youtrack.jetbrains.com/issue/KT-86509) \[Swift Export] Probable race in tests
- [`KT-87340`](https://youtrack.jetbrains.com/issue/KT-87340) \[Swift Export] runtime crash during existential creation
- [`KT-87462`](https://youtrack.jetbrains.com/issue/KT-87462) \[Swift Export] variadic params in functions requiring reverse bridges generates incomparable code
- [`KT-87221`](https://youtrack.jetbrains.com/issue/KT-87221) \[Swift Export] abstract class with inherited interface fails to compile
- [`KT-87229`](https://youtrack.jetbrains.com/issue/KT-87229) \[Swift Export] OptIn property inside interface fails to compile
- [`KT-86463`](https://youtrack.jetbrains.com/issue/KT-86463) Swift Export: nested sealed interface in kotlinx-datetime (DateTimeFormatBuilder.WithDate) is referenced but never emitted, causing Swift compile error
- [`KT-87088`](https://youtrack.jetbrains.com/issue/KT-87088) Protocols that came from cinterop should lose the `Protocol` suffix
- [`KT-87150`](https://youtrack.jetbrains.com/issue/KT-87150) \[Swift Export] member function with param named result fails to compile
- [`KT-87144`](https://youtrack.jetbrains.com/issue/KT-87144) \[Swift Export] nullable closure in member function fails to compile
- [`KT-87106`](https://youtrack.jetbrains.com/issue/KT-87106) \[Swift Export] suspend closure with context parameter fails to compile
- [`KT-86780`](https://youtrack.jetbrains.com/issue/KT-86780) Native: Swift Export coroutines tests are flaky on the CI
- [`KT-87022`](https://youtrack.jetbrains.com/issue/KT-87022) \[Swift Export] Optional Range results in incompilable code
- [`KT-86650`](https://youtrack.jetbrains.com/issue/KT-86650) \[Swift Export] Trampoulinebuilding for a function with changed argument name produces incorrect code.
- [`KT-85870`](https://youtrack.jetbrains.com/issue/KT-85870) \[Swift Export] Invalid unavailability propagation to protocol members
- [`KT-85918`](https://youtrack.jetbrains.com/issue/KT-85918) \[Swift Export] unavailable operator function fails to compile
- [`KT-85869`](https://youtrack.jetbrains.com/issue/KT-85869) \[Swift Export] `release` function conflicts with unavailable `NSObject.release`
- [`KT-85868`](https://youtrack.jetbrains.com/issue/KT-85868) \[Swift Export] Factory function conflicts with class name
- [`KT-85871`](https://youtrack.jetbrains.com/issue/KT-85871) \[Swift Export] 'AbstractCoroutineContextKey' is inaccessible due to '`@_spi`' protection level
- [`KT-85788`](https://youtrack.jetbrains.com/issue/KT-85788) \[Swift Export] Doesn't resolve generic upper bound
- [`KT-85534`](https://youtrack.jetbrains.com/issue/KT-85534) \[Swift Export] Fails to bind private class implementing deprecated public interface
- [`KT-85784`](https://youtrack.jetbrains.com/issue/KT-85784) \[Swift Export] generic class with multiple upper bounds fails
##### Tools. BCV
- [`KT-85950`](https://youtrack.jetbrains.com/issue/KT-85950) Add support of "com.android.kotlin.multiplatform.library" plugin \[ABI validation]
##### Tools. Build Tools API
##### New Features
- [`KT-84401`](https://youtrack.jetbrains.com/issue/KT-84401) BTA: implement Kotlin/JS incremental compilation support
- [`KT-78206`](https://youtrack.jetbrains.com/issue/KT-78206) BTA: implement basic Kotlin/Wasm compilation support
- [`KT-78204`](https://youtrack.jetbrains.com/issue/KT-78204) BTA: implement basic Kotlin/JS compilation support
- [`KT-78207`](https://youtrack.jetbrains.com/issue/KT-78207) BTA: implement basic Kotlin/Wasm binaries linking support
- [`KT-78205`](https://youtrack.jetbrains.com/issue/KT-78205) BTA: implement basic Kotlin/JS binaries linking support
- [`KT-78224`](https://youtrack.jetbrains.com/issue/KT-78224) BTA: implement support for metadata compilations
- [`KT-85663`](https://youtrack.jetbrains.com/issue/KT-85663) Make BTA JS Compiler Arguments Type-Safe
- [`KT-66425`](https://youtrack.jetbrains.com/issue/KT-66425) BTA: implement `ClasspathEntrySnapshot.hashCode`
- [`KT-84598`](https://youtrack.jetbrains.com/issue/KT-84598) \[BTA] Expose API Version via Public Property
- [`KT-85421`](https://youtrack.jetbrains.com/issue/KT-85421) BTA: validate arguments for invalid characters and guide users to feedback issue
##### Fixes
- [`KT-85556`](https://youtrack.jetbrains.com/issue/KT-85556) BTA: SearchPathType compiler arguments (classpath, -Xklib, -Xmodule-path) not resolved to absolute paths
- [`KT-86703`](https://youtrack.jetbrains.com/issue/KT-86703) Support JVM classpath metadata for KMP incremental compilation
- [`KT-86876`](https://youtrack.jetbrains.com/issue/KT-86876) Migrate WasmBinaryTransform to BTA
- [`KT-78209`](https://youtrack.jetbrains.com/issue/KT-78209) BTA: split Kotlin/Wasm compilation and linking arguments
- [`KT-86916`](https://youtrack.jetbrains.com/issue/KT-86916) \[BTA] adopt availableSinceVersion for WASM option holders
- [`KT-85696`](https://youtrack.jetbrains.com/issue/KT-85696) BTA: deepCopy() in JvmCompilerArgumentsImpl uses string round-trip, corrupting delimiter characters
- [`KT-85958`](https://youtrack.jetbrains.com/issue/KT-85958) argumentsToStrings produces corrupted arguments when value starts with "@​"
- [`KT-86059`](https://youtrack.jetbrains.com/issue/KT-86059) \[BTA] Handle enum parsing errors related to case sensitivity
- [`KT-86156`](https://youtrack.jetbrains.com/issue/KT-86156) BTA: report all invalid argument values at once instead of stopping at the first one
- [`KT-86702`](https://youtrack.jetbrains.com/issue/KT-86702) \[BTA] Drop JVM classpath metadata arguments
- [`KT-86676`](https://youtrack.jetbrains.com/issue/KT-86676) Add Gradle property to control KMP JVM metadata usage in incremental compilation
- [`KT-87040`](https://youtrack.jetbrains.com/issue/KT-87040) Track source-file-to-metadata-fragment mapping when writing KLIB metadata
- [`KT-78208`](https://youtrack.jetbrains.com/issue/KT-78208) BTA: split Kotlin/JS compilation and linking arguments
- [`KT-86243`](https://youtrack.jetbrains.com/issue/KT-86243) \[BTA] Compat package has wrong version of compiler on compile classpath
- [`KT-88348`](https://youtrack.jetbrains.com/issue/KT-88348) MessageCollector in IncrementalCompilerRunner drops diagnostics IDs
- [`KT-87743`](https://youtrack.jetbrains.com/issue/KT-87743) Make `KotlinCoreEnvironment.disposeApplicationEnvironment()` unnecessary for K2 BTA compilation
- [`KT-87370`](https://youtrack.jetbrains.com/issue/KT-87370) JS/Wasm history IC fails when compiler plugin generates callables
- [`KT-87597`](https://youtrack.jetbrains.com/issue/KT-87597) \[BTA] KotlinCompilationProcessFailedException causes LinkageError
- [`KT-87034`](https://youtrack.jetbrains.com/issue/KT-87034) Introduce SerializedFirMetadata to track source file per metadata fragment
- [`KT-87152`](https://youtrack.jetbrains.com/issue/KT-87152) Decouple JVM IC-specific metadata writing logic from common metadata components
- [`KT-85504`](https://youtrack.jetbrains.com/issue/KT-85504) Kotlin Daemon crashes if there is a typo in compiler args added as key-value freeCompilerArgs
- [`KT-82986`](https://youtrack.jetbrains.com/issue/KT-82986) BTA: setting unknown options may pass silently
- [`KT-86734`](https://youtrack.jetbrains.com/issue/KT-86734) Add Kotlin 2.4.0 into backward-compatibility tests
- [`KT-85093`](https://youtrack.jetbrains.com/issue/KT-85093) \[BTA] Resolve Forward Compatibility Test Blocker for X\_IGNORED\_ANNOTATIONS\_FOR\_BRIDGES
- [`KT-85787`](https://youtrack.jetbrains.com/issue/KT-85787) BTA: Distinguish typed argument values from raw string values in compatibility test descriptors
- [`KT-85736`](https://youtrack.jetbrains.com/issue/KT-85736) BTA tests: automate detection of missing versions in compatibilityTestsVersions
- [`KT-85505`](https://youtrack.jetbrains.com/issue/KT-85505) Kotlin daemon crashes if "-Xwarning-level=" compiler option is added with a syntax error
- [`KT-86247`](https://youtrack.jetbrains.com/issue/KT-86247) \[BTA] Improve -Xjsr305 parser error message: include the full failing entry
- [`KT-86117`](https://youtrack.jetbrains.com/issue/KT-86117) CRI: `fileId` is hashed from the absolute source path, not the stored relative path
- [`KT-85722`](https://youtrack.jetbrains.com/issue/KT-85722) \[SSoT, JS/Wasm] Switch to "nopack" naming for argument controlling packing of klibs to unify with Native backend
- [`KT-85702`](https://youtrack.jetbrains.com/issue/KT-85702) \[SSoT] Simplify compiler argument enum serialization by replacing per-type serializers with a generic contextual serializer
- [`KT-85607`](https://youtrack.jetbrains.com/issue/KT-85607) \[BTA] -Xignored-annotations-for-bridges missing forward compatibility support (API 2.3.20 + impl 2.4.x+)
##### Tools. CLI
##### New Features
- [`KT-86473`](https://youtrack.jetbrains.com/issue/KT-86473) Report usages of removed CLI arguments as warnings
- [`KT-86202`](https://youtrack.jetbrains.com/issue/KT-86202) Warn against disabling a language feature with a parametrized compiler argument that's already stable
##### Performance Improvements
- [`KT-87868`](https://youtrack.jetbrains.com/issue/KT-87868) In-process compilation via CLI/Build Tools API pays a large ThreadMXBean.getCurrentThreadUserTime penalty on Linux: PerformanceManager.measureSideTime measures unconditionally around every class file read
##### Fixes
- [`KT-88475`](https://youtrack.jetbrains.com/issue/KT-88475) IncrementalCompilationComponents instances are not being called anymore
- [`KT-85591`](https://youtrack.jetbrains.com/issue/KT-85591) Remove `Xklib-normalize-absolute-path` compiler argument
- [`KT-86314`](https://youtrack.jetbrains.com/issue/KT-86314) Add a CLI flag which controls ELA status
- [`KT-86284`](https://youtrack.jetbrains.com/issue/KT-86284) Deprecate using PSI mode from compiler CLI
- [`KT-86405`](https://youtrack.jetbrains.com/issue/KT-86405) Generalize reporting of deprecated CLI arguments
- [`KT-87057`](https://youtrack.jetbrains.com/issue/KT-87057) Return a legacy JVM KMP IC implementation until the proper one is implemented
- [`KT-85003`](https://youtrack.jetbrains.com/issue/KT-85003) Fix name check for `@JvmName` and `@JvmExposeBoxed`
- [`KT-86746`](https://youtrack.jetbrains.com/issue/KT-86746) Drop all org.jetbrains.kotlin.asJava usages from CLI
- [`KT-85813`](https://youtrack.jetbrains.com/issue/KT-85813) Inconsistent behavior of -Xcontext-parameters warning depending on daemon/in-process
- [`KT-85920`](https://youtrack.jetbrains.com/issue/KT-85920) Remove MessageCollector Usage from ErrorReportingContext
- [`KT-85898`](https://youtrack.jetbrains.com/issue/KT-85898) Register all KtDiagnosticsContainers
- [`KT-85187`](https://youtrack.jetbrains.com/issue/KT-85187) Add compiler argument for companion blocks & extensions
##### Tools. CLI. Native
- [`KT-87123`](https://youtrack.jetbrains.com/issue/KT-87123) Phased klib compiler does not read `-native-library` arguments
- [`KT-85538`](https://youtrack.jetbrains.com/issue/KT-85538) Native: allow using JNI in CLI tools on JDK 24+ and Unsafe on JDK 24
##### Tools. Compiler Plugin API
- [`KT-63881`](https://youtrack.jetbrains.com/issue/KT-63881) Allow registering generated properties in IrGeneratedDeclarationsRegistrar
- [`KT-86860`](https://youtrack.jetbrains.com/issue/KT-86860) Generalize `generateProperties` to support `FirVariableSymbol` but not only `FirPropertySymbol`
##### Tools. Compiler Plugins
##### New Features
- [`KT-86842`](https://youtrack.jetbrains.com/issue/KT-86842) Lombok: introduce `ARGUMENT_IS_NOT_SUPPORTED` diagnostic
##### Fixes
- [`KT-86145`](https://youtrack.jetbrains.com/issue/KT-86145) Support for `@EqualsAndHashCode` annotation on kotlin classes
- [`KT-81622`](https://youtrack.jetbrains.com/issue/KT-81622) Support `@Slf4j` and other logging annotations (`@CommonsLog`, `@Flogger`, `@JBossLog`, `@Log4j`, `@Log4j2`, `@XSlf4j`)
- [`KT-85758`](https://youtrack.jetbrains.com/issue/KT-85758) Support for `@Log` annotation on Kotlin classes
- [`KT-88179`](https://youtrack.jetbrains.com/issue/KT-88179) Power-assert: IrGenerationExtensionException (StringIndexOutOfBoundsException) when assert() wraps a context-parameter function call
- [`KT-87137`](https://youtrack.jetbrains.com/issue/KT-87137) Lombok: builder methods aren't resolved if use an existing builder and generics
- [`KT-87044`](https://youtrack.jetbrains.com/issue/KT-87044) \[DataFrame] Plugin generates a spurious backing field for generated column accessors
- [`KT-86225`](https://youtrack.jetbrains.com/issue/KT-86225) Atomicfu generates IR with out-of-scope type parameters
- [`KT-87153`](https://youtrack.jetbrains.com/issue/KT-87153) Lombok: merge module `common` into `k2 `
- [`KT-86980`](https://youtrack.jetbrains.com/issue/KT-86980) Delete sources of K1 parts of compiler plugins
- [`KT-87053`](https://youtrack.jetbrains.com/issue/KT-87053) Lombok: `@NoArgsConstructor` factory references an out-of-scope type parameter of a generic class
- [`KT-86839`](https://youtrack.jetbrains.com/issue/KT-86839) Handle `@Log` on Java classes
- [`KT-86985`](https://youtrack.jetbrains.com/issue/KT-86985) Can't use `@JvmName` on class member properties of JPA entities even when using the 'final' modifier
- [`KT-86286`](https://youtrack.jetbrains.com/issue/KT-86286) `all-open` plugin makes `@JvmRecord` classes non-final, causing compilation error "'`@JvmRecord`' class must be final"
- [`KT-86774`](https://youtrack.jetbrains.com/issue/KT-86774) PowerAssert: allow changing the last parameter to a different type if not specified
- [`KT-86620`](https://youtrack.jetbrains.com/issue/KT-86620) Lombok incorrectly detects clashing constructor with varargs argument
- [`KT-86773`](https://youtrack.jetbrains.com/issue/KT-86773) PowerAssert: sorting of possible overloads
- [`KT-83121`](https://youtrack.jetbrains.com/issue/KT-83121) Lombok. A constructor without parameters is available for a class with `@Data` and staticConstructor
- [`KT-84059`](https://youtrack.jetbrains.com/issue/KT-84059) Lombok. CANNOT\_INFER\_PARAMETER\_TYPE for toBuilder function if `@Builder` is applied to a generic class
- [`KT-84058`](https://youtrack.jetbrains.com/issue/KT-84058) Lombok. NoSuchMethodError for the builder function when `@Builder` is applied to the method
- [`KT-86058`](https://youtrack.jetbrains.com/issue/KT-86058) Check the frontend-owned plugins for the Companion blocks and extensions
- [`KT-86065`](https://youtrack.jetbrains.com/issue/KT-86065) Scripting plugin adds `HashMap<K, V>` (with HashMap's own out-of-scope type parameters) as a supertype of the synthetic REPL state class
- [`KT-86064`](https://youtrack.jetbrains.com/issue/KT-86064) Plugin sandbox generates `IrClassReferenceImpl` typed as `KClass<T>` where `T` is KClass's own type parameter
- [`KT-86063`](https://youtrack.jetbrains.com/issue/KT-86063) PowerAssert plugin generates IR call to `listOf<T>` with an out-of-scope type parameter as its type
- [`KT-86070`](https://youtrack.jetbrains.com/issue/KT-86070) PowerAssert: Enum entries should not be displayed
- [`KT-85472`](https://youtrack.jetbrains.com/issue/KT-85472) Compiler crash if use unexpected value of AccessLevel in a lombok annotation
- [`KT-85693`](https://youtrack.jetbrains.com/issue/KT-85693) Don't generate declarations with `NONE` access level
##### Tools. Compiler plugins. Compose
- [`KT-88028`](https://youtrack.jetbrains.com/issue/KT-88028) Compose compiler: IndexOutOfBoundsException in ComposableTargetAnnotationsTransformer when overriding a `@Composable` function with default parameter in another module
- [`KT-87326`](https://youtrack.jetbrains.com/issue/KT-87326) Compose compiler plugin: NoClassDefFoundError / IrLinkageError at runtime when calling `@Composable` interface method with default parameter across modules
##### Tools. Compiler plugins. Serialization
- [`KT-86224`](https://youtrack.jetbrains.com/issue/KT-86224) Serialization plugin generates IR with out-of-scope type parameters
##### Tools. Daemon
- [`KT-71048`](https://youtrack.jetbrains.com/issue/KT-71048) KotlinCompileDaemon compatibility not discriminated by JVM version
- [`KT-75840`](https://youtrack.jetbrains.com/issue/KT-75840) Almost dead daemons are considered in the daemon elections
- [`KT-85634`](https://youtrack.jetbrains.com/issue/KT-85634) -Xwarning-level warnings are escalated to errors when -Werror is enabled in BTA daemon mode
##### Tools. Gradle
##### New Features
- [`KT-80509`](https://youtrack.jetbrains.com/issue/KT-80509) Gradle: implement metadata compilation through BTA
- [`KT-78216`](https://youtrack.jetbrains.com/issue/KT-78216) Gradle: implement Kotlin/Wasm compilation and linking through BTA
- [`KT-78214`](https://youtrack.jetbrains.com/issue/KT-78214) Gradle: implement Kotlin/JS compilation and linking through BTA
- [`KT-87481`](https://youtrack.jetbrains.com/issue/KT-87481) Introduce DelicateKotlinGradlePluginApi Opt-In
- [`KT-85709`](https://youtrack.jetbrains.com/issue/KT-85709) Write Kotlin Daemon warnings and Errors to Problems API
##### Performance Improvements
- [`KT-88084`](https://youtrack.jetbrains.com/issue/KT-88084) Each build leaves a strong reference to an instance of BuildMetricsService
##### Fixes
- [`KT-83679`](https://youtrack.jetbrains.com/issue/KT-83679) Add ERROR deprecation for CleanableStore and CleanDataTask
- [`KT-87992`](https://youtrack.jetbrains.com/issue/KT-87992) Compatibility with Gradle 9.7 release
- [`KT-87256`](https://youtrack.jetbrains.com/issue/KT-87256) KotlincOutputParser fails to parse compilation errors under Gradle when task path prefixes are enabled (Kotlin 2.4.20-Beta1)
- [`KT-87509`](https://youtrack.jetbrains.com/issue/KT-87509) Stop using Gradle Problems API severity field
- [`KT-87508`](https://youtrack.jetbrains.com/issue/KT-87508) Wire buildNeeded/buildDependent only for Gradle <9.5.0
- [`KT-87994`](https://youtrack.jetbrains.com/issue/KT-87994) Run Gradle integration tests against Gradle 9.7
- [`KT-87993`](https://youtrack.jetbrains.com/issue/KT-87993) Compile against Gradle API 9.7
- [`KT-85568`](https://youtrack.jetbrains.com/issue/KT-85568) Use compiler diagnostic identifiers in KGP Problems API reporting
- [`KT-85567`](https://youtrack.jetbrains.com/issue/KT-85567) Carry compiler diagnostic identifiers through Build Tools API messages
- [`KT-85942`](https://youtrack.jetbrains.com/issue/KT-85942) Carry compiler diagnostic identifiers through MessageCollector infrastructure
- [`KT-84957`](https://youtrack.jetbrains.com/issue/KT-84957) Add configuration time build metric
- [`KT-87911`](https://youtrack.jetbrains.com/issue/KT-87911) Report an actionable diagnostic when .kar files reach compilation classpaths in Kotlin 2.4.20
- [`KT-86435`](https://youtrack.jetbrains.com/issue/KT-86435) Replace `File.ensureParentDirsCreated()` with NIO Path `createDirectories()`
- [`KT-86827`](https://youtrack.jetbrains.com/issue/KT-86827) \[KGP] Add KgpJson helper and bump kotlinx-serialization-json 1.4.0→1.4.1
- [`KT-86039`](https://youtrack.jetbrains.com/issue/KT-86039) Compile against Gradle 9.6.0 API
- [`KT-86040`](https://youtrack.jetbrains.com/issue/KT-86040) Run tests against the Gradle 9.6.0 release
- [`KT-78294`](https://youtrack.jetbrains.com/issue/KT-78294) Applying kotlin-dsl in buildSrc with org.jetbrains.kotlin.ecosystem in settings.gradle.kts causes sync failure
- [`KT-87241`](https://youtrack.jetbrains.com/issue/KT-87241) CleanDataTask.exec() deprecation message unreachable - task fails with cryptic UninitializedPropertyAccessException instead
- [`KT-87187`](https://youtrack.jetbrains.com/issue/KT-87187) Bump Apple deployment targets to match Xcode 27
- [`KT-86515`](https://youtrack.jetbrains.com/issue/KT-86515) Replace mavenLocal() with build-dir repo in KGP functional tests
- [`KT-86429`](https://youtrack.jetbrains.com/issue/KT-86429) Deprecate KGP `contentEquals()` utility, move it to internal utility function
- [`KT-76515`](https://youtrack.jetbrains.com/issue/KT-76515) IC misses dependency to recompile when named kt file with JvmField instructed property was replaced with an object with the same name
- [`KT-87186`](https://youtrack.jetbrains.com/issue/KT-87186) Fix failing testSwiftExportCoroutines
- [`KT-87160`](https://youtrack.jetbrains.com/issue/KT-87160) Fix failing Swift Export testExportingTransitiveDependencies test
- [`KT-85689`](https://youtrack.jetbrains.com/issue/KT-85689) Delete `prepareDeps` from kotlin repo
- [`KT-86118`](https://youtrack.jetbrains.com/issue/KT-86118) CRI: Enabling `kotlin.compiler.generateCompilerRefIndex` does not invalidate `compileKotlin` UP-TO-DATE state
- [`KT-85901`](https://youtrack.jetbrains.com/issue/KT-85901) \[Gradle] Refactor KGP functional test task configuration to use file-backed system properties
- [`KT-66381`](https://youtrack.jetbrains.com/issue/KT-66381) Build reports in JSON: incorrect path to a json build report is printed to build output if a relative path defined as a value for kotlin.build.report.json.directory property
- [`KT-55452`](https://youtrack.jetbrains.com/issue/KT-55452) Values of the compiler arguments set via KotlinCompile task configuration are duplicated by the KaptGenerateStubs task
- [`KT-57653`](https://youtrack.jetbrains.com/issue/KT-57653) Explicit API mode is not enabled when free compiler arguments are specified in Gradle project
##### Tools. Gradle. Compiler plugins
- [`KT-84811`](https://youtrack.jetbrains.com/issue/KT-84811) PowerAssert: Gradle configuration option for default sourcesets to transform
##### Tools. Gradle. JS
##### New Features
- [`KT-87484`](https://youtrack.jetbrains.com/issue/KT-87484) Update Browser JS Test DSL after DM for 2.4.20-Beta2
- [`KT-86260`](https://youtrack.jetbrains.com/issue/KT-86260) Integrate Playwright with JS Tests pipeline
- [`KT-86707`](https://youtrack.jetbrains.com/issue/KT-86707) Cover new Browser Js Test DSL with diagnostics and invariant checks
- [`KT-86715`](https://youtrack.jetbrains.com/issue/KT-86715) Add ability to configure Dev-server URL (or specification) to run browser tests from
- [`KT-87483`](https://youtrack.jetbrains.com/issue/KT-87483) Mark parts of JS Test DSL with DelicateAPI
- [`KT-86630`](https://youtrack.jetbrains.com/issue/KT-86630) Introduce mocha browser runner for kotlin test as part of kotlin-web-helpers
##### Fixes
- [`KT-87647`](https://youtrack.jetbrains.com/issue/KT-87647) Upgrade tooling NPM dependencies versions for 2.4.20
- [`KT-85854`](https://youtrack.jetbrains.com/issue/KT-85854) Improve AbstractSetupTask logging
- [`KT-84724`](https://youtrack.jetbrains.com/issue/KT-84724) NPM dependency versions do not invalidate KotlinWebpack task cache key in kotlin multiplatform project
- [`KT-84790`](https://youtrack.jetbrains.com/issue/KT-84790) Use package.json as 'source of truth' for KGP npm tooling dependencies
- [`KT-87052`](https://youtrack.jetbrains.com/issue/KT-87052) JS tests: browser downloading hangs in Windows
- [`KT-86958`](https://youtrack.jetbrains.com/issue/KT-86958) Unclear error for js test failure on timeout
- [`KT-87674`](https://youtrack.jetbrains.com/issue/KT-87674) JsBrowserTestsIT test fails with an error on Linux
- [`KT-86911`](https://youtrack.jetbrains.com/issue/KT-86911) Configured post-processing for playwright reports missing an input or output annotation
- [`KT-87501`](https://youtrack.jetbrains.com/issue/KT-87501) Throw an error if new JS test DSL is used with Wasm
- [`KT-87600`](https://youtrack.jetbrains.com/issue/KT-87600) Playwright install on multiple subprojects cause Gradle build to fail
- [`KT-87023`](https://youtrack.jetbrains.com/issue/KT-87023) Add ability to change / set path to custom browser executable
- [`KT-86922`](https://youtrack.jetbrains.com/issue/KT-86922) Correct browserDefaults timeout
- [`KT-86106`](https://youtrack.jetbrains.com/issue/KT-86106) Fix task dependency in KGP lockfile generation
- [`KT-86271`](https://youtrack.jetbrains.com/issue/KT-86271) \[WasmJs/Js] 2.4.0-Beta2 - Node version not compatible with popular JS dependencies
##### Tools. Gradle. Multiplatform
- [`KT-82398`](https://youtrack.jetbrains.com/issue/KT-82398) KMP Separate Compilation: missing fragment dependencies to commonized cinterop
- [`KT-88154`](https://youtrack.jetbrains.com/issue/KT-88154) Swift PM lock file is ignored on switching version from `exact` to `from`
- [`KT-88107`](https://youtrack.jetbrains.com/issue/KT-88107) clean task leave swiftpm checkout in root build directory
- [`KT-88104`](https://youtrack.jetbrains.com/issue/KT-88104) dumpXcodebuildArgs task fails if the root build directory is removed
- [`KT-87790`](https://youtrack.jetbrains.com/issue/KT-87790) Kotlin 2.4.0 increases Gradle sync times
- [`KT-83917`](https://youtrack.jetbrains.com/issue/KT-83917) compileCommonMainKotlinMetadata fails in CMP core repository with Kotlin 2.3.20-Beta1
- [`KT-81434`](https://youtrack.jetbrains.com/issue/KT-81434) \[uklib] androidCompileClasspath resolves java compatibility variant instead of android for uklib library
##### Tools. Gradle. Native
##### New Features
- [`KT-84852`](https://youtrack.jetbrains.com/issue/KT-84852) Wire linkage package integration check with Swift Export's embedAndSign
- [`KT-84420`](https://youtrack.jetbrains.com/issue/KT-84420) Figure out the handling of XCFramework when SwiftPM dependencies are involved
- [`KT-85797`](https://youtrack.jetbrains.com/issue/KT-85797) Use faster findMacros in SwiftPM import cinterops
- [`KT-86155`](https://youtrack.jetbrains.com/issue/KT-86155) Print what changed in the linkage package
- [`KT-86667`](https://youtrack.jetbrains.com/issue/KT-86667) Switch off sandboxing in integrateEmbedAndSign
- [`KT-86047`](https://youtrack.jetbrains.com/issue/KT-86047) Suggest CocoaPods -> SwiftPM migration skill and documentation on cocoapods plugin application
##### Fixes
- [`KT-86995`](https://youtrack.jetbrains.com/issue/KT-86995) Cocoapods plugin: pass all frameworks to the compiler
- [`KT-86015`](https://youtrack.jetbrains.com/issue/KT-86015) Swift export binary doesn't see main compilation cinterop output
- [`KT-85468`](https://youtrack.jetbrains.com/issue/KT-85468) Don't fail IDE import if the SwiftPM import pipeline has failed somewhere
- [`KT-86288`](https://youtrack.jetbrains.com/issue/KT-86288) Eliminate redundant SwiftPM fetch tasks using shared fingerprinting strategy
- [`KT-87196`](https://youtrack.jetbrains.com/issue/KT-87196) Ld override falls apart in Xcode 27
- [`KT-87667`](https://youtrack.jetbrains.com/issue/KT-87667) SwiftPM import can deadlock when joiner tasks submit blocking workers before owner starts
- [`KT-84223`](https://youtrack.jetbrains.com/issue/KT-84223) Move local SwiftPM package IO validation and name inference from configuration time to execution time
- [`KT-85961`](https://youtrack.jetbrains.com/issue/KT-85961) integrateLinkagePackage without parameters fails with an obscure error
- [`KT-84238`](https://youtrack.jetbrains.com/issue/KT-84238) SPM Import: Ensure generated Package.swift preserves symlinks in local package paths
##### Tools. Gradle. Wasm
##### New Features
- [`KT-86633`](https://youtrack.jetbrains.com/issue/KT-86633) K/Wasm: Introduce wasmtime support as a runtime for wasm-wasi target in KGP
- [`KT-87258`](https://youtrack.jetbrains.com/issue/KT-87258) K/Wasm: Introduce a way to use multimodule compilation only for development
- [`KT-86919`](https://youtrack.jetbrains.com/issue/KT-86919) K/Wasm: Allow to configure wasm compilation mode
##### Fixes
- [`KT-88566`](https://youtrack.jetbrains.com/issue/KT-88566) K/Wasm: Webpack configuration generated after user defined chunks from the webpack.config.d directory
- [`KT-88285`](https://youtrack.jetbrains.com/issue/KT-88285) WasmJS tooling version overrides are ignored
- [`KT-88115`](https://youtrack.jetbrains.com/issue/KT-88115) "Your lockfile needs to be updated": Outdated bundled yarn.lock breaks kotlinWasmToolingSetup with --frozen-lockfile
- [`KT-86878`](https://youtrack.jetbrains.com/issue/KT-86878) K/Wasm: Update wasmtime to 46.0.0
- [`KT-86673`](https://youtrack.jetbrains.com/issue/KT-86673) K/Wasm: update binaryen to 130
- [`KT-82419`](https://youtrack.jetbrains.com/issue/KT-82419) wasm failed to compile on windows arm64
- [`KT-85688`](https://youtrack.jetbrains.com/issue/KT-85688) K/Wasm: Remove setting of failOnNoDiscoveredTests in Wasm Gradle tests
- [`KT-86054`](https://youtrack.jetbrains.com/issue/KT-86054) K/Wasm: Not set sourceMapBaseDir if there is no sourceMap property in JS and Wasm
- [`KT-85861`](https://youtrack.jetbrains.com/issue/KT-85861) K/Wasm: Upgrade NPM dependencies
- [`KT-85806`](https://youtrack.jetbrains.com/issue/KT-85806) K/Wasm: Do not rewrite native\_implementations.kt file path in source map
##### Tools. Gradle. Xcode
- [`KT-86858`](https://youtrack.jetbrains.com/issue/KT-86858) Eager SwiftPM check in XCFramework task crashes if Kotlin extension is not yet registered
##### Tools. Incremental Compile
- [`KT-85074`](https://youtrack.jetbrains.com/issue/KT-85074) IC: false build success when anonymous class fails to implement new abstract member from another module's interface
- [`KT-86781`](https://youtrack.jetbrains.com/issue/KT-86781) Deprecate FIR based incremental runner
- [`KT-87217`](https://youtrack.jetbrains.com/issue/KT-87217) JS/Wasm IC: "Could not close incremental caches" with "Storage is already registered"
- [`KT-85241`](https://youtrack.jetbrains.com/issue/KT-85241) IC: star-import conflicts are not re-evaluated after adding new declarations, leading to missed ambiguity errors
- [`KT-60584`](https://youtrack.jetbrains.com/issue/KT-60584) IC does not propagate RequiresOptIn level change effect transitively
- [`KT-84271`](https://youtrack.jetbrains.com/issue/KT-84271) Kotlin Incremental compilation failure "The following FqNames can't be derived from DirtyData.dirtyLookupSymbols"
- [`KT-85740`](https://youtrack.jetbrains.com/issue/KT-85740) Incremental compilation misses classpath removal when removed type is used only in a dependency's method signature
- [`KT-85642`](https://youtrack.jetbrains.com/issue/KT-85642) IC: Classpath snapshot cache may serve stale entries when snapshot file is overwritten at the same path
##### Tools. Kapt
- [`KT-85195`](https://youtrack.jetbrains.com/issue/KT-85195) KAPT: IntroducedAt is not supported in KAPT
- [`KT-86550`](https://youtrack.jetbrains.com/issue/KT-86550) Kapt: properties with context parameters are translated incorrectly
- [`KT-86003`](https://youtrack.jetbrains.com/issue/KT-86003) Remove MessageCollector usage from kapt
- [`KT-85453`](https://youtrack.jetbrains.com/issue/KT-85453) Make :kotlin-annotation-processing-cli:test cacheable
##### Tools. Maven
- [`KT-83374`](https://youtrack.jetbrains.com/issue/KT-83374) CRI: it is not clear that CRI generation requires IC being enabled in Maven
- [`KT-85622`](https://youtrack.jetbrains.com/issue/KT-85622) \[Maven] setting kotlin.compiler.jdkRelease without explicit jvmTarget causes compilation failure due to conflicting default
- [`KT-61667`](https://youtrack.jetbrains.com/issue/KT-61667) Maven: -Xjdk-release=20 leads to "'-Xjdk-release=20' option conflicts with '-jvm-target 1.8'. Please remove the '-jvm-target' option"
- [`KT-84163`](https://youtrack.jetbrains.com/issue/KT-84163) Maven smart defaults: <sourceDirectory> and <testSourceDirectory> overrides not respected
##### Tools. Performance benchmarks
- [`KT-85233`](https://youtrack.jetbrains.com/issue/KT-85233) Refine benchmarks module and add new custom long-running tests to it
##### Tools. REPL
- [`KT-86290`](https://youtrack.jetbrains.com/issue/KT-86290) Drop GenericReplTest & LegacyReplTest
##### Tools. Scripts
- [`KT-87958`](https://youtrack.jetbrains.com/issue/KT-87958) K2 scripting: FirPropertyImpl transformation crash when using class from `@file`:Import-ed script in 2.4.0+
- [`KT-87041`](https://youtrack.jetbrains.com/issue/KT-87041) Scripting: classpath extraction fails to extract stdlib from kotlinc
- [`KT-87331`](https://youtrack.jetbrains.com/issue/KT-87331) Scripting: compiling scripts with kotlinc doesn't update the compilation config after refinement
- [`KT-87042`](https://youtrack.jetbrains.com/issue/KT-87042) Scripting cache test fails on the `kotlin` runner
- [`KT-86391`](https://youtrack.jetbrains.com/issue/KT-86391) Drop SkipStandaloneScriptsInSourceRoots
- [`KT-85105`](https://youtrack.jetbrains.com/issue/KT-85105) Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object
- [`KT-85103`](https://youtrack.jetbrains.com/issue/KT-85103) Exception while generating code when explain destructuring decls
##### Tools. Wasm
- [`KT-86407`](https://youtrack.jetbrains.com/issue/KT-86407) Get rid of '-Xwasm' usages in Kotlin project
- [`KT-83434`](https://youtrack.jetbrains.com/issue/KT-83434) K/Wasm: add wasm-wasi stdlib into compiler distribution (dist/)
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDIuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI0Mi4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
Renovate-Bot
changed title from Update dependency org.jetbrains.kotlin:kotlin-stdlib-jdk8 to v2.4.20 to Update kotlin to v2.4.202026-09-08 10:14:31 +00:00
You are not authorized to merge this pull request.
This pull request can be merged automatically.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
2.4.10→2.4.202.4.10→2.4.20Release Notes
JetBrains/kotlin (org.jetbrains.kotlin.jvm)
v2.4.20Analysis API
KT-86546Check suspicious when over ConeKotlinType in ConeTypeCompatibilityCheckerKT-85418Implement an API for accessing deserialized file annotations in Analysis APIKT-74448K2. False positive MISSING_DEPENDENCY_SUPERCLASS in LinkedListTest.kt, kotlinx.coroutinesKT-85856containingSymbol of constructor property differs for local and non-local classesKT-65417K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source setsAnalysis API. Code Compilation
KT-76457K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvmAnalysis API. FIR
KT-70552No expects for actualKT-69727K2 IDE. Wrong error in the editor on callingclonefunction of actual enum instance in non-jvm platformKT-69726FP errors on declaringfun clone()in actual enum in not-jvm source-setKT-86014Types are broken after remove parameter through change signatureKT-86363KotlinIllegalArgumentExceptionWithAttachments: No dangling modifier found on companion blocksKT-86147Dropkotlin.parallel.resolve.under.global.lockregistry keyKT-85543Avoid lazy resolve for the contracts phase if no constracts might be resolvedAnalysis API. Infrastructure
KT-84914Do not publish analysis-api-test-frameworkKT-86986kotlin-compiler-common-for-idebundles unrelated Analysis API modulesKT-86186Analysis API: Codebase tests run twice in some analysis modules — pick a single JUnit runner and migrateKT-85360Drop kotlin-compiler-testdata-for-ide artifactKT-85585Simplify the dependencies graph for the Analysis API modulesKT-85381Remove tests for the FE10 implementationAnalysis API. Light Classes
New Features
KT-84645Support resolving to companion block members & extensions from Java (light classes)KT-80775Support PsiClass#getRecordComponents in light classesFixes
KT-57537SLC: propagate default parameter value from (@JvmOverloads)expectdeclarations toactualdeclarationsKT-85040[Analysis API] Improve Java / Kotlin interop in KMP projectsKT-87301SymbolLightAccessorMethod#isValid returns false for delegated propertiesKT-87171SLC: non-mapped Kotlin collection supertype is dropped from supertype listKT-87250JvmExposeBoxed: light classes shouldn't be autogenerated for private declarationsKT-70428AA: good code is red when a Java class extends a Kotlin class implementing MutableList by delegationKT-63568Symbol Light Classes: KtAnnotationApplicationWithArgumentsInfo.normalizedArguments() may work incorrectly when psi is not setKT-36740MPP: False-positive incompatible types in .java when using expect-class returned by non-expect member from common when actual is actual typealiasKT-67749Analysis API: Symbol Light classes should be available only to pure JVM sourcesKT-68169K2 IDE. KMP. False positive type mismatch in java file of jvm source-set when using common declaration which expects StringKT-37783KMP Java Interop: JVM-only methods on actual superclass not resolved in Java for common subclassKT-40059Provide type correction for expect/actual types used from Java-codeKT-71429MPP: False positive "Function1 is not a functional interface" when calling code from Common in JavaKT-70426SLC: kotlin.Collection#size is not exposed by defaultKT-60480Symbol Light Classes: Classes implementing kotlin.collections.* interfaces don't implement all methods from the corresponding java.util.* interfacesKT-36991IDE: "both methods have same erasure" for Java classes directly or indirectly extending Kotlin collectionsKT-22594KotlinCollection.getSize is not highlighted as an error in JavaAnalysis API. PSI
KT-84925Move KtReference to the Kotlin IntelliJ pluginKT-85052Move mutation methods out of the Kotlin PSIKT-85427Use factory-like pattern instead of reflection in KtNodeTypeKT-84789Ensure allKtClassBody.parentusages are correctKT-85154PSI: "AE: parent is ERROR_ELEMENT" with top-level destructuring declarationAnalysis API. Providers and Caches
KT-82220Analysis API: Support platform-specific session components and checkers in metadata sessionsKT-76526Incorrect built-in module is provided for non-JVM sources in StandaloneAnalysis API. Standalone
KT-83191Analysis API: JvmDependenciesIndexImpl performs very poorly for large classpathsKT-61404Analysis API: implement proper library publishing structureKT-85112AA does not see packages from unpacked klibsKT-86417Support parameters in 'getExpectsForActual()'KT-84916Metadata stub deserializers aren't properly set up for Analysis API StandaloneAnalysis API. Stubs and Decompilation
KT-86250KotlinIllegalArgumentExceptionWithAttachments: No fir element was found for KtDestructuringDeclaration on destructuring declaration typingKT-86520KotlinDeclarationInCompiledFileSearcher doesn't support visibility-mangled declarationsKT-64901Inconsistency between AST and Stub tree in the case of non-local destructuring declarationsKT-84444Support stubs for companion blocks & extensionsAnalysis API. Surface
New Features
KT-73214AddKaScope#declarationswith name filterKT-69085Provide API to retrieve label/name from KtFunctionLikeSymbolKT-70771KaLocalVariableSymbol: supportisDelegatedPropertyKT-85037Add API for KaFunctionType's returnType modificationKT-80460AA: IntroduceKtExpression.isStableForSmartCastingAPIKT-66566AA: api to create functional typesKT-65912Analysis API: Implement type building API for all KtTypePerformance Improvements
KT-70021Analysis API: optimize KaFirExpressionTypeProvider.expressionType for simple casesFixes
KT-66039K2: Analysis API: redesign resolution APIKT-86394Resolve from KDoc reference is inconsistent with source codeKT-87337Integrate KaContextParameterOwnerSymbol into KaCallableSymbolKT-78234Analysis API: Context parameters for accessorsKT-86786Investigate suspicious when over ConeKotlinType in ConeKotlinType.getDirectSupertypesKT-72902Shouldn'tKaSymbolProvider#findClassreturnKaNamedClassSymbol?KT-87237No expected type insidearrayOfin annotation entriesKT-87143findKDocreturns parent property KDoc for accessors of an overriding propertyKT-83224Support "Compile-time functions" in the Analysis APIKT-87174Expected class KaFirSymbol instead of class KaFirPackageSymbol exceptionKT-87199[Analysis API] RemoveKaEnumEntryInitializerSymbolKT-85382Remove the FE10 implementationKT-70774Unary operators on literals are not resolvableKT-85206Provide information about potentially removable context-sensitive resolution qualifiers via Analysis APIKT-86872KtOperationReferenceExpressionshould beKtResolvableCallKT-85800Analysis API: The internal utilityPrettyPrinteris used in the public API surfaceKT-73796Consider "KaAnnotation#useSiteTarget" removalKT-70794K2 IDE: Reference to object does not resolve as LHS in "plusAssign" assignment expressionKT-86757Flaky annotations result for@allannotation on a backing fieldKT-86681[Analysis API] MoveisDelegatedtoKaVariableSymbolKT-86685collectCallCandidates works incorrectly for a constructor vs. a companion invokeKT-86514No expected type within collection literal in annotation entry using array rather than varargsKT-76076K2 AA: safe call expression navigates to parent array index access expressionKT-86418Support property accessors in 'getExpectsForActual()'KT-71312KaFirPsiJavaClassSymbol.{hasAnnotations, annotationSimpleNames}is inconsistent withFirJavaClassimplementationKT-86248isUsedAsExpressiontrue for typealias lhs in ::KT-85778Analysis API: Ensure that all public endpoints in implementation modules are internal or opt-inKT-78285resolveToCallCandidates inconsistent behaviour with invoke operator and constructorKT-85852CCE in buildClassTypeKT-85989Super type references should be aware of type alias constructorsKT-84184[Analysis API] Provide a unification substitutor APIKT-84584Support companion extensions and blocks in the Analysis APIKT-84932Deprecate utilities exposed through analysis-internal-utilsKT-73059Consider dropping of KaOriginalPsiProviderKT-73050KaFirSymbolRelationProvider#expectsForActual: suspicius logic for KaReceiverParameterSymbolKT-71101[AA] Consider getting rid of KaTypeNullabilityBackend. J2KLIB
KT-88165Add Support for -XheaderModeType=compilation to improve header compilation performanceKT-86239[JKLIB] Investigate which type system context is needed in JklibIrLinkerKT-88306[JKLIB] Unbound symbols for kotlin.coroutines.SuspendFunctionNKT-88120[JKLIB] Add -jvm-target to K2JKlibCompilerArgumentsKT-88176[JKLIB] DeserializationStrategy.WITH_INLINE_BODIES when deserializaing dependenciesKT-88163Allow to disable firAggressivePrunner for JklibBackend. Native. Debug
KT-85264[Native] Stepping trace starts with// test.kt:1 boxin some debug stepping testsKT-81740Native: importing konan_lldb.py to lldb prints a warningBackend. Wasm
Fixes
KT-73452K/Wasm: turning on range checks by defaultKT-83171K/Wasm: Investigate import.meta usage in mjs filesKT-83159K/Wasm: generate one common base class fun interfaces (including Function*)KT-82843K/Wasm: pass a lambda call helpers to convert funs as an argument instead of exporting themKT-86123[Wasm] Callable reference refactoring (KT-83159) broke klib binary compatibility with libraries compiled by Kotlin 2.0.xKT-83356K/Wasm: Difference in behavior on nested class initialization (for enums?)KT-87639[Wasm] Multimodule wasm fails on Pointer usagesKT-87583Wasm IC cache is not invalidated when kotlin.wasm.compilationMode changes causing IndexOutOfBoundsException in WasmDeserializerKT-84267K/Wasm: init order of companion objects is different from JVMKT-86192K/Wasm: Raise a warning on usage of top-level require in JsFunKT-86242K/Wasm: deprecate and prohibit usingwasmExportsKT-86245K/Wasm: provide an API to get a reference to wasm memoryKT-84610[Wasm] Failed to compile klibs in IC modeKT-87078Wasm/JS: OutOfMemoryError (or BufferUnderflowException) during incremental compilation of multiple files with@JsExportKT-76207K/Wasm: prototype generating suspend functions with stack-switching proposalKT-86166[Wasm] Make possible to have passing test in multimodule but having it fail in monolithKT-71039[Wasm, IC] Investigate synthetic function types loadingKT-71505[Wasm, IC] Incremental step can produce wrong main function callKT-86822K/Wasm: don't cast the result of calling callable references with Unit return typeKT-86180[Wasm] backward compatibility is broken in 2.1->2.2 by changed order of type parametersKT-86640[wasm]: Single-module test failures with companion object initializersKT-66105Wasm: SyntaxError: Identifier 'box' has already been declaredKT-83245K/Wasm: Run stepping tests with local variables with K/WasmKT-86478K/Wasm JS: StringBuilder.setLength crashes when growing with js-string builtinsKT-84667wasm: Add general support for custom sections/annotationsKT-85506[Wasm/WASI] Stdlib readLn and readlnOrNull implementationKT-85270K/Wasm: incremental compilation fails with NoSuchElementException when a stdlib call is removedCompiler
New Features
KT-73431Unresolved reference errors should state the type they're acting onKT-80373Add initial support for release compiler cachesKT-84618Emit a warning when an undesrcore variable is assigned to a Unit expressionKT-86409[KMP] Create JVM IC metadata outputKT-84295Support Companion BlockofOperator for Collection LiteralsKT-84956Resolve of references to static & companion object members of generic classKT-85925Native: rework virtual trampolines machineryKT-86657Native: turn on incremental compilation by defaultKT-86018Short-form of name-based destructuring for multi-field value classesKT-86406Swift Export: support supercalls for cross-language inheritanceKT-77616Native: consider adding an annotation that enforces thread state switching for a@SymbolNameexternal fun`KT-86410[KMP] Implement acceptance of JVM IC metadata from previous compilationKT-85593ELA: Support multiple lambda argumentsKT-83040Collection literals: ensure normal interaction with CFGKT-84333Collection literals: type inference in delegate expressionKT-84289Resolution to Companion Block & Extension Invoke OperatorKT-82961Type inference from upper type for type parameters designed for tracking of checked exceptionsKT-81444False positive: "Overload resolution ambiguity" with@OverloadResolutionByLambdaReturnTypeand multiple lambda parametersKT-75736Enable reading/writing annotations in metadata on JVM by defaultPerformance Improvements
KT-85621Native: fix optimization in CastsOptimizationKT-69758FastJarFS - avoid copying data on inflating (JDK 16+)KT-85647Compilation performance regression in AbstractFirDeserializedSymbolProvider since 2.3.20KT-86104[JVM] use static methods/fields of KTypeProjection in typeOf generated bytecodeKT-86084IDEA freezes when a lot of properties are modified to lazy delegatesKT-83068Investigate long compilation times with many generics & overloadsKT-66469Long compilation with mockk importKT-79677Remove meaningless LVT recordsFixes
KT-88953CCE caused by suspend conversion of nullable argument to nullable expected typeKT-85842Collection literals (and CSR): internal failure when lambda is analyzed during inference of outer callKT-86751IntroducedAt: Do not generate@IntroducedAtoverloads as syntheticKT-81708K/N incremental compilation:No module deserializer for FUN name:writeObjectKT-82510K/N, IC: "Undefined symbols for architecture arm64" for iosSimulatorArm64 withkotlin.incremental.native=trueKT-88316K/N: StackOverflowError in CastsOptimization when two nullable local variables are assigned to each other across nested loopsKT-80841Confusing positioning of NO_VALUE_FOR_PARAMETERKT-85300Improve message for UNRESOLVED_REFERENCE_WRONG_RECEIVERKT-87983CCE on member extension property delegated to bound property referenceKT-85403kotlin.NoWhenBranchMatchedException on Kotlin Native with sealed interfaceKT-87922K1FakeDescriptorsForReferencesKt classes duplicated between kotlin-scripting-compiler-embeddable and kotlin-build-tools-implKT-87499ClassCastException "Float cannot be cast to Unit" when a suspend function's result is discarded in a when-branchKT-85656[NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS] False negative for nested type aliasKT-85641Nullable-marked object qualifiers in LHSs of callable referencesKT-86957Warning on the underscore variable is not reported for java.lang.Void callKT-87261K/N debug: 'is' check miscompilation — local variable reports wrong type when two smart-cast extractions precede an inline loopKT-87577Compiler crash on red code with ambiguous type parameter used as expressionKT-80867[Native] Stack allocation is blocked after cross-module inlining of stdlibKT-86949Native: ComputeTypesPass handles type checks across loop iterations wrongKT-86959Native: OptimizeCasts gets confused by "complex" terms leaking between different loop iterationsKT-78079Enable generation ofwhenusing invokedynamic by default for JVM targets 21+KT-86525JvmExposeBoxed: Inconsistent number of parameters during reflectionKT-72999K/N: Do not considerIrTypeOperatorCallas a tail call expressionKT-84802Add new synthetic class flag to JVM metadataKT-87606Compiler crash on red code with redeclaration of type parameter which is used as expressionKT-85888Native: incremental compilation blows up when a method changes from open to finalKT-87335Context parameters: wrong LINENUMBER emitted for context argument loads in JVM bytecodeKT-84344Disambiguate fake source elements for source-based symbol IDsKT-86618Collection literals: internal PCLA failure with reassignmentKT-85703Drop pre-2.0 language features from K2 & common compiler codeKT-87245Report UnsupportedFeature on ExplicitContextArgumentKT-80227Support unnamed context parameters in evaluationKT-72706Confusing "INVISIBLE_REFERENCE" when calling private constructorKT-86110K/N Incremental compilation: stale cache is reused after enum entry reorderKT-86133K/N IC: stale cache is reused after reified inline body changeKT-30728"VerifyError: Operand stack underflow" on crossinline lambda usage inside inline function in anonymous objectKT-87507False-positiveABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTEDon fake-override with value parameter of type missing in dependenciesKT-87439Postpone UnitConversionsOnArbitraryExpressions indefinetelyKT-87434JAVA_CLASS_ON_COMPANION not reported when companion accessed through typealiasKT-64622[K/N]arutility fails with symbol@in module/klib name on Linux with static cacheKT-84037Native: reworkarinvocations in the compilerKT-87339JVM: Support recursive type provided as an argument of typeOfKT-86551Check suspicious when over ConeKotlinType in FirExposedVisibilityDeclarationChecker#findVisibilityExposureKT-87395StackOverflowError in return value checker when a Java class member is annotated with the class's own nested annotationKT-87290Investigate possible bug in value class deserializationKT-61141K/N: irText tests failed with K/N irText first runKT-85764Native: Prohibit compiling sources in 'kotlin' package by defaultKT-86469Check 'when's over 'ConeKotlinType' which could miss some branches in DFAKT-87253MissedConeCapturedTypecheck in processing ofequalscontractsKT-84522Refactor FirResolvedQualifierKT-84299resolvedToCompanionObjectis not set in some situationsKT-87327JVM IR: NullPointerException in JvmInlineClassLowering when using == between value of generic value class and another value classKT-86948Native: CastsOptimization merges results of type checks across loop iterations wrongKT-86947Native: CastsOptimization drops side effects of always-nullsafe castsKT-87276Drop or move ConeTypeCompatibilityCheckerKT-78623No-arg constructor should be generated if all parameters are optional, even when one of the parameters is inline typeKT-86886Kotlin Lombok: compiler crash with IllegalArgumentException on builder with a single type parameterKT-83880Consider makingOPERATOR_RENAMED_ON_IMPORTa warning (instead of error)KT-70461K2: "Inline class types should have the same representation" caused by value class and smart checkKT-87140K/N: Test generation leaksBaseClassSuite'sINSTANCEtype parameterKT-87291Enable ProhibitScriptTopLevelInnerClasses in 2.5KT-87226CompanionBlocksAndExtensions: COMPANION_EXTENSION_RECEIVER_IS_OBJECT diagnostic is absent when object used via typealiasKT-87058Investigate abandoned language featuresKT-86655mismatched mutability annotations in overriding lead to misaligned behavior in warn-mode and strict-modeKT-85169Return value checker: RETURN_VALUE_NOT_USED: object expression highlighted entirely instead of just the keywordKT-86464SupportisPublicAbiJVM metadata flag for anonymous and synthetic local classesKT-87083JVM: AssertionError in if UIntArray is declared in sourcesKT-87032JvmExposeBoxed: forbid private@JvmExposeBoxeddeclarationsKT-85954Implicit JvmExposeBoxed leads to IOOBE when data class constructor accepts nullable inline classKT-85955Implicit JvmExposeBoxed: double default constructor parameter leads to IOOBEKT-86523JvmExposeBoxed: Cannot generate code for exposed constructor with default parameter referencing another default parameterKT-86524JvmExposeBoxed: Collection does not implement abstract methodKT-86526JvmExposeBoxed: Sequence contains more than one matching elementKT-86865Support abstract full value classes with non-trivial constructorsKT-87016DropANNOTATION_ON_ANNOTATION_ARGUMENTdiagnosticKT-86615K2: Missing INVALID_CHARACTERS diagnostic for enum entry name with illegal JVM characters, leading to runtime ClassFormatErrorKT-86849Remove old@JvmInlinemulti-field value classesKT-87014[KGP] failing testSwiftExportCoroutinesKT-86481Compilation failure with spreadarrayOfinsidearrayOfKT-86996unwrapVarargValuedoes not consider some casesKT-86955K2: Companion block funs in interfaces have OPEN modality after Fir2IRKT-87035K2: Context parameter type leaks unsubstituted into callable-reference adapterKT-86940Diagnostic range of NONE_APPLICABLE in enum entry is hard to seeKT-86046Put@K1Deprecationto all public declarations of K1 modulesKT-86555CL-based annotation resolve: clean up CFG-related hacksKT-86482Collection literals: do not fallback if not supertype ofListis expectedKT-84154Invalid qualifiers with type arguments in package parts compile without diagnosticsKT-85288Consider dropping use-site target checks in checkRepeatedAnnotation and similar placesKT-85469Native: potential concurrency problem with cachesKT-81567Add a use-site warning if a@DslMarker-marked annotation is used on entities where it is a no-opKT-86853FIR:Char.codenot being const-evaluated under IntrinsicConstEvaluation featureKT-86877Postpone ELA-related language featuresKT-86852Initialize full value classes fields before calling superKT-86824Native: support spaces in paths for LinuxKT-85816Drop remaining usages of ComponentRegistrarKT-86534Extract reworked annotations resolution under separate language featureKT-82555@Deprecated(HIDDEN)` objects not skipped when resolving qualifiersKT-84626Try to combineFirConstChecksandFirExpressionEvaluatorKT-85291MFVC: consider analyzing the type of declaration instead of use-site target in AnnotationCheckerKT-86755False negative NATIVE_SPECIFIC_ATOMIC in type argumentsKT-86752K2: False negative NO_REFLECTION_IN_CLASS_PATH on type parameters, intersection types, captured typesKT-85972[ArrayEqualityCanBeReplacedWithContentEquals checker] Checker misses smart-cast array operands when the original type is a type parameterKT-85970[ArrayEqualityCanBeReplacedWithContentEquals checker] Warning message mentions ==/=== instead of !=/!== for inequality operatorKT-86705False positive REDUNDANT_SINGLE_EXPRESSION_STRING_TEMPLATE for nullable String? expressions with -WextraKT-86798Native: don't use stale incremental cache when a new compiler version is usedKT-86298LEAKED_IN_PLACE_LAMBDA when a lambda parameter is forwarded into an inline function parameterKT-76632K2: False positive "Assigned value is never read" with 'flatMap()'KT-86699Kotlin/Native: get rid of OptimizeTLSDataLoadsKT-86577Companion block member is determined as a fake overrideKT-86646IllegalStateException "unknown supertype kind null" when compiling data class with definitely non-nullable type parameter (U : T & Any)KT-86662Check for loss of ConeIntersectionType.upperBoundForApproximationKT-86629Approximation of Intersection Type to Upper Bound is Broken by Bang Bang OperatorKT-86115Platform declaration clash on no-arg constructor with@JvmExposeBoxedand@IntroducedAtKT-86643Warning for returning callsInPlace lambdaKT-86609MakeKDocSectionimplementPsiLanguageInjectionHostKT-86642Flexible type with nullable intersection types in both boundsKT-85148Native: check/fix KT-72710 Incorrect behaviour of tail call suspend functions optimizationKT-85230False negative deprecation diagnostics on import of member of nested classKT-62467K2: Result type of elvis operator should be flexible if rhs is flexibleKT-86319K2: StackOverflowError in AbstractConeSubstitutor with recursive Java type bound under mixed JSpecify@NullMarked/@NullUnmarkedKT-86512K2: Bad IR for adapted callable reference to function with generic vararg and optional parameterKT-85947Collection literals: internal failure when SAM is expectedKT-85535Collection literals: Migrate to new resolve in annotations under "-Xcollection-literals"KT-86468K2: False negative DSL_SCOPE_VIOLATION when type parameter has DSL-annotated boundKT-86292False negative: INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION_WARNING reported for direct getValue call but not for equivalent by delegationKT-86467K2: False negative ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL with DNN, flexible, captured and intersection receiver typesKT-85848Recursion on value classes through type parametersKT-75874K2: Adjust the type mismatch diagnostic on lambda parametersKT-82456K2. Missing deprecation for object with invokeKT-86184KDoc: syntax highlighting incorrect when@param,@return, or summary line begins with a backtickKT-85454Make :compiler:android-tests:test cacheableKT-51400Additional independent candidate with@OverloadResolutionByLambdaReturnTypecould change inference resultsKT-86042Inference fixes lambda's return type variable too earlyKT-86327Add flag toLanguageFeatureenum to enable it in the latest language version testsKT-84718Provide information for simple names resolved through imports which might be resolved via context-sensitive in IDE modeKT-75112FE resolves wrong receivers order for property passed to delegateKT-86191Check not null on a dynamic-typed property leads to malformed CFGKT-86143operatorkeyword is allowed on arbitrary equals in enum entriesKT-73197Order-dependent choice of overload by lambda return type with UnitKT-86144Unresolved code in ambiguous plus assign is not reportedKT-86006CFG: Exponential growth when visiting unresolved delegates in FirLocalVariableAssignmentAnalyzerKT-86103Incorrectly reportedCONFLICTING_OVERLOADon companion memberKT-85965Native: incremental compilation blows up with NoSuchFileException: class_fieldsKT-86005Fix misuse of DeferredMethodVisitor.intermediate in AnonymousObjectTransformerKT-72840[JVM Inliner] Two failsAFTER mandatory stack transformations: incorrect bytecodeKT-84589ProhibitArray<Nothing>in lhs of::classKT-84766Kotlin/Native: separate compiler cache for latin1Strings=trueKT-82899Native IC: AIOOBE on coroutinesKT-85188Don't poison binaries with companion blocks & extensions for LV >= 2.5KT-80176ASSERT FAILED: SDE.c : 296 - bad SourceDebugExtension syntax - position 376 - expected ':'KT-84581Inline function with@JvmOverloadsproduces SourceDebugExtension attribute with invalid line numbersKT-85203Kotlin/Native: "Invalid LLVM module - Instruction does not dominate all uses" with nested inline suspend functions and withContextKT-85766Confusing error message "'this' is not defined in this context" on companion extension delegated propertyKT-85720K2: Missing null check in generic vararg function call when passing value of flexible typeKT-85701K2: Type parameter is out of bounds forIMPLICIT_DYNAMIC_CASTKT-82196False positive: "Recursive call is not a tail call" inside when/if with lambda and elvisKT-85841Error message for NULLABLE_ON_DEFINITELY_NOT_NULLABLE uses obsolete term for DNN typesKT-81932False positive TAIL_RECURSION_IN_TRY_IS_NOT_SUPPORTED caused by try in another branch inside tailrec functionKT-78443Refactor session component initialization for multi-target compilationKT-85661Lazy resolve for substituted property accessors with a contract doesn't workKT-84719Provide information for qualified types that might be replaced with context-sensitive simple names in IDE modeKT-85667Add experimental language version 2.6KT-85770Support companion block properties in interfacesKT-85168Generate static initializers as proper IR functionsKT-74516False negative TYPE_PARAMETER_AS_REIFIED for DNN typeKT-85733Illegal unqualified resolution to companion extension through scope linkingKT-85679Internal Compiler Error when trying to access a value parameter from companion blockKT-85358Native: roll back the workaround for KT-84678 once MapLibre has been properly fixedKT-81814Field name '$$context-Functor#1' cannot be represented in dex formatKT-6071Change USELESS_CAST warning messageKT-85626@JvmRecordin commonMain breaks compileCommonMainKotlinMetadata with "Cannot access 'java.lang.Record'"KT-85527Unmute Android tests after removing IGNORE_BACKEND_K1 directiveKT-84939Kotlin/Native: support llvm passes in -Xsave-llvm-ir-afterKT-85341K2."TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM" false positive on accesses to properties of an anonymous objectKT-84861Support Companion Blocks & Extensions in Scripts/REPLKT-84327Name-based destructuring conflicts with in-scope functionsKT-78678Checking for nullable type against nullable type falls back to inline-when generation mechanismKT-83652Confusing messages when using package parts with type arguments in qualifiersKT-75372Deprecate K1 compilerKT-80093Type inference depends on the presence of transitive dependencyKT-68933CompilationException: Back-end: Could not get inlined classKT-63746K2: JSpecify: If a class has a@Nullabletype-parameter bound, Kotlin should still treat unbounded wildcards like platform typesKT-17738Java cannot extend class implementing kotlin.collections.MapCompose compiler
Fixes
b/549552317Fixed a bug that, in certain cases, prevented execution ofnon-local return
statementsinside lambdas called fromwhenexpressions.
b/543684938Fix composable singleton in function with type parametersb/537617330Fixed a bug that caused miscompilation of cross-module callsto getters and setters, causing spurious runtime errors.
b/522127447Fixed a bug that was making the stability of pre-cast types beused in certain skipping checks instead of the stability of post-cast
types
b/489339299Move Compose runtime to a stable versionb/509945632Always wrap inline lambdas with a composable group with a groupb/422193018FixcallableInferenceNodeOfinComposableTargetChecker.ktIR. Inlining
KT-86558Forbid accesing volatile references after inliningKT-87272IR: Function value is inlined with out-of-scope type parameterKT-87274IR: Synthetic accessors are generated with out of scope type parametersKT-79065Try to removeNativeRuntimeReflectionIrBuilderKT-72464[Native][JS][Wasm] Non-local return through suspend conversion breaks the IR inlinerIR. Tree
Fixes
KT-69305Re-enable reporting out-of-scope type parameter usages during pre-lowering IR validationKT-86943Investigate if lambdas must be transformed into static or regular functionsKT-73921False negative: tailrec checkers with recursive functions (without tail recursion)KT-85896Type parameter is out of bounds (in setter) for a property with context parametersKT-85698Type parameter is out of bounds (in setter) for an extension property with type parameterKT-85575KLIBs: Add IR text & ABI dump tests for companion blocks and companion extensionsKT-87138IR: Rich callable reference to an inner-class member leaks outer class type parameters into the generated adapterKT-74938Use SYNTHETIC_OFFSET in IR fake overridesKT-87105[Tests][IR] Unify or split IR dump for different backendsKT-87292IR: Droplateinitmodifier fromIrFile.modulepropertyKT-86884IrTreeSymbolVisitor is not visiting symbols declared in non-final classKT-85147K/N: Segfault when calling SAM instance converted to type with nullable type parameter upper boundKT-86527Remove unreachable code from UpgradeCallableReferencesKT-85673ReplaceclassIdwithIrClassSymbolinIrAnnotationKT-85572KLIBs: New signatures for companion funs/valsKT-78175Remove remaining usages of attributeOwnerId outside of JVM backendKT-85573Store "companion parameter" in IR of funs/vals declared as companion extensionsJVM. Reflection
New Features
KT-73657Fix kotlin-reflect performance issues for reflection operations common for both reflection implementation: stdlib and kotlin-reflectFixes
KT-86477Reflection: test builtin class contentsKT-87369Reflection: KClass.members fails on Java class with self-referential raw type boundsKT-76521Reflection: change KType representation to avoid dependency on K1KT-85902Reflection: support call/callBy for companion blocks & extensionsKT-85903Reflection: do not inherit companion block members from supertypes inKClass.membersKT-86709Reflection: KRIE with Reaktor on fresh masterKT-86101Reflection: additional Java constructors are not added for mapped builtins in the new implementationKT-86545Reflection: extra Serializable supertype for non-mapped enum classes in "kotlin" packageKT-83677Reflection: aliased extension function type is rendered as non-extension in toStringKT-85836Reflection: KotlinReflectionInternalError on isSubtypeOf with definitely-not-null typeKT-83986Reflection: java.io.Serializable is not shown in supertypes of Int type in new reflectionKT-84495Reflection: "KotlinReflectionInternalError: Annotation class not found: kotlin/jvm/internal/EnhancedNullability" on Java Optional typeKT-86177Reflection: incorrect modality of Java constructors in the new implementationJavaScript
Fixes
KT-88571K/JS: "llegalStateException: Internal error: cannot find external signature" caused by@Serializableenum in 2.4.20-RCKT-87410[K/JS] Companion block initialization order of super types differs from JVMKT-86273@JsExport.Ignore does not work properly with data classes propertiesKT-85599Allow exporting annotation classes into JS/TSKT-86934K/JS: Stack overflow when implementing interface with suspend fun using anonymous objectKT-80188Design exporting of suspend lambdas into JS/TSKT-87127KJS:@JsPlainObjectfactory contains duplicated parametersKT-70622Kotlin/JS: Incremental compilation doesn't recompile kotlin js stdlib while changing a collectionKT-87307[JS] Reflection: runtime KClass of a Long value differs from Long::classKT-85990K/JS: Default parameter values ignored in@JsStaticsuspend functions when class is exportedKT-84992Remove body of isLongCompiledToBigInt intrinsic after boostrap version updatedKT-40768KJS: initialization order for companion objects (inherited classes) different from K/JVMKT-87074KJS: Fix inheritance issues in Analysis API-based TypeScript exportKT-75176Add infrastructure for bundle size testingKT-85616[K/JS] Add synthetic and internal compiler APIs into sourcemap'signoreListKT-70223Delete the source code for the legacy JS backendKT-73067Drop support for the legacy JS metadata from the metadata decompilerKT-82224Respect file-level annotations in Analysis API-based TypeScript exportKT-82340Implement supertype approximation in Analysis API-based TypeScript ExportKT-82317Support Kotlin collections in Analysis API-based TypeScript ExportKT-84710Kotlin/JS: Suspending default interface methods are not accessible on subclasses from JSKT-19819JS: source maps: write the longest common prefix of all paths to "sourceRoot" fieldKT-82266Support transitive export in Analysis API-based TypeScript exportKT-80991K/JS/Wasm interop: JsReference.get is easy to accidentally use in JS targetKT-85424Replace eachjscall withjsClassIntrinsicafter bootstrappingKT-84457KJS: Support implementable interfaces in Analysis API-based TypeScript ExportKT-85452K/JS: Cannot create static member with@JsStaticin non-companion objectKT-83462Usage of star projection makes any generic type not-exportableKT-85563Kotlin/JS: TypeScript mts files do not properly escape enum valuesKT-60899K2 JS: Implement warning NO_REFLECTION_IN_CLASS_PATHKlibs
Performance Improvements
KT-84837Introduce an index in IR linker for faster look up of suitable module deserializersFixes
KT-84821[K/N] Loadlibclangstubsfrom configured pathKT-87294[Wasm] Implement Wasi Klib backward compatibility testingKT-86320[PL] Replacing unusable classifiers with Any? type may cause a signature clashKT-86632KLIBs: Rework serialization logic for IrTypeAliasKT-87006Extract/remove K1-specific parts from :kotlin-util-klib-metadataKT-81947[Wasm] Klib backward and forward compatibility testingKT-81659Load symbols on 2nd compilation stage without frontend involvementKT-85611Change usage ofKlibCompilerDeserializationConfigurationin IntelliJ toCommonCompilerDeserializationConfigurationKT-86451Get rid of deprecated '-no-endorsed-libs' usages in Kotlin projectKT-85578KLIBs: New manifest property to indicate "new initialization order"KT-84836Minimize usages of IrBuiltIns in the KotlinIrLinkerKT-86037[Tests] Split test directive IGNORE_KLIB_BACKEND_ERRORS_WITH_CUSTOM_FIRST_STAGEKT-86228Simplify Klib's ReadBufferKT-58409[KLIB Reproducibility] File path separators should be platform-independent in KLIBsKT-74417Deduce the metadata version based on LV in KLIB-based backendsKT-76195CombinetoJvmMetadataVersionandtoKlibMetadataVersionKT-84750[K/N] Set "kotlin.native.home" appropriately in forward testing ofmaster-> 2.4.0-Beta2KT-85805AtomicfuNativeKlibSyntheticAccessorTestGenerated brokenKT-85587[Tests] Update test data so it ignores failing compatibility tests correctlyKT-85359ExportKlibToOlderAbiVersion with LV=2.2 is silently ignoredKT-85290Make :native:native.tests:klib-compatibility:testMinimalInAggregate cachableKT-85080Klib/IR Tests TC configuration -- need to explicitly download the necessary dependenciesKT-84990Investigate the usage ofallDependencyModulesin IR linkerKT-84349[Wasm] Implement forward klib compatibility testingKT-71414KotlinLibraryResolver.resolveWithDependencies was evolved in binary incompatible wayLanguage Design
KT-86089Explicit context arguments: Stable releaseKT-11914Confusing data class copy with private constructorKT-86761DM 2026-06-08: Another round on ELA (2)KT-86895Make full value classes poison buildsKT-86201Name-based destructuring stable release ofonly-syntaxin 2.5KT-7882Generic vs Non-Generic and implicit Unit return typeKT-78796Decide the future of the AllowEagerSupertypeAccessibilityChecks language featureLibraries
New Features
KT-30270Provide allDistinct() and allDistinctBy{} for iterablesKT-10380allEqual function for IterableKT-31305Support JUnit5-like assertions with message suppliers in kotlin-testKT-86595Introduce StackTraceRecoverable interface into the standard libraryKT-86766Add@EqualityBounddeclaration to stdlibPerformance Improvements
KT-86010K/N, K/Wasm: MatchResultImpl function arguments checks takes significant portion of time for regex with capturing groupsKT-86032K/N, K/Wasm: BitSet::get allocates objects for each accessFixes
KT-86329Update kotlinx.collections.immutable in Kotlin project to 0.5.0KT-86053Update kotlin-metadata-jvm for the companion blocks and extensionsKT-87173isSortedBy and isSortedByDescending inline their selector twice at every call siteKT-87166allEqualBy inlines its selector twice at every call siteKT-85020Path.copyToRecursively silently corrupts directory structure when copying across file systems with different path separatorsKT-86696return-value-checker: false positive Path.setPosixFilePermissions and Path.setLastModifiedTimeKT-86470Stdlib doc: Wrong timestamp in kotlin.time.Instant.parse example (leads to InstantFormatException)KT-80654K/N and K/Wasm: implement missing Regex testsKT-85326Libraries: rangeUntil docs sample code uses a rangeTo exampleKT-82505API reference: add links to array transformations returning arrays from their list-returning counterpartsKT-57883Description and code mismatch in CoroutineContextImpl.ktKT-65526Rewrite builtins as expect-actualNative
KT-74844kotlin.native.internal.FileFailedToInitializeExceptionwhen running native tests with Kotlin 2.1.20-Beta2KT-80830[K/N] -Xruntime-logs doesn't work with cachesKT-36076KotlinNullPointerException: Gradle parallel compilation fails on 1.3.70Native. Build Infrastructure
KT-86889Kotlin/Native: restore benchmarks after bootstrap updateKT-82607[K/N] Dist build fails when gradle daemon was started on a JRE (i.e., without JNI headers)KT-85451Native: migrate the remaining tests to testFixturesKT-86725Kotlin/Native: make KonanCacheTask aware of per-file cachesKT-85823Kotlin/Native: delete outputs in :kotlin-native:distNativeLibsKT-85522Kotlin/Native: llvmLinkBreakpadMainMacos_arm64 failsNative. C and ObjC Import
New Features
KT-86654[K/N]CValuesRefoverload for c-string parametersPerformance Improvements
KT-84043Native: findMacros takes a lot of time with -fmodules in cinteropFixes
KT-33092Kotlin/Native doesn't mangle names clashing with standard macros when generating Objective-C headersKT-85765Prohibit emitting C-interop KLIBs withkotlinorkotlinx.cinteroppackagesKT-87461Native: platform.darwin cache build failure with symbol is already boundKT-83940Generate IR from C-interop KLIBs without descriptorsKT-84665Don't use KLIB resolver in the CInterop toolKT-86263Generate IR for forward-declared classes without descriptorsKT-86871C-interop Klib caches are not deterministic after KT-83940KT-86559[K/N] More stable@CCallidsKT-73656Native:@OverrideIniton a capturing local class constructor causes a compiler crashKT-85399Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabledKT-85508K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20Native. ObjC Export
KT-86443Native: crash in SwitchThreadState when KotlinBase methods are called from a thread without an initialized Kotlin runtimeKT-85423Native: ObjC export throws and breaks IDE highlighting and navigation support due to mangling inconsistencyKT-86069Native: the annotation target for@ObjCEnum.EntryName` is wrongKT-83504ObjCExport: Source unresolved dependencyKT-83505ObjCExport: Transitive unresolved dependencyNative. Runtime
KT-85897[K/N] C Export sometimes hangs on termination on mingwKT-85811K/N: FirNativeGCTestGenerated.testMemoryDump failsKT-85882Performance improvement in Kotlin_getCurrentStackTrace: use vectorized/range-checkless copyKT-85077Native: if CoreSymbolication fails, report this to users with a troubleshooting guideNative. Runtime. Memory
KT-86432Native: PMCS GC bug - alive object seems to be freed prematurelyKT-85457Native: TSAN tests fail with Xcode 26.4Native. Swift Export
New Features
KT-80000Swift Export: Sealed ClassesKT-66888Swift Export: cross-language subtypingKT-87503Swift Export: Support properties in cross-language inheritanceKT-87068Swift Export: default interface method implementationsKT-86890Swift Export: Support async calls in cross-language subtypingKT-79477Make Swift Export work handle@OptIndeclarations wellFixes
KT-66890Swift Export: cross-language protocol conformanceKT-66889Swift Export: cross-language inheritanceKT-86509[Swift Export] Probable race in testsKT-87340[Swift Export] runtime crash during existential creationKT-87462[Swift Export] variadic params in functions requiring reverse bridges generates incomparable codeKT-87221[Swift Export] abstract class with inherited interface fails to compileKT-87229[Swift Export] OptIn property inside interface fails to compileKT-86463Swift Export: nested sealed interface in kotlinx-datetime (DateTimeFormatBuilder.WithDate) is referenced but never emitted, causing Swift compile errorKT-87088Protocols that came from cinterop should lose theProtocolsuffixKT-87150[Swift Export] member function with param named result fails to compileKT-87144[Swift Export] nullable closure in member function fails to compileKT-87106[Swift Export] suspend closure with context parameter fails to compileKT-86780Native: Swift Export coroutines tests are flaky on the CIKT-87022[Swift Export] Optional Range results in incompilable codeKT-86650[Swift Export] Trampoulinebuilding for a function with changed argument name produces incorrect code.KT-85870[Swift Export] Invalid unavailability propagation to protocol membersKT-85918[Swift Export] unavailable operator function fails to compileKT-85869[Swift Export]releasefunction conflicts with unavailableNSObject.releaseKT-85868[Swift Export] Factory function conflicts with class nameKT-85871[Swift Export] 'AbstractCoroutineContextKey' is inaccessible due to '@_spi' protection levelKT-85788[Swift Export] Doesn't resolve generic upper boundKT-85534[Swift Export] Fails to bind private class implementing deprecated public interfaceKT-85784[Swift Export] generic class with multiple upper bounds failsTools. BCV
KT-85950Add support of "com.android.kotlin.multiplatform.library" plugin [ABI validation]Tools. Build Tools API
New Features
KT-84401BTA: implement Kotlin/JS incremental compilation supportKT-78206BTA: implement basic Kotlin/Wasm compilation supportKT-78204BTA: implement basic Kotlin/JS compilation supportKT-78207BTA: implement basic Kotlin/Wasm binaries linking supportKT-78205BTA: implement basic Kotlin/JS binaries linking supportKT-78224BTA: implement support for metadata compilationsKT-85663Make BTA JS Compiler Arguments Type-SafeKT-66425BTA: implementClasspathEntrySnapshot.hashCodeKT-84598[BTA] Expose API Version via Public PropertyKT-85421BTA: validate arguments for invalid characters and guide users to feedback issueFixes
KT-85556BTA: SearchPathType compiler arguments (classpath, -Xklib, -Xmodule-path) not resolved to absolute pathsKT-86703Support JVM classpath metadata for KMP incremental compilationKT-86876Migrate WasmBinaryTransform to BTAKT-78209BTA: split Kotlin/Wasm compilation and linking argumentsKT-86916[BTA] adopt availableSinceVersion for WASM option holdersKT-85696BTA: deepCopy() in JvmCompilerArgumentsImpl uses string round-trip, corrupting delimiter charactersKT-85958argumentsToStrings produces corrupted arguments when value starts with "@"KT-86059[BTA] Handle enum parsing errors related to case sensitivityKT-86156BTA: report all invalid argument values at once instead of stopping at the first oneKT-86702[BTA] Drop JVM classpath metadata argumentsKT-86676Add Gradle property to control KMP JVM metadata usage in incremental compilationKT-87040Track source-file-to-metadata-fragment mapping when writing KLIB metadataKT-78208BTA: split Kotlin/JS compilation and linking argumentsKT-86243[BTA] Compat package has wrong version of compiler on compile classpathKT-88348MessageCollector in IncrementalCompilerRunner drops diagnostics IDsKT-87743MakeKotlinCoreEnvironment.disposeApplicationEnvironment()unnecessary for K2 BTA compilationKT-87370JS/Wasm history IC fails when compiler plugin generates callablesKT-87597[BTA] KotlinCompilationProcessFailedException causes LinkageErrorKT-87034Introduce SerializedFirMetadata to track source file per metadata fragmentKT-87152Decouple JVM IC-specific metadata writing logic from common metadata componentsKT-85504Kotlin Daemon crashes if there is a typo in compiler args added as key-value freeCompilerArgsKT-82986BTA: setting unknown options may pass silentlyKT-86734Add Kotlin 2.4.0 into backward-compatibility testsKT-85093[BTA] Resolve Forward Compatibility Test Blocker for X_IGNORED_ANNOTATIONS_FOR_BRIDGESKT-85787BTA: Distinguish typed argument values from raw string values in compatibility test descriptorsKT-85736BTA tests: automate detection of missing versions in compatibilityTestsVersionsKT-85505Kotlin daemon crashes if "-Xwarning-level=" compiler option is added with a syntax errorKT-86247[BTA] Improve -Xjsr305 parser error message: include the full failing entryKT-86117CRI:fileIdis hashed from the absolute source path, not the stored relative pathKT-85722[SSoT, JS/Wasm] Switch to "nopack" naming for argument controlling packing of klibs to unify with Native backendKT-85702[SSoT] Simplify compiler argument enum serialization by replacing per-type serializers with a generic contextual serializerKT-85607[BTA] -Xignored-annotations-for-bridges missing forward compatibility support (API 2.3.20 + impl 2.4.x+)Tools. CLI
New Features
KT-86473Report usages of removed CLI arguments as warningsKT-86202Warn against disabling a language feature with a parametrized compiler argument that's already stablePerformance Improvements
KT-87868In-process compilation via CLI/Build Tools API pays a large ThreadMXBean.getCurrentThreadUserTime penalty on Linux: PerformanceManager.measureSideTime measures unconditionally around every class file readFixes
KT-88475IncrementalCompilationComponents instances are not being called anymoreKT-85591RemoveXklib-normalize-absolute-pathcompiler argumentKT-86314Add a CLI flag which controls ELA statusKT-86284Deprecate using PSI mode from compiler CLIKT-86405Generalize reporting of deprecated CLI argumentsKT-87057Return a legacy JVM KMP IC implementation until the proper one is implementedKT-85003Fix name check for@JvmNameand@JvmExposeBoxedKT-86746Drop all org.jetbrains.kotlin.asJava usages from CLIKT-85813Inconsistent behavior of -Xcontext-parameters warning depending on daemon/in-processKT-85920Remove MessageCollector Usage from ErrorReportingContextKT-85898Register all KtDiagnosticsContainersKT-85187Add compiler argument for companion blocks & extensionsTools. CLI. Native
KT-87123Phased klib compiler does not read-native-libraryargumentsKT-85538Native: allow using JNI in CLI tools on JDK 24+ and Unsafe on JDK 24Tools. Compiler Plugin API
KT-63881Allow registering generated properties in IrGeneratedDeclarationsRegistrarKT-86860GeneralizegeneratePropertiesto supportFirVariableSymbolbut not onlyFirPropertySymbolTools. Compiler Plugins
New Features
KT-86842Lombok: introduceARGUMENT_IS_NOT_SUPPORTEDdiagnosticFixes
KT-86145Support for@EqualsAndHashCodeannotation on kotlin classesKT-81622Support@Slf4jand other logging annotations (@CommonsLog,@Flogger,@JBossLog,@Log4j,@Log4j2,@XSlf4j)KT-85758Support for@Logannotation on Kotlin classesKT-88179Power-assert: IrGenerationExtensionException (StringIndexOutOfBoundsException) when assert() wraps a context-parameter function callKT-87137Lombok: builder methods aren't resolved if use an existing builder and genericsKT-87044[DataFrame] Plugin generates a spurious backing field for generated column accessorsKT-86225Atomicfu generates IR with out-of-scope type parametersKT-87153Lombok: merge modulecommonintok2KT-86980Delete sources of K1 parts of compiler pluginsKT-87053Lombok:@NoArgsConstructorfactory references an out-of-scope type parameter of a generic classKT-86839Handle@Logon Java classesKT-86985Can't use@JvmNameon class member properties of JPA entities even when using the 'final' modifierKT-86286all-openplugin makes@JvmRecordclasses non-final, causing compilation error "'@JvmRecord' class must be final"KT-86774PowerAssert: allow changing the last parameter to a different type if not specifiedKT-86620Lombok incorrectly detects clashing constructor with varargs argumentKT-86773PowerAssert: sorting of possible overloadsKT-83121Lombok. A constructor without parameters is available for a class with@Dataand staticConstructorKT-84059Lombok. CANNOT_INFER_PARAMETER_TYPE for toBuilder function if@Builderis applied to a generic classKT-84058Lombok. NoSuchMethodError for the builder function when@Builderis applied to the methodKT-86058Check the frontend-owned plugins for the Companion blocks and extensionsKT-86065Scripting plugin addsHashMap<K, V>(with HashMap's own out-of-scope type parameters) as a supertype of the synthetic REPL state classKT-86064Plugin sandbox generatesIrClassReferenceImpltyped asKClass<T>whereTis KClass's own type parameterKT-86063PowerAssert plugin generates IR call tolistOf<T>with an out-of-scope type parameter as its typeKT-86070PowerAssert: Enum entries should not be displayedKT-85472Compiler crash if use unexpected value of AccessLevel in a lombok annotationKT-85693Don't generate declarations withNONEaccess levelTools. Compiler plugins. Compose
KT-88028Compose compiler: IndexOutOfBoundsException in ComposableTargetAnnotationsTransformer when overriding a@Composablefunction with default parameter in another moduleKT-87326Compose compiler plugin: NoClassDefFoundError / IrLinkageError at runtime when calling@Composableinterface method with default parameter across modulesTools. Compiler plugins. Serialization
KT-86224Serialization plugin generates IR with out-of-scope type parametersTools. Daemon
KT-71048KotlinCompileDaemon compatibility not discriminated by JVM versionKT-75840Almost dead daemons are considered in the daemon electionsKT-85634-Xwarning-level warnings are escalated to errors when -Werror is enabled in BTA daemon modeTools. Gradle
New Features
KT-80509Gradle: implement metadata compilation through BTAKT-78216Gradle: implement Kotlin/Wasm compilation and linking through BTAKT-78214Gradle: implement Kotlin/JS compilation and linking through BTAKT-87481Introduce DelicateKotlinGradlePluginApi Opt-InKT-85709Write Kotlin Daemon warnings and Errors to Problems APIPerformance Improvements
KT-88084Each build leaves a strong reference to an instance of BuildMetricsServiceFixes
KT-83679Add ERROR deprecation for CleanableStore and CleanDataTaskKT-87992Compatibility with Gradle 9.7 releaseKT-87256KotlincOutputParser fails to parse compilation errors under Gradle when task path prefixes are enabled (Kotlin 2.4.20-Beta1)KT-87509Stop using Gradle Problems API severity fieldKT-87508Wire buildNeeded/buildDependent only for Gradle <9.5.0KT-87994Run Gradle integration tests against Gradle 9.7KT-87993Compile against Gradle API 9.7KT-85568Use compiler diagnostic identifiers in KGP Problems API reportingKT-85567Carry compiler diagnostic identifiers through Build Tools API messagesKT-85942Carry compiler diagnostic identifiers through MessageCollector infrastructureKT-84957Add configuration time build metricKT-87911Report an actionable diagnostic when .kar files reach compilation classpaths in Kotlin 2.4.20KT-86435ReplaceFile.ensureParentDirsCreated()with NIO PathcreateDirectories()KT-86827[KGP] Add KgpJson helper and bump kotlinx-serialization-json 1.4.0→1.4.1KT-86039Compile against Gradle 9.6.0 APIKT-86040Run tests against the Gradle 9.6.0 releaseKT-78294Applying kotlin-dsl in buildSrc with org.jetbrains.kotlin.ecosystem in settings.gradle.kts causes sync failureKT-87241CleanDataTask.exec() deprecation message unreachable - task fails with cryptic UninitializedPropertyAccessException insteadKT-87187Bump Apple deployment targets to match Xcode 27KT-86515Replace mavenLocal() with build-dir repo in KGP functional testsKT-86429Deprecate KGPcontentEquals()utility, move it to internal utility functionKT-76515IC misses dependency to recompile when named kt file with JvmField instructed property was replaced with an object with the same nameKT-87186Fix failing testSwiftExportCoroutinesKT-87160Fix failing Swift Export testExportingTransitiveDependencies testKT-85689DeleteprepareDepsfrom kotlin repoKT-86118CRI: Enablingkotlin.compiler.generateCompilerRefIndexdoes not invalidatecompileKotlinUP-TO-DATE stateKT-85901[Gradle] Refactor KGP functional test task configuration to use file-backed system propertiesKT-66381Build reports in JSON: incorrect path to a json build report is printed to build output if a relative path defined as a value for kotlin.build.report.json.directory propertyKT-55452Values of the compiler arguments set via KotlinCompile task configuration are duplicated by the KaptGenerateStubs taskKT-57653Explicit API mode is not enabled when free compiler arguments are specified in Gradle projectTools. Gradle. Compiler plugins
KT-84811PowerAssert: Gradle configuration option for default sourcesets to transformTools. Gradle. JS
New Features
KT-87484Update Browser JS Test DSL after DM for 2.4.20-Beta2KT-86260Integrate Playwright with JS Tests pipelineKT-86707Cover new Browser Js Test DSL with diagnostics and invariant checksKT-86715Add ability to configure Dev-server URL (or specification) to run browser tests fromKT-87483Mark parts of JS Test DSL with DelicateAPIKT-86630Introduce mocha browser runner for kotlin test as part of kotlin-web-helpersFixes
KT-87647Upgrade tooling NPM dependencies versions for 2.4.20KT-85854Improve AbstractSetupTask loggingKT-84724NPM dependency versions do not invalidate KotlinWebpack task cache key in kotlin multiplatform projectKT-84790Use package.json as 'source of truth' for KGP npm tooling dependenciesKT-87052JS tests: browser downloading hangs in WindowsKT-86958Unclear error for js test failure on timeoutKT-87674JsBrowserTestsIT test fails with an error on LinuxKT-86911Configured post-processing for playwright reports missing an input or output annotationKT-87501Throw an error if new JS test DSL is used with WasmKT-87600Playwright install on multiple subprojects cause Gradle build to failKT-87023Add ability to change / set path to custom browser executableKT-86922Correct browserDefaults timeoutKT-86106Fix task dependency in KGP lockfile generationKT-86271[WasmJs/Js] 2.4.0-Beta2 - Node version not compatible with popular JS dependenciesTools. Gradle. Multiplatform
KT-82398KMP Separate Compilation: missing fragment dependencies to commonized cinteropKT-88154Swift PM lock file is ignored on switching version fromexacttofromKT-88107clean task leave swiftpm checkout in root build directoryKT-88104dumpXcodebuildArgs task fails if the root build directory is removedKT-87790Kotlin 2.4.0 increases Gradle sync timesKT-83917compileCommonMainKotlinMetadata fails in CMP core repository with Kotlin 2.3.20-Beta1KT-81434[uklib] androidCompileClasspath resolves java compatibility variant instead of android for uklib libraryTools. Gradle. Native
New Features
KT-84852Wire linkage package integration check with Swift Export's embedAndSignKT-84420Figure out the handling of XCFramework when SwiftPM dependencies are involvedKT-85797Use faster findMacros in SwiftPM import cinteropsKT-86155Print what changed in the linkage packageKT-86667Switch off sandboxing in integrateEmbedAndSignKT-86047Suggest CocoaPods -> SwiftPM migration skill and documentation on cocoapods plugin applicationFixes
KT-86995Cocoapods plugin: pass all frameworks to the compilerKT-86015Swift export binary doesn't see main compilation cinterop outputKT-85468Don't fail IDE import if the SwiftPM import pipeline has failed somewhereKT-86288Eliminate redundant SwiftPM fetch tasks using shared fingerprinting strategyKT-87196Ld override falls apart in Xcode 27KT-87667SwiftPM import can deadlock when joiner tasks submit blocking workers before owner startsKT-84223Move local SwiftPM package IO validation and name inference from configuration time to execution timeKT-85961integrateLinkagePackage without parameters fails with an obscure errorKT-84238SPM Import: Ensure generated Package.swift preserves symlinks in local package pathsTools. Gradle. Wasm
New Features
KT-86633K/Wasm: Introduce wasmtime support as a runtime for wasm-wasi target in KGPKT-87258K/Wasm: Introduce a way to use multimodule compilation only for developmentKT-86919K/Wasm: Allow to configure wasm compilation modeFixes
KT-88566K/Wasm: Webpack configuration generated after user defined chunks from the webpack.config.d directoryKT-88285WasmJS tooling version overrides are ignoredKT-88115"Your lockfile needs to be updated": Outdated bundled yarn.lock breaks kotlinWasmToolingSetup with --frozen-lockfileKT-86878K/Wasm: Update wasmtime to 46.0.0KT-86673K/Wasm: update binaryen to 130KT-82419wasm failed to compile on windows arm64KT-85688K/Wasm: Remove setting of failOnNoDiscoveredTests in Wasm Gradle testsKT-86054K/Wasm: Not set sourceMapBaseDir if there is no sourceMap property in JS and WasmKT-85861K/Wasm: Upgrade NPM dependenciesKT-85806K/Wasm: Do not rewrite native_implementations.kt file path in source mapTools. Gradle. Xcode
KT-86858Eager SwiftPM check in XCFramework task crashes if Kotlin extension is not yet registeredTools. Incremental Compile
KT-85074IC: false build success when anonymous class fails to implement new abstract member from another module's interfaceKT-86781Deprecate FIR based incremental runnerKT-87217JS/Wasm IC: "Could not close incremental caches" with "Storage is already registered"KT-85241IC: star-import conflicts are not re-evaluated after adding new declarations, leading to missed ambiguity errorsKT-60584IC does not propagate RequiresOptIn level change effect transitivelyKT-84271Kotlin Incremental compilation failure "The following FqNames can't be derived from DirtyData.dirtyLookupSymbols"KT-85740Incremental compilation misses classpath removal when removed type is used only in a dependency's method signatureKT-85642IC: Classpath snapshot cache may serve stale entries when snapshot file is overwritten at the same pathTools. Kapt
KT-85195KAPT: IntroducedAt is not supported in KAPTKT-86550Kapt: properties with context parameters are translated incorrectlyKT-86003Remove MessageCollector usage from kaptKT-85453Make :kotlin-annotation-processing-cli:test cacheableTools. Maven
KT-83374CRI: it is not clear that CRI generation requires IC being enabled in MavenKT-85622[Maven] setting kotlin.compiler.jdkRelease without explicit jvmTarget causes compilation failure due to conflicting defaultKT-61667Maven: -Xjdk-release=20 leads to "'-Xjdk-release=20' option conflicts with '-jvm-target 1.8'. Please remove the '-jvm-target' option"KT-84163Maven smart defaults: and overrides not respectedTools. Performance benchmarks
KT-85233Refine benchmarks module and add new custom long-running tests to itTools. REPL
KT-86290Drop GenericReplTest & LegacyReplTestTools. Scripts
KT-87958K2 scripting: FirPropertyImpl transformation crash when using class from@file:Import-ed script in 2.4.0+KT-87041Scripting: classpath extraction fails to extract stdlib from kotlincKT-87331Scripting: compiling scripts with kotlinc doesn't update the compilation config after refinementKT-87042Scripting cache test fails on thekotlinrunnerKT-86391Drop SkipStandaloneScriptsInSourceRootsKT-85105Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous objectKT-85103Exception while generating code when explain destructuring declsTools. Wasm
KT-86407Get rid of '-Xwasm' usages in Kotlin projectKT-83434K/Wasm: add wasm-wasi stdlib into compiler distribution (dist/)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate.
Update dependency org.jetbrains.kotlin:kotlin-stdlib-jdk8 to v2.4.20to Update kotlin to v2.4.20View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.