From 630418c6bfed7f4767cf6c613aa27aed9897f728 Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Thu, 23 Oct 2025 10:08:21 +0200 Subject: [PATCH 1/8] Bump version to 0.10.1 --- .github/workflows/docs.yml | 2 +- README.md | 12 ++++++------ docs/pages/kotlinx-rpc/help-versions.json | 2 +- docs/pages/kotlinx-rpc/v.list | 2 +- docs/pages/kotlinx-rpc/writerside.cfg | 2 +- versions-root/libs.versions.toml | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 44cb3d251..6bee8dc1c 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -30,7 +30,7 @@ env: ALGOLIA_INDEX_NAME: 'prod_kotlin_rpc' ALGOLIA_KEY: '${{ secrets.ALGOLIA_KEY }}' CONFIG_JSON_PRODUCT: 'kotlinx-rpc' - CONFIG_JSON_VERSION: '0.10.0' + CONFIG_JSON_VERSION: '0.10.1' DOKKA_ARTIFACT: 'dokka.zip' ASSEMBLE_DIR: '__docs_assembled' ASSEMBLE_ARTIFACT: 'assembled.zip' diff --git a/README.md b/README.md index b0e7369f4..163133fbf 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,7 @@ Example of a setup in a project's `build.gradle.kts`: plugins { kotlin("multiplatform") version "2.2.20" kotlin("plugin.serialization") version "2.2.20" - id("org.jetbrains.kotlinx.rpc.plugin") version "0.10.0" + id("org.jetbrains.kotlinx.rpc.plugin") version "0.10.1" } ``` @@ -151,15 +151,15 @@ And now you can add dependencies to your project: ```kotlin dependencies { // Client API - implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-client:0.10.0") + implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-client:0.10.1") // Server API - implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-server:0.10.0") + implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-server:0.10.1") // Serialization module. Also, protobuf and cbor are provided - implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-serialization-json:0.10.0") + implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-serialization-json:0.10.1") // Transport implementation for Ktor - implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-client:0.10.0") - implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-server:0.10.0") + implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-client:0.10.1") + implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-server:0.10.1") // Ktor API implementation("io.ktor:ktor-client-cio-jvm:$ktor_version") diff --git a/docs/pages/kotlinx-rpc/help-versions.json b/docs/pages/kotlinx-rpc/help-versions.json index 396332ba2..911288e3d 100644 --- a/docs/pages/kotlinx-rpc/help-versions.json +++ b/docs/pages/kotlinx-rpc/help-versions.json @@ -1,3 +1,3 @@ [ - {"version":"0.10.0","url":"/kotlinx-rpc/0.10.0/","isCurrent":true} + {"version":"0.10.1","url":"/kotlinx-rpc/0.10.1/","isCurrent":true} ] diff --git a/docs/pages/kotlinx-rpc/v.list b/docs/pages/kotlinx-rpc/v.list index 551f6a781..07747f7c5 100644 --- a/docs/pages/kotlinx-rpc/v.list +++ b/docs/pages/kotlinx-rpc/v.list @@ -14,6 +14,6 @@ - + diff --git a/docs/pages/kotlinx-rpc/writerside.cfg b/docs/pages/kotlinx-rpc/writerside.cfg index ce3acc170..f5f70cf60 100644 --- a/docs/pages/kotlinx-rpc/writerside.cfg +++ b/docs/pages/kotlinx-rpc/writerside.cfg @@ -12,5 +12,5 @@ - + diff --git a/versions-root/libs.versions.toml b/versions-root/libs.versions.toml index b04626e7a..0415f5258 100644 --- a/versions-root/libs.versions.toml +++ b/versions-root/libs.versions.toml @@ -1,6 +1,6 @@ [versions] # core library version -kotlinx-rpc = "0.10.0" +kotlinx-rpc = "0.10.1" # kotlin kotlin-lang = "2.2.20" # or env.KOTLIN_VERSION From 89c9c75079aa04a8ed6fd947f226dacc331136bb Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Thu, 23 Oct 2025 10:12:48 +0200 Subject: [PATCH 2/8] CHANGELOG.md --- CHANGELOG.md | 22 +++++++++++++++++++++ docs/pages/kotlinx-rpc/topics/changelog.md | 23 ++++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fe3d029d..9911b6025 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ +# 0.10.0 +> Published 24 October 2025 + +### Features 🎉 +* Expose RpcServiceDescriptor.callables by @rnett in https://github.com/Kotlin/kotlinx-rpc/pull/516 +* Added watchosDeviceArm64 and watchosArm32 targets to kRPC by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/513 + +### Bug fixes 🐛 +* Fix one more ClosedSendChannelException by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/514 +* Fix scope initialization on the kRPC Client by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/505 +* Fix wording for the `perCallBufferSize` docs by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/500 + +### Infra 🚧 +* Added readme safeguard by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/515 +* Fixed kRPC compatibility tests by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/518 +* Update compiler tests infra by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/510 + +## New Contributors +* @rnett made their first contribution in https://github.com/Kotlin/kotlinx-rpc/pull/516 + +**Full Changelog**: https://github.com/Kotlin/kotlinx-rpc/compare/0.10.0...0.10.1 + # 0.10.0 > Published 7 October 2025 diff --git a/docs/pages/kotlinx-rpc/topics/changelog.md b/docs/pages/kotlinx-rpc/topics/changelog.md index 6546d749c..1554b4e8d 100644 --- a/docs/pages/kotlinx-rpc/topics/changelog.md +++ b/docs/pages/kotlinx-rpc/topics/changelog.md @@ -2,6 +2,29 @@ This page contains all changes throughout releases of the library. +## 0.10.0 +> Published 24 October 2025 + +**Full Changelog**: [0.10.0...0.10.1](https://github.com/Kotlin/kotlinx-rpc/compare/0.10.0...0.10.1) + +#### Features 🎉 {id=Features_0_10_0} +* Expose RpcServiceDescriptor.callables by [@rnett](https://github.com/rnett) in [#516](https://github.com/Kotlin/kotlinx-rpc/pull/516) +* Added watchosDeviceArm64 and watchosArm32 targets to kRPC by [@Mr3zee](https://github.com/Mr3zee) in [#513](https://github.com/Kotlin/kotlinx-rpc/pull/513) + +#### Bug fixes 🐛 {id=Bug_fixes_0_10_0} +* Fix one more ClosedSendChannelException by [@Mr3zee](https://github.com/Mr3zee) in [#514](https://github.com/Kotlin/kotlinx-rpc/pull/514) +* Fix scope initialization on the kRPC Client by [@Mr3zee](https://github.com/Mr3zee) in [#505](https://github.com/Kotlin/kotlinx-rpc/pull/505) +* Fix wording for the `perCallBufferSize` docs by [@Mr3zee](https://github.com/Mr3zee) in [#500](https://github.com/Kotlin/kotlinx-rpc/pull/500) + +#### Infra 🚧 {id=Infra_0_10_0} +* Added readme safeguard by [@Mr3zee](https://github.com/Mr3zee) in [#515](https://github.com/Kotlin/kotlinx-rpc/pull/515) +* Fixed kRPC compatibility tests by [@Mr3zee](https://github.com/Mr3zee) in [#518](https://github.com/Kotlin/kotlinx-rpc/pull/518) +* Update compiler tests infra by [@Mr3zee](https://github.com/Mr3zee) in [#510](https://github.com/Kotlin/kotlinx-rpc/pull/510) + +### New Contributors {id=New_Contributors_0_10_0} +* [@rnett](https://github.com/rnett) made their first contribution in [#516](https://github.com/Kotlin/kotlinx-rpc/pull/516) + + ## 0.10.0 > Published 7 October 2025 From 7356c44608fd037eb8ce7c1fa38c66bc994037e0 Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Thu, 23 Oct 2025 11:29:09 +0200 Subject: [PATCH 3/8] Fix crash --- .../src/main/kotlin/krpc-compat-tests.settings.gradle.kts | 6 ++++-- settings.gradle.kts | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gradle-conventions-settings/src/main/kotlin/krpc-compat-tests.settings.gradle.kts b/gradle-conventions-settings/src/main/kotlin/krpc-compat-tests.settings.gradle.kts index 35acb6dd9..912635b8d 100644 --- a/gradle-conventions-settings/src/main/kotlin/krpc-compat-tests.settings.gradle.kts +++ b/gradle-conventions-settings/src/main/kotlin/krpc-compat-tests.settings.gradle.kts @@ -2,6 +2,8 @@ * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. */ +@file:Suppress("LoggingSimilarMessage") + import kotlin.io.path.createDirectories import kotlin.io.path.writeText @@ -55,7 +57,7 @@ versionDirs.forEach { (dir, version) -> """.trimIndent() ) - logger.lifecycle("Generating :tests:krpc-protocol-compatibility-tests:$dir") + logger.debug("Generating {}", globalRootDir.relativize(buildFile)) include(":tests:krpc-protocol-compatibility-tests:$dir") } @@ -68,7 +70,7 @@ val versionsConventionsFile: java.nio.file.Path = globalRootDir .resolve("krpc_compat") .resolve("versions.kt") -logger.lifecycle("Generating krpc_compat/versions.kt") +logger.debug("Generating {}", globalRootDir.relativize(versionsConventionsFile)) versionsConventionsFile.writeText( """ |/* THIS FILE IS AUTO-GENERATED, DO NOT EDIT! */ diff --git a/settings.gradle.kts b/settings.gradle.kts index 0fe194dae..9ab887713 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -19,6 +19,7 @@ plugins { id("conventions-repositories") id("conventions-version-resolution") id("conventions-develocity") + id("krpc-compat-tests") id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0" } From 1b59539c5cc585235893d78cf9e81ba3e3ca45c7 Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Thu, 23 Oct 2025 11:29:31 +0200 Subject: [PATCH 4/8] Fix CHANGELOG.md --- CHANGELOG.md | 2 +- docs/pages/kotlinx-rpc/topics/changelog.md | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9911b6025..c3f7b334d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# 0.10.0 +# 0.10.1 > Published 24 October 2025 ### Features 🎉 diff --git a/docs/pages/kotlinx-rpc/topics/changelog.md b/docs/pages/kotlinx-rpc/topics/changelog.md index 1554b4e8d..9101575c3 100644 --- a/docs/pages/kotlinx-rpc/topics/changelog.md +++ b/docs/pages/kotlinx-rpc/topics/changelog.md @@ -2,26 +2,26 @@ This page contains all changes throughout releases of the library. -## 0.10.0 +## 0.10.1 > Published 24 October 2025 **Full Changelog**: [0.10.0...0.10.1](https://github.com/Kotlin/kotlinx-rpc/compare/0.10.0...0.10.1) -#### Features 🎉 {id=Features_0_10_0} +#### Features 🎉 {id=Features_0_10_1} * Expose RpcServiceDescriptor.callables by [@rnett](https://github.com/rnett) in [#516](https://github.com/Kotlin/kotlinx-rpc/pull/516) * Added watchosDeviceArm64 and watchosArm32 targets to kRPC by [@Mr3zee](https://github.com/Mr3zee) in [#513](https://github.com/Kotlin/kotlinx-rpc/pull/513) -#### Bug fixes 🐛 {id=Bug_fixes_0_10_0} +#### Bug fixes 🐛 {id=Bug_fixes_0_10_1} * Fix one more ClosedSendChannelException by [@Mr3zee](https://github.com/Mr3zee) in [#514](https://github.com/Kotlin/kotlinx-rpc/pull/514) * Fix scope initialization on the kRPC Client by [@Mr3zee](https://github.com/Mr3zee) in [#505](https://github.com/Kotlin/kotlinx-rpc/pull/505) * Fix wording for the `perCallBufferSize` docs by [@Mr3zee](https://github.com/Mr3zee) in [#500](https://github.com/Kotlin/kotlinx-rpc/pull/500) -#### Infra 🚧 {id=Infra_0_10_0} +#### Infra 🚧 {id=Infra_0_10_1} * Added readme safeguard by [@Mr3zee](https://github.com/Mr3zee) in [#515](https://github.com/Kotlin/kotlinx-rpc/pull/515) * Fixed kRPC compatibility tests by [@Mr3zee](https://github.com/Mr3zee) in [#518](https://github.com/Kotlin/kotlinx-rpc/pull/518) * Update compiler tests infra by [@Mr3zee](https://github.com/Mr3zee) in [#510](https://github.com/Kotlin/kotlinx-rpc/pull/510) -### New Contributors {id=New_Contributors_0_10_0} +### New Contributors {id=New_Contributors_0_10_1} * [@rnett](https://github.com/rnett) made their first contribution in [#516](https://github.com/Kotlin/kotlinx-rpc/pull/516) From 5d39917006b0d5c2f1c56f648a1a8199e1685145 Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Thu, 23 Oct 2025 11:29:55 +0200 Subject: [PATCH 5/8] abiDump --- core/api/core.api | 2 +- core/api/core.klib.api | 4 ++-- krpc/krpc-client/api/krpc-client.klib.api | 2 +- krpc/krpc-core/api/krpc-core.klib.api | 2 +- krpc/krpc-ktor/krpc-ktor-client/api/krpc-ktor-client.klib.api | 2 +- krpc/krpc-ktor/krpc-ktor-core/api/krpc-ktor-core.klib.api | 2 +- krpc/krpc-ktor/krpc-ktor-server/api/krpc-ktor-server.klib.api | 2 +- krpc/krpc-logging/api/krpc-logging.klib.api | 2 +- .../api/krpc-serialization-cbor.klib.api | 2 +- .../api/krpc-serialization-core.klib.api | 2 +- .../api/krpc-serialization-json.klib.api | 2 +- .../api/krpc-serialization-protobuf.klib.api | 2 +- krpc/krpc-server/api/krpc-server.klib.api | 2 +- 13 files changed, 14 insertions(+), 14 deletions(-) diff --git a/core/api/core.api b/core/api/core.api index 41e0be7c3..9ead2df33 100644 --- a/core/api/core.api +++ b/core/api/core.api @@ -55,7 +55,7 @@ public abstract interface class kotlinx/rpc/descriptor/RpcParameter { public abstract interface class kotlinx/rpc/descriptor/RpcServiceDescriptor { public abstract fun createInstance (JLkotlinx/rpc/RpcClient;)Ljava/lang/Object; public abstract fun getCallable (Ljava/lang/String;)Lkotlinx/rpc/descriptor/RpcCallable; - public abstract fun getCallableMap ()Ljava/util/Map; + public abstract fun getCallables ()Ljava/util/Map; public abstract fun getFqName ()Ljava/lang/String; } diff --git a/core/api/core.klib.api b/core/api/core.klib.api index f553e289b..c43ce6ed4 100644 --- a/core/api/core.klib.api +++ b/core/api/core.klib.api @@ -28,8 +28,8 @@ abstract interface <#A: kotlin/Any> kotlinx.rpc.descriptor/RpcCallable { // kotl } abstract interface <#A: kotlin/Any> kotlinx.rpc.descriptor/RpcServiceDescriptor { // kotlinx.rpc.descriptor/RpcServiceDescriptor|null[0] - abstract val callableMap // kotlinx.rpc.descriptor/RpcServiceDescriptor.callableMap|{}callableMap[0] - abstract fun (): kotlin.collections/Map> // kotlinx.rpc.descriptor/RpcServiceDescriptor.callableMap.|(){}[0] + abstract val callables // kotlinx.rpc.descriptor/RpcServiceDescriptor.callables|{}callables[0] + abstract fun (): kotlin.collections/Map> // kotlinx.rpc.descriptor/RpcServiceDescriptor.callables.|(){}[0] abstract val fqName // kotlinx.rpc.descriptor/RpcServiceDescriptor.fqName|{}fqName[0] abstract fun (): kotlin/String // kotlinx.rpc.descriptor/RpcServiceDescriptor.fqName.|(){}[0] diff --git a/krpc/krpc-client/api/krpc-client.klib.api b/krpc/krpc-client/api/krpc-client.klib.api index cd79fd924..25518fee1 100644 --- a/krpc/krpc-client/api/krpc-client.klib.api +++ b/krpc/krpc-client/api/krpc-client.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm64, watchosSimulatorArm64, watchosX64] +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] // Rendering settings: // - Signature version: 2 // - Show manifest properties: true diff --git a/krpc/krpc-core/api/krpc-core.klib.api b/krpc/krpc-core/api/krpc-core.klib.api index 016eba789..a64358b8f 100644 --- a/krpc/krpc-core/api/krpc-core.klib.api +++ b/krpc/krpc-core/api/krpc-core.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm64, watchosSimulatorArm64, watchosX64] +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] // Rendering settings: // - Signature version: 2 // - Show manifest properties: true diff --git a/krpc/krpc-ktor/krpc-ktor-client/api/krpc-ktor-client.klib.api b/krpc/krpc-ktor/krpc-ktor-client/api/krpc-ktor-client.klib.api index 18fce80d0..2e323b444 100644 --- a/krpc/krpc-ktor/krpc-ktor-client/api/krpc-ktor-client.klib.api +++ b/krpc/krpc-ktor/krpc-ktor-client/api/krpc-ktor-client.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm64, watchosSimulatorArm64, watchosX64] +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] // Rendering settings: // - Signature version: 2 // - Show manifest properties: true diff --git a/krpc/krpc-ktor/krpc-ktor-core/api/krpc-ktor-core.klib.api b/krpc/krpc-ktor/krpc-ktor-core/api/krpc-ktor-core.klib.api index 08c6a6049..92f2cd441 100644 --- a/krpc/krpc-ktor/krpc-ktor-core/api/krpc-ktor-core.klib.api +++ b/krpc/krpc-ktor/krpc-ktor-core/api/krpc-ktor-core.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm64, watchosSimulatorArm64, watchosX64] +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] // Rendering settings: // - Signature version: 2 // - Show manifest properties: true diff --git a/krpc/krpc-ktor/krpc-ktor-server/api/krpc-ktor-server.klib.api b/krpc/krpc-ktor/krpc-ktor-server/api/krpc-ktor-server.klib.api index 92862d68a..ac94139eb 100644 --- a/krpc/krpc-ktor/krpc-ktor-server/api/krpc-ktor-server.klib.api +++ b/krpc/krpc-ktor/krpc-ktor-server/api/krpc-ktor-server.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm64, watchosSimulatorArm64, watchosX64] +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] // Rendering settings: // - Signature version: 2 // - Show manifest properties: true diff --git a/krpc/krpc-logging/api/krpc-logging.klib.api b/krpc/krpc-logging/api/krpc-logging.klib.api index 39de30275..bfd30697e 100644 --- a/krpc/krpc-logging/api/krpc-logging.klib.api +++ b/krpc/krpc-logging/api/krpc-logging.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm64, watchosSimulatorArm64, watchosX64] +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] // Rendering settings: // - Signature version: 2 // - Show manifest properties: true diff --git a/krpc/krpc-serialization/krpc-serialization-cbor/api/krpc-serialization-cbor.klib.api b/krpc/krpc-serialization/krpc-serialization-cbor/api/krpc-serialization-cbor.klib.api index 7fdcb807a..1f55e0c01 100644 --- a/krpc/krpc-serialization/krpc-serialization-cbor/api/krpc-serialization-cbor.klib.api +++ b/krpc/krpc-serialization/krpc-serialization-cbor/api/krpc-serialization-cbor.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm64, watchosSimulatorArm64, watchosX64] +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] // Rendering settings: // - Signature version: 2 // - Show manifest properties: true diff --git a/krpc/krpc-serialization/krpc-serialization-core/api/krpc-serialization-core.klib.api b/krpc/krpc-serialization/krpc-serialization-core/api/krpc-serialization-core.klib.api index af5851dad..acdef34c7 100644 --- a/krpc/krpc-serialization/krpc-serialization-core/api/krpc-serialization-core.klib.api +++ b/krpc/krpc-serialization/krpc-serialization-core/api/krpc-serialization-core.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm64, watchosSimulatorArm64, watchosX64] +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] // Rendering settings: // - Signature version: 2 // - Show manifest properties: true diff --git a/krpc/krpc-serialization/krpc-serialization-json/api/krpc-serialization-json.klib.api b/krpc/krpc-serialization/krpc-serialization-json/api/krpc-serialization-json.klib.api index 13c68f391..55cbac3b8 100644 --- a/krpc/krpc-serialization/krpc-serialization-json/api/krpc-serialization-json.klib.api +++ b/krpc/krpc-serialization/krpc-serialization-json/api/krpc-serialization-json.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm64, watchosSimulatorArm64, watchosX64] +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] // Rendering settings: // - Signature version: 2 // - Show manifest properties: true diff --git a/krpc/krpc-serialization/krpc-serialization-protobuf/api/krpc-serialization-protobuf.klib.api b/krpc/krpc-serialization/krpc-serialization-protobuf/api/krpc-serialization-protobuf.klib.api index 746e0b1b3..19b2d25f0 100644 --- a/krpc/krpc-serialization/krpc-serialization-protobuf/api/krpc-serialization-protobuf.klib.api +++ b/krpc/krpc-serialization/krpc-serialization-protobuf/api/krpc-serialization-protobuf.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm64, watchosSimulatorArm64, watchosX64] +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] // Rendering settings: // - Signature version: 2 // - Show manifest properties: true diff --git a/krpc/krpc-server/api/krpc-server.klib.api b/krpc/krpc-server/api/krpc-server.klib.api index 36a889bf3..02ec3acc9 100644 --- a/krpc/krpc-server/api/krpc-server.klib.api +++ b/krpc/krpc-server/api/krpc-server.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm64, watchosSimulatorArm64, watchosX64] +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm32, watchosArm64, watchosDeviceArm64, watchosSimulatorArm64, watchosX64] // Rendering settings: // - Signature version: 2 // - Show manifest properties: true From b095a9fdbe114d8e01ce6fbc9921b6385d5ba872 Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Thu, 23 Oct 2025 11:30:03 +0200 Subject: [PATCH 6/8] detekt --- .../kotlin/kotlinx/rpc/krpc/internal/ExceptionUtils.kt | 4 +++- .../kotlinx/rpc/krpc/server/internal/ServerStreamContext.kt | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/krpc/krpc-core/src/commonMain/kotlin/kotlinx/rpc/krpc/internal/ExceptionUtils.kt b/krpc/krpc-core/src/commonMain/kotlin/kotlinx/rpc/krpc/internal/ExceptionUtils.kt index 478daa3a0..1e658b572 100644 --- a/krpc/krpc-core/src/commonMain/kotlin/kotlinx/rpc/krpc/internal/ExceptionUtils.kt +++ b/krpc/krpc-core/src/commonMain/kotlin/kotlinx/rpc/krpc/internal/ExceptionUtils.kt @@ -13,7 +13,9 @@ public fun serializeException(cause: Throwable): SerializedException { val message = cause.message ?: "Unknown exception" val stacktrace = cause.stackElements() val serializedCause = cause.cause?.let { serializeException(it) } - val className = if (cause is CancellationException || cause is kotlin.coroutines.cancellation.CancellationException) { + val className = if ( + cause is CancellationException || cause is kotlin.coroutines.cancellation.CancellationException + ) { CancellationException::class.rpcInternalTypeName ?: "kotlinx.coroutines.CancellationException" } else { cause::class.rpcInternalTypeName ?: "" diff --git a/krpc/krpc-server/src/commonMain/kotlin/kotlinx/rpc/krpc/server/internal/ServerStreamContext.kt b/krpc/krpc-server/src/commonMain/kotlin/kotlinx/rpc/krpc/server/internal/ServerStreamContext.kt index e3a6c07bd..8ffd75593 100644 --- a/krpc/krpc-server/src/commonMain/kotlin/kotlinx/rpc/krpc/server/internal/ServerStreamContext.kt +++ b/krpc/krpc-server/src/commonMain/kotlin/kotlinx/rpc/krpc/server/internal/ServerStreamContext.kt @@ -41,11 +41,13 @@ internal class ServerStreamContext { } suspend fun cancelStream(message: KrpcCallMessage.StreamCancel) { - streams[message.callId]?.get(message.streamId)?.channel?.sendIgnoreClosed(StreamCancel(message.cause.deserialize())) + streams[message.callId]?.get(message.streamId)?.channel + ?.sendIgnoreClosed(StreamCancel(message.cause.deserialize())) } suspend fun closeStream(message: KrpcCallMessage.StreamFinished) { - streams[message.callId]?.get(message.streamId)?.channel?.sendIgnoreClosed(StreamEnd) + streams[message.callId]?.get(message.streamId)?.channel + ?.sendIgnoreClosed(StreamEnd) } private suspend fun Channel.sendIgnoreClosed(data: T) { From ead9d0509daf64ada2c5af7ad7d54de31d539a1e Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Thu, 23 Oct 2025 11:57:58 +0200 Subject: [PATCH 7/8] Fix CancellationTest.kt --- .../kotlinx/rpc/krpc/test/cancellation/CancellationTest.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/krpc/krpc-test/src/commonTest/kotlin/kotlinx/rpc/krpc/test/cancellation/CancellationTest.kt b/krpc/krpc-test/src/commonTest/kotlin/kotlinx/rpc/krpc/test/cancellation/CancellationTest.kt index 0453ac3be..707d85ecf 100644 --- a/krpc/krpc-test/src/commonTest/kotlin/kotlinx/rpc/krpc/test/cancellation/CancellationTest.kt +++ b/krpc/krpc-test/src/commonTest/kotlin/kotlinx/rpc/krpc/test/cancellation/CancellationTest.kt @@ -274,8 +274,6 @@ class CancellationTest { println("[testCancelServer] Second request finished") clientFlowJob.join() println("[testCancelServer] Client flow finished") - - serverInstance().fence.complete(Unit) serverFlowJob.join() println("[testCancelServer] Server flow finished") From c643d0ea5ed5142ceb4c308fa882f751daf498d0 Mon Sep 17 00:00:00 2001 From: Alexander Sysoev Date: Mon, 27 Oct 2025 08:43:40 +0100 Subject: [PATCH 8/8] Kotlin 2.2.21 --- CHANGELOG.md | 3 ++- README.md | 8 ++++---- docs/pages/kotlinx-rpc/topics/changelog.md | 3 ++- docs/pages/kotlinx-rpc/topics/versions.topic | 2 +- docs/pages/kotlinx-rpc/v.list | 2 +- versions-root/libs.versions.toml | 2 +- 6 files changed, 11 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c3f7b334d..44d581590 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ # 0.10.1 -> Published 24 October 2025 +> Published 27 October 2025 ### Features 🎉 +* Kotlin 2.2.21 Support by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/519 * Expose RpcServiceDescriptor.callables by @rnett in https://github.com/Kotlin/kotlinx-rpc/pull/516 * Added watchosDeviceArm64 and watchosArm32 targets to kRPC by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/513 diff --git a/README.md b/README.md index 163133fbf..e623872e7 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![Kotlin Experimental](https://kotl.in/badges/experimental.svg)](https://kotlinlang.org/docs/components-stability.html) [![Official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) -[![Kotlin](https://img.shields.io/badge/kotlin-2.0.0--2.2.20-blue.svg?logo=kotlin)](http://kotlinlang.org) +[![Kotlin](https://img.shields.io/badge/kotlin-2.0.0--2.2.21-blue.svg?logo=kotlin)](http://kotlinlang.org) [![GitHub License](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](http://www.apache.org/licenses/LICENSE-2.0) [//]: # ([![TeamCity build](https://img.shields.io/teamcity/build/s/Build_kRPC_All.svg?server=http%3A%2F%2Fkrpc.teamcity.com)](https://teamcity.jetbrains.com/viewType.html?buildTypeId=Build_kRPC_All&guest=1)) @@ -102,7 +102,7 @@ To ensure that all IDE features of our compiler plugin work properly on IntelliJ We support all stable Kotlin versions starting from 2.0.0: - 2.0.0, 2.0.10, 2.0.20, 2.0.21 - 2.1.0, 2.1.10, 2.1.20, 2.1.21 -- 2.2.0, 2.2.10, 2.2.20 +- 2.2.0, 2.2.10, 2.2.20, 2.2.21 For a full compatibility checklist, see [Versions](https://kotlin.github.io/kotlinx-rpc/versions.html). @@ -134,8 +134,8 @@ that will set up code generation in a project. Example of a setup in a project's `build.gradle.kts`: ```kotlin plugins { - kotlin("multiplatform") version "2.2.20" - kotlin("plugin.serialization") version "2.2.20" + kotlin("multiplatform") version "2.2.21" + kotlin("plugin.serialization") version "2.2.21" id("org.jetbrains.kotlinx.rpc.plugin") version "0.10.1" } ``` diff --git a/docs/pages/kotlinx-rpc/topics/changelog.md b/docs/pages/kotlinx-rpc/topics/changelog.md index 9101575c3..6994a6080 100644 --- a/docs/pages/kotlinx-rpc/topics/changelog.md +++ b/docs/pages/kotlinx-rpc/topics/changelog.md @@ -3,11 +3,12 @@ This page contains all changes throughout releases of the library. ## 0.10.1 -> Published 24 October 2025 +> Published 27 October 2025 **Full Changelog**: [0.10.0...0.10.1](https://github.com/Kotlin/kotlinx-rpc/compare/0.10.0...0.10.1) #### Features 🎉 {id=Features_0_10_1} +* Kotlin 2.2.21 Support by [@Mr3zee](https://github.com/Mr3zee) in [#519](https://github.com/Kotlin/kotlinx-rpc/pull/519) * Expose RpcServiceDescriptor.callables by [@rnett](https://github.com/rnett) in [#516](https://github.com/Kotlin/kotlinx-rpc/pull/516) * Added watchosDeviceArm64 and watchosArm32 targets to kRPC by [@Mr3zee](https://github.com/Mr3zee) in [#513](https://github.com/Kotlin/kotlinx-rpc/pull/513) diff --git a/docs/pages/kotlinx-rpc/topics/versions.topic b/docs/pages/kotlinx-rpc/topics/versions.topic index 3e33f18f9..7f5485679 100644 --- a/docs/pages/kotlinx-rpc/topics/versions.topic +++ b/docs/pages/kotlinx-rpc/topics/versions.topic @@ -24,7 +24,7 @@
  • 2.0.0, 2.0.10, 2.0.20, 2.0.21
  • 2.1.0, 2.1.10, 2.1.20, 2.1.21
  • -
  • 2.2.0, 2.2.10, 2.2.20
  • +
  • 2.2.0, 2.2.10, 2.2.20, 2.2.21
  • Our code generation will support these versions (See more on code diff --git a/docs/pages/kotlinx-rpc/v.list b/docs/pages/kotlinx-rpc/v.list index 07747f7c5..b4faf238f 100644 --- a/docs/pages/kotlinx-rpc/v.list +++ b/docs/pages/kotlinx-rpc/v.list @@ -15,5 +15,5 @@ - + diff --git a/versions-root/libs.versions.toml b/versions-root/libs.versions.toml index 0415f5258..4f44ea24a 100644 --- a/versions-root/libs.versions.toml +++ b/versions-root/libs.versions.toml @@ -3,7 +3,7 @@ kotlinx-rpc = "0.10.1" # kotlin -kotlin-lang = "2.2.20" # or env.KOTLIN_VERSION +kotlin-lang = "2.2.21" # or env.KOTLIN_VERSION kotlin-compiler = "0.0.0" # default to kotlin-lang or env.KOTLIN_COMPILER_VERSION # kotlin independent versions