Skip to content

build(deps): bump the kotlin group across 1 directory with 6 updates - #85

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/kotlin-35601e6a76
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/kotlin-35601e6a76

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 15, 2026 •

Copy link
Copy Markdown

Bumps the kotlin group with 6 updates in the / directory:

Package From To
org.jetbrains.kotlin:kotlin-metadata-jvm 2.4.10 2.4.21
org.jetbrains.kotlinx:kotlinx-serialization-json 1.6.3 1.11.0
org.jetbrains.kotlinx:kotlinx-coroutines-guava 1.10.2 1.11.0
org.jetbrains.kotlin.plugin.compose 2.3.10 2.4.21
org.jetbrains.kotlin.plugin.serialization 2.3.10 2.4.21
com.google.devtools.ksp 2.3.6 2.3.12
org.jetbrains.kotlin.plugin.serialization 2.3.10 2.4.21

Updates org.jetbrains.kotlin:kotlin-metadata-jvm from 2.4.10 to 2.4.21

Release notes

Sourced from org.jetbrains.kotlin:kotlin-metadata-jvm's releases.

Kotlin 2.4.21

Changelog

Backend. Wasm

  • KT-89267 K/Wasm: calling a (T) -> R lambda with an argument that isn't a T traps instead of throwing ClassCastException

JVM. Reflection

  • KT-89280 NoSuchElementException in argumentsMakeSenseOnlyForMutableContainer for Java non-static inner class of generic outer class
  • KT-80710 Reflection: change KCallable representation to avoid dependency on K1

JavaScript

  • KT-89449 Kotlin/JS: Member names no longer minified in production
  • KT-89363 KJS. Regular class with companion can't extend external class

Tools. Compiler plugins. Serialization

  • KT-89275 Kotlin/Wasm: Invalid Wasm is emitted for a @Serializable generic class with a class upper bound

Tools. Gradle. Native

  • KT-89285 SwiftPM import results in flooded log
  • KT-86251 K/N: Flaky linkDebugTestLinuxX64 failure with "truncated or malformed archive" on libstdlib-cache.a

Tools. Scripts

  • KT-89247 Kotlin Script: NoClassDefFoundError on 2nd execution with transitive dependency from imported script
  • KT-89220 JSR-223: generic Java bindings break all subsequent eval() calls
  • KT-88458 Audit closeable resource usage
  • KT-88453 VirtualFileScriptSource.text leaks an unclosed file stream — script source file handle held until GC, blocks file deletion on Windows

Kotlin 2.4.21-RC

Changelog

Backend. Wasm

  • KT-89267 K/Wasm: calling a (T) -> R lambda with an argument that isn't a T traps instead of throwing ClassCastException

JVM. Reflection

  • KT-89280 NoSuchElementException in argumentsMakeSenseOnlyForMutableContainer for Java non-static inner class of generic outer class
  • KT-80710 Reflection: change KCallable representation to avoid dependency on K1

JavaScript

  • KT-89449 Kotlin/JS: Member names no longer minified in production
  • KT-89363 KJS. Regular class with companion can't extend external class

... (truncated)

Changelog

Sourced from org.jetbrains.kotlin:kotlin-metadata-jvm's changelog.

2.4.21

Backend. Wasm

  • KT-89267 K/Wasm: calling a (T) -> R lambda with an argument that isn't a T traps instead of throwing ClassCastException

JVM. Reflection

  • KT-89280 NoSuchElementException in argumentsMakeSenseOnlyForMutableContainer for Java non-static inner class of generic outer class
  • KT-80710 Reflection: change KCallable representation to avoid dependency on K1

JavaScript

  • KT-89449 Kotlin/JS: Member names no longer minified in production
  • KT-89363 KJS. Regular class with companion can't extend external class

Tools. Compiler plugins. Serialization

  • KT-89275 Kotlin/Wasm: Invalid Wasm is emitted for a @Serializable generic class with a class upper bound

Tools. Gradle. Native

  • KT-89285 SwiftPM import results in flooded log
  • KT-86251 K/N: Flaky linkDebugTestLinuxX64 failure with "truncated or malformed archive" on libstdlib-cache.a

Tools. Scripts

  • KT-89247 Kotlin Script: NoClassDefFoundError on 2nd execution with transitive dependency from imported script
  • KT-89220 JSR-223: generic Java bindings break all subsequent eval() calls
  • KT-88458 Audit closeable resource usage
  • KT-88453 VirtualFileScriptSource.text leaks an unclosed file stream — script source file handle held until GC, blocks file deletion on Windows

2.4.20

Analysis API

  • KT-86546 Check suspicious when over ConeKotlinType in ConeTypeCompatibilityChecker
  • KT-85418 Implement an API for accessing deserialized file annotations in Analysis API
  • KT-74448 K2. False positive MISSING_DEPENDENCY_SUPERCLASS in LinkedListTest.kt, kotlinx.coroutines
  • KT-85856 containingSymbol of constructor property differs for local and non-local classes
  • KT-65417 K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source sets

Analysis API. Code Compilation

  • KT-76457 K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm

Analysis API. FIR

... (truncated)

Commits
  • 9180ce6 Add changelog for 2.4.21-RC
  • 851077b [Serialization] Copy type parameter bounds onto generated serializers (#8421)
  • 1b6b624 [Wasm]: Generate a Kotlin-level cast for bridged lambda functions. (#8404)
  • 3c223c2 Rrr/2.4.20/core docs (#8322)
  • c681c2e [2.4.20] [KT-89285] Stop the xcodebuild logs being output by default (#8277)
  • f0645d1 [2.4.20] [JS] Reorder CompilerConfiguration properties initialization (#8282)
  • f507ecd [JS] Don't try to initialize an external class's companion object
  • c60d7d8 Reflection: fix NoSuchElementException in ConvertFromJava.kt
  • 05d1cde REPL: render correct reflected binding type
  • 5acec47 Scripting: store collected dependencies recursively
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlinx:kotlinx-serialization-json from 1.6.3 to 1.11.0

Release notes

Sourced from org.jetbrains.kotlinx:kotlinx-serialization-json's releases.

1.11.0

This release is based on Kotlin 2.3.20 and provides a new Json exceptions API and some bugfixes and improvements.

Expose Json exceptions structure

To make working with exceptions easier and providing proper error codes in e.g., REST APIs, classes JsonException, JsonDecodingException, and JsonEncodingException are now public. They have relevant public properties, such as shortMessage, path, offset, and others. This API is currently experimental, and we're going to improve it further in the subsequent releases. See the linked issues for the details: #1930, #1877.

Ability to hide user input from exception messages for security/privacy reasons.

Historically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason. Such behavior may pose additional challenges for logging, analytics, and other systems, since a system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic. To address this issue, a new property exceptionsWithDebugInfo is added to JsonConfiguration. Disable it to hide user input from exception messages. IMPORTANT: This behavior will be enabled by default when this property becomes stable. See #2590 for more details.

Bugfixes and improvements

  • CBOR: Relax value range check when decoding numbers (#3167)
  • Use a specialized writeDecimalLong method for IO stream integrations in Json (#3152)

1.10.0

This release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC. The only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (#3079). Big thanks to KosmX for contributing the fix.

For your convenience, the changelog for 1.10.0-RC is duplicated below:

Stabilization of APIs

kotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs. The following APIs and configuration options are no longer experimental because they're widely used without any known major issues:

  • Json configuration options: decodeEnumsCaseInsensitive, allowTrailingComma, allowComments, and prettyPrintIndent. (#3100)
  • @EncodeDefault annotation and its modes. (#3106)
  • JsonUnquotedLiteral constructor function (#2900)
  • JsonPrimitive constructor function overloads that accept unsigned types. (#3117)
  • JSON DSL functions on JsonElement with Nothing? overloads. (#3117)

Readiness for return value checker

Kotlin 2.3.0 introduces a new feature aimed at helping you to catch bugs related to the accidentally ignored return value of the function. kotlinx-serialization 1.10.0-RC code is fully marked for this feature, meaning that you can get warnings for unused function calls like Json.encodeToString(...). To get the warnings, the feature has to be enabled in your project as described here.

Polymorphism improvements

... (truncated)

Changelog

Sourced from org.jetbrains.kotlinx:kotlinx-serialization-json's changelog.

1.11.0 / 2026-04-10

This release is based on Kotlin 2.3.20 and provides new Json exceptions API and some bugfixes and improvements.

Expose Json exceptions structure

To make working with exceptions easier and providing proper error codes in e.g., REST APIs, classes JsonException, JsonDecodingException, and JsonEncodingException are now public. They have relevant public properties, such as shortMessage, path, offset, and others. This API is currently experimental, and we're going to improve it further in the subsequent releases. See the linked issues for the details: #1930, #1877.

Ability to hide user input from exception messages for security/privacy reasons.

Historically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason. Such behavior may pose additional challenges for logging, analytics, and other systems, since a system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic. To address this issue, a new property exceptionsWithDebugInfo is added to JsonConfiguration. Disable it to hide user input from exception messages. IMPORTANT: This behavior will be enabled by default when this property becomes stable. See #2590 for more details.

Bugfixes and improvements

  • CBOR: Relax value range check when decoding numbers (#3167)
  • Use a specialized writeDecimalLong method for IO stream integrations in Json (#3152)

1.10.0 / 2026-01-21

This release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC. The only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (#3079). Big thanks to KosmX for contributing the fix.

For your convenience, the changelog for 1.10.0-RC is duplicated below:

Stabilization of APIs

kotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs. The following APIs and configuration options are no longer experimental because they're widely used without any known major issues:

  • Json configuration options: decodeEnumsCaseInsensitive, allowTrailingComma, allowComments, and prettyPrintIndent. (#3100)
  • @EncodeDefault annotation and its modes. (#3106)
  • JsonUnquotedLiteral constructor function (#2900)
  • JsonPrimitive constructor function overloads that accept unsigned types. (#3117)
  • JSON DSL functions on JsonElement with Nothing? overloads. (#3117)

Readiness for return value checker

... (truncated)

Commits
  • 6956af2 Prepare 1.11 release
  • 390d84c Merge remote-tracking branch 'origin/master' into dev
  • 431fe2d Use local repo for publishing (#3171)
  • 05c12b6 Add usage attribute to "testRepositories" configuration
  • a4e1f08 Bump Kover version to 0.9.8 release (#3174)
  • 304e858 Expose Json exceptions structure (#3145)
  • 4a0338e Included G Play SDK verification file for core-jvm (#3169)
  • 421f64c CBOR: Relax value range check when decoding numbers (#3167)
  • 85a4f12 KT-84955: mark apple x64 tagets as deprecated error
  • bd38b0e Remove dead code
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlinx:kotlinx-coroutines-guava from 1.10.2 to 1.11.0

Release notes

Sourced from org.jetbrains.kotlinx:kotlinx-coroutines-guava's releases.

1.11.0

Various

  • Kotlin was updated to 2.2.20 (#4545).
  • Improved the published jar files (#3842, #4599).
  • Various documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (#4433, #4596).

Breaking changes and deprecations

  • Moved Promise-related functions from JS and Wasm/JS to the new web target. On Wasm/JS, this is a breaking change. Before the change, Promise on Wasm/JS could work with arbitrary Kotlin types, but now, only JsAny subtypes are accepted (#4563).
  • Changed handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B efore, exceptions were logged, but now, they are reported to the JS runtime (#4451, #4631).
  • Deprecated using CoroutineDispatcher as the coroutine context key; now, ContinuationInterceptor has to be used instead (#4333).
  • Advanced the deprecation levels on kotlinx-coroutines-test APIs (#4604).
  • Added lint functions that mark passing a Job to coroutine builders as deprecated (#4435).

Bug fixes and improvements

  • Added a callsInPlace(EXACTLY_ONCE) contract to runBlocking in code shared between JVM and Native (#4368).
  • Added a callsInPlace(EXACTLY_ONCE) contract to suspendCancellableCoroutine (#4574).
  • Fixed flowOn incorrectly handling ThreadContextElement updates (#4403).
  • Fixed exceptions in user-supplied Thread.UncaughtExceptionHandler instances causing the internal coroutines machinery to fail (#4516).
  • Fixed CoroutineDispatcher.asScheduler in the RxJava integration not cancelling outstanding work when a Worker gets cancelled, which led to memory leaks in some scenarios (#4615).
  • Fixed SharedFlow entering an invalid state when a subscriber and an emitter are cancelled simultaneously (#4583).
  • Fixed an R8 optimization leading to shareIn/stateIn coroutines getting garbage-collected (#4646). Thanks, @​solevic!

Small additions

  • Added CompletableDeferred.asDeferred for obtaining a read-only Deferred view (#4408).
  • Added SharedFlow.asFlow for obtaining a Flow view with hidden hot flow semantics (#4530). Thanks, @​g000sha256!
  • Added a StateFlow.collectLatest overload returning Nothing to assist with finding unreachable code (#4454).
  • Added ReceiveChannel.consumeTo for consuming a ReceiveChannel into a MutableCollection (#4520).
  • Added a StateFlow<T>.onSubscription overload returning a StateFlow<T>, similar to SharedFlow<T>.onSubscription returning SharedFlow<T> (#4275). Thanks, @​xit0c!
  • Added terminal Flow operators for collecting a Flow to a Map (#1541).

Changelog relative to version 1.11.0

No changes, only the version is increased.

1.11.0-rc02

Restored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of Promise-related functions (#4661).

1.11.0-rc01

Various

  • Kotlin was updated to 2.2.20 (#4545).
  • Improved the published jar files (#3842, #4599).
  • Various documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (#4433, #4596).

Breaking changes and deprecations

... (truncated)

Changelog

Sourced from org.jetbrains.kotlinx:kotlinx-coroutines-guava's changelog.

Version 1.11.0

Various

  • Kotlin was updated to 2.2.20 (#4545).
  • Improved the published jar files (#3842, #4599).
  • Various documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (#4433, #4596).

Breaking changes and deprecations

  • Moved Promise-related functions from JS and Wasm/JS to the new web target. On Wasm/JS, this is a breaking change. Before the change, Promise on Wasm/JS could work with arbitrary Kotlin types, but now, only JsAny subtypes are accepted (#4563).
  • Changed handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (#4451, #4631).
  • Deprecated using CoroutineDispatcher as the coroutine context key; now, ContinuationInterceptor has to be used instead (#4333).
  • Advanced the deprecation levels on kotlinx-coroutines-test APIs (#4604).
  • Added lint functions that mark passing a Job to coroutine builders as deprecated (#4435).

Bug fixes and improvements

  • Added a callsInPlace(EXACTLY_ONCE) contract to runBlocking in code shared between JVM and Native (#4368).
  • Added a callsInPlace(EXACTLY_ONCE) contract to suspendCancellableCoroutine (#4574).
  • Fixed flowOn incorrectly handling ThreadContextElement updates (#4403).
  • Fixed exceptions in user-supplied Thread.UncaughtExceptionHandler instances causing the internal coroutines machinery to fail (#4516).
  • Fixed CoroutineDispatcher.asScheduler in the RxJava integration not cancelling outstanding work when a Worker gets cancelled, which led to memory leaks in some scenarios (#4615).
  • Fixed SharedFlow entering an invalid state when a subscriber and an emitter are cancelled simultaneously (#4583).
  • Fixed an R8 optimization leading to shareIn/stateIn coroutines getting garbage-collected (#4646). Thanks, @​solevic!

Small additions

  • Added CompletableDeferred.asDeferred for obtaining a read-only Deferred view (#4408).
  • Added SharedFlow.asFlow for obtaining a Flow view with hidden hot flow semantics (#4530). Thanks, @​g000sha256!
  • Added a StateFlow.collectLatest overload returning Nothing to assist with finding unreachable code (#4454).
  • Added ReceiveChannel.consumeTo for consuming a ReceiveChannel into a MutableCollection (#4520).
  • Added a StateFlow<T>.onSubscription overload returning a StateFlow<T>, similar to SharedFlow<T>.onSubscription returning SharedFlow<T> (#4275). Thanks, @​xit0c!
  • Added terminal Flow operators for collecting a Flow to a Map (#1541).

Changelog relative to version 1.11.0

No changes, only the version is increased.

Version 1.11.0-rc02

Restored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of Promise-related functions (#4661).

Version 1.11.0-rc01

Various

  • Kotlin was updated to 2.2.20 (#4545).
  • Improved the published jar files (#3842, #4599).
  • Various documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (#4433, #4596).

... (truncated)

Commits
  • 8564f65 Version 1.11.0
  • a4c6af9 Merge remote-tracking branch 'origin/master' into develop
  • ef917b4 KT-84955: mark apple x64 tagets as deprecated error (#4645)
  • 5ebc421 Update the release procedure description (#4670)
  • 95f46a0 Remove old maven repository settings (#4672)
  • b4f4f0a Fix package name of ToMapCollectionSamplesTest. (#4674)
  • 86738dc Added templates to the issue creation wizard (#4654)
  • 330fcc2 Version 1.11.0-rc02
  • e31cef6 Merge remote-tracking branch 'origin/master' into develop
  • dc6e9f6 Restore Promise-related functions on Wasm/JS as HIDDEN (#4661)
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlin.plugin.compose from 2.3.10 to 2.4.21

Release notes

Sourced from org.jetbrains.kotlin.plugin.compose's releases.

Kotlin 2.4.21

Changelog

Backend. Wasm

  • KT-89267 K/Wasm: calling a (T) -> R lambda with an argument that isn't a T traps instead of throwing ClassCastException

JVM. Reflection

  • KT-89280 NoSuchElementException in argumentsMakeSenseOnlyForMutableContainer for Java non-static inner class of generic outer class
  • KT-80710 Reflection: change KCallable representation to avoid dependency on K1

JavaScript

  • KT-89449 Kotlin/JS: Member names no longer minified in production
  • KT-89363 KJS. Regular class with companion can't extend external class

Tools. Compiler plugins. Serialization

  • KT-89275 Kotlin/Wasm: Invalid Wasm is emitted for a @Serializable generic class with a class upper bound

Tools. Gradle. Native

  • KT-89285 SwiftPM import results in flooded log
  • KT-86251 K/N: Flaky linkDebugTestLinuxX64 failure with "truncated or malformed archive" on libstdlib-cache.a

Tools. Scripts

  • KT-89247 Kotlin Script: NoClassDefFoundError on 2nd execution with transitive dependency from imported script
  • KT-89220 JSR-223: generic Java bindings break all subsequent eval() calls
  • KT-88458 Audit closeable resource usage
  • KT-88453 VirtualFileScriptSource.text leaks an unclosed file stream — script source file handle held until GC, blocks file deletion on Windows

Kotlin 2.4.21-RC

Changelog

Backend. Wasm

  • KT-89267 K/Wasm: calling a (T) -> R lambda with an argument that isn't a T traps instead of throwing ClassCastException

JVM. Reflection

  • KT-89280 NoSuchElementException in argumentsMakeSenseOnlyForMutableContainer for Java non-static inner class of generic outer class
  • KT-80710 Reflection: change KCallable representation to avoid dependency on K1

JavaScript

  • KT-89449 Kotlin/JS: Member names no longer minified in production
  • KT-89363 KJS. Regular class with companion can't extend external class

... (truncated)

Changelog

Sourced from org.jetbrains.kotlin.plugin.compose's changelog.

2.4.21

Backend. Wasm

  • KT-89267 K/Wasm: calling a (T) -> R lambda with an argument that isn't a T traps instead of throwing ClassCastException

JVM. Reflection

  • KT-89280 NoSuchElementException in argumentsMakeSenseOnlyForMutableContainer for Java non-static inner class of generic outer class
  • KT-80710 Reflection: change KCallable representation to avoid dependency on K1

JavaScript

  • KT-89449 Kotlin/JS: Member names no longer minified in production
  • KT-89363 KJS. Regular class with companion can't extend external class

Tools. Compiler plugins. Serialization

  • KT-89275 Kotlin/Wasm: Invalid Wasm is emitted for a @Serializable generic class with a class upper bound

Tools. Gradle. Native

  • KT-89285 SwiftPM import results in flooded log
  • KT-86251 K/N: Flaky linkDebugTestLinuxX64 failure with "truncated or malformed archive" on libstdlib-cache.a

Tools. Scripts

  • KT-89247 Kotlin Script: NoClassDefFoundError on 2nd execution with transitive dependency from imported script
  • KT-89220 JSR-223: generic Java bindings break all subsequent eval() calls
  • KT-88458 Audit closeable resource usage
  • KT-88453 VirtualFileScriptSource.text leaks an unclosed file stream — script source file handle held until GC, blocks file deletion on Windows

2.4.20

Analysis API

  • KT-86546 Check suspicious when over ConeKotlinType in ConeTypeCompatibilityChecker
  • KT-85418 Implement an API for accessing deserialized file annotations in Analysis API
  • KT-74448 K2. False positive MISSING_DEPENDENCY_SUPERCLASS in LinkedListTest.kt, kotlinx.coroutines
  • KT-85856 containingSymbol of constructor property differs for local and non-local classes
  • KT-65417 K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source sets

Analysis API. Code Compilation

  • KT-76457 K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm

Analysis API. FIR

... (truncated)

Commits
  • 9180ce6 Add changelog for 2.4.21-RC
  • 851077b [Serialization] Copy type parameter bounds onto generated serializers (#8421)
  • 1b6b624 [Wasm]: Generate a Kotlin-level cast for bridged lambda functions. (#8404)
  • 3c223c2 Rrr/2.4.20/core docs (#8322)
  • c681c2e [2.4.20] [KT-89285] Stop the xcodebuild logs being output by default (#8277)
  • f0645d1 [2.4.20] [JS] Reorder CompilerConfiguration properties initialization (#8282)
  • f507ecd [JS] Don't try to initialize an external class's companion object
  • c60d7d8 Reflection: fix NoSuchElementException in ConvertFromJava.kt
  • 05d1cde REPL: render correct reflected binding type
  • 5acec47 Scripting: store collected dependencies recursively
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlin.plugin.serialization from 2.3.10 to 2.4.21

Release notes

Sourced from org.jetbrains.kotlin.plugin.serialization's releases.

Kotlin 2.4.21

Changelog

Backend. Wasm

  • KT-89267 K/Wasm: calling a (T) -> R lambda with an argument that isn't a T traps instead of throwing ClassCastException

JVM. Reflection

  • KT-89280 NoSuchElementException in argumentsMakeSenseOnlyForMutableContainer for Java non-static inner class of generic outer class
  • KT-80710 Reflection: change KCallable representation to avoid dependency on K1

JavaScript

  • KT-89449 Kotlin/JS: Member names no longer minified in production
  • KT-89363 KJS. Regular class with companion can't extend external class

Tools. Compiler plugins. Serialization

  • KT-89275 Kotlin/Wasm: Invalid Wasm is emitted for a @Serializable generic class with a class upper bound

Tools. Gradle. Native

  • KT-89285 SwiftPM import results in flooded log
  • KT-86251 K/N: Flaky linkDebugTestLinuxX64 failure with "truncated or malformed archive" on libstdlib-cache.a

Tools. Scripts

  • KT-89247 Kotlin Script: NoClassDefFoundError on 2nd execution with transitive dependency from imported script
  • KT-89220 JSR-223: generic Java bindings break all subsequent eval() calls
  • KT-88458 Audit closeable resource usage
  • KT-88453 VirtualFileScriptSource.text leaks an unclosed file stream — script source file handle held until GC, blocks file deletion on Windows

Kotlin 2.4.21-RC

Changelog

Backend. Wasm

  • KT-89267 K/Wasm: calling a (T) -> R lambda with an argument that isn't a T traps instead of throwing ClassCastException

JVM. Reflection

  • KT-89280 NoSuchElementException in argumentsMakeSenseOnlyForMutableContainer for Java non-static inner class of generic outer class
  • KT-80710 Reflection: change KCallable representation to avoid dependency on K1

JavaScript

  • KT-89449 Kotlin/JS: Member names no longer minified in production
  • KT-89363 KJS. Regular class with companion can't extend external class

... (truncated)

Changelog

Sourced from org.jetbrains.kotlin.plugin.serialization's changelog.

2.4.21

Backend. Wasm

  • KT-89267 K/Wasm: calling a (T) -> R lambda with an argument that isn't a T traps instead of throwing ClassCastException

JVM. Reflection

  • KT-89280 NoSuchElementException in argumentsMakeSenseOnlyForMutableContainer for Java non-static inner class of generic outer class
  • KT-80710 Reflection: change KCallable representation to avoid dependency on K1

JavaScript

  • KT-89449 Kotlin/JS: Member names no longer minified in production
  • KT-89363 KJS. Regular class with companion can't extend external class

Tools. Compiler plugins. Serialization

  • KT-89275 Kotlin/Wasm: Invalid Wasm is emitted for a @Serializable generic class with a class upper bound

Tools. Gradle. Native

  • KT-89285 SwiftPM import results in flooded log
  • KT-86251 K/N: Flaky linkDebugTestLinuxX64 failure with "truncated or malformed archive" on libstdlib-cache.a

Tools. Scripts

  • KT-89247 Kotlin Script: NoClassDefFoundError on 2nd execution with transitive dependency from imported script
  • KT-89220 JSR-223: generic Java bindings break all subsequent eval() calls
  • KT-88458 Audit closeable resource usage
  • KT-88453 VirtualFileScriptSource.text leaks an unclosed file stream — script source file handle held until GC, blocks file deletion on Windows

2.4.20

Analysis API

  • KT-86546 Check suspicious when over ConeKotlinType in ConeTypeCompatibilityChecker
  • KT-85418 Implement an API for accessing deserialized file annotations in Analysis API
  • KT-74448 K2. False positive MISSING_DEPENDENCY_SUPERCLASS in LinkedListTest.kt, kotlinx.coroutines
  • KT-85856 containingSymbol of constructor property differs for local and non-local classes
  • KT-65417 K2 IDE: KTOR false positive expect-actual matching error on enum class because of implicit clone() in non-JVM source sets

Analysis API. Code Compilation

  • KT-76457 K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a JVM counterpart” on evaluating inline fun from common module inside jvm

Analysis API. FIR

... (truncated)

Commits
  • 9180ce6 Add changelog for 2.4.21-RC
  • 851077b [Serialization] Copy type parameter bounds onto generated serializers (#8421)
  • 1b6b624 [Wasm]: Generate a Kotlin-level cast for bridged lambda functions. (#8404)
  • 3c223c2 Rrr/2.4.20/core docs (#8322)
  • c681c2e [2.4.20] [KT-89285] Stop the xcodebuild logs being output by default (#8277)
  • f0645d1 [2.4.20] [JS] Reorder CompilerConfiguration properties initialization (#8282)
  • f507ecd [JS] Don't try to initialize an external class's companion object
  • c60d7d8 Reflection: fix NoSuchElementException in ConvertFromJava.kt
  • 05d1cde REPL: render correct reflected binding type
  • 5acec47 Scripting: store collected dependencies recursively
  • Additional commits viewable in compare view

Updates com.google.devtools.ksp from 2.3.6 to 2.3.12

Release notes

Sourced from com.google.devtools.ksp's releases.

2.3.12

What's Changed

Migrating Processors to Support Backing Fields

This release introduces support for explicit backing fields (#2873), which may now be returned by Resolver.getSymbolsWithAnnotation. To prevent breaking existing processors, new language features require an explicit opt-in.

More generally, the KSP API now explicitly models backing fields for properties. The following is an exhaustive list of functions in KSP API where processor may observe the change after opting in:

  • Resolver.getSymbolsWithAnnotation: The function now returns a KSBackingField if the given annotation targeted a field. Previously, if a field were targeted, the function would return a KSProperty.
  • Resolver.effectiveJavaModifiers: The function returns fewer modifiers for a KSPropertyDeclaration if it has a backing field, since most of the JVM-specific annotations apply to the backing field. If you are interested in the JVM modifiers, you should call the function with the KSBackingField obtained from the property instead.

Additionally, KSP now models Java fields as properties that always have backing fields. Some of the modifiers now apply to the backing field instead.

Processors adapting to new features must opt in via both of the following steps simultaneously (failing to do both may lead to undefined behavior):

  1. The processor should call the registerProcessorForNewFeatures function in SymbolProcessorEnvironment immediately when created (and only once). Example: AbstractTestProcessor.kt#L30
  2. All implementations of KSVisitor should move to KSVisitorNext. If their processor code does not directly implement the interface but instead extends one of the KSP-provided visitors (such as KSTopDownVisitor), they should instead extend KSTopDownVisitor(enableNewFeatures = true) and override visitBackingField depending on their code and needs.

Let us know if you run into unexpected behavior!

Bug Fixes

  • Fix Resolver.getDeclarationsFromPackage returning incomplete declarations from KLibs in Kotlin Multiplatform (#2396)
  • Fix KSP CLI process hanging indefinitely when a processor throws an unhandled exception (#3120)
  • Fix implicit task dependency error between KSP and Android Lint in Android KMP (#3128)
  • Fix NullPointerException by registering PluginProblemReporter as an application service (#3140)
  • Do not mark companion objects as JAVA_STATIC in Resolver.effectiveJavaModifiers (#3125)
  • Fix JAVA_STATIC modifier resolution for @​JvmStatic members in Resolver.effectiveJavaModifiers (#3124)
  • Update minimum supported Android Gradle Plugin (AGP) version to 8.12.0 (#3149)

New Contributors

Thanks to @​KlyneChrysler, @​budindepunk, and everyone who reported bugs and participated in discussions!

Full Changelog: google/ksp@2.3.11...2.3.12

2.3.11

What's Changed

  • Support org.gradle.isolated-projects for project isolation (#3051)
  • Fix premature kspDebugAndroidTest task skipping on Android library modules (#3050)
  • Fix missing parent declaration exception for @NotNull annotations during incremental compilation (#3030)
  • Clean output directories instead of skipping tasks when processor classpath transitions to empty (#3046)
  • Fix build cache misses by marking KspGradleConfig.logLevel as @Internal (#3039)
  • Add org.gradle.isolated-projects=true to KSP Gradle properties reference table (#3076)
  • Add KSP Gradle properties reference table to README documentation (#3070)
  • Document collection values in KSValueArgument.value (#3069)
  • Update error messaging for ksp.useKSP2 deprecation notice (#3066)

Contributors

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Oct 15, 2026
@dependabot dependabot Bot changed the title build(deps): bump the kotlin group with 6 updates build(deps): bump the kotlin group across 1 directory with 6 updates Oct 17, 2026
@dependabot
dependabot Bot force-pushed the dependabot/gradle/kotlin-35601e6a76 branch from 0a349d2 to 67cf390 Compare October 17, 2026 02:12
Bumps the kotlin group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [org.jetbrains.kotlin:kotlin-metadata-jvm](https://github.com/JetBrains/kotlin) | `2.4.10` | `2.4.21` |
| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.6.3` | `1.11.0` |
| [org.jetbrains.kotlinx:kotlinx-coroutines-guava](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |
| [org.jetbrains.kotlin.plugin.compose](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.4.21` |
| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.4.21` |
| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.6` | `2.3.12` |
| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.4.21` |



Updates `org.jetbrains.kotlin:kotlin-metadata-jvm` from 2.4.10 to 2.4.21
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.4.10...v2.4.21)

Updates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.6.3 to 1.11.0
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](Kotlin/kotlinx.serialization@v1.6.3...v1.11.0)

Updates `org.jetbrains.kotlinx:kotlinx-coroutines-guava` from 1.10.2 to 1.11.0
- [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md)
- [Commits](Kotlin/kotlinx.coroutines@1.10.2...1.11.0)

Updates `org.jetbrains.kotlin.plugin.compose` from 2.3.10 to 2.4.21
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.3.10...v2.4.21)

Updates `org.jetbrains.kotlin.plugin.serialization` from 2.3.10 to 2.4.21
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.3.10...v2.4.21)

Updates `com.google.devtools.ksp` from 2.3.6 to 2.3.12
- [Release notes](https://github.com/google/ksp/releases)
- [Commits](google/ksp@2.3.6...2.3.12)

Updates `org.jetbrains.kotlin.plugin.serialization` from 2.3.10 to 2.4.21
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.3.10...v2.4.21)

---
updated-dependencies:
- dependency-name: com.google.devtools.ksp
  dependency-version: 2.3.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: kotlin
- dependency-name: org.jetbrains.kotlin.plugin.compose
  dependency-version: 2.4.21
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin
- dependency-name: org.jetbrains.kotlin.plugin.serialization
  dependency-version: 2.4.21
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin
- dependency-name: org.jetbrains.kotlin.plugin.serialization
  dependency-version: 2.4.21
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin
- dependency-name: org.jetbrains.kotlin:kotlin-metadata-jvm
  dependency-version: 2.4.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: kotlin
- dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-guava
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/gradle/kotlin-35601e6a76 branch from 67cf390 to a74eb24 Compare October 19, 2026 07:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants