## JetBrains/kotlin — v2.4.20-Beta2…v2.4.20-RC

_75 commits._

### Features
- **Add Changelog for 2.4.20-RC** (2b6fec7)
- **[Gradle] Add KotlinGradleTaskExecutionCacheWithMetrics** (8513431)
- **[Gradle] Add KotlinGradleTaskExecutionCache as Build Service** (efe74f5)
- **[Parcelize] Add reproducer test for 542958359** (348a2db)
- **[JKLIB] add -jvm-target support to K2JKlibCompiler** (27506f1)
- **[JKLIB] Add support for -XheaderModeType compilation** (aa34a42)
- **[Gradle][Tests] Do not add kar diagnostic tests to Js or Gradle build configurations** (d5a13f0)
- **[KGP] Revert adding new logging prefix (#6978)** (22a49be)

### Fixes
- **[Gradle] Fix JS in-process compilation fails with random reasons on Gradle 9.7** (ab55759)
- **[Gradle] Fix JS Browser tests fails on Gradle 9.7** (c21e0ee)
- **[Gradle] Fix Kapt task may produce deprecation warning** (9046bf7)
- **[Gradle] Fix 'group' and 'description' configuring project rather than task** (fb9ce80)
- **[Gradle] Fix creating project dependency crashes on older Gradle releases** (0ca489a)
- **[Gradle] Fix bug in resolvedDependenciesByKmpModuleId** (5c842d9)
- **Fix composable singleton in function with type parameters** (4cac4fb)
- **[JKLIB] Fix Unbound symbols for kotlin.coroutines.SuspendFunctionN** (7a90be0)
- **[BTA] Fix incremental compilation loses compiler diagnotics ids** (fa76730)
- **[Parcelize] Fix `Parceler` supertype retrieving when creating a custom serializer** (f5fc770)
- **[Gradle] Fix custom npm dependency versions** (b12ee1f)
- **fixup! Scripting: fix order of imported and main script** (81627c2)
- **Scripting: fix order of imported and main script** (22df967)
- **[CMP] Fix crash on a super call to a defaulted fun** (4149fed)
- **[JKLIB] Fix fake override by using JVM type and overrideability rules in JKLIB linker** (44ed514)
- **Reflection: fix SOE on self-referential raw type in KClass.members** (2bd60f5)
- **[K/N] Fixed a bug in casts optimization pass** (dab68cf)
- **Scripting: fix package of file moved from backend** (6d4825b)
- **[Gradle] Fix SwiftExportDslIT & SwiftExportXCIT for Gradle 9.6 compatibility (#6969)** (d79c42e)

### Backend
- **[Gradle] Run Gradle integration tests against 9.7.0 release** (4e7ec7a)
- **fixup! [KT-88107] clean task leave swiftpm checkout in root build directory** (f30968c)
- **[KT-88107] clean task leave swiftpm checkout in root build directory** (f8dc80c)
- **[KT-88107] clean task leave swiftpm checkout in root build directory** (2f76d87)
- **JVM: Ignore return value of tail-call suspend calls, returning Unit** (25d0103)
- **[NI] Simplify the bundled plugins loading mechanism** (c7fa1bc)
- **[Gradle] Compile against Gradle API 9.7.0** (23f7088)
- **[Gradle] Move resolvedDependenciesByKmpModuleId and resolvedDependenciesByRequested** (8a2acfb)
- **[Gradle] Move test for gradle issue 38577 from LazyResolvedConfigurationIT to ConfigurationCacheIt** (4db8016)
- **[Gradle] Report how many threads accessed the task execution cache.** (42a0b4e)
- **[Gradle] Replace thread-local computingOnThread with hashmap on cache object** (f8e85d5)
- **[Gradle] Update cachingGroupByToNonNullSet test to not use mavenLocal** (09d3e2e)
- **[Gradle] Use String keys in KotlinGradleTaskExecutionCache** (be0f09f)
- **[Gradle] Improve extras contains to be O(1)** (dd0f9de)
- **[Gradle] Rework KotlinGradleTaskExecutionCache to be thread safe** (434e190)
- **[Gradle] Cache host-specific metadata artifacts per source set** (c081814)
- **[Gradle] Use cache in SourceSetVisibilityResult to remember dependency maps** (fc98968)
- **[Gradle] Cover gradle behavior with deserialising shared objects** (d6456ec)
- **[Gradle] Extract resolveHostSpecificArtifactsBySourceSet** (0895e07)
- **[Gradle] Make SourceSetVisibilityProvider.resolveToPlatformVariantNames** (0d9751b)
- **[KT-88104] dumpXcodebuildArgs task fails if the root build directory is removed** (a63f707)
- **[KT-88104] dumpXcodebuildArgs task fails if the root build directory is removed** (a99f67d)
- **[KT-88154] Swift PM lock file is ignored on switching version from `exact` to `from`** (e03ada0)
- **[KT-88154] Swift PM lock file is ignored on switching version from `exact` to `from`** (da6685b)
- **[PowerAssert] Handle implicit context parameters in arguments** (34a6626)
- **[Swift Export] KTI-3419: Make async-reverse-bridges cancellation deterministic by unifying their behavior with async contravariant closures.** (645803c)
- **K/N: turn incremental compilation off by default** (7dd57c5)
- **Cherry pick "[FIR] Make use of FirAggressivePruningProcessor configurable with a flag" (#7148)** (cff3a6b)
- **[JKLIB] Use WITH_INLINE_BODIES deserialiation strategy.** (637ee9c)
- **Ensure BuildMetricsService unregisters as BuildOperationListener on close** (a2fd8e9)
- **[Gradle] Use resolved versions for npm dependencies in shared `kotlin-npm-tooling` directory** (6dd268d)
- **[JVM] Remap inlined bound receivers to the accessor's dispatch receiver** (f46c278)
- **[BTA] Mark 'CompilerReferenceIndexIT' as '@AffectedByCompiler'** (4d82d12)
- **[BTA] Keep CRI independent from compiler environment** (007fb34)
- **[BTA] Keep ApplicationEnvironment during BuildSession for in-process** (2c448e5)
- **[Gradle] Update the 'UnsupportedKotlinArchiveUsage' diagnostic id, properly de-duplciate diagnostic reports** (d19ea30)
- **[Gradle] Implement fatal diagnostic when .kar or .kar.xz leaks into the compile path** (8135cdf)
- **Ensure that `ComposableTypeRemapper` never transforms a function more** (8a2f593)
- **Bump fast-uri** (0d4f522)
- **[Repo] Update JLine dependency to 3.30.16 version** (c644e71)
- **fixup! Tests: update membersOfSelfRecursiveRawType.kt** (4d019ab)
- **Tests: update membersOfSelfRecursiveRawType.kt** (c715c1d)
- **[K/N][tests] Added a reproducer for KT-85403** (e24d209)
- **[CLI] Measure user/CPU time stats only if `-Xdetailed-perf` is passed. Part 4/4** (1285212)
- **[CLI] Measure user/CPU time stats only if `-Xdetailed-perf` is passed. Part 3/4** (e30433b)
- **[CLI] Measure user/CPU time stats only if `-Xdetailed-perf` is passed. Part 2/4** (5117066)
- **[CLI] Measure user/CPU time stats only if `-Xdetailed-perf` is passed. Part 1/4** (e07e80e)
- **2.4.20: [Gradle] Run integration tests against Gradle 9.6.1 release (#6846)** (6f25583)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/JetBrains/kotlin?utm_source=github-action)._